@reclaimprotocol/attestor-core 5.1.4 → 5.1.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/browser/resources/attestor-browser.min.mjs +2 -2
- package/lib/external-rpc/index.js +1 -1
- package/lib/index.js +1 -1
- package/lib/providers/http/response-charset.d.ts +1 -0
- package/lib/server/utils/tee-transcript-reconstruction.d.ts +12 -0
- package/lib/types/providers.d.ts +2 -0
- package/package.json +2 -2
|
@@ -4460,7 +4460,7 @@ ${e.join(`
|
|
|
4460
4460
|
`)}};gn.CertificateTag="CERTIFICATE";gn.CrlTag="CRL";gn.CertificateRequestTag="CERTIFICATE REQUEST";gn.PublicKeyTag="PUBLIC KEY";gn.PrivateKeyTag="PRIVATE KEY";var ya=class t extends xa{static isAsnEncoded(e){return De.BufferSourceConverter.isBufferSource(e)||typeof e=="string"}static toArrayBuffer(e){if(typeof e=="string"){if(gn.isPem(e))return gn.decode(e)[0];if(De.Convert.isHex(e))return De.Convert.FromHex(e);if(De.Convert.isBase64(e))return De.Convert.FromBase64(e);if(De.Convert.isBase64Url(e))return De.Convert.FromBase64Url(e);throw new TypeError("Unsupported format of 'raw' argument. Must be one of DER, PEM, HEX, Base64, or Base4Url")}else{let r=De.BufferSourceConverter.toUint8Array(e);if(r.length>0&&r[0]===48)return De.BufferSourceConverter.toArrayBuffer(e);let n=De.Convert.ToBinary(e);if(gn.isPem(n))return gn.decode(n)[0];if(De.Convert.isHex(n))return De.Convert.FromHex(n);if(De.Convert.isBase64(n))return De.Convert.FromBase64(n);if(De.Convert.isBase64Url(n))return De.Convert.FromBase64Url(n);throw new TypeError("Unsupported format of 'raw' argument. Must be one of DER, PEM, HEX, Base64, or Base4Url")}}constructor(...e){t.isAsnEncoded(e[0])?super(t.toArrayBuffer(e[0]),e[1]):super(e[0])}toString(e="pem"){switch(e){case"pem":return gn.encode(this.rawData,this.tag);default:return super.toString(e)}}},Ea=class t extends ya{static async create(e,r=mn.get()){if(e instanceof t)return e;if(sh.isCryptoKey(e)){if(e.type!=="public")throw new TypeError("Public key is required");let n=await r.subtle.exportKey("spki",e);return new t(n)}else{if(e.publicKey)return e.publicKey;if(De.BufferSourceConverter.isBufferSource(e))return new t(e);throw new TypeError("Unsupported PublicKeyType")}}constructor(e){ya.isAsnEncoded(e)?super(e,Zr):super(e),this.tag=gn.PublicKeyTag}async export(...e){let r,n=["verify"],s={hash:"SHA-256",...this.algorithm};e.length>1?(s=e[0]||s,n=e[1]||n,r=e[2]||mn.get()):r=e[0]||mn.get();let i=this.rawData,o=Me.parse(this.rawData,Zr);return o.algorithm.algorithm===ua&&(i=Kv(o,i)),r.subtle.importKey("spki",i,s,!0,n)}onInit(e){let r=$t.resolve(cl),n=this.algorithm=r.toWebAlgorithm(e.algorithm);switch(e.algorithm.algorithm){case Ei:{let s=Me.parse(e.subjectPublicKey,fa),i=De.BufferSourceConverter.toUint8Array(s.modulus);n.publicExponent=De.BufferSourceConverter.toUint8Array(s.publicExponent),n.modulusLength=(i[0]?i:i.slice(1)).byteLength<<3;break}}}async getThumbprint(...e){var r;let n,s="SHA-1";return e.length>=1&&!(!((r=e[0])===null||r===void 0)&&r.subtle)?(s=e[0]||s,n=e[1]||mn.get()):n=e[0]||mn.get(),await n.subtle.digest(s,this.rawData)}async getKeyIdentifier(...e){let r,n="SHA-1";e.length===1?typeof e[0]=="string"?(n=e[0],r=mn.get()):r=e[0]:e.length===2?(n=e[0],r=e[1]):r=mn.get();let s=Me.parse(this.rawData,Zr);return await r.subtle.digest(n,s.subjectPublicKey)}toTextObject(){let e=this.toTextObjectEmpty(),r=Me.parse(this.rawData,Zr);switch(e.Algorithm=uo.serializeAlgorithm(r.algorithm),r.algorithm.algorithm){case Kc:e["EC Point"]=r.subjectPublicKey;break;case Ei:default:e["Raw Data"]=r.subjectPublicKey}return e}};function Kv(t,e){return t.algorithm=new we({algorithm:Ei,parameters:null}),e=Me.serialize(t),e}var ll=class t extends Zn{static async create(e,r=!1,n=mn.get()){if("name"in e&&"serialNumber"in e)return new t(e,r);let i=await(await Ea.create(e,n)).getKeyIdentifier(n);return new t(De.Convert.ToHex(i),r)}constructor(...e){if(De.BufferSourceConverter.isBufferSource(e[0]))super(e[0]);else if(typeof e[0]=="string"){let r=new pi({keyIdentifier:new Mc(De.Convert.FromHex(e[0]))});super(lA,e[1],Me.serialize(r))}else{let r=e[0],n=r.name instanceof lo?Me.parse(r.name.rawData,Kt):r.name,s=new pi({authorityCertIssuer:n,authorityCertSerialNumber:De.Convert.FromHex(r.serialNumber)});super(lA,e[1],Me.serialize(s))}}onInit(e){super.onInit(e);let r=Me.parse(e.extnValue,pi);r.keyIdentifier&&(this.keyId=De.Convert.ToHex(r.keyIdentifier)),(r.authorityCertIssuer||r.authorityCertSerialNumber)&&(this.certId={name:r.authorityCertIssuer||[],serialNumber:r.authorityCertSerialNumber?De.Convert.ToHex(r.authorityCertSerialNumber):""})}toTextObject(){let e=this.toTextObjectWithoutValue(),r=Me.parse(this.value,pi);return r.authorityCertIssuer&&(e["Authority Issuer"]=new lo(r.authorityCertIssuer).toTextObject()),r.authorityCertSerialNumber&&(e["Authority Serial Number"]=r.authorityCertSerialNumber),r.keyIdentifier&&(e[""]=r.keyIdentifier),e}};ll.NAME="Authority Key Identifier";var XA=class extends Zn{constructor(...e){if(De.BufferSourceConverter.isBufferSource(e[0])){super(e[0]);let r=Me.parse(this.value,vc);this.ca=r.cA,this.pathLength=r.pathLenConstraint}else{let r=new vc({cA:e[0],pathLenConstraint:e[1]});super(fA,e[2],Me.serialize(r)),this.ca=e[0],this.pathLength=e[1]}}toTextObject(){let e=this.toTextObjectWithoutValue();return this.ca&&(e.CA=this.ca),this.pathLength!==void 0&&(e["Path Length"]=this.pathLength),e}};XA.NAME="Basic Constraints";var xI;(function(t){t.serverAuth="1.3.6.1.5.5.7.3.1",t.clientAuth="1.3.6.1.5.5.7.3.2",t.codeSigning="1.3.6.1.5.5.7.3.3",t.emailProtection="1.3.6.1.5.5.7.3.4",t.timeStamping="1.3.6.1.5.5.7.3.8",t.ocspSigning="1.3.6.1.5.5.7.3.9"})(xI||(xI={}));var $A=class extends Zn{constructor(...e){if(De.BufferSourceConverter.isBufferSource(e[0])){super(e[0]);let r=Me.parse(this.value,sd);this.usages=r.map(n=>n)}else{let r=new sd(e[0]);super(AA,e[1],Me.serialize(r)),this.usages=e[0]}}toTextObject(){let e=this.toTextObjectWithoutValue();return e[""]=this.usages.map(r=>Ti.toString(r)).join(", "),e}};$A.NAME="Extended Key Usages";var yI;(function(t){t[t.digitalSignature=1]="digitalSignature",t[t.nonRepudiation=2]="nonRepudiation",t[t.keyEncipherment=4]="keyEncipherment",t[t.dataEncipherment=8]="dataEncipherment",t[t.keyAgreement=16]="keyAgreement",t[t.keyCertSign=32]="keyCertSign",t[t.cRLSign=64]="cRLSign",t[t.encipherOnly=128]="encipherOnly",t[t.decipherOnly=256]="decipherOnly"})(yI||(yI={}));var e1=class extends Zn{constructor(...e){if(De.BufferSourceConverter.isBufferSource(e[0])){super(e[0]);let r=Me.parse(this.value,k0);this.usages=r.toNumber()}else{let r=new k0(e[0]);super(mA,e[1],Me.serialize(r)),this.usages=e[0]}}toTextObject(){let e=this.toTextObjectWithoutValue(),r=Me.parse(this.value,k0);return e[""]=r.toJSON().join(", "),e}};e1.NAME="Key Usages";var fl=class t extends Zn{static async create(e,r=!1,n=mn.get()){let i=await(await Ea.create(e,n)).getKeyIdentifier(n);return new t(De.Convert.ToHex(i),r)}constructor(...e){if(De.BufferSourceConverter.isBufferSource(e[0])){super(e[0]);let r=Me.parse(this.value,On);this.keyId=De.Convert.ToHex(r)}else{let r=typeof e[0]=="string"?De.Convert.FromHex(e[0]):e[0],n=new On(r);super(Ex,e[1],Me.serialize(n)),this.keyId=De.Convert.ToHex(r)}}toTextObject(){let e=this.toTextObjectWithoutValue(),r=Me.parse(this.value,On);return e[""]=r,e}};fl.NAME="Subject Key Identifier";var dl=class extends Zn{constructor(...e){De.BufferSourceConverter.isBufferSource(e[0])?super(e[0]):super(mx,e[1],new lo(e[0]||[]).rawData)}onInit(e){super.onInit(e);let r=Me.parse(e.extnValue,yA);this.names=new lo(r)}toTextObject(){let e=this.toTextObjectWithoutValue(),r=this.names.toTextObject();for(let n in r)e[n]=r[n];return e}};dl.NAME="Subject Alternative Name";var En=class{static register(e,r){this.items.set(e,r)}static create(e){let r=new Zn(e),n=this.items.get(r.type);return n?new n(e):r}};En.items=new Map;var t1=class extends Zn{constructor(...e){var r;if(De.BufferSourceConverter.isBufferSource(e[0])){super(e[0]);let n=Me.parse(this.value,$f);this.policies=n.map(s=>s.policyIdentifier)}else{let n=e[0],s=(r=e[1])!==null&&r!==void 0?r:!1,i=new $f(n.map(o=>new kc({policyIdentifier:o})));super(hA,s,Me.serialize(i)),this.policies=n}}toTextObject(){let e=this.toTextObjectWithoutValue();return e.Policy=this.policies.map(r=>new bt("",{},Ti.toString(r))),e}};t1.NAME="Certificate Policies";En.register(hA,t1);var r1=class extends Zn{constructor(...e){var r;if(De.BufferSourceConverter.isBufferSource(e[0]))super(e[0]);else if(Array.isArray(e[0])&&typeof e[0][0]=="string"){let s=e[0].map(o=>new Ai({distributionPoint:new ro({fullName:[new ze({uniformResourceIdentifier:o})]})})),i=new ta(s);super(pA,e[1],Me.serialize(i))}else{let n=new ta(e[0]);super(pA,e[1],Me.serialize(n))}(r=this.distributionPoints)!==null&&r!==void 0||(this.distributionPoints=[])}onInit(e){super.onInit(e);let r=Me.parse(e.extnValue,ta);this.distributionPoints=r}toTextObject(){let e=this.toTextObjectWithoutValue();return e["Distribution Point"]=this.distributionPoints.map(r=>{var n;let s={};return r.distributionPoint&&(s[""]=(n=r.distributionPoint.fullName)===null||n===void 0?void 0:n.map(i=>new wi(i).toString()).join(", ")),r.reasons&&(s.Reasons=r.reasons.toString()),r.cRLIssuer&&(s["CRL Issuer"]=r.cRLIssuer.map(i=>i.toString()).join(", ")),s}),e}};r1.NAME="CRL Distribution Points";var n1=class extends Zn{constructor(...e){var r,n,s,i;if(De.BufferSourceConverter.isBufferSource(e[0]))super(e[0]);else if(e[0]instanceof Sc){let o=new Sc(e[0]);super(uA,e[1],Me.serialize(o))}else{let o=e[0],a=new Sc;JA(a,o,$E,"ocsp"),JA(a,o,ex,"caIssuers"),JA(a,o,tx,"timeStamping"),JA(a,o,rx,"caRepository"),super(uA,e[1],Me.serialize(a))}(r=this.ocsp)!==null&&r!==void 0||(this.ocsp=[]),(n=this.caIssuers)!==null&&n!==void 0||(this.caIssuers=[]),(s=this.timeStamping)!==null&&s!==void 0||(this.timeStamping=[]),(i=this.caRepository)!==null&&i!==void 0||(this.caRepository=[])}onInit(e){super.onInit(e),this.ocsp=[],this.caIssuers=[],this.timeStamping=[],this.caRepository=[],Me.parse(e.extnValue,Sc).forEach(n=>{switch(n.accessMethod){case $E:this.ocsp.push(new wi(n.accessLocation));break;case ex:this.caIssuers.push(new wi(n.accessLocation));break;case tx:this.timeStamping.push(new wi(n.accessLocation));break;case rx:this.caRepository.push(new wi(n.accessLocation));break}})}toTextObject(){let e=this.toTextObjectWithoutValue();return this.ocsp.length&&zA(e,"OCSP",this.ocsp),this.caIssuers.length&&zA(e,"CA Issuers",this.caIssuers),this.timeStamping.length&&zA(e,"Time Stamping",this.timeStamping),this.caRepository.length&&zA(e,"CA Repository",this.caRepository),e}};n1.NAME="Authority Info Access";function zA(t,e,r){if(r.length===1)t[e]=r[0].toTextObject();else{let n=new bt("");r.forEach((s,i)=>{let o=s.toTextObject(),a=`${o[bt.NAME]} ${i+1}`,u=n[a];Array.isArray(u)||(u=[],n[a]=u),u.push(o)}),t[e]=n}}function JA(t,e,r,n){let s=e[n];s&&(Array.isArray(s)?s:[s]).forEach(o=>{typeof o=="string"&&(o=new wi("url",o)),t.push(new eo({accessMethod:r,accessLocation:Me.parse(o.rawData,ze)}))})}var s1=class extends Zn{constructor(...e){De.BufferSourceConverter.isBufferSource(e[0])?super(e[0]):super(dx,e[1],new lo(e[0]||[]).rawData)}onInit(e){super.onInit(e);let r=Me.parse(e.extnValue,Kt);this.names=new lo(r)}toTextObject(){let e=this.toTextObjectWithoutValue(),r=this.names.toTextObject();for(let n in r)e[n]=r[n];return e}};s1.NAME="Issuer Alternative Name";var hl=class t extends xa{constructor(...e){let r;if(De.BufferSourceConverter.isBufferSource(e[0]))r=De.BufferSourceConverter.toArrayBuffer(e[0]);else{let n=e[0],s=Array.isArray(e[1])?e[1].map(i=>De.BufferSourceConverter.toArrayBuffer(i)):[];r=Me.serialize(new Gr({type:n,values:s}))}super(r,Gr)}onInit(e){this.type=e.type,this.values=e.values}toTextObject(){let e=this.toTextObjectWithoutValue();return e.Value=this.values.map(r=>new bt("",{"":r})),e}toTextObjectWithoutValue(){let e=this.toTextObjectEmpty();return e[bt.NAME]===t.NAME&&(e[bt.NAME]=Ti.toString(this.type)),e}};hl.NAME="Attribute";var i1=class extends hl{constructor(...e){var r;if(De.BufferSourceConverter.isBufferSource(e[0]))super(e[0]);else{let n=new kd({printableString:e[0]});super(hy,[Me.serialize(n)])}(r=this.password)!==null&&r!==void 0||(this.password="")}onInit(e){if(super.onInit(e),this.values[0]){let r=Me.parse(this.values[0],kd);this.password=r.toString()}}toTextObject(){let e=this.toTextObjectWithoutValue();return e[bt.VALUE]=this.password,e}};i1.NAME="Challenge Password";var oh=class extends hl{constructor(...e){var r;if(De.BufferSourceConverter.isBufferSource(e[0]))super(e[0]);else{let n=e[0],s=new fs;for(let i of n)s.push(Me.parse(i.rawData,Xr));super(Pd,[Me.serialize(s)])}(r=this.items)!==null&&r!==void 0||(this.items=[])}onInit(e){if(super.onInit(e),this.values[0]){let r=Me.parse(this.values[0],fs);this.items=r.map(n=>En.create(Me.serialize(n)))}}toTextObject(){let e=this.toTextObjectWithoutValue(),r=this.items.map(n=>n.toTextObject());for(let n of r)e[n[bt.NAME]]=n;return e}};oh.NAME="Extensions";var pl=class{static register(e,r){this.items.set(e,r)}static create(e){let r=new hl(e),n=this.items.get(r.type);return n?new n(e):r}};pl.items=new Map;var o1="crypto.signatureFormatter",Iy=class{toAsnSignature(e,r){return De.BufferSourceConverter.toArrayBuffer(r)}toWebSignature(e,r){return De.BufferSourceConverter.toArrayBuffer(r)}},qA,Dy=qA=class{static createPssParams(e,r){let n=qA.getHashAlgorithm(e);return n?new xi({hashAlgorithm:n,maskGenAlgorithm:new we({algorithm:la,parameters:Me.serialize(n)}),saltLength:r}):null}static getHashAlgorithm(e){let r=$t.resolve(cl);return typeof e=="string"?r.toAsnAlgorithm({name:e}):typeof e=="object"&&e&&"name"in e?r.toAsnAlgorithm(e):null}toAsnAlgorithm(e){switch(e.name.toLowerCase()){case"rsassa-pkcs1-v1_5":if("hash"in e){let r;if(typeof e.hash=="string")r=e.hash;else if(e.hash&&typeof e.hash=="object"&&"name"in e.hash&&typeof e.hash.name=="string")r=e.hash.name.toUpperCase();else throw new Error("Cannot get hash algorithm name");switch(r.toLowerCase()){case"sha-1":return new we({algorithm:q0,parameters:null});case"sha-256":return new we({algorithm:vA,parameters:null});case"sha-384":return new we({algorithm:Z0,parameters:null});case"sha-512":return new we({algorithm:X0,parameters:null})}}else return new we({algorithm:Ei,parameters:null});break;case"rsa-pss":if("hash"in e){if(!("saltLength"in e&&typeof e.saltLength=="number"))throw new Error("Cannot get 'saltLength' from 'alg' argument");let r=qA.createPssParams(e.hash,e.saltLength);if(!r)throw new Error("Cannot create PSS parameters");return new we({algorithm:ua,parameters:Me.serialize(r)})}else return new we({algorithm:ua,parameters:null})}return null}toWebAlgorithm(e){switch(e.algorithm){case Ei:return{name:"RSASSA-PKCS1-v1_5"};case q0:return{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-1"}};case vA:return{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}};case Z0:return{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-384"}};case X0:return{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-512"}};case ua:if(e.parameters){let r=Me.parse(e.parameters,xi);return{name:"RSA-PSS",hash:$t.resolve(cl).toWebAlgorithm(r.hashAlgorithm),saltLength:r.saltLength}}else return{name:"RSA-PSS"}}return null}};Dy=qA=g([ha()],Dy);$t.registerSingleton(ch,Dy);var Ny=class{toAsnAlgorithm(e){switch(e.name.toLowerCase()){case"sha-1":return new we({algorithm:qc});case"sha-256":return new we({algorithm:Zc});case"sha-384":return new we({algorithm:Xc});case"sha-512":return new we({algorithm:$c})}return null}toWebAlgorithm(e){switch(e.algorithm){case qc:return{name:"SHA-1"};case Zc:return{name:"SHA-256"};case Xc:return{name:"SHA-384"};case $c:return{name:"SHA-512"}}return null}};Ny=g([ha()],Ny);$t.registerSingleton(ch,Ny);var fo=class t{addPadding(e,r){let n=De.BufferSourceConverter.toUint8Array(r),s=new Uint8Array(e);return s.set(n,e-n.length),s.buffer}removePadding(e,r=!1){let n=De.BufferSourceConverter.toUint8Array(e);for(let s=0;s<n.length;s++)if(n[s]){n=n.slice(s);break}if(r&&n[0]>127){let s=new Uint8Array(n.length+1);return s.set(n,1),s.buffer}return n.buffer}toAsnSignature(e,r){if(e.name==="ECDSA"){let n=e.namedCurve,s=t.namedCurveSize.get(n)||t.defaultNamedCurveSize,i=new ao,o=De.BufferSourceConverter.toUint8Array(r);return i.r=this.removePadding(o.slice(0,s),!0),i.s=this.removePadding(o.slice(s,s+s),!0),Me.serialize(i)}return null}toWebSignature(e,r){if(e.name==="ECDSA"){let n=Me.parse(r,ao),s=e.namedCurve,i=t.namedCurveSize.get(s)||t.defaultNamedCurveSize,o=this.addPadding(i,this.removePadding(n.r)),a=this.addPadding(i,this.removePadding(n.s));return(0,De.combine)(o,a)}return null}};fo.namedCurveSize=new Map;fo.defaultNamedCurveSize=32;var wy="1.3.101.110",bI="1.3.101.111",Ty="1.3.101.112",wI="1.3.101.113",Ry=class{toAsnAlgorithm(e){let r=null;switch(e.name.toLowerCase()){case"ed25519":r=Ty;break;case"x25519":r=wy;break;case"eddsa":switch(e.namedCurve.toLowerCase()){case"ed25519":r=Ty;break;case"ed448":r=wI;break}break;case"ecdh-es":switch(e.namedCurve.toLowerCase()){case"x25519":r=wy;break;case"x448":r=bI;break}}return r?new we({algorithm:r}):null}toWebAlgorithm(e){switch(e.algorithm){case Ty:return{name:"Ed25519"};case wI:return{name:"EdDSA",namedCurve:"Ed448"};case wy:return{name:"X25519"};case bI:return{name:"ECDH-ES",namedCurve:"X448"}}return null}};Ry=g([ha()],Ry);$t.registerSingleton(ch,Ry);var Qd,Ld,Vd,Gd,Hd,_d,Yd,ol,Sy=class extends ya{get subjectName(){return st(this,Ld,"f")||Jt(this,Ld,new ou(this.asn.certificationRequestInfo.subject),"f"),st(this,Ld,"f")}get subject(){return st(this,Vd,"f")||Jt(this,Vd,this.subjectName.toString(),"f"),st(this,Vd,"f")}get signatureAlgorithm(){if(!st(this,Gd,"f")){let e=$t.resolve(cl);Jt(this,Gd,e.toWebAlgorithm(this.asn.signatureAlgorithm),"f")}return st(this,Gd,"f")}get signature(){return st(this,Hd,"f")||Jt(this,Hd,this.asn.signature,"f"),st(this,Hd,"f")}get publicKey(){return st(this,_d,"f")||Jt(this,_d,new Ea(this.asn.certificationRequestInfo.subjectPKInfo),"f"),st(this,_d,"f")}get attributes(){return st(this,Yd,"f")||Jt(this,Yd,this.asn.certificationRequestInfo.attributes.map(e=>pl.create(Me.serialize(e))),"f"),st(this,Yd,"f")}get extensions(){if(!st(this,ol,"f")){Jt(this,ol,[],"f");let e=this.getAttribute(Pd);e instanceof oh&&Jt(this,ol,e.items,"f")}return st(this,ol,"f")}get tbs(){return st(this,Qd,"f")||Jt(this,Qd,this.asn.certificationRequestInfoRaw||Me.serialize(this.asn.certificationRequestInfo),"f"),st(this,Qd,"f")}constructor(e){let r=ya.isAsnEncoded(e)?[e,ga]:[e];super(r[0],r[1]),Qd.set(this,void 0),Ld.set(this,void 0),Vd.set(this,void 0),Gd.set(this,void 0),Hd.set(this,void 0),_d.set(this,void 0),Yd.set(this,void 0),ol.set(this,void 0),this.tag=gn.CertificateRequestTag}onInit(e){}getAttribute(e){for(let r of this.attributes)if(r.type===e)return r;return null}getAttributes(e){return this.attributes.filter(r=>r.type===e)}getExtension(e){for(let r of this.extensions)if(r.type===e)return r;return null}getExtensions(e){return this.extensions.filter(r=>r.type===e)}async verify(e=mn.get()){let r={...this.publicKey.algorithm,...this.signatureAlgorithm},n=await this.publicKey.export(r,["verify"],e),s=$t.resolveAll(o1).reverse(),i=null;for(let a of s)if(i=a.toWebSignature(r,this.signature),i)break;if(!i)throw Error("Cannot convert WebCrypto signature value to ASN.1 format");return await e.subtle.verify(this.signatureAlgorithm,n,i,this.tbs)}toTextObject(){let e=this.toTextObjectEmpty(),r=Me.parse(this.rawData,ga),n=r.certificationRequestInfo,s=new bt("",{Version:`${no[n.version]} (${n.version})`,Subject:this.subject,"Subject Public Key Info":this.publicKey});if(this.attributes.length){let i=new bt("");for(let o of this.attributes){let a=o.toTextObject();i[a[bt.NAME]]=a}s.Attributes=i}return e.Data=s,e.Signature=new bt("",{Algorithm:uo.serializeAlgorithm(r.signatureAlgorithm),"":r.signature}),e}};Qd=new WeakMap,Ld=new WeakMap,Vd=new WeakMap,Gd=new WeakMap,Hd=new WeakMap,_d=new WeakMap,Yd=new WeakMap,ol=new WeakMap;Sy.NAME="PKCS#10 Certificate Request";var jd,Wd,zd,Jd,Kd,qd,Zd,Xd,$d,eh,al,th,ah=class extends ya{get publicKey(){return st(this,th,"f")||Jt(this,th,new Ea(this.asn.tbsCertificate.subjectPublicKeyInfo),"f"),st(this,th,"f")}get serialNumber(){if(!st(this,Wd,"f")){let e=this.asn.tbsCertificate,r=new Uint8Array(e.serialNumber);r.length>1&&r[0]===0&&r[1]>127&&(r=r.slice(1)),Jt(this,Wd,De.Convert.ToHex(r),"f")}return st(this,Wd,"f")}get subjectName(){return st(this,zd,"f")||Jt(this,zd,new ou(this.asn.tbsCertificate.subject),"f"),st(this,zd,"f")}get subject(){return st(this,Jd,"f")||Jt(this,Jd,this.subjectName.toString(),"f"),st(this,Jd,"f")}get issuerName(){return st(this,Kd,"f")||Jt(this,Kd,new ou(this.asn.tbsCertificate.issuer),"f"),st(this,Kd,"f")}get issuer(){return st(this,qd,"f")||Jt(this,qd,this.issuerName.toString(),"f"),st(this,qd,"f")}get notBefore(){if(!st(this,Zd,"f")){let e=this.asn.tbsCertificate.validity.notBefore.utcTime||this.asn.tbsCertificate.validity.notBefore.generalTime;if(!e)throw new Error("Cannot get 'notBefore' value");Jt(this,Zd,e,"f")}return st(this,Zd,"f")}get notAfter(){if(!st(this,Xd,"f")){let e=this.asn.tbsCertificate.validity.notAfter.utcTime||this.asn.tbsCertificate.validity.notAfter.generalTime;if(!e)throw new Error("Cannot get 'notAfter' value");Jt(this,Xd,e,"f")}return st(this,Xd,"f")}get signatureAlgorithm(){if(!st(this,$d,"f")){let e=$t.resolve(cl);Jt(this,$d,e.toWebAlgorithm(this.asn.signatureAlgorithm),"f")}return st(this,$d,"f")}get signature(){return st(this,eh,"f")||Jt(this,eh,this.asn.signatureValue,"f"),st(this,eh,"f")}get extensions(){return st(this,al,"f")||(Jt(this,al,[],"f"),this.asn.tbsCertificate.extensions&&Jt(this,al,this.asn.tbsCertificate.extensions.map(e=>En.create(Me.serialize(e))),"f")),st(this,al,"f")}get tbs(){return st(this,jd,"f")||Jt(this,jd,this.asn.tbsCertificateRaw||Me.serialize(this.asn.tbsCertificate),"f"),st(this,jd,"f")}constructor(e){let r=ya.isAsnEncoded(e)?[e,Gs]:[e];super(r[0],r[1]),jd.set(this,void 0),Wd.set(this,void 0),zd.set(this,void 0),Jd.set(this,void 0),Kd.set(this,void 0),qd.set(this,void 0),Zd.set(this,void 0),Xd.set(this,void 0),$d.set(this,void 0),eh.set(this,void 0),al.set(this,void 0),th.set(this,void 0),this.tag=gn.CertificateTag}onInit(e){}getExtension(e){for(let r of this.extensions)if(typeof e=="string"){if(r.type===e)return r}else if(r instanceof e)return r;return null}getExtensions(e){return this.extensions.filter(r=>typeof e=="string"?r.type===e:r instanceof e)}async verify(e={},r=mn.get()){let n,s,i=e.publicKey;try{if(!i)n={...this.publicKey.algorithm,...this.signatureAlgorithm},s=await this.publicKey.export(n,["verify"],r);else if("publicKey"in i)n={...i.publicKey.algorithm,...this.signatureAlgorithm},s=await i.publicKey.export(n,["verify"],r);else if(i instanceof Ea)n={...i.algorithm,...this.signatureAlgorithm},s=await i.export(n,["verify"],r);else if(De.BufferSourceConverter.isBufferSource(i)){let l=new Ea(i);n={...l.algorithm,...this.signatureAlgorithm},s=await l.export(n,["verify"],r)}else n={...i.algorithm,...this.signatureAlgorithm},s=i}catch{return!1}let o=$t.resolveAll(o1).reverse(),a=null;for(let l of o)if(a=l.toWebSignature(n,this.signature),a)break;if(!a)throw Error("Cannot convert ASN.1 signature value to WebCrypto format");let u=await r.subtle.verify(this.signatureAlgorithm,s,a,this.tbs);if(e.signatureOnly)return u;{let f=(e.date||new Date).getTime();return u&&this.notBefore.getTime()<f&&f<this.notAfter.getTime()}}async getThumbprint(...e){let r,n="SHA-1";return e[0]&&(e[0].subtle?r=e[0]:(n=e[0]||n,r=e[1])),r??(r=mn.get()),await r.subtle.digest(n,this.rawData)}async isSelfSigned(e=mn.get()){return this.subject===this.issuer&&await this.verify({signatureOnly:!0},e)}toTextObject(){let e=this.toTextObjectEmpty(),r=Me.parse(this.rawData,Gs),n=r.tbsCertificate,s=new bt("",{Version:`${no[n.version]} (${n.version})`,"Serial Number":n.serialNumber,"Signature Algorithm":uo.serializeAlgorithm(n.signature),Issuer:this.issuer,Validity:new bt("",{"Not Before":n.validity.notBefore.getTime(),"Not After":n.validity.notAfter.getTime()}),Subject:this.subject,"Subject Public Key Info":this.publicKey});if(n.issuerUniqueID&&(s["Issuer Unique ID"]=n.issuerUniqueID),n.subjectUniqueID&&(s["Subject Unique ID"]=n.subjectUniqueID),this.extensions.length){let i=new bt("");for(let o of this.extensions){let a=o.toTextObject();i[a[bt.NAME]]=a}s.Extensions=i}return e.Data=s,e.Signature=new bt("",{Algorithm:uo.serializeAlgorithm(r.signatureAlgorithm),"":r.signatureValue}),e}};jd=new WeakMap,Wd=new WeakMap,zd=new WeakMap,Jd=new WeakMap,Kd=new WeakMap,qd=new WeakMap,Zd=new WeakMap,Xd=new WeakMap,$d=new WeakMap,eh=new WeakMap,al=new WeakMap,th=new WeakMap;ah.NAME="Certificate";var qv,Zv,Xv,$v,e9,TI;(function(t){t[t.unspecified=0]="unspecified",t[t.keyCompromise=1]="keyCompromise",t[t.cACompromise=2]="cACompromise",t[t.affiliationChanged=3]="affiliationChanged",t[t.superseded=4]="superseded",t[t.cessationOfOperation=5]="cessationOfOperation",t[t.certificateHold=6]="certificateHold",t[t.removeFromCRL=8]="removeFromCRL",t[t.privilegeWithdrawn=9]="privilegeWithdrawn",t[t.aACompromise=10]="aACompromise"})(TI||(TI={}));qv=new WeakMap,Zv=new WeakMap,Xv=new WeakMap,$v=new WeakMap,e9=new WeakMap;var t9,r9,n9,s9,i9,o9,a9;t9=new WeakMap,r9=new WeakMap,n9=new WeakMap,s9=new WeakMap,i9=new WeakMap,o9=new WeakMap,a9=new WeakMap;En.register(fA,XA);En.register(AA,$A);En.register(mA,e1);En.register(Ex,fl);En.register(lA,ll);En.register(mx,dl);En.register(pA,r1);En.register(uA,n1);En.register(dx,s1);pl.register(hy,i1);pl.register(Pd,oh);$t.registerSingleton(o1,Iy);$t.registerSingleton(o1,fo);fo.namedCurveSize.set("P-256",32);fo.namedCurveSize.set("K-256",32);fo.namedCurveSize.set("P-384",48);fo.namedCurveSize.set("P-521",66);var u9="1.3.6.1.5.5.7.1.1";function Al(t){let e;try{e=new ah(t)}catch(r){throw new Error(`Unsupported certificate: ${r}`)}return{internal:e,isWithinValidity(){let r=new Date;return r>e.notBefore&&r<e.notAfter},getAIAExtension(){return e.getExtension(u9)?.caIssuers?.find(n=>n.type==="url")?.value},getSubjectField(r){return e.subjectName.getField(r)},getAlternativeDNSNames(){let r=e.extensions.find(n=>n.type==="2.5.29.17");return r instanceof dl?r.names.items.filter(n=>n.type==="dns").map(n=>n.value):[]},isIssuer({internal:r}){let n=NI(r.issuerName),s=NI(e.subjectName);if(n!==s)return!1;let i=r.getExtension(ll)?.keyId,o=e.getExtension(fl)?.keyId;return!i||!o||i.toLowerCase()===o.toLowerCase()},getPublicKey(){return{buffer:new Uint8Array(e.publicKey.rawData),algorithm:e.publicKey.algorithm.name}},async verifyIssued(r){let n=f9(e.publicKey,r.internal),s=await Se.importKey(n,new Uint8Array(e.publicKey.rawData),"public"),i=new Uint8Array(r.internal.signature);return await Se.verify(n,{publicKey:s,signature:i,data:new Uint8Array(r.internal.tbs)})},serialiseToPem(){return e.toString("pem")}}}function NI(t){return JSON.stringify(t.toJSON().map(e=>Object.entries(e).flatMap(([r,n])=>n.map(s=>[r.toLowerCase(),l9(s)])).sort(([r,n],[s,i])=>r!==s?r<s?-1:1:n===i?0:n<i?-1:1)))}function l9(t){return t.normalize("NFKC").toLowerCase().trim().replace(/\s+/gu," ")}function f9(t,{signatureAlgorithm:e}){if(!("name"in e))throw new Error("Missing signature algorithm name");let{name:r,hash:n}=e,{algorithm:s}=t;if(s.name!==r)throw new Error(`Signature algorithm ${r} does not match public key algorithm ${s.name}`);let i;switch(n.name){case"SHA-256":i="SHA256";break;case"SHA-384":i="SHA384";break;case"SHA-512":i="SHA512";break;case"SHA-1":i="SHA1";break;default:throw new Error(`Unsupported hash algorithm: ${n.name}`)}switch(r){case"RSASSA-PKCS1-v1_5":case"RSA-PKCS1-SHA1":return`RSA-PKCS1-${i}`;case"ECDSA":if(i==="SHA512"||i==="SHA1")throw new Error(`Unsupported hash algorithm for ECDSA: ${i}`);switch(s.namedCurve){case"P-256":return`ECDSA-SECP256R1-${i}`;case"P-384":return`ECDSA-SECP384R1-${i}`;default:throw new Error(`Unsupported named curve: ${s.namedCurve}`)}default:throw new Error(`Unsupported signature algorithm: ${r}`)}}function My(t){return Al(t)}async function vy(t){let e=await fetch(t);if(!e.ok)throw new Error(`Failed to fetch certificate from ${t}: ${e.statusText}`);let r=await e.arrayBuffer();return new Uint8Array(r)}var d9=Dr("TLS 1.3, server CertificateVerify"),uh;function ky(t,{version:e}){let r=e==="TLS1_3"?s(1)[0]:0;t=i(3);let n=[];for(;t.length;){let o=i(3),a=My(o);n.push(a),e==="TLS1_3"&&i(2)}return{certificates:n,ctx:r};function s(o){let a=t.slice(0,o);return t=t.slice(o),a}function i(o=2){let a=Nr(t,o);return t=t.slice(a.length+o),a}}function Oy(t){let e=s(2),r=AE.find(o=>mr(si[o].identifier,e));if(!r)throw new Error(`Unsupported signature algorithm '${e}'`);let n=i(2);return{algorithm:r,signature:n};function s(o){let a=t.slice(0,o);return t=t.slice(o),a}function i(o=2){let a=Nr(t,o);return t=t.slice(a.length+o),a}}async function a1({signature:t,algorithm:e,publicKey:r,signatureData:n,publicKeyType:s}){let i=si[e].algorithm;s==="SECP256R1"&&i.includes("SECP384R1")?i=i.replace("SECP384R1","SECP256R1"):s==="SECP384R1"&&i.includes("SECP256R1")&&(i=i.replace("SECP256R1","SECP384R1"));let o=await Se.importKey(i,r.buffer,"public");if(!await Se.verify(i,{data:n,signature:t,publicKey:o}))throw new Error(`${e} signature verification failed`)}async function Py(t,e){let r=await oi(t,e);return be([new Uint8Array(64).fill(32),d9,new Uint8Array([0]),r])}async function Uy({clientRandom:t,serverRandom:e,curveType:r,publicKey:n}){let s=await Se.exportKey(n);return be([t,e,be([new Uint8Array([3]),dn[r].identifier]),Vt(s).slice(1)])}async function c1(t,e,r,n=vy,s){let i=[...p9(),...s||[]],o=t[0];if(![...o.getSubjectField("CN"),...o.getAlternativeDNSNames()].some(f=>h9(e,f)))throw new Error(`Certificate is not for host ${e}`);let u=t.slice(1),l=o;for(let f=0;;f++){let d=l.getSubjectField("CN");if(!l.isWithinValidity())throw new Error(`Certificate ${d} (i: ${f}) is outside validity`);let p=RI(i,l),m=!!p;if(p||(p=RI(u,l),p&&u.splice(u.indexOf(p),1)),!p){let y=l.getAIAExtension();if(!y)throw new Error(`Missing issuer for certificate ${d} (i: ${f})`);if(TLS_INTERMEDIATE_CA_CACHE?.[y])p=TLS_INTERMEDIATE_CA_CACHE[y];else{r.debug({aiaExt:y,cn:d},"fetching issuer certificate via AIA extension");let x=await n(y);p=await Al(x),TLS_INTERMEDIATE_CA_CACHE[y]=p}}if(!p.isWithinValidity())throw new Error(`Issuer Cert ${d} is not within validity period`);if(!await p.verifyIssued(l)){let y=p.getSubjectField("CN");throw new Error(`Verification of ${d} failed by issuer ${y} (i: ${f})`)}if(m)return;l=p}}function RI(t,e){for(let r of t)if(r.isIssuer(e))return r}function h9(t,e){let r=t.split("."),n=e.split(".");if(n.length!==r.length)if(n[0]==="*"&&n.length===r.length+1)n.shift();else return!1;return r.every((s,i)=>s===n[i]||n[i]==="*")}function p9(){return uh||(uh=UE.map(Al),typeof TLS_ADDITIONAL_ROOT_CA_LIST<"u"&&uh.push(...TLS_ADDITIONAL_ROOT_CA_LIST.map(Al)),uh)}function u1(t){return MI(t,{ALPN:e=>{let r=Nr(e),n=Nr(r,1);return Go(n)},SUPPORTED_VERSIONS:Mf,PRE_SHARED_KEY:()=>({supported:!0}),KEY_SHARE:e=>{let r=e.slice(0,2),n=Vo.find(i=>mr(dn[i].identifier,r));if(!n)throw new Error(`Unsupported key type '${r}'`);let s=Nr(e.slice(2));return{type:n,publicKey:s}}})}function SI(t){return MI(t,{SERVER_NAME:e=>{e=Nr(e);let r=e[0];e=e.slice(1);let n=Nr(e);return{type:r,serverName:Go(n)}}})}function MI(t,e){t=i(2);let r={},n=new Set;for(;t.length;){let o=s(2)[1],a=i(2),u=mE.find(l=>fc[l]===o);if(n.has(o))throw new Error(`Duplicate extension '${u}' (${o})`);u&&u in e&&(r[u]=e[u](a))}return r;function s(o){let a=t.slice(0,o);return t=t.slice(o),a}function i(o=2){let a=Nr(t,o);return t=t.slice(a.length+o),a}}async function Fy(t){l(2);let e=l(32),r=f(1),n=l(2),s=pE.find(d=>mr(yt[d].identifier,n));if(!s)throw new Error(`Unsupported cipher suite '${n}'`);let i=l(1)[0];if(i!==0)throw new Error(`Unsupported compression method '${i.toString(16)}'`);let o=u1(t),a=o.SUPPORTED_VERSIONS||"TLS1_2",u=o.KEY_SHARE;if(a==="TLS1_3"&&!u)throw new Error("Missing key share in TLS 1.3");return{serverTlsVersion:a,serverRandom:e,sessionId:r,cipherSuite:s,supportsPsk:!!o.PRE_SHARED_KEY?.supported,extensions:o,...u?{publicKey:await Se.importKey(dn[u.type].algorithm,u.publicKey,"public"),publicKeyType:u.type}:{}};function l(d){let p=t.slice(0,d);return t=t.slice(d),p}function f(d=2){let p=Nr(t,d);return t=t.slice(p.length+d),p}}function Qy(t){let e=a(4).getUint32(0),r=a(4).getUint32(0),n=u(1),s=u(2),i=u(2);return{ticket:s,lifetimeS:e,ticketAgeAddMs:r,nonce:n,expiresAt:new Date(Date.now()+e*1e3),extensions:i};function a(l){let f=t.slice(0,l);return t=t.slice(l),sr(f)}function u(l=2){let f=Nr(t,l);return t=t.slice(f.length+l),f}}async function Ly(t,{masterKey:e,hellos:r,cipherSuite:n}){let{hashAlgorithm:s,hashLength:i}=yt[n],o=await oi(r,n),a=await hn(s,e,"res master",o,i),u=await hn(s,a,"resumption",t.nonce,i),l=await Se.hash(s,new Uint8Array),f=await Se.extract(s,i,u,""),d=await hn(s,f,"res binder",l,i),p=await hn(s,d,"finished",new Uint8Array,i),m=Math.floor(t.lifetimeS/1e3+t.ticketAgeAddMs);return{identity:t.ticket,ticketAge:m,finishKey:await Se.importKey(s,p),resumeMasterSecret:a,earlySecret:f,cipherSuite:n}}var vI=12;async function lh(t,e){if(!("recordHeader"in e))throw new Error("recordHeader is required for decrypt");let{key:r,recordNumber:n,cipherSuite:s}=e,{cipher:i,hashLength:o}=yt[s];return B0(i)?a(i):u(i);async function a(l){let f=t.slice(0,16),d=t.slice(16),p=await Se.decrypt(l,{key:r,iv:f,data:d});p=xE(p),p=p.slice(0,-1);let m=p.slice(-o),y=p.slice(0,-o),x=await PI(y,e);if(!mr(m,x))throw new Error(`MAC mismatch: expected ${ii(x)}, got ${ii(m)}`);return{plaintext:y,iv:f}}async function u(l){let f=e.iv,d=vI-f.length;if(d){let x=t.slice(0,d);t=t.slice(d),f=be([f,x])}else(e.version==="TLS1_3"||l==="CHACHA20-POLY1305")&&typeof n<"u"&&(f=Ho(f,n));let p=t.slice(-Sf);t=t.slice(0,-Sf);let m=kI(t.length,e),{plaintext:y}=await Se.authenticatedDecrypt(l,{key:r,iv:f,data:t,aead:m,authTag:p});if(y.length!==t.length)throw new Error("Decrypted length does not match encrypted length");return{plaintext:y,iv:f}}}async function fh(t,e){let{key:r,recordNumber:n,cipherSuite:s}=e,{cipher:i}=yt[s],o=e.iv;return B0(i)?u(i):a(i);async function a(f){let d=kI(t.length,e),p=vI-o.length,m,y=o;p&&typeof n<"u"?(m=new Uint8Array(p),sr(m).setUint32(p-4,n),y=be([o,m])):(e.version==="TLS1_3"||f==="CHACHA20-POLY1305")&&typeof n<"u"&&(y=Ho(y,n));let x=await Se.authenticatedEncrypt(f,{key:r,iv:y,data:t,aead:d});return m&&(x.ciphertext=be([m,x.ciphertext])),{ciphertext:be([x.ciphertext,x.authTag]),iv:y}}async function u(f){o=l(e.iv,16).slice(0,16);let p=await PI(t,e),m=be([t,p]),y=EE(m,16),x=await Se.encrypt(f,{key:r,iv:o,data:y});return{ciphertext:be([o,x]),iv:o}}function l(f,d){let p=new Uint8Array(d);return p.set(f,d-f.length),p}}function kI(t,e){let r=e.version==="TLS1_3",n;if(r){let s=t+Sf;n="recordHeaderOpts"in e?_o(s,e.recordHeaderOpts):UI(e.recordHeader,s)}else n=OI(t,e);return n}function OI(t,e){let{recordNumber:r}=e,n="recordHeaderOpts"in e?_o(t,e.recordHeaderOpts):UI(e.recordHeader,t),s=new Uint8Array(8);return sr(s).setUint32(4,r||0),be([s,n])}async function PI(t,e){let{macKey:r,cipherSuite:n}=e;if(!r)throw new Error("macKey is required for non-AEAD cipher");let{hashAlgorithm:s}=yt[n],i=be([OI(t.length,e),t]);return await Se.hmac(s,r,i)}function UI(t,e){let r=new Uint8Array(t);return sr(r).setUint16(3,e),r}var FI=3;function Vy({host:t,verifyServerCertificate:e=!0,rootCAs:r,logger:n,cipherSuites:s,namedCurves:i=Vo,supportedProtocolVersions:o,signatureAlgorithms:a,applicationLayerProtocols:u,fetchCertificateBytes:l,write:f,onRead:d,onApplicationData:p,onSessionTicket:m,onTlsEnd:y,onHandshake:x,onRecvCertificates:b}){let w=n||vE,v=wE(w),{enqueue:O}=kE(),P={},B=!1,L=!1,Y=new Uint8Array,V=[],$,ne,_,Ee=0,pe=0,ye,j,te,ce,ue=!1,Z,ge,Ne=new Uint8Array,re=!1,Ke=!1,ct=async({type:K,packet:{content:le,header:Re}})=>{if(L){w.warn("connection closed, ignoring packet");return}let Ve,de={type:"plaintext"};if(ue||K===Mn.WRAPPED_RECORD){w.trace("recv wrapped record");let Xe="serverMacKey"in _?_.serverMacKey:void 0,pt=await lh(le,{key:_.serverEncKey,iv:_.serverIv,recordHeader:Re,recordNumber:pe,cipherSuite:$,version:j,macKey:Xe});if(j==="TLS1_3"){let se=pt.plaintext[pt.plaintext.length-1];Ve=Object.entries(Ps).find(([,Lt])=>Lt===se)?.[0]}de={type:"ciphertext",encKey:_.serverEncKey,fixedIv:_.serverIv,iv:pt.iv,recordNumber:pe,macKey:Xe,ciphertext:le,plaintext:pt.plaintext,contentType:Ve},le=pt.plaintext,Ve&&(le=le.slice(0,-1)),w.trace({recordRecvCount:pe,contentType:Ve,length:le.length},"decrypted wrapped record"),pe+=1}if(d?.({content:le,header:Re},de),!(K===Mn.WRAPPED_RECORD||K===Mn.HELLO))if(K===Mn.CHANGE_CIPHER_SPEC){w.debug("received change cipher spec"),ue=!0;return}else if(K===Mn.ALERT){await pr(le);return}else{w.warn({type:K.toString(16),chunk:ii(le)},"cannot process message");return}try{await He({content:le,contentType:Ve?Ps[Ve]:void 0,header:Re})}catch(Xe){w.error({err:Xe},"error processing record"),Ir(Xe)}},Ze=K=>O(ct,K);async function He({content:K,contentType:le,header:Re}){if(le??=Re[0],le===Ps.HANDSHAKE){let de=function(){if(!Ne.length)return;let Xe=Ne[0],pt=Up(Ne.slice(1),FI);if(!pt){w.warn("missing bytes from packet");return}let se=1+FI+pt.length;return B||V.push(Ne.slice(0,se)),Ne=Ne.slice(se),{type:Xe,content:pt}};Ne=be([Ne,K]);let Ve;for(;Ve=de();){let{type:Xe,content:pt}=Ve;switch(Xe){case Yt.SERVER_HELLO:w.trace("received server hello");let se=await Fy(pt);if(!se.supportsPsk&&ne)throw new Error("Server does not support PSK");$=se.cipherSuite,j=se.serverTlsVersion,ce=se.serverRandom,Qt(se.extensions?.ALPN);let Lt=yt[$];w.debug({cipherSuite:$,connTlsVersion:j,selectedAlpn:Z},"processed server hello"),se.publicKeyType&&se.publicKey?await he({publicKeyType:se.publicKeyType,publicKey:se.publicKey}):"isRsaEcdh"in Lt&&Lt.isRsaEcdh&&(ye="RSA");break;case Yt.ENCRYPTED_EXTENSIONS:let vr=u1(pt);w.debug({len:pt.length,extData:vr},"received encrypted extensions"),Qt(vr?.ALPN);break;case Yt.HELLO_RETRY_REQUEST:throw new Error("Hello retry not supported. Please re-establish connection");case Yt.CERTIFICATE:w.trace({len:pt.length},"received certificate"),ge=ky(pt,{version:j}).certificates,w.debug({len:ge.length},"parsed certificates"),e&&!Ke&&(await c1(ge,t,w,l,r),w.debug("verified certificate chain"),Ke=!0),b?.({certificates:ge});break;case Yt.CERTIFICATE_VERIFY:w.debug({len:pt.length},"received certificate verify");let cr=Oy(pt);if(w.debug({alg:cr.algorithm},"parsed certificate verify"),!ge?.length)throw new Error("No certificates received");let Q=await Py(V.slice(0,-1),$);await a1({...cr,publicKey:ge[0].getPublicKey(),signatureData:Q});break;case Yt.FINISHED:await nr(pt);break;case Yt.KEY_UPDATE:let k=await Qp(_.serverSecret,$),U=await I0(k,$);_={..._,serverSecret:k,serverEncKey:U.encKey,serverIv:U.iv},pe=0,w.debug("updated server traffic keys");break;case Yt.SESSION_TICKET:if(j==="TLS1_3"){w.debug({len:K.length},"received session ticket");let $e=Qy(pt);m?.($e)}else w.warn("ignoring received session ticket in TLS 1.2");break;case Yt.CERTIFICATE_REQUEST:w.debug("received client certificate request"),re=!0;break;case Yt.SERVER_KEY_SHARE:if(w.trace("received server key share"),!ge?.length)throw new Error("No certificates received");let Ae=await RE(pt);w.debug({publicKeyType:Ae.publicKeyType,signatureAlgorithm:Ae.signatureAlgorithm},"got server key share");let Oe=await Uy({clientRandom:te,serverRandom:ce,curveType:Ae.publicKeyType,publicKey:Ae.publicKey});await a1({signature:Ae.signatureBytes,algorithm:Ae.signatureAlgorithm,publicKey:ge[0].getPublicKey(),signatureData:Oe,publicKeyType:Ae.publicKeyType}),w.debug("verified server key share signature"),e&&!Ke&&(await c1(ge,t,w,l,r),w.debug("verified certificate chain"),Ke=!0),await he(Ae);break;case Yt.SERVER_HELLO_DONE:if(w.debug("server hello done"),!ye)throw new Error("Key exchange without key-type not supported");let it;if(ye==="RSA"){if(_)throw new Error("Keys already computed, despite RSA key type");let{preMasterSecret:$e,encrypted:ie}=await SE(ge[0],j);it=await NE(ie),_=await Fp({preMasterSecret:$e,clientRandom:te,serverRandom:ce,cipherSuite:$})}else it=await DE(P[ye].pubKey);await Ar({type:"HELLO",data:it}),V.push(it),await Wn();let Dt=await IE({secret:_.masterSecret,handshakeMessages:V,cipherSuite:$});await Te({data:Dt,type:"HELLO"}),V.push(Dt);break;default:w.warn({type:Xe.toString(16)},"cannot process record");break}}}else le===Ps.APPLICATION_DATA?(w.trace({len:K.length},"received application data"),p?.(K)):le===Ps.ALERT?await pr(K):w.warn({record:K,contentType:le?.toString(16)},"cannot process record")}function Qt(K){if(Z=K||u?.[0],Z&&!u?.includes(Z))throw new Error(`Server selected unsupported ALPN: "${Z}"`)}async function pr(K){if(L){w.warn("connection closed, ignoring alert");return}let{level:le,description:Re}=OE(K),Ve=Re==="HANDSHAKE_FAILURE"||Re==="PROTOCOL_VERSION"?"Unsupported TLS version":"received alert";w[le==="WARNING"?"warn":"error"]({level:le,description:Re},Ve),(le==="FATAL"||Re==="CLOSE_NOTIFY")&&Ir(le==="FATAL"?new Error(`Fatal alert: ${Re}`):void 0)}async function rr(){if(re){let K=be([new Uint8Array([Yt.CERTIFICATE,0]),Vt(new Uint8Array([0,0,0,0]))]);w.trace({cert:ii(K)},"sending zero certs"),await Te({type:"WRAPPED_RECORD",data:K,contentType:"HANDSHAKE"}),V.push(K)}}async function nr(K){if(w.debug("received server finish"),!Ke&&!ne&&e)throw new Error("Finish received before certificate verification");j==="TLS1_2"?await Os(K):await It(K),B=!0,x?.()}async function Os(K){let le=await Vp("server",{handshakeMessages:V.slice(0,-1),secret:_.masterSecret,cipherSuite:$});if(!mr(le,K))throw new Error("Server finish does not match")}async function It(K){let le=await Lp({hellos:V,cipherSuite:$,secretType:"ap",masterSecret:_.masterSecret}),Re=V.slice(0,-1);await CE(K,{secret:_.serverSecret,handshakeMessages:Re,cipherSuite:$}),w.debug("server finish verified"),await rr();let Ve=await BE({secret:_.clientSecret,handshakeMessages:V,cipherSuite:$});w.trace({finish:ii(Ve)},"sending client finish"),await Te({type:"WRAPPED_RECORD",data:Ve,contentType:"HANDSHAKE"}),V.push(Ve),_=le,Ee=0,pe=0}async function he(K){ye=K.publicKeyType;let{keyPair:le,algorithm:Re}=await Mt(K.publicKeyType),Ve=await Se.calculateSharedSecret(Re,le.privKey,K.publicKey);j==="TLS1_2"?_=await Fp({preMasterSecret:Ve,clientRandom:te,serverRandom:ce,cipherSuite:$}):_=await Lp({hellos:V,cipherSuite:$,secretType:"hs",masterSecret:Ve,earlySecret:ne}),w.debug({keyType:ye},"computed shared keys")}async function Wn(){w.debug("sending change cipher spec");let K=new Uint8Array([1]);await Ar({type:"CHANGE_CIPHER_SPEC",data:K})}async function Te(K){w.trace({...K,data:ii(K.data)},"writing enc packet");let le="clientMacKey"in _?_.clientMacKey:void 0,Re=K.data;j==="TLS1_3"&&typeof K.contentType<"u"&&(Re=be([Re,new Uint8Array([Ps[K.contentType]])]));let{ciphertext:Ve,iv:de}=await fh(Re,{key:_.clientEncKey,iv:_.clientIv,recordNumber:Ee,cipherSuite:$,macKey:le,recordHeaderOpts:{type:K.type,version:K.version},version:j}),Xe=_o(Ve.length,K);await f({header:Xe,content:Ve},{type:"ciphertext",encKey:_.clientEncKey,fixedIv:_.clientIv,iv:de,recordNumber:Ee,macKey:le,ciphertext:Ve,plaintext:Re,contentType:K.contentType}),Ee+=1}async function Ar(K){w.trace({...K,data:ii(K.data)},"writing packet");let le=_o(K.data.length,K);await f({header:le,content:K.data},{type:"plaintext"})}async function Ir(K){await O(()=>{}),w.trace({err:K},"ended tls connection"),L=!0,B=!1,V=[],_=void 0,Ee=0,pe=0,ne=void 0,$=void 0,ye=void 0,te=void 0,ce=void 0,v.reset(),y?.(K)}async function Mt(K){let le=dn[K].algorithm;return P[K]??=await Se.generateKeyPair(le),{algorithm:le,keyPair:P[K]}}return{getMetadata(){return{cipherSuite:$,keyType:ye,version:j,selectedAlpn:Z}},hasEnded(){return L},getKeys(){if(_)return{..._,recordSendCount:Ee,recordRecvCount:pe}},getSessionId(){return Y},isHandshakeDone(){return B},getPskFromTicket(K){return Ly(K,{masterKey:_.masterSecret,hellos:V,cipherSuite:$})},async startHandshake(K){if(B)throw new Error("Handshake already done");Y=Se.randomBytes(32),L=!1,te=K?.random||Se.randomBytes(32);let le=await TE({host:t,keysToShare:await Promise.all(i.map(async Re=>{let{keyPair:Ve}=await Mt(Re);return{type:Re,key:Ve.pubKey}})),random:te,sessionId:Y,psk:K?.psk,cipherSuites:s,supportedProtocolVersions:o,signatureAlgorithms:a,applicationLayerProtocols:u});V.push(le),K?.psk&&(ne=K.psk.earlySecret),await Ar({type:"HELLO",data:le})},async handleReceivedBytes(K){await Promise.all(Array.from(v.onData(K)).map(Ze))},handleReceivedPacket:Ze,async updateTrafficKeys(K=!1){let le=ME(K?"UPDATE_REQUESTED":"UPDATE_NOT_REQUESTED");await Te({data:le,type:"WRAPPED_RECORD",contentType:"HANDSHAKE"});let Re=await Qp(_.clientSecret,$),Ve=await I0(Re,$);_={..._,clientSecret:Re,clientEncKey:Ve.encKey,clientIv:Ve.iv},Ee=0,w.info("updated client traffic keys")},async write(K){if(!B)throw new Error("Handshake not done");let le=yE(K,16380);for(let Re of le)await Te({data:Re,type:"WRAPPED_RECORD",contentType:"APPLICATION_DATA"})},end:Ir}}function A9(t){let e=l(1)[0];if(e!==Yt.CLIENT_HELLO)throw new Error(`Invalid record type for client hello (${e})`);t=f(3);let r=l(2),n=Mf(r),s=l(32),i=f(1),o=f(2),a=f(1)[0],u=SI(t);return{version:n,serverRandom:s,sessionId:i,cipherSuitesBytes:o,compressionMethodByte:a,extensions:u};function l(d){let p=t.slice(0,d);return t=t.slice(d),p}function f(d=2){let p=Nr(t,d);return t=t.slice(p.length+d),p}}function LI(t){return t instanceof Uint8Array||ArrayBuffer.isView(t)&&t.constructor.name==="Uint8Array"}function l1(t){if(typeof t!="boolean")throw new Error(`boolean expected, not ${t}`)}function f1(t){if(!Number.isSafeInteger(t)||t<0)throw new Error("positive integer expected, got "+t)}function wr(t,...e){if(!LI(t))throw new Error("Uint8Array expected");if(e.length>0&&!e.includes(t.length))throw new Error("Uint8Array expected of length "+e+", got length="+t.length)}function Hy(t,e=!0){if(t.destroyed)throw new Error("Hash instance has been destroyed");if(e&&t.finished)throw new Error("Hash#digest() has already been called")}function VI(t,e){wr(t);let r=e.outputLen;if(t.length<r)throw new Error("digestInto() expects output buffer of length at least "+r)}function kr(t){return new Uint32Array(t.buffer,t.byteOffset,Math.floor(t.byteLength/4))}function xn(...t){for(let e=0;e<t.length;e++)t[e].fill(0)}function GI(t){return new DataView(t.buffer,t.byteOffset,t.byteLength)}var m9=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;function g9(t){if(typeof t!="string")throw new Error("string expected");return new Uint8Array(new TextEncoder().encode(t))}function d1(t){if(typeof t=="string")t=g9(t);else if(LI(t))t=Ci(t);else throw new Error("Uint8Array expected, got "+typeof t);return t}function HI(t,e){return t.buffer===e.buffer&&t.byteOffset<e.byteOffset+e.byteLength&&e.byteOffset<t.byteOffset+t.byteLength}function _y(t,e){if(HI(t,e)&&t.byteOffset<e.byteOffset)throw new Error("complex overlap of input and output is not supported")}function _I(t,e){if(e==null||typeof e!="object")throw new Error("options must be defined");return Object.assign(t,e)}function Yy(t,e){if(t.length!==e.length)return!1;let r=0;for(let n=0;n<t.length;n++)r|=t[n]^e[n];return r===0}var dh=(t,e)=>{function r(n,...s){if(wr(n),!m9)throw new Error("Non little-endian hardware is not yet supported");if(t.nonceLength!==void 0){let f=s[0];if(!f)throw new Error("nonce / iv required");t.varSizeNonce?wr(f):wr(f,t.nonceLength)}let i=t.tagLength;i&&s[1]!==void 0&&wr(s[1]);let o=e(n,...s),a=(f,d)=>{if(d!==void 0){if(f!==2)throw new Error("cipher output not supported");wr(d)}},u=!1;return{encrypt(f,d){if(u)throw new Error("cannot encrypt() twice with same key + nonce");return u=!0,wr(f),a(o.encrypt.length,d),o.encrypt(f,d)},decrypt(f,d){if(wr(f),i&&f.length<i)throw new Error("invalid ciphertext length: smaller than tagLength="+i);return a(o.decrypt.length,d),o.decrypt(f,d)}}}return Object.assign(r,t),r};function ml(t,e,r=!0){if(e===void 0)return new Uint8Array(t);if(e.length!==t)throw new Error("invalid output length, expected "+t+", got: "+e.length);if(r&&!au(e))throw new Error("invalid output, must be aligned");return e}function Gy(t,e,r,n){if(typeof t.setBigUint64=="function")return t.setBigUint64(e,r,n);let s=BigInt(32),i=BigInt(4294967295),o=Number(r>>s&i),a=Number(r&i),u=n?4:0,l=n?0:4;t.setUint32(e+u,o,n),t.setUint32(e+l,a,n)}function jy(t,e,r){l1(r);let n=new Uint8Array(16),s=GI(n);return Gy(s,0,BigInt(e),r),Gy(s,8,BigInt(t),r),n}function au(t){return t.byteOffset%4===0}function Ci(t){return Uint8Array.from(t)}var wa=16;var E9=283;function Jy(t){return t<<1^E9&-(t>>7)}function gl(t,e){let r=0;for(;e>0;e>>=1)r^=t&-(e&1),t=Jy(t);return r}var zy=(()=>{let t=new Uint8Array(256);for(let r=0,n=1;r<256;r++,n^=Jy(n))t[r]=n;let e=new Uint8Array(256);e[0]=99;for(let r=0;r<255;r++){let n=t[255-r];n|=n<<8,e[t[r]]=(n^n>>4^n>>5^n>>6^n>>7^99)&255}return xn(t),e})(),x9=zy.map((t,e)=>zy.indexOf(e)),y9=t=>t<<24|t>>>8,Wy=t=>t<<8|t>>>24;function jI(t,e){if(t.length!==256)throw new Error("Wrong sbox length");let r=new Uint32Array(256).map((l,f)=>e(t[f])),n=r.map(Wy),s=n.map(Wy),i=s.map(Wy),o=new Uint32Array(256*256),a=new Uint32Array(256*256),u=new Uint16Array(256*256);for(let l=0;l<256;l++)for(let f=0;f<256;f++){let d=l*256+f;o[d]=r[l]^n[f],a[d]=s[l]^i[f],u[d]=t[l]<<8|t[f]}return{sbox:t,sbox2:u,T0:r,T1:n,T2:s,T3:i,T01:o,T23:a}}var Ky=jI(zy,t=>gl(t,3)<<24|t<<16|t<<8|gl(t,2)),WI=jI(x9,t=>gl(t,11)<<24|gl(t,13)<<16|gl(t,9)<<8|gl(t,14)),b9=(()=>{let t=new Uint8Array(16);for(let e=0,r=1;e<16;e++,r=Jy(r))t[e]=r;return t})();function zI(t){wr(t);let e=t.length;if(![16,24,32].includes(e))throw new Error("aes: invalid key size, should be 16, 24 or 32, got "+e);let{sbox2:r}=Ky,n=[];au(t)||n.push(t=Ci(t));let s=kr(t),i=s.length,o=u=>Bi(r,u,u,u,u),a=new Uint32Array(e+28);a.set(s);for(let u=i;u<a.length;u++){let l=a[u-1];u%i===0?l=o(y9(l))^b9[u/i-1]:i>6&&u%i===4&&(l=o(l)),a[u]=a[u-i]^l}return xn(...n),a}function w9(t){let e=zI(t),r=e.slice(),n=e.length,{sbox2:s}=Ky,{T0:i,T1:o,T2:a,T3:u}=WI;for(let l=0;l<n;l+=4)for(let f=0;f<4;f++)r[l+f]=e[n-l-4+f];xn(e);for(let l=4;l<n-4;l++){let f=r[l],d=Bi(s,f,f,f,f);r[l]=i[d&255]^o[d>>>8&255]^a[d>>>16&255]^u[d>>>24]}return r}function ba(t,e,r,n,s,i){return t[r<<8&65280|n>>>8&255]^e[s>>>8&65280|i>>>24&255]}function Bi(t,e,r,n,s){return t[e&255|r&65280]|t[n>>>16&255|s>>>16&65280]<<16}function YI(t,e,r,n,s){let{sbox2:i,T01:o,T23:a}=Ky,u=0;e^=t[u++],r^=t[u++],n^=t[u++],s^=t[u++];let l=t.length/4-2;for(let y=0;y<l;y++){let x=t[u++]^ba(o,a,e,r,n,s),b=t[u++]^ba(o,a,r,n,s,e),w=t[u++]^ba(o,a,n,s,e,r),v=t[u++]^ba(o,a,s,e,r,n);e=x,r=b,n=w,s=v}let f=t[u++]^Bi(i,e,r,n,s),d=t[u++]^Bi(i,r,n,s,e),p=t[u++]^Bi(i,n,s,e,r),m=t[u++]^Bi(i,s,e,r,n);return{s0:f,s1:d,s2:p,s3:m}}function T9(t,e,r,n,s){let{sbox2:i,T01:o,T23:a}=WI,u=0;e^=t[u++],r^=t[u++],n^=t[u++],s^=t[u++];let l=t.length/4-2;for(let y=0;y<l;y++){let x=t[u++]^ba(o,a,e,s,n,r),b=t[u++]^ba(o,a,r,e,s,n),w=t[u++]^ba(o,a,n,r,e,s),v=t[u++]^ba(o,a,s,n,r,e);e=x,r=b,n=w,s=v}let f=t[u++]^Bi(i,e,s,n,r),d=t[u++]^Bi(i,r,e,s,n),p=t[u++]^Bi(i,n,r,e,s),m=t[u++]^Bi(i,s,n,r,e);return{s0:f,s1:d,s2:p,s3:m}}function C9(t){if(wr(t),t.length%wa!==0)throw new Error("aes-(cbc/ecb).decrypt ciphertext should consist of blocks with size "+wa)}function B9(t,e,r){wr(t);let n=t.length,s=n%wa;if(!e&&s!==0)throw new Error("aec/(cbc-ecb): unpadded plaintext with disabled padding");au(t)||(t=Ci(t));let i=kr(t);if(e){let a=wa-s;a||(a=wa),n=n+a}r=ml(n,r),_y(t,r);let o=kr(r);return{b:i,o,out:r}}function I9(t,e){if(!e)return t;let r=t.length;if(!r)throw new Error("aes/pcks5: empty ciphertext not allowed");let n=t[r-1];if(n<=0||n>16)throw new Error("aes/pcks5: wrong padding");let s=t.subarray(0,-n);for(let i=0;i<n;i++)if(t[r-i-1]!==n)throw new Error("aes/pcks5: wrong padding");return s}function D9(t){let e=new Uint8Array(16),r=kr(e);e.set(t);let n=wa-t.length;for(let s=wa-n;s<wa;s++)e[s]=n;return r}var JI=dh({blockSize:16,nonceLength:16},function(e,r,n={}){let s=!n.disablePadding;return{encrypt(i,o){let a=zI(e),{b:u,o:l,out:f}=B9(i,s,o),d=r,p=[a];au(d)||p.push(d=Ci(d));let m=kr(d),y=m[0],x=m[1],b=m[2],w=m[3],v=0;for(;v+4<=u.length;)y^=u[v+0],x^=u[v+1],b^=u[v+2],w^=u[v+3],{s0:y,s1:x,s2:b,s3:w}=YI(a,y,x,b,w),l[v++]=y,l[v++]=x,l[v++]=b,l[v++]=w;if(s){let O=D9(i.subarray(v*4));y^=O[0],x^=O[1],b^=O[2],w^=O[3],{s0:y,s1:x,s2:b,s3:w}=YI(a,y,x,b,w),l[v++]=y,l[v++]=x,l[v++]=b,l[v++]=w}return xn(...p),f},decrypt(i,o){C9(i);let a=w9(e),u=r,l=[a];au(u)||l.push(u=Ci(u));let f=kr(u);o=ml(i.length,o),au(i)||l.push(i=Ci(i)),_y(i,o);let d=kr(i),p=kr(o),m=f[0],y=f[1],x=f[2],b=f[3];for(let w=0;w+4<=d.length;){let v=m,O=y,P=x,B=b;m=d[w+0],y=d[w+1],x=d[w+2],b=d[w+3];let{s0:L,s1:Y,s2:V,s3:$}=T9(a,m,y,x,b);p[w++]=L^v,p[w++]=Y^O,p[w++]=V^P,p[w++]=$^B}return xn(...l),I9(o,s)}}});var qI=t=>Uint8Array.from(t.split("").map(e=>e.charCodeAt(0))),N9=qI("expand 16-byte k"),R9=qI("expand 32-byte k"),S9=kr(N9),M9=kr(R9);function Le(t,e){return t<<e|t>>>32-e}function qy(t){return t.byteOffset%4===0}var h1=64,v9=16,ZI=2**32-1,KI=new Uint32Array;function k9(t,e,r,n,s,i,o,a){let u=s.length,l=new Uint8Array(h1),f=kr(l),d=qy(s)&&qy(i),p=d?kr(s):KI,m=d?kr(i):KI;for(let y=0;y<u;o++){if(t(e,r,n,f,o,a),o>=ZI)throw new Error("arx: counter overflow");let x=Math.min(h1,u-y);if(d&&x===h1){let b=y/4;if(y%4!==0)throw new Error("arx: invalid block position");for(let w=0,v;w<v9;w++)v=b+w,m[v]=p[v]^f[w];y+=h1;continue}for(let b=0,w;b<x;b++)w=y+b,i[w]=s[w]^l[b];y+=x}}function Zy(t,e){let{allowShortKeys:r,extendNonceFn:n,counterLength:s,counterRight:i,rounds:o}=_I({allowShortKeys:!1,counterLength:8,counterRight:!1,rounds:20},e);if(typeof t!="function")throw new Error("core must be a function");return f1(s),f1(o),l1(i),l1(r),(a,u,l,f,d=0)=>{wr(a),wr(u),wr(l);let p=l.length;if(f===void 0&&(f=new Uint8Array(p)),wr(f),f1(d),d<0||d>=ZI)throw new Error("arx: counter overflow");if(f.length<p)throw new Error(`arx: output (${f.length}) is shorter than data (${p})`);let m=[],y=a.length,x,b;if(y===32)m.push(x=Ci(a)),b=M9;else if(y===16&&r)x=new Uint8Array(32),x.set(a),x.set(a,16),b=S9,m.push(x);else throw new Error(`arx: invalid 32-byte key, got length=${y}`);qy(u)||m.push(u=Ci(u));let w=kr(x);if(n){if(u.length!==24)throw new Error("arx: extended nonce must be 24 bytes");n(b,w,kr(u.subarray(0,16)),w),u=u.subarray(16)}let v=16-s;if(v!==u.length)throw new Error(`arx: nonce must be ${v} or 16 bytes`);if(v!==12){let P=new Uint8Array(12);P.set(u,i?0:12-u.length),u=P,m.push(u)}let O=kr(u);return k9(t,b,w,O,l,f,d,o),xn(...m),f}}var Yr=(t,e)=>t[e++]&255|(t[e++]&255)<<8,Xy=class{constructor(e){this.blockLen=16,this.outputLen=16,this.buffer=new Uint8Array(16),this.r=new Uint16Array(10),this.h=new Uint16Array(10),this.pad=new Uint16Array(8),this.pos=0,this.finished=!1,e=d1(e),wr(e,32);let r=Yr(e,0),n=Yr(e,2),s=Yr(e,4),i=Yr(e,6),o=Yr(e,8),a=Yr(e,10),u=Yr(e,12),l=Yr(e,14);this.r[0]=r&8191,this.r[1]=(r>>>13|n<<3)&8191,this.r[2]=(n>>>10|s<<6)&7939,this.r[3]=(s>>>7|i<<9)&8191,this.r[4]=(i>>>4|o<<12)&255,this.r[5]=o>>>1&8190,this.r[6]=(o>>>14|a<<2)&8191,this.r[7]=(a>>>11|u<<5)&8065,this.r[8]=(u>>>8|l<<8)&8191,this.r[9]=l>>>5&127;for(let f=0;f<8;f++)this.pad[f]=Yr(e,16+2*f)}process(e,r,n=!1){let s=n?0:2048,{h:i,r:o}=this,a=o[0],u=o[1],l=o[2],f=o[3],d=o[4],p=o[5],m=o[6],y=o[7],x=o[8],b=o[9],w=Yr(e,r+0),v=Yr(e,r+2),O=Yr(e,r+4),P=Yr(e,r+6),B=Yr(e,r+8),L=Yr(e,r+10),Y=Yr(e,r+12),V=Yr(e,r+14),$=i[0]+(w&8191),ne=i[1]+((w>>>13|v<<3)&8191),_=i[2]+((v>>>10|O<<6)&8191),Ee=i[3]+((O>>>7|P<<9)&8191),pe=i[4]+((P>>>4|B<<12)&8191),ye=i[5]+(B>>>1&8191),j=i[6]+((B>>>14|L<<2)&8191),te=i[7]+((L>>>11|Y<<5)&8191),ce=i[8]+((Y>>>8|V<<8)&8191),ue=i[9]+(V>>>5|s),Z=0,ge=Z+$*a+ne*(5*b)+_*(5*x)+Ee*(5*y)+pe*(5*m);Z=ge>>>13,ge&=8191,ge+=ye*(5*p)+j*(5*d)+te*(5*f)+ce*(5*l)+ue*(5*u),Z+=ge>>>13,ge&=8191;let Ne=Z+$*u+ne*a+_*(5*b)+Ee*(5*x)+pe*(5*y);Z=Ne>>>13,Ne&=8191,Ne+=ye*(5*m)+j*(5*p)+te*(5*d)+ce*(5*f)+ue*(5*l),Z+=Ne>>>13,Ne&=8191;let re=Z+$*l+ne*u+_*a+Ee*(5*b)+pe*(5*x);Z=re>>>13,re&=8191,re+=ye*(5*y)+j*(5*m)+te*(5*p)+ce*(5*d)+ue*(5*f),Z+=re>>>13,re&=8191;let Ke=Z+$*f+ne*l+_*u+Ee*a+pe*(5*b);Z=Ke>>>13,Ke&=8191,Ke+=ye*(5*x)+j*(5*y)+te*(5*m)+ce*(5*p)+ue*(5*d),Z+=Ke>>>13,Ke&=8191;let ct=Z+$*d+ne*f+_*l+Ee*u+pe*a;Z=ct>>>13,ct&=8191,ct+=ye*(5*b)+j*(5*x)+te*(5*y)+ce*(5*m)+ue*(5*p),Z+=ct>>>13,ct&=8191;let Ze=Z+$*p+ne*d+_*f+Ee*l+pe*u;Z=Ze>>>13,Ze&=8191,Ze+=ye*a+j*(5*b)+te*(5*x)+ce*(5*y)+ue*(5*m),Z+=Ze>>>13,Ze&=8191;let He=Z+$*m+ne*p+_*d+Ee*f+pe*l;Z=He>>>13,He&=8191,He+=ye*u+j*a+te*(5*b)+ce*(5*x)+ue*(5*y),Z+=He>>>13,He&=8191;let Qt=Z+$*y+ne*m+_*p+Ee*d+pe*f;Z=Qt>>>13,Qt&=8191,Qt+=ye*l+j*u+te*a+ce*(5*b)+ue*(5*x),Z+=Qt>>>13,Qt&=8191;let pr=Z+$*x+ne*y+_*m+Ee*p+pe*d;Z=pr>>>13,pr&=8191,pr+=ye*f+j*l+te*u+ce*a+ue*(5*b),Z+=pr>>>13,pr&=8191;let rr=Z+$*b+ne*x+_*y+Ee*m+pe*p;Z=rr>>>13,rr&=8191,rr+=ye*d+j*f+te*l+ce*u+ue*a,Z+=rr>>>13,rr&=8191,Z=(Z<<2)+Z|0,Z=Z+ge|0,ge=Z&8191,Z=Z>>>13,Ne+=Z,i[0]=ge,i[1]=Ne,i[2]=re,i[3]=Ke,i[4]=ct,i[5]=Ze,i[6]=He,i[7]=Qt,i[8]=pr,i[9]=rr}finalize(){let{h:e,pad:r}=this,n=new Uint16Array(10),s=e[1]>>>13;e[1]&=8191;for(let a=2;a<10;a++)e[a]+=s,s=e[a]>>>13,e[a]&=8191;e[0]+=s*5,s=e[0]>>>13,e[0]&=8191,e[1]+=s,s=e[1]>>>13,e[1]&=8191,e[2]+=s,n[0]=e[0]+5,s=n[0]>>>13,n[0]&=8191;for(let a=1;a<10;a++)n[a]=e[a]+s,s=n[a]>>>13,n[a]&=8191;n[9]-=8192;let i=(s^1)-1;for(let a=0;a<10;a++)n[a]&=i;i=~i;for(let a=0;a<10;a++)e[a]=e[a]&i|n[a];e[0]=(e[0]|e[1]<<13)&65535,e[1]=(e[1]>>>3|e[2]<<10)&65535,e[2]=(e[2]>>>6|e[3]<<7)&65535,e[3]=(e[3]>>>9|e[4]<<4)&65535,e[4]=(e[4]>>>12|e[5]<<1|e[6]<<14)&65535,e[5]=(e[6]>>>2|e[7]<<11)&65535,e[6]=(e[7]>>>5|e[8]<<8)&65535,e[7]=(e[8]>>>8|e[9]<<5)&65535;let o=e[0]+r[0];e[0]=o&65535;for(let a=1;a<8;a++)o=(e[a]+r[a]|0)+(o>>>16)|0,e[a]=o&65535;xn(n)}update(e){Hy(this),e=d1(e),wr(e);let{buffer:r,blockLen:n}=this,s=e.length;for(let i=0;i<s;){let o=Math.min(n-this.pos,s-i);if(o===n){for(;n<=s-i;i+=n)this.process(e,i);continue}r.set(e.subarray(i,i+o),this.pos),this.pos+=o,i+=o,this.pos===n&&(this.process(r,0,!1),this.pos=0)}return this}destroy(){xn(this.h,this.r,this.buffer,this.pad)}digestInto(e){Hy(this),VI(e,this),this.finished=!0;let{buffer:r,h:n}=this,{pos:s}=this;if(s){for(r[s++]=1;s<16;s++)r[s]=0;this.process(r,0,!0)}this.finalize();let i=0;for(let o=0;o<8;o++)e[i++]=n[o]>>>0,e[i++]=n[o]>>>8;return e}digest(){let{buffer:e,outputLen:r}=this;this.digestInto(e);let n=e.slice(0,r);return this.destroy(),n}};function O9(t){let e=(n,s)=>t(s).update(d1(n)).digest(),r=t(new Uint8Array(32));return e.outputLen=r.outputLen,e.blockLen=r.blockLen,e.create=n=>t(n),e}var XI=O9(t=>new Xy(t));function t5(t,e,r,n,s,i=20){let o=t[0],a=t[1],u=t[2],l=t[3],f=e[0],d=e[1],p=e[2],m=e[3],y=e[4],x=e[5],b=e[6],w=e[7],v=s,O=r[0],P=r[1],B=r[2],L=o,Y=a,V=u,$=l,ne=f,_=d,Ee=p,pe=m,ye=y,j=x,te=b,ce=w,ue=v,Z=O,ge=P,Ne=B;for(let Ke=0;Ke<i;Ke+=2)L=L+ne|0,ue=Le(ue^L,16),ye=ye+ue|0,ne=Le(ne^ye,12),L=L+ne|0,ue=Le(ue^L,8),ye=ye+ue|0,ne=Le(ne^ye,7),Y=Y+_|0,Z=Le(Z^Y,16),j=j+Z|0,_=Le(_^j,12),Y=Y+_|0,Z=Le(Z^Y,8),j=j+Z|0,_=Le(_^j,7),V=V+Ee|0,ge=Le(ge^V,16),te=te+ge|0,Ee=Le(Ee^te,12),V=V+Ee|0,ge=Le(ge^V,8),te=te+ge|0,Ee=Le(Ee^te,7),$=$+pe|0,Ne=Le(Ne^$,16),ce=ce+Ne|0,pe=Le(pe^ce,12),$=$+pe|0,Ne=Le(Ne^$,8),ce=ce+Ne|0,pe=Le(pe^ce,7),L=L+_|0,Ne=Le(Ne^L,16),te=te+Ne|0,_=Le(_^te,12),L=L+_|0,Ne=Le(Ne^L,8),te=te+Ne|0,_=Le(_^te,7),Y=Y+Ee|0,ue=Le(ue^Y,16),ce=ce+ue|0,Ee=Le(Ee^ce,12),Y=Y+Ee|0,ue=Le(ue^Y,8),ce=ce+ue|0,Ee=Le(Ee^ce,7),V=V+pe|0,Z=Le(Z^V,16),ye=ye+Z|0,pe=Le(pe^ye,12),V=V+pe|0,Z=Le(Z^V,8),ye=ye+Z|0,pe=Le(pe^ye,7),$=$+ne|0,ge=Le(ge^$,16),j=j+ge|0,ne=Le(ne^j,12),$=$+ne|0,ge=Le(ge^$,8),j=j+ge|0,ne=Le(ne^j,7);let re=0;n[re++]=o+L|0,n[re++]=a+Y|0,n[re++]=u+V|0,n[re++]=l+$|0,n[re++]=f+ne|0,n[re++]=d+_|0,n[re++]=p+Ee|0,n[re++]=m+pe|0,n[re++]=y+ye|0,n[re++]=x+j|0,n[re++]=b+te|0,n[re++]=w+ce|0,n[re++]=v+ue|0,n[re++]=O+Z|0,n[re++]=P+ge|0,n[re++]=B+Ne|0}function P9(t,e,r,n){let s=t[0],i=t[1],o=t[2],a=t[3],u=e[0],l=e[1],f=e[2],d=e[3],p=e[4],m=e[5],y=e[6],x=e[7],b=r[0],w=r[1],v=r[2],O=r[3];for(let B=0;B<20;B+=2)s=s+u|0,b=Le(b^s,16),p=p+b|0,u=Le(u^p,12),s=s+u|0,b=Le(b^s,8),p=p+b|0,u=Le(u^p,7),i=i+l|0,w=Le(w^i,16),m=m+w|0,l=Le(l^m,12),i=i+l|0,w=Le(w^i,8),m=m+w|0,l=Le(l^m,7),o=o+f|0,v=Le(v^o,16),y=y+v|0,f=Le(f^y,12),o=o+f|0,v=Le(v^o,8),y=y+v|0,f=Le(f^y,7),a=a+d|0,O=Le(O^a,16),x=x+O|0,d=Le(d^x,12),a=a+d|0,O=Le(O^a,8),x=x+O|0,d=Le(d^x,7),s=s+l|0,O=Le(O^s,16),y=y+O|0,l=Le(l^y,12),s=s+l|0,O=Le(O^s,8),y=y+O|0,l=Le(l^y,7),i=i+f|0,b=Le(b^i,16),x=x+b|0,f=Le(f^x,12),i=i+f|0,b=Le(b^i,8),x=x+b|0,f=Le(f^x,7),o=o+d|0,w=Le(w^o,16),p=p+w|0,d=Le(d^p,12),o=o+d|0,w=Le(w^o,8),p=p+w|0,d=Le(d^p,7),a=a+u|0,v=Le(v^a,16),m=m+v|0,u=Le(u^m,12),a=a+u|0,v=Le(v^a,8),m=m+v|0,u=Le(u^m,7);let P=0;n[P++]=s,n[P++]=i,n[P++]=o,n[P++]=a,n[P++]=b,n[P++]=w,n[P++]=v,n[P++]=O}var U9=Zy(t5,{counterRight:!1,counterLength:4,allowShortKeys:!1}),F9=Zy(t5,{counterRight:!1,counterLength:8,extendNonceFn:P9,allowShortKeys:!1});var Q9=new Uint8Array(16),$I=(t,e)=>{t.update(e);let r=e.length%16;r&&t.update(Q9.subarray(r))},L9=new Uint8Array(32);function e5(t,e,r,n,s){let i=t(e,r,L9),o=XI.create(i);s&&$I(o,s),$I(o,n);let a=jy(n.length,s?s.length:0,!0);o.update(a);let u=o.digest();return xn(i,a),u}var r5=t=>(e,r,n)=>({encrypt(i,o){let a=i.length;o=ml(a+16,o,!1),o.set(i);let u=o.subarray(0,-16);t(e,r,u,u,1);let l=e5(t,e,r,u,n);return o.set(l,a),xn(l),o},decrypt(i,o){o=ml(i.length-16,o,!1);let a=i.subarray(0,-16),u=i.subarray(-16),l=e5(t,e,r,a,n);if(!Yy(u,l))throw new Error("invalid tag");return o.set(i.subarray(0,-16)),t(e,r,o,o,1),xn(l),o}}),$y=dh({blockSize:64,nonceLength:12,tagLength:16},r5(U9)),mae=dh({blockSize:64,nonceLength:24,tagLength:16},r5(F9));var eb=globalThis.crypto;function V9(t){return t instanceof Uint8Array||t!=null&&typeof t=="object"&&t.constructor.name==="Uint8Array"}function n5(t,...e){if(!V9(t))throw new Error("Uint8Array expected");if(e.length>0&&!e.includes(t.length))throw new Error(`Uint8Array expected of length ${e}, not of length=${t.length}`)}var p1=typeof globalThis=="object"&&"crypto"in globalThis?globalThis.crypto:void 0;var Tae=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;var ho={_0:48,_9:57,_A:65,_F:70,_a:97,_f:102};function s5(t){if(t>=ho._0&&t<=ho._9)return t-ho._0;if(t>=ho._A&&t<=ho._F)return t-(ho._A-10);if(t>=ho._a&&t<=ho._f)return t-(ho._a-10)}function tb(t){if(typeof t!="string")throw new Error("hex string expected, got "+typeof t);let e=t.length,r=e/2;if(e%2)throw new Error("padded hex string expected, got unpadded hex of length "+e);let n=new Uint8Array(r);for(let s=0,i=0;s<r;s++,i+=2){let o=s5(t.charCodeAt(i)),a=s5(t.charCodeAt(i+1));if(o===void 0||a===void 0){let u=t[i]+t[i+1];throw new Error('hex string expected, got non-hex character "'+u+'" at index '+i)}n[s]=o*16+a}return n}function i5(...t){let e=0;for(let n=0;n<t.length;n++){let s=t[n];n5(s),e+=s.length}let r=new Uint8Array(e);for(let n=0,s=0;n<t.length;n++){let i=t[n];r.set(i,s),s+=i.length}return r}var Cae={}.toString;function rb(t=32){if(p1&&typeof p1.getRandomValues=="function")return p1.getRandomValues(new Uint8Array(t));throw new Error("crypto.getRandomValues must be defined")}function G9(t){return t instanceof Uint8Array||t!=null&&typeof t=="object"&&t.constructor.name==="Uint8Array"}function nb(t,e,r){let n;if(typeof e=="string")try{n=tb(e)}catch(i){throw new Error(`${t} must be valid hex string, got "${e}". Cause: ${i}`)}else if(G9(e))n=Uint8Array.from(e);else throw new Error(`${t} must be hex string or Uint8Array`);let s=n.length;if(typeof r=="number"&&s!==r)throw new Error(`${t} expected ${r} bytes, got ${s}`);return n}function sb(t,e){if(t>=256n**BigInt(e))throw new Error("integer too large");let r=new Uint8Array(e);for(let n=e-1;n>=0;n--)r[n]=Number(t&0xffn),t>>=8n;return r}function ib(t){let e=0n;for(let r=0;r<t.length;r++)e=(e<<8n)+BigInt(t[r]);return e}function ob(t,e,r){if(r<=0n||e<0n)throw new Error("Expected power/modulo > 0");if(r===1n)return 0n;let n=1n;for(;e>0n;)e&1n&&(n=n*t%r),t=t*t%r,e>>=1n;return n}var H9=t=>{if(t===null||typeof t!="object"||typeof t.n!="bigint"||typeof t.e!="bigint")throw new Error("wrong private key")},_9=t=>{if(t===null||typeof t!="object"||typeof t.n!="bigint"||typeof t.d!="bigint")throw new Error("wrong private key")};function Y9(t,e){let{n:r,e:n}=t;if(e<0n||e>=r)throw new Error("message representative out of range");return ob(e,n,r)}function j9(t,e){let{n:r}=t;if(e<0n||e>=r)throw new Error("ciphertext representative out of range");return ob(e,t.d,r)}var o5={encrypt(t,e){H9(t),e=nb("message",e);let{n:r}=t,n=Math.ceil(r.toString(16).length/2),s=e.length;if(s>n-11)throw new Error("message too long");let i=n-s-3,o=new Uint8Array(i);for(let f=0;f<i;f++){let d=0;for(;d===0;)d=rb(1)[0];o[f]=d}let a=i5(new Uint8Array([0,2]),o,new Uint8Array([0]),e),u=ib(a),l=Y9(t,u);return sb(l,n)},decrypt(t,e){_9(t),e=nb("ciphertext",e);let{n:r}=t,n=Math.ceil(r.toString(16).length/2);if(e.length!==n||n<11)throw new Error("decryption error");let s=ib(e),i=j9(t,s);if(i>=r)throw new Error("decryption error");let o=sb(i,n);if(o[0]!==0||o[1]!==2)throw new Error("decryption error");let a=-1;for(let u=2;u<o.length;u++)if(o[u]===0){a=u;break}if(a===-1||a<10)throw new Error("decryption error");return o.subarray(a+1)}};function u5(t){let e=hi.parse(t,jc),r=hi.parse(e.publicKey,fa);return{e:c5(a5(r.publicExponent)),n:c5(a5(r.modulus))}}function a5(t){return t instanceof Uint8Array?t:new Uint8Array(t)}var W9=8n;function c5(t){let e=0n;for(let r of t.values()){let n=BigInt(r);e=(e<<W9)+n}return e}var Ys=eb.subtle,l5=new Uint8Array([48,46,2,1,0,48,5,6,3,43,101,110,4,34,4,32]),f5=new Uint8Array([48,129,182,2,1,0,48,16,6,7,42,134,72,206,61,2,1,6,5,43,129,4,0,34,4,129,158,48,129,155,2,1,1,4,48]),z9=new Uint8Array([48,129,182,2,1,0,48,16,6,7,42,134,72,206,61,2,1,6,5,43,129,4,0,34,4,129,158,48,129,155,2,1,1,4,48]),J9={X25519:32,"P-384":48,"P-256":32},d5=16,A5={importKey(t,e,...r){let n,s,i="raw";switch(t){case"AES-256-GCM":case"AES-128-GCM":n={name:"AES-GCM",length:t==="AES-256-GCM"?256:128},s=["encrypt","decrypt"];break;case"AES-128-CBC":n={name:"AES-CBC",length:128},s=["encrypt","decrypt"];break;case"CHACHA20-POLY1305":return e;case"SHA-1":case"SHA-256":case"SHA-384":n={name:"HMAC",hash:{name:t}},s=["sign","verify"];break;case"P-384":case"P-256":n={name:"ECDH",namedCurve:t},s=[],r[0]==="private"&&(s=["deriveBits"],i="pkcs8",e=be([t==="P-256"?z9:f5,e]));break;case"X25519":n={name:"X25519"},s=[],r[0]==="private"&&(s=["deriveBits"],i="pkcs8",e=be([l5,e]));break;case"RSA-PSS-SHA256":i="spki",s=["verify"],n={name:"RSA-PSS",hash:"SHA-256"};break;case"RSA-PKCS1-SHA512":case"RSA-PKCS1-SHA256":case"RSA-PKCS1-SHA384":case"RSA-PKCS1-SHA1":i="spki",s=["verify"],n={name:"RSASSA-PKCS1-v1_5",hash:p5(t)};break;case"RSA-PCKS1_5":return u5(e);case"ECDSA-SECP256R1-SHA256":case"ECDSA-SECP256R1-SHA384":case"ECDSA-SECP384R1-SHA384":case"ECDSA-SECP384R1-SHA256":i="spki",s=["verify"],n={name:"ECDSA",namedCurve:t.includes("P256")?"P-256":"P-384"};break;default:throw new Error(`Unsupported algorithm ${t}`)}return Ys.importKey(i,e,n,!0,s)},async exportKey(t){if(t instanceof Uint8Array)return t;if(t.type==="private"&&(t.algorithm.name==="X25519"||t.algorithm.name==="ECDH")){let e=Ta(await Ys.exportKey("pkcs8",t)),r=t.algorithm.name==="X25519"?l5:f5;return e.slice(r.length)}return Ta(await Ys.exportKey("raw",t))},async generateKeyPair(t){let e;switch(t){case"P-384":case"P-256":e={name:"ECDH",namedCurve:t};break;case"X25519":e={name:"X25519"};break;default:throw new Error(`Unsupported algorithm ${t}`)}let r=await Ys.generateKey(e,!0,["deriveBits"]);return{pubKey:r.publicKey,privKey:r.privateKey}},async calculateSharedSecret(t,e,r){let n=t==="X25519"?"X25519":"ECDH",s=await Ys.deriveBits({name:n,public:r},e,8*J9[t]);return Ta(s)},randomBytes(t){let e=new Uint8Array(t);return eb.getRandomValues(e)},asymmetricEncrypt(t,{publicKey:e,data:r}){if(t!=="RSA-PCKS1_5")throw new Error(`Unsupported cipher suite ${t}`);return o5.encrypt(e,r)},async encrypt(t,{iv:e,data:r,key:n}){let s=t==="AES-128-CBC"?"AES-CBC":"";return Ta(await Ys.encrypt({name:s,iv:e},n,r)).slice(0,r.length)},async decrypt(t,{key:e,iv:r,data:n}){if(t!=="AES-128-CBC")throw new Error(`Unsupported cipher suite: ${t}`);let s=e instanceof Uint8Array?e:await this.exportKey(e);return JI(s,r,{disablePadding:!0}).decrypt(n)},async authenticatedEncrypt(t,{iv:e,aead:r,key:n,data:s}){let i;if(t==="CHACHA20-POLY1305"){let o=n instanceof Uint8Array?n:await this.exportKey(n);i=$y(o,e,r).encrypt(s)}else i=Ta(await Ys.encrypt({name:"AES-GCM",iv:e,additionalData:r},n,s));return{ciphertext:i.slice(0,-d5),authTag:i.slice(-d5)}},async authenticatedDecrypt(t,{iv:e,aead:r,key:n,data:s,authTag:i}){if(!i)throw new Error("authTag is required");let o=be([s,i]),a;if(t==="CHACHA20-POLY1305"){let u=n instanceof Uint8Array?n:await this.exportKey(n);a=$y(u,e,r).decrypt(o)}else a=Ta(await Ys.decrypt({name:"AES-GCM",iv:e,additionalData:r},n,o));return{plaintext:a}},async verify(t,{data:e,signature:r,publicKey:n}){let s;switch(t){case"RSA-PSS-SHA256":s={name:"RSA-PSS",saltLength:32};break;case"RSA-PKCS1-SHA512":case"RSA-PKCS1-SHA256":case"RSA-PKCS1-SHA384":case"RSA-PKCS1-SHA1":s={name:"RSASSA-PKCS1-v1_5"};break;case"ECDSA-SECP256R1-SHA256":case"ECDSA-SECP256R1-SHA384":case"ECDSA-SECP384R1-SHA256":case"ECDSA-SECP384R1-SHA384":r=K9(r),s={name:"ECDSA",hash:p5(t)};break;default:throw new Error(`Unsupported algorithm ${t}`)}return Ys.verify(s,n,r,e)},async hash(t,e){return Ta(await Ys.digest(t,e))},async hmac(t,e,r){return Ta(await Ys.sign({name:"HMAC",hash:t},e,r))},async extract(t,e,r,n){n=typeof n=="string"?Dr(n):n,n.length||(n=new Uint8Array(e));let s=await this.importKey(t,n);return this.hmac(t,s,r)}};function Ta(t){return new Uint8Array(t)}function K9(t){let e=hi.parse(t,ao),r=h5(new Uint8Array(e.r)),n=h5(new Uint8Array(e.s));return be([r,n])}function h5(t){return t.length>32&&t[0]===0?t=t.slice(1):t.length<32&&(t=be([new Uint8Array(32-t.length).fill(0),t])),t}function p5(t){if(t.endsWith("SHA256"))return"SHA-256";if(t.endsWith("SHA384"))return"SHA-384";if(t.endsWith("SHA512"))return"SHA-512";if(t.endsWith("SHA1"))return"SHA-1";throw new Error(`Unsupported signature algorithm: ${t}`)}var A1="6.17.0";function q9(t,e,r){let n=e.split("|").map(i=>i.trim());for(let i=0;i<n.length;i++)switch(e){case"any":return;case"bigint":case"boolean":case"number":case"string":if(typeof t===e)return}let s=new Error(`invalid value for type ${e}`);throw s.code="INVALID_ARGUMENT",s.argument=`value.${r}`,s.value=t,s}async function er(t){let e=Object.keys(t);return(await Promise.all(e.map(n=>Promise.resolve(t[n])))).reduce((n,s,i)=>(n[e[i]]=s,n),{})}function Be(t,e,r){for(let n in e){let s=e[n],i=r?r[n]:null;i&&q9(s,i,n),Object.defineProperty(t,n,{enumerable:!0,value:s,writable:!1})}}function El(t,e){if(t==null)return"null";if(e==null&&(e=new Set),typeof t=="object"){if(e.has(t))return"[Circular]";e.add(t)}if(Array.isArray(t))return"[ "+t.map(r=>El(r,e)).join(", ")+" ]";if(t instanceof Uint8Array){let r="0123456789abcdef",n="0x";for(let s=0;s<t.length;s++)n+=r[t[s]>>4],n+=r[t[s]&15];return n}if(typeof t=="object"&&typeof t.toJSON=="function")return El(t.toJSON(),e);switch(typeof t){case"boolean":case"number":case"symbol":return t.toString();case"bigint":return BigInt(t).toString();case"string":return JSON.stringify(t);case"object":{let r=Object.keys(t);return r.sort(),"{ "+r.map(n=>`${El(n,e)}: ${El(t[n],e)}`).join(", ")+" }"}}return"[ COULD NOT SERIALIZE ]"}function Wt(t,e){return t&&t.code===e}function cu(t){return Wt(t,"CALL_EXCEPTION")}function Nt(t,e,r){let n=t;{let i=[];if(r){if("message"in r||"code"in r||"name"in r)throw new Error(`value will overwrite populated values: ${El(r)}`);for(let o in r){if(o==="shortMessage")continue;let a=r[o];i.push(o+"="+El(a))}}i.push(`code=${e}`),i.push(`version=${A1}`),i.length&&(t+=" ("+i.join(", ")+")")}let s;switch(e){case"INVALID_ARGUMENT":s=new TypeError(t);break;case"NUMERIC_FAULT":case"BUFFER_OVERRUN":s=new RangeError(t);break;default:s=new Error(t)}return Be(s,{code:e}),r&&Object.assign(s,r),s.shortMessage==null&&Be(s,{shortMessage:n}),s}function z(t,e,r,n){if(!t)throw Nt(e,r,n)}function I(t,e,r,n){z(t,e,"INVALID_ARGUMENT",{argument:r,value:n})}function xl(t,e,r){r==null&&(r=""),r&&(r=": "+r),z(t>=e,"missing argument"+r,"MISSING_ARGUMENT",{count:t,expectedCount:e}),z(t<=e,"too many arguments"+r,"UNEXPECTED_ARGUMENT",{count:t,expectedCount:e})}var Z9=["NFD","NFC","NFKD","NFKC"].reduce((t,e)=>{try{if("test".normalize(e)!=="test")throw new Error("bad");if(e==="NFD"&&"\xE9".normalize("NFD")!=="e\u0301")throw new Error("broken");t.push(e)}catch{}return t},[]);function yl(t){z(Z9.indexOf(t)>=0,"platform missing String.prototype.normalize","UNSUPPORTED_OPERATION",{operation:"String.prototype.normalize",info:{form:t}})}function Gn(t,e,r){if(r==null&&(r=""),t!==e){let n=r,s="new";r&&(n+=".",s+=" "+r),z(!1,`private constructor; use ${n}from* methods`,"UNSUPPORTED_OPERATION",{operation:s})}}function g5(t,e,r){if(t instanceof Uint8Array)return r?new Uint8Array(t):t;if(typeof t=="string"&&t.length%2===0&&t.match(/^0x[0-9a-f]*$/i)){let n=new Uint8Array((t.length-2)/2),s=2;for(let i=0;i<n.length;i++)n[i]=parseInt(t.substring(s,s+2),16),s+=2;return n}I(!1,"invalid BytesLike value",e||"value",t)}function ae(t,e){return g5(t,e,!1)}function qt(t,e){return g5(t,e,!0)}function ft(t,e){return!(typeof t!="string"||!t.match(/^0x[0-9A-Fa-f]*$/)||typeof e=="number"&&t.length!==2+2*e||e===!0&&t.length%2!==0)}function Ii(t){return ft(t,!0)||t instanceof Uint8Array}var m5="0123456789abcdef";function J(t){let e=ae(t),r="0x";for(let n=0;n<e.length;n++){let s=e[n];r+=m5[(s&240)>>4]+m5[s&15]}return r}function et(t){return"0x"+t.map(e=>J(e).substring(2)).join("")}function js(t){return ft(t,!0)?(t.length-2)/2:ae(t).length}function Rt(t,e,r){let n=ae(t);return r!=null&&r>n.length&&z(!1,"cannot slice beyond data bounds","BUFFER_OVERRUN",{buffer:n,length:n.length,offset:r}),J(n.slice(e??0,r??n.length))}function E5(t,e,r){let n=ae(t);z(e>=n.length,"padding exceeds data length","BUFFER_OVERRUN",{buffer:new Uint8Array(n),length:e,offset:e+1});let s=new Uint8Array(e);return s.fill(0),r?s.set(n,e-n.length):s.set(n,0),J(s)}function en(t,e){return E5(t,e,!0)}function m1(t,e){return E5(t,e,!1)}var hh=BigInt(0),Ws=BigInt(1),bl=9007199254740991;function g1(t,e){let r=Tl(t,"value"),n=BigInt(Je(e,"width"));if(z(r>>n===hh,"overflow","NUMERIC_FAULT",{operation:"fromTwos",fault:"overflow",value:t}),r>>n-Ws){let s=(Ws<<n)-Ws;return-((~r&s)+Ws)}return r}function wl(t,e){let r=Ce(t,"value"),n=BigInt(Je(e,"width")),s=Ws<<n-Ws;if(r<hh){r=-r,z(r<=s,"too low","NUMERIC_FAULT",{operation:"toTwos",fault:"overflow",value:t});let i=(Ws<<n)-Ws;return(~r&i)+Ws}else z(r<s,"too high","NUMERIC_FAULT",{operation:"toTwos",fault:"overflow",value:t});return r}function po(t,e){let r=Tl(t,"value"),n=BigInt(Je(e,"bits"));return r&(Ws<<n)-Ws}function Ce(t,e){switch(typeof t){case"bigint":return t;case"number":return I(Number.isInteger(t),"underflow",e||"value",t),I(t>=-bl&&t<=bl,"overflow",e||"value",t),BigInt(t);case"string":try{if(t==="")throw new Error("empty string");return t[0]==="-"&&t[1]!=="-"?-BigInt(t.substring(1)):BigInt(t)}catch(r){I(!1,`invalid BigNumberish string: ${r.message}`,e||"value",t)}}I(!1,"invalid BigNumberish value",e||"value",t)}function Tl(t,e){let r=Ce(t,e);return z(r>=hh,"unsigned value cannot be negative","NUMERIC_FAULT",{fault:"overflow",operation:"getUint",value:t}),r}var x5="0123456789abcdef";function Ao(t){if(t instanceof Uint8Array){let e="0x0";for(let r of t)e+=x5[r>>4],e+=x5[r&15];return BigInt(e)}return Ce(t)}function Je(t,e){switch(typeof t){case"bigint":return I(t>=-bl&&t<=bl,"overflow",e||"value",t),Number(t);case"number":return I(Number.isInteger(t),"underflow",e||"value",t),I(t>=-bl&&t<=bl,"overflow",e||"value",t),t;case"string":try{if(t==="")throw new Error("empty string");return Je(BigInt(t),e)}catch(r){I(!1,`invalid numeric string: ${r.message}`,e||"value",t)}}I(!1,"invalid numeric value",e||"value",t)}function E1(t){return Je(Ao(t))}function jr(t,e){let r=Tl(t,"value"),n=r.toString(16);if(e==null)n.length%2&&(n="0"+n);else{let s=Je(e,"width");if(s===0&&r===hh)return"0x";for(z(s*2>=n.length,`value exceeds width (${s} bytes)`,"NUMERIC_FAULT",{operation:"toBeHex",fault:"overflow",value:t});n.length<s*2;)n="0"+n}return"0x"+n}function St(t,e){let r=Tl(t,"value");if(r===hh){let i=e!=null?Je(e,"width"):0;return new Uint8Array(i)}let n=r.toString(16);if(n.length%2&&(n="0"+n),e!=null){let i=Je(e,"width");for(;n.length<i*2;)n="00"+n;z(i*2===n.length,`value exceeds width (${i} bytes)`,"NUMERIC_FAULT",{operation:"toBeArray",fault:"overflow",value:t})}let s=new Uint8Array(n.length/2);for(let i=0;i<s.length;i++){let o=i*2;s[i]=parseInt(n.substring(o,o+2),16)}return s}function tn(t){let e=J(Ii(t)?t:St(t)).substring(2);for(;e.startsWith("0");)e=e.substring(1);return e===""&&(e="0"),"0x"+e}var y1="123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz",x1=null;function X9(t){if(x1==null){x1={};for(let r=0;r<y1.length;r++)x1[y1[r]]=BigInt(r)}let e=x1[t];return I(e!=null,"invalid base58 value","letter",t),e}var $9=BigInt(0),ab=BigInt(58);function Cl(t){let e=ae(t),r=Ao(e),n="";for(;r;)n=y1[Number(r%ab)]+n,r/=ab;for(let s=0;s<e.length&&!e[s];s++)n=y1[0]+n;return n}function b1(t){let e=$9;for(let r=0;r<t.length;r++)e*=ab,e+=X9(t[r]);return e}function Bl(t){t=atob(t);let e=new Uint8Array(t.length);for(let r=0;r<t.length;r++)e[r]=t.charCodeAt(r);return ae(e)}function Or(t){let e=ae(t),r="";for(let n=0;n<e.length;n++)r+=String.fromCharCode(e[n]);return btoa(r)}var Ca=class{filter;emitter;#e;constructor(e,r,n){this.#e=r,Be(this,{emitter:e,filter:n})}async removeListener(){this.#e!=null&&await this.emitter.off(this.filter,this.#e)}};function ek(t,e,r,n,s){I(!1,`invalid codepoint at offset ${e}; ${t}`,"bytes",r)}function y5(t,e,r,n,s){if(t==="BAD_PREFIX"||t==="UNEXPECTED_CONTINUE"){let i=0;for(let o=e+1;o<r.length&&r[o]>>6===2;o++)i++;return i}return t==="OVERRUN"?r.length-e-1:0}function tk(t,e,r,n,s){return t==="OVERLONG"?(I(typeof s=="number","invalid bad code point for replacement","badCodepoint",s),n.push(s),0):(n.push(65533),y5(t,e,r,n,s))}var cb=Object.freeze({error:ek,ignore:y5,replace:tk});function rk(t,e){e==null&&(e=cb.error);let r=ae(t,"bytes"),n=[],s=0;for(;s<r.length;){let i=r[s++];if(i>>7===0){n.push(i);continue}let o=null,a=null;if((i&224)===192)o=1,a=127;else if((i&240)===224)o=2,a=2047;else if((i&248)===240)o=3,a=65535;else{(i&192)===128?s+=e("UNEXPECTED_CONTINUE",s-1,r,n):s+=e("BAD_PREFIX",s-1,r,n);continue}if(s-1+o>=r.length){s+=e("OVERRUN",s-1,r,n);continue}let u=i&(1<<8-o-1)-1;for(let l=0;l<o;l++){let f=r[s];if((f&192)!=128){s+=e("MISSING_CONTINUE",s,r,n),u=null;break}u=u<<6|f&63,s++}if(u!==null){if(u>1114111){s+=e("OUT_OF_RANGE",s-1-o,r,n,u);continue}if(u>=55296&&u<=57343){s+=e("UTF16_SURROGATE",s-1-o,r,n,u);continue}if(u<=a){s+=e("OVERLONG",s-1-o,r,n,u);continue}n.push(u)}}return n}function kt(t,e){I(typeof t=="string","invalid string value","str",t),e!=null&&(yl(e),t=t.normalize(e));let r=[];for(let n=0;n<t.length;n++){let s=t.charCodeAt(n);if(s<128)r.push(s);else if(s<2048)r.push(s>>6|192),r.push(s&63|128);else if((s&64512)==55296){n++;let i=t.charCodeAt(n);I(n<t.length&&(i&64512)===56320,"invalid surrogate pair","str",t);let o=65536+((s&1023)<<10)+(i&1023);r.push(o>>18|240),r.push(o>>12&63|128),r.push(o>>6&63|128),r.push(o&63|128)}else r.push(s>>12|224),r.push(s>>6&63|128),r.push(s&63|128)}return new Uint8Array(r)}function nk(t){return t.map(e=>e<=65535?String.fromCharCode(e):(e-=65536,String.fromCharCode((e>>10&1023)+55296,(e&1023)+56320))).join("")}function mo(t,e){return nk(rk(t,e))}function w1(t){async function e(r,n){z(n==null||!n.cancelled,"request cancelled before sending","CANCELLED");let s=r.url.split(":")[0].toLowerCase();z(s==="http"||s==="https",`unsupported protocol ${s}`,"UNSUPPORTED_OPERATION",{info:{protocol:s},operation:"request"}),z(s==="https"||!r.credentials||r.allowInsecureAuthentication,"insecure authorized connections unsupported","UNSUPPORTED_OPERATION",{operation:"request"});let i=null,o=new AbortController,a=setTimeout(()=>{i=Nt("request timeout","TIMEOUT"),o.abort()},r.timeout);n&&n.addListener(()=>{i=Nt("request cancelled","CANCELLED"),o.abort()});let u=Object.assign({},t,{method:r.method,headers:new Headers(Array.from(r)),body:r.body||void 0,signal:o.signal}),l;try{l=await fetch(r.url,u)}catch(m){throw clearTimeout(a),i||m}clearTimeout(a);let f={};l.headers.forEach((m,y)=>{f[y.toLowerCase()]=m});let d=await l.arrayBuffer(),p=d==null?null:new Uint8Array(d);return{statusCode:l.status,statusMessage:l.statusText,headers:f,body:p}}return e}var Ece=w1({});var sk=12,ik=250,b5=w1(),ok=new RegExp("^data:([^;:]*)?(;base64)?,(.*)$","i"),ak=new RegExp("^ipfs://(ipfs/)?(.*)$","i"),ub=!1;async function T5(t,e){try{let r=t.match(ok);if(!r)throw new Error("invalid data");return new Di(200,"OK",{"content-type":r[1]||"text/plain"},r[2]?Bl(r[3]):ck(r[3]))}catch{return new Di(599,"BAD REQUEST (invalid data: URI)",{},null,new Hn(t))}}function C5(t){async function e(r,n){try{let s=r.match(ak);if(!s)throw new Error("invalid link");return new Hn(`${t}${s[2]}`)}catch{return new Di(599,"BAD REQUEST (invalid IPFS URI)",{},null,new Hn(r))}}return e}var T1={data:T5,ipfs:C5("https://gateway.ipfs.io/ipfs/")},B5=new WeakMap,ph=class{#e;#t;constructor(e){this.#e=[],this.#t=!1,B5.set(e,()=>{if(!this.#t){this.#t=!0;for(let r of this.#e)setTimeout(()=>{r()},0);this.#e=[]}})}addListener(e){z(!this.#t,"singal already cancelled","UNSUPPORTED_OPERATION",{operation:"fetchCancelSignal.addCancelListener"}),this.#e.push(e)}get cancelled(){return this.#t}checkSignal(){z(!this.cancelled,"cancelled","CANCELLED",{})}};function C1(t){if(t==null)throw new Error("missing signal; should not happen");return t.checkSignal(),t}var Hn=class t{#e;#t;#r;#n;#s;#o;#i;#a;#c;#d;#l;#A;#f;#h;#p;get url(){return this.#o}set url(e){this.#o=String(e)}get body(){return this.#i==null?null:new Uint8Array(this.#i)}set body(e){if(e==null)this.#i=void 0,this.#a=void 0;else if(typeof e=="string")this.#i=kt(e),this.#a="text/plain";else if(e instanceof Uint8Array)this.#i=e,this.#a="application/octet-stream";else if(typeof e=="object")this.#i=kt(JSON.stringify(e)),this.#a="application/json";else throw new Error("invalid body")}hasBody(){return this.#i!=null}get method(){return this.#n?this.#n:this.hasBody()?"POST":"GET"}set method(e){e==null&&(e=""),this.#n=String(e).toUpperCase()}get headers(){let e=Object.assign({},this.#r);return this.#c&&(e.authorization=`Basic ${Or(kt(this.#c))}`),this.allowGzip&&(e["accept-encoding"]="gzip"),e["content-type"]==null&&this.#a&&(e["content-type"]=this.#a),this.body&&(e["content-length"]=String(this.body.length)),e}getHeader(e){return this.headers[e.toLowerCase()]}setHeader(e,r){this.#r[String(e).toLowerCase()]=String(r)}clearHeaders(){this.#r={}}[Symbol.iterator](){let e=this.headers,r=Object.keys(e),n=0;return{next:()=>{if(n<r.length){let s=r[n++];return{value:[s,e[s]],done:!1}}return{value:void 0,done:!0}}}}get credentials(){return this.#c||null}setCredentials(e,r){I(!e.match(/:/),"invalid basic authentication username","username","[REDACTED]"),this.#c=`${e}:${r}`}get allowGzip(){return this.#t}set allowGzip(e){this.#t=!!e}get allowInsecureAuthentication(){return!!this.#e}set allowInsecureAuthentication(e){this.#e=!!e}get timeout(){return this.#s}set timeout(e){I(e>=0,"timeout must be non-zero","timeout",e),this.#s=e}get preflightFunc(){return this.#d||null}set preflightFunc(e){this.#d=e}get processFunc(){return this.#l||null}set processFunc(e){this.#l=e}get retryFunc(){return this.#A||null}set retryFunc(e){this.#A=e}get getUrlFunc(){return this.#p||b5}set getUrlFunc(e){this.#p=e}constructor(e){this.#o=String(e),this.#e=!1,this.#t=!0,this.#r={},this.#n="",this.#s=3e5,this.#h={slotInterval:ik,maxAttempts:sk},this.#p=null}toString(){return`<FetchRequest method=${JSON.stringify(this.method)} url=${JSON.stringify(this.url)} headers=${JSON.stringify(this.headers)} body=${this.#i?J(this.#i):"null"}>`}setThrottleParams(e){e.slotInterval!=null&&(this.#h.slotInterval=e.slotInterval),e.maxAttempts!=null&&(this.#h.maxAttempts=e.maxAttempts)}async#u(e,r,n,s,i){if(e>=this.#h.maxAttempts)return i.makeServerError("exceeded maximum retry limit");z(w5()<=r,"timeout","TIMEOUT",{operation:"request.send",reason:"timeout",request:s}),n>0&&await uk(n);let o=this.clone(),a=(o.url.split(":")[0]||"").toLowerCase();if(a in T1){let f=await T1[a](o.url,C1(s.#f));if(f instanceof Di){let d=f;if(this.processFunc){C1(s.#f);try{d=await this.processFunc(o,d)}catch(p){(p.throttle==null||typeof p.stall!="number")&&d.makeServerError("error in post-processing function",p).assertOk()}}return d}o=f}this.preflightFunc&&(o=await this.preflightFunc(o));let u=await this.getUrlFunc(o,C1(s.#f)),l=new Di(u.statusCode,u.statusMessage,u.headers,u.body,s);if([301,302,307,308].indexOf(l.statusCode)>=0){try{let f=l.headers.location||"";return o.redirect(f).#u(e+1,r,0,s,l)}catch{}return l}else if(l.statusCode===429&&(this.retryFunc==null||await this.retryFunc(o,l,e))){let f=l.headers["retry-after"],d=this.#h.slotInterval*Math.trunc(Math.random()*Math.pow(2,e));return typeof f=="string"&&f.match(/^[1-9][0-9]*$/)&&(d=parseInt(f)),o.clone().#u(e+1,r,d,s,l)}if(this.processFunc){C1(s.#f);try{l=await this.processFunc(o,l)}catch(f){(f.throttle==null||typeof f.stall!="number")&&l.makeServerError("error in post-processing function",f).assertOk();let d=this.#h.slotInterval*Math.trunc(Math.random()*Math.pow(2,e));return f.stall>=0&&(d=f.stall),o.clone().#u(e+1,r,d,s,l)}}return l}send(){return z(this.#f==null,"request already sent","UNSUPPORTED_OPERATION",{operation:"fetchRequest.send"}),this.#f=new ph(this),this.#u(0,w5()+this.timeout,0,this,new Di(0,"",{},null,this))}cancel(){z(this.#f!=null,"request has not been sent","UNSUPPORTED_OPERATION",{operation:"fetchRequest.cancel"});let e=B5.get(this);if(!e)throw new Error("missing signal; should not happen");e()}redirect(e){let r=this.url.split(":")[0].toLowerCase(),n=e.split(":")[0].toLowerCase();z((r!=="https"||n!=="http")&&e.match(/^https?:/),"unsupported redirect","UNSUPPORTED_OPERATION",{operation:`redirect(${this.method} ${JSON.stringify(this.url)} => ${JSON.stringify(e)})`});let s=new t(e);return s.method=this.method,s.allowGzip=this.allowGzip,s.timeout=this.timeout,s.#r=Object.assign({},this.#r),this.#i&&(s.#i=new Uint8Array(this.#i)),s.#a=this.#a,s}clone(){let e=new t(this.url);return e.#n=this.#n,this.#i&&(e.#i=this.#i),e.#a=this.#a,e.#r=Object.assign({},this.#r),e.#c=this.#c,this.allowGzip&&(e.allowGzip=!0),e.timeout=this.timeout,this.allowInsecureAuthentication&&(e.allowInsecureAuthentication=!0),e.#d=this.#d,e.#l=this.#l,e.#A=this.#A,e.#h=Object.assign({},this.#h),e.#p=this.#p,e}static lockConfig(){ub=!0}static getGateway(e){return T1[e.toLowerCase()]||null}static registerGateway(e,r){if(e=e.toLowerCase(),e==="http"||e==="https")throw new Error(`cannot intercept ${e}; use registerGetUrl`);if(ub)throw new Error("gateways locked");T1[e]=r}static registerGetUrl(e){if(ub)throw new Error("gateways locked");b5=e}static createGetUrlFunc(e){return w1(e)}static createDataGateway(){return T5}static createIpfsGatewayFunc(e){return C5(e)}},Di=class t{#e;#t;#r;#n;#s;#o;toString(){return`<FetchResponse status=${this.statusCode} body=${this.#n?J(this.#n):"null"}>`}get statusCode(){return this.#e}get statusMessage(){return this.#t}get headers(){return Object.assign({},this.#r)}get body(){return this.#n==null?null:new Uint8Array(this.#n)}get bodyText(){try{return this.#n==null?"":mo(this.#n)}catch{z(!1,"response body is not valid UTF-8 data","UNSUPPORTED_OPERATION",{operation:"bodyText",info:{response:this}})}}get bodyJson(){try{return JSON.parse(this.bodyText)}catch{z(!1,"response body is not valid JSON","UNSUPPORTED_OPERATION",{operation:"bodyJson",info:{response:this}})}}[Symbol.iterator](){let e=this.headers,r=Object.keys(e),n=0;return{next:()=>{if(n<r.length){let s=r[n++];return{value:[s,e[s]],done:!1}}return{value:void 0,done:!0}}}}constructor(e,r,n,s,i){this.#e=e,this.#t=r,this.#r=Object.keys(n).reduce((o,a)=>(o[a.toLowerCase()]=String(n[a]),o),{}),this.#n=s==null?null:new Uint8Array(s),this.#s=i||null,this.#o={message:""}}makeServerError(e,r){let n;e?n=`CLIENT ESCALATED SERVER ERROR (${this.statusCode} ${this.statusMessage}; ${e})`:(e=`${this.statusCode} ${this.statusMessage}`,n=`CLIENT ESCALATED SERVER ERROR (${e})`);let s=new t(599,n,this.headers,this.body,this.#s||void 0);return s.#o={message:e,error:r},s}throwThrottleError(e,r){r==null?r=-1:I(Number.isInteger(r)&&r>=0,"invalid stall timeout","stall",r);let n=new Error(e||"throttling requests");throw Be(n,{stall:r,throttle:!0}),n}getHeader(e){return this.headers[e.toLowerCase()]}hasBody(){return this.#n!=null}get request(){return this.#s}ok(){return this.#o.message===""&&this.statusCode>=200&&this.statusCode<300}assertOk(){if(this.ok())return;let{message:e,error:r}=this.#o;e===""&&(e=`server response ${this.statusCode} ${this.statusMessage}`);let n=null;this.request&&(n=this.request.url);let s=null;try{this.#n&&(s=mo(this.#n))}catch{}z(!1,e,"SERVER_ERROR",{request:this.request||"unknown request",response:this,error:r,info:{requestUrl:n,responseBody:s,responseStatus:`${this.statusCode} ${this.statusMessage}`}})}};function w5(){return new Date().getTime()}function ck(t){return kt(t.replace(/%([0-9a-f][0-9a-f])/gi,(e,r)=>String.fromCharCode(parseInt(r,16))))}function uk(t){return new Promise(e=>setTimeout(e,t))}function lk(t){let e=t.toString(16);for(;e.length<2;)e="0"+e;return"0x"+e}function I5(t,e,r){let n=0;for(let s=0;s<r;s++)n=n*256+t[e+s];return n}function D5(t,e,r,n){let s=[];for(;r<e+1+n;){let i=N5(t,r);s.push(i.result),r+=i.consumed,z(r<=e+1+n,"child data too short","BUFFER_OVERRUN",{buffer:t,length:n,offset:e})}return{consumed:1+n,result:s}}function N5(t,e){z(t.length!==0,"data too short","BUFFER_OVERRUN",{buffer:t,length:0,offset:1});let r=n=>{z(n<=t.length,"data short segment too short","BUFFER_OVERRUN",{buffer:t,length:t.length,offset:n})};if(t[e]>=248){let n=t[e]-247;r(e+1+n);let s=I5(t,e+1,n);return r(e+1+n+s),D5(t,e,e+1+n,n+s)}else if(t[e]>=192){let n=t[e]-192;return r(e+1+n),D5(t,e,e+1,n)}else if(t[e]>=184){let n=t[e]-183;r(e+1+n);let s=I5(t,e+1,n);r(e+1+n+s);let i=J(t.slice(e+1+n,e+1+n+s));return{consumed:1+n+s,result:i}}else if(t[e]>=128){let n=t[e]-128;r(e+1+n);let s=J(t.slice(e+1,e+1+n));return{consumed:1+n,result:s}}return{consumed:1,result:lk(t[e])}}function Ba(t){let e=ae(t,"data"),r=N5(e,0);return I(r.consumed===e.length,"unexpected junk after rlp payload","data",t),r.result}function R5(t){let e=[];for(;t;)e.unshift(t&255),t>>=8;return e}function M5(t){if(Array.isArray(t)){let n=[];if(t.forEach(function(i){n=n.concat(M5(i))}),n.length<=55)return n.unshift(192+n.length),n;let s=R5(n.length);return s.unshift(247+s.length),s.concat(n)}let e=Array.prototype.slice.call(ae(t,"object"));if(e.length===1&&e[0]<=127)return e;if(e.length<=55)return e.unshift(128+e.length),e;let r=R5(e.length);return r.unshift(183+r.length),r.concat(e)}var S5="0123456789abcdef";function yn(t){let e="0x";for(let r of M5(t))e+=S5[r>>4],e+=S5[r&15];return e}function B1(t){let e=ae(t,"randomBytes");e[6]=e[6]&15|64,e[8]=e[8]&63|128;let r=J(e);return[r.substring(2,10),r.substring(10,14),r.substring(14,18),r.substring(18,22),r.substring(22,34)].join("-")}var Wr=32,lb=new Uint8Array(Wr),hk=["then"],I1={},O5=new WeakMap;function uu(t){return O5.get(t)}function v5(t,e){O5.set(t,e)}function Ah(t,e){let r=new Error(`deferred error during ABI decoding triggered accessing ${t}`);throw r.error=e,r}function fb(t,e,r){return t.indexOf(null)>=0?e.map((n,s)=>n instanceof Ni?fb(uu(n),n,r):n):t.reduce((n,s,i)=>{let o=e.getValue(s);return s in n||(r&&o instanceof Ni&&(o=fb(uu(o),o,r)),n[s]=o),n},{})}var Ni=class t extends Array{#e;constructor(...e){let r=e[0],n=e[1],s=(e[2]||[]).slice(),i=!0;r!==I1&&(n=e,s=[],i=!1),super(n.length),n.forEach((u,l)=>{this[l]=u});let o=s.reduce((u,l)=>(typeof l=="string"&&u.set(l,(u.get(l)||0)+1),u),new Map);if(v5(this,Object.freeze(n.map((u,l)=>{let f=s[l];return f!=null&&o.get(f)===1?f:null}))),this.#e=[],this.#e==null&&this.#e,!i)return;Object.freeze(this);let a=new Proxy(this,{get:(u,l,f)=>{if(typeof l=="string"){if(l.match(/^[0-9]+$/)){let p=Je(l,"%index");if(p<0||p>=this.length)throw new RangeError("out of result range");let m=u[p];return m instanceof Error&&Ah(`index ${p}`,m),m}if(hk.indexOf(l)>=0)return Reflect.get(u,l,f);let d=u[l];if(d instanceof Function)return function(...p){return d.apply(this===f?u:this,p)};if(!(l in u))return u.getValue.apply(this===f?u:this,[l])}return Reflect.get(u,l,f)}});return v5(a,uu(this)),a}toArray(e){let r=[];return this.forEach((n,s)=>{n instanceof Error&&Ah(`index ${s}`,n),e&&n instanceof t&&(n=n.toArray(e)),r.push(n)}),r}toObject(e){let r=uu(this);return r.reduce((n,s,i)=>(z(s!=null,`value at index ${i} unnamed`,"UNSUPPORTED_OPERATION",{operation:"toObject()"}),fb(r,this,e)),{})}slice(e,r){e==null&&(e=0),e<0&&(e+=this.length,e<0&&(e=0)),r==null&&(r=this.length),r<0&&(r+=this.length,r<0&&(r=0)),r>this.length&&(r=this.length);let n=uu(this),s=[],i=[];for(let o=e;o<r;o++)s.push(this[o]),i.push(n[o]);return new t(I1,s,i)}filter(e,r){let n=uu(this),s=[],i=[];for(let o=0;o<this.length;o++){let a=this[o];a instanceof Error&&Ah(`index ${o}`,a),e.call(r,a,o,this)&&(s.push(a),i.push(n[o]))}return new t(I1,s,i)}map(e,r){let n=[];for(let s=0;s<this.length;s++){let i=this[s];i instanceof Error&&Ah(`index ${s}`,i),n.push(e.call(r,i,s,this))}return n}getValue(e){let r=uu(this).indexOf(e);if(r===-1)return;let n=this[r];return n instanceof Error&&Ah(`property ${JSON.stringify(e)}`,n.error),n}static fromItems(e,r){return new t(I1,e,r)}};function k5(t){let e=St(t);return z(e.length<=Wr,"value out-of-bounds","BUFFER_OVERRUN",{buffer:e,length:Wr,offset:e.length}),e.length!==Wr&&(e=qt(et([lb.slice(e.length%Wr),e]))),e}var Tr=class{name;type;localName;dynamic;constructor(e,r,n,s){Be(this,{name:e,type:r,localName:n,dynamic:s},{name:"string",type:"string",localName:"string",dynamic:"boolean"})}_throwError(e,r){I(!1,e,this.localName,r)}},lu=class{#e;#t;constructor(){this.#e=[],this.#t=0}get data(){return et(this.#e)}get length(){return this.#t}#r(e){return this.#e.push(e),this.#t+=e.length,e.length}appendWriter(e){return this.#r(qt(e.data))}writeBytes(e){let r=qt(e),n=r.length%Wr;return n&&(r=qt(et([r,lb.slice(n)]))),this.#r(r)}writeValue(e){return this.#r(k5(e))}writeUpdatableValue(){let e=this.#e.length;return this.#e.push(lb),this.#t+=Wr,r=>{this.#e[e]=k5(r)}}},D1=class t{allowLoose;#e;#t;#r;#n;#s;constructor(e,r,n){Be(this,{allowLoose:!!r}),this.#e=qt(e),this.#r=0,this.#n=null,this.#s=n??1024,this.#t=0}get data(){return J(this.#e)}get dataLength(){return this.#e.length}get consumed(){return this.#t}get bytes(){return new Uint8Array(this.#e)}#o(e){if(this.#n)return this.#n.#o(e);this.#r+=e,z(this.#s<1||this.#r<=this.#s*this.dataLength,`compressed ABI data exceeds inflation ratio of ${this.#s} ( see: https://github.com/ethers-io/ethers.js/issues/4537 )`,"BUFFER_OVERRUN",{buffer:qt(this.#e),offset:this.#t,length:e,info:{bytesRead:this.#r,dataLength:this.dataLength}})}#i(e,r,n){let s=Math.ceil(r/Wr)*Wr;return this.#t+s>this.#e.length&&(this.allowLoose&&n&&this.#t+r<=this.#e.length?s=r:z(!1,"data out-of-bounds","BUFFER_OVERRUN",{buffer:qt(this.#e),length:this.#e.length,offset:this.#t+s})),this.#e.slice(this.#t,this.#t+s)}subReader(e){let r=new t(this.#e.slice(this.#t+e),this.allowLoose,this.#s);return r.#n=this,r}readBytes(e,r){let n=this.#i(0,e,!!r);return this.#o(e),this.#t+=n.length,n.slice(0,e)}readValue(){return Ao(this.readBytes(Wr))}readIndex(){return E1(this.readBytes(Wr))}};function rn(t){if(!Number.isSafeInteger(t)||t<0)throw new Error(`Wrong positive integer: ${t}`)}function mh(t,...e){if(!(t instanceof Uint8Array))throw new Error("Expected Uint8Array");if(e.length>0&&!e.includes(t.length))throw new Error(`Expected Uint8Array of length ${e}, not of length=${t.length}`)}function N1(t){if(typeof t!="function"||typeof t.create!="function")throw new Error("Hash should be wrapped by utils.wrapConstructor");rn(t.outputLen),rn(t.blockLen)}function go(t,e=!0){if(t.destroyed)throw new Error("Hash instance has been destroyed");if(e&&t.finished)throw new Error("Hash#digest() has already been called")}function R1(t,e){mh(t);let r=e.outputLen;if(t.length<r)throw new Error(`digestInto() expects output buffer of length at least ${r}`)}var S1=typeof globalThis=="object"&&"crypto"in globalThis?globalThis.crypto:void 0;var P5=t=>t instanceof Uint8Array;var Il=t=>new Uint32Array(t.buffer,t.byteOffset,Math.floor(t.byteLength/4)),Dl=t=>new DataView(t.buffer,t.byteOffset,t.byteLength),zs=(t,e)=>t<<32-e|t>>>e,pk=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;if(!pk)throw new Error("Non little-endian hardware is not supported");var Ak=async()=>{};async function M1(t,e,r){let n=Date.now();for(let s=0;s<t;s++){r(s);let i=Date.now()-n;i>=0&&i<e||(await Ak(),n+=i)}}function mk(t){if(typeof t!="string")throw new Error(`utf8ToBytes expected string, got ${typeof t}`);return new Uint8Array(new TextEncoder().encode(t))}function Js(t){if(typeof t=="string"&&(t=mk(t)),!P5(t))throw new Error(`expected Uint8Array, got ${typeof t}`);return t}function U5(...t){let e=new Uint8Array(t.reduce((n,s)=>n+s.length,0)),r=0;return t.forEach(n=>{if(!P5(n))throw new Error("Uint8Array expected");e.set(n,r),r+=n.length}),e}var Ia=class{clone(){return this._cloneInto()}},gk={}.toString;function v1(t,e){if(e!==void 0&&gk.call(e)!=="[object Object]")throw new Error("Options should be object or undefined");return Object.assign(t,e)}function Da(t){let e=n=>t().update(Js(n)).digest(),r=t();return e.outputLen=r.outputLen,e.blockLen=r.blockLen,e.create=()=>t(),e}function F5(t){let e=(n,s)=>t(s).update(Js(n)).digest(),r=t({});return e.outputLen=r.outputLen,e.blockLen=r.blockLen,e.create=n=>t(n),e}function Q5(t=32){if(S1&&typeof S1.getRandomValues=="function")return S1.getRandomValues(new Uint8Array(t));throw new Error("crypto.getRandomValues must be defined")}var k1=class extends Ia{constructor(e,r){super(),this.finished=!1,this.destroyed=!1,N1(e);let n=Js(r);if(this.iHash=e.create(),typeof this.iHash.update!="function")throw new Error("Expected instance of class which extends utils.Hash");this.blockLen=this.iHash.blockLen,this.outputLen=this.iHash.outputLen;let s=this.blockLen,i=new Uint8Array(s);i.set(n.length>s?e.create().update(n).digest():n);for(let o=0;o<i.length;o++)i[o]^=54;this.iHash.update(i),this.oHash=e.create();for(let o=0;o<i.length;o++)i[o]^=106;this.oHash.update(i),i.fill(0)}update(e){return go(this),this.iHash.update(e),this}digestInto(e){go(this),mh(e,this.outputLen),this.finished=!0,this.iHash.digestInto(e),this.oHash.update(e),this.oHash.digestInto(e),this.destroy()}digest(){let e=new Uint8Array(this.oHash.outputLen);return this.digestInto(e),e}_cloneInto(e){e||(e=Object.create(Object.getPrototypeOf(this),{}));let{oHash:r,iHash:n,finished:s,destroyed:i,blockLen:o,outputLen:a}=this;return e=e,e.finished=s,e.destroyed=i,e.blockLen=o,e.outputLen=a,e.oHash=r._cloneInto(e.oHash),e.iHash=n._cloneInto(e.iHash),e}destroy(){this.destroyed=!0,this.oHash.destroy(),this.iHash.destroy()}},fu=(t,e,r)=>new k1(t,e).update(r).digest();fu.create=(t,e)=>new k1(t,e);function Ek(t,e,r,n){N1(t);let s=v1({dkLen:32,asyncTick:10},n),{c:i,dkLen:o,asyncTick:a}=s;if(rn(i),rn(o),rn(a),i<1)throw new Error("PBKDF2: iterations (c) should be >= 1");let u=Js(e),l=Js(r),f=new Uint8Array(o),d=fu.create(t,u),p=d._cloneInto().update(l);return{c:i,dkLen:o,asyncTick:a,DK:f,PRF:d,PRFSalt:p}}function xk(t,e,r,n,s){return t.destroy(),e.destroy(),n&&n.destroy(),s.fill(0),r}function gh(t,e,r,n){let{c:s,dkLen:i,DK:o,PRF:a,PRFSalt:u}=Ek(t,e,r,n),l,f=new Uint8Array(4),d=Dl(f),p=new Uint8Array(a.outputLen);for(let m=1,y=0;y<i;m++,y+=a.outputLen){let x=o.subarray(y,y+a.outputLen);d.setInt32(0,m,!1),(l=u._cloneInto(l)).update(f).digestInto(p),x.set(p.subarray(0,x.length));for(let b=1;b<s;b++){a._cloneInto(l).update(p).digestInto(p);for(let w=0;w<x.length;w++)x[w]^=p[w]}}return xk(a,u,o,l,p)}function yk(t,e,r,n){if(typeof t.setBigUint64=="function")return t.setBigUint64(e,r,n);let s=BigInt(32),i=BigInt(4294967295),o=Number(r>>s&i),a=Number(r&i),u=n?4:0,l=n?0:4;t.setUint32(e+u,o,n),t.setUint32(e+l,a,n)}var Na=class extends Ia{constructor(e,r,n,s){super(),this.blockLen=e,this.outputLen=r,this.padOffset=n,this.isLE=s,this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.buffer=new Uint8Array(e),this.view=Dl(this.buffer)}update(e){go(this);let{view:r,buffer:n,blockLen:s}=this;e=Js(e);let i=e.length;for(let o=0;o<i;){let a=Math.min(s-this.pos,i-o);if(a===s){let u=Dl(e);for(;s<=i-o;o+=s)this.process(u,o);continue}n.set(e.subarray(o,o+a),this.pos),this.pos+=a,o+=a,this.pos===s&&(this.process(r,0),this.pos=0)}return this.length+=e.length,this.roundClean(),this}digestInto(e){go(this),R1(e,this),this.finished=!0;let{buffer:r,view:n,blockLen:s,isLE:i}=this,{pos:o}=this;r[o++]=128,this.buffer.subarray(o).fill(0),this.padOffset>s-o&&(this.process(n,0),o=0);for(let d=o;d<s;d++)r[d]=0;yk(n,s-8,BigInt(this.length*8),i),this.process(n,0);let a=Dl(e),u=this.outputLen;if(u%4)throw new Error("_sha2: outputLen should be aligned to 32bit");let l=u/4,f=this.get();if(l>f.length)throw new Error("_sha2: outputLen bigger than state");for(let d=0;d<l;d++)a.setUint32(4*d,f[d],i)}digest(){let{buffer:e,outputLen:r}=this;this.digestInto(e);let n=e.slice(0,r);return this.destroy(),n}_cloneInto(e){e||(e=new this.constructor),e.set(...this.get());let{blockLen:r,buffer:n,length:s,finished:i,destroyed:o,pos:a}=this;return e.length=s,e.pos=a,e.finished=i,e.destroyed=o,s%r&&e.buffer.set(n),e}};var bk=(t,e,r)=>t&e^~t&r,wk=(t,e,r)=>t&e^t&r^e&r,Tk=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]),Ra=new Uint32Array([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),Sa=new Uint32Array(64),db=class extends Na{constructor(){super(64,32,8,!1),this.A=Ra[0]|0,this.B=Ra[1]|0,this.C=Ra[2]|0,this.D=Ra[3]|0,this.E=Ra[4]|0,this.F=Ra[5]|0,this.G=Ra[6]|0,this.H=Ra[7]|0}get(){let{A:e,B:r,C:n,D:s,E:i,F:o,G:a,H:u}=this;return[e,r,n,s,i,o,a,u]}set(e,r,n,s,i,o,a,u){this.A=e|0,this.B=r|0,this.C=n|0,this.D=s|0,this.E=i|0,this.F=o|0,this.G=a|0,this.H=u|0}process(e,r){for(let d=0;d<16;d++,r+=4)Sa[d]=e.getUint32(r,!1);for(let d=16;d<64;d++){let p=Sa[d-15],m=Sa[d-2],y=zs(p,7)^zs(p,18)^p>>>3,x=zs(m,17)^zs(m,19)^m>>>10;Sa[d]=x+Sa[d-7]+y+Sa[d-16]|0}let{A:n,B:s,C:i,D:o,E:a,F:u,G:l,H:f}=this;for(let d=0;d<64;d++){let p=zs(a,6)^zs(a,11)^zs(a,25),m=f+p+bk(a,u,l)+Tk[d]+Sa[d]|0,x=(zs(n,2)^zs(n,13)^zs(n,22))+wk(n,s,i)|0;f=l,l=u,u=a,a=o+m|0,o=i,i=s,s=n,n=m+x|0}n=n+this.A|0,s=s+this.B|0,i=i+this.C|0,o=o+this.D|0,a=a+this.E|0,u=u+this.F|0,l=l+this.G|0,f=f+this.H|0,this.set(n,s,i,o,a,u,l,f)}roundClean(){Sa.fill(0)}destroy(){this.set(0,0,0,0,0,0,0,0),this.buffer.fill(0)}};var Eo=Da(()=>new db);var O1=BigInt(4294967295),hb=BigInt(32);function L5(t,e=!1){return e?{h:Number(t&O1),l:Number(t>>hb&O1)}:{h:Number(t>>hb&O1)|0,l:Number(t&O1)|0}}function pb(t,e=!1){let r=new Uint32Array(t.length),n=new Uint32Array(t.length);for(let s=0;s<t.length;s++){let{h:i,l:o}=L5(t[s],e);[r[s],n[s]]=[i,o]}return[r,n]}var Ck=(t,e)=>BigInt(t>>>0)<<hb|BigInt(e>>>0),Bk=(t,e,r)=>t>>>r,Ik=(t,e,r)=>t<<32-r|e>>>r,Dk=(t,e,r)=>t>>>r|e<<32-r,Nk=(t,e,r)=>t<<32-r|e>>>r,Rk=(t,e,r)=>t<<64-r|e>>>r-32,Sk=(t,e,r)=>t>>>r-32|e<<64-r,Mk=(t,e)=>e,vk=(t,e)=>t,Ab=(t,e,r)=>t<<r|e>>>32-r,mb=(t,e,r)=>e<<r|t>>>32-r,gb=(t,e,r)=>e<<r-32|t>>>64-r,Eb=(t,e,r)=>t<<r-32|e>>>64-r;function kk(t,e,r,n){let s=(e>>>0)+(n>>>0);return{h:t+r+(s/2**32|0)|0,l:s|0}}var Ok=(t,e,r)=>(t>>>0)+(e>>>0)+(r>>>0),Pk=(t,e,r,n)=>e+r+n+(t/2**32|0)|0,Uk=(t,e,r,n)=>(t>>>0)+(e>>>0)+(r>>>0)+(n>>>0),Fk=(t,e,r,n,s)=>e+r+n+s+(t/2**32|0)|0,Qk=(t,e,r,n,s)=>(t>>>0)+(e>>>0)+(r>>>0)+(n>>>0)+(s>>>0),Lk=(t,e,r,n,s,i)=>e+r+n+s+i+(t/2**32|0)|0;var Vk={fromBig:L5,split:pb,toBig:Ck,shrSH:Bk,shrSL:Ik,rotrSH:Dk,rotrSL:Nk,rotrBH:Rk,rotrBL:Sk,rotr32H:Mk,rotr32L:vk,rotlSH:Ab,rotlSL:mb,rotlBH:gb,rotlBL:Eb,add:kk,add3L:Ok,add3H:Pk,add4L:Uk,add4H:Fk,add5H:Lk,add5L:Qk},at=Vk;var[Gk,Hk]=at.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(t=>BigInt(t))),Ma=new Uint32Array(80),va=new Uint32Array(80),xb=class extends Na{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:e,Al:r,Bh:n,Bl:s,Ch:i,Cl:o,Dh:a,Dl:u,Eh:l,El:f,Fh:d,Fl:p,Gh:m,Gl:y,Hh:x,Hl:b}=this;return[e,r,n,s,i,o,a,u,l,f,d,p,m,y,x,b]}set(e,r,n,s,i,o,a,u,l,f,d,p,m,y,x,b){this.Ah=e|0,this.Al=r|0,this.Bh=n|0,this.Bl=s|0,this.Ch=i|0,this.Cl=o|0,this.Dh=a|0,this.Dl=u|0,this.Eh=l|0,this.El=f|0,this.Fh=d|0,this.Fl=p|0,this.Gh=m|0,this.Gl=y|0,this.Hh=x|0,this.Hl=b|0}process(e,r){for(let O=0;O<16;O++,r+=4)Ma[O]=e.getUint32(r),va[O]=e.getUint32(r+=4);for(let O=16;O<80;O++){let P=Ma[O-15]|0,B=va[O-15]|0,L=at.rotrSH(P,B,1)^at.rotrSH(P,B,8)^at.shrSH(P,B,7),Y=at.rotrSL(P,B,1)^at.rotrSL(P,B,8)^at.shrSL(P,B,7),V=Ma[O-2]|0,$=va[O-2]|0,ne=at.rotrSH(V,$,19)^at.rotrBH(V,$,61)^at.shrSH(V,$,6),_=at.rotrSL(V,$,19)^at.rotrBL(V,$,61)^at.shrSL(V,$,6),Ee=at.add4L(Y,_,va[O-7],va[O-16]),pe=at.add4H(Ee,L,ne,Ma[O-7],Ma[O-16]);Ma[O]=pe|0,va[O]=Ee|0}let{Ah:n,Al:s,Bh:i,Bl:o,Ch:a,Cl:u,Dh:l,Dl:f,Eh:d,El:p,Fh:m,Fl:y,Gh:x,Gl:b,Hh:w,Hl:v}=this;for(let O=0;O<80;O++){let P=at.rotrSH(d,p,14)^at.rotrSH(d,p,18)^at.rotrBH(d,p,41),B=at.rotrSL(d,p,14)^at.rotrSL(d,p,18)^at.rotrBL(d,p,41),L=d&m^~d&x,Y=p&y^~p&b,V=at.add5L(v,B,Y,Hk[O],va[O]),$=at.add5H(V,w,P,L,Gk[O],Ma[O]),ne=V|0,_=at.rotrSH(n,s,28)^at.rotrBH(n,s,34)^at.rotrBH(n,s,39),Ee=at.rotrSL(n,s,28)^at.rotrBL(n,s,34)^at.rotrBL(n,s,39),pe=n&i^n&a^i&a,ye=s&o^s&u^o&u;w=x|0,v=b|0,x=m|0,b=y|0,m=d|0,y=p|0,{h:d,l:p}=at.add(l|0,f|0,$|0,ne|0),l=a|0,f=u|0,a=i|0,u=o|0,i=n|0,o=s|0;let j=at.add3L(ne,Ee,ye);n=at.add3H(j,$,_,pe),s=j|0}({h:n,l:s}=at.add(this.Ah|0,this.Al|0,n|0,s|0)),{h:i,l:o}=at.add(this.Bh|0,this.Bl|0,i|0,o|0),{h:a,l:u}=at.add(this.Ch|0,this.Cl|0,a|0,u|0),{h:l,l:f}=at.add(this.Dh|0,this.Dl|0,l|0,f|0),{h:d,l:p}=at.add(this.Eh|0,this.El|0,d|0,p|0),{h:m,l:y}=at.add(this.Fh|0,this.Fl|0,m|0,y|0),{h:x,l:b}=at.add(this.Gh|0,this.Gl|0,x|0,b|0),{h:w,l:v}=at.add(this.Hh|0,this.Hl|0,w|0,v|0),this.set(n,s,i,o,a,u,l,f,d,p,m,y,x,b,w,v)}roundClean(){Ma.fill(0),va.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)}};var P1=Da(()=>new xb);function _k(){if(typeof self<"u")return self;if(typeof window<"u")return window;if(typeof global<"u")return global;throw new Error("unable to locate global object")}var V5=_k(),G5=V5.crypto||V5.msCrypto;function yb(t){switch(t){case"sha256":return Eo.create();case"sha512":return P1.create()}I(!1,"invalid hashing algorithm name","algorithm",t)}function H5(t,e){let r={sha256:Eo,sha512:P1}[t];return I(r!=null,"invalid hmac algorithm","algorithm",t),fu.create(r,e)}function _5(t,e,r,n,s){let i={sha256:Eo,sha512:P1}[s];return I(i!=null,"invalid pbkdf2 algorithm","algorithm",s),gh(i,t,e,{c:r,dkLen:n})}function Y5(t){z(G5!=null,"platform does not support secure random numbers","UNSUPPORTED_OPERATION",{operation:"randomBytes"}),I(Number.isInteger(t)&&t>0&&t<=1024,"invalid length","length",t);let e=new Uint8Array(t);return G5.getRandomValues(e),e}var j5=!1,W5=function(t,e,r){return H5(t,e).update(r).digest()},z5=W5;function xo(t,e,r){let n=ae(e,"key"),s=ae(r,"data");return J(z5(t,n,s))}xo._=W5;xo.lock=function(){j5=!0};xo.register=function(t){if(j5)throw new Error("computeHmac is locked");z5=t};Object.freeze(xo);var[q5,Z5,X5]=[[],[],[]],Yk=BigInt(0),Eh=BigInt(1),jk=BigInt(2),Wk=BigInt(7),zk=BigInt(256),Jk=BigInt(113);for(let t=0,e=Eh,r=1,n=0;t<24;t++){[r,n]=[n,(2*r+3*n)%5],q5.push(2*(5*n+r)),Z5.push((t+1)*(t+2)/2%64);let s=Yk;for(let i=0;i<7;i++)e=(e<<Eh^(e>>Wk)*Jk)%zk,e&jk&&(s^=Eh<<(Eh<<BigInt(i))-Eh);X5.push(s)}var[Kk,qk]=pb(X5,!0),J5=(t,e,r)=>r>32?gb(t,e,r):Ab(t,e,r),K5=(t,e,r)=>r>32?Eb(t,e,r):mb(t,e,r);function Zk(t,e=24){let r=new Uint32Array(10);for(let n=24-e;n<24;n++){for(let o=0;o<10;o++)r[o]=t[o]^t[o+10]^t[o+20]^t[o+30]^t[o+40];for(let o=0;o<10;o+=2){let a=(o+8)%10,u=(o+2)%10,l=r[u],f=r[u+1],d=J5(l,f,1)^r[a],p=K5(l,f,1)^r[a+1];for(let m=0;m<50;m+=10)t[o+m]^=d,t[o+m+1]^=p}let s=t[2],i=t[3];for(let o=0;o<24;o++){let a=Z5[o],u=J5(s,i,a),l=K5(s,i,a),f=q5[o];s=t[f],i=t[f+1],t[f]=u,t[f+1]=l}for(let o=0;o<50;o+=10){for(let a=0;a<10;a++)r[a]=t[o+a];for(let a=0;a<10;a++)t[o+a]^=~r[(a+2)%10]&r[(a+4)%10]}t[0]^=Kk[n],t[1]^=qk[n]}r.fill(0)}var U1=class t extends Ia{constructor(e,r,n,s=!1,i=24){if(super(),this.blockLen=e,this.suffix=r,this.outputLen=n,this.enableXOF=s,this.rounds=i,this.pos=0,this.posOut=0,this.finished=!1,this.destroyed=!1,rn(n),0>=this.blockLen||this.blockLen>=200)throw new Error("Sha3 supports only keccak-f1600 function");this.state=new Uint8Array(200),this.state32=Il(this.state)}keccak(){Zk(this.state32,this.rounds),this.posOut=0,this.pos=0}update(e){go(this);let{blockLen:r,state:n}=this;e=Js(e);let s=e.length;for(let i=0;i<s;){let o=Math.min(r-this.pos,s-i);for(let a=0;a<o;a++)n[this.pos++]^=e[i++];this.pos===r&&this.keccak()}return this}finish(){if(this.finished)return;this.finished=!0;let{state:e,suffix:r,pos:n,blockLen:s}=this;e[n]^=r,(r&128)!==0&&n===s-1&&this.keccak(),e[s-1]^=128,this.keccak()}writeInto(e){go(this,!1),mh(e),this.finish();let r=this.state,{blockLen:n}=this;for(let s=0,i=e.length;s<i;){this.posOut>=n&&this.keccak();let o=Math.min(n-this.posOut,i-s);e.set(r.subarray(this.posOut,this.posOut+o),s),this.posOut+=o,s+=o}return e}xofInto(e){if(!this.enableXOF)throw new Error("XOF is not possible for this instance");return this.writeInto(e)}xof(e){return rn(e),this.xofInto(new Uint8Array(e))}digestInto(e){if(R1(e,this),this.finished)throw new Error("digest() was already called");return this.writeInto(e),this.destroy(),e}digest(){return this.digestInto(new Uint8Array(this.outputLen))}destroy(){this.destroyed=!0,this.state.fill(0)}_cloneInto(e){let{blockLen:r,suffix:n,outputLen:s,rounds:i,enableXOF:o}=this;return e||(e=new t(r,n,s,o,i)),e.state32.set(this.state32),e.pos=this.pos,e.posOut=this.posOut,e.finished=this.finished,e.rounds=i,e.suffix=n,e.outputLen=s,e.enableXOF=o,e.destroyed=this.destroyed,e}},ka=(t,e,r)=>Da(()=>new U1(e,t,r)),Sue=ka(6,144,224/8),Mue=ka(6,136,256/8),vue=ka(6,104,384/8),kue=ka(6,72,512/8),Oue=ka(1,144,224/8),$5=ka(1,136,256/8),Pue=ka(1,104,384/8),Uue=ka(1,72,512/8),eD=(t,e,r)=>F5((n={})=>new U1(e,t,n.dkLen===void 0?r:n.dkLen,!0)),Fue=eD(31,168,128/8),Que=eD(31,136,256/8);var tD=!1,rD=function(t){return $5(t)},nD=rD;function ot(t){let e=ae(t,"data");return J(nD(e))}ot._=rD;ot.lock=function(){tD=!0};ot.register=function(t){if(tD)throw new TypeError("keccak256 is locked");nD=t};Object.freeze(ot);var Xk=new Uint8Array([7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8]),iD=Uint8Array.from({length:16},(t,e)=>e),$k=iD.map(t=>(9*t+5)%16),wb=[iD],Tb=[$k];for(let t=0;t<4;t++)for(let e of[wb,Tb])e.push(e[t].map(r=>Xk[r]));var oD=[[11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8],[12,13,11,15,6,9,9,7,12,15,11,13,7,8,7,7],[13,15,14,11,7,7,6,8,13,14,13,12,5,5,6,9],[14,11,12,14,8,6,5,5,15,12,15,14,9,9,8,6],[15,12,13,13,9,5,8,6,14,11,12,11,8,6,5,5]].map(t=>new Uint8Array(t)),eO=wb.map((t,e)=>t.map(r=>oD[e][r])),tO=Tb.map((t,e)=>t.map(r=>oD[e][r])),rO=new Uint32Array([0,1518500249,1859775393,2400959708,2840853838]),nO=new Uint32Array([1352829926,1548603684,1836072691,2053994217,0]),F1=(t,e)=>t<<e|t>>>32-e;function sD(t,e,r,n){return t===0?e^r^n:t===1?e&r|~e&n:t===2?(e|~r)^n:t===3?e&n|r&~n:e^(r|~n)}var Q1=new Uint32Array(16),bb=class extends Na{constructor(){super(64,20,8,!0),this.h0=1732584193,this.h1=-271733879,this.h2=-1732584194,this.h3=271733878,this.h4=-1009589776}get(){let{h0:e,h1:r,h2:n,h3:s,h4:i}=this;return[e,r,n,s,i]}set(e,r,n,s,i){this.h0=e|0,this.h1=r|0,this.h2=n|0,this.h3=s|0,this.h4=i|0}process(e,r){for(let m=0;m<16;m++,r+=4)Q1[m]=e.getUint32(r,!0);let n=this.h0|0,s=n,i=this.h1|0,o=i,a=this.h2|0,u=a,l=this.h3|0,f=l,d=this.h4|0,p=d;for(let m=0;m<5;m++){let y=4-m,x=rO[m],b=nO[m],w=wb[m],v=Tb[m],O=eO[m],P=tO[m];for(let B=0;B<16;B++){let L=F1(n+sD(m,i,a,l)+Q1[w[B]]+x,O[B])+d|0;n=d,d=l,l=F1(a,10)|0,a=i,i=L}for(let B=0;B<16;B++){let L=F1(s+sD(y,o,u,f)+Q1[v[B]]+b,P[B])+p|0;s=p,p=f,f=F1(u,10)|0,u=o,o=L}}this.set(this.h1+a+f|0,this.h2+l+p|0,this.h3+d+s|0,this.h4+n+o|0,this.h0+i+u|0)}roundClean(){Q1.fill(0)}destroy(){this.destroyed=!0,this.buffer.fill(0),this.set(0,0,0,0,0)}},aD=Da(()=>new bb);var cD=!1,uD=function(t){return aD(t)},lD=uD;function yo(t){let e=ae(t,"data");return J(lD(e))}yo._=uD;yo.lock=function(){cD=!0};yo.register=function(t){if(cD)throw new TypeError("ripemd160 is locked");lD=t};Object.freeze(yo);var fD=!1,dD=function(t,e,r,n,s){return _5(t,e,r,n,s)},hD=dD;function Xn(t,e,r,n,s){let i=ae(t,"password"),o=ae(e,"salt");return J(hD(i,o,r,n,s))}Xn._=dD;Xn.lock=function(){fD=!0};Xn.register=function(t){if(fD)throw new Error("pbkdf2 is locked");hD=t};Object.freeze(Xn);var pD=!1,AD=function(t){return new Uint8Array(Y5(t))},mD=AD;function $n(t){return mD(t)}$n._=AD;$n.lock=function(){pD=!0};$n.register=function(t){if(pD)throw new Error("randomBytes is locked");mD=t};Object.freeze($n);var Tt=(t,e)=>t<<e|t>>>32-e;function gD(t,e,r,n,s,i){let o=t[e++]^r[n++],a=t[e++]^r[n++],u=t[e++]^r[n++],l=t[e++]^r[n++],f=t[e++]^r[n++],d=t[e++]^r[n++],p=t[e++]^r[n++],m=t[e++]^r[n++],y=t[e++]^r[n++],x=t[e++]^r[n++],b=t[e++]^r[n++],w=t[e++]^r[n++],v=t[e++]^r[n++],O=t[e++]^r[n++],P=t[e++]^r[n++],B=t[e++]^r[n++],L=o,Y=a,V=u,$=l,ne=f,_=d,Ee=p,pe=m,ye=y,j=x,te=b,ce=w,ue=v,Z=O,ge=P,Ne=B;for(let re=0;re<8;re+=2)ne^=Tt(L+ue|0,7),ye^=Tt(ne+L|0,9),ue^=Tt(ye+ne|0,13),L^=Tt(ue+ye|0,18),j^=Tt(_+Y|0,7),Z^=Tt(j+_|0,9),Y^=Tt(Z+j|0,13),_^=Tt(Y+Z|0,18),ge^=Tt(te+Ee|0,7),V^=Tt(ge+te|0,9),Ee^=Tt(V+ge|0,13),te^=Tt(Ee+V|0,18),$^=Tt(Ne+ce|0,7),pe^=Tt($+Ne|0,9),ce^=Tt(pe+$|0,13),Ne^=Tt(ce+pe|0,18),Y^=Tt(L+$|0,7),V^=Tt(Y+L|0,9),$^=Tt(V+Y|0,13),L^=Tt($+V|0,18),Ee^=Tt(_+ne|0,7),pe^=Tt(Ee+_|0,9),ne^=Tt(pe+Ee|0,13),_^=Tt(ne+pe|0,18),ce^=Tt(te+j|0,7),ye^=Tt(ce+te|0,9),j^=Tt(ye+ce|0,13),te^=Tt(j+ye|0,18),ue^=Tt(Ne+ge|0,7),Z^=Tt(ue+Ne|0,9),ge^=Tt(Z+ue|0,13),Ne^=Tt(ge+Z|0,18);s[i++]=o+L|0,s[i++]=a+Y|0,s[i++]=u+V|0,s[i++]=l+$|0,s[i++]=f+ne|0,s[i++]=d+_|0,s[i++]=p+Ee|0,s[i++]=m+pe|0,s[i++]=y+ye|0,s[i++]=x+j|0,s[i++]=b+te|0,s[i++]=w+ce|0,s[i++]=v+ue|0,s[i++]=O+Z|0,s[i++]=P+ge|0,s[i++]=B+Ne|0}function Nl(t,e,r,n,s){let i=n+0,o=n+16*s;for(let a=0;a<16;a++)r[o+a]=t[e+(2*s-1)*16+a];for(let a=0;a<s;a++,i+=16,e+=16)gD(r,o,t,e,r,i),a>0&&(o+=16),gD(r,i,t,e+=16,r,o)}function ED(t,e,r){let n=v1({dkLen:32,asyncTick:10,maxmem:1073742848},r),{N:s,r:i,p:o,dkLen:a,asyncTick:u,maxmem:l,onProgress:f}=n;if(rn(s),rn(i),rn(o),rn(a),rn(u),rn(l),f!==void 0&&typeof f!="function")throw new Error("progressCb should be function");let d=128*i,p=d/4;if(s<=1||(s&s-1)!==0||s>=2**(d/8)||s>2**32)throw new Error("Scrypt: N must be larger than 1, a power of 2, less than 2^(128 * r / 8) and less than 2^32");if(o<0||o>(2**32-1)*32/d)throw new Error("Scrypt: p must be a positive integer less than or equal to ((2^32 - 1) * 32) / (128 * r)");if(a<0||a>(2**32-1)*32)throw new Error("Scrypt: dkLen should be positive integer less than or equal to (2^32 - 1) * 32");let m=d*(s+o);if(m>l)throw new Error(`Scrypt: parameters too large, ${m} (128 * r * (N + p)) > ${l} (maxmem)`);let y=gh(Eo,t,e,{c:1,dkLen:d*o}),x=Il(y),b=Il(new Uint8Array(d*s)),w=Il(new Uint8Array(d)),v=()=>{};if(f){let O=2*s*o,P=Math.max(Math.floor(O/1e4),1),B=0;v=()=>{B++,f&&(!(B%P)||B===O)&&f(B/O)}}return{N:s,r:i,p:o,dkLen:a,blockSize32:p,V:b,B32:x,B:y,tmp:w,blockMixCb:v,asyncTick:u}}function xD(t,e,r,n,s){let i=gh(Eo,t,r,{c:1,dkLen:e});return r.fill(0),n.fill(0),s.fill(0),i}function yD(t,e,r){let{N:n,r:s,p:i,dkLen:o,blockSize32:a,V:u,B32:l,B:f,tmp:d,blockMixCb:p}=ED(t,e,r);for(let m=0;m<i;m++){let y=a*m;for(let x=0;x<a;x++)u[x]=l[y+x];for(let x=0,b=0;x<n-1;x++)Nl(u,b,u,b+=a,s),p();Nl(u,(n-1)*a,l,y,s),p();for(let x=0;x<n;x++){let b=l[y+a-16]%n;for(let w=0;w<a;w++)d[w]=l[y+w]^u[b*a+w];Nl(d,0,l,y,s),p()}}return xD(t,o,f,u,d)}async function bD(t,e,r){let{N:n,r:s,p:i,dkLen:o,blockSize32:a,V:u,B32:l,B:f,tmp:d,blockMixCb:p,asyncTick:m}=ED(t,e,r);for(let y=0;y<i;y++){let x=a*y;for(let w=0;w<a;w++)u[w]=l[x+w];let b=0;await M1(n-1,m,()=>{Nl(u,b,u,b+=a,s),p()}),Nl(u,(n-1)*a,l,x,s),p(),await M1(n,m,()=>{let w=l[x+a-16]%n;for(let v=0;v<a;v++)d[v]=l[x+v]^u[w*a+v];Nl(d,0,l,x,s),p()})}return xD(t,o,f,u,d)}var wD=!1,TD=!1,CD=async function(t,e,r,n,s,i,o){return await bD(t,e,{N:r,r:n,p:s,dkLen:i,onProgress:o})},BD=function(t,e,r,n,s,i){return yD(t,e,{N:r,r:n,p:s,dkLen:i})},ID=CD,DD=BD;async function bo(t,e,r,n,s,i,o){let a=ae(t,"passwd"),u=ae(e,"salt");return J(await ID(a,u,r,n,s,i,o))}bo._=CD;bo.lock=function(){TD=!0};bo.register=function(t){if(TD)throw new Error("scrypt is locked");ID=t};Object.freeze(bo);function wo(t,e,r,n,s,i){let o=ae(t,"passwd"),a=ae(e,"salt");return J(DD(o,a,r,n,s,i))}wo._=BD;wo.lock=function(){wD=!0};wo.register=function(t){if(wD)throw new Error("scryptSync is locked");DD=t};Object.freeze(wo);var ND=function(t){return yb("sha256").update(t).digest()},RD=function(t){return yb("sha512").update(t).digest()},SD=ND,MD=RD,vD=!1,kD=!1;function zr(t){let e=ae(t,"data");return J(SD(e))}zr._=ND;zr.lock=function(){vD=!0};zr.register=function(t){if(vD)throw new Error("sha256 is locked");SD=t};Object.freeze(zr);function xh(t){let e=ae(t,"data");return J(MD(e))}xh._=RD;xh.lock=function(){kD=!0};xh.register=function(t){if(kD)throw new Error("sha512 is locked");MD=t};Object.freeze(zr);var Db={};lc(Db,{bitGet:()=>lO,bitLen:()=>uO,bitMask:()=>yh,bitSet:()=>fO,bytesToHex:()=>du,bytesToNumberBE:()=>To,bytesToNumberLE:()=>G1,concatBytes:()=>Rl,createHmacDrbg:()=>Ib,ensureBytes:()=>es,equalBytes:()=>aO,hexToBytes:()=>hu,hexToNumber:()=>Bb,numberToBytesBE:()=>Oa,numberToBytesLE:()=>H1,numberToHexUnpadded:()=>UD,numberToVarBytesBE:()=>oO,utf8ToBytes:()=>cO,validateObject:()=>Pa});var PD=BigInt(0),L1=BigInt(1),sO=BigInt(2),V1=t=>t instanceof Uint8Array,iO=Array.from({length:256},(t,e)=>e.toString(16).padStart(2,"0"));function du(t){if(!V1(t))throw new Error("Uint8Array expected");let e="";for(let r=0;r<t.length;r++)e+=iO[t[r]];return e}function UD(t){let e=t.toString(16);return e.length&1?`0${e}`:e}function Bb(t){if(typeof t!="string")throw new Error("hex string expected, got "+typeof t);return BigInt(t===""?"0":`0x${t}`)}function hu(t){if(typeof t!="string")throw new Error("hex string expected, got "+typeof t);let e=t.length;if(e%2)throw new Error("padded hex string expected, got unpadded hex of length "+e);let r=new Uint8Array(e/2);for(let n=0;n<r.length;n++){let s=n*2,i=t.slice(s,s+2),o=Number.parseInt(i,16);if(Number.isNaN(o)||o<0)throw new Error("Invalid byte sequence");r[n]=o}return r}function To(t){return Bb(du(t))}function G1(t){if(!V1(t))throw new Error("Uint8Array expected");return Bb(du(Uint8Array.from(t).reverse()))}function Oa(t,e){return hu(t.toString(16).padStart(e*2,"0"))}function H1(t,e){return Oa(t,e).reverse()}function oO(t){return hu(UD(t))}function es(t,e,r){let n;if(typeof e=="string")try{n=hu(e)}catch(i){throw new Error(`${t} must be valid hex string, got "${e}". Cause: ${i}`)}else if(V1(e))n=Uint8Array.from(e);else throw new Error(`${t} must be hex string or Uint8Array`);let s=n.length;if(typeof r=="number"&&s!==r)throw new Error(`${t} expected ${r} bytes, got ${s}`);return n}function Rl(...t){let e=new Uint8Array(t.reduce((n,s)=>n+s.length,0)),r=0;return t.forEach(n=>{if(!V1(n))throw new Error("Uint8Array expected");e.set(n,r),r+=n.length}),e}function aO(t,e){if(t.length!==e.length)return!1;for(let r=0;r<t.length;r++)if(t[r]!==e[r])return!1;return!0}function cO(t){if(typeof t!="string")throw new Error(`utf8ToBytes expected string, got ${typeof t}`);return new Uint8Array(new TextEncoder().encode(t))}function uO(t){let e;for(e=0;t>PD;t>>=L1,e+=1);return e}function lO(t,e){return t>>BigInt(e)&L1}var fO=(t,e,r)=>t|(r?L1:PD)<<BigInt(e),yh=t=>(sO<<BigInt(t-1))-L1,Cb=t=>new Uint8Array(t),OD=t=>Uint8Array.from(t);function Ib(t,e,r){if(typeof t!="number"||t<2)throw new Error("hashLen must be a number");if(typeof e!="number"||e<2)throw new Error("qByteLen must be a number");if(typeof r!="function")throw new Error("hmacFn must be a function");let n=Cb(t),s=Cb(t),i=0,o=()=>{n.fill(1),s.fill(0),i=0},a=(...d)=>r(s,n,...d),u=(d=Cb())=>{s=a(OD([0]),d),n=a(),d.length!==0&&(s=a(OD([1]),d),n=a())},l=()=>{if(i++>=1e3)throw new Error("drbg: tried 1000 values");let d=0,p=[];for(;d<e;){n=a();let m=n.slice();p.push(m),d+=n.length}return Rl(...p)};return(d,p)=>{o(),u(d);let m;for(;!(m=p(l()));)u();return o(),m}}var dO={bigint:t=>typeof t=="bigint",function:t=>typeof t=="function",boolean:t=>typeof t=="boolean",string:t=>typeof t=="string",stringOrUint8Array:t=>typeof t=="string"||t instanceof Uint8Array,isSafeInteger:t=>Number.isSafeInteger(t),array:t=>Array.isArray(t),field:(t,e)=>e.Fp.isValid(t),hash:t=>typeof t=="function"&&Number.isSafeInteger(t.outputLen)};function Pa(t,e,r={}){let n=(s,i,o)=>{let a=dO[i];if(typeof a!="function")throw new Error(`Invalid validator "${i}", expected function`);let u=t[s];if(!(o&&u===void 0)&&!a(u,t))throw new Error(`Invalid param ${String(s)}=${u} (${typeof u}), expected ${i}`)};for(let[s,i]of Object.entries(e))n(s,i,!1);for(let[s,i]of Object.entries(r))n(s,i,!0);return t}var Sr=BigInt(0),fr=BigInt(1),pu=BigInt(2),hO=BigInt(3),Nb=BigInt(4),FD=BigInt(5),QD=BigInt(8),pO=BigInt(9),AO=BigInt(16);function nn(t,e){let r=t%e;return r>=Sr?r:e+r}function mO(t,e,r){if(r<=Sr||e<Sr)throw new Error("Expected power/modulo > 0");if(r===fr)return Sr;let n=fr;for(;e>Sr;)e&fr&&(n=n*t%r),t=t*t%r,e>>=fr;return n}function ts(t,e,r){let n=t;for(;e-- >Sr;)n*=n,n%=r;return n}function _1(t,e){if(t===Sr||e<=Sr)throw new Error(`invert: expected positive integers, got n=${t} mod=${e}`);let r=nn(t,e),n=e,s=Sr,i=fr,o=fr,a=Sr;for(;r!==Sr;){let l=n/r,f=n%r,d=s-o*l,p=i-a*l;n=r,r=f,s=o,i=a,o=d,a=p}if(n!==fr)throw new Error("invert: does not exist");return nn(s,e)}function gO(t){let e=(t-fr)/pu,r,n,s;for(r=t-fr,n=0;r%pu===Sr;r/=pu,n++);for(s=pu;s<t&&mO(s,e,t)!==t-fr;s++);if(n===1){let o=(t+fr)/Nb;return function(u,l){let f=u.pow(l,o);if(!u.eql(u.sqr(f),l))throw new Error("Cannot find square root");return f}}let i=(r+fr)/pu;return function(a,u){if(a.pow(u,e)===a.neg(a.ONE))throw new Error("Cannot find square root");let l=n,f=a.pow(a.mul(a.ONE,s),r),d=a.pow(u,i),p=a.pow(u,r);for(;!a.eql(p,a.ONE);){if(a.eql(p,a.ZERO))return a.ZERO;let m=1;for(let x=a.sqr(p);m<l&&!a.eql(x,a.ONE);m++)x=a.sqr(x);let y=a.pow(f,fr<<BigInt(l-m-1));f=a.sqr(y),d=a.mul(d,y),p=a.mul(p,f),l=m}return d}}function EO(t){if(t%Nb===hO){let e=(t+fr)/Nb;return function(n,s){let i=n.pow(s,e);if(!n.eql(n.sqr(i),s))throw new Error("Cannot find square root");return i}}if(t%QD===FD){let e=(t-FD)/QD;return function(n,s){let i=n.mul(s,pu),o=n.pow(i,e),a=n.mul(s,o),u=n.mul(n.mul(a,pu),o),l=n.mul(a,n.sub(u,n.ONE));if(!n.eql(n.sqr(l),s))throw new Error("Cannot find square root");return l}}return t%AO,gO(t)}var xO=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function Rb(t){let e={ORDER:"bigint",MASK:"bigint",BYTES:"isSafeInteger",BITS:"isSafeInteger"},r=xO.reduce((n,s)=>(n[s]="function",n),e);return Pa(t,r)}function yO(t,e,r){if(r<Sr)throw new Error("Expected power > 0");if(r===Sr)return t.ONE;if(r===fr)return e;let n=t.ONE,s=e;for(;r>Sr;)r&fr&&(n=t.mul(n,s)),s=t.sqr(s),r>>=fr;return n}function bO(t,e){let r=new Array(e.length),n=e.reduce((i,o,a)=>t.is0(o)?i:(r[a]=i,t.mul(i,o)),t.ONE),s=t.inv(n);return e.reduceRight((i,o,a)=>t.is0(o)?i:(r[a]=t.mul(i,r[a]),t.mul(i,o)),s),r}function Sb(t,e){let r=e!==void 0?e:t.toString(2).length,n=Math.ceil(r/8);return{nBitLength:r,nByteLength:n}}function LD(t,e,r=!1,n={}){if(t<=Sr)throw new Error(`Expected Field ORDER > 0, got ${t}`);let{nBitLength:s,nByteLength:i}=Sb(t,e);if(i>2048)throw new Error("Field lengths over 2048 bytes are not supported");let o=EO(t),a=Object.freeze({ORDER:t,BITS:s,BYTES:i,MASK:yh(s),ZERO:Sr,ONE:fr,create:u=>nn(u,t),isValid:u=>{if(typeof u!="bigint")throw new Error(`Invalid field element: expected bigint, got ${typeof u}`);return Sr<=u&&u<t},is0:u=>u===Sr,isOdd:u=>(u&fr)===fr,neg:u=>nn(-u,t),eql:(u,l)=>u===l,sqr:u=>nn(u*u,t),add:(u,l)=>nn(u+l,t),sub:(u,l)=>nn(u-l,t),mul:(u,l)=>nn(u*l,t),pow:(u,l)=>yO(a,u,l),div:(u,l)=>nn(u*_1(l,t),t),sqrN:u=>u*u,addN:(u,l)=>u+l,subN:(u,l)=>u-l,mulN:(u,l)=>u*l,inv:u=>_1(u,t),sqrt:n.sqrt||(u=>o(a,u)),invertBatch:u=>bO(a,u),cmov:(u,l,f)=>f?l:u,toBytes:u=>r?H1(u,i):Oa(u,i),fromBytes:u=>{if(u.length!==i)throw new Error(`Fp.fromBytes: expected ${i}, got ${u.length}`);return r?G1(u):To(u)}});return Object.freeze(a)}function VD(t){if(typeof t!="bigint")throw new Error("field order must be bigint");let e=t.toString(2).length;return Math.ceil(e/8)}function Mb(t){let e=VD(t);return e+Math.ceil(e/2)}function GD(t,e,r=!1){let n=t.length,s=VD(e),i=Mb(e);if(n<16||n<i||n>1024)throw new Error(`expected ${i}-1024 bytes of input, got ${n}`);let o=r?To(t):G1(t),a=nn(o,e-fr)+fr;return r?H1(a,s):Oa(a,s)}var TO=BigInt(0),vb=BigInt(1);function HD(t,e){let r=(s,i)=>{let o=i.negate();return s?o:i},n=s=>{let i=Math.ceil(e/s)+1,o=2**(s-1);return{windows:i,windowSize:o}};return{constTimeNegate:r,unsafeLadder(s,i){let o=t.ZERO,a=s;for(;i>TO;)i&vb&&(o=o.add(a)),a=a.double(),i>>=vb;return o},precomputeWindow(s,i){let{windows:o,windowSize:a}=n(i),u=[],l=s,f=l;for(let d=0;d<o;d++){f=l,u.push(f);for(let p=1;p<a;p++)f=f.add(l),u.push(f);l=f.double()}return u},wNAF(s,i,o){let{windows:a,windowSize:u}=n(s),l=t.ZERO,f=t.BASE,d=BigInt(2**s-1),p=2**s,m=BigInt(s);for(let y=0;y<a;y++){let x=y*u,b=Number(o&d);o>>=m,b>u&&(b-=p,o+=vb);let w=x,v=x+Math.abs(b)-1,O=y%2!==0,P=b<0;b===0?f=f.add(r(O,i[w])):l=l.add(r(P,i[v]))}return{p:l,f}},wNAFCached(s,i,o,a){let u=s._WINDOW_SIZE||1,l=i.get(s);return l||(l=this.precomputeWindow(s,u),u!==1&&i.set(s,a(l))),this.wNAF(u,l,o)}}}function kb(t){return Rb(t.Fp),Pa(t,{n:"bigint",h:"bigint",Gx:"field",Gy:"field"},{nBitLength:"isSafeInteger",nByteLength:"isSafeInteger"}),Object.freeze({...Sb(t.n,t.nBitLength),...t,p:t.Fp.ORDER})}function CO(t){let e=kb(t);Pa(e,{a:"field",b:"field"},{allowedPrivateKeyLengths:"array",wrapPrivateKey:"boolean",isTorsionFree:"function",clearCofactor:"function",allowInfinityPoint:"boolean",fromBytes:"function",toBytes:"function"});let{endo:r,Fp:n,a:s}=e;if(r){if(!n.eql(s,n.ZERO))throw new Error("Endomorphism can only be defined for Koblitz curves that have a=0");if(typeof r!="object"||typeof r.beta!="bigint"||typeof r.splitScalar!="function")throw new Error("Expected endomorphism with beta: bigint and splitScalar: function")}return Object.freeze({...e})}var{bytesToNumberBE:BO,hexToBytes:IO}=Db,Au={Err:class extends Error{constructor(e=""){super(e)}},_parseInt(t){let{Err:e}=Au;if(t.length<2||t[0]!==2)throw new e("Invalid signature integer tag");let r=t[1],n=t.subarray(2,r+2);if(!r||n.length!==r)throw new e("Invalid signature integer: wrong length");if(n[0]&128)throw new e("Invalid signature integer: negative");if(n[0]===0&&!(n[1]&128))throw new e("Invalid signature integer: unnecessary leading zero");return{d:BO(n),l:t.subarray(r+2)}},toSig(t){let{Err:e}=Au,r=typeof t=="string"?IO(t):t;if(!(r instanceof Uint8Array))throw new Error("ui8a expected");let n=r.length;if(n<2||r[0]!=48)throw new e("Invalid signature tag");if(r[1]!==n-2)throw new e("Invalid signature: incorrect length");let{d:s,l:i}=Au._parseInt(r.subarray(2)),{d:o,l:a}=Au._parseInt(i);if(a.length)throw new e("Invalid signature: left bytes after parsing");return{r:s,s:o}},hexFromSig(t){let e=l=>Number.parseInt(l[0],16)&8?"00"+l:l,r=l=>{let f=l.toString(16);return f.length&1?`0${f}`:f},n=e(r(t.s)),s=e(r(t.r)),i=n.length/2,o=s.length/2,a=r(i),u=r(o);return`30${r(o+i+4)}02${u}${s}02${a}${n}`}},Co=BigInt(0),ms=BigInt(1),E0e=BigInt(2),_D=BigInt(3),x0e=BigInt(4);function DO(t){let e=CO(t),{Fp:r}=e,n=e.toBytes||((y,x,b)=>{let w=x.toAffine();return Rl(Uint8Array.from([4]),r.toBytes(w.x),r.toBytes(w.y))}),s=e.fromBytes||(y=>{let x=y.subarray(1),b=r.fromBytes(x.subarray(0,r.BYTES)),w=r.fromBytes(x.subarray(r.BYTES,2*r.BYTES));return{x:b,y:w}});function i(y){let{a:x,b}=e,w=r.sqr(y),v=r.mul(w,y);return r.add(r.add(v,r.mul(y,x)),b)}if(!r.eql(r.sqr(e.Gy),i(e.Gx)))throw new Error("bad generator point: equation left != right");function o(y){return typeof y=="bigint"&&Co<y&&y<e.n}function a(y){if(!o(y))throw new Error("Expected valid bigint: 0 < bigint < curve.n")}function u(y){let{allowedPrivateKeyLengths:x,nByteLength:b,wrapPrivateKey:w,n:v}=e;if(x&&typeof y!="bigint"){if(y instanceof Uint8Array&&(y=du(y)),typeof y!="string"||!x.includes(y.length))throw new Error("Invalid key");y=y.padStart(b*2,"0")}let O;try{O=typeof y=="bigint"?y:To(es("private key",y,b))}catch{throw new Error(`private key must be ${b} bytes, hex or bigint, not ${typeof y}`)}return w&&(O=nn(O,v)),a(O),O}let l=new Map;function f(y){if(!(y instanceof d))throw new Error("ProjectivePoint expected")}class d{constructor(x,b,w){if(this.px=x,this.py=b,this.pz=w,x==null||!r.isValid(x))throw new Error("x required");if(b==null||!r.isValid(b))throw new Error("y required");if(w==null||!r.isValid(w))throw new Error("z required")}static fromAffine(x){let{x:b,y:w}=x||{};if(!x||!r.isValid(b)||!r.isValid(w))throw new Error("invalid affine point");if(x instanceof d)throw new Error("projective point not allowed");let v=O=>r.eql(O,r.ZERO);return v(b)&&v(w)?d.ZERO:new d(b,w,r.ONE)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static normalizeZ(x){let b=r.invertBatch(x.map(w=>w.pz));return x.map((w,v)=>w.toAffine(b[v])).map(d.fromAffine)}static fromHex(x){let b=d.fromAffine(s(es("pointHex",x)));return b.assertValidity(),b}static fromPrivateKey(x){return d.BASE.multiply(u(x))}_setWindowSize(x){this._WINDOW_SIZE=x,l.delete(this)}assertValidity(){if(this.is0()){if(e.allowInfinityPoint&&!r.is0(this.py))return;throw new Error("bad point: ZERO")}let{x,y:b}=this.toAffine();if(!r.isValid(x)||!r.isValid(b))throw new Error("bad point: x or y not FE");let w=r.sqr(b),v=i(x);if(!r.eql(w,v))throw new Error("bad point: equation left != right");if(!this.isTorsionFree())throw new Error("bad point: not in prime-order subgroup")}hasEvenY(){let{y:x}=this.toAffine();if(r.isOdd)return!r.isOdd(x);throw new Error("Field doesn't support isOdd")}equals(x){f(x);let{px:b,py:w,pz:v}=this,{px:O,py:P,pz:B}=x,L=r.eql(r.mul(b,B),r.mul(O,v)),Y=r.eql(r.mul(w,B),r.mul(P,v));return L&&Y}negate(){return new d(this.px,r.neg(this.py),this.pz)}double(){let{a:x,b}=e,w=r.mul(b,_D),{px:v,py:O,pz:P}=this,B=r.ZERO,L=r.ZERO,Y=r.ZERO,V=r.mul(v,v),$=r.mul(O,O),ne=r.mul(P,P),_=r.mul(v,O);return _=r.add(_,_),Y=r.mul(v,P),Y=r.add(Y,Y),B=r.mul(x,Y),L=r.mul(w,ne),L=r.add(B,L),B=r.sub($,L),L=r.add($,L),L=r.mul(B,L),B=r.mul(_,B),Y=r.mul(w,Y),ne=r.mul(x,ne),_=r.sub(V,ne),_=r.mul(x,_),_=r.add(_,Y),Y=r.add(V,V),V=r.add(Y,V),V=r.add(V,ne),V=r.mul(V,_),L=r.add(L,V),ne=r.mul(O,P),ne=r.add(ne,ne),V=r.mul(ne,_),B=r.sub(B,V),Y=r.mul(ne,$),Y=r.add(Y,Y),Y=r.add(Y,Y),new d(B,L,Y)}add(x){f(x);let{px:b,py:w,pz:v}=this,{px:O,py:P,pz:B}=x,L=r.ZERO,Y=r.ZERO,V=r.ZERO,$=e.a,ne=r.mul(e.b,_D),_=r.mul(b,O),Ee=r.mul(w,P),pe=r.mul(v,B),ye=r.add(b,w),j=r.add(O,P);ye=r.mul(ye,j),j=r.add(_,Ee),ye=r.sub(ye,j),j=r.add(b,v);let te=r.add(O,B);return j=r.mul(j,te),te=r.add(_,pe),j=r.sub(j,te),te=r.add(w,v),L=r.add(P,B),te=r.mul(te,L),L=r.add(Ee,pe),te=r.sub(te,L),V=r.mul($,j),L=r.mul(ne,pe),V=r.add(L,V),L=r.sub(Ee,V),V=r.add(Ee,V),Y=r.mul(L,V),Ee=r.add(_,_),Ee=r.add(Ee,_),pe=r.mul($,pe),j=r.mul(ne,j),Ee=r.add(Ee,pe),pe=r.sub(_,pe),pe=r.mul($,pe),j=r.add(j,pe),_=r.mul(Ee,j),Y=r.add(Y,_),_=r.mul(te,j),L=r.mul(ye,L),L=r.sub(L,_),_=r.mul(ye,Ee),V=r.mul(te,V),V=r.add(V,_),new d(L,Y,V)}subtract(x){return this.add(x.negate())}is0(){return this.equals(d.ZERO)}wNAF(x){return m.wNAFCached(this,l,x,b=>{let w=r.invertBatch(b.map(v=>v.pz));return b.map((v,O)=>v.toAffine(w[O])).map(d.fromAffine)})}multiplyUnsafe(x){let b=d.ZERO;if(x===Co)return b;if(a(x),x===ms)return this;let{endo:w}=e;if(!w)return m.unsafeLadder(this,x);let{k1neg:v,k1:O,k2neg:P,k2:B}=w.splitScalar(x),L=b,Y=b,V=this;for(;O>Co||B>Co;)O&ms&&(L=L.add(V)),B&ms&&(Y=Y.add(V)),V=V.double(),O>>=ms,B>>=ms;return v&&(L=L.negate()),P&&(Y=Y.negate()),Y=new d(r.mul(Y.px,w.beta),Y.py,Y.pz),L.add(Y)}multiply(x){a(x);let b=x,w,v,{endo:O}=e;if(O){let{k1neg:P,k1:B,k2neg:L,k2:Y}=O.splitScalar(b),{p:V,f:$}=this.wNAF(B),{p:ne,f:_}=this.wNAF(Y);V=m.constTimeNegate(P,V),ne=m.constTimeNegate(L,ne),ne=new d(r.mul(ne.px,O.beta),ne.py,ne.pz),w=V.add(ne),v=$.add(_)}else{let{p:P,f:B}=this.wNAF(b);w=P,v=B}return d.normalizeZ([w,v])[0]}multiplyAndAddUnsafe(x,b,w){let v=d.BASE,O=(B,L)=>L===Co||L===ms||!B.equals(v)?B.multiplyUnsafe(L):B.multiply(L),P=O(this,b).add(O(x,w));return P.is0()?void 0:P}toAffine(x){let{px:b,py:w,pz:v}=this,O=this.is0();x==null&&(x=O?r.ONE:r.inv(v));let P=r.mul(b,x),B=r.mul(w,x),L=r.mul(v,x);if(O)return{x:r.ZERO,y:r.ZERO};if(!r.eql(L,r.ONE))throw new Error("invZ was invalid");return{x:P,y:B}}isTorsionFree(){let{h:x,isTorsionFree:b}=e;if(x===ms)return!0;if(b)return b(d,this);throw new Error("isTorsionFree() has not been declared for the elliptic curve")}clearCofactor(){let{h:x,clearCofactor:b}=e;return x===ms?this:b?b(d,this):this.multiplyUnsafe(e.h)}toRawBytes(x=!0){return this.assertValidity(),n(d,this,x)}toHex(x=!0){return du(this.toRawBytes(x))}}d.BASE=new d(e.Gx,e.Gy,r.ONE),d.ZERO=new d(r.ZERO,r.ONE,r.ZERO);let p=e.nBitLength,m=HD(d,e.endo?Math.ceil(p/2):p);return{CURVE:e,ProjectivePoint:d,normPrivateKeyToScalar:u,weierstrassEquation:i,isWithinCurveOrder:o}}function NO(t){let e=kb(t);return Pa(e,{hash:"hash",hmac:"function",randomBytes:"function"},{bits2int:"function",bits2int_modN:"function",lowS:"boolean"}),Object.freeze({lowS:!0,...e})}function YD(t){let e=NO(t),{Fp:r,n}=e,s=r.BYTES+1,i=2*r.BYTES+1;function o(j){return Co<j&&j<r.ORDER}function a(j){return nn(j,n)}function u(j){return _1(j,n)}let{ProjectivePoint:l,normPrivateKeyToScalar:f,weierstrassEquation:d,isWithinCurveOrder:p}=DO({...e,toBytes(j,te,ce){let ue=te.toAffine(),Z=r.toBytes(ue.x),ge=Rl;return ce?ge(Uint8Array.from([te.hasEvenY()?2:3]),Z):ge(Uint8Array.from([4]),Z,r.toBytes(ue.y))},fromBytes(j){let te=j.length,ce=j[0],ue=j.subarray(1);if(te===s&&(ce===2||ce===3)){let Z=To(ue);if(!o(Z))throw new Error("Point is not on curve");let ge=d(Z),Ne=r.sqrt(ge),re=(Ne&ms)===ms;return(ce&1)===1!==re&&(Ne=r.neg(Ne)),{x:Z,y:Ne}}else if(te===i&&ce===4){let Z=r.fromBytes(ue.subarray(0,r.BYTES)),ge=r.fromBytes(ue.subarray(r.BYTES,2*r.BYTES));return{x:Z,y:ge}}else throw new Error(`Point of length ${te} was invalid. Expected ${s} compressed bytes or ${i} uncompressed bytes`)}}),m=j=>du(Oa(j,e.nByteLength));function y(j){let te=n>>ms;return j>te}function x(j){return y(j)?a(-j):j}let b=(j,te,ce)=>To(j.slice(te,ce));class w{constructor(te,ce,ue){this.r=te,this.s=ce,this.recovery=ue,this.assertValidity()}static fromCompact(te){let ce=e.nByteLength;return te=es("compactSignature",te,ce*2),new w(b(te,0,ce),b(te,ce,2*ce))}static fromDER(te){let{r:ce,s:ue}=Au.toSig(es("DER",te));return new w(ce,ue)}assertValidity(){if(!p(this.r))throw new Error("r must be 0 < r < CURVE.n");if(!p(this.s))throw new Error("s must be 0 < s < CURVE.n")}addRecoveryBit(te){return new w(this.r,this.s,te)}recoverPublicKey(te){let{r:ce,s:ue,recovery:Z}=this,ge=Y(es("msgHash",te));if(Z==null||![0,1,2,3].includes(Z))throw new Error("recovery id invalid");let Ne=Z===2||Z===3?ce+e.n:ce;if(Ne>=r.ORDER)throw new Error("recovery id 2 or 3 invalid");let re=(Z&1)===0?"02":"03",Ke=l.fromHex(re+m(Ne)),ct=u(Ne),Ze=a(-ge*ct),He=a(ue*ct),Qt=l.BASE.multiplyAndAddUnsafe(Ke,Ze,He);if(!Qt)throw new Error("point at infinify");return Qt.assertValidity(),Qt}hasHighS(){return y(this.s)}normalizeS(){return this.hasHighS()?new w(this.r,a(-this.s),this.recovery):this}toDERRawBytes(){return hu(this.toDERHex())}toDERHex(){return Au.hexFromSig({r:this.r,s:this.s})}toCompactRawBytes(){return hu(this.toCompactHex())}toCompactHex(){return m(this.r)+m(this.s)}}let v={isValidPrivateKey(j){try{return f(j),!0}catch{return!1}},normPrivateKeyToScalar:f,randomPrivateKey:()=>{let j=Mb(e.n);return GD(e.randomBytes(j),e.n)},precompute(j=8,te=l.BASE){return te._setWindowSize(j),te.multiply(BigInt(3)),te}};function O(j,te=!0){return l.fromPrivateKey(j).toRawBytes(te)}function P(j){let te=j instanceof Uint8Array,ce=typeof j=="string",ue=(te||ce)&&j.length;return te?ue===s||ue===i:ce?ue===2*s||ue===2*i:j instanceof l}function B(j,te,ce=!0){if(P(j))throw new Error("first arg must be private key");if(!P(te))throw new Error("second arg must be public key");return l.fromHex(te).multiply(f(j)).toRawBytes(ce)}let L=e.bits2int||function(j){let te=To(j),ce=j.length*8-e.nBitLength;return ce>0?te>>BigInt(ce):te},Y=e.bits2int_modN||function(j){return a(L(j))},V=yh(e.nBitLength);function $(j){if(typeof j!="bigint")throw new Error("bigint expected");if(!(Co<=j&&j<V))throw new Error(`bigint expected < 2^${e.nBitLength}`);return Oa(j,e.nByteLength)}function ne(j,te,ce=_){if(["recovered","canonical"].some(rr=>rr in ce))throw new Error("sign() legacy options not supported");let{hash:ue,randomBytes:Z}=e,{lowS:ge,prehash:Ne,extraEntropy:re}=ce;ge==null&&(ge=!0),j=es("msgHash",j),Ne&&(j=es("prehashed msgHash",ue(j)));let Ke=Y(j),ct=f(te),Ze=[$(ct),$(Ke)];if(re!=null){let rr=re===!0?Z(r.BYTES):re;Ze.push(es("extraEntropy",rr))}let He=Rl(...Ze),Qt=Ke;function pr(rr){let nr=L(rr);if(!p(nr))return;let Os=u(nr),It=l.BASE.multiply(nr).toAffine(),he=a(It.x);if(he===Co)return;let Wn=a(Os*a(Qt+he*ct));if(Wn===Co)return;let Te=(It.x===he?0:2)|Number(It.y&ms),Ar=Wn;return ge&&y(Wn)&&(Ar=x(Wn),Te^=1),new w(he,Ar,Te)}return{seed:He,k2sig:pr}}let _={lowS:e.lowS,prehash:!1},Ee={lowS:e.lowS,prehash:!1};function pe(j,te,ce=_){let{seed:ue,k2sig:Z}=ne(j,te,ce),ge=e;return Ib(ge.hash.outputLen,ge.nByteLength,ge.hmac)(ue,Z)}l.BASE._setWindowSize(8);function ye(j,te,ce,ue=Ee){let Z=j;if(te=es("msgHash",te),ce=es("publicKey",ce),"strict"in ue)throw new Error("options.strict was renamed to lowS");let{lowS:ge,prehash:Ne}=ue,re,Ke;try{if(typeof Z=="string"||Z instanceof Uint8Array)try{re=w.fromDER(Z)}catch(It){if(!(It instanceof Au.Err))throw It;re=w.fromCompact(Z)}else if(typeof Z=="object"&&typeof Z.r=="bigint"&&typeof Z.s=="bigint"){let{r:It,s:he}=Z;re=new w(It,he)}else throw new Error("PARSE");Ke=l.fromHex(ce)}catch(It){if(It.message==="PARSE")throw new Error("signature must be Signature instance, Uint8Array or hex string");return!1}if(ge&&re.hasHighS())return!1;Ne&&(te=e.hash(te));let{r:ct,s:Ze}=re,He=Y(te),Qt=u(Ze),pr=a(He*Qt),rr=a(ct*Qt),nr=l.BASE.multiplyAndAddUnsafe(Ke,pr,rr)?.toAffine();return nr?a(nr.x)===ct:!1}return{CURVE:e,getPublicKey:O,getSharedSecret:B,sign:pe,verify:ye,ProjectivePoint:l,Signature:w,utils:v}}function RO(t){return{hash:t,hmac:(e,...r)=>fu(t,e,U5(...r)),randomBytes:Q5}}function jD(t,e){let r=n=>YD({...t,...RO(n)});return Object.freeze({...r(e),create:r})}var JD=BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"),WD=BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),SO=BigInt(1),Ob=BigInt(2),zD=(t,e)=>(t+e/Ob)/e;function MO(t){let e=JD,r=BigInt(3),n=BigInt(6),s=BigInt(11),i=BigInt(22),o=BigInt(23),a=BigInt(44),u=BigInt(88),l=t*t*t%e,f=l*l*t%e,d=ts(f,r,e)*f%e,p=ts(d,r,e)*f%e,m=ts(p,Ob,e)*l%e,y=ts(m,s,e)*m%e,x=ts(y,i,e)*y%e,b=ts(x,a,e)*x%e,w=ts(b,u,e)*b%e,v=ts(w,a,e)*x%e,O=ts(v,r,e)*f%e,P=ts(O,o,e)*y%e,B=ts(P,n,e)*l%e,L=ts(B,Ob,e);if(!Pb.eql(Pb.sqr(L),t))throw new Error("Cannot find square root");return L}var Pb=LD(JD,void 0,void 0,{sqrt:MO}),Bo=jD({a:BigInt(0),b:BigInt(7),Fp:Pb,n:WD,Gx:BigInt("55066263022277343669578718895168534326250603453777594175500187360389116729240"),Gy:BigInt("32670510020758816978083085130507043184471273380659243275938904335757337482424"),h:BigInt(1),lowS:!0,endo:{beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"),splitScalar:t=>{let e=WD,r=BigInt("0x3086d221a7d46bcde86c90e49284eb15"),n=-SO*BigInt("0xe4437ed6010e88286f547fa90abfe4c3"),s=BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),i=r,o=BigInt("0x100000000000000000000000000000000"),a=zD(i*t,e),u=zD(-n*t,e),l=nn(t-a*r-u*s,e),f=nn(-a*n-u*i,e),d=l>o,p=f>o;if(d&&(l=e-l),p&&(f=e-f),l>o||f>o)throw new Error("splitScalar: Endomorphism failed, k="+t);return{k1neg:d,k1:l,k2neg:p,k2:f}}}},Eo),N0e=BigInt(0);var R0e=Bo.ProjectivePoint;var mu="0x0000000000000000000000000000000000000000";var Y1="0x0000000000000000000000000000000000000000000000000000000000000000";var Ub=`Ethereum Signed Message:
|
|
4461
4461
|
`;var KD=BigInt(0),qD=BigInt(1),Qb=BigInt(2),ZD=BigInt(27),XD=BigInt(28),j1=BigInt(35),$D=BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),vO=$D/Qb,kO=Symbol.for("nodejs.util.inspect.custom"),gu={};function Fb(t){return en(St(t),32)}var Cr=class t{#e;#t;#r;#n;get r(){return this.#e}set r(e){I(js(e)===32,"invalid r","value",e),this.#e=J(e)}get s(){return I(parseInt(this.#t.substring(0,3))<8,"non-canonical s; use ._s","s",this.#t),this.#t}set s(e){I(js(e)===32,"invalid s","value",e),this.#t=J(e)}get _s(){return this.#t}isValid(){return BigInt(this.#t)<=vO}get v(){return this.#r}set v(e){let r=Je(e,"value");I(r===27||r===28,"invalid v","v",e),this.#r=r}get networkV(){return this.#n}get legacyChainId(){let e=this.networkV;return e==null?null:t.getChainId(e)}get yParity(){return this.v===27?0:1}get yParityAndS(){let e=ae(this.s);return this.yParity&&(e[0]|=128),J(e)}get compactSerialized(){return et([this.r,this.yParityAndS])}get serialized(){return et([this.r,this.s,this.yParity?"0x1c":"0x1b"])}constructor(e,r,n,s){Gn(e,gu,"Signature"),this.#e=r,this.#t=n,this.#r=s,this.#n=null}getCanonical(){if(this.isValid())return this;let e=$D-BigInt(this._s),r=55-this.v,n=new t(gu,this.r,Fb(e),r);return this.networkV&&(n.#n=this.networkV),n}clone(){let e=new t(gu,this.r,this._s,this.v);return this.networkV&&(e.#n=this.networkV),e}toJSON(){let e=this.networkV;return{_type:"signature",networkV:e!=null?e.toString():null,r:this.r,s:this._s,v:this.v}}[kO](){return this.toString()}toString(){return this.isValid()?`Signature { r: ${this.r}, s: ${this._s}, v: ${this.v} }`:`Signature { r: ${this.r}, s: ${this._s}, v: ${this.v}, valid: false }`}static getChainId(e){let r=Ce(e,"v");return r==ZD||r==XD?KD:(I(r>=j1,"invalid EIP-155 v","v",e),(r-j1)/Qb)}static getChainIdV(e,r){return Ce(e)*Qb+BigInt(35+r-27)}static getNormalizedV(e){let r=Ce(e);return r===KD||r===ZD?27:r===qD||r===XD?28:(I(r>=j1,"invalid v","v",e),r&qD?27:28)}static from(e){function r(l,f){I(l,f,"signature",e)}if(e==null)return new t(gu,Y1,Y1,27);if(typeof e=="string"){let l=ae(e,"signature");if(l.length===64){let f=J(l.slice(0,32)),d=l.slice(32,64),p=d[0]&128?28:27;return d[0]&=127,new t(gu,f,J(d),p)}if(l.length===65){let f=J(l.slice(0,32)),d=J(l.slice(32,64)),p=t.getNormalizedV(l[64]);return new t(gu,f,d,p)}r(!1,"invalid raw signature length")}if(e instanceof t)return e.clone();let n=e.r;r(n!=null,"missing r");let s=Fb(n),i=(function(l,f){if(l!=null)return Fb(l);if(f!=null){r(ft(f,32),"invalid yParityAndS");let d=ae(f);return d[0]&=127,J(d)}r(!1,"missing s")})(e.s,e.yParityAndS),{networkV:o,v:a}=(function(l,f,d){if(l!=null){let p=Ce(l);return{networkV:p>=j1?p:void 0,v:t.getNormalizedV(p)}}if(f!=null)return r(ft(f,32),"invalid yParityAndS"),{v:ae(f)[0]&128?28:27};if(d!=null){switch(Je(d,"sig.yParity")){case 0:return{v:27};case 1:return{v:28}}r(!1,"invalid yParity")}r(!1,"missing v")})(e.v,e.yParityAndS,e.yParity),u=new t(gu,s,i,a);return o&&(u.#n=o),r(e.yParity==null||Je(e.yParity,"sig.yParity")===u.yParity,"yParity mismatch"),r(e.yParityAndS==null||e.yParityAndS===u.yParityAndS,"yParityAndS mismatch"),u}};var Pr=class t{#e;constructor(e){I(js(e)===32,"invalid private key","privateKey","[REDACTED]"),this.#e=J(e)}get privateKey(){return this.#e}get publicKey(){return t.computePublicKey(this.#e)}get compressedPublicKey(){return t.computePublicKey(this.#e,!0)}sign(e){I(js(e)===32,"invalid digest length","digest",e);let r=Bo.sign(qt(e),qt(this.#e),{lowS:!0});return Cr.from({r:jr(r.r,32),s:jr(r.s,32),v:r.recovery?28:27})}computeSharedSecret(e){let r=t.computePublicKey(e);return J(Bo.getSharedSecret(qt(this.#e),ae(r),!1))}static computePublicKey(e,r){let n=ae(e,"key");if(n.length===32){let i=Bo.getPublicKey(n,!!r);return J(i)}if(n.length===64){let i=new Uint8Array(65);i[0]=4,i.set(n,1),n=i}let s=Bo.ProjectivePoint.fromHex(n);return J(s.toRawBytes(r))}static recoverPublicKey(e,r){I(js(e)===32,"invalid digest length","digest",e);let n=Cr.from(r),s=Bo.Signature.fromCompact(qt(et([n.r,n.s])));s=s.addRecoveryBit(n.yParity);let i=s.recoverPublicKey(qt(e));return I(i!=null,"invalid signature for digest","signature",r),"0x"+i.toHex(!1)}static addPoints(e,r,n){let s=Bo.ProjectivePoint.fromHex(t.computePublicKey(e).substring(2)),i=Bo.ProjectivePoint.fromHex(t.computePublicKey(r).substring(2));return"0x"+s.add(i).toHex(!!n)}};var OO=BigInt(0),PO=BigInt(36);function e3(t){t=t.toLowerCase();let e=t.substring(2).split(""),r=new Uint8Array(40);for(let s=0;s<40;s++)r[s]=e[s].charCodeAt(0);let n=ae(ot(r));for(let s=0;s<40;s+=2)n[s>>1]>>4>=8&&(e[s]=e[s].toUpperCase()),(n[s>>1]&15)>=8&&(e[s+1]=e[s+1].toUpperCase());return"0x"+e.join("")}var Lb={};for(let t=0;t<10;t++)Lb[String(t)]=String(t);for(let t=0;t<26;t++)Lb[String.fromCharCode(65+t)]=String(10+t);var t3=15;function UO(t){t=t.toUpperCase(),t=t.substring(4)+t.substring(0,2)+"00";let e=t.split("").map(n=>Lb[n]).join("");for(;e.length>=t3;){let n=e.substring(0,t3);e=parseInt(n,10)%97+e.substring(n.length)}let r=String(98-parseInt(e,10)%97);for(;r.length<2;)r="0"+r;return r}var FO=(function(){let t={};for(let e=0;e<36;e++){let r="0123456789abcdefghijklmnopqrstuvwxyz"[e];t[r]=BigInt(e)}return t})();function QO(t){t=t.toLowerCase();let e=OO;for(let r=0;r<t.length;r++)e=e*PO+FO[t[r]];return e}function qe(t){if(I(typeof t=="string","invalid address","address",t),t.match(/^(0x)?[0-9a-fA-F]{40}$/)){t.startsWith("0x")||(t="0x"+t);let e=e3(t);return I(!t.match(/([A-F].*[a-f])|([a-f].*[A-F])/)||e===t,"bad address checksum","address",t),e}if(t.match(/^XE[0-9]{2}[0-9A-Za-z]{30,31}$/)){I(t.substring(2,4)===UO(t),"bad icap checksum","address",t);let e=QO(t.substring(4)).toString(16);for(;e.length<40;)e="0"+e;return e3("0x"+e)}I(!1,"invalid address","address",t)}function bh(t){let e=qe(t.from),n=Ce(t.nonce,"tx.nonce").toString(16);return n==="0"?n="0x":n.length%2?n="0x0"+n:n="0x"+n,qe(Rt(ot(yn([e,n])),12))}function W1(t){return t&&typeof t.getAddress=="function"}async function Vb(t,e){let r=await e;return(r==null||r==="0x0000000000000000000000000000000000000000")&&(z(typeof t!="string","unconfigured name","UNCONFIGURED_NAME",{value:t}),I(!1,"invalid AddressLike value; did not resolve to a value address","target",t)),qe(r)}function tr(t,e){if(typeof t=="string")return t.match(/^0x[0-9a-f]{40}$/i)?qe(t):(z(e!=null,"ENS resolution requires a provider","UNSUPPORTED_OPERATION",{operation:"resolveName"}),Vb(t,e.resolveName(t)));if(W1(t))return Vb(t,t.getAddress());if(t&&typeof t.then=="function")return Vb(t,t);I(!1,"unsupported addressable value","target",t)}var Ks={};function Qe(t,e){let r=!1;return e<0&&(r=!0,e*=-1),new Gt(Ks,`${r?"":"u"}int${e}`,t,{signed:r,width:e})}function Ct(t,e){return new Gt(Ks,`bytes${e||""}`,t,{size:e})}var r3=Symbol.for("_ethers_typed"),Gt=class t{type;value;#e;_typedSymbol;constructor(e,r,n,s){s==null&&(s=null),Gn(Ks,e,"Typed"),Be(this,{_typedSymbol:r3,type:r,value:n}),this.#e=s,this.format()}format(){if(this.type==="array")throw new Error("");if(this.type==="dynamicArray")throw new Error("");return this.type==="tuple"?`tuple(${this.value.map(e=>e.format()).join(",")})`:this.type}defaultValue(){return 0}minValue(){return 0}maxValue(){return 0}isBigInt(){return!!this.type.match(/^u?int[0-9]+$/)}isData(){return this.type.startsWith("bytes")}isString(){return this.type==="string"}get tupleName(){if(this.type!=="tuple")throw TypeError("not a tuple");return this.#e}get arrayLength(){if(this.type!=="array")throw TypeError("not an array");return this.#e===!0?-1:this.#e===!1?this.value.length:null}static from(e,r){return new t(Ks,e,r)}static uint8(e){return Qe(e,8)}static uint16(e){return Qe(e,16)}static uint24(e){return Qe(e,24)}static uint32(e){return Qe(e,32)}static uint40(e){return Qe(e,40)}static uint48(e){return Qe(e,48)}static uint56(e){return Qe(e,56)}static uint64(e){return Qe(e,64)}static uint72(e){return Qe(e,72)}static uint80(e){return Qe(e,80)}static uint88(e){return Qe(e,88)}static uint96(e){return Qe(e,96)}static uint104(e){return Qe(e,104)}static uint112(e){return Qe(e,112)}static uint120(e){return Qe(e,120)}static uint128(e){return Qe(e,128)}static uint136(e){return Qe(e,136)}static uint144(e){return Qe(e,144)}static uint152(e){return Qe(e,152)}static uint160(e){return Qe(e,160)}static uint168(e){return Qe(e,168)}static uint176(e){return Qe(e,176)}static uint184(e){return Qe(e,184)}static uint192(e){return Qe(e,192)}static uint200(e){return Qe(e,200)}static uint208(e){return Qe(e,208)}static uint216(e){return Qe(e,216)}static uint224(e){return Qe(e,224)}static uint232(e){return Qe(e,232)}static uint240(e){return Qe(e,240)}static uint248(e){return Qe(e,248)}static uint256(e){return Qe(e,256)}static uint(e){return Qe(e,256)}static int8(e){return Qe(e,-8)}static int16(e){return Qe(e,-16)}static int24(e){return Qe(e,-24)}static int32(e){return Qe(e,-32)}static int40(e){return Qe(e,-40)}static int48(e){return Qe(e,-48)}static int56(e){return Qe(e,-56)}static int64(e){return Qe(e,-64)}static int72(e){return Qe(e,-72)}static int80(e){return Qe(e,-80)}static int88(e){return Qe(e,-88)}static int96(e){return Qe(e,-96)}static int104(e){return Qe(e,-104)}static int112(e){return Qe(e,-112)}static int120(e){return Qe(e,-120)}static int128(e){return Qe(e,-128)}static int136(e){return Qe(e,-136)}static int144(e){return Qe(e,-144)}static int152(e){return Qe(e,-152)}static int160(e){return Qe(e,-160)}static int168(e){return Qe(e,-168)}static int176(e){return Qe(e,-176)}static int184(e){return Qe(e,-184)}static int192(e){return Qe(e,-192)}static int200(e){return Qe(e,-200)}static int208(e){return Qe(e,-208)}static int216(e){return Qe(e,-216)}static int224(e){return Qe(e,-224)}static int232(e){return Qe(e,-232)}static int240(e){return Qe(e,-240)}static int248(e){return Qe(e,-248)}static int256(e){return Qe(e,-256)}static int(e){return Qe(e,-256)}static bytes1(e){return Ct(e,1)}static bytes2(e){return Ct(e,2)}static bytes3(e){return Ct(e,3)}static bytes4(e){return Ct(e,4)}static bytes5(e){return Ct(e,5)}static bytes6(e){return Ct(e,6)}static bytes7(e){return Ct(e,7)}static bytes8(e){return Ct(e,8)}static bytes9(e){return Ct(e,9)}static bytes10(e){return Ct(e,10)}static bytes11(e){return Ct(e,11)}static bytes12(e){return Ct(e,12)}static bytes13(e){return Ct(e,13)}static bytes14(e){return Ct(e,14)}static bytes15(e){return Ct(e,15)}static bytes16(e){return Ct(e,16)}static bytes17(e){return Ct(e,17)}static bytes18(e){return Ct(e,18)}static bytes19(e){return Ct(e,19)}static bytes20(e){return Ct(e,20)}static bytes21(e){return Ct(e,21)}static bytes22(e){return Ct(e,22)}static bytes23(e){return Ct(e,23)}static bytes24(e){return Ct(e,24)}static bytes25(e){return Ct(e,25)}static bytes26(e){return Ct(e,26)}static bytes27(e){return Ct(e,27)}static bytes28(e){return Ct(e,28)}static bytes29(e){return Ct(e,29)}static bytes30(e){return Ct(e,30)}static bytes31(e){return Ct(e,31)}static bytes32(e){return Ct(e,32)}static address(e){return new t(Ks,"address",e)}static bool(e){return new t(Ks,"bool",!!e)}static bytes(e){return new t(Ks,"bytes",e)}static string(e){return new t(Ks,"string",e)}static array(e,r){throw new Error("not implemented yet")}static tuple(e,r){throw new Error("not implemented yet")}static overrides(e){return new t(Ks,"overrides",Object.assign({},e))}static isTyped(e){return e&&typeof e=="object"&&"_typedSymbol"in e&&e._typedSymbol===r3}static dereference(e,r){if(t.isTyped(e)){if(e.type!==r)throw new Error(`invalid type: expecetd ${r}, got ${e.type}`);return e.value}return e}};var z1=class extends Tr{constructor(e){super("address","address",e,!1)}defaultValue(){return"0x0000000000000000000000000000000000000000"}encode(e,r){let n=Gt.dereference(r,"string");try{n=qe(n)}catch(s){return this._throwError(s.message,r)}return e.writeValue(n)}decode(e){return qe(jr(e.readValue(),20))}};var J1=class extends Tr{coder;constructor(e){super(e.name,e.type,"_",e.dynamic),this.coder=e}defaultValue(){return this.coder.defaultValue()}encode(e,r){return this.coder.encode(e,r)}decode(e){return this.coder.decode(e)}};function Gb(t,e,r){let n=[];if(Array.isArray(r))n=r;else if(r&&typeof r=="object"){let u={};n=e.map(l=>{let f=l.localName;return z(f,"cannot encode object for signature with missing names","INVALID_ARGUMENT",{argument:"values",info:{coder:l},value:r}),z(!u[f],"cannot encode object for signature with duplicate names","INVALID_ARGUMENT",{argument:"values",info:{coder:l},value:r}),u[f]=!0,r[f]})}else I(!1,"invalid tuple value","tuple",r);I(e.length===n.length,"types/value length mismatch","tuple",r);let s=new lu,i=new lu,o=[];e.forEach((u,l)=>{let f=n[l];if(u.dynamic){let d=i.length;u.encode(i,f);let p=s.writeUpdatableValue();o.push(m=>{p(m+d)})}else u.encode(s,f)}),o.forEach(u=>{u(s.length)});let a=t.appendWriter(s);return a+=t.appendWriter(i),a}function Hb(t,e){let r=[],n=[],s=t.subReader(0);return e.forEach(i=>{let o=null;if(i.dynamic){let a=t.readIndex(),u=s.subReader(a);try{o=i.decode(u)}catch(l){if(Wt(l,"BUFFER_OVERRUN"))throw l;o=l,o.baseType=i.name,o.name=i.localName,o.type=i.type}}else try{o=i.decode(t)}catch(a){if(Wt(a,"BUFFER_OVERRUN"))throw a;o=a,o.baseType=i.name,o.name=i.localName,o.type=i.type}if(o==null)throw new Error("investigate");r.push(o),n.push(i.localName||null)}),Ni.fromItems(r,n)}var K1=class extends Tr{coder;length;constructor(e,r,n){let s=e.type+"["+(r>=0?r:"")+"]",i=r===-1||e.dynamic;super("array",s,n,i),Be(this,{coder:e,length:r})}defaultValue(){let e=this.coder.defaultValue(),r=[];for(let n=0;n<this.length;n++)r.push(e);return r}encode(e,r){let n=Gt.dereference(r,"array");Array.isArray(n)||this._throwError("expected array value",n);let s=this.length;s===-1&&(s=n.length,e.writeValue(n.length)),xl(n.length,s,"coder array"+(this.localName?" "+this.localName:""));let i=[];for(let o=0;o<n.length;o++)i.push(this.coder);return Gb(e,i,n)}decode(e){let r=this.length;r===-1&&(r=e.readIndex(),z(r*Wr<=e.dataLength,"insufficient data length","BUFFER_OVERRUN",{buffer:e.bytes,offset:r*Wr,length:e.dataLength}));let n=[];for(let s=0;s<r;s++)n.push(new J1(this.coder));return Hb(e,n)}};var q1=class extends Tr{constructor(e){super("bool","bool",e,!1)}defaultValue(){return!1}encode(e,r){let n=Gt.dereference(r,"bool");return e.writeValue(n?1:0)}decode(e){return!!e.readValue()}};var wh=class extends Tr{constructor(e,r){super(e,e,r,!0)}defaultValue(){return"0x"}encode(e,r){r=qt(r);let n=e.writeValue(r.length);return n+=e.writeBytes(r),n}decode(e){return e.readBytes(e.readIndex(),!0)}},Z1=class extends wh{constructor(e){super("bytes",e)}decode(e){return J(super.decode(e))}};var X1=class extends Tr{size;constructor(e,r){let n="bytes"+String(e);super(n,n,r,!1),Be(this,{size:e},{size:"number"})}defaultValue(){return"0x0000000000000000000000000000000000000000000000000000000000000000".substring(0,2+this.size*2)}encode(e,r){let n=qt(Gt.dereference(r,this.type));return n.length!==this.size&&this._throwError("incorrect data length",r),e.writeBytes(n)}decode(e){return J(e.readBytes(this.size))}};var LO=new Uint8Array([]),$1=class extends Tr{constructor(e){super("null","",e,!1)}defaultValue(){return null}encode(e,r){return r!=null&&this._throwError("not null",r),e.writeBytes(LO)}decode(e){return e.readBytes(0),null}};var VO=BigInt(0),GO=BigInt(1),HO=BigInt("0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"),em=class extends Tr{size;signed;constructor(e,r,n){let s=(r?"int":"uint")+e*8;super(s,s,n,!1),Be(this,{size:e,signed:r},{size:"number",signed:"boolean"})}defaultValue(){return 0}encode(e,r){let n=Ce(Gt.dereference(r,this.type)),s=po(HO,Wr*8);if(this.signed){let i=po(s,this.size*8-1);(n>i||n<-(i+GO))&&this._throwError("value out-of-bounds",r),n=wl(n,8*Wr)}else(n<VO||n>po(s,this.size*8))&&this._throwError("value out-of-bounds",r);return e.writeValue(n)}decode(e){let r=po(e.readValue(),this.size*8);return this.signed&&(r=g1(r,this.size*8)),r}};var tm=class extends wh{constructor(e){super("string",e)}defaultValue(){return""}encode(e,r){return super.encode(e,kt(Gt.dereference(r,"string")))}decode(e){return mo(super.decode(e))}};var Eu=class extends Tr{coders;constructor(e,r){let n=!1,s=[];e.forEach(o=>{o.dynamic&&(n=!0),s.push(o.type)});let i="tuple("+s.join(",")+")";super("tuple",i,r,n),Be(this,{coders:Object.freeze(e.slice())})}defaultValue(){let e=[];this.coders.forEach(n=>{e.push(n.defaultValue())});let r=this.coders.reduce((n,s)=>{let i=s.localName;return i&&(n[i]||(n[i]=0),n[i]++),n},{});return this.coders.forEach((n,s)=>{let i=n.localName;!i||r[i]!==1||(i==="length"&&(i="_length"),e[i]==null&&(e[i]=e[s]))}),Object.freeze(e)}encode(e,r){let n=Gt.dereference(r,"tuple");return Gb(e,this.coders,n)}decode(e){return Hb(e,this.coders)}};function _b(t,e){return{address:qe(t),storageKeys:e.map((r,n)=>(I(ft(r,32),"invalid slot",`storageKeys[${n}]`,r),r.toLowerCase()))}}function _n(t){if(Array.isArray(t))return t.map((r,n)=>Array.isArray(r)?(I(r.length===2,"invalid slot set",`value[${n}]`,r),_b(r[0],r[1])):(I(r!=null&&typeof r=="object","invalid address-slot set","value",t),_b(r.address,r.storageKeys)));I(t!=null&&typeof t=="object","invalid access list","value",t);let e=Object.keys(t).map(r=>{let n=t[r].reduce((s,i)=>(s[i]=!0,s),{});return _b(r,Object.keys(n).sort())});return e.sort((r,n)=>r.address.localeCompare(n.address)),e}function Sl(t){return{address:qe(t.address),nonce:Ce(t.nonce!=null?t.nonce:0),chainId:Ce(t.chainId!=null?t.chainId:0),signature:Cr.from(t.signature)}}function gs(t){let e;return typeof t=="string"?e=Pr.computePublicKey(t,!1):e=t.publicKey,qe(ot("0x"+e.substring(4)).substring(26))}function Ml(t,e){return gs(Pr.recoverPublicKey(t,e))}var Ur=BigInt(0),_O=BigInt(2),YO=BigInt(27),jO=BigInt(28),WO=BigInt(35),zO=BigInt("0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"),JO=Symbol.for("nodejs.util.inspect.custom"),Yb=4096*32,rm=128;function KO(t){return{blobToKzgCommitment:n=>{if("computeBlobProof"in t){if("blobToKzgCommitment"in t&&typeof t.blobToKzgCommitment=="function")return ae(t.blobToKzgCommitment(J(n)))}else if("blobToKzgCommitment"in t&&typeof t.blobToKzgCommitment=="function")return ae(t.blobToKzgCommitment(n));if("blobToKZGCommitment"in t&&typeof t.blobToKZGCommitment=="function")return ae(t.blobToKZGCommitment(J(n)));I(!1,"unsupported KZG library","kzg",t)},computeBlobKzgProof:(n,s)=>{if("computeBlobProof"in t&&typeof t.computeBlobProof=="function")return ae(t.computeBlobProof(J(n),J(s)));if("computeBlobKzgProof"in t&&typeof t.computeBlobKzgProof=="function")return t.computeBlobKzgProof(n,s);if("computeBlobKZGProof"in t&&typeof t.computeBlobKZGProof=="function")return ae(t.computeBlobKZGProof(J(n),J(s)));I(!1,"unsupported KZG library","kzg",t)}}}function n3(t,e){let r=t.toString(16);for(;r.length<2;)r="0"+r;return r+=zr(e).substring(4),"0x"+r}function vl(t){return t==="0x"?null:qe(t)}function nm(t,e){try{return _n(t)}catch(r){I(!1,r.message,e,t)}}function qO(t,e){try{if(!Array.isArray(t))throw new Error("authorizationList: invalid array");let r=[];for(let n=0;n<t.length;n++){let s=t[n];if(!Array.isArray(s))throw new Error(`authorization[${n}]: invalid array`);if(s.length!==6)throw new Error(`authorization[${n}]: wrong length`);if(!s[1])throw new Error(`authorization[${n}]: null address`);r.push({address:vl(s[1]),nonce:Ft(s[2],"nonce"),chainId:Ft(s[0],"chainId"),signature:Cr.from({yParity:xu(s[3],"yParity"),r:en(s[4],32),s:en(s[5],32)})})}return r}catch(r){I(!1,r.message,e,t)}}function xu(t,e){return t==="0x"?0:Je(t,e)}function Ft(t,e){if(t==="0x")return Ur;let r=Ce(t,e);return I(r<=zO,"value exceeds uint size",e,r),r}function mt(t,e){let r=Ce(t,"value"),n=St(r);return I(n.length<=32,"value too large",`tx.${e}`,r),n}function sm(t){return _n(t).map(e=>[e.address,e.storageKeys])}function ZO(t){return t.map(e=>[mt(e.chainId,"chainId"),e.address,mt(e.nonce,"nonce"),mt(e.signature.yParity,"yParity"),St(e.signature.r),St(e.signature._s)])}function XO(t,e){I(Array.isArray(t),`invalid ${e}`,"value",t);for(let r=0;r<t.length;r++)I(ft(t[r],32),"invalid ${ param } hash",`value[${r}]`,t[r]);return t}function $O(t){let e=Ba(t);I(Array.isArray(e)&&(e.length===9||e.length===6),"invalid field count for legacy transaction","data",t);let r={type:0,nonce:xu(e[0],"nonce"),gasPrice:Ft(e[1],"gasPrice"),gasLimit:Ft(e[2],"gasLimit"),to:vl(e[3]),value:Ft(e[4],"value"),data:J(e[5]),chainId:Ur};if(e.length===6)return r;let n=Ft(e[6],"v"),s=Ft(e[7],"r"),i=Ft(e[8],"s");if(s===Ur&&i===Ur)r.chainId=n;else{let o=(n-WO)/_O;o<Ur&&(o=Ur),r.chainId=o,I(o!==Ur||n===YO||n===jO,"non-canonical legacy v","v",e[6]),r.signature=Cr.from({r:en(e[7],32),s:en(e[8],32),v:n})}return r}function eP(t,e){let r=[mt(t.nonce,"nonce"),mt(t.gasPrice||0,"gasPrice"),mt(t.gasLimit,"gasLimit"),t.to||"0x",mt(t.value,"value"),t.data],n=Ur;if(t.chainId!=Ur)n=Ce(t.chainId,"tx.chainId"),I(!e||e.networkV==null||e.legacyChainId===n,"tx.chainId/sig.v mismatch","sig",e);else if(t.signature){let i=t.signature.legacyChainId;i!=null&&(n=i)}if(!e)return n!==Ur&&(r.push(St(n)),r.push("0x"),r.push("0x")),yn(r);let s=BigInt(27+e.yParity);return n!==Ur?s=Cr.getChainIdV(n,e.v):BigInt(e.v)!==s&&I(!1,"tx.chainId/sig.v mismatch","sig",e),r.push(St(s)),r.push(St(e.r)),r.push(St(e._s)),yn(r)}function im(t,e){let r;try{if(r=xu(e[0],"yParity"),r!==0&&r!==1)throw new Error("bad yParity")}catch{I(!1,"invalid yParity","yParity",e[0])}let n=en(e[1],32),s=en(e[2],32),i=Cr.from({r:n,s,yParity:r});t.signature=i}function tP(t){let e=Ba(ae(t).slice(1));I(Array.isArray(e)&&(e.length===9||e.length===12),"invalid field count for transaction type: 2","data",J(t));let r={type:2,chainId:Ft(e[0],"chainId"),nonce:xu(e[1],"nonce"),maxPriorityFeePerGas:Ft(e[2],"maxPriorityFeePerGas"),maxFeePerGas:Ft(e[3],"maxFeePerGas"),gasPrice:null,gasLimit:Ft(e[4],"gasLimit"),to:vl(e[5]),value:Ft(e[6],"value"),data:J(e[7]),accessList:nm(e[8],"accessList")};return e.length===9||im(r,e.slice(9)),r}function rP(t,e){let r=[mt(t.chainId,"chainId"),mt(t.nonce,"nonce"),mt(t.maxPriorityFeePerGas||0,"maxPriorityFeePerGas"),mt(t.maxFeePerGas||0,"maxFeePerGas"),mt(t.gasLimit,"gasLimit"),t.to||"0x",mt(t.value,"value"),t.data,sm(t.accessList||[])];return e&&(r.push(mt(e.yParity,"yParity")),r.push(St(e.r)),r.push(St(e.s))),et(["0x02",yn(r)])}function nP(t){let e=Ba(ae(t).slice(1));I(Array.isArray(e)&&(e.length===8||e.length===11),"invalid field count for transaction type: 1","data",J(t));let r={type:1,chainId:Ft(e[0],"chainId"),nonce:xu(e[1],"nonce"),gasPrice:Ft(e[2],"gasPrice"),gasLimit:Ft(e[3],"gasLimit"),to:vl(e[4]),value:Ft(e[5],"value"),data:J(e[6]),accessList:nm(e[7],"accessList")};return e.length===8||im(r,e.slice(8)),r}function sP(t,e){let r=[mt(t.chainId,"chainId"),mt(t.nonce,"nonce"),mt(t.gasPrice||0,"gasPrice"),mt(t.gasLimit,"gasLimit"),t.to||"0x",mt(t.value,"value"),t.data,sm(t.accessList||[])];return e&&(r.push(mt(e.yParity,"recoveryParam")),r.push(St(e.r)),r.push(St(e.s))),et(["0x01",yn(r)])}function iP(t){let e=Ba(ae(t).slice(1)),r="3",n=null,s=null;if(e.length===4&&Array.isArray(e[0])){r="3 (network format)";let o=e[1],a=e[2],u=e[3];I(Array.isArray(o),"invalid network format: blobs not an array","fields[1]",o),I(Array.isArray(a),"invalid network format: commitments not an array","fields[2]",a),I(Array.isArray(u),"invalid network format: proofs not an array","fields[3]",u),I(o.length===a.length,"invalid network format: blobs/commitments length mismatch","fields",e),I(o.length===u.length,"invalid network format: blobs/proofs length mismatch","fields",e),s=[];for(let l=0;l<e[1].length;l++)s.push({data:o[l],commitment:a[l],proof:u[l]});e=e[0]}else if(e.length===5&&Array.isArray(e[0])){r="3 (EIP-7594 network format)",n=Je(e[1]);let o=e[2],a=e[3],u=e[4];I(n===1,`unsupported EIP-7594 network format version: ${n}`,"fields[1]",n),I(Array.isArray(o),"invalid EIP-7594 network format: blobs not an array","fields[2]",o),I(Array.isArray(a),"invalid EIP-7594 network format: commitments not an array","fields[3]",a),I(Array.isArray(u),"invalid EIP-7594 network format: proofs not an array","fields[4]",u),I(o.length===a.length,"invalid network format: blobs/commitments length mismatch","fields",e),I(o.length*rm===u.length,"invalid network format: blobs/proofs length mismatch","fields",e),s=[];for(let l=0;l<o.length;l++){let f=[];for(let d=0;d<rm;d++)f.push(u[l*rm+d]);s.push({data:o[l],commitment:a[l],proof:et(f)})}e=e[0]}I(Array.isArray(e)&&(e.length===11||e.length===14),`invalid field count for transaction type: ${r}`,"data",J(t));let i={type:3,chainId:Ft(e[0],"chainId"),nonce:xu(e[1],"nonce"),maxPriorityFeePerGas:Ft(e[2],"maxPriorityFeePerGas"),maxFeePerGas:Ft(e[3],"maxFeePerGas"),gasPrice:null,gasLimit:Ft(e[4],"gasLimit"),to:vl(e[5]),value:Ft(e[6],"value"),data:J(e[7]),accessList:nm(e[8],"accessList"),maxFeePerBlobGas:Ft(e[9],"maxFeePerBlobGas"),blobVersionedHashes:e[10],blobWrapperVersion:n};s&&(i.blobs=s),I(i.to!=null,`invalid address for transaction type: ${r}`,"data",t),I(Array.isArray(i.blobVersionedHashes),"invalid blobVersionedHashes: must be an array","data",t);for(let o=0;o<i.blobVersionedHashes.length;o++)I(ft(i.blobVersionedHashes[o],32),`invalid blobVersionedHash at index ${o}: must be length 32`,"data",t);return e.length===11||im(i,e.slice(11)),i}function oP(t,e,r){let n=[mt(t.chainId,"chainId"),mt(t.nonce,"nonce"),mt(t.maxPriorityFeePerGas||0,"maxPriorityFeePerGas"),mt(t.maxFeePerGas||0,"maxFeePerGas"),mt(t.gasLimit,"gasLimit"),t.to||mu,mt(t.value,"value"),t.data,sm(t.accessList||[]),mt(t.maxFeePerBlobGas||0,"maxFeePerBlobGas"),XO(t.blobVersionedHashes||[],"blobVersionedHashes")];if(e&&(n.push(mt(e.yParity,"yParity")),n.push(St(e.r)),n.push(St(e.s)),r)){if(t.blobWrapperVersion!=null){let s=St(t.blobWrapperVersion),i=[];for(let{proof:o}of r){let a=ae(o),u=a.length/rm;for(let l=0;l<a.length;l+=u)i.push(a.subarray(l,l+u))}return et(["0x03",yn([n,s,r.map(o=>o.data),r.map(o=>o.commitment),i])])}return et(["0x03",yn([n,r.map(s=>s.data),r.map(s=>s.commitment),r.map(s=>s.proof)])])}return et(["0x03",yn(n)])}function aP(t){let e=Ba(ae(t).slice(1));I(Array.isArray(e)&&(e.length===10||e.length===13),"invalid field count for transaction type: 4","data",J(t));let r={type:4,chainId:Ft(e[0],"chainId"),nonce:xu(e[1],"nonce"),maxPriorityFeePerGas:Ft(e[2],"maxPriorityFeePerGas"),maxFeePerGas:Ft(e[3],"maxFeePerGas"),gasPrice:null,gasLimit:Ft(e[4],"gasLimit"),to:vl(e[5]),value:Ft(e[6],"value"),data:J(e[7]),accessList:nm(e[8],"accessList"),authorizationList:qO(e[9],"authorizationList")};return e.length===10||im(r,e.slice(10)),r}function cP(t,e){let r=[mt(t.chainId,"chainId"),mt(t.nonce,"nonce"),mt(t.maxPriorityFeePerGas||0,"maxPriorityFeePerGas"),mt(t.maxFeePerGas||0,"maxFeePerGas"),mt(t.gasLimit,"gasLimit"),t.to||"0x",mt(t.value,"value"),t.data,sm(t.accessList||[]),ZO(t.authorizationList||[])];return e&&(r.push(mt(e.yParity,"yParity")),r.push(St(e.r)),r.push(St(e.s))),et(["0x04",yn(r)])}var Ri=class t{#e;#t;#r;#n;#s;#o;#i;#a;#c;#d;#l;#A;#f;#h;#p;#u;#g;#E;get type(){return this.#e}set type(e){switch(e){case null:this.#e=null;break;case 0:case"legacy":this.#e=0;break;case 1:case"berlin":case"eip-2930":this.#e=1;break;case 2:case"london":case"eip-1559":this.#e=2;break;case 3:case"cancun":case"eip-4844":this.#e=3;break;case 4:case"pectra":case"eip-7702":this.#e=4;break;default:I(!1,"unsupported transaction type","type",e)}}get typeName(){switch(this.type){case 0:return"legacy";case 1:return"eip-2930";case 2:return"eip-1559";case 3:return"eip-4844";case 4:return"eip-7702"}return null}get to(){let e=this.#t;return e==null&&this.type===3?mu:e}set to(e){this.#t=e==null?null:qe(e)}get nonce(){return this.#n}set nonce(e){this.#n=Je(e,"value")}get gasLimit(){return this.#s}set gasLimit(e){this.#s=Ce(e)}get gasPrice(){let e=this.#o;return e==null&&(this.type===0||this.type===1)?Ur:e}set gasPrice(e){this.#o=e==null?null:Ce(e,"gasPrice")}get maxPriorityFeePerGas(){let e=this.#i;return e??(this.type===2||this.type===3?Ur:null)}set maxPriorityFeePerGas(e){this.#i=e==null?null:Ce(e,"maxPriorityFeePerGas")}get maxFeePerGas(){let e=this.#a;return e??(this.type===2||this.type===3?Ur:null)}set maxFeePerGas(e){this.#a=e==null?null:Ce(e,"maxFeePerGas")}get data(){return this.#r}set data(e){this.#r=J(e)}get value(){return this.#c}set value(e){this.#c=Ce(e,"value")}get chainId(){return this.#d}set chainId(e){this.#d=Ce(e)}get signature(){return this.#l||null}set signature(e){this.#l=e==null?null:Cr.from(e)}isValid(){let e=this.signature;if(e&&!e.isValid())return!1;let r=this.authorizationList;if(r){for(let n of r)if(!n.signature.isValid())return!1}return!0}get accessList(){let e=this.#A||null;return e??(this.type===1||this.type===2||this.type===3?[]:null)}set accessList(e){this.#A=e==null?null:_n(e)}get authorizationList(){let e=this.#g||null;return e==null&&this.type===4?[]:e}set authorizationList(e){this.#g=e==null?null:e.map(r=>Sl(r))}get maxFeePerBlobGas(){let e=this.#f;return e==null&&this.type===3?Ur:e}set maxFeePerBlobGas(e){this.#f=e==null?null:Ce(e,"maxFeePerBlobGas")}get blobVersionedHashes(){let e=this.#h;return e==null&&this.type===3?[]:e}set blobVersionedHashes(e){if(e!=null){I(Array.isArray(e),"blobVersionedHashes must be an Array","value",e),e=e.slice();for(let r=0;r<e.length;r++)I(ft(e[r],32),"invalid blobVersionedHash",`value[${r}]`,e[r])}this.#h=e}get blobs(){return this.#u==null?null:this.#u.map(e=>Object.assign({},e))}set blobs(e){if(e==null){this.#u=null;return}let r=[],n=[];for(let s=0;s<e.length;s++){let i=e[s];if(Ii(i)){z(this.#p,"adding a raw blob requires a KZG library","UNSUPPORTED_OPERATION",{operation:"set blobs()"});let o=ae(i);if(I(o.length<=Yb,"blob is too large",`blobs[${s}]`,i),o.length!==Yb){let l=new Uint8Array(Yb);l.set(o),o=l}let a=this.#p.blobToKzgCommitment(o),u=J(this.#p.computeBlobKzgProof(o,a));r.push({data:J(o),commitment:J(a),proof:u}),n.push(n3(1,a))}else{let o=J(i.data),a=J(i.commitment),u=J(i.proof);r.push({data:o,commitment:a,proof:u}),n.push(n3(1,a))}}this.#u=r,this.#h=n}get kzg(){return this.#p}set kzg(e){e==null?this.#p=null:this.#p=KO(e)}get blobWrapperVersion(){return this.#E}set blobWrapperVersion(e){this.#E=e}constructor(){this.#e=null,this.#t=null,this.#n=0,this.#s=Ur,this.#o=null,this.#i=null,this.#a=null,this.#r="0x",this.#c=Ur,this.#d=Ur,this.#l=null,this.#A=null,this.#f=null,this.#h=null,this.#p=null,this.#u=null,this.#g=null,this.#E=null}get hash(){return this.signature==null?null:ot(this.#m(!0,!1))}get unsignedHash(){return ot(this.unsignedSerialized)}get from(){return this.signature==null?null:Ml(this.unsignedHash,this.signature.getCanonical())}get fromPublicKey(){return this.signature==null?null:Pr.recoverPublicKey(this.unsignedHash,this.signature.getCanonical())}isSigned(){return this.signature!=null}#m(e,r){z(!e||this.signature!=null,"cannot serialize unsigned transaction; maybe you meant .unsignedSerialized","UNSUPPORTED_OPERATION",{operation:".serialized"});let n=e?this.signature:null;switch(this.inferType()){case 0:return eP(this,n);case 1:return sP(this,n);case 2:return rP(this,n);case 3:return oP(this,n,r?this.blobs:null);case 4:return cP(this,n)}z(!1,"unsupported transaction type","UNSUPPORTED_OPERATION",{operation:".serialized"})}get serialized(){return this.#m(!0,!0)}get unsignedSerialized(){return this.#m(!1,!1)}inferType(){let e=this.inferTypes();return e.indexOf(2)>=0?2:e.pop()}inferTypes(){let e=this.gasPrice!=null,r=this.maxFeePerGas!=null||this.maxPriorityFeePerGas!=null,n=this.accessList!=null,s=this.#f!=null||this.#h;this.maxFeePerGas!=null&&this.maxPriorityFeePerGas!=null&&z(this.maxFeePerGas>=this.maxPriorityFeePerGas,"priorityFee cannot be more than maxFee","BAD_DATA",{value:this}),z(!r||this.type!==0&&this.type!==1,"transaction type cannot have maxFeePerGas or maxPriorityFeePerGas","BAD_DATA",{value:this}),z(this.type!==0||!n,"legacy transaction cannot have accessList","BAD_DATA",{value:this});let i=[];return this.type!=null?i.push(this.type):this.authorizationList&&this.authorizationList.length?i.push(4):r?i.push(2):e?(i.push(1),n||i.push(0)):n?(i.push(1),i.push(2)):(s&&this.to||(i.push(0),i.push(1),i.push(2)),i.push(3)),i.sort(),i}isLegacy(){return this.type===0}isBerlin(){return this.type===1}isLondon(){return this.type===2}isCancun(){return this.type===3}clone(){return t.from(this)}toJSON(){let e=r=>r==null?null:r.toString();return{type:this.type,to:this.to,data:this.data,nonce:this.nonce,gasLimit:e(this.gasLimit),gasPrice:e(this.gasPrice),maxPriorityFeePerGas:e(this.maxPriorityFeePerGas),maxFeePerGas:e(this.maxFeePerGas),value:e(this.value),chainId:e(this.chainId),sig:this.signature?this.signature.toJSON():null,accessList:this.accessList}}[JO](){return this.toString()}toString(){let e=[],r=s=>{let i=this[s];typeof i=="string"&&(i=JSON.stringify(i)),e.push(`${s}: ${i}`)};this.type&&r("type"),r("to"),r("data"),r("nonce"),r("gasLimit"),r("value"),this.chainId!=null&&r("chainId"),this.signature&&(r("from"),e.push(`signature: ${this.signature.toString()}`));let n=this.authorizationList;if(n){let s=[];for(let i of n){let o=[];o.push(`address: ${JSON.stringify(i.address)}`),i.nonce!=null&&o.push(`nonce: ${i.nonce}`),i.chainId!=null&&o.push(`chainId: ${i.chainId}`),i.signature&&o.push(`signature: ${i.signature.toString()}`),s.push(`Authorization { ${o.join(", ")} }`)}e.push(`authorizations: [ ${s.join(", ")} ]`)}return`Transaction { ${e.join(", ")} }`}static from(e){if(e==null)return new t;if(typeof e=="string"){let n=ae(e);if(n[0]>=127)return t.from($O(n));switch(n[0]){case 1:return t.from(nP(n));case 2:return t.from(tP(n));case 3:return t.from(iP(n));case 4:return t.from(aP(n))}z(!1,"unsupported transaction type","UNSUPPORTED_OPERATION",{operation:"from"})}let r=new t;return e.type!=null&&(r.type=e.type),e.to!=null&&(r.to=e.to),e.nonce!=null&&(r.nonce=e.nonce),e.gasLimit!=null&&(r.gasLimit=e.gasLimit),e.gasPrice!=null&&(r.gasPrice=e.gasPrice),e.maxPriorityFeePerGas!=null&&(r.maxPriorityFeePerGas=e.maxPriorityFeePerGas),e.maxFeePerGas!=null&&(r.maxFeePerGas=e.maxFeePerGas),e.maxFeePerBlobGas!=null&&(r.maxFeePerBlobGas=e.maxFeePerBlobGas),e.data!=null&&(r.data=e.data),e.value!=null&&(r.value=e.value),e.chainId!=null&&(r.chainId=e.chainId),e.signature!=null&&(r.signature=Cr.from(e.signature)),e.accessList!=null&&(r.accessList=e.accessList),e.authorizationList!=null&&(r.authorizationList=e.authorizationList),e.blobVersionedHashes!=null&&(r.blobVersionedHashes=e.blobVersionedHashes),e.kzg!=null&&(r.kzg=e.kzg),e.blobWrapperVersion!=null&&(r.blobWrapperVersion=e.blobWrapperVersion),e.blobs!=null&&(r.blobs=e.blobs),e.hash!=null&&(I(r.isSigned(),"unsigned transaction cannot define '.hash'","tx",e),I(r.hash===e.hash,"hash mismatch","tx",e)),e.from!=null&&(I(r.isSigned(),"unsigned transaction cannot define '.from'","tx",e),I(r.from.toLowerCase()===(e.from||"").toLowerCase(),"from mismatch","tx",e)),r}};function jb(t){return I(typeof t.address=="string","invalid address for hashAuthorization","auth.address",t),ot(et(["0x05",yn([t.chainId!=null?St(t.chainId):"0x",qe(t.address),t.nonce!=null?St(t.nonce):"0x"])]))}function bn(t){return ot(kt(t))}var uP="AEkVMQnvDV0B0wKWAQYBQgDpATQAoQDcAIUApwBsAOMAcACTAEUAigBRAHkAPgA/ACwANwAoAGIAHgAvACsAJQAXAC8AHAAhACIALwAVACsAEQAiAAsAGwARABgAFwA7ACoAKwAsADQAFgAtABIAHAAhAA4AHQAdABUAFgAZAA0ADgAXABAAGQAUABIEtAYQASIUOjfDBdMAsQCuPwFnAKUBA10jAK5/Ly8vLwE/pwUJ6/0HPwbkMQVXBVgAPSs5APa2EQbIwQuUCkEDyJ4zAsUKLwKOoQKG2D+Ob4kCxcsCg/IBH98JAPKtAUECLY0KP48A4wDiChUAF9S5yAwLPZ0EG3cA/QI5GL0P6wkGKekFBIFnDRsHLQCrAGmR76WcfwBbBpMjBukAGwA7DJMAWxVbqft7uycM2yDPCLspA7EUOwD3LWujAKF9GAAXBCXXFgEdALkZzQT6CSBMNwmXCYgeG1ZZTOODQgATAAwAFQAOa1QAIQAOAEfuFdg98zlYypXmLgoQHV9NWD3sABMADAAVAA5rIFxAlwDD6wAbADkMxQAbFVup+3EB224cHQVbBeIC0J8CxLAKTBykZRRzGm1M9QC7DWcC4QALLTSJF8mRAoF7ARMbAL0NZwLhAAstAUhQJZFMCgMt+wUyCddpF60B10MASSsSdwIxFiEC6ye5N2sAOeEB9SUAxw7LtQEbY4EAsQUABQCK00kFG8MfBxcAqCfRAaErLQObAGcBChk+7Td0BBgXAKoBxwIhANMrEnM681CwBZA6dyc1SAX6JwVZBVivuAVpO11CEjpYQZd7k2ZfofgLEwPFByXxdyMEo0sCU1MCdRurJwGPo6U1WwNFFwSDYQkA0QarPy8jBykCOV0AawFhH3EAgx0ZAJUBSbcAJ2kXAa/FAzctIUNTAW9ZBmUCZQDxSRcDKQEFAElBAKsAXQBzACu1Bgfz7xmNfwAJIQApALMbRwHRAdsHCzGXeIHoAAoAEQA0AD0AODN3edPAEF8QXAFNCUxsOhULAqwPpgvlERUM0SrL09gANKkH6wNTB+sDUwNTB+sH6wNTB+sDUwNTA1MDUxwK8BrTwBBfD0gEbQWOBYsE1giDJkkRgQcoCNJUDXQeHEcDRQD8IyVJHDuTMwslQkwMTQMH/DZCbKd9OANHMatU9ZCiA8syTzlsAR5xEqAAKg9zHDW1Tn56R3GgCktPrrV/SWJOZwK+Oqg/+AohCZNvu3dOBj0QFyehEPMMLwGxATcN6UvUBO0GNwTFH3kZFQ/JlZgIoS3ZDOkm3y6dgFYj8Sp/BelL8DzZC0lRZA9VC2EJ3zpfgUoDHQEJIocK2Q01CGkQ7wrFZw3hEUEHNQPRSZYAoQb9Cw0dMRWxJgxiqAsFOXMG9xryC4smqxMlevgFzxodBkkBJRr7AMsu44WsWi1cGE9bBf8LISPDFKRQHA0hQLN4RBoXBxElpQKNQ2xKg1EyHo8h8jw5DWIuD1F4B/E8ARlLC308mkanRQoRzj6JPUQiRUwoBDF7LCsnhwnLD4EMtXxuAVUJHQmtDG0TLRETN8EINQcVKZcgJxEIHUaRYJYE85sD7xPNAwcFOwk9Bw8DsRwpEyoVJQUJgSDTAu820S6vAotWfAETBccPIR/bEExH3A7lCJcCYQN/JecAKRUdABMilwg/XwBbj9RTAS7HCMNqaCNwA2MU410RbweNDlMHoxwvFbsc3XDEXgeGBCifqwlXAXEJlQFbBN8IBTVXjJwgPWdPi1QYlyBdQTtd+AItDGEVm0S5h3QChw9nEhcBMQFvBzUM/QJzEekRZxCRCOeGADWxM/Q6IQRLIX8gDQojA0tsygsjJvUM9GUBnxJeAwg0OXfqZ6dgsiAX+QcVMsFBXCHtC45PyQyYGr0YPlQqGeAHuwPvGu8n5kFTBfsDnw86STPqBLkLZQiHCTsARQ6fEwfTGGYKbYzMAS2HAbOVA1ONfwJriwYzBwcAYweDBXXhABkCowifAAEAywNTADUCqQeZABUAgT0BOQMjKwEd4QKLA48ILccBkSsB7yUEF78MEQDzM25GAsOtAoBmZp4F2VQCigJFMQFJIQQBSkNNA6tt3QDXAEcGD9tDARGnRscW3z8B22snAMMA9wABMQcBPQHJAe9pALMBWwstCZ6vsQFJ5SUAfwARZwHTAoUA2QAxAHvtAU8ASQVV9QXPAktFAQ0tFCdTXQG3AxsBLwEJAHUGx4mhxQMbBGkHzwIQFxXdAu8qB7EDItsTyULBAr3aUQAyEgo0CrUKtB9f81wvAi1uPUwACh+kPsM/SgVNO087VDtPO1Q7TztUO087VDtPO1QDk7veu94KaF9BYecMog3QRMQ6RRPXYE1gLhPELbMUvRXKJVIZORq4JwEl4FUFDwAtz2YsCCg0cRe4ADspZIM9Y4IeLApHHONTjVT0LRcArUueM6sNqBsRRDwFQ3XpYiYWCgoeAmR9AmI+V0mrVzccAqHzAmiUAmYFAp+AOBcHAmY3AmYiBGoEewN/DwN+jjkCOXMTOX46Hx8CbBkCMjI4BgJtwwJtquuGL2NBJwFjANoA3QBGAQeUDIkA+ge+AAmxAncrAnaeOwJ5Rz8CeLYZWNdFqkbTAnw7AnrEAn0FAnzsBVUFHEf8SHlfIAAnEUlUSlcRE0rIAtD9AtDISyMDiEsDh+JEwZEuAvKdXP8DA6pLykwpIctNSE2rAos7AorUvRcDGT9jAbMCjjMCjlg8k30CjtUCjlh0UbBTMQZS0FSBApP3ApMIAOUAGFUaVatVzAIsFymRgjLdeGJFNzUCl5sC765YHaQAVSEClosClniYAKVZqFoFfUkANwKWsQKWSlxAXM0CmccCmWBcxl0DFQKclzm+OpkCnBICn5cCnrSGABkLLSYLAp3tAp6OALE5YTBh6wKezwKgagGlAp6bGwKeSqFjxGQjIScCJ6sCJnoCoPcCoEgCotkCocACpisCpcoCp/sAeQKn7mh4aK3/RWoYas0CrN8CrKoCrWMCrP4CVxkCVdgCsd3TAx9KbJMCsrkJArLkE2zcbV9tRFsDJckCtlg3O26MAylBArhaArlDEQK5JnNwMnDdAr0VArvWcJIDMg0CvoRx/gMzbQK+FnMec0sCw8cCwwBzfnRHMUF03AM8owM8lgM9uwLFeALGQwLGDIUCyGVNAshAAslLAskqAmSZAt3OeHVdeKp5IUvMAxifZv4CYfAZ75Ugewdejl63DQLPZwLPaCtHT87vD5sAwqkCz28BJeYDTg5+RwEC3CMC24YC0ksDUlgDU1sA/QNViICFO8cS6VxBghiCz4LKg4kC2sMC2dqEDIRFpzgDhqEAKwNkCoZtVfUAUQLfYQLetG9zAuIr7RAB8ywjAfSXAfLOgwLr7wLpbHUC6vUC6uAA9UMBtQLuhQLrmJamlv8C7jsDhdyYdXDccZ0C8v8AZQOOEpmPAvcPA5FqA5KDAveUAvnVAvhimhiap7czmxoDnX8C/vYBFwA1nxifrwMFiQOmZgOm1QDNwQMGZqGEogEFAwxFAQsBGwdpBl21YwEAtwRnuw2HHq8JABNxNQAfAy8SSQOFewFfIx0AjOsAHQDmnwObjQizBhufwQCnBRG76R09PhZ4BWg3PkArQiFCtF9xEV+8AJbFBTIAkEwZm7k7JmAyEbrPDi8YxhiJyfYFVwVYBVcFWAVjBVgFVwVYBVcFWAVXBVgFVwVYRhUI14VnAgICCmRe6SsEyQOxBi+7uwC7BKe7AOdAKRayBUY+aT5wQj9Ctl91N1/oAFgRM6sAjP7Ma8v8pudGej0mIwQrFic2NX5t32rB8RnCLGkBa9duMBcFXwVqycHJuAjPSVsAAAAKfF59i74AMz+BAAMW0QblrSMFAIzDCwMBDQDlZR09JB9KQrFCvEE4I18nYDYnOCMJwT0KRD9DPng+gT5wPnECiUK8SUI7X8tOT2pNCixrVC9qC24fX+AzOhsJZ5sKYiMrPB0mQqtCvCvMAcv8X8kOHy4JCAkifp3fajotShfJq8msCWXBy8wKYEFfD+UQoxEAk40dRUIlG6ltOc44CjM/Qz5wQj8cBwodTEdsWywtWuG8Egp97R0rQj8cXQhKCQ4zVENCNwQ7Q5wsCoEbLUI/G/UIUyIjGDAxAAWPYfBeCnFkyWALYC0jbkNgGTkCGx5gswYCaxBlTmBNEQFk52AVYJVgfWCzYEtgkWgWFwa1DtxVqbxaC0MWqwG7K83BAh8VABwDHgF5AmwvMJVSgAGKCrhHGgDkI3SOCsoNpk3qAZsCh5xPBUBfAPf3BwA0FlcMC6UMJB+6r0eAgQw0ABUTnyuCCHoC0gtLZREbANhOBnUECh5aADEAtritAJQnCxZvqyQ4nxkBWwGGCfwD2e0PBqoGSga5AB3LValaCbthE4kLLT8OuwG7ASICR1ooKCggHh8hLBImBiEMjQBUAm5XkEmVAW4fD3FHAdN1D85RIBmpsE3qBxEFTF8A9/cHAHoGJGwKKwulODAtx69WDQsAX7wLAGNAlQh6AOpN7yIbvwAxALa4rQCUJy07Ds4CkBh7ULtYyHRyjsOlmw/ZFUkb7AEpEFwSBh/lAccJOhCTBQ8rDDYLABEAs+AiAQIApADhAJiCCrJrOS8AFABbG8YubHYqDcEQAjskHNPhHB4LG30CewTBCqrxbAAnLQ6mLs6hHAe7CQAQOg+7GkcczaF3HgE9Kl8cLs4RGQB9q9ocAuugCAHCAULz5B9lAb4Jtwz6CDwKPgAFwAs9AksNuwi8DTwKvAk8DrsFmAEbawouzqEqD4sa4QHDAREWOwCgCzsLuxC7BBiqe9wAO2sMPAACpgm8BRvQ9QUBvgH6bsoGewG7D00RErwBAQDqAQAAdBVbBhbLFPxvF7sYOxjbL7ZtvgNIqLsAB7sALrsC6w5WAAq7BAAeuwJVICp/FTwVuwG+J+QAsloBvSjgo7vIAAFbAAG7AAJbAALjAAg7AA67AgAbu6VbDr/EAPQAaPuoOwMBu5UnSwDn3Rm7CBp7CKEFCv9wAN+7p7sau6OLeXIG+6mbgwASuwYbCwG8AACGAG27BgALu6c7ARo7ugihnMoBuwvtB8CpOwDhewG/AADlABW7AAb7AAm7AGmLABq7GLuOaRX7AA5rAC5LHgAGuwAXuwghAA1KAcIAt68mAcAAALQADpsAHBsBv/7hCqEABcYLFRXbAAebAEK7AQIAabsAC3sAHbsACLsJoQAFygBunxnVAJEIIQAFygABOwAH2wAdmwghAAaaAAl7ABsrAG0bAOa7gAAIWwAUuwkhAAbKAOOLAAk7C6EOxPtfAAc7AG6cQEgARwADOwAJrQM3AAcbABl7Abv/Aab7AAobAAo7AAn7p+sGuwAJGwADCwAQOwAIPAAUOwARawAPiwAN6wANuwAZCwYWGwAVOwBumxm7ALobLgATOwMAaSsKAOFLAAI7AARSABd7BRsABtAAGLsAC/sAX7sAa/sA5IsBuwAXdgG8AAFyC6EABUoAbXYAB/sA5XsAHGseAXsoUgA5RQD+Bw0McgAoKnABpAUIXgG8XiMMCQdvS2xfKokfPBRiLTYDoQq0AdgAFgLRA24BdnJHUhQhA08CFT4BLAYDc0a8e1J6QAApADEB+wBTCtsAe5AsASsAduUNETJGAUoAVwUAAVABB4rMAHg7BCClAFoA1hUAlWg3H4sAzWuxAM/UFgjCdXMbGFYdCdEBiJCrIlNTTUgSPMKJ+QB/HDdAKSvgEZdPAHIBKSwwKUIZDwMwVQT3xe4AS2XcAGoCcQI/EXo6x3guNdUGBQAQGx0KCAwqBB8dKU5TTgi5ugAKEs0AJgABGgCGAIkAjjUA7gC0AOAAnTwAuwCrAKYAoQDyAJ8A0wCcAOsBDAEHAMAAeQBaAMsAzQEHANcA6wCIAKIBNQDjANgA1QMBByoz1NTU1LbA3M3QzkMyFwFNAVcvRwFVAWQBYwFWAUdLQ0VoDQFOFQcIAzI2DAcAIg0kJiksODo6PT09Pj8OQB5RUVFRU1NSUylUVVdWVhxdYWFgYmEjZmhwb3JycnJycnR0dHR0dHR0dHR0dnZ3dnVbAEDsAEUAlgB0AC4AYvIAigBTAFMAMwJz6QCH//LyAGAAj+wAmwBLAF4AYPn5qgCBAIEAZQBSAK0AHgCyAH8CPAI/APgA4wD6APoA5AD7AOUA5QDkAOIAKQJ3AU0BPAE6AVABOgE6AToBNQE0ATQBNAEYAVQPACsIAABNFwoWAxUWDgCKAJIAogBLAGQYAi0AcABpAJEDEgMkKgMeQT5HKQCLAksAwwJTAqAAugKSApICkgKSApICkgKHApICkgKSApICkgKSApECkQKUApwCkwKSApICkAKQApACkAKOApECcQHQApMCmwKSApICkRZ5CwD6BQOnAl0CNhcBUBA1At4RCisTAUo3E02RAXekPAFlWQD/Az1HAQAAkykeGI9qAClgAGkALgCJA5TMi/CuhFoFuisOwhEBndV0KgsEIzFsATNabAGyAN5+gH9+gH6BgoJ+g4aEfoWIhoCHgoiCiX6Kfot+jIqNfo5+j4KQfpF+kn6TfpSDlYiWgpd+2gLabOEC2GwAgmwkbKAAg2xsBEkERgRIBEsESQRPBEwERwRNBE8ETgRKBEwETwCWZmwAowOIbAC0ZgEFbADJUWxsAM9sAgxsAPZabAD2ARkA9gD0APQA9QD0A31ebNSEI2XAAPYA9AD0APUA9BxsbACJWmwA9gCJARkA9gCJAL4A6AAIAPYAiQN9XmzUhCNlwBxsAPdabAEZAPYA9gD0APQA9QD0APcA9AD0APUA9AN9XmzUhCNlwBxsbACJWmwBGQD2AIkA9gCJAu0A9gCJAL4CNwD3AIkDfV5s1IQjZcAcbAJDATZsAkoBOWwCS8FsbAJXbGwDnwLtA58DnwOgA6ADoAOg1IQjZcAGA31ebBxsbACJWmwBGQOfAIkDnwCJAu0DnwCJAL4CNwOfAInUhCNlwAYDfV5sHGwEPmwAiQQ/AIkGjTFtIDFs1m4DKGwDrAJsbABVWv4VMgJsbACJAmwAVAEAul5sAmxebGwAiV5sAmxebD3YAEls1gJsbEbCxxP/x5BApA0KYFA89AsjTx97EHmJQPyocItC2JnNFRCEnFU6SFTDoI0PxeRNRoNRWkpzVnWW8pTagkNmgf+jGupqZ3eu50LAFnc+OzfJwdub1AdpOy76VnijWNR/CMEevikQkFyQuLuPajxWi9chqOoMJ7qpCN4sx3LJG4Myu8kD68wC6+iAwt+pU1JEeY13rpCVkXSZfinVKn4xZpxsI3Lp8bJLrJ9ujkrIalMRBAcv/GSKEtowzcEn5XmJw2BagB8V2UWJoJHZ14SXhM7p0XeGFOuw6mlvyq99WYp5XxrO6ru9nn4RHcOkJ7hx5UqWtman7yVMLzYXQefQRUdIY70RYQE8+aAzCNSGQkXiHfnHYRMi+xczKDdZLk3AV1gzxkkSHLjBwuq8shIJ+/RAbqjqQbugFhe0rqklu432EERkM5k9y1DXzds46oLqKAx6OhPT2WiqEfhaITn7OF9Y694AmKmUvbpWp0xJqDaf3jeNJXnK6NpnGcFOmbclbARC+5+5U52ufw5b0Hh+2LrrNimvZe4eYmApRsZnJE310SqB+1xB6rSJfnV1f2D0awB18Oc0sXAFqIlgHgWiaZGdvP5CJUSsCTCQUC335+iSkwPlLJJ5lwjTSn9Lw22NbK1Tu8w+bUpHtDRDPho7Gun8aw2Jzu9i+N0Ot/kPMbLAb/rUQ82kfpk85qLDkfxLl39QPDngo72GYh/Xigbpcm1pA23D2ywt3D8GgMOao040wDqkHxOEx0OhC+ZmHiIdjK7yRbfJD2ouZbAedhD3p7s8WDmCJfNforgDYPGAXSI08fTjPZ5B37lc5VXGzc1vJmibDwBNVzXuaUzg7N5H4BxqjhJ+kz9HLUJys7bpBDYAPvbut13AwJCWd059tS8YTYgC8HwrkewBfa1LSSpmMr9uR2EekTiAMH+Mx4AGzgbquccwBDlLmRhgXL/YiLPCEb6d2k5qJ6o800qddABkpqt7NG+sc2uvHZwZs57W1AHTFM1KkMShasADAh2FvzbzJOzVDMS3ZlT2BSFKdnkZFB6JyqJbhm6XANis9TrtzJdlPVp+rl8v3nIke6Jou7m2TKu53Vounupgkz2LzrQPhhatLIG7rfF/gUKWp15X3LKt+ZvuCDSqPUigF9yJntimC1HJR7Yj/dUrLAXWrT+1tnwPJJLGKAlQ5VeNDWRKCTt2vz3rJuo4+gIt75/Mkfl/gSZblZ9r/SEeeosZXneli/xNh1WVCvkRt2RnyyjtMkMqhzXh1PVOCbILqv0r7rGYm0CHIyKdhHL90cl9E1I6eEtQTCt6RXj8M0HHrHCHLVRpNM6WIbT5BCMGVnL0o5895qSRbCJz+5I8PGMhAN/Xrj4BgIdlKqlHtBHqTJwmK169toZ2IWxNzrAbIG7zh85Q/LG2A4yBcaBel52zdunokB0lv3A7kXnTI7M6ZnfZ7nwuj5lkGhqSpW+w5CI/FmRlplBEbnZy1ZxS3DL8rf1YWhO5XivWZBSRh1gFsjjyj3qRG1cm/6ors7WsEif6WRxns1MKDZa6KrbfMQ/swIb+2nb0tqxHeii6FcgVeAjE/Xwac1owx04dJKG8R5YQgHNnEfHf0qb8WOnU0eQSjazq+IK7cSuCqYzPEUB/x+QgGZqM3dBoYvNvZVOHDkbgdilWdagqO5bkybXfLpyMPuGq8mvAAEZGbR6RwXGlW9ErOWTfnjfx6dXFJqBj0OBSGFz4lWQasNOmVJeN4SFWSLfOGB/7ehV5YuoNNROHZEG9ElVuMnqbDMMuDleOt/cN/gsWxGw128mwU8/HxkOKqdTZnI7dHka67WCTf/FmBrxpNCaKJ1GxBTCSS7MNfhNj8S4Gtotg6Z3AM9cAeVROnppUMaiV5jjudLnNqoVrKO1/FijLlAc74kxydxKX1RQuMqHR63eecYr5o6MJ+B78VsLlCrpelWh6GOrCOBIoQmIcdpJL1pwE2zzZqBkecGTdK8KMOB6r1eNRURyrz6M899TZaoS/vNOxHf+5gORU+OyYIcIW6diP25GHF6u8TNjuL/GJzCnLLXd01KrsjRa51v4+O/VIAWXESJxfxWjv628J+cWUQpoD+Yytzs3jSMRJ23/XT+vUdtUMLDQq1vnIoeg/GjWh88MT6k9dRqDaQ+vodilFgvjuNw5pJpId9mfwyYeLCGb3BmHXdfQfhfPRQaupe/f8TG4Bk3eDKlYBaEK3kZYNN2Sdxz47m/vYBxvIOKtnqplB1pebzuXmAr/MuzQCknKe653dzaWQQ7MUhWYWvzIZwLe1v0rXxImLaz+AkAu+sYikhouNF3EW6w4crZ6MuUiDbIAx8XhAfegcvW6x9BPb3/sCxGWu9YyatqExB+TSm69qIkI9IwhjrcnzME+jWBx4mNQm5WwLzUjSyY4FZ0aMF5YFlXUD4hL4XfOeYv5rDe2s2D/Cn+28fZ9UCnOQvXFMnQqfc0G+ZqOWWD9l/liqUPaNQzZjxCHpUAD8Rcc90MniQ02ugHWsUupFUvhC9usY7zNPt5F2jO7qgzhafsQSd50jgLrC6Qx6bpHbXR3WNAu1BzGmwbz+ebGmwTjdy006Y6zipP7n/OJlvSmbq+SY+nefAVKK6EBMPbce5n3IdRI8+vbxCpN53rw3TvgNds1SuMiuLGxt89L71mxPDeanGhyHvOjmO56tnVpoHalQnL6TqNuqKsHjHCIKB4pCgj4WyYPvRvYvqi5EMr7lN3MotPR/KH7JUD1lZbU0QzfbrEBJnuQiVAyAC9vwXWp2TRU1/0aapyAH2cbglEHVAdl+1rb1u147uV0td1eNoQZsqHrIMIYVPXtLk2TIU3cJE08PjoYNDpfF/IcJnYQHl6nsplczX3Rgah4NbJJHl//5scUufqsSd//kbIS406ZWoMP//+jhGUswX/5nVNz/jAj9KmXPtAmMiK+khhbn1w/mELzZMT/WxcW//y/jsHaOM/61oAW/CjYhJtY622/TtMYuP7bilBvbiT3vB9n8IcFPnwM78H0KfhYDRdY5PhWJ4jWRQzB+HT5NVZV56LG82hcQms+jOTT/c9Y9sx5rPi1/wB7f/+c5UfUCKk3iwwCuywUc2MGnAwsXf1E5hoI55x1Q/Qby+sWH8NRjavZ8VaDsdi1NUVhH86BJHX1yaFt1w1OYeL5LVmdN+5Q+KuTvXEPDzUCg6xp0HhsUhTWSe7MZMM/6rsTUb0/nbUE3YQlGGt48kT1/6cnf6yHnvHtQx9EosOXN077yyEq/jE3YTiG/5SEJmXFeocJJ1EAd6vKeK6VEdJLOZ1km/EwOnZWCQpzCLKPHxrfh4yJhGq//2dos2E/3+MOcdW5EsgIdmTQUQetzRy5fQHhDBl37XbWzsqO/cASEDjyst1/8NEROqVAxWnddQV+umJ8IrKVgKvGaTc0GsQ4s8h0Osql5QKwlddPDjJhKInyWqYUKmmlIts+FIcXZ6yM6cljbsjUG2ksSOkuIw4sYHffRNgBOLApvD6XrR6Rt0rV2Uf8IpnIUVnb9Twt91QjAaD/dStSWDxg7aYY+VXIgnuowYdOkjywa2hlgrnI6PjaU3e3UjQ5Yk5mdIJGyHnv3/P+1EkMav1yFyF+FeJE/RXnWBw+Nh0aOo6TGlKX7d+dkP9+brvr79SdtXJtcD/aXBGiMNfG6/NQniQHYQlK78FEHDqOh+bDI0o+2Ub0h53EL/vlzjrBczVEZz2bOtvIL+DIzDkk9nCWt7tlqsq3l9JMtJk3r5HG2iJ9b/X11TG6wwMAjHLQ2oasaMEsydh88QPvI+hmqIHhvalpKoKOueJR0eZ9J8G2alNOIOy98jwvbc87Ewk9d+5G/tUijTmlbjFlDKXV05HalKxaRTrucc73On7yzAPS6f2v4ogiaWyWeV73dv/MsQT5HjRrsYV9dLAcI3T+zC2qEVINyNpEhoKV+xVSuWtT4AhBfpnZ7unIM+HX3msI0HiI+P+z2PFgkjGi5PqEbG/wNIWeRUjPtDEgbbubN+I4JaDLrW9borRBDob7ZFx+JdKeFVUKVeWqb/c88Ol7DhM0suLtuEd8tkDSMTD3DFx8UphPINHMHi51hAPttXL4Ektt/lKEUG/R4qZKohHjVpAcPIMiHyWr6xR8/EWnNJvBFET76yCdk5er7ADB/1bgoImhpSiZ/omZjPKPCEeZsOwvPmXL+1vlJNeGO3TzySmGA1X6e58gLrazDM71jywM1XL8zKHN6G3kB31Y8vLtP982N975SZXk2JwDvmv7AY/aDsFFk1v+nE7/hbvuOWhBH4kuemeYozPk2K22Vx/YGiDTLU7YilpOt29u3RZMBh4UJjlTP5ItxTzWv6ebL9b+GSU1Vsm2S8LMfVfJczaBSqE8J1A4YUjpsALL7++bwCPXFhaufdpDFtBlHb9makeYbqdg9ltvK/HwF/rNE6KrtWUkEcxmTB7Iyu5TiVaIgW/YxzQhpArliIMkOoK5L7ShVtF+DYqV01mk7fwop04hQRwg4KFmr5z9nYf05VVqkSe7gfnx5bxxlQ0qEV0jiwzf064qG11iEqjHcUgDWWsDs/LEGlzX31T5KVL+7D4EoKim7HBagiqRo5JI3WfDBgpKIruWz9j/J6Hp5Q/EJbMWB8NeSMuFarNw3AEYPBJtYQO/4oD/ZgPTSQ06di0EeumX5EbrdThO+fvYEVSxLtZ3AJkee0Xn0sDwNtiiZhJjJRDuG1YRKB1vOulfd9JjHeyu+UHTmrtra/pm+8Rixh4WKiLaLOCxIbZNoWRZSyyUGLPjAaAo+SQBpfO2uruWrzFxLlpvrXJNMCWtlJDKGAnlWK5xpU2tcxXbeD+sbdfwYXt/qTwDk6UqXR/aUt099DhSNl4Nk8mXwpw+b0nvjKOG6Mg1PRXjrMUMANvNgEArv8nMJs3vj1aHi8MHz/UfJWWzkcrSpZTNBhduXlGR7i+ip/THDp5R9KRNcDKECgtwgXg4EFN5HHfikP/XvsoCkHTg+NbsD8Gl6eknk4Arwn/BWGJ0hgW0/gUKrzuGZhub7igRP3abetpIm+24xEOlWl3YKpm2qTBFvX8ddDRvm1LcwnCJuEfZx12qPY9TrntMIQsv316zvpyWnyStX8VU4j6tQk+CWlLBUCJR6MdH9Cp7g2qdn2WM9qFbREmejH09dlWEPm8hPF0L7RxwRRdiCs0DP8ewk6ApoELkKU9hckSdbnXm8UHJmaNXjxv/q0fTTpu8rnl9lN0vQCpDRbCtcz12rGRFEA7Cfg7FhZn5QFkNmv1ZURKEsiZce1nS9K7HrwpC7yJV4Xt3eAVbLJfoXHrtwG60Z8gwaSnmxoL3s2ZlRqggZN/MHo1oUS4L+GwObFI596Ld4Mvi8l+cQmF1gJpkpnDio7TuO35npaMHiWzFqPSX3qNgkIPGuX0qGYnPIVsM901Yu8oZnOZOY1TbtIdFUNKNq2dP8SJ4F/VCEzIjF0/Rh+7UrZj80tC6rognVH3mqa8eCs/lcQU1Pjj98kBmAKDbZUTwosv02UunRR3n0X6c+f73mtwB7/WbQ16gO431EtwZbNG1SM4TZPBnsQSESlsfG2JLQXx5xWf4bmQ/xcVCPISAX5897JxHKLD/Xkgu57+ABR2+MMtEbX64+MNlBHpKC7sjlWVEShf5qA+dGc59LFVlZrX/Enq9z/v+wnZ1HErmxmjJjxOA+hAjVUWgtq6ygAi/8ewJDjUMFw3zhQFtbyTLDPFd21Ji5S5QPZo9nMSxdg1+DGFSN0wlWt7XeYPbHqLfliV0J1kOhQNp0VbUPy0MS2Ms66OxtSWvaULaWHnfAA+sieVVgtjDwN3nKonWapkSKRN8BKKJQpCfqo8RQI5udhfu5s5+7vwsppmAJDgz2GNA7d43VdbV2l/SrvEu4RYslmNJmfSOVbssxAhSYy6WxpIQdDB0FVBpZ6IM8yr81QN+XLZ3n/wed/R+s6LslkxKbzzst/GkRbe6rFmtvJCwr1T44ETM+IMgOnjUO0eG6a1n2w7lwM1oFBvzMUWRkNFOvKcx3oSb5XdenZ5dXsute6nkRypBiSdAtA2fxAd8UdLOZW/MB7fZoEuFheQXijdaF8kuaRZoSeWdKOkKsGYEGaXfaDKTu0WMTcLniQs7KRCz9iK3SP+Y2xIjkfVGqFLSQ6vh+A1u6FdfwXsv1VPMfi2cxmdM+/xTgMXEyo2ZGcQ2YmPsghnYdv2+z48JpGZA4tUK1p1q2VdVxyfypXEXcrxKKtmt8UdW7sHWmKMqDuBBM3J/JUQx8eUYN4pJ5oRqvdiPHU1o/WPjiKvnlCqOdyxlxF54L9PrtLD1NejZ9aZDivVr6ZfMFK1/psVygoPIAnphcJWWb9+5IKMKmgRQULsTPZi6Bw4wP32zVEoKcHpP73CkFAqS98nSaGoWDjDJiaACJn4p5o1jq9R4Q4VcibhXF//LHP0bdf63kRVZdRbbhGe7sDQcyWS5tpkfeYHnff25WK+4FpzLlAcbaKmHdIBqOw3fImx1uqQIADH0TyHzFlqTG6nMoY81svP0T6BIyELMS8tMe+E1p6TFP6sVpZa6VNaTumufD5aj9goRa9SAmdJT4HhI2r0egj8UrgFb8L59wGLnYlzkLAiUd3m/WWIIEU61kPoEjd3gIVy/fiBcgqQqHnoXpL0SqLGdGGgn7DQeVMSYWHfjno1FngIKP9cjYaTlcRP6bZunjHP13/lbVm4awti894pTf/ZNNqr4OR+tDVie/m+rC8QpVnRbsCMPukOH87B2jM4AG6pHuXl1x9SiKdhYJVOhfo/+SCaGjUW2CoogL1FFhFGN9o+acoVLl0SXs/3vrSccmZeAF3NewFuOg/P12QYKQF+SH+KYcNnsAhIAELPBUgre/KRUJEA+KPD0MHRjv+3J/j2Z23MuJmkfy7leWcMsti8wXLSHgXFJTaksx1Woi6oljwxFVIJG12SBSZLNJDbXMYPekmiXT4FclKI35BFgqnYpKfcsr+f8HUXQoHJ9UYZ4J5YMiHHyAxg6eidhodgqJ2Htf/xYEx+G0zXchuzlt8hcAl+AT8NCQ4orFc4DerabF1enA7NTLnvtZh3FUwqIOvY7Q4DYmoDHwXTSw5UNNh6r7j0B/ezMYJMDcw4+6gCTZX4YQ+7Xs8de72vsR3cmfpxIX64/6KR1p3VX4F6vfHEzxzarh8aDH4G1DFoBBM6npXFpK+Rh+WrcFclAeAxi0PoaR9CpOxxGLSdvxKVSw8oOOanG/soKImRopN38AdcUhhM2GT/PgQeSQrG12njuJJD5Z7vWfAZmFybYLdSA91kB4aoBhoj1Z//KNIVVujqaLLRwCkbyn4vh0739C9V9iSjybeOIeSOvNs7LW1a7EUtNoKAnOGML4U8KBXpfrw73WjAszJG4Qscq+Xr3kZWR4Omm0xT6qE9y6FNSpstV4onMZSqCEJ+3VX9qjvdx5QVrM0WXxmPZxejdfnihcFAjzv5PjlTl6ickDbHe6+Lch52pjOPqk+m3RZ+bh2JSMGtFBuODbMchrpRVlt16NTQ05Ps0IDtWlUmWfP2vX8M4YDynIuOZ4Ck91+591B98Gw9fw+yQogTR8CSg0zaJu+rlBo/mr3A+1NziF+kdubz+whc857AZt6DwIBIF5+5yiaaf3ByQp1Fm3sOkZDAzwsYSQTM/Kv6idkugF63FDobDdUY3huruU+sCaBuRR+HmOowvmZoBjZHNh77SXFtmY/oOUE7ifN7nBHAo83S/xvcS6H4Ci2u/9Id62Wv6Ui+zMNLAzhfkTkVcW2BwrnYvpur0ZDlzs+ZLsmGTWvd1892t78gx1YjEJusGcxphjLkV0UfAKlekfSBVWHE2ahk4AbbRmHyL7GYdtKfdlINwrcdJuf3Cee1nfUojDQn/YmItESOFhtLzrkEv4k2XpMU9oaJQ3VUC+1INh6BE68pkHameGJm4Gvdb24Q0fXWxd9Tp3A9mzFSe4qXDGGDIV4AAGV1jIDfveknH1TwWpUT6HiQxKP3AAHJNkJeRlj/mXBmS4S1j8FK6YmpK7jyyAiRbsMCCLoJcx01fvgpMvKQRxu9IOwymconQjD56g7ksOrcOeoTbius4JnGesAS1DtgdaophYsw1wGIsMS3P7K6doE3K5czznqPQLSRRF/Ylzb5NtSKsL33SgskFNCF4khn5LWaDxI23ZRi2hzqN8uW8UzZEBYy68+VtGLSymQrXGUlr2nO2BbBIT5Vh1RmGAyDXaW0FPrpx3wv2UYdFk9tSl+906bMxCuXQaKDQP/U19UEcVGK4gmksL8lAorxQSAOwpeYX9xrZsh6yoGaL/X5O3tgQC8OM+/GvxnW9XvAtu/JxAigydfSmZfqZfg1XOcHNOpLlN8j64OZ36l5qawDBJ62YaTvxeNmm5gowCdBosgcpHOgNgwA+sknN8XmsR2IYChcafl9bGNMZ/nB5guWuvEziv6QI2bP2DtyKWG/qUjZMaxy+wASkkVGtuwGtywkTYG6MYrZBo18vYcww48G/+f+eITA/qMwbLlJC0S3+/ai2pPvkOhRRVmGTuSupaxhIk0xoXLtixCxSAn4Z3OnUS3wBqVscLI4P3GP7i/6gxYsswsVmkvDXFLhO/OKcur8flegCSKiqmVpIRvCzgbjEA0mXPn+RExXY/2OE1f/BYuWpRQY8gCDpMOYBx9Gn4tL3hihSIR1ixh2PIIT7cr2gUJbfs76EKYG52Jk0UZF/PQkBxGuFCEWXnG6ue/hTIqjTRq1sotVrKrwIGHDrITyuanUzbIYdgdEeV88K1VD82TYB2B61Ft+tB1KqHPmT9+hWoaV+iF3SuvtJqvnoLaA8wxrD56AUMULEgzO9SvBcBAfqz/dzMYzwMt/YLszDbmGe1bcHHfFMcvGql9bf/tp+Hrj4q18aNnftGjmXTfws39emn7/5IBxog9MrmftAA5Oq4awenm8HimWO72dwVlHcHmutVMdrMHw+p2vzpzT+B0iIZ+IEpplwWhClcXlxhxAsF3CHRnnaUEqq3ByQ+cqhe5SvR4SFxh/LZoQwtj8QZQGT1BzY2EMpYnUcZWQEPlwFZw+7UryK9qV8KgruYsvyMoK16KI2sN4SOblrVwhyiL8+IBZ8cpUhsJQSU7TFHAi+L2F0sn0y+FtDODlnuif2Mba8QddPZYYxjTsIgkMe3M6+7kXxUfZvbCUlyq71J1eNczGk6Vqw6rSx2K3vM+DjLxDRGzWepTO2qTT/W8S7u0QXcyFUahcB4vq8xCYTpy8iswtnyz7Kx6lgTEQJ9RqkgEIN6DOUqB0uRdeYuDa7AP7Zy9z+ZlTsmVR5vtV71m3dmdtNeWghbr5PnPJtjXAzcvZjxyV96VEx/B1TA0IEQSI50ywGuIbmAYdQg/l/rxhQLX+6uOLyFsaUt6mtjpAJkLfehnB6MlOHnNOrWLvCBqVBS07jcM+4RzLEed3f3/0Xwp92U+nataNHyEgnnuYR6PXEjRLETz0xrt3UglfK7Bn4aNlXG7cZco4lMziLv5+Mh2JCww3mz69Z9ZMRR/xv5EKJ38IFxKd9dw5CgPIXja/gzAshMbF14/qBIgNkdUQeP8YE7SrICGtiTnAKTyA9cXa3OauDHxZOdTP7yuYBzD1UcHstIO16FxF1bRUAlSkszI83YufTchU8OPnnozDl9bS0y6CnnjGwgj9M61cXcZsljjhLeT/Vq+30ScN2PcT/dOoxUDqDS38+OpCCzLDdnwHQc3ECQVIkaxmdPaZTSdfp2jjGzSdNLM5yPQsgJDl+ZnhclDQi8ltUnkqWJ323IvTZPN8rn0+EshL1cx9PiaLTzUsryn9Zp2Nt/detUAh4N/2I3dlMQqjHFxSihv0uykzflq5clMy2ZBaxoEb0/QMp03IQQus3vnZd/NOmSsmgqXqKFP3ozyDgY7RQS+npabe/hNG+5sa5FtvL8v0uYuag2NewYkcol3TOTadpuncCnDgOGpmLnTQ1PEPUN2cNsrW8LYfIv+hzfb7vod+ipXHzmbgj5Fzc6RcT/5PD7VQ8nTJBNj1urkVUx9uJvTWmqY08OC80rGDLaWXv243VB16gjt4Xtwp5H2UDR0LiKW24Ed/sOO8jl1yEU/XAb3h7ScKnCFy/V3sICrkY1D0K9fSokHIL0s5/7DLShLAPXRbV7fbv4qj6OwHC9d5PlEOX3LRpQ3P7hcSAKlIKPDM83ypz56U5+rJeo0cyUtC7wltL8wqEiNSgZsDWzACc7RFoZqhlD0+sihIBQlkQTXmvUyIOZhkQX2zqME5VRC7ms1sa3CY+odMn3mMBiTvCMKnnCxg5ZPLq4GUDB4jF8Br2K4x4sxfWjGXQatJ25I1JyrIv2Z4bP1jKw5C+B2/s0v4dGUOsaS6IPIQV3ETQ+F2fSl2BPBXHzyYN8VmwWIrKeMX9pyGWuAOVXwkxJsRBaBVzLhZDP8ONGncknL5DpTxHN32GgFWMwsc0GmL0oRDmRT8u2lvjAKUIi0MmXhIHSlFeh3Qh5pP6ap4YUd6b569ZIaHgya2AyD12cPxY0In/PBjzDctTaKJCU+xc6m9RkNLDEE8guvxtJP8sl8N9bLqw0F/qejaBlcHYqw31zYpsutQp07hsP1vhGdl4hJ1wA7OCsAHnKj9879uSHILEmuZ6vI1lT4tvnWCVKZhhYrWHW9oPKPKpbOC6FTjf/OtUvwmiXr2ykvyLzHGQeyS7BenZpL3N/CaF5T7Gkml7JXN5cj0PKaDpZVImD61FuMgFHPqSHvt4Ej4KBdAfdcoO3AjQPLwwtKsgGM+ty4lNZMBEItJSRLunG5ckrM/BeoXWoPZVvEoIzLgFQYPupMwZCXis4W2SCJ2zsefZqCj+aTfSq1FYdUj2UeJALvVTf7vuuikOE1Hit3UIAGUi/sqgMum9vw218y1FlY/9XnOji9nqhGAcMYICc7BiqLZj5N+cKEuSAuiyWbMg81ZD1lHovy/we2eaCcCv4MzEW3O0mVA/t2xdA0cxTVbXmFhn+tARDpvDz5ftLr15OAAmvo2QiAky+feVO4bGibv2nlBmBzqx0lEDfEm4UnEs11pbnwZlJ/0Y73/wBPYfTNZiJKR73TzdCW1BffiJq9bLjQmaKnU0+gN8sfe25IKSUCooQwxePDrFn3a/zUgWxvPoTYVXfobY/GV2qqTkeVDV9D8657fhY0/wiaJ5NfLxhXbE/naxs34N0hd6vxNfdm1TCnozm/NKSCThchoYgMF7Z2tzXFovRfsNVkf86JjrM60r7UIuV3bsmfrMOqzjXjN6HPBG25zCJ3QLueySbj9oFvX/HxWBqh31PBPxduCVAxMqC9HK+YL3oBZqBruoh6LKvdMqoz0PYXUBrwbiioyE8Tj5ImjJmiOOWLbAZvIZ/l9rIPljx3T5glJ2ewlfuIT5GlodQsAf/IEtmYkML5SRQGxxwW+rlZkD8belJNu09Itwx9xDULTnemVDeojdbgcd2gKGM9aO00Jivtbs7ZyOSE8IPh98GfvatD8Ud5uHcZfAfMiPSlIxd4UqeSDzuNfbKDuFepkyC/s3j9fawmhY1b9NqDi0ZS5eP35l7rL2eK5QlWLlyCmxx8AFaFiTuD2pMUxZV5mBSJuJduOaq2ZrWpu28DE8jl/hisBz7bGWH6qLF0ayWNq1Sejtcs8KQrQqJk5P9QHDYHOIolgNsMDmEaWcTelghbfFCDqWrq6YLwDWy+m68ec5nShgq2fduUBpQUuKKKgnttaUX9PRfMmxqJyU7e0RLr1bev+ge1KK0bZyhHKKDE8gQX9Vf7rNHWOxBtZcxwwGusyMpH77qWZxXsQmbgIGhtiO+gSSRCyu/ek+OFsz1HMiQH0IHV7PjJi3dszYfFp8ue9h4+AfKte4MTiehPvxNcm/T1t9vsFZx8rHN5ie77r2jzZOq/Em4Q+H9sNcZakf9HnzCc1fJixppxP8FQABmVnqa6GbJhwaka7WH7Wdoz1WxOjSNV8N9sgW5S3Ppgkut+TTCkjA+AodUOk1KIR+8G8S3WrSZG4nyqfJ6FEjXl6a/LEoRMHZUqfPRWvwqrtXYy9IUsmUGzkqi76ib4NANCe5DnyOxnFRZ9d8FdBVBjra3iNuZhJuWW5Omi/hBigqDsg0mu2AhfJDXdwyMIJ33HHHPfS2JtjegRejX11m41TbNL+Qp7mR0g9CPKTj9PIjuSycGN/YPozXI4zarXuAeLv5CHKtKcJKRbd6R2oLNiEt0T8+QIVJH7zt9ncKMgd49vV2P1AyScZ9Qzbu3m3LBnuu6dw7aE0b6r4kzVkI/GUS88mA53L/rLtntkFlZXGtIoqNP2mD3eVv08AVVPT3wJn81zpbJV9SuqZ6Pd1ge0Zz2RFHeCdV5CLPftH9V5o9+VzFu4R0QeumqDwUhXn3IyYotdJnxr1l3BqWnQVAeDBEOtPyJQx1q5+mODiClXtYeBLTWtsJ42AMBcf/IFIhpfhYO08hsg0Ik+DpQFNOKReK3o3cudkxWX0soPtI5eSFOA6yNylS+IQjrQtYQ/5s4UcixJfokumBUjpH9ofSjUTwPCapGFndfqqG5IHeMMvfg+88SXm7bNyjk6pGKzL+WxDAdqKtQ72WWVbOk3I+ueGuammmB2pvFZvqIcU/lvW3n9+r2lycnQLE4OX9R1jIgW4cDjJ3v8dAa66mVcfC7ptCr5io6mCaA9qI9T9FFWqo1ZAaMxgxAu8aXqmaOYryMND2sTUfoHvxcYK7hEiJhCLYFDx3PBhE97c2a0ub1/ePJcyJOqr7UaTAPTJ+xvZtjb/40sloY1ltRnTkWILmIP2b7S3AdXCR+YiArMUHwdncpjpyDGfzqGOUoAuaamWzAMacQtb34/M32FEgR5lUEf8fRzFrZUhzQj0fR7/6gdzdnVVvcSneLmtqJ930VCCDORY8CVdQWdo/S3PNkX3pQsPVKWIYGAMrFZoq8bQ/OJBDSXP7KSBdL3QN0Zqd393p6VFc7DnlnFiN00SY5Nux7yadeIM0Upl2rVsu8/VAI",s3=new Map([[8217,"apostrophe"],[8260,"fraction slash"],[12539,"middle dot"]]),i3=4;function lP(t){let e=0;function r(){return t[e++]<<8|t[e++]}let n=r(),s=1,i=[0,1];for(let B=1;B<n;B++)i.push(s+=r());let o=r(),a=e;e+=o;let u=0,l=0;function f(){return u==0&&(l=l<<8|t[e++],u=8),l>>--u&1}let d=31,p=2**d,m=p>>>1,y=m>>1,x=p-1,b=0;for(let B=0;B<d;B++)b=b<<1|f();let w=[],v=0,O=p;for(;;){let B=Math.floor(((b-v+1)*s-1)/O),L=0,Y=n;for(;Y-L>1;){let ne=L+Y>>>1;B<i[ne]?Y=ne:L=ne}if(L==0)break;w.push(L);let V=v+Math.floor(O*i[L]/s),$=v+Math.floor(O*i[L+1]/s)-1;for(;((V^$)&m)==0;)b=b<<1&x|f(),V=V<<1&x,$=$<<1&x|1;for(;V&~$&y;)b=b&m|b<<1&x>>>1|f(),V=V<<1^m,$=($^m)<<1|m|1;v=V,O=1+$-V}let P=n-4;return w.map(B=>{switch(B-P){case 3:return P+65792+(t[a++]<<16|t[a++]<<8|t[a++]);case 2:return P+256+(t[a++]<<8|t[a++]);case 1:return P+t[a++];default:return B-1}})}function fP(t){let e=0;return()=>t[e++]}function u3(t){return fP(lP(dP(t)))}function dP(t){let e=[];[..."ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"].forEach((s,i)=>e[s.charCodeAt(0)]=i);let r=t.length,n=new Uint8Array(6*r>>3);for(let s=0,i=0,o=0,a=0;s<r;s++)a=a<<6|e[t.charCodeAt(s)],o+=6,o>=8&&(n[i++]=a>>(o-=8));return n}function hP(t){return t&1?~t>>1:t>>1}function pP(t,e){let r=Array(t);for(let n=0,s=0;n<t;n++)r[n]=s+=hP(e());return r}function Bh(t,e=0){let r=[];for(;;){let n=t(),s=t();if(!s)break;e+=n;for(let i=0;i<s;i++)r.push(e+i);e+=s+1}return r}function l3(t){return Ih(()=>{let e=Bh(t);if(e.length)return e})}function f3(t){let e=[];for(;;){let r=t();if(r==0)break;e.push(AP(r,t))}for(;;){let r=t()-1;if(r<0)break;e.push(mP(r,t))}return e.flat()}function Ih(t){let e=[];for(;;){let r=t(e.length);if(!r)break;e.push(r)}return e}function d3(t,e,r){let n=Array(t).fill().map(()=>[]);for(let s=0;s<e;s++)pP(t,r).forEach((i,o)=>n[o].push(i));return n}function AP(t,e){let r=1+e(),n=e(),s=Ih(e);return d3(s.length,1+t,e).flatMap((o,a)=>{let[u,...l]=o;return Array(s[a]).fill().map((f,d)=>{let p=d*n;return[u+d*r,l.map(m=>m+p)]})})}function mP(t,e){let r=1+e();return d3(r,1+t,e).map(s=>[s[0],s.slice(1)])}function gP(t){let e=[],r=Bh(t);return s(n([]),[]),e;function n(i){let o=t(),a=Ih(()=>{let u=Bh(t).map(l=>r[l]);if(u.length)return n(u)});return{S:o,B:a,Q:i}}function s({S:i,B:o},a,u){if(!(i&4&&u===a[a.length-1])){i&2&&(u=a[a.length-1]),i&1&&e.push(a);for(let l of o)for(let f of l.Q)s(l,[...a,f],u)}}}function EP(t){return t.toString(16).toUpperCase().padStart(2,"0")}function h3(t){return`{${EP(t)}}`}function xP(t){let e=[];for(let r=0,n=t.length;r<n;){let s=t.codePointAt(r);r+=s<65536?1:2,e.push(s)}return e}function Pl(t){let r=t.length;if(r<4096)return String.fromCodePoint(...t);let n=[];for(let s=0;s<r;)n.push(String.fromCodePoint(...t.slice(s,s+=4096)));return n.join("")}function yP(t,e){let r=t.length,n=r-e.length;for(let s=0;n==0&&s<r;s++)n=t[s]-e[s];return n}var bP="AEUDWAHSCGYATwDVADIAdgAiADQAFAAtABQAIQAPACcADQASAAsAGQAJABIACQARAAUACwAFAAwABQAQAAMABwAEAAoABQAJAAIACgABAAQAFAALAAIACwABAAIAAQAHAAMAAwAEAAsADAAMAAwACwANAA0AAwAKAAkABAAdAAYAZwDTAecDNACxCmIB8xhZAqfoC190UGcThgBurwf7PT09Pb09AjgJum8OjDllxHYUKXAPxzq6tABAxgK8ysUvWAgMPT09PT09PSs6LT2HcgWXWwFLoSMEEEl5RFVMKvO0XQ8ExDdJMnIgPi89uj00MsvBXxEPAGPCDwBnQKoEbwRwBHEEcgRzBHQEdQR2BHcEeAR6BHsEfAR+BIAEgfndBQoBYgULAWIFDAFiBNcE2ATZBRAFEQUvBdALFAsVDPcNBw13DYcOMA4xDjMB4BllHI0B2grbAMDpHLkQ7QHVAPRNQQFnGRUEg0yEB2uaJEMAJpIBpob5AERSMAKNoAXqaQLRBMCzEiC+AZ4EWRJJFbEu7QDQLARtEbgECxDwAb/RyAk1AV4nD2cEQQKTAzsAGpobPgAahAGPCrysdy0OAKwAfFIcBAQFUmoA/PtZADkBIadVj2UMUgx5Il4ANQC9vLIBDAHUGVsQ8wCzfQIbGVcCHBZHAZ8CBAgXOhG7AqMZ4M7+1M0UAPDNAWsC+mcJDe8AAQA99zkEXLICyQozAo6lAobcP5JvjQLFzwKD9gU/OD8FEQCtEQL6bW+nAKUEvzjDHsuRyUvOFHcacUz5AqIFRSE2kzsBEQCuaQL5DQTlcgO6twSpTiUgCwIFCAUXBHQEqQV6swAVxUlmTmsCwjqsP/wKJQmXb793UgZBEBsnpRD3DDMBtQE7De1L2ATxBjsEyR99GRkPzZWcCKUt3QztJuMuoYBaI/UqgwXtS/Q83QtNUWgPWQtlCeM6Y4FOAyEBDSKLCt0NOQhtEPMKyWsN5RFFBzkD1UmaAKUHAQsRHTUVtSYQYqwLCTl3Bvsa9guPJq8TKXr8BdMaIQZNASka/wDPLueFsFoxXBxPXwYDCyUjxxSoUCANJUC3eEgaGwcVJakCkUNwSodRNh6TIfY8PQ1mLhNRfAf1PAUZTwuBPJ5Gq0UOEdI+jT1IIklMLAQ1fywvJ4sJzw+FDLl8cgFZCSEJsQxxEzERFzfFCDkHGS2XJCcVCCFGlWCaBPefA/MT0QMLBT8JQQcTA7UcLRMuFSkFDYEk1wLzNtUuswKPVoABFwXLDyUf3xBQR+AO6QibAmUDgyXrAC0VIQAXIpsIQ2MAX4/YUwUuywjHamwjdANnFOdhEXMHkQ5XB6ccMxW/HOFwyF4Lhggoo68JWwF1CZkBXwTjCAk1W4ygIEFnU4tYGJsgYUE/XfwCMQxlFZ9EvYd4AosPaxIbATUBcwc5DQECdxHtEWsQlQjrhgQ1tTP4OiUETyGDIBEKJwNPbM4LJyb5DPhpAaMSYgMMND137merYLYkF/0HGTLFQWAh8QuST80MnBrBGEJULhnkB78D8xrzJ+pBVwX/A6MDEzpNM+4EvQtpCIsJPwBJDqMXB9cYagpxjNABMYsBt5kDV5GDAm+PBjcHCwBnC4cFeeUAHQKnCKMABQDPA1cAOQKtB50AGQCFQQE9AycvASHlAo8DkwgxywGVLwHzKQQbwwwVAPc3bkoCw7ECgGpmogXdWAKOAkk1AU0lBAVOR1EDr3HhANsASwYT30cBFatKyxrjQwHfbysAxwD7AAU1BwVBAc0B820AtwFfCzEJorO1AU3pKQCDABVrAdcCiQDdADUAf/EBUwBNBVn5BdMCT0kBETEYK1dhAbsDHwEzAQ0AeQbLjaXJBx8EbQfTAhAbFeEC7y4HtQEDIt8TzULFAr3eVaFgAmSBAmJCW02vWzcgAqH3AmiYAmYJAp+EOBsLAmY7AmYmBG4EfwN/EwN+kjkGOXcXOYI6IyMCbB0CMjY4CgJtxwJtru+KM2dFKwFnAN4A4QBKBQeYDI0A/gvCAA21AncvAnaiPwJ5S0MCeLodXNtFrkbXAnw/AnrIAn0JAnzwBVkFIEgASH1jJAKBbQKAAAKABQJ/rklYSlsVF0rMAtEBAtDMSycDiE8Dh+ZExZEyAvKhXQMDA65LzkwtJQPPTUxNrwKLPwKK2MEbBx1DZwW3Ao43Ao5cQJeBAo7ZAo5ceFG0UzUKUtRUhQKT+wKTDADpABxVHlWvVdAGLBsplYYy4XhmRTs5ApefAu+yWCGoAFklApaPApZ8nACpWaxaCYFNADsClrUClk5cRFzRApnLAplkXMpdBxkCnJs5wjqdApwWAp+bAp64igAdDzEqDwKd8QKekgC1PWE0Ye8CntMCoG4BqQKenx8Cnk6lY8hkJyUrAievAiZ+AqD7AqBMAqLdAqHEAqYvAqXOAqf/AH0Cp/JofGixAANJahxq0QKs4wKsrgKtZwKtAgJXHQJV3AKx4dcDH05slwKyvQ0CsugXbOBtY21IXwMlzQK2XDs/bpADKUUCuF4CuUcVArkqd3A2cOECvRkCu9pwlgMyEQK+iHICAzNxAr4acyJzTwLDywLDBHOCdEs1RXTgAzynAzyaAz2/AsV8AsZHAsYQiQLIaVECyEQCyU8CyS4CZJ0C3dJ4eWF4rnklS9ADGKNnAgJh9BnzlSR7C16SXrsRAs9rAs9sL0tT0vMTnwDGrQLPcwEp6gNOEn5LBQLcJwLbigLSTwNSXANTXwEBA1WMgIk/AMsW7WBFghyC04LOg40C2scC2d6EEIRJpzwDhqUALwNkDoZxWfkAVQLfZQLeuHN3AuIv7RQB8zAnAfSbAfLShwLr8wLpcHkC6vkC6uQA+UcBuQLuiQLrnJaqlwMC7j8DheCYeXDgcaEC8wMAaQOOFpmTAvcTA5FuA5KHAveYAvnZAvhmmhyaq7s3mx4DnYMC/voBGwA5nxyfswMFjQOmagOm2QDRxQMGaqGIogUJAwxJAtQAPwMA4UEXUwER8wNrB5dnBQCTLSu3r73bAYmZFH8RBDkB+ykFIQ6dCZ8Akv0TtRQrxQL3LScApQC3BbmOkRc/xqdtQS4UJo0uAUMBgPwBtSYAdQMOBG0ALAIWDKEAAAoCPQJqA90DfgSRASBFBSF8CgAFAEQAEwA2EgJ3AQAF1QNr7wrFAgD3Cp8nv7G35QGRIUFCAekUfxE0wIkABAAbAFoCRQKEiwAGOlM6lI1tALg6jzrQAI04wTrcAKUA6ADLATqBOjs5/Dn5O3aJOls7nok6bzkYAVYBMwFsBS81XTWeNa01ZjV1NbY1xTWCNZE10jXhNZ41rTXuNf01sjXBNgI2ETXGNdU2FjYnNd417TYuNj02LjUtITY6Nj02PDbJNwgEkDxXNjg23TcgNw82yiA3iTcwCgSwPGc2JDcZN2w6jTchQtRDB0LgQwscDw8JmyhtKFFVBgDpfwDpsAD+mxQ91wLpNSMArQC9BbeOkRdLxptzBL8MDAMMAQgDAAkKCwsLCQoGBAVVBI/DvwDz9b29kaUCb0QtsRTNLt4eGBcSHAMZFhYZEhYEARAEBUEcQRxBHEEcQRxBHEEaQRxBHEFCSTxBPElISUhBNkM2QTYbNklISVmBVIgELgEaJZkC7aMAoQCjBcGOmxdNxrsBvwGJAaQcEZ0ePCklMAAhMvAIMAL54gC7Bm8EescjzQMpARQpKgDUHqSvAj5Gqwr7YrMUACT9AN3rpF27H7fsd/twPt4l+UW1yQYKBt2Cgy7qJpGiLcdE2P1cQSImUbqJ6ICH27H4knQMIRMrFkHu3sx6tC35Y+eLIh4e4CMKJ4DfyV+8mfta499RCAJ0xfeZR8PsoYOApva9pjGn4PhvyZS7/h5JLuhaucfjuU+Z584wwqNO4hWYmaBCcjgQPale1bjoHzMUbut/zTgxHxBnAyrdKpF4IRMASLBtD/jviyLeCgj8twWjAd3HchN/uqaeRYeHJgl7JEY9/cTrvtfybx/r3Y/NtxJ9dp+MTVmiS9bwBH73s8Di56/Ma+mTPMHq4T1yEG1fWcqr0u+hrGnJEvU1JJAm/maQSrKrazIyvSkDFkj8UUlfBq8baniTGPng6YZRL661rDNw4w/1g2figG0IhXnL7wosd/sVNo5dYSmMBTP5c7rYLjRdCwg8quwljOMPf63D8ICAL0r71XRiyFHdgwHbwfgnPOf4Lzjf2v+j+IiDHG2isp5yUnzSDyDRb4i/Vs0qHSHq8PiEQ/JnBP7PxnjN0j6gT4AVAeRx/1o9VnEUlUwvFrzJqHk9jxAw4sYxCnrxaeBdCFFKbnE7z+x54F5W7ZZsU6kx8Qocul6FoAHHy01FGL/nne61mn4+uYXfQ1Uccn+HMLKE+cZzT8BB1E3FRskOgJrRsq25rauLm8+uamXpkS/bTy6y1wDbCrW4eD532kTWrtNUmVVZOIn/C+/JR9KVR5iG9TY8iaT67ubm/whL1xbKZoqtY+a6fNxMJrg211bGYJDUkYMNWA0BMB++9zOm6Eik4roqs9CCEFW0lyAK0PbvlzvoxrZuY/OEhNW/l/63U15Od/RSvmDvXpGLiVmeGi5PDSH2bYz5o2g6wFDQ2FbZgYgTF8rPlvA1ifjZD3NLtFdXdpSIJvgKR7GpjJWG7GZGawPomIH8B5tUmtHH9LpM+/KQKunEPa1GiQkCXv4Cnm9DLORo2joicHdPDZ64obQrPZ5bgqckkj0G6/NEiPYBY4bCkL7W8G5YzsUb6GakFjykSPkT7JGeLeB6uJOGMm+x7N381BCDfbJFx0dtLgV9Q477BfL1fvitX5anV/oYfxeYl+eF5x5bB8+Ep/L2nsmd56aKF4aAD4GbJWsdKyBW22xEmAD3XdbtsMyAFoR5mOla0gEd9U/YVB7zvHGpHbQonay9Sv0bQ8iZ8piaXVrKc5AG1AmqqgaEvzHSP2Wux7aZTWh6quVDVU01JtMIVRdCFwlSbbqqhoFlyzsotQzRexFvZ/MqUSFu3OhRIuNBbufvBpdVgb8XdGJ48/lJPCZ7dsOujTTbKPSEvGXkOnG2Xdi8/nM3EMRqITd5QeU7iOjKqC7URJY6TnLsHij22xAHKnVRD5MDtBYnoGFqZGMDmXCW6Oj+BAWw14hESY/xLF6bLku06AHkiXTHPCFZ0f9YSqqo27eAhhS67OrA2Het4M9JM3jm/yRX6bYxnfmzYl5qQdHxN08FsNuWDrWd4vMUY2QD3hr8vS73SCTkFoXZR3xNzOQt8d/6HfjBmXqvrE6EGkLzK6YK2U2/ksU/iUH+LvVIsJI+ri2AL/klo+ShdDyfs5A83i2prkMs51IKR7ZcqjZJi5X3+bd8GlyWvtddxKEoEqSgEO7A8jIgf2nH0h8FjM7oB6yte3X5mpL0i/E4Rx0CotKnILJj/vJqo4VkPQ93jRtRVfaitQPqldl5xRYPq8387Z0DcnZvOeION0Ht1+P27kFLGQIcLBX4FG3sffccNHh5cPfzp9INoRtqVtdViJfg8RjnXiIz/MNqEN6zvzX3hMzyWC7oSoXIT14ubc0abPX8Rp9GVa5NI/8iv+6ela1oTncbdimRKnrbRffDR/X4nH+bgqAuHWl7hOaeXPWVzIeRl7ga+JzD4Sx3mlj/q6Ra/E2HhDf21eEzTLNGfCZsY+/yxZzQzIAuijG65ii4O/waAJCrEJaWd/DRAKMQ5678Dw5AT7RCKzdadIwd8LsD+DgPBASmWsUlf8R0k1w/2k4lO2Wpb4zMI6EJVJs0xk/wn8/fRUPqrDKhbjHR41SqgFMx5RGMPuduFwlu5lK89tW11sTqiX/5EfGs5nO+y9FKvgXKPOEmgE05EKNL6Sjb3xS40H3BVPhm0ESOZgAjZoymc8be0inDVo4JdJVf+NKd3tN/CaB7GShhH27qf95NoFZVX/6ZkR2lX+CgWrQ2INgkh+bbMz68+uJ3Clsh8HSMPEQtAt+BBE6fXDab7KIlsKxU1lIXW/KWVstpdPanJ0pdXpQinDyUQjtY7ZVcfiecRxRDMAUhHFU2cEaciQ+htiPMPx1kdvtWG9T44w3r037ljHBFJdYR0r55qvMRixtAEFJAqA4T1ES87FAx7UozXasytg8MftZYt0rjYgLe6EJ5aWvy2qscBSBQ7yehoJIA3wIIZ9ukfkyBb6qnue5ko8W50rpV4kXqWjI5nbGRXrNW0tBZHXlY48nSgcUXBHWT4GcgLZJoLlKJnV96kCYpq9eWHh7xJzkCAyrQuQ5AJ0qq/uZ3toJglNterev+Qm0KXxPg/+YbFRJdfhbp1wOnVOEYdVHTya6CtO0afhEaBhx3oHwCb5Kq6RwHDzFMl2vfjL8GwzcCoTj7wZe+UFnYDV2yKpPU9dba29gYBdNqJg/KXozO+CJTlKmlKhnqTf5doeS35DZFV+cYJQVjd+oVY/Gtc/6XPzUxb1gMqf6cEjNNoRC8AObrp+fx0cVtGu4ffC2TgXRC8zPl8moUHCB5HZ25d87mlsiiK0aNwBtcEQjRNBT/QrXbw/8aVXdKMHn9EqYEKEyxSGTpYQOaes1G1Qq8pDgqkZtlO2HRyCXpmeM7TSrRPkAh004BfisVpF6zP44n2Jvxz/gOVocNCyy9V6lkod28QM4pbaMvVJigD/w3BrsjSJrXlqc4ulBYOCceiBN4b/gHajYyupbhEt63a619Ay4wsL6a6w6B+A7TnoyE7BliWHJfzVxxIKM/W3M/J8Bx99Op863Q8eNuIMGRx++VbYfjm+VGYBA3Ap/KEu/wxBNBpJJncwHPG45V8Gh98ZIrGCc20MwijGowZbcS7d1nEgcOW5cddZpHL2XPAIRbColiheZzXTvBxZOY3iMSDSKDrICyJ/iQs1vdplVdH/JrLJsQ2jtTnfCrITIghq3KFX3qAgLWAIp8IffNSdTYptnbGfc8s+qcr3zyzyHp1aJg+jxTF4kD1ry5Wauv5V3xnOGwTFecNzXSLHBW20/pCQjk4uorD0plIhMSTc79+/r4RKPClRYTBYex1Ob5crtfvRQBBv6re/6FhtCqtduag67glqRA77/3ulblh9YRtMdDxkCyJDeNnAuCLPQFmdRRWJtH20Z8DstfJf+5oj5SSB64d0iF5/Ya4KfTWxfivj9Ap2/zbYaTo/1gO3tM6RYsCZharMBFr7Fm61mLSrQnEI4OF1gbVS4k/JE9UotOrnLJZuswoWodCSV8zbybkJSVIP7n8UaE9xCR39rJZmf27HOAPVOGc9pdkQUcRrI0qyVF9Z3j1RHDbxIfwbWzmPVjwIdPJvtmBYwEQIUsIW1S939hcVikK00ozPRI02cqhzVUNzpOxVdrwRPvlh1aIOf0xFEqD3YkGnCnFah/cFN3J2gB7N+bZSGawwkKFu1tpQMrp1W+27YNkyT0TpcFpTqgOqqLabrgcCUPxh97mREOGy4xItzQ9xSl6rq+8BZsHcrQFReS+QeMxJ3P6CnL9EP/eOLDjumLhvrcQrpPiknsofbzBv9gTP0lU+TIVwE6E7CcKfT36q+ZiEOHJ9ayf0dyUJLezAb2M8aNHwd0+OJmsVgTzRWA",Dh=44032,am=4352,cm=4449,um=4519,p3=19,A3=21,Ul=28,lm=A3*Ul,wP=p3*lm,TP=Dh+wP,CP=am+p3,BP=cm+A3,IP=um+Ul;function Th(t){return t>>24&255}function m3(t){return t&16777215}var zb,o3,Jb,om;function DP(){let t=u3(bP);zb=new Map(l3(t).flatMap((e,r)=>e.map(n=>[n,r+1<<24]))),o3=new Set(Bh(t)),Jb=new Map,om=new Map;for(let[e,r]of f3(t)){if(!o3.has(e)&&r.length==2){let[n,s]=r,i=om.get(n);i||(i=new Map,om.set(n,i)),i.set(s,e)}Jb.set(e,r.reverse())}}function g3(t){return t>=Dh&&t<TP}function NP(t,e){if(t>=am&&t<CP&&e>=cm&&e<BP)return Dh+(t-am)*lm+(e-cm)*Ul;if(g3(t)&&e>um&&e<IP&&(t-Dh)%Ul==0)return t+(e-um);{let r=om.get(t);return r&&(r=r.get(e),r)?r:-1}}function E3(t){zb||DP();let e=[],r=[],n=!1;function s(i){let o=zb.get(i);o&&(n=!0,i|=o),e.push(i)}for(let i of t)for(;;){if(i<128)e.push(i);else if(g3(i)){let o=i-Dh,a=o/lm|0,u=o%lm/Ul|0,l=o%Ul;s(am+a),s(cm+u),l>0&&s(um+l)}else{let o=Jb.get(i);o?r.push(...o):s(i)}if(!r.length)break;i=r.pop()}if(n&&e.length>1){let i=Th(e[0]);for(let o=1;o<e.length;o++){let a=Th(e[o]);if(a==0||i<=a){i=a;continue}let u=o-1;for(;;){let l=e[u+1];if(e[u+1]=e[u],e[u]=l,!u||(i=Th(e[--u]),i<=a))break}i=Th(e[o])}}return e}function RP(t){let e=[],r=[],n=-1,s=0;for(let i of t){let o=Th(i),a=m3(i);if(n==-1)o==0?n=a:e.push(a);else if(s>0&&s>=o)o==0?(e.push(n,...r),r.length=0,n=a):r.push(a),s=o;else{let u=NP(n,a);u>=0?n=u:s==0&&o==0?(e.push(n),n=a):(r.push(a),s=o)}}return n>=0&&e.push(n,...r),e}function x3(t){return E3(t).map(m3)}function SP(t){return RP(E3(t))}var a3=45;var y3=".",b3=65039,w3=1,fm=t=>Array.from(t);function Nh(t,e){return t.P.has(e)||t.Q.has(e)}var Kb=class extends Array{get is_emoji(){return!0}},qb,T3,bu,dm,C3,MP,Ol,Wb,kl,yu,c3,Zb;function Xb(){if(qb)return;let t=u3(uP),e=()=>Bh(t),r=()=>new Set(e()),n=(f,d)=>d.forEach(p=>f.add(p));qb=new Map(f3(t)),T3=r(),bu=e(),dm=new Set(e().map(f=>bu[f])),bu=new Set(bu),C3=r(),MP=r();let s=l3(t),i=t(),o=()=>{let f=new Set;return e().forEach(d=>n(f,s[d])),n(f,e()),f};Ol=Ih(f=>{let d=Ih(t).map(p=>p+96);if(d.length){let p=f>=i;d[0]-=32,d=Pl(d),p&&(d=`Restricted[${d}]`);let m=o(),y=o(),x=!t();return{N:d,P:m,Q:y,M:x,R:p}}}),Wb=r(),kl=new Map;let a=e().concat(fm(Wb)).sort((f,d)=>f-d);a.forEach((f,d)=>{let p=t(),m=a[d]=p?a[d-p]:{V:[],M:new Map};m.V.push(f),Wb.has(f)||kl.set(f,m)});for(let{V:f,M:d}of new Set(kl.values())){let p=[];for(let y of f){let x=Ol.filter(w=>Nh(w,y)),b=p.find(({G:w})=>x.some(v=>w.has(v)));b||(b={G:new Set,V:[]},p.push(b)),b.V.push(y),n(b.G,x)}let m=p.flatMap(y=>fm(y.G));for(let{G:y,V:x}of p){let b=new Set(m.filter(w=>!y.has(w)));for(let w of x)d.set(w,b)}}yu=new Set;let u=new Set,l=f=>yu.has(f)?u.add(f):yu.add(f);for(let f of Ol){for(let d of f.P)l(d);for(let d of f.Q)l(d)}for(let f of yu)!kl.has(f)&&!u.has(f)&&kl.set(f,w3);n(yu,x3(yu)),c3=gP(t).map(f=>Kb.from(f)).sort(yP),Zb=new Map;for(let f of c3){let d=[Zb];for(let p of f){let m=d.map(y=>{let x=y.get(p);return x||(x=new Map,y.set(p,x)),x});p===b3?d.push(...m):d=m}for(let p of d)p.V=f}}function $b(t){return(B3(t)?"":`${e2(hm([t]))} `)+h3(t)}function e2(t){return`"${t}"\u200E`}function vP(t){if(t.length>=4&&t[2]==a3&&t[3]==a3)throw new Error(`invalid label extension: "${Pl(t.slice(0,4))}"`)}function kP(t){for(let r=t.lastIndexOf(95);r>0;)if(t[--r]!==95)throw new Error("underscore allowed only at start")}function OP(t){let e=t[0],r=s3.get(e);if(r)throw Ch(`leading ${r}`);let n=t.length,s=-1;for(let i=1;i<n;i++){e=t[i];let o=s3.get(e);if(o){if(s==i)throw Ch(`${r} + ${o}`);s=i+1,r=o}}if(s==n)throw Ch(`trailing ${r}`)}function hm(t,e=1/0,r=h3){let n=[];PP(t[0])&&n.push("\u25CC"),t.length>e&&(e>>=1,t=[...t.slice(0,e),8230,...t.slice(-e)]);let s=0,i=t.length;for(let o=0;o<i;o++){let a=t[o];B3(a)&&(n.push(Pl(t.slice(s,o))),n.push(r(a)),s=o+1)}return n.push(Pl(t.slice(s,i))),n.join("")}function PP(t,e){return Xb(),e?dm.has(t):bu.has(t)}function B3(t){return Xb(),C3.has(t)}function I3(t){return LP(UP(t,SP,HP))}function UP(t,e,r){if(!t)return[];Xb();let n=0;return t.split(y3).map(s=>{let i=xP(s),o={input:i,offset:n};n+=i.length+1;try{let a=o.tokens=GP(i,e,r),u=a.length,l;if(!u)throw new Error("empty label");let f=o.output=a.flat();if(kP(f),!(o.emoji=u>1||a[0].is_emoji)&&f.every(p=>p<128))vP(f),l="ASCII";else{let p=a.flatMap(m=>m.is_emoji?[]:m);if(!p.length)l="Emoji";else{if(bu.has(f[0]))throw Ch("leading combining mark");for(let x=1;x<u;x++){let b=a[x];if(!b.is_emoji&&bu.has(b[0]))throw Ch(`emoji + combining mark: "${Pl(a[x-1])} + ${hm([b[0]])}"`)}OP(f);let m=fm(new Set(p)),[y]=QP(m);VP(y,p),FP(y,m),l=y.N}}o.type=l}catch(a){o.error=a}return o})}function FP(t,e){let r,n=[];for(let s of e){let i=kl.get(s);if(i===w3)return;if(i){let o=i.M.get(s);if(r=r?r.filter(a=>o.has(a)):fm(o),!r.length)return}else n.push(s)}if(r){for(let s of r)if(n.every(i=>Nh(s,i)))throw new Error(`whole-script confusable: ${t.N}/${s.N}`)}}function QP(t){let e=Ol;for(let r of t){let n=e.filter(s=>Nh(s,r));if(!n.length)throw Ol.some(s=>Nh(s,r))?N3(e[0],r):D3(r);if(e=n,n.length==1)break}return e}function LP(t){return t.map(({input:e,error:r,output:n})=>{if(r){let s=r.message;throw new Error(t.length==1?s:`Invalid label ${e2(hm(e,63))}: ${s}`)}return Pl(n)}).join(y3)}function D3(t){return new Error(`disallowed character: ${$b(t)}`)}function N3(t,e){let r=$b(e),n=Ol.find(s=>s.P.has(e));return n&&(r=`${n.N} ${r}`),new Error(`illegal mixture: ${t.N} + ${r}`)}function Ch(t){return new Error(`illegal placement: ${t}`)}function VP(t,e){for(let r of e)if(!Nh(t,r))throw N3(t,r);if(t.M){let r=x3(e);for(let n=1,s=r.length;n<s;n++)if(dm.has(r[n])){let i=n+1;for(let o;i<s&&dm.has(o=r[i]);i++)for(let a=n;a<i;a++)if(r[a]==o)throw new Error(`duplicate non-spacing marks: ${$b(o)}`);if(i-n>i3)throw new Error(`excessive non-spacing marks: ${e2(hm(r.slice(n-1,i)))} (${i-n}/${i3})`);n=i}}}function GP(t,e,r){let n=[],s=[];for(t=t.slice().reverse();t.length;){let i=_P(t);if(i)s.length&&(n.push(e(s)),s=[]),n.push(r(i));else{let o=t.pop();if(yu.has(o))s.push(o);else{let a=qb.get(o);if(a)s.push(...a);else if(!T3.has(o))throw D3(o)}}}return s.length&&n.push(e(s)),n}function HP(t){return t.filter(e=>e!=b3)}function _P(t,e){let r=Zb,n,s=t.length;for(;s&&(r=r.get(t[--s]),!!r);){let{V:i}=r;i&&(n=i,e&&e.push(...t.slice(s).reverse()),t.length=s)}return n}var S3=new Uint8Array(32);S3.fill(0);function R3(t){return I(t.length!==0,"invalid ENS name; empty component","comp",t),t}function t2(t){let e=kt(pm(t)),r=[];if(t.length===0)return r;let n=0;for(let s=0;s<e.length;s++)e[s]===46&&(r.push(R3(e.slice(n,s))),n=s+1);return I(n<e.length,"invalid ENS name; empty component","name",t),r.push(R3(e.slice(n))),r}function pm(t){try{if(t.length===0)throw new Error("empty label");return I3(t)}catch(e){I(!1,`invalid ENS name (${e.message})`,"name",t)}}function Am(t){try{return t2(t).length!==0}catch{}return!1}function mm(t){I(typeof t=="string","invalid ENS name; not a string","name",t),I(t.length,"invalid ENS name (empty label)","name",t);let e=S3,r=t2(t);for(;r.length;)e=ot(et([e,ot(r.pop())]));return J(e)}function gm(t,e){let r=e??63;return I(r<=255,"DNS encoded label cannot exceed 255","length",r),J(et(t2(t).map(n=>{I(n.length<=r,`label ${JSON.stringify(t)} exceeds ${r} bytes`,"name",t);let s=new Uint8Array(n.length+1);return s.set(n,1),s[0]=s.length-1,s})))+"00"}function r2(t){return typeof t=="string"&&(t=kt(t)),ot(et([kt(Ub),kt(String(t.length)),t]))}var O3=new Uint8Array(32);O3.fill(0);var YP=BigInt(-1),P3=BigInt(0),U3=BigInt(1),jP=BigInt("0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");function WP(t){let e=ae(t),r=e.length%32;return r?et([e,O3.slice(r)]):J(e)}var zP=jr(U3,32),JP=jr(P3,32),M3={name:"string",version:"string",chainId:"uint256",verifyingContract:"address",salt:"bytes32"},n2=["name","version","chainId","verifyingContract","salt"];function v3(t){return function(e){return I(typeof e=="string",`invalid domain value for ${JSON.stringify(t)}`,`domain.${t}`,e),e}}var KP={name:v3("name"),version:v3("version"),chainId:function(t){let e=Ce(t,"domain.chainId");return I(e>=0,"invalid chain ID","domain.chainId",t),Number.isSafeInteger(e)?Number(e):tn(e)},verifyingContract:function(t){try{return qe(t).toLowerCase()}catch{}I(!1,'invalid domain value "verifyingContract"',"domain.verifyingContract",t)},salt:function(t){let e=ae(t,"domain.salt");return I(e.length===32,'invalid domain value "salt"',"domain.salt",t),J(e)}};function s2(t){{let e=t.match(/^(u?)int(\d+)$/);if(e){let r=e[1]==="",n=parseInt(e[2]);I(n%8===0&&n!==0&&n<=256&&e[2]===String(n),"invalid numeric width","type",t);let s=po(jP,r?n-1:n),i=r?(s+U3)*YP:P3;return function(o){let a=Ce(o,"value");return I(a>=i&&a<=s,`value out-of-bounds for ${t}`,"value",a),jr(r?wl(a,256):a,32)}}}{let e=t.match(/^bytes(\d+)$/);if(e){let r=parseInt(e[1]);return I(r!==0&&r<=32&&e[1]===String(r),"invalid bytes width","type",t),function(n){let s=ae(n);return I(s.length===r,`invalid length for ${t}`,"value",n),WP(n)}}}switch(t){case"address":return function(e){return en(qe(e),32)};case"bool":return function(e){return e?zP:JP};case"bytes":return function(e){return ot(e)};case"string":return function(e){return bn(e)}}return null}function k3(t,e){return`${t}(${e.map(({name:r,type:n})=>n+" "+r).join(",")})`}function Em(t){let e=t.match(/^([^\x5b]*)((\x5b\d*\x5d)*)(\x5b(\d*)\x5d)$/);return e?{base:e[1],index:e[2]+e[4],array:{base:e[1],prefix:e[1]+e[2],count:e[5]?parseInt(e[5]):-1}}:{base:t}}var Io=class t{primaryType;#e;get types(){return JSON.parse(this.#e)}#t;#r;constructor(e){this.#t=new Map,this.#r=new Map;let r=new Map,n=new Map,s=new Map,i={};Object.keys(e).forEach(u=>{i[u]=e[u].map(({name:l,type:f})=>{let{base:d,index:p}=Em(f);return d==="int"&&!e.int&&(d="int256"),d==="uint"&&!e.uint&&(d="uint256"),{name:l,type:d+(p||"")}}),r.set(u,new Set),n.set(u,[]),s.set(u,new Set)}),this.#e=JSON.stringify(i);for(let u in i){let l=new Set;for(let f of i[u]){I(!l.has(f.name),`duplicate variable name ${JSON.stringify(f.name)} in ${JSON.stringify(u)}`,"types",e),l.add(f.name);let d=Em(f.type).base;I(d!==u,`circular type reference to ${JSON.stringify(d)}`,"types",e),!s2(d)&&(I(n.has(d),`unknown type ${JSON.stringify(d)}`,"types",e),n.get(d).push(u),r.get(u).add(d))}}let o=Array.from(n.keys()).filter(u=>n.get(u).length===0);I(o.length!==0,"missing primary type","types",e),I(o.length===1,`ambiguous primary types or unused types: ${o.map(u=>JSON.stringify(u)).join(", ")}`,"types",e),Be(this,{primaryType:o[0]});function a(u,l){I(!l.has(u),`circular type reference to ${JSON.stringify(u)}`,"types",e),l.add(u);for(let f of r.get(u))if(n.has(f)){a(f,l);for(let d of l)s.get(d).add(f)}l.delete(u)}a(this.primaryType,new Set);for(let[u,l]of s){let f=Array.from(l);f.sort(),this.#t.set(u,k3(u,i[u])+f.map(d=>k3(d,i[d])).join(""))}}getEncoder(e){let r=this.#r.get(e);return r||(r=this.#n(e),this.#r.set(e,r)),r}#n(e){{let s=s2(e);if(s)return s}let r=Em(e).array;if(r){let s=r.prefix,i=this.getEncoder(s);return o=>{I(r.count===-1||r.count===o.length,`array length mismatch; expected length ${r.count}`,"value",o);let a=o.map(i);return this.#t.has(s)&&(a=a.map(ot)),ot(et(a))}}let n=this.types[e];if(n){let s=bn(this.#t.get(e));return i=>{let o=n.map(({name:a,type:u})=>{let l=this.getEncoder(u)(i[a]);return this.#t.has(u)?ot(l):l});return o.unshift(s),et(o)}}I(!1,`unknown type: ${e}`,"type",e)}encodeType(e){let r=this.#t.get(e);return I(r,`unknown type: ${JSON.stringify(e)}`,"name",e),r}encodeData(e,r){return this.getEncoder(e)(r)}hashStruct(e,r){return ot(this.encodeData(e,r))}encode(e){return this.encodeData(this.primaryType,e)}hash(e){return this.hashStruct(this.primaryType,e)}_visit(e,r,n){if(s2(e))return n(e,r);let s=Em(e).array;if(s)return I(s.count===-1||s.count===r.length,`array length mismatch; expected length ${s.count}`,"value",r),r.map(o=>this._visit(s.prefix,o,n));let i=this.types[e];if(i)return i.reduce((o,{name:a,type:u})=>(o[a]=this._visit(u,r[a],n),o),{});I(!1,`unknown type: ${e}`,"type",e)}visit(e,r){return this._visit(this.primaryType,e,r)}static from(e){return new t(e)}static getPrimaryType(e){return t.from(e).primaryType}static hashStruct(e,r,n){return t.from(r).hashStruct(e,n)}static hashDomain(e){let r=[];for(let n in e){if(e[n]==null)continue;let s=M3[n];I(s,`invalid typed-data domain key: ${JSON.stringify(n)}`,"domain",e),r.push({name:n,type:s})}return r.sort((n,s)=>n2.indexOf(n.name)-n2.indexOf(s.name)),t.hashStruct("EIP712Domain",{EIP712Domain:r},e)}static encode(e,r,n){return et(["0x1901",t.hashDomain(e),t.from(r).hash(n)])}static hash(e,r,n){return ot(t.encode(e,r,n))}static async resolveNames(e,r,n,s){e=Object.assign({},e);for(let a in e)e[a]==null&&delete e[a];let i={};e.verifyingContract&&!ft(e.verifyingContract,20)&&(i[e.verifyingContract]="0x");let o=t.from(r);o.visit(n,(a,u)=>(a==="address"&&!ft(u,20)&&(i[u]="0x"),u));for(let a in i)i[a]=await s(a);return e.verifyingContract&&i[e.verifyingContract]&&(e.verifyingContract=i[e.verifyingContract]),n=o.visit(n,(a,u)=>a==="address"&&i[u]?i[u]:u),{domain:e,value:n}}static getPayload(e,r,n){t.hashDomain(e);let s={},i=[];n2.forEach(u=>{let l=e[u];l!=null&&(s[u]=KP[u](l),i.push({name:u,type:M3[u]}))});let o=t.from(r);r=o.types;let a=Object.assign({},r);return I(a.EIP712Domain==null,"types must not contain EIP712Domain type","types.EIP712Domain",r),a.EIP712Domain=i,o.encode(n),{types:a,domain:s,primaryType:o.primaryType,message:o.visit(n,(u,l)=>{if(u.match(/^bytes(\d*)/))return J(ae(l));if(u.match(/^u?int/))return Ce(l).toString();switch(u){case"address":return l.toLowerCase();case"bool":return!!l;case"string":return I(typeof l=="string","invalid string","value",l),l}I(!1,"unsupported type","type",u)})}}};function wn(t){let e=new Set;return t.forEach(r=>e.add(r)),Object.freeze(e)}var qP="external public payable override",ZP=wn(qP.split(" ")),W3="constant external internal payable private public pure view override",XP=wn(W3.split(" ")),z3="constructor error event fallback function receive struct",J3=wn(z3.split(" ")),K3="calldata memory storage payable indexed",$P=wn(K3.split(" ")),eU="tuple returns",tU=[z3,K3,eU,W3].join(" "),rU=wn(tU.split(" ")),nU={"(":"OPEN_PAREN",")":"CLOSE_PAREN","[":"OPEN_BRACKET","]":"CLOSE_BRACKET",",":"COMMA","@":"AT"},sU=new RegExp("^(\\s*)"),iU=new RegExp("^([0-9]+)"),oU=new RegExp("^([a-zA-Z$_][a-zA-Z0-9$_]*)"),q3=new RegExp("^([a-zA-Z$_][a-zA-Z0-9$_]*)$"),Z3=new RegExp("^(address|bool|bytes([0-9]*)|string|u?int([0-9]*))$"),qs=class t{#e;#t;get offset(){return this.#e}get length(){return this.#t.length-this.#e}constructor(e){this.#e=0,this.#t=e.slice()}clone(){return new t(this.#t)}reset(){this.#e=0}#r(e=0,r=0){return new t(this.#t.slice(e,r).map(n=>Object.freeze(Object.assign({},n,{match:n.match-e,linkBack:n.linkBack-e,linkNext:n.linkNext-e}))))}popKeyword(e){let r=this.peek();if(r.type!=="KEYWORD"||!e.has(r.text))throw new Error(`expected keyword ${r.text}`);return this.pop().text}popType(e){if(this.peek().type!==e){let r=this.peek();throw new Error(`expected ${e}; got ${r.type} ${JSON.stringify(r.text)}`)}return this.pop().text}popParen(){let e=this.peek();if(e.type!=="OPEN_PAREN")throw new Error("bad start");let r=this.#r(this.#e+1,e.match+1);return this.#e=e.match+1,r}popParams(){let e=this.peek();if(e.type!=="OPEN_PAREN")throw new Error("bad start");let r=[];for(;this.#e<e.match-1;){let n=this.peek().linkNext;r.push(this.#r(this.#e+1,n)),this.#e=n}return this.#e=e.match+1,r}peek(){if(this.#e>=this.#t.length)throw new Error("out-of-bounds");return this.#t[this.#e]}peekKeyword(e){let r=this.peekType("KEYWORD");return r!=null&&e.has(r)?r:null}peekType(e){if(this.length===0)return null;let r=this.peek();return r.type===e?r.text:null}pop(){let e=this.peek();return this.#e++,e}toString(){let e=[];for(let r=this.#e;r<this.#t.length;r++){let n=this.#t[r];e.push(`${n.type}:${n.text}`)}return`<TokenString ${e.join(" ")}>`}};function Va(t){let e=[],r=o=>{let a=i<t.length?JSON.stringify(t[i]):"$EOI";throw new Error(`invalid token ${a} at ${i}: ${o}`)},n=[],s=[],i=0;for(;i<t.length;){let o=t.substring(i),a=o.match(sU);a&&(i+=a[1].length,o=t.substring(i));let u={depth:n.length,linkBack:-1,linkNext:-1,match:-1,type:"",text:"",offset:i,value:-1};e.push(u);let l=nU[o[0]]||"";if(l){if(u.type=l,u.text=o[0],i++,l==="OPEN_PAREN")n.push(e.length-1),s.push(e.length-1);else if(l=="CLOSE_PAREN")n.length===0&&r("no matching open bracket"),u.match=n.pop(),e[u.match].match=e.length-1,u.depth--,u.linkBack=s.pop(),e[u.linkBack].linkNext=e.length-1;else if(l==="COMMA")u.linkBack=s.pop(),e[u.linkBack].linkNext=e.length-1,s.push(e.length-1);else if(l==="OPEN_BRACKET")u.type="BRACKET";else if(l==="CLOSE_BRACKET"){let f=e.pop().text;if(e.length>0&&e[e.length-1].type==="NUMBER"){let d=e.pop().text;f=d+f,e[e.length-1].value=Je(d)}if(e.length===0||e[e.length-1].type!=="BRACKET")throw new Error("missing opening bracket");e[e.length-1].text+=f}continue}if(a=o.match(oU),a){if(u.text=a[1],i+=u.text.length,rU.has(u.text)){u.type="KEYWORD";continue}if(u.text.match(Z3)){u.type="TYPE";continue}u.type="ID";continue}if(a=o.match(iU),a){u.text=a[1],u.type="NUMBER",i+=u.text.length;continue}throw new Error(`unexpected token ${JSON.stringify(o[0])} at position ${i}`)}return new qs(e.map(o=>Object.freeze(o)))}function F3(t,e){let r=[];for(let n in e.keys())t.has(n)&&r.push(n);if(r.length>1)throw new Error(`conflicting types: ${r.join(", ")}`)}function xm(t,e){if(e.peekKeyword(J3)){let r=e.pop().text;if(r!==t)throw new Error(`expected ${t}, got ${r}`)}return e.popType("ID")}function No(t,e){let r=new Set;for(;;){let n=t.peekType("KEYWORD");if(n==null||e&&!e.has(n))break;if(t.pop(),r.has(n))throw new Error(`duplicate keywords: ${JSON.stringify(n)}`);r.add(n)}return Object.freeze(r)}function X3(t){let e=No(t,XP);return F3(e,wn("constant payable nonpayable".split(" "))),F3(e,wn("pure view payable nonpayable".split(" "))),e.has("view")?"view":e.has("pure")?"pure":e.has("payable")?"payable":e.has("nonpayable")?"nonpayable":e.has("constant")?"view":"nonpayable"}function Do(t,e){return t.popParams().map(r=>Br.from(r,e))}function $3(t){if(t.peekType("AT")){if(t.pop(),t.peekType("NUMBER"))return Ce(t.pop().text);throw new Error("invalid gas")}return null}function wu(t){if(t.length)throw new Error(`unexpected tokens at offset ${t.offset}: ${t.toString()}`)}var aU=new RegExp(/^(.*)\[([0-9]*)\]$/);function Q3(t){let e=t.match(Z3);if(I(e,"invalid type","type",t),t==="uint")return"uint256";if(t==="int")return"int256";if(e[2]){let r=parseInt(e[2]);I(r!==0&&r<=32,"invalid bytes length","type",t)}else if(e[3]){let r=parseInt(e[3]);I(r!==0&&r<=256&&r%8===0,"invalid numeric width","type",t)}return t}var or={},Yn=Symbol.for("_ethers_internal"),L3="_ParamTypeInternal",V3="_ErrorInternal",G3="_EventInternal",H3="_ConstructorInternal",_3="_FallbackInternal",Y3="_FunctionInternal",j3="_StructInternal",Br=class t{name;type;baseType;indexed;components;arrayLength;arrayChildren;constructor(e,r,n,s,i,o,a,u){if(Gn(e,or,"ParamType"),Object.defineProperty(this,Yn,{value:L3}),o&&(o=Object.freeze(o.slice())),s==="array"){if(a==null||u==null)throw new Error("")}else if(a!=null||u!=null)throw new Error("");if(s==="tuple"){if(o==null)throw new Error("")}else if(o!=null)throw new Error("");Be(this,{name:r,type:n,baseType:s,indexed:i,components:o,arrayLength:a,arrayChildren:u})}format(e){if(e==null&&(e="sighash"),e==="json"){let n=this.name||"";if(this.isArray()){let i=JSON.parse(this.arrayChildren.format("json"));return i.name=n,i.type+=`[${this.arrayLength<0?"":String(this.arrayLength)}]`,JSON.stringify(i)}let s={type:this.baseType==="tuple"?"tuple":this.type,name:n};return typeof this.indexed=="boolean"&&(s.indexed=this.indexed),this.isTuple()&&(s.components=this.components.map(i=>JSON.parse(i.format(e)))),JSON.stringify(s)}let r="";return this.isArray()?(r+=this.arrayChildren.format(e),r+=`[${this.arrayLength<0?"":String(this.arrayLength)}]`):this.isTuple()?r+="("+this.components.map(n=>n.format(e)).join(e==="full"?", ":",")+")":r+=this.type,e!=="sighash"&&(this.indexed===!0&&(r+=" indexed"),e==="full"&&this.name&&(r+=" "+this.name)),r}isArray(){return this.baseType==="array"}isTuple(){return this.baseType==="tuple"}isIndexable(){return this.indexed!=null}walk(e,r){if(this.isArray()){if(!Array.isArray(e))throw new Error("invalid array value");if(this.arrayLength!==-1&&e.length!==this.arrayLength)throw new Error("array is wrong length");let n=this;return e.map(s=>n.arrayChildren.walk(s,r))}if(this.isTuple()){if(!Array.isArray(e))throw new Error("invalid tuple value");if(e.length!==this.components.length)throw new Error("array is wrong length");let n=this;return e.map((s,i)=>n.components[i].walk(s,r))}return r(this.type,e)}#e(e,r,n,s){if(this.isArray()){if(!Array.isArray(r))throw new Error("invalid array value");if(this.arrayLength!==-1&&r.length!==this.arrayLength)throw new Error("array is wrong length");let o=this.arrayChildren,a=r.slice();a.forEach((u,l)=>{o.#e(e,u,n,f=>{a[l]=f})}),s(a);return}if(this.isTuple()){let o=this.components,a;if(Array.isArray(r))a=r.slice();else{if(r==null||typeof r!="object")throw new Error("invalid tuple value");a=o.map(u=>{if(!u.name)throw new Error("cannot use object value with unnamed components");if(!(u.name in r))throw new Error(`missing value for component ${u.name}`);return r[u.name]})}if(a.length!==this.components.length)throw new Error("array is wrong length");a.forEach((u,l)=>{o[l].#e(e,u,n,f=>{a[l]=f})}),s(a);return}let i=n(this.type,r);i.then?e.push((async function(){s(await i)})()):s(i)}async walkAsync(e,r){let n=[],s=[e];return this.#e(n,e,r,i=>{s[0]=i}),n.length&&await Promise.all(n),s[0]}static from(e,r){if(t.isParamType(e))return e;if(typeof e=="string")try{return t.from(Va(e),r)}catch{I(!1,"invalid param type","obj",e)}else if(e instanceof qs){let a="",u="",l=null;No(e,wn(["tuple"])).has("tuple")||e.peekType("OPEN_PAREN")?(u="tuple",l=e.popParams().map(x=>t.from(x)),a=`tuple(${l.map(x=>x.format()).join(",")})`):(a=Q3(e.popType("TYPE")),u=a);let f=null,d=null;for(;e.length&&e.peekType("BRACKET");){let x=e.pop();f=new t(or,"",a,u,null,l,d,f),d=x.value,a+=x.text,u="array",l=null}let p=null;if(No(e,$P).has("indexed")){if(!r)throw new Error("");p=!0}let y=e.peekType("ID")?e.pop().text:"";if(e.length)throw new Error("leftover tokens");return new t(or,y,a,u,p,l,d,f)}let n=e.name;I(!n||typeof n=="string"&&n.match(q3),"invalid name","obj.name",n);let s=e.indexed;s!=null&&(I(r,"parameter cannot be indexed","obj.indexed",e.indexed),s=!!s);let i=e.type,o=i.match(aU);if(o){let a=parseInt(o[2]||"-1"),u=t.from({type:o[1],components:e.components});return new t(or,n||"",i,"array",s,null,a,u)}if(i==="tuple"||i.startsWith("tuple(")||i.startsWith("(")){let a=e.components!=null?e.components.map(l=>t.from(l)):null;return new t(or,n||"",i,"tuple",s,a,null,null)}return i=Q3(e.type),new t(or,n||"",i,i,s,null,null,null)}static isParamType(e){return e&&e[Yn]===L3}},La=class t{type;inputs;constructor(e,r,n){Gn(e,or,"Fragment"),n=Object.freeze(n.slice()),Be(this,{type:r,inputs:n})}static from(e){if(typeof e=="string"){try{t.from(JSON.parse(e))}catch{}return t.from(Va(e))}if(e instanceof qs)switch(e.peekKeyword(J3)){case"constructor":return Fa.from(e);case"error":return rs.from(e);case"event":return Ua.from(e);case"fallback":case"receive":return Sh.from(e);case"function":return Qa.from(e);case"struct":return Fl.from(e)}else if(typeof e=="object"){switch(e.type){case"constructor":return Fa.from(e);case"error":return rs.from(e);case"event":return Ua.from(e);case"fallback":case"receive":return Sh.from(e);case"function":return Qa.from(e);case"struct":return Fl.from(e)}z(!1,`unsupported type: ${e.type}`,"UNSUPPORTED_OPERATION",{operation:"Fragment.from"})}I(!1,"unsupported frgament object","obj",e)}static isConstructor(e){return Fa.isFragment(e)}static isError(e){return rs.isFragment(e)}static isEvent(e){return Ua.isFragment(e)}static isFunction(e){return Qa.isFragment(e)}static isStruct(e){return Fl.isFragment(e)}},Tu=class extends La{name;constructor(e,r,n,s){super(e,r,s),I(typeof n=="string"&&n.match(q3),"invalid identifier","name",n),s=Object.freeze(s.slice()),Be(this,{name:n})}};function Rh(t,e){return"("+e.map(r=>r.format(t)).join(t==="full"?", ":",")+")"}var rs=class t extends Tu{constructor(e,r,n){super(e,"error",r,n),Object.defineProperty(this,Yn,{value:V3})}get selector(){return bn(this.format("sighash")).substring(0,10)}format(e){if(e==null&&(e="sighash"),e==="json")return JSON.stringify({type:"error",name:this.name,inputs:this.inputs.map(n=>JSON.parse(n.format(e)))});let r=[];return e!=="sighash"&&r.push("error"),r.push(this.name+Rh(e,this.inputs)),r.join(" ")}static from(e){if(t.isFragment(e))return e;if(typeof e=="string")return t.from(Va(e));if(e instanceof qs){let r=xm("error",e),n=Do(e);return wu(e),new t(or,r,n)}return new t(or,e.name,e.inputs?e.inputs.map(Br.from):[])}static isFragment(e){return e&&e[Yn]===V3}},Ua=class t extends Tu{anonymous;constructor(e,r,n,s){super(e,"event",r,n),Object.defineProperty(this,Yn,{value:G3}),Be(this,{anonymous:s})}get topicHash(){return bn(this.format("sighash"))}format(e){if(e==null&&(e="sighash"),e==="json")return JSON.stringify({type:"event",anonymous:this.anonymous,name:this.name,inputs:this.inputs.map(n=>JSON.parse(n.format(e)))});let r=[];return e!=="sighash"&&r.push("event"),r.push(this.name+Rh(e,this.inputs)),e!=="sighash"&&this.anonymous&&r.push("anonymous"),r.join(" ")}static getTopicHash(e,r){return r=(r||[]).map(s=>Br.from(s)),new t(or,e,r,!1).topicHash}static from(e){if(t.isFragment(e))return e;if(typeof e=="string")try{return t.from(Va(e))}catch{I(!1,"invalid event fragment","obj",e)}else if(e instanceof qs){let r=xm("event",e),n=Do(e,!0),s=!!No(e,wn(["anonymous"])).has("anonymous");return wu(e),new t(or,r,n,s)}return new t(or,e.name,e.inputs?e.inputs.map(r=>Br.from(r,!0)):[],!!e.anonymous)}static isFragment(e){return e&&e[Yn]===G3}},Fa=class t extends La{payable;gas;constructor(e,r,n,s,i){super(e,r,n),Object.defineProperty(this,Yn,{value:H3}),Be(this,{payable:s,gas:i})}format(e){if(z(e!=null&&e!=="sighash","cannot format a constructor for sighash","UNSUPPORTED_OPERATION",{operation:"format(sighash)"}),e==="json")return JSON.stringify({type:"constructor",stateMutability:this.payable?"payable":"undefined",payable:this.payable,gas:this.gas!=null?this.gas:void 0,inputs:this.inputs.map(n=>JSON.parse(n.format(e)))});let r=[`constructor${Rh(e,this.inputs)}`];return this.payable&&r.push("payable"),this.gas!=null&&r.push(`@${this.gas.toString()}`),r.join(" ")}static from(e){if(t.isFragment(e))return e;if(typeof e=="string")try{return t.from(Va(e))}catch{I(!1,"invalid constuctor fragment","obj",e)}else if(e instanceof qs){No(e,wn(["constructor"]));let r=Do(e),n=!!No(e,ZP).has("payable"),s=$3(e);return wu(e),new t(or,"constructor",r,n,s)}return new t(or,"constructor",e.inputs?e.inputs.map(Br.from):[],!!e.payable,e.gas!=null?e.gas:null)}static isFragment(e){return e&&e[Yn]===H3}},Sh=class t extends La{payable;constructor(e,r,n){super(e,"fallback",r),Object.defineProperty(this,Yn,{value:_3}),Be(this,{payable:n})}format(e){let r=this.inputs.length===0?"receive":"fallback";if(e==="json"){let n=this.payable?"payable":"nonpayable";return JSON.stringify({type:r,stateMutability:n})}return`${r}()${this.payable?" payable":""}`}static from(e){if(t.isFragment(e))return e;if(typeof e=="string")try{return t.from(Va(e))}catch{I(!1,"invalid fallback fragment","obj",e)}else if(e instanceof qs){let r=e.toString(),n=e.peekKeyword(wn(["fallback","receive"]));if(I(n,"type must be fallback or receive","obj",r),e.popKeyword(wn(["fallback","receive"]))==="receive"){let a=Do(e);return I(a.length===0,"receive cannot have arguments","obj.inputs",a),No(e,wn(["payable"])),wu(e),new t(or,[],!0)}let i=Do(e);i.length?I(i.length===1&&i[0].type==="bytes","invalid fallback inputs","obj.inputs",i.map(a=>a.format("minimal")).join(", ")):i=[Br.from("bytes")];let o=X3(e);if(I(o==="nonpayable"||o==="payable","fallback cannot be constants","obj.stateMutability",o),No(e,wn(["returns"])).has("returns")){let a=Do(e);I(a.length===1&&a[0].type==="bytes","invalid fallback outputs","obj.outputs",a.map(u=>u.format("minimal")).join(", "))}return wu(e),new t(or,i,o==="payable")}if(e.type==="receive")return new t(or,[],!0);if(e.type==="fallback"){let r=[Br.from("bytes")],n=e.stateMutability==="payable";return new t(or,r,n)}I(!1,"invalid fallback description","obj",e)}static isFragment(e){return e&&e[Yn]===_3}},Qa=class t extends Tu{constant;outputs;stateMutability;payable;gas;constructor(e,r,n,s,i,o){super(e,"function",r,s),Object.defineProperty(this,Yn,{value:Y3}),i=Object.freeze(i.slice()),Be(this,{constant:n==="view"||n==="pure",gas:o,outputs:i,payable:n==="payable",stateMutability:n})}get selector(){return bn(this.format("sighash")).substring(0,10)}format(e){if(e==null&&(e="sighash"),e==="json")return JSON.stringify({type:"function",name:this.name,constant:this.constant,stateMutability:this.stateMutability!=="nonpayable"?this.stateMutability:void 0,payable:this.payable,gas:this.gas!=null?this.gas:void 0,inputs:this.inputs.map(n=>JSON.parse(n.format(e))),outputs:this.outputs.map(n=>JSON.parse(n.format(e)))});let r=[];return e!=="sighash"&&r.push("function"),r.push(this.name+Rh(e,this.inputs)),e!=="sighash"&&(this.stateMutability!=="nonpayable"&&r.push(this.stateMutability),this.outputs&&this.outputs.length&&(r.push("returns"),r.push(Rh(e,this.outputs))),this.gas!=null&&r.push(`@${this.gas.toString()}`)),r.join(" ")}static getSelector(e,r){return r=(r||[]).map(s=>Br.from(s)),new t(or,e,"view",r,[],null).selector}static from(e){if(t.isFragment(e))return e;if(typeof e=="string")try{return t.from(Va(e))}catch{I(!1,"invalid function fragment","obj",e)}else if(e instanceof qs){let n=xm("function",e),s=Do(e),i=X3(e),o=[];No(e,wn(["returns"])).has("returns")&&(o=Do(e));let a=$3(e);return wu(e),new t(or,n,i,s,o,a)}let r=e.stateMutability;return r==null&&(r="payable",typeof e.constant=="boolean"?(r="view",e.constant||(r="payable",typeof e.payable=="boolean"&&!e.payable&&(r="nonpayable"))):typeof e.payable=="boolean"&&!e.payable&&(r="nonpayable")),new t(or,e.name,r,e.inputs?e.inputs.map(Br.from):[],e.outputs?e.outputs.map(Br.from):[],e.gas!=null?e.gas:null)}static isFragment(e){return e&&e[Yn]===Y3}},Fl=class t extends Tu{constructor(e,r,n){super(e,"struct",r,n),Object.defineProperty(this,Yn,{value:j3})}format(){throw new Error("@TODO")}static from(e){if(typeof e=="string")try{return t.from(Va(e))}catch{I(!1,"invalid struct fragment","obj",e)}else if(e instanceof qs){let r=xm("struct",e),n=Do(e);return wu(e),new t(or,r,n)}return new t(or,e.name,e.inputs?e.inputs.map(Br.from):[])}static isFragment(e){return e&&e[Yn]===j3}};var Zs=new Map;Zs.set(0,"GENERIC_PANIC");Zs.set(1,"ASSERT_FALSE");Zs.set(17,"OVERFLOW");Zs.set(18,"DIVIDE_BY_ZERO");Zs.set(33,"ENUM_RANGE_ERROR");Zs.set(34,"BAD_STORAGE_DATA");Zs.set(49,"STACK_UNDERFLOW");Zs.set(50,"ARRAY_RANGE_ERROR");Zs.set(65,"OUT_OF_MEMORY");Zs.set(81,"UNINITIALIZED_FUNCTION_CALL");var cU=new RegExp(/^bytes([0-9]*)$/),uU=new RegExp(/^(u?int)([0-9]*)$/),i2=null,eN=1024;function lU(t,e,r,n){let s="missing revert data",i=null,o=null,a=null;if(r){s="execution reverted";let l=ae(r);if(r=J(r),l.length===0)s+=" (no data present; likely require(false) occurred",i="require(false)";else if(l.length%32!==4)s+=" (could not decode reason; invalid data length)";else if(J(l.slice(0,4))==="0x08c379a0")try{i=n.decode(["string"],l.slice(4))[0],a={signature:"Error(string)",name:"Error",args:[i]},s+=`: ${JSON.stringify(i)}`}catch{s+=" (could not decode reason; invalid string data)"}else if(J(l.slice(0,4))==="0x4e487b71")try{let f=Number(n.decode(["uint256"],l.slice(4))[0]);a={signature:"Panic(uint256)",name:"Panic",args:[f]},i=`Panic due to ${Zs.get(f)||"UNKNOWN"}(${f})`,s+=`: ${i}`}catch{s+=" (could not decode panic code)"}else s+=" (unknown custom error)"}let u={to:e.to?qe(e.to):null,data:e.data||"0x"};return e.from&&(u.from=qe(e.from)),Nt(s,"CALL_EXCEPTION",{action:t,data:r,reason:i,transaction:u,invocation:o,revert:a})}var Ro=class t{#e(e){if(e.isArray())return new K1(this.#e(e.arrayChildren),e.arrayLength,e.name);if(e.isTuple())return new Eu(e.components.map(n=>this.#e(n)),e.name);switch(e.baseType){case"address":return new z1(e.name);case"bool":return new q1(e.name);case"string":return new tm(e.name);case"bytes":return new Z1(e.name);case"":return new $1(e.name)}let r=e.type.match(uU);if(r){let n=parseInt(r[2]||"256");return I(n!==0&&n<=256&&n%8===0,"invalid "+r[1]+" bit length","param",e),new em(n/8,r[1]==="int",e.name)}if(r=e.type.match(cU),r){let n=parseInt(r[1]);return I(n!==0&&n<=32,"invalid bytes length","param",e),new X1(n,e.name)}I(!1,"invalid type","type",e.type)}getDefaultValue(e){let r=e.map(s=>this.#e(Br.from(s)));return new Eu(r,"_").defaultValue()}encode(e,r){xl(r.length,e.length,"types/values length mismatch");let n=e.map(o=>this.#e(Br.from(o))),s=new Eu(n,"_"),i=new lu;return s.encode(i,r),i.data}decode(e,r,n){let s=e.map(o=>this.#e(Br.from(o)));return new Eu(s,"_").decode(new D1(r,n,eN))}static _setDefaultMaxInflation(e){I(typeof e=="number"&&Number.isInteger(e),"invalid defaultMaxInflation factor","value",e),eN=e}static defaultAbiCoder(){return i2==null&&(i2=new t),i2}static getBuiltinCallException(e,r,n){return lU(e,r,n,t.defaultAbiCoder())}};var Mh=class{fragment;name;signature;topic;args;constructor(e,r,n){let s=e.name,i=e.format();Be(this,{fragment:e,name:s,signature:i,topic:r,args:n})}},vh=class{fragment;name;args;signature;selector;value;constructor(e,r,n,s){let i=e.name,o=e.format();Be(this,{fragment:e,name:i,args:n,signature:o,selector:r,value:s})}},kh=class{fragment;name;args;signature;selector;constructor(e,r,n){let s=e.name,i=e.format();Be(this,{fragment:e,name:s,args:n,signature:i,selector:r})}},Ql=class{hash;_isIndexed;static isIndexed(e){return!!(e&&e._isIndexed)}constructor(e){Be(this,{hash:e,_isIndexed:!0})}},tN={0:"generic panic",1:"assert(false)",17:"arithmetic overflow",18:"division or modulo by zero",33:"enum overflow",34:"invalid encoded storage byte array accessed",49:"out-of-bounds array access; popping on an empty array",50:"out-of-bounds access of an array or bytesN",65:"out of memory",81:"uninitialized function"},rN={"0x08c379a0":{signature:"Error(string)",name:"Error",inputs:["string"],reason:t=>`reverted with reason string ${JSON.stringify(t)}`},"0x4e487b71":{signature:"Panic(uint256)",name:"Panic",inputs:["uint256"],reason:t=>{let e="unknown panic code";return t>=0&&t<=255&&tN[t.toString()]&&(e=tN[t.toString()]),`reverted with panic code 0x${t.toString(16)} (${e})`}}},Si=class t{fragments;deploy;fallback;receive;#e;#t;#r;#n;constructor(e){let r=[];typeof e=="string"?r=JSON.parse(e):r=e,this.#r=new Map,this.#e=new Map,this.#t=new Map;let n=[];for(let o of r)try{n.push(La.from(o))}catch(a){console.log(`[Warning] Invalid Fragment ${JSON.stringify(o)}:`,a.message)}Be(this,{fragments:Object.freeze(n)});let s=null,i=!1;this.#n=this.getAbiCoder(),this.fragments.forEach((o,a)=>{let u;switch(o.type){case"constructor":if(this.deploy){console.log("duplicate definition - constructor");return}Be(this,{deploy:o});return;case"fallback":o.inputs.length===0?i=!0:(I(!s||o.payable!==s.payable,"conflicting fallback fragments",`fragments[${a}]`,o),s=o,i=s.payable);return;case"function":u=this.#r;break;case"event":u=this.#t;break;case"error":u=this.#e;break;default:return}let l=o.format();u.has(l)||u.set(l,o)}),this.deploy||Be(this,{deploy:Fa.from("constructor()")}),Be(this,{fallback:s,receive:i})}format(e){let r=e?"minimal":"full";return this.fragments.map(s=>s.format(r))}formatJson(){let e=this.fragments.map(r=>r.format("json"));return JSON.stringify(e.map(r=>JSON.parse(r)))}getAbiCoder(){return Ro.defaultAbiCoder()}#s(e,r,n){if(ft(e)){let i=e.toLowerCase();for(let o of this.#r.values())if(i===o.selector)return o;return null}if(e.indexOf("(")===-1){let i=[];for(let[o,a]of this.#r)o.split("(")[0]===e&&i.push(a);if(r){let o=r.length>0?r[r.length-1]:null,a=r.length,u=!0;Gt.isTyped(o)&&o.type==="overrides"&&(u=!1,a--);for(let l=i.length-1;l>=0;l--){let f=i[l].inputs.length;f!==a&&(!u||f!==a-1)&&i.splice(l,1)}for(let l=i.length-1;l>=0;l--){let f=i[l].inputs;for(let d=0;d<r.length;d++)if(Gt.isTyped(r[d])){if(d>=f.length){if(r[d].type==="overrides")continue;i.splice(l,1);break}if(r[d].type!==f[d].baseType){i.splice(l,1);break}}}}if(i.length===1&&r&&r.length!==i[0].inputs.length){let o=r[r.length-1];(o==null||Array.isArray(o)||typeof o!="object")&&i.splice(0,1)}if(i.length===0)return null;if(i.length>1&&n){let o=i.map(a=>JSON.stringify(a.format())).join(", ");I(!1,`ambiguous function description (i.e. matches ${o})`,"key",e)}return i[0]}let s=this.#r.get(Qa.from(e).format());return s||null}getFunctionName(e){let r=this.#s(e,null,!1);return I(r,"no matching function","key",e),r.name}hasFunction(e){return!!this.#s(e,null,!1)}getFunction(e,r){return this.#s(e,r||null,!0)}forEachFunction(e){let r=Array.from(this.#r.keys());r.sort((n,s)=>n.localeCompare(s));for(let n=0;n<r.length;n++){let s=r[n];e(this.#r.get(s),n)}}#o(e,r,n){if(ft(e)){let i=e.toLowerCase();for(let o of this.#t.values())if(i===o.topicHash)return o;return null}if(e.indexOf("(")===-1){let i=[];for(let[o,a]of this.#t)o.split("(")[0]===e&&i.push(a);if(r){for(let o=i.length-1;o>=0;o--)i[o].inputs.length<r.length&&i.splice(o,1);for(let o=i.length-1;o>=0;o--){let a=i[o].inputs;for(let u=0;u<r.length;u++)if(Gt.isTyped(r[u])&&r[u].type!==a[u].baseType){i.splice(o,1);break}}}if(i.length===0)return null;if(i.length>1&&n){let o=i.map(a=>JSON.stringify(a.format())).join(", ");I(!1,`ambiguous event description (i.e. matches ${o})`,"key",e)}return i[0]}let s=this.#t.get(Ua.from(e).format());return s||null}getEventName(e){let r=this.#o(e,null,!1);return I(r,"no matching event","key",e),r.name}hasEvent(e){return!!this.#o(e,null,!1)}getEvent(e,r){return this.#o(e,r||null,!0)}forEachEvent(e){let r=Array.from(this.#t.keys());r.sort((n,s)=>n.localeCompare(s));for(let n=0;n<r.length;n++){let s=r[n];e(this.#t.get(s),n)}}getError(e,r){if(ft(e)){let s=e.toLowerCase();if(rN[s])return rs.from(rN[s].signature);for(let i of this.#e.values())if(s===i.selector)return i;return null}if(e.indexOf("(")===-1){let s=[];for(let[i,o]of this.#e)i.split("(")[0]===e&&s.push(o);if(s.length===0)return e==="Error"?rs.from("error Error(string)"):e==="Panic"?rs.from("error Panic(uint256)"):null;if(s.length>1){let i=s.map(o=>JSON.stringify(o.format())).join(", ");I(!1,`ambiguous error description (i.e. ${i})`,"name",e)}return s[0]}if(e=rs.from(e).format(),e==="Error(string)")return rs.from("error Error(string)");if(e==="Panic(uint256)")return rs.from("error Panic(uint256)");let n=this.#e.get(e);return n||null}forEachError(e){let r=Array.from(this.#e.keys());r.sort((n,s)=>n.localeCompare(s));for(let n=0;n<r.length;n++){let s=r[n];e(this.#e.get(s),n)}}_decodeParams(e,r){return this.#n.decode(e,r)}_encodeParams(e,r){return this.#n.encode(e,r)}encodeDeploy(e){return this._encodeParams(this.deploy.inputs,e||[])}decodeErrorResult(e,r){if(typeof e=="string"){let n=this.getError(e);I(n,"unknown error","fragment",e),e=n}return I(Rt(r,0,4)===e.selector,`data signature does not match error ${e.name}.`,"data",r),this._decodeParams(e.inputs,Rt(r,4))}encodeErrorResult(e,r){if(typeof e=="string"){let n=this.getError(e);I(n,"unknown error","fragment",e),e=n}return et([e.selector,this._encodeParams(e.inputs,r||[])])}decodeFunctionData(e,r){if(typeof e=="string"){let n=this.getFunction(e);I(n,"unknown function","fragment",e),e=n}return I(Rt(r,0,4)===e.selector,`data signature does not match function ${e.name}.`,"data",r),this._decodeParams(e.inputs,Rt(r,4))}encodeFunctionData(e,r){if(typeof e=="string"){let n=this.getFunction(e);I(n,"unknown function","fragment",e),e=n}return et([e.selector,this._encodeParams(e.inputs,r||[])])}decodeFunctionResult(e,r){if(typeof e=="string"){let i=this.getFunction(e);I(i,"unknown function","fragment",e),e=i}let n="invalid length for result data",s=qt(r);if(s.length%32===0)try{return this.#n.decode(e.outputs,s)}catch{n="could not decode result data"}z(!1,n,"BAD_DATA",{value:J(s),info:{method:e.name,signature:e.format()}})}makeError(e,r){let n=ae(e,"data"),s=Ro.getBuiltinCallException("call",r,n);if(s.message.startsWith("execution reverted (unknown custom error)")){let a=J(n.slice(0,4)),u=this.getError(a);if(u)try{let l=this.#n.decode(u.inputs,n.slice(4));s.revert={name:u.name,signature:u.format(),args:l},s.reason=s.revert.signature,s.message=`execution reverted: ${s.reason}`}catch{s.message="execution reverted (coult not decode custom error)"}}let o=this.parseTransaction(r);return o&&(s.invocation={method:o.name,signature:o.signature,args:o.args}),s}encodeFunctionResult(e,r){if(typeof e=="string"){let n=this.getFunction(e);I(n,"unknown function","fragment",e),e=n}return J(this.#n.encode(e.outputs,r||[]))}encodeFilterTopics(e,r){if(typeof e=="string"){let i=this.getEvent(e);I(i,"unknown event","eventFragment",e),e=i}z(r.length<=e.inputs.length,`too many arguments for ${e.format()}`,"UNEXPECTED_ARGUMENT",{count:r.length,expectedCount:e.inputs.length});let n=[];e.anonymous||n.push(e.topicHash);let s=(i,o)=>i.type==="string"?bn(o):i.type==="bytes"?ot(J(o)):(i.type==="bool"&&typeof o=="boolean"?o=o?"0x01":"0x00":i.type.match(/^u?int/)?o=jr(o):i.type.match(/^bytes/)?o=m1(o,32):i.type==="address"&&this.#n.encode(["address"],[o]),en(J(o),32));for(r.forEach((i,o)=>{let a=e.inputs[o];if(!a.indexed){I(i==null,"cannot filter non-indexed parameters; must be null","contract."+a.name,i);return}i==null?n.push(null):a.baseType==="array"||a.baseType==="tuple"?I(!1,"filtering with tuples or arrays not supported","contract."+a.name,i):Array.isArray(i)?n.push(i.map(u=>s(a,u))):n.push(s(a,i))});n.length&&n[n.length-1]===null;)n.pop();return n}encodeEventLog(e,r){if(typeof e=="string"){let o=this.getEvent(e);I(o,"unknown event","eventFragment",e),e=o}let n=[],s=[],i=[];return e.anonymous||n.push(e.topicHash),I(r.length===e.inputs.length,"event arguments/values mismatch","values",r),e.inputs.forEach((o,a)=>{let u=r[a];if(o.indexed)if(o.type==="string")n.push(bn(u));else if(o.type==="bytes")n.push(ot(u));else{if(o.baseType==="tuple"||o.baseType==="array")throw new Error("not implemented");n.push(this.#n.encode([o.type],[u]))}else s.push(o),i.push(u)}),{data:this.#n.encode(s,i),topics:n}}decodeEventLog(e,r,n){if(typeof e=="string"){let m=this.getEvent(e);I(m,"unknown event","eventFragment",e),e=m}if(n!=null&&!e.anonymous){let m=e.topicHash;I(ft(n[0],32)&&n[0].toLowerCase()===m,"fragment/topic mismatch","topics[0]",n[0]),n=n.slice(1)}let s=[],i=[],o=[];e.inputs.forEach((m,y)=>{m.indexed?m.type==="string"||m.type==="bytes"||m.baseType==="tuple"||m.baseType==="array"?(s.push(Br.from({type:"bytes32",name:m.name})),o.push(!0)):(s.push(m),o.push(!1)):(i.push(m),o.push(!1))});let a=n!=null?this.#n.decode(s,et(n)):null,u=this.#n.decode(i,r,!0),l=[],f=[],d=0,p=0;return e.inputs.forEach((m,y)=>{let x=null;if(m.indexed)if(a==null)x=new Ql(null);else if(o[y])x=new Ql(a[p++]);else try{x=a[p++]}catch(b){x=b}else try{x=u[d++]}catch(b){x=b}l.push(x),f.push(m.name||null)}),Ni.fromItems(l,f)}parseTransaction(e){let r=ae(e.data,"tx.data"),n=Ce(e.value!=null?e.value:0,"tx.value"),s=this.getFunction(J(r.slice(0,4)));if(!s)return null;let i=this.#n.decode(s.inputs,r.slice(4));return new vh(s,s.selector,i,n)}parseCallResult(e){throw new Error("@TODO")}parseLog(e){let r=this.getEvent(e.topics[0]);return!r||r.anonymous?null:new Mh(r,r.topicHash,this.decodeEventLog(r,e.data,e.topics))}parseError(e){let r=J(e),n=this.getError(Rt(r,0,4));if(!n)return null;let s=this.#n.decode(n.inputs,Rt(r,4));return new kh(n,n.selector,s)}static from(e){return e instanceof t?e:typeof e=="string"?new t(JSON.parse(e)):typeof e.formatJson=="function"?new t(e.formatJson()):typeof e.format=="function"?new t(e.format("json")):new t(e)}};var sN=BigInt(0);function Ll(t){return t??null}function gr(t){return t==null?null:t.toString()}var Cu=class{gasPrice;maxFeePerGas;maxPriorityFeePerGas;constructor(e,r,n){Be(this,{gasPrice:Ll(e),maxFeePerGas:Ll(r),maxPriorityFeePerGas:Ll(n)})}toJSON(){let{gasPrice:e,maxFeePerGas:r,maxPriorityFeePerGas:n}=this;return{_type:"FeeData",gasPrice:gr(e),maxFeePerGas:gr(r),maxPriorityFeePerGas:gr(n)}}};function Xs(t){let e={};t.to&&(e.to=t.to),t.from&&(e.from=t.from),t.data&&(e.data=J(t.data));let r="chainId,gasLimit,gasPrice,maxFeePerBlobGas,maxFeePerGas,maxPriorityFeePerGas,value".split(/,/);for(let s of r)!(s in t)||t[s]==null||(e[s]=Ce(t[s],`request.${s}`));let n="type,nonce".split(/,/);for(let s of n)!(s in t)||t[s]==null||(e[s]=Je(t[s],`request.${s}`));return t.accessList&&(e.accessList=_n(t.accessList)),t.authorizationList&&(e.authorizationList=t.authorizationList.slice()),"blockTag"in t&&(e.blockTag=t.blockTag),"enableCcipRead"in t&&(e.enableCcipRead=!!t.enableCcipRead),"customData"in t&&(e.customData=t.customData),"blobVersionedHashes"in t&&t.blobVersionedHashes&&(e.blobVersionedHashes=t.blobVersionedHashes.slice()),"kzg"in t&&(e.kzg=t.kzg),"blobWrapperVersion"in t&&(e.blobWrapperVersion=t.blobWrapperVersion),"blobs"in t&&t.blobs&&(e.blobs=t.blobs.map(s=>Ii(s)?J(s):Object.assign({},s))),e}var Vl=class{provider;number;hash;timestamp;parentHash;parentBeaconBlockRoot;nonce;difficulty;gasLimit;gasUsed;stateRoot;receiptsRoot;transactionsRoot;blobGasUsed;excessBlobGas;miner;prevRandao;extraData;baseFeePerGas;#e;constructor(e,r){this.#e=e.transactions.map(n=>typeof n!="string"?new So(n,r):n),Be(this,{provider:r,hash:Ll(e.hash),number:e.number,timestamp:e.timestamp,parentHash:e.parentHash,parentBeaconBlockRoot:e.parentBeaconBlockRoot,nonce:e.nonce,difficulty:e.difficulty,gasLimit:e.gasLimit,gasUsed:e.gasUsed,blobGasUsed:e.blobGasUsed,excessBlobGas:e.excessBlobGas,miner:e.miner,prevRandao:Ll(e.prevRandao),extraData:e.extraData,baseFeePerGas:Ll(e.baseFeePerGas),stateRoot:e.stateRoot,receiptsRoot:e.receiptsRoot,transactionsRoot:e.transactionsRoot})}get transactions(){return this.#e.map(e=>typeof e=="string"?e:e.hash)}get prefetchedTransactions(){let e=this.#e.slice();return e.length===0?[]:(z(typeof e[0]=="object","transactions were not prefetched with block request","UNSUPPORTED_OPERATION",{operation:"transactionResponses()"}),e)}toJSON(){let{baseFeePerGas:e,difficulty:r,extraData:n,gasLimit:s,gasUsed:i,hash:o,miner:a,prevRandao:u,nonce:l,number:f,parentHash:d,parentBeaconBlockRoot:p,stateRoot:m,receiptsRoot:y,transactionsRoot:x,timestamp:b,transactions:w}=this;return{_type:"Block",baseFeePerGas:gr(e),difficulty:gr(r),extraData:n,gasLimit:gr(s),gasUsed:gr(i),blobGasUsed:gr(this.blobGasUsed),excessBlobGas:gr(this.excessBlobGas),hash:o,miner:a,prevRandao:u,nonce:l,number:f,parentHash:d,timestamp:b,parentBeaconBlockRoot:p,stateRoot:m,receiptsRoot:y,transactionsRoot:x,transactions:w}}[Symbol.iterator](){let e=0,r=this.transactions;return{next:()=>e<this.length?{value:r[e++],done:!1}:{value:void 0,done:!0}}}get length(){return this.#e.length}get date(){return this.timestamp==null?null:new Date(this.timestamp*1e3)}async getTransaction(e){let r;if(typeof e=="number")r=this.#e[e];else{let n=e.toLowerCase();for(let s of this.#e)if(typeof s=="string"){if(s!==n)continue;r=s;break}else{if(s.hash!==n)continue;r=s;break}}if(r==null)throw new Error("no such tx");return typeof r=="string"?await this.provider.getTransaction(r):r}getPrefetchedTransaction(e){let r=this.prefetchedTransactions;if(typeof e=="number")return r[e];e=e.toLowerCase();for(let n of r)if(n.hash===e)return n;I(!1,"no matching transaction","indexOrHash",e)}isMined(){return!!this.hash}isLondon(){return!!this.baseFeePerGas}orphanedEvent(){if(!this.isMined())throw new Error("");return fU(this)}},Es=class{provider;transactionHash;blockHash;blockNumber;removed;address;data;topics;index;transactionIndex;constructor(e,r){this.provider=r;let n=Object.freeze(e.topics.slice());Be(this,{transactionHash:e.transactionHash,blockHash:e.blockHash,blockNumber:e.blockNumber,removed:e.removed,address:e.address,data:e.data,topics:n,index:e.index,transactionIndex:e.transactionIndex})}toJSON(){let{address:e,blockHash:r,blockNumber:n,data:s,index:i,removed:o,topics:a,transactionHash:u,transactionIndex:l}=this;return{_type:"log",address:e,blockHash:r,blockNumber:n,data:s,index:i,removed:o,topics:a,transactionHash:u,transactionIndex:l}}async getBlock(){let e=await this.provider.getBlock(this.blockHash);return z(!!e,"failed to find transaction","UNKNOWN_ERROR",{}),e}async getTransaction(){let e=await this.provider.getTransaction(this.transactionHash);return z(!!e,"failed to find transaction","UNKNOWN_ERROR",{}),e}async getTransactionReceipt(){let e=await this.provider.getTransactionReceipt(this.transactionHash);return z(!!e,"failed to find transaction receipt","UNKNOWN_ERROR",{}),e}removedEvent(){return dU(this)}},Ga=class{provider;to;from;contractAddress;hash;index;blockHash;blockNumber;logsBloom;gasUsed;blobGasUsed;cumulativeGasUsed;gasPrice;blobGasPrice;type;status;root;#e;constructor(e,r){this.#e=Object.freeze(e.logs.map(s=>new Es(s,r)));let n=sN;e.effectiveGasPrice!=null?n=e.effectiveGasPrice:e.gasPrice!=null&&(n=e.gasPrice),Be(this,{provider:r,to:e.to,from:e.from,contractAddress:e.contractAddress,hash:e.hash,index:e.index,blockHash:e.blockHash,blockNumber:e.blockNumber,logsBloom:e.logsBloom,gasUsed:e.gasUsed,cumulativeGasUsed:e.cumulativeGasUsed,blobGasUsed:e.blobGasUsed,gasPrice:n,blobGasPrice:e.blobGasPrice,type:e.type,status:e.status,root:e.root})}get logs(){return this.#e}toJSON(){let{to:e,from:r,contractAddress:n,hash:s,index:i,blockHash:o,blockNumber:a,logsBloom:u,logs:l,status:f,root:d}=this;return{_type:"TransactionReceipt",blockHash:o,blockNumber:a,contractAddress:n,cumulativeGasUsed:gr(this.cumulativeGasUsed),from:r,gasPrice:gr(this.gasPrice),blobGasUsed:gr(this.blobGasUsed),blobGasPrice:gr(this.blobGasPrice),gasUsed:gr(this.gasUsed),hash:s,index:i,logs:l,logsBloom:u,root:d,status:f,to:e}}get length(){return this.logs.length}[Symbol.iterator](){let e=0;return{next:()=>e<this.length?{value:this.logs[e++],done:!1}:{value:void 0,done:!0}}}get fee(){return this.gasUsed*this.gasPrice}async getBlock(){let e=await this.provider.getBlock(this.blockHash);if(e==null)throw new Error("TODO");return e}async getTransaction(){let e=await this.provider.getTransaction(this.hash);if(e==null)throw new Error("TODO");return e}async getResult(){return await this.provider.getTransactionResult(this.hash)}async confirmations(){return await this.provider.getBlockNumber()-this.blockNumber+1}removedEvent(){return oN(this)}reorderedEvent(e){return z(!e||e.isMined(),"unmined 'other' transction cannot be orphaned","UNSUPPORTED_OPERATION",{operation:"reorderedEvent(other)"}),iN(this,e)}},So=class t{provider;blockNumber;blockHash;index;hash;type;to;from;nonce;gasLimit;gasPrice;maxPriorityFeePerGas;maxFeePerGas;maxFeePerBlobGas;data;value;chainId;signature;accessList;blobVersionedHashes;authorizationList;#e;constructor(e,r){this.provider=r,this.blockNumber=e.blockNumber!=null?e.blockNumber:null,this.blockHash=e.blockHash!=null?e.blockHash:null,this.hash=e.hash,this.index=e.index,this.type=e.type,this.from=e.from,this.to=e.to||null,this.gasLimit=e.gasLimit,this.nonce=e.nonce,this.data=e.data,this.value=e.value,this.gasPrice=e.gasPrice,this.maxPriorityFeePerGas=e.maxPriorityFeePerGas!=null?e.maxPriorityFeePerGas:null,this.maxFeePerGas=e.maxFeePerGas!=null?e.maxFeePerGas:null,this.maxFeePerBlobGas=e.maxFeePerBlobGas!=null?e.maxFeePerBlobGas:null,this.chainId=e.chainId,this.signature=e.signature,this.accessList=e.accessList!=null?e.accessList:null,this.blobVersionedHashes=e.blobVersionedHashes!=null?e.blobVersionedHashes:null,this.authorizationList=e.authorizationList!=null?e.authorizationList:null,this.#e=-1}toJSON(){let{blockNumber:e,blockHash:r,index:n,hash:s,type:i,to:o,from:a,nonce:u,data:l,signature:f,accessList:d,blobVersionedHashes:p}=this;return{_type:"TransactionResponse",accessList:d,blockNumber:e,blockHash:r,blobVersionedHashes:p,chainId:gr(this.chainId),data:l,from:a,gasLimit:gr(this.gasLimit),gasPrice:gr(this.gasPrice),hash:s,maxFeePerGas:gr(this.maxFeePerGas),maxPriorityFeePerGas:gr(this.maxPriorityFeePerGas),maxFeePerBlobGas:gr(this.maxFeePerBlobGas),nonce:u,signature:f,to:o,index:n,type:i,value:gr(this.value)}}async getBlock(){let e=this.blockNumber;if(e==null){let n=await this.getTransaction();n&&(e=n.blockNumber)}if(e==null)return null;let r=this.provider.getBlock(e);if(r==null)throw new Error("TODO");return r}async getTransaction(){return this.provider.getTransaction(this.hash)}async confirmations(){if(this.blockNumber==null){let{tx:r,blockNumber:n}=await er({tx:this.getTransaction(),blockNumber:this.provider.getBlockNumber()});return r==null||r.blockNumber==null?0:n-r.blockNumber+1}return await this.provider.getBlockNumber()-this.blockNumber+1}async wait(e,r){let n=e??1,s=r??0,i=this.#e,o=-1,a=i===-1,u=async()=>{if(a)return null;let{blockNumber:p,nonce:m}=await er({blockNumber:this.provider.getBlockNumber(),nonce:this.provider.getTransactionCount(this.from)});if(m<this.nonce){i=p;return}if(a)return null;let y=await this.getTransaction();if(!(y&&y.blockNumber!=null))for(o===-1&&(o=i-3,o<this.#e&&(o=this.#e));o<=p;){if(a)return null;let x=await this.provider.getBlock(o,!0);if(x==null)return;for(let b of x)if(b===this.hash)return;for(let b=0;b<x.length;b++){let w=await x.getTransaction(b);if(w.from===this.from&&w.nonce===this.nonce){if(a)return null;let v=await this.provider.getTransactionReceipt(w.hash);if(v==null||p-v.blockNumber+1<n)return;let O="replaced";w.data===this.data&&w.to===this.to&&w.value===this.value?O="repriced":w.data==="0x"&&w.from===w.to&&w.value===sN&&(O="cancelled"),z(!1,"transaction was replaced","TRANSACTION_REPLACED",{cancelled:O==="replaced"||O==="cancelled",reason:O,replacement:w.replaceableTransaction(i),hash:w.hash,receipt:v})}}o++}},l=p=>{if(p==null||p.status!==0)return p;z(!1,"transaction execution reverted","CALL_EXCEPTION",{action:"sendTransaction",data:null,reason:null,invocation:null,revert:null,transaction:{to:p.to,from:p.from,data:""},receipt:p})},f=await this.provider.getTransactionReceipt(this.hash);if(n===0)return l(f);if(f){if(n===1||await f.confirmations()>=n)return l(f)}else if(await u(),n===0)return null;return await new Promise((p,m)=>{let y=[],x=()=>{y.forEach(w=>w())};if(y.push(()=>{a=!0}),s>0){let w=setTimeout(()=>{x(),m(Nt("wait for transaction timeout","TIMEOUT"))},s);y.push(()=>{clearTimeout(w)})}let b=async w=>{if(await w.confirmations()>=n){x();try{p(l(w))}catch(v){m(v)}}};if(y.push(()=>{this.provider.off(this.hash,b)}),this.provider.on(this.hash,b),i>=0){let w=async()=>{try{await u()}catch(v){if(Wt(v,"TRANSACTION_REPLACED")){x(),m(v);return}}a||this.provider.once("block",w)};y.push(()=>{this.provider.off("block",w)}),this.provider.once("block",w)}})}isMined(){return this.blockHash!=null}isLegacy(){return this.type===0}isBerlin(){return this.type===1}isLondon(){return this.type===2}isCancun(){return this.type===3}removedEvent(){return z(this.isMined(),"unmined transaction canot be orphaned","UNSUPPORTED_OPERATION",{operation:"removeEvent()"}),oN(this)}reorderedEvent(e){return z(this.isMined(),"unmined transaction canot be orphaned","UNSUPPORTED_OPERATION",{operation:"removeEvent()"}),z(!e||e.isMined(),"unmined 'other' transaction canot be orphaned","UNSUPPORTED_OPERATION",{operation:"removeEvent()"}),iN(this,e)}replaceableTransaction(e){I(Number.isInteger(e)&&e>=0,"invalid startBlock","startBlock",e);let r=new t(this,this.provider);return r.#e=e,r}};function fU(t){return{orphan:"drop-block",hash:t.hash,number:t.number}}function iN(t,e){return{orphan:"reorder-transaction",tx:t,other:e}}function oN(t){return{orphan:"drop-transaction",tx:t}}function dU(t){return{orphan:"drop-log",log:{transactionHash:t.transactionHash,blockHash:t.blockHash,blockNumber:t.blockNumber,address:t.address,data:t.data,topics:Object.freeze(t.topics.slice()),index:t.index}}}var xs=class extends Es{interface;fragment;args;constructor(e,r,n){super(e,e.provider);let s=r.decodeEventLog(n,e.data,e.topics);Be(this,{args:s,fragment:n,interface:r})}get eventName(){return this.fragment.name}get eventSignature(){return this.fragment.format()}},Bu=class extends Es{error;constructor(e,r){super(e,e.provider),Be(this,{error:r})}},Oh=class extends Ga{#e;constructor(e,r,n){super(n,r),this.#e=e}get logs(){return super.logs.map(e=>{let r=e.topics.length?this.#e.getEvent(e.topics[0]):null;if(r)try{return new xs(e,this.#e,r)}catch(n){return new Bu(e,n)}return e})}},Ha=class extends So{#e;constructor(e,r,n){super(n,r),this.#e=e}async wait(e,r){let n=await super.wait(e,r);return n==null?null:new Oh(this.#e,this.provider,n)}},Iu=class extends Ca{log;constructor(e,r,n,s){super(e,r,n),Be(this,{log:s})}async getBlock(){return await this.log.getBlock()}async getTransaction(){return await this.log.getTransaction()}async getTransactionReceipt(){return await this.log.getTransactionReceipt()}},Gl=class extends Iu{constructor(e,r,n,s,i){super(e,r,n,new xs(i,e.interface,s));let o=e.interface.decodeEventLog(s,this.log.data,this.log.topics);Be(this,{args:o,fragment:s})}get eventName(){return this.fragment.name}get eventSignature(){return this.fragment.format()}};var aN=BigInt(0);function uN(t){return t&&typeof t.call=="function"}function lN(t){return t&&typeof t.estimateGas=="function"}function wm(t){return t&&typeof t.resolveName=="function"}function fN(t){return t&&typeof t.sendTransaction=="function"}function dN(t){if(t!=null){if(wm(t))return t;if(t.provider)return t.provider}}var o2=class{#e;fragment;constructor(e,r,n){if(Be(this,{fragment:r}),r.inputs.length<n.length)throw new Error("too many arguments");let s=Nu(e.runner,"resolveName"),i=wm(s)?s:null;this.#e=(async function(){let o=await Promise.all(r.inputs.map((a,u)=>n[u]==null?null:a.walkAsync(n[u],(f,d)=>f==="address"?Array.isArray(d)?Promise.all(d.map(p=>tr(p,i))):tr(d,i):d)));return e.interface.encodeFilterTopics(r,o)})()}getTopicFilter(){return this.#e}};function Nu(t,e){return t==null?null:typeof t[e]=="function"?t:t.provider&&typeof t.provider[e]=="function"?t.provider:null}function Du(t){return t==null?null:t.provider||null}async function Tm(t,e){let r=Gt.dereference(t,"overrides");I(typeof r=="object","invalid overrides parameter","overrides",t);let n=Xs(r);return I(n.to==null||(e||[]).indexOf("to")>=0,"cannot override to","overrides.to",n.to),I(n.data==null||(e||[]).indexOf("data")>=0,"cannot override data","overrides.data",n.data),n.from&&(n.from=n.from),n}async function u2(t,e,r){let n=Nu(t,"resolveName"),s=wm(n)?n:null;return await Promise.all(e.map((i,o)=>i.walkAsync(r[o],(a,u)=>(u=Gt.dereference(u,a),a==="address"?tr(u,s):u))))}function hU(t){let e=async function(o){let a=await Tm(o,["data"]);a.to=await t.getAddress(),a.from&&(a.from=await tr(a.from,dN(t.runner)));let u=t.interface,l=Ce(a.value||aN,"overrides.value")===aN,f=(a.data||"0x")==="0x";u.fallback&&!u.fallback.payable&&u.receive&&!f&&!l&&I(!1,"cannot send data to receive or send value to non-payable fallback","overrides",o),I(u.fallback||f,"cannot send data to receive-only contract","overrides.data",a.data);let d=u.receive||u.fallback&&u.fallback.payable;return I(d||l,"cannot send value to non-payable fallback","overrides.value",a.value),I(u.fallback||f,"cannot send data to receive-only contract","overrides.data",a.data),a},r=async function(o){let a=Nu(t.runner,"call");z(uN(a),"contract runner does not support calling","UNSUPPORTED_OPERATION",{operation:"call"});let u=await e(o);try{return await a.call(u)}catch(l){throw cu(l)&&l.data?t.interface.makeError(l.data,u):l}},n=async function(o){let a=t.runner;z(fN(a),"contract runner does not support sending transactions","UNSUPPORTED_OPERATION",{operation:"sendTransaction"});let u=await a.sendTransaction(await e(o)),l=Du(t.runner);return new Ha(t.interface,l,u)},s=async function(o){let a=Nu(t.runner,"estimateGas");return z(lN(a),"contract runner does not support gas estimation","UNSUPPORTED_OPERATION",{operation:"estimateGas"}),await a.estimateGas(await e(o))},i=async o=>await n(o);return Be(i,{_contract:t,estimateGas:s,populateTransaction:e,send:n,staticCall:r}),i}function pU(t,e){let r=function(...l){let f=t.interface.getFunction(e,l);return z(f,"no matching fragment","UNSUPPORTED_OPERATION",{operation:"fragment",info:{key:e,args:l}}),f},n=async function(...l){let f=r(...l),d={};if(f.inputs.length+1===l.length&&(d=await Tm(l.pop()),d.from&&(d.from=await tr(d.from,dN(t.runner)))),f.inputs.length!==l.length)throw new Error("internal error: fragment inputs doesn't match arguments; should not happen");let p=await u2(t.runner,f.inputs,l);return Object.assign({},d,await er({to:t.getAddress(),data:t.interface.encodeFunctionData(f,p)}))},s=async function(...l){let f=await a(...l);return f.length===1?f[0]:f},i=async function(...l){let f=t.runner;z(fN(f),"contract runner does not support sending transactions","UNSUPPORTED_OPERATION",{operation:"sendTransaction"});let d=await f.sendTransaction(await n(...l)),p=Du(t.runner);return new Ha(t.interface,p,d)},o=async function(...l){let f=Nu(t.runner,"estimateGas");return z(lN(f),"contract runner does not support gas estimation","UNSUPPORTED_OPERATION",{operation:"estimateGas"}),await f.estimateGas(await n(...l))},a=async function(...l){let f=Nu(t.runner,"call");z(uN(f),"contract runner does not support calling","UNSUPPORTED_OPERATION",{operation:"call"});let d=await n(...l),p="0x";try{p=await f.call(d)}catch(y){throw cu(y)&&y.data?t.interface.makeError(y.data,d):y}let m=r(...l);return t.interface.decodeFunctionResult(m,p)},u=async(...l)=>r(...l).constant?await s(...l):await i(...l);return Be(u,{name:t.interface.getFunctionName(e),_contract:t,_key:e,getFragment:r,estimateGas:o,populateTransaction:n,send:i,staticCall:s,staticCallResult:a}),Object.defineProperty(u,"fragment",{configurable:!1,enumerable:!0,get:()=>{let l=t.interface.getFunction(e);return z(l,"no matching fragment","UNSUPPORTED_OPERATION",{operation:"fragment",info:{key:e}}),l}}),u}function AU(t,e){let r=function(...s){let i=t.interface.getEvent(e,s);return z(i,"no matching fragment","UNSUPPORTED_OPERATION",{operation:"fragment",info:{key:e,args:s}}),i},n=function(...s){return new o2(t,r(...s),s)};return Be(n,{name:t.interface.getEventName(e),_contract:t,_key:e,getFragment:r}),Object.defineProperty(n,"fragment",{configurable:!1,enumerable:!0,get:()=>{let s=t.interface.getEvent(e);return z(s,"no matching fragment","UNSUPPORTED_OPERATION",{operation:"fragment",info:{key:e}}),s}}),n}var bm=Symbol.for("_ethersInternal_contract"),hN=new WeakMap;function mU(t,e){hN.set(t[bm],e)}function ns(t){return hN.get(t[bm])}function gU(t){return t&&typeof t=="object"&&"getTopicFilter"in t&&typeof t.getTopicFilter=="function"&&t.fragment}async function l2(t,e){let r,n=null;if(Array.isArray(e)){let i=function(o){if(ft(o,32))return o;let a=t.interface.getEvent(o);return I(a,"unknown fragment","name",o),a.topicHash};r=e.map(o=>o==null?null:Array.isArray(o)?o.map(i):i(o))}else e==="*"?r=[null]:typeof e=="string"?ft(e,32)?r=[e]:(n=t.interface.getEvent(e),I(n,"unknown fragment","event",e),r=[n.topicHash]):gU(e)?r=await e.getTopicFilter():"fragment"in e?(n=e.fragment,r=[n.topicHash]):I(!1,"unknown event name","event",e);r=r.map(i=>{if(i==null)return null;if(Array.isArray(i)){let o=Array.from(new Set(i.map(a=>a.toLowerCase())).values());return o.length===1?o[0]:(o.sort(),o)}return i.toLowerCase()});let s=r.map(i=>i==null?"null":Array.isArray(i)?i.join("|"):i).join("&");return{fragment:n,tag:s,topics:r}}async function Ph(t,e){let{subs:r}=ns(t);return r.get((await l2(t,e)).tag)||null}async function cN(t,e,r){let n=Du(t.runner);z(n,"contract runner does not support subscribing","UNSUPPORTED_OPERATION",{operation:e});let{fragment:s,tag:i,topics:o}=await l2(t,r),{addr:a,subs:u}=ns(t),l=u.get(i);if(!l){let d={address:a||t,topics:o},p=b=>{let w=s;if(w==null)try{w=t.interface.getEvent(b.topics[0])}catch{}if(w){let v=w,O=s?t.interface.decodeEventLog(s,b.data,b.topics):[];c2(t,r,O,P=>new Gl(t,P,r,v,b))}else c2(t,r,[],v=>new Iu(t,v,r,b))},m=[];l={tag:i,listeners:[],start:()=>{m.length||m.push(n.on(d,p))},stop:async()=>{if(m.length==0)return;let b=m;m=[],await Promise.all(b),n.off(d,p)}},u.set(i,l)}return l}var a2=Promise.resolve();async function EU(t,e,r,n){await a2;let s=await Ph(t,e);if(!s)return!1;let i=s.listeners.length;return s.listeners=s.listeners.filter(({listener:o,once:a})=>{let u=Array.from(r);n&&u.push(n(a?null:o));try{o.call(t,...u)}catch{}return!a}),s.listeners.length===0&&(s.stop(),ns(t).subs.delete(s.tag)),i>0}async function c2(t,e,r,n){try{await a2}catch{}let s=EU(t,e,r,n);return a2=s,await s}var ym=["then"],_a=class t{target;interface;runner;filters;[bm];fallback;constructor(e,r,n,s){I(typeof e=="string"||W1(e),"invalid value for Contract target","target",e),n==null&&(n=null);let i=Si.from(r);Be(this,{target:e,runner:n,interface:i}),Object.defineProperty(this,bm,{value:{}});let o,a=null,u=null;if(s){let d=Du(n);u=new Ha(this.interface,d,s)}let l=new Map;if(typeof e=="string")if(ft(e))a=e,o=Promise.resolve(e);else{let d=Nu(n,"resolveName");if(!wm(d))throw Nt("contract runner does not support name resolution","UNSUPPORTED_OPERATION",{operation:"resolveName"});o=d.resolveName(e).then(p=>{if(p==null)throw Nt("an ENS name used for a contract target must be correctly configured","UNCONFIGURED_NAME",{value:e});return ns(this).addr=p,p})}else o=e.getAddress().then(d=>{if(d==null)throw new Error("TODO");return ns(this).addr=d,d});mU(this,{addrPromise:o,addr:a,deployTx:u,subs:l});let f=new Proxy({},{get:(d,p,m)=>{if(typeof p=="symbol"||ym.indexOf(p)>=0)return Reflect.get(d,p,m);try{return this.getEvent(p)}catch(y){if(!Wt(y,"INVALID_ARGUMENT")||y.argument!=="key")throw y}},has:(d,p)=>ym.indexOf(p)>=0?Reflect.has(d,p):Reflect.has(d,p)||this.interface.hasEvent(String(p))});return Be(this,{filters:f}),Be(this,{fallback:i.receive||i.fallback?hU(this):null}),new Proxy(this,{get:(d,p,m)=>{if(typeof p=="symbol"||p in d||ym.indexOf(p)>=0)return Reflect.get(d,p,m);try{return d.getFunction(p)}catch(y){if(!Wt(y,"INVALID_ARGUMENT")||y.argument!=="key")throw y}},has:(d,p)=>typeof p=="symbol"||p in d||ym.indexOf(p)>=0?Reflect.has(d,p):d.interface.hasFunction(p)})}connect(e){return new t(this.target,this.interface,e)}attach(e){return new t(e,this.interface,this.runner)}async getAddress(){return await ns(this).addrPromise}async getDeployedCode(){let e=Du(this.runner);z(e,"runner does not support .provider","UNSUPPORTED_OPERATION",{operation:"getDeployedCode"});let r=await e.getCode(await this.getAddress());return r==="0x"?null:r}async waitForDeployment(){let e=this.deploymentTransaction();if(e)return await e.wait(),this;if(await this.getDeployedCode()!=null)return this;let n=Du(this.runner);return z(n!=null,"contract runner does not support .provider","UNSUPPORTED_OPERATION",{operation:"waitForDeployment"}),new Promise((s,i)=>{let o=async()=>{try{if(await this.getDeployedCode()!=null)return s(this);n.once("block",o)}catch(a){i(a)}};o()})}deploymentTransaction(){return ns(this).deployTx}getFunction(e){return typeof e!="string"&&(e=e.format()),pU(this,e)}getEvent(e){return typeof e!="string"&&(e=e.format()),AU(this,e)}async queryTransaction(e){throw new Error("@TODO")}async queryFilter(e,r,n){r==null&&(r=0),n==null&&(n="latest");let{addr:s,addrPromise:i}=ns(this),o=s||await i,{fragment:a,topics:u}=await l2(this,e),l={address:o,topics:u,fromBlock:r,toBlock:n},f=Du(this.runner);return z(f,"contract runner does not have a provider","UNSUPPORTED_OPERATION",{operation:"queryFilter"}),(await f.getLogs(l)).map(d=>{let p=a;if(p==null)try{p=this.interface.getEvent(d.topics[0])}catch{}if(p)try{return new xs(d,this.interface,p)}catch(m){return new Bu(d,m)}return new Es(d,f)})}async on(e,r){let n=await cN(this,"on",e);return n.listeners.push({listener:r,once:!1}),n.start(),this}async once(e,r){let n=await cN(this,"once",e);return n.listeners.push({listener:r,once:!0}),n.start(),this}async emit(e,...r){return await c2(this,e,r,null)}async listenerCount(e){if(e){let s=await Ph(this,e);return s?s.listeners.length:0}let{subs:r}=ns(this),n=0;for(let{listeners:s}of r.values())n+=s.length;return n}async listeners(e){if(e){let s=await Ph(this,e);return s?s.listeners.map(({listener:i})=>i):[]}let{subs:r}=ns(this),n=[];for(let{listeners:s}of r.values())n=n.concat(s.map(({listener:i})=>i));return n}async off(e,r){let n=await Ph(this,e);if(!n)return this;if(r){let s=n.listeners.map(({listener:i})=>i).indexOf(r);s>=0&&n.listeners.splice(s,1)}return(r==null||n.listeners.length===0)&&(n.stop(),ns(this).subs.delete(n.tag)),this}async removeAllListeners(e){if(e){let r=await Ph(this,e);if(!r)return this;r.stop(),ns(this).subs.delete(r.tag)}else{let{subs:r}=ns(this);for(let{tag:n,stop:s}of r.values())s(),r.delete(n)}return this}async addListener(e,r){return await this.on(e,r)}async removeListener(e,r){return await this.off(e,r)}static buildClass(e){class r extends t{constructor(s,i=null){super(s,e,i)}}return r}static from(e,r,n){return n==null&&(n=null),new this(e,r,n)}};function xU(){return _a}var Tn=class extends xU(){};var Hl=class t{interface;bytecode;runner;constructor(e,r,n){let s=Si.from(e);r instanceof Uint8Array?r=J(ae(r)):(typeof r=="object"&&(r=r.object),r.startsWith("0x")||(r="0x"+r),r=J(ae(r))),Be(this,{bytecode:r,interface:s,runner:n||null})}attach(e){return new _a(e,this.interface,this.runner)}async getDeployTransaction(...e){let r={},n=this.interface.deploy;if(n.inputs.length+1===e.length&&(r=await Tm(e.pop())),n.inputs.length!==e.length)throw new Error("incorrect number of arguments to constructor");let s=await u2(this.runner,n.inputs,e),i=et([this.bytecode,this.interface.encodeDeploy(s)]);return Object.assign({},r,{data:i})}async deploy(...e){let r=await this.getDeployTransaction(...e);z(this.runner&&typeof this.runner.sendTransaction=="function","factory runner does not support sending transactions","UNSUPPORTED_OPERATION",{operation:"sendTransaction"});let n=await this.runner.sendTransaction(r),s=bh(n);return new _a(s,this.interface,this.runner,n)}connect(e){return new t(this.interface,this.bytecode,e)}static fromSolidity(e,r){I(e!=null,"bad compiler output","output",e),typeof e=="string"&&(e=JSON.parse(e));let n=e.abi,s="";return e.bytecode?s=e.bytecode:e.evm&&e.evm.bytecode&&(s=e.evm.bytecode),new this(n,s,r)}};var Uh=BigInt(60);function f2(t){return t.match(/^ipfs:\/\/ipfs\//i)?t=t.substring(12):t.match(/^ipfs:\/\//i)?t=t.substring(7):I(!1,"unsupported IPFS format","link",t),`https://gateway.ipfs.io/ipfs/${t}`}var Cm=class{name;constructor(e){Be(this,{name:e})}connect(e){return this}supportsCoinType(e){return!1}async encodeAddress(e,r){throw new Error("unsupported coin")}async decodeAddress(e,r){throw new Error("unsupported coin")}};var gN=new RegExp("^(ipfs)://(.*)$","i"),pN=[new RegExp("^(https)://(.*)$","i"),new RegExp("^(data):(.*)$","i"),gN,new RegExp("^eip155:[0-9]+/(erc[0-9]+):(.*)$","i")];function AN(t){return t===Uh||t>=2147483648&&t<=4294967295}var Ru=class t{provider;address;name;#e;#t;constructor(e,r,n,s){Be(this,{provider:e,address:r,name:n}),this.#e=s!=null?Promise.resolve(s):null,this.#t=new Tn(r,["function supportsInterface(bytes4) view returns (bool)","function resolve(bytes, bytes) view returns (bytes)","function addr(bytes32) view returns (address)","function addr(bytes32, uint) view returns (bytes)","function text(bytes32, string) view returns (string)","function contenthash(bytes32) view returns (bytes)","function name(bytes32) view returns (string)"],e)}async supportsWildcard(){return this.#e==null&&(this.#e=(async()=>{try{return await this.#t.supportsInterface("0x9061b923")}catch(e){if(Wt(e,"CALL_EXCEPTION"))return!1;throw this.#e=null,e}})()),await this.#e}async#r(e,r){r=(r||[]).slice();let n=this.#t.interface;r.unshift(mm(this.name));let s=null;await this.supportsWildcard()&&(s=n.getFunction(e),z(s,"missing fragment","UNKNOWN_ERROR",{info:{funcName:e}}),r=[gm(this.name,255),n.encodeFunctionData(s,r)],e="resolve(bytes,bytes)"),r.push({enableCcipRead:!0});try{let i=await this.#t[e](...r);return s?n.decodeFunctionResult(s,i)[0]:i}catch(i){if(!Wt(i,"CALL_EXCEPTION"))throw i}return null}async getAddress(e){let r=e==null?Uh:Ce(e);if(r===Uh)try{let i=await this.#r("addr(bytes32)");return i==null||i===mu?null:i}catch(i){if(Wt(i,"CALL_EXCEPTION"))return null;throw i}if(AN(r)){let i=await this.#r("addr(bytes32,uint)",[r]);return ft(i,20)?qe(i):null}if(r>=0&&r<2147483648){let i=r+BigInt(2147483648),o=await this.#r("addr(bytes32,uint)",[i]);if(ft(o,20))return qe(o)}let n=null;for(let i of this.provider.plugins)if(i instanceof Cm&&r<=2147483648&&i.supportsCoinType(Number(r))){n=i;break}if(n==null)return null;let s=await this.#r("addr(bytes32,uint)",[r]);if(s==null||s==="0x")return null;if(r<2147483648){let i=await n.decodeAddress(Number(r),s);if(i!=null)return i}z(!1,"invalid coin data","UNSUPPORTED_OPERATION",{operation:`getAddress(${r})`,info:{coinType:r,data:s}})}async getText(e){let r=await this.#r("text(bytes32,string)",[e]);return r==null||r==="0x"?null:r}async getContentHash(){let e=await this.#r("contenthash(bytes32)");if(e==null||e==="0x")return null;let r=e.match(/^0x(e3010170|e5010172)(([0-9a-f][0-9a-f])([0-9a-f][0-9a-f])([0-9a-f]*))$/);if(r){let s=r[1]==="e3010170"?"ipfs":"ipns",i=parseInt(r[4],16);if(r[5].length===i*2)return`${s}://${Cl("0x"+r[2])}`}let n=e.match(/^0xe40101fa011b20([0-9a-f]*)$/);if(n&&n[1].length===64)return`bzz://${n[1]}`;z(!1,"invalid or unsupported content hash data","UNSUPPORTED_OPERATION",{operation:"getContentHash()",info:{data:e}})}async getName(){return await this.#r("name(bytes32)")}async getAvatar(){return(await this._getAvatar()).url}async _getAvatar(){let e=[{type:"name",value:this.name}];try{let r=await this.getText("avatar");if(r==null)return e.push({type:"!avatar",value:""}),{url:null,linkage:e};e.push({type:"avatar",value:r});for(let n=0;n<pN.length;n++){let s=r.match(pN[n]);if(s==null)continue;let i=s[1].toLowerCase();switch(i){case"https":case"data":return e.push({type:"url",value:r}),{linkage:e,url:r};case"ipfs":{let o=f2(r);return e.push({type:"ipfs",value:r}),e.push({type:"url",value:o}),{linkage:e,url:o}}case"erc721":case"erc1155":{let o=i==="erc721"?"tokenURI(uint256)":"uri(uint256)";e.push({type:i,value:r});let a=await this.getAddress();if(a==null)return e.push({type:"!owner",value:""}),{url:null,linkage:e};let u=(s[2]||"").split("/");if(u.length!==2)return e.push({type:`!${i}caip`,value:s[2]||""}),{url:null,linkage:e};let l=u[1],f=new Tn(u[0],["function tokenURI(uint) view returns (string)","function ownerOf(uint) view returns (address)","function uri(uint) view returns (string)","function balanceOf(address, uint256) view returns (uint)"],this.provider);if(i==="erc721"){let x=await f.ownerOf(l);if(a!==x)return e.push({type:"!owner",value:x}),{url:null,linkage:e};e.push({type:"owner",value:x})}else if(i==="erc1155"){let x=await f.balanceOf(a,l);if(!x)return e.push({type:"!balance",value:"0"}),{url:null,linkage:e};e.push({type:"balance",value:x.toString()})}let d=await f[o](l);if(d==null||d==="0x")return e.push({type:"!metadata-url",value:""}),{url:null,linkage:e};e.push({type:"metadata-url-base",value:d}),i==="erc1155"&&(d=d.replace("{id}",jr(l,32).substring(2)),e.push({type:"metadata-url-expanded",value:d})),d.match(/^ipfs:/i)&&(d=f2(d)),e.push({type:"metadata-url",value:d});let p={},m=await new Hn(d).send();m.assertOk();try{p=m.bodyJson}catch{try{e.push({type:"!metadata",value:m.bodyText})}catch{let w=m.body;return w&&e.push({type:"!metadata",value:J(w)}),{url:null,linkage:e}}return{url:null,linkage:e}}if(!p)return e.push({type:"!metadata",value:""}),{url:null,linkage:e};e.push({type:"metadata",value:JSON.stringify(p)});let y=p.image;if(typeof y!="string")return e.push({type:"!imageUrl",value:""}),{url:null,linkage:e};if(!y.match(/^(https:\/\/|data:)/i)){if(y.match(gN)==null)return e.push({type:"!imageUrl-ipfs",value:y}),{url:null,linkage:e};e.push({type:"imageUrl-ipfs",value:y}),y=f2(y)}return e.push({type:"url",value:y}),{linkage:e,url:y}}}}}catch{}return{linkage:e,url:null}}static async getEnsAddress(e){let r=await e.getNetwork(),n=r.getPlugin("org.ethers.plugins.network.Ens");return z(n,"network does not support ENS","UNSUPPORTED_OPERATION",{operation:"getEnsAddress",info:{network:r}}),n.address}static async getUniversalResolverAddress(e){let n=(await e.getNetwork()).getPlugin("org.ethers.plugins.network.Ens");return n&&n.universalResolver?n.universalResolver:null}static async#n(e,r){let n=await t.getEnsAddress(e);try{let i=await new Tn(n,["function resolver(bytes32) view returns (address)"],e).resolver(mm(r),{enableCcipRead:!0});return i===mu?null:i}catch(s){throw s}return null}static async lookupAddress(e,r,n){let s=n==null?Uh:Ce(n);AN(s)&&(r=qe(r));let i=await mN(e);if(i)try{let a=(await i.reverse(r,s,{enableCcipRead:!0})).primary;return Am(a)?a:null}catch(o){if(Wt(o,"CALL_EXCEPTION")&&o.reason==="ResolverNotFound(bytes)")return null;throw o}z(s===Uh,"lookupAddress coinType requires ENS Universal Resolver","UNSUPPORTED_OPERATION",{operation:"lookupAddress"});try{let o=await t.fromName(e,`${r.toLowerCase().substring(2)}.addr.reverse`);if(!o)return null;let a=await o.getName();return a==null||!Am(a)||await e.resolveName(a)!==r?null:a}catch(o){if(Wt(o,"BAD_DATA")&&o.value==="0x"||Wt(o,"CALL_EXCEPTION"))return null;throw o}}static async fromName(e,r){let n=await mN(e);if(n){let i;try{i=gm(pm(r),255)}catch{return null}let o=await n.requireResolver(i);return new t(e,o.resolver,r,o.extended)}let s=r;for(;;){if(s===""||s==="."||r!=="eth"&&s==="eth")return null;let i=await t.#n(e,s);if(i!=null){let o=new t(e,i,r);return s!==r&&!await o.supportsWildcard()?null:o}s=s.split(".").slice(1).join(".")}}};async function mN(t){let e=await Ru.getUniversalResolverAddress(t);return e?new Tn(e,["function requireResolver(bytes) view returns ((bytes name, uint256 offset, bytes32 node, address resolver, bool extended))","function findResolver(bytes) view returns (address resolver, bytes32 node, uint offset)","function resolve(bytes name, bytes data) view returns (bytes result, address resolver)","function reverse(bytes name, uint coinType) view returns (string primary, address resolver, address reverseResolver)","error ResolverNotFound(bytes name)","error ResolverNotContract(bytes name, address resolver)","error ReverseAddressMismatch(string primary, bytes primaryAddress)","error HttpError(uint16 statusCode, string statusMessage)"],t):null}var EN=BigInt(0);function At(t,e){return(function(r){return r==null?e:t(r)})}function Fh(t,e){return(r=>{if(e&&r==null)return null;if(!Array.isArray(r))throw new Error("not an array");return r.map(n=>t(n))})}function Qh(t,e){return(r=>{let n={};for(let s in t){let i=s;if(e&&s in e&&!(i in r)){for(let o of e[s])if(o in r){i=o;break}}try{let o=t[s](r[i]);o!==void 0&&(n[s]=o)}catch(o){let a=o instanceof Error?o.message:"not-an-error";z(!1,`invalid value for value.${s} (${a})`,"BAD_DATA",{value:r})}}return n})}function yU(t){switch(t){case!0:case"true":return!0;case!1:case"false":return!1}I(!1,`invalid boolean; ${JSON.stringify(t)}`,"value",t)}function _l(t){return I(ft(t,!0),"invalid data","value",t),t}function Fr(t){return I(ft(t,32),"invalid hash","value",t),t}var bU=Qh({address:qe,blockHash:Fr,blockNumber:Je,data:_l,index:Je,removed:At(yU,!1),topics:Fh(Fr),transactionHash:Fr,transactionIndex:Je},{index:["logIndex"]});function xN(t){return bU(t)}var wU=Qh({hash:At(Fr),parentHash:Fr,parentBeaconBlockRoot:At(Fr,null),number:Je,timestamp:Je,nonce:At(_l),difficulty:Ce,gasLimit:Ce,gasUsed:Ce,stateRoot:At(Fr,null),receiptsRoot:At(Fr,null),transactionsRoot:At(Fr,null),blobGasUsed:At(Ce,null),excessBlobGas:At(Ce,null),miner:At(qe),prevRandao:At(Fr,null),extraData:_l,baseFeePerGas:At(Ce)},{prevRandao:["mixHash"]});function yN(t){let e=wU(t);return e.transactions=t.transactions.map(r=>typeof r=="string"?r:d2(r)),e}var TU=Qh({transactionIndex:Je,blockNumber:Je,transactionHash:Fr,address:qe,topics:Fh(Fr),data:_l,index:Je,blockHash:Fr},{index:["logIndex"]});function CU(t){return TU(t)}var BU=Qh({to:At(qe,null),from:At(qe,null),contractAddress:At(qe,null),index:Je,root:At(J),gasUsed:Ce,blobGasUsed:At(Ce,null),logsBloom:At(_l),blockHash:Fr,hash:Fr,logs:Fh(CU),blockNumber:Je,cumulativeGasUsed:Ce,effectiveGasPrice:At(Ce),blobGasPrice:At(Ce,null),status:At(Je),type:At(Je,0)},{effectiveGasPrice:["gasPrice"],hash:["transactionHash"],index:["transactionIndex"]});function bN(t){return BU(t)}function d2(t){t.to&&Ce(t.to)===EN&&(t.to="0x0000000000000000000000000000000000000000");let e=Qh({hash:Fr,index:At(Je,void 0),type:r=>r==="0x"||r==null?0:Je(r),accessList:At(_n,null),blobVersionedHashes:At(Fh(Fr,!0),null),authorizationList:At(Fh(r=>{let n;if(r.signature)n=r.signature;else{let s=r.yParity;s==="0x1b"?s=0:s==="0x1c"&&(s=1),n=Object.assign({},r,{yParity:s})}return{address:qe(r.address),chainId:Ce(r.chainId),nonce:Ce(r.nonce),signature:Cr.from(n)}},!1),null),blockHash:At(Fr,null),blockNumber:At(Je,null),transactionIndex:At(Je,null),from:qe,gasPrice:At(Ce),maxPriorityFeePerGas:At(Ce),maxFeePerGas:At(Ce),maxFeePerBlobGas:At(Ce,null),gasLimit:Ce,to:At(qe,null),value:Ce,nonce:Je,data:_l,creates:At(qe,null),chainId:At(Ce,null)},{data:["input"],gasLimit:["gas"],index:["transactionIndex"]})(t);if(e.to==null&&e.creates==null&&(e.creates=bh(e)),(t.type===1||t.type===2)&&t.accessList==null&&(e.accessList=[]),t.signature?e.signature=Cr.from(t.signature):e.signature=Cr.from(t),e.chainId==null){let r=e.signature.legacyChainId;r!=null&&(e.chainId=r)}return e.blockHash&&Ce(e.blockHash)===EN&&(e.blockHash=null),e}var IU="0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e",DU=Symbol.for("nodejs.util.inspect.custom"),Yl=class t{name;constructor(e){Be(this,{name:e})}[DU](){return this.toString()}toString(){return`${this.name} { }`}clone(){return new t(this.name)}},jl=class t extends Yl{effectiveBlock;txBase;txCreate;txDataZero;txDataNonzero;txAccessListStorageKey;txAccessListAddress;constructor(e,r){e==null&&(e=0),super(`org.ethers.network.plugins.GasCost#${e||0}`);let n={effectiveBlock:e};function s(i,o){let a=(r||{})[i];a==null&&(a=o),I(typeof a=="number",`invalud value for ${i}`,"costs",r),n[i]=a}s("txBase",21e3),s("txCreate",32e3),s("txDataZero",4),s("txDataNonzero",16),s("txAccessListStorageKey",1900),s("txAccessListAddress",2400),Be(this,n)}toString(){return`${this.name} { txBase: ${this.txBase}, txCreate: ${this.txCreate}, txDataZero: ${this.txDataZero}, txAccessListStorageKey: ${this.txAccessListStorageKey}, txAccessListAddress: ${this.txAccessListAddress} }`}clone(){return new t(this.effectiveBlock,this)}},Wl=class t extends Yl{address;targetNetwork;universalResolver;constructor(e,r,n){super("org.ethers.plugins.network.Ens"),Be(this,{address:e||IU,targetNetwork:r??1,universalResolver:n})}toString(){return`${this.name} { address: ${this.address}, targetNetwork: ${this.targetNetwork}, universalResolver: ${this.universalResolver} }`}clone(){return new t(this.address,this.targetNetwork,this.universalResolver)}};var Lh=class extends Yl{#e;#t;get url(){return this.#e}get processFunc(){return this.#t}constructor(e,r){super("org.ethers.plugins.network.FetchUrlFeeDataPlugin"),this.#e=e,this.#t=r}toString(){return`${this.name} { url: ${this.url} }`}clone(){return this}};var NU=Symbol.for("nodejs.util.inspect.custom"),h2=new Map,ss=class t{#e;#t;#r;constructor(e,r){this.#e=e,this.#t=Ce(r),this.#r=new Map}[NU](){return this.toString()}toString(){let e=[];for(let r of this.#r.values())e.push(r.toString());return`Network { name: ${this.name}, chainId: ${this.chainId}, plugins: [ ${e.join(", ")} ] }`}toJSON(){return{name:this.name,chainId:String(this.chainId)}}get name(){return this.#e}set name(e){this.#e=e}get chainId(){return this.#t}set chainId(e){this.#t=Ce(e,"chainId")}matches(e){if(e==null)return!1;if(typeof e=="string"){try{return this.chainId===Ce(e)}catch{}return this.name===e}if(typeof e=="number"||typeof e=="bigint"){try{return this.chainId===Ce(e)}catch{}return!1}if(typeof e=="object"){if(e.chainId!=null){try{return this.chainId===Ce(e.chainId)}catch{}return!1}return e.name!=null?this.name===e.name:!1}return!1}get plugins(){return Array.from(this.#r.values())}attachPlugin(e){if(this.#r.get(e.name))throw new Error(`cannot replace existing plugin: ${e.name} `);return this.#r.set(e.name,e.clone()),this}getPlugin(e){return this.#r.get(e)||null}getPlugins(e){return this.plugins.filter(r=>r.name.split("#")[0]===e)}clone(){let e=new t(this.name,this.chainId);return this.plugins.forEach(r=>{e.attachPlugin(r.clone())}),e}computeIntrinsicGas(e){let r=this.getPlugin("org.ethers.plugins.network.GasCost")||new jl,n=r.txBase;if(e.to==null&&(n+=r.txCreate),e.data)for(let s=2;s<e.data.length;s+=2)e.data.substring(s,s+2)==="00"?n+=r.txDataZero:n+=r.txDataNonzero;if(e.accessList){let s=_n(e.accessList);for(let i in s)n+=r.txAccessListAddress+r.txAccessListStorageKey*s[i].storageKeys.length}return n}static from(e){if(RU(),e==null)return t.from("mainnet");if(typeof e=="number"&&(e=BigInt(e)),typeof e=="string"||typeof e=="bigint"){let r=h2.get(e);if(r)return r();if(typeof e=="bigint")return new t("unknown",e);I(!1,"unknown network","network",e)}if(typeof e.clone=="function")return e.clone();if(typeof e=="object"){I(typeof e.name=="string"&&typeof e.chainId=="number","invalid network object name or chainId","network",e);let r=new t(e.name,e.chainId),n=e;return(n.ensAddress||n.ensNetwork!=null||n.ensUniversalResolver)&&r.attachPlugin(new Wl(n.ensAddress,n.ensNetwork,n.ensUniversalResolver)),r}I(!1,"invalid network","network",e)}static register(e,r){typeof e=="number"&&(e=BigInt(e));let n=h2.get(e);n&&I(!1,`conflicting network for ${JSON.stringify(n.name)}`,"nameOrChainId",e),h2.set(e,r)}};function wN(t,e){let r=String(t);if(!r.match(/^[0-9.]+$/))throw new Error(`invalid gwei value: ${t}`);let n=r.split(".");if(n.length===1&&n.push(""),n.length!==2)throw new Error(`invalid gwei value: ${t}`);for(;n[1].length<e;)n[1]+="0";if(n[1].length>9){let s=BigInt(n[1].substring(0,9));n[1].substring(9).match(/^0+$/)||s++,n[1]=s.toString()}return BigInt(n[0]+n[1])}function TN(t){return new Lh(t,async(e,r,n)=>{n.setHeader("User-Agent","ethers");let s;try{let[i,o]=await Promise.all([n.send(),e()]);s=i;let a=s.bodyJson.standard;return{gasPrice:o.gasPrice,maxFeePerGas:wN(a.maxFee,9),maxPriorityFeePerGas:wN(a.maxPriorityFee,9)}}catch(i){z(!1,`error encountered with polygon gas station (${JSON.stringify(n.url)})`,"SERVER_ERROR",{request:n,response:s,error:i})}})}var CN=!1;function RU(){if(CN)return;CN=!0;function t(r,n,s){let i=function(){let o=new ss(r,n);return s.ensNetwork!=null&&o.attachPlugin(new Wl(null,s.ensNetwork,s.ensUniversalResolver)),o.attachPlugin(new jl),(s.plugins||[]).forEach(a=>{o.attachPlugin(a)}),o};ss.register(r,i),ss.register(n,i),s.altNames&&s.altNames.forEach(o=>{ss.register(o,i)})}let e="0xeEeEEEeE14D718C2B47D9923Deab1335E144EeEe";t("mainnet",1,{ensUniversalResolver:e,ensNetwork:1,altNames:["homestead"]}),t("ropsten",3,{ensNetwork:3}),t("rinkeby",4,{ensNetwork:4}),t("goerli",5,{ensNetwork:5}),t("kovan",42,{ensNetwork:42}),t("sepolia",11155111,{ensUniversalResolver:e,ensNetwork:11155111}),t("holesky",17e3,{ensNetwork:17e3}),t("classic",61,{}),t("classicKotti",6,{}),t("arbitrum",42161,{ensNetwork:1}),t("arbitrum-goerli",421613,{}),t("arbitrum-sepolia",421614,{}),t("base",8453,{ensNetwork:1}),t("base-goerli",84531,{}),t("base-sepolia",84532,{}),t("bnb",56,{ensNetwork:1}),t("bnbt",97,{}),t("filecoin",314,{}),t("filecoin-calibration",314159,{}),t("linea",59144,{ensNetwork:1}),t("linea-goerli",59140,{}),t("linea-sepolia",59141,{}),t("matic",137,{ensNetwork:1,plugins:[TN("https://gasstation.polygon.technology/v2")]}),t("matic-amoy",80002,{}),t("matic-mumbai",80001,{altNames:["maticMumbai","maticmum"],plugins:[TN("https://gasstation-testnet.polygon.technology/v2")]}),t("optimism",10,{ensNetwork:1,plugins:[]}),t("optimism-goerli",420,{}),t("optimism-sepolia",11155420,{}),t("xdai",100,{ensNetwork:1})}function p2(t){return JSON.parse(JSON.stringify(t))}var Bm=class{#e;#t;#r;#n;constructor(e){this.#e=e,this.#t=null,this.#r=4e3,this.#n=-2}get pollingInterval(){return this.#r}set pollingInterval(e){this.#r=e}async#s(){try{let e=await this.#e.getBlockNumber();if(this.#n===-2){this.#n=e;return}if(e!==this.#n){for(let r=this.#n+1;r<=e;r++){if(this.#t==null)return;await this.#e.emit("block",r)}this.#n=e}}catch{}this.#t!=null&&(this.#t=this.#e._setTimeout(this.#s.bind(this),this.#r))}start(){this.#t||(this.#t=this.#e._setTimeout(this.#s.bind(this),this.#r),this.#s())}stop(){this.#t&&(this.#e._clearTimeout(this.#t),this.#t=null)}pause(e){this.stop(),e&&(this.#n=-2)}resume(){this.start()}},Vh=class{#e;#t;#r;constructor(e){this.#e=e,this.#r=!1,this.#t=r=>{this._poll(r,this.#e)}}async _poll(e,r){throw new Error("sub-classes must override this")}start(){this.#r||(this.#r=!0,this.#t(-2),this.#e.on("block",this.#t))}stop(){this.#r&&(this.#r=!1,this.#e.off("block",this.#t))}pause(e){this.stop()}resume(){this.start()}},Im=class extends Vh{#e;#t;constructor(e,r){super(e),this.#e=r,this.#t=-2}pause(e){e&&(this.#t=-2),super.pause(e)}async _poll(e,r){let n=await r.getBlock(this.#e);n!=null&&(this.#t===-2?this.#t=n.number:n.number>this.#t&&(r.emit(this.#e,n.number),this.#t=n.number))}},Dm=class extends Vh{#e;constructor(e,r){super(e),this.#e=p2(r)}async _poll(e,r){throw new Error("@TODO")}},Nm=class extends Vh{#e;constructor(e,r){super(e),this.#e=r}async _poll(e,r){let n=await r.getTransactionReceipt(this.#e);n&&r.emit(this.#e,n)}},Ya=class{#e;#t;#r;#n;#s;constructor(e,r){this.#e=e,this.#t=p2(r),this.#r=this.#o.bind(this),this.#n=!1,this.#s=-2}async#o(e){if(this.#s===-2)return;let r=p2(this.#t);r.fromBlock=this.#s+1,r.toBlock=e;let n=await this.#e.getLogs(r);if(n.length===0){this.#s<e-60&&(this.#s=e-60);return}for(let s of n)this.#e.emit(this.#t,s),this.#s=s.blockNumber}start(){this.#n||(this.#n=!0,this.#s===-2&&this.#e.getBlockNumber().then(e=>{this.#s=e}),this.#e.on("block",this.#r))}stop(){this.#n&&(this.#n=!1,this.#e.off("block",this.#r))}pause(e){this.stop(),e&&(this.#s=-2)}resume(){this.start()}};var SU=BigInt(2),MU=10;function A2(t){return new Promise(e=>{setTimeout(e,t)})}function Rm(t){return t&&typeof t.then=="function"}function Mm(t,e){return t+":"+JSON.stringify(e,(r,n)=>{if(n==null)return"null";if(typeof n=="bigint")return`bigint:${n.toString()}`;if(typeof n=="string")return n.toLowerCase();if(typeof n=="object"&&!Array.isArray(n)){let s=Object.keys(n);return s.sort(),s.reduce((i,o)=>(i[o]=n[o],i),{})}return n})}var zl=class{name;constructor(e){Be(this,{name:e})}start(){}stop(){}pause(e){}resume(){}};function vU(t){return JSON.parse(JSON.stringify(t))}function g2(t){return t=Array.from(new Set(t).values()),t.sort(),t}async function m2(t,e){if(t==null)throw new Error("invalid event");if(Array.isArray(t)&&(t={topics:t}),typeof t=="string")switch(t){case"block":case"debug":case"error":case"finalized":case"network":case"pending":case"safe":return{type:t,tag:t}}if(ft(t,32)){let r=t.toLowerCase();return{type:"transaction",tag:Mm("tx",{hash:r}),hash:r}}if(t.orphan){let r=t;return{type:"orphan",tag:Mm("orphan",r),filter:vU(r)}}if(t.address||t.topics){let r=t,n={topics:(r.topics||[]).map(s=>s==null?null:Array.isArray(s)?g2(s.map(i=>i.toLowerCase())):s.toLowerCase())};if(r.address){let s=[],i=[],o=a=>{ft(a)?s.push(a):i.push((async()=>{s.push(await tr(a,e))})())};Array.isArray(r.address)?r.address.forEach(o):o(r.address),i.length&&await Promise.all(i),n.address=g2(s.map(a=>a.toLowerCase()))}return{filter:n,tag:Mm("event",n),type:"event"}}I(!1,"unknown ProviderEvent","event",t)}function Sm(){return new Date().getTime()}var kU={cacheTimeout:250,pollingInterval:4e3},Gh=class{#e;#t;#r;#n;#s;#o;#i;#a;#c;#d;#l;#A;#f;#h;constructor(e,r){if(this.#h=Object.assign({},kU,r||{}),e==="any")this.#o=!0,this.#s=null;else if(e){let n=ss.from(e);this.#o=!1,this.#s=Promise.resolve(n),setTimeout(()=>{this.emit("network",n,null)},0)}else this.#o=!1,this.#s=null;this.#a=-1,this.#i=new Map,this.#e=new Map,this.#t=new Map,this.#r=null,this.#n=!1,this.#c=1,this.#d=new Map,this.#l=!1,this.#A=0,this.#f=[]}get _requestRate(){let e=this.#A;return e==0?null:e}set _requestRate(e){(e==null||e<0)&&(e=0),this.#A=Je(e)}get pollingInterval(){return this.#h.pollingInterval}get provider(){return this}get plugins(){return Array.from(this.#t.values())}attachPlugin(e){if(this.#t.get(e.name))throw new Error(`cannot replace existing plugin: ${e.name} `);return this.#t.set(e.name,e.connect(this)),this}getPlugin(e){return this.#t.get(e)||null}get disableCcipRead(){return this.#l}set disableCcipRead(e){this.#l=!!e}#p(){let e=this.#A;if(e===0)return 0;let r=this.#f,n=Sm();r.push(n);let s=n-1e3;for(;r.length&&r[0]<s;)r.shift();return r.length<e?0:r[0]+1e3-n}async#u(e){let r=this.#h.cacheTimeout;if(r<0){let i=this.#p();return i&&await A2(i),await this._perform(e)}let n=Mm(e.method,e),s=this.#i.get(n);if(!s){let i=this.#p();i&&await A2(i),s=this._perform(e),this.#i.set(n,s),setTimeout(()=>{this.#i.get(n)===s&&this.#i.delete(n)},r)}return await s}async ccipReadFetch(e,r,n){if(this.disableCcipRead||n.length===0||e.to==null)return null;let s=e.to.toLowerCase(),i=r.toLowerCase(),o=[];for(let a=0;a<n.length;a++){let u=n[a],l=u.replace("{sender}",s).replace("{data}",i),f=new Hn(l);u.indexOf("{data}")===-1&&(f.body={data:i,sender:s}),this.emit("debug",{action:"sendCcipReadFetchRequest",request:f,index:a,urls:n});let d="unknown error",p;try{p=await f.send()}catch(m){o.push(m.message),this.emit("debug",{action:"receiveCcipReadFetchError",request:f,result:{error:m}});continue}try{let m=p.bodyJson;if(m.data)return this.emit("debug",{action:"receiveCcipReadFetchResult",request:f,result:m}),m.data;m.message&&(d=m.message),this.emit("debug",{action:"receiveCcipReadFetchError",request:f,result:m})}catch{}z(p.statusCode<400||p.statusCode>=500,`response not found during CCIP fetch: ${d}`,"OFFCHAIN_FAULT",{reason:"404_MISSING_RESOURCE",transaction:e,info:{url:u,errorMessage:d}}),o.push(d)}z(!1,`error encountered during CCIP fetch: ${o.map(a=>JSON.stringify(a)).join(", ")}`,"OFFCHAIN_FAULT",{reason:"500_SERVER_ERROR",transaction:e,info:{urls:n,errorMessages:o}})}_wrapBlock(e,r){return new Vl(yN(e),this)}_wrapLog(e,r){return new Es(xN(e),this)}_wrapTransactionReceipt(e,r){return new Ga(bN(e),this)}_wrapTransactionResponse(e,r){return new So(d2(e),this)}_detectNetwork(){z(!1,"sub-classes must implement this","UNSUPPORTED_OPERATION",{operation:"_detectNetwork"})}async _perform(e){z(!1,`unsupported method: ${e.method}`,"UNSUPPORTED_OPERATION",{operation:e.method,info:e})}async getBlockNumber(){let e=Je(await this.#u({method:"getBlockNumber"}),"%response");return this.#a>=0&&(this.#a=e),e}_getAddress(e){return tr(e,this)}_getBlockTag(e){if(e==null)return"latest";switch(e){case"earliest":return"0x0";case"finalized":case"latest":case"pending":case"safe":return e}if(ft(e))return ft(e,32)?e:tn(e);if(typeof e=="bigint"&&(e=Je(e,"blockTag")),typeof e=="number")return e>=0?tn(e):this.#a>=0?tn(this.#a+e):this.getBlockNumber().then(r=>tn(r+e));I(!1,"invalid blockTag","blockTag",e)}_getFilter(e){let r=(e.topics||[]).map(u=>u==null?null:Array.isArray(u)?g2(u.map(l=>l.toLowerCase())):u.toLowerCase()),n="blockHash"in e?e.blockHash:void 0,s=(u,l,f)=>{let d;switch(u.length){case 0:break;case 1:d=u[0];break;default:u.sort(),d=u}if(n&&(l!=null||f!=null))throw new Error("invalid filter");let p={};return d&&(p.address=d),r.length&&(p.topics=r),l&&(p.fromBlock=l),f&&(p.toBlock=f),n&&(p.blockHash=n),p},i=[];if(e.address)if(Array.isArray(e.address))for(let u of e.address)i.push(this._getAddress(u));else i.push(this._getAddress(e.address));let o;"fromBlock"in e&&(o=this._getBlockTag(e.fromBlock));let a;return"toBlock"in e&&(a=this._getBlockTag(e.toBlock)),i.filter(u=>typeof u!="string").length||o!=null&&typeof o!="string"||a!=null&&typeof a!="string"?Promise.all([Promise.all(i),o,a]).then(u=>s(u[0],u[1],u[2])):s(i,o,a)}_getTransactionRequest(e){let r=Xs(e),n=[];if(["to","from"].forEach(s=>{if(r[s]==null)return;let i=tr(r[s],this);Rm(i)?n.push((async function(){r[s]=await i})()):r[s]=i}),r.blockTag!=null){let s=this._getBlockTag(r.blockTag);Rm(s)?n.push((async function(){r.blockTag=await s})()):r.blockTag=s}return n.length?(async function(){return await Promise.all(n),r})():r}async getNetwork(){if(this.#s==null){let s=(async()=>{try{let i=await this._detectNetwork();return this.emit("network",i,null),i}catch(i){throw this.#s===s&&(this.#s=null),i}})();return this.#s=s,(await s).clone()}let e=this.#s,[r,n]=await Promise.all([e,this._detectNetwork()]);return r.chainId!==n.chainId&&(this.#o?(this.emit("network",n,r),this.#s===e&&(this.#s=Promise.resolve(n))):z(!1,`network changed: ${r.chainId} => ${n.chainId} `,"NETWORK_ERROR",{event:"changed"})),r.clone()}async getFeeData(){let e=await this.getNetwork(),r=async()=>{let{_block:s,gasPrice:i,priorityFee:o}=await er({_block:this.#b("latest",!1),gasPrice:(async()=>{try{let f=await this.#u({method:"getGasPrice"});return Ce(f,"%response")}catch{}return null})(),priorityFee:(async()=>{try{let f=await this.#u({method:"getPriorityFee"});return Ce(f,"%response")}catch{}return null})()}),a=null,u=null,l=this._wrapBlock(s,e);return l&&l.baseFeePerGas&&(u=o??BigInt("1000000000"),a=l.baseFeePerGas*SU+u),new Cu(i,a,u)},n=e.getPlugin("org.ethers.plugins.network.FetchUrlFeeDataPlugin");if(n){let s=new Hn(n.url),i=await n.processFunc(r,this,s);return new Cu(i.gasPrice,i.maxFeePerGas,i.maxPriorityFeePerGas)}return await r()}async estimateGas(e){let r=this._getTransactionRequest(e);return Rm(r)&&(r=await r),Ce(await this.#u({method:"estimateGas",transaction:r}),"%response")}async#g(e,r,n){z(n<MU,"CCIP read exceeded maximum redirections","OFFCHAIN_FAULT",{reason:"TOO_MANY_REDIRECTS",transaction:Object.assign({},e,{blockTag:r,enableCcipRead:!0})});let s=Xs(e);try{let i=this.#p();return i&&await A2(i),J(await this._perform({method:"call",transaction:s,blockTag:r}))}catch(i){if(!this.disableCcipRead&&cu(i)&&i.data&&n>=0&&r==="latest"&&s.to!=null&&Rt(i.data,0,4)==="0x556f1830"){let o=i.data,a=await tr(s.to,this),u;try{u=QU(Rt(i.data,4))}catch(d){z(!1,d.message,"OFFCHAIN_FAULT",{reason:"BAD_DATA",transaction:s,info:{data:o}})}z(u.sender.toLowerCase()===a.toLowerCase(),"CCIP Read sender mismatch","CALL_EXCEPTION",{action:"call",data:o,reason:"OffchainLookup",transaction:s,invocation:null,revert:{signature:"OffchainLookup(address,string[],bytes,bytes4,bytes)",name:"OffchainLookup",args:u.errorArgs}});let l=await this.ccipReadFetch(s,u.calldata,u.urls);z(l!=null,"CCIP Read failed to fetch data","OFFCHAIN_FAULT",{reason:"FETCH_FAILED",transaction:s,info:{data:i.data,errorArgs:u.errorArgs}});let f={to:a,data:et([u.selector,FU([l,u.extraData])])};this.emit("debug",{action:"sendCcipReadCall",transaction:f});try{let d=await this.#g(f,r,n+1);return this.emit("debug",{action:"receiveCcipReadCallResult",transaction:Object.assign({},f),result:d}),d}catch(d){throw this.emit("debug",{action:"receiveCcipReadCallError",transaction:Object.assign({},f),error:d}),d}}throw i}}async#E(e){let{value:r}=await er({network:this.getNetwork(),value:e});return r}async call(e){let{tx:r,blockTag:n}=await er({tx:this._getTransactionRequest(e),blockTag:this._getBlockTag(e.blockTag)});return await this.#E(this.#g(r,n,e.enableCcipRead?0:-1))}async#m(e,r,n){let s=this._getAddress(r),i=this._getBlockTag(n);return(typeof s!="string"||typeof i!="string")&&([s,i]=await Promise.all([s,i])),await this.#E(this.#u(Object.assign(e,{address:s,blockTag:i})))}async getBalance(e,r){return Ce(await this.#m({method:"getBalance"},e,r),"%response")}async getTransactionCount(e,r){return Je(await this.#m({method:"getTransactionCount"},e,r),"%response")}async getCode(e,r){return J(await this.#m({method:"getCode"},e,r))}async getStorage(e,r,n){let s=Ce(r,"position");return J(await this.#m({method:"getStorage",position:s},e,n))}async broadcastTransaction(e){let{blockNumber:r,hash:n,network:s}=await er({blockNumber:this.getBlockNumber(),hash:this._perform({method:"broadcastTransaction",signedTransaction:e}),network:this.getNetwork()}),i=Ri.from(e);if(i.hash!==n)throw new Error("@TODO: the returned hash did not match");return this._wrapTransactionResponse(i,s).replaceableTransaction(r)}async#b(e,r){if(ft(e,32))return await this.#u({method:"getBlock",blockHash:e,includeTransactions:r});let n=this._getBlockTag(e);return typeof n!="string"&&(n=await n),await this.#u({method:"getBlock",blockTag:n,includeTransactions:r})}async getBlock(e,r){let{network:n,params:s}=await er({network:this.getNetwork(),params:this.#b(e,!!r)});return s==null?null:this._wrapBlock(s,n)}async getTransaction(e){let{network:r,params:n}=await er({network:this.getNetwork(),params:this.#u({method:"getTransaction",hash:e})});return n==null?null:this._wrapTransactionResponse(n,r)}async getTransactionReceipt(e){let{network:r,params:n}=await er({network:this.getNetwork(),params:this.#u({method:"getTransactionReceipt",hash:e})});if(n==null)return null;if(n.gasPrice==null&&n.effectiveGasPrice==null){let s=await this.#u({method:"getTransaction",hash:e});if(s==null)throw new Error("report this; could not find tx or effectiveGasPrice");n.effectiveGasPrice=s.gasPrice}return this._wrapTransactionReceipt(n,r)}async getTransactionResult(e){let{result:r}=await er({network:this.getNetwork(),result:this.#u({method:"getTransactionResult",hash:e})});return r==null?null:J(r)}async getLogs(e){let r=this._getFilter(e);Rm(r)&&(r=await r);let{network:n,params:s}=await er({network:this.getNetwork(),params:this.#u({method:"getLogs",filter:r})});return s.map(i=>this._wrapLog(i,n))}_getProvider(e){z(!1,"provider cannot connect to target network","UNSUPPORTED_OPERATION",{operation:"_getProvider()"})}async getResolver(e){return await Ru.fromName(this,e)}async getAvatar(e){let r=await this.getResolver(e);return r?await r.getAvatar():null}async resolveName(e,r){let n=await this.getResolver(e);return n?await n.getAddress(r):null}async lookupAddress(e,r){return await Ru.lookupAddress(this,e,r)}async waitForTransaction(e,r,n){let s=r??1;return s===0?this.getTransactionReceipt(e):new Promise(async(i,o)=>{let a=null,u=(async l=>{try{let f=await this.getTransactionReceipt(e);if(f!=null&&l-f.blockNumber+1>=s){i(f),a&&(clearTimeout(a),a=null);return}}catch(f){console.log("EEE",f)}this.once("block",u)});n!=null&&(a=setTimeout(()=>{a!=null&&(a=null,this.off("block",u),o(Nt("timeout","TIMEOUT",{reason:"timeout"})))},n)),u(await this.getBlockNumber())})}async waitForBlock(e){z(!1,"not implemented yet","NOT_IMPLEMENTED",{operation:"waitForBlock"})}_clearTimeout(e){let r=this.#d.get(e);r&&(r.timer&&clearTimeout(r.timer),this.#d.delete(e))}_setTimeout(e,r){r==null&&(r=0);let n=this.#c++,s=()=>{this.#d.delete(n),e()};if(this.paused)this.#d.set(n,{timer:null,func:s,time:r});else{let i=setTimeout(s,r);this.#d.set(n,{timer:i,func:s,time:Sm()})}return n}_forEachSubscriber(e){for(let r of this.#e.values())e(r.subscriber)}_getSubscriber(e){switch(e.type){case"debug":case"error":case"network":return new zl(e.type);case"block":{let r=new Bm(this);return r.pollingInterval=this.pollingInterval,r}case"safe":case"finalized":return new Im(this,e.type);case"event":return new Ya(this,e.filter);case"transaction":return new Nm(this,e.hash);case"orphan":return new Dm(this,e.filter)}throw new Error(`unsupported event: ${e.type}`)}_recoverSubscriber(e,r){for(let n of this.#e.values())if(n.subscriber===e){n.started&&n.subscriber.stop(),n.subscriber=r,n.started&&r.start(),this.#r!=null&&r.pause(this.#r);break}}async#x(e,r){let n=await m2(e,this);return n.type==="event"&&r&&r.length>0&&r[0].removed===!0&&(n=await m2({orphan:"drop-log",log:r[0]},this)),this.#e.get(n.tag)||null}async#y(e){let r=await m2(e,this),n=r.tag,s=this.#e.get(n);return s||(s={subscriber:this._getSubscriber(r),tag:n,addressableMap:new WeakMap,nameMap:new Map,started:!1,listeners:[]},this.#e.set(n,s)),s}async on(e,r){let n=await this.#y(e);return n.listeners.push({listener:r,once:!1}),n.started||(n.subscriber.start(),n.started=!0,this.#r!=null&&n.subscriber.pause(this.#r)),this}async once(e,r){let n=await this.#y(e);return n.listeners.push({listener:r,once:!0}),n.started||(n.subscriber.start(),n.started=!0,this.#r!=null&&n.subscriber.pause(this.#r)),this}async emit(e,...r){let n=await this.#x(e,r);if(!n||n.listeners.length===0)return!1;let s=n.listeners.length;return n.listeners=n.listeners.filter(({listener:i,once:o})=>{let a=new Ca(this,o?null:i,e);try{i.call(this,...r,a)}catch{}return!o}),n.listeners.length===0&&(n.started&&n.subscriber.stop(),this.#e.delete(n.tag)),s>0}async listenerCount(e){if(e){let n=await this.#x(e);return n?n.listeners.length:0}let r=0;for(let{listeners:n}of this.#e.values())r+=n.length;return r}async listeners(e){if(e){let n=await this.#x(e);return n?n.listeners.map(({listener:s})=>s):[]}let r=[];for(let{listeners:n}of this.#e.values())r=r.concat(n.map(({listener:s})=>s));return r}async off(e,r){let n=await this.#x(e);if(!n)return this;if(r){let s=n.listeners.map(({listener:i})=>i).indexOf(r);s>=0&&n.listeners.splice(s,1)}return(!r||n.listeners.length===0)&&(n.started&&n.subscriber.stop(),this.#e.delete(n.tag)),this}async removeAllListeners(e){if(e){let{tag:r,started:n,subscriber:s}=await this.#y(e);n&&s.stop(),this.#e.delete(r)}else for(let[r,{started:n,subscriber:s}]of this.#e)n&&s.stop(),this.#e.delete(r);return this}async addListener(e,r){return await this.on(e,r)}async removeListener(e,r){return this.off(e,r)}get destroyed(){return this.#n}destroy(){this.removeAllListeners();for(let e of this.#d.keys())this._clearTimeout(e);this.#n=!0}get paused(){return this.#r!=null}set paused(e){!!e!==this.paused&&(this.paused?this.resume():this.pause(!1))}pause(e){if(this.#a=-1,this.#r!=null){if(this.#r==!!e)return;z(!1,"cannot change pause type; resume first","UNSUPPORTED_OPERATION",{operation:"pause"})}this._forEachSubscriber(r=>r.pause(e)),this.#r=!!e;for(let r of this.#d.values())r.timer&&clearTimeout(r.timer),r.time=Sm()-r.time}resume(){if(this.#r!=null){this._forEachSubscriber(e=>e.resume()),this.#r=null;for(let e of this.#d.values()){let r=e.time;r<0&&(r=0),e.time=Sm(),setTimeout(e.func,r)}}}};function OU(t,e){try{let r=E2(t,e);if(r)return mo(r)}catch{}return null}function E2(t,e){if(t==="0x")return null;try{let r=Je(Rt(t,e,e+32)),n=Je(Rt(t,r,r+32));return Rt(t,r+32,r+32+n)}catch{}return null}function BN(t){let e=St(t);if(e.length>32)throw new Error("internal; should not happen");let r=new Uint8Array(32);return r.set(e,32-e.length),r}function PU(t){if(t.length%32===0)return t;let e=new Uint8Array(Math.ceil(t.length/32)*32);return e.set(t),e}var UU=new Uint8Array([]);function FU(t){let e=[],r=0;for(let n=0;n<t.length;n++)e.push(UU),r+=32;for(let n=0;n<t.length;n++){let s=ae(t[n]);e[n]=BN(r),e.push(BN(s.length)),e.push(PU(s)),r+=32+Math.ceil(s.length/32)*32}return et(e)}var IN="0x0000000000000000000000000000000000000000000000000000000000000000";function QU(t){let e={sender:"",urls:[],calldata:"",selector:"",extraData:"",errorArgs:[]};z(js(t)>=160,"insufficient OffchainLookup data","OFFCHAIN_FAULT",{reason:"insufficient OffchainLookup data"});let r=Rt(t,0,32);z(Rt(r,0,12)===Rt(IN,0,12),"corrupt OffchainLookup sender","OFFCHAIN_FAULT",{reason:"corrupt OffchainLookup sender"}),e.sender=Rt(r,12);try{let n=[],s=Je(Rt(t,32,64)),i=Je(Rt(t,s,s+32)),o=Rt(t,s+32);for(let a=0;a<i;a++){let u=OU(o,a*32);if(u==null)throw new Error("abort");n.push(u)}e.urls=n}catch{z(!1,"corrupt OffchainLookup urls","OFFCHAIN_FAULT",{reason:"corrupt OffchainLookup urls"})}try{let n=E2(t,64);if(n==null)throw new Error("abort");e.calldata=n}catch{z(!1,"corrupt OffchainLookup calldata","OFFCHAIN_FAULT",{reason:"corrupt OffchainLookup calldata"})}z(Rt(t,100,128)===Rt(IN,0,28),"corrupt OffchainLookup callbaackSelector","OFFCHAIN_FAULT",{reason:"corrupt OffchainLookup callbaackSelector"}),e.selector=Rt(t,96,100);try{let n=E2(t,128);if(n==null)throw new Error("abort");e.extraData=n}catch{z(!1,"corrupt OffchainLookup extraData","OFFCHAIN_FAULT",{reason:"corrupt OffchainLookup extraData"})}return e.errorArgs="sender,urls,calldata,selector,extraData".split(/,/).map(n=>e[n]),e}function Su(t,e){if(t.provider)return t.provider;z(!1,"missing provider","UNSUPPORTED_OPERATION",{operation:e})}async function DN(t,e){let r=Xs(e);if(r.to!=null&&(r.to=tr(r.to,t)),r.from!=null){let n=r.from;r.from=Promise.all([t.getAddress(),tr(n,t)]).then(([s,i])=>(I(s.toLowerCase()===i.toLowerCase(),"transaction from mismatch","tx.from",i),s))}else r.from=t.getAddress();return await er(r)}var Mo=class{provider;constructor(e){Be(this,{provider:e||null})}async getNonce(e){return Su(this,"getTransactionCount").getTransactionCount(await this.getAddress(),e)}async populateCall(e){return await DN(this,e)}async populateTransaction(e){let r=Su(this,"populateTransaction"),n=await DN(this,e);n.nonce==null&&(n.nonce=await this.getNonce("pending")),n.gasLimit==null&&(n.gasLimit=await this.estimateGas(n));let s=await this.provider.getNetwork();if(n.chainId!=null){let o=Ce(n.chainId);I(o===s.chainId,"transaction chainId mismatch","tx.chainId",e.chainId)}else n.chainId=s.chainId;let i=n.maxFeePerGas!=null||n.maxPriorityFeePerGas!=null;if(n.gasPrice!=null&&(n.type===2||i)?I(!1,"eip-1559 transaction do not support gasPrice","tx",e):(n.type===0||n.type===1)&&i&&I(!1,"pre-eip-1559 transaction do not support maxFeePerGas/maxPriorityFeePerGas","tx",e),(n.type===2||n.type==null)&&n.maxFeePerGas!=null&&n.maxPriorityFeePerGas!=null)n.type=2;else if(n.type===0||n.type===1){let o=await r.getFeeData();z(o.gasPrice!=null,"network does not support gasPrice","UNSUPPORTED_OPERATION",{operation:"getGasPrice"}),n.gasPrice==null&&(n.gasPrice=o.gasPrice)}else{let o=await r.getFeeData();if(n.type==null)if(o.maxFeePerGas!=null&&o.maxPriorityFeePerGas!=null)if(n.authorizationList&&n.authorizationList.length?n.type=4:n.type=2,n.gasPrice!=null){let a=n.gasPrice;delete n.gasPrice,n.maxFeePerGas=a,n.maxPriorityFeePerGas=a}else n.maxFeePerGas==null&&(n.maxFeePerGas=o.maxFeePerGas),n.maxPriorityFeePerGas==null&&(n.maxPriorityFeePerGas=o.maxPriorityFeePerGas);else o.gasPrice!=null?(z(!i,"network does not support EIP-1559","UNSUPPORTED_OPERATION",{operation:"populateTransaction"}),n.gasPrice==null&&(n.gasPrice=o.gasPrice),n.type=0):z(!1,"failed to get consistent fee data","UNSUPPORTED_OPERATION",{operation:"signer.getFeeData"});else(n.type===2||n.type===3||n.type===4)&&(n.maxFeePerGas==null&&(n.maxFeePerGas=o.maxFeePerGas),n.maxPriorityFeePerGas==null&&(n.maxPriorityFeePerGas=o.maxPriorityFeePerGas))}return await er(n)}async populateAuthorization(e){let r=Object.assign({},e);return r.chainId==null&&(r.chainId=(await Su(this,"getNetwork").getNetwork()).chainId),r.nonce==null&&(r.nonce=await this.getNonce()),r}async estimateGas(e){return Su(this,"estimateGas").estimateGas(await this.populateCall(e))}async call(e){return Su(this,"call").call(await this.populateCall(e))}async resolveName(e){return await Su(this,"resolveName").resolveName(e)}async sendTransaction(e){let r=Su(this,"sendTransaction"),n=await this.populateTransaction(e);delete n.from;let s=Ri.from(n);return await r.broadcastTransaction(await this.signTransaction(s))}authorize(e){z(!1,"authorization not implemented for this signer","UNSUPPORTED_OPERATION",{operation:"authorize"})}},Jl=class t extends Mo{address;constructor(e,r){super(r),Be(this,{address:e})}async getAddress(){return this.address}connect(e){return new t(this.address,e)}#e(e,r){z(!1,`VoidSigner cannot sign ${e}`,"UNSUPPORTED_OPERATION",{operation:r})}async signTransaction(e){this.#e("transactions","signTransaction")}async signMessage(e){this.#e("messages","signMessage")}async signTypedData(e,r,n){this.#e("typed-data","signTypedData")}};function LU(t){return JSON.parse(JSON.stringify(t))}var vm=class{#e;#t;#r;#n;#s;#o;constructor(e){this.#e=e,this.#t=null,this.#r=this.#i.bind(this),this.#n=!1,this.#s=null,this.#o=!1}_subscribe(e){throw new Error("subclasses must override this")}_emitResults(e,r){throw new Error("subclasses must override this")}_recover(e){throw new Error("subclasses must override this")}async#i(e){try{this.#t==null&&(this.#t=this._subscribe(this.#e));let r=null;try{r=await this.#t}catch(i){if(!Wt(i,"UNSUPPORTED_OPERATION")||i.operation!=="eth_newFilter")throw i}if(r==null){this.#t=null,this.#e._recoverSubscriber(this,this._recover(this.#e));return}let n=await this.#e.getNetwork();if(this.#s||(this.#s=n),this.#s.chainId!==n.chainId)throw new Error("chaid changed");if(this.#o)return;let s=await this.#e.send("eth_getFilterChanges",[r]);await this._emitResults(this.#e,s)}catch(r){console.log("@TODO",r)}this.#e.once("block",this.#r)}#a(){let e=this.#t;e&&(this.#t=null,e.then(r=>{this.#e.destroyed||this.#e.send("eth_uninstallFilter",[r])}))}start(){this.#n||(this.#n=!0,this.#i(-2))}stop(){this.#n&&(this.#n=!1,this.#o=!0,this.#a(),this.#e.off("block",this.#r))}pause(e){e&&this.#a(),this.#e.off("block",this.#r)}resume(){this.start()}},km=class extends vm{#e;constructor(e,r){super(e),this.#e=LU(r)}_recover(e){return new Ya(e,this.#e)}async _subscribe(e){return await e.send("eth_newFilter",[this.#e])}async _emitResults(e,r){for(let n of r)e.emit(this.#e,e._wrapLog(n,e._network))}},Om=class extends vm{async _subscribe(e){return await e.send("eth_newPendingTransactionFilter",[])}async _emitResults(e,r){for(let n of r)e.emit("pending",n)}};var VU="bigint,boolean,function,number,string,symbol".split(/,/g);function Pm(t){if(t==null||VU.indexOf(typeof t)>=0||typeof t.getAddress=="function")return t;if(Array.isArray(t))return t.map(Pm);if(typeof t=="object")return Object.keys(t).reduce((e,r)=>(e[r]=t[r],e),{});throw new Error(`should not happen: ${t} (${typeof t})`)}function GU(t){return new Promise(e=>{setTimeout(e,t)})}function Kl(t){return t&&t.toLowerCase()}function NN(t){return t&&typeof t.pollingInterval=="number"}var RN={polling:!1,staticNetwork:null,batchStallTime:10,batchMaxSize:1<<20,batchMaxCount:100,cacheTimeout:250,pollingInterval:4e3},Mu=class extends Mo{address;constructor(e,r){super(e),r=qe(r),Be(this,{address:r})}connect(e){z(!1,"cannot reconnect JsonRpcSigner","UNSUPPORTED_OPERATION",{operation:"signer.connect"})}async getAddress(){return this.address}async populateTransaction(e){return await this.populateCall(e)}async sendUncheckedTransaction(e){let r=Pm(e),n=[];if(r.from){let i=r.from;n.push((async()=>{let o=await tr(i,this.provider);I(o!=null&&o.toLowerCase()===this.address.toLowerCase(),"from address mismatch","transaction",e),r.from=o})())}else r.from=this.address;if(r.gasLimit==null&&n.push((async()=>{r.gasLimit=await this.provider.estimateGas({...r,from:this.address})})()),r.to!=null){let i=r.to;n.push((async()=>{r.to=await tr(i,this.provider)})())}n.length&&await Promise.all(n);let s=this.provider.getRpcTransaction(r);return this.provider.send("eth_sendTransaction",[s])}async sendTransaction(e){let r=await this.provider.getBlockNumber(),n=await this.sendUncheckedTransaction(e);return await new Promise((s,i)=>{let o=[1e3,100],a=0,u=async()=>{try{let l=await this.provider.getTransaction(n);if(l!=null){s(l.replaceableTransaction(r));return}}catch(l){if(Wt(l,"CANCELLED")||Wt(l,"BAD_DATA")||Wt(l,"NETWORK_ERROR")||Wt(l,"UNSUPPORTED_OPERATION")){l.info==null&&(l.info={}),l.info.sendTransactionHash=n,i(l);return}if(Wt(l,"INVALID_ARGUMENT")&&(a++,l.info==null&&(l.info={}),l.info.sendTransactionHash=n,a>10)){i(l);return}this.provider.emit("error",Nt("failed to fetch transation after sending (will try again)","UNKNOWN_ERROR",{error:l}))}this.provider._setTimeout(()=>{u()},o.pop()||4e3)};u()})}async signTransaction(e){let r=Pm(e);if(r.from){let s=await tr(r.from,this.provider);I(s!=null&&s.toLowerCase()===this.address.toLowerCase(),"from address mismatch","transaction",e),r.from=s}else r.from=this.address;let n=this.provider.getRpcTransaction(r);return await this.provider.send("eth_signTransaction",[n])}async signMessage(e){let r=typeof e=="string"?kt(e):e;return await this.provider.send("personal_sign",[J(r),this.address.toLowerCase()])}async signTypedData(e,r,n){let s=Pm(n),i=await Io.resolveNames(e,r,s,async o=>{let a=await tr(o);return I(a!=null,"TypedData does not support null address","value",o),a});return await this.provider.send("eth_signTypedData_v4",[this.address.toLowerCase(),JSON.stringify(Io.getPayload(i.domain,r,i.value))])}async unlock(e){return this.provider.send("personal_unlockAccount",[this.address.toLowerCase(),e,null])}async _legacySignMessage(e){let r=typeof e=="string"?kt(e):e;return await this.provider.send("eth_sign",[this.address.toLowerCase(),J(r)])}},Hh=class extends Gh{#e;#t;#r;#n;#s;#o;#i;#a(){if(this.#n)return;let e=this._getOption("batchMaxCount")===1?0:this._getOption("batchStallTime");this.#n=setTimeout(()=>{this.#n=null;let r=this.#r;for(this.#r=[];r.length;){let n=[r.shift()];for(;r.length&&n.length!==this.#e.batchMaxCount;)if(n.push(r.shift()),JSON.stringify(n.map(i=>i.payload)).length>this.#e.batchMaxSize){r.unshift(n.pop());break}(async()=>{let s=n.length===1?n[0].payload:n.map(i=>i.payload);this.emit("debug",{action:"sendRpcPayload",payload:s});try{let i=await this._send(s);this.emit("debug",{action:"receiveRpcResult",result:i});for(let{resolve:o,reject:a,payload:u}of n){if(this.destroyed){a(Nt("provider destroyed; cancelled request","UNSUPPORTED_OPERATION",{operation:u.method}));continue}let l=i.filter(f=>f.id===u.id)[0];if(l==null){let f=Nt("missing response for request","BAD_DATA",{value:i,info:{payload:u}});this.emit("error",f),a(f);continue}if("error"in l){a(this.getRpcError(u,l));continue}o(l.result)}}catch(i){this.emit("debug",{action:"receiveRpcError",error:i});for(let{reject:o}of n)o(i)}})()}},e)}constructor(e,r){super(e,r),this.#t=1,this.#e=Object.assign({},RN,r||{}),this.#r=[],this.#n=null,this.#o=null,this.#i=null;{let s=null,i=new Promise(o=>{s=o});this.#s={promise:i,resolve:s}}let n=this._getOption("staticNetwork");typeof n=="boolean"?(I(!n||e!=="any","staticNetwork cannot be used on special network 'any'","options",r),n&&e!=null&&(this.#o=ss.from(e))):n&&(I(e==null||n.matches(e),"staticNetwork MUST match network object","options",r),this.#o=n)}_getOption(e){return this.#e[e]}get _network(){return z(this.#o,"network is not available yet","NETWORK_ERROR"),this.#o}async _perform(e){if(e.method==="call"||e.method==="estimateGas"){let n=e.transaction;if(n&&n.type!=null&&Ce(n.type)&&n.maxFeePerGas==null&&n.maxPriorityFeePerGas==null){let s=await this.getFeeData();s.maxFeePerGas==null&&s.maxPriorityFeePerGas==null&&(e=Object.assign({},e,{transaction:Object.assign({},n,{type:void 0})}))}}let r=this.getRpcRequest(e);return r!=null?await this.send(r.method,r.args):super._perform(e)}async _detectNetwork(){let e=this._getOption("staticNetwork");if(e)if(e===!0){if(this.#o)return this.#o}else return e;return this.#i?await this.#i:this.ready?(this.#i=(async()=>{try{let r=ss.from(Ce(await this.send("eth_chainId",[])));return this.#i=null,r}catch(r){throw this.#i=null,r}})(),await this.#i):(this.#i=(async()=>{let r={id:this.#t++,method:"eth_chainId",params:[],jsonrpc:"2.0"};this.emit("debug",{action:"sendRpcPayload",payload:r});let n;try{n=(await this._send(r))[0],this.#i=null}catch(s){throw this.#i=null,this.emit("debug",{action:"receiveRpcError",error:s}),s}if(this.emit("debug",{action:"receiveRpcResult",result:n}),"result"in n)return ss.from(Ce(n.result));throw this.getRpcError(r,n)})(),await this.#i)}_start(){this.#s==null||this.#s.resolve==null||(this.#s.resolve(),this.#s=null,(async()=>{for(;this.#o==null&&!this.destroyed;)try{this.#o=await this._detectNetwork()}catch(e){if(this.destroyed)break;console.log("JsonRpcProvider failed to detect network and cannot start up; retry in 1s (perhaps the URL is wrong or the node is not started)"),this.emit("error",Nt("failed to bootstrap network detection","NETWORK_ERROR",{event:"initial-network-discovery",info:{error:e}})),await GU(1e3)}this.#a()})())}async _waitUntilReady(){if(this.#s!=null)return await this.#s.promise}_getSubscriber(e){return e.type==="pending"?new Om(this):e.type==="event"?this._getOption("polling")?new Ya(this,e.filter):new km(this,e.filter):e.type==="orphan"&&e.filter.orphan==="drop-log"?new zl("orphan"):super._getSubscriber(e)}get ready(){return this.#s==null}getRpcTransaction(e){let r={};return["chainId","gasLimit","gasPrice","type","maxFeePerGas","maxPriorityFeePerGas","nonce","value"].forEach(n=>{if(e[n]==null)return;let s=n;n==="gasLimit"&&(s="gas"),r[s]=tn(Ce(e[n],`tx.${n}`))}),["from","to","data"].forEach(n=>{e[n]!=null&&(r[n]=J(e[n]))}),e.accessList&&(r.accessList=_n(e.accessList)),e.blobVersionedHashes&&(r.blobVersionedHashes=e.blobVersionedHashes.map(n=>n.toLowerCase())),e.authorizationList&&(r.authorizationList=e.authorizationList.map(n=>{let s=Sl(n);return{address:s.address,nonce:tn(s.nonce),chainId:tn(s.chainId),yParity:tn(s.signature.yParity),r:tn(s.signature.r),s:tn(s.signature.s)}})),r}getRpcRequest(e){switch(e.method){case"chainId":return{method:"eth_chainId",args:[]};case"getBlockNumber":return{method:"eth_blockNumber",args:[]};case"getGasPrice":return{method:"eth_gasPrice",args:[]};case"getPriorityFee":return{method:"eth_maxPriorityFeePerGas",args:[]};case"getBalance":return{method:"eth_getBalance",args:[Kl(e.address),e.blockTag]};case"getTransactionCount":return{method:"eth_getTransactionCount",args:[Kl(e.address),e.blockTag]};case"getCode":return{method:"eth_getCode",args:[Kl(e.address),e.blockTag]};case"getStorage":return{method:"eth_getStorageAt",args:[Kl(e.address),"0x"+e.position.toString(16),e.blockTag]};case"broadcastTransaction":return{method:"eth_sendRawTransaction",args:[e.signedTransaction]};case"getBlock":if("blockTag"in e)return{method:"eth_getBlockByNumber",args:[e.blockTag,!!e.includeTransactions]};if("blockHash"in e)return{method:"eth_getBlockByHash",args:[e.blockHash,!!e.includeTransactions]};break;case"getTransaction":return{method:"eth_getTransactionByHash",args:[e.hash]};case"getTransactionReceipt":return{method:"eth_getTransactionReceipt",args:[e.hash]};case"call":return{method:"eth_call",args:[this.getRpcTransaction(e.transaction),e.blockTag]};case"estimateGas":return{method:"eth_estimateGas",args:[this.getRpcTransaction(e.transaction)]};case"getLogs":return e.filter&&e.filter.address!=null&&(Array.isArray(e.filter.address)?e.filter.address=e.filter.address.map(Kl):e.filter.address=Kl(e.filter.address)),{method:"eth_getLogs",args:[e.filter]}}return null}getRpcError(e,r){let{method:n}=e,{error:s}=r;if(n==="eth_estimateGas"&&s.message){let a=s.message;if(!a.match(/revert/i)&&a.match(/insufficient funds/i))return Nt("insufficient funds","INSUFFICIENT_FUNDS",{transaction:e.params[0],info:{payload:e,error:s}});if(a.match(/nonce/i)&&a.match(/too low/i))return Nt("nonce has already been used","NONCE_EXPIRED",{transaction:e.params[0],info:{payload:e,error:s}})}if(n==="eth_call"||n==="eth_estimateGas"){let a=y2(s),u=Ro.getBuiltinCallException(n==="eth_call"?"call":"estimateGas",e.params[0],a?a.data:null);return u.info={error:s,payload:e},u}let i=JSON.stringify(HU(s));if(typeof s.message=="string"&&s.message.match(/user denied|ethers-user-denied/i))return Nt("user rejected action","ACTION_REJECTED",{action:{eth_sign:"signMessage",personal_sign:"signMessage",eth_signTypedData_v4:"signTypedData",eth_signTransaction:"signTransaction",eth_sendTransaction:"sendTransaction",eth_requestAccounts:"requestAccess",wallet_requestAccounts:"requestAccess"}[n]||"unknown",reason:"rejected",info:{payload:e,error:s}});if(n==="eth_sendRawTransaction"||n==="eth_sendTransaction"){let a=e.params[0];if(i.match(/insufficient funds|base fee exceeds gas limit/i))return Nt("insufficient funds for intrinsic transaction cost","INSUFFICIENT_FUNDS",{transaction:a,info:{error:s}});if(i.match(/nonce/i)&&i.match(/too low/i))return Nt("nonce has already been used","NONCE_EXPIRED",{transaction:a,info:{error:s}});if(i.match(/replacement transaction/i)&&i.match(/underpriced/i))return Nt("replacement fee too low","REPLACEMENT_UNDERPRICED",{transaction:a,info:{error:s}});if(i.match(/only replay-protected/i))return Nt("legacy pre-eip-155 transactions not supported","UNSUPPORTED_OPERATION",{operation:n,info:{transaction:a,info:{error:s}}})}let o=!!i.match(/the method .* does not exist/i);return o||s&&s.details&&s.details.startsWith("Unauthorized method:")&&(o=!0),o?Nt("unsupported operation","UNSUPPORTED_OPERATION",{operation:e.method,info:{error:s,payload:e}}):Nt("could not coalesce error","UNKNOWN_ERROR",{error:s,payload:e})}send(e,r){if(this.destroyed)return Promise.reject(Nt("provider destroyed; cancelled request","UNSUPPORTED_OPERATION",{operation:e}));let n=this.#t++,s=new Promise((i,o)=>{this.#r.push({resolve:i,reject:o,payload:{method:e,params:r,id:n,jsonrpc:"2.0"}})});return this.#a(),s}async getSigner(e){e==null&&(e=0);let r=this.send("eth_accounts",[]);if(typeof e=="number"){let s=await r;if(e>=s.length)throw new Error("no such account");return new Mu(this,s[e])}let{accounts:n}=await er({network:this.getNetwork(),accounts:r});e=qe(e);for(let s of n)if(qe(s)===e)return new Mu(this,e);throw new Error("invalid account")}async listAccounts(){return(await this.send("eth_accounts",[])).map(r=>new Mu(this,r))}destroy(){this.#n&&(clearTimeout(this.#n),this.#n=null);for(let{payload:e,reject:r}of this.#r)r(Nt("provider destroyed; cancelled request","UNSUPPORTED_OPERATION",{operation:e.method}));this.#r=[],super.destroy()}},x2=class extends Hh{#e;constructor(e,r){super(e,r);let n=this._getOption("pollingInterval");n==null&&(n=RN.pollingInterval),this.#e=n}_getSubscriber(e){let r=super._getSubscriber(e);return NN(r)&&(r.pollingInterval=this.#e),r}get pollingInterval(){return this.#e}set pollingInterval(e){if(!Number.isInteger(e)||e<0)throw new Error("invalid interval");this.#e=e,this._forEachSubscriber(r=>{NN(r)&&(r.pollingInterval=this.#e)})}},ql=class extends x2{#e;constructor(e,r,n){e==null&&(e="http://localhost:8545"),super(r,n),typeof e=="string"?this.#e=new Hn(e):this.#e=e.clone()}_getConnection(){return this.#e.clone()}async send(e,r){return await this._start(),await super.send(e,r)}async _send(e){let r=this._getConnection();r.body=JSON.stringify(e),r.setHeader("content-type","application/json");let n=await r.send();n.assertOk();let s=n.bodyJson;return Array.isArray(s)||(s=[s]),s}};function y2(t){if(t==null)return null;if(typeof t.message=="string"&&t.message.match(/revert/i)&&ft(t.data))return{message:t.message,data:t.data};if(typeof t=="object"){for(let e in t){let r=y2(t[e]);if(r)return r}return null}if(typeof t=="string")try{return y2(JSON.parse(t))}catch{}return null}function b2(t,e){if(t!=null){if(typeof t.message=="string"&&e.push(t.message),typeof t=="object")for(let r in t)b2(t[r],e);if(typeof t=="string")try{return b2(JSON.parse(t),e)}catch{}}}function HU(t){let e=[];return b2(t,e),e}var vu=class t extends Mo{address;#e;constructor(e,r){super(r),I(e&&typeof e.sign=="function","invalid private key","privateKey","[ REDACTED ]"),this.#e=e;let n=gs(this.signingKey.publicKey);Be(this,{address:n})}get signingKey(){return this.#e}get privateKey(){return this.signingKey.privateKey}async getAddress(){return this.address}connect(e){return new t(this.#e,e)}async signTransaction(e){e=Xs(e);let{to:r,from:n}=await er({to:e.to?tr(e.to,this):void 0,from:e.from?tr(e.from,this):void 0});r!=null&&(e.to=r),n!=null&&(e.from=n),e.from!=null&&(I(qe(e.from)===this.address,"transaction from address mismatch","tx.from",e.from),delete e.from);let s=Ri.from(e);return s.signature=this.signingKey.sign(s.unsignedHash),s.serialized}async signMessage(e){return this.signMessageSync(e)}signMessageSync(e){return this.signingKey.sign(r2(e)).serialized}authorizeSync(e){I(typeof e.address=="string","invalid address for authorizeSync","auth.address",e);let r=this.signingKey.sign(jb(e));return Object.assign({},{address:qe(e.address),nonce:Ce(e.nonce||0),chainId:Ce(e.chainId||0)},{signature:r})}async authorize(e){return e=Object.assign({},e,{address:await tr(e.address,this)}),this.authorizeSync(await this.populateAuthorization(e))}async signTypedData(e,r,n){let s=await Io.resolveNames(e,r,n,async i=>{z(this.provider!=null,"cannot resolve ENS names without a provider","UNSUPPORTED_OPERATION",{operation:"resolveName",info:{name:i}});let o=await this.provider.resolveName(i);return z(o!=null,"unconfigured ENS name","UNCONFIGURED_NAME",{value:i}),o});return this.signingKey.sign(Io.hash(s.domain,r,s.value)).serialized}};var Um=" !#$%&'()*+,-./<=>?@[]^_`{|}~",_U=/^[a-z]*$/i;function SN(t,e){let r=97;return t.reduce((n,s)=>(s===e?r++:s.match(_U)?n.push(String.fromCharCode(r)+s):(r=97,n.push(s)),n),[])}function YU(t,e){for(let s=Um.length-1;s>=0;s--)t=t.split(Um[s]).join(e.substring(2*s,2*s+2));let r=[],n=t.replace(/(:|([0-9])|([A-Z][a-z]*))/g,(s,i,o,a)=>{if(o)for(let u=parseInt(o);u>=0;u--)r.push(";");else r.push(i.toLowerCase());return""});if(n)throw new Error(`leftovers: ${JSON.stringify(n)}`);return SN(SN(r,";"),":")}function MN(t){return I(t[0]==="0","unsupported auwl data","data",t),YU(t.substring(1+2*Um.length),t.substring(1,1+2*Um.length))}var Fm=class{locale;constructor(e){Be(this,{locale:e})}split(e){return e.toLowerCase().split(/\s+/g)}join(e){return e.join(" ")}};var Qm=class extends Fm{#e;#t;constructor(e,r,n){super(e),this.#e=r,this.#t=n,this.#r=null}get _data(){return this.#e}_decodeWords(){return MN(this.#e)}#r;#n(){if(this.#r==null){let e=this._decodeWords();if(bn(e.join(`
|
|
4462
4462
|
`)+`
|
|
4463
|
-
`)!==this.#t)throw new Error(`BIP39 Wordlist for ${this.locale} FAILED`);this.#r=e}return this.#r}getWord(e){let r=this.#n();return I(e>=0&&e<r.length,`invalid word index: ${e}`,"index",e),r[e]}getWordIndex(e){return this.#n().indexOf(e)}};var jU="0erleonalorenseinceregesticitStanvetearctssi#ch2Athck&tneLl0And#Il.yLeOutO=S|S%b/ra@SurdU'0Ce[Cid|CountCu'Hie=IdOu,-Qui*Ro[TT]T%T*[Tu$0AptDD-tD*[Ju,M.UltV<)Vi)0Rob-0FairF%dRaid0A(EEntRee0Ead0MRRp%tS!_rmBumCoholErtI&LLeyLowMo,O}PhaReadySoT Ways0A>urAz(gOngOuntU'd0Aly,Ch%Ci|G G!GryIm$K!Noun)Nu$O` Sw T&naTiqueXietyY1ArtOlogyPe?P!Pro=Ril1ChCt-EaEnaGueMMedM%MyOundR<+Re,Ri=RowTTefa@Ti,Tw%k0KPe@SaultSetSi,SumeThma0H!>OmTa{T&dT.udeTra@0Ct]D.Gu,NtTh%ToTumn0Era+OcadoOid0AkeA*AyEsomeFulKw?d0Is:ByChel%C#D+GL<)Lc#y~MbooN<aNn RRelyRga(R*lSeS-SketTt!3A^AnAutyCau'ComeEfF%eG(Ha=H(dLie=LowLtN^Nef./TrayTt Twe&Y#d3Cyc!DKeNdOlogyRdR`Tt _{AdeAmeAnketA,EakE[IndOodO[omOu'UeUrUsh_rdAtDyIlMbNeNusOkO,Rd R(gRrowSsTtomUn)XY_{etA(AndA[A=EadEezeI{Id+IefIghtIngIskOccoliOk&OnzeOomO` OwnUsh2Bb!DdyD+tFf$oIldLbLkL!tNd!Nk Rd&Rg R,SS(e[SyTt Y Zz:Bba+B(B!CtusGeKe~LmM aMpNN$N)lNdyNn#NoeNvasNy#Pab!P.$Pta(RRb#RdRgoRpetRryRtSeShS(o/!Su$TT$ogT^Teg%yTt!UghtU'Ut]Ve3Il(gL yM|NsusNturyRe$Rta(_irAlkAmp]An+AosApt Ar+A'AtEapE{Ee'EfErryE,I{&IefIldIm}yOi)Oo'R#-U{!UnkUrn0G?Nnam#Rc!Tiz&TyVil_imApArifyAwAyE<ErkEv I{I|IffImbIn-IpO{OgO'O`OudOwnUbUmpU, Ut^_^A,C#utDeFfeeIlInL!@L%LumnMb(eMeMf%tM-Mm#Mp<yNc tNdu@NfirmNg*[N}@Nsid NtrolNv()OkOlPp PyR$ReRnR*@/Tt#U^UntryUp!Ur'Us(V Yo>_{Ad!AftAmA}AshAt AwlAzyEamEd.EekEwI{etImeIspIt-OpO[Ou^OwdUci$UelUi'Umb!Un^UshYY,$2BeLtu*PPbo?dRiousRr|Rta(R=Sh]/omTe3C!:DMa+MpN)Ng R(gShUght WnY3AlBa>BrisCadeCemb CideCl(eC%a>C*a'ErF&'F(eFyG*eLayLiv M<dMi'Ni$Nti,NyP?tP&dPos.P`PutyRi=ScribeS tSignSkSpair/royTailTe@VelopVi)Vo>3AgramAlAm#dAryCeE'lEtFf G.$Gn.yLemmaNn NosaurRe@RtSag*eScov Sea'ShSmi[S%d Splay/<)V tVideV%)Zzy5Ct%Cum|G~Lph(Ma(Na>NkeyN%OrSeUb!Ve_ftAg#AmaA,-AwEamE[IftIllInkIpI=OpUmY2CkMbNeR(g/T^Ty1Arf1Nam-:G G!RlyRnR`Sily/Sy1HoOlogyOnomy0GeItUca>1F%t0G1GhtTh 2BowD E@r-Eg<tEm|Eph<tEvat%I>Se0B?kBodyBra)Er+Ot]PloyPow Pty0Ab!A@DD![D%'EmyErgyF%)Ga+G(eH<)JoyLi,OughR-hRollSu*T Ti*TryVelope1Isode0U$Uip0AA'OdeOs]R%Upt0CapeSayS&)Ta>0Ern$H-s1Id&)IlOkeOl=1A@Amp!Ce[Ch<+C.eCludeCu'Ecu>Erci'Hau,Hib.I!I,ItOt-P<dPe@Pi*Pla(Po'P*[T&dTra0EEbrow:Br-CeCultyDeIntI`~L'MeMilyMousNNcyNtasyRmSh]TT$Th TigueUltV%.e3Atu*Bru?yD $EEdElMa!N)/iv$T^V W3B Ct]EldGu*LeLmLt N$NdNeNg NishReRmR,Sc$ShTT}[X_gAmeAshAtAv%EeIghtIpOatO{O%Ow UidUshY_mCusGIlLd~owOdOtR)Re,R+tRkRtu}RumRw?dSsil/ UndX_gi!AmeEqu|EshI&dIn+OgOntO,OwnOz&U.2ElNNnyRna)RyTu*:D+tInLaxy~ yMePRa+Rba+Rd&Rl-Rm|SSpTeTh U+Ze3N $NiusN*Nt!Nu(e/u*2O,0AntFtGg!Ng RaffeRlVe_dAn)A*A[IdeImp'ObeOomOryO=OwUe_tDde[LdOdO'RillaSpelSsipV nWn_bA)A(AntApeA[Av.yEatE&IdIefItOc yOupOwUnt_rdE[IdeIltIt?N3M:B.IrLfMm M, NdPpyRb%RdRshR=,TVeWkZ?d3AdAl`ArtAvyD+hogIght~oLmetLpNRo3Dd&Gh~NtPRe/%y5BbyCkeyLdLeLiday~owMeNeyOdPeRnRr%R'Sp.$/TelUrV 5BGeM<Mb!M%Nd*dNgryNtRd!RryRtSb<d3Brid:1EOn0EaEntifyLe2N%e4LLeg$L}[0A+Ita>M&'Mu}Pa@Po'Pro=Pul'0ChCludeComeC*a'DexD-a>Do%Du,ryF<tFl-tF%mHa!H .Iti$Je@JuryMa>N Noc|PutQuiryS<eSe@SideSpi*/$lTa@T e,ToVe,V.eVol=3On0L<dOla>Sue0Em1Ory:CketGu?RZz3AlousAns~yWel9BInKeUr}yY5D+I)MpNg!Ni%Nk/:Ng?oo3EnEpT^upY3CkDD}yNdNgdomSsTT^&TeTt&Wi4EeIfeO{Ow:BBelB%Dd DyKeMpNgua+PtopR+T T(UghUndryVaWWnWsu.Y Zy3Ad AfArnA=Ctu*FtGG$G&dIsu*M#NdNg`NsOp?dSs#Tt Vel3ArB tyBr?yC&'FeFtGhtKeMbM.NkOnQuid/Tt!VeZ?d5AdAnB, C$CkG-NelyNgOpTt yUdUn+VeY$5CkyGga+Mb N?N^Xury3R-s:Ch(eDG-G}tIdIlInJ%KeMm$NNa+Nda>NgoNs]Nu$P!Rb!R^Rg(R(eRketRria+SkSs/ T^T i$ThTrixTt XimumZe3AdowAnAsu*AtCh<-D$DiaLodyLtMb M%yNt]NuRcyR+R.RryShSsa+T$Thod3Dd!DnightLk~]M-NdNimumN%Nu>Rac!Rr%S ySs/akeXXedXtu*5Bi!DelDifyMM|N.%NkeyN, N`OnR$ReRn(gSqu.oTh T]T%Unta(U'VeVie5ChFf(LeLtiplySc!SeumShroomS-/Tu$3Self/ yTh:I=MePk(Rrow/yT]Tu*3ArCkEdGati=G!@I` PhewR=/TTw%kUtr$V WsXt3CeGht5B!I'M(eeOd!Rm$R`SeTab!TeTh(gTi)VelW5C!?Mb R'T:K0EyJe@Li+Scu*S =Ta(Vious0CurE<Tob 0Or1FF Fi)T&2L1Ay0DI=Ymp-0It0CeEI#L(eLy1EnEraIn]Po'T]1An+B.Ch?dD D(?yG<I|Ig($Ph<0Tr-h0H 0Tdo%T TputTside0AlEnEr0NN 0Yg&0/ 0O}:CtDd!GeIrLa)LmNdaNelN-N` P RadeR|RkRrotRtySsT^ThTi|TrolTt nU'VeYm|3A)AnutArAs<tL-<NN$tyNcilOp!Pp Rfe@Rm.Rs#T2O}OtoRa'Ys-$0AnoCn-Ctu*E)GGe#~LotNkO} Pe/olT^Zza_)A}tA,-A>AyEa'Ed+U{UgUn+2EmEtIntL?LeLi)NdNyOlPul?Rt]S.]Ssib!/TatoTt yV tyWd W _@i)Ai'Ed-tEf Epa*Es|EttyEv|I)IdeIm?yIntI%.yIs#Iva>IzeOb!mO)[Odu)Of.OgramOje@Omo>OofOp tyOsp O>@OudOvide2Bl-Dd(g~LpL'Mpk(N^PilPpyR^a'R.yRpo'R'ShTZz!3Ramid:99Al.yAntumArt E,]I{ItIzO>:Bb.Cco#CeCkD?DioIlInI'~yMpN^NdomN+PidReTeTh V&WZ%3AdyAlAs#BelBuildC$lCei=CipeC%dCyc!Du)F!@F%mFu'G]G*tGul?Je@LaxLea'LiefLyMa(Memb M(dMo=Nd NewNtOp&PairPeatPla)P%tQui*ScueSemb!Si,Sour)Sp#'SultTi*T*atTurnUn]Ve$ViewW?d2Y`m0BBb#CeChDeD+F!GhtGidNgOtPp!SkTu$V$V 5AdA,BotBu,CketM<)OfOkieOmSeTa>UghUndU>Y$5Bb DeGLeNNwayR$:DDd!D}[FeIlLadLm#L#LtLu>MeMp!NdTisfyToshiU)Usa+VeY1A!AnA*Att E}HemeHoolI&)I[%sOrp]OutRapRe&RiptRub1AAr^As#AtC#dC*tCt]Cur.yEdEkGm|Le@~M(?Ni%N'Nt&)RiesRvi)Ss]Tt!TupV&_dowAftAllowA*EdEllEriffIeldIftI}IpIv O{OeOotOpOrtOuld O=RimpRugUff!Y0Bl(gCkDeE+GhtGnL|Lk~yLv Mil?Mp!N)NgR&/ Tua>XZe1A>Et^IIllInIrtUll0AbAmEepEnd I)IdeIghtImOg<OtOwUsh0AllArtI!OkeOo`0A{AkeApIffOw0ApCc Ci$CkDaFtL?Ldi LidLut]L=Me#eNgOnRryRtUlUndUpUr)U`0A)A*Ati$AwnEakEci$EedEllEndH eI)Id IkeInIr.L.OilOns%O#OrtOtRayReadR(gY0Ua*UeezeUir*l_b!AdiumAffA+AirsAmpAndArtA>AyEakEelEmEpE*oI{IllIngO{Oma^O}OolOryO=Ra>gyReetRikeR#gRugg!Ud|UffUmb!Y!0Bje@Bm.BwayC)[ChDd&Ff G?G+,ItMm NNnyN'tP PplyP*meReRfa)R+Rpri'RroundR=ySpe@/a(1AllowAmpApArmE?EetIftImIngIt^Ord1MbolMptomRup/em:B!Ck!GIlL|LkNkPeR+tSk/eTtooXi3A^Am~NN<tNnisNtRm/Xt_nkAtEmeEnE%yE*EyIngIsOughtReeRi=RowUmbUnd 0CketDeG LtMb MeNyPRedSsueT!5A,BaccoDayDdl EGe` I!tK&MatoM%rowNeNgueNightOlO`PP-Pp!R^RnadoRtoi'SsT$Uri,W?dW WnY_{AdeAff-Ag-A(Ansf ApAshA=lAyEatEeEndI$IbeI{Igg ImIpOphyOub!U{UeUlyUmpetU,U`Y2BeIt]Mb!NaN}lRkeyRnRt!1El=EntyI)InI,O1PeP-$:5Ly5B*lla0Ab!Awa*C!Cov D DoFairFoldHappyIf%mIqueItIv 'KnownLo{TilUsu$Veil1Da>GradeHoldOnP Set1B<Ge0A+EEdEfulE![U$0Il.y:C<tCuumGueLidL!yL=NNishP%Rious/Ult3H-!L=tNd%Ntu*NueRbRifyRs]RyS'lT <3Ab!Br<tCiousCt%yDeoEw~a+Nta+Ol(Rtu$RusSaS.Su$T$Vid5C$I)IdLc<oLumeTeYa+:GeG#ItLk~LnutNtRfa*RmRri%ShSp/eT VeY3Al`Ap#ArA'lA` BDd(gEk&dIrdLcome/T_!AtEatEelEnE*IpIsp 0DeD`FeLd~NNdowNeNgNkNn Nt ReSdomSeShT}[5LfM<Nd OdOlRdRkRldRryR`_pE{E,!I,I>Ong::Rd3Ar~ow9UUngU`:3BraRo9NeO",WU="0x3c8acc1e7b08d8e76f9fda015ef48dc8c710a73cb7e0f77b2c18a9b5a7adde60",w2=null,vo=class t extends Qm{constructor(){super("en",jU,WU)}static wordlist(){return w2==null&&(w2=new t),w2}};function vN(t){return(1<<t)-1<<8-t&255}function zU(t){return(1<<t)-1&255}function T2(t,e){yl("NFKD"),e==null&&(e=vo.wordlist());let r=e.split(t);I(r.length%3===0&&r.length>=12&&r.length<=24,"invalid mnemonic length","mnemonic","[ REDACTED ]");let n=new Uint8Array(Math.ceil(11*r.length/8)),s=0;for(let l=0;l<r.length;l++){let f=e.getWordIndex(r[l].normalize("NFKD"));I(f>=0,`invalid mnemonic word at index ${l}`,"mnemonic","[ REDACTED ]");for(let d=0;d<11;d++)f&1<<10-d&&(n[s>>3]|=1<<7-s%8),s++}let i=32*r.length/3,o=r.length/3,a=vN(o),u=ae(zr(n.slice(0,i/8)))[0]&a;return I(u===(n[n.length-1]&a),"invalid mnemonic checksum","mnemonic","[ REDACTED ]"),J(n.slice(0,i/8))}function C2(t,e){I(t.length%4===0&&t.length>=16&&t.length<=32,"invalid entropy size","entropy","[ REDACTED ]"),e==null&&(e=vo.wordlist());let r=[0],n=11;for(let o=0;o<t.length;o++)n>8?(r[r.length-1]<<=8,r[r.length-1]|=t[o],n-=8):(r[r.length-1]<<=n,r[r.length-1]|=t[o]>>8-n,r.push(t[o]&zU(8-n)),n+=3);let s=t.length/4,i=parseInt(zr(t).substring(2,4),16)&vN(s);return r[r.length-1]<<=s,r[r.length-1]|=i>>8-s,e.join(r.map(o=>e.getWord(o)))}var B2={},ja=class t{phrase;password;wordlist;entropy;constructor(e,r,n,s,i){s==null&&(s=""),i==null&&(i=vo.wordlist()),Gn(e,B2,"Mnemonic"),Be(this,{phrase:n,password:s,wordlist:i,entropy:r})}computeSeed(){let e=kt("mnemonic"+this.password,"NFKD");return Xn(kt(this.phrase,"NFKD"),e,2048,64,"sha512")}static fromPhrase(e,r,n){let s=T2(e,n);return e=C2(ae(s),n),new t(B2,s,e,r,n)}static fromEntropy(e,r,n){let s=ae(e,"entropy"),i=C2(s,n);return new t(B2,J(s),i,r,n)}static entropyToPhrase(e,r){let n=ae(e,"entropy");return C2(n,r)}static phraseToEntropy(e,r){return T2(e,r)}static isValidMnemonic(e,r){try{return T2(e,r),!0}catch{}return!1}};var Jr=function(t,e,r,n){if(r==="a"&&!n)throw new TypeError("Private accessor was defined without a getter");if(typeof e=="function"?t!==e||!n:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return r==="m"?n:r==="a"?n.call(t):n?n.value:e.get(t)},I2=function(t,e,r,n,s){if(n==="m")throw new TypeError("Private method is not writable");if(n==="a"&&!s)throw new TypeError("Private accessor was defined without a setter");if(typeof e=="function"?t!==e||!s:!e.has(t))throw new TypeError("Cannot write private member to an object whose class did not declare it");return n==="a"?s.call(t,r):s?s.value=r:e.set(t,r),r},Vm,bs,Mi,JU={16:10,24:12,32:14},KU=[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],ys=[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],Lm=[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],qU=[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],ZU=[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],XU=[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],$U=[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],tF=[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],rF=[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],nF=[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],sF=[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],iF=[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],oF=[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],aF=[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 D2(t){let e=[];for(let r=0;r<t.length;r+=4)e.push(t[r]<<24|t[r+1]<<16|t[r+2]<<8|t[r+3]);return e}var _h=class t{get key(){return Jr(this,Vm,"f").slice()}constructor(e){if(Vm.set(this,void 0),bs.set(this,void 0),Mi.set(this,void 0),!(this instanceof t))throw Error("AES must be instanitated with `new`");I2(this,Vm,new Uint8Array(e),"f");let r=JU[this.key.length];if(r==null)throw new TypeError("invalid key size (must be 16, 24 or 32 bytes)");I2(this,Mi,[],"f"),I2(this,bs,[],"f");for(let f=0;f<=r;f++)Jr(this,Mi,"f").push([0,0,0,0]),Jr(this,bs,"f").push([0,0,0,0]);let n=(r+1)*4,s=this.key.length/4,i=D2(this.key),o;for(let f=0;f<s;f++)o=f>>2,Jr(this,Mi,"f")[o][f%4]=i[f],Jr(this,bs,"f")[r-o][f%4]=i[f];let a=0,u=s,l;for(;u<n;){if(l=i[s-1],i[0]^=ys[l>>16&255]<<24^ys[l>>8&255]<<16^ys[l&255]<<8^ys[l>>24&255]^KU[a]<<24,a+=1,s!=8)for(let m=1;m<s;m++)i[m]^=i[m-1];else{for(let m=1;m<s/2;m++)i[m]^=i[m-1];l=i[s/2-1],i[s/2]^=ys[l&255]^ys[l>>8&255]<<8^ys[l>>16&255]<<16^ys[l>>24&255]<<24;for(let m=s/2+1;m<s;m++)i[m]^=i[m-1]}let f=0,d,p;for(;f<s&&u<n;)d=u>>2,p=u%4,Jr(this,Mi,"f")[d][p]=i[f],Jr(this,bs,"f")[r-d][p]=i[f++],u++}for(let f=1;f<r;f++)for(let d=0;d<4;d++)l=Jr(this,bs,"f")[f][d],Jr(this,bs,"f")[f][d]=sF[l>>24&255]^iF[l>>16&255]^oF[l>>8&255]^aF[l&255]}encrypt(e){if(e.length!=16)throw new TypeError("invalid plaintext size (must be 16 bytes)");let r=Jr(this,Mi,"f").length-1,n=[0,0,0,0],s=D2(e);for(let a=0;a<4;a++)s[a]^=Jr(this,Mi,"f")[0][a];for(let a=1;a<r;a++){for(let u=0;u<4;u++)n[u]=qU[s[u]>>24&255]^ZU[s[(u+1)%4]>>16&255]^XU[s[(u+2)%4]>>8&255]^$U[s[(u+3)%4]&255]^Jr(this,Mi,"f")[a][u];s=n.slice()}let i=new Uint8Array(16),o=0;for(let a=0;a<4;a++)o=Jr(this,Mi,"f")[r][a],i[4*a]=(ys[s[a]>>24&255]^o>>24)&255,i[4*a+1]=(ys[s[(a+1)%4]>>16&255]^o>>16)&255,i[4*a+2]=(ys[s[(a+2)%4]>>8&255]^o>>8)&255,i[4*a+3]=(ys[s[(a+3)%4]&255]^o)&255;return i}decrypt(e){if(e.length!=16)throw new TypeError("invalid ciphertext size (must be 16 bytes)");let r=Jr(this,bs,"f").length-1,n=[0,0,0,0],s=D2(e);for(let a=0;a<4;a++)s[a]^=Jr(this,bs,"f")[0][a];for(let a=1;a<r;a++){for(let u=0;u<4;u++)n[u]=eF[s[u]>>24&255]^tF[s[(u+3)%4]>>16&255]^rF[s[(u+2)%4]>>8&255]^nF[s[(u+1)%4]&255]^Jr(this,bs,"f")[a][u];s=n.slice()}let i=new Uint8Array(16),o=0;for(let a=0;a<4;a++)o=Jr(this,bs,"f")[r][a],i[4*a]=(Lm[s[a]>>24&255]^o>>24)&255,i[4*a+1]=(Lm[s[(a+3)%4]>>16&255]^o>>16)&255,i[4*a+2]=(Lm[s[(a+2)%4]>>8&255]^o>>8)&255,i[4*a+3]=(Lm[s[(a+1)%4]&255]^o)&255;return i}};Vm=new WeakMap,bs=new WeakMap,Mi=new WeakMap;var vi=class{constructor(e,r,n){if(n&&!(this instanceof n))throw new Error(`${e} must be instantiated with "new"`);Object.defineProperties(this,{aes:{enumerable:!0,value:new _h(r)},name:{enumerable:!0,value:e}})}};var Gm=function(t,e,r,n,s){if(n==="m")throw new TypeError("Private method is not writable");if(n==="a"&&!s)throw new TypeError("Private accessor was defined without a setter");if(typeof e=="function"?t!==e||!s:!e.has(t))throw new TypeError("Cannot write private member to an object whose class did not declare it");return n==="a"?s.call(t,r):s?s.value=r:e.set(t,r),r},Zl=function(t,e,r,n){if(r==="a"&&!n)throw new TypeError("Private accessor was defined without a getter");if(typeof e=="function"?t!==e||!n:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return r==="m"?n:r==="a"?n.call(t):n?n.value:e.get(t)},Yh,ko,jh=class t extends vi{constructor(e,r){if(super("ECC",e,t),Yh.set(this,void 0),ko.set(this,void 0),r){if(r.length%16)throw new TypeError("invalid iv size (must be 16 bytes)");Gm(this,Yh,new Uint8Array(r),"f")}else Gm(this,Yh,new Uint8Array(16),"f");Gm(this,ko,this.iv,"f")}get iv(){return new Uint8Array(Zl(this,Yh,"f"))}encrypt(e){if(e.length%16)throw new TypeError("invalid plaintext size (must be multiple of 16 bytes)");let r=new Uint8Array(e.length);for(let n=0;n<e.length;n+=16){for(let s=0;s<16;s++)Zl(this,ko,"f")[s]^=e[n+s];Gm(this,ko,this.aes.encrypt(Zl(this,ko,"f")),"f"),r.set(Zl(this,ko,"f"),n)}return r}decrypt(e){if(e.length%16)throw new TypeError("invalid ciphertext size (must be multiple of 16 bytes)");let r=new Uint8Array(e.length);for(let n=0;n<e.length;n+=16){let s=this.aes.decrypt(e.subarray(n,n+16));for(let i=0;i<16;i++)r[n+i]=s[i]^Zl(this,ko,"f")[i],Zl(this,ko,"f")[i]=e[n+i]}return r}};Yh=new WeakMap,ko=new WeakMap;var N2=function(t,e,r,n){if(r==="a"&&!n)throw new TypeError("Private accessor was defined without a getter");if(typeof e=="function"?t!==e||!n:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return r==="m"?n:r==="a"?n.call(t):n?n.value:e.get(t)},cF,uF,Hm,lF;uF=new WeakMap,Hm=new WeakMap,cF=new WeakSet,lF=function(e){let r=this.segmentSize/8;N2(this,Hm,"f").set(N2(this,Hm,"f").subarray(r)),N2(this,Hm,"f").set(e.subarray(0,r),16-r)};var Xl=function(t,e,r,n,s){if(n==="m")throw new TypeError("Private method is not writable");if(n==="a"&&!s)throw new TypeError("Private accessor was defined without a setter");if(typeof e=="function"?t!==e||!s:!e.has(t))throw new TypeError("Cannot write private member to an object whose class did not declare it");return n==="a"?s.call(t,r):s?s.value=r:e.set(t,r),r},ws=function(t,e,r,n){if(r==="a"&&!n)throw new TypeError("Private accessor was defined without a getter");if(typeof e=="function"?t!==e||!n:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return r==="m"?n:r==="a"?n.call(t):n?n.value:e.get(t)},Wh,ku,Ts,Wa=class t extends vi{constructor(e,r){super("CTR",e,t),Wh.set(this,void 0),ku.set(this,void 0),Ts.set(this,void 0),Xl(this,Ts,new Uint8Array(16),"f"),ws(this,Ts,"f").fill(0),Xl(this,Wh,ws(this,Ts,"f"),"f"),Xl(this,ku,16,"f"),r==null&&(r=1),typeof r=="number"?this.setCounterValue(r):this.setCounterBytes(r)}get counter(){return new Uint8Array(ws(this,Ts,"f"))}setCounterValue(e){if(!Number.isInteger(e)||e<0||e>Number.MAX_SAFE_INTEGER)throw new TypeError("invalid counter initial integer value");for(let r=15;r>=0;--r)ws(this,Ts,"f")[r]=e%256,e=Math.floor(e/256)}setCounterBytes(e){if(e.length!==16)throw new TypeError("invalid counter initial Uint8Array value length");ws(this,Ts,"f").set(e)}increment(){for(let e=15;e>=0;e--)if(ws(this,Ts,"f")[e]===255)ws(this,Ts,"f")[e]=0;else{ws(this,Ts,"f")[e]++;break}}encrypt(e){var r,n;let s=new Uint8Array(e);for(let i=0;i<s.length;i++)ws(this,ku,"f")===16&&(Xl(this,Wh,this.aes.encrypt(ws(this,Ts,"f")),"f"),Xl(this,ku,0,"f"),this.increment()),s[i]^=ws(this,Wh,"f")[Xl(this,ku,(n=ws(this,ku,"f"),r=n++,n),"f"),r];return s}decrypt(e){return this.encrypt(e)}};Wh=new WeakMap,ku=new WeakMap,Ts=new WeakMap;var fF,dF,hF;fF=new WeakMap,dF=new WeakMap,hF=new WeakMap;function R2(t){if(t.length<16)throw new TypeError("PKCS#7 invalid length");let e=t[t.length-1];if(e>16)throw new TypeError("PKCS#7 padding byte out of range");let r=t.length-e;for(let n=0;n<e;n++)if(t[r+n]!==e)throw new TypeError("PKCS#7 invalid padding byte");return new Uint8Array(t.subarray(0,r))}function S2(t){return typeof t=="string"&&!t.startsWith("0x")&&(t="0x"+t),qt(t)}function $l(t,e){for(t=String(t);t.length<e;)t="0"+t;return t}function Ou(t){return typeof t=="string"?kt(t,"NFKC"):qt(t)}function ar(t,e){let r=e.match(/^([a-z0-9$_.-]*)(:([a-z]+))?(!)?$/i);I(r!=null,"invalid path","path",e);let n=r[1],s=r[3],i=r[4]==="!",o=t;for(let a of n.toLowerCase().split(".")){if(Array.isArray(o)){if(!a.match(/^[0-9]+$/))break;o=o[parseInt(a)]}else if(typeof o=="object"){let u=null;for(let l in o)if(l.toLowerCase()===a){u=o[l];break}o=u}else o=null;if(o==null)break}if(I(!i||o!=null,"missing required value","path",n),s&&o!=null){if(s==="int"){if(typeof o=="string"&&o.match(/^-?[0-9]+$/))return parseInt(o);if(Number.isSafeInteger(o))return o}if(s==="number"&&typeof o=="string"&&o.match(/^-?[0-9.]*$/))return parseFloat(o);if(s==="data"&&typeof o=="string")return S2(o);if(s==="array"&&Array.isArray(o)||s===typeof o)return o;I(!1,`wrong type found for ${s} `,"path",n)}return o}var ON="m/44'/60'/0'/0/0";function Ym(t){try{let e=JSON.parse(t);if((e.version!=null?parseInt(e.version):0)===3)return!0}catch{}return!1}function pF(t,e,r){if(ar(t,"crypto.cipher:string")==="aes-128-ctr"){let s=ar(t,"crypto.cipherparams.iv:data!"),i=new Wa(e,s);return J(i.decrypt(r))}z(!1,"unsupported cipher","UNSUPPORTED_OPERATION",{operation:"decrypt"})}function _m(t,e){let r=ae(e),n=ar(t,"crypto.ciphertext:data!"),s=J(ot(et([r.slice(16,32),n]))).substring(2);I(s===ar(t,"crypto.mac:string!").toLowerCase(),"incorrect password","password","[ REDACTED ]");let i=pF(t,r.slice(0,16),n),o=gs(i);if(t.address){let l=t.address.toLowerCase();l.startsWith("0x")||(l="0x"+l),I(qe(l)===o,"keystore address/privateKey mismatch","address",t.address)}let a={address:o,privateKey:i};if(ar(t,"x-ethers.version:string")==="0.1"){let l=r.slice(32,64),f=ar(t,"x-ethers.mnemonicCiphertext:data!"),d=ar(t,"x-ethers.mnemonicCounter:data!"),p=new Wa(l,d);a.mnemonic={path:ar(t,"x-ethers.path:string")||ON,locale:ar(t,"x-ethers.locale:string")||"en",entropy:J(ae(p.decrypt(f)))}}return a}function PN(t){let e=ar(t,"crypto.kdf:string");if(e&&typeof e=="string"){if(e.toLowerCase()==="scrypt"){let r=ar(t,"crypto.kdfparams.salt:data!"),n=ar(t,"crypto.kdfparams.n:int!"),s=ar(t,"crypto.kdfparams.r:int!"),i=ar(t,"crypto.kdfparams.p:int!");I(n>0&&(n&n-1)===0,"invalid kdf.N","kdf.N",n),I(s>0&&i>0,"invalid kdf","kdf",e);let o=ar(t,"crypto.kdfparams.dklen:int!");return I(o===32,"invalid kdf.dklen","kdf.dflen",o),{name:"scrypt",salt:r,N:n,r:s,p:i,dkLen:64}}else if(e.toLowerCase()==="pbkdf2"){let r=ar(t,"crypto.kdfparams.salt:data!"),n=ar(t,"crypto.kdfparams.prf:string!"),s=n.split("-").pop();I(s==="sha256"||s==="sha512","invalid kdf.pdf","kdf.pdf",n);let i=ar(t,"crypto.kdfparams.c:int!"),o=ar(t,"crypto.kdfparams.dklen:int!");return I(o===32,"invalid kdf.dklen","kdf.dklen",o),{name:"pbkdf2",salt:r,count:i,dkLen:o,algorithm:s}}}I(!1,"unsupported key-derivation function","kdf",e)}function M2(t,e){let r=JSON.parse(t),n=Ou(e),s=PN(r);if(s.name==="pbkdf2"){let{salt:d,count:p,dkLen:m,algorithm:y}=s,x=Xn(n,d,p,m,y);return _m(r,x)}z(s.name==="scrypt","cannot be reached","UNKNOWN_ERROR",{params:s});let{salt:i,N:o,r:a,p:u,dkLen:l}=s,f=wo(n,i,o,a,u,l);return _m(r,f)}function kN(t){return new Promise(e=>{setTimeout(()=>{e()},t)})}async function v2(t,e,r){let n=JSON.parse(t),s=Ou(e),i=PN(n);if(i.name==="pbkdf2"){r&&(r(0),await kN(0));let{salt:p,count:m,dkLen:y,algorithm:x}=i,b=Xn(s,p,m,y,x);return r&&(r(1),await kN(0)),_m(n,b)}z(i.name==="scrypt","cannot be reached","UNKNOWN_ERROR",{params:i});let{salt:o,N:a,r:u,p:l,dkLen:f}=i,d=await bo(s,o,a,u,l,f,r);return _m(n,d)}function UN(t){let e=t.salt!=null?ae(t.salt,"options.salt"):$n(32),r=1<<17,n=8,s=1;return t.scrypt&&(t.scrypt.N&&(r=t.scrypt.N),t.scrypt.r&&(n=t.scrypt.r),t.scrypt.p&&(s=t.scrypt.p)),I(typeof r=="number"&&r>0&&Number.isSafeInteger(r)&&(BigInt(r)&BigInt(r-1))===BigInt(0),"invalid scrypt N parameter","options.N",r),I(typeof n=="number"&&n>0&&Number.isSafeInteger(n),"invalid scrypt r parameter","options.r",n),I(typeof s=="number"&&s>0&&Number.isSafeInteger(s),"invalid scrypt p parameter","options.p",s),{name:"scrypt",dkLen:32,salt:e,N:r,r:n,p:s}}function FN(t,e,r,n){let s=ae(r.privateKey,"privateKey"),i=n.iv!=null?ae(n.iv,"options.iv"):$n(16);I(i.length===16,"invalid options.iv length","options.iv",n.iv);let o=n.uuid!=null?ae(n.uuid,"options.uuid"):$n(16);I(o.length===16,"invalid options.uuid length","options.uuid",n.iv);let a=t.slice(0,16),u=t.slice(16,32),l=new Wa(a,i),f=ae(l.encrypt(s)),d=ot(et([u,f])),p={address:r.address.substring(2).toLowerCase(),id:B1(o),version:3,Crypto:{cipher:"aes-128-ctr",cipherparams:{iv:J(i).substring(2)},ciphertext:J(f).substring(2),kdf:"scrypt",kdfparams:{salt:J(e.salt).substring(2),n:e.N,dklen:32,p:e.p,r:e.r},mac:d.substring(2)}};if(r.mnemonic){let m=n.client!=null?n.client:`ethers/${A1}`,y=r.mnemonic.path||ON,x=r.mnemonic.locale||"en",b=t.slice(32,64),w=ae(r.mnemonic.entropy,"account.mnemonic.entropy"),v=$n(16),O=new Wa(b,v),P=ae(O.encrypt(w)),B=new Date,Y="UTC--"+(B.getUTCFullYear()+"-"+$l(B.getUTCMonth()+1,2)+"-"+$l(B.getUTCDate(),2)+"T"+$l(B.getUTCHours(),2)+"-"+$l(B.getUTCMinutes(),2)+"-"+$l(B.getUTCSeconds(),2)+".0Z")+"--"+p.address;p["x-ethers"]={client:m,gethFilename:Y,path:y,locale:x,mnemonicCounter:J(v).substring(2),mnemonicCiphertext:J(P).substring(2),version:"0.1"}}return JSON.stringify(p)}function zh(t,e,r){r==null&&(r={});let n=Ou(e),s=UN(r),i=wo(n,s.salt,s.N,s.r,s.p,64);return FN(ae(i),s,t,r)}async function Jh(t,e,r){r==null&&(r={});let n=Ou(e),s=UN(r),i=await bo(n,s.salt,s.N,s.r,s.p,64,r.progressCallback);return FN(ae(i),s,t,r)}var jm="m/44'/60'/0'/0/0",AF=new Uint8Array([66,105,116,99,111,105,110,32,115,101,101,100]),za=2147483648,mF=BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),gF="0123456789abcdef";function Wm(t,e){let r="";for(;t;)r=gF[t%16]+r,t=Math.trunc(t/16);for(;r.length<e*2;)r="0"+r;return"0x"+r}function k2(t){let e=ae(t),r=Rt(zr(zr(e)),0,4),n=et([e,r]);return Cl(n)}var ki={};function QN(t,e,r,n){let s=new Uint8Array(37);t&za?(z(n!=null,"cannot derive child of neutered node","UNSUPPORTED_OPERATION",{operation:"deriveChild"}),s.set(ae(n),1)):s.set(ae(r));for(let o=24;o>=0;o-=8)s[33+(o>>3)]=t>>24-o&255;let i=ae(xo("sha512",e,s));return{IL:i.slice(0,32),IR:i.slice(32)}}function LN(t,e){let r=e.split("/");I(r.length>0,"invalid path","path",e),r[0]==="m"&&(I(t.depth===0,`cannot derive root path (i.e. path starting with "m/") for a node at non-zero depth ${t.depth}`,"path",e),r.shift());let n=t;for(let s=0;s<r.length;s++){let i=r[s];if(i.match(/^[0-9]+'$/)){let o=parseInt(i.substring(0,i.length-1));I(o<za,"invalid path index",`path[${s}]`,i),n=n.deriveChild(za+o)}else if(i.match(/^[0-9]+$/)){let o=parseInt(i);I(o<za,"invalid path index",`path[${s}]`,i),n=n.deriveChild(o)}else I(!1,"invalid path component",`path[${s}]`,i)}return n}var Pu=class t extends vu{publicKey;fingerprint;parentFingerprint;mnemonic;chainCode;path;index;depth;constructor(e,r,n,s,i,o,a,u,l){super(r,l),Gn(e,ki,"HDNodeWallet"),Be(this,{publicKey:r.compressedPublicKey});let f=Rt(yo(zr(this.publicKey)),0,4);Be(this,{parentFingerprint:n,fingerprint:f,chainCode:s,path:i,index:o,depth:a}),Be(this,{mnemonic:u})}connect(e){return new t(ki,this.signingKey,this.parentFingerprint,this.chainCode,this.path,this.index,this.depth,this.mnemonic,e)}#e(){let e={address:this.address,privateKey:this.privateKey},r=this.mnemonic;return this.path&&r&&r.wordlist.locale==="en"&&r.password===""&&(e.mnemonic={path:this.path,locale:"en",entropy:r.entropy}),e}async encrypt(e,r){return await Jh(this.#e(),e,{progressCallback:r})}encryptSync(e){return zh(this.#e(),e)}get extendedKey(){return z(this.depth<256,"Depth too deep","UNSUPPORTED_OPERATION",{operation:"extendedKey"}),k2(et(["0x0488ADE4",Wm(this.depth,1),this.parentFingerprint,Wm(this.index,4),this.chainCode,et(["0x00",this.privateKey])]))}hasPath(){return this.path!=null}neuter(){return new Kh(ki,this.address,this.publicKey,this.parentFingerprint,this.chainCode,this.path,this.index,this.depth,this.provider)}deriveChild(e){let r=Je(e,"index");I(r<=4294967295,"invalid index","index",r);let n=this.path;n&&(n+="/"+(r&~za),r&za&&(n+="'"));let{IR:s,IL:i}=QN(r,this.chainCode,this.publicKey,this.privateKey),o=new Pr(jr((Ao(i)+BigInt(this.privateKey))%mF,32));return new t(ki,o,this.fingerprint,J(s),n,r,this.depth+1,this.mnemonic,this.provider)}derivePath(e){return LN(this,e)}static#t(e,r){I(Ii(e),"invalid seed","seed","[REDACTED]");let n=ae(e,"seed");I(n.length>=16&&n.length<=64,"invalid seed","seed","[REDACTED]");let s=ae(xo("sha512",AF,n)),i=new Pr(J(s.slice(0,32)));return new t(ki,i,"0x00000000",J(s.slice(32)),"m",0,0,r,null)}static fromExtendedKey(e){let r=St(b1(e));I(r.length===82||k2(r.slice(0,78))===e,"invalid extended key","extendedKey","[ REDACTED ]");let n=r[4],s=J(r.slice(5,9)),i=parseInt(J(r.slice(9,13)).substring(2),16),o=J(r.slice(13,45)),a=r.slice(45,78);switch(J(r.slice(0,4))){case"0x0488b21e":case"0x043587cf":{let u=J(a);return new Kh(ki,gs(u),u,s,o,null,i,n,null)}case"0x0488ade4":case"0x04358394 ":if(a[0]!==0)break;return new t(ki,new Pr(a.slice(1)),s,o,null,i,n,null,null)}I(!1,"invalid extended key prefix","extendedKey","[ REDACTED ]")}static createRandom(e,r,n){e==null&&(e=""),r==null&&(r=jm),n==null&&(n=vo.wordlist());let s=ja.fromEntropy($n(16),e,n);return t.#t(s.computeSeed(),s).derivePath(r)}static fromMnemonic(e,r){return r||(r=jm),t.#t(e.computeSeed(),e).derivePath(r)}static fromPhrase(e,r,n,s){r==null&&(r=""),n==null&&(n=jm),s==null&&(s=vo.wordlist());let i=ja.fromPhrase(e,r,s);return t.#t(i.computeSeed(),i).derivePath(n)}static fromSeed(e){return t.#t(e,null)}},Kh=class t extends Jl{publicKey;fingerprint;parentFingerprint;chainCode;path;index;depth;constructor(e,r,n,s,i,o,a,u,l){super(r,l),Gn(e,ki,"HDNodeVoidWallet"),Be(this,{publicKey:n});let f=Rt(yo(zr(n)),0,4);Be(this,{publicKey:n,fingerprint:f,parentFingerprint:s,chainCode:i,path:o,index:a,depth:u})}connect(e){return new t(ki,this.address,this.publicKey,this.parentFingerprint,this.chainCode,this.path,this.index,this.depth,e)}get extendedKey(){return z(this.depth<256,"Depth too deep","UNSUPPORTED_OPERATION",{operation:"extendedKey"}),k2(et(["0x0488B21E",Wm(this.depth,1),this.parentFingerprint,Wm(this.index,4),this.chainCode,this.publicKey]))}hasPath(){return this.path!=null}deriveChild(e){let r=Je(e,"index");I(r<=4294967295,"invalid index","index",r);let n=this.path;n&&(n+="/"+(r&~za),r&za&&(n+="'"));let{IR:s,IL:i}=QN(r,this.chainCode,this.publicKey,null),o=Pr.addPoints(i,this.publicKey,!0),a=gs(o);return new t(ki,a,o,this.fingerprint,J(s),n,r,this.depth+1,this.provider)}derivePath(e){return LN(this,e)}};function zm(t){try{if(JSON.parse(t).encseed)return!0}catch{}return!1}function Jm(t,e){let r=JSON.parse(t),n=Ou(e),s=qe(ar(r,"ethaddr:string!")),i=S2(ar(r,"encseed:string!"));I(i&&i.length%16===0,"invalid encseed","json",t);let o=ae(Xn(n,n,2e3,32,"sha256")).slice(0,16),a=i.slice(0,16),u=i.slice(16),l=new jh(o,a),f=R2(ae(l.decrypt(u))),d="";for(let p=0;p<f.length;p++)d+=String.fromCharCode(f[p]);return{address:s,privateKey:bn(d)}}function VN(t){return new Promise(e=>{setTimeout(()=>{e()},t)})}var Oi=class t extends vu{constructor(e,r){typeof e=="string"&&!e.startsWith("0x")&&(e="0x"+e);let n=typeof e=="string"?new Pr(e):e;super(n,r)}connect(e){return new t(this.signingKey,e)}async encrypt(e,r){let n={address:this.address,privateKey:this.privateKey};return await Jh(n,e,{progressCallback:r})}encryptSync(e){let r={address:this.address,privateKey:this.privateKey};return zh(r,e)}static#e(e){if(I(e,"invalid JSON wallet","json","[ REDACTED ]"),"mnemonic"in e&&e.mnemonic&&e.mnemonic.locale==="en"){let n=ja.fromEntropy(e.mnemonic.entropy),s=Pu.fromMnemonic(n,e.mnemonic.path);if(s.address===e.address&&s.privateKey===e.privateKey)return s;console.log("WARNING: JSON mismatch address/privateKey != mnemonic; fallback onto private key")}let r=new t(e.privateKey);return I(r.address===e.address,"address/privateKey mismatch","json","[ REDACTED ]"),r}static async fromEncryptedJson(e,r,n){let s=null;return Ym(e)?s=await v2(e,r,n):zm(e)&&(n&&(n(0),await VN(0)),s=Jm(e,r),n&&(n(1),await VN(0))),t.#e(s)}static fromEncryptedJsonSync(e,r){let n=null;return Ym(e)?n=M2(e,r):zm(e)?n=Jm(e,r):I(!1,"invalid JSON wallet","json","[ REDACTED ]"),t.#e(n)}static createRandom(e){let r=Pu.createRandom();return e?r.connect(e):r}static fromPhrase(e,r){let n=Pu.fromPhrase(e);return r?n.connect(r):n}};function Km(){return typeof navigator<"u"&&navigator.product==="ReactNative"?"react-native":typeof window<"u"?"browser":"node"}function Cn(t){if(!(typeof process>"u"))return process?.env[t]}var qm={31337:{rpcUrl:"http://localhost:8545",contractAddress:"0x84eA74d481Ee0A5332c457a4d796187F6Ba67fEB",delegationManagerAddress:"0xCf7Ed3AccA5a467e9e704C703E8D87F634fB0Fc9",stakeRegistryAddress:"0x9E545E3C0baAB3E08CdfD552C960A1050f373042",avsDirectoryAddress:"0x5FC8d32690cc91D4c39d9d3abcBD16989F875707"},17e3:{rpcUrl:Cn("RPC_URL")||"https://rpc.holesky.ethpandaops.io",contractAddress:"0x0861afc305999bfD3028dB66145395BdD7299366",delegationManagerAddress:"0xA44151489861Fe9e3055d95adC98FbD462B948e7",stakeRegistryAddress:"0xDa11C9Da04Ab02C4AF9374B27A5E727944D3E1dD",avsDirectoryAddress:"0x055733000064333CaDDbC92763c58BF0192fFeBf"}},GN=Cn("PRIVATE_KEY"),Zm=Cn("CHAIN_ID"),g1e=Cn("RECLAIM_PUBLIC_URL");var HN=[{type:"constructor",inputs:[{name:"_delegation",type:"address",internalType:"contract IDelegationManager"}],stateMutability:"nonpayable"},{type:"function",name:"DOMAIN_TYPEHASH",inputs:[],outputs:[{name:"",type:"bytes32",internalType:"bytes32"}],stateMutability:"view"},{type:"function",name:"OPERATOR_AVS_REGISTRATION_TYPEHASH",inputs:[],outputs:[{name:"",type:"bytes32",internalType:"bytes32"}],stateMutability:"view"},{type:"function",name:"avsOperatorStatus",inputs:[{name:"",type:"address",internalType:"address"},{name:"",type:"address",internalType:"address"}],outputs:[{name:"",type:"uint8",internalType:"enum IAVSDirectory.OperatorAVSRegistrationStatus"}],stateMutability:"view"},{type:"function",name:"calculateOperatorAVSRegistrationDigestHash",inputs:[{name:"operator",type:"address",internalType:"address"},{name:"avs",type:"address",internalType:"address"},{name:"salt",type:"bytes32",internalType:"bytes32"},{name:"expiry",type:"uint256",internalType:"uint256"}],outputs:[{name:"",type:"bytes32",internalType:"bytes32"}],stateMutability:"view"},{type:"function",name:"cancelSalt",inputs:[{name:"salt",type:"bytes32",internalType:"bytes32"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"delegation",inputs:[],outputs:[{name:"",type:"address",internalType:"contract IDelegationManager"}],stateMutability:"view"},{type:"function",name:"deregisterOperatorFromAVS",inputs:[{name:"operator",type:"address",internalType:"address"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"domainSeparator",inputs:[],outputs:[{name:"",type:"bytes32",internalType:"bytes32"}],stateMutability:"view"},{type:"function",name:"initialize",inputs:[{name:"initialOwner",type:"address",internalType:"address"},{name:"_pauserRegistry",type:"address",internalType:"contract IPauserRegistry"},{name:"initialPausedStatus",type:"uint256",internalType:"uint256"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"operatorSaltIsSpent",inputs:[{name:"",type:"address",internalType:"address"},{name:"",type:"bytes32",internalType:"bytes32"}],outputs:[{name:"",type:"bool",internalType:"bool"}],stateMutability:"view"},{type:"function",name:"owner",inputs:[],outputs:[{name:"",type:"address",internalType:"address"}],stateMutability:"view"},{type:"function",name:"pause",inputs:[{name:"newPausedStatus",type:"uint256",internalType:"uint256"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"pauseAll",inputs:[],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"paused",inputs:[{name:"index",type:"uint8",internalType:"uint8"}],outputs:[{name:"",type:"bool",internalType:"bool"}],stateMutability:"view"},{type:"function",name:"paused",inputs:[],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{type:"function",name:"pauserRegistry",inputs:[],outputs:[{name:"",type:"address",internalType:"contract IPauserRegistry"}],stateMutability:"view"},{type:"function",name:"registerOperatorToAVS",inputs:[{name:"operator",type:"address",internalType:"address"},{name:"operatorSignature",type:"tuple",internalType:"struct ISignatureUtils.SignatureWithSaltAndExpiry",components:[{name:"signature",type:"bytes",internalType:"bytes"},{name:"salt",type:"bytes32",internalType:"bytes32"},{name:"expiry",type:"uint256",internalType:"uint256"}]}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"renounceOwnership",inputs:[],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"setPauserRegistry",inputs:[{name:"newPauserRegistry",type:"address",internalType:"contract IPauserRegistry"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"transferOwnership",inputs:[{name:"newOwner",type:"address",internalType:"address"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"unpause",inputs:[{name:"newPausedStatus",type:"uint256",internalType:"uint256"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"updateAVSMetadataURI",inputs:[{name:"metadataURI",type:"string",internalType:"string"}],outputs:[],stateMutability:"nonpayable"},{type:"event",name:"AVSMetadataURIUpdated",inputs:[{name:"avs",type:"address",indexed:!0,internalType:"address"},{name:"metadataURI",type:"string",indexed:!1,internalType:"string"}],anonymous:!1},{type:"event",name:"Initialized",inputs:[{name:"version",type:"uint8",indexed:!1,internalType:"uint8"}],anonymous:!1},{type:"event",name:"OperatorAVSRegistrationStatusUpdated",inputs:[{name:"operator",type:"address",indexed:!0,internalType:"address"},{name:"avs",type:"address",indexed:!0,internalType:"address"},{name:"status",type:"uint8",indexed:!1,internalType:"enum IAVSDirectory.OperatorAVSRegistrationStatus"}],anonymous:!1},{type:"event",name:"OwnershipTransferred",inputs:[{name:"previousOwner",type:"address",indexed:!0,internalType:"address"},{name:"newOwner",type:"address",indexed:!0,internalType:"address"}],anonymous:!1},{type:"event",name:"Paused",inputs:[{name:"account",type:"address",indexed:!0,internalType:"address"},{name:"newPausedStatus",type:"uint256",indexed:!1,internalType:"uint256"}],anonymous:!1},{type:"event",name:"PauserRegistrySet",inputs:[{name:"pauserRegistry",type:"address",indexed:!1,internalType:"contract IPauserRegistry"},{name:"newPauserRegistry",type:"address",indexed:!1,internalType:"contract IPauserRegistry"}],anonymous:!1},{type:"event",name:"Unpaused",inputs:[{name:"account",type:"address",indexed:!0,internalType:"address"},{name:"newPausedStatus",type:"uint256",indexed:!1,internalType:"uint256"}],anonymous:!1}];var _N=[{type:"function",name:"DELEGATION_APPROVAL_TYPEHASH",inputs:[],outputs:[{name:"",type:"bytes32",internalType:"bytes32"}],stateMutability:"view"},{type:"function",name:"DOMAIN_TYPEHASH",inputs:[],outputs:[{name:"",type:"bytes32",internalType:"bytes32"}],stateMutability:"view"},{type:"function",name:"STAKER_DELEGATION_TYPEHASH",inputs:[],outputs:[{name:"",type:"bytes32",internalType:"bytes32"}],stateMutability:"view"},{type:"function",name:"beaconChainETHStrategy",inputs:[],outputs:[{name:"",type:"address",internalType:"contract IStrategy"}],stateMutability:"view"},{type:"function",name:"calculateCurrentStakerDelegationDigestHash",inputs:[{name:"staker",type:"address",internalType:"address"},{name:"operator",type:"address",internalType:"address"},{name:"expiry",type:"uint256",internalType:"uint256"}],outputs:[{name:"",type:"bytes32",internalType:"bytes32"}],stateMutability:"view"},{type:"function",name:"calculateDelegationApprovalDigestHash",inputs:[{name:"staker",type:"address",internalType:"address"},{name:"operator",type:"address",internalType:"address"},{name:"_delegationApprover",type:"address",internalType:"address"},{name:"approverSalt",type:"bytes32",internalType:"bytes32"},{name:"expiry",type:"uint256",internalType:"uint256"}],outputs:[{name:"",type:"bytes32",internalType:"bytes32"}],stateMutability:"view"},{type:"function",name:"calculateStakerDelegationDigestHash",inputs:[{name:"staker",type:"address",internalType:"address"},{name:"_stakerNonce",type:"uint256",internalType:"uint256"},{name:"operator",type:"address",internalType:"address"},{name:"expiry",type:"uint256",internalType:"uint256"}],outputs:[{name:"",type:"bytes32",internalType:"bytes32"}],stateMutability:"view"},{type:"function",name:"calculateWithdrawalRoot",inputs:[{name:"withdrawal",type:"tuple",internalType:"struct IDelegationManager.Withdrawal",components:[{name:"staker",type:"address",internalType:"address"},{name:"delegatedTo",type:"address",internalType:"address"},{name:"withdrawer",type:"address",internalType:"address"},{name:"nonce",type:"uint256",internalType:"uint256"},{name:"startBlock",type:"uint32",internalType:"uint32"},{name:"strategies",type:"address[]",internalType:"contract IStrategy[]"},{name:"shares",type:"uint256[]",internalType:"uint256[]"}]}],outputs:[{name:"",type:"bytes32",internalType:"bytes32"}],stateMutability:"pure"},{type:"function",name:"completeQueuedWithdrawal",inputs:[{name:"withdrawal",type:"tuple",internalType:"struct IDelegationManager.Withdrawal",components:[{name:"staker",type:"address",internalType:"address"},{name:"delegatedTo",type:"address",internalType:"address"},{name:"withdrawer",type:"address",internalType:"address"},{name:"nonce",type:"uint256",internalType:"uint256"},{name:"startBlock",type:"uint32",internalType:"uint32"},{name:"strategies",type:"address[]",internalType:"contract IStrategy[]"},{name:"shares",type:"uint256[]",internalType:"uint256[]"}]},{name:"tokens",type:"address[]",internalType:"contract IERC20[]"},{name:"middlewareTimesIndex",type:"uint256",internalType:"uint256"},{name:"receiveAsTokens",type:"bool",internalType:"bool"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"completeQueuedWithdrawals",inputs:[{name:"withdrawals",type:"tuple[]",internalType:"struct IDelegationManager.Withdrawal[]",components:[{name:"staker",type:"address",internalType:"address"},{name:"delegatedTo",type:"address",internalType:"address"},{name:"withdrawer",type:"address",internalType:"address"},{name:"nonce",type:"uint256",internalType:"uint256"},{name:"startBlock",type:"uint32",internalType:"uint32"},{name:"strategies",type:"address[]",internalType:"contract IStrategy[]"},{name:"shares",type:"uint256[]",internalType:"uint256[]"}]},{name:"tokens",type:"address[][]",internalType:"contract IERC20[][]"},{name:"middlewareTimesIndexes",type:"uint256[]",internalType:"uint256[]"},{name:"receiveAsTokens",type:"bool[]",internalType:"bool[]"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"cumulativeWithdrawalsQueued",inputs:[{name:"staker",type:"address",internalType:"address"}],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{type:"function",name:"decreaseDelegatedShares",inputs:[{name:"staker",type:"address",internalType:"address"},{name:"strategy",type:"address",internalType:"contract IStrategy"},{name:"shares",type:"uint256",internalType:"uint256"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"delegateTo",inputs:[{name:"operator",type:"address",internalType:"address"},{name:"approverSignatureAndExpiry",type:"tuple",internalType:"struct ISignatureUtils.SignatureWithExpiry",components:[{name:"signature",type:"bytes",internalType:"bytes"},{name:"expiry",type:"uint256",internalType:"uint256"}]},{name:"approverSalt",type:"bytes32",internalType:"bytes32"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"delegateToBySignature",inputs:[{name:"staker",type:"address",internalType:"address"},{name:"operator",type:"address",internalType:"address"},{name:"stakerSignatureAndExpiry",type:"tuple",internalType:"struct ISignatureUtils.SignatureWithExpiry",components:[{name:"signature",type:"bytes",internalType:"bytes"},{name:"expiry",type:"uint256",internalType:"uint256"}]},{name:"approverSignatureAndExpiry",type:"tuple",internalType:"struct ISignatureUtils.SignatureWithExpiry",components:[{name:"signature",type:"bytes",internalType:"bytes"},{name:"expiry",type:"uint256",internalType:"uint256"}]},{name:"approverSalt",type:"bytes32",internalType:"bytes32"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"delegatedTo",inputs:[{name:"staker",type:"address",internalType:"address"}],outputs:[{name:"",type:"address",internalType:"address"}],stateMutability:"view"},{type:"function",name:"delegationApprover",inputs:[{name:"operator",type:"address",internalType:"address"}],outputs:[{name:"",type:"address",internalType:"address"}],stateMutability:"view"},{type:"function",name:"delegationApproverSaltIsSpent",inputs:[{name:"_delegationApprover",type:"address",internalType:"address"},{name:"salt",type:"bytes32",internalType:"bytes32"}],outputs:[{name:"",type:"bool",internalType:"bool"}],stateMutability:"view"},{type:"function",name:"domainSeparator",inputs:[],outputs:[{name:"",type:"bytes32",internalType:"bytes32"}],stateMutability:"view"},{type:"function",name:"earningsReceiver",inputs:[{name:"operator",type:"address",internalType:"address"}],outputs:[{name:"",type:"address",internalType:"address"}],stateMutability:"view"},{type:"function",name:"getOperatorShares",inputs:[{name:"operator",type:"address",internalType:"address"},{name:"strategies",type:"address[]",internalType:"contract IStrategy[]"}],outputs:[{name:"",type:"uint256[]",internalType:"uint256[]"}],stateMutability:"view"},{type:"function",name:"getWithdrawalDelay",inputs:[{name:"strategies",type:"address[]",internalType:"contract IStrategy[]"}],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{type:"function",name:"increaseDelegatedShares",inputs:[{name:"staker",type:"address",internalType:"address"},{name:"strategy",type:"address",internalType:"contract IStrategy"},{name:"shares",type:"uint256",internalType:"uint256"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"isDelegated",inputs:[{name:"staker",type:"address",internalType:"address"}],outputs:[{name:"",type:"bool",internalType:"bool"}],stateMutability:"view"},{type:"function",name:"isOperator",inputs:[{name:"operator",type:"address",internalType:"address"}],outputs:[{name:"",type:"bool",internalType:"bool"}],stateMutability:"view"},{type:"function",name:"migrateQueuedWithdrawals",inputs:[{name:"withdrawalsToQueue",type:"tuple[]",internalType:"struct IStrategyManager.DeprecatedStruct_QueuedWithdrawal[]",components:[{name:"strategies",type:"address[]",internalType:"contract IStrategy[]"},{name:"shares",type:"uint256[]",internalType:"uint256[]"},{name:"staker",type:"address",internalType:"address"},{name:"withdrawerAndNonce",type:"tuple",internalType:"struct IStrategyManager.DeprecatedStruct_WithdrawerAndNonce",components:[{name:"withdrawer",type:"address",internalType:"address"},{name:"nonce",type:"uint96",internalType:"uint96"}]},{name:"withdrawalStartBlock",type:"uint32",internalType:"uint32"},{name:"delegatedAddress",type:"address",internalType:"address"}]}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"minWithdrawalDelayBlocks",inputs:[],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{type:"function",name:"modifyOperatorDetails",inputs:[{name:"newOperatorDetails",type:"tuple",internalType:"struct IDelegationManager.OperatorDetails",components:[{name:"earningsReceiver",type:"address",internalType:"address"},{name:"delegationApprover",type:"address",internalType:"address"},{name:"stakerOptOutWindowBlocks",type:"uint32",internalType:"uint32"}]}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"operatorDetails",inputs:[{name:"operator",type:"address",internalType:"address"}],outputs:[{name:"",type:"tuple",internalType:"struct IDelegationManager.OperatorDetails",components:[{name:"earningsReceiver",type:"address",internalType:"address"},{name:"delegationApprover",type:"address",internalType:"address"},{name:"stakerOptOutWindowBlocks",type:"uint32",internalType:"uint32"}]}],stateMutability:"view"},{type:"function",name:"operatorShares",inputs:[{name:"operator",type:"address",internalType:"address"},{name:"strategy",type:"address",internalType:"contract IStrategy"}],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{type:"function",name:"queueWithdrawals",inputs:[{name:"queuedWithdrawalParams",type:"tuple[]",internalType:"struct IDelegationManager.QueuedWithdrawalParams[]",components:[{name:"strategies",type:"address[]",internalType:"contract IStrategy[]"},{name:"shares",type:"uint256[]",internalType:"uint256[]"},{name:"withdrawer",type:"address",internalType:"address"}]}],outputs:[{name:"",type:"bytes32[]",internalType:"bytes32[]"}],stateMutability:"nonpayable"},{type:"function",name:"registerAsOperator",inputs:[{name:"registeringOperatorDetails",type:"tuple",internalType:"struct IDelegationManager.OperatorDetails",components:[{name:"earningsReceiver",type:"address",internalType:"address"},{name:"delegationApprover",type:"address",internalType:"address"},{name:"stakerOptOutWindowBlocks",type:"uint32",internalType:"uint32"}]},{name:"metadataURI",type:"string",internalType:"string"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"stakerNonce",inputs:[{name:"staker",type:"address",internalType:"address"}],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{type:"function",name:"stakerOptOutWindowBlocks",inputs:[{name:"operator",type:"address",internalType:"address"}],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{type:"function",name:"strategyWithdrawalDelayBlocks",inputs:[{name:"strategy",type:"address",internalType:"contract IStrategy"}],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{type:"function",name:"undelegate",inputs:[{name:"staker",type:"address",internalType:"address"}],outputs:[{name:"withdrawalRoot",type:"bytes32[]",internalType:"bytes32[]"}],stateMutability:"nonpayable"},{type:"function",name:"updateOperatorMetadataURI",inputs:[{name:"metadataURI",type:"string",internalType:"string"}],outputs:[],stateMutability:"nonpayable"},{type:"event",name:"MinWithdrawalDelayBlocksSet",inputs:[{name:"previousValue",type:"uint256",indexed:!1,internalType:"uint256"},{name:"newValue",type:"uint256",indexed:!1,internalType:"uint256"}],anonymous:!1},{type:"event",name:"OperatorDetailsModified",inputs:[{name:"operator",type:"address",indexed:!0,internalType:"address"},{name:"newOperatorDetails",type:"tuple",indexed:!1,internalType:"struct IDelegationManager.OperatorDetails",components:[{name:"earningsReceiver",type:"address",internalType:"address"},{name:"delegationApprover",type:"address",internalType:"address"},{name:"stakerOptOutWindowBlocks",type:"uint32",internalType:"uint32"}]}],anonymous:!1},{type:"event",name:"OperatorMetadataURIUpdated",inputs:[{name:"operator",type:"address",indexed:!0,internalType:"address"},{name:"metadataURI",type:"string",indexed:!1,internalType:"string"}],anonymous:!1},{type:"event",name:"OperatorRegistered",inputs:[{name:"operator",type:"address",indexed:!0,internalType:"address"},{name:"operatorDetails",type:"tuple",indexed:!1,internalType:"struct IDelegationManager.OperatorDetails",components:[{name:"earningsReceiver",type:"address",internalType:"address"},{name:"delegationApprover",type:"address",internalType:"address"},{name:"stakerOptOutWindowBlocks",type:"uint32",internalType:"uint32"}]}],anonymous:!1},{type:"event",name:"OperatorSharesDecreased",inputs:[{name:"operator",type:"address",indexed:!0,internalType:"address"},{name:"staker",type:"address",indexed:!1,internalType:"address"},{name:"strategy",type:"address",indexed:!1,internalType:"contract IStrategy"},{name:"shares",type:"uint256",indexed:!1,internalType:"uint256"}],anonymous:!1},{type:"event",name:"OperatorSharesIncreased",inputs:[{name:"operator",type:"address",indexed:!0,internalType:"address"},{name:"staker",type:"address",indexed:!1,internalType:"address"},{name:"strategy",type:"address",indexed:!1,internalType:"contract IStrategy"},{name:"shares",type:"uint256",indexed:!1,internalType:"uint256"}],anonymous:!1},{type:"event",name:"StakerDelegated",inputs:[{name:"staker",type:"address",indexed:!0,internalType:"address"},{name:"operator",type:"address",indexed:!0,internalType:"address"}],anonymous:!1},{type:"event",name:"StakerForceUndelegated",inputs:[{name:"staker",type:"address",indexed:!0,internalType:"address"},{name:"operator",type:"address",indexed:!0,internalType:"address"}],anonymous:!1},{type:"event",name:"StakerUndelegated",inputs:[{name:"staker",type:"address",indexed:!0,internalType:"address"},{name:"operator",type:"address",indexed:!0,internalType:"address"}],anonymous:!1},{type:"event",name:"StrategyWithdrawalDelayBlocksSet",inputs:[{name:"strategy",type:"address",indexed:!1,internalType:"contract IStrategy"},{name:"previousValue",type:"uint256",indexed:!1,internalType:"uint256"},{name:"newValue",type:"uint256",indexed:!1,internalType:"uint256"}],anonymous:!1},{type:"event",name:"WithdrawalCompleted",inputs:[{name:"withdrawalRoot",type:"bytes32",indexed:!1,internalType:"bytes32"}],anonymous:!1},{type:"event",name:"WithdrawalMigrated",inputs:[{name:"oldWithdrawalRoot",type:"bytes32",indexed:!1,internalType:"bytes32"},{name:"newWithdrawalRoot",type:"bytes32",indexed:!1,internalType:"bytes32"}],anonymous:!1},{type:"event",name:"WithdrawalQueued",inputs:[{name:"withdrawalRoot",type:"bytes32",indexed:!1,internalType:"bytes32"},{name:"withdrawal",type:"tuple",indexed:!1,internalType:"struct IDelegationManager.Withdrawal",components:[{name:"staker",type:"address",internalType:"address"},{name:"delegatedTo",type:"address",internalType:"address"},{name:"withdrawer",type:"address",internalType:"address"},{name:"nonce",type:"uint256",internalType:"uint256"},{name:"startBlock",type:"uint32",internalType:"uint32"},{name:"strategies",type:"address[]",internalType:"contract IStrategy[]"},{name:"shares",type:"uint256[]",internalType:"uint256[]"}]}],anonymous:!1}];var YN=[{type:"constructor",inputs:[{name:"_delegationManager",type:"address",internalType:"contract IDelegationManager"}],stateMutability:"nonpayable"},{type:"function",name:"deregisterOperator",inputs:[],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"getLastCheckpointOperatorWeight",inputs:[{name:"_operator",type:"address",internalType:"address"}],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{type:"function",name:"getLastCheckpointThresholdWeight",inputs:[],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{type:"function",name:"getLastCheckpointThresholdWeightAtBlock",inputs:[{name:"_blockNumber",type:"uint32",internalType:"uint32"}],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{type:"function",name:"getLastCheckpointTotalWeight",inputs:[],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{type:"function",name:"getLastCheckpointTotalWeightAtBlock",inputs:[{name:"_blockNumber",type:"uint32",internalType:"uint32"}],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{type:"function",name:"getOperatorWeight",inputs:[{name:"_operator",type:"address",internalType:"address"}],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{type:"function",name:"getOperatorWeightAtBlock",inputs:[{name:"_operator",type:"address",internalType:"address"},{name:"_blockNumber",type:"uint32",internalType:"uint32"}],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{type:"function",name:"initialize",inputs:[{name:"_serviceManager",type:"address",internalType:"address"},{name:"_thresholdWeight",type:"uint256",internalType:"uint256"},{name:"_quorum",type:"tuple",internalType:"struct Quorum",components:[{name:"strategies",type:"tuple[]",internalType:"struct StrategyParams[]",components:[{name:"strategy",type:"address",internalType:"contract IStrategy"},{name:"multiplier",type:"uint96",internalType:"uint96"}]}]}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"isValidSignature",inputs:[{name:"_dataHash",type:"bytes32",internalType:"bytes32"},{name:"_signatureData",type:"bytes",internalType:"bytes"}],outputs:[{name:"",type:"bytes4",internalType:"bytes4"}],stateMutability:"view"},{type:"function",name:"minimumWeight",inputs:[],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{type:"function",name:"operatorRegistered",inputs:[{name:"_operator",type:"address",internalType:"address"}],outputs:[{name:"",type:"bool",internalType:"bool"}],stateMutability:"view"},{type:"function",name:"owner",inputs:[],outputs:[{name:"",type:"address",internalType:"address"}],stateMutability:"view"},{type:"function",name:"quorum",inputs:[],outputs:[{name:"",type:"tuple",internalType:"struct Quorum",components:[{name:"strategies",type:"tuple[]",internalType:"struct StrategyParams[]",components:[{name:"strategy",type:"address",internalType:"contract IStrategy"},{name:"multiplier",type:"uint96",internalType:"uint96"}]}]}],stateMutability:"view"},{type:"function",name:"registerOperatorWithSignature",inputs:[{name:"_operator",type:"address",internalType:"address"},{name:"_operatorSignature",type:"tuple",internalType:"struct ISignatureUtils.SignatureWithSaltAndExpiry",components:[{name:"signature",type:"bytes",internalType:"bytes"},{name:"salt",type:"bytes32",internalType:"bytes32"},{name:"expiry",type:"uint256",internalType:"uint256"}]}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"renounceOwnership",inputs:[],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"transferOwnership",inputs:[{name:"newOwner",type:"address",internalType:"address"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"updateMinimumWeight",inputs:[{name:"_newMinimumWeight",type:"uint256",internalType:"uint256"},{name:"_operators",type:"address[]",internalType:"address[]"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"updateOperators",inputs:[{name:"_operators",type:"address[]",internalType:"address[]"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"updateOperatorsForQuorum",inputs:[{name:"operatorsPerQuorum",type:"address[][]",internalType:"address[][]"},{name:"",type:"bytes",internalType:"bytes"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"updateQuorumConfig",inputs:[{name:"_quorum",type:"tuple",internalType:"struct Quorum",components:[{name:"strategies",type:"tuple[]",internalType:"struct StrategyParams[]",components:[{name:"strategy",type:"address",internalType:"contract IStrategy"},{name:"multiplier",type:"uint96",internalType:"uint96"}]}]},{name:"_operators",type:"address[]",internalType:"address[]"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"updateStakeThreshold",inputs:[{name:"_thresholdWeight",type:"uint256",internalType:"uint256"}],outputs:[],stateMutability:"nonpayable"},{type:"event",name:"Initialized",inputs:[{name:"version",type:"uint8",indexed:!1,internalType:"uint8"}],anonymous:!1},{type:"event",name:"MinimumWeightUpdated",inputs:[{name:"_old",type:"uint256",indexed:!1,internalType:"uint256"},{name:"_new",type:"uint256",indexed:!1,internalType:"uint256"}],anonymous:!1},{type:"event",name:"OperatorDeregistered",inputs:[{name:"_operator",type:"address",indexed:!0,internalType:"address"},{name:"_avs",type:"address",indexed:!0,internalType:"address"}],anonymous:!1},{type:"event",name:"OperatorRegistered",inputs:[{name:"_operator",type:"address",indexed:!0,internalType:"address"},{name:"_avs",type:"address",indexed:!0,internalType:"address"}],anonymous:!1},{type:"event",name:"OperatorWeightUpdated",inputs:[{name:"_operator",type:"address",indexed:!0,internalType:"address"},{name:"oldWeight",type:"uint256",indexed:!1,internalType:"uint256"},{name:"newWeight",type:"uint256",indexed:!1,internalType:"uint256"}],anonymous:!1},{type:"event",name:"OwnershipTransferred",inputs:[{name:"previousOwner",type:"address",indexed:!0,internalType:"address"},{name:"newOwner",type:"address",indexed:!0,internalType:"address"}],anonymous:!1},{type:"event",name:"QuorumUpdated",inputs:[{name:"_old",type:"tuple",indexed:!1,internalType:"struct Quorum",components:[{name:"strategies",type:"tuple[]",internalType:"struct StrategyParams[]",components:[{name:"strategy",type:"address",internalType:"contract IStrategy"},{name:"multiplier",type:"uint96",internalType:"uint96"}]}]},{name:"_new",type:"tuple",indexed:!1,internalType:"struct Quorum",components:[{name:"strategies",type:"tuple[]",internalType:"struct StrategyParams[]",components:[{name:"strategy",type:"address",internalType:"contract IStrategy"},{name:"multiplier",type:"uint96",internalType:"uint96"}]}]}],anonymous:!1},{type:"event",name:"ThresholdWeightUpdated",inputs:[{name:"_thresholdWeight",type:"uint256",indexed:!1,internalType:"uint256"}],anonymous:!1},{type:"event",name:"TotalWeightUpdated",inputs:[{name:"oldTotalWeight",type:"uint256",indexed:!1,internalType:"uint256"},{name:"newTotalWeight",type:"uint256",indexed:!1,internalType:"uint256"}],anonymous:!1},{type:"event",name:"UpdateMinimumWeight",inputs:[{name:"oldMinimumWeight",type:"uint256",indexed:!1,internalType:"uint256"},{name:"newMinimumWeight",type:"uint256",indexed:!1,internalType:"uint256"}],anonymous:!1},{type:"error",name:"InsufficientSignedStake",inputs:[]},{type:"error",name:"InsufficientWeight",inputs:[]},{type:"error",name:"InvalidLength",inputs:[]},{type:"error",name:"InvalidQuorum",inputs:[]},{type:"error",name:"InvalidSignature",inputs:[]},{type:"error",name:"InvalidSignedWeight",inputs:[]},{type:"error",name:"InvalidThreshold",inputs:[]},{type:"error",name:"LengthMismatch",inputs:[]},{type:"error",name:"MustUpdateAllOperators",inputs:[]},{type:"error",name:"NotSorted",inputs:[]},{type:"error",name:"OperatorAlreadyRegistered",inputs:[]},{type:"error",name:"OperatorNotRegistered",inputs:[]}];var Xm=[{type:"constructor",inputs:[{name:"_avsDirectory",type:"address",internalType:"address"},{name:"_stakeRegistry",type:"address",internalType:"address"},{name:"_delegationManager",type:"address",internalType:"address"}],stateMutability:"nonpayable"},{type:"function",name:"admins",inputs:[{name:"",type:"uint256",internalType:"uint256"}],outputs:[{name:"",type:"address",internalType:"address"}],stateMutability:"view"},{type:"function",name:"allTaskHashes",inputs:[{name:"",type:"uint32",internalType:"uint32"}],outputs:[{name:"",type:"bytes32",internalType:"bytes32"}],stateMutability:"view"},{type:"function",name:"avsDirectory",inputs:[],outputs:[{name:"",type:"address",internalType:"address"}],stateMutability:"view"},{type:"function",name:"checkSignerAddress",inputs:[{name:"request",type:"tuple",internalType:"struct IReclaimServiceManager.ClaimRequest",components:[{name:"provider",type:"string",internalType:"string"},{name:"claimUserId",type:"bytes32",internalType:"bytes32"},{name:"claimHash",type:"bytes32",internalType:"bytes32"},{name:"requestedAt",type:"uint32",internalType:"uint32"},{name:"owner",type:"address",internalType:"address"}]},{name:"requestSignature",type:"bytes",internalType:"bytes"}],outputs:[{name:"",type:"address",internalType:"address"}],stateMutability:"pure"},{type:"function",name:"createNewTask",inputs:[{name:"request",type:"tuple",internalType:"struct IReclaimServiceManager.ClaimRequest",components:[{name:"provider",type:"string",internalType:"string"},{name:"claimUserId",type:"bytes32",internalType:"bytes32"},{name:"claimHash",type:"bytes32",internalType:"bytes32"},{name:"requestedAt",type:"uint32",internalType:"uint32"},{name:"owner",type:"address",internalType:"address"}]},{name:"requestSignature",type:"bytes",internalType:"bytes"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"deregisterOperatorFromAVS",inputs:[{name:"operator",type:"address",internalType:"address"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"encodeClaimRequest",inputs:[{name:"request",type:"tuple",internalType:"struct IReclaimServiceManager.ClaimRequest",components:[{name:"provider",type:"string",internalType:"string"},{name:"claimUserId",type:"bytes32",internalType:"bytes32"},{name:"claimHash",type:"bytes32",internalType:"bytes32"},{name:"requestedAt",type:"uint32",internalType:"uint32"},{name:"owner",type:"address",internalType:"address"}]}],outputs:[{name:"",type:"bytes",internalType:"bytes"}],stateMutability:"pure"},{type:"function",name:"getMetadataForOperator",inputs:[{name:"operator",type:"address",internalType:"address"}],outputs:[{name:"",type:"tuple",internalType:"struct IReclaimServiceManager.OperatorMetadata",components:[{name:"addr",type:"address",internalType:"address"},{name:"url",type:"string",internalType:"string"}]}],stateMutability:"view"},{type:"function",name:"getOperatorRestakedStrategies",inputs:[{name:"_operator",type:"address",internalType:"address"}],outputs:[{name:"",type:"address[]",internalType:"address[]"}],stateMutability:"view"},{type:"function",name:"getRestakeableStrategies",inputs:[],outputs:[{name:"",type:"address[]",internalType:"address[]"}],stateMutability:"view"},{type:"function",name:"isAdmin",inputs:[{name:"_admin",type:"address",internalType:"address"}],outputs:[{name:"",type:"bool",internalType:"bool"}],stateMutability:"view"},{type:"function",name:"isOperatorWhitelisted",inputs:[{name:"operator",type:"address",internalType:"address"}],outputs:[{name:"",type:"bool",internalType:"bool"}],stateMutability:"view"},{type:"function",name:"latestTaskNum",inputs:[],outputs:[{name:"",type:"uint32",internalType:"uint32"}],stateMutability:"view"},{type:"function",name:"operatorHasMinimumWeight",inputs:[{name:"operator",type:"address",internalType:"address"}],outputs:[{name:"",type:"bool",internalType:"bool"}],stateMutability:"view"},{type:"function",name:"owner",inputs:[],outputs:[{name:"",type:"address",internalType:"address"}],stateMutability:"view"},{type:"function",name:"pause",inputs:[{name:"newPausedStatus",type:"uint256",internalType:"uint256"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"pauseAll",inputs:[],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"paused",inputs:[{name:"index",type:"uint8",internalType:"uint8"}],outputs:[{name:"",type:"bool",internalType:"bool"}],stateMutability:"view"},{type:"function",name:"paused",inputs:[],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{type:"function",name:"pauserRegistry",inputs:[],outputs:[{name:"",type:"address",internalType:"contract IPauserRegistry"}],stateMutability:"view"},{type:"function",name:"payForRange",inputs:[{name:"rangePayments",type:"tuple[]",internalType:"struct IPaymentCoordinator.RangePayment[]",components:[{name:"strategiesAndMultipliers",type:"tuple[]",internalType:"struct IPaymentCoordinator.StrategyAndMultiplier[]",components:[{name:"strategy",type:"address",internalType:"contract IStrategy"},{name:"multiplier",type:"uint96",internalType:"uint96"}]},{name:"token",type:"address",internalType:"contract IERC20"},{name:"amount",type:"uint256",internalType:"uint256"},{name:"startTimestamp",type:"uint32",internalType:"uint32"},{name:"duration",type:"uint32",internalType:"uint32"}]}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"registerOperatorToAVS",inputs:[{name:"operator",type:"address",internalType:"address"},{name:"operatorSignature",type:"tuple",internalType:"struct ISignatureUtils.SignatureWithSaltAndExpiry",components:[{name:"signature",type:"bytes",internalType:"bytes"},{name:"salt",type:"bytes32",internalType:"bytes32"},{name:"expiry",type:"uint256",internalType:"uint256"}]}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"registeredOperators",inputs:[{name:"",type:"uint256",internalType:"uint256"}],outputs:[{name:"addr",type:"address",internalType:"address"},{name:"url",type:"string",internalType:"string"}],stateMutability:"view"},{type:"function",name:"renounceOwnership",inputs:[],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"setPauserRegistry",inputs:[{name:"newPauserRegistry",type:"address",internalType:"contract IPauserRegistry"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"setup",inputs:[{name:"initialAdmin",type:"address",internalType:"address"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"stakeRegistry",inputs:[],outputs:[{name:"",type:"address",internalType:"address"}],stateMutability:"view"},{type:"function",name:"taskCompleted",inputs:[{name:"completedTask",type:"tuple",internalType:"struct IReclaimServiceManager.CompletedTask",components:[{name:"task",type:"tuple",internalType:"struct IReclaimServiceManager.Task",components:[{name:"request",type:"tuple",internalType:"struct IReclaimServiceManager.ClaimRequest",components:[{name:"provider",type:"string",internalType:"string"},{name:"claimUserId",type:"bytes32",internalType:"bytes32"},{name:"claimHash",type:"bytes32",internalType:"bytes32"},{name:"requestedAt",type:"uint32",internalType:"uint32"},{name:"owner",type:"address",internalType:"address"}]},{name:"createdAt",type:"uint32",internalType:"uint32"},{name:"expiresAt",type:"uint32",internalType:"uint32"},{name:"minimumSignatures",type:"uint8",internalType:"uint8"},{name:"operators",type:"tuple[]",internalType:"struct IReclaimServiceManager.Operator[]",components:[{name:"addr",type:"address",internalType:"address"},{name:"url",type:"string",internalType:"string"}]},{name:"feePaid",type:"uint256",internalType:"uint256"}]},{name:"signatures",type:"bytes[]",internalType:"bytes[]"}]},{name:"referenceTaskIndex",type:"uint32",internalType:"uint32"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"taskCreationMetadata",inputs:[],outputs:[{name:"maxTaskLifetimeS",type:"uint32",internalType:"uint32"},{name:"minSignaturesPerTask",type:"uint8",internalType:"uint8"},{name:"maxTaskCreationDelayS",type:"uint32",internalType:"uint32"}],stateMutability:"view"},{type:"function",name:"transferOwnership",inputs:[{name:"newOwner",type:"address",internalType:"address"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"unpause",inputs:[{name:"newPausedStatus",type:"uint256",internalType:"uint256"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"updateAVSMetadataURI",inputs:[{name:"_metadataURI",type:"string",internalType:"string"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"updateOperatorMetadata",inputs:[{name:"metadata",type:"tuple",internalType:"struct IReclaimServiceManager.OperatorMetadata",components:[{name:"addr",type:"address",internalType:"address"},{name:"url",type:"string",internalType:"string"}]}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"updateTaskCreationMetadata",inputs:[{name:"newMetadata",type:"tuple",internalType:"struct IReclaimServiceManager.TaskCreationMetadata",components:[{name:"maxTaskLifetimeS",type:"uint32",internalType:"uint32"},{name:"minSignaturesPerTask",type:"uint8",internalType:"uint8"},{name:"maxTaskCreationDelayS",type:"uint32",internalType:"uint32"}]}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"whitelistAddressAsOperator",inputs:[{name:"operator",type:"address",internalType:"address"},{name:"isWhitelisted",type:"bool",internalType:"bool"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"whitelistedOperators",inputs:[{name:"",type:"uint256",internalType:"uint256"}],outputs:[{name:"",type:"address",internalType:"address"}],stateMutability:"view"},{type:"event",name:"Initialized",inputs:[{name:"version",type:"uint8",indexed:!1,internalType:"uint8"}],anonymous:!1},{type:"event",name:"NewTaskCreated",inputs:[{name:"taskIndex",type:"uint32",indexed:!0,internalType:"uint32"},{name:"task",type:"tuple",indexed:!1,internalType:"struct IReclaimServiceManager.Task",components:[{name:"request",type:"tuple",internalType:"struct IReclaimServiceManager.ClaimRequest",components:[{name:"provider",type:"string",internalType:"string"},{name:"claimUserId",type:"bytes32",internalType:"bytes32"},{name:"claimHash",type:"bytes32",internalType:"bytes32"},{name:"requestedAt",type:"uint32",internalType:"uint32"},{name:"owner",type:"address",internalType:"address"}]},{name:"createdAt",type:"uint32",internalType:"uint32"},{name:"expiresAt",type:"uint32",internalType:"uint32"},{name:"minimumSignatures",type:"uint8",internalType:"uint8"},{name:"operators",type:"tuple[]",internalType:"struct IReclaimServiceManager.Operator[]",components:[{name:"addr",type:"address",internalType:"address"},{name:"url",type:"string",internalType:"string"}]},{name:"feePaid",type:"uint256",internalType:"uint256"}]}],anonymous:!1},{type:"event",name:"OwnershipTransferred",inputs:[{name:"previousOwner",type:"address",indexed:!0,internalType:"address"},{name:"newOwner",type:"address",indexed:!0,internalType:"address"}],anonymous:!1},{type:"event",name:"Paused",inputs:[{name:"account",type:"address",indexed:!0,internalType:"address"},{name:"newPausedStatus",type:"uint256",indexed:!1,internalType:"uint256"}],anonymous:!1},{type:"event",name:"PauserRegistrySet",inputs:[{name:"pauserRegistry",type:"address",indexed:!1,internalType:"contract IPauserRegistry"},{name:"newPauserRegistry",type:"address",indexed:!1,internalType:"contract IPauserRegistry"}],anonymous:!1},{type:"event",name:"TaskCompleted",inputs:[{name:"taskIndex",type:"uint32",indexed:!0,internalType:"uint32"},{name:"task",type:"tuple",indexed:!1,internalType:"struct IReclaimServiceManager.CompletedTask",components:[{name:"task",type:"tuple",internalType:"struct IReclaimServiceManager.Task",components:[{name:"request",type:"tuple",internalType:"struct IReclaimServiceManager.ClaimRequest",components:[{name:"provider",type:"string",internalType:"string"},{name:"claimUserId",type:"bytes32",internalType:"bytes32"},{name:"claimHash",type:"bytes32",internalType:"bytes32"},{name:"requestedAt",type:"uint32",internalType:"uint32"},{name:"owner",type:"address",internalType:"address"}]},{name:"createdAt",type:"uint32",internalType:"uint32"},{name:"expiresAt",type:"uint32",internalType:"uint32"},{name:"minimumSignatures",type:"uint8",internalType:"uint8"},{name:"operators",type:"tuple[]",internalType:"struct IReclaimServiceManager.Operator[]",components:[{name:"addr",type:"address",internalType:"address"},{name:"url",type:"string",internalType:"string"}]},{name:"feePaid",type:"uint256",internalType:"uint256"}]},{name:"signatures",type:"bytes[]",internalType:"bytes[]"}]}],anonymous:!1},{type:"event",name:"Unpaused",inputs:[{name:"account",type:"address",indexed:!0,internalType:"address"},{name:"newPausedStatus",type:"uint256",indexed:!1,internalType:"uint256"}],anonymous:!1}],jN="0x610100604052348015610010575f5ffd5b50604051614a44380380614a4483398101604081905261002f91610140565b6001600160a01b0380841660a0528083166080525f60c081905290821660e052839083908361005c610068565b50505050505050610180565b5f54610100900460ff16156100d35760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b5f5460ff9081161015610123575f805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b80516001600160a01b038116811461013b575f5ffd5b919050565b5f5f5f60608486031215610152575f5ffd5b61015b84610125565b925061016960208501610125565b915061017760408501610125565b90509250925092565b60805160a05160c05160e0516148446102005f395f6120e401525f8181611e6c0152611f3f01525f81816103c30152818161232001528181612496015261250101525f818161039c015281816107d0015281816111930152818161149e015281816119150152818161198301528181611fa4015261294c01526148445ff3fe608060405234801561000f575f5ffd5b5060043610610213575f3560e01c8063715018a61161011f578063a98fb355116100a9578063d5dba76d11610079578063d5dba76d14610509578063e481af9d1461051c578063f289a7fb14610524578063f2fde38b14610577578063fabc1cbc1461058a575f5ffd5b8063a98fb355146104b0578063aa5b9cad146104c3578063abd3b6bd146104d6578063b224b979146104f6575f5ffd5b806394bb371b116100ef57806394bb371b146104365780639926ee7d14610456578063a3524f9514610469578063a364f4da1461047c578063a551c1b81461048f575f5ffd5b8063715018a6146103e5578063886f1195146103ed5780638b00ce7c146104005780638da5cb5b14610425575f5ffd5b80632e8da829116101a05780635c975abb116101705780635c975abb14610369578063630868dc1461037157806366d382031461038457806368304835146103975780636b3aa72e146103be575f5ffd5b80632e8da8291461030b57806333cfb7b71461031e578063595c6a671461033e5780635ac86ab714610346575f5ffd5b80631b445516116101e65780631b445516146102825780631be785ac146102955780631ee3ca10146102a857806324d7806c146102bb5780632d89f6fc146102de575f5ffd5b806310d67a2f14610217578063136439dd1461022c57806314bfd6d01461023f57806316bd83c31461026f575b5f5ffd5b61022a6102253660046133db565b61059d565b005b61022a61023a3660046133f6565b610656565b61025261024d3660046133f6565b610793565b6040516001600160a01b0390911681526020015b60405180910390f35b61022a61027d3660046135a7565b6107bb565b61022a6102903660046135d8565b610b18565b61022a6102a3366004613654565b610b2e565b61022a6102b63660046136ae565b610c23565b6102ce6102c93660046133db565b610ce2565b6040519015158152602001610266565b6102fd6102ec3660046136fc565b60cb6020525f908152604090205481565b604051908152602001610266565b6102ce6103193660046133db565b610d67565b61033161032c3660046133db565b610dd1565b6040516102669190613715565b61022a610de2565b6102ce610354366004613760565b609854600160ff9092169190911b9081161490565b6098546102fd565b61025261037f3660046133f6565b610ea6565b61022a6103923660046133db565b610eb5565b6102527f000000000000000000000000000000000000000000000000000000000000000081565b6102527f000000000000000000000000000000000000000000000000000000000000000081565b61022a611039565b609754610252906001600160a01b031681565b60c9546104109063ffffffff1681565b60405163ffffffff9091168152602001610266565b6033546001600160a01b0316610252565b6104496104443660046133db565b61104c565b60405161026691906137cd565b61022a6104643660046137df565b611188565b61022a610477366004613a33565b61122f565b61022a61048a3660046133db565b611493565b6104a261049d3660046133f6565b6114e4565b604051610266929190613b74565b61022a6104be366004613b97565b6115a2565b6102526104d1366004613bc8565b6115d0565b6104e96104e4366004613c2b565b611606565b6040516102669190613c5c565b61022a610504366004613bc8565b61162f565b6102ce6105173660046133db565b6118f2565b610331611a0c565b60ca5461054e9063ffffffff8082169160ff64010000000082041691650100000000009091041683565b6040805163ffffffff948516815260ff9093166020840152921691810191909152606001610266565b61022a6105853660046133db565b611a1b565b61022a6105983660046133f6565b611a91565b60975f9054906101000a90046001600160a01b03166001600160a01b031663eab66d7a6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156105ed573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106119190613c6e565b6001600160a01b0316336001600160a01b03161461064a5760405162461bcd60e51b815260040161064190613c89565b60405180910390fd5b61065381611bea565b50565b60975460405163237dfb4760e11b81523360048201526001600160a01b03909116906346fbf68e90602401602060405180830381865afa15801561069c573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106c09190613cd3565b6106dc5760405162461bcd60e51b815260040161064190613cee565b609854818116146107555760405162461bcd60e51b815260206004820152603860248201527f5061757361626c652e70617573653a20696e76616c696420617474656d70742060448201527f746f20756e70617573652066756e6374696f6e616c69747900000000000000006064820152608401610641565b609881905560405181815233907fab40a374bc51de372200a8bc981af8c9ecdc08dfdaef0bb6e09f88f3c616ef3d906020015b60405180910390a250565b60cd81815481106107a2575f80fd5b5f918252602090912001546001600160a01b0316905081565b60405163ec7fbb3160e01b81523360048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063ec7fbb3190602401602060405180830381865afa15801561081d573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108419190613cd3565b15156001146108925760405162461bcd60e51b815260206004820152601b60248201527f4f70657261746f72206d757374206265207468652063616c6c657200000000006044820152606401610641565b80516001600160a01b031633146108fa5760405162461bcd60e51b815260206004820152602660248201527f4d657461646174612061646472657373206d757374206d61746368207468652060448201526531b0b63632b960d11b6064820152608401610641565b6020810151511580156109db575f5b60ce5481101561099d57825f01516001600160a01b031660ce828154811061093357610933613d36565b5f9182526020909120600290910201546001600160a01b0316036109955760ce818154811061096457610964613d36565b5f9182526020822060029091020180546001600160a01b03191681559061098e600183018261337c565b5050505050565b600101610909565b5060405162461bcd60e51b815260206004820152601260248201527113dc195c985d1bdc881b9bdd08199bdd5b9960721b6044820152606401610641565b5f5b60ce54811015610a8c57825f01516001600160a01b031660ce8281548110610a0757610a07613d36565b5f9182526020909120600290910201546001600160a01b031603610a84578260ce8281548110610a3957610a39613d36565b5f91825260209182902083516002929092020180546001600160a01b0319166001600160a01b03909216919091178155908201516001820190610a7c9082613dd5565b505050505050565b6001016109dd565b5060ce80546001810182555f9190915282517fd36cd1c74ef8d7326d8021b776c18fb5a5724b7f7bc93c2f42e43e10ef27d12a600290920291820180546001600160a01b0319166001600160a01b03909216919091178155602084015184927fd36cd1c74ef8d7326d8021b776c18fb5a5724b7f7bc93c2f42e43e10ef27d12b019061098e9082613dd5565b610b20611ce1565b610b2a8282611d3b565b5050565b610b3733610ce2565b610b535760405162461bcd60e51b815260040161064190613e8f565b8015610ba95760cc80546001810182555f919091527f47197230e1e4b29fc0bd84d7d78966c0925452aff72a2a121538b102457e9ebe0180546001600160a01b0384166001600160a01b03199091161790555050565b5f5b60cc5481101561099d57826001600160a01b031660cc8281548110610bd257610bd2613d36565b5f918252602090912001546001600160a01b031603610c1b5760cc8181548110610bfe57610bfe613d36565b5f91825260209091200180546001600160a01b0319169055505050565b600101610bab565b610c2c33610ce2565b610c485760405162461bcd60e51b815260040161064190613e8f565b805163ffffffff1615610c7157805160ca805463ffffffff191663ffffffff9092169190911790555b602081015160ff1615610ca457602081015160ca805460ff9092166401000000000264ff00000000199092169190911790555b604081015163ffffffff1615610653576040015160ca805463ffffffff909216650100000000000268ffffffff000000000019909216919091179055565b5f610cf56033546001600160a01b031690565b6001600160a01b03163303610d0c57506001919050565b5f5b60cd54811015610d5f57826001600160a01b031660cd8281548110610d3557610d35613d36565b5f918252602090912001546001600160a01b031603610d575750600192915050565b600101610d0e565b505f92915050565b5f610d7182610ce2565b15610d7e57506001919050565b5f5b60cc54811015610d5f57826001600160a01b031660cc8281548110610da757610da7613d36565b5f918252602090912001546001600160a01b031603610dc95750600192915050565b600101610d80565b6060610ddc82611f9f565b92915050565b60975460405163237dfb4760e11b81523360048201526001600160a01b03909116906346fbf68e90602401602060405180830381865afa158015610e28573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e4c9190613cd3565b610e685760405162461bcd60e51b815260040161064190613cee565b5f19609881905560405190815233907fab40a374bc51de372200a8bc981af8c9ecdc08dfdaef0bb6e09f88f3c616ef3d9060200160405180910390a2565b60cc81815481106107a2575f80fd5b5f54610100900460ff1615808015610ed357505f54600160ff909116105b80610eec5750303b158015610eec57505f5460ff166001145b610f4f5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608401610641565b5f805460ff191660011790558015610f70575f805461ff0019166101001790555b60408051606081018252610708815260016020820181905261012c919092015260ca805468ffffffffffffffffff191666012c010000070817905560cd805491820181555f527f83978b4c69c48dd978ab43fe30f077615294f938fb7f936d9eb340e51ea7db2e0180546001600160a01b0319166001600160a01b0384161790558015610b2a575f805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050565b611041611ce1565b61104a5f6122b8565b565b604080518082019091525f8152606060208201525f5b60ce5481101561099d57826001600160a01b031660ce828154811061108957611089613d36565b5f9182526020909120600290910201546001600160a01b0316036111805760ce81815481106110ba576110ba613d36565b5f9182526020918290206040805180820190915260029092020180546001600160a01b0316825260018101805492939192918401916110f890613d4a565b80601f016020809104026020016040519081016040528092919081815260200182805461112490613d4a565b801561116f5780601f106111465761010080835404028352916020019161116f565b820191905f5260205f20905b81548152906001019060200180831161115257829003601f168201915b505050505081525050915050919050565b600101611062565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146111d05760405162461bcd60e51b815260040161064190613ebc565b6111d982610d67565b6112255760405162461bcd60e51b815260206004820152601860248201527f4f70657261746f72206e6f742077686974656c697374656400000000000000006044820152606401610641565b610b2a8282612309565b63ffffffff81165f90815260cb60209081526040918290205484519251909261125a92909101614039565b60405160208183030381529060405280519060200120146112e35760405162461bcd60e51b815260206004820152603d60248201527f737570706c696564207461736b20646f6573206e6f74206d617463682074686560448201527f206f6e65207265636f7264656420696e2074686520636f6e74726163740000006064820152608401610641565b81516040015163ffffffff4281169116116113335760405162461bcd60e51b815260206004820152601060248201526f15185cdac81a185cc8195e1c1a5c995960821b6044820152606401610641565b6040805160c0810182528351518201519181019182528351516080908101516001600160a01b03166060830152845160209081015163ffffffff1682840152600160a08401529282528285015192820192909252835190910151515f906001600160401b038111156113a7576113a761340d565b6040519080825280602002602001820160405280156113d0578160200160208202803683370190505b5090505f5b8151811015611433578451608001518051829081106113f6576113f6613d36565b60200260200101515f015182828151811061141357611413613d36565b6001600160a01b03909216602092830291909101909101526001016113d5565b5061143e8282612357565b63ffffffff83165f81815260cb602052604080822091909155517fa5be567caa88ff11b6da2cf017f9cefffcafa24111a9ecbf0b0bc476944f0f099061148590879061404b565b60405180910390a250505050565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146114db5760405162461bcd60e51b815260040161064190613ebc565b61065381612477565b60ce81815481106114f3575f80fd5b5f918252602090912060029091020180546001820180546001600160a01b0390921693509061152190613d4a565b80601f016020809104026020016040519081016040528092919081815260200182805461154d90613d4a565b80156115985780601f1061156f57610100808354040283529160200191611598565b820191905f5260205f20905b81548152906001019060200180831161157b57829003601f168201915b5050505050905082565b6115ab33610ce2565b6115c75760405162461bcd60e51b815260040161064190613e8f565b610653816124ea565b5f5f836040516020016115e391906140ce565b60405160208183030381529060405290506115fe8184612536565b949350505050565b60608160405160200161161991906140ce565b6040516020818303038152906040529050919050565b60808201516001600160a01b031633146116f3575f8260405160200161165591906140ce565b60405160208183030381529060405290505f6116718284612536565b905083608001516001600160a01b0316816001600160a01b0316146116f05760405162461bcd60e51b815260206004820152602f60248201527f5369676e6572206f6620726571756573745369676e6174757265206973206e6f60448201526e3a103932b8bab2b9ba1737bbb732b960891b6064820152608401610641565b50505b5f611702836060015142612576565b60ca5490915063ffffffff650100000000009091048116908216111561176a5760405162461bcd60e51b815260206004820152601e60248201527f526571756573742074696d657374616d7020746f6f20666172206177617900006044820152606401610641565b6040805161016081018252606060c082018190525f60e08301819052610100830181905261012083018190526101408301819052928201839052808201839052608082015260a081019190915283815263ffffffff4281166020830181905260ca546117d79216906140f4565b63ffffffff1660408281019190915260ca54640100000000900460ff166060830152515f9061180a908390602001614039565b60408051808303601f19018152919052805160209091012060ca5490915061183d90640100000000900460ff16826125aa565b6080830152604051611853908390602001614039565b60408051601f19818403018152828252805160209182012060c9805463ffffffff9081165f90815260cb90945293909220555416907f7738d1b30deac7824a0580de02efde3bb766c7b7b5ea79da34869ebd887cebf3906118b5908590614039565b60405180910390a260c9546118d19063ffffffff1660016140f4565b60c9805463ffffffff191663ffffffff929092169190911790555050505050565b6040516398ec1ac960e01b81526001600160a01b0382811660048301525f9182917f000000000000000000000000000000000000000000000000000000000000000016906398ec1ac990602401602060405180830381865afa15801561195a573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061197e9190614110565b90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166340bf2fb76040518163ffffffff1660e01b8152600401602060405180830381865afa1580156119dd573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611a019190614110565b909110159392505050565b6060611a16612947565b905090565b611a23611ce1565b6001600160a01b038116611a885760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610641565b610653816122b8565b60975f9054906101000a90046001600160a01b03166001600160a01b031663eab66d7a6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611ae1573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611b059190613c6e565b6001600160a01b0316336001600160a01b031614611b355760405162461bcd60e51b815260040161064190613c89565b609854198119609854191614611bb35760405162461bcd60e51b815260206004820152603860248201527f5061757361626c652e756e70617573653a20696e76616c696420617474656d7060448201527f7420746f2070617573652066756e6374696f6e616c69747900000000000000006064820152608401610641565b609881905560405181815233907f3582d1828e26bf56bd801502bc021ac0bc8afb57c826e4986b45593c8fad389c90602001610788565b6001600160a01b038116611c785760405162461bcd60e51b815260206004820152604960248201527f5061757361626c652e5f73657450617573657252656769737472793a206e657760448201527f50617573657252656769737472792063616e6e6f7420626520746865207a65726064820152686f206164647265737360b81b608482015260a401610641565b609754604080516001600160a01b03928316815291831660208301527f6e9fcd539896fca60e8b0f01dd580233e48a6b0f7df013b89ba7f565869acdb6910160405180910390a1609780546001600160a01b0319166001600160a01b0392909216919091179055565b6033546001600160a01b0316331461104a5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610641565b5f5b81811015611f2757828282818110611d5757611d57613d36565b9050602002810190611d699190614127565b611d7a9060408101906020016133db565b6001600160a01b03166323b872dd3330868686818110611d9c57611d9c613d36565b9050602002810190611dae9190614127565b604080516001600160e01b031960e087901b1681526001600160a01b039485166004820152939092166024840152013560448201526064016020604051808303815f875af1158015611e02573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e269190613cd3565b50828282818110611e3957611e39613d36565b9050602002810190611e4b9190614127565b611e5c9060408101906020016133db565b6001600160a01b031663095ea7b37f0000000000000000000000000000000000000000000000000000000000000000858585818110611e9d57611e9d613d36565b9050602002810190611eaf9190614127565b604080516001600160e01b031960e086901b1681526001600160a01b039093166004840152013560248201526044016020604051808303815f875af1158015611efa573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f1e9190613cd3565b50600101611d3d565b50604051630da22a8b60e11b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690631b44551690611f7690859085906004016141d2565b5f604051808303815f87803b158015611f8d575f5ffd5b505af1158015610a7c573d5f5f3e3d5ffd5b60605f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316631703a0186040518163ffffffff1660e01b81526004015f60405180830381865afa158015611ffd573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f1916820160405261202491908101906142e7565b8051519091505f816001600160401b038111156120435761204361340d565b60405190808252806020026020018201604052801561206c578160200160208202803683370190505b5090505f5b828110156120ca57835180518290811061208d5761208d613d36565b60200260200101515f01518282815181106120aa576120aa613d36565b6001600160a01b0390921660209283029190910190910152600101612071565b50604051639004134760e01b81525f906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063900413479061211b90899086906004016143e7565b5f60405180830381865afa158015612135573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f1916820160405261215c9190810190614445565b90505f836001600160401b038111156121775761217761340d565b6040519080825280602002602001820160405280156121a0578160200160208202803683370190505b5090505f5f5b858110156121e5575f8482815181106121c1576121c1613d36565b602002602001015111156121dd57816121d9816144d5565b9250505b6001016121a6565b505f816001600160401b038111156121ff576121ff61340d565b604051908082528060200260200182016040528015612228578160200160208202803683370190505b5090505f5b868110156122ab575f85828151811061224857612248613d36565b602002602001015111156122a35783818151811061226857612268613d36565b602002602001015182828151811061228257612282613d36565b60200260200101906001600160a01b031690816001600160a01b0316815250505b60010161222d565b5098975050505050505050565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a35050565b604051639926ee7d60e01b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690639926ee7d90611f7690859085906004016144ed565b5f8260200151511161239b5760405162461bcd60e51b815260206004820152600d60248201526c4e6f207369676e61747572657360981b6044820152606401610641565b5f6123a583612a7b565b90505f5b8251811015612471575f805b835181101561241a578483815181106123d0576123d0613d36565b60200260200101516001600160a01b03168482815181106123f3576123f3613d36565b60200260200101516001600160a01b031603612412576001915061241a565b6001016123b5565b50806124685760405162461bcd60e51b815260206004820152601a60248201527f4d697373696e67206174746573746f72207369676e61747572650000000000006044820152606401610641565b506001016123a9565b50505050565b6040516351b27a6d60e11b81526001600160a01b0382811660048301527f0000000000000000000000000000000000000000000000000000000000000000169063a364f4da906024015b5f604051808303815f87803b1580156124d8575f5ffd5b505af115801561098e573d5f5f3e3d5ffd5b60405163a98fb35560e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063a98fb355906124c1908490600401613c5c565b5f5f6125428451612b46565b8460405160200161255492919061454e565b6040516020818303038152906040528051906020012090506115fe8184612c6b565b5f8163ffffffff168363ffffffff1611612599576125948383614588565b6125a3565b6125a38284614588565b9392505050565b60ce5460609060ff841611156126025760405162461bcd60e51b815260206004820152601e60248201527f496e7465726e616c3a204e6f7420656e6f756768206f70657261746f727300006044820152606401610641565b5f60ce805480602002602001604051908101604052809291908181526020015f905b828210156126fa575f848152602090819020604080518082019091526002850290910180546001600160a01b03168252600181018054929391929184019161266b90613d4a565b80601f016020809104026020016040519081016040528092919081815260200182805461269790613d4a565b80156126e25780601f106126b9576101008083540402835291602001916126e2565b820191905f5260205f20905b8154815290600101906020018083116126c557829003601f168201915b50505050508152505081526020019060010190612624565b505082519293505f91505060ff86166001600160401b038111156127205761272061340d565b60405190808252806020026020018201604052801561276557816020015b604080518082019091525f81526060602082015281526020019060019003908161273e5790505b5090505f5b81518160ff16101561293d575f83116127eb5760405162461bcd60e51b815260206004820152603760248201527f496e7465726e616c3a204665657320746f6f206c6f772e204e6f206f7065726160448201527f746f7273206c65667420746f207069636b2066726f6d2e0000000000000000006064820152608401610641565b5f836128336127fd60ff85168a6145a4565b60408051446020808301919091524282840152606080830194909452825180830390940184526080909101909152815191012090565b61283d91906145cb565b90505f85828151811061285257612852613d36565b602002602001015190508560018661286a91906145de565b8151811061287a5761287a613d36565b602002602001015186838151811061289457612894613d36565b60209081029190910101526128aa6001866145de565b94506128b8815f01516118f2565b6128c357505061276a565b805f0151848460ff16815181106128dc576128dc613d36565b60200260200101515f01906001600160a01b031690816001600160a01b0316815250508060200151848460ff168151811061291957612919613d36565b6020026020010151602001819052508280612933906145f1565b935050505061276a565b5095945050505050565b60605f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316631703a0186040518163ffffffff1660e01b81526004015f60405180830381865afa1580156129a5573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526129cc91908101906142e7565b90505f815f0151516001600160401b038111156129eb576129eb61340d565b604051908082528060200260200182016040528015612a14578160200160208202803683370190505b5090505f5b825151811015612a74578251805182908110612a3757612a37613d36565b60200260200101515f0151828281518110612a5457612a54613d36565b6001600160a01b0390921660209283029190910190910152600101612a19565b5092915050565b60605f612a8a835f0151612c85565b90505f8360200151516001600160401b03811115612aaa57612aaa61340d565b604051908082528060200260200182016040528015612ad3578160200160208202803683370190505b5090505f5b846020015151811015612b3e57612b0c8386602001518381518110612aff57612aff613d36565b6020026020010151612536565b828281518110612b1e57612b1e613d36565b6001600160a01b0390921660209283029190910190910152600101612ad8565b509392505050565b6060815f03612b6c5750506040805180820190915260018152600360fc1b602082015290565b815f5b8115612b955780612b7f816144d5565b9150612b8e9050600a8361460f565b9150612b6f565b5f816001600160401b03811115612bae57612bae61340d565b6040519080825280601f01601f191660200182016040528015612bd8576020820181803683370190505b509050815b8515612c6257612bee6001826145de565b90505f612bfc600a8861460f565b612c0790600a614622565b612c1190886145de565b612c1c906030614639565b90505f8160f81b905080848481518110612c3857612c38613d36565b60200101906001600160f81b03191690815f1a905350612c59600a8961460f565b97505050612bdd565b50949350505050565b5f5f5f612c788585612cf4565b91509150612b3e81612d5f565b6060612cb4825f0151604051602001612ca091815260200190565b604051602081830303815290604052612f14565b612cc183602001516130c9565b612cd4846040015163ffffffff16612b46565b612ce18560600151612b46565b6040516020016116199493929190614652565b5f5f8251604103612d28576020830151604084015160608501515f1a612d1c87828585613224565b94509450505050612d58565b8251604003612d515760208301516040840151612d46868383613309565b935093505050612d58565b505f905060025b9250929050565b5f816004811115612d7257612d726146a8565b03612d7a5750565b6001816004811115612d8e57612d8e6146a8565b03612ddb5760405162461bcd60e51b815260206004820152601860248201527f45434453413a20696e76616c6964207369676e617475726500000000000000006044820152606401610641565b6002816004811115612def57612def6146a8565b03612e3c5760405162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e677468006044820152606401610641565b6003816004811115612e5057612e506146a8565b03612ea85760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c604482015261756560f01b6064820152608401610641565b6004816004811115612ebc57612ebc6146a8565b036106535760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202776272076616c604482015261756560f01b6064820152608401610641565b60605f82516002612f259190614622565b6001600160401b03811115612f3c57612f3c61340d565b6040519080825280601f01601f191660200182016040528015612f66576020820181803683370190505b5060408051808201909152601081526f181899199a1a9b1b9c1cb0b131b232b360811b60208201529091505f5b845181101561309f57818251868381518110612fb157612fb1613d36565b0160200151612fc3919060f81c61460f565b81518110612fd357612fd3613d36565b01602001516001600160f81b03191683612fee836002614622565b81518110612ffe57612ffe613d36565b60200101906001600160f81b03191690815f1a90535081825186838151811061302957613029613d36565b016020015161303b919060f81c6145cb565b8151811061304b5761304b613d36565b01602001516001600160f81b03191683613066836002614622565b6130719060016145a4565b8151811061308157613081613d36565b60200101906001600160f81b03191690815f1a905350600101612f93565b50816040516020016130b191906146bc565b60405160208183030381529060405292505050919050565b60408051602880825260608281019093525f91906020820181803683370190505090505f5b60148110156131fb575f6131038260136145de565b61310e906008614622565b6131199060026147ad565b61312c906001600160a01b03871661460f565b60f81b90505f60108260f81c61314291906147b8565b60f81b90505f8160f81c601061315891906147d9565b8360f81c61316691906147f5565b60f81b905061317482613342565b85613180866002614622565b8151811061319057613190613d36565b60200101906001600160f81b03191690815f1a9053506131af81613342565b856131bb866002614622565b6131c69060016145a4565b815181106131d6576131d6613d36565b60200101906001600160f81b03191690815f1a90535050600190920191506130ee9050565b508060405160200161320d91906146bc565b604051602081830303815290604052915050919050565b5f807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a083111561325957505f90506003613300565b8460ff16601b1415801561327157508460ff16601c14155b1561328157505f90506004613300565b604080515f8082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa1580156132d2573d5f5f3e3d5ffd5b5050604051601f1901519150506001600160a01b0381166132fa575f60019250925050613300565b91505f90505b94509492505050565b5f806001600160ff1b0383168161332560ff86901c601b6145a4565b905061333387828885613224565b9350935050505b935093915050565b5f600a60f883901c10156133685761335f60f883901c6030614639565b60f81b92915050565b61335f60f883901c6057614639565b919050565b50805461338890613d4a565b5f825580601f10613397575050565b601f0160209004905f5260205f209061065391905f5b808211156133c2575f818401556001016133ad565b505090565b6001600160a01b0381168114610653575f5ffd5b5f602082840312156133eb575f5ffd5b81356125a3816133c7565b5f60208284031215613406575f5ffd5b5035919050565b634e487b7160e01b5f52604160045260245ffd5b604080519081016001600160401b03811182821017156134435761344361340d565b60405290565b604051606081016001600160401b03811182821017156134435761344361340d565b60405160c081016001600160401b03811182821017156134435761344361340d565b604051602081016001600160401b03811182821017156134435761344361340d565b604051601f8201601f191681016001600160401b03811182821017156134d7576134d761340d565b604052919050565b5f82601f8301126134ee575f5ffd5b8135602083015f5f6001600160401b0384111561350d5761350d61340d565b50601f8301601f1916602001613522816134af565b915050828152858383011115613536575f5ffd5b828260208301375f92810160200192909252509392505050565b5f60408284031215613560575f5ffd5b613568613421565b90508135613575816133c7565b815260208201356001600160401b0381111561358f575f5ffd5b61359b848285016134df565b60208301525092915050565b5f602082840312156135b7575f5ffd5b81356001600160401b038111156135cc575f5ffd5b6115fe84828501613550565b5f5f602083850312156135e9575f5ffd5b82356001600160401b038111156135fe575f5ffd5b8301601f8101851361360e575f5ffd5b80356001600160401b03811115613623575f5ffd5b8560208260051b8401011115613637575f5ffd5b6020919091019590945092505050565b8015158114610653575f5ffd5b5f5f60408385031215613665575f5ffd5b8235613670816133c7565b9150602083013561368081613647565b809150509250929050565b803563ffffffff81168114613377575f5ffd5b803560ff81168114613377575f5ffd5b5f60608284031280156136bf575f5ffd5b506136c8613449565b6136d18361368b565b81526136df6020840161369e565b60208201526136f06040840161368b565b60408201529392505050565b5f6020828403121561370c575f5ffd5b6125a38261368b565b602080825282518282018190525f918401906040840190835b818110156137555783516001600160a01b031683526020938401939092019160010161372e565b509095945050505050565b5f60208284031215613770575f5ffd5b6125a38261369e565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b60018060a01b0381511682525f6020820151604060208501526115fe6040850182613779565b602081525f6125a360208301846137a7565b5f5f604083850312156137f0575f5ffd5b82356137fb816133c7565b915060208301356001600160401b03811115613815575f5ffd5b830160608186031215613826575f5ffd5b61382e613449565b81356001600160401b03811115613843575f5ffd5b61384f878285016134df565b8252506020828101359082015260409182013591810191909152919491935090915050565b5f60a08284031215613884575f5ffd5b60405160a081016001600160401b03811182821017156138a6576138a661340d565b60405290508082356001600160401b038111156138c1575f5ffd5b6138cd858286016134df565b82525060208381013590820152604080840135908201526138f06060840161368b565b60608201526080830135613903816133c7565b6080919091015292915050565b5f6001600160401b038211156139285761392861340d565b5060051b60200190565b5f82601f830112613941575f5ffd5b813561395461394f82613910565b6134af565b8082825260208201915060208360051b860101925085831115613975575f5ffd5b602085015b8381101561293d5780356001600160401b03811115613997575f5ffd5b6139a6886020838a0101613550565b8452506020928301920161397a565b5f82601f8301126139c4575f5ffd5b81356139d261394f82613910565b8082825260208201915060208360051b8601019250858311156139f3575f5ffd5b602085015b8381101561293d5780356001600160401b03811115613a15575f5ffd5b613a24886020838a01016134df565b845250602092830192016139f8565b5f5f60408385031215613a44575f5ffd5b82356001600160401b03811115613a59575f5ffd5b830160408186031215613a6a575f5ffd5b613a72613421565b81356001600160401b03811115613a87575f5ffd5b820160c08188031215613a98575f5ffd5b613aa061346b565b81356001600160401b03811115613ab5575f5ffd5b613ac189828501613874565b825250613ad06020830161368b565b6020820152613ae16040830161368b565b6040820152613af26060830161369e565b606082015260808201356001600160401b03811115613b0f575f5ffd5b613b1b89828501613932565b60808301525060a09182013591810191909152815260208201356001600160401b03811115613b48575f5ffd5b613b54878285016139b5565b6020830152508093505050613b6b6020840161368b565b90509250929050565b6001600160a01b03831681526040602082018190525f906115fe90830184613779565b5f60208284031215613ba7575f5ffd5b81356001600160401b03811115613bbc575f5ffd5b6115fe848285016134df565b5f5f60408385031215613bd9575f5ffd5b82356001600160401b03811115613bee575f5ffd5b613bfa85828601613874565b92505060208301356001600160401b03811115613c15575f5ffd5b613c21858286016134df565b9150509250929050565b5f60208284031215613c3b575f5ffd5b81356001600160401b03811115613c50575f5ffd5b6115fe84828501613874565b602081525f6125a36020830184613779565b5f60208284031215613c7e575f5ffd5b81516125a3816133c7565b6020808252602a908201527f6d73672e73656e646572206973206e6f74207065726d697373696f6e6564206160408201526939903ab73830bab9b2b960b11b606082015260800190565b5f60208284031215613ce3575f5ffd5b81516125a381613647565b60208082526028908201527f6d73672e73656e646572206973206e6f74207065726d697373696f6e6564206160408201526739903830bab9b2b960c11b606082015260800190565b634e487b7160e01b5f52603260045260245ffd5b600181811c90821680613d5e57607f821691505b602082108103613d7c57634e487b7160e01b5f52602260045260245ffd5b50919050565b601f821115613dd05782821115613dd057805f5260205f20601f840160051c6020851015613dad57505f5b90810190601f840160051c035f5b81811015610a7c575f83820155600101613dbb565b505050565b81516001600160401b03811115613dee57613dee61340d565b613e0281613dfc8454613d4a565b84613d82565b6020601f821160018114613e34575f8315613e1d5750848201515b5f19600385901b1c1916600184901b17845561098e565b5f84815260208120601f198516915b82811015613e635787850151825560209485019460019092019101613e43565b5084821015613e8057868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b60208082526013908201527221b0b63632b91034b9903737ba1030b236b4b760691b604082015260600190565b6020808252604a908201527f4543445341536572766963654d616e61676572426173652e6f6e6c795374616b60408201527f6552656769737472793a2063616c6c6572206973206e6f7420746865207374616060820152696b65526567697374727960b01b608082015260a00190565b5f815160a08452613f4060a0850182613779565b602084810151908601526040808501519086015260608085015163ffffffff16908601526080938401516001600160a01b031693909401929092525090919050565b5f815160c08452613f9660c0850182613f2c565b905063ffffffff602084015116602085015263ffffffff604084015116604085015260ff60608401511660608501526080830151848203608086015281815180845260208401915060208160051b8501016020840193505f5b8281101561402057601f1986830301845261400b8286516137a7565b60209586019594909401939150600101613fef565b5060a087015160a0890152809550505050505092915050565b602081525f6125a36020830184613f82565b602081525f8251604060208401526140666060840182613f82565b602085810151858303601f19016040870152805180845292935081019181840191600582901b8501015f5b828110156140c257601f198683030184526140ad828651613779565b60209586019594909401939150600101614091565b50979650505050505050565b602081525f6125a36020830184613f2c565b634e487b7160e01b5f52601160045260245ffd5b63ffffffff8181168382160190811115610ddc57610ddc6140e0565b5f60208284031215614120575f5ffd5b5051919050565b5f8235609e1983360301811261413b575f5ffd5b9190910192915050565b8035613377816133c7565b6bffffffffffffffffffffffff81168114610653575f5ffd5b8183526020830192505f815f5b848110156141c8578135614189816133c7565b6001600160a01b0316865260208201356141a281614150565b6bffffffffffffffffffffffff1660208701526040958601959190910190600101614176565b5093949350505050565b602080825281018290525f6040600584901b830181019083018583609e1936839003015b878210156142da57868503603f190184528235818112614214575f5ffd5b8901803536829003601e1901811261422a575f5ffd5b81016020810190356001600160401b03811115614245575f5ffd5b8060061b3603821315614256575f5ffd5b60a0885261426860a089018284614169565b91505061427760208301614145565b6001600160a01b031660208801526040828101359088015261429b6060830161368b565b63ffffffff1660608801526142b26080830161368b565b63ffffffff8116608089015291509550506020938401939290920191600191909101906141f6565b5092979650505050505050565b5f602082840312156142f7575f5ffd5b81516001600160401b0381111561430c575f5ffd5b82016020818503121561431d575f5ffd5b61432561348d565b81516001600160401b0381111561433a575f5ffd5b80830192505084601f83011261434e575f5ffd5b815161435c61394f82613910565b8082825260208201915060208360061b86010192508783111561437d575f5ffd5b6020850194505b828510156143da576040858903121561439b575f5ffd5b6143a3613421565b85516143ae816133c7565b815260208601516143be81614150565b8060208301525080835250602082019150604085019450614384565b8352509095945050505050565b6001600160a01b03831681526040602080830182905283519183018290525f91908401906060840190835b818110156144395783516001600160a01b0316835260209384019390920191600101614412565b50909695505050505050565b5f60208284031215614455575f5ffd5b81516001600160401b0381111561446a575f5ffd5b8201601f8101841361447a575f5ffd5b805161448861394f82613910565b8082825260208201915060208360051b8501019250868311156144a9575f5ffd5b6020840193505b828410156144cb5783518252602093840193909101906144b0565b9695505050505050565b5f600182016144e6576144e66140e0565b5060010190565b60018060a01b0383168152604060208201525f82516060604084015261451660a0840182613779565b90506020840151606084015260408401516080840152809150509392505050565b5f81518060208401855e5f93019283525090919050565b7f19457468657265756d205369676e6564204d6573736167653a0a00000000000081525f6115fe614582601a840186614537565b84614537565b63ffffffff8281168282160390811115610ddc57610ddc6140e0565b80820180821115610ddc57610ddc6140e0565b634e487b7160e01b5f52601260045260245ffd5b5f826145d9576145d96145b7565b500690565b81810381811115610ddc57610ddc6140e0565b5f60ff821660ff8103614606576146066140e0565b60010192915050565b5f8261461d5761461d6145b7565b500490565b8082028115828204841417610ddc57610ddc6140e0565b60ff8181168382160190811115610ddc57610ddc6140e0565b5f61465d8287614537565b600560f91b81526146716001820187614537565b600560f91b815290506146876001820186614537565b600560f91b8152905061469d6001820185614537565b979650505050505050565b634e487b7160e01b5f52602160045260245ffd5b61060f60f31b81525f6125a36002830184614537565b6001815b600184111561333a578085048111156146f1576146f16140e0565b60018416156146ff57908102905b60019390931c9280026146d6565b5f8261471b57506001610ddc565b8161472757505f610ddc565b816001811461473d576002811461474757614763565b6001915050610ddc565b60ff841115614758576147586140e0565b50506001821b610ddc565b5060208310610133831016604e8410600b8410161715614786575081810a610ddc565b6147925f1984846146d2565b805f19048211156147a5576147a56140e0565b029392505050565b5f6125a3838361470d565b5f60ff8316806147ca576147ca6145b7565b8060ff84160491505092915050565b60ff8181168382160290811690818114612a7457612a746140e0565b60ff8281168282160390811115610ddc57610ddc6140e056fea2646970667358221220a51eaf07872263397e28bcc5982530f164b46c95f25372731d7576b5e5498adf64736f6c63430008210033",EF=t=>t.length>1,ef=class extends Hl{constructor(...e){EF(e)?super(...e):super(Xm,jN,e[0])}getDeployTransaction(e,r,n,s){return super.getDeployTransaction(e,r,n,s||{})}deploy(e,r,n,s){return super.deploy(e,r,n,s||{})}connect(e){return super.connect(e)}static bytecode=jN;static abi=Xm;static createInterface(){return new Si(Xm)}static connect(e,r){return new Tn(e,Xm,r)}};var WN={};function O2(t=Zm){let e=qm[t];if(!e)throw new Error(`No config found for chain ID: ${t}`);return WN[t]||=P2(e),WN[t]}function P2({rpcUrl:t,stakeRegistryAddress:e,avsDirectoryAddress:r,contractAddress:n,delegationManagerAddress:s},i=GN){let o=new ql(t),a=i?new Oi(i,o):void 0;return{provider:o,wallet:a,delegationManager:new Tn(s,_N,a||o),contract:ef.connect(n,a||o),registryContract:new Tn(e,YN,a||o),avsDirectory:new Tn(r,HN,a||o)}}async function zN({request:t,payer:e,chainId:r,...n}){let i=O2(r).contract.connect(e),o=typeof n.owner=="string"?n.owner:n.owner.address,a={...t,owner:o},u=await x(),f=await(await i.createNewTask(a,u||"0x00")).wait();return{task:(f?.logs??[]).filter(b=>b instanceof xs)[0]?.args,tx:f};function x(){if(o.toLowerCase()!==e.address.toLowerCase()){if("requestSignature"in n)return n.requestSignature;if(typeof n.owner!="object")throw new Error("Owner wallet must be provided or requestSignature must be provided");return U2(a,n.owner,r)}}}async function U2(t,e,r){let s=await O2(r).contract.encodeClaimRequest(t),i=await e.signMessage(ae(s));return ae(i)}var qh=32,F2=42;function JN(t){let e=yF(t.length/4),r=new DataView(t.buffer,t.byteOffset,t.byteLength);for(let n=0;n<e.length;n++)e[n]=r.getUint32(n*4,!0);return e}function yF(t){return typeof t=="number"?new Uint32Array(t):Uint32Array.from(t)}function KN(t){let e=new Uint8Array(t.length*4),r=new DataView(e.buffer,e.byteOffset,e.byteLength);for(let[n,s]of t.entries())r.setUint32(n*4,s,!0);return e}function Q2(t){let e=[];for(let r of t)for(let n=0;n<8;n++)r>>7-n&1?e.push(1):e.push(0);return e}function L2(t){let e=new Uint8Array(t.length/8);for(let r=0;r<t.length;r+=8)e[r/8]=XN(t.slice(r,r+8));return e}function qN(t){let e=[];for(let r of t)e.push(TF(r));return e}function ZN(t){let e=new Uint32Array(t.length/qh);for(let r=0;r<t.length;r+=qh)e[r/qh]=XN(t.slice(r,r+qh));return e}function tf(t,...e){let{uint8ArrayToBits:r}=Bn[t],n=[];for(let s of e)typeof s=="number"?n.push(...bF(t,s)):n.push(...r(s));return n}function bF(t,e){let{uint8ArrayToBits:r,isLittleEndian:n}=Bn[t],s=new Uint8Array(4);return new DataView(s.buffer).setUint32(0,e,n),r(wF(t,e)).flat()}function wF(t,e){let{isLittleEndian:r}=Bn[t],n=new Uint8Array(4);return new DataView(n.buffer).setUint32(0,e,r),n}function TF(t,e=qh){let r=[];for(let n=2**(e-1);n>=1;n/=2){let s=t>=n?1:0;r.push(s),t-=s*n}return r}function XN(t){let e=0,r=2**(t.length-1);for(let n of t)e+=n*r,r/=2;return e}function $N(t,e){let{startCounter:r}=Bn[t],n=Ja(t);if(e%n!==0)throw new Error(`offset(${e}) must be a multiple of block size(${n})`);return r+e/n}function Ja(t){let{chunkSize:e,bitsPerWord:r,blocksPerChunk:n}=Bn[t];return e*r/(8*n)}function e8(t,e,r){let n=Ja(t),s=[];for(let i=0;i<e.length;i+=n)s.push({iv:r,ciphertext:e.slice(i,i+n),offsetBytes:i});return s}function Zh(t,e){let r=Ja(e);return Math.ceil(t/r)*r}var t8="394f777fa404ef184652b6efc5aa60884dd55c7e",Bn={chacha20:{index:0,chunkSize:32,bitsPerWord:32,keySizeBytes:32,ivSizeBytes:12,startCounter:1,blocksPerChunk:2,isLittleEndian:!0,uint8ArrayToBits:t=>qN(JN(t)).flat(),bitsToUint8Array:t=>{let e=ZN(t);return KN(e)},encrypt:V2("CHACHA20-POLY1305")},"aes-256-ctr":{index:2,chunkSize:80,bitsPerWord:8,keySizeBytes:32,ivSizeBytes:12,startCounter:2,blocksPerChunk:5,isLittleEndian:!1,uint8ArrayToBits:Q2,bitsToUint8Array:L2,encrypt:V2("AES-256-GCM")},"aes-128-ctr":{index:1,chunkSize:80,bitsPerWord:8,keySizeBytes:16,ivSizeBytes:12,startCounter:2,blocksPerChunk:5,isLittleEndian:!1,uint8ArrayToBits:Q2,bitsToUint8Array:L2,encrypt:V2("AES-128-GCM")}};function V2(t){return async({key:e,iv:r,in:n})=>{let s=await Se.importKey(t,e),{ciphertext:i}=await Se.authenticatedEncrypt(t,{key:s,iv:r,data:n,aead:new Uint8Array(0)});return i.slice(0,n.length)}}async function G2(t){let{algorithm:e,operator:r,logger:n}=t,{witness:s,plaintextArray:i}=await CF(t),o;"mask"in t?o=await r.generateWitness({...s,toprf:t.toprf,mask:t.mask}):o=await r.generateWitness(s);let{proof:a}=await r.groth16Prove(o,n);return{algorithm:e,proofData:a,plaintext:"mask"in t?void 0:i}}async function H2(t){let e=await n8({algorithm:t.proof.algorithm,plaintext:t.proof.plaintext,publicInput:t.publicInput}),{proof:{proofData:r},operator:n,logger:s}=t,i;if("toprf"in t?i=await n.groth16Verify({...e,toprf:t.toprf},r,s):i=await n.groth16Verify(e,r,s),!i)throw new Error("invalid proof")}async function CF({algorithm:t,privateInput:{key:e},publicInput:r}){let{keySizeBytes:n}=Bn[t];if(e.length!==n)throw new Error(`key must be ${n} bytes`);let s={key:e,...await n8({publicInput:r,algorithm:t,key:e})};return{witness:s,plaintextArray:s.out}}async function n8({publicInput:t,algorithm:e,...r}){let{ivSizeBytes:n}=Bn[e],s=[],i=[],o=[],a=Ja(e),u=r8(e);if(t=Array.isArray(t)?t:[t],!t.length)throw new Error("at least one public input is required");for(let[d,{ciphertext:p,iv:m,offsetBytes:y=0}]of t.entries()){let x=e8(e,p,m);for(let O of x)await f({...O,offsetBytes:y+(O.offsetBytes||0)});if(d<t.length-1)continue;let b=s.reduce((O,P)=>O+P.length,0);if(b>=u)continue;let w=u-b,v=y+Zh(p.length,e);for(let O=0;O<w;O+=a)await f({ciphertext:new Uint8Array,iv:m,offsetBytes:v+O})}let l={noncesAndCounters:o,in:be(s),out:"plaintext"in r&&r.plaintext?r.plaintext:be(i)};if(l.in.length!==r8(e))throw new Error(`Ciphertext must be exactly ${u}b, got ${l.in.length}b`);return l;async function f({ciphertext:d,iv:p,offsetBytes:m=0}){if(p.length!==n)throw new Error(`iv must be ${n} bytes`);let y=$N(e,m);if(o.push({nonce:p,counter:y,boundary:void 0}),d=BF(d,a),s.push(d),"key"in r){let x=await IF({algorithm:e,key:r.key,iv:p,startOffset:m,ciphertext:d});i.push(x)}}}function BF(t,e){if(t.length>e)throw new Error(`ciphertext must be <= ${e}b`);if(t.length<e){let r=new Uint8Array(e);r.set(t),t=r}return t}function r8(t){let{blocksPerChunk:e}=Bn[t];return Ja(t)*e}async function IF({algorithm:t,key:e,iv:r,startOffset:n,ciphertext:s}){let{encrypt:i}=Bn[t],o=new Uint8Array(n+s.length);return o.set(s,n),(await i({key:e,iv:r,in:o})).slice(n)}var DF=`https://github.com/reclaimprotocol/zk-symmetric-crypto/raw/${t8}/resources/`,NF="../resources";function _2({baseUrl:t=DF,maxRetries:e=3,logger:r}={}){return{async fetch(n,s){let i=`${t}/${n}/${s}`,o;for(let a=1;a<=e;a++)try{let u=await fetch(i);if(!u.ok)throw new Error(`${n}-${s} fetch failed with code: ${u.status}`);let l=await u.arrayBuffer();return new Uint8Array(l)}catch(u){r?.warn({err:u,attempt:a,engine:n,filename:s},"failed to fetch zk resource"),o=u,a<e&&await new Promise(l=>setTimeout(l,1e3*a))}throw o||new Error(`Failed to fetch ${n}-${s} after ${e} attempts`)}}}function Y2({basePath:t=NF}={}){return{async fetch(e,r){let n=`${t}/${e}/${r}`,{readFile:s}=await import("fs/promises");return await s(new URL(n,import.meta.url))}}}var pR={};lc(pR,{AttestorVersion:()=>Zt,AuthenticatedUserData:()=>Ui,AuthenticationRequest:()=>o0,ClaimContext:()=>dR,ClaimContext_ExtractedParametersEntry:()=>rg,ClaimRequestData:()=>Ns,ClaimTeeBundleRequest:()=>Rs,ClaimTeeBundleRequest_Signatures:()=>Ju,ClaimTeeBundleResponse:()=>Ku,ClaimTeeBundleResponse_Signatures:()=>qu,ClaimTunnelRequest:()=>In,ClaimTunnelRequest_Signatures:()=>Zu,ClaimTunnelRequest_TranscriptMessage:()=>Xu,ClaimTunnelResponse:()=>Pi,ClaimTunnelResponse_Signatures:()=>$u,CompleteClaimOnAvsRequest:()=>r0,CompleteClaimOnAvsResponse:()=>n0,CreateTaskOnMechainRequest:()=>s0,CreateTaskOnMechainResponse:()=>i0,CreateTunnelRequest:()=>Is,DataSlice:()=>Ds,DisconnectTunnelRequest:()=>Qu,Empty:()=>Cs,ErrorCode:()=>Bt,ErrorData:()=>vt,FetchCertificateBytesRequest:()=>Uu,FetchCertificateBytesResponse:()=>Fu,InitRequest:()=>a0,InitResponse:()=>c0,MessageReveal:()=>Gu,MessageReveal_MessageRevealDirect:()=>Hu,MessageReveal_MessageRevealZk:()=>_u,MessageReveal_OPRFRawMarker:()=>Yu,MessageReveal_TOPRFProof:()=>Wu,MessageReveal_ZKProof:()=>ju,ProviderClaimData:()=>Bs,ProviderClaimInfo:()=>hR,RPCMessage:()=>Oo,RPCMessages:()=>Fi,RequestClaimOnAvsRequest:()=>e0,RequestClaimOnAvsResponse:()=>t0,ServiceSignatureType:()=>vs,TOPRFPayload:()=>zu,TOPRFRequest:()=>u0,TOPRFResponse:()=>Ss,TranscriptMessageSenderType:()=>Ms,TunnelDisconnectEvent:()=>Vu,TunnelMessage:()=>Lu,ZKProofEngine:()=>sn,attestorVersionFromJSON:()=>cR,attestorVersionToJSON:()=>uR,errorCodeFromJSON:()=>lR,errorCodeToJSON:()=>fR,protobufPackage:()=>QF,serviceSignatureTypeFromJSON:()=>oR,serviceSignatureTypeToJSON:()=>aR,transcriptMessageSenderTypeFromJSON:()=>sR,transcriptMessageSenderTypeToJSON:()=>iR,zKProofEngineFromJSON:()=>X2,zKProofEngineToJSON:()=>$2});function i8(){let t=0,e=0;for(let n=0;n<28;n+=7){let s=this.buf[this.pos++];if(t|=(s&127)<<n,(s&128)==0)return this.assertBounds(),[t,e]}let r=this.buf[this.pos++];if(t|=(r&15)<<28,e=(r&112)>>4,(r&128)==0)return this.assertBounds(),[t,e];for(let n=3;n<=31;n+=7){let s=this.buf[this.pos++];if(e|=(s&127)<<n,(s&128)==0)return this.assertBounds(),[t,e]}throw new Error("invalid varint")}function eg(t,e,r){for(let i=0;i<28;i=i+7){let o=t>>>i,a=!(!(o>>>7)&&e==0),u=(a?o|128:o)&255;if(r.push(u),!a)return}let n=t>>>28&15|(e&7)<<4,s=e>>3!=0;if(r.push((s?n|128:n)&255),!!s){for(let i=3;i<31;i=i+7){let o=e>>>i,a=!!(o>>>7),u=(a?o|128:o)&255;if(r.push(u),!a)return}r.push(e>>>31&1)}}var $m=4294967296;function j2(t){let e=t[0]==="-";e&&(t=t.slice(1));let r=1e6,n=0,s=0;function i(o,a){let u=Number(t.slice(o,a));s*=r,n=n*r+u,n>=$m&&(s=s+(n/$m|0),n=n%$m)}return i(-24,-18),i(-18,-12),i(-12,-6),i(-6),e?a8(n,s):z2(n,s)}function o8(t,e){let r=z2(t,e),n=r.hi&2147483648;n&&(r=a8(r.lo,r.hi));let s=W2(r.lo,r.hi);return n?"-"+s:s}function W2(t,e){if({lo:t,hi:e}=RF(t,e),e<=2097151)return String($m*e+t);let r=t&16777215,n=(t>>>24|e<<8)&16777215,s=e>>16&65535,i=r+n*6777216+s*6710656,o=n+s*8147497,a=s*2,u=1e7;return i>=u&&(o+=Math.floor(i/u),i%=u),o>=u&&(a+=Math.floor(o/u),o%=u),a.toString()+s8(o)+s8(i)}function RF(t,e){return{lo:t>>>0,hi:e>>>0}}function z2(t,e){return{lo:t|0,hi:e|0}}function a8(t,e){return e=~e,t?t=~t+1:e+=1,z2(t,e)}var s8=t=>{let e=String(t);return"0000000".slice(e.length)+e};function J2(t,e){if(t>=0){for(;t>127;)e.push(t&127|128),t=t>>>7;e.push(t)}else{for(let r=0;r<9;r++)e.push(t&127|128),t=t>>7;e.push(1)}}function c8(){let t=this.buf[this.pos++],e=t&127;if((t&128)==0)return this.assertBounds(),e;if(t=this.buf[this.pos++],e|=(t&127)<<7,(t&128)==0)return this.assertBounds(),e;if(t=this.buf[this.pos++],e|=(t&127)<<14,(t&128)==0)return this.assertBounds(),e;if(t=this.buf[this.pos++],e|=(t&127)<<21,(t&128)==0)return this.assertBounds(),e;t=this.buf[this.pos++],e|=(t&15)<<28;for(let r=5;(t&128)!==0&&r<10;r++)t=this.buf[this.pos++];if((t&128)!=0)throw new Error("invalid varint");return this.assertBounds(),e>>>0}var $s=SF();function SF(){let t=new DataView(new ArrayBuffer(8));if(typeof BigInt=="function"&&typeof t.getBigInt64=="function"&&typeof t.getBigUint64=="function"&&typeof t.setBigInt64=="function"&&typeof t.setBigUint64=="function"&&(!!globalThis.Deno||typeof process!="object"||typeof process.env!="object"||process.env.BUF_BIGINT_DISABLE!=="1")){let r=BigInt("-9223372036854775808"),n=BigInt("9223372036854775807"),s=BigInt("0"),i=BigInt("18446744073709551615");return{zero:BigInt(0),supported:!0,parse(o){let a=typeof o=="bigint"?o:BigInt(o);if(a>n||a<r)throw new Error(`invalid int64: ${o}`);return a},uParse(o){let a=typeof o=="bigint"?o:BigInt(o);if(a>i||a<s)throw new Error(`invalid uint64: ${o}`);return a},enc(o){return t.setBigInt64(0,this.parse(o),!0),{lo:t.getInt32(0,!0),hi:t.getInt32(4,!0)}},uEnc(o){return t.setBigInt64(0,this.uParse(o),!0),{lo:t.getInt32(0,!0),hi:t.getInt32(4,!0)}},dec(o,a){return t.setInt32(0,o,!0),t.setInt32(4,a,!0),t.getBigInt64(0,!0)},uDec(o,a){return t.setInt32(0,o,!0),t.setInt32(4,a,!0),t.getBigUint64(0,!0)}}}return{zero:"0",supported:!1,parse(r){return typeof r!="string"&&(r=r.toString()),u8(r),r},uParse(r){return typeof r!="string"&&(r=r.toString()),l8(r),r},enc(r){return typeof r!="string"&&(r=r.toString()),u8(r),j2(r)},uEnc(r){return typeof r!="string"&&(r=r.toString()),l8(r),j2(r)},dec(r,n){return o8(r,n)},uDec(r,n){return W2(r,n)}}}function u8(t){if(!/^-?[0-9]+$/.test(t))throw new Error("invalid int64: "+t)}function l8(t){if(!/^[0-9]+$/.test(t))throw new Error("invalid uint64: "+t)}var K2=Symbol.for("@bufbuild/protobuf/text-encoding");function q2(){if(globalThis[K2]==null){let t=new globalThis.TextEncoder,e=new globalThis.TextDecoder;globalThis[K2]={encodeUtf8(r){return t.encode(r)},decodeUtf8(r){return e.decode(r)},checkUtf8(r){try{return encodeURIComponent(r),!0}catch{return!1}}}}return globalThis[K2]}var Ka;(function(t){t[t.Varint=0]="Varint",t[t.Bit64=1]="Bit64",t[t.LengthDelimited=2]="LengthDelimited",t[t.StartGroup=3]="StartGroup",t[t.EndGroup=4]="EndGroup",t[t.Bit32=5]="Bit32"})(Ka||(Ka={}));var MF=34028234663852886e22,vF=-34028234663852886e22,kF=4294967295,OF=2147483647,PF=-2147483648,tt=class{constructor(e=q2().encodeUtf8){this.encodeUtf8=e,this.stack=[],this.chunks=[],this.buf=[]}finish(){this.buf.length&&(this.chunks.push(new Uint8Array(this.buf)),this.buf=[]);let e=0;for(let s=0;s<this.chunks.length;s++)e+=this.chunks[s].length;let r=new Uint8Array(e),n=0;for(let s=0;s<this.chunks.length;s++)r.set(this.chunks[s],n),n+=this.chunks[s].length;return this.chunks=[],r}fork(){return this.stack.push({chunks:this.chunks,buf:this.buf}),this.chunks=[],this.buf=[],this}join(){let e=this.finish(),r=this.stack.pop();if(!r)throw new Error("invalid state, fork stack empty");return this.chunks=r.chunks,this.buf=r.buf,this.uint32(e.byteLength),this.raw(e)}tag(e,r){return this.uint32((e<<3|r)>>>0)}raw(e){return this.buf.length&&(this.chunks.push(new Uint8Array(this.buf)),this.buf=[]),this.chunks.push(e),this}uint32(e){for(f8(e);e>127;)this.buf.push(e&127|128),e=e>>>7;return this.buf.push(e),this}int32(e){return Z2(e),J2(e,this.buf),this}bool(e){return this.buf.push(e?1:0),this}bytes(e){return this.uint32(e.byteLength),this.raw(e)}string(e){let r=this.encodeUtf8(e);return this.uint32(r.byteLength),this.raw(r)}float(e){UF(e);let r=new Uint8Array(4);return new DataView(r.buffer).setFloat32(0,e,!0),this.raw(r)}double(e){let r=new Uint8Array(8);return new DataView(r.buffer).setFloat64(0,e,!0),this.raw(r)}fixed32(e){f8(e);let r=new Uint8Array(4);return new DataView(r.buffer).setUint32(0,e,!0),this.raw(r)}sfixed32(e){Z2(e);let r=new Uint8Array(4);return new DataView(r.buffer).setInt32(0,e,!0),this.raw(r)}sint32(e){return Z2(e),e=(e<<1^e>>31)>>>0,J2(e,this.buf),this}sfixed64(e){let r=new Uint8Array(8),n=new DataView(r.buffer),s=$s.enc(e);return n.setInt32(0,s.lo,!0),n.setInt32(4,s.hi,!0),this.raw(r)}fixed64(e){let r=new Uint8Array(8),n=new DataView(r.buffer),s=$s.uEnc(e);return n.setInt32(0,s.lo,!0),n.setInt32(4,s.hi,!0),this.raw(r)}int64(e){let r=$s.enc(e);return eg(r.lo,r.hi,this.buf),this}sint64(e){let r=$s.enc(e),n=r.hi>>31,s=r.lo<<1^n,i=(r.hi<<1|r.lo>>>31)^n;return eg(s,i,this.buf),this}uint64(e){let r=$s.uEnc(e);return eg(r.lo,r.hi,this.buf),this}},xe=class{constructor(e,r=q2().decodeUtf8){this.decodeUtf8=r,this.varint64=i8,this.uint32=c8,this.buf=e,this.len=e.length,this.pos=0,this.view=new DataView(e.buffer,e.byteOffset,e.byteLength)}tag(){let e=this.uint32(),r=e>>>3,n=e&7;if(r<=0||n<0||n>5)throw new Error("illegal tag: field no "+r+" wire type "+n);return[r,n]}skip(e,r){let n=this.pos;switch(e){case Ka.Varint:for(;this.buf[this.pos++]&128;);break;case Ka.Bit64:this.pos+=4;case Ka.Bit32:this.pos+=4;break;case Ka.LengthDelimited:let s=this.uint32();this.pos+=s;break;case Ka.StartGroup:for(;;){let[i,o]=this.tag();if(o===Ka.EndGroup){if(r!==void 0&&i!==r)throw new Error("invalid end group tag");break}this.skip(o,i)}break;default:throw new Error("cant skip wire type "+e)}return this.assertBounds(),this.buf.subarray(n,this.pos)}assertBounds(){if(this.pos>this.len)throw new RangeError("premature EOF")}int32(){return this.uint32()|0}sint32(){let e=this.uint32();return e>>>1^-(e&1)}int64(){return $s.dec(...this.varint64())}uint64(){return $s.uDec(...this.varint64())}sint64(){let[e,r]=this.varint64(),n=-(e&1);return e=(e>>>1|(r&1)<<31)^n,r=r>>>1^n,$s.dec(e,r)}bool(){let[e,r]=this.varint64();return e!==0||r!==0}fixed32(){return this.view.getUint32((this.pos+=4)-4,!0)}sfixed32(){return this.view.getInt32((this.pos+=4)-4,!0)}fixed64(){return $s.uDec(this.sfixed32(),this.sfixed32())}sfixed64(){return $s.dec(this.sfixed32(),this.sfixed32())}float(){return this.view.getFloat32((this.pos+=4)-4,!0)}double(){return this.view.getFloat64((this.pos+=8)-8,!0)}bytes(){let e=this.uint32(),r=this.pos;return this.pos+=e,this.assertBounds(),this.buf.subarray(r,r+e)}string(){return this.decodeUtf8(this.bytes())}};function Z2(t){if(typeof t=="string")t=Number(t);else if(typeof t!="number")throw new Error("invalid int32: "+typeof t);if(!Number.isInteger(t)||t>OF||t<PF)throw new Error("invalid int32: "+t)}function f8(t){if(typeof t=="string")t=Number(t);else if(typeof t!="number")throw new Error("invalid uint32: "+typeof t);if(!Number.isInteger(t)||t>kF||t<0)throw new Error("invalid uint32: "+t)}function UF(t){if(typeof t=="string"){let e=t;if(t=Number(t),Number.isNaN(t)&&e!=="NaN")throw new Error("invalid float32: "+e)}else if(typeof t!="number")throw new Error("invalid float32: "+typeof t);if(Number.isFinite(t)&&(t>MF||t<vF))throw new Error("invalid float32: "+t)}function h8(t,e="std"){let r=FF(e),n=e=="std",s="",i=0,o,a=0;for(let u=0;u<t.length;u++)switch(o=t[u],i){case 0:s+=r[o>>2],a=(o&3)<<4,i=1;break;case 1:s+=r[a|o>>4],a=(o&15)<<2,i=2;break;case 2:s+=r[a|o>>6],s+=r[o&63],i=0;break}return i&&(s+=r[a],n&&(s+="=",i==1&&(s+="="))),s}var tg,d8;function FF(t){return tg||(tg="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".split(""),d8=tg.slice(0,-2).concat("-","_")),t=="url"?d8:tg}var QF="reclaim_attestor",Ms={TRANSCRIPT_MESSAGE_SENDER_TYPE_UNKNOWN:0,TRANSCRIPT_MESSAGE_SENDER_TYPE_CLIENT:1,TRANSCRIPT_MESSAGE_SENDER_TYPE_SERVER:2,UNRECOGNIZED:-1};function sR(t){switch(t){case 0:case"TRANSCRIPT_MESSAGE_SENDER_TYPE_UNKNOWN":return Ms.TRANSCRIPT_MESSAGE_SENDER_TYPE_UNKNOWN;case 1:case"TRANSCRIPT_MESSAGE_SENDER_TYPE_CLIENT":return Ms.TRANSCRIPT_MESSAGE_SENDER_TYPE_CLIENT;case 2:case"TRANSCRIPT_MESSAGE_SENDER_TYPE_SERVER":return Ms.TRANSCRIPT_MESSAGE_SENDER_TYPE_SERVER;case-1:case"UNRECOGNIZED":default:return Ms.UNRECOGNIZED}}function iR(t){switch(t){case Ms.TRANSCRIPT_MESSAGE_SENDER_TYPE_UNKNOWN:return"TRANSCRIPT_MESSAGE_SENDER_TYPE_UNKNOWN";case Ms.TRANSCRIPT_MESSAGE_SENDER_TYPE_CLIENT:return"TRANSCRIPT_MESSAGE_SENDER_TYPE_CLIENT";case Ms.TRANSCRIPT_MESSAGE_SENDER_TYPE_SERVER:return"TRANSCRIPT_MESSAGE_SENDER_TYPE_SERVER";case Ms.UNRECOGNIZED:default:return"UNRECOGNIZED"}}var vs={SERVICE_SIGNATURE_TYPE_UNKNOWN:0,SERVICE_SIGNATURE_TYPE_ETH:1,UNRECOGNIZED:-1};function oR(t){switch(t){case 0:case"SERVICE_SIGNATURE_TYPE_UNKNOWN":return vs.SERVICE_SIGNATURE_TYPE_UNKNOWN;case 1:case"SERVICE_SIGNATURE_TYPE_ETH":return vs.SERVICE_SIGNATURE_TYPE_ETH;case-1:case"UNRECOGNIZED":default:return vs.UNRECOGNIZED}}function aR(t){switch(t){case vs.SERVICE_SIGNATURE_TYPE_UNKNOWN:return"SERVICE_SIGNATURE_TYPE_UNKNOWN";case vs.SERVICE_SIGNATURE_TYPE_ETH:return"SERVICE_SIGNATURE_TYPE_ETH";case vs.UNRECOGNIZED:default:return"UNRECOGNIZED"}}var Zt={ATTESTOR_VERSION_UNKNOWN:0,ATTESTOR_VERSION_1_0_0:1,ATTESTOR_VERSION_1_1_0:2,ATTESTOR_VERSION_2_0_0:3,ATTESTOR_VERSION_2_0_1:4,ATTESTOR_VERSION_3_0_0:5,ATTESTOR_VERSION_3_1_0:6,ATTESTOR_VERSION_3_2_0:7,UNRECOGNIZED:-1};function cR(t){switch(t){case 0:case"ATTESTOR_VERSION_UNKNOWN":return Zt.ATTESTOR_VERSION_UNKNOWN;case 1:case"ATTESTOR_VERSION_1_0_0":return Zt.ATTESTOR_VERSION_1_0_0;case 2:case"ATTESTOR_VERSION_1_1_0":return Zt.ATTESTOR_VERSION_1_1_0;case 3:case"ATTESTOR_VERSION_2_0_0":return Zt.ATTESTOR_VERSION_2_0_0;case 4:case"ATTESTOR_VERSION_2_0_1":return Zt.ATTESTOR_VERSION_2_0_1;case 5:case"ATTESTOR_VERSION_3_0_0":return Zt.ATTESTOR_VERSION_3_0_0;case 6:case"ATTESTOR_VERSION_3_1_0":return Zt.ATTESTOR_VERSION_3_1_0;case 7:case"ATTESTOR_VERSION_3_2_0":return Zt.ATTESTOR_VERSION_3_2_0;case-1:case"UNRECOGNIZED":default:return Zt.UNRECOGNIZED}}function uR(t){switch(t){case Zt.ATTESTOR_VERSION_UNKNOWN:return"ATTESTOR_VERSION_UNKNOWN";case Zt.ATTESTOR_VERSION_1_0_0:return"ATTESTOR_VERSION_1_0_0";case Zt.ATTESTOR_VERSION_1_1_0:return"ATTESTOR_VERSION_1_1_0";case Zt.ATTESTOR_VERSION_2_0_0:return"ATTESTOR_VERSION_2_0_0";case Zt.ATTESTOR_VERSION_2_0_1:return"ATTESTOR_VERSION_2_0_1";case Zt.ATTESTOR_VERSION_3_0_0:return"ATTESTOR_VERSION_3_0_0";case Zt.ATTESTOR_VERSION_3_1_0:return"ATTESTOR_VERSION_3_1_0";case Zt.ATTESTOR_VERSION_3_2_0:return"ATTESTOR_VERSION_3_2_0";case Zt.UNRECOGNIZED:default:return"UNRECOGNIZED"}}var Bt={ERROR_NO_ERROR:0,ERROR_INTERNAL:1,ERROR_BAD_REQUEST:2,ERROR_NOT_FOUND:3,ERROR_PROXY_ERROR:4,ERROR_INVALID_CLAIM:5,ERROR_NETWORK_ERROR:6,ERROR_PAYMENT_REFUSED:7,ERROR_BGP_ANNOUNCEMENT_OVERLAP:8,ERROR_AUTHENTICATION_FAILED:9,ERROR_TIMEOUT:10,ERROR_TOPRF_OUT_OF_BOUNDS:11,ERROR_CERTIFICATE_FETCH_FAILED:12,UNRECOGNIZED:-1};function lR(t){switch(t){case 0:case"ERROR_NO_ERROR":return Bt.ERROR_NO_ERROR;case 1:case"ERROR_INTERNAL":return Bt.ERROR_INTERNAL;case 2:case"ERROR_BAD_REQUEST":return Bt.ERROR_BAD_REQUEST;case 3:case"ERROR_NOT_FOUND":return Bt.ERROR_NOT_FOUND;case 4:case"ERROR_PROXY_ERROR":return Bt.ERROR_PROXY_ERROR;case 5:case"ERROR_INVALID_CLAIM":return Bt.ERROR_INVALID_CLAIM;case 6:case"ERROR_NETWORK_ERROR":return Bt.ERROR_NETWORK_ERROR;case 7:case"ERROR_PAYMENT_REFUSED":return Bt.ERROR_PAYMENT_REFUSED;case 8:case"ERROR_BGP_ANNOUNCEMENT_OVERLAP":return Bt.ERROR_BGP_ANNOUNCEMENT_OVERLAP;case 9:case"ERROR_AUTHENTICATION_FAILED":return Bt.ERROR_AUTHENTICATION_FAILED;case 10:case"ERROR_TIMEOUT":return Bt.ERROR_TIMEOUT;case 11:case"ERROR_TOPRF_OUT_OF_BOUNDS":return Bt.ERROR_TOPRF_OUT_OF_BOUNDS;case 12:case"ERROR_CERTIFICATE_FETCH_FAILED":return Bt.ERROR_CERTIFICATE_FETCH_FAILED;case-1:case"UNRECOGNIZED":default:return Bt.UNRECOGNIZED}}function fR(t){switch(t){case Bt.ERROR_NO_ERROR:return"ERROR_NO_ERROR";case Bt.ERROR_INTERNAL:return"ERROR_INTERNAL";case Bt.ERROR_BAD_REQUEST:return"ERROR_BAD_REQUEST";case Bt.ERROR_NOT_FOUND:return"ERROR_NOT_FOUND";case Bt.ERROR_PROXY_ERROR:return"ERROR_PROXY_ERROR";case Bt.ERROR_INVALID_CLAIM:return"ERROR_INVALID_CLAIM";case Bt.ERROR_NETWORK_ERROR:return"ERROR_NETWORK_ERROR";case Bt.ERROR_PAYMENT_REFUSED:return"ERROR_PAYMENT_REFUSED";case Bt.ERROR_BGP_ANNOUNCEMENT_OVERLAP:return"ERROR_BGP_ANNOUNCEMENT_OVERLAP";case Bt.ERROR_AUTHENTICATION_FAILED:return"ERROR_AUTHENTICATION_FAILED";case Bt.ERROR_TIMEOUT:return"ERROR_TIMEOUT";case Bt.ERROR_TOPRF_OUT_OF_BOUNDS:return"ERROR_TOPRF_OUT_OF_BOUNDS";case Bt.ERROR_CERTIFICATE_FETCH_FAILED:return"ERROR_CERTIFICATE_FETCH_FAILED";case Bt.UNRECOGNIZED:default:return"UNRECOGNIZED"}}var sn={ZK_ENGINE_SNARKJS:0,ZK_ENGINE_GNARK:1,ZK_ENGINE_STWO:2,UNRECOGNIZED:-1};function X2(t){switch(t){case 0:case"ZK_ENGINE_SNARKJS":return sn.ZK_ENGINE_SNARKJS;case 1:case"ZK_ENGINE_GNARK":return sn.ZK_ENGINE_GNARK;case 2:case"ZK_ENGINE_STWO":return sn.ZK_ENGINE_STWO;case-1:case"UNRECOGNIZED":default:return sn.UNRECOGNIZED}}function $2(t){switch(t){case sn.ZK_ENGINE_SNARKJS:return"ZK_ENGINE_SNARKJS";case sn.ZK_ENGINE_GNARK:return"ZK_ENGINE_GNARK";case sn.ZK_ENGINE_STWO:return"ZK_ENGINE_STWO";case sn.UNRECOGNIZED:default:return"UNRECOGNIZED"}}function p8(){return{extractedParameters:{},providerHash:""}}var dR={encode(t,e=new tt){return globalThis.Object.entries(t.extractedParameters).forEach(([r,n])=>{rg.encode({key:r,value:n},e.uint32(10).fork()).join()}),t.providerHash!==""&&e.uint32(18).string(t.providerHash),e},decode(t,e){let r=t instanceof xe?t:new xe(t),n=e===void 0?r.len:r.pos+e,s=p8();for(;r.pos<n;){let i=r.uint32();switch(i>>>3){case 1:{if(i!==10)break;let o=rg.decode(r,r.uint32());o.value!==void 0&&(s.extractedParameters[o.key]=o.value);continue}case 2:{if(i!==18)break;s.providerHash=r.string();continue}}if((i&7)===4||i===0)break;r.skip(i&7)}return s},fromJSON(t){return{extractedParameters:VF(t.extractedParameters)?globalThis.Object.entries(t.extractedParameters).reduce((e,[r,n])=>(e[r]=globalThis.String(n),e),{}):{},providerHash:X(t.providerHash)?globalThis.String(t.providerHash):""}},toJSON(t){let e={};if(t.extractedParameters){let r=globalThis.Object.entries(t.extractedParameters);r.length>0&&(e.extractedParameters={},r.forEach(([n,s])=>{e.extractedParameters[n]=s}))}return t.providerHash!==""&&(e.providerHash=t.providerHash),e},create(t){return dR.fromPartial(t??{})},fromPartial(t){let e=p8();return e.extractedParameters=globalThis.Object.entries(t.extractedParameters??{}).reduce((r,[n,s])=>(s!==void 0&&(r[n]=globalThis.String(s)),r),{}),e.providerHash=t.providerHash??"",e}};function A8(){return{key:"",value:""}}var rg={encode(t,e=new tt){return t.key!==""&&e.uint32(10).string(t.key),t.value!==""&&e.uint32(18).string(t.value),e},decode(t,e){let r=t instanceof xe?t:new xe(t),n=e===void 0?r.len:r.pos+e,s=A8();for(;r.pos<n;){let i=r.uint32();switch(i>>>3){case 1:{if(i!==10)break;s.key=r.string();continue}case 2:{if(i!==18)break;s.value=r.string();continue}}if((i&7)===4||i===0)break;r.skip(i&7)}return s},fromJSON(t){return{key:X(t.key)?globalThis.String(t.key):"",value:X(t.value)?globalThis.String(t.value):""}},toJSON(t){let e={};return t.key!==""&&(e.key=t.key),t.value!==""&&(e.value=t.value),e},create(t){return rg.fromPartial(t??{})},fromPartial(t){let e=A8();return e.key=t.key??"",e.value=t.value??"",e}};function m8(){return{provider:"",parameters:"",owner:"",timestampS:0,context:"",identifier:"",epoch:0}}var Bs={encode(t,e=new tt){return t.provider!==""&&e.uint32(10).string(t.provider),t.parameters!==""&&e.uint32(18).string(t.parameters),t.owner!==""&&e.uint32(26).string(t.owner),t.timestampS!==0&&e.uint32(32).uint32(t.timestampS),t.context!==""&&e.uint32(50).string(t.context),t.identifier!==""&&e.uint32(66).string(t.identifier),t.epoch!==0&&e.uint32(72).uint32(t.epoch),e},decode(t,e){let r=t instanceof xe?t:new xe(t),n=e===void 0?r.len:r.pos+e,s=m8();for(;r.pos<n;){let i=r.uint32();switch(i>>>3){case 1:{if(i!==10)break;s.provider=r.string();continue}case 2:{if(i!==18)break;s.parameters=r.string();continue}case 3:{if(i!==26)break;s.owner=r.string();continue}case 4:{if(i!==32)break;s.timestampS=r.uint32();continue}case 6:{if(i!==50)break;s.context=r.string();continue}case 8:{if(i!==66)break;s.identifier=r.string();continue}case 9:{if(i!==72)break;s.epoch=r.uint32();continue}}if((i&7)===4||i===0)break;r.skip(i&7)}return s},fromJSON(t){return{provider:X(t.provider)?globalThis.String(t.provider):"",parameters:X(t.parameters)?globalThis.String(t.parameters):"",owner:X(t.owner)?globalThis.String(t.owner):"",timestampS:X(t.timestampS)?globalThis.Number(t.timestampS):0,context:X(t.context)?globalThis.String(t.context):"",identifier:X(t.identifier)?globalThis.String(t.identifier):"",epoch:X(t.epoch)?globalThis.Number(t.epoch):0}},toJSON(t){let e={};return t.provider!==""&&(e.provider=t.provider),t.parameters!==""&&(e.parameters=t.parameters),t.owner!==""&&(e.owner=t.owner),t.timestampS!==0&&(e.timestampS=Math.round(t.timestampS)),t.context!==""&&(e.context=t.context),t.identifier!==""&&(e.identifier=t.identifier),t.epoch!==0&&(e.epoch=Math.round(t.epoch)),e},create(t){return Bs.fromPartial(t??{})},fromPartial(t){let e=m8();return e.provider=t.provider??"",e.parameters=t.parameters??"",e.owner=t.owner??"",e.timestampS=t.timestampS??0,e.context=t.context??"",e.identifier=t.identifier??"",e.epoch=t.epoch??0,e}};function g8(){return{provider:"",parameters:"",context:""}}var hR={encode(t,e=new tt){return t.provider!==""&&e.uint32(10).string(t.provider),t.parameters!==""&&e.uint32(18).string(t.parameters),t.context!==""&&e.uint32(50).string(t.context),e},decode(t,e){let r=t instanceof xe?t:new xe(t),n=e===void 0?r.len:r.pos+e,s=g8();for(;r.pos<n;){let i=r.uint32();switch(i>>>3){case 1:{if(i!==10)break;s.provider=r.string();continue}case 2:{if(i!==18)break;s.parameters=r.string();continue}case 6:{if(i!==50)break;s.context=r.string();continue}}if((i&7)===4||i===0)break;r.skip(i&7)}return s},fromJSON(t){return{provider:X(t.provider)?globalThis.String(t.provider):"",parameters:X(t.parameters)?globalThis.String(t.parameters):"",context:X(t.context)?globalThis.String(t.context):""}},toJSON(t){let e={};return t.provider!==""&&(e.provider=t.provider),t.parameters!==""&&(e.parameters=t.parameters),t.context!==""&&(e.context=t.context),e},create(t){return hR.fromPartial(t??{})},fromPartial(t){let e=g8();return e.provider=t.provider??"",e.parameters=t.parameters??"",e.context=t.context??"",e}};function E8(){return{code:0,message:"",data:""}}var vt={encode(t,e=new tt){return t.code!==0&&e.uint32(8).int32(t.code),t.message!==""&&e.uint32(18).string(t.message),t.data!==""&&e.uint32(26).string(t.data),e},decode(t,e){let r=t instanceof xe?t:new xe(t),n=e===void 0?r.len:r.pos+e,s=E8();for(;r.pos<n;){let i=r.uint32();switch(i>>>3){case 1:{if(i!==8)break;s.code=r.int32();continue}case 2:{if(i!==18)break;s.message=r.string();continue}case 3:{if(i!==26)break;s.data=r.string();continue}}if((i&7)===4||i===0)break;r.skip(i&7)}return s},fromJSON(t){return{code:X(t.code)?lR(t.code):0,message:X(t.message)?globalThis.String(t.message):"",data:X(t.data)?globalThis.String(t.data):""}},toJSON(t){let e={};return t.code!==0&&(e.code=fR(t.code)),t.message!==""&&(e.message=t.message),t.data!==""&&(e.data=t.data),e},create(t){return vt.fromPartial(t??{})},fromPartial(t){let e=E8();return e.code=t.code??0,e.message=t.message??"",e.data=t.data??"",e}};function x8(){return{id:0,host:"",port:0,geoLocation:"",proxySessionId:""}}var Is={encode(t,e=new tt){return t.id!==0&&e.uint32(8).uint32(t.id),t.host!==""&&e.uint32(18).string(t.host),t.port!==0&&e.uint32(24).uint32(t.port),t.geoLocation!==""&&e.uint32(34).string(t.geoLocation),t.proxySessionId!==""&&e.uint32(42).string(t.proxySessionId),e},decode(t,e){let r=t instanceof xe?t:new xe(t),n=e===void 0?r.len:r.pos+e,s=x8();for(;r.pos<n;){let i=r.uint32();switch(i>>>3){case 1:{if(i!==8)break;s.id=r.uint32();continue}case 2:{if(i!==18)break;s.host=r.string();continue}case 3:{if(i!==24)break;s.port=r.uint32();continue}case 4:{if(i!==34)break;s.geoLocation=r.string();continue}case 5:{if(i!==42)break;s.proxySessionId=r.string();continue}}if((i&7)===4||i===0)break;r.skip(i&7)}return s},fromJSON(t){return{id:X(t.id)?globalThis.Number(t.id):0,host:X(t.host)?globalThis.String(t.host):"",port:X(t.port)?globalThis.Number(t.port):0,geoLocation:X(t.geoLocation)?globalThis.String(t.geoLocation):"",proxySessionId:X(t.proxySessionId)?globalThis.String(t.proxySessionId):""}},toJSON(t){let e={};return t.id!==0&&(e.id=Math.round(t.id)),t.host!==""&&(e.host=t.host),t.port!==0&&(e.port=Math.round(t.port)),t.geoLocation!==""&&(e.geoLocation=t.geoLocation),t.proxySessionId!==""&&(e.proxySessionId=t.proxySessionId),e},create(t){return Is.fromPartial(t??{})},fromPartial(t){let e=x8();return e.id=t.id??0,e.host=t.host??"",e.port=t.port??0,e.geoLocation=t.geoLocation??"",e.proxySessionId=t.proxySessionId??"",e}};function y8(){return{url:""}}var Uu={encode(t,e=new tt){return t.url!==""&&e.uint32(10).string(t.url),e},decode(t,e){let r=t instanceof xe?t:new xe(t),n=e===void 0?r.len:r.pos+e,s=y8();for(;r.pos<n;){let i=r.uint32();switch(i>>>3){case 1:{if(i!==10)break;s.url=r.string();continue}}if((i&7)===4||i===0)break;r.skip(i&7)}return s},fromJSON(t){return{url:X(t.url)?globalThis.String(t.url):""}},toJSON(t){let e={};return t.url!==""&&(e.url=t.url),e},create(t){return Uu.fromPartial(t??{})},fromPartial(t){let e=y8();return e.url=t.url??"",e}};function b8(){return{bytes:new Uint8Array(0)}}var Fu={encode(t,e=new tt){return t.bytes.length!==0&&e.uint32(10).bytes(t.bytes),e},decode(t,e){let r=t instanceof xe?t:new xe(t),n=e===void 0?r.len:r.pos+e,s=b8();for(;r.pos<n;){let i=r.uint32();switch(i>>>3){case 1:{if(i!==10)break;s.bytes=r.bytes();continue}}if((i&7)===4||i===0)break;r.skip(i&7)}return s},fromJSON(t){return{bytes:X(t.bytes)?Ht(t.bytes):new Uint8Array(0)}},toJSON(t){let e={};return t.bytes.length!==0&&(e.bytes=_t(t.bytes)),e},create(t){return Fu.fromPartial(t??{})},fromPartial(t){let e=b8();return e.bytes=t.bytes??new Uint8Array(0),e}};function w8(){return{id:0}}var Qu={encode(t,e=new tt){return t.id!==0&&e.uint32(8).uint32(t.id),e},decode(t,e){let r=t instanceof xe?t:new xe(t),n=e===void 0?r.len:r.pos+e,s=w8();for(;r.pos<n;){let i=r.uint32();switch(i>>>3){case 1:{if(i!==8)break;s.id=r.uint32();continue}}if((i&7)===4||i===0)break;r.skip(i&7)}return s},fromJSON(t){return{id:X(t.id)?globalThis.Number(t.id):0}},toJSON(t){let e={};return t.id!==0&&(e.id=Math.round(t.id)),e},create(t){return Qu.fromPartial(t??{})},fromPartial(t){let e=w8();return e.id=t.id??0,e}};function T8(){return{}}var Cs={encode(t,e=new tt){return e},decode(t,e){let r=t instanceof xe?t:new xe(t),n=e===void 0?r.len:r.pos+e,s=T8();for(;r.pos<n;){let i=r.uint32();if(i>>>3,(i&7)===4||i===0)break;r.skip(i&7)}return s},fromJSON(t){return{}},toJSON(t){return{}},create(t){return Cs.fromPartial(t??{})},fromPartial(t){return T8()}};function C8(){return{tunnelId:0,message:new Uint8Array(0)}}var Lu={encode(t,e=new tt){return t.tunnelId!==0&&e.uint32(8).uint32(t.tunnelId),t.message.length!==0&&e.uint32(18).bytes(t.message),e},decode(t,e){let r=t instanceof xe?t:new xe(t),n=e===void 0?r.len:r.pos+e,s=C8();for(;r.pos<n;){let i=r.uint32();switch(i>>>3){case 1:{if(i!==8)break;s.tunnelId=r.uint32();continue}case 2:{if(i!==18)break;s.message=r.bytes();continue}}if((i&7)===4||i===0)break;r.skip(i&7)}return s},fromJSON(t){return{tunnelId:X(t.tunnelId)?globalThis.Number(t.tunnelId):0,message:X(t.message)?Ht(t.message):new Uint8Array(0)}},toJSON(t){let e={};return t.tunnelId!==0&&(e.tunnelId=Math.round(t.tunnelId)),t.message.length!==0&&(e.message=_t(t.message)),e},create(t){return Lu.fromPartial(t??{})},fromPartial(t){let e=C8();return e.tunnelId=t.tunnelId??0,e.message=t.message??new Uint8Array(0),e}};function B8(){return{tunnelId:0,error:void 0}}var Vu={encode(t,e=new tt){return t.tunnelId!==0&&e.uint32(8).uint32(t.tunnelId),t.error!==void 0&&vt.encode(t.error,e.uint32(18).fork()).join(),e},decode(t,e){let r=t instanceof xe?t:new xe(t),n=e===void 0?r.len:r.pos+e,s=B8();for(;r.pos<n;){let i=r.uint32();switch(i>>>3){case 1:{if(i!==8)break;s.tunnelId=r.uint32();continue}case 2:{if(i!==18)break;s.error=vt.decode(r,r.uint32());continue}}if((i&7)===4||i===0)break;r.skip(i&7)}return s},fromJSON(t){return{tunnelId:X(t.tunnelId)?globalThis.Number(t.tunnelId):0,error:X(t.error)?vt.fromJSON(t.error):void 0}},toJSON(t){let e={};return t.tunnelId!==0&&(e.tunnelId=Math.round(t.tunnelId)),t.error!==void 0&&(e.error=vt.toJSON(t.error)),e},create(t){return Vu.fromPartial(t??{})},fromPartial(t){let e=B8();return e.tunnelId=t.tunnelId??0,e.error=t.error!==void 0&&t.error!==null?vt.fromPartial(t.error):void 0,e}};function I8(){return{directReveal:void 0,zkReveal:void 0}}var Gu={encode(t,e=new tt){return t.directReveal!==void 0&&Hu.encode(t.directReveal,e.uint32(10).fork()).join(),t.zkReveal!==void 0&&_u.encode(t.zkReveal,e.uint32(18).fork()).join(),e},decode(t,e){let r=t instanceof xe?t:new xe(t),n=e===void 0?r.len:r.pos+e,s=I8();for(;r.pos<n;){let i=r.uint32();switch(i>>>3){case 1:{if(i!==10)break;s.directReveal=Hu.decode(r,r.uint32());continue}case 2:{if(i!==18)break;s.zkReveal=_u.decode(r,r.uint32());continue}}if((i&7)===4||i===0)break;r.skip(i&7)}return s},fromJSON(t){return{directReveal:X(t.directReveal)?Hu.fromJSON(t.directReveal):void 0,zkReveal:X(t.zkReveal)?_u.fromJSON(t.zkReveal):void 0}},toJSON(t){let e={};return t.directReveal!==void 0&&(e.directReveal=Hu.toJSON(t.directReveal)),t.zkReveal!==void 0&&(e.zkReveal=_u.toJSON(t.zkReveal)),e},create(t){return Gu.fromPartial(t??{})},fromPartial(t){let e=I8();return e.directReveal=t.directReveal!==void 0&&t.directReveal!==null?Hu.fromPartial(t.directReveal):void 0,e.zkReveal=t.zkReveal!==void 0&&t.zkReveal!==null?_u.fromPartial(t.zkReveal):void 0,e}};function D8(){return{key:new Uint8Array(0),iv:new Uint8Array(0),recordNumber:0}}var Hu={encode(t,e=new tt){return t.key.length!==0&&e.uint32(10).bytes(t.key),t.iv.length!==0&&e.uint32(18).bytes(t.iv),t.recordNumber!==0&&e.uint32(24).uint32(t.recordNumber),e},decode(t,e){let r=t instanceof xe?t:new xe(t),n=e===void 0?r.len:r.pos+e,s=D8();for(;r.pos<n;){let i=r.uint32();switch(i>>>3){case 1:{if(i!==10)break;s.key=r.bytes();continue}case 2:{if(i!==18)break;s.iv=r.bytes();continue}case 3:{if(i!==24)break;s.recordNumber=r.uint32();continue}}if((i&7)===4||i===0)break;r.skip(i&7)}return s},fromJSON(t){return{key:X(t.key)?Ht(t.key):new Uint8Array(0),iv:X(t.iv)?Ht(t.iv):new Uint8Array(0),recordNumber:X(t.recordNumber)?globalThis.Number(t.recordNumber):0}},toJSON(t){let e={};return t.key.length!==0&&(e.key=_t(t.key)),t.iv.length!==0&&(e.iv=_t(t.iv)),t.recordNumber!==0&&(e.recordNumber=Math.round(t.recordNumber)),e},create(t){return Hu.fromPartial(t??{})},fromPartial(t){let e=D8();return e.key=t.key??new Uint8Array(0),e.iv=t.iv??new Uint8Array(0),e.recordNumber=t.recordNumber??0,e}};function N8(){return{proofs:[],toprfs:[],oprfRawMarkers:[],overshotOprfRawLength:0}}var _u={encode(t,e=new tt){for(let r of t.proofs)ju.encode(r,e.uint32(10).fork()).join();for(let r of t.toprfs)Wu.encode(r,e.uint32(18).fork()).join();for(let r of t.oprfRawMarkers)Yu.encode(r,e.uint32(26).fork()).join();return t.overshotOprfRawLength!==0&&e.uint32(32).uint32(t.overshotOprfRawLength),e},decode(t,e){let r=t instanceof xe?t:new xe(t),n=e===void 0?r.len:r.pos+e,s=N8();for(;r.pos<n;){let i=r.uint32();switch(i>>>3){case 1:{if(i!==10)break;s.proofs.push(ju.decode(r,r.uint32()));continue}case 2:{if(i!==18)break;s.toprfs.push(Wu.decode(r,r.uint32()));continue}case 3:{if(i!==26)break;s.oprfRawMarkers.push(Yu.decode(r,r.uint32()));continue}case 4:{if(i!==32)break;s.overshotOprfRawLength=r.uint32();continue}}if((i&7)===4||i===0)break;r.skip(i&7)}return s},fromJSON(t){return{proofs:globalThis.Array.isArray(t?.proofs)?t.proofs.map(e=>ju.fromJSON(e)):[],toprfs:globalThis.Array.isArray(t?.toprfs)?t.toprfs.map(e=>Wu.fromJSON(e)):[],oprfRawMarkers:globalThis.Array.isArray(t?.oprfRawMarkers)?t.oprfRawMarkers.map(e=>Yu.fromJSON(e)):[],overshotOprfRawLength:X(t.overshotOprfRawLength)?globalThis.Number(t.overshotOprfRawLength):0}},toJSON(t){let e={};return t.proofs?.length&&(e.proofs=t.proofs.map(r=>ju.toJSON(r))),t.toprfs?.length&&(e.toprfs=t.toprfs.map(r=>Wu.toJSON(r))),t.oprfRawMarkers?.length&&(e.oprfRawMarkers=t.oprfRawMarkers.map(r=>Yu.toJSON(r))),t.overshotOprfRawLength!==0&&(e.overshotOprfRawLength=Math.round(t.overshotOprfRawLength)),e},create(t){return _u.fromPartial(t??{})},fromPartial(t){let e=N8();return e.proofs=t.proofs?.map(r=>ju.fromPartial(r))||[],e.toprfs=t.toprfs?.map(r=>Wu.fromPartial(r))||[],e.oprfRawMarkers=t.oprfRawMarkers?.map(r=>Yu.fromPartial(r))||[],e.overshotOprfRawLength=t.overshotOprfRawLength??0,e}};function R8(){return{dataLocation:void 0}}var Yu={encode(t,e=new tt){return t.dataLocation!==void 0&&Ds.encode(t.dataLocation,e.uint32(10).fork()).join(),e},decode(t,e){let r=t instanceof xe?t:new xe(t),n=e===void 0?r.len:r.pos+e,s=R8();for(;r.pos<n;){let i=r.uint32();switch(i>>>3){case 1:{if(i!==10)break;s.dataLocation=Ds.decode(r,r.uint32());continue}}if((i&7)===4||i===0)break;r.skip(i&7)}return s},fromJSON(t){return{dataLocation:X(t.dataLocation)?Ds.fromJSON(t.dataLocation):void 0}},toJSON(t){let e={};return t.dataLocation!==void 0&&(e.dataLocation=Ds.toJSON(t.dataLocation)),e},create(t){return Yu.fromPartial(t??{})},fromPartial(t){let e=R8();return e.dataLocation=t.dataLocation!==void 0&&t.dataLocation!==null?Ds.fromPartial(t.dataLocation):void 0,e}};function S8(){return{decryptedRedactedCiphertext:new Uint8Array(0),redactedPlaintext:new Uint8Array(0),startIdx:0,proofData:new Uint8Array(0)}}var ju={encode(t,e=new tt){return t.decryptedRedactedCiphertext.length!==0&&e.uint32(18).bytes(t.decryptedRedactedCiphertext),t.redactedPlaintext.length!==0&&e.uint32(26).bytes(t.redactedPlaintext),t.startIdx!==0&&e.uint32(32).uint32(t.startIdx),t.proofData.length!==0&&e.uint32(42).bytes(t.proofData),e},decode(t,e){let r=t instanceof xe?t:new xe(t),n=e===void 0?r.len:r.pos+e,s=S8();for(;r.pos<n;){let i=r.uint32();switch(i>>>3){case 2:{if(i!==18)break;s.decryptedRedactedCiphertext=r.bytes();continue}case 3:{if(i!==26)break;s.redactedPlaintext=r.bytes();continue}case 4:{if(i!==32)break;s.startIdx=r.uint32();continue}case 5:{if(i!==42)break;s.proofData=r.bytes();continue}}if((i&7)===4||i===0)break;r.skip(i&7)}return s},fromJSON(t){return{decryptedRedactedCiphertext:X(t.decryptedRedactedCiphertext)?Ht(t.decryptedRedactedCiphertext):new Uint8Array(0),redactedPlaintext:X(t.redactedPlaintext)?Ht(t.redactedPlaintext):new Uint8Array(0),startIdx:X(t.startIdx)?globalThis.Number(t.startIdx):0,proofData:X(t.proofData)?Ht(t.proofData):new Uint8Array(0)}},toJSON(t){let e={};return t.decryptedRedactedCiphertext.length!==0&&(e.decryptedRedactedCiphertext=_t(t.decryptedRedactedCiphertext)),t.redactedPlaintext.length!==0&&(e.redactedPlaintext=_t(t.redactedPlaintext)),t.startIdx!==0&&(e.startIdx=Math.round(t.startIdx)),t.proofData.length!==0&&(e.proofData=_t(t.proofData)),e},create(t){return ju.fromPartial(t??{})},fromPartial(t){let e=S8();return e.decryptedRedactedCiphertext=t.decryptedRedactedCiphertext??new Uint8Array(0),e.redactedPlaintext=t.redactedPlaintext??new Uint8Array(0),e.startIdx=t.startIdx??0,e.proofData=t.proofData??new Uint8Array(0),e}};function M8(){return{startIdx:0,proofData:new Uint8Array(0),payload:void 0}}var Wu={encode(t,e=new tt){return t.startIdx!==0&&e.uint32(8).uint32(t.startIdx),t.proofData.length!==0&&e.uint32(18).bytes(t.proofData),t.payload!==void 0&&zu.encode(t.payload,e.uint32(26).fork()).join(),e},decode(t,e){let r=t instanceof xe?t:new xe(t),n=e===void 0?r.len:r.pos+e,s=M8();for(;r.pos<n;){let i=r.uint32();switch(i>>>3){case 1:{if(i!==8)break;s.startIdx=r.uint32();continue}case 2:{if(i!==18)break;s.proofData=r.bytes();continue}case 3:{if(i!==26)break;s.payload=zu.decode(r,r.uint32());continue}}if((i&7)===4||i===0)break;r.skip(i&7)}return s},fromJSON(t){return{startIdx:X(t.startIdx)?globalThis.Number(t.startIdx):0,proofData:X(t.proofData)?Ht(t.proofData):new Uint8Array(0),payload:X(t.payload)?zu.fromJSON(t.payload):void 0}},toJSON(t){let e={};return t.startIdx!==0&&(e.startIdx=Math.round(t.startIdx)),t.proofData.length!==0&&(e.proofData=_t(t.proofData)),t.payload!==void 0&&(e.payload=zu.toJSON(t.payload)),e},create(t){return Wu.fromPartial(t??{})},fromPartial(t){let e=M8();return e.startIdx=t.startIdx??0,e.proofData=t.proofData??new Uint8Array(0),e.payload=t.payload!==void 0&&t.payload!==null?zu.fromPartial(t.payload):void 0,e}};function v8(){return{dataLocation:void 0,nullifier:new Uint8Array(0),responses:[]}}var zu={encode(t,e=new tt){t.dataLocation!==void 0&&Ds.encode(t.dataLocation,e.uint32(10).fork()).join(),t.nullifier.length!==0&&e.uint32(18).bytes(t.nullifier);for(let r of t.responses)Ss.encode(r,e.uint32(26).fork()).join();return e},decode(t,e){let r=t instanceof xe?t:new xe(t),n=e===void 0?r.len:r.pos+e,s=v8();for(;r.pos<n;){let i=r.uint32();switch(i>>>3){case 1:{if(i!==10)break;s.dataLocation=Ds.decode(r,r.uint32());continue}case 2:{if(i!==18)break;s.nullifier=r.bytes();continue}case 3:{if(i!==26)break;s.responses.push(Ss.decode(r,r.uint32()));continue}}if((i&7)===4||i===0)break;r.skip(i&7)}return s},fromJSON(t){return{dataLocation:X(t.dataLocation)?Ds.fromJSON(t.dataLocation):void 0,nullifier:X(t.nullifier)?Ht(t.nullifier):new Uint8Array(0),responses:globalThis.Array.isArray(t?.responses)?t.responses.map(e=>Ss.fromJSON(e)):[]}},toJSON(t){let e={};return t.dataLocation!==void 0&&(e.dataLocation=Ds.toJSON(t.dataLocation)),t.nullifier.length!==0&&(e.nullifier=_t(t.nullifier)),t.responses?.length&&(e.responses=t.responses.map(r=>Ss.toJSON(r))),e},create(t){return zu.fromPartial(t??{})},fromPartial(t){let e=v8();return e.dataLocation=t.dataLocation!==void 0&&t.dataLocation!==null?Ds.fromPartial(t.dataLocation):void 0,e.nullifier=t.nullifier??new Uint8Array(0),e.responses=t.responses?.map(r=>Ss.fromPartial(r))||[],e}};function k8(){return{fromIndex:0,length:0}}var Ds={encode(t,e=new tt){return t.fromIndex!==0&&e.uint32(8).uint32(t.fromIndex),t.length!==0&&e.uint32(16).uint32(t.length),e},decode(t,e){let r=t instanceof xe?t:new xe(t),n=e===void 0?r.len:r.pos+e,s=k8();for(;r.pos<n;){let i=r.uint32();switch(i>>>3){case 1:{if(i!==8)break;s.fromIndex=r.uint32();continue}case 2:{if(i!==16)break;s.length=r.uint32();continue}}if((i&7)===4||i===0)break;r.skip(i&7)}return s},fromJSON(t){return{fromIndex:X(t.fromIndex)?globalThis.Number(t.fromIndex):0,length:X(t.length)?globalThis.Number(t.length):0}},toJSON(t){let e={};return t.fromIndex!==0&&(e.fromIndex=Math.round(t.fromIndex)),t.length!==0&&(e.length=Math.round(t.length)),e},create(t){return Ds.fromPartial(t??{})},fromPartial(t){let e=k8();return e.fromIndex=t.fromIndex??0,e.length=t.length??0,e}};function O8(){return{provider:"",parameters:"",owner:"",timestampS:0,context:""}}var Ns={encode(t,e=new tt){return t.provider!==""&&e.uint32(10).string(t.provider),t.parameters!==""&&e.uint32(18).string(t.parameters),t.owner!==""&&e.uint32(26).string(t.owner),t.timestampS!==0&&e.uint32(32).uint32(t.timestampS),t.context!==""&&e.uint32(42).string(t.context),e},decode(t,e){let r=t instanceof xe?t:new xe(t),n=e===void 0?r.len:r.pos+e,s=O8();for(;r.pos<n;){let i=r.uint32();switch(i>>>3){case 1:{if(i!==10)break;s.provider=r.string();continue}case 2:{if(i!==18)break;s.parameters=r.string();continue}case 3:{if(i!==26)break;s.owner=r.string();continue}case 4:{if(i!==32)break;s.timestampS=r.uint32();continue}case 5:{if(i!==42)break;s.context=r.string();continue}}if((i&7)===4||i===0)break;r.skip(i&7)}return s},fromJSON(t){return{provider:X(t.provider)?globalThis.String(t.provider):"",parameters:X(t.parameters)?globalThis.String(t.parameters):"",owner:X(t.owner)?globalThis.String(t.owner):"",timestampS:X(t.timestampS)?globalThis.Number(t.timestampS):0,context:X(t.context)?globalThis.String(t.context):""}},toJSON(t){let e={};return t.provider!==""&&(e.provider=t.provider),t.parameters!==""&&(e.parameters=t.parameters),t.owner!==""&&(e.owner=t.owner),t.timestampS!==0&&(e.timestampS=Math.round(t.timestampS)),t.context!==""&&(e.context=t.context),e},create(t){return Ns.fromPartial(t??{})},fromPartial(t){let e=O8();return e.provider=t.provider??"",e.parameters=t.parameters??"",e.owner=t.owner??"",e.timestampS=t.timestampS??0,e.context=t.context??"",e}};function P8(){return{verificationBundle:new Uint8Array(0),data:void 0,signatures:void 0}}var Rs={encode(t,e=new tt){return t.verificationBundle.length!==0&&e.uint32(10).bytes(t.verificationBundle),t.data!==void 0&&Ns.encode(t.data,e.uint32(18).fork()).join(),t.signatures!==void 0&&Ju.encode(t.signatures,e.uint32(26).fork()).join(),e},decode(t,e){let r=t instanceof xe?t:new xe(t),n=e===void 0?r.len:r.pos+e,s=P8();for(;r.pos<n;){let i=r.uint32();switch(i>>>3){case 1:{if(i!==10)break;s.verificationBundle=r.bytes();continue}case 2:{if(i!==18)break;s.data=Ns.decode(r,r.uint32());continue}case 3:{if(i!==26)break;s.signatures=Ju.decode(r,r.uint32());continue}}if((i&7)===4||i===0)break;r.skip(i&7)}return s},fromJSON(t){return{verificationBundle:X(t.verificationBundle)?Ht(t.verificationBundle):new Uint8Array(0),data:X(t.data)?Ns.fromJSON(t.data):void 0,signatures:X(t.signatures)?Ju.fromJSON(t.signatures):void 0}},toJSON(t){let e={};return t.verificationBundle.length!==0&&(e.verificationBundle=_t(t.verificationBundle)),t.data!==void 0&&(e.data=Ns.toJSON(t.data)),t.signatures!==void 0&&(e.signatures=Ju.toJSON(t.signatures)),e},create(t){return Rs.fromPartial(t??{})},fromPartial(t){let e=P8();return e.verificationBundle=t.verificationBundle??new Uint8Array(0),e.data=t.data!==void 0&&t.data!==null?Ns.fromPartial(t.data):void 0,e.signatures=t.signatures!==void 0&&t.signatures!==null?Ju.fromPartial(t.signatures):void 0,e}};function U8(){return{requestSignature:new Uint8Array(0)}}var Ju={encode(t,e=new tt){return t.requestSignature.length!==0&&e.uint32(10).bytes(t.requestSignature),e},decode(t,e){let r=t instanceof xe?t:new xe(t),n=e===void 0?r.len:r.pos+e,s=U8();for(;r.pos<n;){let i=r.uint32();switch(i>>>3){case 1:{if(i!==10)break;s.requestSignature=r.bytes();continue}}if((i&7)===4||i===0)break;r.skip(i&7)}return s},fromJSON(t){return{requestSignature:X(t.requestSignature)?Ht(t.requestSignature):new Uint8Array(0)}},toJSON(t){let e={};return t.requestSignature.length!==0&&(e.requestSignature=_t(t.requestSignature)),e},create(t){return Ju.fromPartial(t??{})},fromPartial(t){let e=U8();return e.requestSignature=t.requestSignature??new Uint8Array(0),e}};function F8(){return{request:void 0,claim:void 0,error:void 0,signatures:void 0}}var Ku={encode(t,e=new tt){return t.request!==void 0&&Rs.encode(t.request,e.uint32(10).fork()).join(),t.claim!==void 0&&Bs.encode(t.claim,e.uint32(18).fork()).join(),t.error!==void 0&&vt.encode(t.error,e.uint32(26).fork()).join(),t.signatures!==void 0&&qu.encode(t.signatures,e.uint32(34).fork()).join(),e},decode(t,e){let r=t instanceof xe?t:new xe(t),n=e===void 0?r.len:r.pos+e,s=F8();for(;r.pos<n;){let i=r.uint32();switch(i>>>3){case 1:{if(i!==10)break;s.request=Rs.decode(r,r.uint32());continue}case 2:{if(i!==18)break;s.claim=Bs.decode(r,r.uint32());continue}case 3:{if(i!==26)break;s.error=vt.decode(r,r.uint32());continue}case 4:{if(i!==34)break;s.signatures=qu.decode(r,r.uint32());continue}}if((i&7)===4||i===0)break;r.skip(i&7)}return s},fromJSON(t){return{request:X(t.request)?Rs.fromJSON(t.request):void 0,claim:X(t.claim)?Bs.fromJSON(t.claim):void 0,error:X(t.error)?vt.fromJSON(t.error):void 0,signatures:X(t.signatures)?qu.fromJSON(t.signatures):void 0}},toJSON(t){let e={};return t.request!==void 0&&(e.request=Rs.toJSON(t.request)),t.claim!==void 0&&(e.claim=Bs.toJSON(t.claim)),t.error!==void 0&&(e.error=vt.toJSON(t.error)),t.signatures!==void 0&&(e.signatures=qu.toJSON(t.signatures)),e},create(t){return Ku.fromPartial(t??{})},fromPartial(t){let e=F8();return e.request=t.request!==void 0&&t.request!==null?Rs.fromPartial(t.request):void 0,e.claim=t.claim!==void 0&&t.claim!==null?Bs.fromPartial(t.claim):void 0,e.error=t.error!==void 0&&t.error!==null?vt.fromPartial(t.error):void 0,e.signatures=t.signatures!==void 0&&t.signatures!==null?qu.fromPartial(t.signatures):void 0,e}};function Q8(){return{attestorAddress:"",claimSignature:new Uint8Array(0),resultSignature:new Uint8Array(0)}}var qu={encode(t,e=new tt){return t.attestorAddress!==""&&e.uint32(10).string(t.attestorAddress),t.claimSignature.length!==0&&e.uint32(18).bytes(t.claimSignature),t.resultSignature.length!==0&&e.uint32(26).bytes(t.resultSignature),e},decode(t,e){let r=t instanceof xe?t:new xe(t),n=e===void 0?r.len:r.pos+e,s=Q8();for(;r.pos<n;){let i=r.uint32();switch(i>>>3){case 1:{if(i!==10)break;s.attestorAddress=r.string();continue}case 2:{if(i!==18)break;s.claimSignature=r.bytes();continue}case 3:{if(i!==26)break;s.resultSignature=r.bytes();continue}}if((i&7)===4||i===0)break;r.skip(i&7)}return s},fromJSON(t){return{attestorAddress:X(t.attestorAddress)?globalThis.String(t.attestorAddress):"",claimSignature:X(t.claimSignature)?Ht(t.claimSignature):new Uint8Array(0),resultSignature:X(t.resultSignature)?Ht(t.resultSignature):new Uint8Array(0)}},toJSON(t){let e={};return t.attestorAddress!==""&&(e.attestorAddress=t.attestorAddress),t.claimSignature.length!==0&&(e.claimSignature=_t(t.claimSignature)),t.resultSignature.length!==0&&(e.resultSignature=_t(t.resultSignature)),e},create(t){return qu.fromPartial(t??{})},fromPartial(t){let e=Q8();return e.attestorAddress=t.attestorAddress??"",e.claimSignature=t.claimSignature??new Uint8Array(0),e.resultSignature=t.resultSignature??new Uint8Array(0),e}};function L8(){return{request:void 0,data:void 0,transcript:[],signatures:void 0,zkEngine:0,fixedServerIV:new Uint8Array(0),fixedClientIV:new Uint8Array(0)}}var In={encode(t,e=new tt){t.request!==void 0&&Is.encode(t.request,e.uint32(10).fork()).join(),t.data!==void 0&&Ns.encode(t.data,e.uint32(18).fork()).join();for(let r of t.transcript)Xu.encode(r,e.uint32(26).fork()).join();return t.signatures!==void 0&&Zu.encode(t.signatures,e.uint32(34).fork()).join(),t.zkEngine!==0&&e.uint32(40).int32(t.zkEngine),t.fixedServerIV.length!==0&&e.uint32(50).bytes(t.fixedServerIV),t.fixedClientIV.length!==0&&e.uint32(58).bytes(t.fixedClientIV),e},decode(t,e){let r=t instanceof xe?t:new xe(t),n=e===void 0?r.len:r.pos+e,s=L8();for(;r.pos<n;){let i=r.uint32();switch(i>>>3){case 1:{if(i!==10)break;s.request=Is.decode(r,r.uint32());continue}case 2:{if(i!==18)break;s.data=Ns.decode(r,r.uint32());continue}case 3:{if(i!==26)break;s.transcript.push(Xu.decode(r,r.uint32()));continue}case 4:{if(i!==34)break;s.signatures=Zu.decode(r,r.uint32());continue}case 5:{if(i!==40)break;s.zkEngine=r.int32();continue}case 6:{if(i!==50)break;s.fixedServerIV=r.bytes();continue}case 7:{if(i!==58)break;s.fixedClientIV=r.bytes();continue}}if((i&7)===4||i===0)break;r.skip(i&7)}return s},fromJSON(t){return{request:X(t.request)?Is.fromJSON(t.request):void 0,data:X(t.data)?Ns.fromJSON(t.data):void 0,transcript:globalThis.Array.isArray(t?.transcript)?t.transcript.map(e=>Xu.fromJSON(e)):[],signatures:X(t.signatures)?Zu.fromJSON(t.signatures):void 0,zkEngine:X(t.zkEngine)?X2(t.zkEngine):0,fixedServerIV:X(t.fixedServerIV)?Ht(t.fixedServerIV):new Uint8Array(0),fixedClientIV:X(t.fixedClientIV)?Ht(t.fixedClientIV):new Uint8Array(0)}},toJSON(t){let e={};return t.request!==void 0&&(e.request=Is.toJSON(t.request)),t.data!==void 0&&(e.data=Ns.toJSON(t.data)),t.transcript?.length&&(e.transcript=t.transcript.map(r=>Xu.toJSON(r))),t.signatures!==void 0&&(e.signatures=Zu.toJSON(t.signatures)),t.zkEngine!==0&&(e.zkEngine=$2(t.zkEngine)),t.fixedServerIV.length!==0&&(e.fixedServerIV=_t(t.fixedServerIV)),t.fixedClientIV.length!==0&&(e.fixedClientIV=_t(t.fixedClientIV)),e},create(t){return In.fromPartial(t??{})},fromPartial(t){let e=L8();return e.request=t.request!==void 0&&t.request!==null?Is.fromPartial(t.request):void 0,e.data=t.data!==void 0&&t.data!==null?Ns.fromPartial(t.data):void 0,e.transcript=t.transcript?.map(r=>Xu.fromPartial(r))||[],e.signatures=t.signatures!==void 0&&t.signatures!==null?Zu.fromPartial(t.signatures):void 0,e.zkEngine=t.zkEngine??0,e.fixedServerIV=t.fixedServerIV??new Uint8Array(0),e.fixedClientIV=t.fixedClientIV??new Uint8Array(0),e}};function V8(){return{requestSignature:new Uint8Array(0)}}var Zu={encode(t,e=new tt){return t.requestSignature.length!==0&&e.uint32(10).bytes(t.requestSignature),e},decode(t,e){let r=t instanceof xe?t:new xe(t),n=e===void 0?r.len:r.pos+e,s=V8();for(;r.pos<n;){let i=r.uint32();switch(i>>>3){case 1:{if(i!==10)break;s.requestSignature=r.bytes();continue}}if((i&7)===4||i===0)break;r.skip(i&7)}return s},fromJSON(t){return{requestSignature:X(t.requestSignature)?Ht(t.requestSignature):new Uint8Array(0)}},toJSON(t){let e={};return t.requestSignature.length!==0&&(e.requestSignature=_t(t.requestSignature)),e},create(t){return Zu.fromPartial(t??{})},fromPartial(t){let e=V8();return e.requestSignature=t.requestSignature??new Uint8Array(0),e}};function G8(){return{sender:0,message:new Uint8Array(0),reveal:void 0}}var Xu={encode(t,e=new tt){return t.sender!==0&&e.uint32(8).int32(t.sender),t.message.length!==0&&e.uint32(18).bytes(t.message),t.reveal!==void 0&&Gu.encode(t.reveal,e.uint32(26).fork()).join(),e},decode(t,e){let r=t instanceof xe?t:new xe(t),n=e===void 0?r.len:r.pos+e,s=G8();for(;r.pos<n;){let i=r.uint32();switch(i>>>3){case 1:{if(i!==8)break;s.sender=r.int32();continue}case 2:{if(i!==18)break;s.message=r.bytes();continue}case 3:{if(i!==26)break;s.reveal=Gu.decode(r,r.uint32());continue}}if((i&7)===4||i===0)break;r.skip(i&7)}return s},fromJSON(t){return{sender:X(t.sender)?sR(t.sender):0,message:X(t.message)?Ht(t.message):new Uint8Array(0),reveal:X(t.reveal)?Gu.fromJSON(t.reveal):void 0}},toJSON(t){let e={};return t.sender!==0&&(e.sender=iR(t.sender)),t.message.length!==0&&(e.message=_t(t.message)),t.reveal!==void 0&&(e.reveal=Gu.toJSON(t.reveal)),e},create(t){return Xu.fromPartial(t??{})},fromPartial(t){let e=G8();return e.sender=t.sender??0,e.message=t.message??new Uint8Array(0),e.reveal=t.reveal!==void 0&&t.reveal!==null?Gu.fromPartial(t.reveal):void 0,e}};function H8(){return{request:void 0,claim:void 0,error:void 0,signatures:void 0}}var Pi={encode(t,e=new tt){return t.request!==void 0&&In.encode(t.request,e.uint32(10).fork()).join(),t.claim!==void 0&&Bs.encode(t.claim,e.uint32(18).fork()).join(),t.error!==void 0&&vt.encode(t.error,e.uint32(26).fork()).join(),t.signatures!==void 0&&$u.encode(t.signatures,e.uint32(34).fork()).join(),e},decode(t,e){let r=t instanceof xe?t:new xe(t),n=e===void 0?r.len:r.pos+e,s=H8();for(;r.pos<n;){let i=r.uint32();switch(i>>>3){case 1:{if(i!==10)break;s.request=In.decode(r,r.uint32());continue}case 2:{if(i!==18)break;s.claim=Bs.decode(r,r.uint32());continue}case 3:{if(i!==26)break;s.error=vt.decode(r,r.uint32());continue}case 4:{if(i!==34)break;s.signatures=$u.decode(r,r.uint32());continue}}if((i&7)===4||i===0)break;r.skip(i&7)}return s},fromJSON(t){return{request:X(t.request)?In.fromJSON(t.request):void 0,claim:X(t.claim)?Bs.fromJSON(t.claim):void 0,error:X(t.error)?vt.fromJSON(t.error):void 0,signatures:X(t.signatures)?$u.fromJSON(t.signatures):void 0}},toJSON(t){let e={};return t.request!==void 0&&(e.request=In.toJSON(t.request)),t.claim!==void 0&&(e.claim=Bs.toJSON(t.claim)),t.error!==void 0&&(e.error=vt.toJSON(t.error)),t.signatures!==void 0&&(e.signatures=$u.toJSON(t.signatures)),e},create(t){return Pi.fromPartial(t??{})},fromPartial(t){let e=H8();return e.request=t.request!==void 0&&t.request!==null?In.fromPartial(t.request):void 0,e.claim=t.claim!==void 0&&t.claim!==null?Bs.fromPartial(t.claim):void 0,e.error=t.error!==void 0&&t.error!==null?vt.fromPartial(t.error):void 0,e.signatures=t.signatures!==void 0&&t.signatures!==null?$u.fromPartial(t.signatures):void 0,e}};function _8(){return{attestorAddress:"",claimSignature:new Uint8Array(0),resultSignature:new Uint8Array(0)}}var $u={encode(t,e=new tt){return t.attestorAddress!==""&&e.uint32(10).string(t.attestorAddress),t.claimSignature.length!==0&&e.uint32(18).bytes(t.claimSignature),t.resultSignature.length!==0&&e.uint32(26).bytes(t.resultSignature),e},decode(t,e){let r=t instanceof xe?t:new xe(t),n=e===void 0?r.len:r.pos+e,s=_8();for(;r.pos<n;){let i=r.uint32();switch(i>>>3){case 1:{if(i!==10)break;s.attestorAddress=r.string();continue}case 2:{if(i!==18)break;s.claimSignature=r.bytes();continue}case 3:{if(i!==26)break;s.resultSignature=r.bytes();continue}}if((i&7)===4||i===0)break;r.skip(i&7)}return s},fromJSON(t){return{attestorAddress:X(t.attestorAddress)?globalThis.String(t.attestorAddress):"",claimSignature:X(t.claimSignature)?Ht(t.claimSignature):new Uint8Array(0),resultSignature:X(t.resultSignature)?Ht(t.resultSignature):new Uint8Array(0)}},toJSON(t){let e={};return t.attestorAddress!==""&&(e.attestorAddress=t.attestorAddress),t.claimSignature.length!==0&&(e.claimSignature=_t(t.claimSignature)),t.resultSignature.length!==0&&(e.resultSignature=_t(t.resultSignature)),e},create(t){return $u.fromPartial(t??{})},fromPartial(t){let e=_8();return e.attestorAddress=t.attestorAddress??"",e.claimSignature=t.claimSignature??new Uint8Array(0),e.resultSignature=t.resultSignature??new Uint8Array(0),e}};function Y8(){return{chainId:0,jsonCreateClaimRequest:"",requestSignature:new Uint8Array(0)}}var e0={encode(t,e=new tt){return t.chainId!==0&&e.uint32(8).uint32(t.chainId),t.jsonCreateClaimRequest!==""&&e.uint32(18).string(t.jsonCreateClaimRequest),t.requestSignature.length!==0&&e.uint32(26).bytes(t.requestSignature),e},decode(t,e){let r=t instanceof xe?t:new xe(t),n=e===void 0?r.len:r.pos+e,s=Y8();for(;r.pos<n;){let i=r.uint32();switch(i>>>3){case 1:{if(i!==8)break;s.chainId=r.uint32();continue}case 2:{if(i!==18)break;s.jsonCreateClaimRequest=r.string();continue}case 3:{if(i!==26)break;s.requestSignature=r.bytes();continue}}if((i&7)===4||i===0)break;r.skip(i&7)}return s},fromJSON(t){return{chainId:X(t.chainId)?globalThis.Number(t.chainId):0,jsonCreateClaimRequest:X(t.jsonCreateClaimRequest)?globalThis.String(t.jsonCreateClaimRequest):"",requestSignature:X(t.requestSignature)?Ht(t.requestSignature):new Uint8Array(0)}},toJSON(t){let e={};return t.chainId!==0&&(e.chainId=Math.round(t.chainId)),t.jsonCreateClaimRequest!==""&&(e.jsonCreateClaimRequest=t.jsonCreateClaimRequest),t.requestSignature.length!==0&&(e.requestSignature=_t(t.requestSignature)),e},create(t){return e0.fromPartial(t??{})},fromPartial(t){let e=Y8();return e.chainId=t.chainId??0,e.jsonCreateClaimRequest=t.jsonCreateClaimRequest??"",e.requestSignature=t.requestSignature??new Uint8Array(0),e}};function j8(){return{txHash:"",taskIndex:0,jsonTask:""}}var t0={encode(t,e=new tt){return t.txHash!==""&&e.uint32(10).string(t.txHash),t.taskIndex!==0&&e.uint32(16).uint32(t.taskIndex),t.jsonTask!==""&&e.uint32(26).string(t.jsonTask),e},decode(t,e){let r=t instanceof xe?t:new xe(t),n=e===void 0?r.len:r.pos+e,s=j8();for(;r.pos<n;){let i=r.uint32();switch(i>>>3){case 1:{if(i!==10)break;s.txHash=r.string();continue}case 2:{if(i!==16)break;s.taskIndex=r.uint32();continue}case 3:{if(i!==26)break;s.jsonTask=r.string();continue}}if((i&7)===4||i===0)break;r.skip(i&7)}return s},fromJSON(t){return{txHash:X(t.txHash)?globalThis.String(t.txHash):"",taskIndex:X(t.taskIndex)?globalThis.Number(t.taskIndex):0,jsonTask:X(t.jsonTask)?globalThis.String(t.jsonTask):""}},toJSON(t){let e={};return t.txHash!==""&&(e.txHash=t.txHash),t.taskIndex!==0&&(e.taskIndex=Math.round(t.taskIndex)),t.jsonTask!==""&&(e.jsonTask=t.jsonTask),e},create(t){return t0.fromPartial(t??{})},fromPartial(t){let e=j8();return e.txHash=t.txHash??"",e.taskIndex=t.taskIndex??0,e.jsonTask=t.jsonTask??"",e}};function W8(){return{chainId:0,taskIndex:0,completedTaskJson:""}}var r0={encode(t,e=new tt){return t.chainId!==0&&e.uint32(8).uint32(t.chainId),t.taskIndex!==0&&e.uint32(16).uint32(t.taskIndex),t.completedTaskJson!==""&&e.uint32(26).string(t.completedTaskJson),e},decode(t,e){let r=t instanceof xe?t:new xe(t),n=e===void 0?r.len:r.pos+e,s=W8();for(;r.pos<n;){let i=r.uint32();switch(i>>>3){case 1:{if(i!==8)break;s.chainId=r.uint32();continue}case 2:{if(i!==16)break;s.taskIndex=r.uint32();continue}case 3:{if(i!==26)break;s.completedTaskJson=r.string();continue}}if((i&7)===4||i===0)break;r.skip(i&7)}return s},fromJSON(t){return{chainId:X(t.chainId)?globalThis.Number(t.chainId):0,taskIndex:X(t.taskIndex)?globalThis.Number(t.taskIndex):0,completedTaskJson:X(t.completedTaskJson)?globalThis.String(t.completedTaskJson):""}},toJSON(t){let e={};return t.chainId!==0&&(e.chainId=Math.round(t.chainId)),t.taskIndex!==0&&(e.taskIndex=Math.round(t.taskIndex)),t.completedTaskJson!==""&&(e.completedTaskJson=t.completedTaskJson),e},create(t){return r0.fromPartial(t??{})},fromPartial(t){let e=W8();return e.chainId=t.chainId??0,e.taskIndex=t.taskIndex??0,e.completedTaskJson=t.completedTaskJson??"",e}};function z8(){return{txHash:"",taskCompletedObjectJson:""}}var n0={encode(t,e=new tt){return t.txHash!==""&&e.uint32(10).string(t.txHash),t.taskCompletedObjectJson!==""&&e.uint32(18).string(t.taskCompletedObjectJson),e},decode(t,e){let r=t instanceof xe?t:new xe(t),n=e===void 0?r.len:r.pos+e,s=z8();for(;r.pos<n;){let i=r.uint32();switch(i>>>3){case 1:{if(i!==10)break;s.txHash=r.string();continue}case 2:{if(i!==18)break;s.taskCompletedObjectJson=r.string();continue}}if((i&7)===4||i===0)break;r.skip(i&7)}return s},fromJSON(t){return{txHash:X(t.txHash)?globalThis.String(t.txHash):"",taskCompletedObjectJson:X(t.taskCompletedObjectJson)?globalThis.String(t.taskCompletedObjectJson):""}},toJSON(t){let e={};return t.txHash!==""&&(e.txHash=t.txHash),t.taskCompletedObjectJson!==""&&(e.taskCompletedObjectJson=t.taskCompletedObjectJson),e},create(t){return n0.fromPartial(t??{})},fromPartial(t){let e=z8();return e.txHash=t.txHash??"",e.taskCompletedObjectJson=t.taskCompletedObjectJson??"",e}};function J8(){return{timestamp:0}}var s0={encode(t,e=new tt){return t.timestamp!==0&&e.uint32(8).uint32(t.timestamp),e},decode(t,e){let r=t instanceof xe?t:new xe(t),n=e===void 0?r.len:r.pos+e,s=J8();for(;r.pos<n;){let i=r.uint32();switch(i>>>3){case 1:{if(i!==8)break;s.timestamp=r.uint32();continue}}if((i&7)===4||i===0)break;r.skip(i&7)}return s},fromJSON(t){return{timestamp:X(t.timestamp)?globalThis.Number(t.timestamp):0}},toJSON(t){let e={};return t.timestamp!==0&&(e.timestamp=Math.round(t.timestamp)),e},create(t){return s0.fromPartial(t??{})},fromPartial(t){let e=J8();return e.timestamp=t.timestamp??0,e}};function K8(){return{taskId:0,requiredAttestors:0,hosts:[]}}var i0={encode(t,e=new tt){t.taskId!==0&&e.uint32(8).uint32(t.taskId),t.requiredAttestors!==0&&e.uint32(16).uint32(t.requiredAttestors);for(let r of t.hosts)e.uint32(26).string(r);return e},decode(t,e){let r=t instanceof xe?t:new xe(t),n=e===void 0?r.len:r.pos+e,s=K8();for(;r.pos<n;){let i=r.uint32();switch(i>>>3){case 1:{if(i!==8)break;s.taskId=r.uint32();continue}case 2:{if(i!==16)break;s.requiredAttestors=r.uint32();continue}case 3:{if(i!==26)break;s.hosts.push(r.string());continue}}if((i&7)===4||i===0)break;r.skip(i&7)}return s},fromJSON(t){return{taskId:X(t.taskId)?globalThis.Number(t.taskId):0,requiredAttestors:X(t.requiredAttestors)?globalThis.Number(t.requiredAttestors):0,hosts:globalThis.Array.isArray(t?.hosts)?t.hosts.map(e=>globalThis.String(e)):[]}},toJSON(t){let e={};return t.taskId!==0&&(e.taskId=Math.round(t.taskId)),t.requiredAttestors!==0&&(e.requiredAttestors=Math.round(t.requiredAttestors)),t.hosts?.length&&(e.hosts=t.hosts),e},create(t){return i0.fromPartial(t??{})},fromPartial(t){let e=K8();return e.taskId=t.taskId??0,e.requiredAttestors=t.requiredAttestors??0,e.hosts=t.hosts?.map(r=>r)||[],e}};function q8(){return{id:"",createdAt:0,expiresAt:0,hostWhitelist:[]}}var Ui={encode(t,e=new tt){t.id!==""&&e.uint32(10).string(t.id),t.createdAt!==0&&e.uint32(16).uint32(t.createdAt),t.expiresAt!==0&&e.uint32(24).uint32(t.expiresAt);for(let r of t.hostWhitelist)e.uint32(34).string(r);return e},decode(t,e){let r=t instanceof xe?t:new xe(t),n=e===void 0?r.len:r.pos+e,s=q8();for(;r.pos<n;){let i=r.uint32();switch(i>>>3){case 1:{if(i!==10)break;s.id=r.string();continue}case 2:{if(i!==16)break;s.createdAt=r.uint32();continue}case 3:{if(i!==24)break;s.expiresAt=r.uint32();continue}case 4:{if(i!==34)break;s.hostWhitelist.push(r.string());continue}}if((i&7)===4||i===0)break;r.skip(i&7)}return s},fromJSON(t){return{id:X(t.id)?globalThis.String(t.id):"",createdAt:X(t.createdAt)?globalThis.Number(t.createdAt):0,expiresAt:X(t.expiresAt)?globalThis.Number(t.expiresAt):0,hostWhitelist:globalThis.Array.isArray(t?.hostWhitelist)?t.hostWhitelist.map(e=>globalThis.String(e)):[]}},toJSON(t){let e={};return t.id!==""&&(e.id=t.id),t.createdAt!==0&&(e.createdAt=Math.round(t.createdAt)),t.expiresAt!==0&&(e.expiresAt=Math.round(t.expiresAt)),t.hostWhitelist?.length&&(e.hostWhitelist=t.hostWhitelist),e},create(t){return Ui.fromPartial(t??{})},fromPartial(t){let e=q8();return e.id=t.id??"",e.createdAt=t.createdAt??0,e.expiresAt=t.expiresAt??0,e.hostWhitelist=t.hostWhitelist?.map(r=>r)||[],e}};function Z8(){return{data:void 0,signature:new Uint8Array(0)}}var o0={encode(t,e=new tt){return t.data!==void 0&&Ui.encode(t.data,e.uint32(10).fork()).join(),t.signature.length!==0&&e.uint32(18).bytes(t.signature),e},decode(t,e){let r=t instanceof xe?t:new xe(t),n=e===void 0?r.len:r.pos+e,s=Z8();for(;r.pos<n;){let i=r.uint32();switch(i>>>3){case 1:{if(i!==10)break;s.data=Ui.decode(r,r.uint32());continue}case 2:{if(i!==18)break;s.signature=r.bytes();continue}}if((i&7)===4||i===0)break;r.skip(i&7)}return s},fromJSON(t){return{data:X(t.data)?Ui.fromJSON(t.data):void 0,signature:X(t.signature)?Ht(t.signature):new Uint8Array(0)}},toJSON(t){let e={};return t.data!==void 0&&(e.data=Ui.toJSON(t.data)),t.signature.length!==0&&(e.signature=_t(t.signature)),e},create(t){return o0.fromPartial(t??{})},fromPartial(t){let e=Z8();return e.data=t.data!==void 0&&t.data!==null?Ui.fromPartial(t.data):void 0,e.signature=t.signature??new Uint8Array(0),e}};function X8(){return{clientVersion:0,signatureType:0,auth:void 0}}var a0={encode(t,e=new tt){return t.clientVersion!==0&&e.uint32(16).int32(t.clientVersion),t.signatureType!==0&&e.uint32(24).int32(t.signatureType),t.auth!==void 0&&o0.encode(t.auth,e.uint32(34).fork()).join(),e},decode(t,e){let r=t instanceof xe?t:new xe(t),n=e===void 0?r.len:r.pos+e,s=X8();for(;r.pos<n;){let i=r.uint32();switch(i>>>3){case 2:{if(i!==16)break;s.clientVersion=r.int32();continue}case 3:{if(i!==24)break;s.signatureType=r.int32();continue}case 4:{if(i!==34)break;s.auth=o0.decode(r,r.uint32());continue}}if((i&7)===4||i===0)break;r.skip(i&7)}return s},fromJSON(t){return{clientVersion:X(t.clientVersion)?cR(t.clientVersion):0,signatureType:X(t.signatureType)?oR(t.signatureType):0,auth:X(t.auth)?o0.fromJSON(t.auth):void 0}},toJSON(t){let e={};return t.clientVersion!==0&&(e.clientVersion=uR(t.clientVersion)),t.signatureType!==0&&(e.signatureType=aR(t.signatureType)),t.auth!==void 0&&(e.auth=o0.toJSON(t.auth)),e},create(t){return a0.fromPartial(t??{})},fromPartial(t){let e=X8();return e.clientVersion=t.clientVersion??0,e.signatureType=t.signatureType??0,e.auth=t.auth!==void 0&&t.auth!==null?o0.fromPartial(t.auth):void 0,e}};function $8(){return{toprfPublicKey:new Uint8Array(0),attestorAddress:""}}var c0={encode(t,e=new tt){return t.toprfPublicKey.length!==0&&e.uint32(10).bytes(t.toprfPublicKey),t.attestorAddress!==""&&e.uint32(18).string(t.attestorAddress),e},decode(t,e){let r=t instanceof xe?t:new xe(t),n=e===void 0?r.len:r.pos+e,s=$8();for(;r.pos<n;){let i=r.uint32();switch(i>>>3){case 1:{if(i!==10)break;s.toprfPublicKey=r.bytes();continue}case 2:{if(i!==18)break;s.attestorAddress=r.string();continue}}if((i&7)===4||i===0)break;r.skip(i&7)}return s},fromJSON(t){return{toprfPublicKey:X(t.toprfPublicKey)?Ht(t.toprfPublicKey):new Uint8Array(0),attestorAddress:X(t.attestorAddress)?globalThis.String(t.attestorAddress):""}},toJSON(t){let e={};return t.toprfPublicKey.length!==0&&(e.toprfPublicKey=_t(t.toprfPublicKey)),t.attestorAddress!==""&&(e.attestorAddress=t.attestorAddress),e},create(t){return c0.fromPartial(t??{})},fromPartial(t){let e=$8();return e.toprfPublicKey=t.toprfPublicKey??new Uint8Array(0),e.attestorAddress=t.attestorAddress??"",e}};function eR(){return{maskedData:new Uint8Array(0),engine:0}}var u0={encode(t,e=new tt){return t.maskedData.length!==0&&e.uint32(10).bytes(t.maskedData),t.engine!==0&&e.uint32(16).int32(t.engine),e},decode(t,e){let r=t instanceof xe?t:new xe(t),n=e===void 0?r.len:r.pos+e,s=eR();for(;r.pos<n;){let i=r.uint32();switch(i>>>3){case 1:{if(i!==10)break;s.maskedData=r.bytes();continue}case 2:{if(i!==16)break;s.engine=r.int32();continue}}if((i&7)===4||i===0)break;r.skip(i&7)}return s},fromJSON(t){return{maskedData:X(t.maskedData)?Ht(t.maskedData):new Uint8Array(0),engine:X(t.engine)?X2(t.engine):0}},toJSON(t){let e={};return t.maskedData.length!==0&&(e.maskedData=_t(t.maskedData)),t.engine!==0&&(e.engine=$2(t.engine)),e},create(t){return u0.fromPartial(t??{})},fromPartial(t){let e=eR();return e.maskedData=t.maskedData??new Uint8Array(0),e.engine=t.engine??0,e}};function tR(){return{publicKeyShare:new Uint8Array(0),evaluated:new Uint8Array(0),c:new Uint8Array(0),r:new Uint8Array(0)}}var Ss={encode(t,e=new tt){return t.publicKeyShare.length!==0&&e.uint32(10).bytes(t.publicKeyShare),t.evaluated.length!==0&&e.uint32(18).bytes(t.evaluated),t.c.length!==0&&e.uint32(26).bytes(t.c),t.r.length!==0&&e.uint32(34).bytes(t.r),e},decode(t,e){let r=t instanceof xe?t:new xe(t),n=e===void 0?r.len:r.pos+e,s=tR();for(;r.pos<n;){let i=r.uint32();switch(i>>>3){case 1:{if(i!==10)break;s.publicKeyShare=r.bytes();continue}case 2:{if(i!==18)break;s.evaluated=r.bytes();continue}case 3:{if(i!==26)break;s.c=r.bytes();continue}case 4:{if(i!==34)break;s.r=r.bytes();continue}}if((i&7)===4||i===0)break;r.skip(i&7)}return s},fromJSON(t){return{publicKeyShare:X(t.publicKeyShare)?Ht(t.publicKeyShare):new Uint8Array(0),evaluated:X(t.evaluated)?Ht(t.evaluated):new Uint8Array(0),c:X(t.c)?Ht(t.c):new Uint8Array(0),r:X(t.r)?Ht(t.r):new Uint8Array(0)}},toJSON(t){let e={};return t.publicKeyShare.length!==0&&(e.publicKeyShare=_t(t.publicKeyShare)),t.evaluated.length!==0&&(e.evaluated=_t(t.evaluated)),t.c.length!==0&&(e.c=_t(t.c)),t.r.length!==0&&(e.r=_t(t.r)),e},create(t){return Ss.fromPartial(t??{})},fromPartial(t){let e=tR();return e.publicKeyShare=t.publicKeyShare??new Uint8Array(0),e.evaluated=t.evaluated??new Uint8Array(0),e.c=t.c??new Uint8Array(0),e.r=t.r??new Uint8Array(0),e}};function rR(){return{id:0,initRequest:void 0,initResponse:void 0,connectionTerminationAlert:void 0,requestError:void 0,createTunnelRequest:void 0,createTunnelResponse:void 0,disconnectTunnelRequest:void 0,disconnectTunnelResponse:void 0,tunnelMessage:void 0,tunnelDisconnectEvent:void 0,claimTunnelRequest:void 0,claimTunnelResponse:void 0,createClaimOnChainRequest:void 0,createClaimOnChainResponse:void 0,completeClaimOnChainRequest:void 0,completeClaimOnChainResponse:void 0,toprfRequest:void 0,toprfResponse:void 0,createTaskOnMechainRequest:void 0,createTaskOnMechainResponse:void 0,claimTeeBundleRequest:void 0,claimTeeBundleResponse:void 0,fetchCertificateBytesRequest:void 0,fetchCertificateBytesResponse:void 0}}var Oo={encode(t,e=new tt){return t.id!==0&&e.uint32(8).uint64(t.id),t.initRequest!==void 0&&a0.encode(t.initRequest,e.uint32(18).fork()).join(),t.initResponse!==void 0&&c0.encode(t.initResponse,e.uint32(26).fork()).join(),t.connectionTerminationAlert!==void 0&&vt.encode(t.connectionTerminationAlert,e.uint32(34).fork()).join(),t.requestError!==void 0&&vt.encode(t.requestError,e.uint32(42).fork()).join(),t.createTunnelRequest!==void 0&&Is.encode(t.createTunnelRequest,e.uint32(50).fork()).join(),t.createTunnelResponse!==void 0&&Cs.encode(t.createTunnelResponse,e.uint32(58).fork()).join(),t.disconnectTunnelRequest!==void 0&&Qu.encode(t.disconnectTunnelRequest,e.uint32(66).fork()).join(),t.disconnectTunnelResponse!==void 0&&Cs.encode(t.disconnectTunnelResponse,e.uint32(74).fork()).join(),t.tunnelMessage!==void 0&&Lu.encode(t.tunnelMessage,e.uint32(82).fork()).join(),t.tunnelDisconnectEvent!==void 0&&Vu.encode(t.tunnelDisconnectEvent,e.uint32(90).fork()).join(),t.claimTunnelRequest!==void 0&&In.encode(t.claimTunnelRequest,e.uint32(98).fork()).join(),t.claimTunnelResponse!==void 0&&Pi.encode(t.claimTunnelResponse,e.uint32(106).fork()).join(),t.createClaimOnChainRequest!==void 0&&e0.encode(t.createClaimOnChainRequest,e.uint32(114).fork()).join(),t.createClaimOnChainResponse!==void 0&&t0.encode(t.createClaimOnChainResponse,e.uint32(122).fork()).join(),t.completeClaimOnChainRequest!==void 0&&r0.encode(t.completeClaimOnChainRequest,e.uint32(130).fork()).join(),t.completeClaimOnChainResponse!==void 0&&n0.encode(t.completeClaimOnChainResponse,e.uint32(138).fork()).join(),t.toprfRequest!==void 0&&u0.encode(t.toprfRequest,e.uint32(146).fork()).join(),t.toprfResponse!==void 0&&Ss.encode(t.toprfResponse,e.uint32(154).fork()).join(),t.createTaskOnMechainRequest!==void 0&&s0.encode(t.createTaskOnMechainRequest,e.uint32(162).fork()).join(),t.createTaskOnMechainResponse!==void 0&&i0.encode(t.createTaskOnMechainResponse,e.uint32(170).fork()).join(),t.claimTeeBundleRequest!==void 0&&Rs.encode(t.claimTeeBundleRequest,e.uint32(178).fork()).join(),t.claimTeeBundleResponse!==void 0&&Ku.encode(t.claimTeeBundleResponse,e.uint32(186).fork()).join(),t.fetchCertificateBytesRequest!==void 0&&Uu.encode(t.fetchCertificateBytesRequest,e.uint32(194).fork()).join(),t.fetchCertificateBytesResponse!==void 0&&Fu.encode(t.fetchCertificateBytesResponse,e.uint32(202).fork()).join(),e},decode(t,e){let r=t instanceof xe?t:new xe(t),n=e===void 0?r.len:r.pos+e,s=rR();for(;r.pos<n;){let i=r.uint32();switch(i>>>3){case 1:{if(i!==8)break;s.id=LF(r.uint64());continue}case 2:{if(i!==18)break;s.initRequest=a0.decode(r,r.uint32());continue}case 3:{if(i!==26)break;s.initResponse=c0.decode(r,r.uint32());continue}case 4:{if(i!==34)break;s.connectionTerminationAlert=vt.decode(r,r.uint32());continue}case 5:{if(i!==42)break;s.requestError=vt.decode(r,r.uint32());continue}case 6:{if(i!==50)break;s.createTunnelRequest=Is.decode(r,r.uint32());continue}case 7:{if(i!==58)break;s.createTunnelResponse=Cs.decode(r,r.uint32());continue}case 8:{if(i!==66)break;s.disconnectTunnelRequest=Qu.decode(r,r.uint32());continue}case 9:{if(i!==74)break;s.disconnectTunnelResponse=Cs.decode(r,r.uint32());continue}case 10:{if(i!==82)break;s.tunnelMessage=Lu.decode(r,r.uint32());continue}case 11:{if(i!==90)break;s.tunnelDisconnectEvent=Vu.decode(r,r.uint32());continue}case 12:{if(i!==98)break;s.claimTunnelRequest=In.decode(r,r.uint32());continue}case 13:{if(i!==106)break;s.claimTunnelResponse=Pi.decode(r,r.uint32());continue}case 14:{if(i!==114)break;s.createClaimOnChainRequest=e0.decode(r,r.uint32());continue}case 15:{if(i!==122)break;s.createClaimOnChainResponse=t0.decode(r,r.uint32());continue}case 16:{if(i!==130)break;s.completeClaimOnChainRequest=r0.decode(r,r.uint32());continue}case 17:{if(i!==138)break;s.completeClaimOnChainResponse=n0.decode(r,r.uint32());continue}case 18:{if(i!==146)break;s.toprfRequest=u0.decode(r,r.uint32());continue}case 19:{if(i!==154)break;s.toprfResponse=Ss.decode(r,r.uint32());continue}case 20:{if(i!==162)break;s.createTaskOnMechainRequest=s0.decode(r,r.uint32());continue}case 21:{if(i!==170)break;s.createTaskOnMechainResponse=i0.decode(r,r.uint32());continue}case 22:{if(i!==178)break;s.claimTeeBundleRequest=Rs.decode(r,r.uint32());continue}case 23:{if(i!==186)break;s.claimTeeBundleResponse=Ku.decode(r,r.uint32());continue}case 24:{if(i!==194)break;s.fetchCertificateBytesRequest=Uu.decode(r,r.uint32());continue}case 25:{if(i!==202)break;s.fetchCertificateBytesResponse=Fu.decode(r,r.uint32());continue}}if((i&7)===4||i===0)break;r.skip(i&7)}return s},fromJSON(t){return{id:X(t.id)?globalThis.Number(t.id):0,initRequest:X(t.initRequest)?a0.fromJSON(t.initRequest):void 0,initResponse:X(t.initResponse)?c0.fromJSON(t.initResponse):void 0,connectionTerminationAlert:X(t.connectionTerminationAlert)?vt.fromJSON(t.connectionTerminationAlert):void 0,requestError:X(t.requestError)?vt.fromJSON(t.requestError):void 0,createTunnelRequest:X(t.createTunnelRequest)?Is.fromJSON(t.createTunnelRequest):void 0,createTunnelResponse:X(t.createTunnelResponse)?Cs.fromJSON(t.createTunnelResponse):void 0,disconnectTunnelRequest:X(t.disconnectTunnelRequest)?Qu.fromJSON(t.disconnectTunnelRequest):void 0,disconnectTunnelResponse:X(t.disconnectTunnelResponse)?Cs.fromJSON(t.disconnectTunnelResponse):void 0,tunnelMessage:X(t.tunnelMessage)?Lu.fromJSON(t.tunnelMessage):void 0,tunnelDisconnectEvent:X(t.tunnelDisconnectEvent)?Vu.fromJSON(t.tunnelDisconnectEvent):void 0,claimTunnelRequest:X(t.claimTunnelRequest)?In.fromJSON(t.claimTunnelRequest):void 0,claimTunnelResponse:X(t.claimTunnelResponse)?Pi.fromJSON(t.claimTunnelResponse):void 0,createClaimOnChainRequest:X(t.createClaimOnChainRequest)?e0.fromJSON(t.createClaimOnChainRequest):void 0,createClaimOnChainResponse:X(t.createClaimOnChainResponse)?t0.fromJSON(t.createClaimOnChainResponse):void 0,completeClaimOnChainRequest:X(t.completeClaimOnChainRequest)?r0.fromJSON(t.completeClaimOnChainRequest):void 0,completeClaimOnChainResponse:X(t.completeClaimOnChainResponse)?n0.fromJSON(t.completeClaimOnChainResponse):void 0,toprfRequest:X(t.toprfRequest)?u0.fromJSON(t.toprfRequest):void 0,toprfResponse:X(t.toprfResponse)?Ss.fromJSON(t.toprfResponse):void 0,createTaskOnMechainRequest:X(t.createTaskOnMechainRequest)?s0.fromJSON(t.createTaskOnMechainRequest):void 0,createTaskOnMechainResponse:X(t.createTaskOnMechainResponse)?i0.fromJSON(t.createTaskOnMechainResponse):void 0,claimTeeBundleRequest:X(t.claimTeeBundleRequest)?Rs.fromJSON(t.claimTeeBundleRequest):void 0,claimTeeBundleResponse:X(t.claimTeeBundleResponse)?Ku.fromJSON(t.claimTeeBundleResponse):void 0,fetchCertificateBytesRequest:X(t.fetchCertificateBytesRequest)?Uu.fromJSON(t.fetchCertificateBytesRequest):void 0,fetchCertificateBytesResponse:X(t.fetchCertificateBytesResponse)?Fu.fromJSON(t.fetchCertificateBytesResponse):void 0}},toJSON(t){let e={};return t.id!==0&&(e.id=Math.round(t.id)),t.initRequest!==void 0&&(e.initRequest=a0.toJSON(t.initRequest)),t.initResponse!==void 0&&(e.initResponse=c0.toJSON(t.initResponse)),t.connectionTerminationAlert!==void 0&&(e.connectionTerminationAlert=vt.toJSON(t.connectionTerminationAlert)),t.requestError!==void 0&&(e.requestError=vt.toJSON(t.requestError)),t.createTunnelRequest!==void 0&&(e.createTunnelRequest=Is.toJSON(t.createTunnelRequest)),t.createTunnelResponse!==void 0&&(e.createTunnelResponse=Cs.toJSON(t.createTunnelResponse)),t.disconnectTunnelRequest!==void 0&&(e.disconnectTunnelRequest=Qu.toJSON(t.disconnectTunnelRequest)),t.disconnectTunnelResponse!==void 0&&(e.disconnectTunnelResponse=Cs.toJSON(t.disconnectTunnelResponse)),t.tunnelMessage!==void 0&&(e.tunnelMessage=Lu.toJSON(t.tunnelMessage)),t.tunnelDisconnectEvent!==void 0&&(e.tunnelDisconnectEvent=Vu.toJSON(t.tunnelDisconnectEvent)),t.claimTunnelRequest!==void 0&&(e.claimTunnelRequest=In.toJSON(t.claimTunnelRequest)),t.claimTunnelResponse!==void 0&&(e.claimTunnelResponse=Pi.toJSON(t.claimTunnelResponse)),t.createClaimOnChainRequest!==void 0&&(e.createClaimOnChainRequest=e0.toJSON(t.createClaimOnChainRequest)),t.createClaimOnChainResponse!==void 0&&(e.createClaimOnChainResponse=t0.toJSON(t.createClaimOnChainResponse)),t.completeClaimOnChainRequest!==void 0&&(e.completeClaimOnChainRequest=r0.toJSON(t.completeClaimOnChainRequest)),t.completeClaimOnChainResponse!==void 0&&(e.completeClaimOnChainResponse=n0.toJSON(t.completeClaimOnChainResponse)),t.toprfRequest!==void 0&&(e.toprfRequest=u0.toJSON(t.toprfRequest)),t.toprfResponse!==void 0&&(e.toprfResponse=Ss.toJSON(t.toprfResponse)),t.createTaskOnMechainRequest!==void 0&&(e.createTaskOnMechainRequest=s0.toJSON(t.createTaskOnMechainRequest)),t.createTaskOnMechainResponse!==void 0&&(e.createTaskOnMechainResponse=i0.toJSON(t.createTaskOnMechainResponse)),t.claimTeeBundleRequest!==void 0&&(e.claimTeeBundleRequest=Rs.toJSON(t.claimTeeBundleRequest)),t.claimTeeBundleResponse!==void 0&&(e.claimTeeBundleResponse=Ku.toJSON(t.claimTeeBundleResponse)),t.fetchCertificateBytesRequest!==void 0&&(e.fetchCertificateBytesRequest=Uu.toJSON(t.fetchCertificateBytesRequest)),t.fetchCertificateBytesResponse!==void 0&&(e.fetchCertificateBytesResponse=Fu.toJSON(t.fetchCertificateBytesResponse)),e},create(t){return Oo.fromPartial(t??{})},fromPartial(t){let e=rR();return e.id=t.id??0,e.initRequest=t.initRequest!==void 0&&t.initRequest!==null?a0.fromPartial(t.initRequest):void 0,e.initResponse=t.initResponse!==void 0&&t.initResponse!==null?c0.fromPartial(t.initResponse):void 0,e.connectionTerminationAlert=t.connectionTerminationAlert!==void 0&&t.connectionTerminationAlert!==null?vt.fromPartial(t.connectionTerminationAlert):void 0,e.requestError=t.requestError!==void 0&&t.requestError!==null?vt.fromPartial(t.requestError):void 0,e.createTunnelRequest=t.createTunnelRequest!==void 0&&t.createTunnelRequest!==null?Is.fromPartial(t.createTunnelRequest):void 0,e.createTunnelResponse=t.createTunnelResponse!==void 0&&t.createTunnelResponse!==null?Cs.fromPartial(t.createTunnelResponse):void 0,e.disconnectTunnelRequest=t.disconnectTunnelRequest!==void 0&&t.disconnectTunnelRequest!==null?Qu.fromPartial(t.disconnectTunnelRequest):void 0,e.disconnectTunnelResponse=t.disconnectTunnelResponse!==void 0&&t.disconnectTunnelResponse!==null?Cs.fromPartial(t.disconnectTunnelResponse):void 0,e.tunnelMessage=t.tunnelMessage!==void 0&&t.tunnelMessage!==null?Lu.fromPartial(t.tunnelMessage):void 0,e.tunnelDisconnectEvent=t.tunnelDisconnectEvent!==void 0&&t.tunnelDisconnectEvent!==null?Vu.fromPartial(t.tunnelDisconnectEvent):void 0,e.claimTunnelRequest=t.claimTunnelRequest!==void 0&&t.claimTunnelRequest!==null?In.fromPartial(t.claimTunnelRequest):void 0,e.claimTunnelResponse=t.claimTunnelResponse!==void 0&&t.claimTunnelResponse!==null?Pi.fromPartial(t.claimTunnelResponse):void 0,e.createClaimOnChainRequest=t.createClaimOnChainRequest!==void 0&&t.createClaimOnChainRequest!==null?e0.fromPartial(t.createClaimOnChainRequest):void 0,e.createClaimOnChainResponse=t.createClaimOnChainResponse!==void 0&&t.createClaimOnChainResponse!==null?t0.fromPartial(t.createClaimOnChainResponse):void 0,e.completeClaimOnChainRequest=t.completeClaimOnChainRequest!==void 0&&t.completeClaimOnChainRequest!==null?r0.fromPartial(t.completeClaimOnChainRequest):void 0,e.completeClaimOnChainResponse=t.completeClaimOnChainResponse!==void 0&&t.completeClaimOnChainResponse!==null?n0.fromPartial(t.completeClaimOnChainResponse):void 0,e.toprfRequest=t.toprfRequest!==void 0&&t.toprfRequest!==null?u0.fromPartial(t.toprfRequest):void 0,e.toprfResponse=t.toprfResponse!==void 0&&t.toprfResponse!==null?Ss.fromPartial(t.toprfResponse):void 0,e.createTaskOnMechainRequest=t.createTaskOnMechainRequest!==void 0&&t.createTaskOnMechainRequest!==null?s0.fromPartial(t.createTaskOnMechainRequest):void 0,e.createTaskOnMechainResponse=t.createTaskOnMechainResponse!==void 0&&t.createTaskOnMechainResponse!==null?i0.fromPartial(t.createTaskOnMechainResponse):void 0,e.claimTeeBundleRequest=t.claimTeeBundleRequest!==void 0&&t.claimTeeBundleRequest!==null?Rs.fromPartial(t.claimTeeBundleRequest):void 0,e.claimTeeBundleResponse=t.claimTeeBundleResponse!==void 0&&t.claimTeeBundleResponse!==null?Ku.fromPartial(t.claimTeeBundleResponse):void 0,e.fetchCertificateBytesRequest=t.fetchCertificateBytesRequest!==void 0&&t.fetchCertificateBytesRequest!==null?Uu.fromPartial(t.fetchCertificateBytesRequest):void 0,e.fetchCertificateBytesResponse=t.fetchCertificateBytesResponse!==void 0&&t.fetchCertificateBytesResponse!==null?Fu.fromPartial(t.fetchCertificateBytesResponse):void 0,e}};function nR(){return{messages:[]}}var Fi={encode(t,e=new tt){for(let r of t.messages)Oo.encode(r,e.uint32(10).fork()).join();return e},decode(t,e){let r=t instanceof xe?t:new xe(t),n=e===void 0?r.len:r.pos+e,s=nR();for(;r.pos<n;){let i=r.uint32();switch(i>>>3){case 1:{if(i!==10)break;s.messages.push(Oo.decode(r,r.uint32()));continue}}if((i&7)===4||i===0)break;r.skip(i&7)}return s},fromJSON(t){return{messages:globalThis.Array.isArray(t?.messages)?t.messages.map(e=>Oo.fromJSON(e)):[]}},toJSON(t){let e={};return t.messages?.length&&(e.messages=t.messages.map(r=>Oo.toJSON(r))),e},create(t){return Fi.fromPartial(t??{})},fromPartial(t){let e=nR();return e.messages=t.messages?.map(r=>Oo.fromPartial(r))||[],e}};function Ht(t){if(globalThis.Buffer)return Uint8Array.from(globalThis.Buffer.from(t,"base64"));{let e=globalThis.atob(t),r=new Uint8Array(e.length);for(let n=0;n<e.length;++n)r[n]=e.charCodeAt(n);return r}}function _t(t){if(globalThis.Buffer)return globalThis.Buffer.from(t).toString("base64");{let e=[];return t.forEach(r=>{e.push(globalThis.String.fromCharCode(r))}),globalThis.btoa(e.join(""))}}function LF(t){let e=globalThis.Number(t.toString());if(e>globalThis.Number.MAX_SAFE_INTEGER)throw new globalThis.Error("Value is larger than Number.MAX_SAFE_INTEGER");if(e<globalThis.Number.MIN_SAFE_INTEGER)throw new globalThis.Error("Value is smaller than Number.MIN_SAFE_INTEGER");return e}function VF(t){return typeof t=="object"&&t!==null}function X(t){return t!=null}var GF=new Uint8Array(4).fill(F2);function ks(t){return new TextDecoder().decode(t)}function Xt(t){return new TextEncoder().encode(t)}function pme(t){let e=_F(t),r=[];for(let{message:n,sender:s}of e){let i=ks(n);r[r.length-1]?.startsWith(s)?r[r.length-1]+=i:r.push(`${s}: ${i}`)}return r.join(`
|
|
4463
|
+
`)!==this.#t)throw new Error(`BIP39 Wordlist for ${this.locale} FAILED`);this.#r=e}return this.#r}getWord(e){let r=this.#n();return I(e>=0&&e<r.length,`invalid word index: ${e}`,"index",e),r[e]}getWordIndex(e){return this.#n().indexOf(e)}};var jU="0erleonalorenseinceregesticitStanvetearctssi#ch2Athck&tneLl0And#Il.yLeOutO=S|S%b/ra@SurdU'0Ce[Cid|CountCu'Hie=IdOu,-Qui*Ro[TT]T%T*[Tu$0AptDD-tD*[Ju,M.UltV<)Vi)0Rob-0FairF%dRaid0A(EEntRee0Ead0MRRp%tS!_rmBumCoholErtI&LLeyLowMo,O}PhaReadySoT Ways0A>urAz(gOngOuntU'd0Aly,Ch%Ci|G G!GryIm$K!Noun)Nu$O` Sw T&naTiqueXietyY1ArtOlogyPe?P!Pro=Ril1ChCt-EaEnaGueMMedM%MyOundR<+Re,Ri=RowTTefa@Ti,Tw%k0KPe@SaultSetSi,SumeThma0H!>OmTa{T&dT.udeTra@0Ct]D.Gu,NtTh%ToTumn0Era+OcadoOid0AkeA*AyEsomeFulKw?d0Is:ByChel%C#D+GL<)Lc#y~MbooN<aNn RRelyRga(R*lSeS-SketTt!3A^AnAutyCau'ComeEfF%eG(Ha=H(dLie=LowLtN^Nef./TrayTt Twe&Y#d3Cyc!DKeNdOlogyRdR`Tt _{AdeAmeAnketA,EakE[IndOodO[omOu'UeUrUsh_rdAtDyIlMbNeNusOkO,Rd R(gRrowSsTtomUn)XY_{etA(AndA[A=EadEezeI{Id+IefIghtIngIskOccoliOk&OnzeOomO` OwnUsh2Bb!DdyD+tFf$oIldLbLkL!tNd!Nk Rd&Rg R,SS(e[SyTt Y Zz:Bba+B(B!CtusGeKe~LmM aMpNN$N)lNdyNn#NoeNvasNy#Pab!P.$Pta(RRb#RdRgoRpetRryRtSeShS(o/!Su$TT$ogT^Teg%yTt!UghtU'Ut]Ve3Il(gL yM|NsusNturyRe$Rta(_irAlkAmp]An+AosApt Ar+A'AtEapE{Ee'EfErryE,I{&IefIldIm}yOi)Oo'R#-U{!UnkUrn0G?Nnam#Rc!Tiz&TyVil_imApArifyAwAyE<ErkEv I{I|IffImbIn-IpO{OgO'O`OudOwnUbUmpU, Ut^_^A,C#utDeFfeeIlInL!@L%LumnMb(eMeMf%tM-Mm#Mp<yNc tNdu@NfirmNg*[N}@Nsid NtrolNv()OkOlPp PyR$ReRnR*@/Tt#U^UntryUp!Ur'Us(V Yo>_{Ad!AftAmA}AshAt AwlAzyEamEd.EekEwI{etImeIspIt-OpO[Ou^OwdUci$UelUi'Umb!Un^UshYY,$2BeLtu*PPbo?dRiousRr|Rta(R=Sh]/omTe3C!:DMa+MpN)Ng R(gShUght WnY3AlBa>BrisCadeCemb CideCl(eC%a>C*a'ErF&'F(eFyG*eLayLiv M<dMi'Ni$Nti,NyP?tP&dPos.P`PutyRi=ScribeS tSignSkSpair/royTailTe@VelopVi)Vo>3AgramAlAm#dAryCeE'lEtFf G.$Gn.yLemmaNn NosaurRe@RtSag*eScov Sea'ShSmi[S%d Splay/<)V tVideV%)Zzy5Ct%Cum|G~Lph(Ma(Na>NkeyN%OrSeUb!Ve_ftAg#AmaA,-AwEamE[IftIllInkIpI=OpUmY2CkMbNeR(g/T^Ty1Arf1Nam-:G G!RlyRnR`Sily/Sy1HoOlogyOnomy0GeItUca>1F%t0G1GhtTh 2BowD E@r-Eg<tEm|Eph<tEvat%I>Se0B?kBodyBra)Er+Ot]PloyPow Pty0Ab!A@DD![D%'EmyErgyF%)Ga+G(eH<)JoyLi,OughR-hRollSu*T Ti*TryVelope1Isode0U$Uip0AA'OdeOs]R%Upt0CapeSayS&)Ta>0Ern$H-s1Id&)IlOkeOl=1A@Amp!Ce[Ch<+C.eCludeCu'Ecu>Erci'Hau,Hib.I!I,ItOt-P<dPe@Pi*Pla(Po'P*[T&dTra0EEbrow:Br-CeCultyDeIntI`~L'MeMilyMousNNcyNtasyRmSh]TT$Th TigueUltV%.e3Atu*Bru?yD $EEdElMa!N)/iv$T^V W3B Ct]EldGu*LeLmLt N$NdNeNg NishReRmR,Sc$ShTT}[X_gAmeAshAtAv%EeIghtIpOatO{O%Ow UidUshY_mCusGIlLd~owOdOtR)Re,R+tRkRtu}RumRw?dSsil/ UndX_gi!AmeEqu|EshI&dIn+OgOntO,OwnOz&U.2ElNNnyRna)RyTu*:D+tInLaxy~ yMePRa+Rba+Rd&Rl-Rm|SSpTeTh U+Ze3N $NiusN*Nt!Nu(e/u*2O,0AntFtGg!Ng RaffeRlVe_dAn)A*A[IdeImp'ObeOomOryO=OwUe_tDde[LdOdO'RillaSpelSsipV nWn_bA)A(AntApeA[Av.yEatE&IdIefItOc yOupOwUnt_rdE[IdeIltIt?N3M:B.IrLfMm M, NdPpyRb%RdRshR=,TVeWkZ?d3AdAl`ArtAvyD+hogIght~oLmetLpNRo3Dd&Gh~NtPRe/%y5BbyCkeyLdLeLiday~owMeNeyOdPeRnRr%R'Sp.$/TelUrV 5BGeM<Mb!M%Nd*dNgryNtRd!RryRtSb<d3Brid:1EOn0EaEntifyLe2N%e4LLeg$L}[0A+Ita>M&'Mu}Pa@Po'Pro=Pul'0ChCludeComeC*a'DexD-a>Do%Du,ryF<tFl-tF%mHa!H .Iti$Je@JuryMa>N Noc|PutQuiryS<eSe@SideSpi*/$lTa@T e,ToVe,V.eVol=3On0L<dOla>Sue0Em1Ory:CketGu?RZz3AlousAns~yWel9BInKeUr}yY5D+I)MpNg!Ni%Nk/:Ng?oo3EnEpT^upY3CkDD}yNdNgdomSsTT^&TeTt&Wi4EeIfeO{Ow:BBelB%Dd DyKeMpNgua+PtopR+T T(UghUndryVaWWnWsu.Y Zy3Ad AfArnA=Ctu*FtGG$G&dIsu*M#NdNg`NsOp?dSs#Tt Vel3ArB tyBr?yC&'FeFtGhtKeMbM.NkOnQuid/Tt!VeZ?d5AdAnB, C$CkG-NelyNgOpTt yUdUn+VeY$5CkyGga+Mb N?N^Xury3R-s:Ch(eDG-G}tIdIlInJ%KeMm$NNa+Nda>NgoNs]Nu$P!Rb!R^Rg(R(eRketRria+SkSs/ T^T i$ThTrixTt XimumZe3AdowAnAsu*AtCh<-D$DiaLodyLtMb M%yNt]NuRcyR+R.RryShSsa+T$Thod3Dd!DnightLk~]M-NdNimumN%Nu>Rac!Rr%S ySs/akeXXedXtu*5Bi!DelDifyMM|N.%NkeyN, N`OnR$ReRn(gSqu.oTh T]T%Unta(U'VeVie5ChFf(LeLtiplySc!SeumShroomS-/Tu$3Self/ yTh:I=MePk(Rrow/yT]Tu*3ArCkEdGati=G!@I` PhewR=/TTw%kUtr$V WsXt3CeGht5B!I'M(eeOd!Rm$R`SeTab!TeTh(gTi)VelW5C!?Mb R'T:K0EyJe@Li+Scu*S =Ta(Vious0CurE<Tob 0Or1FF Fi)T&2L1Ay0DI=Ymp-0It0CeEI#L(eLy1EnEraIn]Po'T]1An+B.Ch?dD D(?yG<I|Ig($Ph<0Tr-h0H 0Tdo%T TputTside0AlEnEr0NN 0Yg&0/ 0O}:CtDd!GeIrLa)LmNdaNelN-N` P RadeR|RkRrotRtySsT^ThTi|TrolTt nU'VeYm|3A)AnutArAs<tL-<NN$tyNcilOp!Pp Rfe@Rm.Rs#T2O}OtoRa'Ys-$0AnoCn-Ctu*E)GGe#~LotNkO} Pe/olT^Zza_)A}tA,-A>AyEa'Ed+U{UgUn+2EmEtIntL?LeLi)NdNyOlPul?Rt]S.]Ssib!/TatoTt yV tyWd W _@i)Ai'Ed-tEf Epa*Es|EttyEv|I)IdeIm?yIntI%.yIs#Iva>IzeOb!mO)[Odu)Of.OgramOje@Omo>OofOp tyOsp O>@OudOvide2Bl-Dd(g~LpL'Mpk(N^PilPpyR^a'R.yRpo'R'ShTZz!3Ramid:99Al.yAntumArt E,]I{ItIzO>:Bb.Cco#CeCkD?DioIlInI'~yMpN^NdomN+PidReTeTh V&WZ%3AdyAlAs#BelBuildC$lCei=CipeC%dCyc!Du)F!@F%mFu'G]G*tGul?Je@LaxLea'LiefLyMa(Memb M(dMo=Nd NewNtOp&PairPeatPla)P%tQui*ScueSemb!Si,Sour)Sp#'SultTi*T*atTurnUn]Ve$ViewW?d2Y`m0BBb#CeChDeD+F!GhtGidNgOtPp!SkTu$V$V 5AdA,BotBu,CketM<)OfOkieOmSeTa>UghUndU>Y$5Bb DeGLeNNwayR$:DDd!D}[FeIlLadLm#L#LtLu>MeMp!NdTisfyToshiU)Usa+VeY1A!AnA*Att E}HemeHoolI&)I[%sOrp]OutRapRe&RiptRub1AAr^As#AtC#dC*tCt]Cur.yEdEkGm|Le@~M(?Ni%N'Nt&)RiesRvi)Ss]Tt!TupV&_dowAftAllowA*EdEllEriffIeldIftI}IpIv O{OeOotOpOrtOuld O=RimpRugUff!Y0Bl(gCkDeE+GhtGnL|Lk~yLv Mil?Mp!N)NgR&/ Tua>XZe1A>Et^IIllInIrtUll0AbAmEepEnd I)IdeIghtImOg<OtOwUsh0AllArtI!OkeOo`0A{AkeApIffOw0ApCc Ci$CkDaFtL?Ldi LidLut]L=Me#eNgOnRryRtUlUndUpUr)U`0A)A*Ati$AwnEakEci$EedEllEndH eI)Id IkeInIr.L.OilOns%O#OrtOtRayReadR(gY0Ua*UeezeUir*l_b!AdiumAffA+AirsAmpAndArtA>AyEakEelEmEpE*oI{IllIngO{Oma^O}OolOryO=Ra>gyReetRikeR#gRugg!Ud|UffUmb!Y!0Bje@Bm.BwayC)[ChDd&Ff G?G+,ItMm NNnyN'tP PplyP*meReRfa)R+Rpri'RroundR=ySpe@/a(1AllowAmpApArmE?EetIftImIngIt^Ord1MbolMptomRup/em:B!Ck!GIlL|LkNkPeR+tSk/eTtooXi3A^Am~NN<tNnisNtRm/Xt_nkAtEmeEnE%yE*EyIngIsOughtReeRi=RowUmbUnd 0CketDeG LtMb MeNyPRedSsueT!5A,BaccoDayDdl EGe` I!tK&MatoM%rowNeNgueNightOlO`PP-Pp!R^RnadoRtoi'SsT$Uri,W?dW WnY_{AdeAff-Ag-A(Ansf ApAshA=lAyEatEeEndI$IbeI{Igg ImIpOphyOub!U{UeUlyUmpetU,U`Y2BeIt]Mb!NaN}lRkeyRnRt!1El=EntyI)InI,O1PeP-$:5Ly5B*lla0Ab!Awa*C!Cov D DoFairFoldHappyIf%mIqueItIv 'KnownLo{TilUsu$Veil1Da>GradeHoldOnP Set1B<Ge0A+EEdEfulE![U$0Il.y:C<tCuumGueLidL!yL=NNishP%Rious/Ult3H-!L=tNd%Ntu*NueRbRifyRs]RyS'lT <3Ab!Br<tCiousCt%yDeoEw~a+Nta+Ol(Rtu$RusSaS.Su$T$Vid5C$I)IdLc<oLumeTeYa+:GeG#ItLk~LnutNtRfa*RmRri%ShSp/eT VeY3Al`Ap#ArA'lA` BDd(gEk&dIrdLcome/T_!AtEatEelEnE*IpIsp 0DeD`FeLd~NNdowNeNgNkNn Nt ReSdomSeShT}[5LfM<Nd OdOlRdRkRldRryR`_pE{E,!I,I>Ong::Rd3Ar~ow9UUngU`:3BraRo9NeO",WU="0x3c8acc1e7b08d8e76f9fda015ef48dc8c710a73cb7e0f77b2c18a9b5a7adde60",w2=null,vo=class t extends Qm{constructor(){super("en",jU,WU)}static wordlist(){return w2==null&&(w2=new t),w2}};function vN(t){return(1<<t)-1<<8-t&255}function zU(t){return(1<<t)-1&255}function T2(t,e){yl("NFKD"),e==null&&(e=vo.wordlist());let r=e.split(t);I(r.length%3===0&&r.length>=12&&r.length<=24,"invalid mnemonic length","mnemonic","[ REDACTED ]");let n=new Uint8Array(Math.ceil(11*r.length/8)),s=0;for(let l=0;l<r.length;l++){let f=e.getWordIndex(r[l].normalize("NFKD"));I(f>=0,`invalid mnemonic word at index ${l}`,"mnemonic","[ REDACTED ]");for(let d=0;d<11;d++)f&1<<10-d&&(n[s>>3]|=1<<7-s%8),s++}let i=32*r.length/3,o=r.length/3,a=vN(o),u=ae(zr(n.slice(0,i/8)))[0]&a;return I(u===(n[n.length-1]&a),"invalid mnemonic checksum","mnemonic","[ REDACTED ]"),J(n.slice(0,i/8))}function C2(t,e){I(t.length%4===0&&t.length>=16&&t.length<=32,"invalid entropy size","entropy","[ REDACTED ]"),e==null&&(e=vo.wordlist());let r=[0],n=11;for(let o=0;o<t.length;o++)n>8?(r[r.length-1]<<=8,r[r.length-1]|=t[o],n-=8):(r[r.length-1]<<=n,r[r.length-1]|=t[o]>>8-n,r.push(t[o]&zU(8-n)),n+=3);let s=t.length/4,i=parseInt(zr(t).substring(2,4),16)&vN(s);return r[r.length-1]<<=s,r[r.length-1]|=i>>8-s,e.join(r.map(o=>e.getWord(o)))}var B2={},ja=class t{phrase;password;wordlist;entropy;constructor(e,r,n,s,i){s==null&&(s=""),i==null&&(i=vo.wordlist()),Gn(e,B2,"Mnemonic"),Be(this,{phrase:n,password:s,wordlist:i,entropy:r})}computeSeed(){let e=kt("mnemonic"+this.password,"NFKD");return Xn(kt(this.phrase,"NFKD"),e,2048,64,"sha512")}static fromPhrase(e,r,n){let s=T2(e,n);return e=C2(ae(s),n),new t(B2,s,e,r,n)}static fromEntropy(e,r,n){let s=ae(e,"entropy"),i=C2(s,n);return new t(B2,J(s),i,r,n)}static entropyToPhrase(e,r){let n=ae(e,"entropy");return C2(n,r)}static phraseToEntropy(e,r){return T2(e,r)}static isValidMnemonic(e,r){try{return T2(e,r),!0}catch{}return!1}};var Jr=function(t,e,r,n){if(r==="a"&&!n)throw new TypeError("Private accessor was defined without a getter");if(typeof e=="function"?t!==e||!n:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return r==="m"?n:r==="a"?n.call(t):n?n.value:e.get(t)},I2=function(t,e,r,n,s){if(n==="m")throw new TypeError("Private method is not writable");if(n==="a"&&!s)throw new TypeError("Private accessor was defined without a setter");if(typeof e=="function"?t!==e||!s:!e.has(t))throw new TypeError("Cannot write private member to an object whose class did not declare it");return n==="a"?s.call(t,r):s?s.value=r:e.set(t,r),r},Vm,bs,Mi,JU={16:10,24:12,32:14},KU=[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],ys=[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],Lm=[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],qU=[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],ZU=[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],XU=[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],$U=[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],tF=[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],rF=[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],nF=[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],sF=[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],iF=[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],oF=[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],aF=[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 D2(t){let e=[];for(let r=0;r<t.length;r+=4)e.push(t[r]<<24|t[r+1]<<16|t[r+2]<<8|t[r+3]);return e}var _h=class t{get key(){return Jr(this,Vm,"f").slice()}constructor(e){if(Vm.set(this,void 0),bs.set(this,void 0),Mi.set(this,void 0),!(this instanceof t))throw Error("AES must be instanitated with `new`");I2(this,Vm,new Uint8Array(e),"f");let r=JU[this.key.length];if(r==null)throw new TypeError("invalid key size (must be 16, 24 or 32 bytes)");I2(this,Mi,[],"f"),I2(this,bs,[],"f");for(let f=0;f<=r;f++)Jr(this,Mi,"f").push([0,0,0,0]),Jr(this,bs,"f").push([0,0,0,0]);let n=(r+1)*4,s=this.key.length/4,i=D2(this.key),o;for(let f=0;f<s;f++)o=f>>2,Jr(this,Mi,"f")[o][f%4]=i[f],Jr(this,bs,"f")[r-o][f%4]=i[f];let a=0,u=s,l;for(;u<n;){if(l=i[s-1],i[0]^=ys[l>>16&255]<<24^ys[l>>8&255]<<16^ys[l&255]<<8^ys[l>>24&255]^KU[a]<<24,a+=1,s!=8)for(let m=1;m<s;m++)i[m]^=i[m-1];else{for(let m=1;m<s/2;m++)i[m]^=i[m-1];l=i[s/2-1],i[s/2]^=ys[l&255]^ys[l>>8&255]<<8^ys[l>>16&255]<<16^ys[l>>24&255]<<24;for(let m=s/2+1;m<s;m++)i[m]^=i[m-1]}let f=0,d,p;for(;f<s&&u<n;)d=u>>2,p=u%4,Jr(this,Mi,"f")[d][p]=i[f],Jr(this,bs,"f")[r-d][p]=i[f++],u++}for(let f=1;f<r;f++)for(let d=0;d<4;d++)l=Jr(this,bs,"f")[f][d],Jr(this,bs,"f")[f][d]=sF[l>>24&255]^iF[l>>16&255]^oF[l>>8&255]^aF[l&255]}encrypt(e){if(e.length!=16)throw new TypeError("invalid plaintext size (must be 16 bytes)");let r=Jr(this,Mi,"f").length-1,n=[0,0,0,0],s=D2(e);for(let a=0;a<4;a++)s[a]^=Jr(this,Mi,"f")[0][a];for(let a=1;a<r;a++){for(let u=0;u<4;u++)n[u]=qU[s[u]>>24&255]^ZU[s[(u+1)%4]>>16&255]^XU[s[(u+2)%4]>>8&255]^$U[s[(u+3)%4]&255]^Jr(this,Mi,"f")[a][u];s=n.slice()}let i=new Uint8Array(16),o=0;for(let a=0;a<4;a++)o=Jr(this,Mi,"f")[r][a],i[4*a]=(ys[s[a]>>24&255]^o>>24)&255,i[4*a+1]=(ys[s[(a+1)%4]>>16&255]^o>>16)&255,i[4*a+2]=(ys[s[(a+2)%4]>>8&255]^o>>8)&255,i[4*a+3]=(ys[s[(a+3)%4]&255]^o)&255;return i}decrypt(e){if(e.length!=16)throw new TypeError("invalid ciphertext size (must be 16 bytes)");let r=Jr(this,bs,"f").length-1,n=[0,0,0,0],s=D2(e);for(let a=0;a<4;a++)s[a]^=Jr(this,bs,"f")[0][a];for(let a=1;a<r;a++){for(let u=0;u<4;u++)n[u]=eF[s[u]>>24&255]^tF[s[(u+3)%4]>>16&255]^rF[s[(u+2)%4]>>8&255]^nF[s[(u+1)%4]&255]^Jr(this,bs,"f")[a][u];s=n.slice()}let i=new Uint8Array(16),o=0;for(let a=0;a<4;a++)o=Jr(this,bs,"f")[r][a],i[4*a]=(Lm[s[a]>>24&255]^o>>24)&255,i[4*a+1]=(Lm[s[(a+3)%4]>>16&255]^o>>16)&255,i[4*a+2]=(Lm[s[(a+2)%4]>>8&255]^o>>8)&255,i[4*a+3]=(Lm[s[(a+1)%4]&255]^o)&255;return i}};Vm=new WeakMap,bs=new WeakMap,Mi=new WeakMap;var vi=class{constructor(e,r,n){if(n&&!(this instanceof n))throw new Error(`${e} must be instantiated with "new"`);Object.defineProperties(this,{aes:{enumerable:!0,value:new _h(r)},name:{enumerable:!0,value:e}})}};var Gm=function(t,e,r,n,s){if(n==="m")throw new TypeError("Private method is not writable");if(n==="a"&&!s)throw new TypeError("Private accessor was defined without a setter");if(typeof e=="function"?t!==e||!s:!e.has(t))throw new TypeError("Cannot write private member to an object whose class did not declare it");return n==="a"?s.call(t,r):s?s.value=r:e.set(t,r),r},Zl=function(t,e,r,n){if(r==="a"&&!n)throw new TypeError("Private accessor was defined without a getter");if(typeof e=="function"?t!==e||!n:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return r==="m"?n:r==="a"?n.call(t):n?n.value:e.get(t)},Yh,ko,jh=class t extends vi{constructor(e,r){if(super("ECC",e,t),Yh.set(this,void 0),ko.set(this,void 0),r){if(r.length%16)throw new TypeError("invalid iv size (must be 16 bytes)");Gm(this,Yh,new Uint8Array(r),"f")}else Gm(this,Yh,new Uint8Array(16),"f");Gm(this,ko,this.iv,"f")}get iv(){return new Uint8Array(Zl(this,Yh,"f"))}encrypt(e){if(e.length%16)throw new TypeError("invalid plaintext size (must be multiple of 16 bytes)");let r=new Uint8Array(e.length);for(let n=0;n<e.length;n+=16){for(let s=0;s<16;s++)Zl(this,ko,"f")[s]^=e[n+s];Gm(this,ko,this.aes.encrypt(Zl(this,ko,"f")),"f"),r.set(Zl(this,ko,"f"),n)}return r}decrypt(e){if(e.length%16)throw new TypeError("invalid ciphertext size (must be multiple of 16 bytes)");let r=new Uint8Array(e.length);for(let n=0;n<e.length;n+=16){let s=this.aes.decrypt(e.subarray(n,n+16));for(let i=0;i<16;i++)r[n+i]=s[i]^Zl(this,ko,"f")[i],Zl(this,ko,"f")[i]=e[n+i]}return r}};Yh=new WeakMap,ko=new WeakMap;var N2=function(t,e,r,n){if(r==="a"&&!n)throw new TypeError("Private accessor was defined without a getter");if(typeof e=="function"?t!==e||!n:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return r==="m"?n:r==="a"?n.call(t):n?n.value:e.get(t)},cF,uF,Hm,lF;uF=new WeakMap,Hm=new WeakMap,cF=new WeakSet,lF=function(e){let r=this.segmentSize/8;N2(this,Hm,"f").set(N2(this,Hm,"f").subarray(r)),N2(this,Hm,"f").set(e.subarray(0,r),16-r)};var Xl=function(t,e,r,n,s){if(n==="m")throw new TypeError("Private method is not writable");if(n==="a"&&!s)throw new TypeError("Private accessor was defined without a setter");if(typeof e=="function"?t!==e||!s:!e.has(t))throw new TypeError("Cannot write private member to an object whose class did not declare it");return n==="a"?s.call(t,r):s?s.value=r:e.set(t,r),r},ws=function(t,e,r,n){if(r==="a"&&!n)throw new TypeError("Private accessor was defined without a getter");if(typeof e=="function"?t!==e||!n:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return r==="m"?n:r==="a"?n.call(t):n?n.value:e.get(t)},Wh,ku,Ts,Wa=class t extends vi{constructor(e,r){super("CTR",e,t),Wh.set(this,void 0),ku.set(this,void 0),Ts.set(this,void 0),Xl(this,Ts,new Uint8Array(16),"f"),ws(this,Ts,"f").fill(0),Xl(this,Wh,ws(this,Ts,"f"),"f"),Xl(this,ku,16,"f"),r==null&&(r=1),typeof r=="number"?this.setCounterValue(r):this.setCounterBytes(r)}get counter(){return new Uint8Array(ws(this,Ts,"f"))}setCounterValue(e){if(!Number.isInteger(e)||e<0||e>Number.MAX_SAFE_INTEGER)throw new TypeError("invalid counter initial integer value");for(let r=15;r>=0;--r)ws(this,Ts,"f")[r]=e%256,e=Math.floor(e/256)}setCounterBytes(e){if(e.length!==16)throw new TypeError("invalid counter initial Uint8Array value length");ws(this,Ts,"f").set(e)}increment(){for(let e=15;e>=0;e--)if(ws(this,Ts,"f")[e]===255)ws(this,Ts,"f")[e]=0;else{ws(this,Ts,"f")[e]++;break}}encrypt(e){var r,n;let s=new Uint8Array(e);for(let i=0;i<s.length;i++)ws(this,ku,"f")===16&&(Xl(this,Wh,this.aes.encrypt(ws(this,Ts,"f")),"f"),Xl(this,ku,0,"f"),this.increment()),s[i]^=ws(this,Wh,"f")[Xl(this,ku,(n=ws(this,ku,"f"),r=n++,n),"f"),r];return s}decrypt(e){return this.encrypt(e)}};Wh=new WeakMap,ku=new WeakMap,Ts=new WeakMap;var fF,dF,hF;fF=new WeakMap,dF=new WeakMap,hF=new WeakMap;function R2(t){if(t.length<16)throw new TypeError("PKCS#7 invalid length");let e=t[t.length-1];if(e>16)throw new TypeError("PKCS#7 padding byte out of range");let r=t.length-e;for(let n=0;n<e;n++)if(t[r+n]!==e)throw new TypeError("PKCS#7 invalid padding byte");return new Uint8Array(t.subarray(0,r))}function S2(t){return typeof t=="string"&&!t.startsWith("0x")&&(t="0x"+t),qt(t)}function $l(t,e){for(t=String(t);t.length<e;)t="0"+t;return t}function Ou(t){return typeof t=="string"?kt(t,"NFKC"):qt(t)}function ar(t,e){let r=e.match(/^([a-z0-9$_.-]*)(:([a-z]+))?(!)?$/i);I(r!=null,"invalid path","path",e);let n=r[1],s=r[3],i=r[4]==="!",o=t;for(let a of n.toLowerCase().split(".")){if(Array.isArray(o)){if(!a.match(/^[0-9]+$/))break;o=o[parseInt(a)]}else if(typeof o=="object"){let u=null;for(let l in o)if(l.toLowerCase()===a){u=o[l];break}o=u}else o=null;if(o==null)break}if(I(!i||o!=null,"missing required value","path",n),s&&o!=null){if(s==="int"){if(typeof o=="string"&&o.match(/^-?[0-9]+$/))return parseInt(o);if(Number.isSafeInteger(o))return o}if(s==="number"&&typeof o=="string"&&o.match(/^-?[0-9.]*$/))return parseFloat(o);if(s==="data"&&typeof o=="string")return S2(o);if(s==="array"&&Array.isArray(o)||s===typeof o)return o;I(!1,`wrong type found for ${s} `,"path",n)}return o}var ON="m/44'/60'/0'/0/0";function Ym(t){try{let e=JSON.parse(t);if((e.version!=null?parseInt(e.version):0)===3)return!0}catch{}return!1}function pF(t,e,r){if(ar(t,"crypto.cipher:string")==="aes-128-ctr"){let s=ar(t,"crypto.cipherparams.iv:data!"),i=new Wa(e,s);return J(i.decrypt(r))}z(!1,"unsupported cipher","UNSUPPORTED_OPERATION",{operation:"decrypt"})}function _m(t,e){let r=ae(e),n=ar(t,"crypto.ciphertext:data!"),s=J(ot(et([r.slice(16,32),n]))).substring(2);I(s===ar(t,"crypto.mac:string!").toLowerCase(),"incorrect password","password","[ REDACTED ]");let i=pF(t,r.slice(0,16),n),o=gs(i);if(t.address){let l=t.address.toLowerCase();l.startsWith("0x")||(l="0x"+l),I(qe(l)===o,"keystore address/privateKey mismatch","address",t.address)}let a={address:o,privateKey:i};if(ar(t,"x-ethers.version:string")==="0.1"){let l=r.slice(32,64),f=ar(t,"x-ethers.mnemonicCiphertext:data!"),d=ar(t,"x-ethers.mnemonicCounter:data!"),p=new Wa(l,d);a.mnemonic={path:ar(t,"x-ethers.path:string")||ON,locale:ar(t,"x-ethers.locale:string")||"en",entropy:J(ae(p.decrypt(f)))}}return a}function PN(t){let e=ar(t,"crypto.kdf:string");if(e&&typeof e=="string"){if(e.toLowerCase()==="scrypt"){let r=ar(t,"crypto.kdfparams.salt:data!"),n=ar(t,"crypto.kdfparams.n:int!"),s=ar(t,"crypto.kdfparams.r:int!"),i=ar(t,"crypto.kdfparams.p:int!");I(n>0&&(n&n-1)===0,"invalid kdf.N","kdf.N",n),I(s>0&&i>0,"invalid kdf","kdf",e);let o=ar(t,"crypto.kdfparams.dklen:int!");return I(o===32,"invalid kdf.dklen","kdf.dflen",o),{name:"scrypt",salt:r,N:n,r:s,p:i,dkLen:64}}else if(e.toLowerCase()==="pbkdf2"){let r=ar(t,"crypto.kdfparams.salt:data!"),n=ar(t,"crypto.kdfparams.prf:string!"),s=n.split("-").pop();I(s==="sha256"||s==="sha512","invalid kdf.pdf","kdf.pdf",n);let i=ar(t,"crypto.kdfparams.c:int!"),o=ar(t,"crypto.kdfparams.dklen:int!");return I(o===32,"invalid kdf.dklen","kdf.dklen",o),{name:"pbkdf2",salt:r,count:i,dkLen:o,algorithm:s}}}I(!1,"unsupported key-derivation function","kdf",e)}function M2(t,e){let r=JSON.parse(t),n=Ou(e),s=PN(r);if(s.name==="pbkdf2"){let{salt:d,count:p,dkLen:m,algorithm:y}=s,x=Xn(n,d,p,m,y);return _m(r,x)}z(s.name==="scrypt","cannot be reached","UNKNOWN_ERROR",{params:s});let{salt:i,N:o,r:a,p:u,dkLen:l}=s,f=wo(n,i,o,a,u,l);return _m(r,f)}function kN(t){return new Promise(e=>{setTimeout(()=>{e()},t)})}async function v2(t,e,r){let n=JSON.parse(t),s=Ou(e),i=PN(n);if(i.name==="pbkdf2"){r&&(r(0),await kN(0));let{salt:p,count:m,dkLen:y,algorithm:x}=i,b=Xn(s,p,m,y,x);return r&&(r(1),await kN(0)),_m(n,b)}z(i.name==="scrypt","cannot be reached","UNKNOWN_ERROR",{params:i});let{salt:o,N:a,r:u,p:l,dkLen:f}=i,d=await bo(s,o,a,u,l,f,r);return _m(n,d)}function UN(t){let e=t.salt!=null?ae(t.salt,"options.salt"):$n(32),r=1<<17,n=8,s=1;return t.scrypt&&(t.scrypt.N&&(r=t.scrypt.N),t.scrypt.r&&(n=t.scrypt.r),t.scrypt.p&&(s=t.scrypt.p)),I(typeof r=="number"&&r>0&&Number.isSafeInteger(r)&&(BigInt(r)&BigInt(r-1))===BigInt(0),"invalid scrypt N parameter","options.N",r),I(typeof n=="number"&&n>0&&Number.isSafeInteger(n),"invalid scrypt r parameter","options.r",n),I(typeof s=="number"&&s>0&&Number.isSafeInteger(s),"invalid scrypt p parameter","options.p",s),{name:"scrypt",dkLen:32,salt:e,N:r,r:n,p:s}}function FN(t,e,r,n){let s=ae(r.privateKey,"privateKey"),i=n.iv!=null?ae(n.iv,"options.iv"):$n(16);I(i.length===16,"invalid options.iv length","options.iv",n.iv);let o=n.uuid!=null?ae(n.uuid,"options.uuid"):$n(16);I(o.length===16,"invalid options.uuid length","options.uuid",n.iv);let a=t.slice(0,16),u=t.slice(16,32),l=new Wa(a,i),f=ae(l.encrypt(s)),d=ot(et([u,f])),p={address:r.address.substring(2).toLowerCase(),id:B1(o),version:3,Crypto:{cipher:"aes-128-ctr",cipherparams:{iv:J(i).substring(2)},ciphertext:J(f).substring(2),kdf:"scrypt",kdfparams:{salt:J(e.salt).substring(2),n:e.N,dklen:32,p:e.p,r:e.r},mac:d.substring(2)}};if(r.mnemonic){let m=n.client!=null?n.client:`ethers/${A1}`,y=r.mnemonic.path||ON,x=r.mnemonic.locale||"en",b=t.slice(32,64),w=ae(r.mnemonic.entropy,"account.mnemonic.entropy"),v=$n(16),O=new Wa(b,v),P=ae(O.encrypt(w)),B=new Date,Y="UTC--"+(B.getUTCFullYear()+"-"+$l(B.getUTCMonth()+1,2)+"-"+$l(B.getUTCDate(),2)+"T"+$l(B.getUTCHours(),2)+"-"+$l(B.getUTCMinutes(),2)+"-"+$l(B.getUTCSeconds(),2)+".0Z")+"--"+p.address;p["x-ethers"]={client:m,gethFilename:Y,path:y,locale:x,mnemonicCounter:J(v).substring(2),mnemonicCiphertext:J(P).substring(2),version:"0.1"}}return JSON.stringify(p)}function zh(t,e,r){r==null&&(r={});let n=Ou(e),s=UN(r),i=wo(n,s.salt,s.N,s.r,s.p,64);return FN(ae(i),s,t,r)}async function Jh(t,e,r){r==null&&(r={});let n=Ou(e),s=UN(r),i=await bo(n,s.salt,s.N,s.r,s.p,64,r.progressCallback);return FN(ae(i),s,t,r)}var jm="m/44'/60'/0'/0/0",AF=new Uint8Array([66,105,116,99,111,105,110,32,115,101,101,100]),za=2147483648,mF=BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),gF="0123456789abcdef";function Wm(t,e){let r="";for(;t;)r=gF[t%16]+r,t=Math.trunc(t/16);for(;r.length<e*2;)r="0"+r;return"0x"+r}function k2(t){let e=ae(t),r=Rt(zr(zr(e)),0,4),n=et([e,r]);return Cl(n)}var ki={};function QN(t,e,r,n){let s=new Uint8Array(37);t&za?(z(n!=null,"cannot derive child of neutered node","UNSUPPORTED_OPERATION",{operation:"deriveChild"}),s.set(ae(n),1)):s.set(ae(r));for(let o=24;o>=0;o-=8)s[33+(o>>3)]=t>>24-o&255;let i=ae(xo("sha512",e,s));return{IL:i.slice(0,32),IR:i.slice(32)}}function LN(t,e){let r=e.split("/");I(r.length>0,"invalid path","path",e),r[0]==="m"&&(I(t.depth===0,`cannot derive root path (i.e. path starting with "m/") for a node at non-zero depth ${t.depth}`,"path",e),r.shift());let n=t;for(let s=0;s<r.length;s++){let i=r[s];if(i.match(/^[0-9]+'$/)){let o=parseInt(i.substring(0,i.length-1));I(o<za,"invalid path index",`path[${s}]`,i),n=n.deriveChild(za+o)}else if(i.match(/^[0-9]+$/)){let o=parseInt(i);I(o<za,"invalid path index",`path[${s}]`,i),n=n.deriveChild(o)}else I(!1,"invalid path component",`path[${s}]`,i)}return n}var Pu=class t extends vu{publicKey;fingerprint;parentFingerprint;mnemonic;chainCode;path;index;depth;constructor(e,r,n,s,i,o,a,u,l){super(r,l),Gn(e,ki,"HDNodeWallet"),Be(this,{publicKey:r.compressedPublicKey});let f=Rt(yo(zr(this.publicKey)),0,4);Be(this,{parentFingerprint:n,fingerprint:f,chainCode:s,path:i,index:o,depth:a}),Be(this,{mnemonic:u})}connect(e){return new t(ki,this.signingKey,this.parentFingerprint,this.chainCode,this.path,this.index,this.depth,this.mnemonic,e)}#e(){let e={address:this.address,privateKey:this.privateKey},r=this.mnemonic;return this.path&&r&&r.wordlist.locale==="en"&&r.password===""&&(e.mnemonic={path:this.path,locale:"en",entropy:r.entropy}),e}async encrypt(e,r){return await Jh(this.#e(),e,{progressCallback:r})}encryptSync(e){return zh(this.#e(),e)}get extendedKey(){return z(this.depth<256,"Depth too deep","UNSUPPORTED_OPERATION",{operation:"extendedKey"}),k2(et(["0x0488ADE4",Wm(this.depth,1),this.parentFingerprint,Wm(this.index,4),this.chainCode,et(["0x00",this.privateKey])]))}hasPath(){return this.path!=null}neuter(){return new Kh(ki,this.address,this.publicKey,this.parentFingerprint,this.chainCode,this.path,this.index,this.depth,this.provider)}deriveChild(e){let r=Je(e,"index");I(r<=4294967295,"invalid index","index",r);let n=this.path;n&&(n+="/"+(r&~za),r&za&&(n+="'"));let{IR:s,IL:i}=QN(r,this.chainCode,this.publicKey,this.privateKey),o=new Pr(jr((Ao(i)+BigInt(this.privateKey))%mF,32));return new t(ki,o,this.fingerprint,J(s),n,r,this.depth+1,this.mnemonic,this.provider)}derivePath(e){return LN(this,e)}static#t(e,r){I(Ii(e),"invalid seed","seed","[REDACTED]");let n=ae(e,"seed");I(n.length>=16&&n.length<=64,"invalid seed","seed","[REDACTED]");let s=ae(xo("sha512",AF,n)),i=new Pr(J(s.slice(0,32)));return new t(ki,i,"0x00000000",J(s.slice(32)),"m",0,0,r,null)}static fromExtendedKey(e){let r=St(b1(e));I(r.length===82||k2(r.slice(0,78))===e,"invalid extended key","extendedKey","[ REDACTED ]");let n=r[4],s=J(r.slice(5,9)),i=parseInt(J(r.slice(9,13)).substring(2),16),o=J(r.slice(13,45)),a=r.slice(45,78);switch(J(r.slice(0,4))){case"0x0488b21e":case"0x043587cf":{let u=J(a);return new Kh(ki,gs(u),u,s,o,null,i,n,null)}case"0x0488ade4":case"0x04358394 ":if(a[0]!==0)break;return new t(ki,new Pr(a.slice(1)),s,o,null,i,n,null,null)}I(!1,"invalid extended key prefix","extendedKey","[ REDACTED ]")}static createRandom(e,r,n){e==null&&(e=""),r==null&&(r=jm),n==null&&(n=vo.wordlist());let s=ja.fromEntropy($n(16),e,n);return t.#t(s.computeSeed(),s).derivePath(r)}static fromMnemonic(e,r){return r||(r=jm),t.#t(e.computeSeed(),e).derivePath(r)}static fromPhrase(e,r,n,s){r==null&&(r=""),n==null&&(n=jm),s==null&&(s=vo.wordlist());let i=ja.fromPhrase(e,r,s);return t.#t(i.computeSeed(),i).derivePath(n)}static fromSeed(e){return t.#t(e,null)}},Kh=class t extends Jl{publicKey;fingerprint;parentFingerprint;chainCode;path;index;depth;constructor(e,r,n,s,i,o,a,u,l){super(r,l),Gn(e,ki,"HDNodeVoidWallet"),Be(this,{publicKey:n});let f=Rt(yo(zr(n)),0,4);Be(this,{publicKey:n,fingerprint:f,parentFingerprint:s,chainCode:i,path:o,index:a,depth:u})}connect(e){return new t(ki,this.address,this.publicKey,this.parentFingerprint,this.chainCode,this.path,this.index,this.depth,e)}get extendedKey(){return z(this.depth<256,"Depth too deep","UNSUPPORTED_OPERATION",{operation:"extendedKey"}),k2(et(["0x0488B21E",Wm(this.depth,1),this.parentFingerprint,Wm(this.index,4),this.chainCode,this.publicKey]))}hasPath(){return this.path!=null}deriveChild(e){let r=Je(e,"index");I(r<=4294967295,"invalid index","index",r);let n=this.path;n&&(n+="/"+(r&~za),r&za&&(n+="'"));let{IR:s,IL:i}=QN(r,this.chainCode,this.publicKey,null),o=Pr.addPoints(i,this.publicKey,!0),a=gs(o);return new t(ki,a,o,this.fingerprint,J(s),n,r,this.depth+1,this.provider)}derivePath(e){return LN(this,e)}};function zm(t){try{if(JSON.parse(t).encseed)return!0}catch{}return!1}function Jm(t,e){let r=JSON.parse(t),n=Ou(e),s=qe(ar(r,"ethaddr:string!")),i=S2(ar(r,"encseed:string!"));I(i&&i.length%16===0,"invalid encseed","json",t);let o=ae(Xn(n,n,2e3,32,"sha256")).slice(0,16),a=i.slice(0,16),u=i.slice(16),l=new jh(o,a),f=R2(ae(l.decrypt(u))),d="";for(let p=0;p<f.length;p++)d+=String.fromCharCode(f[p]);return{address:s,privateKey:bn(d)}}function VN(t){return new Promise(e=>{setTimeout(()=>{e()},t)})}var Oi=class t extends vu{constructor(e,r){typeof e=="string"&&!e.startsWith("0x")&&(e="0x"+e);let n=typeof e=="string"?new Pr(e):e;super(n,r)}connect(e){return new t(this.signingKey,e)}async encrypt(e,r){let n={address:this.address,privateKey:this.privateKey};return await Jh(n,e,{progressCallback:r})}encryptSync(e){let r={address:this.address,privateKey:this.privateKey};return zh(r,e)}static#e(e){if(I(e,"invalid JSON wallet","json","[ REDACTED ]"),"mnemonic"in e&&e.mnemonic&&e.mnemonic.locale==="en"){let n=ja.fromEntropy(e.mnemonic.entropy),s=Pu.fromMnemonic(n,e.mnemonic.path);if(s.address===e.address&&s.privateKey===e.privateKey)return s;console.log("WARNING: JSON mismatch address/privateKey != mnemonic; fallback onto private key")}let r=new t(e.privateKey);return I(r.address===e.address,"address/privateKey mismatch","json","[ REDACTED ]"),r}static async fromEncryptedJson(e,r,n){let s=null;return Ym(e)?s=await v2(e,r,n):zm(e)&&(n&&(n(0),await VN(0)),s=Jm(e,r),n&&(n(1),await VN(0))),t.#e(s)}static fromEncryptedJsonSync(e,r){let n=null;return Ym(e)?n=M2(e,r):zm(e)?n=Jm(e,r):I(!1,"invalid JSON wallet","json","[ REDACTED ]"),t.#e(n)}static createRandom(e){let r=Pu.createRandom();return e?r.connect(e):r}static fromPhrase(e,r){let n=Pu.fromPhrase(e);return r?n.connect(r):n}};function Km(){return typeof navigator<"u"&&navigator.product==="ReactNative"?"react-native":typeof window<"u"?"browser":"node"}function Cn(t){if(!(typeof process>"u"))return process?.env[t]}var qm={31337:{rpcUrl:"http://localhost:8545",contractAddress:"0x84eA74d481Ee0A5332c457a4d796187F6Ba67fEB",delegationManagerAddress:"0xCf7Ed3AccA5a467e9e704C703E8D87F634fB0Fc9",stakeRegistryAddress:"0x9E545E3C0baAB3E08CdfD552C960A1050f373042",avsDirectoryAddress:"0x5FC8d32690cc91D4c39d9d3abcBD16989F875707"},17e3:{rpcUrl:Cn("RPC_URL")||"https://rpc.holesky.ethpandaops.io",contractAddress:"0x0861afc305999bfD3028dB66145395BdD7299366",delegationManagerAddress:"0xA44151489861Fe9e3055d95adC98FbD462B948e7",stakeRegistryAddress:"0xDa11C9Da04Ab02C4AF9374B27A5E727944D3E1dD",avsDirectoryAddress:"0x055733000064333CaDDbC92763c58BF0192fFeBf"}},GN=Cn("PRIVATE_KEY"),Zm=Cn("CHAIN_ID"),g1e=Cn("RECLAIM_PUBLIC_URL");var HN=[{type:"constructor",inputs:[{name:"_delegation",type:"address",internalType:"contract IDelegationManager"}],stateMutability:"nonpayable"},{type:"function",name:"DOMAIN_TYPEHASH",inputs:[],outputs:[{name:"",type:"bytes32",internalType:"bytes32"}],stateMutability:"view"},{type:"function",name:"OPERATOR_AVS_REGISTRATION_TYPEHASH",inputs:[],outputs:[{name:"",type:"bytes32",internalType:"bytes32"}],stateMutability:"view"},{type:"function",name:"avsOperatorStatus",inputs:[{name:"",type:"address",internalType:"address"},{name:"",type:"address",internalType:"address"}],outputs:[{name:"",type:"uint8",internalType:"enum IAVSDirectory.OperatorAVSRegistrationStatus"}],stateMutability:"view"},{type:"function",name:"calculateOperatorAVSRegistrationDigestHash",inputs:[{name:"operator",type:"address",internalType:"address"},{name:"avs",type:"address",internalType:"address"},{name:"salt",type:"bytes32",internalType:"bytes32"},{name:"expiry",type:"uint256",internalType:"uint256"}],outputs:[{name:"",type:"bytes32",internalType:"bytes32"}],stateMutability:"view"},{type:"function",name:"cancelSalt",inputs:[{name:"salt",type:"bytes32",internalType:"bytes32"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"delegation",inputs:[],outputs:[{name:"",type:"address",internalType:"contract IDelegationManager"}],stateMutability:"view"},{type:"function",name:"deregisterOperatorFromAVS",inputs:[{name:"operator",type:"address",internalType:"address"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"domainSeparator",inputs:[],outputs:[{name:"",type:"bytes32",internalType:"bytes32"}],stateMutability:"view"},{type:"function",name:"initialize",inputs:[{name:"initialOwner",type:"address",internalType:"address"},{name:"_pauserRegistry",type:"address",internalType:"contract IPauserRegistry"},{name:"initialPausedStatus",type:"uint256",internalType:"uint256"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"operatorSaltIsSpent",inputs:[{name:"",type:"address",internalType:"address"},{name:"",type:"bytes32",internalType:"bytes32"}],outputs:[{name:"",type:"bool",internalType:"bool"}],stateMutability:"view"},{type:"function",name:"owner",inputs:[],outputs:[{name:"",type:"address",internalType:"address"}],stateMutability:"view"},{type:"function",name:"pause",inputs:[{name:"newPausedStatus",type:"uint256",internalType:"uint256"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"pauseAll",inputs:[],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"paused",inputs:[{name:"index",type:"uint8",internalType:"uint8"}],outputs:[{name:"",type:"bool",internalType:"bool"}],stateMutability:"view"},{type:"function",name:"paused",inputs:[],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{type:"function",name:"pauserRegistry",inputs:[],outputs:[{name:"",type:"address",internalType:"contract IPauserRegistry"}],stateMutability:"view"},{type:"function",name:"registerOperatorToAVS",inputs:[{name:"operator",type:"address",internalType:"address"},{name:"operatorSignature",type:"tuple",internalType:"struct ISignatureUtils.SignatureWithSaltAndExpiry",components:[{name:"signature",type:"bytes",internalType:"bytes"},{name:"salt",type:"bytes32",internalType:"bytes32"},{name:"expiry",type:"uint256",internalType:"uint256"}]}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"renounceOwnership",inputs:[],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"setPauserRegistry",inputs:[{name:"newPauserRegistry",type:"address",internalType:"contract IPauserRegistry"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"transferOwnership",inputs:[{name:"newOwner",type:"address",internalType:"address"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"unpause",inputs:[{name:"newPausedStatus",type:"uint256",internalType:"uint256"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"updateAVSMetadataURI",inputs:[{name:"metadataURI",type:"string",internalType:"string"}],outputs:[],stateMutability:"nonpayable"},{type:"event",name:"AVSMetadataURIUpdated",inputs:[{name:"avs",type:"address",indexed:!0,internalType:"address"},{name:"metadataURI",type:"string",indexed:!1,internalType:"string"}],anonymous:!1},{type:"event",name:"Initialized",inputs:[{name:"version",type:"uint8",indexed:!1,internalType:"uint8"}],anonymous:!1},{type:"event",name:"OperatorAVSRegistrationStatusUpdated",inputs:[{name:"operator",type:"address",indexed:!0,internalType:"address"},{name:"avs",type:"address",indexed:!0,internalType:"address"},{name:"status",type:"uint8",indexed:!1,internalType:"enum IAVSDirectory.OperatorAVSRegistrationStatus"}],anonymous:!1},{type:"event",name:"OwnershipTransferred",inputs:[{name:"previousOwner",type:"address",indexed:!0,internalType:"address"},{name:"newOwner",type:"address",indexed:!0,internalType:"address"}],anonymous:!1},{type:"event",name:"Paused",inputs:[{name:"account",type:"address",indexed:!0,internalType:"address"},{name:"newPausedStatus",type:"uint256",indexed:!1,internalType:"uint256"}],anonymous:!1},{type:"event",name:"PauserRegistrySet",inputs:[{name:"pauserRegistry",type:"address",indexed:!1,internalType:"contract IPauserRegistry"},{name:"newPauserRegistry",type:"address",indexed:!1,internalType:"contract IPauserRegistry"}],anonymous:!1},{type:"event",name:"Unpaused",inputs:[{name:"account",type:"address",indexed:!0,internalType:"address"},{name:"newPausedStatus",type:"uint256",indexed:!1,internalType:"uint256"}],anonymous:!1}];var _N=[{type:"function",name:"DELEGATION_APPROVAL_TYPEHASH",inputs:[],outputs:[{name:"",type:"bytes32",internalType:"bytes32"}],stateMutability:"view"},{type:"function",name:"DOMAIN_TYPEHASH",inputs:[],outputs:[{name:"",type:"bytes32",internalType:"bytes32"}],stateMutability:"view"},{type:"function",name:"STAKER_DELEGATION_TYPEHASH",inputs:[],outputs:[{name:"",type:"bytes32",internalType:"bytes32"}],stateMutability:"view"},{type:"function",name:"beaconChainETHStrategy",inputs:[],outputs:[{name:"",type:"address",internalType:"contract IStrategy"}],stateMutability:"view"},{type:"function",name:"calculateCurrentStakerDelegationDigestHash",inputs:[{name:"staker",type:"address",internalType:"address"},{name:"operator",type:"address",internalType:"address"},{name:"expiry",type:"uint256",internalType:"uint256"}],outputs:[{name:"",type:"bytes32",internalType:"bytes32"}],stateMutability:"view"},{type:"function",name:"calculateDelegationApprovalDigestHash",inputs:[{name:"staker",type:"address",internalType:"address"},{name:"operator",type:"address",internalType:"address"},{name:"_delegationApprover",type:"address",internalType:"address"},{name:"approverSalt",type:"bytes32",internalType:"bytes32"},{name:"expiry",type:"uint256",internalType:"uint256"}],outputs:[{name:"",type:"bytes32",internalType:"bytes32"}],stateMutability:"view"},{type:"function",name:"calculateStakerDelegationDigestHash",inputs:[{name:"staker",type:"address",internalType:"address"},{name:"_stakerNonce",type:"uint256",internalType:"uint256"},{name:"operator",type:"address",internalType:"address"},{name:"expiry",type:"uint256",internalType:"uint256"}],outputs:[{name:"",type:"bytes32",internalType:"bytes32"}],stateMutability:"view"},{type:"function",name:"calculateWithdrawalRoot",inputs:[{name:"withdrawal",type:"tuple",internalType:"struct IDelegationManager.Withdrawal",components:[{name:"staker",type:"address",internalType:"address"},{name:"delegatedTo",type:"address",internalType:"address"},{name:"withdrawer",type:"address",internalType:"address"},{name:"nonce",type:"uint256",internalType:"uint256"},{name:"startBlock",type:"uint32",internalType:"uint32"},{name:"strategies",type:"address[]",internalType:"contract IStrategy[]"},{name:"shares",type:"uint256[]",internalType:"uint256[]"}]}],outputs:[{name:"",type:"bytes32",internalType:"bytes32"}],stateMutability:"pure"},{type:"function",name:"completeQueuedWithdrawal",inputs:[{name:"withdrawal",type:"tuple",internalType:"struct IDelegationManager.Withdrawal",components:[{name:"staker",type:"address",internalType:"address"},{name:"delegatedTo",type:"address",internalType:"address"},{name:"withdrawer",type:"address",internalType:"address"},{name:"nonce",type:"uint256",internalType:"uint256"},{name:"startBlock",type:"uint32",internalType:"uint32"},{name:"strategies",type:"address[]",internalType:"contract IStrategy[]"},{name:"shares",type:"uint256[]",internalType:"uint256[]"}]},{name:"tokens",type:"address[]",internalType:"contract IERC20[]"},{name:"middlewareTimesIndex",type:"uint256",internalType:"uint256"},{name:"receiveAsTokens",type:"bool",internalType:"bool"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"completeQueuedWithdrawals",inputs:[{name:"withdrawals",type:"tuple[]",internalType:"struct IDelegationManager.Withdrawal[]",components:[{name:"staker",type:"address",internalType:"address"},{name:"delegatedTo",type:"address",internalType:"address"},{name:"withdrawer",type:"address",internalType:"address"},{name:"nonce",type:"uint256",internalType:"uint256"},{name:"startBlock",type:"uint32",internalType:"uint32"},{name:"strategies",type:"address[]",internalType:"contract IStrategy[]"},{name:"shares",type:"uint256[]",internalType:"uint256[]"}]},{name:"tokens",type:"address[][]",internalType:"contract IERC20[][]"},{name:"middlewareTimesIndexes",type:"uint256[]",internalType:"uint256[]"},{name:"receiveAsTokens",type:"bool[]",internalType:"bool[]"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"cumulativeWithdrawalsQueued",inputs:[{name:"staker",type:"address",internalType:"address"}],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{type:"function",name:"decreaseDelegatedShares",inputs:[{name:"staker",type:"address",internalType:"address"},{name:"strategy",type:"address",internalType:"contract IStrategy"},{name:"shares",type:"uint256",internalType:"uint256"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"delegateTo",inputs:[{name:"operator",type:"address",internalType:"address"},{name:"approverSignatureAndExpiry",type:"tuple",internalType:"struct ISignatureUtils.SignatureWithExpiry",components:[{name:"signature",type:"bytes",internalType:"bytes"},{name:"expiry",type:"uint256",internalType:"uint256"}]},{name:"approverSalt",type:"bytes32",internalType:"bytes32"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"delegateToBySignature",inputs:[{name:"staker",type:"address",internalType:"address"},{name:"operator",type:"address",internalType:"address"},{name:"stakerSignatureAndExpiry",type:"tuple",internalType:"struct ISignatureUtils.SignatureWithExpiry",components:[{name:"signature",type:"bytes",internalType:"bytes"},{name:"expiry",type:"uint256",internalType:"uint256"}]},{name:"approverSignatureAndExpiry",type:"tuple",internalType:"struct ISignatureUtils.SignatureWithExpiry",components:[{name:"signature",type:"bytes",internalType:"bytes"},{name:"expiry",type:"uint256",internalType:"uint256"}]},{name:"approverSalt",type:"bytes32",internalType:"bytes32"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"delegatedTo",inputs:[{name:"staker",type:"address",internalType:"address"}],outputs:[{name:"",type:"address",internalType:"address"}],stateMutability:"view"},{type:"function",name:"delegationApprover",inputs:[{name:"operator",type:"address",internalType:"address"}],outputs:[{name:"",type:"address",internalType:"address"}],stateMutability:"view"},{type:"function",name:"delegationApproverSaltIsSpent",inputs:[{name:"_delegationApprover",type:"address",internalType:"address"},{name:"salt",type:"bytes32",internalType:"bytes32"}],outputs:[{name:"",type:"bool",internalType:"bool"}],stateMutability:"view"},{type:"function",name:"domainSeparator",inputs:[],outputs:[{name:"",type:"bytes32",internalType:"bytes32"}],stateMutability:"view"},{type:"function",name:"earningsReceiver",inputs:[{name:"operator",type:"address",internalType:"address"}],outputs:[{name:"",type:"address",internalType:"address"}],stateMutability:"view"},{type:"function",name:"getOperatorShares",inputs:[{name:"operator",type:"address",internalType:"address"},{name:"strategies",type:"address[]",internalType:"contract IStrategy[]"}],outputs:[{name:"",type:"uint256[]",internalType:"uint256[]"}],stateMutability:"view"},{type:"function",name:"getWithdrawalDelay",inputs:[{name:"strategies",type:"address[]",internalType:"contract IStrategy[]"}],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{type:"function",name:"increaseDelegatedShares",inputs:[{name:"staker",type:"address",internalType:"address"},{name:"strategy",type:"address",internalType:"contract IStrategy"},{name:"shares",type:"uint256",internalType:"uint256"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"isDelegated",inputs:[{name:"staker",type:"address",internalType:"address"}],outputs:[{name:"",type:"bool",internalType:"bool"}],stateMutability:"view"},{type:"function",name:"isOperator",inputs:[{name:"operator",type:"address",internalType:"address"}],outputs:[{name:"",type:"bool",internalType:"bool"}],stateMutability:"view"},{type:"function",name:"migrateQueuedWithdrawals",inputs:[{name:"withdrawalsToQueue",type:"tuple[]",internalType:"struct IStrategyManager.DeprecatedStruct_QueuedWithdrawal[]",components:[{name:"strategies",type:"address[]",internalType:"contract IStrategy[]"},{name:"shares",type:"uint256[]",internalType:"uint256[]"},{name:"staker",type:"address",internalType:"address"},{name:"withdrawerAndNonce",type:"tuple",internalType:"struct IStrategyManager.DeprecatedStruct_WithdrawerAndNonce",components:[{name:"withdrawer",type:"address",internalType:"address"},{name:"nonce",type:"uint96",internalType:"uint96"}]},{name:"withdrawalStartBlock",type:"uint32",internalType:"uint32"},{name:"delegatedAddress",type:"address",internalType:"address"}]}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"minWithdrawalDelayBlocks",inputs:[],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{type:"function",name:"modifyOperatorDetails",inputs:[{name:"newOperatorDetails",type:"tuple",internalType:"struct IDelegationManager.OperatorDetails",components:[{name:"earningsReceiver",type:"address",internalType:"address"},{name:"delegationApprover",type:"address",internalType:"address"},{name:"stakerOptOutWindowBlocks",type:"uint32",internalType:"uint32"}]}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"operatorDetails",inputs:[{name:"operator",type:"address",internalType:"address"}],outputs:[{name:"",type:"tuple",internalType:"struct IDelegationManager.OperatorDetails",components:[{name:"earningsReceiver",type:"address",internalType:"address"},{name:"delegationApprover",type:"address",internalType:"address"},{name:"stakerOptOutWindowBlocks",type:"uint32",internalType:"uint32"}]}],stateMutability:"view"},{type:"function",name:"operatorShares",inputs:[{name:"operator",type:"address",internalType:"address"},{name:"strategy",type:"address",internalType:"contract IStrategy"}],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{type:"function",name:"queueWithdrawals",inputs:[{name:"queuedWithdrawalParams",type:"tuple[]",internalType:"struct IDelegationManager.QueuedWithdrawalParams[]",components:[{name:"strategies",type:"address[]",internalType:"contract IStrategy[]"},{name:"shares",type:"uint256[]",internalType:"uint256[]"},{name:"withdrawer",type:"address",internalType:"address"}]}],outputs:[{name:"",type:"bytes32[]",internalType:"bytes32[]"}],stateMutability:"nonpayable"},{type:"function",name:"registerAsOperator",inputs:[{name:"registeringOperatorDetails",type:"tuple",internalType:"struct IDelegationManager.OperatorDetails",components:[{name:"earningsReceiver",type:"address",internalType:"address"},{name:"delegationApprover",type:"address",internalType:"address"},{name:"stakerOptOutWindowBlocks",type:"uint32",internalType:"uint32"}]},{name:"metadataURI",type:"string",internalType:"string"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"stakerNonce",inputs:[{name:"staker",type:"address",internalType:"address"}],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{type:"function",name:"stakerOptOutWindowBlocks",inputs:[{name:"operator",type:"address",internalType:"address"}],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{type:"function",name:"strategyWithdrawalDelayBlocks",inputs:[{name:"strategy",type:"address",internalType:"contract IStrategy"}],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{type:"function",name:"undelegate",inputs:[{name:"staker",type:"address",internalType:"address"}],outputs:[{name:"withdrawalRoot",type:"bytes32[]",internalType:"bytes32[]"}],stateMutability:"nonpayable"},{type:"function",name:"updateOperatorMetadataURI",inputs:[{name:"metadataURI",type:"string",internalType:"string"}],outputs:[],stateMutability:"nonpayable"},{type:"event",name:"MinWithdrawalDelayBlocksSet",inputs:[{name:"previousValue",type:"uint256",indexed:!1,internalType:"uint256"},{name:"newValue",type:"uint256",indexed:!1,internalType:"uint256"}],anonymous:!1},{type:"event",name:"OperatorDetailsModified",inputs:[{name:"operator",type:"address",indexed:!0,internalType:"address"},{name:"newOperatorDetails",type:"tuple",indexed:!1,internalType:"struct IDelegationManager.OperatorDetails",components:[{name:"earningsReceiver",type:"address",internalType:"address"},{name:"delegationApprover",type:"address",internalType:"address"},{name:"stakerOptOutWindowBlocks",type:"uint32",internalType:"uint32"}]}],anonymous:!1},{type:"event",name:"OperatorMetadataURIUpdated",inputs:[{name:"operator",type:"address",indexed:!0,internalType:"address"},{name:"metadataURI",type:"string",indexed:!1,internalType:"string"}],anonymous:!1},{type:"event",name:"OperatorRegistered",inputs:[{name:"operator",type:"address",indexed:!0,internalType:"address"},{name:"operatorDetails",type:"tuple",indexed:!1,internalType:"struct IDelegationManager.OperatorDetails",components:[{name:"earningsReceiver",type:"address",internalType:"address"},{name:"delegationApprover",type:"address",internalType:"address"},{name:"stakerOptOutWindowBlocks",type:"uint32",internalType:"uint32"}]}],anonymous:!1},{type:"event",name:"OperatorSharesDecreased",inputs:[{name:"operator",type:"address",indexed:!0,internalType:"address"},{name:"staker",type:"address",indexed:!1,internalType:"address"},{name:"strategy",type:"address",indexed:!1,internalType:"contract IStrategy"},{name:"shares",type:"uint256",indexed:!1,internalType:"uint256"}],anonymous:!1},{type:"event",name:"OperatorSharesIncreased",inputs:[{name:"operator",type:"address",indexed:!0,internalType:"address"},{name:"staker",type:"address",indexed:!1,internalType:"address"},{name:"strategy",type:"address",indexed:!1,internalType:"contract IStrategy"},{name:"shares",type:"uint256",indexed:!1,internalType:"uint256"}],anonymous:!1},{type:"event",name:"StakerDelegated",inputs:[{name:"staker",type:"address",indexed:!0,internalType:"address"},{name:"operator",type:"address",indexed:!0,internalType:"address"}],anonymous:!1},{type:"event",name:"StakerForceUndelegated",inputs:[{name:"staker",type:"address",indexed:!0,internalType:"address"},{name:"operator",type:"address",indexed:!0,internalType:"address"}],anonymous:!1},{type:"event",name:"StakerUndelegated",inputs:[{name:"staker",type:"address",indexed:!0,internalType:"address"},{name:"operator",type:"address",indexed:!0,internalType:"address"}],anonymous:!1},{type:"event",name:"StrategyWithdrawalDelayBlocksSet",inputs:[{name:"strategy",type:"address",indexed:!1,internalType:"contract IStrategy"},{name:"previousValue",type:"uint256",indexed:!1,internalType:"uint256"},{name:"newValue",type:"uint256",indexed:!1,internalType:"uint256"}],anonymous:!1},{type:"event",name:"WithdrawalCompleted",inputs:[{name:"withdrawalRoot",type:"bytes32",indexed:!1,internalType:"bytes32"}],anonymous:!1},{type:"event",name:"WithdrawalMigrated",inputs:[{name:"oldWithdrawalRoot",type:"bytes32",indexed:!1,internalType:"bytes32"},{name:"newWithdrawalRoot",type:"bytes32",indexed:!1,internalType:"bytes32"}],anonymous:!1},{type:"event",name:"WithdrawalQueued",inputs:[{name:"withdrawalRoot",type:"bytes32",indexed:!1,internalType:"bytes32"},{name:"withdrawal",type:"tuple",indexed:!1,internalType:"struct IDelegationManager.Withdrawal",components:[{name:"staker",type:"address",internalType:"address"},{name:"delegatedTo",type:"address",internalType:"address"},{name:"withdrawer",type:"address",internalType:"address"},{name:"nonce",type:"uint256",internalType:"uint256"},{name:"startBlock",type:"uint32",internalType:"uint32"},{name:"strategies",type:"address[]",internalType:"contract IStrategy[]"},{name:"shares",type:"uint256[]",internalType:"uint256[]"}]}],anonymous:!1}];var YN=[{type:"constructor",inputs:[{name:"_delegationManager",type:"address",internalType:"contract IDelegationManager"}],stateMutability:"nonpayable"},{type:"function",name:"deregisterOperator",inputs:[],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"getLastCheckpointOperatorWeight",inputs:[{name:"_operator",type:"address",internalType:"address"}],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{type:"function",name:"getLastCheckpointThresholdWeight",inputs:[],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{type:"function",name:"getLastCheckpointThresholdWeightAtBlock",inputs:[{name:"_blockNumber",type:"uint32",internalType:"uint32"}],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{type:"function",name:"getLastCheckpointTotalWeight",inputs:[],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{type:"function",name:"getLastCheckpointTotalWeightAtBlock",inputs:[{name:"_blockNumber",type:"uint32",internalType:"uint32"}],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{type:"function",name:"getOperatorWeight",inputs:[{name:"_operator",type:"address",internalType:"address"}],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{type:"function",name:"getOperatorWeightAtBlock",inputs:[{name:"_operator",type:"address",internalType:"address"},{name:"_blockNumber",type:"uint32",internalType:"uint32"}],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{type:"function",name:"initialize",inputs:[{name:"_serviceManager",type:"address",internalType:"address"},{name:"_thresholdWeight",type:"uint256",internalType:"uint256"},{name:"_quorum",type:"tuple",internalType:"struct Quorum",components:[{name:"strategies",type:"tuple[]",internalType:"struct StrategyParams[]",components:[{name:"strategy",type:"address",internalType:"contract IStrategy"},{name:"multiplier",type:"uint96",internalType:"uint96"}]}]}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"isValidSignature",inputs:[{name:"_dataHash",type:"bytes32",internalType:"bytes32"},{name:"_signatureData",type:"bytes",internalType:"bytes"}],outputs:[{name:"",type:"bytes4",internalType:"bytes4"}],stateMutability:"view"},{type:"function",name:"minimumWeight",inputs:[],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{type:"function",name:"operatorRegistered",inputs:[{name:"_operator",type:"address",internalType:"address"}],outputs:[{name:"",type:"bool",internalType:"bool"}],stateMutability:"view"},{type:"function",name:"owner",inputs:[],outputs:[{name:"",type:"address",internalType:"address"}],stateMutability:"view"},{type:"function",name:"quorum",inputs:[],outputs:[{name:"",type:"tuple",internalType:"struct Quorum",components:[{name:"strategies",type:"tuple[]",internalType:"struct StrategyParams[]",components:[{name:"strategy",type:"address",internalType:"contract IStrategy"},{name:"multiplier",type:"uint96",internalType:"uint96"}]}]}],stateMutability:"view"},{type:"function",name:"registerOperatorWithSignature",inputs:[{name:"_operator",type:"address",internalType:"address"},{name:"_operatorSignature",type:"tuple",internalType:"struct ISignatureUtils.SignatureWithSaltAndExpiry",components:[{name:"signature",type:"bytes",internalType:"bytes"},{name:"salt",type:"bytes32",internalType:"bytes32"},{name:"expiry",type:"uint256",internalType:"uint256"}]}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"renounceOwnership",inputs:[],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"transferOwnership",inputs:[{name:"newOwner",type:"address",internalType:"address"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"updateMinimumWeight",inputs:[{name:"_newMinimumWeight",type:"uint256",internalType:"uint256"},{name:"_operators",type:"address[]",internalType:"address[]"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"updateOperators",inputs:[{name:"_operators",type:"address[]",internalType:"address[]"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"updateOperatorsForQuorum",inputs:[{name:"operatorsPerQuorum",type:"address[][]",internalType:"address[][]"},{name:"",type:"bytes",internalType:"bytes"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"updateQuorumConfig",inputs:[{name:"_quorum",type:"tuple",internalType:"struct Quorum",components:[{name:"strategies",type:"tuple[]",internalType:"struct StrategyParams[]",components:[{name:"strategy",type:"address",internalType:"contract IStrategy"},{name:"multiplier",type:"uint96",internalType:"uint96"}]}]},{name:"_operators",type:"address[]",internalType:"address[]"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"updateStakeThreshold",inputs:[{name:"_thresholdWeight",type:"uint256",internalType:"uint256"}],outputs:[],stateMutability:"nonpayable"},{type:"event",name:"Initialized",inputs:[{name:"version",type:"uint8",indexed:!1,internalType:"uint8"}],anonymous:!1},{type:"event",name:"MinimumWeightUpdated",inputs:[{name:"_old",type:"uint256",indexed:!1,internalType:"uint256"},{name:"_new",type:"uint256",indexed:!1,internalType:"uint256"}],anonymous:!1},{type:"event",name:"OperatorDeregistered",inputs:[{name:"_operator",type:"address",indexed:!0,internalType:"address"},{name:"_avs",type:"address",indexed:!0,internalType:"address"}],anonymous:!1},{type:"event",name:"OperatorRegistered",inputs:[{name:"_operator",type:"address",indexed:!0,internalType:"address"},{name:"_avs",type:"address",indexed:!0,internalType:"address"}],anonymous:!1},{type:"event",name:"OperatorWeightUpdated",inputs:[{name:"_operator",type:"address",indexed:!0,internalType:"address"},{name:"oldWeight",type:"uint256",indexed:!1,internalType:"uint256"},{name:"newWeight",type:"uint256",indexed:!1,internalType:"uint256"}],anonymous:!1},{type:"event",name:"OwnershipTransferred",inputs:[{name:"previousOwner",type:"address",indexed:!0,internalType:"address"},{name:"newOwner",type:"address",indexed:!0,internalType:"address"}],anonymous:!1},{type:"event",name:"QuorumUpdated",inputs:[{name:"_old",type:"tuple",indexed:!1,internalType:"struct Quorum",components:[{name:"strategies",type:"tuple[]",internalType:"struct StrategyParams[]",components:[{name:"strategy",type:"address",internalType:"contract IStrategy"},{name:"multiplier",type:"uint96",internalType:"uint96"}]}]},{name:"_new",type:"tuple",indexed:!1,internalType:"struct Quorum",components:[{name:"strategies",type:"tuple[]",internalType:"struct StrategyParams[]",components:[{name:"strategy",type:"address",internalType:"contract IStrategy"},{name:"multiplier",type:"uint96",internalType:"uint96"}]}]}],anonymous:!1},{type:"event",name:"ThresholdWeightUpdated",inputs:[{name:"_thresholdWeight",type:"uint256",indexed:!1,internalType:"uint256"}],anonymous:!1},{type:"event",name:"TotalWeightUpdated",inputs:[{name:"oldTotalWeight",type:"uint256",indexed:!1,internalType:"uint256"},{name:"newTotalWeight",type:"uint256",indexed:!1,internalType:"uint256"}],anonymous:!1},{type:"event",name:"UpdateMinimumWeight",inputs:[{name:"oldMinimumWeight",type:"uint256",indexed:!1,internalType:"uint256"},{name:"newMinimumWeight",type:"uint256",indexed:!1,internalType:"uint256"}],anonymous:!1},{type:"error",name:"InsufficientSignedStake",inputs:[]},{type:"error",name:"InsufficientWeight",inputs:[]},{type:"error",name:"InvalidLength",inputs:[]},{type:"error",name:"InvalidQuorum",inputs:[]},{type:"error",name:"InvalidSignature",inputs:[]},{type:"error",name:"InvalidSignedWeight",inputs:[]},{type:"error",name:"InvalidThreshold",inputs:[]},{type:"error",name:"LengthMismatch",inputs:[]},{type:"error",name:"MustUpdateAllOperators",inputs:[]},{type:"error",name:"NotSorted",inputs:[]},{type:"error",name:"OperatorAlreadyRegistered",inputs:[]},{type:"error",name:"OperatorNotRegistered",inputs:[]}];var Xm=[{type:"constructor",inputs:[{name:"_avsDirectory",type:"address",internalType:"address"},{name:"_stakeRegistry",type:"address",internalType:"address"},{name:"_delegationManager",type:"address",internalType:"address"}],stateMutability:"nonpayable"},{type:"function",name:"admins",inputs:[{name:"",type:"uint256",internalType:"uint256"}],outputs:[{name:"",type:"address",internalType:"address"}],stateMutability:"view"},{type:"function",name:"allTaskHashes",inputs:[{name:"",type:"uint32",internalType:"uint32"}],outputs:[{name:"",type:"bytes32",internalType:"bytes32"}],stateMutability:"view"},{type:"function",name:"avsDirectory",inputs:[],outputs:[{name:"",type:"address",internalType:"address"}],stateMutability:"view"},{type:"function",name:"checkSignerAddress",inputs:[{name:"request",type:"tuple",internalType:"struct IReclaimServiceManager.ClaimRequest",components:[{name:"provider",type:"string",internalType:"string"},{name:"claimUserId",type:"bytes32",internalType:"bytes32"},{name:"claimHash",type:"bytes32",internalType:"bytes32"},{name:"requestedAt",type:"uint32",internalType:"uint32"},{name:"owner",type:"address",internalType:"address"}]},{name:"requestSignature",type:"bytes",internalType:"bytes"}],outputs:[{name:"",type:"address",internalType:"address"}],stateMutability:"pure"},{type:"function",name:"createNewTask",inputs:[{name:"request",type:"tuple",internalType:"struct IReclaimServiceManager.ClaimRequest",components:[{name:"provider",type:"string",internalType:"string"},{name:"claimUserId",type:"bytes32",internalType:"bytes32"},{name:"claimHash",type:"bytes32",internalType:"bytes32"},{name:"requestedAt",type:"uint32",internalType:"uint32"},{name:"owner",type:"address",internalType:"address"}]},{name:"requestSignature",type:"bytes",internalType:"bytes"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"deregisterOperatorFromAVS",inputs:[{name:"operator",type:"address",internalType:"address"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"encodeClaimRequest",inputs:[{name:"request",type:"tuple",internalType:"struct IReclaimServiceManager.ClaimRequest",components:[{name:"provider",type:"string",internalType:"string"},{name:"claimUserId",type:"bytes32",internalType:"bytes32"},{name:"claimHash",type:"bytes32",internalType:"bytes32"},{name:"requestedAt",type:"uint32",internalType:"uint32"},{name:"owner",type:"address",internalType:"address"}]}],outputs:[{name:"",type:"bytes",internalType:"bytes"}],stateMutability:"pure"},{type:"function",name:"getMetadataForOperator",inputs:[{name:"operator",type:"address",internalType:"address"}],outputs:[{name:"",type:"tuple",internalType:"struct IReclaimServiceManager.OperatorMetadata",components:[{name:"addr",type:"address",internalType:"address"},{name:"url",type:"string",internalType:"string"}]}],stateMutability:"view"},{type:"function",name:"getOperatorRestakedStrategies",inputs:[{name:"_operator",type:"address",internalType:"address"}],outputs:[{name:"",type:"address[]",internalType:"address[]"}],stateMutability:"view"},{type:"function",name:"getRestakeableStrategies",inputs:[],outputs:[{name:"",type:"address[]",internalType:"address[]"}],stateMutability:"view"},{type:"function",name:"isAdmin",inputs:[{name:"_admin",type:"address",internalType:"address"}],outputs:[{name:"",type:"bool",internalType:"bool"}],stateMutability:"view"},{type:"function",name:"isOperatorWhitelisted",inputs:[{name:"operator",type:"address",internalType:"address"}],outputs:[{name:"",type:"bool",internalType:"bool"}],stateMutability:"view"},{type:"function",name:"latestTaskNum",inputs:[],outputs:[{name:"",type:"uint32",internalType:"uint32"}],stateMutability:"view"},{type:"function",name:"operatorHasMinimumWeight",inputs:[{name:"operator",type:"address",internalType:"address"}],outputs:[{name:"",type:"bool",internalType:"bool"}],stateMutability:"view"},{type:"function",name:"owner",inputs:[],outputs:[{name:"",type:"address",internalType:"address"}],stateMutability:"view"},{type:"function",name:"pause",inputs:[{name:"newPausedStatus",type:"uint256",internalType:"uint256"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"pauseAll",inputs:[],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"paused",inputs:[{name:"index",type:"uint8",internalType:"uint8"}],outputs:[{name:"",type:"bool",internalType:"bool"}],stateMutability:"view"},{type:"function",name:"paused",inputs:[],outputs:[{name:"",type:"uint256",internalType:"uint256"}],stateMutability:"view"},{type:"function",name:"pauserRegistry",inputs:[],outputs:[{name:"",type:"address",internalType:"contract IPauserRegistry"}],stateMutability:"view"},{type:"function",name:"payForRange",inputs:[{name:"rangePayments",type:"tuple[]",internalType:"struct IPaymentCoordinator.RangePayment[]",components:[{name:"strategiesAndMultipliers",type:"tuple[]",internalType:"struct IPaymentCoordinator.StrategyAndMultiplier[]",components:[{name:"strategy",type:"address",internalType:"contract IStrategy"},{name:"multiplier",type:"uint96",internalType:"uint96"}]},{name:"token",type:"address",internalType:"contract IERC20"},{name:"amount",type:"uint256",internalType:"uint256"},{name:"startTimestamp",type:"uint32",internalType:"uint32"},{name:"duration",type:"uint32",internalType:"uint32"}]}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"registerOperatorToAVS",inputs:[{name:"operator",type:"address",internalType:"address"},{name:"operatorSignature",type:"tuple",internalType:"struct ISignatureUtils.SignatureWithSaltAndExpiry",components:[{name:"signature",type:"bytes",internalType:"bytes"},{name:"salt",type:"bytes32",internalType:"bytes32"},{name:"expiry",type:"uint256",internalType:"uint256"}]}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"registeredOperators",inputs:[{name:"",type:"uint256",internalType:"uint256"}],outputs:[{name:"addr",type:"address",internalType:"address"},{name:"url",type:"string",internalType:"string"}],stateMutability:"view"},{type:"function",name:"renounceOwnership",inputs:[],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"setPauserRegistry",inputs:[{name:"newPauserRegistry",type:"address",internalType:"contract IPauserRegistry"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"setup",inputs:[{name:"initialAdmin",type:"address",internalType:"address"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"stakeRegistry",inputs:[],outputs:[{name:"",type:"address",internalType:"address"}],stateMutability:"view"},{type:"function",name:"taskCompleted",inputs:[{name:"completedTask",type:"tuple",internalType:"struct IReclaimServiceManager.CompletedTask",components:[{name:"task",type:"tuple",internalType:"struct IReclaimServiceManager.Task",components:[{name:"request",type:"tuple",internalType:"struct IReclaimServiceManager.ClaimRequest",components:[{name:"provider",type:"string",internalType:"string"},{name:"claimUserId",type:"bytes32",internalType:"bytes32"},{name:"claimHash",type:"bytes32",internalType:"bytes32"},{name:"requestedAt",type:"uint32",internalType:"uint32"},{name:"owner",type:"address",internalType:"address"}]},{name:"createdAt",type:"uint32",internalType:"uint32"},{name:"expiresAt",type:"uint32",internalType:"uint32"},{name:"minimumSignatures",type:"uint8",internalType:"uint8"},{name:"operators",type:"tuple[]",internalType:"struct IReclaimServiceManager.Operator[]",components:[{name:"addr",type:"address",internalType:"address"},{name:"url",type:"string",internalType:"string"}]},{name:"feePaid",type:"uint256",internalType:"uint256"}]},{name:"signatures",type:"bytes[]",internalType:"bytes[]"}]},{name:"referenceTaskIndex",type:"uint32",internalType:"uint32"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"taskCreationMetadata",inputs:[],outputs:[{name:"maxTaskLifetimeS",type:"uint32",internalType:"uint32"},{name:"minSignaturesPerTask",type:"uint8",internalType:"uint8"},{name:"maxTaskCreationDelayS",type:"uint32",internalType:"uint32"}],stateMutability:"view"},{type:"function",name:"transferOwnership",inputs:[{name:"newOwner",type:"address",internalType:"address"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"unpause",inputs:[{name:"newPausedStatus",type:"uint256",internalType:"uint256"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"updateAVSMetadataURI",inputs:[{name:"_metadataURI",type:"string",internalType:"string"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"updateOperatorMetadata",inputs:[{name:"metadata",type:"tuple",internalType:"struct IReclaimServiceManager.OperatorMetadata",components:[{name:"addr",type:"address",internalType:"address"},{name:"url",type:"string",internalType:"string"}]}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"updateTaskCreationMetadata",inputs:[{name:"newMetadata",type:"tuple",internalType:"struct IReclaimServiceManager.TaskCreationMetadata",components:[{name:"maxTaskLifetimeS",type:"uint32",internalType:"uint32"},{name:"minSignaturesPerTask",type:"uint8",internalType:"uint8"},{name:"maxTaskCreationDelayS",type:"uint32",internalType:"uint32"}]}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"whitelistAddressAsOperator",inputs:[{name:"operator",type:"address",internalType:"address"},{name:"isWhitelisted",type:"bool",internalType:"bool"}],outputs:[],stateMutability:"nonpayable"},{type:"function",name:"whitelistedOperators",inputs:[{name:"",type:"uint256",internalType:"uint256"}],outputs:[{name:"",type:"address",internalType:"address"}],stateMutability:"view"},{type:"event",name:"Initialized",inputs:[{name:"version",type:"uint8",indexed:!1,internalType:"uint8"}],anonymous:!1},{type:"event",name:"NewTaskCreated",inputs:[{name:"taskIndex",type:"uint32",indexed:!0,internalType:"uint32"},{name:"task",type:"tuple",indexed:!1,internalType:"struct IReclaimServiceManager.Task",components:[{name:"request",type:"tuple",internalType:"struct IReclaimServiceManager.ClaimRequest",components:[{name:"provider",type:"string",internalType:"string"},{name:"claimUserId",type:"bytes32",internalType:"bytes32"},{name:"claimHash",type:"bytes32",internalType:"bytes32"},{name:"requestedAt",type:"uint32",internalType:"uint32"},{name:"owner",type:"address",internalType:"address"}]},{name:"createdAt",type:"uint32",internalType:"uint32"},{name:"expiresAt",type:"uint32",internalType:"uint32"},{name:"minimumSignatures",type:"uint8",internalType:"uint8"},{name:"operators",type:"tuple[]",internalType:"struct IReclaimServiceManager.Operator[]",components:[{name:"addr",type:"address",internalType:"address"},{name:"url",type:"string",internalType:"string"}]},{name:"feePaid",type:"uint256",internalType:"uint256"}]}],anonymous:!1},{type:"event",name:"OwnershipTransferred",inputs:[{name:"previousOwner",type:"address",indexed:!0,internalType:"address"},{name:"newOwner",type:"address",indexed:!0,internalType:"address"}],anonymous:!1},{type:"event",name:"Paused",inputs:[{name:"account",type:"address",indexed:!0,internalType:"address"},{name:"newPausedStatus",type:"uint256",indexed:!1,internalType:"uint256"}],anonymous:!1},{type:"event",name:"PauserRegistrySet",inputs:[{name:"pauserRegistry",type:"address",indexed:!1,internalType:"contract IPauserRegistry"},{name:"newPauserRegistry",type:"address",indexed:!1,internalType:"contract IPauserRegistry"}],anonymous:!1},{type:"event",name:"TaskCompleted",inputs:[{name:"taskIndex",type:"uint32",indexed:!0,internalType:"uint32"},{name:"task",type:"tuple",indexed:!1,internalType:"struct IReclaimServiceManager.CompletedTask",components:[{name:"task",type:"tuple",internalType:"struct IReclaimServiceManager.Task",components:[{name:"request",type:"tuple",internalType:"struct IReclaimServiceManager.ClaimRequest",components:[{name:"provider",type:"string",internalType:"string"},{name:"claimUserId",type:"bytes32",internalType:"bytes32"},{name:"claimHash",type:"bytes32",internalType:"bytes32"},{name:"requestedAt",type:"uint32",internalType:"uint32"},{name:"owner",type:"address",internalType:"address"}]},{name:"createdAt",type:"uint32",internalType:"uint32"},{name:"expiresAt",type:"uint32",internalType:"uint32"},{name:"minimumSignatures",type:"uint8",internalType:"uint8"},{name:"operators",type:"tuple[]",internalType:"struct IReclaimServiceManager.Operator[]",components:[{name:"addr",type:"address",internalType:"address"},{name:"url",type:"string",internalType:"string"}]},{name:"feePaid",type:"uint256",internalType:"uint256"}]},{name:"signatures",type:"bytes[]",internalType:"bytes[]"}]}],anonymous:!1},{type:"event",name:"Unpaused",inputs:[{name:"account",type:"address",indexed:!0,internalType:"address"},{name:"newPausedStatus",type:"uint256",indexed:!1,internalType:"uint256"}],anonymous:!1}],jN="0x610100604052348015610010575f5ffd5b50604051614a44380380614a4483398101604081905261002f91610140565b6001600160a01b0380841660a0528083166080525f60c081905290821660e052839083908361005c610068565b50505050505050610180565b5f54610100900460ff16156100d35760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b5f5460ff9081161015610123575f805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b80516001600160a01b038116811461013b575f5ffd5b919050565b5f5f5f60608486031215610152575f5ffd5b61015b84610125565b925061016960208501610125565b915061017760408501610125565b90509250925092565b60805160a05160c05160e0516148446102005f395f6120e401525f8181611e6c0152611f3f01525f81816103c30152818161232001528181612496015261250101525f818161039c015281816107d0015281816111930152818161149e015281816119150152818161198301528181611fa4015261294c01526148445ff3fe608060405234801561000f575f5ffd5b5060043610610213575f3560e01c8063715018a61161011f578063a98fb355116100a9578063d5dba76d11610079578063d5dba76d14610509578063e481af9d1461051c578063f289a7fb14610524578063f2fde38b14610577578063fabc1cbc1461058a575f5ffd5b8063a98fb355146104b0578063aa5b9cad146104c3578063abd3b6bd146104d6578063b224b979146104f6575f5ffd5b806394bb371b116100ef57806394bb371b146104365780639926ee7d14610456578063a3524f9514610469578063a364f4da1461047c578063a551c1b81461048f575f5ffd5b8063715018a6146103e5578063886f1195146103ed5780638b00ce7c146104005780638da5cb5b14610425575f5ffd5b80632e8da829116101a05780635c975abb116101705780635c975abb14610369578063630868dc1461037157806366d382031461038457806368304835146103975780636b3aa72e146103be575f5ffd5b80632e8da8291461030b57806333cfb7b71461031e578063595c6a671461033e5780635ac86ab714610346575f5ffd5b80631b445516116101e65780631b445516146102825780631be785ac146102955780631ee3ca10146102a857806324d7806c146102bb5780632d89f6fc146102de575f5ffd5b806310d67a2f14610217578063136439dd1461022c57806314bfd6d01461023f57806316bd83c31461026f575b5f5ffd5b61022a6102253660046133db565b61059d565b005b61022a61023a3660046133f6565b610656565b61025261024d3660046133f6565b610793565b6040516001600160a01b0390911681526020015b60405180910390f35b61022a61027d3660046135a7565b6107bb565b61022a6102903660046135d8565b610b18565b61022a6102a3366004613654565b610b2e565b61022a6102b63660046136ae565b610c23565b6102ce6102c93660046133db565b610ce2565b6040519015158152602001610266565b6102fd6102ec3660046136fc565b60cb6020525f908152604090205481565b604051908152602001610266565b6102ce6103193660046133db565b610d67565b61033161032c3660046133db565b610dd1565b6040516102669190613715565b61022a610de2565b6102ce610354366004613760565b609854600160ff9092169190911b9081161490565b6098546102fd565b61025261037f3660046133f6565b610ea6565b61022a6103923660046133db565b610eb5565b6102527f000000000000000000000000000000000000000000000000000000000000000081565b6102527f000000000000000000000000000000000000000000000000000000000000000081565b61022a611039565b609754610252906001600160a01b031681565b60c9546104109063ffffffff1681565b60405163ffffffff9091168152602001610266565b6033546001600160a01b0316610252565b6104496104443660046133db565b61104c565b60405161026691906137cd565b61022a6104643660046137df565b611188565b61022a610477366004613a33565b61122f565b61022a61048a3660046133db565b611493565b6104a261049d3660046133f6565b6114e4565b604051610266929190613b74565b61022a6104be366004613b97565b6115a2565b6102526104d1366004613bc8565b6115d0565b6104e96104e4366004613c2b565b611606565b6040516102669190613c5c565b61022a610504366004613bc8565b61162f565b6102ce6105173660046133db565b6118f2565b610331611a0c565b60ca5461054e9063ffffffff8082169160ff64010000000082041691650100000000009091041683565b6040805163ffffffff948516815260ff9093166020840152921691810191909152606001610266565b61022a6105853660046133db565b611a1b565b61022a6105983660046133f6565b611a91565b60975f9054906101000a90046001600160a01b03166001600160a01b031663eab66d7a6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156105ed573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106119190613c6e565b6001600160a01b0316336001600160a01b03161461064a5760405162461bcd60e51b815260040161064190613c89565b60405180910390fd5b61065381611bea565b50565b60975460405163237dfb4760e11b81523360048201526001600160a01b03909116906346fbf68e90602401602060405180830381865afa15801561069c573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106c09190613cd3565b6106dc5760405162461bcd60e51b815260040161064190613cee565b609854818116146107555760405162461bcd60e51b815260206004820152603860248201527f5061757361626c652e70617573653a20696e76616c696420617474656d70742060448201527f746f20756e70617573652066756e6374696f6e616c69747900000000000000006064820152608401610641565b609881905560405181815233907fab40a374bc51de372200a8bc981af8c9ecdc08dfdaef0bb6e09f88f3c616ef3d906020015b60405180910390a250565b60cd81815481106107a2575f80fd5b5f918252602090912001546001600160a01b0316905081565b60405163ec7fbb3160e01b81523360048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063ec7fbb3190602401602060405180830381865afa15801561081d573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108419190613cd3565b15156001146108925760405162461bcd60e51b815260206004820152601b60248201527f4f70657261746f72206d757374206265207468652063616c6c657200000000006044820152606401610641565b80516001600160a01b031633146108fa5760405162461bcd60e51b815260206004820152602660248201527f4d657461646174612061646472657373206d757374206d61746368207468652060448201526531b0b63632b960d11b6064820152608401610641565b6020810151511580156109db575f5b60ce5481101561099d57825f01516001600160a01b031660ce828154811061093357610933613d36565b5f9182526020909120600290910201546001600160a01b0316036109955760ce818154811061096457610964613d36565b5f9182526020822060029091020180546001600160a01b03191681559061098e600183018261337c565b5050505050565b600101610909565b5060405162461bcd60e51b815260206004820152601260248201527113dc195c985d1bdc881b9bdd08199bdd5b9960721b6044820152606401610641565b5f5b60ce54811015610a8c57825f01516001600160a01b031660ce8281548110610a0757610a07613d36565b5f9182526020909120600290910201546001600160a01b031603610a84578260ce8281548110610a3957610a39613d36565b5f91825260209182902083516002929092020180546001600160a01b0319166001600160a01b03909216919091178155908201516001820190610a7c9082613dd5565b505050505050565b6001016109dd565b5060ce80546001810182555f9190915282517fd36cd1c74ef8d7326d8021b776c18fb5a5724b7f7bc93c2f42e43e10ef27d12a600290920291820180546001600160a01b0319166001600160a01b03909216919091178155602084015184927fd36cd1c74ef8d7326d8021b776c18fb5a5724b7f7bc93c2f42e43e10ef27d12b019061098e9082613dd5565b610b20611ce1565b610b2a8282611d3b565b5050565b610b3733610ce2565b610b535760405162461bcd60e51b815260040161064190613e8f565b8015610ba95760cc80546001810182555f919091527f47197230e1e4b29fc0bd84d7d78966c0925452aff72a2a121538b102457e9ebe0180546001600160a01b0384166001600160a01b03199091161790555050565b5f5b60cc5481101561099d57826001600160a01b031660cc8281548110610bd257610bd2613d36565b5f918252602090912001546001600160a01b031603610c1b5760cc8181548110610bfe57610bfe613d36565b5f91825260209091200180546001600160a01b0319169055505050565b600101610bab565b610c2c33610ce2565b610c485760405162461bcd60e51b815260040161064190613e8f565b805163ffffffff1615610c7157805160ca805463ffffffff191663ffffffff9092169190911790555b602081015160ff1615610ca457602081015160ca805460ff9092166401000000000264ff00000000199092169190911790555b604081015163ffffffff1615610653576040015160ca805463ffffffff909216650100000000000268ffffffff000000000019909216919091179055565b5f610cf56033546001600160a01b031690565b6001600160a01b03163303610d0c57506001919050565b5f5b60cd54811015610d5f57826001600160a01b031660cd8281548110610d3557610d35613d36565b5f918252602090912001546001600160a01b031603610d575750600192915050565b600101610d0e565b505f92915050565b5f610d7182610ce2565b15610d7e57506001919050565b5f5b60cc54811015610d5f57826001600160a01b031660cc8281548110610da757610da7613d36565b5f918252602090912001546001600160a01b031603610dc95750600192915050565b600101610d80565b6060610ddc82611f9f565b92915050565b60975460405163237dfb4760e11b81523360048201526001600160a01b03909116906346fbf68e90602401602060405180830381865afa158015610e28573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e4c9190613cd3565b610e685760405162461bcd60e51b815260040161064190613cee565b5f19609881905560405190815233907fab40a374bc51de372200a8bc981af8c9ecdc08dfdaef0bb6e09f88f3c616ef3d9060200160405180910390a2565b60cc81815481106107a2575f80fd5b5f54610100900460ff1615808015610ed357505f54600160ff909116105b80610eec5750303b158015610eec57505f5460ff166001145b610f4f5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608401610641565b5f805460ff191660011790558015610f70575f805461ff0019166101001790555b60408051606081018252610708815260016020820181905261012c919092015260ca805468ffffffffffffffffff191666012c010000070817905560cd805491820181555f527f83978b4c69c48dd978ab43fe30f077615294f938fb7f936d9eb340e51ea7db2e0180546001600160a01b0319166001600160a01b0384161790558015610b2a575f805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050565b611041611ce1565b61104a5f6122b8565b565b604080518082019091525f8152606060208201525f5b60ce5481101561099d57826001600160a01b031660ce828154811061108957611089613d36565b5f9182526020909120600290910201546001600160a01b0316036111805760ce81815481106110ba576110ba613d36565b5f9182526020918290206040805180820190915260029092020180546001600160a01b0316825260018101805492939192918401916110f890613d4a565b80601f016020809104026020016040519081016040528092919081815260200182805461112490613d4a565b801561116f5780601f106111465761010080835404028352916020019161116f565b820191905f5260205f20905b81548152906001019060200180831161115257829003601f168201915b505050505081525050915050919050565b600101611062565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146111d05760405162461bcd60e51b815260040161064190613ebc565b6111d982610d67565b6112255760405162461bcd60e51b815260206004820152601860248201527f4f70657261746f72206e6f742077686974656c697374656400000000000000006044820152606401610641565b610b2a8282612309565b63ffffffff81165f90815260cb60209081526040918290205484519251909261125a92909101614039565b60405160208183030381529060405280519060200120146112e35760405162461bcd60e51b815260206004820152603d60248201527f737570706c696564207461736b20646f6573206e6f74206d617463682074686560448201527f206f6e65207265636f7264656420696e2074686520636f6e74726163740000006064820152608401610641565b81516040015163ffffffff4281169116116113335760405162461bcd60e51b815260206004820152601060248201526f15185cdac81a185cc8195e1c1a5c995960821b6044820152606401610641565b6040805160c0810182528351518201519181019182528351516080908101516001600160a01b03166060830152845160209081015163ffffffff1682840152600160a08401529282528285015192820192909252835190910151515f906001600160401b038111156113a7576113a761340d565b6040519080825280602002602001820160405280156113d0578160200160208202803683370190505b5090505f5b8151811015611433578451608001518051829081106113f6576113f6613d36565b60200260200101515f015182828151811061141357611413613d36565b6001600160a01b03909216602092830291909101909101526001016113d5565b5061143e8282612357565b63ffffffff83165f81815260cb602052604080822091909155517fa5be567caa88ff11b6da2cf017f9cefffcafa24111a9ecbf0b0bc476944f0f099061148590879061404b565b60405180910390a250505050565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146114db5760405162461bcd60e51b815260040161064190613ebc565b61065381612477565b60ce81815481106114f3575f80fd5b5f918252602090912060029091020180546001820180546001600160a01b0390921693509061152190613d4a565b80601f016020809104026020016040519081016040528092919081815260200182805461154d90613d4a565b80156115985780601f1061156f57610100808354040283529160200191611598565b820191905f5260205f20905b81548152906001019060200180831161157b57829003601f168201915b5050505050905082565b6115ab33610ce2565b6115c75760405162461bcd60e51b815260040161064190613e8f565b610653816124ea565b5f5f836040516020016115e391906140ce565b60405160208183030381529060405290506115fe8184612536565b949350505050565b60608160405160200161161991906140ce565b6040516020818303038152906040529050919050565b60808201516001600160a01b031633146116f3575f8260405160200161165591906140ce565b60405160208183030381529060405290505f6116718284612536565b905083608001516001600160a01b0316816001600160a01b0316146116f05760405162461bcd60e51b815260206004820152602f60248201527f5369676e6572206f6620726571756573745369676e6174757265206973206e6f60448201526e3a103932b8bab2b9ba1737bbb732b960891b6064820152608401610641565b50505b5f611702836060015142612576565b60ca5490915063ffffffff650100000000009091048116908216111561176a5760405162461bcd60e51b815260206004820152601e60248201527f526571756573742074696d657374616d7020746f6f20666172206177617900006044820152606401610641565b6040805161016081018252606060c082018190525f60e08301819052610100830181905261012083018190526101408301819052928201839052808201839052608082015260a081019190915283815263ffffffff4281166020830181905260ca546117d79216906140f4565b63ffffffff1660408281019190915260ca54640100000000900460ff166060830152515f9061180a908390602001614039565b60408051808303601f19018152919052805160209091012060ca5490915061183d90640100000000900460ff16826125aa565b6080830152604051611853908390602001614039565b60408051601f19818403018152828252805160209182012060c9805463ffffffff9081165f90815260cb90945293909220555416907f7738d1b30deac7824a0580de02efde3bb766c7b7b5ea79da34869ebd887cebf3906118b5908590614039565b60405180910390a260c9546118d19063ffffffff1660016140f4565b60c9805463ffffffff191663ffffffff929092169190911790555050505050565b6040516398ec1ac960e01b81526001600160a01b0382811660048301525f9182917f000000000000000000000000000000000000000000000000000000000000000016906398ec1ac990602401602060405180830381865afa15801561195a573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061197e9190614110565b90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166340bf2fb76040518163ffffffff1660e01b8152600401602060405180830381865afa1580156119dd573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611a019190614110565b909110159392505050565b6060611a16612947565b905090565b611a23611ce1565b6001600160a01b038116611a885760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610641565b610653816122b8565b60975f9054906101000a90046001600160a01b03166001600160a01b031663eab66d7a6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611ae1573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611b059190613c6e565b6001600160a01b0316336001600160a01b031614611b355760405162461bcd60e51b815260040161064190613c89565b609854198119609854191614611bb35760405162461bcd60e51b815260206004820152603860248201527f5061757361626c652e756e70617573653a20696e76616c696420617474656d7060448201527f7420746f2070617573652066756e6374696f6e616c69747900000000000000006064820152608401610641565b609881905560405181815233907f3582d1828e26bf56bd801502bc021ac0bc8afb57c826e4986b45593c8fad389c90602001610788565b6001600160a01b038116611c785760405162461bcd60e51b815260206004820152604960248201527f5061757361626c652e5f73657450617573657252656769737472793a206e657760448201527f50617573657252656769737472792063616e6e6f7420626520746865207a65726064820152686f206164647265737360b81b608482015260a401610641565b609754604080516001600160a01b03928316815291831660208301527f6e9fcd539896fca60e8b0f01dd580233e48a6b0f7df013b89ba7f565869acdb6910160405180910390a1609780546001600160a01b0319166001600160a01b0392909216919091179055565b6033546001600160a01b0316331461104a5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610641565b5f5b81811015611f2757828282818110611d5757611d57613d36565b9050602002810190611d699190614127565b611d7a9060408101906020016133db565b6001600160a01b03166323b872dd3330868686818110611d9c57611d9c613d36565b9050602002810190611dae9190614127565b604080516001600160e01b031960e087901b1681526001600160a01b039485166004820152939092166024840152013560448201526064016020604051808303815f875af1158015611e02573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e269190613cd3565b50828282818110611e3957611e39613d36565b9050602002810190611e4b9190614127565b611e5c9060408101906020016133db565b6001600160a01b031663095ea7b37f0000000000000000000000000000000000000000000000000000000000000000858585818110611e9d57611e9d613d36565b9050602002810190611eaf9190614127565b604080516001600160e01b031960e086901b1681526001600160a01b039093166004840152013560248201526044016020604051808303815f875af1158015611efa573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611f1e9190613cd3565b50600101611d3d565b50604051630da22a8b60e11b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690631b44551690611f7690859085906004016141d2565b5f604051808303815f87803b158015611f8d575f5ffd5b505af1158015610a7c573d5f5f3e3d5ffd5b60605f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316631703a0186040518163ffffffff1660e01b81526004015f60405180830381865afa158015611ffd573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f1916820160405261202491908101906142e7565b8051519091505f816001600160401b038111156120435761204361340d565b60405190808252806020026020018201604052801561206c578160200160208202803683370190505b5090505f5b828110156120ca57835180518290811061208d5761208d613d36565b60200260200101515f01518282815181106120aa576120aa613d36565b6001600160a01b0390921660209283029190910190910152600101612071565b50604051639004134760e01b81525f906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063900413479061211b90899086906004016143e7565b5f60405180830381865afa158015612135573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f1916820160405261215c9190810190614445565b90505f836001600160401b038111156121775761217761340d565b6040519080825280602002602001820160405280156121a0578160200160208202803683370190505b5090505f5f5b858110156121e5575f8482815181106121c1576121c1613d36565b602002602001015111156121dd57816121d9816144d5565b9250505b6001016121a6565b505f816001600160401b038111156121ff576121ff61340d565b604051908082528060200260200182016040528015612228578160200160208202803683370190505b5090505f5b868110156122ab575f85828151811061224857612248613d36565b602002602001015111156122a35783818151811061226857612268613d36565b602002602001015182828151811061228257612282613d36565b60200260200101906001600160a01b031690816001600160a01b0316815250505b60010161222d565b5098975050505050505050565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a35050565b604051639926ee7d60e01b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690639926ee7d90611f7690859085906004016144ed565b5f8260200151511161239b5760405162461bcd60e51b815260206004820152600d60248201526c4e6f207369676e61747572657360981b6044820152606401610641565b5f6123a583612a7b565b90505f5b8251811015612471575f805b835181101561241a578483815181106123d0576123d0613d36565b60200260200101516001600160a01b03168482815181106123f3576123f3613d36565b60200260200101516001600160a01b031603612412576001915061241a565b6001016123b5565b50806124685760405162461bcd60e51b815260206004820152601a60248201527f4d697373696e67206174746573746f72207369676e61747572650000000000006044820152606401610641565b506001016123a9565b50505050565b6040516351b27a6d60e11b81526001600160a01b0382811660048301527f0000000000000000000000000000000000000000000000000000000000000000169063a364f4da906024015b5f604051808303815f87803b1580156124d8575f5ffd5b505af115801561098e573d5f5f3e3d5ffd5b60405163a98fb35560e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063a98fb355906124c1908490600401613c5c565b5f5f6125428451612b46565b8460405160200161255492919061454e565b6040516020818303038152906040528051906020012090506115fe8184612c6b565b5f8163ffffffff168363ffffffff1611612599576125948383614588565b6125a3565b6125a38284614588565b9392505050565b60ce5460609060ff841611156126025760405162461bcd60e51b815260206004820152601e60248201527f496e7465726e616c3a204e6f7420656e6f756768206f70657261746f727300006044820152606401610641565b5f60ce805480602002602001604051908101604052809291908181526020015f905b828210156126fa575f848152602090819020604080518082019091526002850290910180546001600160a01b03168252600181018054929391929184019161266b90613d4a565b80601f016020809104026020016040519081016040528092919081815260200182805461269790613d4a565b80156126e25780601f106126b9576101008083540402835291602001916126e2565b820191905f5260205f20905b8154815290600101906020018083116126c557829003601f168201915b50505050508152505081526020019060010190612624565b505082519293505f91505060ff86166001600160401b038111156127205761272061340d565b60405190808252806020026020018201604052801561276557816020015b604080518082019091525f81526060602082015281526020019060019003908161273e5790505b5090505f5b81518160ff16101561293d575f83116127eb5760405162461bcd60e51b815260206004820152603760248201527f496e7465726e616c3a204665657320746f6f206c6f772e204e6f206f7065726160448201527f746f7273206c65667420746f207069636b2066726f6d2e0000000000000000006064820152608401610641565b5f836128336127fd60ff85168a6145a4565b60408051446020808301919091524282840152606080830194909452825180830390940184526080909101909152815191012090565b61283d91906145cb565b90505f85828151811061285257612852613d36565b602002602001015190508560018661286a91906145de565b8151811061287a5761287a613d36565b602002602001015186838151811061289457612894613d36565b60209081029190910101526128aa6001866145de565b94506128b8815f01516118f2565b6128c357505061276a565b805f0151848460ff16815181106128dc576128dc613d36565b60200260200101515f01906001600160a01b031690816001600160a01b0316815250508060200151848460ff168151811061291957612919613d36565b6020026020010151602001819052508280612933906145f1565b935050505061276a565b5095945050505050565b60605f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316631703a0186040518163ffffffff1660e01b81526004015f60405180830381865afa1580156129a5573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526129cc91908101906142e7565b90505f815f0151516001600160401b038111156129eb576129eb61340d565b604051908082528060200260200182016040528015612a14578160200160208202803683370190505b5090505f5b825151811015612a74578251805182908110612a3757612a37613d36565b60200260200101515f0151828281518110612a5457612a54613d36565b6001600160a01b0390921660209283029190910190910152600101612a19565b5092915050565b60605f612a8a835f0151612c85565b90505f8360200151516001600160401b03811115612aaa57612aaa61340d565b604051908082528060200260200182016040528015612ad3578160200160208202803683370190505b5090505f5b846020015151811015612b3e57612b0c8386602001518381518110612aff57612aff613d36565b6020026020010151612536565b828281518110612b1e57612b1e613d36565b6001600160a01b0390921660209283029190910190910152600101612ad8565b509392505050565b6060815f03612b6c5750506040805180820190915260018152600360fc1b602082015290565b815f5b8115612b955780612b7f816144d5565b9150612b8e9050600a8361460f565b9150612b6f565b5f816001600160401b03811115612bae57612bae61340d565b6040519080825280601f01601f191660200182016040528015612bd8576020820181803683370190505b509050815b8515612c6257612bee6001826145de565b90505f612bfc600a8861460f565b612c0790600a614622565b612c1190886145de565b612c1c906030614639565b90505f8160f81b905080848481518110612c3857612c38613d36565b60200101906001600160f81b03191690815f1a905350612c59600a8961460f565b97505050612bdd565b50949350505050565b5f5f5f612c788585612cf4565b91509150612b3e81612d5f565b6060612cb4825f0151604051602001612ca091815260200190565b604051602081830303815290604052612f14565b612cc183602001516130c9565b612cd4846040015163ffffffff16612b46565b612ce18560600151612b46565b6040516020016116199493929190614652565b5f5f8251604103612d28576020830151604084015160608501515f1a612d1c87828585613224565b94509450505050612d58565b8251604003612d515760208301516040840151612d46868383613309565b935093505050612d58565b505f905060025b9250929050565b5f816004811115612d7257612d726146a8565b03612d7a5750565b6001816004811115612d8e57612d8e6146a8565b03612ddb5760405162461bcd60e51b815260206004820152601860248201527f45434453413a20696e76616c6964207369676e617475726500000000000000006044820152606401610641565b6002816004811115612def57612def6146a8565b03612e3c5760405162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e677468006044820152606401610641565b6003816004811115612e5057612e506146a8565b03612ea85760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c604482015261756560f01b6064820152608401610641565b6004816004811115612ebc57612ebc6146a8565b036106535760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202776272076616c604482015261756560f01b6064820152608401610641565b60605f82516002612f259190614622565b6001600160401b03811115612f3c57612f3c61340d565b6040519080825280601f01601f191660200182016040528015612f66576020820181803683370190505b5060408051808201909152601081526f181899199a1a9b1b9c1cb0b131b232b360811b60208201529091505f5b845181101561309f57818251868381518110612fb157612fb1613d36565b0160200151612fc3919060f81c61460f565b81518110612fd357612fd3613d36565b01602001516001600160f81b03191683612fee836002614622565b81518110612ffe57612ffe613d36565b60200101906001600160f81b03191690815f1a90535081825186838151811061302957613029613d36565b016020015161303b919060f81c6145cb565b8151811061304b5761304b613d36565b01602001516001600160f81b03191683613066836002614622565b6130719060016145a4565b8151811061308157613081613d36565b60200101906001600160f81b03191690815f1a905350600101612f93565b50816040516020016130b191906146bc565b60405160208183030381529060405292505050919050565b60408051602880825260608281019093525f91906020820181803683370190505090505f5b60148110156131fb575f6131038260136145de565b61310e906008614622565b6131199060026147ad565b61312c906001600160a01b03871661460f565b60f81b90505f60108260f81c61314291906147b8565b60f81b90505f8160f81c601061315891906147d9565b8360f81c61316691906147f5565b60f81b905061317482613342565b85613180866002614622565b8151811061319057613190613d36565b60200101906001600160f81b03191690815f1a9053506131af81613342565b856131bb866002614622565b6131c69060016145a4565b815181106131d6576131d6613d36565b60200101906001600160f81b03191690815f1a90535050600190920191506130ee9050565b508060405160200161320d91906146bc565b604051602081830303815290604052915050919050565b5f807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a083111561325957505f90506003613300565b8460ff16601b1415801561327157508460ff16601c14155b1561328157505f90506004613300565b604080515f8082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa1580156132d2573d5f5f3e3d5ffd5b5050604051601f1901519150506001600160a01b0381166132fa575f60019250925050613300565b91505f90505b94509492505050565b5f806001600160ff1b0383168161332560ff86901c601b6145a4565b905061333387828885613224565b9350935050505b935093915050565b5f600a60f883901c10156133685761335f60f883901c6030614639565b60f81b92915050565b61335f60f883901c6057614639565b919050565b50805461338890613d4a565b5f825580601f10613397575050565b601f0160209004905f5260205f209061065391905f5b808211156133c2575f818401556001016133ad565b505090565b6001600160a01b0381168114610653575f5ffd5b5f602082840312156133eb575f5ffd5b81356125a3816133c7565b5f60208284031215613406575f5ffd5b5035919050565b634e487b7160e01b5f52604160045260245ffd5b604080519081016001600160401b03811182821017156134435761344361340d565b60405290565b604051606081016001600160401b03811182821017156134435761344361340d565b60405160c081016001600160401b03811182821017156134435761344361340d565b604051602081016001600160401b03811182821017156134435761344361340d565b604051601f8201601f191681016001600160401b03811182821017156134d7576134d761340d565b604052919050565b5f82601f8301126134ee575f5ffd5b8135602083015f5f6001600160401b0384111561350d5761350d61340d565b50601f8301601f1916602001613522816134af565b915050828152858383011115613536575f5ffd5b828260208301375f92810160200192909252509392505050565b5f60408284031215613560575f5ffd5b613568613421565b90508135613575816133c7565b815260208201356001600160401b0381111561358f575f5ffd5b61359b848285016134df565b60208301525092915050565b5f602082840312156135b7575f5ffd5b81356001600160401b038111156135cc575f5ffd5b6115fe84828501613550565b5f5f602083850312156135e9575f5ffd5b82356001600160401b038111156135fe575f5ffd5b8301601f8101851361360e575f5ffd5b80356001600160401b03811115613623575f5ffd5b8560208260051b8401011115613637575f5ffd5b6020919091019590945092505050565b8015158114610653575f5ffd5b5f5f60408385031215613665575f5ffd5b8235613670816133c7565b9150602083013561368081613647565b809150509250929050565b803563ffffffff81168114613377575f5ffd5b803560ff81168114613377575f5ffd5b5f60608284031280156136bf575f5ffd5b506136c8613449565b6136d18361368b565b81526136df6020840161369e565b60208201526136f06040840161368b565b60408201529392505050565b5f6020828403121561370c575f5ffd5b6125a38261368b565b602080825282518282018190525f918401906040840190835b818110156137555783516001600160a01b031683526020938401939092019160010161372e565b509095945050505050565b5f60208284031215613770575f5ffd5b6125a38261369e565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b60018060a01b0381511682525f6020820151604060208501526115fe6040850182613779565b602081525f6125a360208301846137a7565b5f5f604083850312156137f0575f5ffd5b82356137fb816133c7565b915060208301356001600160401b03811115613815575f5ffd5b830160608186031215613826575f5ffd5b61382e613449565b81356001600160401b03811115613843575f5ffd5b61384f878285016134df565b8252506020828101359082015260409182013591810191909152919491935090915050565b5f60a08284031215613884575f5ffd5b60405160a081016001600160401b03811182821017156138a6576138a661340d565b60405290508082356001600160401b038111156138c1575f5ffd5b6138cd858286016134df565b82525060208381013590820152604080840135908201526138f06060840161368b565b60608201526080830135613903816133c7565b6080919091015292915050565b5f6001600160401b038211156139285761392861340d565b5060051b60200190565b5f82601f830112613941575f5ffd5b813561395461394f82613910565b6134af565b8082825260208201915060208360051b860101925085831115613975575f5ffd5b602085015b8381101561293d5780356001600160401b03811115613997575f5ffd5b6139a6886020838a0101613550565b8452506020928301920161397a565b5f82601f8301126139c4575f5ffd5b81356139d261394f82613910565b8082825260208201915060208360051b8601019250858311156139f3575f5ffd5b602085015b8381101561293d5780356001600160401b03811115613a15575f5ffd5b613a24886020838a01016134df565b845250602092830192016139f8565b5f5f60408385031215613a44575f5ffd5b82356001600160401b03811115613a59575f5ffd5b830160408186031215613a6a575f5ffd5b613a72613421565b81356001600160401b03811115613a87575f5ffd5b820160c08188031215613a98575f5ffd5b613aa061346b565b81356001600160401b03811115613ab5575f5ffd5b613ac189828501613874565b825250613ad06020830161368b565b6020820152613ae16040830161368b565b6040820152613af26060830161369e565b606082015260808201356001600160401b03811115613b0f575f5ffd5b613b1b89828501613932565b60808301525060a09182013591810191909152815260208201356001600160401b03811115613b48575f5ffd5b613b54878285016139b5565b6020830152508093505050613b6b6020840161368b565b90509250929050565b6001600160a01b03831681526040602082018190525f906115fe90830184613779565b5f60208284031215613ba7575f5ffd5b81356001600160401b03811115613bbc575f5ffd5b6115fe848285016134df565b5f5f60408385031215613bd9575f5ffd5b82356001600160401b03811115613bee575f5ffd5b613bfa85828601613874565b92505060208301356001600160401b03811115613c15575f5ffd5b613c21858286016134df565b9150509250929050565b5f60208284031215613c3b575f5ffd5b81356001600160401b03811115613c50575f5ffd5b6115fe84828501613874565b602081525f6125a36020830184613779565b5f60208284031215613c7e575f5ffd5b81516125a3816133c7565b6020808252602a908201527f6d73672e73656e646572206973206e6f74207065726d697373696f6e6564206160408201526939903ab73830bab9b2b960b11b606082015260800190565b5f60208284031215613ce3575f5ffd5b81516125a381613647565b60208082526028908201527f6d73672e73656e646572206973206e6f74207065726d697373696f6e6564206160408201526739903830bab9b2b960c11b606082015260800190565b634e487b7160e01b5f52603260045260245ffd5b600181811c90821680613d5e57607f821691505b602082108103613d7c57634e487b7160e01b5f52602260045260245ffd5b50919050565b601f821115613dd05782821115613dd057805f5260205f20601f840160051c6020851015613dad57505f5b90810190601f840160051c035f5b81811015610a7c575f83820155600101613dbb565b505050565b81516001600160401b03811115613dee57613dee61340d565b613e0281613dfc8454613d4a565b84613d82565b6020601f821160018114613e34575f8315613e1d5750848201515b5f19600385901b1c1916600184901b17845561098e565b5f84815260208120601f198516915b82811015613e635787850151825560209485019460019092019101613e43565b5084821015613e8057868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b60208082526013908201527221b0b63632b91034b9903737ba1030b236b4b760691b604082015260600190565b6020808252604a908201527f4543445341536572766963654d616e61676572426173652e6f6e6c795374616b60408201527f6552656769737472793a2063616c6c6572206973206e6f7420746865207374616060820152696b65526567697374727960b01b608082015260a00190565b5f815160a08452613f4060a0850182613779565b602084810151908601526040808501519086015260608085015163ffffffff16908601526080938401516001600160a01b031693909401929092525090919050565b5f815160c08452613f9660c0850182613f2c565b905063ffffffff602084015116602085015263ffffffff604084015116604085015260ff60608401511660608501526080830151848203608086015281815180845260208401915060208160051b8501016020840193505f5b8281101561402057601f1986830301845261400b8286516137a7565b60209586019594909401939150600101613fef565b5060a087015160a0890152809550505050505092915050565b602081525f6125a36020830184613f82565b602081525f8251604060208401526140666060840182613f82565b602085810151858303601f19016040870152805180845292935081019181840191600582901b8501015f5b828110156140c257601f198683030184526140ad828651613779565b60209586019594909401939150600101614091565b50979650505050505050565b602081525f6125a36020830184613f2c565b634e487b7160e01b5f52601160045260245ffd5b63ffffffff8181168382160190811115610ddc57610ddc6140e0565b5f60208284031215614120575f5ffd5b5051919050565b5f8235609e1983360301811261413b575f5ffd5b9190910192915050565b8035613377816133c7565b6bffffffffffffffffffffffff81168114610653575f5ffd5b8183526020830192505f815f5b848110156141c8578135614189816133c7565b6001600160a01b0316865260208201356141a281614150565b6bffffffffffffffffffffffff1660208701526040958601959190910190600101614176565b5093949350505050565b602080825281018290525f6040600584901b830181019083018583609e1936839003015b878210156142da57868503603f190184528235818112614214575f5ffd5b8901803536829003601e1901811261422a575f5ffd5b81016020810190356001600160401b03811115614245575f5ffd5b8060061b3603821315614256575f5ffd5b60a0885261426860a089018284614169565b91505061427760208301614145565b6001600160a01b031660208801526040828101359088015261429b6060830161368b565b63ffffffff1660608801526142b26080830161368b565b63ffffffff8116608089015291509550506020938401939290920191600191909101906141f6565b5092979650505050505050565b5f602082840312156142f7575f5ffd5b81516001600160401b0381111561430c575f5ffd5b82016020818503121561431d575f5ffd5b61432561348d565b81516001600160401b0381111561433a575f5ffd5b80830192505084601f83011261434e575f5ffd5b815161435c61394f82613910565b8082825260208201915060208360061b86010192508783111561437d575f5ffd5b6020850194505b828510156143da576040858903121561439b575f5ffd5b6143a3613421565b85516143ae816133c7565b815260208601516143be81614150565b8060208301525080835250602082019150604085019450614384565b8352509095945050505050565b6001600160a01b03831681526040602080830182905283519183018290525f91908401906060840190835b818110156144395783516001600160a01b0316835260209384019390920191600101614412565b50909695505050505050565b5f60208284031215614455575f5ffd5b81516001600160401b0381111561446a575f5ffd5b8201601f8101841361447a575f5ffd5b805161448861394f82613910565b8082825260208201915060208360051b8501019250868311156144a9575f5ffd5b6020840193505b828410156144cb5783518252602093840193909101906144b0565b9695505050505050565b5f600182016144e6576144e66140e0565b5060010190565b60018060a01b0383168152604060208201525f82516060604084015261451660a0840182613779565b90506020840151606084015260408401516080840152809150509392505050565b5f81518060208401855e5f93019283525090919050565b7f19457468657265756d205369676e6564204d6573736167653a0a00000000000081525f6115fe614582601a840186614537565b84614537565b63ffffffff8281168282160390811115610ddc57610ddc6140e0565b80820180821115610ddc57610ddc6140e0565b634e487b7160e01b5f52601260045260245ffd5b5f826145d9576145d96145b7565b500690565b81810381811115610ddc57610ddc6140e0565b5f60ff821660ff8103614606576146066140e0565b60010192915050565b5f8261461d5761461d6145b7565b500490565b8082028115828204841417610ddc57610ddc6140e0565b60ff8181168382160190811115610ddc57610ddc6140e0565b5f61465d8287614537565b600560f91b81526146716001820187614537565b600560f91b815290506146876001820186614537565b600560f91b8152905061469d6001820185614537565b979650505050505050565b634e487b7160e01b5f52602160045260245ffd5b61060f60f31b81525f6125a36002830184614537565b6001815b600184111561333a578085048111156146f1576146f16140e0565b60018416156146ff57908102905b60019390931c9280026146d6565b5f8261471b57506001610ddc565b8161472757505f610ddc565b816001811461473d576002811461474757614763565b6001915050610ddc565b60ff841115614758576147586140e0565b50506001821b610ddc565b5060208310610133831016604e8410600b8410161715614786575081810a610ddc565b6147925f1984846146d2565b805f19048211156147a5576147a56140e0565b029392505050565b5f6125a3838361470d565b5f60ff8316806147ca576147ca6145b7565b8060ff84160491505092915050565b60ff8181168382160290811690818114612a7457612a746140e0565b60ff8281168282160390811115610ddc57610ddc6140e056fea2646970667358221220a51eaf07872263397e28bcc5982530f164b46c95f25372731d7576b5e5498adf64736f6c63430008210033",EF=t=>t.length>1,ef=class extends Hl{constructor(...e){EF(e)?super(...e):super(Xm,jN,e[0])}getDeployTransaction(e,r,n,s){return super.getDeployTransaction(e,r,n,s||{})}deploy(e,r,n,s){return super.deploy(e,r,n,s||{})}connect(e){return super.connect(e)}static bytecode=jN;static abi=Xm;static createInterface(){return new Si(Xm)}static connect(e,r){return new Tn(e,Xm,r)}};var WN={};function O2(t=Zm){let e=qm[t];if(!e)throw new Error(`No config found for chain ID: ${t}`);return WN[t]||=P2(e),WN[t]}function P2({rpcUrl:t,stakeRegistryAddress:e,avsDirectoryAddress:r,contractAddress:n,delegationManagerAddress:s},i=GN){let o=new ql(t),a=i?new Oi(i,o):void 0;return{provider:o,wallet:a,delegationManager:new Tn(s,_N,a||o),contract:ef.connect(n,a||o),registryContract:new Tn(e,YN,a||o),avsDirectory:new Tn(r,HN,a||o)}}async function zN({request:t,payer:e,chainId:r,...n}){let i=O2(r).contract.connect(e),o=typeof n.owner=="string"?n.owner:n.owner.address,a={...t,owner:o},u=await x(),f=await(await i.createNewTask(a,u||"0x00")).wait();return{task:(f?.logs??[]).filter(b=>b instanceof xs)[0]?.args,tx:f};function x(){if(o.toLowerCase()!==e.address.toLowerCase()){if("requestSignature"in n)return n.requestSignature;if(typeof n.owner!="object")throw new Error("Owner wallet must be provided or requestSignature must be provided");return U2(a,n.owner,r)}}}async function U2(t,e,r){let s=await O2(r).contract.encodeClaimRequest(t),i=await e.signMessage(ae(s));return ae(i)}var qh=32,F2=42;function JN(t){let e=yF(t.length/4),r=new DataView(t.buffer,t.byteOffset,t.byteLength);for(let n=0;n<e.length;n++)e[n]=r.getUint32(n*4,!0);return e}function yF(t){return typeof t=="number"?new Uint32Array(t):Uint32Array.from(t)}function KN(t){let e=new Uint8Array(t.length*4),r=new DataView(e.buffer,e.byteOffset,e.byteLength);for(let[n,s]of t.entries())r.setUint32(n*4,s,!0);return e}function Q2(t){let e=[];for(let r of t)for(let n=0;n<8;n++)r>>7-n&1?e.push(1):e.push(0);return e}function L2(t){let e=new Uint8Array(t.length/8);for(let r=0;r<t.length;r+=8)e[r/8]=XN(t.slice(r,r+8));return e}function qN(t){let e=[];for(let r of t)e.push(TF(r));return e}function ZN(t){let e=new Uint32Array(t.length/qh);for(let r=0;r<t.length;r+=qh)e[r/qh]=XN(t.slice(r,r+qh));return e}function tf(t,...e){let{uint8ArrayToBits:r}=Bn[t],n=[];for(let s of e)typeof s=="number"?n.push(...bF(t,s)):n.push(...r(s));return n}function bF(t,e){let{uint8ArrayToBits:r,isLittleEndian:n}=Bn[t],s=new Uint8Array(4);return new DataView(s.buffer).setUint32(0,e,n),r(wF(t,e)).flat()}function wF(t,e){let{isLittleEndian:r}=Bn[t],n=new Uint8Array(4);return new DataView(n.buffer).setUint32(0,e,r),n}function TF(t,e=qh){let r=[];for(let n=2**(e-1);n>=1;n/=2){let s=t>=n?1:0;r.push(s),t-=s*n}return r}function XN(t){let e=0,r=2**(t.length-1);for(let n of t)e+=n*r,r/=2;return e}function $N(t,e){let{startCounter:r}=Bn[t],n=Ja(t);if(e%n!==0)throw new Error(`offset(${e}) must be a multiple of block size(${n})`);return r+e/n}function Ja(t){let{chunkSize:e,bitsPerWord:r,blocksPerChunk:n}=Bn[t];return e*r/(8*n)}function e8(t,e,r){let n=Ja(t),s=[];for(let i=0;i<e.length;i+=n)s.push({iv:r,ciphertext:e.slice(i,i+n),offsetBytes:i});return s}function Zh(t,e){let r=Ja(e);return Math.ceil(t/r)*r}var t8="7e9026fd556fb68e5268e0237b8d3d6c8ea9f4b1",Bn={chacha20:{index:0,chunkSize:32,bitsPerWord:32,keySizeBytes:32,ivSizeBytes:12,startCounter:1,blocksPerChunk:2,isLittleEndian:!0,uint8ArrayToBits:t=>qN(JN(t)).flat(),bitsToUint8Array:t=>{let e=ZN(t);return KN(e)},encrypt:V2("CHACHA20-POLY1305")},"aes-256-ctr":{index:2,chunkSize:80,bitsPerWord:8,keySizeBytes:32,ivSizeBytes:12,startCounter:2,blocksPerChunk:5,isLittleEndian:!1,uint8ArrayToBits:Q2,bitsToUint8Array:L2,encrypt:V2("AES-256-GCM")},"aes-128-ctr":{index:1,chunkSize:80,bitsPerWord:8,keySizeBytes:16,ivSizeBytes:12,startCounter:2,blocksPerChunk:5,isLittleEndian:!1,uint8ArrayToBits:Q2,bitsToUint8Array:L2,encrypt:V2("AES-128-GCM")}};function V2(t){return async({key:e,iv:r,in:n})=>{let s=await Se.importKey(t,e),{ciphertext:i}=await Se.authenticatedEncrypt(t,{key:s,iv:r,data:n,aead:new Uint8Array(0)});return i.slice(0,n.length)}}async function G2(t){let{algorithm:e,operator:r,logger:n}=t,{witness:s,plaintextArray:i}=await CF(t),o;"mask"in t?o=await r.generateWitness({...s,toprf:t.toprf,mask:t.mask}):o=await r.generateWitness(s);let{proof:a}=await r.groth16Prove(o,n);return{algorithm:e,proofData:a,plaintext:"mask"in t?void 0:i}}async function H2(t){let e=await n8({algorithm:t.proof.algorithm,plaintext:t.proof.plaintext,publicInput:t.publicInput}),{proof:{proofData:r},operator:n,logger:s}=t,i;if("toprf"in t?i=await n.groth16Verify({...e,toprf:t.toprf},r,s):i=await n.groth16Verify(e,r,s),!i)throw new Error("invalid proof")}async function CF({algorithm:t,privateInput:{key:e},publicInput:r}){let{keySizeBytes:n}=Bn[t];if(e.length!==n)throw new Error(`key must be ${n} bytes`);let s={key:e,...await n8({publicInput:r,algorithm:t,key:e})};return{witness:s,plaintextArray:s.out}}async function n8({publicInput:t,algorithm:e,...r}){let{ivSizeBytes:n}=Bn[e],s=[],i=[],o=[],a=Ja(e),u=r8(e);if(t=Array.isArray(t)?t:[t],!t.length)throw new Error("at least one public input is required");for(let[d,{ciphertext:p,iv:m,offsetBytes:y=0}]of t.entries()){let x=e8(e,p,m);for(let O of x)await f({...O,offsetBytes:y+(O.offsetBytes||0)});if(d<t.length-1)continue;let b=s.reduce((O,P)=>O+P.length,0);if(b>=u)continue;let w=u-b,v=y+Zh(p.length,e);for(let O=0;O<w;O+=a)await f({ciphertext:new Uint8Array,iv:m,offsetBytes:v+O})}let l={noncesAndCounters:o,in:be(s),out:"plaintext"in r&&r.plaintext?r.plaintext:be(i)};if(l.in.length!==r8(e))throw new Error(`Ciphertext must be exactly ${u}b, got ${l.in.length}b`);return l;async function f({ciphertext:d,iv:p,offsetBytes:m=0}){if(p.length!==n)throw new Error(`iv must be ${n} bytes`);let y=$N(e,m);if(o.push({nonce:p,counter:y,boundary:void 0}),d=BF(d,a),s.push(d),"key"in r){let x=await IF({algorithm:e,key:r.key,iv:p,startOffset:m,ciphertext:d});i.push(x)}}}function BF(t,e){if(t.length>e)throw new Error(`ciphertext must be <= ${e}b`);if(t.length<e){let r=new Uint8Array(e);r.set(t),t=r}return t}function r8(t){let{blocksPerChunk:e}=Bn[t];return Ja(t)*e}async function IF({algorithm:t,key:e,iv:r,startOffset:n,ciphertext:s}){let{encrypt:i}=Bn[t],o=new Uint8Array(n+s.length);return o.set(s,n),(await i({key:e,iv:r,in:o})).slice(n)}var DF=`https://github.com/reclaimprotocol/zk-symmetric-crypto/raw/${t8}/resources/`,NF="../resources";function _2({baseUrl:t=DF,maxRetries:e=3,logger:r}={}){return{async fetch(n,s){let i=`${t}/${n}/${s}`,o;for(let a=1;a<=e;a++)try{let u=await fetch(i);if(!u.ok)throw new Error(`${n}-${s} fetch failed with code: ${u.status}`);let l=await u.arrayBuffer();return new Uint8Array(l)}catch(u){r?.warn({err:u,attempt:a,engine:n,filename:s},"failed to fetch zk resource"),o=u,a<e&&await new Promise(l=>setTimeout(l,1e3*a))}throw o||new Error(`Failed to fetch ${n}-${s} after ${e} attempts`)}}}function Y2({basePath:t=NF}={}){return{async fetch(e,r){let n=`${t}/${e}/${r}`,{readFile:s}=await import("fs/promises");return await s(new URL(n,import.meta.url))}}}var pR={};lc(pR,{AttestorVersion:()=>Zt,AuthenticatedUserData:()=>Ui,AuthenticationRequest:()=>o0,ClaimContext:()=>dR,ClaimContext_ExtractedParametersEntry:()=>rg,ClaimRequestData:()=>Ns,ClaimTeeBundleRequest:()=>Rs,ClaimTeeBundleRequest_Signatures:()=>Ju,ClaimTeeBundleResponse:()=>Ku,ClaimTeeBundleResponse_Signatures:()=>qu,ClaimTunnelRequest:()=>In,ClaimTunnelRequest_Signatures:()=>Zu,ClaimTunnelRequest_TranscriptMessage:()=>Xu,ClaimTunnelResponse:()=>Pi,ClaimTunnelResponse_Signatures:()=>$u,CompleteClaimOnAvsRequest:()=>r0,CompleteClaimOnAvsResponse:()=>n0,CreateTaskOnMechainRequest:()=>s0,CreateTaskOnMechainResponse:()=>i0,CreateTunnelRequest:()=>Is,DataSlice:()=>Ds,DisconnectTunnelRequest:()=>Qu,Empty:()=>Cs,ErrorCode:()=>Bt,ErrorData:()=>vt,FetchCertificateBytesRequest:()=>Uu,FetchCertificateBytesResponse:()=>Fu,InitRequest:()=>a0,InitResponse:()=>c0,MessageReveal:()=>Gu,MessageReveal_MessageRevealDirect:()=>Hu,MessageReveal_MessageRevealZk:()=>_u,MessageReveal_OPRFRawMarker:()=>Yu,MessageReveal_TOPRFProof:()=>Wu,MessageReveal_ZKProof:()=>ju,ProviderClaimData:()=>Bs,ProviderClaimInfo:()=>hR,RPCMessage:()=>Oo,RPCMessages:()=>Fi,RequestClaimOnAvsRequest:()=>e0,RequestClaimOnAvsResponse:()=>t0,ServiceSignatureType:()=>vs,TOPRFPayload:()=>zu,TOPRFRequest:()=>u0,TOPRFResponse:()=>Ss,TranscriptMessageSenderType:()=>Ms,TunnelDisconnectEvent:()=>Vu,TunnelMessage:()=>Lu,ZKProofEngine:()=>sn,attestorVersionFromJSON:()=>cR,attestorVersionToJSON:()=>uR,errorCodeFromJSON:()=>lR,errorCodeToJSON:()=>fR,protobufPackage:()=>QF,serviceSignatureTypeFromJSON:()=>oR,serviceSignatureTypeToJSON:()=>aR,transcriptMessageSenderTypeFromJSON:()=>sR,transcriptMessageSenderTypeToJSON:()=>iR,zKProofEngineFromJSON:()=>X2,zKProofEngineToJSON:()=>$2});function i8(){let t=0,e=0;for(let n=0;n<28;n+=7){let s=this.buf[this.pos++];if(t|=(s&127)<<n,(s&128)==0)return this.assertBounds(),[t,e]}let r=this.buf[this.pos++];if(t|=(r&15)<<28,e=(r&112)>>4,(r&128)==0)return this.assertBounds(),[t,e];for(let n=3;n<=31;n+=7){let s=this.buf[this.pos++];if(e|=(s&127)<<n,(s&128)==0)return this.assertBounds(),[t,e]}throw new Error("invalid varint")}function eg(t,e,r){for(let i=0;i<28;i=i+7){let o=t>>>i,a=!(!(o>>>7)&&e==0),u=(a?o|128:o)&255;if(r.push(u),!a)return}let n=t>>>28&15|(e&7)<<4,s=e>>3!=0;if(r.push((s?n|128:n)&255),!!s){for(let i=3;i<31;i=i+7){let o=e>>>i,a=!!(o>>>7),u=(a?o|128:o)&255;if(r.push(u),!a)return}r.push(e>>>31&1)}}var $m=4294967296;function j2(t){let e=t[0]==="-";e&&(t=t.slice(1));let r=1e6,n=0,s=0;function i(o,a){let u=Number(t.slice(o,a));s*=r,n=n*r+u,n>=$m&&(s=s+(n/$m|0),n=n%$m)}return i(-24,-18),i(-18,-12),i(-12,-6),i(-6),e?a8(n,s):z2(n,s)}function o8(t,e){let r=z2(t,e),n=r.hi&2147483648;n&&(r=a8(r.lo,r.hi));let s=W2(r.lo,r.hi);return n?"-"+s:s}function W2(t,e){if({lo:t,hi:e}=RF(t,e),e<=2097151)return String($m*e+t);let r=t&16777215,n=(t>>>24|e<<8)&16777215,s=e>>16&65535,i=r+n*6777216+s*6710656,o=n+s*8147497,a=s*2,u=1e7;return i>=u&&(o+=Math.floor(i/u),i%=u),o>=u&&(a+=Math.floor(o/u),o%=u),a.toString()+s8(o)+s8(i)}function RF(t,e){return{lo:t>>>0,hi:e>>>0}}function z2(t,e){return{lo:t|0,hi:e|0}}function a8(t,e){return e=~e,t?t=~t+1:e+=1,z2(t,e)}var s8=t=>{let e=String(t);return"0000000".slice(e.length)+e};function J2(t,e){if(t>=0){for(;t>127;)e.push(t&127|128),t=t>>>7;e.push(t)}else{for(let r=0;r<9;r++)e.push(t&127|128),t=t>>7;e.push(1)}}function c8(){let t=this.buf[this.pos++],e=t&127;if((t&128)==0)return this.assertBounds(),e;if(t=this.buf[this.pos++],e|=(t&127)<<7,(t&128)==0)return this.assertBounds(),e;if(t=this.buf[this.pos++],e|=(t&127)<<14,(t&128)==0)return this.assertBounds(),e;if(t=this.buf[this.pos++],e|=(t&127)<<21,(t&128)==0)return this.assertBounds(),e;t=this.buf[this.pos++],e|=(t&15)<<28;for(let r=5;(t&128)!==0&&r<10;r++)t=this.buf[this.pos++];if((t&128)!=0)throw new Error("invalid varint");return this.assertBounds(),e>>>0}var $s=SF();function SF(){let t=new DataView(new ArrayBuffer(8));if(typeof BigInt=="function"&&typeof t.getBigInt64=="function"&&typeof t.getBigUint64=="function"&&typeof t.setBigInt64=="function"&&typeof t.setBigUint64=="function"&&(!!globalThis.Deno||typeof process!="object"||typeof process.env!="object"||process.env.BUF_BIGINT_DISABLE!=="1")){let r=BigInt("-9223372036854775808"),n=BigInt("9223372036854775807"),s=BigInt("0"),i=BigInt("18446744073709551615");return{zero:BigInt(0),supported:!0,parse(o){let a=typeof o=="bigint"?o:BigInt(o);if(a>n||a<r)throw new Error(`invalid int64: ${o}`);return a},uParse(o){let a=typeof o=="bigint"?o:BigInt(o);if(a>i||a<s)throw new Error(`invalid uint64: ${o}`);return a},enc(o){return t.setBigInt64(0,this.parse(o),!0),{lo:t.getInt32(0,!0),hi:t.getInt32(4,!0)}},uEnc(o){return t.setBigInt64(0,this.uParse(o),!0),{lo:t.getInt32(0,!0),hi:t.getInt32(4,!0)}},dec(o,a){return t.setInt32(0,o,!0),t.setInt32(4,a,!0),t.getBigInt64(0,!0)},uDec(o,a){return t.setInt32(0,o,!0),t.setInt32(4,a,!0),t.getBigUint64(0,!0)}}}return{zero:"0",supported:!1,parse(r){return typeof r!="string"&&(r=r.toString()),u8(r),r},uParse(r){return typeof r!="string"&&(r=r.toString()),l8(r),r},enc(r){return typeof r!="string"&&(r=r.toString()),u8(r),j2(r)},uEnc(r){return typeof r!="string"&&(r=r.toString()),l8(r),j2(r)},dec(r,n){return o8(r,n)},uDec(r,n){return W2(r,n)}}}function u8(t){if(!/^-?[0-9]+$/.test(t))throw new Error("invalid int64: "+t)}function l8(t){if(!/^[0-9]+$/.test(t))throw new Error("invalid uint64: "+t)}var K2=Symbol.for("@bufbuild/protobuf/text-encoding");function q2(){if(globalThis[K2]==null){let t=new globalThis.TextEncoder,e=new globalThis.TextDecoder;globalThis[K2]={encodeUtf8(r){return t.encode(r)},decodeUtf8(r){return e.decode(r)},checkUtf8(r){try{return encodeURIComponent(r),!0}catch{return!1}}}}return globalThis[K2]}var Ka;(function(t){t[t.Varint=0]="Varint",t[t.Bit64=1]="Bit64",t[t.LengthDelimited=2]="LengthDelimited",t[t.StartGroup=3]="StartGroup",t[t.EndGroup=4]="EndGroup",t[t.Bit32=5]="Bit32"})(Ka||(Ka={}));var MF=34028234663852886e22,vF=-34028234663852886e22,kF=4294967295,OF=2147483647,PF=-2147483648,tt=class{constructor(e=q2().encodeUtf8){this.encodeUtf8=e,this.stack=[],this.chunks=[],this.buf=[]}finish(){this.buf.length&&(this.chunks.push(new Uint8Array(this.buf)),this.buf=[]);let e=0;for(let s=0;s<this.chunks.length;s++)e+=this.chunks[s].length;let r=new Uint8Array(e),n=0;for(let s=0;s<this.chunks.length;s++)r.set(this.chunks[s],n),n+=this.chunks[s].length;return this.chunks=[],r}fork(){return this.stack.push({chunks:this.chunks,buf:this.buf}),this.chunks=[],this.buf=[],this}join(){let e=this.finish(),r=this.stack.pop();if(!r)throw new Error("invalid state, fork stack empty");return this.chunks=r.chunks,this.buf=r.buf,this.uint32(e.byteLength),this.raw(e)}tag(e,r){return this.uint32((e<<3|r)>>>0)}raw(e){return this.buf.length&&(this.chunks.push(new Uint8Array(this.buf)),this.buf=[]),this.chunks.push(e),this}uint32(e){for(f8(e);e>127;)this.buf.push(e&127|128),e=e>>>7;return this.buf.push(e),this}int32(e){return Z2(e),J2(e,this.buf),this}bool(e){return this.buf.push(e?1:0),this}bytes(e){return this.uint32(e.byteLength),this.raw(e)}string(e){let r=this.encodeUtf8(e);return this.uint32(r.byteLength),this.raw(r)}float(e){UF(e);let r=new Uint8Array(4);return new DataView(r.buffer).setFloat32(0,e,!0),this.raw(r)}double(e){let r=new Uint8Array(8);return new DataView(r.buffer).setFloat64(0,e,!0),this.raw(r)}fixed32(e){f8(e);let r=new Uint8Array(4);return new DataView(r.buffer).setUint32(0,e,!0),this.raw(r)}sfixed32(e){Z2(e);let r=new Uint8Array(4);return new DataView(r.buffer).setInt32(0,e,!0),this.raw(r)}sint32(e){return Z2(e),e=(e<<1^e>>31)>>>0,J2(e,this.buf),this}sfixed64(e){let r=new Uint8Array(8),n=new DataView(r.buffer),s=$s.enc(e);return n.setInt32(0,s.lo,!0),n.setInt32(4,s.hi,!0),this.raw(r)}fixed64(e){let r=new Uint8Array(8),n=new DataView(r.buffer),s=$s.uEnc(e);return n.setInt32(0,s.lo,!0),n.setInt32(4,s.hi,!0),this.raw(r)}int64(e){let r=$s.enc(e);return eg(r.lo,r.hi,this.buf),this}sint64(e){let r=$s.enc(e),n=r.hi>>31,s=r.lo<<1^n,i=(r.hi<<1|r.lo>>>31)^n;return eg(s,i,this.buf),this}uint64(e){let r=$s.uEnc(e);return eg(r.lo,r.hi,this.buf),this}},xe=class{constructor(e,r=q2().decodeUtf8){this.decodeUtf8=r,this.varint64=i8,this.uint32=c8,this.buf=e,this.len=e.length,this.pos=0,this.view=new DataView(e.buffer,e.byteOffset,e.byteLength)}tag(){let e=this.uint32(),r=e>>>3,n=e&7;if(r<=0||n<0||n>5)throw new Error("illegal tag: field no "+r+" wire type "+n);return[r,n]}skip(e,r){let n=this.pos;switch(e){case Ka.Varint:for(;this.buf[this.pos++]&128;);break;case Ka.Bit64:this.pos+=4;case Ka.Bit32:this.pos+=4;break;case Ka.LengthDelimited:let s=this.uint32();this.pos+=s;break;case Ka.StartGroup:for(;;){let[i,o]=this.tag();if(o===Ka.EndGroup){if(r!==void 0&&i!==r)throw new Error("invalid end group tag");break}this.skip(o,i)}break;default:throw new Error("cant skip wire type "+e)}return this.assertBounds(),this.buf.subarray(n,this.pos)}assertBounds(){if(this.pos>this.len)throw new RangeError("premature EOF")}int32(){return this.uint32()|0}sint32(){let e=this.uint32();return e>>>1^-(e&1)}int64(){return $s.dec(...this.varint64())}uint64(){return $s.uDec(...this.varint64())}sint64(){let[e,r]=this.varint64(),n=-(e&1);return e=(e>>>1|(r&1)<<31)^n,r=r>>>1^n,$s.dec(e,r)}bool(){let[e,r]=this.varint64();return e!==0||r!==0}fixed32(){return this.view.getUint32((this.pos+=4)-4,!0)}sfixed32(){return this.view.getInt32((this.pos+=4)-4,!0)}fixed64(){return $s.uDec(this.sfixed32(),this.sfixed32())}sfixed64(){return $s.dec(this.sfixed32(),this.sfixed32())}float(){return this.view.getFloat32((this.pos+=4)-4,!0)}double(){return this.view.getFloat64((this.pos+=8)-8,!0)}bytes(){let e=this.uint32(),r=this.pos;return this.pos+=e,this.assertBounds(),this.buf.subarray(r,r+e)}string(){return this.decodeUtf8(this.bytes())}};function Z2(t){if(typeof t=="string")t=Number(t);else if(typeof t!="number")throw new Error("invalid int32: "+typeof t);if(!Number.isInteger(t)||t>OF||t<PF)throw new Error("invalid int32: "+t)}function f8(t){if(typeof t=="string")t=Number(t);else if(typeof t!="number")throw new Error("invalid uint32: "+typeof t);if(!Number.isInteger(t)||t>kF||t<0)throw new Error("invalid uint32: "+t)}function UF(t){if(typeof t=="string"){let e=t;if(t=Number(t),Number.isNaN(t)&&e!=="NaN")throw new Error("invalid float32: "+e)}else if(typeof t!="number")throw new Error("invalid float32: "+typeof t);if(Number.isFinite(t)&&(t>MF||t<vF))throw new Error("invalid float32: "+t)}function h8(t,e="std"){let r=FF(e),n=e=="std",s="",i=0,o,a=0;for(let u=0;u<t.length;u++)switch(o=t[u],i){case 0:s+=r[o>>2],a=(o&3)<<4,i=1;break;case 1:s+=r[a|o>>4],a=(o&15)<<2,i=2;break;case 2:s+=r[a|o>>6],s+=r[o&63],i=0;break}return i&&(s+=r[a],n&&(s+="=",i==1&&(s+="="))),s}var tg,d8;function FF(t){return tg||(tg="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".split(""),d8=tg.slice(0,-2).concat("-","_")),t=="url"?d8:tg}var QF="reclaim_attestor",Ms={TRANSCRIPT_MESSAGE_SENDER_TYPE_UNKNOWN:0,TRANSCRIPT_MESSAGE_SENDER_TYPE_CLIENT:1,TRANSCRIPT_MESSAGE_SENDER_TYPE_SERVER:2,UNRECOGNIZED:-1};function sR(t){switch(t){case 0:case"TRANSCRIPT_MESSAGE_SENDER_TYPE_UNKNOWN":return Ms.TRANSCRIPT_MESSAGE_SENDER_TYPE_UNKNOWN;case 1:case"TRANSCRIPT_MESSAGE_SENDER_TYPE_CLIENT":return Ms.TRANSCRIPT_MESSAGE_SENDER_TYPE_CLIENT;case 2:case"TRANSCRIPT_MESSAGE_SENDER_TYPE_SERVER":return Ms.TRANSCRIPT_MESSAGE_SENDER_TYPE_SERVER;case-1:case"UNRECOGNIZED":default:return Ms.UNRECOGNIZED}}function iR(t){switch(t){case Ms.TRANSCRIPT_MESSAGE_SENDER_TYPE_UNKNOWN:return"TRANSCRIPT_MESSAGE_SENDER_TYPE_UNKNOWN";case Ms.TRANSCRIPT_MESSAGE_SENDER_TYPE_CLIENT:return"TRANSCRIPT_MESSAGE_SENDER_TYPE_CLIENT";case Ms.TRANSCRIPT_MESSAGE_SENDER_TYPE_SERVER:return"TRANSCRIPT_MESSAGE_SENDER_TYPE_SERVER";case Ms.UNRECOGNIZED:default:return"UNRECOGNIZED"}}var vs={SERVICE_SIGNATURE_TYPE_UNKNOWN:0,SERVICE_SIGNATURE_TYPE_ETH:1,UNRECOGNIZED:-1};function oR(t){switch(t){case 0:case"SERVICE_SIGNATURE_TYPE_UNKNOWN":return vs.SERVICE_SIGNATURE_TYPE_UNKNOWN;case 1:case"SERVICE_SIGNATURE_TYPE_ETH":return vs.SERVICE_SIGNATURE_TYPE_ETH;case-1:case"UNRECOGNIZED":default:return vs.UNRECOGNIZED}}function aR(t){switch(t){case vs.SERVICE_SIGNATURE_TYPE_UNKNOWN:return"SERVICE_SIGNATURE_TYPE_UNKNOWN";case vs.SERVICE_SIGNATURE_TYPE_ETH:return"SERVICE_SIGNATURE_TYPE_ETH";case vs.UNRECOGNIZED:default:return"UNRECOGNIZED"}}var Zt={ATTESTOR_VERSION_UNKNOWN:0,ATTESTOR_VERSION_1_0_0:1,ATTESTOR_VERSION_1_1_0:2,ATTESTOR_VERSION_2_0_0:3,ATTESTOR_VERSION_2_0_1:4,ATTESTOR_VERSION_3_0_0:5,ATTESTOR_VERSION_3_1_0:6,ATTESTOR_VERSION_3_2_0:7,UNRECOGNIZED:-1};function cR(t){switch(t){case 0:case"ATTESTOR_VERSION_UNKNOWN":return Zt.ATTESTOR_VERSION_UNKNOWN;case 1:case"ATTESTOR_VERSION_1_0_0":return Zt.ATTESTOR_VERSION_1_0_0;case 2:case"ATTESTOR_VERSION_1_1_0":return Zt.ATTESTOR_VERSION_1_1_0;case 3:case"ATTESTOR_VERSION_2_0_0":return Zt.ATTESTOR_VERSION_2_0_0;case 4:case"ATTESTOR_VERSION_2_0_1":return Zt.ATTESTOR_VERSION_2_0_1;case 5:case"ATTESTOR_VERSION_3_0_0":return Zt.ATTESTOR_VERSION_3_0_0;case 6:case"ATTESTOR_VERSION_3_1_0":return Zt.ATTESTOR_VERSION_3_1_0;case 7:case"ATTESTOR_VERSION_3_2_0":return Zt.ATTESTOR_VERSION_3_2_0;case-1:case"UNRECOGNIZED":default:return Zt.UNRECOGNIZED}}function uR(t){switch(t){case Zt.ATTESTOR_VERSION_UNKNOWN:return"ATTESTOR_VERSION_UNKNOWN";case Zt.ATTESTOR_VERSION_1_0_0:return"ATTESTOR_VERSION_1_0_0";case Zt.ATTESTOR_VERSION_1_1_0:return"ATTESTOR_VERSION_1_1_0";case Zt.ATTESTOR_VERSION_2_0_0:return"ATTESTOR_VERSION_2_0_0";case Zt.ATTESTOR_VERSION_2_0_1:return"ATTESTOR_VERSION_2_0_1";case Zt.ATTESTOR_VERSION_3_0_0:return"ATTESTOR_VERSION_3_0_0";case Zt.ATTESTOR_VERSION_3_1_0:return"ATTESTOR_VERSION_3_1_0";case Zt.ATTESTOR_VERSION_3_2_0:return"ATTESTOR_VERSION_3_2_0";case Zt.UNRECOGNIZED:default:return"UNRECOGNIZED"}}var Bt={ERROR_NO_ERROR:0,ERROR_INTERNAL:1,ERROR_BAD_REQUEST:2,ERROR_NOT_FOUND:3,ERROR_PROXY_ERROR:4,ERROR_INVALID_CLAIM:5,ERROR_NETWORK_ERROR:6,ERROR_PAYMENT_REFUSED:7,ERROR_BGP_ANNOUNCEMENT_OVERLAP:8,ERROR_AUTHENTICATION_FAILED:9,ERROR_TIMEOUT:10,ERROR_TOPRF_OUT_OF_BOUNDS:11,ERROR_CERTIFICATE_FETCH_FAILED:12,UNRECOGNIZED:-1};function lR(t){switch(t){case 0:case"ERROR_NO_ERROR":return Bt.ERROR_NO_ERROR;case 1:case"ERROR_INTERNAL":return Bt.ERROR_INTERNAL;case 2:case"ERROR_BAD_REQUEST":return Bt.ERROR_BAD_REQUEST;case 3:case"ERROR_NOT_FOUND":return Bt.ERROR_NOT_FOUND;case 4:case"ERROR_PROXY_ERROR":return Bt.ERROR_PROXY_ERROR;case 5:case"ERROR_INVALID_CLAIM":return Bt.ERROR_INVALID_CLAIM;case 6:case"ERROR_NETWORK_ERROR":return Bt.ERROR_NETWORK_ERROR;case 7:case"ERROR_PAYMENT_REFUSED":return Bt.ERROR_PAYMENT_REFUSED;case 8:case"ERROR_BGP_ANNOUNCEMENT_OVERLAP":return Bt.ERROR_BGP_ANNOUNCEMENT_OVERLAP;case 9:case"ERROR_AUTHENTICATION_FAILED":return Bt.ERROR_AUTHENTICATION_FAILED;case 10:case"ERROR_TIMEOUT":return Bt.ERROR_TIMEOUT;case 11:case"ERROR_TOPRF_OUT_OF_BOUNDS":return Bt.ERROR_TOPRF_OUT_OF_BOUNDS;case 12:case"ERROR_CERTIFICATE_FETCH_FAILED":return Bt.ERROR_CERTIFICATE_FETCH_FAILED;case-1:case"UNRECOGNIZED":default:return Bt.UNRECOGNIZED}}function fR(t){switch(t){case Bt.ERROR_NO_ERROR:return"ERROR_NO_ERROR";case Bt.ERROR_INTERNAL:return"ERROR_INTERNAL";case Bt.ERROR_BAD_REQUEST:return"ERROR_BAD_REQUEST";case Bt.ERROR_NOT_FOUND:return"ERROR_NOT_FOUND";case Bt.ERROR_PROXY_ERROR:return"ERROR_PROXY_ERROR";case Bt.ERROR_INVALID_CLAIM:return"ERROR_INVALID_CLAIM";case Bt.ERROR_NETWORK_ERROR:return"ERROR_NETWORK_ERROR";case Bt.ERROR_PAYMENT_REFUSED:return"ERROR_PAYMENT_REFUSED";case Bt.ERROR_BGP_ANNOUNCEMENT_OVERLAP:return"ERROR_BGP_ANNOUNCEMENT_OVERLAP";case Bt.ERROR_AUTHENTICATION_FAILED:return"ERROR_AUTHENTICATION_FAILED";case Bt.ERROR_TIMEOUT:return"ERROR_TIMEOUT";case Bt.ERROR_TOPRF_OUT_OF_BOUNDS:return"ERROR_TOPRF_OUT_OF_BOUNDS";case Bt.ERROR_CERTIFICATE_FETCH_FAILED:return"ERROR_CERTIFICATE_FETCH_FAILED";case Bt.UNRECOGNIZED:default:return"UNRECOGNIZED"}}var sn={ZK_ENGINE_SNARKJS:0,ZK_ENGINE_GNARK:1,ZK_ENGINE_STWO:2,UNRECOGNIZED:-1};function X2(t){switch(t){case 0:case"ZK_ENGINE_SNARKJS":return sn.ZK_ENGINE_SNARKJS;case 1:case"ZK_ENGINE_GNARK":return sn.ZK_ENGINE_GNARK;case 2:case"ZK_ENGINE_STWO":return sn.ZK_ENGINE_STWO;case-1:case"UNRECOGNIZED":default:return sn.UNRECOGNIZED}}function $2(t){switch(t){case sn.ZK_ENGINE_SNARKJS:return"ZK_ENGINE_SNARKJS";case sn.ZK_ENGINE_GNARK:return"ZK_ENGINE_GNARK";case sn.ZK_ENGINE_STWO:return"ZK_ENGINE_STWO";case sn.UNRECOGNIZED:default:return"UNRECOGNIZED"}}function p8(){return{extractedParameters:{},providerHash:""}}var dR={encode(t,e=new tt){return globalThis.Object.entries(t.extractedParameters).forEach(([r,n])=>{rg.encode({key:r,value:n},e.uint32(10).fork()).join()}),t.providerHash!==""&&e.uint32(18).string(t.providerHash),e},decode(t,e){let r=t instanceof xe?t:new xe(t),n=e===void 0?r.len:r.pos+e,s=p8();for(;r.pos<n;){let i=r.uint32();switch(i>>>3){case 1:{if(i!==10)break;let o=rg.decode(r,r.uint32());o.value!==void 0&&(s.extractedParameters[o.key]=o.value);continue}case 2:{if(i!==18)break;s.providerHash=r.string();continue}}if((i&7)===4||i===0)break;r.skip(i&7)}return s},fromJSON(t){return{extractedParameters:VF(t.extractedParameters)?globalThis.Object.entries(t.extractedParameters).reduce((e,[r,n])=>(e[r]=globalThis.String(n),e),{}):{},providerHash:X(t.providerHash)?globalThis.String(t.providerHash):""}},toJSON(t){let e={};if(t.extractedParameters){let r=globalThis.Object.entries(t.extractedParameters);r.length>0&&(e.extractedParameters={},r.forEach(([n,s])=>{e.extractedParameters[n]=s}))}return t.providerHash!==""&&(e.providerHash=t.providerHash),e},create(t){return dR.fromPartial(t??{})},fromPartial(t){let e=p8();return e.extractedParameters=globalThis.Object.entries(t.extractedParameters??{}).reduce((r,[n,s])=>(s!==void 0&&(r[n]=globalThis.String(s)),r),{}),e.providerHash=t.providerHash??"",e}};function A8(){return{key:"",value:""}}var rg={encode(t,e=new tt){return t.key!==""&&e.uint32(10).string(t.key),t.value!==""&&e.uint32(18).string(t.value),e},decode(t,e){let r=t instanceof xe?t:new xe(t),n=e===void 0?r.len:r.pos+e,s=A8();for(;r.pos<n;){let i=r.uint32();switch(i>>>3){case 1:{if(i!==10)break;s.key=r.string();continue}case 2:{if(i!==18)break;s.value=r.string();continue}}if((i&7)===4||i===0)break;r.skip(i&7)}return s},fromJSON(t){return{key:X(t.key)?globalThis.String(t.key):"",value:X(t.value)?globalThis.String(t.value):""}},toJSON(t){let e={};return t.key!==""&&(e.key=t.key),t.value!==""&&(e.value=t.value),e},create(t){return rg.fromPartial(t??{})},fromPartial(t){let e=A8();return e.key=t.key??"",e.value=t.value??"",e}};function m8(){return{provider:"",parameters:"",owner:"",timestampS:0,context:"",identifier:"",epoch:0}}var Bs={encode(t,e=new tt){return t.provider!==""&&e.uint32(10).string(t.provider),t.parameters!==""&&e.uint32(18).string(t.parameters),t.owner!==""&&e.uint32(26).string(t.owner),t.timestampS!==0&&e.uint32(32).uint32(t.timestampS),t.context!==""&&e.uint32(50).string(t.context),t.identifier!==""&&e.uint32(66).string(t.identifier),t.epoch!==0&&e.uint32(72).uint32(t.epoch),e},decode(t,e){let r=t instanceof xe?t:new xe(t),n=e===void 0?r.len:r.pos+e,s=m8();for(;r.pos<n;){let i=r.uint32();switch(i>>>3){case 1:{if(i!==10)break;s.provider=r.string();continue}case 2:{if(i!==18)break;s.parameters=r.string();continue}case 3:{if(i!==26)break;s.owner=r.string();continue}case 4:{if(i!==32)break;s.timestampS=r.uint32();continue}case 6:{if(i!==50)break;s.context=r.string();continue}case 8:{if(i!==66)break;s.identifier=r.string();continue}case 9:{if(i!==72)break;s.epoch=r.uint32();continue}}if((i&7)===4||i===0)break;r.skip(i&7)}return s},fromJSON(t){return{provider:X(t.provider)?globalThis.String(t.provider):"",parameters:X(t.parameters)?globalThis.String(t.parameters):"",owner:X(t.owner)?globalThis.String(t.owner):"",timestampS:X(t.timestampS)?globalThis.Number(t.timestampS):0,context:X(t.context)?globalThis.String(t.context):"",identifier:X(t.identifier)?globalThis.String(t.identifier):"",epoch:X(t.epoch)?globalThis.Number(t.epoch):0}},toJSON(t){let e={};return t.provider!==""&&(e.provider=t.provider),t.parameters!==""&&(e.parameters=t.parameters),t.owner!==""&&(e.owner=t.owner),t.timestampS!==0&&(e.timestampS=Math.round(t.timestampS)),t.context!==""&&(e.context=t.context),t.identifier!==""&&(e.identifier=t.identifier),t.epoch!==0&&(e.epoch=Math.round(t.epoch)),e},create(t){return Bs.fromPartial(t??{})},fromPartial(t){let e=m8();return e.provider=t.provider??"",e.parameters=t.parameters??"",e.owner=t.owner??"",e.timestampS=t.timestampS??0,e.context=t.context??"",e.identifier=t.identifier??"",e.epoch=t.epoch??0,e}};function g8(){return{provider:"",parameters:"",context:""}}var hR={encode(t,e=new tt){return t.provider!==""&&e.uint32(10).string(t.provider),t.parameters!==""&&e.uint32(18).string(t.parameters),t.context!==""&&e.uint32(50).string(t.context),e},decode(t,e){let r=t instanceof xe?t:new xe(t),n=e===void 0?r.len:r.pos+e,s=g8();for(;r.pos<n;){let i=r.uint32();switch(i>>>3){case 1:{if(i!==10)break;s.provider=r.string();continue}case 2:{if(i!==18)break;s.parameters=r.string();continue}case 6:{if(i!==50)break;s.context=r.string();continue}}if((i&7)===4||i===0)break;r.skip(i&7)}return s},fromJSON(t){return{provider:X(t.provider)?globalThis.String(t.provider):"",parameters:X(t.parameters)?globalThis.String(t.parameters):"",context:X(t.context)?globalThis.String(t.context):""}},toJSON(t){let e={};return t.provider!==""&&(e.provider=t.provider),t.parameters!==""&&(e.parameters=t.parameters),t.context!==""&&(e.context=t.context),e},create(t){return hR.fromPartial(t??{})},fromPartial(t){let e=g8();return e.provider=t.provider??"",e.parameters=t.parameters??"",e.context=t.context??"",e}};function E8(){return{code:0,message:"",data:""}}var vt={encode(t,e=new tt){return t.code!==0&&e.uint32(8).int32(t.code),t.message!==""&&e.uint32(18).string(t.message),t.data!==""&&e.uint32(26).string(t.data),e},decode(t,e){let r=t instanceof xe?t:new xe(t),n=e===void 0?r.len:r.pos+e,s=E8();for(;r.pos<n;){let i=r.uint32();switch(i>>>3){case 1:{if(i!==8)break;s.code=r.int32();continue}case 2:{if(i!==18)break;s.message=r.string();continue}case 3:{if(i!==26)break;s.data=r.string();continue}}if((i&7)===4||i===0)break;r.skip(i&7)}return s},fromJSON(t){return{code:X(t.code)?lR(t.code):0,message:X(t.message)?globalThis.String(t.message):"",data:X(t.data)?globalThis.String(t.data):""}},toJSON(t){let e={};return t.code!==0&&(e.code=fR(t.code)),t.message!==""&&(e.message=t.message),t.data!==""&&(e.data=t.data),e},create(t){return vt.fromPartial(t??{})},fromPartial(t){let e=E8();return e.code=t.code??0,e.message=t.message??"",e.data=t.data??"",e}};function x8(){return{id:0,host:"",port:0,geoLocation:"",proxySessionId:""}}var Is={encode(t,e=new tt){return t.id!==0&&e.uint32(8).uint32(t.id),t.host!==""&&e.uint32(18).string(t.host),t.port!==0&&e.uint32(24).uint32(t.port),t.geoLocation!==""&&e.uint32(34).string(t.geoLocation),t.proxySessionId!==""&&e.uint32(42).string(t.proxySessionId),e},decode(t,e){let r=t instanceof xe?t:new xe(t),n=e===void 0?r.len:r.pos+e,s=x8();for(;r.pos<n;){let i=r.uint32();switch(i>>>3){case 1:{if(i!==8)break;s.id=r.uint32();continue}case 2:{if(i!==18)break;s.host=r.string();continue}case 3:{if(i!==24)break;s.port=r.uint32();continue}case 4:{if(i!==34)break;s.geoLocation=r.string();continue}case 5:{if(i!==42)break;s.proxySessionId=r.string();continue}}if((i&7)===4||i===0)break;r.skip(i&7)}return s},fromJSON(t){return{id:X(t.id)?globalThis.Number(t.id):0,host:X(t.host)?globalThis.String(t.host):"",port:X(t.port)?globalThis.Number(t.port):0,geoLocation:X(t.geoLocation)?globalThis.String(t.geoLocation):"",proxySessionId:X(t.proxySessionId)?globalThis.String(t.proxySessionId):""}},toJSON(t){let e={};return t.id!==0&&(e.id=Math.round(t.id)),t.host!==""&&(e.host=t.host),t.port!==0&&(e.port=Math.round(t.port)),t.geoLocation!==""&&(e.geoLocation=t.geoLocation),t.proxySessionId!==""&&(e.proxySessionId=t.proxySessionId),e},create(t){return Is.fromPartial(t??{})},fromPartial(t){let e=x8();return e.id=t.id??0,e.host=t.host??"",e.port=t.port??0,e.geoLocation=t.geoLocation??"",e.proxySessionId=t.proxySessionId??"",e}};function y8(){return{url:""}}var Uu={encode(t,e=new tt){return t.url!==""&&e.uint32(10).string(t.url),e},decode(t,e){let r=t instanceof xe?t:new xe(t),n=e===void 0?r.len:r.pos+e,s=y8();for(;r.pos<n;){let i=r.uint32();switch(i>>>3){case 1:{if(i!==10)break;s.url=r.string();continue}}if((i&7)===4||i===0)break;r.skip(i&7)}return s},fromJSON(t){return{url:X(t.url)?globalThis.String(t.url):""}},toJSON(t){let e={};return t.url!==""&&(e.url=t.url),e},create(t){return Uu.fromPartial(t??{})},fromPartial(t){let e=y8();return e.url=t.url??"",e}};function b8(){return{bytes:new Uint8Array(0)}}var Fu={encode(t,e=new tt){return t.bytes.length!==0&&e.uint32(10).bytes(t.bytes),e},decode(t,e){let r=t instanceof xe?t:new xe(t),n=e===void 0?r.len:r.pos+e,s=b8();for(;r.pos<n;){let i=r.uint32();switch(i>>>3){case 1:{if(i!==10)break;s.bytes=r.bytes();continue}}if((i&7)===4||i===0)break;r.skip(i&7)}return s},fromJSON(t){return{bytes:X(t.bytes)?Ht(t.bytes):new Uint8Array(0)}},toJSON(t){let e={};return t.bytes.length!==0&&(e.bytes=_t(t.bytes)),e},create(t){return Fu.fromPartial(t??{})},fromPartial(t){let e=b8();return e.bytes=t.bytes??new Uint8Array(0),e}};function w8(){return{id:0}}var Qu={encode(t,e=new tt){return t.id!==0&&e.uint32(8).uint32(t.id),e},decode(t,e){let r=t instanceof xe?t:new xe(t),n=e===void 0?r.len:r.pos+e,s=w8();for(;r.pos<n;){let i=r.uint32();switch(i>>>3){case 1:{if(i!==8)break;s.id=r.uint32();continue}}if((i&7)===4||i===0)break;r.skip(i&7)}return s},fromJSON(t){return{id:X(t.id)?globalThis.Number(t.id):0}},toJSON(t){let e={};return t.id!==0&&(e.id=Math.round(t.id)),e},create(t){return Qu.fromPartial(t??{})},fromPartial(t){let e=w8();return e.id=t.id??0,e}};function T8(){return{}}var Cs={encode(t,e=new tt){return e},decode(t,e){let r=t instanceof xe?t:new xe(t),n=e===void 0?r.len:r.pos+e,s=T8();for(;r.pos<n;){let i=r.uint32();if(i>>>3,(i&7)===4||i===0)break;r.skip(i&7)}return s},fromJSON(t){return{}},toJSON(t){return{}},create(t){return Cs.fromPartial(t??{})},fromPartial(t){return T8()}};function C8(){return{tunnelId:0,message:new Uint8Array(0)}}var Lu={encode(t,e=new tt){return t.tunnelId!==0&&e.uint32(8).uint32(t.tunnelId),t.message.length!==0&&e.uint32(18).bytes(t.message),e},decode(t,e){let r=t instanceof xe?t:new xe(t),n=e===void 0?r.len:r.pos+e,s=C8();for(;r.pos<n;){let i=r.uint32();switch(i>>>3){case 1:{if(i!==8)break;s.tunnelId=r.uint32();continue}case 2:{if(i!==18)break;s.message=r.bytes();continue}}if((i&7)===4||i===0)break;r.skip(i&7)}return s},fromJSON(t){return{tunnelId:X(t.tunnelId)?globalThis.Number(t.tunnelId):0,message:X(t.message)?Ht(t.message):new Uint8Array(0)}},toJSON(t){let e={};return t.tunnelId!==0&&(e.tunnelId=Math.round(t.tunnelId)),t.message.length!==0&&(e.message=_t(t.message)),e},create(t){return Lu.fromPartial(t??{})},fromPartial(t){let e=C8();return e.tunnelId=t.tunnelId??0,e.message=t.message??new Uint8Array(0),e}};function B8(){return{tunnelId:0,error:void 0}}var Vu={encode(t,e=new tt){return t.tunnelId!==0&&e.uint32(8).uint32(t.tunnelId),t.error!==void 0&&vt.encode(t.error,e.uint32(18).fork()).join(),e},decode(t,e){let r=t instanceof xe?t:new xe(t),n=e===void 0?r.len:r.pos+e,s=B8();for(;r.pos<n;){let i=r.uint32();switch(i>>>3){case 1:{if(i!==8)break;s.tunnelId=r.uint32();continue}case 2:{if(i!==18)break;s.error=vt.decode(r,r.uint32());continue}}if((i&7)===4||i===0)break;r.skip(i&7)}return s},fromJSON(t){return{tunnelId:X(t.tunnelId)?globalThis.Number(t.tunnelId):0,error:X(t.error)?vt.fromJSON(t.error):void 0}},toJSON(t){let e={};return t.tunnelId!==0&&(e.tunnelId=Math.round(t.tunnelId)),t.error!==void 0&&(e.error=vt.toJSON(t.error)),e},create(t){return Vu.fromPartial(t??{})},fromPartial(t){let e=B8();return e.tunnelId=t.tunnelId??0,e.error=t.error!==void 0&&t.error!==null?vt.fromPartial(t.error):void 0,e}};function I8(){return{directReveal:void 0,zkReveal:void 0}}var Gu={encode(t,e=new tt){return t.directReveal!==void 0&&Hu.encode(t.directReveal,e.uint32(10).fork()).join(),t.zkReveal!==void 0&&_u.encode(t.zkReveal,e.uint32(18).fork()).join(),e},decode(t,e){let r=t instanceof xe?t:new xe(t),n=e===void 0?r.len:r.pos+e,s=I8();for(;r.pos<n;){let i=r.uint32();switch(i>>>3){case 1:{if(i!==10)break;s.directReveal=Hu.decode(r,r.uint32());continue}case 2:{if(i!==18)break;s.zkReveal=_u.decode(r,r.uint32());continue}}if((i&7)===4||i===0)break;r.skip(i&7)}return s},fromJSON(t){return{directReveal:X(t.directReveal)?Hu.fromJSON(t.directReveal):void 0,zkReveal:X(t.zkReveal)?_u.fromJSON(t.zkReveal):void 0}},toJSON(t){let e={};return t.directReveal!==void 0&&(e.directReveal=Hu.toJSON(t.directReveal)),t.zkReveal!==void 0&&(e.zkReveal=_u.toJSON(t.zkReveal)),e},create(t){return Gu.fromPartial(t??{})},fromPartial(t){let e=I8();return e.directReveal=t.directReveal!==void 0&&t.directReveal!==null?Hu.fromPartial(t.directReveal):void 0,e.zkReveal=t.zkReveal!==void 0&&t.zkReveal!==null?_u.fromPartial(t.zkReveal):void 0,e}};function D8(){return{key:new Uint8Array(0),iv:new Uint8Array(0),recordNumber:0}}var Hu={encode(t,e=new tt){return t.key.length!==0&&e.uint32(10).bytes(t.key),t.iv.length!==0&&e.uint32(18).bytes(t.iv),t.recordNumber!==0&&e.uint32(24).uint32(t.recordNumber),e},decode(t,e){let r=t instanceof xe?t:new xe(t),n=e===void 0?r.len:r.pos+e,s=D8();for(;r.pos<n;){let i=r.uint32();switch(i>>>3){case 1:{if(i!==10)break;s.key=r.bytes();continue}case 2:{if(i!==18)break;s.iv=r.bytes();continue}case 3:{if(i!==24)break;s.recordNumber=r.uint32();continue}}if((i&7)===4||i===0)break;r.skip(i&7)}return s},fromJSON(t){return{key:X(t.key)?Ht(t.key):new Uint8Array(0),iv:X(t.iv)?Ht(t.iv):new Uint8Array(0),recordNumber:X(t.recordNumber)?globalThis.Number(t.recordNumber):0}},toJSON(t){let e={};return t.key.length!==0&&(e.key=_t(t.key)),t.iv.length!==0&&(e.iv=_t(t.iv)),t.recordNumber!==0&&(e.recordNumber=Math.round(t.recordNumber)),e},create(t){return Hu.fromPartial(t??{})},fromPartial(t){let e=D8();return e.key=t.key??new Uint8Array(0),e.iv=t.iv??new Uint8Array(0),e.recordNumber=t.recordNumber??0,e}};function N8(){return{proofs:[],toprfs:[],oprfRawMarkers:[],overshotOprfRawLength:0}}var _u={encode(t,e=new tt){for(let r of t.proofs)ju.encode(r,e.uint32(10).fork()).join();for(let r of t.toprfs)Wu.encode(r,e.uint32(18).fork()).join();for(let r of t.oprfRawMarkers)Yu.encode(r,e.uint32(26).fork()).join();return t.overshotOprfRawLength!==0&&e.uint32(32).uint32(t.overshotOprfRawLength),e},decode(t,e){let r=t instanceof xe?t:new xe(t),n=e===void 0?r.len:r.pos+e,s=N8();for(;r.pos<n;){let i=r.uint32();switch(i>>>3){case 1:{if(i!==10)break;s.proofs.push(ju.decode(r,r.uint32()));continue}case 2:{if(i!==18)break;s.toprfs.push(Wu.decode(r,r.uint32()));continue}case 3:{if(i!==26)break;s.oprfRawMarkers.push(Yu.decode(r,r.uint32()));continue}case 4:{if(i!==32)break;s.overshotOprfRawLength=r.uint32();continue}}if((i&7)===4||i===0)break;r.skip(i&7)}return s},fromJSON(t){return{proofs:globalThis.Array.isArray(t?.proofs)?t.proofs.map(e=>ju.fromJSON(e)):[],toprfs:globalThis.Array.isArray(t?.toprfs)?t.toprfs.map(e=>Wu.fromJSON(e)):[],oprfRawMarkers:globalThis.Array.isArray(t?.oprfRawMarkers)?t.oprfRawMarkers.map(e=>Yu.fromJSON(e)):[],overshotOprfRawLength:X(t.overshotOprfRawLength)?globalThis.Number(t.overshotOprfRawLength):0}},toJSON(t){let e={};return t.proofs?.length&&(e.proofs=t.proofs.map(r=>ju.toJSON(r))),t.toprfs?.length&&(e.toprfs=t.toprfs.map(r=>Wu.toJSON(r))),t.oprfRawMarkers?.length&&(e.oprfRawMarkers=t.oprfRawMarkers.map(r=>Yu.toJSON(r))),t.overshotOprfRawLength!==0&&(e.overshotOprfRawLength=Math.round(t.overshotOprfRawLength)),e},create(t){return _u.fromPartial(t??{})},fromPartial(t){let e=N8();return e.proofs=t.proofs?.map(r=>ju.fromPartial(r))||[],e.toprfs=t.toprfs?.map(r=>Wu.fromPartial(r))||[],e.oprfRawMarkers=t.oprfRawMarkers?.map(r=>Yu.fromPartial(r))||[],e.overshotOprfRawLength=t.overshotOprfRawLength??0,e}};function R8(){return{dataLocation:void 0}}var Yu={encode(t,e=new tt){return t.dataLocation!==void 0&&Ds.encode(t.dataLocation,e.uint32(10).fork()).join(),e},decode(t,e){let r=t instanceof xe?t:new xe(t),n=e===void 0?r.len:r.pos+e,s=R8();for(;r.pos<n;){let i=r.uint32();switch(i>>>3){case 1:{if(i!==10)break;s.dataLocation=Ds.decode(r,r.uint32());continue}}if((i&7)===4||i===0)break;r.skip(i&7)}return s},fromJSON(t){return{dataLocation:X(t.dataLocation)?Ds.fromJSON(t.dataLocation):void 0}},toJSON(t){let e={};return t.dataLocation!==void 0&&(e.dataLocation=Ds.toJSON(t.dataLocation)),e},create(t){return Yu.fromPartial(t??{})},fromPartial(t){let e=R8();return e.dataLocation=t.dataLocation!==void 0&&t.dataLocation!==null?Ds.fromPartial(t.dataLocation):void 0,e}};function S8(){return{decryptedRedactedCiphertext:new Uint8Array(0),redactedPlaintext:new Uint8Array(0),startIdx:0,proofData:new Uint8Array(0)}}var ju={encode(t,e=new tt){return t.decryptedRedactedCiphertext.length!==0&&e.uint32(18).bytes(t.decryptedRedactedCiphertext),t.redactedPlaintext.length!==0&&e.uint32(26).bytes(t.redactedPlaintext),t.startIdx!==0&&e.uint32(32).uint32(t.startIdx),t.proofData.length!==0&&e.uint32(42).bytes(t.proofData),e},decode(t,e){let r=t instanceof xe?t:new xe(t),n=e===void 0?r.len:r.pos+e,s=S8();for(;r.pos<n;){let i=r.uint32();switch(i>>>3){case 2:{if(i!==18)break;s.decryptedRedactedCiphertext=r.bytes();continue}case 3:{if(i!==26)break;s.redactedPlaintext=r.bytes();continue}case 4:{if(i!==32)break;s.startIdx=r.uint32();continue}case 5:{if(i!==42)break;s.proofData=r.bytes();continue}}if((i&7)===4||i===0)break;r.skip(i&7)}return s},fromJSON(t){return{decryptedRedactedCiphertext:X(t.decryptedRedactedCiphertext)?Ht(t.decryptedRedactedCiphertext):new Uint8Array(0),redactedPlaintext:X(t.redactedPlaintext)?Ht(t.redactedPlaintext):new Uint8Array(0),startIdx:X(t.startIdx)?globalThis.Number(t.startIdx):0,proofData:X(t.proofData)?Ht(t.proofData):new Uint8Array(0)}},toJSON(t){let e={};return t.decryptedRedactedCiphertext.length!==0&&(e.decryptedRedactedCiphertext=_t(t.decryptedRedactedCiphertext)),t.redactedPlaintext.length!==0&&(e.redactedPlaintext=_t(t.redactedPlaintext)),t.startIdx!==0&&(e.startIdx=Math.round(t.startIdx)),t.proofData.length!==0&&(e.proofData=_t(t.proofData)),e},create(t){return ju.fromPartial(t??{})},fromPartial(t){let e=S8();return e.decryptedRedactedCiphertext=t.decryptedRedactedCiphertext??new Uint8Array(0),e.redactedPlaintext=t.redactedPlaintext??new Uint8Array(0),e.startIdx=t.startIdx??0,e.proofData=t.proofData??new Uint8Array(0),e}};function M8(){return{startIdx:0,proofData:new Uint8Array(0),payload:void 0}}var Wu={encode(t,e=new tt){return t.startIdx!==0&&e.uint32(8).uint32(t.startIdx),t.proofData.length!==0&&e.uint32(18).bytes(t.proofData),t.payload!==void 0&&zu.encode(t.payload,e.uint32(26).fork()).join(),e},decode(t,e){let r=t instanceof xe?t:new xe(t),n=e===void 0?r.len:r.pos+e,s=M8();for(;r.pos<n;){let i=r.uint32();switch(i>>>3){case 1:{if(i!==8)break;s.startIdx=r.uint32();continue}case 2:{if(i!==18)break;s.proofData=r.bytes();continue}case 3:{if(i!==26)break;s.payload=zu.decode(r,r.uint32());continue}}if((i&7)===4||i===0)break;r.skip(i&7)}return s},fromJSON(t){return{startIdx:X(t.startIdx)?globalThis.Number(t.startIdx):0,proofData:X(t.proofData)?Ht(t.proofData):new Uint8Array(0),payload:X(t.payload)?zu.fromJSON(t.payload):void 0}},toJSON(t){let e={};return t.startIdx!==0&&(e.startIdx=Math.round(t.startIdx)),t.proofData.length!==0&&(e.proofData=_t(t.proofData)),t.payload!==void 0&&(e.payload=zu.toJSON(t.payload)),e},create(t){return Wu.fromPartial(t??{})},fromPartial(t){let e=M8();return e.startIdx=t.startIdx??0,e.proofData=t.proofData??new Uint8Array(0),e.payload=t.payload!==void 0&&t.payload!==null?zu.fromPartial(t.payload):void 0,e}};function v8(){return{dataLocation:void 0,nullifier:new Uint8Array(0),responses:[]}}var zu={encode(t,e=new tt){t.dataLocation!==void 0&&Ds.encode(t.dataLocation,e.uint32(10).fork()).join(),t.nullifier.length!==0&&e.uint32(18).bytes(t.nullifier);for(let r of t.responses)Ss.encode(r,e.uint32(26).fork()).join();return e},decode(t,e){let r=t instanceof xe?t:new xe(t),n=e===void 0?r.len:r.pos+e,s=v8();for(;r.pos<n;){let i=r.uint32();switch(i>>>3){case 1:{if(i!==10)break;s.dataLocation=Ds.decode(r,r.uint32());continue}case 2:{if(i!==18)break;s.nullifier=r.bytes();continue}case 3:{if(i!==26)break;s.responses.push(Ss.decode(r,r.uint32()));continue}}if((i&7)===4||i===0)break;r.skip(i&7)}return s},fromJSON(t){return{dataLocation:X(t.dataLocation)?Ds.fromJSON(t.dataLocation):void 0,nullifier:X(t.nullifier)?Ht(t.nullifier):new Uint8Array(0),responses:globalThis.Array.isArray(t?.responses)?t.responses.map(e=>Ss.fromJSON(e)):[]}},toJSON(t){let e={};return t.dataLocation!==void 0&&(e.dataLocation=Ds.toJSON(t.dataLocation)),t.nullifier.length!==0&&(e.nullifier=_t(t.nullifier)),t.responses?.length&&(e.responses=t.responses.map(r=>Ss.toJSON(r))),e},create(t){return zu.fromPartial(t??{})},fromPartial(t){let e=v8();return e.dataLocation=t.dataLocation!==void 0&&t.dataLocation!==null?Ds.fromPartial(t.dataLocation):void 0,e.nullifier=t.nullifier??new Uint8Array(0),e.responses=t.responses?.map(r=>Ss.fromPartial(r))||[],e}};function k8(){return{fromIndex:0,length:0}}var Ds={encode(t,e=new tt){return t.fromIndex!==0&&e.uint32(8).uint32(t.fromIndex),t.length!==0&&e.uint32(16).uint32(t.length),e},decode(t,e){let r=t instanceof xe?t:new xe(t),n=e===void 0?r.len:r.pos+e,s=k8();for(;r.pos<n;){let i=r.uint32();switch(i>>>3){case 1:{if(i!==8)break;s.fromIndex=r.uint32();continue}case 2:{if(i!==16)break;s.length=r.uint32();continue}}if((i&7)===4||i===0)break;r.skip(i&7)}return s},fromJSON(t){return{fromIndex:X(t.fromIndex)?globalThis.Number(t.fromIndex):0,length:X(t.length)?globalThis.Number(t.length):0}},toJSON(t){let e={};return t.fromIndex!==0&&(e.fromIndex=Math.round(t.fromIndex)),t.length!==0&&(e.length=Math.round(t.length)),e},create(t){return Ds.fromPartial(t??{})},fromPartial(t){let e=k8();return e.fromIndex=t.fromIndex??0,e.length=t.length??0,e}};function O8(){return{provider:"",parameters:"",owner:"",timestampS:0,context:""}}var Ns={encode(t,e=new tt){return t.provider!==""&&e.uint32(10).string(t.provider),t.parameters!==""&&e.uint32(18).string(t.parameters),t.owner!==""&&e.uint32(26).string(t.owner),t.timestampS!==0&&e.uint32(32).uint32(t.timestampS),t.context!==""&&e.uint32(42).string(t.context),e},decode(t,e){let r=t instanceof xe?t:new xe(t),n=e===void 0?r.len:r.pos+e,s=O8();for(;r.pos<n;){let i=r.uint32();switch(i>>>3){case 1:{if(i!==10)break;s.provider=r.string();continue}case 2:{if(i!==18)break;s.parameters=r.string();continue}case 3:{if(i!==26)break;s.owner=r.string();continue}case 4:{if(i!==32)break;s.timestampS=r.uint32();continue}case 5:{if(i!==42)break;s.context=r.string();continue}}if((i&7)===4||i===0)break;r.skip(i&7)}return s},fromJSON(t){return{provider:X(t.provider)?globalThis.String(t.provider):"",parameters:X(t.parameters)?globalThis.String(t.parameters):"",owner:X(t.owner)?globalThis.String(t.owner):"",timestampS:X(t.timestampS)?globalThis.Number(t.timestampS):0,context:X(t.context)?globalThis.String(t.context):""}},toJSON(t){let e={};return t.provider!==""&&(e.provider=t.provider),t.parameters!==""&&(e.parameters=t.parameters),t.owner!==""&&(e.owner=t.owner),t.timestampS!==0&&(e.timestampS=Math.round(t.timestampS)),t.context!==""&&(e.context=t.context),e},create(t){return Ns.fromPartial(t??{})},fromPartial(t){let e=O8();return e.provider=t.provider??"",e.parameters=t.parameters??"",e.owner=t.owner??"",e.timestampS=t.timestampS??0,e.context=t.context??"",e}};function P8(){return{verificationBundle:new Uint8Array(0),data:void 0,signatures:void 0}}var Rs={encode(t,e=new tt){return t.verificationBundle.length!==0&&e.uint32(10).bytes(t.verificationBundle),t.data!==void 0&&Ns.encode(t.data,e.uint32(18).fork()).join(),t.signatures!==void 0&&Ju.encode(t.signatures,e.uint32(26).fork()).join(),e},decode(t,e){let r=t instanceof xe?t:new xe(t),n=e===void 0?r.len:r.pos+e,s=P8();for(;r.pos<n;){let i=r.uint32();switch(i>>>3){case 1:{if(i!==10)break;s.verificationBundle=r.bytes();continue}case 2:{if(i!==18)break;s.data=Ns.decode(r,r.uint32());continue}case 3:{if(i!==26)break;s.signatures=Ju.decode(r,r.uint32());continue}}if((i&7)===4||i===0)break;r.skip(i&7)}return s},fromJSON(t){return{verificationBundle:X(t.verificationBundle)?Ht(t.verificationBundle):new Uint8Array(0),data:X(t.data)?Ns.fromJSON(t.data):void 0,signatures:X(t.signatures)?Ju.fromJSON(t.signatures):void 0}},toJSON(t){let e={};return t.verificationBundle.length!==0&&(e.verificationBundle=_t(t.verificationBundle)),t.data!==void 0&&(e.data=Ns.toJSON(t.data)),t.signatures!==void 0&&(e.signatures=Ju.toJSON(t.signatures)),e},create(t){return Rs.fromPartial(t??{})},fromPartial(t){let e=P8();return e.verificationBundle=t.verificationBundle??new Uint8Array(0),e.data=t.data!==void 0&&t.data!==null?Ns.fromPartial(t.data):void 0,e.signatures=t.signatures!==void 0&&t.signatures!==null?Ju.fromPartial(t.signatures):void 0,e}};function U8(){return{requestSignature:new Uint8Array(0)}}var Ju={encode(t,e=new tt){return t.requestSignature.length!==0&&e.uint32(10).bytes(t.requestSignature),e},decode(t,e){let r=t instanceof xe?t:new xe(t),n=e===void 0?r.len:r.pos+e,s=U8();for(;r.pos<n;){let i=r.uint32();switch(i>>>3){case 1:{if(i!==10)break;s.requestSignature=r.bytes();continue}}if((i&7)===4||i===0)break;r.skip(i&7)}return s},fromJSON(t){return{requestSignature:X(t.requestSignature)?Ht(t.requestSignature):new Uint8Array(0)}},toJSON(t){let e={};return t.requestSignature.length!==0&&(e.requestSignature=_t(t.requestSignature)),e},create(t){return Ju.fromPartial(t??{})},fromPartial(t){let e=U8();return e.requestSignature=t.requestSignature??new Uint8Array(0),e}};function F8(){return{request:void 0,claim:void 0,error:void 0,signatures:void 0}}var Ku={encode(t,e=new tt){return t.request!==void 0&&Rs.encode(t.request,e.uint32(10).fork()).join(),t.claim!==void 0&&Bs.encode(t.claim,e.uint32(18).fork()).join(),t.error!==void 0&&vt.encode(t.error,e.uint32(26).fork()).join(),t.signatures!==void 0&&qu.encode(t.signatures,e.uint32(34).fork()).join(),e},decode(t,e){let r=t instanceof xe?t:new xe(t),n=e===void 0?r.len:r.pos+e,s=F8();for(;r.pos<n;){let i=r.uint32();switch(i>>>3){case 1:{if(i!==10)break;s.request=Rs.decode(r,r.uint32());continue}case 2:{if(i!==18)break;s.claim=Bs.decode(r,r.uint32());continue}case 3:{if(i!==26)break;s.error=vt.decode(r,r.uint32());continue}case 4:{if(i!==34)break;s.signatures=qu.decode(r,r.uint32());continue}}if((i&7)===4||i===0)break;r.skip(i&7)}return s},fromJSON(t){return{request:X(t.request)?Rs.fromJSON(t.request):void 0,claim:X(t.claim)?Bs.fromJSON(t.claim):void 0,error:X(t.error)?vt.fromJSON(t.error):void 0,signatures:X(t.signatures)?qu.fromJSON(t.signatures):void 0}},toJSON(t){let e={};return t.request!==void 0&&(e.request=Rs.toJSON(t.request)),t.claim!==void 0&&(e.claim=Bs.toJSON(t.claim)),t.error!==void 0&&(e.error=vt.toJSON(t.error)),t.signatures!==void 0&&(e.signatures=qu.toJSON(t.signatures)),e},create(t){return Ku.fromPartial(t??{})},fromPartial(t){let e=F8();return e.request=t.request!==void 0&&t.request!==null?Rs.fromPartial(t.request):void 0,e.claim=t.claim!==void 0&&t.claim!==null?Bs.fromPartial(t.claim):void 0,e.error=t.error!==void 0&&t.error!==null?vt.fromPartial(t.error):void 0,e.signatures=t.signatures!==void 0&&t.signatures!==null?qu.fromPartial(t.signatures):void 0,e}};function Q8(){return{attestorAddress:"",claimSignature:new Uint8Array(0),resultSignature:new Uint8Array(0)}}var qu={encode(t,e=new tt){return t.attestorAddress!==""&&e.uint32(10).string(t.attestorAddress),t.claimSignature.length!==0&&e.uint32(18).bytes(t.claimSignature),t.resultSignature.length!==0&&e.uint32(26).bytes(t.resultSignature),e},decode(t,e){let r=t instanceof xe?t:new xe(t),n=e===void 0?r.len:r.pos+e,s=Q8();for(;r.pos<n;){let i=r.uint32();switch(i>>>3){case 1:{if(i!==10)break;s.attestorAddress=r.string();continue}case 2:{if(i!==18)break;s.claimSignature=r.bytes();continue}case 3:{if(i!==26)break;s.resultSignature=r.bytes();continue}}if((i&7)===4||i===0)break;r.skip(i&7)}return s},fromJSON(t){return{attestorAddress:X(t.attestorAddress)?globalThis.String(t.attestorAddress):"",claimSignature:X(t.claimSignature)?Ht(t.claimSignature):new Uint8Array(0),resultSignature:X(t.resultSignature)?Ht(t.resultSignature):new Uint8Array(0)}},toJSON(t){let e={};return t.attestorAddress!==""&&(e.attestorAddress=t.attestorAddress),t.claimSignature.length!==0&&(e.claimSignature=_t(t.claimSignature)),t.resultSignature.length!==0&&(e.resultSignature=_t(t.resultSignature)),e},create(t){return qu.fromPartial(t??{})},fromPartial(t){let e=Q8();return e.attestorAddress=t.attestorAddress??"",e.claimSignature=t.claimSignature??new Uint8Array(0),e.resultSignature=t.resultSignature??new Uint8Array(0),e}};function L8(){return{request:void 0,data:void 0,transcript:[],signatures:void 0,zkEngine:0,fixedServerIV:new Uint8Array(0),fixedClientIV:new Uint8Array(0)}}var In={encode(t,e=new tt){t.request!==void 0&&Is.encode(t.request,e.uint32(10).fork()).join(),t.data!==void 0&&Ns.encode(t.data,e.uint32(18).fork()).join();for(let r of t.transcript)Xu.encode(r,e.uint32(26).fork()).join();return t.signatures!==void 0&&Zu.encode(t.signatures,e.uint32(34).fork()).join(),t.zkEngine!==0&&e.uint32(40).int32(t.zkEngine),t.fixedServerIV.length!==0&&e.uint32(50).bytes(t.fixedServerIV),t.fixedClientIV.length!==0&&e.uint32(58).bytes(t.fixedClientIV),e},decode(t,e){let r=t instanceof xe?t:new xe(t),n=e===void 0?r.len:r.pos+e,s=L8();for(;r.pos<n;){let i=r.uint32();switch(i>>>3){case 1:{if(i!==10)break;s.request=Is.decode(r,r.uint32());continue}case 2:{if(i!==18)break;s.data=Ns.decode(r,r.uint32());continue}case 3:{if(i!==26)break;s.transcript.push(Xu.decode(r,r.uint32()));continue}case 4:{if(i!==34)break;s.signatures=Zu.decode(r,r.uint32());continue}case 5:{if(i!==40)break;s.zkEngine=r.int32();continue}case 6:{if(i!==50)break;s.fixedServerIV=r.bytes();continue}case 7:{if(i!==58)break;s.fixedClientIV=r.bytes();continue}}if((i&7)===4||i===0)break;r.skip(i&7)}return s},fromJSON(t){return{request:X(t.request)?Is.fromJSON(t.request):void 0,data:X(t.data)?Ns.fromJSON(t.data):void 0,transcript:globalThis.Array.isArray(t?.transcript)?t.transcript.map(e=>Xu.fromJSON(e)):[],signatures:X(t.signatures)?Zu.fromJSON(t.signatures):void 0,zkEngine:X(t.zkEngine)?X2(t.zkEngine):0,fixedServerIV:X(t.fixedServerIV)?Ht(t.fixedServerIV):new Uint8Array(0),fixedClientIV:X(t.fixedClientIV)?Ht(t.fixedClientIV):new Uint8Array(0)}},toJSON(t){let e={};return t.request!==void 0&&(e.request=Is.toJSON(t.request)),t.data!==void 0&&(e.data=Ns.toJSON(t.data)),t.transcript?.length&&(e.transcript=t.transcript.map(r=>Xu.toJSON(r))),t.signatures!==void 0&&(e.signatures=Zu.toJSON(t.signatures)),t.zkEngine!==0&&(e.zkEngine=$2(t.zkEngine)),t.fixedServerIV.length!==0&&(e.fixedServerIV=_t(t.fixedServerIV)),t.fixedClientIV.length!==0&&(e.fixedClientIV=_t(t.fixedClientIV)),e},create(t){return In.fromPartial(t??{})},fromPartial(t){let e=L8();return e.request=t.request!==void 0&&t.request!==null?Is.fromPartial(t.request):void 0,e.data=t.data!==void 0&&t.data!==null?Ns.fromPartial(t.data):void 0,e.transcript=t.transcript?.map(r=>Xu.fromPartial(r))||[],e.signatures=t.signatures!==void 0&&t.signatures!==null?Zu.fromPartial(t.signatures):void 0,e.zkEngine=t.zkEngine??0,e.fixedServerIV=t.fixedServerIV??new Uint8Array(0),e.fixedClientIV=t.fixedClientIV??new Uint8Array(0),e}};function V8(){return{requestSignature:new Uint8Array(0)}}var Zu={encode(t,e=new tt){return t.requestSignature.length!==0&&e.uint32(10).bytes(t.requestSignature),e},decode(t,e){let r=t instanceof xe?t:new xe(t),n=e===void 0?r.len:r.pos+e,s=V8();for(;r.pos<n;){let i=r.uint32();switch(i>>>3){case 1:{if(i!==10)break;s.requestSignature=r.bytes();continue}}if((i&7)===4||i===0)break;r.skip(i&7)}return s},fromJSON(t){return{requestSignature:X(t.requestSignature)?Ht(t.requestSignature):new Uint8Array(0)}},toJSON(t){let e={};return t.requestSignature.length!==0&&(e.requestSignature=_t(t.requestSignature)),e},create(t){return Zu.fromPartial(t??{})},fromPartial(t){let e=V8();return e.requestSignature=t.requestSignature??new Uint8Array(0),e}};function G8(){return{sender:0,message:new Uint8Array(0),reveal:void 0}}var Xu={encode(t,e=new tt){return t.sender!==0&&e.uint32(8).int32(t.sender),t.message.length!==0&&e.uint32(18).bytes(t.message),t.reveal!==void 0&&Gu.encode(t.reveal,e.uint32(26).fork()).join(),e},decode(t,e){let r=t instanceof xe?t:new xe(t),n=e===void 0?r.len:r.pos+e,s=G8();for(;r.pos<n;){let i=r.uint32();switch(i>>>3){case 1:{if(i!==8)break;s.sender=r.int32();continue}case 2:{if(i!==18)break;s.message=r.bytes();continue}case 3:{if(i!==26)break;s.reveal=Gu.decode(r,r.uint32());continue}}if((i&7)===4||i===0)break;r.skip(i&7)}return s},fromJSON(t){return{sender:X(t.sender)?sR(t.sender):0,message:X(t.message)?Ht(t.message):new Uint8Array(0),reveal:X(t.reveal)?Gu.fromJSON(t.reveal):void 0}},toJSON(t){let e={};return t.sender!==0&&(e.sender=iR(t.sender)),t.message.length!==0&&(e.message=_t(t.message)),t.reveal!==void 0&&(e.reveal=Gu.toJSON(t.reveal)),e},create(t){return Xu.fromPartial(t??{})},fromPartial(t){let e=G8();return e.sender=t.sender??0,e.message=t.message??new Uint8Array(0),e.reveal=t.reveal!==void 0&&t.reveal!==null?Gu.fromPartial(t.reveal):void 0,e}};function H8(){return{request:void 0,claim:void 0,error:void 0,signatures:void 0}}var Pi={encode(t,e=new tt){return t.request!==void 0&&In.encode(t.request,e.uint32(10).fork()).join(),t.claim!==void 0&&Bs.encode(t.claim,e.uint32(18).fork()).join(),t.error!==void 0&&vt.encode(t.error,e.uint32(26).fork()).join(),t.signatures!==void 0&&$u.encode(t.signatures,e.uint32(34).fork()).join(),e},decode(t,e){let r=t instanceof xe?t:new xe(t),n=e===void 0?r.len:r.pos+e,s=H8();for(;r.pos<n;){let i=r.uint32();switch(i>>>3){case 1:{if(i!==10)break;s.request=In.decode(r,r.uint32());continue}case 2:{if(i!==18)break;s.claim=Bs.decode(r,r.uint32());continue}case 3:{if(i!==26)break;s.error=vt.decode(r,r.uint32());continue}case 4:{if(i!==34)break;s.signatures=$u.decode(r,r.uint32());continue}}if((i&7)===4||i===0)break;r.skip(i&7)}return s},fromJSON(t){return{request:X(t.request)?In.fromJSON(t.request):void 0,claim:X(t.claim)?Bs.fromJSON(t.claim):void 0,error:X(t.error)?vt.fromJSON(t.error):void 0,signatures:X(t.signatures)?$u.fromJSON(t.signatures):void 0}},toJSON(t){let e={};return t.request!==void 0&&(e.request=In.toJSON(t.request)),t.claim!==void 0&&(e.claim=Bs.toJSON(t.claim)),t.error!==void 0&&(e.error=vt.toJSON(t.error)),t.signatures!==void 0&&(e.signatures=$u.toJSON(t.signatures)),e},create(t){return Pi.fromPartial(t??{})},fromPartial(t){let e=H8();return e.request=t.request!==void 0&&t.request!==null?In.fromPartial(t.request):void 0,e.claim=t.claim!==void 0&&t.claim!==null?Bs.fromPartial(t.claim):void 0,e.error=t.error!==void 0&&t.error!==null?vt.fromPartial(t.error):void 0,e.signatures=t.signatures!==void 0&&t.signatures!==null?$u.fromPartial(t.signatures):void 0,e}};function _8(){return{attestorAddress:"",claimSignature:new Uint8Array(0),resultSignature:new Uint8Array(0)}}var $u={encode(t,e=new tt){return t.attestorAddress!==""&&e.uint32(10).string(t.attestorAddress),t.claimSignature.length!==0&&e.uint32(18).bytes(t.claimSignature),t.resultSignature.length!==0&&e.uint32(26).bytes(t.resultSignature),e},decode(t,e){let r=t instanceof xe?t:new xe(t),n=e===void 0?r.len:r.pos+e,s=_8();for(;r.pos<n;){let i=r.uint32();switch(i>>>3){case 1:{if(i!==10)break;s.attestorAddress=r.string();continue}case 2:{if(i!==18)break;s.claimSignature=r.bytes();continue}case 3:{if(i!==26)break;s.resultSignature=r.bytes();continue}}if((i&7)===4||i===0)break;r.skip(i&7)}return s},fromJSON(t){return{attestorAddress:X(t.attestorAddress)?globalThis.String(t.attestorAddress):"",claimSignature:X(t.claimSignature)?Ht(t.claimSignature):new Uint8Array(0),resultSignature:X(t.resultSignature)?Ht(t.resultSignature):new Uint8Array(0)}},toJSON(t){let e={};return t.attestorAddress!==""&&(e.attestorAddress=t.attestorAddress),t.claimSignature.length!==0&&(e.claimSignature=_t(t.claimSignature)),t.resultSignature.length!==0&&(e.resultSignature=_t(t.resultSignature)),e},create(t){return $u.fromPartial(t??{})},fromPartial(t){let e=_8();return e.attestorAddress=t.attestorAddress??"",e.claimSignature=t.claimSignature??new Uint8Array(0),e.resultSignature=t.resultSignature??new Uint8Array(0),e}};function Y8(){return{chainId:0,jsonCreateClaimRequest:"",requestSignature:new Uint8Array(0)}}var e0={encode(t,e=new tt){return t.chainId!==0&&e.uint32(8).uint32(t.chainId),t.jsonCreateClaimRequest!==""&&e.uint32(18).string(t.jsonCreateClaimRequest),t.requestSignature.length!==0&&e.uint32(26).bytes(t.requestSignature),e},decode(t,e){let r=t instanceof xe?t:new xe(t),n=e===void 0?r.len:r.pos+e,s=Y8();for(;r.pos<n;){let i=r.uint32();switch(i>>>3){case 1:{if(i!==8)break;s.chainId=r.uint32();continue}case 2:{if(i!==18)break;s.jsonCreateClaimRequest=r.string();continue}case 3:{if(i!==26)break;s.requestSignature=r.bytes();continue}}if((i&7)===4||i===0)break;r.skip(i&7)}return s},fromJSON(t){return{chainId:X(t.chainId)?globalThis.Number(t.chainId):0,jsonCreateClaimRequest:X(t.jsonCreateClaimRequest)?globalThis.String(t.jsonCreateClaimRequest):"",requestSignature:X(t.requestSignature)?Ht(t.requestSignature):new Uint8Array(0)}},toJSON(t){let e={};return t.chainId!==0&&(e.chainId=Math.round(t.chainId)),t.jsonCreateClaimRequest!==""&&(e.jsonCreateClaimRequest=t.jsonCreateClaimRequest),t.requestSignature.length!==0&&(e.requestSignature=_t(t.requestSignature)),e},create(t){return e0.fromPartial(t??{})},fromPartial(t){let e=Y8();return e.chainId=t.chainId??0,e.jsonCreateClaimRequest=t.jsonCreateClaimRequest??"",e.requestSignature=t.requestSignature??new Uint8Array(0),e}};function j8(){return{txHash:"",taskIndex:0,jsonTask:""}}var t0={encode(t,e=new tt){return t.txHash!==""&&e.uint32(10).string(t.txHash),t.taskIndex!==0&&e.uint32(16).uint32(t.taskIndex),t.jsonTask!==""&&e.uint32(26).string(t.jsonTask),e},decode(t,e){let r=t instanceof xe?t:new xe(t),n=e===void 0?r.len:r.pos+e,s=j8();for(;r.pos<n;){let i=r.uint32();switch(i>>>3){case 1:{if(i!==10)break;s.txHash=r.string();continue}case 2:{if(i!==16)break;s.taskIndex=r.uint32();continue}case 3:{if(i!==26)break;s.jsonTask=r.string();continue}}if((i&7)===4||i===0)break;r.skip(i&7)}return s},fromJSON(t){return{txHash:X(t.txHash)?globalThis.String(t.txHash):"",taskIndex:X(t.taskIndex)?globalThis.Number(t.taskIndex):0,jsonTask:X(t.jsonTask)?globalThis.String(t.jsonTask):""}},toJSON(t){let e={};return t.txHash!==""&&(e.txHash=t.txHash),t.taskIndex!==0&&(e.taskIndex=Math.round(t.taskIndex)),t.jsonTask!==""&&(e.jsonTask=t.jsonTask),e},create(t){return t0.fromPartial(t??{})},fromPartial(t){let e=j8();return e.txHash=t.txHash??"",e.taskIndex=t.taskIndex??0,e.jsonTask=t.jsonTask??"",e}};function W8(){return{chainId:0,taskIndex:0,completedTaskJson:""}}var r0={encode(t,e=new tt){return t.chainId!==0&&e.uint32(8).uint32(t.chainId),t.taskIndex!==0&&e.uint32(16).uint32(t.taskIndex),t.completedTaskJson!==""&&e.uint32(26).string(t.completedTaskJson),e},decode(t,e){let r=t instanceof xe?t:new xe(t),n=e===void 0?r.len:r.pos+e,s=W8();for(;r.pos<n;){let i=r.uint32();switch(i>>>3){case 1:{if(i!==8)break;s.chainId=r.uint32();continue}case 2:{if(i!==16)break;s.taskIndex=r.uint32();continue}case 3:{if(i!==26)break;s.completedTaskJson=r.string();continue}}if((i&7)===4||i===0)break;r.skip(i&7)}return s},fromJSON(t){return{chainId:X(t.chainId)?globalThis.Number(t.chainId):0,taskIndex:X(t.taskIndex)?globalThis.Number(t.taskIndex):0,completedTaskJson:X(t.completedTaskJson)?globalThis.String(t.completedTaskJson):""}},toJSON(t){let e={};return t.chainId!==0&&(e.chainId=Math.round(t.chainId)),t.taskIndex!==0&&(e.taskIndex=Math.round(t.taskIndex)),t.completedTaskJson!==""&&(e.completedTaskJson=t.completedTaskJson),e},create(t){return r0.fromPartial(t??{})},fromPartial(t){let e=W8();return e.chainId=t.chainId??0,e.taskIndex=t.taskIndex??0,e.completedTaskJson=t.completedTaskJson??"",e}};function z8(){return{txHash:"",taskCompletedObjectJson:""}}var n0={encode(t,e=new tt){return t.txHash!==""&&e.uint32(10).string(t.txHash),t.taskCompletedObjectJson!==""&&e.uint32(18).string(t.taskCompletedObjectJson),e},decode(t,e){let r=t instanceof xe?t:new xe(t),n=e===void 0?r.len:r.pos+e,s=z8();for(;r.pos<n;){let i=r.uint32();switch(i>>>3){case 1:{if(i!==10)break;s.txHash=r.string();continue}case 2:{if(i!==18)break;s.taskCompletedObjectJson=r.string();continue}}if((i&7)===4||i===0)break;r.skip(i&7)}return s},fromJSON(t){return{txHash:X(t.txHash)?globalThis.String(t.txHash):"",taskCompletedObjectJson:X(t.taskCompletedObjectJson)?globalThis.String(t.taskCompletedObjectJson):""}},toJSON(t){let e={};return t.txHash!==""&&(e.txHash=t.txHash),t.taskCompletedObjectJson!==""&&(e.taskCompletedObjectJson=t.taskCompletedObjectJson),e},create(t){return n0.fromPartial(t??{})},fromPartial(t){let e=z8();return e.txHash=t.txHash??"",e.taskCompletedObjectJson=t.taskCompletedObjectJson??"",e}};function J8(){return{timestamp:0}}var s0={encode(t,e=new tt){return t.timestamp!==0&&e.uint32(8).uint32(t.timestamp),e},decode(t,e){let r=t instanceof xe?t:new xe(t),n=e===void 0?r.len:r.pos+e,s=J8();for(;r.pos<n;){let i=r.uint32();switch(i>>>3){case 1:{if(i!==8)break;s.timestamp=r.uint32();continue}}if((i&7)===4||i===0)break;r.skip(i&7)}return s},fromJSON(t){return{timestamp:X(t.timestamp)?globalThis.Number(t.timestamp):0}},toJSON(t){let e={};return t.timestamp!==0&&(e.timestamp=Math.round(t.timestamp)),e},create(t){return s0.fromPartial(t??{})},fromPartial(t){let e=J8();return e.timestamp=t.timestamp??0,e}};function K8(){return{taskId:0,requiredAttestors:0,hosts:[]}}var i0={encode(t,e=new tt){t.taskId!==0&&e.uint32(8).uint32(t.taskId),t.requiredAttestors!==0&&e.uint32(16).uint32(t.requiredAttestors);for(let r of t.hosts)e.uint32(26).string(r);return e},decode(t,e){let r=t instanceof xe?t:new xe(t),n=e===void 0?r.len:r.pos+e,s=K8();for(;r.pos<n;){let i=r.uint32();switch(i>>>3){case 1:{if(i!==8)break;s.taskId=r.uint32();continue}case 2:{if(i!==16)break;s.requiredAttestors=r.uint32();continue}case 3:{if(i!==26)break;s.hosts.push(r.string());continue}}if((i&7)===4||i===0)break;r.skip(i&7)}return s},fromJSON(t){return{taskId:X(t.taskId)?globalThis.Number(t.taskId):0,requiredAttestors:X(t.requiredAttestors)?globalThis.Number(t.requiredAttestors):0,hosts:globalThis.Array.isArray(t?.hosts)?t.hosts.map(e=>globalThis.String(e)):[]}},toJSON(t){let e={};return t.taskId!==0&&(e.taskId=Math.round(t.taskId)),t.requiredAttestors!==0&&(e.requiredAttestors=Math.round(t.requiredAttestors)),t.hosts?.length&&(e.hosts=t.hosts),e},create(t){return i0.fromPartial(t??{})},fromPartial(t){let e=K8();return e.taskId=t.taskId??0,e.requiredAttestors=t.requiredAttestors??0,e.hosts=t.hosts?.map(r=>r)||[],e}};function q8(){return{id:"",createdAt:0,expiresAt:0,hostWhitelist:[]}}var Ui={encode(t,e=new tt){t.id!==""&&e.uint32(10).string(t.id),t.createdAt!==0&&e.uint32(16).uint32(t.createdAt),t.expiresAt!==0&&e.uint32(24).uint32(t.expiresAt);for(let r of t.hostWhitelist)e.uint32(34).string(r);return e},decode(t,e){let r=t instanceof xe?t:new xe(t),n=e===void 0?r.len:r.pos+e,s=q8();for(;r.pos<n;){let i=r.uint32();switch(i>>>3){case 1:{if(i!==10)break;s.id=r.string();continue}case 2:{if(i!==16)break;s.createdAt=r.uint32();continue}case 3:{if(i!==24)break;s.expiresAt=r.uint32();continue}case 4:{if(i!==34)break;s.hostWhitelist.push(r.string());continue}}if((i&7)===4||i===0)break;r.skip(i&7)}return s},fromJSON(t){return{id:X(t.id)?globalThis.String(t.id):"",createdAt:X(t.createdAt)?globalThis.Number(t.createdAt):0,expiresAt:X(t.expiresAt)?globalThis.Number(t.expiresAt):0,hostWhitelist:globalThis.Array.isArray(t?.hostWhitelist)?t.hostWhitelist.map(e=>globalThis.String(e)):[]}},toJSON(t){let e={};return t.id!==""&&(e.id=t.id),t.createdAt!==0&&(e.createdAt=Math.round(t.createdAt)),t.expiresAt!==0&&(e.expiresAt=Math.round(t.expiresAt)),t.hostWhitelist?.length&&(e.hostWhitelist=t.hostWhitelist),e},create(t){return Ui.fromPartial(t??{})},fromPartial(t){let e=q8();return e.id=t.id??"",e.createdAt=t.createdAt??0,e.expiresAt=t.expiresAt??0,e.hostWhitelist=t.hostWhitelist?.map(r=>r)||[],e}};function Z8(){return{data:void 0,signature:new Uint8Array(0)}}var o0={encode(t,e=new tt){return t.data!==void 0&&Ui.encode(t.data,e.uint32(10).fork()).join(),t.signature.length!==0&&e.uint32(18).bytes(t.signature),e},decode(t,e){let r=t instanceof xe?t:new xe(t),n=e===void 0?r.len:r.pos+e,s=Z8();for(;r.pos<n;){let i=r.uint32();switch(i>>>3){case 1:{if(i!==10)break;s.data=Ui.decode(r,r.uint32());continue}case 2:{if(i!==18)break;s.signature=r.bytes();continue}}if((i&7)===4||i===0)break;r.skip(i&7)}return s},fromJSON(t){return{data:X(t.data)?Ui.fromJSON(t.data):void 0,signature:X(t.signature)?Ht(t.signature):new Uint8Array(0)}},toJSON(t){let e={};return t.data!==void 0&&(e.data=Ui.toJSON(t.data)),t.signature.length!==0&&(e.signature=_t(t.signature)),e},create(t){return o0.fromPartial(t??{})},fromPartial(t){let e=Z8();return e.data=t.data!==void 0&&t.data!==null?Ui.fromPartial(t.data):void 0,e.signature=t.signature??new Uint8Array(0),e}};function X8(){return{clientVersion:0,signatureType:0,auth:void 0}}var a0={encode(t,e=new tt){return t.clientVersion!==0&&e.uint32(16).int32(t.clientVersion),t.signatureType!==0&&e.uint32(24).int32(t.signatureType),t.auth!==void 0&&o0.encode(t.auth,e.uint32(34).fork()).join(),e},decode(t,e){let r=t instanceof xe?t:new xe(t),n=e===void 0?r.len:r.pos+e,s=X8();for(;r.pos<n;){let i=r.uint32();switch(i>>>3){case 2:{if(i!==16)break;s.clientVersion=r.int32();continue}case 3:{if(i!==24)break;s.signatureType=r.int32();continue}case 4:{if(i!==34)break;s.auth=o0.decode(r,r.uint32());continue}}if((i&7)===4||i===0)break;r.skip(i&7)}return s},fromJSON(t){return{clientVersion:X(t.clientVersion)?cR(t.clientVersion):0,signatureType:X(t.signatureType)?oR(t.signatureType):0,auth:X(t.auth)?o0.fromJSON(t.auth):void 0}},toJSON(t){let e={};return t.clientVersion!==0&&(e.clientVersion=uR(t.clientVersion)),t.signatureType!==0&&(e.signatureType=aR(t.signatureType)),t.auth!==void 0&&(e.auth=o0.toJSON(t.auth)),e},create(t){return a0.fromPartial(t??{})},fromPartial(t){let e=X8();return e.clientVersion=t.clientVersion??0,e.signatureType=t.signatureType??0,e.auth=t.auth!==void 0&&t.auth!==null?o0.fromPartial(t.auth):void 0,e}};function $8(){return{toprfPublicKey:new Uint8Array(0),attestorAddress:""}}var c0={encode(t,e=new tt){return t.toprfPublicKey.length!==0&&e.uint32(10).bytes(t.toprfPublicKey),t.attestorAddress!==""&&e.uint32(18).string(t.attestorAddress),e},decode(t,e){let r=t instanceof xe?t:new xe(t),n=e===void 0?r.len:r.pos+e,s=$8();for(;r.pos<n;){let i=r.uint32();switch(i>>>3){case 1:{if(i!==10)break;s.toprfPublicKey=r.bytes();continue}case 2:{if(i!==18)break;s.attestorAddress=r.string();continue}}if((i&7)===4||i===0)break;r.skip(i&7)}return s},fromJSON(t){return{toprfPublicKey:X(t.toprfPublicKey)?Ht(t.toprfPublicKey):new Uint8Array(0),attestorAddress:X(t.attestorAddress)?globalThis.String(t.attestorAddress):""}},toJSON(t){let e={};return t.toprfPublicKey.length!==0&&(e.toprfPublicKey=_t(t.toprfPublicKey)),t.attestorAddress!==""&&(e.attestorAddress=t.attestorAddress),e},create(t){return c0.fromPartial(t??{})},fromPartial(t){let e=$8();return e.toprfPublicKey=t.toprfPublicKey??new Uint8Array(0),e.attestorAddress=t.attestorAddress??"",e}};function eR(){return{maskedData:new Uint8Array(0),engine:0}}var u0={encode(t,e=new tt){return t.maskedData.length!==0&&e.uint32(10).bytes(t.maskedData),t.engine!==0&&e.uint32(16).int32(t.engine),e},decode(t,e){let r=t instanceof xe?t:new xe(t),n=e===void 0?r.len:r.pos+e,s=eR();for(;r.pos<n;){let i=r.uint32();switch(i>>>3){case 1:{if(i!==10)break;s.maskedData=r.bytes();continue}case 2:{if(i!==16)break;s.engine=r.int32();continue}}if((i&7)===4||i===0)break;r.skip(i&7)}return s},fromJSON(t){return{maskedData:X(t.maskedData)?Ht(t.maskedData):new Uint8Array(0),engine:X(t.engine)?X2(t.engine):0}},toJSON(t){let e={};return t.maskedData.length!==0&&(e.maskedData=_t(t.maskedData)),t.engine!==0&&(e.engine=$2(t.engine)),e},create(t){return u0.fromPartial(t??{})},fromPartial(t){let e=eR();return e.maskedData=t.maskedData??new Uint8Array(0),e.engine=t.engine??0,e}};function tR(){return{publicKeyShare:new Uint8Array(0),evaluated:new Uint8Array(0),c:new Uint8Array(0),r:new Uint8Array(0)}}var Ss={encode(t,e=new tt){return t.publicKeyShare.length!==0&&e.uint32(10).bytes(t.publicKeyShare),t.evaluated.length!==0&&e.uint32(18).bytes(t.evaluated),t.c.length!==0&&e.uint32(26).bytes(t.c),t.r.length!==0&&e.uint32(34).bytes(t.r),e},decode(t,e){let r=t instanceof xe?t:new xe(t),n=e===void 0?r.len:r.pos+e,s=tR();for(;r.pos<n;){let i=r.uint32();switch(i>>>3){case 1:{if(i!==10)break;s.publicKeyShare=r.bytes();continue}case 2:{if(i!==18)break;s.evaluated=r.bytes();continue}case 3:{if(i!==26)break;s.c=r.bytes();continue}case 4:{if(i!==34)break;s.r=r.bytes();continue}}if((i&7)===4||i===0)break;r.skip(i&7)}return s},fromJSON(t){return{publicKeyShare:X(t.publicKeyShare)?Ht(t.publicKeyShare):new Uint8Array(0),evaluated:X(t.evaluated)?Ht(t.evaluated):new Uint8Array(0),c:X(t.c)?Ht(t.c):new Uint8Array(0),r:X(t.r)?Ht(t.r):new Uint8Array(0)}},toJSON(t){let e={};return t.publicKeyShare.length!==0&&(e.publicKeyShare=_t(t.publicKeyShare)),t.evaluated.length!==0&&(e.evaluated=_t(t.evaluated)),t.c.length!==0&&(e.c=_t(t.c)),t.r.length!==0&&(e.r=_t(t.r)),e},create(t){return Ss.fromPartial(t??{})},fromPartial(t){let e=tR();return e.publicKeyShare=t.publicKeyShare??new Uint8Array(0),e.evaluated=t.evaluated??new Uint8Array(0),e.c=t.c??new Uint8Array(0),e.r=t.r??new Uint8Array(0),e}};function rR(){return{id:0,initRequest:void 0,initResponse:void 0,connectionTerminationAlert:void 0,requestError:void 0,createTunnelRequest:void 0,createTunnelResponse:void 0,disconnectTunnelRequest:void 0,disconnectTunnelResponse:void 0,tunnelMessage:void 0,tunnelDisconnectEvent:void 0,claimTunnelRequest:void 0,claimTunnelResponse:void 0,createClaimOnChainRequest:void 0,createClaimOnChainResponse:void 0,completeClaimOnChainRequest:void 0,completeClaimOnChainResponse:void 0,toprfRequest:void 0,toprfResponse:void 0,createTaskOnMechainRequest:void 0,createTaskOnMechainResponse:void 0,claimTeeBundleRequest:void 0,claimTeeBundleResponse:void 0,fetchCertificateBytesRequest:void 0,fetchCertificateBytesResponse:void 0}}var Oo={encode(t,e=new tt){return t.id!==0&&e.uint32(8).uint64(t.id),t.initRequest!==void 0&&a0.encode(t.initRequest,e.uint32(18).fork()).join(),t.initResponse!==void 0&&c0.encode(t.initResponse,e.uint32(26).fork()).join(),t.connectionTerminationAlert!==void 0&&vt.encode(t.connectionTerminationAlert,e.uint32(34).fork()).join(),t.requestError!==void 0&&vt.encode(t.requestError,e.uint32(42).fork()).join(),t.createTunnelRequest!==void 0&&Is.encode(t.createTunnelRequest,e.uint32(50).fork()).join(),t.createTunnelResponse!==void 0&&Cs.encode(t.createTunnelResponse,e.uint32(58).fork()).join(),t.disconnectTunnelRequest!==void 0&&Qu.encode(t.disconnectTunnelRequest,e.uint32(66).fork()).join(),t.disconnectTunnelResponse!==void 0&&Cs.encode(t.disconnectTunnelResponse,e.uint32(74).fork()).join(),t.tunnelMessage!==void 0&&Lu.encode(t.tunnelMessage,e.uint32(82).fork()).join(),t.tunnelDisconnectEvent!==void 0&&Vu.encode(t.tunnelDisconnectEvent,e.uint32(90).fork()).join(),t.claimTunnelRequest!==void 0&&In.encode(t.claimTunnelRequest,e.uint32(98).fork()).join(),t.claimTunnelResponse!==void 0&&Pi.encode(t.claimTunnelResponse,e.uint32(106).fork()).join(),t.createClaimOnChainRequest!==void 0&&e0.encode(t.createClaimOnChainRequest,e.uint32(114).fork()).join(),t.createClaimOnChainResponse!==void 0&&t0.encode(t.createClaimOnChainResponse,e.uint32(122).fork()).join(),t.completeClaimOnChainRequest!==void 0&&r0.encode(t.completeClaimOnChainRequest,e.uint32(130).fork()).join(),t.completeClaimOnChainResponse!==void 0&&n0.encode(t.completeClaimOnChainResponse,e.uint32(138).fork()).join(),t.toprfRequest!==void 0&&u0.encode(t.toprfRequest,e.uint32(146).fork()).join(),t.toprfResponse!==void 0&&Ss.encode(t.toprfResponse,e.uint32(154).fork()).join(),t.createTaskOnMechainRequest!==void 0&&s0.encode(t.createTaskOnMechainRequest,e.uint32(162).fork()).join(),t.createTaskOnMechainResponse!==void 0&&i0.encode(t.createTaskOnMechainResponse,e.uint32(170).fork()).join(),t.claimTeeBundleRequest!==void 0&&Rs.encode(t.claimTeeBundleRequest,e.uint32(178).fork()).join(),t.claimTeeBundleResponse!==void 0&&Ku.encode(t.claimTeeBundleResponse,e.uint32(186).fork()).join(),t.fetchCertificateBytesRequest!==void 0&&Uu.encode(t.fetchCertificateBytesRequest,e.uint32(194).fork()).join(),t.fetchCertificateBytesResponse!==void 0&&Fu.encode(t.fetchCertificateBytesResponse,e.uint32(202).fork()).join(),e},decode(t,e){let r=t instanceof xe?t:new xe(t),n=e===void 0?r.len:r.pos+e,s=rR();for(;r.pos<n;){let i=r.uint32();switch(i>>>3){case 1:{if(i!==8)break;s.id=LF(r.uint64());continue}case 2:{if(i!==18)break;s.initRequest=a0.decode(r,r.uint32());continue}case 3:{if(i!==26)break;s.initResponse=c0.decode(r,r.uint32());continue}case 4:{if(i!==34)break;s.connectionTerminationAlert=vt.decode(r,r.uint32());continue}case 5:{if(i!==42)break;s.requestError=vt.decode(r,r.uint32());continue}case 6:{if(i!==50)break;s.createTunnelRequest=Is.decode(r,r.uint32());continue}case 7:{if(i!==58)break;s.createTunnelResponse=Cs.decode(r,r.uint32());continue}case 8:{if(i!==66)break;s.disconnectTunnelRequest=Qu.decode(r,r.uint32());continue}case 9:{if(i!==74)break;s.disconnectTunnelResponse=Cs.decode(r,r.uint32());continue}case 10:{if(i!==82)break;s.tunnelMessage=Lu.decode(r,r.uint32());continue}case 11:{if(i!==90)break;s.tunnelDisconnectEvent=Vu.decode(r,r.uint32());continue}case 12:{if(i!==98)break;s.claimTunnelRequest=In.decode(r,r.uint32());continue}case 13:{if(i!==106)break;s.claimTunnelResponse=Pi.decode(r,r.uint32());continue}case 14:{if(i!==114)break;s.createClaimOnChainRequest=e0.decode(r,r.uint32());continue}case 15:{if(i!==122)break;s.createClaimOnChainResponse=t0.decode(r,r.uint32());continue}case 16:{if(i!==130)break;s.completeClaimOnChainRequest=r0.decode(r,r.uint32());continue}case 17:{if(i!==138)break;s.completeClaimOnChainResponse=n0.decode(r,r.uint32());continue}case 18:{if(i!==146)break;s.toprfRequest=u0.decode(r,r.uint32());continue}case 19:{if(i!==154)break;s.toprfResponse=Ss.decode(r,r.uint32());continue}case 20:{if(i!==162)break;s.createTaskOnMechainRequest=s0.decode(r,r.uint32());continue}case 21:{if(i!==170)break;s.createTaskOnMechainResponse=i0.decode(r,r.uint32());continue}case 22:{if(i!==178)break;s.claimTeeBundleRequest=Rs.decode(r,r.uint32());continue}case 23:{if(i!==186)break;s.claimTeeBundleResponse=Ku.decode(r,r.uint32());continue}case 24:{if(i!==194)break;s.fetchCertificateBytesRequest=Uu.decode(r,r.uint32());continue}case 25:{if(i!==202)break;s.fetchCertificateBytesResponse=Fu.decode(r,r.uint32());continue}}if((i&7)===4||i===0)break;r.skip(i&7)}return s},fromJSON(t){return{id:X(t.id)?globalThis.Number(t.id):0,initRequest:X(t.initRequest)?a0.fromJSON(t.initRequest):void 0,initResponse:X(t.initResponse)?c0.fromJSON(t.initResponse):void 0,connectionTerminationAlert:X(t.connectionTerminationAlert)?vt.fromJSON(t.connectionTerminationAlert):void 0,requestError:X(t.requestError)?vt.fromJSON(t.requestError):void 0,createTunnelRequest:X(t.createTunnelRequest)?Is.fromJSON(t.createTunnelRequest):void 0,createTunnelResponse:X(t.createTunnelResponse)?Cs.fromJSON(t.createTunnelResponse):void 0,disconnectTunnelRequest:X(t.disconnectTunnelRequest)?Qu.fromJSON(t.disconnectTunnelRequest):void 0,disconnectTunnelResponse:X(t.disconnectTunnelResponse)?Cs.fromJSON(t.disconnectTunnelResponse):void 0,tunnelMessage:X(t.tunnelMessage)?Lu.fromJSON(t.tunnelMessage):void 0,tunnelDisconnectEvent:X(t.tunnelDisconnectEvent)?Vu.fromJSON(t.tunnelDisconnectEvent):void 0,claimTunnelRequest:X(t.claimTunnelRequest)?In.fromJSON(t.claimTunnelRequest):void 0,claimTunnelResponse:X(t.claimTunnelResponse)?Pi.fromJSON(t.claimTunnelResponse):void 0,createClaimOnChainRequest:X(t.createClaimOnChainRequest)?e0.fromJSON(t.createClaimOnChainRequest):void 0,createClaimOnChainResponse:X(t.createClaimOnChainResponse)?t0.fromJSON(t.createClaimOnChainResponse):void 0,completeClaimOnChainRequest:X(t.completeClaimOnChainRequest)?r0.fromJSON(t.completeClaimOnChainRequest):void 0,completeClaimOnChainResponse:X(t.completeClaimOnChainResponse)?n0.fromJSON(t.completeClaimOnChainResponse):void 0,toprfRequest:X(t.toprfRequest)?u0.fromJSON(t.toprfRequest):void 0,toprfResponse:X(t.toprfResponse)?Ss.fromJSON(t.toprfResponse):void 0,createTaskOnMechainRequest:X(t.createTaskOnMechainRequest)?s0.fromJSON(t.createTaskOnMechainRequest):void 0,createTaskOnMechainResponse:X(t.createTaskOnMechainResponse)?i0.fromJSON(t.createTaskOnMechainResponse):void 0,claimTeeBundleRequest:X(t.claimTeeBundleRequest)?Rs.fromJSON(t.claimTeeBundleRequest):void 0,claimTeeBundleResponse:X(t.claimTeeBundleResponse)?Ku.fromJSON(t.claimTeeBundleResponse):void 0,fetchCertificateBytesRequest:X(t.fetchCertificateBytesRequest)?Uu.fromJSON(t.fetchCertificateBytesRequest):void 0,fetchCertificateBytesResponse:X(t.fetchCertificateBytesResponse)?Fu.fromJSON(t.fetchCertificateBytesResponse):void 0}},toJSON(t){let e={};return t.id!==0&&(e.id=Math.round(t.id)),t.initRequest!==void 0&&(e.initRequest=a0.toJSON(t.initRequest)),t.initResponse!==void 0&&(e.initResponse=c0.toJSON(t.initResponse)),t.connectionTerminationAlert!==void 0&&(e.connectionTerminationAlert=vt.toJSON(t.connectionTerminationAlert)),t.requestError!==void 0&&(e.requestError=vt.toJSON(t.requestError)),t.createTunnelRequest!==void 0&&(e.createTunnelRequest=Is.toJSON(t.createTunnelRequest)),t.createTunnelResponse!==void 0&&(e.createTunnelResponse=Cs.toJSON(t.createTunnelResponse)),t.disconnectTunnelRequest!==void 0&&(e.disconnectTunnelRequest=Qu.toJSON(t.disconnectTunnelRequest)),t.disconnectTunnelResponse!==void 0&&(e.disconnectTunnelResponse=Cs.toJSON(t.disconnectTunnelResponse)),t.tunnelMessage!==void 0&&(e.tunnelMessage=Lu.toJSON(t.tunnelMessage)),t.tunnelDisconnectEvent!==void 0&&(e.tunnelDisconnectEvent=Vu.toJSON(t.tunnelDisconnectEvent)),t.claimTunnelRequest!==void 0&&(e.claimTunnelRequest=In.toJSON(t.claimTunnelRequest)),t.claimTunnelResponse!==void 0&&(e.claimTunnelResponse=Pi.toJSON(t.claimTunnelResponse)),t.createClaimOnChainRequest!==void 0&&(e.createClaimOnChainRequest=e0.toJSON(t.createClaimOnChainRequest)),t.createClaimOnChainResponse!==void 0&&(e.createClaimOnChainResponse=t0.toJSON(t.createClaimOnChainResponse)),t.completeClaimOnChainRequest!==void 0&&(e.completeClaimOnChainRequest=r0.toJSON(t.completeClaimOnChainRequest)),t.completeClaimOnChainResponse!==void 0&&(e.completeClaimOnChainResponse=n0.toJSON(t.completeClaimOnChainResponse)),t.toprfRequest!==void 0&&(e.toprfRequest=u0.toJSON(t.toprfRequest)),t.toprfResponse!==void 0&&(e.toprfResponse=Ss.toJSON(t.toprfResponse)),t.createTaskOnMechainRequest!==void 0&&(e.createTaskOnMechainRequest=s0.toJSON(t.createTaskOnMechainRequest)),t.createTaskOnMechainResponse!==void 0&&(e.createTaskOnMechainResponse=i0.toJSON(t.createTaskOnMechainResponse)),t.claimTeeBundleRequest!==void 0&&(e.claimTeeBundleRequest=Rs.toJSON(t.claimTeeBundleRequest)),t.claimTeeBundleResponse!==void 0&&(e.claimTeeBundleResponse=Ku.toJSON(t.claimTeeBundleResponse)),t.fetchCertificateBytesRequest!==void 0&&(e.fetchCertificateBytesRequest=Uu.toJSON(t.fetchCertificateBytesRequest)),t.fetchCertificateBytesResponse!==void 0&&(e.fetchCertificateBytesResponse=Fu.toJSON(t.fetchCertificateBytesResponse)),e},create(t){return Oo.fromPartial(t??{})},fromPartial(t){let e=rR();return e.id=t.id??0,e.initRequest=t.initRequest!==void 0&&t.initRequest!==null?a0.fromPartial(t.initRequest):void 0,e.initResponse=t.initResponse!==void 0&&t.initResponse!==null?c0.fromPartial(t.initResponse):void 0,e.connectionTerminationAlert=t.connectionTerminationAlert!==void 0&&t.connectionTerminationAlert!==null?vt.fromPartial(t.connectionTerminationAlert):void 0,e.requestError=t.requestError!==void 0&&t.requestError!==null?vt.fromPartial(t.requestError):void 0,e.createTunnelRequest=t.createTunnelRequest!==void 0&&t.createTunnelRequest!==null?Is.fromPartial(t.createTunnelRequest):void 0,e.createTunnelResponse=t.createTunnelResponse!==void 0&&t.createTunnelResponse!==null?Cs.fromPartial(t.createTunnelResponse):void 0,e.disconnectTunnelRequest=t.disconnectTunnelRequest!==void 0&&t.disconnectTunnelRequest!==null?Qu.fromPartial(t.disconnectTunnelRequest):void 0,e.disconnectTunnelResponse=t.disconnectTunnelResponse!==void 0&&t.disconnectTunnelResponse!==null?Cs.fromPartial(t.disconnectTunnelResponse):void 0,e.tunnelMessage=t.tunnelMessage!==void 0&&t.tunnelMessage!==null?Lu.fromPartial(t.tunnelMessage):void 0,e.tunnelDisconnectEvent=t.tunnelDisconnectEvent!==void 0&&t.tunnelDisconnectEvent!==null?Vu.fromPartial(t.tunnelDisconnectEvent):void 0,e.claimTunnelRequest=t.claimTunnelRequest!==void 0&&t.claimTunnelRequest!==null?In.fromPartial(t.claimTunnelRequest):void 0,e.claimTunnelResponse=t.claimTunnelResponse!==void 0&&t.claimTunnelResponse!==null?Pi.fromPartial(t.claimTunnelResponse):void 0,e.createClaimOnChainRequest=t.createClaimOnChainRequest!==void 0&&t.createClaimOnChainRequest!==null?e0.fromPartial(t.createClaimOnChainRequest):void 0,e.createClaimOnChainResponse=t.createClaimOnChainResponse!==void 0&&t.createClaimOnChainResponse!==null?t0.fromPartial(t.createClaimOnChainResponse):void 0,e.completeClaimOnChainRequest=t.completeClaimOnChainRequest!==void 0&&t.completeClaimOnChainRequest!==null?r0.fromPartial(t.completeClaimOnChainRequest):void 0,e.completeClaimOnChainResponse=t.completeClaimOnChainResponse!==void 0&&t.completeClaimOnChainResponse!==null?n0.fromPartial(t.completeClaimOnChainResponse):void 0,e.toprfRequest=t.toprfRequest!==void 0&&t.toprfRequest!==null?u0.fromPartial(t.toprfRequest):void 0,e.toprfResponse=t.toprfResponse!==void 0&&t.toprfResponse!==null?Ss.fromPartial(t.toprfResponse):void 0,e.createTaskOnMechainRequest=t.createTaskOnMechainRequest!==void 0&&t.createTaskOnMechainRequest!==null?s0.fromPartial(t.createTaskOnMechainRequest):void 0,e.createTaskOnMechainResponse=t.createTaskOnMechainResponse!==void 0&&t.createTaskOnMechainResponse!==null?i0.fromPartial(t.createTaskOnMechainResponse):void 0,e.claimTeeBundleRequest=t.claimTeeBundleRequest!==void 0&&t.claimTeeBundleRequest!==null?Rs.fromPartial(t.claimTeeBundleRequest):void 0,e.claimTeeBundleResponse=t.claimTeeBundleResponse!==void 0&&t.claimTeeBundleResponse!==null?Ku.fromPartial(t.claimTeeBundleResponse):void 0,e.fetchCertificateBytesRequest=t.fetchCertificateBytesRequest!==void 0&&t.fetchCertificateBytesRequest!==null?Uu.fromPartial(t.fetchCertificateBytesRequest):void 0,e.fetchCertificateBytesResponse=t.fetchCertificateBytesResponse!==void 0&&t.fetchCertificateBytesResponse!==null?Fu.fromPartial(t.fetchCertificateBytesResponse):void 0,e}};function nR(){return{messages:[]}}var Fi={encode(t,e=new tt){for(let r of t.messages)Oo.encode(r,e.uint32(10).fork()).join();return e},decode(t,e){let r=t instanceof xe?t:new xe(t),n=e===void 0?r.len:r.pos+e,s=nR();for(;r.pos<n;){let i=r.uint32();switch(i>>>3){case 1:{if(i!==10)break;s.messages.push(Oo.decode(r,r.uint32()));continue}}if((i&7)===4||i===0)break;r.skip(i&7)}return s},fromJSON(t){return{messages:globalThis.Array.isArray(t?.messages)?t.messages.map(e=>Oo.fromJSON(e)):[]}},toJSON(t){let e={};return t.messages?.length&&(e.messages=t.messages.map(r=>Oo.toJSON(r))),e},create(t){return Fi.fromPartial(t??{})},fromPartial(t){let e=nR();return e.messages=t.messages?.map(r=>Oo.fromPartial(r))||[],e}};function Ht(t){if(globalThis.Buffer)return Uint8Array.from(globalThis.Buffer.from(t,"base64"));{let e=globalThis.atob(t),r=new Uint8Array(e.length);for(let n=0;n<e.length;++n)r[n]=e.charCodeAt(n);return r}}function _t(t){if(globalThis.Buffer)return globalThis.Buffer.from(t).toString("base64");{let e=[];return t.forEach(r=>{e.push(globalThis.String.fromCharCode(r))}),globalThis.btoa(e.join(""))}}function LF(t){let e=globalThis.Number(t.toString());if(e>globalThis.Number.MAX_SAFE_INTEGER)throw new globalThis.Error("Value is larger than Number.MAX_SAFE_INTEGER");if(e<globalThis.Number.MIN_SAFE_INTEGER)throw new globalThis.Error("Value is smaller than Number.MIN_SAFE_INTEGER");return e}function VF(t){return typeof t=="object"&&t!==null}function X(t){return t!=null}var GF=new Uint8Array(4).fill(F2);function ks(t){return new TextDecoder().decode(t)}function Xt(t){return new TextEncoder().encode(t)}function pme(t){let e=_F(t),r=[];for(let{message:n,sender:s}of e){let i=ks(n);r[r.length-1]?.startsWith(s)?r[r.length-1]+=i:r.push(`${s}: ${i}`)}return r.join(`
|
|
4464
4464
|
`)}var l0=()=>Math.floor(Date.now()/1e3);function rf(t,e){for(let r=0;r<t.length;r++)if(mr(t.slice(r,r+e.length),e))return r;return-1}function nf(t){if(t.includes("CHACHA20"))return"chacha20";if(t.includes("AES_256_GCM"))return"aes-256-ctr";if(t.includes("AES_128_GCM"))return"aes-128-ctr";throw new Error(`${t} not supported for ZK ops`)}function ew(t,e){nf(e),t=t.slice(0,-16);let{ivLength:r}=yt[e],n=12-r;return t=t.slice(n),t}function tw(t,e){nf(e);let{ivLength:r}=yt[e],n=12-r;return t.slice(0,n)}function sf(t,e,r){return typeof e=="function"?e(t,r):e}function f0(){return sr(Se.randomBytes(4)).getUint32(0)}function Ame(){return f0()}function ng(){return f0()}function mR(t,e){let r=new Event(t);return r.data=e,r}function HF(t){if(t.endsWith("Request"))return{type:t.slice(0,-7),direction:"request"};if(t.endsWith("Response"))return{type:t.slice(0,-8),direction:"response"}}function gR(t){return`${t}Response`}function sg(t){return`${t}Request`}function Xh(t,e){return t.type==="ciphertext"&&(t.contentType==="APPLICATION_DATA"||t.data[0]===Mn.WRAPPED_RECORD&&e==="TLS1_2")}async function ER(t){if(t instanceof ArrayBuffer)return new Uint8Array(t);if(t instanceof Uint8Array||typeof t=="object"&&t&&"buffer"in t)return t;if(typeof t=="string")return Xt(t);if(typeof Blob<"u"&&t instanceof Blob)return new Uint8Array(await t.arrayBuffer());throw new Error("unsupported data: "+String(t))}function xR(t){if(t.requestError)return{direction:"response",type:"error"};for(let e in t){if(!t[e])continue;let r=HF(e);if(r)return r}}function _F({transcript:t,tlsVersion:e}){let r=[];for(let n of t){let s;if(n.redacted)if(!n.plaintextLength)s=GF;else{let i=e==="TLS1_3"?n.plaintextLength-1:n.plaintextLength;s=new Uint8Array(i).fill(F2)}else if(e==="TLS1_3"){if(n.message[n.message.length-1]!==Ps.APPLICATION_DATA)continue;s=n.message.slice(0,-1)}else if(n.recordHeader[0]===Mn.WRAPPED_RECORD)s=n.message;else continue;r.push({message:s,sender:n.sender})}return r}function mme({transcript:t,tlsVersion:e}){let r=[];for(let[n,s]of t.entries()){if(s.redacted)break;let i;if(s.recordHeader[0]===Mn.HELLO)i=s.message;else if(s.recordHeader[0]===Mn.WRAPPED_RECORD)if(e==="TLS1_3"){if(s.message[s.message.length-1]!==Ps.HANDSHAKE)break;i=s.message.slice(0,-1)}else break;else continue;if(!i.length)throw new Error("unsupported handshake message");r.push({message:i,sender:s.sender,index:n})}return r}async function gme(t,e,r,n,s){let{key:i,iv:o,recordNumber:a}=t,{cipher:u}=yt[e],l=await Se.importKey(u,i);return await lh(s,{iv:o,key:l,recordHeader:r,recordNumber:a,version:n,cipherSuite:e})}function ig(...t){return Fi.create({messages:t.map(e=>Oo.create({...e,id:e.id||f0()}))})}function AR(t){if(!Array.isArray(t))return t;let e=Object.keys(t).filter(n=>isNaN(Number(n)));if(!e.length)return t.map(AR);let r={};for(let n of e)r[n]=AR(t[n]);return r}function rw(t){return t==="TLS_AES_128_GCM_SHA256"||t==="TLS_AES_256_GCM_SHA384"||t==="TLS_CHACHA20_POLY1305_SHA256"}var tp=Jn(DR(),1);var aQ=["ownerPrivateKey","secretParams"],cQ="[REDACTED]",uQ=Cn("LOG_LEVEL"),Ot=(0,tp.pino)();rp(!1,uQ);function rp(t,e,r){let n={timestamp:tp.stdTimeFunctions.isoTime};t&&(n.formatters={log:ep},n.serializers={redact:ep},n.browser={write:{fatal:o=>i("fatal",o),error:o=>i("error",o),warn:o=>i("warn",o),info:o=>i("info",o),debug:o=>i("debug",o),trace:o=>i("trace",o)}});let s=(0,tp.pino)(n);return s.level=e||"info",Ot=s,s;function i(o,a){a=ep(a);let{msg:u,...l}=a;console[o]?console[o](l,u):console.log(l,u),r?.(o,a)}}function NR(t){return typeof t=="object"&&!Array.isArray(t)&&t!==null}function lQ(){let t=new WeakSet;return function(e,r){if(typeof r=="object"&&r!==null){if(t.has(r))return"[CIRCULAR]";t.add(r)}return r}}function ep(t){if(!NR(t)&&!Array.isArray(t))return t;let r=JSON.parse(JSON.stringify(t,lQ()));for(let n in r)if(aQ.includes(n)&&(r[n]=cQ),Array.isArray(r[n]))for(let[s,i]of r[n].entries())r[n][s]=ep(i);else NR(r[n])&&(r[n]=ep(r[n]));return r}var np="*",dr=np.charCodeAt(0);function RR(t,e){for(let r=0;r<t.length;r++){let n=t[r];if(!(n===e[r]||typeof n=="string"&&n===np||typeof n=="number"&&n===dr))return!1}return!0}function cw(t){for(let e of t)if(e!==np&&e!==dr)return!1;return!0}async function SR(t,e,r){let n=t.map(d=>({block:d,redactedPlaintext:new Uint8Array(d.plaintext)})),s=be(t.map(d=>d.plaintext)),i=e(s);if(!i.length)return"all";let o=0,a=0,u=0;for(let d of i)await l(d);return n.filter(d=>!cw(d.redactedPlaintext));async function l(d){for(;u<d.fromIndex;)f();if(d.hash==="oprf-raw"){let p=o,m=a,y=d.toIndex-d.fromIndex,x=n[o];x.oprfRawMarkers||=[],x.oprfRawMarkers.push({dataLocation:{fromIndex:m,length:y}});let b=0;for(;u<d.toIndex;)o!==p&&(b+=1),f();b&&(n[o].overshotOprfRawFromPrevBlock={length:b});return}if(d.hash){let p=s.slice(d.fromIndex,d.toIndex),{nullifier:m,responses:y,mask:x}=await r(p),b={nullifier:m,responses:y,dataLocation:{fromIndex:a,length:d.toIndex-d.fromIndex},mask:x,plaintext:p},w=o,v=n[o];v.toprfs||=[],v.toprfs.push(b);let O=sp(m,b.dataLocation.length),P=0,B=0;for(;u<d.toIndex;)o!==w&&(B+=1),n[o].redactedPlaintext[a]=O.charCodeAt(P),f(),P+=1;B&&(n[o].overshotToprfFromPrevBlock={length:B})}for(;u<d.toIndex;)n[o].redactedPlaintext[a]=dr,f()}function f(){u+=1,a+=1,a>=t[o].plaintext.length&&(o+=1,a=0)}}function MR(t,e){let r=new Uint8Array(t);for(let n of e)for(let s=n.fromIndex;s<n.toIndex;s++)r[s]=dr;return r}function sp(t,e){return h8(t).padEnd(e,"0").slice(0,e)}var Za=Dr(`\r
|
|
4465
4465
|
`);function af(){let t={statusCode:0,statusMessage:"",headers:{},body:new Uint8Array,complete:!1,headersComplete:!1,headerIndices:new Map,headerEndIdx:0},e=0,r=!1,n=new Uint8Array,s=0;return{res:t,onChunk(a){if(n=be([n,a]),!t.headersComplete)for(let u=o();typeof u<"u";u=o())if(t.statusCode)if(u==="")if(t.headersComplete=!0,t.headerEndIdx=s-4,t.headers["transfer-encoding"]?.includes("chunked")){r=!0,t.chunks=[];break}else if(t.headers["content-length"]){e=Number(t.headers["content-length"]);break}else{e=-1;break}else{if(t.complete)throw new Error("got more data after response was complete");{let[l,f]=u.split(": ");t.headers[l.toLowerCase()]=f,t.headerIndices[l.toLowerCase()]={fromIndex:s-u.length-Za.length,toIndex:s-Za.length}}}else{let[,l,f]=u.match(/HTTP\/\d\.\d (\d+) (.*)/)||[];t.statusCode=Number(l),t.statusMessage=f,t.statusLineEndIndex=s-Za.length}if(t.headersComplete&&(e&&(i(),!e&&!r&&(t.complete=!0)),t.headers["content-length"]==="0"&&(t.complete=!0),r))for(let u=o();typeof u<"u";u=o()){if(u==="")continue;let l=Number.parseInt(u,16);if(!l){t.complete=!0;continue}if(t.chunks?.push({fromIndex:s,toIndex:s+l}),e=l,i(),e)break}},streamEnded(){if(!t.headersComplete)throw new Error("stream ended before headers were complete");if(n.length)throw new Error("stream ended before remaining data arrived");if(e>0)throw new Error("stream ended before all body bytes were received");t.complete=!0}};function i(){if(t.complete)throw new Error("got more data after response was complete");t.bodyStartIndex||(t.bodyStartIndex=s);let a;e===-1?a=n.length:(a=Math.min(e,n.length),e-=a),t.body=be([t.body,n.slice(0,a)]),n=n.slice(a),s+=a}function o(){let a=rf(n,Za);if(a===-1)return;let u=ks(n.slice(0,a));return n=n.slice(a+Za.length),s+=a+Za.length,u}}function cg(t){let e=t.filter(r=>r.sender==="client");if(e[0].message[0]===dr)throw new Error("First client message request is redacted. Cannot parse");return be(e.map(r=>r.message))}function ug(t){let e={method:"",url:"",protocol:"",headers:{}};for(let n=r();typeof n<"u"&&n!=="";n=r())if(e.method){let s=n.indexOf(":");s===-1&&(s=n.length-1);let i=n.slice(0,s).toLowerCase().trim(),o=n.slice(s+1).trim(),a=e.headers[i];typeof a=="string"?e.headers[i]=[a,o]:Array.isArray(a)?a.push(o):e.headers[i]=o}else{let[,s,i,o]=n.match(/(\w+) (.*) (.*)/)||[];e.method=s.toLowerCase(),e.url=i,e.protocol=o}if(t.length&&(e.body=t),!e.method)throw new Error("Client request is incomplete");return e;function r(){let n=rf(t,Za);if(n===-1)return;let s=ks(t.slice(0,n));return t=t.slice(n+Za.length),s}}var UR="3.9.3",fQ=UR,vR=typeof TextDecoder=="function"?new TextDecoder("utf-8",{ignoreBOM:!0}):void 0,kR=typeof TextEncoder=="function"?new TextEncoder:void 0,dQ="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",ip=Array.prototype.slice.call(dQ),lg=(t=>{let e={};return t.forEach((r,n)=>e[r]=n),e})(ip),hQ=/^(?:[A-Za-z\d+\/]{4})*?(?:[A-Za-z\d+\/]{2}(?:==)?|[A-Za-z\d+\/]{3}=?)?$/,Kr=String.fromCharCode.bind(String),pQ=typeof Uint8Array.from=="function"?Uint8Array.from.bind(Uint8Array):t=>new Uint8Array(Array.prototype.slice.call(t,0)),FR=t=>t.replace(/=/g,"").replace(/[+\/]/g,e=>e=="+"?"-":"_"),QR=t=>t.replace(/[^A-Za-z0-9\+\/]/g,""),LR=t=>{let e,r,n,s,i="",o=t.length%3;for(let a=0;a<t.length;){if((r=t.charCodeAt(a++))>255||(n=t.charCodeAt(a++))>255||(s=t.charCodeAt(a++))>255)throw new TypeError("invalid character found");e=r<<16|n<<8|s,i+=ip[e>>18&63]+ip[e>>12&63]+ip[e>>6&63]+ip[e&63]}return o?i.slice(0,o-3)+"===".substring(o):i},fw=typeof btoa=="function"?t=>btoa(t):LR,uw=typeof Uint8Array.prototype.toBase64=="function"?t=>t.toBase64():t=>{let r=[];for(let n=0,s=t.length;n<s;n+=4096)r.push(Kr.apply(null,t.subarray(n,n+4096)));return fw(r.join(""))},on=(t,e=!1)=>e?FR(uw(t)):uw(t),AQ=t=>{if(t.length<2){var e=t.charCodeAt(0);return e<128?t:e<2048?Kr(192|e>>>6)+Kr(128|e&63):Kr(224|e>>>12&15)+Kr(128|e>>>6&63)+Kr(128|e&63)}else{var e=65536+(t.charCodeAt(0)-55296)*1024+(t.charCodeAt(1)-56320);return Kr(240|e>>>18&7)+Kr(128|e>>>12&63)+Kr(128|e>>>6&63)+Kr(128|e&63)}},mQ=/[\uD800-\uDBFF][\uDC00-\uDFFF]|[^\x00-\x7F]/g,VR=t=>t.replace(mQ,AQ),OR=kR?t=>uw(kR.encode(t)):t=>fw(VR(t)),cf=(t,e=!1)=>e?FR(OR(t)):OR(t),PR=t=>cf(t,!0),gQ=/[\xC0-\xDF][\x80-\xBF]|[\xE0-\xEF][\x80-\xBF]{2}|[\xF0-\xF7][\x80-\xBF]{3}/g,EQ=t=>{switch(t.length){case 4:var e=(7&t.charCodeAt(0))<<18|(63&t.charCodeAt(1))<<12|(63&t.charCodeAt(2))<<6|63&t.charCodeAt(3),r=e-65536;return Kr((r>>>10)+55296)+Kr((r&1023)+56320);case 3:return Kr((15&t.charCodeAt(0))<<12|(63&t.charCodeAt(1))<<6|63&t.charCodeAt(2));default:return Kr((31&t.charCodeAt(0))<<6|63&t.charCodeAt(1))}},GR=t=>t.replace(gQ,EQ),HR=t=>{if(t=t.replace(/\s+/g,""),!hQ.test(t))throw new TypeError("malformed base64.");t+="==".slice(2-(t.length&3));let e,r,n,s=[];for(let i=0;i<t.length;)e=lg[t.charAt(i++)]<<18|lg[t.charAt(i++)]<<12|(r=lg[t.charAt(i++)])<<6|(n=lg[t.charAt(i++)]),r===64?s.push(Kr(e>>16&255)):n===64?s.push(Kr(e>>16&255,e>>8&255)):s.push(Kr(e>>16&255,e>>8&255,e&255));return s.join("")},dw=typeof atob=="function"?t=>atob(QR(t)):HR,_R=typeof Uint8Array.fromBase64=="function"?t=>Uint8Array.fromBase64(t):t=>pQ(dw(t).split("").map(e=>e.charCodeAt(0))),Dn=t=>_R(YR(t)),xQ=vR?t=>vR.decode(_R(t)):t=>GR(dw(t)),YR=t=>QR(t.replace(/[-_]/g,e=>e=="-"?"+":"/")),lw=t=>xQ(YR(t)),yQ=t=>{if(typeof t!="string")return!1;let e=t.replace(/\s+/g,"").replace(/={0,2}$/,"");return!/[^\s0-9a-zA-Z\+/]/.test(e)||!/[^\s0-9a-zA-Z\-_]/.test(e)},jR=t=>({value:t,enumerable:!1,writable:!0,configurable:!0}),WR=function(){let t=(e,r)=>Object.defineProperty(String.prototype,e,jR(r));t("fromBase64",function(){return lw(this)}),t("toBase64",function(e){return cf(this,e)}),t("toBase64URI",function(){return cf(this,!0)}),t("toBase64URL",function(){return cf(this,!0)}),t("toUint8Array",function(){return Dn(this)})},zR=function(){let t=(e,r)=>Object.defineProperty(Uint8Array.prototype,e,jR(r));t("toBase64",function(e){return on(this,e)}),t("toBase64URI",function(){return on(this,!0)}),t("toBase64URL",function(){return on(this,!0)})},bQ=()=>{WR(),zR()},Mr={version:UR,VERSION:fQ,atob:dw,atobPolyfill:HR,btoa:fw,btoaPolyfill:LR,fromBase64:lw,toBase64:cf,encode:cf,encodeURI:PR,encodeURL:PR,utob:VR,btou:GR,decode:lw,isValid:yQ,fromUint8Array:on,toUint8Array:Dn,extendString:WR,extendUint8Array:zR,extendBuiltins:bQ};var KR="../../bin/gnark",hw,wQ={x64:"x86_64"},qR={};async function TQ(){let t=await Promise.resolve().then(()=>(fg(),JR)).catch(()=>{});if(!t)throw new Error("Koffi not available, cannot use gnark");let{join:e,dirname:r}=await import("path"),n=r(import.meta.url.replace("file://","")),{default:s}=t;s.reset();let i=s.struct("GoSlice",{data:"void *",len:"longlong",cap:"longlong"}),o=s.struct("ProveReturn",{r0:"void *",r1:"longlong"}),a=s.struct("LibReturn",{r0:"void *",r1:"longlong"}),u=wQ[process.arch]||process.arch,l=process.platform,f=e(n,`${KR}/${l}-${u}-libverify.so`),d=e(n,`${KR}/${l}-${u}-libprove.so`);try{let p=s.load(f),m=s.load(d);return{verify:p.func("Verify","unsigned char",[i]),free:m.func("Free","void",["void *"]),vfree:p.func("VFree","void",["void *"]),prove:m.func("Prove",o,[i]),initAlgorithm:m.func("InitAlgorithm","unsigned char",["unsigned char",i,i]),generateThresholdKeys:p.func("GenerateThresholdKeys",a,[i]),oprfEvaluate:p.func("OPRFEvaluate",a,[i]),generateOPRFRequest:m.func("GenerateOPRFRequestData",a,[i]),toprfFinalize:m.func("TOPRFFinalize",a,[i]),koffi:s}}catch(p){let m=p instanceof Error?p.message:String(p??"");throw m.includes("not a mach-o")?new Error(`Gnark library not compatible with OS/arch (${l}/${u})`):m.toLowerCase().includes("no such file")?new Error(`Gnark library not built for OS/arch (${l}/${u})`):p}}async function dg(t,e,r,n){hw??=TQ();let s=await hw;if(qR[t])return s;let[i,o]=await Promise.all([r.fetch("gnark",`pk.${e}`,n),r.fetch("gnark",`r1cs.${e}`,n)]),a={data:i,len:i.length,cap:i.length},u={data:o,len:o.length,cap:o.length};return await s.initAlgorithm(t,a,u),qR[t]=!0,s}function ZR(t){return new TextEncoder().encode(t)}function hg(t,e){let r=op(t,e);return ZR(JSON.stringify(r))}function op(t,e){return{cipher:t+("toprf"in e?"-toprf":""),key:"key"in e?Mr.fromUint8Array(e.key):void 0,ciphertext:"out"in e&&e.out?.length?Mr.fromUint8Array(e.out):void 0,blocks:e.noncesAndCounters.map(n=>({nonce:Mr.fromUint8Array(n.nonce),counter:n.counter,boundary:n.boundary||null})),input:Mr.fromUint8Array(e.in),toprf:r()};function r(){if(!("toprf"in e))return{};let{locations:n,domainSeparator:s,output:i,responses:o}=e.toprf;return{locations:n,domainSeparator:Mr.fromUint8Array(ZR(s)),output:Mr.fromUint8Array(i),responses:o.map(CQ),mask:"mask"in e?Mr.fromUint8Array(e.mask):""}}}function CQ({publicKeyShare:t,evaluated:e,c:r,r:n}){return{publicKeyShare:Mr.fromUint8Array(t),evaluated:Mr.fromUint8Array(e),c:Mr.fromUint8Array(r),r:Mr.fromUint8Array(n)}}function h0(t,e){let r={data:typeof e=="string"?Buffer.from(e):e,len:e.length,cap:e.length};return t(r)}async function lf(t,e){let{free:r,koffi:n}=await hw,s=h0(t,e),i=Buffer.from(n.decode(s.r0,"unsigned char",s.r1)).toString();return r(s.r0),JSON.parse(i)}var BQ={chacha20:{ext:"chacha20"},"aes-128-ctr":{ext:"aes128"},"aes-256-ctr":{ext:"aes256"}};function $R({algorithm:t,fetcher:e}){return{async generateWitness(r){return hg(t,r)},async groth16Prove(r,n){let s=await XR(t,e,n),i=await lf(s.prove,r);if(typeof i!="object"||!("proof"in i)||!i.proof)throw new Error(`Failed to create gnark proof: ${JSON.stringify(i)}`);return{proof:Mr.toUint8Array(i.proof)}},async groth16Verify(r,n,s){let i=await XR(t,e,s),o=op(t,r),a=JSON.stringify({cipher:t,proof:typeof n=="string"?n:Mr.fromUint8Array(n),publicSignals:o});return h0(i.verify,a)===1}}}async function XR(t,e,r){let{ext:n}=BQ[t],{index:s}=Bn[t];return dg(s,n,e,r)}fg();var IQ={chacha20:{ext:"chacha20_oprf",id:3},"aes-128-ctr":{ext:"aes128_oprf",id:4},"aes-256-ctr":{ext:"aes256_oprf",id:5}};function eS({fetcher:t,algorithm:e}){return{async generateWitness(n){return hg(e,n)},async groth16Prove(n,s){let i=await r(s),o=await lf(i.prove,n);if(typeof o!="object"||!("proof"in o)||!o.proof)throw new Error(`Failed to create gnark TOPRF proof: ${JSON.stringify(o)}`);return{proof:Mr.toUint8Array(o.proof)}},async groth16Verify(n,s,i){let o=await r(i),a=op(e,n),u=JSON.stringify({cipher:`${e}-toprf`,proof:typeof s=="string"?s:Mr.fromUint8Array(s),publicSignals:a});return h0(o.verify,u)===1},async generateThresholdKeys(n,s,i){let o=await r(i),{generateThresholdKeys:a,vfree:u}=o,f=h0(a,JSON.stringify({total:n,threshold:s})),d=Buffer.from(uf.decode(f.r0,"unsigned char",f.r1)).toString();u(f.r0);let p=JSON.parse(d),m=[];for(let y=0;y<p.shares.length;y++){let x=p.shares[y];m.push({index:x.index,publicKey:Dn(x.publicKey),privateKey:Dn(x.privateKey)})}return{publicKey:Dn(p.publicKey),privateKey:Dn(p.privateKey),shares:m}},async generateOPRFRequestData(n,s,i){let o=await r(i),a={data:Mr.fromUint8Array(n),domainSeparator:s},u=await lf(o.generateOPRFRequest,JSON.stringify(a));return{mask:Dn(u.mask),maskedData:Dn(u.maskedData),secretElements:[Dn(u.secretElements[0]),Dn(u.secretElements[1])]}},async finaliseOPRF(n,s,i,o){let a=await r(o),u={serverPublicKey:on(n),request:{mask:on(s.mask),maskedData:on(s.maskedData),secretElements:[on(s.secretElements[0]),on(s.secretElements[1])]},responses:i.map(({publicKeyShare:f,evaluated:d,c:p,r:m})=>({publicKeyShare:on(f),evaluated:on(d),c:on(p),r:on(m)}))},l=await lf(a.toprfFinalize,JSON.stringify(u));return Dn(l.output)},async evaluateOPRF(n,s,i){let o=await r(i),{oprfEvaluate:a,vfree:u}=o,l={serverPrivate:on(n),maskedData:on(s)},f=h0(a,JSON.stringify(l)),d=Buffer.from(uf.decode(f.r0,"unsigned char",f.r1)).toString();u(f.r0);let p=JSON.parse(d);return{evaluated:Dn(p.evaluated),c:Dn(p.c),r:Dn(p.r)}}};async function r(n){let{ext:s,id:i}=IQ[e];return dg(i,s,t,n)}}var Aw=Jn(rS(),1);var cp=class extends Error{constructor(e){super(e),this.name="TimeoutError"}},mw=class extends Error{constructor(e){super(),this.name="AbortError",this.message=e}},nS=t=>globalThis.DOMException===void 0?new mw(t):new DOMException(t),sS=t=>{let e=t.reason===void 0?nS("This operation was aborted."):t.reason;return e instanceof Error?e:nS(e)};function gw(t,e){let{milliseconds:r,fallback:n,message:s,customTimers:i={setTimeout,clearTimeout}}=e,o,a,l=new Promise((f,d)=>{if(typeof r!="number"||Math.sign(r)!==1)throw new TypeError(`Expected \`milliseconds\` to be a positive number, got \`${r}\``);if(e.signal){let{signal:m}=e;m.aborted&&d(sS(m)),a=()=>{d(sS(m))},m.addEventListener("abort",a,{once:!0})}if(r===Number.POSITIVE_INFINITY){t.then(f,d);return}let p=new cp;o=i.setTimeout.call(void 0,()=>{if(n){try{f(n())}catch(m){d(m)}return}typeof t.cancel=="function"&&t.cancel(),s===!1?f():s instanceof Error?d(s):(p.message=s??`Promise timed out after ${r} milliseconds`,d(p))},r),(async()=>{try{f(await t)}catch(m){d(m)}})()}).finally(()=>{l.clear(),a&&e.signal&&e.signal.removeEventListener("abort",a)});return l.clear=()=>{i.clearTimeout.call(void 0,o),o=void 0},l}function Ew(t,e,r){let n=0,s=t.length;for(;s>0;){let i=Math.trunc(s/2),o=n+i;r(t[o],e)<=0?(n=++o,s-=i+1):s=i}return n}var up=class{#e=[];enqueue(e,r){r={priority:0,...r};let n={priority:r.priority,id:r.id,run:e};if(this.size===0||this.#e[this.size-1].priority>=r.priority){this.#e.push(n);return}let s=Ew(this.#e,n,(i,o)=>o.priority-i.priority);this.#e.splice(s,0,n)}setPriority(e,r){let n=this.#e.findIndex(i=>i.id===e);if(n===-1)throw new ReferenceError(`No promise function with the id "${e}" exists in the queue.`);let[s]=this.#e.splice(n,1);this.enqueue(s.run,{priority:r,id:e})}dequeue(){return this.#e.shift()?.run}filter(e){return this.#e.filter(r=>r.priority===e.priority).map(r=>r.run)}get size(){return this.#e.length}};var p0=class extends Aw.default{#e;#t;#r=0;#n;#s;#o=0;#i;#a;#c;#d;#l=0;#A;#f;#h;#p=1n;timeout;constructor(e){if(super(),e={carryoverConcurrencyCount:!1,intervalCap:Number.POSITIVE_INFINITY,interval:0,concurrency:Number.POSITIVE_INFINITY,autoStart:!0,queueClass:up,...e},!(typeof e.intervalCap=="number"&&e.intervalCap>=1))throw new TypeError(`Expected \`intervalCap\` to be a number from 1 and up, got \`${e.intervalCap?.toString()??""}\` (${typeof e.intervalCap})`);if(e.interval===void 0||!(Number.isFinite(e.interval)&&e.interval>=0))throw new TypeError(`Expected \`interval\` to be a finite number >= 0, got \`${e.interval?.toString()??""}\` (${typeof e.interval})`);this.#e=e.carryoverConcurrencyCount,this.#t=e.intervalCap===Number.POSITIVE_INFINITY||e.interval===0,this.#n=e.intervalCap,this.#s=e.interval,this.#c=new e.queueClass,this.#d=e.queueClass,this.concurrency=e.concurrency,this.timeout=e.timeout,this.#h=e.throwOnTimeout===!0,this.#f=e.autoStart===!1}get#u(){return this.#t||this.#r<this.#n}get#g(){return this.#l<this.#A}#E(){this.#l--,this.#x(),this.emit("next")}#m(){this.#C(),this.#y(),this.#a=void 0}get#b(){let e=Date.now();if(this.#i===void 0){let r=this.#o-e;if(r<0)this.#r=this.#e?this.#l:0;else return this.#a===void 0&&(this.#a=setTimeout(()=>{this.#m()},r)),!0}return!1}#x(){if(this.#c.size===0)return this.#i&&clearInterval(this.#i),this.#i=void 0,this.emit("empty"),this.#l===0&&this.emit("idle"),!1;if(!this.#f){let e=!this.#b;if(this.#u&&this.#g){let r=this.#c.dequeue();return r?(this.emit("active"),r(),e&&this.#y(),!0):!1}}return!1}#y(){this.#t||this.#i!==void 0||(this.#i=setInterval(()=>{this.#C()},this.#s),this.#o=Date.now()+this.#s)}#C(){this.#r===0&&this.#l===0&&this.#i&&(clearInterval(this.#i),this.#i=void 0),this.#r=this.#e?this.#l:0,this.#w()}#w(){for(;this.#x(););}get concurrency(){return this.#A}set concurrency(e){if(!(typeof e=="number"&&e>=1))throw new TypeError(`Expected \`concurrency\` to be a number from 1 and up, got \`${e}\` (${typeof e})`);this.#A=e,this.#w()}async#B(e){return new Promise((r,n)=>{e.addEventListener("abort",()=>{n(e.reason)},{once:!0})})}setPriority(e,r){this.#c.setPriority(e,r)}async add(e,r={}){return r.id??=(this.#p++).toString(),r={timeout:this.timeout,throwOnTimeout:this.#h,...r},new Promise((n,s)=>{this.#c.enqueue(async()=>{this.#l++;try{r.signal?.throwIfAborted(),this.#r++;let i=e({signal:r.signal});r.timeout&&(i=gw(Promise.resolve(i),{milliseconds:r.timeout})),r.signal&&(i=Promise.race([i,this.#B(r.signal)]));let o=await i;n(o),this.emit("completed",o)}catch(i){if(i instanceof cp&&!r.throwOnTimeout){n();return}s(i),this.emit("error",i)}finally{this.#E()}},r),this.emit("add"),this.#x()})}async addAll(e,r){return Promise.all(e.map(async n=>this.add(n,r)))}start(){return this.#f?(this.#f=!1,this.#w(),this):this}pause(){this.#f=!0}clear(){this.#c=new this.#d}async onEmpty(){this.#c.size!==0&&await this.#T("empty")}async onSizeLessThan(e){this.#c.size<e||await this.#T("next",()=>this.#c.size<e)}async onIdle(){this.#l===0&&this.#c.size===0||await this.#T("idle")}async#T(e,r){return new Promise(n=>{let s=()=>{r&&!r()||(this.off(e,s),n())};this.on(e,s)})}get size(){return this.#c.size}sizeBy(e){return this.#c.filter(e).length}get pending(){return this.#l}get isPaused(){return this.#f}};var{wtns:lp,groth16:xw,zkey:ege}=window.snarkjs||{};var RQ=5;function iS({algorithm:t,fetcher:e,options:{maxProofConcurrency:r=2}={}}){let n,s,i,o=new p0({concurrency:r});return{async generateWitness({out:l,...f},d){s||=a(),i||=(async()=>{if(!lp.getWtnsCalculator)return;let b=WebAssembly.Memory;WebAssembly.Memory=class extends WebAssembly.Memory{constructor(){super({initial:RQ})}};try{return await lp.getWtnsCalculator(await s,d)}finally{WebAssembly.Memory=b}})();let{noncesAndCounters:[{nonce:p,counter:m}]}=f,y={key:tf(t,f.key),nonce:tf(t,p),counter:tf(t,m),in:tf(t,f.in)},x={type:"mem"};return await i?await lp.wtnsCalculateWithCalculator(y,await i,x):await lp.calculate(y,await s,x),x.data},async groth16Prove(l,f){n||=u();let{data:d}=await n,{proof:p}=await o.add(()=>xw.prove(d,l,f));return{proof:JSON.stringify(p)}},async groth16Verify(l,f,d){f=typeof f!="string"?Buffer.from(f).toString():f,n||=u();let p=await n;p.json||(p.json=await(void 0).exportVerificationKey(p.data));let{noncesAndCounters:[{nonce:m,counter:y}]}=l;return xw.verify(p.json,tf(t,l.out,m,y,l.in),JSON.parse(f),d)},release(){n=void 0,s=void 0,i=void 0}};function a(l){return e.fetch("snarkjs",`${t}/circuit.wasm`,l)}async function u(l){return{data:await e.fetch("snarkjs",`${t}/circuit_final.zkey`,l)}}}var Qi={fromUint8Array(t){let e="";for(let r of t)e+=String.fromCharCode(r);return btoa(e)},toUint8Array(t){let e=atob(t),r=new Uint8Array(e.length);for(let n=0;n<e.length;n++)r[n]=e.charCodeAt(n);return r}};function bw(){let t=window.s2circuits;if(!t)throw new Error("s2circuits not loaded. Make sure s2circuits.js is loaded before using stwo.");return t}function aS(t){if(!Number.isInteger(t)||t<0||t>4294967295)throw new RangeError("counter must be a uint32 integer (0 to 4294967295)")}var ww=!1,ff;async function oS(t,e){if(!ww)return ff||(ff=(async()=>{try{let r=bw(),n=await t.fetch("stwo","s2circuits_bg.wasm",e);r.initSync({module:n}),ww=!0}catch(r){throw ff=void 0,r}})(),ff)}function SQ(t,e){if(!e.noncesAndCounters?.length)throw new Error("noncesAndCounters must be a non-empty array");let{noncesAndCounters:[{nonce:r,counter:n}]}=e;aS(n);let s={algorithm:t,key:Qi.fromUint8Array(e.key),nonce:Qi.fromUint8Array(r),counter:n,plaintext:Qi.fromUint8Array(e.out),ciphertext:Qi.fromUint8Array(e.in)};return new TextEncoder().encode(JSON.stringify(s))}function MQ(t){let e=new TextDecoder().decode(t);return JSON.parse(e)}function cS({algorithm:t,fetcher:e}){return{generateWitness(r){return SQ(t,r)},async groth16Prove(r,n){await oS(e,n);let s=bw(),i=MQ(r),o=Qi.toUint8Array(i.key),a=Qi.toUint8Array(i.nonce),u=Qi.toUint8Array(i.plaintext),l=Qi.toUint8Array(i.ciphertext),f;switch(i.algorithm){case"chacha20":f=s.generate_chacha20_proof(o,a,i.counter,u,l);break;case"aes-128-ctr":f=s.generate_aes128_ctr_proof(o,a,i.counter,u,l);break;case"aes-256-ctr":f=s.generate_aes256_ctr_proof(o,a,i.counter,u,l);break;default:throw new Error(`Unsupported algorithm: ${i.algorithm}`)}let d=JSON.parse(f);if(d.error)throw new Error(`Stwo proof generation failed: ${d.error}`);if(!d.proof)throw new Error("Stwo proof generation failed: no proof returned");return{proof:Qi.toUint8Array(d.proof)}},async groth16Verify(r,n,s){await oS(e,s);let i=bw(),o=r.noncesAndCounters[0]?.nonce,a=r.noncesAndCounters[0]?.counter,u=r.in,l=r.out;if(!o||a===void 0)return s?.warn("Invalid publicSignals: missing nonce or counter"),!1;aS(a);let f=typeof n=="string"?n:Qi.fromUint8Array(n),d;t==="chacha20"?d=i.verify_chacha20_proof(f,o,a,l,u):d=i.verify_aes_ctr_proof(f,o,a,l,u);let p=JSON.parse(d);return p.error?(s?.warn({error:p.error},"Stwo STARK verification failed"),!1):p.valid===!0},release(){ww=!1,ff=void 0}}}var uS=10,lS="reclaim/0.0.1",df=443,fS="/ws",vQ="/browser-rpc",age="/address",Tw=`${vQ}/resources`,cge=8001,uge=1e4,lge=["8.8.8.8","8.8.4.4"],fge=600,dS=Zt.ATTESTOR_VERSION_3_2_0,fp={signatureType:vs.SERVICE_SIGNATURE_TYPE_ETH,clientVersion:dS,auth:void 0},Cw={version:dS},dge=1e4,hge=3e4,pge=512*1024*1024,hS=900,Ag=9e4,dp="reclaim-toprf",Age=10*1024*1024*1024,mge=["application/x-x509-ca-cert","application/x-x509-user-cert","application/pkix-cert","application/pkcs7-mime","application/octet-stream"],pS="wss://ris-live.ripe.net/v1/ws/?client=reclaim-hijack-detector";var kQ=vt.fromJSON({}),ht=class t extends Error{name="AttestorError";code;data;constructor(e,r,n){super(r),this.code=e,this.data=n}toProto(){return vt.create({code:Bt[this.code],message:this.message,data:JSON.stringify(this.data)})}static fromProto(e=kQ){return new t(typeof e.code=="number"?OQ(Bt,e.code)||"UNRECOGNIZED":e.code,e.message,e.data?JSON.parse(e.data):void 0)}static fromError(e,r="ERROR_INTERNAL"){return e instanceof t?e:new t(r,e.message)}static badRequest(e,r){return new t("ERROR_BAD_REQUEST",e,r)}};function OQ(t,e){for(let r in t)if(t[r]===e)return r}var PQ=+(Cn("ZK_CONCURRENCY")||uS);async function mg({zkOperators:t,oprfOperators:e,logger:r=Ot,zkProofConcurrency:n=PQ,cipherSuite:s,zkEngine:i="snarkjs"}){let o=new p0({concurrency:n,autoStart:!0}),a=[];r=r.child({module:"zk",zkEngine:i});let u=0;return{async addPacketToProve(m,{redactedPlaintext:y,toprfs:x=[],overshotToprfFromPrevBlock:b},w,v){if(m.type==="plaintext")throw new Error("Cannot generate proof for plaintext");let O=nf(s),P=Dw(O),B=await Se.exportKey(m.encKey),L=m.iv,Y=ew(m.ciphertext,s);b&&y.set(new Uint8Array(b.length).fill(dr));let V=rw(s)?Y.length-1:Y.length,$={onGeneratedProofs:w,algorithm:O,proofsToGenerate:[],toprfsToGenerate:[],iv:m.fixedIv};for(let ne of x){let _=V-(ne.dataLocation.fromIndex+ne.dataLocation.length);if(_<0){let ce=v();if(ce?.type!=="ciphertext")throw new ht("ERROR_INTERNAL","TOPRF data overshoots ciphertext length, but no next ciphertext packet found");if(ce.encKey!==m.encKey)throw new ht("ERROR_INTERNAL","TOPRF data overshoots ciphertext length, but next packet has different encryption key");let ue=ce.ciphertext.slice(0,Math.abs(_)),Z=ce.iv;ne.overshoot={ciphertext:ue,iv:Z,recordNumber:ce.recordNumber}}let Ee=VQ(O,ne),pe=Math.min(Ee+P,Y.length),ye={fromIndex:Ee,toIndex:pe};$.toprfsToGenerate.push(LQ({key:B,iv:L,ciphertext:Y,slice:ye,toprf:{...ne,dataLocation:{...ne.dataLocation,fromIndex:ne.dataLocation.fromIndex-Ee}}})),u+=1;let j=Math.min(V,ne.dataLocation.fromIndex+ne.dataLocation.length),te=ne.dataLocation.fromIndex;for(let ce=te;ce<j;ce++)y[ce]=dr}for(let ne=0;ne<Y.length;ne+=P){let _={fromIndex:ne,toIndex:Math.min(ne+P,Y.length)},Ee=QQ({key:B,iv:L,ciphertext:Y,redactedPlaintext:y,slice:_});Ee&&($.proofsToGenerate.push(Ee),u+=1)}a.push($)},getTotalChunksToProve(){return u},async generateProofs(m){if(!a.length)return;let y=Date.now(),x=[];for(let{onGeneratedProofs:v,algorithm:O,proofsToGenerate:P,toprfsToGenerate:B}of a){let L=[],Y=[],V=P.length+B.length;for(let $ of P)x.push(o.add(async()=>{let ne=await l(O,$);m?.(),L.push(ne),V-=1,V===0&&v(L,Y)},{throwOnTimeout:!0}));for(let $ of B)x.push(o.add(async()=>{let ne=await f(O,$);m?.(),Y.push(ne),V-=1,V===0&&v(L,Y)},{throwOnTimeout:!0}))}await Promise.all(x),r?.info({durationMs:Date.now()-y,zkProofsToGen:u},"generated ZK proofs"),a.splice(0,a.length),u=0;let b=nf(s);(await d(b)).release?.()}};async function l(m,{startIdx:y,redactedPlaintext:x,privateInput:b,publicInput:w}){let v=d(m),O=await G2({algorithm:m,privateInput:b,publicInput:w,operator:v,logger:r});return r?.debug({startIdx:y},"generated proof for chunk"),{proofData:typeof O.proofData=="string"?Xt(O.proofData):O.proofData,decryptedRedactedCiphertext:O.plaintext||new Uint8Array,redactedPlaintext:x,startIdx:y}}async function f(m,{startIdx:y,privateInput:x,publicInput:b,toprf:w}){let v=p(m),O=[];if(w?.overshoot){let{dataLocation:B,overshoot:{ciphertext:L}}=w;O.push({pos:B.fromIndex,len:B.length-L.length},{pos:Zh(B.fromIndex+B.length,m),len:L.length})}else w&&O.push({pos:w.dataLocation.fromIndex,len:w.dataLocation.length});let P=await G2({algorithm:m,privateInput:x,publicInput:b,operator:v,logger:r,...w?{toprf:{locations:O,output:w.nullifier,responses:w.responses,domainSeparator:dp},mask:w.mask}:{}});return r?.debug({toprfLocations:O},"generated TOPRF proof for chunk"),{startIdx:y,proofData:typeof P.proofData=="string"?Xt(P.proofData):P.proofData,payload:w}}function d(m){return t?.[m]||hp(m,i,r)}function p(m){return e?.[m]||gg(m,i,r)}}async function kge({cipherSuite:t,ciphertext:e,zkReveal:r,zkOperators:n,oprfOperators:s,logger:i=Ot,zkEngine:o="snarkjs",iv:a,recordNumber:u,toprfOvershotNullifier:l,getNextPacket:f}){let{proofs:d,toprfs:p,oprfRawMarkers:m}=r,y=nf(t),x=tw(e,t);e=new Uint8Array(ew(e,t));let b=new Uint8Array(e.length).fill(dr),w=await Promise.all(p.map(async(L,Y)=>{try{return await O(L)}catch(V){throw V.message+=` (TOPRF proof ${Y}, from ${L.payload?.dataLocation?.fromIndex}, record ${u})`,V}}));await Promise.all(d.map(async(L,Y)=>{try{await v(L)}catch(V){throw V.message+=` (ZK proof ${Y}, startIdx ${L.startIdx}, record ${u})`,V}}));for(let{set:L,startIdx:Y}of w)b.set(L,Y);return l&&b.set(l),{redactedPlaintext:b,oprfRawMarkers:m};async function v({proofData:L,decryptedRedactedCiphertext:Y,redactedPlaintext:V,startIdx:$}){let ne=$+V.length,_=e.slice($,ne);for(let ye=0;ye<_.length;ye++)V[ye]===dr&&(_[ye]=dr);let Ee=be([a,x]);x.length||(Ee=Ho(Ee,u));let pe={ciphertext:_,iv:Ee,offsetBytes:$};if(!RR(V,Y))throw new Error("redacted ciphertext not congruent");await H2({proof:{algorithm:y,proofData:L,plaintext:Y},publicInput:pe,logger:i,operator:P()}),i?.debug({startIdx:$,endIdx:$+V.length},"verified proof"),b.set(V,$)}async function O({startIdx:L,proofData:Y,payload:V}){if(!V?.dataLocation||!V.responses||!V.nullifier)throw new Error("invalid TOPRF proof payload");let{dataLocation:$,nullifier:ne}=V,_=Math.min(e.length,Dw(y)+L),Ee=_>=e.length,pe=e.slice(L,_),ye=be([a,x]);x.length||(ye=Ho(ye,u));let j={ciphertext:pe,iv:ye,offsetBytes:L},te=j,ce=sp(ne,$.length),ue=[],Z=$.fromIndex+$.length,ge=Ee&&rw(t)?pe.length-1:pe.length,Ne=Z-ge;if(Ne>0){let re=f(Xt(ce.slice($.length-Ne)));if(!re)throw new Error("OPRF data overshot, but no next packet found");let Ke=tw(e,t),ct=be([a,Ke]);Ke.length||(ct=Ho(ct,u+1)),te=[j,{ciphertext:re.slice(0,Ne),iv:ct,offsetBytes:0}],ue.push({pos:$.fromIndex,len:$.length-Ne},{pos:Zh($.fromIndex+$.length,y),len:Ne})}else ue.push({pos:$.fromIndex,len:$.length});return await H2({proof:{algorithm:y,proofData:Y,plaintext:void 0},publicInput:te,logger:i,operator:B(),toprf:{locations:ue,domainSeparator:dp,output:ne,responses:V.responses}}),i?.debug({locations:ue},"verified TOPRF proof"),{set:Xt(ce.slice(0,ue[0].len)),startIdx:ue[0].pos+L}}function P(){return n?.[y]||hp(y,o,i)}function B(){return s?.[y]||gg(y,o,i)}}function Dw(t){let{chunkSize:e,bitsPerWord:r}=Bn[t];return e*r/8}var Bw={},Iw={},UQ={snarkjs:iS,gnark:$R,stwo:cS},FQ={gnark:eS};function hp(t,e,r){let n=Bw[e];if(n||(Bw[e]={},n=Bw[e]),!n[t]){let s=AS(),i=s==="remote"?mS():void 0;r?.info({type:s,algorithm:t,zkBaseUrl:i},"fetching zk operator");let o=s==="local"?Y2():_2({baseUrl:i,logger:r}),a=UQ[e];if(!a)throw new Error(`No ZK operator maker for ${e}`);n[t]=a({algorithm:t,fetcher:o})}return n[t]}function AS(){let t=Cn("ZK_OPERATOR_TYPE");return t==="local"||t==="remote"?t:Km()==="node"?"local":"remote"}function gg(t,e,r){let n=Iw[e];if(n||(Iw[e]={},n=Iw[e]),!n[t]){let s=AS(),i=s==="remote"?mS():void 0;r?.info({type:s,algorithm:t,zkBaseUrl:i},"fetching oprf operator");let o=s==="local"?Y2():_2({baseUrl:i,logger:r}),a=FQ[e];if(!a)throw new Error(`No OPRF operator maker for ${e}`);n[t]=a({algorithm:t,fetcher:o})}return n[t]}function Oge(t){if(t===sn.ZK_ENGINE_GNARK)return"gnark";if(t===sn.ZK_ENGINE_SNARKJS)return"snarkjs";if(t===sn.ZK_ENGINE_STWO)return"stwo";throw new Error(`Unknown ZK engine: ${t}`)}function Nw(t){if(t==="gnark")return sn.ZK_ENGINE_GNARK;if(t==="snarkjs")return sn.ZK_ENGINE_SNARKJS;if(t==="stwo")return sn.ZK_ENGINE_STWO;throw new Error(`Unknown ZK engine: ${t}`)}function QQ({key:t,iv:e,ciphertext:r,redactedPlaintext:n,slice:{fromIndex:s,toIndex:i}}){let o=r.slice(s,i),a=n.slice(s,i);if(!cw(a)){for(let u=0;u<o.length;u++)a[u]===dr&&(o[u]=dr);return{startIdx:s,redactedPlaintext:a,privateInput:{key:t},publicInput:{ciphertext:o,iv:e,offsetBytes:s}}}}function LQ({key:t,iv:e,ciphertext:r,slice:{fromIndex:n,toIndex:s},toprf:i}){let o=r.slice(n,s);if(i?.overshoot){let{overshoot:{ciphertext:a,iv:u}}=i;return{privateInput:{key:t},publicInput:[{ciphertext:o,iv:e,offsetBytes:n},{ciphertext:a,iv:u}],toprf:i,startIdx:n}}return{privateInput:{key:t},publicInput:{ciphertext:o,iv:e,offsetBytes:n},toprf:i,startIdx:n}}function VQ(t,{dataLocation:e,overshoot:r}){let n=Dw(t),s=Ja(t),i=Math.floor(e.fromIndex/n);if(Math.floor((e.fromIndex+e.length)/n)===i){let l=i*n;if(r){let f=Math.ceil(r.ciphertext.length/s);return l+f*s}return l}let a=Math.floor(e.fromIndex/s)*s;if(Math.ceil((e.fromIndex+e.length)/s)-a>n)throw new ht("ERROR_BAD_REQUEST","OPRF data cannot fit into a single chunk");return a}function mS(){return typeof ATTESTOR_BASE_URL!="string"?Tw:new URL(Tw,ATTESTOR_BASE_URL).toString()}var wS=Jn(ES(),1);var Eg=kt(`Ethereum Signed Message:
|
|
4466
4466
|
`),yS={getPublicKey(t){let e=Pr.computePublicKey(t,!0);return ae(e)},getAddress(t){let e=typeof t=="string"?t:J(t);return gs(e).toLowerCase()},async sign(t,e){let n=GQ(e).signingKey.sign(xS(t));return ae(n.serialized)},async verify(t,e,r){let n=typeof r=="string"?r:J(r),s=typeof e=="string"?e:J(e);return Ml(xS(t),s).toLowerCase()===n.toLowerCase()}};function GQ(t){if(!t)throw new Error("Private key missing");return new Oi(t)}function xS(t){let e=typeof t=="string"?kt(t):t,r=kt(String(e.length)),n=new Uint8Array(Eg.length+r.length+e.length);return n.set(Eg,0),n.set(r,Eg.length),n.set(e,Eg.length+r.length),ot(n)}var A0={[vs.SERVICE_SIGNATURE_TYPE_ETH]:yS},HQ=vs.SERVICE_SIGNATURE_TYPE_ETH,bS=A0[HQ];function _Q(t){return[pp(t),t.owner.toLowerCase(),t.timestampS.toString(),t.epoch.toString()].join(`
|
|
@@ -4511,7 +4511,7 @@ zP3pGJ9FCbMHmMLLyuBd+uCWvVcF2ogYAawufChS/PT61D9rqzPRS5I2uqa3tmIT
|
|
|
4511
4511
|
`)))throw r.error({response:Or(t)}),new Error(`Failed to find header/body separator at index ${s.headerEndIdx}`)}f.push({fromIndex:s.headerEndIdx,toIndex:s.headerEndIdx+4}),s.headerIndices.date&&f.push(s.headerIndices.date),s.headerIndices["content-type"]&&f.push(s.headerIndices["content-type"]),l&&s.headerIndices["transfer-encoding"]&&f.push(s.headerIndices["transfer-encoding"]);let d=Go(s.body),p=[];for(let m of o.responseRedactions||[]){let y=QV(d,m,u,s.chunks,l);for(let{reveal:x,redactions:b}of y)f.push(x),p.push(...b)}if(l&&s.chunks?.length){let m=s.headerEndIdx+4;for(let y of s.chunks)f.push({fromIndex:m,toIndex:y.fromIndex}),m=y.toIndex;f.push({fromIndex:m,toIndex:t.length})}if(f.sort((m,y)=>m.fromIndex-y.fromIndex),f.length>1){let m=0;for(let y of f)m<y.fromIndex&&p.push({fromIndex:m,toIndex:y.fromIndex}),m=Math.max(m,y.toIndex);m<t.length&&p.push({fromIndex:m,toIndex:t.length})}for(let m of f)m.hash&&p.push(m);return p.sort((m,y)=>m.toIndex-y.toIndex),p},assertValidProviderReceipt({clientVersion:t,receipt:e,params:r,logger:n,ctx:s}){ce();let i={},o="secretParams"in r?r.secretParams:void 0,a=b6(r,o,!o),u=a.newParams;i={...i,...a.extractedValues};let l=new URL(u.url),{protocol:f,pathname:d}=l;if(f!=="https:")throw n.error("params URL: %s",u.url),new Error(`Expected protocol: https, found: ${f}`);let p=cg(e);(t>=Zt.ATTESTOR_VERSION_3_1_0||Cn("ALLOW_OLDER_INSECURE_PROOFS")!=="1")&&kV(p,u);let m=ug(p);if(m.method!==u.method.toLowerCase())throw new Error(`Invalid method: ${m.method}`);let y=u.url.includes("?")?u.url.split("?")[1]:"",x=d.replaceAll("%7B","{").replaceAll("%7D","}")+(y?.length?"?"+y:"");if(!E6(Xt(x),Xt(m.url)))throw n.error("params URL: %s",u.url),new Error(`Expected path: ${x}, found: ${m.url}`);let b=oE(l);if(m.headers.host!==b)throw new Error(`Expected host: ${b}, found: ${m.headers.host}`);let w=m.headers.connection;if(w!=="close")throw new Error(`Connection header must be "close", got "${w}"`);let v=e.filter(ue=>ue.sender==="server").map(ue=>ue.message),O=v.findIndex(ue=>!ue.every(Z=>Z===dr)),P=O===-1?[]:v.slice(O),B=te(...P),L;if(x6(s)){let ue=B.slice(iE.length),Z=rf(ue,Xt(`\r
|
|
4512
4512
|
\r
|
|
4513
4513
|
`));if(Z===-1)throw new Error("Response body start not found");L=iE.length+Z+4}else L=iE.length;let Y=ks(B.slice(0,L));if(!w0("^HTTP\\/1.1 2\\d{2}").exec(Y)){let Z=w0("^HTTP\\/1.1 (\\d{3})").exec(Y);if(Z&&Z.length>1)throw new Error(`Provider returned error ${Z[1]}`);let ge=Y.indexOf("*");throw ge===-1&&(ge=Y.indexOf(`
|
|
4514
|
-
`)),ge===-1&&(ge=iE.length),new Error(`Response did not start with "HTTP/1.1 2XX" got "${Y.slice(0,ge)}"`)}let ne=u.body instanceof Uint8Array?u.body:Xt(u.body||"");if(ne.length>0&&!E6(ne,m.body))throw new Error("request body mismatch");let _=B.slice(L);y6(t)&&/transfer-encoding:\s*chunked/i.test(Y)&&(_=UV(_));let Ee=x6(s)?OV(Y):void 0,pe=PV(_,Ee),ye=Y+pe,j=w0(SV).exec(ye);if(j&&j.length>1){let ue=new Date(j[1]);Date.now()-ue.getTime()>MV&&n.info({dateHeader:j[0],current:Date.now()},"date header is off")}!y6(t)&&!o&&(ye=ye.slice(L).replace(/\*{3,}/g,""));for(let{type:ue,value:Z,invert:ge}of u.responseMatches||[]){let Ne=!!ge;switch(ue){case"regex":let re=w0(Z).exec(ye),Ke=re!==null;if(Ke===Ne)throw new Error(`Invalid receipt. Regex "${Z}" ${ge?"matched":"didn't match"}`);if(!Ke)continue;let ct=re?.groups;for(let He in ct||[]){if(He in i)throw new Error(`Duplicate parameter ${He}`);let Qt=ct?.[He];typeof Qt=="string"&&(i[He]=Qt)}break;case"contains":if(ye.includes(Z)===Ne)throw new Error(`Invalid receipt. Response ${ge?"contains":"does not contain"} "${Z}"`);break;default:throw new Error(`Invalid response match type ${ue}`)}}function te(...ue){let Z=ue.reduce((re,Ke)=>re+Ke.length,0),ge=new Uint8Array(Z),Ne=0;for(let re of ue)ge.set(re,Ne),Ne+=re.length;return ge}return{extractedParameters:i};function ce(){let ue=e.filter(re=>re.sender==="client").map(re=>re.message),Z=e.filter(re=>re.sender==="server").map(re=>re.message),ge=Or(be(ue)),Ne=Or(be(Z));n.debug({requestBytes:ge.length,responseBytes:Ne.length},"http transcript captured")}}};function kV(t,e){let r=Go(t),s=w0(`^${e.method} (?<path>[^\\s]+) HTTP\\/1\\.1\\r\\nHost: ${oE(new URL(e.url))}\\r\\nConnection: close\\r\\n`).exec(r);if(!s?.groups?.path)throw new Error("Method/Host mismatch, or first 2 headers were not Host and Connection");let i=0;for(let o of s.groups.path)o===np&&i++;if(i>RV)throw new Error(`Too many redactions in URL path: ${i}`)}function x6({version:t}){return t>=Zt.ATTESTOR_VERSION_2_0_1}function y6(t){return t>=Zt.ATTESTOR_VERSION_3_2_0}function OV(t){let e=/(?:^|[\r\n*])content-type\s*:\s*([^*\r\n]*)/i.exec(t)?.[1];if(typeof e>"u")return;let r=/(?:^|;)\s*charset\s*=\s*(?:"((?:[^"\\]|\\.)*)"|([^;\s]*))/i.exec(e);return r&&(r[1]?.replace(/\\(.)/g,"$1")??r[2]).trim()||void 0}function PV(t,e){try{return new TextDecoder(e??"utf-8").decode(t)}catch(r){throw e?new Error(`Unsupported response charset "${e}"`,{cause:r}):r}}function UV(t){let e=af();return e.onChunk(be([Xt(`HTTP/1.1 200 OK\r
|
|
4514
|
+
`)),ge===-1&&(ge=iE.length),new Error(`Response did not start with "HTTP/1.1 2XX" got "${Y.slice(0,ge)}"`)}let ne=u.body instanceof Uint8Array?u.body:Xt(u.body||"");if(ne.length>0&&!E6(ne,m.body))throw new Error("request body mismatch");let _=B.slice(L);y6(t)&&/transfer-encoding:\s*chunked/i.test(Y)&&(_=UV(_));let Ee=x6(s)?s.authenticatedResponseCharset??OV(Y):void 0,pe=PV(_,Ee),ye=Y+pe,j=w0(SV).exec(ye);if(j&&j.length>1){let ue=new Date(j[1]);Date.now()-ue.getTime()>MV&&n.info({dateHeader:j[0],current:Date.now()},"date header is off")}!y6(t)&&!o&&(ye=ye.slice(L).replace(/\*{3,}/g,""));for(let{type:ue,value:Z,invert:ge}of u.responseMatches||[]){let Ne=!!ge;switch(ue){case"regex":let re=w0(Z).exec(ye),Ke=re!==null;if(Ke===Ne)throw new Error(`Invalid receipt. Regex "${Z}" ${ge?"matched":"didn't match"}`);if(!Ke)continue;let ct=re?.groups;for(let He in ct||[]){if(He in i)throw new Error(`Duplicate parameter ${He}`);let Qt=ct?.[He];typeof Qt=="string"&&(i[He]=Qt)}break;case"contains":if(ye.includes(Z)===Ne)throw new Error(`Invalid receipt. Response ${ge?"contains":"does not contain"} "${Z}"`);break;default:throw new Error(`Invalid response match type ${ue}`)}}function te(...ue){let Z=ue.reduce((re,Ke)=>re+Ke.length,0),ge=new Uint8Array(Z),Ne=0;for(let re of ue)ge.set(re,Ne),Ne+=re.length;return ge}return{extractedParameters:i};function ce(){let ue=e.filter(re=>re.sender==="client").map(re=>re.message),Z=e.filter(re=>re.sender==="server").map(re=>re.message),ge=Or(be(ue)),Ne=Or(be(Z));n.debug({requestBytes:ge.length,responseBytes:Ne.length},"http transcript captured")}}};function kV(t,e){let r=Go(t),s=w0(`^${e.method} (?<path>[^\\s]+) HTTP\\/1\\.1\\r\\nHost: ${oE(new URL(e.url))}\\r\\nConnection: close\\r\\n`).exec(r);if(!s?.groups?.path)throw new Error("Method/Host mismatch, or first 2 headers were not Host and Connection");let i=0;for(let o of s.groups.path)o===np&&i++;if(i>RV)throw new Error(`Too many redactions in URL path: ${i}`)}function x6({version:t}){return t>=Zt.ATTESTOR_VERSION_2_0_1}function y6(t){return t>=Zt.ATTESTOR_VERSION_3_2_0}function OV(t){let e=/(?:^|[\r\n*])content-type\s*:\s*([^*\r\n]*)/i.exec(t)?.[1];if(typeof e>"u")return;let r=/(?:^|;)\s*charset\s*=\s*(?:"((?:[^"\\]|\\.)*)"|([^;\s]*))/i.exec(e);return r&&(r[1]?.replace(/\\(.)/g,"$1")??r[2]).trim()||void 0}function PV(t,e){try{return new TextDecoder(e??"utf-8").decode(t)}catch(r){throw e?new Error(`Unsupported response charset "${e}"`,{cause:r}):r}}function UV(t){let e=af();return e.onChunk(be([Xt(`HTTP/1.1 200 OK\r
|
|
4515
4515
|
Transfer-Encoding: chunked\r
|
|
4516
4516
|
\r
|
|
4517
4517
|
`),t])),e.res.body??new Uint8Array}function FV(t,e){let{host:r}=new URL(GV(t,e));if(!r)throw new Error("url is incorrect");return r}function oE(t){let e=t.hostname,r=t.port;return r&&+r!==df?`${e}:${r}`:e}var aE=/{{([^{}]+)}}/sgi;function*QV(t,e,r,n,s){let i=t,o=0,a=-1;if(e.xPath){let p=Pp(t,e.xPath,!!e.jsonPath);for(let{start:m,end:y}of p)i=t.slice(m,y),o=m,a=y-m,e.jsonPath?yield*u():e.regex?yield*l():yield*f()}else if(e.jsonPath)yield*u();else if(e.regex)yield*l();else throw new Error("Expected either xPath, jsonPath or regex for redaction");function*u(){let p=sE(i,e.jsonPath),m=o;for(let y of p){let x=y.start,b=y.end;i=t.slice(m+x,m+b),o=m+x,a=b-x,e.regex?yield*l():yield*f()}}function*l(){Ot.debug({element:Or(Xt(i)),body:Or(Xt(t))});let p=w0(e.regex),m=i||t,y=p.exec(m);if(!y?.[0])throw new Error(`regexp ${e.regex} does not match found element '${Or(Xt(m))}'`);if(o+=y.index,a=p.lastIndex-y.index,i=y[0],e.hash&&(!y.groups||Object.keys(y.groups).length>1))throw new Error("Exactly one named capture group is needed per hashed redaction");if(!e.hash||!y.groups){yield*f();return}let x=y[0],b=Object.values(y.groups)[0],w=x.indexOf(b);a=w,i=x.slice(0,w),yield*f(null),o+=w,i=b,a=b.length;let v=d(o,a,e.hash),O=m6(v.fromIndex,v.toIndex,n);if(O.length)throw new Error("Hash redactions cannot be performed if the redacted string is split between 2 or more HTTP chunks");yield{reveal:v,redactions:O},o+=b.length,i=x.slice(w+b.length),a=i.length,yield*f(null)}function*f(p=e.hash){if(o<0||!a)return;let m=d(o,a,p||void 0),y=s?[]:m6(m.fromIndex,m.toIndex,n);yield{reveal:m,redactions:y}}function d(p,m,y){let x=A6(p,r,n),b=A6(p+m,r,n);return{fromIndex:x,toIndex:b,hash:y}}}function b6(t,e,r){let n=JSON.parse(JSON.stringify(t)),s={},i=[],o=d(n.url,r);if(o&&(n.url=o.newParam,s={...o.extractedValues},o.hiddenParts.length)){let m=`https://${oE(new URL(n.url))}`.length-t.method.length-1;for(let y of o.hiddenParts)i.push({index:y.index-m,length:y.length})}let a,u=[];if(n.body){let p=typeof n.body=="string"?n.body:ks(n.body);a=d(p,r),a&&(n.body=a.newParam,s={...s,...a.extractedValues},u=a.hiddenParts)}let l=d(n.geoLocation);l&&(n.geoLocation=l.newParam,s={...s,...l.extractedValues});let f=d(n.proxySessionId);if(f&&(n.proxySessionId=f.newParam,s={...s,...f.extractedValues}),n.responseRedactions)for(let p of n.responseRedactions){if(p.regex){let m=d(p.regex);p.regex=m?.newParam}if(p.xPath){let m=d(p.xPath);p.xPath=m?.newParam}if(p.jsonPath){let m=d(p.jsonPath);p.jsonPath=m?.newParam}}if(n.responseMatches){for(let p of n.responseMatches)if(p.value!==""){let m=d(p.value);p.value=m?.newParam,s={...s,...m?.extractedValues}}}return{newParams:n,extractedValues:s,hiddenBodyParts:u,hiddenURLParts:i};function d(p,m){if(!p)return null;let y={},x=[],b=0;return p=p.replace(aE,(w,v,O)=>{if(n.paramValues&&v in n.paramValues)return y[v]=n.paramValues[v],b+=n.paramValues[v].length-w.length,n.paramValues[v];if(e){if(e?.paramValues&&v in e?.paramValues)return x.push({index:O+b,length:e.paramValues[v].length}),b+=e.paramValues[v].length-w.length,e.paramValues[v];throw new Error(`parameter's "${v}" value not found in paramValues and secret parameter's paramValues`)}else{if(m)return w;throw new Error(`parameter's "${v}" value not found in paramValues`)}}),{newParam:p,extractedValues:y,hiddenParts:x}}}function LV(t,e){if(t?.geoLocation){let r=new Set,n=t.geoLocation,s=null;for(;s=aE.exec(n);)r.add(s[1]);for(let o of r)if(t.paramValues&&o in t.paramValues)n=n?.replaceAll(`{{${o}}}`,t.paramValues[o].toString());else if(e?.paramValues&&o in e.paramValues)n=n?.replaceAll(`{{${o}}}`,e.paramValues[o].toString());else throw new Error(`parameter "${o}" value not found in templateParams`);if(!/^[A-Za-z]{2}$/sgiu.test(n))throw new Error(`Geolocation ${n} is invalid`);return n}}function VV(t,e){if(t?.proxySessionId){let r=new Set,n=t.proxySessionId,s=null;for(;s=aE.exec(n);)r.add(s[1]);for(let i of r)if(t.paramValues&&i in t.paramValues)n=n?.replaceAll(`{{${i}}}`,t.paramValues[i].toString());else if(e?.paramValues&&i in e.paramValues)n=n?.replaceAll(`{{${i}}}`,e.paramValues[i].toString());else throw new Error(`parameter "${i}" value not found in templateParams`);if(!QM(n))throw new Error(`proxySessionId ${n} is invalid`);return n}}function GV(t,e){let r=t?.url,n=new Set,s=null;for(;s=aE.exec(r);)n.add(s[1]);for(let i of n)if(t.paramValues&&i in t.paramValues)r=r?.replaceAll(`{{${i}}}`,t.paramValues[i].toString());else if(e?.paramValues&&i in e.paramValues)r=r?.replaceAll(`{{${i}}}`,e.paramValues[i].toString());else throw new Error(`parameter "${i}" value not found in templateParams`);return r}var LM=vV;var VM={http:LM};async function GM(t,{maxRetries:e=3,shouldRetry:r,logger:n}){let s=0;for(;s<e;)try{return await t(s)}catch(i){if(s+=1,s>=e||!r(i))throw i;n.info({err:i,retries:s},"retrying failed operation")}throw new Error("retries exhausted")}function If({logger:t,maxRetries:e=3,...r}){let n=t||("logger"in r.client?r.client.logger:Ot);return GM(s=>_V({...r,logger:s?n.child({attempt:s}):n}),{maxRetries:e,logger:n,shouldRetry:HV})}function HV(t){return t instanceof TypeError?!1:t?.message?.includes("stream ended before")?!0:t instanceof ht&&t.code!=="ERROR_INVALID_CLAIM"&&t.code!=="ERROR_BAD_REQUEST"&&t.code!=="ERROR_AUTHENTICATION_FAILED"&&t.code!=="ERROR_TOPRF_OUT_OF_BOUNDS"}async function _V({name:t,params:e,secretParams:r,context:n,onStep:s,ownerPrivateKey:i,client:o,logger:a=Ot,timestampS:u,updateProviderParams:l,updateParametersFromOprfData:f=!0,...d}){let p=VM[t],m=sf(e,p.hostPort,r),y=sf(e,p.geoLocation,r),x=sf(e,p.proxySessionId,r),b=sf(e,p.additionalClientOptions),w={...IS(),fetchCertificateBytes:nr,...b},{zkEngine:v="snarkjs"}=d,O=sf(e,p.writeRedactionMode),[P,B]=m.split(":"),L=af(),Y,V=!1,$=new Map;s?.({name:"connecting"});let ne,_={host:P,port:B?+B:df,geoLocation:y,proxySessionId:x,id:ng()};a=a.child({tunnelId:_.id});let Ee="authRequest"in o?typeof o.authRequest=="function"?await o.authRequest():o.authRequest:void 0,pe=await NS({tlsOpts:w,connect:Re=>{let Ve=!1;return"metadata"in o?Y=o:Y=m0(o.url,()=>(Ve=!0,{authRequest:Ee,initMessages:Re,logger:a})),Ve||Y.waitForInit().then(()=>Y.sendMessage(...Re)).catch(de=>{a.error({err:de},"error in sending init msgs")}),Y},logger:a,request:_,onMessage(Re){a.debug({bytes:Re.length},"recv data from server"),L.onChunk(Re),L.res.complete&&(a?.debug("got complete HTTP response from server"),setTimeout(()=>{ne?.()},100))},onClose(Re){a?.[Re?"error":"debug"]({err:Re},"tls session ended"),ne?.(Re);try{L.streamEnded()}catch{}}}),{version:ye,cipherSuite:j}=pe.tls.getMetadata();ye==="TLS1_2"&&O!=="zk"&&(O="zk",a.info("TLS1.2 detected, defaulting to zk redaction mode"));let{redactions:te,data:ce}=p.createRequest(r,e,a),ue=typeof ce=="string"?Dr(ce):ce;a.debug({redactions:te.length},"generated request");let Z=new Promise((Re,Ve)=>{ne=de=>de?Ve(de):Re()});s?.({name:"sending-request-data"});try{O==="zk"?await It():await Os(),a.info("wrote request to server")}catch(Re){a.error({err:Re},"session errored during write, waiting for stream end")}if(s?.({name:"waiting-for-response"}),await Z,await pe.close(),a.info("session closed, processing response"),l){let{params:Re,secretParams:Ve}=await l(pe.transcript,ye??"TLS1_2");e={...e,...Re},r={...r,...Ve}}let ge=A0[Y.metadata.signatureType],Ne,re,[Ke]=Te("server",1);Ke?.message.type==="ciphertext"&&(Ne=Ke.message.fixedIv);let[ct]=Te("client",1);ct?.message.type==="ciphertext"&&(re=ct.message.fixedIv);let Ze=await Ar(),He=In.create({request:_,data:{provider:t,parameters:Uo(e),context:Uo(n),timestampS:u??l0(),owner:le()},transcript:Ze,zkEngine:Nw(v),fixedServerIV:Ne,fixedClientIV:re});s?.({name:"waiting-for-verification"});let Qt=In.encode(He).finish(),pr=await ge.sign(Qt,i);He.signatures={requestSignature:pr};let rr=await Y.rpc("claimTunnel",He);return a.info({success:!!rr.claim},"recv claim response"),rr;async function nr(Re){if(!Y)throw new Error("attestor client not initialized");return(await Y.rpc("fetchCertificateBytes",{url:Re})).bytes}async function Os(){let Re=0;for(let Xe of te){let pt=ue.slice(Re,Xe.fromIndex);pt.length&&await he(pt,!0);let se=ue.slice(Xe.fromIndex,Xe.toIndex);await he(se,!1),Re=Xe.toIndex}let Ve=te?.[te.length-1]?.toIndex||0,de=ue.slice(Ve);de.length&&await he(de,!0)}async function It(){let Re=pe.transcript.length;await pe.tls.write(ue),Re=pe.transcript.length-Re,Wn({type:"zk",redactedPlaintext:MR(ue,te)},Re)}async function he(Re,Ve){Ve!==V&&await pe.tls.updateTrafficKeys();let de=pe.transcript.length;await pe.write(Re),de=pe.transcript.length-de,Wn(Ve?{type:"complete"}:void 0,de),V=Ve}function Wn(Re,Ve=1){let de=Te("client",Ve);if(de.length)for(let Xe of de)K(Xe.message,Re)}function Te(Re,Ve){let de=[];for(let Xe=pe.transcript.length-1;Xe>=0;Xe--){let pt=pe.transcript[Xe];if(pt.sender===Re&&(de.push(pt),de.length===Ve))break}return de}async function Ar(){await Ir();let Re=Date.now();return await TS(pe.transcript,$,{logger:a,cipherSuite:j,onZkProgress(de,Xe){let Lt=(Date.now()-Re)/de*(Xe-de);s?.({name:"generating-zk-proofs",proofsDone:de,proofsTotal:Xe,approxTimeLeftS:Math.round(Lt/1e3)})},...d})}async function Ir(){let Re=pe.transcript,Ve="all",de=[],Xe=[];for(let se of Re){if(se.message.type!=="ciphertext"||!Xh(se.message,ye))continue;let Lt=ye==="TLS1_3"?se.message.plaintext.slice(0,-1):se.message.plaintext;de.push({message:Lt,sender:se.sender}),se.sender==="server"&&Xe.push({plaintext:Lt,message:se.message})}p.getResponseRedactions&&(Ve=await SR(Xe,se=>p.getResponseRedactions({response:se,params:e,logger:a,ctx:Cw}),Mt));let pt=de.filter(se=>se.sender==="client");if(Ve==="all"){for(let{message:se,sender:Lt}of Re)Lt==="server"&&K(se,{type:"complete"});pt.push(...de.filter(se=>se.sender==="server"))}else{let se=new Map(Ve.map(Lt=>[Lt.block,Lt]));for(let Lt of Xe){let vr=se.get(Lt);if(!vr){pt.push({sender:"server",message:new Uint8Array(Lt.plaintext.length).fill(dr)});continue}let{block:zn,redactedPlaintext:cr,overshotToprfFromPrevBlock:Q,overshotOprfRawFromPrevBlock:k,toprfs:U,oprfRawMarkers:Ae}=vr;if(K(zn.message,{type:"zk",redactedPlaintext:cr,toprfs:U,oprfRawMarkers:Ae,overshotToprfFromPrevBlock:Q,overshotOprfRawFromPrevBlock:k}),pt.push({sender:"server",message:cr}),f&&U){let Oe=Uo(e);for(let it of U){let Dt=ks(it.plaintext),$e=sp(it.nullifier,it.dataLocation.length);Oe=Oe.replaceAll(Dt,$e)}e=JSON.parse(Oe)}}}await p.assertValidProviderReceipt({clientVersion:Y.metadata.clientVersion,receipt:pt,params:{...e,secretParams:r},logger:a,ctx:Cw});for(let se of Re)if(se.message.type==="ciphertext"){if(Xh(se.message,ye))break;K(se.message,{type:"complete"})}}async function Mt(Re){a.info({length:Re.length},"generating OPRF...");let Ve=d.oprfOperators?.chacha20||gg("chacha20",v,a),de=await Ve.generateOPRFRequestData(Re,dp,a),Xe=await Y.rpc("toprf",{maskedData:de.maskedData,engine:Nw(v)});return{nullifier:await Ve.finaliseOPRF(Y.initResponse.toprfPublicKey,de,[Xe]),responses:[Xe],mask:de.mask,dataLocation:void 0,plaintext:Re}}function K(Re,Ve){if(Ve){$.set(Re,Ve);return}$.delete(Re)}function le(){let{getAddress:Re,getPublicKey:Ve}=ge,de=Ve(i);return Re(de)}}var YV=J(new Uint8Array(32));async function HM({onStep:t,createClaimOnAttestor:e=If,chainId:r=Zm,payer:n,...s}){let{logger:i=Ot,ownerPrivateKey:o,name:a,params:u,context:l}=s,{contract:f,wallet:d,provider:p}=P2(qm[r],o);i.info({owner:d.address,contract:await f.getAddress()},"creating claim");let m=await w();i.info({index:m.taskIndex,operators:m.task.operators.length},"task created, collecting claim signatures..."),t?.({type:"taskCreated",data:m});let y=[],x=+m.task.createdAt.toString();for(let O of m.task.operators){let P=await e({...s,client:{url:O.url},timestampS:x,onStep:Y=>t?.({type:"attestorStep",data:{operatorAddress:O.addr,step:Y}}),logger:i.child({operator:O.addr})});if(!P.signatures?.claimSignature)throw new Error("INTERNAL: Claim signature not generated");let L=jV(P.request?.data,P.claim);if(L)throw new ht("ERROR_INVALID_CLAIM",`Claim request does not match the claim res data: ${L}`,{diff:L,request:P.request?.data?.[L],claim:P.claim?.[L]});y.push(P),i.info({operator:O.addr},"signature generated"),t?.({type:"attestorDone",data:{task:m,responsesDone:y}})}let b=await v();return i.info({tx:b.txHash,task:m.taskIndex},"claim submitted & validated"),{...b,claimData:y[0].claim};async function w(){let O={provider:a,claimUserId:YV,claimHash:pp({provider:a,parameters:Uo(u),context:l?Uo(l):""}),owner:d.address,requestedAt:l0()};if(!n){let Y=new Oi(o,p),{task:V}=await zN({request:O,payer:Y,owner:Y,chainId:r});return V}let P=await U2(O,d,r),B=m0(n.attestor);await B.waitForInit();let L=await B.rpc("createClaimOnChain",{chainId:+r,jsonCreateClaimRequest:JSON.stringify(O),requestSignature:P});return JSON.parse(L.jsonTask)}async function v(){let O={task:m.task,signatures:y.map(Y=>J(Y.signatures?.claimSignature))};if(!n){let V=await(await f.taskCompleted(O,m.taskIndex)).wait();return{object:(V?.logs??[]).filter(Ee=>Ee instanceof xs)[0]?.args,txHash:V.hash}}let P=m0(n.attestor);await P.waitForInit();let B=await P.rpc("completeClaimOnChain",{chainId:+r,taskIndex:Number(m.taskIndex),completedTaskJson:JSON.stringify(O)});return{object:JSON.parse(B.taskCompletedObjectJson),txHash:B.txHash}}}function jV(t,e){if(t.provider!==e.provider)return"provider";if(t.context!==e.context)return"context";if(t.parameters!==e.parameters)return"parameters";if(t.timestampS!==e.timestampS)return"timestampS"}var WV=["TLS_CHACHA20_POLY1305_SHA256","TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384","TLS_AES_128_GCM_SHA256"];async function _M(){let t="";for(let e of WV){let r=Date.now(),n=e.includes("CHACHA20")?"CHACHA20-POLY1305":e.includes("AES_256_GCM")?"AES-256-GCM":"AES-128-GCM",s=n==="AES-128-GCM"?16:32,i=Buffer.alloc(s,0),{ivLength:o}=yt[e],a=Buffer.alloc(o,0),u=await Se.importKey(n,i),l=[{plaintext:`My cool API secret is "my name jeff". Please don't reveal it`}],f=await mg({logger:Ot,cipherSuite:e});for(let{plaintext:d}of l){let p=Xt(d),{ciphertext:m,iv:y}=await fh(p,{key:u,iv:a,recordNumber:0,recordHeaderOpts:{type:"WRAPPED_RECORD"},cipherSuite:e,version:e.includes("ECDHE_")?"TLS1_2":"TLS1_3"}),x={type:"ciphertext",encKey:u,iv:y,recordNumber:0,plaintext:p,ciphertext:m,fixedIv:new Uint8Array(0),data:m};await f.addPacketToProve(x,{type:"zk",redactedPlaintext:p},()=>{},()=>{throw new Error("should not be called in benchmark")}),await f.generateProofs()}t=t+`Benchmark ${n} ok. Took ${Date.now()-r} ms
|