@imtbl/wallet 2.12.6-alpha.6 → 2.12.6-alpha.7

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.
@@ -1,19 +1,19 @@
1
1
  import { TypedEventEmitter, AuthEvents, isUserZkEvm, Auth, decodeJwtPayload } from '@imtbl/auth';
2
2
  export { AuthEvents, TypedEventEmitter, isUserZkEvm } from '@imtbl/auth';
3
- import * as S6 from '@imtbl/generated-clients';
3
+ import * as F5 from '@imtbl/generated-clients';
4
4
  import { createConfig, MultiRollupApiClients, mr as mr$1, MagicTeeApiClients } from '@imtbl/generated-clients';
5
5
  import { utils, trackError, trackFlow, identify, trackDuration } from '@imtbl/metrics';
6
6
  import { parseAbiParameters, zeroAddress, encodeAbiParameters, keccak256, getContract, encodePacked, toBytes, encodeFunctionData, hashTypedData, hashMessage, createPublicClient, http, toHex, getAddress, concat, parseAbi } from 'viem';
7
- import * as K9 from 'viem/chains';
7
+ import * as FV from 'viem/chains';
8
8
  import { privateKeyToAccount } from 'viem/accounts';
9
9
 
10
- var qP=Object.create;var db=Object.defineProperty;var FP=Object.getOwnPropertyDescriptor;var KP=Object.getOwnPropertyNames;var GP=Object.getPrototypeOf,WP=Object.prototype.hasOwnProperty;var $0=(s,e)=>()=>(s&&(e=s(s=0)),e);var JP=(s,e)=>()=>(e||s((e={exports:{}}).exports,e),e.exports),Te=(s,e)=>{for(var t in e)db(s,t,{get:e[t],enumerable:!0});},zP=(s,e,t,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of KP(e))!WP.call(s,n)&&n!==t&&db(s,n,{get:()=>e[n],enumerable:!(r=FP(e,n))||r.enumerable});return s};var mb=(s,e,t)=>(t=s!=null?qP(GP(s)):{},zP(!s||!s.__esModule?db(t,"default",{value:s,enumerable:!0}):t,s));function wb(s){throw new Error("Node.js process "+s+" is not supported by JSPM core outside of Node.js")}function YP(){!Bc||!ga||(Bc=!1,ga.length?jr=ga.concat(jr):q0=-1,jr.length&&$I());}function $I(){if(!Bc){var s=setTimeout(YP,0);Bc=!0;for(var e=jr.length;e;){for(ga=jr,jr=[];++q0<e;)ga&&ga[q0].run();q0=-1,e=jr.length;}ga=null,Bc=!1,clearTimeout(s);}}function ZP(s){var e=new Array(arguments.length-1);if(arguments.length>1)for(var t=1;t<arguments.length;t++)e[t-1]=arguments[t];jr.push(new qI(s,e)),jr.length===1&&!Bc&&setTimeout($I,0);}function qI(s,e){this.fun=s,this.array=e;}function rs(){}function m4(s){wb("_linkedBinding");}function w4(s){wb("dlopen");}function b4(){return []}function S4(){return []}function P4(s,e){if(!s)throw new Error(e||"assertion error")}function R4(){return !1}function Y4(){return Mn.now()/1e3}function yb(s){var e=Math.floor((Date.now()-Mn.now())*.001),t=Mn.now()*.001,r=Math.floor(t)+e,n=Math.floor(t%1*1e9);return s&&(r=r-s[0],n=n-s[1],n<0&&(r--,n+=gb)),[r,n]}function $n(){return x}function cT(s){return []}var jr,Bc,ga,q0,XP,QP,e4,t4,s4,r4,n4,i4,a4,o4,c4,u4,l4,h4,f4,d4,p4,g4,y4,v4,E4,bb,x4,A4,I4,C4,N4,k4,T4,B4,O4,V4,D4,U4,L4,j4,H4,_4,M4,$4,q4,F4,K4,G4,W4,J4,z4,Mn,pb,gb,Z4,X4,Q4,eT,tT,sT,rT,nT,iT,aT,oT,x,FI=$0(()=>{d();f();jr=[],Bc=!1,q0=-1;qI.prototype.run=function(){this.fun.apply(null,this.array);};XP="browser",QP="x64",e4="browser",t4={PATH:"/usr/bin",LANG:navigator.language+".UTF-8",PWD:"/",HOME:"/home",TMP:"/tmp"},s4=["/usr/bin/node"],r4=[],n4="v16.8.0",i4={},a4=function(s,e){console.warn((e?e+": ":"")+s);},o4=function(s){wb("binding");},c4=function(s){return 0},u4=function(){return "/"},l4=function(s){},h4={name:"node",sourceUrl:"",headersUrl:"",libUrl:""};f4=rs,d4=[];p4={},g4=!1,y4={};v4=rs,E4=rs,bb=function(){return {}},x4=bb,A4=bb,I4=rs,C4=rs,N4=rs,k4={};T4={inspector:!1,debug:!1,uv:!1,ipv6:!1,tls_alpn:!1,tls_sni:!1,tls_ocsp:!1,tls:!1,cached_builtins:!0},B4=rs,O4=rs;V4=rs,D4=rs,U4=rs,L4=rs,j4=rs,H4=void 0,_4=void 0,M4=void 0,$4=rs,q4=2,F4=1,K4="/bin/usr/node",G4=9229,W4="node",J4=[],z4=rs,Mn={now:typeof performance<"u"?performance.now.bind(performance):void 0,timing:typeof performance<"u"?performance.timing:void 0};Mn.now===void 0&&(pb=Date.now(),Mn.timing&&Mn.timing.navigationStart&&(pb=Mn.timing.navigationStart),Mn.now=()=>Date.now()-pb);gb=1e9;yb.bigint=function(s){var e=yb(s);return typeof BigInt>"u"?e[0]*gb+e[1]:BigInt(e[0]*gb)+BigInt(e[1])};Z4=10,X4={},Q4=0;eT=$n,tT=$n,sT=$n,rT=$n,nT=$n,iT=rs,aT=$n,oT=$n;x={version:n4,versions:i4,arch:QP,platform:e4,release:h4,_rawDebug:f4,moduleLoadList:d4,binding:o4,_linkedBinding:m4,_events:X4,_eventsCount:Q4,_maxListeners:Z4,on:$n,addListener:eT,once:tT,off:sT,removeListener:rT,removeAllListeners:nT,emit:iT,prependListener:aT,prependOnceListener:oT,listeners:cT,domain:p4,_exiting:g4,config:y4,dlopen:w4,uptime:Y4,_getActiveRequests:b4,_getActiveHandles:S4,reallyExit:v4,_kill:E4,cpuUsage:bb,resourceUsage:x4,memoryUsage:A4,kill:I4,exit:C4,openStdin:N4,allowedNodeEnvironmentFlags:k4,assert:P4,features:T4,_fatalExceptions:B4,setUncaughtExceptionCaptureCallback:O4,hasUncaughtExceptionCaptureCallback:R4,emitWarning:a4,nextTick:ZP,_tickCallback:V4,_debugProcess:D4,_debugEnd:U4,_startProfilerIdleNotifier:L4,_stopProfilerIdleNotifier:j4,stdout:H4,stdin:M4,stderr:_4,abort:$4,umask:c4,chdir:l4,cwd:u4,env:t4,title:XP,argv:s4,execArgv:r4,pid:q4,ppid:F4,execPath:K4,debugPort:G4,hrtime:yb,argv0:W4,_preload_modules:J4,setSourceMapsEnabled:z4};});var f=$0(()=>{FI();});function uT(){if(KI)return yh;KI=!0,yh.byteLength=o,yh.toByteArray=u,yh.fromByteArray=w;for(var s=[],e=[],t=typeof Uint8Array<"u"?Uint8Array:Array,r="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",n=0,i=r.length;n<i;++n)s[n]=r[n],e[r.charCodeAt(n)]=n;e[45]=62,e[95]=63;function a(E){var v=E.length;if(v%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var A=E.indexOf("=");A===-1&&(A=v);var C=A===v?0:4-A%4;return [A,C]}function o(E){var v=a(E),A=v[0],C=v[1];return (A+C)*3/4-C}function c(E,v,A){return (v+A)*3/4-A}function u(E){var v,A=a(E),C=A[0],D=A[1],U=new t(c(E,C,D)),T=0,P=D>0?C-4:C,B;for(B=0;B<P;B+=4)v=e[E.charCodeAt(B)]<<18|e[E.charCodeAt(B+1)]<<12|e[E.charCodeAt(B+2)]<<6|e[E.charCodeAt(B+3)],U[T++]=v>>16&255,U[T++]=v>>8&255,U[T++]=v&255;return D===2&&(v=e[E.charCodeAt(B)]<<2|e[E.charCodeAt(B+1)]>>4,U[T++]=v&255),D===1&&(v=e[E.charCodeAt(B)]<<10|e[E.charCodeAt(B+1)]<<4|e[E.charCodeAt(B+2)]>>2,U[T++]=v>>8&255,U[T++]=v&255),U}function l(E){return s[E>>18&63]+s[E>>12&63]+s[E>>6&63]+s[E&63]}function m(E,v,A){for(var C,D=[],U=v;U<A;U+=3)C=(E[U]<<16&16711680)+(E[U+1]<<8&65280)+(E[U+2]&255),D.push(l(C));return D.join("")}function w(E){for(var v,A=E.length,C=A%3,D=[],U=16383,T=0,P=A-C;T<P;T+=U)D.push(m(E,T,T+U>P?P:T+U));return C===1?(v=E[A-1],D.push(s[v>>2]+s[v<<4&63]+"==")):C===2&&(v=(E[A-2]<<8)+E[A-1],D.push(s[v>>10]+s[v>>4&63]+s[v<<2&63]+"=")),D.join("")}return yh}function lT(){if(GI)return F0;GI=!0;return F0.read=function(s,e,t,r,n){var i,a,o=n*8-r-1,c=(1<<o)-1,u=c>>1,l=-7,m=t?n-1:0,w=t?-1:1,E=s[e+m];for(m+=w,i=E&(1<<-l)-1,E>>=-l,l+=o;l>0;i=i*256+s[e+m],m+=w,l-=8);for(a=i&(1<<-l)-1,i>>=-l,l+=r;l>0;a=a*256+s[e+m],m+=w,l-=8);if(i===0)i=1-u;else {if(i===c)return a?NaN:(E?-1:1)*(1/0);a=a+Math.pow(2,r),i=i-u;}return (E?-1:1)*a*Math.pow(2,i-r)},F0.write=function(s,e,t,r,n,i){var a,o,c,u=i*8-n-1,l=(1<<u)-1,m=l>>1,w=n===23?Math.pow(2,-24)-Math.pow(2,-77):0,E=r?0:i-1,v=r?1:-1,A=e<0||e===0&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(o=isNaN(e)?1:0,a=l):(a=Math.floor(Math.log(e)/Math.LN2),e*(c=Math.pow(2,-a))<1&&(a--,c*=2),a+m>=1?e+=w/c:e+=w*Math.pow(2,1-m),e*c>=2&&(a++,c/=2),a+m>=l?(o=0,a=l):a+m>=1?(o=(e*c-1)*Math.pow(2,n),a=a+m):(o=e*Math.pow(2,m-1)*Math.pow(2,n),a=0));n>=8;s[t+E]=o&255,E+=v,o/=256,n-=8);for(a=a<<n|o,u+=n;u>0;s[t+E]=a&255,E+=v,a/=256,u-=8);s[t+E-v]|=A*128;},F0}function hT(){if(WI)return ya;WI=!0;let s=uT(),e=lT(),t=typeof Symbol=="function"&&typeof Symbol.for=="function"?Symbol.for("nodejs.util.inspect.custom"):null;ya.Buffer=a,ya.SlowBuffer=D,ya.INSPECT_MAX_BYTES=50;let r=2147483647;ya.kMaxLength=r,a.TYPED_ARRAY_SUPPORT=n(),!a.TYPED_ARRAY_SUPPORT&&typeof console<"u"&&typeof console.error=="function"&&console.error("This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support.");function n(){try{let S=new Uint8Array(1),h={foo:function(){return 42}};return Object.setPrototypeOf(h,Uint8Array.prototype),Object.setPrototypeOf(S,h),S.foo()===42}catch{return !1}}Object.defineProperty(a.prototype,"parent",{enumerable:!0,get:function(){if(a.isBuffer(this))return this.buffer}}),Object.defineProperty(a.prototype,"offset",{enumerable:!0,get:function(){if(a.isBuffer(this))return this.byteOffset}});function i(S){if(S>r)throw new RangeError('The value "'+S+'" is invalid for option "size"');let h=new Uint8Array(S);return Object.setPrototypeOf(h,a.prototype),h}function a(S,h,g){if(typeof S=="number"){if(typeof h=="string")throw new TypeError('The "string" argument must be of type string. Received type number');return l(S)}return o(S,h,g)}a.poolSize=8192;function o(S,h,g){if(typeof S=="string")return m(S,h);if(ArrayBuffer.isView(S))return E(S);if(S==null)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof S);if(Sr(S,ArrayBuffer)||S&&Sr(S.buffer,ArrayBuffer)||typeof SharedArrayBuffer<"u"&&(Sr(S,SharedArrayBuffer)||S&&Sr(S.buffer,SharedArrayBuffer)))return v(S,h,g);if(typeof S=="number")throw new TypeError('The "value" argument must not be of type number. Received type number');let N=S.valueOf&&S.valueOf();if(N!=null&&N!==S)return a.from(N,h,g);let O=A(S);if(O)return O;if(typeof Symbol<"u"&&Symbol.toPrimitive!=null&&typeof S[Symbol.toPrimitive]=="function")return a.from(S[Symbol.toPrimitive]("string"),h,g);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof S)}a.from=function(S,h,g){return o(S,h,g)},Object.setPrototypeOf(a.prototype,Uint8Array.prototype),Object.setPrototypeOf(a,Uint8Array);function c(S){if(typeof S!="number")throw new TypeError('"size" argument must be of type number');if(S<0)throw new RangeError('The value "'+S+'" is invalid for option "size"')}function u(S,h,g){return c(S),S<=0?i(S):h!==void 0?typeof g=="string"?i(S).fill(h,g):i(S).fill(h):i(S)}a.alloc=function(S,h,g){return u(S,h,g)};function l(S){return c(S),i(S<0?0:C(S)|0)}a.allocUnsafe=function(S){return l(S)},a.allocUnsafeSlow=function(S){return l(S)};function m(S,h){if((typeof h!="string"||h==="")&&(h="utf8"),!a.isEncoding(h))throw new TypeError("Unknown encoding: "+h);let g=U(S,h)|0,N=i(g),O=N.write(S,h);return O!==g&&(N=N.slice(0,O)),N}function w(S){let h=S.length<0?0:C(S.length)|0,g=i(h);for(let N=0;N<h;N+=1)g[N]=S[N]&255;return g}function E(S){if(Sr(S,Uint8Array)){let h=new Uint8Array(S);return v(h.buffer,h.byteOffset,h.byteLength)}return w(S)}function v(S,h,g){if(h<0||S.byteLength<h)throw new RangeError('"offset" is outside of buffer bounds');if(S.byteLength<h+(g||0))throw new RangeError('"length" is outside of buffer bounds');let N;return h===void 0&&g===void 0?N=new Uint8Array(S):g===void 0?N=new Uint8Array(S,h):N=new Uint8Array(S,h,g),Object.setPrototypeOf(N,a.prototype),N}function A(S){if(a.isBuffer(S)){let h=C(S.length)|0,g=i(h);return g.length===0||S.copy(g,0,0,h),g}if(S.length!==void 0)return typeof S.length!="number"||fb(S.length)?i(0):w(S);if(S.type==="Buffer"&&Array.isArray(S.data))return w(S.data)}function C(S){if(S>=r)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+r.toString(16)+" bytes");return S|0}function D(S){return +S!=S&&(S=0),a.alloc(+S)}a.isBuffer=function(h){return h!=null&&h._isBuffer===!0&&h!==a.prototype},a.compare=function(h,g){if(Sr(h,Uint8Array)&&(h=a.from(h,h.offset,h.byteLength)),Sr(g,Uint8Array)&&(g=a.from(g,g.offset,g.byteLength)),!a.isBuffer(h)||!a.isBuffer(g))throw new TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array');if(h===g)return 0;let N=h.length,O=g.length;for(let H=0,F=Math.min(N,O);H<F;++H)if(h[H]!==g[H]){N=h[H],O=g[H];break}return N<O?-1:O<N?1:0},a.isEncoding=function(h){switch(String(h).toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"latin1":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return !0;default:return !1}},a.concat=function(h,g){if(!Array.isArray(h))throw new TypeError('"list" argument must be an Array of Buffers');if(h.length===0)return a.alloc(0);let N;if(g===void 0)for(g=0,N=0;N<h.length;++N)g+=h[N].length;let O=a.allocUnsafe(g),H=0;for(N=0;N<h.length;++N){let F=h[N];if(Sr(F,Uint8Array))H+F.length>O.length?(a.isBuffer(F)||(F=a.from(F)),F.copy(O,H)):Uint8Array.prototype.set.call(O,F,H);else if(a.isBuffer(F))F.copy(O,H);else throw new TypeError('"list" argument must be an Array of Buffers');H+=F.length;}return O};function U(S,h){if(a.isBuffer(S))return S.length;if(ArrayBuffer.isView(S)||Sr(S,ArrayBuffer))return S.byteLength;if(typeof S!="string")throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof S);let g=S.length,N=arguments.length>2&&arguments[2]===!0;if(!N&&g===0)return 0;let O=!1;for(;;)switch(h){case"ascii":case"latin1":case"binary":return g;case"utf8":case"utf-8":return Tc(S).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return g*2;case"hex":return g>>>1;case"base64":return MI(S).length;default:if(O)return N?-1:Tc(S).length;h=(""+h).toLowerCase(),O=!0;}}a.byteLength=U;function T(S,h,g){let N=!1;if((h===void 0||h<0)&&(h=0),h>this.length||((g===void 0||g>this.length)&&(g=this.length),g<=0)||(g>>>=0,h>>>=0,g<=h))return "";for(S||(S="utf8");;)switch(S){case"hex":return Ee(this,h,g);case"utf8":case"utf-8":return me(this,h,g);case"ascii":return Z(this,h,g);case"latin1":case"binary":return ce(this,h,g);case"base64":return oe(this,h,g);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return le(this,h,g);default:if(N)throw new TypeError("Unknown encoding: "+S);S=(S+"").toLowerCase(),N=!0;}}a.prototype._isBuffer=!0;function P(S,h,g){let N=S[h];S[h]=S[g],S[g]=N;}a.prototype.swap16=function(){let h=this.length;if(h%2!==0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(let g=0;g<h;g+=2)P(this,g,g+1);return this},a.prototype.swap32=function(){let h=this.length;if(h%4!==0)throw new RangeError("Buffer size must be a multiple of 32-bits");for(let g=0;g<h;g+=4)P(this,g,g+3),P(this,g+1,g+2);return this},a.prototype.swap64=function(){let h=this.length;if(h%8!==0)throw new RangeError("Buffer size must be a multiple of 64-bits");for(let g=0;g<h;g+=8)P(this,g,g+7),P(this,g+1,g+6),P(this,g+2,g+5),P(this,g+3,g+4);return this},a.prototype.toString=function(){let h=this.length;return h===0?"":arguments.length===0?me(this,0,h):T.apply(this,arguments)},a.prototype.toLocaleString=a.prototype.toString,a.prototype.equals=function(h){if(!a.isBuffer(h))throw new TypeError("Argument must be a Buffer");return this===h?!0:a.compare(this,h)===0},a.prototype.inspect=function(){let h="",g=ya.INSPECT_MAX_BYTES;return h=this.toString("hex",0,g).replace(/(.{2})/g,"$1 ").trim(),this.length>g&&(h+=" ... "),"<Buffer "+h+">"},t&&(a.prototype[t]=a.prototype.inspect),a.prototype.compare=function(h,g,N,O,H){if(Sr(h,Uint8Array)&&(h=a.from(h,h.offset,h.byteLength)),!a.isBuffer(h))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof h);if(g===void 0&&(g=0),N===void 0&&(N=h?h.length:0),O===void 0&&(O=0),H===void 0&&(H=this.length),g<0||N>h.length||O<0||H>this.length)throw new RangeError("out of range index");if(O>=H&&g>=N)return 0;if(O>=H)return -1;if(g>=N)return 1;if(g>>>=0,N>>>=0,O>>>=0,H>>>=0,this===h)return 0;let F=H-O,$e=N-g,St=Math.min(F,$e),pt=this.slice(O,H),vt=h.slice(g,N);for(let ot=0;ot<St;++ot)if(pt[ot]!==vt[ot]){F=pt[ot],$e=vt[ot];break}return F<$e?-1:$e<F?1:0};function B(S,h,g,N,O){if(S.length===0)return -1;if(typeof g=="string"?(N=g,g=0):g>2147483647?g=2147483647:g<-2147483648&&(g=-2147483648),g=+g,fb(g)&&(g=O?0:S.length-1),g<0&&(g=S.length+g),g>=S.length){if(O)return -1;g=S.length-1;}else if(g<0)if(O)g=0;else return -1;if(typeof h=="string"&&(h=a.from(h,N)),a.isBuffer(h))return h.length===0?-1:G(S,h,g,N,O);if(typeof h=="number")return h=h&255,typeof Uint8Array.prototype.indexOf=="function"?O?Uint8Array.prototype.indexOf.call(S,h,g):Uint8Array.prototype.lastIndexOf.call(S,h,g):G(S,[h],g,N,O);throw new TypeError("val must be string, number or Buffer")}function G(S,h,g,N,O){let H=1,F=S.length,$e=h.length;if(N!==void 0&&(N=String(N).toLowerCase(),N==="ucs2"||N==="ucs-2"||N==="utf16le"||N==="utf-16le")){if(S.length<2||h.length<2)return -1;H=2,F/=2,$e/=2,g/=2;}function St(vt,ot){return H===1?vt[ot]:vt.readUInt16BE(ot*H)}let pt;if(O){let vt=-1;for(pt=g;pt<F;pt++)if(St(S,pt)===St(h,vt===-1?0:pt-vt)){if(vt===-1&&(vt=pt),pt-vt+1===$e)return vt*H}else vt!==-1&&(pt-=pt-vt),vt=-1;}else for(g+$e>F&&(g=F-$e),pt=g;pt>=0;pt--){let vt=!0;for(let ot=0;ot<$e;ot++)if(St(S,pt+ot)!==St(h,ot)){vt=!1;break}if(vt)return pt}return -1}a.prototype.includes=function(h,g,N){return this.indexOf(h,g,N)!==-1},a.prototype.indexOf=function(h,g,N){return B(this,h,g,N,!0)},a.prototype.lastIndexOf=function(h,g,N){return B(this,h,g,N,!1)};function se(S,h,g,N){g=Number(g)||0;let O=S.length-g;N?(N=Number(N),N>O&&(N=O)):N=O;let H=h.length;N>H/2&&(N=H/2);let F;for(F=0;F<N;++F){let $e=parseInt(h.substr(F*2,2),16);if(fb($e))return F;S[g+F]=$e;}return F}function X(S,h,g,N){return M0(Tc(h,S.length-g),S,g,N)}function ae(S,h,g,N){return M0(HP(h),S,g,N)}function fe(S,h,g,N){return M0(MI(h),S,g,N)}function te(S,h,g,N){return M0(_P(h,S.length-g),S,g,N)}a.prototype.write=function(h,g,N,O){if(g===void 0)O="utf8",N=this.length,g=0;else if(N===void 0&&typeof g=="string")O=g,N=this.length,g=0;else if(isFinite(g))g=g>>>0,isFinite(N)?(N=N>>>0,O===void 0&&(O="utf8")):(O=N,N=void 0);else throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");let H=this.length-g;if((N===void 0||N>H)&&(N=H),h.length>0&&(N<0||g<0)||g>this.length)throw new RangeError("Attempt to write outside buffer bounds");O||(O="utf8");let F=!1;for(;;)switch(O){case"hex":return se(this,h,g,N);case"utf8":case"utf-8":return X(this,h,g,N);case"ascii":case"latin1":case"binary":return ae(this,h,g,N);case"base64":return fe(this,h,g,N);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return te(this,h,g,N);default:if(F)throw new TypeError("Unknown encoding: "+O);O=(""+O).toLowerCase(),F=!0;}},a.prototype.toJSON=function(){return {type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function oe(S,h,g){return h===0&&g===S.length?s.fromByteArray(S):s.fromByteArray(S.slice(h,g))}function me(S,h,g){g=Math.min(S.length,g);let N=[],O=h;for(;O<g;){let H=S[O],F=null,$e=H>239?4:H>223?3:H>191?2:1;if(O+$e<=g){let St,pt,vt,ot;switch($e){case 1:H<128&&(F=H);break;case 2:St=S[O+1],(St&192)===128&&(ot=(H&31)<<6|St&63,ot>127&&(F=ot));break;case 3:St=S[O+1],pt=S[O+2],(St&192)===128&&(pt&192)===128&&(ot=(H&15)<<12|(St&63)<<6|pt&63,ot>2047&&(ot<55296||ot>57343)&&(F=ot));break;case 4:St=S[O+1],pt=S[O+2],vt=S[O+3],(St&192)===128&&(pt&192)===128&&(vt&192)===128&&(ot=(H&15)<<18|(St&63)<<12|(pt&63)<<6|vt&63,ot>65535&&ot<1114112&&(F=ot));}}F===null?(F=65533,$e=1):F>65535&&(F-=65536,N.push(F>>>10&1023|55296),F=56320|F&1023),N.push(F),O+=$e;}return J(N)}let _e=4096;function J(S){let h=S.length;if(h<=_e)return String.fromCharCode.apply(String,S);let g="",N=0;for(;N<h;)g+=String.fromCharCode.apply(String,S.slice(N,N+=_e));return g}function Z(S,h,g){let N="";g=Math.min(S.length,g);for(let O=h;O<g;++O)N+=String.fromCharCode(S[O]&127);return N}function ce(S,h,g){let N="";g=Math.min(S.length,g);for(let O=h;O<g;++O)N+=String.fromCharCode(S[O]);return N}function Ee(S,h,g){let N=S.length;(!h||h<0)&&(h=0),(!g||g<0||g>N)&&(g=N);let O="";for(let H=h;H<g;++H)O+=MP[S[H]];return O}function le(S,h,g){let N=S.slice(h,g),O="";for(let H=0;H<N.length-1;H+=2)O+=String.fromCharCode(N[H]+N[H+1]*256);return O}a.prototype.slice=function(h,g){let N=this.length;h=~~h,g=g===void 0?N:~~g,h<0?(h+=N,h<0&&(h=0)):h>N&&(h=N),g<0?(g+=N,g<0&&(g=0)):g>N&&(g=N),g<h&&(g=h);let O=this.subarray(h,g);return Object.setPrototypeOf(O,a.prototype),O};function $(S,h,g){if(S%1!==0||S<0)throw new RangeError("offset is not uint");if(S+h>g)throw new RangeError("Trying to access beyond buffer length")}a.prototype.readUintLE=a.prototype.readUIntLE=function(h,g,N){h=h>>>0,g=g>>>0,N||$(h,g,this.length);let O=this[h],H=1,F=0;for(;++F<g&&(H*=256);)O+=this[h+F]*H;return O},a.prototype.readUintBE=a.prototype.readUIntBE=function(h,g,N){h=h>>>0,g=g>>>0,N||$(h,g,this.length);let O=this[h+--g],H=1;for(;g>0&&(H*=256);)O+=this[h+--g]*H;return O},a.prototype.readUint8=a.prototype.readUInt8=function(h,g){return h=h>>>0,g||$(h,1,this.length),this[h]},a.prototype.readUint16LE=a.prototype.readUInt16LE=function(h,g){return h=h>>>0,g||$(h,2,this.length),this[h]|this[h+1]<<8},a.prototype.readUint16BE=a.prototype.readUInt16BE=function(h,g){return h=h>>>0,g||$(h,2,this.length),this[h]<<8|this[h+1]},a.prototype.readUint32LE=a.prototype.readUInt32LE=function(h,g){return h=h>>>0,g||$(h,4,this.length),(this[h]|this[h+1]<<8|this[h+2]<<16)+this[h+3]*16777216},a.prototype.readUint32BE=a.prototype.readUInt32BE=function(h,g){return h=h>>>0,g||$(h,4,this.length),this[h]*16777216+(this[h+1]<<16|this[h+2]<<8|this[h+3])},a.prototype.readBigUInt64LE=_n(function(h){h=h>>>0,Ct(h,"offset");let g=this[h],N=this[h+7];(g===void 0||N===void 0)&&He(h,this.length-8);let O=g+this[++h]*2**8+this[++h]*2**16+this[++h]*2**24,H=this[++h]+this[++h]*2**8+this[++h]*2**16+N*2**24;return BigInt(O)+(BigInt(H)<<BigInt(32))}),a.prototype.readBigUInt64BE=_n(function(h){h=h>>>0,Ct(h,"offset");let g=this[h],N=this[h+7];(g===void 0||N===void 0)&&He(h,this.length-8);let O=g*2**24+this[++h]*2**16+this[++h]*2**8+this[++h],H=this[++h]*2**24+this[++h]*2**16+this[++h]*2**8+N;return (BigInt(O)<<BigInt(32))+BigInt(H)}),a.prototype.readIntLE=function(h,g,N){h=h>>>0,g=g>>>0,N||$(h,g,this.length);let O=this[h],H=1,F=0;for(;++F<g&&(H*=256);)O+=this[h+F]*H;return H*=128,O>=H&&(O-=Math.pow(2,8*g)),O},a.prototype.readIntBE=function(h,g,N){h=h>>>0,g=g>>>0,N||$(h,g,this.length);let O=g,H=1,F=this[h+--O];for(;O>0&&(H*=256);)F+=this[h+--O]*H;return H*=128,F>=H&&(F-=Math.pow(2,8*g)),F},a.prototype.readInt8=function(h,g){return h=h>>>0,g||$(h,1,this.length),this[h]&128?(255-this[h]+1)*-1:this[h]},a.prototype.readInt16LE=function(h,g){h=h>>>0,g||$(h,2,this.length);let N=this[h]|this[h+1]<<8;return N&32768?N|4294901760:N},a.prototype.readInt16BE=function(h,g){h=h>>>0,g||$(h,2,this.length);let N=this[h+1]|this[h]<<8;return N&32768?N|4294901760:N},a.prototype.readInt32LE=function(h,g){return h=h>>>0,g||$(h,4,this.length),this[h]|this[h+1]<<8|this[h+2]<<16|this[h+3]<<24},a.prototype.readInt32BE=function(h,g){return h=h>>>0,g||$(h,4,this.length),this[h]<<24|this[h+1]<<16|this[h+2]<<8|this[h+3]},a.prototype.readBigInt64LE=_n(function(h){h=h>>>0,Ct(h,"offset");let g=this[h],N=this[h+7];(g===void 0||N===void 0)&&He(h,this.length-8);let O=this[h+4]+this[h+5]*2**8+this[h+6]*2**16+(N<<24);return (BigInt(O)<<BigInt(32))+BigInt(g+this[++h]*2**8+this[++h]*2**16+this[++h]*2**24)}),a.prototype.readBigInt64BE=_n(function(h){h=h>>>0,Ct(h,"offset");let g=this[h],N=this[h+7];(g===void 0||N===void 0)&&He(h,this.length-8);let O=(g<<24)+this[++h]*2**16+this[++h]*2**8+this[++h];return (BigInt(O)<<BigInt(32))+BigInt(this[++h]*2**24+this[++h]*2**16+this[++h]*2**8+N)}),a.prototype.readFloatLE=function(h,g){return h=h>>>0,g||$(h,4,this.length),e.read(this,h,!0,23,4)},a.prototype.readFloatBE=function(h,g){return h=h>>>0,g||$(h,4,this.length),e.read(this,h,!1,23,4)},a.prototype.readDoubleLE=function(h,g){return h=h>>>0,g||$(h,8,this.length),e.read(this,h,!0,52,8)},a.prototype.readDoubleBE=function(h,g){return h=h>>>0,g||$(h,8,this.length),e.read(this,h,!1,52,8)};function ee(S,h,g,N,O,H){if(!a.isBuffer(S))throw new TypeError('"buffer" argument must be a Buffer instance');if(h>O||h<H)throw new RangeError('"value" argument is out of bounds');if(g+N>S.length)throw new RangeError("Index out of range")}a.prototype.writeUintLE=a.prototype.writeUIntLE=function(h,g,N,O){if(h=+h,g=g>>>0,N=N>>>0,!O){let $e=Math.pow(2,8*N)-1;ee(this,h,g,N,$e,0);}let H=1,F=0;for(this[g]=h&255;++F<N&&(H*=256);)this[g+F]=h/H&255;return g+N},a.prototype.writeUintBE=a.prototype.writeUIntBE=function(h,g,N,O){if(h=+h,g=g>>>0,N=N>>>0,!O){let $e=Math.pow(2,8*N)-1;ee(this,h,g,N,$e,0);}let H=N-1,F=1;for(this[g+H]=h&255;--H>=0&&(F*=256);)this[g+H]=h/F&255;return g+N},a.prototype.writeUint8=a.prototype.writeUInt8=function(h,g,N){return h=+h,g=g>>>0,N||ee(this,h,g,1,255,0),this[g]=h&255,g+1},a.prototype.writeUint16LE=a.prototype.writeUInt16LE=function(h,g,N){return h=+h,g=g>>>0,N||ee(this,h,g,2,65535,0),this[g]=h&255,this[g+1]=h>>>8,g+2},a.prototype.writeUint16BE=a.prototype.writeUInt16BE=function(h,g,N){return h=+h,g=g>>>0,N||ee(this,h,g,2,65535,0),this[g]=h>>>8,this[g+1]=h&255,g+2},a.prototype.writeUint32LE=a.prototype.writeUInt32LE=function(h,g,N){return h=+h,g=g>>>0,N||ee(this,h,g,4,4294967295,0),this[g+3]=h>>>24,this[g+2]=h>>>16,this[g+1]=h>>>8,this[g]=h&255,g+4},a.prototype.writeUint32BE=a.prototype.writeUInt32BE=function(h,g,N){return h=+h,g=g>>>0,N||ee(this,h,g,4,4294967295,0),this[g]=h>>>24,this[g+1]=h>>>16,this[g+2]=h>>>8,this[g+3]=h&255,g+4};function ne(S,h,g,N,O){ds(h,N,O,S,g,7);let H=Number(h&BigInt(4294967295));S[g++]=H,H=H>>8,S[g++]=H,H=H>>8,S[g++]=H,H=H>>8,S[g++]=H;let F=Number(h>>BigInt(32)&BigInt(4294967295));return S[g++]=F,F=F>>8,S[g++]=F,F=F>>8,S[g++]=F,F=F>>8,S[g++]=F,g}function xe(S,h,g,N,O){ds(h,N,O,S,g,7);let H=Number(h&BigInt(4294967295));S[g+7]=H,H=H>>8,S[g+6]=H,H=H>>8,S[g+5]=H,H=H>>8,S[g+4]=H;let F=Number(h>>BigInt(32)&BigInt(4294967295));return S[g+3]=F,F=F>>8,S[g+2]=F,F=F>>8,S[g+1]=F,F=F>>8,S[g]=F,g+8}a.prototype.writeBigUInt64LE=_n(function(h,g=0){return ne(this,h,g,BigInt(0),BigInt("0xffffffffffffffff"))}),a.prototype.writeBigUInt64BE=_n(function(h,g=0){return xe(this,h,g,BigInt(0),BigInt("0xffffffffffffffff"))}),a.prototype.writeIntLE=function(h,g,N,O){if(h=+h,g=g>>>0,!O){let St=Math.pow(2,8*N-1);ee(this,h,g,N,St-1,-St);}let H=0,F=1,$e=0;for(this[g]=h&255;++H<N&&(F*=256);)h<0&&$e===0&&this[g+H-1]!==0&&($e=1),this[g+H]=(h/F>>0)-$e&255;return g+N},a.prototype.writeIntBE=function(h,g,N,O){if(h=+h,g=g>>>0,!O){let St=Math.pow(2,8*N-1);ee(this,h,g,N,St-1,-St);}let H=N-1,F=1,$e=0;for(this[g+H]=h&255;--H>=0&&(F*=256);)h<0&&$e===0&&this[g+H+1]!==0&&($e=1),this[g+H]=(h/F>>0)-$e&255;return g+N},a.prototype.writeInt8=function(h,g,N){return h=+h,g=g>>>0,N||ee(this,h,g,1,127,-128),h<0&&(h=255+h+1),this[g]=h&255,g+1},a.prototype.writeInt16LE=function(h,g,N){return h=+h,g=g>>>0,N||ee(this,h,g,2,32767,-32768),this[g]=h&255,this[g+1]=h>>>8,g+2},a.prototype.writeInt16BE=function(h,g,N){return h=+h,g=g>>>0,N||ee(this,h,g,2,32767,-32768),this[g]=h>>>8,this[g+1]=h&255,g+2},a.prototype.writeInt32LE=function(h,g,N){return h=+h,g=g>>>0,N||ee(this,h,g,4,2147483647,-2147483648),this[g]=h&255,this[g+1]=h>>>8,this[g+2]=h>>>16,this[g+3]=h>>>24,g+4},a.prototype.writeInt32BE=function(h,g,N){return h=+h,g=g>>>0,N||ee(this,h,g,4,2147483647,-2147483648),h<0&&(h=4294967295+h+1),this[g]=h>>>24,this[g+1]=h>>>16,this[g+2]=h>>>8,this[g+3]=h&255,g+4},a.prototype.writeBigInt64LE=_n(function(h,g=0){return ne(this,h,g,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))}),a.prototype.writeBigInt64BE=_n(function(h,g=0){return xe(this,h,g,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))});function ke(S,h,g,N,O,H){if(g+N>S.length)throw new RangeError("Index out of range");if(g<0)throw new RangeError("Index out of range")}function Fe(S,h,g,N,O){return h=+h,g=g>>>0,O||ke(S,h,g,4),e.write(S,h,g,N,23,4),g+4}a.prototype.writeFloatLE=function(h,g,N){return Fe(this,h,g,!0,N)},a.prototype.writeFloatBE=function(h,g,N){return Fe(this,h,g,!1,N)};function Rt(S,h,g,N,O){return h=+h,g=g>>>0,O||ke(S,h,g,8),e.write(S,h,g,N,52,8),g+8}a.prototype.writeDoubleLE=function(h,g,N){return Rt(this,h,g,!0,N)},a.prototype.writeDoubleBE=function(h,g,N){return Rt(this,h,g,!1,N)},a.prototype.copy=function(h,g,N,O){if(!a.isBuffer(h))throw new TypeError("argument should be a Buffer");if(N||(N=0),!O&&O!==0&&(O=this.length),g>=h.length&&(g=h.length),g||(g=0),O>0&&O<N&&(O=N),O===N||h.length===0||this.length===0)return 0;if(g<0)throw new RangeError("targetStart out of bounds");if(N<0||N>=this.length)throw new RangeError("Index out of range");if(O<0)throw new RangeError("sourceEnd out of bounds");O>this.length&&(O=this.length),h.length-g<O-N&&(O=h.length-g+N);let H=O-N;return this===h&&typeof Uint8Array.prototype.copyWithin=="function"?this.copyWithin(g,N,O):Uint8Array.prototype.set.call(h,this.subarray(N,O),g),H},a.prototype.fill=function(h,g,N,O){if(typeof h=="string"){if(typeof g=="string"?(O=g,g=0,N=this.length):typeof N=="string"&&(O=N,N=this.length),O!==void 0&&typeof O!="string")throw new TypeError("encoding must be a string");if(typeof O=="string"&&!a.isEncoding(O))throw new TypeError("Unknown encoding: "+O);if(h.length===1){let F=h.charCodeAt(0);(O==="utf8"&&F<128||O==="latin1")&&(h=F);}}else typeof h=="number"?h=h&255:typeof h=="boolean"&&(h=Number(h));if(g<0||this.length<g||this.length<N)throw new RangeError("Out of range index");if(N<=g)return this;g=g>>>0,N=N===void 0?this.length:N>>>0,h||(h=0);let H;if(typeof h=="number")for(H=g;H<N;++H)this[H]=h;else {let F=a.isBuffer(h)?h:a.from(h,O),$e=F.length;if($e===0)throw new TypeError('The value "'+h+'" is invalid for argument "value"');for(H=0;H<N-g;++H)this[H+g]=F[H%$e];}return this};let Me={};function De(S,h,g){Me[S]=class extends g{constructor(){super(),Object.defineProperty(this,"message",{value:h.apply(this,arguments),writable:!0,configurable:!0}),this.name=`${this.name} [${S}]`,this.stack,delete this.name;}get code(){return S}set code(O){Object.defineProperty(this,"code",{configurable:!0,enumerable:!0,value:O,writable:!0});}toString(){return `${this.name} [${S}]: ${this.message}`}};}De("ERR_BUFFER_OUT_OF_BOUNDS",function(S){return S?`${S} is outside of buffer bounds`:"Attempt to access memory outside buffer bounds"},RangeError),De("ERR_INVALID_ARG_TYPE",function(S,h){return `The "${S}" argument must be of type number. Received type ${typeof h}`},TypeError),De("ERR_OUT_OF_RANGE",function(S,h,g){let N=`The value of "${S}" is out of range.`,O=g;return Number.isInteger(g)&&Math.abs(g)>2**32?O=he(String(g)):typeof g=="bigint"&&(O=String(g),(g>BigInt(2)**BigInt(32)||g<-(BigInt(2)**BigInt(32)))&&(O=he(O)),O+="n"),N+=` It must be ${h}. Received ${O}`,N},RangeError);function he(S){let h="",g=S.length,N=S[0]==="-"?1:0;for(;g>=N+4;g-=3)h=`_${S.slice(g-3,g)}${h}`;return `${S.slice(0,g)}${h}`}function ss(S,h,g){Ct(h,"offset"),(S[h]===void 0||S[h+g]===void 0)&&He(h,S.length-(g+1));}function ds(S,h,g,N,O,H){if(S>g||S<h){let F=typeof h=="bigint"?"n":"",$e;throw h===0||h===BigInt(0)?$e=`>= 0${F} and < 2${F} ** ${(H+1)*8}${F}`:$e=`>= -(2${F} ** ${(H+1)*8-1}${F}) and < 2 ** ${(H+1)*8-1}${F}`,new Me.ERR_OUT_OF_RANGE("value",$e,S)}ss(N,O,H);}function Ct(S,h){if(typeof S!="number")throw new Me.ERR_INVALID_ARG_TYPE(h,"number",S)}function He(S,h,g){throw Math.floor(S)!==S?(Ct(S,g),new Me.ERR_OUT_OF_RANGE("offset","an integer",S)):h<0?new Me.ERR_BUFFER_OUT_OF_BOUNDS:new Me.ERR_OUT_OF_RANGE("offset",`>= ${0} and <= ${h}`,S)}let pa=/[^+/0-9A-Za-z-_]/g;function Hn(S){if(S=S.split("=")[0],S=S.trim().replace(pa,""),S.length<2)return "";for(;S.length%4!==0;)S=S+"=";return S}function Tc(S,h){h=h||1/0;let g,N=S.length,O=null,H=[];for(let F=0;F<N;++F){if(g=S.charCodeAt(F),g>55295&&g<57344){if(!O){if(g>56319){(h-=3)>-1&&H.push(239,191,189);continue}else if(F+1===N){(h-=3)>-1&&H.push(239,191,189);continue}O=g;continue}if(g<56320){(h-=3)>-1&&H.push(239,191,189),O=g;continue}g=(O-55296<<10|g-56320)+65536;}else O&&(h-=3)>-1&&H.push(239,191,189);if(O=null,g<128){if((h-=1)<0)break;H.push(g);}else if(g<2048){if((h-=2)<0)break;H.push(g>>6|192,g&63|128);}else if(g<65536){if((h-=3)<0)break;H.push(g>>12|224,g>>6&63|128,g&63|128);}else if(g<1114112){if((h-=4)<0)break;H.push(g>>18|240,g>>12&63|128,g>>6&63|128,g&63|128);}else throw new Error("Invalid code point")}return H}function HP(S){let h=[];for(let g=0;g<S.length;++g)h.push(S.charCodeAt(g)&255);return h}function _P(S,h){let g,N,O,H=[];for(let F=0;F<S.length&&!((h-=2)<0);++F)g=S.charCodeAt(F),N=g>>8,O=g%256,H.push(O),H.push(N);return H}function MI(S){return s.toByteArray(Hn(S))}function M0(S,h,g,N){let O;for(O=0;O<N&&!(O+g>=h.length||O>=S.length);++O)h[O+g]=S[O];return O}function Sr(S,h){return S instanceof h||S!=null&&S.constructor!=null&&S.constructor.name!=null&&S.constructor.name===h.name}function fb(S){return S!==S}let MP=function(){let S="0123456789abcdef",h=new Array(256);for(let g=0;g<16;++g){let N=g*16;for(let O=0;O<16;++O)h[N+O]=S[g]+S[O];}return h}();function _n(S){return typeof BigInt>"u"?$P:S}function $P(){throw new Error("BigInt not supported")}return ya}var yh,KI,F0,GI,ya,WI,wa,I,JI=$0(()=>{d();f();yh={},KI=!1;F0={},GI=!1;ya={},WI=!1;wa=hT();wa.Buffer;wa.SlowBuffer;wa.INSPECT_MAX_BYTES;wa.kMaxLength;I=wa.Buffer,wa.INSPECT_MAX_BYTES,wa.kMaxLength;});var d=$0(()=>{JI();});var Q1=JP(gu=>{d();f();var yD="[object ArrayBuffer]",cn=class s{static isArrayBuffer(e){return Object.prototype.toString.call(e)===yD}static toArrayBuffer(e){return this.isArrayBuffer(e)?e:e.byteLength===e.buffer.byteLength||e.byteOffset===0&&e.byteLength===e.buffer.byteLength?e.buffer:this.toUint8Array(e.buffer).slice(e.byteOffset,e.byteOffset+e.byteLength).buffer}static toUint8Array(e){return this.toView(e,Uint8Array)}static toView(e,t){if(e.constructor===t)return e;if(this.isArrayBuffer(e))return new t(e);if(this.isArrayBufferView(e))return new t(e.buffer,e.byteOffset,e.byteLength);throw new TypeError("The provided value is not of type '(ArrayBuffer or ArrayBufferView)'")}static isBufferSource(e){return this.isArrayBufferView(e)||this.isArrayBuffer(e)}static isArrayBufferView(e){return ArrayBuffer.isView(e)||e&&this.isArrayBuffer(e.buffer)}static isEqual(e,t){let r=s.toUint8Array(e),n=s.toUint8Array(t);if(r.length!==n.byteLength)return !1;for(let i=0;i<r.length;i++)if(r[i]!==n[i])return !1;return !0}static concat(...e){let t;Array.isArray(e[0])&&!(e[1]instanceof Function)||Array.isArray(e[0])&&e[1]instanceof Function?t=e[0]:e[e.length-1]instanceof Function?t=e.slice(0,e.length-1):t=e;let r=0;for(let a of t)r+=a.byteLength;let n=new Uint8Array(r),i=0;for(let a of t){let o=this.toUint8Array(a);n.set(o,i),i+=o.length;}return e[e.length-1]instanceof Function?this.toView(n,e[e.length-1]):n.buffer}},j2="string",wD=/^[0-9a-f\s]+$/i,bD=/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/,SD=/^[a-zA-Z0-9-_]+$/,Z1=class{static fromString(e){let t=unescape(encodeURIComponent(e)),r=new Uint8Array(t.length);for(let n=0;n<t.length;n++)r[n]=t.charCodeAt(n);return r.buffer}static toString(e){let t=cn.toUint8Array(e),r="";for(let i=0;i<t.length;i++)r+=String.fromCharCode(t[i]);return decodeURIComponent(escape(r))}},Ks=class{static toString(e,t=!1){let r=cn.toArrayBuffer(e),n=new DataView(r),i="";for(let a=0;a<r.byteLength;a+=2){let o=n.getUint16(a,t);i+=String.fromCharCode(o);}return i}static fromString(e,t=!1){let r=new ArrayBuffer(e.length*2),n=new DataView(r);for(let i=0;i<e.length;i++)n.setUint16(i*2,e.charCodeAt(i),t);return r}},X1=class s{static isHex(e){return typeof e===j2&&wD.test(e)}static isBase64(e){return typeof e===j2&&bD.test(e)}static isBase64Url(e){return typeof e===j2&&SD.test(e)}static ToString(e,t="utf8"){let r=cn.toUint8Array(e);switch(t.toLowerCase()){case"utf8":return this.ToUtf8String(r);case"binary":return this.ToBinary(r);case"hex":return this.ToHex(r);case"base64":return this.ToBase64(r);case"base64url":return this.ToBase64Url(r);case"utf16le":return Ks.toString(r,!0);case"utf16":case"utf16be":return Ks.toString(r);default:throw new Error(`Unknown type of encoding '${t}'`)}}static FromString(e,t="utf8"){if(!e)return new ArrayBuffer(0);switch(t.toLowerCase()){case"utf8":return this.FromUtf8String(e);case"binary":return this.FromBinary(e);case"hex":return this.FromHex(e);case"base64":return this.FromBase64(e);case"base64url":return this.FromBase64Url(e);case"utf16le":return Ks.fromString(e,!0);case"utf16":case"utf16be":return Ks.fromString(e);default:throw new Error(`Unknown type of encoding '${t}'`)}}static ToBase64(e){let t=cn.toUint8Array(e);if(typeof btoa<"u"){let r=this.ToString(t,"binary");return btoa(r)}else return I.from(t).toString("base64")}static FromBase64(e){let t=this.formatString(e);if(!t)return new ArrayBuffer(0);if(!s.isBase64(t))throw new TypeError("Argument 'base64Text' is not Base64 encoded");return typeof atob<"u"?this.FromBinary(atob(t)):new Uint8Array(I.from(t,"base64")).buffer}static FromBase64Url(e){let t=this.formatString(e);if(!t)return new ArrayBuffer(0);if(!s.isBase64Url(t))throw new TypeError("Argument 'base64url' is not Base64Url encoded");return this.FromBase64(this.Base64Padding(t.replace(/\-/g,"+").replace(/\_/g,"/")))}static ToBase64Url(e){return this.ToBase64(e).replace(/\+/g,"-").replace(/\//g,"_").replace(/\=/g,"")}static FromUtf8String(e,t=s.DEFAULT_UTF8_ENCODING){switch(t){case"ascii":return this.FromBinary(e);case"utf8":return Z1.fromString(e);case"utf16":case"utf16be":return Ks.fromString(e);case"utf16le":case"usc2":return Ks.fromString(e,!0);default:throw new Error(`Unknown type of encoding '${t}'`)}}static ToUtf8String(e,t=s.DEFAULT_UTF8_ENCODING){switch(t){case"ascii":return this.ToBinary(e);case"utf8":return Z1.toString(e);case"utf16":case"utf16be":return Ks.toString(e);case"utf16le":case"usc2":return Ks.toString(e,!0);default:throw new Error(`Unknown type of encoding '${t}'`)}}static FromBinary(e){let t=e.length,r=new Uint8Array(t);for(let n=0;n<t;n++)r[n]=e.charCodeAt(n);return r.buffer}static ToBinary(e){let t=cn.toUint8Array(e),r="";for(let n=0;n<t.length;n++)r+=String.fromCharCode(t[n]);return r}static ToHex(e){let t=cn.toUint8Array(e),r="",n=t.length;for(let i=0;i<n;i++){let a=t[i];a<16&&(r+="0"),r+=a.toString(16);}return r}static FromHex(e){let t=this.formatString(e);if(!t)return new ArrayBuffer(0);if(!s.isHex(t))throw new TypeError("Argument 'hexString' is not HEX encoded");t.length%2&&(t=`0${t}`);let r=new Uint8Array(t.length/2);for(let n=0;n<t.length;n=n+2){let i=t.slice(n,n+2);r[n/2]=parseInt(i,16);}return r.buffer}static ToUtf16String(e,t=!1){return Ks.toString(e,t)}static FromUtf16String(e,t=!1){return Ks.fromString(e,t)}static Base64Padding(e){let t=4-e.length%4;if(t<4)for(let r=0;r<t;r++)e+="=";return e}static formatString(e){return e?.replace(/[\n\r\t ]/g,"")||""}};X1.DEFAULT_UTF8_ENCODING="utf8";function vD(s,...e){let t=arguments[0];for(let r=1;r<arguments.length;r++){let n=arguments[r];for(let i in n)t[i]=n[i];}return t}function ED(...s){let e=s.map(n=>n.byteLength).reduce((n,i)=>n+i),t=new Uint8Array(e),r=0;return s.map(n=>new Uint8Array(n)).forEach(n=>{for(let i of n)t[r++]=i;}),t.buffer}function xD(s,e){if(!(s&&e)||s.byteLength!==e.byteLength)return !1;let t=new Uint8Array(s),r=new Uint8Array(e);for(let n=0;n<s.byteLength;n++)if(t[n]!==r[n])return !1;return !0}gu.BufferSourceConverter=cn;gu.Convert=X1;gu.assign=vD;gu.combine=ED;gu.isEqual=xD;});d();f();d();f();d();f();d();f();d();f();var K0=(t=>(t.ZKEVM="zkevm",t.ARBITRUM_ONE="arbitrum_one",t))(K0||{}),zI=(e=>(e.ACCOUNTS_REQUESTED="accountsRequested",e))(zI||{}),YI=(e=>(e.ACCOUNTS_CHANGED="accountsChanged",e))(YI||{}),fT=(a=>(a.PENDING="PENDING",a.SUBMITTED="SUBMITTED",a.SUCCESSFUL="SUCCESSFUL",a.REVERTED="REVERTED",a.FAILED="FAILED",a.CANCELLED="CANCELLED",a))(fT||{});d();f();var o6={};Te(o6,{coerceNonceSpace:()=>i6,digestOfTransactionsAndNonce:()=>n6,encodeMessageSubDigest:()=>z0,encodeNonce:()=>a6,encodedTransactions:()=>Ib,getEip155ChainId:()=>ms,getNonce:()=>bh,getNormalisedTransactions:()=>J0,packSignatures:()=>Z0,signAndPackTypedData:()=>Cb,signERC191Message:()=>Nb,signMetaTransactions:()=>Y0});d();f();d();f();var Eb={mainModule:{abi:[{type:"function",name:"nonce",constant:!0,inputs:[],outputs:[{type:"uint256"}],payable:!1,stateMutability:"view"},{type:"function",name:"readNonce",constant:!0,inputs:[{type:"uint256",name:"_space"}],outputs:[{type:"uint256"}],payable:!1,stateMutability:"view"},{type:"function",name:"execute",constant:!1,inputs:[{components:[{type:"bool",name:"delegateCall"},{type:"bool",name:"revertOnError"},{type:"uint256",name:"gasLimit"},{type:"address",name:"target"},{type:"uint256",name:"value"},{type:"bytes",name:"data"}],name:"_txs",type:"tuple[]"},{type:"uint256",name:"_nonce"},{type:"bytes",name:"_signature"}],outputs:[],payable:!1,stateMutability:"nonpayable"}]}};var QI=s=>{let e=toBytes(s),t=e[0]<<8|e[1],r=[];for(let n=2;n<e.length;){let i=e[n++],a=e[n++];if(i===0)r.push({unrecovered:!0,weight:a,signature:toHex(e.slice(n,n+66)),isDynamic:!1}),n+=66;else if(i===1)r.push({weight:a,address:getAddress(toHex(e.slice(n,n+20)))}),n+=20;else if(i===2){let o=getAddress(toHex(e.slice(n,n+20)));n+=20;let c=e[n]<<8|e[n+1];n+=2,r.push({unrecovered:!0,weight:a,signature:toHex(e.slice(n,n+c)),address:o,isDynamic:!0}),n+=c;}else throw new Error(`Unknown signature part type: ${i}`)}return {version:1,threshold:t,signers:r}},xb=s=>{let{signers:e,threshold:t}=s,r=e.map(n=>{let i=Number(n.weight);if(n.address&&n.signature===void 0)return encodePacked(["uint8","uint8","address"],[1,i,n.address]);if(n.signature===void 0)throw new Error("Signature value missing for signer");if(n.isDynamic){let a=toBytes(n.signature),o=n.address?getAddress(n.address):void 0;if(!o)throw new Error("Dynamic signature part must include an address");return encodePacked(["uint8","uint8","address","uint16","bytes"],[2,i,o,a.length,toHex(a)])}return encodePacked(["uint8","uint8","bytes"],[0,i,n.signature])});return encodePacked(["uint16",...new Array(r.length).fill("bytes")],[t,...r])};var t6=1,ST=1,vT=2,s6="02",ET="",r6=parseAbiParameters("(bool delegateCall, bool revertOnError, uint256 gasLimit, address target, uint256 value, bytes data)[]"),J0=s=>s.map(e=>({delegateCall:e.delegateCall===!0,revertOnError:e.revertOnError===!0,gasLimit:e.gasLimit??BigInt(0),target:e.to??zeroAddress,value:e.value??BigInt(0),data:e.data??"0x"})),n6=(s,e)=>{let t=e.map(n=>({delegateCall:n.delegateCall,revertOnError:n.revertOnError,gasLimit:n.gasLimit,target:n.target,value:n.value,data:n.data})),r=encodeAbiParameters([{type:"uint256"},...r6],[s,t]);return keccak256(r)},Ib=s=>{let e=s.map(t=>({delegateCall:t.delegateCall,revertOnError:t.revertOnError,gasLimit:t.gasLimit,target:t.target,value:t.value,data:t.data}));return encodeAbiParameters(r6,[e])},i6=s=>s||0n,a6=(s,e)=>{let t=BigInt(s)*2n**96n;return BigInt(e)+t},bh=async(s,e,t)=>{try{let r=getContract({address:e,abi:Eb.mainModule.abi,client:s}),n=i6(t),i=await r.read.readNonce([n]);if(typeof i=="bigint")return a6(n,i);throw new Error("Unexpected result from contract.readNonce() call.")}catch(r){if(r instanceof Error&&(r.message.includes("returned no data")||r.message.includes("execution reverted")||r.message.includes("ContractFunctionExecutionError")))return BigInt(0);throw r}},z0=(s,e,t)=>encodePacked(["string","uint256","address","bytes32"],[ET,s,e,t]),Y0=async(s,e,t,r,n)=>{let i=J0(s),a=n6(e,i),o=z0(t,r,a),c=keccak256(o),u=toBytes(c),m=`${await n.signMessage(u)}${s6}`,w=xb({version:1,threshold:ST,signers:[{isDynamic:!1,unrecovered:!0,weight:t6,signature:m}]}),E=i.map(v=>({delegateCall:v.delegateCall,revertOnError:v.revertOnError,gasLimit:v.gasLimit,target:v.target,value:v.value,data:v.data}));return encodeFunctionData({abi:Eb.mainModule.abi,functionName:"execute",args:[E,e,w]})},xT=s=>{let e=`0x0000${s}`;return QI(e)},Z0=(s,e,t)=>{let r=`${s}${s6}`,{signers:n}=xT(t),a=[...n,{isDynamic:!1,unrecovered:!0,weight:t6,signature:r,address:e}].sort((o,c)=>{let u=BigInt(o.address??0),l=BigInt(c.address??0);return u<=l?-1:u===l?0:1});return xb({version:1,threshold:vT,signers:a})},Cb=async(s,e,t,r,n)=>{let i={...s.types},{EIP712Domain:a,...o}=i,c=hashTypedData({domain:s.domain,types:o,primaryType:s.primaryType,message:s.message}),u=z0(t,r,c),l=keccak256(u),m=toBytes(l),w=await n.signMessage(m),E=await n.getAddress();return Z0(w,E,e)},Nb=async(s,e,t,r)=>{let n=hashMessage(e),i=z0(s,r,n),a=keccak256(i),o=toBytes(a);return t.signMessage(o)},ms=s=>`eip155:${s}`;var Sh=class s{config;rpcProvider;auth;constructor({config:e,rpcProvider:t,auth:r}){this.config=e,this.rpcProvider=t,this.auth=r;}static getResponsePreview(e){return e.length>100?`${e.substring(0,50)}...${e.substring(e.length-50)}`:e}async postToRelayer(e){let t={id:1,jsonrpc:"2.0",...e},r=await this.auth.getUserZkEvm(),n=await fetch(`${this.config.relayerUrl}/v1/transactions`,{method:"POST",headers:{Authorization:`Bearer ${r.accessToken}`,"Content-Type":"application/json"},body:JSON.stringify(t)}),i=await n.text();if(!n.ok){let o=s.getResponsePreview(i);throw new Error(`Relayer HTTP error: ${n.status}. Content: "${o}"`)}let a;try{a=JSON.parse(i);}catch(o){let c=s.getResponsePreview(i);throw new Error(`Relayer JSON parse error: ${o instanceof Error?o.message:"Unknown error"}. Content: "${c}"`)}if(a.error)throw new Error(a.error);return a}getPreferredFeeTokenSymbol(){return this.config.feeTokenSymbol}async ethSendTransaction(e,t){let r=await this.rpcProvider.getChainId(),n={method:"eth_sendTransaction",params:[{to:e,data:t,chainId:ms(Number(r))}]},{result:i}=await this.postToRelayer(n);return i}async imGetTransactionByHash(e){let t={method:"im_getTransactionByHash",params:[e]},{result:r}=await this.postToRelayer(t);return r}async imGetFeeOptions(e,t){let r=await this.rpcProvider.getChainId(),n={method:"im_getFeeOptions",params:[{userAddress:e,data:t,chainId:ms(Number(r))}]},{result:i}=await this.postToRelayer(n);return i}async imSignTypedData(e,t){let r=await this.rpcProvider.getChainId(),n={method:"im_signTypedData",params:[{address:e,eip712Payload:t,chainId:ms(Number(r))}]},{result:i}=await this.postToRelayer(n);return i}async imSign(e,t){let r=await this.rpcProvider.getChainId(),n={method:"im_sign",params:[{address:e,message:t,chainId:ms(Number(r))}]},{result:i}=await this.postToRelayer(n);return i}};d();f();var vh=(n=>(n[n.USER_REJECTED_REQUEST=4001]="USER_REJECTED_REQUEST",n[n.UNAUTHORIZED=4100]="UNAUTHORIZED",n[n.UNSUPPORTED_METHOD=4200]="UNSUPPORTED_METHOD",n[n.DISCONNECTED=4900]="DISCONNECTED",n))(vh||{}),zs=(o=>(o[o.RPC_SERVER_ERROR=-32e3]="RPC_SERVER_ERROR",o[o.INVALID_REQUEST=-32600]="INVALID_REQUEST",o[o.METHOD_NOT_FOUND=-32601]="METHOD_NOT_FOUND",o[o.INVALID_PARAMS=-32602]="INVALID_PARAMS",o[o.INTERNAL_ERROR=-32603]="INTERNAL_ERROR",o[o.PARSE_ERROR=-32700]="PARSE_ERROR",o[o.TRANSACTION_REJECTED=-32003]="TRANSACTION_REJECTED",o))(zs||{}),pe=class extends Error{message;code;constructor(e,t){super(t),this.message=t,this.code=e;}};d();f();d();f();d();f();function AT(s){return s.startsWith("0x")?s:`0x${s}`}function IT(s){return s.startsWith("0x")?s.slice(2):s}function kb(s,e){return s.padStart(e,"0")}function CT(s){let e=kb(s.r.toString(16),64),t=kb(s.s.toString(16),64),r=kb(s.recoveryParam?.toString(16)||"",2);return AT(e+t+r)}function NT(s){if(!s.trim())return;let e=parseInt(s,16);return e>=27?e-27:e}function kT(s,e=64){let t=IT(s);return {r:BigInt(`0x${t.substring(0,e)}`),s:BigInt(`0x${t.substring(e,e*2)}`),recoveryParam:NT(t.substring(e*2,e*2+2))}}async function c6(s,e){let t=await e.signMessage(s),r=kT(t);return CT(r)}var PT="Only sign this message from Immutable Passport";async function u6({auth:s,ethSigner:e,multiRollupApiClients:t,accessToken:r,rpcProvider:n,flow:i}){let a=e.getAddress();a.then(()=>i.addEvent("endGetAddress"));let o=c6(PT,e);o.then(()=>i.addEvent("endSignRaw"));let c=n.getChainId();c.then(()=>i.addEvent("endDetectNetwork"));let u=t.chainsApi.listChains();u.then(()=>i.addEvent("endListChains"));let[l,m,w,E]=await Promise.all([a,o,c,u]),v=ms(Number(w)),A=E.data?.result?.find(C=>C.id===v)?.name;if(!A)throw new pe(-32603,`Chain name does not exist on for chain id ${w}`);try{let C=await t.passportApi.createCounterfactualAddressV2({chainName:A,createCounterfactualAddressRequest:{ethereum_address:l,ethereum_signature:m}},{headers:{Authorization:`Bearer ${r}`}});return i.addEvent("endCreateCounterfactualAddress"),s.forceUserRefreshInBackground(),C.data.counterfactual_address}catch(C){throw new pe(-32603,`Failed to create counterfactual address: ${C}`)}}d();f();d();f();d();f();d();f();d();f();var Eh="imx_passport_confirmation";d();f();var X0=({url:s,title:e,width:t,height:r})=>{let n=Math.max(0,Math.round(window.screenX+(window.outerWidth-t)/2)),i=Math.max(0,Math.round(window.screenY+(window.outerHeight-r)/2)),a=window.open(s,e,`
10
+ var _k=Object.create;var Ib=Object.defineProperty;var Hk=Object.getOwnPropertyDescriptor;var jk=Object.getOwnPropertyNames;var Mk=Object.getPrototypeOf,$k=Object.prototype.hasOwnProperty;var Xm=(t,e)=>()=>(t&&(e=t(t=0)),e);var qk=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),Ne=(t,e)=>{for(var s in e)Ib(t,s,{get:e[s],enumerable:!0});},Fk=(t,e,s,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of jk(e))!$k.call(t,n)&&n!==s&&Ib(t,n,{get:()=>e[n],enumerable:!(r=Hk(e,n))||r.enumerable});return t};var Cb=(t,e,s)=>(s=t!=null?_k(Mk(t)):{},Fk(!t||!t.__esModule?Ib(s,"default",{value:t,enumerable:!0}):s,t));function Bb(t){throw new Error("Node.js process "+t+" is not supported by JSPM core outside of Node.js")}function Kk(){!Vc||!Ea||(Vc=!1,Ea.length?qr=Ea.concat(qr):Qm=-1,qr.length&&h5());}function h5(){if(!Vc){var t=setTimeout(Kk,0);Vc=!0;for(var e=qr.length;e;){for(Ea=qr,qr=[];++Qm<e;)Ea&&Ea[Qm].run();Qm=-1,e=qr.length;}Ea=null,Vc=!1,clearTimeout(t);}}function Gk(t){var e=new Array(arguments.length-1);if(arguments.length>1)for(var s=1;s<arguments.length;s++)e[s-1]=arguments[s];qr.push(new d5(t,e)),qr.length===1&&!Vc&&setTimeout(h5,0);}function d5(t,e){this.fun=t,this.array=e;}function os(){}function uB(t){Bb("_linkedBinding");}function dB(t){Bb("dlopen");}function mB(){return []}function pB(){return []}function AB(t,e){if(!t)throw new Error(e||"assertion error")}function TB(){return !1}function KB(){return Wn.now()/1e3}function kb(t){var e=Math.floor((Date.now()-Wn.now())*.001),s=Wn.now()*.001,r=Math.floor(s)+e,n=Math.floor(s%1*1e9);return t&&(r=r-t[0],n=n-t[1],n<0&&(r--,n+=Tb)),[r,n]}function Jn(){return x}function rP(t){return []}var qr,Vc,Ea,Qm,Wk,Jk,zk,Yk,Zk,Xk,Qk,eB,tB,sB,rB,nB,iB,aB,oB,cB,lB,fB,hB,gB,yB,Pb,wB,bB,SB,vB,EB,xB,IB,CB,NB,kB,BB,PB,OB,RB,LB,DB,VB,UB,_B,HB,jB,MB,$B,qB,FB,Wn,Nb,Tb,GB,WB,JB,zB,YB,ZB,XB,QB,eP,tP,sP,x,m5=Xm(()=>{d();h();qr=[],Vc=!1,Qm=-1;d5.prototype.run=function(){this.fun.apply(null,this.array);};Wk="browser",Jk="x64",zk="browser",Yk={PATH:"/usr/bin",LANG:navigator.language+".UTF-8",PWD:"/",HOME:"/home",TMP:"/tmp"},Zk=["/usr/bin/node"],Xk=[],Qk="v16.8.0",eB={},tB=function(t,e){console.warn((e?e+": ":"")+t);},sB=function(t){Bb("binding");},rB=function(t){return 0},nB=function(){return "/"},iB=function(t){},aB={name:"node",sourceUrl:"",headersUrl:"",libUrl:""};oB=os,cB=[];lB={},fB=!1,hB={};gB=os,yB=os,Pb=function(){return {}},wB=Pb,bB=Pb,SB=os,vB=os,EB=os,xB={};IB={inspector:!1,debug:!1,uv:!1,ipv6:!1,tls_alpn:!1,tls_sni:!1,tls_ocsp:!1,tls:!1,cached_builtins:!0},CB=os,NB=os;kB=os,BB=os,PB=os,OB=os,RB=os,LB=void 0,DB=void 0,VB=void 0,UB=os,_B=2,HB=1,jB="/bin/usr/node",MB=9229,$B="node",qB=[],FB=os,Wn={now:typeof performance<"u"?performance.now.bind(performance):void 0,timing:typeof performance<"u"?performance.timing:void 0};Wn.now===void 0&&(Nb=Date.now(),Wn.timing&&Wn.timing.navigationStart&&(Nb=Wn.timing.navigationStart),Wn.now=()=>Date.now()-Nb);Tb=1e9;kb.bigint=function(t){var e=kb(t);return typeof BigInt>"u"?e[0]*Tb+e[1]:BigInt(e[0]*Tb)+BigInt(e[1])};GB=10,WB={},JB=0;zB=Jn,YB=Jn,ZB=Jn,XB=Jn,QB=Jn,eP=os,tP=Jn,sP=Jn;x={version:Qk,versions:eB,arch:Jk,platform:zk,release:aB,_rawDebug:oB,moduleLoadList:cB,binding:sB,_linkedBinding:uB,_events:WB,_eventsCount:JB,_maxListeners:GB,on:Jn,addListener:zB,once:YB,off:ZB,removeListener:XB,removeAllListeners:QB,emit:eP,prependListener:tP,prependOnceListener:sP,listeners:rP,domain:lB,_exiting:fB,config:hB,dlopen:dB,uptime:KB,_getActiveRequests:mB,_getActiveHandles:pB,reallyExit:gB,_kill:yB,cpuUsage:Pb,resourceUsage:wB,memoryUsage:bB,kill:SB,exit:vB,openStdin:EB,allowedNodeEnvironmentFlags:xB,assert:AB,features:IB,_fatalExceptions:CB,setUncaughtExceptionCaptureCallback:NB,hasUncaughtExceptionCaptureCallback:TB,emitWarning:tB,nextTick:Gk,_tickCallback:kB,_debugProcess:BB,_debugEnd:PB,_startProfilerIdleNotifier:OB,_stopProfilerIdleNotifier:RB,stdout:LB,stdin:VB,stderr:DB,abort:UB,umask:rB,chdir:iB,cwd:nB,env:Yk,title:Wk,argv:Zk,execArgv:Xk,pid:_B,ppid:HB,execPath:jB,debugPort:MB,hrtime:kb,argv0:$B,_preload_modules:qB,setSourceMapsEnabled:FB};});var h=Xm(()=>{m5();});function nP(){if(p5)return Af;p5=!0,Af.byteLength=o,Af.toByteArray=u,Af.fromByteArray=w;for(var t=[],e=[],s=typeof Uint8Array<"u"?Uint8Array:Array,r="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",n=0,i=r.length;n<i;++n)t[n]=r[n],e[r.charCodeAt(n)]=n;e[45]=62,e[95]=63;function a(E){var S=E.length;if(S%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var I=E.indexOf("=");I===-1&&(I=S);var C=I===S?0:4-I%4;return [I,C]}function o(E){var S=a(E),I=S[0],C=S[1];return (I+C)*3/4-C}function c(E,S,I){return (S+I)*3/4-I}function u(E){var S,I=a(E),C=I[0],D=I[1],V=new s(c(E,C,D)),B=0,k=D>0?C-4:C,O;for(O=0;O<k;O+=4)S=e[E.charCodeAt(O)]<<18|e[E.charCodeAt(O+1)]<<12|e[E.charCodeAt(O+2)]<<6|e[E.charCodeAt(O+3)],V[B++]=S>>16&255,V[B++]=S>>8&255,V[B++]=S&255;return D===2&&(S=e[E.charCodeAt(O)]<<2|e[E.charCodeAt(O+1)]>>4,V[B++]=S&255),D===1&&(S=e[E.charCodeAt(O)]<<10|e[E.charCodeAt(O+1)]<<4|e[E.charCodeAt(O+2)]>>2,V[B++]=S>>8&255,V[B++]=S&255),V}function l(E){return t[E>>18&63]+t[E>>12&63]+t[E>>6&63]+t[E&63]}function p(E,S,I){for(var C,D=[],V=S;V<I;V+=3)C=(E[V]<<16&16711680)+(E[V+1]<<8&65280)+(E[V+2]&255),D.push(l(C));return D.join("")}function w(E){for(var S,I=E.length,C=I%3,D=[],V=16383,B=0,k=I-C;B<k;B+=V)D.push(p(E,B,B+V>k?k:B+V));return C===1?(S=E[I-1],D.push(t[S>>2]+t[S<<4&63]+"==")):C===2&&(S=(E[I-2]<<8)+E[I-1],D.push(t[S>>10]+t[S>>4&63]+t[S<<2&63]+"=")),D.join("")}return Af}function iP(){if(g5)return ep;g5=!0;return ep.read=function(t,e,s,r,n){var i,a,o=n*8-r-1,c=(1<<o)-1,u=c>>1,l=-7,p=s?n-1:0,w=s?-1:1,E=t[e+p];for(p+=w,i=E&(1<<-l)-1,E>>=-l,l+=o;l>0;i=i*256+t[e+p],p+=w,l-=8);for(a=i&(1<<-l)-1,i>>=-l,l+=r;l>0;a=a*256+t[e+p],p+=w,l-=8);if(i===0)i=1-u;else {if(i===c)return a?NaN:(E?-1:1)*(1/0);a=a+Math.pow(2,r),i=i-u;}return (E?-1:1)*a*Math.pow(2,i-r)},ep.write=function(t,e,s,r,n,i){var a,o,c,u=i*8-n-1,l=(1<<u)-1,p=l>>1,w=n===23?Math.pow(2,-24)-Math.pow(2,-77):0,E=r?0:i-1,S=r?1:-1,I=e<0||e===0&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(o=isNaN(e)?1:0,a=l):(a=Math.floor(Math.log(e)/Math.LN2),e*(c=Math.pow(2,-a))<1&&(a--,c*=2),a+p>=1?e+=w/c:e+=w*Math.pow(2,1-p),e*c>=2&&(a++,c/=2),a+p>=l?(o=0,a=l):a+p>=1?(o=(e*c-1)*Math.pow(2,n),a=a+p):(o=e*Math.pow(2,p-1)*Math.pow(2,n),a=0));n>=8;t[s+E]=o&255,E+=S,o/=256,n-=8);for(a=a<<n|o,u+=n;u>0;t[s+E]=a&255,E+=S,a/=256,u-=8);t[s+E-S]|=I*128;},ep}function aP(){if(y5)return xa;y5=!0;let t=nP(),e=iP(),s=typeof Symbol=="function"&&typeof Symbol.for=="function"?Symbol.for("nodejs.util.inspect.custom"):null;xa.Buffer=a,xa.SlowBuffer=D,xa.INSPECT_MAX_BYTES=50;let r=2147483647;xa.kMaxLength=r,a.TYPED_ARRAY_SUPPORT=n(),!a.TYPED_ARRAY_SUPPORT&&typeof console<"u"&&typeof console.error=="function"&&console.error("This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support.");function n(){try{let v=new Uint8Array(1),m={foo:function(){return 42}};return Object.setPrototypeOf(m,Uint8Array.prototype),Object.setPrototypeOf(v,m),v.foo()===42}catch{return !1}}Object.defineProperty(a.prototype,"parent",{enumerable:!0,get:function(){if(a.isBuffer(this))return this.buffer}}),Object.defineProperty(a.prototype,"offset",{enumerable:!0,get:function(){if(a.isBuffer(this))return this.byteOffset}});function i(v){if(v>r)throw new RangeError('The value "'+v+'" is invalid for option "size"');let m=new Uint8Array(v);return Object.setPrototypeOf(m,a.prototype),m}function a(v,m,g){if(typeof v=="number"){if(typeof m=="string")throw new TypeError('The "string" argument must be of type string. Received type number');return l(v)}return o(v,m,g)}a.poolSize=8192;function o(v,m,g){if(typeof v=="string")return p(v,m);if(ArrayBuffer.isView(v))return E(v);if(v==null)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof v);if(Ar(v,ArrayBuffer)||v&&Ar(v.buffer,ArrayBuffer)||typeof SharedArrayBuffer<"u"&&(Ar(v,SharedArrayBuffer)||v&&Ar(v.buffer,SharedArrayBuffer)))return S(v,m,g);if(typeof v=="number")throw new TypeError('The "value" argument must not be of type number. Received type number');let N=v.valueOf&&v.valueOf();if(N!=null&&N!==v)return a.from(N,m,g);let R=I(v);if(R)return R;if(typeof Symbol<"u"&&Symbol.toPrimitive!=null&&typeof v[Symbol.toPrimitive]=="function")return a.from(v[Symbol.toPrimitive]("string"),m,g);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof v)}a.from=function(v,m,g){return o(v,m,g)},Object.setPrototypeOf(a.prototype,Uint8Array.prototype),Object.setPrototypeOf(a,Uint8Array);function c(v){if(typeof v!="number")throw new TypeError('"size" argument must be of type number');if(v<0)throw new RangeError('The value "'+v+'" is invalid for option "size"')}function u(v,m,g){return c(v),v<=0?i(v):m!==void 0?typeof g=="string"?i(v).fill(m,g):i(v).fill(m):i(v)}a.alloc=function(v,m,g){return u(v,m,g)};function l(v){return c(v),i(v<0?0:C(v)|0)}a.allocUnsafe=function(v){return l(v)},a.allocUnsafeSlow=function(v){return l(v)};function p(v,m){if((typeof m!="string"||m==="")&&(m="utf8"),!a.isEncoding(m))throw new TypeError("Unknown encoding: "+m);let g=V(v,m)|0,N=i(g),R=N.write(v,m);return R!==g&&(N=N.slice(0,R)),N}function w(v){let m=v.length<0?0:C(v.length)|0,g=i(m);for(let N=0;N<m;N+=1)g[N]=v[N]&255;return g}function E(v){if(Ar(v,Uint8Array)){let m=new Uint8Array(v);return S(m.buffer,m.byteOffset,m.byteLength)}return w(v)}function S(v,m,g){if(m<0||v.byteLength<m)throw new RangeError('"offset" is outside of buffer bounds');if(v.byteLength<m+(g||0))throw new RangeError('"length" is outside of buffer bounds');let N;return m===void 0&&g===void 0?N=new Uint8Array(v):g===void 0?N=new Uint8Array(v,m):N=new Uint8Array(v,m,g),Object.setPrototypeOf(N,a.prototype),N}function I(v){if(a.isBuffer(v)){let m=C(v.length)|0,g=i(m);return g.length===0||v.copy(g,0,0,m),g}if(v.length!==void 0)return typeof v.length!="number"||Ab(v.length)?i(0):w(v);if(v.type==="Buffer"&&Array.isArray(v.data))return w(v.data)}function C(v){if(v>=r)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+r.toString(16)+" bytes");return v|0}function D(v){return +v!=v&&(v=0),a.alloc(+v)}a.isBuffer=function(m){return m!=null&&m._isBuffer===!0&&m!==a.prototype},a.compare=function(m,g){if(Ar(m,Uint8Array)&&(m=a.from(m,m.offset,m.byteLength)),Ar(g,Uint8Array)&&(g=a.from(g,g.offset,g.byteLength)),!a.isBuffer(m)||!a.isBuffer(g))throw new TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array');if(m===g)return 0;let N=m.length,R=g.length;for(let H=0,F=Math.min(N,R);H<F;++H)if(m[H]!==g[H]){N=m[H],R=g[H];break}return N<R?-1:R<N?1:0},a.isEncoding=function(m){switch(String(m).toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"latin1":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return !0;default:return !1}},a.concat=function(m,g){if(!Array.isArray(m))throw new TypeError('"list" argument must be an Array of Buffers');if(m.length===0)return a.alloc(0);let N;if(g===void 0)for(g=0,N=0;N<m.length;++N)g+=m[N].length;let R=a.allocUnsafe(g),H=0;for(N=0;N<m.length;++N){let F=m[N];if(Ar(F,Uint8Array))H+F.length>R.length?(a.isBuffer(F)||(F=a.from(F)),F.copy(R,H)):Uint8Array.prototype.set.call(R,F,H);else if(a.isBuffer(F))F.copy(R,H);else throw new TypeError('"list" argument must be an Array of Buffers');H+=F.length;}return R};function V(v,m){if(a.isBuffer(v))return v.length;if(ArrayBuffer.isView(v)||Ar(v,ArrayBuffer))return v.byteLength;if(typeof v!="string")throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof v);let g=v.length,N=arguments.length>2&&arguments[2]===!0;if(!N&&g===0)return 0;let R=!1;for(;;)switch(m){case"ascii":case"latin1":case"binary":return g;case"utf8":case"utf-8":return Dc(v).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return g*2;case"hex":return g>>>1;case"base64":return f5(v).length;default:if(R)return N?-1:Dc(v).length;m=(""+m).toLowerCase(),R=!0;}}a.byteLength=V;function B(v,m,g){let N=!1;if((m===void 0||m<0)&&(m=0),m>this.length||((g===void 0||g>this.length)&&(g=this.length),g<=0)||(g>>>=0,m>>>=0,g<=m))return "";for(v||(v="utf8");;)switch(v){case"hex":return Ee(this,m,g);case"utf8":case"utf-8":return ge(this,m,g);case"ascii":return X(this,m,g);case"latin1":case"binary":return ue(this,m,g);case"base64":return ce(this,m,g);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return fe(this,m,g);default:if(N)throw new TypeError("Unknown encoding: "+v);v=(v+"").toLowerCase(),N=!0;}}a.prototype._isBuffer=!0;function k(v,m,g){let N=v[m];v[m]=v[g],v[g]=N;}a.prototype.swap16=function(){let m=this.length;if(m%2!==0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(let g=0;g<m;g+=2)k(this,g,g+1);return this},a.prototype.swap32=function(){let m=this.length;if(m%4!==0)throw new RangeError("Buffer size must be a multiple of 32-bits");for(let g=0;g<m;g+=4)k(this,g,g+3),k(this,g+1,g+2);return this},a.prototype.swap64=function(){let m=this.length;if(m%8!==0)throw new RangeError("Buffer size must be a multiple of 64-bits");for(let g=0;g<m;g+=8)k(this,g,g+7),k(this,g+1,g+6),k(this,g+2,g+5),k(this,g+3,g+4);return this},a.prototype.toString=function(){let m=this.length;return m===0?"":arguments.length===0?ge(this,0,m):B.apply(this,arguments)},a.prototype.toLocaleString=a.prototype.toString,a.prototype.equals=function(m){if(!a.isBuffer(m))throw new TypeError("Argument must be a Buffer");return this===m?!0:a.compare(this,m)===0},a.prototype.inspect=function(){let m="",g=xa.INSPECT_MAX_BYTES;return m=this.toString("hex",0,g).replace(/(.{2})/g,"$1 ").trim(),this.length>g&&(m+=" ... "),"<Buffer "+m+">"},s&&(a.prototype[s]=a.prototype.inspect),a.prototype.compare=function(m,g,N,R,H){if(Ar(m,Uint8Array)&&(m=a.from(m,m.offset,m.byteLength)),!a.isBuffer(m))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof m);if(g===void 0&&(g=0),N===void 0&&(N=m?m.length:0),R===void 0&&(R=0),H===void 0&&(H=this.length),g<0||N>m.length||R<0||H>this.length)throw new RangeError("out of range index");if(R>=H&&g>=N)return 0;if(R>=H)return -1;if(g>=N)return 1;if(g>>>=0,N>>>=0,R>>>=0,H>>>=0,this===m)return 0;let F=H-R,We=N-g,Ct=Math.min(F,We),vt=this.slice(R,H),Nt=m.slice(g,N);for(let ft=0;ft<Ct;++ft)if(vt[ft]!==Nt[ft]){F=vt[ft],We=Nt[ft];break}return F<We?-1:We<F?1:0};function O(v,m,g,N,R){if(v.length===0)return -1;if(typeof g=="string"?(N=g,g=0):g>2147483647?g=2147483647:g<-2147483648&&(g=-2147483648),g=+g,Ab(g)&&(g=R?0:v.length-1),g<0&&(g=v.length+g),g>=v.length){if(R)return -1;g=v.length-1;}else if(g<0)if(R)g=0;else return -1;if(typeof m=="string"&&(m=a.from(m,N)),a.isBuffer(m))return m.length===0?-1:G(v,m,g,N,R);if(typeof m=="number")return m=m&255,typeof Uint8Array.prototype.indexOf=="function"?R?Uint8Array.prototype.indexOf.call(v,m,g):Uint8Array.prototype.lastIndexOf.call(v,m,g):G(v,[m],g,N,R);throw new TypeError("val must be string, number or Buffer")}function G(v,m,g,N,R){let H=1,F=v.length,We=m.length;if(N!==void 0&&(N=String(N).toLowerCase(),N==="ucs2"||N==="ucs-2"||N==="utf16le"||N==="utf-16le")){if(v.length<2||m.length<2)return -1;H=2,F/=2,We/=2,g/=2;}function Ct(Nt,ft){return H===1?Nt[ft]:Nt.readUInt16BE(ft*H)}let vt;if(R){let Nt=-1;for(vt=g;vt<F;vt++)if(Ct(v,vt)===Ct(m,Nt===-1?0:vt-Nt)){if(Nt===-1&&(Nt=vt),vt-Nt+1===We)return Nt*H}else Nt!==-1&&(vt-=vt-Nt),Nt=-1;}else for(g+We>F&&(g=F-We),vt=g;vt>=0;vt--){let Nt=!0;for(let ft=0;ft<We;ft++)if(Ct(v,vt+ft)!==Ct(m,ft)){Nt=!1;break}if(Nt)return vt}return -1}a.prototype.includes=function(m,g,N){return this.indexOf(m,g,N)!==-1},a.prototype.indexOf=function(m,g,N){return O(this,m,g,N,!0)},a.prototype.lastIndexOf=function(m,g,N){return O(this,m,g,N,!1)};function re(v,m,g,N){g=Number(g)||0;let R=v.length-g;N?(N=Number(N),N>R&&(N=R)):N=R;let H=m.length;N>H/2&&(N=H/2);let F;for(F=0;F<N;++F){let We=parseInt(m.substr(F*2,2),16);if(Ab(We))return F;v[g+F]=We;}return F}function Q(v,m,g,N){return Zm(Dc(m,v.length-g),v,g,N)}function oe(v,m,g,N){return Zm(Lk(m),v,g,N)}function pe(v,m,g,N){return Zm(f5(m),v,g,N)}function se(v,m,g,N){return Zm(Dk(m,v.length-g),v,g,N)}a.prototype.write=function(m,g,N,R){if(g===void 0)R="utf8",N=this.length,g=0;else if(N===void 0&&typeof g=="string")R=g,N=this.length,g=0;else if(isFinite(g))g=g>>>0,isFinite(N)?(N=N>>>0,R===void 0&&(R="utf8")):(R=N,N=void 0);else throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");let H=this.length-g;if((N===void 0||N>H)&&(N=H),m.length>0&&(N<0||g<0)||g>this.length)throw new RangeError("Attempt to write outside buffer bounds");R||(R="utf8");let F=!1;for(;;)switch(R){case"hex":return re(this,m,g,N);case"utf8":case"utf-8":return Q(this,m,g,N);case"ascii":case"latin1":case"binary":return oe(this,m,g,N);case"base64":return pe(this,m,g,N);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return se(this,m,g,N);default:if(F)throw new TypeError("Unknown encoding: "+R);R=(""+R).toLowerCase(),F=!0;}},a.prototype.toJSON=function(){return {type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function ce(v,m,g){return m===0&&g===v.length?t.fromByteArray(v):t.fromByteArray(v.slice(m,g))}function ge(v,m,g){g=Math.min(v.length,g);let N=[],R=m;for(;R<g;){let H=v[R],F=null,We=H>239?4:H>223?3:H>191?2:1;if(R+We<=g){let Ct,vt,Nt,ft;switch(We){case 1:H<128&&(F=H);break;case 2:Ct=v[R+1],(Ct&192)===128&&(ft=(H&31)<<6|Ct&63,ft>127&&(F=ft));break;case 3:Ct=v[R+1],vt=v[R+2],(Ct&192)===128&&(vt&192)===128&&(ft=(H&15)<<12|(Ct&63)<<6|vt&63,ft>2047&&(ft<55296||ft>57343)&&(F=ft));break;case 4:Ct=v[R+1],vt=v[R+2],Nt=v[R+3],(Ct&192)===128&&(vt&192)===128&&(Nt&192)===128&&(ft=(H&15)<<18|(Ct&63)<<12|(vt&63)<<6|Nt&63,ft>65535&&ft<1114112&&(F=ft));}}F===null?(F=65533,We=1):F>65535&&(F-=65536,N.push(F>>>10&1023|55296),F=56320|F&1023),N.push(F),R+=We;}return J(N)}let Ke=4096;function J(v){let m=v.length;if(m<=Ke)return String.fromCharCode.apply(String,v);let g="",N=0;for(;N<m;)g+=String.fromCharCode.apply(String,v.slice(N,N+=Ke));return g}function X(v,m,g){let N="";g=Math.min(v.length,g);for(let R=m;R<g;++R)N+=String.fromCharCode(v[R]&127);return N}function ue(v,m,g){let N="";g=Math.min(v.length,g);for(let R=m;R<g;++R)N+=String.fromCharCode(v[R]);return N}function Ee(v,m,g){let N=v.length;(!m||m<0)&&(m=0),(!g||g<0||g>N)&&(g=N);let R="";for(let H=m;H<g;++H)R+=Vk[v[H]];return R}function fe(v,m,g){let N=v.slice(m,g),R="";for(let H=0;H<N.length-1;H+=2)R+=String.fromCharCode(N[H]+N[H+1]*256);return R}a.prototype.slice=function(m,g){let N=this.length;m=~~m,g=g===void 0?N:~~g,m<0?(m+=N,m<0&&(m=0)):m>N&&(m=N),g<0?(g+=N,g<0&&(g=0)):g>N&&(g=N),g<m&&(g=m);let R=this.subarray(m,g);return Object.setPrototypeOf(R,a.prototype),R};function $(v,m,g){if(v%1!==0||v<0)throw new RangeError("offset is not uint");if(v+m>g)throw new RangeError("Trying to access beyond buffer length")}a.prototype.readUintLE=a.prototype.readUIntLE=function(m,g,N){m=m>>>0,g=g>>>0,N||$(m,g,this.length);let R=this[m],H=1,F=0;for(;++F<g&&(H*=256);)R+=this[m+F]*H;return R},a.prototype.readUintBE=a.prototype.readUIntBE=function(m,g,N){m=m>>>0,g=g>>>0,N||$(m,g,this.length);let R=this[m+--g],H=1;for(;g>0&&(H*=256);)R+=this[m+--g]*H;return R},a.prototype.readUint8=a.prototype.readUInt8=function(m,g){return m=m>>>0,g||$(m,1,this.length),this[m]},a.prototype.readUint16LE=a.prototype.readUInt16LE=function(m,g){return m=m>>>0,g||$(m,2,this.length),this[m]|this[m+1]<<8},a.prototype.readUint16BE=a.prototype.readUInt16BE=function(m,g){return m=m>>>0,g||$(m,2,this.length),this[m]<<8|this[m+1]},a.prototype.readUint32LE=a.prototype.readUInt32LE=function(m,g){return m=m>>>0,g||$(m,4,this.length),(this[m]|this[m+1]<<8|this[m+2]<<16)+this[m+3]*16777216},a.prototype.readUint32BE=a.prototype.readUInt32BE=function(m,g){return m=m>>>0,g||$(m,4,this.length),this[m]*16777216+(this[m+1]<<16|this[m+2]<<8|this[m+3])},a.prototype.readBigUInt64LE=Gn(function(m){m=m>>>0,Bt(m,"offset");let g=this[m],N=this[m+7];(g===void 0||N===void 0)&&Fe(m,this.length-8);let R=g+this[++m]*2**8+this[++m]*2**16+this[++m]*2**24,H=this[++m]+this[++m]*2**8+this[++m]*2**16+N*2**24;return BigInt(R)+(BigInt(H)<<BigInt(32))}),a.prototype.readBigUInt64BE=Gn(function(m){m=m>>>0,Bt(m,"offset");let g=this[m],N=this[m+7];(g===void 0||N===void 0)&&Fe(m,this.length-8);let R=g*2**24+this[++m]*2**16+this[++m]*2**8+this[++m],H=this[++m]*2**24+this[++m]*2**16+this[++m]*2**8+N;return (BigInt(R)<<BigInt(32))+BigInt(H)}),a.prototype.readIntLE=function(m,g,N){m=m>>>0,g=g>>>0,N||$(m,g,this.length);let R=this[m],H=1,F=0;for(;++F<g&&(H*=256);)R+=this[m+F]*H;return H*=128,R>=H&&(R-=Math.pow(2,8*g)),R},a.prototype.readIntBE=function(m,g,N){m=m>>>0,g=g>>>0,N||$(m,g,this.length);let R=g,H=1,F=this[m+--R];for(;R>0&&(H*=256);)F+=this[m+--R]*H;return H*=128,F>=H&&(F-=Math.pow(2,8*g)),F},a.prototype.readInt8=function(m,g){return m=m>>>0,g||$(m,1,this.length),this[m]&128?(255-this[m]+1)*-1:this[m]},a.prototype.readInt16LE=function(m,g){m=m>>>0,g||$(m,2,this.length);let N=this[m]|this[m+1]<<8;return N&32768?N|4294901760:N},a.prototype.readInt16BE=function(m,g){m=m>>>0,g||$(m,2,this.length);let N=this[m+1]|this[m]<<8;return N&32768?N|4294901760:N},a.prototype.readInt32LE=function(m,g){return m=m>>>0,g||$(m,4,this.length),this[m]|this[m+1]<<8|this[m+2]<<16|this[m+3]<<24},a.prototype.readInt32BE=function(m,g){return m=m>>>0,g||$(m,4,this.length),this[m]<<24|this[m+1]<<16|this[m+2]<<8|this[m+3]},a.prototype.readBigInt64LE=Gn(function(m){m=m>>>0,Bt(m,"offset");let g=this[m],N=this[m+7];(g===void 0||N===void 0)&&Fe(m,this.length-8);let R=this[m+4]+this[m+5]*2**8+this[m+6]*2**16+(N<<24);return (BigInt(R)<<BigInt(32))+BigInt(g+this[++m]*2**8+this[++m]*2**16+this[++m]*2**24)}),a.prototype.readBigInt64BE=Gn(function(m){m=m>>>0,Bt(m,"offset");let g=this[m],N=this[m+7];(g===void 0||N===void 0)&&Fe(m,this.length-8);let R=(g<<24)+this[++m]*2**16+this[++m]*2**8+this[++m];return (BigInt(R)<<BigInt(32))+BigInt(this[++m]*2**24+this[++m]*2**16+this[++m]*2**8+N)}),a.prototype.readFloatLE=function(m,g){return m=m>>>0,g||$(m,4,this.length),e.read(this,m,!0,23,4)},a.prototype.readFloatBE=function(m,g){return m=m>>>0,g||$(m,4,this.length),e.read(this,m,!1,23,4)},a.prototype.readDoubleLE=function(m,g){return m=m>>>0,g||$(m,8,this.length),e.read(this,m,!0,52,8)},a.prototype.readDoubleBE=function(m,g){return m=m>>>0,g||$(m,8,this.length),e.read(this,m,!1,52,8)};function te(v,m,g,N,R,H){if(!a.isBuffer(v))throw new TypeError('"buffer" argument must be a Buffer instance');if(m>R||m<H)throw new RangeError('"value" argument is out of bounds');if(g+N>v.length)throw new RangeError("Index out of range")}a.prototype.writeUintLE=a.prototype.writeUIntLE=function(m,g,N,R){if(m=+m,g=g>>>0,N=N>>>0,!R){let We=Math.pow(2,8*N)-1;te(this,m,g,N,We,0);}let H=1,F=0;for(this[g]=m&255;++F<N&&(H*=256);)this[g+F]=m/H&255;return g+N},a.prototype.writeUintBE=a.prototype.writeUIntBE=function(m,g,N,R){if(m=+m,g=g>>>0,N=N>>>0,!R){let We=Math.pow(2,8*N)-1;te(this,m,g,N,We,0);}let H=N-1,F=1;for(this[g+H]=m&255;--H>=0&&(F*=256);)this[g+H]=m/F&255;return g+N},a.prototype.writeUint8=a.prototype.writeUInt8=function(m,g,N){return m=+m,g=g>>>0,N||te(this,m,g,1,255,0),this[g]=m&255,g+1},a.prototype.writeUint16LE=a.prototype.writeUInt16LE=function(m,g,N){return m=+m,g=g>>>0,N||te(this,m,g,2,65535,0),this[g]=m&255,this[g+1]=m>>>8,g+2},a.prototype.writeUint16BE=a.prototype.writeUInt16BE=function(m,g,N){return m=+m,g=g>>>0,N||te(this,m,g,2,65535,0),this[g]=m>>>8,this[g+1]=m&255,g+2},a.prototype.writeUint32LE=a.prototype.writeUInt32LE=function(m,g,N){return m=+m,g=g>>>0,N||te(this,m,g,4,4294967295,0),this[g+3]=m>>>24,this[g+2]=m>>>16,this[g+1]=m>>>8,this[g]=m&255,g+4},a.prototype.writeUint32BE=a.prototype.writeUInt32BE=function(m,g,N){return m=+m,g=g>>>0,N||te(this,m,g,4,4294967295,0),this[g]=m>>>24,this[g+1]=m>>>16,this[g+2]=m>>>8,this[g+3]=m&255,g+4};function ie(v,m,g,N,R){ys(m,N,R,v,g,7);let H=Number(m&BigInt(4294967295));v[g++]=H,H=H>>8,v[g++]=H,H=H>>8,v[g++]=H,H=H>>8,v[g++]=H;let F=Number(m>>BigInt(32)&BigInt(4294967295));return v[g++]=F,F=F>>8,v[g++]=F,F=F>>8,v[g++]=F,F=F>>8,v[g++]=F,g}function xe(v,m,g,N,R){ys(m,N,R,v,g,7);let H=Number(m&BigInt(4294967295));v[g+7]=H,H=H>>8,v[g+6]=H,H=H>>8,v[g+5]=H,H=H>>8,v[g+4]=H;let F=Number(m>>BigInt(32)&BigInt(4294967295));return v[g+3]=F,F=F>>8,v[g+2]=F,F=F>>8,v[g+1]=F,F=F>>8,v[g]=F,g+8}a.prototype.writeBigUInt64LE=Gn(function(m,g=0){return ie(this,m,g,BigInt(0),BigInt("0xffffffffffffffff"))}),a.prototype.writeBigUInt64BE=Gn(function(m,g=0){return xe(this,m,g,BigInt(0),BigInt("0xffffffffffffffff"))}),a.prototype.writeIntLE=function(m,g,N,R){if(m=+m,g=g>>>0,!R){let Ct=Math.pow(2,8*N-1);te(this,m,g,N,Ct-1,-Ct);}let H=0,F=1,We=0;for(this[g]=m&255;++H<N&&(F*=256);)m<0&&We===0&&this[g+H-1]!==0&&(We=1),this[g+H]=(m/F>>0)-We&255;return g+N},a.prototype.writeIntBE=function(m,g,N,R){if(m=+m,g=g>>>0,!R){let Ct=Math.pow(2,8*N-1);te(this,m,g,N,Ct-1,-Ct);}let H=N-1,F=1,We=0;for(this[g+H]=m&255;--H>=0&&(F*=256);)m<0&&We===0&&this[g+H+1]!==0&&(We=1),this[g+H]=(m/F>>0)-We&255;return g+N},a.prototype.writeInt8=function(m,g,N){return m=+m,g=g>>>0,N||te(this,m,g,1,127,-128),m<0&&(m=255+m+1),this[g]=m&255,g+1},a.prototype.writeInt16LE=function(m,g,N){return m=+m,g=g>>>0,N||te(this,m,g,2,32767,-32768),this[g]=m&255,this[g+1]=m>>>8,g+2},a.prototype.writeInt16BE=function(m,g,N){return m=+m,g=g>>>0,N||te(this,m,g,2,32767,-32768),this[g]=m>>>8,this[g+1]=m&255,g+2},a.prototype.writeInt32LE=function(m,g,N){return m=+m,g=g>>>0,N||te(this,m,g,4,2147483647,-2147483648),this[g]=m&255,this[g+1]=m>>>8,this[g+2]=m>>>16,this[g+3]=m>>>24,g+4},a.prototype.writeInt32BE=function(m,g,N){return m=+m,g=g>>>0,N||te(this,m,g,4,2147483647,-2147483648),m<0&&(m=4294967295+m+1),this[g]=m>>>24,this[g+1]=m>>>16,this[g+2]=m>>>8,this[g+3]=m&255,g+4},a.prototype.writeBigInt64LE=Gn(function(m,g=0){return ie(this,m,g,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))}),a.prototype.writeBigInt64BE=Gn(function(m,g=0){return xe(this,m,g,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))});function Re(v,m,g,N,R,H){if(g+N>v.length)throw new RangeError("Index out of range");if(g<0)throw new RangeError("Index out of range")}function ze(v,m,g,N,R){return m=+m,g=g>>>0,R||Re(v,m,g,4),e.write(v,m,g,N,23,4),g+4}a.prototype.writeFloatLE=function(m,g,N){return ze(this,m,g,!0,N)},a.prototype.writeFloatBE=function(m,g,N){return ze(this,m,g,!1,N)};function Ut(v,m,g,N,R){return m=+m,g=g>>>0,R||Re(v,m,g,8),e.write(v,m,g,N,52,8),g+8}a.prototype.writeDoubleLE=function(m,g,N){return Ut(this,m,g,!0,N)},a.prototype.writeDoubleBE=function(m,g,N){return Ut(this,m,g,!1,N)},a.prototype.copy=function(m,g,N,R){if(!a.isBuffer(m))throw new TypeError("argument should be a Buffer");if(N||(N=0),!R&&R!==0&&(R=this.length),g>=m.length&&(g=m.length),g||(g=0),R>0&&R<N&&(R=N),R===N||m.length===0||this.length===0)return 0;if(g<0)throw new RangeError("targetStart out of bounds");if(N<0||N>=this.length)throw new RangeError("Index out of range");if(R<0)throw new RangeError("sourceEnd out of bounds");R>this.length&&(R=this.length),m.length-g<R-N&&(R=m.length-g+N);let H=R-N;return this===m&&typeof Uint8Array.prototype.copyWithin=="function"?this.copyWithin(g,N,R):Uint8Array.prototype.set.call(m,this.subarray(N,R),g),H},a.prototype.fill=function(m,g,N,R){if(typeof m=="string"){if(typeof g=="string"?(R=g,g=0,N=this.length):typeof N=="string"&&(R=N,N=this.length),R!==void 0&&typeof R!="string")throw new TypeError("encoding must be a string");if(typeof R=="string"&&!a.isEncoding(R))throw new TypeError("Unknown encoding: "+R);if(m.length===1){let F=m.charCodeAt(0);(R==="utf8"&&F<128||R==="latin1")&&(m=F);}}else typeof m=="number"?m=m&255:typeof m=="boolean"&&(m=Number(m));if(g<0||this.length<g||this.length<N)throw new RangeError("Out of range index");if(N<=g)return this;g=g>>>0,N=N===void 0?this.length:N>>>0,m||(m=0);let H;if(typeof m=="number")for(H=g;H<N;++H)this[H]=m;else {let F=a.isBuffer(m)?m:a.from(m,R),We=F.length;if(We===0)throw new TypeError('The value "'+m+'" is invalid for argument "value"');for(H=0;H<N-g;++H)this[H+g]=F[H%We];}return this};let Ge={};function je(v,m,g){Ge[v]=class extends g{constructor(){super(),Object.defineProperty(this,"message",{value:m.apply(this,arguments),writable:!0,configurable:!0}),this.name=`${this.name} [${v}]`,this.stack,delete this.name;}get code(){return v}set code(R){Object.defineProperty(this,"code",{configurable:!0,enumerable:!0,value:R,writable:!0});}toString(){return `${this.name} [${v}]: ${this.message}`}};}je("ERR_BUFFER_OUT_OF_BOUNDS",function(v){return v?`${v} is outside of buffer bounds`:"Attempt to access memory outside buffer bounds"},RangeError),je("ERR_INVALID_ARG_TYPE",function(v,m){return `The "${v}" argument must be of type number. Received type ${typeof m}`},TypeError),je("ERR_OUT_OF_RANGE",function(v,m,g){let N=`The value of "${v}" is out of range.`,R=g;return Number.isInteger(g)&&Math.abs(g)>2**32?R=de(String(g)):typeof g=="bigint"&&(R=String(g),(g>BigInt(2)**BigInt(32)||g<-(BigInt(2)**BigInt(32)))&&(R=de(R)),R+="n"),N+=` It must be ${m}. Received ${R}`,N},RangeError);function de(v){let m="",g=v.length,N=v[0]==="-"?1:0;for(;g>=N+4;g-=3)m=`_${v.slice(g-3,g)}${m}`;return `${v.slice(0,g)}${m}`}function as(v,m,g){Bt(m,"offset"),(v[m]===void 0||v[m+g]===void 0)&&Fe(m,v.length-(g+1));}function ys(v,m,g,N,R,H){if(v>g||v<m){let F=typeof m=="bigint"?"n":"",We;throw m===0||m===BigInt(0)?We=`>= 0${F} and < 2${F} ** ${(H+1)*8}${F}`:We=`>= -(2${F} ** ${(H+1)*8-1}${F}) and < 2 ** ${(H+1)*8-1}${F}`,new Ge.ERR_OUT_OF_RANGE("value",We,v)}as(N,R,H);}function Bt(v,m){if(typeof v!="number")throw new Ge.ERR_INVALID_ARG_TYPE(m,"number",v)}function Fe(v,m,g){throw Math.floor(v)!==v?(Bt(v,g),new Ge.ERR_OUT_OF_RANGE("offset","an integer",v)):m<0?new Ge.ERR_BUFFER_OUT_OF_BOUNDS:new Ge.ERR_OUT_OF_RANGE("offset",`>= ${0} and <= ${m}`,v)}let va=/[^+/0-9A-Za-z-_]/g;function Kn(v){if(v=v.split("=")[0],v=v.trim().replace(va,""),v.length<2)return "";for(;v.length%4!==0;)v=v+"=";return v}function Dc(v,m){m=m||1/0;let g,N=v.length,R=null,H=[];for(let F=0;F<N;++F){if(g=v.charCodeAt(F),g>55295&&g<57344){if(!R){if(g>56319){(m-=3)>-1&&H.push(239,191,189);continue}else if(F+1===N){(m-=3)>-1&&H.push(239,191,189);continue}R=g;continue}if(g<56320){(m-=3)>-1&&H.push(239,191,189),R=g;continue}g=(R-55296<<10|g-56320)+65536;}else R&&(m-=3)>-1&&H.push(239,191,189);if(R=null,g<128){if((m-=1)<0)break;H.push(g);}else if(g<2048){if((m-=2)<0)break;H.push(g>>6|192,g&63|128);}else if(g<65536){if((m-=3)<0)break;H.push(g>>12|224,g>>6&63|128,g&63|128);}else if(g<1114112){if((m-=4)<0)break;H.push(g>>18|240,g>>12&63|128,g>>6&63|128,g&63|128);}else throw new Error("Invalid code point")}return H}function Lk(v){let m=[];for(let g=0;g<v.length;++g)m.push(v.charCodeAt(g)&255);return m}function Dk(v,m){let g,N,R,H=[];for(let F=0;F<v.length&&!((m-=2)<0);++F)g=v.charCodeAt(F),N=g>>8,R=g%256,H.push(R),H.push(N);return H}function f5(v){return t.toByteArray(Kn(v))}function Zm(v,m,g,N){let R;for(R=0;R<N&&!(R+g>=m.length||R>=v.length);++R)m[R+g]=v[R];return R}function Ar(v,m){return v instanceof m||v!=null&&v.constructor!=null&&v.constructor.name!=null&&v.constructor.name===m.name}function Ab(v){return v!==v}let Vk=function(){let v="0123456789abcdef",m=new Array(256);for(let g=0;g<16;++g){let N=g*16;for(let R=0;R<16;++R)m[N+R]=v[g]+v[R];}return m}();function Gn(v){return typeof BigInt>"u"?Uk:v}function Uk(){throw new Error("BigInt not supported")}return xa}var Af,p5,ep,g5,xa,y5,Aa,A,w5=Xm(()=>{d();h();Af={},p5=!1;ep={},g5=!1;xa={},y5=!1;Aa=aP();Aa.Buffer;Aa.SlowBuffer;Aa.INSPECT_MAX_BYTES;Aa.kMaxLength;A=Aa.Buffer,Aa.INSPECT_MAX_BYTES,Aa.kMaxLength;});var d=Xm(()=>{w5();});var fy=qk(Eu=>{d();h();var gU="[object ArrayBuffer]",mn=class t{static isArrayBuffer(e){return Object.prototype.toString.call(e)===gU}static toArrayBuffer(e){return this.isArrayBuffer(e)?e:e.byteLength===e.buffer.byteLength||e.byteOffset===0&&e.byteLength===e.buffer.byteLength?e.buffer:this.toUint8Array(e.buffer).slice(e.byteOffset,e.byteOffset+e.byteLength).buffer}static toUint8Array(e){return this.toView(e,Uint8Array)}static toView(e,s){if(e.constructor===s)return e;if(this.isArrayBuffer(e))return new s(e);if(this.isArrayBufferView(e))return new s(e.buffer,e.byteOffset,e.byteLength);throw new TypeError("The provided value is not of type '(ArrayBuffer or ArrayBufferView)'")}static isBufferSource(e){return this.isArrayBufferView(e)||this.isArrayBuffer(e)}static isArrayBufferView(e){return ArrayBuffer.isView(e)||e&&this.isArrayBuffer(e.buffer)}static isEqual(e,s){let r=t.toUint8Array(e),n=t.toUint8Array(s);if(r.length!==n.byteLength)return !1;for(let i=0;i<r.length;i++)if(r[i]!==n[i])return !1;return !0}static concat(...e){let s;Array.isArray(e[0])&&!(e[1]instanceof Function)||Array.isArray(e[0])&&e[1]instanceof Function?s=e[0]:e[e.length-1]instanceof Function?s=e.slice(0,e.length-1):s=e;let r=0;for(let a of s)r+=a.byteLength;let n=new Uint8Array(r),i=0;for(let a of s){let o=this.toUint8Array(a);n.set(o,i),i+=o.length;}return e[e.length-1]instanceof Function?this.toView(n,e[e.length-1]):n.buffer}},cA="string",yU=/^[0-9a-f\s]+$/i,wU=/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/,bU=/^[a-zA-Z0-9-_]+$/,uy=class{static fromString(e){let s=unescape(encodeURIComponent(e)),r=new Uint8Array(s.length);for(let n=0;n<s.length;n++)r[n]=s.charCodeAt(n);return r.buffer}static toString(e){let s=mn.toUint8Array(e),r="";for(let i=0;i<s.length;i++)r+=String.fromCharCode(s[i]);return decodeURIComponent(escape(r))}},zs=class{static toString(e,s=!1){let r=mn.toArrayBuffer(e),n=new DataView(r),i="";for(let a=0;a<r.byteLength;a+=2){let o=n.getUint16(a,s);i+=String.fromCharCode(o);}return i}static fromString(e,s=!1){let r=new ArrayBuffer(e.length*2),n=new DataView(r);for(let i=0;i<e.length;i++)n.setUint16(i*2,e.charCodeAt(i),s);return r}},ly=class t{static isHex(e){return typeof e===cA&&yU.test(e)}static isBase64(e){return typeof e===cA&&wU.test(e)}static isBase64Url(e){return typeof e===cA&&bU.test(e)}static ToString(e,s="utf8"){let r=mn.toUint8Array(e);switch(s.toLowerCase()){case"utf8":return this.ToUtf8String(r);case"binary":return this.ToBinary(r);case"hex":return this.ToHex(r);case"base64":return this.ToBase64(r);case"base64url":return this.ToBase64Url(r);case"utf16le":return zs.toString(r,!0);case"utf16":case"utf16be":return zs.toString(r);default:throw new Error(`Unknown type of encoding '${s}'`)}}static FromString(e,s="utf8"){if(!e)return new ArrayBuffer(0);switch(s.toLowerCase()){case"utf8":return this.FromUtf8String(e);case"binary":return this.FromBinary(e);case"hex":return this.FromHex(e);case"base64":return this.FromBase64(e);case"base64url":return this.FromBase64Url(e);case"utf16le":return zs.fromString(e,!0);case"utf16":case"utf16be":return zs.fromString(e);default:throw new Error(`Unknown type of encoding '${s}'`)}}static ToBase64(e){let s=mn.toUint8Array(e);if(typeof btoa<"u"){let r=this.ToString(s,"binary");return btoa(r)}else return A.from(s).toString("base64")}static FromBase64(e){let s=this.formatString(e);if(!s)return new ArrayBuffer(0);if(!t.isBase64(s))throw new TypeError("Argument 'base64Text' is not Base64 encoded");return typeof atob<"u"?this.FromBinary(atob(s)):new Uint8Array(A.from(s,"base64")).buffer}static FromBase64Url(e){let s=this.formatString(e);if(!s)return new ArrayBuffer(0);if(!t.isBase64Url(s))throw new TypeError("Argument 'base64url' is not Base64Url encoded");return this.FromBase64(this.Base64Padding(s.replace(/\-/g,"+").replace(/\_/g,"/")))}static ToBase64Url(e){return this.ToBase64(e).replace(/\+/g,"-").replace(/\//g,"_").replace(/\=/g,"")}static FromUtf8String(e,s=t.DEFAULT_UTF8_ENCODING){switch(s){case"ascii":return this.FromBinary(e);case"utf8":return uy.fromString(e);case"utf16":case"utf16be":return zs.fromString(e);case"utf16le":case"usc2":return zs.fromString(e,!0);default:throw new Error(`Unknown type of encoding '${s}'`)}}static ToUtf8String(e,s=t.DEFAULT_UTF8_ENCODING){switch(s){case"ascii":return this.ToBinary(e);case"utf8":return uy.toString(e);case"utf16":case"utf16be":return zs.toString(e);case"utf16le":case"usc2":return zs.toString(e,!0);default:throw new Error(`Unknown type of encoding '${s}'`)}}static FromBinary(e){let s=e.length,r=new Uint8Array(s);for(let n=0;n<s;n++)r[n]=e.charCodeAt(n);return r.buffer}static ToBinary(e){let s=mn.toUint8Array(e),r="";for(let n=0;n<s.length;n++)r+=String.fromCharCode(s[n]);return r}static ToHex(e){let s=mn.toUint8Array(e),r="",n=s.length;for(let i=0;i<n;i++){let a=s[i];a<16&&(r+="0"),r+=a.toString(16);}return r}static FromHex(e){let s=this.formatString(e);if(!s)return new ArrayBuffer(0);if(!t.isHex(s))throw new TypeError("Argument 'hexString' is not HEX encoded");s.length%2&&(s=`0${s}`);let r=new Uint8Array(s.length/2);for(let n=0;n<s.length;n=n+2){let i=s.slice(n,n+2);r[n/2]=parseInt(i,16);}return r.buffer}static ToUtf16String(e,s=!1){return zs.toString(e,s)}static FromUtf16String(e,s=!1){return zs.fromString(e,s)}static Base64Padding(e){let s=4-e.length%4;if(s<4)for(let r=0;r<s;r++)e+="=";return e}static formatString(e){return e?.replace(/[\n\r\t ]/g,"")||""}};ly.DEFAULT_UTF8_ENCODING="utf8";function SU(t,...e){let s=arguments[0];for(let r=1;r<arguments.length;r++){let n=arguments[r];for(let i in n)s[i]=n[i];}return s}function vU(...t){let e=t.map(n=>n.byteLength).reduce((n,i)=>n+i),s=new Uint8Array(e),r=0;return t.map(n=>new Uint8Array(n)).forEach(n=>{for(let i of n)s[r++]=i;}),s.buffer}function EU(t,e){if(!(t&&e)||t.byteLength!==e.byteLength)return !1;let s=new Uint8Array(t),r=new Uint8Array(e);for(let n=0;n<t.byteLength;n++)if(s[n]!==r[n])return !1;return !0}Eu.BufferSourceConverter=mn;Eu.Convert=ly;Eu.assign=SU;Eu.combine=vU;Eu.isEqual=EU;});d();h();d();h();d();h();d();h();d();h();var tp=(s=>(s.ZKEVM="zkevm",s.ARBITRUM_ONE="arbitrum_one",s))(tp||{}),b5=(e=>(e.ACCOUNTS_REQUESTED="accountsRequested",e))(b5||{}),S5=(e=>(e.ACCOUNTS_CHANGED="accountsChanged",e))(S5||{}),oP=(a=>(a.PENDING="PENDING",a.SUBMITTED="SUBMITTED",a.SUCCESSFUL="SUCCESSFUL",a.REVERTED="REVERTED",a.FAILED="FAILED",a.CANCELLED="CANCELLED",a))(oP||{});d();h();var P5={};Ne(P5,{coerceNonceSpace:()=>k5,digestOfTransactionsAndNonce:()=>T5,encodeMessageSubDigest:()=>ip,encodeNonce:()=>B5,encodedTransactions:()=>Ub,getEip155ChainId:()=>ws,getNonce:()=>Cf,getNormalisedTransactions:()=>np,packSignatures:()=>op,signAndPackTypedData:()=>_b,signERC191Message:()=>Hb,signMetaTransactions:()=>ap});d();h();d();h();var Lb={mainModule:{abi:[{type:"function",name:"nonce",constant:!0,inputs:[],outputs:[{type:"uint256"}],payable:!1,stateMutability:"view"},{type:"function",name:"readNonce",constant:!0,inputs:[{type:"uint256",name:"_space"}],outputs:[{type:"uint256"}],payable:!1,stateMutability:"view"},{type:"function",name:"execute",constant:!1,inputs:[{components:[{type:"bool",name:"delegateCall"},{type:"bool",name:"revertOnError"},{type:"uint256",name:"gasLimit"},{type:"address",name:"target"},{type:"uint256",name:"value"},{type:"bytes",name:"data"}],name:"_txs",type:"tuple[]"},{type:"uint256",name:"_nonce"},{type:"bytes",name:"_signature"}],outputs:[],payable:!1,stateMutability:"nonpayable"}]}};var x5=t=>{let e=toBytes(t),s=e[0]<<8|e[1],r=[];for(let n=2;n<e.length;){let i=e[n++],a=e[n++];if(i===0)r.push({unrecovered:!0,weight:a,signature:toHex(e.slice(n,n+66)),isDynamic:!1}),n+=66;else if(i===1)r.push({weight:a,address:getAddress(toHex(e.slice(n,n+20)))}),n+=20;else if(i===2){let o=getAddress(toHex(e.slice(n,n+20)));n+=20;let c=e[n]<<8|e[n+1];n+=2,r.push({unrecovered:!0,weight:a,signature:toHex(e.slice(n,n+c)),address:o,isDynamic:!0}),n+=c;}else throw new Error(`Unknown signature part type: ${i}`)}return {version:1,threshold:s,signers:r}},Db=t=>{let{signers:e,threshold:s}=t,r=e.map(n=>{let i=Number(n.weight);if(n.address&&n.signature===void 0)return encodePacked(["uint8","uint8","address"],[1,i,n.address]);if(n.signature===void 0)throw new Error("Signature value missing for signer");if(n.isDynamic){let a=toBytes(n.signature),o=n.address?getAddress(n.address):void 0;if(!o)throw new Error("Dynamic signature part must include an address");return encodePacked(["uint8","uint8","address","uint16","bytes"],[2,i,o,a.length,toHex(a)])}return encodePacked(["uint8","uint8","bytes"],[0,i,n.signature])});return encodePacked(["uint16",...new Array(r.length).fill("bytes")],[s,...r])};var I5=1,pP=1,gP=2,C5="02",yP="",N5=parseAbiParameters("(bool delegateCall, bool revertOnError, uint256 gasLimit, address target, uint256 value, bytes data)[]"),np=t=>t.map(e=>({delegateCall:e.delegateCall===!0,revertOnError:e.revertOnError===!0,gasLimit:e.gasLimit??BigInt(0),target:e.to??zeroAddress,value:e.value??BigInt(0),data:e.data??"0x"})),T5=(t,e)=>{let s=e.map(n=>({delegateCall:n.delegateCall,revertOnError:n.revertOnError,gasLimit:n.gasLimit,target:n.target,value:n.value,data:n.data})),r=encodeAbiParameters([{type:"uint256"},...N5],[t,s]);return keccak256(r)},Ub=t=>{let e=t.map(s=>({delegateCall:s.delegateCall,revertOnError:s.revertOnError,gasLimit:s.gasLimit,target:s.target,value:s.value,data:s.data}));return encodeAbiParameters(N5,[e])},k5=t=>t||0n,B5=(t,e)=>{let s=BigInt(t)*2n**96n;return BigInt(e)+s},Cf=async(t,e,s)=>{try{let r=getContract({address:e,abi:Lb.mainModule.abi,client:t}),n=k5(s),i=await r.read.readNonce([n]);if(typeof i=="bigint")return B5(n,i);throw new Error("Unexpected result from contract.readNonce() call.")}catch(r){if(r instanceof Error&&(r.message.includes("returned no data")||r.message.includes("execution reverted")||r.message.includes("ContractFunctionExecutionError")))return BigInt(0);throw r}},ip=(t,e,s)=>encodePacked(["string","uint256","address","bytes32"],[yP,t,e,s]),ap=async(t,e,s,r,n)=>{let i=np(t),a=T5(e,i),o=ip(s,r,a),c=keccak256(o),u=toBytes(c),p=`${await n.signMessage(u)}${C5}`,w=Db({version:1,threshold:pP,signers:[{isDynamic:!1,unrecovered:!0,weight:I5,signature:p}]}),E=i.map(S=>({delegateCall:S.delegateCall,revertOnError:S.revertOnError,gasLimit:S.gasLimit,target:S.target,value:S.value,data:S.data}));return encodeFunctionData({abi:Lb.mainModule.abi,functionName:"execute",args:[E,e,w]})},wP=t=>{let e=`0x0000${t}`;return x5(e)},op=(t,e,s)=>{let r=`${t}${C5}`,{signers:n}=wP(s),a=[...n,{isDynamic:!1,unrecovered:!0,weight:I5,signature:r,address:e}].sort((o,c)=>{let u=BigInt(o.address??0),l=BigInt(c.address??0);return u<=l?-1:u===l?0:1});return Db({version:1,threshold:gP,signers:a})},_b=async(t,e,s,r,n)=>{let i={...t.types},{EIP712Domain:a,...o}=i,c=hashTypedData({domain:t.domain,types:o,primaryType:t.primaryType,message:t.message}),u=ip(s,r,c),l=keccak256(u),p=toBytes(l),w=await n.signMessage(p),E=await n.getAddress();return op(w,E,e)},Hb=async(t,e,s,r)=>{let n=hashMessage(e),i=ip(t,r,n),a=keccak256(i),o=toBytes(a);return s.signMessage(o)},ws=t=>`eip155:${t}`;var Nf=class t{config;rpcProvider;auth;constructor({config:e,rpcProvider:s,auth:r}){this.config=e,this.rpcProvider=s,this.auth=r;}static getResponsePreview(e){return e.length>100?`${e.substring(0,50)}...${e.substring(e.length-50)}`:e}async postToRelayer(e){let s={id:1,jsonrpc:"2.0",...e},r=await this.auth.getUserZkEvm(),n=await fetch(`${this.config.relayerUrl}/v1/transactions`,{method:"POST",headers:{Authorization:`Bearer ${r.accessToken}`,"Content-Type":"application/json"},body:JSON.stringify(s)}),i=await n.text();if(!n.ok){let o=t.getResponsePreview(i);throw new Error(`Relayer HTTP error: ${n.status}. Content: "${o}"`)}let a;try{a=JSON.parse(i);}catch(o){let c=t.getResponsePreview(i);throw new Error(`Relayer JSON parse error: ${o instanceof Error?o.message:"Unknown error"}. Content: "${c}"`)}if(a.error)throw new Error(a.error);return a}getPreferredFeeTokenSymbol(){return this.config.feeTokenSymbol}async ethSendTransaction(e,s){let r=await this.rpcProvider.getChainId(),n={method:"eth_sendTransaction",params:[{to:e,data:s,chainId:ws(Number(r))}]},{result:i}=await this.postToRelayer(n);return i}async imGetTransactionByHash(e){let s={method:"im_getTransactionByHash",params:[e]},{result:r}=await this.postToRelayer(s);return r}async imGetFeeOptions(e,s){let r=await this.rpcProvider.getChainId(),n={method:"im_getFeeOptions",params:[{userAddress:e,data:s,chainId:ws(Number(r))}]},{result:i}=await this.postToRelayer(n);return i}async imSignTypedData(e,s){let r=await this.rpcProvider.getChainId(),n={method:"im_signTypedData",params:[{address:e,eip712Payload:s,chainId:ws(Number(r))}]},{result:i}=await this.postToRelayer(n);return i}async imSign(e,s){let r=await this.rpcProvider.getChainId(),n={method:"im_sign",params:[{address:e,message:s,chainId:ws(Number(r))}]},{result:i}=await this.postToRelayer(n);return i}};d();h();var Tf=(n=>(n[n.USER_REJECTED_REQUEST=4001]="USER_REJECTED_REQUEST",n[n.UNAUTHORIZED=4100]="UNAUTHORIZED",n[n.UNSUPPORTED_METHOD=4200]="UNSUPPORTED_METHOD",n[n.DISCONNECTED=4900]="DISCONNECTED",n))(Tf||{}),Qs=(o=>(o[o.RPC_SERVER_ERROR=-32e3]="RPC_SERVER_ERROR",o[o.INVALID_REQUEST=-32600]="INVALID_REQUEST",o[o.METHOD_NOT_FOUND=-32601]="METHOD_NOT_FOUND",o[o.INVALID_PARAMS=-32602]="INVALID_PARAMS",o[o.INTERNAL_ERROR=-32603]="INTERNAL_ERROR",o[o.PARSE_ERROR=-32700]="PARSE_ERROR",o[o.TRANSACTION_REJECTED=-32003]="TRANSACTION_REJECTED",o))(Qs||{}),ye=class extends Error{message;code;constructor(e,s){super(s),this.message=s,this.code=e;}};d();h();d();h();d();h();function bP(t){return t.startsWith("0x")?t:`0x${t}`}function SP(t){return t.startsWith("0x")?t.slice(2):t}function jb(t,e){return t.padStart(e,"0")}function vP(t){let e=jb(t.r.toString(16),64),s=jb(t.s.toString(16),64),r=jb(t.recoveryParam?.toString(16)||"",2);return bP(e+s+r)}function EP(t){if(!t.trim())return;let e=parseInt(t,16);return e>=27?e-27:e}function xP(t,e=64){let s=SP(t);return {r:BigInt(`0x${s.substring(0,e)}`),s:BigInt(`0x${s.substring(e,e*2)}`),recoveryParam:EP(s.substring(e*2,e*2+2))}}async function O5(t,e){let s=await e.signMessage(t),r=xP(s);return vP(r)}var AP="Only sign this message from Immutable Passport";async function R5({auth:t,ethSigner:e,multiRollupApiClients:s,accessToken:r,rpcProvider:n,flow:i}){let a=e.getAddress();a.then(()=>i.addEvent("endGetAddress"));let o=O5(AP,e);o.then(()=>i.addEvent("endSignRaw"));let c=n.getChainId();c.then(()=>i.addEvent("endDetectNetwork"));let u=s.chainsApi.listChains();u.then(()=>i.addEvent("endListChains"));let[l,p,w,E]=await Promise.all([a,o,c,u]),S=ws(Number(w)),I=E.data?.result?.find(C=>C.id===S)?.name;if(!I)throw new ye(-32603,`Chain name does not exist on for chain id ${w}`);try{let C=await s.passportApi.createCounterfactualAddressV2({chainName:I,createCounterfactualAddressRequest:{ethereum_address:l,ethereum_signature:p}},{headers:{Authorization:`Bearer ${r}`}});return i.addEvent("endCreateCounterfactualAddress"),t.forceUserRefreshInBackground(),C.data.counterfactual_address}catch(C){throw new ye(-32603,`Failed to create counterfactual address: ${C}`)}}d();h();d();h();d();h();d();h();d();h();var kf="imx_passport_confirmation";d();h();var cp=({url:t,title:e,width:s,height:r})=>{let n=Math.max(0,Math.round(window.screenX+(window.outerWidth-s)/2)),i=Math.max(0,Math.round(window.screenY+(window.outerHeight-r)/2)),a=window.open(t,e,`
11
11
  scrollbars=yes,
12
- width=${t},
12
+ width=${s},
13
13
  height=${r},
14
14
  top=${i},
15
15
  left=${n}
16
- `);if(!a)throw new Error("Failed to open confirmation screen");return a.focus(),a};d();f();d();f();var xh="passport-overlay",l6="passport-overlay-contents",Q0=`${xh}-close`,ep=`${xh}-try-again`,h6=`
16
+ `);if(!a)throw new Error("Failed to open confirmation screen");return a.focus(),a};d();h();d();h();var Bf="passport-overlay",L5="passport-overlay-contents",up=`${Bf}-close`,lp=`${Bf}-try-again`,D5=`
17
17
  <svg
18
18
  viewBox="0 0 20 20"
19
19
  fill="none"
@@ -25,7 +25,7 @@ var qP=Object.create;var db=Object.defineProperty;var FP=Object.getOwnPropertyDe
25
25
  fill="#F3F3F3"
26
26
  />
27
27
  </svg>
28
- `,f6=`
28
+ `,V5=`
29
29
  <svg
30
30
  viewBox="0 0 17 16"
31
31
  fill="none"
@@ -39,7 +39,7 @@ var qP=Object.create;var db=Object.defineProperty;var FP=Object.getOwnPropertyDe
39
39
  fill="#E01A3D"
40
40
  />
41
41
  </svg>
42
- `,Pb=`
42
+ `,Mb=`
43
43
  <svg
44
44
  style="
45
45
  max-width: 123px !important;
@@ -222,9 +222,9 @@ var qP=Object.create;var db=Object.defineProperty;var FP=Object.getOwnPropertyDe
222
222
  </clipPath>
223
223
  </defs>
224
224
  </svg>
225
- `;d();f();var TT=()=>`
225
+ `;d();h();var IP=()=>`
226
226
  <button
227
- id="${Q0}"
227
+ id="${up}"
228
228
  style="
229
229
  background: #f3f3f326 !important;
230
230
  border: none !important;
@@ -240,11 +240,11 @@ var qP=Object.create;var db=Object.defineProperty;var FP=Object.getOwnPropertyDe
240
240
  justify-content: center !important;
241
241
  "
242
242
  >
243
- ${h6}
243
+ ${D5}
244
244
  </button>
245
- `,d6=()=>`
245
+ `,U5=()=>`
246
246
  <button
247
- id="${ep}"
247
+ id="${lp}"
248
248
  style="
249
249
  margin-top: 27px !important;
250
250
  color: #f3f3f3 !important;
@@ -259,8 +259,8 @@ var qP=Object.create;var db=Object.defineProperty;var FP=Object.getOwnPropertyDe
259
259
  >
260
260
  Try again
261
261
  </button>
262
- `,BT=()=>`
263
- ${Pb}
262
+ `,CP=()=>`
263
+ ${Mb}
264
264
  <div
265
265
  style="
266
266
  color: #e01a3d !important;
@@ -270,7 +270,7 @@ var qP=Object.create;var db=Object.defineProperty;var FP=Object.getOwnPropertyDe
270
270
  margin-bottom: 10px !important;
271
271
  "
272
272
  >
273
- ${f6}
273
+ ${V5}
274
274
  Pop-up blocked
275
275
  </div>
276
276
  <p style="
@@ -283,9 +283,9 @@ var qP=Object.create;var db=Object.defineProperty;var FP=Object.getOwnPropertyDe
283
283
  If the problem continues, adjust your<br />
284
284
  browser settings.
285
285
  </p>
286
- ${d6()}
287
- `,OT=()=>`
288
- ${Pb}
286
+ ${U5()}
287
+ `,NP=()=>`
288
+ ${Mb}
289
289
  <p style="
290
290
  color: #b6b6b6 !important;
291
291
  text-align: center !important;
@@ -294,10 +294,10 @@ var qP=Object.create;var db=Object.defineProperty;var FP=Object.getOwnPropertyDe
294
294
  >
295
295
  Secure pop-up not showing?<br />We'll help you re-launch
296
296
  </p>
297
- ${d6()}
298
- `,m6=s=>`
297
+ ${U5()}
298
+ `,_5=t=>`
299
299
  <div
300
- id="${xh}"
300
+ id="${Bf}"
301
301
  style="
302
302
  position: fixed !important;
303
303
  top: 0 !important;
@@ -320,9 +320,9 @@ var qP=Object.create;var db=Object.defineProperty;var FP=Object.getOwnPropertyDe
320
320
  z-index: 2147483647 !important;
321
321
  "
322
322
  >
323
- ${TT()}
323
+ ${IP()}
324
324
  <div
325
- id="${l6}"
325
+ id="${L5}"
326
326
  style="
327
327
  display: flex !important;
328
328
  flex-direction: column !important;
@@ -330,48 +330,49 @@ var qP=Object.create;var db=Object.defineProperty;var FP=Object.getOwnPropertyDe
330
330
  max-width: 400px !important;
331
331
  "
332
332
  >
333
- ${s??""}
333
+ ${t??""}
334
334
  </div>
335
335
  </div>
336
- `;function tp({id:s,href:e,rel:t,crossOrigin:r}){let n=`${xh}-${s}`;if(!document.getElementById(n)){let i=document.createElement("link");i.id=n,i.href=e,t&&(i.rel=t),r&&(i.crossOrigin=r),document.head.appendChild(i);}}var p6=()=>m6(BT()),g6=()=>m6(OT());var Oc=class{disableGenericPopupOverlay;disableBlockedPopupOverlay;overlay;isBlockedOverlay;tryAgainListener;onCloseListener;constructor(e,t=!1){this.disableBlockedPopupOverlay=e.disableBlockedPopupOverlay||!1,this.disableGenericPopupOverlay=e.disableGenericPopupOverlay||!1,this.isBlockedOverlay=t;}append(e,t){this.shouldAppendOverlay()&&(this.appendOverlay(),this.updateTryAgainButton(e),this.updateCloseButton(t));}update(e){this.updateTryAgainButton(e);}remove(){this.overlay&&this.overlay.remove();}shouldAppendOverlay(){return !(this.disableGenericPopupOverlay&&this.disableBlockedPopupOverlay||this.disableGenericPopupOverlay&&!this.isBlockedOverlay||this.disableBlockedPopupOverlay&&this.isBlockedOverlay)}appendOverlay(){if(!this.overlay){tp({id:"link-googleapis",href:"https://fonts.googleapis.com"}),tp({id:"link-gstatic",href:"https://fonts.gstatic.com",crossOrigin:"anonymous"}),tp({id:"link-roboto",href:"https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,400;0,500;0,700;1,400;1,500;1,700&display=swap",rel:"stylesheet"});let t=document.createElement("div");t.innerHTML=this.isBlockedOverlay?p6():g6(),document.body.insertAdjacentElement("beforeend",t),this.overlay=t;}}updateTryAgainButton(e){let t=document.getElementById(ep);t&&(this.tryAgainListener&&t.removeEventListener("click",this.tryAgainListener),this.tryAgainListener=e,t.addEventListener("click",e));}updateCloseButton(e){let t=document.getElementById(Q0);t&&(this.onCloseListener&&t.removeEventListener("click",this.onCloseListener),this.onCloseListener=e,t.addEventListener("click",e));}};d();f();d();f();var Rc=(s=>(s.PRODUCTION="production",s.SANDBOX="sandbox",s))(Rc||{}),RT=(s=>(s.API_KEY="x-immutable-api-key",s.PUBLISHABLE_KEY="x-immutable-publishable-key",s.RATE_LIMITING_KEY="x-api-key",s))(RT||{});d();f();d();f();var Ah=13371,ba=13473,Tb=42161,Bb=421614,Ob=11155111,qn={13371:{magicPublishableApiKey:"pk_live_10F423798A540ED7",magicProviderId:"aa80b860-8869-4f13-9000-6a6ad3d20017"},13473:{magicPublishableApiKey:"pk_live_10F423798A540ED7",magicProviderId:"aa80b860-8869-4f13-9000-6a6ad3d20017"}};var Ih={chainId:13371,name:"Immutable zkEVM",rpcUrl:"https://rpc.immutable.com",relayerUrl:"https://api.immutable.com/relayer-mr",apiUrl:"https://api.immutable.com",passportDomain:"https://passport.immutable.com",magicPublishableApiKey:qn[13371].magicPublishableApiKey,magicProviderId:qn[13371].magicProviderId,magicTeeBasePath:"https://tee.express.magiclabs.com"},Ch={chainId:13473,name:"Immutable zkEVM Testnet",rpcUrl:"https://rpc.testnet.immutable.com",relayerUrl:"https://api.sandbox.immutable.com/relayer-mr",apiUrl:"https://api.sandbox.immutable.com",passportDomain:"https://passport.sandbox.immutable.com",magicPublishableApiKey:qn[13473].magicPublishableApiKey,magicProviderId:qn[13473].magicProviderId,magicTeeBasePath:"https://tee.express.magiclabs.com"},sp={chainId:42161,name:"Arbitrum One",rpcUrl:"https://arb1.arbitrum.io/rpc",relayerUrl:"https://next-arbitrum-one-relayer.sequence.app",nodeUrl:"https://next-nodes.sequence.app/arbitrum-one",apiUrl:"https://api.immutable.com",passportDomain:"https://passport.immutable.com",feeTokenSymbol:"ETH",sequenceIdentityInstrumentEndpoint:"https://next-identity.sequence.app"},y6={chainId:421614,name:"Arbitrum Sepolia",rpcUrl:"https://sepolia-rollup.arbitrum.io/rpc",relayerUrl:"https://next-arbitrum-sepolia-relayer.sequence.app",nodeUrl:"https://next-nodes.sequence.app/arbitrum-sepolia",apiUrl:"https://api.sandbox.immutable.com",passportDomain:"https://passport.sandbox.immutable.com",feeTokenSymbol:"ETH",sequenceIdentityInstrumentEndpoint:"https://next-identity.sequence-dev.app"},rp={chainId:11155111,name:"Ethereum Sepolia",rpcUrl:"https://rpc.sepolia.org",relayerUrl:"https://next-sepolia-relayer.sequence.app",nodeUrl:"https://next-nodes.sequence.app/sepolia",apiUrl:"https://api.sandbox.immutable.com",passportDomain:"https://passport.sandbox.immutable.com",feeTokenSymbol:"ETH",sequenceIdentityInstrumentEndpoint:"https://next-identity.sequence-dev.app"},np=[Ch,Ih],VT={chains:[Ih]},DT={chains:[Ch]},UT={chains:np},LT={chains:[sp]},jT={chains:[y6]},HT={chains:[rp]};d();f();var w6={zkevm:{[Rc.PRODUCTION]:Ih,[Rc.SANDBOX]:Ch},arbitrum_one:{[Rc.PRODUCTION]:sp,[Rc.SANDBOX]:rp}};function MT(){let s={};for(let[e,t]of Object.entries(w6))for(let r of Object.values(t))s[r.chainId]=e;return s[15003]="zkevm",s}var $T=MT();function qT(s,e){let t=w6[s];if(!t)throw new Error(`Chain ${s} is not supported`);let r=t[e];if(!r)throw new Error(`Chain ${s} is not configured for environment ${e}`);return r}function Vc(s){let e=typeof s=="string"?parseInt(s.includes(":")?s.split(":")[1]:s,10):s;return $T[e]??"zkevm"}var Rb="Confirm this transaction",Vb=720,Db=480,b6=1e3;var Dc=class{config;confirmationWindow;popupOptions;overlay;overlayClosed;timer;constructor(e){this.config=e,this.overlayClosed=!1;}getHref(e,t){let r=`${this.config.passportDomain}/transaction-confirmation/${e}`;if(t){let n=t?Object.keys(t).map(i=>`${i}=${t[i]}`).join("&"):"";r=`${r}?${n}`;}return r}requestConfirmation(e,t,r,n){return new Promise((i,a)=>{let o=({data:u,origin:l})=>{if(!(l!==this.config.passportDomain||u.eventType!==Eh))switch(u.messageType){case"confirmation_window_ready":{this.confirmationWindow?.postMessage({eventType:Eh,messageType:"confirmation_start"},this.config.passportDomain);break}case"transaction_confirmed":{this.closeWindow(),i({confirmed:!0});break}case"transaction_rejected":{this.closeWindow(),i({confirmed:!1});break}case"transaction_error":{this.closeWindow(),a(new Error("Error during transaction confirmation"));break}default:this.closeWindow(),a(new Error("Unsupported message type"));}},c="";if(r===S6.mr.TransactionApprovalRequestChainTypeEnum.Starkex)c=this.getHref("transaction",{transactionId:e,etherAddress:t,chainType:r});else {let l=(n?Vc(n):"zkevm").replace("_","-");c=this.getHref(`${l}/transaction`,{transactionID:e,etherAddress:t,chainType:r,chainID:n});}window.addEventListener("message",o),this.showConfirmationScreen(c,o,i);})}requestMessageConfirmation(e,t,r,n){return new Promise((i,a)=>{let o=({data:m,origin:w})=>{if(!(w!==this.config.passportDomain||m.eventType!==Eh))switch(m.messageType){case"confirmation_window_ready":{this.confirmationWindow?.postMessage({eventType:Eh,messageType:"confirmation_start"},this.config.passportDomain);break}case"message_confirmed":{this.closeWindow(),i({confirmed:!0});break}case"message_rejected":{this.closeWindow(),i({confirmed:!1});break}case"message_error":{this.closeWindow(),a(new Error("Error during message confirmation"));break}default:this.closeWindow(),a(new Error("Unsupported message type"));}};window.addEventListener("message",o);let u=Vc(n).replace("_","-"),l=this.getHref(`${u}/message`,{messageID:e,etherAddress:t,chainID:n,messageType:r});this.showConfirmationScreen(l,o,i);})}showServiceUnavailable(){return new Promise((e,t)=>{this.showConfirmationScreen(this.getHref("unavailable"),()=>{},()=>{this.closeWindow(),t(new Error("Service unavailable"));});})}loading(e){if(!this.config.crossSdkBridgeEnabled){this.popupOptions=e;try{this.confirmationWindow=X0({url:this.getHref("loading"),title:Rb,width:e?.width||Db,height:e?.height||Vb}),this.overlay=new Oc(this.config.popupOverlayOptions||{});}catch(t){let r=t instanceof Error?t.message:String(t);trackError("passport","confirmationPopupDenied",new Error(r)),this.overlay=new Oc(this.config.popupOverlayOptions||{},!0);}this.overlay.append(()=>{try{this.confirmationWindow?.close(),this.confirmationWindow=X0({url:this.getHref("loading"),title:Rb,width:this.popupOptions?.width||Db,height:this.popupOptions?.height||Vb});}catch{}},()=>{this.overlayClosed=!0,this.closeWindow();});}}closeWindow(){this.confirmationWindow?.close(),this.overlay?.remove(),this.overlay=void 0;}showConfirmationScreen(e,t,r){if(this.confirmationWindow&&(this.confirmationWindow.location.href=e),!this.overlay){this.overlayClosed=!1,r({confirmed:!1});return}let n=()=>{(this.confirmationWindow?.closed||this.overlayClosed)&&(clearInterval(this.timer),window.removeEventListener("message",t),r({confirmed:!1}),this.overlayClosed=!1,this.confirmationWindow=void 0);};this.timer=setInterval(n,b6),this.overlay.update(()=>this.recreateConfirmationWindow(e,n));}recreateConfirmationWindow(e,t){try{clearInterval(this.timer),this.confirmationWindow?.close(),this.confirmationWindow=X0({url:e,title:Rb,width:this.popupOptions?.width||Db,height:this.popupOptions?.height||Vb}),this.timer=setInterval(t,b6);}catch{}}};d();f();var Sa=(o=>(o.WALLET_CONNECTION_ERROR="WALLET_CONNECTION_ERROR",o.TRANSACTION_REJECTED="TRANSACTION_REJECTED",o.INVALID_CONFIGURATION="INVALID_CONFIGURATION",o.UNAUTHORIZED="UNAUTHORIZED",o.GUARDIAN_ERROR="GUARDIAN_ERROR",o.SERVICE_UNAVAILABLE_ERROR="SERVICE_UNAVAILABLE_ERROR",o.NOT_LOGGED_IN_ERROR="NOT_LOGGED_IN_ERROR",o))(Sa||{}),ct=class extends Error{type;constructor(e,t){super(e),this.name="WalletError",this.type=t;}};d();f();var va=s=>typeof s=="object"&&s!==null&&"isAxiosError"in s;var Ub="Transaction requires confirmation but this functionality is not supported in this environment. Please contact Immutable support if you need to enable this feature.",ip=s=>BigInt(s).toString(),GT=s=>{try{return s.map(e=>({delegateCall:e.delegateCall===!0,revertOnError:e.revertOnError===!0,gasLimit:e.gasLimit?ip(e.gasLimit):"0",target:e.to??zeroAddress,value:e.value?ip(e.value):"0",data:e.data?e.data.toString():"0x"}))}catch(e){let t=e instanceof Error?e.message:String(e);throw new pe(-32602,`Transaction failed to parsing: ${t}`)}},Uc=class{guardianApi;confirmationScreen;crossSdkBridgeEnabled;auth;constructor({config:e,auth:t,guardianApi:r,authConfig:n}){this.confirmationScreen=new Dc(n),this.crossSdkBridgeEnabled=e.crossSdkBridgeEnabled,this.guardianApi=r,this.auth=t;}withConfirmationScreen(e){return t=>this.withConfirmationScreenTask(e)(t)()}withConfirmationScreenTask(e){return t=>async()=>{this.confirmationScreen.loading(e);try{return await t()}catch(r){throw r instanceof ct&&r.type==="SERVICE_UNAVAILABLE_ERROR"?(await this.confirmationScreen.showServiceUnavailable(),r):(this.confirmationScreen.closeWindow(),r)}}}withDefaultConfirmationScreenTask(e){return this.withConfirmationScreenTask()(e)}async evaluateEVMTransaction({chainId:e,nonce:t,metaTransactions:r}){let n=await this.auth.getUserZkEvm(),i={Authorization:`Bearer ${n.accessToken}`},a=GT(r);try{return (await this.guardianApi.evaluateTransaction({id:"evm",transactionEvaluationRequest:{chainType:"evm",chainId:e,transactionData:{nonce:t,userAddress:n.zkEvm.ethAddress,metaTransactions:a}}},{headers:i})).data}catch(o){if(va(o)&&o.response?.status===403)throw new ct("Service unavailable","SERVICE_UNAVAILABLE_ERROR");let c=o instanceof Error?o.message:String(o);throw new pe(-32603,`Transaction failed to validate with error: ${c}`)}}async validateEVMTransaction({chainId:e,nonce:t,metaTransactions:r,isBackgroundTransaction:n}){let i=await this.evaluateEVMTransaction({chainId:e,nonce:t,metaTransactions:r}),{confirmationRequired:a,transactionId:o}=i;if(a&&this.crossSdkBridgeEnabled)throw new pe(-32003,Ub);if(a&&o){let c=await this.auth.getUserZkEvm();if(!(await this.confirmationScreen.requestConfirmation(o,c.zkEvm.ethAddress,S6.mr.TransactionApprovalRequestChainTypeEnum.Evm,e)).confirmed)throw new pe(-32003,"Transaction rejected by user")}else n||this.confirmationScreen.closeWindow();}async handleEIP712MessageEvaluation({chainID:e,payload:t}){try{let r=await this.auth.getUserZkEvm();if(r===null)throw new pe(4100,"User not logged in. Please log in first.");return (await this.guardianApi.evaluateMessage({messageEvaluationRequest:{chainID:e,payload:t}},{headers:{Authorization:`Bearer ${r.accessToken}`}})).data}catch(r){let n=r instanceof Error?r.message:String(r);throw new pe(-32603,`Message failed to validate with error: ${n}`)}}async evaluateEIP712Message({chainID:e,payload:t}){let{messageId:r,confirmationRequired:n}=await this.handleEIP712MessageEvaluation({chainID:e,payload:t});if(n&&this.crossSdkBridgeEnabled)throw new pe(-32003,Ub);if(n&&r){let i=await this.auth.getUserZkEvm();if(!(await this.confirmationScreen.requestMessageConfirmation(r,i.zkEvm.ethAddress,"eip712",e)).confirmed)throw new pe(-32003,"Signature rejected by user")}else this.confirmationScreen.closeWindow();}async handleERC191MessageEvaluation({chainID:e,payload:t}){try{let r=await this.auth.getUserZkEvm();if(r===null)throw new pe(4100,"User not logged in. Please log in first.");return (await this.guardianApi.evaluateErc191Message({eRC191MessageEvaluationRequest:{chainID:ms(Number(e)),payload:t}},{headers:{Authorization:`Bearer ${r.accessToken}`}})).data}catch(r){let n=r instanceof Error?r.message:String(r);throw new pe(-32603,`Message failed to validate with error: ${n}`)}}async evaluateERC191Message({chainID:e,payload:t}){let{messageId:r,confirmationRequired:n}=await this.handleERC191MessageEvaluation({chainID:e,payload:t});if(n&&this.crossSdkBridgeEnabled)throw new pe(-32003,Ub);if(n&&r){let i=await this.auth.getUserZkEvm();if(!(await this.confirmationScreen.requestMessageConfirmation(r,i.zkEvm.ethAddress,"erc191",String(e))).confirmed)throw new pe(-32003,"Signature rejected by user")}else this.confirmationScreen.closeWindow();}};d();f();var WT=s=>new Promise(e=>{setTimeout(()=>e(),s);}),ap=async(s,e)=>{let{retries:t=3,interval:r=1e3,finalErr:n=Error("Retry failed"),finallyFn:i=()=>{}}=e||{};try{return await s()}catch{return t<=0?Promise.reject(n):(await WT(r),ap(s,{retries:t-1,finalErr:n,finallyFn:i}))}finally{t<=0&&i();}};var JT=30,zT=1e3,YT=async(s,e,t)=>{let r=J0([s]),n=Ib(r),i=await t.imGetFeeOptions(e,n);if(!i||!Array.isArray(i))throw new Error("Invalid fee options received from relayer");let a=t.getPreferredFeeTokenSymbol(),o=i.find(c=>c.tokenSymbol===a);if(!o)throw new Error(`Failed to retrieve fees for ${a} token`);return o},ZT=async(s,e,t,r,n)=>{if(!s.to)throw new pe(-32602,'eth_sendTransaction requires a "to" field');let i={to:s.to.toString(),data:s.data,nonce:BigInt(0),value:s.value,revertOnError:!0},[a,o]=await Promise.all([bh(e,r,n),YT(i,r,t)]),c=[{...i,nonce:a}],u=BigInt(o.tokenPrice);return u!==BigInt(0)&&c.push({nonce:a,to:o.recipientAddress,value:u,revertOnError:!0}),c},op=async(s,e,t)=>{let n=await ap(async()=>{let i=await s.imGetTransactionByHash(e);if(i.status==="PENDING")throw new Error;return i},{retries:JT,interval:zT,finalErr:new pe(-32e3,"transaction hash not generated in time")});if(t.addEvent("endRetrieveRelayerTransaction"),!["SUBMITTED","SUCCESSFUL"].includes(n.status)){let i=`Transaction failed to submit with status ${n.status}.`;throw n.statusMessage&&(i+=` Error message: ${n.statusMessage}`),new pe(-32e3,i)}return n},cp=async({transactionRequest:s,ethSigner:e,rpcProvider:t,guardianClient:r,relayerClient:n,zkEvmAddress:i,flow:a,nonceSpace:o,isBackgroundTransaction:c})=>{let u=await t.getChainId(),l=BigInt(u);a.addEvent("endDetectNetwork");let m=await ZT(s,t,n,i,o);a.addEvent("endBuildMetaTransactions");let{nonce:w}=m[0];if(typeof w>"u")throw new Error("Failed to retrieve nonce from the smart wallet");let E=async()=>{await r.validateEVMTransaction({chainId:ms(Number(u)),nonce:ip(w),metaTransactions:m,isBackgroundTransaction:c}),a.addEvent("endValidateEVMTransaction");},v=async()=>{let D=await Y0(m,w,l,i,e);return a.addEvent("endGetSignedMetaTransactions"),D},[,A]=await Promise.all([E(),v()]),C=await n.ethSendTransaction(i,A);return a.addEvent("endRelayerSendTransaction"),{signedTransactions:A,relayerId:C,nonce:w}},XT=async s=>{if(!s.to)throw new pe(-32602,'im_signEjectionTransaction requires a "to" field');if(typeof s.nonce>"u")throw new pe(-32602,'im_signEjectionTransaction requires a "nonce" field');if(!s.chainId)throw new pe(-32602,'im_signEjectionTransaction requires a "chainId" field');return [{to:s.to.toString(),data:s.data,nonce:s.nonce??void 0,value:s.value,revertOnError:!0}]},E6=async({transactionRequest:s,ethSigner:e,zkEvmAddress:t,flow:r})=>{let n=await XT(s);r.addEvent("endBuildMetaTransactions");let i=await Y0(n,s.nonce,BigInt(s.chainId??0),t,e);return r.addEvent("endGetSignedMetaTransactions"),{to:t,data:i,chainId:ms(Number(s.chainId??0))}};var Lb=async({params:s,ethSigner:e,rpcProvider:t,relayerClient:r,guardianClient:n,zkEvmAddress:i,flow:a,nonceSpace:o,isBackgroundTransaction:c=!1})=>{let u=s[0],{relayerId:l}=await cp({transactionRequest:u,ethSigner:e,rpcProvider:t,guardianClient:n,relayerClient:r,zkEvmAddress:i,flow:a,nonceSpace:o,isBackgroundTransaction:c}),{hash:m}=await op(r,l,a);return m};d();f();var x6=["types","domain","primaryType","message"],QT=s=>x6.every(e=>e in s),eB=(s,e)=>{let t;if(typeof s=="string")try{t=JSON.parse(s);}catch(n){throw new pe(-32602,`Failed to parse typed data JSON: ${n}`)}else if(typeof s=="object")t=s;else throw new pe(-32602,`Invalid typed data argument: ${s}`);if(!QT(t))throw new pe(-32602,`Invalid typed data argument. The following properties are required: ${x6.join(", ")}`);let r=t.domain?.chainId;if(r){let n;if(typeof r=="string"?r.startsWith("0x")?n=parseInt(r,16):n=parseInt(r,10):n=Number(r),t.domain.chainId=n,BigInt(n)!==e)throw new pe(-32602,`Invalid chainId, expected ${e}`)}return t},A6=async({params:s,method:e,ethSigner:t,rpcProvider:r,relayerClient:n,guardianClient:i,flow:a})=>{let o=s[0],c=s[1];if(!o||!c)throw new pe(-32602,`${e} requires an address and a typed data JSON`);let u=await r.getChainId(),l=eB(c,BigInt(u));a.addEvent("endDetectNetwork"),await i.evaluateEIP712Message({chainID:String(u),payload:l}),a.addEvent("endValidateMessage");let m=await n.imSignTypedData(o,l);a.addEvent("endRelayerSignTypedData");let w=await Cb(l,m,BigInt(u),o,t);return a.addEvent("getSignedTypedData"),w};d();f();d();f();var sB=s=>{let e=0;for(;e<s.length&&s[e]===0;)e++;return s.slice(e)},rB=s=>{if(typeof TextDecoder<"u")return new TextDecoder("utf-8").decode(s);let e="";for(let t=0;t<s.length;t++)e+=String.fromCharCode(s[t]);return decodeURIComponent(escape(e))},I6=s=>{if(!s)return s;try{let e=toBytes(s),t=sB(e);return rB(t)}catch{return s}};var up=async({params:s,ethSigner:e,zkEvmAddress:t,rpcProvider:r,guardianClient:n,relayerClient:i,flow:a})=>{let o=s[0],c=s[1];if(!c||!o)throw new pe(-32602,"personal_sign requires an address and a message");if(c.toLowerCase()!==t.toLowerCase())throw new pe(-32602,"personal_sign requires the signer to be the from address");let u=I6(o),l=await r.getChainId();a.addEvent("endDetectNetwork");let m=BigInt(l),w=Nb(m,u,e,c);w.then(()=>a.addEvent("endEOASignature")),await n.evaluateERC191Message({chainID:m,payload:u}),a.addEvent("endEvaluateERC191Message");let[E,v]=await Promise.all([w,i.imSign(c,u)]);a.addEvent("endRelayerSign");let A=await e.getAddress();return a.addEvent("endGetEOAAddress"),Z0(E,A,v)};d();f();d();f();var nB="/v1/sdk/session-activity/check",lp,C6=s=>{lp||(lp=s);},iB=s=>{let e=new URL(nB,lp);return Object.entries(s).forEach(([t,r])=>{r!=null&&e.searchParams.append(t,String(r));}),e.toString()};async function N6(s){if(!lp)throw new Error("Client not initialised");let e=await fetch(iB(s));if(e.status!==404){if(!e.ok)throw new Error(`Session activity request failed with status ${e.status}`);return e.json()}}d();f();function P6(s,e){return (...t)=>{try{let r=s(...t);return r instanceof Promise?r.catch(n=>(n instanceof Error&&trackError("passport","sessionActivityError",n),e)):r}catch(r){return r instanceof Error&&trackError("passport","sessionActivityError",r),e}}}var{getItem:T6,setItem:jb}=utils.localStorage,Hb="sessionActivitySendCount",B6="sessionActivityDate",_b={},Fn={},hp={},O6=()=>{Fn=T6(Hb)||{};let s=T6(B6),e=new Date,t=e.getFullYear(),r=`${e.getMonth()+1}`.padStart(2,"0"),n=`${e.getDate()}`.padStart(2,"0"),i=`${t}-${r}-${n}`;(!s||s!==i)&&(Fn={}),jb(B6,i),jb(Hb,Fn);};O6();var hB=s=>{O6(),Fn[s]||(Fn[s]=0),Fn[s]++,jb(Hb,Fn),_b[s]=0;},fB=async s=>new Promise(e=>{setTimeout(e,s*1e3);}),dB=async s=>{let e=s.flow||trackFlow("passport","sendSessionActivity"),t=s.passportClient;if(!t)throw e.addEvent("No Passport Client ID"),new Error("No Passport Client ID provided");if(hp[t])return;hp[t]=!0;let{sendTransaction:r,sessionActivityApiUrl:n}=s;if(!r)throw new Error("No sendTransaction function provided");if(!n)throw new Error("No session activity API URL provided");C6(n);let i=s.walletAddress;if(!i)throw e.addEvent("No Passport Wallet Address"),new Error("No wallet address");let a;try{if(a=await N6({clientId:t,wallet:i,checkCount:_b[t]||0,sendCount:Fn[t]||0}),_b[t]++,!a)return}catch(o){throw e.addEvent("Failed to fetch details"),new Error("Failed to get details",{cause:o})}if(a&&a.contractAddress&&a.functionName){let o=parseAbi([`function ${a.functionName}()`]),c=encodeFunctionData({abi:o,functionName:a.functionName}),u=a.contractAddress;try{e.addEvent("Start Sending Transaction");let l=await s.sendTransaction([{to:u,from:i,data:c}],e);hB(t),e.addEvent("Transaction Sent",{tx:l});}catch(l){e.addEvent("Failed to send Transaction");let m=new Error("Failed to send transaction",{cause:l});trackError("passport","sessionActivityError",m,{flowId:e.details.flowId});}}a&&a.delay&&a.delay>0&&(e.addEvent("Delaying Transaction",{delay:a.delay}),await fB(a.delay),setTimeout(()=>{e.addEvent("Retrying after Delay"),hp[t]=!1,R6({...s,flow:e});},0));},R6=s=>P6(dB)(s).then(()=>{hp[s.passportClient]=!1;}),V6=R6;d();f();var D6=async({params:s,ethSigner:e,rpcProvider:t,relayerClient:r,guardianClient:n,zkEvmAddress:i,flow:a})=>{let o={to:i,value:0n},{relayerId:c}=await cp({transactionRequest:o,ethSigner:e,rpcProvider:t,guardianClient:n,relayerClient:r,zkEvmAddress:i,flow:a});return n.withConfirmationScreen()(async()=>{let u=await up({params:s,ethSigner:e,zkEvmAddress:i,rpcProvider:t,guardianClient:n,relayerClient:r,flow:a});return await op(r,c,a),u})};d();f();var U6=async({params:s,ethSigner:e,zkEvmAddress:t,flow:r})=>{if(!s||s.length!==1)throw new pe(-32602,"im_signEjectionTransaction requires a singular param (hash)");let n=s[0];return await E6({transactionRequest:n,ethSigner:e,zkEvmAddress:t,flow:r})};var fp=s=>"zkEvm"in s,Ph=class{#e;#s;#r;#t;#a;#i;#n;#u;#c;#o;isPassport=!0;constructor({auth:e,config:t,multiRollupApiClients:r,passportEventEmitter:n,guardianClient:i,ethSigner:a,user:o,sessionActivityApiUrl:c}){this.#e=e,this.#s=t,this.#i=i,this.#a=n,this.#r=c,this.#o=a,this.#n=createPublicClient({transport:http(this.#s.zkEvmRpcUrl)}),this.#c=new Sh({config:this.#s,rpcProvider:this.#n,auth:this.#e}),this.#u=r,this.#t=new TypedEventEmitter,o&&fp(o)&&this.#h(o.zkEvm.ethAddress),n.on(AuthEvents.LOGGED_IN,u=>{fp(u)&&this.#h(u.zkEvm.ethAddress);}),n.on(AuthEvents.LOGGED_OUT,this.#f),n.on("accountsRequested",V6);}#f=()=>{this.#t.emit("accountsChanged",[]);};async#h(e,t){if(!this.#r)return;let r=BigInt(1),n=async(i,a)=>await Lb({params:i,ethSigner:this.#o,guardianClient:this.#i,rpcProvider:this.#n,relayerClient:this.#c,zkEvmAddress:e,flow:a,nonceSpace:r,isBackgroundTransaction:!0});this.#a.emit("accountsRequested",{sessionActivityApiUrl:this.#r,sendTransaction:n,walletAddress:e,passportClient:t||await this.#e.getClientId()});}async#l(){try{let e=await this.#e.getUser();return e&&fp(e)?e.zkEvm.ethAddress:void 0}catch{return}}async#d(e){switch(e.method){case"eth_requestAccounts":{let t=await this.#l();if(t)return [t];let r=trackFlow("passport","ethRequestAccounts");try{let n=await this.#e.getUserOrLogin();r.addEvent("endGetUserOrLogin");let i;return fp(n)?i=n.zkEvm.ethAddress:(r.addEvent("startUserRegistration"),i=await u6({ethSigner:this.#o,auth:this.#e,multiRollupApiClients:this.#u,accessToken:n.accessToken,rpcProvider:this.#n,flow:r}),r.addEvent("endUserRegistration")),this.#t.emit("accountsChanged",[i]),identify({passportId:n.profile.sub}),this.#h(i),[i]}catch(n){throw n instanceof Error?trackError("passport","ethRequestAccounts",n,{flowId:r.details.flowId}):r.addEvent("errored"),n}finally{r.addEvent("End");}}case"eth_sendTransaction":{let t=await this.#l();if(!t)throw new pe(4100,"Unauthorised - call eth_requestAccounts first");let r=trackFlow("passport","ethSendTransaction");try{return await this.#i.withConfirmationScreen({width:480,height:720})(async()=>await Lb({params:e.params||[],ethSigner:this.#o,guardianClient:this.#i,rpcProvider:this.#n,relayerClient:this.#c,zkEvmAddress:t,flow:r}))}catch(n){throw n instanceof Error?trackError("passport","eth_sendTransaction",n,{flowId:r.details.flowId}):r.addEvent("errored"),n}finally{r.addEvent("End");}}case"eth_accounts":{let t=await this.#l();return t?[t]:[]}case"personal_sign":{let t=await this.#l();if(!t)throw new pe(4100,"Unauthorised - call eth_requestAccounts first");let r=trackFlow("passport","personalSign");try{return await this.#i.withConfirmationScreen({width:480,height:720})(async()=>this.#s.forceScwDeployBeforeMessageSignature&&!(await bh(this.#n,t)>BigInt(0))?await D6({params:e.params||[],zkEvmAddress:t,ethSigner:this.#o,rpcProvider:this.#n,guardianClient:this.#i,relayerClient:this.#c,flow:r}):await up({params:e.params||[],zkEvmAddress:t,ethSigner:this.#o,rpcProvider:this.#n,guardianClient:this.#i,relayerClient:this.#c,flow:r}))}catch(n){throw n instanceof Error?trackError("passport","personal_sign",n,{flowId:r.details.flowId}):r.addEvent("errored"),n}finally{r.addEvent("End");}}case"eth_signTypedData":case"eth_signTypedData_v4":{if(!await this.#l())throw new pe(4100,"Unauthorised - call eth_requestAccounts first");let r=trackFlow("passport","ethSignTypedDataV4");try{return await this.#i.withConfirmationScreen({width:480,height:720})(async()=>await A6({method:e.method,params:e.params||[],ethSigner:this.#o,rpcProvider:this.#n,relayerClient:this.#c,guardianClient:this.#i,flow:r}))}catch(n){throw n instanceof Error?trackError("passport","eth_signTypedData",n,{flowId:r.details.flowId}):r.addEvent("errored"),n}finally{r.addEvent("End");}}case"eth_chainId":{let t=await this.#n.getChainId();return toHex(t)}case"eth_getBalance":case"eth_getCode":case"eth_getTransactionCount":{let[t,r]=e.params||[];return this.#n.request({method:e.method,params:[t,r||"latest"]})}case"eth_getStorageAt":{let[t,r,n]=e.params||[];return this.#n.request({method:"eth_getStorageAt",params:[t,r,n||"latest"]})}case"eth_call":case"eth_estimateGas":{let[t,r]=e.params||[];return this.#n.request({method:e.method,params:[t,r||"latest"]})}case"eth_gasPrice":case"eth_blockNumber":case"eth_getBlockByHash":case"eth_getBlockByNumber":case"eth_getTransactionByHash":case"eth_getTransactionReceipt":return this.#n.request({method:e.method,params:e.params||[]});case"im_signEjectionTransaction":{let t=await this.#l();if(!t)throw new pe(4100,"Unauthorised - call eth_requestAccounts first");let r=trackFlow("passport","imSignEjectionTransaction");try{return await U6({params:e.params||[],ethSigner:this.#o,zkEvmAddress:t,flow:r})}catch(n){throw n instanceof Error?trackError("passport","imSignEjectionTransaction",n,{flowId:r.details.flowId}):r.addEvent("errored"),n}finally{r.addEvent("End");}}case"im_addSessionActivity":{let[t]=e.params||[],r=await this.#l();return r&&this.#h(r,t),null}default:throw new pe(4200,"Method not supported")}}async request(e){try{return this.#d(e)}catch(t){throw t instanceof pe?t:t instanceof Error?new pe(-32603,t.message):new pe(-32603,"Internal error")}}on(e,t){this.#t.on(e,t);}removeListener(e,t){this.#t.removeListener(e,t);}};d();f();d();f();d();f();var bB="Only sign this message from Immutable Passport";function SB(s){let e=s.startsWith("0x")?s.slice(2):s,t=e.substring(0,64),r=e.substring(64,128),n=e.substring(128,130),i=parseInt(n,16),o=(i>=27?i-27:i).toString(16).padStart(2,"0");return `0x${t}${r}${o}`}async function Mb({auth:s,ethSigner:e,multiRollupApiClients:t,accessToken:r,rpcProvider:n,flow:i}){let a=e.getAddress();a.then(()=>i.addEvent("endGetAddress"));let o=e.signMessage(bB).then(SB);o.then(()=>i.addEvent("endSignRaw"));let c=n.getChainId();c.then(()=>i.addEvent("endDetectNetwork"));let u=t.chainsApi.listChains();u.then(()=>i.addEvent("endListChains"));let[l,m,w,E]=await Promise.all([a,o,c,u]),v=ms(Number(w)),A=E.data?.result?.find(C=>C.id===v)?.name;if(!A)throw new pe(-32603,`Chain name does not exist for chain id ${w}`);try{let C=await t.passportApi.createCounterfactualAddressV2({chainName:A,createCounterfactualAddressRequest:{ethereum_address:l,ethereum_signature:m}},{headers:{Authorization:`Bearer ${r}`}});return i.addEvent("endCreateCounterfactualAddress"),s.forceUserRefreshInBackground(),C.data.counterfactual_address}catch(C){throw i.addEvent("errorRegisteringUser"),new pe(-32603,`Failed to create counterfactual address: ${C}`)}}function L6(s,e){return e in s&&!!s[e]?.ethAddress}function j6(s,e){return s[e]?.ethAddress}var Th=class{#e;#s;#r;#t;#a;#i;#n;#u;isPassport=!0;constructor({auth:e,chainConfig:t,multiRollupApiClients:r,guardianClient:n,ethSigner:i,passportEventEmitter:a}){let o=Vc(t.chainId);if(o==="zkevm")throw new Error("SequenceProvider cannot be used for zkEVM chains. Use ZkEvmProvider instead.");this.#u=o,this.#e=e,this.#s=t,this.#r=r,this.#i=n,this.#n=i,this.#a=a,this.#t=createPublicClient({transport:http(this.#s.rpcUrl)});}async#c(){let e=await this.#e.getUser();if(e&&L6(e,this.#u))return j6(e,this.#u)}async#o(e){switch(e.method){case"eth_requestAccounts":{let t=await this.#c();if(t)return [t];let r=trackFlow("passport","ethRequestAccounts");try{let n=await this.#e.getUserOrLogin();r.addEvent("endGetUserOrLogin");let i;if(L6(n,this.#u)?i=j6(n,this.#u):(r.addEvent("startUserRegistration"),i=await Mb({auth:this.#e,ethSigner:this.#n,multiRollupApiClients:this.#r,accessToken:n.accessToken,rpcProvider:this.#t,flow:r}),r.addEvent("endUserRegistration")),!i)throw new pe(-32603,"Failed to get user address after registration");return this.#a.emit("accountsChanged",[i]),identify({passportId:n.profile.sub}),[i]}catch(n){throw n instanceof Error?trackError("passport","ethRequestAccounts",n,{flowId:r.details.flowId}):r.addEvent("errored"),n}finally{r.addEvent("End");}}case"eth_accounts":{let t=await this.#c();return t?[t]:[]}case"eth_sendTransaction":throw new pe(4200,"eth_sendTransaction not yet implemented for this chain");case"personal_sign":throw new pe(4200,"personal_sign not yet implemented for this chain");case"eth_signTypedData":case"eth_signTypedData_v4":throw new pe(4200,"eth_signTypedData not yet implemented for this chain");case"eth_chainId":{let t=await this.#t.getChainId();return toHex(t)}case"eth_getBalance":case"eth_getCode":case"eth_getTransactionCount":{let[t,r]=e.params||[];return this.#t.request({method:e.method,params:[t,r||"latest"]})}case"eth_getStorageAt":{let[t,r,n]=e.params||[];return this.#t.request({method:"eth_getStorageAt",params:[t,r,n||"latest"]})}case"eth_call":case"eth_estimateGas":{let[t,r]=e.params||[];return this.#t.request({method:e.method,params:[t,r||"latest"]})}case"eth_gasPrice":case"eth_blockNumber":case"eth_getBlockByHash":case"eth_getBlockByNumber":case"eth_getTransactionByHash":case"eth_getTransactionReceipt":return this.#t.request({method:e.method,params:e.params||[]});default:throw new pe(4200,"Method not supported")}}async request(e){try{return this.#o(e)}catch(t){throw t instanceof pe?t:t instanceof Error?new pe(-32603,t.message):new pe(-32603,"Internal error")}}on(e,t){this.#a.on(e,t);}removeListener(e,t){this.#a.removeListener(e,t);}};d();f();var Bh=class{passportDomain;zkEvmRpcUrl;relayerUrl;indexerMrBasePath;jsonRpcReferrer;forceScwDeployBeforeMessageSignature;crossSdkBridgeEnabled;feeTokenSymbol;constructor(e){this.passportDomain=e.passportDomain,this.zkEvmRpcUrl=e.zkEvmRpcUrl,this.relayerUrl=e.relayerUrl,this.indexerMrBasePath=e.indexerMrBasePath,this.jsonRpcReferrer=e.jsonRpcReferrer,this.forceScwDeployBeforeMessageSignature=e.forceScwDeployBeforeMessageSignature||!1,this.crossSdkBridgeEnabled=e.crossSdkBridgeEnabled||!1,this.feeTokenSymbol=e.feeTokenSymbol||"IMX";}};d();f();d();f();var $b=async(s,e,t=!0,r=!0)=>{let n=trackFlow("passport",e,t);try{return await s(n)}catch(i){throw i instanceof Error?trackError("passport",e,i,{flowId:n.details.flowId}):n.addEvent("errored"),i}finally{r&&n.addEvent("End");}};var _6="ETH",PB=s=>s.reduce((e,t)=>`${e}${t.toString(16).padStart(2,"0")}`,""),TB=s=>{if(typeof TextEncoder<"u")return new TextEncoder().encode(s);let e=unescape(encodeURIComponent(s)),t=new Uint8Array(e.length);for(let r=0;r<e.length;r+=1)t[r]=e.charCodeAt(r);return t},BB=s=>{let e=TB(s),t="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",r="";for(let n=0;n<e.length;n+=3){let i=e[n],a=e[n+1],o=e[n+2],c=i<<16|(a??0)<<8|(o??0),u=c>>18&63,l=c>>12&63,m=c>>6&63,w=c&63;r+=t[u]+t[l],r+=Number.isFinite(a)?t[m]:"=",r+=Number.isFinite(o)?t[w]:"=";}return r},Lc=class s{auth;magicTeeApiClient;userWallet=null;createWalletPromise=null;constructor(e,t){this.auth=e,this.magicTeeApiClient=t;}async getUserWallet(){let{userWallet:e}=this;e||(e=await this.createWallet());let t=await this.getUserOrThrow();if(t.profile.sub!==e.userIdentifier&&(e=await this.createWallet(t)),isUserZkEvm(t)&&t.zkEvm.userAdminAddress.toLowerCase()!==e.walletAddress.toLowerCase())throw new ct(`Wallet address mismatch.Rollup: zkEVM, TEE address: ${e.walletAddress}, profile address: ${t.zkEvm.userAdminAddress}`,"WALLET_CONNECTION_ERROR");return e}async createWallet(e){return this.createWalletPromise?this.createWalletPromise:(this.createWalletPromise=new Promise(async(t,r)=>{try{this.userWallet=null;let n=e||await this.getUserOrThrow(),i=s.getHeaders(n);await $b(async a=>{try{let o=performance.now(),c=await this.magicTeeApiClient.walletApi.createWalletV1WalletPost({xMagicChain:_6},{headers:i});return trackDuration("passport",a.details.flowName,Math.round(performance.now()-o)),this.userWallet={userIdentifier:n.profile.sub,walletAddress:c.data.public_address},t(this.userWallet)}catch(o){let c="MagicTEE: Failed to initialise EOA";return va(o)?o.response?c+=` with status ${o.response.status}: ${JSON.stringify(o.response.data)}`:c+=`: ${o.message}`:c+=`: ${o.message}`,r(new Error(c))}},"magicCreateWallet");}catch(n){r(n);}finally{this.createWalletPromise=null;}}),this.createWalletPromise)}async getUserOrThrow(){let e=await this.auth.getUser();if(!e)throw new ct("User has been logged out","NOT_LOGGED_IN_ERROR");return e}static getHeaders(e){if(!e)throw new ct("User has been logged out","NOT_LOGGED_IN_ERROR");return {Authorization:`Bearer ${e.idToken}`}}async getAddress(){return (await this.getUserWallet()).walletAddress}async signMessage(e){await this.getUserWallet();let t=e instanceof Uint8Array?`0x${PB(e)}`:e,r=await this.getUserOrThrow(),n=s.getHeaders(r);return $b(async i=>{try{let a=performance.now(),o=await this.magicTeeApiClient.signOperationsApi.signMessageV1WalletSignMessagePost({signMessageRequest:{message_base64:BB(t)},xMagicChain:_6},{headers:n});return trackDuration("passport",i.details.flowName,Math.round(performance.now()-a)),o.data.signature}catch(a){let o="MagicTEE: Failed to sign message using EOA";throw va(a)?a.response?o+=` with status ${a.response.status}: ${JSON.stringify(a.response.data)}`:o+=`: ${a.message}`:o+=`: ${a.message}`,new Error(o)}},"magicSignMessage")}};d();f();var qb={icon:'data:image/svg+xml,<svg viewBox="0 0 48 48" class="SvgIcon undefined Logo Logo--PassportSymbolOutlined css-1dn9atd" xmlns="http://www.w3.org/2000/svg"><g data-testid="undefined__g"><circle cx="24" cy="24" r="22.5" fill="url(%23paint0_radial_6324_83922)"></circle><circle cx="24" cy="24" r="22.5" fill="url(%23paint1_radial_6324_83922)"></circle><path d="M24 0C10.7452 0 0 10.7452 0 24C0 37.2548 10.7452 48 24 48C37.2548 48 48 37.2548 48 24C48 10.7452 37.2548 0 24 0ZM23.0718 9.16608C23.7383 8.83951 24.4406 8.86188 25.087 9.2287C27.3282 10.5059 29.5627 11.7942 31.786 13.096C32.5018 13.5165 32.8686 14.1897 32.8708 15.0173C32.8843 17.9184 32.8798 20.8171 32.8708 23.7182C32.8708 23.8255 32.8015 23.9821 32.7143 24.0335C31.8531 24.548 30.9808 25.0423 30.0347 25.5881V25.1318C30.0347 22.148 30.0257 19.1664 30.0414 16.1827C30.0436 15.6101 29.8468 15.241 29.339 14.9525C26.7377 13.474 24.1499 11.9687 21.5575 10.4723C21.4457 10.4075 21.3361 10.3381 21.1661 10.2352C21.8326 9.85722 22.4321 9.47698 23.0673 9.16608H23.0718ZM22.5953 38.8451C22.45 38.7713 22.3426 38.7198 22.2375 38.6595C18.8041 36.68 15.3752 34.687 11.9307 32.7232C10.9644 32.173 10.5238 31.3879 10.5349 30.2852C10.5551 27.9411 10.5484 25.597 10.5372 23.2507C10.5327 22.1927 10.9622 21.4255 11.8926 20.8977C14.3105 19.5221 16.715 18.1264 19.1195 16.7284C19.3275 16.6076 19.4796 16.5875 19.6965 16.7172C20.5264 17.216 21.3719 17.6924 22.2554 18.2024C22.0876 18.3031 21.9601 18.3791 21.8304 18.4552C19.2268 19.9582 16.6278 21.4658 14.0175 22.9599C13.5903 23.2037 13.3912 23.5213 13.3957 24.0179C13.4091 25.8654 13.4114 27.713 13.3957 29.5605C13.3912 30.0705 13.5948 30.3948 14.0332 30.6453C16.7866 32.2199 19.5288 33.8125 22.28 35.3916C22.5126 35.5258 22.611 35.6645 22.6065 35.9418C22.5864 36.888 22.5998 37.8363 22.5998 38.8473L22.5953 38.8451ZM22.5953 33.553C22.356 33.4166 22.1838 33.3204 22.0116 33.2198C19.8285 31.9605 17.6477 30.6967 15.4602 29.4464C15.2231 29.3122 15.1359 29.1668 15.1381 28.8917C15.1538 27.4714 15.1471 26.0511 15.1426 24.6308C15.1426 24.4384 15.1717 24.3064 15.3618 24.1991C16.167 23.7495 16.9633 23.2798 17.7618 22.8212C17.8199 22.7877 17.8826 22.7631 17.9877 22.7116V24.3064C17.9877 25.1698 18.0011 26.0354 17.9832 26.8988C17.972 27.3909 18.1622 27.7241 18.5916 27.9657C19.8285 28.6636 21.0498 29.3883 22.2867 30.0839C22.5305 30.2203 22.6043 30.3724 22.5998 30.6408C22.5842 31.5847 22.5931 32.5308 22.5931 33.5508L22.5953 33.553ZM20.0746 14.91C19.6116 14.6371 19.2157 14.6393 18.7527 14.91C16.1581 16.4265 13.5523 17.9228 10.9487 19.4259C10.8391 19.4908 10.7251 19.5489 10.5305 19.6541C10.5998 18.6654 10.3873 17.7327 10.7251 16.8291C10.9085 16.3348 11.2529 15.9635 11.7092 15.6995C13.8811 14.4447 16.0507 13.1877 18.227 11.9396C19.0211 11.4833 19.8308 11.4945 20.6248 11.953C23.0964 13.3756 25.5657 14.8026 28.0306 16.2341C28.1357 16.2945 28.2677 16.4309 28.2677 16.5338C28.2856 17.5493 28.2788 18.567 28.2788 19.6563C27.3819 19.1396 26.5543 18.6609 25.7267 18.1823C23.8412 17.093 21.9512 16.0149 20.0746 14.91ZM37.4427 30.8779C37.3778 31.6764 36.9103 32.2423 36.2192 32.6404C33.5732 34.1614 30.9294 35.6913 28.2856 37.2168C27.4557 37.6954 26.6259 38.1741 25.7938 38.6527C25.6932 38.7109 25.5903 38.7601 25.4539 38.8317C25.4449 38.693 25.4337 38.5924 25.4337 38.4917C25.4337 37.6149 25.4382 36.7404 25.4293 35.8636C25.4293 35.6645 25.4762 35.5437 25.6596 35.4386C29.5157 33.2198 33.3696 30.9942 37.2212 28.7709C37.2794 28.7374 37.3443 28.7105 37.4539 28.6591C37.4539 29.4375 37.4986 30.1622 37.4427 30.8779ZM37.4628 25.3577C37.4561 26.2658 36.9663 26.9033 36.1901 27.3506C33.175 29.0841 30.1622 30.8265 27.1493 32.5666C26.5991 32.8842 26.0466 33.1996 25.4561 33.5396C25.4472 33.3897 25.436 33.2913 25.436 33.1907C25.436 32.3273 25.4449 31.4617 25.4293 30.5983C25.4248 30.3523 25.5075 30.2226 25.72 30.0995C28.46 28.5271 31.1911 26.9368 33.9355 25.3733C34.4231 25.096 34.6378 24.7538 34.6334 24.1812C34.6132 21.1974 34.6244 18.2136 34.6244 15.2298V14.7087C35.3402 15.1404 36.0112 15.496 36.624 15.9299C37.1832 16.3258 37.465 16.9253 37.4673 17.6164C37.4762 20.1976 37.4829 22.7788 37.465 25.3599L37.4628 25.3577Z" fill="%230D0D0D"></path><path fill-rule="evenodd" d="M24 0C10.7452 0 0 10.7452 0 24C0 37.2548 10.7452 48 24 48C37.2548 48 48 37.2548 48 24C48 10.7452 37.2548 0 24 0ZM24 2C11.8497 2 2 11.8497 2 24C2 36.1503 11.8497 46 24 46C36.1503 46 46 36.1503 46 24C46 11.8497 36.1503 2 24 2Z" fill="url(%23paint2_radial_6324_83922)"></path><path fill-rule="evenodd" d="M24 0C10.7452 0 0 10.7452 0 24C0 37.2548 10.7452 48 24 48C37.2548 48 48 37.2548 48 24C48 10.7452 37.2548 0 24 0ZM24 2C11.8497 2 2 11.8497 2 24C2 36.1503 11.8497 46 24 46C36.1503 46 46 36.1503 46 24C46 11.8497 36.1503 2 24 2Z" fill="url(%23paint3_radial_6324_83922)"></path><defs><radialGradient id="paint0_radial_6324_83922" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="translate(13.4442 13.3899) rotate(44.9817) scale(46.7487 99.1435)"><stop stop-color="%23A3EEF8"></stop><stop offset="0.177083" stop-color="%23A4DCF5"></stop><stop offset="0.380208" stop-color="%23A6AEEC"></stop><stop offset="1" stop-color="%23ECBEE1"></stop></radialGradient><radialGradient id="paint1_radial_6324_83922" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="translate(25.9515 43.7068) rotate(84.265) scale(24.2138 46.3215)"><stop stop-color="%23FCF5EE"></stop><stop offset="0.715135" stop-color="%23ECBEE1" stop-opacity="0"></stop></radialGradient><radialGradient id="paint2_radial_6324_83922" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="translate(12.7405 12.6825) rotate(44.9817) scale(49.8653 105.753)"><stop stop-color="%23A3EEF8"></stop><stop offset="0.177083" stop-color="%23A4DCF5"></stop><stop offset="0.380208" stop-color="%23A6AEEC"></stop><stop offset="1" stop-color="%23ECBEE1"></stop></radialGradient><radialGradient id="paint3_radial_6324_83922" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="translate(26.0816 45.0206) rotate(84.265) scale(25.828 49.4096)"><stop stop-color="%23FCF5EE"></stop><stop offset="0.715135" stop-color="%23ECBEE1" stop-opacity="0"></stop></radialGradient></defs></g></svg>',name:"Immutable Passport",rdns:"com.immutable.passport",uuid:"3f0259bb-54c0-4ff0-85f2-6bb7c2d8b6c8"};function Fb(s){if(typeof window>"u")return;let e=new CustomEvent("eip6963:announceProvider",{detail:Object.freeze(s)});window.dispatchEvent(e);let t=()=>window.dispatchEvent(e);window.addEventListener("eip6963:requestProvider",t);}d();f();d();f();d();f();var za={};Te(za,{IdentitySigner:()=>l1,toIdentityAuthKey:()=>ex});d();f();d();f();var Et={};Te(Et,{format:()=>GB,from:()=>WB});d();f();d();f();d();f();d();f();var M6="1.1.0";var Nt=class s extends Error{constructor(e,t={}){let r=t.cause instanceof s?t.cause.details:t.cause?.message?t.cause.message:t.details,n=t.cause instanceof s&&t.cause.docsPath||t.docsPath,i=[e||"An error occurred.","",...t.metaMessages?[...t.metaMessages,""]:[],...n?[`Docs: https://abitype.dev${n}`]:[],...r?[`Details: ${r}`]:[],`Version: abitype@${M6}`].join(`
337
- `);super(i),Object.defineProperty(this,"details",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"docsPath",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"metaMessages",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"shortMessage",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiTypeError"}),t.cause&&(this.cause=t.cause),this.details=r,this.docsPath=n,this.metaMessages=t.metaMessages,this.shortMessage=e;}};d();f();d();f();d();f();d();f();d();f();function Os(s,e){return s.exec(e)?.groups}var Kb=/^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/,Gb=/^u?int(8|16|24|32|40|48|56|64|72|80|88|96|104|112|120|128|136|144|152|160|168|176|184|192|200|208|216|224|232|240|248|256)?$/,dp=/^\(.+?\).*?$/;var $6=/^tuple(?<array>(\[(\d*)\])*)$/;function mp(s){let e=s.type;if($6.test(s.type)&&"components"in s){e="(";let t=s.components.length;for(let n=0;n<t;n++){let i=s.components[n];e+=mp(i),n<t-1&&(e+=", ");}let r=Os($6,s.type);return e+=`)${r?.array??""}`,mp({...s,type:e})}return "indexed"in s&&s.indexed&&(e=`${e} indexed`),s.name?`${e} ${s.name}`:e}function vr(s){let e="",t=s.length;for(let r=0;r<t;r++){let n=s[r];e+=mp(n),r!==t-1&&(e+=", ");}return e}function Hr(s){return s.type==="function"?`function ${s.name}(${vr(s.inputs)})${s.stateMutability&&s.stateMutability!=="nonpayable"?` ${s.stateMutability}`:""}${s.outputs?.length?` returns (${vr(s.outputs)})`:""}`:s.type==="event"?`event ${s.name}(${vr(s.inputs)})`:s.type==="error"?`error ${s.name}(${vr(s.inputs)})`:s.type==="constructor"?`constructor(${vr(s.inputs)})${s.stateMutability==="payable"?" payable":""}`:s.type==="fallback"?`fallback() external${s.stateMutability==="payable"?" payable":""}`:"receive() external payable"}function Wb(s){let e=[],t=s.length;for(let r=0;r<t;r++){let n=s[r],i=Hr(n);e.push(i);}return e}d();f();d();f();var q6=/^error (?<name>[a-zA-Z$_][a-zA-Z0-9$_]*)\((?<parameters>.*?)\)$/;function F6(s){return q6.test(s)}function K6(s){return Os(q6,s)}var G6=/^event (?<name>[a-zA-Z$_][a-zA-Z0-9$_]*)\((?<parameters>.*?)\)$/;function W6(s){return G6.test(s)}function J6(s){return Os(G6,s)}var z6=/^function (?<name>[a-zA-Z$_][a-zA-Z0-9$_]*)\((?<parameters>.*?)\)(?: (?<scope>external|public{1}))?(?: (?<stateMutability>pure|view|nonpayable|payable{1}))?(?: returns\s?\((?<returns>.*?)\))?$/;function Y6(s){return z6.test(s)}function Z6(s){return Os(z6,s)}var X6=/^struct (?<name>[a-zA-Z$_][a-zA-Z0-9$_]*) \{(?<properties>.*?)\}$/;function Kn(s){return X6.test(s)}function Q6(s){return Os(X6,s)}var e3=/^constructor\((?<parameters>.*?)\)(?:\s(?<stateMutability>payable{1}))?$/;function t3(s){return e3.test(s)}function s3(s){return Os(e3,s)}var r3=/^fallback\(\) external(?:\s(?<stateMutability>payable{1}))?$/;function n3(s){return r3.test(s)}function i3(s){return Os(r3,s)}var OB=/^receive\(\) external payable$/;function a3(s){return OB.test(s)}var Jb=new Set(["memory","indexed","storage","calldata"]),o3=new Set(["indexed"]),pp=new Set(["calldata","memory","storage"]);d();f();d();f();var gp=class extends Nt{constructor({signature:e}){super("Failed to parse ABI item.",{details:`parseAbiItem(${JSON.stringify(e,null,2)})`,docsPath:"/api/human#parseabiitem-1"}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidAbiItemError"});}},yp=class extends Nt{constructor({type:e}){super("Unknown type.",{metaMessages:[`Type "${e}" is not a valid ABI type. Perhaps you forgot to include a struct signature?`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"UnknownTypeError"});}},wp=class extends Nt{constructor({type:e}){super("Unknown type.",{metaMessages:[`Type "${e}" is not a valid ABI type.`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"UnknownSolidityTypeError"});}};d();f();var bp=class extends Nt{constructor({params:e}){super("Failed to parse ABI parameters.",{details:`parseAbiParameters(${JSON.stringify(e,null,2)})`,docsPath:"/api/human#parseabiparameters-1"}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidAbiParametersError"});}},Sp=class extends Nt{constructor({param:e}){super("Invalid ABI parameter.",{details:e}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidParameterError"});}},vp=class extends Nt{constructor({param:e,name:t}){super("Invalid ABI parameter.",{details:e,metaMessages:[`"${t}" is a protected Solidity keyword. More info: https://docs.soliditylang.org/en/latest/cheatsheet.html`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"SolidityProtectedKeywordError"});}},Ep=class extends Nt{constructor({param:e,type:t,modifier:r}){super("Invalid ABI parameter.",{details:e,metaMessages:[`Modifier "${r}" not allowed${t?` in "${t}" type`:""}.`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidModifierError"});}},xp=class extends Nt{constructor({param:e,type:t,modifier:r}){super("Invalid ABI parameter.",{details:e,metaMessages:[`Modifier "${r}" not allowed${t?` in "${t}" type`:""}.`,`Data location can only be specified for array, struct, or mapping types, but "${r}" was given.`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidFunctionModifierError"});}},Ap=class extends Nt{constructor({abiParameter:e}){super("Invalid ABI parameter.",{details:JSON.stringify(e,null,2),metaMessages:["ABI parameter type is invalid."]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidAbiTypeParameterError"});}};d();f();var Er=class extends Nt{constructor({signature:e,type:t}){super(`Invalid ${t} signature.`,{details:e}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidSignatureError"});}},Ip=class extends Nt{constructor({signature:e}){super("Unknown signature.",{details:e}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"UnknownSignatureError"});}},Cp=class extends Nt{constructor({signature:e}){super("Invalid struct signature.",{details:e,metaMessages:["No properties exist."]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidStructSignatureError"});}};d();f();var Np=class extends Nt{constructor({type:e}){super("Circular reference detected.",{metaMessages:[`Struct "${e}" is a circular reference.`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"CircularReferenceError"});}};d();f();d();f();var kp=class extends Nt{constructor({current:e,depth:t}){super("Unbalanced parentheses.",{metaMessages:[`"${e.trim()}" has too many ${t>0?"opening":"closing"} parentheses.`],details:`Depth "${t}"`}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidParenthesisError"});}};d();f();function c3(s,e,t){let r="";if(t)for(let n of Object.entries(t)){if(!n)continue;let i="";for(let a of n[1])i+=`[${a.type}${a.name?`:${a.name}`:""}]`;r+=`(${n[0]}{${i}})`;}return e?`${e}:${s}${r}`:s}var Pp=new Map([["address",{type:"address"}],["bool",{type:"bool"}],["bytes",{type:"bytes"}],["bytes32",{type:"bytes32"}],["int",{type:"int256"}],["int256",{type:"int256"}],["string",{type:"string"}],["uint",{type:"uint256"}],["uint8",{type:"uint8"}],["uint16",{type:"uint16"}],["uint24",{type:"uint24"}],["uint32",{type:"uint32"}],["uint64",{type:"uint64"}],["uint96",{type:"uint96"}],["uint112",{type:"uint112"}],["uint160",{type:"uint160"}],["uint192",{type:"uint192"}],["uint256",{type:"uint256"}],["address owner",{type:"address",name:"owner"}],["address to",{type:"address",name:"to"}],["bool approved",{type:"bool",name:"approved"}],["bytes _data",{type:"bytes",name:"_data"}],["bytes data",{type:"bytes",name:"data"}],["bytes signature",{type:"bytes",name:"signature"}],["bytes32 hash",{type:"bytes32",name:"hash"}],["bytes32 r",{type:"bytes32",name:"r"}],["bytes32 root",{type:"bytes32",name:"root"}],["bytes32 s",{type:"bytes32",name:"s"}],["string name",{type:"string",name:"name"}],["string symbol",{type:"string",name:"symbol"}],["string tokenURI",{type:"string",name:"tokenURI"}],["uint tokenId",{type:"uint256",name:"tokenId"}],["uint8 v",{type:"uint8",name:"v"}],["uint256 balance",{type:"uint256",name:"balance"}],["uint256 tokenId",{type:"uint256",name:"tokenId"}],["uint256 value",{type:"uint256",name:"value"}],["event:address indexed from",{type:"address",name:"from",indexed:!0}],["event:address indexed to",{type:"address",name:"to",indexed:!0}],["event:uint indexed tokenId",{type:"uint256",name:"tokenId",indexed:!0}],["event:uint256 indexed tokenId",{type:"uint256",name:"tokenId",indexed:!0}]]);function Oh(s,e={}){if(Y6(s))return RB(s,e);if(W6(s))return VB(s,e);if(F6(s))return DB(s,e);if(t3(s))return UB(s,e);if(n3(s))return LB(s);if(a3(s))return {type:"receive",stateMutability:"payable"};throw new Ip({signature:s})}function RB(s,e={}){let t=Z6(s);if(!t)throw new Er({signature:s,type:"function"});let r=As(t.parameters),n=[],i=r.length;for(let o=0;o<i;o++)n.push(Ys(r[o],{modifiers:pp,structs:e,type:"function"}));let a=[];if(t.returns){let o=As(t.returns),c=o.length;for(let u=0;u<c;u++)a.push(Ys(o[u],{modifiers:pp,structs:e,type:"function"}));}return {name:t.name,type:"function",stateMutability:t.stateMutability??"nonpayable",inputs:n,outputs:a}}function VB(s,e={}){let t=J6(s);if(!t)throw new Er({signature:s,type:"event"});let r=As(t.parameters),n=[],i=r.length;for(let a=0;a<i;a++)n.push(Ys(r[a],{modifiers:o3,structs:e,type:"event"}));return {name:t.name,type:"event",inputs:n}}function DB(s,e={}){let t=K6(s);if(!t)throw new Er({signature:s,type:"error"});let r=As(t.parameters),n=[],i=r.length;for(let a=0;a<i;a++)n.push(Ys(r[a],{structs:e,type:"error"}));return {name:t.name,type:"error",inputs:n}}function UB(s,e={}){let t=s3(s);if(!t)throw new Er({signature:s,type:"constructor"});let r=As(t.parameters),n=[],i=r.length;for(let a=0;a<i;a++)n.push(Ys(r[a],{structs:e,type:"constructor"}));return {type:"constructor",stateMutability:t.stateMutability??"nonpayable",inputs:n}}function LB(s){let e=i3(s);if(!e)throw new Er({signature:s,type:"fallback"});return {type:"fallback",stateMutability:e.stateMutability??"nonpayable"}}var jB=/^(?<type>[a-zA-Z$_][a-zA-Z0-9$_]*(?:\spayable)?)(?<array>(?:\[\d*?\])+?)?(?:\s(?<modifier>calldata|indexed|memory|storage{1}))?(?:\s(?<name>[a-zA-Z$_][a-zA-Z0-9$_]*))?$/,HB=/^\((?<type>.+?)\)(?<array>(?:\[\d*?\])+?)?(?:\s(?<modifier>calldata|indexed|memory|storage{1}))?(?:\s(?<name>[a-zA-Z$_][a-zA-Z0-9$_]*))?$/,_B=/^u?int$/;function Ys(s,e){let t=c3(s,e?.type,e?.structs);if(Pp.has(t))return Pp.get(t);let r=dp.test(s),n=Os(r?HB:jB,s);if(!n)throw new Sp({param:s});if(n.name&&$B(n.name))throw new vp({param:s,name:n.name});let i=n.name?{name:n.name}:{},a=n.modifier==="indexed"?{indexed:!0}:{},o=e?.structs??{},c,u={};if(r){c="tuple";let m=As(n.type),w=[],E=m.length;for(let v=0;v<E;v++)w.push(Ys(m[v],{structs:o}));u={components:w};}else if(n.type in o)c="tuple",u={components:o[n.type]};else if(_B.test(n.type))c=`${n.type}256`;else if(n.type==="address payable")c="address";else if(c=n.type,e?.type!=="struct"&&!zb(c))throw new wp({type:c});if(n.modifier){if(!e?.modifiers?.has?.(n.modifier))throw new Ep({param:s,type:e?.type,modifier:n.modifier});if(pp.has(n.modifier)&&!qB(c,!!n.array))throw new xp({param:s,type:e?.type,modifier:n.modifier})}let l={type:`${c}${n.array??""}`,...i,...a,...u};return Pp.set(t,l),l}function As(s,e=[],t="",r=0){let n=s.trim().length;for(let i=0;i<n;i++){let a=s[i],o=s.slice(i+1);switch(a){case",":return r===0?As(o,[...e,t.trim()]):As(o,e,`${t}${a}`,r);case"(":return As(o,e,`${t}${a}`,r+1);case")":return As(o,e,`${t}${a}`,r-1);default:return As(o,e,`${t}${a}`,r)}}if(t==="")return e;if(r!==0)throw new kp({current:t,depth:r});return e.push(t.trim()),e}function zb(s){return s==="address"||s==="bool"||s==="function"||s==="string"||Kb.test(s)||Gb.test(s)}var MB=/^(?:after|alias|anonymous|apply|auto|byte|calldata|case|catch|constant|copyof|default|defined|error|event|external|false|final|function|immutable|implements|in|indexed|inline|internal|let|mapping|match|memory|mutable|null|of|override|partial|private|promise|public|pure|reference|relocatable|return|returns|sizeof|static|storage|struct|super|supports|switch|this|true|try|typedef|typeof|var|view|virtual)$/;function $B(s){return s==="address"||s==="bool"||s==="function"||s==="string"||s==="tuple"||Kb.test(s)||Gb.test(s)||MB.test(s)}function qB(s,e){return e||s==="bytes"||s==="string"||s==="tuple"}function jc(s){let e={},t=s.length;for(let a=0;a<t;a++){let o=s[a];if(!Kn(o))continue;let c=Q6(o);if(!c)throw new Er({signature:o,type:"struct"});let u=c.properties.split(";"),l=[],m=u.length;for(let w=0;w<m;w++){let v=u[w].trim();if(!v)continue;let A=Ys(v,{type:"struct"});l.push(A);}if(!l.length)throw new Cp({signature:o});e[c.name]=l;}let r={},n=Object.entries(e),i=n.length;for(let a=0;a<i;a++){let[o,c]=n[a];r[o]=u3(c,e);}return r}var FB=/^(?<type>[a-zA-Z$_][a-zA-Z0-9$_]*)(?<array>(?:\[\d*?\])+?)?$/;function u3(s,e,t=new Set){let r=[],n=s.length;for(let i=0;i<n;i++){let a=s[i];if(dp.test(a.type))r.push(a);else {let c=Os(FB,a.type);if(!c?.type)throw new Ap({abiParameter:a});let{array:u,type:l}=c;if(l in e){if(t.has(l))throw new Np({type:l});r.push({...a,type:`tuple${u??""}`,components:u3(e[l]??[],e,new Set([...t,l]))});}else if(zb(l))r.push(a);else throw new yp({type:l})}}return r}function Yb(s){let e=jc(s),t=[],r=s.length;for(let n=0;n<r;n++){let i=s[n];Kn(i)||t.push(Oh(i,e));}return t}d();f();function Tp(s){let e;if(typeof s=="string")e=Oh(s);else {let t=jc(s),r=s.length;for(let n=0;n<r;n++){let i=s[n];if(!Kn(i)){e=Oh(i,t);break}}}if(!e)throw new gp({signature:s});return e}d();f();function Bp(s){let e=[];if(typeof s=="string"){let t=As(s),r=t.length;for(let n=0;n<r;n++)e.push(Ys(t[n],{modifiers:Jb}));}else {let t=jc(s),r=s.length;for(let n=0;n<r;n++){let i=s[n];if(Kn(i))continue;let a=As(i),o=a.length;for(let c=0;c<o;c++)e.push(Ys(a[c],{modifiers:Jb,structs:t}));}}if(e.length===0)throw new bp({params:s});return e}d();f();function l3(s){for(let e of s)if(typeof e!="string")return !1;return !0}function GB(s){return Wb(s)}function WB(s){return l3(s)?Yb(s):s}d();f();d();f();d();f();d();f();var h3="0.1.1";function f3(){return h3}var re=class s extends Error{static setStaticOptions(e){s.prototype.docsOrigin=e.docsOrigin,s.prototype.showVersion=e.showVersion,s.prototype.version=e.version;}constructor(e,t={}){let r=(()=>{if(t.cause instanceof s){if(t.cause.details)return t.cause.details;if(t.cause.shortMessage)return t.cause.shortMessage}return t.cause&&"details"in t.cause&&typeof t.cause.details=="string"?t.cause.details:t.cause?.message?t.cause.message:t.details})(),n=t.cause instanceof s&&t.cause.docsPath||t.docsPath,i=t.docsOrigin??s.prototype.docsOrigin,a=`${i}${n??""}`,o=!!(t.version??s.prototype.showVersion),c=t.version??s.prototype.version,u=[e||"An error occurred.",...t.metaMessages?["",...t.metaMessages]:[],...r||n||o?["",r?`Details: ${r}`:void 0,n?`See: ${a}`:void 0,o?`Version: ${c}`:void 0]:[]].filter(l=>typeof l=="string").join(`
338
- `);super(u,t.cause?{cause:t.cause}:void 0),Object.defineProperty(this,"details",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"docs",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"docsOrigin",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"docsPath",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"shortMessage",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"showVersion",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"version",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"cause",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"BaseError"}),this.cause=t.cause,this.details=r,this.docs=a,this.docsOrigin=i,this.docsPath=n,this.shortMessage=e,this.showVersion=o,this.version=c;}walk(e){return d3(this,e)}};Object.defineProperty(re,"defaultStaticOptions",{enumerable:!0,configurable:!0,writable:!0,value:{docsOrigin:"https://oxlib.sh",showVersion:!1,version:`ox@${f3()}`}});re.setStaticOptions(re.defaultStaticOptions);function d3(s,e){return e?.(s)?s:s&&typeof s=="object"&&"cause"in s&&s.cause?d3(s.cause,e):e?null:s}var ye={};Te(ye,{keccak256:()=>Tt,ripemd160:()=>LO,sha256:()=>Jh,validate:()=>AS});d();f();d();f();d();f();d();f();d();f();d();f();var Ea=typeof globalThis=="object"&&"crypto"in globalThis?globalThis.crypto:void 0;function JB(s){return s instanceof Uint8Array||ArrayBuffer.isView(s)&&s.constructor.name==="Uint8Array"}function xa(s){if(!Number.isSafeInteger(s)||s<0)throw new Error("positive integer expected, got "+s)}function xr(s,...e){if(!JB(s))throw new Error("Uint8Array expected");if(e.length>0&&!e.includes(s.length))throw new Error("Uint8Array expected of length "+e+", got length="+s.length)}function m3(s){if(typeof s!="function"||typeof s.create!="function")throw new Error("Hash should be wrapped by utils.createHasher");xa(s.outputLen),xa(s.blockLen);}function _r(s,e=!0){if(s.destroyed)throw new Error("Hash instance has been destroyed");if(e&&s.finished)throw new Error("Hash#digest() has already been called")}function Rp(s,e){xr(s);let t=e.outputLen;if(s.length<t)throw new Error("digestInto() expects output buffer of length at least "+t)}function p3(s){return new Uint32Array(s.buffer,s.byteOffset,Math.floor(s.byteLength/4))}function ps(...s){for(let e=0;e<s.length;e++)s[e].fill(0);}function Vp(s){return new DataView(s.buffer,s.byteOffset,s.byteLength)}function Zs(s,e){return s<<32-e|s>>>e}function Rh(s,e){return s<<e|s>>>32-e>>>0}var zB=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;function YB(s){return s<<24&4278190080|s<<8&16711680|s>>>8&65280|s>>>24&255}function ZB(s){for(let e=0;e<s.length;e++)s[e]=YB(s[e]);return s}var Zb=zB?s=>s:ZB;function XB(s){if(typeof s!="string")throw new Error("string expected");return new Uint8Array(new TextEncoder().encode(s))}function Aa(s){return typeof s=="string"&&(s=XB(s)),xr(s),s}function g3(...s){let e=0;for(let r=0;r<s.length;r++){let n=s[r];xr(n),e+=n.length;}let t=new Uint8Array(e);for(let r=0,n=0;r<s.length;r++){let i=s[r];t.set(i,n),n+=i.length;}return t}var Gn=class{};function Wn(s){let e=r=>s().update(Aa(r)).digest(),t=s();return e.outputLen=t.outputLen,e.blockLen=t.blockLen,e.create=()=>s(),e}function y3(s=32){if(Ea&&typeof Ea.getRandomValues=="function")return Ea.getRandomValues(new Uint8Array(s));if(Ea&&typeof Ea.randomBytes=="function")return Uint8Array.from(Ea.randomBytes(s));throw new Error("crypto.getRandomValues must be defined")}function QB(s,e,t,r){if(typeof s.setBigUint64=="function")return s.setBigUint64(e,t,r);let n=BigInt(32),i=BigInt(4294967295),a=Number(t>>n&i),o=Number(t&i),c=r?4:0,u=r?0:4;s.setUint32(e+c,a,r),s.setUint32(e+u,o,r);}function Xb(s,e,t){return s&e^~s&t}function Qb(s,e,t){return s&e^s&t^e&t}var Ia=class extends Gn{constructor(e,t,r,n){super(),this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.blockLen=e,this.outputLen=t,this.padOffset=r,this.isLE=n,this.buffer=new Uint8Array(e),this.view=Vp(this.buffer);}update(e){_r(this),e=Aa(e),xr(e);let{view:t,buffer:r,blockLen:n}=this,i=e.length;for(let a=0;a<i;){let o=Math.min(n-this.pos,i-a);if(o===n){let c=Vp(e);for(;n<=i-a;a+=n)this.process(c,a);continue}r.set(e.subarray(a,a+o),this.pos),this.pos+=o,a+=o,this.pos===n&&(this.process(t,0),this.pos=0);}return this.length+=e.length,this.roundClean(),this}digestInto(e){_r(this),Rp(e,this),this.finished=!0;let{buffer:t,view:r,blockLen:n,isLE:i}=this,{pos:a}=this;t[a++]=128,ps(this.buffer.subarray(a)),this.padOffset>n-a&&(this.process(r,0),a=0);for(let m=a;m<n;m++)t[m]=0;QB(r,n-8,BigInt(this.length*8),i),this.process(r,0);let o=Vp(e),c=this.outputLen;if(c%4)throw new Error("_sha2: outputLen should be aligned to 32bit");let u=c/4,l=this.get();if(u>l.length)throw new Error("_sha2: outputLen bigger than state");for(let m=0;m<u;m++)o.setUint32(4*m,l[m],i);}digest(){let{buffer:e,outputLen:t}=this;this.digestInto(e);let r=e.slice(0,t);return this.destroy(),r}_cloneInto(e){e||(e=new this.constructor),e.set(...this.get());let{blockLen:t,buffer:r,length:n,finished:i,destroyed:a,pos:o}=this;return e.destroyed=a,e.finished=i,e.length=n,e.pos=o,n%t&&e.buffer.set(r),e}clone(){return this._cloneInto()}},Mr=Uint32Array.from([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]);var Jt=Uint32Array.from([3418070365,3238371032,1654270250,914150663,2438529370,812702999,355462360,4144912697,1731405415,4290775857,2394180231,1750603025,3675008525,1694076839,1203062813,3204075428]),zt=Uint32Array.from([1779033703,4089235720,3144134277,2227873595,1013904242,4271175723,2773480762,1595750129,1359893119,2917565137,2600822924,725511199,528734635,4215389547,1541459225,327033209]);var eO=Uint8Array.from([7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8]),b3=Uint8Array.from(new Array(16).fill(0).map((s,e)=>e)),tO=b3.map(s=>(9*s+5)%16),S3=(()=>{let t=[[b3],[tO]];for(let r=0;r<4;r++)for(let n of t)n.push(n[r].map(i=>eO[i]));return t})(),v3=S3[0],E3=S3[1],x3=[[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(s=>Uint8Array.from(s)),sO=v3.map((s,e)=>s.map(t=>x3[e][t])),rO=E3.map((s,e)=>s.map(t=>x3[e][t])),nO=Uint32Array.from([0,1518500249,1859775393,2400959708,2840853838]),iO=Uint32Array.from([1352829926,1548603684,1836072691,2053994217,0]);function w3(s,e,t,r){return s===0?e^t^r:s===1?e&t|~e&r:s===2?(e|~t)^r:s===3?e&r|t&~r:e^(t|~r)}var Dp=new Uint32Array(16),Up=class extends Ia{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:t,h2:r,h3:n,h4:i}=this;return [e,t,r,n,i]}set(e,t,r,n,i){this.h0=e|0,this.h1=t|0,this.h2=r|0,this.h3=n|0,this.h4=i|0;}process(e,t){for(let E=0;E<16;E++,t+=4)Dp[E]=e.getUint32(t,!0);let r=this.h0|0,n=r,i=this.h1|0,a=i,o=this.h2|0,c=o,u=this.h3|0,l=u,m=this.h4|0,w=m;for(let E=0;E<5;E++){let v=4-E,A=nO[E],C=iO[E],D=v3[E],U=E3[E],T=sO[E],P=rO[E];for(let B=0;B<16;B++){let G=Rh(r+w3(E,i,o,u)+Dp[D[B]]+A,T[B])+m|0;r=m,m=u,u=Rh(o,10)|0,o=i,i=G;}for(let B=0;B<16;B++){let G=Rh(n+w3(v,a,c,l)+Dp[U[B]]+C,P[B])+w|0;n=w,w=l,l=Rh(c,10)|0,c=a,a=G;}}this.set(this.h1+o+l|0,this.h2+u+w|0,this.h3+m+n|0,this.h4+r+a|0,this.h0+i+c|0);}roundClean(){ps(Dp);}destroy(){this.destroyed=!0,ps(this.buffer),this.set(0,0,0,0,0);}},A3=Wn(()=>new Up);var I3=A3;d();f();d();f();var Lp=BigInt(4294967295),C3=BigInt(32);function aO(s,e=!1){return e?{h:Number(s&Lp),l:Number(s>>C3&Lp)}:{h:Number(s>>C3&Lp)|0,l:Number(s&Lp)|0}}function jp(s,e=!1){let t=s.length,r=new Uint32Array(t),n=new Uint32Array(t);for(let i=0;i<t;i++){let{h:a,l:o}=aO(s[i],e);[r[i],n[i]]=[a,o];}return [r,n]}var eS=(s,e,t)=>s>>>t,tS=(s,e,t)=>s<<32-t|e>>>t,Ca=(s,e,t)=>s>>>t|e<<32-t,Na=(s,e,t)=>s<<32-t|e>>>t,Vh=(s,e,t)=>s<<64-t|e>>>t-32,Dh=(s,e,t)=>s>>>t-32|e<<64-t;var N3=(s,e,t)=>s<<t|e>>>32-t,k3=(s,e,t)=>e<<t|s>>>32-t,P3=(s,e,t)=>e<<t-32|s>>>64-t,T3=(s,e,t)=>s<<t-32|e>>>64-t;function Ar(s,e,t,r){let n=(e>>>0)+(r>>>0);return {h:s+t+(n/2**32|0)|0,l:n|0}}var B3=(s,e,t)=>(s>>>0)+(e>>>0)+(t>>>0),O3=(s,e,t,r)=>e+t+r+(s/2**32|0)|0,R3=(s,e,t,r)=>(s>>>0)+(e>>>0)+(t>>>0)+(r>>>0),V3=(s,e,t,r,n)=>e+t+r+n+(s/2**32|0)|0,D3=(s,e,t,r,n)=>(s>>>0)+(e>>>0)+(t>>>0)+(r>>>0)+(n>>>0),U3=(s,e,t,r,n,i)=>e+t+r+n+i+(s/2**32|0)|0;var cO=BigInt(0),Uh=BigInt(1),uO=BigInt(2),lO=BigInt(7),hO=BigInt(256),fO=BigInt(113),H3=[],_3=[],M3=[];for(let s=0,e=Uh,t=1,r=0;s<24;s++){[t,r]=[r,(2*t+3*r)%5],H3.push(2*(5*r+t)),_3.push((s+1)*(s+2)/2%64);let n=cO;for(let i=0;i<7;i++)e=(e<<Uh^(e>>lO)*fO)%hO,e&uO&&(n^=Uh<<(Uh<<BigInt(i))-Uh);M3.push(n);}var $3=jp(M3,!0),dO=$3[0],mO=$3[1],L3=(s,e,t)=>t>32?P3(s,e,t):N3(s,e,t),j3=(s,e,t)=>t>32?T3(s,e,t):k3(s,e,t);function pO(s,e=24){let t=new Uint32Array(10);for(let r=24-e;r<24;r++){for(let a=0;a<10;a++)t[a]=s[a]^s[a+10]^s[a+20]^s[a+30]^s[a+40];for(let a=0;a<10;a+=2){let o=(a+8)%10,c=(a+2)%10,u=t[c],l=t[c+1],m=L3(u,l,1)^t[o],w=j3(u,l,1)^t[o+1];for(let E=0;E<50;E+=10)s[a+E]^=m,s[a+E+1]^=w;}let n=s[2],i=s[3];for(let a=0;a<24;a++){let o=_3[a],c=L3(n,i,o),u=j3(n,i,o),l=H3[a];n=s[l],i=s[l+1],s[l]=c,s[l+1]=u;}for(let a=0;a<50;a+=10){for(let o=0;o<10;o++)t[o]=s[a+o];for(let o=0;o<10;o++)s[a+o]^=~t[(o+2)%10]&t[(o+4)%10];}s[0]^=dO[r],s[1]^=mO[r];}ps(t);}var sS=class s extends Gn{constructor(e,t,r,n=!1,i=24){if(super(),this.pos=0,this.posOut=0,this.finished=!1,this.destroyed=!1,this.enableXOF=!1,this.blockLen=e,this.suffix=t,this.outputLen=r,this.enableXOF=n,this.rounds=i,xa(r),!(0<e&&e<200))throw new Error("only keccak-f1600 function is supported");this.state=new Uint8Array(200),this.state32=p3(this.state);}clone(){return this._cloneInto()}keccak(){Zb(this.state32),pO(this.state32,this.rounds),Zb(this.state32),this.posOut=0,this.pos=0;}update(e){_r(this),e=Aa(e),xr(e);let{blockLen:t,state:r}=this,n=e.length;for(let i=0;i<n;){let a=Math.min(t-this.pos,n-i);for(let o=0;o<a;o++)r[this.pos++]^=e[i++];this.pos===t&&this.keccak();}return this}finish(){if(this.finished)return;this.finished=!0;let{state:e,suffix:t,pos:r,blockLen:n}=this;e[r]^=t,t&128&&r===n-1&&this.keccak(),e[n-1]^=128,this.keccak();}writeInto(e){_r(this,!1),xr(e),this.finish();let t=this.state,{blockLen:r}=this;for(let n=0,i=e.length;n<i;){this.posOut>=r&&this.keccak();let a=Math.min(r-this.posOut,i-n);e.set(t.subarray(this.posOut,this.posOut+a),n),this.posOut+=a,n+=a;}return e}xofInto(e){if(!this.enableXOF)throw new Error("XOF is not possible for this instance");return this.writeInto(e)}xof(e){return xa(e),this.xofInto(new Uint8Array(e))}digestInto(e){if(Rp(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,ps(this.state);}_cloneInto(e){let{blockLen:t,suffix:r,outputLen:n,rounds:i,enableXOF:a}=this;return e||(e=new s(t,r,n,a,i)),e.state32.set(this.state32),e.pos=this.pos,e.posOut=this.posOut,e.finished=this.finished,e.rounds=i,e.suffix=r,e.outputLen=n,e.enableXOF=a,e.destroyed=this.destroyed,e}},gO=(s,e,t)=>Wn(()=>new sS(e,s,t));var q3=gO(1,136,256/8);d();f();d();f();var yO=Uint32Array.from([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]),Jn=new Uint32Array(64),Hp=class extends Ia{constructor(e=32){super(64,e,8,!1),this.A=Mr[0]|0,this.B=Mr[1]|0,this.C=Mr[2]|0,this.D=Mr[3]|0,this.E=Mr[4]|0,this.F=Mr[5]|0,this.G=Mr[6]|0,this.H=Mr[7]|0;}get(){let{A:e,B:t,C:r,D:n,E:i,F:a,G:o,H:c}=this;return [e,t,r,n,i,a,o,c]}set(e,t,r,n,i,a,o,c){this.A=e|0,this.B=t|0,this.C=r|0,this.D=n|0,this.E=i|0,this.F=a|0,this.G=o|0,this.H=c|0;}process(e,t){for(let m=0;m<16;m++,t+=4)Jn[m]=e.getUint32(t,!1);for(let m=16;m<64;m++){let w=Jn[m-15],E=Jn[m-2],v=Zs(w,7)^Zs(w,18)^w>>>3,A=Zs(E,17)^Zs(E,19)^E>>>10;Jn[m]=A+Jn[m-7]+v+Jn[m-16]|0;}let{A:r,B:n,C:i,D:a,E:o,F:c,G:u,H:l}=this;for(let m=0;m<64;m++){let w=Zs(o,6)^Zs(o,11)^Zs(o,25),E=l+w+Xb(o,c,u)+yO[m]+Jn[m]|0,A=(Zs(r,2)^Zs(r,13)^Zs(r,22))+Qb(r,n,i)|0;l=u,u=c,c=o,o=a+E|0,a=i,i=n,n=r,r=E+A|0;}r=r+this.A|0,n=n+this.B|0,i=i+this.C|0,a=a+this.D|0,o=o+this.E|0,c=c+this.F|0,u=u+this.G|0,l=l+this.H|0,this.set(r,n,i,a,o,c,u,l);}roundClean(){ps(Jn);}destroy(){this.set(0,0,0,0,0,0,0,0),ps(this.buffer);}};var F3=jp(["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(s=>BigInt(s))),wO=F3[0],bO=F3[1],zn=new Uint32Array(80),Yn=new Uint32Array(80),_p=class extends Ia{constructor(e=64){super(128,e,16,!1),this.Ah=zt[0]|0,this.Al=zt[1]|0,this.Bh=zt[2]|0,this.Bl=zt[3]|0,this.Ch=zt[4]|0,this.Cl=zt[5]|0,this.Dh=zt[6]|0,this.Dl=zt[7]|0,this.Eh=zt[8]|0,this.El=zt[9]|0,this.Fh=zt[10]|0,this.Fl=zt[11]|0,this.Gh=zt[12]|0,this.Gl=zt[13]|0,this.Hh=zt[14]|0,this.Hl=zt[15]|0;}get(){let{Ah:e,Al:t,Bh:r,Bl:n,Ch:i,Cl:a,Dh:o,Dl:c,Eh:u,El:l,Fh:m,Fl:w,Gh:E,Gl:v,Hh:A,Hl:C}=this;return [e,t,r,n,i,a,o,c,u,l,m,w,E,v,A,C]}set(e,t,r,n,i,a,o,c,u,l,m,w,E,v,A,C){this.Ah=e|0,this.Al=t|0,this.Bh=r|0,this.Bl=n|0,this.Ch=i|0,this.Cl=a|0,this.Dh=o|0,this.Dl=c|0,this.Eh=u|0,this.El=l|0,this.Fh=m|0,this.Fl=w|0,this.Gh=E|0,this.Gl=v|0,this.Hh=A|0,this.Hl=C|0;}process(e,t){for(let T=0;T<16;T++,t+=4)zn[T]=e.getUint32(t),Yn[T]=e.getUint32(t+=4);for(let T=16;T<80;T++){let P=zn[T-15]|0,B=Yn[T-15]|0,G=Ca(P,B,1)^Ca(P,B,8)^eS(P,B,7),se=Na(P,B,1)^Na(P,B,8)^tS(P,B,7),X=zn[T-2]|0,ae=Yn[T-2]|0,fe=Ca(X,ae,19)^Vh(X,ae,61)^eS(X,ae,6),te=Na(X,ae,19)^Dh(X,ae,61)^tS(X,ae,6),oe=R3(se,te,Yn[T-7],Yn[T-16]),me=V3(oe,G,fe,zn[T-7],zn[T-16]);zn[T]=me|0,Yn[T]=oe|0;}let{Ah:r,Al:n,Bh:i,Bl:a,Ch:o,Cl:c,Dh:u,Dl:l,Eh:m,El:w,Fh:E,Fl:v,Gh:A,Gl:C,Hh:D,Hl:U}=this;for(let T=0;T<80;T++){let P=Ca(m,w,14)^Ca(m,w,18)^Vh(m,w,41),B=Na(m,w,14)^Na(m,w,18)^Dh(m,w,41),G=m&E^~m&A,se=w&v^~w&C,X=D3(U,B,se,bO[T],Yn[T]),ae=U3(X,D,P,G,wO[T],zn[T]),fe=X|0,te=Ca(r,n,28)^Vh(r,n,34)^Vh(r,n,39),oe=Na(r,n,28)^Dh(r,n,34)^Dh(r,n,39),me=r&i^r&o^i&o,_e=n&a^n&c^a&c;D=A|0,U=C|0,A=E|0,C=v|0,E=m|0,v=w|0,{h:m,l:w}=Ar(u|0,l|0,ae|0,fe|0),u=o|0,l=c|0,o=i|0,c=a|0,i=r|0,a=n|0;let J=B3(fe,oe,_e);r=O3(J,ae,te,me),n=J|0;}(({h:r,l:n}=Ar(this.Ah|0,this.Al|0,r|0,n|0))),{h:i,l:a}=Ar(this.Bh|0,this.Bl|0,i|0,a|0),{h:o,l:c}=Ar(this.Ch|0,this.Cl|0,o|0,c|0),{h:u,l}=Ar(this.Dh|0,this.Dl|0,u|0,l|0),{h:m,l:w}=Ar(this.Eh|0,this.El|0,m|0,w|0),{h:E,l:v}=Ar(this.Fh|0,this.Fl|0,E|0,v|0),{h:A,l:C}=Ar(this.Gh|0,this.Gl|0,A|0,C|0),{h:D,l:U}=Ar(this.Hh|0,this.Hl|0,D|0,U|0),this.set(r,n,i,a,o,c,u,l,m,w,E,v,A,C,D,U);}roundClean(){ps(zn,Yn);}destroy(){ps(this.buffer),this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0);}},rS=class extends _p{constructor(){super(48),this.Ah=Jt[0]|0,this.Al=Jt[1]|0,this.Bh=Jt[2]|0,this.Bl=Jt[3]|0,this.Ch=Jt[4]|0,this.Cl=Jt[5]|0,this.Dh=Jt[6]|0,this.Dl=Jt[7]|0,this.Eh=Jt[8]|0,this.El=Jt[9]|0,this.Fh=Jt[10]|0,this.Fl=Jt[11]|0,this.Gh=Jt[12]|0,this.Gl=Jt[13]|0,this.Hh=Jt[14]|0,this.Hl=Jt[15]|0;}};var Hc=Wn(()=>new Hp);var K3=Wn(()=>new _p),G3=Wn(()=>new rS);var W3=Hc;var p={};Te(p,{InvalidBytesBooleanError:()=>Gp,InvalidBytesTypeError:()=>Va,SizeExceedsPaddingSizeError:()=>Mh,SizeOverflowError:()=>_h,SliceOffsetOutOfBoundsError:()=>qc,assert:()=>oC,concat:()=>bS,from:()=>Gr,fromArray:()=>cC,fromBoolean:()=>RO,fromHex:()=>ut,fromNumber:()=>VO,fromString:()=>Wr,isEqual:()=>DO,padLeft:()=>uC,padRight:()=>lC,random:()=>wS,size:()=>Rs,slice:()=>SS,toBigInt:()=>vS,toBoolean:()=>ES,toHex:()=>UO,toNumber:()=>er,toString:()=>Wp,trimLeft:()=>Jp,trimRight:()=>Kp,validate:()=>xS});d();f();d();f();var oS=BigInt(0),aS=BigInt(1);function _c(s){return s instanceof Uint8Array||ArrayBuffer.isView(s)&&s.constructor.name==="Uint8Array"}function cS(s){if(!_c(s))throw new Error("Uint8Array expected")}function Mc(s,e){if(typeof e!="boolean")throw new Error(s+" boolean expected, got "+e)}function Lh(s){let e=s.toString(16);return e.length&1?"0"+e:e}function Y3(s){if(typeof s!="string")throw new Error("hex string expected, got "+typeof s);return s===""?oS:BigInt("0x"+s)}var Z3=typeof Uint8Array.from([]).toHex=="function"&&typeof Uint8Array.fromHex=="function",SO=Array.from({length:256},(s,e)=>e.toString(16).padStart(2,"0"));function $c(s){if(cS(s),Z3)return s.toHex();let e="";for(let t=0;t<s.length;t++)e+=SO[s[t]];return e}var $r={_0:48,_9:57,A:65,F:70,a:97,f:102};function J3(s){if(s>=$r._0&&s<=$r._9)return s-$r._0;if(s>=$r.A&&s<=$r.F)return s-($r.A-10);if(s>=$r.a&&s<=$r.f)return s-($r.a-10)}function jh(s){if(typeof s!="string")throw new Error("hex string expected, got "+typeof s);if(Z3)return Uint8Array.fromHex(s);let e=s.length,t=e/2;if(e%2)throw new Error("hex string expected, got unpadded hex of length "+e);let r=new Uint8Array(t);for(let n=0,i=0;n<t;n++,i+=2){let a=J3(s.charCodeAt(i)),o=J3(s.charCodeAt(i+1));if(a===void 0||o===void 0){let c=s[i]+s[i+1];throw new Error('hex string expected, got non-hex character "'+c+'" at index '+i)}r[n]=a*16+o;}return r}function qr(s){return Y3($c(s))}function uS(s){return cS(s),Y3($c(Uint8Array.from(s).reverse()))}function ka(s,e){return jh(s.toString(16).padStart(e*2,"0"))}function lS(s,e){return ka(s,e).reverse()}function Is(s,e,t){let r;if(typeof e=="string")try{r=jh(e);}catch(i){throw new Error(s+" must be hex string or Uint8Array, cause: "+i)}else if(_c(e))r=Uint8Array.from(e);else throw new Error(s+" must be hex string or Uint8Array");let n=r.length;if(typeof t=="number"&&n!==t)throw new Error(s+" of length "+t+" expected, got "+n);return r}function Hh(...s){let e=0;for(let r=0;r<s.length;r++){let n=s[r];cS(n),e+=n.length;}let t=new Uint8Array(e);for(let r=0,n=0;r<s.length;r++){let i=s[r];t.set(i,n),n+=i.length;}return t}function Mp(s,e){if(s.length!==e.length)return !1;let t=0;for(let r=0;r<s.length;r++)t|=s[r]^e[r];return t===0}var nS=s=>typeof s=="bigint"&&oS<=s;function $p(s,e,t){return nS(s)&&nS(e)&&nS(t)&&e<=s&&s<t}function Pa(s,e,t,r){if(!$p(e,t,r))throw new Error("expected valid "+s+": "+t+" <= n < "+r+", got "+e)}function X3(s){let e;for(e=0;s>oS;s>>=aS,e+=1);return e}var Ta=s=>(aS<<BigInt(s))-aS,iS=s=>new Uint8Array(s),z3=s=>Uint8Array.from(s);function Q3(s,e,t){if(typeof s!="number"||s<2)throw new Error("hashLen must be a number");if(typeof e!="number"||e<2)throw new Error("qByteLen must be a number");if(typeof t!="function")throw new Error("hmacFn must be a function");let r=iS(s),n=iS(s),i=0,a=()=>{r.fill(1),n.fill(0),i=0;},o=(...m)=>t(n,r,...m),c=(m=iS(0))=>{n=o(z3([0]),m),r=o(),m.length!==0&&(n=o(z3([1]),m),r=o());},u=()=>{if(i++>=1e3)throw new Error("drbg: tried 1000 values");let m=0,w=[];for(;m<e;){r=o();let E=r.slice();w.push(E),m+=r.length;}return Hh(...w)};return (m,w)=>{a(),c(m);let E;for(;!(E=w(u()));)c();return a(),E}}var vO={bigint:s=>typeof s=="bigint",function:s=>typeof s=="function",boolean:s=>typeof s=="boolean",string:s=>typeof s=="string",stringOrUint8Array:s=>typeof s=="string"||_c(s),isSafeInteger:s=>Number.isSafeInteger(s),array:s=>Array.isArray(s),field:(s,e)=>e.Fp.isValid(s),hash:s=>typeof s=="function"&&Number.isSafeInteger(s.outputLen)};function Ba(s,e,t={}){let r=(n,i,a)=>{let o=vO[i];if(typeof o!="function")throw new Error("invalid validator function");let c=s[n];if(!(a&&c===void 0)&&!o(c,s))throw new Error("param "+String(n)+" is invalid. Expected "+i+", got "+c)};for(let[n,i]of Object.entries(e))r(n,i,!1);for(let[n,i]of Object.entries(t))r(n,i,!0);return s}function hS(s){let e=new WeakMap;return (t,...r)=>{let n=e.get(t);if(n!==void 0)return n;let i=s(t,...r);return e.set(t,i),i}}var R={};Te(R,{IntegerOutOfRangeError:()=>Gc,InvalidHexBooleanError:()=>qp,InvalidHexTypeError:()=>Fh,InvalidHexValueError:()=>Kh,InvalidLengthError:()=>Gh,SizeExceedsPaddingSizeError:()=>qh,SizeOverflowError:()=>$h,SliceOffsetOutOfBoundsError:()=>Fc,assert:()=>aC,concat:()=>st,from:()=>gs,fromBoolean:()=>Wh,fromBytes:()=>Re,fromNumber:()=>ve,fromString:()=>Cs,isEqual:()=>IO,padLeft:()=>Ir,padRight:()=>Qs,random:()=>CO,size:()=>We,slice:()=>wt,toBigInt:()=>Fp,toBoolean:()=>kO,toBytes:()=>PO,toNumber:()=>yS,toString:()=>TO,trimLeft:()=>Ra,trimRight:()=>NO,validate:()=>ys});d();f();d();f();function Kr(s,e){if(Rs(s)>e)throw new _h({givenSize:Rs(s),maxSize:e})}function eC(s,e){if(typeof e=="number"&&e>0&&e>Rs(s)-1)throw new qc({offset:e,position:"start",size:Rs(s)})}function tC(s,e,t){if(typeof e=="number"&&typeof t=="number"&&Rs(s)!==t-e)throw new qc({offset:t,position:"end",size:Rs(s)})}var Fr={zero:48,nine:57,A:65,F:70,a:97,f:102};function fS(s){if(s>=Fr.zero&&s<=Fr.nine)return s-Fr.zero;if(s>=Fr.A&&s<=Fr.F)return s-(Fr.A-10);if(s>=Fr.a&&s<=Fr.f)return s-(Fr.a-10)}function dS(s,e={}){let{dir:t,size:r=32}=e;if(r===0)return s;if(s.length>r)throw new Mh({size:s.length,targetSize:r,type:"Bytes"});let n=new Uint8Array(r);for(let i=0;i<r;i++){let a=t==="right";n[a?i:r-i-1]=s[a?i:s.length-i-1];}return n}function mS(s,e={}){let{dir:t="left"}=e,r=s,n=0;for(let i=0;i<r.length-1&&r[t==="left"?i:r.length-i-1].toString()==="0";i++)n++;return r=t==="left"?r.slice(n):r.slice(0,r.length-n),r}d();f();function Oa(s,e){if(We(s)>e)throw new $h({givenSize:We(s),maxSize:e})}function rC(s,e){if(typeof e=="number"&&e>0&&e>We(s)-1)throw new Fc({offset:e,position:"start",size:We(s)})}function nC(s,e,t){if(typeof e=="number"&&typeof t=="number"&&We(s)!==t-e)throw new Fc({offset:t,position:"end",size:We(s)})}function pS(s,e={}){let{dir:t,size:r=32}=e;if(r===0)return s;let n=s.replace("0x","");if(n.length>r*2)throw new qh({size:Math.ceil(n.length/2),targetSize:r,type:"Hex"});return `0x${n[t==="right"?"padEnd":"padStart"](r*2,"0")}`}function gS(s,e={}){let{dir:t="left"}=e,r=s.replace("0x",""),n=0;for(let i=0;i<r.length-1&&r[t==="left"?i:r.length-i-1].toString()==="0";i++)n++;return r=t==="left"?r.slice(n):r.slice(0,r.length-n),r==="0"?"0x":t==="right"&&r.length%2===1?`0x${r}0`:`0x${r}`}d();f();var EO="#__bigint";function Xs(s,e,t){return JSON.stringify(s,(r,n)=>typeof e=="function"?e(r,n):typeof n=="bigint"?n.toString()+EO:n,t)}var xO=new TextEncoder,AO=Array.from({length:256},(s,e)=>e.toString(16).padStart(2,"0"));function aC(s,e={}){let{strict:t=!1}=e;if(!s)throw new Fh(s);if(typeof s!="string")throw new Fh(s);if(t&&!/^0x[0-9a-fA-F]*$/.test(s))throw new Kh(s);if(!s.startsWith("0x"))throw new Kh(s)}function st(...s){return `0x${s.reduce((e,t)=>e+t.replace("0x",""),"")}`}function gs(s){return s instanceof Uint8Array?Re(s):Array.isArray(s)?Re(new Uint8Array(s)):s}function Wh(s,e={}){let t=`0x${Number(s)}`;return typeof e.size=="number"?(Oa(t,e.size),Ir(t,e.size)):t}function Re(s,e={}){let t="";for(let n=0;n<s.length;n++)t+=AO[s[n]];let r=`0x${t}`;return typeof e.size=="number"?(Oa(r,e.size),Qs(r,e.size)):r}function ve(s,e={}){let{signed:t,size:r}=e,n=BigInt(s),i;r?t?i=(1n<<BigInt(r)*8n-1n)-1n:i=2n**(BigInt(r)*8n)-1n:typeof s=="number"&&(i=BigInt(Number.MAX_SAFE_INTEGER));let a=typeof i=="bigint"&&t?-i-1n:0;if(i&&n>i||n<a){let u=typeof s=="bigint"?"n":"";throw new Gc({max:i?`${i}${u}`:void 0,min:`${a}${u}`,signed:t,size:r,value:`${s}${u}`})}let c=`0x${(t&&n<0?BigInt.asUintN(r*8,BigInt(n)):n).toString(16)}`;return r?Ir(c,r):c}function Cs(s,e={}){return Re(xO.encode(s),e)}function IO(s,e){return Mp(ut(s),ut(e))}function Ir(s,e){return pS(s,{dir:"left",size:e})}function Qs(s,e){return pS(s,{dir:"right",size:e})}function CO(s){return Re(wS(s))}function wt(s,e,t,r={}){let{strict:n}=r;rC(s,e);let i=`0x${s.replace("0x","").slice((e??0)*2,(t??s.length)*2)}`;return n&&nC(i,e,t),i}function We(s){return Math.ceil((s.length-2)/2)}function Ra(s){return gS(s,{dir:"left"})}function NO(s){return gS(s,{dir:"right"})}function Fp(s,e={}){let{signed:t}=e;e.size&&Oa(s,e.size);let r=BigInt(s);if(!t)return r;let n=(s.length-2)/2,i=(1n<<BigInt(n)*8n)-1n,a=i>>1n;return r<=a?r:r-i-1n}function kO(s,e={}){e.size&&Oa(s,e.size);let t=Ra(s);if(t==="0x")return !1;if(t==="0x1")return !0;throw new qp(s)}function PO(s,e={}){return ut(s,e)}function yS(s,e={}){let{signed:t,size:r}=e;return Number(!t&&!r?s:Fp(s,e))}function TO(s,e={}){let{size:t}=e,r=ut(s);return t&&(Kr(r,t),r=Kp(r)),new TextDecoder().decode(r)}function ys(s,e={}){let{strict:t=!1}=e;try{return aC(s,{strict:t}),!0}catch{return !1}}var Gc=class extends re{constructor({max:e,min:t,signed:r,size:n,value:i}){super(`Number \`${i}\` is not in safe${n?` ${n*8}-bit`:""}${r?" signed":" unsigned"} integer range ${e?`(\`${t}\` to \`${e}\`)`:`(above \`${t}\`)`}`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Hex.IntegerOutOfRangeError"});}},qp=class extends re{constructor(e){super(`Hex value \`"${e}"\` is not a valid boolean.`,{metaMessages:['The hex value must be `"0x0"` (false) or `"0x1"` (true).']}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Hex.InvalidHexBooleanError"});}},Fh=class extends re{constructor(e){super(`Value \`${typeof e=="object"?Xs(e):e}\` of type \`${typeof e}\` is an invalid hex type.`,{metaMessages:['Hex types must be represented as `"0x${string}"`.']}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Hex.InvalidHexTypeError"});}},Kh=class extends re{constructor(e){super(`Value \`${e}\` is an invalid hex value.`,{metaMessages:['Hex values must start with `"0x"` and contain only hexadecimal characters (0-9, a-f, A-F).']}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Hex.InvalidHexValueError"});}},Gh=class extends re{constructor(e){super(`Hex value \`"${e}"\` is an odd length (${e.length-2} nibbles).`,{metaMessages:["It must be an even length."]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Hex.InvalidLengthError"});}},$h=class extends re{constructor({givenSize:e,maxSize:t}){super(`Size cannot exceed \`${t}\` bytes. Given size: \`${e}\` bytes.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Hex.SizeOverflowError"});}},Fc=class extends re{constructor({offset:e,position:t,size:r}){super(`Slice ${t==="start"?"starting":"ending"} at offset \`${e}\` is out-of-bounds (size: \`${r}\`).`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Hex.SliceOffsetOutOfBoundsError"});}},qh=class extends re{constructor({size:e,targetSize:t,type:r}){super(`${r.charAt(0).toUpperCase()}${r.slice(1).toLowerCase()} size (\`${e}\`) exceeds padding size (\`${t}\`).`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Hex.SizeExceedsPaddingSizeError"});}};var BO=new TextDecoder,OO=new TextEncoder;function oC(s){if(!(s instanceof Uint8Array)){if(!s)throw new Va(s);if(typeof s!="object")throw new Va(s);if(!("BYTES_PER_ELEMENT"in s))throw new Va(s);if(s.BYTES_PER_ELEMENT!==1||s.constructor.name!=="Uint8Array")throw new Va(s)}}function bS(...s){let e=0;for(let r of s)e+=r.length;let t=new Uint8Array(e);for(let r=0,n=0;r<s.length;r++){let i=s[r];t.set(i,n),n+=i.length;}return t}function Gr(s){return s instanceof Uint8Array?s:typeof s=="string"?ut(s):cC(s)}function cC(s){return s instanceof Uint8Array?s:new Uint8Array(s)}function RO(s,e={}){let{size:t}=e,r=new Uint8Array(1);return r[0]=Number(s),typeof t=="number"?(Kr(r,t),uC(r,t)):r}function ut(s,e={}){let{size:t}=e,r=s;t&&(Oa(s,t),r=Qs(s,t));let n=r.slice(2);n.length%2&&(n=`0${n}`);let i=n.length/2,a=new Uint8Array(i);for(let o=0,c=0;o<i;o++){let u=fS(n.charCodeAt(c++)),l=fS(n.charCodeAt(c++));if(u===void 0||l===void 0)throw new re(`Invalid byte sequence ("${n[c-2]}${n[c-1]}" in "${n}").`);a[o]=u<<4|l;}return a}function VO(s,e){let t=ve(s,e);return ut(t)}function Wr(s,e={}){let{size:t}=e,r=OO.encode(s);return typeof t=="number"?(Kr(r,t),lC(r,t)):r}function DO(s,e){return Mp(s,e)}function uC(s,e){return dS(s,{dir:"left",size:e})}function lC(s,e){return dS(s,{dir:"right",size:e})}function wS(s){return crypto.getRandomValues(new Uint8Array(s))}function Rs(s){return s.length}function SS(s,e,t,r={}){let{strict:n}=r;eC(s,e);let i=s.slice(e,t);return n&&tC(i,e,t),i}function vS(s,e={}){let{size:t}=e;typeof t<"u"&&Kr(s,t);let r=Re(s,e);return Fp(r,e)}function ES(s,e={}){let{size:t}=e,r=s;if(typeof t<"u"&&(Kr(r,t),r=Jp(r)),r.length>1||r[0]>1)throw new Gp(r);return !!r[0]}function UO(s,e={}){return Re(s,e)}function er(s,e={}){let{size:t}=e;typeof t<"u"&&Kr(s,t);let r=Re(s,e);return yS(r,e)}function Wp(s,e={}){let{size:t}=e,r=s;return typeof t<"u"&&(Kr(r,t),r=Kp(r)),BO.decode(r)}function Jp(s){return mS(s,{dir:"left"})}function Kp(s){return mS(s,{dir:"right"})}function xS(s){try{return oC(s),!0}catch{return !1}}var Gp=class extends re{constructor(e){super(`Bytes value \`${e}\` is not a valid boolean.`,{metaMessages:["The bytes array must contain a single byte of either a `0` or `1` value."]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Bytes.InvalidBytesBooleanError"});}},Va=class extends re{constructor(e){super(`Value \`${typeof e=="object"?Xs(e):e}\` of type \`${typeof e}\` is an invalid Bytes value.`,{metaMessages:["Bytes values must be of type `Bytes`."]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Bytes.InvalidBytesTypeError"});}},_h=class extends re{constructor({givenSize:e,maxSize:t}){super(`Size cannot exceed \`${t}\` bytes. Given size: \`${e}\` bytes.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Bytes.SizeOverflowError"});}},qc=class extends re{constructor({offset:e,position:t,size:r}){super(`Slice ${t==="start"?"starting":"ending"} at offset \`${e}\` is out-of-bounds (size: \`${r}\`).`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Bytes.SliceOffsetOutOfBoundsError"});}},Mh=class extends re{constructor({size:e,targetSize:t,type:r}){super(`${r.charAt(0).toUpperCase()}${r.slice(1).toLowerCase()} size (\`${e}\`) exceeds padding size (\`${t}\`).`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Bytes.SizeExceedsPaddingSizeError"});}};function Tt(s,e={}){let{as:t=typeof s=="string"?"Hex":"Bytes"}=e,r=q3(Gr(s));return t==="Bytes"?r:Re(r)}function LO(s,e={}){let{as:t=typeof s=="string"?"Hex":"Bytes"}=e,r=I3(Gr(s));return t==="Bytes"?r:Re(r)}function Jh(s,e={}){let{as:t=typeof s=="string"?"Hex":"Bytes"}=e,r=W3(Gr(s));return t==="Bytes"?r:Re(r)}function AS(s){return ys(s)&&We(s)===32}d();f();var M={};Te(M,{InvalidAddressError:()=>Da,InvalidChecksumError:()=>Xp,InvalidInputError:()=>Wc,assert:()=>ws,checksum:()=>Yh,from:()=>pC,fromPublicKey:()=>PS,isEqual:()=>TS,validate:()=>Ua});d();f();d();f();d();f();var zp=class extends Map{constructor(e){super(),Object.defineProperty(this,"maxSize",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.maxSize=e;}get(e){let t=super.get(e);return super.has(e)&&t!==void 0&&(this.delete(e),super.set(e,t)),t}set(e,t){if(super.set(e,t),this.maxSize&&this.size>this.maxSize){let r=this.keys().next().value;r&&this.delete(r);}return this}};var jO={checksum:new zp(8192)},Yp=jO.checksum;d();f();function fC(s,e={}){let{compressed:t}=e,{prefix:r,x:n,y:i}=s;if(t===!1||typeof n=="bigint"&&typeof i=="bigint"){if(r!==4)throw new Zp({prefix:r,cause:new NS});return}if(t===!0||typeof n=="bigint"&&typeof i>"u"){if(r!==3&&r!==2)throw new Zp({prefix:r,cause:new CS});return}throw new IS({publicKey:s})}function Jr(s){let e=(()=>{if(ys(s))return dC(s);if(xS(s))return HO(s);let{prefix:t,x:r,y:n}=s;return typeof r=="bigint"&&typeof n=="bigint"?{prefix:t??4,x:r,y:n}:{prefix:t,x:r}})();return fC(e),e}function HO(s){return dC(Re(s))}function dC(s){if(s.length!==132&&s.length!==130&&s.length!==68)throw new kS({publicKey:s});if(s.length===130){let r=BigInt(wt(s,0,32)),n=BigInt(wt(s,32,64));return {prefix:4,x:r,y:n}}if(s.length===132){let r=Number(wt(s,0,1)),n=BigInt(wt(s,1,33)),i=BigInt(wt(s,33,65));return {prefix:r,x:n,y:i}}let e=Number(wt(s,0,1)),t=BigInt(wt(s,1,33));return {prefix:e,x:t}}function mC(s,e={}){return ut(Zn(s,e))}function Zn(s,e={}){fC(s);let{prefix:t,x:r,y:n}=s,{includePrefix:i=!0}=e;return st(i?ve(t,{size:1}):"0x",ve(r,{size:32}),typeof n=="bigint"?ve(n,{size:32}):"0x")}var IS=class extends re{constructor({publicKey:e}){super(`Value \`${Xs(e)}\` is not a valid public key.`,{metaMessages:["Public key must contain:","- an `x` and `prefix` value (compressed)","- an `x`, `y`, and `prefix` value (uncompressed)"]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"PublicKey.InvalidError"});}},Zp=class extends re{constructor({prefix:e,cause:t}){super(`Prefix "${e}" is invalid.`,{cause:t}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"PublicKey.InvalidPrefixError"});}},CS=class extends re{constructor(){super("Prefix must be 2 or 3 for compressed public keys."),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"PublicKey.InvalidCompressedPrefixError"});}},NS=class extends re{constructor(){super("Prefix must be 4 for uncompressed public keys."),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"PublicKey.InvalidUncompressedPrefixError"});}},kS=class extends re{constructor({publicKey:e}){super(`Value \`${e}\` is an invalid public key size.`,{metaMessages:["Expected: 33 bytes (compressed + prefix), 64 bytes (uncompressed) or 65 bytes (uncompressed + prefix).",`Received ${We(gs(e))} bytes.`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"PublicKey.InvalidSerializedSizeError"});}};var _O=/^0x[a-fA-F0-9]{40}$/;function ws(s,e={}){let{strict:t=!0}=e;if(!_O.test(s))throw new Da({address:s,cause:new Wc});if(t){if(s.toLowerCase()===s)return;if(Yh(s)!==s)throw new Da({address:s,cause:new Xp})}}function Yh(s){if(Yp.has(s))return Yp.get(s);ws(s,{strict:!1});let e=s.substring(2).toLowerCase(),t=Tt(Wr(e),{as:"Bytes"}),r=e.split("");for(let i=0;i<40;i+=2)t[i>>1]>>4>=8&&r[i]&&(r[i]=r[i].toUpperCase()),(t[i>>1]&15)>=8&&r[i+1]&&(r[i+1]=r[i+1].toUpperCase());let n=`0x${r.join("")}`;return Yp.set(s,n),n}function pC(s,e={}){let{checksum:t=!1}=e;return ws(s),t?Yh(s):s}function PS(s,e={}){let t=Tt(`0x${Zn(s).slice(4)}`).substring(26);return pC(`0x${t}`,e)}function TS(s,e){return ws(s,{strict:!1}),ws(e,{strict:!1}),s.toLowerCase()===e.toLowerCase()}function Ua(s,e={}){let{strict:t=!0}=e??{};try{return ws(s,{strict:t}),!0}catch{return !1}}var Da=class extends re{constructor({address:e,cause:t}){super(`Address "${e}" is invalid.`,{cause:t}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Address.InvalidAddressError"});}},Wc=class extends re{constructor(){super("Address is not a 20 byte (40 hexadecimal character) value."),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Address.InvalidInputError"});}},Xp=class extends re{constructor(){super("Address does not match its checksum counterpart."),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Address.InvalidChecksumError"});}};function eg(s){let e=!0,t="",r=0,n="",i=!1;for(let a=0;a<s.length;a++){let o=s[a];if(["(",")",","].includes(o)&&(e=!0),o==="("&&r++,o===")"&&r--,!!e){if(r===0){if(o===" "&&["event","function","error",""].includes(n))n="";else if(n+=o,o===")"){i=!0;break}continue}if(o===" "){s[a-1]!==","&&t!==","&&t!==",("&&(t="",e=!1);continue}n+=o,t+=o;}}if(!i)throw new re("Unable to normalize signature.");return n}function Qp(s,e){let t=typeof s,r=e.type;switch(r){case"address":return Ua(s,{strict:!1});case"bool":return t==="boolean";case"function":return t==="string";case"string":return t==="string";default:return r==="tuple"&&"components"in e?Object.values(e.components).every((n,i)=>Qp(Object.values(s)[i],n)):/^u?int(8|16|24|32|40|48|56|64|72|80|88|96|104|112|120|128|136|144|152|160|168|176|184|192|200|208|216|224|232|240|248|256)?$/.test(r)?t==="number"||t==="bigint":/^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/.test(r)?t==="string"||s instanceof Uint8Array:/[a-z]+[1-9]{0,3}(\[[0-9]{0,}\])+$/.test(r)?Array.isArray(s)&&s.every(n=>Qp(n,{...e,type:r.replace(/(\[[0-9]{0,}\])$/,"")})):!1}}function BS(s,e,t){for(let r in s){let n=s[r],i=e[r];if(n.type==="tuple"&&i.type==="tuple"&&"components"in n&&"components"in i)return BS(n.components,i.components,t[r]);let a=[n.type,i.type];if(a.includes("address")&&a.includes("bytes20")?!0:a.includes("address")&&a.includes("string")?Ua(t[r],{strict:!1}):a.includes("address")&&a.includes("bytes")?Ua(t[r],{strict:!1}):!1)return a}}function gC(s,e={}){let{prepare:t=!0}=e,r=Array.isArray(s)?Tp(s):typeof s=="string"?Tp(s):s;return {...r,...t?{hash:Jc(r)}:{}}}function Zh(s,e,t){let{args:r=[],prepare:n=!0}=t??{},i=ys(e,{strict:!1}),a=s.filter(u=>i?u.type==="function"||u.type==="error"?RS(u)===wt(e,0,4):u.type==="event"?Jc(u)===e:!1:"name"in u&&u.name===e);if(a.length===0)throw new zc({name:e});if(a.length===1)return {...a[0],...n?{hash:Jc(a[0])}:{}};let o;for(let u of a){if(!("inputs"in u))continue;if(!r||r.length===0){if(!u.inputs||u.inputs.length===0)return {...u,...n?{hash:Jc(u)}:{}};continue}if(!u.inputs||u.inputs.length===0||u.inputs.length!==r.length)continue;if(r.every((m,w)=>{let E="inputs"in u&&u.inputs[w];return E?Qp(m,E):!1})){if(o&&"inputs"in o&&o.inputs){let m=BS(u.inputs,o.inputs,r);if(m)throw new OS({abiItem:u,type:m[0]},{abiItem:o,type:m[1]})}o=u;}}let c=(()=>{if(o)return o;let[u,...l]=a;return {...u,overloads:l}})();if(!c)throw new zc({name:e});return {...c,...n?{hash:Jc(c)}:{}}}function RS(...s){let e=(()=>{if(Array.isArray(s[0])){let[t,r]=s;return Zh(t,r)}return s[0]})();return wt(Jc(e),0,4)}function $O(...s){let e=(()=>{if(Array.isArray(s[0])){let[r,n]=s;return Zh(r,n)}return s[0]})(),t=typeof e=="string"?e:Hr(e);return eg(t)}function Jc(...s){let e=(()=>{if(Array.isArray(s[0])){let[t,r]=s;return Zh(t,r)}return s[0]})();return typeof e!="string"&&"hash"in e&&e.hash?e.hash:Tt(Cs($O(e)))}var OS=class extends re{constructor(e,t){super("Found ambiguous types in overloaded ABI Items.",{metaMessages:[`\`${e.type}\` in \`${eg(Hr(e.abiItem))}\`, and`,`\`${t.type}\` in \`${eg(Hr(t.abiItem))}\``,"","These types encode differently and cannot be distinguished at runtime.","Remove one of the ambiguous items in the ABI."]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiItem.AmbiguityError"});}},zc=class extends re{constructor({name:e,data:t,type:r="item"}){let n=e?` with name "${e}"`:t?` with data "${t}"`:"";super(`ABI ${r}${n} not found.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiItem.NotFoundError"});}},tg=class extends re{constructor({data:e}){super(`Selector size is invalid. Expected 4 bytes. Received ${We(e)} bytes ("${e}").`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiItem.InvalidSelectorSizeError"});}};var xt={};Te(xt,{ArrayLengthMismatchError:()=>Qh,BytesSizeMismatchError:()=>Zc,DataSizeTooSmallError:()=>og,InvalidArrayError:()=>ef,InvalidTypeError:()=>ja,LengthMismatchError:()=>sf,ZeroDataError:()=>cg,decode:()=>Xc,encode:()=>zr,encodePacked:()=>ag,format:()=>iR,from:()=>ug});d();f();d();f();d();f();var wC=/^(.*)\[([0-9]*)\]$/,sg=/^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/,Yc=/^(u?int)(8|16|24|32|40|48|56|64|72|80|88|96|104|112|120|128|136|144|152|160|168|176|184|192|200|208|216|224|232|240|248|256)?$/,VS=2n**256n-1n;function La(s,e,t){let{checksumAddress:r,staticPosition:n}=t,i=LS(e.type);if(i){let[a,o]=i;return FO(s,{...e,type:o},{checksumAddress:r,length:a,staticPosition:n})}if(e.type==="tuple")return JO(s,e,{checksumAddress:r,staticPosition:n});if(e.type==="address")return qO(s,{checksum:r});if(e.type==="bool")return KO(s);if(e.type.startsWith("bytes"))return GO(s,e,{staticPosition:n});if(e.type.startsWith("uint")||e.type.startsWith("int"))return WO(s,e);if(e.type==="string")return zO(s,{staticPosition:n});throw new ja(e.type)}var bC=32,DS=32;function qO(s,e={}){let{checksum:t=!1}=e,r=s.readBytes(32);return [(i=>t?Yh(i):i)(Re(SS(r,-20))),32]}function FO(s,e,t){let{checksumAddress:r,length:n,staticPosition:i}=t;if(!n){let c=er(s.readBytes(DS)),u=i+c,l=u+bC;s.setPosition(u);let m=er(s.readBytes(bC)),w=Xh(e),E=0,v=[];for(let A=0;A<m;++A){s.setPosition(l+(w?A*32:E));let[C,D]=La(s,e,{checksumAddress:r,staticPosition:l});E+=D,v.push(C);}return s.setPosition(i+32),[v,32]}if(Xh(e)){let c=er(s.readBytes(DS)),u=i+c,l=[];for(let m=0;m<n;++m){s.setPosition(u+m*32);let[w]=La(s,e,{checksumAddress:r,staticPosition:u});l.push(w);}return s.setPosition(i+32),[l,32]}let a=0,o=[];for(let c=0;c<n;++c){let[u,l]=La(s,e,{checksumAddress:r,staticPosition:i+a});a+=l,o.push(u);}return [o,a]}function KO(s){return [ES(s.readBytes(32),{size:32}),32]}function GO(s,e,{staticPosition:t}){let[r,n]=e.type.split("bytes");if(!n){let a=er(s.readBytes(32));s.setPosition(t+a);let o=er(s.readBytes(32));if(o===0)return s.setPosition(t+32),["0x",32];let c=s.readBytes(o);return s.setPosition(t+32),[Re(c),32]}return [Re(s.readBytes(Number.parseInt(n,10),32)),32]}function WO(s,e){let t=e.type.startsWith("int"),r=Number.parseInt(e.type.split("int")[1]||"256",10),n=s.readBytes(32);return [r>48?vS(n,{signed:t}):er(n,{signed:t}),32]}function JO(s,e,t){let{checksumAddress:r,staticPosition:n}=t,i=e.components.length===0||e.components.some(({name:c})=>!c),a=i?[]:{},o=0;if(Xh(e)){let c=er(s.readBytes(DS)),u=n+c;for(let l=0;l<e.components.length;++l){let m=e.components[l];s.setPosition(u+o);let[w,E]=La(s,m,{checksumAddress:r,staticPosition:u});o+=E,a[i?l:m?.name]=w;}return s.setPosition(n+32),[a,32]}for(let c=0;c<e.components.length;++c){let u=e.components[c],[l,m]=La(s,u,{checksumAddress:r,staticPosition:n});a[i?c:u?.name]=l,o+=m;}return [a,o]}function zO(s,{staticPosition:e}){let t=er(s.readBytes(32)),r=e+t;s.setPosition(r);let n=er(s.readBytes(32));if(n===0)return s.setPosition(e+32),["",32];let i=s.readBytes(n,32),a=Wp(Jp(i));return s.setPosition(e+32),[a,32]}function SC({checksumAddress:s,parameters:e,values:t}){let r=[];for(let n=0;n<e.length;n++)r.push(US({checksumAddress:s,parameter:e[n],value:t[n]}));return r}function US({checksumAddress:s=!1,parameter:e,value:t}){let r=e,n=LS(r.type);if(n){let[i,a]=n;return ZO(t,{checksumAddress:s,length:i,parameter:{...r,type:a}})}if(r.type==="tuple")return sR(t,{checksumAddress:s,parameter:r});if(r.type==="address")return YO(t,{checksum:s});if(r.type==="bool")return QO(t);if(r.type.startsWith("uint")||r.type.startsWith("int")){let i=r.type.startsWith("int"),[,,a="256"]=Yc.exec(r.type)??[];return eR(t,{signed:i,size:Number(a)})}if(r.type.startsWith("bytes"))return XO(t,{type:r.type});if(r.type==="string")return tR(t);throw new ja(r.type)}function ng(s){let e=0;for(let i=0;i<s.length;i++){let{dynamic:a,encoded:o}=s[i];a?e+=32:e+=We(o);}let t=[],r=[],n=0;for(let i=0;i<s.length;i++){let{dynamic:a,encoded:o}=s[i];a?(t.push(ve(e+n,{size:32})),r.push(o),n+=We(o)):t.push(o);}return st(...t,...r)}function YO(s,e){let{checksum:t=!1}=e;return ws(s,{strict:t}),{dynamic:!1,encoded:Ir(s.toLowerCase())}}function ZO(s,e){let{checksumAddress:t,length:r,parameter:n}=e,i=r===null;if(!Array.isArray(s))throw new ef(s);if(!i&&s.length!==r)throw new Qh({expectedLength:r,givenLength:s.length,type:`${n.type}[${r}]`});let a=!1,o=[];for(let c=0;c<s.length;c++){let u=US({checksumAddress:t,parameter:n,value:s[c]});u.dynamic&&(a=!0),o.push(u);}if(i||a){let c=ng(o);if(i){let u=ve(o.length,{size:32});return {dynamic:!0,encoded:o.length>0?st(u,c):u}}if(a)return {dynamic:!0,encoded:c}}return {dynamic:!1,encoded:st(...o.map(({encoded:c})=>c))}}function XO(s,{type:e}){let[,t]=e.split("bytes"),r=We(s);if(!t){let n=s;return r%32!==0&&(n=Qs(n,Math.ceil((s.length-2)/2/32)*32)),{dynamic:!0,encoded:st(Ir(ve(r,{size:32})),n)}}if(r!==Number.parseInt(t,10))throw new Zc({expectedSize:Number.parseInt(t,10),value:s});return {dynamic:!1,encoded:Qs(s)}}function QO(s){if(typeof s!="boolean")throw new re(`Invalid boolean value: "${s}" (type: ${typeof s}). Expected: \`true\` or \`false\`.`);return {dynamic:!1,encoded:Ir(Wh(s))}}function eR(s,{signed:e,size:t}){if(typeof t=="number"){let r=2n**(BigInt(t)-(e?1n:0n))-1n,n=e?-r-1n:0n;if(s>r||s<n)throw new Gc({max:r.toString(),min:n.toString(),signed:e,size:t/8,value:s.toString()})}return {dynamic:!1,encoded:ve(s,{size:32,signed:e})}}function tR(s){let e=Cs(s),t=Math.ceil(We(e)/32),r=[];for(let n=0;n<t;n++)r.push(Qs(wt(e,n*32,(n+1)*32)));return {dynamic:!0,encoded:st(Qs(ve(We(e),{size:32})),...r)}}function sR(s,e){let{checksumAddress:t,parameter:r}=e,n=!1,i=[];for(let a=0;a<r.components.length;a++){let o=r.components[a],c=Array.isArray(s)?a:o.name,u=US({checksumAddress:t,parameter:o,value:s[c]});i.push(u),u.dynamic&&(n=!0);}return {dynamic:n,encoded:n?ng(i):st(...i.map(({encoded:a})=>a))}}function LS(s){let e=s.match(/^(.*)\[(\d+)?\]$/);return e?[e[2]?Number(e[2]):null,e[1]]:void 0}function Xh(s){let{type:e}=s;if(e==="string"||e==="bytes"||e.endsWith("[]"))return !0;if(e==="tuple")return s.components?.some(Xh);let t=LS(s.type);return !!(t&&Xh({...s,type:t[1]}))}d();f();var nR={bytes:new Uint8Array,dataView:new DataView(new ArrayBuffer(0)),position:0,positionReadCount:new Map,recursiveReadCount:0,recursiveReadLimit:Number.POSITIVE_INFINITY,assertReadLimit(){if(this.recursiveReadCount>=this.recursiveReadLimit)throw new HS({count:this.recursiveReadCount+1,limit:this.recursiveReadLimit})},assertPosition(s){if(s<0||s>this.bytes.length-1)throw new jS({length:this.bytes.length,position:s})},decrementPosition(s){if(s<0)throw new ig({offset:s});let e=this.position-s;this.assertPosition(e),this.position=e;},getReadCount(s){return this.positionReadCount.get(s||this.position)||0},incrementPosition(s){if(s<0)throw new ig({offset:s});let e=this.position+s;this.assertPosition(e),this.position=e;},inspectByte(s){let e=s??this.position;return this.assertPosition(e),this.bytes[e]},inspectBytes(s,e){let t=e??this.position;return this.assertPosition(t+s-1),this.bytes.subarray(t,t+s)},inspectUint8(s){let e=s??this.position;return this.assertPosition(e),this.bytes[e]},inspectUint16(s){let e=s??this.position;return this.assertPosition(e+1),this.dataView.getUint16(e)},inspectUint24(s){let e=s??this.position;return this.assertPosition(e+2),(this.dataView.getUint16(e)<<8)+this.dataView.getUint8(e+2)},inspectUint32(s){let e=s??this.position;return this.assertPosition(e+3),this.dataView.getUint32(e)},pushByte(s){this.assertPosition(this.position),this.bytes[this.position]=s,this.position++;},pushBytes(s){this.assertPosition(this.position+s.length-1),this.bytes.set(s,this.position),this.position+=s.length;},pushUint8(s){this.assertPosition(this.position),this.bytes[this.position]=s,this.position++;},pushUint16(s){this.assertPosition(this.position+1),this.dataView.setUint16(this.position,s),this.position+=2;},pushUint24(s){this.assertPosition(this.position+2),this.dataView.setUint16(this.position,s>>8),this.dataView.setUint8(this.position+2,s&255),this.position+=3;},pushUint32(s){this.assertPosition(this.position+3),this.dataView.setUint32(this.position,s),this.position+=4;},readByte(){this.assertReadLimit(),this._touch();let s=this.inspectByte();return this.position++,s},readBytes(s,e){this.assertReadLimit(),this._touch();let t=this.inspectBytes(s);return this.position+=e??s,t},readUint8(){this.assertReadLimit(),this._touch();let s=this.inspectUint8();return this.position+=1,s},readUint16(){this.assertReadLimit(),this._touch();let s=this.inspectUint16();return this.position+=2,s},readUint24(){this.assertReadLimit(),this._touch();let s=this.inspectUint24();return this.position+=3,s},readUint32(){this.assertReadLimit(),this._touch();let s=this.inspectUint32();return this.position+=4,s},get remaining(){return this.bytes.length-this.position},setPosition(s){let e=this.position;return this.assertPosition(s),this.position=s,()=>this.position=e},_touch(){if(this.recursiveReadLimit===Number.POSITIVE_INFINITY)return;let s=this.getReadCount();this.positionReadCount.set(this.position,s+1),s>0&&this.recursiveReadCount++;}};function tf(s,{recursiveReadLimit:e=8192}={}){let t=Object.create(nR);return t.bytes=s,t.dataView=new DataView(s.buffer,s.byteOffset,s.byteLength),t.positionReadCount=new Map,t.recursiveReadLimit=e,t}var ig=class extends re{constructor({offset:e}){super(`Offset \`${e}\` cannot be negative.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Cursor.NegativeOffsetError"});}},jS=class extends re{constructor({length:e,position:t}){super(`Position \`${t}\` is out of bounds (\`0 < position < ${e}\`).`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Cursor.PositionOutOfBoundsError"});}},HS=class extends re{constructor({count:e,limit:t}){super(`Recursive read limit of \`${t}\` exceeded (recursive read count: \`${e}\`).`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Cursor.RecursiveReadLimitExceededError"});}};function Xc(s,e,t={}){let{as:r="Array",checksumAddress:n=!1}=t,i=typeof e=="string"?ut(e):e,a=tf(i);if(Rs(i)===0&&s.length>0)throw new cg;if(Rs(i)&&Rs(i)<32)throw new og({data:typeof e=="string"?e:Re(e),parameters:s,size:Rs(i)});let o=0,c=r==="Array"?[]:{};for(let u=0;u<s.length;++u){let l=s[u];a.setPosition(o);let[m,w]=La(a,l,{checksumAddress:n,staticPosition:0});o+=w,r==="Array"?c.push(m):c[l.name??u]=m;}return c}function zr(s,e,t){let{checksumAddress:r=!1}=t??{};if(s.length!==e.length)throw new sf({expectedLength:s.length,givenLength:e.length});let n=SC({checksumAddress:r,parameters:s,values:e}),i=ng(n);return i.length===0?"0x":i}function ag(s,e){if(s.length!==e.length)throw new sf({expectedLength:s.length,givenLength:e.length});let t=[];for(let r=0;r<s.length;r++){let n=s[r],i=e[r];t.push(ag.encode(n,i));}return st(...t)}(function(s){function e(t,r,n=!1){if(t==="address"){let c=r;return ws(c),Ir(c.toLowerCase(),n?32:0)}if(t==="string")return Cs(r);if(t==="bytes")return r;if(t==="bool")return Ir(Wh(r),n?32:1);let i=t.match(Yc);if(i){let[c,u,l="256"]=i,m=Number.parseInt(l,10)/8;return ve(r,{size:n?32:m,signed:u==="int"})}let a=t.match(sg);if(a){let[c,u]=a;if(Number.parseInt(u,10)!==(r.length-2)/2)throw new Zc({expectedSize:Number.parseInt(u,10),value:r});return Qs(r,n?32:0)}let o=t.match(wC);if(o&&Array.isArray(r)){let[c,u]=o,l=[];for(let m=0;m<r.length;m++)l.push(e(u,r[m],!0));return l.length===0?"0x":st(...l)}throw new ja(t)}s.encode=e;})(ag||(ag={}));function iR(s){return vr(s)}function ug(s){return Array.isArray(s)&&typeof s[0]=="string"?Bp(s):typeof s=="string"?Bp(s):s}var og=class extends re{constructor({data:e,parameters:t,size:r}){super(`Data size of ${r} bytes is too small for given parameters.`,{metaMessages:[`Params: (${vr(t)})`,`Data: ${e} (${r} bytes)`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiParameters.DataSizeTooSmallError"});}},cg=class extends re{constructor(){super('Cannot decode zero data ("0x") with ABI parameters.'),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiParameters.ZeroDataError"});}},Qh=class extends re{constructor({expectedLength:e,givenLength:t,type:r}){super(`Array length mismatch for type \`${r}\`. Expected: \`${e}\`. Given: \`${t}\`.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiParameters.ArrayLengthMismatchError"});}},Zc=class extends re{constructor({expectedSize:e,value:t}){super(`Size of bytes "${t}" (bytes${We(t)}) does not match expected size (bytes${e}).`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiParameters.BytesSizeMismatchError"});}},sf=class extends re{constructor({expectedLength:e,givenLength:t}){super(["ABI encoding parameters/values length mismatch.",`Expected length (parameters): ${e}`,`Given length (values): ${t}`].join(`
339
- `)),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiParameters.LengthMismatchError"});}},ef=class extends re{constructor(e){super(`Value \`${e}\` is not a valid array.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiParameters.InvalidArrayError"});}},ja=class extends re{constructor(e){super(`Type \`${e}\` is not a valid ABI Type.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiParameters.InvalidTypeError"});}};var de={};Te(de,{decodeData:()=>aR,decodeResult:()=>oR,encodeData:()=>cR,encodeResult:()=>uR,format:()=>lR,from:()=>hR,fromAbi:()=>Ha,getSelector:()=>EC});d();f();function aR(...s){let[e,t]=(()=>{if(Array.isArray(s[0])){let[i,a,o]=s;return [Ha(i,a),o]}return s})(),{overloads:r}=e;if(We(t)<4)throw new tg({data:t});if(e.inputs?.length===0)return;let n=r?Ha([e,...r],t):e;if(!(We(t)<=4))return Xc(n.inputs,wt(t,4))}function oR(...s){let[e,t,r={}]=(()=>{if(Array.isArray(s[0])){let[i,a,o,c]=s;return [Ha(i,a),o,c]}return s})(),n=Xc(e.outputs,t,r);if(!(n&&Object.keys(n).length===0))return n&&Object.keys(n).length===1?Array.isArray(n)?n[0]:Object.values(n)[0]:n}function cR(...s){let[e,t=[]]=(()=>{if(Array.isArray(s[0])){let[u,l,m]=s;return [Ha(u,l,{args:m}),m]}let[o,c]=s;return [o,c]})(),{overloads:r}=e,n=r?Ha([e,...r],e.name,{args:t}):e,i=EC(n),a=t.length>0?zr(n.inputs,t):void 0;return a?st(i,a):i}function uR(...s){let[e,t,r={}]=(()=>{if(Array.isArray(s[0])){let[a,o,c,u]=s;return [Ha(a,o),c,u]}return s})(),{as:n="Array"}=r,i=e.outputs.length===1?[t]:Array.isArray(t)?t:n==="Object"?Object.values(t):[t];return zr(e.outputs,i)}function lR(s){return Hr(s)}function hR(s,e={}){return gC(s,e)}function Ha(s,e,t){let r=Zh(s,e,t);if(r.type!=="function")throw new zc({name:e,type:"function"});return r}function EC(s){return RS(s)}d();f();function xC(s){let e=[];for(let t=0;t<s.length;t++){let[r,n]=s[t];r&&ws(r,{strict:!1}),e.push({address:r,storageKeys:n.map(i=>AS(i)?i:Ra(i))});}return e}function AC(s){if(!s||s.length===0)return [];let e=[];for(let{address:t,storageKeys:r}of s){for(let n=0;n<r.length;n++)if(We(r[n])!==32)throw new _S({storageKey:r[n]});t&&ws(t,{strict:!1}),e.push([t,r]);}return e}var _S=class extends re{constructor({storageKey:e}){super(`Size for storage key "${e}" is invalid. Expected 32 bytes. Got ${We(e)} bytes.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AccessList.InvalidStorageKeySizeError"});}};d();f();function NC(s){return fR(s,"Hex")}function fR(s,e){let t=e,r=(()=>{if(typeof s=="string"){if(s.length>3&&s.length%2!==0)throw new Gh(s);return ut(s)}return s})(),n=tf(r,{recursiveReadLimit:Number.POSITIVE_INFINITY});return kC(n,t)}function kC(s,e="Hex"){if(s.bytes.length===0)return e==="Hex"?Re(s.bytes):s.bytes;let t=s.readByte();if(t<128&&s.decrementPosition(1),t<192){let n=CC(s,t,128),i=s.readBytes(n);return e==="Hex"?Re(i):i}let r=CC(s,t,192);return dR(s,r,e)}function CC(s,e,t){if(t===128&&e<128)return 1;if(e<=t+55)return e-t;if(e===t+55+1)return s.readUint8();if(e===t+55+2)return s.readUint16();if(e===t+55+3)return s.readUint24();if(e===t+55+4)return s.readUint32();throw new re("Invalid RLP prefix")}function dR(s,e,t){let r=s.position,n=[];for(;s.position-r<e;)n.push(kC(s,t));return n}function mR(s,e){let{as:t}=e,r=TC(s),n=tf(new Uint8Array(r.length));return r.encode(n),t==="Hex"?Re(n.bytes):n.bytes}function PC(s,e={}){let{as:t="Hex"}=e;return mR(s,{as:t})}function TC(s){return Array.isArray(s)?pR(s.map(e=>TC(e))):gR(s)}function pR(s){let e=s.reduce((n,i)=>n+i.length,0),t=BC(e);return {length:e<=55?1+e:1+t+e,encode(n){e<=55?n.pushByte(192+e):(n.pushByte(247+t),t===1?n.pushUint8(e):t===2?n.pushUint16(e):t===3?n.pushUint24(e):n.pushUint32(e));for(let{encode:i}of s)i(n);}}}function gR(s){let e=typeof s=="string"?ut(s):s,t=BC(e.length);return {length:e.length===1&&e[0]<128?1:e.length<=55?1+e.length:1+t+e.length,encode(n){e.length===1&&e[0]<128?n.pushBytes(e):e.length<=55?(n.pushByte(128+e.length),n.pushBytes(e)):(n.pushByte(183+t),t===1?n.pushUint8(e.length):t===2?n.pushUint16(e.length):t===3?n.pushUint24(e.length):n.pushUint32(e.length),n.pushBytes(e));}}}function BC(s){if(s<=255)return 1;if(s<=65535)return 2;if(s<=16777215)return 3;if(s<=4294967295)return 4;throw new re("Length is too large.")}var $t={};Te($t,{InvalidRError:()=>dg,InvalidSError:()=>mg,InvalidSerializedSizeError:()=>fg,InvalidVError:()=>pg,InvalidYParityError:()=>Ma,MissingPropertiesError:()=>eu,assert:()=>gg,extract:()=>yg,from:()=>rf,fromBytes:()=>ZC,fromDerBytes:()=>RR,fromDerHex:()=>XC,fromHex:()=>rv,fromLegacy:()=>QC,fromRpc:()=>e5,fromTuple:()=>nv,toBytes:()=>VR,toDerBytes:()=>DR,toDerHex:()=>UR,toHex:()=>t5,toLegacy:()=>LR,toRpc:()=>iv,toTuple:()=>av,vToYParity:()=>wg,validate:()=>jR,yParityToV:()=>ov});d();f();d();f();d();f();d();f();var lg=class extends Gn{constructor(e,t){super(),this.finished=!1,this.destroyed=!1,m3(e);let r=Aa(t);if(this.iHash=e.create(),typeof this.iHash.update!="function")throw new Error("Expected instance of class which extends utils.Hash");this.blockLen=this.iHash.blockLen,this.outputLen=this.iHash.outputLen;let n=this.blockLen,i=new Uint8Array(n);i.set(r.length>n?e.create().update(r).digest():r);for(let a=0;a<i.length;a++)i[a]^=54;this.iHash.update(i),this.oHash=e.create();for(let a=0;a<i.length;a++)i[a]^=106;this.oHash.update(i),ps(i);}update(e){return _r(this),this.iHash.update(e),this}digestInto(e){_r(this),xr(e,this.outputLen),this.finished=!0,this.iHash.digestInto(e),this.oHash.update(e),this.oHash.digestInto(e),this.destroy();}digest(){let e=new Uint8Array(this.oHash.outputLen);return this.digestInto(e),e}_cloneInto(e){e||(e=Object.create(Object.getPrototypeOf(this),{}));let{oHash:t,iHash:r,finished:n,destroyed:i,blockLen:a,outputLen:o}=this;return e=e,e.finished=n,e.destroyed=i,e.blockLen=a,e.outputLen=o,e.oHash=t._cloneInto(e.oHash),e.iHash=r._cloneInto(e.iHash),e}clone(){return this._cloneInto()}destroy(){this.destroyed=!0,this.oHash.destroy(),this.iHash.destroy();}},MS=(s,e,t)=>new lg(s,e).update(t).digest();MS.create=(s,e)=>new lg(s,e);d();f();d();f();d();f();var bs=BigInt(0),is=BigInt(1),_a=BigInt(2),yR=BigInt(3),VC=BigInt(4),DC=BigInt(5),UC=BigInt(8);function ns(s,e){let t=s%e;return t>=bs?t:e+t}function Vs(s,e,t){let r=s;for(;e-- >bs;)r*=r,r%=t;return r}function hg(s,e){if(s===bs)throw new Error("invert: expected non-zero number");if(e<=bs)throw new Error("invert: expected positive modulus, got "+e);let t=ns(s,e),r=e,n=bs,a=is;for(;t!==bs;){let u=r/t,l=r%t,m=n-a*u;r=t,t=l,n=a,a=m;}if(r!==is)throw new Error("invert: does not exist");return ns(n,e)}function LC(s,e){let t=(s.ORDER+is)/VC,r=s.pow(e,t);if(!s.eql(s.sqr(r),e))throw new Error("Cannot find square root");return r}function wR(s,e){let t=(s.ORDER-DC)/UC,r=s.mul(e,_a),n=s.pow(r,t),i=s.mul(e,n),a=s.mul(s.mul(i,_a),n),o=s.mul(i,s.sub(a,s.ONE));if(!s.eql(s.sqr(o),e))throw new Error("Cannot find square root");return o}function bR(s){if(s<BigInt(3))throw new Error("sqrt is not defined for small field");let e=s-is,t=0;for(;e%_a===bs;)e/=_a,t++;let r=_a,n=Yr(s);for(;RC(n,r)===1;)if(r++>1e3)throw new Error("Cannot find square root: probably non-prime P");if(t===1)return LC;let i=n.pow(r,e),a=(e+is)/_a;return function(c,u){if(c.is0(u))return u;if(RC(c,u)!==1)throw new Error("Cannot find square root");let l=t,m=c.mul(c.ONE,i),w=c.pow(u,e),E=c.pow(u,a);for(;!c.eql(w,c.ONE);){if(c.is0(w))return c.ZERO;let v=1,A=c.sqr(w);for(;!c.eql(A,c.ONE);)if(v++,A=c.sqr(A),v===l)throw new Error("Cannot find square root");let C=is<<BigInt(l-v-1),D=c.pow(m,C);l=v,m=c.sqr(D),w=c.mul(w,m),E=c.mul(E,D);}return E}}function SR(s){return s%VC===yR?LC:s%UC===DC?wR:bR(s)}var vR=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function $S(s){let e={ORDER:"bigint",MASK:"bigint",BYTES:"isSafeInteger",BITS:"isSafeInteger"},t=vR.reduce((r,n)=>(r[n]="function",r),e);return Ba(s,t)}function ER(s,e,t){if(t<bs)throw new Error("invalid exponent, negatives unsupported");if(t===bs)return s.ONE;if(t===is)return e;let r=s.ONE,n=e;for(;t>bs;)t&is&&(r=s.mul(r,n)),n=s.sqr(n),t>>=is;return r}function qS(s,e,t=!1){let r=new Array(e.length).fill(t?s.ZERO:void 0),n=e.reduce((a,o,c)=>s.is0(o)?a:(r[c]=a,s.mul(a,o)),s.ONE),i=s.inv(n);return e.reduceRight((a,o,c)=>s.is0(o)?a:(r[c]=s.mul(a,r[c]),s.mul(a,o)),i),r}function RC(s,e){let t=(s.ORDER-is)/_a,r=s.pow(e,t),n=s.eql(r,s.ONE),i=s.eql(r,s.ZERO),a=s.eql(r,s.neg(s.ONE));if(!n&&!i&&!a)throw new Error("invalid Legendre symbol result");return n?1:i?0:-1}function FS(s,e){e!==void 0&&xa(e);let t=e!==void 0?e:s.toString(2).length,r=Math.ceil(t/8);return {nBitLength:t,nByteLength:r}}function Yr(s,e,t=!1,r={}){if(s<=bs)throw new Error("invalid field: expected ORDER > 0, got "+s);let{nBitLength:n,nByteLength:i}=FS(s,e);if(i>2048)throw new Error("invalid field: expected ORDER of <= 2048 bytes");let a,o=Object.freeze({ORDER:s,isLE:t,BITS:n,BYTES:i,MASK:Ta(n),ZERO:bs,ONE:is,create:c=>ns(c,s),isValid:c=>{if(typeof c!="bigint")throw new Error("invalid field element: expected bigint, got "+typeof c);return bs<=c&&c<s},is0:c=>c===bs,isOdd:c=>(c&is)===is,neg:c=>ns(-c,s),eql:(c,u)=>c===u,sqr:c=>ns(c*c,s),add:(c,u)=>ns(c+u,s),sub:(c,u)=>ns(c-u,s),mul:(c,u)=>ns(c*u,s),pow:(c,u)=>ER(o,c,u),div:(c,u)=>ns(c*hg(u,s),s),sqrN:c=>c*c,addN:(c,u)=>c+u,subN:(c,u)=>c-u,mulN:(c,u)=>c*u,inv:c=>hg(c,s),sqrt:r.sqrt||(c=>(a||(a=SR(s)),a(o,c))),toBytes:c=>t?lS(c,i):ka(c,i),fromBytes:c=>{if(c.length!==i)throw new Error("Field.fromBytes: expected "+i+" bytes, got "+c.length);return t?uS(c):qr(c)},invertBatch:c=>qS(o,c),cmov:(c,u,l)=>l?u:c});return Object.freeze(o)}function jC(s){if(typeof s!="bigint")throw new Error("field order must be bigint");let e=s.toString(2).length;return Math.ceil(e/8)}function KS(s){let e=jC(s);return e+Math.ceil(e/2)}function HC(s,e,t=!1){let r=s.length,n=jC(e),i=KS(e);if(r<16||r<i||r>1024)throw new Error("expected "+i+"-1024 bytes of input, got "+r);let a=t?uS(s):qr(s),o=ns(a,e-is)+is;return t?lS(o,n):ka(o,n)}var _C=BigInt(0),YS=BigInt(1);function GS(s,e){let t=e.negate();return s?t:e}function $C(s,e){if(!Number.isSafeInteger(s)||s<=0||s>e)throw new Error("invalid window size, expected [1.."+e+"], got W="+s)}function WS(s,e){$C(s,e);let t=Math.ceil(e/s)+1,r=2**(s-1),n=2**s,i=Ta(s),a=BigInt(s);return {windows:t,windowSize:r,mask:i,maxNumber:n,shiftBy:a}}function MC(s,e,t){let{windowSize:r,mask:n,maxNumber:i,shiftBy:a}=t,o=Number(s&n),c=s>>a;o>r&&(o-=i,c+=YS);let u=e*r,l=u+Math.abs(o)-1,m=o===0,w=o<0,E=e%2!==0;return {nextN:c,offset:l,isZero:m,isNeg:w,isNegF:E,offsetF:u}}function xR(s,e){if(!Array.isArray(s))throw new Error("array expected");s.forEach((t,r)=>{if(!(t instanceof e))throw new Error("invalid point at index "+r)});}function AR(s,e){if(!Array.isArray(s))throw new Error("array of scalars expected");s.forEach((t,r)=>{if(!e.isValid(t))throw new Error("invalid scalar at index "+r)});}var JS=new WeakMap,qC=new WeakMap;function zS(s){return qC.get(s)||1}function FC(s,e){return {constTimeNegate:GS,hasPrecomputes(t){return zS(t)!==1},unsafeLadder(t,r,n=s.ZERO){let i=t;for(;r>_C;)r&YS&&(n=n.add(i)),i=i.double(),r>>=YS;return n},precomputeWindow(t,r){let{windows:n,windowSize:i}=WS(r,e),a=[],o=t,c=o;for(let u=0;u<n;u++){c=o,a.push(c);for(let l=1;l<i;l++)c=c.add(o),a.push(c);o=c.double();}return a},wNAF(t,r,n){let i=s.ZERO,a=s.BASE,o=WS(t,e);for(let c=0;c<o.windows;c++){let{nextN:u,offset:l,isZero:m,isNeg:w,isNegF:E,offsetF:v}=MC(n,c,o);n=u,m?a=a.add(GS(E,r[v])):i=i.add(GS(w,r[l]));}return {p:i,f:a}},wNAFUnsafe(t,r,n,i=s.ZERO){let a=WS(t,e);for(let o=0;o<a.windows&&n!==_C;o++){let{nextN:c,offset:u,isZero:l,isNeg:m}=MC(n,o,a);if(n=c,!l){let w=r[u];i=i.add(m?w.negate():w);}}return i},getPrecomputes(t,r,n){let i=JS.get(r);return i||(i=this.precomputeWindow(r,t),t!==1&&JS.set(r,n(i))),i},wNAFCached(t,r,n){let i=zS(t);return this.wNAF(i,this.getPrecomputes(i,t,n),r)},wNAFCachedUnsafe(t,r,n,i){let a=zS(t);return a===1?this.unsafeLadder(t,r,i):this.wNAFUnsafe(a,this.getPrecomputes(a,t,n),r,i)},setWindowSize(t,r){$C(r,e),qC.set(t,r),JS.delete(t);}}}function KC(s,e,t,r){xR(t,s),AR(r,e);let n=t.length,i=r.length;if(n!==i)throw new Error("arrays of points and scalars must have equal length");let a=s.ZERO,o=X3(BigInt(n)),c=1;o>12?c=o-3:o>4?c=o-2:o>0&&(c=2);let u=Ta(c),l=new Array(Number(u)+1).fill(a),m=Math.floor((e.BITS-1)/c)*c,w=a;for(let E=m;E>=0;E-=c){l.fill(a);for(let A=0;A<i;A++){let C=r[A],D=Number(C>>BigInt(E)&u);l[D]=l[D].add(t[A]);}let v=a;for(let A=l.length-1,C=a;A>0;A--)C=C.add(l[A]),v=v.add(C);if(w=w.add(v),E!==0)for(let A=0;A<c;A++)w=w.double();}return w}function ZS(s){return $S(s.Fp),Ba(s,{n:"bigint",h:"bigint",Gx:"field",Gy:"field"},{nBitLength:"isSafeInteger",nByteLength:"isSafeInteger"}),Object.freeze({...FS(s.n,s.nBitLength),...s,p:s.Fp.ORDER})}function GC(s){s.lowS!==void 0&&Mc("lowS",s.lowS),s.prehash!==void 0&&Mc("prehash",s.prehash);}function IR(s){let e=ZS(s);Ba(e,{a:"field",b:"field"},{allowInfinityPoint:"boolean",allowedPrivateKeyLengths:"array",clearCofactor:"function",fromBytes:"function",isTorsionFree:"function",toBytes:"function",wrapPrivateKey:"boolean"});let{endo:t,Fp:r,a:n}=e;if(t){if(!r.eql(n,r.ZERO))throw new Error("invalid endo: CURVE.a must be 0");if(typeof t!="object"||typeof t.beta!="bigint"||typeof t.splitScalar!="function")throw new Error('invalid endo: expected "beta": bigint and "splitScalar": function')}return Object.freeze({...e})}var ev=class extends Error{constructor(e=""){super(e);}},Zr={Err:ev,_tlv:{encode:(s,e)=>{let{Err:t}=Zr;if(s<0||s>256)throw new t("tlv.encode: wrong tag");if(e.length&1)throw new t("tlv.encode: unpadded data");let r=e.length/2,n=Lh(r);if(n.length/2&128)throw new t("tlv.encode: long form length too big");let i=r>127?Lh(n.length/2|128):"";return Lh(s)+i+n+e},decode(s,e){let{Err:t}=Zr,r=0;if(s<0||s>256)throw new t("tlv.encode: wrong tag");if(e.length<2||e[r++]!==s)throw new t("tlv.decode: wrong tlv");let n=e[r++],i=!!(n&128),a=0;if(!i)a=n;else {let c=n&127;if(!c)throw new t("tlv.decode(long): indefinite length not supported");if(c>4)throw new t("tlv.decode(long): byte length is too big");let u=e.subarray(r,r+c);if(u.length!==c)throw new t("tlv.decode: length bytes not complete");if(u[0]===0)throw new t("tlv.decode(long): zero leftmost byte");for(let l of u)a=a<<8|l;if(r+=c,a<128)throw new t("tlv.decode(long): not minimal encoding")}let o=e.subarray(r,r+a);if(o.length!==a)throw new t("tlv.decode: wrong value length");return {v:o,l:e.subarray(r+a)}}},_int:{encode(s){let{Err:e}=Zr;if(s<Xr)throw new e("integer: negative integers are not allowed");let t=Lh(s);if(Number.parseInt(t[0],16)&8&&(t="00"+t),t.length&1)throw new e("unexpected DER parsing assertion: unpadded hex");return t},decode(s){let{Err:e}=Zr;if(s[0]&128)throw new e("invalid signature integer: negative");if(s[0]===0&&!(s[1]&128))throw new e("invalid signature integer: unnecessary leading zero");return qr(s)}},toSig(s){let{Err:e,_int:t,_tlv:r}=Zr,n=Is("signature",s),{v:i,l:a}=r.decode(48,n);if(a.length)throw new e("invalid signature: left bytes after parsing");let{v:o,l:c}=r.decode(2,i),{v:u,l}=r.decode(2,c);if(l.length)throw new e("invalid signature: left bytes after parsing");return {r:t.decode(o),s:t.decode(u)}},hexFromSig(s){let{_tlv:e,_int:t}=Zr,r=e.encode(2,t.encode(s.r)),n=e.encode(2,t.encode(s.s)),i=r+n;return e.encode(48,i)}};function XS(s,e){return $c(ka(s,e))}var Xr=BigInt(0),Mt=BigInt(1);BigInt(2);var QS=BigInt(3),CR=BigInt(4);function NR(s){let e=IR(s),{Fp:t}=e,r=Yr(e.n,e.nBitLength),n=e.toBytes||((T,P,B)=>{let G=P.toAffine();return Hh(Uint8Array.from([4]),t.toBytes(G.x),t.toBytes(G.y))}),i=e.fromBytes||(T=>{let P=T.subarray(1),B=t.fromBytes(P.subarray(0,t.BYTES)),G=t.fromBytes(P.subarray(t.BYTES,2*t.BYTES));return {x:B,y:G}});function a(T){let{a:P,b:B}=e,G=t.sqr(T),se=t.mul(G,T);return t.add(t.add(se,t.mul(T,P)),B)}function o(T,P){let B=t.sqr(P),G=a(T);return t.eql(B,G)}if(!o(e.Gx,e.Gy))throw new Error("bad curve params: generator point");let c=t.mul(t.pow(e.a,QS),CR),u=t.mul(t.sqr(e.b),BigInt(27));if(t.is0(t.add(c,u)))throw new Error("bad curve params: a or b");function l(T){return $p(T,Mt,e.n)}function m(T){let{allowedPrivateKeyLengths:P,nByteLength:B,wrapPrivateKey:G,n:se}=e;if(P&&typeof T!="bigint"){if(_c(T)&&(T=$c(T)),typeof T!="string"||!P.includes(T.length))throw new Error("invalid private key");T=T.padStart(B*2,"0");}let X;try{X=typeof T=="bigint"?T:qr(Is("private key",T,B));}catch{throw new Error("invalid private key, expected hex or "+B+" bytes, got "+typeof T)}return G&&(X=ns(X,se)),Pa("private key",X,Mt,se),X}function w(T){if(!(T instanceof A))throw new Error("ProjectivePoint expected")}let E=hS((T,P)=>{let{px:B,py:G,pz:se}=T;if(t.eql(se,t.ONE))return {x:B,y:G};let X=T.is0();P==null&&(P=X?t.ONE:t.inv(se));let ae=t.mul(B,P),fe=t.mul(G,P),te=t.mul(se,P);if(X)return {x:t.ZERO,y:t.ZERO};if(!t.eql(te,t.ONE))throw new Error("invZ was invalid");return {x:ae,y:fe}}),v=hS(T=>{if(T.is0()){if(e.allowInfinityPoint&&!t.is0(T.py))return;throw new Error("bad point: ZERO")}let{x:P,y:B}=T.toAffine();if(!t.isValid(P)||!t.isValid(B))throw new Error("bad point: x or y not FE");if(!o(P,B))throw new Error("bad point: equation left != right");if(!T.isTorsionFree())throw new Error("bad point: not in prime-order subgroup");return !0});class A{constructor(P,B,G){if(P==null||!t.isValid(P))throw new Error("x required");if(B==null||!t.isValid(B)||t.is0(B))throw new Error("y required");if(G==null||!t.isValid(G))throw new Error("z required");this.px=P,this.py=B,this.pz=G,Object.freeze(this);}static fromAffine(P){let{x:B,y:G}=P||{};if(!P||!t.isValid(B)||!t.isValid(G))throw new Error("invalid affine point");if(P instanceof A)throw new Error("projective point not allowed");let se=X=>t.eql(X,t.ZERO);return se(B)&&se(G)?A.ZERO:new A(B,G,t.ONE)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static normalizeZ(P){let B=qS(t,P.map(G=>G.pz));return P.map((G,se)=>G.toAffine(B[se])).map(A.fromAffine)}static fromHex(P){let B=A.fromAffine(i(Is("pointHex",P)));return B.assertValidity(),B}static fromPrivateKey(P){return A.BASE.multiply(m(P))}static msm(P,B){return KC(A,r,P,B)}_setWindowSize(P){U.setWindowSize(this,P);}assertValidity(){v(this);}hasEvenY(){let{y:P}=this.toAffine();if(t.isOdd)return !t.isOdd(P);throw new Error("Field doesn't support isOdd")}equals(P){w(P);let{px:B,py:G,pz:se}=this,{px:X,py:ae,pz:fe}=P,te=t.eql(t.mul(B,fe),t.mul(X,se)),oe=t.eql(t.mul(G,fe),t.mul(ae,se));return te&&oe}negate(){return new A(this.px,t.neg(this.py),this.pz)}double(){let{a:P,b:B}=e,G=t.mul(B,QS),{px:se,py:X,pz:ae}=this,fe=t.ZERO,te=t.ZERO,oe=t.ZERO,me=t.mul(se,se),_e=t.mul(X,X),J=t.mul(ae,ae),Z=t.mul(se,X);return Z=t.add(Z,Z),oe=t.mul(se,ae),oe=t.add(oe,oe),fe=t.mul(P,oe),te=t.mul(G,J),te=t.add(fe,te),fe=t.sub(_e,te),te=t.add(_e,te),te=t.mul(fe,te),fe=t.mul(Z,fe),oe=t.mul(G,oe),J=t.mul(P,J),Z=t.sub(me,J),Z=t.mul(P,Z),Z=t.add(Z,oe),oe=t.add(me,me),me=t.add(oe,me),me=t.add(me,J),me=t.mul(me,Z),te=t.add(te,me),J=t.mul(X,ae),J=t.add(J,J),me=t.mul(J,Z),fe=t.sub(fe,me),oe=t.mul(J,_e),oe=t.add(oe,oe),oe=t.add(oe,oe),new A(fe,te,oe)}add(P){w(P);let{px:B,py:G,pz:se}=this,{px:X,py:ae,pz:fe}=P,te=t.ZERO,oe=t.ZERO,me=t.ZERO,_e=e.a,J=t.mul(e.b,QS),Z=t.mul(B,X),ce=t.mul(G,ae),Ee=t.mul(se,fe),le=t.add(B,G),$=t.add(X,ae);le=t.mul(le,$),$=t.add(Z,ce),le=t.sub(le,$),$=t.add(B,se);let ee=t.add(X,fe);return $=t.mul($,ee),ee=t.add(Z,Ee),$=t.sub($,ee),ee=t.add(G,se),te=t.add(ae,fe),ee=t.mul(ee,te),te=t.add(ce,Ee),ee=t.sub(ee,te),me=t.mul(_e,$),te=t.mul(J,Ee),me=t.add(te,me),te=t.sub(ce,me),me=t.add(ce,me),oe=t.mul(te,me),ce=t.add(Z,Z),ce=t.add(ce,Z),Ee=t.mul(_e,Ee),$=t.mul(J,$),ce=t.add(ce,Ee),Ee=t.sub(Z,Ee),Ee=t.mul(_e,Ee),$=t.add($,Ee),Z=t.mul(ce,$),oe=t.add(oe,Z),Z=t.mul(ee,$),te=t.mul(le,te),te=t.sub(te,Z),Z=t.mul(le,ce),me=t.mul(ee,me),me=t.add(me,Z),new A(te,oe,me)}subtract(P){return this.add(P.negate())}is0(){return this.equals(A.ZERO)}wNAF(P){return U.wNAFCached(this,P,A.normalizeZ)}multiplyUnsafe(P){let{endo:B,n:G}=e;Pa("scalar",P,Xr,G);let se=A.ZERO;if(P===Xr)return se;if(this.is0()||P===Mt)return this;if(!B||U.hasPrecomputes(this))return U.wNAFCachedUnsafe(this,P,A.normalizeZ);let{k1neg:X,k1:ae,k2neg:fe,k2:te}=B.splitScalar(P),oe=se,me=se,_e=this;for(;ae>Xr||te>Xr;)ae&Mt&&(oe=oe.add(_e)),te&Mt&&(me=me.add(_e)),_e=_e.double(),ae>>=Mt,te>>=Mt;return X&&(oe=oe.negate()),fe&&(me=me.negate()),me=new A(t.mul(me.px,B.beta),me.py,me.pz),oe.add(me)}multiply(P){let{endo:B,n:G}=e;Pa("scalar",P,Mt,G);let se,X;if(B){let{k1neg:ae,k1:fe,k2neg:te,k2:oe}=B.splitScalar(P),{p:me,f:_e}=this.wNAF(fe),{p:J,f:Z}=this.wNAF(oe);me=U.constTimeNegate(ae,me),J=U.constTimeNegate(te,J),J=new A(t.mul(J.px,B.beta),J.py,J.pz),se=me.add(J),X=_e.add(Z);}else {let{p:ae,f:fe}=this.wNAF(P);se=ae,X=fe;}return A.normalizeZ([se,X])[0]}multiplyAndAddUnsafe(P,B,G){let se=A.BASE,X=(fe,te)=>te===Xr||te===Mt||!fe.equals(se)?fe.multiplyUnsafe(te):fe.multiply(te),ae=X(this,B).add(X(P,G));return ae.is0()?void 0:ae}toAffine(P){return E(this,P)}isTorsionFree(){let{h:P,isTorsionFree:B}=e;if(P===Mt)return !0;if(B)return B(A,this);throw new Error("isTorsionFree() has not been declared for the elliptic curve")}clearCofactor(){let{h:P,clearCofactor:B}=e;return P===Mt?this:B?B(A,this):this.multiplyUnsafe(e.h)}toRawBytes(P=!0){return Mc("isCompressed",P),this.assertValidity(),n(A,this,P)}toHex(P=!0){return Mc("isCompressed",P),$c(this.toRawBytes(P))}}A.BASE=new A(e.Gx,e.Gy,t.ONE),A.ZERO=new A(t.ZERO,t.ONE,t.ZERO);let{endo:C,nBitLength:D}=e,U=FC(A,C?Math.ceil(D/2):D);return {CURVE:e,ProjectivePoint:A,normPrivateKeyToScalar:m,weierstrassEquation:a,isWithinCurveOrder:l}}function kR(s){let e=ZS(s);return Ba(e,{hash:"hash",hmac:"function",randomBytes:"function"},{bits2int:"function",bits2int_modN:"function",lowS:"boolean"}),Object.freeze({lowS:!0,...e})}function WC(s){let e=kR(s),{Fp:t,n:r,nByteLength:n,nBitLength:i}=e,a=t.BYTES+1,o=2*t.BYTES+1;function c(J){return ns(J,r)}function u(J){return hg(J,r)}let{ProjectivePoint:l,normPrivateKeyToScalar:m,weierstrassEquation:w,isWithinCurveOrder:E}=NR({...e,toBytes(J,Z,ce){let Ee=Z.toAffine(),le=t.toBytes(Ee.x),$=Hh;return Mc("isCompressed",ce),ce?$(Uint8Array.from([Z.hasEvenY()?2:3]),le):$(Uint8Array.from([4]),le,t.toBytes(Ee.y))},fromBytes(J){let Z=J.length,ce=J[0],Ee=J.subarray(1);if(Z===a&&(ce===2||ce===3)){let le=qr(Ee);if(!$p(le,Mt,t.ORDER))throw new Error("Point is not on curve");let $=w(le),ee;try{ee=t.sqrt($);}catch(ke){let Fe=ke instanceof Error?": "+ke.message:"";throw new Error("Point is not on curve"+Fe)}let ne=(ee&Mt)===Mt;return (ce&1)===1!==ne&&(ee=t.neg(ee)),{x:le,y:ee}}else if(Z===o&&ce===4){let le=t.fromBytes(Ee.subarray(0,t.BYTES)),$=t.fromBytes(Ee.subarray(t.BYTES,2*t.BYTES));return {x:le,y:$}}else {let le=a,$=o;throw new Error("invalid Point, expected length of "+le+", or uncompressed "+$+", got "+Z)}}});function v(J){let Z=r>>Mt;return J>Z}function A(J){return v(J)?c(-J):J}let C=(J,Z,ce)=>qr(J.slice(Z,ce));class D{constructor(Z,ce,Ee){Pa("r",Z,Mt,r),Pa("s",ce,Mt,r),this.r=Z,this.s=ce,Ee!=null&&(this.recovery=Ee),Object.freeze(this);}static fromCompact(Z){let ce=n;return Z=Is("compactSignature",Z,ce*2),new D(C(Z,0,ce),C(Z,ce,2*ce))}static fromDER(Z){let{r:ce,s:Ee}=Zr.toSig(Is("DER",Z));return new D(ce,Ee)}assertValidity(){}addRecoveryBit(Z){return new D(this.r,this.s,Z)}recoverPublicKey(Z){let{r:ce,s:Ee,recovery:le}=this,$=se(Is("msgHash",Z));if(le==null||![0,1,2,3].includes(le))throw new Error("recovery id invalid");let ee=le===2||le===3?ce+e.n:ce;if(ee>=t.ORDER)throw new Error("recovery id 2 or 3 invalid");let ne=le&1?"03":"02",xe=l.fromHex(ne+XS(ee,t.BYTES)),ke=u(ee),Fe=c(-$*ke),Rt=c(Ee*ke),Me=l.BASE.multiplyAndAddUnsafe(xe,Fe,Rt);if(!Me)throw new Error("point at infinify");return Me.assertValidity(),Me}hasHighS(){return v(this.s)}normalizeS(){return this.hasHighS()?new D(this.r,c(-this.s),this.recovery):this}toDERRawBytes(){return jh(this.toDERHex())}toDERHex(){return Zr.hexFromSig(this)}toCompactRawBytes(){return jh(this.toCompactHex())}toCompactHex(){let Z=n;return XS(this.r,Z)+XS(this.s,Z)}}let U={isValidPrivateKey(J){try{return m(J),!0}catch{return !1}},normPrivateKeyToScalar:m,randomPrivateKey:()=>{let J=KS(e.n);return HC(e.randomBytes(J),e.n)},precompute(J=8,Z=l.BASE){return Z._setWindowSize(J),Z.multiply(BigInt(3)),Z}};function T(J,Z=!0){return l.fromPrivateKey(J).toRawBytes(Z)}function P(J){if(typeof J=="bigint")return !1;if(J instanceof l)return !0;let ce=Is("key",J).length,Ee=t.BYTES,le=Ee+1,$=2*Ee+1;if(!(e.allowedPrivateKeyLengths||n===le))return ce===le||ce===$}function B(J,Z,ce=!0){if(P(J)===!0)throw new Error("first arg must be private key");if(P(Z)===!1)throw new Error("second arg must be public key");return l.fromHex(Z).multiply(m(J)).toRawBytes(ce)}let G=e.bits2int||function(J){if(J.length>8192)throw new Error("input is too large");let Z=qr(J),ce=J.length*8-i;return ce>0?Z>>BigInt(ce):Z},se=e.bits2int_modN||function(J){return c(G(J))},X=Ta(i);function ae(J){return Pa("num < 2^"+i,J,Xr,X),ka(J,n)}function fe(J,Z,ce=te){if(["recovered","canonical"].some(he=>he in ce))throw new Error("sign() legacy options not supported");let{hash:Ee,randomBytes:le}=e,{lowS:$,prehash:ee,extraEntropy:ne}=ce;$==null&&($=!0),J=Is("msgHash",J),GC(ce),ee&&(J=Is("prehashed msgHash",Ee(J)));let xe=se(J),ke=m(Z),Fe=[ae(ke),ae(xe)];if(ne!=null&&ne!==!1){let he=ne===!0?le(t.BYTES):ne;Fe.push(Is("extraEntropy",he));}let Rt=Hh(...Fe),Me=xe;function De(he){let ss=G(he);if(!E(ss))return;let ds=u(ss),Ct=l.BASE.multiply(ss).toAffine(),He=c(Ct.x);if(He===Xr)return;let pa=c(ds*c(Me+He*ke));if(pa===Xr)return;let Hn=(Ct.x===He?0:2)|Number(Ct.y&Mt),Tc=pa;return $&&v(pa)&&(Tc=A(pa),Hn^=1),new D(He,Tc,Hn)}return {seed:Rt,k2sig:De}}let te={lowS:e.lowS,prehash:!1},oe={lowS:e.lowS,prehash:!1};function me(J,Z,ce=te){let{seed:Ee,k2sig:le}=fe(J,Z,ce),$=e;return Q3($.hash.outputLen,$.nByteLength,$.hmac)(Ee,le)}l.BASE._setWindowSize(8);function _e(J,Z,ce,Ee=oe){let le=J;Z=Is("msgHash",Z),ce=Is("publicKey",ce);let{lowS:$,prehash:ee,format:ne}=Ee;if(GC(Ee),"strict"in Ee)throw new Error("options.strict was renamed to lowS");if(ne!==void 0&&ne!=="compact"&&ne!=="der")throw new Error("format must be compact or der");let xe=typeof le=="string"||_c(le),ke=!xe&&!ne&&typeof le=="object"&&le!==null&&typeof le.r=="bigint"&&typeof le.s=="bigint";if(!xe&&!ke)throw new Error("invalid signature, expected Uint8Array, hex string or Signature instance");let Fe,Rt;try{if(ke&&(Fe=new D(le.r,le.s)),xe){try{ne!=="compact"&&(Fe=D.fromDER(le));}catch(Hn){if(!(Hn instanceof Zr.Err))throw Hn}!Fe&&ne!=="der"&&(Fe=D.fromCompact(le));}Rt=l.fromHex(ce);}catch{return !1}if(!Fe||$&&Fe.hasHighS())return !1;ee&&(Z=e.hash(Z));let{r:Me,s:De}=Fe,he=se(Z),ss=u(De),ds=c(he*ss),Ct=c(Me*ss),He=l.BASE.multiplyAndAddUnsafe(Rt,ds,Ct)?.toAffine();return He?c(He.x)===Me:!1}return {CURVE:e,getPublicKey:T,getSharedSecret:B,sign:me,verify:_e,ProjectivePoint:l,Signature:D,utils:U}}function PR(s){return {hash:s,hmac:(e,...t)=>MS(s,e,g3(...t)),randomBytes:y3}}function Qc(s,e){let t=r=>WC({...s,...PR(r)});return {...t(e),create:t}}var YC=BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"),JC=BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),TR=BigInt(0),BR=BigInt(1),tv=BigInt(2),zC=(s,e)=>(s+e/tv)/e;function OR(s){let e=YC,t=BigInt(3),r=BigInt(6),n=BigInt(11),i=BigInt(22),a=BigInt(23),o=BigInt(44),c=BigInt(88),u=s*s*s%e,l=u*u*s%e,m=Vs(l,t,e)*l%e,w=Vs(m,t,e)*l%e,E=Vs(w,tv,e)*u%e,v=Vs(E,n,e)*E%e,A=Vs(v,i,e)*v%e,C=Vs(A,o,e)*A%e,D=Vs(C,c,e)*C%e,U=Vs(D,o,e)*A%e,T=Vs(U,t,e)*l%e,P=Vs(T,a,e)*v%e,B=Vs(P,r,e)*u%e,G=Vs(B,tv,e);if(!sv.eql(sv.sqr(G),s))throw new Error("Cannot find square root");return G}var sv=Yr(YC,void 0,void 0,{sqrt:OR}),Ds=Qc({a:TR,b:BigInt(7),Fp:sv,n:JC,Gx:BigInt("55066263022277343669578718895168534326250603453777594175500187360389116729240"),Gy:BigInt("32670510020758816978083085130507043184471273380659243275938904335757337482424"),h:BigInt(1),lowS:!0,endo:{beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"),splitScalar:s=>{let e=JC,t=BigInt("0x3086d221a7d46bcde86c90e49284eb15"),r=-BR*BigInt("0xe4437ed6010e88286f547fa90abfe4c3"),n=BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),i=t,a=BigInt("0x100000000000000000000000000000000"),o=zC(i*s,e),c=zC(-r*s,e),u=ns(s-o*t-c*n,e),l=ns(-o*r-c*i,e),m=u>a,w=l>a;if(m&&(u=e-u),w&&(l=e-l),u>a||l>a)throw new Error("splitScalar: Endomorphism failed, k="+s);return {k1neg:m,k1:u,k2neg:w,k2:l}}}},Hc);function gg(s,e={}){let{recovered:t}=e;if(typeof s.r>"u")throw new eu({signature:s});if(typeof s.s>"u")throw new eu({signature:s});if(t&&typeof s.yParity>"u")throw new eu({signature:s});if(s.r<0n||s.r>VS)throw new dg({value:s.r});if(s.s<0n||s.s>VS)throw new mg({value:s.s});if(typeof s.yParity=="number"&&s.yParity!==0&&s.yParity!==1)throw new Ma({value:s.yParity})}function ZC(s){return rv(Re(s))}function rv(s){if(s.length!==130&&s.length!==132)throw new fg({signature:s});let e=BigInt(wt(s,0,32)),t=BigInt(wt(s,32,64)),r=(()=>{let n=+`0x${s.slice(130)}`;if(!Number.isNaN(n))try{return wg(n)}catch{throw new Ma({value:n})}})();return typeof r>"u"?{r:e,s:t}:{r:e,s:t,yParity:r}}function yg(s){if(!(typeof s.r>"u")&&!(typeof s.s>"u"))return rf(s)}function rf(s){let e=typeof s=="string"?rv(s):s instanceof Uint8Array?ZC(s):typeof s.r=="string"?e5(s):s.v?QC(s):{r:s.r,s:s.s,...typeof s.yParity<"u"?{yParity:s.yParity}:{}};return gg(e),e}function RR(s){return XC(Re(s))}function XC(s){let{r:e,s:t}=Ds.Signature.fromDER(gs(s).slice(2));return {r:e,s:t}}function QC(s){return {r:s.r,s:s.s,yParity:wg(s.v)}}function e5(s){let e=(()=>{let t=s.v?Number(s.v):void 0,r=s.yParity?Number(s.yParity):void 0;if(typeof t=="number"&&typeof r!="number"&&(r=wg(t)),typeof r!="number")throw new Ma({value:s.yParity});return r})();return {r:BigInt(s.r),s:BigInt(s.s),yParity:e}}function nv(s){let[e,t,r]=s;return rf({r:t==="0x"?0n:BigInt(t),s:r==="0x"?0n:BigInt(r),yParity:e==="0x"?0:Number(e)})}function VR(s){return ut(t5(s))}function t5(s){gg(s);let e=s.r,t=s.s;return st(ve(e,{size:32}),ve(t,{size:32}),typeof s.yParity=="number"?ve(ov(s.yParity),{size:1}):"0x")}function DR(s){return new Ds.Signature(s.r,s.s).toDERRawBytes()}function UR(s){return `0x${new Ds.Signature(s.r,s.s).toDERHex()}`}function LR(s){return {r:s.r,s:s.s,v:ov(s.yParity)}}function iv(s){let{r:e,s:t,yParity:r}=s;return {r:ve(e,{size:32}),s:ve(t,{size:32}),yParity:r===0?"0x0":"0x1"}}function av(s){let{r:e,s:t,yParity:r}=s;return [r?"0x01":"0x",e===0n?"0x":Ra(ve(e)),t===0n?"0x":Ra(ve(t))]}function jR(s,e={}){try{return gg(s,e),!0}catch{return !1}}function wg(s){if(s===0||s===27)return 0;if(s===1||s===28)return 1;if(s>=35)return s%2===0?1:0;throw new pg({value:s})}function ov(s){if(s===0)return 27;if(s===1)return 28;throw new Ma({value:s})}var fg=class extends re{constructor({signature:e}){super(`Value \`${e}\` is an invalid signature size.`,{metaMessages:["Expected: 64 bytes or 65 bytes.",`Received ${We(gs(e))} bytes.`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Signature.InvalidSerializedSizeError"});}},eu=class extends re{constructor({signature:e}){super(`Signature \`${Xs(e)}\` is missing either an \`r\`, \`s\`, or \`yParity\` property.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Signature.MissingPropertiesError"});}},dg=class extends re{constructor({value:e}){super(`Value \`${e}\` is an invalid r value. r must be a positive integer less than 2^256.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Signature.InvalidRError"});}},mg=class extends re{constructor({value:e}){super(`Value \`${e}\` is an invalid s value. s must be a positive integer less than 2^256.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Signature.InvalidSError"});}},Ma=class extends re{constructor({value:e}){super(`Value \`${e}\` is an invalid y-parity value. Y-parity must be 0 or 1.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Signature.InvalidYParityError"});}},pg=class extends re{constructor({value:e}){super(`Value \`${e}\` is an invalid v value. v must be 27, 28 or >=35.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Signature.InvalidVError"});}};d();f();var HR=new TextEncoder,_R=new TextDecoder,bg=Object.fromEntries(Array.from("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/").map((s,e)=>[e,s.charCodeAt(0)])),Sg={...Object.fromEntries(Array.from("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/").map((s,e)=>[s.charCodeAt(0),e])),61:0,45:62,95:63};function MR(s,e={}){let{pad:t=!0,url:r=!1}=e,n=new Uint8Array(Math.ceil(s.length/3)*4);for(let c=0,u=0;u<s.length;c+=4,u+=3){let l=(s[u]<<16)+(s[u+1]<<8)+(s[u+2]|0);n[c]=bg[l>>18],n[c+1]=bg[l>>12&63],n[c+2]=bg[l>>6&63],n[c+3]=bg[l&63];}let i=s.length%3,a=Math.floor(s.length/3)*4+(i&&i+1),o=_R.decode(new Uint8Array(n.buffer,0,a));return t&&i===1&&(o+="=="),t&&i===2&&(o+="="),r&&(o=o.replaceAll("+","-").replaceAll("/","_")),o}function s5(s,e={}){return MR(ut(s),e)}function nf(s){let e=s.replace(/=+$/,""),t=e.length,r=new Uint8Array(t+3);HR.encodeInto(e+"===",r);for(let i=0,a=0;i<e.length;i+=4,a+=3){let o=(Sg[r[i]]<<18)+(Sg[r[i+1]]<<12)+(Sg[r[i+2]]<<6)+Sg[r[i+3]];r[a]=o>>16,r[a+1]=o>>8&255,r[a+2]=o&255;}let n=(t>>2)*3+(t%4&&t%4-1);return new Uint8Array(r.buffer,0,n)}var Yt={};Te(Yt,{createKeyPair:()=>qR,getPublicKey:()=>i5,getSharedSecret:()=>FR,noble:()=>$R,randomPrivateKey:()=>a5,recoverAddress:()=>o5,recoverPublicKey:()=>c5,sign:()=>KR,verify:()=>GR});d();f();d();f();var vg=!1;var $R=Ds;function qR(s={}){let{as:e="Hex"}=s,t=a5({as:e}),r=i5({privateKey:t});return {privateKey:t,publicKey:r}}function i5(s){let{privateKey:e}=s,t=Ds.ProjectivePoint.fromPrivateKey(gs(e).slice(2));return Jr(t)}function FR(s){let{as:e="Hex",privateKey:t,publicKey:r}=s,a=Ds.ProjectivePoint.fromHex(Zn(r).slice(2)).multiply(Ds.utils.normPrivateKeyToScalar(gs(t).slice(2))).toRawBytes(!0);return e==="Hex"?Re(a):a}function a5(s={}){let{as:e="Hex"}=s,t=Ds.utils.randomPrivateKey();return e==="Hex"?Re(t):t}function o5(s){return PS(c5(s))}function c5(s){let{payload:e,signature:t}=s,{r,s:n,yParity:i}=t,o=new Ds.Signature(BigInt(r),BigInt(n)).addRecoveryBit(i).recoverPublicKey(gs(e).substring(2));return Jr(o)}function KR(s){let{extraEntropy:e=vg,hash:t,payload:r,privateKey:n}=s,{r:i,s:a,recovery:o}=Ds.sign(Gr(r),Gr(n),{extraEntropy:typeof e=="boolean"?e:gs(e).slice(2),lowS:!0,...t?{prehash:!0}:{}});return {r:i,s:a,yParity:o}}function GR(s){let{address:e,hash:t,payload:r,publicKey:n,signature:i}=s;return e?TS(e,o5({payload:r,signature:i})):Ds.verify(i,Gr(r),mC(n),...t?[{prehash:!0,lowS:!0}]:[])}d();f();function u5(s,e={}){return {...s,blockNumber:s.blockNumber?BigInt(s.blockNumber):null,logIndex:s.logIndex?Number(s.logIndex):null,transactionIndex:s.transactionIndex?Number(s.transactionIndex):null}}function l5(s,e={}){return {address:s.address,blockHash:s.blockHash,blockNumber:typeof s.blockNumber=="bigint"?ve(s.blockNumber):null,data:s.data,logIndex:typeof s.logIndex=="number"?ve(s.logIndex):null,topics:s.topics,transactionHash:s.transactionHash,transactionIndex:typeof s.transactionIndex=="number"?ve(s.transactionIndex):null,removed:s.removed}}var tu={};Te(tu,{createKeyPair:()=>e7,getPublicKey:()=>p5,getSharedSecret:()=>t7,noble:()=>QR,randomPrivateKey:()=>g5,recoverPublicKey:()=>s7,sign:()=>r7,verify:()=>lv});d();f();d();f();d();f();var f5=Yr(BigInt("0xffffffff00000001000000000000000000000000ffffffffffffffffffffffff")),WR=f5.create(BigInt("-3")),JR=BigInt("0x5ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b"),cv=Qc({a:WR,b:JR,Fp:f5,n:BigInt("0xffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551"),Gx:BigInt("0x6b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c296"),Gy:BigInt("0x4fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5"),h:BigInt(1),lowS:!1},Hc);var d5=Yr(BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff")),zR=d5.create(BigInt("-3")),YR=BigInt("0xb3312fa7e23ee7e4988e056be3f82d19181d9c6efe8141120314088f5013875ac656398d8a2ed19d2a85c8edd3ec2aef");Qc({a:zR,b:YR,Fp:d5,n:BigInt("0xffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973"),Gx:BigInt("0xaa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab7"),Gy:BigInt("0x3617de4a96262c6f5d9e98bf9292dc29f8f41dbd289a147ce9da3113b5f0b8c00a60b1ce1d7e819d7a431d7c90ea0e5f"),h:BigInt(1),lowS:!1},G3);var m5=Yr(BigInt("0x1ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff")),ZR=m5.create(BigInt("-3")),XR=BigInt("0x0051953eb9618e1c9a1f929a21a0b68540eea2da725b99b315f3b8b489918ef109e156193951ec7e937b1652c0bd3bb1bf073573df883d2c34f1ef451fd46b503f00");Qc({a:ZR,b:XR,Fp:m5,n:BigInt("0x01fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386409"),Gx:BigInt("0x00c6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3dbaa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd66"),Gy:BigInt("0x011839296a789a3bc0045c8a5fb42c7d1bd998f54449579b446817afbd17273e662c97ee72995ef42640c550b9013fad0761353c7086a272c24088be94769fd16650"),h:BigInt(1),lowS:!1,allowedPrivateKeyLengths:[130,131,132]},K3);var uv=cv,Qr=cv;var QR=Qr;function e7(s={}){let{as:e="Hex"}=s,t=g5({as:e}),r=p5({privateKey:t});return {privateKey:t,publicKey:r}}function p5(s){let{privateKey:e}=s,t=Qr.ProjectivePoint.fromPrivateKey(typeof e=="string"?e.slice(2):Re(e).slice(2));return Jr(t)}function t7(s){let{as:e="Hex",privateKey:t,publicKey:r}=s,n=Qr.ProjectivePoint.fromHex(Zn(r).slice(2)),i=typeof t=="string"?t.slice(2):Re(t).slice(2),o=n.multiply(Qr.utils.normPrivateKeyToScalar(i)).toRawBytes(!0);return e==="Hex"?Re(o):o}function g5(s={}){let{as:e="Hex"}=s,t=Qr.utils.randomPrivateKey();return e==="Hex"?Re(t):t}function s7(s){let{payload:e,signature:t}=s,{r,s:n,yParity:i}=t,a=new Qr.Signature(BigInt(r),BigInt(n)).addRecoveryBit(i),o=e instanceof Uint8Array?Re(e):e,c=a.recoverPublicKey(o.substring(2));return Jr(c)}function r7(s){let{extraEntropy:e=vg,hash:t,payload:r,privateKey:n}=s,{r:i,s:a,recovery:o}=Qr.sign(r instanceof Uint8Array?r:ut(r),n instanceof Uint8Array?n:ut(n),{extraEntropy:typeof e=="boolean"?e:gs(e).slice(2),lowS:!0,...t?{prehash:!0}:{}});return {r:i,s:a,yParity:o}}function lv(s){let{hash:e,payload:t,publicKey:r,signature:n}=s;return Qr.verify(n,t instanceof Uint8Array?t:ut(t),Zn(r).substring(2),...e?[{prehash:!0,lowS:!0}]:[])}var Eg={};Te(Eg,{encode:()=>y5,getSignPayload:()=>n7});d();f();function y5(s){let e=gs(s);return st("0x19",Cs(`Ethereum Signed Message:
340
- `+We(e)),e)}function n7(s){return Tt(y5(s))}d();f();d();f();var w5={wei:0,gwei:9,szabo:12,finney:15,ether:18};function i7(s,e=0){let t=s.toString(),r=t.startsWith("-");r&&(t=t.slice(1)),t=t.padStart(e,"0");let[n,i]=[t.slice(0,t.length-e),t.slice(t.length-e)];return i=i.replace(/(0+)$/,""),`${r?"-":""}${n||"0"}${i?`.${i}`:""}`}function xg(s,e="wei"){return i7(s,w5.gwei-w5[e])}var Ag=class extends re{constructor({feeCap:e}={}){super(`The fee cap (\`maxFeePerGas\`/\`maxPriorityFeePerGas\`${e?` = ${xg(e)} gwei`:""}) cannot be higher than the maximum allowed value (2^256-1).`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"TransactionEnvelope.FeeCapTooHighError"});}};var Ig=class extends re{constructor({chainId:e}){super(typeof e<"u"?`Chain ID "${e}" is invalid.`:"Chain ID is invalid."),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"TransactionEnvelope.InvalidChainIdError"});}},Cg=class extends re{constructor({attributes:e,serialized:t,type:r}){let n=Object.entries(e).map(([i,a])=>typeof a>"u"?i:void 0).filter(Boolean);super(`Invalid serialized transaction of type "${r}" was provided.`,{metaMessages:[`Serialized Transaction: "${t}"`,n.length>0?`Missing Attributes: ${n.join(", ")}`:""].filter(Boolean)}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"TransactionEnvelope.InvalidSerializedError"});}},Ng=class extends re{constructor({maxPriorityFeePerGas:e,maxFeePerGas:t}={}){super([`The provided tip (\`maxPriorityFeePerGas\`${e?` = ${xg(e)} gwei`:""}) cannot be higher than the fee cap (\`maxFeePerGas\`${t?` = ${xg(t)} gwei`:""}).`].join(`
341
- `)),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"TransactionEnvelope.TipAboveFeeCapError"});}};var $a={};Te($a,{assert:()=>af,deserialize:()=>E5,from:()=>a7,getSignPayload:()=>o7,hash:()=>x5,serialize:()=>A5,serializedType:()=>v5,toRpc:()=>c7,type:()=>hv,validate:()=>u7});d();f();var v5="0x02",hv="eip1559";function af(s){let{chainId:e,maxPriorityFeePerGas:t,maxFeePerGas:r,to:n}=s;if(e<=0)throw new Ig({chainId:e});if(n&&ws(n,{strict:!1}),r&&BigInt(r)>2n**256n-1n)throw new Ag({feeCap:r});if(t&&r&&t>r)throw new Ng({maxFeePerGas:r,maxPriorityFeePerGas:t})}function E5(s){let e=NC(wt(s,1)),[t,r,n,i,a,o,c,u,l,m,w,E]=e;if(!(e.length===9||e.length===12))throw new Cg({attributes:{chainId:t,nonce:r,maxPriorityFeePerGas:n,maxFeePerGas:i,gas:a,to:o,value:c,data:u,accessList:l,...e.length>9?{yParity:m,r:w,s:E}:{}},serialized:s,type:hv});let v={chainId:Number(t),type:hv};ys(o)&&o!=="0x"&&(v.to=o),ys(a)&&a!=="0x"&&(v.gas=BigInt(a)),ys(u)&&u!=="0x"&&(v.data=u),ys(r)&&(v.nonce=r==="0x"?0n:BigInt(r)),ys(c)&&c!=="0x"&&(v.value=BigInt(c)),ys(i)&&i!=="0x"&&(v.maxFeePerGas=BigInt(i)),ys(n)&&n!=="0x"&&(v.maxPriorityFeePerGas=BigInt(n)),l.length!==0&&l!=="0x"&&(v.accessList=xC(l));let A=w&&E&&m?nv([m,w,E]):void 0;return A&&(v={...v,...A}),af(v),v}function a7(s,e={}){let{signature:t}=e,r=typeof s=="string"?E5(s):s;return af(r),{...r,...t?rf(t):{},type:"eip1559"}}function o7(s){return x5(s,{presign:!0})}function x5(s,e={}){let{presign:t}=e;return Tt(A5({...s,...t?{r:void 0,s:void 0,yParity:void 0,v:void 0}:{}}))}function A5(s,e={}){let{chainId:t,gas:r,nonce:n,to:i,value:a,maxFeePerGas:o,maxPriorityFeePerGas:c,accessList:u,data:l,input:m}=s;af(s);let w=AC(u),E=yg(e.signature||s),v=[ve(t),n?ve(n):"0x",c?ve(c):"0x",o?ve(o):"0x",r?ve(r):"0x",i??"0x",a?ve(a):"0x",l??m??"0x",w,...E?av(E):[]];return st(v5,PC(v))}function c7(s){let e=yg(s);return {...s,chainId:ve(s.chainId),data:s.data??s.input,type:"0x2",...typeof s.gas=="bigint"?{gas:ve(s.gas)}:{},...typeof s.nonce=="bigint"?{nonce:ve(s.nonce)}:{},...typeof s.value=="bigint"?{value:ve(s.value)}:{},...typeof s.maxFeePerGas=="bigint"?{maxFeePerGas:ve(s.maxFeePerGas)}:{},...typeof s.maxPriorityFeePerGas=="bigint"?{maxPriorityFeePerGas:ve(s.maxPriorityFeePerGas)}:{},...e?iv(e):{}}}function u7(s){try{return af(s),!0}catch{return !1}}var su={};Te(su,{fromRpc:()=>l7,fromRpcStatus:()=>I5,fromRpcType:()=>N5,toRpc:()=>h7,toRpcStatus:()=>C5,toRpcType:()=>k5});d();f();var I5={"0x0":"reverted","0x1":"success"},C5={reverted:"0x0",success:"0x1"},N5={"0x0":"legacy","0x1":"eip2930","0x2":"eip1559","0x3":"eip4844","0x4":"eip7702"},k5={legacy:"0x0",eip2930:"0x1",eip1559:"0x2",eip4844:"0x3",eip7702:"0x4"};function l7(s){return s?{...s,blobGasPrice:s.blobGasPrice?BigInt(s.blobGasPrice):void 0,blobGasUsed:s.blobGasUsed?BigInt(s.blobGasUsed):void 0,blockNumber:BigInt(s.blockNumber??0n),cumulativeGasUsed:BigInt(s.cumulativeGasUsed??0n),effectiveGasPrice:BigInt(s.effectiveGasPrice??0n),gasUsed:BigInt(s.gasUsed??0n),logs:s.logs.map(e=>u5(e,{pending:!1})),status:I5[s.status],transactionIndex:Number(s.transactionIndex??0),type:N5[s.type]||s.type}:null}function h7(s){return {blobGasPrice:s.blobGasPrice?ve(s.blobGasPrice):void 0,blobGasUsed:s.blobGasUsed?ve(s.blobGasUsed):void 0,blockHash:s.blockHash,blockNumber:ve(s.blockNumber),contractAddress:s.contractAddress,cumulativeGasUsed:ve(s.cumulativeGasUsed),effectiveGasPrice:ve(s.effectiveGasPrice),from:s.from,gasUsed:ve(s.gasUsed),logs:s.logs.map(l5),logsBloom:s.logsBloom,root:s.root,status:C5[s.status],to:s.to,transactionHash:s.transactionHash,transactionIndex:ve(s.transactionIndex),type:k5[s.type]??s.type}}var of={};Te(of,{BytesSizeMismatchError:()=>kg,InvalidDomainError:()=>Pg,InvalidPrimaryTypeError:()=>Tg,InvalidStructTypeError:()=>Bg,assert:()=>fv,domainSeparator:()=>f7,encode:()=>P5,encodeData:()=>gv,encodeField:()=>yv,encodeType:()=>T5,extractEip712DomainTypes:()=>Og,findTypeDependencies:()=>wv,getSignPayload:()=>dv,hashDomain:()=>mv,hashStruct:()=>pv,hashType:()=>B5,serialize:()=>d7,validate:()=>m7});d();f();function fv(s){let{domain:e,message:t,primaryType:r,types:n}=s,i=(a,o)=>{for(let c of a){let{name:u,type:l}=c,m=o[u],w=l.match(Yc);if(w&&(typeof m=="number"||typeof m=="bigint")){let[,A,C]=w;ve(m,{signed:A==="int",size:Number.parseInt(C??"",10)/8});}if(l==="address"&&typeof m=="string"&&!Ua(m))throw new Da({address:m,cause:new Wc});let E=l.match(sg);if(E){let[,A]=E;if(A&&We(m)!==Number.parseInt(A,10))throw new kg({expectedSize:Number.parseInt(A,10),givenSize:We(m)})}let v=n[l];v&&(p7(l),i(v,m));}};if(n.EIP712Domain&&e){if(typeof e!="object")throw new Pg({domain:e});i(n.EIP712Domain,e);}if(r!=="EIP712Domain")if(n[r])i(n[r],t);else throw new Tg({primaryType:r,types:n})}function f7(s){return mv({domain:s})}function P5(s){let{domain:e={},message:t,primaryType:r}=s,n={EIP712Domain:Og(e),...s.types};fv({domain:e,message:t,primaryType:r,types:n});let i=["0x19","0x01"];return e&&i.push(mv({domain:e,types:n})),r!=="EIP712Domain"&&i.push(pv({data:t,primaryType:r,types:n})),st(...i)}function T5(s){let{primaryType:e,types:t}=s,r="",n=wv({primaryType:e,types:t});n.delete(e);let i=[e,...Array.from(n).sort()];for(let a of i)r+=`${a}(${(t[a]??[]).map(({name:o,type:c})=>`${c} ${o}`).join(",")})`;return r}function Og(s){return [typeof s?.name=="string"&&{name:"name",type:"string"},s?.version&&{name:"version",type:"string"},(typeof s?.chainId=="number"||typeof s?.chainId=="bigint")&&{name:"chainId",type:"uint256"},s?.verifyingContract&&{name:"verifyingContract",type:"address"},s?.salt&&{name:"salt",type:"bytes32"}].filter(Boolean)}function dv(s){return Tt(P5(s))}function mv(s){let{domain:e,types:t}=s;return pv({data:e,primaryType:"EIP712Domain",types:{...t,EIP712Domain:t?.EIP712Domain||Og(e)}})}function pv(s){let{data:e,primaryType:t,types:r}=s,n=gv({data:e,primaryType:t,types:r});return Tt(n)}function d7(s){let{domain:e,message:t,primaryType:r,types:n}=s,i=(c,u)=>{let l={...u};for(let m of c){let{name:w,type:E}=m;E==="address"&&(l[w]=l[w].toLowerCase());}return l},a=(()=>{if(!e)return {};let c=n.EIP712Domain??Og(e);return i(c,e)})(),o=(()=>{if(r!=="EIP712Domain")return n[r]?i(n[r],t):{}})();return Xs({domain:a,message:o,primaryType:r,types:n},(c,u)=>typeof u=="bigint"?u.toString():u)}function m7(s){try{return fv(s),!0}catch{return !1}}var kg=class extends re{constructor({expectedSize:e,givenSize:t}){super(`Expected bytes${e}, got bytes${t}.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"TypedData.BytesSizeMismatchError"});}},Pg=class extends re{constructor({domain:e}){super(`Invalid domain "${Xs(e)}".`,{metaMessages:["Must be a valid EIP-712 domain."]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"TypedData.InvalidDomainError"});}},Tg=class extends re{constructor({primaryType:e,types:t}){super(`Invalid primary type \`${e}\` must be one of \`${JSON.stringify(Object.keys(t))}\`.`,{metaMessages:["Check that the primary type is a key in `types`."]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"TypedData.InvalidPrimaryTypeError"});}},Bg=class extends re{constructor({type:e}){super(`Struct type "${e}" is invalid.`,{metaMessages:["Struct type must not be a Solidity type."]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"TypedData.InvalidStructTypeError"});}};function gv(s){let{data:e,primaryType:t,types:r}=s,n=[{type:"bytes32"}],i=[B5({primaryType:t,types:r})];for(let a of r[t]??[]){let[o,c]=yv({types:r,name:a.name,type:a.type,value:e[a.name]});n.push(o),i.push(c);}return zr(n,i)}function B5(s){let{primaryType:e,types:t}=s,r=Cs(T5({primaryType:e,types:t}));return Tt(r)}function yv(s){let{types:e,name:t,type:r,value:n}=s;if(e[r]!==void 0)return [{type:"bytes32"},Tt(gv({data:n,primaryType:r,types:e}))];if(r==="bytes")return n=`0x${(n.length%2?"0":"")+n.slice(2)}`,[{type:"bytes32"},Tt(n,{as:"Hex"})];if(r==="string")return [{type:"bytes32"},Tt(Wr(n),{as:"Hex"})];if(r.lastIndexOf("]")===r.length-1){let i=r.slice(0,r.lastIndexOf("[")),a=n.map(o=>yv({name:t,type:i,types:e,value:o}));return [{type:"bytes32"},Tt(zr(a.map(([o])=>o),a.map(([,o])=>o)))]}return [{type:r},n]}function wv(s,e=new Set){let{primaryType:t,types:r}=s,i=t.match(/^\w*/u)?.[0];if(e.has(i)||r[i]===void 0)return e;e.add(i);for(let a of r[i])wv({primaryType:a.type,types:r},e);return e}function p7(s){if(s==="address"||s==="bool"||s==="string"||s.startsWith("bytes")||s.startsWith("uint")||s.startsWith("int"))throw new Bg({type:s})}var Qn={};Te(Qn,{CredentialCreationFailedError:()=>Xn,CredentialRequestFailedError:()=>cf,createChallenge:()=>V5,createCredential:()=>y7,getAuthenticatorData:()=>D5,getClientDataJSON:()=>U5,getCredentialCreationOptions:()=>L5,getCredentialRequestOptions:()=>j5,getSignPayload:()=>w7,sign:()=>b7,verify:()=>S7});d();f();d();f();function O5(s){let e=s[4]===0?5:4,t=e+32,r=s[t+2]===0?t+3:t+2,n=BigInt(Re(s.slice(e,t))),i=BigInt(Re(s.slice(r)));return {r:n,s:i>uv.CURVE.n/2n?uv.CURVE.n-i:i}}async function R5(s){try{let e=s.getPublicKey();if(!e)throw new Xn;let t=new Uint8Array(e),r=await crypto.subtle.importKey("spki",new Uint8Array(t),{name:"ECDSA",namedCurve:"P-256",hash:"SHA-256"},!0,["verify"]),n=new Uint8Array(await crypto.subtle.exportKey("raw",r));return Jr(n)}catch(e){if(e.message!=="Permission denied to access object")throw e;let t=new Uint8Array(s.attestationObject),r=32,n=88,i=c=>{let u=new Uint8Array([c,n,r]);for(let l=0;l<t.length-u.length;l++)if(u.every((m,w)=>t[l+w]===m))return l+u.length;throw new Xn},a=i(33),o=i(34);return Jr(new Uint8Array([4,...t.slice(a,a+r),...t.slice(o,o+r)]))}}var V5=Uint8Array.from([105,171,180,181,160,222,75,198,42,42,32,31,141,37,186,233]);async function y7(s){let{createFn:e=window.navigator.credentials.create.bind(window.navigator.credentials),...t}=s,r=L5(t);try{let n=await e(r);if(!n)throw new Xn;let i=n.response,a=await R5(i);return {id:n.id,publicKey:a,raw:n}}catch(n){throw new Xn({cause:n})}}function D5(s={}){let{flag:e=5,rpId:t=window.location.hostname,signCount:r=0}=s,n=Jh(Cs(t)),i=ve(e,{size:1}),a=ve(r,{size:4});return st(n,i,a)}function U5(s){let{challenge:e,crossOrigin:t=!1,extraClientData:r,origin:n=window.location.origin}=s;return JSON.stringify({type:"webauthn.get",challenge:s5(e,{url:!0,pad:!1}),origin:n,crossOrigin:t,...r})}function L5(s){let{attestation:e="none",authenticatorSelection:t={residentKey:"preferred",requireResidentKey:!1,userVerification:"required"},challenge:r=V5,excludeCredentialIds:n,extensions:i,name:a,rp:o={id:window.location.hostname,name:window.document.title},user:c}=s,u=c?.name??a;return {publicKey:{attestation:e,authenticatorSelection:t,challenge:typeof r=="string"?ut(r):r,...n?{excludeCredentials:n?.map(l=>({id:nf(l),type:"public-key"}))}:{},pubKeyCredParams:[{type:"public-key",alg:-7}],...i&&{extensions:i},rp:o,user:{id:c?.id??Tt(Wr(u),{as:"Bytes"}),name:u,displayName:c?.displayName??u}}}}function j5(s){let{credentialId:e,challenge:t,extensions:r,rpId:n=window.location.hostname,userVerification:i="required"}=s;return {publicKey:{...e?{allowCredentials:Array.isArray(e)?e.map(a=>({id:nf(a),type:"public-key"})):[{id:nf(e),type:"public-key"}]}:{},challenge:ut(t),...r&&{extensions:r},rpId:n,userVerification:i}}}function w7(s){let{challenge:e,crossOrigin:t,extraClientData:r,flag:n,origin:i,rpId:a,signCount:o,userVerification:c="required"}=s,u=D5({flag:n,rpId:a,signCount:o}),l=U5({challenge:e,crossOrigin:t,extraClientData:r,origin:i}),m=Jh(Cs(l)),w=l.indexOf('"challenge"'),E=l.indexOf('"type"'),v={authenticatorData:u,clientDataJSON:l,challengeIndex:w,typeIndex:E,userVerificationRequired:c==="required"},A=st(u,m);return {metadata:v,payload:A}}async function b7(s){let{getFn:e=window.navigator.credentials.get.bind(window.navigator.credentials),...t}=s,r=j5(t);try{let n=await e(r);if(!n)throw new cf;let i=n.response,a=String.fromCharCode(...new Uint8Array(i.clientDataJSON)),o=a.indexOf('"challenge"'),c=a.indexOf('"type"'),u=O5(new Uint8Array(i.signature));return {metadata:{authenticatorData:Re(new Uint8Array(i.authenticatorData)),clientDataJSON:a,challengeIndex:o,typeIndex:c,userVerificationRequired:r.publicKey.userVerification==="required"},signature:u,raw:n}}catch(n){throw new cf({cause:n})}}function S7(s){let{challenge:e,hash:t=!0,metadata:r,publicKey:n,signature:i}=s,{authenticatorData:a,challengeIndex:o,clientDataJSON:c,typeIndex:u,userVerificationRequired:l}=r,m=ut(a);if(m.length<37)return !1;let w=m[32];if((w&1)!==1||l&&(w&4)!==4||(w&8)!==8&&(w&16)===16)return !1;if(u!==void 0){let U='"type":"webauthn.get"';if(U!==c.slice(Number(u),U.length+1))return !1}let E=o!==void 0?c.slice(Number(o)).match(/^"challenge":"(.*?)"/):c.match(/"challenge":"(.*?)"/);if(!E)return !1;let[v,A]=E;if(Re(nf(A))!==e)return !1;let C=Jh(Wr(c),{as:"Bytes"}),D=bS(m,C);return lv({hash:t,payload:D,publicKey:n,signature:i})}var Xn=class extends re{constructor({cause:e}={}){super("Failed to create credential.",{cause:e}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"WebAuthnP256.CredentialCreationFailedError"});}},cf=class extends re{constructor({cause:e}={}){super("Failed to request credential.",{cause:e}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"WebAuthnP256.CredentialRequestFailedError"});}};d();f();var cu={};Te(cu,{from:()=>fV});d();f();var Ke={};Te(Ke,{configFromJson:()=>cV,configToJson:()=>oV,evaluateConfigurationSafety:()=>lV,findSignerLeaf:()=>df,flatLeavesToTopology:()=>Qv,getSigners:()=>aV,getWeight:()=>mf,hasInvalidValues:()=>au,hashConfiguration:()=>cs,isAnyAddressSubdigestLeaf:()=>sr,isConfig:()=>ou,isLeaf:()=>s8,isNestedLeaf:()=>Ss,isNode:()=>Bt,isNodeLeaf:()=>Ft,isSapientSignerLeaf:()=>os,isSignerLeaf:()=>as,isSubdigestLeaf:()=>tr,isTopology:()=>iu,maximumDepth:()=>pf,mergeTopology:()=>Jg,normalizeSignerSignature:()=>uV,replaceAddress:()=>Wg,topologyToFlatLeaves:()=>Fg});d();f();var Zt={};Te(Zt,{FLAG_ADDRESS:()=>Fv,FLAG_BRANCH:()=>Gv,FLAG_NESTED:()=>Jv,FLAG_NODE:()=>Lg,FLAG_SIGNATURE_ANY_ADDRESS_SUBDIGEST:()=>Yv,FLAG_SIGNATURE_ERC1271:()=>Kv,FLAG_SIGNATURE_ETH_SIGN:()=>zv,FLAG_SIGNATURE_HASH:()=>qv,FLAG_SIGNATURE_SAPIENT:()=>jg,FLAG_SIGNATURE_SAPIENT_COMPACT:()=>Zv,FLAG_SUBDIGEST:()=>Wv,decodeSignature:()=>Z5,encodeChainedSignature:()=>X5,encodeSignature:()=>Q5,encodeTopology:()=>lf,fillLeaves:()=>Vg,isRawConfig:()=>$g,isRawLeaf:()=>Y5,isRawNestedLeaf:()=>ff,isRawNode:()=>Hg,isRawSignature:()=>z5,isRawSignerLeaf:()=>hf,isRawTopology:()=>_g,isSignatureOfSapientSignerLeaf:()=>eV,isSignedSapientSignerLeaf:()=>Xv,isSignedSignerLeaf:()=>qg,parseBranch:()=>Mg,rawSignatureFromJson:()=>rV,rawSignatureToJson:()=>tV,recover:()=>Mv});d();f();var Xe={};Te(Xe,{DEPLOY:()=>H5,DefaultGuestAddress:()=>x7,EXECUTE:()=>N7,EXECUTE_USER_OP:()=>vv,GET_IMPLEMENTATION:()=>A7,GET_LIMIT_USAGE:()=>O7,IMAGE_HASH:()=>I7,INCREMENT_USAGE_LIMIT:()=>B7,IS_VALID_SIGNATURE:()=>uf,PlaceholderAddress:()=>E7,READ_ENTRYPOINT:()=>T7,READ_NONCE:()=>C7,READ_NONCE_4337:()=>P7,RECOVER_SAPIENT_SIGNATURE:()=>bv,RECOVER_SAPIENT_SIGNATURE_COMPACT:()=>Sv,UPDATE_IMAGE_HASH:()=>k7,ZeroAddress:()=>v7});d();f();var v7="0x0000000000000000000000000000000000000000",E7="0xffff0000ffff0000ffff0000ffff0000ffff0000",x7="0x0000000000006Ac72ed1d192fa28f0058D3F8806",uf=Et.from(["function isValidSignature(bytes32 _hash, bytes memory _signature) public view returns (bytes4 magicValue)"])[0],H5=Et.from(["function deploy(address _mainModule, bytes32 _salt) public payable returns (address _contract)"])[0],A7=Et.from(["function getImplementation() external view returns (address)"])[0],I7=Et.from(["function imageHash() external view returns (bytes32)"])[0],C7=Et.from(["function readNonce(uint256 _space) public view returns (uint256)"])[0],N7=Et.from(["function execute(bytes calldata _payload, bytes calldata _signature) external"])[0],k7=Et.from(["function updateImageHash(bytes32 _imageHash) external"])[0],bv=Et.from(["function recoverSapientSignature((uint8 kind,bool noChainId,(address to,uint256 value,bytes data,uint256 gasLimit,bool delegateCall,bool onlyFallback,uint256 behaviorOnError)[] calls,uint256 space,uint256 nonce,bytes message,bytes32 imageHash,bytes32 digest,address[] parentWallets) calldata _payload, bytes calldata _signature) external view returns (bytes32)"])[0],Sv=Et.from(["function recoverSapientSignatureCompact(bytes32 _digest, bytes calldata _signature) external view returns (bytes32)"])[0],vv=Et.from(["function executeUserOp(bytes calldata _userOp) external"])[0],P7=Et.from(["function getNonce(address _account, uint192 _key) public view returns (uint256)"])[0],T7=Et.from(["function entrypoint() public view returns (address)"])[0],B7=Et.from([{type:"function",name:"incrementUsageLimit",inputs:[{name:"limits",type:"tuple[]",internalType:"struct UsageLimit[]",components:[{name:"usageHash",type:"bytes32",internalType:"bytes32"},{name:"usageAmount",type:"uint256",internalType:"uint256"}]}],outputs:[],stateMutability:"nonpayable"}])[0],O7=Et.from(["function getLimitUsage(address wallet, bytes32 usageHash) public view returns (uint256)"])[0];d();f();d();f();var en={};Te(en,{InvalidWrappedSignatureError:()=>Rg,assert:()=>xv,from:()=>D7,magicBytes:()=>Ev,universalSignatureValidatorAbi:()=>V7,universalSignatureValidatorBytecode:()=>R7,unwrap:()=>_5,validate:()=>L7,wrap:()=>U7});d();f();var Ev="0x6492649264926492649264926492649264926492649264926492649264926492",R7="0x608060405234801561001057600080fd5b5060405161069438038061069483398101604081905261002f9161051e565b600061003c848484610048565b9050806000526001601ff35b60007f64926492649264926492649264926492649264926492649264926492649264926100748361040c565b036101e7576000606080848060200190518101906100929190610577565b60405192955090935091506000906001600160a01b038516906100b69085906105dd565b6000604051808303816000865af19150503d80600081146100f3576040519150601f19603f3d011682016040523d82523d6000602084013e6100f8565b606091505b50509050876001600160a01b03163b60000361016057806101605760405162461bcd60e51b815260206004820152601e60248201527f5369676e617475726556616c696461746f723a206465706c6f796d656e74000060448201526064015b60405180910390fd5b604051630b135d3f60e11b808252906001600160a01b038a1690631626ba7e90610190908b9087906004016105f9565b602060405180830381865afa1580156101ad573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101d19190610633565b6001600160e01b03191614945050505050610405565b6001600160a01b0384163b1561027a57604051630b135d3f60e11b808252906001600160a01b03861690631626ba7e9061022790879087906004016105f9565b602060405180830381865afa158015610244573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102689190610633565b6001600160e01b031916149050610405565b81516041146102df5760405162461bcd60e51b815260206004820152603a602482015260008051602061067483398151915260448201527f3a20696e76616c6964207369676e6174757265206c656e6774680000000000006064820152608401610157565b6102e7610425565b5060208201516040808401518451859392600091859190811061030c5761030c61065d565b016020015160f81c9050601b811480159061032b57508060ff16601c14155b1561038c5760405162461bcd60e51b815260206004820152603b602482015260008051602061067483398151915260448201527f3a20696e76616c6964207369676e617475726520762076616c756500000000006064820152608401610157565b60408051600081526020810180835289905260ff83169181019190915260608101849052608081018390526001600160a01b0389169060019060a0016020604051602081039080840390855afa1580156103ea573d6000803e3d6000fd5b505050602060405103516001600160a01b0316149450505050505b9392505050565b600060208251101561041d57600080fd5b508051015190565b60405180606001604052806003906020820280368337509192915050565b6001600160a01b038116811461045857600080fd5b50565b634e487b7160e01b600052604160045260246000fd5b60005b8381101561048c578181015183820152602001610474565b50506000910152565b600082601f8301126104a657600080fd5b81516001600160401b038111156104bf576104bf61045b565b604051601f8201601f19908116603f011681016001600160401b03811182821017156104ed576104ed61045b565b60405281815283820160200185101561050557600080fd5b610516826020830160208701610471565b949350505050565b60008060006060848603121561053357600080fd5b835161053e81610443565b6020850151604086015191945092506001600160401b0381111561056157600080fd5b61056d86828701610495565b9150509250925092565b60008060006060848603121561058c57600080fd5b835161059781610443565b60208501519093506001600160401b038111156105b357600080fd5b6105bf86828701610495565b604086015190935090506001600160401b0381111561056157600080fd5b600082516105ef818460208701610471565b9190910192915050565b828152604060208201526000825180604084015261061e816060850160208701610471565b601f01601f1916919091016060019392505050565b60006020828403121561064557600080fd5b81516001600160e01b03198116811461040557600080fd5b634e487b7160e01b600052603260045260246000fdfe5369676e617475726556616c696461746f72237265636f7665725369676e6572",V7=[{inputs:[{name:"_signer",type:"address"},{name:"_hash",type:"bytes32"},{name:"_signature",type:"bytes"}],stateMutability:"nonpayable",type:"constructor"},{inputs:[{name:"_signer",type:"address"},{name:"_hash",type:"bytes32"},{name:"_signature",type:"bytes"}],outputs:[{type:"bool"}],stateMutability:"nonpayable",type:"function",name:"isValidSig"}];function xv(s){if(wt(s,-32)!==Ev)throw new Rg(s)}function D7(s){return typeof s=="string"?_5(s):s}function _5(s){xv(s);let[e,t,r]=Xc(ug("address, bytes, bytes"),s);return {data:t,signature:r,to:e}}function U7(s){let{data:e,signature:t,to:r}=s;return st(zr(ug("address, bytes, bytes"),[r,e,t]),Ev)}function L7(s){try{return xv(s),!0}catch{return !1}}var Rg=class extends re{constructor(e){super(`Value \`${e}\` is an invalid ERC-6492 wrapped signature.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"SignatureErc6492.InvalidWrappedSignatureError"});}};function Av(s,{to:e,data:t}){let r=R.concat(xt.encode([{type:"address"},{type:"bytes"},{type:"bytes"}],[e,R.from(t),R.from(s)]),en.magicBytes);switch(typeof s){case"object":return R.toBytes(r);case"string":return r}}function M5(s){switch(typeof s){case"object":if(p.toHex(s.subarray(-en.magicBytes.slice(2).length/2))===en.magicBytes){let[e,t,r]=xt.decode([{type:"address"},{type:"bytes"},{type:"bytes"}],s.subarray(0,-en.magicBytes.slice(2).length/2));return {signature:R.toBytes(r),erc6492:{to:e,data:R.toBytes(t)}}}else return {signature:s};case"string":if(s.endsWith(en.magicBytes.slice(2)))try{let[e,t,r]=xt.decode([{type:"address"},{type:"bytes"},{type:"bytes"}],s.slice(0,-en.magicBytes.slice(2).length));return {signature:r,erc6492:{to:e,data:t}}}catch{return {signature:s}}else return {signature:s}}}var we={};Te(we,{BEHAVIOR_ABORT_ON_ERROR:()=>Rv,BEHAVIOR_IGNORE_ERROR:()=>Bv,BEHAVIOR_REVERT_ON_ERROR:()=>Ov,KIND_CONFIG_UPDATE:()=>Pv,KIND_DIGEST:()=>Tv,KIND_MESSAGE:()=>kv,KIND_TRANSACTIONS:()=>Nv,decode:()=>Z7,decodeBehaviorOnError:()=>J5,encode:()=>F5,encode4337Nonce:()=>K5,encodeBehaviorOnError:()=>nu,encodeSapient:()=>J7,fromAbiFormat:()=>Q7,fromCall:()=>$7,fromConfigUpdate:()=>Vv,fromDigest:()=>M7,fromMessage:()=>_7,hash:()=>ru,hashCall:()=>Y7,isCalls:()=>q7,isCalls4337_07:()=>G7,isConfigUpdate:()=>K7,isDigest:()=>q5,isMessage:()=>F7,isParented:()=>W7,isRecovery:()=>Dv,isSessionImplicitAuthorize:()=>Lv,to4337Message:()=>W5,to4337UserOperation:()=>G5,toAbiFormat:()=>Hv,toRecovery:()=>Uv,toTyped:()=>jv});d();f();var Fa={};Te(Fa,{createJSONReplacer:()=>Iv,createJSONReviver:()=>Cv,fromJSON:()=>H7,minBytesFor:()=>Us,packRSY:()=>tn,toJSON:()=>j7,unpackRSY:()=>qa});d();f();function Us(s){return Math.ceil(s.toString(16).length/2)}function tn({r:s,s:e,yParity:t}){let r=p.padLeft(p.fromNumber(s),32),n=p.padLeft(p.fromNumber(e),32);return t%2===1&&(n[0]|=128),p.concat(r,n)}function qa(s){let e=p.toBigInt(s.slice(0,32)),t=s.slice(32,64),r=t[0]&128?1:0,n=new Uint8Array(t);n[0]=n[0]&127;let i=p.toBigInt(n);return {r:e,s:i,yParity:r}}function Iv(s){return (e,t)=>typeof t=="bigint"?{__bigint:"0x"+t.toString(16)}:t instanceof Uint8Array?{__uint8array:Array.from(t)}:s?s(e,t):t}function Cv(s){return (e,t)=>{if(t&&typeof t=="object"&&"__bigint"in t&&Object.keys(t).length===1){let r=t.__bigint;if(typeof r=="string"&&r.startsWith("0x"))return BigInt(r)}if(t&&typeof t=="object"&&"__uint8array"in t&&Object.keys(t).length===1){let r=t.__uint8array;if(Array.isArray(r))return new Uint8Array(r)}return s?s(e,t):t}}function j7(s,e,t){let r=e instanceof Function?Iv(e):Iv();return JSON.stringify(s,r,t)}function H7(s,e){let t=e?Cv(e):Cv();return JSON.parse(s,t)}var Nv=0,kv=1,Pv=2,Tv=3,Bv=0,Ov=1,Rv=2;function _7(s){return {type:"message",message:s}}function Vv(s){return {type:"config-update",imageHash:s}}function M7(s){return {type:"digest",digest:s}}function $7(s,e,t){return {type:"call",nonce:s,space:e,calls:t}}function q7(s){return s.type==="call"}function F7(s){return s.type==="message"}function K7(s){return s.type==="config-update"}function q5(s){return s.type==="digest"}function Dv(s){return Lv(s)?!1:s.recovery===!0}function G7(s){return s.type==="call_4337_07"}function W7(s){return "parentWallets"in s}function Uv(s){return Dv(s)?s:{...s,recovery:!0}}function Lv(s){return s.type==="session-implicit-authorize"}function F5(s,e){let t=s.calls.length,r=Us(s.nonce);if(r>15)throw new Error("Nonce is too large");let n=0;s.space===0n&&(n|=1),n|=r<<1,t===1&&(n|=16);let i=0;if(t!==1)if(t<256)i=1;else if(t<65536)i=2,n|=32;else throw new Error("Too many calls");let a=p.fromNumber(n,{size:1});if(s.space!==0n){let o=p.padLeft(p.fromNumber(s.space),20);a=p.concat(a,o);}if(r>0){let o=p.padLeft(p.fromNumber(s.nonce),r);a=p.concat(a,o);}t!==1&&(i===1?a=p.concat(a,p.fromNumber(t,{size:1})):a=p.concat(a,p.fromNumber(t,{size:2})));for(let o of s.calls){let c=0;if(e&&M.isEqual(o.to,e)&&(c|=1),o.value!==0n&&(c|=2),o.data&&o.data.length>0&&(c|=4),o.gasLimit!==0n&&(c|=8),o.delegateCall&&(c|=16),o.onlyFallback&&(c|=32),c|=nu(o.behaviorOnError)<<6,a=p.concat(a,p.fromNumber(c,{size:1})),!(c&1)){let u=p.fromHex(o.to);if(u.length!==20)throw new Error(`Invalid 'to' address: ${o.to}`);a=p.concat(a,u);}if(c&2){let u=p.padLeft(p.fromNumber(o.value),32);a=p.concat(a,u);}if(c&4){let u=p.fromHex(o.data).length;if(u>16777215)throw new Error("Data too large");let l=p.fromNumber(u,{size:3});a=p.concat(a,l,p.fromHex(o.data));}if(c&8){let u=p.padLeft(p.fromNumber(o.gasLimit),32);a=p.concat(a,u);}}return a}function J7(s,e){let t={kind:0,noChainId:!s,calls:[],space:0n,nonce:0n,message:"0x",imageHash:"0x0000000000000000000000000000000000000000000000000000000000000000",digest:"0x0000000000000000000000000000000000000000000000000000000000000000",parentWallets:e.parentWallets??[]};switch(e.type){case"call":t.kind=0,t.calls=e.calls.map(r=>({...r,data:r.data,behaviorOnError:BigInt(nu(r.behaviorOnError))})),t.space=e.space,t.nonce=e.nonce;break;case"message":t.kind=1,t.message=e.message;break;case"config-update":t.kind=2,t.imageHash=e.imageHash;break;case"digest":t.kind=3,t.digest=e.digest;break}return t}function ru(s,e,t){if(q5(t))return p.fromHex(t.digest);if(Lv(t))return qt.hash(t.attestation);let r=jv(s,e,t);return p.fromHex(dv(r))}function z7(s,e,t){return Dv(s)?{name:"Sequence Wallet - Recovery Mode",version:"1",chainId:Number(t),verifyingContract:e}:{name:"Sequence Wallet",version:"3",chainId:Number(t),verifyingContract:e}}function K5(s,e){if(s>6277101735386680763835789423207666416102355444464034512895n)throw new RangeError("key exceeds 192 bits");if(e>18446744073709551615n)throw new RangeError("seq exceeds 64 bits");return s<<64n|e}function jv(s,e,t){let r=z7(t,s,e);switch(t.type){case"call":{let n={Calls:[{name:"calls",type:"Call[]"},{name:"space",type:"uint256"},{name:"nonce",type:"uint256"},{name:"wallets",type:"address[]"}],Call:[{name:"to",type:"address"},{name:"value",type:"uint256"},{name:"data",type:"bytes"},{name:"gasLimit",type:"uint256"},{name:"delegateCall",type:"bool"},{name:"onlyFallback",type:"bool"},{name:"behaviorOnError",type:"uint256"}]},i={calls:t.calls.map(a=>({to:a.to,value:a.value.toString(),data:a.data,gasLimit:a.gasLimit.toString(),delegateCall:a.delegateCall,onlyFallback:a.onlyFallback,behaviorOnError:BigInt(nu(a.behaviorOnError)).toString()})),space:t.space.toString(),nonce:t.nonce.toString(),wallets:t.parentWallets??[]};return {domain:r,types:n,primaryType:"Calls",message:i}}case"message":{let n={Message:[{name:"message",type:"bytes"},{name:"wallets",type:"address[]"}]},i={message:t.message,wallets:t.parentWallets??[]};return {domain:r,types:n,primaryType:"Message",message:i}}case"config-update":{let n={ConfigUpdate:[{name:"imageHash",type:"bytes32"},{name:"wallets",type:"address[]"}]},i={imageHash:t.imageHash,wallets:t.parentWallets??[]};return {domain:r,types:n,primaryType:"ConfigUpdate",message:i}}case"digest":throw new Error("Digest does not support typed data - Use message instead");case"session-implicit-authorize":throw new Error("Payload does not support typed data");case"call_4337_07":{let n={type:"message",message:W5(t,s,e)};return jv(s,e,n)}}}function G5(s,e,t){let r={type:"call",space:0n,nonce:0n,calls:s.calls},n=R.fromBytes(F5(r));return {sender:e,nonce:K5(s.space,s.nonce),callData:de.encodeData(vv,[n]),callGasLimit:s.callGasLimit,maxFeePerGas:s.maxFeePerGas,maxPriorityFeePerGas:s.maxPriorityFeePerGas,preVerificationGas:s.preVerificationGas,verificationGasLimit:s.verificationGasLimit,factory:s.factory,factoryData:s.factoryData,paymaster:s.paymaster,paymasterData:s.paymasterData,paymasterPostOpGasLimit:s.paymasterPostOpGasLimit,paymasterVerificationGasLimit:s.paymasterVerificationGasLimit,signature:t}}function W5(s,e,t){let r=G5(s,e),n=R.concat(R.padLeft(R.fromNumber(r.verificationGasLimit),16),R.padLeft(R.fromNumber(r.callGasLimit),16)),i=R.concat(R.padLeft(R.fromNumber(r.maxPriorityFeePerGas),16),R.padLeft(R.fromNumber(r.maxFeePerGas),16)),a=ye.keccak256(r.factory&&r.factoryData?R.concat(r.factory,r.factoryData):"0x"),o=ye.keccak256(r.paymaster?R.concat(r.paymaster,R.padLeft(R.fromNumber(r.paymasterVerificationGasLimit||0),16),R.padLeft(R.fromNumber(r.paymasterPostOpGasLimit||0),16),r.paymasterData||"0x"):"0x"),c=xt.encode([{type:"address"},{type:"uint256"},{type:"bytes32"},{type:"bytes32"},{type:"bytes32"},{type:"uint256"},{type:"bytes32"},{type:"bytes32"}],[r.sender,r.nonce,a,ye.keccak256(r.callData),n,r.preVerificationGas,i,o]);return xt.encode([{type:"bytes32"},{type:"address"},{type:"uint256"}],[ye.keccak256(c),s.entrypoint,BigInt(t)])}function nu(s){switch(s){case"ignore":return Bv;case"revert":return Ov;case"abort":return Rv}}function Y7(s){let e=ye.keccak256(p.fromString("Call(address to,uint256 value,bytes data,uint256 gasLimit,bool delegateCall,bool onlyFallback,uint256 behaviorOnError)"));return ye.keccak256(xt.encode([{type:"bytes32"},{type:"address"},{type:"uint256"},{type:"bytes32"},{type:"uint256"},{type:"bool"},{type:"bool"},{type:"uint256"}],[R.from(e),R.from(s.to),s.value,R.from(ye.keccak256(s.data)),s.gasLimit,s.delegateCall,s.onlyFallback,BigInt(nu(s.behaviorOnError))]))}function Z7(s,e){let t=0;if(s.length<1)throw new Error("Invalid packed data: missing globalFlag");let r=p.toNumber(s.slice(t,t+1));t+=1;let n=(r&1)===1,i=0n;if(!n){if(t+20>s.length)throw new Error("Invalid packed data: not enough bytes for space");i=p.toBigInt(s.slice(t,t+20)),t+=20;}let a=r>>1&7,o=0n;if(a>0){if(t+a>s.length)throw new Error("Invalid packed data: not enough bytes for nonce");o=p.toBigInt(s.slice(t,t+a)),t+=a;}let c=1;if(!((r&16)===16)){let w=(r&32)===32?2:1;if(t+w>s.length)throw new Error("Invalid packed data: not enough bytes for callsCount");c=p.toNumber(s.slice(t,t+w)),t+=w;}let l=[];for(let m=0;m<c;m++){if(t+1>s.length)throw new Error("Invalid packed data: missing call flags");let w=p.toNumber(s.slice(t,t+1));t+=1;let E;if((w&1)===1){if(!e)throw new Error('Missing "self" address for toSelf call');E=e;}else {if(t+20>s.length)throw new Error("Invalid packed data: not enough bytes for address");E=p.toHex(s.slice(t,t+20)),t+=20;}let v=0n;if((w&2)===2){if(t+32>s.length)throw new Error("Invalid packed data: not enough bytes for value");v=p.toBigInt(s.slice(t,t+32)),t+=32;}let A=p.fromHex("0x");if((w&4)===4){if(t+3>s.length)throw new Error("Invalid packed data: not enough bytes for data length");let B=p.toNumber(s.slice(t,t+3));if(t+=3,t+B>s.length)throw new Error("Invalid packed data: not enough bytes for call data");A=s.slice(t,t+B),t+=B;}let C=0n;if((w&8)===8){if(t+32>s.length)throw new Error("Invalid packed data: not enough bytes for gasLimit");C=p.toBigInt(s.slice(t,t+32)),t+=32;}let D=(w&16)===16,U=(w&32)===32,T=(w&192)>>6,P=J5(T);l.push({to:E,value:v,data:p.toHex(A),gasLimit:C,delegateCall:D,onlyFallback:U,behaviorOnError:P});}return {type:"call",space:i,nonce:o,calls:l}}function J5(s){switch(s){case 0:return "ignore";case 1:return "revert";case 2:return "abort";default:throw new Error(`Invalid behaviorOnError value: ${s}`)}}function X7(s){switch(s){case Bv:return "ignore";case Ov:return "revert";case Rv:return "abort";default:throw new Error(`Unknown behavior: ${s}`)}}function Q7(s){if(s.kind===Nv)return {type:"call",nonce:s.nonce,space:s.space,calls:s.calls.map(e=>({to:M.from(e.to),value:e.value,data:e.data,gasLimit:e.gasLimit,delegateCall:e.delegateCall,onlyFallback:e.onlyFallback,behaviorOnError:X7(Number(e.behaviorOnError))})),parentWallets:s.parentWallets.map(e=>M.from(e))};if(s.kind===kv)return {type:"message",message:s.message,parentWallets:s.parentWallets.map(e=>M.from(e))};if(s.kind===Pv)return {type:"config-update",imageHash:s.imageHash,parentWallets:s.parentWallets.map(e=>M.from(e))};if(s.kind===Tv)return {type:"digest",digest:s.digest,parentWallets:s.parentWallets.map(e=>M.from(e))};throw new Error("Not implemented")}function Hv(s){if(s.type==="call")return {kind:Nv,noChainId:!1,calls:s.calls.map(e=>({to:e.to,value:e.value,data:e.data,gasLimit:e.gasLimit,delegateCall:e.delegateCall,onlyFallback:e.onlyFallback,behaviorOnError:BigInt(nu(e.behaviorOnError))})),space:s.space,nonce:s.nonce,message:"0x",imageHash:"0x0000000000000000000000000000000000000000000000000000000000000000",digest:"0x0000000000000000000000000000000000000000000000000000000000000000",parentWallets:s.parentWallets??[]};if(s.type==="message")return {kind:kv,noChainId:!1,calls:[],space:0n,nonce:0n,message:s.message,imageHash:"0x0000000000000000000000000000000000000000000000000000000000000000",digest:"0x0000000000000000000000000000000000000000000000000000000000000000",parentWallets:s.parentWallets??[]};if(s.type==="config-update")return {kind:Pv,noChainId:!1,calls:[],space:0n,nonce:0n,message:"0x",imageHash:s.imageHash,digest:"0x0000000000000000000000000000000000000000000000000000000000000000",parentWallets:s.parentWallets??[]};if(s.type==="digest")return {kind:Tv,noChainId:!1,calls:[],space:0n,nonce:0n,message:"0x",imageHash:"0x0000000000000000000000000000000000000000000000000000000000000000",digest:s.digest,parentWallets:s.parentWallets??[]};throw new Error("Invalid payload type")}var qv=0,Fv=1,Kv=2,Lg=3,Gv=4,Wv=5,Jv=6,zv=7,Yv=8,jg=9,Zv=10;function eV(s){return "type"in s&&(s.type==="sapient_compact"||s.type==="sapient")&&typeof s=="object"&&"address"in s&&"data"in s}function z5(s){return typeof s=="object"&&s&&typeof s.noChainId=="boolean"&&(s.checkpointerData===void 0||p.validate(s.checkpointerData))&&$g(s.configuration)&&(s.suffix===void 0||Array.isArray(s.suffix)&&s.suffix.every(e=>z5(e)&&e.checkpointerData===void 0))}function $g(s){return s&&typeof s=="object"&&typeof s.threshold=="bigint"&&typeof s.checkpoint=="bigint"&&_g(s.topology)&&(s.checkpointer===void 0||M.validate(s.checkpointer))}function hf(s){return typeof s=="object"&&"weight"in s&&"signature"in s}function qg(s){return as(s)&&"signature"in s}function Xv(s){return os(s)&&"signature"in s}function Hg(s){return Array.isArray(s)&&s.length===2&&(_g(s[0])||iu(s[0]))&&(_g(s[1])||iu(s[1]))}function _g(s){return Hg(s)||Y5(s)}function Y5(s){return typeof s=="object"&&"weight"in s&&!("tree"in s)}function ff(s){return typeof s=="object"&&"tree"in s&&"weight"in s&&"threshold"in s}function Z5(s){let{signature:e,erc6492:t}=M5(s);if(e.length<1)throw new Error("Signature is empty");let r=e[0],n=1,i=(r&2)===2,a,o;if((r&64)===64){if(n+20>e.length)throw new Error("Not enough bytes for checkpointer address");if(a=p.toHex(e.slice(n,n+20)),n+=20,n+3>e.length)throw new Error("Not enough bytes for checkpointer data size");let A=p.toNumber(e.slice(n,n+3));if(n+=3,n+A>e.length)throw new Error("Not enough bytes for checkpointer data");o=e.slice(n,n+A),n+=A;}let c=(r&28)>>2;if(n+c>e.length)throw new Error("Not enough bytes for checkpoint");let u=p.toBigInt(e.slice(n,n+c));n+=c;let l=((r&32)>>5)+1;if(n+l>e.length)throw new Error("Not enough bytes for threshold");let m=p.toBigInt(e.slice(n,n+l));if(n+=l,(r&1)===1){let A=[];for(;n<e.length;){if(n+3>e.length)throw new Error("Not enough bytes for chained subsignature size");let C=p.toNumber(e.subarray(n,n+3));if(n+=3,n+C>e.length)throw new Error("Not enough bytes for chained subsignature");let D=Z5(e.subarray(n,n+C));if(n+=C,D.checkpointerData)throw new Error("Chained subsignature has checkpointer data");A.push({...D,checkpointerData:void 0});}if(A.length===0)throw new Error("Chained signature has no subsignatures");return {...A[0],suffix:A.slice(1),erc6492:t}}let{nodes:w,leftover:E}=Mg(e.slice(n));if(E.length!==0)throw new Error("Leftover bytes in signature");let v=_v(w);return {noChainId:i,checkpointerData:o,configuration:{threshold:m,checkpoint:u,topology:v,checkpointer:a},erc6492:t}}function Mg(s){let e=[],t=0;for(;t<s.length;){let r=s[t];t++;let n=(r&240)>>4;if(n===qv){let i=r&15;if(i===0){if(t>=s.length)throw new Error("Not enough bytes for dynamic weight");i=s[t],t++;}if(t+64>s.length)throw new Error("Not enough bytes for hash signature (r + yParityAndS)");let a=qa(s.slice(t,t+64));t+=64,e.push({type:"unrecovered-signer",weight:BigInt(i),signature:{type:"hash",...a}});continue}if(n===Fv){let i=r&15;if(i===0){if(t>=s.length)throw new Error("Not enough bytes for address weight");i=s[t],t++;}if(t+20>s.length)throw new Error("Not enough bytes for address leaf");let a=p.toHex(s.slice(t,t+20));t+=20,e.push({type:"signer",address:a,weight:BigInt(i)});continue}if(n===Kv){let i=r&3;if(i===0){if(t>=s.length)throw new Error("Not enough bytes for ERC1271 weight");i=s[t],t++;}if(t+20>s.length)throw new Error("Not enough bytes for ERC1271 signer address");let a=p.toHex(s.slice(t,t+20));t+=20;let o=(r&12)>>2;if(t+o>s.length)throw new Error("Not enough bytes for ERC1271 sizeSize");let c=p.toNumber(s.slice(t,t+o));if(t+=o,t+c>s.length)throw new Error("Not enough bytes for ERC1271 data");let u=s.slice(t,t+c);t+=c,e.push({type:"unrecovered-signer",weight:BigInt(i),signature:{type:"erc1271",address:a,data:p.toHex(u)}});continue}if(n===Lg){if(t+32>s.length)throw new Error("Not enough bytes for node leaf");let i=s.slice(t,t+32);t+=32,e.push(p.toHex(i));continue}if(n===Gv){let i=r&15;if(t+i>s.length)throw new Error("Not enough bytes for branch sizeSize");let a=p.toNumber(s.slice(t,t+i));if(t+=i,t+a>s.length)throw new Error("Not enough bytes in sub-branch");let o=s.slice(t,t+a);t+=a;let{nodes:c,leftover:u}=Mg(o);if(u.length>0)throw new Error("Leftover bytes in sub-branch");let l=_v(c);e.push(l);continue}if(n===Wv){if(t+32>s.length)throw new Error("Not enough bytes for subdigest");let i=s.slice(t,t+32);t+=32,e.push({type:"subdigest",digest:p.toHex(i)});continue}if(n===Jv){let i=(r&12)>>2;if(i===0){if(t>=s.length)throw new Error("Not enough bytes for nested weight");i=s[t],t++;}let a=r&3;if(a===0){if(t+2>s.length)throw new Error("Not enough bytes for nested threshold");a=p.toNumber(s.slice(t,t+2)),t+=2;}if(t+3>s.length)throw new Error("Not enough bytes for nested sub-tree size");let o=p.toNumber(s.slice(t,t+3));if(t+=3,t+o>s.length)throw new Error("Not enough bytes for nested sub-tree");let c=s.slice(t,t+o);t+=o;let{nodes:u,leftover:l}=Mg(c);if(l.length>0)throw new Error("Leftover bytes in nested sub-tree");let m=_v(u);e.push({type:"nested",tree:m,weight:BigInt(i),threshold:BigInt(a)});continue}if(n===zv){let i=r&15;if(i===0){if(t>=s.length)throw new Error("Not enough bytes for dynamic weight in eth_sign");i=s[t],t++;}if(t+64>s.length)throw new Error("Not enough bytes for eth_sign signature");let a=qa(s.slice(t,t+64));t+=64,e.push({type:"unrecovered-signer",weight:BigInt(i),signature:{type:"eth_sign",...a}});continue}if(n===Yv){if(t+32>s.length)throw new Error("Not enough bytes for any address subdigest");let i=s.slice(t,t+32);t+=32,e.push({type:"any-address-subdigest",digest:p.toHex(i)});continue}if(n===jg||n===Zv){let i=r&3;if(i===0){if(t>=s.length)throw new Error("Not enough bytes for sapient weight");i=s[t],t++;}if(t+20>s.length)throw new Error("Not enough bytes for sapient signer address");let a=p.toHex(s.slice(t,t+20));t+=20;let o=(r&12)>>2;if(t+o>s.length)throw new Error("Not enough bytes for sapient signature size");let c=p.toNumber(s.slice(t,t+o));if(t+=o,t+c>s.length)throw new Error("Not enough bytes for sapient signature data");let u=s.slice(t,t+c);t+=c,e.push({type:"unrecovered-signer",weight:BigInt(i),signature:{address:a,data:p.toHex(u),type:n===jg?"sapient":"sapient_compact"}});continue}throw new Error(`Invalid signature flag: 0x${n.toString(16)}`)}return {nodes:e,leftover:s.slice(t)}}function Vg(s,e){if(Bt(s))return [Vg(s[0],e),Vg(s[1],e)];if(as(s)){let t=e(s);return t?{...s,signature:t}:s}if(os(s)){let t=e(s);return t?{...s,signature:t}:s}if(tr(s)||sr(s))return s;if(Ss(s))return {...s,tree:Vg(s.tree,e)};if(Ft(s))return s;throw new Error("Invalid topology")}function X5(s){let e=1,t=s[s.length-1];t?.configuration.checkpointer&&(e|=64);let r=p.fromNumber(e);if(t?.configuration.checkpointer){r=p.concat(r,p.padLeft(p.fromHex(t.configuration.checkpointer),20));let n=t.checkpointerData?.length??0;if(n>16777215)throw new Error("Checkpointer data too large");let i=p.padLeft(p.fromNumber(n),3);r=p.concat(r,i,t.checkpointerData??p.fromArray([]));}for(let n=0;n<s.length;n++){let i=s[n],a=Q5(i,!0,n===s.length-1);if(a.length>16777215)throw new Error("Chained signature too large");let o=p.padLeft(p.fromNumber(a.length),3);r=p.concat(r,o,a);}return r}function Q5(s,e,t){let{noChainId:r,checkpointerData:n,configuration:i,suffix:a,erc6492:o}=s;if(a?.length){let A=X5([{...s,suffix:void 0,erc6492:void 0},...a]);return o?Av(A,o):A}let c=0;r&&(c|=2);let u=Us(i.checkpoint);if(u>7)throw new Error("Checkpoint too large");c|=u<<2;let l=Us(i.threshold);if(l=l===0?1:l,l>2)throw new Error("Threshold too large");c|=l==2?32:0,i.checkpointer&&!t&&(c|=64);let m=p.fromNumber(c);if(i.checkpointer&&!t&&(m=p.concat(m,p.padLeft(p.fromHex(i.checkpointer),20)),!e)){let A=n?.length??0;if(A>16777215)throw new Error("Checkpointer data too large");let C=p.padLeft(p.fromNumber(A),3);m=p.concat(m,C,n??p.fromArray([]));}let w=p.padLeft(p.fromNumber(i.checkpoint),u);m=p.concat(m,w);let E=p.padLeft(p.fromNumber(i.threshold),l);m=p.concat(m,E);let v=lf(i.topology,s);return m=p.concat(m,v),o?Av(m,o):m}function lf(s,e={}){if(Bt(s)||Hg(s)){let t=lf(s[0],e),r=lf(s[1],e);if(Bt(s[1])||Hg(s[1])){let i=Us(BigInt(r.length));if(i>15)throw new Error("Branch too large");let a=Gv<<4|i;return p.concat(t,p.fromNumber(a),p.padLeft(p.fromNumber(r.length),i),r)}else return p.concat(t,r)}if(Ss(s)||ff(s)){let t=lf(s.tree,e),r=Jv<<4,n=p.fromArray([]);if(s.weight<=3n&&s.weight>0n)r|=Number(s.weight)<<2;else if(s.weight<=255n)n=p.fromNumber(Number(s.weight));else throw new Error("Weight too large");let i=p.fromArray([]);if(s.threshold<=3n&&s.threshold>0n)r|=Number(s.threshold);else if(s.threshold<=65535n)i=p.padLeft(p.fromNumber(Number(s.threshold)),2);else throw new Error("Threshold too large");if(t.length>16777215)throw new Error("Nested tree too large");return p.concat(p.fromNumber(r),n,i,p.padLeft(p.fromNumber(t.length),3),t)}if(Ft(s))return p.concat(p.fromNumber(Lg<<4),p.fromHex(s));if(qg(s)||hf(s))if(s.signature.type==="hash"||s.signature.type==="eth_sign"){let t=(s.signature.type==="hash"?qv:zv)<<4,r=p.fromArray([]);if(s.weight<=15n&&s.weight>0n)t|=Number(s.weight);else if(s.weight<=255n)r=p.fromNumber(Number(s.weight));else throw new Error("Weight too large");let n=tn(s.signature);return p.concat(p.fromNumber(t),r,n)}else if(s.signature.type==="erc1271"){let t=Kv<<4,r=Us(BigInt(s.signature.data.length));if(r>3)throw new Error("Signature too large");t|=r<<2;let n=p.fromArray([]);if(s.weight<=3n&&s.weight>0n)t|=Number(s.weight);else if(s.weight<=255n)n=p.fromNumber(Number(s.weight));else throw new Error("Weight too large");return p.concat(p.fromNumber(t),n,p.padLeft(p.fromHex(s.signature.address),20),p.padLeft(p.fromNumber(p.fromHex(s.signature.data).length),r),p.fromHex(s.signature.data))}else if(s.signature.type==="sapient"||s.signature.type==="sapient_compact"){let t=(s.signature.type==="sapient"?jg:Zv)<<4,r=p.fromHex(s.signature.data),n=Us(BigInt(r.length));if(n>3)throw new Error("Signature too large");t|=n<<2;let i=p.fromArray([]);if(s.weight<=3n&&s.weight>0n)t|=Number(s.weight);else if(s.weight<=255n)i=p.fromNumber(Number(s.weight));else throw new Error("Weight too large");return p.concat(p.fromNumber(t),i,p.padLeft(p.fromHex(s.signature.address),20),p.padLeft(p.fromNumber(r.length),n),r)}else throw new Error(`Invalid signature type: ${s.signature.type}`);if(as(s)){let t=Fv<<4,r=p.fromArray([]);if(s.weight<=15n&&s.weight>0n)t|=Number(s.weight);else if(s.weight<=255n)r=p.fromNumber(Number(s.weight));else throw new Error("Weight too large");return p.concat(p.fromNumber(t),r,p.padLeft(p.fromHex(s.address),20))}if(os(s)){let t=cs(s);return p.concat(p.fromNumber(Lg<<4),t)}if(tr(s))return p.concat(p.fromNumber(Wv<<4),p.fromHex(s.digest));if(sr(s))return p.concat(p.fromNumber(Yv<<4),p.fromHex(s.digest));throw new Error("Invalid topology")}function _v(s){if(s.length===0)throw new Error("Empty signature tree");if(s.length===1)return s[0];let e=s[0];for(let t=1;t<s.length;t++)e=[e,s[t]];return e}function tV(s){return JSON.stringify(e8(s))}function e8(s){return {noChainId:s.noChainId,checkpointerData:s.checkpointerData?p.toHex(s.checkpointerData):void 0,configuration:{threshold:s.configuration.threshold.toString(),checkpoint:s.configuration.checkpoint.toString(),topology:Dg(s.configuration.topology),checkpointer:s.configuration.checkpointer},suffix:s.suffix?s.suffix.map(e=>e8(e)):void 0}}function Dg(s){if(Array.isArray(s))return [Dg(s[0]),Dg(s[1])];if(typeof s=="object"&&s!==null&&"type"in s)switch(s.type){case"signer":return {type:"signer",address:s.address,weight:s.weight.toString()};case"sapient-signer":return {type:"sapient-signer",address:s.address,weight:s.weight.toString(),imageHash:s.imageHash};case"subdigest":return {type:"subdigest",digest:s.digest};case"any-address-subdigest":return {type:"any-address-subdigest",digest:s.digest};case"nested":return {type:"nested",tree:Dg(s.tree),weight:s.weight.toString(),threshold:s.threshold.toString()};case"unrecovered-signer":return {type:"unrecovered-signer",weight:s.weight.toString(),signature:sV(s.signature)};default:throw new Error("Invalid raw topology type")}if(typeof s=="string")return s;throw new Error("Invalid raw topology format")}function sV(s){if(s.type==="eth_sign"||s.type==="hash")return {type:s.type,r:R.fromNumber(s.r,{size:32}),s:R.fromNumber(s.s,{size:32}),yParity:s.yParity};if(s.type==="erc1271")return {type:s.type,address:s.address,data:s.data};if(s.type==="sapient"||s.type==="sapient_compact")return {type:s.type,address:s.address,data:s.data};throw new Error("Unknown signature type in raw signature")}function rV(s){let e=JSON.parse(s);return t8(e)}function t8(s){return {noChainId:s.noChainId,checkpointerData:s.checkpointerData?p.fromHex(s.checkpointerData):void 0,configuration:{threshold:BigInt(s.configuration.threshold),checkpoint:BigInt(s.configuration.checkpoint),topology:Ug(s.configuration.topology),checkpointer:s.configuration.checkpointer},suffix:s.suffix?s.suffix.map(e=>t8(e)):void 0}}function Ug(s){if(Array.isArray(s)){if(s.length!==2)throw new Error("Invalid raw topology node");return [Ug(s[0]),Ug(s[1])]}if(typeof s=="object"&&s!==null&&"type"in s)switch(s.type){case"signer":return {type:"signer",address:s.address,weight:BigInt(s.weight)};case"sapient-signer":return {type:"sapient-signer",address:s.address,weight:BigInt(s.weight),imageHash:s.imageHash};case"subdigest":return {type:"subdigest",digest:s.digest};case"any-address-subdigest":return {type:"any-address-subdigest",digest:s.digest};case"nested":return {type:"nested",tree:Ug(s.tree),weight:BigInt(s.weight),threshold:BigInt(s.threshold)};case"unrecovered-signer":return {type:"unrecovered-signer",weight:BigInt(s.weight),signature:nV(s.signature)};default:throw new Error("Invalid raw topology type")}if(typeof s=="string")return s;throw new Error("Invalid raw topology format")}function nV(s){switch(s.type){case"eth_sign":case"hash":return {type:s.type,r:R.toBigInt(s.r),s:R.toBigInt(s.s),yParity:s.yParity};case"erc1271":return {type:"erc1271",address:s.address,data:s.data};case"sapient":case"sapient_compact":return {type:s.type,address:s.address,data:s.data};default:throw new Error("Invalid signature type in raw signature")}}async function Mv(s,e,t,r,n){if(s.suffix?.length){let o=!1,{configuration:c,weight:u}=await Mv({...s,suffix:void 0},e,t,r,n);o||=u<c.threshold;for(let l of s.suffix){let m=await Mv(l,e,l.noChainId?0:t,Vv(p.toHex(cs(c))),n);o||=m.weight<m.configuration.threshold,o||=m.configuration.checkpoint>=c.checkpoint,c=m.configuration,u=m.weight;}return {configuration:c,weight:o?0n:u}}let{topology:i,weight:a}=await $v(s.configuration.topology,e,t,r,n);return {configuration:{...s.configuration,topology:i},weight:a}}async function $v(s,e,t,r,n){let i=ru(e,t,r);if(hf(s))switch(s.signature.type){case"eth_sign":case"hash":return {topology:{type:"signer",address:Yt.recoverAddress({payload:s.signature.type==="eth_sign"?ye.keccak256(xt.encodePacked(["string","bytes32"],[`Ethereum Signed Message:
342
- 32`,p.toHex(i)])):i,signature:s.signature}),weight:s.weight,signed:!0,signature:s.signature},weight:s.weight};case"erc1271":switch(n?.provider){case void 0:case"assume-invalid":if(n?.throw!==!1)throw new Error(`unable to validate signer ${s.signature.address} erc-1271 signature`);return {topology:{type:"signer",address:s.signature.address,weight:s.weight},weight:0n};case"assume-valid":return {topology:{type:"signer",address:s.signature.address,weight:s.weight,signed:!0,signature:s.signature},weight:s.weight};default:let a="provider"in n.provider?n.provider.provider:n.provider,o="block"in n.provider?n.provider.block:void 0,c={to:s.signature.address,data:de.encodeData(uf,[p.toHex(i),s.signature.data])},u=await a.request({method:"eth_call",params:o===void 0?[c,"latest"]:[c,R.fromNumber(o)]}),l=de.decodeResult(uf,u);if(R.isEqual(l,de.getSelector(uf)))return {topology:{type:"signer",address:s.signature.address,weight:s.weight,signed:!0,signature:s.signature},weight:s.weight};if(n?.throw!==!1)throw new Error(`invalid signer ${s.signature.address} erc-1271 signature`);return {topology:{type:"signer",address:s.signature.address,weight:s.weight},weight:0n}}case"sapient":case"sapient_compact":switch(n?.provider){case void 0:case"assume-invalid":case"assume-valid":throw new Error(`unable to validate sapient signer ${s.signature.address} signature`);default:let a="provider"in n.provider?n.provider.provider:n.provider,o="block"in n.provider?n.provider.block:void 0,c={to:s.signature.address,data:s.signature.type==="sapient"?de.encodeData(bv,[iV(t,r),s.signature.data]):de.encodeData(Sv,[p.toHex(i),s.signature.data])},u=await a.request({method:"eth_call",params:o===void 0?[c,"latest"]:[c,R.fromNumber(o)]});return {topology:{type:"sapient-signer",address:s.signature.address,weight:s.weight,imageHash:u,signed:!0,signature:s.signature},weight:s.weight}}}else if(ff(s)){let{topology:a,weight:o}=await $v(s.tree,e,t,r,n);return {topology:{...s,tree:a},weight:o>=s.threshold?s.weight:0n}}else {if(as(s))return {topology:s,weight:0n};if(os(s))return {topology:s,weight:0n};if(tr(s))return {topology:s,weight:p.isEqual(p.fromHex(s.digest),i)?0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffn:0n};if(sr(s)){let a=ru(Xe.ZeroAddress,t,r);return {topology:s,weight:p.isEqual(p.fromHex(s.digest),a)?0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffn:0n}}else {if(Ft(s))return {topology:s,weight:0n};{let[a,o]=await Promise.all(s.map(c=>$v(c,e,t,r,n)));return {topology:[a.topology,o.topology],weight:a.weight+o.weight}}}}}function iV(s,e){switch(e.type){case"call":return {kind:0,noChainId:!s,calls:e.calls.map(t=>({...t,data:t.data,behaviorOnError:t.behaviorOnError==="ignore"?0n:t.behaviorOnError==="revert"?1n:2n})),space:e.space,nonce:e.nonce,message:"0x",imageHash:"0x0000000000000000000000000000000000000000000000000000000000000000",digest:"0x0000000000000000000000000000000000000000000000000000000000000000",parentWallets:e.parentWallets??[]};case"message":return {kind:1,noChainId:!s,calls:[],space:0n,nonce:0n,message:e.message,imageHash:"0x0000000000000000000000000000000000000000000000000000000000000000",digest:"0x0000000000000000000000000000000000000000000000000000000000000000",parentWallets:e.parentWallets??[]};case"config-update":return {kind:2,noChainId:!s,calls:[],space:0n,nonce:0n,message:"0x",imageHash:e.imageHash,digest:"0x0000000000000000000000000000000000000000000000000000000000000000",parentWallets:e.parentWallets??[]};case"digest":return {kind:3,noChainId:!s,calls:[],space:0n,nonce:0n,message:"0x",imageHash:"0x0000000000000000000000000000000000000000000000000000000000000000",digest:e.digest,parentWallets:e.parentWallets??[]};default:throw new Error("Invalid payload type")}}function as(s){return typeof s=="object"&&s!==null&&s.type==="signer"}function os(s){return typeof s=="object"&&s!==null&&s.type==="sapient-signer"}function tr(s){return typeof s=="object"&&s!==null&&s.type==="subdigest"}function sr(s){return typeof s=="object"&&s!==null&&s.type==="any-address-subdigest"}function Ft(s){return R.validate(s)&&s.length===66}function Ss(s){return typeof s=="object"&&s!==null&&s.type==="nested"}function Bt(s){return Array.isArray(s)&&s.length===2&&iu(s[0])&&iu(s[1])}function ou(s){return typeof s=="object"&&"threshold"in s&&"checkpoint"in s&&"topology"in s}function s8(s){return as(s)||os(s)||tr(s)||sr(s)||Ft(s)||Ss(s)}function iu(s){return Bt(s)||s8(s)}function aV(s){let e=new Set,t=new Set,r=!0,n=i=>{Bt(i)?(n(i[0]),n(i[1])):as(i)?i.weight&&e.add(i.address):os(i)?t.add({address:i.address,imageHash:i.imageHash}):Ft(i)?r=!1:Ss(i)&&i.weight&&n(i.tree);};return n(ou(s)?s.topology:s),{signers:Array.from(e),sapientSigners:Array.from(t),isComplete:r}}function df(s,e){if(ou(s))return df(s.topology,e);if(Bt(s))return df(s[0],e)||df(s[1],e);if(as(s)){if(M.isEqual(s.address,e))return s}else if(os(s)){if(M.isEqual(s.address,e))return s}else if(Ss(s))return df(s.tree,e)}function mf(s,e){if(s=$g(s)||ou(s)?s.topology:s,qg(s))return {weight:s.weight,maxWeight:s.weight};if(as(s))return {weight:0n,maxWeight:e(s)?s.weight:0n};if(hf(s))return {weight:s.weight,maxWeight:s.weight};if(Xv(s))return {weight:s.weight,maxWeight:s.weight};if(os(s))return {weight:0n,maxWeight:e(s)?s.weight:0n};if(tr(s))return {weight:0n,maxWeight:0n};if(sr(s))return {weight:0n,maxWeight:0n};if(ff(s)){let{weight:t,maxWeight:r}=mf(s.tree,e);return {weight:t>=s.threshold?s.weight:0n,maxWeight:r>=s.threshold?s.weight:0n}}else {if(Ft(s))return {weight:0n,maxWeight:0n};{let[t,r]=[mf(s[0],e),mf(s[1],e)];return {weight:t.weight+r.weight,maxWeight:t.maxWeight+r.maxWeight}}}}function cs(s){if(ou(s)){let e=cs(s.topology);return e=ye.keccak256(p.concat(e,p.padLeft(p.fromNumber(s.threshold),32))),e=ye.keccak256(p.concat(e,p.padLeft(p.fromNumber(s.checkpoint),32))),e=ye.keccak256(p.concat(e,p.padLeft(p.fromHex(s.checkpointer??Xe.ZeroAddress),32))),e}if(as(s))return ye.keccak256(p.concat(p.fromString(`Sequence signer:
343
- `),p.fromHex(s.address),p.padLeft(p.fromNumber(s.weight),32)));if(os(s))return ye.keccak256(p.concat(p.fromString(`Sequence sapient config:
344
- `),p.fromHex(s.address),p.padLeft(p.fromNumber(s.weight),32),p.padLeft(p.fromHex(s.imageHash),32)));if(tr(s))return ye.keccak256(p.concat(p.fromString(`Sequence static digest:
345
- `),p.fromHex(s.digest)));if(sr(s))return ye.keccak256(p.concat(p.fromString(`Sequence any address subdigest:
346
- `),p.fromHex(s.digest)));if(Ft(s))return p.fromHex(s);if(Ss(s))return ye.keccak256(p.concat(p.fromString(`Sequence nested config:
347
- `),cs(s.tree),p.padLeft(p.fromNumber(s.threshold),32),p.padLeft(p.fromNumber(s.weight),32)));if(Bt(s))return ye.keccak256(p.concat(cs(s[0]),cs(s[1])));throw new Error("Invalid topology")}function Qv(s){if(s.length===0)throw new Error("Cannot create topology from empty leaves");return s.length===1?s[0]:s.length===2?[s[0],s[1]]:[Qv(s.slice(0,s.length/2)),Qv(s.slice(s.length/2))]}function Fg(s){return Bt(s)?[...Fg(s[0]),...Fg(s[1])]:Ss(s)?[...Fg(s.tree)]:[s]}function oV(s){return JSON.stringify({threshold:s.threshold.toString(),checkpoint:s.checkpoint.toString(),topology:Kg(s.topology),checkpointer:s.checkpointer})}function cV(s){let e=JSON.parse(s);return {threshold:BigInt(e.threshold),checkpoint:BigInt(e.checkpoint),checkpointer:e.checkpointer,topology:Gg(e.topology)}}function Kg(s){if(Bt(s))return [Kg(s[0]),Kg(s[1])];if(as(s))return {type:"signer",address:s.address,weight:s.weight.toString()};if(os(s))return {type:"sapient-signer",address:s.address,weight:s.weight.toString(),imageHash:s.imageHash};if(tr(s))return {type:"subdigest",digest:s.digest};if(sr(s))return {type:"any-address-subdigest",digest:s.digest};if(Ft(s))return s;if(Ss(s))return {type:"nested",tree:Kg(s.tree),weight:s.weight.toString(),threshold:s.threshold.toString()};throw new Error("Invalid topology")}function Gg(s){if(Array.isArray(s)){if(s.length!==2)throw new Error("Invalid node structure in JSON");return [Gg(s[0]),Gg(s[1])]}if(typeof s=="string")return s;switch(s.type){case"signer":return {type:"signer",address:s.address,weight:BigInt(s.weight)};case"sapient-signer":return {type:"sapient-signer",address:s.address,weight:BigInt(s.weight),imageHash:s.imageHash};case"subdigest":return {type:"subdigest",digest:s.digest};case"any-address-subdigest":return {type:"any-address-subdigest",digest:s.digest};case"nested":return {type:"nested",tree:Gg(s.tree),weight:BigInt(s.weight),threshold:BigInt(s.threshold)};default:throw new Error("Invalid type in topology JSON")}}function uV(s){return s instanceof Promise?{signature:s}:typeof s=="object"&&s&&"signature"in s&&s.signature instanceof Promise?s:{signature:Promise.resolve(s)}}function Jg(s,e){if(Bt(s)&&Bt(e))return [Jg(s[0],e[0]),Jg(s[1],e[1])];if(Bt(s)&&!Bt(e)){if(!Ft(e))throw new Error("Topology mismatch: cannot merge node with non-node that is not a node leaf");let t=cs(e);if(!p.isEqual(t,cs(s)))throw new Error("Topology mismatch: node hash does not match");return s}if(!Bt(s)&&Bt(e)){if(!Ft(s))throw new Error("Topology mismatch: cannot merge node with non-node that is not a node leaf");let t=cs(s);if(!p.isEqual(t,cs(e)))throw new Error("Topology mismatch: node hash does not match");return e}return hV(s,e)}function au(s){return ou(s)?s.threshold>65535n||s.checkpoint>72057594037927935n||au(s.topology):Bt(s)?au(s[0])||au(s[1]):Ss(s)?au(s.tree)||s.weight>255n||s.threshold>65535n:as(s)||os(s)?s.weight>255n:!1}function pf(s){return Bt(s)?Math.max(pf(s[0]),pf(s[1]))+1:Ss(s)?pf(s.tree)+1:0}function lV(s){if(s.threshold===0n)throw new Error("unsafe-threshold-0");if(au(s))throw new Error("unsafe-invalid-values");if(pf(s.topology)>32)throw new Error("unsafe-depth");let{maxWeight:e}=mf(s.topology,()=>!0);if(e<s.threshold)throw new Error("unsafe-threshold")}function hV(s,e){if(Ft(s)&&Ft(e)){if(!R.isEqual(s,e))throw new Error("Topology mismatch: different node leaves");return s}if(Ft(s)&&!Ft(e)){let t=cs(e);if(!p.isEqual(t,p.fromHex(s)))throw new Error("Topology mismatch: node leaf hash does not match");return e}if(!Ft(s)&&Ft(e)){let t=cs(s);if(!p.isEqual(t,p.fromHex(e)))throw new Error("Topology mismatch: node leaf hash does not match");return s}if(as(s)&&as(e)){if(s.address!==e.address||s.weight!==e.weight)throw new Error("Topology mismatch: signer fields differ");if(!!s.signed!=!!e.signed||!!s.signature!=!!e.signature)throw new Error("Topology mismatch: signer signature fields differ");return s}if(os(s)&&os(e)){if(s.address!==e.address||s.weight!==e.weight||s.imageHash!==e.imageHash)throw new Error("Topology mismatch: sapient signer fields differ");if(!!s.signed!=!!e.signed||!!s.signature!=!!e.signature)throw new Error("Topology mismatch: sapient signature fields differ");return s}if(tr(s)&&tr(e)){if(!p.isEqual(p.fromHex(s.digest),p.fromHex(e.digest)))throw new Error("Topology mismatch: subdigest fields differ");return s}if(sr(s)&&sr(e)){if(!p.isEqual(p.fromHex(s.digest),p.fromHex(e.digest)))throw new Error("Topology mismatch: any-address-subdigest fields differ");return s}if(Ss(s)&&Ss(e)){if(s.weight!==e.weight||s.threshold!==e.threshold)throw new Error("Topology mismatch: nested leaf fields differ");let t=Jg(s.tree,e.tree);return {type:"nested",weight:s.weight,threshold:s.threshold,tree:t}}throw new Error("Topology mismatch: incompatible leaf types")}function Wg(s,e,t){return Bt(s)?[Wg(s[0],e,t),Wg(s[1],e,t)]:Ss(s)?{...s,tree:Wg(s.tree,e,t)}:(as(s)||os(s))&&M.isEqual(s.address,e)?{...s,address:t}:s}function fV(s,e){let t=s instanceof Uint8Array?s:cs(s);return p.toHex(ye.keccak256(p.concat(p.from("0xff"),p.from(e.factory),t,ye.keccak256(p.concat(p.from(e.creationCode),p.padLeft(p.from(e.stage1),32)))),{as:"Bytes"}).subarray(12))}var qt={};Te(qt,{ACCEPT_IMPLICIT_REQUEST_MAGIC_PREFIX:()=>c8,decode:()=>dV,decodeAuthData:()=>i8,encode:()=>r8,encodeAuthData:()=>n8,encodeForJson:()=>a8,fromJson:()=>gV,fromParsed:()=>o8,generateImplicitRequestMagic:()=>yV,hash:()=>mV,toJson:()=>pV});d();f();function r8(s){let e=n8(s.authData),t=[p.fromHex(s.approvedSigner,{size:20}),p.padLeft(s.identityType.slice(0,4),4),p.padLeft(s.issuerHash,32),p.padLeft(s.audienceHash,32),p.fromNumber(s.applicationData.length,{size:3}),s.applicationData,e];return p.concat(...t)}function n8(s){return p.concat(p.fromNumber(s.redirectUrl.length,{size:3}),p.fromString(s.redirectUrl),p.fromNumber(s.issuedAt,{size:8}))}function dV(s){let e=p.toHex(s.slice(0,20)),t=s.slice(20,24),r=s.slice(24,56),n=s.slice(56,88),i=p.toNumber(s.slice(88,91)),a=s.slice(91,91+i),o=i8(s.slice(91+i));return {approvedSigner:e,identityType:t,issuerHash:r,audienceHash:n,applicationData:a,authData:o}}function i8(s){let e=p.toNumber(s.slice(0,3)),t=p.toString(s.slice(3,3+e)),r=p.toBigInt(s.slice(3+e,3+e+8));return {redirectUrl:t,issuedAt:r}}function mV(s){return ye.keccak256(r8(s))}function pV(s,e){return JSON.stringify(a8(s),null,e)}function a8(s){return {approvedSigner:s.approvedSigner.toString(),identityType:p.toHex(s.identityType),issuerHash:p.toHex(s.issuerHash),audienceHash:p.toHex(s.audienceHash),applicationData:p.toHex(s.applicationData),authData:{redirectUrl:s.authData.redirectUrl,issuedAt:s.authData.issuedAt.toString()}}}function gV(s){return o8(JSON.parse(s))}function o8(s){return {approvedSigner:M.from(s.approvedSigner),identityType:p.fromHex(s.identityType),issuerHash:p.fromHex(s.issuerHash),audienceHash:p.fromHex(s.audienceHash),applicationData:p.fromHex(s.applicationData),authData:{redirectUrl:s.authData.redirectUrl,issuedAt:BigInt(s.authData.issuedAt)}}}var c8=ye.keccak256(p.fromString("acceptImplicitRequest"));function yV(s,e){return ye.keccak256(p.concat(c8,p.fromHex(e,{size:20}),s.audienceHash,s.issuerHash))}var sn={};Te(sn,{MASK:()=>wV,MAX_PERMISSIONS_COUNT:()=>zg,MAX_RULES_COUNT:()=>u8,ParameterOperation:()=>eE,abiEncodePermission:()=>EV,decodeSessionPermissions:()=>Yg,encodePermission:()=>l8,encodeSessionPermissions:()=>gf,encodeSessionPermissionsForJson:()=>Zg,parameterRuleToJson:()=>IV,permissionFromJson:()=>NV,permissionStructAbi:()=>h8,permissionToJson:()=>AV,sessionPermissionsFromJson:()=>CV,sessionPermissionsFromParsed:()=>Xg,sessionPermissionsToJson:()=>xV});d();f();var eE;(function(s){s[s.EQUAL=0]="EQUAL",s[s.NOT_EQUAL=1]="NOT_EQUAL",s[s.GREATER_THAN_OR_EQUAL=2]="GREATER_THAN_OR_EQUAL",s[s.LESS_THAN_OR_EQUAL=3]="LESS_THAN_OR_EQUAL";})(eE||(eE={}));var zg=2**7-1,u8=2**8-1,wV={SELECTOR:p.padRight(p.fromHex("0xffffffff"),32),ADDRESS:p.padLeft(p.fromHex("0xffffffffffffffffffffffffffffffffffffffff"),32),BOOL:p.padLeft(p.fromHex("0x01"),32),BYTES1:p.padLeft(p.from(Array(1).fill(255)),32),BYTES2:p.padLeft(p.from(Array(2).fill(255)),32),BYTES4:p.padLeft(p.from(Array(4).fill(255)),32),BYTES8:p.padLeft(p.from(Array(8).fill(255)),32),BYTES16:p.padLeft(p.from(Array(16).fill(255)),32),BYTES32:p.padLeft(p.from(Array(32).fill(255)),32),INT8:p.padLeft(p.from(Array(1).fill(255)),32),INT16:p.padLeft(p.from(Array(2).fill(255)),32),INT32:p.padLeft(p.from(Array(4).fill(255)),32),INT64:p.padLeft(p.from(Array(8).fill(255)),32),INT128:p.padLeft(p.from(Array(16).fill(255)),32),INT256:p.padLeft(p.from(Array(32).fill(255)),32),UINT8:p.padLeft(p.from(Array(1).fill(255)),32),UINT16:p.padLeft(p.from(Array(2).fill(255)),32),UINT32:p.padLeft(p.from(Array(4).fill(255)),32),UINT64:p.padLeft(p.from(Array(8).fill(255)),32),UINT128:p.padLeft(p.from(Array(16).fill(255)),32),UINT256:p.padLeft(p.from(Array(32).fill(255)),32)};function gf(s){if(s.permissions.length>zg)throw new Error("Too many permissions");let e=s.permissions.map(l8);return p.concat(p.padLeft(p.fromHex(s.signer),20),p.padLeft(p.fromNumber(s.chainId),32),p.padLeft(p.fromNumber(s.valueLimit),32),p.padLeft(p.fromNumber(s.deadline,{size:8}),8),p.fromNumber(s.permissions.length,{size:1}),p.concat(...e))}function l8(s){if(s.rules.length>u8)throw new Error("Too many rules");let e=s.rules.map(bV);return p.concat(p.padLeft(p.fromHex(s.target),20),p.fromNumber(s.rules.length,{size:1}),p.concat(...e))}function bV(s){let e=Number(s.operation)<<1|(s.cumulative?1:0);return p.concat(p.fromNumber(e),p.padLeft(s.value,32),p.padLeft(p.fromNumber(s.offset),32),p.padLeft(s.mask,32))}function Yg(s){let e=p.toHex(s.slice(0,20)),t=p.toNumber(s.slice(20,52)),r=p.toBigInt(s.slice(52,84)),n=p.toBigInt(s.slice(84,92)),i=Number(s[92]),a=[],o=93;for(let c=0;c<i;c++){let{permission:u,consumed:l}=SV(s.slice(o));a.push(u),o+=l;}if(a.length===0)throw new Error("No permissions");return {signer:e,chainId:t,valueLimit:r,deadline:n,permissions:a}}function SV(s){let e=p.toHex(s.slice(0,20)),t=Number(s[20]),r=[],n=21;for(let i=0;i<t;i++){let a=s.slice(n,n+97);r.push(vV(a)),n+=97;}return {permission:{target:e,rules:r},consumed:n}}function vV(s){let e=Number(s[0]),t=(e&1)===1,r=e>>1,n=s.slice(1,33),i=p.toBigInt(s.slice(33,65)),a=s.slice(65,97);return {cumulative:t,operation:r,value:n,offset:i,mask:a}}var h8={internalType:"struct Permission",name:"permission",type:"tuple",components:[{internalType:"address",name:"target",type:"address"},{internalType:"struct ParameterRule[]",name:"rules",type:"tuple[]",components:[{internalType:"bool",name:"cumulative",type:"bool"},{internalType:"enum ParameterOperation",name:"operation",type:"uint8"},{internalType:"bytes32",name:"value",type:"bytes32"},{internalType:"uint256",name:"offset",type:"uint256"},{internalType:"bytes32",name:"mask",type:"bytes32"}]}]};function EV(s){return xt.encode([h8],[{target:s.target,rules:s.rules.map(e=>({cumulative:e.cumulative,operation:e.operation,value:p.toHex(e.value),offset:e.offset,mask:p.toHex(e.mask)}))}])}function xV(s){return JSON.stringify(Zg(s))}function Zg(s){return {signer:s.signer.toString(),chainId:s.chainId.toString(),valueLimit:s.valueLimit.toString(),deadline:s.deadline.toString(),permissions:s.permissions.map(f8)}}function AV(s){return JSON.stringify(f8(s))}function f8(s){return {target:s.target.toString(),rules:s.rules.map(d8)}}function IV(s){return JSON.stringify(d8(s))}function d8(s){return {cumulative:s.cumulative,operation:s.operation,value:p.toHex(s.value),offset:s.offset.toString(),mask:p.toHex(s.mask)}}function CV(s){return Xg(JSON.parse(s))}function Xg(s){return {signer:M.from(s.signer),chainId:Number(s.chainId),valueLimit:BigInt(s.valueLimit),deadline:BigInt(s.deadline),permissions:s.permissions.map(m8)}}function NV(s){return m8(JSON.parse(s))}function m8(s){return {target:M.from(s.target),rules:s.rules.map(e=>({cumulative:e.cumulative,operation:e.operation,value:p.fromHex(e.value),offset:BigInt(e.offset),mask:p.fromHex(e.mask)}))}}d();f();var Fs={};Te(Fs,{SESSIONS_FLAG_BLACKLIST:()=>uu,SESSIONS_FLAG_BRANCH:()=>sE,SESSIONS_FLAG_IDENTITY_SIGNER:()=>bf,SESSIONS_FLAG_NODE:()=>tE,SESSIONS_FLAG_PERMISSIONS:()=>wf,addExplicitSession:()=>VV,addIdentitySigner:()=>UV,addToImplicitBlacklist:()=>LV,balanceSessionsTopology:()=>Ef,cleanSessionsTopology:()=>C8,configurationTreeToSessionsTopology:()=>v8,decodeLeafFromBytes:()=>b8,decodeSessionsTopology:()=>iE,emptySessionsTopology:()=>N8,encodeLeafToGeneric:()=>yf,encodeSessionsTopology:()=>s1,getExplicitSigners:()=>TV,getIdentitySigners:()=>Sf,getImplicitBlacklist:()=>PV,getImplicitBlacklistLeaf:()=>vf,getSessionPermissions:()=>t1,isCompleteSessionsTopology:()=>nE,isSessionsTopology:()=>rE,mergeSessionsTopologies:()=>oE,minimiseSessionsTopology:()=>r1,removeExplicitSession:()=>RV,removeFromImplicitBlacklist:()=>jV,removeIdentitySigner:()=>DV,sessionsTopologyFromJson:()=>OV,sessionsTopologyToConfigurationTree:()=>S8,sessionsTopologyToJson:()=>BV});d();f();var js={};Te(js,{hash:()=>rr,isBranch:()=>Ls,isLeaf:()=>ei,isNode:()=>Ot,isTree:()=>p8});d();f();function Ls(s){return Array.isArray(s)&&s.length>=2&&s.every(e=>p8(e))}function ei(s){return s.type==="leaf"&&p.validate(s.value)}function p8(s){return Ls(s)||ei(s)||Ot(s)}function Ot(s){return R.validate(s)&&R.size(s)===32}function rr(s){if(Ls(s)){let e=s.map(rr);if(e.length===0)throw new Error("Empty branch");let t=R.toBytes(e[0]);for(let r=1;r<e.length;r++)t=ye.keccak256(p.concat(t,R.toBytes(e[r])));return R.fromBytes(t)}return Ot(s)?s:ye.keccak256(s.value,{as:"Hex"})}var wf=0,tE=1,sE=2,uu=3,bf=4,g8=32;function Cr(s){return R.validate(s)&&R.size(s)===g8}function nr(s){return typeof s=="object"&&s!==null&&"blacklist"in s}function ir(s){return typeof s=="object"&&s!==null&&"identitySigner"in s}function ar(s){return typeof s=="object"&&s!==null&&"signer"in s}function Qg(s){return nr(s)||ir(s)||ar(s)}function or(s){return Array.isArray(s)&&s.length>=2&&s.every(e=>rE(e))}function rE(s){return or(s)||Qg(s)||Cr(s)}function nE(s){if(!rE(s))return !1;let{identitySignerCount:e,blacklistCount:t}=y8(s);return e>=1&&t===1}function y8(s){let e=0,t=0;if(or(s))for(let r of s){let{identitySignerCount:n,blacklistCount:i}=y8(r);e+=n,t+=i;}return ir(s)&&e++,nr(s)&&t++,{identitySignerCount:e,blacklistCount:t}}function Sf(s){return ir(s)?[s.identitySigner]:or(s)?s.map(Sf).flat():[]}function PV(s){let e=vf(s);return e?e.blacklist:null}function vf(s){if(nr(s))return s;if(or(s)){let e=s.map(vf).filter(t=>t!==null);if(e.length>1)throw new Error("Multiple blacklists");if(e.length===1)return e[0]}return null}function t1(s,e){if(ar(s)&&M.isEqual(s.signer,e))return s;if(or(s))for(let t of s){let r=t1(t,e);if(r)return r}return null}function TV(s){return w8(s,[])}function w8(s,e){if(ar(s))return [...e,s.signer];if(or(s)){let t=[...e];for(let r of s)t.push(...w8(r,e));return t}return e}function yf(s){if(ar(s))return {type:"leaf",value:p.concat(p.fromNumber(wf),gf(s))};if(nr(s))return {type:"leaf",value:p.concat(p.fromNumber(uu),p.concat(...s.blacklist.map(e=>p.padLeft(p.fromHex(e),20))))};if(ir(s))return {type:"leaf",value:p.concat(p.fromNumber(bf),p.padLeft(p.fromHex(s.identitySigner),20))};throw new Error("Invalid leaf")}function b8(s){let e=s[0];if(e===uu){let t=[];for(let r=1;r<s.length;r+=20)t.push(p.toHex(s.slice(r,r+20)));return {type:"implicit-blacklist",blacklist:t}}if(e===bf)return {type:"identity-signer",identitySigner:p.toHex(s.slice(1,21))};if(e===wf)return {type:"session-permissions",...Yg(s.slice(1))};throw new Error("Invalid leaf")}function S8(s){if(or(s))return s.map(S8);if(nr(s)||ir(s)||ar(s))return yf(s);if(Cr(s))return s;throw new Error("Invalid topology")}function v8(s){if(Ls(s))return s.map(v8);if(Ot(s))throw new Error("Unknown in configuration tree");return b8(s.value)}function s1(s){if(or(s)){let e=[];for(let i of s)e.push(s1(i));let t=p.concat(...e),r=Us(BigInt(t.length));if(r>15)throw new Error("Branch too large");let n=sE<<4|r;return p.concat(p.fromNumber(n),p.padLeft(p.fromNumber(t.length),r),t)}if(ar(s)){let e=wf<<4,t=gf(s);return p.concat(p.fromNumber(e),t)}if(Cr(s)){let e=tE<<4;return p.concat(p.fromNumber(e),R.toBytes(s))}if(nr(s)){let e=p.concat(...s.blacklist.map(r=>p.fromHex(r)));if(s.blacklist.length>=15){if(s.blacklist.length>65535)throw new Error("Blacklist too large");return p.concat(p.fromNumber(uu<<4|15),p.fromNumber(s.blacklist.length,{size:2}),e)}let t=uu<<4|s.blacklist.length;return p.concat(p.fromNumber(t),e)}if(ir(s)){let e=bf<<4;return p.concat(p.fromNumber(e),p.padLeft(p.fromHex(s.identitySigner),20))}throw new Error("Invalid topology")}function iE(s){let{topology:e}=E8(s);return e}function E8(s){if(s.length===0)throw new Error("Empty topology bytes");let e=s[0],t=(e&240)>>4,r=e&15;if(t===sE){if(r===0||r>15)throw new Error("Invalid branch size");let n=1,i=p.toNumber(s.slice(n,n+r));n+=r;let a=s.slice(n,n+i),o=[],c=0;for(;c<a.length;){let{topology:u,pointer:l}=E8(a.slice(c));o.push(u),c+=l;}return {topology:o,pointer:n+i}}else if(t===wf){let n=Yg(s.slice(1)),i=1+gf(n).length;return {topology:{type:"session-permissions",...n},pointer:i}}else if(t===tE){let n=g8+1;if(s.length<n)throw new Error("Invalid node length");return {topology:R.fromBytes(s.slice(1,n)),pointer:n}}else if(t===uu){let n=1,i=r;r===15&&(i=p.toNumber(s.slice(n,n+2)),n+=2);let a=[];for(let o=0;o<i;o++){let c=s.slice(n+o*20,n+(o+1)*20);a.push(M.from(R.fromBytes(c)));}return {topology:{type:"implicit-blacklist",blacklist:a},pointer:n+i*20}}else if(t===bf){if(s.length<21)throw new Error("Invalid identity signer length");return {topology:{type:"identity-signer",identitySigner:M.from(R.fromBytes(s.slice(1,21)))},pointer:21}}else throw new Error(`Invalid topology flag: ${t}`)}function BV(s){return JSON.stringify(x8(s))}function x8(s){if(Cr(s))return s;if(ar(s))return Zg(s);if(nr(s)||ir(s))return s;if(or(s))return s.map(e=>x8(e));throw new Error("Invalid topology")}function OV(s){let e=JSON.parse(s);return A8(e)}function A8(s){if(Array.isArray(s))return s.map(t=>A8(t));if(typeof s=="string"&&R.validate(s)&&R.size(s)===32)return s;if(typeof s=="object"&&s!==null&&"signer"in s&&"valueLimit"in s&&"deadline"in s&&"permissions"in s)return {type:"session-permissions",...Xg(s)};if(typeof s=="object"&&s!==null&&"identitySigner"in s)return {type:"identity-signer",identitySigner:s.identitySigner};if(typeof s=="object"&&s!==null&&"blacklist"in s)return {type:"implicit-blacklist",blacklist:s.blacklist.map(t=>M.from(t))};throw new Error("Invalid topology")}function aE(s,e){if(Qg(s)&&Qg(e)){if(s.type===e.type){if(ar(s)&&ar(e)){if(M.isEqual(s.signer,e.signer))return null}else if(nr(s)&&nr(e)){let t=s.blacklist.filter(r=>!e.blacklist.includes(r));return t.length===0?null:{type:"implicit-blacklist",blacklist:t}}else if(ir(s)&&ir(e)&&M.isEqual(s.identitySigner,e.identitySigner))return null}}else if(Cr(s)&&Cr(e)&&R.isEqual(s,e))return null;if(or(s)){let t=[];for(let r of s){let n=aE(r,e);n!=null&&t.push(n);}return t.length===0?null:t.length===1?t[0]:t}return s}function RV(s,e){let t=t1(s,e);if(!t)return s;let r=aE(s,t);return r?Ef(r):null}function VV(s,e){if(t1(s,e.signer))throw new Error("Session already exists");let t=oE(s,{type:"session-permissions",...e});return Ef(t)}function DV(s,e){let r=aE(s,{type:"identity-signer",identitySigner:e});return r?Ef(r):null}function UV(s,e){if(Sf(s).some(r=>M.isEqual(r,e)))throw new Error("Identity signer already exists");let t=oE(s,{type:"identity-signer",identitySigner:e});return Ef(t)}function oE(s,e){return [s,e]}function I8(s){if(Qg(s)||Cr(s))return [s];let e=[];for(let t of s)e.push(...I8(t));return e}function e1(s){if(s.length===1)return s[0];if(s.length===0)throw new Error("Cannot build a topology from an empty list");let e=Math.floor(s.length/2),t=s.slice(0,e),r=s.slice(e),n=e1(t),i=e1(r);return [n,i]}function Ef(s){return e1(I8(s))}function C8(s,e=BigInt(Math.floor(Date.now()/1e3))){if(Cr(s))return s;if(ar(s))return s.deadline<e?null:s;if(ir(s)||nr(s))return s;let t=[];for(let r of s){let n=C8(r,e);n!==null&&t.push(n);}return t.length===0?null:t.length===1?t[0]:t}function r1(s,e=[],t=[],r){if(or(s)){let n=s.map(i=>r1(i,e,t,r));return n.every(i=>Cr(i))?ye.keccak256(p.concat(...n.map(i=>R.toBytes(i))),{as:"Hex"}):n}if(ar(s))return e.includes(s.signer)?s:rr(yf(s));if(nr(s))return t.length===0?rr(yf(s)):s;if(ir(s))return r&&!M.isEqual(s.identitySigner,r)?rr(yf(s)):s;if(Cr(s))return s;throw new Error("Invalid topology")}function LV(s,e){let t=vf(s);if(!t)throw new Error("No blacklist found");let{blacklist:r}=t;return r.some(n=>M.isEqual(n,e))||(r.push(e),r.sort((n,i)=>BigInt(n)<BigInt(i)?-1:1)),s}function jV(s,e){let t=vf(s);if(!t)throw new Error("No blacklist found");let{blacklist:r}=t,n=r.filter(i=>i!==e);return t.blacklist=n,s}function N8(s){if(!Array.isArray(s))return N8([s]);let e=[{type:"implicit-blacklist",blacklist:[]},...s.map(t=>({type:"identity-signer",identitySigner:t}))];return e1(e)}var ti={};Te(ti,{decodeSessionSignature:()=>$V,encodeSessionCallSignatureForJson:()=>k8,encodeSessionSignature:()=>MV,hashPayloadWithCallIdx:()=>qV,isExplicitSessionCallSignature:()=>lE,isImplicitSessionCallSignature:()=>n1,sessionCallSignatureFromJson:()=>_V,sessionCallSignatureFromParsed:()=>P8,sessionCallSignatureToJson:()=>HV});d();f();function n1(s){return "attestation"in s&&"identitySignature"in s&&"sessionSignature"in s}function lE(s){return "permissionIndex"in s&&"sessionSignature"in s}function HV(s){return JSON.stringify(k8(s))}function k8(s){if(n1(s))return {attestation:qt.encodeForJson(s.attestation),identitySignature:cE(s.identitySignature),sessionSignature:cE(s.sessionSignature)};if(lE(s))return {permissionIndex:s.permissionIndex,sessionSignature:cE(s.sessionSignature)};throw new Error("Invalid call signature")}function _V(s){let e=JSON.parse(s);return P8(e)}function P8(s){if(s.attestation)return {attestation:qt.fromParsed(s.attestation),identitySignature:uE(s.identitySignature),sessionSignature:uE(s.sessionSignature)};if(s.permissionIndex)return {permissionIndex:s.permissionIndex,sessionSignature:uE(s.sessionSignature)};throw new Error("Invalid call signature")}function cE(s){return `${s.r.toString()}:${s.s.toString()}:${s.yParity+27}`}function uE(s){let e=s.split(":");if(e.length!==3)throw new Error("Signature must be in r:s:v format");let[t,r,n]=e;if(!t||!r||!n)throw new Error("Invalid signature format");return {r:p.toBigInt(p.fromHex(t,{size:32})),s:p.toBigInt(p.fromHex(r,{size:32})),yParity:parseInt(n,10)-27}}function MV(s,e,t,r=[],n=[]){let i=[];if(!nE(e))throw new Error("Incomplete topology");if(!Sf(e).some(l=>M.isEqual(l,t)))throw new Error("Identity signer not found");e=r1(e,r,n,t);let o=s1(e);if(Us(BigInt(o.length))>3)throw new Error("Session topology is too large");i.push(p.fromNumber(o.length,{size:3}),o);let c=new Map,u=[];if(s.filter(n1).forEach(l=>{if(l.attestation){let m=qt.toJson(l.attestation);c.has(m)||(c.set(m,u.length),u.push(p.concat(qt.encode(l.attestation),tn(l.identitySignature))));}}),u.length>=128)throw new Error("Too many attestations");i.push(p.fromNumber(u.length,{size:1}),p.concat(...u));for(let l of s)if(n1(l)){let m=qt.toJson(l.attestation),w=c.get(m);if(w===void 0)throw new Error("Failed to find attestation index");let E=128|w;i.push(p.fromNumber(E,{size:1}),tn(l.sessionSignature));}else if(lE(l)){if(l.permissionIndex>zg)throw new Error("Permission index is too large");let m=l.permissionIndex;i.push(p.fromNumber(m,{size:1}),tn(l.sessionSignature));}else throw new Error("Invalid call signature");return p.concat(...i)}function $V(s){let e=0,t=p.toNumber(s.slice(e,e+3));e+=3;let r=s.slice(e,e+t);e+=t;let n=iE(r),i=p.toNumber(s.slice(e,e+1));e+=1;let a=[],o=[];for(let u=0;u<i;u++){let l=qt.decode(s.slice(e));e+=qt.encode(l).length,a.push(l);let m=qa(s.slice(e,e+64));e+=64,o.push(m);}let c=[];for(;e<s.length;){let u=s[e];e+=1;let l=qa(s.slice(e,e+64));if(e+=64,u&128){let m=u&127;if(m>=a.length)throw new Error("Invalid attestation index");c.push({attestation:a[m],identitySignature:o[m],sessionSignature:l});}else {let m=u;c.push({permissionIndex:BigInt(m),sessionSignature:l});}}return {topology:n,callSignatures:c}}function qV(s,e,t,r,n){if(n&&(M.isEqual(n,je.Dev1.sessions)||M.isEqual(n,je.Dev2.sessions)||M.isEqual(n,je.Rc3.sessions))){let c=e.calls[t],u=!M.isEqual(n,je.Rc3.sessions);return R.fromBytes(ye.keccak256(p.concat(p.fromNumber(r,{size:32}),p.fromNumber(e.space,{size:32}),p.fromNumber(e.nonce,{size:32}),u?p.from([]):p.fromNumber(t,{size:32}),p.fromHex(we.hashCall(c)))))}let a=e.parentWallets;e.parentWallets&&e.parentWallets.length>0&&e.parentWallets.pop();let o=we.hash(s,r,e);return e.parentWallets=a,R.fromBytes(ye.keccak256(p.concat(o,p.fromNumber(t,{size:32}))))}var Ka={};Te(Ka,{Dev1:()=>T8,Dev2:()=>B8,Dev2_4337:()=>O8,KnownContexts:()=>FV,Rc3:()=>R8,Rc3_4337:()=>V8,Rc4:()=>D8,Rc4_4337:()=>U8,Rc5:()=>L8,Rc5_4337:()=>j8,isKnownContext:()=>KV});d();f();var T8={factory:"0xe828630697817291140D6B7A42a2c3b7277bE45a",stage1:"0x2a4fB19F66F1427A5E363Bf1bB3be27b9A9ACC39",stage2:"0xe1299E4456b267123F7Aba29B72C2164ff501BDa",creationCode:"0x603e600e3d39601e805130553df33d3d34601c57363d3d373d363d30545af43d82803e903d91601c57fd5bf3"},B8={factory:"0xFE14B91dE3c5Ca74c4D24608EBcD4B2848aA6010",stage1:"0x300E98ae5bEA4A7291d62Eb0b9feD535E10095dD",stage2:"0x90cb0a8ccf40bEdA60896e408bdc7801033447C6",creationCode:"0x6041600e3d396021805130553df33d3d36153402601f57363d3d373d363d30545af43d82803e903d91601f57fd5bf3"},O8={factory:"0xFE14B91dE3c5Ca74c4D24608EBcD4B2848aA6010",stage1:"0x8Ae58FCc0Ee9b32994CA52c9854deb969DC8fa2A",stage2:"0x30f8e3AceAcDEac8a3F28935D87FD58DC5f71ad2",creationCode:"0x6041600e3d396021805130553df33d3d36153402601f57363d3d373d363d30545af43d82803e903d91601f57fd5bf3",capabilities:{erc4337:{entrypoint:"0x0000000071727De22E5E9d8BAf0edAc6f37da032"}}},R8={factory:"0x00000000000018A77519fcCCa060c2537c9D6d3F",stage1:"0x00000000000084fA81809Dd337311297C5594d62",stage2:"0x7438718F9E4b9B834e305A620EEeCf2B9E6eBE79",creationCode:"0x6041600e3d396021805130553df33d3d36153402601f57363d3d373d363d30545af43d82803e903d91601f57fd5bf3"},V8={factory:"0x00000000000018A77519fcCCa060c2537c9D6d3F",stage1:"0x0000000000005A02E3218e820EA45102F84A35C7",stage2:"0x7706aaC0cc2C42C01CE17136F7475b0E46F2ABA1",creationCode:"0x6041600e3d396021805130553df33d3d36153402601f57363d3d373d363d30545af43d82803e903d91601f57fd5bf3",capabilities:{erc4337:{entrypoint:"0x0000000071727De22E5E9d8BAf0edAc6f37da032"}}},D8={factory:"0x00000000000018A77519fcCCa060c2537c9D6d3F",stage1:"0x0000000000003DF093bc4257E6dCE45D937EF161",stage2:"0x10bE1Abf3cD0918bb1079ECc6b8220c177F34088",creationCode:"0x6041600e3d396021805130553df33d3d36153402601f57363d3d373d363d30545af43d82803e903d91601f57fd5bf3"},U8={factory:"0x00000000000018A77519fcCCa060c2537c9D6d3F",stage1:"0x0000000000003add039FF84b064B7347Fc23C444",stage2:"0x4B3E5735665057A0A15eE448A7293bC01e3b4De9",creationCode:"0x6041600e3d396021805130553df33d3d36153402601f57363d3d373d363d30545af43d82803e903d91601f57fd5bf3",capabilities:{erc4337:{entrypoint:"0x0000000071727De22E5E9d8BAf0edAc6f37da032"}}},L8={factory:"0x00000000000018A77519fcCCa060c2537c9D6d3F",stage1:"0x0000000000001f3C39d61698ab21131a12134454",stage2:"0xD0ae8eF93b7DA4eabb32Ec4d81b7a501DCa04D4C",creationCode:"0x6041600e3d396021805130553df33d3d36153402601f57363d3d373d363d30545af43d82803e903d91601f57fd5bf3"},j8={factory:"0x00000000000018A77519fcCCa060c2537c9D6d3F",stage1:"0x0000000000009caFdeDb6f64Bf5F31a22124B2a8",stage2:"0xcBca3328a731deffE6Ce4c2fb51b585c3c37FB92",creationCode:"0x6041600e3d396021805130553df33d3d36153402601f57363d3d373d363d30545af43d82803e903d91601f57fd5bf3",capabilities:{erc4337:{entrypoint:"0x0000000071727De22E5E9d8BAf0edAc6f37da032"}}},FV=[{name:"Dev1",development:!0,...T8},{name:"Dev2",development:!0,...B8},{name:"Dev2_4337",development:!0,...O8},{name:"Rc3",development:!0,...R8},{name:"Rc3_4337",development:!0,...V8},{name:"Rc4",development:!1,...D8},{name:"Rc4_4337",development:!1,...U8},{name:"Rc5",development:!1,...L8},{name:"Rc5_4337",development:!1,...j8}];function KV(s){return s.name!==void 0&&s.development!==void 0}var je={};Te(je,{Dev1:()=>i9,Dev2:()=>a9,Passkeys:()=>fE,Rc3:()=>o9,Rc4:()=>c9,Rc5:()=>u9,Recovery:()=>AE});d();f();var fE={};Te(fE,{decode:()=>YV,encode:()=>JV,fromTree:()=>GV,isValidSignature:()=>zV,metadataNode:()=>H8,metadataTree:()=>hE,rootFor:()=>WV,toTree:()=>_8});d();f();function hE(s){return typeof s=="object"?{type:"leaf",value:p.fromString(s.credentialId)}:s}function H8(s){return rr(hE(s))}function _8(s){let e=R.padLeft(s.x,32),t=R.padLeft(s.y,32),r=R.padLeft(s.requireUserVerification?"0x01":"0x00",32);return s.metadata?[[e,t],[r,hE(s.metadata)]]:[[e,t],[r,R.padLeft("0x00",32)]]}function GV(s){if(!Ls(s)||s.length!==2)throw new Error("Invalid tree");let[e,t]=s;if(!Ls(e)||e.length!==2)throw new Error("Invalid tree for x,y");let[r,n]=e;if(!Ot(r))throw new Error("Invalid x bytes");if(!Ot(n))throw new Error("Invalid y bytes");let i=!1,a;if(Ls(t)){if(t.length!==2)throw new Error("Invalid tree for c,metadata");let[o,c]=t;if(!Ot(o))throw new Error("Invalid c bytes");if(i=R.toBytes(o)[31]===1,Ls(c)){if(c.length!==2)throw new Error("Invalid metadata tree");let[l,m]=c;if(!ei(l))throw new Error("Invalid credentialId leaf");let w=new TextDecoder().decode(l.value);if(!Ls(m)||m.length!==2)throw new Error("Invalid sub-branch for name and createdAt");let[E,v]=m;if(!ei(E)||!ei(v))throw new Error("Invalid metadata leaves");a={credentialId:w};}else if(Ot(c))a=c;else throw new Error("Invalid metadata node")}else {if(!Ot(t))throw new Error("Invalid c bytes");i=R.toBytes(t)[31]===1;}return {requireUserVerification:i,x:r,y:n,metadata:a}}function WV(s){return rr(_8(s))}function JV(s){let e=s.clientDataJSON.indexOf('"challenge"'),t=s.clientDataJSON.indexOf('"type"'),r=s.authenticatorData.length,n=s.clientDataJSON.length;if(r>65535)throw new Error("Authenticator data size is too large");if(n>65535)throw new Error("Client data JSON size is too large");let i=r<=255?1:2,a=n<=255?1:2,o=e<=255?1:2,c=t<=255?1:2,u=0;u|=s.publicKey.requireUserVerification?1:0,u|=i-1<<1,u|=a-1<<2,u|=o-1<<3,u|=c-1<<4,s.embedMetadata&&(u|=64);let l=p.from([u]);if(s.embedMetadata){if(!s.publicKey.metadata)throw new Error("Metadata is not present in the public key");l=p.concat(l,R.toBytes(H8(s.publicKey.metadata)));}return l=p.concat(l,p.padLeft(p.fromNumber(r),i)),l=p.concat(l,s.authenticatorData),l=p.concat(l,p.padLeft(p.fromNumber(s.clientDataJSON.length),a)),l=p.concat(l,p.from(new TextEncoder().encode(s.clientDataJSON))),l=p.concat(l,p.padLeft(p.fromNumber(e),o)),l=p.concat(l,p.padLeft(p.fromNumber(t),c)),l=p.concat(l,p.padLeft(s.r,32)),l=p.concat(l,p.padLeft(s.s,32)),l=p.concat(l,p.fromHex(s.publicKey.x)),l=p.concat(l,p.fromHex(s.publicKey.y)),l}function zV(s,e){return Qn.verify({challenge:s,publicKey:{x:R.toBigInt(e.publicKey.x),y:R.toBigInt(e.publicKey.y),prefix:4},metadata:{authenticatorData:R.fromBytes(e.authenticatorData),challengeIndex:e.clientDataJSON.indexOf('"challenge"'),clientDataJSON:e.clientDataJSON,typeIndex:e.clientDataJSON.indexOf('"type"'),userVerificationRequired:e.publicKey.requireUserVerification},signature:{r:p.toBigInt(e.r),s:p.toBigInt(e.s)}})}function YV(s){let e=0,t=s[0];if(e+=1,t===void 0)throw new Error("Invalid flags");let r=(t&1)!==0,n=(t>>1&1)+1,i=(t>>2&1)+1,a=(t>>3&1)+1,o=(t>>4&1)+1,c=(t>>6&1)===1;if(t&32)throw new Error("Fallback to abi decode is not supported in this implementation");let u;if(c){let B=p.slice(s,e,e+32);u=R.fromBytes(B),e+=32;}let l=p.toNumber(p.slice(s,e,e+n));e+=n;let m=p.slice(s,e,e+l);e+=l;let w=p.toNumber(p.slice(s,e,e+i));e+=i;let E=p.slice(s,e,e+w);e+=w;let v=new TextDecoder().decode(E),A=p.toNumber(p.slice(s,e,e+a));e+=a;let C=p.toNumber(p.slice(s,e,e+o));e+=o;let D=p.slice(s,e,e+32);e+=32;let U=p.slice(s,e,e+32);e+=32;let T=p.slice(s,e,e+32);e+=32;let P=p.slice(s,e,e+32);return {publicKey:{requireUserVerification:r,x:R.fromBytes(T),y:R.fromBytes(P),metadata:u},r:D,s:U,authenticatorData:m,clientDataJSON:v,challengeIndex:A,typeIndex:C,embedMetadata:c}}var AE={};Te(AE,{DOMAIN_NAME:()=>ZV,DOMAIN_VERSION:()=>XV,FLAG_BRANCH:()=>EE,FLAG_NODE:()=>vE,FLAG_RECOVERY_LEAF:()=>SE,QUEUED_PAYLOAD_HASHES:()=>q8,QUEUE_PAYLOAD:()=>M8,TIMESTAMP_FOR_QUEUED_PAYLOAD:()=>$8,TOTAL_QUEUED_PAYLOADS:()=>F8,decodeTopology:()=>QV,encodeCalldata:()=>t9,encodeTopology:()=>yE,fromGenericTree:()=>bE,fromRecoveryLeaves:()=>wE,getRecoveryLeaves:()=>pE,hashConfiguration:()=>mE,hashRecoveryPayload:()=>e9,isBranch:()=>Ga,isRecoveryLeaf:()=>lu,isTree:()=>dE,parseBranch:()=>xE,queuedPayloadHashOf:()=>r9,timestampForQueuedPayload:()=>n9,toGenericTree:()=>i1,totalQueuedPayloads:()=>s9,trimTopology:()=>gE});d();f();var SE=1,vE=3,EE=4,xf=p.fromString(`Sequence recovery leaf:
348
- `),M8=Et.from(["function queuePayload(address _wallet, address _signer, (uint8 kind,bool noChainId,(address to,uint256 value,bytes data,uint256 gasLimit,bool delegateCall,bool onlyFallback,uint256 behaviorOnError)[] calls,uint256 space,uint256 nonce,bytes message,bytes32 imageHash,bytes32 digest,address[] parentWallets) calldata _payload, bytes calldata _signature) external"])[0],$8=Et.from(["function timestampForQueuedPayload(address _wallet, address _signer, bytes32 _payloadHash) external view returns (uint256)"])[0],q8=Et.from(["function queuedPayloadHashes(address _wallet, address _signer, uint256 _index) external view returns (bytes32)"])[0],F8=Et.from(["function totalQueuedPayloads(address _wallet, address _signer) external view returns (uint256)"])[0];function lu(s){return typeof s=="object"&&s!==null&&s.type==="leaf"}function Ga(s){return Array.isArray(s)&&s.length===2&&dE(s[0])&&dE(s[1])}function dE(s){return lu(s)||Ot(s)||Ga(s)}var ZV="Sequence Wallet - Recovery Mode",XV="1";function mE(s){return rr(i1(s))}function pE(s){if(lu(s))return {leaves:[s],isComplete:!0};if(Ot(s))return {leaves:[],isComplete:!1};if(Ga(s)){let t=pE(s[0]),r=pE(s[1]);return {leaves:[...t.leaves,...r.leaves],isComplete:t.isComplete&&r.isComplete}}else throw new Error("Invalid topology")}function QV(s){let{nodes:e,leftover:t}=xE(s);if(t.length>0)throw new Error("Leftover bytes in branch");return K8(e)}function xE(s){if(s.length===0)throw new Error("Empty branch");let e=[],t=0;for(;t<s.length;){let r=s[t];if(r===SE){if(s.length<t+32)throw new Error("Invalid recovery leaf");let n=M.from(R.fromBytes(s.slice(t+1,t+21))),i=p.toBigInt(s.slice(t+21,t+24)),a=p.toBigInt(s.slice(t+24,t+32));e.push({type:"leaf",signer:n,requiredDeltaTime:i,minTimestamp:a}),t+=32;continue}else if(r===vE){if(s.length<t+33)throw new Error("Invalid node");let n=R.fromBytes(s.slice(t+1,t+33));e.push(n),t+=33;continue}else if(r===EE){if(s.length<t+4)throw new Error("Invalid branch");let n=p.toNumber(s.slice(t+1,t+4));if(s.length<t+4+n)throw new Error("Invalid branch");let i=s.slice(t+4,t+4+n),{nodes:a,leftover:o}=xE(i);if(o.length>0)throw new Error("Leftover bytes in sub-branch");let c=K8(a);e.push(c),t+=4+n;continue}else throw new Error("Invalid flag")}return {nodes:e,leftover:s.slice(t)}}function gE(s,e){if(lu(s))return s.signer===e?s:mE(s);if(Ot(s))return s;if(Ga(s)){let t=gE(s[0],e),r=gE(s[1],e);return Ot(t)&&Ot(r)?mE(s):[t,r]}throw new Error("Invalid topology")}function yE(s){if(Ga(s)){let e=yE(s[0]),t=yE(s[1]);if(Ga(s[1])){if(t.length>16777215)throw new Error("Branch too large");let n=p.fromNumber(EE),i=p.padLeft(p.fromNumber(t.length),3);return p.concat(e,n,i,t)}else return p.concat(e,t)}if(Ot(s)){let e=p.fromNumber(vE),t=p.fromHex(s,{size:32});return p.concat(e,t)}if(lu(s)){let e=p.fromNumber(SE),t=p.fromHex(s.signer,{size:20});if(s.requiredDeltaTime>16777215n)throw new Error("Required delta time too large");let r=p.padLeft(p.fromNumber(s.requiredDeltaTime),3);if(s.minTimestamp>18446744073709551615n)throw new Error("Min timestamp too large");let n=p.padLeft(p.fromNumber(s.minTimestamp),8);return p.concat(e,t,r,n)}throw new Error("Invalid topology")}function K8(s){if(s.length===0)throw new Error("Empty signature tree");if(s.length===1)return s[0];let e=s[0];for(let t=1;t<s.length;t++)e=[e,s[t]];return e}function wE(s){if(s.length===0)throw new Error("Cannot build a tree with zero leaves");if(s.length===1)return s[0];let e=Math.floor(s.length/2),t=wE(s.slice(0,e)),r=wE(s.slice(e));return [t,r]}function e9(s,e,t,r){let n=Uv(s);return R.fromBytes(ru(e,r?0:t,n))}function i1(s){if(lu(s))return {type:"leaf",value:p.concat(xf,p.fromHex(s.signer,{size:20}),p.padLeft(p.fromNumber(s.requiredDeltaTime),32),p.padLeft(p.fromNumber(s.minTimestamp),32))};if(Ot(s))return s;if(Ga(s))return [i1(s[0]),i1(s[1])];throw new Error("Invalid topology")}function bE(s){if(ei(s)){let e=s.value;if(e.length!==xf.length+84||!p.isEqual(e.slice(0,xf.length),xf))throw new Error("Invalid recovery leaf format");let t=xf.length,r=M.from(R.fromBytes(e.slice(t,t+20))),n=p.toBigInt(e.slice(t+20,t+52)),i=p.toBigInt(e.slice(t+52,t+84));return {type:"leaf",signer:r,requiredDeltaTime:n,minTimestamp:i}}else {if(Ot(s))return s;if(Ls(s)){if(s.length!==2)throw new Error("Recovery tree only supports binary branches");return [bE(s[0]),bE(s[1])]}else throw new Error("Invalid tree format")}}function t9(s,e,t,r){let n;r.type==="erc1271"?n=r.data:n=p.toHex(tn(r));let i=Hv(e);return de.encodeData(M8,[s,t,i,n])}async function s9(s,e,t,r){let n=await s.request({method:"eth_call",params:[{to:e,data:de.encodeData(F8,[t,r])},"latest"]});return n==="0x"?0n:R.toBigInt(n)}async function r9(s,e,t,r,n){return await s.request({method:"eth_call",params:[{to:e,data:de.encodeData(q8,[t,r,n])},"latest"]})}async function n9(s,e,t,r,n){let i=await s.request({method:"eth_call",params:[{to:e,data:de.encodeData($8,[t,r,n])},"latest"]});return R.toBigInt(i)}var i9={passkeys:"0x8f26281dB84C18aAeEa8a53F94c835393229d296",recovery:"0xd98da48C4FF9c19742eA5856A277424557C863a6",sessions:"0x06aa3a8F781F2be39b888Ac8a639c754aEe9dA29"},a9={passkeys:"0x4491845806B757D67BE05BbD877Cab101B9bee5C",recovery:"0xdED857b9b5142832634129aFfc1D67cD106b927c",sessions:"0x06aa3a8F781F2be39b888Ac8a639c754aEe9dA29"},o9={passkeys:"0x0000000000dc2d96870dc108c5E15570B715DFD2",recovery:"0x0000000000213697bCA95E7373787a40858a51C7",sessions:"0x0000000000CC58810c33F3a0D78aA1Ed80FaDcD8"},c9={passkeys:"0x0000000000005204F3711851EAD52CC9c241499a",recovery:"0x000000000001FC499c3E177DD56Febb0A4bc15b7",sessions:"0x00000000000030Bcc832F7d657f50D6Be35C92b3"},u9={passkeys:"0x0000000000005204F3711851EAD52CC9c241499a",recovery:"0x000000000000AB36D17eB1150116371520565205",sessions:"0x00000000000030Bcc832F7d657f50D6Be35C92b3"};var Wa={};Te(Wa,{ALL:()=>IE,ChainId:()=>Y,NetworkType:()=>Ie,getNetworkFromChainId:()=>h9,getNetworkFromName:()=>l9});d();f();var Ie;(function(s){s.MAINNET="mainnet",s.TESTNET="testnet";})(Ie||(Ie={}));var Y={NONE:0,MAINNET:1,SEPOLIA:11155111,POLYGON:137,POLYGON_ZKEVM:1101,POLYGON_AMOY:80002,BSC:56,BSC_TESTNET:97,OPTIMISM:10,OPTIMISM_SEPOLIA:11155420,ARBITRUM:42161,ARBITRUM_SEPOLIA:421614,ARBITRUM_NOVA:42170,AVALANCHE:43114,AVALANCHE_TESTNET:43113,GNOSIS:100,BASE:8453,BASE_SEPOLIA:84532,HOMEVERSE_TESTNET:40875,HOMEVERSE:19011,XAI:660279,XAI_SEPOLIA:37714555429,TELOS:40,TELOS_TESTNET:41,B3:8333,B3_SEPOLIA:1993,APECHAIN:33139,APECHAIN_TESTNET:33111,BLAST:81457,BLAST_SEPOLIA:168587773,SKALE_NEBULA:1482601649,SKALE_NEBULA_TESTNET:37084624,SONEIUM_MINATO:1946,SONEIUM:1868,TOY_TESTNET:21e6,IMMUTABLE_ZKEVM:13371,IMMUTABLE_ZKEVM_TESTNET:13473,ETHERLINK:42793,ETHERLINK_TESTNET:128123,MOONBEAM:1284,MOONBASE_ALPHA:1287,MONAD:143,MONAD_TESTNET:10143,SOMNIA_TESTNET:50312,SOMNIA:5031,INCENTIV_TESTNET_V2:28802,KATANA:747474,SANDBOX_TESTNET:6252,ARC_TESTNET:5042002},IE=[{chainId:Y.MAINNET,type:Ie.MAINNET,name:"mainnet",title:"Ethereum",rpcUrl:Ce("mainnet"),logoUrl:Ne(Y.MAINNET),blockExplorer:{name:"Etherscan",url:"https://etherscan.io/"},nativeCurrency:{symbol:"ETH",name:"Ether",decimals:18},ensAddress:"0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e"},{chainId:Y.SEPOLIA,type:Ie.TESTNET,name:"sepolia",title:"Sepolia",rpcUrl:Ce("sepolia"),logoUrl:Ne(Y.SEPOLIA),blockExplorer:{name:"Etherscan (Sepolia)",url:"https://sepolia.etherscan.io/"},nativeCurrency:{symbol:"sETH",name:"Sepolia Ether",decimals:18}},{chainId:Y.POLYGON,type:Ie.MAINNET,name:"polygon",title:"Polygon",rpcUrl:Ce("polygon"),logoUrl:Ne(Y.POLYGON),blockExplorer:{name:"Polygonscan",url:"https://polygonscan.com/"},nativeCurrency:{symbol:"POL",name:"POL",decimals:18}},{chainId:Y.POLYGON_AMOY,type:Ie.TESTNET,name:"amoy",title:"Polygon Amoy",rpcUrl:Ce("amoy"),logoUrl:Ne(Y.POLYGON_AMOY),blockExplorer:{name:"OKLink (Amoy)",url:"https://www.oklink.com/amoy/"},nativeCurrency:{symbol:"aPOL",name:"Amoy POL",decimals:18}},{chainId:Y.POLYGON_ZKEVM,type:Ie.MAINNET,name:"polygon-zkevm",title:"Polygon zkEVM",rpcUrl:Ce("polygon-zkevm"),logoUrl:Ne(Y.POLYGON_ZKEVM),blockExplorer:{name:"Polygonscan (zkEVM)",url:"https://zkevm.polygonscan.com/"},nativeCurrency:{symbol:"ETH",name:"Ether",decimals:18}},{chainId:Y.BSC,type:Ie.MAINNET,name:"bsc",title:"BNB Smart Chain",rpcUrl:Ce("bsc"),logoUrl:Ne(Y.BSC),blockExplorer:{name:"BSCScan",url:"https://bscscan.com/"},nativeCurrency:{symbol:"BNB",name:"BNB",decimals:18}},{chainId:Y.BSC_TESTNET,type:Ie.TESTNET,name:"bsc-testnet",title:"BNB Smart Chain Testnet",rpcUrl:Ce("bsc-testnet"),logoUrl:Ne(Y.BSC_TESTNET),blockExplorer:{name:"BSCScan (Testnet)",url:"https://testnet.bscscan.com/"},nativeCurrency:{symbol:"tBNB",name:"Testnet BNB",decimals:18}},{chainId:Y.OPTIMISM,type:Ie.MAINNET,name:"optimism",title:"Optimism",rpcUrl:Ce("optimism"),logoUrl:Ne(Y.OPTIMISM),blockExplorer:{name:"Etherscan (Optimism)",url:"https://optimistic.etherscan.io/"},nativeCurrency:{symbol:"ETH",name:"Ether",decimals:18}},{chainId:Y.OPTIMISM_SEPOLIA,type:Ie.TESTNET,name:"optimism-sepolia",title:"Optimism Sepolia",rpcUrl:Ce("optimism-sepolia"),logoUrl:Ne(Y.OPTIMISM_SEPOLIA),blockExplorer:{name:"Etherscan (Optimism Sepolia)",url:"https://sepolia-optimistic.etherscan.io/"},nativeCurrency:{symbol:"sETH",name:"Sepolia Ether",decimals:18}},{chainId:Y.ARBITRUM,type:Ie.MAINNET,name:"arbitrum",title:"Arbitrum One",rpcUrl:Ce("arbitrum"),logoUrl:Ne(Y.ARBITRUM),blockExplorer:{name:"Arbiscan",url:"https://arbiscan.io/"},nativeCurrency:{symbol:"ETH",name:"Ether",decimals:18}},{chainId:Y.ARBITRUM_SEPOLIA,type:Ie.TESTNET,name:"arbitrum-sepolia",title:"Arbitrum Sepolia",rpcUrl:Ce("arbitrum-sepolia"),logoUrl:Ne(Y.ARBITRUM_SEPOLIA),blockExplorer:{name:"Arbiscan (Sepolia Testnet)",url:"https://sepolia.arbiscan.io/"},nativeCurrency:{symbol:"sETH",name:"Sepolia Ether",decimals:18}},{chainId:Y.ARBITRUM_NOVA,type:Ie.MAINNET,name:"arbitrum-nova",title:"Arbitrum Nova",rpcUrl:Ce("arbitrum-nova"),logoUrl:Ne(Y.ARBITRUM_NOVA),blockExplorer:{name:"Arbiscan Nova",url:"https://nova.arbiscan.io/"},nativeCurrency:{symbol:"ETH",name:"Ether",decimals:18}},{chainId:Y.AVALANCHE,type:Ie.MAINNET,name:"avalanche",title:"Avalanche",rpcUrl:Ce("avalanche"),logoUrl:Ne(Y.AVALANCHE),blockExplorer:{name:"Snowtrace",url:"https://subnets.avax.network/c-chain/"},nativeCurrency:{symbol:"AVAX",name:"AVAX",decimals:18}},{chainId:Y.AVALANCHE_TESTNET,type:Ie.TESTNET,name:"avalanche-testnet",title:"Avalanche Testnet",rpcUrl:Ce("avalanche-testnet"),logoUrl:Ne(Y.AVALANCHE_TESTNET),blockExplorer:{name:"Snowtrace (Testnet)",url:"https://subnets-test.avax.network/c-chain/"},nativeCurrency:{symbol:"tAVAX",name:"Testnet AVAX",decimals:18}},{chainId:Y.GNOSIS,type:Ie.MAINNET,name:"gnosis",title:"Gnosis Chain",rpcUrl:Ce("gnosis"),logoUrl:Ne(Y.GNOSIS),blockExplorer:{name:"Gnosis Chain Explorer",url:"https://blockscout.com/xdai/mainnet/"},nativeCurrency:{symbol:"XDAI",name:"XDAI",decimals:18}},{chainId:Y.BASE,type:Ie.MAINNET,name:"base",title:"Base (Coinbase)",rpcUrl:Ce("base"),logoUrl:Ne(Y.BASE),blockExplorer:{name:"Base Explorer",url:"https://basescan.org/"},nativeCurrency:{symbol:"ETH",name:"Ether",decimals:18}},{chainId:Y.BASE_SEPOLIA,type:Ie.TESTNET,name:"base-sepolia",title:"Base Sepolia",rpcUrl:Ce("base-sepolia"),logoUrl:Ne(Y.BASE_SEPOLIA),blockExplorer:{name:"Base Sepolia Explorer",url:"https://base-sepolia.blockscout.com/"},nativeCurrency:{symbol:"sETH",name:"Sepolia Ether",decimals:18}},{chainId:Y.HOMEVERSE,type:Ie.MAINNET,name:"homeverse",title:"Oasys Homeverse",rpcUrl:Ce("homeverse"),logoUrl:Ne(Y.HOMEVERSE),blockExplorer:{name:"Oasys Homeverse Explorer",url:"https://explorer.oasys.homeverse.games/"},nativeCurrency:{symbol:"OAS",name:"OAS",decimals:18}},{chainId:Y.HOMEVERSE_TESTNET,type:Ie.TESTNET,name:"homeverse-testnet",title:"Oasys Homeverse Testnet",rpcUrl:Ce("homeverse-testnet"),logoUrl:Ne(Y.HOMEVERSE_TESTNET),blockExplorer:{name:"Oasys Homeverse Explorer (Testnet)",url:"https://explorer.testnet.oasys.homeverse.games/"},nativeCurrency:{symbol:"tOAS",name:"Testnet OAS",decimals:18}},{chainId:Y.XAI,type:Ie.MAINNET,name:"xai",title:"Xai",rpcUrl:Ce("xai"),logoUrl:Ne(Y.XAI),blockExplorer:{name:"Xai Explorer",url:"https://explorer.xai-chain.net/"},nativeCurrency:{symbol:"XAI",name:"XAI",decimals:18}},{chainId:Y.XAI_SEPOLIA,type:Ie.TESTNET,name:"xai-sepolia",title:"Xai Sepolia",rpcUrl:Ce("xai-sepolia"),logoUrl:Ne(Y.XAI_SEPOLIA),blockExplorer:{name:"Xai Sepolia Explorer",url:"https://testnet-explorer-v2.xai-chain.net/"},nativeCurrency:{symbol:"sXAI",name:"Sepolia XAI",decimals:18}},{chainId:Y.B3,type:Ie.MAINNET,name:"b3",title:"B3",rpcUrl:Ce("b3"),logoUrl:Ne(Y.B3),blockExplorer:{name:"B3 Explorer",url:"https://explorer.b3.fun/"},nativeCurrency:{symbol:"ETH",name:"Ether",decimals:18}},{chainId:Y.B3_SEPOLIA,type:Ie.TESTNET,name:"b3-sepolia",title:"B3 Sepolia",rpcUrl:Ce("b3-sepolia"),logoUrl:Ne(Y.B3_SEPOLIA),blockExplorer:{name:"B3 Sepolia Explorer",url:"https://sepolia.explorer.b3.fun/"},nativeCurrency:{symbol:"ETH",name:"Ether",decimals:18}},{chainId:Y.APECHAIN,type:Ie.MAINNET,name:"apechain",title:"APE Chain",rpcUrl:Ce("apechain"),logoUrl:Ne(Y.APECHAIN),blockExplorer:{name:"APE Chain Explorer",url:"https://apechain.calderaexplorer.xyz/"},nativeCurrency:{symbol:"APE",name:"ApeCoin",decimals:18}},{chainId:Y.APECHAIN_TESTNET,type:Ie.TESTNET,name:"apechain-testnet",title:"APE Chain Testnet",rpcUrl:Ce("apechain-testnet"),logoUrl:Ne(Y.APECHAIN_TESTNET),blockExplorer:{name:"APE Chain Explorer",url:"https://curtis.explorer.caldera.xyz/"},nativeCurrency:{symbol:"APE",name:"ApeCoin",decimals:18}},{chainId:Y.BLAST,type:Ie.MAINNET,name:"blast",title:"Blast",rpcUrl:Ce("blast"),logoUrl:Ne(Y.BLAST),blockExplorer:{name:"Blast Explorer",url:"https://blastscan.io/"},nativeCurrency:{symbol:"ETH",name:"Ether",decimals:18}},{chainId:Y.BLAST_SEPOLIA,type:Ie.TESTNET,name:"blast-sepolia",title:"Blast Sepolia",rpcUrl:Ce("blast-sepolia"),logoUrl:Ne(Y.BLAST_SEPOLIA),blockExplorer:{name:"Blast Sepolia Explorer",url:"https://sepolia.blastexplorer.io/"},nativeCurrency:{symbol:"ETH",name:"Ether",decimals:18}},{chainId:Y.TELOS,type:Ie.MAINNET,name:"telos",title:"Telos",rpcUrl:Ce("telos"),logoUrl:Ne(Y.TELOS),blockExplorer:{name:"Telos Explorer",url:"https://explorer.telos.net/network/"},nativeCurrency:{symbol:"TLOS",name:"TLOS",decimals:18}},{chainId:Y.TELOS_TESTNET,type:Ie.TESTNET,name:"telos-testnet",title:"Telos Testnet",rpcUrl:Ce("telos-testnet"),logoUrl:Ne(Y.TELOS_TESTNET),blockExplorer:{name:"Telos Testnet Explorer",url:"https://explorer-test.telos.net/network"},nativeCurrency:{symbol:"TLOS",name:"TLOS",decimals:18}},{chainId:Y.SKALE_NEBULA,type:Ie.MAINNET,name:"skale-nebula",title:"SKALE Nebula Gaming Hub",rpcUrl:Ce("skale-nebula"),logoUrl:Ne(Y.SKALE_NEBULA),blockExplorer:{name:"SKALE Nebula Gaming Hub Explorer",url:"https://green-giddy-denebola.explorer.mainnet.skalenodes.com/"},nativeCurrency:{symbol:"sFUEL",name:"SKALE Fuel",decimals:18}},{chainId:Y.SKALE_NEBULA_TESTNET,type:Ie.TESTNET,name:"skale-nebula-testnet",title:"SKALE Nebula Gaming Hub Testnet",rpcUrl:Ce("skale-nebula-testnet"),logoUrl:Ne(Y.SKALE_NEBULA_TESTNET),blockExplorer:{name:"SKALE Nebula Gaming Hub Testnet Explorer",url:"https://lanky-ill-funny-testnet.explorer.testnet.skalenodes.com/"},nativeCurrency:{symbol:"sFUEL",name:"SKALE Fuel",decimals:18}},{chainId:Y.SONEIUM,type:Ie.MAINNET,name:"soneium",title:"Soneium",rpcUrl:Ce("soneium"),logoUrl:Ne(Y.SONEIUM),blockExplorer:{name:"Soneium Explorer",url:"https://soneium.blockscout.com/"},nativeCurrency:{symbol:"ETH",name:"Ether",decimals:18}},{chainId:Y.SONEIUM_MINATO,type:Ie.TESTNET,name:"soneium-minato",title:"Soneium Minato (Testnet)",rpcUrl:Ce("soneium-minato"),logoUrl:Ne(Y.SONEIUM_MINATO),blockExplorer:{name:"Soneium Minato Explorer",url:"https://explorer-testnet.soneium.org/"},nativeCurrency:{symbol:"ETH",name:"Ether",decimals:18}},{chainId:Y.TOY_TESTNET,type:Ie.TESTNET,name:"toy-testnet",title:"TOY (Testnet)",rpcUrl:Ce("toy-testnet"),logoUrl:Ne(Y.TOY_TESTNET),blockExplorer:{name:"TOY Testnet Explorer",url:"https://toy-chain-testnet.explorer.caldera.xyz/"},nativeCurrency:{symbol:"TOY",name:"TOY",decimals:18}},{chainId:Y.IMMUTABLE_ZKEVM,type:Ie.MAINNET,name:"immutable-zkevm",title:"Immutable zkEVM",rpcUrl:Ce("immutable-zkevm"),logoUrl:Ne(Y.IMMUTABLE_ZKEVM),blockExplorer:{name:"Immutable zkEVM Explorer",url:"https://explorer.immutable.com/"},nativeCurrency:{symbol:"IMX",name:"IMX",decimals:18}},{chainId:Y.IMMUTABLE_ZKEVM_TESTNET,type:Ie.TESTNET,name:"immutable-zkevm-testnet",title:"Immutable zkEVM Testnet",rpcUrl:Ce("immutable-zkevm-testnet"),logoUrl:Ne(Y.IMMUTABLE_ZKEVM_TESTNET),blockExplorer:{name:"Immutable zkEVM Testnet Explorer",url:"https://explorer.testnet.immutable.com/"},nativeCurrency:{symbol:"IMX",name:"IMX",decimals:18}},{chainId:Y.MOONBEAM,type:Ie.MAINNET,name:"moonbeam",title:"Moonbeam",rpcUrl:Ce("moonbeam"),logoUrl:Ne(Y.MOONBEAM),blockExplorer:{name:"Moonscan",url:"https://moonscan.io/"},nativeCurrency:{symbol:"GLMR",name:"GLMR",decimals:18}},{chainId:Y.MOONBASE_ALPHA,type:Ie.TESTNET,name:"moonbase-alpha",title:"Moonbase Alpha",rpcUrl:Ce("moonbase-alpha"),logoUrl:Ne(Y.MOONBASE_ALPHA),blockExplorer:{name:"Moonscan (Moonbase Alpha)",url:"https://moonbase.moonscan.io/"},nativeCurrency:{symbol:"GLMR",name:"GLMR",decimals:18}},{chainId:Y.ETHERLINK,type:Ie.MAINNET,name:"etherlink",title:"Etherlink",rpcUrl:Ce("etherlink"),logoUrl:Ne(Y.ETHERLINK),blockExplorer:{name:"Etherlink Explorer",url:"https://explorer.etherlink.com/"},nativeCurrency:{symbol:"XTZ",name:"Tez",decimals:18}},{chainId:Y.ETHERLINK_TESTNET,type:Ie.TESTNET,name:"etherlink-testnet",title:"Etherlink Testnet",rpcUrl:Ce("etherlink-testnet"),logoUrl:Ne(Y.ETHERLINK_TESTNET),blockExplorer:{name:"Etherlink Testnet Explorer",url:"https://testnet.explorer.etherlink.com/"},nativeCurrency:{symbol:"XTZ",name:"Tez",decimals:18}},{chainId:Y.MONAD,type:Ie.MAINNET,name:"monad",title:"Monad",rpcUrl:Ce("monad"),logoUrl:Ne(Y.MONAD),blockExplorer:{name:"Monad Explorer",url:"https://mainnet-beta.monvision.io/"},nativeCurrency:{symbol:"MON",name:"MON",decimals:18}},{chainId:Y.MONAD_TESTNET,type:Ie.TESTNET,name:"monad-testnet",title:"Monad Testnet",rpcUrl:Ce("monad-testnet"),logoUrl:Ne(Y.MONAD_TESTNET),blockExplorer:{name:"Monad Testnet Explorer",url:"https://testnet.monadexplorer.com/"},nativeCurrency:{symbol:"MON",name:"MON",decimals:18}},{chainId:Y.SOMNIA,type:Ie.MAINNET,name:"somnia",title:"Somnia",rpcUrl:Ce("somnia"),logoUrl:Ne(Y.SOMNIA),blockExplorer:{name:"Somnia Explorer",url:"https://mainnet.somnia.w3us.site/"},nativeCurrency:{symbol:"SOMI",name:"SOMI",decimals:18}},{chainId:Y.SOMNIA_TESTNET,type:Ie.TESTNET,name:"somnia-testnet",title:"Somnia Testnet",rpcUrl:Ce("somnia-testnet"),logoUrl:Ne(Y.SOMNIA_TESTNET),blockExplorer:{name:"Somnia Testnet Explorer",url:"https://somnia-testnet.socialscan.io/"},nativeCurrency:{symbol:"STT",name:"STT",decimals:18}},{chainId:Y.INCENTIV_TESTNET_V2,type:Ie.TESTNET,name:"incentiv-testnet-v2",title:"Incentiv Testnet",rpcUrl:Ce("incentiv-testnet-v2"),logoUrl:Ne(Y.INCENTIV_TESTNET_V2),blockExplorer:{name:"Incentiv Testnet Explorer",url:"https://explorer.testnet.incentiv.net/"},nativeCurrency:{symbol:"TCENT",name:"TCENT",decimals:18}},{chainId:Y.KATANA,type:Ie.MAINNET,name:"katana",title:"Katana",rpcUrl:Ce("katana"),logoUrl:Ne(Y.KATANA),blockExplorer:{name:"Katana Explorer",url:"https://katanascan.com/"},nativeCurrency:{symbol:"ETH",name:"ETH",decimals:18}},{chainId:Y.SANDBOX_TESTNET,type:Ie.TESTNET,name:"sandbox-testnet",title:"Sandbox Testnet",rpcUrl:Ce("sandbox-testnet"),logoUrl:Ne(Y.SANDBOX_TESTNET),blockExplorer:{name:"Sandbox Testnet Explorer",url:"https://sandbox-testnet.explorer.caldera.xyz/"},nativeCurrency:{symbol:"SAND",name:"SAND",decimals:18}},{chainId:Y.ARC_TESTNET,type:Ie.TESTNET,name:"arc-testnet",title:"Arc Testnet",rpcUrl:Ce("arc-testnet"),logoUrl:Ne(Y.ARC_TESTNET),blockExplorer:{name:"Arc Testnet Explorer",url:"https://1jr2dw1zdqvyes8u.blockscout.com/"},nativeCurrency:{symbol:"USDC",name:"USDC",decimals:6}}];function Ce(s){return `https://nodes.sequence.app/${s}`}function Ne(s){return `https://assets.sequence.info/images/networks/medium/${s}.webp`}function l9(s){return IE.find(e=>e.name===s)}function h9(s){return IE.find(e=>e.chainId===Number(s))}d();f();d();f();d();f();var G8="$";function W8(s,e){var t="",r=e&&e.include,n=e&&e.exclude;n&&typeof n=="string"&&(n=[n]),r&&r.sort();var i=new WeakMap,a=e&&e.allowCircular,o=e&&e.filterUndefined,c=e&&e.undefinedInArrayToNull;return u(s,G8),t;function u(l,m){if(l===null||typeof l!="object"||l.toJSON!=null)t+=JSON.stringify(l);else if(Array.isArray(l)){var w=i.get(l);if(w!==void 0&&m.startsWith(w)){if(!a)throw new Error("Circular reference detected");t+='"[Circular:'+w+']"';return}i.set(l,m),t+="[";var E=!1;l.forEach(function(D,U){E&&(t+=","),E=!0,c&&D===void 0&&(D=null),u(D,m+"["+U+"]");}),t+="]";}else {var w=i.get(l);if(w!==void 0&&m.startsWith(w)){if(!a)throw new Error("Circular reference detected");t+='"[Circular:'+w+']"';return}i.set(l,m),t+="{";var v=!1,A=function(U){n&&n.includes(U)||(v&&(t+=","),v=!0,t+=JSON.stringify(U),t+=":",u(l[U],m+"."+U));};if(m===G8&&r)r.forEach(function(U){l.hasOwnProperty(U)&&A(U);});else {var C=Object.keys(l);o&&(C=C.filter(function(U){return l[U]!==void 0})),C.sort(),C.forEach(function(U){A(U);});}t+="}";}}}function a1(s,e){return W8(s,{allowCircular:e,filterUndefined:!0,undefinedInArrayToNull:!0})}d();f();var f9="Webrpc",d9="webrpc@v0.23.1;gen-typescript@v0.16.3;identity-instrument@v0.1.0";var Nr;(function(s){s.WebCrypto_Secp256r1="WebCrypto_Secp256r1",s.Ethereum_Secp256k1="Ethereum_Secp256k1";})(Nr||(Nr={}));var rn;(function(s){s.Email="Email",s.OIDC="OIDC";})(rn||(rn={}));var fu;(function(s){s.OTP="OTP",s.IDToken="IDToken",s.AccessToken="AccessToken",s.AuthCode="AuthCode",s.AuthCodePKCE="AuthCodePKCE";})(fu||(fu={}));var o1=class{hostname;fetch;path="/rpc/IdentityInstrument/";constructor(e,t){this.hostname=e.replace(/\/*$/,""),this.fetch=(r,n)=>t(r,n);}url(e){return this.hostname+this.path+e}commitVerifier=(e,t,r)=>this.fetch(this.url("CommitVerifier"),CE(e,t,r)).then(n=>NE(n).then(i=>({verifier:i.verifier,loginHint:i.loginHint,challenge:i.challenge})),n=>{throw hu.new({cause:`fetch(): ${n.message||""}`})});completeAuth=(e,t,r)=>this.fetch(this.url("CompleteAuth"),CE(e,t,r)).then(n=>NE(n).then(i=>({signer:i.signer,identity:i.identity})),n=>{throw hu.new({cause:`fetch(): ${n.message||""}`})});sign=(e,t,r)=>this.fetch(this.url("Sign"),CE(e,t,r)).then(n=>NE(n).then(i=>({signature:i.signature})),n=>{throw hu.new({cause:`fetch(): ${n.message||""}`})})},CE=(s={},e={},t=null)=>{let r={...e,"Content-Type":"application/json"};return r[f9]=d9,{method:"POST",headers:r,body:JSON.stringify(s||{}),signal:t}},NE=s=>s.text().then(e=>{let t;try{t=JSON.parse(e);}catch(r){let n="";throw r instanceof Error&&(n=r.message),c1.new({status:s.status,cause:`JSON.parse(): ${n}: response text: ${e}`})}if(!s.ok){let r=typeof t.code=="number"?t.code:0;throw (m9[r]||Qe).new(t)}return t}),Qe=class s extends Error{name;code;message;status;cause;msg;constructor(e,t,r,n,i){super(r),this.name=e||"WebrpcError",this.code=typeof t=="number"?t:0,this.message=r||`endpoint error ${this.code}`,this.msg=this.message,this.status=typeof n=="number"?n:0,this.cause=i,Object.setPrototypeOf(this,s.prototype);}static new(e){return new this(e.error,e.code,e.message||e.msg,e.status,e.cause)}},kE=class s extends Qe{constructor(e="WebrpcEndpoint",t=0,r="endpoint error",n=0,i){super(e,t,r,n,i),Object.setPrototypeOf(this,s.prototype);}},hu=class s extends Qe{constructor(e="WebrpcRequestFailed",t=-1,r="request failed",n=0,i){super(e,t,r,n,i),Object.setPrototypeOf(this,s.prototype);}},PE=class s extends Qe{constructor(e="WebrpcBadRoute",t=-2,r="bad route",n=0,i){super(e,t,r,n,i),Object.setPrototypeOf(this,s.prototype);}},TE=class s extends Qe{constructor(e="WebrpcBadMethod",t=-3,r="bad method",n=0,i){super(e,t,r,n,i),Object.setPrototypeOf(this,s.prototype);}},BE=class s extends Qe{constructor(e="WebrpcBadRequest",t=-4,r="bad request",n=0,i){super(e,t,r,n,i),Object.setPrototypeOf(this,s.prototype);}},c1=class s extends Qe{constructor(e="WebrpcBadResponse",t=-5,r="bad response",n=0,i){super(e,t,r,n,i),Object.setPrototypeOf(this,s.prototype);}},OE=class s extends Qe{constructor(e="WebrpcServerPanic",t=-6,r="server panic",n=0,i){super(e,t,r,n,i),Object.setPrototypeOf(this,s.prototype);}},RE=class s extends Qe{constructor(e="WebrpcInternalError",t=-7,r="internal error",n=0,i){super(e,t,r,n,i),Object.setPrototypeOf(this,s.prototype);}},VE=class s extends Qe{constructor(e="WebrpcClientDisconnected",t=-8,r="client disconnected",n=0,i){super(e,t,r,n,i),Object.setPrototypeOf(this,s.prototype);}},DE=class s extends Qe{constructor(e="WebrpcStreamLost",t=-9,r="stream lost",n=0,i){super(e,t,r,n,i),Object.setPrototypeOf(this,s.prototype);}},UE=class s extends Qe{constructor(e="WebrpcStreamFinished",t=-10,r="stream finished",n=0,i){super(e,t,r,n,i),Object.setPrototypeOf(this,s.prototype);}},LE=class s extends Qe{constructor(e="InternalError",t=7100,r="Internal error",n=0,i){super(e,t,r,n,i),Object.setPrototypeOf(this,s.prototype);}},jE=class s extends Qe{constructor(e="EncryptionError",t=7101,r="Encryption error",n=0,i){super(e,t,r,n,i),Object.setPrototypeOf(this,s.prototype);}},HE=class s extends Qe{constructor(e="DatabaseError",t=7102,r="Database error",n=0,i){super(e,t,r,n,i),Object.setPrototypeOf(this,s.prototype);}},_E=class s extends Qe{constructor(e="DataIntegrityError",t=7103,r="Data integrity error",n=0,i){super(e,t,r,n,i),Object.setPrototypeOf(this,s.prototype);}},ME=class s extends Qe{constructor(e="IdentityProviderError",t=7104,r="Identity provider error",n=0,i){super(e,t,r,n,i),Object.setPrototypeOf(this,s.prototype);}},$E=class s extends Qe{constructor(e="InvalidRequest",t=7200,r="The request was invalid",n=0,i){super(e,t,r,n,i),Object.setPrototypeOf(this,s.prototype);}},qE=class s extends Qe{constructor(e="InvalidSignature",t=7201,r="The signature was invalid",n=0,i){super(e,t,r,n,i),Object.setPrototypeOf(this,s.prototype);}},FE=class s extends Qe{constructor(e="KeyNotFound",t=7202,r="The authentication key was not found",n=0,i){super(e,t,r,n,i),Object.setPrototypeOf(this,s.prototype);}},KE=class s extends Qe{constructor(e="KeyExpired",t=7203,r="The authentication key expired",n=0,i){super(e,t,r,n,i),Object.setPrototypeOf(this,s.prototype);}},GE=class s extends Qe{constructor(e="SignerNotFound",t=7204,r="The signer was not found",n=0,i){super(e,t,r,n,i),Object.setPrototypeOf(this,s.prototype);}},WE=class s extends Qe{constructor(e="ProofVerificationFailed",t=7002,r="The authentication proof could not be verified",n=0,i){super(e,t,r,n,i),Object.setPrototypeOf(this,s.prototype);}},JE=class s extends Qe{constructor(e="AnswerIncorrect",t=7003,r="The provided answer is incorrect",n=0,i){super(e,t,r,n,i),Object.setPrototypeOf(this,s.prototype);}},zE=class s extends Qe{constructor(e="ChallengeExpired",t=7004,r="The challenge has expired",n=0,i){super(e,t,r,n,i),Object.setPrototypeOf(this,s.prototype);}},YE=class s extends Qe{constructor(e="TooManyAttempts",t=7005,r="Too many attempts",n=0,i){super(e,t,r,n,i),Object.setPrototypeOf(this,s.prototype);}},ZE=class s extends Qe{constructor(e="OAuthError",t=7006,r="Failed to exchange OAuth credentials",n=0,i){super(e,t,r,n,i),Object.setPrototypeOf(this,s.prototype);}},XE=class s extends Qe{constructor(e="AccessError",t=7007,r="Access error",n=0,i){super(e,t,r,n,i),Object.setPrototypeOf(this,s.prototype);}},J8;(function(s){s.WebrpcEndpoint="WebrpcEndpoint",s.WebrpcRequestFailed="WebrpcRequestFailed",s.WebrpcBadRoute="WebrpcBadRoute",s.WebrpcBadMethod="WebrpcBadMethod",s.WebrpcBadRequest="WebrpcBadRequest",s.WebrpcBadResponse="WebrpcBadResponse",s.WebrpcServerPanic="WebrpcServerPanic",s.WebrpcInternalError="WebrpcInternalError",s.WebrpcClientDisconnected="WebrpcClientDisconnected",s.WebrpcStreamLost="WebrpcStreamLost",s.WebrpcStreamFinished="WebrpcStreamFinished",s.InternalError="InternalError",s.EncryptionError="EncryptionError",s.DatabaseError="DatabaseError",s.DataIntegrityError="DataIntegrityError",s.IdentityProviderError="IdentityProviderError",s.InvalidRequest="InvalidRequest",s.InvalidSignature="InvalidSignature",s.KeyNotFound="KeyNotFound",s.KeyExpired="KeyExpired",s.SignerNotFound="SignerNotFound",s.ProofVerificationFailed="ProofVerificationFailed",s.AnswerIncorrect="AnswerIncorrect",s.ChallengeExpired="ChallengeExpired",s.TooManyAttempts="TooManyAttempts",s.OAuthError="OAuthError",s.AccessError="AccessError";})(J8||(J8={}));var z8;(function(s){s[s.WebrpcEndpoint=0]="WebrpcEndpoint",s[s.WebrpcRequestFailed=-1]="WebrpcRequestFailed",s[s.WebrpcBadRoute=-2]="WebrpcBadRoute",s[s.WebrpcBadMethod=-3]="WebrpcBadMethod",s[s.WebrpcBadRequest=-4]="WebrpcBadRequest",s[s.WebrpcBadResponse=-5]="WebrpcBadResponse",s[s.WebrpcServerPanic=-6]="WebrpcServerPanic",s[s.WebrpcInternalError=-7]="WebrpcInternalError",s[s.WebrpcClientDisconnected=-8]="WebrpcClientDisconnected",s[s.WebrpcStreamLost=-9]="WebrpcStreamLost",s[s.WebrpcStreamFinished=-10]="WebrpcStreamFinished",s[s.InternalError=7100]="InternalError",s[s.EncryptionError=7101]="EncryptionError",s[s.DatabaseError=7102]="DatabaseError",s[s.DataIntegrityError=7103]="DataIntegrityError",s[s.IdentityProviderError=7104]="IdentityProviderError",s[s.InvalidRequest=7200]="InvalidRequest",s[s.InvalidSignature=7201]="InvalidSignature",s[s.KeyNotFound=7202]="KeyNotFound",s[s.KeyExpired=7203]="KeyExpired",s[s.SignerNotFound=7204]="SignerNotFound",s[s.ProofVerificationFailed=7002]="ProofVerificationFailed",s[s.AnswerIncorrect=7003]="AnswerIncorrect",s[s.ChallengeExpired=7004]="ChallengeExpired",s[s.TooManyAttempts=7005]="TooManyAttempts",s[s.OAuthError=7006]="OAuthError",s[s.AccessError=7007]="AccessError";})(z8||(z8={}));var m9={0:kE,[-1]:hu,[-2]:PE,[-3]:TE,[-4]:BE,[-5]:c1,[-6]:OE,[-7]:RE,[-8]:VE,[-9]:DE,[-10]:UE,7100:LE,7101:jE,7102:HE,7103:_E,7104:ME,7200:$E,7201:qE,7202:FE,7203:KE,7204:GE,7002:WE,7003:JE,7004:zE,7005:YE,7006:ZE,7007:XE};d();f();d();f();var Ja=class extends Error{};Ja.prototype.name="InvalidTokenError";function p9(s){return decodeURIComponent(atob(s).replace(/(.)/g,(e,t)=>{let r=t.charCodeAt(0).toString(16).toUpperCase();return r.length<2&&(r="0"+r),"%"+r}))}function g9(s){let e=s.replace(/-/g,"+").replace(/_/g,"/");switch(e.length%4){case 0:break;case 2:e+="==";break;case 3:e+="=";break;default:throw new Error("base64 string is not of the correct length")}try{return p9(e)}catch{return atob(e)}}function Z8(s,e){if(typeof s!="string")throw new Ja("Invalid token specified: must be a string");e||(e={});let t=e.header===!0?0:1,r=s.split(".")[t];if(typeof r!="string")throw new Ja(`Invalid token specified: missing part #${t+1}`);let n;try{n=g9(r);}catch(i){throw new Ja(`Invalid token specified: invalid base64 for part #${t+1} (${i.message})`)}try{return JSON.parse(n)}catch(i){throw new Ja(`Invalid token specified: invalid json for part #${t+1} (${i.message})`)}}var QE=class{},u1=class extends QE{issuer;audience;idToken;handle="";exp="";constructor(e,t,r){super(),this.issuer=e,this.audience=t,this.idToken=r;let n=Z8(this.idToken),i=ye.keccak256(new TextEncoder().encode(this.idToken));this.handle=R.fromBytes(i),this.exp=n.exp?.toString()??"";}getCommitParams(){return {authMode:fu.IDToken,identityType:rn.OIDC,handle:this.handle,metadata:{iss:this.issuer,aud:this.audience,exp:this.exp}}}getCompleteParams(){return {authMode:fu.IDToken,identityType:rn.OIDC,verifier:this.handle,answer:this.idToken}}};var Af=class{scope;rpc;constructor(e,t,r=window.fetch){this.rpc=new o1(e.endsWith("/")?e.slice(0,-1):e,r),this.scope=t;}async commitVerifier(e,t){let r={...t.getCommitParams(),scope:this.scope},n=await e.sign(p.fromString(a1(r)));return this.rpc.commitVerifier({params:r,authKey:{address:e.address,keyType:e.keyType},signature:n})}async completeAuth(e,t){let r={...t.getCompleteParams(),signerType:Nr.Ethereum_Secp256k1,scope:this.scope},n=await e.sign(p.fromString(a1(r)));return this.rpc.completeAuth({params:r,authKey:{address:e.address,keyType:e.keyType},signature:n})}async sign(e,t){let r={scope:this.scope,signer:{address:e.signer,keyType:Nr.Ethereum_Secp256k1},digest:R.fromBytes(t),nonce:R.fromNumber(Date.now())},n=await this.rpc.sign({params:r,authKey:{address:e.address,keyType:e.keyType},signature:await e.sign(p.fromString(a1(r)))});return R.assert(n.signature),n.signature}};function ex(s){return {address:s.address,keyType:Nr.WebCrypto_Secp256r1,signer:s.identitySigner,async sign(e){let t=await window.crypto.subtle.sign({name:"ECDSA",hash:"SHA-256"},s.privateKey,new Uint8Array(e));return R.fromBytes(new Uint8Array(t))}}}var l1=class{identityInstrument;authKey;constructor(e,t){this.identityInstrument=e,this.authKey=t;}get address(){if(!M.validate(this.authKey.identitySigner))throw new Error("No signer address found");return M.checksum(this.authKey.identitySigner)}async sign(e,t,r){let n=we.hash(e,t,r);return this.signDigest(n)}async signDigest(e){let t=await this.identityInstrument.sign(ex(this.authKey),e);return {type:"hash",...$t.fromHex(t)}}async witness(e,t,r){let n=we.fromMessage(R.fromString(JSON.stringify({action:"consent-to-be-part-of-wallet",wallet:t,signer:this.address,timestamp:Date.now(),...r}))),i=await this.sign(t,0,n);await e.saveWitnesses(t,0,n,{type:"unrecovered-signer",weight:1n,signature:i});}};d();f();d();f();d();f();d();f();d();f();function X8(s){return typeof s=="object"&&"signature"in s&&"imageHash"in s}var du={};Te(du,{Cached:()=>Sx,Local:()=>yx,Remote:()=>bx,Sequence:()=>Tf,getWalletsFor:()=>I9,multiplex:()=>L9,normalizeAddressKeys:()=>kr});d();f();var yx={};Te(yx,{IndexedDbStore:()=>px,MemoryStore:()=>Cf,Provider:()=>gx});d();f();d();f();var Cf=class{configs=new Map;counterfactualWallets=new Map;payloads=new Map;signerSubdigests=new Map;signatures=new Map;sapientSignerSubdigests=new Map;sapientSignatures=new Map;trees=new Map;deepCopy(e){if(typeof structuredClone=="function")return structuredClone(e);if(e===null||typeof e!="object")return e;if(e instanceof Date)return new Date(e.getTime());if(Array.isArray(e))return e.map(r=>this.deepCopy(r));if(e instanceof Map)return new Map(Array.from(e,([r,n])=>[this.deepCopy(r),this.deepCopy(n)]));if(e instanceof Set)return new Set(Array.from(e,r=>this.deepCopy(r)));let t={};for(let[r,n]of Object.entries(e))t[r]=this.deepCopy(n);return t}getSignatureKey(e,t){return `${e.toLowerCase()}-${t.toLowerCase()}`}getSapientSignatureKey(e,t,r){return `${e.toLowerCase()}-${r.toLowerCase()}-${t.toLowerCase()}`}async loadConfig(e){let t=this.configs.get(e.toLowerCase());return t?this.deepCopy(t):void 0}async saveConfig(e,t){this.configs.set(e.toLowerCase(),this.deepCopy(t));}async loadCounterfactualWallet(e){let t=this.counterfactualWallets.get(e.toLowerCase());return t?this.deepCopy(t):void 0}async saveCounterfactualWallet(e,t,r){this.counterfactualWallets.set(e.toLowerCase(),this.deepCopy({imageHash:t,context:r}));}async loadPayloadOfSubdigest(e){let t=this.payloads.get(e.toLowerCase());return t?this.deepCopy(t):void 0}async savePayloadOfSubdigest(e,t){this.payloads.set(e.toLowerCase(),this.deepCopy(t));}async loadSubdigestsOfSigner(e){let t=this.signerSubdigests.get(e.toLowerCase());return t?Array.from(t).map(r=>r):[]}async loadSignatureOfSubdigest(e,t){let r=this.getSignatureKey(e,t),n=this.signatures.get(r);return n?this.deepCopy(n):void 0}async saveSignatureOfSubdigest(e,t,r){let n=this.getSignatureKey(e,t);this.signatures.set(n,this.deepCopy(r));let i=e.toLowerCase(),a=t.toLowerCase();this.signerSubdigests.has(i)||this.signerSubdigests.set(i,new Set),this.signerSubdigests.get(i).add(a);}async loadSubdigestsOfSapientSigner(e,t){let r=`${e.toLowerCase()}-${t.toLowerCase()}`,n=this.sapientSignerSubdigests.get(r);return n?Array.from(n).map(i=>i):[]}async loadSapientSignatureOfSubdigest(e,t,r){let n=this.getSapientSignatureKey(e,t,r),i=this.sapientSignatures.get(n);return i?this.deepCopy(i):void 0}async saveSapientSignatureOfSubdigest(e,t,r,n){let i=this.getSapientSignatureKey(e,t,r);this.sapientSignatures.set(i,this.deepCopy(n));let a=`${e.toLowerCase()}-${r.toLowerCase()}`,o=t.toLowerCase();this.sapientSignerSubdigests.has(a)||this.sapientSignerSubdigests.set(a,new Set),this.sapientSignerSubdigests.get(a).add(o);}async loadTree(e){let t=this.trees.get(e.toLowerCase());return t?this.deepCopy(t):void 0}async saveTree(e,t){this.trees.set(e.toLowerCase(),this.deepCopy(t));}};d();f();var cr={};Te(cr,{Guard:()=>dx,Passkey:()=>ax,Pk:()=>nx,Session:()=>lx,SessionManager:()=>hx,isSapientSigner:()=>mx,isSigner:()=>A9});d();f();var nx={};Te(nx,{Encrypted:()=>sx,MemoryPkStore:()=>si,Pk:()=>rx});d();f();var sx={};Te(sx,{EncryptedPkStore:()=>h1,EncryptedPksDb:()=>tx});d();f();var tx=class{localStorageKeyPrefix;tableName;dbName="pk-db";dbVersion=1;constructor(e="e_pk_key_",t="e_pk"){this.localStorageKeyPrefix=e,this.tableName=t;}computeDbKey(e){return `pk_${e.toLowerCase()}`}openDB(){return new Promise((e,t)=>{let r=indexedDB.open(this.dbName,this.dbVersion);r.onupgradeneeded=()=>{let n=r.result;n.objectStoreNames.contains(this.tableName)||n.createObjectStore(this.tableName);},r.onsuccess=()=>e(r.result),r.onerror=()=>t(r.error);})}async putData(e,t){let r=await this.openDB();return new Promise((n,i)=>{let c=r.transaction(this.tableName,"readwrite").objectStore(this.tableName).put(t,e);c.onsuccess=()=>n(),c.onerror=()=>i(c.error);})}async getData(e){let t=await this.openDB();return new Promise((r,n)=>{let o=t.transaction(this.tableName,"readonly").objectStore(this.tableName).get(e);o.onsuccess=()=>r(o.result),o.onerror=()=>n(o.error);})}async getAllData(){let e=await this.openDB();return new Promise((t,r)=>{let a=e.transaction(this.tableName,"readonly").objectStore(this.tableName).getAll();a.onsuccess=()=>t(a.result),a.onerror=()=>r(a.error);})}async generateAndStore(){let e=await window.crypto.subtle.generateKey({name:"AES-GCM",length:256},!0,["encrypt","decrypt"]),t=R.random(32),r=Yt.getPublicKey({privateKey:t}),n=M.fromPublicKey(r),i=this.localStorageKeyPrefix+n,a=await window.crypto.subtle.exportKey("jwk",e);window.localStorage.setItem(i,JSON.stringify(a));let c=new TextEncoder().encode(t),u=window.crypto.getRandomValues(new Uint8Array(12)),l=await window.crypto.subtle.encrypt({name:"AES-GCM",iv:u},e,c),m={iv:u,data:l,keyPointer:i,address:n,publicKey:r},w=this.computeDbKey(n);return await this.putData(w,m),m}async getEncryptedEntry(e){let t=this.computeDbKey(e);return this.getData(t)}async getEncryptedPkStore(e){let t=await this.getEncryptedEntry(e);if(t)return new h1(t)}async listAddresses(){return (await this.getAllData()).map(t=>t.address)}async remove(e){let t=this.computeDbKey(e);await this.putData(t,void 0);let r=this.localStorageKeyPrefix+e;window.localStorage.removeItem(r);}},h1=class{encrypted;constructor(e){this.encrypted=e;}address(){return this.encrypted.address}publicKey(){return this.encrypted.publicKey}async signDigest(e){let t=window.localStorage.getItem(this.encrypted.keyPointer);if(!t)throw new Error("Encryption key not found in localStorage");let r=JSON.parse(t),n=await window.crypto.subtle.importKey("jwk",r,{name:"AES-GCM"},!1,["decrypt"]),i=await window.crypto.subtle.decrypt({name:"AES-GCM",iv:this.encrypted.iv},n,this.encrypted.data),o=new TextDecoder().decode(i);return Yt.sign({payload:e,privateKey:o})}};var si=class{privateKey;constructor(e){this.privateKey=e;}address(){return M.fromPublicKey(this.publicKey())}publicKey(){return Yt.getPublicKey({privateKey:this.privateKey})}signDigest(e){return Promise.resolve(Yt.sign({payload:e,privateKey:this.privateKey}))}},rx=class{privateKey;address;pubKey;constructor(e){this.privateKey=typeof e=="string"?new si(e):e,this.pubKey=this.privateKey.publicKey(),this.address=this.privateKey.address();}async sign(e,t,r){let n=we.hash(e,t,r);return this.signDigest(n)}async signDigest(e){return {...await this.privateKey.signDigest(e),type:"hash"}}async witness(e,t,r){let n=we.fromMessage(R.fromString(JSON.stringify({action:"consent-to-be-part-of-wallet",wallet:t,signer:this.address,timestamp:Date.now(),...r}))),i=await this.sign(t,0,n);await e.saveWitnesses(t,0,n,{type:"unrecovered-signer",weight:1n,signature:i});}};var ax={};Te(ax,{Passkey:()=>ix,isWitnessMessage:()=>Q8});d();f();function Q8(s){return typeof s=="object"&&s!==null&&"action"in s&&s.action==="consent-to-be-part-of-wallet"}var ix=class s{credentialId;publicKey;address;imageHash;embedMetadata;metadata;constructor(e){this.address=e.extensions.passkeys,this.publicKey=e.publicKey,this.credentialId=e.credentialId,this.embedMetadata=e.embedMetadata??!1,this.imageHash=je.Passkeys.rootFor(e.publicKey),this.metadata=e.metadata;}static async loadFromWitness(e,t,r,n){let i=await e.getWitnessForSapient(r,t.passkeys,n);if(!i)throw new Error("Witness for wallet not found");let a=i.payload;if(!we.isMessage(a))throw new Error("Witness payload is not a message");let o=JSON.parse(R.toString(a.message));if(!Q8(o))throw new Error("Witness payload is not a witness message");let c=o.publicKey.metadata||o.metadata;if(typeof c=="string"||!c)throw new Error("Metadata does not contain credential id");let u=je.Passkeys.decode(p.fromHex(i.signature.data));return new s({credentialId:c.credentialId,extensions:t,publicKey:o.publicKey,embedMetadata:u.embedMetadata,metadata:c})}static async create(e,t){let r=t?.credentialName??`Sequence (${Date.now()})`,n=await Qn.createCredential({user:{name:r}}),i=R.fromNumber(n.publicKey.x),a=R.fromNumber(n.publicKey.y),o={credentialId:n.id},c=new s({credentialId:n.id,extensions:e,publicKey:{requireUserVerification:t?.requireUserVerification??!0,x:i,y:a,metadata:t?.embedMetadata?o:void 0},embedMetadata:t?.embedMetadata,metadata:o});return t?.stateProvider&&await t.stateProvider.saveTree(je.Passkeys.toTree(c.publicKey)),c}static async find(e,t){let r=await Qn.sign({challenge:R.random(32)});if(!r.raw)throw new Error("No credential returned");let n=p.fromHex(r.metadata.authenticatorData),i=ye.sha256(p.fromString(r.metadata.clientDataJSON),{as:"Bytes"}),a=p.concat(n,i),o=ye.sha256(a,{as:"Bytes"}),c=tu.recoverPublicKey({payload:o,signature:{r:BigInt(r.signature.r),s:BigInt(r.signature.s),yParity:0}}),u=tu.recoverPublicKey({payload:o,signature:{r:BigInt(r.signature.r),s:BigInt(r.signature.s),yParity:1}}),l={x:R.fromNumber(c.x),y:R.fromNumber(c.y)},m={x:R.fromNumber(u.x),y:R.fromNumber(u.y)},w={credentialId:r.raw.id},E=[je.Passkeys.rootFor({...l,requireUserVerification:!0}),je.Passkeys.rootFor({...l,requireUserVerification:!1}),je.Passkeys.rootFor({...l,requireUserVerification:!0,metadata:w}),je.Passkeys.rootFor({...l,requireUserVerification:!1,metadata:w}),je.Passkeys.rootFor({...m,requireUserVerification:!0}),je.Passkeys.rootFor({...m,requireUserVerification:!1}),je.Passkeys.rootFor({...m,requireUserVerification:!0,metadata:w}),je.Passkeys.rootFor({...m,requireUserVerification:!1,metadata:w})],A=(await Promise.all(E.map(async C=>{let D=await e.getWalletsForSapient(t.passkeys,C);return Object.keys(D).map(U=>({wallet:M.from(U),imageHash:C}))}))).flat().filter((C,D,U)=>U.findIndex(T=>M.isEqual(T.wallet,C.wallet)&&T.imageHash===C.imageHash)===D);if(A.length!==0)return A.length>1&&console.warn("Multiple signers found for passkey",A),s.loadFromWitness(e,t,A[0].wallet,A[0].imageHash)}async signSapient(e,t,r,n){if(this.imageHash!==n)throw new Error("Unexpected image hash");let i=R.fromBytes(we.hash(e,t,r)),a=await Qn.sign({challenge:i,credentialId:this.credentialId,userVerification:this.publicKey.requireUserVerification?"required":"discouraged"}),o=p.fromHex(a.metadata.authenticatorData),c=p.fromNumber(a.signature.r),u=p.fromNumber(a.signature.s),l=je.Passkeys.encode({publicKey:this.publicKey,r:c,s:u,authenticatorData:o,clientDataJSON:a.metadata.clientDataJSON,embedMetadata:this.embedMetadata});return {address:this.address,data:p.toHex(l),type:"sapient_compact"}}async witness(e,t,r){let n=we.fromMessage(R.fromString(JSON.stringify({action:"consent-to-be-part-of-wallet",wallet:t,publicKey:this.publicKey,metadata:this.metadata,timestamp:Date.now(),...r}))),i=await this.signSapient(t,0,n,this.imageHash);await e.saveWitnesses(t,0,n,{type:"unrecovered-signer",weight:1n,signature:i});}};var lx={};Te(lx,{Explicit:()=>ox,Implicit:()=>cx,isExplicitSessionSigner:()=>f1,isImplicitSessionSigner:()=>ux});d();f();d();f();var eN="0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE",ox=class{_privateKey;address;sessionPermissions;constructor(e,t){this._privateKey=typeof e=="string"?new si(e):e,this.address=this._privateKey.address(),this.sessionPermissions={...t,signer:this.address};}isValid(e,t){if(this.sessionPermissions.deadline<=BigInt(Math.floor(Date.now()/1e3)))return {isValid:!1,invalidReason:"Expired"};if(this.sessionPermissions.chainId!==0&&this.sessionPermissions.chainId!==t)return {isValid:!1,invalidReason:"Chain ID mismatch"};let r=Fs.getSessionPermissions(e,this.address);if(!r)return {isValid:!1,invalidReason:"Permission not found"};if(r.deadline!==this.sessionPermissions.deadline||r.chainId!==this.sessionPermissions.chainId||r.valueLimit!==this.sessionPermissions.valueLimit||r.permissions.length!==this.sessionPermissions.permissions.length)return {isValid:!1,invalidReason:"Permission mismatch"};for(let[n,i]of r.permissions.entries()){let a=this.sessionPermissions.permissions[n];if(!M.isEqual(i.target,a.target)||i.rules.length!==a.rules.length)return {isValid:!1,invalidReason:"Permission rule mismatch"};for(let[o,c]of i.rules.entries()){let u=a.rules[o];if(c.cumulative!==u.cumulative||c.operation!==u.operation||!p.isEqual(c.value,u.value)||c.offset!==u.offset||!p.isEqual(c.mask,u.mask))return {isValid:!1,invalidReason:"Permission rule mismatch"}}}return {isValid:!0}}async findSupportedPermission(e,t,r,n,i){if(!(this.sessionPermissions.chainId!==0&&this.sessionPermissions.chainId!==t)){if(r.value!==0n){if(!i)throw new Error("Value transaction validation requires a provider");let a=ye.keccak256(xt.encode([{type:"address",name:"signer"},{type:"address",name:"valueTrackingAddress"}],[this.address,eN])),{usageAmount:o}=await this.readCurrentUsageLimit(e,n,a,i),c=p.fromNumber(o+r.value,{size:32});if(p.toBigInt(c)>this.sessionPermissions.valueLimit)return}for(let a of this.sessionPermissions.permissions)if(await this.validatePermission(a,r,e,n,i))return a}}getPermissionUsageHash(e,t){let r={target:e.target,rules:e.rules.map(n=>({cumulative:n.cumulative,operation:n.operation,value:p.toHex(n.value),offset:n.offset,mask:p.toHex(n.mask)}))};return ye.keccak256(xt.encode([{type:"address",name:"signer"},sn.permissionStructAbi,{type:"uint256",name:"ruleIndex"}],[this.address,r,BigInt(t)]))}getValueUsageHash(){return ye.keccak256(xt.encode([{type:"address",name:"signer"},{type:"address",name:"valueTrackingAddress"}],[this.address,eN]))}async validatePermission(e,t,r,n,i){if(!M.isEqual(e.target,t.to))return !1;for(let[a,o]of e.rules.entries()){let u=p.padRight(p.fromHex(t.data).slice(Number(o.offset),Number(o.offset)+32),32).map((l,m)=>l&o.mask[m]);if(o.cumulative)if(i){let{usageAmount:l}=await this.readCurrentUsageLimit(r,n,this.getPermissionUsageHash(e,a),i);u=p.fromNumber(l+p.toBigInt(u),{size:32});}else throw new Error("Cumulative rules require a provider");if(o.operation===sn.ParameterOperation.EQUAL&&!p.isEqual(u,o.value)||o.operation===sn.ParameterOperation.LESS_THAN_OR_EQUAL&&p.toBigInt(u)>p.toBigInt(o.value)||o.operation===sn.ParameterOperation.NOT_EQUAL&&p.isEqual(u,o.value)||o.operation===sn.ParameterOperation.GREATER_THAN_OR_EQUAL&&p.toBigInt(u)<p.toBigInt(o.value))return !1}return !0}async supportedCall(e,t,r,n,i){return M.isEqual(r.to,n)&&R.size(r.data)>4&&R.isEqual(R.slice(r.data,0,4),de.getSelector(Xe.INCREMENT_USAGE_LIMIT))?!0:!!await this.findSupportedPermission(e,t,r,n,i)}async signCall(e,t,r,n,i,a){let o=r.calls[n],c;if(M.isEqual(o.to,i)&&R.size(o.data)>4&&R.isEqual(R.slice(o.data,0,4),de.getSelector(Xe.INCREMENT_USAGE_LIMIT)))c=0;else {let m=await this.findSupportedPermission(e,t,o,i,a);if(!m)throw new Error("Invalid permission");if(c=this.sessionPermissions.permissions.indexOf(m),c===-1)throw new Error("Invalid permission")}let u=ti.hashPayloadWithCallIdx(e,r,n,t,i),l=await this._privateKey.signDigest(p.fromHex(u));return {permissionIndex:BigInt(c),sessionSignature:l}}async readCurrentUsageLimit(e,t,r,n){let i=de.encodeData(Xe.GET_LIMIT_USAGE,[e,r]),a=await n.request({method:"eth_call",params:[{to:t,data:i},"latest"]}),o=de.decodeResult(Xe.GET_LIMIT_USAGE,a);return {usageHash:r,usageAmount:o}}async prepareIncrements(e,t,r,n,i){let a=[],o=this.getValueUsageHash(),u=(await this.readCurrentUsageLimit(e,n,o,i)).usageAmount;for(let m of r){let w=await this.findSupportedPermission(e,t,m,n,i);if(w){for(let[E,v]of w.rules.entries()){if(!v.cumulative)continue;let C=p.padRight(p.fromHex(m.data).slice(Number(v.offset),Number(v.offset)+32),32).map((T,P)=>T&v.mask[P]);if(p.toBigInt(C)===0n)continue;let D=this.getPermissionUsageHash(w,E),U=a.find(T=>R.isEqual(T.usageHash,D));U?U.increment+=p.toBigInt(C):a.push({usageHash:D,increment:p.toBigInt(C)});}u+=m.value;}}if(a.length===0&&u===0n)return [];let l=await Promise.all(a.map(async({usageHash:m,increment:w})=>{if(w===0n)return null;let E=await this.readCurrentUsageLimit(e,n,m,i);if(R.isEqual(m,o)&&E.usageAmount+w>this.sessionPermissions.valueLimit)throw new Error("Value transaction validation failed");return {usageHash:m,usageAmount:E.usageAmount+w}})).then(m=>m.filter(w=>w!==null));return u>0n&&l.push({usageHash:o,usageAmount:u}),l}};d();f();var cx=class{_attestation;_sessionManager;_privateKey;_identitySignature;address;constructor(e,t,r,n){if(this._attestation=t,this._sessionManager=n,this._privateKey=typeof e=="string"?new si(e):e,this.address=this._privateKey.address(),this._attestation.approvedSigner!==this.address)throw new Error("Invalid attestation");if(this._attestation.authData.issuedAt>BigInt(Math.floor(Date.now()/1e3)))throw new Error("Attestation issued in the future");this._identitySignature=typeof r=="string"?$t.fromHex(r):r;}get identitySigner(){let e=qt.hash(this._attestation),t=Yt.recoverPublicKey({payload:e,signature:this._identitySignature});return M.fromPublicKey(t)}isValid(e,t){let r=Fs.getIdentitySigners(e),n=this.identitySigner;return r.some(a=>M.isEqual(a,n))?Fs.getImplicitBlacklist(e)?.some(a=>M.isEqual(a,this.address))?{isValid:!1,invalidReason:"Blacklisted"}:{isValid:!0}:{isValid:!1,invalidReason:"Identity signer not found"}}async supportedCall(e,t,r,n,i){if(!i)throw new Error("Provider is required");try{let a=de.encodeData(tN,[e,{approvedSigner:this._attestation.approvedSigner,identityType:p.toHex(this._attestation.identityType),issuerHash:p.toHex(this._attestation.issuerHash),audienceHash:p.toHex(this._attestation.audienceHash),applicationData:p.toHex(this._attestation.applicationData),authData:this._attestation.authData},{to:r.to,value:r.value,data:r.data,gasLimit:r.gasLimit,delegateCall:r.delegateCall,onlyFallback:r.onlyFallback,behaviorOnError:BigInt(we.encodeBehaviorOnError(r.behaviorOnError))}]),o=await i.request({method:"eth_call",params:[{from:this._sessionManager,to:r.to,data:a},"latest"]}),c=R.from(de.decodeResult(tN,o)),u=p.toHex(qt.generateImplicitRequestMagic(this._attestation,e));return c===u}catch{return !1}}async signCall(e,t,r,n,i,a){let o=r.calls[n];if(!await this.supportedCall(e,t,o,i,a))throw new Error("Unsupported call");let u=ti.hashPayloadWithCallIdx(e,r,n,t,i),l=await this._privateKey.signDigest(p.fromHex(u));return {attestation:this._attestation,identitySignature:this._identitySignature,sessionSignature:l}}},tN={type:"function",name:"acceptImplicitRequest",inputs:[{name:"wallet",type:"address",internalType:"address"},{name:"attestation",type:"tuple",internalType:"struct Attestation",components:[{name:"approvedSigner",type:"address",internalType:"address"},{name:"identityType",type:"bytes4",internalType:"bytes4"},{name:"issuerHash",type:"bytes32",internalType:"bytes32"},{name:"audienceHash",type:"bytes32",internalType:"bytes32"},{name:"applicationData",type:"bytes",internalType:"bytes"},{internalType:"struct AuthData",name:"authData",type:"tuple",components:[{internalType:"string",name:"redirectUrl",type:"string"},{internalType:"uint64",name:"issuedAt",type:"uint64"}]}]},{name:"call",type:"tuple",internalType:"struct Payload.Call",components:[{name:"to",type:"address",internalType:"address"},{name:"value",type:"uint256",internalType:"uint256"},{name:"data",type:"bytes",internalType:"bytes"},{name:"gasLimit",type:"uint256",internalType:"uint256"},{name:"delegateCall",type:"bool",internalType:"bool"},{name:"onlyFallback",type:"bool",internalType:"bool"},{name:"behaviorOnError",type:"uint256",internalType:"uint256"}]}],outputs:[{name:"",type:"bytes32",internalType:"bytes32"}],stateMutability:"view"};d();f();function f1(s){return "prepareIncrements"in s}function ux(s){return "identitySigner"in s}d();f();var y9=2n**80n-1n,hx=class s{wallet;stateProvider;address;_implicitSigners;_explicitSigners;_provider;constructor(e,t){this.wallet=e,this.stateProvider=t.stateProvider??e.stateProvider,this.address=t.sessionManagerAddress,this._implicitSigners=t.implicitSigners??[],this._explicitSigners=t.explicitSigners??[],this._provider=t.provider;}get imageHash(){return this.getImageHash()}async getImageHash(){let{configuration:e}=await this.wallet.getStatus(),t=Ke.findSignerLeaf(e,this.address);if(!(!t||!Ke.isSapientSignerLeaf(t)))return t.imageHash}get topology(){return this.getTopology()}async getTopology(){let e=await this.imageHash;if(!e)throw new Error(`Session configuration not found for image hash ${e}`);let t=await this.stateProvider.getTree(e);if(!t)throw new Error(`Session configuration not found for image hash ${e}`);return Fs.configurationTreeToSessionsTopology(t)}withProvider(e){return new s(this.wallet,{sessionManagerAddress:this.address,stateProvider:this.stateProvider,implicitSigners:this._implicitSigners,explicitSigners:this._explicitSigners,provider:e})}withImplicitSigner(e){let t=[...this._implicitSigners,e];return new s(this.wallet,{sessionManagerAddress:this.address,stateProvider:this.stateProvider,implicitSigners:t,explicitSigners:this._explicitSigners,provider:this._provider})}withExplicitSigner(e){let t=[...this._explicitSigners,e];return new s(this.wallet,{sessionManagerAddress:this.address,stateProvider:this.stateProvider,implicitSigners:this._implicitSigners,explicitSigners:t,provider:this._provider})}async listSignerValidity(e){let t=await this.topology,r=new Map;for(let n of this._implicitSigners)r.set(n.address,n.isValid(t,e));for(let n of this._explicitSigners)r.set(n.address,n.isValid(t,e));return Array.from(r.entries()).map(([n,{isValid:i,invalidReason:a}])=>({signer:n,isValid:i,invalidReason:a}))}async findSignersForCalls(e,t,r){let n=await this.topology;if(Fs.getIdentitySigners(n).length===0)throw new Error("Identity signers not found");let a=[...this._implicitSigners,...this._explicitSigners];if(a.length===0)throw new Error("No signers match the topology");let o=[];for(let c of r){let u=!1,l;for(let m of a){try{if(u=await m.supportedCall(e,t,c,this.address,this._provider),u){let w=m.isValid(n,t);w.invalidReason==="Expired"&&(l=m),u=w.isValid;}}catch(w){console.error("findSignersForCalls error",w);continue}if(u){o.push(m);break}}if(!u)throw l?new Error(`Signer supporting call is expired: ${l.address}`):new Error(`No signer supported for call. Call: to=${c.to}, data=${c.data}, value=${c.value}, `)}return o}async prepareIncrement(e,t,r){if(r.length===0)throw new Error("No calls provided");let n=await this.findSignersForCalls(e,t,r),i=new Map;n.forEach((u,l)=>{let m=r[l],w=i.get(u)||[];i.set(u,[...w,m]);});let a=(await Promise.all(Array.from(i.entries()).map(async([u,l])=>f1(u)?u.prepareIncrements(e,t,l,this.address,this._provider):[]))).flat();if(a.length===0)return null;if(a.filter((u,l,m)=>l===m.findIndex(w=>w.usageHash===u.usageHash)).length!==a.length)throw new Error("Repeated usage hashes");let c=de.encodeData(Xe.INCREMENT_USAGE_LIMIT,[a]);return {to:this.address,data:c,value:0n,delegateCall:!1,onlyFallback:!1,behaviorOnError:"revert",gasLimit:0n}}async signSapient(e,t,r,n){if(!M.isEqual(e,this.wallet.address))throw new Error("Wallet address mismatch");if(await this.imageHash!==n)throw new Error("Unexpected image hash");if(!we.isCalls(r)||r.calls.length===0)throw new Error("Only calls are supported");if(r.space>y9)throw new Error(`Space ${r.space} is too large`);let i=await this.findSignersForCalls(e,t,r.calls);if(i.length!==r.calls.length)throw new Error("No signer supported for call");let a=await Promise.all(i.map(async(w,E)=>{try{return w.signCall(e,t,r,E,this.address,this._provider)}catch(v){throw console.error("signSapient error",v),v}})),o=await this.prepareIncrement(e,t,r.calls);if(o){let w;if(M.isEqual(this.address,je.Dev1.sessions)||M.isEqual(this.address,je.Dev2.sessions)?w=r.calls[r.calls.length-1]:w=r.calls[0],!M.isEqual(o.to,w.to)||!R.isEqual(o.data,w.data))throw new Error("Actual increment call does not match expected increment call")}let c=[],u=[],l;if(await Promise.all(i.map(async w=>{let E=await w.address;if(f1(w))c.find(v=>M.isEqual(v,E))||c.push(E);else if(ux(w)&&!u.find(v=>M.isEqual(v,E))){if(u.push(E),!l)l=w.identitySigner;else if(!M.isEqual(l,w.identitySigner))throw new Error("Multiple implicit signers with different identity signers")}})),!l){let w=Fs.getIdentitySigners(await this.topology);if(w.length===0)throw new Error("No identity signers found");l=w[0];}let m=ti.encodeSessionSignature(a,await this.topology,l,c,u);return {type:"sapient",address:this.address,data:R.from(m)}}async isValidSapientSignature(e,t,r,n){if(!we.isCalls(r))return !1;if(!this._provider)throw new Error("Provider not set");let i=we.encodeSapient(t,r),a=de.encodeData(Xe.RECOVER_SAPIENT_SIGNATURE,[i,n.data]);try{let o=await this._provider.request({method:"eth_call",params:[{from:e,to:this.address,data:a},"pending"]});return R.from(de.decodeResult(Xe.RECOVER_SAPIENT_SIGNATURE,o))===await this.imageHash}catch(o){return console.error("recoverSapientSignature error",o),!1}}};d();f();d();f();d();f();d();f();var ri;(function(s){s.Calls="Calls",s.Message="Message",s.ConfigUpdate="ConfigUpdate",s.SessionImplicitAuthorize="SessionImplicitAuthorize";})(ri||(ri={}));var ni;(function(s){s.Hash="Hash",s.Sapient="Sapient",s.EthSign="EthSign",s.Erc1271="Erc1271";})(ni||(ni={}));var sN;(function(s){s.WebrpcEndpoint="WebrpcEndpoint",s.WebrpcRequestFailed="WebrpcRequestFailed",s.WebrpcBadRoute="WebrpcBadRoute",s.WebrpcBadMethod="WebrpcBadMethod",s.WebrpcBadRequest="WebrpcBadRequest",s.WebrpcBadResponse="WebrpcBadResponse",s.WebrpcServerPanic="WebrpcServerPanic",s.WebrpcInternalError="WebrpcInternalError",s.WebrpcClientDisconnected="WebrpcClientDisconnected",s.WebrpcStreamLost="WebrpcStreamLost",s.WebrpcStreamFinished="WebrpcStreamFinished",s.Unauthorized="Unauthorized",s.PermissionDenied="PermissionDenied",s.SessionExpired="SessionExpired",s.MethodNotFound="MethodNotFound",s.RequestConflict="RequestConflict",s.Aborted="Aborted",s.Geoblocked="Geoblocked",s.RateLimited="RateLimited",s.InvalidArgument="InvalidArgument",s.Unavailable="Unavailable",s.QueryFailed="QueryFailed",s.ValidationFailed="ValidationFailed",s.NotFound="NotFound",s.RequiresTOTP="RequiresTOTP",s.RequiresPIN="RequiresPIN";})(sN||(sN={}));var rN;(function(s){s[s.WebrpcEndpoint=0]="WebrpcEndpoint",s[s.WebrpcRequestFailed=-1]="WebrpcRequestFailed",s[s.WebrpcBadRoute=-2]="WebrpcBadRoute",s[s.WebrpcBadMethod=-3]="WebrpcBadMethod",s[s.WebrpcBadRequest=-4]="WebrpcBadRequest",s[s.WebrpcBadResponse=-5]="WebrpcBadResponse",s[s.WebrpcServerPanic=-6]="WebrpcServerPanic",s[s.WebrpcInternalError=-7]="WebrpcInternalError",s[s.WebrpcClientDisconnected=-8]="WebrpcClientDisconnected",s[s.WebrpcStreamLost=-9]="WebrpcStreamLost",s[s.WebrpcStreamFinished=-10]="WebrpcStreamFinished",s[s.Unauthorized=1e3]="Unauthorized",s[s.PermissionDenied=1001]="PermissionDenied",s[s.SessionExpired=1002]="SessionExpired",s[s.MethodNotFound=1003]="MethodNotFound",s[s.RequestConflict=1004]="RequestConflict",s[s.Aborted=1005]="Aborted",s[s.Geoblocked=1006]="Geoblocked",s[s.RateLimited=1007]="RateLimited",s[s.InvalidArgument=2001]="InvalidArgument",s[s.Unavailable=2002]="Unavailable",s[s.QueryFailed=2003]="QueryFailed",s[s.ValidationFailed=2004]="ValidationFailed",s[s.NotFound=3e3]="NotFound",s[s.RequiresTOTP=6600]="RequiresTOTP",s[s.RequiresPIN=6601]="RequiresPIN";})(rN||(rN={}));d();f();d();f();var dx=class{guard;address;constructor(e){this.guard=e,this.address=this.guard.address;}async signEnvelope(e,t){let r={...e.payload,parentWallets:void 0},n=v9(e.payload),{message:i,digest:a}=E9(e.wallet,e.chainId,r),o=e.signatures.map(x9),c=await this.guard.signPayload(e.wallet,e.chainId,n,a,i,o,t?{id:t.id,token:t.code,resetAuth:t.resetAuth}:void 0);return {address:this.guard.address,signature:{type:"hash",...c}}}};function v9(s){switch(s.type){case"call":return ri.Calls;case"message":return ri.Message;case"config-update":return ri.ConfigUpdate;case"session-implicit-authorize":return ri.SessionImplicitAuthorize}throw new Error(`Payload type not supported by Guard: ${s.type}`)}function E9(s,e,t){if(we.isSessionImplicitAuthorize(t))return {message:p.fromString(qt.toJson(t.attestation)),digest:ye.keccak256(qt.encode(t.attestation))};let r=we.toTyped(s,e,t);return {message:p.fromString(of.serialize(r)),digest:p.fromHex(of.getSignPayload(r))}}function x9(s){if(X8(s))return {type:ni.Sapient,address:s.signature.address,imageHash:s.imageHash,data:s.signature.data};if(s.signature.type=="erc1271")return {type:ni.Erc1271,address:s.signature.address,data:s.signature.data};let e={eth_sign:ni.EthSign,hash:ni.Hash}[s.signature.type];if(!e)throw new Error(`Signature type not supported by Guard: ${s.signature.type}`);return {type:e,address:s.address,data:$t.toHex(s.signature)}}function mx(s){return "signSapient"in s}function A9(s){return "sign"in s}async function I9(s,e){let t=await C9(s,e);return Object.entries(t).map(([r,{chainId:n,payload:i,signature:a}])=>(R.assert(r),{wallet:r,chainId:n,payload:i,signature:a}))}async function C9(s,e){if(mx(e)){let[t,r]=await Promise.all([e.address,e.imageHash]);return r?s.getWalletsForSapient(t,r):(console.warn("Sapient signer has no imageHash"),{})}else return s.getWallets(await e.address)}function kr(s){return Object.fromEntries(Object.entries(s).map(([e,t])=>[M.checksum(e),t]))}d();f();var d1="configs",m1="counterfactualWallets",p1="payloads",Nf="signerSubdigests",g1="signatures",kf="sapientSignerSubdigests",y1="sapientSignatures",w1="trees",px=class{_db=null;dbName;constructor(e="sequence-indexeddb"){this.dbName=e;}async openDB(){return this._db?this._db:new Promise((e,t)=>{let r=indexedDB.open(this.dbName,1);r.onupgradeneeded=()=>{let n=r.result;n.objectStoreNames.contains(d1)||n.createObjectStore(d1),n.objectStoreNames.contains(m1)||n.createObjectStore(m1),n.objectStoreNames.contains(p1)||n.createObjectStore(p1),n.objectStoreNames.contains(Nf)||n.createObjectStore(Nf),n.objectStoreNames.contains(g1)||n.createObjectStore(g1),n.objectStoreNames.contains(kf)||n.createObjectStore(kf),n.objectStoreNames.contains(y1)||n.createObjectStore(y1),n.objectStoreNames.contains(w1)||n.createObjectStore(w1);},r.onsuccess=()=>{this._db=r.result,e(this._db);},r.onerror=()=>{t(r.error);};})}async get(e,t){let r=await this.openDB();return new Promise((n,i)=>{let c=r.transaction(e,"readonly").objectStore(e).get(t);c.onsuccess=()=>n(c.result),c.onerror=()=>i(c.error);})}async put(e,t,r){let n=await this.openDB();return new Promise((i,a)=>{let u=n.transaction(e,"readwrite").objectStore(e).put(r,t);u.onsuccess=()=>i(),u.onerror=()=>a(u.error);})}async getSet(e,t){let r=await this.get(e,t)||new Set;return Array.isArray(r)?new Set(r):r}async putSet(e,t,r){await this.put(e,t,Array.from(r));}getSignatureKey(e,t){return `${e.toLowerCase()}-${t.toLowerCase()}`}getSapientSignatureKey(e,t,r){return `${e.toLowerCase()}-${r.toLowerCase()}-${t.toLowerCase()}`}async loadConfig(e){return this.get(d1,e.toLowerCase())}async saveConfig(e,t){await this.put(d1,e.toLowerCase(),t);}async loadCounterfactualWallet(e){return this.get(m1,e.toLowerCase())}async saveCounterfactualWallet(e,t,r){await this.put(m1,e.toLowerCase(),{imageHash:t,context:r});}async loadPayloadOfSubdigest(e){return this.get(p1,e.toLowerCase())}async savePayloadOfSubdigest(e,t){await this.put(p1,e.toLowerCase(),t);}async loadSubdigestsOfSigner(e){let t=await this.getSet(Nf,e.toLowerCase());return Array.from(t)}async loadSignatureOfSubdigest(e,t){let r=this.getSignatureKey(e,t);return this.get(g1,r.toLowerCase())}async saveSignatureOfSubdigest(e,t,r){let n=this.getSignatureKey(e,t);await this.put(g1,n.toLowerCase(),r);let i=e.toLowerCase(),a=t.toLowerCase(),o=await this.getSet(Nf,i);o.add(a),await this.putSet(Nf,i,o);}async loadSubdigestsOfSapientSigner(e,t){let r=`${e.toLowerCase()}-${t.toLowerCase()}`,n=await this.getSet(kf,r);return Array.from(n)}async loadSapientSignatureOfSubdigest(e,t,r){let n=this.getSapientSignatureKey(e,t,r);return this.get(y1,n.toLowerCase())}async saveSapientSignatureOfSubdigest(e,t,r,n){let i=this.getSapientSignatureKey(e,t,r).toLowerCase();await this.put(y1,i,n);let a=`${e.toLowerCase()}-${r.toLowerCase()}`,o=t.toLowerCase(),c=await this.getSet(kf,a);c.add(o),await this.putSet(kf,a,c);}async loadTree(e){return this.get(w1,e.toLowerCase())}async saveTree(e,t){await this.put(w1,e.toLowerCase(),t);}};var gx=class{store;extensions;constructor(e=new Cf,t=je.Rc5){this.store=e,this.extensions=t;}getConfiguration(e){return this.store.loadConfig(e)}async saveWallet(e,t){await this.saveConfig(e);let r=Ke.hashConfiguration(e);await this.saveCounterfactualWallet(cu.from(r,t),R.fromBytes(r),t);}async saveConfig(e){let t=p.toHex(Ke.hashConfiguration(e)),r=await this.store.loadConfig(t);if(r){let n=Ke.mergeTopology(r.topology,e.topology);return this.store.saveConfig(t,{...r,topology:n})}else return this.store.saveConfig(t,e)}saveCounterfactualWallet(e,t,r){this.store.saveCounterfactualWallet(e,t,r);}getDeploy(e){return this.store.loadCounterfactualWallet(e)}async getWalletsGeneric(e,t){let r=await Promise.all(e.map(i=>this.store.loadPayloadOfSubdigest(i))),n={};for(let i of r){if(!i)continue;let a=M.checksum(i.wallet);if(n[a])continue;let o=R.fromBytes(we.hash(a,i.chainId,i.content)),c=await t(o);c&&(n[a]={chainId:i.chainId,payload:i.content,signature:c});}return n}async getWallets(e){return kr(await this.getWalletsGeneric(await this.store.loadSubdigestsOfSigner(e),t=>this.store.loadSignatureOfSubdigest(e,t)))}async getWalletsForSapient(e,t){return kr(await this.getWalletsGeneric(await this.store.loadSubdigestsOfSapientSigner(e,t),r=>this.store.loadSapientSignatureOfSubdigest(e,r,t)))}getWitnessFor(e,t){let r=M.checksum(e);return this.getWallets(t).then(n=>n[r])}getWitnessForSapient(e,t,r){let n=M.checksum(e);return this.getWalletsForSapient(t,r).then(i=>i[n])}async saveWitnesses(e,t,r,n){let i=R.fromBytes(we.hash(e,t,r));await Promise.all([this.saveSignature(i,n),this.store.savePayloadOfSubdigest(i,{content:r,chainId:t,wallet:e})]);}async getConfigurationUpdates(e,t,r){let n=await this.store.loadConfig(t);if(!n)return [];let{signers:i,sapientSigners:a}=Ke.getSigners(n),o=await Promise.all([...i.map(v=>this.store.loadSubdigestsOfSigner(v)),...a.map(v=>this.store.loadSubdigestsOfSapientSigner(v.address,v.imageHash))]),c=[...new Set(o.flat())],u=await Promise.all(c.map(v=>this.store.loadPayloadOfSubdigest(v))),l=await Promise.all(u.filter(v=>v?.content&&we.isConfigUpdate(v.content)).map(async v=>({payload:v,nextImageHash:v.content.imageHash,config:await this.store.loadConfig(v.content.imageHash)}))),m,w=l.filter(v=>v.config&&v.config.checkpoint>n.checkpoint).sort((v,A)=>v.config.checkpoint>A.config.checkpoint?r?.allUpdates?1:-1:r?.allUpdates?-1:1);for(let v of w){if(m){if(r?.allUpdates){if(v.config.checkpoint<=m.checkpoint)continue}else if(v.config.checkpoint<=m.checkpoint)continue}let A=R.fromBytes(we.hash(e,v.payload.chainId,v.payload.content)),C=await Promise.all([...i.map(async T=>({signer:T,signature:await this.store.loadSignatureOfSubdigest(T,A)})),...a.map(async T=>({signer:T.address,imageHash:T.imageHash,signature:await this.store.loadSapientSignatureOfSubdigest(T.address,A,T.imageHash)}))]),D=0n,U=Zt.fillLeaves(n.topology,T=>{if(Ke.isSapientSignerLeaf(T)){let B=C.find(({signer:G,imageHash:se})=>se&&M.isEqual(G,T.address)&&se===T.imageHash)?.signature;if(B)return D+=T.weight,B}let P=C.find(({signer:B})=>M.isEqual(B,T.address))?.signature;if(P)return D+=T.weight,P});D<n.threshold||(m={nextImageHash:v.nextImageHash,checkpoint:v.config.checkpoint,signature:{noChainId:!0,configuration:{threshold:n.threshold,checkpoint:n.checkpoint,topology:U}}});}if(!m)return [];let E=await this.getConfigurationUpdates(e,m.nextImageHash,{allUpdates:!0});return [{imageHash:m.nextImageHash,signature:m.signature},...E]}async saveUpdate(e,t,r){let i={type:"config-update",imageHash:p.toHex(Ke.hashConfiguration(t))},a=we.hash(e,0,i);await this.store.savePayloadOfSubdigest(R.fromBytes(a),{content:i,chainId:0,wallet:e}),await this.saveConfig(t),await this.saveSignature(R.fromBytes(a),r.configuration.topology);}async saveSignature(e,t){if(Zt.isRawNode(t)){await Promise.all([this.saveSignature(e,t[0]),this.saveSignature(e,t[1])]);return}if(Zt.isRawNestedLeaf(t))return this.saveSignature(e,t.tree);if(Zt.isRawSignerLeaf(t)){let r=t.signature.type;if(r==="eth_sign"||r==="hash"){let n=Yt.recoverAddress({payload:r==="eth_sign"?Eg.getSignPayload(e):e,signature:t.signature});return this.store.saveSignatureOfSubdigest(n,e,t.signature)}if(Zt.isSignatureOfSapientSignerLeaf(t.signature))switch(t.signature.address.toLowerCase()){case this.extensions.passkeys.toLowerCase():let n=je.Passkeys.decode(p.fromHex(t.signature.data));if(!je.Passkeys.isValidSignature(e,n))throw new Error("Invalid passkey signature");return this.store.saveSapientSignatureOfSubdigest(t.signature.address,e,je.Passkeys.rootFor(n.publicKey),t.signature);default:throw new Error(`Unsupported sapient signer: ${t.signature.address}`)}}}getTree(e){return this.store.loadTree(e)}saveTree(e){return this.store.saveTree(js.hash(e),e)}saveConfiguration(e){return this.store.saveConfig(p.toHex(Ke.hashConfiguration(e)),e)}saveDeploy(e,t){return this.store.saveCounterfactualWallet(cu.from(p.fromHex(e),t),e,t)}async getPayload(e){let t=await this.store.loadPayloadOfSubdigest(e);return t?{chainId:t.chainId,payload:t.content,wallet:t.wallet}:void 0}savePayload(e,t,r){let n=R.fromBytes(we.hash(e,r,t));return this.store.savePayloadOfSubdigest(n,{content:t,chainId:r,wallet:e})}};var bx={};Te(bx,{DevHttpProvider:()=>wx});d();f();d();f();var wx=class{baseUrl;constructor(e){this.baseUrl=e.endsWith("/")?e.slice(0,-1):e;}async request(e,t,r){let n=`${this.baseUrl}${t}`,i={method:e,headers:{}};r&&e==="POST"&&(i.headers={"Content-Type":"application/json"},i.body=Fa.toJSON(r));let a;try{a=await fetch(n,i);}catch(o){throw console.error(`Network error during ${e} request to ${n}:`,o),o}if(!a.ok){let o={message:`HTTP error! Status: ${a.status}`};try{let c=await a.text(),u=await Fa.fromJSON(c);o={...o,...u};}catch{try{let u=await a.text();o.body=u;}catch{}}throw console.error("HTTP Request Failed:",o),new Error(o.message||`Request failed for ${e} ${t} with status ${a.status}`)}try{if(a.status===204)return;if(a.status===201&&e==="POST"){if((await a.clone().text()).trim()==="")return;let l=await a.text();return await Fa.fromJSON(l)}if((await a.clone().text()).trim()==="")return;{let u=await a.text();return await Fa.fromJSON(u)}}catch(o){console.error(`Error processing response body for ${e} ${n}:`,o);try{let c=await a.text();throw new Error(`Failed to parse JSON response from server. Status: ${a.status}. Body: "${c}". Original error: ${o instanceof Error?o.message:String(o)}`)}catch{throw new Error(`Failed to parse JSON response from server and could not read response body as text. Status: ${a.status}. Original error: ${o instanceof Error?o.message:String(o)}`)}}}async getConfiguration(e){return await this.request("GET",`/configuration/${e}`)}async getDeploy(e){return this.request("GET",`/deploy/${e}`)}async getWallets(e){return this.request("GET",`/wallets/signer/${e}`)}async getWalletsForSapient(e,t){return this.request("GET",`/wallets/sapient/${e}/${t}`)}async getWitnessFor(e,t){return this.request("GET",`/witness/${e}/signer/${t}`)}async getWitnessForSapient(e,t,r){return this.request("GET",`/witness/sapient/${e}/${t}/${r}`)}async getConfigurationUpdates(e,t,r){let n=r?.allUpdates?"?allUpdates=true":"";return this.request("GET",`/configuration-updates/${e}/from/${t}${n}`)}async getTree(e){return this.request("GET",`/tree/${e}`)}async saveWallet(e,t){await this.request("POST","/wallet",{deployConfiguration:e,context:t});}async saveWitnesses(e,t,r,n){await this.request("POST","/witnesses",{wallet:e,chainId:t,payload:r,signatures:n});}async saveUpdate(e,t,r){await this.request("POST","/update",{wallet:e,configuration:t,signature:r});}async saveTree(e){await this.request("POST","/tree",{tree:e});}saveConfiguration(e){return this.request("POST","/configuration",{config:e})}saveDeploy(e,t){return this.request("POST","/deploy",{imageHash:e,context:t})}async getPayload(e){return this.request("GET",`/payload/${e}`)}async savePayload(e,t,r){return this.request("POST","/payload",{wallet:e,payload:t,chainId:r})}};d();f();var Sx=class{args;constructor(e){this.args=e;}async getConfiguration(e){let t=await this.args.cache.getConfiguration(e);if(t)return t;let r=await this.args.source.getConfiguration(e);return r&&await this.args.cache.saveConfiguration(r),r}async getDeploy(e){let t=await this.args.cache.getDeploy(e);if(t)return t;let r=await this.args.source.getDeploy(e);return r&&await this.args.cache.saveDeploy(r.imageHash,r.context),r}async getWallets(e){let t=kr(await this.args.cache.getWallets(e)),r=kr(await this.args.source.getWallets(e)),n={...t,...r};for(let[i,a]of Object.entries(n))M.assert(i),r[i]||await this.args.source.saveWitnesses(i,a.chainId,a.payload,{type:"unrecovered-signer",weight:1n,signature:a.signature}),t[i]||await this.args.cache.saveWitnesses(i,a.chainId,a.payload,{type:"unrecovered-signer",weight:1n,signature:a.signature});return n}async getWalletsForSapient(e,t){let r=await this.args.cache.getWalletsForSapient(e,t),n=await this.args.source.getWalletsForSapient(e,t),i={...r,...n};for(let[a,o]of Object.entries(i)){let c=M.from(a);n[c]||await this.args.source.saveWitnesses(c,o.chainId,o.payload,{type:"unrecovered-signer",weight:1n,signature:o.signature}),r[c]||await this.args.cache.saveWitnesses(c,o.chainId,o.payload,{type:"unrecovered-signer",weight:1n,signature:o.signature});}return i}async getWitnessFor(e,t){let r=await this.args.cache.getWitnessFor(e,t);if(r)return r;let n=await this.args.source.getWitnessFor(e,t);return n&&await this.args.cache.saveWitnesses(e,n.chainId,n.payload,{type:"unrecovered-signer",weight:1n,signature:n.signature}),n}async getWitnessForSapient(e,t,r){let n=await this.args.cache.getWitnessForSapient(e,t,r);if(n)return n;let i=await this.args.source.getWitnessForSapient(e,t,r);return i&&await this.args.cache.saveWitnesses(e,i.chainId,i.payload,{type:"unrecovered-signer",weight:1n,signature:i.signature}),i}async getConfigurationUpdates(e,t,r){return this.args.source.getConfigurationUpdates(e,t,r)}async getTree(e){let t=await this.args.cache.getTree(e);if(t)return t;let r=await this.args.source.getTree(e);return r&&await this.args.cache.saveTree(r),r}saveWallet(e,t){return this.args.source.saveWallet(e,t)}saveWitnesses(e,t,r,n){return this.args.source.saveWitnesses(e,t,r,n)}saveUpdate(e,t,r){return this.args.source.saveUpdate(e,t,r)}saveTree(e){return this.args.source.saveTree(e)}saveConfiguration(e){return this.args.source.saveConfiguration(e)}saveDeploy(e,t){return this.args.source.saveDeploy(e,t)}async getPayload(e){let t=await this.args.cache.getPayload(e);if(t)return t;let r=await this.args.source.getPayload(e);return r&&await this.args.cache.savePayload(r.wallet,r.payload,r.chainId),r}savePayload(e,t,r){return this.args.source.savePayload(e,t,r)}};var Tf={};Te(Tf,{Provider:()=>Dx});d();f();d();f();var N9="Webrpc",k9="webrpc@v0.22.1;gen-typescript@v0.16.2;sessions@v0.0.1";var aN;(function(s){s.Transactions="Transactions",s.Message="Message",s.ConfigUpdate="ConfigUpdate",s.Digest="Digest";})(aN||(aN={}));var rt;(function(s){s.EIP712="EIP712",s.EthSign="EthSign",s.EIP1271="EIP1271",s.Sapient="Sapient",s.SapientCompact="SapientCompact";})(rt||(rt={}));var b1=class{hostname;fetch;path="/rpc/Sessions/";constructor(e,t){this.hostname=e.replace(/\/*$/,""),this.fetch=(r,n)=>t(r,n);}url(e){return this.hostname+this.path+e}ping=(e,t)=>this.fetch(this.url("Ping"),Vt({},e,t)).then(r=>Dt(r).then(n=>({})),r=>{throw At.new({cause:`fetch(): ${r.message||""}`})});config=(e,t,r)=>this.fetch(this.url("Config"),Vt(e,t,r)).then(n=>Dt(n).then(i=>({version:i.version,config:i.config})),n=>{throw At.new({cause:`fetch(): ${n.message||""}`})});tree=(e,t,r)=>this.fetch(this.url("Tree"),Vt(e,t,r)).then(n=>Dt(n).then(i=>({version:i.version,tree:i.tree})),n=>{throw At.new({cause:`fetch(): ${n.message||""}`})});payload=(e,t,r)=>this.fetch(this.url("Payload"),Vt(e,t,r)).then(n=>Dt(n).then(i=>({version:i.version,payload:i.payload,wallet:i.wallet,chainID:i.chainID})),n=>{throw At.new({cause:`fetch(): ${n.message||""}`})});wallets=(e,t,r)=>this.fetch(this.url("Wallets"),Vt(e,t,r)).then(n=>Dt(n).then(i=>({wallets:i.wallets,cursor:i.cursor})),n=>{throw At.new({cause:`fetch(): ${n.message||""}`})});deployHash=(e,t,r)=>this.fetch(this.url("DeployHash"),Vt(e,t,r)).then(n=>Dt(n).then(i=>({deployHash:i.deployHash,context:i.context})),n=>{throw At.new({cause:`fetch(): ${n.message||""}`})});witness=(e,t,r)=>this.fetch(this.url("Witness"),Vt(e,t,r)).then(n=>Dt(n).then(i=>({witness:i.witness})),n=>{throw At.new({cause:`fetch(): ${n.message||""}`})});configUpdates=(e,t,r)=>this.fetch(this.url("ConfigUpdates"),Vt(e,t,r)).then(n=>Dt(n).then(i=>({updates:i.updates})),n=>{throw At.new({cause:`fetch(): ${n.message||""}`})});migrations=(e,t,r)=>this.fetch(this.url("Migrations"),Vt(e,t,r)).then(n=>Dt(n).then(i=>({migrations:i.migrations})),n=>{throw At.new({cause:`fetch(): ${n.message||""}`})});saveConfig=(e,t,r)=>this.fetch(this.url("SaveConfig"),Vt(e,t,r)).then(n=>Dt(n).then(i=>({})),n=>{throw At.new({cause:`fetch(): ${n.message||""}`})});saveTree=(e,t,r)=>this.fetch(this.url("SaveTree"),Vt(e,t,r)).then(n=>Dt(n).then(i=>({})),n=>{throw At.new({cause:`fetch(): ${n.message||""}`})});savePayload=(e,t,r)=>this.fetch(this.url("SavePayload"),Vt(e,t,r)).then(n=>Dt(n).then(i=>({})),n=>{throw At.new({cause:`fetch(): ${n.message||""}`})});saveWallet=(e,t,r)=>this.fetch(this.url("SaveWallet"),Vt(e,t,r)).then(n=>Dt(n).then(i=>({})),n=>{throw At.new({cause:`fetch(): ${n.message||""}`})});saveSignature=(e,t,r)=>this.fetch(this.url("SaveSignature"),Vt(e,t,r)).then(n=>Dt(n).then(i=>({})),n=>{throw At.new({cause:`fetch(): ${n.message||""}`})});saveSignature2=(e,t,r)=>this.fetch(this.url("SaveSignature2"),Vt(e,t,r)).then(n=>Dt(n).then(i=>({})),n=>{throw At.new({cause:`fetch(): ${n.message||""}`})});saveSignerSignatures=(e,t,r)=>this.fetch(this.url("SaveSignerSignatures"),Vt(e,t,r)).then(n=>Dt(n).then(i=>({})),n=>{throw At.new({cause:`fetch(): ${n.message||""}`})});saveSignerSignatures2=(e,t,r)=>this.fetch(this.url("SaveSignerSignatures2"),Vt(e,t,r)).then(n=>Dt(n).then(i=>({})),n=>{throw At.new({cause:`fetch(): ${n.message||""}`})});saveSignerSignatures3=(e,t,r)=>this.fetch(this.url("SaveSignerSignatures3"),Vt(e,t,r)).then(n=>Dt(n).then(i=>({})),n=>{throw At.new({cause:`fetch(): ${n.message||""}`})});saveMigration=(e,t,r)=>this.fetch(this.url("SaveMigration"),Vt(e,t,r)).then(n=>Dt(n).then(i=>({})),n=>{throw At.new({cause:`fetch(): ${n.message||""}`})})},Vt=(s={},e={},t=null)=>{let r={...e,"Content-Type":"application/json"};return r[N9]=k9,{method:"POST",headers:r,body:JSON.stringify(s||{}),signal:t}},Dt=s=>s.text().then(e=>{let t;try{t=JSON.parse(e);}catch(r){let n="";throw r instanceof Error&&(n=r.message),S1.new({status:s.status,cause:`JSON.parse(): ${n}: response text: ${e}`})}if(!s.ok){let r=typeof t.code=="number"?t.code:0;throw (P9[r]||us).new(t)}return t}),us=class s extends Error{name;code;message;status;cause;msg;constructor(e,t,r,n,i){super(r),this.name=e||"WebrpcError",this.code=typeof t=="number"?t:0,this.message=r||`endpoint error ${this.code}`,this.msg=this.message,this.status=typeof n=="number"?n:0,this.cause=i,Object.setPrototypeOf(this,s.prototype);}static new(e){return new this(e.error,e.code,e.message||e.msg,e.status,e.cause)}},vx=class s extends us{constructor(e="WebrpcEndpoint",t=0,r="endpoint error",n=0,i){super(e,t,r,n,i),Object.setPrototypeOf(this,s.prototype);}},At=class s extends us{constructor(e="WebrpcRequestFailed",t=-1,r="request failed",n=0,i){super(e,t,r,n,i),Object.setPrototypeOf(this,s.prototype);}},Ex=class s extends us{constructor(e="WebrpcBadRoute",t=-2,r="bad route",n=0,i){super(e,t,r,n,i),Object.setPrototypeOf(this,s.prototype);}},xx=class s extends us{constructor(e="WebrpcBadMethod",t=-3,r="bad method",n=0,i){super(e,t,r,n,i),Object.setPrototypeOf(this,s.prototype);}},Ax=class s extends us{constructor(e="WebrpcBadRequest",t=-4,r="bad request",n=0,i){super(e,t,r,n,i),Object.setPrototypeOf(this,s.prototype);}},S1=class s extends us{constructor(e="WebrpcBadResponse",t=-5,r="bad response",n=0,i){super(e,t,r,n,i),Object.setPrototypeOf(this,s.prototype);}},Ix=class s extends us{constructor(e="WebrpcServerPanic",t=-6,r="server panic",n=0,i){super(e,t,r,n,i),Object.setPrototypeOf(this,s.prototype);}},Cx=class s extends us{constructor(e="WebrpcInternalError",t=-7,r="internal error",n=0,i){super(e,t,r,n,i),Object.setPrototypeOf(this,s.prototype);}},Nx=class s extends us{constructor(e="WebrpcClientDisconnected",t=-8,r="client disconnected",n=0,i){super(e,t,r,n,i),Object.setPrototypeOf(this,s.prototype);}},kx=class s extends us{constructor(e="WebrpcStreamLost",t=-9,r="stream lost",n=0,i){super(e,t,r,n,i),Object.setPrototypeOf(this,s.prototype);}},Px=class s extends us{constructor(e="WebrpcStreamFinished",t=-10,r="stream finished",n=0,i){super(e,t,r,n,i),Object.setPrototypeOf(this,s.prototype);}},Tx=class s extends us{constructor(e="InvalidArgument",t=1,r="invalid argument",n=0,i){super(e,t,r,n,i),Object.setPrototypeOf(this,s.prototype);}},Bx=class s extends us{constructor(e="NotFound",t=2,r="not found",n=0,i){super(e,t,r,n,i),Object.setPrototypeOf(this,s.prototype);}},oN;(function(s){s.WebrpcEndpoint="WebrpcEndpoint",s.WebrpcRequestFailed="WebrpcRequestFailed",s.WebrpcBadRoute="WebrpcBadRoute",s.WebrpcBadMethod="WebrpcBadMethod",s.WebrpcBadRequest="WebrpcBadRequest",s.WebrpcBadResponse="WebrpcBadResponse",s.WebrpcServerPanic="WebrpcServerPanic",s.WebrpcInternalError="WebrpcInternalError",s.WebrpcClientDisconnected="WebrpcClientDisconnected",s.WebrpcStreamLost="WebrpcStreamLost",s.WebrpcStreamFinished="WebrpcStreamFinished",s.InvalidArgument="InvalidArgument",s.NotFound="NotFound";})(oN||(oN={}));var cN;(function(s){s[s.WebrpcEndpoint=0]="WebrpcEndpoint",s[s.WebrpcRequestFailed=-1]="WebrpcRequestFailed",s[s.WebrpcBadRoute=-2]="WebrpcBadRoute",s[s.WebrpcBadMethod=-3]="WebrpcBadMethod",s[s.WebrpcBadRequest=-4]="WebrpcBadRequest",s[s.WebrpcBadResponse=-5]="WebrpcBadResponse",s[s.WebrpcServerPanic=-6]="WebrpcServerPanic",s[s.WebrpcInternalError=-7]="WebrpcInternalError",s[s.WebrpcClientDisconnected=-8]="WebrpcClientDisconnected",s[s.WebrpcStreamLost=-9]="WebrpcStreamLost",s[s.WebrpcStreamFinished=-10]="WebrpcStreamFinished",s[s.InvalidArgument=1]="InvalidArgument",s[s.NotFound=2]="NotFound";})(cN||(cN={}));var P9={0:vx,[-1]:At,[-2]:Ex,[-3]:xx,[-4]:Ax,[-5]:S1,[-6]:Ix,[-7]:Cx,[-8]:Nx,[-9]:kx,[-10]:Px,1:Tx,2:Bx};var Dx=class{service;constructor(e="https://keymachine.sequence.app"){this.service=new b1(e,fetch);}async getConfiguration(e){let{version:t,config:r}=await this.service.config({imageHash:e});if(t!==3)throw new Error(`invalid configuration version ${t}, expected version 3`);return O9(r)}async getDeploy(e){let{deployHash:t,context:r}=await this.service.deployHash({wallet:e});return R.assert(t),M.assert(r.factory),M.assert(r.mainModule),M.assert(r.mainModuleUpgradable),R.assert(r.walletCreationCode),{imageHash:t,context:{factory:r.factory,stage1:r.mainModule,stage2:r.mainModuleUpgradable,creationCode:r.walletCreationCode}}}async getWallets(e){let t=await this.service.wallets({signer:e}),r=kr(t.wallets);return Object.fromEntries(Object.entries(r).map(([n,i])=>{switch(M.assert(n),R.assert(i.signature),i.type){case rt.EIP712:return [n,{chainId:Number(i.chainID),payload:ur(i.payload),signature:{type:"hash",...$t.from(i.signature)}}];case rt.EthSign:return [n,{chainId:Number(i.chainID),payload:ur(i.payload),signature:{type:"eth_sign",...$t.from(i.signature)}}];case rt.EIP1271:return [n,{chainId:Number(i.chainID),payload:ur(i.payload),signature:{type:"erc1271",address:e,data:i.signature}}];case rt.Sapient:throw new Error(`unexpected sapient signature by ${e}`);case rt.SapientCompact:throw new Error(`unexpected compact sapient signature by ${e}`)}}))}async getWalletsForSapient(e,t){let r=await this.service.wallets({signer:e,sapientHash:t}),n=kr(r.wallets);return Object.fromEntries(Object.entries(n).map(([i,a])=>{switch(M.assert(i),R.assert(a.signature),a.type){case rt.EIP712:throw new Error(`unexpected eip-712 signature by ${e}`);case rt.EthSign:throw new Error(`unexpected eth_sign signature by ${e}`);case rt.EIP1271:throw new Error(`unexpected erc-1271 signature by ${e}`);case rt.Sapient:return [i,{chainId:Number(a.chainID),payload:ur(a.payload),signature:{type:"sapient",address:e,data:a.signature}}];case rt.SapientCompact:return [i,{chainId:Number(a.chainID),payload:ur(a.payload),signature:{type:"sapient_compact",address:e,data:a.signature}}]}}))}async getWitnessFor(e,t){try{let{witness:r}=await this.service.witness({signer:t,wallet:e});switch(R.assert(r.signature),r.type){case rt.EIP712:return {chainId:Number(r.chainID),payload:ur(r.payload),signature:{type:"hash",...$t.from(r.signature)}};case rt.EthSign:return {chainId:Number(r.chainID),payload:ur(r.payload),signature:{type:"eth_sign",...$t.from(r.signature)}};case rt.EIP1271:return {chainId:Number(r.chainID),payload:ur(r.payload),signature:{type:"erc1271",address:t,data:r.signature}};case rt.Sapient:throw new Error(`unexpected sapient signature by ${t}`);case rt.SapientCompact:throw new Error(`unexpected compact sapient signature by ${t}`)}}catch{}}async getWitnessForSapient(e,t,r){try{let{witness:n}=await this.service.witness({signer:t,wallet:e,sapientHash:r});switch(R.assert(n.signature),n.type){case rt.EIP712:throw new Error(`unexpected eip-712 signature by ${t}`);case rt.EthSign:throw new Error(`unexpected eth_sign signature by ${t}`);case rt.EIP1271:throw new Error(`unexpected erc-1271 signature by ${t}`);case rt.Sapient:return {chainId:Number(n.chainID),payload:ur(n.payload),signature:{type:"sapient",address:t,data:n.signature}};case rt.SapientCompact:return {chainId:Number(n.chainID),payload:ur(n.payload),signature:{type:"sapient_compact",address:t,data:n.signature}}}}catch{}}async getConfigurationUpdates(e,t,r){let{updates:n}=await this.service.configUpdates({wallet:e,fromImageHash:t,allUpdates:r?.allUpdates});return Promise.all(n.map(async({toImageHash:i,signature:a})=>{R.assert(i),R.assert(a);let o=Zt.decodeSignature(R.toBytes(a)),{configuration:c}=await Zt.recover(o,e,0,we.fromConfigUpdate(i),{provider:B9});return {imageHash:i,signature:{...o,configuration:c}}}))}async getTree(e){let{version:t,tree:r}=await this.service.tree({imageHash:e});if(t!==3)throw new Error(`invalid tree version ${t}, expected version 3`);return hN(r)}async getPayload(e){let{version:t,payload:r,wallet:n,chainID:i}=await this.service.payload({digest:e});if(t!==3)throw new Error(`invalid payload version ${t}, expected version 3`);return M.assert(n),{payload:ur(r),wallet:n,chainId:Number(i)}}async saveWallet(e,t){await this.service.saveWallet({version:3,deployConfig:Rx(e),context:{version:3,factory:t.factory,mainModule:t.stage1,mainModuleUpgradable:t.stage2,guestModule:Xe.DefaultGuestAddress,walletCreationCode:t.creationCode}});}async saveWitnesses(e,t,r,n){await this.service.saveSignerSignatures3({wallet:e,payload:Vx(r),chainID:t.toString(),signatures:Pf(n).map(i=>{switch(i.type){case"hash":return {type:rt.EIP712,signature:$t.toHex($t.from(i))};case"eth_sign":return {type:rt.EthSign,signature:$t.toHex($t.from(i))};case"erc1271":return {type:rt.EIP1271,signer:i.address,signature:i.data,referenceChainID:t.toString()};case"sapient":return {type:rt.Sapient,signer:i.address,signature:i.data,referenceChainID:t.toString()};case"sapient_compact":return {type:rt.SapientCompact,signer:i.address,signature:i.data,referenceChainID:t.toString()}}})});}async saveUpdate(e,t,r){await this.service.saveSignature2({wallet:e,payload:Vx(we.fromConfigUpdate(p.toHex(Ke.hashConfiguration(t)))),chainID:"0",signature:p.toHex(Zt.encodeSignature(r)),toConfig:Rx(t)});}async saveTree(e){await this.service.saveTree({version:3,tree:lN(e)});}async saveConfiguration(e){await this.service.saveConfig({version:3,config:Rx(e)});}async saveDeploy(e,t){}async savePayload(e,t,r){await this.service.savePayload({version:3,payload:Vx(t),wallet:e,chainID:r.toString()});}},T9=[je.Dev1.passkeys,je.Dev2.passkeys,je.Rc3.passkeys,je.Rc4.passkeys,je.Rc5.passkeys].map(M.checksum),uN="function recoverSapientSignatureCompact(bytes32 _digest, bytes _signature) view returns (bytes32)",Ox=de.from(uN),Ux=class{request=async e=>{switch(e.method){case"eth_call":if(!e.params||!Array.isArray(e.params)||e.params.length===0)throw new Error("eth_call requires transaction parameters");let t=e.params[0];if(!t.data?.startsWith(de.getSelector(Ox)))throw new Error(`unknown selector ${t.data?.slice(0,10)}, expected selector ${de.getSelector(Ox)} for ${uN}`);if(!T9.includes(t.to?M.checksum(t.to):"0x"))throw new Error(`unknown passkey signer ${t.to}`);let[r,n]=de.decodeData(Ox,t.data),i=je.Passkeys.decode(R.toBytes(n));if(je.Passkeys.isValidSignature(r,i))return je.Passkeys.rootFor(i.publicKey);throw new Error(`invalid passkey signature ${n} for digest ${r}`);default:throw new Error(`method ${e.method} not implemented`)}};on=e=>{throw new Error(`unable to listen for ${e}: not implemented`)};removeListener=e=>{throw new Error(`unable to remove listener for ${e}: not implemented`)}},B9=new Ux;function Rx(s){return {threshold:Pr(s.threshold),checkpoint:Pr(s.checkpoint),checkpointer:s.checkpointer,tree:v1(s.topology)}}function O9(s){return s.checkpointer!==void 0&&M.assert(s.checkpointer),{threshold:BigInt(s.threshold),checkpoint:BigInt(s.checkpoint),checkpointer:s.checkpointer,topology:E1(s.tree)}}function v1(s){if(Ke.isNode(s))return [v1(s[0]),v1(s[1])];if(Ke.isSignerLeaf(s))return {weight:Pr(s.weight),address:s.address};if(Ke.isSapientSignerLeaf(s))return {weight:Pr(s.weight),address:s.address,imageHash:s.imageHash};if(Ke.isSubdigestLeaf(s))return {subdigest:s.digest};if(Ke.isAnyAddressSubdigestLeaf(s))return {subdigest:s.digest,isAnyAddress:!0};if(Ke.isNestedLeaf(s))return {weight:Pr(s.weight),threshold:Pr(s.threshold),tree:v1(s.tree)};if(Ke.isNodeLeaf(s))return s;throw new Error(`unknown topology '${JSON.stringify(s)}'`)}function E1(s){switch(typeof s){case"string":return R.assert(s),s;case"object":if(s instanceof Array)return [E1(s[0]),E1(s[1])];if("weight"in s){if("address"in s)return M.assert(s.address),s.imageHash?(R.assert(s.imageHash),{type:"sapient-signer",address:s.address,weight:BigInt(s.weight),imageHash:s.imageHash}):{type:"signer",address:s.address,weight:BigInt(s.weight)};if("tree"in s)return {type:"nested",weight:BigInt(s.weight),threshold:BigInt(s.threshold),tree:E1(s.tree)}}if("subdigest"in s)return R.assert(s.subdigest),{type:s.isAnyAddress?"any-address-subdigest":"subdigest",digest:s.subdigest}}throw new Error(`unknown config tree '${JSON.stringify(s)}'`)}function Vx(s){if(we.isCalls(s))return {type:"call",space:Pr(s.space),nonce:Pr(s.nonce),calls:s.calls.map(R9)};if(we.isMessage(s))return {type:"message",message:s.message};if(we.isConfigUpdate(s))return {type:"config-update",imageHash:s.imageHash};if(we.isDigest(s))return {type:"digest",digest:s.digest};throw new Error(`unknown payload '${JSON.stringify(s)}'`)}function ur(s){switch(s.type){case"call":return {type:"call",space:BigInt(s.space),nonce:BigInt(s.nonce),calls:s.calls.map(V9)};case"message":return R.assert(s.message),{type:"message",message:s.message};case"config-update":return R.assert(s.imageHash),{type:"config-update",imageHash:s.imageHash};case"digest":return R.assert(s.digest),{type:"digest",digest:s.digest}}}function R9(s){return {to:s.to,value:Pr(s.value),data:s.data,gasLimit:Pr(s.gasLimit),delegateCall:s.delegateCall,onlyFallback:s.onlyFallback,behaviorOnError:s.behaviorOnError}}function V9(s){return M.assert(s.to),R.assert(s.data),{to:s.to,value:BigInt(s.value),data:s.data,gasLimit:BigInt(s.gasLimit),delegateCall:s.delegateCall,onlyFallback:s.onlyFallback,behaviorOnError:s.behaviorOnError}}function lN(s){if(js.isBranch(s))return s.map(lN);if(js.isLeaf(s))return {data:p.toHex(s.value)};if(js.isNode(s))return s;throw new Error(`unknown tree '${JSON.stringify(s)}'`)}function hN(s){switch(typeof s){case"string":return R.assert(s),s;case"object":if(s instanceof Array)return s.map(hN);if("data"in s)return R.assert(s.data),{type:"leaf",value:R.toBytes(s.data)}}throw new Error(`unknown tree '${JSON.stringify(s)}'`)}function Pr(s){return s<Number.MIN_SAFE_INTEGER||s>Number.MAX_SAFE_INTEGER?s.toString():Number(s)}function Pf(s){if(Zt.isRawNode(s))return [...Pf(s[0]),...Pf(s[1])];if(Zt.isRawSignerLeaf(s))return [s.signature];if(Ke.isNestedLeaf(s))return Pf(s.tree);if(Zt.isRawNestedLeaf(s))return Pf(s.tree);if(Ke.isSignerLeaf(s))return s.signature?[s.signature]:[];if(Ke.isSapientSignerLeaf(s))return s.signature?[s.signature]:[];if(Ke.isSubdigestLeaf(s))return [];if(Ke.isAnyAddressSubdigestLeaf(s))return [];if(Ke.isNodeLeaf(s))return [];throw new Error(`unknown topology '${JSON.stringify(s)}'`)}d();f();function D9(s,e){return typeof e=="bigint"?e.toString():e instanceof Uint8Array?R.fromBytes(e):e}function x1(s){return JSON.stringify(s,D9,2)}function A1(s){if(typeof s=="bigint")return s.toString();if(s instanceof Uint8Array)return R.fromBytes(s);if(typeof s=="string")return s.toLowerCase();if(Array.isArray(s))return s.map(A1);if(s&&typeof s=="object"){let e=[];for(let t of Object.keys(s).filter(r=>s[r]!==void 0).sort())e.push([t.toLowerCase(),A1(s[t])]);return e}return s}function U9(s,e){return JSON.stringify(A1(s))===JSON.stringify(A1(e))}function L9(s,e){let t={get(r,n,i){let a=s[n];return typeof a!="function"?Reflect.get(s,n):async(...o)=>{let c=String(n),u=x1(o),l;try{l=await a.apply(s,o);}catch(w){let E=Math.floor(1e6*Math.random()).toString().padStart(6,"0");throw console.trace(`[${E}] calling ${c}: ${u}
349
- [${E}] warning: reference ${c} threw:`,w),w}let m=x1(l);return await Promise.all(Object.entries(e).map(async([w,E])=>{let v=E[n];if(typeof v!="function"){let D=Math.floor(1e6*Math.random()).toString().padStart(6,"0");console.trace(`[${D}] calling ${c}: ${u}
350
- [${D}] reference returned: ${m}
351
- [${D}] warning: ${w} has no ${c}`);return}let A;try{A=v.apply(E,o),A=await Promise.resolve(A);}catch(D){let U=Math.floor(1e6*Math.random()).toString().padStart(6,"0");console.trace(`[${U}] calling ${c}: ${u}
352
- [${U}] reference returned: ${m}
353
- [${U}] warning: ${w} ${c} threw:`,D);return}let C=Math.floor(1e6*Math.random()).toString().padStart(6,"0");U9(l,A)?console.trace(`[${C}] calling ${c}: ${u}
354
- [${C}] reference returned: ${m}
355
- [${C}] ${w} returned: ${x1(A)}`):console.trace(`[${C}] calling ${c}: ${u}
356
- [${C}] reference returned: ${m}
357
- [${C}] ${w} returned: ${x1(A)}
358
- [${C}] warning: ${w} ${c} does not match reference`);})),l}}};return new Proxy(s,t)}({knownContexts:Ka.KnownContexts,stateProvider:new Tf.Provider,guest:Xe.DefaultGuestAddress});d();f();d();f();d();f();d();f();d();f();d();f();d();f();var Bf={};Te(Bf,{EIP1193ProviderAdapter:()=>Xa,EIP6963:()=>N2,LocalRelayer:()=>Za,PkRelayer:()=>E2,RpcRelayer:()=>v2,SequenceRelayer:()=>x2,getChain:()=>bN,isRelayer:()=>J9});d();f();d();f();d();f();var Ut;(function(s){s.UNKNOWN="UNKNOWN",s.DROPPED="DROPPED",s.QUEUED="QUEUED",s.SENT="SENT",s.SUCCEEDED="SUCCEEDED",s.PARTIALLY_FAILED="PARTIALLY_FAILED",s.FAILED="FAILED",s.PENDING_PRECONDITION="PENDING_PRECONDITION";})(Ut||(Ut={}));var dN;(function(s){s.SEND="SEND",s.RECEIVE="RECEIVE",s.BRIDGE_DEPOSIT="BRIDGE_DEPOSIT",s.BRIDGE_WITHDRAW="BRIDGE_WITHDRAW",s.BURN="BURN",s.UNKNOWN="UNKNOWN";})(dN||(dN={}));var mN;(function(s){s.SKIPPED="SKIPPED",s.SUCCEEDED="SUCCEEDED",s.FAILED="FAILED",s.ABORTED="ABORTED",s.REVERTED="REVERTED",s.NOT_ENOUGH_GAS="NOT_ENOUGH_GAS";})(mN||(mN={}));var I1;(function(s){s.UNKNOWN="UNKNOWN",s.ERC20_TOKEN="ERC20_TOKEN",s.ERC1155_TOKEN="ERC1155_TOKEN";})(I1||(I1={}));var pN;(function(s){s.DESC="DESC",s.ASC="ASC";})(pN||(pN={}));var mu=class{hostname;fetch;path="/rpc/Relayer/";constructor(e,t){this.hostname=e.replace(/\/*$/,""),this.fetch=(r,n)=>t(r,n);}url(e){return this.hostname+this.path+e}queryKey={ping:()=>["Relayer","ping"],version:()=>["Relayer","version"],runtimeStatus:()=>["Relayer","runtimeStatus"],getSequenceContext:()=>["Relayer","getSequenceContext"],getChainID:()=>["Relayer","getChainID"],sendMetaTxn:e=>["Relayer","sendMetaTxn",e],getMetaTxnNonce:e=>["Relayer","getMetaTxnNonce",e],getMetaTxnReceipt:e=>["Relayer","getMetaTxnReceipt",e],simulate:e=>["Relayer","simulate",e],simulateV3:e=>["Relayer","simulateV3",e],updateMetaTxnGasLimits:e=>["Relayer","updateMetaTxnGasLimits",e],feeTokens:()=>["Relayer","feeTokens"],feeOptions:e=>["Relayer","feeOptions",e],getMetaTxnNetworkFeeOptions:e=>["Relayer","getMetaTxnNetworkFeeOptions",e],getMetaTransactions:e=>["Relayer","getMetaTransactions",e],getTransactionCost:e=>["Relayer","getTransactionCost",e],sentTransactions:e=>["Relayer","sentTransactions",e],pendingTransactions:e=>["Relayer","pendingTransactions",e],getGasTank:e=>["Relayer","getGasTank",e],addGasTank:e=>["Relayer","addGasTank",e],updateGasTank:e=>["Relayer","updateGasTank",e],nextGasTankBalanceAdjustmentNonce:e=>["Relayer","nextGasTankBalanceAdjustmentNonce",e],adjustGasTankBalance:e=>["Relayer","adjustGasTankBalance",e],getGasTankBalanceAdjustment:e=>["Relayer","getGasTankBalanceAdjustment",e],listGasTankBalanceAdjustments:e=>["Relayer","listGasTankBalanceAdjustments",e],listGasSponsors:e=>["Relayer","listGasSponsors",e],getGasSponsor:e=>["Relayer","getGasSponsor",e],addGasSponsor:e=>["Relayer","addGasSponsor",e],updateGasSponsor:e=>["Relayer","updateGasSponsor",e],removeGasSponsor:e=>["Relayer","removeGasSponsor",e],addressGasSponsors:e=>["Relayer","addressGasSponsors",e],getProjectBalance:e=>["Relayer","getProjectBalance",e],adjustProjectBalance:e=>["Relayer","adjustProjectBalance",e]};ping=(e,t)=>this.fetch(this.url("Ping"),ze("{}",e,t)).then(r=>Ye(r).then(n=>Ze(n,"PingReturn")),r=>{throw Ge.new({cause:`fetch(): ${r instanceof Error?r.message:String(r)}`})});version=(e,t)=>this.fetch(this.url("Version"),ze("{}",e,t)).then(r=>Ye(r).then(n=>Ze(n,"VersionReturn")),r=>{throw Ge.new({cause:`fetch(): ${r instanceof Error?r.message:String(r)}`})});runtimeStatus=(e,t)=>this.fetch(this.url("RuntimeStatus"),ze("{}",e,t)).then(r=>Ye(r).then(n=>Ze(n,"RuntimeStatusReturn")),r=>{throw Ge.new({cause:`fetch(): ${r instanceof Error?r.message:String(r)}`})});getSequenceContext=(e,t)=>this.fetch(this.url("GetSequenceContext"),ze("{}",e,t)).then(r=>Ye(r).then(n=>Ze(n,"GetSequenceContextReturn")),r=>{throw Ge.new({cause:`fetch(): ${r instanceof Error?r.message:String(r)}`})});getChainID=(e,t)=>this.fetch(this.url("GetChainID"),ze("{}",e,t)).then(r=>Ye(r).then(n=>Ze(n,"GetChainIDReturn")),r=>{throw Ge.new({cause:`fetch(): ${r instanceof Error?r.message:String(r)}`})});sendMetaTxn=(e,t,r)=>this.fetch(this.url("SendMetaTxn"),ze(lt(e,"SendMetaTxnArgs"),t,r)).then(n=>Ye(n).then(i=>Ze(i,"SendMetaTxnReturn")),n=>{throw Ge.new({cause:`fetch(): ${n instanceof Error?n.message:String(n)}`})});getMetaTxnNonce=(e,t,r)=>this.fetch(this.url("GetMetaTxnNonce"),ze(lt(e,"GetMetaTxnNonceArgs"),t,r)).then(n=>Ye(n).then(i=>Ze(i,"GetMetaTxnNonceReturn")),n=>{throw Ge.new({cause:`fetch(): ${n instanceof Error?n.message:String(n)}`})});getMetaTxnReceipt=(e,t,r)=>this.fetch(this.url("GetMetaTxnReceipt"),ze(lt(e,"GetMetaTxnReceiptArgs"),t,r)).then(n=>Ye(n).then(i=>Ze(i,"GetMetaTxnReceiptReturn")),n=>{throw Ge.new({cause:`fetch(): ${n instanceof Error?n.message:String(n)}`})});simulate=(e,t,r)=>this.fetch(this.url("Simulate"),ze(lt(e,"SimulateArgs"),t,r)).then(n=>Ye(n).then(i=>Ze(i,"SimulateReturn")),n=>{throw Ge.new({cause:`fetch(): ${n instanceof Error?n.message:String(n)}`})});simulateV3=(e,t,r)=>this.fetch(this.url("SimulateV3"),ze(lt(e,"SimulateV3Args"),t,r)).then(n=>Ye(n).then(i=>Ze(i,"SimulateV3Return")),n=>{throw Ge.new({cause:`fetch(): ${n instanceof Error?n.message:String(n)}`})});updateMetaTxnGasLimits=(e,t,r)=>this.fetch(this.url("UpdateMetaTxnGasLimits"),ze(lt(e,"UpdateMetaTxnGasLimitsArgs"),t,r)).then(n=>Ye(n).then(i=>Ze(i,"UpdateMetaTxnGasLimitsReturn")),n=>{throw Ge.new({cause:`fetch(): ${n instanceof Error?n.message:String(n)}`})});feeTokens=(e,t)=>this.fetch(this.url("FeeTokens"),ze("{}",e,t)).then(r=>Ye(r).then(n=>Ze(n,"FeeTokensReturn")),r=>{throw Ge.new({cause:`fetch(): ${r instanceof Error?r.message:String(r)}`})});feeOptions=(e,t,r)=>this.fetch(this.url("FeeOptions"),ze(lt(e,"FeeOptionsArgs"),t,r)).then(n=>Ye(n).then(i=>Ze(i,"FeeOptionsReturn")),n=>{throw Ge.new({cause:`fetch(): ${n instanceof Error?n.message:String(n)}`})});getMetaTxnNetworkFeeOptions=(e,t,r)=>this.fetch(this.url("GetMetaTxnNetworkFeeOptions"),ze(lt(e,"GetMetaTxnNetworkFeeOptionsArgs"),t,r)).then(n=>Ye(n).then(i=>Ze(i,"GetMetaTxnNetworkFeeOptionsReturn")),n=>{throw Ge.new({cause:`fetch(): ${n instanceof Error?n.message:String(n)}`})});getMetaTransactions=(e,t,r)=>this.fetch(this.url("GetMetaTransactions"),ze(lt(e,"GetMetaTransactionsArgs"),t,r)).then(n=>Ye(n).then(i=>Ze(i,"GetMetaTransactionsReturn")),n=>{throw Ge.new({cause:`fetch(): ${n instanceof Error?n.message:String(n)}`})});getTransactionCost=(e,t,r)=>this.fetch(this.url("GetTransactionCost"),ze(lt(e,"GetTransactionCostArgs"),t,r)).then(n=>Ye(n).then(i=>Ze(i,"GetTransactionCostReturn")),n=>{throw Ge.new({cause:`fetch(): ${n instanceof Error?n.message:String(n)}`})});sentTransactions=(e,t,r)=>this.fetch(this.url("SentTransactions"),ze(lt(e,"SentTransactionsArgs"),t,r)).then(n=>Ye(n).then(i=>Ze(i,"SentTransactionsReturn")),n=>{throw Ge.new({cause:`fetch(): ${n instanceof Error?n.message:String(n)}`})});pendingTransactions=(e,t,r)=>this.fetch(this.url("PendingTransactions"),ze(lt(e,"PendingTransactionsArgs"),t,r)).then(n=>Ye(n).then(i=>Ze(i,"PendingTransactionsReturn")),n=>{throw Ge.new({cause:`fetch(): ${n instanceof Error?n.message:String(n)}`})});getGasTank=(e,t,r)=>this.fetch(this.url("GetGasTank"),ze(lt(e,"GetGasTankArgs"),t,r)).then(n=>Ye(n).then(i=>Ze(i,"GetGasTankReturn")),n=>{throw Ge.new({cause:`fetch(): ${n instanceof Error?n.message:String(n)}`})});addGasTank=(e,t,r)=>this.fetch(this.url("AddGasTank"),ze(lt(e,"AddGasTankArgs"),t,r)).then(n=>Ye(n).then(i=>Ze(i,"AddGasTankReturn")),n=>{throw Ge.new({cause:`fetch(): ${n instanceof Error?n.message:String(n)}`})});updateGasTank=(e,t,r)=>this.fetch(this.url("UpdateGasTank"),ze(lt(e,"UpdateGasTankArgs"),t,r)).then(n=>Ye(n).then(i=>Ze(i,"UpdateGasTankReturn")),n=>{throw Ge.new({cause:`fetch(): ${n instanceof Error?n.message:String(n)}`})});nextGasTankBalanceAdjustmentNonce=(e,t,r)=>this.fetch(this.url("NextGasTankBalanceAdjustmentNonce"),ze(lt(e,"NextGasTankBalanceAdjustmentNonceArgs"),t,r)).then(n=>Ye(n).then(i=>Ze(i,"NextGasTankBalanceAdjustmentNonceReturn")),n=>{throw Ge.new({cause:`fetch(): ${n instanceof Error?n.message:String(n)}`})});adjustGasTankBalance=(e,t,r)=>this.fetch(this.url("AdjustGasTankBalance"),ze(lt(e,"AdjustGasTankBalanceArgs"),t,r)).then(n=>Ye(n).then(i=>Ze(i,"AdjustGasTankBalanceReturn")),n=>{throw Ge.new({cause:`fetch(): ${n instanceof Error?n.message:String(n)}`})});getGasTankBalanceAdjustment=(e,t,r)=>this.fetch(this.url("GetGasTankBalanceAdjustment"),ze(lt(e,"GetGasTankBalanceAdjustmentArgs"),t,r)).then(n=>Ye(n).then(i=>Ze(i,"GetGasTankBalanceAdjustmentReturn")),n=>{throw Ge.new({cause:`fetch(): ${n instanceof Error?n.message:String(n)}`})});listGasTankBalanceAdjustments=(e,t,r)=>this.fetch(this.url("ListGasTankBalanceAdjustments"),ze(lt(e,"ListGasTankBalanceAdjustmentsArgs"),t,r)).then(n=>Ye(n).then(i=>Ze(i,"ListGasTankBalanceAdjustmentsReturn")),n=>{throw Ge.new({cause:`fetch(): ${n instanceof Error?n.message:String(n)}`})});listGasSponsors=(e,t,r)=>this.fetch(this.url("ListGasSponsors"),ze(lt(e,"ListGasSponsorsArgs"),t,r)).then(n=>Ye(n).then(i=>Ze(i,"ListGasSponsorsReturn")),n=>{throw Ge.new({cause:`fetch(): ${n instanceof Error?n.message:String(n)}`})});getGasSponsor=(e,t,r)=>this.fetch(this.url("GetGasSponsor"),ze(lt(e,"GetGasSponsorArgs"),t,r)).then(n=>Ye(n).then(i=>Ze(i,"GetGasSponsorReturn")),n=>{throw Ge.new({cause:`fetch(): ${n instanceof Error?n.message:String(n)}`})});addGasSponsor=(e,t,r)=>this.fetch(this.url("AddGasSponsor"),ze(lt(e,"AddGasSponsorArgs"),t,r)).then(n=>Ye(n).then(i=>Ze(i,"AddGasSponsorReturn")),n=>{throw Ge.new({cause:`fetch(): ${n instanceof Error?n.message:String(n)}`})});updateGasSponsor=(e,t,r)=>this.fetch(this.url("UpdateGasSponsor"),ze(lt(e,"UpdateGasSponsorArgs"),t,r)).then(n=>Ye(n).then(i=>Ze(i,"UpdateGasSponsorReturn")),n=>{throw Ge.new({cause:`fetch(): ${n instanceof Error?n.message:String(n)}`})});removeGasSponsor=(e,t,r)=>this.fetch(this.url("RemoveGasSponsor"),ze(lt(e,"RemoveGasSponsorArgs"),t,r)).then(n=>Ye(n).then(i=>Ze(i,"RemoveGasSponsorReturn")),n=>{throw Ge.new({cause:`fetch(): ${n instanceof Error?n.message:String(n)}`})});addressGasSponsors=(e,t,r)=>this.fetch(this.url("AddressGasSponsors"),ze(lt(e,"AddressGasSponsorsArgs"),t,r)).then(n=>Ye(n).then(i=>Ze(i,"AddressGasSponsorsReturn")),n=>{throw Ge.new({cause:`fetch(): ${n instanceof Error?n.message:String(n)}`})});getProjectBalance=(e,t,r)=>this.fetch(this.url("GetProjectBalance"),ze(lt(e,"GetProjectBalanceArgs"),t,r)).then(n=>Ye(n).then(i=>Ze(i,"GetProjectBalanceReturn")),n=>{throw Ge.new({cause:`fetch(): ${n instanceof Error?n.message:String(n)}`})});adjustProjectBalance=(e,t,r)=>this.fetch(this.url("AdjustProjectBalance"),ze(lt(e,"AdjustProjectBalanceArgs"),t,r)).then(n=>Ye(n).then(i=>Ze(i,"AdjustProjectBalanceReturn")),n=>{throw Ge.new({cause:`fetch(): ${n instanceof Error?n.message:String(n)}`})})},ze=(s="{}",e={},t=null)=>({method:"POST",headers:{...e,"Content-Type":"application/json"},body:s,signal:t}),Ye=s=>s.text().then(e=>{let t;try{t=JSON.parse(e);}catch(r){throw Ya.new({status:s.status,cause:`JSON.parse(): ${r instanceof Error?r.message:String(r)}: response text: ${e}`})}if(!s.ok){let r=typeof t.code=="number"?t.code:0;throw (_9[r]||Ue).new(t)}return t}),wN={SendMetaTxnArgs:[["preconditions","TransactionPrecondition[]"]],TransactionPrecondition:["minAmount"],Transactions:[["preconditions","TransactionPrecondition[]"]]};function Lx(s,e){if(e==null||typeof e!="object")return e;let t=wN[s]||[];if(!t.length)return e;for(let r of t){if(Array.isArray(r)){let[n,i]=r;if(n.endsWith("[]")){let a=n.slice(0,-2),o=e[a];if(Array.isArray(o))for(let c=0;c<o.length;c++)o[c]=Lx(i,o[c]);}else e[n]&&(e[n]=Lx(i,e[n]));continue}if(r.endsWith("[]")){let n=r.slice(0,-2),i=e[n];if(Array.isArray(i))for(let a=0;a<i.length;a++)typeof i[a]=="bigint"&&(i[a]=i[a].toString());continue}typeof e[r]=="bigint"&&(e[r]=e[r].toString());}return e}function jx(s,e){if(e==null||typeof e!="object")return e;let t=wN[s]||[];if(!t.length)return e;for(let r of t){if(Array.isArray(r)){let[i,a]=r;if(i.endsWith("[]")){let o=i.slice(0,-2),c=e[o];if(Array.isArray(c))for(let u=0;u<c.length;u++)c[u]=jx(a,c[u]);}else e[i]&&(e[i]=jx(a,e[i]));continue}if(r.endsWith("[]")){let i=r.slice(0,-2),a=e[i];if(Array.isArray(a))for(let o=0;o<a.length;o++){let c=a[o];if(typeof c=="string")try{a[o]=BigInt(c);}catch{throw Ya.new({cause:`Invalid bigint value for ${i}[${o}]: ${c}`})}}continue}let n=e[r];if(typeof n=="string")try{e[r]=BigInt(n);}catch{throw Ya.new({cause:`Invalid bigint value for ${r}: ${n}`})}}return e}var lt=(s,e="")=>JSON.stringify(Lx(e,s)),Ze=(s,e="")=>{let t=s;if(typeof s=="string")try{t=JSON.parse(s);}catch(r){throw Ya.new({cause:`JsonDecode: JSON.parse failed: ${r.message}`})}return jx(e,t)},Ue=class s extends Error{code;status;constructor(e={}){super(e.message),this.name=e.name||"WebrpcEndpointError",this.code=typeof e.code=="number"?e.code:0,this.message=e.message||"endpoint error",this.status=typeof e.status=="number"?e.status:400,e.cause!==void 0&&(this.cause=e.cause),Object.setPrototypeOf(this,s.prototype);}static new(e){return new this({message:e.message,code:e.code,status:e.status,cause:e.cause})}},Hx=class s extends Ue{constructor(e={}){super(e),this.name=e.name||"WebrpcEndpoint",this.code=typeof e.code=="number"?e.code:0,this.message=e.message||"endpoint error",this.status=typeof e.status=="number"?e.status:400,e.cause!==void 0&&(this.cause=e.cause),Object.setPrototypeOf(this,s.prototype);}},Ge=class s extends Ue{constructor(e={}){super(e),this.name=e.name||"WebrpcRequestFailed",this.code=typeof e.code=="number"?e.code:-1,this.message=e.message||"request failed",this.status=typeof e.status=="number"?e.status:400,e.cause!==void 0&&(this.cause=e.cause),Object.setPrototypeOf(this,s.prototype);}},_x=class s extends Ue{constructor(e={}){super(e),this.name=e.name||"WebrpcBadRoute",this.code=typeof e.code=="number"?e.code:-2,this.message=e.message||"bad route",this.status=typeof e.status=="number"?e.status:404,e.cause!==void 0&&(this.cause=e.cause),Object.setPrototypeOf(this,s.prototype);}},Mx=class s extends Ue{constructor(e={}){super(e),this.name=e.name||"WebrpcBadMethod",this.code=typeof e.code=="number"?e.code:-3,this.message=e.message||"bad method",this.status=typeof e.status=="number"?e.status:405,e.cause!==void 0&&(this.cause=e.cause),Object.setPrototypeOf(this,s.prototype);}},$x=class s extends Ue{constructor(e={}){super(e),this.name=e.name||"WebrpcBadRequest",this.code=typeof e.code=="number"?e.code:-4,this.message=e.message||"bad request",this.status=typeof e.status=="number"?e.status:400,e.cause!==void 0&&(this.cause=e.cause),Object.setPrototypeOf(this,s.prototype);}},Ya=class s extends Ue{constructor(e={}){super(e),this.name=e.name||"WebrpcBadResponse",this.code=typeof e.code=="number"?e.code:-5,this.message=e.message||"bad response",this.status=typeof e.status=="number"?e.status:500,e.cause!==void 0&&(this.cause=e.cause),Object.setPrototypeOf(this,s.prototype);}},qx=class s extends Ue{constructor(e={}){super(e),this.name=e.name||"WebrpcServerPanic",this.code=typeof e.code=="number"?e.code:-6,this.message=e.message||"server panic",this.status=typeof e.status=="number"?e.status:500,e.cause!==void 0&&(this.cause=e.cause),Object.setPrototypeOf(this,s.prototype);}},Fx=class s extends Ue{constructor(e={}){super(e),this.name=e.name||"WebrpcInternalError",this.code=typeof e.code=="number"?e.code:-7,this.message=e.message||"internal error",this.status=typeof e.status=="number"?e.status:500,e.cause!==void 0&&(this.cause=e.cause),Object.setPrototypeOf(this,s.prototype);}},Kx=class s extends Ue{constructor(e={}){super(e),this.name=e.name||"WebrpcClientAborted",this.code=typeof e.code=="number"?e.code:-8,this.message=e.message||"request aborted by client",this.status=typeof e.status=="number"?e.status:400,e.cause!==void 0&&(this.cause=e.cause),Object.setPrototypeOf(this,s.prototype);}},Gx=class s extends Ue{constructor(e={}){super(e),this.name=e.name||"WebrpcStreamLost",this.code=typeof e.code=="number"?e.code:-9,this.message=e.message||"stream lost",this.status=typeof e.status=="number"?e.status:400,e.cause!==void 0&&(this.cause=e.cause),Object.setPrototypeOf(this,s.prototype);}},Wx=class s extends Ue{constructor(e={}){super(e),this.name=e.name||"WebrpcStreamFinished",this.code=typeof e.code=="number"?e.code:-10,this.message=e.message||"stream finished",this.status=typeof e.status=="number"?e.status:200,e.cause!==void 0&&(this.cause=e.cause),Object.setPrototypeOf(this,s.prototype);}},Jx=class s extends Ue{constructor(e={}){super(e),this.name=e.name||"Unauthorized",this.code=typeof e.code=="number"?e.code:1e3,this.message=e.message||"Unauthorized access",this.status=typeof e.status=="number"?e.status:401,e.cause!==void 0&&(this.cause=e.cause),Object.setPrototypeOf(this,s.prototype);}},zx=class s extends Ue{constructor(e={}){super(e),this.name=e.name||"PermissionDenied",this.code=typeof e.code=="number"?e.code:1001,this.message=e.message||"Permission denied",this.status=typeof e.status=="number"?e.status:403,e.cause!==void 0&&(this.cause=e.cause),Object.setPrototypeOf(this,s.prototype);}},Yx=class s extends Ue{constructor(e={}){super(e),this.name=e.name||"SessionExpired",this.code=typeof e.code=="number"?e.code:1002,this.message=e.message||"Session expired",this.status=typeof e.status=="number"?e.status:403,e.cause!==void 0&&(this.cause=e.cause),Object.setPrototypeOf(this,s.prototype);}},Zx=class s extends Ue{constructor(e={}){super(e),this.name=e.name||"MethodNotFound",this.code=typeof e.code=="number"?e.code:1003,this.message=e.message||"Method not found",this.status=typeof e.status=="number"?e.status:404,e.cause!==void 0&&(this.cause=e.cause),Object.setPrototypeOf(this,s.prototype);}},Xx=class s extends Ue{constructor(e={}){super(e),this.name=e.name||"RequestConflict",this.code=typeof e.code=="number"?e.code:1004,this.message=e.message||"Conflict with target resource",this.status=typeof e.status=="number"?e.status:409,e.cause!==void 0&&(this.cause=e.cause),Object.setPrototypeOf(this,s.prototype);}},Qx=class s extends Ue{constructor(e={}){super(e),this.name=e.name||"Aborted",this.code=typeof e.code=="number"?e.code:1005,this.message=e.message||"Request aborted",this.status=typeof e.status=="number"?e.status:400,e.cause!==void 0&&(this.cause=e.cause),Object.setPrototypeOf(this,s.prototype);}},e2=class s extends Ue{constructor(e={}){super(e),this.name=e.name||"Geoblocked",this.code=typeof e.code=="number"?e.code:1006,this.message=e.message||"Geoblocked region",this.status=typeof e.status=="number"?e.status:451,e.cause!==void 0&&(this.cause=e.cause),Object.setPrototypeOf(this,s.prototype);}},t2=class s extends Ue{constructor(e={}){super(e),this.name=e.name||"RateLimited",this.code=typeof e.code=="number"?e.code:1007,this.message=e.message||"Rate-limited. Please slow down.",this.status=typeof e.status=="number"?e.status:429,e.cause!==void 0&&(this.cause=e.cause),Object.setPrototypeOf(this,s.prototype);}},s2=class s extends Ue{constructor(e={}){super(e),this.name=e.name||"ProjectNotFound",this.code=typeof e.code=="number"?e.code:1008,this.message=e.message||"Project not found",this.status=typeof e.status=="number"?e.status:401,e.cause!==void 0&&(this.cause=e.cause),Object.setPrototypeOf(this,s.prototype);}},r2=class s extends Ue{constructor(e={}){super(e),this.name=e.name||"AccessKeyNotFound",this.code=typeof e.code=="number"?e.code:1101,this.message=e.message||"Access key not found",this.status=typeof e.status=="number"?e.status:401,e.cause!==void 0&&(this.cause=e.cause),Object.setPrototypeOf(this,s.prototype);}},n2=class s extends Ue{constructor(e={}){super(e),this.name=e.name||"AccessKeyMismatch",this.code=typeof e.code=="number"?e.code:1102,this.message=e.message||"Access key mismatch",this.status=typeof e.status=="number"?e.status:409,e.cause!==void 0&&(this.cause=e.cause),Object.setPrototypeOf(this,s.prototype);}},i2=class s extends Ue{constructor(e={}){super(e),this.name=e.name||"InvalidOrigin",this.code=typeof e.code=="number"?e.code:1103,this.message=e.message||"Invalid origin for Access Key",this.status=typeof e.status=="number"?e.status:403,e.cause!==void 0&&(this.cause=e.cause),Object.setPrototypeOf(this,s.prototype);}},a2=class s extends Ue{constructor(e={}){super(e),this.name=e.name||"InvalidService",this.code=typeof e.code=="number"?e.code:1104,this.message=e.message||"Service not enabled for Access key",this.status=typeof e.status=="number"?e.status:403,e.cause!==void 0&&(this.cause=e.cause),Object.setPrototypeOf(this,s.prototype);}},o2=class s extends Ue{constructor(e={}){super(e),this.name=e.name||"UnauthorizedUser",this.code=typeof e.code=="number"?e.code:1105,this.message=e.message||"Unauthorized user",this.status=typeof e.status=="number"?e.status:403,e.cause!==void 0&&(this.cause=e.cause),Object.setPrototypeOf(this,s.prototype);}},c2=class s extends Ue{constructor(e={}){super(e),this.name=e.name||"QuotaExceeded",this.code=typeof e.code=="number"?e.code:1200,this.message=e.message||"Quota request exceeded",this.status=typeof e.status=="number"?e.status:429,e.cause!==void 0&&(this.cause=e.cause),Object.setPrototypeOf(this,s.prototype);}},u2=class s extends Ue{constructor(e={}){super(e),this.name=e.name||"QuotaRateLimit",this.code=typeof e.code=="number"?e.code:1201,this.message=e.message||"Quota rate limit exceeded",this.status=typeof e.status=="number"?e.status:429,e.cause!==void 0&&(this.cause=e.cause),Object.setPrototypeOf(this,s.prototype);}},l2=class s extends Ue{constructor(e={}){super(e),this.name=e.name||"NoDefaultKey",this.code=typeof e.code=="number"?e.code:1300,this.message=e.message||"No default access key found",this.status=typeof e.status=="number"?e.status:403,e.cause!==void 0&&(this.cause=e.cause),Object.setPrototypeOf(this,s.prototype);}},h2=class s extends Ue{constructor(e={}){super(e),this.name=e.name||"MaxAccessKeys",this.code=typeof e.code=="number"?e.code:1301,this.message=e.message||"Access keys limit reached",this.status=typeof e.status=="number"?e.status:403,e.cause!==void 0&&(this.cause=e.cause),Object.setPrototypeOf(this,s.prototype);}},f2=class s extends Ue{constructor(e={}){super(e),this.name=e.name||"AtLeastOneKey",this.code=typeof e.code=="number"?e.code:1302,this.message=e.message||"You need at least one Access Key",this.status=typeof e.status=="number"?e.status:403,e.cause!==void 0&&(this.cause=e.cause),Object.setPrototypeOf(this,s.prototype);}},d2=class s extends Ue{constructor(e={}){super(e),this.name=e.name||"Timeout",this.code=typeof e.code=="number"?e.code:1900,this.message=e.message||"Request timed out",this.status=typeof e.status=="number"?e.status:408,e.cause!==void 0&&(this.cause=e.cause),Object.setPrototypeOf(this,s.prototype);}},m2=class s extends Ue{constructor(e={}){super(e),this.name=e.name||"InvalidArgument",this.code=typeof e.code=="number"?e.code:2001,this.message=e.message||"Invalid argument",this.status=typeof e.status=="number"?e.status:400,e.cause!==void 0&&(this.cause=e.cause),Object.setPrototypeOf(this,s.prototype);}},p2=class s extends Ue{constructor(e={}){super(e),this.name=e.name||"Unavailable",this.code=typeof e.code=="number"?e.code:2002,this.message=e.message||"Unavailable resource",this.status=typeof e.status=="number"?e.status:400,e.cause!==void 0&&(this.cause=e.cause),Object.setPrototypeOf(this,s.prototype);}},g2=class s extends Ue{constructor(e={}){super(e),this.name=e.name||"QueryFailed",this.code=typeof e.code=="number"?e.code:2003,this.message=e.message||"Query failed",this.status=typeof e.status=="number"?e.status:400,e.cause!==void 0&&(this.cause=e.cause),Object.setPrototypeOf(this,s.prototype);}},y2=class s extends Ue{constructor(e={}){super(e),this.name=e.name||"NotFound",this.code=typeof e.code=="number"?e.code:3e3,this.message=e.message||"Resource not found",this.status=typeof e.status=="number"?e.status:400,e.cause!==void 0&&(this.cause=e.cause),Object.setPrototypeOf(this,s.prototype);}},w2=class s extends Ue{constructor(e={}){super(e),this.name=e.name||"InsufficientFee",this.code=typeof e.code=="number"?e.code:3004,this.message=e.message||"Insufficient fee",this.status=typeof e.status=="number"?e.status:402,e.cause!==void 0&&(this.cause=e.cause),Object.setPrototypeOf(this,s.prototype);}},b2=class s extends Ue{constructor(e={}){super(e),this.name=e.name||"NotEnoughBalance",this.code=typeof e.code=="number"?e.code:3005,this.message=e.message||"Not enough balance",this.status=typeof e.status=="number"?e.status:402,e.cause!==void 0&&(this.cause=e.cause),Object.setPrototypeOf(this,s.prototype);}},S2=class s extends Ue{constructor(e={}){super(e),this.name=e.name||"SimulationFailed",this.code=typeof e.code=="number"?e.code:3006,this.message=e.message||"Simulation failed",this.status=typeof e.status=="number"?e.status:400,e.cause!==void 0&&(this.cause=e.cause),Object.setPrototypeOf(this,s.prototype);}},gN;(function(s){s.WebrpcEndpoint="WebrpcEndpoint",s.WebrpcRequestFailed="WebrpcRequestFailed",s.WebrpcBadRoute="WebrpcBadRoute",s.WebrpcBadMethod="WebrpcBadMethod",s.WebrpcBadRequest="WebrpcBadRequest",s.WebrpcBadResponse="WebrpcBadResponse",s.WebrpcServerPanic="WebrpcServerPanic",s.WebrpcInternalError="WebrpcInternalError",s.WebrpcClientAborted="WebrpcClientAborted",s.WebrpcStreamLost="WebrpcStreamLost",s.WebrpcStreamFinished="WebrpcStreamFinished",s.Unauthorized="Unauthorized",s.PermissionDenied="PermissionDenied",s.SessionExpired="SessionExpired",s.MethodNotFound="MethodNotFound",s.RequestConflict="RequestConflict",s.Aborted="Aborted",s.Geoblocked="Geoblocked",s.RateLimited="RateLimited",s.ProjectNotFound="ProjectNotFound",s.AccessKeyNotFound="AccessKeyNotFound",s.AccessKeyMismatch="AccessKeyMismatch",s.InvalidOrigin="InvalidOrigin",s.InvalidService="InvalidService",s.UnauthorizedUser="UnauthorizedUser",s.QuotaExceeded="QuotaExceeded",s.QuotaRateLimit="QuotaRateLimit",s.NoDefaultKey="NoDefaultKey",s.MaxAccessKeys="MaxAccessKeys",s.AtLeastOneKey="AtLeastOneKey",s.Timeout="Timeout",s.InvalidArgument="InvalidArgument",s.Unavailable="Unavailable",s.QueryFailed="QueryFailed",s.NotFound="NotFound",s.InsufficientFee="InsufficientFee",s.NotEnoughBalance="NotEnoughBalance",s.SimulationFailed="SimulationFailed";})(gN||(gN={}));var yN;(function(s){s[s.WebrpcEndpoint=0]="WebrpcEndpoint",s[s.WebrpcRequestFailed=-1]="WebrpcRequestFailed",s[s.WebrpcBadRoute=-2]="WebrpcBadRoute",s[s.WebrpcBadMethod=-3]="WebrpcBadMethod",s[s.WebrpcBadRequest=-4]="WebrpcBadRequest",s[s.WebrpcBadResponse=-5]="WebrpcBadResponse",s[s.WebrpcServerPanic=-6]="WebrpcServerPanic",s[s.WebrpcInternalError=-7]="WebrpcInternalError",s[s.WebrpcClientAborted=-8]="WebrpcClientAborted",s[s.WebrpcStreamLost=-9]="WebrpcStreamLost",s[s.WebrpcStreamFinished=-10]="WebrpcStreamFinished",s[s.Unauthorized=1e3]="Unauthorized",s[s.PermissionDenied=1001]="PermissionDenied",s[s.SessionExpired=1002]="SessionExpired",s[s.MethodNotFound=1003]="MethodNotFound",s[s.RequestConflict=1004]="RequestConflict",s[s.Aborted=1005]="Aborted",s[s.Geoblocked=1006]="Geoblocked",s[s.RateLimited=1007]="RateLimited",s[s.ProjectNotFound=1008]="ProjectNotFound",s[s.AccessKeyNotFound=1101]="AccessKeyNotFound",s[s.AccessKeyMismatch=1102]="AccessKeyMismatch",s[s.InvalidOrigin=1103]="InvalidOrigin",s[s.InvalidService=1104]="InvalidService",s[s.UnauthorizedUser=1105]="UnauthorizedUser",s[s.QuotaExceeded=1200]="QuotaExceeded",s[s.QuotaRateLimit=1201]="QuotaRateLimit",s[s.NoDefaultKey=1300]="NoDefaultKey",s[s.MaxAccessKeys=1301]="MaxAccessKeys",s[s.AtLeastOneKey=1302]="AtLeastOneKey",s[s.Timeout=1900]="Timeout",s[s.InvalidArgument=2001]="InvalidArgument",s[s.Unavailable=2002]="Unavailable",s[s.QueryFailed=2003]="QueryFailed",s[s.NotFound=3e3]="NotFound",s[s.InsufficientFee=3004]="InsufficientFee",s[s.NotEnoughBalance=3005]="NotEnoughBalance",s[s.SimulationFailed=3006]="SimulationFailed";})(yN||(yN={}));var _9={0:Hx,[-1]:Ge,[-2]:_x,[-3]:Mx,[-4]:$x,[-5]:Ya,[-6]:qx,[-7]:Fx,[-8]:Kx,[-9]:Gx,[-10]:Wx,1e3:Jx,1001:zx,1002:Yx,1003:Zx,1004:Xx,1005:Qx,1006:e2,1007:t2,1008:s2,1101:r2,1102:n2,1103:i2,1104:a2,1105:o2,1200:c2,1201:u2,1300:l2,1301:h2,1302:f2,1900:d2,2001:m2,2002:p2,2003:g2,3e3:y2,3004:w2,3005:b2,3006:S2};d();f();d();f();var C1=class{address;min;max;constructor(e,t,r){this.address=e,this.min=t,this.max=r;}type(){return "native-balance"}isValid(){if(!this.address)return new Error("address is required");if(this.min!==void 0&&this.max!==void 0&&this.min>this.max)return new Error("min balance cannot be greater than max balance")}},N1=class{address;token;min;max;constructor(e,t,r,n){this.address=e,this.token=t,this.min=r,this.max=n;}type(){return "erc20-balance"}isValid(){if(!this.address)return new Error("address is required");if(!this.token)return new Error("token address is required");if(this.min!==void 0&&this.max!==void 0&&this.min>this.max)return new Error("min balance cannot be greater than max balance")}},k1=class{address;token;operator;min;constructor(e,t,r,n){this.address=e,this.token=t,this.operator=r,this.min=n;}type(){return "erc20-approval"}isValid(){if(!this.address)return new Error("address is required");if(!this.token)return new Error("token address is required");if(!this.operator)return new Error("operator address is required");if(this.min===void 0)return new Error("min approval amount is required")}},P1=class{address;token;tokenId;owned;constructor(e,t,r,n){this.address=e,this.token=t,this.tokenId=r,this.owned=n;}type(){return "erc721-ownership"}isValid(){if(!this.address)return new Error("address is required");if(!this.token)return new Error("token address is required");if(this.tokenId===void 0)return new Error("tokenId is required")}},T1=class{address;token;tokenId;operator;constructor(e,t,r,n){this.address=e,this.token=t,this.tokenId=r,this.operator=n;}type(){return "erc721-approval"}isValid(){if(!this.address)return new Error("address is required");if(!this.token)return new Error("token address is required");if(this.tokenId===void 0)return new Error("tokenId is required");if(!this.operator)return new Error("operator address is required")}},B1=class{address;token;tokenId;min;max;constructor(e,t,r,n,i){this.address=e,this.token=t,this.tokenId=r,this.min=n,this.max=i;}type(){return "erc1155-balance"}isValid(){if(!this.address)return new Error("address is required");if(!this.token)return new Error("token address is required");if(this.tokenId===void 0)return new Error("tokenId is required");if(this.min!==void 0&&this.max!==void 0&&this.min>this.max)return new Error("min balance cannot be greater than max balance")}},O1=class{address;token;tokenId;operator;min;constructor(e,t,r,n,i){this.address=e,this.token=t,this.tokenId=r,this.operator=n,this.min=i;}type(){return "erc1155-approval"}isValid(){if(!this.address)return new Error("address is required");if(!this.token)return new Error("token address is required");if(this.tokenId===void 0)return new Error("tokenId is required");if(!this.operator)return new Error("operator address is required");if(this.min===void 0)return new Error("min approval amount is required")}};d();f();function R1(s){if(!s)return;let e;try{switch(s.type){case"native-balance":e=new C1(M.from(s.ownerAddress),s.minAmount,void 0);break;case"erc20-balance":e=new N1(M.from(s.ownerAddress),M.from(s.tokenAddress),s.minAmount,void 0);break;case"erc20-approval":e=new k1(M.from(s.ownerAddress),M.from(s.tokenAddress),M.from(s.ownerAddress),s.minAmount);break;case"erc721-ownership":e=new P1(M.from(s.ownerAddress),M.from(s.tokenAddress),BigInt(0),!0);break;case"erc721-approval":e=new T1(M.from(s.ownerAddress),M.from(s.tokenAddress),BigInt(0),M.from(s.ownerAddress));break;case"erc1155-balance":e=new B1(M.from(s.ownerAddress),M.from(s.tokenAddress),BigInt(0),s.minAmount,void 0);break;case"erc1155-approval":e=new O1(M.from(s.ownerAddress),M.from(s.tokenAddress),BigInt(0),M.from(s.ownerAddress),s.minAmount);break;default:return}let t=e.isValid();if(t){console.warn(`Invalid precondition: ${t.message}`);return}return e}catch(t){console.warn(`Failed to decode precondition: ${t}`);return}}d();f();d();f();var V1=de.from("function balanceOf(address) returns (uint256)"),D1=de.from("function allowance(address,address) returns (uint256)"),U1=de.from("function ownerOf(uint256) returns (address)"),L1=de.from("function getApproved(uint256) returns (address)"),j1=de.from("function balanceOf(address,uint256) returns (uint256)"),H1=de.from("function isApprovedForAll(address,address) returns (bool)");var G9=s=>({id:s.chainId,name:s.title||s.name,nativeCurrency:{name:s.nativeCurrency.name,symbol:s.nativeCurrency.symbol,decimals:s.nativeCurrency.decimals},rpcUrls:{default:{http:[s.rpcUrl]}},blockExplorers:s.blockExplorer?{default:{name:s.blockExplorer.name||"Explorer",url:s.blockExplorer.url}}:void 0,contracts:s.ensAddress?{ensUniversalResolver:{address:s.ensAddress}}:void 0}),bN=s=>{let e=Wa.getNetworkFromChainId(s);if(e)return G9(e);let t=Object.values(K9).find(r=>typeof r=="object"&&"id"in r&&r.id===s);if(t)return t;throw new Error(`Chain with id ${s} not found in Sequence networks or viem chains`)},v2=class{kind="relayer";type="rpc";id;chainId;client;fetch;provider;projectAccessKey;constructor(e,t,r,n,i){this.id=`rpc:${e}`,this.chainId=t,this.projectAccessKey=i;let a=n||(typeof window<"u"?window.fetch.bind(window):void 0);if(!a)throw new Error("Fetch implementation is required but not available in this environment.");this.fetch=a,this.client=new mu(e,this.fetch);let o=bN(t);this.provider=createPublicClient({chain:o,transport:http(r)});}isAvailable(e,t){return Promise.resolve(this.chainId===t)}async feeTokens(){try{let{isFeeRequired:e,tokens:t,paymentAddress:r}=await this.client.feeTokens();return e?(M.assert(r),{isFeeRequired:e,tokens:t,paymentAddress:r}):{isFeeRequired:e}}catch(e){return console.warn("RpcRelayer.feeTokens failed:",e),{isFeeRequired:!1}}}async feeOptions(e,t,r){let n={type:"call",space:0n,nonce:0n,calls:r},i=we.encode(n);try{let a=await this.client.feeOptions({wallet:e,to:e,data:p.toHex(i)},{...this.projectAccessKey?{"X-Access-Key":this.projectAccessKey}:void 0}),o=a.quote?{_tag:"FeeQuote",_quote:a.quote}:void 0;return {options:a.options.map(u=>({token:{...u.token,contractAddress:this.mapRpcFeeTokenToAddress(u.token)},to:u.to,value:u.value,gasLimit:u.gasLimit})),quote:o}}catch(a){return console.warn("RpcRelayer.feeOptions failed:",a),{options:[]}}}async sendMetaTxn(e,t,r,n,i,a){console.log("sendMetaTxn",e,t,r,n,i,a);let o={walletAddress:e,contract:t,input:r},c=await this.client.sendMetaTxn({call:o,quote:i?JSON.stringify(i._quote):void 0,preconditions:a},{...this.projectAccessKey?{"X-Access-Key":this.projectAccessKey}:void 0});if(!c.status)throw console.error("RpcRelayer.relay failed",c),new Error(`Relay failed: TxnHash ${c.txnHash}`);return {opHash:R.fromString(c.txnHash)}}async relay(e,t,r,n,i){console.log("relay",e,t,r,n,i);let a={walletAddress:e,contract:e,input:t},o=await this.client.sendMetaTxn({call:a,quote:n?JSON.stringify(n._quote):void 0,preconditions:i},{...this.projectAccessKey?{"X-Access-Key":this.projectAccessKey}:void 0});if(!o.status)throw console.error("RpcRelayer.relay failed",o),new Error(`Relay failed: TxnHash ${o.txnHash}`);return {opHash:`0x${o.txnHash}`}}async status(e,t){try{let r=e.startsWith("0x")?e.substring(2):e,n=await this.client.getMetaTxnReceipt({metaTxID:r}),i=n.receipt;if(!i)return console.warn(`RpcRelayer.status: receipt not found for opHash ${e}`),{status:"unknown"};if(!i.status)return console.warn(`RpcRelayer.status: receipt status not found for opHash ${e}`),{status:"unknown"};switch(i.status){case Ut.QUEUED:case Ut.PENDING_PRECONDITION:case Ut.SENT:return {status:"pending"};case Ut.SUCCEEDED:return {status:"confirmed",transactionHash:i.txnHash,data:n};case Ut.FAILED:case Ut.PARTIALLY_FAILED:return {status:"failed",transactionHash:i.txnHash?i.txnHash:void 0,reason:i.revertReason||"Relayer reported failure",data:n};case Ut.DROPPED:return {status:"failed",reason:"Transaction dropped"};case Ut.UNKNOWN:default:return {status:"unknown"}}}catch(r){return console.error(`RpcRelayer.status failed for opHash ${e}:`,r),{status:"failed",reason:"Failed to fetch status"}}}async checkPrecondition(e){let t=R1(e);if(!t)return !1;switch(t.type()){case"native-balance":{let r=t;try{let n=await this.provider.getBalance({address:r.address.toString()}),i=r.min!==void 0?BigInt(r.min):void 0,a=r.max!==void 0?BigInt(r.max):void 0;return i!==void 0&&a!==void 0?n>=i&&n<=a:i!==void 0?n>=i:a!==void 0?n<=a:(console.warn("Native balance precondition has neither min nor max specified"),!1)}catch(n){return console.error("Error checking native balance:",n),!1}}case"erc20-balance":{let r=t;try{let n=de.encodeData(V1,[r.address.toString()]),i=await this.provider.call({to:r.token.toString(),data:n}),a=BigInt(i.toString()),o=r.min!==void 0?BigInt(r.min):void 0,c=r.max!==void 0?BigInt(r.max):void 0;return o!==void 0&&c!==void 0?a>=o&&a<=c:o!==void 0?a>=o:c!==void 0?a<=c:(console.warn("ERC20 balance precondition has neither min nor max specified"),!1)}catch(n){return console.error("Error checking ERC20 balance:",n),!1}}case"erc20-approval":{let r=t;try{let n=de.encodeData(D1,[r.address.toString(),r.operator.toString()]),i=await this.provider.call({to:r.token.toString(),data:n}),a=BigInt(i.toString()),o=BigInt(r.min);return a>=o}catch(n){return console.error("Error checking ERC20 approval:",n),!1}}case"erc721-ownership":{let r=t;try{let n=de.encodeData(U1,[r.tokenId]),c=(await this.provider.call({to:r.token.toString(),data:n})).toString().slice(-40).toLowerCase()===r.address.toString().slice(2).toLowerCase(),u=r.owned!==void 0?r.owned:!0;return c===u}catch(n){return console.error("Error checking ERC721 ownership:",n),!1}}case"erc721-approval":{let r=t;try{let n=de.encodeData(L1,[r.tokenId]);return (await this.provider.call({to:r.token.toString(),data:n})).toString().slice(-40).toLowerCase()===r.operator.toString().slice(2).toLowerCase()}catch(n){return console.error("Error checking ERC721 approval:",n),!1}}case"erc1155-balance":{let r=t;try{let n=de.encodeData(j1,[r.address.toString(),r.tokenId]),i=await this.provider.call({to:r.token.toString(),data:n}),a=BigInt(i.toString()),o=r.min!==void 0?BigInt(r.min):void 0,c=r.max!==void 0?BigInt(r.max):void 0;return o!==void 0&&c!==void 0?a>=o&&a<=c:o!==void 0?a>=o:c!==void 0?a<=c:(console.warn("ERC1155 balance precondition has neither min nor max specified"),!1)}catch(n){return console.error("Error checking ERC1155 balance:",n),!1}}case"erc1155-approval":{let r=t;try{let n=de.encodeData(H1,[r.address.toString(),r.operator.toString()]),i=await this.provider.call({to:r.token.toString(),data:n});return BigInt(i.toString())===1n}catch(n){return console.error("Error checking ERC1155 approval:",n),!1}}default:return !1}}mapRpcFeeTokenToAddress(e){return e.type===I1.ERC20_TOKEN&&e.contractAddress?M.from(e.contractAddress):Xe.ZeroAddress}};d();f();d();f();var Za=class s{provider;kind="relayer";type="local";id="local";constructor(e){this.provider=e;}isAvailable(e,t){return Promise.resolve(!0)}static createFromWindow(e){let t=e.ethereum;if(!t){console.warn("Window.ethereum not found, skipping local relayer");return}return new s(new Xa(t))}static createFromProvider(e){return new s(new Xa(e))}feeTokens(){return Promise.resolve({isFeeRequired:!1})}feeOptions(e,t,r){return Promise.resolve({options:[]})}decodeCalls(e){let t=de.getSelector(Xe.EXECUTE),r;return e.startsWith(t)?r=de.decodeData(Xe.EXECUTE,e)[0]:r=e,we.decode(p.fromHex(r))}async relay(e,t,r,n,i,a=5e3){let o=async()=>{if(!i||i.length===0)return !0;for(let c of i)if(!await this.checkPrecondition(c))return !1;return !0};return await o()?{opHash:await this.provider.sendTransaction({to:e,data:t},r)}:new Promise((c,u)=>{let l,m=!1,w=async()=>{try{if(m)return;if(await o()){m=!0,clearTimeout(l);let E=await this.provider.sendTransaction({to:e,data:t},r);c({opHash:E});}else l=setTimeout(w,a);}catch(E){m=!0,clearTimeout(l),u(E);}};return l=setTimeout(w,a),()=>{m=!0,clearTimeout(l);}})}async status(e,t){let r=await this.provider.getTransactionReceipt(e,t);return r==="unknown"?{status:"unknown"}:r==="success"?{status:"confirmed",transactionHash:e}:{status:"failed",reason:"failed"}}async checkPrecondition(e){let t=R1(e);if(!t)return !1;switch(t.type()){case"native-balance":{let r=t,n=await this.provider.getBalance(r.address.toString());return !(r.min!==void 0&&n<r.min||r.max!==void 0&&n>r.max)}case"erc20-balance":{let r=t,n=de.encodeData(V1,[r.address.toString()]),i=await this.provider.call({to:r.token.toString(),data:n}),a=BigInt(i);return !(r.min!==void 0&&a<r.min||r.max!==void 0&&a>r.max)}case"erc20-approval":{let r=t,n=de.encodeData(D1,[r.address.toString(),r.operator.toString()]),i=await this.provider.call({to:r.token.toString(),data:n});return BigInt(i)>=r.min}case"erc721-ownership":{let r=t,n=de.encodeData(U1,[r.tokenId]),o=("0x"+(await this.provider.call({to:r.token.toString(),data:n})).slice(26)).toLowerCase()===r.address.toString().toLowerCase();return r.owned===void 0?o:r.owned===o}case"erc721-approval":{let r=t,n=de.encodeData(L1,[r.tokenId]);return ("0x"+(await this.provider.call({to:r.token.toString(),data:n})).slice(26)).toLowerCase()===r.operator.toString().toLowerCase()}case"erc1155-balance":{let r=t,n=de.encodeData(j1,[r.address.toString(),r.tokenId]),i=await this.provider.call({to:r.token.toString(),data:n}),a=BigInt(i);return !(r.min!==void 0&&a<r.min||r.max!==void 0&&a>r.max)}case"erc1155-approval":{let r=t,n=de.encodeData(H1,[r.address.toString(),r.operator.toString()]),i=await this.provider.call({to:r.token.toString(),data:n});return BigInt(i)===1n}default:return !1}}},Xa=class{provider;constructor(e){this.provider=e;}async trySwitchChain(e){try{await this.provider.request({method:"wallet_switchEthereumChain",params:[{chainId:`0x${e.toString(16)}`}]});}catch(t){console.error("Error switching chain",t);}}async sendTransaction(e,t){let n=(await this.provider.request({method:"eth_requestAccounts"}))[0];if(!n){console.warn("No account selected, skipping local relayer");return}return await this.trySwitchChain(t),await this.provider.request({method:"eth_sendTransaction",params:[{from:n,to:e.to,data:e.data}]})}async getBalance(e){let t=await this.provider.request({method:"eth_getBalance",params:[e,"latest"]});return BigInt(t)}async call(e){return await this.provider.request({method:"eth_call",params:[e,"latest"]})}async getTransactionReceipt(e,t){await this.trySwitchChain(t);let r=await this.provider.request({method:"eth_getTransactionReceipt",params:[e]});if(r){let n=su.fromRpc(r);if(n?.status==="success")return "success";if(n?.status==="reverted")return "failed"}return "unknown"}};d();f();var E2=class{provider;kind="relayer";type="pk";id="pk";relayer;constructor(e,t){this.provider=t;let r=M.fromPublicKey(Yt.getPublicKey({privateKey:e}));this.relayer=new Za({sendTransaction:async(n,i)=>{if(Number(await this.provider.request({method:"eth_chainId"}))!==i)throw new Error("Provider chain id does not match relayer chain id");let o={...n,to:n.to,data:n.data},c=BigInt(await this.provider.request({method:"eth_estimateGas",params:[o]})),u=c>21000n?c*12n/10n:50000n,l=BigInt(await this.provider.request({method:"eth_gasPrice"})),m=100000000n,w=l+m,E=BigInt(await this.provider.request({method:"eth_getBalance",params:[r,"latest"]}));if(E<w*u)throw console.log("Sender balance:",E.toString(),"wei"),new Error("Sender has insufficient balance to pay for gas");let v=BigInt(await this.provider.request({method:"eth_getTransactionCount",params:[r,"latest"]})),A=$a.from({chainId:Number(i),type:"eip1559",from:r,to:o.to,data:o.data,gas:u,maxFeePerGas:w,maxPriorityFeePerGas:m,nonce:v,value:0n}),C=Yt.sign({payload:$a.getSignPayload(A),privateKey:e}),D=$a.from(A,{signature:C});return await this.provider.request({method:"eth_sendRawTransaction",params:[$a.serialize(D)]})},getBalance:async n=>{let i=await this.provider.request({method:"eth_getBalance",params:[n,"latest"]});return BigInt(i)},call:async n=>{let i={to:n.to,data:n.data};return await this.provider.request({method:"eth_call",params:[i,"latest"]})},getTransactionReceipt:async(n,i)=>{if(R.assert(n),Number(await this.provider.request({method:"eth_chainId"}))!==i)throw new Error("Provider chain id does not match relayer chain id");let o=await this.provider.request({method:"eth_getTransactionReceipt",params:[n]});return o?su.fromRpc(o).status==="success"?"success":"failed":"unknown"}});}async isAvailable(e,t){return Number(await this.provider.request({method:"eth_chainId"}))===t}feeTokens(){return this.relayer.feeTokens()}feeOptions(e,t,r){return this.relayer.feeOptions(e,t,r)}async relay(e,t,r,n){if(Number(await this.provider.request({method:"eth_chainId"}))!==r)throw new Error("Provider chain id does not match relayer chain id");return this.relayer.relay(e,t,r)}status(e,t){return this.relayer.status(e,t)}async checkPrecondition(e){return !0}};d();f();var x2=class{kind="relayer";type="sequence";id="sequence";service;constructor(e){this.service=new mu(e,fetch);}async isAvailable(e,t){return !0}async feeTokens(){let{isFeeRequired:e,tokens:t,paymentAddress:r}=await this.service.feeTokens();return e?(M.assert(r),{isFeeRequired:e,tokens:t,paymentAddress:r}):{isFeeRequired:e}}async feeOptions(e,t,r){let n=e,i=de.from("function execute(bytes calldata _payload, bytes calldata _signature)"),a=we.encode({type:"call",space:0n,nonce:0n,calls:r},n),c=de.encodeData(i,[p.toHex(a),"0x0001"]),{options:u,quote:l}=await this.service.feeOptions({wallet:e,to:n,data:c});return {options:u,quote:l?{_tag:"FeeQuote",_quote:l}:void 0}}async checkPrecondition(e){return !1}async relay(e,t,r,n){let i=e,{txnHash:a}=await this.service.sendMetaTxn({call:{walletAddress:i,contract:e,input:t},quote:n&&n._quote});return {opHash:`0x${a}`}}async status(e,t){try{let{receipt:{status:r,revertReason:n,txnReceipt:i}}=await this.service.getMetaTxnReceipt({metaTxID:e});switch(r){case Ut.UNKNOWN:return {status:"unknown"};case Ut.DROPPED:return {status:"failed",reason:n??r};case Ut.QUEUED:return {status:"pending"};case Ut.SENT:return {status:"pending"};case Ut.SUCCEEDED:{let o=JSON.parse(i).transactionHash;return R.assert(o),{status:"confirmed",transactionHash:o}}case Ut.PARTIALLY_FAILED:return {status:"failed",reason:n??r};case Ut.FAILED:return {status:"failed",reason:n??r};default:throw new Error(`unknown transaction status '${r}'`)}}catch{return {status:"pending"}}}};var N2={};Te(N2,{EIP6963Relayer:()=>_1,getEIP6963Store:()=>vN,getRelayers:()=>W9});d();f();d();f();d();f();d();f();function SN(s){if(typeof window>"u")return;let e=t=>s(t.detail);return window.addEventListener("eip6963:announceProvider",e),window.dispatchEvent(new CustomEvent("eip6963:requestProvider")),()=>window.removeEventListener("eip6963:announceProvider",e)}function A2(){let s=new Set,e=[],t=()=>SN(n=>{e.some(({info:i})=>i.uuid===n.info.uuid)||(e=[...e,n],s.forEach(i=>i(e,{added:[n]})));}),r=t();return {_listeners(){return s},clear(){s.forEach(n=>n([],{removed:[...e]})),e=[];},destroy(){this.clear(),s.clear(),r?.();},findProvider({rdns:n}){return e.find(i=>i.info.rdns===n)},getProviders(){return e},reset(){this.clear(),r?.(),r=t();},subscribe(n,{emitImmediately:i}={}){return s.add(n),i&&n(e,{added:e}),()=>s.delete(n)}}}var _1=class{kind="relayer";type="eip6963";id;info;relayer;constructor(e){this.info=e.info,this.id=e.info.uuid,this.relayer=new Za(new Xa(e.provider));}isAvailable(e,t){return this.relayer.isAvailable(e,t)}feeTokens(){return this.relayer.feeTokens()}feeOptions(e,t,r){return this.relayer.feeOptions(e,t,r)}async relay(e,t,r,n){return this.relayer.relay(e,t,r)}status(e,t){return this.relayer.status(e,t)}async checkPrecondition(e){return this.relayer.checkPrecondition(e)}},I2;function vN(){return I2||(I2=A2()),I2}var C2=new Map;function W9(){let e=vN().getProviders();for(let t of e)C2.has(t.info.uuid)||C2.set(t.info.uuid,new _1(t));return Array.from(C2.values())}d();f();function J9(s){return "isAvailable"in s&&"feeOptions"in s&&"relay"in s&&"status"in s&&"checkPrecondition"in s}d();f();d();f();d();f();d();f();var Q={POS_INT:0,NEG_INT:1,BYTE_STRING:2,UTF8_STRING:3,ARRAY:4,MAP:5,TAG:6,SIMPLE_FLOAT:7},ht={DATE_STRING:0,DATE_EPOCH:1,POS_BIGINT:2,NEG_BIGINT:3,DECIMAL_FRAC:4,BIGFLOAT:5,BASE64URL_EXPECTED:21,BASE64_EXPECTED:22,BASE16_EXPECTED:23,CBOR:24,URI:32,BASE64URL:33,BASE64:34,MIME:36,SET:258,JSON:262,REGEXP:21066,SELF_DESCRIBED:55799,INVALID_16:65535,INVALID_32:4294967295,INVALID_64:0xffffffffffffffffn},Be={ZERO:0,ONE:24,TWO:25,FOUR:26,EIGHT:27,INDEFINITE:31},Tr={FALSE:20,TRUE:21,NULL:22,UNDEFINED:23},gt=class{static BREAK=Symbol.for("github.com/hildjj/cbor2/break");static ENCODED=Symbol.for("github.com/hildjj/cbor2/cbor-encoded");static LENGTH=Symbol.for("github.com/hildjj/cbor2/length")},pu={MIN:-(2n**63n),MAX:2n**64n-1n};d();f();var Pe=class s{static#e=new Map;tag;contents;constructor(e,t=void 0){this.tag=e,this.contents=t;}get noChildren(){return !!s.#e.get(this.tag)?.noChildren}static registerDecoder(e,t,r){let n=this.#e.get(e);return this.#e.set(e,t),n&&("comment"in t||(t.comment=n.comment),"noChildren"in t||(t.noChildren=n.noChildren)),r&&!t.comment&&(t.comment=()=>`(${r})`),n}static clearDecoder(e){let t=this.#e.get(e);return this.#e.delete(e),t}static getDecoder(e){return this.#e.get(e)}static getAllDecoders(){return new Map(this.#e)}*[Symbol.iterator](){yield this.contents;}push(e){return this.contents=e,1}decode(e){let t=s.#e.get(this.tag);return t?t(this,e):this}comment(e,t){let r=s.#e.get(this.tag);if(r?.comment)return r.comment(this,e,t)}toCBOR(){return [this.tag,this.contents]}[Symbol.for("nodejs.util.inspect.custom")](e,t,r){return `${this.tag}(${r(this.contents,t)})`}};d();f();function ii(s){if(s!=null&&typeof s=="object")return s[gt.ENCODED]}function EN(s){if(s!=null&&typeof s=="object")return s[gt.LENGTH]}function ai(s,e){Object.defineProperty(s,gt.ENCODED,{configurable:!0,enumerable:!1,value:e});}function oi(s,e){let t=Object(s);return ai(t,e),t}d();f();var k2=Symbol("CBOR_RANGES");function xN(s,e){Object.defineProperty(s,k2,{configurable:!1,enumerable:!1,writable:!1,value:e});}function Of(s){return s[k2]}function z9(s){return Of(s)!==void 0}function Rf(s,e=0,t=s.length-1){let r=s.subarray(e,t),n=Of(s);if(n){let i=[];for(let a of n)if(a[0]>=e&&a[0]+a[1]<=t){let o=[...a];o[0]-=e,i.push(o);}i.length&&xN(r,i);}return r}function M1(s){let e=Math.ceil(s.length/2),t=new Uint8Array(e);e--;for(let r=s.length,n=r-2;r>=0;r=n,n-=2,e--)t[e]=parseInt(s.substring(n,r),16);return t}function Xt(s){return s.reduce((e,t)=>e+t.toString(16).padStart(2,"0"),"")}function AN(s){let e=s.reduce((a,o)=>a+o.length,0),t=s.some(a=>z9(a)),r=[],n=new Uint8Array(e),i=0;for(let a of s){if(!(a instanceof Uint8Array))throw new TypeError(`Invalid array: ${a}`);if(n.set(a,i),t){let o=a[k2]??[[0,a.length]];for(let c of o)c[0]+=i;r.push(...o);}i+=a.length;}return t&&xN(n,r),n}function Vf(s){let e=atob(s);return Uint8Array.from(e,t=>t.codePointAt(0))}var Y9={"-":"+",_:"/"};function IN(s){let e=s.replace(/[_-]/g,t=>Y9[t]);return Vf(e.padEnd(Math.ceil(e.length/4)*4,"="))}function CN(){let s=new Uint8Array(4),e=new Uint32Array(s.buffer);return !((e[0]=1)&s[0])}function P2(s){let e="";for(let t of s){let r=t.codePointAt(0)?.toString(16).padStart(4,"0");e&&(e+=", "),e+=`U+${r}`;}return e}d();f();d();f();function $1(s,e){let[t,r,n]=s,[i,a,o]=e,c=Math.min(n.length,o.length);for(let u=0;u<c;u++){let l=n[u]-o[u];if(l!==0)return l}return 0}d();f();var Df=class s{static defaultOptions={chunkSize:4096};#e;#s=[];#r=null;#t=0;#a=0;constructor(e={}){if(this.#e={...s.defaultOptions,...e},this.#e.chunkSize<8)throw new RangeError(`Expected size >= 8, got ${this.#e.chunkSize}`);this.#i();}get length(){return this.#a}read(){this.#n();let e=new Uint8Array(this.#a),t=0;for(let r of this.#s)e.set(r,t),t+=r.length;return this.#i(),e}write(e){let t=e.length;t>this.#u()?(this.#n(),t>this.#e.chunkSize?(this.#s.push(e),this.#i()):(this.#i(),this.#s[this.#s.length-1].set(e),this.#t=t)):(this.#s[this.#s.length-1].set(e,this.#t),this.#t+=t),this.#a+=t;}writeUint8(e){this.#c(1),this.#r.setUint8(this.#t,e),this.#o(1);}writeUint16(e,t=!1){this.#c(2),this.#r.setUint16(this.#t,e,t),this.#o(2);}writeUint32(e,t=!1){this.#c(4),this.#r.setUint32(this.#t,e,t),this.#o(4);}writeBigUint64(e,t=!1){this.#c(8),this.#r.setBigUint64(this.#t,e,t),this.#o(8);}writeInt16(e,t=!1){this.#c(2),this.#r.setInt16(this.#t,e,t),this.#o(2);}writeInt32(e,t=!1){this.#c(4),this.#r.setInt32(this.#t,e,t),this.#o(4);}writeBigInt64(e,t=!1){this.#c(8),this.#r.setBigInt64(this.#t,e,t),this.#o(8);}writeFloat32(e,t=!1){this.#c(4),this.#r.setFloat32(this.#t,e,t),this.#o(4);}writeFloat64(e,t=!1){this.#c(8),this.#r.setFloat64(this.#t,e,t),this.#o(8);}clear(){this.#a=0,this.#s=[],this.#i();}#i(){let e=new Uint8Array(this.#e.chunkSize);this.#s.push(e),this.#t=0,this.#r=new DataView(e.buffer,e.byteOffset,e.byteLength);}#n(){if(this.#t===0){this.#s.pop();return}let e=this.#s.length-1;this.#s[e]=this.#s[e].subarray(0,this.#t),this.#t=0,this.#r=null;}#u(){let e=this.#s.length-1;return this.#s[e].length-this.#t}#c(e){this.#u()<e&&(this.#n(),this.#i());}#o(e){this.#t+=e,this.#a+=e;}};d();f();function T2(s,e=0,t=!1){let r=s[e]&128?-1:1,n=(s[e]&124)>>2,i=(s[e]&3)<<8|s[e+1];if(n===0){if(t&&i!==0)throw new Error(`Unwanted subnormal: ${r*5960464477539063e-23*i}`);return r*5960464477539063e-23*i}else if(n===31)return i?NaN:r*(1/0);return r*2**(n-25)*(1024+i)}function q1(s){let e=new DataView(new ArrayBuffer(4));e.setFloat32(0,s,!1);let t=e.getUint32(0,!1);if(t&8191)return null;let r=t>>16&32768,n=t>>23&255,i=t&8388607;if(!(n===0&&i===0))if(n>=113&&n<=142)r+=(n-112<<10)+(i>>13);else if(n>=103&&n<113){if(i&(1<<126-n)-1)return null;r+=i+8388608>>126-n;}else if(n===255)r|=31744,r|=i>>13;else return null;return r}function NN(s){if(s!==0){let e=new ArrayBuffer(8),t=new DataView(e);t.setFloat64(0,s,!1);let r=t.getBigUint64(0,!1);if((r&0x7ff0000000000000n)===0n)return r&0x8000000000000000n?-0:0}return s}function kN(s){switch(s.length){case 2:T2(s,0,!0);break;case 4:{let e=new DataView(s.buffer,s.byteOffset,s.byteLength),t=e.getUint32(0,!1);if(!(t&2139095040)&&t&8388607)throw new Error(`Unwanted subnormal: ${e.getFloat32(0,!1)}`);break}case 8:{let e=new DataView(s.buffer,s.byteOffset,s.byteLength),t=e.getBigUint64(0,!1);if((t&0x7ff0000000000000n)===0n&&t&0x000fffffffffffn)throw new Error(`Unwanted subnormal: ${e.getFloat64(0,!1)}`);break}default:throw new TypeError(`Bad input to isSubnormal: ${s}`)}}var PN=Q.SIMPLE_FLOAT<<5|Be.TWO,Z9=Q.SIMPLE_FLOAT<<5|Be.FOUR,X9=Q.SIMPLE_FLOAT<<5|Be.EIGHT,Q9=Q.SIMPLE_FLOAT<<5|Tr.TRUE,eD=Q.SIMPLE_FLOAT<<5|Tr.FALSE,tD=Q.SIMPLE_FLOAT<<5|Tr.UNDEFINED,sD=Q.SIMPLE_FLOAT<<5|Tr.NULL,rD=new TextEncoder,F1={...Df.defaultOptions,avoidInts:!1,cde:!1,collapseBigInts:!0,dcbor:!1,float64:!1,flushToZero:!1,forceEndian:null,ignoreOriginalEncoding:!1,largeNegativeAsBigInt:!1,reduceUnsafeNumbers:!1,rejectBigInts:!1,rejectCustomSimples:!1,rejectDuplicateKeys:!1,rejectFloats:!1,rejectUndefined:!1,simplifyNegativeZero:!1,sortKeys:null,stringNormalization:null},R2={cde:!0,ignoreOriginalEncoding:!0,sortKeys:$1},TN={...R2,dcbor:!0,largeNegativeAsBigInt:!0,reduceUnsafeNumbers:!0,rejectCustomSimples:!0,rejectDuplicateKeys:!0,rejectUndefined:!0,simplifyNegativeZero:!0,stringNormalization:"NFC"};function BN(s){let e=s<0;return typeof s=="bigint"?[e?-s-1n:s,e]:[e?-s-1:s,e]}function B2(s,e,t){if(t.rejectFloats)throw new Error(`Attempt to encode an unwanted floating point number: ${s}`);if(isNaN(s))e.writeUint8(PN),e.writeUint16(32256);else if(!t.float64&&Math.fround(s)===s){let r=q1(s);r===null?(e.writeUint8(Z9),e.writeFloat32(s)):(e.writeUint8(PN),e.writeUint16(r));}else e.writeUint8(X9),e.writeFloat64(s);}function Hs(s,e,t){let[r,n]=BN(s);if(n&&t)throw new TypeError(`Negative size: ${s}`);t??=n?Q.NEG_INT:Q.POS_INT,t<<=5,r<24?e.writeUint8(t|r):r<=255?(e.writeUint8(t|Be.ONE),e.writeUint8(r)):r<=65535?(e.writeUint8(t|Be.TWO),e.writeUint16(r)):r<=4294967295?(e.writeUint8(t|Be.FOUR),e.writeUint32(r)):(e.writeUint8(t|Be.EIGHT),e.writeBigUint64(BigInt(r)));}function Uf(s,e,t){typeof s=="number"?Hs(s,e,Q.TAG):typeof s=="object"&&!t.ignoreOriginalEncoding&&gt.ENCODED in s?e.write(s[gt.ENCODED]):s<=Number.MAX_SAFE_INTEGER?Hs(Number(s),e,Q.TAG):(e.writeUint8(Q.TAG<<5|Be.EIGHT),e.writeBigUint64(BigInt(s)));}function ON(s,e,t){let[r,n]=BN(s);if(t.collapseBigInts&&(!t.largeNegativeAsBigInt||s>=-0x8000000000000000n)){if(r<=0xffffffffn){Hs(Number(s),e);return}if(r<=0xffffffffffffffffn){let u=(n?Q.NEG_INT:Q.POS_INT)<<5;e.writeUint8(u|Be.EIGHT),e.writeBigUint64(r);return}}if(t.rejectBigInts)throw new Error(`Attempt to encode unwanted bigint: ${s}`);let i=n?ht.NEG_BIGINT:ht.POS_BIGINT,a=r.toString(16),o=a.length%2?"0":"";Uf(i,e,t);let c=M1(o+a);Hs(c.length,e,Q.BYTE_STRING),e.write(c);}function nD(s,e,t){t.flushToZero&&(s=NN(s)),Object.is(s,-0)?t.simplifyNegativeZero?t.avoidInts?B2(0,e,t):Hs(0,e):B2(s,e,t):!t.avoidInts&&Number.isSafeInteger(s)?Hs(s,e):t.reduceUnsafeNumbers&&Math.floor(s)===s&&s>=pu.MIN&&s<=pu.MAX?ON(BigInt(s),e,t):B2(s,e,t);}function iD(s,e,t){let r=t.stringNormalization?s.normalize(t.stringNormalization):s,n=rD.encode(r);Hs(n.length,e,Q.UTF8_STRING),e.write(n);}function aD(s,e,t){let r=s;K1(r,r.length,Q.ARRAY,e,t);for(let n of r)ci(n,e,t);}function oD(s,e){let t=s;Hs(t.length,e,Q.BYTE_STRING),e.write(t);}var O2=new Map([[Array,aD],[Uint8Array,oD]]);function bt(s,e){let t=O2.get(s);return O2.set(s,e),t}function K1(s,e,t,r,n){let i=EN(s);i&&!n.ignoreOriginalEncoding?r.write(i):Hs(e,r,t);}function cD(s,e,t){if(s===null){e.writeUint8(sD);return}if(!t.ignoreOriginalEncoding&&gt.ENCODED in s){e.write(s[gt.ENCODED]);return}let r=O2.get(s.constructor);if(r){let i=r(s,e,t);i&&((typeof i[0]=="bigint"||isFinite(Number(i[0])))&&Uf(i[0],e,t),ci(i[1],e,t));return}if(typeof s.toCBOR=="function"){let i=s.toCBOR(e,t);i&&((typeof i[0]=="bigint"||isFinite(Number(i[0])))&&Uf(i[0],e,t),ci(i[1],e,t));return}if(typeof s.toJSON=="function"){ci(s.toJSON(),e,t);return}let n=Object.entries(s).map(i=>[i[0],i[1],an(i[0],t)]);t.sortKeys&&n.sort(t.sortKeys),K1(s,n.length,Q.MAP,e,t);for(let[i,a,o]of n)e.write(o),ci(a,e,t);}function ci(s,e,t){switch(typeof s){case"number":nD(s,e,t);break;case"bigint":ON(s,e,t);break;case"string":iD(s,e,t);break;case"boolean":e.writeUint8(s?Q9:eD);break;case"undefined":if(t.rejectUndefined)throw new Error("Attempt to encode unwanted undefined.");e.writeUint8(tD);break;case"object":cD(s,e,t);break;case"symbol":throw new TypeError(`Unknown symbol: ${s.toString()}`);default:throw new TypeError(`Unknown type: ${typeof s}, ${String(s)}`)}}function an(s,e={}){let t={...F1};e.dcbor?Object.assign(t,TN):e.cde&&Object.assign(t,R2),Object.assign(t,e);let r=new Df(t);return ci(s,r,t),r.read()}d();f();d();f();var Qa=(s=>(s[s.NEVER=-1]="NEVER",s[s.PREFERRED=0]="PREFERRED",s[s.ALWAYS=1]="ALWAYS",s))(Qa||{});d();f();d();f();var lr=class s{static KnownSimple=new Map([[Tr.FALSE,!1],[Tr.TRUE,!0],[Tr.NULL,null],[Tr.UNDEFINED,void 0]]);value;constructor(e){this.value=e;}static create(e){return s.KnownSimple.has(e)?s.KnownSimple.get(e):new s(e)}toCBOR(e,t){if(t.rejectCustomSimples)throw new Error(`Cannot encode non-standard Simple value: ${this.value}`);Hs(this.value,e,Q.SIMPLE_FLOAT);}toString(){return `simple(${this.value})`}decode(){return s.KnownSimple.has(this.value)?s.KnownSimple.get(this.value):this}[Symbol.for("nodejs.util.inspect.custom")](e,t,r){return `simple(${r(this.value,t)})`}};var uD=new TextDecoder("utf8",{fatal:!0,ignoreBOM:!0}),on=class s{static defaultOptions={maxDepth:1024,encoding:"hex",requirePreferred:!1};#e;#s;#r=0;#t;constructor(e,t){if(this.#t={...s.defaultOptions,...t},typeof e=="string")switch(this.#t.encoding){case"hex":this.#e=M1(e);break;case"base64":this.#e=Vf(e);break;default:throw new TypeError(`Encoding not implemented: "${this.#t.encoding}"`)}else this.#e=e;this.#s=new DataView(this.#e.buffer,this.#e.byteOffset,this.#e.byteLength);}toHere(e){return Rf(this.#e,e,this.#r)}*[Symbol.iterator](){if(yield*this.#a(0),this.#r!==this.#e.length)throw new Error("Extra data in input")}*#a(e){if(e++>this.#t.maxDepth)throw new Error(`Maximum depth ${this.#t.maxDepth} exceeded`);let t=this.#r,r=this.#s.getUint8(this.#r++),n=r>>5,i=r&31,a=i,o=!1,c=0;switch(i){case Be.ONE:if(c=1,a=this.#s.getUint8(this.#r),n===Q.SIMPLE_FLOAT){if(a<32)throw new Error(`Invalid simple encoding in extra byte: ${a}`);o=!0;}else if(this.#t.requirePreferred&&a<24)throw new Error(`Unexpectedly long integer encoding (1) for ${a}`);break;case Be.TWO:if(c=2,n===Q.SIMPLE_FLOAT)a=T2(this.#e,this.#r);else if(a=this.#s.getUint16(this.#r,!1),this.#t.requirePreferred&&a<=255)throw new Error(`Unexpectedly long integer encoding (2) for ${a}`);break;case Be.FOUR:if(c=4,n===Q.SIMPLE_FLOAT)a=this.#s.getFloat32(this.#r,!1);else if(a=this.#s.getUint32(this.#r,!1),this.#t.requirePreferred&&a<=65535)throw new Error(`Unexpectedly long integer encoding (4) for ${a}`);break;case Be.EIGHT:{if(c=8,n===Q.SIMPLE_FLOAT)a=this.#s.getFloat64(this.#r,!1);else if(a=this.#s.getBigUint64(this.#r,!1),a<=Number.MAX_SAFE_INTEGER&&(a=Number(a)),this.#t.requirePreferred&&a<=4294967295)throw new Error(`Unexpectedly long integer encoding (8) for ${a}`);break}case 28:case 29:case 30:throw new Error(`Additional info not implemented: ${i}`);case Be.INDEFINITE:switch(n){case Q.POS_INT:case Q.NEG_INT:case Q.TAG:throw new Error(`Invalid indefinite encoding for MT ${n}`);case Q.SIMPLE_FLOAT:yield [n,i,gt.BREAK,t,0];return}a=1/0;break;default:o=!0;}switch(this.#r+=c,n){case Q.POS_INT:yield [n,i,a,t,c];break;case Q.NEG_INT:yield [n,i,typeof a=="bigint"?-1n-a:-1-Number(a),t,c];break;case Q.BYTE_STRING:a===1/0?yield*this.#n(n,e,t):yield [n,i,this.#i(a),t,a];break;case Q.UTF8_STRING:a===1/0?yield*this.#n(n,e,t):yield [n,i,uD.decode(this.#i(a)),t,a];break;case Q.ARRAY:if(a===1/0)yield*this.#n(n,e,t,!1);else {let u=Number(a);yield [n,i,u,t,c];for(let l=0;l<u;l++)yield*this.#a(e+1);}break;case Q.MAP:if(a===1/0)yield*this.#n(n,e,t,!1);else {let u=Number(a);yield [n,i,u,t,c];for(let l=0;l<u;l++)yield*this.#a(e),yield*this.#a(e);}break;case Q.TAG:yield [n,i,a,t,c],yield*this.#a(e);break;case Q.SIMPLE_FLOAT:{let u=a;o&&(a=lr.create(Number(a))),yield [n,i,a,t,u];break}}}#i(e){let t=Rf(this.#e,this.#r,this.#r+=e);if(t.length!==e)throw new Error(`Unexpected end of stream reading ${e} bytes, got ${t.length}`);return t}*#n(e,t,r,n=!0){for(yield [e,Be.INDEFINITE,1/0,r,1/0];;){let i=this.#a(t),a=i.next(),[o,c,u]=a.value;if(u===gt.BREAK){yield a.value,i.next();return}if(n){if(o!==e)throw new Error(`Unmatched major type. Expected ${e}, got ${o}.`);if(c===Be.INDEFINITE)throw new Error("New stream started in typed stream")}yield a.value,yield*i;}}};var lD=new Map([[Be.ZERO,1],[Be.ONE,2],[Be.TWO,3],[Be.FOUR,5],[Be.EIGHT,9]]),hD=new Uint8Array(0);function fD(s,e){return !e.boxed&&!e.preferMap&&s.every(([t])=>typeof t=="string")?Object.fromEntries(s):new Map(s)}var vs=class s{static defaultDecodeOptions={...on.defaultOptions,ParentType:s,boxed:!1,cde:!1,dcbor:!1,diagnosticSizes:Qa.PREFERRED,convertUnsafeIntsToFloat:!1,createObject:fD,pretty:!1,preferMap:!1,rejectLargeNegatives:!1,rejectBigInts:!1,rejectDuplicateKeys:!1,rejectFloats:!1,rejectInts:!1,rejectLongLoundNaN:!1,rejectLongFloats:!1,rejectNegativeZero:!1,rejectSimple:!1,rejectStreaming:!1,rejectStringsNotNormalizedAs:null,rejectSubnormals:!1,rejectUndefined:!1,rejectUnsafeFloatInts:!1,saveOriginal:!1,sortKeys:null};static cdeDecodeOptions={cde:!0,rejectStreaming:!0,requirePreferred:!0,sortKeys:$1};static dcborDecodeOptions={...this.cdeDecodeOptions,dcbor:!0,convertUnsafeIntsToFloat:!0,rejectDuplicateKeys:!0,rejectLargeNegatives:!0,rejectLongLoundNaN:!0,rejectLongFloats:!0,rejectNegativeZero:!0,rejectSimple:!0,rejectUndefined:!0,rejectUnsafeFloatInts:!0,rejectStringsNotNormalizedAs:"NFC"};parent;mt;ai;left;offset;count=0;children=[];depth=0;#e;#s=null;constructor(e,t,r,n){if([this.mt,this.ai,,this.offset]=e,this.left=t,this.parent=r,this.#e=n,r&&(this.depth=r.depth+1),this.mt===Q.MAP&&(this.#e.sortKeys||this.#e.rejectDuplicateKeys)&&(this.#s=[]),this.#e.rejectStreaming&&this.ai===Be.INDEFINITE)throw new Error("Streaming not supported")}get isStreaming(){return this.left===1/0}get done(){return this.left===0}static create(e,t,r,n){let[i,a,o,c]=e;switch(i){case Q.POS_INT:case Q.NEG_INT:{if(r.rejectInts)throw new Error(`Unexpected integer: ${o}`);if(r.rejectLargeNegatives&&o<-0x8000000000000000n)throw new Error(`Invalid 65bit negative number: ${o}`);let u=o;return r.convertUnsafeIntsToFloat&&u>=pu.MIN&&u<=pu.MAX&&(u=Number(o)),r.boxed?oi(u,n.toHere(c)):u}case Q.SIMPLE_FLOAT:if(a>Be.ONE){if(r.rejectFloats)throw new Error(`Decoding unwanted floating point number: ${o}`);if(r.rejectNegativeZero&&Object.is(o,-0))throw new Error("Decoding negative zero");if(r.rejectLongLoundNaN&&isNaN(o)){let u=n.toHere(c);if(u.length!==3||u[1]!==126||u[2]!==0)throw new Error(`Invalid NaN encoding: "${Xt(u)}"`)}if(r.rejectSubnormals&&kN(n.toHere(c+1)),r.rejectLongFloats){let u=an(o,{chunkSize:9,reduceUnsafeNumbers:r.rejectUnsafeFloatInts});if(u[0]>>5!==i)throw new Error(`Should have been encoded as int, not float: ${o}`);if(u.length<lD.get(a))throw new Error(`Number should have been encoded shorter: ${o}`)}if(typeof o=="number"&&r.boxed)return oi(o,n.toHere(c))}else {if(r.rejectSimple&&o instanceof lr)throw new Error(`Invalid simple value: ${o}`);if(r.rejectUndefined&&o===void 0)throw new Error("Unexpected undefined")}return o;case Q.BYTE_STRING:case Q.UTF8_STRING:if(o===1/0)return new r.ParentType(e,1/0,t,r);if(r.rejectStringsNotNormalizedAs&&typeof o=="string"){let u=o.normalize(r.rejectStringsNotNormalizedAs);if(o!==u)throw new Error(`String not normalized as "${r.rejectStringsNotNormalizedAs}", got [${P2(o)}] instead of [${P2(u)}]`)}return r.boxed?oi(o,n.toHere(c)):o;case Q.ARRAY:return new r.ParentType(e,o,t,r);case Q.MAP:return new r.ParentType(e,o*2,t,r);case Q.TAG:{let u=new r.ParentType(e,1,t,r);return u.children=new Pe(o),u}}throw new TypeError(`Invalid major type: ${i}`)}static decodeToEncodeOpts(e){return {...F1,avoidInts:e.rejectInts,float64:!e.rejectLongFloats,flushToZero:e.rejectSubnormals,largeNegativeAsBigInt:e.rejectLargeNegatives,sortKeys:e.sortKeys}}push(e,t,r){if(this.children.push(e),this.#s){let n=ii(e)||t.toHere(r);this.#s.push(n);}return --this.left}replaceLast(e,t,r){let n,i=-1/0;if(this.children instanceof Pe?(i=0,n=this.children.contents,this.children.contents=e):(i=this.children.length-1,n=this.children[i],this.children[i]=e),this.#s){let a=ii(e)||r.toHere(t.offset);this.#s[i]=a;}return n}convert(e){let t;switch(this.mt){case Q.ARRAY:t=this.children;break;case Q.MAP:{let r=this.#r();if(this.#e.sortKeys){let n;for(let i of r){if(n&&this.#e.sortKeys(n,i)>=0)throw new Error(`Duplicate or out of order key: "0x${i[2]}"`);n=i;}}else if(this.#e.rejectDuplicateKeys){let n=new Set;for(let[i,a,o]of r){let c=Xt(o);if(n.has(c))throw new Error(`Duplicate key: "0x${c}"`);n.add(c);}}t=this.#e.createObject(r,this.#e);break}case Q.BYTE_STRING:return AN(this.children);case Q.UTF8_STRING:{let r=this.children.join("");t=this.#e.boxed?oi(r,e.toHere(this.offset)):r;break}case Q.TAG:t=this.children.decode(this.#e);break;default:throw new TypeError(`Invalid mt on convert: ${this.mt}`)}return this.#e.saveOriginal&&t&&typeof t=="object"&&ai(t,e.toHere(this.offset)),t}#r(){let e=this.children,t=e.length;if(t%2)throw new Error("Missing map value");let r=new Array(t/2);if(this.#s)for(let n=0;n<t;n+=2)r[n>>1]=[e[n],e[n+1],this.#s[n]];else for(let n=0;n<t;n+=2)r[n>>1]=[e[n],e[n+1],hD];return r}};d();f();d();f();var V2=" ",dD=new TextEncoder,G1=class extends vs{close="";quote='"';get isEmptyStream(){return (this.mt===Q.UTF8_STRING||this.mt===Q.BYTE_STRING)&&this.count===0}};function ui(s,e,t,r){let n="";if(e===Be.INDEFINITE)n+="_";else {if(r.diagnosticSizes===Qa.NEVER)return "";{let i=r.diagnosticSizes===Qa.ALWAYS;if(!i){let a=Be.ZERO;if(Object.is(t,-0))a=Be.TWO;else if(s===Q.POS_INT||s===Q.NEG_INT){let o=t<0,c=typeof t=="bigint"?1n:1,u=o?-t-c:t;u<=23?a=Number(u):u<=255?a=Be.ONE:u<=65535?a=Be.TWO:u<=4294967295?a=Be.FOUR:a=Be.EIGHT;}else isFinite(t)?Math.fround(t)===t?q1(t)==null?a=Be.FOUR:a=Be.TWO:a=Be.EIGHT:a=Be.TWO;i=a!==e;}i&&(n+="_",e<Be.ONE?n+="i":n+=String(e-24));}}return n}function D2(s,e){let t={...vs.defaultDecodeOptions,...e,ParentType:G1},r=new on(s,t),n,i,a="";for(let o of r){let[c,u,l]=o;switch(n&&(n.count>0&&l!==gt.BREAK&&(n.mt===Q.MAP&&n.count%2?a+=": ":(a+=",",t.pretty||(a+=" "))),t.pretty&&(n.mt!==Q.MAP||n.count%2===0)&&(a+=`
359
- ${V2.repeat(n.depth+1)}`)),i=vs.create(o,n,t,r),c){case Q.POS_INT:case Q.NEG_INT:a+=String(l),a+=ui(c,u,l,t);break;case Q.SIMPLE_FLOAT:if(l!==gt.BREAK)if(typeof l=="number"){let m=Object.is(l,-0)?"-0.0":String(l);a+=m,isFinite(l)&&!/[.e]/.test(m)&&(a+=".0"),a+=ui(c,u,l,t);}else l instanceof lr?(a+="simple(",a+=String(l.value),a+=ui(Q.POS_INT,u,l.value,t),a+=")"):a+=String(l);break;case Q.BYTE_STRING:l===1/0?(a+="(_ ",i.close=")",i.quote="'"):(a+="h'",a+=Xt(l),a+="'",a+=ui(Q.POS_INT,u,l.length,t));break;case Q.UTF8_STRING:l===1/0?(a+="(_ ",i.close=")"):(a+=JSON.stringify(l),a+=ui(Q.POS_INT,u,dD.encode(l).length,t));break;case Q.ARRAY:{a+="[";let m=ui(Q.POS_INT,u,l,t);a+=m,m&&(a+=" "),t.pretty&&l?i.close=`
360
- ${V2.repeat(i.depth)}]`:i.close="]";break}case Q.MAP:{a+="{";let m=ui(Q.POS_INT,u,l,t);a+=m,m&&(a+=" "),t.pretty&&l?i.close=`
361
- ${V2.repeat(i.depth)}}`:i.close="}";break}case Q.TAG:a+=String(l),a+=ui(Q.POS_INT,u,l,t),a+="(",i.close=")";break}if(i===gt.BREAK)if(n?.isStreaming)n.left=0;else throw new Error("Unexpected BREAK");else n&&(n.count++,n.left--);for(i instanceof G1&&(n=i);n?.done;){if(n.isEmptyStream)a=a.slice(0,-3),a+=`${n.quote}${n.quote}_`;else {if(n.mt===Q.MAP&&n.count%2!==0)throw new Error(`Odd streaming map size: ${n.count}`);a+=n.close;}n=n.parent;}}return a}var mD=new TextDecoder,jf=class extends vs{depth=0;leaf=!1;value;length;[gt.ENCODED];constructor(e,t,r,n){super(e,t,r,n),this.parent?this.depth=this.parent.depth+1:this.depth=n.initialDepth,[,,this.value,,this.length]=e;}numBytes(){switch(this.ai){case Be.ONE:return 1;case Be.TWO:return 2;case Be.FOUR:return 4;case Be.EIGHT:return 8}return 0}};function RN(s){return s instanceof jf}function W1(s,e){return s===1/0?"Indefinite":e?`${s} ${e}${s!==1&&s!==1n?"s":""}`:String(s)}function Lf(s){return "".padStart(s," ")}function VN(s,e,t){let r="";r+=Lf(s.depth*2);let n=ii(s);r+=Xt(n.subarray(0,1));let i=s.numBytes();i&&(r+=" ",r+=Xt(n.subarray(1,i+1))),r=r.padEnd(e.minCol+1," "),r+="-- ",t!==void 0&&(r+=Lf(s.depth*2),t!==""&&(r+=`[${t}] `));let a=!1,[o]=s.children;switch(s.mt){case Q.POS_INT:r+=`Unsigned: ${o}`,typeof o=="bigint"&&(r+="n");break;case Q.NEG_INT:r+=`Negative: ${o}`,typeof o=="bigint"&&(r+="n");break;case Q.BYTE_STRING:r+=`Bytes (Length: ${W1(s.length)})`;break;case Q.UTF8_STRING:r+=`UTF8 (Length: ${W1(s.length)})`,s.length!==1/0&&(r+=`: ${JSON.stringify(o)}`);break;case Q.ARRAY:r+=`Array (Length: ${W1(s.value,"item")})`;break;case Q.MAP:r+=`Map (Length: ${W1(s.value,"pair")})`;break;case Q.TAG:{r+=`Tag #${s.value}`;let c=s.children,[u]=c.contents.children,l=new Pe(c.tag,u);ai(l,n);let m=l.comment(e,s.depth);m&&(r+=": ",r+=m),a||=l.noChildren;break}case Q.SIMPLE_FLOAT:o===gt.BREAK?r+="BREAK":s.ai>Be.ONE?Object.is(o,-0)?r+="Float: -0":r+=`Float: ${o}`:(r+="Simple: ",o instanceof lr?r+=o.value:r+=o);break}if(!a)if(s.leaf){if(r+=`
362
- `,n.length>i+1){let c=Lf((s.depth+1)*2),u=Of(n);if(u?.length){u.sort((m,w)=>m[0]-w[0]||w[1]-m[1]);let l=0;for(let[m,w,E]of u)if(!(m<l)){if(l=m+w,E==="<<"){r+=Lf(e.minCol+1),r+="--",r+=c,r+="<< ";let v=Rf(n,m,m+w),A=Of(v);if(A){let C=A.findIndex(([D,U,T])=>D===0&&U===w&&T==="<<");C>=0&&A.splice(C,1);}r+=D2(v),r+=` >>
363
- `,r+=J1(v,{initialDepth:s.depth+1,minCol:e.minCol,noPrefixHex:!0});continue}else E==="'"&&(r+=Lf(e.minCol+1),r+="--",r+=c,r+="'",r+=mD.decode(n.subarray(m,m+w)),r+=`'
364
- `);if(m>i)for(let v=m;v<m+w;v+=8){let A=Math.min(v+8,m+w);r+=c,r+=Xt(n.subarray(v,A)),r+=`
365
- `;}}}else for(let l=i+1;l<n.length;l+=8)r+=c,r+=Xt(n.subarray(l,l+8)),r+=`
336
+ `;function fp({id:t,href:e,rel:s,crossOrigin:r}){let n=`${Bf}-${t}`;if(!document.getElementById(n)){let i=document.createElement("link");i.id=n,i.href=e,s&&(i.rel=s),r&&(i.crossOrigin=r),document.head.appendChild(i);}}var H5=()=>_5(CP()),j5=()=>_5(NP());var Uc=class{disableGenericPopupOverlay;disableBlockedPopupOverlay;overlay;isBlockedOverlay;tryAgainListener;onCloseListener;constructor(e,s=!1){this.disableBlockedPopupOverlay=e.disableBlockedPopupOverlay||!1,this.disableGenericPopupOverlay=e.disableGenericPopupOverlay||!1,this.isBlockedOverlay=s;}append(e,s){this.shouldAppendOverlay()&&(this.appendOverlay(),this.updateTryAgainButton(e),this.updateCloseButton(s));}update(e){this.updateTryAgainButton(e);}remove(){this.overlay&&this.overlay.remove();}shouldAppendOverlay(){return !(this.disableGenericPopupOverlay&&this.disableBlockedPopupOverlay||this.disableGenericPopupOverlay&&!this.isBlockedOverlay||this.disableBlockedPopupOverlay&&this.isBlockedOverlay)}appendOverlay(){if(!this.overlay){fp({id:"link-googleapis",href:"https://fonts.googleapis.com"}),fp({id:"link-gstatic",href:"https://fonts.gstatic.com",crossOrigin:"anonymous"}),fp({id:"link-roboto",href:"https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,400;0,500;0,700;1,400;1,500;1,700&display=swap",rel:"stylesheet"});let s=document.createElement("div");s.innerHTML=this.isBlockedOverlay?H5():j5(),document.body.insertAdjacentElement("beforeend",s),this.overlay=s;}}updateTryAgainButton(e){let s=document.getElementById(lp);s&&(this.tryAgainListener&&s.removeEventListener("click",this.tryAgainListener),this.tryAgainListener=e,s.addEventListener("click",e));}updateCloseButton(e){let s=document.getElementById(up);s&&(this.onCloseListener&&s.removeEventListener("click",this.onCloseListener),this.onCloseListener=e,s.addEventListener("click",e));}};d();h();d();h();var _c=(t=>(t.PRODUCTION="production",t.SANDBOX="sandbox",t))(_c||{}),TP=(t=>(t.API_KEY="x-immutable-api-key",t.PUBLISHABLE_KEY="x-immutable-publishable-key",t.RATE_LIMITING_KEY="x-api-key",t))(TP||{});d();h();d();h();var Pf=13371,Ia=13473,$b=42161,qb=421614,Fb=11155111,zn={13371:{magicPublishableApiKey:"pk_live_10F423798A540ED7",magicProviderId:"aa80b860-8869-4f13-9000-6a6ad3d20017"},13473:{magicPublishableApiKey:"pk_live_10F423798A540ED7",magicProviderId:"aa80b860-8869-4f13-9000-6a6ad3d20017"}};var Of={chainId:13371,name:"Immutable zkEVM",rpcUrl:"https://rpc.immutable.com",relayerUrl:"https://api.immutable.com/relayer-mr",apiUrl:"https://api.immutable.com",passportDomain:"https://passport.immutable.com",magicPublishableApiKey:zn[13371].magicPublishableApiKey,magicProviderId:zn[13371].magicProviderId,magicTeeBasePath:"https://tee.express.magiclabs.com"},Rf={chainId:13473,name:"Immutable zkEVM Testnet",rpcUrl:"https://rpc.testnet.immutable.com",relayerUrl:"https://api.sandbox.immutable.com/relayer-mr",apiUrl:"https://api.sandbox.immutable.com",passportDomain:"https://passport.sandbox.immutable.com",magicPublishableApiKey:zn[13473].magicPublishableApiKey,magicProviderId:zn[13473].magicProviderId,magicTeeBasePath:"https://tee.express.magiclabs.com"},hp={chainId:42161,name:"Arbitrum One",rpcUrl:"https://arb1.arbitrum.io/rpc",relayerUrl:"https://next-arbitrum-one-relayer.sequence.app",nodeUrl:"https://next-nodes.sequence.app/arbitrum-one",apiUrl:"https://api.immutable.com",passportDomain:"https://passport.immutable.com",feeTokenSymbol:"ETH",sequenceIdentityInstrumentEndpoint:"https://next-identity.sequence.app"},M5={chainId:421614,name:"Arbitrum Sepolia",rpcUrl:"https://sepolia-rollup.arbitrum.io/rpc",relayerUrl:"https://next-arbitrum-sepolia-relayer.sequence.app",nodeUrl:"https://next-nodes.sequence.app/arbitrum-sepolia",apiUrl:"https://api.sandbox.immutable.com",passportDomain:"https://passport.sandbox.immutable.com",feeTokenSymbol:"ETH",sequenceIdentityInstrumentEndpoint:"https://next-identity.sequence-dev.app"},dp={chainId:11155111,name:"Ethereum Sepolia",rpcUrl:"https://rpc.sepolia.org",relayerUrl:"https://next-sepolia-relayer.sequence.app",nodeUrl:"https://next-nodes.sequence.app/sepolia",apiUrl:"https://api.sandbox.immutable.com",passportDomain:"https://passport.sandbox.immutable.com",feeTokenSymbol:"ETH",sequenceIdentityInstrumentEndpoint:"https://next-identity.sequence-dev.app"},mp=[Rf,Of],kP={chains:[Of]},BP={chains:[Rf]},PP={chains:mp},OP={chains:[hp]},RP={chains:[M5]},LP={chains:[dp]};d();h();var $5={zkevm:{[_c.PRODUCTION]:Of,[_c.SANDBOX]:Rf},arbitrum_one:{[_c.PRODUCTION]:hp,[_c.SANDBOX]:dp}};function VP(){let t={};for(let[e,s]of Object.entries($5))for(let r of Object.values(s))t[r.chainId]=e;return t[15003]="zkevm",t}var UP=VP();function _P(t,e){let s=$5[t];if(!s)throw new Error(`Chain ${t} is not supported`);let r=s[e];if(!r)throw new Error(`Chain ${t} is not configured for environment ${e}`);return r}function Hc(t){let e=typeof t=="string"?parseInt(t.includes(":")?t.split(":")[1]:t,10):t;return UP[e]??"zkevm"}var Kb="Confirm this transaction",Gb=720,Wb=480,q5=1e3;var jc=class{config;confirmationWindow;popupOptions;overlay;overlayClosed;timer;constructor(e){this.config=e,this.overlayClosed=!1;}getHref(e,s){let r=`${this.config.passportDomain}/transaction-confirmation/${e}`;if(s){let n=s?Object.keys(s).map(i=>`${i}=${s[i]}`).join("&"):"";r=`${r}?${n}`;}return r}requestConfirmation(e,s,r,n){return new Promise((i,a)=>{let o=({data:u,origin:l})=>{if(!(l!==this.config.passportDomain||u.eventType!==kf))switch(u.messageType){case"confirmation_window_ready":{this.confirmationWindow?.postMessage({eventType:kf,messageType:"confirmation_start"},this.config.passportDomain);break}case"transaction_confirmed":{this.closeWindow(),i({confirmed:!0});break}case"transaction_rejected":{this.closeWindow(),i({confirmed:!1});break}case"transaction_error":{this.closeWindow(),a(new Error("Error during transaction confirmation"));break}default:this.closeWindow(),a(new Error("Unsupported message type"));}},c="";if(r===F5.mr.TransactionApprovalRequestChainTypeEnum.Starkex)c=this.getHref("transaction",{transactionId:e,etherAddress:s,chainType:r});else {let l=(n?Hc(n):"zkevm").replace("_","-");c=this.getHref(`${l}/transaction`,{transactionID:e,etherAddress:s,chainType:r,chainID:n});}window.addEventListener("message",o),this.showConfirmationScreen(c,o,i);})}requestMessageConfirmation(e,s,r,n){return new Promise((i,a)=>{let o=({data:p,origin:w})=>{if(!(w!==this.config.passportDomain||p.eventType!==kf))switch(p.messageType){case"confirmation_window_ready":{this.confirmationWindow?.postMessage({eventType:kf,messageType:"confirmation_start"},this.config.passportDomain);break}case"message_confirmed":{this.closeWindow(),i({confirmed:!0});break}case"message_rejected":{this.closeWindow(),i({confirmed:!1});break}case"message_error":{this.closeWindow(),a(new Error("Error during message confirmation"));break}default:this.closeWindow(),a(new Error("Unsupported message type"));}};window.addEventListener("message",o);let u=Hc(n).replace("_","-"),l=this.getHref(`${u}/message`,{messageID:e,etherAddress:s,chainID:n,messageType:r});this.showConfirmationScreen(l,o,i);})}showServiceUnavailable(){return new Promise((e,s)=>{this.showConfirmationScreen(this.getHref("unavailable"),()=>{},()=>{this.closeWindow(),s(new Error("Service unavailable"));});})}loading(e){if(!this.config.crossSdkBridgeEnabled){this.popupOptions=e;try{this.confirmationWindow=cp({url:this.getHref("loading"),title:Kb,width:e?.width||Wb,height:e?.height||Gb}),this.overlay=new Uc(this.config.popupOverlayOptions||{});}catch(s){let r=s instanceof Error?s.message:String(s);trackError("passport","confirmationPopupDenied",new Error(r)),this.overlay=new Uc(this.config.popupOverlayOptions||{},!0);}this.overlay.append(()=>{try{this.confirmationWindow?.close(),this.confirmationWindow=cp({url:this.getHref("loading"),title:Kb,width:this.popupOptions?.width||Wb,height:this.popupOptions?.height||Gb});}catch{}},()=>{this.overlayClosed=!0,this.closeWindow();});}}closeWindow(){this.confirmationWindow?.close(),this.overlay?.remove(),this.overlay=void 0;}showConfirmationScreen(e,s,r){if(this.confirmationWindow&&(this.confirmationWindow.location.href=e),!this.overlay){this.overlayClosed=!1,r({confirmed:!1});return}let n=()=>{(this.confirmationWindow?.closed||this.overlayClosed)&&(clearInterval(this.timer),window.removeEventListener("message",s),r({confirmed:!1}),this.overlayClosed=!1,this.confirmationWindow=void 0);};this.timer=setInterval(n,q5),this.overlay.update(()=>this.recreateConfirmationWindow(e,n));}recreateConfirmationWindow(e,s){try{clearInterval(this.timer),this.confirmationWindow?.close(),this.confirmationWindow=cp({url:e,title:Kb,width:this.popupOptions?.width||Wb,height:this.popupOptions?.height||Gb}),this.timer=setInterval(s,q5);}catch{}}};d();h();var Ca=(o=>(o.WALLET_CONNECTION_ERROR="WALLET_CONNECTION_ERROR",o.TRANSACTION_REJECTED="TRANSACTION_REJECTED",o.INVALID_CONFIGURATION="INVALID_CONFIGURATION",o.UNAUTHORIZED="UNAUTHORIZED",o.GUARDIAN_ERROR="GUARDIAN_ERROR",o.SERVICE_UNAVAILABLE_ERROR="SERVICE_UNAVAILABLE_ERROR",o.NOT_LOGGED_IN_ERROR="NOT_LOGGED_IN_ERROR",o))(Ca||{}),ht=class extends Error{type;constructor(e,s){super(e),this.name="WalletError",this.type=s;}};d();h();var Na=t=>typeof t=="object"&&t!==null&&"isAxiosError"in t;var Jb="Transaction requires confirmation but this functionality is not supported in this environment. Please contact Immutable support if you need to enable this feature.",pp=t=>BigInt(t).toString(),MP=t=>{try{return t.map(e=>({delegateCall:e.delegateCall===!0,revertOnError:e.revertOnError===!0,gasLimit:e.gasLimit?pp(e.gasLimit):"0",target:e.to??zeroAddress,value:e.value?pp(e.value):"0",data:e.data?e.data.toString():"0x"}))}catch(e){let s=e instanceof Error?e.message:String(e);throw new ye(-32602,`Transaction failed to parsing: ${s}`)}},Mc=class{guardianApi;confirmationScreen;crossSdkBridgeEnabled;auth;constructor({config:e,auth:s,guardianApi:r,authConfig:n}){this.confirmationScreen=new jc(n),this.crossSdkBridgeEnabled=e.crossSdkBridgeEnabled,this.guardianApi=r,this.auth=s;}withConfirmationScreen(e){return s=>this.withConfirmationScreenTask(e)(s)()}withConfirmationScreenTask(e){return s=>async()=>{this.confirmationScreen.loading(e);try{return await s()}catch(r){throw r instanceof ht&&r.type==="SERVICE_UNAVAILABLE_ERROR"?(await this.confirmationScreen.showServiceUnavailable(),r):(this.confirmationScreen.closeWindow(),r)}}}withDefaultConfirmationScreenTask(e){return this.withConfirmationScreenTask()(e)}async evaluateEVMTransaction({chainId:e,nonce:s,metaTransactions:r}){let n=await this.auth.getUserZkEvm(),i={Authorization:`Bearer ${n.accessToken}`},a=MP(r);try{return (await this.guardianApi.evaluateTransaction({id:"evm",transactionEvaluationRequest:{chainType:"evm",chainId:e,transactionData:{nonce:s,userAddress:n.zkEvm.ethAddress,metaTransactions:a}}},{headers:i})).data}catch(o){if(Na(o)&&o.response?.status===403)throw new ht("Service unavailable","SERVICE_UNAVAILABLE_ERROR");let c=o instanceof Error?o.message:String(o);throw new ye(-32603,`Transaction failed to validate with error: ${c}`)}}async validateEVMTransaction({chainId:e,nonce:s,metaTransactions:r,isBackgroundTransaction:n}){let i=await this.evaluateEVMTransaction({chainId:e,nonce:s,metaTransactions:r}),{confirmationRequired:a,transactionId:o}=i;if(a&&this.crossSdkBridgeEnabled)throw new ye(-32003,Jb);if(a&&o){let c=await this.auth.getUserZkEvm();if(!(await this.confirmationScreen.requestConfirmation(o,c.zkEvm.ethAddress,F5.mr.TransactionApprovalRequestChainTypeEnum.Evm,e)).confirmed)throw new ye(-32003,"Transaction rejected by user")}else n||this.confirmationScreen.closeWindow();}async handleEIP712MessageEvaluation({chainID:e,payload:s}){try{let r=await this.auth.getUserZkEvm();if(r===null)throw new ye(4100,"User not logged in. Please log in first.");return (await this.guardianApi.evaluateMessage({messageEvaluationRequest:{chainID:e,payload:s}},{headers:{Authorization:`Bearer ${r.accessToken}`}})).data}catch(r){let n=r instanceof Error?r.message:String(r);throw new ye(-32603,`Message failed to validate with error: ${n}`)}}async evaluateEIP712Message({chainID:e,payload:s}){let{messageId:r,confirmationRequired:n}=await this.handleEIP712MessageEvaluation({chainID:e,payload:s});if(n&&this.crossSdkBridgeEnabled)throw new ye(-32003,Jb);if(n&&r){let i=await this.auth.getUserZkEvm();if(!(await this.confirmationScreen.requestMessageConfirmation(r,i.zkEvm.ethAddress,"eip712",e)).confirmed)throw new ye(-32003,"Signature rejected by user")}else this.confirmationScreen.closeWindow();}async handleERC191MessageEvaluation({chainID:e,payload:s}){try{let r=await this.auth.getUserZkEvm();if(r===null)throw new ye(4100,"User not logged in. Please log in first.");return (await this.guardianApi.evaluateErc191Message({eRC191MessageEvaluationRequest:{chainID:ws(Number(e)),payload:s}},{headers:{Authorization:`Bearer ${r.accessToken}`}})).data}catch(r){let n=r instanceof Error?r.message:String(r);throw new ye(-32603,`Message failed to validate with error: ${n}`)}}async evaluateERC191Message({chainID:e,payload:s}){let{messageId:r,confirmationRequired:n}=await this.handleERC191MessageEvaluation({chainID:e,payload:s});if(n&&this.crossSdkBridgeEnabled)throw new ye(-32003,Jb);if(n&&r){let i=await this.auth.getUserZkEvm();if(!(await this.confirmationScreen.requestMessageConfirmation(r,i.zkEvm.ethAddress,"erc191",String(e))).confirmed)throw new ye(-32003,"Signature rejected by user")}else this.confirmationScreen.closeWindow();}};d();h();var $P=t=>new Promise(e=>{setTimeout(()=>e(),t);}),gp=async(t,e)=>{let{retries:s=3,interval:r=1e3,finalErr:n=Error("Retry failed"),finallyFn:i=()=>{}}=e||{};try{return await t()}catch{return s<=0?Promise.reject(n):(await $P(r),gp(t,{retries:s-1,finalErr:n,finallyFn:i}))}finally{s<=0&&i();}};var qP=30,FP=1e3,KP=async(t,e,s)=>{let r=np([t]),n=Ub(r),i=await s.imGetFeeOptions(e,n);if(!i||!Array.isArray(i))throw new Error("Invalid fee options received from relayer");let a=s.getPreferredFeeTokenSymbol(),o=i.find(c=>c.tokenSymbol===a);if(!o)throw new Error(`Failed to retrieve fees for ${a} token`);return o},GP=async(t,e,s,r,n)=>{if(!t.to)throw new ye(-32602,'eth_sendTransaction requires a "to" field');let i={to:t.to.toString(),data:t.data,nonce:BigInt(0),value:t.value,revertOnError:!0},[a,o]=await Promise.all([Cf(e,r,n),KP(i,r,s)]),c=[{...i,nonce:a}],u=BigInt(o.tokenPrice);return u!==BigInt(0)&&c.push({nonce:a,to:o.recipientAddress,value:u,revertOnError:!0}),c},yp=async(t,e,s)=>{let n=await gp(async()=>{let i=await t.imGetTransactionByHash(e);if(i.status==="PENDING")throw new Error;return i},{retries:qP,interval:FP,finalErr:new ye(-32e3,"transaction hash not generated in time")});if(s.addEvent("endRetrieveRelayerTransaction"),!["SUBMITTED","SUCCESSFUL"].includes(n.status)){let i=`Transaction failed to submit with status ${n.status}.`;throw n.statusMessage&&(i+=` Error message: ${n.statusMessage}`),new ye(-32e3,i)}return n},wp=async({transactionRequest:t,ethSigner:e,rpcProvider:s,guardianClient:r,relayerClient:n,zkEvmAddress:i,flow:a,nonceSpace:o,isBackgroundTransaction:c})=>{let u=await s.getChainId(),l=BigInt(u);a.addEvent("endDetectNetwork");let p=await GP(t,s,n,i,o);a.addEvent("endBuildMetaTransactions");let{nonce:w}=p[0];if(typeof w>"u")throw new Error("Failed to retrieve nonce from the smart wallet");let E=async()=>{await r.validateEVMTransaction({chainId:ws(Number(u)),nonce:pp(w),metaTransactions:p,isBackgroundTransaction:c}),a.addEvent("endValidateEVMTransaction");},S=async()=>{let D=await ap(p,w,l,i,e);return a.addEvent("endGetSignedMetaTransactions"),D},[,I]=await Promise.all([E(),S()]),C=await n.ethSendTransaction(i,I);return a.addEvent("endRelayerSendTransaction"),{signedTransactions:I,relayerId:C,nonce:w}},WP=async t=>{if(!t.to)throw new ye(-32602,'im_signEjectionTransaction requires a "to" field');if(typeof t.nonce>"u")throw new ye(-32602,'im_signEjectionTransaction requires a "nonce" field');if(!t.chainId)throw new ye(-32602,'im_signEjectionTransaction requires a "chainId" field');return [{to:t.to.toString(),data:t.data,nonce:t.nonce??void 0,value:t.value,revertOnError:!0}]},G5=async({transactionRequest:t,ethSigner:e,zkEvmAddress:s,flow:r})=>{let n=await WP(t);r.addEvent("endBuildMetaTransactions");let i=await ap(n,t.nonce,BigInt(t.chainId??0),s,e);return r.addEvent("endGetSignedMetaTransactions"),{to:s,data:i,chainId:ws(Number(t.chainId??0))}};var zb=async({params:t,ethSigner:e,rpcProvider:s,relayerClient:r,guardianClient:n,zkEvmAddress:i,flow:a,nonceSpace:o,isBackgroundTransaction:c=!1})=>{let u=t[0],{relayerId:l}=await wp({transactionRequest:u,ethSigner:e,rpcProvider:s,guardianClient:n,relayerClient:r,zkEvmAddress:i,flow:a,nonceSpace:o,isBackgroundTransaction:c}),{hash:p}=await yp(r,l,a);return p};d();h();var W5=["types","domain","primaryType","message"],JP=t=>W5.every(e=>e in t),zP=(t,e)=>{let s;if(typeof t=="string")try{s=JSON.parse(t);}catch(n){throw new ye(-32602,`Failed to parse typed data JSON: ${n}`)}else if(typeof t=="object")s=t;else throw new ye(-32602,`Invalid typed data argument: ${t}`);if(!JP(s))throw new ye(-32602,`Invalid typed data argument. The following properties are required: ${W5.join(", ")}`);let r=s.domain?.chainId;if(r){let n;if(typeof r=="string"?r.startsWith("0x")?n=parseInt(r,16):n=parseInt(r,10):n=Number(r),s.domain.chainId=n,BigInt(n)!==e)throw new ye(-32602,`Invalid chainId, expected ${e}`)}return s},J5=async({params:t,method:e,ethSigner:s,rpcProvider:r,relayerClient:n,guardianClient:i,flow:a})=>{let o=t[0],c=t[1];if(!o||!c)throw new ye(-32602,`${e} requires an address and a typed data JSON`);let u=await r.getChainId(),l=zP(c,BigInt(u));a.addEvent("endDetectNetwork"),await i.evaluateEIP712Message({chainID:String(u),payload:l}),a.addEvent("endValidateMessage");let p=await n.imSignTypedData(o,l);a.addEvent("endRelayerSignTypedData");let w=await _b(l,p,BigInt(u),o,s);return a.addEvent("getSignedTypedData"),w};d();h();d();h();var ZP=t=>{let e=0;for(;e<t.length&&t[e]===0;)e++;return t.slice(e)},XP=t=>{if(typeof TextDecoder<"u")return new TextDecoder("utf-8").decode(t);let e="";for(let s=0;s<t.length;s++)e+=String.fromCharCode(t[s]);return decodeURIComponent(escape(e))},z5=t=>{if(!t)return t;try{let e=toBytes(t),s=ZP(e);return XP(s)}catch{return t}};var bp=async({params:t,ethSigner:e,zkEvmAddress:s,rpcProvider:r,guardianClient:n,relayerClient:i,flow:a})=>{let o=t[0],c=t[1];if(!c||!o)throw new ye(-32602,"personal_sign requires an address and a message");if(c.toLowerCase()!==s.toLowerCase())throw new ye(-32602,"personal_sign requires the signer to be the from address");let u=z5(o),l=await r.getChainId();a.addEvent("endDetectNetwork");let p=BigInt(l),w=Hb(p,u,e,c);w.then(()=>a.addEvent("endEOASignature")),await n.evaluateERC191Message({chainID:p,payload:u}),a.addEvent("endEvaluateERC191Message");let[E,S]=await Promise.all([w,i.imSign(c,u)]);a.addEvent("endRelayerSign");let I=await e.getAddress();return a.addEvent("endGetEOAAddress"),op(E,I,S)};d();h();d();h();var QP="/v1/sdk/session-activity/check",Sp,Y5=t=>{Sp||(Sp=t);},eO=t=>{let e=new URL(QP,Sp);return Object.entries(t).forEach(([s,r])=>{r!=null&&e.searchParams.append(s,String(r));}),e.toString()};async function Z5(t){if(!Sp)throw new Error("Client not initialised");let e=await fetch(eO(t));if(e.status!==404){if(!e.ok)throw new Error(`Session activity request failed with status ${e.status}`);return e.json()}}d();h();function Q5(t,e){return (...s)=>{try{let r=t(...s);return r instanceof Promise?r.catch(n=>(n instanceof Error&&trackError("passport","sessionActivityError",n),e)):r}catch(r){return r instanceof Error&&trackError("passport","sessionActivityError",r),e}}}var{getItem:e3,setItem:Yb}=utils.localStorage,Zb="sessionActivitySendCount",t3="sessionActivityDate",Xb={},Yn={},vp={},s3=()=>{Yn=e3(Zb)||{};let t=e3(t3),e=new Date,s=e.getFullYear(),r=`${e.getMonth()+1}`.padStart(2,"0"),n=`${e.getDate()}`.padStart(2,"0"),i=`${s}-${r}-${n}`;(!t||t!==i)&&(Yn={}),Yb(t3,i),Yb(Zb,Yn);};s3();var aO=t=>{s3(),Yn[t]||(Yn[t]=0),Yn[t]++,Yb(Zb,Yn),Xb[t]=0;},oO=async t=>new Promise(e=>{setTimeout(e,t*1e3);}),cO=async t=>{let e=t.flow||trackFlow("passport","sendSessionActivity"),s=t.passportClient;if(!s)throw e.addEvent("No Passport Client ID"),new Error("No Passport Client ID provided");if(vp[s])return;vp[s]=!0;let{sendTransaction:r,sessionActivityApiUrl:n}=t;if(!r)throw new Error("No sendTransaction function provided");if(!n)throw new Error("No session activity API URL provided");Y5(n);let i=t.walletAddress;if(!i)throw e.addEvent("No Passport Wallet Address"),new Error("No wallet address");let a;try{if(a=await Z5({clientId:s,wallet:i,checkCount:Xb[s]||0,sendCount:Yn[s]||0}),Xb[s]++,!a)return}catch(o){throw e.addEvent("Failed to fetch details"),new Error("Failed to get details",{cause:o})}if(a&&a.contractAddress&&a.functionName){let o=parseAbi([`function ${a.functionName}()`]),c=encodeFunctionData({abi:o,functionName:a.functionName}),u=a.contractAddress;try{e.addEvent("Start Sending Transaction");let l=await t.sendTransaction([{to:u,from:i,data:c}],e);aO(s),e.addEvent("Transaction Sent",{tx:l});}catch(l){e.addEvent("Failed to send Transaction");let p=new Error("Failed to send transaction",{cause:l});trackError("passport","sessionActivityError",p,{flowId:e.details.flowId});}}a&&a.delay&&a.delay>0&&(e.addEvent("Delaying Transaction",{delay:a.delay}),await oO(a.delay),setTimeout(()=>{e.addEvent("Retrying after Delay"),vp[s]=!1,r3({...t,flow:e});},0));},r3=t=>Q5(cO)(t).then(()=>{vp[t.passportClient]=!1;}),n3=r3;d();h();var i3=async({params:t,ethSigner:e,rpcProvider:s,relayerClient:r,guardianClient:n,zkEvmAddress:i,flow:a})=>{let o={to:i,value:0n},{relayerId:c}=await wp({transactionRequest:o,ethSigner:e,rpcProvider:s,guardianClient:n,relayerClient:r,zkEvmAddress:i,flow:a});return n.withConfirmationScreen()(async()=>{let u=await bp({params:t,ethSigner:e,zkEvmAddress:i,rpcProvider:s,guardianClient:n,relayerClient:r,flow:a});return await yp(r,c,a),u})};d();h();var a3=async({params:t,ethSigner:e,zkEvmAddress:s,flow:r})=>{if(!t||t.length!==1)throw new ye(-32602,"im_signEjectionTransaction requires a singular param (hash)");let n=t[0];return await G5({transactionRequest:n,ethSigner:e,zkEvmAddress:s,flow:r})};var Ep=t=>"zkEvm"in t,Vf=class{#e;#s;#r;#t;#a;#i;#n;#u;#c;#o;isPassport=!0;constructor({auth:e,config:s,multiRollupApiClients:r,passportEventEmitter:n,guardianClient:i,ethSigner:a,user:o,sessionActivityApiUrl:c}){this.#e=e,this.#s=s,this.#i=i,this.#a=n,this.#r=c,this.#o=a,this.#n=createPublicClient({transport:http(this.#s.zkEvmRpcUrl)}),this.#c=new Nf({config:this.#s,rpcProvider:this.#n,auth:this.#e}),this.#u=r,this.#t=new TypedEventEmitter,o&&Ep(o)&&this.#f(o.zkEvm.ethAddress),n.on(AuthEvents.LOGGED_IN,u=>{Ep(u)&&this.#f(u.zkEvm.ethAddress);}),n.on(AuthEvents.LOGGED_OUT,this.#h),n.on("accountsRequested",n3);}#h=()=>{this.#t.emit("accountsChanged",[]);};async#f(e,s){if(!this.#r)return;let r=BigInt(1),n=async(i,a)=>await zb({params:i,ethSigner:this.#o,guardianClient:this.#i,rpcProvider:this.#n,relayerClient:this.#c,zkEvmAddress:e,flow:a,nonceSpace:r,isBackgroundTransaction:!0});this.#a.emit("accountsRequested",{sessionActivityApiUrl:this.#r,sendTransaction:n,walletAddress:e,passportClient:s||await this.#e.getClientId()});}async#l(){try{let e=await this.#e.getUser();return e&&Ep(e)?e.zkEvm.ethAddress:void 0}catch{return}}async#d(e){switch(e.method){case"eth_requestAccounts":{let s=await this.#l();if(s)return [s];let r=trackFlow("passport","ethRequestAccounts");try{let n=await this.#e.getUserOrLogin();r.addEvent("endGetUserOrLogin");let i;return Ep(n)?i=n.zkEvm.ethAddress:(r.addEvent("startUserRegistration"),i=await R5({ethSigner:this.#o,auth:this.#e,multiRollupApiClients:this.#u,accessToken:n.accessToken,rpcProvider:this.#n,flow:r}),r.addEvent("endUserRegistration")),this.#t.emit("accountsChanged",[i]),identify({passportId:n.profile.sub}),this.#f(i),[i]}catch(n){throw n instanceof Error?trackError("passport","ethRequestAccounts",n,{flowId:r.details.flowId}):r.addEvent("errored"),n}finally{r.addEvent("End");}}case"eth_sendTransaction":{let s=await this.#l();if(!s)throw new ye(4100,"Unauthorised - call eth_requestAccounts first");let r=trackFlow("passport","ethSendTransaction");try{return await this.#i.withConfirmationScreen({width:480,height:720})(async()=>await zb({params:e.params||[],ethSigner:this.#o,guardianClient:this.#i,rpcProvider:this.#n,relayerClient:this.#c,zkEvmAddress:s,flow:r}))}catch(n){throw n instanceof Error?trackError("passport","eth_sendTransaction",n,{flowId:r.details.flowId}):r.addEvent("errored"),n}finally{r.addEvent("End");}}case"eth_accounts":{let s=await this.#l();return s?[s]:[]}case"personal_sign":{let s=await this.#l();if(!s)throw new ye(4100,"Unauthorised - call eth_requestAccounts first");let r=trackFlow("passport","personalSign");try{return await this.#i.withConfirmationScreen({width:480,height:720})(async()=>this.#s.forceScwDeployBeforeMessageSignature&&!(await Cf(this.#n,s)>BigInt(0))?await i3({params:e.params||[],zkEvmAddress:s,ethSigner:this.#o,rpcProvider:this.#n,guardianClient:this.#i,relayerClient:this.#c,flow:r}):await bp({params:e.params||[],zkEvmAddress:s,ethSigner:this.#o,rpcProvider:this.#n,guardianClient:this.#i,relayerClient:this.#c,flow:r}))}catch(n){throw n instanceof Error?trackError("passport","personal_sign",n,{flowId:r.details.flowId}):r.addEvent("errored"),n}finally{r.addEvent("End");}}case"eth_signTypedData":case"eth_signTypedData_v4":{if(!await this.#l())throw new ye(4100,"Unauthorised - call eth_requestAccounts first");let r=trackFlow("passport","ethSignTypedDataV4");try{return await this.#i.withConfirmationScreen({width:480,height:720})(async()=>await J5({method:e.method,params:e.params||[],ethSigner:this.#o,rpcProvider:this.#n,relayerClient:this.#c,guardianClient:this.#i,flow:r}))}catch(n){throw n instanceof Error?trackError("passport","eth_signTypedData",n,{flowId:r.details.flowId}):r.addEvent("errored"),n}finally{r.addEvent("End");}}case"eth_chainId":{let s=await this.#n.getChainId();return toHex(s)}case"eth_getBalance":case"eth_getCode":case"eth_getTransactionCount":{let[s,r]=e.params||[];return this.#n.request({method:e.method,params:[s,r||"latest"]})}case"eth_getStorageAt":{let[s,r,n]=e.params||[];return this.#n.request({method:"eth_getStorageAt",params:[s,r,n||"latest"]})}case"eth_call":case"eth_estimateGas":{let[s,r]=e.params||[];return this.#n.request({method:e.method,params:[s,r||"latest"]})}case"eth_gasPrice":case"eth_blockNumber":case"eth_getBlockByHash":case"eth_getBlockByNumber":case"eth_getTransactionByHash":case"eth_getTransactionReceipt":return this.#n.request({method:e.method,params:e.params||[]});case"im_signEjectionTransaction":{let s=await this.#l();if(!s)throw new ye(4100,"Unauthorised - call eth_requestAccounts first");let r=trackFlow("passport","imSignEjectionTransaction");try{return await a3({params:e.params||[],ethSigner:this.#o,zkEvmAddress:s,flow:r})}catch(n){throw n instanceof Error?trackError("passport","imSignEjectionTransaction",n,{flowId:r.details.flowId}):r.addEvent("errored"),n}finally{r.addEvent("End");}}case"im_addSessionActivity":{let[s]=e.params||[],r=await this.#l();return r&&this.#f(r,s),null}default:throw new ye(4200,"Method not supported")}}async request(e){try{return this.#d(e)}catch(s){throw s instanceof ye?s:s instanceof Error?new ye(-32603,s.message):new ye(-32603,"Internal error")}}on(e,s){this.#t.on(e,s);}removeListener(e,s){this.#t.removeListener(e,s);}};d();h();d();h();d();h();var mO="Only sign this message from Immutable Passport";function pO(t){let e=t.startsWith("0x")?t.slice(2):t,s=e.substring(0,64),r=e.substring(64,128),n=e.substring(128,130),i=parseInt(n,16),o=(i>=27?i-27:i).toString(16).padStart(2,"0");return `0x${s}${r}${o}`}async function Qb({auth:t,ethSigner:e,multiRollupApiClients:s,accessToken:r,rpcProvider:n,flow:i}){let a=e.getAddress();a.then(()=>i.addEvent("endGetAddress"));let o=e.signMessage(mO).then(pO);o.then(()=>i.addEvent("endSignRaw"));let c=n.getChainId();c.then(()=>i.addEvent("endDetectNetwork"));let u=s.chainsApi.listChains();u.then(()=>i.addEvent("endListChains"));let[l,p,w,E]=await Promise.all([a,o,c,u]),S=ws(Number(w)),I=E.data?.result?.find(C=>C.id===S)?.name;if(!I)throw new ye(-32603,`Chain name does not exist for chain id ${w}`);try{let C=await s.passportApi.createCounterfactualAddressV2({chainName:I,createCounterfactualAddressRequest:{ethereum_address:l,ethereum_signature:p}},{headers:{Authorization:`Bearer ${r}`}});return i.addEvent("endCreateCounterfactualAddress"),t.forceUserRefreshInBackground(),C.data.counterfactual_address}catch(C){throw i.addEvent("errorRegisteringUser"),new ye(-32603,`Failed to create counterfactual address: ${C}`)}}function o3(t,e){return e in t&&!!t[e]?.ethAddress}function c3(t,e){return t[e]?.ethAddress}var Uf=class{#e;#s;#r;#t;#a;#i;#n;#u;isPassport=!0;constructor({auth:e,chainConfig:s,multiRollupApiClients:r,guardianClient:n,ethSigner:i,passportEventEmitter:a}){let o=Hc(s.chainId);if(o==="zkevm")throw new Error("SequenceProvider cannot be used for zkEVM chains. Use ZkEvmProvider instead.");this.#u=o,this.#e=e,this.#s=s,this.#r=r,this.#i=n,this.#n=i,this.#a=a,this.#t=createPublicClient({transport:http(this.#s.rpcUrl)});}async#c(){let e=await this.#e.getUser();if(e&&o3(e,this.#u))return c3(e,this.#u)}async#o(e){switch(e.method){case"eth_requestAccounts":{let s=await this.#c();if(s)return [s];let r=trackFlow("passport","ethRequestAccounts");try{let n=await this.#e.getUserOrLogin();r.addEvent("endGetUserOrLogin");let i;if(o3(n,this.#u)?i=c3(n,this.#u):(r.addEvent("startUserRegistration"),i=await Qb({auth:this.#e,ethSigner:this.#n,multiRollupApiClients:this.#r,accessToken:n.accessToken,rpcProvider:this.#t,flow:r}),r.addEvent("endUserRegistration")),!i)throw new ye(-32603,"Failed to get user address after registration");return this.#a.emit("accountsChanged",[i]),identify({passportId:n.profile.sub}),[i]}catch(n){throw n instanceof Error?trackError("passport","ethRequestAccounts",n,{flowId:r.details.flowId}):r.addEvent("errored"),n}finally{r.addEvent("End");}}case"eth_accounts":{let s=await this.#c();return s?[s]:[]}case"eth_sendTransaction":throw new ye(4200,"eth_sendTransaction not yet implemented for this chain");case"personal_sign":throw new ye(4200,"personal_sign not yet implemented for this chain");case"eth_signTypedData":case"eth_signTypedData_v4":throw new ye(4200,"eth_signTypedData not yet implemented for this chain");case"eth_chainId":{let s=await this.#t.getChainId();return toHex(s)}case"eth_getBalance":case"eth_getCode":case"eth_getTransactionCount":{let[s,r]=e.params||[];return this.#t.request({method:e.method,params:[s,r||"latest"]})}case"eth_getStorageAt":{let[s,r,n]=e.params||[];return this.#t.request({method:"eth_getStorageAt",params:[s,r,n||"latest"]})}case"eth_call":case"eth_estimateGas":{let[s,r]=e.params||[];return this.#t.request({method:e.method,params:[s,r||"latest"]})}case"eth_gasPrice":case"eth_blockNumber":case"eth_getBlockByHash":case"eth_getBlockByNumber":case"eth_getTransactionByHash":case"eth_getTransactionReceipt":return this.#t.request({method:e.method,params:e.params||[]});default:throw new ye(4200,"Method not supported")}}async request(e){try{return this.#o(e)}catch(s){throw s instanceof ye?s:s instanceof Error?new ye(-32603,s.message):new ye(-32603,"Internal error")}}on(e,s){this.#a.on(e,s);}removeListener(e,s){this.#a.removeListener(e,s);}};d();h();var _f=class{passportDomain;zkEvmRpcUrl;relayerUrl;indexerMrBasePath;jsonRpcReferrer;forceScwDeployBeforeMessageSignature;crossSdkBridgeEnabled;feeTokenSymbol;constructor(e){this.passportDomain=e.passportDomain,this.zkEvmRpcUrl=e.zkEvmRpcUrl,this.relayerUrl=e.relayerUrl,this.indexerMrBasePath=e.indexerMrBasePath,this.jsonRpcReferrer=e.jsonRpcReferrer,this.forceScwDeployBeforeMessageSignature=e.forceScwDeployBeforeMessageSignature||!1,this.crossSdkBridgeEnabled=e.crossSdkBridgeEnabled||!1,this.feeTokenSymbol=e.feeTokenSymbol||"IMX";}};d();h();d();h();var eS=async(t,e,s=!0,r=!0)=>{let n=trackFlow("passport",e,s);try{return await t(n)}catch(i){throw i instanceof Error?trackError("passport",e,i,{flowId:n.details.flowId}):n.addEvent("errored"),i}finally{r&&n.addEvent("End");}};var l3="ETH",AO=t=>t.reduce((e,s)=>`${e}${s.toString(16).padStart(2,"0")}`,""),IO=t=>{if(typeof TextEncoder<"u")return new TextEncoder().encode(t);let e=unescape(encodeURIComponent(t)),s=new Uint8Array(e.length);for(let r=0;r<e.length;r+=1)s[r]=e.charCodeAt(r);return s},CO=t=>{let e=IO(t),s="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",r="";for(let n=0;n<e.length;n+=3){let i=e[n],a=e[n+1],o=e[n+2],c=i<<16|(a??0)<<8|(o??0),u=c>>18&63,l=c>>12&63,p=c>>6&63,w=c&63;r+=s[u]+s[l],r+=Number.isFinite(a)?s[p]:"=",r+=Number.isFinite(o)?s[w]:"=";}return r},$c=class t{auth;magicTeeApiClient;userWallet=null;createWalletPromise=null;constructor(e,s){this.auth=e,this.magicTeeApiClient=s;}async getUserWallet(){let{userWallet:e}=this;e||(e=await this.createWallet());let s=await this.getUserOrThrow();if(s.profile.sub!==e.userIdentifier&&(e=await this.createWallet(s)),isUserZkEvm(s)&&s.zkEvm.userAdminAddress.toLowerCase()!==e.walletAddress.toLowerCase())throw new ht(`Wallet address mismatch.Rollup: zkEVM, TEE address: ${e.walletAddress}, profile address: ${s.zkEvm.userAdminAddress}`,"WALLET_CONNECTION_ERROR");return e}async createWallet(e){return this.createWalletPromise?this.createWalletPromise:(this.createWalletPromise=new Promise(async(s,r)=>{try{this.userWallet=null;let n=e||await this.getUserOrThrow(),i=t.getHeaders(n);await eS(async a=>{try{let o=performance.now(),c=await this.magicTeeApiClient.walletApi.createWalletV1WalletPost({xMagicChain:l3},{headers:i});return trackDuration("passport",a.details.flowName,Math.round(performance.now()-o)),this.userWallet={userIdentifier:n.profile.sub,walletAddress:c.data.public_address},s(this.userWallet)}catch(o){let c="MagicTEE: Failed to initialise EOA";return Na(o)?o.response?c+=` with status ${o.response.status}: ${JSON.stringify(o.response.data)}`:c+=`: ${o.message}`:c+=`: ${o.message}`,r(new Error(c))}},"magicCreateWallet");}catch(n){r(n);}finally{this.createWalletPromise=null;}}),this.createWalletPromise)}async getUserOrThrow(){let e=await this.auth.getUser();if(!e)throw new ht("User has been logged out","NOT_LOGGED_IN_ERROR");return e}static getHeaders(e){if(!e)throw new ht("User has been logged out","NOT_LOGGED_IN_ERROR");return {Authorization:`Bearer ${e.idToken}`}}async getAddress(){return (await this.getUserWallet()).walletAddress}async signMessage(e){await this.getUserWallet();let s=e instanceof Uint8Array?`0x${AO(e)}`:e,r=await this.getUserOrThrow(),n=t.getHeaders(r);return eS(async i=>{try{let a=performance.now(),o=await this.magicTeeApiClient.signOperationsApi.signMessageV1WalletSignMessagePost({signMessageRequest:{message_base64:CO(s)},xMagicChain:l3},{headers:n});return trackDuration("passport",i.details.flowName,Math.round(performance.now()-a)),o.data.signature}catch(a){let o="MagicTEE: Failed to sign message using EOA";throw Na(a)?a.response?o+=` with status ${a.response.status}: ${JSON.stringify(a.response.data)}`:o+=`: ${a.message}`:o+=`: ${a.message}`,new Error(o)}},"magicSignMessage")}};d();h();var tS={icon:'data:image/svg+xml,<svg viewBox="0 0 48 48" class="SvgIcon undefined Logo Logo--PassportSymbolOutlined css-1dn9atd" xmlns="http://www.w3.org/2000/svg"><g data-testid="undefined__g"><circle cx="24" cy="24" r="22.5" fill="url(%23paint0_radial_6324_83922)"></circle><circle cx="24" cy="24" r="22.5" fill="url(%23paint1_radial_6324_83922)"></circle><path d="M24 0C10.7452 0 0 10.7452 0 24C0 37.2548 10.7452 48 24 48C37.2548 48 48 37.2548 48 24C48 10.7452 37.2548 0 24 0ZM23.0718 9.16608C23.7383 8.83951 24.4406 8.86188 25.087 9.2287C27.3282 10.5059 29.5627 11.7942 31.786 13.096C32.5018 13.5165 32.8686 14.1897 32.8708 15.0173C32.8843 17.9184 32.8798 20.8171 32.8708 23.7182C32.8708 23.8255 32.8015 23.9821 32.7143 24.0335C31.8531 24.548 30.9808 25.0423 30.0347 25.5881V25.1318C30.0347 22.148 30.0257 19.1664 30.0414 16.1827C30.0436 15.6101 29.8468 15.241 29.339 14.9525C26.7377 13.474 24.1499 11.9687 21.5575 10.4723C21.4457 10.4075 21.3361 10.3381 21.1661 10.2352C21.8326 9.85722 22.4321 9.47698 23.0673 9.16608H23.0718ZM22.5953 38.8451C22.45 38.7713 22.3426 38.7198 22.2375 38.6595C18.8041 36.68 15.3752 34.687 11.9307 32.7232C10.9644 32.173 10.5238 31.3879 10.5349 30.2852C10.5551 27.9411 10.5484 25.597 10.5372 23.2507C10.5327 22.1927 10.9622 21.4255 11.8926 20.8977C14.3105 19.5221 16.715 18.1264 19.1195 16.7284C19.3275 16.6076 19.4796 16.5875 19.6965 16.7172C20.5264 17.216 21.3719 17.6924 22.2554 18.2024C22.0876 18.3031 21.9601 18.3791 21.8304 18.4552C19.2268 19.9582 16.6278 21.4658 14.0175 22.9599C13.5903 23.2037 13.3912 23.5213 13.3957 24.0179C13.4091 25.8654 13.4114 27.713 13.3957 29.5605C13.3912 30.0705 13.5948 30.3948 14.0332 30.6453C16.7866 32.2199 19.5288 33.8125 22.28 35.3916C22.5126 35.5258 22.611 35.6645 22.6065 35.9418C22.5864 36.888 22.5998 37.8363 22.5998 38.8473L22.5953 38.8451ZM22.5953 33.553C22.356 33.4166 22.1838 33.3204 22.0116 33.2198C19.8285 31.9605 17.6477 30.6967 15.4602 29.4464C15.2231 29.3122 15.1359 29.1668 15.1381 28.8917C15.1538 27.4714 15.1471 26.0511 15.1426 24.6308C15.1426 24.4384 15.1717 24.3064 15.3618 24.1991C16.167 23.7495 16.9633 23.2798 17.7618 22.8212C17.8199 22.7877 17.8826 22.7631 17.9877 22.7116V24.3064C17.9877 25.1698 18.0011 26.0354 17.9832 26.8988C17.972 27.3909 18.1622 27.7241 18.5916 27.9657C19.8285 28.6636 21.0498 29.3883 22.2867 30.0839C22.5305 30.2203 22.6043 30.3724 22.5998 30.6408C22.5842 31.5847 22.5931 32.5308 22.5931 33.5508L22.5953 33.553ZM20.0746 14.91C19.6116 14.6371 19.2157 14.6393 18.7527 14.91C16.1581 16.4265 13.5523 17.9228 10.9487 19.4259C10.8391 19.4908 10.7251 19.5489 10.5305 19.6541C10.5998 18.6654 10.3873 17.7327 10.7251 16.8291C10.9085 16.3348 11.2529 15.9635 11.7092 15.6995C13.8811 14.4447 16.0507 13.1877 18.227 11.9396C19.0211 11.4833 19.8308 11.4945 20.6248 11.953C23.0964 13.3756 25.5657 14.8026 28.0306 16.2341C28.1357 16.2945 28.2677 16.4309 28.2677 16.5338C28.2856 17.5493 28.2788 18.567 28.2788 19.6563C27.3819 19.1396 26.5543 18.6609 25.7267 18.1823C23.8412 17.093 21.9512 16.0149 20.0746 14.91ZM37.4427 30.8779C37.3778 31.6764 36.9103 32.2423 36.2192 32.6404C33.5732 34.1614 30.9294 35.6913 28.2856 37.2168C27.4557 37.6954 26.6259 38.1741 25.7938 38.6527C25.6932 38.7109 25.5903 38.7601 25.4539 38.8317C25.4449 38.693 25.4337 38.5924 25.4337 38.4917C25.4337 37.6149 25.4382 36.7404 25.4293 35.8636C25.4293 35.6645 25.4762 35.5437 25.6596 35.4386C29.5157 33.2198 33.3696 30.9942 37.2212 28.7709C37.2794 28.7374 37.3443 28.7105 37.4539 28.6591C37.4539 29.4375 37.4986 30.1622 37.4427 30.8779ZM37.4628 25.3577C37.4561 26.2658 36.9663 26.9033 36.1901 27.3506C33.175 29.0841 30.1622 30.8265 27.1493 32.5666C26.5991 32.8842 26.0466 33.1996 25.4561 33.5396C25.4472 33.3897 25.436 33.2913 25.436 33.1907C25.436 32.3273 25.4449 31.4617 25.4293 30.5983C25.4248 30.3523 25.5075 30.2226 25.72 30.0995C28.46 28.5271 31.1911 26.9368 33.9355 25.3733C34.4231 25.096 34.6378 24.7538 34.6334 24.1812C34.6132 21.1974 34.6244 18.2136 34.6244 15.2298V14.7087C35.3402 15.1404 36.0112 15.496 36.624 15.9299C37.1832 16.3258 37.465 16.9253 37.4673 17.6164C37.4762 20.1976 37.4829 22.7788 37.465 25.3599L37.4628 25.3577Z" fill="%230D0D0D"></path><path fill-rule="evenodd" d="M24 0C10.7452 0 0 10.7452 0 24C0 37.2548 10.7452 48 24 48C37.2548 48 48 37.2548 48 24C48 10.7452 37.2548 0 24 0ZM24 2C11.8497 2 2 11.8497 2 24C2 36.1503 11.8497 46 24 46C36.1503 46 46 36.1503 46 24C46 11.8497 36.1503 2 24 2Z" fill="url(%23paint2_radial_6324_83922)"></path><path fill-rule="evenodd" d="M24 0C10.7452 0 0 10.7452 0 24C0 37.2548 10.7452 48 24 48C37.2548 48 48 37.2548 48 24C48 10.7452 37.2548 0 24 0ZM24 2C11.8497 2 2 11.8497 2 24C2 36.1503 11.8497 46 24 46C36.1503 46 46 36.1503 46 24C46 11.8497 36.1503 2 24 2Z" fill="url(%23paint3_radial_6324_83922)"></path><defs><radialGradient id="paint0_radial_6324_83922" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="translate(13.4442 13.3899) rotate(44.9817) scale(46.7487 99.1435)"><stop stop-color="%23A3EEF8"></stop><stop offset="0.177083" stop-color="%23A4DCF5"></stop><stop offset="0.380208" stop-color="%23A6AEEC"></stop><stop offset="1" stop-color="%23ECBEE1"></stop></radialGradient><radialGradient id="paint1_radial_6324_83922" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="translate(25.9515 43.7068) rotate(84.265) scale(24.2138 46.3215)"><stop stop-color="%23FCF5EE"></stop><stop offset="0.715135" stop-color="%23ECBEE1" stop-opacity="0"></stop></radialGradient><radialGradient id="paint2_radial_6324_83922" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="translate(12.7405 12.6825) rotate(44.9817) scale(49.8653 105.753)"><stop stop-color="%23A3EEF8"></stop><stop offset="0.177083" stop-color="%23A4DCF5"></stop><stop offset="0.380208" stop-color="%23A6AEEC"></stop><stop offset="1" stop-color="%23ECBEE1"></stop></radialGradient><radialGradient id="paint3_radial_6324_83922" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="translate(26.0816 45.0206) rotate(84.265) scale(25.828 49.4096)"><stop stop-color="%23FCF5EE"></stop><stop offset="0.715135" stop-color="%23ECBEE1" stop-opacity="0"></stop></radialGradient></defs></g></svg>',name:"Immutable Passport",rdns:"com.immutable.passport",uuid:"3f0259bb-54c0-4ff0-85f2-6bb7c2d8b6c8"};function sS(t){if(typeof window>"u")return;let e=new CustomEvent("eip6963:announceProvider",{detail:Object.freeze(t)});window.dispatchEvent(e);let s=()=>window.dispatchEvent(e);window.addEventListener("eip6963:requestProvider",s);}d();h();d();h();d();h();var eo={};Ne(eo,{IdentitySigner:()=>S1,toIdentityAuthKey:()=>f2});d();h();d();h();var He={};Ne(He,{format:()=>MO,from:()=>$O});d();h();d();h();d();h();d();h();var f3="1.1.0";var Pt=class t extends Error{constructor(e,s={}){let r=s.cause instanceof t?s.cause.details:s.cause?.message?s.cause.message:s.details,n=s.cause instanceof t&&s.cause.docsPath||s.docsPath,i=[e||"An error occurred.","",...s.metaMessages?[...s.metaMessages,""]:[],...n?[`Docs: https://abitype.dev${n}`]:[],...r?[`Details: ${r}`]:[],`Version: abitype@${f3}`].join(`
337
+ `);super(i),Object.defineProperty(this,"details",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"docsPath",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"metaMessages",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"shortMessage",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiTypeError"}),s.cause&&(this.cause=s.cause),this.details=r,this.docsPath=n,this.metaMessages=s.metaMessages,this.shortMessage=e;}};d();h();d();h();d();h();d();h();d();h();function Vs(t,e){return t.exec(e)?.groups}var rS=/^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/,nS=/^u?int(8|16|24|32|40|48|56|64|72|80|88|96|104|112|120|128|136|144|152|160|168|176|184|192|200|208|216|224|232|240|248|256)?$/,xp=/^\(.+?\).*?$/;var h3=/^tuple(?<array>(\[(\d*)\])*)$/;function Ap(t){let e=t.type;if(h3.test(t.type)&&"components"in t){e="(";let s=t.components.length;for(let n=0;n<s;n++){let i=t.components[n];e+=Ap(i),n<s-1&&(e+=", ");}let r=Vs(h3,t.type);return e+=`)${r?.array??""}`,Ap({...t,type:e})}return "indexed"in t&&t.indexed&&(e=`${e} indexed`),t.name?`${e} ${t.name}`:e}function Ir(t){let e="",s=t.length;for(let r=0;r<s;r++){let n=t[r];e+=Ap(n),r!==s-1&&(e+=", ");}return e}function Fr(t){return t.type==="function"?`function ${t.name}(${Ir(t.inputs)})${t.stateMutability&&t.stateMutability!=="nonpayable"?` ${t.stateMutability}`:""}${t.outputs?.length?` returns (${Ir(t.outputs)})`:""}`:t.type==="event"?`event ${t.name}(${Ir(t.inputs)})`:t.type==="error"?`error ${t.name}(${Ir(t.inputs)})`:t.type==="constructor"?`constructor(${Ir(t.inputs)})${t.stateMutability==="payable"?" payable":""}`:t.type==="fallback"?`fallback() external${t.stateMutability==="payable"?" payable":""}`:"receive() external payable"}function iS(t){let e=[],s=t.length;for(let r=0;r<s;r++){let n=t[r],i=Fr(n);e.push(i);}return e}d();h();d();h();var d3=/^error (?<name>[a-zA-Z$_][a-zA-Z0-9$_]*)\((?<parameters>.*?)\)$/;function m3(t){return d3.test(t)}function p3(t){return Vs(d3,t)}var g3=/^event (?<name>[a-zA-Z$_][a-zA-Z0-9$_]*)\((?<parameters>.*?)\)$/;function y3(t){return g3.test(t)}function w3(t){return Vs(g3,t)}var b3=/^function (?<name>[a-zA-Z$_][a-zA-Z0-9$_]*)\((?<parameters>.*?)\)(?: (?<scope>external|public{1}))?(?: (?<stateMutability>pure|view|nonpayable|payable{1}))?(?: returns\s?\((?<returns>.*?)\))?$/;function S3(t){return b3.test(t)}function v3(t){return Vs(b3,t)}var E3=/^struct (?<name>[a-zA-Z$_][a-zA-Z0-9$_]*) \{(?<properties>.*?)\}$/;function Zn(t){return E3.test(t)}function x3(t){return Vs(E3,t)}var A3=/^constructor\((?<parameters>.*?)\)(?:\s(?<stateMutability>payable{1}))?$/;function I3(t){return A3.test(t)}function C3(t){return Vs(A3,t)}var N3=/^fallback\(\) external(?:\s(?<stateMutability>payable{1}))?$/;function T3(t){return N3.test(t)}function k3(t){return Vs(N3,t)}var NO=/^receive\(\) external payable$/;function B3(t){return NO.test(t)}var aS=new Set(["memory","indexed","storage","calldata"]),P3=new Set(["indexed"]),Ip=new Set(["calldata","memory","storage"]);d();h();d();h();var Cp=class extends Pt{constructor({signature:e}){super("Failed to parse ABI item.",{details:`parseAbiItem(${JSON.stringify(e,null,2)})`,docsPath:"/api/human#parseabiitem-1"}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidAbiItemError"});}},Np=class extends Pt{constructor({type:e}){super("Unknown type.",{metaMessages:[`Type "${e}" is not a valid ABI type. Perhaps you forgot to include a struct signature?`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"UnknownTypeError"});}},Tp=class extends Pt{constructor({type:e}){super("Unknown type.",{metaMessages:[`Type "${e}" is not a valid ABI type.`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"UnknownSolidityTypeError"});}};d();h();var kp=class extends Pt{constructor({params:e}){super("Failed to parse ABI parameters.",{details:`parseAbiParameters(${JSON.stringify(e,null,2)})`,docsPath:"/api/human#parseabiparameters-1"}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidAbiParametersError"});}},Bp=class extends Pt{constructor({param:e}){super("Invalid ABI parameter.",{details:e}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidParameterError"});}},Pp=class extends Pt{constructor({param:e,name:s}){super("Invalid ABI parameter.",{details:e,metaMessages:[`"${s}" is a protected Solidity keyword. More info: https://docs.soliditylang.org/en/latest/cheatsheet.html`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"SolidityProtectedKeywordError"});}},Op=class extends Pt{constructor({param:e,type:s,modifier:r}){super("Invalid ABI parameter.",{details:e,metaMessages:[`Modifier "${r}" not allowed${s?` in "${s}" type`:""}.`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidModifierError"});}},Rp=class extends Pt{constructor({param:e,type:s,modifier:r}){super("Invalid ABI parameter.",{details:e,metaMessages:[`Modifier "${r}" not allowed${s?` in "${s}" type`:""}.`,`Data location can only be specified for array, struct, or mapping types, but "${r}" was given.`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidFunctionModifierError"});}},Lp=class extends Pt{constructor({abiParameter:e}){super("Invalid ABI parameter.",{details:JSON.stringify(e,null,2),metaMessages:["ABI parameter type is invalid."]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidAbiTypeParameterError"});}};d();h();var Cr=class extends Pt{constructor({signature:e,type:s}){super(`Invalid ${s} signature.`,{details:e}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidSignatureError"});}},Dp=class extends Pt{constructor({signature:e}){super("Unknown signature.",{details:e}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"UnknownSignatureError"});}},Vp=class extends Pt{constructor({signature:e}){super("Invalid struct signature.",{details:e,metaMessages:["No properties exist."]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidStructSignatureError"});}};d();h();var Up=class extends Pt{constructor({type:e}){super("Circular reference detected.",{metaMessages:[`Struct "${e}" is a circular reference.`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"CircularReferenceError"});}};d();h();d();h();var _p=class extends Pt{constructor({current:e,depth:s}){super("Unbalanced parentheses.",{metaMessages:[`"${e.trim()}" has too many ${s>0?"opening":"closing"} parentheses.`],details:`Depth "${s}"`}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidParenthesisError"});}};d();h();function O3(t,e,s){let r="";if(s)for(let n of Object.entries(s)){if(!n)continue;let i="";for(let a of n[1])i+=`[${a.type}${a.name?`:${a.name}`:""}]`;r+=`(${n[0]}{${i}})`;}return e?`${e}:${t}${r}`:t}var Hp=new Map([["address",{type:"address"}],["bool",{type:"bool"}],["bytes",{type:"bytes"}],["bytes32",{type:"bytes32"}],["int",{type:"int256"}],["int256",{type:"int256"}],["string",{type:"string"}],["uint",{type:"uint256"}],["uint8",{type:"uint8"}],["uint16",{type:"uint16"}],["uint24",{type:"uint24"}],["uint32",{type:"uint32"}],["uint64",{type:"uint64"}],["uint96",{type:"uint96"}],["uint112",{type:"uint112"}],["uint160",{type:"uint160"}],["uint192",{type:"uint192"}],["uint256",{type:"uint256"}],["address owner",{type:"address",name:"owner"}],["address to",{type:"address",name:"to"}],["bool approved",{type:"bool",name:"approved"}],["bytes _data",{type:"bytes",name:"_data"}],["bytes data",{type:"bytes",name:"data"}],["bytes signature",{type:"bytes",name:"signature"}],["bytes32 hash",{type:"bytes32",name:"hash"}],["bytes32 r",{type:"bytes32",name:"r"}],["bytes32 root",{type:"bytes32",name:"root"}],["bytes32 s",{type:"bytes32",name:"s"}],["string name",{type:"string",name:"name"}],["string symbol",{type:"string",name:"symbol"}],["string tokenURI",{type:"string",name:"tokenURI"}],["uint tokenId",{type:"uint256",name:"tokenId"}],["uint8 v",{type:"uint8",name:"v"}],["uint256 balance",{type:"uint256",name:"balance"}],["uint256 tokenId",{type:"uint256",name:"tokenId"}],["uint256 value",{type:"uint256",name:"value"}],["event:address indexed from",{type:"address",name:"from",indexed:!0}],["event:address indexed to",{type:"address",name:"to",indexed:!0}],["event:uint indexed tokenId",{type:"uint256",name:"tokenId",indexed:!0}],["event:uint256 indexed tokenId",{type:"uint256",name:"tokenId",indexed:!0}]]);function Hf(t,e={}){if(S3(t))return TO(t,e);if(y3(t))return kO(t,e);if(m3(t))return BO(t,e);if(I3(t))return PO(t,e);if(T3(t))return OO(t);if(B3(t))return {type:"receive",stateMutability:"payable"};throw new Dp({signature:t})}function TO(t,e={}){let s=v3(t);if(!s)throw new Cr({signature:t,type:"function"});let r=Ts(s.parameters),n=[],i=r.length;for(let o=0;o<i;o++)n.push(er(r[o],{modifiers:Ip,structs:e,type:"function"}));let a=[];if(s.returns){let o=Ts(s.returns),c=o.length;for(let u=0;u<c;u++)a.push(er(o[u],{modifiers:Ip,structs:e,type:"function"}));}return {name:s.name,type:"function",stateMutability:s.stateMutability??"nonpayable",inputs:n,outputs:a}}function kO(t,e={}){let s=w3(t);if(!s)throw new Cr({signature:t,type:"event"});let r=Ts(s.parameters),n=[],i=r.length;for(let a=0;a<i;a++)n.push(er(r[a],{modifiers:P3,structs:e,type:"event"}));return {name:s.name,type:"event",inputs:n}}function BO(t,e={}){let s=p3(t);if(!s)throw new Cr({signature:t,type:"error"});let r=Ts(s.parameters),n=[],i=r.length;for(let a=0;a<i;a++)n.push(er(r[a],{structs:e,type:"error"}));return {name:s.name,type:"error",inputs:n}}function PO(t,e={}){let s=C3(t);if(!s)throw new Cr({signature:t,type:"constructor"});let r=Ts(s.parameters),n=[],i=r.length;for(let a=0;a<i;a++)n.push(er(r[a],{structs:e,type:"constructor"}));return {type:"constructor",stateMutability:s.stateMutability??"nonpayable",inputs:n}}function OO(t){let e=k3(t);if(!e)throw new Cr({signature:t,type:"fallback"});return {type:"fallback",stateMutability:e.stateMutability??"nonpayable"}}var RO=/^(?<type>[a-zA-Z$_][a-zA-Z0-9$_]*(?:\spayable)?)(?<array>(?:\[\d*?\])+?)?(?:\s(?<modifier>calldata|indexed|memory|storage{1}))?(?:\s(?<name>[a-zA-Z$_][a-zA-Z0-9$_]*))?$/,LO=/^\((?<type>.+?)\)(?<array>(?:\[\d*?\])+?)?(?:\s(?<modifier>calldata|indexed|memory|storage{1}))?(?:\s(?<name>[a-zA-Z$_][a-zA-Z0-9$_]*))?$/,DO=/^u?int$/;function er(t,e){let s=O3(t,e?.type,e?.structs);if(Hp.has(s))return Hp.get(s);let r=xp.test(t),n=Vs(r?LO:RO,t);if(!n)throw new Bp({param:t});if(n.name&&UO(n.name))throw new Pp({param:t,name:n.name});let i=n.name?{name:n.name}:{},a=n.modifier==="indexed"?{indexed:!0}:{},o=e?.structs??{},c,u={};if(r){c="tuple";let p=Ts(n.type),w=[],E=p.length;for(let S=0;S<E;S++)w.push(er(p[S],{structs:o}));u={components:w};}else if(n.type in o)c="tuple",u={components:o[n.type]};else if(DO.test(n.type))c=`${n.type}256`;else if(n.type==="address payable")c="address";else if(c=n.type,e?.type!=="struct"&&!oS(c))throw new Tp({type:c});if(n.modifier){if(!e?.modifiers?.has?.(n.modifier))throw new Op({param:t,type:e?.type,modifier:n.modifier});if(Ip.has(n.modifier)&&!_O(c,!!n.array))throw new Rp({param:t,type:e?.type,modifier:n.modifier})}let l={type:`${c}${n.array??""}`,...i,...a,...u};return Hp.set(s,l),l}function Ts(t,e=[],s="",r=0){let n=t.trim().length;for(let i=0;i<n;i++){let a=t[i],o=t.slice(i+1);switch(a){case",":return r===0?Ts(o,[...e,s.trim()]):Ts(o,e,`${s}${a}`,r);case"(":return Ts(o,e,`${s}${a}`,r+1);case")":return Ts(o,e,`${s}${a}`,r-1);default:return Ts(o,e,`${s}${a}`,r)}}if(s==="")return e;if(r!==0)throw new _p({current:s,depth:r});return e.push(s.trim()),e}function oS(t){return t==="address"||t==="bool"||t==="function"||t==="string"||rS.test(t)||nS.test(t)}var VO=/^(?:after|alias|anonymous|apply|auto|byte|calldata|case|catch|constant|copyof|default|defined|error|event|external|false|final|function|immutable|implements|in|indexed|inline|internal|let|mapping|match|memory|mutable|null|of|override|partial|private|promise|public|pure|reference|relocatable|return|returns|sizeof|static|storage|struct|super|supports|switch|this|true|try|typedef|typeof|var|view|virtual)$/;function UO(t){return t==="address"||t==="bool"||t==="function"||t==="string"||t==="tuple"||rS.test(t)||nS.test(t)||VO.test(t)}function _O(t,e){return e||t==="bytes"||t==="string"||t==="tuple"}function qc(t){let e={},s=t.length;for(let a=0;a<s;a++){let o=t[a];if(!Zn(o))continue;let c=x3(o);if(!c)throw new Cr({signature:o,type:"struct"});let u=c.properties.split(";"),l=[],p=u.length;for(let w=0;w<p;w++){let S=u[w].trim();if(!S)continue;let I=er(S,{type:"struct"});l.push(I);}if(!l.length)throw new Vp({signature:o});e[c.name]=l;}let r={},n=Object.entries(e),i=n.length;for(let a=0;a<i;a++){let[o,c]=n[a];r[o]=R3(c,e);}return r}var HO=/^(?<type>[a-zA-Z$_][a-zA-Z0-9$_]*)(?<array>(?:\[\d*?\])+?)?$/;function R3(t,e,s=new Set){let r=[],n=t.length;for(let i=0;i<n;i++){let a=t[i];if(xp.test(a.type))r.push(a);else {let c=Vs(HO,a.type);if(!c?.type)throw new Lp({abiParameter:a});let{array:u,type:l}=c;if(l in e){if(s.has(l))throw new Up({type:l});r.push({...a,type:`tuple${u??""}`,components:R3(e[l]??[],e,new Set([...s,l]))});}else if(oS(l))r.push(a);else throw new Np({type:l})}}return r}function cS(t){let e=qc(t),s=[],r=t.length;for(let n=0;n<r;n++){let i=t[n];Zn(i)||s.push(Hf(i,e));}return s}d();h();function jp(t){let e;if(typeof t=="string")e=Hf(t);else {let s=qc(t),r=t.length;for(let n=0;n<r;n++){let i=t[n];if(!Zn(i)){e=Hf(i,s);break}}}if(!e)throw new Cp({signature:t});return e}d();h();function Mp(t){let e=[];if(typeof t=="string"){let s=Ts(t),r=s.length;for(let n=0;n<r;n++)e.push(er(s[n],{modifiers:aS}));}else {let s=qc(t),r=t.length;for(let n=0;n<r;n++){let i=t[n];if(Zn(i))continue;let a=Ts(i),o=a.length;for(let c=0;c<o;c++)e.push(er(a[c],{modifiers:aS,structs:s}));}}if(e.length===0)throw new kp({params:t});return e}d();h();function L3(t){for(let e of t)if(typeof e!="string")return !1;return !0}function MO(t){return iS(t)}function $O(t){return L3(t)?cS(t):t}d();h();d();h();d();h();d();h();var D3="0.1.1";function V3(){return D3}var ne=class t extends Error{static setStaticOptions(e){t.prototype.docsOrigin=e.docsOrigin,t.prototype.showVersion=e.showVersion,t.prototype.version=e.version;}constructor(e,s={}){let r=(()=>{if(s.cause instanceof t){if(s.cause.details)return s.cause.details;if(s.cause.shortMessage)return s.cause.shortMessage}return s.cause&&"details"in s.cause&&typeof s.cause.details=="string"?s.cause.details:s.cause?.message?s.cause.message:s.details})(),n=s.cause instanceof t&&s.cause.docsPath||s.docsPath,i=s.docsOrigin??t.prototype.docsOrigin,a=`${i}${n??""}`,o=!!(s.version??t.prototype.showVersion),c=s.version??t.prototype.version,u=[e||"An error occurred.",...s.metaMessages?["",...s.metaMessages]:[],...r||n||o?["",r?`Details: ${r}`:void 0,n?`See: ${a}`:void 0,o?`Version: ${c}`:void 0]:[]].filter(l=>typeof l=="string").join(`
338
+ `);super(u,s.cause?{cause:s.cause}:void 0),Object.defineProperty(this,"details",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"docs",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"docsOrigin",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"docsPath",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"shortMessage",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"showVersion",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"version",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"cause",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"BaseError"}),this.cause=s.cause,this.details=r,this.docs=a,this.docsOrigin=i,this.docsPath=n,this.shortMessage=e,this.showVersion=o,this.version=c;}walk(e){return U3(this,e)}};Object.defineProperty(ne,"defaultStaticOptions",{enumerable:!0,configurable:!0,writable:!0,value:{docsOrigin:"https://oxlib.sh",showVersion:!1,version:`ox@${V3()}`}});ne.setStaticOptions(ne.defaultStaticOptions);function U3(t,e){return e?.(t)?t:t&&typeof t=="object"&&"cause"in t&&t.cause?U3(t.cause,e):e?null:t}var he={};Ne(he,{keccak256:()=>Lt,ripemd160:()=>OR,sha256:()=>th,validate:()=>VS});d();h();d();h();d();h();d();h();d();h();d();h();var Ta=typeof globalThis=="object"&&"crypto"in globalThis?globalThis.crypto:void 0;function qO(t){return t instanceof Uint8Array||ArrayBuffer.isView(t)&&t.constructor.name==="Uint8Array"}function ka(t){if(!Number.isSafeInteger(t)||t<0)throw new Error("positive integer expected, got "+t)}function Nr(t,...e){if(!qO(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 _3(t){if(typeof t!="function"||typeof t.create!="function")throw new Error("Hash should be wrapped by utils.createHasher");ka(t.outputLen),ka(t.blockLen);}function Kr(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 qp(t,e){Nr(t);let s=e.outputLen;if(t.length<s)throw new Error("digestInto() expects output buffer of length at least "+s)}function H3(t){return new Uint32Array(t.buffer,t.byteOffset,Math.floor(t.byteLength/4))}function bs(...t){for(let e=0;e<t.length;e++)t[e].fill(0);}function Fp(t){return new DataView(t.buffer,t.byteOffset,t.byteLength)}function tr(t,e){return t<<32-e|t>>>e}function jf(t,e){return t<<e|t>>>32-e>>>0}var FO=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;function KO(t){return t<<24&4278190080|t<<8&16711680|t>>>8&65280|t>>>24&255}function GO(t){for(let e=0;e<t.length;e++)t[e]=KO(t[e]);return t}var uS=FO?t=>t:GO;function WO(t){if(typeof t!="string")throw new Error("string expected");return new Uint8Array(new TextEncoder().encode(t))}function Ba(t){return typeof t=="string"&&(t=WO(t)),Nr(t),t}function j3(...t){let e=0;for(let r=0;r<t.length;r++){let n=t[r];Nr(n),e+=n.length;}let s=new Uint8Array(e);for(let r=0,n=0;r<t.length;r++){let i=t[r];s.set(i,n),n+=i.length;}return s}var Xn=class{};function Qn(t){let e=r=>t().update(Ba(r)).digest(),s=t();return e.outputLen=s.outputLen,e.blockLen=s.blockLen,e.create=()=>t(),e}function M3(t=32){if(Ta&&typeof Ta.getRandomValues=="function")return Ta.getRandomValues(new Uint8Array(t));if(Ta&&typeof Ta.randomBytes=="function")return Uint8Array.from(Ta.randomBytes(t));throw new Error("crypto.getRandomValues must be defined")}function JO(t,e,s,r){if(typeof t.setBigUint64=="function")return t.setBigUint64(e,s,r);let n=BigInt(32),i=BigInt(4294967295),a=Number(s>>n&i),o=Number(s&i),c=r?4:0,u=r?0:4;t.setUint32(e+c,a,r),t.setUint32(e+u,o,r);}function lS(t,e,s){return t&e^~t&s}function fS(t,e,s){return t&e^t&s^e&s}var Pa=class extends Xn{constructor(e,s,r,n){super(),this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.blockLen=e,this.outputLen=s,this.padOffset=r,this.isLE=n,this.buffer=new Uint8Array(e),this.view=Fp(this.buffer);}update(e){Kr(this),e=Ba(e),Nr(e);let{view:s,buffer:r,blockLen:n}=this,i=e.length;for(let a=0;a<i;){let o=Math.min(n-this.pos,i-a);if(o===n){let c=Fp(e);for(;n<=i-a;a+=n)this.process(c,a);continue}r.set(e.subarray(a,a+o),this.pos),this.pos+=o,a+=o,this.pos===n&&(this.process(s,0),this.pos=0);}return this.length+=e.length,this.roundClean(),this}digestInto(e){Kr(this),qp(e,this),this.finished=!0;let{buffer:s,view:r,blockLen:n,isLE:i}=this,{pos:a}=this;s[a++]=128,bs(this.buffer.subarray(a)),this.padOffset>n-a&&(this.process(r,0),a=0);for(let p=a;p<n;p++)s[p]=0;JO(r,n-8,BigInt(this.length*8),i),this.process(r,0);let o=Fp(e),c=this.outputLen;if(c%4)throw new Error("_sha2: outputLen should be aligned to 32bit");let u=c/4,l=this.get();if(u>l.length)throw new Error("_sha2: outputLen bigger than state");for(let p=0;p<u;p++)o.setUint32(4*p,l[p],i);}digest(){let{buffer:e,outputLen:s}=this;this.digestInto(e);let r=e.slice(0,s);return this.destroy(),r}_cloneInto(e){e||(e=new this.constructor),e.set(...this.get());let{blockLen:s,buffer:r,length:n,finished:i,destroyed:a,pos:o}=this;return e.destroyed=a,e.finished=i,e.length=n,e.pos=o,n%s&&e.buffer.set(r),e}clone(){return this._cloneInto()}},Gr=Uint32Array.from([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]);var Xt=Uint32Array.from([3418070365,3238371032,1654270250,914150663,2438529370,812702999,355462360,4144912697,1731405415,4290775857,2394180231,1750603025,3675008525,1694076839,1203062813,3204075428]),Qt=Uint32Array.from([1779033703,4089235720,3144134277,2227873595,1013904242,4271175723,2773480762,1595750129,1359893119,2917565137,2600822924,725511199,528734635,4215389547,1541459225,327033209]);var zO=Uint8Array.from([7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8]),q3=Uint8Array.from(new Array(16).fill(0).map((t,e)=>e)),YO=q3.map(t=>(9*t+5)%16),F3=(()=>{let s=[[q3],[YO]];for(let r=0;r<4;r++)for(let n of s)n.push(n[r].map(i=>zO[i]));return s})(),K3=F3[0],G3=F3[1],W3=[[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=>Uint8Array.from(t)),ZO=K3.map((t,e)=>t.map(s=>W3[e][s])),XO=G3.map((t,e)=>t.map(s=>W3[e][s])),QO=Uint32Array.from([0,1518500249,1859775393,2400959708,2840853838]),eR=Uint32Array.from([1352829926,1548603684,1836072691,2053994217,0]);function $3(t,e,s,r){return t===0?e^s^r:t===1?e&s|~e&r:t===2?(e|~s)^r:t===3?e&r|s&~r:e^(s|~r)}var Kp=new Uint32Array(16),Gp=class extends Pa{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:s,h2:r,h3:n,h4:i}=this;return [e,s,r,n,i]}set(e,s,r,n,i){this.h0=e|0,this.h1=s|0,this.h2=r|0,this.h3=n|0,this.h4=i|0;}process(e,s){for(let E=0;E<16;E++,s+=4)Kp[E]=e.getUint32(s,!0);let r=this.h0|0,n=r,i=this.h1|0,a=i,o=this.h2|0,c=o,u=this.h3|0,l=u,p=this.h4|0,w=p;for(let E=0;E<5;E++){let S=4-E,I=QO[E],C=eR[E],D=K3[E],V=G3[E],B=ZO[E],k=XO[E];for(let O=0;O<16;O++){let G=jf(r+$3(E,i,o,u)+Kp[D[O]]+I,B[O])+p|0;r=p,p=u,u=jf(o,10)|0,o=i,i=G;}for(let O=0;O<16;O++){let G=jf(n+$3(S,a,c,l)+Kp[V[O]]+C,k[O])+w|0;n=w,w=l,l=jf(c,10)|0,c=a,a=G;}}this.set(this.h1+o+l|0,this.h2+u+w|0,this.h3+p+n|0,this.h4+r+a|0,this.h0+i+c|0);}roundClean(){bs(Kp);}destroy(){this.destroyed=!0,bs(this.buffer),this.set(0,0,0,0,0);}},J3=Qn(()=>new Gp);var z3=J3;d();h();d();h();var Wp=BigInt(4294967295),Y3=BigInt(32);function tR(t,e=!1){return e?{h:Number(t&Wp),l:Number(t>>Y3&Wp)}:{h:Number(t>>Y3&Wp)|0,l:Number(t&Wp)|0}}function Jp(t,e=!1){let s=t.length,r=new Uint32Array(s),n=new Uint32Array(s);for(let i=0;i<s;i++){let{h:a,l:o}=tR(t[i],e);[r[i],n[i]]=[a,o];}return [r,n]}var hS=(t,e,s)=>t>>>s,dS=(t,e,s)=>t<<32-s|e>>>s,Oa=(t,e,s)=>t>>>s|e<<32-s,Ra=(t,e,s)=>t<<32-s|e>>>s,Mf=(t,e,s)=>t<<64-s|e>>>s-32,$f=(t,e,s)=>t>>>s-32|e<<64-s;var Z3=(t,e,s)=>t<<s|e>>>32-s,X3=(t,e,s)=>e<<s|t>>>32-s,Q3=(t,e,s)=>e<<s-32|t>>>64-s,eI=(t,e,s)=>t<<s-32|e>>>64-s;function Tr(t,e,s,r){let n=(e>>>0)+(r>>>0);return {h:t+s+(n/2**32|0)|0,l:n|0}}var tI=(t,e,s)=>(t>>>0)+(e>>>0)+(s>>>0),sI=(t,e,s,r)=>e+s+r+(t/2**32|0)|0,rI=(t,e,s,r)=>(t>>>0)+(e>>>0)+(s>>>0)+(r>>>0),nI=(t,e,s,r,n)=>e+s+r+n+(t/2**32|0)|0,iI=(t,e,s,r,n)=>(t>>>0)+(e>>>0)+(s>>>0)+(r>>>0)+(n>>>0),aI=(t,e,s,r,n,i)=>e+s+r+n+i+(t/2**32|0)|0;var rR=BigInt(0),qf=BigInt(1),nR=BigInt(2),iR=BigInt(7),aR=BigInt(256),oR=BigInt(113),uI=[],lI=[],fI=[];for(let t=0,e=qf,s=1,r=0;t<24;t++){[s,r]=[r,(2*s+3*r)%5],uI.push(2*(5*r+s)),lI.push((t+1)*(t+2)/2%64);let n=rR;for(let i=0;i<7;i++)e=(e<<qf^(e>>iR)*oR)%aR,e&nR&&(n^=qf<<(qf<<BigInt(i))-qf);fI.push(n);}var hI=Jp(fI,!0),cR=hI[0],uR=hI[1],oI=(t,e,s)=>s>32?Q3(t,e,s):Z3(t,e,s),cI=(t,e,s)=>s>32?eI(t,e,s):X3(t,e,s);function lR(t,e=24){let s=new Uint32Array(10);for(let r=24-e;r<24;r++){for(let a=0;a<10;a++)s[a]=t[a]^t[a+10]^t[a+20]^t[a+30]^t[a+40];for(let a=0;a<10;a+=2){let o=(a+8)%10,c=(a+2)%10,u=s[c],l=s[c+1],p=oI(u,l,1)^s[o],w=cI(u,l,1)^s[o+1];for(let E=0;E<50;E+=10)t[a+E]^=p,t[a+E+1]^=w;}let n=t[2],i=t[3];for(let a=0;a<24;a++){let o=lI[a],c=oI(n,i,o),u=cI(n,i,o),l=uI[a];n=t[l],i=t[l+1],t[l]=c,t[l+1]=u;}for(let a=0;a<50;a+=10){for(let o=0;o<10;o++)s[o]=t[a+o];for(let o=0;o<10;o++)t[a+o]^=~s[(o+2)%10]&s[(o+4)%10];}t[0]^=cR[r],t[1]^=uR[r];}bs(s);}var mS=class t extends Xn{constructor(e,s,r,n=!1,i=24){if(super(),this.pos=0,this.posOut=0,this.finished=!1,this.destroyed=!1,this.enableXOF=!1,this.blockLen=e,this.suffix=s,this.outputLen=r,this.enableXOF=n,this.rounds=i,ka(r),!(0<e&&e<200))throw new Error("only keccak-f1600 function is supported");this.state=new Uint8Array(200),this.state32=H3(this.state);}clone(){return this._cloneInto()}keccak(){uS(this.state32),lR(this.state32,this.rounds),uS(this.state32),this.posOut=0,this.pos=0;}update(e){Kr(this),e=Ba(e),Nr(e);let{blockLen:s,state:r}=this,n=e.length;for(let i=0;i<n;){let a=Math.min(s-this.pos,n-i);for(let o=0;o<a;o++)r[this.pos++]^=e[i++];this.pos===s&&this.keccak();}return this}finish(){if(this.finished)return;this.finished=!0;let{state:e,suffix:s,pos:r,blockLen:n}=this;e[r]^=s,s&128&&r===n-1&&this.keccak(),e[n-1]^=128,this.keccak();}writeInto(e){Kr(this,!1),Nr(e),this.finish();let s=this.state,{blockLen:r}=this;for(let n=0,i=e.length;n<i;){this.posOut>=r&&this.keccak();let a=Math.min(r-this.posOut,i-n);e.set(s.subarray(this.posOut,this.posOut+a),n),this.posOut+=a,n+=a;}return e}xofInto(e){if(!this.enableXOF)throw new Error("XOF is not possible for this instance");return this.writeInto(e)}xof(e){return ka(e),this.xofInto(new Uint8Array(e))}digestInto(e){if(qp(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,bs(this.state);}_cloneInto(e){let{blockLen:s,suffix:r,outputLen:n,rounds:i,enableXOF:a}=this;return e||(e=new t(s,r,n,a,i)),e.state32.set(this.state32),e.pos=this.pos,e.posOut=this.posOut,e.finished=this.finished,e.rounds=i,e.suffix=r,e.outputLen=n,e.enableXOF=a,e.destroyed=this.destroyed,e}},fR=(t,e,s)=>Qn(()=>new mS(e,t,s));var dI=fR(1,136,256/8);d();h();d();h();var hR=Uint32Array.from([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]),ei=new Uint32Array(64),zp=class extends Pa{constructor(e=32){super(64,e,8,!1),this.A=Gr[0]|0,this.B=Gr[1]|0,this.C=Gr[2]|0,this.D=Gr[3]|0,this.E=Gr[4]|0,this.F=Gr[5]|0,this.G=Gr[6]|0,this.H=Gr[7]|0;}get(){let{A:e,B:s,C:r,D:n,E:i,F:a,G:o,H:c}=this;return [e,s,r,n,i,a,o,c]}set(e,s,r,n,i,a,o,c){this.A=e|0,this.B=s|0,this.C=r|0,this.D=n|0,this.E=i|0,this.F=a|0,this.G=o|0,this.H=c|0;}process(e,s){for(let p=0;p<16;p++,s+=4)ei[p]=e.getUint32(s,!1);for(let p=16;p<64;p++){let w=ei[p-15],E=ei[p-2],S=tr(w,7)^tr(w,18)^w>>>3,I=tr(E,17)^tr(E,19)^E>>>10;ei[p]=I+ei[p-7]+S+ei[p-16]|0;}let{A:r,B:n,C:i,D:a,E:o,F:c,G:u,H:l}=this;for(let p=0;p<64;p++){let w=tr(o,6)^tr(o,11)^tr(o,25),E=l+w+lS(o,c,u)+hR[p]+ei[p]|0,I=(tr(r,2)^tr(r,13)^tr(r,22))+fS(r,n,i)|0;l=u,u=c,c=o,o=a+E|0,a=i,i=n,n=r,r=E+I|0;}r=r+this.A|0,n=n+this.B|0,i=i+this.C|0,a=a+this.D|0,o=o+this.E|0,c=c+this.F|0,u=u+this.G|0,l=l+this.H|0,this.set(r,n,i,a,o,c,u,l);}roundClean(){bs(ei);}destroy(){this.set(0,0,0,0,0,0,0,0),bs(this.buffer);}};var mI=Jp(["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))),dR=mI[0],mR=mI[1],ti=new Uint32Array(80),si=new Uint32Array(80),Yp=class extends Pa{constructor(e=64){super(128,e,16,!1),this.Ah=Qt[0]|0,this.Al=Qt[1]|0,this.Bh=Qt[2]|0,this.Bl=Qt[3]|0,this.Ch=Qt[4]|0,this.Cl=Qt[5]|0,this.Dh=Qt[6]|0,this.Dl=Qt[7]|0,this.Eh=Qt[8]|0,this.El=Qt[9]|0,this.Fh=Qt[10]|0,this.Fl=Qt[11]|0,this.Gh=Qt[12]|0,this.Gl=Qt[13]|0,this.Hh=Qt[14]|0,this.Hl=Qt[15]|0;}get(){let{Ah:e,Al:s,Bh:r,Bl:n,Ch:i,Cl:a,Dh:o,Dl:c,Eh:u,El:l,Fh:p,Fl:w,Gh:E,Gl:S,Hh:I,Hl:C}=this;return [e,s,r,n,i,a,o,c,u,l,p,w,E,S,I,C]}set(e,s,r,n,i,a,o,c,u,l,p,w,E,S,I,C){this.Ah=e|0,this.Al=s|0,this.Bh=r|0,this.Bl=n|0,this.Ch=i|0,this.Cl=a|0,this.Dh=o|0,this.Dl=c|0,this.Eh=u|0,this.El=l|0,this.Fh=p|0,this.Fl=w|0,this.Gh=E|0,this.Gl=S|0,this.Hh=I|0,this.Hl=C|0;}process(e,s){for(let B=0;B<16;B++,s+=4)ti[B]=e.getUint32(s),si[B]=e.getUint32(s+=4);for(let B=16;B<80;B++){let k=ti[B-15]|0,O=si[B-15]|0,G=Oa(k,O,1)^Oa(k,O,8)^hS(k,O,7),re=Ra(k,O,1)^Ra(k,O,8)^dS(k,O,7),Q=ti[B-2]|0,oe=si[B-2]|0,pe=Oa(Q,oe,19)^Mf(Q,oe,61)^hS(Q,oe,6),se=Ra(Q,oe,19)^$f(Q,oe,61)^dS(Q,oe,6),ce=rI(re,se,si[B-7],si[B-16]),ge=nI(ce,G,pe,ti[B-7],ti[B-16]);ti[B]=ge|0,si[B]=ce|0;}let{Ah:r,Al:n,Bh:i,Bl:a,Ch:o,Cl:c,Dh:u,Dl:l,Eh:p,El:w,Fh:E,Fl:S,Gh:I,Gl:C,Hh:D,Hl:V}=this;for(let B=0;B<80;B++){let k=Oa(p,w,14)^Oa(p,w,18)^Mf(p,w,41),O=Ra(p,w,14)^Ra(p,w,18)^$f(p,w,41),G=p&E^~p&I,re=w&S^~w&C,Q=iI(V,O,re,mR[B],si[B]),oe=aI(Q,D,k,G,dR[B],ti[B]),pe=Q|0,se=Oa(r,n,28)^Mf(r,n,34)^Mf(r,n,39),ce=Ra(r,n,28)^$f(r,n,34)^$f(r,n,39),ge=r&i^r&o^i&o,Ke=n&a^n&c^a&c;D=I|0,V=C|0,I=E|0,C=S|0,E=p|0,S=w|0,{h:p,l:w}=Tr(u|0,l|0,oe|0,pe|0),u=o|0,l=c|0,o=i|0,c=a|0,i=r|0,a=n|0;let J=tI(pe,ce,Ke);r=sI(J,oe,se,ge),n=J|0;}(({h:r,l:n}=Tr(this.Ah|0,this.Al|0,r|0,n|0))),{h:i,l:a}=Tr(this.Bh|0,this.Bl|0,i|0,a|0),{h:o,l:c}=Tr(this.Ch|0,this.Cl|0,o|0,c|0),{h:u,l}=Tr(this.Dh|0,this.Dl|0,u|0,l|0),{h:p,l:w}=Tr(this.Eh|0,this.El|0,p|0,w|0),{h:E,l:S}=Tr(this.Fh|0,this.Fl|0,E|0,S|0),{h:I,l:C}=Tr(this.Gh|0,this.Gl|0,I|0,C|0),{h:D,l:V}=Tr(this.Hh|0,this.Hl|0,D|0,V|0),this.set(r,n,i,a,o,c,u,l,p,w,E,S,I,C,D,V);}roundClean(){bs(ti,si);}destroy(){bs(this.buffer),this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0);}},pS=class extends Yp{constructor(){super(48),this.Ah=Xt[0]|0,this.Al=Xt[1]|0,this.Bh=Xt[2]|0,this.Bl=Xt[3]|0,this.Ch=Xt[4]|0,this.Cl=Xt[5]|0,this.Dh=Xt[6]|0,this.Dl=Xt[7]|0,this.Eh=Xt[8]|0,this.El=Xt[9]|0,this.Fh=Xt[10]|0,this.Fl=Xt[11]|0,this.Gh=Xt[12]|0,this.Gl=Xt[13]|0,this.Hh=Xt[14]|0,this.Hl=Xt[15]|0;}};var Fc=Qn(()=>new zp);var pI=Qn(()=>new Yp),gI=Qn(()=>new pS);var yI=Fc;var f={};Ne(f,{InvalidBytesBooleanError:()=>sg,InvalidBytesTypeError:()=>ja,SizeExceedsPaddingSizeError:()=>Jf,SizeOverflowError:()=>Wf,SliceOffsetOutOfBoundsError:()=>Jc,assert:()=>PI,concat:()=>PS,from:()=>Zr,fromArray:()=>OI,fromBoolean:()=>TR,fromHex:()=>dt,fromNumber:()=>kR,fromString:()=>Xr,isEqual:()=>BR,padLeft:()=>RI,padRight:()=>LI,random:()=>BS,size:()=>Us,slice:()=>OS,toBigInt:()=>RS,toBoolean:()=>LS,toHex:()=>PR,toNumber:()=>nr,toString:()=>rg,trimLeft:()=>ng,trimRight:()=>tg,validate:()=>DS});d();h();d();h();var bS=BigInt(0),wS=BigInt(1);function Kc(t){return t instanceof Uint8Array||ArrayBuffer.isView(t)&&t.constructor.name==="Uint8Array"}function SS(t){if(!Kc(t))throw new Error("Uint8Array expected")}function Gc(t,e){if(typeof e!="boolean")throw new Error(t+" boolean expected, got "+e)}function Ff(t){let e=t.toString(16);return e.length&1?"0"+e:e}function SI(t){if(typeof t!="string")throw new Error("hex string expected, got "+typeof t);return t===""?bS:BigInt("0x"+t)}var vI=typeof Uint8Array.from([]).toHex=="function"&&typeof Uint8Array.fromHex=="function",pR=Array.from({length:256},(t,e)=>e.toString(16).padStart(2,"0"));function Wc(t){if(SS(t),vI)return t.toHex();let e="";for(let s=0;s<t.length;s++)e+=pR[t[s]];return e}var Wr={_0:48,_9:57,A:65,F:70,a:97,f:102};function wI(t){if(t>=Wr._0&&t<=Wr._9)return t-Wr._0;if(t>=Wr.A&&t<=Wr.F)return t-(Wr.A-10);if(t>=Wr.a&&t<=Wr.f)return t-(Wr.a-10)}function Kf(t){if(typeof t!="string")throw new Error("hex string expected, got "+typeof t);if(vI)return Uint8Array.fromHex(t);let e=t.length,s=e/2;if(e%2)throw new Error("hex string expected, got unpadded hex of length "+e);let r=new Uint8Array(s);for(let n=0,i=0;n<s;n++,i+=2){let a=wI(t.charCodeAt(i)),o=wI(t.charCodeAt(i+1));if(a===void 0||o===void 0){let c=t[i]+t[i+1];throw new Error('hex string expected, got non-hex character "'+c+'" at index '+i)}r[n]=a*16+o;}return r}function Jr(t){return SI(Wc(t))}function vS(t){return SS(t),SI(Wc(Uint8Array.from(t).reverse()))}function La(t,e){return Kf(t.toString(16).padStart(e*2,"0"))}function ES(t,e){return La(t,e).reverse()}function ks(t,e,s){let r;if(typeof e=="string")try{r=Kf(e);}catch(i){throw new Error(t+" must be hex string or Uint8Array, cause: "+i)}else if(Kc(e))r=Uint8Array.from(e);else throw new Error(t+" must be hex string or Uint8Array");let n=r.length;if(typeof s=="number"&&n!==s)throw new Error(t+" of length "+s+" expected, got "+n);return r}function Gf(...t){let e=0;for(let r=0;r<t.length;r++){let n=t[r];SS(n),e+=n.length;}let s=new Uint8Array(e);for(let r=0,n=0;r<t.length;r++){let i=t[r];s.set(i,n),n+=i.length;}return s}function Zp(t,e){if(t.length!==e.length)return !1;let s=0;for(let r=0;r<t.length;r++)s|=t[r]^e[r];return s===0}var gS=t=>typeof t=="bigint"&&bS<=t;function Xp(t,e,s){return gS(t)&&gS(e)&&gS(s)&&e<=t&&t<s}function Da(t,e,s,r){if(!Xp(e,s,r))throw new Error("expected valid "+t+": "+s+" <= n < "+r+", got "+e)}function EI(t){let e;for(e=0;t>bS;t>>=wS,e+=1);return e}var Va=t=>(wS<<BigInt(t))-wS,yS=t=>new Uint8Array(t),bI=t=>Uint8Array.from(t);function xI(t,e,s){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 s!="function")throw new Error("hmacFn must be a function");let r=yS(t),n=yS(t),i=0,a=()=>{r.fill(1),n.fill(0),i=0;},o=(...p)=>s(n,r,...p),c=(p=yS(0))=>{n=o(bI([0]),p),r=o(),p.length!==0&&(n=o(bI([1]),p),r=o());},u=()=>{if(i++>=1e3)throw new Error("drbg: tried 1000 values");let p=0,w=[];for(;p<e;){r=o();let E=r.slice();w.push(E),p+=r.length;}return Gf(...w)};return (p,w)=>{a(),c(p);let E;for(;!(E=w(u()));)c();return a(),E}}var gR={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"||Kc(t),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 Ua(t,e,s={}){let r=(n,i,a)=>{let o=gR[i];if(typeof o!="function")throw new Error("invalid validator function");let c=t[n];if(!(a&&c===void 0)&&!o(c,t))throw new Error("param "+String(n)+" is invalid. Expected "+i+", got "+c)};for(let[n,i]of Object.entries(e))r(n,i,!1);for(let[n,i]of Object.entries(s))r(n,i,!0);return t}function xS(t){let e=new WeakMap;return (s,...r)=>{let n=e.get(s);if(n!==void 0)return n;let i=t(s,...r);return e.set(s,i),i}}var P={};Ne(P,{IntegerOutOfRangeError:()=>Zc,InvalidHexBooleanError:()=>Qp,InvalidHexTypeError:()=>Zf,InvalidHexValueError:()=>Xf,InvalidLengthError:()=>Qf,SizeExceedsPaddingSizeError:()=>Yf,SizeOverflowError:()=>zf,SliceOffsetOutOfBoundsError:()=>zc,assert:()=>BI,concat:()=>at,from:()=>Ss,fromBoolean:()=>eh,fromBytes:()=>Ue,fromNumber:()=>ve,fromString:()=>Bs,isEqual:()=>SR,padLeft:()=>kr,padRight:()=>rr,random:()=>vR,size:()=>Xe,slice:()=>At,toBigInt:()=>eg,toBoolean:()=>xR,toBytes:()=>AR,toNumber:()=>kS,toString:()=>IR,trimLeft:()=>Ha,trimRight:()=>ER,validate:()=>vs});d();h();d();h();function Yr(t,e){if(Us(t)>e)throw new Wf({givenSize:Us(t),maxSize:e})}function AI(t,e){if(typeof e=="number"&&e>0&&e>Us(t)-1)throw new Jc({offset:e,position:"start",size:Us(t)})}function II(t,e,s){if(typeof e=="number"&&typeof s=="number"&&Us(t)!==s-e)throw new Jc({offset:s,position:"end",size:Us(t)})}var zr={zero:48,nine:57,A:65,F:70,a:97,f:102};function AS(t){if(t>=zr.zero&&t<=zr.nine)return t-zr.zero;if(t>=zr.A&&t<=zr.F)return t-(zr.A-10);if(t>=zr.a&&t<=zr.f)return t-(zr.a-10)}function IS(t,e={}){let{dir:s,size:r=32}=e;if(r===0)return t;if(t.length>r)throw new Jf({size:t.length,targetSize:r,type:"Bytes"});let n=new Uint8Array(r);for(let i=0;i<r;i++){let a=s==="right";n[a?i:r-i-1]=t[a?i:t.length-i-1];}return n}function CS(t,e={}){let{dir:s="left"}=e,r=t,n=0;for(let i=0;i<r.length-1&&r[s==="left"?i:r.length-i-1].toString()==="0";i++)n++;return r=s==="left"?r.slice(n):r.slice(0,r.length-n),r}d();h();function _a(t,e){if(Xe(t)>e)throw new zf({givenSize:Xe(t),maxSize:e})}function NI(t,e){if(typeof e=="number"&&e>0&&e>Xe(t)-1)throw new zc({offset:e,position:"start",size:Xe(t)})}function TI(t,e,s){if(typeof e=="number"&&typeof s=="number"&&Xe(t)!==s-e)throw new zc({offset:s,position:"end",size:Xe(t)})}function NS(t,e={}){let{dir:s,size:r=32}=e;if(r===0)return t;let n=t.replace("0x","");if(n.length>r*2)throw new Yf({size:Math.ceil(n.length/2),targetSize:r,type:"Hex"});return `0x${n[s==="right"?"padEnd":"padStart"](r*2,"0")}`}function TS(t,e={}){let{dir:s="left"}=e,r=t.replace("0x",""),n=0;for(let i=0;i<r.length-1&&r[s==="left"?i:r.length-i-1].toString()==="0";i++)n++;return r=s==="left"?r.slice(n):r.slice(0,r.length-n),r==="0"?"0x":s==="right"&&r.length%2===1?`0x${r}0`:`0x${r}`}d();h();var yR="#__bigint";function sr(t,e,s){return JSON.stringify(t,(r,n)=>typeof e=="function"?e(r,n):typeof n=="bigint"?n.toString()+yR:n,s)}var wR=new TextEncoder,bR=Array.from({length:256},(t,e)=>e.toString(16).padStart(2,"0"));function BI(t,e={}){let{strict:s=!1}=e;if(!t)throw new Zf(t);if(typeof t!="string")throw new Zf(t);if(s&&!/^0x[0-9a-fA-F]*$/.test(t))throw new Xf(t);if(!t.startsWith("0x"))throw new Xf(t)}function at(...t){return `0x${t.reduce((e,s)=>e+s.replace("0x",""),"")}`}function Ss(t){return t instanceof Uint8Array?Ue(t):Array.isArray(t)?Ue(new Uint8Array(t)):t}function eh(t,e={}){let s=`0x${Number(t)}`;return typeof e.size=="number"?(_a(s,e.size),kr(s,e.size)):s}function Ue(t,e={}){let s="";for(let n=0;n<t.length;n++)s+=bR[t[n]];let r=`0x${s}`;return typeof e.size=="number"?(_a(r,e.size),rr(r,e.size)):r}function ve(t,e={}){let{signed:s,size:r}=e,n=BigInt(t),i;r?s?i=(1n<<BigInt(r)*8n-1n)-1n:i=2n**(BigInt(r)*8n)-1n:typeof t=="number"&&(i=BigInt(Number.MAX_SAFE_INTEGER));let a=typeof i=="bigint"&&s?-i-1n:0;if(i&&n>i||n<a){let u=typeof t=="bigint"?"n":"";throw new Zc({max:i?`${i}${u}`:void 0,min:`${a}${u}`,signed:s,size:r,value:`${t}${u}`})}let c=`0x${(s&&n<0?BigInt.asUintN(r*8,BigInt(n)):n).toString(16)}`;return r?kr(c,r):c}function Bs(t,e={}){return Ue(wR.encode(t),e)}function SR(t,e){return Zp(dt(t),dt(e))}function kr(t,e){return NS(t,{dir:"left",size:e})}function rr(t,e){return NS(t,{dir:"right",size:e})}function vR(t){return Ue(BS(t))}function At(t,e,s,r={}){let{strict:n}=r;NI(t,e);let i=`0x${t.replace("0x","").slice((e??0)*2,(s??t.length)*2)}`;return n&&TI(i,e,s),i}function Xe(t){return Math.ceil((t.length-2)/2)}function Ha(t){return TS(t,{dir:"left"})}function ER(t){return TS(t,{dir:"right"})}function eg(t,e={}){let{signed:s}=e;e.size&&_a(t,e.size);let r=BigInt(t);if(!s)return r;let n=(t.length-2)/2,i=(1n<<BigInt(n)*8n)-1n,a=i>>1n;return r<=a?r:r-i-1n}function xR(t,e={}){e.size&&_a(t,e.size);let s=Ha(t);if(s==="0x")return !1;if(s==="0x1")return !0;throw new Qp(t)}function AR(t,e={}){return dt(t,e)}function kS(t,e={}){let{signed:s,size:r}=e;return Number(!s&&!r?t:eg(t,e))}function IR(t,e={}){let{size:s}=e,r=dt(t);return s&&(Yr(r,s),r=tg(r)),new TextDecoder().decode(r)}function vs(t,e={}){let{strict:s=!1}=e;try{return BI(t,{strict:s}),!0}catch{return !1}}var Zc=class extends ne{constructor({max:e,min:s,signed:r,size:n,value:i}){super(`Number \`${i}\` is not in safe${n?` ${n*8}-bit`:""}${r?" signed":" unsigned"} integer range ${e?`(\`${s}\` to \`${e}\`)`:`(above \`${s}\`)`}`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Hex.IntegerOutOfRangeError"});}},Qp=class extends ne{constructor(e){super(`Hex value \`"${e}"\` is not a valid boolean.`,{metaMessages:['The hex value must be `"0x0"` (false) or `"0x1"` (true).']}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Hex.InvalidHexBooleanError"});}},Zf=class extends ne{constructor(e){super(`Value \`${typeof e=="object"?sr(e):e}\` of type \`${typeof e}\` is an invalid hex type.`,{metaMessages:['Hex types must be represented as `"0x${string}"`.']}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Hex.InvalidHexTypeError"});}},Xf=class extends ne{constructor(e){super(`Value \`${e}\` is an invalid hex value.`,{metaMessages:['Hex values must start with `"0x"` and contain only hexadecimal characters (0-9, a-f, A-F).']}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Hex.InvalidHexValueError"});}},Qf=class extends ne{constructor(e){super(`Hex value \`"${e}"\` is an odd length (${e.length-2} nibbles).`,{metaMessages:["It must be an even length."]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Hex.InvalidLengthError"});}},zf=class extends ne{constructor({givenSize:e,maxSize:s}){super(`Size cannot exceed \`${s}\` bytes. Given size: \`${e}\` bytes.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Hex.SizeOverflowError"});}},zc=class extends ne{constructor({offset:e,position:s,size:r}){super(`Slice ${s==="start"?"starting":"ending"} at offset \`${e}\` is out-of-bounds (size: \`${r}\`).`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Hex.SliceOffsetOutOfBoundsError"});}},Yf=class extends ne{constructor({size:e,targetSize:s,type:r}){super(`${r.charAt(0).toUpperCase()}${r.slice(1).toLowerCase()} size (\`${e}\`) exceeds padding size (\`${s}\`).`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Hex.SizeExceedsPaddingSizeError"});}};var CR=new TextDecoder,NR=new TextEncoder;function PI(t){if(!(t instanceof Uint8Array)){if(!t)throw new ja(t);if(typeof t!="object")throw new ja(t);if(!("BYTES_PER_ELEMENT"in t))throw new ja(t);if(t.BYTES_PER_ELEMENT!==1||t.constructor.name!=="Uint8Array")throw new ja(t)}}function PS(...t){let e=0;for(let r of t)e+=r.length;let s=new Uint8Array(e);for(let r=0,n=0;r<t.length;r++){let i=t[r];s.set(i,n),n+=i.length;}return s}function Zr(t){return t instanceof Uint8Array?t:typeof t=="string"?dt(t):OI(t)}function OI(t){return t instanceof Uint8Array?t:new Uint8Array(t)}function TR(t,e={}){let{size:s}=e,r=new Uint8Array(1);return r[0]=Number(t),typeof s=="number"?(Yr(r,s),RI(r,s)):r}function dt(t,e={}){let{size:s}=e,r=t;s&&(_a(t,s),r=rr(t,s));let n=r.slice(2);n.length%2&&(n=`0${n}`);let i=n.length/2,a=new Uint8Array(i);for(let o=0,c=0;o<i;o++){let u=AS(n.charCodeAt(c++)),l=AS(n.charCodeAt(c++));if(u===void 0||l===void 0)throw new ne(`Invalid byte sequence ("${n[c-2]}${n[c-1]}" in "${n}").`);a[o]=u<<4|l;}return a}function kR(t,e){let s=ve(t,e);return dt(s)}function Xr(t,e={}){let{size:s}=e,r=NR.encode(t);return typeof s=="number"?(Yr(r,s),LI(r,s)):r}function BR(t,e){return Zp(t,e)}function RI(t,e){return IS(t,{dir:"left",size:e})}function LI(t,e){return IS(t,{dir:"right",size:e})}function BS(t){return crypto.getRandomValues(new Uint8Array(t))}function Us(t){return t.length}function OS(t,e,s,r={}){let{strict:n}=r;AI(t,e);let i=t.slice(e,s);return n&&II(i,e,s),i}function RS(t,e={}){let{size:s}=e;typeof s<"u"&&Yr(t,s);let r=Ue(t,e);return eg(r,e)}function LS(t,e={}){let{size:s}=e,r=t;if(typeof s<"u"&&(Yr(r,s),r=ng(r)),r.length>1||r[0]>1)throw new sg(r);return !!r[0]}function PR(t,e={}){return Ue(t,e)}function nr(t,e={}){let{size:s}=e;typeof s<"u"&&Yr(t,s);let r=Ue(t,e);return kS(r,e)}function rg(t,e={}){let{size:s}=e,r=t;return typeof s<"u"&&(Yr(r,s),r=tg(r)),CR.decode(r)}function ng(t){return CS(t,{dir:"left"})}function tg(t){return CS(t,{dir:"right"})}function DS(t){try{return PI(t),!0}catch{return !1}}var sg=class extends ne{constructor(e){super(`Bytes value \`${e}\` is not a valid boolean.`,{metaMessages:["The bytes array must contain a single byte of either a `0` or `1` value."]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Bytes.InvalidBytesBooleanError"});}},ja=class extends ne{constructor(e){super(`Value \`${typeof e=="object"?sr(e):e}\` of type \`${typeof e}\` is an invalid Bytes value.`,{metaMessages:["Bytes values must be of type `Bytes`."]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Bytes.InvalidBytesTypeError"});}},Wf=class extends ne{constructor({givenSize:e,maxSize:s}){super(`Size cannot exceed \`${s}\` bytes. Given size: \`${e}\` bytes.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Bytes.SizeOverflowError"});}},Jc=class extends ne{constructor({offset:e,position:s,size:r}){super(`Slice ${s==="start"?"starting":"ending"} at offset \`${e}\` is out-of-bounds (size: \`${r}\`).`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Bytes.SliceOffsetOutOfBoundsError"});}},Jf=class extends ne{constructor({size:e,targetSize:s,type:r}){super(`${r.charAt(0).toUpperCase()}${r.slice(1).toLowerCase()} size (\`${e}\`) exceeds padding size (\`${s}\`).`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Bytes.SizeExceedsPaddingSizeError"});}};function Lt(t,e={}){let{as:s=typeof t=="string"?"Hex":"Bytes"}=e,r=dI(Zr(t));return s==="Bytes"?r:Ue(r)}function OR(t,e={}){let{as:s=typeof t=="string"?"Hex":"Bytes"}=e,r=z3(Zr(t));return s==="Bytes"?r:Ue(r)}function th(t,e={}){let{as:s=typeof t=="string"?"Hex":"Bytes"}=e,r=yI(Zr(t));return s==="Bytes"?r:Ue(r)}function VS(t){return vs(t)&&Xe(t)===32}d();h();var j={};Ne(j,{InvalidAddressError:()=>Ma,InvalidChecksumError:()=>cg,InvalidInputError:()=>Xc,assert:()=>Es,checksum:()=>rh,from:()=>HI,fromPublicKey:()=>MS,isEqual:()=>$S,validate:()=>$a});d();h();d();h();d();h();var ig=class extends Map{constructor(e){super(),Object.defineProperty(this,"maxSize",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.maxSize=e;}get(e){let s=super.get(e);return super.has(e)&&s!==void 0&&(this.delete(e),super.set(e,s)),s}set(e,s){if(super.set(e,s),this.maxSize&&this.size>this.maxSize){let r=this.keys().next().value;r&&this.delete(r);}return this}};var RR={checksum:new ig(8192)},ag=RR.checksum;d();h();function VI(t,e={}){let{compressed:s}=e,{prefix:r,x:n,y:i}=t;if(s===!1||typeof n=="bigint"&&typeof i=="bigint"){if(r!==4)throw new og({prefix:r,cause:new HS});return}if(s===!0||typeof n=="bigint"&&typeof i>"u"){if(r!==3&&r!==2)throw new og({prefix:r,cause:new _S});return}throw new US({publicKey:t})}function Qr(t){let e=(()=>{if(vs(t))return UI(t);if(DS(t))return LR(t);let{prefix:s,x:r,y:n}=t;return typeof r=="bigint"&&typeof n=="bigint"?{prefix:s??4,x:r,y:n}:{prefix:s,x:r}})();return VI(e),e}function LR(t){return UI(Ue(t))}function UI(t){if(t.length!==132&&t.length!==130&&t.length!==68)throw new jS({publicKey:t});if(t.length===130){let r=BigInt(At(t,0,32)),n=BigInt(At(t,32,64));return {prefix:4,x:r,y:n}}if(t.length===132){let r=Number(At(t,0,1)),n=BigInt(At(t,1,33)),i=BigInt(At(t,33,65));return {prefix:r,x:n,y:i}}let e=Number(At(t,0,1)),s=BigInt(At(t,1,33));return {prefix:e,x:s}}function _I(t,e={}){return dt(ri(t,e))}function ri(t,e={}){VI(t);let{prefix:s,x:r,y:n}=t,{includePrefix:i=!0}=e;return at(i?ve(s,{size:1}):"0x",ve(r,{size:32}),typeof n=="bigint"?ve(n,{size:32}):"0x")}var US=class extends ne{constructor({publicKey:e}){super(`Value \`${sr(e)}\` is not a valid public key.`,{metaMessages:["Public key must contain:","- an `x` and `prefix` value (compressed)","- an `x`, `y`, and `prefix` value (uncompressed)"]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"PublicKey.InvalidError"});}},og=class extends ne{constructor({prefix:e,cause:s}){super(`Prefix "${e}" is invalid.`,{cause:s}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"PublicKey.InvalidPrefixError"});}},_S=class extends ne{constructor(){super("Prefix must be 2 or 3 for compressed public keys."),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"PublicKey.InvalidCompressedPrefixError"});}},HS=class extends ne{constructor(){super("Prefix must be 4 for uncompressed public keys."),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"PublicKey.InvalidUncompressedPrefixError"});}},jS=class extends ne{constructor({publicKey:e}){super(`Value \`${e}\` is an invalid public key size.`,{metaMessages:["Expected: 33 bytes (compressed + prefix), 64 bytes (uncompressed) or 65 bytes (uncompressed + prefix).",`Received ${Xe(Ss(e))} bytes.`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"PublicKey.InvalidSerializedSizeError"});}};var DR=/^0x[a-fA-F0-9]{40}$/;function Es(t,e={}){let{strict:s=!0}=e;if(!DR.test(t))throw new Ma({address:t,cause:new Xc});if(s){if(t.toLowerCase()===t)return;if(rh(t)!==t)throw new Ma({address:t,cause:new cg})}}function rh(t){if(ag.has(t))return ag.get(t);Es(t,{strict:!1});let e=t.substring(2).toLowerCase(),s=Lt(Xr(e),{as:"Bytes"}),r=e.split("");for(let i=0;i<40;i+=2)s[i>>1]>>4>=8&&r[i]&&(r[i]=r[i].toUpperCase()),(s[i>>1]&15)>=8&&r[i+1]&&(r[i+1]=r[i+1].toUpperCase());let n=`0x${r.join("")}`;return ag.set(t,n),n}function HI(t,e={}){let{checksum:s=!1}=e;return Es(t),s?rh(t):t}function MS(t,e={}){let s=Lt(`0x${ri(t).slice(4)}`).substring(26);return HI(`0x${s}`,e)}function $S(t,e){return Es(t,{strict:!1}),Es(e,{strict:!1}),t.toLowerCase()===e.toLowerCase()}function $a(t,e={}){let{strict:s=!0}=e??{};try{return Es(t,{strict:s}),!0}catch{return !1}}var Ma=class extends ne{constructor({address:e,cause:s}){super(`Address "${e}" is invalid.`,{cause:s}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Address.InvalidAddressError"});}},Xc=class extends ne{constructor(){super("Address is not a 20 byte (40 hexadecimal character) value."),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Address.InvalidInputError"});}},cg=class extends ne{constructor(){super("Address does not match its checksum counterpart."),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Address.InvalidChecksumError"});}};function lg(t){let e=!0,s="",r=0,n="",i=!1;for(let a=0;a<t.length;a++){let o=t[a];if(["(",")",","].includes(o)&&(e=!0),o==="("&&r++,o===")"&&r--,!!e){if(r===0){if(o===" "&&["event","function","error",""].includes(n))n="";else if(n+=o,o===")"){i=!0;break}continue}if(o===" "){t[a-1]!==","&&s!==","&&s!==",("&&(s="",e=!1);continue}n+=o,s+=o;}}if(!i)throw new ne("Unable to normalize signature.");return n}function ug(t,e){let s=typeof t,r=e.type;switch(r){case"address":return $a(t,{strict:!1});case"bool":return s==="boolean";case"function":return s==="string";case"string":return s==="string";default:return r==="tuple"&&"components"in e?Object.values(e.components).every((n,i)=>ug(Object.values(t)[i],n)):/^u?int(8|16|24|32|40|48|56|64|72|80|88|96|104|112|120|128|136|144|152|160|168|176|184|192|200|208|216|224|232|240|248|256)?$/.test(r)?s==="number"||s==="bigint":/^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/.test(r)?s==="string"||t instanceof Uint8Array:/[a-z]+[1-9]{0,3}(\[[0-9]{0,}\])+$/.test(r)?Array.isArray(t)&&t.every(n=>ug(n,{...e,type:r.replace(/(\[[0-9]{0,}\])$/,"")})):!1}}function qS(t,e,s){for(let r in t){let n=t[r],i=e[r];if(n.type==="tuple"&&i.type==="tuple"&&"components"in n&&"components"in i)return qS(n.components,i.components,s[r]);let a=[n.type,i.type];if(a.includes("address")&&a.includes("bytes20")?!0:a.includes("address")&&a.includes("string")?$a(s[r],{strict:!1}):a.includes("address")&&a.includes("bytes")?$a(s[r],{strict:!1}):!1)return a}}function jI(t,e={}){let{prepare:s=!0}=e,r=Array.isArray(t)?jp(t):typeof t=="string"?jp(t):t;return {...r,...s?{hash:Qc(r)}:{}}}function nh(t,e,s){let{args:r=[],prepare:n=!0}=s??{},i=vs(e,{strict:!1}),a=t.filter(u=>i?u.type==="function"||u.type==="error"?KS(u)===At(e,0,4):u.type==="event"?Qc(u)===e:!1:"name"in u&&u.name===e);if(a.length===0)throw new eu({name:e});if(a.length===1)return {...a[0],...n?{hash:Qc(a[0])}:{}};let o;for(let u of a){if(!("inputs"in u))continue;if(!r||r.length===0){if(!u.inputs||u.inputs.length===0)return {...u,...n?{hash:Qc(u)}:{}};continue}if(!u.inputs||u.inputs.length===0||u.inputs.length!==r.length)continue;if(r.every((p,w)=>{let E="inputs"in u&&u.inputs[w];return E?ug(p,E):!1})){if(o&&"inputs"in o&&o.inputs){let p=qS(u.inputs,o.inputs,r);if(p)throw new FS({abiItem:u,type:p[0]},{abiItem:o,type:p[1]})}o=u;}}let c=(()=>{if(o)return o;let[u,...l]=a;return {...u,overloads:l}})();if(!c)throw new eu({name:e});return {...c,...n?{hash:Qc(c)}:{}}}function KS(...t){let e=(()=>{if(Array.isArray(t[0])){let[s,r]=t;return nh(s,r)}return t[0]})();return At(Qc(e),0,4)}function UR(...t){let e=(()=>{if(Array.isArray(t[0])){let[r,n]=t;return nh(r,n)}return t[0]})(),s=typeof e=="string"?e:Fr(e);return lg(s)}function Qc(...t){let e=(()=>{if(Array.isArray(t[0])){let[s,r]=t;return nh(s,r)}return t[0]})();return typeof e!="string"&&"hash"in e&&e.hash?e.hash:Lt(Bs(UR(e)))}var FS=class extends ne{constructor(e,s){super("Found ambiguous types in overloaded ABI Items.",{metaMessages:[`\`${e.type}\` in \`${lg(Fr(e.abiItem))}\`, and`,`\`${s.type}\` in \`${lg(Fr(s.abiItem))}\``,"","These types encode differently and cannot be distinguished at runtime.","Remove one of the ambiguous items in the ABI."]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiItem.AmbiguityError"});}},eu=class extends ne{constructor({name:e,data:s,type:r="item"}){let n=e?` with name "${e}"`:s?` with data "${s}"`:"";super(`ABI ${r}${n} not found.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiItem.NotFoundError"});}},fg=class extends ne{constructor({data:e}){super(`Selector size is invalid. Expected 4 bytes. Received ${Xe(e)} bytes ("${e}").`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiItem.InvalidSelectorSizeError"});}};var mt={};Ne(mt,{ArrayLengthMismatchError:()=>ah,BytesSizeMismatchError:()=>su,DataSizeTooSmallError:()=>yg,InvalidArrayError:()=>oh,InvalidTypeError:()=>Fa,LengthMismatchError:()=>uh,ZeroDataError:()=>wg,decode:()=>ru,encode:()=>en,encodePacked:()=>gg,format:()=>e7,from:()=>bg});d();h();d();h();d();h();var $I=/^(.*)\[([0-9]*)\]$/,hg=/^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/,tu=/^(u?int)(8|16|24|32|40|48|56|64|72|80|88|96|104|112|120|128|136|144|152|160|168|176|184|192|200|208|216|224|232|240|248|256)?$/,GS=2n**256n-1n;function qa(t,e,s){let{checksumAddress:r,staticPosition:n}=s,i=zS(e.type);if(i){let[a,o]=i;return HR(t,{...e,type:o},{checksumAddress:r,length:a,staticPosition:n})}if(e.type==="tuple")return qR(t,e,{checksumAddress:r,staticPosition:n});if(e.type==="address")return _R(t,{checksum:r});if(e.type==="bool")return jR(t);if(e.type.startsWith("bytes"))return MR(t,e,{staticPosition:n});if(e.type.startsWith("uint")||e.type.startsWith("int"))return $R(t,e);if(e.type==="string")return FR(t,{staticPosition:n});throw new Fa(e.type)}var qI=32,WS=32;function _R(t,e={}){let{checksum:s=!1}=e,r=t.readBytes(32);return [(i=>s?rh(i):i)(Ue(OS(r,-20))),32]}function HR(t,e,s){let{checksumAddress:r,length:n,staticPosition:i}=s;if(!n){let c=nr(t.readBytes(WS)),u=i+c,l=u+qI;t.setPosition(u);let p=nr(t.readBytes(qI)),w=ih(e),E=0,S=[];for(let I=0;I<p;++I){t.setPosition(l+(w?I*32:E));let[C,D]=qa(t,e,{checksumAddress:r,staticPosition:l});E+=D,S.push(C);}return t.setPosition(i+32),[S,32]}if(ih(e)){let c=nr(t.readBytes(WS)),u=i+c,l=[];for(let p=0;p<n;++p){t.setPosition(u+p*32);let[w]=qa(t,e,{checksumAddress:r,staticPosition:u});l.push(w);}return t.setPosition(i+32),[l,32]}let a=0,o=[];for(let c=0;c<n;++c){let[u,l]=qa(t,e,{checksumAddress:r,staticPosition:i+a});a+=l,o.push(u);}return [o,a]}function jR(t){return [LS(t.readBytes(32),{size:32}),32]}function MR(t,e,{staticPosition:s}){let[r,n]=e.type.split("bytes");if(!n){let a=nr(t.readBytes(32));t.setPosition(s+a);let o=nr(t.readBytes(32));if(o===0)return t.setPosition(s+32),["0x",32];let c=t.readBytes(o);return t.setPosition(s+32),[Ue(c),32]}return [Ue(t.readBytes(Number.parseInt(n,10),32)),32]}function $R(t,e){let s=e.type.startsWith("int"),r=Number.parseInt(e.type.split("int")[1]||"256",10),n=t.readBytes(32);return [r>48?RS(n,{signed:s}):nr(n,{signed:s}),32]}function qR(t,e,s){let{checksumAddress:r,staticPosition:n}=s,i=e.components.length===0||e.components.some(({name:c})=>!c),a=i?[]:{},o=0;if(ih(e)){let c=nr(t.readBytes(WS)),u=n+c;for(let l=0;l<e.components.length;++l){let p=e.components[l];t.setPosition(u+o);let[w,E]=qa(t,p,{checksumAddress:r,staticPosition:u});o+=E,a[i?l:p?.name]=w;}return t.setPosition(n+32),[a,32]}for(let c=0;c<e.components.length;++c){let u=e.components[c],[l,p]=qa(t,u,{checksumAddress:r,staticPosition:n});a[i?c:u?.name]=l,o+=p;}return [a,o]}function FR(t,{staticPosition:e}){let s=nr(t.readBytes(32)),r=e+s;t.setPosition(r);let n=nr(t.readBytes(32));if(n===0)return t.setPosition(e+32),["",32];let i=t.readBytes(n,32),a=rg(ng(i));return t.setPosition(e+32),[a,32]}function FI({checksumAddress:t,parameters:e,values:s}){let r=[];for(let n=0;n<e.length;n++)r.push(JS({checksumAddress:t,parameter:e[n],value:s[n]}));return r}function JS({checksumAddress:t=!1,parameter:e,value:s}){let r=e,n=zS(r.type);if(n){let[i,a]=n;return GR(s,{checksumAddress:t,length:i,parameter:{...r,type:a}})}if(r.type==="tuple")return ZR(s,{checksumAddress:t,parameter:r});if(r.type==="address")return KR(s,{checksum:t});if(r.type==="bool")return JR(s);if(r.type.startsWith("uint")||r.type.startsWith("int")){let i=r.type.startsWith("int"),[,,a="256"]=tu.exec(r.type)??[];return zR(s,{signed:i,size:Number(a)})}if(r.type.startsWith("bytes"))return WR(s,{type:r.type});if(r.type==="string")return YR(s);throw new Fa(r.type)}function mg(t){let e=0;for(let i=0;i<t.length;i++){let{dynamic:a,encoded:o}=t[i];a?e+=32:e+=Xe(o);}let s=[],r=[],n=0;for(let i=0;i<t.length;i++){let{dynamic:a,encoded:o}=t[i];a?(s.push(ve(e+n,{size:32})),r.push(o),n+=Xe(o)):s.push(o);}return at(...s,...r)}function KR(t,e){let{checksum:s=!1}=e;return Es(t,{strict:s}),{dynamic:!1,encoded:kr(t.toLowerCase())}}function GR(t,e){let{checksumAddress:s,length:r,parameter:n}=e,i=r===null;if(!Array.isArray(t))throw new oh(t);if(!i&&t.length!==r)throw new ah({expectedLength:r,givenLength:t.length,type:`${n.type}[${r}]`});let a=!1,o=[];for(let c=0;c<t.length;c++){let u=JS({checksumAddress:s,parameter:n,value:t[c]});u.dynamic&&(a=!0),o.push(u);}if(i||a){let c=mg(o);if(i){let u=ve(o.length,{size:32});return {dynamic:!0,encoded:o.length>0?at(u,c):u}}if(a)return {dynamic:!0,encoded:c}}return {dynamic:!1,encoded:at(...o.map(({encoded:c})=>c))}}function WR(t,{type:e}){let[,s]=e.split("bytes"),r=Xe(t);if(!s){let n=t;return r%32!==0&&(n=rr(n,Math.ceil((t.length-2)/2/32)*32)),{dynamic:!0,encoded:at(kr(ve(r,{size:32})),n)}}if(r!==Number.parseInt(s,10))throw new su({expectedSize:Number.parseInt(s,10),value:t});return {dynamic:!1,encoded:rr(t)}}function JR(t){if(typeof t!="boolean")throw new ne(`Invalid boolean value: "${t}" (type: ${typeof t}). Expected: \`true\` or \`false\`.`);return {dynamic:!1,encoded:kr(eh(t))}}function zR(t,{signed:e,size:s}){if(typeof s=="number"){let r=2n**(BigInt(s)-(e?1n:0n))-1n,n=e?-r-1n:0n;if(t>r||t<n)throw new Zc({max:r.toString(),min:n.toString(),signed:e,size:s/8,value:t.toString()})}return {dynamic:!1,encoded:ve(t,{size:32,signed:e})}}function YR(t){let e=Bs(t),s=Math.ceil(Xe(e)/32),r=[];for(let n=0;n<s;n++)r.push(rr(At(e,n*32,(n+1)*32)));return {dynamic:!0,encoded:at(rr(ve(Xe(e),{size:32})),...r)}}function ZR(t,e){let{checksumAddress:s,parameter:r}=e,n=!1,i=[];for(let a=0;a<r.components.length;a++){let o=r.components[a],c=Array.isArray(t)?a:o.name,u=JS({checksumAddress:s,parameter:o,value:t[c]});i.push(u),u.dynamic&&(n=!0);}return {dynamic:n,encoded:n?mg(i):at(...i.map(({encoded:a})=>a))}}function zS(t){let e=t.match(/^(.*)\[(\d+)?\]$/);return e?[e[2]?Number(e[2]):null,e[1]]:void 0}function ih(t){let{type:e}=t;if(e==="string"||e==="bytes"||e.endsWith("[]"))return !0;if(e==="tuple")return t.components?.some(ih);let s=zS(t.type);return !!(s&&ih({...t,type:s[1]}))}d();h();var QR={bytes:new Uint8Array,dataView:new DataView(new ArrayBuffer(0)),position:0,positionReadCount:new Map,recursiveReadCount:0,recursiveReadLimit:Number.POSITIVE_INFINITY,assertReadLimit(){if(this.recursiveReadCount>=this.recursiveReadLimit)throw new ZS({count:this.recursiveReadCount+1,limit:this.recursiveReadLimit})},assertPosition(t){if(t<0||t>this.bytes.length-1)throw new YS({length:this.bytes.length,position:t})},decrementPosition(t){if(t<0)throw new pg({offset:t});let e=this.position-t;this.assertPosition(e),this.position=e;},getReadCount(t){return this.positionReadCount.get(t||this.position)||0},incrementPosition(t){if(t<0)throw new pg({offset:t});let e=this.position+t;this.assertPosition(e),this.position=e;},inspectByte(t){let e=t??this.position;return this.assertPosition(e),this.bytes[e]},inspectBytes(t,e){let s=e??this.position;return this.assertPosition(s+t-1),this.bytes.subarray(s,s+t)},inspectUint8(t){let e=t??this.position;return this.assertPosition(e),this.bytes[e]},inspectUint16(t){let e=t??this.position;return this.assertPosition(e+1),this.dataView.getUint16(e)},inspectUint24(t){let e=t??this.position;return this.assertPosition(e+2),(this.dataView.getUint16(e)<<8)+this.dataView.getUint8(e+2)},inspectUint32(t){let e=t??this.position;return this.assertPosition(e+3),this.dataView.getUint32(e)},pushByte(t){this.assertPosition(this.position),this.bytes[this.position]=t,this.position++;},pushBytes(t){this.assertPosition(this.position+t.length-1),this.bytes.set(t,this.position),this.position+=t.length;},pushUint8(t){this.assertPosition(this.position),this.bytes[this.position]=t,this.position++;},pushUint16(t){this.assertPosition(this.position+1),this.dataView.setUint16(this.position,t),this.position+=2;},pushUint24(t){this.assertPosition(this.position+2),this.dataView.setUint16(this.position,t>>8),this.dataView.setUint8(this.position+2,t&255),this.position+=3;},pushUint32(t){this.assertPosition(this.position+3),this.dataView.setUint32(this.position,t),this.position+=4;},readByte(){this.assertReadLimit(),this._touch();let t=this.inspectByte();return this.position++,t},readBytes(t,e){this.assertReadLimit(),this._touch();let s=this.inspectBytes(t);return this.position+=e??t,s},readUint8(){this.assertReadLimit(),this._touch();let t=this.inspectUint8();return this.position+=1,t},readUint16(){this.assertReadLimit(),this._touch();let t=this.inspectUint16();return this.position+=2,t},readUint24(){this.assertReadLimit(),this._touch();let t=this.inspectUint24();return this.position+=3,t},readUint32(){this.assertReadLimit(),this._touch();let t=this.inspectUint32();return this.position+=4,t},get remaining(){return this.bytes.length-this.position},setPosition(t){let e=this.position;return this.assertPosition(t),this.position=t,()=>this.position=e},_touch(){if(this.recursiveReadLimit===Number.POSITIVE_INFINITY)return;let t=this.getReadCount();this.positionReadCount.set(this.position,t+1),t>0&&this.recursiveReadCount++;}};function ch(t,{recursiveReadLimit:e=8192}={}){let s=Object.create(QR);return s.bytes=t,s.dataView=new DataView(t.buffer,t.byteOffset,t.byteLength),s.positionReadCount=new Map,s.recursiveReadLimit=e,s}var pg=class extends ne{constructor({offset:e}){super(`Offset \`${e}\` cannot be negative.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Cursor.NegativeOffsetError"});}},YS=class extends ne{constructor({length:e,position:s}){super(`Position \`${s}\` is out of bounds (\`0 < position < ${e}\`).`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Cursor.PositionOutOfBoundsError"});}},ZS=class extends ne{constructor({count:e,limit:s}){super(`Recursive read limit of \`${s}\` exceeded (recursive read count: \`${e}\`).`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Cursor.RecursiveReadLimitExceededError"});}};function ru(t,e,s={}){let{as:r="Array",checksumAddress:n=!1}=s,i=typeof e=="string"?dt(e):e,a=ch(i);if(Us(i)===0&&t.length>0)throw new wg;if(Us(i)&&Us(i)<32)throw new yg({data:typeof e=="string"?e:Ue(e),parameters:t,size:Us(i)});let o=0,c=r==="Array"?[]:{};for(let u=0;u<t.length;++u){let l=t[u];a.setPosition(o);let[p,w]=qa(a,l,{checksumAddress:n,staticPosition:0});o+=w,r==="Array"?c.push(p):c[l.name??u]=p;}return c}function en(t,e,s){let{checksumAddress:r=!1}=s??{};if(t.length!==e.length)throw new uh({expectedLength:t.length,givenLength:e.length});let n=FI({checksumAddress:r,parameters:t,values:e}),i=mg(n);return i.length===0?"0x":i}function gg(t,e){if(t.length!==e.length)throw new uh({expectedLength:t.length,givenLength:e.length});let s=[];for(let r=0;r<t.length;r++){let n=t[r],i=e[r];s.push(gg.encode(n,i));}return at(...s)}(function(t){function e(s,r,n=!1){if(s==="address"){let c=r;return Es(c),kr(c.toLowerCase(),n?32:0)}if(s==="string")return Bs(r);if(s==="bytes")return r;if(s==="bool")return kr(eh(r),n?32:1);let i=s.match(tu);if(i){let[c,u,l="256"]=i,p=Number.parseInt(l,10)/8;return ve(r,{size:n?32:p,signed:u==="int"})}let a=s.match(hg);if(a){let[c,u]=a;if(Number.parseInt(u,10)!==(r.length-2)/2)throw new su({expectedSize:Number.parseInt(u,10),value:r});return rr(r,n?32:0)}let o=s.match($I);if(o&&Array.isArray(r)){let[c,u]=o,l=[];for(let p=0;p<r.length;p++)l.push(e(u,r[p],!0));return l.length===0?"0x":at(...l)}throw new Fa(s)}t.encode=e;})(gg||(gg={}));function e7(t){return Ir(t)}function bg(t){return Array.isArray(t)&&typeof t[0]=="string"?Mp(t):typeof t=="string"?Mp(t):t}var yg=class extends ne{constructor({data:e,parameters:s,size:r}){super(`Data size of ${r} bytes is too small for given parameters.`,{metaMessages:[`Params: (${Ir(s)})`,`Data: ${e} (${r} bytes)`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiParameters.DataSizeTooSmallError"});}},wg=class extends ne{constructor(){super('Cannot decode zero data ("0x") with ABI parameters.'),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiParameters.ZeroDataError"});}},ah=class extends ne{constructor({expectedLength:e,givenLength:s,type:r}){super(`Array length mismatch for type \`${r}\`. Expected: \`${e}\`. Given: \`${s}\`.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiParameters.ArrayLengthMismatchError"});}},su=class extends ne{constructor({expectedSize:e,value:s}){super(`Size of bytes "${s}" (bytes${Xe(s)}) does not match expected size (bytes${e}).`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiParameters.BytesSizeMismatchError"});}},uh=class extends ne{constructor({expectedLength:e,givenLength:s}){super(["ABI encoding parameters/values length mismatch.",`Expected length (parameters): ${e}`,`Given length (values): ${s}`].join(`
339
+ `)),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiParameters.LengthMismatchError"});}},oh=class extends ne{constructor(e){super(`Value \`${e}\` is not a valid array.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiParameters.InvalidArrayError"});}},Fa=class extends ne{constructor(e){super(`Type \`${e}\` is not a valid ABI Type.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AbiParameters.InvalidTypeError"});}};var me={};Ne(me,{decodeData:()=>t7,decodeResult:()=>s7,encodeData:()=>r7,encodeResult:()=>n7,format:()=>i7,from:()=>a7,fromAbi:()=>Ka,getSelector:()=>GI});d();h();function t7(...t){let[e,s]=(()=>{if(Array.isArray(t[0])){let[i,a,o]=t;return [Ka(i,a),o]}return t})(),{overloads:r}=e;if(Xe(s)<4)throw new fg({data:s});if(e.inputs?.length===0)return;let n=r?Ka([e,...r],s):e;if(!(Xe(s)<=4))return ru(n.inputs,At(s,4))}function s7(...t){let[e,s,r={}]=(()=>{if(Array.isArray(t[0])){let[i,a,o,c]=t;return [Ka(i,a),o,c]}return t})(),n=ru(e.outputs,s,r);if(!(n&&Object.keys(n).length===0))return n&&Object.keys(n).length===1?Array.isArray(n)?n[0]:Object.values(n)[0]:n}function r7(...t){let[e,s=[]]=(()=>{if(Array.isArray(t[0])){let[u,l,p]=t;return [Ka(u,l,{args:p}),p]}let[o,c]=t;return [o,c]})(),{overloads:r}=e,n=r?Ka([e,...r],e.name,{args:s}):e,i=GI(n),a=s.length>0?en(n.inputs,s):void 0;return a?at(i,a):i}function n7(...t){let[e,s,r={}]=(()=>{if(Array.isArray(t[0])){let[a,o,c,u]=t;return [Ka(a,o),c,u]}return t})(),{as:n="Array"}=r,i=e.outputs.length===1?[s]:Array.isArray(s)?s:n==="Object"?Object.values(s):[s];return en(e.outputs,i)}function i7(t){return Fr(t)}function a7(t,e={}){return jI(t,e)}function Ka(t,e,s){let r=nh(t,e,s);if(r.type!=="function")throw new eu({name:e,type:"function"});return r}function GI(t){return KS(t)}d();h();function WI(t){let e=[];for(let s=0;s<t.length;s++){let[r,n]=t[s];r&&Es(r,{strict:!1}),e.push({address:r,storageKeys:n.map(i=>VS(i)?i:Ha(i))});}return e}function JI(t){if(!t||t.length===0)return [];let e=[];for(let{address:s,storageKeys:r}of t){for(let n=0;n<r.length;n++)if(Xe(r[n])!==32)throw new XS({storageKey:r[n]});s&&Es(s,{strict:!1}),e.push([s,r]);}return e}var XS=class extends ne{constructor({storageKey:e}){super(`Size for storage key "${e}" is invalid. Expected 32 bytes. Got ${Xe(e)} bytes.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"AccessList.InvalidStorageKeySizeError"});}};d();h();function ZI(t){return o7(t,"Hex")}function o7(t,e){let s=e,r=(()=>{if(typeof t=="string"){if(t.length>3&&t.length%2!==0)throw new Qf(t);return dt(t)}return t})(),n=ch(r,{recursiveReadLimit:Number.POSITIVE_INFINITY});return XI(n,s)}function XI(t,e="Hex"){if(t.bytes.length===0)return e==="Hex"?Ue(t.bytes):t.bytes;let s=t.readByte();if(s<128&&t.decrementPosition(1),s<192){let n=YI(t,s,128),i=t.readBytes(n);return e==="Hex"?Ue(i):i}let r=YI(t,s,192);return c7(t,r,e)}function YI(t,e,s){if(s===128&&e<128)return 1;if(e<=s+55)return e-s;if(e===s+55+1)return t.readUint8();if(e===s+55+2)return t.readUint16();if(e===s+55+3)return t.readUint24();if(e===s+55+4)return t.readUint32();throw new ne("Invalid RLP prefix")}function c7(t,e,s){let r=t.position,n=[];for(;t.position-r<e;)n.push(XI(t,s));return n}function u7(t,e){let{as:s}=e,r=e8(t),n=ch(new Uint8Array(r.length));return r.encode(n),s==="Hex"?Ue(n.bytes):n.bytes}function QI(t,e={}){let{as:s="Hex"}=e;return u7(t,{as:s})}function e8(t){return Array.isArray(t)?l7(t.map(e=>e8(e))):f7(t)}function l7(t){let e=t.reduce((n,i)=>n+i.length,0),s=t8(e);return {length:e<=55?1+e:1+s+e,encode(n){e<=55?n.pushByte(192+e):(n.pushByte(247+s),s===1?n.pushUint8(e):s===2?n.pushUint16(e):s===3?n.pushUint24(e):n.pushUint32(e));for(let{encode:i}of t)i(n);}}}function f7(t){let e=typeof t=="string"?dt(t):t,s=t8(e.length);return {length:e.length===1&&e[0]<128?1:e.length<=55?1+e.length:1+s+e.length,encode(n){e.length===1&&e[0]<128?n.pushBytes(e):e.length<=55?(n.pushByte(128+e.length),n.pushBytes(e)):(n.pushByte(183+s),s===1?n.pushUint8(e.length):s===2?n.pushUint16(e.length):s===3?n.pushUint24(e.length):n.pushUint32(e.length),n.pushBytes(e));}}}function t8(t){if(t<=255)return 1;if(t<=65535)return 2;if(t<=16777215)return 3;if(t<=4294967295)return 4;throw new ne("Length is too large.")}var Gt={};Ne(Gt,{InvalidRError:()=>xg,InvalidSError:()=>Ag,InvalidSerializedSizeError:()=>Eg,InvalidVError:()=>Ig,InvalidYParityError:()=>Wa,MissingPropertiesError:()=>iu,assert:()=>Cg,extract:()=>Ng,from:()=>lh,fromBytes:()=>v8,fromDerBytes:()=>T7,fromDerHex:()=>E8,fromHex:()=>pv,fromLegacy:()=>x8,fromRpc:()=>A8,fromTuple:()=>gv,toBytes:()=>k7,toDerBytes:()=>B7,toDerHex:()=>P7,toHex:()=>I8,toLegacy:()=>O7,toRpc:()=>yv,toTuple:()=>wv,vToYParity:()=>Tg,validate:()=>R7,yParityToV:()=>bv});d();h();d();h();d();h();d();h();var Sg=class extends Xn{constructor(e,s){super(),this.finished=!1,this.destroyed=!1,_3(e);let r=Ba(s);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 n=this.blockLen,i=new Uint8Array(n);i.set(r.length>n?e.create().update(r).digest():r);for(let a=0;a<i.length;a++)i[a]^=54;this.iHash.update(i),this.oHash=e.create();for(let a=0;a<i.length;a++)i[a]^=106;this.oHash.update(i),bs(i);}update(e){return Kr(this),this.iHash.update(e),this}digestInto(e){Kr(this),Nr(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:s,iHash:r,finished:n,destroyed:i,blockLen:a,outputLen:o}=this;return e=e,e.finished=n,e.destroyed=i,e.blockLen=a,e.outputLen=o,e.oHash=s._cloneInto(e.oHash),e.iHash=r._cloneInto(e.iHash),e}clone(){return this._cloneInto()}destroy(){this.destroyed=!0,this.oHash.destroy(),this.iHash.destroy();}},QS=(t,e,s)=>new Sg(t,e).update(s).digest();QS.create=(t,e)=>new Sg(t,e);d();h();d();h();d();h();var xs=BigInt(0),us=BigInt(1),Ga=BigInt(2),h7=BigInt(3),n8=BigInt(4),i8=BigInt(5),a8=BigInt(8);function cs(t,e){let s=t%e;return s>=xs?s:e+s}function _s(t,e,s){let r=t;for(;e-- >xs;)r*=r,r%=s;return r}function vg(t,e){if(t===xs)throw new Error("invert: expected non-zero number");if(e<=xs)throw new Error("invert: expected positive modulus, got "+e);let s=cs(t,e),r=e,n=xs,a=us;for(;s!==xs;){let u=r/s,l=r%s,p=n-a*u;r=s,s=l,n=a,a=p;}if(r!==us)throw new Error("invert: does not exist");return cs(n,e)}function o8(t,e){let s=(t.ORDER+us)/n8,r=t.pow(e,s);if(!t.eql(t.sqr(r),e))throw new Error("Cannot find square root");return r}function d7(t,e){let s=(t.ORDER-i8)/a8,r=t.mul(e,Ga),n=t.pow(r,s),i=t.mul(e,n),a=t.mul(t.mul(i,Ga),n),o=t.mul(i,t.sub(a,t.ONE));if(!t.eql(t.sqr(o),e))throw new Error("Cannot find square root");return o}function m7(t){if(t<BigInt(3))throw new Error("sqrt is not defined for small field");let e=t-us,s=0;for(;e%Ga===xs;)e/=Ga,s++;let r=Ga,n=tn(t);for(;r8(n,r)===1;)if(r++>1e3)throw new Error("Cannot find square root: probably non-prime P");if(s===1)return o8;let i=n.pow(r,e),a=(e+us)/Ga;return function(c,u){if(c.is0(u))return u;if(r8(c,u)!==1)throw new Error("Cannot find square root");let l=s,p=c.mul(c.ONE,i),w=c.pow(u,e),E=c.pow(u,a);for(;!c.eql(w,c.ONE);){if(c.is0(w))return c.ZERO;let S=1,I=c.sqr(w);for(;!c.eql(I,c.ONE);)if(S++,I=c.sqr(I),S===l)throw new Error("Cannot find square root");let C=us<<BigInt(l-S-1),D=c.pow(p,C);l=S,p=c.sqr(D),w=c.mul(w,p),E=c.mul(E,D);}return E}}function p7(t){return t%n8===h7?o8:t%a8===i8?d7:m7(t)}var g7=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function ev(t){let e={ORDER:"bigint",MASK:"bigint",BYTES:"isSafeInteger",BITS:"isSafeInteger"},s=g7.reduce((r,n)=>(r[n]="function",r),e);return Ua(t,s)}function y7(t,e,s){if(s<xs)throw new Error("invalid exponent, negatives unsupported");if(s===xs)return t.ONE;if(s===us)return e;let r=t.ONE,n=e;for(;s>xs;)s&us&&(r=t.mul(r,n)),n=t.sqr(n),s>>=us;return r}function tv(t,e,s=!1){let r=new Array(e.length).fill(s?t.ZERO:void 0),n=e.reduce((a,o,c)=>t.is0(o)?a:(r[c]=a,t.mul(a,o)),t.ONE),i=t.inv(n);return e.reduceRight((a,o,c)=>t.is0(o)?a:(r[c]=t.mul(a,r[c]),t.mul(a,o)),i),r}function r8(t,e){let s=(t.ORDER-us)/Ga,r=t.pow(e,s),n=t.eql(r,t.ONE),i=t.eql(r,t.ZERO),a=t.eql(r,t.neg(t.ONE));if(!n&&!i&&!a)throw new Error("invalid Legendre symbol result");return n?1:i?0:-1}function sv(t,e){e!==void 0&&ka(e);let s=e!==void 0?e:t.toString(2).length,r=Math.ceil(s/8);return {nBitLength:s,nByteLength:r}}function tn(t,e,s=!1,r={}){if(t<=xs)throw new Error("invalid field: expected ORDER > 0, got "+t);let{nBitLength:n,nByteLength:i}=sv(t,e);if(i>2048)throw new Error("invalid field: expected ORDER of <= 2048 bytes");let a,o=Object.freeze({ORDER:t,isLE:s,BITS:n,BYTES:i,MASK:Va(n),ZERO:xs,ONE:us,create:c=>cs(c,t),isValid:c=>{if(typeof c!="bigint")throw new Error("invalid field element: expected bigint, got "+typeof c);return xs<=c&&c<t},is0:c=>c===xs,isOdd:c=>(c&us)===us,neg:c=>cs(-c,t),eql:(c,u)=>c===u,sqr:c=>cs(c*c,t),add:(c,u)=>cs(c+u,t),sub:(c,u)=>cs(c-u,t),mul:(c,u)=>cs(c*u,t),pow:(c,u)=>y7(o,c,u),div:(c,u)=>cs(c*vg(u,t),t),sqrN:c=>c*c,addN:(c,u)=>c+u,subN:(c,u)=>c-u,mulN:(c,u)=>c*u,inv:c=>vg(c,t),sqrt:r.sqrt||(c=>(a||(a=p7(t)),a(o,c))),toBytes:c=>s?ES(c,i):La(c,i),fromBytes:c=>{if(c.length!==i)throw new Error("Field.fromBytes: expected "+i+" bytes, got "+c.length);return s?vS(c):Jr(c)},invertBatch:c=>tv(o,c),cmov:(c,u,l)=>l?u:c});return Object.freeze(o)}function c8(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 rv(t){let e=c8(t);return e+Math.ceil(e/2)}function u8(t,e,s=!1){let r=t.length,n=c8(e),i=rv(e);if(r<16||r<i||r>1024)throw new Error("expected "+i+"-1024 bytes of input, got "+r);let a=s?vS(t):Jr(t),o=cs(a,e-us)+us;return s?ES(o,n):La(o,n)}var l8=BigInt(0),cv=BigInt(1);function nv(t,e){let s=e.negate();return t?s:e}function h8(t,e){if(!Number.isSafeInteger(t)||t<=0||t>e)throw new Error("invalid window size, expected [1.."+e+"], got W="+t)}function iv(t,e){h8(t,e);let s=Math.ceil(e/t)+1,r=2**(t-1),n=2**t,i=Va(t),a=BigInt(t);return {windows:s,windowSize:r,mask:i,maxNumber:n,shiftBy:a}}function f8(t,e,s){let{windowSize:r,mask:n,maxNumber:i,shiftBy:a}=s,o=Number(t&n),c=t>>a;o>r&&(o-=i,c+=cv);let u=e*r,l=u+Math.abs(o)-1,p=o===0,w=o<0,E=e%2!==0;return {nextN:c,offset:l,isZero:p,isNeg:w,isNegF:E,offsetF:u}}function w7(t,e){if(!Array.isArray(t))throw new Error("array expected");t.forEach((s,r)=>{if(!(s instanceof e))throw new Error("invalid point at index "+r)});}function b7(t,e){if(!Array.isArray(t))throw new Error("array of scalars expected");t.forEach((s,r)=>{if(!e.isValid(s))throw new Error("invalid scalar at index "+r)});}var av=new WeakMap,d8=new WeakMap;function ov(t){return d8.get(t)||1}function m8(t,e){return {constTimeNegate:nv,hasPrecomputes(s){return ov(s)!==1},unsafeLadder(s,r,n=t.ZERO){let i=s;for(;r>l8;)r&cv&&(n=n.add(i)),i=i.double(),r>>=cv;return n},precomputeWindow(s,r){let{windows:n,windowSize:i}=iv(r,e),a=[],o=s,c=o;for(let u=0;u<n;u++){c=o,a.push(c);for(let l=1;l<i;l++)c=c.add(o),a.push(c);o=c.double();}return a},wNAF(s,r,n){let i=t.ZERO,a=t.BASE,o=iv(s,e);for(let c=0;c<o.windows;c++){let{nextN:u,offset:l,isZero:p,isNeg:w,isNegF:E,offsetF:S}=f8(n,c,o);n=u,p?a=a.add(nv(E,r[S])):i=i.add(nv(w,r[l]));}return {p:i,f:a}},wNAFUnsafe(s,r,n,i=t.ZERO){let a=iv(s,e);for(let o=0;o<a.windows&&n!==l8;o++){let{nextN:c,offset:u,isZero:l,isNeg:p}=f8(n,o,a);if(n=c,!l){let w=r[u];i=i.add(p?w.negate():w);}}return i},getPrecomputes(s,r,n){let i=av.get(r);return i||(i=this.precomputeWindow(r,s),s!==1&&av.set(r,n(i))),i},wNAFCached(s,r,n){let i=ov(s);return this.wNAF(i,this.getPrecomputes(i,s,n),r)},wNAFCachedUnsafe(s,r,n,i){let a=ov(s);return a===1?this.unsafeLadder(s,r,i):this.wNAFUnsafe(a,this.getPrecomputes(a,s,n),r,i)},setWindowSize(s,r){h8(r,e),d8.set(s,r),av.delete(s);}}}function p8(t,e,s,r){w7(s,t),b7(r,e);let n=s.length,i=r.length;if(n!==i)throw new Error("arrays of points and scalars must have equal length");let a=t.ZERO,o=EI(BigInt(n)),c=1;o>12?c=o-3:o>4?c=o-2:o>0&&(c=2);let u=Va(c),l=new Array(Number(u)+1).fill(a),p=Math.floor((e.BITS-1)/c)*c,w=a;for(let E=p;E>=0;E-=c){l.fill(a);for(let I=0;I<i;I++){let C=r[I],D=Number(C>>BigInt(E)&u);l[D]=l[D].add(s[I]);}let S=a;for(let I=l.length-1,C=a;I>0;I--)C=C.add(l[I]),S=S.add(C);if(w=w.add(S),E!==0)for(let I=0;I<c;I++)w=w.double();}return w}function uv(t){return ev(t.Fp),Ua(t,{n:"bigint",h:"bigint",Gx:"field",Gy:"field"},{nBitLength:"isSafeInteger",nByteLength:"isSafeInteger"}),Object.freeze({...sv(t.n,t.nBitLength),...t,p:t.Fp.ORDER})}function g8(t){t.lowS!==void 0&&Gc("lowS",t.lowS),t.prehash!==void 0&&Gc("prehash",t.prehash);}function S7(t){let e=uv(t);Ua(e,{a:"field",b:"field"},{allowInfinityPoint:"boolean",allowedPrivateKeyLengths:"array",clearCofactor:"function",fromBytes:"function",isTorsionFree:"function",toBytes:"function",wrapPrivateKey:"boolean"});let{endo:s,Fp:r,a:n}=e;if(s){if(!r.eql(n,r.ZERO))throw new Error("invalid endo: CURVE.a must be 0");if(typeof s!="object"||typeof s.beta!="bigint"||typeof s.splitScalar!="function")throw new Error('invalid endo: expected "beta": bigint and "splitScalar": function')}return Object.freeze({...e})}var hv=class extends Error{constructor(e=""){super(e);}},sn={Err:hv,_tlv:{encode:(t,e)=>{let{Err:s}=sn;if(t<0||t>256)throw new s("tlv.encode: wrong tag");if(e.length&1)throw new s("tlv.encode: unpadded data");let r=e.length/2,n=Ff(r);if(n.length/2&128)throw new s("tlv.encode: long form length too big");let i=r>127?Ff(n.length/2|128):"";return Ff(t)+i+n+e},decode(t,e){let{Err:s}=sn,r=0;if(t<0||t>256)throw new s("tlv.encode: wrong tag");if(e.length<2||e[r++]!==t)throw new s("tlv.decode: wrong tlv");let n=e[r++],i=!!(n&128),a=0;if(!i)a=n;else {let c=n&127;if(!c)throw new s("tlv.decode(long): indefinite length not supported");if(c>4)throw new s("tlv.decode(long): byte length is too big");let u=e.subarray(r,r+c);if(u.length!==c)throw new s("tlv.decode: length bytes not complete");if(u[0]===0)throw new s("tlv.decode(long): zero leftmost byte");for(let l of u)a=a<<8|l;if(r+=c,a<128)throw new s("tlv.decode(long): not minimal encoding")}let o=e.subarray(r,r+a);if(o.length!==a)throw new s("tlv.decode: wrong value length");return {v:o,l:e.subarray(r+a)}}},_int:{encode(t){let{Err:e}=sn;if(t<rn)throw new e("integer: negative integers are not allowed");let s=Ff(t);if(Number.parseInt(s[0],16)&8&&(s="00"+s),s.length&1)throw new e("unexpected DER parsing assertion: unpadded hex");return s},decode(t){let{Err:e}=sn;if(t[0]&128)throw new e("invalid signature integer: negative");if(t[0]===0&&!(t[1]&128))throw new e("invalid signature integer: unnecessary leading zero");return Jr(t)}},toSig(t){let{Err:e,_int:s,_tlv:r}=sn,n=ks("signature",t),{v:i,l:a}=r.decode(48,n);if(a.length)throw new e("invalid signature: left bytes after parsing");let{v:o,l:c}=r.decode(2,i),{v:u,l}=r.decode(2,c);if(l.length)throw new e("invalid signature: left bytes after parsing");return {r:s.decode(o),s:s.decode(u)}},hexFromSig(t){let{_tlv:e,_int:s}=sn,r=e.encode(2,s.encode(t.r)),n=e.encode(2,s.encode(t.s)),i=r+n;return e.encode(48,i)}};function lv(t,e){return Wc(La(t,e))}var rn=BigInt(0),Kt=BigInt(1);BigInt(2);var fv=BigInt(3),v7=BigInt(4);function E7(t){let e=S7(t),{Fp:s}=e,r=tn(e.n,e.nBitLength),n=e.toBytes||((B,k,O)=>{let G=k.toAffine();return Gf(Uint8Array.from([4]),s.toBytes(G.x),s.toBytes(G.y))}),i=e.fromBytes||(B=>{let k=B.subarray(1),O=s.fromBytes(k.subarray(0,s.BYTES)),G=s.fromBytes(k.subarray(s.BYTES,2*s.BYTES));return {x:O,y:G}});function a(B){let{a:k,b:O}=e,G=s.sqr(B),re=s.mul(G,B);return s.add(s.add(re,s.mul(B,k)),O)}function o(B,k){let O=s.sqr(k),G=a(B);return s.eql(O,G)}if(!o(e.Gx,e.Gy))throw new Error("bad curve params: generator point");let c=s.mul(s.pow(e.a,fv),v7),u=s.mul(s.sqr(e.b),BigInt(27));if(s.is0(s.add(c,u)))throw new Error("bad curve params: a or b");function l(B){return Xp(B,Kt,e.n)}function p(B){let{allowedPrivateKeyLengths:k,nByteLength:O,wrapPrivateKey:G,n:re}=e;if(k&&typeof B!="bigint"){if(Kc(B)&&(B=Wc(B)),typeof B!="string"||!k.includes(B.length))throw new Error("invalid private key");B=B.padStart(O*2,"0");}let Q;try{Q=typeof B=="bigint"?B:Jr(ks("private key",B,O));}catch{throw new Error("invalid private key, expected hex or "+O+" bytes, got "+typeof B)}return G&&(Q=cs(Q,re)),Da("private key",Q,Kt,re),Q}function w(B){if(!(B instanceof I))throw new Error("ProjectivePoint expected")}let E=xS((B,k)=>{let{px:O,py:G,pz:re}=B;if(s.eql(re,s.ONE))return {x:O,y:G};let Q=B.is0();k==null&&(k=Q?s.ONE:s.inv(re));let oe=s.mul(O,k),pe=s.mul(G,k),se=s.mul(re,k);if(Q)return {x:s.ZERO,y:s.ZERO};if(!s.eql(se,s.ONE))throw new Error("invZ was invalid");return {x:oe,y:pe}}),S=xS(B=>{if(B.is0()){if(e.allowInfinityPoint&&!s.is0(B.py))return;throw new Error("bad point: ZERO")}let{x:k,y:O}=B.toAffine();if(!s.isValid(k)||!s.isValid(O))throw new Error("bad point: x or y not FE");if(!o(k,O))throw new Error("bad point: equation left != right");if(!B.isTorsionFree())throw new Error("bad point: not in prime-order subgroup");return !0});class I{constructor(k,O,G){if(k==null||!s.isValid(k))throw new Error("x required");if(O==null||!s.isValid(O)||s.is0(O))throw new Error("y required");if(G==null||!s.isValid(G))throw new Error("z required");this.px=k,this.py=O,this.pz=G,Object.freeze(this);}static fromAffine(k){let{x:O,y:G}=k||{};if(!k||!s.isValid(O)||!s.isValid(G))throw new Error("invalid affine point");if(k instanceof I)throw new Error("projective point not allowed");let re=Q=>s.eql(Q,s.ZERO);return re(O)&&re(G)?I.ZERO:new I(O,G,s.ONE)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static normalizeZ(k){let O=tv(s,k.map(G=>G.pz));return k.map((G,re)=>G.toAffine(O[re])).map(I.fromAffine)}static fromHex(k){let O=I.fromAffine(i(ks("pointHex",k)));return O.assertValidity(),O}static fromPrivateKey(k){return I.BASE.multiply(p(k))}static msm(k,O){return p8(I,r,k,O)}_setWindowSize(k){V.setWindowSize(this,k);}assertValidity(){S(this);}hasEvenY(){let{y:k}=this.toAffine();if(s.isOdd)return !s.isOdd(k);throw new Error("Field doesn't support isOdd")}equals(k){w(k);let{px:O,py:G,pz:re}=this,{px:Q,py:oe,pz:pe}=k,se=s.eql(s.mul(O,pe),s.mul(Q,re)),ce=s.eql(s.mul(G,pe),s.mul(oe,re));return se&&ce}negate(){return new I(this.px,s.neg(this.py),this.pz)}double(){let{a:k,b:O}=e,G=s.mul(O,fv),{px:re,py:Q,pz:oe}=this,pe=s.ZERO,se=s.ZERO,ce=s.ZERO,ge=s.mul(re,re),Ke=s.mul(Q,Q),J=s.mul(oe,oe),X=s.mul(re,Q);return X=s.add(X,X),ce=s.mul(re,oe),ce=s.add(ce,ce),pe=s.mul(k,ce),se=s.mul(G,J),se=s.add(pe,se),pe=s.sub(Ke,se),se=s.add(Ke,se),se=s.mul(pe,se),pe=s.mul(X,pe),ce=s.mul(G,ce),J=s.mul(k,J),X=s.sub(ge,J),X=s.mul(k,X),X=s.add(X,ce),ce=s.add(ge,ge),ge=s.add(ce,ge),ge=s.add(ge,J),ge=s.mul(ge,X),se=s.add(se,ge),J=s.mul(Q,oe),J=s.add(J,J),ge=s.mul(J,X),pe=s.sub(pe,ge),ce=s.mul(J,Ke),ce=s.add(ce,ce),ce=s.add(ce,ce),new I(pe,se,ce)}add(k){w(k);let{px:O,py:G,pz:re}=this,{px:Q,py:oe,pz:pe}=k,se=s.ZERO,ce=s.ZERO,ge=s.ZERO,Ke=e.a,J=s.mul(e.b,fv),X=s.mul(O,Q),ue=s.mul(G,oe),Ee=s.mul(re,pe),fe=s.add(O,G),$=s.add(Q,oe);fe=s.mul(fe,$),$=s.add(X,ue),fe=s.sub(fe,$),$=s.add(O,re);let te=s.add(Q,pe);return $=s.mul($,te),te=s.add(X,Ee),$=s.sub($,te),te=s.add(G,re),se=s.add(oe,pe),te=s.mul(te,se),se=s.add(ue,Ee),te=s.sub(te,se),ge=s.mul(Ke,$),se=s.mul(J,Ee),ge=s.add(se,ge),se=s.sub(ue,ge),ge=s.add(ue,ge),ce=s.mul(se,ge),ue=s.add(X,X),ue=s.add(ue,X),Ee=s.mul(Ke,Ee),$=s.mul(J,$),ue=s.add(ue,Ee),Ee=s.sub(X,Ee),Ee=s.mul(Ke,Ee),$=s.add($,Ee),X=s.mul(ue,$),ce=s.add(ce,X),X=s.mul(te,$),se=s.mul(fe,se),se=s.sub(se,X),X=s.mul(fe,ue),ge=s.mul(te,ge),ge=s.add(ge,X),new I(se,ce,ge)}subtract(k){return this.add(k.negate())}is0(){return this.equals(I.ZERO)}wNAF(k){return V.wNAFCached(this,k,I.normalizeZ)}multiplyUnsafe(k){let{endo:O,n:G}=e;Da("scalar",k,rn,G);let re=I.ZERO;if(k===rn)return re;if(this.is0()||k===Kt)return this;if(!O||V.hasPrecomputes(this))return V.wNAFCachedUnsafe(this,k,I.normalizeZ);let{k1neg:Q,k1:oe,k2neg:pe,k2:se}=O.splitScalar(k),ce=re,ge=re,Ke=this;for(;oe>rn||se>rn;)oe&Kt&&(ce=ce.add(Ke)),se&Kt&&(ge=ge.add(Ke)),Ke=Ke.double(),oe>>=Kt,se>>=Kt;return Q&&(ce=ce.negate()),pe&&(ge=ge.negate()),ge=new I(s.mul(ge.px,O.beta),ge.py,ge.pz),ce.add(ge)}multiply(k){let{endo:O,n:G}=e;Da("scalar",k,Kt,G);let re,Q;if(O){let{k1neg:oe,k1:pe,k2neg:se,k2:ce}=O.splitScalar(k),{p:ge,f:Ke}=this.wNAF(pe),{p:J,f:X}=this.wNAF(ce);ge=V.constTimeNegate(oe,ge),J=V.constTimeNegate(se,J),J=new I(s.mul(J.px,O.beta),J.py,J.pz),re=ge.add(J),Q=Ke.add(X);}else {let{p:oe,f:pe}=this.wNAF(k);re=oe,Q=pe;}return I.normalizeZ([re,Q])[0]}multiplyAndAddUnsafe(k,O,G){let re=I.BASE,Q=(pe,se)=>se===rn||se===Kt||!pe.equals(re)?pe.multiplyUnsafe(se):pe.multiply(se),oe=Q(this,O).add(Q(k,G));return oe.is0()?void 0:oe}toAffine(k){return E(this,k)}isTorsionFree(){let{h:k,isTorsionFree:O}=e;if(k===Kt)return !0;if(O)return O(I,this);throw new Error("isTorsionFree() has not been declared for the elliptic curve")}clearCofactor(){let{h:k,clearCofactor:O}=e;return k===Kt?this:O?O(I,this):this.multiplyUnsafe(e.h)}toRawBytes(k=!0){return Gc("isCompressed",k),this.assertValidity(),n(I,this,k)}toHex(k=!0){return Gc("isCompressed",k),Wc(this.toRawBytes(k))}}I.BASE=new I(e.Gx,e.Gy,s.ONE),I.ZERO=new I(s.ZERO,s.ONE,s.ZERO);let{endo:C,nBitLength:D}=e,V=m8(I,C?Math.ceil(D/2):D);return {CURVE:e,ProjectivePoint:I,normPrivateKeyToScalar:p,weierstrassEquation:a,isWithinCurveOrder:l}}function x7(t){let e=uv(t);return Ua(e,{hash:"hash",hmac:"function",randomBytes:"function"},{bits2int:"function",bits2int_modN:"function",lowS:"boolean"}),Object.freeze({lowS:!0,...e})}function y8(t){let e=x7(t),{Fp:s,n:r,nByteLength:n,nBitLength:i}=e,a=s.BYTES+1,o=2*s.BYTES+1;function c(J){return cs(J,r)}function u(J){return vg(J,r)}let{ProjectivePoint:l,normPrivateKeyToScalar:p,weierstrassEquation:w,isWithinCurveOrder:E}=E7({...e,toBytes(J,X,ue){let Ee=X.toAffine(),fe=s.toBytes(Ee.x),$=Gf;return Gc("isCompressed",ue),ue?$(Uint8Array.from([X.hasEvenY()?2:3]),fe):$(Uint8Array.from([4]),fe,s.toBytes(Ee.y))},fromBytes(J){let X=J.length,ue=J[0],Ee=J.subarray(1);if(X===a&&(ue===2||ue===3)){let fe=Jr(Ee);if(!Xp(fe,Kt,s.ORDER))throw new Error("Point is not on curve");let $=w(fe),te;try{te=s.sqrt($);}catch(Re){let ze=Re instanceof Error?": "+Re.message:"";throw new Error("Point is not on curve"+ze)}let ie=(te&Kt)===Kt;return (ue&1)===1!==ie&&(te=s.neg(te)),{x:fe,y:te}}else if(X===o&&ue===4){let fe=s.fromBytes(Ee.subarray(0,s.BYTES)),$=s.fromBytes(Ee.subarray(s.BYTES,2*s.BYTES));return {x:fe,y:$}}else {let fe=a,$=o;throw new Error("invalid Point, expected length of "+fe+", or uncompressed "+$+", got "+X)}}});function S(J){let X=r>>Kt;return J>X}function I(J){return S(J)?c(-J):J}let C=(J,X,ue)=>Jr(J.slice(X,ue));class D{constructor(X,ue,Ee){Da("r",X,Kt,r),Da("s",ue,Kt,r),this.r=X,this.s=ue,Ee!=null&&(this.recovery=Ee),Object.freeze(this);}static fromCompact(X){let ue=n;return X=ks("compactSignature",X,ue*2),new D(C(X,0,ue),C(X,ue,2*ue))}static fromDER(X){let{r:ue,s:Ee}=sn.toSig(ks("DER",X));return new D(ue,Ee)}assertValidity(){}addRecoveryBit(X){return new D(this.r,this.s,X)}recoverPublicKey(X){let{r:ue,s:Ee,recovery:fe}=this,$=re(ks("msgHash",X));if(fe==null||![0,1,2,3].includes(fe))throw new Error("recovery id invalid");let te=fe===2||fe===3?ue+e.n:ue;if(te>=s.ORDER)throw new Error("recovery id 2 or 3 invalid");let ie=fe&1?"03":"02",xe=l.fromHex(ie+lv(te,s.BYTES)),Re=u(te),ze=c(-$*Re),Ut=c(Ee*Re),Ge=l.BASE.multiplyAndAddUnsafe(xe,ze,Ut);if(!Ge)throw new Error("point at infinify");return Ge.assertValidity(),Ge}hasHighS(){return S(this.s)}normalizeS(){return this.hasHighS()?new D(this.r,c(-this.s),this.recovery):this}toDERRawBytes(){return Kf(this.toDERHex())}toDERHex(){return sn.hexFromSig(this)}toCompactRawBytes(){return Kf(this.toCompactHex())}toCompactHex(){let X=n;return lv(this.r,X)+lv(this.s,X)}}let V={isValidPrivateKey(J){try{return p(J),!0}catch{return !1}},normPrivateKeyToScalar:p,randomPrivateKey:()=>{let J=rv(e.n);return u8(e.randomBytes(J),e.n)},precompute(J=8,X=l.BASE){return X._setWindowSize(J),X.multiply(BigInt(3)),X}};function B(J,X=!0){return l.fromPrivateKey(J).toRawBytes(X)}function k(J){if(typeof J=="bigint")return !1;if(J instanceof l)return !0;let ue=ks("key",J).length,Ee=s.BYTES,fe=Ee+1,$=2*Ee+1;if(!(e.allowedPrivateKeyLengths||n===fe))return ue===fe||ue===$}function O(J,X,ue=!0){if(k(J)===!0)throw new Error("first arg must be private key");if(k(X)===!1)throw new Error("second arg must be public key");return l.fromHex(X).multiply(p(J)).toRawBytes(ue)}let G=e.bits2int||function(J){if(J.length>8192)throw new Error("input is too large");let X=Jr(J),ue=J.length*8-i;return ue>0?X>>BigInt(ue):X},re=e.bits2int_modN||function(J){return c(G(J))},Q=Va(i);function oe(J){return Da("num < 2^"+i,J,rn,Q),La(J,n)}function pe(J,X,ue=se){if(["recovered","canonical"].some(de=>de in ue))throw new Error("sign() legacy options not supported");let{hash:Ee,randomBytes:fe}=e,{lowS:$,prehash:te,extraEntropy:ie}=ue;$==null&&($=!0),J=ks("msgHash",J),g8(ue),te&&(J=ks("prehashed msgHash",Ee(J)));let xe=re(J),Re=p(X),ze=[oe(Re),oe(xe)];if(ie!=null&&ie!==!1){let de=ie===!0?fe(s.BYTES):ie;ze.push(ks("extraEntropy",de));}let Ut=Gf(...ze),Ge=xe;function je(de){let as=G(de);if(!E(as))return;let ys=u(as),Bt=l.BASE.multiply(as).toAffine(),Fe=c(Bt.x);if(Fe===rn)return;let va=c(ys*c(Ge+Fe*Re));if(va===rn)return;let Kn=(Bt.x===Fe?0:2)|Number(Bt.y&Kt),Dc=va;return $&&S(va)&&(Dc=I(va),Kn^=1),new D(Fe,Dc,Kn)}return {seed:Ut,k2sig:je}}let se={lowS:e.lowS,prehash:!1},ce={lowS:e.lowS,prehash:!1};function ge(J,X,ue=se){let{seed:Ee,k2sig:fe}=pe(J,X,ue),$=e;return xI($.hash.outputLen,$.nByteLength,$.hmac)(Ee,fe)}l.BASE._setWindowSize(8);function Ke(J,X,ue,Ee=ce){let fe=J;X=ks("msgHash",X),ue=ks("publicKey",ue);let{lowS:$,prehash:te,format:ie}=Ee;if(g8(Ee),"strict"in Ee)throw new Error("options.strict was renamed to lowS");if(ie!==void 0&&ie!=="compact"&&ie!=="der")throw new Error("format must be compact or der");let xe=typeof fe=="string"||Kc(fe),Re=!xe&&!ie&&typeof fe=="object"&&fe!==null&&typeof fe.r=="bigint"&&typeof fe.s=="bigint";if(!xe&&!Re)throw new Error("invalid signature, expected Uint8Array, hex string or Signature instance");let ze,Ut;try{if(Re&&(ze=new D(fe.r,fe.s)),xe){try{ie!=="compact"&&(ze=D.fromDER(fe));}catch(Kn){if(!(Kn instanceof sn.Err))throw Kn}!ze&&ie!=="der"&&(ze=D.fromCompact(fe));}Ut=l.fromHex(ue);}catch{return !1}if(!ze||$&&ze.hasHighS())return !1;te&&(X=e.hash(X));let{r:Ge,s:je}=ze,de=re(X),as=u(je),ys=c(de*as),Bt=c(Ge*as),Fe=l.BASE.multiplyAndAddUnsafe(Ut,ys,Bt)?.toAffine();return Fe?c(Fe.x)===Ge:!1}return {CURVE:e,getPublicKey:B,getSharedSecret:O,sign:ge,verify:Ke,ProjectivePoint:l,Signature:D,utils:V}}function A7(t){return {hash:t,hmac:(e,...s)=>QS(t,e,j3(...s)),randomBytes:M3}}function nu(t,e){let s=r=>y8({...t,...A7(r)});return {...s(e),create:s}}var S8=BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"),w8=BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),I7=BigInt(0),C7=BigInt(1),dv=BigInt(2),b8=(t,e)=>(t+e/dv)/e;function N7(t){let e=S8,s=BigInt(3),r=BigInt(6),n=BigInt(11),i=BigInt(22),a=BigInt(23),o=BigInt(44),c=BigInt(88),u=t*t*t%e,l=u*u*t%e,p=_s(l,s,e)*l%e,w=_s(p,s,e)*l%e,E=_s(w,dv,e)*u%e,S=_s(E,n,e)*E%e,I=_s(S,i,e)*S%e,C=_s(I,o,e)*I%e,D=_s(C,c,e)*C%e,V=_s(D,o,e)*I%e,B=_s(V,s,e)*l%e,k=_s(B,a,e)*S%e,O=_s(k,r,e)*u%e,G=_s(O,dv,e);if(!mv.eql(mv.sqr(G),t))throw new Error("Cannot find square root");return G}var mv=tn(S8,void 0,void 0,{sqrt:N7}),Hs=nu({a:I7,b:BigInt(7),Fp:mv,n:w8,Gx:BigInt("55066263022277343669578718895168534326250603453777594175500187360389116729240"),Gy:BigInt("32670510020758816978083085130507043184471273380659243275938904335757337482424"),h:BigInt(1),lowS:!0,endo:{beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"),splitScalar:t=>{let e=w8,s=BigInt("0x3086d221a7d46bcde86c90e49284eb15"),r=-C7*BigInt("0xe4437ed6010e88286f547fa90abfe4c3"),n=BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),i=s,a=BigInt("0x100000000000000000000000000000000"),o=b8(i*t,e),c=b8(-r*t,e),u=cs(t-o*s-c*n,e),l=cs(-o*r-c*i,e),p=u>a,w=l>a;if(p&&(u=e-u),w&&(l=e-l),u>a||l>a)throw new Error("splitScalar: Endomorphism failed, k="+t);return {k1neg:p,k1:u,k2neg:w,k2:l}}}},Fc);function Cg(t,e={}){let{recovered:s}=e;if(typeof t.r>"u")throw new iu({signature:t});if(typeof t.s>"u")throw new iu({signature:t});if(s&&typeof t.yParity>"u")throw new iu({signature:t});if(t.r<0n||t.r>GS)throw new xg({value:t.r});if(t.s<0n||t.s>GS)throw new Ag({value:t.s});if(typeof t.yParity=="number"&&t.yParity!==0&&t.yParity!==1)throw new Wa({value:t.yParity})}function v8(t){return pv(Ue(t))}function pv(t){if(t.length!==130&&t.length!==132)throw new Eg({signature:t});let e=BigInt(At(t,0,32)),s=BigInt(At(t,32,64)),r=(()=>{let n=+`0x${t.slice(130)}`;if(!Number.isNaN(n))try{return Tg(n)}catch{throw new Wa({value:n})}})();return typeof r>"u"?{r:e,s}:{r:e,s,yParity:r}}function Ng(t){if(!(typeof t.r>"u")&&!(typeof t.s>"u"))return lh(t)}function lh(t){let e=typeof t=="string"?pv(t):t instanceof Uint8Array?v8(t):typeof t.r=="string"?A8(t):t.v?x8(t):{r:t.r,s:t.s,...typeof t.yParity<"u"?{yParity:t.yParity}:{}};return Cg(e),e}function T7(t){return E8(Ue(t))}function E8(t){let{r:e,s}=Hs.Signature.fromDER(Ss(t).slice(2));return {r:e,s}}function x8(t){return {r:t.r,s:t.s,yParity:Tg(t.v)}}function A8(t){let e=(()=>{let s=t.v?Number(t.v):void 0,r=t.yParity?Number(t.yParity):void 0;if(typeof s=="number"&&typeof r!="number"&&(r=Tg(s)),typeof r!="number")throw new Wa({value:t.yParity});return r})();return {r:BigInt(t.r),s:BigInt(t.s),yParity:e}}function gv(t){let[e,s,r]=t;return lh({r:s==="0x"?0n:BigInt(s),s:r==="0x"?0n:BigInt(r),yParity:e==="0x"?0:Number(e)})}function k7(t){return dt(I8(t))}function I8(t){Cg(t);let e=t.r,s=t.s;return at(ve(e,{size:32}),ve(s,{size:32}),typeof t.yParity=="number"?ve(bv(t.yParity),{size:1}):"0x")}function B7(t){return new Hs.Signature(t.r,t.s).toDERRawBytes()}function P7(t){return `0x${new Hs.Signature(t.r,t.s).toDERHex()}`}function O7(t){return {r:t.r,s:t.s,v:bv(t.yParity)}}function yv(t){let{r:e,s,yParity:r}=t;return {r:ve(e,{size:32}),s:ve(s,{size:32}),yParity:r===0?"0x0":"0x1"}}function wv(t){let{r:e,s,yParity:r}=t;return [r?"0x01":"0x",e===0n?"0x":Ha(ve(e)),s===0n?"0x":Ha(ve(s))]}function R7(t,e={}){try{return Cg(t,e),!0}catch{return !1}}function Tg(t){if(t===0||t===27)return 0;if(t===1||t===28)return 1;if(t>=35)return t%2===0?1:0;throw new Ig({value:t})}function bv(t){if(t===0)return 27;if(t===1)return 28;throw new Wa({value:t})}var Eg=class extends ne{constructor({signature:e}){super(`Value \`${e}\` is an invalid signature size.`,{metaMessages:["Expected: 64 bytes or 65 bytes.",`Received ${Xe(Ss(e))} bytes.`]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Signature.InvalidSerializedSizeError"});}},iu=class extends ne{constructor({signature:e}){super(`Signature \`${sr(e)}\` is missing either an \`r\`, \`s\`, or \`yParity\` property.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Signature.MissingPropertiesError"});}},xg=class extends ne{constructor({value:e}){super(`Value \`${e}\` is an invalid r value. r must be a positive integer less than 2^256.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Signature.InvalidRError"});}},Ag=class extends ne{constructor({value:e}){super(`Value \`${e}\` is an invalid s value. s must be a positive integer less than 2^256.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Signature.InvalidSError"});}},Wa=class extends ne{constructor({value:e}){super(`Value \`${e}\` is an invalid y-parity value. Y-parity must be 0 or 1.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Signature.InvalidYParityError"});}},Ig=class extends ne{constructor({value:e}){super(`Value \`${e}\` is an invalid v value. v must be 27, 28 or >=35.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"Signature.InvalidVError"});}};d();h();var L7=new TextEncoder,D7=new TextDecoder,kg=Object.fromEntries(Array.from("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/").map((t,e)=>[e,t.charCodeAt(0)])),Bg={...Object.fromEntries(Array.from("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/").map((t,e)=>[t.charCodeAt(0),e])),61:0,45:62,95:63};function V7(t,e={}){let{pad:s=!0,url:r=!1}=e,n=new Uint8Array(Math.ceil(t.length/3)*4);for(let c=0,u=0;u<t.length;c+=4,u+=3){let l=(t[u]<<16)+(t[u+1]<<8)+(t[u+2]|0);n[c]=kg[l>>18],n[c+1]=kg[l>>12&63],n[c+2]=kg[l>>6&63],n[c+3]=kg[l&63];}let i=t.length%3,a=Math.floor(t.length/3)*4+(i&&i+1),o=D7.decode(new Uint8Array(n.buffer,0,a));return s&&i===1&&(o+="=="),s&&i===2&&(o+="="),r&&(o=o.replaceAll("+","-").replaceAll("/","_")),o}function C8(t,e={}){return V7(dt(t),e)}function fh(t){let e=t.replace(/=+$/,""),s=e.length,r=new Uint8Array(s+3);L7.encodeInto(e+"===",r);for(let i=0,a=0;i<e.length;i+=4,a+=3){let o=(Bg[r[i]]<<18)+(Bg[r[i+1]]<<12)+(Bg[r[i+2]]<<6)+Bg[r[i+3]];r[a]=o>>16,r[a+1]=o>>8&255,r[a+2]=o&255;}let n=(s>>2)*3+(s%4&&s%4-1);return new Uint8Array(r.buffer,0,n)}var es={};Ne(es,{createKeyPair:()=>_7,getPublicKey:()=>k8,getSharedSecret:()=>H7,noble:()=>U7,randomPrivateKey:()=>B8,recoverAddress:()=>P8,recoverPublicKey:()=>O8,sign:()=>j7,verify:()=>M7});d();h();d();h();var Pg=!1;var U7=Hs;function _7(t={}){let{as:e="Hex"}=t,s=B8({as:e}),r=k8({privateKey:s});return {privateKey:s,publicKey:r}}function k8(t){let{privateKey:e}=t,s=Hs.ProjectivePoint.fromPrivateKey(Ss(e).slice(2));return Qr(s)}function H7(t){let{as:e="Hex",privateKey:s,publicKey:r}=t,a=Hs.ProjectivePoint.fromHex(ri(r).slice(2)).multiply(Hs.utils.normPrivateKeyToScalar(Ss(s).slice(2))).toRawBytes(!0);return e==="Hex"?Ue(a):a}function B8(t={}){let{as:e="Hex"}=t,s=Hs.utils.randomPrivateKey();return e==="Hex"?Ue(s):s}function P8(t){return MS(O8(t))}function O8(t){let{payload:e,signature:s}=t,{r,s:n,yParity:i}=s,o=new Hs.Signature(BigInt(r),BigInt(n)).addRecoveryBit(i).recoverPublicKey(Ss(e).substring(2));return Qr(o)}function j7(t){let{extraEntropy:e=Pg,hash:s,payload:r,privateKey:n}=t,{r:i,s:a,recovery:o}=Hs.sign(Zr(r),Zr(n),{extraEntropy:typeof e=="boolean"?e:Ss(e).slice(2),lowS:!0,...s?{prehash:!0}:{}});return {r:i,s:a,yParity:o}}function M7(t){let{address:e,hash:s,payload:r,publicKey:n,signature:i}=t;return e?$S(e,P8({payload:r,signature:i})):Hs.verify(i,Zr(r),_I(n),...s?[{prehash:!0,lowS:!0}]:[])}d();h();function R8(t,e={}){return {...t,blockNumber:t.blockNumber?BigInt(t.blockNumber):null,logIndex:t.logIndex?Number(t.logIndex):null,transactionIndex:t.transactionIndex?Number(t.transactionIndex):null}}function L8(t,e={}){return {address:t.address,blockHash:t.blockHash,blockNumber:typeof t.blockNumber=="bigint"?ve(t.blockNumber):null,data:t.data,logIndex:typeof t.logIndex=="number"?ve(t.logIndex):null,topics:t.topics,transactionHash:t.transactionHash,transactionIndex:typeof t.transactionIndex=="number"?ve(t.transactionIndex):null,removed:t.removed}}var au={};Ne(au,{createKeyPair:()=>z7,getPublicKey:()=>H8,getSharedSecret:()=>Y7,noble:()=>J7,randomPrivateKey:()=>j8,recoverPublicKey:()=>Z7,sign:()=>X7,verify:()=>Ev});d();h();d();h();d();h();var V8=tn(BigInt("0xffffffff00000001000000000000000000000000ffffffffffffffffffffffff")),$7=V8.create(BigInt("-3")),q7=BigInt("0x5ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b"),Sv=nu({a:$7,b:q7,Fp:V8,n:BigInt("0xffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551"),Gx:BigInt("0x6b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c296"),Gy:BigInt("0x4fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5"),h:BigInt(1),lowS:!1},Fc);var U8=tn(BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff")),F7=U8.create(BigInt("-3")),K7=BigInt("0xb3312fa7e23ee7e4988e056be3f82d19181d9c6efe8141120314088f5013875ac656398d8a2ed19d2a85c8edd3ec2aef");nu({a:F7,b:K7,Fp:U8,n:BigInt("0xffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973"),Gx:BigInt("0xaa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab7"),Gy:BigInt("0x3617de4a96262c6f5d9e98bf9292dc29f8f41dbd289a147ce9da3113b5f0b8c00a60b1ce1d7e819d7a431d7c90ea0e5f"),h:BigInt(1),lowS:!1},gI);var _8=tn(BigInt("0x1ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff")),G7=_8.create(BigInt("-3")),W7=BigInt("0x0051953eb9618e1c9a1f929a21a0b68540eea2da725b99b315f3b8b489918ef109e156193951ec7e937b1652c0bd3bb1bf073573df883d2c34f1ef451fd46b503f00");nu({a:G7,b:W7,Fp:_8,n:BigInt("0x01fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386409"),Gx:BigInt("0x00c6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3dbaa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd66"),Gy:BigInt("0x011839296a789a3bc0045c8a5fb42c7d1bd998f54449579b446817afbd17273e662c97ee72995ef42640c550b9013fad0761353c7086a272c24088be94769fd16650"),h:BigInt(1),lowS:!1,allowedPrivateKeyLengths:[130,131,132]},pI);var vv=Sv,nn=Sv;var J7=nn;function z7(t={}){let{as:e="Hex"}=t,s=j8({as:e}),r=H8({privateKey:s});return {privateKey:s,publicKey:r}}function H8(t){let{privateKey:e}=t,s=nn.ProjectivePoint.fromPrivateKey(typeof e=="string"?e.slice(2):Ue(e).slice(2));return Qr(s)}function Y7(t){let{as:e="Hex",privateKey:s,publicKey:r}=t,n=nn.ProjectivePoint.fromHex(ri(r).slice(2)),i=typeof s=="string"?s.slice(2):Ue(s).slice(2),o=n.multiply(nn.utils.normPrivateKeyToScalar(i)).toRawBytes(!0);return e==="Hex"?Ue(o):o}function j8(t={}){let{as:e="Hex"}=t,s=nn.utils.randomPrivateKey();return e==="Hex"?Ue(s):s}function Z7(t){let{payload:e,signature:s}=t,{r,s:n,yParity:i}=s,a=new nn.Signature(BigInt(r),BigInt(n)).addRecoveryBit(i),o=e instanceof Uint8Array?Ue(e):e,c=a.recoverPublicKey(o.substring(2));return Qr(c)}function X7(t){let{extraEntropy:e=Pg,hash:s,payload:r,privateKey:n}=t,{r:i,s:a,recovery:o}=nn.sign(r instanceof Uint8Array?r:dt(r),n instanceof Uint8Array?n:dt(n),{extraEntropy:typeof e=="boolean"?e:Ss(e).slice(2),lowS:!0,...s?{prehash:!0}:{}});return {r:i,s:a,yParity:o}}function Ev(t){let{hash:e,payload:s,publicKey:r,signature:n}=t;return nn.verify(n,s instanceof Uint8Array?s:dt(s),ri(r).substring(2),...e?[{prehash:!0,lowS:!0}]:[])}var Og={};Ne(Og,{encode:()=>M8,getSignPayload:()=>Q7});d();h();function M8(t){let e=Ss(t);return at("0x19",Bs(`Ethereum Signed Message:
340
+ `+Xe(e)),e)}function Q7(t){return Lt(M8(t))}d();h();d();h();var $8={wei:0,gwei:9,szabo:12,finney:15,ether:18};function e9(t,e=0){let s=t.toString(),r=s.startsWith("-");r&&(s=s.slice(1)),s=s.padStart(e,"0");let[n,i]=[s.slice(0,s.length-e),s.slice(s.length-e)];return i=i.replace(/(0+)$/,""),`${r?"-":""}${n||"0"}${i?`.${i}`:""}`}function Rg(t,e="wei"){return e9(t,$8.gwei-$8[e])}var Lg=class extends ne{constructor({feeCap:e}={}){super(`The fee cap (\`maxFeePerGas\`/\`maxPriorityFeePerGas\`${e?` = ${Rg(e)} gwei`:""}) cannot be higher than the maximum allowed value (2^256-1).`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"TransactionEnvelope.FeeCapTooHighError"});}};var Dg=class extends ne{constructor({chainId:e}){super(typeof e<"u"?`Chain ID "${e}" is invalid.`:"Chain ID is invalid."),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"TransactionEnvelope.InvalidChainIdError"});}},Vg=class extends ne{constructor({attributes:e,serialized:s,type:r}){let n=Object.entries(e).map(([i,a])=>typeof a>"u"?i:void 0).filter(Boolean);super(`Invalid serialized transaction of type "${r}" was provided.`,{metaMessages:[`Serialized Transaction: "${s}"`,n.length>0?`Missing Attributes: ${n.join(", ")}`:""].filter(Boolean)}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"TransactionEnvelope.InvalidSerializedError"});}},Ug=class extends ne{constructor({maxPriorityFeePerGas:e,maxFeePerGas:s}={}){super([`The provided tip (\`maxPriorityFeePerGas\`${e?` = ${Rg(e)} gwei`:""}) cannot be higher than the fee cap (\`maxFeePerGas\`${s?` = ${Rg(s)} gwei`:""}).`].join(`
341
+ `)),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"TransactionEnvelope.TipAboveFeeCapError"});}};var Ja={};Ne(Ja,{assert:()=>hh,deserialize:()=>G8,from:()=>t9,getSignPayload:()=>s9,hash:()=>W8,serialize:()=>J8,serializedType:()=>K8,toRpc:()=>r9,type:()=>xv,validate:()=>n9});d();h();var K8="0x02",xv="eip1559";function hh(t){let{chainId:e,maxPriorityFeePerGas:s,maxFeePerGas:r,to:n}=t;if(e<=0)throw new Dg({chainId:e});if(n&&Es(n,{strict:!1}),r&&BigInt(r)>2n**256n-1n)throw new Lg({feeCap:r});if(s&&r&&s>r)throw new Ug({maxFeePerGas:r,maxPriorityFeePerGas:s})}function G8(t){let e=ZI(At(t,1)),[s,r,n,i,a,o,c,u,l,p,w,E]=e;if(!(e.length===9||e.length===12))throw new Vg({attributes:{chainId:s,nonce:r,maxPriorityFeePerGas:n,maxFeePerGas:i,gas:a,to:o,value:c,data:u,accessList:l,...e.length>9?{yParity:p,r:w,s:E}:{}},serialized:t,type:xv});let S={chainId:Number(s),type:xv};vs(o)&&o!=="0x"&&(S.to=o),vs(a)&&a!=="0x"&&(S.gas=BigInt(a)),vs(u)&&u!=="0x"&&(S.data=u),vs(r)&&(S.nonce=r==="0x"?0n:BigInt(r)),vs(c)&&c!=="0x"&&(S.value=BigInt(c)),vs(i)&&i!=="0x"&&(S.maxFeePerGas=BigInt(i)),vs(n)&&n!=="0x"&&(S.maxPriorityFeePerGas=BigInt(n)),l.length!==0&&l!=="0x"&&(S.accessList=WI(l));let I=w&&E&&p?gv([p,w,E]):void 0;return I&&(S={...S,...I}),hh(S),S}function t9(t,e={}){let{signature:s}=e,r=typeof t=="string"?G8(t):t;return hh(r),{...r,...s?lh(s):{},type:"eip1559"}}function s9(t){return W8(t,{presign:!0})}function W8(t,e={}){let{presign:s}=e;return Lt(J8({...t,...s?{r:void 0,s:void 0,yParity:void 0,v:void 0}:{}}))}function J8(t,e={}){let{chainId:s,gas:r,nonce:n,to:i,value:a,maxFeePerGas:o,maxPriorityFeePerGas:c,accessList:u,data:l,input:p}=t;hh(t);let w=JI(u),E=Ng(e.signature||t),S=[ve(s),n?ve(n):"0x",c?ve(c):"0x",o?ve(o):"0x",r?ve(r):"0x",i??"0x",a?ve(a):"0x",l??p??"0x",w,...E?wv(E):[]];return at(K8,QI(S))}function r9(t){let e=Ng(t);return {...t,chainId:ve(t.chainId),data:t.data??t.input,type:"0x2",...typeof t.gas=="bigint"?{gas:ve(t.gas)}:{},...typeof t.nonce=="bigint"?{nonce:ve(t.nonce)}:{},...typeof t.value=="bigint"?{value:ve(t.value)}:{},...typeof t.maxFeePerGas=="bigint"?{maxFeePerGas:ve(t.maxFeePerGas)}:{},...typeof t.maxPriorityFeePerGas=="bigint"?{maxPriorityFeePerGas:ve(t.maxPriorityFeePerGas)}:{},...e?yv(e):{}}}function n9(t){try{return hh(t),!0}catch{return !1}}var ou={};Ne(ou,{fromRpc:()=>i9,fromRpcStatus:()=>z8,fromRpcType:()=>Z8,toRpc:()=>a9,toRpcStatus:()=>Y8,toRpcType:()=>X8});d();h();var z8={"0x0":"reverted","0x1":"success"},Y8={reverted:"0x0",success:"0x1"},Z8={"0x0":"legacy","0x1":"eip2930","0x2":"eip1559","0x3":"eip4844","0x4":"eip7702"},X8={legacy:"0x0",eip2930:"0x1",eip1559:"0x2",eip4844:"0x3",eip7702:"0x4"};function i9(t){return t?{...t,blobGasPrice:t.blobGasPrice?BigInt(t.blobGasPrice):void 0,blobGasUsed:t.blobGasUsed?BigInt(t.blobGasUsed):void 0,blockNumber:BigInt(t.blockNumber??0n),cumulativeGasUsed:BigInt(t.cumulativeGasUsed??0n),effectiveGasPrice:BigInt(t.effectiveGasPrice??0n),gasUsed:BigInt(t.gasUsed??0n),logs:t.logs.map(e=>R8(e,{pending:!1})),status:z8[t.status],transactionIndex:Number(t.transactionIndex??0),type:Z8[t.type]||t.type}:null}function a9(t){return {blobGasPrice:t.blobGasPrice?ve(t.blobGasPrice):void 0,blobGasUsed:t.blobGasUsed?ve(t.blobGasUsed):void 0,blockHash:t.blockHash,blockNumber:ve(t.blockNumber),contractAddress:t.contractAddress,cumulativeGasUsed:ve(t.cumulativeGasUsed),effectiveGasPrice:ve(t.effectiveGasPrice),from:t.from,gasUsed:ve(t.gasUsed),logs:t.logs.map(L8),logsBloom:t.logsBloom,root:t.root,status:Y8[t.status],to:t.to,transactionHash:t.transactionHash,transactionIndex:ve(t.transactionIndex),type:X8[t.type]??t.type}}var mh={};Ne(mh,{BytesSizeMismatchError:()=>_g,InvalidDomainError:()=>Hg,InvalidPrimaryTypeError:()=>jg,InvalidStructTypeError:()=>Mg,assert:()=>Av,domainSeparator:()=>o9,encode:()=>Q8,encodeData:()=>Nv,encodeField:()=>Tv,encodeType:()=>eC,extractEip712DomainTypes:()=>$g,findTypeDependencies:()=>kv,getSignPayload:()=>dh,hashDomain:()=>Iv,hashStruct:()=>Cv,hashType:()=>tC,serialize:()=>c9,validate:()=>u9});d();h();function Av(t){let{domain:e,message:s,primaryType:r,types:n}=t,i=(a,o)=>{for(let c of a){let{name:u,type:l}=c,p=o[u],w=l.match(tu);if(w&&(typeof p=="number"||typeof p=="bigint")){let[,I,C]=w;ve(p,{signed:I==="int",size:Number.parseInt(C??"",10)/8});}if(l==="address"&&typeof p=="string"&&!$a(p))throw new Ma({address:p,cause:new Xc});let E=l.match(hg);if(E){let[,I]=E;if(I&&Xe(p)!==Number.parseInt(I,10))throw new _g({expectedSize:Number.parseInt(I,10),givenSize:Xe(p)})}let S=n[l];S&&(l9(l),i(S,p));}};if(n.EIP712Domain&&e){if(typeof e!="object")throw new Hg({domain:e});i(n.EIP712Domain,e);}if(r!=="EIP712Domain")if(n[r])i(n[r],s);else throw new jg({primaryType:r,types:n})}function o9(t){return Iv({domain:t})}function Q8(t){let{domain:e={},message:s,primaryType:r}=t,n={EIP712Domain:$g(e),...t.types};Av({domain:e,message:s,primaryType:r,types:n});let i=["0x19","0x01"];return e&&i.push(Iv({domain:e,types:n})),r!=="EIP712Domain"&&i.push(Cv({data:s,primaryType:r,types:n})),at(...i)}function eC(t){let{primaryType:e,types:s}=t,r="",n=kv({primaryType:e,types:s});n.delete(e);let i=[e,...Array.from(n).sort()];for(let a of i)r+=`${a}(${(s[a]??[]).map(({name:o,type:c})=>`${c} ${o}`).join(",")})`;return r}function $g(t){return [typeof t?.name=="string"&&{name:"name",type:"string"},t?.version&&{name:"version",type:"string"},(typeof t?.chainId=="number"||typeof t?.chainId=="bigint")&&{name:"chainId",type:"uint256"},t?.verifyingContract&&{name:"verifyingContract",type:"address"},t?.salt&&{name:"salt",type:"bytes32"}].filter(Boolean)}function dh(t){return Lt(Q8(t))}function Iv(t){let{domain:e,types:s}=t;return Cv({data:e,primaryType:"EIP712Domain",types:{...s,EIP712Domain:s?.EIP712Domain||$g(e)}})}function Cv(t){let{data:e,primaryType:s,types:r}=t,n=Nv({data:e,primaryType:s,types:r});return Lt(n)}function c9(t){let{domain:e,message:s,primaryType:r,types:n}=t,i=(c,u)=>{let l={...u};for(let p of c){let{name:w,type:E}=p;E==="address"&&(l[w]=l[w].toLowerCase());}return l},a=(()=>{if(!e)return {};let c=n.EIP712Domain??$g(e);return i(c,e)})(),o=(()=>{if(r!=="EIP712Domain")return n[r]?i(n[r],s):{}})();return sr({domain:a,message:o,primaryType:r,types:n},(c,u)=>typeof u=="bigint"?u.toString():u)}function u9(t){try{return Av(t),!0}catch{return !1}}var _g=class extends ne{constructor({expectedSize:e,givenSize:s}){super(`Expected bytes${e}, got bytes${s}.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"TypedData.BytesSizeMismatchError"});}},Hg=class extends ne{constructor({domain:e}){super(`Invalid domain "${sr(e)}".`,{metaMessages:["Must be a valid EIP-712 domain."]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"TypedData.InvalidDomainError"});}},jg=class extends ne{constructor({primaryType:e,types:s}){super(`Invalid primary type \`${e}\` must be one of \`${JSON.stringify(Object.keys(s))}\`.`,{metaMessages:["Check that the primary type is a key in `types`."]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"TypedData.InvalidPrimaryTypeError"});}},Mg=class extends ne{constructor({type:e}){super(`Struct type "${e}" is invalid.`,{metaMessages:["Struct type must not be a Solidity type."]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"TypedData.InvalidStructTypeError"});}};function Nv(t){let{data:e,primaryType:s,types:r}=t,n=[{type:"bytes32"}],i=[tC({primaryType:s,types:r})];for(let a of r[s]??[]){let[o,c]=Tv({types:r,name:a.name,type:a.type,value:e[a.name]});n.push(o),i.push(c);}return en(n,i)}function tC(t){let{primaryType:e,types:s}=t,r=Bs(eC({primaryType:e,types:s}));return Lt(r)}function Tv(t){let{types:e,name:s,type:r,value:n}=t;if(e[r]!==void 0)return [{type:"bytes32"},Lt(Nv({data:n,primaryType:r,types:e}))];if(r==="bytes")return n=`0x${(n.length%2?"0":"")+n.slice(2)}`,[{type:"bytes32"},Lt(n,{as:"Hex"})];if(r==="string")return [{type:"bytes32"},Lt(Xr(n),{as:"Hex"})];if(r.lastIndexOf("]")===r.length-1){let i=r.slice(0,r.lastIndexOf("[")),a=n.map(o=>Tv({name:s,type:i,types:e,value:o}));return [{type:"bytes32"},Lt(en(a.map(([o])=>o),a.map(([,o])=>o)))]}return [{type:r},n]}function kv(t,e=new Set){let{primaryType:s,types:r}=t,i=s.match(/^\w*/u)?.[0];if(e.has(i)||r[i]===void 0)return e;e.add(i);for(let a of r[i])kv({primaryType:a.type,types:r},e);return e}function l9(t){if(t==="address"||t==="bool"||t==="string"||t.startsWith("bytes")||t.startsWith("uint")||t.startsWith("int"))throw new Mg({type:t})}var ii={};Ne(ii,{CredentialCreationFailedError:()=>ni,CredentialRequestFailedError:()=>ph,createChallenge:()=>nC,createCredential:()=>h9,getAuthenticatorData:()=>iC,getClientDataJSON:()=>aC,getCredentialCreationOptions:()=>oC,getCredentialRequestOptions:()=>cC,getSignPayload:()=>d9,sign:()=>m9,verify:()=>p9});d();h();d();h();function sC(t){let e=t[4]===0?5:4,s=e+32,r=t[s+2]===0?s+3:s+2,n=BigInt(Ue(t.slice(e,s))),i=BigInt(Ue(t.slice(r)));return {r:n,s:i>vv.CURVE.n/2n?vv.CURVE.n-i:i}}async function rC(t){try{let e=t.getPublicKey();if(!e)throw new ni;let s=new Uint8Array(e),r=await crypto.subtle.importKey("spki",new Uint8Array(s),{name:"ECDSA",namedCurve:"P-256",hash:"SHA-256"},!0,["verify"]),n=new Uint8Array(await crypto.subtle.exportKey("raw",r));return Qr(n)}catch(e){if(e.message!=="Permission denied to access object")throw e;let s=new Uint8Array(t.attestationObject),r=32,n=88,i=c=>{let u=new Uint8Array([c,n,r]);for(let l=0;l<s.length-u.length;l++)if(u.every((p,w)=>s[l+w]===p))return l+u.length;throw new ni},a=i(33),o=i(34);return Qr(new Uint8Array([4,...s.slice(a,a+r),...s.slice(o,o+r)]))}}var nC=Uint8Array.from([105,171,180,181,160,222,75,198,42,42,32,31,141,37,186,233]);async function h9(t){let{createFn:e=window.navigator.credentials.create.bind(window.navigator.credentials),...s}=t,r=oC(s);try{let n=await e(r);if(!n)throw new ni;let i=n.response,a=await rC(i);return {id:n.id,publicKey:a,raw:n}}catch(n){throw new ni({cause:n})}}function iC(t={}){let{flag:e=5,rpId:s=window.location.hostname,signCount:r=0}=t,n=th(Bs(s)),i=ve(e,{size:1}),a=ve(r,{size:4});return at(n,i,a)}function aC(t){let{challenge:e,crossOrigin:s=!1,extraClientData:r,origin:n=window.location.origin}=t;return JSON.stringify({type:"webauthn.get",challenge:C8(e,{url:!0,pad:!1}),origin:n,crossOrigin:s,...r})}function oC(t){let{attestation:e="none",authenticatorSelection:s={residentKey:"preferred",requireResidentKey:!1,userVerification:"required"},challenge:r=nC,excludeCredentialIds:n,extensions:i,name:a,rp:o={id:window.location.hostname,name:window.document.title},user:c}=t,u=c?.name??a;return {publicKey:{attestation:e,authenticatorSelection:s,challenge:typeof r=="string"?dt(r):r,...n?{excludeCredentials:n?.map(l=>({id:fh(l),type:"public-key"}))}:{},pubKeyCredParams:[{type:"public-key",alg:-7}],...i&&{extensions:i},rp:o,user:{id:c?.id??Lt(Xr(u),{as:"Bytes"}),name:u,displayName:c?.displayName??u}}}}function cC(t){let{credentialId:e,challenge:s,extensions:r,rpId:n=window.location.hostname,userVerification:i="required"}=t;return {publicKey:{...e?{allowCredentials:Array.isArray(e)?e.map(a=>({id:fh(a),type:"public-key"})):[{id:fh(e),type:"public-key"}]}:{},challenge:dt(s),...r&&{extensions:r},rpId:n,userVerification:i}}}function d9(t){let{challenge:e,crossOrigin:s,extraClientData:r,flag:n,origin:i,rpId:a,signCount:o,userVerification:c="required"}=t,u=iC({flag:n,rpId:a,signCount:o}),l=aC({challenge:e,crossOrigin:s,extraClientData:r,origin:i}),p=th(Bs(l)),w=l.indexOf('"challenge"'),E=l.indexOf('"type"'),S={authenticatorData:u,clientDataJSON:l,challengeIndex:w,typeIndex:E,userVerificationRequired:c==="required"},I=at(u,p);return {metadata:S,payload:I}}async function m9(t){let{getFn:e=window.navigator.credentials.get.bind(window.navigator.credentials),...s}=t,r=cC(s);try{let n=await e(r);if(!n)throw new ph;let i=n.response,a=String.fromCharCode(...new Uint8Array(i.clientDataJSON)),o=a.indexOf('"challenge"'),c=a.indexOf('"type"'),u=sC(new Uint8Array(i.signature));return {metadata:{authenticatorData:Ue(new Uint8Array(i.authenticatorData)),clientDataJSON:a,challengeIndex:o,typeIndex:c,userVerificationRequired:r.publicKey.userVerification==="required"},signature:u,raw:n}}catch(n){throw new ph({cause:n})}}function p9(t){let{challenge:e,hash:s=!0,metadata:r,publicKey:n,signature:i}=t,{authenticatorData:a,challengeIndex:o,clientDataJSON:c,typeIndex:u,userVerificationRequired:l}=r,p=dt(a);if(p.length<37)return !1;let w=p[32];if((w&1)!==1||l&&(w&4)!==4||(w&8)!==8&&(w&16)===16)return !1;if(u!==void 0){let V='"type":"webauthn.get"';if(V!==c.slice(Number(u),V.length+1))return !1}let E=o!==void 0?c.slice(Number(o)).match(/^"challenge":"(.*?)"/):c.match(/"challenge":"(.*?)"/);if(!E)return !1;let[S,I]=E;if(Ue(fh(I))!==e)return !1;let C=th(Xr(c),{as:"Bytes"}),D=PS(p,C);return Ev({hash:s,payload:D,publicKey:n,signature:i})}var ni=class extends ne{constructor({cause:e}={}){super("Failed to create credential.",{cause:e}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"WebAuthnP256.CredentialCreationFailedError"});}},ph=class extends ne{constructor({cause:e}={}){super("Failed to request credential.",{cause:e}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"WebAuthnP256.CredentialRequestFailedError"});}};d();h();var du={};Ne(du,{from:()=>oL});d();h();var Ye={};Ne(Ye,{configFromJson:()=>rL,configToJson:()=>sL,evaluateConfigurationSafety:()=>iL,findSignerLeaf:()=>Sh,flatLeavesToTopology:()=>lE,getSigners:()=>tL,getWeight:()=>vh,hasInvalidValues:()=>fu,hashConfiguration:()=>hs,isAnyAddressSubdigestLeaf:()=>ar,isConfig:()=>hu,isLeaf:()=>CC,isNestedLeaf:()=>As,isNode:()=>Dt,isNodeLeaf:()=>Jt,isSapientSignerLeaf:()=>fs,isSignerLeaf:()=>ls,isSubdigestLeaf:()=>ir,isTopology:()=>lu,maximumDepth:()=>Eh,mergeTopology:()=>n1,normalizeSignerSignature:()=>nL,replaceAddress:()=>r1,topologyToFlatLeaves:()=>e1});d();h();var ts={};Ne(ts,{FLAG_ADDRESS:()=>tE,FLAG_BRANCH:()=>rE,FLAG_NESTED:()=>iE,FLAG_NODE:()=>Wg,FLAG_SIGNATURE_ANY_ADDRESS_SUBDIGEST:()=>oE,FLAG_SIGNATURE_ERC1271:()=>sE,FLAG_SIGNATURE_ETH_SIGN:()=>aE,FLAG_SIGNATURE_HASH:()=>eE,FLAG_SIGNATURE_SAPIENT:()=>Jg,FLAG_SIGNATURE_SAPIENT_COMPACT:()=>cE,FLAG_SUBDIGEST:()=>nE,decodeSignature:()=>vC,encodeChainedSignature:()=>EC,encodeSignature:()=>xC,encodeTopology:()=>yh,fillLeaves:()=>Fg,isRawConfig:()=>Xg,isRawLeaf:()=>SC,isRawNestedLeaf:()=>bh,isRawNode:()=>zg,isRawSignature:()=>bC,isRawSignerLeaf:()=>wh,isRawTopology:()=>Yg,isSignatureOfSapientSignerLeaf:()=>z9,isSignedSapientSignerLeaf:()=>uE,isSignedSignerLeaf:()=>Qg,parseBranch:()=>Zg,rawSignatureFromJson:()=>X9,rawSignatureToJson:()=>Y9,recover:()=>Xv});d();h();var yt={};Ne(yt,{DEPLOY:()=>uC,DefaultGuestAddress:()=>w9,EXECUTE:()=>E9,EXECUTE_USER_OP:()=>Ov,GET_IMPLEMENTATION:()=>b9,GET_LIMIT_USAGE:()=>N9,IMAGE_HASH:()=>S9,INCREMENT_USAGE_LIMIT:()=>C9,IS_VALID_SIGNATURE:()=>gh,PlaceholderAddress:()=>y9,READ_ENTRYPOINT:()=>I9,READ_NONCE:()=>v9,READ_NONCE_4337:()=>A9,RECOVER_SAPIENT_SIGNATURE:()=>Bv,RECOVER_SAPIENT_SIGNATURE_COMPACT:()=>Pv,UPDATE_IMAGE_HASH:()=>x9,ZeroAddress:()=>g9});d();h();var g9="0x0000000000000000000000000000000000000000",y9="0xffff0000ffff0000ffff0000ffff0000ffff0000",w9="0x0000000000006Ac72ed1d192fa28f0058D3F8806",gh=He.from(["function isValidSignature(bytes32 _hash, bytes memory _signature) public view returns (bytes4 magicValue)"])[0],uC=He.from(["function deploy(address _mainModule, bytes32 _salt) public payable returns (address _contract)"])[0],b9=He.from(["function getImplementation() external view returns (address)"])[0],S9=He.from(["function imageHash() external view returns (bytes32)"])[0],v9=He.from(["function readNonce(uint256 _space) public view returns (uint256)"])[0],E9=He.from(["function execute(bytes calldata _payload, bytes calldata _signature) external"])[0],x9=He.from(["function updateImageHash(bytes32 _imageHash) external"])[0],Bv=He.from(["function recoverSapientSignature((uint8 kind,bool noChainId,(address to,uint256 value,bytes data,uint256 gasLimit,bool delegateCall,bool onlyFallback,uint256 behaviorOnError)[] calls,uint256 space,uint256 nonce,bytes message,bytes32 imageHash,bytes32 digest,address[] parentWallets) calldata _payload, bytes calldata _signature) external view returns (bytes32)"])[0],Pv=He.from(["function recoverSapientSignatureCompact(bytes32 _digest, bytes calldata _signature) external view returns (bytes32)"])[0],Ov=He.from(["function executeUserOp(bytes calldata _userOp) external"])[0],A9=He.from(["function getNonce(address _account, uint192 _key) public view returns (uint256)"])[0],I9=He.from(["function entrypoint() public view returns (address)"])[0],C9=He.from([{type:"function",name:"incrementUsageLimit",inputs:[{name:"limits",type:"tuple[]",internalType:"struct UsageLimit[]",components:[{name:"usageHash",type:"bytes32",internalType:"bytes32"},{name:"usageAmount",type:"uint256",internalType:"uint256"}]}],outputs:[],stateMutability:"nonpayable"}])[0],N9=He.from(["function getLimitUsage(address wallet, bytes32 usageHash) public view returns (uint256)"])[0];d();h();d();h();var an={};Ne(an,{InvalidWrappedSignatureError:()=>qg,assert:()=>Lv,from:()=>B9,magicBytes:()=>Rv,universalSignatureValidatorAbi:()=>k9,universalSignatureValidatorBytecode:()=>T9,unwrap:()=>lC,validate:()=>O9,wrap:()=>P9});d();h();var Rv="0x6492649264926492649264926492649264926492649264926492649264926492",T9="0x608060405234801561001057600080fd5b5060405161069438038061069483398101604081905261002f9161051e565b600061003c848484610048565b9050806000526001601ff35b60007f64926492649264926492649264926492649264926492649264926492649264926100748361040c565b036101e7576000606080848060200190518101906100929190610577565b60405192955090935091506000906001600160a01b038516906100b69085906105dd565b6000604051808303816000865af19150503d80600081146100f3576040519150601f19603f3d011682016040523d82523d6000602084013e6100f8565b606091505b50509050876001600160a01b03163b60000361016057806101605760405162461bcd60e51b815260206004820152601e60248201527f5369676e617475726556616c696461746f723a206465706c6f796d656e74000060448201526064015b60405180910390fd5b604051630b135d3f60e11b808252906001600160a01b038a1690631626ba7e90610190908b9087906004016105f9565b602060405180830381865afa1580156101ad573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101d19190610633565b6001600160e01b03191614945050505050610405565b6001600160a01b0384163b1561027a57604051630b135d3f60e11b808252906001600160a01b03861690631626ba7e9061022790879087906004016105f9565b602060405180830381865afa158015610244573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102689190610633565b6001600160e01b031916149050610405565b81516041146102df5760405162461bcd60e51b815260206004820152603a602482015260008051602061067483398151915260448201527f3a20696e76616c6964207369676e6174757265206c656e6774680000000000006064820152608401610157565b6102e7610425565b5060208201516040808401518451859392600091859190811061030c5761030c61065d565b016020015160f81c9050601b811480159061032b57508060ff16601c14155b1561038c5760405162461bcd60e51b815260206004820152603b602482015260008051602061067483398151915260448201527f3a20696e76616c6964207369676e617475726520762076616c756500000000006064820152608401610157565b60408051600081526020810180835289905260ff83169181019190915260608101849052608081018390526001600160a01b0389169060019060a0016020604051602081039080840390855afa1580156103ea573d6000803e3d6000fd5b505050602060405103516001600160a01b0316149450505050505b9392505050565b600060208251101561041d57600080fd5b508051015190565b60405180606001604052806003906020820280368337509192915050565b6001600160a01b038116811461045857600080fd5b50565b634e487b7160e01b600052604160045260246000fd5b60005b8381101561048c578181015183820152602001610474565b50506000910152565b600082601f8301126104a657600080fd5b81516001600160401b038111156104bf576104bf61045b565b604051601f8201601f19908116603f011681016001600160401b03811182821017156104ed576104ed61045b565b60405281815283820160200185101561050557600080fd5b610516826020830160208701610471565b949350505050565b60008060006060848603121561053357600080fd5b835161053e81610443565b6020850151604086015191945092506001600160401b0381111561056157600080fd5b61056d86828701610495565b9150509250925092565b60008060006060848603121561058c57600080fd5b835161059781610443565b60208501519093506001600160401b038111156105b357600080fd5b6105bf86828701610495565b604086015190935090506001600160401b0381111561056157600080fd5b600082516105ef818460208701610471565b9190910192915050565b828152604060208201526000825180604084015261061e816060850160208701610471565b601f01601f1916919091016060019392505050565b60006020828403121561064557600080fd5b81516001600160e01b03198116811461040557600080fd5b634e487b7160e01b600052603260045260246000fdfe5369676e617475726556616c696461746f72237265636f7665725369676e6572",k9=[{inputs:[{name:"_signer",type:"address"},{name:"_hash",type:"bytes32"},{name:"_signature",type:"bytes"}],stateMutability:"nonpayable",type:"constructor"},{inputs:[{name:"_signer",type:"address"},{name:"_hash",type:"bytes32"},{name:"_signature",type:"bytes"}],outputs:[{type:"bool"}],stateMutability:"nonpayable",type:"function",name:"isValidSig"}];function Lv(t){if(At(t,-32)!==Rv)throw new qg(t)}function B9(t){return typeof t=="string"?lC(t):t}function lC(t){Lv(t);let[e,s,r]=ru(bg("address, bytes, bytes"),t);return {data:s,signature:r,to:e}}function P9(t){let{data:e,signature:s,to:r}=t;return at(en(bg("address, bytes, bytes"),[r,e,s]),Rv)}function O9(t){try{return Lv(t),!0}catch{return !1}}var qg=class extends ne{constructor(e){super(`Value \`${e}\` is an invalid ERC-6492 wrapped signature.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"SignatureErc6492.InvalidWrappedSignatureError"});}};function Dv(t,{to:e,data:s}){let r=P.concat(mt.encode([{type:"address"},{type:"bytes"},{type:"bytes"}],[e,P.from(s),P.from(t)]),an.magicBytes);switch(typeof t){case"object":return P.toBytes(r);case"string":return r}}function fC(t){switch(typeof t){case"object":if(f.toHex(t.subarray(-an.magicBytes.slice(2).length/2))===an.magicBytes){let[e,s,r]=mt.decode([{type:"address"},{type:"bytes"},{type:"bytes"}],t.subarray(0,-an.magicBytes.slice(2).length/2));return {signature:P.toBytes(r),erc6492:{to:e,data:P.toBytes(s)}}}else return {signature:t};case"string":if(t.endsWith(an.magicBytes.slice(2)))try{let[e,s,r]=mt.decode([{type:"address"},{type:"bytes"},{type:"bytes"}],t.slice(0,-an.magicBytes.slice(2).length));return {signature:r,erc6492:{to:e,data:s}}}catch{return {signature:t}}else return {signature:t}}}var Te={};Ne(Te,{BEHAVIOR_ABORT_ON_ERROR:()=>Fv,BEHAVIOR_IGNORE_ERROR:()=>$v,BEHAVIOR_REVERT_ON_ERROR:()=>qv,KIND_CONFIG_UPDATE:()=>jv,KIND_DIGEST:()=>Mv,KIND_MESSAGE:()=>Hv,KIND_TRANSACTIONS:()=>_v,decode:()=>G9,decodeBehaviorOnError:()=>wC,encode:()=>mC,encode4337Nonce:()=>pC,encodeBehaviorOnError:()=>uu,encodeSapient:()=>q9,fromAbiFormat:()=>J9,fromCall:()=>U9,fromConfigUpdate:()=>Kv,fromDigest:()=>V9,fromMessage:()=>D9,hash:()=>cu,hashCall:()=>K9,isCalls:()=>_9,isCalls4337_07:()=>M9,isConfigUpdate:()=>j9,isDigest:()=>dC,isMessage:()=>H9,isParented:()=>$9,isRecovery:()=>Gv,isSessionImplicitAuthorize:()=>Jv,to4337Message:()=>yC,to4337UserOperation:()=>gC,toAbiFormat:()=>Yv,toRecovery:()=>Wv,toTyped:()=>zv});d();h();var Ya={};Ne(Ya,{createJSONReplacer:()=>Vv,createJSONReviver:()=>Uv,fromJSON:()=>L9,minBytesFor:()=>js,packRSY:()=>on,toJSON:()=>R9,unpackRSY:()=>za});d();h();function js(t){return Math.ceil(t.toString(16).length/2)}function on({r:t,s:e,yParity:s}){let r=f.padLeft(f.fromNumber(t),32),n=f.padLeft(f.fromNumber(e),32);return s%2===1&&(n[0]|=128),f.concat(r,n)}function za(t){let e=f.toBigInt(t.slice(0,32)),s=t.slice(32,64),r=s[0]&128?1:0,n=new Uint8Array(s);n[0]=n[0]&127;let i=f.toBigInt(n);return {r:e,s:i,yParity:r}}function Vv(t){return (e,s)=>typeof s=="bigint"?{__bigint:"0x"+s.toString(16)}:s instanceof Uint8Array?{__uint8array:Array.from(s)}:t?t(e,s):s}function Uv(t){return (e,s)=>{if(s&&typeof s=="object"&&"__bigint"in s&&Object.keys(s).length===1){let r=s.__bigint;if(typeof r=="string"&&r.startsWith("0x"))return BigInt(r)}if(s&&typeof s=="object"&&"__uint8array"in s&&Object.keys(s).length===1){let r=s.__uint8array;if(Array.isArray(r))return new Uint8Array(r)}return t?t(e,s):s}}function R9(t,e,s){let r=e instanceof Function?Vv(e):Vv();return JSON.stringify(t,r,s)}function L9(t,e){let s=e?Uv(e):Uv();return JSON.parse(t,s)}var _v=0,Hv=1,jv=2,Mv=3,$v=0,qv=1,Fv=2;function D9(t){return {type:"message",message:t}}function Kv(t){return {type:"config-update",imageHash:t}}function V9(t){return {type:"digest",digest:t}}function U9(t,e,s){return {type:"call",nonce:t,space:e,calls:s}}function _9(t){return t.type==="call"}function H9(t){return t.type==="message"}function j9(t){return t.type==="config-update"}function dC(t){return t.type==="digest"}function Gv(t){return Jv(t)?!1:t.recovery===!0}function M9(t){return t.type==="call_4337_07"}function $9(t){return "parentWallets"in t}function Wv(t){return Gv(t)?t:{...t,recovery:!0}}function Jv(t){return t.type==="session-implicit-authorize"}function mC(t,e){let s=t.calls.length,r=js(t.nonce);if(r>15)throw new Error("Nonce is too large");let n=0;t.space===0n&&(n|=1),n|=r<<1,s===1&&(n|=16);let i=0;if(s!==1)if(s<256)i=1;else if(s<65536)i=2,n|=32;else throw new Error("Too many calls");let a=f.fromNumber(n,{size:1});if(t.space!==0n){let o=f.padLeft(f.fromNumber(t.space),20);a=f.concat(a,o);}if(r>0){let o=f.padLeft(f.fromNumber(t.nonce),r);a=f.concat(a,o);}s!==1&&(i===1?a=f.concat(a,f.fromNumber(s,{size:1})):a=f.concat(a,f.fromNumber(s,{size:2})));for(let o of t.calls){let c=0;if(e&&j.isEqual(o.to,e)&&(c|=1),o.value!==0n&&(c|=2),o.data&&o.data.length>0&&(c|=4),o.gasLimit!==0n&&(c|=8),o.delegateCall&&(c|=16),o.onlyFallback&&(c|=32),c|=uu(o.behaviorOnError)<<6,a=f.concat(a,f.fromNumber(c,{size:1})),!(c&1)){let u=f.fromHex(o.to);if(u.length!==20)throw new Error(`Invalid 'to' address: ${o.to}`);a=f.concat(a,u);}if(c&2){let u=f.padLeft(f.fromNumber(o.value),32);a=f.concat(a,u);}if(c&4){let u=f.fromHex(o.data).length;if(u>16777215)throw new Error("Data too large");let l=f.fromNumber(u,{size:3});a=f.concat(a,l,f.fromHex(o.data));}if(c&8){let u=f.padLeft(f.fromNumber(o.gasLimit),32);a=f.concat(a,u);}}return a}function q9(t,e){let s={kind:0,noChainId:!t,calls:[],space:0n,nonce:0n,message:"0x",imageHash:"0x0000000000000000000000000000000000000000000000000000000000000000",digest:"0x0000000000000000000000000000000000000000000000000000000000000000",parentWallets:e.parentWallets??[]};switch(e.type){case"call":s.kind=0,s.calls=e.calls.map(r=>({...r,data:r.data,behaviorOnError:BigInt(uu(r.behaviorOnError))})),s.space=e.space,s.nonce=e.nonce;break;case"message":s.kind=1,s.message=e.message;break;case"config-update":s.kind=2,s.imageHash=e.imageHash;break;case"digest":s.kind=3,s.digest=e.digest;break}return s}function cu(t,e,s){if(dC(s))return f.fromHex(s.digest);if(Jv(s))return Wt.hash(s.attestation);let r=zv(t,e,s);return f.fromHex(dh(r))}function F9(t,e,s){return Gv(t)?{name:"Sequence Wallet - Recovery Mode",version:"1",chainId:Number(s),verifyingContract:e}:{name:"Sequence Wallet",version:"3",chainId:Number(s),verifyingContract:e}}function pC(t,e){if(t>6277101735386680763835789423207666416102355444464034512895n)throw new RangeError("key exceeds 192 bits");if(e>18446744073709551615n)throw new RangeError("seq exceeds 64 bits");return t<<64n|e}function zv(t,e,s){let r=F9(s,t,e);switch(s.type){case"call":{let n={Calls:[{name:"calls",type:"Call[]"},{name:"space",type:"uint256"},{name:"nonce",type:"uint256"},{name:"wallets",type:"address[]"}],Call:[{name:"to",type:"address"},{name:"value",type:"uint256"},{name:"data",type:"bytes"},{name:"gasLimit",type:"uint256"},{name:"delegateCall",type:"bool"},{name:"onlyFallback",type:"bool"},{name:"behaviorOnError",type:"uint256"}]},i={calls:s.calls.map(a=>({to:a.to,value:a.value.toString(),data:a.data,gasLimit:a.gasLimit.toString(),delegateCall:a.delegateCall,onlyFallback:a.onlyFallback,behaviorOnError:BigInt(uu(a.behaviorOnError)).toString()})),space:s.space.toString(),nonce:s.nonce.toString(),wallets:s.parentWallets??[]};return {domain:r,types:n,primaryType:"Calls",message:i}}case"message":{let n={Message:[{name:"message",type:"bytes"},{name:"wallets",type:"address[]"}]},i={message:s.message,wallets:s.parentWallets??[]};return {domain:r,types:n,primaryType:"Message",message:i}}case"config-update":{let n={ConfigUpdate:[{name:"imageHash",type:"bytes32"},{name:"wallets",type:"address[]"}]},i={imageHash:s.imageHash,wallets:s.parentWallets??[]};return {domain:r,types:n,primaryType:"ConfigUpdate",message:i}}case"digest":throw new Error("Digest does not support typed data - Use message instead");case"session-implicit-authorize":throw new Error("Payload does not support typed data");case"call_4337_07":{let n={type:"message",message:yC(s,t,e)};return zv(t,e,n)}}}function gC(t,e,s){let r={type:"call",space:0n,nonce:0n,calls:t.calls},n=P.fromBytes(mC(r));return {sender:e,nonce:pC(t.space,t.nonce),callData:me.encodeData(Ov,[n]),callGasLimit:t.callGasLimit,maxFeePerGas:t.maxFeePerGas,maxPriorityFeePerGas:t.maxPriorityFeePerGas,preVerificationGas:t.preVerificationGas,verificationGasLimit:t.verificationGasLimit,factory:t.factory,factoryData:t.factoryData,paymaster:t.paymaster,paymasterData:t.paymasterData,paymasterPostOpGasLimit:t.paymasterPostOpGasLimit,paymasterVerificationGasLimit:t.paymasterVerificationGasLimit,signature:s}}function yC(t,e,s){let r=gC(t,e),n=P.concat(P.padLeft(P.fromNumber(r.verificationGasLimit),16),P.padLeft(P.fromNumber(r.callGasLimit),16)),i=P.concat(P.padLeft(P.fromNumber(r.maxPriorityFeePerGas),16),P.padLeft(P.fromNumber(r.maxFeePerGas),16)),a=he.keccak256(r.factory&&r.factoryData?P.concat(r.factory,r.factoryData):"0x"),o=he.keccak256(r.paymaster?P.concat(r.paymaster,P.padLeft(P.fromNumber(r.paymasterVerificationGasLimit||0),16),P.padLeft(P.fromNumber(r.paymasterPostOpGasLimit||0),16),r.paymasterData||"0x"):"0x"),c=mt.encode([{type:"address"},{type:"uint256"},{type:"bytes32"},{type:"bytes32"},{type:"bytes32"},{type:"uint256"},{type:"bytes32"},{type:"bytes32"}],[r.sender,r.nonce,a,he.keccak256(r.callData),n,r.preVerificationGas,i,o]);return mt.encode([{type:"bytes32"},{type:"address"},{type:"uint256"}],[he.keccak256(c),t.entrypoint,BigInt(s)])}function uu(t){switch(t){case"ignore":return $v;case"revert":return qv;case"abort":return Fv}}function K9(t){let e=he.keccak256(f.fromString("Call(address to,uint256 value,bytes data,uint256 gasLimit,bool delegateCall,bool onlyFallback,uint256 behaviorOnError)"));return he.keccak256(mt.encode([{type:"bytes32"},{type:"address"},{type:"uint256"},{type:"bytes32"},{type:"uint256"},{type:"bool"},{type:"bool"},{type:"uint256"}],[P.from(e),P.from(t.to),t.value,P.from(he.keccak256(t.data)),t.gasLimit,t.delegateCall,t.onlyFallback,BigInt(uu(t.behaviorOnError))]))}function G9(t,e){let s=0;if(t.length<1)throw new Error("Invalid packed data: missing globalFlag");let r=f.toNumber(t.slice(s,s+1));s+=1;let n=(r&1)===1,i=0n;if(!n){if(s+20>t.length)throw new Error("Invalid packed data: not enough bytes for space");i=f.toBigInt(t.slice(s,s+20)),s+=20;}let a=r>>1&7,o=0n;if(a>0){if(s+a>t.length)throw new Error("Invalid packed data: not enough bytes for nonce");o=f.toBigInt(t.slice(s,s+a)),s+=a;}let c=1;if(!((r&16)===16)){let w=(r&32)===32?2:1;if(s+w>t.length)throw new Error("Invalid packed data: not enough bytes for callsCount");c=f.toNumber(t.slice(s,s+w)),s+=w;}let l=[];for(let p=0;p<c;p++){if(s+1>t.length)throw new Error("Invalid packed data: missing call flags");let w=f.toNumber(t.slice(s,s+1));s+=1;let E;if((w&1)===1){if(!e)throw new Error('Missing "self" address for toSelf call');E=e;}else {if(s+20>t.length)throw new Error("Invalid packed data: not enough bytes for address");E=f.toHex(t.slice(s,s+20)),s+=20;}let S=0n;if((w&2)===2){if(s+32>t.length)throw new Error("Invalid packed data: not enough bytes for value");S=f.toBigInt(t.slice(s,s+32)),s+=32;}let I=f.fromHex("0x");if((w&4)===4){if(s+3>t.length)throw new Error("Invalid packed data: not enough bytes for data length");let O=f.toNumber(t.slice(s,s+3));if(s+=3,s+O>t.length)throw new Error("Invalid packed data: not enough bytes for call data");I=t.slice(s,s+O),s+=O;}let C=0n;if((w&8)===8){if(s+32>t.length)throw new Error("Invalid packed data: not enough bytes for gasLimit");C=f.toBigInt(t.slice(s,s+32)),s+=32;}let D=(w&16)===16,V=(w&32)===32,B=(w&192)>>6,k=wC(B);l.push({to:E,value:S,data:f.toHex(I),gasLimit:C,delegateCall:D,onlyFallback:V,behaviorOnError:k});}return {type:"call",space:i,nonce:o,calls:l}}function wC(t){switch(t){case 0:return "ignore";case 1:return "revert";case 2:return "abort";default:throw new Error(`Invalid behaviorOnError value: ${t}`)}}function W9(t){switch(t){case $v:return "ignore";case qv:return "revert";case Fv:return "abort";default:throw new Error(`Unknown behavior: ${t}`)}}function J9(t){if(t.kind===_v)return {type:"call",nonce:t.nonce,space:t.space,calls:t.calls.map(e=>({to:j.from(e.to),value:e.value,data:e.data,gasLimit:e.gasLimit,delegateCall:e.delegateCall,onlyFallback:e.onlyFallback,behaviorOnError:W9(Number(e.behaviorOnError))})),parentWallets:t.parentWallets.map(e=>j.from(e))};if(t.kind===Hv)return {type:"message",message:t.message,parentWallets:t.parentWallets.map(e=>j.from(e))};if(t.kind===jv)return {type:"config-update",imageHash:t.imageHash,parentWallets:t.parentWallets.map(e=>j.from(e))};if(t.kind===Mv)return {type:"digest",digest:t.digest,parentWallets:t.parentWallets.map(e=>j.from(e))};throw new Error("Not implemented")}function Yv(t){if(t.type==="call")return {kind:_v,noChainId:!1,calls:t.calls.map(e=>({to:e.to,value:e.value,data:e.data,gasLimit:e.gasLimit,delegateCall:e.delegateCall,onlyFallback:e.onlyFallback,behaviorOnError:BigInt(uu(e.behaviorOnError))})),space:t.space,nonce:t.nonce,message:"0x",imageHash:"0x0000000000000000000000000000000000000000000000000000000000000000",digest:"0x0000000000000000000000000000000000000000000000000000000000000000",parentWallets:t.parentWallets??[]};if(t.type==="message")return {kind:Hv,noChainId:!1,calls:[],space:0n,nonce:0n,message:t.message,imageHash:"0x0000000000000000000000000000000000000000000000000000000000000000",digest:"0x0000000000000000000000000000000000000000000000000000000000000000",parentWallets:t.parentWallets??[]};if(t.type==="config-update")return {kind:jv,noChainId:!1,calls:[],space:0n,nonce:0n,message:"0x",imageHash:t.imageHash,digest:"0x0000000000000000000000000000000000000000000000000000000000000000",parentWallets:t.parentWallets??[]};if(t.type==="digest")return {kind:Mv,noChainId:!1,calls:[],space:0n,nonce:0n,message:"0x",imageHash:"0x0000000000000000000000000000000000000000000000000000000000000000",digest:t.digest,parentWallets:t.parentWallets??[]};throw new Error("Invalid payload type")}var eE=0,tE=1,sE=2,Wg=3,rE=4,nE=5,iE=6,aE=7,oE=8,Jg=9,cE=10;function z9(t){return "type"in t&&(t.type==="sapient_compact"||t.type==="sapient")&&typeof t=="object"&&"address"in t&&"data"in t}function bC(t){return typeof t=="object"&&t&&typeof t.noChainId=="boolean"&&(t.checkpointerData===void 0||f.validate(t.checkpointerData))&&Xg(t.configuration)&&(t.suffix===void 0||Array.isArray(t.suffix)&&t.suffix.every(e=>bC(e)&&e.checkpointerData===void 0))}function Xg(t){return t&&typeof t=="object"&&typeof t.threshold=="bigint"&&typeof t.checkpoint=="bigint"&&Yg(t.topology)&&(t.checkpointer===void 0||j.validate(t.checkpointer))}function wh(t){return typeof t=="object"&&"weight"in t&&"signature"in t}function Qg(t){return ls(t)&&"signature"in t}function uE(t){return fs(t)&&"signature"in t}function zg(t){return Array.isArray(t)&&t.length===2&&(Yg(t[0])||lu(t[0]))&&(Yg(t[1])||lu(t[1]))}function Yg(t){return zg(t)||SC(t)}function SC(t){return typeof t=="object"&&"weight"in t&&!("tree"in t)}function bh(t){return typeof t=="object"&&"tree"in t&&"weight"in t&&"threshold"in t}function vC(t){let{signature:e,erc6492:s}=fC(t);if(e.length<1)throw new Error("Signature is empty");let r=e[0],n=1,i=(r&2)===2,a,o;if((r&64)===64){if(n+20>e.length)throw new Error("Not enough bytes for checkpointer address");if(a=f.toHex(e.slice(n,n+20)),n+=20,n+3>e.length)throw new Error("Not enough bytes for checkpointer data size");let I=f.toNumber(e.slice(n,n+3));if(n+=3,n+I>e.length)throw new Error("Not enough bytes for checkpointer data");o=e.slice(n,n+I),n+=I;}let c=(r&28)>>2;if(n+c>e.length)throw new Error("Not enough bytes for checkpoint");let u=f.toBigInt(e.slice(n,n+c));n+=c;let l=((r&32)>>5)+1;if(n+l>e.length)throw new Error("Not enough bytes for threshold");let p=f.toBigInt(e.slice(n,n+l));if(n+=l,(r&1)===1){let I=[];for(;n<e.length;){if(n+3>e.length)throw new Error("Not enough bytes for chained subsignature size");let C=f.toNumber(e.subarray(n,n+3));if(n+=3,n+C>e.length)throw new Error("Not enough bytes for chained subsignature");let D=vC(e.subarray(n,n+C));if(n+=C,D.checkpointerData)throw new Error("Chained subsignature has checkpointer data");I.push({...D,checkpointerData:void 0});}if(I.length===0)throw new Error("Chained signature has no subsignatures");return {...I[0],suffix:I.slice(1),erc6492:s}}let{nodes:w,leftover:E}=Zg(e.slice(n));if(E.length!==0)throw new Error("Leftover bytes in signature");let S=Zv(w);return {noChainId:i,checkpointerData:o,configuration:{threshold:p,checkpoint:u,topology:S,checkpointer:a},erc6492:s}}function Zg(t){let e=[],s=0;for(;s<t.length;){let r=t[s];s++;let n=(r&240)>>4;if(n===eE){let i=r&15;if(i===0){if(s>=t.length)throw new Error("Not enough bytes for dynamic weight");i=t[s],s++;}if(s+64>t.length)throw new Error("Not enough bytes for hash signature (r + yParityAndS)");let a=za(t.slice(s,s+64));s+=64,e.push({type:"unrecovered-signer",weight:BigInt(i),signature:{type:"hash",...a}});continue}if(n===tE){let i=r&15;if(i===0){if(s>=t.length)throw new Error("Not enough bytes for address weight");i=t[s],s++;}if(s+20>t.length)throw new Error("Not enough bytes for address leaf");let a=f.toHex(t.slice(s,s+20));s+=20,e.push({type:"signer",address:a,weight:BigInt(i)});continue}if(n===sE){let i=r&3;if(i===0){if(s>=t.length)throw new Error("Not enough bytes for ERC1271 weight");i=t[s],s++;}if(s+20>t.length)throw new Error("Not enough bytes for ERC1271 signer address");let a=f.toHex(t.slice(s,s+20));s+=20;let o=(r&12)>>2;if(s+o>t.length)throw new Error("Not enough bytes for ERC1271 sizeSize");let c=f.toNumber(t.slice(s,s+o));if(s+=o,s+c>t.length)throw new Error("Not enough bytes for ERC1271 data");let u=t.slice(s,s+c);s+=c,e.push({type:"unrecovered-signer",weight:BigInt(i),signature:{type:"erc1271",address:a,data:f.toHex(u)}});continue}if(n===Wg){if(s+32>t.length)throw new Error("Not enough bytes for node leaf");let i=t.slice(s,s+32);s+=32,e.push(f.toHex(i));continue}if(n===rE){let i=r&15;if(s+i>t.length)throw new Error("Not enough bytes for branch sizeSize");let a=f.toNumber(t.slice(s,s+i));if(s+=i,s+a>t.length)throw new Error("Not enough bytes in sub-branch");let o=t.slice(s,s+a);s+=a;let{nodes:c,leftover:u}=Zg(o);if(u.length>0)throw new Error("Leftover bytes in sub-branch");let l=Zv(c);e.push(l);continue}if(n===nE){if(s+32>t.length)throw new Error("Not enough bytes for subdigest");let i=t.slice(s,s+32);s+=32,e.push({type:"subdigest",digest:f.toHex(i)});continue}if(n===iE){let i=(r&12)>>2;if(i===0){if(s>=t.length)throw new Error("Not enough bytes for nested weight");i=t[s],s++;}let a=r&3;if(a===0){if(s+2>t.length)throw new Error("Not enough bytes for nested threshold");a=f.toNumber(t.slice(s,s+2)),s+=2;}if(s+3>t.length)throw new Error("Not enough bytes for nested sub-tree size");let o=f.toNumber(t.slice(s,s+3));if(s+=3,s+o>t.length)throw new Error("Not enough bytes for nested sub-tree");let c=t.slice(s,s+o);s+=o;let{nodes:u,leftover:l}=Zg(c);if(l.length>0)throw new Error("Leftover bytes in nested sub-tree");let p=Zv(u);e.push({type:"nested",tree:p,weight:BigInt(i),threshold:BigInt(a)});continue}if(n===aE){let i=r&15;if(i===0){if(s>=t.length)throw new Error("Not enough bytes for dynamic weight in eth_sign");i=t[s],s++;}if(s+64>t.length)throw new Error("Not enough bytes for eth_sign signature");let a=za(t.slice(s,s+64));s+=64,e.push({type:"unrecovered-signer",weight:BigInt(i),signature:{type:"eth_sign",...a}});continue}if(n===oE){if(s+32>t.length)throw new Error("Not enough bytes for any address subdigest");let i=t.slice(s,s+32);s+=32,e.push({type:"any-address-subdigest",digest:f.toHex(i)});continue}if(n===Jg||n===cE){let i=r&3;if(i===0){if(s>=t.length)throw new Error("Not enough bytes for sapient weight");i=t[s],s++;}if(s+20>t.length)throw new Error("Not enough bytes for sapient signer address");let a=f.toHex(t.slice(s,s+20));s+=20;let o=(r&12)>>2;if(s+o>t.length)throw new Error("Not enough bytes for sapient signature size");let c=f.toNumber(t.slice(s,s+o));if(s+=o,s+c>t.length)throw new Error("Not enough bytes for sapient signature data");let u=t.slice(s,s+c);s+=c,e.push({type:"unrecovered-signer",weight:BigInt(i),signature:{address:a,data:f.toHex(u),type:n===Jg?"sapient":"sapient_compact"}});continue}throw new Error(`Invalid signature flag: 0x${n.toString(16)}`)}return {nodes:e,leftover:t.slice(s)}}function Fg(t,e){if(Dt(t))return [Fg(t[0],e),Fg(t[1],e)];if(ls(t)){let s=e(t);return s?{...t,signature:s}:t}if(fs(t)){let s=e(t);return s?{...t,signature:s}:t}if(ir(t)||ar(t))return t;if(As(t))return {...t,tree:Fg(t.tree,e)};if(Jt(t))return t;throw new Error("Invalid topology")}function EC(t){let e=1,s=t[t.length-1];s?.configuration.checkpointer&&(e|=64);let r=f.fromNumber(e);if(s?.configuration.checkpointer){r=f.concat(r,f.padLeft(f.fromHex(s.configuration.checkpointer),20));let n=s.checkpointerData?.length??0;if(n>16777215)throw new Error("Checkpointer data too large");let i=f.padLeft(f.fromNumber(n),3);r=f.concat(r,i,s.checkpointerData??f.fromArray([]));}for(let n=0;n<t.length;n++){let i=t[n],a=xC(i,!0,n===t.length-1);if(a.length>16777215)throw new Error("Chained signature too large");let o=f.padLeft(f.fromNumber(a.length),3);r=f.concat(r,o,a);}return r}function xC(t,e,s){let{noChainId:r,checkpointerData:n,configuration:i,suffix:a,erc6492:o}=t;if(a?.length){let I=EC([{...t,suffix:void 0,erc6492:void 0},...a]);return o?Dv(I,o):I}let c=0;r&&(c|=2);let u=js(i.checkpoint);if(u>7)throw new Error("Checkpoint too large");c|=u<<2;let l=js(i.threshold);if(l=l===0?1:l,l>2)throw new Error("Threshold too large");c|=l==2?32:0,i.checkpointer&&!s&&(c|=64);let p=f.fromNumber(c);if(i.checkpointer&&!s&&(p=f.concat(p,f.padLeft(f.fromHex(i.checkpointer),20)),!e)){let I=n?.length??0;if(I>16777215)throw new Error("Checkpointer data too large");let C=f.padLeft(f.fromNumber(I),3);p=f.concat(p,C,n??f.fromArray([]));}let w=f.padLeft(f.fromNumber(i.checkpoint),u);p=f.concat(p,w);let E=f.padLeft(f.fromNumber(i.threshold),l);p=f.concat(p,E);let S=yh(i.topology,t);return p=f.concat(p,S),o?Dv(p,o):p}function yh(t,e={}){if(Dt(t)||zg(t)){let s=yh(t[0],e),r=yh(t[1],e);if(Dt(t[1])||zg(t[1])){let i=js(BigInt(r.length));if(i>15)throw new Error("Branch too large");let a=rE<<4|i;return f.concat(s,f.fromNumber(a),f.padLeft(f.fromNumber(r.length),i),r)}else return f.concat(s,r)}if(As(t)||bh(t)){let s=yh(t.tree,e),r=iE<<4,n=f.fromArray([]);if(t.weight<=3n&&t.weight>0n)r|=Number(t.weight)<<2;else if(t.weight<=255n)n=f.fromNumber(Number(t.weight));else throw new Error("Weight too large");let i=f.fromArray([]);if(t.threshold<=3n&&t.threshold>0n)r|=Number(t.threshold);else if(t.threshold<=65535n)i=f.padLeft(f.fromNumber(Number(t.threshold)),2);else throw new Error("Threshold too large");if(s.length>16777215)throw new Error("Nested tree too large");return f.concat(f.fromNumber(r),n,i,f.padLeft(f.fromNumber(s.length),3),s)}if(Jt(t))return f.concat(f.fromNumber(Wg<<4),f.fromHex(t));if(Qg(t)||wh(t))if(t.signature.type==="hash"||t.signature.type==="eth_sign"){let s=(t.signature.type==="hash"?eE:aE)<<4,r=f.fromArray([]);if(t.weight<=15n&&t.weight>0n)s|=Number(t.weight);else if(t.weight<=255n)r=f.fromNumber(Number(t.weight));else throw new Error("Weight too large");let n=on(t.signature);return f.concat(f.fromNumber(s),r,n)}else if(t.signature.type==="erc1271"){let s=sE<<4,r=js(BigInt(t.signature.data.length));if(r>3)throw new Error("Signature too large");s|=r<<2;let n=f.fromArray([]);if(t.weight<=3n&&t.weight>0n)s|=Number(t.weight);else if(t.weight<=255n)n=f.fromNumber(Number(t.weight));else throw new Error("Weight too large");return f.concat(f.fromNumber(s),n,f.padLeft(f.fromHex(t.signature.address),20),f.padLeft(f.fromNumber(f.fromHex(t.signature.data).length),r),f.fromHex(t.signature.data))}else if(t.signature.type==="sapient"||t.signature.type==="sapient_compact"){let s=(t.signature.type==="sapient"?Jg:cE)<<4,r=f.fromHex(t.signature.data),n=js(BigInt(r.length));if(n>3)throw new Error("Signature too large");s|=n<<2;let i=f.fromArray([]);if(t.weight<=3n&&t.weight>0n)s|=Number(t.weight);else if(t.weight<=255n)i=f.fromNumber(Number(t.weight));else throw new Error("Weight too large");return f.concat(f.fromNumber(s),i,f.padLeft(f.fromHex(t.signature.address),20),f.padLeft(f.fromNumber(r.length),n),r)}else throw new Error(`Invalid signature type: ${t.signature.type}`);if(ls(t)){let s=tE<<4,r=f.fromArray([]);if(t.weight<=15n&&t.weight>0n)s|=Number(t.weight);else if(t.weight<=255n)r=f.fromNumber(Number(t.weight));else throw new Error("Weight too large");return f.concat(f.fromNumber(s),r,f.padLeft(f.fromHex(t.address),20))}if(fs(t)){let s=hs(t);return f.concat(f.fromNumber(Wg<<4),s)}if(ir(t))return f.concat(f.fromNumber(nE<<4),f.fromHex(t.digest));if(ar(t))return f.concat(f.fromNumber(oE<<4),f.fromHex(t.digest));throw new Error("Invalid topology")}function Zv(t){if(t.length===0)throw new Error("Empty signature tree");if(t.length===1)return t[0];let e=t[0];for(let s=1;s<t.length;s++)e=[e,t[s]];return e}function Y9(t){return JSON.stringify(AC(t))}function AC(t){return {noChainId:t.noChainId,checkpointerData:t.checkpointerData?f.toHex(t.checkpointerData):void 0,configuration:{threshold:t.configuration.threshold.toString(),checkpoint:t.configuration.checkpoint.toString(),topology:Kg(t.configuration.topology),checkpointer:t.configuration.checkpointer},suffix:t.suffix?t.suffix.map(e=>AC(e)):void 0}}function Kg(t){if(Array.isArray(t))return [Kg(t[0]),Kg(t[1])];if(typeof t=="object"&&t!==null&&"type"in t)switch(t.type){case"signer":return {type:"signer",address:t.address,weight:t.weight.toString()};case"sapient-signer":return {type:"sapient-signer",address:t.address,weight:t.weight.toString(),imageHash:t.imageHash};case"subdigest":return {type:"subdigest",digest:t.digest};case"any-address-subdigest":return {type:"any-address-subdigest",digest:t.digest};case"nested":return {type:"nested",tree:Kg(t.tree),weight:t.weight.toString(),threshold:t.threshold.toString()};case"unrecovered-signer":return {type:"unrecovered-signer",weight:t.weight.toString(),signature:Z9(t.signature)};default:throw new Error("Invalid raw topology type")}if(typeof t=="string")return t;throw new Error("Invalid raw topology format")}function Z9(t){if(t.type==="eth_sign"||t.type==="hash")return {type:t.type,r:P.fromNumber(t.r,{size:32}),s:P.fromNumber(t.s,{size:32}),yParity:t.yParity};if(t.type==="erc1271")return {type:t.type,address:t.address,data:t.data};if(t.type==="sapient"||t.type==="sapient_compact")return {type:t.type,address:t.address,data:t.data};throw new Error("Unknown signature type in raw signature")}function X9(t){let e=JSON.parse(t);return IC(e)}function IC(t){return {noChainId:t.noChainId,checkpointerData:t.checkpointerData?f.fromHex(t.checkpointerData):void 0,configuration:{threshold:BigInt(t.configuration.threshold),checkpoint:BigInt(t.configuration.checkpoint),topology:Gg(t.configuration.topology),checkpointer:t.configuration.checkpointer},suffix:t.suffix?t.suffix.map(e=>IC(e)):void 0}}function Gg(t){if(Array.isArray(t)){if(t.length!==2)throw new Error("Invalid raw topology node");return [Gg(t[0]),Gg(t[1])]}if(typeof t=="object"&&t!==null&&"type"in t)switch(t.type){case"signer":return {type:"signer",address:t.address,weight:BigInt(t.weight)};case"sapient-signer":return {type:"sapient-signer",address:t.address,weight:BigInt(t.weight),imageHash:t.imageHash};case"subdigest":return {type:"subdigest",digest:t.digest};case"any-address-subdigest":return {type:"any-address-subdigest",digest:t.digest};case"nested":return {type:"nested",tree:Gg(t.tree),weight:BigInt(t.weight),threshold:BigInt(t.threshold)};case"unrecovered-signer":return {type:"unrecovered-signer",weight:BigInt(t.weight),signature:Q9(t.signature)};default:throw new Error("Invalid raw topology type")}if(typeof t=="string")return t;throw new Error("Invalid raw topology format")}function Q9(t){switch(t.type){case"eth_sign":case"hash":return {type:t.type,r:P.toBigInt(t.r),s:P.toBigInt(t.s),yParity:t.yParity};case"erc1271":return {type:"erc1271",address:t.address,data:t.data};case"sapient":case"sapient_compact":return {type:t.type,address:t.address,data:t.data};default:throw new Error("Invalid signature type in raw signature")}}async function Xv(t,e,s,r,n){if(t.suffix?.length){let o=!1,{configuration:c,weight:u}=await Xv({...t,suffix:void 0},e,s,r,n);o||=u<c.threshold;for(let l of t.suffix){let p=await Xv(l,e,l.noChainId?0:s,Kv(f.toHex(hs(c))),n);o||=p.weight<p.configuration.threshold,o||=p.configuration.checkpoint>=c.checkpoint,c=p.configuration,u=p.weight;}return {configuration:c,weight:o?0n:u}}let{topology:i,weight:a}=await Qv(t.configuration.topology,e,s,r,n);return {configuration:{...t.configuration,topology:i},weight:a}}async function Qv(t,e,s,r,n){let i=cu(e,s,r);if(wh(t))switch(t.signature.type){case"eth_sign":case"hash":return {topology:{type:"signer",address:es.recoverAddress({payload:t.signature.type==="eth_sign"?he.keccak256(mt.encodePacked(["string","bytes32"],[`Ethereum Signed Message:
342
+ 32`,f.toHex(i)])):i,signature:t.signature}),weight:t.weight,signed:!0,signature:t.signature},weight:t.weight};case"erc1271":switch(n?.provider){case void 0:case"assume-invalid":if(n?.throw!==!1)throw new Error(`unable to validate signer ${t.signature.address} erc-1271 signature`);return {topology:{type:"signer",address:t.signature.address,weight:t.weight},weight:0n};case"assume-valid":return {topology:{type:"signer",address:t.signature.address,weight:t.weight,signed:!0,signature:t.signature},weight:t.weight};default:let a="provider"in n.provider?n.provider.provider:n.provider,o="block"in n.provider?n.provider.block:void 0,c={to:t.signature.address,data:me.encodeData(gh,[f.toHex(i),t.signature.data])},u=await a.request({method:"eth_call",params:o===void 0?[c,"latest"]:[c,P.fromNumber(o)]}),l=me.decodeResult(gh,u);if(P.isEqual(l,me.getSelector(gh)))return {topology:{type:"signer",address:t.signature.address,weight:t.weight,signed:!0,signature:t.signature},weight:t.weight};if(n?.throw!==!1)throw new Error(`invalid signer ${t.signature.address} erc-1271 signature`);return {topology:{type:"signer",address:t.signature.address,weight:t.weight},weight:0n}}case"sapient":case"sapient_compact":switch(n?.provider){case void 0:case"assume-invalid":case"assume-valid":throw new Error(`unable to validate sapient signer ${t.signature.address} signature`);default:let a="provider"in n.provider?n.provider.provider:n.provider,o="block"in n.provider?n.provider.block:void 0,c={to:t.signature.address,data:t.signature.type==="sapient"?me.encodeData(Bv,[eL(s,r),t.signature.data]):me.encodeData(Pv,[f.toHex(i),t.signature.data])},u=await a.request({method:"eth_call",params:o===void 0?[c,"latest"]:[c,P.fromNumber(o)]});return {topology:{type:"sapient-signer",address:t.signature.address,weight:t.weight,imageHash:u,signed:!0,signature:t.signature},weight:t.weight}}}else if(bh(t)){let{topology:a,weight:o}=await Qv(t.tree,e,s,r,n);return {topology:{...t,tree:a},weight:o>=t.threshold?t.weight:0n}}else {if(ls(t))return {topology:t,weight:0n};if(fs(t))return {topology:t,weight:0n};if(ir(t))return {topology:t,weight:f.isEqual(f.fromHex(t.digest),i)?0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffn:0n};if(ar(t)){let a=cu(yt.ZeroAddress,s,r);return {topology:t,weight:f.isEqual(f.fromHex(t.digest),a)?0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffn:0n}}else {if(Jt(t))return {topology:t,weight:0n};{let[a,o]=await Promise.all(t.map(c=>Qv(c,e,s,r,n)));return {topology:[a.topology,o.topology],weight:a.weight+o.weight}}}}}function eL(t,e){switch(e.type){case"call":return {kind:0,noChainId:!t,calls:e.calls.map(s=>({...s,data:s.data,behaviorOnError:s.behaviorOnError==="ignore"?0n:s.behaviorOnError==="revert"?1n:2n})),space:e.space,nonce:e.nonce,message:"0x",imageHash:"0x0000000000000000000000000000000000000000000000000000000000000000",digest:"0x0000000000000000000000000000000000000000000000000000000000000000",parentWallets:e.parentWallets??[]};case"message":return {kind:1,noChainId:!t,calls:[],space:0n,nonce:0n,message:e.message,imageHash:"0x0000000000000000000000000000000000000000000000000000000000000000",digest:"0x0000000000000000000000000000000000000000000000000000000000000000",parentWallets:e.parentWallets??[]};case"config-update":return {kind:2,noChainId:!t,calls:[],space:0n,nonce:0n,message:"0x",imageHash:e.imageHash,digest:"0x0000000000000000000000000000000000000000000000000000000000000000",parentWallets:e.parentWallets??[]};case"digest":return {kind:3,noChainId:!t,calls:[],space:0n,nonce:0n,message:"0x",imageHash:"0x0000000000000000000000000000000000000000000000000000000000000000",digest:e.digest,parentWallets:e.parentWallets??[]};default:throw new Error("Invalid payload type")}}function ls(t){return typeof t=="object"&&t!==null&&t.type==="signer"}function fs(t){return typeof t=="object"&&t!==null&&t.type==="sapient-signer"}function ir(t){return typeof t=="object"&&t!==null&&t.type==="subdigest"}function ar(t){return typeof t=="object"&&t!==null&&t.type==="any-address-subdigest"}function Jt(t){return P.validate(t)&&t.length===66}function As(t){return typeof t=="object"&&t!==null&&t.type==="nested"}function Dt(t){return Array.isArray(t)&&t.length===2&&lu(t[0])&&lu(t[1])}function hu(t){return typeof t=="object"&&"threshold"in t&&"checkpoint"in t&&"topology"in t}function CC(t){return ls(t)||fs(t)||ir(t)||ar(t)||Jt(t)||As(t)}function lu(t){return Dt(t)||CC(t)}function tL(t){let e=new Set,s=new Set,r=!0,n=i=>{Dt(i)?(n(i[0]),n(i[1])):ls(i)?i.weight&&e.add(i.address):fs(i)?s.add({address:i.address,imageHash:i.imageHash}):Jt(i)?r=!1:As(i)&&i.weight&&n(i.tree);};return n(hu(t)?t.topology:t),{signers:Array.from(e),sapientSigners:Array.from(s),isComplete:r}}function Sh(t,e){if(hu(t))return Sh(t.topology,e);if(Dt(t))return Sh(t[0],e)||Sh(t[1],e);if(ls(t)){if(j.isEqual(t.address,e))return t}else if(fs(t)){if(j.isEqual(t.address,e))return t}else if(As(t))return Sh(t.tree,e)}function vh(t,e){if(t=Xg(t)||hu(t)?t.topology:t,Qg(t))return {weight:t.weight,maxWeight:t.weight};if(ls(t))return {weight:0n,maxWeight:e(t)?t.weight:0n};if(wh(t))return {weight:t.weight,maxWeight:t.weight};if(uE(t))return {weight:t.weight,maxWeight:t.weight};if(fs(t))return {weight:0n,maxWeight:e(t)?t.weight:0n};if(ir(t))return {weight:0n,maxWeight:0n};if(ar(t))return {weight:0n,maxWeight:0n};if(bh(t)){let{weight:s,maxWeight:r}=vh(t.tree,e);return {weight:s>=t.threshold?t.weight:0n,maxWeight:r>=t.threshold?t.weight:0n}}else {if(Jt(t))return {weight:0n,maxWeight:0n};{let[s,r]=[vh(t[0],e),vh(t[1],e)];return {weight:s.weight+r.weight,maxWeight:s.maxWeight+r.maxWeight}}}}function hs(t){if(hu(t)){let e=hs(t.topology);return e=he.keccak256(f.concat(e,f.padLeft(f.fromNumber(t.threshold),32))),e=he.keccak256(f.concat(e,f.padLeft(f.fromNumber(t.checkpoint),32))),e=he.keccak256(f.concat(e,f.padLeft(f.fromHex(t.checkpointer??yt.ZeroAddress),32))),e}if(ls(t))return he.keccak256(f.concat(f.fromString(`Sequence signer:
343
+ `),f.fromHex(t.address),f.padLeft(f.fromNumber(t.weight),32)));if(fs(t))return he.keccak256(f.concat(f.fromString(`Sequence sapient config:
344
+ `),f.fromHex(t.address),f.padLeft(f.fromNumber(t.weight),32),f.padLeft(f.fromHex(t.imageHash),32)));if(ir(t))return he.keccak256(f.concat(f.fromString(`Sequence static digest:
345
+ `),f.fromHex(t.digest)));if(ar(t))return he.keccak256(f.concat(f.fromString(`Sequence any address subdigest:
346
+ `),f.fromHex(t.digest)));if(Jt(t))return f.fromHex(t);if(As(t))return he.keccak256(f.concat(f.fromString(`Sequence nested config:
347
+ `),hs(t.tree),f.padLeft(f.fromNumber(t.threshold),32),f.padLeft(f.fromNumber(t.weight),32)));if(Dt(t))return he.keccak256(f.concat(hs(t[0]),hs(t[1])));throw new Error("Invalid topology")}function lE(t){if(t.length===0)throw new Error("Cannot create topology from empty leaves");return t.length===1?t[0]:t.length===2?[t[0],t[1]]:[lE(t.slice(0,t.length/2)),lE(t.slice(t.length/2))]}function e1(t){return Dt(t)?[...e1(t[0]),...e1(t[1])]:As(t)?[...e1(t.tree)]:[t]}function sL(t){return JSON.stringify({threshold:t.threshold.toString(),checkpoint:t.checkpoint.toString(),topology:t1(t.topology),checkpointer:t.checkpointer})}function rL(t){let e=JSON.parse(t);return {threshold:BigInt(e.threshold),checkpoint:BigInt(e.checkpoint),checkpointer:e.checkpointer,topology:s1(e.topology)}}function t1(t){if(Dt(t))return [t1(t[0]),t1(t[1])];if(ls(t))return {type:"signer",address:t.address,weight:t.weight.toString()};if(fs(t))return {type:"sapient-signer",address:t.address,weight:t.weight.toString(),imageHash:t.imageHash};if(ir(t))return {type:"subdigest",digest:t.digest};if(ar(t))return {type:"any-address-subdigest",digest:t.digest};if(Jt(t))return t;if(As(t))return {type:"nested",tree:t1(t.tree),weight:t.weight.toString(),threshold:t.threshold.toString()};throw new Error("Invalid topology")}function s1(t){if(Array.isArray(t)){if(t.length!==2)throw new Error("Invalid node structure in JSON");return [s1(t[0]),s1(t[1])]}if(typeof t=="string")return t;switch(t.type){case"signer":return {type:"signer",address:t.address,weight:BigInt(t.weight)};case"sapient-signer":return {type:"sapient-signer",address:t.address,weight:BigInt(t.weight),imageHash:t.imageHash};case"subdigest":return {type:"subdigest",digest:t.digest};case"any-address-subdigest":return {type:"any-address-subdigest",digest:t.digest};case"nested":return {type:"nested",tree:s1(t.tree),weight:BigInt(t.weight),threshold:BigInt(t.threshold)};default:throw new Error("Invalid type in topology JSON")}}function nL(t){return t instanceof Promise?{signature:t}:typeof t=="object"&&t&&"signature"in t&&t.signature instanceof Promise?t:{signature:Promise.resolve(t)}}function n1(t,e){if(Dt(t)&&Dt(e))return [n1(t[0],e[0]),n1(t[1],e[1])];if(Dt(t)&&!Dt(e)){if(!Jt(e))throw new Error("Topology mismatch: cannot merge node with non-node that is not a node leaf");let s=hs(e);if(!f.isEqual(s,hs(t)))throw new Error("Topology mismatch: node hash does not match");return t}if(!Dt(t)&&Dt(e)){if(!Jt(t))throw new Error("Topology mismatch: cannot merge node with non-node that is not a node leaf");let s=hs(t);if(!f.isEqual(s,hs(e)))throw new Error("Topology mismatch: node hash does not match");return e}return aL(t,e)}function fu(t){return hu(t)?t.threshold>65535n||t.checkpoint>72057594037927935n||fu(t.topology):Dt(t)?fu(t[0])||fu(t[1]):As(t)?fu(t.tree)||t.weight>255n||t.threshold>65535n:ls(t)||fs(t)?t.weight>255n:!1}function Eh(t){return Dt(t)?Math.max(Eh(t[0]),Eh(t[1]))+1:As(t)?Eh(t.tree)+1:0}function iL(t){if(t.threshold===0n)throw new Error("unsafe-threshold-0");if(fu(t))throw new Error("unsafe-invalid-values");if(Eh(t.topology)>32)throw new Error("unsafe-depth");let{maxWeight:e}=vh(t.topology,()=>!0);if(e<t.threshold)throw new Error("unsafe-threshold")}function aL(t,e){if(Jt(t)&&Jt(e)){if(!P.isEqual(t,e))throw new Error("Topology mismatch: different node leaves");return t}if(Jt(t)&&!Jt(e)){let s=hs(e);if(!f.isEqual(s,f.fromHex(t)))throw new Error("Topology mismatch: node leaf hash does not match");return e}if(!Jt(t)&&Jt(e)){let s=hs(t);if(!f.isEqual(s,f.fromHex(e)))throw new Error("Topology mismatch: node leaf hash does not match");return t}if(ls(t)&&ls(e)){if(t.address!==e.address||t.weight!==e.weight)throw new Error("Topology mismatch: signer fields differ");if(!!t.signed!=!!e.signed||!!t.signature!=!!e.signature)throw new Error("Topology mismatch: signer signature fields differ");return t}if(fs(t)&&fs(e)){if(t.address!==e.address||t.weight!==e.weight||t.imageHash!==e.imageHash)throw new Error("Topology mismatch: sapient signer fields differ");if(!!t.signed!=!!e.signed||!!t.signature!=!!e.signature)throw new Error("Topology mismatch: sapient signature fields differ");return t}if(ir(t)&&ir(e)){if(!f.isEqual(f.fromHex(t.digest),f.fromHex(e.digest)))throw new Error("Topology mismatch: subdigest fields differ");return t}if(ar(t)&&ar(e)){if(!f.isEqual(f.fromHex(t.digest),f.fromHex(e.digest)))throw new Error("Topology mismatch: any-address-subdigest fields differ");return t}if(As(t)&&As(e)){if(t.weight!==e.weight||t.threshold!==e.threshold)throw new Error("Topology mismatch: nested leaf fields differ");let s=n1(t.tree,e.tree);return {type:"nested",weight:t.weight,threshold:t.threshold,tree:s}}throw new Error("Topology mismatch: incompatible leaf types")}function r1(t,e,s){return Dt(t)?[r1(t[0],e,s),r1(t[1],e,s)]:As(t)?{...t,tree:r1(t.tree,e,s)}:(ls(t)||fs(t))&&j.isEqual(t.address,e)?{...t,address:s}:t}function oL(t,e){let s=t instanceof Uint8Array?t:hs(t);return f.toHex(he.keccak256(f.concat(f.from("0xff"),f.from(e.factory),s,he.keccak256(f.concat(f.from(e.creationCode),f.padLeft(f.from(e.stage1),32)))),{as:"Bytes"}).subarray(12))}var Wt={};Ne(Wt,{ACCEPT_IMPLICIT_REQUEST_MAGIC_PREFIX:()=>OC,decode:()=>cL,decodeAuthData:()=>kC,encode:()=>NC,encodeAuthData:()=>TC,encodeForJson:()=>BC,fromJson:()=>fL,fromParsed:()=>PC,generateImplicitRequestMagic:()=>hL,hash:()=>uL,toJson:()=>lL});d();h();function NC(t){let e=TC(t.authData),s=[f.fromHex(t.approvedSigner,{size:20}),f.padLeft(t.identityType.slice(0,4),4),f.padLeft(t.issuerHash,32),f.padLeft(t.audienceHash,32),f.fromNumber(t.applicationData.length,{size:3}),t.applicationData,e];return f.concat(...s)}function TC(t){return f.concat(f.fromNumber(t.redirectUrl.length,{size:3}),f.fromString(t.redirectUrl),f.fromNumber(t.issuedAt,{size:8}))}function cL(t){let e=f.toHex(t.slice(0,20)),s=t.slice(20,24),r=t.slice(24,56),n=t.slice(56,88),i=f.toNumber(t.slice(88,91)),a=t.slice(91,91+i),o=kC(t.slice(91+i));return {approvedSigner:e,identityType:s,issuerHash:r,audienceHash:n,applicationData:a,authData:o}}function kC(t){let e=f.toNumber(t.slice(0,3)),s=f.toString(t.slice(3,3+e)),r=f.toBigInt(t.slice(3+e,3+e+8));return {redirectUrl:s,issuedAt:r}}function uL(t){return he.keccak256(NC(t))}function lL(t,e){return JSON.stringify(BC(t),null,e)}function BC(t){return {approvedSigner:t.approvedSigner.toString(),identityType:f.toHex(t.identityType),issuerHash:f.toHex(t.issuerHash),audienceHash:f.toHex(t.audienceHash),applicationData:f.toHex(t.applicationData),authData:{redirectUrl:t.authData.redirectUrl,issuedAt:t.authData.issuedAt.toString()}}}function fL(t){return PC(JSON.parse(t))}function PC(t){return {approvedSigner:j.from(t.approvedSigner),identityType:f.fromHex(t.identityType),issuerHash:f.fromHex(t.issuerHash),audienceHash:f.fromHex(t.audienceHash),applicationData:f.fromHex(t.applicationData),authData:{redirectUrl:t.authData.redirectUrl,issuedAt:BigInt(t.authData.issuedAt)}}}var OC=he.keccak256(f.fromString("acceptImplicitRequest"));function hL(t,e){return he.keccak256(f.concat(OC,f.fromHex(e,{size:20}),t.audienceHash,t.issuerHash))}var cn={};Ne(cn,{MASK:()=>dL,MAX_PERMISSIONS_COUNT:()=>i1,MAX_RULES_COUNT:()=>RC,ParameterOperation:()=>fE,abiEncodePermission:()=>yL,decodeSessionPermissions:()=>a1,encodePermission:()=>LC,encodeSessionPermissions:()=>xh,encodeSessionPermissionsForJson:()=>o1,parameterRuleToJson:()=>SL,permissionFromJson:()=>EL,permissionStructAbi:()=>DC,permissionToJson:()=>bL,sessionPermissionsFromJson:()=>vL,sessionPermissionsFromParsed:()=>c1,sessionPermissionsToJson:()=>wL});d();h();var fE;(function(t){t[t.EQUAL=0]="EQUAL",t[t.NOT_EQUAL=1]="NOT_EQUAL",t[t.GREATER_THAN_OR_EQUAL=2]="GREATER_THAN_OR_EQUAL",t[t.LESS_THAN_OR_EQUAL=3]="LESS_THAN_OR_EQUAL";})(fE||(fE={}));var i1=2**7-1,RC=2**8-1,dL={SELECTOR:f.padRight(f.fromHex("0xffffffff"),32),ADDRESS:f.padLeft(f.fromHex("0xffffffffffffffffffffffffffffffffffffffff"),32),BOOL:f.padLeft(f.fromHex("0x01"),32),BYTES1:f.padLeft(f.from(Array(1).fill(255)),32),BYTES2:f.padLeft(f.from(Array(2).fill(255)),32),BYTES4:f.padLeft(f.from(Array(4).fill(255)),32),BYTES8:f.padLeft(f.from(Array(8).fill(255)),32),BYTES16:f.padLeft(f.from(Array(16).fill(255)),32),BYTES32:f.padLeft(f.from(Array(32).fill(255)),32),INT8:f.padLeft(f.from(Array(1).fill(255)),32),INT16:f.padLeft(f.from(Array(2).fill(255)),32),INT32:f.padLeft(f.from(Array(4).fill(255)),32),INT64:f.padLeft(f.from(Array(8).fill(255)),32),INT128:f.padLeft(f.from(Array(16).fill(255)),32),INT256:f.padLeft(f.from(Array(32).fill(255)),32),UINT8:f.padLeft(f.from(Array(1).fill(255)),32),UINT16:f.padLeft(f.from(Array(2).fill(255)),32),UINT32:f.padLeft(f.from(Array(4).fill(255)),32),UINT64:f.padLeft(f.from(Array(8).fill(255)),32),UINT128:f.padLeft(f.from(Array(16).fill(255)),32),UINT256:f.padLeft(f.from(Array(32).fill(255)),32)};function xh(t){if(t.permissions.length>i1)throw new Error("Too many permissions");let e=t.permissions.map(LC);return f.concat(f.padLeft(f.fromHex(t.signer),20),f.padLeft(f.fromNumber(t.chainId),32),f.padLeft(f.fromNumber(t.valueLimit),32),f.padLeft(f.fromNumber(t.deadline,{size:8}),8),f.fromNumber(t.permissions.length,{size:1}),f.concat(...e))}function LC(t){if(t.rules.length>RC)throw new Error("Too many rules");let e=t.rules.map(mL);return f.concat(f.padLeft(f.fromHex(t.target),20),f.fromNumber(t.rules.length,{size:1}),f.concat(...e))}function mL(t){let e=Number(t.operation)<<1|(t.cumulative?1:0);return f.concat(f.fromNumber(e),f.padLeft(t.value,32),f.padLeft(f.fromNumber(t.offset),32),f.padLeft(t.mask,32))}function a1(t){let e=f.toHex(t.slice(0,20)),s=f.toNumber(t.slice(20,52)),r=f.toBigInt(t.slice(52,84)),n=f.toBigInt(t.slice(84,92)),i=Number(t[92]),a=[],o=93;for(let c=0;c<i;c++){let{permission:u,consumed:l}=pL(t.slice(o));a.push(u),o+=l;}if(a.length===0)throw new Error("No permissions");return {signer:e,chainId:s,valueLimit:r,deadline:n,permissions:a}}function pL(t){let e=f.toHex(t.slice(0,20)),s=Number(t[20]),r=[],n=21;for(let i=0;i<s;i++){let a=t.slice(n,n+97);r.push(gL(a)),n+=97;}return {permission:{target:e,rules:r},consumed:n}}function gL(t){let e=Number(t[0]),s=(e&1)===1,r=e>>1,n=t.slice(1,33),i=f.toBigInt(t.slice(33,65)),a=t.slice(65,97);return {cumulative:s,operation:r,value:n,offset:i,mask:a}}var DC={internalType:"struct Permission",name:"permission",type:"tuple",components:[{internalType:"address",name:"target",type:"address"},{internalType:"struct ParameterRule[]",name:"rules",type:"tuple[]",components:[{internalType:"bool",name:"cumulative",type:"bool"},{internalType:"enum ParameterOperation",name:"operation",type:"uint8"},{internalType:"bytes32",name:"value",type:"bytes32"},{internalType:"uint256",name:"offset",type:"uint256"},{internalType:"bytes32",name:"mask",type:"bytes32"}]}]};function yL(t){return mt.encode([DC],[{target:t.target,rules:t.rules.map(e=>({cumulative:e.cumulative,operation:e.operation,value:f.toHex(e.value),offset:e.offset,mask:f.toHex(e.mask)}))}])}function wL(t){return JSON.stringify(o1(t))}function o1(t){return {signer:t.signer.toString(),chainId:t.chainId.toString(),valueLimit:t.valueLimit.toString(),deadline:t.deadline.toString(),permissions:t.permissions.map(VC)}}function bL(t){return JSON.stringify(VC(t))}function VC(t){return {target:t.target.toString(),rules:t.rules.map(UC)}}function SL(t){return JSON.stringify(UC(t))}function UC(t){return {cumulative:t.cumulative,operation:t.operation,value:f.toHex(t.value),offset:t.offset.toString(),mask:f.toHex(t.mask)}}function vL(t){return c1(JSON.parse(t))}function c1(t){return {signer:j.from(t.signer),chainId:Number(t.chainId),valueLimit:BigInt(t.valueLimit),deadline:BigInt(t.deadline),permissions:t.permissions.map(_C)}}function EL(t){return _C(JSON.parse(t))}function _C(t){return {target:j.from(t.target),rules:t.rules.map(e=>({cumulative:e.cumulative,operation:e.operation,value:f.fromHex(e.value),offset:BigInt(e.offset),mask:f.fromHex(e.mask)}))}}d();h();var Js={};Ne(Js,{SESSIONS_FLAG_BLACKLIST:()=>mu,SESSIONS_FLAG_BRANCH:()=>dE,SESSIONS_FLAG_IDENTITY_SIGNER:()=>Ch,SESSIONS_FLAG_NODE:()=>hE,SESSIONS_FLAG_PERMISSIONS:()=>Ih,addExplicitSession:()=>kL,addIdentitySigner:()=>PL,addToImplicitBlacklist:()=>OL,balanceSessionsTopology:()=>kh,cleanSessionsTopology:()=>YC,configurationTreeToSessionsTopology:()=>KC,decodeLeafFromBytes:()=>qC,decodeSessionsTopology:()=>gE,emptySessionsTopology:()=>ZC,encodeLeafToGeneric:()=>Ah,encodeSessionsTopology:()=>h1,getExplicitSigners:()=>IL,getIdentitySigners:()=>Nh,getImplicitBlacklist:()=>AL,getImplicitBlacklistLeaf:()=>Th,getSessionPermissions:()=>f1,isCompleteSessionsTopology:()=>pE,isSessionsTopology:()=>mE,mergeSessionsTopologies:()=>wE,minimiseSessionsTopology:()=>d1,removeExplicitSession:()=>TL,removeFromImplicitBlacklist:()=>RL,removeIdentitySigner:()=>BL,sessionsTopologyFromJson:()=>NL,sessionsTopologyToConfigurationTree:()=>FC,sessionsTopologyToJson:()=>CL});d();h();var $s={};Ne($s,{hash:()=>or,isBranch:()=>Ms,isLeaf:()=>ai,isNode:()=>Vt,isTree:()=>HC});d();h();function Ms(t){return Array.isArray(t)&&t.length>=2&&t.every(e=>HC(e))}function ai(t){return t.type==="leaf"&&f.validate(t.value)}function HC(t){return Ms(t)||ai(t)||Vt(t)}function Vt(t){return P.validate(t)&&P.size(t)===32}function or(t){if(Ms(t)){let e=t.map(or);if(e.length===0)throw new Error("Empty branch");let s=P.toBytes(e[0]);for(let r=1;r<e.length;r++)s=he.keccak256(f.concat(s,P.toBytes(e[r])));return P.fromBytes(s)}return Vt(t)?t:he.keccak256(t.value,{as:"Hex"})}var Ih=0,hE=1,dE=2,mu=3,Ch=4,jC=32;function Br(t){return P.validate(t)&&P.size(t)===jC}function cr(t){return typeof t=="object"&&t!==null&&"blacklist"in t}function ur(t){return typeof t=="object"&&t!==null&&"identitySigner"in t}function lr(t){return typeof t=="object"&&t!==null&&"signer"in t}function u1(t){return cr(t)||ur(t)||lr(t)}function fr(t){return Array.isArray(t)&&t.length>=2&&t.every(e=>mE(e))}function mE(t){return fr(t)||u1(t)||Br(t)}function pE(t){if(!mE(t))return !1;let{identitySignerCount:e,blacklistCount:s}=MC(t);return e>=1&&s===1}function MC(t){let e=0,s=0;if(fr(t))for(let r of t){let{identitySignerCount:n,blacklistCount:i}=MC(r);e+=n,s+=i;}return ur(t)&&e++,cr(t)&&s++,{identitySignerCount:e,blacklistCount:s}}function Nh(t){return ur(t)?[t.identitySigner]:fr(t)?t.map(Nh).flat():[]}function AL(t){let e=Th(t);return e?e.blacklist:null}function Th(t){if(cr(t))return t;if(fr(t)){let e=t.map(Th).filter(s=>s!==null);if(e.length>1)throw new Error("Multiple blacklists");if(e.length===1)return e[0]}return null}function f1(t,e){if(lr(t)&&j.isEqual(t.signer,e))return t;if(fr(t))for(let s of t){let r=f1(s,e);if(r)return r}return null}function IL(t){return $C(t,[])}function $C(t,e){if(lr(t))return [...e,t.signer];if(fr(t)){let s=[...e];for(let r of t)s.push(...$C(r,e));return s}return e}function Ah(t){if(lr(t))return {type:"leaf",value:f.concat(f.fromNumber(Ih),xh(t))};if(cr(t))return {type:"leaf",value:f.concat(f.fromNumber(mu),f.concat(...t.blacklist.map(e=>f.padLeft(f.fromHex(e),20))))};if(ur(t))return {type:"leaf",value:f.concat(f.fromNumber(Ch),f.padLeft(f.fromHex(t.identitySigner),20))};throw new Error("Invalid leaf")}function qC(t){let e=t[0];if(e===mu){let s=[];for(let r=1;r<t.length;r+=20)s.push(f.toHex(t.slice(r,r+20)));return {type:"implicit-blacklist",blacklist:s}}if(e===Ch)return {type:"identity-signer",identitySigner:f.toHex(t.slice(1,21))};if(e===Ih)return {type:"session-permissions",...a1(t.slice(1))};throw new Error("Invalid leaf")}function FC(t){if(fr(t))return t.map(FC);if(cr(t)||ur(t)||lr(t))return Ah(t);if(Br(t))return t;throw new Error("Invalid topology")}function KC(t){if(Ms(t))return t.map(KC);if(Vt(t))throw new Error("Unknown in configuration tree");return qC(t.value)}function h1(t){if(fr(t)){let e=[];for(let i of t)e.push(h1(i));let s=f.concat(...e),r=js(BigInt(s.length));if(r>15)throw new Error("Branch too large");let n=dE<<4|r;return f.concat(f.fromNumber(n),f.padLeft(f.fromNumber(s.length),r),s)}if(lr(t)){let e=Ih<<4,s=xh(t);return f.concat(f.fromNumber(e),s)}if(Br(t)){let e=hE<<4;return f.concat(f.fromNumber(e),P.toBytes(t))}if(cr(t)){let e=f.concat(...t.blacklist.map(r=>f.fromHex(r)));if(t.blacklist.length>=15){if(t.blacklist.length>65535)throw new Error("Blacklist too large");return f.concat(f.fromNumber(mu<<4|15),f.fromNumber(t.blacklist.length,{size:2}),e)}let s=mu<<4|t.blacklist.length;return f.concat(f.fromNumber(s),e)}if(ur(t)){let e=Ch<<4;return f.concat(f.fromNumber(e),f.padLeft(f.fromHex(t.identitySigner),20))}throw new Error("Invalid topology")}function gE(t){let{topology:e}=GC(t);return e}function GC(t){if(t.length===0)throw new Error("Empty topology bytes");let e=t[0],s=(e&240)>>4,r=e&15;if(s===dE){if(r===0||r>15)throw new Error("Invalid branch size");let n=1,i=f.toNumber(t.slice(n,n+r));n+=r;let a=t.slice(n,n+i),o=[],c=0;for(;c<a.length;){let{topology:u,pointer:l}=GC(a.slice(c));o.push(u),c+=l;}return {topology:o,pointer:n+i}}else if(s===Ih){let n=a1(t.slice(1)),i=1+xh(n).length;return {topology:{type:"session-permissions",...n},pointer:i}}else if(s===hE){let n=jC+1;if(t.length<n)throw new Error("Invalid node length");return {topology:P.fromBytes(t.slice(1,n)),pointer:n}}else if(s===mu){let n=1,i=r;r===15&&(i=f.toNumber(t.slice(n,n+2)),n+=2);let a=[];for(let o=0;o<i;o++){let c=t.slice(n+o*20,n+(o+1)*20);a.push(j.from(P.fromBytes(c)));}return {topology:{type:"implicit-blacklist",blacklist:a},pointer:n+i*20}}else if(s===Ch){if(t.length<21)throw new Error("Invalid identity signer length");return {topology:{type:"identity-signer",identitySigner:j.from(P.fromBytes(t.slice(1,21)))},pointer:21}}else throw new Error(`Invalid topology flag: ${s}`)}function CL(t){return JSON.stringify(WC(t))}function WC(t){if(Br(t))return t;if(lr(t))return o1(t);if(cr(t)||ur(t))return t;if(fr(t))return t.map(e=>WC(e));throw new Error("Invalid topology")}function NL(t){let e=JSON.parse(t);return JC(e)}function JC(t){if(Array.isArray(t))return t.map(s=>JC(s));if(typeof t=="string"&&P.validate(t)&&P.size(t)===32)return t;if(typeof t=="object"&&t!==null&&"signer"in t&&"valueLimit"in t&&"deadline"in t&&"permissions"in t)return {type:"session-permissions",...c1(t)};if(typeof t=="object"&&t!==null&&"identitySigner"in t)return {type:"identity-signer",identitySigner:t.identitySigner};if(typeof t=="object"&&t!==null&&"blacklist"in t)return {type:"implicit-blacklist",blacklist:t.blacklist.map(s=>j.from(s))};throw new Error("Invalid topology")}function yE(t,e){if(u1(t)&&u1(e)){if(t.type===e.type){if(lr(t)&&lr(e)){if(j.isEqual(t.signer,e.signer))return null}else if(cr(t)&&cr(e)){let s=t.blacklist.filter(r=>!e.blacklist.includes(r));return s.length===0?null:{type:"implicit-blacklist",blacklist:s}}else if(ur(t)&&ur(e)&&j.isEqual(t.identitySigner,e.identitySigner))return null}}else if(Br(t)&&Br(e)&&P.isEqual(t,e))return null;if(fr(t)){let s=[];for(let r of t){let n=yE(r,e);n!=null&&s.push(n);}return s.length===0?null:s.length===1?s[0]:s}return t}function TL(t,e){let s=f1(t,e);if(!s)return t;let r=yE(t,s);return r?kh(r):null}function kL(t,e){if(f1(t,e.signer))throw new Error("Session already exists");let s=wE(t,{type:"session-permissions",...e});return kh(s)}function BL(t,e){let r=yE(t,{type:"identity-signer",identitySigner:e});return r?kh(r):null}function PL(t,e){if(Nh(t).some(r=>j.isEqual(r,e)))throw new Error("Identity signer already exists");let s=wE(t,{type:"identity-signer",identitySigner:e});return kh(s)}function wE(t,e){return [t,e]}function zC(t){if(u1(t)||Br(t))return [t];let e=[];for(let s of t)e.push(...zC(s));return e}function l1(t){if(t.length===1)return t[0];if(t.length===0)throw new Error("Cannot build a topology from an empty list");let e=Math.floor(t.length/2),s=t.slice(0,e),r=t.slice(e),n=l1(s),i=l1(r);return [n,i]}function kh(t){return l1(zC(t))}function YC(t,e=BigInt(Math.floor(Date.now()/1e3))){if(Br(t))return t;if(lr(t))return t.deadline<e?null:t;if(ur(t)||cr(t))return t;let s=[];for(let r of t){let n=YC(r,e);n!==null&&s.push(n);}return s.length===0?null:s.length===1?s[0]:s}function d1(t,e=[],s=[],r){if(fr(t)){let n=t.map(i=>d1(i,e,s,r));return n.every(i=>Br(i))?he.keccak256(f.concat(...n.map(i=>P.toBytes(i))),{as:"Hex"}):n}if(lr(t))return e.includes(t.signer)?t:or(Ah(t));if(cr(t))return s.length===0?or(Ah(t)):t;if(ur(t))return r&&!j.isEqual(t.identitySigner,r)?or(Ah(t)):t;if(Br(t))return t;throw new Error("Invalid topology")}function OL(t,e){let s=Th(t);if(!s)throw new Error("No blacklist found");let{blacklist:r}=s;return r.some(n=>j.isEqual(n,e))||(r.push(e),r.sort((n,i)=>BigInt(n)<BigInt(i)?-1:1)),t}function RL(t,e){let s=Th(t);if(!s)throw new Error("No blacklist found");let{blacklist:r}=s,n=r.filter(i=>i!==e);return s.blacklist=n,t}function ZC(t){if(!Array.isArray(t))return ZC([t]);let e=[{type:"implicit-blacklist",blacklist:[]},...t.map(s=>({type:"identity-signer",identitySigner:s}))];return l1(e)}var oi={};Ne(oi,{decodeSessionSignature:()=>UL,encodeSessionCallSignatureForJson:()=>XC,encodeSessionSignature:()=>VL,hashPayloadWithCallIdx:()=>_L,isExplicitSessionCallSignature:()=>vE,isImplicitSessionCallSignature:()=>m1,sessionCallSignatureFromJson:()=>DL,sessionCallSignatureFromParsed:()=>QC,sessionCallSignatureToJson:()=>LL});d();h();function m1(t){return "attestation"in t&&"identitySignature"in t&&"sessionSignature"in t}function vE(t){return "permissionIndex"in t&&"sessionSignature"in t}function LL(t){return JSON.stringify(XC(t))}function XC(t){if(m1(t))return {attestation:Wt.encodeForJson(t.attestation),identitySignature:bE(t.identitySignature),sessionSignature:bE(t.sessionSignature)};if(vE(t))return {permissionIndex:t.permissionIndex,sessionSignature:bE(t.sessionSignature)};throw new Error("Invalid call signature")}function DL(t){let e=JSON.parse(t);return QC(e)}function QC(t){if(t.attestation)return {attestation:Wt.fromParsed(t.attestation),identitySignature:SE(t.identitySignature),sessionSignature:SE(t.sessionSignature)};if(t.permissionIndex)return {permissionIndex:t.permissionIndex,sessionSignature:SE(t.sessionSignature)};throw new Error("Invalid call signature")}function bE(t){return `${t.r.toString()}:${t.s.toString()}:${t.yParity+27}`}function SE(t){let e=t.split(":");if(e.length!==3)throw new Error("Signature must be in r:s:v format");let[s,r,n]=e;if(!s||!r||!n)throw new Error("Invalid signature format");return {r:f.toBigInt(f.fromHex(s,{size:32})),s:f.toBigInt(f.fromHex(r,{size:32})),yParity:parseInt(n,10)-27}}function VL(t,e,s,r=[],n=[]){let i=[];if(!pE(e))throw new Error("Incomplete topology");if(!Nh(e).some(l=>j.isEqual(l,s)))throw new Error("Identity signer not found");e=d1(e,r,n,s);let o=h1(e);if(js(BigInt(o.length))>3)throw new Error("Session topology is too large");i.push(f.fromNumber(o.length,{size:3}),o);let c=new Map,u=[];if(t.filter(m1).forEach(l=>{if(l.attestation){let p=Wt.toJson(l.attestation);c.has(p)||(c.set(p,u.length),u.push(f.concat(Wt.encode(l.attestation),on(l.identitySignature))));}}),u.length>=128)throw new Error("Too many attestations");i.push(f.fromNumber(u.length,{size:1}),f.concat(...u));for(let l of t)if(m1(l)){let p=Wt.toJson(l.attestation),w=c.get(p);if(w===void 0)throw new Error("Failed to find attestation index");let E=128|w;i.push(f.fromNumber(E,{size:1}),on(l.sessionSignature));}else if(vE(l)){if(l.permissionIndex>i1)throw new Error("Permission index is too large");let p=l.permissionIndex;i.push(f.fromNumber(p,{size:1}),on(l.sessionSignature));}else throw new Error("Invalid call signature");return f.concat(...i)}function UL(t){let e=0,s=f.toNumber(t.slice(e,e+3));e+=3;let r=t.slice(e,e+s);e+=s;let n=gE(r),i=f.toNumber(t.slice(e,e+1));e+=1;let a=[],o=[];for(let u=0;u<i;u++){let l=Wt.decode(t.slice(e));e+=Wt.encode(l).length,a.push(l);let p=za(t.slice(e,e+64));e+=64,o.push(p);}let c=[];for(;e<t.length;){let u=t[e];e+=1;let l=za(t.slice(e,e+64));if(e+=64,u&128){let p=u&127;if(p>=a.length)throw new Error("Invalid attestation index");c.push({attestation:a[p],identitySignature:o[p],sessionSignature:l});}else {let p=u;c.push({permissionIndex:BigInt(p),sessionSignature:l});}}return {topology:n,callSignatures:c}}function _L(t,e,s,r,n){if(n&&(j.isEqual(n,qe.Dev1.sessions)||j.isEqual(n,qe.Dev2.sessions)||j.isEqual(n,qe.Rc3.sessions))){let c=e.calls[s],u=!j.isEqual(n,qe.Rc3.sessions);return P.fromBytes(he.keccak256(f.concat(f.fromNumber(r,{size:32}),f.fromNumber(e.space,{size:32}),f.fromNumber(e.nonce,{size:32}),u?f.from([]):f.fromNumber(s,{size:32}),f.fromHex(Te.hashCall(c)))))}let a=e.parentWallets;e.parentWallets&&e.parentWallets.length>0&&e.parentWallets.pop();let o=Te.hash(t,r,e);return e.parentWallets=a,P.fromBytes(he.keccak256(f.concat(o,f.fromNumber(s,{size:32}))))}var Za={};Ne(Za,{Dev1:()=>eN,Dev2:()=>tN,Dev2_4337:()=>sN,KnownContexts:()=>HL,Rc3:()=>rN,Rc3_4337:()=>nN,Rc4:()=>iN,Rc4_4337:()=>aN,Rc5:()=>oN,Rc5_4337:()=>cN,isKnownContext:()=>jL});d();h();var eN={factory:"0xe828630697817291140D6B7A42a2c3b7277bE45a",stage1:"0x2a4fB19F66F1427A5E363Bf1bB3be27b9A9ACC39",stage2:"0xe1299E4456b267123F7Aba29B72C2164ff501BDa",creationCode:"0x603e600e3d39601e805130553df33d3d34601c57363d3d373d363d30545af43d82803e903d91601c57fd5bf3"},tN={factory:"0xFE14B91dE3c5Ca74c4D24608EBcD4B2848aA6010",stage1:"0x300E98ae5bEA4A7291d62Eb0b9feD535E10095dD",stage2:"0x90cb0a8ccf40bEdA60896e408bdc7801033447C6",creationCode:"0x6041600e3d396021805130553df33d3d36153402601f57363d3d373d363d30545af43d82803e903d91601f57fd5bf3"},sN={factory:"0xFE14B91dE3c5Ca74c4D24608EBcD4B2848aA6010",stage1:"0x8Ae58FCc0Ee9b32994CA52c9854deb969DC8fa2A",stage2:"0x30f8e3AceAcDEac8a3F28935D87FD58DC5f71ad2",creationCode:"0x6041600e3d396021805130553df33d3d36153402601f57363d3d373d363d30545af43d82803e903d91601f57fd5bf3",capabilities:{erc4337:{entrypoint:"0x0000000071727De22E5E9d8BAf0edAc6f37da032"}}},rN={factory:"0x00000000000018A77519fcCCa060c2537c9D6d3F",stage1:"0x00000000000084fA81809Dd337311297C5594d62",stage2:"0x7438718F9E4b9B834e305A620EEeCf2B9E6eBE79",creationCode:"0x6041600e3d396021805130553df33d3d36153402601f57363d3d373d363d30545af43d82803e903d91601f57fd5bf3"},nN={factory:"0x00000000000018A77519fcCCa060c2537c9D6d3F",stage1:"0x0000000000005A02E3218e820EA45102F84A35C7",stage2:"0x7706aaC0cc2C42C01CE17136F7475b0E46F2ABA1",creationCode:"0x6041600e3d396021805130553df33d3d36153402601f57363d3d373d363d30545af43d82803e903d91601f57fd5bf3",capabilities:{erc4337:{entrypoint:"0x0000000071727De22E5E9d8BAf0edAc6f37da032"}}},iN={factory:"0x00000000000018A77519fcCCa060c2537c9D6d3F",stage1:"0x0000000000003DF093bc4257E6dCE45D937EF161",stage2:"0x10bE1Abf3cD0918bb1079ECc6b8220c177F34088",creationCode:"0x6041600e3d396021805130553df33d3d36153402601f57363d3d373d363d30545af43d82803e903d91601f57fd5bf3"},aN={factory:"0x00000000000018A77519fcCCa060c2537c9D6d3F",stage1:"0x0000000000003add039FF84b064B7347Fc23C444",stage2:"0x4B3E5735665057A0A15eE448A7293bC01e3b4De9",creationCode:"0x6041600e3d396021805130553df33d3d36153402601f57363d3d373d363d30545af43d82803e903d91601f57fd5bf3",capabilities:{erc4337:{entrypoint:"0x0000000071727De22E5E9d8BAf0edAc6f37da032"}}},oN={factory:"0x00000000000018A77519fcCCa060c2537c9D6d3F",stage1:"0x0000000000001f3C39d61698ab21131a12134454",stage2:"0xD0ae8eF93b7DA4eabb32Ec4d81b7a501DCa04D4C",creationCode:"0x6041600e3d396021805130553df33d3d36153402601f57363d3d373d363d30545af43d82803e903d91601f57fd5bf3"},cN={factory:"0x00000000000018A77519fcCCa060c2537c9D6d3F",stage1:"0x0000000000009caFdeDb6f64Bf5F31a22124B2a8",stage2:"0xcBca3328a731deffE6Ce4c2fb51b585c3c37FB92",creationCode:"0x6041600e3d396021805130553df33d3d36153402601f57363d3d373d363d30545af43d82803e903d91601f57fd5bf3",capabilities:{erc4337:{entrypoint:"0x0000000071727De22E5E9d8BAf0edAc6f37da032"}}},HL=[{name:"Dev1",development:!0,...eN},{name:"Dev2",development:!0,...tN},{name:"Dev2_4337",development:!0,...sN},{name:"Rc3",development:!0,...rN},{name:"Rc3_4337",development:!0,...nN},{name:"Rc4",development:!1,...iN},{name:"Rc4_4337",development:!1,...aN},{name:"Rc5",development:!1,...oN},{name:"Rc5_4337",development:!1,...cN}];function jL(t){return t.name!==void 0&&t.development!==void 0}var qe={};Ne(qe,{Dev1:()=>eD,Dev2:()=>tD,Passkeys:()=>xE,Rc3:()=>sD,Rc4:()=>rD,Rc5:()=>nD,Recovery:()=>DE});d();h();var xE={};Ne(xE,{decode:()=>KL,encode:()=>qL,fromTree:()=>ML,isValidSignature:()=>FL,metadataNode:()=>uN,metadataTree:()=>EE,rootFor:()=>$L,toTree:()=>lN});d();h();function EE(t){return typeof t=="object"?{type:"leaf",value:f.fromString(t.credentialId)}:t}function uN(t){return or(EE(t))}function lN(t){let e=P.padLeft(t.x,32),s=P.padLeft(t.y,32),r=P.padLeft(t.requireUserVerification?"0x01":"0x00",32);return t.metadata?[[e,s],[r,EE(t.metadata)]]:[[e,s],[r,P.padLeft("0x00",32)]]}function ML(t){if(!Ms(t)||t.length!==2)throw new Error("Invalid tree");let[e,s]=t;if(!Ms(e)||e.length!==2)throw new Error("Invalid tree for x,y");let[r,n]=e;if(!Vt(r))throw new Error("Invalid x bytes");if(!Vt(n))throw new Error("Invalid y bytes");let i=!1,a;if(Ms(s)){if(s.length!==2)throw new Error("Invalid tree for c,metadata");let[o,c]=s;if(!Vt(o))throw new Error("Invalid c bytes");if(i=P.toBytes(o)[31]===1,Ms(c)){if(c.length!==2)throw new Error("Invalid metadata tree");let[l,p]=c;if(!ai(l))throw new Error("Invalid credentialId leaf");let w=new TextDecoder().decode(l.value);if(!Ms(p)||p.length!==2)throw new Error("Invalid sub-branch for name and createdAt");let[E,S]=p;if(!ai(E)||!ai(S))throw new Error("Invalid metadata leaves");a={credentialId:w};}else if(Vt(c))a=c;else throw new Error("Invalid metadata node")}else {if(!Vt(s))throw new Error("Invalid c bytes");i=P.toBytes(s)[31]===1;}return {requireUserVerification:i,x:r,y:n,metadata:a}}function $L(t){return or(lN(t))}function qL(t){let e=t.clientDataJSON.indexOf('"challenge"'),s=t.clientDataJSON.indexOf('"type"'),r=t.authenticatorData.length,n=t.clientDataJSON.length;if(r>65535)throw new Error("Authenticator data size is too large");if(n>65535)throw new Error("Client data JSON size is too large");let i=r<=255?1:2,a=n<=255?1:2,o=e<=255?1:2,c=s<=255?1:2,u=0;u|=t.publicKey.requireUserVerification?1:0,u|=i-1<<1,u|=a-1<<2,u|=o-1<<3,u|=c-1<<4,t.embedMetadata&&(u|=64);let l=f.from([u]);if(t.embedMetadata){if(!t.publicKey.metadata)throw new Error("Metadata is not present in the public key");l=f.concat(l,P.toBytes(uN(t.publicKey.metadata)));}return l=f.concat(l,f.padLeft(f.fromNumber(r),i)),l=f.concat(l,t.authenticatorData),l=f.concat(l,f.padLeft(f.fromNumber(t.clientDataJSON.length),a)),l=f.concat(l,f.from(new TextEncoder().encode(t.clientDataJSON))),l=f.concat(l,f.padLeft(f.fromNumber(e),o)),l=f.concat(l,f.padLeft(f.fromNumber(s),c)),l=f.concat(l,f.padLeft(t.r,32)),l=f.concat(l,f.padLeft(t.s,32)),l=f.concat(l,f.fromHex(t.publicKey.x)),l=f.concat(l,f.fromHex(t.publicKey.y)),l}function FL(t,e){return ii.verify({challenge:t,publicKey:{x:P.toBigInt(e.publicKey.x),y:P.toBigInt(e.publicKey.y),prefix:4},metadata:{authenticatorData:P.fromBytes(e.authenticatorData),challengeIndex:e.clientDataJSON.indexOf('"challenge"'),clientDataJSON:e.clientDataJSON,typeIndex:e.clientDataJSON.indexOf('"type"'),userVerificationRequired:e.publicKey.requireUserVerification},signature:{r:f.toBigInt(e.r),s:f.toBigInt(e.s)}})}function KL(t){let e=0,s=t[0];if(e+=1,s===void 0)throw new Error("Invalid flags");let r=(s&1)!==0,n=(s>>1&1)+1,i=(s>>2&1)+1,a=(s>>3&1)+1,o=(s>>4&1)+1,c=(s>>6&1)===1;if(s&32)throw new Error("Fallback to abi decode is not supported in this implementation");let u;if(c){let O=f.slice(t,e,e+32);u=P.fromBytes(O),e+=32;}let l=f.toNumber(f.slice(t,e,e+n));e+=n;let p=f.slice(t,e,e+l);e+=l;let w=f.toNumber(f.slice(t,e,e+i));e+=i;let E=f.slice(t,e,e+w);e+=w;let S=new TextDecoder().decode(E),I=f.toNumber(f.slice(t,e,e+a));e+=a;let C=f.toNumber(f.slice(t,e,e+o));e+=o;let D=f.slice(t,e,e+32);e+=32;let V=f.slice(t,e,e+32);e+=32;let B=f.slice(t,e,e+32);e+=32;let k=f.slice(t,e,e+32);return {publicKey:{requireUserVerification:r,x:P.fromBytes(B),y:P.fromBytes(k),metadata:u},r:D,s:V,authenticatorData:p,clientDataJSON:S,challengeIndex:I,typeIndex:C,embedMetadata:c}}var DE={};Ne(DE,{DOMAIN_NAME:()=>GL,DOMAIN_VERSION:()=>WL,FLAG_BRANCH:()=>RE,FLAG_NODE:()=>OE,FLAG_RECOVERY_LEAF:()=>PE,QUEUED_PAYLOAD_HASHES:()=>dN,QUEUE_PAYLOAD:()=>fN,TIMESTAMP_FOR_QUEUED_PAYLOAD:()=>hN,TOTAL_QUEUED_PAYLOADS:()=>mN,decodeTopology:()=>JL,encodeCalldata:()=>YL,encodeTopology:()=>TE,fromGenericTree:()=>BE,fromRecoveryLeaves:()=>kE,getRecoveryLeaves:()=>CE,hashConfiguration:()=>IE,hashRecoveryPayload:()=>zL,isBranch:()=>Xa,isRecoveryLeaf:()=>pu,isTree:()=>AE,parseBranch:()=>LE,queuedPayloadHashOf:()=>XL,timestampForQueuedPayload:()=>QL,toGenericTree:()=>p1,totalQueuedPayloads:()=>ZL,trimTopology:()=>NE});d();h();var PE=1,OE=3,RE=4,Bh=f.fromString(`Sequence recovery leaf:
348
+ `),fN=He.from(["function queuePayload(address _wallet, address _signer, (uint8 kind,bool noChainId,(address to,uint256 value,bytes data,uint256 gasLimit,bool delegateCall,bool onlyFallback,uint256 behaviorOnError)[] calls,uint256 space,uint256 nonce,bytes message,bytes32 imageHash,bytes32 digest,address[] parentWallets) calldata _payload, bytes calldata _signature) external"])[0],hN=He.from(["function timestampForQueuedPayload(address _wallet, address _signer, bytes32 _payloadHash) external view returns (uint256)"])[0],dN=He.from(["function queuedPayloadHashes(address _wallet, address _signer, uint256 _index) external view returns (bytes32)"])[0],mN=He.from(["function totalQueuedPayloads(address _wallet, address _signer) external view returns (uint256)"])[0];function pu(t){return typeof t=="object"&&t!==null&&t.type==="leaf"}function Xa(t){return Array.isArray(t)&&t.length===2&&AE(t[0])&&AE(t[1])}function AE(t){return pu(t)||Vt(t)||Xa(t)}var GL="Sequence Wallet - Recovery Mode",WL="1";function IE(t){return or(p1(t))}function CE(t){if(pu(t))return {leaves:[t],isComplete:!0};if(Vt(t))return {leaves:[],isComplete:!1};if(Xa(t)){let s=CE(t[0]),r=CE(t[1]);return {leaves:[...s.leaves,...r.leaves],isComplete:s.isComplete&&r.isComplete}}else throw new Error("Invalid topology")}function JL(t){let{nodes:e,leftover:s}=LE(t);if(s.length>0)throw new Error("Leftover bytes in branch");return pN(e)}function LE(t){if(t.length===0)throw new Error("Empty branch");let e=[],s=0;for(;s<t.length;){let r=t[s];if(r===PE){if(t.length<s+32)throw new Error("Invalid recovery leaf");let n=j.from(P.fromBytes(t.slice(s+1,s+21))),i=f.toBigInt(t.slice(s+21,s+24)),a=f.toBigInt(t.slice(s+24,s+32));e.push({type:"leaf",signer:n,requiredDeltaTime:i,minTimestamp:a}),s+=32;continue}else if(r===OE){if(t.length<s+33)throw new Error("Invalid node");let n=P.fromBytes(t.slice(s+1,s+33));e.push(n),s+=33;continue}else if(r===RE){if(t.length<s+4)throw new Error("Invalid branch");let n=f.toNumber(t.slice(s+1,s+4));if(t.length<s+4+n)throw new Error("Invalid branch");let i=t.slice(s+4,s+4+n),{nodes:a,leftover:o}=LE(i);if(o.length>0)throw new Error("Leftover bytes in sub-branch");let c=pN(a);e.push(c),s+=4+n;continue}else throw new Error("Invalid flag")}return {nodes:e,leftover:t.slice(s)}}function NE(t,e){if(pu(t))return t.signer===e?t:IE(t);if(Vt(t))return t;if(Xa(t)){let s=NE(t[0],e),r=NE(t[1],e);return Vt(s)&&Vt(r)?IE(t):[s,r]}throw new Error("Invalid topology")}function TE(t){if(Xa(t)){let e=TE(t[0]),s=TE(t[1]);if(Xa(t[1])){if(s.length>16777215)throw new Error("Branch too large");let n=f.fromNumber(RE),i=f.padLeft(f.fromNumber(s.length),3);return f.concat(e,n,i,s)}else return f.concat(e,s)}if(Vt(t)){let e=f.fromNumber(OE),s=f.fromHex(t,{size:32});return f.concat(e,s)}if(pu(t)){let e=f.fromNumber(PE),s=f.fromHex(t.signer,{size:20});if(t.requiredDeltaTime>16777215n)throw new Error("Required delta time too large");let r=f.padLeft(f.fromNumber(t.requiredDeltaTime),3);if(t.minTimestamp>18446744073709551615n)throw new Error("Min timestamp too large");let n=f.padLeft(f.fromNumber(t.minTimestamp),8);return f.concat(e,s,r,n)}throw new Error("Invalid topology")}function pN(t){if(t.length===0)throw new Error("Empty signature tree");if(t.length===1)return t[0];let e=t[0];for(let s=1;s<t.length;s++)e=[e,t[s]];return e}function kE(t){if(t.length===0)throw new Error("Cannot build a tree with zero leaves");if(t.length===1)return t[0];let e=Math.floor(t.length/2),s=kE(t.slice(0,e)),r=kE(t.slice(e));return [s,r]}function zL(t,e,s,r){let n=Wv(t);return P.fromBytes(cu(e,r?0:s,n))}function p1(t){if(pu(t))return {type:"leaf",value:f.concat(Bh,f.fromHex(t.signer,{size:20}),f.padLeft(f.fromNumber(t.requiredDeltaTime),32),f.padLeft(f.fromNumber(t.minTimestamp),32))};if(Vt(t))return t;if(Xa(t))return [p1(t[0]),p1(t[1])];throw new Error("Invalid topology")}function BE(t){if(ai(t)){let e=t.value;if(e.length!==Bh.length+84||!f.isEqual(e.slice(0,Bh.length),Bh))throw new Error("Invalid recovery leaf format");let s=Bh.length,r=j.from(P.fromBytes(e.slice(s,s+20))),n=f.toBigInt(e.slice(s+20,s+52)),i=f.toBigInt(e.slice(s+52,s+84));return {type:"leaf",signer:r,requiredDeltaTime:n,minTimestamp:i}}else {if(Vt(t))return t;if(Ms(t)){if(t.length!==2)throw new Error("Recovery tree only supports binary branches");return [BE(t[0]),BE(t[1])]}else throw new Error("Invalid tree format")}}function YL(t,e,s,r){let n;r.type==="erc1271"?n=r.data:n=f.toHex(on(r));let i=Yv(e);return me.encodeData(fN,[t,s,i,n])}async function ZL(t,e,s,r){let n=await t.request({method:"eth_call",params:[{to:e,data:me.encodeData(mN,[s,r])},"latest"]});return n==="0x"?0n:P.toBigInt(n)}async function XL(t,e,s,r,n){return await t.request({method:"eth_call",params:[{to:e,data:me.encodeData(dN,[s,r,n])},"latest"]})}async function QL(t,e,s,r,n){let i=await t.request({method:"eth_call",params:[{to:e,data:me.encodeData(hN,[s,r,n])},"latest"]});return P.toBigInt(i)}var eD={passkeys:"0x8f26281dB84C18aAeEa8a53F94c835393229d296",recovery:"0xd98da48C4FF9c19742eA5856A277424557C863a6",sessions:"0x06aa3a8F781F2be39b888Ac8a639c754aEe9dA29"},tD={passkeys:"0x4491845806B757D67BE05BbD877Cab101B9bee5C",recovery:"0xdED857b9b5142832634129aFfc1D67cD106b927c",sessions:"0x06aa3a8F781F2be39b888Ac8a639c754aEe9dA29"},sD={passkeys:"0x0000000000dc2d96870dc108c5E15570B715DFD2",recovery:"0x0000000000213697bCA95E7373787a40858a51C7",sessions:"0x0000000000CC58810c33F3a0D78aA1Ed80FaDcD8"},rD={passkeys:"0x0000000000005204F3711851EAD52CC9c241499a",recovery:"0x000000000001FC499c3E177DD56Febb0A4bc15b7",sessions:"0x00000000000030Bcc832F7d657f50D6Be35C92b3"},nD={passkeys:"0x0000000000005204F3711851EAD52CC9c241499a",recovery:"0x000000000000AB36D17eB1150116371520565205",sessions:"0x00000000000030Bcc832F7d657f50D6Be35C92b3"};var Ph={};Ne(Ph,{ALL:()=>VE,ChainId:()=>Y,NetworkType:()=>Ie,getNetworkFromChainId:()=>aD,getNetworkFromName:()=>iD});d();h();var Ie;(function(t){t.MAINNET="mainnet",t.TESTNET="testnet";})(Ie||(Ie={}));var Y={NONE:0,MAINNET:1,SEPOLIA:11155111,POLYGON:137,POLYGON_ZKEVM:1101,POLYGON_AMOY:80002,BSC:56,BSC_TESTNET:97,OPTIMISM:10,OPTIMISM_SEPOLIA:11155420,ARBITRUM:42161,ARBITRUM_SEPOLIA:421614,ARBITRUM_NOVA:42170,AVALANCHE:43114,AVALANCHE_TESTNET:43113,GNOSIS:100,BASE:8453,BASE_SEPOLIA:84532,HOMEVERSE_TESTNET:40875,HOMEVERSE:19011,XAI:660279,XAI_SEPOLIA:37714555429,TELOS:40,TELOS_TESTNET:41,B3:8333,B3_SEPOLIA:1993,APECHAIN:33139,APECHAIN_TESTNET:33111,BLAST:81457,BLAST_SEPOLIA:168587773,SKALE_NEBULA:1482601649,SKALE_NEBULA_TESTNET:37084624,SONEIUM_MINATO:1946,SONEIUM:1868,TOY_TESTNET:21e6,IMMUTABLE_ZKEVM:13371,IMMUTABLE_ZKEVM_TESTNET:13473,ETHERLINK:42793,ETHERLINK_TESTNET:128123,MOONBEAM:1284,MOONBASE_ALPHA:1287,MONAD:143,MONAD_TESTNET:10143,SOMNIA_TESTNET:50312,SOMNIA:5031,INCENTIV_TESTNET_V2:28802,KATANA:747474,SANDBOX_TESTNET:6252,ARC_TESTNET:5042002},VE=[{chainId:Y.MAINNET,type:Ie.MAINNET,name:"mainnet",title:"Ethereum",rpcUrl:ke("mainnet"),logoUrl:Be(Y.MAINNET),blockExplorer:{name:"Etherscan",url:"https://etherscan.io/"},nativeCurrency:{symbol:"ETH",name:"Ether",decimals:18},ensAddress:"0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e"},{chainId:Y.SEPOLIA,type:Ie.TESTNET,name:"sepolia",title:"Sepolia",rpcUrl:ke("sepolia"),logoUrl:Be(Y.SEPOLIA),blockExplorer:{name:"Etherscan (Sepolia)",url:"https://sepolia.etherscan.io/"},nativeCurrency:{symbol:"sETH",name:"Sepolia Ether",decimals:18}},{chainId:Y.POLYGON,type:Ie.MAINNET,name:"polygon",title:"Polygon",rpcUrl:ke("polygon"),logoUrl:Be(Y.POLYGON),blockExplorer:{name:"Polygonscan",url:"https://polygonscan.com/"},nativeCurrency:{symbol:"POL",name:"POL",decimals:18}},{chainId:Y.POLYGON_AMOY,type:Ie.TESTNET,name:"amoy",title:"Polygon Amoy",rpcUrl:ke("amoy"),logoUrl:Be(Y.POLYGON_AMOY),blockExplorer:{name:"OKLink (Amoy)",url:"https://www.oklink.com/amoy/"},nativeCurrency:{symbol:"aPOL",name:"Amoy POL",decimals:18}},{chainId:Y.POLYGON_ZKEVM,type:Ie.MAINNET,name:"polygon-zkevm",title:"Polygon zkEVM",rpcUrl:ke("polygon-zkevm"),logoUrl:Be(Y.POLYGON_ZKEVM),blockExplorer:{name:"Polygonscan (zkEVM)",url:"https://zkevm.polygonscan.com/"},nativeCurrency:{symbol:"ETH",name:"Ether",decimals:18}},{chainId:Y.BSC,type:Ie.MAINNET,name:"bsc",title:"BNB Smart Chain",rpcUrl:ke("bsc"),logoUrl:Be(Y.BSC),blockExplorer:{name:"BSCScan",url:"https://bscscan.com/"},nativeCurrency:{symbol:"BNB",name:"BNB",decimals:18}},{chainId:Y.BSC_TESTNET,type:Ie.TESTNET,name:"bsc-testnet",title:"BNB Smart Chain Testnet",rpcUrl:ke("bsc-testnet"),logoUrl:Be(Y.BSC_TESTNET),blockExplorer:{name:"BSCScan (Testnet)",url:"https://testnet.bscscan.com/"},nativeCurrency:{symbol:"tBNB",name:"Testnet BNB",decimals:18}},{chainId:Y.OPTIMISM,type:Ie.MAINNET,name:"optimism",title:"Optimism",rpcUrl:ke("optimism"),logoUrl:Be(Y.OPTIMISM),blockExplorer:{name:"Etherscan (Optimism)",url:"https://optimistic.etherscan.io/"},nativeCurrency:{symbol:"ETH",name:"Ether",decimals:18}},{chainId:Y.OPTIMISM_SEPOLIA,type:Ie.TESTNET,name:"optimism-sepolia",title:"Optimism Sepolia",rpcUrl:ke("optimism-sepolia"),logoUrl:Be(Y.OPTIMISM_SEPOLIA),blockExplorer:{name:"Etherscan (Optimism Sepolia)",url:"https://sepolia-optimistic.etherscan.io/"},nativeCurrency:{symbol:"sETH",name:"Sepolia Ether",decimals:18}},{chainId:Y.ARBITRUM,type:Ie.MAINNET,name:"arbitrum",title:"Arbitrum One",rpcUrl:ke("arbitrum"),logoUrl:Be(Y.ARBITRUM),blockExplorer:{name:"Arbiscan",url:"https://arbiscan.io/"},nativeCurrency:{symbol:"ETH",name:"Ether",decimals:18}},{chainId:Y.ARBITRUM_SEPOLIA,type:Ie.TESTNET,name:"arbitrum-sepolia",title:"Arbitrum Sepolia",rpcUrl:ke("arbitrum-sepolia"),logoUrl:Be(Y.ARBITRUM_SEPOLIA),blockExplorer:{name:"Arbiscan (Sepolia Testnet)",url:"https://sepolia.arbiscan.io/"},nativeCurrency:{symbol:"sETH",name:"Sepolia Ether",decimals:18}},{chainId:Y.ARBITRUM_NOVA,type:Ie.MAINNET,name:"arbitrum-nova",title:"Arbitrum Nova",rpcUrl:ke("arbitrum-nova"),logoUrl:Be(Y.ARBITRUM_NOVA),blockExplorer:{name:"Arbiscan Nova",url:"https://nova.arbiscan.io/"},nativeCurrency:{symbol:"ETH",name:"Ether",decimals:18}},{chainId:Y.AVALANCHE,type:Ie.MAINNET,name:"avalanche",title:"Avalanche",rpcUrl:ke("avalanche"),logoUrl:Be(Y.AVALANCHE),blockExplorer:{name:"Snowtrace",url:"https://subnets.avax.network/c-chain/"},nativeCurrency:{symbol:"AVAX",name:"AVAX",decimals:18}},{chainId:Y.AVALANCHE_TESTNET,type:Ie.TESTNET,name:"avalanche-testnet",title:"Avalanche Testnet",rpcUrl:ke("avalanche-testnet"),logoUrl:Be(Y.AVALANCHE_TESTNET),blockExplorer:{name:"Snowtrace (Testnet)",url:"https://subnets-test.avax.network/c-chain/"},nativeCurrency:{symbol:"tAVAX",name:"Testnet AVAX",decimals:18}},{chainId:Y.GNOSIS,type:Ie.MAINNET,name:"gnosis",title:"Gnosis Chain",rpcUrl:ke("gnosis"),logoUrl:Be(Y.GNOSIS),blockExplorer:{name:"Gnosis Chain Explorer",url:"https://blockscout.com/xdai/mainnet/"},nativeCurrency:{symbol:"XDAI",name:"XDAI",decimals:18}},{chainId:Y.BASE,type:Ie.MAINNET,name:"base",title:"Base (Coinbase)",rpcUrl:ke("base"),logoUrl:Be(Y.BASE),blockExplorer:{name:"Base Explorer",url:"https://basescan.org/"},nativeCurrency:{symbol:"ETH",name:"Ether",decimals:18}},{chainId:Y.BASE_SEPOLIA,type:Ie.TESTNET,name:"base-sepolia",title:"Base Sepolia",rpcUrl:ke("base-sepolia"),logoUrl:Be(Y.BASE_SEPOLIA),blockExplorer:{name:"Base Sepolia Explorer",url:"https://base-sepolia.blockscout.com/"},nativeCurrency:{symbol:"sETH",name:"Sepolia Ether",decimals:18}},{chainId:Y.HOMEVERSE,type:Ie.MAINNET,name:"homeverse",title:"Oasys Homeverse",rpcUrl:ke("homeverse"),logoUrl:Be(Y.HOMEVERSE),blockExplorer:{name:"Oasys Homeverse Explorer",url:"https://explorer.oasys.homeverse.games/"},nativeCurrency:{symbol:"OAS",name:"OAS",decimals:18}},{chainId:Y.HOMEVERSE_TESTNET,type:Ie.TESTNET,name:"homeverse-testnet",title:"Oasys Homeverse Testnet",rpcUrl:ke("homeverse-testnet"),logoUrl:Be(Y.HOMEVERSE_TESTNET),blockExplorer:{name:"Oasys Homeverse Explorer (Testnet)",url:"https://explorer.testnet.oasys.homeverse.games/"},nativeCurrency:{symbol:"tOAS",name:"Testnet OAS",decimals:18}},{chainId:Y.XAI,type:Ie.MAINNET,name:"xai",title:"Xai",rpcUrl:ke("xai"),logoUrl:Be(Y.XAI),blockExplorer:{name:"Xai Explorer",url:"https://explorer.xai-chain.net/"},nativeCurrency:{symbol:"XAI",name:"XAI",decimals:18}},{chainId:Y.XAI_SEPOLIA,type:Ie.TESTNET,name:"xai-sepolia",title:"Xai Sepolia",rpcUrl:ke("xai-sepolia"),logoUrl:Be(Y.XAI_SEPOLIA),blockExplorer:{name:"Xai Sepolia Explorer",url:"https://testnet-explorer-v2.xai-chain.net/"},nativeCurrency:{symbol:"sXAI",name:"Sepolia XAI",decimals:18}},{chainId:Y.B3,type:Ie.MAINNET,name:"b3",title:"B3",rpcUrl:ke("b3"),logoUrl:Be(Y.B3),blockExplorer:{name:"B3 Explorer",url:"https://explorer.b3.fun/"},nativeCurrency:{symbol:"ETH",name:"Ether",decimals:18}},{chainId:Y.B3_SEPOLIA,type:Ie.TESTNET,name:"b3-sepolia",title:"B3 Sepolia",rpcUrl:ke("b3-sepolia"),logoUrl:Be(Y.B3_SEPOLIA),blockExplorer:{name:"B3 Sepolia Explorer",url:"https://sepolia.explorer.b3.fun/"},nativeCurrency:{symbol:"ETH",name:"Ether",decimals:18}},{chainId:Y.APECHAIN,type:Ie.MAINNET,name:"apechain",title:"APE Chain",rpcUrl:ke("apechain"),logoUrl:Be(Y.APECHAIN),blockExplorer:{name:"APE Chain Explorer",url:"https://apechain.calderaexplorer.xyz/"},nativeCurrency:{symbol:"APE",name:"ApeCoin",decimals:18}},{chainId:Y.APECHAIN_TESTNET,type:Ie.TESTNET,name:"apechain-testnet",title:"APE Chain Testnet",rpcUrl:ke("apechain-testnet"),logoUrl:Be(Y.APECHAIN_TESTNET),blockExplorer:{name:"APE Chain Explorer",url:"https://curtis.explorer.caldera.xyz/"},nativeCurrency:{symbol:"APE",name:"ApeCoin",decimals:18}},{chainId:Y.BLAST,type:Ie.MAINNET,name:"blast",title:"Blast",rpcUrl:ke("blast"),logoUrl:Be(Y.BLAST),blockExplorer:{name:"Blast Explorer",url:"https://blastscan.io/"},nativeCurrency:{symbol:"ETH",name:"Ether",decimals:18}},{chainId:Y.BLAST_SEPOLIA,type:Ie.TESTNET,name:"blast-sepolia",title:"Blast Sepolia",rpcUrl:ke("blast-sepolia"),logoUrl:Be(Y.BLAST_SEPOLIA),blockExplorer:{name:"Blast Sepolia Explorer",url:"https://sepolia.blastexplorer.io/"},nativeCurrency:{symbol:"ETH",name:"Ether",decimals:18}},{chainId:Y.TELOS,type:Ie.MAINNET,name:"telos",title:"Telos",rpcUrl:ke("telos"),logoUrl:Be(Y.TELOS),blockExplorer:{name:"Telos Explorer",url:"https://explorer.telos.net/network/"},nativeCurrency:{symbol:"TLOS",name:"TLOS",decimals:18}},{chainId:Y.TELOS_TESTNET,type:Ie.TESTNET,name:"telos-testnet",title:"Telos Testnet",rpcUrl:ke("telos-testnet"),logoUrl:Be(Y.TELOS_TESTNET),blockExplorer:{name:"Telos Testnet Explorer",url:"https://explorer-test.telos.net/network"},nativeCurrency:{symbol:"TLOS",name:"TLOS",decimals:18}},{chainId:Y.SKALE_NEBULA,type:Ie.MAINNET,name:"skale-nebula",title:"SKALE Nebula Gaming Hub",rpcUrl:ke("skale-nebula"),logoUrl:Be(Y.SKALE_NEBULA),blockExplorer:{name:"SKALE Nebula Gaming Hub Explorer",url:"https://green-giddy-denebola.explorer.mainnet.skalenodes.com/"},nativeCurrency:{symbol:"sFUEL",name:"SKALE Fuel",decimals:18}},{chainId:Y.SKALE_NEBULA_TESTNET,type:Ie.TESTNET,name:"skale-nebula-testnet",title:"SKALE Nebula Gaming Hub Testnet",rpcUrl:ke("skale-nebula-testnet"),logoUrl:Be(Y.SKALE_NEBULA_TESTNET),blockExplorer:{name:"SKALE Nebula Gaming Hub Testnet Explorer",url:"https://lanky-ill-funny-testnet.explorer.testnet.skalenodes.com/"},nativeCurrency:{symbol:"sFUEL",name:"SKALE Fuel",decimals:18}},{chainId:Y.SONEIUM,type:Ie.MAINNET,name:"soneium",title:"Soneium",rpcUrl:ke("soneium"),logoUrl:Be(Y.SONEIUM),blockExplorer:{name:"Soneium Explorer",url:"https://soneium.blockscout.com/"},nativeCurrency:{symbol:"ETH",name:"Ether",decimals:18}},{chainId:Y.SONEIUM_MINATO,type:Ie.TESTNET,name:"soneium-minato",title:"Soneium Minato (Testnet)",rpcUrl:ke("soneium-minato"),logoUrl:Be(Y.SONEIUM_MINATO),blockExplorer:{name:"Soneium Minato Explorer",url:"https://explorer-testnet.soneium.org/"},nativeCurrency:{symbol:"ETH",name:"Ether",decimals:18}},{chainId:Y.TOY_TESTNET,type:Ie.TESTNET,name:"toy-testnet",title:"TOY (Testnet)",rpcUrl:ke("toy-testnet"),logoUrl:Be(Y.TOY_TESTNET),blockExplorer:{name:"TOY Testnet Explorer",url:"https://toy-chain-testnet.explorer.caldera.xyz/"},nativeCurrency:{symbol:"TOY",name:"TOY",decimals:18}},{chainId:Y.IMMUTABLE_ZKEVM,type:Ie.MAINNET,name:"immutable-zkevm",title:"Immutable zkEVM",rpcUrl:ke("immutable-zkevm"),logoUrl:Be(Y.IMMUTABLE_ZKEVM),blockExplorer:{name:"Immutable zkEVM Explorer",url:"https://explorer.immutable.com/"},nativeCurrency:{symbol:"IMX",name:"IMX",decimals:18}},{chainId:Y.IMMUTABLE_ZKEVM_TESTNET,type:Ie.TESTNET,name:"immutable-zkevm-testnet",title:"Immutable zkEVM Testnet",rpcUrl:ke("immutable-zkevm-testnet"),logoUrl:Be(Y.IMMUTABLE_ZKEVM_TESTNET),blockExplorer:{name:"Immutable zkEVM Testnet Explorer",url:"https://explorer.testnet.immutable.com/"},nativeCurrency:{symbol:"IMX",name:"IMX",decimals:18}},{chainId:Y.MOONBEAM,type:Ie.MAINNET,name:"moonbeam",title:"Moonbeam",rpcUrl:ke("moonbeam"),logoUrl:Be(Y.MOONBEAM),blockExplorer:{name:"Moonscan",url:"https://moonscan.io/"},nativeCurrency:{symbol:"GLMR",name:"GLMR",decimals:18}},{chainId:Y.MOONBASE_ALPHA,type:Ie.TESTNET,name:"moonbase-alpha",title:"Moonbase Alpha",rpcUrl:ke("moonbase-alpha"),logoUrl:Be(Y.MOONBASE_ALPHA),blockExplorer:{name:"Moonscan (Moonbase Alpha)",url:"https://moonbase.moonscan.io/"},nativeCurrency:{symbol:"GLMR",name:"GLMR",decimals:18}},{chainId:Y.ETHERLINK,type:Ie.MAINNET,name:"etherlink",title:"Etherlink",rpcUrl:ke("etherlink"),logoUrl:Be(Y.ETHERLINK),blockExplorer:{name:"Etherlink Explorer",url:"https://explorer.etherlink.com/"},nativeCurrency:{symbol:"XTZ",name:"Tez",decimals:18}},{chainId:Y.ETHERLINK_TESTNET,type:Ie.TESTNET,name:"etherlink-testnet",title:"Etherlink Testnet",rpcUrl:ke("etherlink-testnet"),logoUrl:Be(Y.ETHERLINK_TESTNET),blockExplorer:{name:"Etherlink Testnet Explorer",url:"https://testnet.explorer.etherlink.com/"},nativeCurrency:{symbol:"XTZ",name:"Tez",decimals:18}},{chainId:Y.MONAD,type:Ie.MAINNET,name:"monad",title:"Monad",rpcUrl:ke("monad"),logoUrl:Be(Y.MONAD),blockExplorer:{name:"Monad Explorer",url:"https://mainnet-beta.monvision.io/"},nativeCurrency:{symbol:"MON",name:"MON",decimals:18}},{chainId:Y.MONAD_TESTNET,type:Ie.TESTNET,name:"monad-testnet",title:"Monad Testnet",rpcUrl:ke("monad-testnet"),logoUrl:Be(Y.MONAD_TESTNET),blockExplorer:{name:"Monad Testnet Explorer",url:"https://testnet.monadexplorer.com/"},nativeCurrency:{symbol:"MON",name:"MON",decimals:18}},{chainId:Y.SOMNIA,type:Ie.MAINNET,name:"somnia",title:"Somnia",rpcUrl:ke("somnia"),logoUrl:Be(Y.SOMNIA),blockExplorer:{name:"Somnia Explorer",url:"https://mainnet.somnia.w3us.site/"},nativeCurrency:{symbol:"SOMI",name:"SOMI",decimals:18}},{chainId:Y.SOMNIA_TESTNET,type:Ie.TESTNET,name:"somnia-testnet",title:"Somnia Testnet",rpcUrl:ke("somnia-testnet"),logoUrl:Be(Y.SOMNIA_TESTNET),blockExplorer:{name:"Somnia Testnet Explorer",url:"https://somnia-testnet.socialscan.io/"},nativeCurrency:{symbol:"STT",name:"STT",decimals:18}},{chainId:Y.INCENTIV_TESTNET_V2,type:Ie.TESTNET,name:"incentiv-testnet-v2",title:"Incentiv Testnet",rpcUrl:ke("incentiv-testnet-v2"),logoUrl:Be(Y.INCENTIV_TESTNET_V2),blockExplorer:{name:"Incentiv Testnet Explorer",url:"https://explorer.testnet.incentiv.net/"},nativeCurrency:{symbol:"TCENT",name:"TCENT",decimals:18}},{chainId:Y.KATANA,type:Ie.MAINNET,name:"katana",title:"Katana",rpcUrl:ke("katana"),logoUrl:Be(Y.KATANA),blockExplorer:{name:"Katana Explorer",url:"https://katanascan.com/"},nativeCurrency:{symbol:"ETH",name:"ETH",decimals:18}},{chainId:Y.SANDBOX_TESTNET,type:Ie.TESTNET,name:"sandbox-testnet",title:"Sandbox Testnet",rpcUrl:ke("sandbox-testnet"),logoUrl:Be(Y.SANDBOX_TESTNET),blockExplorer:{name:"Sandbox Testnet Explorer",url:"https://sandbox-testnet.explorer.caldera.xyz/"},nativeCurrency:{symbol:"SAND",name:"SAND",decimals:18}},{chainId:Y.ARC_TESTNET,type:Ie.TESTNET,name:"arc-testnet",title:"Arc Testnet",rpcUrl:ke("arc-testnet"),logoUrl:Be(Y.ARC_TESTNET),blockExplorer:{name:"Arc Testnet Explorer",url:"https://1jr2dw1zdqvyes8u.blockscout.com/"},nativeCurrency:{symbol:"USDC",name:"USDC",decimals:6}}];function ke(t){return `https://nodes.sequence.app/${t}`}function Be(t){return `https://assets.sequence.info/images/networks/medium/${t}.webp`}function iD(t){return VE.find(e=>e.name===t)}function aD(t){return VE.find(e=>e.chainId===Number(t))}d();h();d();h();d();h();var gN="$";function yN(t,e){var s="",r=e&&e.include,n=e&&e.exclude;n&&typeof n=="string"&&(n=[n]),r&&r.sort();var i=new WeakMap,a=e&&e.allowCircular,o=e&&e.filterUndefined,c=e&&e.undefinedInArrayToNull;return u(t,gN),s;function u(l,p){if(l===null||typeof l!="object"||l.toJSON!=null)s+=JSON.stringify(l);else if(Array.isArray(l)){var w=i.get(l);if(w!==void 0&&p.startsWith(w)){if(!a)throw new Error("Circular reference detected");s+='"[Circular:'+w+']"';return}i.set(l,p),s+="[";var E=!1;l.forEach(function(D,V){E&&(s+=","),E=!0,c&&D===void 0&&(D=null),u(D,p+"["+V+"]");}),s+="]";}else {var w=i.get(l);if(w!==void 0&&p.startsWith(w)){if(!a)throw new Error("Circular reference detected");s+='"[Circular:'+w+']"';return}i.set(l,p),s+="{";var S=!1,I=function(V){n&&n.includes(V)||(S&&(s+=","),S=!0,s+=JSON.stringify(V),s+=":",u(l[V],p+"."+V));};if(p===gN&&r)r.forEach(function(V){l.hasOwnProperty(V)&&I(V);});else {var C=Object.keys(l);o&&(C=C.filter(function(V){return l[V]!==void 0})),C.sort(),C.forEach(function(V){I(V);});}s+="}";}}}function g1(t,e){return yN(t,{allowCircular:e,filterUndefined:!0,undefinedInArrayToNull:!0})}d();h();var oD="Webrpc",cD="webrpc@v0.23.1;gen-typescript@v0.16.3;identity-instrument@v0.1.0";var Pr;(function(t){t.WebCrypto_Secp256r1="WebCrypto_Secp256r1",t.Ethereum_Secp256k1="Ethereum_Secp256k1";})(Pr||(Pr={}));var un;(function(t){t.Email="Email",t.OIDC="OIDC";})(un||(un={}));var yu;(function(t){t.OTP="OTP",t.IDToken="IDToken",t.AccessToken="AccessToken",t.AuthCode="AuthCode",t.AuthCodePKCE="AuthCodePKCE";})(yu||(yu={}));var y1=class{hostname;fetch;path="/rpc/IdentityInstrument/";constructor(e,s){this.hostname=e.replace(/\/*$/,""),this.fetch=(r,n)=>s(r,n);}url(e){return this.hostname+this.path+e}commitVerifier=(e,s,r)=>this.fetch(this.url("CommitVerifier"),UE(e,s,r)).then(n=>_E(n).then(i=>({verifier:i.verifier,loginHint:i.loginHint,challenge:i.challenge})),n=>{throw gu.new({cause:`fetch(): ${n.message||""}`})});completeAuth=(e,s,r)=>this.fetch(this.url("CompleteAuth"),UE(e,s,r)).then(n=>_E(n).then(i=>({signer:i.signer,identity:i.identity})),n=>{throw gu.new({cause:`fetch(): ${n.message||""}`})});sign=(e,s,r)=>this.fetch(this.url("Sign"),UE(e,s,r)).then(n=>_E(n).then(i=>({signature:i.signature})),n=>{throw gu.new({cause:`fetch(): ${n.message||""}`})})},UE=(t={},e={},s=null)=>{let r={...e,"Content-Type":"application/json"};return r[oD]=cD,{method:"POST",headers:r,body:JSON.stringify(t||{}),signal:s}},_E=t=>t.text().then(e=>{let s;try{s=JSON.parse(e);}catch(r){let n="";throw r instanceof Error&&(n=r.message),w1.new({status:t.status,cause:`JSON.parse(): ${n}: response text: ${e}`})}if(!t.ok){let r=typeof s.code=="number"?s.code:0;throw (uD[r]||rt).new(s)}return s}),rt=class t extends Error{name;code;message;status;cause;msg;constructor(e,s,r,n,i){super(r),this.name=e||"WebrpcError",this.code=typeof s=="number"?s:0,this.message=r||`endpoint error ${this.code}`,this.msg=this.message,this.status=typeof n=="number"?n:0,this.cause=i,Object.setPrototypeOf(this,t.prototype);}static new(e){return new this(e.error,e.code,e.message||e.msg,e.status,e.cause)}},HE=class t extends rt{constructor(e="WebrpcEndpoint",s=0,r="endpoint error",n=0,i){super(e,s,r,n,i),Object.setPrototypeOf(this,t.prototype);}},gu=class t extends rt{constructor(e="WebrpcRequestFailed",s=-1,r="request failed",n=0,i){super(e,s,r,n,i),Object.setPrototypeOf(this,t.prototype);}},jE=class t extends rt{constructor(e="WebrpcBadRoute",s=-2,r="bad route",n=0,i){super(e,s,r,n,i),Object.setPrototypeOf(this,t.prototype);}},ME=class t extends rt{constructor(e="WebrpcBadMethod",s=-3,r="bad method",n=0,i){super(e,s,r,n,i),Object.setPrototypeOf(this,t.prototype);}},$E=class t extends rt{constructor(e="WebrpcBadRequest",s=-4,r="bad request",n=0,i){super(e,s,r,n,i),Object.setPrototypeOf(this,t.prototype);}},w1=class t extends rt{constructor(e="WebrpcBadResponse",s=-5,r="bad response",n=0,i){super(e,s,r,n,i),Object.setPrototypeOf(this,t.prototype);}},qE=class t extends rt{constructor(e="WebrpcServerPanic",s=-6,r="server panic",n=0,i){super(e,s,r,n,i),Object.setPrototypeOf(this,t.prototype);}},FE=class t extends rt{constructor(e="WebrpcInternalError",s=-7,r="internal error",n=0,i){super(e,s,r,n,i),Object.setPrototypeOf(this,t.prototype);}},KE=class t extends rt{constructor(e="WebrpcClientDisconnected",s=-8,r="client disconnected",n=0,i){super(e,s,r,n,i),Object.setPrototypeOf(this,t.prototype);}},GE=class t extends rt{constructor(e="WebrpcStreamLost",s=-9,r="stream lost",n=0,i){super(e,s,r,n,i),Object.setPrototypeOf(this,t.prototype);}},WE=class t extends rt{constructor(e="WebrpcStreamFinished",s=-10,r="stream finished",n=0,i){super(e,s,r,n,i),Object.setPrototypeOf(this,t.prototype);}},JE=class t extends rt{constructor(e="InternalError",s=7100,r="Internal error",n=0,i){super(e,s,r,n,i),Object.setPrototypeOf(this,t.prototype);}},zE=class t extends rt{constructor(e="EncryptionError",s=7101,r="Encryption error",n=0,i){super(e,s,r,n,i),Object.setPrototypeOf(this,t.prototype);}},YE=class t extends rt{constructor(e="DatabaseError",s=7102,r="Database error",n=0,i){super(e,s,r,n,i),Object.setPrototypeOf(this,t.prototype);}},ZE=class t extends rt{constructor(e="DataIntegrityError",s=7103,r="Data integrity error",n=0,i){super(e,s,r,n,i),Object.setPrototypeOf(this,t.prototype);}},XE=class t extends rt{constructor(e="IdentityProviderError",s=7104,r="Identity provider error",n=0,i){super(e,s,r,n,i),Object.setPrototypeOf(this,t.prototype);}},QE=class t extends rt{constructor(e="InvalidRequest",s=7200,r="The request was invalid",n=0,i){super(e,s,r,n,i),Object.setPrototypeOf(this,t.prototype);}},e2=class t extends rt{constructor(e="InvalidSignature",s=7201,r="The signature was invalid",n=0,i){super(e,s,r,n,i),Object.setPrototypeOf(this,t.prototype);}},t2=class t extends rt{constructor(e="KeyNotFound",s=7202,r="The authentication key was not found",n=0,i){super(e,s,r,n,i),Object.setPrototypeOf(this,t.prototype);}},s2=class t extends rt{constructor(e="KeyExpired",s=7203,r="The authentication key expired",n=0,i){super(e,s,r,n,i),Object.setPrototypeOf(this,t.prototype);}},r2=class t extends rt{constructor(e="SignerNotFound",s=7204,r="The signer was not found",n=0,i){super(e,s,r,n,i),Object.setPrototypeOf(this,t.prototype);}},n2=class t extends rt{constructor(e="ProofVerificationFailed",s=7002,r="The authentication proof could not be verified",n=0,i){super(e,s,r,n,i),Object.setPrototypeOf(this,t.prototype);}},i2=class t extends rt{constructor(e="AnswerIncorrect",s=7003,r="The provided answer is incorrect",n=0,i){super(e,s,r,n,i),Object.setPrototypeOf(this,t.prototype);}},a2=class t extends rt{constructor(e="ChallengeExpired",s=7004,r="The challenge has expired",n=0,i){super(e,s,r,n,i),Object.setPrototypeOf(this,t.prototype);}},o2=class t extends rt{constructor(e="TooManyAttempts",s=7005,r="Too many attempts",n=0,i){super(e,s,r,n,i),Object.setPrototypeOf(this,t.prototype);}},c2=class t extends rt{constructor(e="OAuthError",s=7006,r="Failed to exchange OAuth credentials",n=0,i){super(e,s,r,n,i),Object.setPrototypeOf(this,t.prototype);}},u2=class t extends rt{constructor(e="AccessError",s=7007,r="Access error",n=0,i){super(e,s,r,n,i),Object.setPrototypeOf(this,t.prototype);}},wN;(function(t){t.WebrpcEndpoint="WebrpcEndpoint",t.WebrpcRequestFailed="WebrpcRequestFailed",t.WebrpcBadRoute="WebrpcBadRoute",t.WebrpcBadMethod="WebrpcBadMethod",t.WebrpcBadRequest="WebrpcBadRequest",t.WebrpcBadResponse="WebrpcBadResponse",t.WebrpcServerPanic="WebrpcServerPanic",t.WebrpcInternalError="WebrpcInternalError",t.WebrpcClientDisconnected="WebrpcClientDisconnected",t.WebrpcStreamLost="WebrpcStreamLost",t.WebrpcStreamFinished="WebrpcStreamFinished",t.InternalError="InternalError",t.EncryptionError="EncryptionError",t.DatabaseError="DatabaseError",t.DataIntegrityError="DataIntegrityError",t.IdentityProviderError="IdentityProviderError",t.InvalidRequest="InvalidRequest",t.InvalidSignature="InvalidSignature",t.KeyNotFound="KeyNotFound",t.KeyExpired="KeyExpired",t.SignerNotFound="SignerNotFound",t.ProofVerificationFailed="ProofVerificationFailed",t.AnswerIncorrect="AnswerIncorrect",t.ChallengeExpired="ChallengeExpired",t.TooManyAttempts="TooManyAttempts",t.OAuthError="OAuthError",t.AccessError="AccessError";})(wN||(wN={}));var bN;(function(t){t[t.WebrpcEndpoint=0]="WebrpcEndpoint",t[t.WebrpcRequestFailed=-1]="WebrpcRequestFailed",t[t.WebrpcBadRoute=-2]="WebrpcBadRoute",t[t.WebrpcBadMethod=-3]="WebrpcBadMethod",t[t.WebrpcBadRequest=-4]="WebrpcBadRequest",t[t.WebrpcBadResponse=-5]="WebrpcBadResponse",t[t.WebrpcServerPanic=-6]="WebrpcServerPanic",t[t.WebrpcInternalError=-7]="WebrpcInternalError",t[t.WebrpcClientDisconnected=-8]="WebrpcClientDisconnected",t[t.WebrpcStreamLost=-9]="WebrpcStreamLost",t[t.WebrpcStreamFinished=-10]="WebrpcStreamFinished",t[t.InternalError=7100]="InternalError",t[t.EncryptionError=7101]="EncryptionError",t[t.DatabaseError=7102]="DatabaseError",t[t.DataIntegrityError=7103]="DataIntegrityError",t[t.IdentityProviderError=7104]="IdentityProviderError",t[t.InvalidRequest=7200]="InvalidRequest",t[t.InvalidSignature=7201]="InvalidSignature",t[t.KeyNotFound=7202]="KeyNotFound",t[t.KeyExpired=7203]="KeyExpired",t[t.SignerNotFound=7204]="SignerNotFound",t[t.ProofVerificationFailed=7002]="ProofVerificationFailed",t[t.AnswerIncorrect=7003]="AnswerIncorrect",t[t.ChallengeExpired=7004]="ChallengeExpired",t[t.TooManyAttempts=7005]="TooManyAttempts",t[t.OAuthError=7006]="OAuthError",t[t.AccessError=7007]="AccessError";})(bN||(bN={}));var uD={0:HE,[-1]:gu,[-2]:jE,[-3]:ME,[-4]:$E,[-5]:w1,[-6]:qE,[-7]:FE,[-8]:KE,[-9]:GE,[-10]:WE,7100:JE,7101:zE,7102:YE,7103:ZE,7104:XE,7200:QE,7201:e2,7202:t2,7203:s2,7204:r2,7002:n2,7003:i2,7004:a2,7005:o2,7006:c2,7007:u2};d();h();d();h();var Qa=class extends Error{};Qa.prototype.name="InvalidTokenError";function lD(t){return decodeURIComponent(atob(t).replace(/(.)/g,(e,s)=>{let r=s.charCodeAt(0).toString(16).toUpperCase();return r.length<2&&(r="0"+r),"%"+r}))}function fD(t){let e=t.replace(/-/g,"+").replace(/_/g,"/");switch(e.length%4){case 0:break;case 2:e+="==";break;case 3:e+="=";break;default:throw new Error("base64 string is not of the correct length")}try{return lD(e)}catch{return atob(e)}}function vN(t,e){if(typeof t!="string")throw new Qa("Invalid token specified: must be a string");e||(e={});let s=e.header===!0?0:1,r=t.split(".")[s];if(typeof r!="string")throw new Qa(`Invalid token specified: missing part #${s+1}`);let n;try{n=fD(r);}catch(i){throw new Qa(`Invalid token specified: invalid base64 for part #${s+1} (${i.message})`)}try{return JSON.parse(n)}catch(i){throw new Qa(`Invalid token specified: invalid json for part #${s+1} (${i.message})`)}}var l2=class{},b1=class extends l2{issuer;audience;idToken;handle="";exp="";constructor(e,s,r){super(),this.issuer=e,this.audience=s,this.idToken=r;let n=vN(this.idToken),i=he.keccak256(new TextEncoder().encode(this.idToken));this.handle=P.fromBytes(i),this.exp=n.exp?.toString()??"";}getCommitParams(){return {authMode:yu.IDToken,identityType:un.OIDC,handle:this.handle,metadata:{iss:this.issuer,aud:this.audience,exp:this.exp}}}getCompleteParams(){return {authMode:yu.IDToken,identityType:un.OIDC,verifier:this.handle,answer:this.idToken}}};var Oh=class{scope;rpc;constructor(e,s,r=window.fetch){this.rpc=new y1(e.endsWith("/")?e.slice(0,-1):e,r),this.scope=s;}async commitVerifier(e,s){let r={...s.getCommitParams(),scope:this.scope},n=await e.sign(f.fromString(g1(r)));return this.rpc.commitVerifier({params:r,authKey:{address:e.address,keyType:e.keyType},signature:n})}async completeAuth(e,s){let r={...s.getCompleteParams(),signerType:Pr.Ethereum_Secp256k1,scope:this.scope},n=await e.sign(f.fromString(g1(r)));return this.rpc.completeAuth({params:r,authKey:{address:e.address,keyType:e.keyType},signature:n})}async sign(e,s){let r={scope:this.scope,signer:{address:e.signer,keyType:Pr.Ethereum_Secp256k1},digest:P.fromBytes(s),nonce:P.fromNumber(Date.now())},n=await this.rpc.sign({params:r,authKey:{address:e.address,keyType:e.keyType},signature:await e.sign(f.fromString(g1(r)))});return P.assert(n.signature),n.signature}};function f2(t){return {address:t.address,keyType:Pr.WebCrypto_Secp256r1,signer:t.identitySigner,async sign(e){let s=await window.crypto.subtle.sign({name:"ECDSA",hash:"SHA-256"},t.privateKey,new Uint8Array(e));return P.fromBytes(new Uint8Array(s))}}}var S1=class{identityInstrument;authKey;constructor(e,s){this.identityInstrument=e,this.authKey=s;}get address(){if(!j.validate(this.authKey.identitySigner))throw new Error("No signer address found");return j.checksum(this.authKey.identitySigner)}async sign(e,s,r){let n=Te.hash(e,s,r);return this.signDigest(n)}async signDigest(e){let s=await this.identityInstrument.sign(f2(this.authKey),e);return {type:"hash",...Gt.fromHex(s)}}async witness(e,s,r){let n=Te.fromMessage(P.fromString(JSON.stringify({action:"consent-to-be-part-of-wallet",wallet:s,signer:this.address,timestamp:Date.now(),...r}))),i=await this.sign(s,0,n);await e.saveWitnesses(s,0,n,{type:"unrecovered-signer",weight:1n,signature:i});}};d();h();d();h();d();h();d();h();d();h();function EN(t){return typeof t=="object"&&"signature"in t&&"imageHash"in t}var wu={};Ne(wu,{Cached:()=>P2,Local:()=>T2,Remote:()=>B2,Sequence:()=>_h,getWalletsFor:()=>SD,multiplex:()=>OD,normalizeAddressKeys:()=>Or});d();h();var T2={};Ne(T2,{IndexedDbStore:()=>C2,MemoryStore:()=>Lh,Provider:()=>N2});d();h();d();h();var Lh=class{configs=new Map;counterfactualWallets=new Map;payloads=new Map;signerSubdigests=new Map;signatures=new Map;sapientSignerSubdigests=new Map;sapientSignatures=new Map;trees=new Map;deepCopy(e){if(typeof structuredClone=="function")return structuredClone(e);if(e===null||typeof e!="object")return e;if(e instanceof Date)return new Date(e.getTime());if(Array.isArray(e))return e.map(r=>this.deepCopy(r));if(e instanceof Map)return new Map(Array.from(e,([r,n])=>[this.deepCopy(r),this.deepCopy(n)]));if(e instanceof Set)return new Set(Array.from(e,r=>this.deepCopy(r)));let s={};for(let[r,n]of Object.entries(e))s[r]=this.deepCopy(n);return s}getSignatureKey(e,s){return `${e.toLowerCase()}-${s.toLowerCase()}`}getSapientSignatureKey(e,s,r){return `${e.toLowerCase()}-${r.toLowerCase()}-${s.toLowerCase()}`}async loadConfig(e){let s=this.configs.get(e.toLowerCase());return s?this.deepCopy(s):void 0}async saveConfig(e,s){this.configs.set(e.toLowerCase(),this.deepCopy(s));}async loadCounterfactualWallet(e){let s=this.counterfactualWallets.get(e.toLowerCase());return s?this.deepCopy(s):void 0}async saveCounterfactualWallet(e,s,r){this.counterfactualWallets.set(e.toLowerCase(),this.deepCopy({imageHash:s,context:r}));}async loadPayloadOfSubdigest(e){let s=this.payloads.get(e.toLowerCase());return s?this.deepCopy(s):void 0}async savePayloadOfSubdigest(e,s){this.payloads.set(e.toLowerCase(),this.deepCopy(s));}async loadSubdigestsOfSigner(e){let s=this.signerSubdigests.get(e.toLowerCase());return s?Array.from(s).map(r=>r):[]}async loadSignatureOfSubdigest(e,s){let r=this.getSignatureKey(e,s),n=this.signatures.get(r);return n?this.deepCopy(n):void 0}async saveSignatureOfSubdigest(e,s,r){let n=this.getSignatureKey(e,s);this.signatures.set(n,this.deepCopy(r));let i=e.toLowerCase(),a=s.toLowerCase();this.signerSubdigests.has(i)||this.signerSubdigests.set(i,new Set),this.signerSubdigests.get(i).add(a);}async loadSubdigestsOfSapientSigner(e,s){let r=`${e.toLowerCase()}-${s.toLowerCase()}`,n=this.sapientSignerSubdigests.get(r);return n?Array.from(n).map(i=>i):[]}async loadSapientSignatureOfSubdigest(e,s,r){let n=this.getSapientSignatureKey(e,s,r),i=this.sapientSignatures.get(n);return i?this.deepCopy(i):void 0}async saveSapientSignatureOfSubdigest(e,s,r,n){let i=this.getSapientSignatureKey(e,s,r);this.sapientSignatures.set(i,this.deepCopy(n));let a=`${e.toLowerCase()}-${r.toLowerCase()}`,o=s.toLowerCase();this.sapientSignerSubdigests.has(a)||this.sapientSignerSubdigests.set(a,new Set),this.sapientSignerSubdigests.get(a).add(o);}async loadTree(e){let s=this.trees.get(e.toLowerCase());return s?this.deepCopy(s):void 0}async saveTree(e,s){this.trees.set(e.toLowerCase(),this.deepCopy(s));}};d();h();var hr={};Ne(hr,{Guard:()=>A2,Passkey:()=>y2,Pk:()=>p2,Session:()=>v2,SessionManager:()=>E2,isSapientSigner:()=>I2,isSigner:()=>bD});d();h();var p2={};Ne(p2,{Encrypted:()=>d2,MemoryPkStore:()=>ci,Pk:()=>m2});d();h();var d2={};Ne(d2,{EncryptedPkStore:()=>v1,EncryptedPksDb:()=>h2});d();h();var h2=class{localStorageKeyPrefix;tableName;dbName="pk-db";dbVersion=1;constructor(e="e_pk_key_",s="e_pk"){this.localStorageKeyPrefix=e,this.tableName=s;}computeDbKey(e){return `pk_${e.toLowerCase()}`}openDB(){return new Promise((e,s)=>{let r=indexedDB.open(this.dbName,this.dbVersion);r.onupgradeneeded=()=>{let n=r.result;n.objectStoreNames.contains(this.tableName)||n.createObjectStore(this.tableName);},r.onsuccess=()=>e(r.result),r.onerror=()=>s(r.error);})}async putData(e,s){let r=await this.openDB();return new Promise((n,i)=>{let c=r.transaction(this.tableName,"readwrite").objectStore(this.tableName).put(s,e);c.onsuccess=()=>n(),c.onerror=()=>i(c.error);})}async getData(e){let s=await this.openDB();return new Promise((r,n)=>{let o=s.transaction(this.tableName,"readonly").objectStore(this.tableName).get(e);o.onsuccess=()=>r(o.result),o.onerror=()=>n(o.error);})}async getAllData(){let e=await this.openDB();return new Promise((s,r)=>{let a=e.transaction(this.tableName,"readonly").objectStore(this.tableName).getAll();a.onsuccess=()=>s(a.result),a.onerror=()=>r(a.error);})}async generateAndStore(){let e=await window.crypto.subtle.generateKey({name:"AES-GCM",length:256},!0,["encrypt","decrypt"]),s=P.random(32),r=es.getPublicKey({privateKey:s}),n=j.fromPublicKey(r),i=this.localStorageKeyPrefix+n,a=await window.crypto.subtle.exportKey("jwk",e);window.localStorage.setItem(i,JSON.stringify(a));let c=new TextEncoder().encode(s),u=window.crypto.getRandomValues(new Uint8Array(12)),l=await window.crypto.subtle.encrypt({name:"AES-GCM",iv:u},e,c),p={iv:u,data:l,keyPointer:i,address:n,publicKey:r},w=this.computeDbKey(n);return await this.putData(w,p),p}async getEncryptedEntry(e){let s=this.computeDbKey(e);return this.getData(s)}async getEncryptedPkStore(e){let s=await this.getEncryptedEntry(e);if(s)return new v1(s)}async listAddresses(){return (await this.getAllData()).map(s=>s.address)}async remove(e){let s=this.computeDbKey(e);await this.putData(s,void 0);let r=this.localStorageKeyPrefix+e;window.localStorage.removeItem(r);}},v1=class{encrypted;constructor(e){this.encrypted=e;}address(){return this.encrypted.address}publicKey(){return this.encrypted.publicKey}async signDigest(e){let s=window.localStorage.getItem(this.encrypted.keyPointer);if(!s)throw new Error("Encryption key not found in localStorage");let r=JSON.parse(s),n=await window.crypto.subtle.importKey("jwk",r,{name:"AES-GCM"},!1,["decrypt"]),i=await window.crypto.subtle.decrypt({name:"AES-GCM",iv:this.encrypted.iv},n,this.encrypted.data),o=new TextDecoder().decode(i);return es.sign({payload:e,privateKey:o})}};var ci=class{privateKey;constructor(e){this.privateKey=e;}address(){return j.fromPublicKey(this.publicKey())}publicKey(){return es.getPublicKey({privateKey:this.privateKey})}signDigest(e){return Promise.resolve(es.sign({payload:e,privateKey:this.privateKey}))}},m2=class{privateKey;address;pubKey;constructor(e){this.privateKey=typeof e=="string"?new ci(e):e,this.pubKey=this.privateKey.publicKey(),this.address=this.privateKey.address();}async sign(e,s,r){let n=Te.hash(e,s,r);return this.signDigest(n)}async signDigest(e){return {...await this.privateKey.signDigest(e),type:"hash"}}async witness(e,s,r){let n=Te.fromMessage(P.fromString(JSON.stringify({action:"consent-to-be-part-of-wallet",wallet:s,signer:this.address,timestamp:Date.now(),...r}))),i=await this.sign(s,0,n);await e.saveWitnesses(s,0,n,{type:"unrecovered-signer",weight:1n,signature:i});}};var y2={};Ne(y2,{Passkey:()=>g2,isWitnessMessage:()=>xN});d();h();function xN(t){return typeof t=="object"&&t!==null&&"action"in t&&t.action==="consent-to-be-part-of-wallet"}var g2=class t{credentialId;publicKey;address;imageHash;embedMetadata;metadata;constructor(e){this.address=e.extensions.passkeys,this.publicKey=e.publicKey,this.credentialId=e.credentialId,this.embedMetadata=e.embedMetadata??!1,this.imageHash=qe.Passkeys.rootFor(e.publicKey),this.metadata=e.metadata;}static async loadFromWitness(e,s,r,n){let i=await e.getWitnessForSapient(r,s.passkeys,n);if(!i)throw new Error("Witness for wallet not found");let a=i.payload;if(!Te.isMessage(a))throw new Error("Witness payload is not a message");let o=JSON.parse(P.toString(a.message));if(!xN(o))throw new Error("Witness payload is not a witness message");let c=o.publicKey.metadata||o.metadata;if(typeof c=="string"||!c)throw new Error("Metadata does not contain credential id");let u=qe.Passkeys.decode(f.fromHex(i.signature.data));return new t({credentialId:c.credentialId,extensions:s,publicKey:o.publicKey,embedMetadata:u.embedMetadata,metadata:c})}static async create(e,s){let r=s?.credentialName??`Sequence (${Date.now()})`,n=await ii.createCredential({user:{name:r}}),i=P.fromNumber(n.publicKey.x),a=P.fromNumber(n.publicKey.y),o={credentialId:n.id},c=new t({credentialId:n.id,extensions:e,publicKey:{requireUserVerification:s?.requireUserVerification??!0,x:i,y:a,metadata:s?.embedMetadata?o:void 0},embedMetadata:s?.embedMetadata,metadata:o});return s?.stateProvider&&await s.stateProvider.saveTree(qe.Passkeys.toTree(c.publicKey)),c}static async find(e,s){let r=await ii.sign({challenge:P.random(32)});if(!r.raw)throw new Error("No credential returned");let n=f.fromHex(r.metadata.authenticatorData),i=he.sha256(f.fromString(r.metadata.clientDataJSON),{as:"Bytes"}),a=f.concat(n,i),o=he.sha256(a,{as:"Bytes"}),c=au.recoverPublicKey({payload:o,signature:{r:BigInt(r.signature.r),s:BigInt(r.signature.s),yParity:0}}),u=au.recoverPublicKey({payload:o,signature:{r:BigInt(r.signature.r),s:BigInt(r.signature.s),yParity:1}}),l={x:P.fromNumber(c.x),y:P.fromNumber(c.y)},p={x:P.fromNumber(u.x),y:P.fromNumber(u.y)},w={credentialId:r.raw.id},E=[qe.Passkeys.rootFor({...l,requireUserVerification:!0}),qe.Passkeys.rootFor({...l,requireUserVerification:!1}),qe.Passkeys.rootFor({...l,requireUserVerification:!0,metadata:w}),qe.Passkeys.rootFor({...l,requireUserVerification:!1,metadata:w}),qe.Passkeys.rootFor({...p,requireUserVerification:!0}),qe.Passkeys.rootFor({...p,requireUserVerification:!1}),qe.Passkeys.rootFor({...p,requireUserVerification:!0,metadata:w}),qe.Passkeys.rootFor({...p,requireUserVerification:!1,metadata:w})],I=(await Promise.all(E.map(async C=>{let D=await e.getWalletsForSapient(s.passkeys,C);return Object.keys(D).map(V=>({wallet:j.from(V),imageHash:C}))}))).flat().filter((C,D,V)=>V.findIndex(B=>j.isEqual(B.wallet,C.wallet)&&B.imageHash===C.imageHash)===D);if(I.length!==0)return I.length>1&&console.warn("Multiple signers found for passkey",I),t.loadFromWitness(e,s,I[0].wallet,I[0].imageHash)}async signSapient(e,s,r,n){if(this.imageHash!==n)throw new Error("Unexpected image hash");let i=P.fromBytes(Te.hash(e,s,r)),a=await ii.sign({challenge:i,credentialId:this.credentialId,userVerification:this.publicKey.requireUserVerification?"required":"discouraged"}),o=f.fromHex(a.metadata.authenticatorData),c=f.fromNumber(a.signature.r),u=f.fromNumber(a.signature.s),l=qe.Passkeys.encode({publicKey:this.publicKey,r:c,s:u,authenticatorData:o,clientDataJSON:a.metadata.clientDataJSON,embedMetadata:this.embedMetadata});return {address:this.address,data:f.toHex(l),type:"sapient_compact"}}async witness(e,s,r){let n=Te.fromMessage(P.fromString(JSON.stringify({action:"consent-to-be-part-of-wallet",wallet:s,publicKey:this.publicKey,metadata:this.metadata,timestamp:Date.now(),...r}))),i=await this.signSapient(s,0,n,this.imageHash);await e.saveWitnesses(s,0,n,{type:"unrecovered-signer",weight:1n,signature:i});}};var v2={};Ne(v2,{Explicit:()=>w2,Implicit:()=>b2,isExplicitSessionSigner:()=>E1,isImplicitSessionSigner:()=>S2});d();h();d();h();var AN="0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE",w2=class{_privateKey;address;sessionPermissions;constructor(e,s){this._privateKey=typeof e=="string"?new ci(e):e,this.address=this._privateKey.address(),this.sessionPermissions={...s,signer:this.address};}isValid(e,s){if(this.sessionPermissions.deadline<=BigInt(Math.floor(Date.now()/1e3)))return {isValid:!1,invalidReason:"Expired"};if(this.sessionPermissions.chainId!==0&&this.sessionPermissions.chainId!==s)return {isValid:!1,invalidReason:"Chain ID mismatch"};let r=Js.getSessionPermissions(e,this.address);if(!r)return {isValid:!1,invalidReason:"Permission not found"};if(r.deadline!==this.sessionPermissions.deadline||r.chainId!==this.sessionPermissions.chainId||r.valueLimit!==this.sessionPermissions.valueLimit||r.permissions.length!==this.sessionPermissions.permissions.length)return {isValid:!1,invalidReason:"Permission mismatch"};for(let[n,i]of r.permissions.entries()){let a=this.sessionPermissions.permissions[n];if(!j.isEqual(i.target,a.target)||i.rules.length!==a.rules.length)return {isValid:!1,invalidReason:"Permission rule mismatch"};for(let[o,c]of i.rules.entries()){let u=a.rules[o];if(c.cumulative!==u.cumulative||c.operation!==u.operation||!f.isEqual(c.value,u.value)||c.offset!==u.offset||!f.isEqual(c.mask,u.mask))return {isValid:!1,invalidReason:"Permission rule mismatch"}}}return {isValid:!0}}async findSupportedPermission(e,s,r,n,i){if(!(this.sessionPermissions.chainId!==0&&this.sessionPermissions.chainId!==s)){if(r.value!==0n){if(!i)throw new Error("Value transaction validation requires a provider");let a=he.keccak256(mt.encode([{type:"address",name:"signer"},{type:"address",name:"valueTrackingAddress"}],[this.address,AN])),{usageAmount:o}=await this.readCurrentUsageLimit(e,n,a,i),c=f.fromNumber(o+r.value,{size:32});if(f.toBigInt(c)>this.sessionPermissions.valueLimit)return}for(let a of this.sessionPermissions.permissions)if(await this.validatePermission(a,r,e,n,i))return a}}getPermissionUsageHash(e,s){let r={target:e.target,rules:e.rules.map(n=>({cumulative:n.cumulative,operation:n.operation,value:f.toHex(n.value),offset:n.offset,mask:f.toHex(n.mask)}))};return he.keccak256(mt.encode([{type:"address",name:"signer"},cn.permissionStructAbi,{type:"uint256",name:"ruleIndex"}],[this.address,r,BigInt(s)]))}getValueUsageHash(){return he.keccak256(mt.encode([{type:"address",name:"signer"},{type:"address",name:"valueTrackingAddress"}],[this.address,AN]))}async validatePermission(e,s,r,n,i){if(!j.isEqual(e.target,s.to))return !1;for(let[a,o]of e.rules.entries()){let u=f.padRight(f.fromHex(s.data).slice(Number(o.offset),Number(o.offset)+32),32).map((l,p)=>l&o.mask[p]);if(o.cumulative)if(i){let{usageAmount:l}=await this.readCurrentUsageLimit(r,n,this.getPermissionUsageHash(e,a),i);u=f.fromNumber(l+f.toBigInt(u),{size:32});}else throw new Error("Cumulative rules require a provider");if(o.operation===cn.ParameterOperation.EQUAL&&!f.isEqual(u,o.value)||o.operation===cn.ParameterOperation.LESS_THAN_OR_EQUAL&&f.toBigInt(u)>f.toBigInt(o.value)||o.operation===cn.ParameterOperation.NOT_EQUAL&&f.isEqual(u,o.value)||o.operation===cn.ParameterOperation.GREATER_THAN_OR_EQUAL&&f.toBigInt(u)<f.toBigInt(o.value))return !1}return !0}async supportedCall(e,s,r,n,i){return j.isEqual(r.to,n)&&P.size(r.data)>4&&P.isEqual(P.slice(r.data,0,4),me.getSelector(yt.INCREMENT_USAGE_LIMIT))?!0:!!await this.findSupportedPermission(e,s,r,n,i)}async signCall(e,s,r,n,i,a){let o=r.calls[n],c;if(j.isEqual(o.to,i)&&P.size(o.data)>4&&P.isEqual(P.slice(o.data,0,4),me.getSelector(yt.INCREMENT_USAGE_LIMIT)))c=0;else {let p=await this.findSupportedPermission(e,s,o,i,a);if(!p)throw new Error("Invalid permission");if(c=this.sessionPermissions.permissions.indexOf(p),c===-1)throw new Error("Invalid permission")}let u=oi.hashPayloadWithCallIdx(e,r,n,s,i),l=await this._privateKey.signDigest(f.fromHex(u));return {permissionIndex:BigInt(c),sessionSignature:l}}async readCurrentUsageLimit(e,s,r,n){let i=me.encodeData(yt.GET_LIMIT_USAGE,[e,r]),a=await n.request({method:"eth_call",params:[{to:s,data:i},"latest"]}),o=me.decodeResult(yt.GET_LIMIT_USAGE,a);return {usageHash:r,usageAmount:o}}async prepareIncrements(e,s,r,n,i){let a=[],o=this.getValueUsageHash(),u=(await this.readCurrentUsageLimit(e,n,o,i)).usageAmount;for(let p of r){let w=await this.findSupportedPermission(e,s,p,n,i);if(w){for(let[E,S]of w.rules.entries()){if(!S.cumulative)continue;let C=f.padRight(f.fromHex(p.data).slice(Number(S.offset),Number(S.offset)+32),32).map((B,k)=>B&S.mask[k]);if(f.toBigInt(C)===0n)continue;let D=this.getPermissionUsageHash(w,E),V=a.find(B=>P.isEqual(B.usageHash,D));V?V.increment+=f.toBigInt(C):a.push({usageHash:D,increment:f.toBigInt(C)});}u+=p.value;}}if(a.length===0&&u===0n)return [];let l=await Promise.all(a.map(async({usageHash:p,increment:w})=>{if(w===0n)return null;let E=await this.readCurrentUsageLimit(e,n,p,i);if(P.isEqual(p,o)&&E.usageAmount+w>this.sessionPermissions.valueLimit)throw new Error("Value transaction validation failed");return {usageHash:p,usageAmount:E.usageAmount+w}})).then(p=>p.filter(w=>w!==null));return u>0n&&l.push({usageHash:o,usageAmount:u}),l}};d();h();var b2=class{_attestation;_sessionManager;_privateKey;_identitySignature;address;constructor(e,s,r,n){if(this._attestation=s,this._sessionManager=n,this._privateKey=typeof e=="string"?new ci(e):e,this.address=this._privateKey.address(),this._attestation.approvedSigner!==this.address)throw new Error("Invalid attestation");if(this._attestation.authData.issuedAt>BigInt(Math.floor(Date.now()/1e3)))throw new Error("Attestation issued in the future");this._identitySignature=typeof r=="string"?Gt.fromHex(r):r;}get identitySigner(){let e=Wt.hash(this._attestation),s=es.recoverPublicKey({payload:e,signature:this._identitySignature});return j.fromPublicKey(s)}isValid(e,s){let r=Js.getIdentitySigners(e),n=this.identitySigner;return r.some(a=>j.isEqual(a,n))?Js.getImplicitBlacklist(e)?.some(a=>j.isEqual(a,this.address))?{isValid:!1,invalidReason:"Blacklisted"}:{isValid:!0}:{isValid:!1,invalidReason:"Identity signer not found"}}async supportedCall(e,s,r,n,i){if(!i)throw new Error("Provider is required");try{let a=me.encodeData(IN,[e,{approvedSigner:this._attestation.approvedSigner,identityType:f.toHex(this._attestation.identityType),issuerHash:f.toHex(this._attestation.issuerHash),audienceHash:f.toHex(this._attestation.audienceHash),applicationData:f.toHex(this._attestation.applicationData),authData:this._attestation.authData},{to:r.to,value:r.value,data:r.data,gasLimit:r.gasLimit,delegateCall:r.delegateCall,onlyFallback:r.onlyFallback,behaviorOnError:BigInt(Te.encodeBehaviorOnError(r.behaviorOnError))}]),o=await i.request({method:"eth_call",params:[{from:this._sessionManager,to:r.to,data:a},"latest"]}),c=P.from(me.decodeResult(IN,o)),u=f.toHex(Wt.generateImplicitRequestMagic(this._attestation,e));return c===u}catch{return !1}}async signCall(e,s,r,n,i,a){let o=r.calls[n];if(!await this.supportedCall(e,s,o,i,a))throw new Error("Unsupported call");let u=oi.hashPayloadWithCallIdx(e,r,n,s,i),l=await this._privateKey.signDigest(f.fromHex(u));return {attestation:this._attestation,identitySignature:this._identitySignature,sessionSignature:l}}},IN={type:"function",name:"acceptImplicitRequest",inputs:[{name:"wallet",type:"address",internalType:"address"},{name:"attestation",type:"tuple",internalType:"struct Attestation",components:[{name:"approvedSigner",type:"address",internalType:"address"},{name:"identityType",type:"bytes4",internalType:"bytes4"},{name:"issuerHash",type:"bytes32",internalType:"bytes32"},{name:"audienceHash",type:"bytes32",internalType:"bytes32"},{name:"applicationData",type:"bytes",internalType:"bytes"},{internalType:"struct AuthData",name:"authData",type:"tuple",components:[{internalType:"string",name:"redirectUrl",type:"string"},{internalType:"uint64",name:"issuedAt",type:"uint64"}]}]},{name:"call",type:"tuple",internalType:"struct Payload.Call",components:[{name:"to",type:"address",internalType:"address"},{name:"value",type:"uint256",internalType:"uint256"},{name:"data",type:"bytes",internalType:"bytes"},{name:"gasLimit",type:"uint256",internalType:"uint256"},{name:"delegateCall",type:"bool",internalType:"bool"},{name:"onlyFallback",type:"bool",internalType:"bool"},{name:"behaviorOnError",type:"uint256",internalType:"uint256"}]}],outputs:[{name:"",type:"bytes32",internalType:"bytes32"}],stateMutability:"view"};d();h();function E1(t){return "prepareIncrements"in t}function S2(t){return "identitySigner"in t}d();h();var hD=2n**80n-1n,E2=class t{wallet;stateProvider;address;_implicitSigners;_explicitSigners;_provider;constructor(e,s){this.wallet=e,this.stateProvider=s.stateProvider??e.stateProvider,this.address=s.sessionManagerAddress,this._implicitSigners=s.implicitSigners??[],this._explicitSigners=s.explicitSigners??[],this._provider=s.provider;}get imageHash(){return this.getImageHash()}async getImageHash(){let{configuration:e}=await this.wallet.getStatus(),s=Ye.findSignerLeaf(e,this.address);if(!(!s||!Ye.isSapientSignerLeaf(s)))return s.imageHash}get topology(){return this.getTopology()}async getTopology(){let e=await this.imageHash;if(!e)throw new Error(`Session configuration not found for image hash ${e}`);let s=await this.stateProvider.getTree(e);if(!s)throw new Error(`Session configuration not found for image hash ${e}`);return Js.configurationTreeToSessionsTopology(s)}withProvider(e){return new t(this.wallet,{sessionManagerAddress:this.address,stateProvider:this.stateProvider,implicitSigners:this._implicitSigners,explicitSigners:this._explicitSigners,provider:e})}withImplicitSigner(e){let s=[...this._implicitSigners,e];return new t(this.wallet,{sessionManagerAddress:this.address,stateProvider:this.stateProvider,implicitSigners:s,explicitSigners:this._explicitSigners,provider:this._provider})}withExplicitSigner(e){let s=[...this._explicitSigners,e];return new t(this.wallet,{sessionManagerAddress:this.address,stateProvider:this.stateProvider,implicitSigners:this._implicitSigners,explicitSigners:s,provider:this._provider})}async listSignerValidity(e){let s=await this.topology,r=new Map;for(let n of this._implicitSigners)r.set(n.address,n.isValid(s,e));for(let n of this._explicitSigners)r.set(n.address,n.isValid(s,e));return Array.from(r.entries()).map(([n,{isValid:i,invalidReason:a}])=>({signer:n,isValid:i,invalidReason:a}))}async findSignersForCalls(e,s,r){let n=await this.topology;if(Js.getIdentitySigners(n).length===0)throw new Error("Identity signers not found");let a=[...this._implicitSigners,...this._explicitSigners];if(a.length===0)throw new Error("No signers match the topology");let o=[];for(let c of r){let u=!1,l;for(let p of a){try{if(u=await p.supportedCall(e,s,c,this.address,this._provider),u){let w=p.isValid(n,s);w.invalidReason==="Expired"&&(l=p),u=w.isValid;}}catch(w){console.error("findSignersForCalls error",w);continue}if(u){o.push(p);break}}if(!u)throw l?new Error(`Signer supporting call is expired: ${l.address}`):new Error(`No signer supported for call. Call: to=${c.to}, data=${c.data}, value=${c.value}, `)}return o}async prepareIncrement(e,s,r){if(r.length===0)throw new Error("No calls provided");let n=await this.findSignersForCalls(e,s,r),i=new Map;n.forEach((u,l)=>{let p=r[l],w=i.get(u)||[];i.set(u,[...w,p]);});let a=(await Promise.all(Array.from(i.entries()).map(async([u,l])=>E1(u)?u.prepareIncrements(e,s,l,this.address,this._provider):[]))).flat();if(a.length===0)return null;if(a.filter((u,l,p)=>l===p.findIndex(w=>w.usageHash===u.usageHash)).length!==a.length)throw new Error("Repeated usage hashes");let c=me.encodeData(yt.INCREMENT_USAGE_LIMIT,[a]);return {to:this.address,data:c,value:0n,delegateCall:!1,onlyFallback:!1,behaviorOnError:"revert",gasLimit:0n}}async signSapient(e,s,r,n){if(!j.isEqual(e,this.wallet.address))throw new Error("Wallet address mismatch");if(await this.imageHash!==n)throw new Error("Unexpected image hash");if(!Te.isCalls(r)||r.calls.length===0)throw new Error("Only calls are supported");if(r.space>hD)throw new Error(`Space ${r.space} is too large`);let i=await this.findSignersForCalls(e,s,r.calls);if(i.length!==r.calls.length)throw new Error("No signer supported for call");let a=await Promise.all(i.map(async(w,E)=>{try{return w.signCall(e,s,r,E,this.address,this._provider)}catch(S){throw console.error("signSapient error",S),S}})),o=await this.prepareIncrement(e,s,r.calls);if(o){let w;if(j.isEqual(this.address,qe.Dev1.sessions)||j.isEqual(this.address,qe.Dev2.sessions)?w=r.calls[r.calls.length-1]:w=r.calls[0],!j.isEqual(o.to,w.to)||!P.isEqual(o.data,w.data))throw new Error("Actual increment call does not match expected increment call")}let c=[],u=[],l;if(await Promise.all(i.map(async w=>{let E=await w.address;if(E1(w))c.find(S=>j.isEqual(S,E))||c.push(E);else if(S2(w)&&!u.find(S=>j.isEqual(S,E))){if(u.push(E),!l)l=w.identitySigner;else if(!j.isEqual(l,w.identitySigner))throw new Error("Multiple implicit signers with different identity signers")}})),!l){let w=Js.getIdentitySigners(await this.topology);if(w.length===0)throw new Error("No identity signers found");l=w[0];}let p=oi.encodeSessionSignature(a,await this.topology,l,c,u);return {type:"sapient",address:this.address,data:P.from(p)}}async isValidSapientSignature(e,s,r,n){if(!Te.isCalls(r))return !1;if(!this._provider)throw new Error("Provider not set");let i=Te.encodeSapient(s,r),a=me.encodeData(yt.RECOVER_SAPIENT_SIGNATURE,[i,n.data]);try{let o=await this._provider.request({method:"eth_call",params:[{from:e,to:this.address,data:a},"pending"]});return P.from(me.decodeResult(yt.RECOVER_SAPIENT_SIGNATURE,o))===await this.imageHash}catch(o){return console.error("recoverSapientSignature error",o),!1}}};d();h();d();h();d();h();d();h();var ui;(function(t){t.Calls="Calls",t.Message="Message",t.ConfigUpdate="ConfigUpdate",t.SessionImplicitAuthorize="SessionImplicitAuthorize";})(ui||(ui={}));var li;(function(t){t.Hash="Hash",t.Sapient="Sapient",t.EthSign="EthSign",t.Erc1271="Erc1271";})(li||(li={}));var CN;(function(t){t.WebrpcEndpoint="WebrpcEndpoint",t.WebrpcRequestFailed="WebrpcRequestFailed",t.WebrpcBadRoute="WebrpcBadRoute",t.WebrpcBadMethod="WebrpcBadMethod",t.WebrpcBadRequest="WebrpcBadRequest",t.WebrpcBadResponse="WebrpcBadResponse",t.WebrpcServerPanic="WebrpcServerPanic",t.WebrpcInternalError="WebrpcInternalError",t.WebrpcClientDisconnected="WebrpcClientDisconnected",t.WebrpcStreamLost="WebrpcStreamLost",t.WebrpcStreamFinished="WebrpcStreamFinished",t.Unauthorized="Unauthorized",t.PermissionDenied="PermissionDenied",t.SessionExpired="SessionExpired",t.MethodNotFound="MethodNotFound",t.RequestConflict="RequestConflict",t.Aborted="Aborted",t.Geoblocked="Geoblocked",t.RateLimited="RateLimited",t.InvalidArgument="InvalidArgument",t.Unavailable="Unavailable",t.QueryFailed="QueryFailed",t.ValidationFailed="ValidationFailed",t.NotFound="NotFound",t.RequiresTOTP="RequiresTOTP",t.RequiresPIN="RequiresPIN";})(CN||(CN={}));var NN;(function(t){t[t.WebrpcEndpoint=0]="WebrpcEndpoint",t[t.WebrpcRequestFailed=-1]="WebrpcRequestFailed",t[t.WebrpcBadRoute=-2]="WebrpcBadRoute",t[t.WebrpcBadMethod=-3]="WebrpcBadMethod",t[t.WebrpcBadRequest=-4]="WebrpcBadRequest",t[t.WebrpcBadResponse=-5]="WebrpcBadResponse",t[t.WebrpcServerPanic=-6]="WebrpcServerPanic",t[t.WebrpcInternalError=-7]="WebrpcInternalError",t[t.WebrpcClientDisconnected=-8]="WebrpcClientDisconnected",t[t.WebrpcStreamLost=-9]="WebrpcStreamLost",t[t.WebrpcStreamFinished=-10]="WebrpcStreamFinished",t[t.Unauthorized=1e3]="Unauthorized",t[t.PermissionDenied=1001]="PermissionDenied",t[t.SessionExpired=1002]="SessionExpired",t[t.MethodNotFound=1003]="MethodNotFound",t[t.RequestConflict=1004]="RequestConflict",t[t.Aborted=1005]="Aborted",t[t.Geoblocked=1006]="Geoblocked",t[t.RateLimited=1007]="RateLimited",t[t.InvalidArgument=2001]="InvalidArgument",t[t.Unavailable=2002]="Unavailable",t[t.QueryFailed=2003]="QueryFailed",t[t.ValidationFailed=2004]="ValidationFailed",t[t.NotFound=3e3]="NotFound",t[t.RequiresTOTP=6600]="RequiresTOTP",t[t.RequiresPIN=6601]="RequiresPIN";})(NN||(NN={}));d();h();d();h();var A2=class{guard;address;constructor(e){this.guard=e,this.address=this.guard.address;}async signEnvelope(e,s){let r={...e.payload,parentWallets:void 0},n=gD(e.payload),{message:i,digest:a}=yD(e.wallet,e.chainId,r),o=e.signatures.map(wD),c=await this.guard.signPayload(e.wallet,e.chainId,n,a,i,o,s?{id:s.id,token:s.code,resetAuth:s.resetAuth}:void 0);return {address:this.guard.address,signature:{type:"hash",...c}}}};function gD(t){switch(t.type){case"call":return ui.Calls;case"message":return ui.Message;case"config-update":return ui.ConfigUpdate;case"session-implicit-authorize":return ui.SessionImplicitAuthorize}throw new Error(`Payload type not supported by Guard: ${t.type}`)}function yD(t,e,s){if(Te.isSessionImplicitAuthorize(s))return {message:f.fromString(Wt.toJson(s.attestation)),digest:he.keccak256(Wt.encode(s.attestation))};let r=Te.toTyped(t,e,s);return {message:f.fromString(mh.serialize(r)),digest:f.fromHex(mh.getSignPayload(r))}}function wD(t){if(EN(t))return {type:li.Sapient,address:t.signature.address,imageHash:t.imageHash,data:t.signature.data};if(t.signature.type=="erc1271")return {type:li.Erc1271,address:t.signature.address,data:t.signature.data};let e={eth_sign:li.EthSign,hash:li.Hash}[t.signature.type];if(!e)throw new Error(`Signature type not supported by Guard: ${t.signature.type}`);return {type:e,address:t.address,data:Gt.toHex(t.signature)}}function I2(t){return "signSapient"in t}function bD(t){return "sign"in t}async function SD(t,e){let s=await vD(t,e);return Object.entries(s).map(([r,{chainId:n,payload:i,signature:a}])=>(P.assert(r),{wallet:r,chainId:n,payload:i,signature:a}))}async function vD(t,e){if(I2(e)){let[s,r]=await Promise.all([e.address,e.imageHash]);return r?t.getWalletsForSapient(s,r):(console.warn("Sapient signer has no imageHash"),{})}else return t.getWallets(await e.address)}function Or(t){return Object.fromEntries(Object.entries(t).map(([e,s])=>[j.checksum(e),s]))}d();h();var x1="configs",A1="counterfactualWallets",I1="payloads",Dh="signerSubdigests",C1="signatures",Vh="sapientSignerSubdigests",N1="sapientSignatures",T1="trees",C2=class{_db=null;dbName;constructor(e="sequence-indexeddb"){this.dbName=e;}async openDB(){return this._db?this._db:new Promise((e,s)=>{let r=indexedDB.open(this.dbName,1);r.onupgradeneeded=()=>{let n=r.result;n.objectStoreNames.contains(x1)||n.createObjectStore(x1),n.objectStoreNames.contains(A1)||n.createObjectStore(A1),n.objectStoreNames.contains(I1)||n.createObjectStore(I1),n.objectStoreNames.contains(Dh)||n.createObjectStore(Dh),n.objectStoreNames.contains(C1)||n.createObjectStore(C1),n.objectStoreNames.contains(Vh)||n.createObjectStore(Vh),n.objectStoreNames.contains(N1)||n.createObjectStore(N1),n.objectStoreNames.contains(T1)||n.createObjectStore(T1);},r.onsuccess=()=>{this._db=r.result,e(this._db);},r.onerror=()=>{s(r.error);};})}async get(e,s){let r=await this.openDB();return new Promise((n,i)=>{let c=r.transaction(e,"readonly").objectStore(e).get(s);c.onsuccess=()=>n(c.result),c.onerror=()=>i(c.error);})}async put(e,s,r){let n=await this.openDB();return new Promise((i,a)=>{let u=n.transaction(e,"readwrite").objectStore(e).put(r,s);u.onsuccess=()=>i(),u.onerror=()=>a(u.error);})}async getSet(e,s){let r=await this.get(e,s)||new Set;return Array.isArray(r)?new Set(r):r}async putSet(e,s,r){await this.put(e,s,Array.from(r));}getSignatureKey(e,s){return `${e.toLowerCase()}-${s.toLowerCase()}`}getSapientSignatureKey(e,s,r){return `${e.toLowerCase()}-${r.toLowerCase()}-${s.toLowerCase()}`}async loadConfig(e){return this.get(x1,e.toLowerCase())}async saveConfig(e,s){await this.put(x1,e.toLowerCase(),s);}async loadCounterfactualWallet(e){return this.get(A1,e.toLowerCase())}async saveCounterfactualWallet(e,s,r){await this.put(A1,e.toLowerCase(),{imageHash:s,context:r});}async loadPayloadOfSubdigest(e){return this.get(I1,e.toLowerCase())}async savePayloadOfSubdigest(e,s){await this.put(I1,e.toLowerCase(),s);}async loadSubdigestsOfSigner(e){let s=await this.getSet(Dh,e.toLowerCase());return Array.from(s)}async loadSignatureOfSubdigest(e,s){let r=this.getSignatureKey(e,s);return this.get(C1,r.toLowerCase())}async saveSignatureOfSubdigest(e,s,r){let n=this.getSignatureKey(e,s);await this.put(C1,n.toLowerCase(),r);let i=e.toLowerCase(),a=s.toLowerCase(),o=await this.getSet(Dh,i);o.add(a),await this.putSet(Dh,i,o);}async loadSubdigestsOfSapientSigner(e,s){let r=`${e.toLowerCase()}-${s.toLowerCase()}`,n=await this.getSet(Vh,r);return Array.from(n)}async loadSapientSignatureOfSubdigest(e,s,r){let n=this.getSapientSignatureKey(e,s,r);return this.get(N1,n.toLowerCase())}async saveSapientSignatureOfSubdigest(e,s,r,n){let i=this.getSapientSignatureKey(e,s,r).toLowerCase();await this.put(N1,i,n);let a=`${e.toLowerCase()}-${r.toLowerCase()}`,o=s.toLowerCase(),c=await this.getSet(Vh,a);c.add(o),await this.putSet(Vh,a,c);}async loadTree(e){return this.get(T1,e.toLowerCase())}async saveTree(e,s){await this.put(T1,e.toLowerCase(),s);}};var N2=class{store;extensions;constructor(e=new Lh,s=qe.Rc5){this.store=e,this.extensions=s;}getConfiguration(e){return this.store.loadConfig(e)}async saveWallet(e,s){await this.saveConfig(e);let r=Ye.hashConfiguration(e);await this.saveCounterfactualWallet(du.from(r,s),P.fromBytes(r),s);}async saveConfig(e){let s=f.toHex(Ye.hashConfiguration(e)),r=await this.store.loadConfig(s);if(r){let n=Ye.mergeTopology(r.topology,e.topology);return this.store.saveConfig(s,{...r,topology:n})}else return this.store.saveConfig(s,e)}saveCounterfactualWallet(e,s,r){this.store.saveCounterfactualWallet(e,s,r);}getDeploy(e){return this.store.loadCounterfactualWallet(e)}async getWalletsGeneric(e,s){let r=await Promise.all(e.map(i=>this.store.loadPayloadOfSubdigest(i))),n={};for(let i of r){if(!i)continue;let a=j.checksum(i.wallet);if(n[a])continue;let o=P.fromBytes(Te.hash(a,i.chainId,i.content)),c=await s(o);c&&(n[a]={chainId:i.chainId,payload:i.content,signature:c});}return n}async getWallets(e){return Or(await this.getWalletsGeneric(await this.store.loadSubdigestsOfSigner(e),s=>this.store.loadSignatureOfSubdigest(e,s)))}async getWalletsForSapient(e,s){return Or(await this.getWalletsGeneric(await this.store.loadSubdigestsOfSapientSigner(e,s),r=>this.store.loadSapientSignatureOfSubdigest(e,r,s)))}getWitnessFor(e,s){let r=j.checksum(e);return this.getWallets(s).then(n=>n[r])}getWitnessForSapient(e,s,r){let n=j.checksum(e);return this.getWalletsForSapient(s,r).then(i=>i[n])}async saveWitnesses(e,s,r,n){let i=P.fromBytes(Te.hash(e,s,r));await Promise.all([this.saveSignature(i,n),this.store.savePayloadOfSubdigest(i,{content:r,chainId:s,wallet:e})]);}async getConfigurationUpdates(e,s,r){let n=await this.store.loadConfig(s);if(!n)return [];let{signers:i,sapientSigners:a}=Ye.getSigners(n),o=await Promise.all([...i.map(S=>this.store.loadSubdigestsOfSigner(S)),...a.map(S=>this.store.loadSubdigestsOfSapientSigner(S.address,S.imageHash))]),c=[...new Set(o.flat())],u=await Promise.all(c.map(S=>this.store.loadPayloadOfSubdigest(S))),l=await Promise.all(u.filter(S=>S?.content&&Te.isConfigUpdate(S.content)).map(async S=>({payload:S,nextImageHash:S.content.imageHash,config:await this.store.loadConfig(S.content.imageHash)}))),p,w=l.filter(S=>S.config&&S.config.checkpoint>n.checkpoint).sort((S,I)=>S.config.checkpoint>I.config.checkpoint?r?.allUpdates?1:-1:r?.allUpdates?-1:1);for(let S of w){if(p){if(r?.allUpdates){if(S.config.checkpoint<=p.checkpoint)continue}else if(S.config.checkpoint<=p.checkpoint)continue}let I=P.fromBytes(Te.hash(e,S.payload.chainId,S.payload.content)),C=await Promise.all([...i.map(async B=>({signer:B,signature:await this.store.loadSignatureOfSubdigest(B,I)})),...a.map(async B=>({signer:B.address,imageHash:B.imageHash,signature:await this.store.loadSapientSignatureOfSubdigest(B.address,I,B.imageHash)}))]),D=0n,V=ts.fillLeaves(n.topology,B=>{if(Ye.isSapientSignerLeaf(B)){let O=C.find(({signer:G,imageHash:re})=>re&&j.isEqual(G,B.address)&&re===B.imageHash)?.signature;if(O)return D+=B.weight,O}let k=C.find(({signer:O})=>j.isEqual(O,B.address))?.signature;if(k)return D+=B.weight,k});D<n.threshold||(p={nextImageHash:S.nextImageHash,checkpoint:S.config.checkpoint,signature:{noChainId:!0,configuration:{threshold:n.threshold,checkpoint:n.checkpoint,topology:V}}});}if(!p)return [];let E=await this.getConfigurationUpdates(e,p.nextImageHash,{allUpdates:!0});return [{imageHash:p.nextImageHash,signature:p.signature},...E]}async saveUpdate(e,s,r){let i={type:"config-update",imageHash:f.toHex(Ye.hashConfiguration(s))},a=Te.hash(e,0,i);await this.store.savePayloadOfSubdigest(P.fromBytes(a),{content:i,chainId:0,wallet:e}),await this.saveConfig(s),await this.saveSignature(P.fromBytes(a),r.configuration.topology);}async saveSignature(e,s){if(ts.isRawNode(s)){await Promise.all([this.saveSignature(e,s[0]),this.saveSignature(e,s[1])]);return}if(ts.isRawNestedLeaf(s))return this.saveSignature(e,s.tree);if(ts.isRawSignerLeaf(s)){let r=s.signature.type;if(r==="eth_sign"||r==="hash"){let n=es.recoverAddress({payload:r==="eth_sign"?Og.getSignPayload(e):e,signature:s.signature});return this.store.saveSignatureOfSubdigest(n,e,s.signature)}if(ts.isSignatureOfSapientSignerLeaf(s.signature))switch(s.signature.address.toLowerCase()){case this.extensions.passkeys.toLowerCase():let n=qe.Passkeys.decode(f.fromHex(s.signature.data));if(!qe.Passkeys.isValidSignature(e,n))throw new Error("Invalid passkey signature");return this.store.saveSapientSignatureOfSubdigest(s.signature.address,e,qe.Passkeys.rootFor(n.publicKey),s.signature);default:throw new Error(`Unsupported sapient signer: ${s.signature.address}`)}}}getTree(e){return this.store.loadTree(e)}saveTree(e){return this.store.saveTree($s.hash(e),e)}saveConfiguration(e){return this.store.saveConfig(f.toHex(Ye.hashConfiguration(e)),e)}saveDeploy(e,s){return this.store.saveCounterfactualWallet(du.from(f.fromHex(e),s),e,s)}async getPayload(e){let s=await this.store.loadPayloadOfSubdigest(e);return s?{chainId:s.chainId,payload:s.content,wallet:s.wallet}:void 0}savePayload(e,s,r){let n=P.fromBytes(Te.hash(e,r,s));return this.store.savePayloadOfSubdigest(n,{content:s,chainId:r,wallet:e})}};var B2={};Ne(B2,{DevHttpProvider:()=>k2});d();h();d();h();var k2=class{baseUrl;constructor(e){this.baseUrl=e.endsWith("/")?e.slice(0,-1):e;}async request(e,s,r){let n=`${this.baseUrl}${s}`,i={method:e,headers:{}};r&&e==="POST"&&(i.headers={"Content-Type":"application/json"},i.body=Ya.toJSON(r));let a;try{a=await fetch(n,i);}catch(o){throw console.error(`Network error during ${e} request to ${n}:`,o),o}if(!a.ok){let o={message:`HTTP error! Status: ${a.status}`};try{let c=await a.text(),u=await Ya.fromJSON(c);o={...o,...u};}catch{try{let u=await a.text();o.body=u;}catch{}}throw console.error("HTTP Request Failed:",o),new Error(o.message||`Request failed for ${e} ${s} with status ${a.status}`)}try{if(a.status===204)return;if(a.status===201&&e==="POST"){if((await a.clone().text()).trim()==="")return;let l=await a.text();return await Ya.fromJSON(l)}if((await a.clone().text()).trim()==="")return;{let u=await a.text();return await Ya.fromJSON(u)}}catch(o){console.error(`Error processing response body for ${e} ${n}:`,o);try{let c=await a.text();throw new Error(`Failed to parse JSON response from server. Status: ${a.status}. Body: "${c}". Original error: ${o instanceof Error?o.message:String(o)}`)}catch{throw new Error(`Failed to parse JSON response from server and could not read response body as text. Status: ${a.status}. Original error: ${o instanceof Error?o.message:String(o)}`)}}}async getConfiguration(e){return await this.request("GET",`/configuration/${e}`)}async getDeploy(e){return this.request("GET",`/deploy/${e}`)}async getWallets(e){return this.request("GET",`/wallets/signer/${e}`)}async getWalletsForSapient(e,s){return this.request("GET",`/wallets/sapient/${e}/${s}`)}async getWitnessFor(e,s){return this.request("GET",`/witness/${e}/signer/${s}`)}async getWitnessForSapient(e,s,r){return this.request("GET",`/witness/sapient/${e}/${s}/${r}`)}async getConfigurationUpdates(e,s,r){let n=r?.allUpdates?"?allUpdates=true":"";return this.request("GET",`/configuration-updates/${e}/from/${s}${n}`)}async getTree(e){return this.request("GET",`/tree/${e}`)}async saveWallet(e,s){await this.request("POST","/wallet",{deployConfiguration:e,context:s});}async saveWitnesses(e,s,r,n){await this.request("POST","/witnesses",{wallet:e,chainId:s,payload:r,signatures:n});}async saveUpdate(e,s,r){await this.request("POST","/update",{wallet:e,configuration:s,signature:r});}async saveTree(e){await this.request("POST","/tree",{tree:e});}saveConfiguration(e){return this.request("POST","/configuration",{config:e})}saveDeploy(e,s){return this.request("POST","/deploy",{imageHash:e,context:s})}async getPayload(e){return this.request("GET",`/payload/${e}`)}async savePayload(e,s,r){return this.request("POST","/payload",{wallet:e,payload:s,chainId:r})}};d();h();var P2=class{args;constructor(e){this.args=e;}async getConfiguration(e){let s=await this.args.cache.getConfiguration(e);if(s)return s;let r=await this.args.source.getConfiguration(e);return r&&await this.args.cache.saveConfiguration(r),r}async getDeploy(e){let s=await this.args.cache.getDeploy(e);if(s)return s;let r=await this.args.source.getDeploy(e);return r&&await this.args.cache.saveDeploy(r.imageHash,r.context),r}async getWallets(e){let s=Or(await this.args.cache.getWallets(e)),r=Or(await this.args.source.getWallets(e)),n={...s,...r};for(let[i,a]of Object.entries(n))j.assert(i),r[i]||await this.args.source.saveWitnesses(i,a.chainId,a.payload,{type:"unrecovered-signer",weight:1n,signature:a.signature}),s[i]||await this.args.cache.saveWitnesses(i,a.chainId,a.payload,{type:"unrecovered-signer",weight:1n,signature:a.signature});return n}async getWalletsForSapient(e,s){let r=await this.args.cache.getWalletsForSapient(e,s),n=await this.args.source.getWalletsForSapient(e,s),i={...r,...n};for(let[a,o]of Object.entries(i)){let c=j.from(a);n[c]||await this.args.source.saveWitnesses(c,o.chainId,o.payload,{type:"unrecovered-signer",weight:1n,signature:o.signature}),r[c]||await this.args.cache.saveWitnesses(c,o.chainId,o.payload,{type:"unrecovered-signer",weight:1n,signature:o.signature});}return i}async getWitnessFor(e,s){let r=await this.args.cache.getWitnessFor(e,s);if(r)return r;let n=await this.args.source.getWitnessFor(e,s);return n&&await this.args.cache.saveWitnesses(e,n.chainId,n.payload,{type:"unrecovered-signer",weight:1n,signature:n.signature}),n}async getWitnessForSapient(e,s,r){let n=await this.args.cache.getWitnessForSapient(e,s,r);if(n)return n;let i=await this.args.source.getWitnessForSapient(e,s,r);return i&&await this.args.cache.saveWitnesses(e,i.chainId,i.payload,{type:"unrecovered-signer",weight:1n,signature:i.signature}),i}async getConfigurationUpdates(e,s,r){return this.args.source.getConfigurationUpdates(e,s,r)}async getTree(e){let s=await this.args.cache.getTree(e);if(s)return s;let r=await this.args.source.getTree(e);return r&&await this.args.cache.saveTree(r),r}saveWallet(e,s){return this.args.source.saveWallet(e,s)}saveWitnesses(e,s,r,n){return this.args.source.saveWitnesses(e,s,r,n)}saveUpdate(e,s,r){return this.args.source.saveUpdate(e,s,r)}saveTree(e){return this.args.source.saveTree(e)}saveConfiguration(e){return this.args.source.saveConfiguration(e)}saveDeploy(e,s){return this.args.source.saveDeploy(e,s)}async getPayload(e){let s=await this.args.cache.getPayload(e);if(s)return s;let r=await this.args.source.getPayload(e);return r&&await this.args.cache.savePayload(r.wallet,r.payload,r.chainId),r}savePayload(e,s,r){return this.args.source.savePayload(e,s,r)}};var _h={};Ne(_h,{Provider:()=>G2});d();h();d();h();var ED="Webrpc",xD="webrpc@v0.22.1;gen-typescript@v0.16.2;sessions@v0.0.1";var BN;(function(t){t.Transactions="Transactions",t.Message="Message",t.ConfigUpdate="ConfigUpdate",t.Digest="Digest";})(BN||(BN={}));var ot;(function(t){t.EIP712="EIP712",t.EthSign="EthSign",t.EIP1271="EIP1271",t.Sapient="Sapient",t.SapientCompact="SapientCompact";})(ot||(ot={}));var k1=class{hostname;fetch;path="/rpc/Sessions/";constructor(e,s){this.hostname=e.replace(/\/*$/,""),this.fetch=(r,n)=>s(r,n);}url(e){return this.hostname+this.path+e}ping=(e,s)=>this.fetch(this.url("Ping"),_t({},e,s)).then(r=>Ht(r).then(n=>({})),r=>{throw Tt.new({cause:`fetch(): ${r.message||""}`})});config=(e,s,r)=>this.fetch(this.url("Config"),_t(e,s,r)).then(n=>Ht(n).then(i=>({version:i.version,config:i.config})),n=>{throw Tt.new({cause:`fetch(): ${n.message||""}`})});tree=(e,s,r)=>this.fetch(this.url("Tree"),_t(e,s,r)).then(n=>Ht(n).then(i=>({version:i.version,tree:i.tree})),n=>{throw Tt.new({cause:`fetch(): ${n.message||""}`})});payload=(e,s,r)=>this.fetch(this.url("Payload"),_t(e,s,r)).then(n=>Ht(n).then(i=>({version:i.version,payload:i.payload,wallet:i.wallet,chainID:i.chainID})),n=>{throw Tt.new({cause:`fetch(): ${n.message||""}`})});wallets=(e,s,r)=>this.fetch(this.url("Wallets"),_t(e,s,r)).then(n=>Ht(n).then(i=>({wallets:i.wallets,cursor:i.cursor})),n=>{throw Tt.new({cause:`fetch(): ${n.message||""}`})});deployHash=(e,s,r)=>this.fetch(this.url("DeployHash"),_t(e,s,r)).then(n=>Ht(n).then(i=>({deployHash:i.deployHash,context:i.context})),n=>{throw Tt.new({cause:`fetch(): ${n.message||""}`})});witness=(e,s,r)=>this.fetch(this.url("Witness"),_t(e,s,r)).then(n=>Ht(n).then(i=>({witness:i.witness})),n=>{throw Tt.new({cause:`fetch(): ${n.message||""}`})});configUpdates=(e,s,r)=>this.fetch(this.url("ConfigUpdates"),_t(e,s,r)).then(n=>Ht(n).then(i=>({updates:i.updates})),n=>{throw Tt.new({cause:`fetch(): ${n.message||""}`})});migrations=(e,s,r)=>this.fetch(this.url("Migrations"),_t(e,s,r)).then(n=>Ht(n).then(i=>({migrations:i.migrations})),n=>{throw Tt.new({cause:`fetch(): ${n.message||""}`})});saveConfig=(e,s,r)=>this.fetch(this.url("SaveConfig"),_t(e,s,r)).then(n=>Ht(n).then(i=>({})),n=>{throw Tt.new({cause:`fetch(): ${n.message||""}`})});saveTree=(e,s,r)=>this.fetch(this.url("SaveTree"),_t(e,s,r)).then(n=>Ht(n).then(i=>({})),n=>{throw Tt.new({cause:`fetch(): ${n.message||""}`})});savePayload=(e,s,r)=>this.fetch(this.url("SavePayload"),_t(e,s,r)).then(n=>Ht(n).then(i=>({})),n=>{throw Tt.new({cause:`fetch(): ${n.message||""}`})});saveWallet=(e,s,r)=>this.fetch(this.url("SaveWallet"),_t(e,s,r)).then(n=>Ht(n).then(i=>({})),n=>{throw Tt.new({cause:`fetch(): ${n.message||""}`})});saveSignature=(e,s,r)=>this.fetch(this.url("SaveSignature"),_t(e,s,r)).then(n=>Ht(n).then(i=>({})),n=>{throw Tt.new({cause:`fetch(): ${n.message||""}`})});saveSignature2=(e,s,r)=>this.fetch(this.url("SaveSignature2"),_t(e,s,r)).then(n=>Ht(n).then(i=>({})),n=>{throw Tt.new({cause:`fetch(): ${n.message||""}`})});saveSignerSignatures=(e,s,r)=>this.fetch(this.url("SaveSignerSignatures"),_t(e,s,r)).then(n=>Ht(n).then(i=>({})),n=>{throw Tt.new({cause:`fetch(): ${n.message||""}`})});saveSignerSignatures2=(e,s,r)=>this.fetch(this.url("SaveSignerSignatures2"),_t(e,s,r)).then(n=>Ht(n).then(i=>({})),n=>{throw Tt.new({cause:`fetch(): ${n.message||""}`})});saveSignerSignatures3=(e,s,r)=>this.fetch(this.url("SaveSignerSignatures3"),_t(e,s,r)).then(n=>Ht(n).then(i=>({})),n=>{throw Tt.new({cause:`fetch(): ${n.message||""}`})});saveMigration=(e,s,r)=>this.fetch(this.url("SaveMigration"),_t(e,s,r)).then(n=>Ht(n).then(i=>({})),n=>{throw Tt.new({cause:`fetch(): ${n.message||""}`})})},_t=(t={},e={},s=null)=>{let r={...e,"Content-Type":"application/json"};return r[ED]=xD,{method:"POST",headers:r,body:JSON.stringify(t||{}),signal:s}},Ht=t=>t.text().then(e=>{let s;try{s=JSON.parse(e);}catch(r){let n="";throw r instanceof Error&&(n=r.message),B1.new({status:t.status,cause:`JSON.parse(): ${n}: response text: ${e}`})}if(!t.ok){let r=typeof s.code=="number"?s.code:0;throw (AD[r]||ds).new(s)}return s}),ds=class t extends Error{name;code;message;status;cause;msg;constructor(e,s,r,n,i){super(r),this.name=e||"WebrpcError",this.code=typeof s=="number"?s:0,this.message=r||`endpoint error ${this.code}`,this.msg=this.message,this.status=typeof n=="number"?n:0,this.cause=i,Object.setPrototypeOf(this,t.prototype);}static new(e){return new this(e.error,e.code,e.message||e.msg,e.status,e.cause)}},O2=class t extends ds{constructor(e="WebrpcEndpoint",s=0,r="endpoint error",n=0,i){super(e,s,r,n,i),Object.setPrototypeOf(this,t.prototype);}},Tt=class t extends ds{constructor(e="WebrpcRequestFailed",s=-1,r="request failed",n=0,i){super(e,s,r,n,i),Object.setPrototypeOf(this,t.prototype);}},R2=class t extends ds{constructor(e="WebrpcBadRoute",s=-2,r="bad route",n=0,i){super(e,s,r,n,i),Object.setPrototypeOf(this,t.prototype);}},L2=class t extends ds{constructor(e="WebrpcBadMethod",s=-3,r="bad method",n=0,i){super(e,s,r,n,i),Object.setPrototypeOf(this,t.prototype);}},D2=class t extends ds{constructor(e="WebrpcBadRequest",s=-4,r="bad request",n=0,i){super(e,s,r,n,i),Object.setPrototypeOf(this,t.prototype);}},B1=class t extends ds{constructor(e="WebrpcBadResponse",s=-5,r="bad response",n=0,i){super(e,s,r,n,i),Object.setPrototypeOf(this,t.prototype);}},V2=class t extends ds{constructor(e="WebrpcServerPanic",s=-6,r="server panic",n=0,i){super(e,s,r,n,i),Object.setPrototypeOf(this,t.prototype);}},U2=class t extends ds{constructor(e="WebrpcInternalError",s=-7,r="internal error",n=0,i){super(e,s,r,n,i),Object.setPrototypeOf(this,t.prototype);}},_2=class t extends ds{constructor(e="WebrpcClientDisconnected",s=-8,r="client disconnected",n=0,i){super(e,s,r,n,i),Object.setPrototypeOf(this,t.prototype);}},H2=class t extends ds{constructor(e="WebrpcStreamLost",s=-9,r="stream lost",n=0,i){super(e,s,r,n,i),Object.setPrototypeOf(this,t.prototype);}},j2=class t extends ds{constructor(e="WebrpcStreamFinished",s=-10,r="stream finished",n=0,i){super(e,s,r,n,i),Object.setPrototypeOf(this,t.prototype);}},M2=class t extends ds{constructor(e="InvalidArgument",s=1,r="invalid argument",n=0,i){super(e,s,r,n,i),Object.setPrototypeOf(this,t.prototype);}},$2=class t extends ds{constructor(e="NotFound",s=2,r="not found",n=0,i){super(e,s,r,n,i),Object.setPrototypeOf(this,t.prototype);}},PN;(function(t){t.WebrpcEndpoint="WebrpcEndpoint",t.WebrpcRequestFailed="WebrpcRequestFailed",t.WebrpcBadRoute="WebrpcBadRoute",t.WebrpcBadMethod="WebrpcBadMethod",t.WebrpcBadRequest="WebrpcBadRequest",t.WebrpcBadResponse="WebrpcBadResponse",t.WebrpcServerPanic="WebrpcServerPanic",t.WebrpcInternalError="WebrpcInternalError",t.WebrpcClientDisconnected="WebrpcClientDisconnected",t.WebrpcStreamLost="WebrpcStreamLost",t.WebrpcStreamFinished="WebrpcStreamFinished",t.InvalidArgument="InvalidArgument",t.NotFound="NotFound";})(PN||(PN={}));var ON;(function(t){t[t.WebrpcEndpoint=0]="WebrpcEndpoint",t[t.WebrpcRequestFailed=-1]="WebrpcRequestFailed",t[t.WebrpcBadRoute=-2]="WebrpcBadRoute",t[t.WebrpcBadMethod=-3]="WebrpcBadMethod",t[t.WebrpcBadRequest=-4]="WebrpcBadRequest",t[t.WebrpcBadResponse=-5]="WebrpcBadResponse",t[t.WebrpcServerPanic=-6]="WebrpcServerPanic",t[t.WebrpcInternalError=-7]="WebrpcInternalError",t[t.WebrpcClientDisconnected=-8]="WebrpcClientDisconnected",t[t.WebrpcStreamLost=-9]="WebrpcStreamLost",t[t.WebrpcStreamFinished=-10]="WebrpcStreamFinished",t[t.InvalidArgument=1]="InvalidArgument",t[t.NotFound=2]="NotFound";})(ON||(ON={}));var AD={0:O2,[-1]:Tt,[-2]:R2,[-3]:L2,[-4]:D2,[-5]:B1,[-6]:V2,[-7]:U2,[-8]:_2,[-9]:H2,[-10]:j2,1:M2,2:$2};var G2=class{service;constructor(e="https://keymachine.sequence.app"){this.service=new k1(e,fetch);}async getConfiguration(e){let{version:s,config:r}=await this.service.config({imageHash:e});if(s!==3)throw new Error(`invalid configuration version ${s}, expected version 3`);return ND(r)}async getDeploy(e){let{deployHash:s,context:r}=await this.service.deployHash({wallet:e});return P.assert(s),j.assert(r.factory),j.assert(r.mainModule),j.assert(r.mainModuleUpgradable),P.assert(r.walletCreationCode),{imageHash:s,context:{factory:r.factory,stage1:r.mainModule,stage2:r.mainModuleUpgradable,creationCode:r.walletCreationCode}}}async getWallets(e){let s=await this.service.wallets({signer:e}),r=Or(s.wallets);return Object.fromEntries(Object.entries(r).map(([n,i])=>{switch(j.assert(n),P.assert(i.signature),i.type){case ot.EIP712:return [n,{chainId:Number(i.chainID),payload:dr(i.payload),signature:{type:"hash",...Gt.from(i.signature)}}];case ot.EthSign:return [n,{chainId:Number(i.chainID),payload:dr(i.payload),signature:{type:"eth_sign",...Gt.from(i.signature)}}];case ot.EIP1271:return [n,{chainId:Number(i.chainID),payload:dr(i.payload),signature:{type:"erc1271",address:e,data:i.signature}}];case ot.Sapient:throw new Error(`unexpected sapient signature by ${e}`);case ot.SapientCompact:throw new Error(`unexpected compact sapient signature by ${e}`)}}))}async getWalletsForSapient(e,s){let r=await this.service.wallets({signer:e,sapientHash:s}),n=Or(r.wallets);return Object.fromEntries(Object.entries(n).map(([i,a])=>{switch(j.assert(i),P.assert(a.signature),a.type){case ot.EIP712:throw new Error(`unexpected eip-712 signature by ${e}`);case ot.EthSign:throw new Error(`unexpected eth_sign signature by ${e}`);case ot.EIP1271:throw new Error(`unexpected erc-1271 signature by ${e}`);case ot.Sapient:return [i,{chainId:Number(a.chainID),payload:dr(a.payload),signature:{type:"sapient",address:e,data:a.signature}}];case ot.SapientCompact:return [i,{chainId:Number(a.chainID),payload:dr(a.payload),signature:{type:"sapient_compact",address:e,data:a.signature}}]}}))}async getWitnessFor(e,s){try{let{witness:r}=await this.service.witness({signer:s,wallet:e});switch(P.assert(r.signature),r.type){case ot.EIP712:return {chainId:Number(r.chainID),payload:dr(r.payload),signature:{type:"hash",...Gt.from(r.signature)}};case ot.EthSign:return {chainId:Number(r.chainID),payload:dr(r.payload),signature:{type:"eth_sign",...Gt.from(r.signature)}};case ot.EIP1271:return {chainId:Number(r.chainID),payload:dr(r.payload),signature:{type:"erc1271",address:s,data:r.signature}};case ot.Sapient:throw new Error(`unexpected sapient signature by ${s}`);case ot.SapientCompact:throw new Error(`unexpected compact sapient signature by ${s}`)}}catch{}}async getWitnessForSapient(e,s,r){try{let{witness:n}=await this.service.witness({signer:s,wallet:e,sapientHash:r});switch(P.assert(n.signature),n.type){case ot.EIP712:throw new Error(`unexpected eip-712 signature by ${s}`);case ot.EthSign:throw new Error(`unexpected eth_sign signature by ${s}`);case ot.EIP1271:throw new Error(`unexpected erc-1271 signature by ${s}`);case ot.Sapient:return {chainId:Number(n.chainID),payload:dr(n.payload),signature:{type:"sapient",address:s,data:n.signature}};case ot.SapientCompact:return {chainId:Number(n.chainID),payload:dr(n.payload),signature:{type:"sapient_compact",address:s,data:n.signature}}}}catch{}}async getConfigurationUpdates(e,s,r){let{updates:n}=await this.service.configUpdates({wallet:e,fromImageHash:s,allUpdates:r?.allUpdates});return Promise.all(n.map(async({toImageHash:i,signature:a})=>{P.assert(i),P.assert(a);let o=ts.decodeSignature(P.toBytes(a)),{configuration:c}=await ts.recover(o,e,0,Te.fromConfigUpdate(i),{provider:CD});return {imageHash:i,signature:{...o,configuration:c}}}))}async getTree(e){let{version:s,tree:r}=await this.service.tree({imageHash:e});if(s!==3)throw new Error(`invalid tree version ${s}, expected version 3`);return DN(r)}async getPayload(e){let{version:s,payload:r,wallet:n,chainID:i}=await this.service.payload({digest:e});if(s!==3)throw new Error(`invalid payload version ${s}, expected version 3`);return j.assert(n),{payload:dr(r),wallet:n,chainId:Number(i)}}async saveWallet(e,s){await this.service.saveWallet({version:3,deployConfig:F2(e),context:{version:3,factory:s.factory,mainModule:s.stage1,mainModuleUpgradable:s.stage2,guestModule:yt.DefaultGuestAddress,walletCreationCode:s.creationCode}});}async saveWitnesses(e,s,r,n){await this.service.saveSignerSignatures3({wallet:e,payload:K2(r),chainID:s.toString(),signatures:Uh(n).map(i=>{switch(i.type){case"hash":return {type:ot.EIP712,signature:Gt.toHex(Gt.from(i))};case"eth_sign":return {type:ot.EthSign,signature:Gt.toHex(Gt.from(i))};case"erc1271":return {type:ot.EIP1271,signer:i.address,signature:i.data,referenceChainID:s.toString()};case"sapient":return {type:ot.Sapient,signer:i.address,signature:i.data,referenceChainID:s.toString()};case"sapient_compact":return {type:ot.SapientCompact,signer:i.address,signature:i.data,referenceChainID:s.toString()}}})});}async saveUpdate(e,s,r){await this.service.saveSignature2({wallet:e,payload:K2(Te.fromConfigUpdate(f.toHex(Ye.hashConfiguration(s)))),chainID:"0",signature:f.toHex(ts.encodeSignature(r)),toConfig:F2(s)});}async saveTree(e){await this.service.saveTree({version:3,tree:LN(e)});}async saveConfiguration(e){await this.service.saveConfig({version:3,config:F2(e)});}async saveDeploy(e,s){}async savePayload(e,s,r){await this.service.savePayload({version:3,payload:K2(s),wallet:e,chainID:r.toString()});}},ID=[qe.Dev1.passkeys,qe.Dev2.passkeys,qe.Rc3.passkeys,qe.Rc4.passkeys,qe.Rc5.passkeys].map(j.checksum),RN="function recoverSapientSignatureCompact(bytes32 _digest, bytes _signature) view returns (bytes32)",q2=me.from(RN),W2=class{request=async e=>{switch(e.method){case"eth_call":if(!e.params||!Array.isArray(e.params)||e.params.length===0)throw new Error("eth_call requires transaction parameters");let s=e.params[0];if(!s.data?.startsWith(me.getSelector(q2)))throw new Error(`unknown selector ${s.data?.slice(0,10)}, expected selector ${me.getSelector(q2)} for ${RN}`);if(!ID.includes(s.to?j.checksum(s.to):"0x"))throw new Error(`unknown passkey signer ${s.to}`);let[r,n]=me.decodeData(q2,s.data),i=qe.Passkeys.decode(P.toBytes(n));if(qe.Passkeys.isValidSignature(r,i))return qe.Passkeys.rootFor(i.publicKey);throw new Error(`invalid passkey signature ${n} for digest ${r}`);default:throw new Error(`method ${e.method} not implemented`)}};on=e=>{throw new Error(`unable to listen for ${e}: not implemented`)};removeListener=e=>{throw new Error(`unable to remove listener for ${e}: not implemented`)}},CD=new W2;function F2(t){return {threshold:Rr(t.threshold),checkpoint:Rr(t.checkpoint),checkpointer:t.checkpointer,tree:P1(t.topology)}}function ND(t){return t.checkpointer!==void 0&&j.assert(t.checkpointer),{threshold:BigInt(t.threshold),checkpoint:BigInt(t.checkpoint),checkpointer:t.checkpointer,topology:O1(t.tree)}}function P1(t){if(Ye.isNode(t))return [P1(t[0]),P1(t[1])];if(Ye.isSignerLeaf(t))return {weight:Rr(t.weight),address:t.address};if(Ye.isSapientSignerLeaf(t))return {weight:Rr(t.weight),address:t.address,imageHash:t.imageHash};if(Ye.isSubdigestLeaf(t))return {subdigest:t.digest};if(Ye.isAnyAddressSubdigestLeaf(t))return {subdigest:t.digest,isAnyAddress:!0};if(Ye.isNestedLeaf(t))return {weight:Rr(t.weight),threshold:Rr(t.threshold),tree:P1(t.tree)};if(Ye.isNodeLeaf(t))return t;throw new Error(`unknown topology '${JSON.stringify(t)}'`)}function O1(t){switch(typeof t){case"string":return P.assert(t),t;case"object":if(t instanceof Array)return [O1(t[0]),O1(t[1])];if("weight"in t){if("address"in t)return j.assert(t.address),t.imageHash?(P.assert(t.imageHash),{type:"sapient-signer",address:t.address,weight:BigInt(t.weight),imageHash:t.imageHash}):{type:"signer",address:t.address,weight:BigInt(t.weight)};if("tree"in t)return {type:"nested",weight:BigInt(t.weight),threshold:BigInt(t.threshold),tree:O1(t.tree)}}if("subdigest"in t)return P.assert(t.subdigest),{type:t.isAnyAddress?"any-address-subdigest":"subdigest",digest:t.subdigest}}throw new Error(`unknown config tree '${JSON.stringify(t)}'`)}function K2(t){if(Te.isCalls(t))return {type:"call",space:Rr(t.space),nonce:Rr(t.nonce),calls:t.calls.map(TD)};if(Te.isMessage(t))return {type:"message",message:t.message};if(Te.isConfigUpdate(t))return {type:"config-update",imageHash:t.imageHash};if(Te.isDigest(t))return {type:"digest",digest:t.digest};throw new Error(`unknown payload '${JSON.stringify(t)}'`)}function dr(t){switch(t.type){case"call":return {type:"call",space:BigInt(t.space),nonce:BigInt(t.nonce),calls:t.calls.map(kD)};case"message":return P.assert(t.message),{type:"message",message:t.message};case"config-update":return P.assert(t.imageHash),{type:"config-update",imageHash:t.imageHash};case"digest":return P.assert(t.digest),{type:"digest",digest:t.digest}}}function TD(t){return {to:t.to,value:Rr(t.value),data:t.data,gasLimit:Rr(t.gasLimit),delegateCall:t.delegateCall,onlyFallback:t.onlyFallback,behaviorOnError:t.behaviorOnError}}function kD(t){return j.assert(t.to),P.assert(t.data),{to:t.to,value:BigInt(t.value),data:t.data,gasLimit:BigInt(t.gasLimit),delegateCall:t.delegateCall,onlyFallback:t.onlyFallback,behaviorOnError:t.behaviorOnError}}function LN(t){if($s.isBranch(t))return t.map(LN);if($s.isLeaf(t))return {data:f.toHex(t.value)};if($s.isNode(t))return t;throw new Error(`unknown tree '${JSON.stringify(t)}'`)}function DN(t){switch(typeof t){case"string":return P.assert(t),t;case"object":if(t instanceof Array)return t.map(DN);if("data"in t)return P.assert(t.data),{type:"leaf",value:P.toBytes(t.data)}}throw new Error(`unknown tree '${JSON.stringify(t)}'`)}function Rr(t){return t<Number.MIN_SAFE_INTEGER||t>Number.MAX_SAFE_INTEGER?t.toString():Number(t)}function Uh(t){if(ts.isRawNode(t))return [...Uh(t[0]),...Uh(t[1])];if(ts.isRawSignerLeaf(t))return [t.signature];if(Ye.isNestedLeaf(t))return Uh(t.tree);if(ts.isRawNestedLeaf(t))return Uh(t.tree);if(Ye.isSignerLeaf(t))return t.signature?[t.signature]:[];if(Ye.isSapientSignerLeaf(t))return t.signature?[t.signature]:[];if(Ye.isSubdigestLeaf(t))return [];if(Ye.isAnyAddressSubdigestLeaf(t))return [];if(Ye.isNodeLeaf(t))return [];throw new Error(`unknown topology '${JSON.stringify(t)}'`)}d();h();function BD(t,e){return typeof e=="bigint"?e.toString():e instanceof Uint8Array?P.fromBytes(e):e}function R1(t){return JSON.stringify(t,BD,2)}function L1(t){if(typeof t=="bigint")return t.toString();if(t instanceof Uint8Array)return P.fromBytes(t);if(typeof t=="string")return t.toLowerCase();if(Array.isArray(t))return t.map(L1);if(t&&typeof t=="object"){let e=[];for(let s of Object.keys(t).filter(r=>t[r]!==void 0).sort())e.push([s.toLowerCase(),L1(t[s])]);return e}return t}function PD(t,e){return JSON.stringify(L1(t))===JSON.stringify(L1(e))}function OD(t,e){let s={get(r,n,i){let a=t[n];return typeof a!="function"?Reflect.get(t,n):async(...o)=>{let c=String(n),u=R1(o),l;try{l=await a.apply(t,o);}catch(w){let E=Math.floor(1e6*Math.random()).toString().padStart(6,"0");throw console.trace(`[${E}] calling ${c}: ${u}
349
+ [${E}] warning: reference ${c} threw:`,w),w}let p=R1(l);return await Promise.all(Object.entries(e).map(async([w,E])=>{let S=E[n];if(typeof S!="function"){let D=Math.floor(1e6*Math.random()).toString().padStart(6,"0");console.trace(`[${D}] calling ${c}: ${u}
350
+ [${D}] reference returned: ${p}
351
+ [${D}] warning: ${w} has no ${c}`);return}let I;try{I=S.apply(E,o),I=await Promise.resolve(I);}catch(D){let V=Math.floor(1e6*Math.random()).toString().padStart(6,"0");console.trace(`[${V}] calling ${c}: ${u}
352
+ [${V}] reference returned: ${p}
353
+ [${V}] warning: ${w} ${c} threw:`,D);return}let C=Math.floor(1e6*Math.random()).toString().padStart(6,"0");PD(l,I)?console.trace(`[${C}] calling ${c}: ${u}
354
+ [${C}] reference returned: ${p}
355
+ [${C}] ${w} returned: ${R1(I)}`):console.trace(`[${C}] calling ${c}: ${u}
356
+ [${C}] reference returned: ${p}
357
+ [${C}] ${w} returned: ${R1(I)}
358
+ [${C}] warning: ${w} ${c} does not match reference`);})),l}}};return new Proxy(t,s)}({knownContexts:Za.KnownContexts,stateProvider:new _h.Provider,guest:yt.DefaultGuestAddress});d();h();d();h();d();h();d();h();d();h();d();h();d();h();var Mh={};Ne(Mh,{EIP1193ProviderAdapter:()=>ro,EIP6963:()=>Zx,LocalRelayer:()=>so,PkRelayer:()=>Gx,RpcRelayer:()=>Kx,SequenceRelayer:()=>Wx,getChain:()=>mT,isRelayer:()=>WV});d();h();d();h();d();h();var jt;(function(t){t.UNKNOWN="UNKNOWN",t.DROPPED="DROPPED",t.QUEUED="QUEUED",t.SENT="SENT",t.SUCCEEDED="SUCCEEDED",t.PARTIALLY_FAILED="PARTIALLY_FAILED",t.FAILED="FAILED",t.PENDING_PRECONDITION="PENDING_PRECONDITION";})(jt||(jt={}));var UN;(function(t){t.SEND="SEND",t.RECEIVE="RECEIVE",t.BRIDGE_DEPOSIT="BRIDGE_DEPOSIT",t.BRIDGE_WITHDRAW="BRIDGE_WITHDRAW",t.BURN="BURN",t.UNKNOWN="UNKNOWN";})(UN||(UN={}));var _N;(function(t){t.SKIPPED="SKIPPED",t.SUCCEEDED="SUCCEEDED",t.FAILED="FAILED",t.ABORTED="ABORTED",t.REVERTED="REVERTED",t.NOT_ENOUGH_GAS="NOT_ENOUGH_GAS";})(_N||(_N={}));var D1;(function(t){t.UNKNOWN="UNKNOWN",t.ERC20_TOKEN="ERC20_TOKEN",t.ERC1155_TOKEN="ERC1155_TOKEN";})(D1||(D1={}));var HN;(function(t){t.DESC="DESC",t.ASC="ASC";})(HN||(HN={}));var bu=class{hostname;fetch;path="/rpc/Relayer/";constructor(e,s){this.hostname=e.replace(/\/*$/,""),this.fetch=(r,n)=>s(r,n);}url(e){return this.hostname+this.path+e}queryKey={ping:()=>["Relayer","ping"],version:()=>["Relayer","version"],runtimeStatus:()=>["Relayer","runtimeStatus"],getSequenceContext:()=>["Relayer","getSequenceContext"],getChainID:()=>["Relayer","getChainID"],sendMetaTxn:e=>["Relayer","sendMetaTxn",e],getMetaTxnNonce:e=>["Relayer","getMetaTxnNonce",e],getMetaTxnReceipt:e=>["Relayer","getMetaTxnReceipt",e],simulate:e=>["Relayer","simulate",e],simulateV3:e=>["Relayer","simulateV3",e],updateMetaTxnGasLimits:e=>["Relayer","updateMetaTxnGasLimits",e],feeTokens:()=>["Relayer","feeTokens"],feeOptions:e=>["Relayer","feeOptions",e],getMetaTxnNetworkFeeOptions:e=>["Relayer","getMetaTxnNetworkFeeOptions",e],getMetaTransactions:e=>["Relayer","getMetaTransactions",e],getTransactionCost:e=>["Relayer","getTransactionCost",e],sentTransactions:e=>["Relayer","sentTransactions",e],pendingTransactions:e=>["Relayer","pendingTransactions",e],getGasTank:e=>["Relayer","getGasTank",e],addGasTank:e=>["Relayer","addGasTank",e],updateGasTank:e=>["Relayer","updateGasTank",e],nextGasTankBalanceAdjustmentNonce:e=>["Relayer","nextGasTankBalanceAdjustmentNonce",e],adjustGasTankBalance:e=>["Relayer","adjustGasTankBalance",e],getGasTankBalanceAdjustment:e=>["Relayer","getGasTankBalanceAdjustment",e],listGasTankBalanceAdjustments:e=>["Relayer","listGasTankBalanceAdjustments",e],listGasSponsors:e=>["Relayer","listGasSponsors",e],getGasSponsor:e=>["Relayer","getGasSponsor",e],addGasSponsor:e=>["Relayer","addGasSponsor",e],updateGasSponsor:e=>["Relayer","updateGasSponsor",e],removeGasSponsor:e=>["Relayer","removeGasSponsor",e],addressGasSponsors:e=>["Relayer","addressGasSponsors",e],getProjectBalance:e=>["Relayer","getProjectBalance",e],adjustProjectBalance:e=>["Relayer","adjustProjectBalance",e]};ping=(e,s)=>this.fetch(this.url("Ping"),et("{}",e,s)).then(r=>tt(r).then(n=>st(n,"PingReturn")),r=>{throw Ze.new({cause:`fetch(): ${r instanceof Error?r.message:String(r)}`})});version=(e,s)=>this.fetch(this.url("Version"),et("{}",e,s)).then(r=>tt(r).then(n=>st(n,"VersionReturn")),r=>{throw Ze.new({cause:`fetch(): ${r instanceof Error?r.message:String(r)}`})});runtimeStatus=(e,s)=>this.fetch(this.url("RuntimeStatus"),et("{}",e,s)).then(r=>tt(r).then(n=>st(n,"RuntimeStatusReturn")),r=>{throw Ze.new({cause:`fetch(): ${r instanceof Error?r.message:String(r)}`})});getSequenceContext=(e,s)=>this.fetch(this.url("GetSequenceContext"),et("{}",e,s)).then(r=>tt(r).then(n=>st(n,"GetSequenceContextReturn")),r=>{throw Ze.new({cause:`fetch(): ${r instanceof Error?r.message:String(r)}`})});getChainID=(e,s)=>this.fetch(this.url("GetChainID"),et("{}",e,s)).then(r=>tt(r).then(n=>st(n,"GetChainIDReturn")),r=>{throw Ze.new({cause:`fetch(): ${r instanceof Error?r.message:String(r)}`})});sendMetaTxn=(e,s,r)=>this.fetch(this.url("SendMetaTxn"),et(pt(e,"SendMetaTxnArgs"),s,r)).then(n=>tt(n).then(i=>st(i,"SendMetaTxnReturn")),n=>{throw Ze.new({cause:`fetch(): ${n instanceof Error?n.message:String(n)}`})});getMetaTxnNonce=(e,s,r)=>this.fetch(this.url("GetMetaTxnNonce"),et(pt(e,"GetMetaTxnNonceArgs"),s,r)).then(n=>tt(n).then(i=>st(i,"GetMetaTxnNonceReturn")),n=>{throw Ze.new({cause:`fetch(): ${n instanceof Error?n.message:String(n)}`})});getMetaTxnReceipt=(e,s,r)=>this.fetch(this.url("GetMetaTxnReceipt"),et(pt(e,"GetMetaTxnReceiptArgs"),s,r)).then(n=>tt(n).then(i=>st(i,"GetMetaTxnReceiptReturn")),n=>{throw Ze.new({cause:`fetch(): ${n instanceof Error?n.message:String(n)}`})});simulate=(e,s,r)=>this.fetch(this.url("Simulate"),et(pt(e,"SimulateArgs"),s,r)).then(n=>tt(n).then(i=>st(i,"SimulateReturn")),n=>{throw Ze.new({cause:`fetch(): ${n instanceof Error?n.message:String(n)}`})});simulateV3=(e,s,r)=>this.fetch(this.url("SimulateV3"),et(pt(e,"SimulateV3Args"),s,r)).then(n=>tt(n).then(i=>st(i,"SimulateV3Return")),n=>{throw Ze.new({cause:`fetch(): ${n instanceof Error?n.message:String(n)}`})});updateMetaTxnGasLimits=(e,s,r)=>this.fetch(this.url("UpdateMetaTxnGasLimits"),et(pt(e,"UpdateMetaTxnGasLimitsArgs"),s,r)).then(n=>tt(n).then(i=>st(i,"UpdateMetaTxnGasLimitsReturn")),n=>{throw Ze.new({cause:`fetch(): ${n instanceof Error?n.message:String(n)}`})});feeTokens=(e,s)=>this.fetch(this.url("FeeTokens"),et("{}",e,s)).then(r=>tt(r).then(n=>st(n,"FeeTokensReturn")),r=>{throw Ze.new({cause:`fetch(): ${r instanceof Error?r.message:String(r)}`})});feeOptions=(e,s,r)=>this.fetch(this.url("FeeOptions"),et(pt(e,"FeeOptionsArgs"),s,r)).then(n=>tt(n).then(i=>st(i,"FeeOptionsReturn")),n=>{throw Ze.new({cause:`fetch(): ${n instanceof Error?n.message:String(n)}`})});getMetaTxnNetworkFeeOptions=(e,s,r)=>this.fetch(this.url("GetMetaTxnNetworkFeeOptions"),et(pt(e,"GetMetaTxnNetworkFeeOptionsArgs"),s,r)).then(n=>tt(n).then(i=>st(i,"GetMetaTxnNetworkFeeOptionsReturn")),n=>{throw Ze.new({cause:`fetch(): ${n instanceof Error?n.message:String(n)}`})});getMetaTransactions=(e,s,r)=>this.fetch(this.url("GetMetaTransactions"),et(pt(e,"GetMetaTransactionsArgs"),s,r)).then(n=>tt(n).then(i=>st(i,"GetMetaTransactionsReturn")),n=>{throw Ze.new({cause:`fetch(): ${n instanceof Error?n.message:String(n)}`})});getTransactionCost=(e,s,r)=>this.fetch(this.url("GetTransactionCost"),et(pt(e,"GetTransactionCostArgs"),s,r)).then(n=>tt(n).then(i=>st(i,"GetTransactionCostReturn")),n=>{throw Ze.new({cause:`fetch(): ${n instanceof Error?n.message:String(n)}`})});sentTransactions=(e,s,r)=>this.fetch(this.url("SentTransactions"),et(pt(e,"SentTransactionsArgs"),s,r)).then(n=>tt(n).then(i=>st(i,"SentTransactionsReturn")),n=>{throw Ze.new({cause:`fetch(): ${n instanceof Error?n.message:String(n)}`})});pendingTransactions=(e,s,r)=>this.fetch(this.url("PendingTransactions"),et(pt(e,"PendingTransactionsArgs"),s,r)).then(n=>tt(n).then(i=>st(i,"PendingTransactionsReturn")),n=>{throw Ze.new({cause:`fetch(): ${n instanceof Error?n.message:String(n)}`})});getGasTank=(e,s,r)=>this.fetch(this.url("GetGasTank"),et(pt(e,"GetGasTankArgs"),s,r)).then(n=>tt(n).then(i=>st(i,"GetGasTankReturn")),n=>{throw Ze.new({cause:`fetch(): ${n instanceof Error?n.message:String(n)}`})});addGasTank=(e,s,r)=>this.fetch(this.url("AddGasTank"),et(pt(e,"AddGasTankArgs"),s,r)).then(n=>tt(n).then(i=>st(i,"AddGasTankReturn")),n=>{throw Ze.new({cause:`fetch(): ${n instanceof Error?n.message:String(n)}`})});updateGasTank=(e,s,r)=>this.fetch(this.url("UpdateGasTank"),et(pt(e,"UpdateGasTankArgs"),s,r)).then(n=>tt(n).then(i=>st(i,"UpdateGasTankReturn")),n=>{throw Ze.new({cause:`fetch(): ${n instanceof Error?n.message:String(n)}`})});nextGasTankBalanceAdjustmentNonce=(e,s,r)=>this.fetch(this.url("NextGasTankBalanceAdjustmentNonce"),et(pt(e,"NextGasTankBalanceAdjustmentNonceArgs"),s,r)).then(n=>tt(n).then(i=>st(i,"NextGasTankBalanceAdjustmentNonceReturn")),n=>{throw Ze.new({cause:`fetch(): ${n instanceof Error?n.message:String(n)}`})});adjustGasTankBalance=(e,s,r)=>this.fetch(this.url("AdjustGasTankBalance"),et(pt(e,"AdjustGasTankBalanceArgs"),s,r)).then(n=>tt(n).then(i=>st(i,"AdjustGasTankBalanceReturn")),n=>{throw Ze.new({cause:`fetch(): ${n instanceof Error?n.message:String(n)}`})});getGasTankBalanceAdjustment=(e,s,r)=>this.fetch(this.url("GetGasTankBalanceAdjustment"),et(pt(e,"GetGasTankBalanceAdjustmentArgs"),s,r)).then(n=>tt(n).then(i=>st(i,"GetGasTankBalanceAdjustmentReturn")),n=>{throw Ze.new({cause:`fetch(): ${n instanceof Error?n.message:String(n)}`})});listGasTankBalanceAdjustments=(e,s,r)=>this.fetch(this.url("ListGasTankBalanceAdjustments"),et(pt(e,"ListGasTankBalanceAdjustmentsArgs"),s,r)).then(n=>tt(n).then(i=>st(i,"ListGasTankBalanceAdjustmentsReturn")),n=>{throw Ze.new({cause:`fetch(): ${n instanceof Error?n.message:String(n)}`})});listGasSponsors=(e,s,r)=>this.fetch(this.url("ListGasSponsors"),et(pt(e,"ListGasSponsorsArgs"),s,r)).then(n=>tt(n).then(i=>st(i,"ListGasSponsorsReturn")),n=>{throw Ze.new({cause:`fetch(): ${n instanceof Error?n.message:String(n)}`})});getGasSponsor=(e,s,r)=>this.fetch(this.url("GetGasSponsor"),et(pt(e,"GetGasSponsorArgs"),s,r)).then(n=>tt(n).then(i=>st(i,"GetGasSponsorReturn")),n=>{throw Ze.new({cause:`fetch(): ${n instanceof Error?n.message:String(n)}`})});addGasSponsor=(e,s,r)=>this.fetch(this.url("AddGasSponsor"),et(pt(e,"AddGasSponsorArgs"),s,r)).then(n=>tt(n).then(i=>st(i,"AddGasSponsorReturn")),n=>{throw Ze.new({cause:`fetch(): ${n instanceof Error?n.message:String(n)}`})});updateGasSponsor=(e,s,r)=>this.fetch(this.url("UpdateGasSponsor"),et(pt(e,"UpdateGasSponsorArgs"),s,r)).then(n=>tt(n).then(i=>st(i,"UpdateGasSponsorReturn")),n=>{throw Ze.new({cause:`fetch(): ${n instanceof Error?n.message:String(n)}`})});removeGasSponsor=(e,s,r)=>this.fetch(this.url("RemoveGasSponsor"),et(pt(e,"RemoveGasSponsorArgs"),s,r)).then(n=>tt(n).then(i=>st(i,"RemoveGasSponsorReturn")),n=>{throw Ze.new({cause:`fetch(): ${n instanceof Error?n.message:String(n)}`})});addressGasSponsors=(e,s,r)=>this.fetch(this.url("AddressGasSponsors"),et(pt(e,"AddressGasSponsorsArgs"),s,r)).then(n=>tt(n).then(i=>st(i,"AddressGasSponsorsReturn")),n=>{throw Ze.new({cause:`fetch(): ${n instanceof Error?n.message:String(n)}`})});getProjectBalance=(e,s,r)=>this.fetch(this.url("GetProjectBalance"),et(pt(e,"GetProjectBalanceArgs"),s,r)).then(n=>tt(n).then(i=>st(i,"GetProjectBalanceReturn")),n=>{throw Ze.new({cause:`fetch(): ${n instanceof Error?n.message:String(n)}`})});adjustProjectBalance=(e,s,r)=>this.fetch(this.url("AdjustProjectBalance"),et(pt(e,"AdjustProjectBalanceArgs"),s,r)).then(n=>tt(n).then(i=>st(i,"AdjustProjectBalanceReturn")),n=>{throw Ze.new({cause:`fetch(): ${n instanceof Error?n.message:String(n)}`})})},et=(t="{}",e={},s=null)=>({method:"POST",headers:{...e,"Content-Type":"application/json"},body:t,signal:s}),tt=t=>t.text().then(e=>{let s;try{s=JSON.parse(e);}catch(r){throw to.new({status:t.status,cause:`JSON.parse(): ${r instanceof Error?r.message:String(r)}: response text: ${e}`})}if(!t.ok){let r=typeof s.code=="number"?s.code:0;throw (DD[r]||Me).new(s)}return s}),$N={SendMetaTxnArgs:[["preconditions","TransactionPrecondition[]"]],TransactionPrecondition:["minAmount"],Transactions:[["preconditions","TransactionPrecondition[]"]]};function J2(t,e){if(e==null||typeof e!="object")return e;let s=$N[t]||[];if(!s.length)return e;for(let r of s){if(Array.isArray(r)){let[n,i]=r;if(n.endsWith("[]")){let a=n.slice(0,-2),o=e[a];if(Array.isArray(o))for(let c=0;c<o.length;c++)o[c]=J2(i,o[c]);}else e[n]&&(e[n]=J2(i,e[n]));continue}if(r.endsWith("[]")){let n=r.slice(0,-2),i=e[n];if(Array.isArray(i))for(let a=0;a<i.length;a++)typeof i[a]=="bigint"&&(i[a]=i[a].toString());continue}typeof e[r]=="bigint"&&(e[r]=e[r].toString());}return e}function z2(t,e){if(e==null||typeof e!="object")return e;let s=$N[t]||[];if(!s.length)return e;for(let r of s){if(Array.isArray(r)){let[i,a]=r;if(i.endsWith("[]")){let o=i.slice(0,-2),c=e[o];if(Array.isArray(c))for(let u=0;u<c.length;u++)c[u]=z2(a,c[u]);}else e[i]&&(e[i]=z2(a,e[i]));continue}if(r.endsWith("[]")){let i=r.slice(0,-2),a=e[i];if(Array.isArray(a))for(let o=0;o<a.length;o++){let c=a[o];if(typeof c=="string")try{a[o]=BigInt(c);}catch{throw to.new({cause:`Invalid bigint value for ${i}[${o}]: ${c}`})}}continue}let n=e[r];if(typeof n=="string")try{e[r]=BigInt(n);}catch{throw to.new({cause:`Invalid bigint value for ${r}: ${n}`})}}return e}var pt=(t,e="")=>JSON.stringify(J2(e,t)),st=(t,e="")=>{let s=t;if(typeof t=="string")try{s=JSON.parse(t);}catch(r){throw to.new({cause:`JsonDecode: JSON.parse failed: ${r.message}`})}return z2(e,s)},Me=class t extends Error{code;status;constructor(e={}){super(e.message),this.name=e.name||"WebrpcEndpointError",this.code=typeof e.code=="number"?e.code:0,this.message=e.message||"endpoint error",this.status=typeof e.status=="number"?e.status:400,e.cause!==void 0&&(this.cause=e.cause),Object.setPrototypeOf(this,t.prototype);}static new(e){return new this({message:e.message,code:e.code,status:e.status,cause:e.cause})}},Y2=class t extends Me{constructor(e={}){super(e),this.name=e.name||"WebrpcEndpoint",this.code=typeof e.code=="number"?e.code:0,this.message=e.message||"endpoint error",this.status=typeof e.status=="number"?e.status:400,e.cause!==void 0&&(this.cause=e.cause),Object.setPrototypeOf(this,t.prototype);}},Ze=class t extends Me{constructor(e={}){super(e),this.name=e.name||"WebrpcRequestFailed",this.code=typeof e.code=="number"?e.code:-1,this.message=e.message||"request failed",this.status=typeof e.status=="number"?e.status:400,e.cause!==void 0&&(this.cause=e.cause),Object.setPrototypeOf(this,t.prototype);}},Z2=class t extends Me{constructor(e={}){super(e),this.name=e.name||"WebrpcBadRoute",this.code=typeof e.code=="number"?e.code:-2,this.message=e.message||"bad route",this.status=typeof e.status=="number"?e.status:404,e.cause!==void 0&&(this.cause=e.cause),Object.setPrototypeOf(this,t.prototype);}},X2=class t extends Me{constructor(e={}){super(e),this.name=e.name||"WebrpcBadMethod",this.code=typeof e.code=="number"?e.code:-3,this.message=e.message||"bad method",this.status=typeof e.status=="number"?e.status:405,e.cause!==void 0&&(this.cause=e.cause),Object.setPrototypeOf(this,t.prototype);}},Q2=class t extends Me{constructor(e={}){super(e),this.name=e.name||"WebrpcBadRequest",this.code=typeof e.code=="number"?e.code:-4,this.message=e.message||"bad request",this.status=typeof e.status=="number"?e.status:400,e.cause!==void 0&&(this.cause=e.cause),Object.setPrototypeOf(this,t.prototype);}},to=class t extends Me{constructor(e={}){super(e),this.name=e.name||"WebrpcBadResponse",this.code=typeof e.code=="number"?e.code:-5,this.message=e.message||"bad response",this.status=typeof e.status=="number"?e.status:500,e.cause!==void 0&&(this.cause=e.cause),Object.setPrototypeOf(this,t.prototype);}},ex=class t extends Me{constructor(e={}){super(e),this.name=e.name||"WebrpcServerPanic",this.code=typeof e.code=="number"?e.code:-6,this.message=e.message||"server panic",this.status=typeof e.status=="number"?e.status:500,e.cause!==void 0&&(this.cause=e.cause),Object.setPrototypeOf(this,t.prototype);}},tx=class t extends Me{constructor(e={}){super(e),this.name=e.name||"WebrpcInternalError",this.code=typeof e.code=="number"?e.code:-7,this.message=e.message||"internal error",this.status=typeof e.status=="number"?e.status:500,e.cause!==void 0&&(this.cause=e.cause),Object.setPrototypeOf(this,t.prototype);}},sx=class t extends Me{constructor(e={}){super(e),this.name=e.name||"WebrpcClientAborted",this.code=typeof e.code=="number"?e.code:-8,this.message=e.message||"request aborted by client",this.status=typeof e.status=="number"?e.status:400,e.cause!==void 0&&(this.cause=e.cause),Object.setPrototypeOf(this,t.prototype);}},rx=class t extends Me{constructor(e={}){super(e),this.name=e.name||"WebrpcStreamLost",this.code=typeof e.code=="number"?e.code:-9,this.message=e.message||"stream lost",this.status=typeof e.status=="number"?e.status:400,e.cause!==void 0&&(this.cause=e.cause),Object.setPrototypeOf(this,t.prototype);}},nx=class t extends Me{constructor(e={}){super(e),this.name=e.name||"WebrpcStreamFinished",this.code=typeof e.code=="number"?e.code:-10,this.message=e.message||"stream finished",this.status=typeof e.status=="number"?e.status:200,e.cause!==void 0&&(this.cause=e.cause),Object.setPrototypeOf(this,t.prototype);}},ix=class t extends Me{constructor(e={}){super(e),this.name=e.name||"Unauthorized",this.code=typeof e.code=="number"?e.code:1e3,this.message=e.message||"Unauthorized access",this.status=typeof e.status=="number"?e.status:401,e.cause!==void 0&&(this.cause=e.cause),Object.setPrototypeOf(this,t.prototype);}},ax=class t extends Me{constructor(e={}){super(e),this.name=e.name||"PermissionDenied",this.code=typeof e.code=="number"?e.code:1001,this.message=e.message||"Permission denied",this.status=typeof e.status=="number"?e.status:403,e.cause!==void 0&&(this.cause=e.cause),Object.setPrototypeOf(this,t.prototype);}},ox=class t extends Me{constructor(e={}){super(e),this.name=e.name||"SessionExpired",this.code=typeof e.code=="number"?e.code:1002,this.message=e.message||"Session expired",this.status=typeof e.status=="number"?e.status:403,e.cause!==void 0&&(this.cause=e.cause),Object.setPrototypeOf(this,t.prototype);}},cx=class t extends Me{constructor(e={}){super(e),this.name=e.name||"MethodNotFound",this.code=typeof e.code=="number"?e.code:1003,this.message=e.message||"Method not found",this.status=typeof e.status=="number"?e.status:404,e.cause!==void 0&&(this.cause=e.cause),Object.setPrototypeOf(this,t.prototype);}},ux=class t extends Me{constructor(e={}){super(e),this.name=e.name||"RequestConflict",this.code=typeof e.code=="number"?e.code:1004,this.message=e.message||"Conflict with target resource",this.status=typeof e.status=="number"?e.status:409,e.cause!==void 0&&(this.cause=e.cause),Object.setPrototypeOf(this,t.prototype);}},lx=class t extends Me{constructor(e={}){super(e),this.name=e.name||"Aborted",this.code=typeof e.code=="number"?e.code:1005,this.message=e.message||"Request aborted",this.status=typeof e.status=="number"?e.status:400,e.cause!==void 0&&(this.cause=e.cause),Object.setPrototypeOf(this,t.prototype);}},fx=class t extends Me{constructor(e={}){super(e),this.name=e.name||"Geoblocked",this.code=typeof e.code=="number"?e.code:1006,this.message=e.message||"Geoblocked region",this.status=typeof e.status=="number"?e.status:451,e.cause!==void 0&&(this.cause=e.cause),Object.setPrototypeOf(this,t.prototype);}},hx=class t extends Me{constructor(e={}){super(e),this.name=e.name||"RateLimited",this.code=typeof e.code=="number"?e.code:1007,this.message=e.message||"Rate-limited. Please slow down.",this.status=typeof e.status=="number"?e.status:429,e.cause!==void 0&&(this.cause=e.cause),Object.setPrototypeOf(this,t.prototype);}},dx=class t extends Me{constructor(e={}){super(e),this.name=e.name||"ProjectNotFound",this.code=typeof e.code=="number"?e.code:1008,this.message=e.message||"Project not found",this.status=typeof e.status=="number"?e.status:401,e.cause!==void 0&&(this.cause=e.cause),Object.setPrototypeOf(this,t.prototype);}},mx=class t extends Me{constructor(e={}){super(e),this.name=e.name||"AccessKeyNotFound",this.code=typeof e.code=="number"?e.code:1101,this.message=e.message||"Access key not found",this.status=typeof e.status=="number"?e.status:401,e.cause!==void 0&&(this.cause=e.cause),Object.setPrototypeOf(this,t.prototype);}},px=class t extends Me{constructor(e={}){super(e),this.name=e.name||"AccessKeyMismatch",this.code=typeof e.code=="number"?e.code:1102,this.message=e.message||"Access key mismatch",this.status=typeof e.status=="number"?e.status:409,e.cause!==void 0&&(this.cause=e.cause),Object.setPrototypeOf(this,t.prototype);}},gx=class t extends Me{constructor(e={}){super(e),this.name=e.name||"InvalidOrigin",this.code=typeof e.code=="number"?e.code:1103,this.message=e.message||"Invalid origin for Access Key",this.status=typeof e.status=="number"?e.status:403,e.cause!==void 0&&(this.cause=e.cause),Object.setPrototypeOf(this,t.prototype);}},yx=class t extends Me{constructor(e={}){super(e),this.name=e.name||"InvalidService",this.code=typeof e.code=="number"?e.code:1104,this.message=e.message||"Service not enabled for Access key",this.status=typeof e.status=="number"?e.status:403,e.cause!==void 0&&(this.cause=e.cause),Object.setPrototypeOf(this,t.prototype);}},wx=class t extends Me{constructor(e={}){super(e),this.name=e.name||"UnauthorizedUser",this.code=typeof e.code=="number"?e.code:1105,this.message=e.message||"Unauthorized user",this.status=typeof e.status=="number"?e.status:403,e.cause!==void 0&&(this.cause=e.cause),Object.setPrototypeOf(this,t.prototype);}},bx=class t extends Me{constructor(e={}){super(e),this.name=e.name||"QuotaExceeded",this.code=typeof e.code=="number"?e.code:1200,this.message=e.message||"Quota request exceeded",this.status=typeof e.status=="number"?e.status:429,e.cause!==void 0&&(this.cause=e.cause),Object.setPrototypeOf(this,t.prototype);}},Sx=class t extends Me{constructor(e={}){super(e),this.name=e.name||"QuotaRateLimit",this.code=typeof e.code=="number"?e.code:1201,this.message=e.message||"Quota rate limit exceeded",this.status=typeof e.status=="number"?e.status:429,e.cause!==void 0&&(this.cause=e.cause),Object.setPrototypeOf(this,t.prototype);}},vx=class t extends Me{constructor(e={}){super(e),this.name=e.name||"NoDefaultKey",this.code=typeof e.code=="number"?e.code:1300,this.message=e.message||"No default access key found",this.status=typeof e.status=="number"?e.status:403,e.cause!==void 0&&(this.cause=e.cause),Object.setPrototypeOf(this,t.prototype);}},Ex=class t extends Me{constructor(e={}){super(e),this.name=e.name||"MaxAccessKeys",this.code=typeof e.code=="number"?e.code:1301,this.message=e.message||"Access keys limit reached",this.status=typeof e.status=="number"?e.status:403,e.cause!==void 0&&(this.cause=e.cause),Object.setPrototypeOf(this,t.prototype);}},xx=class t extends Me{constructor(e={}){super(e),this.name=e.name||"AtLeastOneKey",this.code=typeof e.code=="number"?e.code:1302,this.message=e.message||"You need at least one Access Key",this.status=typeof e.status=="number"?e.status:403,e.cause!==void 0&&(this.cause=e.cause),Object.setPrototypeOf(this,t.prototype);}},Ax=class t extends Me{constructor(e={}){super(e),this.name=e.name||"Timeout",this.code=typeof e.code=="number"?e.code:1900,this.message=e.message||"Request timed out",this.status=typeof e.status=="number"?e.status:408,e.cause!==void 0&&(this.cause=e.cause),Object.setPrototypeOf(this,t.prototype);}},Ix=class t extends Me{constructor(e={}){super(e),this.name=e.name||"InvalidArgument",this.code=typeof e.code=="number"?e.code:2001,this.message=e.message||"Invalid argument",this.status=typeof e.status=="number"?e.status:400,e.cause!==void 0&&(this.cause=e.cause),Object.setPrototypeOf(this,t.prototype);}},Cx=class t extends Me{constructor(e={}){super(e),this.name=e.name||"Unavailable",this.code=typeof e.code=="number"?e.code:2002,this.message=e.message||"Unavailable resource",this.status=typeof e.status=="number"?e.status:400,e.cause!==void 0&&(this.cause=e.cause),Object.setPrototypeOf(this,t.prototype);}},Nx=class t extends Me{constructor(e={}){super(e),this.name=e.name||"QueryFailed",this.code=typeof e.code=="number"?e.code:2003,this.message=e.message||"Query failed",this.status=typeof e.status=="number"?e.status:400,e.cause!==void 0&&(this.cause=e.cause),Object.setPrototypeOf(this,t.prototype);}},Tx=class t extends Me{constructor(e={}){super(e),this.name=e.name||"NotFound",this.code=typeof e.code=="number"?e.code:3e3,this.message=e.message||"Resource not found",this.status=typeof e.status=="number"?e.status:400,e.cause!==void 0&&(this.cause=e.cause),Object.setPrototypeOf(this,t.prototype);}},kx=class t extends Me{constructor(e={}){super(e),this.name=e.name||"InsufficientFee",this.code=typeof e.code=="number"?e.code:3004,this.message=e.message||"Insufficient fee",this.status=typeof e.status=="number"?e.status:402,e.cause!==void 0&&(this.cause=e.cause),Object.setPrototypeOf(this,t.prototype);}},Bx=class t extends Me{constructor(e={}){super(e),this.name=e.name||"NotEnoughBalance",this.code=typeof e.code=="number"?e.code:3005,this.message=e.message||"Not enough balance",this.status=typeof e.status=="number"?e.status:402,e.cause!==void 0&&(this.cause=e.cause),Object.setPrototypeOf(this,t.prototype);}},Px=class t extends Me{constructor(e={}){super(e),this.name=e.name||"SimulationFailed",this.code=typeof e.code=="number"?e.code:3006,this.message=e.message||"Simulation failed",this.status=typeof e.status=="number"?e.status:400,e.cause!==void 0&&(this.cause=e.cause),Object.setPrototypeOf(this,t.prototype);}},jN;(function(t){t.WebrpcEndpoint="WebrpcEndpoint",t.WebrpcRequestFailed="WebrpcRequestFailed",t.WebrpcBadRoute="WebrpcBadRoute",t.WebrpcBadMethod="WebrpcBadMethod",t.WebrpcBadRequest="WebrpcBadRequest",t.WebrpcBadResponse="WebrpcBadResponse",t.WebrpcServerPanic="WebrpcServerPanic",t.WebrpcInternalError="WebrpcInternalError",t.WebrpcClientAborted="WebrpcClientAborted",t.WebrpcStreamLost="WebrpcStreamLost",t.WebrpcStreamFinished="WebrpcStreamFinished",t.Unauthorized="Unauthorized",t.PermissionDenied="PermissionDenied",t.SessionExpired="SessionExpired",t.MethodNotFound="MethodNotFound",t.RequestConflict="RequestConflict",t.Aborted="Aborted",t.Geoblocked="Geoblocked",t.RateLimited="RateLimited",t.ProjectNotFound="ProjectNotFound",t.AccessKeyNotFound="AccessKeyNotFound",t.AccessKeyMismatch="AccessKeyMismatch",t.InvalidOrigin="InvalidOrigin",t.InvalidService="InvalidService",t.UnauthorizedUser="UnauthorizedUser",t.QuotaExceeded="QuotaExceeded",t.QuotaRateLimit="QuotaRateLimit",t.NoDefaultKey="NoDefaultKey",t.MaxAccessKeys="MaxAccessKeys",t.AtLeastOneKey="AtLeastOneKey",t.Timeout="Timeout",t.InvalidArgument="InvalidArgument",t.Unavailable="Unavailable",t.QueryFailed="QueryFailed",t.NotFound="NotFound",t.InsufficientFee="InsufficientFee",t.NotEnoughBalance="NotEnoughBalance",t.SimulationFailed="SimulationFailed";})(jN||(jN={}));var MN;(function(t){t[t.WebrpcEndpoint=0]="WebrpcEndpoint",t[t.WebrpcRequestFailed=-1]="WebrpcRequestFailed",t[t.WebrpcBadRoute=-2]="WebrpcBadRoute",t[t.WebrpcBadMethod=-3]="WebrpcBadMethod",t[t.WebrpcBadRequest=-4]="WebrpcBadRequest",t[t.WebrpcBadResponse=-5]="WebrpcBadResponse",t[t.WebrpcServerPanic=-6]="WebrpcServerPanic",t[t.WebrpcInternalError=-7]="WebrpcInternalError",t[t.WebrpcClientAborted=-8]="WebrpcClientAborted",t[t.WebrpcStreamLost=-9]="WebrpcStreamLost",t[t.WebrpcStreamFinished=-10]="WebrpcStreamFinished",t[t.Unauthorized=1e3]="Unauthorized",t[t.PermissionDenied=1001]="PermissionDenied",t[t.SessionExpired=1002]="SessionExpired",t[t.MethodNotFound=1003]="MethodNotFound",t[t.RequestConflict=1004]="RequestConflict",t[t.Aborted=1005]="Aborted",t[t.Geoblocked=1006]="Geoblocked",t[t.RateLimited=1007]="RateLimited",t[t.ProjectNotFound=1008]="ProjectNotFound",t[t.AccessKeyNotFound=1101]="AccessKeyNotFound",t[t.AccessKeyMismatch=1102]="AccessKeyMismatch",t[t.InvalidOrigin=1103]="InvalidOrigin",t[t.InvalidService=1104]="InvalidService",t[t.UnauthorizedUser=1105]="UnauthorizedUser",t[t.QuotaExceeded=1200]="QuotaExceeded",t[t.QuotaRateLimit=1201]="QuotaRateLimit",t[t.NoDefaultKey=1300]="NoDefaultKey",t[t.MaxAccessKeys=1301]="MaxAccessKeys",t[t.AtLeastOneKey=1302]="AtLeastOneKey",t[t.Timeout=1900]="Timeout",t[t.InvalidArgument=2001]="InvalidArgument",t[t.Unavailable=2002]="Unavailable",t[t.QueryFailed=2003]="QueryFailed",t[t.NotFound=3e3]="NotFound",t[t.InsufficientFee=3004]="InsufficientFee",t[t.NotEnoughBalance=3005]="NotEnoughBalance",t[t.SimulationFailed=3006]="SimulationFailed";})(MN||(MN={}));var DD={0:Y2,[-1]:Ze,[-2]:Z2,[-3]:X2,[-4]:Q2,[-5]:to,[-6]:ex,[-7]:tx,[-8]:sx,[-9]:rx,[-10]:nx,1e3:ix,1001:ax,1002:ox,1003:cx,1004:ux,1005:lx,1006:fx,1007:hx,1008:dx,1101:mx,1102:px,1103:gx,1104:yx,1105:wx,1200:bx,1201:Sx,1300:vx,1301:Ex,1302:xx,1900:Ax,2001:Ix,2002:Cx,2003:Nx,3e3:Tx,3004:kx,3005:Bx,3006:Px};d();h();d();h();d();h();d();h();var fn={};Ne(fn,{DEPLOY:()=>FN,DefaultGuestAddress:()=>HD,EXECUTE:()=>qD,EXECUTE_USER_OP:()=>Ox,GET_IMPLEMENTATION:()=>jD,GET_LIMIT_USAGE:()=>JD,IMAGE_HASH:()=>MD,INCREMENT_USAGE_LIMIT:()=>WD,IS_VALID_SIGNATURE:()=>qN,PlaceholderAddress:()=>_D,READ_ENTRYPOINT:()=>GD,READ_NONCE:()=>$D,READ_NONCE_4337:()=>KD,RECOVER_SAPIENT_SIGNATURE:()=>KN,RECOVER_SAPIENT_SIGNATURE_COMPACT:()=>GN,UPDATE_IMAGE_HASH:()=>FD,ZeroAddress:()=>UD});d();h();var UD="0x0000000000000000000000000000000000000000",_D="0xffff0000ffff0000ffff0000ffff0000ffff0000",HD="0x0000000000006Ac72ed1d192fa28f0058D3F8806",qN=He.from(["function isValidSignature(bytes32 _hash, bytes memory _signature) public view returns (bytes4 magicValue)"])[0],FN=He.from(["function deploy(address _mainModule, bytes32 _salt) public payable returns (address _contract)"])[0],jD=He.from(["function getImplementation() external view returns (address)"])[0],MD=He.from(["function imageHash() external view returns (bytes32)"])[0],$D=He.from(["function readNonce(uint256 _space) public view returns (uint256)"])[0],qD=He.from(["function execute(bytes calldata _payload, bytes calldata _signature) external"])[0],FD=He.from(["function updateImageHash(bytes32 _imageHash) external"])[0],KN=He.from(["function recoverSapientSignature((uint8 kind,bool noChainId,(address to,uint256 value,bytes data,uint256 gasLimit,bool delegateCall,bool onlyFallback,uint256 behaviorOnError)[] calls,uint256 space,uint256 nonce,bytes message,bytes32 imageHash,bytes32 digest,address[] parentWallets) calldata _payload, bytes calldata _signature) external view returns (bytes32)"])[0],GN=He.from(["function recoverSapientSignatureCompact(bytes32 _digest, bytes calldata _signature) external view returns (bytes32)"])[0],Ox=He.from(["function executeUserOp(bytes calldata _userOp) external"])[0],KD=He.from(["function getNonce(address _account, uint192 _key) public view returns (uint256)"])[0],GD=He.from(["function entrypoint() public view returns (address)"])[0],WD=He.from([{type:"function",name:"incrementUsageLimit",inputs:[{name:"limits",type:"tuple[]",internalType:"struct UsageLimit[]",components:[{name:"usageHash",type:"bytes32",internalType:"bytes32"},{name:"usageAmount",type:"uint256",internalType:"uint256"}]}],outputs:[],stateMutability:"nonpayable"}])[0],JD=He.from(["function getLimitUsage(address wallet, bytes32 usageHash) public view returns (uint256)"])[0];d();h();var Lr={};Ne(Lr,{BEHAVIOR_ABORT_ON_ERROR:()=>Hx,BEHAVIOR_IGNORE_ERROR:()=>Ux,BEHAVIOR_REVERT_ON_ERROR:()=>_x,KIND_CONFIG_UPDATE:()=>Dx,KIND_DIGEST:()=>Vx,KIND_MESSAGE:()=>Lx,KIND_TRANSACTIONS:()=>Rx,decode:()=>cV,decodeBehaviorOnError:()=>eT,encode:()=>YN,encode4337Nonce:()=>ZN,encodeBehaviorOnError:()=>Su,encodeSapient:()=>iV,fromAbiFormat:()=>lV,fromCall:()=>QD,fromConfigUpdate:()=>WN,fromDigest:()=>XD,fromMessage:()=>ZD,hash:()=>$x,hashCall:()=>oV,isCalls:()=>eV,isCalls4337_07:()=>rV,isConfigUpdate:()=>sV,isDigest:()=>JN,isMessage:()=>tV,isParented:()=>nV,isRecovery:()=>jx,isSessionImplicitAuthorize:()=>Mx,to4337Message:()=>QN,to4337UserOperation:()=>XN,toAbiFormat:()=>tT,toRecovery:()=>zN,toTyped:()=>qx});d();h();d();h();function Hh(t){return Math.ceil(t.toString(16).length/2)}var Rx=0,Lx=1,Dx=2,Vx=3,Ux=0,_x=1,Hx=2;function ZD(t){return {type:"message",message:t}}function WN(t){return {type:"config-update",imageHash:t}}function XD(t){return {type:"digest",digest:t}}function QD(t,e,s){return {type:"call",nonce:t,space:e,calls:s}}function eV(t){return t.type==="call"}function tV(t){return t.type==="message"}function sV(t){return t.type==="config-update"}function JN(t){return t.type==="digest"}function jx(t){return Mx(t)?!1:t.recovery===!0}function rV(t){return t.type==="call_4337_07"}function nV(t){return "parentWallets"in t}function zN(t){return jx(t)?t:{...t,recovery:!0}}function Mx(t){return t.type==="session-implicit-authorize"}function YN(t,e){let s=t.calls.length,r=Hh(t.nonce);if(r>15)throw new Error("Nonce is too large");let n=0;t.space===0n&&(n|=1),n|=r<<1,s===1&&(n|=16);let i=0;if(s!==1)if(s<256)i=1;else if(s<65536)i=2,n|=32;else throw new Error("Too many calls");let a=f.fromNumber(n,{size:1});if(t.space!==0n){let o=f.padLeft(f.fromNumber(t.space),20);a=f.concat(a,o);}if(r>0){let o=f.padLeft(f.fromNumber(t.nonce),r);a=f.concat(a,o);}s!==1&&(i===1?a=f.concat(a,f.fromNumber(s,{size:1})):a=f.concat(a,f.fromNumber(s,{size:2})));for(let o of t.calls){let c=0;if(e&&j.isEqual(o.to,e)&&(c|=1),o.value!==0n&&(c|=2),o.data&&o.data.length>0&&(c|=4),o.gasLimit!==0n&&(c|=8),o.delegateCall&&(c|=16),o.onlyFallback&&(c|=32),c|=Su(o.behaviorOnError)<<6,a=f.concat(a,f.fromNumber(c,{size:1})),!(c&1)){let u=f.fromHex(o.to);if(u.length!==20)throw new Error(`Invalid 'to' address: ${o.to}`);a=f.concat(a,u);}if(c&2){let u=f.padLeft(f.fromNumber(o.value),32);a=f.concat(a,u);}if(c&4){let u=f.fromHex(o.data).length;if(u>16777215)throw new Error("Data too large");let l=f.fromNumber(u,{size:3});a=f.concat(a,l,f.fromHex(o.data));}if(c&8){let u=f.padLeft(f.fromNumber(o.gasLimit),32);a=f.concat(a,u);}}return a}function iV(t,e){let s={kind:0,noChainId:!t,calls:[],space:0n,nonce:0n,message:"0x",imageHash:"0x0000000000000000000000000000000000000000000000000000000000000000",digest:"0x0000000000000000000000000000000000000000000000000000000000000000",parentWallets:e.parentWallets??[]};switch(e.type){case"call":s.kind=0,s.calls=e.calls.map(r=>({...r,data:r.data,behaviorOnError:BigInt(Su(r.behaviorOnError))})),s.space=e.space,s.nonce=e.nonce;break;case"message":s.kind=1,s.message=e.message;break;case"config-update":s.kind=2,s.imageHash=e.imageHash;break;case"digest":s.kind=3,s.digest=e.digest;break}return s}function $x(t,e,s){if(JN(s))return f.fromHex(s.digest);if(Mx(s))return jh.hash(s.attestation);let r=qx(t,e,s);return f.fromHex(dh(r))}function aV(t,e,s){return jx(t)?{name:"Sequence Wallet - Recovery Mode",version:"1",chainId:Number(s),verifyingContract:e}:{name:"Sequence Wallet",version:"3",chainId:Number(s),verifyingContract:e}}function ZN(t,e){if(t>6277101735386680763835789423207666416102355444464034512895n)throw new RangeError("key exceeds 192 bits");if(e>18446744073709551615n)throw new RangeError("seq exceeds 64 bits");return t<<64n|e}function qx(t,e,s){let r=aV(s,t,e);switch(s.type){case"call":{let n={Calls:[{name:"calls",type:"Call[]"},{name:"space",type:"uint256"},{name:"nonce",type:"uint256"},{name:"wallets",type:"address[]"}],Call:[{name:"to",type:"address"},{name:"value",type:"uint256"},{name:"data",type:"bytes"},{name:"gasLimit",type:"uint256"},{name:"delegateCall",type:"bool"},{name:"onlyFallback",type:"bool"},{name:"behaviorOnError",type:"uint256"}]},i={calls:s.calls.map(a=>({to:a.to,value:a.value.toString(),data:a.data,gasLimit:a.gasLimit.toString(),delegateCall:a.delegateCall,onlyFallback:a.onlyFallback,behaviorOnError:BigInt(Su(a.behaviorOnError)).toString()})),space:s.space.toString(),nonce:s.nonce.toString(),wallets:s.parentWallets??[]};return {domain:r,types:n,primaryType:"Calls",message:i}}case"message":{let n={Message:[{name:"message",type:"bytes"},{name:"wallets",type:"address[]"}]},i={message:s.message,wallets:s.parentWallets??[]};return {domain:r,types:n,primaryType:"Message",message:i}}case"config-update":{let n={ConfigUpdate:[{name:"imageHash",type:"bytes32"},{name:"wallets",type:"address[]"}]},i={imageHash:s.imageHash,wallets:s.parentWallets??[]};return {domain:r,types:n,primaryType:"ConfigUpdate",message:i}}case"digest":throw new Error("Digest does not support typed data - Use message instead");case"session-implicit-authorize":throw new Error("Payload does not support typed data");case"call_4337_07":{let n={type:"message",message:QN(s,t,e)};return qx(t,e,n)}}}function XN(t,e,s){let r={type:"call",space:0n,nonce:0n,calls:t.calls},n=P.fromBytes(YN(r));return {sender:e,nonce:ZN(t.space,t.nonce),callData:me.encodeData(Ox,[n]),callGasLimit:t.callGasLimit,maxFeePerGas:t.maxFeePerGas,maxPriorityFeePerGas:t.maxPriorityFeePerGas,preVerificationGas:t.preVerificationGas,verificationGasLimit:t.verificationGasLimit,factory:t.factory,factoryData:t.factoryData,paymaster:t.paymaster,paymasterData:t.paymasterData,paymasterPostOpGasLimit:t.paymasterPostOpGasLimit,paymasterVerificationGasLimit:t.paymasterVerificationGasLimit,signature:s}}function QN(t,e,s){let r=XN(t,e),n=P.concat(P.padLeft(P.fromNumber(r.verificationGasLimit),16),P.padLeft(P.fromNumber(r.callGasLimit),16)),i=P.concat(P.padLeft(P.fromNumber(r.maxPriorityFeePerGas),16),P.padLeft(P.fromNumber(r.maxFeePerGas),16)),a=he.keccak256(r.factory&&r.factoryData?P.concat(r.factory,r.factoryData):"0x"),o=he.keccak256(r.paymaster?P.concat(r.paymaster,P.padLeft(P.fromNumber(r.paymasterVerificationGasLimit||0),16),P.padLeft(P.fromNumber(r.paymasterPostOpGasLimit||0),16),r.paymasterData||"0x"):"0x"),c=mt.encode([{type:"address"},{type:"uint256"},{type:"bytes32"},{type:"bytes32"},{type:"bytes32"},{type:"uint256"},{type:"bytes32"},{type:"bytes32"}],[r.sender,r.nonce,a,he.keccak256(r.callData),n,r.preVerificationGas,i,o]);return mt.encode([{type:"bytes32"},{type:"address"},{type:"uint256"}],[he.keccak256(c),t.entrypoint,BigInt(s)])}function Su(t){switch(t){case"ignore":return Ux;case"revert":return _x;case"abort":return Hx}}function oV(t){let e=he.keccak256(f.fromString("Call(address to,uint256 value,bytes data,uint256 gasLimit,bool delegateCall,bool onlyFallback,uint256 behaviorOnError)"));return he.keccak256(mt.encode([{type:"bytes32"},{type:"address"},{type:"uint256"},{type:"bytes32"},{type:"uint256"},{type:"bool"},{type:"bool"},{type:"uint256"}],[P.from(e),P.from(t.to),t.value,P.from(he.keccak256(t.data)),t.gasLimit,t.delegateCall,t.onlyFallback,BigInt(Su(t.behaviorOnError))]))}function cV(t,e){let s=0;if(t.length<1)throw new Error("Invalid packed data: missing globalFlag");let r=f.toNumber(t.slice(s,s+1));s+=1;let n=(r&1)===1,i=0n;if(!n){if(s+20>t.length)throw new Error("Invalid packed data: not enough bytes for space");i=f.toBigInt(t.slice(s,s+20)),s+=20;}let a=r>>1&7,o=0n;if(a>0){if(s+a>t.length)throw new Error("Invalid packed data: not enough bytes for nonce");o=f.toBigInt(t.slice(s,s+a)),s+=a;}let c=1;if(!((r&16)===16)){let w=(r&32)===32?2:1;if(s+w>t.length)throw new Error("Invalid packed data: not enough bytes for callsCount");c=f.toNumber(t.slice(s,s+w)),s+=w;}let l=[];for(let p=0;p<c;p++){if(s+1>t.length)throw new Error("Invalid packed data: missing call flags");let w=f.toNumber(t.slice(s,s+1));s+=1;let E;if((w&1)===1){if(!e)throw new Error('Missing "self" address for toSelf call');E=e;}else {if(s+20>t.length)throw new Error("Invalid packed data: not enough bytes for address");E=f.toHex(t.slice(s,s+20)),s+=20;}let S=0n;if((w&2)===2){if(s+32>t.length)throw new Error("Invalid packed data: not enough bytes for value");S=f.toBigInt(t.slice(s,s+32)),s+=32;}let I=f.fromHex("0x");if((w&4)===4){if(s+3>t.length)throw new Error("Invalid packed data: not enough bytes for data length");let O=f.toNumber(t.slice(s,s+3));if(s+=3,s+O>t.length)throw new Error("Invalid packed data: not enough bytes for call data");I=t.slice(s,s+O),s+=O;}let C=0n;if((w&8)===8){if(s+32>t.length)throw new Error("Invalid packed data: not enough bytes for gasLimit");C=f.toBigInt(t.slice(s,s+32)),s+=32;}let D=(w&16)===16,V=(w&32)===32,B=(w&192)>>6,k=eT(B);l.push({to:E,value:S,data:f.toHex(I),gasLimit:C,delegateCall:D,onlyFallback:V,behaviorOnError:k});}return {type:"call",space:i,nonce:o,calls:l}}function eT(t){switch(t){case 0:return "ignore";case 1:return "revert";case 2:return "abort";default:throw new Error(`Invalid behaviorOnError value: ${t}`)}}function uV(t){switch(t){case Ux:return "ignore";case _x:return "revert";case Hx:return "abort";default:throw new Error(`Unknown behavior: ${t}`)}}function lV(t){if(t.kind===Rx)return {type:"call",nonce:t.nonce,space:t.space,calls:t.calls.map(e=>({to:j.from(e.to),value:e.value,data:e.data,gasLimit:e.gasLimit,delegateCall:e.delegateCall,onlyFallback:e.onlyFallback,behaviorOnError:uV(Number(e.behaviorOnError))})),parentWallets:t.parentWallets.map(e=>j.from(e))};if(t.kind===Lx)return {type:"message",message:t.message,parentWallets:t.parentWallets.map(e=>j.from(e))};if(t.kind===Dx)return {type:"config-update",imageHash:t.imageHash,parentWallets:t.parentWallets.map(e=>j.from(e))};if(t.kind===Vx)return {type:"digest",digest:t.digest,parentWallets:t.parentWallets.map(e=>j.from(e))};throw new Error("Not implemented")}function tT(t){if(t.type==="call")return {kind:Rx,noChainId:!1,calls:t.calls.map(e=>({to:e.to,value:e.value,data:e.data,gasLimit:e.gasLimit,delegateCall:e.delegateCall,onlyFallback:e.onlyFallback,behaviorOnError:BigInt(Su(e.behaviorOnError))})),space:t.space,nonce:t.nonce,message:"0x",imageHash:"0x0000000000000000000000000000000000000000000000000000000000000000",digest:"0x0000000000000000000000000000000000000000000000000000000000000000",parentWallets:t.parentWallets??[]};if(t.type==="message")return {kind:Lx,noChainId:!1,calls:[],space:0n,nonce:0n,message:t.message,imageHash:"0x0000000000000000000000000000000000000000000000000000000000000000",digest:"0x0000000000000000000000000000000000000000000000000000000000000000",parentWallets:t.parentWallets??[]};if(t.type==="config-update")return {kind:Dx,noChainId:!1,calls:[],space:0n,nonce:0n,message:"0x",imageHash:t.imageHash,digest:"0x0000000000000000000000000000000000000000000000000000000000000000",parentWallets:t.parentWallets??[]};if(t.type==="digest")return {kind:Vx,noChainId:!1,calls:[],space:0n,nonce:0n,message:"0x",imageHash:"0x0000000000000000000000000000000000000000000000000000000000000000",digest:t.digest,parentWallets:t.parentWallets??[]};throw new Error("Invalid payload type")}var jh={};Ne(jh,{ACCEPT_IMPLICIT_REQUEST_MAGIC_PREFIX:()=>cT,decode:()=>gV,decodeAuthData:()=>iT,encode:()=>rT,encodeAuthData:()=>nT,encodeForJson:()=>aT,fromJson:()=>bV,fromParsed:()=>oT,generateImplicitRequestMagic:()=>SV,hash:()=>yV,toJson:()=>wV});d();h();function rT(t){let e=nT(t.authData),s=[f.fromHex(t.approvedSigner,{size:20}),f.padLeft(t.identityType.slice(0,4),4),f.padLeft(t.issuerHash,32),f.padLeft(t.audienceHash,32),f.fromNumber(t.applicationData.length,{size:3}),t.applicationData,e];return f.concat(...s)}function nT(t){return f.concat(f.fromNumber(t.redirectUrl.length,{size:3}),f.fromString(t.redirectUrl),f.fromNumber(t.issuedAt,{size:8}))}function gV(t){let e=f.toHex(t.slice(0,20)),s=t.slice(20,24),r=t.slice(24,56),n=t.slice(56,88),i=f.toNumber(t.slice(88,91)),a=t.slice(91,91+i),o=iT(t.slice(91+i));return {approvedSigner:e,identityType:s,issuerHash:r,audienceHash:n,applicationData:a,authData:o}}function iT(t){let e=f.toNumber(t.slice(0,3)),s=f.toString(t.slice(3,3+e)),r=f.toBigInt(t.slice(3+e,3+e+8));return {redirectUrl:s,issuedAt:r}}function yV(t){return he.keccak256(rT(t))}function wV(t,e){return JSON.stringify(aT(t),null,e)}function aT(t){return {approvedSigner:t.approvedSigner.toString(),identityType:f.toHex(t.identityType),issuerHash:f.toHex(t.issuerHash),audienceHash:f.toHex(t.audienceHash),applicationData:f.toHex(t.applicationData),authData:{redirectUrl:t.authData.redirectUrl,issuedAt:t.authData.issuedAt.toString()}}}function bV(t){return oT(JSON.parse(t))}function oT(t){return {approvedSigner:j.from(t.approvedSigner),identityType:f.fromHex(t.identityType),issuerHash:f.fromHex(t.issuerHash),audienceHash:f.fromHex(t.audienceHash),applicationData:f.fromHex(t.applicationData),authData:{redirectUrl:t.authData.redirectUrl,issuedAt:BigInt(t.authData.issuedAt)}}}var cT=he.keccak256(f.fromString("acceptImplicitRequest"));function SV(t,e){return he.keccak256(f.concat(cT,f.fromHex(e,{size:20}),t.audienceHash,t.issuerHash))}d();h();var uT;(function(t){t[t.EQUAL=0]="EQUAL",t[t.NOT_EQUAL=1]="NOT_EQUAL",t[t.GREATER_THAN_OR_EQUAL=2]="GREATER_THAN_OR_EQUAL",t[t.LESS_THAN_OR_EQUAL=3]="LESS_THAN_OR_EQUAL";})(uT||(uT={}));({SELECTOR:f.padRight(f.fromHex("0xffffffff"),32),ADDRESS:f.padLeft(f.fromHex("0xffffffffffffffffffffffffffffffffffffffff"),32),BOOL:f.padLeft(f.fromHex("0x01"),32),BYTES1:f.padLeft(f.from(Array(1).fill(255)),32),BYTES2:f.padLeft(f.from(Array(2).fill(255)),32),BYTES4:f.padLeft(f.from(Array(4).fill(255)),32),BYTES8:f.padLeft(f.from(Array(8).fill(255)),32),BYTES16:f.padLeft(f.from(Array(16).fill(255)),32),BYTES32:f.padLeft(f.from(Array(32).fill(255)),32),INT8:f.padLeft(f.from(Array(1).fill(255)),32),INT16:f.padLeft(f.from(Array(2).fill(255)),32),INT32:f.padLeft(f.from(Array(4).fill(255)),32),INT64:f.padLeft(f.from(Array(8).fill(255)),32),INT128:f.padLeft(f.from(Array(16).fill(255)),32),INT256:f.padLeft(f.from(Array(32).fill(255)),32),UINT8:f.padLeft(f.from(Array(1).fill(255)),32),UINT16:f.padLeft(f.from(Array(2).fill(255)),32),UINT32:f.padLeft(f.from(Array(4).fill(255)),32),UINT64:f.padLeft(f.from(Array(8).fill(255)),32),UINT128:f.padLeft(f.from(Array(16).fill(255)),32),UINT256:f.padLeft(f.from(Array(32).fill(255)),32)});d();h();d();h();d();h();d();h();d();h();d();h();d();h();d();h();f.fromString(`Sequence recovery leaf:
359
+ `);He.from(["function queuePayload(address _wallet, address _signer, (uint8 kind,bool noChainId,(address to,uint256 value,bytes data,uint256 gasLimit,bool delegateCall,bool onlyFallback,uint256 behaviorOnError)[] calls,uint256 space,uint256 nonce,bytes message,bytes32 imageHash,bytes32 digest,address[] parentWallets) calldata _payload, bytes calldata _signature) external"])[0];He.from(["function timestampForQueuedPayload(address _wallet, address _signer, bytes32 _payloadHash) external view returns (uint256)"])[0];He.from(["function queuedPayloadHashes(address _wallet, address _signer, uint256 _index) external view returns (bytes32)"])[0];He.from(["function totalQueuedPayloads(address _wallet, address _signer) external view returns (uint256)"])[0];var U1={};Ne(U1,{ALL:()=>Fx,ChainId:()=>Z,NetworkType:()=>Ce,getNetworkFromChainId:()=>jV,getNetworkFromName:()=>HV});d();h();var Ce;(function(t){t.MAINNET="mainnet",t.TESTNET="testnet";})(Ce||(Ce={}));var Z={NONE:0,MAINNET:1,SEPOLIA:11155111,POLYGON:137,POLYGON_ZKEVM:1101,POLYGON_AMOY:80002,BSC:56,BSC_TESTNET:97,OPTIMISM:10,OPTIMISM_SEPOLIA:11155420,ARBITRUM:42161,ARBITRUM_SEPOLIA:421614,ARBITRUM_NOVA:42170,AVALANCHE:43114,AVALANCHE_TESTNET:43113,GNOSIS:100,BASE:8453,BASE_SEPOLIA:84532,HOMEVERSE_TESTNET:40875,HOMEVERSE:19011,XAI:660279,XAI_SEPOLIA:37714555429,TELOS:40,TELOS_TESTNET:41,B3:8333,B3_SEPOLIA:1993,APECHAIN:33139,APECHAIN_TESTNET:33111,BLAST:81457,BLAST_SEPOLIA:168587773,SKALE_NEBULA:1482601649,SKALE_NEBULA_TESTNET:37084624,SONEIUM_MINATO:1946,SONEIUM:1868,TOY_TESTNET:21e6,IMMUTABLE_ZKEVM:13371,IMMUTABLE_ZKEVM_TESTNET:13473,ETHERLINK:42793,ETHERLINK_TESTNET:128123,MOONBEAM:1284,MOONBASE_ALPHA:1287,MONAD:143,MONAD_TESTNET:10143,SOMNIA_TESTNET:50312,SOMNIA:5031,INCENTIV_TESTNET_V2:28802,KATANA:747474,SANDBOX_TESTNET:6252,ARC_TESTNET:5042002},Fx=[{chainId:Z.MAINNET,type:Ce.MAINNET,name:"mainnet",title:"Ethereum",rpcUrl:Pe("mainnet"),logoUrl:Oe(Z.MAINNET),blockExplorer:{name:"Etherscan",url:"https://etherscan.io/"},nativeCurrency:{symbol:"ETH",name:"Ether",decimals:18},ensAddress:"0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e"},{chainId:Z.SEPOLIA,type:Ce.TESTNET,name:"sepolia",title:"Sepolia",rpcUrl:Pe("sepolia"),logoUrl:Oe(Z.SEPOLIA),blockExplorer:{name:"Etherscan (Sepolia)",url:"https://sepolia.etherscan.io/"},nativeCurrency:{symbol:"sETH",name:"Sepolia Ether",decimals:18}},{chainId:Z.POLYGON,type:Ce.MAINNET,name:"polygon",title:"Polygon",rpcUrl:Pe("polygon"),logoUrl:Oe(Z.POLYGON),blockExplorer:{name:"Polygonscan",url:"https://polygonscan.com/"},nativeCurrency:{symbol:"POL",name:"POL",decimals:18}},{chainId:Z.POLYGON_AMOY,type:Ce.TESTNET,name:"amoy",title:"Polygon Amoy",rpcUrl:Pe("amoy"),logoUrl:Oe(Z.POLYGON_AMOY),blockExplorer:{name:"OKLink (Amoy)",url:"https://www.oklink.com/amoy/"},nativeCurrency:{symbol:"aPOL",name:"Amoy POL",decimals:18}},{chainId:Z.POLYGON_ZKEVM,type:Ce.MAINNET,name:"polygon-zkevm",title:"Polygon zkEVM",rpcUrl:Pe("polygon-zkevm"),logoUrl:Oe(Z.POLYGON_ZKEVM),blockExplorer:{name:"Polygonscan (zkEVM)",url:"https://zkevm.polygonscan.com/"},nativeCurrency:{symbol:"ETH",name:"Ether",decimals:18}},{chainId:Z.BSC,type:Ce.MAINNET,name:"bsc",title:"BNB Smart Chain",rpcUrl:Pe("bsc"),logoUrl:Oe(Z.BSC),blockExplorer:{name:"BSCScan",url:"https://bscscan.com/"},nativeCurrency:{symbol:"BNB",name:"BNB",decimals:18}},{chainId:Z.BSC_TESTNET,type:Ce.TESTNET,name:"bsc-testnet",title:"BNB Smart Chain Testnet",rpcUrl:Pe("bsc-testnet"),logoUrl:Oe(Z.BSC_TESTNET),blockExplorer:{name:"BSCScan (Testnet)",url:"https://testnet.bscscan.com/"},nativeCurrency:{symbol:"tBNB",name:"Testnet BNB",decimals:18}},{chainId:Z.OPTIMISM,type:Ce.MAINNET,name:"optimism",title:"Optimism",rpcUrl:Pe("optimism"),logoUrl:Oe(Z.OPTIMISM),blockExplorer:{name:"Etherscan (Optimism)",url:"https://optimistic.etherscan.io/"},nativeCurrency:{symbol:"ETH",name:"Ether",decimals:18}},{chainId:Z.OPTIMISM_SEPOLIA,type:Ce.TESTNET,name:"optimism-sepolia",title:"Optimism Sepolia",rpcUrl:Pe("optimism-sepolia"),logoUrl:Oe(Z.OPTIMISM_SEPOLIA),blockExplorer:{name:"Etherscan (Optimism Sepolia)",url:"https://sepolia-optimistic.etherscan.io/"},nativeCurrency:{symbol:"sETH",name:"Sepolia Ether",decimals:18}},{chainId:Z.ARBITRUM,type:Ce.MAINNET,name:"arbitrum",title:"Arbitrum One",rpcUrl:Pe("arbitrum"),logoUrl:Oe(Z.ARBITRUM),blockExplorer:{name:"Arbiscan",url:"https://arbiscan.io/"},nativeCurrency:{symbol:"ETH",name:"Ether",decimals:18}},{chainId:Z.ARBITRUM_SEPOLIA,type:Ce.TESTNET,name:"arbitrum-sepolia",title:"Arbitrum Sepolia",rpcUrl:Pe("arbitrum-sepolia"),logoUrl:Oe(Z.ARBITRUM_SEPOLIA),blockExplorer:{name:"Arbiscan (Sepolia Testnet)",url:"https://sepolia.arbiscan.io/"},nativeCurrency:{symbol:"sETH",name:"Sepolia Ether",decimals:18}},{chainId:Z.ARBITRUM_NOVA,type:Ce.MAINNET,name:"arbitrum-nova",title:"Arbitrum Nova",rpcUrl:Pe("arbitrum-nova"),logoUrl:Oe(Z.ARBITRUM_NOVA),blockExplorer:{name:"Arbiscan Nova",url:"https://nova.arbiscan.io/"},nativeCurrency:{symbol:"ETH",name:"Ether",decimals:18}},{chainId:Z.AVALANCHE,type:Ce.MAINNET,name:"avalanche",title:"Avalanche",rpcUrl:Pe("avalanche"),logoUrl:Oe(Z.AVALANCHE),blockExplorer:{name:"Snowtrace",url:"https://subnets.avax.network/c-chain/"},nativeCurrency:{symbol:"AVAX",name:"AVAX",decimals:18}},{chainId:Z.AVALANCHE_TESTNET,type:Ce.TESTNET,name:"avalanche-testnet",title:"Avalanche Testnet",rpcUrl:Pe("avalanche-testnet"),logoUrl:Oe(Z.AVALANCHE_TESTNET),blockExplorer:{name:"Snowtrace (Testnet)",url:"https://subnets-test.avax.network/c-chain/"},nativeCurrency:{symbol:"tAVAX",name:"Testnet AVAX",decimals:18}},{chainId:Z.GNOSIS,type:Ce.MAINNET,name:"gnosis",title:"Gnosis Chain",rpcUrl:Pe("gnosis"),logoUrl:Oe(Z.GNOSIS),blockExplorer:{name:"Gnosis Chain Explorer",url:"https://blockscout.com/xdai/mainnet/"},nativeCurrency:{symbol:"XDAI",name:"XDAI",decimals:18}},{chainId:Z.BASE,type:Ce.MAINNET,name:"base",title:"Base (Coinbase)",rpcUrl:Pe("base"),logoUrl:Oe(Z.BASE),blockExplorer:{name:"Base Explorer",url:"https://basescan.org/"},nativeCurrency:{symbol:"ETH",name:"Ether",decimals:18}},{chainId:Z.BASE_SEPOLIA,type:Ce.TESTNET,name:"base-sepolia",title:"Base Sepolia",rpcUrl:Pe("base-sepolia"),logoUrl:Oe(Z.BASE_SEPOLIA),blockExplorer:{name:"Base Sepolia Explorer",url:"https://base-sepolia.blockscout.com/"},nativeCurrency:{symbol:"sETH",name:"Sepolia Ether",decimals:18}},{chainId:Z.HOMEVERSE,type:Ce.MAINNET,name:"homeverse",title:"Oasys Homeverse",rpcUrl:Pe("homeverse"),logoUrl:Oe(Z.HOMEVERSE),blockExplorer:{name:"Oasys Homeverse Explorer",url:"https://explorer.oasys.homeverse.games/"},nativeCurrency:{symbol:"OAS",name:"OAS",decimals:18}},{chainId:Z.HOMEVERSE_TESTNET,type:Ce.TESTNET,name:"homeverse-testnet",title:"Oasys Homeverse Testnet",rpcUrl:Pe("homeverse-testnet"),logoUrl:Oe(Z.HOMEVERSE_TESTNET),blockExplorer:{name:"Oasys Homeverse Explorer (Testnet)",url:"https://explorer.testnet.oasys.homeverse.games/"},nativeCurrency:{symbol:"tOAS",name:"Testnet OAS",decimals:18}},{chainId:Z.XAI,type:Ce.MAINNET,name:"xai",title:"Xai",rpcUrl:Pe("xai"),logoUrl:Oe(Z.XAI),blockExplorer:{name:"Xai Explorer",url:"https://explorer.xai-chain.net/"},nativeCurrency:{symbol:"XAI",name:"XAI",decimals:18}},{chainId:Z.XAI_SEPOLIA,type:Ce.TESTNET,name:"xai-sepolia",title:"Xai Sepolia",rpcUrl:Pe("xai-sepolia"),logoUrl:Oe(Z.XAI_SEPOLIA),blockExplorer:{name:"Xai Sepolia Explorer",url:"https://testnet-explorer-v2.xai-chain.net/"},nativeCurrency:{symbol:"sXAI",name:"Sepolia XAI",decimals:18}},{chainId:Z.B3,type:Ce.MAINNET,name:"b3",title:"B3",rpcUrl:Pe("b3"),logoUrl:Oe(Z.B3),blockExplorer:{name:"B3 Explorer",url:"https://explorer.b3.fun/"},nativeCurrency:{symbol:"ETH",name:"Ether",decimals:18}},{chainId:Z.B3_SEPOLIA,type:Ce.TESTNET,name:"b3-sepolia",title:"B3 Sepolia",rpcUrl:Pe("b3-sepolia"),logoUrl:Oe(Z.B3_SEPOLIA),blockExplorer:{name:"B3 Sepolia Explorer",url:"https://sepolia.explorer.b3.fun/"},nativeCurrency:{symbol:"ETH",name:"Ether",decimals:18}},{chainId:Z.APECHAIN,type:Ce.MAINNET,name:"apechain",title:"APE Chain",rpcUrl:Pe("apechain"),logoUrl:Oe(Z.APECHAIN),blockExplorer:{name:"APE Chain Explorer",url:"https://apechain.calderaexplorer.xyz/"},nativeCurrency:{symbol:"APE",name:"ApeCoin",decimals:18}},{chainId:Z.APECHAIN_TESTNET,type:Ce.TESTNET,name:"apechain-testnet",title:"APE Chain Testnet",rpcUrl:Pe("apechain-testnet"),logoUrl:Oe(Z.APECHAIN_TESTNET),blockExplorer:{name:"APE Chain Explorer",url:"https://curtis.explorer.caldera.xyz/"},nativeCurrency:{symbol:"APE",name:"ApeCoin",decimals:18}},{chainId:Z.BLAST,type:Ce.MAINNET,name:"blast",title:"Blast",rpcUrl:Pe("blast"),logoUrl:Oe(Z.BLAST),blockExplorer:{name:"Blast Explorer",url:"https://blastscan.io/"},nativeCurrency:{symbol:"ETH",name:"Ether",decimals:18}},{chainId:Z.BLAST_SEPOLIA,type:Ce.TESTNET,name:"blast-sepolia",title:"Blast Sepolia",rpcUrl:Pe("blast-sepolia"),logoUrl:Oe(Z.BLAST_SEPOLIA),blockExplorer:{name:"Blast Sepolia Explorer",url:"https://sepolia.blastexplorer.io/"},nativeCurrency:{symbol:"ETH",name:"Ether",decimals:18}},{chainId:Z.TELOS,type:Ce.MAINNET,name:"telos",title:"Telos",rpcUrl:Pe("telos"),logoUrl:Oe(Z.TELOS),blockExplorer:{name:"Telos Explorer",url:"https://explorer.telos.net/network/"},nativeCurrency:{symbol:"TLOS",name:"TLOS",decimals:18}},{chainId:Z.TELOS_TESTNET,type:Ce.TESTNET,name:"telos-testnet",title:"Telos Testnet",rpcUrl:Pe("telos-testnet"),logoUrl:Oe(Z.TELOS_TESTNET),blockExplorer:{name:"Telos Testnet Explorer",url:"https://explorer-test.telos.net/network"},nativeCurrency:{symbol:"TLOS",name:"TLOS",decimals:18}},{chainId:Z.SKALE_NEBULA,type:Ce.MAINNET,name:"skale-nebula",title:"SKALE Nebula Gaming Hub",rpcUrl:Pe("skale-nebula"),logoUrl:Oe(Z.SKALE_NEBULA),blockExplorer:{name:"SKALE Nebula Gaming Hub Explorer",url:"https://green-giddy-denebola.explorer.mainnet.skalenodes.com/"},nativeCurrency:{symbol:"sFUEL",name:"SKALE Fuel",decimals:18}},{chainId:Z.SKALE_NEBULA_TESTNET,type:Ce.TESTNET,name:"skale-nebula-testnet",title:"SKALE Nebula Gaming Hub Testnet",rpcUrl:Pe("skale-nebula-testnet"),logoUrl:Oe(Z.SKALE_NEBULA_TESTNET),blockExplorer:{name:"SKALE Nebula Gaming Hub Testnet Explorer",url:"https://lanky-ill-funny-testnet.explorer.testnet.skalenodes.com/"},nativeCurrency:{symbol:"sFUEL",name:"SKALE Fuel",decimals:18}},{chainId:Z.SONEIUM,type:Ce.MAINNET,name:"soneium",title:"Soneium",rpcUrl:Pe("soneium"),logoUrl:Oe(Z.SONEIUM),blockExplorer:{name:"Soneium Explorer",url:"https://soneium.blockscout.com/"},nativeCurrency:{symbol:"ETH",name:"Ether",decimals:18}},{chainId:Z.SONEIUM_MINATO,type:Ce.TESTNET,name:"soneium-minato",title:"Soneium Minato (Testnet)",rpcUrl:Pe("soneium-minato"),logoUrl:Oe(Z.SONEIUM_MINATO),blockExplorer:{name:"Soneium Minato Explorer",url:"https://explorer-testnet.soneium.org/"},nativeCurrency:{symbol:"ETH",name:"Ether",decimals:18}},{chainId:Z.TOY_TESTNET,type:Ce.TESTNET,name:"toy-testnet",title:"TOY (Testnet)",rpcUrl:Pe("toy-testnet"),logoUrl:Oe(Z.TOY_TESTNET),blockExplorer:{name:"TOY Testnet Explorer",url:"https://toy-chain-testnet.explorer.caldera.xyz/"},nativeCurrency:{symbol:"TOY",name:"TOY",decimals:18}},{chainId:Z.IMMUTABLE_ZKEVM,type:Ce.MAINNET,name:"immutable-zkevm",title:"Immutable zkEVM",rpcUrl:Pe("immutable-zkevm"),logoUrl:Oe(Z.IMMUTABLE_ZKEVM),blockExplorer:{name:"Immutable zkEVM Explorer",url:"https://explorer.immutable.com/"},nativeCurrency:{symbol:"IMX",name:"IMX",decimals:18}},{chainId:Z.IMMUTABLE_ZKEVM_TESTNET,type:Ce.TESTNET,name:"immutable-zkevm-testnet",title:"Immutable zkEVM Testnet",rpcUrl:Pe("immutable-zkevm-testnet"),logoUrl:Oe(Z.IMMUTABLE_ZKEVM_TESTNET),blockExplorer:{name:"Immutable zkEVM Testnet Explorer",url:"https://explorer.testnet.immutable.com/"},nativeCurrency:{symbol:"IMX",name:"IMX",decimals:18}},{chainId:Z.MOONBEAM,type:Ce.MAINNET,name:"moonbeam",title:"Moonbeam",rpcUrl:Pe("moonbeam"),logoUrl:Oe(Z.MOONBEAM),blockExplorer:{name:"Moonscan",url:"https://moonscan.io/"},nativeCurrency:{symbol:"GLMR",name:"GLMR",decimals:18}},{chainId:Z.MOONBASE_ALPHA,type:Ce.TESTNET,name:"moonbase-alpha",title:"Moonbase Alpha",rpcUrl:Pe("moonbase-alpha"),logoUrl:Oe(Z.MOONBASE_ALPHA),blockExplorer:{name:"Moonscan (Moonbase Alpha)",url:"https://moonbase.moonscan.io/"},nativeCurrency:{symbol:"GLMR",name:"GLMR",decimals:18}},{chainId:Z.ETHERLINK,type:Ce.MAINNET,name:"etherlink",title:"Etherlink",rpcUrl:Pe("etherlink"),logoUrl:Oe(Z.ETHERLINK),blockExplorer:{name:"Etherlink Explorer",url:"https://explorer.etherlink.com/"},nativeCurrency:{symbol:"XTZ",name:"Tez",decimals:18}},{chainId:Z.ETHERLINK_TESTNET,type:Ce.TESTNET,name:"etherlink-testnet",title:"Etherlink Testnet",rpcUrl:Pe("etherlink-testnet"),logoUrl:Oe(Z.ETHERLINK_TESTNET),blockExplorer:{name:"Etherlink Testnet Explorer",url:"https://testnet.explorer.etherlink.com/"},nativeCurrency:{symbol:"XTZ",name:"Tez",decimals:18}},{chainId:Z.MONAD,type:Ce.MAINNET,name:"monad",title:"Monad",rpcUrl:Pe("monad"),logoUrl:Oe(Z.MONAD),blockExplorer:{name:"Monad Explorer",url:"https://mainnet-beta.monvision.io/"},nativeCurrency:{symbol:"MON",name:"MON",decimals:18}},{chainId:Z.MONAD_TESTNET,type:Ce.TESTNET,name:"monad-testnet",title:"Monad Testnet",rpcUrl:Pe("monad-testnet"),logoUrl:Oe(Z.MONAD_TESTNET),blockExplorer:{name:"Monad Testnet Explorer",url:"https://testnet.monadexplorer.com/"},nativeCurrency:{symbol:"MON",name:"MON",decimals:18}},{chainId:Z.SOMNIA,type:Ce.MAINNET,name:"somnia",title:"Somnia",rpcUrl:Pe("somnia"),logoUrl:Oe(Z.SOMNIA),blockExplorer:{name:"Somnia Explorer",url:"https://mainnet.somnia.w3us.site/"},nativeCurrency:{symbol:"SOMI",name:"SOMI",decimals:18}},{chainId:Z.SOMNIA_TESTNET,type:Ce.TESTNET,name:"somnia-testnet",title:"Somnia Testnet",rpcUrl:Pe("somnia-testnet"),logoUrl:Oe(Z.SOMNIA_TESTNET),blockExplorer:{name:"Somnia Testnet Explorer",url:"https://somnia-testnet.socialscan.io/"},nativeCurrency:{symbol:"STT",name:"STT",decimals:18}},{chainId:Z.INCENTIV_TESTNET_V2,type:Ce.TESTNET,name:"incentiv-testnet-v2",title:"Incentiv Testnet",rpcUrl:Pe("incentiv-testnet-v2"),logoUrl:Oe(Z.INCENTIV_TESTNET_V2),blockExplorer:{name:"Incentiv Testnet Explorer",url:"https://explorer.testnet.incentiv.net/"},nativeCurrency:{symbol:"TCENT",name:"TCENT",decimals:18}},{chainId:Z.KATANA,type:Ce.MAINNET,name:"katana",title:"Katana",rpcUrl:Pe("katana"),logoUrl:Oe(Z.KATANA),blockExplorer:{name:"Katana Explorer",url:"https://katanascan.com/"},nativeCurrency:{symbol:"ETH",name:"ETH",decimals:18}},{chainId:Z.SANDBOX_TESTNET,type:Ce.TESTNET,name:"sandbox-testnet",title:"Sandbox Testnet",rpcUrl:Pe("sandbox-testnet"),logoUrl:Oe(Z.SANDBOX_TESTNET),blockExplorer:{name:"Sandbox Testnet Explorer",url:"https://sandbox-testnet.explorer.caldera.xyz/"},nativeCurrency:{symbol:"SAND",name:"SAND",decimals:18}},{chainId:Z.ARC_TESTNET,type:Ce.TESTNET,name:"arc-testnet",title:"Arc Testnet",rpcUrl:Pe("arc-testnet"),logoUrl:Oe(Z.ARC_TESTNET),blockExplorer:{name:"Arc Testnet Explorer",url:"https://1jr2dw1zdqvyes8u.blockscout.com/"},nativeCurrency:{symbol:"USDC",name:"USDC",decimals:6}}];function Pe(t){return `https://nodes.sequence.app/${t}`}function Oe(t){return `https://assets.sequence.info/images/networks/medium/${t}.webp`}function HV(t){return Fx.find(e=>e.name===t)}function jV(t){return Fx.find(e=>e.chainId===Number(t))}d();h();d();h();var _1=class{address;min;max;constructor(e,s,r){this.address=e,this.min=s,this.max=r;}type(){return "native-balance"}isValid(){if(!this.address)return new Error("address is required");if(this.min!==void 0&&this.max!==void 0&&this.min>this.max)return new Error("min balance cannot be greater than max balance")}},H1=class{address;token;min;max;constructor(e,s,r,n){this.address=e,this.token=s,this.min=r,this.max=n;}type(){return "erc20-balance"}isValid(){if(!this.address)return new Error("address is required");if(!this.token)return new Error("token address is required");if(this.min!==void 0&&this.max!==void 0&&this.min>this.max)return new Error("min balance cannot be greater than max balance")}},j1=class{address;token;operator;min;constructor(e,s,r,n){this.address=e,this.token=s,this.operator=r,this.min=n;}type(){return "erc20-approval"}isValid(){if(!this.address)return new Error("address is required");if(!this.token)return new Error("token address is required");if(!this.operator)return new Error("operator address is required");if(this.min===void 0)return new Error("min approval amount is required")}},M1=class{address;token;tokenId;owned;constructor(e,s,r,n){this.address=e,this.token=s,this.tokenId=r,this.owned=n;}type(){return "erc721-ownership"}isValid(){if(!this.address)return new Error("address is required");if(!this.token)return new Error("token address is required");if(this.tokenId===void 0)return new Error("tokenId is required")}},$1=class{address;token;tokenId;operator;constructor(e,s,r,n){this.address=e,this.token=s,this.tokenId=r,this.operator=n;}type(){return "erc721-approval"}isValid(){if(!this.address)return new Error("address is required");if(!this.token)return new Error("token address is required");if(this.tokenId===void 0)return new Error("tokenId is required");if(!this.operator)return new Error("operator address is required")}},q1=class{address;token;tokenId;min;max;constructor(e,s,r,n,i){this.address=e,this.token=s,this.tokenId=r,this.min=n,this.max=i;}type(){return "erc1155-balance"}isValid(){if(!this.address)return new Error("address is required");if(!this.token)return new Error("token address is required");if(this.tokenId===void 0)return new Error("tokenId is required");if(this.min!==void 0&&this.max!==void 0&&this.min>this.max)return new Error("min balance cannot be greater than max balance")}},F1=class{address;token;tokenId;operator;min;constructor(e,s,r,n,i){this.address=e,this.token=s,this.tokenId=r,this.operator=n,this.min=i;}type(){return "erc1155-approval"}isValid(){if(!this.address)return new Error("address is required");if(!this.token)return new Error("token address is required");if(this.tokenId===void 0)return new Error("tokenId is required");if(!this.operator)return new Error("operator address is required");if(this.min===void 0)return new Error("min approval amount is required")}};d();h();function K1(t){if(!t)return;let e;try{switch(t.type){case"native-balance":e=new _1(j.from(t.ownerAddress),t.minAmount,void 0);break;case"erc20-balance":e=new H1(j.from(t.ownerAddress),j.from(t.tokenAddress),t.minAmount,void 0);break;case"erc20-approval":e=new j1(j.from(t.ownerAddress),j.from(t.tokenAddress),j.from(t.ownerAddress),t.minAmount);break;case"erc721-ownership":e=new M1(j.from(t.ownerAddress),j.from(t.tokenAddress),BigInt(0),!0);break;case"erc721-approval":e=new $1(j.from(t.ownerAddress),j.from(t.tokenAddress),BigInt(0),j.from(t.ownerAddress));break;case"erc1155-balance":e=new q1(j.from(t.ownerAddress),j.from(t.tokenAddress),BigInt(0),t.minAmount,void 0);break;case"erc1155-approval":e=new F1(j.from(t.ownerAddress),j.from(t.tokenAddress),BigInt(0),j.from(t.ownerAddress),t.minAmount);break;default:return}let s=e.isValid();if(s){console.warn(`Invalid precondition: ${s.message}`);return}return e}catch(s){console.warn(`Failed to decode precondition: ${s}`);return}}d();h();d();h();var G1=me.from("function balanceOf(address) returns (uint256)"),W1=me.from("function allowance(address,address) returns (uint256)"),J1=me.from("function ownerOf(uint256) returns (address)"),z1=me.from("function getApproved(uint256) returns (address)"),Y1=me.from("function balanceOf(address,uint256) returns (uint256)"),Z1=me.from("function isApprovedForAll(address,address) returns (bool)");var KV=t=>({id:t.chainId,name:t.title||t.name,nativeCurrency:{name:t.nativeCurrency.name,symbol:t.nativeCurrency.symbol,decimals:t.nativeCurrency.decimals},rpcUrls:{default:{http:[t.rpcUrl]}},blockExplorers:t.blockExplorer?{default:{name:t.blockExplorer.name||"Explorer",url:t.blockExplorer.url}}:void 0,contracts:t.ensAddress?{ensUniversalResolver:{address:t.ensAddress}}:void 0}),mT=t=>{let e=U1.getNetworkFromChainId(t);if(e)return KV(e);let s=Object.values(FV).find(r=>typeof r=="object"&&"id"in r&&r.id===t);if(s)return s;throw new Error(`Chain with id ${t} not found in Sequence networks or viem chains`)},Kx=class{kind="relayer";type="rpc";id;chainId;client;fetch;provider;projectAccessKey;constructor(e,s,r,n,i){this.id=`rpc:${e}`,this.chainId=s,this.projectAccessKey=i;let a=n||(typeof window<"u"?window.fetch.bind(window):void 0);if(!a)throw new Error("Fetch implementation is required but not available in this environment.");this.fetch=a,this.client=new bu(e,this.fetch);let o=mT(s);this.provider=createPublicClient({chain:o,transport:http(r)});}isAvailable(e,s){return Promise.resolve(this.chainId===s)}async feeTokens(){try{let{isFeeRequired:e,tokens:s,paymentAddress:r}=await this.client.feeTokens();return e?(j.assert(r),{isFeeRequired:e,tokens:s,paymentAddress:r}):{isFeeRequired:e}}catch(e){return console.warn("RpcRelayer.feeTokens failed:",e),{isFeeRequired:!1}}}async feeOptions(e,s,r){let n={type:"call",space:0n,nonce:0n,calls:r},i=Lr.encode(n);try{let a=await this.client.feeOptions({wallet:e,to:e,data:f.toHex(i)},{...this.projectAccessKey?{"X-Access-Key":this.projectAccessKey}:void 0}),o=a.quote?{_tag:"FeeQuote",_quote:a.quote}:void 0;return {options:a.options.map(u=>({token:{...u.token,contractAddress:this.mapRpcFeeTokenToAddress(u.token)},to:u.to,value:u.value,gasLimit:u.gasLimit})),quote:o}}catch(a){return console.warn("RpcRelayer.feeOptions failed:",a),{options:[]}}}async sendMetaTxn(e,s,r,n,i,a){console.log("sendMetaTxn",e,s,r,n,i,a);let o={walletAddress:e,contract:s,input:r},c=await this.client.sendMetaTxn({call:o,quote:i?JSON.stringify(i._quote):void 0,preconditions:a},{...this.projectAccessKey?{"X-Access-Key":this.projectAccessKey}:void 0});if(!c.status)throw console.error("RpcRelayer.relay failed",c),new Error(`Relay failed: TxnHash ${c.txnHash}`);return {opHash:P.fromString(c.txnHash)}}async relay(e,s,r,n,i){console.log("relay",e,s,r,n,i);let a={walletAddress:e,contract:e,input:s},o=await this.client.sendMetaTxn({call:a,quote:n?JSON.stringify(n._quote):void 0,preconditions:i},{...this.projectAccessKey?{"X-Access-Key":this.projectAccessKey}:void 0});if(!o.status)throw console.error("RpcRelayer.relay failed",o),new Error(`Relay failed: TxnHash ${o.txnHash}`);return {opHash:`0x${o.txnHash}`}}async status(e,s){try{let r=e.startsWith("0x")?e.substring(2):e,n=await this.client.getMetaTxnReceipt({metaTxID:r}),i=n.receipt;if(!i)return console.warn(`RpcRelayer.status: receipt not found for opHash ${e}`),{status:"unknown"};if(!i.status)return console.warn(`RpcRelayer.status: receipt status not found for opHash ${e}`),{status:"unknown"};switch(i.status){case jt.QUEUED:case jt.PENDING_PRECONDITION:case jt.SENT:return {status:"pending"};case jt.SUCCEEDED:return {status:"confirmed",transactionHash:i.txnHash,data:n};case jt.FAILED:case jt.PARTIALLY_FAILED:return {status:"failed",transactionHash:i.txnHash?i.txnHash:void 0,reason:i.revertReason||"Relayer reported failure",data:n};case jt.DROPPED:return {status:"failed",reason:"Transaction dropped"};case jt.UNKNOWN:default:return {status:"unknown"}}}catch(r){return console.error(`RpcRelayer.status failed for opHash ${e}:`,r),{status:"failed",reason:"Failed to fetch status"}}}async checkPrecondition(e){let s=K1(e);if(!s)return !1;switch(s.type()){case"native-balance":{let r=s;try{let n=await this.provider.getBalance({address:r.address.toString()}),i=r.min!==void 0?BigInt(r.min):void 0,a=r.max!==void 0?BigInt(r.max):void 0;return i!==void 0&&a!==void 0?n>=i&&n<=a:i!==void 0?n>=i:a!==void 0?n<=a:(console.warn("Native balance precondition has neither min nor max specified"),!1)}catch(n){return console.error("Error checking native balance:",n),!1}}case"erc20-balance":{let r=s;try{let n=me.encodeData(G1,[r.address.toString()]),i=await this.provider.call({to:r.token.toString(),data:n}),a=BigInt(i.toString()),o=r.min!==void 0?BigInt(r.min):void 0,c=r.max!==void 0?BigInt(r.max):void 0;return o!==void 0&&c!==void 0?a>=o&&a<=c:o!==void 0?a>=o:c!==void 0?a<=c:(console.warn("ERC20 balance precondition has neither min nor max specified"),!1)}catch(n){return console.error("Error checking ERC20 balance:",n),!1}}case"erc20-approval":{let r=s;try{let n=me.encodeData(W1,[r.address.toString(),r.operator.toString()]),i=await this.provider.call({to:r.token.toString(),data:n}),a=BigInt(i.toString()),o=BigInt(r.min);return a>=o}catch(n){return console.error("Error checking ERC20 approval:",n),!1}}case"erc721-ownership":{let r=s;try{let n=me.encodeData(J1,[r.tokenId]),c=(await this.provider.call({to:r.token.toString(),data:n})).toString().slice(-40).toLowerCase()===r.address.toString().slice(2).toLowerCase(),u=r.owned!==void 0?r.owned:!0;return c===u}catch(n){return console.error("Error checking ERC721 ownership:",n),!1}}case"erc721-approval":{let r=s;try{let n=me.encodeData(z1,[r.tokenId]);return (await this.provider.call({to:r.token.toString(),data:n})).toString().slice(-40).toLowerCase()===r.operator.toString().slice(2).toLowerCase()}catch(n){return console.error("Error checking ERC721 approval:",n),!1}}case"erc1155-balance":{let r=s;try{let n=me.encodeData(Y1,[r.address.toString(),r.tokenId]),i=await this.provider.call({to:r.token.toString(),data:n}),a=BigInt(i.toString()),o=r.min!==void 0?BigInt(r.min):void 0,c=r.max!==void 0?BigInt(r.max):void 0;return o!==void 0&&c!==void 0?a>=o&&a<=c:o!==void 0?a>=o:c!==void 0?a<=c:(console.warn("ERC1155 balance precondition has neither min nor max specified"),!1)}catch(n){return console.error("Error checking ERC1155 balance:",n),!1}}case"erc1155-approval":{let r=s;try{let n=me.encodeData(Z1,[r.address.toString(),r.operator.toString()]),i=await this.provider.call({to:r.token.toString(),data:n});return BigInt(i.toString())===1n}catch(n){return console.error("Error checking ERC1155 approval:",n),!1}}default:return !1}}mapRpcFeeTokenToAddress(e){return e.type===D1.ERC20_TOKEN&&e.contractAddress?j.from(e.contractAddress):fn.ZeroAddress}};d();h();d();h();var so=class t{provider;kind="relayer";type="local";id="local";constructor(e){this.provider=e;}isAvailable(e,s){return Promise.resolve(!0)}static createFromWindow(e){let s=e.ethereum;if(!s){console.warn("Window.ethereum not found, skipping local relayer");return}return new t(new ro(s))}static createFromProvider(e){return new t(new ro(e))}feeTokens(){return Promise.resolve({isFeeRequired:!1})}feeOptions(e,s,r){return Promise.resolve({options:[]})}decodeCalls(e){let s=me.getSelector(fn.EXECUTE),r;return e.startsWith(s)?r=me.decodeData(fn.EXECUTE,e)[0]:r=e,Lr.decode(f.fromHex(r))}async relay(e,s,r,n,i,a=5e3){let o=async()=>{if(!i||i.length===0)return !0;for(let c of i)if(!await this.checkPrecondition(c))return !1;return !0};return await o()?{opHash:await this.provider.sendTransaction({to:e,data:s},r)}:new Promise((c,u)=>{let l,p=!1,w=async()=>{try{if(p)return;if(await o()){p=!0,clearTimeout(l);let E=await this.provider.sendTransaction({to:e,data:s},r);c({opHash:E});}else l=setTimeout(w,a);}catch(E){p=!0,clearTimeout(l),u(E);}};return l=setTimeout(w,a),()=>{p=!0,clearTimeout(l);}})}async status(e,s){let r=await this.provider.getTransactionReceipt(e,s);return r==="unknown"?{status:"unknown"}:r==="success"?{status:"confirmed",transactionHash:e}:{status:"failed",reason:"failed"}}async checkPrecondition(e){let s=K1(e);if(!s)return !1;switch(s.type()){case"native-balance":{let r=s,n=await this.provider.getBalance(r.address.toString());return !(r.min!==void 0&&n<r.min||r.max!==void 0&&n>r.max)}case"erc20-balance":{let r=s,n=me.encodeData(G1,[r.address.toString()]),i=await this.provider.call({to:r.token.toString(),data:n}),a=BigInt(i);return !(r.min!==void 0&&a<r.min||r.max!==void 0&&a>r.max)}case"erc20-approval":{let r=s,n=me.encodeData(W1,[r.address.toString(),r.operator.toString()]),i=await this.provider.call({to:r.token.toString(),data:n});return BigInt(i)>=r.min}case"erc721-ownership":{let r=s,n=me.encodeData(J1,[r.tokenId]),o=("0x"+(await this.provider.call({to:r.token.toString(),data:n})).slice(26)).toLowerCase()===r.address.toString().toLowerCase();return r.owned===void 0?o:r.owned===o}case"erc721-approval":{let r=s,n=me.encodeData(z1,[r.tokenId]);return ("0x"+(await this.provider.call({to:r.token.toString(),data:n})).slice(26)).toLowerCase()===r.operator.toString().toLowerCase()}case"erc1155-balance":{let r=s,n=me.encodeData(Y1,[r.address.toString(),r.tokenId]),i=await this.provider.call({to:r.token.toString(),data:n}),a=BigInt(i);return !(r.min!==void 0&&a<r.min||r.max!==void 0&&a>r.max)}case"erc1155-approval":{let r=s,n=me.encodeData(Z1,[r.address.toString(),r.operator.toString()]),i=await this.provider.call({to:r.token.toString(),data:n});return BigInt(i)===1n}default:return !1}}},ro=class{provider;constructor(e){this.provider=e;}async trySwitchChain(e){try{await this.provider.request({method:"wallet_switchEthereumChain",params:[{chainId:`0x${e.toString(16)}`}]});}catch(s){console.error("Error switching chain",s);}}async sendTransaction(e,s){let n=(await this.provider.request({method:"eth_requestAccounts"}))[0];if(!n){console.warn("No account selected, skipping local relayer");return}return await this.trySwitchChain(s),await this.provider.request({method:"eth_sendTransaction",params:[{from:n,to:e.to,data:e.data}]})}async getBalance(e){let s=await this.provider.request({method:"eth_getBalance",params:[e,"latest"]});return BigInt(s)}async call(e){return await this.provider.request({method:"eth_call",params:[e,"latest"]})}async getTransactionReceipt(e,s){await this.trySwitchChain(s);let r=await this.provider.request({method:"eth_getTransactionReceipt",params:[e]});if(r){let n=ou.fromRpc(r);if(n?.status==="success")return "success";if(n?.status==="reverted")return "failed"}return "unknown"}};d();h();var Gx=class{provider;kind="relayer";type="pk";id="pk";relayer;constructor(e,s){this.provider=s;let r=j.fromPublicKey(es.getPublicKey({privateKey:e}));this.relayer=new so({sendTransaction:async(n,i)=>{if(Number(await this.provider.request({method:"eth_chainId"}))!==i)throw new Error("Provider chain id does not match relayer chain id");let o={...n,to:n.to,data:n.data},c=BigInt(await this.provider.request({method:"eth_estimateGas",params:[o]})),u=c>21000n?c*12n/10n:50000n,l=BigInt(await this.provider.request({method:"eth_gasPrice"})),p=100000000n,w=l+p,E=BigInt(await this.provider.request({method:"eth_getBalance",params:[r,"latest"]}));if(E<w*u)throw console.log("Sender balance:",E.toString(),"wei"),new Error("Sender has insufficient balance to pay for gas");let S=BigInt(await this.provider.request({method:"eth_getTransactionCount",params:[r,"latest"]})),I=Ja.from({chainId:Number(i),type:"eip1559",from:r,to:o.to,data:o.data,gas:u,maxFeePerGas:w,maxPriorityFeePerGas:p,nonce:S,value:0n}),C=es.sign({payload:Ja.getSignPayload(I),privateKey:e}),D=Ja.from(I,{signature:C});return await this.provider.request({method:"eth_sendRawTransaction",params:[Ja.serialize(D)]})},getBalance:async n=>{let i=await this.provider.request({method:"eth_getBalance",params:[n,"latest"]});return BigInt(i)},call:async n=>{let i={to:n.to,data:n.data};return await this.provider.request({method:"eth_call",params:[i,"latest"]})},getTransactionReceipt:async(n,i)=>{if(P.assert(n),Number(await this.provider.request({method:"eth_chainId"}))!==i)throw new Error("Provider chain id does not match relayer chain id");let o=await this.provider.request({method:"eth_getTransactionReceipt",params:[n]});return o?ou.fromRpc(o).status==="success"?"success":"failed":"unknown"}});}async isAvailable(e,s){return Number(await this.provider.request({method:"eth_chainId"}))===s}feeTokens(){return this.relayer.feeTokens()}feeOptions(e,s,r){return this.relayer.feeOptions(e,s,r)}async relay(e,s,r,n){if(Number(await this.provider.request({method:"eth_chainId"}))!==r)throw new Error("Provider chain id does not match relayer chain id");return this.relayer.relay(e,s,r)}status(e,s){return this.relayer.status(e,s)}async checkPrecondition(e){return !0}};d();h();var Wx=class{kind="relayer";type="sequence";id="sequence";service;constructor(e){this.service=new bu(e,fetch);}async isAvailable(e,s){return !0}async feeTokens(){let{isFeeRequired:e,tokens:s,paymentAddress:r}=await this.service.feeTokens();return e?(j.assert(r),{isFeeRequired:e,tokens:s,paymentAddress:r}):{isFeeRequired:e}}async feeOptions(e,s,r){let n=e,i=me.from("function execute(bytes calldata _payload, bytes calldata _signature)"),a=Lr.encode({type:"call",space:0n,nonce:0n,calls:r},n),c=me.encodeData(i,[f.toHex(a),"0x0001"]),{options:u,quote:l}=await this.service.feeOptions({wallet:e,to:n,data:c});return {options:u,quote:l?{_tag:"FeeQuote",_quote:l}:void 0}}async checkPrecondition(e){return !1}async relay(e,s,r,n){let i=e,{txnHash:a}=await this.service.sendMetaTxn({call:{walletAddress:i,contract:e,input:s},quote:n&&n._quote});return {opHash:`0x${a}`}}async status(e,s){try{let{receipt:{status:r,revertReason:n,txnReceipt:i}}=await this.service.getMetaTxnReceipt({metaTxID:e});switch(r){case jt.UNKNOWN:return {status:"unknown"};case jt.DROPPED:return {status:"failed",reason:n??r};case jt.QUEUED:return {status:"pending"};case jt.SENT:return {status:"pending"};case jt.SUCCEEDED:{let o=JSON.parse(i).transactionHash;return P.assert(o),{status:"confirmed",transactionHash:o}}case jt.PARTIALLY_FAILED:return {status:"failed",reason:n??r};case jt.FAILED:return {status:"failed",reason:n??r};default:throw new Error(`unknown transaction status '${r}'`)}}catch{return {status:"pending"}}}};var Zx={};Ne(Zx,{EIP6963Relayer:()=>X1,getEIP6963Store:()=>gT,getRelayers:()=>GV});d();h();d();h();d();h();d();h();function pT(t){if(typeof window>"u")return;let e=s=>t(s.detail);return window.addEventListener("eip6963:announceProvider",e),window.dispatchEvent(new CustomEvent("eip6963:requestProvider")),()=>window.removeEventListener("eip6963:announceProvider",e)}function Jx(){let t=new Set,e=[],s=()=>pT(n=>{e.some(({info:i})=>i.uuid===n.info.uuid)||(e=[...e,n],t.forEach(i=>i(e,{added:[n]})));}),r=s();return {_listeners(){return t},clear(){t.forEach(n=>n([],{removed:[...e]})),e=[];},destroy(){this.clear(),t.clear(),r?.();},findProvider({rdns:n}){return e.find(i=>i.info.rdns===n)},getProviders(){return e},reset(){this.clear(),r?.(),r=s();},subscribe(n,{emitImmediately:i}={}){return t.add(n),i&&n(e,{added:e}),()=>t.delete(n)}}}var X1=class{kind="relayer";type="eip6963";id;info;relayer;constructor(e){this.info=e.info,this.id=e.info.uuid,this.relayer=new so(new ro(e.provider));}isAvailable(e,s){return this.relayer.isAvailable(e,s)}feeTokens(){return this.relayer.feeTokens()}feeOptions(e,s,r){return this.relayer.feeOptions(e,s,r)}async relay(e,s,r,n){return this.relayer.relay(e,s,r)}status(e,s){return this.relayer.status(e,s)}async checkPrecondition(e){return this.relayer.checkPrecondition(e)}},zx;function gT(){return zx||(zx=Jx()),zx}var Yx=new Map;function GV(){let e=gT().getProviders();for(let s of e)Yx.has(s.info.uuid)||Yx.set(s.info.uuid,new X1(s));return Array.from(Yx.values())}d();h();function WV(t){return "isAvailable"in t&&"feeOptions"in t&&"relay"in t&&"status"in t&&"checkPrecondition"in t}d();h();d();h();d();h();d();h();var ee={POS_INT:0,NEG_INT:1,BYTE_STRING:2,UTF8_STRING:3,ARRAY:4,MAP:5,TAG:6,SIMPLE_FLOAT:7},gt={DATE_STRING:0,DATE_EPOCH:1,POS_BIGINT:2,NEG_BIGINT:3,DECIMAL_FRAC:4,BIGFLOAT:5,BASE64URL_EXPECTED:21,BASE64_EXPECTED:22,BASE16_EXPECTED:23,CBOR:24,URI:32,BASE64URL:33,BASE64:34,MIME:36,SET:258,JSON:262,REGEXP:21066,SELF_DESCRIBED:55799,INVALID_16:65535,INVALID_32:4294967295,INVALID_64:0xffffffffffffffffn},De={ZERO:0,ONE:24,TWO:25,FOUR:26,EIGHT:27,INDEFINITE:31},Dr={FALSE:20,TRUE:21,NULL:22,UNDEFINED:23},Et=class{static BREAK=Symbol.for("github.com/hildjj/cbor2/break");static ENCODED=Symbol.for("github.com/hildjj/cbor2/cbor-encoded");static LENGTH=Symbol.for("github.com/hildjj/cbor2/length")},vu={MIN:-(2n**63n),MAX:2n**64n-1n};d();h();var Le=class t{static#e=new Map;tag;contents;constructor(e,s=void 0){this.tag=e,this.contents=s;}get noChildren(){return !!t.#e.get(this.tag)?.noChildren}static registerDecoder(e,s,r){let n=this.#e.get(e);return this.#e.set(e,s),n&&("comment"in s||(s.comment=n.comment),"noChildren"in s||(s.noChildren=n.noChildren)),r&&!s.comment&&(s.comment=()=>`(${r})`),n}static clearDecoder(e){let s=this.#e.get(e);return this.#e.delete(e),s}static getDecoder(e){return this.#e.get(e)}static getAllDecoders(){return new Map(this.#e)}*[Symbol.iterator](){yield this.contents;}push(e){return this.contents=e,1}decode(e){let s=t.#e.get(this.tag);return s?s(this,e):this}comment(e,s){let r=t.#e.get(this.tag);if(r?.comment)return r.comment(this,e,s)}toCBOR(){return [this.tag,this.contents]}[Symbol.for("nodejs.util.inspect.custom")](e,s,r){return `${this.tag}(${r(this.contents,s)})`}};d();h();function fi(t){if(t!=null&&typeof t=="object")return t[Et.ENCODED]}function yT(t){if(t!=null&&typeof t=="object")return t[Et.LENGTH]}function hi(t,e){Object.defineProperty(t,Et.ENCODED,{configurable:!0,enumerable:!1,value:e});}function di(t,e){let s=Object(t);return hi(s,e),s}d();h();var Xx=Symbol("CBOR_RANGES");function wT(t,e){Object.defineProperty(t,Xx,{configurable:!1,enumerable:!1,writable:!1,value:e});}function $h(t){return t[Xx]}function JV(t){return $h(t)!==void 0}function qh(t,e=0,s=t.length-1){let r=t.subarray(e,s),n=$h(t);if(n){let i=[];for(let a of n)if(a[0]>=e&&a[0]+a[1]<=s){let o=[...a];o[0]-=e,i.push(o);}i.length&&wT(r,i);}return r}function Q1(t){let e=Math.ceil(t.length/2),s=new Uint8Array(e);e--;for(let r=t.length,n=r-2;r>=0;r=n,n-=2,e--)s[e]=parseInt(t.substring(n,r),16);return s}function ss(t){return t.reduce((e,s)=>e+s.toString(16).padStart(2,"0"),"")}function bT(t){let e=t.reduce((a,o)=>a+o.length,0),s=t.some(a=>JV(a)),r=[],n=new Uint8Array(e),i=0;for(let a of t){if(!(a instanceof Uint8Array))throw new TypeError(`Invalid array: ${a}`);if(n.set(a,i),s){let o=a[Xx]??[[0,a.length]];for(let c of o)c[0]+=i;r.push(...o);}i+=a.length;}return s&&wT(n,r),n}function Fh(t){let e=atob(t);return Uint8Array.from(e,s=>s.codePointAt(0))}var zV={"-":"+",_:"/"};function ST(t){let e=t.replace(/[_-]/g,s=>zV[s]);return Fh(e.padEnd(Math.ceil(e.length/4)*4,"="))}function vT(){let t=new Uint8Array(4),e=new Uint32Array(t.buffer);return !((e[0]=1)&t[0])}function Qx(t){let e="";for(let s of t){let r=s.codePointAt(0)?.toString(16).padStart(4,"0");e&&(e+=", "),e+=`U+${r}`;}return e}d();h();d();h();function ey(t,e){let[s,r,n]=t,[i,a,o]=e,c=Math.min(n.length,o.length);for(let u=0;u<c;u++){let l=n[u]-o[u];if(l!==0)return l}return 0}d();h();var Kh=class t{static defaultOptions={chunkSize:4096};#e;#s=[];#r=null;#t=0;#a=0;constructor(e={}){if(this.#e={...t.defaultOptions,...e},this.#e.chunkSize<8)throw new RangeError(`Expected size >= 8, got ${this.#e.chunkSize}`);this.#i();}get length(){return this.#a}read(){this.#n();let e=new Uint8Array(this.#a),s=0;for(let r of this.#s)e.set(r,s),s+=r.length;return this.#i(),e}write(e){let s=e.length;s>this.#u()?(this.#n(),s>this.#e.chunkSize?(this.#s.push(e),this.#i()):(this.#i(),this.#s[this.#s.length-1].set(e),this.#t=s)):(this.#s[this.#s.length-1].set(e,this.#t),this.#t+=s),this.#a+=s;}writeUint8(e){this.#c(1),this.#r.setUint8(this.#t,e),this.#o(1);}writeUint16(e,s=!1){this.#c(2),this.#r.setUint16(this.#t,e,s),this.#o(2);}writeUint32(e,s=!1){this.#c(4),this.#r.setUint32(this.#t,e,s),this.#o(4);}writeBigUint64(e,s=!1){this.#c(8),this.#r.setBigUint64(this.#t,e,s),this.#o(8);}writeInt16(e,s=!1){this.#c(2),this.#r.setInt16(this.#t,e,s),this.#o(2);}writeInt32(e,s=!1){this.#c(4),this.#r.setInt32(this.#t,e,s),this.#o(4);}writeBigInt64(e,s=!1){this.#c(8),this.#r.setBigInt64(this.#t,e,s),this.#o(8);}writeFloat32(e,s=!1){this.#c(4),this.#r.setFloat32(this.#t,e,s),this.#o(4);}writeFloat64(e,s=!1){this.#c(8),this.#r.setFloat64(this.#t,e,s),this.#o(8);}clear(){this.#a=0,this.#s=[],this.#i();}#i(){let e=new Uint8Array(this.#e.chunkSize);this.#s.push(e),this.#t=0,this.#r=new DataView(e.buffer,e.byteOffset,e.byteLength);}#n(){if(this.#t===0){this.#s.pop();return}let e=this.#s.length-1;this.#s[e]=this.#s[e].subarray(0,this.#t),this.#t=0,this.#r=null;}#u(){let e=this.#s.length-1;return this.#s[e].length-this.#t}#c(e){this.#u()<e&&(this.#n(),this.#i());}#o(e){this.#t+=e,this.#a+=e;}};d();h();function eA(t,e=0,s=!1){let r=t[e]&128?-1:1,n=(t[e]&124)>>2,i=(t[e]&3)<<8|t[e+1];if(n===0){if(s&&i!==0)throw new Error(`Unwanted subnormal: ${r*5960464477539063e-23*i}`);return r*5960464477539063e-23*i}else if(n===31)return i?NaN:r*(1/0);return r*2**(n-25)*(1024+i)}function ty(t){let e=new DataView(new ArrayBuffer(4));e.setFloat32(0,t,!1);let s=e.getUint32(0,!1);if(s&8191)return null;let r=s>>16&32768,n=s>>23&255,i=s&8388607;if(!(n===0&&i===0))if(n>=113&&n<=142)r+=(n-112<<10)+(i>>13);else if(n>=103&&n<113){if(i&(1<<126-n)-1)return null;r+=i+8388608>>126-n;}else if(n===255)r|=31744,r|=i>>13;else return null;return r}function ET(t){if(t!==0){let e=new ArrayBuffer(8),s=new DataView(e);s.setFloat64(0,t,!1);let r=s.getBigUint64(0,!1);if((r&0x7ff0000000000000n)===0n)return r&0x8000000000000000n?-0:0}return t}function xT(t){switch(t.length){case 2:eA(t,0,!0);break;case 4:{let e=new DataView(t.buffer,t.byteOffset,t.byteLength),s=e.getUint32(0,!1);if(!(s&2139095040)&&s&8388607)throw new Error(`Unwanted subnormal: ${e.getFloat32(0,!1)}`);break}case 8:{let e=new DataView(t.buffer,t.byteOffset,t.byteLength),s=e.getBigUint64(0,!1);if((s&0x7ff0000000000000n)===0n&&s&0x000fffffffffffn)throw new Error(`Unwanted subnormal: ${e.getFloat64(0,!1)}`);break}default:throw new TypeError(`Bad input to isSubnormal: ${t}`)}}var AT=ee.SIMPLE_FLOAT<<5|De.TWO,YV=ee.SIMPLE_FLOAT<<5|De.FOUR,ZV=ee.SIMPLE_FLOAT<<5|De.EIGHT,XV=ee.SIMPLE_FLOAT<<5|Dr.TRUE,QV=ee.SIMPLE_FLOAT<<5|Dr.FALSE,eU=ee.SIMPLE_FLOAT<<5|Dr.UNDEFINED,tU=ee.SIMPLE_FLOAT<<5|Dr.NULL,sU=new TextEncoder,sy={...Kh.defaultOptions,avoidInts:!1,cde:!1,collapseBigInts:!0,dcbor:!1,float64:!1,flushToZero:!1,forceEndian:null,ignoreOriginalEncoding:!1,largeNegativeAsBigInt:!1,reduceUnsafeNumbers:!1,rejectBigInts:!1,rejectCustomSimples:!1,rejectDuplicateKeys:!1,rejectFloats:!1,rejectUndefined:!1,simplifyNegativeZero:!1,sortKeys:null,stringNormalization:null},rA={cde:!0,ignoreOriginalEncoding:!0,sortKeys:ey},IT={...rA,dcbor:!0,largeNegativeAsBigInt:!0,reduceUnsafeNumbers:!0,rejectCustomSimples:!0,rejectDuplicateKeys:!0,rejectUndefined:!0,simplifyNegativeZero:!0,stringNormalization:"NFC"};function CT(t){let e=t<0;return typeof t=="bigint"?[e?-t-1n:t,e]:[e?-t-1:t,e]}function tA(t,e,s){if(s.rejectFloats)throw new Error(`Attempt to encode an unwanted floating point number: ${t}`);if(isNaN(t))e.writeUint8(AT),e.writeUint16(32256);else if(!s.float64&&Math.fround(t)===t){let r=ty(t);r===null?(e.writeUint8(YV),e.writeFloat32(t)):(e.writeUint8(AT),e.writeUint16(r));}else e.writeUint8(ZV),e.writeFloat64(t);}function qs(t,e,s){let[r,n]=CT(t);if(n&&s)throw new TypeError(`Negative size: ${t}`);s??=n?ee.NEG_INT:ee.POS_INT,s<<=5,r<24?e.writeUint8(s|r):r<=255?(e.writeUint8(s|De.ONE),e.writeUint8(r)):r<=65535?(e.writeUint8(s|De.TWO),e.writeUint16(r)):r<=4294967295?(e.writeUint8(s|De.FOUR),e.writeUint32(r)):(e.writeUint8(s|De.EIGHT),e.writeBigUint64(BigInt(r)));}function Gh(t,e,s){typeof t=="number"?qs(t,e,ee.TAG):typeof t=="object"&&!s.ignoreOriginalEncoding&&Et.ENCODED in t?e.write(t[Et.ENCODED]):t<=Number.MAX_SAFE_INTEGER?qs(Number(t),e,ee.TAG):(e.writeUint8(ee.TAG<<5|De.EIGHT),e.writeBigUint64(BigInt(t)));}function NT(t,e,s){let[r,n]=CT(t);if(s.collapseBigInts&&(!s.largeNegativeAsBigInt||t>=-0x8000000000000000n)){if(r<=0xffffffffn){qs(Number(t),e);return}if(r<=0xffffffffffffffffn){let u=(n?ee.NEG_INT:ee.POS_INT)<<5;e.writeUint8(u|De.EIGHT),e.writeBigUint64(r);return}}if(s.rejectBigInts)throw new Error(`Attempt to encode unwanted bigint: ${t}`);let i=n?gt.NEG_BIGINT:gt.POS_BIGINT,a=r.toString(16),o=a.length%2?"0":"";Gh(i,e,s);let c=Q1(o+a);qs(c.length,e,ee.BYTE_STRING),e.write(c);}function rU(t,e,s){s.flushToZero&&(t=ET(t)),Object.is(t,-0)?s.simplifyNegativeZero?s.avoidInts?tA(0,e,s):qs(0,e):tA(t,e,s):!s.avoidInts&&Number.isSafeInteger(t)?qs(t,e):s.reduceUnsafeNumbers&&Math.floor(t)===t&&t>=vu.MIN&&t<=vu.MAX?NT(BigInt(t),e,s):tA(t,e,s);}function nU(t,e,s){let r=s.stringNormalization?t.normalize(s.stringNormalization):t,n=sU.encode(r);qs(n.length,e,ee.UTF8_STRING),e.write(n);}function iU(t,e,s){let r=t;ry(r,r.length,ee.ARRAY,e,s);for(let n of r)mi(n,e,s);}function aU(t,e){let s=t;qs(s.length,e,ee.BYTE_STRING),e.write(s);}var sA=new Map([[Array,iU],[Uint8Array,aU]]);function It(t,e){let s=sA.get(t);return sA.set(t,e),s}function ry(t,e,s,r,n){let i=yT(t);i&&!n.ignoreOriginalEncoding?r.write(i):qs(e,r,s);}function oU(t,e,s){if(t===null){e.writeUint8(tU);return}if(!s.ignoreOriginalEncoding&&Et.ENCODED in t){e.write(t[Et.ENCODED]);return}let r=sA.get(t.constructor);if(r){let i=r(t,e,s);i&&((typeof i[0]=="bigint"||isFinite(Number(i[0])))&&Gh(i[0],e,s),mi(i[1],e,s));return}if(typeof t.toCBOR=="function"){let i=t.toCBOR(e,s);i&&((typeof i[0]=="bigint"||isFinite(Number(i[0])))&&Gh(i[0],e,s),mi(i[1],e,s));return}if(typeof t.toJSON=="function"){mi(t.toJSON(),e,s);return}let n=Object.entries(t).map(i=>[i[0],i[1],hn(i[0],s)]);s.sortKeys&&n.sort(s.sortKeys),ry(t,n.length,ee.MAP,e,s);for(let[i,a,o]of n)e.write(o),mi(a,e,s);}function mi(t,e,s){switch(typeof t){case"number":rU(t,e,s);break;case"bigint":NT(t,e,s);break;case"string":nU(t,e,s);break;case"boolean":e.writeUint8(t?XV:QV);break;case"undefined":if(s.rejectUndefined)throw new Error("Attempt to encode unwanted undefined.");e.writeUint8(eU);break;case"object":oU(t,e,s);break;case"symbol":throw new TypeError(`Unknown symbol: ${t.toString()}`);default:throw new TypeError(`Unknown type: ${typeof t}, ${String(t)}`)}}function hn(t,e={}){let s={...sy};e.dcbor?Object.assign(s,IT):e.cde&&Object.assign(s,rA),Object.assign(s,e);let r=new Kh(s);return mi(t,r,s),r.read()}d();h();d();h();var no=(t=>(t[t.NEVER=-1]="NEVER",t[t.PREFERRED=0]="PREFERRED",t[t.ALWAYS=1]="ALWAYS",t))(no||{});d();h();d();h();var mr=class t{static KnownSimple=new Map([[Dr.FALSE,!1],[Dr.TRUE,!0],[Dr.NULL,null],[Dr.UNDEFINED,void 0]]);value;constructor(e){this.value=e;}static create(e){return t.KnownSimple.has(e)?t.KnownSimple.get(e):new t(e)}toCBOR(e,s){if(s.rejectCustomSimples)throw new Error(`Cannot encode non-standard Simple value: ${this.value}`);qs(this.value,e,ee.SIMPLE_FLOAT);}toString(){return `simple(${this.value})`}decode(){return t.KnownSimple.has(this.value)?t.KnownSimple.get(this.value):this}[Symbol.for("nodejs.util.inspect.custom")](e,s,r){return `simple(${r(this.value,s)})`}};var cU=new TextDecoder("utf8",{fatal:!0,ignoreBOM:!0}),dn=class t{static defaultOptions={maxDepth:1024,encoding:"hex",requirePreferred:!1};#e;#s;#r=0;#t;constructor(e,s){if(this.#t={...t.defaultOptions,...s},typeof e=="string")switch(this.#t.encoding){case"hex":this.#e=Q1(e);break;case"base64":this.#e=Fh(e);break;default:throw new TypeError(`Encoding not implemented: "${this.#t.encoding}"`)}else this.#e=e;this.#s=new DataView(this.#e.buffer,this.#e.byteOffset,this.#e.byteLength);}toHere(e){return qh(this.#e,e,this.#r)}*[Symbol.iterator](){if(yield*this.#a(0),this.#r!==this.#e.length)throw new Error("Extra data in input")}*#a(e){if(e++>this.#t.maxDepth)throw new Error(`Maximum depth ${this.#t.maxDepth} exceeded`);let s=this.#r,r=this.#s.getUint8(this.#r++),n=r>>5,i=r&31,a=i,o=!1,c=0;switch(i){case De.ONE:if(c=1,a=this.#s.getUint8(this.#r),n===ee.SIMPLE_FLOAT){if(a<32)throw new Error(`Invalid simple encoding in extra byte: ${a}`);o=!0;}else if(this.#t.requirePreferred&&a<24)throw new Error(`Unexpectedly long integer encoding (1) for ${a}`);break;case De.TWO:if(c=2,n===ee.SIMPLE_FLOAT)a=eA(this.#e,this.#r);else if(a=this.#s.getUint16(this.#r,!1),this.#t.requirePreferred&&a<=255)throw new Error(`Unexpectedly long integer encoding (2) for ${a}`);break;case De.FOUR:if(c=4,n===ee.SIMPLE_FLOAT)a=this.#s.getFloat32(this.#r,!1);else if(a=this.#s.getUint32(this.#r,!1),this.#t.requirePreferred&&a<=65535)throw new Error(`Unexpectedly long integer encoding (4) for ${a}`);break;case De.EIGHT:{if(c=8,n===ee.SIMPLE_FLOAT)a=this.#s.getFloat64(this.#r,!1);else if(a=this.#s.getBigUint64(this.#r,!1),a<=Number.MAX_SAFE_INTEGER&&(a=Number(a)),this.#t.requirePreferred&&a<=4294967295)throw new Error(`Unexpectedly long integer encoding (8) for ${a}`);break}case 28:case 29:case 30:throw new Error(`Additional info not implemented: ${i}`);case De.INDEFINITE:switch(n){case ee.POS_INT:case ee.NEG_INT:case ee.TAG:throw new Error(`Invalid indefinite encoding for MT ${n}`);case ee.SIMPLE_FLOAT:yield [n,i,Et.BREAK,s,0];return}a=1/0;break;default:o=!0;}switch(this.#r+=c,n){case ee.POS_INT:yield [n,i,a,s,c];break;case ee.NEG_INT:yield [n,i,typeof a=="bigint"?-1n-a:-1-Number(a),s,c];break;case ee.BYTE_STRING:a===1/0?yield*this.#n(n,e,s):yield [n,i,this.#i(a),s,a];break;case ee.UTF8_STRING:a===1/0?yield*this.#n(n,e,s):yield [n,i,cU.decode(this.#i(a)),s,a];break;case ee.ARRAY:if(a===1/0)yield*this.#n(n,e,s,!1);else {let u=Number(a);yield [n,i,u,s,c];for(let l=0;l<u;l++)yield*this.#a(e+1);}break;case ee.MAP:if(a===1/0)yield*this.#n(n,e,s,!1);else {let u=Number(a);yield [n,i,u,s,c];for(let l=0;l<u;l++)yield*this.#a(e),yield*this.#a(e);}break;case ee.TAG:yield [n,i,a,s,c],yield*this.#a(e);break;case ee.SIMPLE_FLOAT:{let u=a;o&&(a=mr.create(Number(a))),yield [n,i,a,s,u];break}}}#i(e){let s=qh(this.#e,this.#r,this.#r+=e);if(s.length!==e)throw new Error(`Unexpected end of stream reading ${e} bytes, got ${s.length}`);return s}*#n(e,s,r,n=!0){for(yield [e,De.INDEFINITE,1/0,r,1/0];;){let i=this.#a(s),a=i.next(),[o,c,u]=a.value;if(u===Et.BREAK){yield a.value,i.next();return}if(n){if(o!==e)throw new Error(`Unmatched major type. Expected ${e}, got ${o}.`);if(c===De.INDEFINITE)throw new Error("New stream started in typed stream")}yield a.value,yield*i;}}};var uU=new Map([[De.ZERO,1],[De.ONE,2],[De.TWO,3],[De.FOUR,5],[De.EIGHT,9]]),lU=new Uint8Array(0);function fU(t,e){return !e.boxed&&!e.preferMap&&t.every(([s])=>typeof s=="string")?Object.fromEntries(t):new Map(t)}var Is=class t{static defaultDecodeOptions={...dn.defaultOptions,ParentType:t,boxed:!1,cde:!1,dcbor:!1,diagnosticSizes:no.PREFERRED,convertUnsafeIntsToFloat:!1,createObject:fU,pretty:!1,preferMap:!1,rejectLargeNegatives:!1,rejectBigInts:!1,rejectDuplicateKeys:!1,rejectFloats:!1,rejectInts:!1,rejectLongLoundNaN:!1,rejectLongFloats:!1,rejectNegativeZero:!1,rejectSimple:!1,rejectStreaming:!1,rejectStringsNotNormalizedAs:null,rejectSubnormals:!1,rejectUndefined:!1,rejectUnsafeFloatInts:!1,saveOriginal:!1,sortKeys:null};static cdeDecodeOptions={cde:!0,rejectStreaming:!0,requirePreferred:!0,sortKeys:ey};static dcborDecodeOptions={...this.cdeDecodeOptions,dcbor:!0,convertUnsafeIntsToFloat:!0,rejectDuplicateKeys:!0,rejectLargeNegatives:!0,rejectLongLoundNaN:!0,rejectLongFloats:!0,rejectNegativeZero:!0,rejectSimple:!0,rejectUndefined:!0,rejectUnsafeFloatInts:!0,rejectStringsNotNormalizedAs:"NFC"};parent;mt;ai;left;offset;count=0;children=[];depth=0;#e;#s=null;constructor(e,s,r,n){if([this.mt,this.ai,,this.offset]=e,this.left=s,this.parent=r,this.#e=n,r&&(this.depth=r.depth+1),this.mt===ee.MAP&&(this.#e.sortKeys||this.#e.rejectDuplicateKeys)&&(this.#s=[]),this.#e.rejectStreaming&&this.ai===De.INDEFINITE)throw new Error("Streaming not supported")}get isStreaming(){return this.left===1/0}get done(){return this.left===0}static create(e,s,r,n){let[i,a,o,c]=e;switch(i){case ee.POS_INT:case ee.NEG_INT:{if(r.rejectInts)throw new Error(`Unexpected integer: ${o}`);if(r.rejectLargeNegatives&&o<-0x8000000000000000n)throw new Error(`Invalid 65bit negative number: ${o}`);let u=o;return r.convertUnsafeIntsToFloat&&u>=vu.MIN&&u<=vu.MAX&&(u=Number(o)),r.boxed?di(u,n.toHere(c)):u}case ee.SIMPLE_FLOAT:if(a>De.ONE){if(r.rejectFloats)throw new Error(`Decoding unwanted floating point number: ${o}`);if(r.rejectNegativeZero&&Object.is(o,-0))throw new Error("Decoding negative zero");if(r.rejectLongLoundNaN&&isNaN(o)){let u=n.toHere(c);if(u.length!==3||u[1]!==126||u[2]!==0)throw new Error(`Invalid NaN encoding: "${ss(u)}"`)}if(r.rejectSubnormals&&xT(n.toHere(c+1)),r.rejectLongFloats){let u=hn(o,{chunkSize:9,reduceUnsafeNumbers:r.rejectUnsafeFloatInts});if(u[0]>>5!==i)throw new Error(`Should have been encoded as int, not float: ${o}`);if(u.length<uU.get(a))throw new Error(`Number should have been encoded shorter: ${o}`)}if(typeof o=="number"&&r.boxed)return di(o,n.toHere(c))}else {if(r.rejectSimple&&o instanceof mr)throw new Error(`Invalid simple value: ${o}`);if(r.rejectUndefined&&o===void 0)throw new Error("Unexpected undefined")}return o;case ee.BYTE_STRING:case ee.UTF8_STRING:if(o===1/0)return new r.ParentType(e,1/0,s,r);if(r.rejectStringsNotNormalizedAs&&typeof o=="string"){let u=o.normalize(r.rejectStringsNotNormalizedAs);if(o!==u)throw new Error(`String not normalized as "${r.rejectStringsNotNormalizedAs}", got [${Qx(o)}] instead of [${Qx(u)}]`)}return r.boxed?di(o,n.toHere(c)):o;case ee.ARRAY:return new r.ParentType(e,o,s,r);case ee.MAP:return new r.ParentType(e,o*2,s,r);case ee.TAG:{let u=new r.ParentType(e,1,s,r);return u.children=new Le(o),u}}throw new TypeError(`Invalid major type: ${i}`)}static decodeToEncodeOpts(e){return {...sy,avoidInts:e.rejectInts,float64:!e.rejectLongFloats,flushToZero:e.rejectSubnormals,largeNegativeAsBigInt:e.rejectLargeNegatives,sortKeys:e.sortKeys}}push(e,s,r){if(this.children.push(e),this.#s){let n=fi(e)||s.toHere(r);this.#s.push(n);}return --this.left}replaceLast(e,s,r){let n,i=-1/0;if(this.children instanceof Le?(i=0,n=this.children.contents,this.children.contents=e):(i=this.children.length-1,n=this.children[i],this.children[i]=e),this.#s){let a=fi(e)||r.toHere(s.offset);this.#s[i]=a;}return n}convert(e){let s;switch(this.mt){case ee.ARRAY:s=this.children;break;case ee.MAP:{let r=this.#r();if(this.#e.sortKeys){let n;for(let i of r){if(n&&this.#e.sortKeys(n,i)>=0)throw new Error(`Duplicate or out of order key: "0x${i[2]}"`);n=i;}}else if(this.#e.rejectDuplicateKeys){let n=new Set;for(let[i,a,o]of r){let c=ss(o);if(n.has(c))throw new Error(`Duplicate key: "0x${c}"`);n.add(c);}}s=this.#e.createObject(r,this.#e);break}case ee.BYTE_STRING:return bT(this.children);case ee.UTF8_STRING:{let r=this.children.join("");s=this.#e.boxed?di(r,e.toHere(this.offset)):r;break}case ee.TAG:s=this.children.decode(this.#e);break;default:throw new TypeError(`Invalid mt on convert: ${this.mt}`)}return this.#e.saveOriginal&&s&&typeof s=="object"&&hi(s,e.toHere(this.offset)),s}#r(){let e=this.children,s=e.length;if(s%2)throw new Error("Missing map value");let r=new Array(s/2);if(this.#s)for(let n=0;n<s;n+=2)r[n>>1]=[e[n],e[n+1],this.#s[n]];else for(let n=0;n<s;n+=2)r[n>>1]=[e[n],e[n+1],lU];return r}};d();h();d();h();var nA=" ",hU=new TextEncoder,ny=class extends Is{close="";quote='"';get isEmptyStream(){return (this.mt===ee.UTF8_STRING||this.mt===ee.BYTE_STRING)&&this.count===0}};function pi(t,e,s,r){let n="";if(e===De.INDEFINITE)n+="_";else {if(r.diagnosticSizes===no.NEVER)return "";{let i=r.diagnosticSizes===no.ALWAYS;if(!i){let a=De.ZERO;if(Object.is(s,-0))a=De.TWO;else if(t===ee.POS_INT||t===ee.NEG_INT){let o=s<0,c=typeof s=="bigint"?1n:1,u=o?-s-c:s;u<=23?a=Number(u):u<=255?a=De.ONE:u<=65535?a=De.TWO:u<=4294967295?a=De.FOUR:a=De.EIGHT;}else isFinite(s)?Math.fround(s)===s?ty(s)==null?a=De.FOUR:a=De.TWO:a=De.EIGHT:a=De.TWO;i=a!==e;}i&&(n+="_",e<De.ONE?n+="i":n+=String(e-24));}}return n}function iA(t,e){let s={...Is.defaultDecodeOptions,...e,ParentType:ny},r=new dn(t,s),n,i,a="";for(let o of r){let[c,u,l]=o;switch(n&&(n.count>0&&l!==Et.BREAK&&(n.mt===ee.MAP&&n.count%2?a+=": ":(a+=",",s.pretty||(a+=" "))),s.pretty&&(n.mt!==ee.MAP||n.count%2===0)&&(a+=`
360
+ ${nA.repeat(n.depth+1)}`)),i=Is.create(o,n,s,r),c){case ee.POS_INT:case ee.NEG_INT:a+=String(l),a+=pi(c,u,l,s);break;case ee.SIMPLE_FLOAT:if(l!==Et.BREAK)if(typeof l=="number"){let p=Object.is(l,-0)?"-0.0":String(l);a+=p,isFinite(l)&&!/[.e]/.test(p)&&(a+=".0"),a+=pi(c,u,l,s);}else l instanceof mr?(a+="simple(",a+=String(l.value),a+=pi(ee.POS_INT,u,l.value,s),a+=")"):a+=String(l);break;case ee.BYTE_STRING:l===1/0?(a+="(_ ",i.close=")",i.quote="'"):(a+="h'",a+=ss(l),a+="'",a+=pi(ee.POS_INT,u,l.length,s));break;case ee.UTF8_STRING:l===1/0?(a+="(_ ",i.close=")"):(a+=JSON.stringify(l),a+=pi(ee.POS_INT,u,hU.encode(l).length,s));break;case ee.ARRAY:{a+="[";let p=pi(ee.POS_INT,u,l,s);a+=p,p&&(a+=" "),s.pretty&&l?i.close=`
361
+ ${nA.repeat(i.depth)}]`:i.close="]";break}case ee.MAP:{a+="{";let p=pi(ee.POS_INT,u,l,s);a+=p,p&&(a+=" "),s.pretty&&l?i.close=`
362
+ ${nA.repeat(i.depth)}}`:i.close="}";break}case ee.TAG:a+=String(l),a+=pi(ee.POS_INT,u,l,s),a+="(",i.close=")";break}if(i===Et.BREAK)if(n?.isStreaming)n.left=0;else throw new Error("Unexpected BREAK");else n&&(n.count++,n.left--);for(i instanceof ny&&(n=i);n?.done;){if(n.isEmptyStream)a=a.slice(0,-3),a+=`${n.quote}${n.quote}_`;else {if(n.mt===ee.MAP&&n.count%2!==0)throw new Error(`Odd streaming map size: ${n.count}`);a+=n.close;}n=n.parent;}}return a}var dU=new TextDecoder,Jh=class extends Is{depth=0;leaf=!1;value;length;[Et.ENCODED];constructor(e,s,r,n){super(e,s,r,n),this.parent?this.depth=this.parent.depth+1:this.depth=n.initialDepth,[,,this.value,,this.length]=e;}numBytes(){switch(this.ai){case De.ONE:return 1;case De.TWO:return 2;case De.FOUR:return 4;case De.EIGHT:return 8}return 0}};function TT(t){return t instanceof Jh}function iy(t,e){return t===1/0?"Indefinite":e?`${t} ${e}${t!==1&&t!==1n?"s":""}`:String(t)}function Wh(t){return "".padStart(t," ")}function kT(t,e,s){let r="";r+=Wh(t.depth*2);let n=fi(t);r+=ss(n.subarray(0,1));let i=t.numBytes();i&&(r+=" ",r+=ss(n.subarray(1,i+1))),r=r.padEnd(e.minCol+1," "),r+="-- ",s!==void 0&&(r+=Wh(t.depth*2),s!==""&&(r+=`[${s}] `));let a=!1,[o]=t.children;switch(t.mt){case ee.POS_INT:r+=`Unsigned: ${o}`,typeof o=="bigint"&&(r+="n");break;case ee.NEG_INT:r+=`Negative: ${o}`,typeof o=="bigint"&&(r+="n");break;case ee.BYTE_STRING:r+=`Bytes (Length: ${iy(t.length)})`;break;case ee.UTF8_STRING:r+=`UTF8 (Length: ${iy(t.length)})`,t.length!==1/0&&(r+=`: ${JSON.stringify(o)}`);break;case ee.ARRAY:r+=`Array (Length: ${iy(t.value,"item")})`;break;case ee.MAP:r+=`Map (Length: ${iy(t.value,"pair")})`;break;case ee.TAG:{r+=`Tag #${t.value}`;let c=t.children,[u]=c.contents.children,l=new Le(c.tag,u);hi(l,n);let p=l.comment(e,t.depth);p&&(r+=": ",r+=p),a||=l.noChildren;break}case ee.SIMPLE_FLOAT:o===Et.BREAK?r+="BREAK":t.ai>De.ONE?Object.is(o,-0)?r+="Float: -0":r+=`Float: ${o}`:(r+="Simple: ",o instanceof mr?r+=o.value:r+=o);break}if(!a)if(t.leaf){if(r+=`
363
+ `,n.length>i+1){let c=Wh((t.depth+1)*2),u=$h(n);if(u?.length){u.sort((p,w)=>p[0]-w[0]||w[1]-p[1]);let l=0;for(let[p,w,E]of u)if(!(p<l)){if(l=p+w,E==="<<"){r+=Wh(e.minCol+1),r+="--",r+=c,r+="<< ";let S=qh(n,p,p+w),I=$h(S);if(I){let C=I.findIndex(([D,V,B])=>D===0&&V===w&&B==="<<");C>=0&&I.splice(C,1);}r+=iA(S),r+=` >>
364
+ `,r+=ay(S,{initialDepth:t.depth+1,minCol:e.minCol,noPrefixHex:!0});continue}else E==="'"&&(r+=Wh(e.minCol+1),r+="--",r+=c,r+="'",r+=dU.decode(n.subarray(p,p+w)),r+=`'
365
+ `);if(p>i)for(let S=p;S<p+w;S+=8){let I=Math.min(S+8,p+w);r+=c,r+=ss(n.subarray(S,I)),r+=`
366
+ `;}}}else for(let l=i+1;l<n.length;l+=8)r+=c,r+=ss(n.subarray(l,l+8)),r+=`
366
367
  `;}}else {r+=`
367
- `;let c=0;for(let u of s.children){if(RN(u)){let l=String(c);s.mt===Q.MAP?l=c%2?`val ${(c-1)/2}`:`key ${c/2}`:s.mt===Q.TAG&&(l=""),r+=VN(u,e,l);}c++;}}return r}var pD={...vs.defaultDecodeOptions,initialDepth:0,noPrefixHex:!1,minCol:0};function J1(s,e){let t={...pD,...e,ParentType:jf,saveOriginal:!0},r=new on(s,t),n,i;for(let o of r){if(i=vs.create(o,n,t,r),o[2]===gt.BREAK)if(n?.isStreaming)n.left=1;else throw new Error("Unexpected BREAK");if(!RN(i)){let l=new jf(o,0,n,t);l.leaf=!0,l.children.push(i),ai(l,r.toHere(o[3])),i=l;}let c=(i.depth+1)*2,u=i.numBytes();for(u&&(c+=1,c+=u*2),t.minCol=Math.max(t.minCol,c),n&&n.push(i,r,o[3]),n=i;n?.done;)i=n,i.leaf||ai(i,r.toHere(i.offset)),{parent:n}=n;}e&&(e.minCol=t.minCol);let a=t.noPrefixHex?"":`0x${Xt(r.toHere(0))}
368
- `;return a+=VN(i,t),a}var DN=!CN();function _N(s){if(typeof s=="object"&&s){if(s.constructor!==Number)throw new Error(`Expected number: ${s}`)}else if(typeof s!="number")throw new Error(`Expected number: ${s}`)}function hi(s){if(typeof s=="object"&&s){if(s.constructor!==String)throw new Error(`Expected string: ${s}`)}else if(typeof s!="string")throw new Error(`Expected string: ${s}`)}function eo(s){if(!(s instanceof Uint8Array))throw new Error(`Expected Uint8Array: ${s}`)}function MN(s){if(!Array.isArray(s))throw new Error(`Expected Array: ${s}`)}bt(Map,(s,e,t)=>{let r=[...s.entries()].map(n=>[n[0],n[1],an(n[0],t)]);if(t.rejectDuplicateKeys){let n=new Set;for(let[i,a,o]of r){let c=Xt(o);if(n.has(c))throw new Error(`Duplicate map key: 0x${c}`);n.add(c);}}t.sortKeys&&r.sort(t.sortKeys),K1(s,s.size,Q.MAP,e,t);for(let[n,i,a]of r)e.write(a),ci(i,e,t);});function UN(s){return hi(s.contents),new Date(s.contents)}UN.comment=s=>(hi(s.contents),`(String Date) ${new Date(s.contents).toISOString()}`),Pe.registerDecoder(ht.DATE_STRING,UN);function LN(s){return _N(s.contents),new Date(s.contents*1e3)}LN.comment=s=>(_N(s.contents),`(Epoch Date) ${new Date(s.contents*1e3).toISOString()}`),Pe.registerDecoder(ht.DATE_EPOCH,LN),bt(Date,s=>[ht.DATE_EPOCH,s.valueOf()/1e3]);function Y1(s,e,t){if(eo(e.contents),t.rejectBigInts)throw new Error(`Decoding unwanted big integer: ${e}(h'${Xt(e.contents)}')`);if(t.requirePreferred&&e.contents[0]===0)throw new Error(`Decoding overly-large bigint: ${e.tag}(h'${Xt(e.contents)})`);let r=e.contents.reduce((n,i)=>n<<8n|BigInt(i),0n);if(s&&(r=-1n-r),t.requirePreferred&&r>=Number.MIN_SAFE_INTEGER&&r<=Number.MAX_SAFE_INTEGER)throw new Error(`Decoding bigint that could have been int: ${r}n`);return t.boxed?oi(r,e.contents):r}var jN=Y1.bind(null,!1),HN=Y1.bind(null,!0);jN.comment=(s,e)=>`(Positive BigInt) ${Y1(!1,s,e)}n`,HN.comment=(s,e)=>`(Negative BigInt) ${Y1(!0,s,e)}n`,Pe.registerDecoder(ht.POS_BIGINT,jN),Pe.registerDecoder(ht.NEG_BIGINT,HN);function U2(s,e){return eo(s.contents),s}U2.comment=(s,e,t)=>{eo(s.contents);let r={...e,initialDepth:t+2,noPrefixHex:!0},n=ii(s),i=2**((n[0]&31)-24)+1,a=n[i]&31,o=Xt(n.subarray(i,++i));a>=24&&(o+=" ",o+=Xt(n.subarray(i,i+2**(a-24)))),r.minCol=Math.max(r.minCol,(t+1)*2+o.length);let c=J1(s.contents,r),u=`Embedded CBOR
369
- `;return u+=`${"".padStart((t+1)*2," ")}${o}`.padEnd(r.minCol+1," "),u+=`-- Bytes (Length: ${s.contents.length})
370
- `,u+=c,u},U2.noChildren=!0,Pe.registerDecoder(ht.CBOR,U2),Pe.registerDecoder(ht.URI,s=>(hi(s.contents),new URL(s.contents)),"URI"),bt(URL,s=>[ht.URI,s.toString()]),Pe.registerDecoder(ht.BASE64URL,s=>(hi(s.contents),IN(s.contents)),"Base64url-encoded"),Pe.registerDecoder(ht.BASE64,s=>(hi(s.contents),Vf(s.contents)),"Base64-encoded"),Pe.registerDecoder(35,s=>(hi(s.contents),new RegExp(s.contents)),"RegExp"),Pe.registerDecoder(21065,s=>{hi(s.contents);let e=`^(?:${s.contents})$`;return new RegExp(e,"u")},"I-RegExp"),Pe.registerDecoder(ht.REGEXP,s=>{if(MN(s.contents),s.contents.length<1||s.contents.length>2)throw new Error(`Invalid RegExp Array: ${s.contents}`);return new RegExp(s.contents[0],s.contents[1])},"RegExp"),bt(RegExp,s=>[ht.REGEXP,[s.source,s.flags]]),Pe.registerDecoder(64,s=>(eo(s.contents),s.contents),"uint8 Typed Array");function ls(s,e,t){eo(s.contents);let r=s.contents.length;if(r%e.BYTES_PER_ELEMENT!==0)throw new Error(`Number of bytes must be divisible by ${e.BYTES_PER_ELEMENT}, got: ${r}`);r/=e.BYTES_PER_ELEMENT;let n=new e(r),i=new DataView(s.contents.buffer,s.contents.byteOffset,s.contents.byteLength),a=i[`get${e.name.replace(/Array/,"")}`].bind(i);for(let o=0;o<r;o++)n[o]=a(o*e.BYTES_PER_ELEMENT,t);return n}function li(s,e,t,r,n){let i=n.forceEndian??DN;if(Uf(i?e:t,s,n),Hs(r.byteLength,s,Q.BYTE_STRING),DN===i)s.write(new Uint8Array(r.buffer,r.byteOffset,r.byteLength));else {let a=`write${r.constructor.name.replace(/Array/,"")}`,o=s[a].bind(s);for(let c of r)o(c,i);}}Pe.registerDecoder(65,s=>ls(s,Uint16Array,!1),"uint16, big endian, Typed Array"),Pe.registerDecoder(66,s=>ls(s,Uint32Array,!1),"uint32, big endian, Typed Array"),Pe.registerDecoder(67,s=>ls(s,BigUint64Array,!1),"uint64, big endian, Typed Array"),Pe.registerDecoder(68,s=>(eo(s.contents),new Uint8ClampedArray(s.contents)),"uint8 Typed Array, clamped arithmetic"),bt(Uint8ClampedArray,s=>[68,new Uint8Array(s.buffer,s.byteOffset,s.byteLength)]),Pe.registerDecoder(69,s=>ls(s,Uint16Array,!0),"uint16, little endian, Typed Array"),bt(Uint16Array,(s,e,t)=>li(e,69,65,s,t)),Pe.registerDecoder(70,s=>ls(s,Uint32Array,!0),"uint32, little endian, Typed Array"),bt(Uint32Array,(s,e,t)=>li(e,70,66,s,t)),Pe.registerDecoder(71,s=>ls(s,BigUint64Array,!0),"uint64, little endian, Typed Array"),bt(BigUint64Array,(s,e,t)=>li(e,71,67,s,t)),Pe.registerDecoder(72,s=>(eo(s.contents),new Int8Array(s.contents)),"sint8 Typed Array"),bt(Int8Array,s=>[72,new Uint8Array(s.buffer,s.byteOffset,s.byteLength)]),Pe.registerDecoder(73,s=>ls(s,Int16Array,!1),"sint16, big endian, Typed Array"),Pe.registerDecoder(74,s=>ls(s,Int32Array,!1),"sint32, big endian, Typed Array"),Pe.registerDecoder(75,s=>ls(s,BigInt64Array,!1),"sint64, big endian, Typed Array"),Pe.registerDecoder(77,s=>ls(s,Int16Array,!0),"sint16, little endian, Typed Array"),bt(Int16Array,(s,e,t)=>li(e,77,73,s,t)),Pe.registerDecoder(78,s=>ls(s,Int32Array,!0),"sint32, little endian, Typed Array"),bt(Int32Array,(s,e,t)=>li(e,78,74,s,t)),Pe.registerDecoder(79,s=>ls(s,BigInt64Array,!0),"sint64, little endian, Typed Array"),bt(BigInt64Array,(s,e,t)=>li(e,79,75,s,t)),Pe.registerDecoder(81,s=>ls(s,Float32Array,!1),"IEEE 754 binary32, big endian, Typed Array"),Pe.registerDecoder(82,s=>ls(s,Float64Array,!1),"IEEE 754 binary64, big endian, Typed Array"),Pe.registerDecoder(85,s=>ls(s,Float32Array,!0),"IEEE 754 binary32, little endian, Typed Array"),bt(Float32Array,(s,e,t)=>li(e,85,81,s,t)),Pe.registerDecoder(86,s=>ls(s,Float64Array,!0),"IEEE 754 binary64, big endian, Typed Array"),bt(Float64Array,(s,e,t)=>li(e,86,82,s,t)),Pe.registerDecoder(ht.SET,(s,e)=>{if(MN(s.contents),e.sortKeys){let t=vs.decodeToEncodeOpts(e),r=null;for(let n of s.contents){let i=[n,void 0,an(n,t)];if(r&&e.sortKeys(r,i)>=0)throw new Error(`Set items out of order in tag #${ht.SET}`);r=i;}}return new Set(s.contents)},"Set"),bt(Set,(s,e,t)=>{let r=[...s];if(t.sortKeys){let n=r.map(i=>[i,void 0,an(i,t)]);n.sort(t.sortKeys),r=n.map(([i])=>i);}return [ht.SET,r]}),Pe.registerDecoder(ht.JSON,s=>(hi(s.contents),JSON.parse(s.contents)),"JSON-encoded"),Pe.registerDecoder(ht.SELF_DESCRIBED,s=>s.contents,"Self-Described"),Pe.registerDecoder(ht.INVALID_16,()=>{throw new Error(`Tag always invalid: ${ht.INVALID_16}`)},"Invalid"),Pe.registerDecoder(ht.INVALID_32,()=>{throw new Error(`Tag always invalid: ${ht.INVALID_32}`)},"Invalid"),Pe.registerDecoder(ht.INVALID_64,()=>{throw new Error(`Tag always invalid: ${ht.INVALID_64}`)},"Invalid");function L2(s){throw new Error(`Encoding ${s.constructor.name} intentionally unimplmented. It is not concrete enough to interoperate. Convert to Uint8Array first.`)}bt(ArrayBuffer,L2),bt(DataView,L2),typeof SharedArrayBuffer<"u"&&bt(SharedArrayBuffer,L2);function z1(s){return [NaN,s.valueOf()]}bt(Boolean,z1),bt(Number,z1),bt(String,z1),bt(BigInt,z1);d();f();d();f();d();f();d();f();var qe=mb(Q1());d();f();function y(s,e,t){var r;return s instanceof Object&&(r=s[e])!==null&&r!==void 0?r:t}function ey(s,e=0,t=s.byteLength-e,r=!1){let n="";for(let i of new Uint8Array(s,e,t)){let a=i.toString(16).toUpperCase();a.length===1&&(n+="0"),n+=a,r&&(n+=" ");}return n.trim()}function un(s,e){let t=0;if(s.length===1)return s[0];for(let r=s.length-1;r>=0;r--)t+=s[s.length-1-r]*Math.pow(2,e*r);return t}function hr(s,e,t=-1){let r=t,n=s,i=0,a=Math.pow(2,e);for(let o=1;o<8;o++){if(s<a){let c;if(r<0)c=new ArrayBuffer(o),i=o;else {if(r<o)return new ArrayBuffer(0);c=new ArrayBuffer(r),i=r;}let u=new Uint8Array(c);for(let l=o-1;l>=0;l--){let m=Math.pow(2,l*e);u[i-l-1]=Math.floor(n/m),n-=u[i-l-1]*m;}return c}a*=Math.pow(2,e);}return new ArrayBuffer(0)}function to(...s){let e=0,t=0;for(let i of s)e+=i.byteLength;let r=new ArrayBuffer(e),n=new Uint8Array(r);for(let i of s)n.set(new Uint8Array(i),t),t+=i.byteLength;return r}function ty(...s){let e=0,t=0;for(let i of s)e+=i.length;let r=new ArrayBuffer(e),n=new Uint8Array(r);for(let i of s)n.set(i,t),t+=i.length;return n}function H2(){let s=new Uint8Array(this.valueHex);if(this.valueHex.byteLength>=2){let o=s[0]===255&&s[1]&128,c=s[0]===0&&(s[1]&128)===0;(o||c)&&this.warnings.push("Needlessly long format");}let e=new ArrayBuffer(this.valueHex.byteLength),t=new Uint8Array(e);for(let o=0;o<this.valueHex.byteLength;o++)t[o]=0;t[0]=s[0]&128;let r=un(t,8),n=new ArrayBuffer(this.valueHex.byteLength),i=new Uint8Array(n);for(let o=0;o<this.valueHex.byteLength;o++)i[o]=s[o];return i[0]&=127,un(i,8)-r}function $N(s){let e=s<0?s*-1:s,t=128;for(let r=1;r<8;r++){if(e<=t){if(s<0){let a=t-e,o=hr(a,8,r),c=new Uint8Array(o);return c[0]|=128,o}let n=hr(e,8,r),i=new Uint8Array(n);if(i[0]&128){let a=n.slice(0),o=new Uint8Array(a);n=new ArrayBuffer(n.byteLength+1),i=new Uint8Array(n);for(let c=0;c<a.byteLength;c++)i[c+1]=o[c];i[0]=0;}return n}t*=Math.pow(2,8);}return new ArrayBuffer(0)}function fi(s,e){if(s.byteLength!==e.byteLength)return !1;let t=new Uint8Array(s),r=new Uint8Array(e);for(let n=0;n<t.length;n++)if(t[n]!==r[n])return !1;return !0}function Ns(s,e){let t=s.toString(10);if(e<t.length)return "";let r=e-t.length,n=new Array(r);for(let a=0;a<r;a++)n[a]="0";return n.join("").concat(t)}var qN="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",FN="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=";function sy(s,e=!1,t=!1,r=!1){let n=0,i=0,a=0,o="",c=e?FN:qN;if(r){let u=0;for(let l=0;l<s.length;l++)if(s.charCodeAt(l)!==0){u=l;break}s=s.slice(u);}for(;n<s.length;){let u=s.charCodeAt(n++);n>=s.length&&(i=1);let l=s.charCodeAt(n++);n>=s.length&&(a=1);let m=s.charCodeAt(n++),w=u>>2,E=(u&3)<<4|l>>4,v=(l&15)<<2|m>>6,A=m&63;i===1?v=A=64:a===1&&(A=64),t?v===64?o+=`${c.charAt(w)}${c.charAt(E)}`:A===64?o+=`${c.charAt(w)}${c.charAt(E)}${c.charAt(v)}`:o+=`${c.charAt(w)}${c.charAt(E)}${c.charAt(v)}${c.charAt(A)}`:o+=`${c.charAt(w)}${c.charAt(E)}${c.charAt(v)}${c.charAt(A)}`;}return o}function yu(s,e=!1,t=!1){let r=e?FN:qN;function n(c){for(let u=0;u<64;u++)if(r.charAt(u)===c)return u;return 64}function i(c){return c===64?0:c}let a=0,o="";for(;a<s.length;){let c=n(s.charAt(a++)),u=a>=s.length?0:n(s.charAt(a++)),l=a>=s.length?0:n(s.charAt(a++)),m=a>=s.length?0:n(s.charAt(a++)),w=i(c)<<2|i(u)>>4,E=(i(u)&15)<<4|i(l)>>2,v=(i(l)&3)<<6|i(m);o+=String.fromCharCode(w),l!==64&&(o+=String.fromCharCode(E)),m!==64&&(o+=String.fromCharCode(v));}if(t){let c=o.length,u=-1;for(let l=c-1;l>=0;l--)if(o.charCodeAt(l)!==0){u=l;break}u!==-1?o=o.slice(0,u+1):o="";}return o}function Hf(s){let e="",t=new Uint8Array(s);for(let r of t)e+=String.fromCharCode(r);return e}function so(s){let e=s.length,t=new ArrayBuffer(e),r=new Uint8Array(t);for(let n=0;n<e;n++)r[n]=s.charCodeAt(n);return t}var AD=Math.log(2);function KN(s){let e=Math.log(s)/AD,t=Math.floor(e),r=Math.round(e);return t===r?t:r}function W(s,e){for(let t of e)delete s[t];}function ry(){if(typeof BigInt>"u")throw new Error("BigInt is not defined. Your environment doesn't implement BigInt.")}function M2(s){let e=0,t=0;for(let n=0;n<s.length;n++){let i=s[n];e+=i.byteLength;}let r=new Uint8Array(e);for(let n=0;n<s.length;n++){let i=s[n];r.set(new Uint8Array(i),t),t+=i.byteLength;}return r.buffer}function dn(s,e,t,r){return e instanceof Uint8Array?e.byteLength?t<0?(s.error="Wrong parameter: inputOffset less than zero",!1):r<0?(s.error="Wrong parameter: inputLength less than zero",!1):e.byteLength-t-r<0?(s.error="End of input reached before message was fully decoded (inconsistent offset and length values)",!1):!0:(s.error="Wrong parameter: inputBuffer has zero length",!1):(s.error="Wrong parameter: inputBuffer must be 'Uint8Array'",!1)}var $f=class{constructor(){this.items=[];}write(e){this.items.push(e);}final(){return M2(this.items)}},_f=[new Uint8Array([1])],WN="0123456789",_2="name",JN="valueHexView",ID="isHexOnly",CD="idBlock",ND="tagClass",kD="tagNumber",PD="isConstructed",TD="fromBER",BD="toBER",OD="local",ks="",Rr=new ArrayBuffer(0),Cy=new Uint8Array(0),qf="EndOfContent",YN="OCTET STRING",ZN="BIT STRING";function mn(s){var e;return e=class extends s{get valueHex(){return this.valueHexView.slice().buffer}set valueHex(r){this.valueHexView=new Uint8Array(r);}constructor(...r){var n;super(...r);let i=r[0]||{};this.isHexOnly=(n=i.isHexOnly)!==null&&n!==void 0?n:!1,this.valueHexView=i.valueHex?qe.BufferSourceConverter.toUint8Array(i.valueHex):Cy;}fromBER(r,n,i){let a=r instanceof ArrayBuffer?new Uint8Array(r):r;if(!dn(this,a,n,i))return -1;let o=n+i;return this.valueHexView=a.subarray(n,o),this.valueHexView.length?(this.blockLength=i,o):(this.warnings.push("Zero buffer length"),n)}toBER(r=!1){return this.isHexOnly?r?new ArrayBuffer(this.valueHexView.byteLength):this.valueHexView.byteLength===this.valueHexView.buffer.byteLength?this.valueHexView.buffer:this.valueHexView.slice().buffer:(this.error="Flag 'isHexOnly' is not set, abort",Rr)}toJSON(){return {...super.toJSON(),isHexOnly:this.isHexOnly,valueHex:qe.Convert.ToHex(this.valueHexView)}}},e.NAME="hexBlock",e}var ln=class{static blockName(){return this.NAME}get valueBeforeDecode(){return this.valueBeforeDecodeView.slice().buffer}set valueBeforeDecode(e){this.valueBeforeDecodeView=new Uint8Array(e);}constructor({blockLength:e=0,error:t=ks,warnings:r=[],valueBeforeDecode:n=Cy}={}){this.blockLength=e,this.error=t,this.warnings=r,this.valueBeforeDecodeView=qe.BufferSourceConverter.toUint8Array(n);}toJSON(){return {blockName:this.constructor.NAME,blockLength:this.blockLength,error:this.error,warnings:this.warnings,valueBeforeDecode:qe.Convert.ToHex(this.valueBeforeDecodeView)}}};ln.NAME="baseBlock";var hs=class extends ln{fromBER(e,t,r){throw TypeError("User need to make a specific function in a class which extends 'ValueBlock'")}toBER(e,t){throw TypeError("User need to make a specific function in a class which extends 'ValueBlock'")}};hs.NAME="valueBlock";var ny=class extends mn(ln){constructor({idBlock:e={}}={}){var t,r,n,i;super(),e?(this.isHexOnly=(t=e.isHexOnly)!==null&&t!==void 0?t:!1,this.valueHexView=e.valueHex?qe.BufferSourceConverter.toUint8Array(e.valueHex):Cy,this.tagClass=(r=e.tagClass)!==null&&r!==void 0?r:-1,this.tagNumber=(n=e.tagNumber)!==null&&n!==void 0?n:-1,this.isConstructed=(i=e.isConstructed)!==null&&i!==void 0?i:!1):(this.tagClass=-1,this.tagNumber=-1,this.isConstructed=!1);}toBER(e=!1){let t=0;switch(this.tagClass){case 1:t|=0;break;case 2:t|=64;break;case 3:t|=128;break;case 4:t|=192;break;default:return this.error="Unknown tag class",Rr}if(this.isConstructed&&(t|=32),this.tagNumber<31&&!this.isHexOnly){let n=new Uint8Array(1);if(!e){let i=this.tagNumber;i&=31,t|=i,n[0]=t;}return n.buffer}if(!this.isHexOnly){let n=hr(this.tagNumber,7),i=new Uint8Array(n),a=n.byteLength,o=new Uint8Array(a+1);if(o[0]=t|31,!e){for(let c=0;c<a-1;c++)o[c+1]=i[c]|128;o[a]=i[a-1];}return o.buffer}let r=new Uint8Array(this.valueHexView.byteLength+1);if(r[0]=t|31,!e){let n=this.valueHexView;for(let i=0;i<n.length-1;i++)r[i+1]=n[i]|128;r[this.valueHexView.byteLength]=n[n.length-1];}return r.buffer}fromBER(e,t,r){let n=qe.BufferSourceConverter.toUint8Array(e);if(!dn(this,n,t,r))return -1;let i=n.subarray(t,t+r);if(i.length===0)return this.error="Zero buffer length",-1;switch(i[0]&192){case 0:this.tagClass=1;break;case 64:this.tagClass=2;break;case 128:this.tagClass=3;break;case 192:this.tagClass=4;break;default:return this.error="Unknown tag class",-1}this.isConstructed=(i[0]&32)===32,this.isHexOnly=!1;let o=i[0]&31;if(o!==31)this.tagNumber=o,this.blockLength=1;else {let c=1,u=this.valueHexView=new Uint8Array(255),l=255;for(;i[c]&128;){if(u[c-1]=i[c]&127,c++,c>=i.length)return this.error="End of input reached before message was fully decoded",-1;if(c===l){l+=255;let w=new Uint8Array(l);for(let E=0;E<u.length;E++)w[E]=u[E];u=this.valueHexView=new Uint8Array(l);}}this.blockLength=c+1,u[c-1]=i[c]&127;let m=new Uint8Array(c);for(let w=0;w<c;w++)m[w]=u[w];u=this.valueHexView=new Uint8Array(c),u.set(m),this.blockLength<=9?this.tagNumber=un(u,7):(this.isHexOnly=!0,this.warnings.push("Tag too long, represented as hex-coded"));}if(this.tagClass===1&&this.isConstructed)switch(this.tagNumber){case 1:case 2:case 5:case 6:case 9:case 13:case 14:case 23:case 24:case 31:case 32:case 33:case 34:return this.error="Constructed encoding used for primitive type",-1}return t+this.blockLength}toJSON(){return {...super.toJSON(),tagClass:this.tagClass,tagNumber:this.tagNumber,isConstructed:this.isConstructed}}};ny.NAME="identificationBlock";var iy=class extends ln{constructor({lenBlock:e={}}={}){var t,r,n;super(),this.isIndefiniteForm=(t=e.isIndefiniteForm)!==null&&t!==void 0?t:!1,this.longFormUsed=(r=e.longFormUsed)!==null&&r!==void 0?r:!1,this.length=(n=e.length)!==null&&n!==void 0?n:0;}fromBER(e,t,r){let n=qe.BufferSourceConverter.toUint8Array(e);if(!dn(this,n,t,r))return -1;let i=n.subarray(t,t+r);if(i.length===0)return this.error="Zero buffer length",-1;if(i[0]===255)return this.error="Length block 0xFF is reserved by standard",-1;if(this.isIndefiniteForm=i[0]===128,this.isIndefiniteForm)return this.blockLength=1,t+this.blockLength;if(this.longFormUsed=!!(i[0]&128),this.longFormUsed===!1)return this.length=i[0],this.blockLength=1,t+this.blockLength;let a=i[0]&127;if(a>8)return this.error="Too big integer",-1;if(a+1>i.length)return this.error="End of input reached before message was fully decoded",-1;let o=t+1,c=n.subarray(o,o+a);return c[a-1]===0&&this.warnings.push("Needlessly long encoded length"),this.length=un(c,8),this.longFormUsed&&this.length<=127&&this.warnings.push("Unnecessary usage of long length form"),this.blockLength=a+1,t+this.blockLength}toBER(e=!1){let t,r;if(this.length>127&&(this.longFormUsed=!0),this.isIndefiniteForm)return t=new ArrayBuffer(1),e===!1&&(r=new Uint8Array(t),r[0]=128),t;if(this.longFormUsed){let n=hr(this.length,8);if(n.byteLength>127)return this.error="Too big length",Rr;if(t=new ArrayBuffer(n.byteLength+1),e)return t;let i=new Uint8Array(n);r=new Uint8Array(t),r[0]=n.byteLength|128;for(let a=0;a<n.byteLength;a++)r[a+1]=i[a];return t}return t=new ArrayBuffer(1),e===!1&&(r=new Uint8Array(t),r[0]=this.length),t}toJSON(){return {...super.toJSON(),isIndefiniteForm:this.isIndefiniteForm,longFormUsed:this.longFormUsed,length:this.length}}};iy.NAME="lengthBlock";var ue={},Qt=class extends ln{constructor({name:e=ks,optional:t=!1,primitiveSchema:r,...n}={},i){super(n),this.name=e,this.optional=t,r&&(this.primitiveSchema=r),this.idBlock=new ny(n),this.lenBlock=new iy(n),this.valueBlock=i?new i(n):new hs(n);}fromBER(e,t,r){let n=this.valueBlock.fromBER(e,t,this.lenBlock.isIndefiniteForm?r:this.lenBlock.length);return n===-1?(this.error=this.valueBlock.error,n):(this.idBlock.error.length||(this.blockLength+=this.idBlock.blockLength),this.lenBlock.error.length||(this.blockLength+=this.lenBlock.blockLength),this.valueBlock.error.length||(this.blockLength+=this.valueBlock.blockLength),n)}toBER(e,t){let r=t||new $f;t||XN(this);let n=this.idBlock.toBER(e);if(r.write(n),this.lenBlock.isIndefiniteForm)r.write(new Uint8Array([128]).buffer),this.valueBlock.toBER(e,r),r.write(new ArrayBuffer(2));else {let i=this.valueBlock.toBER(e);this.lenBlock.length=i.byteLength;let a=this.lenBlock.toBER(e);r.write(a),r.write(i);}return t?Rr:r.final()}toJSON(){let e={...super.toJSON(),idBlock:this.idBlock.toJSON(),lenBlock:this.lenBlock.toJSON(),valueBlock:this.valueBlock.toJSON(),name:this.name,optional:this.optional};return this.primitiveSchema&&(e.primitiveSchema=this.primitiveSchema.toJSON()),e}toString(e="ascii"){return e==="ascii"?this.onAsciiEncoding():qe.Convert.ToHex(this.toBER())}onAsciiEncoding(){let e=this.constructor.NAME,t=qe.Convert.ToHex(this.valueBlock.valueBeforeDecodeView);return `${e} : ${t}`}isEqual(e){if(this===e)return !0;if(!(e instanceof this.constructor))return !1;let t=this.toBER(),r=e.toBER();return fi(t,r)}};Qt.NAME="BaseBlock";function XN(s){var e;if(s instanceof ue.Constructed)for(let t of s.valueBlock.value)XN(t)&&(s.lenBlock.isIndefiniteForm=!0);return !!(!((e=s.lenBlock)===null||e===void 0)&&e.isIndefiniteForm)}var ay=class extends Qt{getValue(){return this.valueBlock.value}setValue(e){this.valueBlock.value=e;}constructor({value:e=ks,...t}={},r){super(t,r),e&&this.fromString(e);}fromBER(e,t,r){let n=this.valueBlock.fromBER(e,t,this.lenBlock.isIndefiniteForm?r:this.lenBlock.length);return n===-1?(this.error=this.valueBlock.error,n):(this.fromBuffer(this.valueBlock.valueHexView),this.idBlock.error.length||(this.blockLength+=this.idBlock.blockLength),this.lenBlock.error.length||(this.blockLength+=this.lenBlock.blockLength),this.valueBlock.error.length||(this.blockLength+=this.valueBlock.blockLength),n)}onAsciiEncoding(){return `${this.constructor.NAME} : '${this.valueBlock.value}'`}};ay.NAME="BaseStringBlock";var oy=class extends mn(hs){constructor({isHexOnly:e=!0,...t}={}){super(t),this.isHexOnly=e;}};oy.NAME="PrimitiveValueBlock";var QN,ge=class extends Qt{constructor(e={}){super(e,oy),this.idBlock.isConstructed=!1;}};QN=ge;ue.Primitive=QN;ge.NAME="PRIMITIVE";function RD(s,e){if(s instanceof e)return s;let t=new e;return t.idBlock=s.idBlock,t.lenBlock=s.lenBlock,t.warnings=s.warnings,t.valueBeforeDecodeView=s.valueBeforeDecodeView,t}function Wf(s,e=0,t=s.length){let r=e,n=new Qt({},hs),i=new ln;if(!dn(i,s,e,t))return n.error=i.error,{offset:-1,result:n};if(!s.subarray(e,e+t).length)return n.error="Zero buffer length",{offset:-1,result:n};let o=n.idBlock.fromBER(s,e,t);if(n.idBlock.warnings.length&&n.warnings.concat(n.idBlock.warnings),o===-1)return n.error=n.idBlock.error,{offset:-1,result:n};if(e=o,t-=n.idBlock.blockLength,o=n.lenBlock.fromBER(s,e,t),n.lenBlock.warnings.length&&n.warnings.concat(n.lenBlock.warnings),o===-1)return n.error=n.lenBlock.error,{offset:-1,result:n};if(e=o,t-=n.lenBlock.blockLength,!n.idBlock.isConstructed&&n.lenBlock.isIndefiniteForm)return n.error="Indefinite length form used for primitive encoding form",{offset:-1,result:n};let c=Qt;switch(n.idBlock.tagClass){case 1:if(n.idBlock.tagNumber>=37&&n.idBlock.isHexOnly===!1)return n.error="UNIVERSAL 37 and upper tags are reserved by ASN.1 standard",{offset:-1,result:n};switch(n.idBlock.tagNumber){case 0:if(n.idBlock.isConstructed&&n.lenBlock.length>0)return n.error="Type [UNIVERSAL 0] is reserved",{offset:-1,result:n};c=ue.EndOfContent;break;case 1:c=ue.Boolean;break;case 2:c=ue.Integer;break;case 3:c=ue.BitString;break;case 4:c=ue.OctetString;break;case 5:c=ue.Null;break;case 6:c=ue.ObjectIdentifier;break;case 10:c=ue.Enumerated;break;case 12:c=ue.Utf8String;break;case 13:c=ue.RelativeObjectIdentifier;break;case 14:c=ue.TIME;break;case 15:return n.error="[UNIVERSAL 15] is reserved by ASN.1 standard",{offset:-1,result:n};case 16:c=ue.Sequence;break;case 17:c=ue.Set;break;case 18:c=ue.NumericString;break;case 19:c=ue.PrintableString;break;case 20:c=ue.TeletexString;break;case 21:c=ue.VideotexString;break;case 22:c=ue.IA5String;break;case 23:c=ue.UTCTime;break;case 24:c=ue.GeneralizedTime;break;case 25:c=ue.GraphicString;break;case 26:c=ue.VisibleString;break;case 27:c=ue.GeneralString;break;case 28:c=ue.UniversalString;break;case 29:c=ue.CharacterString;break;case 30:c=ue.BmpString;break;case 31:c=ue.DATE;break;case 32:c=ue.TimeOfDay;break;case 33:c=ue.DateTime;break;case 34:c=ue.Duration;break;default:{let u=n.idBlock.isConstructed?new ue.Constructed:new ue.Primitive;u.idBlock=n.idBlock,u.lenBlock=n.lenBlock,u.warnings=n.warnings,n=u;}}break;case 2:case 3:case 4:default:c=n.idBlock.isConstructed?ue.Constructed:ue.Primitive;}return n=RD(n,c),o=n.fromBER(s,e,n.lenBlock.isIndefiniteForm?t:n.lenBlock.length),n.valueBeforeDecodeView=s.subarray(r,r+n.blockLength),{offset:o,result:n}}function kt(s){if(!s.byteLength){let e=new Qt({},hs);return e.error="Input buffer has zero length",{offset:-1,result:e}}return Wf(qe.BufferSourceConverter.toUint8Array(s).slice(),0,s.byteLength)}function VD(s,e){return s?1:e}var Br=class extends hs{constructor({value:e=[],isIndefiniteForm:t=!1,...r}={}){super(r),this.value=e,this.isIndefiniteForm=t;}fromBER(e,t,r){let n=qe.BufferSourceConverter.toUint8Array(e);if(!dn(this,n,t,r))return -1;if(this.valueBeforeDecodeView=n.subarray(t,t+r),this.valueBeforeDecodeView.length===0)return this.warnings.push("Zero buffer length"),t;let i=t;for(;VD(this.isIndefiniteForm,r)>0;){let a=Wf(n,i,r);if(a.offset===-1)return this.error=a.result.error,this.warnings.concat(a.result.warnings),-1;if(i=a.offset,this.blockLength+=a.result.blockLength,r-=a.result.blockLength,this.value.push(a.result),this.isIndefiniteForm&&a.result.constructor.NAME===qf)break}return this.isIndefiniteForm&&(this.value[this.value.length-1].constructor.NAME===qf?this.value.pop():this.warnings.push("No EndOfContent block encoded")),i}toBER(e,t){let r=t||new $f;for(let n=0;n<this.value.length;n++)this.value[n].toBER(e,r);return t?Rr:r.final()}toJSON(){let e={...super.toJSON(),isIndefiniteForm:this.isIndefiniteForm,value:[]};for(let t of this.value)e.value.push(t.toJSON());return e}};Br.NAME="ConstructedValueBlock";var ek,V=class extends Qt{constructor(e={}){super(e,Br),this.idBlock.isConstructed=!0;}fromBER(e,t,r){this.valueBlock.isIndefiniteForm=this.lenBlock.isIndefiniteForm;let n=this.valueBlock.fromBER(e,t,this.lenBlock.isIndefiniteForm?r:this.lenBlock.length);return n===-1?(this.error=this.valueBlock.error,n):(this.idBlock.error.length||(this.blockLength+=this.idBlock.blockLength),this.lenBlock.error.length||(this.blockLength+=this.lenBlock.blockLength),this.valueBlock.error.length||(this.blockLength+=this.valueBlock.blockLength),n)}onAsciiEncoding(){let e=[];for(let r of this.valueBlock.value)e.push(r.toString("ascii").split(`
368
+ `;let c=0;for(let u of t.children){if(TT(u)){let l=String(c);t.mt===ee.MAP?l=c%2?`val ${(c-1)/2}`:`key ${c/2}`:t.mt===ee.TAG&&(l=""),r+=kT(u,e,l);}c++;}}return r}var mU={...Is.defaultDecodeOptions,initialDepth:0,noPrefixHex:!1,minCol:0};function ay(t,e){let s={...mU,...e,ParentType:Jh,saveOriginal:!0},r=new dn(t,s),n,i;for(let o of r){if(i=Is.create(o,n,s,r),o[2]===Et.BREAK)if(n?.isStreaming)n.left=1;else throw new Error("Unexpected BREAK");if(!TT(i)){let l=new Jh(o,0,n,s);l.leaf=!0,l.children.push(i),hi(l,r.toHere(o[3])),i=l;}let c=(i.depth+1)*2,u=i.numBytes();for(u&&(c+=1,c+=u*2),s.minCol=Math.max(s.minCol,c),n&&n.push(i,r,o[3]),n=i;n?.done;)i=n,i.leaf||hi(i,r.toHere(i.offset)),{parent:n}=n;}e&&(e.minCol=s.minCol);let a=s.noPrefixHex?"":`0x${ss(r.toHere(0))}
369
+ `;return a+=kT(i,s),a}var BT=!vT();function DT(t){if(typeof t=="object"&&t){if(t.constructor!==Number)throw new Error(`Expected number: ${t}`)}else if(typeof t!="number")throw new Error(`Expected number: ${t}`)}function yi(t){if(typeof t=="object"&&t){if(t.constructor!==String)throw new Error(`Expected string: ${t}`)}else if(typeof t!="string")throw new Error(`Expected string: ${t}`)}function io(t){if(!(t instanceof Uint8Array))throw new Error(`Expected Uint8Array: ${t}`)}function VT(t){if(!Array.isArray(t))throw new Error(`Expected Array: ${t}`)}It(Map,(t,e,s)=>{let r=[...t.entries()].map(n=>[n[0],n[1],hn(n[0],s)]);if(s.rejectDuplicateKeys){let n=new Set;for(let[i,a,o]of r){let c=ss(o);if(n.has(c))throw new Error(`Duplicate map key: 0x${c}`);n.add(c);}}s.sortKeys&&r.sort(s.sortKeys),ry(t,t.size,ee.MAP,e,s);for(let[n,i,a]of r)e.write(a),mi(i,e,s);});function PT(t){return yi(t.contents),new Date(t.contents)}PT.comment=t=>(yi(t.contents),`(String Date) ${new Date(t.contents).toISOString()}`),Le.registerDecoder(gt.DATE_STRING,PT);function OT(t){return DT(t.contents),new Date(t.contents*1e3)}OT.comment=t=>(DT(t.contents),`(Epoch Date) ${new Date(t.contents*1e3).toISOString()}`),Le.registerDecoder(gt.DATE_EPOCH,OT),It(Date,t=>[gt.DATE_EPOCH,t.valueOf()/1e3]);function cy(t,e,s){if(io(e.contents),s.rejectBigInts)throw new Error(`Decoding unwanted big integer: ${e}(h'${ss(e.contents)}')`);if(s.requirePreferred&&e.contents[0]===0)throw new Error(`Decoding overly-large bigint: ${e.tag}(h'${ss(e.contents)})`);let r=e.contents.reduce((n,i)=>n<<8n|BigInt(i),0n);if(t&&(r=-1n-r),s.requirePreferred&&r>=Number.MIN_SAFE_INTEGER&&r<=Number.MAX_SAFE_INTEGER)throw new Error(`Decoding bigint that could have been int: ${r}n`);return s.boxed?di(r,e.contents):r}var RT=cy.bind(null,!1),LT=cy.bind(null,!0);RT.comment=(t,e)=>`(Positive BigInt) ${cy(!1,t,e)}n`,LT.comment=(t,e)=>`(Negative BigInt) ${cy(!0,t,e)}n`,Le.registerDecoder(gt.POS_BIGINT,RT),Le.registerDecoder(gt.NEG_BIGINT,LT);function aA(t,e){return io(t.contents),t}aA.comment=(t,e,s)=>{io(t.contents);let r={...e,initialDepth:s+2,noPrefixHex:!0},n=fi(t),i=2**((n[0]&31)-24)+1,a=n[i]&31,o=ss(n.subarray(i,++i));a>=24&&(o+=" ",o+=ss(n.subarray(i,i+2**(a-24)))),r.minCol=Math.max(r.minCol,(s+1)*2+o.length);let c=ay(t.contents,r),u=`Embedded CBOR
370
+ `;return u+=`${"".padStart((s+1)*2," ")}${o}`.padEnd(r.minCol+1," "),u+=`-- Bytes (Length: ${t.contents.length})
371
+ `,u+=c,u},aA.noChildren=!0,Le.registerDecoder(gt.CBOR,aA),Le.registerDecoder(gt.URI,t=>(yi(t.contents),new URL(t.contents)),"URI"),It(URL,t=>[gt.URI,t.toString()]),Le.registerDecoder(gt.BASE64URL,t=>(yi(t.contents),ST(t.contents)),"Base64url-encoded"),Le.registerDecoder(gt.BASE64,t=>(yi(t.contents),Fh(t.contents)),"Base64-encoded"),Le.registerDecoder(35,t=>(yi(t.contents),new RegExp(t.contents)),"RegExp"),Le.registerDecoder(21065,t=>{yi(t.contents);let e=`^(?:${t.contents})$`;return new RegExp(e,"u")},"I-RegExp"),Le.registerDecoder(gt.REGEXP,t=>{if(VT(t.contents),t.contents.length<1||t.contents.length>2)throw new Error(`Invalid RegExp Array: ${t.contents}`);return new RegExp(t.contents[0],t.contents[1])},"RegExp"),It(RegExp,t=>[gt.REGEXP,[t.source,t.flags]]),Le.registerDecoder(64,t=>(io(t.contents),t.contents),"uint8 Typed Array");function ms(t,e,s){io(t.contents);let r=t.contents.length;if(r%e.BYTES_PER_ELEMENT!==0)throw new Error(`Number of bytes must be divisible by ${e.BYTES_PER_ELEMENT}, got: ${r}`);r/=e.BYTES_PER_ELEMENT;let n=new e(r),i=new DataView(t.contents.buffer,t.contents.byteOffset,t.contents.byteLength),a=i[`get${e.name.replace(/Array/,"")}`].bind(i);for(let o=0;o<r;o++)n[o]=a(o*e.BYTES_PER_ELEMENT,s);return n}function gi(t,e,s,r,n){let i=n.forceEndian??BT;if(Gh(i?e:s,t,n),qs(r.byteLength,t,ee.BYTE_STRING),BT===i)t.write(new Uint8Array(r.buffer,r.byteOffset,r.byteLength));else {let a=`write${r.constructor.name.replace(/Array/,"")}`,o=t[a].bind(t);for(let c of r)o(c,i);}}Le.registerDecoder(65,t=>ms(t,Uint16Array,!1),"uint16, big endian, Typed Array"),Le.registerDecoder(66,t=>ms(t,Uint32Array,!1),"uint32, big endian, Typed Array"),Le.registerDecoder(67,t=>ms(t,BigUint64Array,!1),"uint64, big endian, Typed Array"),Le.registerDecoder(68,t=>(io(t.contents),new Uint8ClampedArray(t.contents)),"uint8 Typed Array, clamped arithmetic"),It(Uint8ClampedArray,t=>[68,new Uint8Array(t.buffer,t.byteOffset,t.byteLength)]),Le.registerDecoder(69,t=>ms(t,Uint16Array,!0),"uint16, little endian, Typed Array"),It(Uint16Array,(t,e,s)=>gi(e,69,65,t,s)),Le.registerDecoder(70,t=>ms(t,Uint32Array,!0),"uint32, little endian, Typed Array"),It(Uint32Array,(t,e,s)=>gi(e,70,66,t,s)),Le.registerDecoder(71,t=>ms(t,BigUint64Array,!0),"uint64, little endian, Typed Array"),It(BigUint64Array,(t,e,s)=>gi(e,71,67,t,s)),Le.registerDecoder(72,t=>(io(t.contents),new Int8Array(t.contents)),"sint8 Typed Array"),It(Int8Array,t=>[72,new Uint8Array(t.buffer,t.byteOffset,t.byteLength)]),Le.registerDecoder(73,t=>ms(t,Int16Array,!1),"sint16, big endian, Typed Array"),Le.registerDecoder(74,t=>ms(t,Int32Array,!1),"sint32, big endian, Typed Array"),Le.registerDecoder(75,t=>ms(t,BigInt64Array,!1),"sint64, big endian, Typed Array"),Le.registerDecoder(77,t=>ms(t,Int16Array,!0),"sint16, little endian, Typed Array"),It(Int16Array,(t,e,s)=>gi(e,77,73,t,s)),Le.registerDecoder(78,t=>ms(t,Int32Array,!0),"sint32, little endian, Typed Array"),It(Int32Array,(t,e,s)=>gi(e,78,74,t,s)),Le.registerDecoder(79,t=>ms(t,BigInt64Array,!0),"sint64, little endian, Typed Array"),It(BigInt64Array,(t,e,s)=>gi(e,79,75,t,s)),Le.registerDecoder(81,t=>ms(t,Float32Array,!1),"IEEE 754 binary32, big endian, Typed Array"),Le.registerDecoder(82,t=>ms(t,Float64Array,!1),"IEEE 754 binary64, big endian, Typed Array"),Le.registerDecoder(85,t=>ms(t,Float32Array,!0),"IEEE 754 binary32, little endian, Typed Array"),It(Float32Array,(t,e,s)=>gi(e,85,81,t,s)),Le.registerDecoder(86,t=>ms(t,Float64Array,!0),"IEEE 754 binary64, big endian, Typed Array"),It(Float64Array,(t,e,s)=>gi(e,86,82,t,s)),Le.registerDecoder(gt.SET,(t,e)=>{if(VT(t.contents),e.sortKeys){let s=Is.decodeToEncodeOpts(e),r=null;for(let n of t.contents){let i=[n,void 0,hn(n,s)];if(r&&e.sortKeys(r,i)>=0)throw new Error(`Set items out of order in tag #${gt.SET}`);r=i;}}return new Set(t.contents)},"Set"),It(Set,(t,e,s)=>{let r=[...t];if(s.sortKeys){let n=r.map(i=>[i,void 0,hn(i,s)]);n.sort(s.sortKeys),r=n.map(([i])=>i);}return [gt.SET,r]}),Le.registerDecoder(gt.JSON,t=>(yi(t.contents),JSON.parse(t.contents)),"JSON-encoded"),Le.registerDecoder(gt.SELF_DESCRIBED,t=>t.contents,"Self-Described"),Le.registerDecoder(gt.INVALID_16,()=>{throw new Error(`Tag always invalid: ${gt.INVALID_16}`)},"Invalid"),Le.registerDecoder(gt.INVALID_32,()=>{throw new Error(`Tag always invalid: ${gt.INVALID_32}`)},"Invalid"),Le.registerDecoder(gt.INVALID_64,()=>{throw new Error(`Tag always invalid: ${gt.INVALID_64}`)},"Invalid");function oA(t){throw new Error(`Encoding ${t.constructor.name} intentionally unimplmented. It is not concrete enough to interoperate. Convert to Uint8Array first.`)}It(ArrayBuffer,oA),It(DataView,oA),typeof SharedArrayBuffer<"u"&&It(SharedArrayBuffer,oA);function oy(t){return [NaN,t.valueOf()]}It(Boolean,oy),It(Number,oy),It(String,oy),It(BigInt,oy);d();h();d();h();d();h();d();h();var Je=Cb(fy());d();h();function y(t,e,s){var r;return t instanceof Object&&(r=t[e])!==null&&r!==void 0?r:s}function hy(t,e=0,s=t.byteLength-e,r=!1){let n="";for(let i of new Uint8Array(t,e,s)){let a=i.toString(16).toUpperCase();a.length===1&&(n+="0"),n+=a,r&&(n+=" ");}return n.trim()}function pn(t,e){let s=0;if(t.length===1)return t[0];for(let r=t.length-1;r>=0;r--)s+=t[t.length-1-r]*Math.pow(2,e*r);return s}function pr(t,e,s=-1){let r=s,n=t,i=0,a=Math.pow(2,e);for(let o=1;o<8;o++){if(t<a){let c;if(r<0)c=new ArrayBuffer(o),i=o;else {if(r<o)return new ArrayBuffer(0);c=new ArrayBuffer(r),i=r;}let u=new Uint8Array(c);for(let l=o-1;l>=0;l--){let p=Math.pow(2,l*e);u[i-l-1]=Math.floor(n/p),n-=u[i-l-1]*p;}return c}a*=Math.pow(2,e);}return new ArrayBuffer(0)}function ao(...t){let e=0,s=0;for(let i of t)e+=i.byteLength;let r=new ArrayBuffer(e),n=new Uint8Array(r);for(let i of t)n.set(new Uint8Array(i),s),s+=i.byteLength;return r}function dy(...t){let e=0,s=0;for(let i of t)e+=i.length;let r=new ArrayBuffer(e),n=new Uint8Array(r);for(let i of t)n.set(i,s),s+=i.length;return n}function uA(){let t=new Uint8Array(this.valueHex);if(this.valueHex.byteLength>=2){let o=t[0]===255&&t[1]&128,c=t[0]===0&&(t[1]&128)===0;(o||c)&&this.warnings.push("Needlessly long format");}let e=new ArrayBuffer(this.valueHex.byteLength),s=new Uint8Array(e);for(let o=0;o<this.valueHex.byteLength;o++)s[o]=0;s[0]=t[0]&128;let r=pn(s,8),n=new ArrayBuffer(this.valueHex.byteLength),i=new Uint8Array(n);for(let o=0;o<this.valueHex.byteLength;o++)i[o]=t[o];return i[0]&=127,pn(i,8)-r}function UT(t){let e=t<0?t*-1:t,s=128;for(let r=1;r<8;r++){if(e<=s){if(t<0){let a=s-e,o=pr(a,8,r),c=new Uint8Array(o);return c[0]|=128,o}let n=pr(e,8,r),i=new Uint8Array(n);if(i[0]&128){let a=n.slice(0),o=new Uint8Array(a);n=new ArrayBuffer(n.byteLength+1),i=new Uint8Array(n);for(let c=0;c<a.byteLength;c++)i[c+1]=o[c];i[0]=0;}return n}s*=Math.pow(2,8);}return new ArrayBuffer(0)}function wi(t,e){if(t.byteLength!==e.byteLength)return !1;let s=new Uint8Array(t),r=new Uint8Array(e);for(let n=0;n<s.length;n++)if(s[n]!==r[n])return !1;return !0}function Ps(t,e){let s=t.toString(10);if(e<s.length)return "";let r=e-s.length,n=new Array(r);for(let a=0;a<r;a++)n[a]="0";return n.join("").concat(s)}var _T="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",HT="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=";function my(t,e=!1,s=!1,r=!1){let n=0,i=0,a=0,o="",c=e?HT:_T;if(r){let u=0;for(let l=0;l<t.length;l++)if(t.charCodeAt(l)!==0){u=l;break}t=t.slice(u);}for(;n<t.length;){let u=t.charCodeAt(n++);n>=t.length&&(i=1);let l=t.charCodeAt(n++);n>=t.length&&(a=1);let p=t.charCodeAt(n++),w=u>>2,E=(u&3)<<4|l>>4,S=(l&15)<<2|p>>6,I=p&63;i===1?S=I=64:a===1&&(I=64),s?S===64?o+=`${c.charAt(w)}${c.charAt(E)}`:I===64?o+=`${c.charAt(w)}${c.charAt(E)}${c.charAt(S)}`:o+=`${c.charAt(w)}${c.charAt(E)}${c.charAt(S)}${c.charAt(I)}`:o+=`${c.charAt(w)}${c.charAt(E)}${c.charAt(S)}${c.charAt(I)}`;}return o}function xu(t,e=!1,s=!1){let r=e?HT:_T;function n(c){for(let u=0;u<64;u++)if(r.charAt(u)===c)return u;return 64}function i(c){return c===64?0:c}let a=0,o="";for(;a<t.length;){let c=n(t.charAt(a++)),u=a>=t.length?0:n(t.charAt(a++)),l=a>=t.length?0:n(t.charAt(a++)),p=a>=t.length?0:n(t.charAt(a++)),w=i(c)<<2|i(u)>>4,E=(i(u)&15)<<4|i(l)>>2,S=(i(l)&3)<<6|i(p);o+=String.fromCharCode(w),l!==64&&(o+=String.fromCharCode(E)),p!==64&&(o+=String.fromCharCode(S));}if(s){let c=o.length,u=-1;for(let l=c-1;l>=0;l--)if(o.charCodeAt(l)!==0){u=l;break}u!==-1?o=o.slice(0,u+1):o="";}return o}function zh(t){let e="",s=new Uint8Array(t);for(let r of s)e+=String.fromCharCode(r);return e}function oo(t){let e=t.length,s=new ArrayBuffer(e),r=new Uint8Array(s);for(let n=0;n<e;n++)r[n]=t.charCodeAt(n);return s}var xU=Math.log(2);function jT(t){let e=Math.log(t)/xU,s=Math.floor(e),r=Math.round(e);return s===r?s:r}function W(t,e){for(let s of e)delete t[s];}function py(){if(typeof BigInt>"u")throw new Error("BigInt is not defined. Your environment doesn't implement BigInt.")}function fA(t){let e=0,s=0;for(let n=0;n<t.length;n++){let i=t[n];e+=i.byteLength;}let r=new Uint8Array(e);for(let n=0;n<t.length;n++){let i=t[n];r.set(new Uint8Array(i),s),s+=i.byteLength;}return r.buffer}function bn(t,e,s,r){return e instanceof Uint8Array?e.byteLength?s<0?(t.error="Wrong parameter: inputOffset less than zero",!1):r<0?(t.error="Wrong parameter: inputLength less than zero",!1):e.byteLength-s-r<0?(t.error="End of input reached before message was fully decoded (inconsistent offset and length values)",!1):!0:(t.error="Wrong parameter: inputBuffer has zero length",!1):(t.error="Wrong parameter: inputBuffer must be 'Uint8Array'",!1)}var Xh=class{constructor(){this.items=[];}write(e){this.items.push(e);}final(){return fA(this.items)}},Yh=[new Uint8Array([1])],$T="0123456789",lA="name",qT="valueHexView",AU="isHexOnly",IU="idBlock",CU="tagClass",NU="tagNumber",TU="isConstructed",kU="fromBER",BU="toBER",PU="local",Os="",_r=new ArrayBuffer(0),_y=new Uint8Array(0),Qh="EndOfContent",KT="OCTET STRING",GT="BIT STRING";function Sn(t){var e;return e=class extends t{get valueHex(){return this.valueHexView.slice().buffer}set valueHex(r){this.valueHexView=new Uint8Array(r);}constructor(...r){var n;super(...r);let i=r[0]||{};this.isHexOnly=(n=i.isHexOnly)!==null&&n!==void 0?n:!1,this.valueHexView=i.valueHex?Je.BufferSourceConverter.toUint8Array(i.valueHex):_y;}fromBER(r,n,i){let a=r instanceof ArrayBuffer?new Uint8Array(r):r;if(!bn(this,a,n,i))return -1;let o=n+i;return this.valueHexView=a.subarray(n,o),this.valueHexView.length?(this.blockLength=i,o):(this.warnings.push("Zero buffer length"),n)}toBER(r=!1){return this.isHexOnly?r?new ArrayBuffer(this.valueHexView.byteLength):this.valueHexView.byteLength===this.valueHexView.buffer.byteLength?this.valueHexView.buffer:this.valueHexView.slice().buffer:(this.error="Flag 'isHexOnly' is not set, abort",_r)}toJSON(){return {...super.toJSON(),isHexOnly:this.isHexOnly,valueHex:Je.Convert.ToHex(this.valueHexView)}}},e.NAME="hexBlock",e}var gn=class{static blockName(){return this.NAME}get valueBeforeDecode(){return this.valueBeforeDecodeView.slice().buffer}set valueBeforeDecode(e){this.valueBeforeDecodeView=new Uint8Array(e);}constructor({blockLength:e=0,error:s=Os,warnings:r=[],valueBeforeDecode:n=_y}={}){this.blockLength=e,this.error=s,this.warnings=r,this.valueBeforeDecodeView=Je.BufferSourceConverter.toUint8Array(n);}toJSON(){return {blockName:this.constructor.NAME,blockLength:this.blockLength,error:this.error,warnings:this.warnings,valueBeforeDecode:Je.Convert.ToHex(this.valueBeforeDecodeView)}}};gn.NAME="baseBlock";var ps=class extends gn{fromBER(e,s,r){throw TypeError("User need to make a specific function in a class which extends 'ValueBlock'")}toBER(e,s){throw TypeError("User need to make a specific function in a class which extends 'ValueBlock'")}};ps.NAME="valueBlock";var gy=class extends Sn(gn){constructor({idBlock:e={}}={}){var s,r,n,i;super(),e?(this.isHexOnly=(s=e.isHexOnly)!==null&&s!==void 0?s:!1,this.valueHexView=e.valueHex?Je.BufferSourceConverter.toUint8Array(e.valueHex):_y,this.tagClass=(r=e.tagClass)!==null&&r!==void 0?r:-1,this.tagNumber=(n=e.tagNumber)!==null&&n!==void 0?n:-1,this.isConstructed=(i=e.isConstructed)!==null&&i!==void 0?i:!1):(this.tagClass=-1,this.tagNumber=-1,this.isConstructed=!1);}toBER(e=!1){let s=0;switch(this.tagClass){case 1:s|=0;break;case 2:s|=64;break;case 3:s|=128;break;case 4:s|=192;break;default:return this.error="Unknown tag class",_r}if(this.isConstructed&&(s|=32),this.tagNumber<31&&!this.isHexOnly){let n=new Uint8Array(1);if(!e){let i=this.tagNumber;i&=31,s|=i,n[0]=s;}return n.buffer}if(!this.isHexOnly){let n=pr(this.tagNumber,7),i=new Uint8Array(n),a=n.byteLength,o=new Uint8Array(a+1);if(o[0]=s|31,!e){for(let c=0;c<a-1;c++)o[c+1]=i[c]|128;o[a]=i[a-1];}return o.buffer}let r=new Uint8Array(this.valueHexView.byteLength+1);if(r[0]=s|31,!e){let n=this.valueHexView;for(let i=0;i<n.length-1;i++)r[i+1]=n[i]|128;r[this.valueHexView.byteLength]=n[n.length-1];}return r.buffer}fromBER(e,s,r){let n=Je.BufferSourceConverter.toUint8Array(e);if(!bn(this,n,s,r))return -1;let i=n.subarray(s,s+r);if(i.length===0)return this.error="Zero buffer length",-1;switch(i[0]&192){case 0:this.tagClass=1;break;case 64:this.tagClass=2;break;case 128:this.tagClass=3;break;case 192:this.tagClass=4;break;default:return this.error="Unknown tag class",-1}this.isConstructed=(i[0]&32)===32,this.isHexOnly=!1;let o=i[0]&31;if(o!==31)this.tagNumber=o,this.blockLength=1;else {let c=1,u=this.valueHexView=new Uint8Array(255),l=255;for(;i[c]&128;){if(u[c-1]=i[c]&127,c++,c>=i.length)return this.error="End of input reached before message was fully decoded",-1;if(c===l){l+=255;let w=new Uint8Array(l);for(let E=0;E<u.length;E++)w[E]=u[E];u=this.valueHexView=new Uint8Array(l);}}this.blockLength=c+1,u[c-1]=i[c]&127;let p=new Uint8Array(c);for(let w=0;w<c;w++)p[w]=u[w];u=this.valueHexView=new Uint8Array(c),u.set(p),this.blockLength<=9?this.tagNumber=pn(u,7):(this.isHexOnly=!0,this.warnings.push("Tag too long, represented as hex-coded"));}if(this.tagClass===1&&this.isConstructed)switch(this.tagNumber){case 1:case 2:case 5:case 6:case 9:case 13:case 14:case 23:case 24:case 31:case 32:case 33:case 34:return this.error="Constructed encoding used for primitive type",-1}return s+this.blockLength}toJSON(){return {...super.toJSON(),tagClass:this.tagClass,tagNumber:this.tagNumber,isConstructed:this.isConstructed}}};gy.NAME="identificationBlock";var yy=class extends gn{constructor({lenBlock:e={}}={}){var s,r,n;super(),this.isIndefiniteForm=(s=e.isIndefiniteForm)!==null&&s!==void 0?s:!1,this.longFormUsed=(r=e.longFormUsed)!==null&&r!==void 0?r:!1,this.length=(n=e.length)!==null&&n!==void 0?n:0;}fromBER(e,s,r){let n=Je.BufferSourceConverter.toUint8Array(e);if(!bn(this,n,s,r))return -1;let i=n.subarray(s,s+r);if(i.length===0)return this.error="Zero buffer length",-1;if(i[0]===255)return this.error="Length block 0xFF is reserved by standard",-1;if(this.isIndefiniteForm=i[0]===128,this.isIndefiniteForm)return this.blockLength=1,s+this.blockLength;if(this.longFormUsed=!!(i[0]&128),this.longFormUsed===!1)return this.length=i[0],this.blockLength=1,s+this.blockLength;let a=i[0]&127;if(a>8)return this.error="Too big integer",-1;if(a+1>i.length)return this.error="End of input reached before message was fully decoded",-1;let o=s+1,c=n.subarray(o,o+a);return c[a-1]===0&&this.warnings.push("Needlessly long encoded length"),this.length=pn(c,8),this.longFormUsed&&this.length<=127&&this.warnings.push("Unnecessary usage of long length form"),this.blockLength=a+1,s+this.blockLength}toBER(e=!1){let s,r;if(this.length>127&&(this.longFormUsed=!0),this.isIndefiniteForm)return s=new ArrayBuffer(1),e===!1&&(r=new Uint8Array(s),r[0]=128),s;if(this.longFormUsed){let n=pr(this.length,8);if(n.byteLength>127)return this.error="Too big length",_r;if(s=new ArrayBuffer(n.byteLength+1),e)return s;let i=new Uint8Array(n);r=new Uint8Array(s),r[0]=n.byteLength|128;for(let a=0;a<n.byteLength;a++)r[a+1]=i[a];return s}return s=new ArrayBuffer(1),e===!1&&(r=new Uint8Array(s),r[0]=this.length),s}toJSON(){return {...super.toJSON(),isIndefiniteForm:this.isIndefiniteForm,longFormUsed:this.longFormUsed,length:this.length}}};yy.NAME="lengthBlock";var le={},rs=class extends gn{constructor({name:e=Os,optional:s=!1,primitiveSchema:r,...n}={},i){super(n),this.name=e,this.optional=s,r&&(this.primitiveSchema=r),this.idBlock=new gy(n),this.lenBlock=new yy(n),this.valueBlock=i?new i(n):new ps(n);}fromBER(e,s,r){let n=this.valueBlock.fromBER(e,s,this.lenBlock.isIndefiniteForm?r:this.lenBlock.length);return n===-1?(this.error=this.valueBlock.error,n):(this.idBlock.error.length||(this.blockLength+=this.idBlock.blockLength),this.lenBlock.error.length||(this.blockLength+=this.lenBlock.blockLength),this.valueBlock.error.length||(this.blockLength+=this.valueBlock.blockLength),n)}toBER(e,s){let r=s||new Xh;s||WT(this);let n=this.idBlock.toBER(e);if(r.write(n),this.lenBlock.isIndefiniteForm)r.write(new Uint8Array([128]).buffer),this.valueBlock.toBER(e,r),r.write(new ArrayBuffer(2));else {let i=this.valueBlock.toBER(e);this.lenBlock.length=i.byteLength;let a=this.lenBlock.toBER(e);r.write(a),r.write(i);}return s?_r:r.final()}toJSON(){let e={...super.toJSON(),idBlock:this.idBlock.toJSON(),lenBlock:this.lenBlock.toJSON(),valueBlock:this.valueBlock.toJSON(),name:this.name,optional:this.optional};return this.primitiveSchema&&(e.primitiveSchema=this.primitiveSchema.toJSON()),e}toString(e="ascii"){return e==="ascii"?this.onAsciiEncoding():Je.Convert.ToHex(this.toBER())}onAsciiEncoding(){let e=this.constructor.NAME,s=Je.Convert.ToHex(this.valueBlock.valueBeforeDecodeView);return `${e} : ${s}`}isEqual(e){if(this===e)return !0;if(!(e instanceof this.constructor))return !1;let s=this.toBER(),r=e.toBER();return wi(s,r)}};rs.NAME="BaseBlock";function WT(t){var e;if(t instanceof le.Constructed)for(let s of t.valueBlock.value)WT(s)&&(t.lenBlock.isIndefiniteForm=!0);return !!(!((e=t.lenBlock)===null||e===void 0)&&e.isIndefiniteForm)}var wy=class extends rs{getValue(){return this.valueBlock.value}setValue(e){this.valueBlock.value=e;}constructor({value:e=Os,...s}={},r){super(s,r),e&&this.fromString(e);}fromBER(e,s,r){let n=this.valueBlock.fromBER(e,s,this.lenBlock.isIndefiniteForm?r:this.lenBlock.length);return n===-1?(this.error=this.valueBlock.error,n):(this.fromBuffer(this.valueBlock.valueHexView),this.idBlock.error.length||(this.blockLength+=this.idBlock.blockLength),this.lenBlock.error.length||(this.blockLength+=this.lenBlock.blockLength),this.valueBlock.error.length||(this.blockLength+=this.valueBlock.blockLength),n)}onAsciiEncoding(){return `${this.constructor.NAME} : '${this.valueBlock.value}'`}};wy.NAME="BaseStringBlock";var by=class extends Sn(ps){constructor({isHexOnly:e=!0,...s}={}){super(s),this.isHexOnly=e;}};by.NAME="PrimitiveValueBlock";var JT,we=class extends rs{constructor(e={}){super(e,by),this.idBlock.isConstructed=!1;}};JT=we;le.Primitive=JT;we.NAME="PRIMITIVE";function OU(t,e){if(t instanceof e)return t;let s=new e;return s.idBlock=t.idBlock,s.lenBlock=t.lenBlock,s.warnings=t.warnings,s.valueBeforeDecodeView=t.valueBeforeDecodeView,s}function rd(t,e=0,s=t.length){let r=e,n=new rs({},ps),i=new gn;if(!bn(i,t,e,s))return n.error=i.error,{offset:-1,result:n};if(!t.subarray(e,e+s).length)return n.error="Zero buffer length",{offset:-1,result:n};let o=n.idBlock.fromBER(t,e,s);if(n.idBlock.warnings.length&&n.warnings.concat(n.idBlock.warnings),o===-1)return n.error=n.idBlock.error,{offset:-1,result:n};if(e=o,s-=n.idBlock.blockLength,o=n.lenBlock.fromBER(t,e,s),n.lenBlock.warnings.length&&n.warnings.concat(n.lenBlock.warnings),o===-1)return n.error=n.lenBlock.error,{offset:-1,result:n};if(e=o,s-=n.lenBlock.blockLength,!n.idBlock.isConstructed&&n.lenBlock.isIndefiniteForm)return n.error="Indefinite length form used for primitive encoding form",{offset:-1,result:n};let c=rs;switch(n.idBlock.tagClass){case 1:if(n.idBlock.tagNumber>=37&&n.idBlock.isHexOnly===!1)return n.error="UNIVERSAL 37 and upper tags are reserved by ASN.1 standard",{offset:-1,result:n};switch(n.idBlock.tagNumber){case 0:if(n.idBlock.isConstructed&&n.lenBlock.length>0)return n.error="Type [UNIVERSAL 0] is reserved",{offset:-1,result:n};c=le.EndOfContent;break;case 1:c=le.Boolean;break;case 2:c=le.Integer;break;case 3:c=le.BitString;break;case 4:c=le.OctetString;break;case 5:c=le.Null;break;case 6:c=le.ObjectIdentifier;break;case 10:c=le.Enumerated;break;case 12:c=le.Utf8String;break;case 13:c=le.RelativeObjectIdentifier;break;case 14:c=le.TIME;break;case 15:return n.error="[UNIVERSAL 15] is reserved by ASN.1 standard",{offset:-1,result:n};case 16:c=le.Sequence;break;case 17:c=le.Set;break;case 18:c=le.NumericString;break;case 19:c=le.PrintableString;break;case 20:c=le.TeletexString;break;case 21:c=le.VideotexString;break;case 22:c=le.IA5String;break;case 23:c=le.UTCTime;break;case 24:c=le.GeneralizedTime;break;case 25:c=le.GraphicString;break;case 26:c=le.VisibleString;break;case 27:c=le.GeneralString;break;case 28:c=le.UniversalString;break;case 29:c=le.CharacterString;break;case 30:c=le.BmpString;break;case 31:c=le.DATE;break;case 32:c=le.TimeOfDay;break;case 33:c=le.DateTime;break;case 34:c=le.Duration;break;default:{let u=n.idBlock.isConstructed?new le.Constructed:new le.Primitive;u.idBlock=n.idBlock,u.lenBlock=n.lenBlock,u.warnings=n.warnings,n=u;}}break;case 2:case 3:case 4:default:c=n.idBlock.isConstructed?le.Constructed:le.Primitive;}return n=OU(n,c),o=n.fromBER(t,e,n.lenBlock.isIndefiniteForm?s:n.lenBlock.length),n.valueBeforeDecodeView=t.subarray(r,r+n.blockLength),{offset:o,result:n}}function Ot(t){if(!t.byteLength){let e=new rs({},ps);return e.error="Input buffer has zero length",{offset:-1,result:e}}return rd(Je.BufferSourceConverter.toUint8Array(t).slice(),0,t.byteLength)}function RU(t,e){return t?1:e}var Vr=class extends ps{constructor({value:e=[],isIndefiniteForm:s=!1,...r}={}){super(r),this.value=e,this.isIndefiniteForm=s;}fromBER(e,s,r){let n=Je.BufferSourceConverter.toUint8Array(e);if(!bn(this,n,s,r))return -1;if(this.valueBeforeDecodeView=n.subarray(s,s+r),this.valueBeforeDecodeView.length===0)return this.warnings.push("Zero buffer length"),s;let i=s;for(;RU(this.isIndefiniteForm,r)>0;){let a=rd(n,i,r);if(a.offset===-1)return this.error=a.result.error,this.warnings.concat(a.result.warnings),-1;if(i=a.offset,this.blockLength+=a.result.blockLength,r-=a.result.blockLength,this.value.push(a.result),this.isIndefiniteForm&&a.result.constructor.NAME===Qh)break}return this.isIndefiniteForm&&(this.value[this.value.length-1].constructor.NAME===Qh?this.value.pop():this.warnings.push("No EndOfContent block encoded")),i}toBER(e,s){let r=s||new Xh;for(let n=0;n<this.value.length;n++)this.value[n].toBER(e,r);return s?_r:r.final()}toJSON(){let e={...super.toJSON(),isIndefiniteForm:this.isIndefiniteForm,value:[]};for(let s of this.value)e.value.push(s.toJSON());return e}};Vr.NAME="ConstructedValueBlock";var zT,L=class extends rs{constructor(e={}){super(e,Vr),this.idBlock.isConstructed=!0;}fromBER(e,s,r){this.valueBlock.isIndefiniteForm=this.lenBlock.isIndefiniteForm;let n=this.valueBlock.fromBER(e,s,this.lenBlock.isIndefiniteForm?r:this.lenBlock.length);return n===-1?(this.error=this.valueBlock.error,n):(this.idBlock.error.length||(this.blockLength+=this.idBlock.blockLength),this.lenBlock.error.length||(this.blockLength+=this.lenBlock.blockLength),this.valueBlock.error.length||(this.blockLength+=this.valueBlock.blockLength),n)}onAsciiEncoding(){let e=[];for(let r of this.valueBlock.value)e.push(r.toString("ascii").split(`
371
372
  `).map(n=>` ${n}`).join(`
372
- `));let t=this.idBlock.tagClass===3?`[${this.idBlock.tagNumber}]`:this.constructor.NAME;return e.length?`${t} :
373
+ `));let s=this.idBlock.tagClass===3?`[${this.idBlock.tagNumber}]`:this.constructor.NAME;return e.length?`${s} :
373
374
  ${e.join(`
374
- `)}`:`${t} :`}};ek=V;ue.Constructed=ek;V.NAME="CONSTRUCTED";var cy=class extends hs{fromBER(e,t,r){return t}toBER(e){return Rr}};cy.override="EndOfContentValueBlock";var tk,uy=class extends Qt{constructor(e={}){super(e,cy),this.idBlock.tagClass=1,this.idBlock.tagNumber=0;}};tk=uy;ue.EndOfContent=tk;uy.NAME=qf;var sk,ft=class extends Qt{constructor(e={}){super(e,hs),this.idBlock.tagClass=1,this.idBlock.tagNumber=5;}fromBER(e,t,r){return this.lenBlock.length>0&&this.warnings.push("Non-zero length of value block for Null type"),this.idBlock.error.length||(this.blockLength+=this.idBlock.blockLength),this.lenBlock.error.length||(this.blockLength+=this.lenBlock.blockLength),this.blockLength+=r,t+r>e.byteLength?(this.error="End of input reached before message was fully decoded (inconsistent offset and length values)",-1):t+r}toBER(e,t){let r=new ArrayBuffer(2);if(!e){let n=new Uint8Array(r);n[0]=5,n[1]=0;}return t&&t.write(r),r}onAsciiEncoding(){return `${this.constructor.NAME}`}};sk=ft;ue.Null=sk;ft.NAME="NULL";var ly=class extends mn(hs){get value(){for(let e of this.valueHexView)if(e>0)return !0;return !1}set value(e){this.valueHexView[0]=e?255:0;}constructor({value:e,...t}={}){super(t),t.valueHex?this.valueHexView=qe.BufferSourceConverter.toUint8Array(t.valueHex):this.valueHexView=new Uint8Array(1),e&&(this.value=e);}fromBER(e,t,r){let n=qe.BufferSourceConverter.toUint8Array(e);return dn(this,n,t,r)?(this.valueHexView=n.subarray(t,t+r),r>1&&this.warnings.push("Boolean value encoded in more then 1 octet"),this.isHexOnly=!0,H2.call(this),this.blockLength=r,t+r):-1}toBER(){return this.valueHexView.slice()}toJSON(){return {...super.toJSON(),value:this.value}}};ly.NAME="BooleanValueBlock";var rk,_s=class extends Qt{getValue(){return this.valueBlock.value}setValue(e){this.valueBlock.value=e;}constructor(e={}){super(e,ly),this.idBlock.tagClass=1,this.idBlock.tagNumber=1;}onAsciiEncoding(){return `${this.constructor.NAME} : ${this.getValue}`}};rk=_s;ue.Boolean=rk;_s.NAME="BOOLEAN";var hy=class extends mn(Br){constructor({isConstructed:e=!1,...t}={}){super(t),this.isConstructed=e;}fromBER(e,t,r){let n=0;if(this.isConstructed){if(this.isHexOnly=!1,n=Br.prototype.fromBER.call(this,e,t,r),n===-1)return n;for(let i=0;i<this.value.length;i++){let a=this.value[i].constructor.NAME;if(a===qf){if(this.isIndefiniteForm)break;return this.error="EndOfContent is unexpected, OCTET STRING may consists of OCTET STRINGs only",-1}if(a!==YN)return this.error="OCTET STRING may consists of OCTET STRINGs only",-1}}else this.isHexOnly=!0,n=super.fromBER(e,t,r),this.blockLength=r;return n}toBER(e,t){return this.isConstructed?Br.prototype.toBER.call(this,e,t):e?new ArrayBuffer(this.valueHexView.byteLength):this.valueHexView.slice().buffer}toJSON(){return {...super.toJSON(),isConstructed:this.isConstructed}}};hy.NAME="OctetStringValueBlock";var $2,z=class extends Qt{constructor({idBlock:e={},lenBlock:t={},...r}={}){var n,i;(n=r.isConstructed)!==null&&n!==void 0||(r.isConstructed=!!(!((i=r.value)===null||i===void 0)&&i.length)),super({idBlock:{isConstructed:r.isConstructed,...e},lenBlock:{...t,isIndefiniteForm:!!r.isIndefiniteForm},...r},hy),this.idBlock.tagClass=1,this.idBlock.tagNumber=4;}fromBER(e,t,r){if(this.valueBlock.isConstructed=this.idBlock.isConstructed,this.valueBlock.isIndefiniteForm=this.lenBlock.isIndefiniteForm,r===0)return this.idBlock.error.length===0&&(this.blockLength+=this.idBlock.blockLength),this.lenBlock.error.length===0&&(this.blockLength+=this.lenBlock.blockLength),t;if(!this.valueBlock.isConstructed){let i=(e instanceof ArrayBuffer?new Uint8Array(e):e).subarray(t,t+r);try{if(i.byteLength){let a=Wf(i,0,i.byteLength);a.offset!==-1&&a.offset===r&&(this.valueBlock.value=[a.result]);}}catch{}}return super.fromBER(e,t,r)}onAsciiEncoding(){if(this.valueBlock.isConstructed||this.valueBlock.value&&this.valueBlock.value.length)return V.prototype.onAsciiEncoding.call(this);let e=this.constructor.NAME,t=qe.Convert.ToHex(this.valueBlock.valueHexView);return `${e} : ${t}`}getValue(){if(!this.idBlock.isConstructed)return this.valueBlock.valueHexView.slice().buffer;let e=[];for(let t of this.valueBlock.value)t instanceof $2&&e.push(t.valueBlock.valueHexView);return qe.BufferSourceConverter.concat(e)}};$2=z;ue.OctetString=$2;z.NAME=YN;var fy=class extends mn(Br){constructor({unusedBits:e=0,isConstructed:t=!1,...r}={}){super(r),this.unusedBits=e,this.isConstructed=t,this.blockLength=this.valueHexView.byteLength;}fromBER(e,t,r){if(!r)return t;let n=-1;if(this.isConstructed){if(n=Br.prototype.fromBER.call(this,e,t,r),n===-1)return n;for(let o of this.value){let c=o.constructor.NAME;if(c===qf){if(this.isIndefiniteForm)break;return this.error="EndOfContent is unexpected, BIT STRING may consists of BIT STRINGs only",-1}if(c!==ZN)return this.error="BIT STRING may consists of BIT STRINGs only",-1;let u=o.valueBlock;if(this.unusedBits>0&&u.unusedBits>0)return this.error='Using of "unused bits" inside constructive BIT STRING allowed for least one only',-1;this.unusedBits=u.unusedBits;}return n}let i=qe.BufferSourceConverter.toUint8Array(e);if(!dn(this,i,t,r))return -1;let a=i.subarray(t,t+r);if(this.unusedBits=a[0],this.unusedBits>7)return this.error="Unused bits for BitString must be in range 0-7",-1;if(!this.unusedBits){let o=a.subarray(1);try{if(o.byteLength){let c=Wf(o,0,o.byteLength);c.offset!==-1&&c.offset===r-1&&(this.value=[c.result]);}}catch{}}return this.valueHexView=a.subarray(1),this.blockLength=a.length,t+r}toBER(e,t){if(this.isConstructed)return Br.prototype.toBER.call(this,e,t);if(e)return new ArrayBuffer(this.valueHexView.byteLength+1);if(!this.valueHexView.byteLength){let n=new Uint8Array(1);return n[0]=0,n.buffer}let r=new Uint8Array(this.valueHexView.length+1);return r[0]=this.unusedBits,r.set(this.valueHexView,1),r.buffer}toJSON(){return {...super.toJSON(),unusedBits:this.unusedBits,isConstructed:this.isConstructed}}};fy.NAME="BitStringValueBlock";var nk,Ve=class extends Qt{constructor({idBlock:e={},lenBlock:t={},...r}={}){var n,i;(n=r.isConstructed)!==null&&n!==void 0||(r.isConstructed=!!(!((i=r.value)===null||i===void 0)&&i.length)),super({idBlock:{isConstructed:r.isConstructed,...e},lenBlock:{...t,isIndefiniteForm:!!r.isIndefiniteForm},...r},fy),this.idBlock.tagClass=1,this.idBlock.tagNumber=3;}fromBER(e,t,r){return this.valueBlock.isConstructed=this.idBlock.isConstructed,this.valueBlock.isIndefiniteForm=this.lenBlock.isIndefiniteForm,super.fromBER(e,t,r)}onAsciiEncoding(){if(this.valueBlock.isConstructed||this.valueBlock.value&&this.valueBlock.value.length)return V.prototype.onAsciiEncoding.call(this);{let e=[],t=this.valueBlock.valueHexView;for(let a of t)e.push(a.toString(2).padStart(8,"0"));let r=e.join(""),n=this.constructor.NAME,i=r.substring(0,r.length-this.valueBlock.unusedBits);return `${n} : ${i}`}}};nk=Ve;ue.BitString=nk;Ve.NAME=ZN;var ik;function DD(s,e){let t=new Uint8Array([0]),r=new Uint8Array(s),n=new Uint8Array(e),i=r.slice(0),a=i.length-1,o=n.slice(0),c=o.length-1,u=0,l=c<a?a:c,m=0;for(let w=l;w>=0;w--,m++){switch(!0){case m<o.length:u=i[a-m]+o[c-m]+t[0];break;default:u=i[a-m]+t[0];}switch(t[0]=u/10,!0){case m>=i.length:i=ty(new Uint8Array([u%10]),i);break;default:i[a-m]=u%10;}}return t[0]>0&&(i=ty(t,i)),i}function zN(s){if(s>=_f.length)for(let e=_f.length;e<=s;e++){let t=new Uint8Array([0]),r=_f[e-1].slice(0);for(let n=r.length-1;n>=0;n--){let i=new Uint8Array([(r[n]<<1)+t[0]]);t[0]=i[0]/10,r[n]=i[0]%10;}t[0]>0&&(r=ty(t,r)),_f.push(r);}return _f[s]}function UD(s,e){let t=0,r=new Uint8Array(s),n=new Uint8Array(e),i=r.slice(0),a=i.length-1,o=n.slice(0),c=o.length-1,u,l=0;for(let m=c;m>=0;m--,l++)switch(u=i[a-l]-o[c-l]-t,!0){case u<0:t=1,i[a-l]=u+10;break;default:t=0,i[a-l]=u;}if(t>0)for(let m=a-c+1;m>=0;m--,l++)if(u=i[a-l]-t,u<0)t=1,i[a-l]=u+10;else {t=0,i[a-l]=u;break}return i.slice()}var Ff=class extends mn(hs){setValueHex(){this.valueHexView.length>=4?(this.warnings.push("Too big Integer for decoding, hex only"),this.isHexOnly=!0,this._valueDec=0):(this.isHexOnly=!1,this.valueHexView.length>0&&(this._valueDec=H2.call(this)));}constructor({value:e,...t}={}){super(t),this._valueDec=0,t.valueHex&&this.setValueHex(),e!==void 0&&(this.valueDec=e);}set valueDec(e){this._valueDec=e,this.isHexOnly=!1,this.valueHexView=new Uint8Array($N(e));}get valueDec(){return this._valueDec}fromDER(e,t,r,n=0){let i=this.fromBER(e,t,r);if(i===-1)return i;let a=this.valueHexView;return a[0]===0&&a[1]&128?this.valueHexView=a.subarray(1):n!==0&&a.length<n&&(n-a.length>1&&(n=a.length+1),this.valueHexView=a.subarray(n-a.length)),i}toDER(e=!1){let t=this.valueHexView;switch(!0){case(t[0]&128)!==0:{let r=new Uint8Array(this.valueHexView.length+1);r[0]=0,r.set(t,1),this.valueHexView=r;}break;case(t[0]===0&&(t[1]&128)===0):this.valueHexView=this.valueHexView.subarray(1);break}return this.toBER(e)}fromBER(e,t,r){let n=super.fromBER(e,t,r);return n===-1||this.setValueHex(),n}toBER(e){return e?new ArrayBuffer(this.valueHexView.length):this.valueHexView.slice().buffer}toJSON(){return {...super.toJSON(),valueDec:this.valueDec}}toString(){let e=this.valueHexView.length*8-1,t=new Uint8Array(this.valueHexView.length*8/3),r=0,n,i=this.valueHexView,a="",o=!1;for(let c=i.byteLength-1;c>=0;c--){n=i[c];for(let u=0;u<8;u++){if((n&1)===1)switch(r){case e:t=UD(zN(r),t),a="-";break;default:t=DD(t,zN(r));}r++,n>>=1;}}for(let c=0;c<t.length;c++)t[c]&&(o=!0),o&&(a+=WN.charAt(t[c]));return o===!1&&(a+=WN.charAt(0)),a}};ik=Ff;Ff.NAME="IntegerValueBlock";Object.defineProperty(ik.prototype,"valueHex",{set:function(s){this.valueHexView=new Uint8Array(s),this.setValueHex();},get:function(){return this.valueHexView.slice().buffer}});var Mf,L=class extends Qt{constructor(e={}){super(e,Ff),this.idBlock.tagClass=1,this.idBlock.tagNumber=2;}toBigInt(){return ry(),BigInt(this.valueBlock.toString())}static fromBigInt(e){ry();let t=BigInt(e),r=new $f,n=t.toString(16).replace(/^-/,""),i=new Uint8Array(qe.Convert.FromHex(n));if(t<0){let o=new Uint8Array(i.length+(i[0]&128?1:0));o[0]|=128;let u=BigInt(`0x${qe.Convert.ToHex(o)}`)+t,l=qe.BufferSourceConverter.toUint8Array(qe.Convert.FromHex(u.toString(16)));l[0]|=128,r.write(l);}else i[0]&128&&r.write(new Uint8Array([0])),r.write(i);return new Mf({valueHex:r.final()})}convertToDER(){let e=new Mf({valueHex:this.valueBlock.valueHexView});return e.valueBlock.toDER(),e}convertFromDER(){return new Mf({valueHex:this.valueBlock.valueHexView[0]===0?this.valueBlock.valueHexView.subarray(1):this.valueBlock.valueHexView})}onAsciiEncoding(){return `${this.constructor.NAME} : ${this.valueBlock.toString()}`}};Mf=L;ue.Integer=Mf;L.NAME="INTEGER";var ak,Or=class extends L{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=10;}};ak=Or;ue.Enumerated=ak;Or.NAME="ENUMERATED";var Kf=class extends mn(hs){constructor({valueDec:e=-1,isFirstSid:t=!1,...r}={}){super(r),this.valueDec=e,this.isFirstSid=t;}fromBER(e,t,r){if(!r)return t;let n=qe.BufferSourceConverter.toUint8Array(e);if(!dn(this,n,t,r))return -1;let i=n.subarray(t,t+r);this.valueHexView=new Uint8Array(r);for(let o=0;o<r&&(this.valueHexView[o]=i[o]&127,this.blockLength++,!!(i[o]&128));o++);let a=new Uint8Array(this.blockLength);for(let o=0;o<this.blockLength;o++)a[o]=this.valueHexView[o];return this.valueHexView=a,i[this.blockLength-1]&128?(this.error="End of input reached before message was fully decoded",-1):(this.valueHexView[0]===0&&this.warnings.push("Needlessly long format of SID encoding"),this.blockLength<=8?this.valueDec=un(this.valueHexView,7):(this.isHexOnly=!0,this.warnings.push("Too big SID for decoding, hex only")),t+this.blockLength)}set valueBigInt(e){ry();let t=BigInt(e).toString(2);for(;t.length%7;)t="0"+t;let r=new Uint8Array(t.length/7);for(let n=0;n<r.length;n++)r[n]=parseInt(t.slice(n*7,n*7+7),2)+(n+1<r.length?128:0);this.fromBER(r.buffer,0,r.length);}toBER(e){if(this.isHexOnly){if(e)return new ArrayBuffer(this.valueHexView.byteLength);let n=this.valueHexView,i=new Uint8Array(this.blockLength);for(let a=0;a<this.blockLength-1;a++)i[a]=n[a]|128;return i[this.blockLength-1]=n[this.blockLength-1],i.buffer}let t=hr(this.valueDec,7);if(t.byteLength===0)return this.error="Error during encoding SID value",Rr;let r=new Uint8Array(t.byteLength);if(!e){let n=new Uint8Array(t),i=t.byteLength-1;for(let a=0;a<i;a++)r[a]=n[a]|128;r[i]=n[i];}return r}toString(){let e="";if(this.isHexOnly)e=qe.Convert.ToHex(this.valueHexView);else if(this.isFirstSid){let t=this.valueDec;this.valueDec<=39?e="0.":this.valueDec<=79?(e="1.",t-=40):(e="2.",t-=80),e+=t.toString();}else e=this.valueDec.toString();return e}toJSON(){return {...super.toJSON(),valueDec:this.valueDec,isFirstSid:this.isFirstSid}}};Kf.NAME="sidBlock";var dy=class extends hs{constructor({value:e=ks,...t}={}){super(t),this.value=[],e&&this.fromString(e);}fromBER(e,t,r){let n=t;for(;r>0;){let i=new Kf;if(n=i.fromBER(e,n,r),n===-1)return this.blockLength=0,this.error=i.error,n;this.value.length===0&&(i.isFirstSid=!0),this.blockLength+=i.blockLength,r-=i.blockLength,this.value.push(i);}return n}toBER(e){let t=[];for(let r=0;r<this.value.length;r++){let n=this.value[r].toBER(e);if(n.byteLength===0)return this.error=this.value[r].error,Rr;t.push(n);}return M2(t)}fromString(e){this.value=[];let t=0,r=0,n="",i=!1;do if(r=e.indexOf(".",t),r===-1?n=e.substring(t):n=e.substring(t,r),t=r+1,i){let a=this.value[0],o=0;switch(a.valueDec){case 0:break;case 1:o=40;break;case 2:o=80;break;default:this.value=[];return}let c=parseInt(n,10);if(isNaN(c))return;a.valueDec=c+o,i=!1;}else {let a=new Kf;if(n>Number.MAX_SAFE_INTEGER){ry();let o=BigInt(n);a.valueBigInt=o;}else if(a.valueDec=parseInt(n,10),isNaN(a.valueDec))return;this.value.length||(a.isFirstSid=!0,i=!0),this.value.push(a);}while(r!==-1)}toString(){let e="",t=!1;for(let r=0;r<this.value.length;r++){t=this.value[r].isHexOnly;let n=this.value[r].toString();r!==0&&(e=`${e}.`),t?(n=`{${n}}`,this.value[r].isFirstSid?e=`2.{${n} - 80}`:e+=n):e+=n;}return e}toJSON(){let e={...super.toJSON(),value:this.toString(),sidArray:[]};for(let t=0;t<this.value.length;t++)e.sidArray.push(this.value[t].toJSON());return e}};dy.NAME="ObjectIdentifierValueBlock";var ok,ie=class extends Qt{getValue(){return this.valueBlock.toString()}setValue(e){this.valueBlock.fromString(e);}constructor(e={}){super(e,dy),this.idBlock.tagClass=1,this.idBlock.tagNumber=6;}onAsciiEncoding(){return `${this.constructor.NAME} : ${this.valueBlock.toString()||"empty"}`}toJSON(){return {...super.toJSON(),value:this.getValue()}}};ok=ie;ue.ObjectIdentifier=ok;ie.NAME="OBJECT IDENTIFIER";var Gf=class extends mn(ln){constructor({valueDec:e=0,...t}={}){super(t),this.valueDec=e;}fromBER(e,t,r){if(r===0)return t;let n=qe.BufferSourceConverter.toUint8Array(e);if(!dn(this,n,t,r))return -1;let i=n.subarray(t,t+r);this.valueHexView=new Uint8Array(r);for(let o=0;o<r&&(this.valueHexView[o]=i[o]&127,this.blockLength++,!!(i[o]&128));o++);let a=new Uint8Array(this.blockLength);for(let o=0;o<this.blockLength;o++)a[o]=this.valueHexView[o];return this.valueHexView=a,i[this.blockLength-1]&128?(this.error="End of input reached before message was fully decoded",-1):(this.valueHexView[0]===0&&this.warnings.push("Needlessly long format of SID encoding"),this.blockLength<=8?this.valueDec=un(this.valueHexView,7):(this.isHexOnly=!0,this.warnings.push("Too big SID for decoding, hex only")),t+this.blockLength)}toBER(e){if(this.isHexOnly){if(e)return new ArrayBuffer(this.valueHexView.byteLength);let n=this.valueHexView,i=new Uint8Array(this.blockLength);for(let a=0;a<this.blockLength-1;a++)i[a]=n[a]|128;return i[this.blockLength-1]=n[this.blockLength-1],i.buffer}let t=hr(this.valueDec,7);if(t.byteLength===0)return this.error="Error during encoding SID value",Rr;let r=new Uint8Array(t.byteLength);if(!e){let n=new Uint8Array(t),i=t.byteLength-1;for(let a=0;a<i;a++)r[a]=n[a]|128;r[i]=n[i];}return r.buffer}toString(){let e="";return this.isHexOnly?e=qe.Convert.ToHex(this.valueHexView):e=this.valueDec.toString(),e}toJSON(){return {...super.toJSON(),valueDec:this.valueDec}}};Gf.NAME="relativeSidBlock";var my=class extends hs{constructor({value:e=ks,...t}={}){super(t),this.value=[],e&&this.fromString(e);}fromBER(e,t,r){let n=t;for(;r>0;){let i=new Gf;if(n=i.fromBER(e,n,r),n===-1)return this.blockLength=0,this.error=i.error,n;this.blockLength+=i.blockLength,r-=i.blockLength,this.value.push(i);}return n}toBER(e,t){let r=[];for(let n=0;n<this.value.length;n++){let i=this.value[n].toBER(e);if(i.byteLength===0)return this.error=this.value[n].error,Rr;r.push(i);}return M2(r)}fromString(e){this.value=[];let t=0,r=0,n="";do{r=e.indexOf(".",t),r===-1?n=e.substring(t):n=e.substring(t,r),t=r+1;let i=new Gf;if(i.valueDec=parseInt(n,10),isNaN(i.valueDec))return !0;this.value.push(i);}while(r!==-1);return !0}toString(){let e="",t=!1;for(let r=0;r<this.value.length;r++){t=this.value[r].isHexOnly;let n=this.value[r].toString();r!==0&&(e=`${e}.`),t&&(n=`{${n}}`),e+=n;}return e}toJSON(){let e={...super.toJSON(),value:this.toString(),sidArray:[]};for(let t=0;t<this.value.length;t++)e.sidArray.push(this.value[t].toJSON());return e}};my.NAME="RelativeObjectIdentifierValueBlock";var ck,py=class extends Qt{getValue(){return this.valueBlock.toString()}setValue(e){this.valueBlock.fromString(e);}constructor(e={}){super(e,my),this.idBlock.tagClass=1,this.idBlock.tagNumber=13;}onAsciiEncoding(){return `${this.constructor.NAME} : ${this.valueBlock.toString()||"empty"}`}toJSON(){return {...super.toJSON(),value:this.getValue()}}};ck=py;ue.RelativeObjectIdentifier=ck;py.NAME="RelativeObjectIdentifier";var uk,k=class extends V{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=16;}};uk=k;ue.Sequence=uk;k.NAME="SEQUENCE";var lk,dt=class extends V{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=17;}};lk=dt;ue.Set=lk;dt.NAME="SET";var gy=class extends mn(hs){constructor({...e}={}){super(e),this.isHexOnly=!0,this.value=ks;}toJSON(){return {...super.toJSON(),value:this.value}}};gy.NAME="StringValueBlock";var yy=class extends gy{};yy.NAME="SimpleStringValueBlock";var Es=class extends ay{constructor({...e}={}){super(e,yy);}fromBuffer(e){this.valueBlock.value=String.fromCharCode.apply(null,qe.BufferSourceConverter.toUint8Array(e));}fromString(e){let t=e.length,r=this.valueBlock.valueHexView=new Uint8Array(t);for(let n=0;n<t;n++)r[n]=e.charCodeAt(n);this.valueBlock.value=e;}};Es.NAME="SIMPLE STRING";var wy=class extends Es{fromBuffer(e){this.valueBlock.valueHexView=qe.BufferSourceConverter.toUint8Array(e);try{this.valueBlock.value=qe.Convert.ToUtf8String(e);}catch(t){this.warnings.push(`Error during "decodeURIComponent": ${t}, using raw string`),this.valueBlock.value=qe.Convert.ToBinary(e);}}fromString(e){this.valueBlock.valueHexView=new Uint8Array(qe.Convert.FromUtf8String(e)),this.valueBlock.value=e;}};wy.NAME="Utf8StringValueBlock";var hk,Ps=class extends wy{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=12;}};hk=Ps;ue.Utf8String=hk;Ps.NAME="UTF8String";var by=class extends Es{fromBuffer(e){this.valueBlock.value=qe.Convert.ToUtf16String(e),this.valueBlock.valueHexView=qe.BufferSourceConverter.toUint8Array(e);}fromString(e){this.valueBlock.value=e,this.valueBlock.valueHexView=new Uint8Array(qe.Convert.FromUtf16String(e));}};by.NAME="BmpStringValueBlock";var fk,di=class extends by{constructor({...e}={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=30;}};fk=di;ue.BmpString=fk;di.NAME="BMPString";var Sy=class extends Es{fromBuffer(e){let t=ArrayBuffer.isView(e)?e.slice().buffer:e.slice(0),r=new Uint8Array(t);for(let n=0;n<r.length;n+=4)r[n]=r[n+3],r[n+1]=r[n+2],r[n+2]=0,r[n+3]=0;this.valueBlock.value=String.fromCharCode.apply(null,new Uint32Array(t));}fromString(e){let t=e.length,r=this.valueBlock.valueHexView=new Uint8Array(t*4);for(let n=0;n<t;n++){let i=hr(e.charCodeAt(n),8),a=new Uint8Array(i);if(a.length>4)continue;let o=4-a.length;for(let c=a.length-1;c>=0;c--)r[n*4+c+o]=a[c];}this.valueBlock.value=e;}};Sy.NAME="UniversalStringValueBlock";var dk,mi=class extends Sy{constructor({...e}={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=28;}};dk=mi;ue.UniversalString=dk;mi.NAME="UniversalString";var mk,hn=class extends Es{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=18;}};mk=hn;ue.NumericString=mk;hn.NAME="NumericString";var pk,Ts=class extends Es{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=19;}};pk=Ts;ue.PrintableString=pk;Ts.NAME="PrintableString";var gk,pi=class extends Es{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=20;}};gk=pi;ue.TeletexString=gk;pi.NAME="TeletexString";var yk,wu=class extends Es{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=21;}};yk=wu;ue.VideotexString=yk;wu.NAME="VideotexString";var wk,ro=class extends Es{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=22;}};wk=ro;ue.IA5String=wk;ro.NAME="IA5String";var bk,bu=class extends Es{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=25;}};bk=bu;ue.GraphicString=bk;bu.NAME="GraphicString";var Sk,no=class extends Es{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=26;}};Sk=no;ue.VisibleString=Sk;no.NAME="VisibleString";var vk,Su=class extends Es{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=27;}};vk=Su;ue.GeneralString=vk;Su.NAME="GeneralString";var Ek,vu=class extends Es{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=29;}};Ek=vu;ue.CharacterString=Ek;vu.NAME="CharacterString";var xk,fn=class extends no{constructor({value:e,valueDate:t,...r}={}){if(super(r),this.year=0,this.month=0,this.day=0,this.hour=0,this.minute=0,this.second=0,e){this.fromString(e),this.valueBlock.valueHexView=new Uint8Array(e.length);for(let n=0;n<e.length;n++)this.valueBlock.valueHexView[n]=e.charCodeAt(n);}t&&(this.fromDate(t),this.valueBlock.valueHexView=new Uint8Array(this.toBuffer())),this.idBlock.tagClass=1,this.idBlock.tagNumber=23;}fromBuffer(e){this.fromString(String.fromCharCode.apply(null,qe.BufferSourceConverter.toUint8Array(e)));}toBuffer(){let e=this.toString(),t=new ArrayBuffer(e.length),r=new Uint8Array(t);for(let n=0;n<e.length;n++)r[n]=e.charCodeAt(n);return t}fromDate(e){this.year=e.getUTCFullYear(),this.month=e.getUTCMonth()+1,this.day=e.getUTCDate(),this.hour=e.getUTCHours(),this.minute=e.getUTCMinutes(),this.second=e.getUTCSeconds();}toDate(){return new Date(Date.UTC(this.year,this.month-1,this.day,this.hour,this.minute,this.second))}fromString(e){let r=/(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})Z/ig.exec(e);if(r===null){this.error="Wrong input string for conversion";return}let n=parseInt(r[1],10);n>=50?this.year=1900+n:this.year=2e3+n,this.month=parseInt(r[2],10),this.day=parseInt(r[3],10),this.hour=parseInt(r[4],10),this.minute=parseInt(r[5],10),this.second=parseInt(r[6],10);}toString(e="iso"){if(e==="iso"){let t=new Array(7);return t[0]=Ns(this.year<2e3?this.year-1900:this.year-2e3,2),t[1]=Ns(this.month,2),t[2]=Ns(this.day,2),t[3]=Ns(this.hour,2),t[4]=Ns(this.minute,2),t[5]=Ns(this.second,2),t[6]="Z",t.join("")}return super.toString(e)}onAsciiEncoding(){return `${this.constructor.NAME} : ${this.toDate().toISOString()}`}toJSON(){return {...super.toJSON(),year:this.year,month:this.month,day:this.day,hour:this.hour,minute:this.minute,second:this.second}}};xk=fn;ue.UTCTime=xk;fn.NAME="UTCTime";var Ak,nt=class extends fn{constructor(e={}){var t;super(e),(t=this.millisecond)!==null&&t!==void 0||(this.millisecond=0),this.idBlock.tagClass=1,this.idBlock.tagNumber=24;}fromDate(e){super.fromDate(e),this.millisecond=e.getUTCMilliseconds();}toDate(){let e=Date.UTC(this.year,this.month-1,this.day,this.hour,this.minute,this.second,this.millisecond);return new Date(e)}fromString(e){let t=!1,r="",n="",i=0,a,o=0,c=0;if(e[e.length-1]==="Z")r=e.substring(0,e.length-1),t=!0;else {let m=new Number(e[e.length-1]);if(isNaN(m.valueOf()))throw new Error("Wrong input string for conversion");r=e;}if(t){if(r.indexOf("+")!==-1)throw new Error("Wrong input string for conversion");if(r.indexOf("-")!==-1)throw new Error("Wrong input string for conversion")}else {let m=1,w=r.indexOf("+"),E="";if(w===-1&&(w=r.indexOf("-"),m=-1),w!==-1){if(E=r.substring(w+1),r=r.substring(0,w),E.length!==2&&E.length!==4)throw new Error("Wrong input string for conversion");let v=parseInt(E.substring(0,2),10);if(isNaN(v.valueOf()))throw new Error("Wrong input string for conversion");if(o=m*v,E.length===4){if(v=parseInt(E.substring(2,4),10),isNaN(v.valueOf()))throw new Error("Wrong input string for conversion");c=m*v;}}}let u=r.indexOf(".");if(u===-1&&(u=r.indexOf(",")),u!==-1){let m=new Number(`0${r.substring(u)}`);if(isNaN(m.valueOf()))throw new Error("Wrong input string for conversion");i=m.valueOf(),n=r.substring(0,u);}else n=r;switch(!0){case n.length===8:if(a=/(\d{4})(\d{2})(\d{2})/ig,u!==-1)throw new Error("Wrong input string for conversion");break;case n.length===10:if(a=/(\d{4})(\d{2})(\d{2})(\d{2})/ig,u!==-1){let m=60*i;this.minute=Math.floor(m),m=60*(m-this.minute),this.second=Math.floor(m),m=1e3*(m-this.second),this.millisecond=Math.floor(m);}break;case n.length===12:if(a=/(\d{4})(\d{2})(\d{2})(\d{2})(\d{2})/ig,u!==-1){let m=60*i;this.second=Math.floor(m),m=1e3*(m-this.second),this.millisecond=Math.floor(m);}break;case n.length===14:if(a=/(\d{4})(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})/ig,u!==-1){let m=1e3*i;this.millisecond=Math.floor(m);}break;default:throw new Error("Wrong input string for conversion")}let l=a.exec(n);if(l===null)throw new Error("Wrong input string for conversion");for(let m=1;m<l.length;m++)switch(m){case 1:this.year=parseInt(l[m],10);break;case 2:this.month=parseInt(l[m],10);break;case 3:this.day=parseInt(l[m],10);break;case 4:this.hour=parseInt(l[m],10)+o;break;case 5:this.minute=parseInt(l[m],10)+c;break;case 6:this.second=parseInt(l[m],10);break;default:throw new Error("Wrong input string for conversion")}if(t===!1){let m=new Date(this.year,this.month,this.day,this.hour,this.minute,this.second,this.millisecond);this.year=m.getUTCFullYear(),this.month=m.getUTCMonth(),this.day=m.getUTCDay(),this.hour=m.getUTCHours(),this.minute=m.getUTCMinutes(),this.second=m.getUTCSeconds(),this.millisecond=m.getUTCMilliseconds();}}toString(e="iso"){if(e==="iso"){let t=[];return t.push(Ns(this.year,4)),t.push(Ns(this.month,2)),t.push(Ns(this.day,2)),t.push(Ns(this.hour,2)),t.push(Ns(this.minute,2)),t.push(Ns(this.second,2)),this.millisecond!==0&&(t.push("."),t.push(Ns(this.millisecond,3))),t.push("Z"),t.join("")}return super.toString(e)}toJSON(){return {...super.toJSON(),millisecond:this.millisecond}}};Ak=nt;ue.GeneralizedTime=Ak;nt.NAME="GeneralizedTime";var Ik,vy=class extends Ps{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=31;}};Ik=vy;ue.DATE=Ik;vy.NAME="DATE";var Ck,Ey=class extends Ps{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=32;}};Ck=Ey;ue.TimeOfDay=Ck;Ey.NAME="TimeOfDay";var Nk,xy=class extends Ps{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=33;}};Nk=xy;ue.DateTime=Nk;xy.NAME="DateTime";var kk,Ay=class extends Ps{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=34;}};kk=Ay;ue.Duration=kk;Ay.NAME="Duration";var Pk,Iy=class extends Ps{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=14;}};Pk=Iy;ue.TIME=Pk;Iy.NAME="TIME";var be=class{constructor({name:e=ks,optional:t=!1}={}){this.name=e,this.optional=t;}},it=class extends be{constructor({value:e=[],...t}={}){super(t),this.value=e;}},Ae=class extends be{constructor({value:e=new be,local:t=!1,...r}={}){super(r),this.value=e,this.local=t;}},io=class{get data(){return this.dataView.slice().buffer}set data(e){this.dataView=qe.BufferSourceConverter.toUint8Array(e);}constructor({data:e=Cy}={}){this.dataView=qe.BufferSourceConverter.toUint8Array(e);}fromBER(e,t,r){let n=t+r;return this.dataView=qe.BufferSourceConverter.toUint8Array(e).subarray(t,n),n}toBER(e){return this.dataView.slice().buffer}};function K(s,e,t){if(t instanceof it){for(let i of t.value)if(K(s,e,i).verified)return {verified:!0,result:s};{let i={verified:!1,result:{error:"Wrong values for Choice type"}};return t.hasOwnProperty(_2)&&(i.name=t.name),i}}if(t instanceof be)return t.hasOwnProperty(_2)&&(s[t.name]=e),{verified:!0,result:s};if(!(s instanceof Object))return {verified:!1,result:{error:"Wrong root object"}};if(!(e instanceof Object))return {verified:!1,result:{error:"Wrong ASN.1 data"}};if(!(t instanceof Object))return {verified:!1,result:{error:"Wrong ASN.1 schema"}};if(!(CD in t))return {verified:!1,result:{error:"Wrong ASN.1 schema"}};if(!(TD in t.idBlock))return {verified:!1,result:{error:"Wrong ASN.1 schema"}};if(!(BD in t.idBlock))return {verified:!1,result:{error:"Wrong ASN.1 schema"}};let r=t.idBlock.toBER(!1);if(r.byteLength===0)return {verified:!1,result:{error:"Error encoding idBlock for ASN.1 schema"}};if(t.idBlock.fromBER(r,0,r.byteLength)===-1)return {verified:!1,result:{error:"Error decoding idBlock for ASN.1 schema"}};if(t.idBlock.hasOwnProperty(ND)===!1)return {verified:!1,result:{error:"Wrong ASN.1 schema"}};if(t.idBlock.tagClass!==e.idBlock.tagClass)return {verified:!1,result:s};if(t.idBlock.hasOwnProperty(kD)===!1)return {verified:!1,result:{error:"Wrong ASN.1 schema"}};if(t.idBlock.tagNumber!==e.idBlock.tagNumber)return {verified:!1,result:s};if(t.idBlock.hasOwnProperty(PD)===!1)return {verified:!1,result:{error:"Wrong ASN.1 schema"}};if(t.idBlock.isConstructed!==e.idBlock.isConstructed)return {verified:!1,result:s};if(!(ID in t.idBlock))return {verified:!1,result:{error:"Wrong ASN.1 schema"}};if(t.idBlock.isHexOnly!==e.idBlock.isHexOnly)return {verified:!1,result:s};if(t.idBlock.isHexOnly){if(!(JN in t.idBlock))return {verified:!1,result:{error:"Wrong ASN.1 schema"}};let i=t.idBlock.valueHexView,a=e.idBlock.valueHexView;if(i.length!==a.length)return {verified:!1,result:s};for(let o=0;o<i.length;o++)if(i[o]!==a[1])return {verified:!1,result:s}}if(t.name&&(t.name=t.name.replace(/^\s+|\s+$/g,ks),t.name&&(s[t.name]=e)),t instanceof ue.Constructed){let i=0,a={verified:!1,result:{error:"Unknown error"}},o=t.valueBlock.value.length;if(o>0&&t.valueBlock.value[0]instanceof Ae&&(o=e.valueBlock.value.length),o===0)return {verified:!0,result:s};if(e.valueBlock.value.length===0&&t.valueBlock.value.length!==0){let c=!0;for(let u=0;u<t.valueBlock.value.length;u++)c=c&&(t.valueBlock.value[u].optional||!1);return c?{verified:!0,result:s}:(t.name&&(t.name=t.name.replace(/^\s+|\s+$/g,ks),t.name&&delete s[t.name]),s.error="Inconsistent object length",{verified:!1,result:s})}for(let c=0;c<o;c++)if(c-i>=e.valueBlock.value.length){if(t.valueBlock.value[c].optional===!1){let u={verified:!1,result:s};return s.error="Inconsistent length between ASN.1 data and schema",t.name&&(t.name=t.name.replace(/^\s+|\s+$/g,ks),t.name&&(delete s[t.name],u.name=t.name)),u}}else if(t.valueBlock.value[0]instanceof Ae){if(a=K(s,e.valueBlock.value[c],t.valueBlock.value[0].value),a.verified===!1)if(t.valueBlock.value[0].optional)i++;else return t.name&&(t.name=t.name.replace(/^\s+|\s+$/g,ks),t.name&&delete s[t.name]),a;if(_2 in t.valueBlock.value[0]&&t.valueBlock.value[0].name.length>0){let u={};OD in t.valueBlock.value[0]&&t.valueBlock.value[0].local?u=e:u=s,typeof u[t.valueBlock.value[0].name]>"u"&&(u[t.valueBlock.value[0].name]=[]),u[t.valueBlock.value[0].name].push(e.valueBlock.value[c]);}}else if(a=K(s,e.valueBlock.value[c-i],t.valueBlock.value[c]),a.verified===!1)if(t.valueBlock.value[c].optional)i++;else return t.name&&(t.name=t.name.replace(/^\s+|\s+$/g,ks),t.name&&delete s[t.name]),a;if(a.verified===!1){let c={verified:!1,result:s};return t.name&&(t.name=t.name.replace(/^\s+|\s+$/g,ks),t.name&&(delete s[t.name],c.name=t.name)),c}return {verified:!0,result:s}}if(t.primitiveSchema&&JN in e.valueBlock){let i=Wf(e.valueBlock.valueHexView);if(i.offset===-1){let a={verified:!1,result:i.result};return t.name&&(t.name=t.name.replace(/^\s+|\s+$/g,ks),t.name&&(delete s[t.name],a.name=t.name)),a}return K(s,i.result,t.primitiveSchema)}return {verified:!0,result:s}}var Se=mb(Q1()),rh=mb(Q1());d();f();d();f();var es=class s{constructor(e={}){if("view"in e)this.fromUint8Array(e.view);else if("buffer"in e)this.fromArrayBuffer(e.buffer);else if("string"in e)this.fromString(e.string);else if("hexstring"in e)this.fromHexString(e.hexstring);else if("length"in e&&e.length>0){if(this.length=e.length,e.stub)for(let t=0;t<this._view.length;t++)this._view[t]=e.stub;}else this.length=0;}set buffer(e){this._buffer=e,this._view=new Uint8Array(this._buffer);}get buffer(){return this._buffer}set view(e){this._buffer=new ArrayBuffer(e.length),this._view=new Uint8Array(this._buffer),this._view.set(e);}get view(){return this._view}get length(){return this.view.byteLength}set length(e){this._buffer=new ArrayBuffer(e),this._view=new Uint8Array(this._buffer);}clear(){this._buffer=new ArrayBuffer(0),this._view=new Uint8Array(this._buffer);}fromArrayBuffer(e){this._buffer=e,this._view=new Uint8Array(this._buffer);}fromUint8Array(e){this.fromArrayBuffer(new Uint8Array(e).buffer);}fromString(e){let t=e.length;this.length=t;for(let r=0;r<t;r++)this.view[r]=e.charCodeAt(r);}toString(e=0,t=this.view.length-e){let r="";(e>=this.view.length||e<0)&&(e=0),(t>=this.view.length||t<0)&&(t=this.view.length-e);for(let n=e;n<e+t;n++)r+=String.fromCharCode(this.view[n]);return r}fromHexString(e){let t=e.length;this.buffer=new ArrayBuffer(t>>1),this.view=new Uint8Array(this.buffer);let r=new Map;r.set("0",0),r.set("1",1),r.set("2",2),r.set("3",3),r.set("4",4),r.set("5",5),r.set("6",6),r.set("7",7),r.set("8",8),r.set("9",9),r.set("A",10),r.set("a",10),r.set("B",11),r.set("b",11),r.set("C",12),r.set("c",12),r.set("D",13),r.set("d",13),r.set("E",14),r.set("e",14),r.set("F",15),r.set("f",15);let n=0,i=0;for(let a=0;a<t;a++)a%2?(i|=r.get(e.charAt(a)),this.view[n]=i,n++):i=r.get(e.charAt(a))<<4;}toHexString(e=0,t=this.view.length-e){let r="";(e>=this.view.length||e<0)&&(e=0),(t>=this.view.length||t<0)&&(t=this.view.length-e);for(let n=e;n<e+t;n++){let i=this.view[n].toString(16).toUpperCase();r=r+(i.length==1?"0":"")+i;}return r}copy(e=0,t=this.length-e){if(!e&&!this.length)return new s;if(e<0||e>this.length-1)throw new Error(`Wrong start position: ${e}`);return new s({buffer:this._buffer.slice(e,e+t)})}slice(e=0,t=this.length){if(!e&&!this.length)return new s;if(e<0||e>this.length-1)throw new Error(`Wrong start position: ${e}`);return new s({buffer:this._buffer.slice(e,t)})}realloc(e){let t=new ArrayBuffer(e),r=new Uint8Array(t);e>this._view.length?r.set(this._view):r.set(new Uint8Array(this._buffer,0,e)),this._buffer=t,this._view=new Uint8Array(this._buffer);}append(e){let t=this.length,r=e.length,n=e._view.subarray();this.realloc(t+r),this._view.set(n,t);}insert(e,t=0,r=this.length-t){return t>this.length-1?!1:(r>this.length-t&&(r=this.length-t),r>e.length&&(r=e.length),r==e.length?this._view.set(e._view,t):this._view.set(e._view.subarray(0,r),t),!0)}isEqual(e){if(this.length!=e.length)return !1;for(let t=0;t<e.length;t++)if(this.view[t]!=e.view[t])return !1;return !0}isEqualView(e){if(e.length!=this.view.length)return !1;for(let t=0;t<e.length;t++)if(this.view[t]!=e[t])return !1;return !0}findPattern(e,t,r,n){let{start:i,length:a,backward:o}=this.prepareFindParameters(t,r,n),c=e.length;if(c>a)return -1;let u=[];for(let l=0;l<c;l++)u.push(e.view[l]);for(let l=0;l<=a-c;l++){let m=!0,w=o?i-c-l:i+l;for(let E=0;E<c;E++)if(this.view[E+w]!=u[E]){m=!1;break}if(m)return o?i-c-l:i+c+l}return -1}findFirstIn(e,t,r,n){let{start:i,length:a,backward:o}=this.prepareFindParameters(t,r,n),c={id:-1,position:o?0:i+a,length:0};for(let u=0;u<e.length;u++){let l=this.findPattern(e[u],i,a,o);if(l!=-1){let m=!1,w=e[u].length;o?l-w>=c.position-c.length&&(m=!0):l-w<=c.position-c.length&&(m=!0),m&&(c.position=l,c.id=u,c.length=w);}}return c}findAllIn(e,t,r){let{start:n,length:i}=this.prepareFindParameters(t,r),a=[],o={id:-1,position:n};do{let c=o.position;if(o=this.findFirstIn(e,o.position,i),o.id==-1)break;i-=o.position-c,a.push({id:o.id,position:o.position});}while(!0);return a}findAllPatternIn(e,t,r){let{start:n,length:i}=this.prepareFindParameters(t,r),a=[],o=e.length;if(o>i)return -1;let c=Array.from(e.view);for(let u=0;u<=i-o;u++){let l=!0,m=n+u;for(let w=0;w<o;w++)if(this.view[w+m]!=c[w]){l=!1;break}l&&(a.push(n+o+u),u+=o-1);}return a}findFirstNotIn(e,t,r,n){let{start:i,length:a,backward:o}=this.prepareFindParameters(t,r,n),c={left:{id:-1,position:i},right:{id:-1,position:0},value:new s},u=a;for(;u>0;){if(c.right=this.findFirstIn(e,o?i-a+u:i+a-u,u,o),c.right.id==-1){a=u,o?i-=a:i=c.left.position,c.value=new s({buffer:this._buffer.slice(i,i+a)});break}if(c.right.position!=(o?c.left.position-e[c.right.id].length:c.left.position+e[c.right.id].length)){o?(i=c.right.position+e[c.right.id].length,a=c.left.position-c.right.position-e[c.right.id].length):(i=c.left.position,a=c.right.position-c.left.position-e[c.right.id].length),c.value=new s({buffer:this._buffer.slice(i,i+a)});break}c.left=c.right,u-=e[c.right.id].length;}if(o){let l=c.right;c.right=c.left,c.left=l;}return c}findAllNotIn(e,t,r){let{start:n,length:i}=this.prepareFindParameters(t,r),a=[],o={left:{id:-1,position:n},right:{id:-1,position:n},value:new s};do{let c=o.right.position;o=this.findFirstNotIn(e,o.right.position,i),i-=o.right.position-c,a.push({left:{id:o.left.id,position:o.left.position},right:{id:o.right.id,position:o.right.position},value:o.value});}while(o.right.id!=-1);return a}findFirstSequence(e,t,r,n){let{start:i,length:a,backward:o}=this.prepareFindParameters(t,r,n),c=this.skipNotPatterns(e,i,a,o);if(c==-1)return {position:-1,value:new s};let u=this.skipPatterns(e,c,a-(o?i-c:c-i),o);o?(i=u,a=c-u):(i=c,a=u-c);let l=new s({buffer:this._buffer.slice(i,i+a)});return {position:u,value:l}}findAllSequences(e,t,r){let{start:n,length:i}=this.prepareFindParameters(t,r),a=[],o={position:n,value:new s};do{let c=o.position;o=this.findFirstSequence(e,o.position,i),o.position!=-1&&(i-=o.position-c,a.push({position:o.position,value:o.value}));}while(o.position!=-1);return a}findPairedPatterns(e,t,r,n){let i=[];if(e.isEqual(t))return i;let{start:a,length:o}=this.prepareFindParameters(r,n),c=0,u=this.findAllPatternIn(e,a,o);if(!Array.isArray(u)||u.length==0)return i;let l=this.findAllPatternIn(t,a,o);if(!Array.isArray(l)||l.length==0)return i;for(;c<u.length&&l.length!=0;){if(u[0]==l[0]){i.push({left:u[0],right:l[0]}),u.splice(0,1),l.splice(0,1);continue}if(u[c]>l[0])break;for(;u[c]<l[0]&&(c++,!(c>=u.length)););i.push({left:u[c-1],right:l[0]}),u.splice(c-1,1),l.splice(0,1),c=0;}return i.sort((m,w)=>m.left-w.left),i}findPairedArrays(e,t,r,n){let{start:i,length:a}=this.prepareFindParameters(r,n),o=[],c=0,u=this.findAllIn(e,i,a);if(u.length==0)return o;let l=this.findAllIn(t,i,a);if(l.length==0)return o;for(;c<u.length&&l.length!=0;){if(u[0].position==l[0].position){o.push({left:u[0],right:l[0]}),u.splice(0,1),l.splice(0,1);continue}if(u[c].position>l[0].position)break;for(;u[c].position<l[0].position&&(c++,!(c>=u.length)););o.push({left:u[c-1],right:l[0]}),u.splice(c-1,1),l.splice(0,1),c=0;}return o.sort((m,w)=>m.left.position-w.left.position),o}replacePattern(e,t,r,n,i=null){let a=[],o,c={status:-1,searchPatternPositions:[],replacePatternPositions:[]},{start:u,length:l}=this.prepareFindParameters(r,n);if(i==null){if(a=this.findAllIn([e],u,l),a.length==0)return c}else a=i;c.searchPatternPositions.push(...Array.from(a,v=>v.position));let m=e.length-t.length,w=new ArrayBuffer(this.view.length-a.length*m),E=new Uint8Array(w);for(E.set(new Uint8Array(this.buffer,0,u)),o=0;o<a.length;o++){let v=o==0?u:a[o-1].position;E.set(new Uint8Array(this.buffer,v,a[o].position-e.length-v),v-o*m),E.set(t.view,a[o].position-e.length-o*m),c.replacePatternPositions.push(a[o].position-e.length-o*m);}return o--,E.set(new Uint8Array(this.buffer,a[o].position,this.length-a[o].position),a[o].position-e.length+t.length-o*m),this.buffer=w,this.view=new Uint8Array(this.buffer),c.status=1,c}skipPatterns(e,t,r,n){let{start:i,length:a,backward:o}=this.prepareFindParameters(t,r,n),c=i;for(let u=0;u<e.length;u++){let l=e[u].length,m=o?c-l:c,w=!0;for(let E=0;E<l;E++)if(this.view[E+m]!=e[u].view[E]){w=!1;break}if(w){if(u=-1,o){if(c-=l,c<=0)return c}else if(c+=l,c>=i+a)return c}}return c}skipNotPatterns(e,t,r,n){let{start:i,length:a,backward:o}=this.prepareFindParameters(t,r,n),c=-1;for(let u=0;u<a;u++){for(let l=0;l<e.length;l++){let m=e[l].length,w=o?i-u-m:i+u,E=!0;for(let v=0;v<m;v++)if(this.view[v+w]!=e[l].view[v]){E=!1;break}if(E){c=o?i-u:i+u;break}}if(c!=-1)break}return c}prepareFindParameters(e=null,t=null,r=!1){return e===null&&(e=r?this.length:0),e>this.length&&(e=this.length),r?(t===null&&(t=e),t>e&&(t=e)):(t===null&&(t=this.length-e),t>this.length-e&&(t=this.length-e)),{start:e,length:t,backward:r}}};d();f();var jD=16777216,pn=class s{constructor(e={}){this._stream=new es,this._length=0,this._start=0,this.backward=!1,this.appendBlock=0,this.prevLength=0,this.prevStart=0,"view"in e?this.stream=new es({view:e.view}):"buffer"in e?this.stream=new es({buffer:e.buffer}):"string"in e?this.stream=new es({string:e.string}):"hexstring"in e?this.stream=new es({hexstring:e.hexstring}):"stream"in e?this.stream=e.stream.slice():this.stream=new es,"backward"in e&&e.backward&&(this.backward=e.backward,this._start=this.stream.length),"length"in e&&e.length>0&&(this._length=e.length),"start"in e&&e.start&&e.start>0&&(this._start=e.start),"appendBlock"in e&&e.appendBlock&&e.appendBlock>0&&(this.appendBlock=e.appendBlock);}set stream(e){this._stream=e,this.prevLength=this._length,this._length=e.length,this.prevStart=this._start,this._start=0;}get stream(){return this._stream}set length(e){this.prevLength=this._length,this._length=e;}get length(){return this.appendBlock?this.start:this._length}set start(e){e>this.stream.length||(this.prevStart=this._start,this.prevLength=this._length,this._length-=this.backward?this._start-e:e-this._start,this._start=e);}get start(){return this._start}get buffer(){return this._stream.buffer.slice(0,this._length)}resetPosition(){this._start=this.prevStart,this._length=this.prevLength;}findPattern(e,t=null){(t==null||t>this.length)&&(t=this.length);let r=this.stream.findPattern(e,this.start,this.length,this.backward);if(r==-1)return r;if(this.backward){if(r<this.start-e.length-t)return -1}else if(r>this.start+e.length+t)return -1;return this.start=r,r}findFirstIn(e,t=null){(t==null||t>this.length)&&(t=this.length);let r=this.stream.findFirstIn(e,this.start,this.length,this.backward);if(r.id==-1)return r;if(this.backward){if(r.position<this.start-e[r.id].length-t)return {id:-1,position:this.backward?0:this.start+this.length}}else if(r.position>this.start+e[r.id].length+t)return {id:-1,position:this.backward?0:this.start+this.length};return this.start=r.position,r}findAllIn(e){let t=this.backward?this.start-this.length:this.start;return this.stream.findAllIn(e,t,this.length)}findFirstNotIn(e,t=null){(t==null||t>this._length)&&(t=this._length);let r=this._stream.findFirstNotIn(e,this._start,this._length,this.backward);if(r.left.id==-1&&r.right.id==-1)return r;if(this.backward){if(r.right.id!=-1&&r.right.position<this._start-e[r.right.id].length-t)return {left:{id:-1,position:this._start},right:{id:-1,position:0},value:new es}}else if(r.left.id!=-1&&r.left.position>this._start+e[r.left.id].length+t)return {left:{id:-1,position:this._start},right:{id:-1,position:0},value:new es};return this.backward?r.left.id==-1?this.start=0:this.start=r.left.position:r.right.id==-1?this.start=this._start+this._length:this.start=r.right.position,r}findAllNotIn(e){let t=this.backward?this._start-this._length:this._start;return this._stream.findAllNotIn(e,t,this._length)}findFirstSequence(e,t=null,r=null){(t==null||t>this._length)&&(t=this._length),(r==null||r>t)&&(r=t);let n=this._stream.findFirstSequence(e,this._start,t,this.backward);if(n.value.length==0)return n;if(this.backward){if(n.position<this._start-n.value.length-r)return {position:-1,value:new es}}else if(n.position>this._start+n.value.length+r)return {position:-1,value:new es};return this.start=n.position,n}findAllSequences(e){let t=this.backward?this.start-this.length:this.start;return this.stream.findAllSequences(e,t,this.length)}findPairedPatterns(e,t,r=null){(r==null||r>this.length)&&(r=this.length);let n=this.backward?this.start-this.length:this.start,i=this.stream.findPairedPatterns(e,t,n,this.length);if(i.length){if(this.backward){if(i[0].right<this.start-t.length-r)return []}else if(i[0].left>this.start+e.length+r)return []}return i}findPairedArrays(e,t,r=null){(r==null||r>this.length)&&(r=this.length);let n=this.backward?this.start-this.length:this.start,i=this.stream.findPairedArrays(e,t,n,this.length);if(i.length){if(this.backward){if(i[0].right.position<this.start-t[i[0].right.id].length-r)return []}else if(i[0].left.position>this.start+e[i[0].left.id].length+r)return []}return i}replacePattern(e,t){let r=this.backward?this.start-this.length:this.start;return this.stream.replacePattern(e,t,r,this.length)}skipPatterns(e){let t=this.stream.skipPatterns(e,this.start,this.length,this.backward);return this.start=t,t}skipNotPatterns(e){let t=this.stream.skipNotPatterns(e,this.start,this.length,this.backward);return t==-1?-1:(this.start=t,t)}append(e){this.beforeAppend(e.length),this._stream.view.set(e.view,this._start),this._length+=e.length*2,this.start=this._start+e.length,this.prevLength-=e.length*2;}appendView(e){this.beforeAppend(e.length),this._stream.view.set(e,this._start),this._length+=e.length*2,this.start=this._start+e.length,this.prevLength-=e.length*2;}appendChar(e){this.beforeAppend(1),this._stream.view[this._start]=e,this._length+=2,this.start=this._start+1,this.prevLength-=2;}appendUint16(e){this.beforeAppend(2);let t=new Uint16Array([e]),r=new Uint8Array(t.buffer);this.stream.view[this._start]=r[1],this._stream.view[this._start+1]=r[0],this._length+=4,this.start=this._start+2,this.prevLength-=4;}appendUint24(e){this.beforeAppend(3);let t=new Uint32Array([e]),r=new Uint8Array(t.buffer);this._stream.view[this._start]=r[2],this._stream.view[this._start+1]=r[1],this._stream.view[this._start+2]=r[0],this._length+=6,this.start=this._start+3,this.prevLength-=6;}appendUint32(e){this.beforeAppend(4);let t=new Uint32Array([e]),r=new Uint8Array(t.buffer);this._stream.view[this._start]=r[3],this._stream.view[this._start+1]=r[2],this._stream.view[this._start+2]=r[1],this._stream.view[this._start+3]=r[0],this._length+=8,this.start=this._start+4,this.prevLength-=8;}appendInt16(e){this.beforeAppend(2);let t=new Int16Array([e]),r=new Uint8Array(t.buffer);this._stream.view[this._start]=r[1],this._stream.view[this._start+1]=r[0],this._length+=4,this.start=this._start+2,this.prevLength-=4;}appendInt32(e){this.beforeAppend(4);let t=new Int32Array([e]),r=new Uint8Array(t.buffer);this._stream.view[this._start]=r[3],this._stream.view[this._start+1]=r[2],this._stream.view[this._start+2]=r[1],this._stream.view[this._start+3]=r[0],this._length+=8,this.start=this._start+4,this.prevLength-=8;}getBlock(e,t=!0){if(this._length<=0)return new Uint8Array(0);this._length<e&&(e=this._length);let r;if(this.backward){let n=this._stream.view.subarray(this._length-e,this._length);r=new Uint8Array(e);for(let i=0;i<e;i++)r[e-1-i]=n[i];}else r=this._stream.view.subarray(this._start,this._start+e);return t&&(this.start+=this.backward?-1*e:e),r}getUint16(e=!0){let t=this.getBlock(2,e);return t.length<2?0:t[0]<<8|t[1]}getInt16(e=!0){let t=this.getUint16(e),r=32768;return t&r?-(r-(t^r)):t}getUint24(e=!0){let t=this.getBlock(4,e);return t.length<3?0:t[0]<<16|t[1]<<8|t[2]}getUint32(e=!0){let t=this.getBlock(4,e);return t.length<4?0:t[0]*jD+(t[1]<<16)+(t[2]<<8)+t[3]}getInt32(e=!0){let t=this.getUint32(e),r=2147483648;return t&r?-(r-(t^r)):t}beforeAppend(e){this._start+e>this._stream.length&&(e>this.appendBlock&&(this.appendBlock=e+s.APPEND_BLOCK),this._stream.realloc(this._stream.length+this.appendBlock));}};pn.APPEND_BLOCK=1e3;d();f();d();f();d();f();d();f();d();f();d();f();d();f();function _D(s){return s instanceof Uint8Array||s!=null&&typeof s=="object"&&s.constructor.name==="Uint8Array"}function q2(s,...e){if(!_D(s))throw new Error("Uint8Array expected");if(e.length>0&&!e.includes(s.length))throw new Error(`Uint8Array expected of length ${e}, not of length=${s.length}`)}function F2(s,e=!0){if(s.destroyed)throw new Error("Hash instance has been destroyed");if(e&&s.finished)throw new Error("Hash#digest() has already been called")}function Tk(s,e){q2(s);let t=e.outputLen;if(s.length<t)throw new Error(`digestInto() expects output buffer of length at least ${t}`)}d();f();var ky=s=>new DataView(s.buffer,s.byteOffset,s.byteLength),fr=(s,e)=>s<<32-e|s>>>e,Py=(s,e)=>s<<e|s>>>32-e>>>0;new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;function MD(s){if(typeof s!="string")throw new Error(`utf8ToBytes expected string, got ${typeof s}`);return new Uint8Array(new TextEncoder().encode(s))}function K2(s){return typeof s=="string"&&(s=MD(s)),q2(s),s}var Ny=class{clone(){return this._cloneInto()}};function ao(s){let e=r=>s().update(K2(r)).digest(),t=s();return e.outputLen=t.outputLen,e.blockLen=t.blockLen,e.create=()=>s(),e}function $D(s,e,t,r){if(typeof s.setBigUint64=="function")return s.setBigUint64(e,t,r);let n=BigInt(32),i=BigInt(4294967295),a=Number(t>>n&i),o=Number(t&i),c=r?4:0,u=r?0:4;s.setUint32(e+c,a,r),s.setUint32(e+u,o,r);}var Ty=(s,e,t)=>s&e^~s&t,By=(s,e,t)=>s&e^s&t^e&t,gi=class extends Ny{constructor(e,t,r,n){super(),this.blockLen=e,this.outputLen=t,this.padOffset=r,this.isLE=n,this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.buffer=new Uint8Array(e),this.view=ky(this.buffer);}update(e){F2(this);let{view:t,buffer:r,blockLen:n}=this;e=K2(e);let i=e.length;for(let a=0;a<i;){let o=Math.min(n-this.pos,i-a);if(o===n){let c=ky(e);for(;n<=i-a;a+=n)this.process(c,a);continue}r.set(e.subarray(a,a+o),this.pos),this.pos+=o,a+=o,this.pos===n&&(this.process(t,0),this.pos=0);}return this.length+=e.length,this.roundClean(),this}digestInto(e){F2(this),Tk(e,this),this.finished=!0;let{buffer:t,view:r,blockLen:n,isLE:i}=this,{pos:a}=this;t[a++]=128,this.buffer.subarray(a).fill(0),this.padOffset>n-a&&(this.process(r,0),a=0);for(let m=a;m<n;m++)t[m]=0;$D(r,n-8,BigInt(this.length*8),i),this.process(r,0);let o=ky(e),c=this.outputLen;if(c%4)throw new Error("_sha2: outputLen should be aligned to 32bit");let u=c/4,l=this.get();if(u>l.length)throw new Error("_sha2: outputLen bigger than state");for(let m=0;m<u;m++)o.setUint32(4*m,l[m],i);}digest(){let{buffer:e,outputLen:t}=this;this.digestInto(e);let r=e.slice(0,t);return this.destroy(),r}_cloneInto(e){e||(e=new this.constructor),e.set(...this.get());let{blockLen:t,buffer:r,length:n,finished:i,destroyed:a,pos:o}=this;return e.length=n,e.pos=o,e.finished=i,e.destroyed=a,n%t&&e.buffer.set(r),e}};var Jf=new Uint32Array([1732584193,4023233417,2562383102,271733878,3285377520]),yi=new Uint32Array(80),G2=class extends gi{constructor(){super(64,20,8,!1),this.A=Jf[0]|0,this.B=Jf[1]|0,this.C=Jf[2]|0,this.D=Jf[3]|0,this.E=Jf[4]|0;}get(){let{A:e,B:t,C:r,D:n,E:i}=this;return [e,t,r,n,i]}set(e,t,r,n,i){this.A=e|0,this.B=t|0,this.C=r|0,this.D=n|0,this.E=i|0;}process(e,t){for(let c=0;c<16;c++,t+=4)yi[c]=e.getUint32(t,!1);for(let c=16;c<80;c++)yi[c]=Py(yi[c-3]^yi[c-8]^yi[c-14]^yi[c-16],1);let{A:r,B:n,C:i,D:a,E:o}=this;for(let c=0;c<80;c++){let u,l;c<20?(u=Ty(n,i,a),l=1518500249):c<40?(u=n^i^a,l=1859775393):c<60?(u=By(n,i,a),l=2400959708):(u=n^i^a,l=3395469782);let m=Py(r,5)+u+o+l+yi[c]|0;o=a,a=i,i=Py(n,30),n=r,r=m;}r=r+this.A|0,n=n+this.B|0,i=i+this.C|0,a=a+this.D|0,o=o+this.E|0,this.set(r,n,i,a,o);}roundClean(){yi.fill(0);}destroy(){this.set(0,0,0,0,0),this.buffer.fill(0);}},Bk=ao(()=>new G2);d();f();d();f();var qD=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]),wi=new Uint32Array([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),bi=new Uint32Array(64),W2=class extends gi{constructor(){super(64,32,8,!1),this.A=wi[0]|0,this.B=wi[1]|0,this.C=wi[2]|0,this.D=wi[3]|0,this.E=wi[4]|0,this.F=wi[5]|0,this.G=wi[6]|0,this.H=wi[7]|0;}get(){let{A:e,B:t,C:r,D:n,E:i,F:a,G:o,H:c}=this;return [e,t,r,n,i,a,o,c]}set(e,t,r,n,i,a,o,c){this.A=e|0,this.B=t|0,this.C=r|0,this.D=n|0,this.E=i|0,this.F=a|0,this.G=o|0,this.H=c|0;}process(e,t){for(let m=0;m<16;m++,t+=4)bi[m]=e.getUint32(t,!1);for(let m=16;m<64;m++){let w=bi[m-15],E=bi[m-2],v=fr(w,7)^fr(w,18)^w>>>3,A=fr(E,17)^fr(E,19)^E>>>10;bi[m]=A+bi[m-7]+v+bi[m-16]|0;}let{A:r,B:n,C:i,D:a,E:o,F:c,G:u,H:l}=this;for(let m=0;m<64;m++){let w=fr(o,6)^fr(o,11)^fr(o,25),E=l+w+Ty(o,c,u)+qD[m]+bi[m]|0,A=(fr(r,2)^fr(r,13)^fr(r,22))+By(r,n,i)|0;l=u,u=c,c=o,o=a+E|0,a=i,i=n,n=r,r=E+A|0;}r=r+this.A|0,n=n+this.B|0,i=i+this.C|0,a=a+this.D|0,o=o+this.E|0,c=c+this.F|0,u=u+this.G|0,l=l+this.H|0,this.set(r,n,i,a,o,c,u,l);}roundClean(){bi.fill(0);}destroy(){this.set(0,0,0,0,0,0,0,0),this.buffer.fill(0);}};var J2=ao(()=>new W2);d();f();d();f();var Oy=BigInt(4294967295),z2=BigInt(32);function Ok(s,e=!1){return e?{h:Number(s&Oy),l:Number(s>>z2&Oy)}:{h:Number(s>>z2&Oy)|0,l:Number(s&Oy)|0}}function FD(s,e=!1){let t=new Uint32Array(s.length),r=new Uint32Array(s.length);for(let n=0;n<s.length;n++){let{h:i,l:a}=Ok(s[n],e);[t[n],r[n]]=[i,a];}return [t,r]}var KD=(s,e)=>BigInt(s>>>0)<<z2|BigInt(e>>>0),GD=(s,e,t)=>s>>>t,WD=(s,e,t)=>s<<32-t|e>>>t,JD=(s,e,t)=>s>>>t|e<<32-t,zD=(s,e,t)=>s<<32-t|e>>>t,YD=(s,e,t)=>s<<64-t|e>>>t-32,ZD=(s,e,t)=>s>>>t-32|e<<64-t,XD=(s,e)=>e,QD=(s,e)=>s,eU=(s,e,t)=>s<<t|e>>>32-t,tU=(s,e,t)=>e<<t|s>>>32-t,sU=(s,e,t)=>e<<t-32|s>>>64-t,rU=(s,e,t)=>s<<t-32|e>>>64-t;function nU(s,e,t,r){let n=(e>>>0)+(r>>>0);return {h:s+t+(n/2**32|0)|0,l:n|0}}var iU=(s,e,t)=>(s>>>0)+(e>>>0)+(t>>>0),aU=(s,e,t,r)=>e+t+r+(s/2**32|0)|0,oU=(s,e,t,r)=>(s>>>0)+(e>>>0)+(t>>>0)+(r>>>0),cU=(s,e,t,r,n)=>e+t+r+n+(s/2**32|0)|0,uU=(s,e,t,r,n)=>(s>>>0)+(e>>>0)+(t>>>0)+(r>>>0)+(n>>>0),lU=(s,e,t,r,n,i)=>e+t+r+n+i+(s/2**32|0)|0;var hU={fromBig:Ok,split:FD,toBig:KD,shrSH:GD,shrSL:WD,rotrSH:JD,rotrSL:zD,rotrBH:YD,rotrBL:ZD,rotr32H:XD,rotr32L:QD,rotlSH:eU,rotlSL:tU,rotlBH:sU,rotlBL:rU,add:nU,add3L:iU,add3H:aU,add4L:oU,add4H:cU,add5H:lU,add5L:uU},Le=hU;var[fU,dU]=Le.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(s=>BigInt(s))),Si=new Uint32Array(80),vi=new Uint32Array(80),Ry=class extends gi{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:t,Bh:r,Bl:n,Ch:i,Cl:a,Dh:o,Dl:c,Eh:u,El:l,Fh:m,Fl:w,Gh:E,Gl:v,Hh:A,Hl:C}=this;return [e,t,r,n,i,a,o,c,u,l,m,w,E,v,A,C]}set(e,t,r,n,i,a,o,c,u,l,m,w,E,v,A,C){this.Ah=e|0,this.Al=t|0,this.Bh=r|0,this.Bl=n|0,this.Ch=i|0,this.Cl=a|0,this.Dh=o|0,this.Dl=c|0,this.Eh=u|0,this.El=l|0,this.Fh=m|0,this.Fl=w|0,this.Gh=E|0,this.Gl=v|0,this.Hh=A|0,this.Hl=C|0;}process(e,t){for(let T=0;T<16;T++,t+=4)Si[T]=e.getUint32(t),vi[T]=e.getUint32(t+=4);for(let T=16;T<80;T++){let P=Si[T-15]|0,B=vi[T-15]|0,G=Le.rotrSH(P,B,1)^Le.rotrSH(P,B,8)^Le.shrSH(P,B,7),se=Le.rotrSL(P,B,1)^Le.rotrSL(P,B,8)^Le.shrSL(P,B,7),X=Si[T-2]|0,ae=vi[T-2]|0,fe=Le.rotrSH(X,ae,19)^Le.rotrBH(X,ae,61)^Le.shrSH(X,ae,6),te=Le.rotrSL(X,ae,19)^Le.rotrBL(X,ae,61)^Le.shrSL(X,ae,6),oe=Le.add4L(se,te,vi[T-7],vi[T-16]),me=Le.add4H(oe,G,fe,Si[T-7],Si[T-16]);Si[T]=me|0,vi[T]=oe|0;}let{Ah:r,Al:n,Bh:i,Bl:a,Ch:o,Cl:c,Dh:u,Dl:l,Eh:m,El:w,Fh:E,Fl:v,Gh:A,Gl:C,Hh:D,Hl:U}=this;for(let T=0;T<80;T++){let P=Le.rotrSH(m,w,14)^Le.rotrSH(m,w,18)^Le.rotrBH(m,w,41),B=Le.rotrSL(m,w,14)^Le.rotrSL(m,w,18)^Le.rotrBL(m,w,41),G=m&E^~m&A,se=w&v^~w&C,X=Le.add5L(U,B,se,dU[T],vi[T]),ae=Le.add5H(X,D,P,G,fU[T],Si[T]),fe=X|0,te=Le.rotrSH(r,n,28)^Le.rotrBH(r,n,34)^Le.rotrBH(r,n,39),oe=Le.rotrSL(r,n,28)^Le.rotrBL(r,n,34)^Le.rotrBL(r,n,39),me=r&i^r&o^i&o,_e=n&a^n&c^a&c;D=A|0,U=C|0,A=E|0,C=v|0,E=m|0,v=w|0,{h:m,l:w}=Le.add(u|0,l|0,ae|0,fe|0),u=o|0,l=c|0,o=i|0,c=a|0,i=r|0,a=n|0;let J=Le.add3L(fe,oe,_e);r=Le.add3H(J,ae,te,me),n=J|0;}(({h:r,l:n}=Le.add(this.Ah|0,this.Al|0,r|0,n|0))),{h:i,l:a}=Le.add(this.Bh|0,this.Bl|0,i|0,a|0),{h:o,l:c}=Le.add(this.Ch|0,this.Cl|0,o|0,c|0),{h:u,l}=Le.add(this.Dh|0,this.Dl|0,u|0,l|0),{h:m,l:w}=Le.add(this.Eh|0,this.El|0,m|0,w|0),{h:E,l:v}=Le.add(this.Fh|0,this.Fl|0,E|0,v|0),{h:A,l:C}=Le.add(this.Gh|0,this.Gl|0,A|0,C|0),{h:D,l:U}=Le.add(this.Hh|0,this.Hl|0,D|0,U|0),this.set(r,n,i,a,o,c,u,l,m,w,E,v,A,C,D,U);}roundClean(){Si.fill(0),vi.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 Y2=class extends Ry{constructor(){super(),this.Ah=-876896931,this.Al=-1056596264,this.Bh=1654270250,this.Bl=914150663,this.Ch=-1856437926,this.Cl=812702999,this.Dh=355462360,this.Dl=-150054599,this.Eh=1731405415,this.El=-4191439,this.Fh=-1900787065,this.Fl=1750603025,this.Gh=-619958771,this.Gl=1694076839,this.Hh=1203062813,this.Hl=-1090891868,this.outputLen=48;}},Z2=ao(()=>new Ry);var X2=ao(()=>new Y2);var It=new ArrayBuffer(0),b="",et=class s extends TypeError{constructor(){super(...arguments),this.name=s.NAME;}static isType(e,t){if(typeof t=="string"){if(t==="Array"&&Array.isArray(e))return !0;if(t==="ArrayBuffer"&&e instanceof ArrayBuffer)return !0;if(t==="ArrayBufferView"&&ArrayBuffer.isView(e))return !0;if(typeof e===t)return !0}else if(e instanceof t)return !0;return !1}static assert(e,t,...r){for(let i of r)if(this.isType(e,i))return;let n=r.map(i=>i instanceof Function&&"name"in i?i.name:`${i}`);throw new s(`Parameter '${t}' is not of type ${n.length>1?`(${n.join(" or ")})`:n[0]}`)}};et.NAME="ArgumentError";var Je=class s extends TypeError{static assert(...e){let t=null,r,n;typeof e[0]=="string"?(t=e[0],r=e[1],n=e.slice(2)):(r=e[0],n=e.slice(1)),et.assert(r,"parameters","object");for(let i of n){let a=r[i];if(a==null)throw new s(i,t)}}static assertEmpty(e,t,r){if(e==null)throw new s(t,r)}constructor(e,t=null,r){super(),this.name=s.NAME,this.field=e,t&&(this.target=t),r?this.message=r:this.message=`Absent mandatory parameter '${e}' ${t?` in '${t}'`:b}`;}};Je.NAME="ParameterError";var _=class s extends Error{static assertSchema(e,t){if(!e.verified)throw new Error(`Object's schema was not verified against input data for ${t}`)}static assert(e,t){if(e.offset===-1)throw new s(`Error during parsing of ASN.1 data. Data is not correct for '${t}'.`)}constructor(e){super(e),this.name="AsnError";}},q=class{static blockName(){return this.CLASS_NAME}static fromBER(e){let t=kt(e);_.assert(t,this.name);try{return new this({schema:t.result})}catch{throw new _(`Cannot create '${this.CLASS_NAME}' from ASN.1 object`)}}static defaultValues(e){throw new Error(`Invalid member name for ${this.CLASS_NAME} class: ${e}`)}static schema(e={}){throw new Error(`Method '${this.CLASS_NAME}.schema' should be overridden`)}get className(){return this.constructor.CLASS_NAME}toString(e="hex"){let t;try{t=this.toSchema();}catch{t=this.toSchema(!0);}return Se.Convert.ToString(t.toBER(),e)}};q.CLASS_NAME="PkiObject";function oa(s){let e=!1,t=b,r=s.trim();for(let n=0;n<r.length;n++)r.charCodeAt(n)===32?e===!1&&(e=!0):(e&&(t+=" ",e=!1),t+=r[n]);return t.toLowerCase()}var zf="type",Q2="value",n0=class s extends q{constructor(e={}){super(),this.type=y(e,zf,s.defaultValues(zf)),this.value=y(e,Q2,s.defaultValues(Q2)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case zf:return b;case Q2:return {};default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||b,value:[new ie({name:t.type||b}),new be({name:t.value||b})]})}fromSchema(e){W(e,[zf,"typeValue"]);let t=K(e,e,s.schema({names:{type:zf,value:"typeValue"}}));_.assertSchema(t,this.className),this.type=t.result.type.valueBlock.toString(),this.value=t.result.typeValue;}toSchema(){return new k({value:[new ie({value:this.type}),this.value]})}toJSON(){let e={type:this.type};return Object.keys(this.value).length!==0?e.value=this.value.toJSON():e.value=this.value,e}isEqual(e){let t=[Ps.blockName(),di.blockName(),mi.blockName(),hn.blockName(),Ts.blockName(),pi.blockName(),wu.blockName(),ro.blockName(),bu.blockName(),no.blockName(),Su.blockName(),vu.blockName()];if(e instanceof ArrayBuffer)return Se.BufferSourceConverter.isEqual(this.value.valueBeforeDecodeView,e);if(e.constructor.blockName()===s.blockName()){if(this.type!==e.type)return !1;let r=[!1,!1],n=this.value.constructor.blockName();for(let a of t)n===a&&(r[0]=!0),e.value.constructor.blockName()===a&&(r[1]=!0);if(r[0]!==r[1])return !1;if(r[0]&&r[1]){let a=oa(this.value.valueBlock.value),o=oa(e.value.valueBlock.value);if(a.localeCompare(o)!==0)return !1}else if(!Se.BufferSourceConverter.isEqual(this.value.valueBeforeDecodeView,e.value.valueBeforeDecodeView))return !1;return !0}return !1}};n0.CLASS_NAME="AttributeTypeAndValue";var oo="typesAndValues",Vy="valueBeforeDecode",Rk="RDN",at=class s extends q{constructor(e={}){super(),this.typesAndValues=y(e,oo,s.defaultValues(oo)),this.valueBeforeDecode=y(e,Vy,s.defaultValues(Vy)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case oo:return [];case Vy:return It;default:return super.defaultValues(e)}}static compareWithDefault(e,t){switch(e){case oo:return t.length===0;case Vy:return t.byteLength===0;default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||b,value:[new Ae({name:t.repeatedSequence||b,value:new dt({value:[new Ae({name:t.repeatedSet||b,value:n0.schema(t.typeAndValue||{})})]})})]})}fromSchema(e){W(e,[Rk,oo]);let t=K(e,e,s.schema({names:{blockName:Rk,repeatedSet:oo}}));_.assertSchema(t,this.className),oo in t.result&&(this.typesAndValues=Array.from(t.result.typesAndValues,r=>new n0({schema:r}))),this.valueBeforeDecode=t.result.RDN.valueBeforeDecodeView.slice().buffer;}toSchema(){if(this.valueBeforeDecode.byteLength===0)return new k({value:[new dt({value:Array.from(this.typesAndValues,t=>t.toSchema())})]});let e=kt(this.valueBeforeDecode);if(_.assert(e,"RelativeDistinguishedNames"),!(e.result instanceof k))throw new Error("ASN.1 result should be SEQUENCE");return e.result}toJSON(){return {typesAndValues:Array.from(this.typesAndValues,e=>e.toJSON())}}isEqual(e){if(e instanceof s){if(this.typesAndValues.length!==e.typesAndValues.length)return !1;for(let[t,r]of this.typesAndValues.entries())if(r.isEqual(e.typesAndValues[t])===!1)return !1;return !0}return e instanceof ArrayBuffer?fi(this.valueBeforeDecode,e):!1}};at.CLASS_NAME="RelativeDistinguishedNames";var cd="type",ud="value";function mU(s={},e=!1){let t=y(s,"names",{});return new k({optional:e,value:[new V({optional:!0,idBlock:{tagClass:2,tagNumber:1},name:t.country_name||b,value:[new it({value:[new hn,new Ts]})]}),new V({optional:!0,idBlock:{tagClass:2,tagNumber:2},name:t.administration_domain_name||b,value:[new it({value:[new hn,new Ts]})]}),new ge({optional:!0,idBlock:{tagClass:3,tagNumber:0},name:t.network_address||b,isHexOnly:!0}),new ge({optional:!0,idBlock:{tagClass:3,tagNumber:1},name:t.terminal_identifier||b,isHexOnly:!0}),new V({optional:!0,idBlock:{tagClass:3,tagNumber:2},name:t.private_domain_name||b,value:[new it({value:[new hn,new Ts]})]}),new ge({optional:!0,idBlock:{tagClass:3,tagNumber:3},name:t.organization_name||b,isHexOnly:!0}),new ge({optional:!0,name:t.numeric_user_identifier||b,idBlock:{tagClass:3,tagNumber:4},isHexOnly:!0}),new V({optional:!0,name:t.personal_name||b,idBlock:{tagClass:3,tagNumber:5},value:[new ge({idBlock:{tagClass:3,tagNumber:0},isHexOnly:!0}),new ge({optional:!0,idBlock:{tagClass:3,tagNumber:1},isHexOnly:!0}),new ge({optional:!0,idBlock:{tagClass:3,tagNumber:2},isHexOnly:!0}),new ge({optional:!0,idBlock:{tagClass:3,tagNumber:3},isHexOnly:!0})]}),new V({optional:!0,name:t.organizational_unit_names||b,idBlock:{tagClass:3,tagNumber:6},value:[new Ae({value:new Ts})]})]})}function pU(s=!1){return new k({optional:s,value:[new Ts,new Ts]})}function gU(s=!1){return new dt({optional:s,value:[new ge({optional:!0,idBlock:{tagClass:3,tagNumber:0},isHexOnly:!0}),new V({optional:!0,idBlock:{tagClass:3,tagNumber:1},value:[new be]})]})}var tt=class s extends q{constructor(e={}){super(),this.type=y(e,cd,s.defaultValues(cd)),this.value=y(e,ud,s.defaultValues(ud)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case cd:return 9;case ud:return {};default:return super.defaultValues(e)}}static compareWithDefault(e,t){switch(e){case cd:return t===s.defaultValues(e);case ud:return Object.keys(t).length===0;default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new it({value:[new V({idBlock:{tagClass:3,tagNumber:0},name:t.blockName||b,value:[new ie,new V({idBlock:{tagClass:3,tagNumber:0},value:[new be]})]}),new ge({name:t.blockName||b,idBlock:{tagClass:3,tagNumber:1}}),new ge({name:t.blockName||b,idBlock:{tagClass:3,tagNumber:2}}),new V({idBlock:{tagClass:3,tagNumber:3},name:t.blockName||b,value:[mU(t.builtInStandardAttributes||{},!1),pU(!0),gU(!0)]}),new V({idBlock:{tagClass:3,tagNumber:4},name:t.blockName||b,value:[at.schema(t.directoryName||{})]}),new V({idBlock:{tagClass:3,tagNumber:5},name:t.blockName||b,value:[new V({optional:!0,idBlock:{tagClass:3,tagNumber:0},value:[new it({value:[new pi,new Ts,new mi,new Ps,new di]})]}),new V({idBlock:{tagClass:3,tagNumber:1},value:[new it({value:[new pi,new Ts,new mi,new Ps,new di]})]})]}),new ge({name:t.blockName||b,idBlock:{tagClass:3,tagNumber:6}}),new ge({name:t.blockName||b,idBlock:{tagClass:3,tagNumber:7}}),new ge({name:t.blockName||b,idBlock:{tagClass:3,tagNumber:8}})]})}fromSchema(e){W(e,["blockName","otherName","rfc822Name","dNSName","x400Address","directoryName","ediPartyName","uniformResourceIdentifier","iPAddress","registeredID"]);let t=K(e,e,s.schema({names:{blockName:"blockName",otherName:"otherName",rfc822Name:"rfc822Name",dNSName:"dNSName",x400Address:"x400Address",directoryName:{names:{blockName:"directoryName"}},ediPartyName:"ediPartyName",uniformResourceIdentifier:"uniformResourceIdentifier",iPAddress:"iPAddress",registeredID:"registeredID"}}));switch(_.assertSchema(t,this.className),this.type=t.result.blockName.idBlock.tagNumber,this.type){case 0:this.value=t.result.blockName;break;case 1:case 2:case 6:{let r=t.result.blockName;r.idBlock.tagClass=1,r.idBlock.tagNumber=22;let n=r.toBER(!1),i=kt(n);_.assert(i,"GeneralName value"),this.value=i.result.valueBlock.value;}break;case 3:this.value=t.result.blockName;break;case 4:this.value=new at({schema:t.result.directoryName});break;case 5:this.value=t.result.ediPartyName;break;case 7:this.value=new z({valueHex:t.result.blockName.valueBlock.valueHex});break;case 8:{let r=t.result.blockName;r.idBlock.tagClass=1,r.idBlock.tagNumber=6;let n=r.toBER(!1),i=kt(n);_.assert(i,"GeneralName registeredID"),this.value=i.result.valueBlock.toString();}break}}toSchema(){switch(this.type){case 0:case 3:case 5:return new V({idBlock:{tagClass:3,tagNumber:this.type},value:[this.value]});case 1:case 2:case 6:{let e=new ro({value:this.value});return e.idBlock.tagClass=3,e.idBlock.tagNumber=this.type,e}case 4:return new V({idBlock:{tagClass:3,tagNumber:4},value:[this.value.toSchema()]});case 7:{let e=this.value;return e.idBlock.tagClass=3,e.idBlock.tagNumber=this.type,e}case 8:{let e=new ie({value:this.value});return e.idBlock.tagClass=3,e.idBlock.tagNumber=this.type,e}default:return s.schema()}}toJSON(){let e={type:this.type,value:b};if(typeof this.value=="string")e.value=this.value;else try{e.value=this.value.toJSON();}catch{}return e}};tt.CLASS_NAME="GeneralName";var ld="accessMethod",hd="accessLocation",yU=[ld,hd],i0=class s extends q{constructor(e={}){super(),this.accessMethod=y(e,ld,s.defaultValues(ld)),this.accessLocation=y(e,hd,s.defaultValues(hd)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case ld:return b;case hd:return new tt;default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||b,value:[new ie({name:t.accessMethod||b}),tt.schema(t.accessLocation||{})]})}fromSchema(e){W(e,yU);let t=K(e,e,s.schema({names:{accessMethod:ld,accessLocation:{names:{blockName:hd}}}}));_.assertSchema(t,this.className),this.accessMethod=t.result.accessMethod.valueBlock.toString(),this.accessLocation=new tt({schema:t.result.accessLocation});}toSchema(){return new k({value:[new ie({value:this.accessMethod}),this.accessLocation.toSchema()]})}toJSON(){return {accessMethod:this.accessMethod,accessLocation:this.accessLocation.toJSON()}}};i0.CLASS_NAME="AccessDescription";var xi="seconds",Ai="millis",Ii="micros",Pn=class s extends q{constructor(e={}){super(),xi in e&&(this.seconds=y(e,xi,s.defaultValues(xi))),Ai in e&&(this.millis=y(e,Ai,s.defaultValues(Ai))),Ii in e&&(this.micros=y(e,Ii,s.defaultValues(Ii))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case xi:case Ai:case Ii:return 0;default:return super.defaultValues(e)}}static compareWithDefault(e,t){switch(e){case xi:case Ai:case Ii:return t===s.defaultValues(e);default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||b,optional:!0,value:[new L({optional:!0,name:t.seconds||b}),new ge({name:t.millis||b,optional:!0,idBlock:{tagClass:3,tagNumber:0}}),new ge({name:t.micros||b,optional:!0,idBlock:{tagClass:3,tagNumber:1}})]})}fromSchema(e){W(e,[xi,Ai,Ii]);let t=K(e,e,s.schema({names:{seconds:xi,millis:Ai,micros:Ii}}));if(_.assertSchema(t,this.className),"seconds"in t.result&&(this.seconds=t.result.seconds.valueBlock.valueDec),"millis"in t.result){let r=new L({valueHex:t.result.millis.valueBlock.valueHex});this.millis=r.valueBlock.valueDec;}if("micros"in t.result){let r=new L({valueHex:t.result.micros.valueBlock.valueHex});this.micros=r.valueBlock.valueDec;}}toSchema(){let e=[];if(this.seconds!==void 0&&e.push(new L({value:this.seconds})),this.millis!==void 0){let t=new L({value:this.millis});e.push(new ge({idBlock:{tagClass:3,tagNumber:0},valueHex:t.valueBlock.valueHexView}));}if(this.micros!==void 0){let t=new L({value:this.micros});e.push(new ge({idBlock:{tagClass:3,tagNumber:1},valueHex:t.valueBlock.valueHexView}));}return new k({value:e})}toJSON(){let e={};return this.seconds!==void 0&&(e.seconds=this.seconds),this.millis!==void 0&&(e.millis=this.millis),this.micros!==void 0&&(e.micros=this.micros),e}};Pn.CLASS_NAME="Accuracy";var Dy="algorithmId",Yf="algorithmParams",nP="algorithm",kA="params",wU=[nP,kA],j=class s extends q{constructor(e={}){super(),this.algorithmId=y(e,Dy,s.defaultValues(Dy)),Yf in e&&(this.algorithmParams=y(e,Yf,s.defaultValues(Yf))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Dy:return b;case Yf:return new be;default:return super.defaultValues(e)}}static compareWithDefault(e,t){switch(e){case Dy:return t===b;case Yf:return t instanceof be;default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||b,optional:t.optional||!1,value:[new ie({name:t.algorithmIdentifier||b}),new be({name:t.algorithmParams||b,optional:!0})]})}fromSchema(e){W(e,wU);let t=K(e,e,s.schema({names:{algorithmIdentifier:nP,algorithmParams:kA}}));_.assertSchema(t,this.className),this.algorithmId=t.result.algorithm.valueBlock.toString(),kA in t.result&&(this.algorithmParams=t.result.params);}toSchema(){let e=[];return e.push(new ie({value:this.algorithmId})),this.algorithmParams&&!(this.algorithmParams instanceof be)&&e.push(this.algorithmParams),new k({value:e})}toJSON(){let e={algorithmId:this.algorithmId};return this.algorithmParams&&!(this.algorithmParams instanceof be)&&(e.algorithmParams=this.algorithmParams.toJSON()),e}isEqual(e){return !(e instanceof s)||this.algorithmId!==e.algorithmId?!1:this.algorithmParams?e.algorithmParams?JSON.stringify(this.algorithmParams)===JSON.stringify(e.algorithmParams):!1:!e.algorithmParams}};j.CLASS_NAME="AlgorithmIdentifier";var Pu="altNames",bU=[Pu],a0=class s extends q{constructor(e={}){super(),this.altNames=y(e,Pu,s.defaultValues(Pu)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Pu:return [];default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||b,value:[new Ae({name:t.altNames||b,value:tt.schema()})]})}fromSchema(e){W(e,bU);let t=K(e,e,s.schema({names:{altNames:Pu}}));_.assertSchema(t,this.className),Pu in t.result&&(this.altNames=Array.from(t.result.altNames,r=>new tt({schema:r})));}toSchema(){return new k({value:Array.from(this.altNames,e=>e.toSchema())})}toJSON(){return {altNames:Array.from(this.altNames,e=>e.toJSON())}}};a0.CLASS_NAME="AltName";var Tu="type",Bu="values",SU=[Tu,Bu],yt=class s extends q{constructor(e={}){super(),this.type=y(e,Tu,s.defaultValues(Tu)),this.values=y(e,Bu,s.defaultValues(Bu)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Tu:return b;case Bu:return [];default:return super.defaultValues(e)}}static compareWithDefault(e,t){switch(e){case Tu:return t===b;case Bu:return t.length===0;default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||b,value:[new ie({name:t.type||b}),new dt({name:t.setName||b,value:[new Ae({name:t.values||b,value:new be})]})]})}fromSchema(e){W(e,SU);let t=K(e,e,s.schema({names:{type:Tu,values:Bu}}));_.assertSchema(t,this.className),this.type=t.result.type.valueBlock.toString(),this.values=t.result.values;}toSchema(){return new k({value:[new ie({value:this.type}),new dt({value:this.values})]})}toJSON(){return {type:this.type,values:Array.from(this.values,e=>e.toJSON())}}};yt.CLASS_NAME="Attribute";var fd="notBeforeTime",dd="notAfterTime",vU=[fd,dd],Vn=class s extends q{constructor(e={}){super(),this.notBeforeTime=y(e,fd,s.defaultValues(fd)),this.notAfterTime=y(e,dd,s.defaultValues(dd)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case fd:case dd:return new Date(0,0,0);default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||b,value:[new nt({name:t.notBeforeTime||b}),new nt({name:t.notAfterTime||b})]})}fromSchema(e){W(e,vU);let t=K(e,e,s.schema({names:{notBeforeTime:fd,notAfterTime:dd}}));_.assertSchema(t,this.className),this.notBeforeTime=t.result.notBeforeTime.toDate(),this.notAfterTime=t.result.notAfterTime.toDate();}toSchema(){return new k({value:[new nt({valueDate:this.notBeforeTime}),new nt({valueDate:this.notAfterTime})]})}toJSON(){return {notBeforeTime:this.notBeforeTime,notAfterTime:this.notAfterTime}}};Vn.CLASS_NAME="AttCertValidityPeriod";var Zf="names",Vk="generalNames",Lt=class s extends q{constructor(e={}){super(),this.names=y(e,Zf,s.defaultValues(Zf)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case"names":return [];default:return super.defaultValues(e)}}static schema(e={},t=!1){let r=y(e,Zf,{});return new k({optional:t,name:r.blockName||b,value:[new Ae({name:r.generalNames||b,value:tt.schema()})]})}fromSchema(e){W(e,[Zf,Vk]);let t=K(e,e,s.schema({names:{blockName:Zf,generalNames:Vk}}));_.assertSchema(t,this.className),this.names=Array.from(t.result.generalNames,r=>new tt({schema:r}));}toSchema(){return new k({value:Array.from(this.names,e=>e.toSchema())})}toJSON(){return {names:Array.from(this.names,e=>e.toJSON())}}};Lt.CLASS_NAME="GeneralNames";var EU="2.5.29.9",xU="2.5.29.14",AU="2.5.29.15",IU="2.5.29.16",iP="2.5.29.17",aP="2.5.29.18",oI="2.5.29.19",CU="2.5.29.20",NU="2.5.29.27",kU="2.5.29.21",PU="2.5.29.24",oP="2.5.29.28",cP="2.5.29.29",uP="2.5.29.30",lP="2.5.29.31",cI="2.5.29.46",hP="2.5.29.32",Gs="2.5.29.32.0",TU="1.3.6.1.4.1.311.21.10",fP="2.5.29.33",uI="2.5.29.35",dP="2.5.29.36",BU="2.5.29.37",OU="2.5.29.54",lI="1.3.6.1.5.5.7.1.1",RU="1.3.6.1.5.5.7.1.11",VU="1.3.6.1.4.1.11129.2.4.2";var DU="1.3.6.1.4.1.311.21.7",UU="1.3.6.1.4.1.311.21.1",LU="1.3.6.1.5.5.7.1.3",hI="1.2.840.113549.1.7.1",mP="1.2.840.113549.1.7.2",pP="1.2.840.113549.1.7.3",gP="1.2.840.113549.1.7.6",jU="1.2.840.113549.1.9.16.1.4",Dk="1.2.840.113549.1.9.22.1",HU="1.2.840.113549.1.9.22.2",Uk="1.2.840.113549.1.9.22.3",Lk="1.2.840.113549.1.9.23.1",_U="1.3.6.1.5.5.7",fI=`${_U}.48`,aw=`${fI}.1.1`;var ho="keyIdentifier",fo="authorityCertIssuer",mo="authorityCertSerialNumber",MU=[ho,fo,mo],o0=class s extends q{constructor(e={}){super(),ho in e&&(this.keyIdentifier=y(e,ho,s.defaultValues(ho))),fo in e&&(this.authorityCertIssuer=y(e,fo,s.defaultValues(fo))),mo in e&&(this.authorityCertSerialNumber=y(e,mo,s.defaultValues(mo))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case ho:return new z;case fo:return [];case mo:return new L;default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||b,value:[new ge({name:t.keyIdentifier||b,optional:!0,idBlock:{tagClass:3,tagNumber:0}}),new V({optional:!0,idBlock:{tagClass:3,tagNumber:1},value:[new Ae({name:t.authorityCertIssuer||b,value:tt.schema()})]}),new ge({name:t.authorityCertSerialNumber||b,optional:!0,idBlock:{tagClass:3,tagNumber:2}})]})}fromSchema(e){W(e,MU);let t=K(e,e,s.schema({names:{keyIdentifier:ho,authorityCertIssuer:fo,authorityCertSerialNumber:mo}}));_.assertSchema(t,this.className),ho in t.result&&(this.keyIdentifier=new z({valueHex:t.result.keyIdentifier.valueBlock.valueHex})),fo in t.result&&(this.authorityCertIssuer=Array.from(t.result.authorityCertIssuer,r=>new tt({schema:r}))),mo in t.result&&(this.authorityCertSerialNumber=new L({valueHex:t.result.authorityCertSerialNumber.valueBlock.valueHex}));}toSchema(){let e=[];return this.keyIdentifier&&e.push(new ge({idBlock:{tagClass:3,tagNumber:0},valueHex:this.keyIdentifier.valueBlock.valueHexView})),this.authorityCertIssuer&&e.push(new V({idBlock:{tagClass:3,tagNumber:1},value:Array.from(this.authorityCertIssuer,t=>t.toSchema())})),this.authorityCertSerialNumber&&e.push(new ge({idBlock:{tagClass:3,tagNumber:2},valueHex:this.authorityCertSerialNumber.valueBlock.valueHexView})),new k({value:e})}toJSON(){let e={};return this.keyIdentifier&&(e.keyIdentifier=this.keyIdentifier.toJSON()),this.authorityCertIssuer&&(e.authorityCertIssuer=Array.from(this.authorityCertIssuer,t=>t.toJSON())),this.authorityCertSerialNumber&&(e.authorityCertSerialNumber=this.authorityCertSerialNumber.toJSON()),e}};o0.CLASS_NAME="AuthorityKeyIdentifier";var co="pathLenConstraint",uo="cA",c0=class s extends q{constructor(e={}){super(),this.cA=y(e,uo,!1),co in e&&(this.pathLenConstraint=y(e,co,0)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case uo:return !1;default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||b,value:[new _s({optional:!0,name:t.cA||b}),new L({optional:!0,name:t.pathLenConstraint||b})]})}fromSchema(e){W(e,[uo,co]);let t=K(e,e,s.schema({names:{cA:uo,pathLenConstraint:co}}));_.assertSchema(t,this.className),uo in t.result&&(this.cA=t.result.cA.valueBlock.value),co in t.result&&(t.result.pathLenConstraint.valueBlock.isHexOnly?this.pathLenConstraint=t.result.pathLenConstraint:this.pathLenConstraint=t.result.pathLenConstraint.valueBlock.valueDec);}toSchema(){let e=[];return this.cA!==s.defaultValues(uo)&&e.push(new _s({value:this.cA})),co in this&&(this.pathLenConstraint instanceof L?e.push(this.pathLenConstraint):e.push(new L({value:this.pathLenConstraint}))),new k({value:e})}toJSON(){let e={};return this.cA!==s.defaultValues(uo)&&(e.cA=this.cA),co in this&&(this.pathLenConstraint instanceof L?e.pathLenConstraint=this.pathLenConstraint.toJSON():e.pathLenConstraint=this.pathLenConstraint),e}};c0.CLASS_NAME="BasicConstraints";var eA="certificateIndex",tA="keyIndex",Lw=class s extends q{constructor(e={}){super(),this.certificateIndex=y(e,eA,s.defaultValues(eA)),this.keyIndex=y(e,tA,s.defaultValues(tA)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case eA:case tA:return 0;default:return super.defaultValues(e)}}static schema(){return new L}fromSchema(e){if(e.constructor.blockName()!==L.blockName())throw new Error("Object's schema was not verified against input data for CAVersion");let t=e.valueBlock.valueHex.slice(0),r=new Uint8Array(t);switch(!0){case t.byteLength<4:{let m=new ArrayBuffer(4);new Uint8Array(m).set(r,4-t.byteLength),t=m.slice(0);}break;case t.byteLength>4:{let m=new ArrayBuffer(4);new Uint8Array(m).set(r.slice(0,4)),t=m.slice(0);}break}let n=t.slice(0,2),i=new Uint8Array(n),a=i[0];i[0]=i[1],i[1]=a;let o=new Uint16Array(n);this.keyIndex=o[0];let c=t.slice(2),u=new Uint8Array(c);a=u[0],u[0]=u[1],u[1]=a;let l=new Uint16Array(c);this.certificateIndex=l[0];}toSchema(){let e=new ArrayBuffer(2),t=new Uint16Array(e);t[0]=this.certificateIndex;let r=new Uint8Array(e),n=r[0];r[0]=r[1],r[1]=n;let i=new ArrayBuffer(2),a=new Uint16Array(i);a[0]=this.keyIndex;let o=new Uint8Array(i);return n=o[0],o[0]=o[1],o[1]=n,new L({valueHex:to(i,e)})}toJSON(){return {certificateIndex:this.certificateIndex,keyIndex:this.keyIndex}}};Lw.CLASS_NAME="CAVersion";var md="policyQualifierId",pd="qualifier",$U=[md,pd],u0=class s extends q{constructor(e={}){super(),this.policyQualifierId=y(e,md,s.defaultValues(md)),this.qualifier=y(e,pd,s.defaultValues(pd)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case md:return b;case pd:return new be;default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||b,value:[new ie({name:t.policyQualifierId||b}),new be({name:t.qualifier||b})]})}fromSchema(e){W(e,$U);let t=K(e,e,s.schema({names:{policyQualifierId:md,qualifier:pd}}));_.assertSchema(t,this.className),this.policyQualifierId=t.result.policyQualifierId.valueBlock.toString(),this.qualifier=t.result.qualifier;}toSchema(){return new k({value:[new ie({value:this.policyQualifierId}),this.qualifier]})}toJSON(){return {policyQualifierId:this.policyQualifierId,qualifier:this.qualifier.toJSON()}}};u0.CLASS_NAME="PolicyQualifierInfo";var gd="policyIdentifier",po="policyQualifiers",qU=[gd,po],l0=class s extends q{constructor(e={}){super(),this.policyIdentifier=y(e,gd,s.defaultValues(gd)),po in e&&(this.policyQualifiers=y(e,po,s.defaultValues(po))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case gd:return b;case po:return [];default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||b,value:[new ie({name:t.policyIdentifier||b}),new k({optional:!0,value:[new Ae({name:t.policyQualifiers||b,value:u0.schema()})]})]})}fromSchema(e){W(e,qU);let t=K(e,e,s.schema({names:{policyIdentifier:gd,policyQualifiers:po}}));_.assertSchema(t,this.className),this.policyIdentifier=t.result.policyIdentifier.valueBlock.toString(),po in t.result&&(this.policyQualifiers=Array.from(t.result.policyQualifiers,r=>new u0({schema:r})));}toSchema(){let e=[];return e.push(new ie({value:this.policyIdentifier})),this.policyQualifiers&&e.push(new k({value:Array.from(this.policyQualifiers,t=>t.toSchema())})),new k({value:e})}toJSON(){let e={policyIdentifier:this.policyIdentifier};return this.policyQualifiers&&(e.policyQualifiers=Array.from(this.policyQualifiers,t=>t.toJSON())),e}};l0.CLASS_NAME="PolicyInformation";var yd="certificatePolicies",FU=[yd],h0=class s extends q{constructor(e={}){super(),this.certificatePolicies=y(e,yd,s.defaultValues(yd)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case yd:return [];default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||b,value:[new Ae({name:t.certificatePolicies||b,value:l0.schema()})]})}fromSchema(e){W(e,FU);let t=K(e,e,s.schema({names:{certificatePolicies:yd}}));_.assertSchema(t,this.className),this.certificatePolicies=Array.from(t.result.certificatePolicies,r=>new l0({schema:r}));}toSchema(){return new k({value:Array.from(this.certificatePolicies,e=>e.toSchema())})}toJSON(){return {certificatePolicies:Array.from(this.certificatePolicies,e=>e.toJSON())}}};h0.CLASS_NAME="CertificatePolicies";var wd="templateID",yn="templateMajorVersion",wn="templateMinorVersion",KU=[wd,yn,wn],PA=class s extends q{constructor(e={}){super(),this.templateID=y(e,wd,s.defaultValues(wd)),yn in e&&(this.templateMajorVersion=y(e,yn,s.defaultValues(yn))),wn in e&&(this.templateMinorVersion=y(e,wn,s.defaultValues(wn))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case wd:return b;case yn:case wn:return 0;default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||b,value:[new ie({name:t.templateID||b}),new L({name:t.templateMajorVersion||b,optional:!0}),new L({name:t.templateMinorVersion||b,optional:!0})]})}fromSchema(e){W(e,KU);let t=K(e,e,s.schema({names:{templateID:wd,templateMajorVersion:yn,templateMinorVersion:wn}}));_.assertSchema(t,this.className),this.templateID=t.result.templateID.valueBlock.toString(),yn in t.result&&(this.templateMajorVersion=t.result.templateMajorVersion.valueBlock.valueDec),wn in t.result&&(this.templateMinorVersion=t.result.templateMinorVersion.valueBlock.valueDec);}toSchema(){let e=[];return e.push(new ie({value:this.templateID})),yn in this&&e.push(new L({value:this.templateMajorVersion})),wn in this&&e.push(new L({value:this.templateMinorVersion})),new k({value:e})}toJSON(){let e={templateID:this.templateID};return yn in this&&(e.templateMajorVersion=this.templateMajorVersion),wn in this&&(e.templateMinorVersion=this.templateMinorVersion),e}},go="distributionPoint",yP="distributionPointNames",yo="reasons",wo="cRLIssuer",wP="cRLIssuerNames",GU=[go,yP,yo,wo,wP],f0=class s extends q{constructor(e={}){super(),go in e&&(this.distributionPoint=y(e,go,s.defaultValues(go))),yo in e&&(this.reasons=y(e,yo,s.defaultValues(yo))),wo in e&&(this.cRLIssuer=y(e,wo,s.defaultValues(wo))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case go:return [];case yo:return new Ve;case wo:return [];default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||b,value:[new V({optional:!0,idBlock:{tagClass:3,tagNumber:0},value:[new it({value:[new V({name:t.distributionPoint||b,optional:!0,idBlock:{tagClass:3,tagNumber:0},value:[new Ae({name:t.distributionPointNames||b,value:tt.schema()})]}),new V({name:t.distributionPoint||b,optional:!0,idBlock:{tagClass:3,tagNumber:1},value:at.schema().valueBlock.value})]})]}),new ge({name:t.reasons||b,optional:!0,idBlock:{tagClass:3,tagNumber:1}}),new V({name:t.cRLIssuer||b,optional:!0,idBlock:{tagClass:3,tagNumber:2},value:[new Ae({name:t.cRLIssuerNames||b,value:tt.schema()})]})]})}fromSchema(e){W(e,GU);let t=K(e,e,s.schema({names:{distributionPoint:go,distributionPointNames:yP,reasons:yo,cRLIssuer:wo,cRLIssuerNames:wP}}));_.assertSchema(t,this.className),go in t.result&&(t.result.distributionPoint.idBlock.tagNumber===0&&(this.distributionPoint=Array.from(t.result.distributionPointNames,r=>new tt({schema:r}))),t.result.distributionPoint.idBlock.tagNumber===1&&(this.distributionPoint=new at({schema:new k({value:t.result.distributionPoint.valueBlock.value})}))),yo in t.result&&(this.reasons=new Ve({valueHex:t.result.reasons.valueBlock.valueHex})),wo in t.result&&(this.cRLIssuer=Array.from(t.result.cRLIssuerNames,r=>new tt({schema:r})));}toSchema(){let e=[];if(this.distributionPoint){let t;this.distributionPoint instanceof Array?t=new V({idBlock:{tagClass:3,tagNumber:0},value:Array.from(this.distributionPoint,r=>r.toSchema())}):t=new V({idBlock:{tagClass:3,tagNumber:1},value:[this.distributionPoint.toSchema()]}),e.push(new V({idBlock:{tagClass:3,tagNumber:0},value:[t]}));}return this.reasons&&e.push(new ge({idBlock:{tagClass:3,tagNumber:1},valueHex:this.reasons.valueBlock.valueHexView})),this.cRLIssuer&&e.push(new V({idBlock:{tagClass:3,tagNumber:2},value:Array.from(this.cRLIssuer,t=>t.toSchema())})),new k({value:e})}toJSON(){let e={};return this.distributionPoint&&(this.distributionPoint instanceof Array?e.distributionPoint=Array.from(this.distributionPoint,t=>t.toJSON()):e.distributionPoint=this.distributionPoint.toJSON()),this.reasons&&(e.reasons=this.reasons.toJSON()),this.cRLIssuer&&(e.cRLIssuer=Array.from(this.cRLIssuer,t=>t.toJSON())),e}};f0.CLASS_NAME="DistributionPoint";var bd="distributionPoints",WU=[bd],d0=class s extends q{constructor(e={}){super(),this.distributionPoints=y(e,bd,s.defaultValues(bd)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case bd:return [];default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||b,value:[new Ae({name:t.distributionPoints||b,value:f0.schema()})]})}fromSchema(e){W(e,WU);let t=K(e,e,s.schema({names:{distributionPoints:bd}}));_.assertSchema(t,this.className),this.distributionPoints=Array.from(t.result.distributionPoints,r=>new f0({schema:r}));}toSchema(){return new k({value:Array.from(this.distributionPoints,e=>e.toSchema())})}toJSON(){return {distributionPoints:Array.from(this.distributionPoints,e=>e.toJSON())}}};d0.CLASS_NAME="CRLDistributionPoints";var Sd="keyPurposes",JU=[Sd],jw=class s extends q{constructor(e={}){super(),this.keyPurposes=y(e,Sd,s.defaultValues(Sd)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Sd:return [];default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||b,value:[new Ae({name:t.keyPurposes||b,value:new ie})]})}fromSchema(e){W(e,JU);let t=K(e,e,s.schema({names:{keyPurposes:Sd}}));_.assertSchema(t,this.className),this.keyPurposes=Array.from(t.result.keyPurposes,r=>r.valueBlock.toString());}toSchema(){return new k({value:Array.from(this.keyPurposes,e=>new ie({value:e}))})}toJSON(){return {keyPurposes:Array.from(this.keyPurposes)}}};jw.CLASS_NAME="ExtKeyUsage";var Xf="accessDescriptions",m0=class s extends q{constructor(e={}){super(),this.accessDescriptions=y(e,Xf,s.defaultValues(Xf)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Xf:return [];default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||b,value:[new Ae({name:t.accessDescriptions||b,value:i0.schema()})]})}fromSchema(e){W(e,[Xf]);let t=K(e,e,s.schema({names:{accessDescriptions:Xf}}));_.assertSchema(t,this.className),this.accessDescriptions=Array.from(t.result.accessDescriptions,r=>new i0({schema:r}));}toSchema(){return new k({value:Array.from(this.accessDescriptions,e=>e.toSchema())})}toJSON(){return {accessDescriptions:Array.from(this.accessDescriptions,e=>e.toJSON())}}};m0.CLASS_NAME="InfoAccess";var bo="distributionPoint",bP="distributionPointNames",Ci="onlyContainsUserCerts",Ni="onlyContainsCACerts",ki="onlySomeReasons",Pi="indirectCRL",Ti="onlyContainsAttributeCerts",zU=[bo,bP,Ci,Ni,ki,Pi,Ti],Hw=class s extends q{constructor(e={}){super(),bo in e&&(this.distributionPoint=y(e,bo,s.defaultValues(bo))),this.onlyContainsUserCerts=y(e,Ci,s.defaultValues(Ci)),this.onlyContainsCACerts=y(e,Ni,s.defaultValues(Ni)),ki in e&&(this.onlySomeReasons=y(e,ki,s.defaultValues(ki))),this.indirectCRL=y(e,Pi,s.defaultValues(Pi)),this.onlyContainsAttributeCerts=y(e,Ti,s.defaultValues(Ti)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case bo:return [];case Ci:return !1;case Ni:return !1;case ki:return 0;case Pi:return !1;case Ti:return !1;default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||b,value:[new V({optional:!0,idBlock:{tagClass:3,tagNumber:0},value:[new it({value:[new V({name:t.distributionPoint||b,idBlock:{tagClass:3,tagNumber:0},value:[new Ae({name:t.distributionPointNames||b,value:tt.schema()})]}),new V({name:t.distributionPoint||b,idBlock:{tagClass:3,tagNumber:1},value:at.schema().valueBlock.value})]})]}),new ge({name:t.onlyContainsUserCerts||b,optional:!0,idBlock:{tagClass:3,tagNumber:1}}),new ge({name:t.onlyContainsCACerts||b,optional:!0,idBlock:{tagClass:3,tagNumber:2}}),new ge({name:t.onlySomeReasons||b,optional:!0,idBlock:{tagClass:3,tagNumber:3}}),new ge({name:t.indirectCRL||b,optional:!0,idBlock:{tagClass:3,tagNumber:4}}),new ge({name:t.onlyContainsAttributeCerts||b,optional:!0,idBlock:{tagClass:3,tagNumber:5}})]})}fromSchema(e){W(e,zU);let t=K(e,e,s.schema({names:{distributionPoint:bo,distributionPointNames:bP,onlyContainsUserCerts:Ci,onlyContainsCACerts:Ni,onlySomeReasons:ki,indirectCRL:Pi,onlyContainsAttributeCerts:Ti}}));if(_.assertSchema(t,this.className),bo in t.result)switch(!0){case t.result.distributionPoint.idBlock.tagNumber===0:this.distributionPoint=Array.from(t.result.distributionPointNames,r=>new tt({schema:r}));break;case t.result.distributionPoint.idBlock.tagNumber===1:this.distributionPoint=new at({schema:new k({value:t.result.distributionPoint.valueBlock.value})});break;default:throw new Error("Unknown tagNumber for distributionPoint: {$asn1.result.distributionPoint.idBlock.tagNumber}")}if(Ci in t.result){let r=new Uint8Array(t.result.onlyContainsUserCerts.valueBlock.valueHex);this.onlyContainsUserCerts=r[0]!==0;}if(Ni in t.result){let r=new Uint8Array(t.result.onlyContainsCACerts.valueBlock.valueHex);this.onlyContainsCACerts=r[0]!==0;}if(ki in t.result){let r=new Uint8Array(t.result.onlySomeReasons.valueBlock.valueHex);this.onlySomeReasons=r[0];}if(Pi in t.result){let r=new Uint8Array(t.result.indirectCRL.valueBlock.valueHex);this.indirectCRL=r[0]!==0;}if(Ti in t.result){let r=new Uint8Array(t.result.onlyContainsAttributeCerts.valueBlock.valueHex);this.onlyContainsAttributeCerts=r[0]!==0;}}toSchema(){let e=[];if(this.distributionPoint){let t;this.distributionPoint instanceof Array?t=new V({idBlock:{tagClass:3,tagNumber:0},value:Array.from(this.distributionPoint,r=>r.toSchema())}):(t=this.distributionPoint.toSchema(),t.idBlock.tagClass=3,t.idBlock.tagNumber=1),e.push(new V({idBlock:{tagClass:3,tagNumber:0},value:[t]}));}if(this.onlyContainsUserCerts!==s.defaultValues(Ci)&&e.push(new ge({idBlock:{tagClass:3,tagNumber:1},valueHex:new Uint8Array([255]).buffer})),this.onlyContainsCACerts!==s.defaultValues(Ni)&&e.push(new ge({idBlock:{tagClass:3,tagNumber:2},valueHex:new Uint8Array([255]).buffer})),this.onlySomeReasons!==void 0){let t=new ArrayBuffer(1),r=new Uint8Array(t);r[0]=this.onlySomeReasons,e.push(new ge({idBlock:{tagClass:3,tagNumber:3},valueHex:t}));}return this.indirectCRL!==s.defaultValues(Pi)&&e.push(new ge({idBlock:{tagClass:3,tagNumber:4},valueHex:new Uint8Array([255]).buffer})),this.onlyContainsAttributeCerts!==s.defaultValues(Ti)&&e.push(new ge({idBlock:{tagClass:3,tagNumber:5},valueHex:new Uint8Array([255]).buffer})),new k({value:e})}toJSON(){let e={};return this.distributionPoint&&(this.distributionPoint instanceof Array?e.distributionPoint=Array.from(this.distributionPoint,t=>t.toJSON()):e.distributionPoint=this.distributionPoint.toJSON()),this.onlyContainsUserCerts!==s.defaultValues(Ci)&&(e.onlyContainsUserCerts=this.onlyContainsUserCerts),this.onlyContainsCACerts!==s.defaultValues(Ni)&&(e.onlyContainsCACerts=this.onlyContainsCACerts),ki in this&&(e.onlySomeReasons=this.onlySomeReasons),this.indirectCRL!==s.defaultValues(Pi)&&(e.indirectCRL=this.indirectCRL),this.onlyContainsAttributeCerts!==s.defaultValues(Ti)&&(e.onlyContainsAttributeCerts=this.onlyContainsAttributeCerts),e}};Hw.CLASS_NAME="IssuingDistributionPoint";var vd="base",Ou="minimum",Bi="maximum",YU=[vd,Ou,Bi],pc=class s extends q{constructor(e={}){super(),this.base=y(e,vd,s.defaultValues(vd)),this.minimum=y(e,Ou,s.defaultValues(Ou)),Bi in e&&(this.maximum=y(e,Bi,s.defaultValues(Bi))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case vd:return new tt;case Ou:return 0;case Bi:return 0;default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||b,value:[tt.schema(t.base||{}),new V({optional:!0,idBlock:{tagClass:3,tagNumber:0},value:[new L({name:t.minimum||b})]}),new V({optional:!0,idBlock:{tagClass:3,tagNumber:1},value:[new L({name:t.maximum||b})]})]})}fromSchema(e){W(e,YU);let t=K(e,e,s.schema({names:{base:{names:{blockName:vd}},minimum:Ou,maximum:Bi}}));_.assertSchema(t,this.className),this.base=new tt({schema:t.result.base}),Ou in t.result&&(t.result.minimum.valueBlock.isHexOnly?this.minimum=t.result.minimum:this.minimum=t.result.minimum.valueBlock.valueDec),Bi in t.result&&(t.result.maximum.valueBlock.isHexOnly?this.maximum=t.result.maximum:this.maximum=t.result.maximum.valueBlock.valueDec);}toSchema(){let e=[];if(e.push(this.base.toSchema()),this.minimum!==0){let t=0;this.minimum instanceof L?t=this.minimum:t=new L({value:this.minimum}),e.push(new V({optional:!0,idBlock:{tagClass:3,tagNumber:0},value:[t]}));}if(Bi in this){let t=0;this.maximum instanceof L?t=this.maximum:t=new L({value:this.maximum}),e.push(new V({optional:!0,idBlock:{tagClass:3,tagNumber:1},value:[t]}));}return new k({value:e})}toJSON(){let e={base:this.base.toJSON()};return this.minimum!==0&&(typeof this.minimum=="number"?e.minimum=this.minimum:e.minimum=this.minimum.toJSON()),this.maximum!==void 0&&(typeof this.maximum=="number"?e.maximum=this.maximum:e.maximum=this.maximum.toJSON()),e}};pc.CLASS_NAME="GeneralSubtree";var So="permittedSubtrees",vo="excludedSubtrees",ZU=[So,vo],_w=class s extends q{constructor(e={}){super(),So in e&&(this.permittedSubtrees=y(e,So,s.defaultValues(So))),vo in e&&(this.excludedSubtrees=y(e,vo,s.defaultValues(vo))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case So:case vo:return [];default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||b,value:[new V({optional:!0,idBlock:{tagClass:3,tagNumber:0},value:[new Ae({name:t.permittedSubtrees||b,value:pc.schema()})]}),new V({optional:!0,idBlock:{tagClass:3,tagNumber:1},value:[new Ae({name:t.excludedSubtrees||b,value:pc.schema()})]})]})}fromSchema(e){W(e,ZU);let t=K(e,e,s.schema({names:{permittedSubtrees:So,excludedSubtrees:vo}}));_.assertSchema(t,this.className),So in t.result&&(this.permittedSubtrees=Array.from(t.result.permittedSubtrees,r=>new pc({schema:r}))),vo in t.result&&(this.excludedSubtrees=Array.from(t.result.excludedSubtrees,r=>new pc({schema:r})));}toSchema(){let e=[];return this.permittedSubtrees&&e.push(new V({idBlock:{tagClass:3,tagNumber:0},value:Array.from(this.permittedSubtrees,t=>t.toSchema())})),this.excludedSubtrees&&e.push(new V({idBlock:{tagClass:3,tagNumber:1},value:Array.from(this.excludedSubtrees,t=>t.toSchema())})),new k({value:e})}toJSON(){let e={};return this.permittedSubtrees&&(e.permittedSubtrees=Array.from(this.permittedSubtrees,t=>t.toJSON())),this.excludedSubtrees&&(e.excludedSubtrees=Array.from(this.excludedSubtrees,t=>t.toJSON())),e}};_w.CLASS_NAME="NameConstraints";var bn="requireExplicitPolicy",Sn="inhibitPolicyMapping",XU=[bn,Sn],Mw=class s extends q{constructor(e={}){super(),bn in e&&(this.requireExplicitPolicy=y(e,bn,s.defaultValues(bn))),Sn in e&&(this.inhibitPolicyMapping=y(e,Sn,s.defaultValues(Sn))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case bn:return 0;case Sn:return 0;default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||b,value:[new ge({name:t.requireExplicitPolicy||b,optional:!0,idBlock:{tagClass:3,tagNumber:0}}),new ge({name:t.inhibitPolicyMapping||b,optional:!0,idBlock:{tagClass:3,tagNumber:1}})]})}fromSchema(e){W(e,XU);let t=K(e,e,s.schema({names:{requireExplicitPolicy:bn,inhibitPolicyMapping:Sn}}));if(_.assertSchema(t,this.className),bn in t.result){let r=t.result.requireExplicitPolicy;r.idBlock.tagClass=1,r.idBlock.tagNumber=2;let n=r.toBER(!1),i=kt(n);_.assert(i,"Integer"),this.requireExplicitPolicy=i.result.valueBlock.valueDec;}if(Sn in t.result){let r=t.result.inhibitPolicyMapping;r.idBlock.tagClass=1,r.idBlock.tagNumber=2;let n=r.toBER(!1),i=kt(n);_.assert(i,"Integer"),this.inhibitPolicyMapping=i.result.valueBlock.valueDec;}}toSchema(){let e=[];if(bn in this){let t=new L({value:this.requireExplicitPolicy});t.idBlock.tagClass=3,t.idBlock.tagNumber=0,e.push(t);}if(Sn in this){let t=new L({value:this.inhibitPolicyMapping});t.idBlock.tagClass=3,t.idBlock.tagNumber=1,e.push(t);}return new k({value:e})}toJSON(){let e={};return bn in this&&(e.requireExplicitPolicy=this.requireExplicitPolicy),Sn in this&&(e.inhibitPolicyMapping=this.inhibitPolicyMapping),e}};Mw.CLASS_NAME="PolicyConstraints";var Ed="issuerDomainPolicy",xd="subjectDomainPolicy",QU=[Ed,xd],p0=class s extends q{constructor(e={}){super(),this.issuerDomainPolicy=y(e,Ed,s.defaultValues(Ed)),this.subjectDomainPolicy=y(e,xd,s.defaultValues(xd)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Ed:return b;case xd:return b;default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||b,value:[new ie({name:t.issuerDomainPolicy||b}),new ie({name:t.subjectDomainPolicy||b})]})}fromSchema(e){W(e,QU);let t=K(e,e,s.schema({names:{issuerDomainPolicy:Ed,subjectDomainPolicy:xd}}));_.assertSchema(t,this.className),this.issuerDomainPolicy=t.result.issuerDomainPolicy.valueBlock.toString(),this.subjectDomainPolicy=t.result.subjectDomainPolicy.valueBlock.toString();}toSchema(){return new k({value:[new ie({value:this.issuerDomainPolicy}),new ie({value:this.subjectDomainPolicy})]})}toJSON(){return {issuerDomainPolicy:this.issuerDomainPolicy,subjectDomainPolicy:this.subjectDomainPolicy}}};p0.CLASS_NAME="PolicyMapping";var Ad="mappings",eL=[Ad],$w=class s extends q{constructor(e={}){super(),this.mappings=y(e,Ad,s.defaultValues(Ad)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Ad:return [];default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||b,value:[new Ae({name:t.mappings||b,value:p0.schema()})]})}fromSchema(e){W(e,eL);let t=K(e,e,s.schema({names:{mappings:Ad}}));_.assertSchema(t,this.className),this.mappings=Array.from(t.result.mappings,r=>new p0({schema:r}));}toSchema(){return new k({value:Array.from(this.mappings,e=>e.toSchema())})}toJSON(){return {mappings:Array.from(this.mappings,e=>e.toJSON())}}};$w.CLASS_NAME="PolicyMappings";var Oi="notBefore",Ri="notAfter",tL=[Oi,Ri],qw=class s extends q{constructor(e={}){super(),Oi in e&&(this.notBefore=y(e,Oi,s.defaultValues(Oi))),Ri in e&&(this.notAfter=y(e,Ri,s.defaultValues(Ri))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Oi:return new Date;case Ri:return new Date;default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||b,value:[new ge({name:t.notBefore||b,optional:!0,idBlock:{tagClass:3,tagNumber:0}}),new ge({name:t.notAfter||b,optional:!0,idBlock:{tagClass:3,tagNumber:1}})]})}fromSchema(e){W(e,tL);let t=K(e,e,s.schema({names:{notBefore:Oi,notAfter:Ri}}));if(_.assertSchema(t,this.className),Oi in t.result){let r=new nt;r.fromBuffer(t.result.notBefore.valueBlock.valueHex),this.notBefore=r.toDate();}if(Ri in t.result){let r=new nt({valueHex:t.result.notAfter.valueBlock.valueHex});r.fromBuffer(t.result.notAfter.valueBlock.valueHex),this.notAfter=r.toDate();}}toSchema(){let e=[];return Oi in this&&e.push(new ge({idBlock:{tagClass:3,tagNumber:0},valueHex:new nt({valueDate:this.notBefore}).valueBlock.valueHexView})),Ri in this&&e.push(new ge({idBlock:{tagClass:3,tagNumber:1},valueHex:new nt({valueDate:this.notAfter}).valueBlock.valueHexView})),new k({value:e})}toJSON(){let e={};return this.notBefore&&(e.notBefore=this.notBefore),this.notAfter&&(e.notAfter=this.notAfter),e}};qw.CLASS_NAME="PrivateKeyUsagePeriod";var Ru="id",vn="type",Vu="values",sL=[Ru,vn],rL=[Vu],g0=class s extends q{constructor(e={}){super(),this.id=y(e,Ru,s.defaultValues(Ru)),vn in e&&(this.type=y(e,vn,s.defaultValues(vn))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Ru:return b;case vn:return new ft;default:return super.defaultValues(e)}}static compareWithDefault(e,t){switch(e){case Ru:return t===b;case vn:return t instanceof ft;default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||b,value:[new ie({name:t.id||b}),new be({name:t.type||b,optional:!0})]})}fromSchema(e){W(e,sL);let t=K(e,e,s.schema({names:{id:Ru,type:vn}}));_.assertSchema(t,this.className),this.id=t.result.id.valueBlock.toString(),vn in t.result&&(this.type=t.result.type);}toSchema(){let e=[new ie({value:this.id})];return vn in this&&e.push(this.type),new k({value:e})}toJSON(){let e={id:this.id};return this.type&&(e.type=this.type.toJSON()),e}};g0.CLASS_NAME="QCStatement";var Fw=class s extends q{constructor(e={}){super(),this.values=y(e,Vu,s.defaultValues(Vu)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Vu:return [];default:return super.defaultValues(e)}}static compareWithDefault(e,t){switch(e){case Vu:return t.length===0;default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||b,value:[new Ae({name:t.values||b,value:g0.schema(t.value||{})})]})}fromSchema(e){W(e,rL);let t=K(e,e,s.schema({names:{values:Vu}}));_.assertSchema(t,this.className),this.values=Array.from(t.result.values,r=>new g0({schema:r}));}toSchema(){return new k({value:Array.from(this.values,e=>e.toSchema())})}toJSON(){return {values:Array.from(this.values,e=>e.toJSON())}}};Fw.CLASS_NAME="QCStatements";var Eo,Lr=class{static register(e,t,r){this.namedCurves[e.toLowerCase()]=this.namedCurves[t]={name:e,id:t,size:r};}static find(e){return this.namedCurves[e.toLowerCase()]||null}};Eo=Lr;Lr.namedCurves={};Eo.register("P-256","1.2.840.10045.3.1.7",32),Eo.register("P-384","1.3.132.0.34",48),Eo.register("P-521","1.3.132.0.35",66),Eo.register("brainpoolP256r1","1.3.36.3.3.2.8.1.1.7",32),Eo.register("brainpoolP384r1","1.3.36.3.3.2.8.1.1.11",48),Eo.register("brainpoolP512r1","1.3.36.3.3.2.8.1.1.13",64);var Uy="x",Ly="y",jy="namedCurve",wr=class s extends q{constructor(e={}){super(),this.x=y(e,Uy,s.defaultValues(Uy)),this.y=y(e,Ly,s.defaultValues(Ly)),this.namedCurve=y(e,jy,s.defaultValues(jy)),e.json&&this.fromJSON(e.json),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Uy:case Ly:return It;case jy:return b;default:return super.defaultValues(e)}}static compareWithDefault(e,t){switch(e){case Uy:case Ly:return t instanceof ArrayBuffer&&fi(t,s.defaultValues(e));case jy:return typeof t=="string"&&t===s.defaultValues(e);default:return super.defaultValues(e)}}static schema(){return new io}fromSchema(e){let t=rh.BufferSourceConverter.toUint8Array(e);if(t[0]!==4)throw new Error("Object's schema was not verified against input data for ECPublicKey");let r=Lr.find(this.namedCurve);if(!r)throw new Error(`Incorrect curve OID: ${this.namedCurve}`);let n=r.size;if(t.byteLength!==n*2+1)throw new Error("Object's schema was not verified against input data for ECPublicKey");this.namedCurve=r.name,this.x=t.slice(1,n+1).buffer,this.y=t.slice(1+n,n*2+1).buffer;}toSchema(){return new io({data:to(new Uint8Array([4]).buffer,this.x,this.y)})}toJSON(){let e=Lr.find(this.namedCurve);return {crv:e?e.name:this.namedCurve,x:sy(Hf(this.x),!0,!0,!1),y:sy(Hf(this.y),!0,!0,!1)}}fromJSON(e){Je.assert("json",e,"crv","x","y");let t=0,r=Lr.find(e.crv);r&&(this.namedCurve=r.id,t=r.size);let n=so(yu(e.x,!0));if(n.byteLength<t){this.x=new ArrayBuffer(t);let a=new Uint8Array(this.x),o=new Uint8Array(n);a.set(o,1);}else this.x=n.slice(0,t);let i=so(yu(e.y,!0));if(i.byteLength<t){this.y=new ArrayBuffer(t);let a=new Uint8Array(this.y),o=new Uint8Array(i);a.set(o,1);}else this.y=i.slice(0,t);}};wr.CLASS_NAME="ECPublicKey";var Id="modulus",Cd="publicExponent",nL=[Id,Cd],y0=class s extends q{constructor(e={}){super(),this.modulus=y(e,Id,s.defaultValues(Id)),this.publicExponent=y(e,Cd,s.defaultValues(Cd)),e.json&&this.fromJSON(e.json),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Id:return new L;case Cd:return new L;default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||b,value:[new L({name:t.modulus||b}),new L({name:t.publicExponent||b})]})}fromSchema(e){W(e,nL);let t=K(e,e,s.schema({names:{modulus:Id,publicExponent:Cd}}));_.assertSchema(t,this.className),this.modulus=t.result.modulus.convertFromDER(256),this.publicExponent=t.result.publicExponent;}toSchema(){return new k({value:[this.modulus.convertToDER(),this.publicExponent]})}toJSON(){return {n:Se.Convert.ToBase64Url(this.modulus.valueBlock.valueHexView),e:Se.Convert.ToBase64Url(this.publicExponent.valueBlock.valueHexView)}}fromJSON(e){Je.assert("json",e,"n","e");let t=so(yu(e.n,!0));this.modulus=new L({valueHex:t.slice(0,Math.pow(2,KN(t.byteLength)))}),this.publicExponent=new L({valueHex:so(yu(e.e,!0)).slice(0,3)});}};y0.CLASS_NAME="RSAPublicKey";var Nd="algorithm",kd="subjectPublicKey",iL=[Nd,kd],$s=class s extends q{get parsedKey(){if(this._parsedKey===void 0){switch(this.algorithm.algorithmId){case"1.2.840.10045.2.1":if("algorithmParams"in this.algorithm&&this.algorithm.algorithmParams.constructor.blockName()===ie.blockName())try{this._parsedKey=new wr({namedCurve:this.algorithm.algorithmParams.valueBlock.toString(),schema:this.subjectPublicKey.valueBlock.valueHexView});}catch{}break;case"1.2.840.113549.1.1.1":{let e=kt(this.subjectPublicKey.valueBlock.valueHexView);if(e.offset!==-1)try{this._parsedKey=new y0({schema:e.result});}catch{}}break}this._parsedKey||(this._parsedKey=null);}return this._parsedKey||void 0}set parsedKey(e){this._parsedKey=e;}constructor(e={}){super(),this.algorithm=y(e,Nd,s.defaultValues(Nd)),this.subjectPublicKey=y(e,kd,s.defaultValues(kd));let t=y(e,"parsedKey",null);t&&(this.parsedKey=t),e.json&&this.fromJSON(e.json),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Nd:return new j;case kd:return new Ve;default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||b,value:[j.schema(t.algorithm||{}),new Ve({name:t.subjectPublicKey||b})]})}fromSchema(e){W(e,iL);let t=K(e,e,s.schema({names:{algorithm:{names:{blockName:Nd}},subjectPublicKey:kd}}));_.assertSchema(t,this.className),this.algorithm=new j({schema:t.result.algorithm}),this.subjectPublicKey=t.result.subjectPublicKey;}toSchema(){return new k({value:[this.algorithm.toSchema(),this.subjectPublicKey]})}toJSON(){if(!this.parsedKey)return {algorithm:this.algorithm.toJSON(),subjectPublicKey:this.subjectPublicKey.toJSON()};let e={};switch(this.algorithm.algorithmId){case"1.2.840.10045.2.1":e.kty="EC";break;case"1.2.840.113549.1.1.1":e.kty="RSA";break}let t=this.parsedKey.toJSON();return Object.assign(e,t),e}fromJSON(e){if("kty"in e){switch(e.kty.toUpperCase()){case"EC":this.parsedKey=new wr({json:e}),this.algorithm=new j({algorithmId:"1.2.840.10045.2.1",algorithmParams:new ie({value:this.parsedKey.namedCurve})});break;case"RSA":this.parsedKey=new y0({json:e}),this.algorithm=new j({algorithmId:"1.2.840.113549.1.1.1",algorithmParams:new ft});break;default:throw new Error(`Invalid value for "kty" parameter: ${e.kty}`)}this.subjectPublicKey=new Ve({valueHex:this.parsedKey.toSchema().toBER(!1)});}}async importKey(e,t=Oe(!0)){try{if(!e)throw new Error("Need to provide publicKey input parameter");let r=await t.exportKey("spki",e),n=kt(r);try{this.fromSchema(n.result);}catch{throw new Error("Error during initializing object from schema")}}catch(r){let n=r instanceof Error?r.message:`${r}`;throw new Error(`Error during exporting public key: ${n}`)}}};$s.CLASS_NAME="PublicKeyInfo";var Du="version",Uu="privateKey",dr="namedCurve",Vi="publicKey",aL=[Du,Uu,dr,Vi],w0=class s extends q{constructor(e={}){super(),this.version=y(e,Du,s.defaultValues(Du)),this.privateKey=y(e,Uu,s.defaultValues(Uu)),dr in e&&(this.namedCurve=y(e,dr,s.defaultValues(dr))),Vi in e&&(this.publicKey=y(e,Vi,s.defaultValues(Vi))),e.json&&this.fromJSON(e.json),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Du:return 1;case Uu:return new z;case dr:return b;case Vi:return new wr;default:return super.defaultValues(e)}}static compareWithDefault(e,t){switch(e){case Du:return t===s.defaultValues(e);case Uu:return t.isEqual(s.defaultValues(e));case dr:return t===b;case Vi:return wr.compareWithDefault(dr,t.namedCurve)&&wr.compareWithDefault("x",t.x)&&wr.compareWithDefault("y",t.y);default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||b,value:[new L({name:t.version||b}),new z({name:t.privateKey||b}),new V({optional:!0,idBlock:{tagClass:3,tagNumber:0},value:[new ie({name:t.namedCurve||b})]}),new V({optional:!0,idBlock:{tagClass:3,tagNumber:1},value:[new Ve({name:t.publicKey||b})]})]})}fromSchema(e){W(e,aL);let t=K(e,e,s.schema({names:{version:Du,privateKey:Uu,namedCurve:dr,publicKey:Vi}}));if(_.assertSchema(t,this.className),this.version=t.result.version.valueBlock.valueDec,this.privateKey=t.result.privateKey,dr in t.result&&(this.namedCurve=t.result.namedCurve.valueBlock.toString()),Vi in t.result){let r={schema:t.result.publicKey.valueBlock.valueHex};dr in this&&(r.namedCurve=this.namedCurve),this.publicKey=new wr(r);}}toSchema(){let e=[new L({value:this.version}),this.privateKey];return this.namedCurve&&e.push(new V({idBlock:{tagClass:3,tagNumber:0},value:[new ie({value:this.namedCurve})]})),this.publicKey&&e.push(new V({idBlock:{tagClass:3,tagNumber:1},value:[new Ve({valueHex:this.publicKey.toSchema().toBER(!1)})]})),new k({value:e})}toJSON(){if(!this.namedCurve||s.compareWithDefault(dr,this.namedCurve))throw new Error('Not enough information for making JSON: absent "namedCurve" value');let e=Lr.find(this.namedCurve),t={crv:e?e.name:this.namedCurve,d:Se.Convert.ToBase64Url(this.privateKey.valueBlock.valueHexView)};if(this.publicKey){let r=this.publicKey.toJSON();t.x=r.x,t.y=r.y;}return t}fromJSON(e){Je.assert("json",e,"crv","d");let t=0,r=Lr.find(e.crv);r&&(this.namedCurve=r.id,t=r.size);let n=Se.Convert.FromBase64Url(e.d);if(n.byteLength<t){let i=new ArrayBuffer(t),a=new Uint8Array(i),o=new Uint8Array(n);a.set(o,1),this.privateKey=new z({valueHex:i});}else this.privateKey=new z({valueHex:n.slice(0,t)});e.x&&e.y&&(this.publicKey=new wr({json:e}));}};w0.CLASS_NAME="ECPrivateKey";var Pd="prime",Td="exponent",Bd="coefficient",oL=[Pd,Td,Bd],zl=class s extends q{constructor(e={}){super(),this.prime=y(e,Pd,s.defaultValues(Pd)),this.exponent=y(e,Td,s.defaultValues(Td)),this.coefficient=y(e,Bd,s.defaultValues(Bd)),e.json&&this.fromJSON(e.json),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Pd:return new L;case Td:return new L;case Bd:return new L;default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||b,value:[new L({name:t.prime||b}),new L({name:t.exponent||b}),new L({name:t.coefficient||b})]})}fromSchema(e){W(e,oL);let t=K(e,e,s.schema({names:{prime:Pd,exponent:Td,coefficient:Bd}}));_.assertSchema(t,this.className),this.prime=t.result.prime.convertFromDER(),this.exponent=t.result.exponent.convertFromDER(),this.coefficient=t.result.coefficient.convertFromDER();}toSchema(){return new k({value:[this.prime.convertToDER(),this.exponent.convertToDER(),this.coefficient.convertToDER()]})}toJSON(){return {r:Se.Convert.ToBase64Url(this.prime.valueBlock.valueHexView),d:Se.Convert.ToBase64Url(this.exponent.valueBlock.valueHexView),t:Se.Convert.ToBase64Url(this.coefficient.valueBlock.valueHexView)}}fromJSON(e){Je.assert("json",e,"r","d","r"),this.prime=new L({valueHex:Se.Convert.FromBase64Url(e.r)}),this.exponent=new L({valueHex:Se.Convert.FromBase64Url(e.d)}),this.coefficient=new L({valueHex:Se.Convert.FromBase64Url(e.t)});}};zl.CLASS_NAME="OtherPrimeInfo";var Od="version",Rd="modulus",Vd="publicExponent",Dd="privateExponent",Ud="prime1",Ld="prime2",jd="exponent1",Hd="exponent2",_d="coefficient",xo="otherPrimeInfos",cL=[Od,Rd,Vd,Dd,Ud,Ld,jd,Hd,_d,xo],b0=class s extends q{constructor(e={}){super(),this.version=y(e,Od,s.defaultValues(Od)),this.modulus=y(e,Rd,s.defaultValues(Rd)),this.publicExponent=y(e,Vd,s.defaultValues(Vd)),this.privateExponent=y(e,Dd,s.defaultValues(Dd)),this.prime1=y(e,Ud,s.defaultValues(Ud)),this.prime2=y(e,Ld,s.defaultValues(Ld)),this.exponent1=y(e,jd,s.defaultValues(jd)),this.exponent2=y(e,Hd,s.defaultValues(Hd)),this.coefficient=y(e,_d,s.defaultValues(_d)),xo in e&&(this.otherPrimeInfos=y(e,xo,s.defaultValues(xo))),e.json&&this.fromJSON(e.json),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Od:return 0;case Rd:return new L;case Vd:return new L;case Dd:return new L;case Ud:return new L;case Ld:return new L;case jd:return new L;case Hd:return new L;case _d:return new L;case xo:return [];default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||b,value:[new L({name:t.version||b}),new L({name:t.modulus||b}),new L({name:t.publicExponent||b}),new L({name:t.privateExponent||b}),new L({name:t.prime1||b}),new L({name:t.prime2||b}),new L({name:t.exponent1||b}),new L({name:t.exponent2||b}),new L({name:t.coefficient||b}),new k({optional:!0,value:[new Ae({name:t.otherPrimeInfosName||b,value:zl.schema(t.otherPrimeInfo||{})})]})]})}fromSchema(e){W(e,cL);let t=K(e,e,s.schema({names:{version:Od,modulus:Rd,publicExponent:Vd,privateExponent:Dd,prime1:Ud,prime2:Ld,exponent1:jd,exponent2:Hd,coefficient:_d,otherPrimeInfo:{names:{blockName:xo}}}}));_.assertSchema(t,this.className),this.version=t.result.version.valueBlock.valueDec,this.modulus=t.result.modulus.convertFromDER(256),this.publicExponent=t.result.publicExponent,this.privateExponent=t.result.privateExponent.convertFromDER(256),this.prime1=t.result.prime1.convertFromDER(128),this.prime2=t.result.prime2.convertFromDER(128),this.exponent1=t.result.exponent1.convertFromDER(128),this.exponent2=t.result.exponent2.convertFromDER(128),this.coefficient=t.result.coefficient.convertFromDER(128),xo in t.result&&(this.otherPrimeInfos=Array.from(t.result.otherPrimeInfos,r=>new zl({schema:r})));}toSchema(){let e=[];return e.push(new L({value:this.version})),e.push(this.modulus.convertToDER()),e.push(this.publicExponent),e.push(this.privateExponent.convertToDER()),e.push(this.prime1.convertToDER()),e.push(this.prime2.convertToDER()),e.push(this.exponent1.convertToDER()),e.push(this.exponent2.convertToDER()),e.push(this.coefficient.convertToDER()),this.otherPrimeInfos&&e.push(new k({value:Array.from(this.otherPrimeInfos,t=>t.toSchema())})),new k({value:e})}toJSON(){let e={n:Se.Convert.ToBase64Url(this.modulus.valueBlock.valueHexView),e:Se.Convert.ToBase64Url(this.publicExponent.valueBlock.valueHexView),d:Se.Convert.ToBase64Url(this.privateExponent.valueBlock.valueHexView),p:Se.Convert.ToBase64Url(this.prime1.valueBlock.valueHexView),q:Se.Convert.ToBase64Url(this.prime2.valueBlock.valueHexView),dp:Se.Convert.ToBase64Url(this.exponent1.valueBlock.valueHexView),dq:Se.Convert.ToBase64Url(this.exponent2.valueBlock.valueHexView),qi:Se.Convert.ToBase64Url(this.coefficient.valueBlock.valueHexView)};return this.otherPrimeInfos&&(e.oth=Array.from(this.otherPrimeInfos,t=>t.toJSON())),e}fromJSON(e){Je.assert("json",e,"n","e","d","p","q","dp","dq","qi"),this.modulus=new L({valueHex:Se.Convert.FromBase64Url(e.n)}),this.publicExponent=new L({valueHex:Se.Convert.FromBase64Url(e.e)}),this.privateExponent=new L({valueHex:Se.Convert.FromBase64Url(e.d)}),this.prime1=new L({valueHex:Se.Convert.FromBase64Url(e.p)}),this.prime2=new L({valueHex:Se.Convert.FromBase64Url(e.q)}),this.exponent1=new L({valueHex:Se.Convert.FromBase64Url(e.dp)}),this.exponent2=new L({valueHex:Se.Convert.FromBase64Url(e.dq)}),this.coefficient=new L({valueHex:Se.Convert.FromBase64Url(e.qi)}),e.oth&&(this.otherPrimeInfos=Array.from(e.oth,t=>new zl({json:t})));}};b0.CLASS_NAME="RSAPrivateKey";var Md="version",$d="privateKeyAlgorithm",qd="privateKey",Ao="attributes",Hy="parsedKey",uL=[Md,$d,qd,Ao],xc=class s extends q{constructor(e={}){super(),this.version=y(e,Md,s.defaultValues(Md)),this.privateKeyAlgorithm=y(e,$d,s.defaultValues($d)),this.privateKey=y(e,qd,s.defaultValues(qd)),Ao in e&&(this.attributes=y(e,Ao,s.defaultValues(Ao))),Hy in e&&(this.parsedKey=y(e,Hy,s.defaultValues(Hy))),e.json&&this.fromJSON(e.json),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Md:return 0;case $d:return new j;case qd:return new z;case Ao:return [];case Hy:return {};default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||b,value:[new L({name:t.version||b}),j.schema(t.privateKeyAlgorithm||{}),new z({name:t.privateKey||b}),new V({optional:!0,idBlock:{tagClass:3,tagNumber:0},value:[new Ae({name:t.attributes||b,value:yt.schema()})]})]})}fromSchema(e){W(e,uL);let t=K(e,e,s.schema({names:{version:Md,privateKeyAlgorithm:{names:{blockName:$d}},privateKey:qd,attributes:Ao}}));switch(_.assertSchema(t,this.className),this.version=t.result.version.valueBlock.valueDec,this.privateKeyAlgorithm=new j({schema:t.result.privateKeyAlgorithm}),this.privateKey=t.result.privateKey,Ao in t.result&&(this.attributes=Array.from(t.result.attributes,r=>new yt({schema:r}))),this.privateKeyAlgorithm.algorithmId){case"1.2.840.113549.1.1.1":{let r=kt(this.privateKey.valueBlock.valueHexView);r.offset!==-1&&(this.parsedKey=new b0({schema:r.result}));}break;case"1.2.840.10045.2.1":if("algorithmParams"in this.privateKeyAlgorithm&&this.privateKeyAlgorithm.algorithmParams instanceof ie){let r=kt(this.privateKey.valueBlock.valueHexView);r.offset!==-1&&(this.parsedKey=new w0({namedCurve:this.privateKeyAlgorithm.algorithmParams.valueBlock.toString(),schema:r.result}));}break}}toSchema(){let e=[new L({value:this.version}),this.privateKeyAlgorithm.toSchema(),this.privateKey];return this.attributes&&e.push(new V({optional:!0,idBlock:{tagClass:3,tagNumber:0},value:Array.from(this.attributes,t=>t.toSchema())})),new k({value:e})}toJSON(){if(!this.parsedKey){let r={version:this.version,privateKeyAlgorithm:this.privateKeyAlgorithm.toJSON(),privateKey:this.privateKey.toJSON()};return this.attributes&&(r.attributes=Array.from(this.attributes,n=>n.toJSON())),r}let e={};switch(this.privateKeyAlgorithm.algorithmId){case"1.2.840.10045.2.1":e.kty="EC";break;case"1.2.840.113549.1.1.1":e.kty="RSA";break}let t=this.parsedKey.toJSON();return Object.assign(e,t),e}fromJSON(e){if("kty"in e){switch(e.kty.toUpperCase()){case"EC":this.parsedKey=new w0({json:e}),this.privateKeyAlgorithm=new j({algorithmId:"1.2.840.10045.2.1",algorithmParams:new ie({value:this.parsedKey.namedCurve})});break;case"RSA":this.parsedKey=new b0({json:e}),this.privateKeyAlgorithm=new j({algorithmId:"1.2.840.113549.1.1.1",algorithmParams:new ft});break;default:throw new Error(`Invalid value for "kty" parameter: ${e.kty}`)}this.privateKey=new z({valueHex:this.parsedKey.toSchema().toBER(!1)});}}};xc.CLASS_NAME="PrivateKeyInfo";var Lu="contentType",ju="contentEncryptionAlgorithm",Io="encryptedContent",lL=[Lu,ju,Io],jk=1024,Gt=class s extends q{constructor(e={}){if(super(),this.contentType=y(e,Lu,s.defaultValues(Lu)),this.contentEncryptionAlgorithm=y(e,ju,s.defaultValues(ju)),Io in e&&e.encryptedContent&&(this.encryptedContent=e.encryptedContent,this.encryptedContent.idBlock.tagClass===1&&this.encryptedContent.idBlock.tagNumber===4&&this.encryptedContent.idBlock.isConstructed===!1&&!e.disableSplit)){let t=new z({idBlock:{isConstructed:!0},isConstructed:!0}),r=0,n=this.encryptedContent.valueBlock.valueHexView.slice().buffer,i=n.byteLength;for(;i>0;){let a=new Uint8Array(n,r,r+jk>n.byteLength?n.byteLength-r:jk),o=new ArrayBuffer(a.length),c=new Uint8Array(o);for(let u=0;u<c.length;u++)c[u]=a[u];t.valueBlock.value.push(new z({valueHex:o})),i-=a.length,r+=a.length;}this.encryptedContent=t;}e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Lu:return b;case ju:return new j;case Io:return new z;default:return super.defaultValues(e)}}static compareWithDefault(e,t){switch(e){case Lu:return t===b;case ju:return t.algorithmId===b&&!("algorithmParams"in t);case Io:return t.isEqual(s.defaultValues(Io));default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||b,value:[new ie({name:t.contentType||b}),j.schema(t.contentEncryptionAlgorithm||{}),new it({value:[new V({name:t.encryptedContent||b,idBlock:{tagClass:3,tagNumber:0},value:[new Ae({value:new z})]}),new ge({name:t.encryptedContent||b,idBlock:{tagClass:3,tagNumber:0}})]})]})}fromSchema(e){W(e,lL);let t=K(e,e,s.schema({names:{contentType:Lu,contentEncryptionAlgorithm:{names:{blockName:ju}},encryptedContent:Io}}));_.assertSchema(t,this.className),this.contentType=t.result.contentType.valueBlock.toString(),this.contentEncryptionAlgorithm=new j({schema:t.result.contentEncryptionAlgorithm}),Io in t.result&&(this.encryptedContent=t.result.encryptedContent,this.encryptedContent.idBlock.tagClass=1,this.encryptedContent.idBlock.tagNumber=4);}toSchema(){let e={isIndefiniteForm:!1},t=[];if(t.push(new ie({value:this.contentType})),t.push(this.contentEncryptionAlgorithm.toSchema()),this.encryptedContent){e.isIndefiniteForm=this.encryptedContent.idBlock.isConstructed;let r=this.encryptedContent;r.idBlock.tagClass=3,r.idBlock.tagNumber=0,r.lenBlock.isIndefiniteForm=this.encryptedContent.idBlock.isConstructed,t.push(r);}return new k({lenBlock:e,value:t})}toJSON(){let e={contentType:this.contentType,contentEncryptionAlgorithm:this.contentEncryptionAlgorithm.toJSON()};return this.encryptedContent&&(e.encryptedContent=this.encryptedContent.toJSON()),e}getEncryptedContent(){if(!this.encryptedContent)throw new Error("Parameter 'encryptedContent' is undefined");return z.prototype.getValue.call(this.encryptedContent)}};Gt.CLASS_NAME="EncryptedContentInfo";var Di="hashAlgorithm",Ui="maskGenAlgorithm",Li="saltLength",ji="trailerField",hL=[Di,Ui,Li,ji],Yl=class s extends q{constructor(e={}){super(),this.hashAlgorithm=y(e,Di,s.defaultValues(Di)),this.maskGenAlgorithm=y(e,Ui,s.defaultValues(Ui)),this.saltLength=y(e,Li,s.defaultValues(Li)),this.trailerField=y(e,ji,s.defaultValues(ji)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Di:return new j({algorithmId:"1.3.14.3.2.26",algorithmParams:new ft});case Ui:return new j({algorithmId:"1.2.840.113549.1.1.8",algorithmParams:new j({algorithmId:"1.3.14.3.2.26",algorithmParams:new ft}).toSchema()});case Li:return 20;case ji:return 1;default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||b,value:[new V({idBlock:{tagClass:3,tagNumber:0},optional:!0,value:[j.schema(t.hashAlgorithm||{})]}),new V({idBlock:{tagClass:3,tagNumber:1},optional:!0,value:[j.schema(t.maskGenAlgorithm||{})]}),new V({idBlock:{tagClass:3,tagNumber:2},optional:!0,value:[new L({name:t.saltLength||b})]}),new V({idBlock:{tagClass:3,tagNumber:3},optional:!0,value:[new L({name:t.trailerField||b})]})]})}fromSchema(e){W(e,hL);let t=K(e,e,s.schema({names:{hashAlgorithm:{names:{blockName:Di}},maskGenAlgorithm:{names:{blockName:Ui}},saltLength:Li,trailerField:ji}}));_.assertSchema(t,this.className),Di in t.result&&(this.hashAlgorithm=new j({schema:t.result.hashAlgorithm})),Ui in t.result&&(this.maskGenAlgorithm=new j({schema:t.result.maskGenAlgorithm})),Li in t.result&&(this.saltLength=t.result.saltLength.valueBlock.valueDec),ji in t.result&&(this.trailerField=t.result.trailerField.valueBlock.valueDec);}toSchema(){let e=[];return this.hashAlgorithm.isEqual(s.defaultValues(Di))||e.push(new V({idBlock:{tagClass:3,tagNumber:0},value:[this.hashAlgorithm.toSchema()]})),this.maskGenAlgorithm.isEqual(s.defaultValues(Ui))||e.push(new V({idBlock:{tagClass:3,tagNumber:1},value:[this.maskGenAlgorithm.toSchema()]})),this.saltLength!==s.defaultValues(Li)&&e.push(new V({idBlock:{tagClass:3,tagNumber:2},value:[new L({value:this.saltLength})]})),this.trailerField!==s.defaultValues(ji)&&e.push(new V({idBlock:{tagClass:3,tagNumber:3},value:[new L({value:this.trailerField})]})),new k({value:e})}toJSON(){let e={};return this.hashAlgorithm.isEqual(s.defaultValues(Di))||(e.hashAlgorithm=this.hashAlgorithm.toJSON()),this.maskGenAlgorithm.isEqual(s.defaultValues(Ui))||(e.maskGenAlgorithm=this.maskGenAlgorithm.toJSON()),this.saltLength!==s.defaultValues(Li)&&(e.saltLength=this.saltLength),this.trailerField!==s.defaultValues(ji)&&(e.trailerField=this.trailerField),e}};Yl.CLASS_NAME="RSASSAPSSParams";var Hu="salt",Fd="iterationCount",mr="keyLength",En="prf",fL=[Hu,Fd,mr,En],ha=class s extends q{constructor(e={}){super(),this.salt=y(e,Hu,s.defaultValues(Hu)),this.iterationCount=y(e,Fd,s.defaultValues(Fd)),mr in e&&(this.keyLength=y(e,mr,s.defaultValues(mr))),En in e&&(this.prf=y(e,En,s.defaultValues(En))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Hu:return {};case Fd:return -1;case mr:return 0;case En:return new j({algorithmId:"1.3.14.3.2.26",algorithmParams:new ft});default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||b,value:[new it({value:[new z({name:t.saltPrimitive||b}),j.schema(t.saltConstructed||{})]}),new L({name:t.iterationCount||b}),new L({name:t.keyLength||b,optional:!0}),j.schema(t.prf||{names:{optional:!0}})]})}fromSchema(e){W(e,fL);let t=K(e,e,s.schema({names:{saltPrimitive:Hu,saltConstructed:{names:{blockName:Hu}},iterationCount:Fd,keyLength:mr,prf:{names:{blockName:En,optional:!0}}}}));_.assertSchema(t,this.className),this.salt=t.result.salt,this.iterationCount=t.result.iterationCount.valueBlock.valueDec,mr in t.result&&(this.keyLength=t.result.keyLength.valueBlock.valueDec),En in t.result&&(this.prf=new j({schema:t.result.prf}));}toSchema(){let e=[];return e.push(this.salt),e.push(new L({value:this.iterationCount})),mr in this&&s.defaultValues(mr)!==this.keyLength&&e.push(new L({value:this.keyLength})),this.prf&&s.defaultValues(En).isEqual(this.prf)===!1&&e.push(this.prf.toSchema()),new k({value:e})}toJSON(){let e={salt:this.salt.toJSON(),iterationCount:this.iterationCount};return mr in this&&s.defaultValues(mr)!==this.keyLength&&(e.keyLength=this.keyLength),this.prf&&s.defaultValues(En).isEqual(this.prf)===!1&&(e.prf=this.prf.toJSON()),e}};ha.CLASS_NAME="PBKDF2Params";var Kd="keyDerivationFunc",Gd="encryptionScheme",dL=[Kd,Gd],S0=class s extends q{constructor(e={}){super(),this.keyDerivationFunc=y(e,Kd,s.defaultValues(Kd)),this.encryptionScheme=y(e,Gd,s.defaultValues(Gd)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Kd:return new j;case Gd:return new j;default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||b,value:[j.schema(t.keyDerivationFunc||{}),j.schema(t.encryptionScheme||{})]})}fromSchema(e){W(e,dL);let t=K(e,e,s.schema({names:{keyDerivationFunc:{names:{blockName:Kd}},encryptionScheme:{names:{blockName:Gd}}}}));_.assertSchema(t,this.className),this.keyDerivationFunc=new j({schema:t.result.keyDerivationFunc}),this.encryptionScheme=new j({schema:t.result.encryptionScheme});}toSchema(){return new k({value:[this.keyDerivationFunc.toSchema(),this.encryptionScheme.toSchema()]})}toJSON(){return {keyDerivationFunc:this.keyDerivationFunc.toJSON(),encryptionScheme:this.encryptionScheme.toJSON()}}};S0.CLASS_NAME="PBES2Params";var TA=class{constructor(e){this.crypto=e.crypto,this.subtle="webkitSubtle"in e.crypto?e.crypto.webkitSubtle:e.crypto.subtle,this.name=y(e,"name",b);}async encrypt(...e){return this.subtle.encrypt(...e)}async decrypt(...e){return this.subtle.decrypt(...e)}sign(...e){return this.subtle.sign(...e)}async verify(...e){return this.subtle.verify(...e)}async digest(...e){return this.subtle.digest(...e)}async generateKey(...e){return this.subtle.generateKey(...e)}async deriveKey(...e){return this.subtle.deriveKey(...e)}async deriveBits(...e){return this.subtle.deriveBits(...e)}async wrapKey(...e){return this.subtle.wrapKey(...e)}async unwrapKey(...e){return this.subtle.unwrapKey(...e)}exportKey(...e){return this.subtle.exportKey(...e)}importKey(...e){return this.subtle.importKey(...e)}getRandomValues(e){if(e===null)throw new Error('Argument "array" must not be null');return this.crypto.getRandomValues(e)}};async function Hk(s,e,t,r,n){let i,a,o;switch(s.toUpperCase()){case"SHA-1":i=20,a=64,o=Bk;break;case"SHA-256":i=32,a=64,o=J2;break;case"SHA-384":i=48,a=128,o=X2;break;case"SHA-512":i=64,a=128,o=Z2;break;default:throw new Error("Unsupported hashing algorithm")}let c=new Uint8Array(t),u=new TextDecoder().decode(t);new TextEncoder().encode(u).some((P,B)=>P!==c[B])&&(u=String.fromCharCode(...c));let m=new Uint8Array(u.length*2+2),w=new DataView(m.buffer);for(let P=0;P<u.length;P++)w.setUint16(P*2,u.charCodeAt(P),!1);w.setUint16(u.length*2,0,!1);let E=new Uint8Array(a).fill(3),v=new Uint8Array(r),A=new Uint8Array(a*Math.ceil(v.length/a)).map((P,B)=>v[B%v.length]),C=new Uint8Array(a*Math.ceil(m.length/a)).map((P,B)=>m[B%m.length]),D=new Uint8Array(A.length+C.length);D.set(A),D.set(C,A.length);let U=Math.ceil((e>>3)/i),T=[];for(let P=0;P<U;P++){let B=new Uint8Array(E.length+D.length);B.set(E),B.set(D,E.length);for(let ae=0;ae<n;ae++)B=o(B);let G=new Uint8Array(a).map((ae,fe)=>B[fe%B.length]),se=Math.ceil(v.length/a)+Math.ceil(m.length/a),X=[];for(let ae=0;ae<se;ae++){let fe=Array.from(D.slice(ae*a,(ae+1)*a)),te=511;for(let oe=G.length-1;oe>=0;oe--)te>>=8,te+=G[oe]+(fe[oe]||0),fe[oe]=te&255;X.push(...fe);}D=new Uint8Array(X),T.push(...B);}return new Uint8Array(T.slice(0,e>>3)).buffer}function SP(s){let e=typeof s=="string"?{name:s}:s;return "hash"in e?{...e,hash:SP(e.hash)}:e}var nh=class extends TA{async importKey(e,t,r,n,i){var a,o,c,u,l,m;let w={},E=SP(r);switch(e.toLowerCase()){case"raw":return this.subtle.importKey("raw",t,r,n,i);case"spki":{let v=kt(Se.BufferSourceConverter.toArrayBuffer(t));_.assert(v,"keyData");let A=new $s;try{A.fromSchema(v.result);}catch{throw new et("Incorrect keyData")}switch(E.name.toUpperCase()){case"RSA-PSS":{if(!E.hash)throw new Je("hash","algorithm.hash","Incorrect hash algorithm: Hash algorithm is missed");switch(E.hash.name.toUpperCase()){case"SHA-1":w.alg="PS1";break;case"SHA-256":w.alg="PS256";break;case"SHA-384":w.alg="PS384";break;case"SHA-512":w.alg="PS512";break;default:throw new Error(`Incorrect hash algorithm: ${E.hash.name.toUpperCase()}`)}}case"RSASSA-PKCS1-V1_5":{if(i=["verify"],w.kty="RSA",w.ext=n,w.key_ops=i,A.algorithm.algorithmId!=="1.2.840.113549.1.1.1")throw new Error(`Incorrect public key algorithm: ${A.algorithm.algorithmId}`);if(!w.alg){if(!E.hash)throw new Je("hash","algorithm.hash","Incorrect hash algorithm: Hash algorithm is missed");switch(E.hash.name.toUpperCase()){case"SHA-1":w.alg="RS1";break;case"SHA-256":w.alg="RS256";break;case"SHA-384":w.alg="RS384";break;case"SHA-512":w.alg="RS512";break;default:throw new Error(`Incorrect hash algorithm: ${E.hash.name.toUpperCase()}`)}}let C=A.toJSON();Object.assign(w,C);}break;case"ECDSA":i=["verify"];case"ECDH":{if(w={kty:"EC",ext:n,key_ops:i},A.algorithm.algorithmId!=="1.2.840.10045.2.1")throw new Error(`Incorrect public key algorithm: ${A.algorithm.algorithmId}`);let C=A.toJSON();Object.assign(w,C);}break;case"RSA-OAEP":{if(w.kty="RSA",w.ext=n,w.key_ops=i,this.name.toLowerCase()==="safari")w.alg="RSA-OAEP";else {if(!E.hash)throw new Je("hash","algorithm.hash","Incorrect hash algorithm: Hash algorithm is missed");switch(E.hash.name.toUpperCase()){case"SHA-1":w.alg="RSA-OAEP";break;case"SHA-256":w.alg="RSA-OAEP-256";break;case"SHA-384":w.alg="RSA-OAEP-384";break;case"SHA-512":w.alg="RSA-OAEP-512";break;default:throw new Error(`Incorrect hash algorithm: ${E.hash.name.toUpperCase()}`)}}let C=A.toJSON();Object.assign(w,C);}break;case"RSAES-PKCS1-V1_5":{w.kty="RSA",w.ext=n,w.key_ops=i,w.alg="PS1";let C=A.toJSON();Object.assign(w,C);}break;default:throw new Error(`Incorrect algorithm name: ${E.name.toUpperCase()}`)}}break;case"pkcs8":{let v=new xc,A=kt(Se.BufferSourceConverter.toArrayBuffer(t));_.assert(A,"keyData");try{v.fromSchema(A.result);}catch{throw new Error("Incorrect keyData")}if(!v.parsedKey)throw new Error("Incorrect keyData");switch(E.name.toUpperCase()){case"RSA-PSS":switch((a=E.hash)===null||a===void 0?void 0:a.name.toUpperCase()){case"SHA-1":w.alg="PS1";break;case"SHA-256":w.alg="PS256";break;case"SHA-384":w.alg="PS384";break;case"SHA-512":w.alg="PS512";break;default:throw new Error(`Incorrect hash algorithm: ${(o=E.hash)===null||o===void 0?void 0:o.name.toUpperCase()}`)}case"RSASSA-PKCS1-V1_5":{if(i=["sign"],w.kty="RSA",w.ext=n,w.key_ops=i,v.privateKeyAlgorithm.algorithmId!=="1.2.840.113549.1.1.1")throw new Error(`Incorrect private key algorithm: ${v.privateKeyAlgorithm.algorithmId}`);if(!("alg"in w))switch((c=E.hash)===null||c===void 0?void 0:c.name.toUpperCase()){case"SHA-1":w.alg="RS1";break;case"SHA-256":w.alg="RS256";break;case"SHA-384":w.alg="RS384";break;case"SHA-512":w.alg="RS512";break;default:throw new Error(`Incorrect hash algorithm: ${(u=E.hash)===null||u===void 0?void 0:u.name.toUpperCase()}`)}let C=v.toJSON();Object.assign(w,C);}break;case"ECDSA":i=["sign"];case"ECDH":{if(w={kty:"EC",ext:n,key_ops:i},v.privateKeyAlgorithm.algorithmId!=="1.2.840.10045.2.1")throw new Error(`Incorrect algorithm: ${v.privateKeyAlgorithm.algorithmId}`);let C=v.toJSON();Object.assign(w,C);}break;case"RSA-OAEP":{if(w.kty="RSA",w.ext=n,w.key_ops=i,this.name.toLowerCase()==="safari")w.alg="RSA-OAEP";else switch((l=E.hash)===null||l===void 0?void 0:l.name.toUpperCase()){case"SHA-1":w.alg="RSA-OAEP";break;case"SHA-256":w.alg="RSA-OAEP-256";break;case"SHA-384":w.alg="RSA-OAEP-384";break;case"SHA-512":w.alg="RSA-OAEP-512";break;default:throw new Error(`Incorrect hash algorithm: ${(m=E.hash)===null||m===void 0?void 0:m.name.toUpperCase()}`)}let C=v.toJSON();Object.assign(w,C);}break;case"RSAES-PKCS1-V1_5":{i=["decrypt"],w.kty="RSA",w.ext=n,w.key_ops=i,w.alg="PS1";let C=v.toJSON();Object.assign(w,C);}break;default:throw new Error(`Incorrect algorithm name: ${E.name.toUpperCase()}`)}}break;case"jwk":w=t;break;default:throw new Error(`Incorrect format: ${e}`)}if(this.name.toLowerCase()==="safari")try{return this.subtle.importKey("jwk",so(JSON.stringify(w)),r,n,i)}catch{return this.subtle.importKey("jwk",w,r,n,i)}return this.subtle.importKey("jwk",w,r,n,i)}async exportKey(e,t){let r=await this.subtle.exportKey("jwk",t);switch(this.name.toLowerCase()==="safari"&&r instanceof ArrayBuffer&&(r=JSON.parse(Hf(r))),e.toLowerCase()){case"raw":return this.subtle.exportKey("raw",t);case"spki":{let n=new $s;try{n.fromJSON(r);}catch{throw new Error("Incorrect key data")}return n.toSchema().toBER(!1)}case"pkcs8":{let n=new xc;try{n.fromJSON(r);}catch{throw new Error("Incorrect key data")}return n.toSchema().toBER(!1)}case"jwk":return r;default:throw new Error(`Incorrect format: ${e}`)}}async convert(e,t,r,n,i,a){if(e.toLowerCase()===t.toLowerCase())return r;let o=await this.importKey(e,r,n,i,a);return this.exportKey(t,o)}getAlgorithmByOID(e,t=!1,r){switch(e){case"1.2.840.113549.1.1.1":return {name:"RSAES-PKCS1-v1_5"};case"1.2.840.113549.1.1.5":return {name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-1"}};case"1.2.840.113549.1.1.11":return {name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}};case"1.2.840.113549.1.1.12":return {name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-384"}};case"1.2.840.113549.1.1.13":return {name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-512"}};case"1.2.840.113549.1.1.10":return {name:"RSA-PSS"};case"1.2.840.113549.1.1.7":return {name:"RSA-OAEP"};case"1.2.840.10045.2.1":case"1.2.840.10045.4.1":return {name:"ECDSA",hash:{name:"SHA-1"}};case"1.2.840.10045.4.3.2":return {name:"ECDSA",hash:{name:"SHA-256"}};case"1.2.840.10045.4.3.3":return {name:"ECDSA",hash:{name:"SHA-384"}};case"1.2.840.10045.4.3.4":return {name:"ECDSA",hash:{name:"SHA-512"}};case"1.3.133.16.840.63.0.2":return {name:"ECDH",kdf:"SHA-1"};case"1.3.132.1.11.1":return {name:"ECDH",kdf:"SHA-256"};case"1.3.132.1.11.2":return {name:"ECDH",kdf:"SHA-384"};case"1.3.132.1.11.3":return {name:"ECDH",kdf:"SHA-512"};case"2.16.840.1.101.3.4.1.2":return {name:"AES-CBC",length:128};case"2.16.840.1.101.3.4.1.22":return {name:"AES-CBC",length:192};case"2.16.840.1.101.3.4.1.42":return {name:"AES-CBC",length:256};case"2.16.840.1.101.3.4.1.6":return {name:"AES-GCM",length:128};case"2.16.840.1.101.3.4.1.26":return {name:"AES-GCM",length:192};case"2.16.840.1.101.3.4.1.46":return {name:"AES-GCM",length:256};case"2.16.840.1.101.3.4.1.4":return {name:"AES-CFB",length:128};case"2.16.840.1.101.3.4.1.24":return {name:"AES-CFB",length:192};case"2.16.840.1.101.3.4.1.44":return {name:"AES-CFB",length:256};case"2.16.840.1.101.3.4.1.5":return {name:"AES-KW",length:128};case"2.16.840.1.101.3.4.1.25":return {name:"AES-KW",length:192};case"2.16.840.1.101.3.4.1.45":return {name:"AES-KW",length:256};case"1.2.840.113549.2.7":return {name:"HMAC",hash:{name:"SHA-1"}};case"1.2.840.113549.2.9":return {name:"HMAC",hash:{name:"SHA-256"}};case"1.2.840.113549.2.10":return {name:"HMAC",hash:{name:"SHA-384"}};case"1.2.840.113549.2.11":return {name:"HMAC",hash:{name:"SHA-512"}};case"1.2.840.113549.1.9.16.3.5":return {name:"DH"};case"1.3.14.3.2.26":return {name:"SHA-1"};case"2.16.840.1.101.3.4.2.1":return {name:"SHA-256"};case"2.16.840.1.101.3.4.2.2":return {name:"SHA-384"};case"2.16.840.1.101.3.4.2.3":return {name:"SHA-512"};case"1.2.840.113549.1.5.12":return {name:"PBKDF2"};case"1.2.840.10045.3.1.7":return {name:"P-256"};case"1.3.132.0.34":return {name:"P-384"};case"1.3.132.0.35":return {name:"P-521"}}if(t)throw new Error(`Unsupported algorithm identifier ${r?`for ${r} `:b}: ${e}`);return {}}getOIDByAlgorithm(e,t=!1,r){let n=b;switch(e.name.toUpperCase()){case"RSAES-PKCS1-V1_5":n="1.2.840.113549.1.1.1";break;case"RSASSA-PKCS1-V1_5":switch(e.hash.name.toUpperCase()){case"SHA-1":n="1.2.840.113549.1.1.5";break;case"SHA-256":n="1.2.840.113549.1.1.11";break;case"SHA-384":n="1.2.840.113549.1.1.12";break;case"SHA-512":n="1.2.840.113549.1.1.13";break}break;case"RSA-PSS":n="1.2.840.113549.1.1.10";break;case"RSA-OAEP":n="1.2.840.113549.1.1.7";break;case"ECDSA":switch(e.hash.name.toUpperCase()){case"SHA-1":n="1.2.840.10045.4.1";break;case"SHA-256":n="1.2.840.10045.4.3.2";break;case"SHA-384":n="1.2.840.10045.4.3.3";break;case"SHA-512":n="1.2.840.10045.4.3.4";break}break;case"ECDH":switch(e.kdf.toUpperCase()){case"SHA-1":n="1.3.133.16.840.63.0.2";break;case"SHA-256":n="1.3.132.1.11.1";break;case"SHA-384":n="1.3.132.1.11.2";break;case"SHA-512":n="1.3.132.1.11.3";break}break;case"AES-CTR":break;case"AES-CBC":switch(e.length){case 128:n="2.16.840.1.101.3.4.1.2";break;case 192:n="2.16.840.1.101.3.4.1.22";break;case 256:n="2.16.840.1.101.3.4.1.42";break}break;case"AES-CMAC":break;case"AES-GCM":switch(e.length){case 128:n="2.16.840.1.101.3.4.1.6";break;case 192:n="2.16.840.1.101.3.4.1.26";break;case 256:n="2.16.840.1.101.3.4.1.46";break}break;case"AES-CFB":switch(e.length){case 128:n="2.16.840.1.101.3.4.1.4";break;case 192:n="2.16.840.1.101.3.4.1.24";break;case 256:n="2.16.840.1.101.3.4.1.44";break}break;case"AES-KW":switch(e.length){case 128:n="2.16.840.1.101.3.4.1.5";break;case 192:n="2.16.840.1.101.3.4.1.25";break;case 256:n="2.16.840.1.101.3.4.1.45";break}break;case"HMAC":switch(e.hash.name.toUpperCase()){case"SHA-1":n="1.2.840.113549.2.7";break;case"SHA-256":n="1.2.840.113549.2.9";break;case"SHA-384":n="1.2.840.113549.2.10";break;case"SHA-512":n="1.2.840.113549.2.11";break}break;case"DH":n="1.2.840.113549.1.9.16.3.5";break;case"SHA-1":n="1.3.14.3.2.26";break;case"SHA-256":n="2.16.840.1.101.3.4.2.1";break;case"SHA-384":n="2.16.840.1.101.3.4.2.2";break;case"SHA-512":n="2.16.840.1.101.3.4.2.3";break;case"CONCAT":break;case"HKDF":break;case"PBKDF2":n="1.2.840.113549.1.5.12";break;case"P-256":n="1.2.840.10045.3.1.7";break;case"P-384":n="1.3.132.0.34";break;case"P-521":n="1.3.132.0.35";break}if(!n&&t)throw new Error(`Unsupported algorithm ${r?`for ${r} `:b}: ${e.name}`);return n}getAlgorithmParameters(e,t){let r={algorithm:{},usages:[]};switch(e.toUpperCase()){case"RSAES-PKCS1-V1_5":case"RSASSA-PKCS1-V1_5":switch(t.toLowerCase()){case"generatekey":r={algorithm:{name:"RSASSA-PKCS1-v1_5",modulusLength:2048,publicExponent:new Uint8Array([1,0,1]),hash:{name:"SHA-256"}},usages:["sign","verify"]};break;case"verify":case"sign":case"importkey":r={algorithm:{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},usages:["verify"]};break;case"exportkey":default:return {algorithm:{name:"RSASSA-PKCS1-v1_5"},usages:[]}}break;case"RSA-PSS":switch(t.toLowerCase()){case"sign":case"verify":r={algorithm:{name:"RSA-PSS",hash:{name:"SHA-1"},saltLength:20},usages:["sign","verify"]};break;case"generatekey":r={algorithm:{name:"RSA-PSS",modulusLength:2048,publicExponent:new Uint8Array([1,0,1]),hash:{name:"SHA-1"}},usages:["sign","verify"]};break;case"importkey":r={algorithm:{name:"RSA-PSS",hash:{name:"SHA-1"}},usages:["verify"]};break;case"exportkey":default:return {algorithm:{name:"RSA-PSS"},usages:[]}}break;case"RSA-OAEP":switch(t.toLowerCase()){case"encrypt":case"decrypt":r={algorithm:{name:"RSA-OAEP"},usages:["encrypt","decrypt"]};break;case"generatekey":r={algorithm:{name:"RSA-OAEP",modulusLength:2048,publicExponent:new Uint8Array([1,0,1]),hash:{name:"SHA-256"}},usages:["encrypt","decrypt","wrapKey","unwrapKey"]};break;case"importkey":r={algorithm:{name:"RSA-OAEP",hash:{name:"SHA-256"}},usages:["encrypt"]};break;case"exportkey":default:return {algorithm:{name:"RSA-OAEP"},usages:[]}}break;case"ECDSA":switch(t.toLowerCase()){case"generatekey":r={algorithm:{name:"ECDSA",namedCurve:"P-256"},usages:["sign","verify"]};break;case"importkey":r={algorithm:{name:"ECDSA",namedCurve:"P-256"},usages:["verify"]};break;case"verify":case"sign":r={algorithm:{name:"ECDSA",hash:{name:"SHA-256"}},usages:["sign"]};break;default:return {algorithm:{name:"ECDSA"},usages:[]}}break;case"ECDH":switch(t.toLowerCase()){case"exportkey":case"importkey":case"generatekey":r={algorithm:{name:"ECDH",namedCurve:"P-256"},usages:["deriveKey","deriveBits"]};break;case"derivekey":case"derivebits":r={algorithm:{name:"ECDH",namedCurve:"P-256",public:[]},usages:["encrypt","decrypt"]};break;default:return {algorithm:{name:"ECDH"},usages:[]}}break;case"AES-CTR":switch(t.toLowerCase()){case"importkey":case"exportkey":case"generatekey":r={algorithm:{name:"AES-CTR",length:256},usages:["encrypt","decrypt","wrapKey","unwrapKey"]};break;case"decrypt":case"encrypt":r={algorithm:{name:"AES-CTR",counter:new Uint8Array(16),length:10},usages:["encrypt","decrypt","wrapKey","unwrapKey"]};break;default:return {algorithm:{name:"AES-CTR"},usages:[]}}break;case"AES-CBC":switch(t.toLowerCase()){case"importkey":case"exportkey":case"generatekey":r={algorithm:{name:"AES-CBC",length:256},usages:["encrypt","decrypt","wrapKey","unwrapKey"]};break;case"decrypt":case"encrypt":r={algorithm:{name:"AES-CBC",iv:this.getRandomValues(new Uint8Array(16))},usages:["encrypt","decrypt","wrapKey","unwrapKey"]};break;default:return {algorithm:{name:"AES-CBC"},usages:[]}}break;case"AES-GCM":switch(t.toLowerCase()){case"importkey":case"exportkey":case"generatekey":r={algorithm:{name:"AES-GCM",length:256},usages:["encrypt","decrypt","wrapKey","unwrapKey"]};break;case"decrypt":case"encrypt":r={algorithm:{name:"AES-GCM",iv:this.getRandomValues(new Uint8Array(16))},usages:["encrypt","decrypt","wrapKey","unwrapKey"]};break;default:return {algorithm:{name:"AES-GCM"},usages:[]}}break;case"AES-KW":switch(t.toLowerCase()){case"importkey":case"exportkey":case"generatekey":case"wrapkey":case"unwrapkey":r={algorithm:{name:"AES-KW",length:256},usages:["wrapKey","unwrapKey"]};break;default:return {algorithm:{name:"AES-KW"},usages:[]}}break;case"HMAC":switch(t.toLowerCase()){case"sign":case"verify":r={algorithm:{name:"HMAC"},usages:["sign","verify"]};break;case"importkey":case"exportkey":case"generatekey":r={algorithm:{name:"HMAC",length:32,hash:{name:"SHA-256"}},usages:["sign","verify"]};break;default:return {algorithm:{name:"HMAC"},usages:[]}}break;case"HKDF":switch(t.toLowerCase()){case"derivekey":r={algorithm:{name:"HKDF",hash:"SHA-256",salt:new Uint8Array([]),info:new Uint8Array([])},usages:["encrypt","decrypt"]};break;default:return {algorithm:{name:"HKDF"},usages:[]}}break;case"PBKDF2":switch(t.toLowerCase()){case"derivekey":r={algorithm:{name:"PBKDF2",hash:{name:"SHA-256"},salt:new Uint8Array([]),iterations:1e4},usages:["encrypt","decrypt"]};break;default:return {algorithm:{name:"PBKDF2"},usages:[]}}break}return r}getHashAlgorithm(e){let t=b;switch(e.algorithmId){case"1.2.840.10045.4.1":case"1.2.840.113549.1.1.5":t="SHA-1";break;case"1.2.840.10045.4.3.2":case"1.2.840.113549.1.1.11":t="SHA-256";break;case"1.2.840.10045.4.3.3":case"1.2.840.113549.1.1.12":t="SHA-384";break;case"1.2.840.10045.4.3.4":case"1.2.840.113549.1.1.13":t="SHA-512";break;case"1.2.840.113549.1.1.10":try{let r=new Yl({schema:e.algorithmParams});if(r.hashAlgorithm){let n=this.getAlgorithmByOID(r.hashAlgorithm.algorithmId);if("name"in n)t=n.name;else return b}else t="SHA-1";}catch{}break}return t}async encryptEncryptedContentInfo(e){Je.assert(e,"password","contentEncryptionAlgorithm","hmacHashAlgorithm","iterationCount","contentToEncrypt","contentToEncrypt","contentType");let t=this.getOIDByAlgorithm(e.contentEncryptionAlgorithm,!0,"contentEncryptionAlgorithm"),r=this.getOIDByAlgorithm({name:"PBKDF2"},!0,"PBKDF2"),n=this.getOIDByAlgorithm({name:"HMAC",hash:{name:e.hmacHashAlgorithm}},!0,"hmacHashAlgorithm"),i=new ArrayBuffer(16),a=new Uint8Array(i);this.getRandomValues(a);let o=new ArrayBuffer(64),c=new Uint8Array(o);this.getRandomValues(c);let u=new Uint8Array(e.contentToEncrypt),l=new ha({salt:new z({valueHex:o}),iterationCount:e.iterationCount,prf:new j({algorithmId:n,algorithmParams:new ft})}),m=new Uint8Array(e.password),w=await this.importKey("raw",m,"PBKDF2",!1,["deriveKey"]),E=await this.deriveKey({name:"PBKDF2",hash:{name:e.hmacHashAlgorithm},salt:c,iterations:e.iterationCount},w,e.contentEncryptionAlgorithm,!1,["encrypt"]),v=await this.encrypt({name:e.contentEncryptionAlgorithm.name,iv:a},E,u),A=new S0({keyDerivationFunc:new j({algorithmId:r,algorithmParams:l.toSchema()}),encryptionScheme:new j({algorithmId:t,algorithmParams:new z({valueHex:i})})});return new Gt({contentType:e.contentType,contentEncryptionAlgorithm:new j({algorithmId:"1.2.840.113549.1.5.13",algorithmParams:A.toSchema()}),encryptedContent:new z({valueHex:v})})}async decryptEncryptedContentInfo(e){if(Je.assert(e,"password","encryptedContentInfo"),e.encryptedContentInfo.contentEncryptionAlgorithm.algorithmId!=="1.2.840.113549.1.5.13")throw new Error(`Unknown "contentEncryptionAlgorithm": ${e.encryptedContentInfo.contentEncryptionAlgorithm.algorithmId}`);let t;try{t=new S0({schema:e.encryptedContentInfo.contentEncryptionAlgorithm.algorithmParams});}catch{throw new Error('Incorrectly encoded "pbes2Parameters"')}let r;try{r=new ha({schema:t.keyDerivationFunc.algorithmParams});}catch{throw new Error('Incorrectly encoded "pbkdf2Params"')}let n=this.getAlgorithmByOID(t.encryptionScheme.algorithmId,!0),i=t.encryptionScheme.algorithmParams.valueBlock.valueHex,a=new Uint8Array(i),o=r.salt.valueBlock.valueHex,c=new Uint8Array(o),u=r.iterationCount,l="SHA-1";r.prf&&(l=this.getAlgorithmByOID(r.prf.algorithmId,!0).hash.name);let m=await this.importKey("raw",e.password,"PBKDF2",!1,["deriveKey"]),w=await this.deriveKey({name:"PBKDF2",hash:{name:l},salt:c,iterations:u},m,n,!1,["decrypt"]),E=e.encryptedContentInfo.getEncryptedContent();return this.decrypt({name:n.name,iv:a},w,E)}async stampDataWithPassword(e){if(!(e instanceof Object))throw new Error('Parameters must have type "Object"');Je.assert(e,"password","hashAlgorithm","iterationCount","salt","contentToStamp");let t;switch(e.hashAlgorithm.toLowerCase()){case"sha-1":t=160;break;case"sha-256":t=256;break;case"sha-384":t=384;break;case"sha-512":t=512;break;default:throw new Error(`Incorrect "parameters.hashAlgorithm" parameter: ${e.hashAlgorithm}`)}let r={name:"HMAC",length:t,hash:{name:e.hashAlgorithm}},n=await Hk(e.hashAlgorithm,t,e.password,e.salt,e.iterationCount),i=await this.importKey("raw",new Uint8Array(n),r,!1,["sign"]);return this.sign(r,i,new Uint8Array(e.contentToStamp))}async verifyDataStampedWithPassword(e){Je.assert(e,"password","hashAlgorithm","salt","iterationCount","contentToVerify","signatureToVerify");let t=0;switch(e.hashAlgorithm.toLowerCase()){case"sha-1":t=160;break;case"sha-256":t=256;break;case"sha-384":t=384;break;case"sha-512":t=512;break;default:throw new Error(`Incorrect "parameters.hashAlgorithm" parameter: ${e.hashAlgorithm}`)}let r={name:"HMAC",length:t,hash:{name:e.hashAlgorithm}},n=await Hk(e.hashAlgorithm,t,e.password,e.salt,e.iterationCount),i=await this.importKey("raw",new Uint8Array(n),r,!1,["verify"]);return this.verify(r,i,new Uint8Array(e.signatureToVerify),new Uint8Array(e.contentToVerify))}async getSignatureParameters(e,t="SHA-1"){this.getOIDByAlgorithm({name:t},!0,"hashAlgorithm");let r=new j,n=this.getAlgorithmParameters(e.algorithm.name,"sign");if(!Object.keys(n.algorithm).length)throw new Error("Parameter 'algorithm' is empty");let i=n.algorithm;switch("hash"in e.algorithm&&e.algorithm.hash&&e.algorithm.hash.name?i.hash.name=e.algorithm.hash.name:i.hash.name=t,e.algorithm.name.toUpperCase()){case"RSASSA-PKCS1-V1_5":case"ECDSA":r.algorithmId=this.getOIDByAlgorithm(i,!0);break;case"RSA-PSS":{switch(i.hash.name.toUpperCase()){case"SHA-256":i.saltLength=32;break;case"SHA-384":i.saltLength=48;break;case"SHA-512":i.saltLength=64;break}let a={};if(i.hash.name.toUpperCase()!=="SHA-1"){let c=this.getOIDByAlgorithm({name:i.hash.name},!0,"hashAlgorithm");a.hashAlgorithm=new j({algorithmId:c,algorithmParams:new ft}),a.maskGenAlgorithm=new j({algorithmId:"1.2.840.113549.1.1.8",algorithmParams:a.hashAlgorithm.toSchema()});}i.saltLength!==20&&(a.saltLength=i.saltLength);let o=new Yl(a);r.algorithmId="1.2.840.113549.1.1.10",r.algorithmParams=o.toSchema();}break;default:throw new Error(`Unsupported signature algorithm: ${e.algorithm.name}`)}return {signatureAlgorithm:r,parameters:n}}async signWithPrivateKey(e,t,r){let n=await this.sign(r.algorithm,t,e);return r.algorithm.name==="ECDSA"?pL(n):n}fillPublicKeyParameters(e,t){let r={},n=this.getHashAlgorithm(t);if(n===b)throw new Error(`Unsupported signature algorithm: ${t.algorithmId}`);let i;t.algorithmId==="1.2.840.113549.1.1.10"?i=t.algorithmId:i=e.algorithm.algorithmId;let a=this.getAlgorithmByOID(i,!0);if(r.algorithm=this.getAlgorithmParameters(a.name,"importKey"),"hash"in r.algorithm.algorithm&&(r.algorithm.algorithm.hash.name=n),a.name==="ECDSA"){let o=e.algorithm;if(!o.algorithmParams)throw new Error("Algorithm parameters for ECDSA public key are missed");let c=o.algorithmParams;if("idBlock"in o.algorithmParams&&!(c.idBlock.tagClass===1&&c.idBlock.tagNumber===6))throw new Error("Incorrect type for ECDSA public key parameters");let u=this.getAlgorithmByOID(c.valueBlock.toString(),!0);r.algorithm.algorithm.namedCurve=u.name;}return r}async getPublicKey(e,t,r){r||(r=this.fillPublicKeyParameters(e,t));let n=e.toSchema().toBER(!1);return this.importKey("spki",n,r.algorithm.algorithm,!0,r.algorithm.usages)}async verifyWithPublicKey(e,t,r,n,i){let a;if(i){let u={},l;n.algorithmId==="1.2.840.113549.1.1.10"?l=n.algorithmId:l=r.algorithm.algorithmId;let m=this.getAlgorithmByOID(l,!0);if(u.algorithm=this.getAlgorithmParameters(m.name,"importKey"),"hash"in u.algorithm.algorithm&&(u.algorithm.algorithm.hash.name=i),m.name==="ECDSA"){let w=!1;if("algorithmParams"in r.algorithm&&"idBlock"in r.algorithm.algorithmParams&&r.algorithm.algorithmParams.idBlock.tagClass===1&&r.algorithm.algorithmParams.idBlock.tagNumber===6&&(w=!0),w===!1)throw new Error("Incorrect type for ECDSA public key parameters");let E=this.getAlgorithmByOID(r.algorithm.algorithmParams.valueBlock.toString(),!0);u.algorithm.algorithm.namedCurve=E.name;}a=await this.getPublicKey(r,null,u);}else {if(i=this.getHashAlgorithm(n),!i)throw new Error(`Unsupported signature algorithm: ${n.algorithmId}`);a=await this.getPublicKey(r,n);}let o=this.getAlgorithmParameters(a.algorithm.name,"verify");"hash"in o.algorithm&&(o.algorithm.hash.name=i);let c=t.valueBlock.valueHexView;if(a.algorithm.name==="ECDSA"){let u=Lr.find(a.algorithm.namedCurve);if(!u)throw new Error("Unsupported named curve in use");let l=kt(c);_.assert(l,"Signature value"),c=gL(l.result,u.size);}if(a.algorithm.name==="RSA-PSS"){let u=new Yl({schema:n.algorithmParams});"saltLength"in u?o.algorithm.saltLength=u.saltLength:o.algorithm.saltLength=20;let l="SHA-1";"hashAlgorithm"in u&&(l=this.getAlgorithmByOID(u.hashAlgorithm.algorithmId,!0).name),o.algorithm.hash.name=l;}return this.verify(o.algorithm,a,c,e)}},vP={name:"none",crypto:null};function _k(s){return !!(s&&typeof s=="object"&&"crypto"in s)}function Mk(s,...e){let t=null;if(e.length<2)e.length?t=e[0]:t=typeof self<"u"&&self.crypto?new nh({name:"browser",crypto:self.crypto}):null;else {let r=e[0],n=e[1];_k(n)?t=n:_k(r)?t=r:"subtle"in r&&"getRandomValues"in r&&(t=new nh({crypto:r}));}if(typeof x<"u"&&"pid"in x&&typeof globalThis<"u"&&typeof window>"u"){if(typeof globalThis[x.pid]>"u")globalThis[x.pid]={};else if(typeof globalThis[x.pid]!="object")throw new Error(`Name global.${x.pid} already exists and it is not an object`);if(typeof globalThis[x.pid].pkijs>"u")globalThis[x.pid].pkijs={};else if(typeof globalThis[x.pid].pkijs!="object")throw new Error(`Name global.${x.pid}.pkijs already exists and it is not an object`);globalThis[x.pid].pkijs.engine={name:s,crypto:t};}else vP={name:s,crypto:t};}function mL(){if(typeof x<"u"&&"pid"in x&&typeof globalThis<"u"&&typeof window>"u"){let s;try{s=globalThis[x.pid].pkijs.engine;}catch{throw new Error("Please call 'setEngine' before call to 'getEngine'")}return s}return vP}function Oe(s=!1){let e=mL();if(!e.crypto&&s)throw new Error("Unable to create WebCrypto object");return e.crypto}function pL(s){if(s.byteLength%2!==0)return It;let e=s.byteLength/2,t=new ArrayBuffer(e);new Uint8Array(t).set(new Uint8Array(s,0,e));let n=new L({valueHex:t}),i=new ArrayBuffer(e);new Uint8Array(i).set(new Uint8Array(s,e,e));let o=new L({valueHex:i});return new k({value:[n.convertToDER(),o.convertToDER()]}).toBER(!1)}function gL(s,e){if(!(s instanceof k&&s.valueBlock.value.length===2&&s.valueBlock.value[0]instanceof L&&s.valueBlock.value[1]instanceof L))return It;let t=s.valueBlock.value[0].convertFromDER().valueBlock.valueHexView,r=s.valueBlock.value[1].convertFromDER().valueBlock.valueHexView,n=new Uint8Array(e*2);return n.set(t,e-t.byteLength),n.set(r,2*e-r.byteLength),n.buffer}async function yL(s,e,t,r,n){switch(s.toUpperCase()){case"SHA-1":case"SHA-256":case"SHA-384":case"SHA-512":break;default:throw new et(`Unknown hash function: ${s}`)}if(et.assert(e,"zBuffer","ArrayBuffer"),e.byteLength===0)throw new et("'zBuffer' has zero length, error");if(et.assert(r,"SharedInfo","ArrayBuffer"),t>255)throw new et("Please set 'Counter' argument to value less or equal to 255");let i=new ArrayBuffer(4),a=new Uint8Array(i);a[0]=0,a[1]=0,a[2]=0,a[3]=t;let o=It;o=to(o,e),o=to(o,i),o=to(o,r);let c=await n.digest({name:s},o);return {counter:t,result:c}}async function $k(s,e,t,r,n=Oe(!0)){let i=0,a=1;switch(s.toUpperCase()){case"SHA-1":i=160;break;case"SHA-256":i=256;break;case"SHA-384":i=384;break;case"SHA-512":i=512;break;default:throw new et(`Unknown hash function: ${s}`)}if(et.assert(e,"Zbuffer","ArrayBuffer"),e.byteLength===0)throw new et("'Zbuffer' has zero length, error");et.assert(r,"SharedInfo","ArrayBuffer");let o=t/i;Math.floor(o)>0&&(a=Math.floor(o),o-a>0&&a++);let c=[];for(let w=1;w<=a;w++)c.push(await yL(s,e,w,r,n));let u=It,l=1,m=!0;for(;m;){m=!1;for(let w of c)if(w.counter===l){u=to(u,w.result),m=!0;break}l++;}if(t>>=3,u.byteLength>t){let w=new ArrayBuffer(t),E=new Uint8Array(w),v=new Uint8Array(u);for(let A=0;A<t;A++)E[A]=v[A];return w}return u}var sA="version",rA="logID",nA="extensions",iA="timestamp",aA="hashAlgorithm",oA="signatureAlgorithm",cA="signature",qk="none",Fk="md5",Kk="sha1",Gk="sha224",Wk="sha256",Jk="sha384",zk="sha512",Yk="anonymous",Zk="rsa",Xk="dsa",Qk="ecdsa",Kw=class s extends q{constructor(e={}){super(),this.version=y(e,sA,s.defaultValues(sA)),this.logID=y(e,rA,s.defaultValues(rA)),this.timestamp=y(e,iA,s.defaultValues(iA)),this.extensions=y(e,nA,s.defaultValues(nA)),this.hashAlgorithm=y(e,aA,s.defaultValues(aA)),this.signatureAlgorithm=y(e,oA,s.defaultValues(oA)),this.signature=y(e,cA,s.defaultValues(cA)),"stream"in e&&e.stream&&this.fromStream(e.stream),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case sA:return 0;case rA:case nA:return It;case iA:return new Date(0);case aA:case oA:return b;case cA:return It;default:return super.defaultValues(e)}}fromSchema(e){if(!(e instanceof io))throw new Error("Object's schema was not verified against input data for SignedCertificateTimestamp");let t=new pn({stream:new es({buffer:e.data})});this.fromStream(t);}fromStream(e){let t=e.getUint16();if(this.version=e.getBlock(1)[0],this.version===0){this.logID=new Uint8Array(e.getBlock(32)).buffer.slice(0),this.timestamp=new Date(un(new Uint8Array(e.getBlock(8)),8));let r=e.getUint16();switch(this.extensions=new Uint8Array(e.getBlock(r)).buffer.slice(0),e.getBlock(1)[0]){case 0:this.hashAlgorithm=qk;break;case 1:this.hashAlgorithm=Fk;break;case 2:this.hashAlgorithm=Kk;break;case 3:this.hashAlgorithm=Gk;break;case 4:this.hashAlgorithm=Wk;break;case 5:this.hashAlgorithm=Jk;break;case 6:this.hashAlgorithm=zk;break;default:throw new Error("Object's stream was not correct for SignedCertificateTimestamp")}switch(e.getBlock(1)[0]){case 0:this.signatureAlgorithm=Yk;break;case 1:this.signatureAlgorithm=Zk;break;case 2:this.signatureAlgorithm=Xk;break;case 3:this.signatureAlgorithm=Qk;break;default:throw new Error("Object's stream was not correct for SignedCertificateTimestamp")}let n=e.getUint16();if(this.signature=new Uint8Array(e.getBlock(n)).buffer.slice(0),t!==47+r+n)throw new Error("Object's stream was not correct for SignedCertificateTimestamp")}}toSchema(){let e=this.toStream();return new io({data:e.stream.buffer})}toStream(){let e=new pn;e.appendUint16(47+this.extensions.byteLength+this.signature.byteLength),e.appendChar(this.version),e.appendView(new Uint8Array(this.logID));let t=new ArrayBuffer(8),r=new Uint8Array(t),n=hr(this.timestamp.valueOf(),8);r.set(new Uint8Array(n),8-n.byteLength),e.appendView(r),e.appendUint16(this.extensions.byteLength),this.extensions.byteLength&&e.appendView(new Uint8Array(this.extensions));let i;switch(this.hashAlgorithm.toLowerCase()){case qk:i=0;break;case Fk:i=1;break;case Kk:i=2;break;case Gk:i=3;break;case Wk:i=4;break;case Jk:i=5;break;case zk:i=6;break;default:throw new Error(`Incorrect data for hashAlgorithm: ${this.hashAlgorithm}`)}e.appendChar(i);let a;switch(this.signatureAlgorithm.toLowerCase()){case Yk:a=0;break;case Zk:a=1;break;case Xk:a=2;break;case Qk:a=3;break;default:throw new Error(`Incorrect data for signatureAlgorithm: ${this.signatureAlgorithm}`)}return e.appendChar(a),e.appendUint16(this.signature.byteLength),e.appendView(new Uint8Array(this.signature)),e}toJSON(){return {version:this.version,logID:ey(this.logID),timestamp:this.timestamp,extensions:ey(this.extensions),hashAlgorithm:this.hashAlgorithm,signatureAlgorithm:this.signatureAlgorithm,signature:ey(this.signature)}}async verify(e,t,r=0,n=Oe(!0)){let i=sy(Hf(this.logID)),a=null,o=new pn;for(let E of e)if(E.log_id===i){a=E.key;break}if(!a)throw new Error(`Public key not found for CT with logId: ${i}`);let c=so(yu(a)),u=$s.fromBER(c);o.appendChar(0),o.appendChar(0);let l=new ArrayBuffer(8),m=new Uint8Array(l),w=hr(this.timestamp.valueOf(),8);return m.set(new Uint8Array(w),8-w.byteLength),o.appendView(m),o.appendUint16(r),r===0&&o.appendUint24(t.byteLength),o.appendView(new Uint8Array(t)),o.appendUint16(this.extensions.byteLength),this.extensions.byteLength!==0&&o.appendView(new Uint8Array(this.extensions)),n.verifyWithPublicKey(o.buffer.slice(0,o.length),new z({valueHex:this.signature}),u,{algorithmId:b},"SHA-256")}};Kw.CLASS_NAME="SignedCertificateTimestamp";var _y="timestamps",Gw=class s extends q{constructor(e={}){super(),this.timestamps=y(e,_y,s.defaultValues(_y)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case _y:return [];default:return super.defaultValues(e)}}static compareWithDefault(e,t){switch(e){case _y:return t.length===0;default:return super.defaultValues(e)}}static schema(e={}){var t;let r=y(e,"names",{});return (t=r.optional)!==null&&t!==void 0||(r.optional=!1),new z({name:r.blockName||"SignedCertificateTimestampList",optional:r.optional})}fromSchema(e){if(!(e instanceof z))throw new Error("Object's schema was not verified against input data for SignedCertificateTimestampList");let t=new pn({stream:new es({buffer:e.valueBlock.valueHex})});if(t.getUint16()!==t.length)throw new Error("Object's schema was not verified against input data for SignedCertificateTimestampList");for(;t.length;)this.timestamps.push(new Kw({stream:t}));}toSchema(){let e=new pn,t=0,r=[];for(let n of this.timestamps){let i=n.toStream();r.push(i),t+=i.stream.buffer.byteLength;}e.appendUint16(t);for(let n of r)e.appendView(n.stream.view);return new z({valueHex:e.stream.buffer.slice(0)})}toJSON(){return {timestamps:Array.from(this.timestamps,e=>e.toJSON())}}};Gw.CLASS_NAME="SignedCertificateTimestampList";var Wd="attributes",wL=[Wd],Ww=class s extends q{constructor(e={}){super(),this.attributes=y(e,Wd,s.defaultValues(Wd)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Wd:return [];default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||b,value:[new Ae({name:t.attributes||b,value:yt.schema()})]})}fromSchema(e){W(e,wL);let t=K(e,e,s.schema({names:{attributes:Wd}}));_.assertSchema(t,this.className),this.attributes=Array.from(t.result.attributes,r=>new yt({schema:r}));}toSchema(){return new k({value:Array.from(this.attributes,e=>e.toSchema())})}toJSON(){return {attributes:Array.from(this.attributes,e=>e.toJSON())}}};Ww.CLASS_NAME="SubjectDirectoryAttributes";var BA=class s{static getItems(){return this.types||(this.types={},s.register(iP,"SubjectAltName",a0),s.register(aP,"IssuerAltName",a0),s.register(uI,"AuthorityKeyIdentifier",o0),s.register(oI,"BasicConstraints",c0),s.register(UU,"MicrosoftCaVersion",Lw),s.register(hP,"CertificatePolicies",h0),s.register(TU,"CertificatePoliciesMicrosoft",h0),s.register(DU,"MicrosoftCertTemplateV2",PA),s.register(lP,"CRLDistributionPoints",d0),s.register(cI,"FreshestCRL",d0),s.register(BU,"ExtKeyUsage",jw),s.register(cP,"CertificateIssuer",Lt),s.register(lI,"AuthorityInfoAccess",m0),s.register(RU,"SubjectInfoAccess",m0),s.register(oP,"IssuingDistributionPoint",Hw),s.register(uP,"NameConstraints",_w),s.register(dP,"PolicyConstraints",Mw),s.register(fP,"PolicyMappings",$w),s.register(IU,"PrivateKeyUsagePeriod",qw),s.register(LU,"QCStatements",Fw),s.register(VU,"SignedCertificateTimestampList",Gw),s.register(EU,"SubjectDirectoryAttributes",Ww)),this.types}static fromBER(e,t){let r=kt(t);if(r.offset===-1)return null;let n=this.find(e);if(n)try{return new n.type({schema:r.result})}catch{let i=new n.type;return i.parsingError=`Incorrectly formatted value of extension ${n.name} (${e})`,i}return r.result}static find(e){return this.getItems()[e]||null}static register(e,t,r){this.getItems()[e]={name:t,type:r};}},Jd="extnID",Hi="critical",zd="extnValue",My="parsedValue",bL=[Jd,Hi,zd],Bs=class s extends q{get parsedValue(){if(this._parsedValue===void 0){let e=BA.fromBER(this.extnID,this.extnValue.valueBlock.valueHexView);this._parsedValue=e;}return this._parsedValue||void 0}set parsedValue(e){this._parsedValue=e;}constructor(e={}){super(),this.extnID=y(e,Jd,s.defaultValues(Jd)),this.critical=y(e,Hi,s.defaultValues(Hi)),zd in e?this.extnValue=new z({valueHex:e.extnValue}):this.extnValue=s.defaultValues(zd),My in e&&(this.parsedValue=y(e,My,s.defaultValues(My))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Jd:return b;case Hi:return !1;case zd:return new z;case My:return {};default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||b,value:[new ie({name:t.extnID||b}),new _s({name:t.critical||b,optional:!0}),new z({name:t.extnValue||b})]})}fromSchema(e){W(e,bL);let t=K(e,e,s.schema({names:{extnID:Jd,critical:Hi,extnValue:zd}}));_.assertSchema(t,this.className),this.extnID=t.result.extnID.valueBlock.toString(),Hi in t.result&&(this.critical=t.result.critical.valueBlock.value),this.extnValue=t.result.extnValue;}toSchema(){let e=[];return e.push(new ie({value:this.extnID})),this.critical!==s.defaultValues(Hi)&&e.push(new _s({value:this.critical})),e.push(this.extnValue),new k({value:e})}toJSON(){let e={extnID:this.extnID,extnValue:this.extnValue.toJSON()};return this.critical!==s.defaultValues(Hi)&&(e.critical=this.critical),this.parsedValue&&this.parsedValue.toJSON&&(e.parsedValue=this.parsedValue.toJSON()),e}};Bs.CLASS_NAME="Extension";var Yd="extensions",SL=[Yd],Pt=class s extends q{constructor(e={}){super(),this.extensions=y(e,Yd,s.defaultValues(Yd)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Yd:return [];default:return super.defaultValues(e)}}static schema(e={},t=!1){let r=y(e,"names",{});return new k({optional:t,name:r.blockName||b,value:[new Ae({name:r.extensions||b,value:Bs.schema(r.extension||{})})]})}fromSchema(e){W(e,SL);let t=K(e,e,s.schema({names:{extensions:Yd}}));_.assertSchema(t,this.className),this.extensions=Array.from(t.result.extensions,r=>new Bs({schema:r}));}toSchema(){return new k({value:Array.from(this.extensions,e=>e.toSchema())})}toJSON(){return {extensions:this.extensions.map(e=>e.toJSON())}}};Pt.CLASS_NAME="Extensions";var Zd="issuer",Xd="serialNumber",Co="issuerUID",vL=[Zd,Xd,Co],Ws=class s extends q{constructor(e={}){super(),this.issuer=y(e,Zd,s.defaultValues(Zd)),this.serialNumber=y(e,Xd,s.defaultValues(Xd)),Co in e&&(this.issuerUID=y(e,Co,s.defaultValues(Co))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Zd:return new Lt;case Xd:return new L;case Co:return new Ve;default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||b,value:[Lt.schema(t.issuer||{}),new L({name:t.serialNumber||b}),new Ve({optional:!0,name:t.issuerUID||b})]})}fromSchema(e){W(e,vL);let t=K(e,e,s.schema({names:{issuer:{names:{blockName:Zd}},serialNumber:Xd,issuerUID:Co}}));_.assertSchema(t,this.className),this.issuer=new Lt({schema:t.result.issuer}),this.serialNumber=t.result.serialNumber,Co in t.result&&(this.issuerUID=t.result.issuerUID);}toSchema(){let e=new k({value:[this.issuer.toSchema(),this.serialNumber]});return this.issuerUID&&e.valueBlock.value.push(this.issuerUID),e}toJSON(){let e={issuer:this.issuer.toJSON(),serialNumber:this.serialNumber.toJSON()};return this.issuerUID&&(e.issuerUID=this.issuerUID.toJSON()),e}};Ws.CLASS_NAME="IssuerSerial";var Qd="version",No="baseCertificateID",ko="subjectName",em="issuer",tm="signature",sm="serialNumber",rm="attrCertValidityPeriod",nm="attributes",Po="issuerUniqueID",To="extensions",EL=[Qd,No,ko,em,tm,sm,rm,nm,Po,To],Zl=class s extends q{constructor(e={}){super(),this.version=y(e,Qd,s.defaultValues(Qd)),No in e&&(this.baseCertificateID=y(e,No,s.defaultValues(No))),ko in e&&(this.subjectName=y(e,ko,s.defaultValues(ko))),this.issuer=y(e,em,s.defaultValues(em)),this.signature=y(e,tm,s.defaultValues(tm)),this.serialNumber=y(e,sm,s.defaultValues(sm)),this.attrCertValidityPeriod=y(e,rm,s.defaultValues(rm)),this.attributes=y(e,nm,s.defaultValues(nm)),Po in e&&(this.issuerUniqueID=y(e,Po,s.defaultValues(Po))),To in e&&(this.extensions=y(e,To,s.defaultValues(To))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Qd:return 0;case No:return new Ws;case ko:return new Lt;case em:return new Lt;case tm:return new j;case sm:return new L;case rm:return new Vn;case nm:return [];case Po:return new Ve;case To:return new Pt;default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||b,value:[new L({name:t.version||b}),new it({value:[new V({name:t.baseCertificateID||b,idBlock:{tagClass:3,tagNumber:0},value:Ws.schema().valueBlock.value}),new V({name:t.subjectName||b,idBlock:{tagClass:3,tagNumber:1},value:Lt.schema().valueBlock.value})]}),Lt.schema({names:{blockName:t.issuer||b}}),j.schema(t.signature||{}),new L({name:t.serialNumber||b}),Vn.schema(t.attrCertValidityPeriod||{}),new k({name:t.attributes||b,value:[new Ae({value:yt.schema()})]}),new Ve({optional:!0,name:t.issuerUniqueID||b}),Pt.schema(t.extensions||{},!0)]})}fromSchema(e){W(e,EL);let t=K(e,e,s.schema({names:{version:Qd,baseCertificateID:No,subjectName:ko,issuer:em,signature:{names:{blockName:tm}},serialNumber:sm,attrCertValidityPeriod:{names:{blockName:rm}},attributes:nm,issuerUniqueID:Po,extensions:{names:{blockName:To}}}}));_.assertSchema(t,this.className),this.version=t.result.version.valueBlock.valueDec,No in t.result&&(this.baseCertificateID=new Ws({schema:new k({value:t.result.baseCertificateID.valueBlock.value})})),ko in t.result&&(this.subjectName=new Lt({schema:new k({value:t.result.subjectName.valueBlock.value})})),this.issuer=t.result.issuer,this.signature=new j({schema:t.result.signature}),this.serialNumber=t.result.serialNumber,this.attrCertValidityPeriod=new Vn({schema:t.result.attrCertValidityPeriod}),this.attributes=Array.from(t.result.attributes.valueBlock.value,r=>new yt({schema:r})),Po in t.result&&(this.issuerUniqueID=t.result.issuerUniqueID),To in t.result&&(this.extensions=new Pt({schema:t.result.extensions}));}toSchema(){let e=new k({value:[new L({value:this.version})]});return this.baseCertificateID&&e.valueBlock.value.push(new V({idBlock:{tagClass:3,tagNumber:0},value:this.baseCertificateID.toSchema().valueBlock.value})),this.subjectName&&e.valueBlock.value.push(new V({idBlock:{tagClass:3,tagNumber:1},value:this.subjectName.toSchema().valueBlock.value})),e.valueBlock.value.push(this.issuer.toSchema()),e.valueBlock.value.push(this.signature.toSchema()),e.valueBlock.value.push(this.serialNumber),e.valueBlock.value.push(this.attrCertValidityPeriod.toSchema()),e.valueBlock.value.push(new k({value:Array.from(this.attributes,t=>t.toSchema())})),this.issuerUniqueID&&e.valueBlock.value.push(this.issuerUniqueID),this.extensions&&e.valueBlock.value.push(this.extensions.toSchema()),e}toJSON(){let e={version:this.version};return this.baseCertificateID&&(e.baseCertificateID=this.baseCertificateID.toJSON()),this.subjectName&&(e.subjectName=this.subjectName.toJSON()),e.issuer=this.issuer.toJSON(),e.signature=this.signature.toJSON(),e.serialNumber=this.serialNumber.toJSON(),e.attrCertValidityPeriod=this.attrCertValidityPeriod.toJSON(),e.attributes=Array.from(this.attributes,t=>t.toJSON()),this.issuerUniqueID&&(e.issuerUniqueID=this.issuerUniqueID.toJSON()),this.extensions&&(e.extensions=this.extensions.toJSON()),e}};Zl.CLASS_NAME="AttributeCertificateInfoV1";var im="acinfo",am="signatureAlgorithm",om="signatureValue",xL=[im,om,am],ih=class s extends q{constructor(e={}){super(),this.acinfo=y(e,im,s.defaultValues(im)),this.signatureAlgorithm=y(e,am,s.defaultValues(am)),this.signatureValue=y(e,om,s.defaultValues(om)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case im:return new Zl;case am:return new j;case om:return new Ve;default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||b,value:[Zl.schema(t.acinfo||{}),j.schema(t.signatureAlgorithm||{}),new Ve({name:t.signatureValue||b})]})}fromSchema(e){W(e,xL);let t=K(e,e,s.schema({names:{acinfo:{names:{blockName:im}},signatureAlgorithm:{names:{blockName:am}},signatureValue:om}}));_.assertSchema(t,this.className),this.acinfo=new Zl({schema:t.result.acinfo}),this.signatureAlgorithm=new j({schema:t.result.signatureAlgorithm}),this.signatureValue=t.result.signatureValue;}toSchema(){return new k({value:[this.acinfo.toSchema(),this.signatureAlgorithm.toSchema(),this.signatureValue]})}toJSON(){return {acinfo:this.acinfo.toJSON(),signatureAlgorithm:this.signatureAlgorithm.toJSON(),signatureValue:this.signatureValue.toJSON()}}};ih.CLASS_NAME="AttributeCertificateV1";var cm="digestedObjectType",Bo="otherObjectTypeID",um="digestAlgorithm",lm="objectDigest",AL=[cm,Bo,um,lm],Dn=class s extends q{constructor(e={}){super(),this.digestedObjectType=y(e,cm,s.defaultValues(cm)),Bo in e&&(this.otherObjectTypeID=y(e,Bo,s.defaultValues(Bo))),this.digestAlgorithm=y(e,um,s.defaultValues(um)),this.objectDigest=y(e,lm,s.defaultValues(lm)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case cm:return new Or;case Bo:return new ie;case um:return new j;case lm:return new Ve;default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||b,value:[new Or({name:t.digestedObjectType||b}),new ie({optional:!0,name:t.otherObjectTypeID||b}),j.schema(t.digestAlgorithm||{}),new Ve({name:t.objectDigest||b})]})}fromSchema(e){W(e,AL);let t=K(e,e,s.schema({names:{digestedObjectType:cm,otherObjectTypeID:Bo,digestAlgorithm:{names:{blockName:um}},objectDigest:lm}}));_.assertSchema(t,this.className),this.digestedObjectType=t.result.digestedObjectType,Bo in t.result&&(this.otherObjectTypeID=t.result.otherObjectTypeID),this.digestAlgorithm=new j({schema:t.result.digestAlgorithm}),this.objectDigest=t.result.objectDigest;}toSchema(){let e=new k({value:[this.digestedObjectType]});return this.otherObjectTypeID&&e.valueBlock.value.push(this.otherObjectTypeID),e.valueBlock.value.push(this.digestAlgorithm.toSchema()),e.valueBlock.value.push(this.objectDigest),e}toJSON(){let e={digestedObjectType:this.digestedObjectType.toJSON(),digestAlgorithm:this.digestAlgorithm.toJSON(),objectDigest:this.objectDigest.toJSON()};return this.otherObjectTypeID&&(e.otherObjectTypeID=this.otherObjectTypeID.toJSON()),e}};Dn.CLASS_NAME="ObjectDigestInfo";var Oo="issuerName",Ro="baseCertificateID",Vo="objectDigestInfo",IL=[Oo,Ro,Vo],v0=class s extends q{constructor(e={}){super(),Oo in e&&(this.issuerName=y(e,Oo,s.defaultValues(Oo))),Ro in e&&(this.baseCertificateID=y(e,Ro,s.defaultValues(Ro))),Vo in e&&(this.objectDigestInfo=y(e,Vo,s.defaultValues(Vo))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Oo:return new Lt;case Ro:return new Ws;case Vo:return new Dn;default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||b,value:[Lt.schema({names:{blockName:t.issuerName}},!0),new V({optional:!0,name:t.baseCertificateID||b,idBlock:{tagClass:3,tagNumber:0},value:Ws.schema().valueBlock.value}),new V({optional:!0,name:t.objectDigestInfo||b,idBlock:{tagClass:3,tagNumber:1},value:Dn.schema().valueBlock.value})]})}fromSchema(e){W(e,IL);let t=K(e,e,s.schema({names:{issuerName:Oo,baseCertificateID:Ro,objectDigestInfo:Vo}}));_.assertSchema(t,this.className),Oo in t.result&&(this.issuerName=new Lt({schema:t.result.issuerName})),Ro in t.result&&(this.baseCertificateID=new Ws({schema:new k({value:t.result.baseCertificateID.valueBlock.value})})),Vo in t.result&&(this.objectDigestInfo=new Dn({schema:new k({value:t.result.objectDigestInfo.valueBlock.value})}));}toSchema(){let e=new k;return this.issuerName&&e.valueBlock.value.push(this.issuerName.toSchema()),this.baseCertificateID&&e.valueBlock.value.push(new V({idBlock:{tagClass:3,tagNumber:0},value:this.baseCertificateID.toSchema().valueBlock.value})),this.objectDigestInfo&&e.valueBlock.value.push(new V({idBlock:{tagClass:3,tagNumber:1},value:this.objectDigestInfo.toSchema().valueBlock.value})),e}toJSON(){let e={};return this.issuerName&&(e.issuerName=this.issuerName.toJSON()),this.baseCertificateID&&(e.baseCertificateID=this.baseCertificateID.toJSON()),this.objectDigestInfo&&(e.objectDigestInfo=this.objectDigestInfo.toJSON()),e}};v0.CLASS_NAME="V2Form";var Do="baseCertificateID",Uo="entityName",Lo="objectDigestInfo",CL=[Do,Uo,Lo],Xl=class s extends q{constructor(e={}){super(),Do in e&&(this.baseCertificateID=y(e,Do,s.defaultValues(Do))),Uo in e&&(this.entityName=y(e,Uo,s.defaultValues(Uo))),Lo in e&&(this.objectDigestInfo=y(e,Lo,s.defaultValues(Lo))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Do:return new Ws;case Uo:return new Lt;case Lo:return new Dn;default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||b,value:[new V({optional:!0,name:t.baseCertificateID||b,idBlock:{tagClass:3,tagNumber:0},value:Ws.schema().valueBlock.value}),new V({optional:!0,name:t.entityName||b,idBlock:{tagClass:3,tagNumber:1},value:Lt.schema().valueBlock.value}),new V({optional:!0,name:t.objectDigestInfo||b,idBlock:{tagClass:3,tagNumber:2},value:Dn.schema().valueBlock.value})]})}fromSchema(e){W(e,CL);let t=K(e,e,s.schema({names:{baseCertificateID:Do,entityName:Uo,objectDigestInfo:Lo}}));_.assertSchema(t,this.className),Do in t.result&&(this.baseCertificateID=new Ws({schema:new k({value:t.result.baseCertificateID.valueBlock.value})})),Uo in t.result&&(this.entityName=new Lt({schema:new k({value:t.result.entityName.valueBlock.value})})),Lo in t.result&&(this.objectDigestInfo=new Dn({schema:new k({value:t.result.objectDigestInfo.valueBlock.value})}));}toSchema(){let e=new k;return this.baseCertificateID&&e.valueBlock.value.push(new V({idBlock:{tagClass:3,tagNumber:0},value:this.baseCertificateID.toSchema().valueBlock.value})),this.entityName&&e.valueBlock.value.push(new V({idBlock:{tagClass:3,tagNumber:1},value:this.entityName.toSchema().valueBlock.value})),this.objectDigestInfo&&e.valueBlock.value.push(new V({idBlock:{tagClass:3,tagNumber:2},value:this.objectDigestInfo.toSchema().valueBlock.value})),e}toJSON(){let e={};return this.baseCertificateID&&(e.baseCertificateID=this.baseCertificateID.toJSON()),this.entityName&&(e.entityName=this.entityName.toJSON()),this.objectDigestInfo&&(e.objectDigestInfo=this.objectDigestInfo.toJSON()),e}};Xl.CLASS_NAME="Holder";var hm="version",fm="holder",dm="issuer",mm="signature",pm="serialNumber",gm="attrCertValidityPeriod",ym="attributes",jo="issuerUniqueID",Ho="extensions",NL=[hm,fm,dm,mm,pm,gm,ym,jo,Ho],Ql=class s extends q{constructor(e={}){super(),this.version=y(e,hm,s.defaultValues(hm)),this.holder=y(e,fm,s.defaultValues(fm)),this.issuer=y(e,dm,s.defaultValues(dm)),this.signature=y(e,mm,s.defaultValues(mm)),this.serialNumber=y(e,pm,s.defaultValues(pm)),this.attrCertValidityPeriod=y(e,gm,s.defaultValues(gm)),this.attributes=y(e,ym,s.defaultValues(ym)),jo in e&&(this.issuerUniqueID=y(e,jo,s.defaultValues(jo))),Ho in e&&(this.extensions=y(e,Ho,s.defaultValues(Ho))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case hm:return 1;case fm:return new Xl;case dm:return {};case mm:return new j;case pm:return new L;case gm:return new Vn;case ym:return [];case jo:return new Ve;case Ho:return new Pt;default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||b,value:[new L({name:t.version||b}),Xl.schema(t.holder||{}),new it({value:[Lt.schema({names:{blockName:t.issuer||b}}),new V({name:t.issuer||b,idBlock:{tagClass:3,tagNumber:0},value:v0.schema().valueBlock.value})]}),j.schema(t.signature||{}),new L({name:t.serialNumber||b}),Vn.schema(t.attrCertValidityPeriod||{}),new k({name:t.attributes||b,value:[new Ae({value:yt.schema()})]}),new Ve({optional:!0,name:t.issuerUniqueID||b}),Pt.schema(t.extensions||{},!0)]})}fromSchema(e){W(e,NL);let t=K(e,e,s.schema({names:{version:hm,holder:{names:{blockName:fm}},issuer:dm,signature:{names:{blockName:mm}},serialNumber:pm,attrCertValidityPeriod:{names:{blockName:gm}},attributes:ym,issuerUniqueID:jo,extensions:{names:{blockName:Ho}}}}));switch(_.assertSchema(t,this.className),this.version=t.result.version.valueBlock.valueDec,this.holder=new Xl({schema:t.result.holder}),t.result.issuer.idBlock.tagClass){case 3:this.issuer=new v0({schema:new k({value:t.result.issuer.valueBlock.value})});break;case 1:default:throw new Error("Incorrect value for 'issuer' in AttributeCertificateInfoV2")}this.signature=new j({schema:t.result.signature}),this.serialNumber=t.result.serialNumber,this.attrCertValidityPeriod=new Vn({schema:t.result.attrCertValidityPeriod}),this.attributes=Array.from(t.result.attributes.valueBlock.value,r=>new yt({schema:r})),jo in t.result&&(this.issuerUniqueID=t.result.issuerUniqueID),Ho in t.result&&(this.extensions=new Pt({schema:t.result.extensions}));}toSchema(){let e=new k({value:[new L({value:this.version}),this.holder.toSchema(),new V({idBlock:{tagClass:3,tagNumber:0},value:this.issuer.toSchema().valueBlock.value}),this.signature.toSchema(),this.serialNumber,this.attrCertValidityPeriod.toSchema(),new k({value:Array.from(this.attributes,t=>t.toSchema())})]});return this.issuerUniqueID&&e.valueBlock.value.push(this.issuerUniqueID),this.extensions&&e.valueBlock.value.push(this.extensions.toSchema()),e}toJSON(){let e={version:this.version,holder:this.holder.toJSON(),issuer:this.issuer.toJSON(),signature:this.signature.toJSON(),serialNumber:this.serialNumber.toJSON(),attrCertValidityPeriod:this.attrCertValidityPeriod.toJSON(),attributes:Array.from(this.attributes,t=>t.toJSON())};return this.issuerUniqueID&&(e.issuerUniqueID=this.issuerUniqueID.toJSON()),this.extensions&&(e.extensions=this.extensions.toJSON()),e}};Ql.CLASS_NAME="AttributeCertificateInfoV2";var wm="acinfo",bm="signatureAlgorithm",Sm="signatureValue",kL=[wm,bm,Sm],Ur=class s extends q{constructor(e={}){super(),this.acinfo=y(e,wm,s.defaultValues(wm)),this.signatureAlgorithm=y(e,bm,s.defaultValues(bm)),this.signatureValue=y(e,Sm,s.defaultValues(Sm)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case wm:return new Ql;case bm:return new j;case Sm:return new Ve;default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||b,value:[Ql.schema(t.acinfo||{}),j.schema(t.signatureAlgorithm||{}),new Ve({name:t.signatureValue||b})]})}fromSchema(e){W(e,kL);let t=K(e,e,s.schema({names:{acinfo:{names:{blockName:wm}},signatureAlgorithm:{names:{blockName:bm}},signatureValue:Sm}}));_.assertSchema(t,this.className),this.acinfo=new Ql({schema:t.result.acinfo}),this.signatureAlgorithm=new j({schema:t.result.signatureAlgorithm}),this.signatureValue=t.result.signatureValue;}toSchema(){return new k({value:[this.acinfo.toSchema(),this.signatureAlgorithm.toSchema(),this.signatureValue]})}toJSON(){return {acinfo:this.acinfo.toJSON(),signatureAlgorithm:this.signatureAlgorithm.toJSON(),signatureValue:this.signatureValue.toJSON()}}};Ur.CLASS_NAME="AttributeCertificateV2";var _o="contentType",_u="content",PL=[_o,_u],mt=class s extends q{constructor(e={}){super(),this.contentType=y(e,_o,s.defaultValues(_o)),this.content=y(e,_u,s.defaultValues(_u)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case _o:return b;case _u:return new be;default:return super.defaultValues(e)}}static compareWithDefault(e,t){switch(e){case _o:return typeof t=="string"&&t===this.defaultValues(_o);case _u:return t instanceof be;default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return "optional"in t||(t.optional=!1),new k({name:t.blockName||"ContentInfo",optional:t.optional,value:[new ie({name:t.contentType||_o}),new V({idBlock:{tagClass:3,tagNumber:0},value:[new be({name:t.content||_u})]})]})}fromSchema(e){W(e,PL);let t=K(e,e,s.schema());_.assertSchema(t,this.className),this.contentType=t.result.contentType.valueBlock.toString(),this.content=t.result.content;}toSchema(){return new k({value:[new ie({value:this.contentType}),new V({idBlock:{tagClass:3,tagNumber:0},value:[this.content]})]})}toJSON(){let e={contentType:this.contentType};return this.content instanceof be||(e.content=this.content.toJSON()),e}};mt.CLASS_NAME="ContentInfo";mt.DATA=hI;mt.SIGNED_DATA=mP;mt.ENVELOPED_DATA=pP;mt.ENCRYPTED_DATA=gP;var uA="type",lA="value",OA="utcTimeName",RA="generalTimeName",TL=[OA,RA],eP;(function(s){s[s.UTCTime=0]="UTCTime",s[s.GeneralizedTime=1]="GeneralizedTime",s[s.empty=2]="empty";})(eP||(eP={}));var jt=class s extends q{constructor(e={}){super(),this.type=y(e,uA,s.defaultValues(uA)),this.value=y(e,lA,s.defaultValues(lA)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case uA:return 0;case lA:return new Date(0,0,0);default:return super.defaultValues(e)}}static schema(e={},t=!1){let r=y(e,"names",{});return new it({optional:t,value:[new fn({name:r.utcTimeName||b}),new nt({name:r.generalTimeName||b})]})}fromSchema(e){W(e,TL);let t=K(e,e,s.schema({names:{utcTimeName:OA,generalTimeName:RA}}));_.assertSchema(t,this.className),OA in t.result&&(this.type=0,this.value=t.result.utcTimeName.toDate()),RA in t.result&&(this.type=1,this.value=t.result.generalTimeName.toDate());}toSchema(){return this.type===0?new fn({valueDate:this.value}):this.type===1?new nt({valueDate:this.value}):{}}toJSON(){return {type:this.type,value:this.value}}};jt.CLASS_NAME="Time";var hA="tbs",_i="version",ow="serialNumber",cw="signature",uw="issuer",lw="notBefore",hw="notAfter",fw="subject",dw="subjectPublicKeyInfo",vm="issuerUniqueID",Em="subjectUniqueID",xm="extensions",Am="signatureAlgorithm",Im="signatureValue",qs="tbsCertificate",Jw=`${qs}.${_i}`,dI=`${qs}.${ow}`,mI=`${qs}.${cw}`,pI=`${qs}.${uw}`,zw=`${qs}.${lw}`,Yw=`${qs}.${hw}`,gI=`${qs}.${fw}`,yI=`${qs}.${dw}`,Zw=`${qs}.${vm}`,Xw=`${qs}.${Em}`,r0=`${qs}.${xm}`,BL=[qs,Jw,dI,mI,pI,zw,Yw,gI,yI,Zw,Xw,r0,Am,Im];function OL(s={}){let e=y(s,"names",{});return new k({name:e.blockName||qs,value:[new V({optional:!0,idBlock:{tagClass:3,tagNumber:0},value:[new L({name:e.tbsCertificateVersion||Jw})]}),new L({name:e.tbsCertificateSerialNumber||dI}),j.schema(e.signature||{names:{blockName:mI}}),at.schema(e.issuer||{names:{blockName:pI}}),new k({name:e.tbsCertificateValidity||"tbsCertificate.validity",value:[jt.schema(e.notBefore||{names:{utcTimeName:zw,generalTimeName:zw}}),jt.schema(e.notAfter||{names:{utcTimeName:Yw,generalTimeName:Yw}})]}),at.schema(e.subject||{names:{blockName:gI}}),$s.schema(e.subjectPublicKeyInfo||{names:{blockName:yI}}),new ge({name:e.tbsCertificateIssuerUniqueID||Zw,optional:!0,idBlock:{tagClass:3,tagNumber:1}}),new ge({name:e.tbsCertificateSubjectUniqueID||Xw,optional:!0,idBlock:{tagClass:3,tagNumber:2}}),new V({optional:!0,idBlock:{tagClass:3,tagNumber:3},value:[Pt.schema(e.extensions||{names:{blockName:r0}})]})]})}var ts=class s extends q{get tbs(){return Se.BufferSourceConverter.toArrayBuffer(this.tbsView)}set tbs(e){this.tbsView=new Uint8Array(e);}constructor(e={}){super(),this.tbsView=new Uint8Array(y(e,hA,s.defaultValues(hA))),this.version=y(e,_i,s.defaultValues(_i)),this.serialNumber=y(e,ow,s.defaultValues(ow)),this.signature=y(e,cw,s.defaultValues(cw)),this.issuer=y(e,uw,s.defaultValues(uw)),this.notBefore=y(e,lw,s.defaultValues(lw)),this.notAfter=y(e,hw,s.defaultValues(hw)),this.subject=y(e,fw,s.defaultValues(fw)),this.subjectPublicKeyInfo=y(e,dw,s.defaultValues(dw)),vm in e&&(this.issuerUniqueID=y(e,vm,s.defaultValues(vm))),Em in e&&(this.subjectUniqueID=y(e,Em,s.defaultValues(Em))),xm in e&&(this.extensions=y(e,xm,s.defaultValues(xm))),this.signatureAlgorithm=y(e,Am,s.defaultValues(Am)),this.signatureValue=y(e,Im,s.defaultValues(Im)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case hA:return It;case _i:return 0;case ow:return new L;case cw:return new j;case uw:return new at;case lw:return new jt;case hw:return new jt;case fw:return new at;case dw:return new $s;case vm:return It;case Em:return It;case xm:return [];case Am:return new j;case Im:return new Ve;default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||b,value:[OL(t.tbsCertificate),j.schema(t.signatureAlgorithm||{names:{blockName:Am}}),new Ve({name:t.signatureValue||Im})]})}fromSchema(e){W(e,BL);let t=K(e,e,s.schema({names:{tbsCertificate:{names:{extensions:{names:{extensions:r0}}}}}}));_.assertSchema(t,this.className),this.tbsView=t.result.tbsCertificate.valueBeforeDecodeView,Jw in t.result&&(this.version=t.result[Jw].valueBlock.valueDec),this.serialNumber=t.result[dI],this.signature=new j({schema:t.result[mI]}),this.issuer=new at({schema:t.result[pI]}),this.notBefore=new jt({schema:t.result[zw]}),this.notAfter=new jt({schema:t.result[Yw]}),this.subject=new at({schema:t.result[gI]}),this.subjectPublicKeyInfo=new $s({schema:t.result[yI]}),Zw in t.result&&(this.issuerUniqueID=t.result[Zw].valueBlock.valueHex),Xw in t.result&&(this.subjectUniqueID=t.result[Xw].valueBlock.valueHex),r0 in t.result&&(this.extensions=Array.from(t.result[r0],r=>new Bs({schema:r}))),this.signatureAlgorithm=new j({schema:t.result.signatureAlgorithm}),this.signatureValue=t.result.signatureValue;}encodeTBS(){let e=[];return _i in this&&this.version!==s.defaultValues(_i)&&e.push(new V({optional:!0,idBlock:{tagClass:3,tagNumber:0},value:[new L({value:this.version})]})),e.push(this.serialNumber),e.push(this.signature.toSchema()),e.push(this.issuer.toSchema()),e.push(new k({value:[this.notBefore.toSchema(),this.notAfter.toSchema()]})),e.push(this.subject.toSchema()),e.push(this.subjectPublicKeyInfo.toSchema()),this.issuerUniqueID&&e.push(new ge({optional:!0,idBlock:{tagClass:3,tagNumber:1},valueHex:this.issuerUniqueID})),this.subjectUniqueID&&e.push(new ge({optional:!0,idBlock:{tagClass:3,tagNumber:2},valueHex:this.subjectUniqueID})),this.extensions&&e.push(new V({optional:!0,idBlock:{tagClass:3,tagNumber:3},value:[new k({value:Array.from(this.extensions,t=>t.toSchema())})]})),new k({value:e})}toSchema(e=!1){let t;if(e===!1){if(!this.tbsView.byteLength)return s.schema().value[0];let r=kt(this.tbsView);_.assert(r,"TBS Certificate"),t=r.result;}else t=this.encodeTBS();return new k({value:[t,this.signatureAlgorithm.toSchema(),this.signatureValue]})}toJSON(){let e={tbs:Se.Convert.ToHex(this.tbsView),version:this.version,serialNumber:this.serialNumber.toJSON(),signature:this.signature.toJSON(),issuer:this.issuer.toJSON(),notBefore:this.notBefore.toJSON(),notAfter:this.notAfter.toJSON(),subject:this.subject.toJSON(),subjectPublicKeyInfo:this.subjectPublicKeyInfo.toJSON(),signatureAlgorithm:this.signatureAlgorithm.toJSON(),signatureValue:this.signatureValue.toJSON()};return _i in this&&this.version!==s.defaultValues(_i)&&(e.version=this.version),this.issuerUniqueID&&(e.issuerUniqueID=Se.Convert.ToHex(this.issuerUniqueID)),this.subjectUniqueID&&(e.subjectUniqueID=Se.Convert.ToHex(this.subjectUniqueID)),this.extensions&&(e.extensions=Array.from(this.extensions,t=>t.toJSON())),e}async getPublicKey(e,t=Oe(!0)){return t.getPublicKey(this.subjectPublicKeyInfo,this.signatureAlgorithm,e)}async getKeyHash(e="SHA-1",t=Oe(!0)){return t.digest({name:e},this.subjectPublicKeyInfo.subjectPublicKey.valueBlock.valueHexView)}async sign(e,t="SHA-1",r=Oe(!0)){if(!e)throw new Error("Need to provide a private key for signing");let n=await r.getSignatureParameters(e,t),i=n.parameters;this.signature=n.signatureAlgorithm,this.signatureAlgorithm=n.signatureAlgorithm,this.tbsView=new Uint8Array(this.encodeTBS().toBER());let a=await r.signWithPrivateKey(this.tbsView,e,i);this.signatureValue=new Ve({valueHex:a});}async verify(e,t=Oe(!0)){let r;if(e?r=e.subjectPublicKeyInfo:this.issuer.isEqual(this.subject)&&(r=this.subjectPublicKeyInfo),!(r instanceof $s))throw new Error("Please provide issuer certificate as a parameter");return t.verifyWithPublicKey(this.tbsView,this.signatureValue,r,this.signatureAlgorithm)}};ts.CLASS_NAME="Certificate";function EP(s,e=null){if(e&&s.issuer.isEqual(e.issuer)&&s.serialNumber.isEqual(e.serialNumber))return null;let t=!1;if(s.extensions){for(let r of s.extensions)if(r.extnID===oI&&r.parsedValue instanceof c0&&r.parsedValue.cA){t=!0;break}}return t?s:null}var Mu="certId",$u="certValue",Eu="parsedValue",RL=[Mu,$u],Qw=class s extends q{constructor(e={}){super(),this.certId=y(e,Mu,s.defaultValues(Mu)),this.certValue=y(e,$u,s.defaultValues($u)),Eu in e&&(this.parsedValue=y(e,Eu,s.defaultValues(Eu))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Mu:return b;case $u:return new be;case Eu:return {};default:return super.defaultValues(e)}}static compareWithDefault(e,t){switch(e){case Mu:return t===b;case $u:return t instanceof be;case Eu:return t instanceof Object&&Object.keys(t).length===0;default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||b,value:[new ie({name:t.id||"id"}),new V({idBlock:{tagClass:3,tagNumber:0},value:[new be({name:t.value||"value"})]})]})}fromSchema(e){W(e,RL);let t=K(e,e,s.schema({names:{id:Mu,value:$u}}));_.assertSchema(t,this.className),this.certId=t.result.certId.valueBlock.toString(),this.certValue=t.result.certValue;let r=this.certValue.valueBlock.valueHexView;switch(this.certId){case Dk:try{this.parsedValue=ts.fromBER(r);}catch{Ur.fromBER(r);}break;case Uk:this.parsedValue=Ur.fromBER(r);break;case HU:default:throw new Error(`Incorrect CERT_ID value in CertBag: ${this.certId}`)}}toSchema(){return Eu in this&&("acinfo"in this.parsedValue?this.certId=Uk:this.certId=Dk,this.certValue=new z({valueHex:this.parsedValue.toSchema().toBER(!1)})),new k({value:[new ie({value:this.certId}),new V({idBlock:{tagClass:3,tagNumber:0},value:["toSchema"in this.certValue?this.certValue.toSchema():this.certValue]})]})}toJSON(){return {certId:this.certId,certValue:this.certValue.toJSON()}}};Qw.CLASS_NAME="CertBag";var Cm="userCertificate",qu="revocationDate",Mo="crlEntryExtensions",VL=[Cm,qu,Mo],eb=class s extends q{constructor(e={}){super(),this.userCertificate=y(e,Cm,s.defaultValues(Cm)),this.revocationDate=y(e,qu,s.defaultValues(qu)),Mo in e&&(this.crlEntryExtensions=y(e,Mo,s.defaultValues(Mo))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Cm:return new L;case qu:return new jt;case Mo:return new Pt;default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||b,value:[new L({name:t.userCertificate||Cm}),jt.schema({names:{utcTimeName:t.revocationDate||qu,generalTimeName:t.revocationDate||qu}}),Pt.schema({names:{blockName:t.crlEntryExtensions||Mo}},!0)]})}fromSchema(e){W(e,VL);let t=K(e,e,s.schema());_.assertSchema(t,this.className),this.userCertificate=t.result.userCertificate,this.revocationDate=new jt({schema:t.result.revocationDate}),Mo in t.result&&(this.crlEntryExtensions=new Pt({schema:t.result.crlEntryExtensions}));}toSchema(){let e=[this.userCertificate,this.revocationDate.toSchema()];return this.crlEntryExtensions&&e.push(this.crlEntryExtensions.toSchema()),new k({value:e})}toJSON(){let e={userCertificate:this.userCertificate.toJSON(),revocationDate:this.revocationDate.toJSON()};return this.crlEntryExtensions&&(e.crlEntryExtensions=this.crlEntryExtensions.toJSON()),e}};eb.CLASS_NAME="RevokedCertificate";var fA="tbs",Qf="version",dA="signature",mA="issuer",pA="thisUpdate",$y="nextUpdate",qy="revokedCertificates",Fy="crlExtensions",Nm="signatureAlgorithm",km="signatureValue",jn="tbsCertList",tb=`${jn}.version`,wI=`${jn}.signature`,bI=`${jn}.issuer`,sb=`${jn}.thisUpdate`,E0=`${jn}.nextUpdate`,rb=`${jn}.revokedCertificates`,nb=`${jn}.extensions`,DL=[jn,tb,wI,bI,sb,E0,rb,nb,Nm,km];function UL(s={}){let e=y(s,"names",{});return new k({name:e.blockName||jn,value:[new L({optional:!0,name:e.tbsCertListVersion||tb,value:2}),j.schema(e.signature||{names:{blockName:wI}}),at.schema(e.issuer||{names:{blockName:bI}}),jt.schema(e.tbsCertListThisUpdate||{names:{utcTimeName:sb,generalTimeName:sb}}),jt.schema(e.tbsCertListNextUpdate||{names:{utcTimeName:E0,generalTimeName:E0}},!0),new k({optional:!0,value:[new Ae({name:e.tbsCertListRevokedCertificates||rb,value:new k({value:[new L,jt.schema(),Pt.schema({},!0)]})})]}),new V({optional:!0,idBlock:{tagClass:3,tagNumber:0},value:[Pt.schema(e.crlExtensions||{names:{blockName:nb}})]})]})}var LL=[uI,aP,CU,NU,oP,cI,lI,kU,PU,cP],Ac=class s extends q{get tbs(){return Se.BufferSourceConverter.toArrayBuffer(this.tbsView)}set tbs(e){this.tbsView=new Uint8Array(e);}constructor(e={}){super(),this.tbsView=new Uint8Array(y(e,fA,s.defaultValues(fA))),this.version=y(e,Qf,s.defaultValues(Qf)),this.signature=y(e,dA,s.defaultValues(dA)),this.issuer=y(e,mA,s.defaultValues(mA)),this.thisUpdate=y(e,pA,s.defaultValues(pA)),$y in e&&(this.nextUpdate=y(e,$y,s.defaultValues($y))),qy in e&&(this.revokedCertificates=y(e,qy,s.defaultValues(qy))),Fy in e&&(this.crlExtensions=y(e,Fy,s.defaultValues(Fy))),this.signatureAlgorithm=y(e,Nm,s.defaultValues(Nm)),this.signatureValue=y(e,km,s.defaultValues(km)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case fA:return It;case Qf:return 0;case dA:return new j;case mA:return new at;case pA:return new jt;case $y:return new jt;case qy:return [];case Fy:return new Pt;case Nm:return new j;case km:return new Ve;default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||"CertificateList",value:[UL(e),j.schema(t.signatureAlgorithm||{names:{blockName:Nm}}),new Ve({name:t.signatureValue||km})]})}fromSchema(e){W(e,DL);let t=K(e,e,s.schema());_.assertSchema(t,this.className),this.tbsView=t.result.tbsCertList.valueBeforeDecodeView,tb in t.result&&(this.version=t.result[tb].valueBlock.valueDec),this.signature=new j({schema:t.result[wI]}),this.issuer=new at({schema:t.result[bI]}),this.thisUpdate=new jt({schema:t.result[sb]}),E0 in t.result&&(this.nextUpdate=new jt({schema:t.result[E0]})),rb in t.result&&(this.revokedCertificates=Array.from(t.result[rb],r=>new eb({schema:r}))),nb in t.result&&(this.crlExtensions=new Pt({schema:t.result[nb]})),this.signatureAlgorithm=new j({schema:t.result.signatureAlgorithm}),this.signatureValue=t.result.signatureValue;}encodeTBS(){let e=[];return this.version!==s.defaultValues(Qf)&&e.push(new L({value:this.version})),e.push(this.signature.toSchema()),e.push(this.issuer.toSchema()),e.push(this.thisUpdate.toSchema()),this.nextUpdate&&e.push(this.nextUpdate.toSchema()),this.revokedCertificates&&e.push(new k({value:Array.from(this.revokedCertificates,t=>t.toSchema())})),this.crlExtensions&&e.push(new V({optional:!0,idBlock:{tagClass:3,tagNumber:0},value:[this.crlExtensions.toSchema()]})),new k({value:e})}toSchema(e=!1){let t;if(e)t=this.encodeTBS();else {if(!this.tbsView.byteLength)return s.schema();let r=kt(this.tbsView);_.assert(r,"TBS Certificate Revocation List"),t=r.result;}return new k({value:[t,this.signatureAlgorithm.toSchema(),this.signatureValue]})}toJSON(){let e={tbs:Se.Convert.ToHex(this.tbsView),version:this.version,signature:this.signature.toJSON(),issuer:this.issuer.toJSON(),thisUpdate:this.thisUpdate.toJSON(),signatureAlgorithm:this.signatureAlgorithm.toJSON(),signatureValue:this.signatureValue.toJSON()};return this.version!==s.defaultValues(Qf)&&(e.version=this.version),this.nextUpdate&&(e.nextUpdate=this.nextUpdate.toJSON()),this.revokedCertificates&&(e.revokedCertificates=Array.from(this.revokedCertificates,t=>t.toJSON())),this.crlExtensions&&(e.crlExtensions=this.crlExtensions.toJSON()),e}isCertificateRevoked(e){if(!this.issuer.isEqual(e.issuer)||!this.revokedCertificates)return !1;for(let t of this.revokedCertificates)if(t.userCertificate.isEqual(e.serialNumber))return !0;return !1}async sign(e,t="SHA-1",r=Oe(!0)){if(!e)throw new Error("Need to provide a private key for signing");let n=await r.getSignatureParameters(e,t),{parameters:i}=n;this.signature=n.signatureAlgorithm,this.signatureAlgorithm=n.signatureAlgorithm,this.tbsView=new Uint8Array(this.encodeTBS().toBER());let a=await r.signWithPrivateKey(this.tbsView,e,i);this.signatureValue=new Ve({valueHex:a});}async verify(e={},t=Oe(!0)){let r;if(e.issuerCertificate&&(r=e.issuerCertificate.subjectPublicKeyInfo,!this.issuer.isEqual(e.issuerCertificate.subject)))return !1;if(e.publicKeyInfo&&(r=e.publicKeyInfo),!r)throw new Error("Issuer's certificate must be provided as an input parameter");if(this.crlExtensions){for(let n of this.crlExtensions.extensions)if(n.critical&&!LL.includes(n.extnID))return !1}return t.verifyWithPublicKey(this.tbsView,this.signatureValue,r,this.signatureAlgorithm)}};Ac.CLASS_NAME="CertificateRevocationList";var Fu="crlId",Ku="crlValue",ed="parsedValue",jL=[Fu,Ku],ib=class s extends q{constructor(e={}){super(),this.crlId=y(e,Fu,s.defaultValues(Fu)),this.crlValue=y(e,Ku,s.defaultValues(Ku)),ed in e&&(this.parsedValue=y(e,ed,s.defaultValues(ed))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Fu:return b;case Ku:return new be;case ed:return {};default:return super.defaultValues(e)}}static compareWithDefault(e,t){switch(e){case Fu:return t===b;case Ku:return t instanceof be;case ed:return t instanceof Object&&Object.keys(t).length===0;default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||b,value:[new ie({name:t.id||"id"}),new V({idBlock:{tagClass:3,tagNumber:0},value:[new be({name:t.value||"value"})]})]})}fromSchema(e){W(e,jL);let t=K(e,e,s.schema({names:{id:Fu,value:Ku}}));switch(_.assertSchema(t,this.className),this.crlId=t.result.crlId.valueBlock.toString(),this.crlValue=t.result.crlValue,this.crlId){case Lk:this.parsedValue=Ac.fromBER(this.certValue.valueBlock.valueHex);break;default:throw new Error(`Incorrect CRL_ID value in CRLBag: ${this.crlId}`)}}toSchema(){return this.parsedValue&&(this.crlId=Lk,this.crlValue=new z({valueHex:this.parsedValue.toSchema().toBER(!1)})),new k({value:[new ie({value:this.crlId}),new V({idBlock:{tagClass:3,tagNumber:0},value:[this.crlValue.toSchema()]})]})}toJSON(){return {crlId:this.crlId,crlValue:this.crlValue.toJSON()}}};ib.CLASS_NAME="CRLBag";var Gu="version",Wu="encryptedContentInfo",Mi="unprotectedAttrs",HL=[Gu,Wu,Mi],Ic=class s extends q{constructor(e={}){super(),this.version=y(e,Gu,s.defaultValues(Gu)),this.encryptedContentInfo=y(e,Wu,s.defaultValues(Wu)),Mi in e&&(this.unprotectedAttrs=y(e,Mi,s.defaultValues(Mi))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Gu:return 0;case Wu:return new Gt;case Mi:return [];default:return super.defaultValues(e)}}static compareWithDefault(e,t){switch(e){case Gu:return t===0;case Wu:return Gt.compareWithDefault("contentType",t.contentType)&&Gt.compareWithDefault("contentEncryptionAlgorithm",t.contentEncryptionAlgorithm)&&Gt.compareWithDefault("encryptedContent",t.encryptedContent);case Mi:return t.length===0;default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||b,value:[new L({name:t.version||b}),Gt.schema(t.encryptedContentInfo||{}),new V({optional:!0,idBlock:{tagClass:3,tagNumber:1},value:[new Ae({name:t.unprotectedAttrs||b,value:yt.schema()})]})]})}fromSchema(e){W(e,HL);let t=K(e,e,s.schema({names:{version:Gu,encryptedContentInfo:{names:{blockName:Wu}},unprotectedAttrs:Mi}}));_.assertSchema(t,this.className),this.version=t.result.version.valueBlock.valueDec,this.encryptedContentInfo=new Gt({schema:t.result.encryptedContentInfo}),Mi in t.result&&(this.unprotectedAttrs=Array.from(t.result.unprotectedAttrs,r=>new yt({schema:r})));}toSchema(){let e=[];return e.push(new L({value:this.version})),e.push(this.encryptedContentInfo.toSchema()),this.unprotectedAttrs&&e.push(new V({optional:!0,idBlock:{tagClass:3,tagNumber:1},value:Array.from(this.unprotectedAttrs,t=>t.toSchema())})),new k({value:e})}toJSON(){let e={version:this.version,encryptedContentInfo:this.encryptedContentInfo.toJSON()};return this.unprotectedAttrs&&(e.unprotectedAttrs=Array.from(this.unprotectedAttrs,t=>t.toJSON())),e}async encrypt(e,t=Oe(!0)){et.assert(e,"parameters","object");let r={...e,contentType:"1.2.840.113549.1.7.1"};this.encryptedContentInfo=await t.encryptEncryptedContentInfo(r);}async decrypt(e,t=Oe(!0)){et.assert(e,"parameters","object");let r={...e,encryptedContentInfo:this.encryptedContentInfo};return t.decryptEncryptedContentInfo(r)}};Ic.CLASS_NAME="EncryptedData";var $o="encryptionAlgorithm",$i="encryptedData",td="parsedValue",_L=[$o,$i],ab=class s extends q{constructor(e={}){super(),this.encryptionAlgorithm=y(e,$o,s.defaultValues($o)),this.encryptedData=y(e,$i,s.defaultValues($i)),td in e&&(this.parsedValue=y(e,td,s.defaultValues(td))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case $o:return new j;case $i:return new z;case td:return {};default:return super.defaultValues(e)}}static compareWithDefault(e,t){switch(e){case $o:return j.compareWithDefault("algorithmId",t.algorithmId)&&!("algorithmParams"in t);case $i:return t.isEqual(s.defaultValues(e));case td:return t instanceof Object&&Object.keys(t).length===0;default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||b,value:[j.schema(t.encryptionAlgorithm||{names:{blockName:$o}}),new it({value:[new z({name:t.encryptedData||$i}),new z({idBlock:{isConstructed:!0},name:t.encryptedData||$i})]})]})}fromSchema(e){W(e,_L);let t=K(e,e,s.schema({names:{encryptionAlgorithm:{names:{blockName:$o}},encryptedData:$i}}));_.assertSchema(t,this.className),this.encryptionAlgorithm=new j({schema:t.result.encryptionAlgorithm}),this.encryptedData=t.result.encryptedData;}toSchema(){return new k({value:[this.encryptionAlgorithm.toSchema(),this.encryptedData]})}toJSON(){return {encryptionAlgorithm:this.encryptionAlgorithm.toJSON(),encryptedData:this.encryptedData.toJSON()}}async parseInternalValues(e,t=Oe(!0)){let n=await new Ic({encryptedContentInfo:new Gt({contentEncryptionAlgorithm:this.encryptionAlgorithm,encryptedContent:this.encryptedData})}).decrypt(e,t);this.parsedValue=xc.fromBER(n);}async makeInternalValues(e,t=Oe(!0)){if(!this.parsedValue)throw new Error('Please initialize "parsedValue" first');let r=new Ic,n={...e,contentToEncrypt:this.parsedValue.toSchema().toBER(!1)};if(await r.encrypt(n,t),!r.encryptedContentInfo.encryptedContent)throw new Error("The filed `encryptedContent` in EncryptedContentInfo is empty");this.encryptionAlgorithm=r.encryptedContentInfo.contentEncryptionAlgorithm,this.encryptedData=r.encryptedContentInfo.encryptedContent;}};ab.CLASS_NAME="PKCS8ShroudedKeyBag";var Ju="secretTypeId",zu="secretValue",ML=[Ju,zu],ob=class s extends q{constructor(e={}){super(),this.secretTypeId=y(e,Ju,s.defaultValues(Ju)),this.secretValue=y(e,zu,s.defaultValues(zu)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Ju:return b;case zu:return new be;default:return super.defaultValues(e)}}static compareWithDefault(e,t){switch(e){case Ju:return t===b;case zu:return t instanceof be;default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||b,value:[new ie({name:t.id||"id"}),new V({idBlock:{tagClass:3,tagNumber:0},value:[new be({name:t.value||"value"})]})]})}fromSchema(e){W(e,ML);let t=K(e,e,s.schema({names:{id:Ju,value:zu}}));_.assertSchema(t,this.className),this.secretTypeId=t.result.secretTypeId.valueBlock.toString(),this.secretValue=t.result.secretValue;}toSchema(){return new k({value:[new ie({value:this.secretTypeId}),new V({idBlock:{tagClass:3,tagNumber:0},value:[this.secretValue.toSchema()]})]})}toJSON(){return {secretTypeId:this.secretTypeId,secretValue:this.secretValue.toJSON()}}};ob.CLASS_NAME="SecretBag";var VA=class s{static getItems(){return this.items||(this.items={},s.register("1.2.840.113549.1.12.10.1.1",xc),s.register("1.2.840.113549.1.12.10.1.2",ab),s.register("1.2.840.113549.1.12.10.1.3",Qw),s.register("1.2.840.113549.1.12.10.1.4",ib),s.register("1.2.840.113549.1.12.10.1.5",ob),s.register("1.2.840.113549.1.12.10.1.6",la)),this.items}static register(e,t){this.getItems()[e]=t;}static find(e){return this.getItems()[e]||null}},qo="bagId",Fo="bagValue",xn="bagAttributes",$L=[qo,Fo,xn],x0=class s extends q{constructor(e={}){super(),this.bagId=y(e,qo,s.defaultValues(qo)),this.bagValue=y(e,Fo,s.defaultValues(Fo)),xn in e&&(this.bagAttributes=y(e,xn,s.defaultValues(xn))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case qo:return b;case Fo:return new be;case xn:return [];default:return super.defaultValues(e)}}static compareWithDefault(e,t){switch(e){case qo:return t===b;case Fo:return t instanceof be;case xn:return t.length===0;default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||b,value:[new ie({name:t.bagId||qo}),new V({idBlock:{tagClass:3,tagNumber:0},value:[new be({name:t.bagValue||Fo})]}),new dt({optional:!0,value:[new Ae({name:t.bagAttributes||xn,value:yt.schema()})]})]})}fromSchema(e){W(e,$L);let t=K(e,e,s.schema({names:{bagId:qo,bagValue:Fo,bagAttributes:xn}}));_.assertSchema(t,this.className),this.bagId=t.result.bagId.valueBlock.toString();let r=VA.find(this.bagId);if(!r)throw new Error(`Invalid BAG_ID for SafeBag: ${this.bagId}`);this.bagValue=new r({schema:t.result.bagValue}),xn in t.result&&(this.bagAttributes=Array.from(t.result.bagAttributes,n=>new yt({schema:n})));}toSchema(){let e=[new ie({value:this.bagId}),new V({idBlock:{tagClass:3,tagNumber:0},value:[this.bagValue.toSchema()]})];return this.bagAttributes&&e.push(new dt({value:Array.from(this.bagAttributes,t=>t.toSchema())})),new k({value:e})}toJSON(){let e={bagId:this.bagId,bagValue:this.bagValue.toJSON()};return this.bagAttributes&&(e.bagAttributes=Array.from(this.bagAttributes,t=>t.toJSON())),e}};x0.CLASS_NAME="SafeBag";var xu="safeBags",la=class s extends q{constructor(e={}){super(),this.safeBags=y(e,xu,s.defaultValues(xu)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case xu:return [];default:return super.defaultValues(e)}}static compareWithDefault(e,t){switch(e){case xu:return t.length===0;default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||b,value:[new Ae({name:t.safeBags||b,value:x0.schema()})]})}fromSchema(e){W(e,[xu]);let t=K(e,e,s.schema({names:{safeBags:xu}}));_.assertSchema(t,this.className),this.safeBags=Array.from(t.result.safeBags,r=>new x0({schema:r}));}toSchema(){return new k({value:Array.from(this.safeBags,e=>e.toSchema())})}toJSON(){return {safeBags:Array.from(this.safeBags,e=>e.toJSON())}}};la.CLASS_NAME="SafeContents";var Pm="otherCertFormat",Tm="otherCert",qL=[Pm,Tm],eh=class s extends q{constructor(e={}){super(),this.otherCertFormat=y(e,Pm,s.defaultValues(Pm)),this.otherCert=y(e,Tm,s.defaultValues(Tm)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Pm:return b;case Tm:return new be;default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||b,value:[new ie({name:t.otherCertFormat||Pm}),new be({name:t.otherCert||Tm})]})}fromSchema(e){W(e,qL);let t=K(e,e,s.schema());_.assertSchema(t,this.className),this.otherCertFormat=t.result.otherCertFormat.valueBlock.toString(),this.otherCert=t.result.otherCert;}toSchema(){return new k({value:[new ie({value:this.otherCertFormat}),this.otherCert]})}toJSON(){let e={otherCertFormat:this.otherCertFormat};return this.otherCert instanceof be||(e.otherCert=this.otherCert.toJSON()),e}},Bm="certificates",FL=[Bm],Un=class s extends q{constructor(e={}){super(),this.certificates=y(e,Bm,s.defaultValues(Bm)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Bm:return [];default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new dt({name:t.blockName||b,value:[new Ae({name:t.certificates||Bm,value:new it({value:[ts.schema(),new V({idBlock:{tagClass:3,tagNumber:0},value:[new be]}),new V({idBlock:{tagClass:3,tagNumber:1},value:[new k]}),new V({idBlock:{tagClass:3,tagNumber:2},value:Ur.schema().valueBlock.value}),new V({idBlock:{tagClass:3,tagNumber:3},value:eh.schema().valueBlock.value})]})})]})}fromSchema(e){W(e,FL);let t=K(e,e,s.schema());_.assertSchema(t,this.className),this.certificates=Array.from(t.result.certificates||[],r=>{let n=r.idBlock.tagNumber;if(r.idBlock.tagClass===1)return new ts({schema:r});let i=new k({value:r.valueBlock.value});switch(n){case 1:return i.valueBlock.value[0].valueBlock.value[0].valueBlock.valueDec===1?new Ur({schema:i}):new ih({schema:i});case 2:return new Ur({schema:i});case 3:return new eh({schema:i})}return r});}toSchema(){return new dt({value:Array.from(this.certificates,e=>{switch(!0){case e instanceof ts:return e.toSchema();case e instanceof ih:return new V({idBlock:{tagClass:3,tagNumber:1},value:e.toSchema().valueBlock.value});case e instanceof Ur:return new V({idBlock:{tagClass:3,tagNumber:2},value:e.toSchema().valueBlock.value});case e instanceof eh:return new V({idBlock:{tagClass:3,tagNumber:3},value:e.toSchema().valueBlock.value})}return e.toSchema()})})}toJSON(){return {certificates:Array.from(this.certificates,e=>e.toJSON())}}};Un.CLASS_NAME="CertificateSet";var Om="otherRevInfoFormat",Rm="otherRevInfo",KL=[Om,Rm],yc=class s extends q{constructor(e={}){super(),this.otherRevInfoFormat=y(e,Om,s.defaultValues(Om)),this.otherRevInfo=y(e,Rm,s.defaultValues(Rm)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Om:return b;case Rm:return new be;default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||b,value:[new ie({name:t.otherRevInfoFormat||Om}),new be({name:t.otherRevInfo||Rm})]})}fromSchema(e){W(e,KL);let t=K(e,e,s.schema());_.assertSchema(t,this.className),this.otherRevInfoFormat=t.result.otherRevInfoFormat.valueBlock.toString(),this.otherRevInfo=t.result.otherRevInfo;}toSchema(){return new k({value:[new ie({value:this.otherRevInfoFormat}),this.otherRevInfo]})}toJSON(){let e={otherRevInfoFormat:this.otherRevInfoFormat};return this.otherRevInfo instanceof be||(e.otherRevInfo=this.otherRevInfo.toJSON()),e}};yc.CLASS_NAME="OtherRevocationInfoFormat";var Vm="crls",gA="otherRevocationInfos",GL=[Vm],wc=class s extends q{constructor(e={}){super(),this.crls=y(e,Vm,s.defaultValues(Vm)),this.otherRevocationInfos=y(e,gA,s.defaultValues(gA)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Vm:return [];case gA:return [];default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new dt({name:t.blockName||b,value:[new Ae({name:t.crls||b,value:new it({value:[Ac.schema(),new V({idBlock:{tagClass:3,tagNumber:1},value:[new ie,new be]})]})})]})}fromSchema(e){W(e,GL);let t=K(e,e,s.schema({names:{crls:Vm}}));if(_.assertSchema(t,this.className),t.result.crls)for(let r of t.result.crls)r.idBlock.tagClass===1?this.crls.push(new Ac({schema:r})):this.otherRevocationInfos.push(new yc({schema:r}));}toSchema(){let e=[];return e.push(...Array.from(this.crls,t=>t.toSchema())),e.push(...Array.from(this.otherRevocationInfos,t=>{let r=t.toSchema();return r.idBlock.tagClass=3,r.idBlock.tagNumber=1,r})),new dt({value:e})}toJSON(){return {crls:Array.from(this.crls,e=>e.toJSON()),otherRevocationInfos:Array.from(this.otherRevocationInfos,e=>e.toJSON())}}};wc.CLASS_NAME="RevocationInfoChoices";var Dm="certs",Ko="crls",WL=[Dm,Ko],th=class s extends q{constructor(e={}){super(),this.crls=y(e,Ko,s.defaultValues(Ko)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Dm:return new Un;case Ko:return new wc;default:return super.defaultValues(e)}}static compareWithDefault(e,t){switch(e){case Dm:return t.certificates.length===0;case Ko:return t.crls.length===0&&t.otherRevocationInfos.length===0;default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||b,value:[new V({name:t.certs||b,optional:!0,idBlock:{tagClass:3,tagNumber:0},value:Un.schema().valueBlock.value}),new V({name:t.crls||b,optional:!0,idBlock:{tagClass:3,tagNumber:1},value:wc.schema().valueBlock.value})]})}fromSchema(e){W(e,WL);let t=K(e,e,s.schema({names:{certs:Dm,crls:Ko}}));_.assertSchema(t,this.className),Dm in t.result&&(this.certs=new Un({schema:new dt({value:t.result.certs.valueBlock.value})})),Ko in t.result&&(this.crls=new wc({schema:new dt({value:t.result.crls.valueBlock.value})}));}toSchema(){let e=[];return this.certs&&e.push(new V({idBlock:{tagClass:3,tagNumber:0},value:this.certs.toSchema().valueBlock.value})),this.crls&&e.push(new V({idBlock:{tagClass:3,tagNumber:1},value:this.crls.toSchema().valueBlock.value})),new k({value:e})}toJSON(){let e={};return this.certs&&(e.certs=this.certs.toJSON()),this.crls&&(e.crls=this.crls.toJSON()),e}};th.CLASS_NAME="OriginatorInfo";var Um="issuer",Lm="serialNumber",JL=[Um,Lm],Ht=class s extends q{constructor(e={}){super(),this.issuer=y(e,Um,s.defaultValues(Um)),this.serialNumber=y(e,Lm,s.defaultValues(Lm)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Um:return new at;case Lm:return new L;default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||b,value:[at.schema(t.issuer||{}),new L({name:t.serialNumber||b})]})}fromSchema(e){W(e,JL);let t=K(e,e,s.schema({names:{issuer:{names:{blockName:Um}},serialNumber:Lm}}));_.assertSchema(t,this.className),this.issuer=new at({schema:t.result.issuer}),this.serialNumber=t.result.serialNumber;}toSchema(){return new k({value:[this.issuer.toSchema(),this.serialNumber]})}toJSON(){return {issuer:this.issuer.toJSON(),serialNumber:this.serialNumber.toJSON()}}};Ht.CLASS_NAME="IssuerAndSerialNumber";var Ky="variant",sd="value",zL=["blockName"],cb=class s extends q{constructor(e={}){super(),this.variant=y(e,Ky,s.defaultValues(Ky)),sd in e&&(this.value=y(e,sd,s.defaultValues(sd))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Ky:return -1;case sd:return {};default:return super.defaultValues(e)}}static compareWithDefault(e,t){switch(e){case Ky:return t===-1;case sd:return Object.keys(t).length===0;default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new it({value:[Ht.schema({names:{blockName:t.blockName||b}}),new ge({name:t.blockName||b,idBlock:{tagClass:3,tagNumber:0}})]})}fromSchema(e){W(e,zL);let t=K(e,e,s.schema({names:{blockName:"blockName"}}));_.assertSchema(t,this.className),t.result.blockName.idBlock.tagClass===1?(this.variant=1,this.value=new Ht({schema:t.result.blockName})):(this.variant=2,this.value=new z({valueHex:t.result.blockName.valueBlock.valueHex}));}toSchema(){switch(this.variant){case 1:if(!(this.value instanceof Ht))throw new Error("Incorrect type of RecipientIdentifier.value. It should be IssuerAndSerialNumber.");return this.value.toSchema();case 2:if(!(this.value instanceof z))throw new Error("Incorrect type of RecipientIdentifier.value. It should be ASN.1 OctetString.");return new ge({idBlock:{tagClass:3,tagNumber:0},valueHex:this.value.valueBlock.valueHexView});default:return new be}}toJSON(){let e={variant:this.variant};return (this.variant===1||this.variant===2)&&this.value&&(e.value=this.value.toJSON()),e}};cb.CLASS_NAME="RecipientIdentifier";var Go="version",Yu="rid",Zu="keyEncryptionAlgorithm",Xu="encryptedKey",Gy="recipientCertificate",YL=[Go,Yu,Zu,Xu],ah=class s extends q{constructor(e={}){super(),this.version=y(e,Go,s.defaultValues(Go)),this.rid=y(e,Yu,s.defaultValues(Yu)),this.keyEncryptionAlgorithm=y(e,Zu,s.defaultValues(Zu)),this.encryptedKey=y(e,Xu,s.defaultValues(Xu)),this.recipientCertificate=y(e,Gy,s.defaultValues(Gy)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Go:return -1;case Yu:return {};case Zu:return new j;case Xu:return new z;case Gy:return new ts;default:return super.defaultValues(e)}}static compareWithDefault(e,t){switch(e){case Go:return t===s.defaultValues(Go);case Yu:return Object.keys(t).length===0;case Zu:case Xu:return t.isEqual(s.defaultValues(e));case Gy:return !1;default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||b,value:[new L({name:t.version||b}),cb.schema(t.rid||{}),j.schema(t.keyEncryptionAlgorithm||{}),new z({name:t.encryptedKey||b})]})}fromSchema(e){W(e,YL);let t=K(e,e,s.schema({names:{version:Go,rid:{names:{blockName:Yu}},keyEncryptionAlgorithm:{names:{blockName:Zu}},encryptedKey:Xu}}));_.assertSchema(t,this.className),this.version=t.result.version.valueBlock.valueDec,t.result.rid.idBlock.tagClass===3?this.rid=new z({valueHex:t.result.rid.valueBlock.valueHex}):this.rid=new Ht({schema:t.result.rid}),this.keyEncryptionAlgorithm=new j({schema:t.result.keyEncryptionAlgorithm}),this.encryptedKey=t.result.encryptedKey;}toSchema(){let e=[];return this.rid instanceof Ht?(this.version=0,e.push(new L({value:this.version})),e.push(this.rid.toSchema())):(this.version=2,e.push(new L({value:this.version})),e.push(new ge({idBlock:{tagClass:3,tagNumber:0},valueHex:this.rid.valueBlock.valueHexView}))),e.push(this.keyEncryptionAlgorithm.toSchema()),e.push(this.encryptedKey),new k({value:e})}toJSON(){return {version:this.version,rid:this.rid.toJSON(),keyEncryptionAlgorithm:this.keyEncryptionAlgorithm.toJSON(),encryptedKey:this.encryptedKey.toJSON()}}};ah.CLASS_NAME="KeyTransRecipientInfo";var Qu="algorithm",el="publicKey",ZL=[Qu,el],oh=class s extends q{constructor(e={}){super(),this.algorithm=y(e,Qu,s.defaultValues(Qu)),this.publicKey=y(e,el,s.defaultValues(el)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Qu:return new j;case el:return new Ve;default:return super.defaultValues(e)}}static compareWithDefault(e,t){switch(e){case Qu:case el:return t.isEqual(s.defaultValues(e));default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||b,value:[j.schema(t.algorithm||{}),new Ve({name:t.publicKey||b})]})}fromSchema(e){W(e,ZL);let t=K(e,e,s.schema({names:{algorithm:{names:{blockName:Qu}},publicKey:el}}));_.assertSchema(t,this.className),this.algorithm=new j({schema:t.result.algorithm}),this.publicKey=t.result.publicKey;}toSchema(){return new k({value:[this.algorithm.toSchema(),this.publicKey]})}toJSON(){return {algorithm:this.algorithm.toJSON(),publicKey:this.publicKey.toJSON()}}};oh.CLASS_NAME="OriginatorPublicKey";var Wy="variant",rd="value",XL=["blockName"],bc=class s extends q{constructor(e={}){super(),this.variant=y(e,Wy,s.defaultValues(Wy)),rd in e&&(this.value=y(e,rd,s.defaultValues(rd))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Wy:return -1;case rd:return {};default:return super.defaultValues(e)}}static compareWithDefault(e,t){switch(e){case Wy:return t===-1;case rd:return Object.keys(t).length===0;default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new it({value:[Ht.schema({names:{blockName:t.blockName||b}}),new ge({idBlock:{tagClass:3,tagNumber:0},name:t.blockName||b}),new V({idBlock:{tagClass:3,tagNumber:1},name:t.blockName||b,value:oh.schema().valueBlock.value})]})}fromSchema(e){W(e,XL);let t=K(e,e,s.schema({names:{blockName:"blockName"}}));_.assertSchema(t,this.className),t.result.blockName.idBlock.tagClass===1?(this.variant=1,this.value=new Ht({schema:t.result.blockName})):t.result.blockName.idBlock.tagNumber===0?(t.result.blockName.idBlock.tagClass=1,t.result.blockName.idBlock.tagNumber=4,this.variant=2,this.value=t.result.blockName):(this.variant=3,this.value=new oh({schema:new k({value:t.result.blockName.valueBlock.value})}));}toSchema(){switch(this.variant){case 1:return this.value.toSchema();case 2:return this.value.idBlock.tagClass=3,this.value.idBlock.tagNumber=0,this.value;case 3:{let e=this.value.toSchema();return e.idBlock.tagClass=3,e.idBlock.tagNumber=1,e}default:return new be}}toJSON(){let e={variant:this.variant};return (this.variant===1||this.variant===2||this.variant===3)&&(e.value=this.value.toJSON()),e}};bc.CLASS_NAME="OriginatorIdentifierOrKey";var tl="keyAttrId",Vr="keyAttr",QL=[tl,Vr],Ln=class s extends q{constructor(e={}){super(),this.keyAttrId=y(e,tl,s.defaultValues(tl)),Vr in e&&(this.keyAttr=y(e,Vr,s.defaultValues(Vr))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case tl:return b;case Vr:return {};default:return super.defaultValues(e)}}static compareWithDefault(e,t){switch(e){case tl:return typeof t=="string"&&t===b;case Vr:return Object.keys(t).length===0;default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({optional:t.optional||!0,name:t.blockName||b,value:[new ie({name:t.keyAttrId||b}),new be({optional:!0,name:t.keyAttr||b})]})}fromSchema(e){W(e,QL);let t=K(e,e,s.schema({names:{keyAttrId:tl,keyAttr:Vr}}));_.assertSchema(t,this.className),this.keyAttrId=t.result.keyAttrId.valueBlock.toString(),Vr in t.result&&(this.keyAttr=t.result.keyAttr);}toSchema(){let e=[];return e.push(new ie({value:this.keyAttrId})),Vr in this&&e.push(this.keyAttr),new k({value:e})}toJSON(){let e={keyAttrId:this.keyAttrId};return Vr in this&&(e.keyAttr=this.keyAttr.toJSON()),e}};Ln.CLASS_NAME="OtherKeyAttribute";var Wo="subjectKeyIdentifier",qi="date",Fi="other",ej=[Wo,qi,Fi],ch=class s extends q{constructor(e={}){super(),this.subjectKeyIdentifier=y(e,Wo,s.defaultValues(Wo)),qi in e&&(this.date=y(e,qi,s.defaultValues(qi))),Fi in e&&(this.other=y(e,Fi,s.defaultValues(Fi))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Wo:return new z;case qi:return new nt;case Fi:return new Ln;default:return super.defaultValues(e)}}static compareWithDefault(e,t){switch(e){case Wo:return t.isEqual(s.defaultValues(Wo));case qi:return t.year===0&&t.month===0&&t.day===0&&t.hour===0&&t.minute===0&&t.second===0&&t.millisecond===0;case Fi:return t.keyAttrId===b&&!("keyAttr"in t);default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||b,value:[new z({name:t.subjectKeyIdentifier||b}),new nt({optional:!0,name:t.date||b}),Ln.schema(t.other||{})]})}fromSchema(e){W(e,ej);let t=K(e,e,s.schema({names:{subjectKeyIdentifier:Wo,date:qi,other:{names:{blockName:Fi}}}}));_.assertSchema(t,this.className),this.subjectKeyIdentifier=t.result.subjectKeyIdentifier,qi in t.result&&(this.date=t.result.date),Fi in t.result&&(this.other=new Ln({schema:t.result.other}));}toSchema(){let e=[];return e.push(this.subjectKeyIdentifier),this.date&&e.push(this.date),this.other&&e.push(this.other.toSchema()),new k({value:e})}toJSON(){let e={subjectKeyIdentifier:this.subjectKeyIdentifier.toJSON()};return this.date&&(e.date=this.date.toJSON()),this.other&&(e.other=this.other.toJSON()),e}};ch.CLASS_NAME="RecipientKeyIdentifier";var Jy="variant",zy="value",tj=["blockName"],fa=class s extends q{constructor(e={}){super(),this.variant=y(e,Jy,s.defaultValues(Jy)),this.value=y(e,zy,s.defaultValues(zy)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Jy:return -1;case zy:return {};default:return super.defaultValues(e)}}static compareWithDefault(e,t){switch(e){case Jy:return t===-1;case zy:return Object.keys(t).length===0;default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new it({value:[Ht.schema(t.issuerAndSerialNumber||{names:{blockName:t.blockName||b}}),new V({name:t.blockName||b,idBlock:{tagClass:3,tagNumber:0},value:ch.schema(t.rKeyId||{names:{blockName:t.blockName||b}}).valueBlock.value})]})}fromSchema(e){W(e,tj);let t=K(e,e,s.schema({names:{blockName:"blockName"}}));_.assertSchema(t,this.className),t.result.blockName.idBlock.tagClass===1?(this.variant=1,this.value=new Ht({schema:t.result.blockName})):(this.variant=2,this.value=new ch({schema:new k({value:t.result.blockName.valueBlock.value})}));}toSchema(){switch(this.variant){case 1:return this.value.toSchema();case 2:return new V({idBlock:{tagClass:3,tagNumber:0},value:this.value.toSchema().valueBlock.value});default:return new be}}toJSON(){let e={variant:this.variant};return (this.variant===1||this.variant===2)&&(e.value=this.value.toJSON()),e}};fa.CLASS_NAME="KeyAgreeRecipientIdentifier";var sl="rid",Jo="encryptedKey",sj=[sl,Jo],uh=class s extends q{constructor(e={}){super(),this.rid=y(e,sl,s.defaultValues(sl)),this.encryptedKey=y(e,Jo,s.defaultValues(Jo)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case sl:return new fa;case Jo:return new z;default:return super.defaultValues(e)}}static compareWithDefault(e,t){switch(e){case sl:return t.variant===-1&&!("value"in t);case Jo:return t.isEqual(s.defaultValues(Jo));default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||b,value:[fa.schema(t.rid||{}),new z({name:t.encryptedKey||b})]})}fromSchema(e){W(e,sj);let t=K(e,e,s.schema({names:{rid:{names:{blockName:sl}},encryptedKey:Jo}}));_.assertSchema(t,this.className),this.rid=new fa({schema:t.result.rid}),this.encryptedKey=t.result.encryptedKey;}toSchema(){return new k({value:[this.rid.toSchema(),this.encryptedKey]})}toJSON(){return {rid:this.rid.toJSON(),encryptedKey:this.encryptedKey.toJSON()}}};uh.CLASS_NAME="RecipientEncryptedKey";var Yy="encryptedKeys",xP="RecipientEncryptedKeys",rj=[xP],Sc=class s extends q{constructor(e={}){super(),this.encryptedKeys=y(e,Yy,s.defaultValues(Yy)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Yy:return [];default:return super.defaultValues(e)}}static compareWithDefault(e,t){switch(e){case Yy:return t.length===0;default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||b,value:[new Ae({name:t.RecipientEncryptedKeys||b,value:uh.schema()})]})}fromSchema(e){W(e,rj);let t=K(e,e,s.schema({names:{RecipientEncryptedKeys:xP}}));_.assertSchema(t,this.className),this.encryptedKeys=Array.from(t.result.RecipientEncryptedKeys,r=>new uh({schema:r}));}toSchema(){return new k({value:Array.from(this.encryptedKeys,e=>e.toSchema())})}toJSON(){return {encryptedKeys:Array.from(this.encryptedKeys,e=>e.toJSON())}}};Sc.CLASS_NAME="RecipientEncryptedKeys";var rl="version",nl="originator",An="ukm",il="keyEncryptionAlgorithm",al="recipientEncryptedKeys",Zy="recipientCertificate",Xy="recipientPublicKey",nj=[rl,nl,An,il,al],lh=class s extends q{constructor(e={}){super(),this.version=y(e,rl,s.defaultValues(rl)),this.originator=y(e,nl,s.defaultValues(nl)),An in e&&(this.ukm=y(e,An,s.defaultValues(An))),this.keyEncryptionAlgorithm=y(e,il,s.defaultValues(il)),this.recipientEncryptedKeys=y(e,al,s.defaultValues(al)),this.recipientCertificate=y(e,Zy,s.defaultValues(Zy)),this.recipientPublicKey=y(e,Xy,s.defaultValues(Xy)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case rl:return 0;case nl:return new bc;case An:return new z;case il:return new j;case al:return new Sc;case Zy:return new ts;case Xy:return null;default:return super.defaultValues(e)}}static compareWithDefault(e,t){switch(e){case rl:return t===0;case nl:return t.variant===-1&&!("value"in t);case An:return t.isEqual(s.defaultValues(An));case il:return t.algorithmId===b&&!("algorithmParams"in t);case al:return t.encryptedKeys.length===0;case Zy:return !1;case Xy:return !1;default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||b,value:[new L({name:t.version||b}),new V({idBlock:{tagClass:3,tagNumber:0},value:[bc.schema(t.originator||{})]}),new V({optional:!0,idBlock:{tagClass:3,tagNumber:1},value:[new z({name:t.ukm||b})]}),j.schema(t.keyEncryptionAlgorithm||{}),Sc.schema(t.recipientEncryptedKeys||{})]})}fromSchema(e){W(e,nj);let t=K(e,e,s.schema({names:{version:rl,originator:{names:{blockName:nl}},ukm:An,keyEncryptionAlgorithm:{names:{blockName:il}},recipientEncryptedKeys:{names:{blockName:al}}}}));_.assertSchema(t,this.className),this.version=t.result.version.valueBlock.valueDec,this.originator=new bc({schema:t.result.originator}),An in t.result&&(this.ukm=t.result.ukm),this.keyEncryptionAlgorithm=new j({schema:t.result.keyEncryptionAlgorithm}),this.recipientEncryptedKeys=new Sc({schema:t.result.recipientEncryptedKeys});}toSchema(){let e=[];return e.push(new L({value:this.version})),e.push(new V({idBlock:{tagClass:3,tagNumber:0},value:[this.originator.toSchema()]})),this.ukm&&e.push(new V({optional:!0,idBlock:{tagClass:3,tagNumber:1},value:[this.ukm]})),e.push(this.keyEncryptionAlgorithm.toSchema()),e.push(this.recipientEncryptedKeys.toSchema()),new k({value:e})}toJSON(){let e={version:this.version,originator:this.originator.toJSON(),keyEncryptionAlgorithm:this.keyEncryptionAlgorithm.toJSON(),recipientEncryptedKeys:this.recipientEncryptedKeys.toJSON()};return this.ukm&&(e.ukm=this.ukm.toJSON()),e}};lh.CLASS_NAME="KeyAgreeRecipientInfo";var zo="keyIdentifier",Ki="date",Gi="other",ij=[zo,Ki,Gi],vc=class s extends q{constructor(e={}){super(),this.keyIdentifier=y(e,zo,s.defaultValues(zo)),Ki in e&&(this.date=y(e,Ki,s.defaultValues(Ki))),Gi in e&&(this.other=y(e,Gi,s.defaultValues(Gi))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case zo:return new z;case Ki:return new nt;case Gi:return new Ln;default:return super.defaultValues(e)}}static compareWithDefault(e,t){switch(e){case zo:return t.isEqual(s.defaultValues(zo));case Ki:return t.year===0&&t.month===0&&t.day===0&&t.hour===0&&t.minute===0&&t.second===0&&t.millisecond===0;case Gi:return t.compareWithDefault("keyAttrId",t.keyAttrId)&&!("keyAttr"in t);default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||b,value:[new z({name:t.keyIdentifier||b}),new nt({optional:!0,name:t.date||b}),Ln.schema(t.other||{})]})}fromSchema(e){W(e,ij);let t=K(e,e,s.schema({names:{keyIdentifier:zo,date:Ki,other:{names:{blockName:Gi}}}}));_.assertSchema(t,this.className),this.keyIdentifier=t.result.keyIdentifier,Ki in t.result&&(this.date=t.result.date),Gi in t.result&&(this.other=new Ln({schema:t.result.other}));}toSchema(){let e=[];return e.push(this.keyIdentifier),this.date&&e.push(this.date),this.other&&e.push(this.other.toSchema()),new k({value:e})}toJSON(){let e={keyIdentifier:this.keyIdentifier.toJSON()};return this.date&&(e.date=this.date),this.other&&(e.other=this.other.toJSON()),e}};vc.CLASS_NAME="KEKIdentifier";var ol="version",cl="kekid",ul="keyEncryptionAlgorithm",Yo="encryptedKey",Qy="preDefinedKEK",aj=[ol,cl,ul,Yo],hh=class s extends q{constructor(e={}){super(),this.version=y(e,ol,s.defaultValues(ol)),this.kekid=y(e,cl,s.defaultValues(cl)),this.keyEncryptionAlgorithm=y(e,ul,s.defaultValues(ul)),this.encryptedKey=y(e,Yo,s.defaultValues(Yo)),this.preDefinedKEK=y(e,Qy,s.defaultValues(Qy)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case ol:return 0;case cl:return new vc;case ul:return new j;case Yo:return new z;case Qy:return It;default:return super.defaultValues(e)}}static compareWithDefault(e,t){switch(e){case"KEKRecipientInfo":return t===s.defaultValues(ol);case cl:return t.compareWithDefault("keyIdentifier",t.keyIdentifier)&&!("date"in t)&&!("other"in t);case ul:return t.algorithmId===b&&!("algorithmParams"in t);case Yo:return t.isEqual(s.defaultValues(Yo));case Qy:return t.byteLength===0;default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||b,value:[new L({name:t.version||b}),vc.schema(t.kekid||{}),j.schema(t.keyEncryptionAlgorithm||{}),new z({name:t.encryptedKey||b})]})}fromSchema(e){W(e,aj);let t=K(e,e,s.schema({names:{version:ol,kekid:{names:{blockName:cl}},keyEncryptionAlgorithm:{names:{blockName:ul}},encryptedKey:Yo}}));_.assertSchema(t,this.className),this.version=t.result.version.valueBlock.valueDec,this.kekid=new vc({schema:t.result.kekid}),this.keyEncryptionAlgorithm=new j({schema:t.result.keyEncryptionAlgorithm}),this.encryptedKey=t.result.encryptedKey;}toSchema(){return new k({value:[new L({value:this.version}),this.kekid.toSchema(),this.keyEncryptionAlgorithm.toSchema(),this.encryptedKey]})}toJSON(){return {version:this.version,kekid:this.kekid.toJSON(),keyEncryptionAlgorithm:this.keyEncryptionAlgorithm.toJSON(),encryptedKey:this.encryptedKey.toJSON()}}};hh.CLASS_NAME="KEKRecipientInfo";var ll="version",Wi="keyDerivationAlgorithm",hl="keyEncryptionAlgorithm",Zo="encryptedKey",ew="password",oj=[ll,Wi,hl,Zo],fh=class s extends q{constructor(e={}){super(),this.version=y(e,ll,s.defaultValues(ll)),Wi in e&&(this.keyDerivationAlgorithm=y(e,Wi,s.defaultValues(Wi))),this.keyEncryptionAlgorithm=y(e,hl,s.defaultValues(hl)),this.encryptedKey=y(e,Zo,s.defaultValues(Zo)),this.password=y(e,ew,s.defaultValues(ew)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case ll:return -1;case Wi:return new j;case hl:return new j;case Zo:return new z;case ew:return It;default:return super.defaultValues(e)}}static compareWithDefault(e,t){switch(e){case ll:return t===-1;case Wi:case hl:return t.algorithmId===b&&!("algorithmParams"in t);case Zo:return t.isEqual(s.defaultValues(Zo));case ew:return t.byteLength===0;default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||b,value:[new L({name:t.version||b}),new V({name:t.keyDerivationAlgorithm||b,optional:!0,idBlock:{tagClass:3,tagNumber:0},value:j.schema().valueBlock.value}),j.schema(t.keyEncryptionAlgorithm||{}),new z({name:t.encryptedKey||b})]})}fromSchema(e){W(e,oj);let t=K(e,e,s.schema({names:{version:ll,keyDerivationAlgorithm:Wi,keyEncryptionAlgorithm:{names:{blockName:hl}},encryptedKey:Zo}}));_.assertSchema(t,this.className),this.version=t.result.version.valueBlock.valueDec,Wi in t.result&&(this.keyDerivationAlgorithm=new j({schema:new k({value:t.result.keyDerivationAlgorithm.valueBlock.value})})),this.keyEncryptionAlgorithm=new j({schema:t.result.keyEncryptionAlgorithm}),this.encryptedKey=t.result.encryptedKey;}toSchema(){let e=[];return e.push(new L({value:this.version})),this.keyDerivationAlgorithm&&e.push(new V({idBlock:{tagClass:3,tagNumber:0},value:this.keyDerivationAlgorithm.toSchema().valueBlock.value})),e.push(this.keyEncryptionAlgorithm.toSchema()),e.push(this.encryptedKey),new k({value:e})}toJSON(){let e={version:this.version,keyEncryptionAlgorithm:this.keyEncryptionAlgorithm.toJSON(),encryptedKey:this.encryptedKey.toJSON()};return this.keyDerivationAlgorithm&&(e.keyDerivationAlgorithm=this.keyDerivationAlgorithm.toJSON()),e}};fh.CLASS_NAME="PasswordRecipientInfo";var fl="oriType",Xo="oriValue",cj=[fl,Xo],A0=class s extends q{constructor(e={}){super(),this.oriType=y(e,fl,s.defaultValues(fl)),this.oriValue=y(e,Xo,s.defaultValues(Xo)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case fl:return b;case Xo:return {};default:return super.defaultValues(e)}}static compareWithDefault(e,t){switch(e){case fl:return t===b;case Xo:return Object.keys(t).length===0;default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||b,value:[new ie({name:t.oriType||b}),new be({name:t.oriValue||b})]})}fromSchema(e){W(e,cj);let t=K(e,e,s.schema({names:{oriType:fl,oriValue:Xo}}));_.assertSchema(t,this.className),this.oriType=t.result.oriType.valueBlock.toString(),this.oriValue=t.result.oriValue;}toSchema(){return new k({value:[new ie({value:this.oriType}),this.oriValue]})}toJSON(){let e={oriType:this.oriType};return s.compareWithDefault(Xo,this.oriValue)||(e.oriValue=this.oriValue.toJSON()),e}};A0.CLASS_NAME="OtherRecipientInfo";var tw="variant",nd="value",uj=["blockName"],Tn=class s extends q{constructor(e={}){super(),this.variant=y(e,tw,s.defaultValues(tw)),nd in e&&(this.value=y(e,nd,s.defaultValues(nd))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case tw:return -1;case nd:return {};default:return super.defaultValues(e)}}static compareWithDefault(e,t){switch(e){case tw:return t===s.defaultValues(e);case nd:return Object.keys(t).length===0;default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new it({value:[ah.schema({names:{blockName:t.blockName||b}}),new V({name:t.blockName||b,idBlock:{tagClass:3,tagNumber:1},value:lh.schema().valueBlock.value}),new V({name:t.blockName||b,idBlock:{tagClass:3,tagNumber:2},value:hh.schema().valueBlock.value}),new V({name:t.blockName||b,idBlock:{tagClass:3,tagNumber:3},value:fh.schema().valueBlock.value}),new V({name:t.blockName||b,idBlock:{tagClass:3,tagNumber:4},value:A0.schema().valueBlock.value})]})}fromSchema(e){W(e,uj);let t=K(e,e,s.schema({names:{blockName:"blockName"}}));if(_.assertSchema(t,this.className),t.result.blockName.idBlock.tagClass===1)this.variant=1,this.value=new ah({schema:t.result.blockName});else {let r=new k({value:t.result.blockName.valueBlock.value});switch(t.result.blockName.idBlock.tagNumber){case 1:this.variant=2,this.value=new lh({schema:r});break;case 2:this.variant=3,this.value=new hh({schema:r});break;case 3:this.variant=4,this.value=new fh({schema:r});break;case 4:this.variant=5,this.value=new A0({schema:r});break;default:throw new Error("Incorrect structure of RecipientInfo block")}}}toSchema(){Je.assertEmpty(this.value,"value","RecipientInfo");let e=this.value.toSchema();switch(this.variant){case 1:return e;case 2:case 3:case 4:return e.idBlock.tagClass=3,e.idBlock.tagNumber=this.variant-1,e;default:return new be}}toJSON(){let e={variant:this.variant};return this.value&&this.variant>=1&&this.variant<=4&&(e.value=this.value.toJSON()),e}};Tn.CLASS_NAME="RecipientInfo";var Ji="hashAlgorithm",zi="maskGenAlgorithm",Yi="pSourceAlgorithm",lj=[Ji,zi,Yi],sh=class s extends q{constructor(e={}){super(),this.hashAlgorithm=y(e,Ji,s.defaultValues(Ji)),this.maskGenAlgorithm=y(e,zi,s.defaultValues(zi)),this.pSourceAlgorithm=y(e,Yi,s.defaultValues(Yi)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Ji:return new j({algorithmId:"1.3.14.3.2.26",algorithmParams:new ft});case zi:return new j({algorithmId:"1.2.840.113549.1.1.8",algorithmParams:new j({algorithmId:"1.3.14.3.2.26",algorithmParams:new ft}).toSchema()});case Yi:return new j({algorithmId:"1.2.840.113549.1.1.9",algorithmParams:new z({valueHex:new Uint8Array([218,57,163,238,94,107,75,13,50,85,191,239,149,96,24,144,175,216,7,9]).buffer})});default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||b,value:[new V({idBlock:{tagClass:3,tagNumber:0},optional:!0,value:[j.schema(t.hashAlgorithm||{})]}),new V({idBlock:{tagClass:3,tagNumber:1},optional:!0,value:[j.schema(t.maskGenAlgorithm||{})]}),new V({idBlock:{tagClass:3,tagNumber:2},optional:!0,value:[j.schema(t.pSourceAlgorithm||{})]})]})}fromSchema(e){W(e,lj);let t=K(e,e,s.schema({names:{hashAlgorithm:{names:{blockName:Ji}},maskGenAlgorithm:{names:{blockName:zi}},pSourceAlgorithm:{names:{blockName:Yi}}}}));_.assertSchema(t,this.className),Ji in t.result&&(this.hashAlgorithm=new j({schema:t.result.hashAlgorithm})),zi in t.result&&(this.maskGenAlgorithm=new j({schema:t.result.maskGenAlgorithm})),Yi in t.result&&(this.pSourceAlgorithm=new j({schema:t.result.pSourceAlgorithm}));}toSchema(){let e=[];return this.hashAlgorithm.isEqual(s.defaultValues(Ji))||e.push(new V({idBlock:{tagClass:3,tagNumber:0},value:[this.hashAlgorithm.toSchema()]})),this.maskGenAlgorithm.isEqual(s.defaultValues(zi))||e.push(new V({idBlock:{tagClass:3,tagNumber:1},value:[this.maskGenAlgorithm.toSchema()]})),this.pSourceAlgorithm.isEqual(s.defaultValues(Yi))||e.push(new V({idBlock:{tagClass:3,tagNumber:2},value:[this.pSourceAlgorithm.toSchema()]})),new k({value:e})}toJSON(){let e={};return this.hashAlgorithm.isEqual(s.defaultValues(Ji))||(e.hashAlgorithm=this.hashAlgorithm.toJSON()),this.maskGenAlgorithm.isEqual(s.defaultValues(zi))||(e.maskGenAlgorithm=this.maskGenAlgorithm.toJSON()),this.pSourceAlgorithm.isEqual(s.defaultValues(Yi))||(e.pSourceAlgorithm=this.pSourceAlgorithm.toJSON()),e}};sh.CLASS_NAME="RSAESOAEPParams";var dl="keyInfo",Zi="entityUInfo",ml="suppPubInfo",hj=[dl,Zi,ml],I0=class s extends q{constructor(e={}){super(),this.keyInfo=y(e,dl,s.defaultValues(dl)),Zi in e&&(this.entityUInfo=y(e,Zi,s.defaultValues(Zi))),this.suppPubInfo=y(e,ml,s.defaultValues(ml)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case dl:return new j;case Zi:return new z;case ml:return new z;default:return super.defaultValues(e)}}static compareWithDefault(e,t){switch(e){case dl:case Zi:case ml:return t.isEqual(s.defaultValues(e));default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||b,value:[j.schema(t.keyInfo||{}),new V({name:t.entityUInfo||b,idBlock:{tagClass:3,tagNumber:0},optional:!0,value:[new z]}),new V({name:t.suppPubInfo||b,idBlock:{tagClass:3,tagNumber:2},value:[new z]})]})}fromSchema(e){W(e,hj);let t=K(e,e,s.schema({names:{keyInfo:{names:{blockName:dl}},entityUInfo:Zi,suppPubInfo:ml}}));_.assertSchema(t,this.className),this.keyInfo=new j({schema:t.result.keyInfo}),Zi in t.result&&(this.entityUInfo=t.result.entityUInfo.valueBlock.value[0]),this.suppPubInfo=t.result.suppPubInfo.valueBlock.value[0];}toSchema(){let e=[];return e.push(this.keyInfo.toSchema()),this.entityUInfo&&e.push(new V({idBlock:{tagClass:3,tagNumber:0},value:[this.entityUInfo]})),e.push(new V({idBlock:{tagClass:3,tagNumber:2},value:[this.suppPubInfo]})),new k({value:e})}toJSON(){let e={keyInfo:this.keyInfo.toJSON(),suppPubInfo:this.suppPubInfo.toJSON()};return this.entityUInfo&&(e.entityUInfo=this.entityUInfo.toJSON()),e}};I0.CLASS_NAME="ECCCMSSharedInfo";var pl="version",Xi="originatorInfo",gl="recipientInfos",yl="encryptedContentInfo",Qi="unprotectedAttrs",fj=[pl,Xi,gl,yl,Qi],tP={kdfAlgorithm:"SHA-512",kekEncryptionLength:256},dj={"P-256":256,"P-384":384,"P-521":528},C0=class s extends q{constructor(e={}){super(),this.version=y(e,pl,s.defaultValues(pl)),Xi in e&&(this.originatorInfo=y(e,Xi,s.defaultValues(Xi))),this.recipientInfos=y(e,gl,s.defaultValues(gl)),this.encryptedContentInfo=y(e,yl,s.defaultValues(yl)),Qi in e&&(this.unprotectedAttrs=y(e,Qi,s.defaultValues(Qi))),this.policy={disableSplit:!!e.disableSplit},e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case pl:return 0;case Xi:return new th;case gl:return [];case yl:return new Gt;case Qi:return [];default:return super.defaultValues(e)}}static compareWithDefault(e,t){switch(e){case pl:return t===s.defaultValues(e);case Xi:return t.certs.certificates.length===0&&t.crls.crls.length===0;case gl:case Qi:return t.length===0;case yl:return Gt.compareWithDefault("contentType",t.contentType)&&Gt.compareWithDefault("contentEncryptionAlgorithm",t.contentEncryptionAlgorithm)&&Gt.compareWithDefault("encryptedContent",t.encryptedContent);default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||b,value:[new L({name:t.version||b}),new V({name:t.originatorInfo||b,optional:!0,idBlock:{tagClass:3,tagNumber:0},value:th.schema().valueBlock.value}),new dt({value:[new Ae({name:t.recipientInfos||b,value:Tn.schema()})]}),Gt.schema(t.encryptedContentInfo||{}),new V({optional:!0,idBlock:{tagClass:3,tagNumber:1},value:[new Ae({name:t.unprotectedAttrs||b,value:yt.schema()})]})]})}fromSchema(e){W(e,fj);let t=K(e,e,s.schema({names:{version:pl,originatorInfo:Xi,recipientInfos:gl,encryptedContentInfo:{names:{blockName:yl}},unprotectedAttrs:Qi}}));_.assertSchema(t,this.className),this.version=t.result.version.valueBlock.valueDec,Xi in t.result&&(this.originatorInfo=new th({schema:new k({value:t.result.originatorInfo.valueBlock.value})})),this.recipientInfos=Array.from(t.result.recipientInfos,r=>new Tn({schema:r})),this.encryptedContentInfo=new Gt({schema:t.result.encryptedContentInfo}),Qi in t.result&&(this.unprotectedAttrs=Array.from(t.result.unprotectedAttrs,r=>new yt({schema:r})));}toSchema(){let e=[];return e.push(new L({value:this.version})),this.originatorInfo&&e.push(new V({optional:!0,idBlock:{tagClass:3,tagNumber:0},value:this.originatorInfo.toSchema().valueBlock.value})),e.push(new dt({value:Array.from(this.recipientInfos,t=>t.toSchema())})),e.push(this.encryptedContentInfo.toSchema()),this.unprotectedAttrs&&e.push(new V({optional:!0,idBlock:{tagClass:3,tagNumber:1},value:Array.from(this.unprotectedAttrs,t=>t.toSchema())})),new k({value:e})}toJSON(){let e={version:this.version,recipientInfos:Array.from(this.recipientInfos,t=>t.toJSON()),encryptedContentInfo:this.encryptedContentInfo.toJSON()};return this.originatorInfo&&(e.originatorInfo=this.originatorInfo.toJSON()),this.unprotectedAttrs&&(e.unprotectedAttrs=Array.from(this.unprotectedAttrs,t=>t.toJSON())),e}addRecipientByCertificate(e,t,r,n=Oe(!0)){let i=Object.assign({useOAEP:!0,oaepHashAlgorithm:"SHA-512"},tP,t||{});if(e.subjectPublicKeyInfo.algorithm.algorithmId.indexOf("1.2.840.113549")!==-1)r=1;else if(e.subjectPublicKeyInfo.algorithm.algorithmId.indexOf("1.2.840.10045")!==-1)r=2;else throw new Error(`Unknown type of certificate's public key: ${e.subjectPublicKeyInfo.algorithm.algorithmId}`);switch(r){case 1:{let a,o;if(i.useOAEP===!0){a=n.getOIDByAlgorithm({name:"RSA-OAEP"},!0,"keyEncryptionAlgorithm");let u=n.getOIDByAlgorithm({name:i.oaepHashAlgorithm},!0,"RSAES-OAEP-params"),l=new j({algorithmId:u,algorithmParams:new ft});o=new sh({hashAlgorithm:l,maskGenAlgorithm:new j({algorithmId:"1.2.840.113549.1.1.8",algorithmParams:l.toSchema()})}).toSchema();}else {if(a=n.getOIDByAlgorithm({name:"RSAES-PKCS1-v1_5"}),a===b)throw new Error("Can not find OID for RSAES-PKCS1-v1_5");o=new ft;}let c=new ah({version:0,rid:new Ht({issuer:e.issuer,serialNumber:e.serialNumber}),keyEncryptionAlgorithm:new j({algorithmId:a,algorithmParams:o}),recipientCertificate:e});this.recipientInfos.push(new Tn({variant:1,value:c}));}break;case 2:{let a=new fa({variant:1,value:new Ht({issuer:e.issuer,serialNumber:e.serialNumber})});this._addKeyAgreeRecipientInfo(a,i,{recipientCertificate:e},n);}break;default:throw new Error(`Unknown "variant" value: ${r}`)}return !0}addRecipientByPreDefinedData(e,t={},r,n=Oe(!0)){if(et.assert(e,"preDefinedData","ArrayBuffer"),!e.byteLength)throw new Error("Pre-defined data could have zero length");if(!t.keyIdentifier){let i=new ArrayBuffer(16),a=new Uint8Array(i);n.getRandomValues(a),t.keyIdentifier=i;}switch(t.hmacHashAlgorithm||(t.hmacHashAlgorithm="SHA-512"),t.iterationCount===void 0&&(t.iterationCount=2048),t.keyEncryptionAlgorithm||(t.keyEncryptionAlgorithm={name:"AES-KW",length:256}),t.keyEncryptionAlgorithmParams||(t.keyEncryptionAlgorithmParams=new ft),r){case 1:{let i=n.getOIDByAlgorithm(t.keyEncryptionAlgorithm,!0,"keyEncryptionAlgorithm"),a=new hh({version:4,kekid:new vc({keyIdentifier:new z({valueHex:t.keyIdentifier})}),keyEncryptionAlgorithm:new j({algorithmId:i,algorithmParams:t.keyEncryptionAlgorithmParams}),preDefinedKEK:e});this.recipientInfos.push(new Tn({variant:3,value:a}));}break;case 2:{let i=n.getOIDByAlgorithm({name:"PBKDF2"},!0,"keyDerivationAlgorithm"),a=new ArrayBuffer(64),o=new Uint8Array(a);n.getRandomValues(o);let c=n.getOIDByAlgorithm({name:"HMAC",hash:{name:t.hmacHashAlgorithm}},!0,"hmacHashAlgorithm"),u=new ha({salt:new z({valueHex:a}),iterationCount:t.iterationCount,prf:new j({algorithmId:c,algorithmParams:new ft})}),l=n.getOIDByAlgorithm(t.keyEncryptionAlgorithm,!0,"keyEncryptionAlgorithm"),m=new fh({version:0,keyDerivationAlgorithm:new j({algorithmId:i,algorithmParams:u.toSchema()}),keyEncryptionAlgorithm:new j({algorithmId:l,algorithmParams:t.keyEncryptionAlgorithmParams}),password:e});this.recipientInfos.push(new Tn({variant:4,value:m}));}break;default:throw new Error(`Unknown value for "variant": ${r}`)}}addRecipientByKeyIdentifier(e,t,r,n=Oe(!0)){let i=Object.assign({},tP,r||{}),a=new fa({variant:2,value:new ch({subjectKeyIdentifier:new z({valueHex:t})})});this._addKeyAgreeRecipientInfo(a,i,{recipientPublicKey:e},n);}_addKeyAgreeRecipientInfo(e,t,r,n=Oe(!0)){let i=new uh({rid:e}),a=n.getOIDByAlgorithm({name:"AES-KW",length:t.kekEncryptionLength},!0,"keyEncryptionAlgorithm"),o=new j({algorithmId:a}),c=n.getOIDByAlgorithm({name:"ECDH",kdf:t.kdfAlgorithm},!0,"KeyAgreeRecipientInfo"),u=new ArrayBuffer(64),l=new Uint8Array(u);n.getRandomValues(l);let m={version:3,ukm:new z({valueHex:u}),keyEncryptionAlgorithm:new j({algorithmId:c,algorithmParams:o.toSchema()}),recipientEncryptedKeys:new Sc({encryptedKeys:[i]})},w=new lh(Object.assign(m,r));this.recipientInfos.push(new Tn({variant:2,value:w}));}async encrypt(e,t,r=Oe(!0)){let n=new ArrayBuffer(16),i=new Uint8Array(n);r.getRandomValues(i);let a=new Uint8Array(t),o=r.getOIDByAlgorithm(e,!0,"contentEncryptionAlgorithm"),c=await r.generateKey(e,!0,["encrypt"]),u=await r.encrypt({name:e.name,iv:i},c,a),l=await r.exportKey("raw",c);this.version=2,this.encryptedContentInfo=new Gt({disableSplit:this.policy.disableSplit,contentType:"1.2.840.113549.1.7.1",contentEncryptionAlgorithm:new j({algorithmId:o,algorithmParams:new z({valueHex:n})}),encryptedContent:new z({valueHex:u})});let m=async C=>{let D=this.recipientInfos[C].value,U,T;if(D.recipientPublicKey)U=D.recipientPublicKey.algorithm.namedCurve,T=D.recipientPublicKey;else if(D.recipientCertificate){let $=D.recipientCertificate.subjectPublicKeyInfo.algorithm.algorithmParams;if($.constructor.blockName()!==ie.blockName())throw new Error(`Incorrect "recipientCertificate" for index ${C}`);switch($.valueBlock.toString()){case"1.2.840.10045.3.1.7":U="P-256";break;case"1.3.132.0.34":U="P-384";break;case"1.3.132.0.35":U="P-521";break;default:throw new Error(`Incorrect curve OID for index ${C}`)}T=await D.recipientCertificate.getPublicKey({algorithm:{algorithm:{name:"ECDH",namedCurve:U},usages:[]}},r);}else throw new Error("Unsupported RecipientInfo");let P=dj[U],B=await r.generateKey({name:"ECDH",namedCurve:U},!0,["deriveBits"]),G=await r.exportKey("spki",B.publicKey),se=await r.deriveBits({name:"ECDH",public:T},B.privateKey,P),X=new j({schema:D.keyEncryptionAlgorithm.algorithmParams}),ae=r.getAlgorithmByOID(X.algorithmId,!0,"aesKWAlgorithm"),fe=ae.length,te=new ArrayBuffer(4),oe=new Uint8Array(te);for(let $=3;$>=0;$--)oe[$]=fe,fe>>=8;let _e=new I0({keyInfo:new j({algorithmId:X.algorithmId}),entityUInfo:D.ukm,suppPubInfo:new z({valueHex:te})}).toSchema().toBER(!1),J=r.getAlgorithmByOID(D.keyEncryptionAlgorithm.algorithmId,!0,"ecdhAlgorithm"),Z=await $k(J.kdf,se,ae.length,_e,r),ce=await r.importKey("raw",Z,{name:"AES-KW"},!0,["wrapKey"]),Ee=await r.wrapKey("raw",c,ce,{name:"AES-KW"}),le=new bc;return le.variant=3,le.value=oh.fromBER(G),D.originator=le,D.recipientEncryptedKeys.encryptedKeys[0].encryptedKey=new z({valueHex:Ee}),{ecdhPrivateKey:B.privateKey}},w=async C=>{let D=this.recipientInfos[C].value,U=r.getAlgorithmByOID(D.keyEncryptionAlgorithm.algorithmId,!0,"keyEncryptionAlgorithm");if(U.name==="RSA-OAEP"){let T=D.keyEncryptionAlgorithm.algorithmParams,P=new sh({schema:T});if(U.hash=r.getAlgorithmByOID(P.hashAlgorithm.algorithmId),!("name"in U.hash))throw new Error(`Incorrect OID for hash algorithm: ${P.hashAlgorithm.algorithmId}`)}try{let T=await D.recipientCertificate.getPublicKey({algorithm:{algorithm:U,usages:["encrypt","wrapKey"]}},r),P=await r.encrypt(T.algorithm,T,l);D.encryptedKey=new z({valueHex:P});}catch{}},E=async C=>{let D=this.recipientInfos[C].value,U=r.getAlgorithmByOID(D.keyEncryptionAlgorithm.algorithmId,!0,"kekAlgorithm"),T=await r.importKey("raw",new Uint8Array(D.preDefinedKEK),U,!0,["wrapKey"]),P=await r.wrapKey("raw",c,T,U);D.encryptedKey=new z({valueHex:P});},v=async C=>{let D=this.recipientInfos[C].value,U;if(!D.keyDerivationAlgorithm)throw new Error('Please append encoded "keyDerivationAlgorithm"');if(!D.keyDerivationAlgorithm.algorithmParams)throw new Error('Incorrectly encoded "keyDerivationAlgorithm"');try{U=new ha({schema:D.keyDerivationAlgorithm.algorithmParams});}catch{throw new Error('Incorrectly encoded "keyDerivationAlgorithm"')}let T=new Uint8Array(D.password),P=await r.importKey("raw",T,"PBKDF2",!1,["deriveKey"]),B=r.getAlgorithmByOID(D.keyEncryptionAlgorithm.algorithmId,!0,"kekAlgorithm"),G="SHA-1";U.prf&&(G=r.getAlgorithmByOID(U.prf.algorithmId,!0,"prfAlgorithm").hash.name);let se=new Uint8Array(U.salt.valueBlock.valueHex),X=U.iterationCount,ae=await r.deriveKey({name:"PBKDF2",hash:{name:G},salt:se,iterations:X},P,B,!0,["wrapKey"]),fe=await r.wrapKey("raw",c,ae,B);D.encryptedKey=new z({valueHex:fe});},A=[];for(let C=0;C<this.recipientInfos.length;C++)switch(this.recipientInfos[C].variant){case 1:A.push(await w(C));break;case 2:A.push(await m(C));break;case 3:A.push(await E(C));break;case 4:A.push(await v(C));break;default:throw new Error(`Unknown recipient type in array with index ${C}`)}return A}async decrypt(e,t,r=Oe(!0)){let n=t||{};if(e+1>this.recipientInfos.length)throw new Error(`Maximum value for "index" is: ${this.recipientInfos.length-1}`);let i=async A=>{let C=this.recipientInfos[A].value,D,U,T,P=C.originator;if(n.recipientCertificate){let J=n.recipientCertificate.subjectPublicKeyInfo.algorithm.algorithmParams;if(J.constructor.blockName()!==ie.blockName())throw new Error(`Incorrect "recipientCertificate" for index ${A}`);D=J.valueBlock.toString();}else if(P.value.algorithm.algorithmParams){let J=P.value.algorithm.algorithmParams;if(J.constructor.blockName()!==ie.blockName())throw new Error(`Incorrect originator for index ${A}`);D=J.valueBlock.toString();}else throw new Error('Parameter "recipientCertificate" is mandatory for "KeyAgreeRecipientInfo" if algorithm params are missing from originator');if(!n.recipientPrivateKey)throw new Error('Parameter "recipientPrivateKey" is mandatory for "KeyAgreeRecipientInfo"');switch(D){case"1.2.840.10045.3.1.7":U="P-256",T=256;break;case"1.3.132.0.34":U="P-384",T=384;break;case"1.3.132.0.35":U="P-521",T=528;break;default:throw new Error(`Incorrect curve OID for index ${A}`)}let B,G=r;rh.BufferSourceConverter.isBufferSource(n.recipientPrivateKey)?B=await r.importKey("pkcs8",n.recipientPrivateKey,{name:"ECDH",namedCurve:U},!0,["deriveBits"]):(B=n.recipientPrivateKey,"crypto"in n&&n.crypto&&(G=n.crypto.subtle)),"algorithmParams"in P.value.algorithm||(P.value.algorithm.algorithmParams=new ie({value:D}));let se=P.value.toSchema().toBER(!1),X=await r.importKey("spki",se,{name:"ECDH",namedCurve:U},!0,[]),ae=await G.deriveBits({name:"ECDH",public:X},B,T);async function fe(J){J=J||!1;let Z=new j({schema:C.keyEncryptionAlgorithm.algorithmParams}),ce=r.getAlgorithmByOID(Z.algorithmId,!0,"kwAlgorithm"),Ee=ce.length,le=new ArrayBuffer(4),$=new Uint8Array(le);for(let Fe=3;Fe>=0;Fe--)$[Fe]=Ee,Ee>>=8;let ee={algorithmId:Z.algorithmId};J&&(ee.algorithmParams=new ft);let xe=new I0({keyInfo:new j(ee),entityUInfo:C.ukm,suppPubInfo:new z({valueHex:le})}).toSchema().toBER(!1),ke=r.getAlgorithmByOID(C.keyEncryptionAlgorithm.algorithmId,!0,"ecdhAlgorithm");if(!ke.name)throw new Error(`Incorrect OID for key encryption algorithm: ${C.keyEncryptionAlgorithm.algorithmId}`);return $k(ke.kdf,ae,ce.length,xe,r)}let te=await fe(),oe=async J=>r.importKey("raw",J,{name:"AES-KW"},!0,["unwrapKey"]),me=await oe(te),_e=async J=>{let Z=this.encryptedContentInfo.contentEncryptionAlgorithm.algorithmId,ce=r.getAlgorithmByOID(Z,!0,"contentEncryptionAlgorithm");return r.unwrapKey("raw",C.recipientEncryptedKeys.encryptedKeys[0].encryptedKey.valueBlock.valueHexView,J,{name:"AES-KW"},ce,!0,["decrypt"])};try{return await _e(me)}catch{let J=await fe(!0),Z=await oe(J);return _e(Z)}},a=async A=>{let C=this.recipientInfos[A].value;if(!n.recipientPrivateKey)throw new Error('Parameter "recipientPrivateKey" is mandatory for "KeyTransRecipientInfo"');let D=r.getAlgorithmByOID(C.keyEncryptionAlgorithm.algorithmId,!0,"keyEncryptionAlgorithm");if(D.name==="RSA-OAEP"){let se=C.keyEncryptionAlgorithm.algorithmParams,X=new sh({schema:se});if(D.hash=r.getAlgorithmByOID(X.hashAlgorithm.algorithmId),!("name"in D.hash))throw new Error(`Incorrect OID for hash algorithm: ${X.hashAlgorithm.algorithmId}`)}let U,T=r;rh.BufferSourceConverter.isBufferSource(n.recipientPrivateKey)?U=await r.importKey("pkcs8",n.recipientPrivateKey,D,!0,["decrypt"]):(U=n.recipientPrivateKey,"crypto"in n&&n.crypto&&(T=n.crypto.subtle));let P=await T.decrypt(U.algorithm,U,C.encryptedKey.valueBlock.valueHexView),B=this.encryptedContentInfo.contentEncryptionAlgorithm.algorithmId,G=r.getAlgorithmByOID(B,!0,"contentEncryptionAlgorithm");if(!("name"in G))throw new Error(`Incorrect "contentEncryptionAlgorithm": ${B}`);return r.importKey("raw",P,G,!0,["decrypt"])},o=async A=>{let C=this.recipientInfos[A].value;if(!n.preDefinedData)throw new Error('Parameter "preDefinedData" is mandatory for "KEKRecipientInfo"');let D=r.getAlgorithmByOID(C.keyEncryptionAlgorithm.algorithmId,!0,"kekAlgorithm"),U=await r.importKey("raw",n.preDefinedData,D,!0,["unwrapKey"]),T=this.encryptedContentInfo.contentEncryptionAlgorithm.algorithmId,P=r.getAlgorithmByOID(T,!0,"contentEncryptionAlgorithm");if(!P.name)throw new Error(`Incorrect "contentEncryptionAlgorithm": ${T}`);return r.unwrapKey("raw",C.encryptedKey.valueBlock.valueHexView,U,D,P,!0,["decrypt"])},c=async A=>{let C=this.recipientInfos[A].value,D;if(!n.preDefinedData)throw new Error('Parameter "preDefinedData" is mandatory for "KEKRecipientInfo"');if(!C.keyDerivationAlgorithm)throw new Error('Please append encoded "keyDerivationAlgorithm"');if(!C.keyDerivationAlgorithm.algorithmParams)throw new Error('Incorrectly encoded "keyDerivationAlgorithm"');try{D=new ha({schema:C.keyDerivationAlgorithm.algorithmParams});}catch{throw new Error('Incorrectly encoded "keyDerivationAlgorithm"')}let U=await r.importKey("raw",n.preDefinedData,"PBKDF2",!1,["deriveKey"]),T=r.getAlgorithmByOID(C.keyEncryptionAlgorithm.algorithmId,!0,"keyEncryptionAlgorithm"),P=D.prf?r.getAlgorithmByOID(D.prf.algorithmId,!0,"prfAlgorithm").hash.name:"SHA-1",B=new Uint8Array(D.salt.valueBlock.valueHex),G=D.iterationCount,se=await r.deriveKey({name:"PBKDF2",hash:{name:P},salt:B,iterations:G},U,T,!0,["unwrapKey"]),X=this.encryptedContentInfo.contentEncryptionAlgorithm.algorithmId,ae=r.getAlgorithmByOID(X,!0,"contentEncryptionAlgorithm");return r.unwrapKey("raw",C.encryptedKey.valueBlock.valueHexView,se,T,ae,!0,["decrypt"])},u;switch(this.recipientInfos[e].variant){case 1:u=await a(e);break;case 2:u=await i(e);break;case 3:u=await o(e);break;case 4:u=await c(e);break;default:throw new Error(`Unknown recipient type in array with index ${e}`)}let l=this.encryptedContentInfo.contentEncryptionAlgorithm.algorithmId,m=r.getAlgorithmByOID(l,!0,"contentEncryptionAlgorithm"),w=this.encryptedContentInfo.contentEncryptionAlgorithm.algorithmParams.valueBlock.valueHex,E=new Uint8Array(w);if(!this.encryptedContentInfo.encryptedContent)throw new Error("Required property `encryptedContent` is empty");let v=this.encryptedContentInfo.getEncryptedContent();return r.decrypt({name:m.name,iv:E},u,v)}};C0.CLASS_NAME="EnvelopedData";var Au="safeContents",id="parsedValue",sP="contentInfos",N0=class s extends q{constructor(e={}){super(),this.safeContents=y(e,Au,s.defaultValues(Au)),id in e&&(this.parsedValue=y(e,id,s.defaultValues(id))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Au:return [];case id:return {};default:return super.defaultValues(e)}}static compareWithDefault(e,t){switch(e){case Au:return t.length===0;case id:return t instanceof Object&&Object.keys(t).length===0;default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||b,value:[new Ae({name:t.contentInfos||b,value:mt.schema()})]})}fromSchema(e){W(e,[sP]);let t=K(e,e,s.schema({names:{contentInfos:sP}}));_.assertSchema(t,this.className),this.safeContents=Array.from(t.result.contentInfos,r=>new mt({schema:r}));}toSchema(){return new k({value:Array.from(this.safeContents,e=>e.toSchema())})}toJSON(){return {safeContents:Array.from(this.safeContents,e=>e.toJSON())}}async parseInternalValues(e,t=Oe(!0)){if(Je.assert(e,Au),et.assert(e.safeContents,Au,"Array"),e.safeContents.length!==this.safeContents.length)throw new et('Length of "parameters.safeContents" must be equal to "this.safeContents.length"');this.parsedValue={safeContents:[]};for(let[r,n]of this.safeContents.entries()){let i=e.safeContents[r],a=`parameters.safeContents[${r}]`;switch(n.contentType){case hI:{et.assert(n.content,"this.safeContents[j].content",z);let o=n.content.getValue();this.parsedValue.safeContents.push({privacyMode:0,value:la.fromBER(o)});}break;case pP:{let o=new C0({schema:n.content});Je.assert(a,i,"recipientCertificate","recipientKey");let c=i,u=c.recipientCertificate,l=c.recipientKey,m=await o.decrypt(0,{recipientCertificate:u,recipientPrivateKey:l},t);this.parsedValue.safeContents.push({privacyMode:2,value:la.fromBER(m)});}break;case gP:{let o=new Ic({schema:n.content});Je.assert(a,i,"password");let c=i.password,u=await o.decrypt({password:c},t);this.parsedValue.safeContents.push({privacyMode:1,value:la.fromBER(u)});}break;default:throw new Error(`Unknown "contentType" for AuthenticatedSafe: " ${n.contentType}`)}}}async makeInternalValues(e,t=Oe(!0)){if(!this.parsedValue)throw new Error('Please run "parseValues" first or add "parsedValue" manually');if(et.assert(this.parsedValue,"this.parsedValue","object"),et.assert(this.parsedValue.safeContents,"this.parsedValue.safeContents","Array"),et.assert(e,"parameters","object"),Je.assert(e,"safeContents"),et.assert(e.safeContents,"parameters.safeContents","Array"),e.safeContents.length!==this.parsedValue.safeContents.length)throw new et('Length of "parameters.safeContents" must be equal to "this.parsedValue.safeContents"');this.safeContents=[];for(let[r,n]of this.parsedValue.safeContents.entries())switch(Je.assert("content",n,"privacyMode","value"),et.assert(n.value,"content.value",la),n.privacyMode){case 0:{let i=n.value.toSchema().toBER(!1);this.safeContents.push(new mt({contentType:"1.2.840.113549.1.7.1",content:new z({valueHex:i})}));}break;case 1:{let i=new Ic,a=e.safeContents[r];a.contentToEncrypt=n.value.toSchema().toBER(!1),await i.encrypt(a,t),this.safeContents.push(new mt({contentType:"1.2.840.113549.1.7.6",content:i.toSchema()}));}break;case 2:{let i=new C0,a=n.value.toSchema().toBER(!1),o=e.safeContents[r];switch(Je.assert(`parameters.safeContents[${r}]`,o,"encryptingCertificate","encryptionAlgorithm"),!0){case o.encryptionAlgorithm.name.toLowerCase()==="aes-cbc":case o.encryptionAlgorithm.name.toLowerCase()==="aes-gcm":break;default:throw new Error(`Incorrect parameter "encryptionAlgorithm" in "parameters.safeContents[i]": ${o.encryptionAlgorithm}`)}switch(!0){case o.encryptionAlgorithm.length===128:case o.encryptionAlgorithm.length===192:case o.encryptionAlgorithm.length===256:break;default:throw new Error(`Incorrect parameter "encryptionAlgorithm.length" in "parameters.safeContents[i]": ${o.encryptionAlgorithm.length}`)}let c=o.encryptionAlgorithm;i.addRecipientByCertificate(o.encryptingCertificate,{},void 0,t),await i.encrypt(c,a,t),this.safeContents.push(new mt({contentType:"1.2.840.113549.1.7.3",content:i.toSchema()}));}break;default:throw new Error(`Incorrect value for "content.privacyMode": ${n.privacyMode}`)}return this}};N0.CLASS_NAME="AuthenticatedSafe";var Qo="hashAlgorithm",wl="issuerNameHash",bl="issuerKeyHash",ec="serialNumber",mj=[Qo,wl,bl,ec],xs=class s extends q{static async create(e,t,r=Oe(!0)){let n=new s;return await n.createForCertificate(e,t,r),n}constructor(e={}){super(),this.hashAlgorithm=y(e,Qo,s.defaultValues(Qo)),this.issuerNameHash=y(e,wl,s.defaultValues(wl)),this.issuerKeyHash=y(e,bl,s.defaultValues(bl)),this.serialNumber=y(e,ec,s.defaultValues(ec)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Qo:return new j;case wl:case bl:return new z;case ec:return new L;default:return super.defaultValues(e)}}static compareWithDefault(e,t){switch(e){case Qo:return t.algorithmId===b&&!("algorithmParams"in t);case wl:case bl:case ec:return t.isEqual(s.defaultValues(ec));default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||b,value:[j.schema(t.hashAlgorithmObject||{names:{blockName:t.hashAlgorithm||b}}),new z({name:t.issuerNameHash||b}),new z({name:t.issuerKeyHash||b}),new L({name:t.serialNumber||b})]})}fromSchema(e){W(e,mj);let t=K(e,e,s.schema({names:{hashAlgorithm:Qo,issuerNameHash:wl,issuerKeyHash:bl,serialNumber:ec}}));_.assertSchema(t,this.className),this.hashAlgorithm=new j({schema:t.result.hashAlgorithm}),this.issuerNameHash=t.result.issuerNameHash,this.issuerKeyHash=t.result.issuerKeyHash,this.serialNumber=t.result.serialNumber;}toSchema(){return new k({value:[this.hashAlgorithm.toSchema(),this.issuerNameHash,this.issuerKeyHash,this.serialNumber]})}toJSON(){return {hashAlgorithm:this.hashAlgorithm.toJSON(),issuerNameHash:this.issuerNameHash.toJSON(),issuerKeyHash:this.issuerKeyHash.toJSON(),serialNumber:this.serialNumber.toJSON()}}isEqual(e){return !(this.hashAlgorithm.algorithmId!==e.hashAlgorithm.algorithmId||!Se.BufferSourceConverter.isEqual(this.issuerNameHash.valueBlock.valueHexView,e.issuerNameHash.valueBlock.valueHexView)||!Se.BufferSourceConverter.isEqual(this.issuerKeyHash.valueBlock.valueHexView,e.issuerKeyHash.valueBlock.valueHexView)||!this.serialNumber.isEqual(e.serialNumber))}async createForCertificate(e,t,r=Oe(!0)){Je.assert(t,Qo,"issuerCertificate");let n=r.getOIDByAlgorithm({name:t.hashAlgorithm},!0,"hashAlgorithm");this.hashAlgorithm=new j({algorithmId:n,algorithmParams:new ft});let i=t.issuerCertificate;this.serialNumber=e.serialNumber;let a=await r.digest({name:t.hashAlgorithm},i.subject.toSchema().toBER(!1));this.issuerNameHash=new z({valueHex:a});let o=i.subjectPublicKeyInfo.subjectPublicKey.valueBlock.valueHexView,c=await r.digest({name:t.hashAlgorithm},o);this.issuerKeyHash=new z({valueHex:c});}};xs.CLASS_NAME="CertID";var Sl="certID",vl="certStatus",El="thisUpdate",ea="nextUpdate",tc="singleExtensions",pj=[Sl,vl,El,ea,tc],k0=class s extends q{constructor(e={}){super(),this.certID=y(e,Sl,s.defaultValues(Sl)),this.certStatus=y(e,vl,s.defaultValues(vl)),this.thisUpdate=y(e,El,s.defaultValues(El)),ea in e&&(this.nextUpdate=y(e,ea,s.defaultValues(ea))),tc in e&&(this.singleExtensions=y(e,tc,s.defaultValues(tc))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Sl:return new xs;case vl:return {};case El:case ea:return new Date(0,0,0);case tc:return [];default:return super.defaultValues(e)}}static compareWithDefault(e,t){switch(e){case Sl:return xs.compareWithDefault("hashAlgorithm",t.hashAlgorithm)&&xs.compareWithDefault("issuerNameHash",t.issuerNameHash)&&xs.compareWithDefault("issuerKeyHash",t.issuerKeyHash)&&xs.compareWithDefault("serialNumber",t.serialNumber);case vl:return Object.keys(t).length===0;case El:case ea:return t===s.defaultValues(e);default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||b,value:[xs.schema(t.certID||{}),new it({value:[new ge({name:t.certStatus||b,idBlock:{tagClass:3,tagNumber:0}}),new V({name:t.certStatus||b,idBlock:{tagClass:3,tagNumber:1},value:[new nt,new V({optional:!0,idBlock:{tagClass:3,tagNumber:0},value:[new Or]})]}),new ge({name:t.certStatus||b,idBlock:{tagClass:3,tagNumber:2},lenBlock:{length:1}})]}),new nt({name:t.thisUpdate||b}),new V({optional:!0,idBlock:{tagClass:3,tagNumber:0},value:[new nt({name:t.nextUpdate||b})]}),new V({optional:!0,idBlock:{tagClass:3,tagNumber:1},value:[Pt.schema(t.singleExtensions||{})]})]})}fromSchema(e){W(e,pj);let t=K(e,e,s.schema({names:{certID:{names:{blockName:Sl}},certStatus:vl,thisUpdate:El,nextUpdate:ea,singleExtensions:{names:{blockName:tc}}}}));_.assertSchema(t,this.className),this.certID=new xs({schema:t.result.certID}),this.certStatus=t.result.certStatus,this.thisUpdate=t.result.thisUpdate.toDate(),ea in t.result&&(this.nextUpdate=t.result.nextUpdate.toDate()),tc in t.result&&(this.singleExtensions=Array.from(t.result.singleExtensions.valueBlock.value,r=>new Bs({schema:r})));}toSchema(){let e=[];return e.push(this.certID.toSchema()),e.push(this.certStatus),e.push(new nt({valueDate:this.thisUpdate})),this.nextUpdate&&e.push(new V({idBlock:{tagClass:3,tagNumber:0},value:[new nt({valueDate:this.nextUpdate})]})),this.singleExtensions&&e.push(new V({idBlock:{tagClass:3,tagNumber:1},value:[new k({value:Array.from(this.singleExtensions,t=>t.toSchema())})]})),new k({value:e})}toJSON(){let e={certID:this.certID.toJSON(),certStatus:this.certStatus.toJSON(),thisUpdate:this.thisUpdate};return this.nextUpdate&&(e.nextUpdate=this.nextUpdate),this.singleExtensions&&(e.singleExtensions=Array.from(this.singleExtensions,t=>t.toJSON())),e}};k0.CLASS_NAME="SingleResponse";var sw="tbs",sc="version",jm="responderID",Hm="producedAt",_m="responses",xl="responseExtensions",Cc="ResponseData",mw=`${Cc}.${sc}`,Al=`${Cc}.${jm}`,DA=`${Cc}.${Hm}`,UA=`${Cc}.${_m}`,pw=`${Cc}.${xl}`,gj=[Cc,mw,Al,DA,UA,pw],gr=class s extends q{get tbs(){return Se.BufferSourceConverter.toArrayBuffer(this.tbsView)}set tbs(e){this.tbsView=new Uint8Array(e);}constructor(e={}){super(),this.tbsView=new Uint8Array(y(e,sw,s.defaultValues(sw))),sc in e&&(this.version=y(e,sc,s.defaultValues(sc))),this.responderID=y(e,jm,s.defaultValues(jm)),this.producedAt=y(e,Hm,s.defaultValues(Hm)),this.responses=y(e,_m,s.defaultValues(_m)),xl in e&&(this.responseExtensions=y(e,xl,s.defaultValues(xl))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case sc:return 0;case sw:return It;case jm:return {};case Hm:return new Date(0,0,0);case _m:case xl:return [];default:return super.defaultValues(e)}}static compareWithDefault(e,t){switch(e){case sw:return t.byteLength===0;case jm:return Object.keys(t).length===0;case Hm:return t===s.defaultValues(e);case _m:case xl:return t.length===0;default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||Cc,value:[new V({optional:!0,idBlock:{tagClass:3,tagNumber:0},value:[new L({name:t.version||mw})]}),new it({value:[new V({name:t.responderID||Al,idBlock:{tagClass:3,tagNumber:1},value:[at.schema(t.ResponseDataByName||{names:{blockName:"ResponseData.byName"}})]}),new V({name:t.responderID||Al,idBlock:{tagClass:3,tagNumber:2},value:[new z({name:t.ResponseDataByKey||"ResponseData.byKey"})]})]}),new nt({name:t.producedAt||DA}),new k({value:[new Ae({name:UA,value:k0.schema(t.response||{})})]}),new V({optional:!0,idBlock:{tagClass:3,tagNumber:1},value:[Pt.schema(t.extensions||{names:{blockName:pw}})]})]})}fromSchema(e){W(e,gj);let t=K(e,e,s.schema());_.assertSchema(t,this.className),this.tbsView=t.result.ResponseData.valueBeforeDecodeView,mw in t.result&&(this.version=t.result[mw].valueBlock.valueDec),t.result[Al].idBlock.tagNumber===1?this.responderID=new at({schema:t.result[Al].valueBlock.value[0]}):this.responderID=t.result[Al].valueBlock.value[0],this.producedAt=t.result[DA].toDate(),this.responses=Array.from(t.result[UA],r=>new k0({schema:r})),pw in t.result&&(this.responseExtensions=Array.from(t.result[pw].valueBlock.value,r=>new Bs({schema:r})));}toSchema(e=!1){let t;if(e===!1){if(!this.tbsView.byteLength)return s.schema();let r=kt(this.tbsView);_.assert(r,"TBS Response Data"),t=r.result;}else {let r=[];sc in this&&r.push(new V({idBlock:{tagClass:3,tagNumber:0},value:[new L({value:this.version})]})),this.responderID instanceof at?r.push(new V({idBlock:{tagClass:3,tagNumber:1},value:[this.responderID.toSchema()]})):r.push(new V({idBlock:{tagClass:3,tagNumber:2},value:[this.responderID]})),r.push(new nt({valueDate:this.producedAt})),r.push(new k({value:Array.from(this.responses,n=>n.toSchema())})),this.responseExtensions&&r.push(new V({idBlock:{tagClass:3,tagNumber:1},value:[new k({value:Array.from(this.responseExtensions,n=>n.toSchema())})]})),t=new k({value:r});}return t}toJSON(){let e={};return sc in this&&(e.version=this.version),this.responderID&&(e.responderID=this.responderID),this.producedAt&&(e.producedAt=this.producedAt),this.responses&&(e.responses=Array.from(this.responses,t=>t.toJSON())),this.responseExtensions&&(e.responseExtensions=Array.from(this.responseExtensions,t=>t.toJSON())),e}};gr.CLASS_NAME="ResponseData";var yA="trustedCerts",wA="certs",bA="crls",SA="ocsps",vA="checkDate",EA="findOrigin",xA="findIssuer",fc;(function(s){s[s.unknown=-1]="unknown",s[s.success=0]="success",s[s.noRevocation=11]="noRevocation",s[s.noPath=60]="noPath",s[s.noValidPath=97]="noValidPath";})(fc||(fc={}));var ca=class s extends Error{constructor(e,t){super(t),this.name=s.NAME,this.code=e,this.message=t;}};ca.NAME="ChainValidationError";function yj(s,e){for(let t=0;t<e.length;t++)if(Se.BufferSourceConverter.isEqual(s.tbsView,e[t].tbsView))return !0;return !1}var P0=class s{constructor(e={}){this.trustedCerts=y(e,yA,this.defaultValues(yA)),this.certs=y(e,wA,this.defaultValues(wA)),this.crls=y(e,bA,this.defaultValues(bA)),this.ocsps=y(e,SA,this.defaultValues(SA)),this.checkDate=y(e,vA,this.defaultValues(vA)),this.findOrigin=y(e,EA,this.defaultValues(EA)),this.findIssuer=y(e,xA,this.defaultValues(xA));}static defaultFindOrigin(e,t){e.tbsView.byteLength===0&&(e.tbsView=new Uint8Array(e.encodeTBS().toBER()));for(let r of t.certs)if(r.tbsView.byteLength===0&&(r.tbsView=new Uint8Array(r.encodeTBS().toBER())),Se.BufferSourceConverter.isEqual(e.tbsView,r.tbsView))return "Intermediate Certificates";for(let r of t.trustedCerts)if(r.tbsView.byteLength===0&&(r.tbsView=new Uint8Array(r.encodeTBS().toBER())),Se.BufferSourceConverter.isEqual(e.tbsView,r.tbsView))return "Trusted Certificates";return "Unknown"}async defaultFindIssuer(e,t,r=Oe(!0)){let n=[],i=null,a=null,o=null;if(e.subject.isEqual(e.issuer))try{if(await e.verify(void 0,r))return [e]}catch{}if(e.extensions){for(let u of e.extensions)if(u.extnID===uI&&u.parsedValue instanceof o0){u.parsedValue.keyIdentifier?i=u.parsedValue.keyIdentifier:(u.parsedValue.authorityCertIssuer&&(a=u.parsedValue.authorityCertIssuer),u.parsedValue.authorityCertSerialNumber&&(o=u.parsedValue.authorityCertSerialNumber));break}}function c(u){if(i!==null&&u.extensions){let m=!1;for(let w of u.extensions)if(w.extnID===xU&&w.parsedValue){m=!0,Se.BufferSourceConverter.isEqual(w.parsedValue.valueBlock.valueHex,i.valueBlock.valueHexView)&&n.push(u);break}if(m)return}let l=!1;o!==null&&(l=u.serialNumber.isEqual(o)),a!==null?u.subject.isEqual(a)&&l&&n.push(u):e.issuer.isEqual(u.subject)&&n.push(u);}for(let u of t.trustedCerts)c(u);for(let u of t.certs)c(u);for(let u=n.length-1;u>=0;u--)try{await e.verify(n[u],r)===!1&&n.splice(u,1);}catch{n.splice(u,1);}return n}defaultValues(e){switch(e){case yA:return [];case wA:return [];case bA:return [];case SA:return [];case vA:return new Date;case EA:return s.defaultFindOrigin;case xA:return this.defaultFindIssuer;default:throw new Error(`Invalid member name for CertificateChainValidationEngine class: ${e}`)}}async sort(e=!1,t=Oe(!0)){let r=[],n=async(v,A)=>{let C=[];function D(T){let P=!0;for(let B=0;B<T.length;B++){for(let G=0;G<T.length;G++)if(G!==B&&T[B]===T[G]){P=!1;break}if(!P)break}return P}if(yj(v,this.trustedCerts))return [[v]];let U=await this.findIssuer(v,this,A);if(U.length===0)throw new Error("No valid certificate paths found");for(let T=0;T<U.length;T++){if(Se.BufferSourceConverter.isEqual(U[T].tbsView,v.tbsView)){C.push([U[T]]);continue}let P=await n(U[T],A);for(let B=0;B<P.length;B++){let G=P[B].slice();G.splice(0,0,U[T]),D(G)?C.push(G):C.push(P[B]);}}return C},i=async v=>{let A=[],C=[],D=[];if(A.push(...r.filter(U=>v.issuer.isEqual(U.subject))),A.length===0)return {status:1,statusMessage:"No certificate's issuers"};if(C.push(...this.crls.filter(U=>U.issuer.isEqual(v.issuer))),C.length===0)return {status:2,statusMessage:"No CRLs for specific certificate issuer"};for(let U=0;U<C.length;U++){let T=C[U];if(!(T.nextUpdate&&T.nextUpdate.value<this.checkDate))for(let P=0;P<A.length;P++)try{if(await C[U].verify({issuerCertificate:A[P]},t)){D.push({crl:C[U],certificate:A[P]});break}}catch{}}return D.length?{status:0,statusMessage:b,result:D}:{status:3,statusMessage:"No valid CRLs found"}},a=async(v,A)=>{let C=t.getAlgorithmByOID(v.signatureAlgorithm.algorithmId);if(!C.name||!C.hash)return 1;for(let D=0;D<this.ocsps.length;D++){let T=await this.ocsps[D].getCertificateStatus(v,A,t);if(T.isForCertificate)return T.status===0?0:1}return 2};async function o(v,A=!1){let C=!1,D=!1,U=!1,T=!1;if(v.extensions){for(let P=0;P<v.extensions.length;P++){let B=v.extensions[P];if(B.critical&&!B.parsedValue)return {result:!1,resultCode:6,resultMessage:`Unable to parse critical certificate extension: ${B.extnID}`};if(B.extnID===AU){U=!0;let G=new Uint8Array(B.parsedValue.valueBlock.valueHex);(G[0]&4)===4&&(D=!0),(G[0]&2)===2&&(T=!0);}B.extnID===oI&&"cA"in B.parsedValue&&B.parsedValue.cA===!0&&(C=!0);}if(D===!0&&C===!1)return {result:!1,resultCode:3,resultMessage:'Unable to build certificate chain - using "keyCertSign" flag set without BasicConstraints'};if(U===!0&&C===!0&&D===!1)return {result:!1,resultCode:4,resultMessage:'Unable to build certificate chain - "keyCertSign" flag was not set'};if(C===!0&&U===!0&&A&&T===!1)return {result:!1,resultCode:5,resultMessage:'Unable to build certificate chain - intermediate certificate must have "cRLSign" key usage flag'}}return C===!1?{result:!1,resultCode:7,resultMessage:"Unable to build certificate chain - more than one possible end-user certificate"}:{result:!0,resultCode:0,resultMessage:b}}let c=async(v,A)=>{for(let C=0;C<v.length;C++)if(v[C].notBefore.value>A||v[C].notAfter.value<A)return {result:!1,resultCode:8,resultMessage:"The certificate is either not yet valid or expired"};if(v.length<2)return {result:!1,resultCode:9,resultMessage:"Too short certificate path"};for(let C=v.length-2;C>=0;C--)if(v[C].issuer.isEqual(v[C].subject)===!1&&v[C].issuer.isEqual(v[C+1].subject)===!1)return {result:!1,resultCode:10,resultMessage:"Incorrect name chaining"};if(this.crls.length!==0||this.ocsps.length!==0)for(let C=0;C<v.length-1;C++){let D=2,U={status:0,statusMessage:b};if(this.ocsps.length!==0)switch(D=await a(v[C],v[C+1]),D){case 0:continue;case 1:return {result:!1,resultCode:12,resultMessage:"One of certificates was revoked via OCSP response"}}if(this.crls.length!==0){if(U=await i(v[C]),U.status===0&&U.result)for(let T=0;T<U.result.length;T++){if(U.result[T].crl.isCertificateRevoked(v[C]))return {result:!1,resultCode:12,resultMessage:"One of certificates had been revoked"};if((await o(U.result[T].certificate,!0)).result===!1)return {result:!1,resultCode:13,resultMessage:"CRL issuer certificate is not a CA certificate or does not have crlSign flag"}}else if(e===!1)throw new ca(fc.noRevocation,`No revocation values found for one of certificates: ${U.statusMessage}`)}else if(D===2)return {result:!1,resultCode:11,resultMessage:"No revocation values found for one of certificates"};if(D===2&&U.status===2&&e){let T=v[C+1],P=!1;if(T.extensions)for(let B of T.extensions)switch(B.extnID){case lP:case cI:case lI:P=!0;break}if(P)throw new ca(fc.noRevocation,`No revocation values found for one of certificates: ${U.statusMessage}`)}}for(let[C,D]of v.entries()){if(!C)continue;if(!(await o(D)).result)return {result:!1,resultCode:14,resultMessage:"One of intermediate certificates is not a CA certificate"}}return {result:!0}};r.push(...this.trustedCerts),r.push(...this.certs);for(let v=0;v<r.length;v++)for(let A=0;A<r.length;A++)if(v!==A&&Se.BufferSourceConverter.isEqual(r[v].tbsView,r[A].tbsView)){r.splice(A,1),v=0;break}let u=r[r.length-1],l,m=[u];if(l=await n(u,t),l.length===0)throw new ca(fc.noPath,"Unable to find certificate path");for(let v=l.length-1;v>=0;v--){let A=!1;for(let C=0;C<l[v].length;C++){let D=l[v][C];for(let U=0;U<this.trustedCerts.length;U++)if(Se.BufferSourceConverter.isEqual(D.tbsView,this.trustedCerts[U].tbsView)){A=!0;break}if(A)break}A||l.splice(v,1);}if(l.length===0)throw new ca(fc.noValidPath,"No valid certificate paths found");let w=l[0].length,E=0;for(let v=0;v<l.length;v++)l[v].length<w&&(w=l[v].length,E=v);for(let v=0;v<l[E].length;v++)m.push(l[E][v]);if(l=await c(m,this.checkDate),l.result===!1)throw l;return m}async verify(e={},t=Oe(!0)){function r(c,u){let l=oa(c),m=oa(u),w=l.split("."),E=m.split("."),v=w.length,A=E.length;if(v===0||A===0||v<A)return !1;for(let C=0;C<v;C++)if(w[C].length===0)return !1;for(let C=0;C<A;C++)if(E[C].length===0){if(C===0){if(A===1)return !1;continue}return !1}for(let C=0;C<A;C++)if(E[A-1-C].length!==0&&w[v-1-C].localeCompare(E[A-1-C])!==0)return !1;return !0}function n(c,u){let l=oa(c),m=oa(u),w=l.split("@"),E=m.split("@");if(w.length===0||E.length===0||w.length<E.length)return !1;if(E.length===1){if(r(w[1],E[0])){let A=w[1].split("."),C=E[0].split(".");return C[0].length===0?!0:A.length===C.length}return !1}return l.localeCompare(m)===0}function i(c,u){let l=oa(c),m=oa(u),w=l.split("/");if(m.split("/").length>1)return !1;if(w.length>1){for(let A=0;A<w.length;A++)if(w[A].length>0&&w[A].charAt(w[A].length-1)!==":"){l=w[A].split(":")[0];break}}if(r(l,m)){let A=l.split("."),C=m.split(".");return C[0].length===0?!0:A.length===C.length}return !1}function a(c,u){let l=c.valueBlock.valueHexView,m=u.valueBlock.valueHexView;if(l.length===4&&m.length===8){for(let w=0;w<4;w++)if((l[w]^m[w])&m[w+4])return !1;return !0}if(l.length===16&&m.length===32){for(let w=0;w<16;w++)if((l[w]^m[w])&m[w+16])return !1;return !0}return !1}function o(c,u){if(c.typesAndValues.length===0||u.typesAndValues.length===0)return !0;if(c.typesAndValues.length<u.typesAndValues.length)return !1;let l=!0,m=0;for(let w=0;w<u.typesAndValues.length;w++){let E=!1;for(let v=m;v<c.typesAndValues.length;v++)if(E=c.typesAndValues[v].isEqual(u.typesAndValues[w]),c.typesAndValues[v].type===u.typesAndValues[w].type&&(l=l&&E),E===!0)if(m===0||m===v){m=v+1;break}else return !1;if(E===!1)return !1}return m===0?!1:l}try{if(this.certs.length===0)throw new Error("Empty certificate array");let c=e.passedWhenNotRevValues||!1,u=e.initialPolicySet||[Gs],l=e.initialExplicitPolicy||!1,m=e.initialPolicyMappingInhibit||!1,w=e.initialInhibitPolicy||!1,E=e.initialPermittedSubtreesSet||[],v=e.initialExcludedSubtreesSet||[],A=e.initialRequiredNameForms||[],C=l,D=m,U=w,T=[!1,!1,!1],P=0,B=0,G=0,se=E,X=v,ae=A,fe=1;this.certs=await this.sort(c,t);let te=[];te.push(Gs);let oe=[],me=new Array(this.certs.length-1);for(let $=0;$<this.certs.length-1;$++)me[$]=!0;oe.push(me);let _e=new Array(this.certs.length-1),J=new Array(this.certs.length-1),Z=C?this.certs.length-1:-1;for(let $=this.certs.length-2;$>=0;$--,fe++){let ee=this.certs[$];if(ee.extensions){for(let ne=0;ne<ee.extensions.length;ne++){let xe=ee.extensions[ne];if(xe.extnID===hP){J[$]=xe.parsedValue;for(let ke=0;ke<te.length;ke++)if(te[ke]===Gs){delete oe[ke][$];break}for(let ke=0;ke<xe.parsedValue.certificatePolicies.length;ke++){let Fe=-1,Rt=xe.parsedValue.certificatePolicies[ke].policyIdentifier;for(let Me=0;Me<te.length;Me++)if(Rt===te[Me]){Fe=Me;break}if(Fe===-1){te.push(Rt);let Me=new Array(this.certs.length-1);Me[$]=!0,oe.push(Me);}else oe[Fe][$]=!0;}}if(xe.extnID===fP){if(D)return {result:!1,resultCode:98,resultMessage:"Policy mapping prohibited"};_e[$]=xe.parsedValue;}xe.extnID===dP&&C===!1&&(xe.parsedValue.requireExplicitPolicy===0?(C=!0,Z=$):T[0]===!1?(T[0]=!0,P=xe.parsedValue.requireExplicitPolicy):P=P>xe.parsedValue.requireExplicitPolicy?xe.parsedValue.requireExplicitPolicy:P,xe.parsedValue.inhibitPolicyMapping===0?D=!0:T[1]===!1?(T[1]=!0,B=xe.parsedValue.inhibitPolicyMapping+1):B=B>xe.parsedValue.inhibitPolicyMapping+1?xe.parsedValue.inhibitPolicyMapping+1:B),xe.extnID===OU&&U===!1&&(xe.parsedValue.valueBlock.valueDec===0?U=!0:T[2]===!1?(T[2]=!0,G=xe.parsedValue.valueBlock.valueDec):G=G>xe.parsedValue.valueBlock.valueDec?xe.parsedValue.valueBlock.valueDec:G);}if(U===!0){let ne=-1;for(let xe=0;xe<te.length;xe++)if(te[xe]===Gs){ne=xe;break}ne!==-1&&delete oe[0][$];}C===!1&&T[0]===!0&&(P--,P===0&&(C=!0,Z=$,T[0]=!1)),D===!1&&T[1]===!0&&(B--,B===0&&(D=!0,T[1]=!1)),U===!1&&T[2]===!0&&(G--,G===0&&(U=!0,T[2]=!1));}}for(let $=0;$<this.certs.length-1;$++)if($<this.certs.length-2&&typeof _e[$+1]<"u")for(let ee=0;ee<_e[$+1].mappings.length;ee++){if(_e[$+1].mappings[ee].issuerDomainPolicy===Gs||_e[$+1].mappings[ee].subjectDomainPolicy===Gs)return {result:!1,resultCode:99,resultMessage:'The "anyPolicy" should not be a part of policy mapping scheme'};let ne=-1,xe=-1;for(let ke=0;ke<te.length;ke++)te[ke]===_e[$+1].mappings[ee].issuerDomainPolicy&&(ne=ke),te[ke]===_e[$+1].mappings[ee].subjectDomainPolicy&&(xe=ke);typeof oe[ne][$]<"u"&&delete oe[ne][$];for(let ke=0;ke<J[$].certificatePolicies.length;ke++)if(_e[$+1].mappings[ee].subjectDomainPolicy===J[$].certificatePolicies[ke].policyIdentifier&&ne!==-1&&xe!==-1)for(let Fe=0;Fe<=$;Fe++)typeof oe[xe][Fe]<"u"&&(oe[ne][Fe]=!0,delete oe[xe][Fe]);}for(let $=0;$<te.length;$++)if(te[$]===Gs)for(let ee=0;ee<Z;ee++)delete oe[$][ee];let ce=[];for(let $=0;$<oe.length;$++){let ee=!0;for(let ne=0;ne<this.certs.length-1;ne++){let xe=!1;if(ne<Z&&te[$]===Gs&&te.length>1){ee=!1;break}if(typeof oe[$][ne]>"u"){if(ne>=Z){for(let ke=0;ke<te.length;ke++)if(te[ke]===Gs){oe[ke][ne]===!0&&(xe=!0);break}}if(!xe){ee=!1;break}}}ee===!0&&ce.push(te[$]);}let Ee=[];if(u.length===1&&u[0]===Gs&&C===!1)Ee=u;else if(ce.length===1&&ce[0]===Gs)Ee=u;else for(let $=0;$<ce.length;$++)for(let ee=0;ee<u.length;ee++)if(u[ee]===ce[$]||u[ee]===Gs){Ee.push(ce[$]);break}let le={result:Ee.length>0,resultCode:0,resultMessage:Ee.length>0?b:'Zero "userConstrPolicies" array, no intersections with "authConstrPolicies"',authConstrPolicies:ce,userConstrPolicies:Ee,explicitPolicyIndicator:C,policyMappings:_e,certificatePath:this.certs};if(Ee.length===0||le.result===!1)return le;fe=1;for(let $=this.certs.length-2;$>=0;$--,fe++){let ee=this.certs[$],ne=[],xe=[],ke=[];if(ee.extensions)for(let De=0;De<ee.extensions.length;De++){let he=ee.extensions[De];he.extnID===uP&&("permittedSubtrees"in he.parsedValue&&(xe=xe.concat(he.parsedValue.permittedSubtrees)),"excludedSubtrees"in he.parsedValue&&(ke=ke.concat(he.parsedValue.excludedSubtrees))),he.extnID===iP&&(ne=ne.concat(he.parsedValue.altNames));}let Fe=ae.length<=0;for(let De=0;De<ae.length;De++)switch(ae[De].base.type){case 4:{if(ae[De].base.value.typesAndValues.length!==ee.subject.typesAndValues.length)continue;Fe=!0;for(let he=0;he<ee.subject.typesAndValues.length;he++)if(ee.subject.typesAndValues[he].type!==ae[De].base.value.typesAndValues[he].type){Fe=!1;break}if(Fe===!0)break}break;default:}if(Fe===!1)throw le.result=!1,le.resultCode=21,le.resultMessage="No necessary name form found",le;let Rt=[[],[],[],[],[]];for(let De=0;De<se.length;De++)switch(se[De].base.type){case 1:Rt[0].push(se[De]);break;case 2:Rt[1].push(se[De]);break;case 4:Rt[2].push(se[De]);break;case 6:Rt[3].push(se[De]);break;case 7:Rt[4].push(se[De]);break;default:}for(let De=0;De<5;De++){let he=!1,ss=!1,ds=Rt[De];for(let Ct=0;Ct<ds.length;Ct++){switch(De){case 0:if(ne.length>0)for(let He=0;He<ne.length;He++)ne[He].type===1&&(ss=!0,he=he||n(ne[He].value,ds[Ct].base.value));else for(let He=0;He<ee.subject.typesAndValues.length;He++)(ee.subject.typesAndValues[He].type==="1.2.840.113549.1.9.1"||ee.subject.typesAndValues[He].type==="0.9.2342.19200300.100.1.3")&&(ss=!0,he=he||n(ee.subject.typesAndValues[He].value.valueBlock.value,ds[Ct].base.value));break;case 1:if(ne.length>0)for(let He=0;He<ne.length;He++)ne[He].type===2&&(ss=!0,he=he||r(ne[He].value,ds[Ct].base.value));break;case 2:ss=!0,he=o(ee.subject,ds[Ct].base.value);break;case 3:if(ne.length>0)for(let He=0;He<ne.length;He++)ne[He].type===6&&(ss=!0,he=he||i(ne[He].value,ds[Ct].base.value));break;case 4:if(ne.length>0)for(let He=0;He<ne.length;He++)ne[He].type===7&&(ss=!0,he=he||a(ne[He].value,ds[Ct].base.value));break;default:}if(he)break}if(he===!1&&ds.length>0&&ss)throw le.result=!1,le.resultCode=41,le.resultMessage='Failed to meet "permitted sub-trees" name constraint',le}let Me=!1;for(let De=0;De<X.length;De++){switch(X[De].base.type){case 1:if(ne.length>=0)for(let he=0;he<ne.length;he++)ne[he].type===1&&(Me=Me||n(ne[he].value,X[De].base.value));else for(let he=0;he<ee.subject.typesAndValues.length;he++)(ee.subject.typesAndValues[he].type==="1.2.840.113549.1.9.1"||ee.subject.typesAndValues[he].type==="0.9.2342.19200300.100.1.3")&&(Me=Me||n(ee.subject.typesAndValues[he].value.valueBlock.value,X[De].base.value));break;case 2:if(ne.length>0)for(let he=0;he<ne.length;he++)ne[he].type===2&&(Me=Me||r(ne[he].value,X[De].base.value));break;case 4:Me=Me||o(ee.subject,X[De].base.value);break;case 6:if(ne.length>0)for(let he=0;he<ne.length;he++)ne[he].type===6&&(Me=Me||i(ne[he].value,X[De].base.value));break;case 7:if(ne.length>0)for(let he=0;he<ne.length;he++)ne[he].type===7&&(Me=Me||a(ne[he].value,X[De].base.value));break;default:}if(Me)break}if(Me===!0)throw le.result=!1,le.resultCode=42,le.resultMessage='Failed to meet "excluded sub-trees" name constraint',le;se=se.concat(xe),X=X.concat(ke);}return le}catch(c){return c instanceof Error?c instanceof ca?{result:!1,resultCode:c.code,resultMessage:c.message,error:c}:{result:!1,resultCode:fc.unknown,resultMessage:c.message,error:c}:c&&typeof c=="object"&&"resultMessage"in c?c:{result:!1,resultCode:-1,resultMessage:`${c}`}}}},gw="tbsResponseData",Mm="signatureAlgorithm",$m="signature",Il="certs",T0="BasicOCSPResponse",LA=`${T0}.${gw}`,jA=`${T0}.${Mm}`,HA=`${T0}.${$m}`,yw=`${T0}.${Il}`,wj=[LA,jA,HA,yw],Ec=class s extends q{constructor(e={}){super(),this.tbsResponseData=y(e,gw,s.defaultValues(gw)),this.signatureAlgorithm=y(e,Mm,s.defaultValues(Mm)),this.signature=y(e,$m,s.defaultValues($m)),Il in e&&(this.certs=y(e,Il,s.defaultValues(Il))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case gw:return new gr;case Mm:return new j;case $m:return new Ve;case Il:return [];default:return super.defaultValues(e)}}static compareWithDefault(e,t){switch(e){case"type":{let r=gr.compareWithDefault("tbs",t.tbs)&&gr.compareWithDefault("responderID",t.responderID)&&gr.compareWithDefault("producedAt",t.producedAt)&&gr.compareWithDefault("responses",t.responses);return "responseExtensions"in t&&(r=r&&gr.compareWithDefault("responseExtensions",t.responseExtensions)),r}case Mm:return t.algorithmId===b&&!("algorithmParams"in t);case $m:return t.isEqual(s.defaultValues(e));case Il:return t.length===0;default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||T0,value:[gr.schema(t.tbsResponseData||{names:{blockName:LA}}),j.schema(t.signatureAlgorithm||{names:{blockName:jA}}),new Ve({name:t.signature||HA}),new V({optional:!0,idBlock:{tagClass:3,tagNumber:0},value:[new k({value:[new Ae({name:yw,value:ts.schema(t.certs||{})})]})]})]})}fromSchema(e){W(e,wj);let t=K(e,e,s.schema());_.assertSchema(t,this.className),this.tbsResponseData=new gr({schema:t.result[LA]}),this.signatureAlgorithm=new j({schema:t.result[jA]}),this.signature=t.result[HA],yw in t.result&&(this.certs=Array.from(t.result[yw],r=>new ts({schema:r})));}toSchema(){let e=[];return e.push(this.tbsResponseData.toSchema()),e.push(this.signatureAlgorithm.toSchema()),e.push(this.signature),this.certs&&e.push(new V({idBlock:{tagClass:3,tagNumber:0},value:[new k({value:Array.from(this.certs,t=>t.toSchema())})]})),new k({value:e})}toJSON(){let e={tbsResponseData:this.tbsResponseData.toJSON(),signatureAlgorithm:this.signatureAlgorithm.toJSON(),signature:this.signature.toJSON()};return this.certs&&(e.certs=Array.from(this.certs,t=>t.toJSON())),e}async getCertificateStatus(e,t,r=Oe(!0)){let n={isForCertificate:!1,status:2},i={},a=[];for(let o of this.tbsResponseData.responses){let c=r.getAlgorithmByOID(o.certID.hashAlgorithm.algorithmId,!0,"CertID.hashAlgorithm");if(!i[c.name]){i[c.name]=1;let u=new xs;a.push(u),await u.createForCertificate(e,{hashAlgorithm:c.name,issuerCertificate:t},r);}}for(let o of this.tbsResponseData.responses)for(let c of a)if(o.certID.isEqual(c)){n.isForCertificate=!0;try{switch(o.certStatus.idBlock.isConstructed){case!0:o.certStatus.idBlock.tagNumber===1&&(n.status=1);break;case!1:switch(o.certStatus.idBlock.tagNumber){case 0:n.status=0;break;case 2:n.status=2;break;default:}break;default:}}catch{}return n}return n}async sign(e,t="SHA-1",r=Oe(!0)){if(!e)throw new Error("Need to provide a private key for signing");let n=await r.getSignatureParameters(e,t),i=n.parameters.algorithm;if(!("name"in i))throw new Error("Empty algorithm");this.signatureAlgorithm=n.signatureAlgorithm,this.tbsResponseData.tbsView=new Uint8Array(this.tbsResponseData.toSchema(!0).toBER());let a=await r.signWithPrivateKey(this.tbsResponseData.tbsView,e,{algorithm:i});this.signature=new Ve({valueHex:a});}async verify(e={},t=Oe(!0)){let r=null,n=-1,i=e.trustedCerts||[];if(!this.certs)throw new Error("No certificates attached to the BasicOCSPResponse");switch(!0){case this.tbsResponseData.responderID instanceof at:for(let[u,l]of this.certs.entries())if(l.subject.isEqual(this.tbsResponseData.responderID)){n=u;break}break;case this.tbsResponseData.responderID instanceof z:for(let[u,l]of this.certs.entries()){let m=await t.digest({name:"sha-1"},l.subjectPublicKeyInfo.subjectPublicKey.valueBlock.valueHexView);if(fi(m,this.tbsResponseData.responderID.valueBlock.valueHex)){n=u;break}}break;default:throw new Error("Wrong value for responderID")}if(n===-1)throw new Error("Correct certificate was not found in OCSP response");r=this.certs[n];let a=[r];for(let u of this.certs){let l=await EP(u,r);l&&a.push(l);}if(!(await new P0({certs:a,trustedCerts:i}).verify({},t)).result)throw new Error("Validation of signer's certificate failed");return t.verifyWithPublicKey(this.tbsResponseData.tbsView,this.signature,this.certs[n].subjectPublicKeyInfo,this.signatureAlgorithm)}};Ec.CLASS_NAME="BasicOCSPResponse";var AA="tbs",IA="version",CA="subject",NA="subjectPublicKeyInfo",Iu="attributes",qm="signatureAlgorithm",Fm="signatureValue",ph="CertificationRequestInfo",SI=`${ph}.version`,vI=`${ph}.subject`,EI=`${ph}.subjectPublicKeyInfo`,ub=`${ph}.attributes`,bj=[ph,SI,vI,EI,ub,qm,Fm];function Sj(s={}){let e=y(s,"names",{});return new k({name:e.CertificationRequestInfo||ph,value:[new L({name:e.CertificationRequestInfoVersion||SI}),at.schema(e.subject||{names:{blockName:vI}}),$s.schema({names:{blockName:EI}}),new V({optional:!0,idBlock:{tagClass:3,tagNumber:0},value:[new Ae({optional:!0,name:e.CertificationRequestInfoAttributes||ub,value:yt.schema(e.attributes||{})})]})]})}var _A=class s extends q{get tbs(){return Se.BufferSourceConverter.toArrayBuffer(this.tbsView)}set tbs(e){this.tbsView=new Uint8Array(e);}constructor(e={}){super(),this.tbsView=new Uint8Array(y(e,AA,s.defaultValues(AA))),this.version=y(e,IA,s.defaultValues(IA)),this.subject=y(e,CA,s.defaultValues(CA)),this.subjectPublicKeyInfo=y(e,NA,s.defaultValues(NA)),Iu in e&&(this.attributes=y(e,Iu,s.defaultValues(Iu))),this.signatureAlgorithm=y(e,qm,s.defaultValues(qm)),this.signatureValue=y(e,Fm,s.defaultValues(Fm)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case AA:return It;case IA:return 0;case CA:return new at;case NA:return new $s;case Iu:return [];case qm:return new j;case Fm:return new Ve;default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({value:[Sj(t.certificationRequestInfo||{}),new k({name:t.signatureAlgorithm||qm,value:[new ie,new be({optional:!0})]}),new Ve({name:t.signatureValue||Fm})]})}fromSchema(e){W(e,bj);let t=K(e,e,s.schema());_.assertSchema(t,this.className),this.tbsView=t.result.CertificationRequestInfo.valueBeforeDecodeView,this.version=t.result[SI].valueBlock.valueDec,this.subject=new at({schema:t.result[vI]}),this.subjectPublicKeyInfo=new $s({schema:t.result[EI]}),ub in t.result&&(this.attributes=Array.from(t.result[ub],r=>new yt({schema:r}))),this.signatureAlgorithm=new j({schema:t.result.signatureAlgorithm}),this.signatureValue=t.result.signatureValue;}encodeTBS(){let e=[new L({value:this.version}),this.subject.toSchema(),this.subjectPublicKeyInfo.toSchema()];return Iu in this&&e.push(new V({idBlock:{tagClass:3,tagNumber:0},value:Array.from(this.attributes||[],t=>t.toSchema())})),new k({value:e})}toSchema(e=!1){let t;if(e===!1){if(this.tbsView.byteLength===0)return s.schema();let r=kt(this.tbsView);_.assert(r,"PKCS#10 Certificate Request"),t=r.result;}else t=this.encodeTBS();return new k({value:[t,this.signatureAlgorithm.toSchema(),this.signatureValue]})}toJSON(){let e={tbs:Se.Convert.ToHex(this.tbsView),version:this.version,subject:this.subject.toJSON(),subjectPublicKeyInfo:this.subjectPublicKeyInfo.toJSON(),signatureAlgorithm:this.signatureAlgorithm.toJSON(),signatureValue:this.signatureValue.toJSON()};return Iu in this&&(e.attributes=Array.from(this.attributes||[],t=>t.toJSON())),e}async sign(e,t="SHA-1",r=Oe(!0)){if(!e)throw new Error("Need to provide a private key for signing");let n=await r.getSignatureParameters(e,t),i=n.parameters;this.signatureAlgorithm=n.signatureAlgorithm,this.tbsView=new Uint8Array(this.encodeTBS().toBER());let a=await r.signWithPrivateKey(this.tbsView,e,i);this.signatureValue=new Ve({valueHex:a});}async verify(e=Oe(!0)){return e.verifyWithPublicKey(this.tbsView,this.signatureValue,this.subjectPublicKeyInfo,this.signatureAlgorithm)}async getPublicKey(e,t=Oe(!0)){return t.getPublicKey(this.subjectPublicKeyInfo,this.signatureAlgorithm,e)}};_A.CLASS_NAME="CertificationRequest";var rc="digestAlgorithm",nc="digest",vj=[rc,nc],On=class s extends q{constructor(e={}){super(),this.digestAlgorithm=y(e,rc,s.defaultValues(rc)),this.digest=y(e,nc,s.defaultValues(nc)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case rc:return new j;case nc:return new z;default:return super.defaultValues(e)}}static compareWithDefault(e,t){switch(e){case rc:return j.compareWithDefault("algorithmId",t.algorithmId)&&!("algorithmParams"in t);case nc:return t.isEqual(s.defaultValues(e));default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||b,value:[j.schema(t.digestAlgorithm||{names:{blockName:rc}}),new z({name:t.digest||nc})]})}fromSchema(e){W(e,vj);let t=K(e,e,s.schema({names:{digestAlgorithm:{names:{blockName:rc}},digest:nc}}));_.assertSchema(t,this.className),this.digestAlgorithm=new j({schema:t.result.digestAlgorithm}),this.digest=t.result.digest;}toSchema(){return new k({value:[this.digestAlgorithm.toSchema(),this.digest]})}toJSON(){return {digestAlgorithm:this.digestAlgorithm.toJSON(),digest:this.digest.toJSON()}}};On.CLASS_NAME="DigestInfo";var Cl="eContentType",pr="eContent",Ej=[Cl,pr],Rn=class s extends q{constructor(e={}){if(super(),this.eContentType=y(e,Cl,s.defaultValues(Cl)),pr in e&&(this.eContent=y(e,pr,s.defaultValues(pr)),this.eContent.idBlock.tagClass===1&&this.eContent.idBlock.tagNumber===4&&this.eContent.idBlock.isConstructed===!1)){let t=new z({idBlock:{isConstructed:!0},isConstructed:!0}),r=0,n=this.eContent.valueBlock.valueHexView.slice().buffer,i=n.byteLength;for(;i>0;){let a=new Uint8Array(n,r,r+65536>n.byteLength?n.byteLength-r:65536),o=new ArrayBuffer(a.length),c=new Uint8Array(o);for(let u=0;u<c.length;u++)c[u]=a[u];t.valueBlock.value.push(new z({valueHex:o})),i-=a.length,r+=a.length;}this.eContent=t;}e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Cl:return b;case pr:return new z;default:return super.defaultValues(e)}}static compareWithDefault(e,t){switch(e){case Cl:return t===b;case pr:return t.idBlock.tagClass===1&&t.idBlock.tagNumber===4?t.isEqual(s.defaultValues(pr)):!1;default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||b,value:[new ie({name:t.eContentType||b}),new V({optional:!0,idBlock:{tagClass:3,tagNumber:0},value:[new be({name:t.eContent||b})]})]})}fromSchema(e){W(e,Ej);let t=K(e,e,s.schema({names:{eContentType:Cl,eContent:pr}}));_.assertSchema(t,this.className),this.eContentType=t.result.eContentType.valueBlock.toString(),pr in t.result&&(this.eContent=t.result.eContent);}toSchema(){let e=[];return e.push(new ie({value:this.eContentType})),this.eContent&&s.compareWithDefault(pr,this.eContent)===!1&&e.push(new V({optional:!0,idBlock:{tagClass:3,tagNumber:0},value:[this.eContent]})),new k({value:e})}toJSON(){let e={eContentType:this.eContentType};return this.eContent&&s.compareWithDefault(pr,this.eContent)===!1&&(e.eContent=this.eContent.toJSON()),e}};Rn.CLASS_NAME="EncapsulatedContentInfo";var ic="mac",ac="macSalt",In="iterations",xj=[ic,ac,In],Dr=class s extends q{constructor(e={}){super(),this.mac=y(e,ic,s.defaultValues(ic)),this.macSalt=y(e,ac,s.defaultValues(ac)),In in e&&(this.iterations=y(e,In,s.defaultValues(In))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case ic:return new On;case ac:return new z;case In:return 1;default:return super.defaultValues(e)}}static compareWithDefault(e,t){switch(e){case ic:return On.compareWithDefault("digestAlgorithm",t.digestAlgorithm)&&On.compareWithDefault("digest",t.digest);case ac:return t.isEqual(s.defaultValues(e));case In:return t===s.defaultValues(e);default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||b,optional:t.optional||!0,value:[On.schema(t.mac||{names:{blockName:ic}}),new z({name:t.macSalt||ac}),new L({optional:!0,name:t.iterations||In})]})}fromSchema(e){W(e,xj);let t=K(e,e,s.schema({names:{mac:{names:{blockName:ic}},macSalt:ac,iterations:In}}));_.assertSchema(t,this.className),this.mac=new On({schema:t.result.mac}),this.macSalt=t.result.macSalt,In in t.result&&(this.iterations=t.result.iterations.valueBlock.valueDec);}toSchema(){let e=[this.mac.toSchema(),this.macSalt];return this.iterations!==void 0&&e.push(new L({value:this.iterations})),new k({value:e})}toJSON(){let e={mac:this.mac.toJSON(),macSalt:this.macSalt.toJSON()};return this.iterations!==void 0&&(e.iterations=this.iterations),e}};Dr.CLASS_NAME="MacData";var dc="hashAlgorithm",mc="hashedMessage",Aj=[dc,mc],Ms=class s extends q{static async create(e,t,r=Oe(!0)){let n=r.getOIDByAlgorithm({name:e},!0,"hashAlgorithm"),i=await r.digest(e,t);return new s({hashAlgorithm:new j({algorithmId:n,algorithmParams:new ft}),hashedMessage:new z({valueHex:i})})}constructor(e={}){super(),this.hashAlgorithm=y(e,dc,s.defaultValues(dc)),this.hashedMessage=y(e,mc,s.defaultValues(mc)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case dc:return new j;case mc:return new z;default:return super.defaultValues(e)}}static compareWithDefault(e,t){switch(e){case dc:return t.algorithmId===b&&!("algorithmParams"in t);case mc:return t.isEqual(s.defaultValues(e))===0;default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||b,value:[j.schema(t.hashAlgorithm||{}),new z({name:t.hashedMessage||b})]})}fromSchema(e){W(e,Aj);let t=K(e,e,s.schema({names:{hashAlgorithm:{names:{blockName:dc}},hashedMessage:mc}}));_.assertSchema(t,this.className),this.hashAlgorithm=new j({schema:t.result.hashAlgorithm}),this.hashedMessage=t.result.hashedMessage;}toSchema(){return new k({value:[this.hashAlgorithm.toSchema(),this.hashedMessage]})}toJSON(){return {hashAlgorithm:this.hashAlgorithm.toJSON(),hashedMessage:this.hashedMessage.toJSON()}}};Ms.CLASS_NAME="MessageImprint";var Nl="reqCert",ta="singleRequestExtensions",Ij=[Nl,ta],dh=class s extends q{constructor(e={}){super(),this.reqCert=y(e,Nl,s.defaultValues(Nl)),ta in e&&(this.singleRequestExtensions=y(e,ta,s.defaultValues(ta))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Nl:return new xs;case ta:return [];default:return super.defaultValues(e)}}static compareWithDefault(e,t){switch(e){case Nl:return t.isEqual(s.defaultValues(e));case ta:return t.length===0;default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||b,value:[xs.schema(t.reqCert||{}),new V({optional:!0,idBlock:{tagClass:3,tagNumber:0},value:[Pt.schema(t.extensions||{names:{blockName:t.singleRequestExtensions||b}})]})]})}fromSchema(e){W(e,Ij);let t=K(e,e,s.schema({names:{reqCert:{names:{blockName:Nl}},extensions:{names:{blockName:ta}}}}));_.assertSchema(t,this.className),this.reqCert=new xs({schema:t.result.reqCert}),ta in t.result&&(this.singleRequestExtensions=Array.from(t.result.singleRequestExtensions.valueBlock.value,r=>new Bs({schema:r})));}toSchema(){let e=[];return e.push(this.reqCert.toSchema()),this.singleRequestExtensions&&e.push(new V({optional:!0,idBlock:{tagClass:3,tagNumber:0},value:[new k({value:Array.from(this.singleRequestExtensions,t=>t.toSchema())})]})),new k({value:e})}toJSON(){let e={reqCert:this.reqCert.toJSON()};return this.singleRequestExtensions&&(e.singleRequestExtensions=Array.from(this.singleRequestExtensions,t=>t.toJSON())),e}};dh.CLASS_NAME="Request";var rw="tbs",kl="version",Pl="requestorName",nw="requestList",Tl="requestExtensions",gh="TBSRequest",ww=`${gh}.${kl}`,bw=`${gh}.${Pl}`,MA=`${gh}.requests`,Sw=`${gh}.${Tl}`,Cj=[gh,ww,bw,MA,Sw],yr=class s extends q{get tbs(){return Se.BufferSourceConverter.toArrayBuffer(this.tbsView)}set tbs(e){this.tbsView=new Uint8Array(e);}constructor(e={}){super(),this.tbsView=new Uint8Array(y(e,rw,s.defaultValues(rw))),kl in e&&(this.version=y(e,kl,s.defaultValues(kl))),Pl in e&&(this.requestorName=y(e,Pl,s.defaultValues(Pl))),this.requestList=y(e,nw,s.defaultValues(nw)),Tl in e&&(this.requestExtensions=y(e,Tl,s.defaultValues(Tl))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case rw:return It;case kl:return 0;case Pl:return new tt;case nw:case Tl:return [];default:return super.defaultValues(e)}}static compareWithDefault(e,t){switch(e){case rw:return t.byteLength===0;case kl:return t===s.defaultValues(e);case Pl:return t.type===tt.defaultValues("type")&&Object.keys(t.value).length===0;case nw:case Tl:return t.length===0;default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||gh,value:[new V({optional:!0,idBlock:{tagClass:3,tagNumber:0},value:[new L({name:t.TBSRequestVersion||ww})]}),new V({optional:!0,idBlock:{tagClass:3,tagNumber:1},value:[tt.schema(t.requestorName||{names:{blockName:bw}})]}),new k({name:t.requestList||"TBSRequest.requestList",value:[new Ae({name:t.requests||MA,value:dh.schema(t.requestNames||{})})]}),new V({optional:!0,idBlock:{tagClass:3,tagNumber:2},value:[Pt.schema(t.extensions||{names:{blockName:t.requestExtensions||Sw}})]})]})}fromSchema(e){W(e,Cj);let t=K(e,e,s.schema());_.assertSchema(t,this.className),this.tbsView=t.result.TBSRequest.valueBeforeDecodeView,ww in t.result&&(this.version=t.result[ww].valueBlock.valueDec),bw in t.result&&(this.requestorName=new tt({schema:t.result[bw]})),this.requestList=Array.from(t.result[MA],r=>new dh({schema:r})),Sw in t.result&&(this.requestExtensions=Array.from(t.result[Sw].valueBlock.value,r=>new Bs({schema:r})));}toSchema(e=!1){let t;if(e===!1){if(this.tbsView.byteLength===0)return s.schema();let r=kt(this.tbsView);if(_.assert(r,"TBS Request"),!(r.result instanceof k))throw new Error("ASN.1 result should be SEQUENCE");t=r.result;}else {let r=[];this.version!==void 0&&r.push(new V({idBlock:{tagClass:3,tagNumber:0},value:[new L({value:this.version})]})),this.requestorName&&r.push(new V({idBlock:{tagClass:3,tagNumber:1},value:[this.requestorName.toSchema()]})),r.push(new k({value:Array.from(this.requestList,n=>n.toSchema())})),this.requestExtensions&&r.push(new V({idBlock:{tagClass:3,tagNumber:2},value:[new k({value:Array.from(this.requestExtensions,n=>n.toSchema())})]})),t=new k({value:r});}return t}toJSON(){let e={};return this.version!=null&&(e.version=this.version),this.requestorName&&(e.requestorName=this.requestorName.toJSON()),e.requestList=Array.from(this.requestList,t=>t.toJSON()),this.requestExtensions&&(e.requestExtensions=Array.from(this.requestExtensions,t=>t.toJSON())),e}};yr.CLASS_NAME="TBSRequest";var Cu="signatureAlgorithm",Nu="signature",Ei="certs",Bn=class s extends q{constructor(e={}){super(),this.signatureAlgorithm=y(e,Cu,s.defaultValues(Cu)),this.signature=y(e,Nu,s.defaultValues(Nu)),Ei in e&&(this.certs=y(e,Ei,s.defaultValues(Ei))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Cu:return new j;case Nu:return new Ve;case Ei:return [];default:return super.defaultValues(e)}}static compareWithDefault(e,t){switch(e){case Cu:return t.algorithmId===b&&!("algorithmParams"in t);case Nu:return t.isEqual(s.defaultValues(e));case Ei:return t.length===0;default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||b,value:[j.schema(t.signatureAlgorithm||{}),new Ve({name:t.signature||b}),new V({optional:!0,idBlock:{tagClass:3,tagNumber:0},value:[new k({value:[new Ae({name:t.certs||b,value:ts.schema({})})]})]})]})}fromSchema(e){W(e,[Cu,Nu,Ei]);let t=K(e,e,s.schema({names:{signatureAlgorithm:{names:{blockName:Cu}},signature:Nu,certs:Ei}}));_.assertSchema(t,this.className),this.signatureAlgorithm=new j({schema:t.result.signatureAlgorithm}),this.signature=t.result.signature,Ei in t.result&&(this.certs=Array.from(t.result.certs,r=>new ts({schema:r})));}toSchema(){let e=[];return e.push(this.signatureAlgorithm.toSchema()),e.push(this.signature),this.certs&&e.push(new V({optional:!0,idBlock:{tagClass:3,tagNumber:0},value:[new k({value:Array.from(this.certs,t=>t.toSchema())})]})),new k({value:e})}toJSON(){let e={signatureAlgorithm:this.signatureAlgorithm.toJSON(),signature:this.signature.toJSON()};return this.certs&&(e.certs=Array.from(this.certs,t=>t.toJSON())),e}};Bn.CLASS_NAME="Signature";var Bl="tbsRequest",sa="optionalSignature",Nj=[Bl,sa],$A=class s extends q{constructor(e={}){super(),this.tbsRequest=y(e,Bl,s.defaultValues(Bl)),sa in e&&(this.optionalSignature=y(e,sa,s.defaultValues(sa))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Bl:return new yr;case sa:return new Bn;default:return super.defaultValues(e)}}static compareWithDefault(e,t){switch(e){case Bl:return yr.compareWithDefault("tbs",t.tbs)&&yr.compareWithDefault("version",t.version)&&yr.compareWithDefault("requestorName",t.requestorName)&&yr.compareWithDefault("requestList",t.requestList)&&yr.compareWithDefault("requestExtensions",t.requestExtensions);case sa:return Bn.compareWithDefault("signatureAlgorithm",t.signatureAlgorithm)&&Bn.compareWithDefault("signature",t.signature)&&Bn.compareWithDefault("certs",t.certs);default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||"OCSPRequest",value:[yr.schema(t.tbsRequest||{names:{blockName:Bl}}),new V({optional:!0,idBlock:{tagClass:3,tagNumber:0},value:[Bn.schema(t.optionalSignature||{names:{blockName:sa}})]})]})}fromSchema(e){W(e,Nj);let t=K(e,e,s.schema());_.assertSchema(t,this.className),this.tbsRequest=new yr({schema:t.result.tbsRequest}),sa in t.result&&(this.optionalSignature=new Bn({schema:t.result.optionalSignature}));}toSchema(e=!1){let t=[];return t.push(this.tbsRequest.toSchema(e)),this.optionalSignature&&t.push(new V({optional:!0,idBlock:{tagClass:3,tagNumber:0},value:[this.optionalSignature.toSchema()]})),new k({value:t})}toJSON(){let e={tbsRequest:this.tbsRequest.toJSON()};return this.optionalSignature&&(e.optionalSignature=this.optionalSignature.toJSON()),e}async createForCertificate(e,t,r=Oe(!0)){let n=new xs;await n.createForCertificate(e,t,r),this.tbsRequest.requestList.push(new dh({reqCert:n}));}async sign(e,t="SHA-1",r=Oe(!0)){if(Je.assertEmpty(e,"privateKey","OCSPRequest.sign method"),!this.optionalSignature)throw new Error('Need to create "optionalSignature" field before signing');let n=await r.getSignatureParameters(e,t),i=n.parameters;this.optionalSignature.signatureAlgorithm=n.signatureAlgorithm;let a=this.tbsRequest.toSchema(!0).toBER(!1),o=await r.signWithPrivateKey(a,e,i);this.optionalSignature.signature=new Ve({valueHex:o});}verify(){}};$A.CLASS_NAME="OCSPRequest";var Ol="responseType",Rl="response",kj=[Ol,Rl],ua=class s extends q{constructor(e={}){super(),this.responseType=y(e,Ol,s.defaultValues(Ol)),this.response=y(e,Rl,s.defaultValues(Rl)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Ol:return b;case Rl:return new z;default:return super.defaultValues(e)}}static compareWithDefault(e,t){switch(e){case Ol:return t===b;case Rl:return t.isEqual(s.defaultValues(e));default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||b,value:[new ie({name:t.responseType||b}),new z({name:t.response||b})]})}fromSchema(e){W(e,kj);let t=K(e,e,s.schema({names:{responseType:Ol,response:Rl}}));_.assertSchema(t,this.className),this.responseType=t.result.responseType.valueBlock.toString(),this.response=t.result.response;}toSchema(){return new k({value:[new ie({value:this.responseType}),this.response]})}toJSON(){return {responseType:this.responseType,response:this.response.toJSON()}}};ua.CLASS_NAME="ResponseBytes";var ku="responseStatus",gn="responseBytes",qA=class s extends q{constructor(e={}){super(),this.responseStatus=y(e,ku,s.defaultValues(ku)),gn in e&&(this.responseBytes=y(e,gn,s.defaultValues(gn))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case ku:return new Or;case gn:return new ua;default:return super.defaultValues(e)}}static compareWithDefault(e,t){switch(e){case ku:return t.isEqual(s.defaultValues(e));case gn:return ua.compareWithDefault("responseType",t.responseType)&&ua.compareWithDefault("response",t.response);default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||"OCSPResponse",value:[new Or({name:t.responseStatus||ku}),new V({optional:!0,idBlock:{tagClass:3,tagNumber:0},value:[ua.schema(t.responseBytes||{names:{blockName:gn}})]})]})}fromSchema(e){W(e,[ku,gn]);let t=K(e,e,s.schema());_.assertSchema(t,this.className),this.responseStatus=t.result.responseStatus,gn in t.result&&(this.responseBytes=new ua({schema:t.result.responseBytes}));}toSchema(){let e=[];return e.push(this.responseStatus),this.responseBytes&&e.push(new V({idBlock:{tagClass:3,tagNumber:0},value:[this.responseBytes.toSchema()]})),new k({value:e})}toJSON(){let e={responseStatus:this.responseStatus.toJSON()};return this.responseBytes&&(e.responseBytes=this.responseBytes.toJSON()),e}async getCertificateStatus(e,t,r=Oe(!0)){let n,i={isForCertificate:!1,status:2};if(!this.responseBytes||this.responseBytes.responseType!==aw)return i;try{let a=kt(this.responseBytes.response.valueBlock.valueHexView);_.assert(a,"Basic OCSP response"),n=new Ec({schema:a.result});}catch{return i}return n.getCertificateStatus(e,t,r)}async sign(e,t,r=Oe(!0)){var n;if(this.responseBytes&&this.responseBytes.responseType===aw)return Ec.fromBER(this.responseBytes.response.valueBlock.valueHexView).sign(e,t,r);throw new Error(`Unknown ResponseBytes type: ${((n=this.responseBytes)===null||n===void 0?void 0:n.responseType)||"Unknown"}`)}async verify(e=null,t=Oe(!0)){var r;if(!(gn in this))throw new Error("Empty ResponseBytes field");if(this.responseBytes&&this.responseBytes.responseType===aw){let n=Ec.fromBER(this.responseBytes.response.valueBlock.valueHexView);return e!==null&&(n.certs||(n.certs=[]),n.certs.push(e)),n.verify({},t)}throw new Error(`Unknown ResponseBytes type: ${((r=this.responseBytes)===null||r===void 0?void 0:r.responseType)||"Unknown"}`)}};qA.CLASS_NAME="OCSPResponse";var lo="type",Cn="attributes",iw="encodedValue",Pj=[Cn],fs=class s extends q{constructor(e={}){super(),this.type=y(e,lo,s.defaultValues(lo)),this.attributes=y(e,Cn,s.defaultValues(Cn)),this.encodedValue=y(e,iw,s.defaultValues(iw)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case lo:return -1;case Cn:return [];case iw:return It;default:return super.defaultValues(e)}}static compareWithDefault(e,t){switch(e){case lo:return t===s.defaultValues(lo);case Cn:return t.length===0;case iw:return t.byteLength===0;default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new V({name:t.blockName||b,optional:!0,idBlock:{tagClass:3,tagNumber:t.tagNumber||0},value:[new Ae({name:t.attributes||b,value:yt.schema()})]})}fromSchema(e){W(e,Pj);let t=K(e,e,s.schema({names:{tagNumber:this.type,attributes:Cn}}));_.assertSchema(t,this.className),this.type=t.result.idBlock.tagNumber,this.encodedValue=Se.BufferSourceConverter.toArrayBuffer(t.result.valueBeforeDecodeView);let r=new Uint8Array(this.encodedValue);if(r[0]=49,!(Cn in t.result)){if(this.type===0)throw new Error("Wrong structure of SignedUnsignedAttributes");return}this.attributes=Array.from(t.result.attributes,n=>new yt({schema:n}));}toSchema(){if(s.compareWithDefault(lo,this.type)||s.compareWithDefault(Cn,this.attributes))throw new Error('Incorrectly initialized "SignedAndUnsignedAttributes" class');return new V({optional:!0,idBlock:{tagClass:3,tagNumber:this.type},value:Array.from(this.attributes,e=>e.toSchema())})}toJSON(){if(s.compareWithDefault(lo,this.type)||s.compareWithDefault(Cn,this.attributes))throw new Error('Incorrectly initialized "SignedAndUnsignedAttributes" class');return {type:this.type,attributes:Array.from(this.attributes,e=>e.toJSON())}}};fs.CLASS_NAME="SignedAndUnsignedAttributes";var Vl="version",oc="sid",Dl="digestAlgorithm",ra="signedAttrs",Ul="signatureAlgorithm",Km="signature",na="unsignedAttrs",ma="SignerInfo",FA=`${ma}.${Vl}`,Gm=`${ma}.${oc}`,KA=`${ma}.${Dl}`,vw=`${ma}.${ra}`,GA=`${ma}.${Ul}`,WA=`${ma}.${Km}`,Ew=`${ma}.${na}`,Tj=[FA,Gm,KA,vw,GA,WA,Ew],mh=class s extends q{constructor(e={}){super(),this.version=y(e,Vl,s.defaultValues(Vl)),this.sid=y(e,oc,s.defaultValues(oc)),this.digestAlgorithm=y(e,Dl,s.defaultValues(Dl)),ra in e&&(this.signedAttrs=y(e,ra,s.defaultValues(ra))),this.signatureAlgorithm=y(e,Ul,s.defaultValues(Ul)),this.signature=y(e,Km,s.defaultValues(Km)),na in e&&(this.unsignedAttrs=y(e,na,s.defaultValues(na))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Vl:return 0;case oc:return new be;case Dl:return new j;case ra:return new fs({type:0});case Ul:return new j;case Km:return new z;case na:return new fs({type:1});default:return super.defaultValues(e)}}static compareWithDefault(e,t){switch(e){case Vl:return s.defaultValues(Vl)===t;case oc:return t instanceof be;case Dl:return t instanceof j?t.isEqual(s.defaultValues(Dl)):!1;case ra:return fs.compareWithDefault("type",t.type)&&fs.compareWithDefault("attributes",t.attributes)&&fs.compareWithDefault("encodedValue",t.encodedValue);case Ul:return t instanceof j?t.isEqual(s.defaultValues(Ul)):!1;case Km:case na:return fs.compareWithDefault("type",t.type)&&fs.compareWithDefault("attributes",t.attributes)&&fs.compareWithDefault("encodedValue",t.encodedValue);default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:ma,value:[new L({name:t.version||FA}),new it({value:[Ht.schema(t.sidSchema||{names:{blockName:Gm}}),new it({value:[new V({optional:!0,name:t.sid||Gm,idBlock:{tagClass:3,tagNumber:0},value:[new z]}),new ge({optional:!0,name:t.sid||Gm,idBlock:{tagClass:3,tagNumber:0}})]})]}),j.schema(t.digestAlgorithm||{names:{blockName:KA}}),fs.schema(t.signedAttrs||{names:{blockName:vw,tagNumber:0}}),j.schema(t.signatureAlgorithm||{names:{blockName:GA}}),new z({name:t.signature||WA}),fs.schema(t.unsignedAttrs||{names:{blockName:Ew,tagNumber:1}})]})}fromSchema(e){W(e,Tj);let t=K(e,e,s.schema());_.assertSchema(t,this.className),this.version=t.result[FA].valueBlock.valueDec;let r=t.result[Gm];r.idBlock.tagClass===1?this.sid=new Ht({schema:r}):this.sid=r,this.digestAlgorithm=new j({schema:t.result[KA]}),vw in t.result&&(this.signedAttrs=new fs({type:0,schema:t.result[vw]})),this.signatureAlgorithm=new j({schema:t.result[GA]}),this.signature=t.result[WA],Ew in t.result&&(this.unsignedAttrs=new fs({type:1,schema:t.result[Ew]}));}toSchema(){if(s.compareWithDefault(oc,this.sid))throw new Error('Incorrectly initialized "SignerInfo" class');let e=[];return e.push(new L({value:this.version})),this.sid instanceof Ht?e.push(this.sid.toSchema()):e.push(this.sid),e.push(this.digestAlgorithm.toSchema()),this.signedAttrs&&s.compareWithDefault(ra,this.signedAttrs)===!1&&e.push(this.signedAttrs.toSchema()),e.push(this.signatureAlgorithm.toSchema()),e.push(this.signature),this.unsignedAttrs&&s.compareWithDefault(na,this.unsignedAttrs)===!1&&e.push(this.unsignedAttrs.toSchema()),new k({value:e})}toJSON(){if(s.compareWithDefault(oc,this.sid))throw new Error('Incorrectly initialized "SignerInfo" class');let e={version:this.version,digestAlgorithm:this.digestAlgorithm.toJSON(),signatureAlgorithm:this.signatureAlgorithm.toJSON(),signature:this.signature.toJSON()};return this.sid instanceof be||(e.sid=this.sid.toJSON()),this.signedAttrs&&s.compareWithDefault(ra,this.signedAttrs)===!1&&(e.signedAttrs=this.signedAttrs.toJSON()),this.unsignedAttrs&&s.compareWithDefault(na,this.unsignedAttrs)===!1&&(e.unsignedAttrs=this.unsignedAttrs.toJSON()),e}};mh.CLASS_NAME="SignerInfo";var Wm="version",Jm="policy",zm="messageImprint",Ym="serialNumber",Zm="genTime",cc="ordering",uc="nonce",Ll="accuracy",jl="tsa",Hl="extensions",br="TSTInfo",JA=`${br}.${Wm}`,zA=`${br}.${Jm}`,YA=`${br}.${zm}`,ZA=`${br}.${Ym}`,XA=`${br}.${Zm}`,xw=`${br}.${Ll}`,Aw=`${br}.${cc}`,Iw=`${br}.${uc}`,Cw=`${br}.${jl}`,Nw=`${br}.${Hl}`,Bj=[JA,zA,YA,ZA,XA,xw,Aw,Iw,Cw,Nw],lb=class s extends q{constructor(e={}){super(),this.version=y(e,Wm,s.defaultValues(Wm)),this.policy=y(e,Jm,s.defaultValues(Jm)),this.messageImprint=y(e,zm,s.defaultValues(zm)),this.serialNumber=y(e,Ym,s.defaultValues(Ym)),this.genTime=y(e,Zm,s.defaultValues(Zm)),Ll in e&&(this.accuracy=y(e,Ll,s.defaultValues(Ll))),cc in e&&(this.ordering=y(e,cc,s.defaultValues(cc))),uc in e&&(this.nonce=y(e,uc,s.defaultValues(uc))),jl in e&&(this.tsa=y(e,jl,s.defaultValues(jl))),Hl in e&&(this.extensions=y(e,Hl,s.defaultValues(Hl))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Wm:return 0;case Jm:return b;case zm:return new Ms;case Ym:return new L;case Zm:return new Date(0,0,0);case Ll:return new Pn;case cc:return !1;case uc:return new L;case jl:return new tt;case Hl:return [];default:return super.defaultValues(e)}}static compareWithDefault(e,t){switch(e){case Wm:case Jm:case Zm:case cc:return t===s.defaultValues(cc);case zm:return Ms.compareWithDefault(dc,t.hashAlgorithm)&&Ms.compareWithDefault(mc,t.hashedMessage);case Ym:case uc:return t.isEqual(s.defaultValues(uc));case Ll:return Pn.compareWithDefault(xi,t.seconds)&&Pn.compareWithDefault(Ai,t.millis)&&Pn.compareWithDefault(Ii,t.micros);case jl:return tt.compareWithDefault(cd,t.type)&&tt.compareWithDefault(ud,t.value);case Hl:return t.length===0;default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||br,value:[new L({name:t.version||JA}),new ie({name:t.policy||zA}),Ms.schema(t.messageImprint||{names:{blockName:YA}}),new L({name:t.serialNumber||ZA}),new nt({name:t.genTime||XA}),Pn.schema(t.accuracy||{names:{blockName:xw}}),new _s({name:t.ordering||Aw,optional:!0}),new L({name:t.nonce||Iw,optional:!0}),new V({optional:!0,idBlock:{tagClass:3,tagNumber:0},value:[tt.schema(t.tsa||{names:{blockName:Cw}})]}),new V({optional:!0,idBlock:{tagClass:3,tagNumber:1},value:[new Ae({name:t.extensions||Nw,value:Bs.schema(t.extension||{})})]})]})}fromSchema(e){W(e,Bj);let t=K(e,e,s.schema());_.assertSchema(t,this.className),this.version=t.result[JA].valueBlock.valueDec,this.policy=t.result[zA].valueBlock.toString(),this.messageImprint=new Ms({schema:t.result[YA]}),this.serialNumber=t.result[ZA],this.genTime=t.result[XA].toDate(),xw in t.result&&(this.accuracy=new Pn({schema:t.result[xw]})),Aw in t.result&&(this.ordering=t.result[Aw].valueBlock.value),Iw in t.result&&(this.nonce=t.result[Iw]),Cw in t.result&&(this.tsa=new tt({schema:t.result[Cw]})),Nw in t.result&&(this.extensions=Array.from(t.result[Nw],r=>new Bs({schema:r})));}toSchema(){let e=[];return e.push(new L({value:this.version})),e.push(new ie({value:this.policy})),e.push(this.messageImprint.toSchema()),e.push(this.serialNumber),e.push(new nt({valueDate:this.genTime})),this.accuracy&&e.push(this.accuracy.toSchema()),this.ordering!==void 0&&e.push(new _s({value:this.ordering})),this.nonce&&e.push(this.nonce),this.tsa&&e.push(new V({optional:!0,idBlock:{tagClass:3,tagNumber:0},value:[this.tsa.toSchema()]})),this.extensions&&e.push(new V({optional:!0,idBlock:{tagClass:3,tagNumber:1},value:Array.from(this.extensions,t=>t.toSchema())})),new k({value:e})}toJSON(){let e={version:this.version,policy:this.policy,messageImprint:this.messageImprint.toJSON(),serialNumber:this.serialNumber.toJSON(),genTime:this.genTime};return this.accuracy&&(e.accuracy=this.accuracy.toJSON()),this.ordering!==void 0&&(e.ordering=this.ordering),this.nonce&&(e.nonce=this.nonce.toJSON()),this.tsa&&(e.tsa=this.tsa.toJSON()),this.extensions&&(e.extensions=Array.from(this.extensions,t=>t.toJSON())),e}async verify(e,t=Oe(!0)){if(!e.data)throw new Error('"data" is a mandatory attribute for TST_INFO verification');let r=e.data;if(e.notBefore&&this.genTime<e.notBefore)throw new Error("Generation time for TSTInfo object is less than notBefore value");if(e.notAfter&&this.genTime>e.notAfter)throw new Error("Generation time for TSTInfo object is more than notAfter value");let n=t.getAlgorithmByOID(this.messageImprint.hashAlgorithm.algorithmId,!0,"MessageImprint.hashAlgorithm"),i=await t.digest(n.name,new Uint8Array(r));return Se.BufferSourceConverter.isEqual(i,this.messageImprint.hashedMessage.valueBlock.valueHexView)}};lb.CLASS_NAME="TSTInfo";var _l="version",Xm="digestAlgorithms",Qm="encapContentInfo",Ml="certificates",$l="crls",e0="signerInfos",ad="ocsps",Nc="SignedData",QA=`${Nc}.${_l}`,kw=`${Nc}.${Xm}`,eI=`${Nc}.${Qm}`,Pw=`${Nc}.${Ml}`,Tw=`${Nc}.${$l}`,Bw=`${Nc}.${e0}`,Oj=[QA,kw,eI,Pw,Tw,Bw],Kt=class extends Error{constructor({message:e,code:t=0,date:r=new Date,signatureVerified:n=null,signerCertificate:i=null,signerCertificateVerified:a=null,timestampSerial:o=null,certificatePath:c=[]}){super(e),this.name="SignedDataVerifyError",this.date=r,this.code=t,this.timestampSerial=o,this.signatureVerified=n,this.signerCertificate=i,this.signerCertificateVerified=a,this.certificatePath=c;}},da=class s extends q{constructor(e={}){super(),this.version=y(e,_l,s.defaultValues(_l)),this.digestAlgorithms=y(e,Xm,s.defaultValues(Xm)),this.encapContentInfo=y(e,Qm,s.defaultValues(Qm)),Ml in e&&(this.certificates=y(e,Ml,s.defaultValues(Ml))),$l in e&&(this.crls=y(e,$l,s.defaultValues($l))),ad in e&&(this.ocsps=y(e,ad,s.defaultValues(ad))),this.signerInfos=y(e,e0,s.defaultValues(e0)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case _l:return 0;case Xm:return [];case Qm:return new Rn;case Ml:return [];case $l:return [];case ad:return [];case e0:return [];default:return super.defaultValues(e)}}static compareWithDefault(e,t){switch(e){case _l:return t===s.defaultValues(_l);case Qm:return Rn.compareWithDefault("eContentType",t.eContentType)&&Rn.compareWithDefault("eContent",t.eContent);case Xm:case Ml:case $l:case ad:case e0:return t.length===0;default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return t.optional===void 0&&(t.optional=!1),new k({name:t.blockName||Nc,optional:t.optional,value:[new L({name:t.version||QA}),new dt({value:[new Ae({name:t.digestAlgorithms||kw,value:j.schema()})]}),Rn.schema(t.encapContentInfo||{names:{blockName:eI}}),new V({name:t.certificates||Pw,optional:!0,idBlock:{tagClass:3,tagNumber:0},value:Un.schema().valueBlock.value}),new V({optional:!0,idBlock:{tagClass:3,tagNumber:1},value:wc.schema(t.crls||{names:{crls:Tw}}).valueBlock.value}),new dt({value:[new Ae({name:t.signerInfos||Bw,value:mh.schema()})]})]})}fromSchema(e){W(e,Oj);let t=K(e,e,s.schema());if(_.assertSchema(t,this.className),this.version=t.result[QA].valueBlock.valueDec,kw in t.result&&(this.digestAlgorithms=Array.from(t.result[kw],r=>new j({schema:r}))),this.encapContentInfo=new Rn({schema:t.result[eI]}),Pw in t.result){let r=new Un({schema:new dt({value:t.result[Pw].valueBlock.value})});this.certificates=r.certificates.slice(0);}Tw in t.result&&(this.crls=Array.from(t.result[Tw],r=>r.idBlock.tagClass===1?new Ac({schema:r}):(r.idBlock.tagClass=1,r.idBlock.tagNumber=16,new yc({schema:r})))),Bw in t.result&&(this.signerInfos=Array.from(t.result[Bw],r=>new mh({schema:r})));}toSchema(e=!1){let t=[];if(this.certificates&&this.certificates.length&&this.certificates.some(r=>r instanceof eh)||this.crls&&this.crls.length&&this.crls.some(r=>r instanceof yc)?this.version=5:this.certificates&&this.certificates.length&&this.certificates.some(r=>r instanceof Ur)?this.version=4:this.certificates&&this.certificates.length&&this.certificates.some(r=>r instanceof ih)||this.signerInfos.some(r=>r.version===3)||this.encapContentInfo.eContentType!==s.ID_DATA?this.version=3:this.version=1,t.push(new L({value:this.version})),t.push(new dt({value:Array.from(this.digestAlgorithms,r=>r.toSchema())})),t.push(this.encapContentInfo.toSchema()),this.certificates){let n=new Un({certificates:this.certificates}).toSchema();t.push(new V({idBlock:{tagClass:3,tagNumber:0},value:n.valueBlock.value}));}return this.crls&&t.push(new V({idBlock:{tagClass:3,tagNumber:1},value:Array.from(this.crls,r=>{if(r instanceof yc){let n=r.toSchema();return n.idBlock.tagClass=3,n.idBlock.tagNumber=1,n}return r.toSchema(e)})})),t.push(new dt({value:Array.from(this.signerInfos,r=>r.toSchema())})),new k({value:t})}toJSON(){let e={version:this.version,digestAlgorithms:Array.from(this.digestAlgorithms,t=>t.toJSON()),encapContentInfo:this.encapContentInfo.toJSON(),signerInfos:Array.from(this.signerInfos,t=>t.toJSON())};return this.certificates&&(e.certificates=Array.from(this.certificates,t=>t.toJSON())),this.crls&&(e.crls=Array.from(this.crls,t=>t.toJSON())),e}async verify({signer:e=-1,data:t=It,trustedCerts:r=[],checkDate:n=new Date,checkChain:i=!1,passedWhenNotRevValues:a=!1,extendedMode:o=!1,findOrigin:c=null,findIssuer:u=null}={},l=Oe(!0)){let m=null,w=null;try{let E=It,v=b,A=[],C=this.signerInfos[e];if(!C)throw new Kt({date:n,code:1,message:"Unable to get signer by supplied index"});if(!this.certificates)throw new Kt({date:n,code:2,message:"No certificates attached to this signed data"});if(C.sid instanceof Ht){for(let P of this.certificates)if(P instanceof ts&&P.issuer.isEqual(C.sid.issuer)&&P.serialNumber.isEqual(C.sid.serialNumber)){m=P;break}}else {let P=C.sid,B=P.idBlock.isConstructed?P.valueBlock.value[0].valueBlock.valueHex:P.valueBlock.valueHex;for(let G of this.certificates){if(!(G instanceof ts))continue;let se=await l.digest({name:"sha-1"},G.subjectPublicKeyInfo.subjectPublicKey.valueBlock.valueHexView);if(fi(se,B)){m=G;break}}}if(!m)throw new Kt({date:n,code:3,message:"Unable to find signer certificate"});if(this.encapContentInfo.eContentType===jU){if(!this.encapContentInfo.eContent)throw new Kt({date:n,code:15,message:"Error during verification: TSTInfo eContent is empty",signatureVerified:null,signerCertificate:m,timestampSerial:w,signerCertificateVerified:!0});let P;try{P=lb.fromBER(this.encapContentInfo.eContent.valueBlock.valueHexView);}catch{throw new Kt({date:n,code:15,message:"Error during verification: TSTInfo wrong ASN.1 schema ",signatureVerified:null,signerCertificate:m,timestampSerial:w,signerCertificateVerified:!0})}if(n=P.genTime,w=P.serialNumber.valueBlock.valueHexView.slice().buffer,t.byteLength===0)throw new Kt({date:n,code:4,message:"Missed detached data input array"});if(!await P.verify({data:t},l))throw new Kt({date:n,code:15,message:"Error during verification: TSTInfo verification is failed",signatureVerified:!1,signerCertificate:m,timestampSerial:w,signerCertificateVerified:!0})}if(i){let P=this.certificates.filter(X=>X instanceof ts&&!!EP(X,m)),B={checkDate:n,certs:P,trustedCerts:r};u&&(B.findIssuer=u),c&&(B.findOrigin=c);let G=new P0(B);if(G.certs.push(m),this.crls)for(let X of this.crls)"thisUpdate"in X?G.crls.push(X):X.otherRevInfoFormat===aw&&G.ocsps.push(new Ec({schema:X.otherRevInfo}));this.ocsps&&G.ocsps.push(...this.ocsps);let se=await G.verify({passedWhenNotRevValues:a},l).catch(X=>{throw new Kt({date:n,code:5,message:`Validation of signer's certificate failed with error: ${X instanceof Object?X.resultMessage:X}`,signerCertificate:m,signerCertificateVerified:!1})});if(se.certificatePath&&(A=se.certificatePath),!se.result)throw new Kt({date:n,code:5,message:`Validation of signer's certificate failed: ${se.resultMessage}`,signerCertificate:m,signerCertificateVerified:!1})}let D=l.getAlgorithmByOID(C.digestAlgorithm.algorithmId);if(!("name"in D))throw new Kt({date:n,code:7,message:`Unsupported signature algorithm: ${C.digestAlgorithm.algorithmId}`,signerCertificate:m,signerCertificateVerified:!0});v=D.name;let U=this.encapContentInfo.eContent;if(U)U.idBlock.tagClass===1&&U.idBlock.tagNumber===4?t=U.getValue():t=U.valueBlock.valueBeforeDecodeView.slice().buffer;else if(t.byteLength===0)throw new Kt({date:n,code:8,message:"Missed detached data input array",signerCertificate:m,signerCertificateVerified:!0});if(C.signedAttrs){let P=!1,B=!1;for(let G of C.signedAttrs.attributes)if(G.type==="1.2.840.113549.1.9.3"&&(P=!0),G.type==="1.2.840.113549.1.9.4"&&(B=!0,E=G.values[0].valueBlock.valueHex),P&&B)break;if(P===!1)throw new Kt({date:n,code:9,message:'Attribute "content-type" is a mandatory attribute for "signed attributes"',signerCertificate:m,signerCertificateVerified:!0});if(B===!1)throw new Kt({date:n,code:10,message:'Attribute "message-digest" is a mandatory attribute for "signed attributes"',signatureVerified:null,signerCertificate:m,signerCertificateVerified:!0})}if(C.signedAttrs){let P=await l.digest(v,new Uint8Array(t));if(!fi(P,E))throw new Kt({date:n,code:15,message:"Error during verification: Message digest doesn't match",signatureVerified:null,signerCertificate:m,timestampSerial:w,signerCertificateVerified:!0});t=C.signedAttrs.encodedValue;}let T=C.signatureAlgorithm.algorithmId==="1.2.840.113549.1.1.1"?await l.verifyWithPublicKey(t,C.signature,m.subjectPublicKeyInfo,C.signatureAlgorithm,v):await l.verifyWithPublicKey(t,C.signature,m.subjectPublicKeyInfo,C.signatureAlgorithm);return o?{date:n,code:14,message:b,signatureVerified:T,signerCertificate:m,timestampSerial:w,signerCertificateVerified:!0,certificatePath:A}:T}catch(E){throw E instanceof Kt?E:new Kt({date:n,code:15,message:`Error during verification: ${E instanceof Error?E.message:E}`,signatureVerified:null,signerCertificate:m,timestampSerial:w,signerCertificateVerified:!0})}}async sign(e,t,r="SHA-1",n=It,i=Oe(!0)){var a;if(!e)throw new Error("Need to provide a private key for signing");let o=this.signerInfos[t];if(!o)throw new RangeError("SignerInfo index is out of range");!(!((a=o.signedAttrs)===null||a===void 0)&&a.attributes.length)&&"hash"in e.algorithm&&"hash"in e.algorithm&&e.algorithm.hash&&(r=e.algorithm.hash.name);let c=i.getOIDByAlgorithm({name:r},!0,"hashAlgorithm");this.digestAlgorithms.filter(w=>w.algorithmId===c).length===0&&this.digestAlgorithms.push(new j({algorithmId:c,algorithmParams:new ft})),o.digestAlgorithm=new j({algorithmId:c,algorithmParams:new ft});let u=await i.getSignatureParameters(e,r),l=u.parameters;if(o.signatureAlgorithm=u.signatureAlgorithm,o.signedAttrs)if(o.signedAttrs.encodedValue.byteLength!==0)n=o.signedAttrs.encodedValue;else {n=o.signedAttrs.toSchema().toBER();let w=Se.BufferSourceConverter.toUint8Array(n);w[0]=49;}else {let w=this.encapContentInfo.eContent;if(w)w.idBlock.tagClass===1&&w.idBlock.tagNumber===4?n=w.getValue():n=w.valueBlock.valueBeforeDecodeView.slice().buffer;else if(n.byteLength===0)throw new Error("Missed detached data input array")}let m=await i.signWithPrivateKey(n,e,l);o.signature=new z({valueHex:m});}};da.CLASS_NAME="SignedData";da.ID_DATA=hI;var lc="version",hc="authSafe",Nn="macData",od="parsedValue",Rj=[lc,hc,Nn],tI=class s extends q{constructor(e={}){super(),this.version=y(e,lc,s.defaultValues(lc)),this.authSafe=y(e,hc,s.defaultValues(hc)),Nn in e&&(this.macData=y(e,Nn,s.defaultValues(Nn))),od in e&&(this.parsedValue=y(e,od,s.defaultValues(od))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case lc:return 3;case hc:return new mt;case Nn:return new Dr;case od:return {};default:return super.defaultValues(e)}}static compareWithDefault(e,t){switch(e){case lc:return t===s.defaultValues(e);case hc:return mt.compareWithDefault("contentType",t.contentType)&&mt.compareWithDefault("content",t.content);case Nn:return Dr.compareWithDefault("mac",t.mac)&&Dr.compareWithDefault("macSalt",t.macSalt)&&Dr.compareWithDefault("iterations",t.iterations);case od:return t instanceof Object&&Object.keys(t).length===0;default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||b,value:[new L({name:t.version||lc}),mt.schema(t.authSafe||{names:{blockName:hc}}),Dr.schema(t.macData||{names:{blockName:Nn,optional:!0}})]})}fromSchema(e){W(e,Rj);let t=K(e,e,s.schema({names:{version:lc,authSafe:{names:{blockName:hc}},macData:{names:{blockName:Nn}}}}));_.assertSchema(t,this.className),this.version=t.result.version.valueBlock.valueDec,this.authSafe=new mt({schema:t.result.authSafe}),Nn in t.result&&(this.macData=new Dr({schema:t.result.macData}));}toSchema(){let e=[new L({value:this.version}),this.authSafe.toSchema()];return this.macData&&e.push(this.macData.toSchema()),new k({value:e})}toJSON(){let e={version:this.version,authSafe:this.authSafe.toJSON()};return this.macData&&(e.macData=this.macData.toJSON()),e}async makeInternalValues(e={},t=Oe(!0)){if(et.assert(e,"parameters","object"),!this.parsedValue)throw new Error('Please call "parseValues" function first in order to make "parsedValue" data');switch(Je.assertEmpty(this.parsedValue.integrityMode,"integrityMode","parsedValue"),Je.assertEmpty(this.parsedValue.authenticatedSafe,"authenticatedSafe","parsedValue"),this.parsedValue.integrityMode){case 0:{if(!("iterations"in e))throw new Je("iterations");Je.assertEmpty(e.pbkdf2HashAlgorithm,"pbkdf2HashAlgorithm"),Je.assertEmpty(e.hmacHashAlgorithm,"hmacHashAlgorithm"),Je.assertEmpty(e.password,"password");let r=new ArrayBuffer(64),n=new Uint8Array(r);t.getRandomValues(n);let i=this.parsedValue.authenticatedSafe.toSchema().toBER(!1);this.authSafe=new mt({contentType:mt.DATA,content:new z({valueHex:i})});let a=await t.stampDataWithPassword({password:e.password,hashAlgorithm:e.hmacHashAlgorithm,salt:r,iterationCount:e.iterations,contentToStamp:i});this.macData=new Dr({mac:new On({digestAlgorithm:new j({algorithmId:t.getOIDByAlgorithm({name:e.hmacHashAlgorithm},!0,"hmacHashAlgorithm")}),digest:new z({valueHex:a})}),macSalt:new z({valueHex:r}),iterations:e.iterations});}break;case 1:{if(!("signingCertificate"in e))throw new Je("signingCertificate");Je.assertEmpty(e.privateKey,"privateKey"),Je.assertEmpty(e.hashAlgorithm,"hashAlgorithm");let r=this.parsedValue.authenticatedSafe.toSchema().toBER(!1),n=new da({version:1,encapContentInfo:new Rn({eContentType:"1.2.840.113549.1.7.1",eContent:new z({valueHex:r})}),certificates:[e.signingCertificate]}),i=await t.digest({name:e.hashAlgorithm},new Uint8Array(r)),a=[];a.push(new yt({type:"1.2.840.113549.1.9.3",values:[new ie({value:"1.2.840.113549.1.7.1"})]})),a.push(new yt({type:"1.2.840.113549.1.9.5",values:[new fn({valueDate:new Date})]})),a.push(new yt({type:"1.2.840.113549.1.9.4",values:[new z({valueHex:i})]})),n.signerInfos.push(new mh({version:1,sid:new Ht({issuer:e.signingCertificate.issuer,serialNumber:e.signingCertificate.serialNumber}),signedAttrs:new fs({type:0,attributes:a})})),await n.sign(e.privateKey,0,e.hashAlgorithm,void 0,t),this.authSafe=new mt({contentType:"1.2.840.113549.1.7.2",content:n.toSchema(!0)});}break;default:throw new Error(`Parameter "integrityMode" has unknown value: ${this.parsedValue.integrityMode}`)}}async parseInternalValues(e,t=Oe(!0)){switch(et.assert(e,"parameters","object"),e.checkIntegrity===void 0&&(e.checkIntegrity=!0),this.parsedValue={},this.authSafe.contentType){case mt.DATA:{Je.assertEmpty(e.password,"password"),this.parsedValue.integrityMode=0,et.assert(this.authSafe.content,"authSafe.content",z);let r=this.authSafe.content.getValue();if(this.parsedValue.authenticatedSafe=N0.fromBER(r),e.checkIntegrity){if(!this.macData)throw new Error('Absent "macData" value, can not check PKCS#12 data integrity');let n=t.getAlgorithmByOID(this.macData.mac.digestAlgorithm.algorithmId,!0,"digestAlgorithm");if(!await t.verifyDataStampedWithPassword({password:e.password,hashAlgorithm:n.name,salt:rh.BufferSourceConverter.toArrayBuffer(this.macData.macSalt.valueBlock.valueHexView),iterationCount:this.macData.iterations||1,contentToVerify:r,signatureToVerify:rh.BufferSourceConverter.toArrayBuffer(this.macData.mac.digest.valueBlock.valueHexView)}))throw new Error("Integrity for the PKCS#12 data is broken!")}}break;case mt.SIGNED_DATA:{this.parsedValue.integrityMode=1;let r=new da({schema:this.authSafe.content}),n=r.encapContentInfo.eContent;Je.assert(n,"eContent","cmsSigned.encapContentInfo"),et.assert(n,"eContent",z);let i=n.getValue();if(this.parsedValue.authenticatedSafe=N0.fromBER(i),!await r.verify({signer:0,checkChain:!1},t))throw new Error("Integrity for the PKCS#12 data is broken!")}break;default:throw new Error(`Incorrect value for "this.authSafe.contentType": ${this.authSafe.contentType}`)}}};tI.CLASS_NAME="PFX";var ql="status",ia="statusStrings",aa="failInfo",Vj=[ql,ia,aa],rP;(function(s){s[s.granted=0]="granted",s[s.grantedWithMods=1]="grantedWithMods",s[s.rejection=2]="rejection",s[s.waiting=3]="waiting",s[s.revocationWarning=4]="revocationWarning",s[s.revocationNotification=5]="revocationNotification";})(rP||(rP={}));var gc=class s extends q{constructor(e={}){super(),this.status=y(e,ql,s.defaultValues(ql)),ia in e&&(this.statusStrings=y(e,ia,s.defaultValues(ia))),aa in e&&(this.failInfo=y(e,aa,s.defaultValues(aa))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case ql:return 2;case ia:return [];case aa:return new Ve;default:return super.defaultValues(e)}}static compareWithDefault(e,t){switch(e){case ql:return t===s.defaultValues(e);case ia:return t.length===0;case aa:return t.isEqual(s.defaultValues(e));default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||b,value:[new L({name:t.status||b}),new k({optional:!0,value:[new Ae({name:t.statusStrings||b,value:new Ps})]}),new Ve({name:t.failInfo||b,optional:!0})]})}fromSchema(e){W(e,Vj);let t=K(e,e,s.schema({names:{status:ql,statusStrings:ia,failInfo:aa}}));_.assertSchema(t,this.className);let r=t.result.status;if(r.valueBlock.isHexOnly===!0||r.valueBlock.valueDec<0||r.valueBlock.valueDec>5)throw new Error('PKIStatusInfo "status" has invalid value');this.status=r.valueBlock.valueDec,ia in t.result&&(this.statusStrings=t.result.statusStrings),aa in t.result&&(this.failInfo=t.result.failInfo);}toSchema(){let e=[];return e.push(new L({value:this.status})),this.statusStrings&&e.push(new k({optional:!0,value:this.statusStrings})),this.failInfo&&e.push(this.failInfo),new k({value:e})}toJSON(){let e={status:this.status};return this.statusStrings&&(e.statusStrings=Array.from(this.statusStrings,t=>t.toJSON())),this.failInfo&&(e.failInfo=this.failInfo.toJSON()),e}};gc.CLASS_NAME="PKIStatusInfo";var t0="version",s0="messageImprint",Fl="reqPolicy",Kl="nonce",kn="certReq",Gl="extensions",kc="TimeStampReq",sI=`${kc}.${t0}`,rI=`${kc}.${s0}`,Ow=`${kc}.${Fl}`,Rw=`${kc}.${Kl}`,Vw=`${kc}.${kn}`,Dw=`${kc}.${Gl}`,Dj=[sI,rI,Ow,Rw,Vw,Dw],nI=class s extends q{constructor(e={}){super(),this.version=y(e,t0,s.defaultValues(t0)),this.messageImprint=y(e,s0,s.defaultValues(s0)),Fl in e&&(this.reqPolicy=y(e,Fl,s.defaultValues(Fl))),Kl in e&&(this.nonce=y(e,Kl,s.defaultValues(Kl))),kn in e&&(this.certReq=y(e,kn,s.defaultValues(kn))),Gl in e&&(this.extensions=y(e,Gl,s.defaultValues(Gl))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case t0:return 0;case s0:return new Ms;case Fl:return b;case Kl:return new L;case kn:return !1;case Gl:return [];default:return super.defaultValues(e)}}static compareWithDefault(e,t){switch(e){case t0:case Fl:case kn:return t===s.defaultValues(e);case s0:return Ms.compareWithDefault("hashAlgorithm",t.hashAlgorithm)&&Ms.compareWithDefault("hashedMessage",t.hashedMessage);case Kl:return t.isEqual(s.defaultValues(e));case Gl:return t.length===0;default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||kc,value:[new L({name:t.version||sI}),Ms.schema(t.messageImprint||{names:{blockName:rI}}),new ie({name:t.reqPolicy||Ow,optional:!0}),new L({name:t.nonce||Rw,optional:!0}),new _s({name:t.certReq||Vw,optional:!0}),new V({optional:!0,idBlock:{tagClass:3,tagNumber:0},value:[new Ae({name:t.extensions||Dw,value:Bs.schema()})]})]})}fromSchema(e){W(e,Dj);let t=K(e,e,s.schema());_.assertSchema(t,this.className),this.version=t.result[sI].valueBlock.valueDec,this.messageImprint=new Ms({schema:t.result[rI]}),Ow in t.result&&(this.reqPolicy=t.result[Ow].valueBlock.toString()),Rw in t.result&&(this.nonce=t.result[Rw]),Vw in t.result&&(this.certReq=t.result[Vw].valueBlock.value),Dw in t.result&&(this.extensions=Array.from(t.result[Dw],r=>new Bs({schema:r})));}toSchema(){let e=[];return e.push(new L({value:this.version})),e.push(this.messageImprint.toSchema()),this.reqPolicy&&e.push(new ie({value:this.reqPolicy})),this.nonce&&e.push(this.nonce),kn in this&&s.compareWithDefault(kn,this.certReq)===!1&&e.push(new _s({value:this.certReq})),this.extensions&&e.push(new V({idBlock:{tagClass:3,tagNumber:0},value:Array.from(this.extensions,t=>t.toSchema())})),new k({value:e})}toJSON(){let e={version:this.version,messageImprint:this.messageImprint.toJSON()};return this.reqPolicy!==void 0&&(e.reqPolicy=this.reqPolicy),this.nonce!==void 0&&(e.nonce=this.nonce.toJSON()),this.certReq!==void 0&&s.compareWithDefault(kn,this.certReq)===!1&&(e.certReq=this.certReq),this.extensions&&(e.extensions=Array.from(this.extensions,t=>t.toJSON())),e}};nI.CLASS_NAME="TimeStampReq";var Wl="status",Jl="timeStampToken",xI="TimeStampResp",iI=`${xI}.${Wl}`,Uw=`${xI}.${Jl}`,Uj=[iI,Uw],aI=class s extends q{constructor(e={}){super(),this.status=y(e,Wl,s.defaultValues(Wl)),Jl in e&&(this.timeStampToken=y(e,Jl,s.defaultValues(Jl))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Wl:return new gc;case Jl:return new mt;default:return super.defaultValues(e)}}static compareWithDefault(e,t){switch(e){case Wl:return gc.compareWithDefault(Wl,t.status)&&!("statusStrings"in t)&&!("failInfo"in t);case Jl:return t.contentType===b&&t.content instanceof be;default:return super.defaultValues(e)}}static schema(e={}){let t=y(e,"names",{});return new k({name:t.blockName||xI,value:[gc.schema(t.status||{names:{blockName:iI}}),mt.schema(t.timeStampToken||{names:{blockName:Uw,optional:!0}})]})}fromSchema(e){W(e,Uj);let t=K(e,e,s.schema());_.assertSchema(t,this.className),this.status=new gc({schema:t.result[iI]}),Uw in t.result&&(this.timeStampToken=new mt({schema:t.result[Uw]}));}toSchema(){let e=[];return e.push(this.status.toSchema()),this.timeStampToken&&e.push(this.timeStampToken.toSchema()),new k({value:e})}toJSON(){let e={status:this.status.toJSON()};return this.timeStampToken&&(e.timeStampToken=this.timeStampToken.toJSON()),e}async sign(e,t,r=Oe(!0)){return this.assertContentType(),new da({schema:this.timeStampToken.content}).sign(e,0,t,void 0,r)}async verify(e={signer:0,trustedCerts:[],data:It},t=Oe(!0)){return this.assertContentType(),new da({schema:this.timeStampToken.content}).verify(e,t)}assertContentType(){if(!this.timeStampToken)throw new Error("timeStampToken is absent in TSP response");if(this.timeStampToken.contentType!==mP)throw new Error(`Wrong format of timeStampToken: ${this.timeStampToken.contentType}`)}};aI.CLASS_NAME="TimeStampResp";function Lj(){if(typeof globalThis<"u"&&"crypto"in globalThis){let s="webcrypto";"webkitSubtle"in globalThis.crypto&&(s="safari"),Mk(s,new nh({name:s,crypto:globalThis.crypto}));}else if(typeof crypto<"u"&&"webcrypto"in crypto){let s="NodeJS ^15",e=crypto.webcrypto;Mk(s,new nh({name:s,crypto:e}));}}Lj();d();f();d();f();d();f();d();f();var CI=(s,e)=>e.some(t=>s instanceof t),AP,IP;function jj(){return AP||(AP=[IDBDatabase,IDBObjectStore,IDBIndex,IDBCursor,IDBTransaction])}function Hj(){return IP||(IP=[IDBCursor.prototype.advance,IDBCursor.prototype.continue,IDBCursor.prototype.continuePrimaryKey])}var NI=new WeakMap,AI=new WeakMap,hb=new WeakMap;function _j(s){let e=new Promise((t,r)=>{let n=()=>{s.removeEventListener("success",i),s.removeEventListener("error",a);},i=()=>{t(Pc(s.result)),n();},a=()=>{r(s.error),n();};s.addEventListener("success",i),s.addEventListener("error",a);});return hb.set(e,s),e}function Mj(s){if(NI.has(s))return;let e=new Promise((t,r)=>{let n=()=>{s.removeEventListener("complete",i),s.removeEventListener("error",a),s.removeEventListener("abort",a);},i=()=>{t(),n();},a=()=>{r(s.error||new DOMException("AbortError","AbortError")),n();};s.addEventListener("complete",i),s.addEventListener("error",a),s.addEventListener("abort",a);});NI.set(s,e);}var kI={get(s,e,t){if(s instanceof IDBTransaction){if(e==="done")return NI.get(s);if(e==="store")return t.objectStoreNames[1]?void 0:t.objectStore(t.objectStoreNames[0])}return Pc(s[e])},set(s,e,t){return s[e]=t,!0},has(s,e){return s instanceof IDBTransaction&&(e==="done"||e==="store")?!0:e in s}};function PP(s){kI=s(kI);}function $j(s){return Hj().includes(s)?function(...e){return s.apply(PI(this),e),Pc(this.request)}:function(...e){return Pc(s.apply(PI(this),e))}}function qj(s){return typeof s=="function"?$j(s):(s instanceof IDBTransaction&&Mj(s),CI(s,jj())?new Proxy(s,kI):s)}function Pc(s){if(s instanceof IDBRequest)return _j(s);if(AI.has(s))return AI.get(s);let e=qj(s);return e!==s&&(AI.set(s,e),hb.set(e,s)),e}var PI=s=>hb.get(s);function TP(s,e,{blocked:t,upgrade:r,blocking:n,terminated:i}={}){let a=indexedDB.open(s,e),o=Pc(a);return r&&a.addEventListener("upgradeneeded",c=>{r(Pc(a.result),c.oldVersion,c.newVersion,Pc(a.transaction),c);}),t&&a.addEventListener("blocked",c=>t(c.oldVersion,c.newVersion,c)),o.then(c=>{i&&c.addEventListener("close",()=>i()),n&&c.addEventListener("versionchange",u=>n(u.oldVersion,u.newVersion,u));}).catch(()=>{}),o}var Fj=["get","getKey","getAll","getAllKeys","count"],Kj=["put","add","delete","clear"],II=new Map;function CP(s,e){if(!(s instanceof IDBDatabase&&!(e in s)&&typeof e=="string"))return;if(II.get(e))return II.get(e);let t=e.replace(/FromIndex$/,""),r=e!==t,n=Kj.includes(t);if(!(t in(r?IDBIndex:IDBObjectStore).prototype)||!(n||Fj.includes(t)))return;let i=async function(a,...o){let c=this.transaction(a,n?"readwrite":"readonly"),u=c.store;return r&&(u=u.index(o.shift())),(await Promise.all([u[t](...o),n&&c.done]))[0]};return II.set(e,i),i}PP(s=>({...s,get:(e,t,r)=>CP(e,t)||s.get(e,t,r),has:(e,t)=>!!CP(e,t)||s.has(e,t)}));var Gj=["continue","continuePrimaryKey","advance"],NP={},TI=new WeakMap,BP=new WeakMap,Wj={get(s,e){if(!Gj.includes(e))return s[e];let t=NP[e];return t||(t=NP[e]=function(...r){TI.set(this,BP.get(this)[e](...r));}),t}};async function*Jj(...s){let e=this;if(e instanceof IDBCursor||(e=await e.openCursor(...s)),!e)return;e=e;let t=new Proxy(e,Wj);for(BP.set(t,e),hb.set(t,PI(e));e;)yield t,e=await(TI.get(t)||e.continue()),TI.delete(t);}function kP(s,e){return e===Symbol.asyncIterator&&CI(s,[IDBIndex,IDBObjectStore,IDBCursor])||e==="iterate"&&CI(s,[IDBIndex,IDBObjectStore])}PP(s=>({...s,get(e,t,r){return kP(e,t)?Jj:s.get(e,t,r)},has(e,t){return kP(e,t)||s.has(e,t)}}));function OP(s,e){if(s===e)return !0;if(s===null||e===null||typeof s!="object"||typeof e!="object")return !1;let t=Object.keys(s),r=Object.keys(e);if(t.length!==r.length)return !1;for(let n of t)if(!r.includes(n)||!OP(s[n],e[n]))return !1;return !0}var _t=class{dbName;storeName;key;migrations;_db=null;listeners=[];broadcastChannel;constructor(e,t,r,n=[]){this.dbName=e,this.storeName=t,this.key=r,this.migrations=n,typeof BroadcastChannel<"u"&&(this.broadcastChannel=new BroadcastChannel(this.dbName+"-observer"),this.broadcastChannel.onmessage=i=>{i.data&&i.data.keyValue!==void 0&&i.data.updateType&&this.listeners.forEach(a=>a(i.data.keyValue,i.data.updateType,i.data.oldItem,i.data.newItem));});}async openDB(){if(this._db)return this._db;let e=this.migrations.length+1;return this._db=await TP(this.dbName,e,{upgrade:(t,r,n,i,a)=>{if(n!==null)for(let o=r+1;o<=n;o++){let c=o-2;if(c>=0&&c<this.migrations.length){let u=this.migrations[c];if(u)u(t,i,a);else throw new Error(`Migration for schema version ${o} (using migrations[${c}]) not found but expected.`)}}},blocked:()=>{console.error(`IndexedDB ${this.dbName} upgrade blocked.`);},blocking:()=>{console.warn(`IndexedDB ${this.dbName} upgrade is being blocked by other connections. Closing this connection.`),this._db&&(this._db.close(),this._db=null);},terminated:()=>{console.warn(`IndexedDB ${this.dbName} connection terminated.`),this._db=null;}}),await this.handleOpenDB(),this._db}async handleOpenDB(){}async getStore(e){return (await this.openDB()).transaction(this.storeName,e).objectStore(this.storeName)}async get(e){return (await this.getStore("readonly")).get(e)}async list(){return (await this.getStore("readonly")).getAll()}async set(e){let t=await this.openDB(),r=e[this.key],n=t.transaction(this.storeName,"readwrite"),i=n.objectStore(this.storeName),a=await i.get(r);await i.put(e,r),await n.done;let o=null;return a?OP(a,e)||(o="updated"):o="added",o&&this.notifyUpdate(r,o,a,e),r}async del(e){let t=await this.get(e),n=(await this.openDB()).transaction(this.storeName,"readwrite");await n.objectStore(this.storeName).delete(e),await n.done,t&&this.notifyUpdate(e,"removed",t,void 0);}notifyUpdate(e,t,r,n){this.listeners.forEach(i=>i(e,t,r,n)),this.broadcastChannel&&this.broadcastChannel.postMessage({keyValue:e,updateType:t,oldItem:r,newItem:n});}addListener(e){return this.listeners.push(e),()=>this.removeListener(e)}removeListener(e){this.listeners=this.listeners.filter(t=>t!==e);}async close(){this._db&&(this._db.close(),this._db=null),this.broadcastChannel&&(this.broadcastChannel.close(),this.broadcastChannel=void 0);}};var BI="auth-commitments",B0=class extends _t{constructor(e="sequence-auth-commitments"){super(e,BI,"id",[(t,r,n)=>{t.objectStoreNames.contains(BI)||t.createObjectStore(BI);}]);}};d();f();var OI="auth-keys",O0=class extends _t{expirationTimers=new Map;constructor(e="sequence-auth-keys"){super(e,OI,"address",[(t,r,n)=>{t.objectStoreNames.contains(OI)||t.createObjectStore(OI).createIndex("identitySigner","identitySigner",{unique:!0});}]);}async handleOpenDB(){let e=await this.list();for(let t of e)await this.scheduleExpiration(t);}async set(e){let t=await super.set({...e,address:e.address.toLowerCase(),identitySigner:e.identitySigner.toLowerCase()});return this.scheduleExpiration(e),t}async del(e){let t=await super.del(e.toLowerCase());return this.clearExpiration(e),t}async getBySigner(e,t=1){let r=e.toLowerCase(),n=await this.getStore("readonly"),i=n.index("identitySigner");try{let a=await i.get(r);if(a!==void 0)return a;if(t<2)return await new Promise(o=>setTimeout(o,50)),this.getBySigner(e,t+1);try{let o=await n.getAll();return o&&o.length>0?o.find(u=>u.identitySigner.toLowerCase()===r):void 0}catch(o){throw console.error(`[AuthKeys.getBySigner] Fallback: Error during getAll() for signer ${r}:`,o),o}}catch(a){throw console.error(`[AuthKeys.getBySigner attempt #${t}] Index query error for signer ${r}:`,a),a}}async delBySigner(e){let t=await this.getBySigner(e.toLowerCase());t&&await this.del(t.address.toLowerCase());}async scheduleExpiration(e){this.clearExpiration(e.address.toLowerCase());let t=Date.now(),r=e.expiresAt.getTime()-t;if(r<=0){await this.del(e.address.toLowerCase());return}let n=window.setTimeout(()=>{console.log("removing expired auth key",e),this.del(e.address.toLowerCase());},r);this.expirationTimers.set(e.address.toLowerCase(),n);}clearExpiration(e){let t=this.expirationTimers.get(e.toLowerCase());t&&(window.clearTimeout(t),this.expirationTimers.delete(e.toLowerCase()));}};d();f();var RI="messages",R0=class extends _t{constructor(e="sequence-messages"){super(e,RI,"id",[(t,r,n)=>{t.objectStoreNames.contains(RI)||t.createObjectStore(RI);}]);}};d();f();var VI="envelopes",V0=class extends _t{constructor(e="sequence-signature-requests"){super(e,VI,"id",[(t,r,n)=>{t.objectStoreNames.contains(VI)||t.createObjectStore(VI);}]);}};d();f();var DI="transactions",D0=class extends _t{constructor(e="sequence-transactions"){super(e,DI,"id",[(t,r,n)=>{t.objectStoreNames.contains(DI)||t.createObjectStore(DI);}]);}};d();f();var UI="wallets",U0=class extends _t{constructor(e="sequence-manager"){super(e,UI,"address",[(t,r,n)=>{t.objectStoreNames.contains(UI)||t.createObjectStore(UI);}]);}};d();f();var LI="queued-recovery-payloads",L0=class extends _t{constructor(e="sequence-recovery"){super(e,LI,"id",[(t,r,n)=>{t.objectStoreNames.contains(LI)||t.createObjectStore(LI);}]);}};d();f();var jI="passkey-credentials",j0=class extends _t{constructor(e="sequence-passkey-credentials"){super(e,jI,"credentialId",[(t,r,n)=>{t.objectStoreNames.contains(jI)||t.createObjectStore(jI);}]);}async getByCredentialId(e){return this.get(e)}async saveCredential(e,t,r){let n=new Date().toISOString(),i={credentialId:e,publicKey:t,walletAddress:r,createdAt:n,lastLoginAt:n};await this.set(i);}async updateCredential(e,{lastLoginAt:t,walletAddress:r}){let n=await this.getByCredentialId(e);if(n){let i={...n,lastLoginAt:t,walletAddress:r};await this.set(i);}}};d();f();d();f();d();f();d();f();d();f();d();f();d();f();d();f();d();f();d();f();d();f();d();f();d();f();d();f();d();f();d();f();d();f();d();f();d();f();d();f();d();f();d();f();d();f();d();f();d();f();d();f();({verbose:!1,extensions:je.Rc5,context:Ka.Rc5,context4337:Ka.Rc5_4337,guest:Xe.DefaultGuestAddress,encryptedPksDb:new cr.Pk.Encrypted.EncryptedPksDb,managerDb:new U0,signaturesDb:new V0,transactionsDb:new D0,messagesDb:new R0,authCommitmentsDb:new B0,recoveryDb:new L0,authKeysDb:new O0,passkeyCredentialsDb:new j0,dbPruningInterval:1e3*60*60*24,stateProvider:new du.Sequence.Provider,networks:Wa.ALL,relayers:()=>typeof window<"u"?[Bf.LocalRelayer.createFromWindow(window)].filter(s=>s!==void 0):[],bundlers:[],nonWitnessableSigners:[],guardUrl:"https://guard.sequence.app",guardAddresses:{wallet:"0x26f3D30F41FA897309Ae804A2AFf15CEb1dA5742",sessions:"0xF6Bc87F5F2edAdb66737E32D37b46423901dfEF1"},defaultGuardTopology:{type:"nested",weight:1n,threshold:1n,tree:[{type:"signer",address:Xe.PlaceholderAddress,weight:1n},{type:"signer",address:"0x007a47e6BF40C1e0ed5c01aE42fDC75879140bc4",weight:1n}]},defaultSessionsTopology:{type:"sapient-signer",weight:1n},defaultRecoverySettings:{requiredDeltaTime:2592000n,minTimestamp:0n},multiInjectedProviderDiscovery:!0,identity:{url:"https://identity.sequence.app",fetch:typeof window<"u"?window.fetch:void 0,verifyAttestation:!0,email:{enabled:!1},google:{enabled:!1,clientId:""},apple:{enabled:!1,clientId:""}}});var H0=class{#e;#s;#r=null;#t=null;constructor(e,t){this.#e=e,this.#s=t;}async#a(){let e=await this.#e.getUser();if(!e)throw new ct("User not authenticated","NOT_LOGGED_IN_ERROR");return e}async#i(){let e=this.#r;e||(e=await this.#n());let t=await this.#a();return t.profile.sub!==e.userIdentifier&&(e=await this.#n(t)),e}async#n(e){return this.#t?this.#t:(this.#t=(async()=>{try{this.#r=null,await this.#e.forceUserRefresh();let t=e||await this.#a();if(!t.idToken)throw new ct("User idToken not available","NOT_LOGGED_IN_ERROR");let{idToken:r}=t,n=decodeJwtPayload(r),i=n.iss,a=n.aud,o=await window.crypto.subtle.generateKey({name:"ECDSA",namedCurve:"P-256"},!1,["sign","verify"]),c=await window.crypto.subtle.exportKey("raw",o.publicKey),u={address:R.fromBytes(new Uint8Array(c)),privateKey:o.privateKey,identitySigner:"",expiresAt:new Date(Date.now()+36e5)},l=new Af(this.#s.identityInstrumentEndpoint,"@14:test"),m=new u1(i,a,r);await l.commitVerifier(za.toIdentityAuthKey(u),m);let E=(await l.completeAuth(za.toIdentityAuthKey(u),m)).signer.address;return u.identitySigner=E,this.#r={userIdentifier:t.profile.sub,signerAddress:E,authKey:u,identityInstrument:l},this.#r}catch(t){let r=`Identity Instrument: Failed to create signer: ${t.message}`;throw new ct(r,"WALLET_CONNECTION_ERROR")}finally{this.#t=null;}})(),this.#t)}async getAddress(){return (await this.#i()).signerAddress}async signPayload(e,t,r){let n=await this.#i();return new za.IdentitySigner(n.identityInstrument,n.authKey).sign(e,t,r)}async signMessage(e){let t=await this.#i(),r=new za.IdentitySigner(t.identityInstrument,t.authKey),n=typeof e=="string"?new TextEncoder().encode(e):e,i=hashMessage({raw:n}),a=await r.signDigest(R.toBytes(i)),o=toHex(a.r,{size:32}),c=toHex(a.s,{size:32}),u=toHex(a.yParity+27,{size:1});return concat([o,c,u])}};d();f();var _0=class{#e;#s=null;#r=null;constructor(e){this.#e=e;}async#t(){let e=await this.#e.getUser();if(!e)throw new ct("User not authenticated","NOT_LOGGED_IN_ERROR");return e}async#a(){let e=this.#s;e||(e=await this.#i());let t=await this.#t();return t.profile.sub!==e.userIdentifier&&(e=await this.#i(t)),e}async#i(e){return this.#r?this.#r:(this.#r=(async()=>{try{this.#s=null;let t=e||await this.#t(),r=keccak256(toBytes(`${t.profile.sub}-sequence`)),n=new cr.Pk.Pk(r),i=n.address;return this.#s={userIdentifier:t.profile.sub,signerAddress:i,signer:n,privateKey:r},this.#s}catch(t){let r=`Failed to create private key wallet: ${t.message}`;throw new ct(r,"WALLET_CONNECTION_ERROR")}finally{this.#r=null;}})(),this.#r)}async getAddress(){return (await this.#a()).signerAddress}async signPayload(e,t,r){return (await this.#a()).signer.sign(e,t,r)}async signMessage(e){let t=await this.#a(),r=privateKeyToAccount(t.privateKey),n=typeof e=="string"?e:{raw:e};return await r.signMessage({message:n})}};var hH="https://auth.dev.immutable.com";function jP(s,e,t={}){if(e.authenticationDomain===hH)return new _0(s);if(!t.identityInstrumentEndpoint)throw new Error("identityInstrumentEndpoint is required for non-dev environments");return new H0(s,{identityInstrumentEndpoint:t.identityInstrumentEndpoint})}function wH(s){return s in qn}function bH(s){if(s.magicPublishableApiKey&&s.magicProviderId)return {magicPublishableApiKey:s.magicPublishableApiKey,magicProviderId:s.magicProviderId};let{chainId:e}=s;if(wH(e))return qn[e];throw new Error(`No Magic configuration available for chain ${s.chainId}. Please provide magicPublishableApiKey and magicProviderId in ChainConfig.`)}var SH="PtQRK4iRJ8GkXjiz6xfImMAYhPhW0cYk",vH="mjtCL8mt06BtbxSkp2vbrYStKWnXVZfo",EH="openid profile email offline_access transact",xH="platform_api",AH="https://auth.immutable.com/im-logged-in",IH="https://auth.immutable.com",CH=/(sandbox|testnet)/i,NH=[13371,13473,15003];function kH(s){return NH.includes(s.chainId)}function PH(s){if(s.chainId===13473)return !0;let e=s.apiUrl||s.passportDomain||"";return CH.test(e)}function TH(s){if(s.passportDomain)return s.passportDomain;if(s.apiUrl)try{let e=new URL(s.apiUrl),t=e.hostname.replace("api.","passport.");return `${e.protocol}//${t}`}catch{return s.apiUrl.replace("api.","passport.")}return "https://passport.immutable.com"}function BH(){return IH}function OH(){return AH}function RH(s){return PH(s)?vH:SH}function VH(s,e){let t=TH(s),r=BH(),n=OH();return new Auth({clientId:RH(s),redirectUri:n,popupRedirectUri:n,logoutRedirectUri:n,scope:EH,audience:xH,authenticationDomain:r,passportDomain:t,popupOverlayOptions:e.popupOverlayOptions,crossSdkBridgeEnabled:e.crossSdkBridgeEnabled})}async function DH(s={}){let e=s.chains&&s.chains.length>0?s.chains:np,t=s.initialChainId||e[0].chainId,r=e.find(v=>v.chainId===t);if(!r)throw new Error(`Initial chain ${t} not found in chains configuration`);let n=createConfig({basePath:r.apiUrl}),i=new MultiRollupApiClients({indexer:n,orderBook:n,passport:n}),a=s.auth??VH(r,s);!s.auth&&typeof window<"u"&&window.addEventListener("message",async v=>{if(v.data.code&&v.data.state){let A=window.location.search,C=new URLSearchParams(A);C.set("code",v.data.code),C.set("state",v.data.state),window.history.replaceState(null,"",`?${C.toString()}`),await a.loginCallback(),C.delete("code"),C.delete("state"),window.history.replaceState(null,"",`?${C.toString()}`);}});let o=a.getConfig(),c=await a.getUser(),u=new Bh({passportDomain:r.passportDomain||r.apiUrl.replace("api.","passport."),zkEvmRpcUrl:r.rpcUrl,relayerUrl:r.relayerUrl,indexerMrBasePath:r.apiUrl,jsonRpcReferrer:s.jsonRpcReferrer,forceScwDeployBeforeMessageSignature:s.forceScwDeployBeforeMessageSignature,crossSdkBridgeEnabled:s.crossSdkBridgeEnabled,feeTokenSymbol:s.feeTokenSymbol}),l=s.passportEventEmitter||new TypedEventEmitter,m=new mr$1.GuardianApi(n),w=new Uc({config:u,auth:a,guardianApi:m,authConfig:o}),E;if(kH(r)){let v=bH(r),A=r.magicTeeBasePath||"https://tee.express.magiclabs.com",C=new MagicTeeApiClients({basePath:A,timeout:1e4,magicPublishableApiKey:v.magicPublishableApiKey,magicProviderId:v.magicProviderId}),D=new Lc(a,C),U=null;r.chainId===13371?U="https://api.immutable.com":r.chainId===13473?U="https://api.sandbox.immutable.com":r.apiUrl&&(U=r.apiUrl),E=new Ph({auth:a,config:u,multiRollupApiClients:i,passportEventEmitter:l,guardianClient:w,ethSigner:D,user:c,sessionActivityApiUrl:U});}else {let v=jP(a,o,{identityInstrumentEndpoint:r.sequenceIdentityInstrumentEndpoint});E=new Th({auth:a,chainConfig:r,multiRollupApiClients:i,guardianClient:w,ethSigner:v,passportEventEmitter:l});}return s.announceProvider!==!1&&Fb({info:qb,provider:E}),E}d();f();function HH(s){return typeof s=="object"&&s!==null&&"code"in s&&"message"in s}async function _H(s,e){let t=await s.getUser();if(!t?.profile.sub)return [];let r={Authorization:`Bearer ${t.accessToken}`},{data:n}=await e.passportProfileApi.getUserInfo({headers:r});return n.linked_addresses}async function MH(s,e,t){let r=trackFlow("wallet","linkExternalWallet");try{let n=await s.getUser();if(!n)throw new ct("User is not logged in","NOT_LOGGED_IN_ERROR");if(!isUserZkEvm(n))throw new ct("User has not been registered on Immutable zkEVM","WALLET_CONNECTION_ERROR");let a={Authorization:`Bearer ${n.accessToken}`},o={type:t.type,wallet_address:t.walletAddress,signature:t.signature,nonce:t.nonce};return {...(await e.passportProfileApi.linkWalletV2({linkWalletV2Request:o},{headers:a})).data}}catch(n){if(n instanceof Error?trackError("wallet","linkExternalWallet",n):r.addEvent("errored"),va(n)&&n.response){if(n.response.data&&HH(n.response.data)){let{code:a,message:o}=n.response.data;switch(a){case"ALREADY_LINKED":throw new ct(o,"WALLET_CONNECTION_ERROR");case"MAX_WALLETS_LINKED":throw new ct(o,"WALLET_CONNECTION_ERROR");case"DUPLICATE_NONCE":throw new ct(o,"WALLET_CONNECTION_ERROR");case"VALIDATION_ERROR":throw new ct(o,"WALLET_CONNECTION_ERROR");default:throw new ct(o,"WALLET_CONNECTION_ERROR")}}else if(n.response.status)throw new ct(`Link wallet request failed with status code ${n.response.status}`,"WALLET_CONNECTION_ERROR")}let i="Link wallet request failed";throw n instanceof Error&&(i+=`: ${n.message}`),new ct(i,"WALLET_CONNECTION_ERROR")}finally{r.addEvent("End");}}/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh <https://feross.org/opensource> */
375
+ `)}`:`${s} :`}};zT=L;le.Constructed=zT;L.NAME="CONSTRUCTED";var Sy=class extends ps{fromBER(e,s,r){return s}toBER(e){return _r}};Sy.override="EndOfContentValueBlock";var YT,vy=class extends rs{constructor(e={}){super(e,Sy),this.idBlock.tagClass=1,this.idBlock.tagNumber=0;}};YT=vy;le.EndOfContent=YT;vy.NAME=Qh;var ZT,wt=class extends rs{constructor(e={}){super(e,ps),this.idBlock.tagClass=1,this.idBlock.tagNumber=5;}fromBER(e,s,r){return this.lenBlock.length>0&&this.warnings.push("Non-zero length of value block for Null type"),this.idBlock.error.length||(this.blockLength+=this.idBlock.blockLength),this.lenBlock.error.length||(this.blockLength+=this.lenBlock.blockLength),this.blockLength+=r,s+r>e.byteLength?(this.error="End of input reached before message was fully decoded (inconsistent offset and length values)",-1):s+r}toBER(e,s){let r=new ArrayBuffer(2);if(!e){let n=new Uint8Array(r);n[0]=5,n[1]=0;}return s&&s.write(r),r}onAsciiEncoding(){return `${this.constructor.NAME}`}};ZT=wt;le.Null=ZT;wt.NAME="NULL";var Ey=class extends Sn(ps){get value(){for(let e of this.valueHexView)if(e>0)return !0;return !1}set value(e){this.valueHexView[0]=e?255:0;}constructor({value:e,...s}={}){super(s),s.valueHex?this.valueHexView=Je.BufferSourceConverter.toUint8Array(s.valueHex):this.valueHexView=new Uint8Array(1),e&&(this.value=e);}fromBER(e,s,r){let n=Je.BufferSourceConverter.toUint8Array(e);return bn(this,n,s,r)?(this.valueHexView=n.subarray(s,s+r),r>1&&this.warnings.push("Boolean value encoded in more then 1 octet"),this.isHexOnly=!0,uA.call(this),this.blockLength=r,s+r):-1}toBER(){return this.valueHexView.slice()}toJSON(){return {...super.toJSON(),value:this.value}}};Ey.NAME="BooleanValueBlock";var XT,Fs=class extends rs{getValue(){return this.valueBlock.value}setValue(e){this.valueBlock.value=e;}constructor(e={}){super(e,Ey),this.idBlock.tagClass=1,this.idBlock.tagNumber=1;}onAsciiEncoding(){return `${this.constructor.NAME} : ${this.getValue}`}};XT=Fs;le.Boolean=XT;Fs.NAME="BOOLEAN";var xy=class extends Sn(Vr){constructor({isConstructed:e=!1,...s}={}){super(s),this.isConstructed=e;}fromBER(e,s,r){let n=0;if(this.isConstructed){if(this.isHexOnly=!1,n=Vr.prototype.fromBER.call(this,e,s,r),n===-1)return n;for(let i=0;i<this.value.length;i++){let a=this.value[i].constructor.NAME;if(a===Qh){if(this.isIndefiniteForm)break;return this.error="EndOfContent is unexpected, OCTET STRING may consists of OCTET STRINGs only",-1}if(a!==KT)return this.error="OCTET STRING may consists of OCTET STRINGs only",-1}}else this.isHexOnly=!0,n=super.fromBER(e,s,r),this.blockLength=r;return n}toBER(e,s){return this.isConstructed?Vr.prototype.toBER.call(this,e,s):e?new ArrayBuffer(this.valueHexView.byteLength):this.valueHexView.slice().buffer}toJSON(){return {...super.toJSON(),isConstructed:this.isConstructed}}};xy.NAME="OctetStringValueBlock";var hA,z=class extends rs{constructor({idBlock:e={},lenBlock:s={},...r}={}){var n,i;(n=r.isConstructed)!==null&&n!==void 0||(r.isConstructed=!!(!((i=r.value)===null||i===void 0)&&i.length)),super({idBlock:{isConstructed:r.isConstructed,...e},lenBlock:{...s,isIndefiniteForm:!!r.isIndefiniteForm},...r},xy),this.idBlock.tagClass=1,this.idBlock.tagNumber=4;}fromBER(e,s,r){if(this.valueBlock.isConstructed=this.idBlock.isConstructed,this.valueBlock.isIndefiniteForm=this.lenBlock.isIndefiniteForm,r===0)return this.idBlock.error.length===0&&(this.blockLength+=this.idBlock.blockLength),this.lenBlock.error.length===0&&(this.blockLength+=this.lenBlock.blockLength),s;if(!this.valueBlock.isConstructed){let i=(e instanceof ArrayBuffer?new Uint8Array(e):e).subarray(s,s+r);try{if(i.byteLength){let a=rd(i,0,i.byteLength);a.offset!==-1&&a.offset===r&&(this.valueBlock.value=[a.result]);}}catch{}}return super.fromBER(e,s,r)}onAsciiEncoding(){if(this.valueBlock.isConstructed||this.valueBlock.value&&this.valueBlock.value.length)return L.prototype.onAsciiEncoding.call(this);let e=this.constructor.NAME,s=Je.Convert.ToHex(this.valueBlock.valueHexView);return `${e} : ${s}`}getValue(){if(!this.idBlock.isConstructed)return this.valueBlock.valueHexView.slice().buffer;let e=[];for(let s of this.valueBlock.value)s instanceof hA&&e.push(s.valueBlock.valueHexView);return Je.BufferSourceConverter.concat(e)}};hA=z;le.OctetString=hA;z.NAME=KT;var Ay=class extends Sn(Vr){constructor({unusedBits:e=0,isConstructed:s=!1,...r}={}){super(r),this.unusedBits=e,this.isConstructed=s,this.blockLength=this.valueHexView.byteLength;}fromBER(e,s,r){if(!r)return s;let n=-1;if(this.isConstructed){if(n=Vr.prototype.fromBER.call(this,e,s,r),n===-1)return n;for(let o of this.value){let c=o.constructor.NAME;if(c===Qh){if(this.isIndefiniteForm)break;return this.error="EndOfContent is unexpected, BIT STRING may consists of BIT STRINGs only",-1}if(c!==GT)return this.error="BIT STRING may consists of BIT STRINGs only",-1;let u=o.valueBlock;if(this.unusedBits>0&&u.unusedBits>0)return this.error='Using of "unused bits" inside constructive BIT STRING allowed for least one only',-1;this.unusedBits=u.unusedBits;}return n}let i=Je.BufferSourceConverter.toUint8Array(e);if(!bn(this,i,s,r))return -1;let a=i.subarray(s,s+r);if(this.unusedBits=a[0],this.unusedBits>7)return this.error="Unused bits for BitString must be in range 0-7",-1;if(!this.unusedBits){let o=a.subarray(1);try{if(o.byteLength){let c=rd(o,0,o.byteLength);c.offset!==-1&&c.offset===r-1&&(this.value=[c.result]);}}catch{}}return this.valueHexView=a.subarray(1),this.blockLength=a.length,s+r}toBER(e,s){if(this.isConstructed)return Vr.prototype.toBER.call(this,e,s);if(e)return new ArrayBuffer(this.valueHexView.byteLength+1);if(!this.valueHexView.byteLength){let n=new Uint8Array(1);return n[0]=0,n.buffer}let r=new Uint8Array(this.valueHexView.length+1);return r[0]=this.unusedBits,r.set(this.valueHexView,1),r.buffer}toJSON(){return {...super.toJSON(),unusedBits:this.unusedBits,isConstructed:this.isConstructed}}};Ay.NAME="BitStringValueBlock";var QT,_e=class extends rs{constructor({idBlock:e={},lenBlock:s={},...r}={}){var n,i;(n=r.isConstructed)!==null&&n!==void 0||(r.isConstructed=!!(!((i=r.value)===null||i===void 0)&&i.length)),super({idBlock:{isConstructed:r.isConstructed,...e},lenBlock:{...s,isIndefiniteForm:!!r.isIndefiniteForm},...r},Ay),this.idBlock.tagClass=1,this.idBlock.tagNumber=3;}fromBER(e,s,r){return this.valueBlock.isConstructed=this.idBlock.isConstructed,this.valueBlock.isIndefiniteForm=this.lenBlock.isIndefiniteForm,super.fromBER(e,s,r)}onAsciiEncoding(){if(this.valueBlock.isConstructed||this.valueBlock.value&&this.valueBlock.value.length)return L.prototype.onAsciiEncoding.call(this);{let e=[],s=this.valueBlock.valueHexView;for(let a of s)e.push(a.toString(2).padStart(8,"0"));let r=e.join(""),n=this.constructor.NAME,i=r.substring(0,r.length-this.valueBlock.unusedBits);return `${n} : ${i}`}}};QT=_e;le.BitString=QT;_e.NAME=GT;var e4;function LU(t,e){let s=new Uint8Array([0]),r=new Uint8Array(t),n=new Uint8Array(e),i=r.slice(0),a=i.length-1,o=n.slice(0),c=o.length-1,u=0,l=c<a?a:c,p=0;for(let w=l;w>=0;w--,p++){switch(!0){case p<o.length:u=i[a-p]+o[c-p]+s[0];break;default:u=i[a-p]+s[0];}switch(s[0]=u/10,!0){case p>=i.length:i=dy(new Uint8Array([u%10]),i);break;default:i[a-p]=u%10;}}return s[0]>0&&(i=dy(s,i)),i}function FT(t){if(t>=Yh.length)for(let e=Yh.length;e<=t;e++){let s=new Uint8Array([0]),r=Yh[e-1].slice(0);for(let n=r.length-1;n>=0;n--){let i=new Uint8Array([(r[n]<<1)+s[0]]);s[0]=i[0]/10,r[n]=i[0]%10;}s[0]>0&&(r=dy(s,r)),Yh.push(r);}return Yh[t]}function DU(t,e){let s=0,r=new Uint8Array(t),n=new Uint8Array(e),i=r.slice(0),a=i.length-1,o=n.slice(0),c=o.length-1,u,l=0;for(let p=c;p>=0;p--,l++)switch(u=i[a-l]-o[c-l]-s,!0){case u<0:s=1,i[a-l]=u+10;break;default:s=0,i[a-l]=u;}if(s>0)for(let p=a-c+1;p>=0;p--,l++)if(u=i[a-l]-s,u<0)s=1,i[a-l]=u+10;else {s=0,i[a-l]=u;break}return i.slice()}var ed=class extends Sn(ps){setValueHex(){this.valueHexView.length>=4?(this.warnings.push("Too big Integer for decoding, hex only"),this.isHexOnly=!0,this._valueDec=0):(this.isHexOnly=!1,this.valueHexView.length>0&&(this._valueDec=uA.call(this)));}constructor({value:e,...s}={}){super(s),this._valueDec=0,s.valueHex&&this.setValueHex(),e!==void 0&&(this.valueDec=e);}set valueDec(e){this._valueDec=e,this.isHexOnly=!1,this.valueHexView=new Uint8Array(UT(e));}get valueDec(){return this._valueDec}fromDER(e,s,r,n=0){let i=this.fromBER(e,s,r);if(i===-1)return i;let a=this.valueHexView;return a[0]===0&&a[1]&128?this.valueHexView=a.subarray(1):n!==0&&a.length<n&&(n-a.length>1&&(n=a.length+1),this.valueHexView=a.subarray(n-a.length)),i}toDER(e=!1){let s=this.valueHexView;switch(!0){case(s[0]&128)!==0:{let r=new Uint8Array(this.valueHexView.length+1);r[0]=0,r.set(s,1),this.valueHexView=r;}break;case(s[0]===0&&(s[1]&128)===0):this.valueHexView=this.valueHexView.subarray(1);break}return this.toBER(e)}fromBER(e,s,r){let n=super.fromBER(e,s,r);return n===-1||this.setValueHex(),n}toBER(e){return e?new ArrayBuffer(this.valueHexView.length):this.valueHexView.slice().buffer}toJSON(){return {...super.toJSON(),valueDec:this.valueDec}}toString(){let e=this.valueHexView.length*8-1,s=new Uint8Array(this.valueHexView.length*8/3),r=0,n,i=this.valueHexView,a="",o=!1;for(let c=i.byteLength-1;c>=0;c--){n=i[c];for(let u=0;u<8;u++){if((n&1)===1)switch(r){case e:s=DU(FT(r),s),a="-";break;default:s=LU(s,FT(r));}r++,n>>=1;}}for(let c=0;c<s.length;c++)s[c]&&(o=!0),o&&(a+=$T.charAt(s[c]));return o===!1&&(a+=$T.charAt(0)),a}};e4=ed;ed.NAME="IntegerValueBlock";Object.defineProperty(e4.prototype,"valueHex",{set:function(t){this.valueHexView=new Uint8Array(t),this.setValueHex();},get:function(){return this.valueHexView.slice().buffer}});var Zh,U=class extends rs{constructor(e={}){super(e,ed),this.idBlock.tagClass=1,this.idBlock.tagNumber=2;}toBigInt(){return py(),BigInt(this.valueBlock.toString())}static fromBigInt(e){py();let s=BigInt(e),r=new Xh,n=s.toString(16).replace(/^-/,""),i=new Uint8Array(Je.Convert.FromHex(n));if(s<0){let o=new Uint8Array(i.length+(i[0]&128?1:0));o[0]|=128;let u=BigInt(`0x${Je.Convert.ToHex(o)}`)+s,l=Je.BufferSourceConverter.toUint8Array(Je.Convert.FromHex(u.toString(16)));l[0]|=128,r.write(l);}else i[0]&128&&r.write(new Uint8Array([0])),r.write(i);return new Zh({valueHex:r.final()})}convertToDER(){let e=new Zh({valueHex:this.valueBlock.valueHexView});return e.valueBlock.toDER(),e}convertFromDER(){return new Zh({valueHex:this.valueBlock.valueHexView[0]===0?this.valueBlock.valueHexView.subarray(1):this.valueBlock.valueHexView})}onAsciiEncoding(){return `${this.constructor.NAME} : ${this.valueBlock.toString()}`}};Zh=U;le.Integer=Zh;U.NAME="INTEGER";var t4,Ur=class extends U{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=10;}};t4=Ur;le.Enumerated=t4;Ur.NAME="ENUMERATED";var td=class extends Sn(ps){constructor({valueDec:e=-1,isFirstSid:s=!1,...r}={}){super(r),this.valueDec=e,this.isFirstSid=s;}fromBER(e,s,r){if(!r)return s;let n=Je.BufferSourceConverter.toUint8Array(e);if(!bn(this,n,s,r))return -1;let i=n.subarray(s,s+r);this.valueHexView=new Uint8Array(r);for(let o=0;o<r&&(this.valueHexView[o]=i[o]&127,this.blockLength++,!!(i[o]&128));o++);let a=new Uint8Array(this.blockLength);for(let o=0;o<this.blockLength;o++)a[o]=this.valueHexView[o];return this.valueHexView=a,i[this.blockLength-1]&128?(this.error="End of input reached before message was fully decoded",-1):(this.valueHexView[0]===0&&this.warnings.push("Needlessly long format of SID encoding"),this.blockLength<=8?this.valueDec=pn(this.valueHexView,7):(this.isHexOnly=!0,this.warnings.push("Too big SID for decoding, hex only")),s+this.blockLength)}set valueBigInt(e){py();let s=BigInt(e).toString(2);for(;s.length%7;)s="0"+s;let r=new Uint8Array(s.length/7);for(let n=0;n<r.length;n++)r[n]=parseInt(s.slice(n*7,n*7+7),2)+(n+1<r.length?128:0);this.fromBER(r.buffer,0,r.length);}toBER(e){if(this.isHexOnly){if(e)return new ArrayBuffer(this.valueHexView.byteLength);let n=this.valueHexView,i=new Uint8Array(this.blockLength);for(let a=0;a<this.blockLength-1;a++)i[a]=n[a]|128;return i[this.blockLength-1]=n[this.blockLength-1],i.buffer}let s=pr(this.valueDec,7);if(s.byteLength===0)return this.error="Error during encoding SID value",_r;let r=new Uint8Array(s.byteLength);if(!e){let n=new Uint8Array(s),i=s.byteLength-1;for(let a=0;a<i;a++)r[a]=n[a]|128;r[i]=n[i];}return r}toString(){let e="";if(this.isHexOnly)e=Je.Convert.ToHex(this.valueHexView);else if(this.isFirstSid){let s=this.valueDec;this.valueDec<=39?e="0.":this.valueDec<=79?(e="1.",s-=40):(e="2.",s-=80),e+=s.toString();}else e=this.valueDec.toString();return e}toJSON(){return {...super.toJSON(),valueDec:this.valueDec,isFirstSid:this.isFirstSid}}};td.NAME="sidBlock";var Iy=class extends ps{constructor({value:e=Os,...s}={}){super(s),this.value=[],e&&this.fromString(e);}fromBER(e,s,r){let n=s;for(;r>0;){let i=new td;if(n=i.fromBER(e,n,r),n===-1)return this.blockLength=0,this.error=i.error,n;this.value.length===0&&(i.isFirstSid=!0),this.blockLength+=i.blockLength,r-=i.blockLength,this.value.push(i);}return n}toBER(e){let s=[];for(let r=0;r<this.value.length;r++){let n=this.value[r].toBER(e);if(n.byteLength===0)return this.error=this.value[r].error,_r;s.push(n);}return fA(s)}fromString(e){this.value=[];let s=0,r=0,n="",i=!1;do if(r=e.indexOf(".",s),r===-1?n=e.substring(s):n=e.substring(s,r),s=r+1,i){let a=this.value[0],o=0;switch(a.valueDec){case 0:break;case 1:o=40;break;case 2:o=80;break;default:this.value=[];return}let c=parseInt(n,10);if(isNaN(c))return;a.valueDec=c+o,i=!1;}else {let a=new td;if(n>Number.MAX_SAFE_INTEGER){py();let o=BigInt(n);a.valueBigInt=o;}else if(a.valueDec=parseInt(n,10),isNaN(a.valueDec))return;this.value.length||(a.isFirstSid=!0,i=!0),this.value.push(a);}while(r!==-1)}toString(){let e="",s=!1;for(let r=0;r<this.value.length;r++){s=this.value[r].isHexOnly;let n=this.value[r].toString();r!==0&&(e=`${e}.`),s?(n=`{${n}}`,this.value[r].isFirstSid?e=`2.{${n} - 80}`:e+=n):e+=n;}return e}toJSON(){let e={...super.toJSON(),value:this.toString(),sidArray:[]};for(let s=0;s<this.value.length;s++)e.sidArray.push(this.value[s].toJSON());return e}};Iy.NAME="ObjectIdentifierValueBlock";var s4,ae=class extends rs{getValue(){return this.valueBlock.toString()}setValue(e){this.valueBlock.fromString(e);}constructor(e={}){super(e,Iy),this.idBlock.tagClass=1,this.idBlock.tagNumber=6;}onAsciiEncoding(){return `${this.constructor.NAME} : ${this.valueBlock.toString()||"empty"}`}toJSON(){return {...super.toJSON(),value:this.getValue()}}};s4=ae;le.ObjectIdentifier=s4;ae.NAME="OBJECT IDENTIFIER";var sd=class extends Sn(gn){constructor({valueDec:e=0,...s}={}){super(s),this.valueDec=e;}fromBER(e,s,r){if(r===0)return s;let n=Je.BufferSourceConverter.toUint8Array(e);if(!bn(this,n,s,r))return -1;let i=n.subarray(s,s+r);this.valueHexView=new Uint8Array(r);for(let o=0;o<r&&(this.valueHexView[o]=i[o]&127,this.blockLength++,!!(i[o]&128));o++);let a=new Uint8Array(this.blockLength);for(let o=0;o<this.blockLength;o++)a[o]=this.valueHexView[o];return this.valueHexView=a,i[this.blockLength-1]&128?(this.error="End of input reached before message was fully decoded",-1):(this.valueHexView[0]===0&&this.warnings.push("Needlessly long format of SID encoding"),this.blockLength<=8?this.valueDec=pn(this.valueHexView,7):(this.isHexOnly=!0,this.warnings.push("Too big SID for decoding, hex only")),s+this.blockLength)}toBER(e){if(this.isHexOnly){if(e)return new ArrayBuffer(this.valueHexView.byteLength);let n=this.valueHexView,i=new Uint8Array(this.blockLength);for(let a=0;a<this.blockLength-1;a++)i[a]=n[a]|128;return i[this.blockLength-1]=n[this.blockLength-1],i.buffer}let s=pr(this.valueDec,7);if(s.byteLength===0)return this.error="Error during encoding SID value",_r;let r=new Uint8Array(s.byteLength);if(!e){let n=new Uint8Array(s),i=s.byteLength-1;for(let a=0;a<i;a++)r[a]=n[a]|128;r[i]=n[i];}return r.buffer}toString(){let e="";return this.isHexOnly?e=Je.Convert.ToHex(this.valueHexView):e=this.valueDec.toString(),e}toJSON(){return {...super.toJSON(),valueDec:this.valueDec}}};sd.NAME="relativeSidBlock";var Cy=class extends ps{constructor({value:e=Os,...s}={}){super(s),this.value=[],e&&this.fromString(e);}fromBER(e,s,r){let n=s;for(;r>0;){let i=new sd;if(n=i.fromBER(e,n,r),n===-1)return this.blockLength=0,this.error=i.error,n;this.blockLength+=i.blockLength,r-=i.blockLength,this.value.push(i);}return n}toBER(e,s){let r=[];for(let n=0;n<this.value.length;n++){let i=this.value[n].toBER(e);if(i.byteLength===0)return this.error=this.value[n].error,_r;r.push(i);}return fA(r)}fromString(e){this.value=[];let s=0,r=0,n="";do{r=e.indexOf(".",s),r===-1?n=e.substring(s):n=e.substring(s,r),s=r+1;let i=new sd;if(i.valueDec=parseInt(n,10),isNaN(i.valueDec))return !0;this.value.push(i);}while(r!==-1);return !0}toString(){let e="",s=!1;for(let r=0;r<this.value.length;r++){s=this.value[r].isHexOnly;let n=this.value[r].toString();r!==0&&(e=`${e}.`),s&&(n=`{${n}}`),e+=n;}return e}toJSON(){let e={...super.toJSON(),value:this.toString(),sidArray:[]};for(let s=0;s<this.value.length;s++)e.sidArray.push(this.value[s].toJSON());return e}};Cy.NAME="RelativeObjectIdentifierValueBlock";var r4,Ny=class extends rs{getValue(){return this.valueBlock.toString()}setValue(e){this.valueBlock.fromString(e);}constructor(e={}){super(e,Cy),this.idBlock.tagClass=1,this.idBlock.tagNumber=13;}onAsciiEncoding(){return `${this.constructor.NAME} : ${this.valueBlock.toString()||"empty"}`}toJSON(){return {...super.toJSON(),value:this.getValue()}}};r4=Ny;le.RelativeObjectIdentifier=r4;Ny.NAME="RelativeObjectIdentifier";var n4,T=class extends L{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=16;}};n4=T;le.Sequence=n4;T.NAME="SEQUENCE";var i4,bt=class extends L{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=17;}};i4=bt;le.Set=i4;bt.NAME="SET";var Ty=class extends Sn(ps){constructor({...e}={}){super(e),this.isHexOnly=!0,this.value=Os;}toJSON(){return {...super.toJSON(),value:this.value}}};Ty.NAME="StringValueBlock";var ky=class extends Ty{};ky.NAME="SimpleStringValueBlock";var Cs=class extends wy{constructor({...e}={}){super(e,ky);}fromBuffer(e){this.valueBlock.value=String.fromCharCode.apply(null,Je.BufferSourceConverter.toUint8Array(e));}fromString(e){let s=e.length,r=this.valueBlock.valueHexView=new Uint8Array(s);for(let n=0;n<s;n++)r[n]=e.charCodeAt(n);this.valueBlock.value=e;}};Cs.NAME="SIMPLE STRING";var By=class extends Cs{fromBuffer(e){this.valueBlock.valueHexView=Je.BufferSourceConverter.toUint8Array(e);try{this.valueBlock.value=Je.Convert.ToUtf8String(e);}catch(s){this.warnings.push(`Error during "decodeURIComponent": ${s}, using raw string`),this.valueBlock.value=Je.Convert.ToBinary(e);}}fromString(e){this.valueBlock.valueHexView=new Uint8Array(Je.Convert.FromUtf8String(e)),this.valueBlock.value=e;}};By.NAME="Utf8StringValueBlock";var a4,Rs=class extends By{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=12;}};a4=Rs;le.Utf8String=a4;Rs.NAME="UTF8String";var Py=class extends Cs{fromBuffer(e){this.valueBlock.value=Je.Convert.ToUtf16String(e),this.valueBlock.valueHexView=Je.BufferSourceConverter.toUint8Array(e);}fromString(e){this.valueBlock.value=e,this.valueBlock.valueHexView=new Uint8Array(Je.Convert.FromUtf16String(e));}};Py.NAME="BmpStringValueBlock";var o4,bi=class extends Py{constructor({...e}={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=30;}};o4=bi;le.BmpString=o4;bi.NAME="BMPString";var Oy=class extends Cs{fromBuffer(e){let s=ArrayBuffer.isView(e)?e.slice().buffer:e.slice(0),r=new Uint8Array(s);for(let n=0;n<r.length;n+=4)r[n]=r[n+3],r[n+1]=r[n+2],r[n+2]=0,r[n+3]=0;this.valueBlock.value=String.fromCharCode.apply(null,new Uint32Array(s));}fromString(e){let s=e.length,r=this.valueBlock.valueHexView=new Uint8Array(s*4);for(let n=0;n<s;n++){let i=pr(e.charCodeAt(n),8),a=new Uint8Array(i);if(a.length>4)continue;let o=4-a.length;for(let c=a.length-1;c>=0;c--)r[n*4+c+o]=a[c];}this.valueBlock.value=e;}};Oy.NAME="UniversalStringValueBlock";var c4,Si=class extends Oy{constructor({...e}={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=28;}};c4=Si;le.UniversalString=c4;Si.NAME="UniversalString";var u4,yn=class extends Cs{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=18;}};u4=yn;le.NumericString=u4;yn.NAME="NumericString";var l4,Ls=class extends Cs{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=19;}};l4=Ls;le.PrintableString=l4;Ls.NAME="PrintableString";var f4,vi=class extends Cs{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=20;}};f4=vi;le.TeletexString=f4;vi.NAME="TeletexString";var h4,Au=class extends Cs{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=21;}};h4=Au;le.VideotexString=h4;Au.NAME="VideotexString";var d4,co=class extends Cs{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=22;}};d4=co;le.IA5String=d4;co.NAME="IA5String";var m4,Iu=class extends Cs{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=25;}};m4=Iu;le.GraphicString=m4;Iu.NAME="GraphicString";var p4,uo=class extends Cs{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=26;}};p4=uo;le.VisibleString=p4;uo.NAME="VisibleString";var g4,Cu=class extends Cs{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=27;}};g4=Cu;le.GeneralString=g4;Cu.NAME="GeneralString";var y4,Nu=class extends Cs{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=29;}};y4=Nu;le.CharacterString=y4;Nu.NAME="CharacterString";var w4,wn=class extends uo{constructor({value:e,valueDate:s,...r}={}){if(super(r),this.year=0,this.month=0,this.day=0,this.hour=0,this.minute=0,this.second=0,e){this.fromString(e),this.valueBlock.valueHexView=new Uint8Array(e.length);for(let n=0;n<e.length;n++)this.valueBlock.valueHexView[n]=e.charCodeAt(n);}s&&(this.fromDate(s),this.valueBlock.valueHexView=new Uint8Array(this.toBuffer())),this.idBlock.tagClass=1,this.idBlock.tagNumber=23;}fromBuffer(e){this.fromString(String.fromCharCode.apply(null,Je.BufferSourceConverter.toUint8Array(e)));}toBuffer(){let e=this.toString(),s=new ArrayBuffer(e.length),r=new Uint8Array(s);for(let n=0;n<e.length;n++)r[n]=e.charCodeAt(n);return s}fromDate(e){this.year=e.getUTCFullYear(),this.month=e.getUTCMonth()+1,this.day=e.getUTCDate(),this.hour=e.getUTCHours(),this.minute=e.getUTCMinutes(),this.second=e.getUTCSeconds();}toDate(){return new Date(Date.UTC(this.year,this.month-1,this.day,this.hour,this.minute,this.second))}fromString(e){let r=/(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})Z/ig.exec(e);if(r===null){this.error="Wrong input string for conversion";return}let n=parseInt(r[1],10);n>=50?this.year=1900+n:this.year=2e3+n,this.month=parseInt(r[2],10),this.day=parseInt(r[3],10),this.hour=parseInt(r[4],10),this.minute=parseInt(r[5],10),this.second=parseInt(r[6],10);}toString(e="iso"){if(e==="iso"){let s=new Array(7);return s[0]=Ps(this.year<2e3?this.year-1900:this.year-2e3,2),s[1]=Ps(this.month,2),s[2]=Ps(this.day,2),s[3]=Ps(this.hour,2),s[4]=Ps(this.minute,2),s[5]=Ps(this.second,2),s[6]="Z",s.join("")}return super.toString(e)}onAsciiEncoding(){return `${this.constructor.NAME} : ${this.toDate().toISOString()}`}toJSON(){return {...super.toJSON(),year:this.year,month:this.month,day:this.day,hour:this.hour,minute:this.minute,second:this.second}}};w4=wn;le.UTCTime=w4;wn.NAME="UTCTime";var b4,ct=class extends wn{constructor(e={}){var s;super(e),(s=this.millisecond)!==null&&s!==void 0||(this.millisecond=0),this.idBlock.tagClass=1,this.idBlock.tagNumber=24;}fromDate(e){super.fromDate(e),this.millisecond=e.getUTCMilliseconds();}toDate(){let e=Date.UTC(this.year,this.month-1,this.day,this.hour,this.minute,this.second,this.millisecond);return new Date(e)}fromString(e){let s=!1,r="",n="",i=0,a,o=0,c=0;if(e[e.length-1]==="Z")r=e.substring(0,e.length-1),s=!0;else {let p=new Number(e[e.length-1]);if(isNaN(p.valueOf()))throw new Error("Wrong input string for conversion");r=e;}if(s){if(r.indexOf("+")!==-1)throw new Error("Wrong input string for conversion");if(r.indexOf("-")!==-1)throw new Error("Wrong input string for conversion")}else {let p=1,w=r.indexOf("+"),E="";if(w===-1&&(w=r.indexOf("-"),p=-1),w!==-1){if(E=r.substring(w+1),r=r.substring(0,w),E.length!==2&&E.length!==4)throw new Error("Wrong input string for conversion");let S=parseInt(E.substring(0,2),10);if(isNaN(S.valueOf()))throw new Error("Wrong input string for conversion");if(o=p*S,E.length===4){if(S=parseInt(E.substring(2,4),10),isNaN(S.valueOf()))throw new Error("Wrong input string for conversion");c=p*S;}}}let u=r.indexOf(".");if(u===-1&&(u=r.indexOf(",")),u!==-1){let p=new Number(`0${r.substring(u)}`);if(isNaN(p.valueOf()))throw new Error("Wrong input string for conversion");i=p.valueOf(),n=r.substring(0,u);}else n=r;switch(!0){case n.length===8:if(a=/(\d{4})(\d{2})(\d{2})/ig,u!==-1)throw new Error("Wrong input string for conversion");break;case n.length===10:if(a=/(\d{4})(\d{2})(\d{2})(\d{2})/ig,u!==-1){let p=60*i;this.minute=Math.floor(p),p=60*(p-this.minute),this.second=Math.floor(p),p=1e3*(p-this.second),this.millisecond=Math.floor(p);}break;case n.length===12:if(a=/(\d{4})(\d{2})(\d{2})(\d{2})(\d{2})/ig,u!==-1){let p=60*i;this.second=Math.floor(p),p=1e3*(p-this.second),this.millisecond=Math.floor(p);}break;case n.length===14:if(a=/(\d{4})(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})/ig,u!==-1){let p=1e3*i;this.millisecond=Math.floor(p);}break;default:throw new Error("Wrong input string for conversion")}let l=a.exec(n);if(l===null)throw new Error("Wrong input string for conversion");for(let p=1;p<l.length;p++)switch(p){case 1:this.year=parseInt(l[p],10);break;case 2:this.month=parseInt(l[p],10);break;case 3:this.day=parseInt(l[p],10);break;case 4:this.hour=parseInt(l[p],10)+o;break;case 5:this.minute=parseInt(l[p],10)+c;break;case 6:this.second=parseInt(l[p],10);break;default:throw new Error("Wrong input string for conversion")}if(s===!1){let p=new Date(this.year,this.month,this.day,this.hour,this.minute,this.second,this.millisecond);this.year=p.getUTCFullYear(),this.month=p.getUTCMonth(),this.day=p.getUTCDay(),this.hour=p.getUTCHours(),this.minute=p.getUTCMinutes(),this.second=p.getUTCSeconds(),this.millisecond=p.getUTCMilliseconds();}}toString(e="iso"){if(e==="iso"){let s=[];return s.push(Ps(this.year,4)),s.push(Ps(this.month,2)),s.push(Ps(this.day,2)),s.push(Ps(this.hour,2)),s.push(Ps(this.minute,2)),s.push(Ps(this.second,2)),this.millisecond!==0&&(s.push("."),s.push(Ps(this.millisecond,3))),s.push("Z"),s.join("")}return super.toString(e)}toJSON(){return {...super.toJSON(),millisecond:this.millisecond}}};b4=ct;le.GeneralizedTime=b4;ct.NAME="GeneralizedTime";var S4,Ry=class extends Rs{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=31;}};S4=Ry;le.DATE=S4;Ry.NAME="DATE";var v4,Ly=class extends Rs{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=32;}};v4=Ly;le.TimeOfDay=v4;Ly.NAME="TimeOfDay";var E4,Dy=class extends Rs{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=33;}};E4=Dy;le.DateTime=E4;Dy.NAME="DateTime";var x4,Vy=class extends Rs{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=34;}};x4=Vy;le.Duration=x4;Vy.NAME="Duration";var A4,Uy=class extends Rs{constructor(e={}){super(e),this.idBlock.tagClass=1,this.idBlock.tagNumber=14;}};A4=Uy;le.TIME=A4;Uy.NAME="TIME";var be=class{constructor({name:e=Os,optional:s=!1}={}){this.name=e,this.optional=s;}},ut=class extends be{constructor({value:e=[],...s}={}){super(s),this.value=e;}},Ae=class extends be{constructor({value:e=new be,local:s=!1,...r}={}){super(r),this.value=e,this.local=s;}},lo=class{get data(){return this.dataView.slice().buffer}set data(e){this.dataView=Je.BufferSourceConverter.toUint8Array(e);}constructor({data:e=_y}={}){this.dataView=Je.BufferSourceConverter.toUint8Array(e);}fromBER(e,s,r){let n=s+r;return this.dataView=Je.BufferSourceConverter.toUint8Array(e).subarray(s,n),n}toBER(e){return this.dataView.slice().buffer}};function K(t,e,s){if(s instanceof ut){for(let i of s.value)if(K(t,e,i).verified)return {verified:!0,result:t};{let i={verified:!1,result:{error:"Wrong values for Choice type"}};return s.hasOwnProperty(lA)&&(i.name=s.name),i}}if(s instanceof be)return s.hasOwnProperty(lA)&&(t[s.name]=e),{verified:!0,result:t};if(!(t instanceof Object))return {verified:!1,result:{error:"Wrong root object"}};if(!(e instanceof Object))return {verified:!1,result:{error:"Wrong ASN.1 data"}};if(!(s instanceof Object))return {verified:!1,result:{error:"Wrong ASN.1 schema"}};if(!(IU in s))return {verified:!1,result:{error:"Wrong ASN.1 schema"}};if(!(kU in s.idBlock))return {verified:!1,result:{error:"Wrong ASN.1 schema"}};if(!(BU in s.idBlock))return {verified:!1,result:{error:"Wrong ASN.1 schema"}};let r=s.idBlock.toBER(!1);if(r.byteLength===0)return {verified:!1,result:{error:"Error encoding idBlock for ASN.1 schema"}};if(s.idBlock.fromBER(r,0,r.byteLength)===-1)return {verified:!1,result:{error:"Error decoding idBlock for ASN.1 schema"}};if(s.idBlock.hasOwnProperty(CU)===!1)return {verified:!1,result:{error:"Wrong ASN.1 schema"}};if(s.idBlock.tagClass!==e.idBlock.tagClass)return {verified:!1,result:t};if(s.idBlock.hasOwnProperty(NU)===!1)return {verified:!1,result:{error:"Wrong ASN.1 schema"}};if(s.idBlock.tagNumber!==e.idBlock.tagNumber)return {verified:!1,result:t};if(s.idBlock.hasOwnProperty(TU)===!1)return {verified:!1,result:{error:"Wrong ASN.1 schema"}};if(s.idBlock.isConstructed!==e.idBlock.isConstructed)return {verified:!1,result:t};if(!(AU in s.idBlock))return {verified:!1,result:{error:"Wrong ASN.1 schema"}};if(s.idBlock.isHexOnly!==e.idBlock.isHexOnly)return {verified:!1,result:t};if(s.idBlock.isHexOnly){if(!(qT in s.idBlock))return {verified:!1,result:{error:"Wrong ASN.1 schema"}};let i=s.idBlock.valueHexView,a=e.idBlock.valueHexView;if(i.length!==a.length)return {verified:!1,result:t};for(let o=0;o<i.length;o++)if(i[o]!==a[1])return {verified:!1,result:t}}if(s.name&&(s.name=s.name.replace(/^\s+|\s+$/g,Os),s.name&&(t[s.name]=e)),s instanceof le.Constructed){let i=0,a={verified:!1,result:{error:"Unknown error"}},o=s.valueBlock.value.length;if(o>0&&s.valueBlock.value[0]instanceof Ae&&(o=e.valueBlock.value.length),o===0)return {verified:!0,result:t};if(e.valueBlock.value.length===0&&s.valueBlock.value.length!==0){let c=!0;for(let u=0;u<s.valueBlock.value.length;u++)c=c&&(s.valueBlock.value[u].optional||!1);return c?{verified:!0,result:t}:(s.name&&(s.name=s.name.replace(/^\s+|\s+$/g,Os),s.name&&delete t[s.name]),t.error="Inconsistent object length",{verified:!1,result:t})}for(let c=0;c<o;c++)if(c-i>=e.valueBlock.value.length){if(s.valueBlock.value[c].optional===!1){let u={verified:!1,result:t};return t.error="Inconsistent length between ASN.1 data and schema",s.name&&(s.name=s.name.replace(/^\s+|\s+$/g,Os),s.name&&(delete t[s.name],u.name=s.name)),u}}else if(s.valueBlock.value[0]instanceof Ae){if(a=K(t,e.valueBlock.value[c],s.valueBlock.value[0].value),a.verified===!1)if(s.valueBlock.value[0].optional)i++;else return s.name&&(s.name=s.name.replace(/^\s+|\s+$/g,Os),s.name&&delete t[s.name]),a;if(lA in s.valueBlock.value[0]&&s.valueBlock.value[0].name.length>0){let u={};PU in s.valueBlock.value[0]&&s.valueBlock.value[0].local?u=e:u=t,typeof u[s.valueBlock.value[0].name]>"u"&&(u[s.valueBlock.value[0].name]=[]),u[s.valueBlock.value[0].name].push(e.valueBlock.value[c]);}}else if(a=K(t,e.valueBlock.value[c-i],s.valueBlock.value[c]),a.verified===!1)if(s.valueBlock.value[c].optional)i++;else return s.name&&(s.name=s.name.replace(/^\s+|\s+$/g,Os),s.name&&delete t[s.name]),a;if(a.verified===!1){let c={verified:!1,result:t};return s.name&&(s.name=s.name.replace(/^\s+|\s+$/g,Os),s.name&&(delete t[s.name],c.name=s.name)),c}return {verified:!0,result:t}}if(s.primitiveSchema&&qT in e.valueBlock){let i=rd(e.valueBlock.valueHexView);if(i.offset===-1){let a={verified:!1,result:i.result};return s.name&&(s.name=s.name.replace(/^\s+|\s+$/g,Os),s.name&&(delete t[s.name],a.name=s.name)),a}return K(t,i.result,s.primitiveSchema)}return {verified:!0,result:t}}var Se=Cb(fy()),lf=Cb(fy());d();h();d();h();var ns=class t{constructor(e={}){if("view"in e)this.fromUint8Array(e.view);else if("buffer"in e)this.fromArrayBuffer(e.buffer);else if("string"in e)this.fromString(e.string);else if("hexstring"in e)this.fromHexString(e.hexstring);else if("length"in e&&e.length>0){if(this.length=e.length,e.stub)for(let s=0;s<this._view.length;s++)this._view[s]=e.stub;}else this.length=0;}set buffer(e){this._buffer=e,this._view=new Uint8Array(this._buffer);}get buffer(){return this._buffer}set view(e){this._buffer=new ArrayBuffer(e.length),this._view=new Uint8Array(this._buffer),this._view.set(e);}get view(){return this._view}get length(){return this.view.byteLength}set length(e){this._buffer=new ArrayBuffer(e),this._view=new Uint8Array(this._buffer);}clear(){this._buffer=new ArrayBuffer(0),this._view=new Uint8Array(this._buffer);}fromArrayBuffer(e){this._buffer=e,this._view=new Uint8Array(this._buffer);}fromUint8Array(e){this.fromArrayBuffer(new Uint8Array(e).buffer);}fromString(e){let s=e.length;this.length=s;for(let r=0;r<s;r++)this.view[r]=e.charCodeAt(r);}toString(e=0,s=this.view.length-e){let r="";(e>=this.view.length||e<0)&&(e=0),(s>=this.view.length||s<0)&&(s=this.view.length-e);for(let n=e;n<e+s;n++)r+=String.fromCharCode(this.view[n]);return r}fromHexString(e){let s=e.length;this.buffer=new ArrayBuffer(s>>1),this.view=new Uint8Array(this.buffer);let r=new Map;r.set("0",0),r.set("1",1),r.set("2",2),r.set("3",3),r.set("4",4),r.set("5",5),r.set("6",6),r.set("7",7),r.set("8",8),r.set("9",9),r.set("A",10),r.set("a",10),r.set("B",11),r.set("b",11),r.set("C",12),r.set("c",12),r.set("D",13),r.set("d",13),r.set("E",14),r.set("e",14),r.set("F",15),r.set("f",15);let n=0,i=0;for(let a=0;a<s;a++)a%2?(i|=r.get(e.charAt(a)),this.view[n]=i,n++):i=r.get(e.charAt(a))<<4;}toHexString(e=0,s=this.view.length-e){let r="";(e>=this.view.length||e<0)&&(e=0),(s>=this.view.length||s<0)&&(s=this.view.length-e);for(let n=e;n<e+s;n++){let i=this.view[n].toString(16).toUpperCase();r=r+(i.length==1?"0":"")+i;}return r}copy(e=0,s=this.length-e){if(!e&&!this.length)return new t;if(e<0||e>this.length-1)throw new Error(`Wrong start position: ${e}`);return new t({buffer:this._buffer.slice(e,e+s)})}slice(e=0,s=this.length){if(!e&&!this.length)return new t;if(e<0||e>this.length-1)throw new Error(`Wrong start position: ${e}`);return new t({buffer:this._buffer.slice(e,s)})}realloc(e){let s=new ArrayBuffer(e),r=new Uint8Array(s);e>this._view.length?r.set(this._view):r.set(new Uint8Array(this._buffer,0,e)),this._buffer=s,this._view=new Uint8Array(this._buffer);}append(e){let s=this.length,r=e.length,n=e._view.subarray();this.realloc(s+r),this._view.set(n,s);}insert(e,s=0,r=this.length-s){return s>this.length-1?!1:(r>this.length-s&&(r=this.length-s),r>e.length&&(r=e.length),r==e.length?this._view.set(e._view,s):this._view.set(e._view.subarray(0,r),s),!0)}isEqual(e){if(this.length!=e.length)return !1;for(let s=0;s<e.length;s++)if(this.view[s]!=e.view[s])return !1;return !0}isEqualView(e){if(e.length!=this.view.length)return !1;for(let s=0;s<e.length;s++)if(this.view[s]!=e[s])return !1;return !0}findPattern(e,s,r,n){let{start:i,length:a,backward:o}=this.prepareFindParameters(s,r,n),c=e.length;if(c>a)return -1;let u=[];for(let l=0;l<c;l++)u.push(e.view[l]);for(let l=0;l<=a-c;l++){let p=!0,w=o?i-c-l:i+l;for(let E=0;E<c;E++)if(this.view[E+w]!=u[E]){p=!1;break}if(p)return o?i-c-l:i+c+l}return -1}findFirstIn(e,s,r,n){let{start:i,length:a,backward:o}=this.prepareFindParameters(s,r,n),c={id:-1,position:o?0:i+a,length:0};for(let u=0;u<e.length;u++){let l=this.findPattern(e[u],i,a,o);if(l!=-1){let p=!1,w=e[u].length;o?l-w>=c.position-c.length&&(p=!0):l-w<=c.position-c.length&&(p=!0),p&&(c.position=l,c.id=u,c.length=w);}}return c}findAllIn(e,s,r){let{start:n,length:i}=this.prepareFindParameters(s,r),a=[],o={id:-1,position:n};do{let c=o.position;if(o=this.findFirstIn(e,o.position,i),o.id==-1)break;i-=o.position-c,a.push({id:o.id,position:o.position});}while(!0);return a}findAllPatternIn(e,s,r){let{start:n,length:i}=this.prepareFindParameters(s,r),a=[],o=e.length;if(o>i)return -1;let c=Array.from(e.view);for(let u=0;u<=i-o;u++){let l=!0,p=n+u;for(let w=0;w<o;w++)if(this.view[w+p]!=c[w]){l=!1;break}l&&(a.push(n+o+u),u+=o-1);}return a}findFirstNotIn(e,s,r,n){let{start:i,length:a,backward:o}=this.prepareFindParameters(s,r,n),c={left:{id:-1,position:i},right:{id:-1,position:0},value:new t},u=a;for(;u>0;){if(c.right=this.findFirstIn(e,o?i-a+u:i+a-u,u,o),c.right.id==-1){a=u,o?i-=a:i=c.left.position,c.value=new t({buffer:this._buffer.slice(i,i+a)});break}if(c.right.position!=(o?c.left.position-e[c.right.id].length:c.left.position+e[c.right.id].length)){o?(i=c.right.position+e[c.right.id].length,a=c.left.position-c.right.position-e[c.right.id].length):(i=c.left.position,a=c.right.position-c.left.position-e[c.right.id].length),c.value=new t({buffer:this._buffer.slice(i,i+a)});break}c.left=c.right,u-=e[c.right.id].length;}if(o){let l=c.right;c.right=c.left,c.left=l;}return c}findAllNotIn(e,s,r){let{start:n,length:i}=this.prepareFindParameters(s,r),a=[],o={left:{id:-1,position:n},right:{id:-1,position:n},value:new t};do{let c=o.right.position;o=this.findFirstNotIn(e,o.right.position,i),i-=o.right.position-c,a.push({left:{id:o.left.id,position:o.left.position},right:{id:o.right.id,position:o.right.position},value:o.value});}while(o.right.id!=-1);return a}findFirstSequence(e,s,r,n){let{start:i,length:a,backward:o}=this.prepareFindParameters(s,r,n),c=this.skipNotPatterns(e,i,a,o);if(c==-1)return {position:-1,value:new t};let u=this.skipPatterns(e,c,a-(o?i-c:c-i),o);o?(i=u,a=c-u):(i=c,a=u-c);let l=new t({buffer:this._buffer.slice(i,i+a)});return {position:u,value:l}}findAllSequences(e,s,r){let{start:n,length:i}=this.prepareFindParameters(s,r),a=[],o={position:n,value:new t};do{let c=o.position;o=this.findFirstSequence(e,o.position,i),o.position!=-1&&(i-=o.position-c,a.push({position:o.position,value:o.value}));}while(o.position!=-1);return a}findPairedPatterns(e,s,r,n){let i=[];if(e.isEqual(s))return i;let{start:a,length:o}=this.prepareFindParameters(r,n),c=0,u=this.findAllPatternIn(e,a,o);if(!Array.isArray(u)||u.length==0)return i;let l=this.findAllPatternIn(s,a,o);if(!Array.isArray(l)||l.length==0)return i;for(;c<u.length&&l.length!=0;){if(u[0]==l[0]){i.push({left:u[0],right:l[0]}),u.splice(0,1),l.splice(0,1);continue}if(u[c]>l[0])break;for(;u[c]<l[0]&&(c++,!(c>=u.length)););i.push({left:u[c-1],right:l[0]}),u.splice(c-1,1),l.splice(0,1),c=0;}return i.sort((p,w)=>p.left-w.left),i}findPairedArrays(e,s,r,n){let{start:i,length:a}=this.prepareFindParameters(r,n),o=[],c=0,u=this.findAllIn(e,i,a);if(u.length==0)return o;let l=this.findAllIn(s,i,a);if(l.length==0)return o;for(;c<u.length&&l.length!=0;){if(u[0].position==l[0].position){o.push({left:u[0],right:l[0]}),u.splice(0,1),l.splice(0,1);continue}if(u[c].position>l[0].position)break;for(;u[c].position<l[0].position&&(c++,!(c>=u.length)););o.push({left:u[c-1],right:l[0]}),u.splice(c-1,1),l.splice(0,1),c=0;}return o.sort((p,w)=>p.left.position-w.left.position),o}replacePattern(e,s,r,n,i=null){let a=[],o,c={status:-1,searchPatternPositions:[],replacePatternPositions:[]},{start:u,length:l}=this.prepareFindParameters(r,n);if(i==null){if(a=this.findAllIn([e],u,l),a.length==0)return c}else a=i;c.searchPatternPositions.push(...Array.from(a,S=>S.position));let p=e.length-s.length,w=new ArrayBuffer(this.view.length-a.length*p),E=new Uint8Array(w);for(E.set(new Uint8Array(this.buffer,0,u)),o=0;o<a.length;o++){let S=o==0?u:a[o-1].position;E.set(new Uint8Array(this.buffer,S,a[o].position-e.length-S),S-o*p),E.set(s.view,a[o].position-e.length-o*p),c.replacePatternPositions.push(a[o].position-e.length-o*p);}return o--,E.set(new Uint8Array(this.buffer,a[o].position,this.length-a[o].position),a[o].position-e.length+s.length-o*p),this.buffer=w,this.view=new Uint8Array(this.buffer),c.status=1,c}skipPatterns(e,s,r,n){let{start:i,length:a,backward:o}=this.prepareFindParameters(s,r,n),c=i;for(let u=0;u<e.length;u++){let l=e[u].length,p=o?c-l:c,w=!0;for(let E=0;E<l;E++)if(this.view[E+p]!=e[u].view[E]){w=!1;break}if(w){if(u=-1,o){if(c-=l,c<=0)return c}else if(c+=l,c>=i+a)return c}}return c}skipNotPatterns(e,s,r,n){let{start:i,length:a,backward:o}=this.prepareFindParameters(s,r,n),c=-1;for(let u=0;u<a;u++){for(let l=0;l<e.length;l++){let p=e[l].length,w=o?i-u-p:i+u,E=!0;for(let S=0;S<p;S++)if(this.view[S+w]!=e[l].view[S]){E=!1;break}if(E){c=o?i-u:i+u;break}}if(c!=-1)break}return c}prepareFindParameters(e=null,s=null,r=!1){return e===null&&(e=r?this.length:0),e>this.length&&(e=this.length),r?(s===null&&(s=e),s>e&&(s=e)):(s===null&&(s=this.length-e),s>this.length-e&&(s=this.length-e)),{start:e,length:s,backward:r}}};d();h();var UU=16777216,vn=class t{constructor(e={}){this._stream=new ns,this._length=0,this._start=0,this.backward=!1,this.appendBlock=0,this.prevLength=0,this.prevStart=0,"view"in e?this.stream=new ns({view:e.view}):"buffer"in e?this.stream=new ns({buffer:e.buffer}):"string"in e?this.stream=new ns({string:e.string}):"hexstring"in e?this.stream=new ns({hexstring:e.hexstring}):"stream"in e?this.stream=e.stream.slice():this.stream=new ns,"backward"in e&&e.backward&&(this.backward=e.backward,this._start=this.stream.length),"length"in e&&e.length>0&&(this._length=e.length),"start"in e&&e.start&&e.start>0&&(this._start=e.start),"appendBlock"in e&&e.appendBlock&&e.appendBlock>0&&(this.appendBlock=e.appendBlock);}set stream(e){this._stream=e,this.prevLength=this._length,this._length=e.length,this.prevStart=this._start,this._start=0;}get stream(){return this._stream}set length(e){this.prevLength=this._length,this._length=e;}get length(){return this.appendBlock?this.start:this._length}set start(e){e>this.stream.length||(this.prevStart=this._start,this.prevLength=this._length,this._length-=this.backward?this._start-e:e-this._start,this._start=e);}get start(){return this._start}get buffer(){return this._stream.buffer.slice(0,this._length)}resetPosition(){this._start=this.prevStart,this._length=this.prevLength;}findPattern(e,s=null){(s==null||s>this.length)&&(s=this.length);let r=this.stream.findPattern(e,this.start,this.length,this.backward);if(r==-1)return r;if(this.backward){if(r<this.start-e.length-s)return -1}else if(r>this.start+e.length+s)return -1;return this.start=r,r}findFirstIn(e,s=null){(s==null||s>this.length)&&(s=this.length);let r=this.stream.findFirstIn(e,this.start,this.length,this.backward);if(r.id==-1)return r;if(this.backward){if(r.position<this.start-e[r.id].length-s)return {id:-1,position:this.backward?0:this.start+this.length}}else if(r.position>this.start+e[r.id].length+s)return {id:-1,position:this.backward?0:this.start+this.length};return this.start=r.position,r}findAllIn(e){let s=this.backward?this.start-this.length:this.start;return this.stream.findAllIn(e,s,this.length)}findFirstNotIn(e,s=null){(s==null||s>this._length)&&(s=this._length);let r=this._stream.findFirstNotIn(e,this._start,this._length,this.backward);if(r.left.id==-1&&r.right.id==-1)return r;if(this.backward){if(r.right.id!=-1&&r.right.position<this._start-e[r.right.id].length-s)return {left:{id:-1,position:this._start},right:{id:-1,position:0},value:new ns}}else if(r.left.id!=-1&&r.left.position>this._start+e[r.left.id].length+s)return {left:{id:-1,position:this._start},right:{id:-1,position:0},value:new ns};return this.backward?r.left.id==-1?this.start=0:this.start=r.left.position:r.right.id==-1?this.start=this._start+this._length:this.start=r.right.position,r}findAllNotIn(e){let s=this.backward?this._start-this._length:this._start;return this._stream.findAllNotIn(e,s,this._length)}findFirstSequence(e,s=null,r=null){(s==null||s>this._length)&&(s=this._length),(r==null||r>s)&&(r=s);let n=this._stream.findFirstSequence(e,this._start,s,this.backward);if(n.value.length==0)return n;if(this.backward){if(n.position<this._start-n.value.length-r)return {position:-1,value:new ns}}else if(n.position>this._start+n.value.length+r)return {position:-1,value:new ns};return this.start=n.position,n}findAllSequences(e){let s=this.backward?this.start-this.length:this.start;return this.stream.findAllSequences(e,s,this.length)}findPairedPatterns(e,s,r=null){(r==null||r>this.length)&&(r=this.length);let n=this.backward?this.start-this.length:this.start,i=this.stream.findPairedPatterns(e,s,n,this.length);if(i.length){if(this.backward){if(i[0].right<this.start-s.length-r)return []}else if(i[0].left>this.start+e.length+r)return []}return i}findPairedArrays(e,s,r=null){(r==null||r>this.length)&&(r=this.length);let n=this.backward?this.start-this.length:this.start,i=this.stream.findPairedArrays(e,s,n,this.length);if(i.length){if(this.backward){if(i[0].right.position<this.start-s[i[0].right.id].length-r)return []}else if(i[0].left.position>this.start+e[i[0].left.id].length+r)return []}return i}replacePattern(e,s){let r=this.backward?this.start-this.length:this.start;return this.stream.replacePattern(e,s,r,this.length)}skipPatterns(e){let s=this.stream.skipPatterns(e,this.start,this.length,this.backward);return this.start=s,s}skipNotPatterns(e){let s=this.stream.skipNotPatterns(e,this.start,this.length,this.backward);return s==-1?-1:(this.start=s,s)}append(e){this.beforeAppend(e.length),this._stream.view.set(e.view,this._start),this._length+=e.length*2,this.start=this._start+e.length,this.prevLength-=e.length*2;}appendView(e){this.beforeAppend(e.length),this._stream.view.set(e,this._start),this._length+=e.length*2,this.start=this._start+e.length,this.prevLength-=e.length*2;}appendChar(e){this.beforeAppend(1),this._stream.view[this._start]=e,this._length+=2,this.start=this._start+1,this.prevLength-=2;}appendUint16(e){this.beforeAppend(2);let s=new Uint16Array([e]),r=new Uint8Array(s.buffer);this.stream.view[this._start]=r[1],this._stream.view[this._start+1]=r[0],this._length+=4,this.start=this._start+2,this.prevLength-=4;}appendUint24(e){this.beforeAppend(3);let s=new Uint32Array([e]),r=new Uint8Array(s.buffer);this._stream.view[this._start]=r[2],this._stream.view[this._start+1]=r[1],this._stream.view[this._start+2]=r[0],this._length+=6,this.start=this._start+3,this.prevLength-=6;}appendUint32(e){this.beforeAppend(4);let s=new Uint32Array([e]),r=new Uint8Array(s.buffer);this._stream.view[this._start]=r[3],this._stream.view[this._start+1]=r[2],this._stream.view[this._start+2]=r[1],this._stream.view[this._start+3]=r[0],this._length+=8,this.start=this._start+4,this.prevLength-=8;}appendInt16(e){this.beforeAppend(2);let s=new Int16Array([e]),r=new Uint8Array(s.buffer);this._stream.view[this._start]=r[1],this._stream.view[this._start+1]=r[0],this._length+=4,this.start=this._start+2,this.prevLength-=4;}appendInt32(e){this.beforeAppend(4);let s=new Int32Array([e]),r=new Uint8Array(s.buffer);this._stream.view[this._start]=r[3],this._stream.view[this._start+1]=r[2],this._stream.view[this._start+2]=r[1],this._stream.view[this._start+3]=r[0],this._length+=8,this.start=this._start+4,this.prevLength-=8;}getBlock(e,s=!0){if(this._length<=0)return new Uint8Array(0);this._length<e&&(e=this._length);let r;if(this.backward){let n=this._stream.view.subarray(this._length-e,this._length);r=new Uint8Array(e);for(let i=0;i<e;i++)r[e-1-i]=n[i];}else r=this._stream.view.subarray(this._start,this._start+e);return s&&(this.start+=this.backward?-1*e:e),r}getUint16(e=!0){let s=this.getBlock(2,e);return s.length<2?0:s[0]<<8|s[1]}getInt16(e=!0){let s=this.getUint16(e),r=32768;return s&r?-(r-(s^r)):s}getUint24(e=!0){let s=this.getBlock(4,e);return s.length<3?0:s[0]<<16|s[1]<<8|s[2]}getUint32(e=!0){let s=this.getBlock(4,e);return s.length<4?0:s[0]*UU+(s[1]<<16)+(s[2]<<8)+s[3]}getInt32(e=!0){let s=this.getUint32(e),r=2147483648;return s&r?-(r-(s^r)):s}beforeAppend(e){this._start+e>this._stream.length&&(e>this.appendBlock&&(this.appendBlock=e+t.APPEND_BLOCK),this._stream.realloc(this._stream.length+this.appendBlock));}};vn.APPEND_BLOCK=1e3;d();h();d();h();d();h();d();h();d();h();d();h();d();h();function HU(t){return t instanceof Uint8Array||t!=null&&typeof t=="object"&&t.constructor.name==="Uint8Array"}function dA(t,...e){if(!HU(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}`)}function mA(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 I4(t,e){dA(t);let s=e.outputLen;if(t.length<s)throw new Error(`digestInto() expects output buffer of length at least ${s}`)}d();h();var jy=t=>new DataView(t.buffer,t.byteOffset,t.byteLength),gr=(t,e)=>t<<32-e|t>>>e,My=(t,e)=>t<<e|t>>>32-e>>>0;new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;function jU(t){if(typeof t!="string")throw new Error(`utf8ToBytes expected string, got ${typeof t}`);return new Uint8Array(new TextEncoder().encode(t))}function pA(t){return typeof t=="string"&&(t=jU(t)),dA(t),t}var Hy=class{clone(){return this._cloneInto()}};function fo(t){let e=r=>t().update(pA(r)).digest(),s=t();return e.outputLen=s.outputLen,e.blockLen=s.blockLen,e.create=()=>t(),e}function MU(t,e,s,r){if(typeof t.setBigUint64=="function")return t.setBigUint64(e,s,r);let n=BigInt(32),i=BigInt(4294967295),a=Number(s>>n&i),o=Number(s&i),c=r?4:0,u=r?0:4;t.setUint32(e+c,a,r),t.setUint32(e+u,o,r);}var $y=(t,e,s)=>t&e^~t&s,qy=(t,e,s)=>t&e^t&s^e&s,Ei=class extends Hy{constructor(e,s,r,n){super(),this.blockLen=e,this.outputLen=s,this.padOffset=r,this.isLE=n,this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.buffer=new Uint8Array(e),this.view=jy(this.buffer);}update(e){mA(this);let{view:s,buffer:r,blockLen:n}=this;e=pA(e);let i=e.length;for(let a=0;a<i;){let o=Math.min(n-this.pos,i-a);if(o===n){let c=jy(e);for(;n<=i-a;a+=n)this.process(c,a);continue}r.set(e.subarray(a,a+o),this.pos),this.pos+=o,a+=o,this.pos===n&&(this.process(s,0),this.pos=0);}return this.length+=e.length,this.roundClean(),this}digestInto(e){mA(this),I4(e,this),this.finished=!0;let{buffer:s,view:r,blockLen:n,isLE:i}=this,{pos:a}=this;s[a++]=128,this.buffer.subarray(a).fill(0),this.padOffset>n-a&&(this.process(r,0),a=0);for(let p=a;p<n;p++)s[p]=0;MU(r,n-8,BigInt(this.length*8),i),this.process(r,0);let o=jy(e),c=this.outputLen;if(c%4)throw new Error("_sha2: outputLen should be aligned to 32bit");let u=c/4,l=this.get();if(u>l.length)throw new Error("_sha2: outputLen bigger than state");for(let p=0;p<u;p++)o.setUint32(4*p,l[p],i);}digest(){let{buffer:e,outputLen:s}=this;this.digestInto(e);let r=e.slice(0,s);return this.destroy(),r}_cloneInto(e){e||(e=new this.constructor),e.set(...this.get());let{blockLen:s,buffer:r,length:n,finished:i,destroyed:a,pos:o}=this;return e.length=n,e.pos=o,e.finished=i,e.destroyed=a,n%s&&e.buffer.set(r),e}};var nd=new Uint32Array([1732584193,4023233417,2562383102,271733878,3285377520]),xi=new Uint32Array(80),gA=class extends Ei{constructor(){super(64,20,8,!1),this.A=nd[0]|0,this.B=nd[1]|0,this.C=nd[2]|0,this.D=nd[3]|0,this.E=nd[4]|0;}get(){let{A:e,B:s,C:r,D:n,E:i}=this;return [e,s,r,n,i]}set(e,s,r,n,i){this.A=e|0,this.B=s|0,this.C=r|0,this.D=n|0,this.E=i|0;}process(e,s){for(let c=0;c<16;c++,s+=4)xi[c]=e.getUint32(s,!1);for(let c=16;c<80;c++)xi[c]=My(xi[c-3]^xi[c-8]^xi[c-14]^xi[c-16],1);let{A:r,B:n,C:i,D:a,E:o}=this;for(let c=0;c<80;c++){let u,l;c<20?(u=$y(n,i,a),l=1518500249):c<40?(u=n^i^a,l=1859775393):c<60?(u=qy(n,i,a),l=2400959708):(u=n^i^a,l=3395469782);let p=My(r,5)+u+o+l+xi[c]|0;o=a,a=i,i=My(n,30),n=r,r=p;}r=r+this.A|0,n=n+this.B|0,i=i+this.C|0,a=a+this.D|0,o=o+this.E|0,this.set(r,n,i,a,o);}roundClean(){xi.fill(0);}destroy(){this.set(0,0,0,0,0),this.buffer.fill(0);}},C4=fo(()=>new gA);d();h();d();h();var $U=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]),Ai=new Uint32Array([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),Ii=new Uint32Array(64),yA=class extends Ei{constructor(){super(64,32,8,!1),this.A=Ai[0]|0,this.B=Ai[1]|0,this.C=Ai[2]|0,this.D=Ai[3]|0,this.E=Ai[4]|0,this.F=Ai[5]|0,this.G=Ai[6]|0,this.H=Ai[7]|0;}get(){let{A:e,B:s,C:r,D:n,E:i,F:a,G:o,H:c}=this;return [e,s,r,n,i,a,o,c]}set(e,s,r,n,i,a,o,c){this.A=e|0,this.B=s|0,this.C=r|0,this.D=n|0,this.E=i|0,this.F=a|0,this.G=o|0,this.H=c|0;}process(e,s){for(let p=0;p<16;p++,s+=4)Ii[p]=e.getUint32(s,!1);for(let p=16;p<64;p++){let w=Ii[p-15],E=Ii[p-2],S=gr(w,7)^gr(w,18)^w>>>3,I=gr(E,17)^gr(E,19)^E>>>10;Ii[p]=I+Ii[p-7]+S+Ii[p-16]|0;}let{A:r,B:n,C:i,D:a,E:o,F:c,G:u,H:l}=this;for(let p=0;p<64;p++){let w=gr(o,6)^gr(o,11)^gr(o,25),E=l+w+$y(o,c,u)+$U[p]+Ii[p]|0,I=(gr(r,2)^gr(r,13)^gr(r,22))+qy(r,n,i)|0;l=u,u=c,c=o,o=a+E|0,a=i,i=n,n=r,r=E+I|0;}r=r+this.A|0,n=n+this.B|0,i=i+this.C|0,a=a+this.D|0,o=o+this.E|0,c=c+this.F|0,u=u+this.G|0,l=l+this.H|0,this.set(r,n,i,a,o,c,u,l);}roundClean(){Ii.fill(0);}destroy(){this.set(0,0,0,0,0,0,0,0),this.buffer.fill(0);}};var wA=fo(()=>new yA);d();h();d();h();var Fy=BigInt(4294967295),bA=BigInt(32);function N4(t,e=!1){return e?{h:Number(t&Fy),l:Number(t>>bA&Fy)}:{h:Number(t>>bA&Fy)|0,l:Number(t&Fy)|0}}function qU(t,e=!1){let s=new Uint32Array(t.length),r=new Uint32Array(t.length);for(let n=0;n<t.length;n++){let{h:i,l:a}=N4(t[n],e);[s[n],r[n]]=[i,a];}return [s,r]}var FU=(t,e)=>BigInt(t>>>0)<<bA|BigInt(e>>>0),KU=(t,e,s)=>t>>>s,GU=(t,e,s)=>t<<32-s|e>>>s,WU=(t,e,s)=>t>>>s|e<<32-s,JU=(t,e,s)=>t<<32-s|e>>>s,zU=(t,e,s)=>t<<64-s|e>>>s-32,YU=(t,e,s)=>t>>>s-32|e<<64-s,ZU=(t,e)=>e,XU=(t,e)=>t,QU=(t,e,s)=>t<<s|e>>>32-s,e_=(t,e,s)=>e<<s|t>>>32-s,t_=(t,e,s)=>e<<s-32|t>>>64-s,s_=(t,e,s)=>t<<s-32|e>>>64-s;function r_(t,e,s,r){let n=(e>>>0)+(r>>>0);return {h:t+s+(n/2**32|0)|0,l:n|0}}var n_=(t,e,s)=>(t>>>0)+(e>>>0)+(s>>>0),i_=(t,e,s,r)=>e+s+r+(t/2**32|0)|0,a_=(t,e,s,r)=>(t>>>0)+(e>>>0)+(s>>>0)+(r>>>0),o_=(t,e,s,r,n)=>e+s+r+n+(t/2**32|0)|0,c_=(t,e,s,r,n)=>(t>>>0)+(e>>>0)+(s>>>0)+(r>>>0)+(n>>>0),u_=(t,e,s,r,n,i)=>e+s+r+n+i+(t/2**32|0)|0;var l_={fromBig:N4,split:qU,toBig:FU,shrSH:KU,shrSL:GU,rotrSH:WU,rotrSL:JU,rotrBH:zU,rotrBL:YU,rotr32H:ZU,rotr32L:XU,rotlSH:QU,rotlSL:e_,rotlBH:t_,rotlBL:s_,add:r_,add3L:n_,add3H:i_,add4L:a_,add4H:o_,add5H:u_,add5L:c_},$e=l_;var[f_,h_]=$e.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))),Ci=new Uint32Array(80),Ni=new Uint32Array(80),Ky=class extends Ei{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:s,Bh:r,Bl:n,Ch:i,Cl:a,Dh:o,Dl:c,Eh:u,El:l,Fh:p,Fl:w,Gh:E,Gl:S,Hh:I,Hl:C}=this;return [e,s,r,n,i,a,o,c,u,l,p,w,E,S,I,C]}set(e,s,r,n,i,a,o,c,u,l,p,w,E,S,I,C){this.Ah=e|0,this.Al=s|0,this.Bh=r|0,this.Bl=n|0,this.Ch=i|0,this.Cl=a|0,this.Dh=o|0,this.Dl=c|0,this.Eh=u|0,this.El=l|0,this.Fh=p|0,this.Fl=w|0,this.Gh=E|0,this.Gl=S|0,this.Hh=I|0,this.Hl=C|0;}process(e,s){for(let B=0;B<16;B++,s+=4)Ci[B]=e.getUint32(s),Ni[B]=e.getUint32(s+=4);for(let B=16;B<80;B++){let k=Ci[B-15]|0,O=Ni[B-15]|0,G=$e.rotrSH(k,O,1)^$e.rotrSH(k,O,8)^$e.shrSH(k,O,7),re=$e.rotrSL(k,O,1)^$e.rotrSL(k,O,8)^$e.shrSL(k,O,7),Q=Ci[B-2]|0,oe=Ni[B-2]|0,pe=$e.rotrSH(Q,oe,19)^$e.rotrBH(Q,oe,61)^$e.shrSH(Q,oe,6),se=$e.rotrSL(Q,oe,19)^$e.rotrBL(Q,oe,61)^$e.shrSL(Q,oe,6),ce=$e.add4L(re,se,Ni[B-7],Ni[B-16]),ge=$e.add4H(ce,G,pe,Ci[B-7],Ci[B-16]);Ci[B]=ge|0,Ni[B]=ce|0;}let{Ah:r,Al:n,Bh:i,Bl:a,Ch:o,Cl:c,Dh:u,Dl:l,Eh:p,El:w,Fh:E,Fl:S,Gh:I,Gl:C,Hh:D,Hl:V}=this;for(let B=0;B<80;B++){let k=$e.rotrSH(p,w,14)^$e.rotrSH(p,w,18)^$e.rotrBH(p,w,41),O=$e.rotrSL(p,w,14)^$e.rotrSL(p,w,18)^$e.rotrBL(p,w,41),G=p&E^~p&I,re=w&S^~w&C,Q=$e.add5L(V,O,re,h_[B],Ni[B]),oe=$e.add5H(Q,D,k,G,f_[B],Ci[B]),pe=Q|0,se=$e.rotrSH(r,n,28)^$e.rotrBH(r,n,34)^$e.rotrBH(r,n,39),ce=$e.rotrSL(r,n,28)^$e.rotrBL(r,n,34)^$e.rotrBL(r,n,39),ge=r&i^r&o^i&o,Ke=n&a^n&c^a&c;D=I|0,V=C|0,I=E|0,C=S|0,E=p|0,S=w|0,{h:p,l:w}=$e.add(u|0,l|0,oe|0,pe|0),u=o|0,l=c|0,o=i|0,c=a|0,i=r|0,a=n|0;let J=$e.add3L(pe,ce,Ke);r=$e.add3H(J,oe,se,ge),n=J|0;}(({h:r,l:n}=$e.add(this.Ah|0,this.Al|0,r|0,n|0))),{h:i,l:a}=$e.add(this.Bh|0,this.Bl|0,i|0,a|0),{h:o,l:c}=$e.add(this.Ch|0,this.Cl|0,o|0,c|0),{h:u,l}=$e.add(this.Dh|0,this.Dl|0,u|0,l|0),{h:p,l:w}=$e.add(this.Eh|0,this.El|0,p|0,w|0),{h:E,l:S}=$e.add(this.Fh|0,this.Fl|0,E|0,S|0),{h:I,l:C}=$e.add(this.Gh|0,this.Gl|0,I|0,C|0),{h:D,l:V}=$e.add(this.Hh|0,this.Hl|0,D|0,V|0),this.set(r,n,i,a,o,c,u,l,p,w,E,S,I,C,D,V);}roundClean(){Ci.fill(0),Ni.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 SA=class extends Ky{constructor(){super(),this.Ah=-876896931,this.Al=-1056596264,this.Bh=1654270250,this.Bl=914150663,this.Ch=-1856437926,this.Cl=812702999,this.Dh=355462360,this.Dl=-150054599,this.Eh=1731405415,this.El=-4191439,this.Fh=-1900787065,this.Fl=1750603025,this.Gh=-619958771,this.Gl=1694076839,this.Hh=1203062813,this.Hl=-1090891868,this.outputLen=48;}},vA=fo(()=>new Ky);var EA=fo(()=>new SA);var kt=new ArrayBuffer(0),b="",nt=class t extends TypeError{constructor(){super(...arguments),this.name=t.NAME;}static isType(e,s){if(typeof s=="string"){if(s==="Array"&&Array.isArray(e))return !0;if(s==="ArrayBuffer"&&e instanceof ArrayBuffer)return !0;if(s==="ArrayBufferView"&&ArrayBuffer.isView(e))return !0;if(typeof e===s)return !0}else if(e instanceof s)return !0;return !1}static assert(e,s,...r){for(let i of r)if(this.isType(e,i))return;let n=r.map(i=>i instanceof Function&&"name"in i?i.name:`${i}`);throw new t(`Parameter '${s}' is not of type ${n.length>1?`(${n.join(" or ")})`:n[0]}`)}};nt.NAME="ArgumentError";var Qe=class t extends TypeError{static assert(...e){let s=null,r,n;typeof e[0]=="string"?(s=e[0],r=e[1],n=e.slice(2)):(r=e[0],n=e.slice(1)),nt.assert(r,"parameters","object");for(let i of n){let a=r[i];if(a==null)throw new t(i,s)}}static assertEmpty(e,s,r){if(e==null)throw new t(s,r)}constructor(e,s=null,r){super(),this.name=t.NAME,this.field=e,s&&(this.target=s),r?this.message=r:this.message=`Absent mandatory parameter '${e}' ${s?` in '${s}'`:b}`;}};Qe.NAME="ParameterError";var M=class t extends Error{static assertSchema(e,s){if(!e.verified)throw new Error(`Object's schema was not verified against input data for ${s}`)}static assert(e,s){if(e.offset===-1)throw new t(`Error during parsing of ASN.1 data. Data is not correct for '${s}'.`)}constructor(e){super(e),this.name="AsnError";}},q=class{static blockName(){return this.CLASS_NAME}static fromBER(e){let s=Ot(e);M.assert(s,this.name);try{return new this({schema:s.result})}catch{throw new M(`Cannot create '${this.CLASS_NAME}' from ASN.1 object`)}}static defaultValues(e){throw new Error(`Invalid member name for ${this.CLASS_NAME} class: ${e}`)}static schema(e={}){throw new Error(`Method '${this.CLASS_NAME}.schema' should be overridden`)}get className(){return this.constructor.CLASS_NAME}toString(e="hex"){let s;try{s=this.toSchema();}catch{s=this.toSchema(!0);}return Se.Convert.ToString(s.toBER(),e)}};q.CLASS_NAME="PkiObject";function da(t){let e=!1,s=b,r=t.trim();for(let n=0;n<r.length;n++)r.charCodeAt(n)===32?e===!1&&(e=!0):(e&&(s+=" ",e=!1),s+=r[n]);return s.toLowerCase()}var id="type",xA="value",mm=class t extends q{constructor(e={}){super(),this.type=y(e,id,t.defaultValues(id)),this.value=y(e,xA,t.defaultValues(xA)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case id:return b;case xA:return {};default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||b,value:[new ae({name:s.type||b}),new be({name:s.value||b})]})}fromSchema(e){W(e,[id,"typeValue"]);let s=K(e,e,t.schema({names:{type:id,value:"typeValue"}}));M.assertSchema(s,this.className),this.type=s.result.type.valueBlock.toString(),this.value=s.result.typeValue;}toSchema(){return new T({value:[new ae({value:this.type}),this.value]})}toJSON(){let e={type:this.type};return Object.keys(this.value).length!==0?e.value=this.value.toJSON():e.value=this.value,e}isEqual(e){let s=[Rs.blockName(),bi.blockName(),Si.blockName(),yn.blockName(),Ls.blockName(),vi.blockName(),Au.blockName(),co.blockName(),Iu.blockName(),uo.blockName(),Cu.blockName(),Nu.blockName()];if(e instanceof ArrayBuffer)return Se.BufferSourceConverter.isEqual(this.value.valueBeforeDecodeView,e);if(e.constructor.blockName()===t.blockName()){if(this.type!==e.type)return !1;let r=[!1,!1],n=this.value.constructor.blockName();for(let a of s)n===a&&(r[0]=!0),e.value.constructor.blockName()===a&&(r[1]=!0);if(r[0]!==r[1])return !1;if(r[0]&&r[1]){let a=da(this.value.valueBlock.value),o=da(e.value.valueBlock.value);if(a.localeCompare(o)!==0)return !1}else if(!Se.BufferSourceConverter.isEqual(this.value.valueBeforeDecodeView,e.value.valueBeforeDecodeView))return !1;return !0}return !1}};mm.CLASS_NAME="AttributeTypeAndValue";var ho="typesAndValues",Gy="valueBeforeDecode",T4="RDN",lt=class t extends q{constructor(e={}){super(),this.typesAndValues=y(e,ho,t.defaultValues(ho)),this.valueBeforeDecode=y(e,Gy,t.defaultValues(Gy)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case ho:return [];case Gy:return kt;default:return super.defaultValues(e)}}static compareWithDefault(e,s){switch(e){case ho:return s.length===0;case Gy:return s.byteLength===0;default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||b,value:[new Ae({name:s.repeatedSequence||b,value:new bt({value:[new Ae({name:s.repeatedSet||b,value:mm.schema(s.typeAndValue||{})})]})})]})}fromSchema(e){W(e,[T4,ho]);let s=K(e,e,t.schema({names:{blockName:T4,repeatedSet:ho}}));M.assertSchema(s,this.className),ho in s.result&&(this.typesAndValues=Array.from(s.result.typesAndValues,r=>new mm({schema:r}))),this.valueBeforeDecode=s.result.RDN.valueBeforeDecodeView.slice().buffer;}toSchema(){if(this.valueBeforeDecode.byteLength===0)return new T({value:[new bt({value:Array.from(this.typesAndValues,s=>s.toSchema())})]});let e=Ot(this.valueBeforeDecode);if(M.assert(e,"RelativeDistinguishedNames"),!(e.result instanceof T))throw new Error("ASN.1 result should be SEQUENCE");return e.result}toJSON(){return {typesAndValues:Array.from(this.typesAndValues,e=>e.toJSON())}}isEqual(e){if(e instanceof t){if(this.typesAndValues.length!==e.typesAndValues.length)return !1;for(let[s,r]of this.typesAndValues.entries())if(r.isEqual(e.typesAndValues[s])===!1)return !1;return !0}return e instanceof ArrayBuffer?wi(this.valueBeforeDecode,e):!1}};lt.CLASS_NAME="RelativeDistinguishedNames";var wd="type",bd="value";function d_(t={},e=!1){let s=y(t,"names",{});return new T({optional:e,value:[new L({optional:!0,idBlock:{tagClass:2,tagNumber:1},name:s.country_name||b,value:[new ut({value:[new yn,new Ls]})]}),new L({optional:!0,idBlock:{tagClass:2,tagNumber:2},name:s.administration_domain_name||b,value:[new ut({value:[new yn,new Ls]})]}),new we({optional:!0,idBlock:{tagClass:3,tagNumber:0},name:s.network_address||b,isHexOnly:!0}),new we({optional:!0,idBlock:{tagClass:3,tagNumber:1},name:s.terminal_identifier||b,isHexOnly:!0}),new L({optional:!0,idBlock:{tagClass:3,tagNumber:2},name:s.private_domain_name||b,value:[new ut({value:[new yn,new Ls]})]}),new we({optional:!0,idBlock:{tagClass:3,tagNumber:3},name:s.organization_name||b,isHexOnly:!0}),new we({optional:!0,name:s.numeric_user_identifier||b,idBlock:{tagClass:3,tagNumber:4},isHexOnly:!0}),new L({optional:!0,name:s.personal_name||b,idBlock:{tagClass:3,tagNumber:5},value:[new we({idBlock:{tagClass:3,tagNumber:0},isHexOnly:!0}),new we({optional:!0,idBlock:{tagClass:3,tagNumber:1},isHexOnly:!0}),new we({optional:!0,idBlock:{tagClass:3,tagNumber:2},isHexOnly:!0}),new we({optional:!0,idBlock:{tagClass:3,tagNumber:3},isHexOnly:!0})]}),new L({optional:!0,name:s.organizational_unit_names||b,idBlock:{tagClass:3,tagNumber:6},value:[new Ae({value:new Ls})]})]})}function m_(t=!1){return new T({optional:t,value:[new Ls,new Ls]})}function p_(t=!1){return new bt({optional:t,value:[new we({optional:!0,idBlock:{tagClass:3,tagNumber:0},isHexOnly:!0}),new L({optional:!0,idBlock:{tagClass:3,tagNumber:1},value:[new be]})]})}var it=class t extends q{constructor(e={}){super(),this.type=y(e,wd,t.defaultValues(wd)),this.value=y(e,bd,t.defaultValues(bd)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case wd:return 9;case bd:return {};default:return super.defaultValues(e)}}static compareWithDefault(e,s){switch(e){case wd:return s===t.defaultValues(e);case bd:return Object.keys(s).length===0;default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new ut({value:[new L({idBlock:{tagClass:3,tagNumber:0},name:s.blockName||b,value:[new ae,new L({idBlock:{tagClass:3,tagNumber:0},value:[new be]})]}),new we({name:s.blockName||b,idBlock:{tagClass:3,tagNumber:1}}),new we({name:s.blockName||b,idBlock:{tagClass:3,tagNumber:2}}),new L({idBlock:{tagClass:3,tagNumber:3},name:s.blockName||b,value:[d_(s.builtInStandardAttributes||{},!1),m_(!0),p_(!0)]}),new L({idBlock:{tagClass:3,tagNumber:4},name:s.blockName||b,value:[lt.schema(s.directoryName||{})]}),new L({idBlock:{tagClass:3,tagNumber:5},name:s.blockName||b,value:[new L({optional:!0,idBlock:{tagClass:3,tagNumber:0},value:[new ut({value:[new vi,new Ls,new Si,new Rs,new bi]})]}),new L({idBlock:{tagClass:3,tagNumber:1},value:[new ut({value:[new vi,new Ls,new Si,new Rs,new bi]})]})]}),new we({name:s.blockName||b,idBlock:{tagClass:3,tagNumber:6}}),new we({name:s.blockName||b,idBlock:{tagClass:3,tagNumber:7}}),new we({name:s.blockName||b,idBlock:{tagClass:3,tagNumber:8}})]})}fromSchema(e){W(e,["blockName","otherName","rfc822Name","dNSName","x400Address","directoryName","ediPartyName","uniformResourceIdentifier","iPAddress","registeredID"]);let s=K(e,e,t.schema({names:{blockName:"blockName",otherName:"otherName",rfc822Name:"rfc822Name",dNSName:"dNSName",x400Address:"x400Address",directoryName:{names:{blockName:"directoryName"}},ediPartyName:"ediPartyName",uniformResourceIdentifier:"uniformResourceIdentifier",iPAddress:"iPAddress",registeredID:"registeredID"}}));switch(M.assertSchema(s,this.className),this.type=s.result.blockName.idBlock.tagNumber,this.type){case 0:this.value=s.result.blockName;break;case 1:case 2:case 6:{let r=s.result.blockName;r.idBlock.tagClass=1,r.idBlock.tagNumber=22;let n=r.toBER(!1),i=Ot(n);M.assert(i,"GeneralName value"),this.value=i.result.valueBlock.value;}break;case 3:this.value=s.result.blockName;break;case 4:this.value=new lt({schema:s.result.directoryName});break;case 5:this.value=s.result.ediPartyName;break;case 7:this.value=new z({valueHex:s.result.blockName.valueBlock.valueHex});break;case 8:{let r=s.result.blockName;r.idBlock.tagClass=1,r.idBlock.tagNumber=6;let n=r.toBER(!1),i=Ot(n);M.assert(i,"GeneralName registeredID"),this.value=i.result.valueBlock.toString();}break}}toSchema(){switch(this.type){case 0:case 3:case 5:return new L({idBlock:{tagClass:3,tagNumber:this.type},value:[this.value]});case 1:case 2:case 6:{let e=new co({value:this.value});return e.idBlock.tagClass=3,e.idBlock.tagNumber=this.type,e}case 4:return new L({idBlock:{tagClass:3,tagNumber:4},value:[this.value.toSchema()]});case 7:{let e=this.value;return e.idBlock.tagClass=3,e.idBlock.tagNumber=this.type,e}case 8:{let e=new ae({value:this.value});return e.idBlock.tagClass=3,e.idBlock.tagNumber=this.type,e}default:return t.schema()}}toJSON(){let e={type:this.type,value:b};if(typeof this.value=="string")e.value=this.value;else try{e.value=this.value.toJSON();}catch{}return e}};it.CLASS_NAME="GeneralName";var Sd="accessMethod",vd="accessLocation",g_=[Sd,vd],pm=class t extends q{constructor(e={}){super(),this.accessMethod=y(e,Sd,t.defaultValues(Sd)),this.accessLocation=y(e,vd,t.defaultValues(vd)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Sd:return b;case vd:return new it;default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||b,value:[new ae({name:s.accessMethod||b}),it.schema(s.accessLocation||{})]})}fromSchema(e){W(e,g_);let s=K(e,e,t.schema({names:{accessMethod:Sd,accessLocation:{names:{blockName:vd}}}}));M.assertSchema(s,this.className),this.accessMethod=s.result.accessMethod.valueBlock.toString(),this.accessLocation=new it({schema:s.result.accessLocation});}toSchema(){return new T({value:[new ae({value:this.accessMethod}),this.accessLocation.toSchema()]})}toJSON(){return {accessMethod:this.accessMethod,accessLocation:this.accessLocation.toJSON()}}};pm.CLASS_NAME="AccessDescription";var ki="seconds",Bi="millis",Pi="micros",Dn=class t extends q{constructor(e={}){super(),ki in e&&(this.seconds=y(e,ki,t.defaultValues(ki))),Bi in e&&(this.millis=y(e,Bi,t.defaultValues(Bi))),Pi in e&&(this.micros=y(e,Pi,t.defaultValues(Pi))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case ki:case Bi:case Pi:return 0;default:return super.defaultValues(e)}}static compareWithDefault(e,s){switch(e){case ki:case Bi:case Pi:return s===t.defaultValues(e);default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||b,optional:!0,value:[new U({optional:!0,name:s.seconds||b}),new we({name:s.millis||b,optional:!0,idBlock:{tagClass:3,tagNumber:0}}),new we({name:s.micros||b,optional:!0,idBlock:{tagClass:3,tagNumber:1}})]})}fromSchema(e){W(e,[ki,Bi,Pi]);let s=K(e,e,t.schema({names:{seconds:ki,millis:Bi,micros:Pi}}));if(M.assertSchema(s,this.className),"seconds"in s.result&&(this.seconds=s.result.seconds.valueBlock.valueDec),"millis"in s.result){let r=new U({valueHex:s.result.millis.valueBlock.valueHex});this.millis=r.valueBlock.valueDec;}if("micros"in s.result){let r=new U({valueHex:s.result.micros.valueBlock.valueHex});this.micros=r.valueBlock.valueDec;}}toSchema(){let e=[];if(this.seconds!==void 0&&e.push(new U({value:this.seconds})),this.millis!==void 0){let s=new U({value:this.millis});e.push(new we({idBlock:{tagClass:3,tagNumber:0},valueHex:s.valueBlock.valueHexView}));}if(this.micros!==void 0){let s=new U({value:this.micros});e.push(new we({idBlock:{tagClass:3,tagNumber:1},valueHex:s.valueBlock.valueHexView}));}return new T({value:e})}toJSON(){let e={};return this.seconds!==void 0&&(e.seconds=this.seconds),this.millis!==void 0&&(e.millis=this.millis),this.micros!==void 0&&(e.micros=this.micros),e}};Dn.CLASS_NAME="Accuracy";var Wy="algorithmId",ad="algorithmParams",Q4="algorithm",XA="params",y_=[Q4,XA],_=class t extends q{constructor(e={}){super(),this.algorithmId=y(e,Wy,t.defaultValues(Wy)),ad in e&&(this.algorithmParams=y(e,ad,t.defaultValues(ad))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Wy:return b;case ad:return new be;default:return super.defaultValues(e)}}static compareWithDefault(e,s){switch(e){case Wy:return s===b;case ad:return s instanceof be;default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||b,optional:s.optional||!1,value:[new ae({name:s.algorithmIdentifier||b}),new be({name:s.algorithmParams||b,optional:!0})]})}fromSchema(e){W(e,y_);let s=K(e,e,t.schema({names:{algorithmIdentifier:Q4,algorithmParams:XA}}));M.assertSchema(s,this.className),this.algorithmId=s.result.algorithm.valueBlock.toString(),XA in s.result&&(this.algorithmParams=s.result.params);}toSchema(){let e=[];return e.push(new ae({value:this.algorithmId})),this.algorithmParams&&!(this.algorithmParams instanceof be)&&e.push(this.algorithmParams),new T({value:e})}toJSON(){let e={algorithmId:this.algorithmId};return this.algorithmParams&&!(this.algorithmParams instanceof be)&&(e.algorithmParams=this.algorithmParams.toJSON()),e}isEqual(e){return !(e instanceof t)||this.algorithmId!==e.algorithmId?!1:this.algorithmParams?e.algorithmParams?JSON.stringify(this.algorithmParams)===JSON.stringify(e.algorithmParams):!1:!e.algorithmParams}};_.CLASS_NAME="AlgorithmIdentifier";var Du="altNames",w_=[Du],gm=class t extends q{constructor(e={}){super(),this.altNames=y(e,Du,t.defaultValues(Du)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Du:return [];default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||b,value:[new Ae({name:s.altNames||b,value:it.schema()})]})}fromSchema(e){W(e,w_);let s=K(e,e,t.schema({names:{altNames:Du}}));M.assertSchema(s,this.className),Du in s.result&&(this.altNames=Array.from(s.result.altNames,r=>new it({schema:r})));}toSchema(){return new T({value:Array.from(this.altNames,e=>e.toSchema())})}toJSON(){return {altNames:Array.from(this.altNames,e=>e.toJSON())}}};gm.CLASS_NAME="AltName";var Vu="type",Uu="values",b_=[Vu,Uu],xt=class t extends q{constructor(e={}){super(),this.type=y(e,Vu,t.defaultValues(Vu)),this.values=y(e,Uu,t.defaultValues(Uu)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Vu:return b;case Uu:return [];default:return super.defaultValues(e)}}static compareWithDefault(e,s){switch(e){case Vu:return s===b;case Uu:return s.length===0;default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||b,value:[new ae({name:s.type||b}),new bt({name:s.setName||b,value:[new Ae({name:s.values||b,value:new be})]})]})}fromSchema(e){W(e,b_);let s=K(e,e,t.schema({names:{type:Vu,values:Uu}}));M.assertSchema(s,this.className),this.type=s.result.type.valueBlock.toString(),this.values=s.result.values;}toSchema(){return new T({value:[new ae({value:this.type}),new bt({value:this.values})]})}toJSON(){return {type:this.type,values:Array.from(this.values,e=>e.toJSON())}}};xt.CLASS_NAME="Attribute";var Ed="notBeforeTime",xd="notAfterTime",S_=[Ed,xd],jn=class t extends q{constructor(e={}){super(),this.notBeforeTime=y(e,Ed,t.defaultValues(Ed)),this.notAfterTime=y(e,xd,t.defaultValues(xd)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Ed:case xd:return new Date(0,0,0);default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||b,value:[new ct({name:s.notBeforeTime||b}),new ct({name:s.notAfterTime||b})]})}fromSchema(e){W(e,S_);let s=K(e,e,t.schema({names:{notBeforeTime:Ed,notAfterTime:xd}}));M.assertSchema(s,this.className),this.notBeforeTime=s.result.notBeforeTime.toDate(),this.notAfterTime=s.result.notAfterTime.toDate();}toSchema(){return new T({value:[new ct({valueDate:this.notBeforeTime}),new ct({valueDate:this.notAfterTime})]})}toJSON(){return {notBeforeTime:this.notBeforeTime,notAfterTime:this.notAfterTime}}};jn.CLASS_NAME="AttCertValidityPeriod";var od="names",k4="generalNames",Mt=class t extends q{constructor(e={}){super(),this.names=y(e,od,t.defaultValues(od)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case"names":return [];default:return super.defaultValues(e)}}static schema(e={},s=!1){let r=y(e,od,{});return new T({optional:s,name:r.blockName||b,value:[new Ae({name:r.generalNames||b,value:it.schema()})]})}fromSchema(e){W(e,[od,k4]);let s=K(e,e,t.schema({names:{blockName:od,generalNames:k4}}));M.assertSchema(s,this.className),this.names=Array.from(s.result.generalNames,r=>new it({schema:r}));}toSchema(){return new T({value:Array.from(this.names,e=>e.toSchema())})}toJSON(){return {names:Array.from(this.names,e=>e.toJSON())}}};Mt.CLASS_NAME="GeneralNames";var v_="2.5.29.9",E_="2.5.29.14",x_="2.5.29.15",A_="2.5.29.16",ek="2.5.29.17",tk="2.5.29.18",P6="2.5.29.19",I_="2.5.29.20",C_="2.5.29.27",N_="2.5.29.21",T_="2.5.29.24",sk="2.5.29.28",rk="2.5.29.29",nk="2.5.29.30",ik="2.5.29.31",O6="2.5.29.46",ak="2.5.29.32",Ys="2.5.29.32.0",k_="1.3.6.1.4.1.311.21.10",ok="2.5.29.33",R6="2.5.29.35",ck="2.5.29.36",B_="2.5.29.37",P_="2.5.29.54",L6="1.3.6.1.5.5.7.1.1",O_="1.3.6.1.5.5.7.1.11",R_="1.3.6.1.4.1.11129.2.4.2";var L_="1.3.6.1.4.1.311.21.7",D_="1.3.6.1.4.1.311.21.1",V_="1.3.6.1.5.5.7.1.3",D6="1.2.840.113549.1.7.1",uk="1.2.840.113549.1.7.2",lk="1.2.840.113549.1.7.3",fk="1.2.840.113549.1.7.6",U_="1.2.840.113549.1.9.16.1.4",B4="1.2.840.113549.1.9.22.1",__="1.2.840.113549.1.9.22.2",P4="1.2.840.113549.1.9.22.3",O4="1.2.840.113549.1.9.23.1",H_="1.3.6.1.5.5.7",V6=`${H_}.48`,ww=`${V6}.1.1`;var yo="keyIdentifier",wo="authorityCertIssuer",bo="authorityCertSerialNumber",j_=[yo,wo,bo],ym=class t extends q{constructor(e={}){super(),yo in e&&(this.keyIdentifier=y(e,yo,t.defaultValues(yo))),wo in e&&(this.authorityCertIssuer=y(e,wo,t.defaultValues(wo))),bo in e&&(this.authorityCertSerialNumber=y(e,bo,t.defaultValues(bo))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case yo:return new z;case wo:return [];case bo:return new U;default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||b,value:[new we({name:s.keyIdentifier||b,optional:!0,idBlock:{tagClass:3,tagNumber:0}}),new L({optional:!0,idBlock:{tagClass:3,tagNumber:1},value:[new Ae({name:s.authorityCertIssuer||b,value:it.schema()})]}),new we({name:s.authorityCertSerialNumber||b,optional:!0,idBlock:{tagClass:3,tagNumber:2}})]})}fromSchema(e){W(e,j_);let s=K(e,e,t.schema({names:{keyIdentifier:yo,authorityCertIssuer:wo,authorityCertSerialNumber:bo}}));M.assertSchema(s,this.className),yo in s.result&&(this.keyIdentifier=new z({valueHex:s.result.keyIdentifier.valueBlock.valueHex})),wo in s.result&&(this.authorityCertIssuer=Array.from(s.result.authorityCertIssuer,r=>new it({schema:r}))),bo in s.result&&(this.authorityCertSerialNumber=new U({valueHex:s.result.authorityCertSerialNumber.valueBlock.valueHex}));}toSchema(){let e=[];return this.keyIdentifier&&e.push(new we({idBlock:{tagClass:3,tagNumber:0},valueHex:this.keyIdentifier.valueBlock.valueHexView})),this.authorityCertIssuer&&e.push(new L({idBlock:{tagClass:3,tagNumber:1},value:Array.from(this.authorityCertIssuer,s=>s.toSchema())})),this.authorityCertSerialNumber&&e.push(new we({idBlock:{tagClass:3,tagNumber:2},valueHex:this.authorityCertSerialNumber.valueBlock.valueHexView})),new T({value:e})}toJSON(){let e={};return this.keyIdentifier&&(e.keyIdentifier=this.keyIdentifier.toJSON()),this.authorityCertIssuer&&(e.authorityCertIssuer=Array.from(this.authorityCertIssuer,s=>s.toJSON())),this.authorityCertSerialNumber&&(e.authorityCertSerialNumber=this.authorityCertSerialNumber.toJSON()),e}};ym.CLASS_NAME="AuthorityKeyIdentifier";var mo="pathLenConstraint",po="cA",wm=class t extends q{constructor(e={}){super(),this.cA=y(e,po,!1),mo in e&&(this.pathLenConstraint=y(e,mo,0)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case po:return !1;default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||b,value:[new Fs({optional:!0,name:s.cA||b}),new U({optional:!0,name:s.pathLenConstraint||b})]})}fromSchema(e){W(e,[po,mo]);let s=K(e,e,t.schema({names:{cA:po,pathLenConstraint:mo}}));M.assertSchema(s,this.className),po in s.result&&(this.cA=s.result.cA.valueBlock.value),mo in s.result&&(s.result.pathLenConstraint.valueBlock.isHexOnly?this.pathLenConstraint=s.result.pathLenConstraint:this.pathLenConstraint=s.result.pathLenConstraint.valueBlock.valueDec);}toSchema(){let e=[];return this.cA!==t.defaultValues(po)&&e.push(new Fs({value:this.cA})),mo in this&&(this.pathLenConstraint instanceof U?e.push(this.pathLenConstraint):e.push(new U({value:this.pathLenConstraint}))),new T({value:e})}toJSON(){let e={};return this.cA!==t.defaultValues(po)&&(e.cA=this.cA),mo in this&&(this.pathLenConstraint instanceof U?e.pathLenConstraint=this.pathLenConstraint.toJSON():e.pathLenConstraint=this.pathLenConstraint),e}};wm.CLASS_NAME="BasicConstraints";var AA="certificateIndex",IA="keyIndex",zw=class t extends q{constructor(e={}){super(),this.certificateIndex=y(e,AA,t.defaultValues(AA)),this.keyIndex=y(e,IA,t.defaultValues(IA)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case AA:case IA:return 0;default:return super.defaultValues(e)}}static schema(){return new U}fromSchema(e){if(e.constructor.blockName()!==U.blockName())throw new Error("Object's schema was not verified against input data for CAVersion");let s=e.valueBlock.valueHex.slice(0),r=new Uint8Array(s);switch(!0){case s.byteLength<4:{let p=new ArrayBuffer(4);new Uint8Array(p).set(r,4-s.byteLength),s=p.slice(0);}break;case s.byteLength>4:{let p=new ArrayBuffer(4);new Uint8Array(p).set(r.slice(0,4)),s=p.slice(0);}break}let n=s.slice(0,2),i=new Uint8Array(n),a=i[0];i[0]=i[1],i[1]=a;let o=new Uint16Array(n);this.keyIndex=o[0];let c=s.slice(2),u=new Uint8Array(c);a=u[0],u[0]=u[1],u[1]=a;let l=new Uint16Array(c);this.certificateIndex=l[0];}toSchema(){let e=new ArrayBuffer(2),s=new Uint16Array(e);s[0]=this.certificateIndex;let r=new Uint8Array(e),n=r[0];r[0]=r[1],r[1]=n;let i=new ArrayBuffer(2),a=new Uint16Array(i);a[0]=this.keyIndex;let o=new Uint8Array(i);return n=o[0],o[0]=o[1],o[1]=n,new U({valueHex:ao(i,e)})}toJSON(){return {certificateIndex:this.certificateIndex,keyIndex:this.keyIndex}}};zw.CLASS_NAME="CAVersion";var Ad="policyQualifierId",Id="qualifier",M_=[Ad,Id],bm=class t extends q{constructor(e={}){super(),this.policyQualifierId=y(e,Ad,t.defaultValues(Ad)),this.qualifier=y(e,Id,t.defaultValues(Id)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Ad:return b;case Id:return new be;default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||b,value:[new ae({name:s.policyQualifierId||b}),new be({name:s.qualifier||b})]})}fromSchema(e){W(e,M_);let s=K(e,e,t.schema({names:{policyQualifierId:Ad,qualifier:Id}}));M.assertSchema(s,this.className),this.policyQualifierId=s.result.policyQualifierId.valueBlock.toString(),this.qualifier=s.result.qualifier;}toSchema(){return new T({value:[new ae({value:this.policyQualifierId}),this.qualifier]})}toJSON(){return {policyQualifierId:this.policyQualifierId,qualifier:this.qualifier.toJSON()}}};bm.CLASS_NAME="PolicyQualifierInfo";var Cd="policyIdentifier",So="policyQualifiers",$_=[Cd,So],Sm=class t extends q{constructor(e={}){super(),this.policyIdentifier=y(e,Cd,t.defaultValues(Cd)),So in e&&(this.policyQualifiers=y(e,So,t.defaultValues(So))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Cd:return b;case So:return [];default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||b,value:[new ae({name:s.policyIdentifier||b}),new T({optional:!0,value:[new Ae({name:s.policyQualifiers||b,value:bm.schema()})]})]})}fromSchema(e){W(e,$_);let s=K(e,e,t.schema({names:{policyIdentifier:Cd,policyQualifiers:So}}));M.assertSchema(s,this.className),this.policyIdentifier=s.result.policyIdentifier.valueBlock.toString(),So in s.result&&(this.policyQualifiers=Array.from(s.result.policyQualifiers,r=>new bm({schema:r})));}toSchema(){let e=[];return e.push(new ae({value:this.policyIdentifier})),this.policyQualifiers&&e.push(new T({value:Array.from(this.policyQualifiers,s=>s.toSchema())})),new T({value:e})}toJSON(){let e={policyIdentifier:this.policyIdentifier};return this.policyQualifiers&&(e.policyQualifiers=Array.from(this.policyQualifiers,s=>s.toJSON())),e}};Sm.CLASS_NAME="PolicyInformation";var Nd="certificatePolicies",q_=[Nd],vm=class t extends q{constructor(e={}){super(),this.certificatePolicies=y(e,Nd,t.defaultValues(Nd)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Nd:return [];default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||b,value:[new Ae({name:s.certificatePolicies||b,value:Sm.schema()})]})}fromSchema(e){W(e,q_);let s=K(e,e,t.schema({names:{certificatePolicies:Nd}}));M.assertSchema(s,this.className),this.certificatePolicies=Array.from(s.result.certificatePolicies,r=>new Sm({schema:r}));}toSchema(){return new T({value:Array.from(this.certificatePolicies,e=>e.toSchema())})}toJSON(){return {certificatePolicies:Array.from(this.certificatePolicies,e=>e.toJSON())}}};vm.CLASS_NAME="CertificatePolicies";var Td="templateID",xn="templateMajorVersion",An="templateMinorVersion",F_=[Td,xn,An],QA=class t extends q{constructor(e={}){super(),this.templateID=y(e,Td,t.defaultValues(Td)),xn in e&&(this.templateMajorVersion=y(e,xn,t.defaultValues(xn))),An in e&&(this.templateMinorVersion=y(e,An,t.defaultValues(An))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Td:return b;case xn:case An:return 0;default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||b,value:[new ae({name:s.templateID||b}),new U({name:s.templateMajorVersion||b,optional:!0}),new U({name:s.templateMinorVersion||b,optional:!0})]})}fromSchema(e){W(e,F_);let s=K(e,e,t.schema({names:{templateID:Td,templateMajorVersion:xn,templateMinorVersion:An}}));M.assertSchema(s,this.className),this.templateID=s.result.templateID.valueBlock.toString(),xn in s.result&&(this.templateMajorVersion=s.result.templateMajorVersion.valueBlock.valueDec),An in s.result&&(this.templateMinorVersion=s.result.templateMinorVersion.valueBlock.valueDec);}toSchema(){let e=[];return e.push(new ae({value:this.templateID})),xn in this&&e.push(new U({value:this.templateMajorVersion})),An in this&&e.push(new U({value:this.templateMinorVersion})),new T({value:e})}toJSON(){let e={templateID:this.templateID};return xn in this&&(e.templateMajorVersion=this.templateMajorVersion),An in this&&(e.templateMinorVersion=this.templateMinorVersion),e}},vo="distributionPoint",hk="distributionPointNames",Eo="reasons",xo="cRLIssuer",dk="cRLIssuerNames",K_=[vo,hk,Eo,xo,dk],Em=class t extends q{constructor(e={}){super(),vo in e&&(this.distributionPoint=y(e,vo,t.defaultValues(vo))),Eo in e&&(this.reasons=y(e,Eo,t.defaultValues(Eo))),xo in e&&(this.cRLIssuer=y(e,xo,t.defaultValues(xo))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case vo:return [];case Eo:return new _e;case xo:return [];default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||b,value:[new L({optional:!0,idBlock:{tagClass:3,tagNumber:0},value:[new ut({value:[new L({name:s.distributionPoint||b,optional:!0,idBlock:{tagClass:3,tagNumber:0},value:[new Ae({name:s.distributionPointNames||b,value:it.schema()})]}),new L({name:s.distributionPoint||b,optional:!0,idBlock:{tagClass:3,tagNumber:1},value:lt.schema().valueBlock.value})]})]}),new we({name:s.reasons||b,optional:!0,idBlock:{tagClass:3,tagNumber:1}}),new L({name:s.cRLIssuer||b,optional:!0,idBlock:{tagClass:3,tagNumber:2},value:[new Ae({name:s.cRLIssuerNames||b,value:it.schema()})]})]})}fromSchema(e){W(e,K_);let s=K(e,e,t.schema({names:{distributionPoint:vo,distributionPointNames:hk,reasons:Eo,cRLIssuer:xo,cRLIssuerNames:dk}}));M.assertSchema(s,this.className),vo in s.result&&(s.result.distributionPoint.idBlock.tagNumber===0&&(this.distributionPoint=Array.from(s.result.distributionPointNames,r=>new it({schema:r}))),s.result.distributionPoint.idBlock.tagNumber===1&&(this.distributionPoint=new lt({schema:new T({value:s.result.distributionPoint.valueBlock.value})}))),Eo in s.result&&(this.reasons=new _e({valueHex:s.result.reasons.valueBlock.valueHex})),xo in s.result&&(this.cRLIssuer=Array.from(s.result.cRLIssuerNames,r=>new it({schema:r})));}toSchema(){let e=[];if(this.distributionPoint){let s;this.distributionPoint instanceof Array?s=new L({idBlock:{tagClass:3,tagNumber:0},value:Array.from(this.distributionPoint,r=>r.toSchema())}):s=new L({idBlock:{tagClass:3,tagNumber:1},value:[this.distributionPoint.toSchema()]}),e.push(new L({idBlock:{tagClass:3,tagNumber:0},value:[s]}));}return this.reasons&&e.push(new we({idBlock:{tagClass:3,tagNumber:1},valueHex:this.reasons.valueBlock.valueHexView})),this.cRLIssuer&&e.push(new L({idBlock:{tagClass:3,tagNumber:2},value:Array.from(this.cRLIssuer,s=>s.toSchema())})),new T({value:e})}toJSON(){let e={};return this.distributionPoint&&(this.distributionPoint instanceof Array?e.distributionPoint=Array.from(this.distributionPoint,s=>s.toJSON()):e.distributionPoint=this.distributionPoint.toJSON()),this.reasons&&(e.reasons=this.reasons.toJSON()),this.cRLIssuer&&(e.cRLIssuer=Array.from(this.cRLIssuer,s=>s.toJSON())),e}};Em.CLASS_NAME="DistributionPoint";var kd="distributionPoints",G_=[kd],xm=class t extends q{constructor(e={}){super(),this.distributionPoints=y(e,kd,t.defaultValues(kd)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case kd:return [];default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||b,value:[new Ae({name:s.distributionPoints||b,value:Em.schema()})]})}fromSchema(e){W(e,G_);let s=K(e,e,t.schema({names:{distributionPoints:kd}}));M.assertSchema(s,this.className),this.distributionPoints=Array.from(s.result.distributionPoints,r=>new Em({schema:r}));}toSchema(){return new T({value:Array.from(this.distributionPoints,e=>e.toSchema())})}toJSON(){return {distributionPoints:Array.from(this.distributionPoints,e=>e.toJSON())}}};xm.CLASS_NAME="CRLDistributionPoints";var Bd="keyPurposes",W_=[Bd],Yw=class t extends q{constructor(e={}){super(),this.keyPurposes=y(e,Bd,t.defaultValues(Bd)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Bd:return [];default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||b,value:[new Ae({name:s.keyPurposes||b,value:new ae})]})}fromSchema(e){W(e,W_);let s=K(e,e,t.schema({names:{keyPurposes:Bd}}));M.assertSchema(s,this.className),this.keyPurposes=Array.from(s.result.keyPurposes,r=>r.valueBlock.toString());}toSchema(){return new T({value:Array.from(this.keyPurposes,e=>new ae({value:e}))})}toJSON(){return {keyPurposes:Array.from(this.keyPurposes)}}};Yw.CLASS_NAME="ExtKeyUsage";var cd="accessDescriptions",Am=class t extends q{constructor(e={}){super(),this.accessDescriptions=y(e,cd,t.defaultValues(cd)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case cd:return [];default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||b,value:[new Ae({name:s.accessDescriptions||b,value:pm.schema()})]})}fromSchema(e){W(e,[cd]);let s=K(e,e,t.schema({names:{accessDescriptions:cd}}));M.assertSchema(s,this.className),this.accessDescriptions=Array.from(s.result.accessDescriptions,r=>new pm({schema:r}));}toSchema(){return new T({value:Array.from(this.accessDescriptions,e=>e.toSchema())})}toJSON(){return {accessDescriptions:Array.from(this.accessDescriptions,e=>e.toJSON())}}};Am.CLASS_NAME="InfoAccess";var Ao="distributionPoint",mk="distributionPointNames",Oi="onlyContainsUserCerts",Ri="onlyContainsCACerts",Li="onlySomeReasons",Di="indirectCRL",Vi="onlyContainsAttributeCerts",J_=[Ao,mk,Oi,Ri,Li,Di,Vi],Zw=class t extends q{constructor(e={}){super(),Ao in e&&(this.distributionPoint=y(e,Ao,t.defaultValues(Ao))),this.onlyContainsUserCerts=y(e,Oi,t.defaultValues(Oi)),this.onlyContainsCACerts=y(e,Ri,t.defaultValues(Ri)),Li in e&&(this.onlySomeReasons=y(e,Li,t.defaultValues(Li))),this.indirectCRL=y(e,Di,t.defaultValues(Di)),this.onlyContainsAttributeCerts=y(e,Vi,t.defaultValues(Vi)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Ao:return [];case Oi:return !1;case Ri:return !1;case Li:return 0;case Di:return !1;case Vi:return !1;default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||b,value:[new L({optional:!0,idBlock:{tagClass:3,tagNumber:0},value:[new ut({value:[new L({name:s.distributionPoint||b,idBlock:{tagClass:3,tagNumber:0},value:[new Ae({name:s.distributionPointNames||b,value:it.schema()})]}),new L({name:s.distributionPoint||b,idBlock:{tagClass:3,tagNumber:1},value:lt.schema().valueBlock.value})]})]}),new we({name:s.onlyContainsUserCerts||b,optional:!0,idBlock:{tagClass:3,tagNumber:1}}),new we({name:s.onlyContainsCACerts||b,optional:!0,idBlock:{tagClass:3,tagNumber:2}}),new we({name:s.onlySomeReasons||b,optional:!0,idBlock:{tagClass:3,tagNumber:3}}),new we({name:s.indirectCRL||b,optional:!0,idBlock:{tagClass:3,tagNumber:4}}),new we({name:s.onlyContainsAttributeCerts||b,optional:!0,idBlock:{tagClass:3,tagNumber:5}})]})}fromSchema(e){W(e,J_);let s=K(e,e,t.schema({names:{distributionPoint:Ao,distributionPointNames:mk,onlyContainsUserCerts:Oi,onlyContainsCACerts:Ri,onlySomeReasons:Li,indirectCRL:Di,onlyContainsAttributeCerts:Vi}}));if(M.assertSchema(s,this.className),Ao in s.result)switch(!0){case s.result.distributionPoint.idBlock.tagNumber===0:this.distributionPoint=Array.from(s.result.distributionPointNames,r=>new it({schema:r}));break;case s.result.distributionPoint.idBlock.tagNumber===1:this.distributionPoint=new lt({schema:new T({value:s.result.distributionPoint.valueBlock.value})});break;default:throw new Error("Unknown tagNumber for distributionPoint: {$asn1.result.distributionPoint.idBlock.tagNumber}")}if(Oi in s.result){let r=new Uint8Array(s.result.onlyContainsUserCerts.valueBlock.valueHex);this.onlyContainsUserCerts=r[0]!==0;}if(Ri in s.result){let r=new Uint8Array(s.result.onlyContainsCACerts.valueBlock.valueHex);this.onlyContainsCACerts=r[0]!==0;}if(Li in s.result){let r=new Uint8Array(s.result.onlySomeReasons.valueBlock.valueHex);this.onlySomeReasons=r[0];}if(Di in s.result){let r=new Uint8Array(s.result.indirectCRL.valueBlock.valueHex);this.indirectCRL=r[0]!==0;}if(Vi in s.result){let r=new Uint8Array(s.result.onlyContainsAttributeCerts.valueBlock.valueHex);this.onlyContainsAttributeCerts=r[0]!==0;}}toSchema(){let e=[];if(this.distributionPoint){let s;this.distributionPoint instanceof Array?s=new L({idBlock:{tagClass:3,tagNumber:0},value:Array.from(this.distributionPoint,r=>r.toSchema())}):(s=this.distributionPoint.toSchema(),s.idBlock.tagClass=3,s.idBlock.tagNumber=1),e.push(new L({idBlock:{tagClass:3,tagNumber:0},value:[s]}));}if(this.onlyContainsUserCerts!==t.defaultValues(Oi)&&e.push(new we({idBlock:{tagClass:3,tagNumber:1},valueHex:new Uint8Array([255]).buffer})),this.onlyContainsCACerts!==t.defaultValues(Ri)&&e.push(new we({idBlock:{tagClass:3,tagNumber:2},valueHex:new Uint8Array([255]).buffer})),this.onlySomeReasons!==void 0){let s=new ArrayBuffer(1),r=new Uint8Array(s);r[0]=this.onlySomeReasons,e.push(new we({idBlock:{tagClass:3,tagNumber:3},valueHex:s}));}return this.indirectCRL!==t.defaultValues(Di)&&e.push(new we({idBlock:{tagClass:3,tagNumber:4},valueHex:new Uint8Array([255]).buffer})),this.onlyContainsAttributeCerts!==t.defaultValues(Vi)&&e.push(new we({idBlock:{tagClass:3,tagNumber:5},valueHex:new Uint8Array([255]).buffer})),new T({value:e})}toJSON(){let e={};return this.distributionPoint&&(this.distributionPoint instanceof Array?e.distributionPoint=Array.from(this.distributionPoint,s=>s.toJSON()):e.distributionPoint=this.distributionPoint.toJSON()),this.onlyContainsUserCerts!==t.defaultValues(Oi)&&(e.onlyContainsUserCerts=this.onlyContainsUserCerts),this.onlyContainsCACerts!==t.defaultValues(Ri)&&(e.onlyContainsCACerts=this.onlyContainsCACerts),Li in this&&(e.onlySomeReasons=this.onlySomeReasons),this.indirectCRL!==t.defaultValues(Di)&&(e.indirectCRL=this.indirectCRL),this.onlyContainsAttributeCerts!==t.defaultValues(Vi)&&(e.onlyContainsAttributeCerts=this.onlyContainsAttributeCerts),e}};Zw.CLASS_NAME="IssuingDistributionPoint";var Pd="base",_u="minimum",Ui="maximum",z_=[Pd,_u,Ui],Sc=class t extends q{constructor(e={}){super(),this.base=y(e,Pd,t.defaultValues(Pd)),this.minimum=y(e,_u,t.defaultValues(_u)),Ui in e&&(this.maximum=y(e,Ui,t.defaultValues(Ui))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Pd:return new it;case _u:return 0;case Ui:return 0;default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||b,value:[it.schema(s.base||{}),new L({optional:!0,idBlock:{tagClass:3,tagNumber:0},value:[new U({name:s.minimum||b})]}),new L({optional:!0,idBlock:{tagClass:3,tagNumber:1},value:[new U({name:s.maximum||b})]})]})}fromSchema(e){W(e,z_);let s=K(e,e,t.schema({names:{base:{names:{blockName:Pd}},minimum:_u,maximum:Ui}}));M.assertSchema(s,this.className),this.base=new it({schema:s.result.base}),_u in s.result&&(s.result.minimum.valueBlock.isHexOnly?this.minimum=s.result.minimum:this.minimum=s.result.minimum.valueBlock.valueDec),Ui in s.result&&(s.result.maximum.valueBlock.isHexOnly?this.maximum=s.result.maximum:this.maximum=s.result.maximum.valueBlock.valueDec);}toSchema(){let e=[];if(e.push(this.base.toSchema()),this.minimum!==0){let s=0;this.minimum instanceof U?s=this.minimum:s=new U({value:this.minimum}),e.push(new L({optional:!0,idBlock:{tagClass:3,tagNumber:0},value:[s]}));}if(Ui in this){let s=0;this.maximum instanceof U?s=this.maximum:s=new U({value:this.maximum}),e.push(new L({optional:!0,idBlock:{tagClass:3,tagNumber:1},value:[s]}));}return new T({value:e})}toJSON(){let e={base:this.base.toJSON()};return this.minimum!==0&&(typeof this.minimum=="number"?e.minimum=this.minimum:e.minimum=this.minimum.toJSON()),this.maximum!==void 0&&(typeof this.maximum=="number"?e.maximum=this.maximum:e.maximum=this.maximum.toJSON()),e}};Sc.CLASS_NAME="GeneralSubtree";var Io="permittedSubtrees",Co="excludedSubtrees",Y_=[Io,Co],Xw=class t extends q{constructor(e={}){super(),Io in e&&(this.permittedSubtrees=y(e,Io,t.defaultValues(Io))),Co in e&&(this.excludedSubtrees=y(e,Co,t.defaultValues(Co))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Io:case Co:return [];default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||b,value:[new L({optional:!0,idBlock:{tagClass:3,tagNumber:0},value:[new Ae({name:s.permittedSubtrees||b,value:Sc.schema()})]}),new L({optional:!0,idBlock:{tagClass:3,tagNumber:1},value:[new Ae({name:s.excludedSubtrees||b,value:Sc.schema()})]})]})}fromSchema(e){W(e,Y_);let s=K(e,e,t.schema({names:{permittedSubtrees:Io,excludedSubtrees:Co}}));M.assertSchema(s,this.className),Io in s.result&&(this.permittedSubtrees=Array.from(s.result.permittedSubtrees,r=>new Sc({schema:r}))),Co in s.result&&(this.excludedSubtrees=Array.from(s.result.excludedSubtrees,r=>new Sc({schema:r})));}toSchema(){let e=[];return this.permittedSubtrees&&e.push(new L({idBlock:{tagClass:3,tagNumber:0},value:Array.from(this.permittedSubtrees,s=>s.toSchema())})),this.excludedSubtrees&&e.push(new L({idBlock:{tagClass:3,tagNumber:1},value:Array.from(this.excludedSubtrees,s=>s.toSchema())})),new T({value:e})}toJSON(){let e={};return this.permittedSubtrees&&(e.permittedSubtrees=Array.from(this.permittedSubtrees,s=>s.toJSON())),this.excludedSubtrees&&(e.excludedSubtrees=Array.from(this.excludedSubtrees,s=>s.toJSON())),e}};Xw.CLASS_NAME="NameConstraints";var In="requireExplicitPolicy",Cn="inhibitPolicyMapping",Z_=[In,Cn],Qw=class t extends q{constructor(e={}){super(),In in e&&(this.requireExplicitPolicy=y(e,In,t.defaultValues(In))),Cn in e&&(this.inhibitPolicyMapping=y(e,Cn,t.defaultValues(Cn))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case In:return 0;case Cn:return 0;default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||b,value:[new we({name:s.requireExplicitPolicy||b,optional:!0,idBlock:{tagClass:3,tagNumber:0}}),new we({name:s.inhibitPolicyMapping||b,optional:!0,idBlock:{tagClass:3,tagNumber:1}})]})}fromSchema(e){W(e,Z_);let s=K(e,e,t.schema({names:{requireExplicitPolicy:In,inhibitPolicyMapping:Cn}}));if(M.assertSchema(s,this.className),In in s.result){let r=s.result.requireExplicitPolicy;r.idBlock.tagClass=1,r.idBlock.tagNumber=2;let n=r.toBER(!1),i=Ot(n);M.assert(i,"Integer"),this.requireExplicitPolicy=i.result.valueBlock.valueDec;}if(Cn in s.result){let r=s.result.inhibitPolicyMapping;r.idBlock.tagClass=1,r.idBlock.tagNumber=2;let n=r.toBER(!1),i=Ot(n);M.assert(i,"Integer"),this.inhibitPolicyMapping=i.result.valueBlock.valueDec;}}toSchema(){let e=[];if(In in this){let s=new U({value:this.requireExplicitPolicy});s.idBlock.tagClass=3,s.idBlock.tagNumber=0,e.push(s);}if(Cn in this){let s=new U({value:this.inhibitPolicyMapping});s.idBlock.tagClass=3,s.idBlock.tagNumber=1,e.push(s);}return new T({value:e})}toJSON(){let e={};return In in this&&(e.requireExplicitPolicy=this.requireExplicitPolicy),Cn in this&&(e.inhibitPolicyMapping=this.inhibitPolicyMapping),e}};Qw.CLASS_NAME="PolicyConstraints";var Od="issuerDomainPolicy",Rd="subjectDomainPolicy",X_=[Od,Rd],Im=class t extends q{constructor(e={}){super(),this.issuerDomainPolicy=y(e,Od,t.defaultValues(Od)),this.subjectDomainPolicy=y(e,Rd,t.defaultValues(Rd)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Od:return b;case Rd:return b;default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||b,value:[new ae({name:s.issuerDomainPolicy||b}),new ae({name:s.subjectDomainPolicy||b})]})}fromSchema(e){W(e,X_);let s=K(e,e,t.schema({names:{issuerDomainPolicy:Od,subjectDomainPolicy:Rd}}));M.assertSchema(s,this.className),this.issuerDomainPolicy=s.result.issuerDomainPolicy.valueBlock.toString(),this.subjectDomainPolicy=s.result.subjectDomainPolicy.valueBlock.toString();}toSchema(){return new T({value:[new ae({value:this.issuerDomainPolicy}),new ae({value:this.subjectDomainPolicy})]})}toJSON(){return {issuerDomainPolicy:this.issuerDomainPolicy,subjectDomainPolicy:this.subjectDomainPolicy}}};Im.CLASS_NAME="PolicyMapping";var Ld="mappings",Q_=[Ld],eb=class t extends q{constructor(e={}){super(),this.mappings=y(e,Ld,t.defaultValues(Ld)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Ld:return [];default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||b,value:[new Ae({name:s.mappings||b,value:Im.schema()})]})}fromSchema(e){W(e,Q_);let s=K(e,e,t.schema({names:{mappings:Ld}}));M.assertSchema(s,this.className),this.mappings=Array.from(s.result.mappings,r=>new Im({schema:r}));}toSchema(){return new T({value:Array.from(this.mappings,e=>e.toSchema())})}toJSON(){return {mappings:Array.from(this.mappings,e=>e.toJSON())}}};eb.CLASS_NAME="PolicyMappings";var _i="notBefore",Hi="notAfter",eH=[_i,Hi],tb=class t extends q{constructor(e={}){super(),_i in e&&(this.notBefore=y(e,_i,t.defaultValues(_i))),Hi in e&&(this.notAfter=y(e,Hi,t.defaultValues(Hi))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case _i:return new Date;case Hi:return new Date;default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||b,value:[new we({name:s.notBefore||b,optional:!0,idBlock:{tagClass:3,tagNumber:0}}),new we({name:s.notAfter||b,optional:!0,idBlock:{tagClass:3,tagNumber:1}})]})}fromSchema(e){W(e,eH);let s=K(e,e,t.schema({names:{notBefore:_i,notAfter:Hi}}));if(M.assertSchema(s,this.className),_i in s.result){let r=new ct;r.fromBuffer(s.result.notBefore.valueBlock.valueHex),this.notBefore=r.toDate();}if(Hi in s.result){let r=new ct({valueHex:s.result.notAfter.valueBlock.valueHex});r.fromBuffer(s.result.notAfter.valueBlock.valueHex),this.notAfter=r.toDate();}}toSchema(){let e=[];return _i in this&&e.push(new we({idBlock:{tagClass:3,tagNumber:0},valueHex:new ct({valueDate:this.notBefore}).valueBlock.valueHexView})),Hi in this&&e.push(new we({idBlock:{tagClass:3,tagNumber:1},valueHex:new ct({valueDate:this.notAfter}).valueBlock.valueHexView})),new T({value:e})}toJSON(){let e={};return this.notBefore&&(e.notBefore=this.notBefore),this.notAfter&&(e.notAfter=this.notAfter),e}};tb.CLASS_NAME="PrivateKeyUsagePeriod";var Hu="id",Nn="type",ju="values",tH=[Hu,Nn],sH=[ju],Cm=class t extends q{constructor(e={}){super(),this.id=y(e,Hu,t.defaultValues(Hu)),Nn in e&&(this.type=y(e,Nn,t.defaultValues(Nn))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Hu:return b;case Nn:return new wt;default:return super.defaultValues(e)}}static compareWithDefault(e,s){switch(e){case Hu:return s===b;case Nn:return s instanceof wt;default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||b,value:[new ae({name:s.id||b}),new be({name:s.type||b,optional:!0})]})}fromSchema(e){W(e,tH);let s=K(e,e,t.schema({names:{id:Hu,type:Nn}}));M.assertSchema(s,this.className),this.id=s.result.id.valueBlock.toString(),Nn in s.result&&(this.type=s.result.type);}toSchema(){let e=[new ae({value:this.id})];return Nn in this&&e.push(this.type),new T({value:e})}toJSON(){let e={id:this.id};return this.type&&(e.type=this.type.toJSON()),e}};Cm.CLASS_NAME="QCStatement";var sb=class t extends q{constructor(e={}){super(),this.values=y(e,ju,t.defaultValues(ju)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case ju:return [];default:return super.defaultValues(e)}}static compareWithDefault(e,s){switch(e){case ju:return s.length===0;default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||b,value:[new Ae({name:s.values||b,value:Cm.schema(s.value||{})})]})}fromSchema(e){W(e,sH);let s=K(e,e,t.schema({names:{values:ju}}));M.assertSchema(s,this.className),this.values=Array.from(s.result.values,r=>new Cm({schema:r}));}toSchema(){return new T({value:Array.from(this.values,e=>e.toSchema())})}toJSON(){return {values:Array.from(this.values,e=>e.toJSON())}}};sb.CLASS_NAME="QCStatements";var No,$r=class{static register(e,s,r){this.namedCurves[e.toLowerCase()]=this.namedCurves[s]={name:e,id:s,size:r};}static find(e){return this.namedCurves[e.toLowerCase()]||null}};No=$r;$r.namedCurves={};No.register("P-256","1.2.840.10045.3.1.7",32),No.register("P-384","1.3.132.0.34",48),No.register("P-521","1.3.132.0.35",66),No.register("brainpoolP256r1","1.3.36.3.3.2.8.1.1.7",32),No.register("brainpoolP384r1","1.3.36.3.3.2.8.1.1.11",48),No.register("brainpoolP512r1","1.3.36.3.3.2.8.1.1.13",64);var Jy="x",zy="y",Yy="namedCurve",Er=class t extends q{constructor(e={}){super(),this.x=y(e,Jy,t.defaultValues(Jy)),this.y=y(e,zy,t.defaultValues(zy)),this.namedCurve=y(e,Yy,t.defaultValues(Yy)),e.json&&this.fromJSON(e.json),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Jy:case zy:return kt;case Yy:return b;default:return super.defaultValues(e)}}static compareWithDefault(e,s){switch(e){case Jy:case zy:return s instanceof ArrayBuffer&&wi(s,t.defaultValues(e));case Yy:return typeof s=="string"&&s===t.defaultValues(e);default:return super.defaultValues(e)}}static schema(){return new lo}fromSchema(e){let s=lf.BufferSourceConverter.toUint8Array(e);if(s[0]!==4)throw new Error("Object's schema was not verified against input data for ECPublicKey");let r=$r.find(this.namedCurve);if(!r)throw new Error(`Incorrect curve OID: ${this.namedCurve}`);let n=r.size;if(s.byteLength!==n*2+1)throw new Error("Object's schema was not verified against input data for ECPublicKey");this.namedCurve=r.name,this.x=s.slice(1,n+1).buffer,this.y=s.slice(1+n,n*2+1).buffer;}toSchema(){return new lo({data:ao(new Uint8Array([4]).buffer,this.x,this.y)})}toJSON(){let e=$r.find(this.namedCurve);return {crv:e?e.name:this.namedCurve,x:my(zh(this.x),!0,!0,!1),y:my(zh(this.y),!0,!0,!1)}}fromJSON(e){Qe.assert("json",e,"crv","x","y");let s=0,r=$r.find(e.crv);r&&(this.namedCurve=r.id,s=r.size);let n=oo(xu(e.x,!0));if(n.byteLength<s){this.x=new ArrayBuffer(s);let a=new Uint8Array(this.x),o=new Uint8Array(n);a.set(o,1);}else this.x=n.slice(0,s);let i=oo(xu(e.y,!0));if(i.byteLength<s){this.y=new ArrayBuffer(s);let a=new Uint8Array(this.y),o=new Uint8Array(i);a.set(o,1);}else this.y=i.slice(0,s);}};Er.CLASS_NAME="ECPublicKey";var Dd="modulus",Vd="publicExponent",rH=[Dd,Vd],Nm=class t extends q{constructor(e={}){super(),this.modulus=y(e,Dd,t.defaultValues(Dd)),this.publicExponent=y(e,Vd,t.defaultValues(Vd)),e.json&&this.fromJSON(e.json),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Dd:return new U;case Vd:return new U;default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||b,value:[new U({name:s.modulus||b}),new U({name:s.publicExponent||b})]})}fromSchema(e){W(e,rH);let s=K(e,e,t.schema({names:{modulus:Dd,publicExponent:Vd}}));M.assertSchema(s,this.className),this.modulus=s.result.modulus.convertFromDER(256),this.publicExponent=s.result.publicExponent;}toSchema(){return new T({value:[this.modulus.convertToDER(),this.publicExponent]})}toJSON(){return {n:Se.Convert.ToBase64Url(this.modulus.valueBlock.valueHexView),e:Se.Convert.ToBase64Url(this.publicExponent.valueBlock.valueHexView)}}fromJSON(e){Qe.assert("json",e,"n","e");let s=oo(xu(e.n,!0));this.modulus=new U({valueHex:s.slice(0,Math.pow(2,jT(s.byteLength)))}),this.publicExponent=new U({valueHex:oo(xu(e.e,!0)).slice(0,3)});}};Nm.CLASS_NAME="RSAPublicKey";var Ud="algorithm",_d="subjectPublicKey",nH=[Ud,_d],Gs=class t extends q{get parsedKey(){if(this._parsedKey===void 0){switch(this.algorithm.algorithmId){case"1.2.840.10045.2.1":if("algorithmParams"in this.algorithm&&this.algorithm.algorithmParams.constructor.blockName()===ae.blockName())try{this._parsedKey=new Er({namedCurve:this.algorithm.algorithmParams.valueBlock.toString(),schema:this.subjectPublicKey.valueBlock.valueHexView});}catch{}break;case"1.2.840.113549.1.1.1":{let e=Ot(this.subjectPublicKey.valueBlock.valueHexView);if(e.offset!==-1)try{this._parsedKey=new Nm({schema:e.result});}catch{}}break}this._parsedKey||(this._parsedKey=null);}return this._parsedKey||void 0}set parsedKey(e){this._parsedKey=e;}constructor(e={}){super(),this.algorithm=y(e,Ud,t.defaultValues(Ud)),this.subjectPublicKey=y(e,_d,t.defaultValues(_d));let s=y(e,"parsedKey",null);s&&(this.parsedKey=s),e.json&&this.fromJSON(e.json),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Ud:return new _;case _d:return new _e;default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||b,value:[_.schema(s.algorithm||{}),new _e({name:s.subjectPublicKey||b})]})}fromSchema(e){W(e,nH);let s=K(e,e,t.schema({names:{algorithm:{names:{blockName:Ud}},subjectPublicKey:_d}}));M.assertSchema(s,this.className),this.algorithm=new _({schema:s.result.algorithm}),this.subjectPublicKey=s.result.subjectPublicKey;}toSchema(){return new T({value:[this.algorithm.toSchema(),this.subjectPublicKey]})}toJSON(){if(!this.parsedKey)return {algorithm:this.algorithm.toJSON(),subjectPublicKey:this.subjectPublicKey.toJSON()};let e={};switch(this.algorithm.algorithmId){case"1.2.840.10045.2.1":e.kty="EC";break;case"1.2.840.113549.1.1.1":e.kty="RSA";break}let s=this.parsedKey.toJSON();return Object.assign(e,s),e}fromJSON(e){if("kty"in e){switch(e.kty.toUpperCase()){case"EC":this.parsedKey=new Er({json:e}),this.algorithm=new _({algorithmId:"1.2.840.10045.2.1",algorithmParams:new ae({value:this.parsedKey.namedCurve})});break;case"RSA":this.parsedKey=new Nm({json:e}),this.algorithm=new _({algorithmId:"1.2.840.113549.1.1.1",algorithmParams:new wt});break;default:throw new Error(`Invalid value for "kty" parameter: ${e.kty}`)}this.subjectPublicKey=new _e({valueHex:this.parsedKey.toSchema().toBER(!1)});}}async importKey(e,s=Ve(!0)){try{if(!e)throw new Error("Need to provide publicKey input parameter");let r=await s.exportKey("spki",e),n=Ot(r);try{this.fromSchema(n.result);}catch{throw new Error("Error during initializing object from schema")}}catch(r){let n=r instanceof Error?r.message:`${r}`;throw new Error(`Error during exporting public key: ${n}`)}}};Gs.CLASS_NAME="PublicKeyInfo";var Mu="version",$u="privateKey",yr="namedCurve",ji="publicKey",iH=[Mu,$u,yr,ji],Tm=class t extends q{constructor(e={}){super(),this.version=y(e,Mu,t.defaultValues(Mu)),this.privateKey=y(e,$u,t.defaultValues($u)),yr in e&&(this.namedCurve=y(e,yr,t.defaultValues(yr))),ji in e&&(this.publicKey=y(e,ji,t.defaultValues(ji))),e.json&&this.fromJSON(e.json),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Mu:return 1;case $u:return new z;case yr:return b;case ji:return new Er;default:return super.defaultValues(e)}}static compareWithDefault(e,s){switch(e){case Mu:return s===t.defaultValues(e);case $u:return s.isEqual(t.defaultValues(e));case yr:return s===b;case ji:return Er.compareWithDefault(yr,s.namedCurve)&&Er.compareWithDefault("x",s.x)&&Er.compareWithDefault("y",s.y);default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||b,value:[new U({name:s.version||b}),new z({name:s.privateKey||b}),new L({optional:!0,idBlock:{tagClass:3,tagNumber:0},value:[new ae({name:s.namedCurve||b})]}),new L({optional:!0,idBlock:{tagClass:3,tagNumber:1},value:[new _e({name:s.publicKey||b})]})]})}fromSchema(e){W(e,iH);let s=K(e,e,t.schema({names:{version:Mu,privateKey:$u,namedCurve:yr,publicKey:ji}}));if(M.assertSchema(s,this.className),this.version=s.result.version.valueBlock.valueDec,this.privateKey=s.result.privateKey,yr in s.result&&(this.namedCurve=s.result.namedCurve.valueBlock.toString()),ji in s.result){let r={schema:s.result.publicKey.valueBlock.valueHex};yr in this&&(r.namedCurve=this.namedCurve),this.publicKey=new Er(r);}}toSchema(){let e=[new U({value:this.version}),this.privateKey];return this.namedCurve&&e.push(new L({idBlock:{tagClass:3,tagNumber:0},value:[new ae({value:this.namedCurve})]})),this.publicKey&&e.push(new L({idBlock:{tagClass:3,tagNumber:1},value:[new _e({valueHex:this.publicKey.toSchema().toBER(!1)})]})),new T({value:e})}toJSON(){if(!this.namedCurve||t.compareWithDefault(yr,this.namedCurve))throw new Error('Not enough information for making JSON: absent "namedCurve" value');let e=$r.find(this.namedCurve),s={crv:e?e.name:this.namedCurve,d:Se.Convert.ToBase64Url(this.privateKey.valueBlock.valueHexView)};if(this.publicKey){let r=this.publicKey.toJSON();s.x=r.x,s.y=r.y;}return s}fromJSON(e){Qe.assert("json",e,"crv","d");let s=0,r=$r.find(e.crv);r&&(this.namedCurve=r.id,s=r.size);let n=Se.Convert.FromBase64Url(e.d);if(n.byteLength<s){let i=new ArrayBuffer(s),a=new Uint8Array(i),o=new Uint8Array(n);a.set(o,1),this.privateKey=new z({valueHex:i});}else this.privateKey=new z({valueHex:n.slice(0,s)});e.x&&e.y&&(this.publicKey=new Er({json:e}));}};Tm.CLASS_NAME="ECPrivateKey";var Hd="prime",jd="exponent",Md="coefficient",aH=[Hd,jd,Md],tf=class t extends q{constructor(e={}){super(),this.prime=y(e,Hd,t.defaultValues(Hd)),this.exponent=y(e,jd,t.defaultValues(jd)),this.coefficient=y(e,Md,t.defaultValues(Md)),e.json&&this.fromJSON(e.json),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Hd:return new U;case jd:return new U;case Md:return new U;default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||b,value:[new U({name:s.prime||b}),new U({name:s.exponent||b}),new U({name:s.coefficient||b})]})}fromSchema(e){W(e,aH);let s=K(e,e,t.schema({names:{prime:Hd,exponent:jd,coefficient:Md}}));M.assertSchema(s,this.className),this.prime=s.result.prime.convertFromDER(),this.exponent=s.result.exponent.convertFromDER(),this.coefficient=s.result.coefficient.convertFromDER();}toSchema(){return new T({value:[this.prime.convertToDER(),this.exponent.convertToDER(),this.coefficient.convertToDER()]})}toJSON(){return {r:Se.Convert.ToBase64Url(this.prime.valueBlock.valueHexView),d:Se.Convert.ToBase64Url(this.exponent.valueBlock.valueHexView),t:Se.Convert.ToBase64Url(this.coefficient.valueBlock.valueHexView)}}fromJSON(e){Qe.assert("json",e,"r","d","r"),this.prime=new U({valueHex:Se.Convert.FromBase64Url(e.r)}),this.exponent=new U({valueHex:Se.Convert.FromBase64Url(e.d)}),this.coefficient=new U({valueHex:Se.Convert.FromBase64Url(e.t)});}};tf.CLASS_NAME="OtherPrimeInfo";var $d="version",qd="modulus",Fd="publicExponent",Kd="privateExponent",Gd="prime1",Wd="prime2",Jd="exponent1",zd="exponent2",Yd="coefficient",To="otherPrimeInfos",oH=[$d,qd,Fd,Kd,Gd,Wd,Jd,zd,Yd,To],km=class t extends q{constructor(e={}){super(),this.version=y(e,$d,t.defaultValues($d)),this.modulus=y(e,qd,t.defaultValues(qd)),this.publicExponent=y(e,Fd,t.defaultValues(Fd)),this.privateExponent=y(e,Kd,t.defaultValues(Kd)),this.prime1=y(e,Gd,t.defaultValues(Gd)),this.prime2=y(e,Wd,t.defaultValues(Wd)),this.exponent1=y(e,Jd,t.defaultValues(Jd)),this.exponent2=y(e,zd,t.defaultValues(zd)),this.coefficient=y(e,Yd,t.defaultValues(Yd)),To in e&&(this.otherPrimeInfos=y(e,To,t.defaultValues(To))),e.json&&this.fromJSON(e.json),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case $d:return 0;case qd:return new U;case Fd:return new U;case Kd:return new U;case Gd:return new U;case Wd:return new U;case Jd:return new U;case zd:return new U;case Yd:return new U;case To:return [];default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||b,value:[new U({name:s.version||b}),new U({name:s.modulus||b}),new U({name:s.publicExponent||b}),new U({name:s.privateExponent||b}),new U({name:s.prime1||b}),new U({name:s.prime2||b}),new U({name:s.exponent1||b}),new U({name:s.exponent2||b}),new U({name:s.coefficient||b}),new T({optional:!0,value:[new Ae({name:s.otherPrimeInfosName||b,value:tf.schema(s.otherPrimeInfo||{})})]})]})}fromSchema(e){W(e,oH);let s=K(e,e,t.schema({names:{version:$d,modulus:qd,publicExponent:Fd,privateExponent:Kd,prime1:Gd,prime2:Wd,exponent1:Jd,exponent2:zd,coefficient:Yd,otherPrimeInfo:{names:{blockName:To}}}}));M.assertSchema(s,this.className),this.version=s.result.version.valueBlock.valueDec,this.modulus=s.result.modulus.convertFromDER(256),this.publicExponent=s.result.publicExponent,this.privateExponent=s.result.privateExponent.convertFromDER(256),this.prime1=s.result.prime1.convertFromDER(128),this.prime2=s.result.prime2.convertFromDER(128),this.exponent1=s.result.exponent1.convertFromDER(128),this.exponent2=s.result.exponent2.convertFromDER(128),this.coefficient=s.result.coefficient.convertFromDER(128),To in s.result&&(this.otherPrimeInfos=Array.from(s.result.otherPrimeInfos,r=>new tf({schema:r})));}toSchema(){let e=[];return e.push(new U({value:this.version})),e.push(this.modulus.convertToDER()),e.push(this.publicExponent),e.push(this.privateExponent.convertToDER()),e.push(this.prime1.convertToDER()),e.push(this.prime2.convertToDER()),e.push(this.exponent1.convertToDER()),e.push(this.exponent2.convertToDER()),e.push(this.coefficient.convertToDER()),this.otherPrimeInfos&&e.push(new T({value:Array.from(this.otherPrimeInfos,s=>s.toSchema())})),new T({value:e})}toJSON(){let e={n:Se.Convert.ToBase64Url(this.modulus.valueBlock.valueHexView),e:Se.Convert.ToBase64Url(this.publicExponent.valueBlock.valueHexView),d:Se.Convert.ToBase64Url(this.privateExponent.valueBlock.valueHexView),p:Se.Convert.ToBase64Url(this.prime1.valueBlock.valueHexView),q:Se.Convert.ToBase64Url(this.prime2.valueBlock.valueHexView),dp:Se.Convert.ToBase64Url(this.exponent1.valueBlock.valueHexView),dq:Se.Convert.ToBase64Url(this.exponent2.valueBlock.valueHexView),qi:Se.Convert.ToBase64Url(this.coefficient.valueBlock.valueHexView)};return this.otherPrimeInfos&&(e.oth=Array.from(this.otherPrimeInfos,s=>s.toJSON())),e}fromJSON(e){Qe.assert("json",e,"n","e","d","p","q","dp","dq","qi"),this.modulus=new U({valueHex:Se.Convert.FromBase64Url(e.n)}),this.publicExponent=new U({valueHex:Se.Convert.FromBase64Url(e.e)}),this.privateExponent=new U({valueHex:Se.Convert.FromBase64Url(e.d)}),this.prime1=new U({valueHex:Se.Convert.FromBase64Url(e.p)}),this.prime2=new U({valueHex:Se.Convert.FromBase64Url(e.q)}),this.exponent1=new U({valueHex:Se.Convert.FromBase64Url(e.dp)}),this.exponent2=new U({valueHex:Se.Convert.FromBase64Url(e.dq)}),this.coefficient=new U({valueHex:Se.Convert.FromBase64Url(e.qi)}),e.oth&&(this.otherPrimeInfos=Array.from(e.oth,s=>new tf({json:s})));}};km.CLASS_NAME="RSAPrivateKey";var Zd="version",Xd="privateKeyAlgorithm",Qd="privateKey",ko="attributes",Zy="parsedKey",cH=[Zd,Xd,Qd,ko],Tc=class t extends q{constructor(e={}){super(),this.version=y(e,Zd,t.defaultValues(Zd)),this.privateKeyAlgorithm=y(e,Xd,t.defaultValues(Xd)),this.privateKey=y(e,Qd,t.defaultValues(Qd)),ko in e&&(this.attributes=y(e,ko,t.defaultValues(ko))),Zy in e&&(this.parsedKey=y(e,Zy,t.defaultValues(Zy))),e.json&&this.fromJSON(e.json),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Zd:return 0;case Xd:return new _;case Qd:return new z;case ko:return [];case Zy:return {};default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||b,value:[new U({name:s.version||b}),_.schema(s.privateKeyAlgorithm||{}),new z({name:s.privateKey||b}),new L({optional:!0,idBlock:{tagClass:3,tagNumber:0},value:[new Ae({name:s.attributes||b,value:xt.schema()})]})]})}fromSchema(e){W(e,cH);let s=K(e,e,t.schema({names:{version:Zd,privateKeyAlgorithm:{names:{blockName:Xd}},privateKey:Qd,attributes:ko}}));switch(M.assertSchema(s,this.className),this.version=s.result.version.valueBlock.valueDec,this.privateKeyAlgorithm=new _({schema:s.result.privateKeyAlgorithm}),this.privateKey=s.result.privateKey,ko in s.result&&(this.attributes=Array.from(s.result.attributes,r=>new xt({schema:r}))),this.privateKeyAlgorithm.algorithmId){case"1.2.840.113549.1.1.1":{let r=Ot(this.privateKey.valueBlock.valueHexView);r.offset!==-1&&(this.parsedKey=new km({schema:r.result}));}break;case"1.2.840.10045.2.1":if("algorithmParams"in this.privateKeyAlgorithm&&this.privateKeyAlgorithm.algorithmParams instanceof ae){let r=Ot(this.privateKey.valueBlock.valueHexView);r.offset!==-1&&(this.parsedKey=new Tm({namedCurve:this.privateKeyAlgorithm.algorithmParams.valueBlock.toString(),schema:r.result}));}break}}toSchema(){let e=[new U({value:this.version}),this.privateKeyAlgorithm.toSchema(),this.privateKey];return this.attributes&&e.push(new L({optional:!0,idBlock:{tagClass:3,tagNumber:0},value:Array.from(this.attributes,s=>s.toSchema())})),new T({value:e})}toJSON(){if(!this.parsedKey){let r={version:this.version,privateKeyAlgorithm:this.privateKeyAlgorithm.toJSON(),privateKey:this.privateKey.toJSON()};return this.attributes&&(r.attributes=Array.from(this.attributes,n=>n.toJSON())),r}let e={};switch(this.privateKeyAlgorithm.algorithmId){case"1.2.840.10045.2.1":e.kty="EC";break;case"1.2.840.113549.1.1.1":e.kty="RSA";break}let s=this.parsedKey.toJSON();return Object.assign(e,s),e}fromJSON(e){if("kty"in e){switch(e.kty.toUpperCase()){case"EC":this.parsedKey=new Tm({json:e}),this.privateKeyAlgorithm=new _({algorithmId:"1.2.840.10045.2.1",algorithmParams:new ae({value:this.parsedKey.namedCurve})});break;case"RSA":this.parsedKey=new km({json:e}),this.privateKeyAlgorithm=new _({algorithmId:"1.2.840.113549.1.1.1",algorithmParams:new wt});break;default:throw new Error(`Invalid value for "kty" parameter: ${e.kty}`)}this.privateKey=new z({valueHex:this.parsedKey.toSchema().toBER(!1)});}}};Tc.CLASS_NAME="PrivateKeyInfo";var qu="contentType",Fu="contentEncryptionAlgorithm",Bo="encryptedContent",uH=[qu,Fu,Bo],R4=1024,Yt=class t extends q{constructor(e={}){if(super(),this.contentType=y(e,qu,t.defaultValues(qu)),this.contentEncryptionAlgorithm=y(e,Fu,t.defaultValues(Fu)),Bo in e&&e.encryptedContent&&(this.encryptedContent=e.encryptedContent,this.encryptedContent.idBlock.tagClass===1&&this.encryptedContent.idBlock.tagNumber===4&&this.encryptedContent.idBlock.isConstructed===!1&&!e.disableSplit)){let s=new z({idBlock:{isConstructed:!0},isConstructed:!0}),r=0,n=this.encryptedContent.valueBlock.valueHexView.slice().buffer,i=n.byteLength;for(;i>0;){let a=new Uint8Array(n,r,r+R4>n.byteLength?n.byteLength-r:R4),o=new ArrayBuffer(a.length),c=new Uint8Array(o);for(let u=0;u<c.length;u++)c[u]=a[u];s.valueBlock.value.push(new z({valueHex:o})),i-=a.length,r+=a.length;}this.encryptedContent=s;}e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case qu:return b;case Fu:return new _;case Bo:return new z;default:return super.defaultValues(e)}}static compareWithDefault(e,s){switch(e){case qu:return s===b;case Fu:return s.algorithmId===b&&!("algorithmParams"in s);case Bo:return s.isEqual(t.defaultValues(Bo));default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||b,value:[new ae({name:s.contentType||b}),_.schema(s.contentEncryptionAlgorithm||{}),new ut({value:[new L({name:s.encryptedContent||b,idBlock:{tagClass:3,tagNumber:0},value:[new Ae({value:new z})]}),new we({name:s.encryptedContent||b,idBlock:{tagClass:3,tagNumber:0}})]})]})}fromSchema(e){W(e,uH);let s=K(e,e,t.schema({names:{contentType:qu,contentEncryptionAlgorithm:{names:{blockName:Fu}},encryptedContent:Bo}}));M.assertSchema(s,this.className),this.contentType=s.result.contentType.valueBlock.toString(),this.contentEncryptionAlgorithm=new _({schema:s.result.contentEncryptionAlgorithm}),Bo in s.result&&(this.encryptedContent=s.result.encryptedContent,this.encryptedContent.idBlock.tagClass=1,this.encryptedContent.idBlock.tagNumber=4);}toSchema(){let e={isIndefiniteForm:!1},s=[];if(s.push(new ae({value:this.contentType})),s.push(this.contentEncryptionAlgorithm.toSchema()),this.encryptedContent){e.isIndefiniteForm=this.encryptedContent.idBlock.isConstructed;let r=this.encryptedContent;r.idBlock.tagClass=3,r.idBlock.tagNumber=0,r.lenBlock.isIndefiniteForm=this.encryptedContent.idBlock.isConstructed,s.push(r);}return new T({lenBlock:e,value:s})}toJSON(){let e={contentType:this.contentType,contentEncryptionAlgorithm:this.contentEncryptionAlgorithm.toJSON()};return this.encryptedContent&&(e.encryptedContent=this.encryptedContent.toJSON()),e}getEncryptedContent(){if(!this.encryptedContent)throw new Error("Parameter 'encryptedContent' is undefined");return z.prototype.getValue.call(this.encryptedContent)}};Yt.CLASS_NAME="EncryptedContentInfo";var Mi="hashAlgorithm",$i="maskGenAlgorithm",qi="saltLength",Fi="trailerField",lH=[Mi,$i,qi,Fi],sf=class t extends q{constructor(e={}){super(),this.hashAlgorithm=y(e,Mi,t.defaultValues(Mi)),this.maskGenAlgorithm=y(e,$i,t.defaultValues($i)),this.saltLength=y(e,qi,t.defaultValues(qi)),this.trailerField=y(e,Fi,t.defaultValues(Fi)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Mi:return new _({algorithmId:"1.3.14.3.2.26",algorithmParams:new wt});case $i:return new _({algorithmId:"1.2.840.113549.1.1.8",algorithmParams:new _({algorithmId:"1.3.14.3.2.26",algorithmParams:new wt}).toSchema()});case qi:return 20;case Fi:return 1;default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||b,value:[new L({idBlock:{tagClass:3,tagNumber:0},optional:!0,value:[_.schema(s.hashAlgorithm||{})]}),new L({idBlock:{tagClass:3,tagNumber:1},optional:!0,value:[_.schema(s.maskGenAlgorithm||{})]}),new L({idBlock:{tagClass:3,tagNumber:2},optional:!0,value:[new U({name:s.saltLength||b})]}),new L({idBlock:{tagClass:3,tagNumber:3},optional:!0,value:[new U({name:s.trailerField||b})]})]})}fromSchema(e){W(e,lH);let s=K(e,e,t.schema({names:{hashAlgorithm:{names:{blockName:Mi}},maskGenAlgorithm:{names:{blockName:$i}},saltLength:qi,trailerField:Fi}}));M.assertSchema(s,this.className),Mi in s.result&&(this.hashAlgorithm=new _({schema:s.result.hashAlgorithm})),$i in s.result&&(this.maskGenAlgorithm=new _({schema:s.result.maskGenAlgorithm})),qi in s.result&&(this.saltLength=s.result.saltLength.valueBlock.valueDec),Fi in s.result&&(this.trailerField=s.result.trailerField.valueBlock.valueDec);}toSchema(){let e=[];return this.hashAlgorithm.isEqual(t.defaultValues(Mi))||e.push(new L({idBlock:{tagClass:3,tagNumber:0},value:[this.hashAlgorithm.toSchema()]})),this.maskGenAlgorithm.isEqual(t.defaultValues($i))||e.push(new L({idBlock:{tagClass:3,tagNumber:1},value:[this.maskGenAlgorithm.toSchema()]})),this.saltLength!==t.defaultValues(qi)&&e.push(new L({idBlock:{tagClass:3,tagNumber:2},value:[new U({value:this.saltLength})]})),this.trailerField!==t.defaultValues(Fi)&&e.push(new L({idBlock:{tagClass:3,tagNumber:3},value:[new U({value:this.trailerField})]})),new T({value:e})}toJSON(){let e={};return this.hashAlgorithm.isEqual(t.defaultValues(Mi))||(e.hashAlgorithm=this.hashAlgorithm.toJSON()),this.maskGenAlgorithm.isEqual(t.defaultValues($i))||(e.maskGenAlgorithm=this.maskGenAlgorithm.toJSON()),this.saltLength!==t.defaultValues(qi)&&(e.saltLength=this.saltLength),this.trailerField!==t.defaultValues(Fi)&&(e.trailerField=this.trailerField),e}};sf.CLASS_NAME="RSASSAPSSParams";var Ku="salt",e0="iterationCount",wr="keyLength",Tn="prf",fH=[Ku,e0,wr,Tn],ya=class t extends q{constructor(e={}){super(),this.salt=y(e,Ku,t.defaultValues(Ku)),this.iterationCount=y(e,e0,t.defaultValues(e0)),wr in e&&(this.keyLength=y(e,wr,t.defaultValues(wr))),Tn in e&&(this.prf=y(e,Tn,t.defaultValues(Tn))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Ku:return {};case e0:return -1;case wr:return 0;case Tn:return new _({algorithmId:"1.3.14.3.2.26",algorithmParams:new wt});default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||b,value:[new ut({value:[new z({name:s.saltPrimitive||b}),_.schema(s.saltConstructed||{})]}),new U({name:s.iterationCount||b}),new U({name:s.keyLength||b,optional:!0}),_.schema(s.prf||{names:{optional:!0}})]})}fromSchema(e){W(e,fH);let s=K(e,e,t.schema({names:{saltPrimitive:Ku,saltConstructed:{names:{blockName:Ku}},iterationCount:e0,keyLength:wr,prf:{names:{blockName:Tn,optional:!0}}}}));M.assertSchema(s,this.className),this.salt=s.result.salt,this.iterationCount=s.result.iterationCount.valueBlock.valueDec,wr in s.result&&(this.keyLength=s.result.keyLength.valueBlock.valueDec),Tn in s.result&&(this.prf=new _({schema:s.result.prf}));}toSchema(){let e=[];return e.push(this.salt),e.push(new U({value:this.iterationCount})),wr in this&&t.defaultValues(wr)!==this.keyLength&&e.push(new U({value:this.keyLength})),this.prf&&t.defaultValues(Tn).isEqual(this.prf)===!1&&e.push(this.prf.toSchema()),new T({value:e})}toJSON(){let e={salt:this.salt.toJSON(),iterationCount:this.iterationCount};return wr in this&&t.defaultValues(wr)!==this.keyLength&&(e.keyLength=this.keyLength),this.prf&&t.defaultValues(Tn).isEqual(this.prf)===!1&&(e.prf=this.prf.toJSON()),e}};ya.CLASS_NAME="PBKDF2Params";var t0="keyDerivationFunc",s0="encryptionScheme",hH=[t0,s0],Bm=class t extends q{constructor(e={}){super(),this.keyDerivationFunc=y(e,t0,t.defaultValues(t0)),this.encryptionScheme=y(e,s0,t.defaultValues(s0)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case t0:return new _;case s0:return new _;default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||b,value:[_.schema(s.keyDerivationFunc||{}),_.schema(s.encryptionScheme||{})]})}fromSchema(e){W(e,hH);let s=K(e,e,t.schema({names:{keyDerivationFunc:{names:{blockName:t0}},encryptionScheme:{names:{blockName:s0}}}}));M.assertSchema(s,this.className),this.keyDerivationFunc=new _({schema:s.result.keyDerivationFunc}),this.encryptionScheme=new _({schema:s.result.encryptionScheme});}toSchema(){return new T({value:[this.keyDerivationFunc.toSchema(),this.encryptionScheme.toSchema()]})}toJSON(){return {keyDerivationFunc:this.keyDerivationFunc.toJSON(),encryptionScheme:this.encryptionScheme.toJSON()}}};Bm.CLASS_NAME="PBES2Params";var e6=class{constructor(e){this.crypto=e.crypto,this.subtle="webkitSubtle"in e.crypto?e.crypto.webkitSubtle:e.crypto.subtle,this.name=y(e,"name",b);}async encrypt(...e){return this.subtle.encrypt(...e)}async decrypt(...e){return this.subtle.decrypt(...e)}sign(...e){return this.subtle.sign(...e)}async verify(...e){return this.subtle.verify(...e)}async digest(...e){return this.subtle.digest(...e)}async generateKey(...e){return this.subtle.generateKey(...e)}async deriveKey(...e){return this.subtle.deriveKey(...e)}async deriveBits(...e){return this.subtle.deriveBits(...e)}async wrapKey(...e){return this.subtle.wrapKey(...e)}async unwrapKey(...e){return this.subtle.unwrapKey(...e)}exportKey(...e){return this.subtle.exportKey(...e)}importKey(...e){return this.subtle.importKey(...e)}getRandomValues(e){if(e===null)throw new Error('Argument "array" must not be null');return this.crypto.getRandomValues(e)}};async function L4(t,e,s,r,n){let i,a,o;switch(t.toUpperCase()){case"SHA-1":i=20,a=64,o=C4;break;case"SHA-256":i=32,a=64,o=wA;break;case"SHA-384":i=48,a=128,o=EA;break;case"SHA-512":i=64,a=128,o=vA;break;default:throw new Error("Unsupported hashing algorithm")}let c=new Uint8Array(s),u=new TextDecoder().decode(s);new TextEncoder().encode(u).some((k,O)=>k!==c[O])&&(u=String.fromCharCode(...c));let p=new Uint8Array(u.length*2+2),w=new DataView(p.buffer);for(let k=0;k<u.length;k++)w.setUint16(k*2,u.charCodeAt(k),!1);w.setUint16(u.length*2,0,!1);let E=new Uint8Array(a).fill(3),S=new Uint8Array(r),I=new Uint8Array(a*Math.ceil(S.length/a)).map((k,O)=>S[O%S.length]),C=new Uint8Array(a*Math.ceil(p.length/a)).map((k,O)=>p[O%p.length]),D=new Uint8Array(I.length+C.length);D.set(I),D.set(C,I.length);let V=Math.ceil((e>>3)/i),B=[];for(let k=0;k<V;k++){let O=new Uint8Array(E.length+D.length);O.set(E),O.set(D,E.length);for(let oe=0;oe<n;oe++)O=o(O);let G=new Uint8Array(a).map((oe,pe)=>O[pe%O.length]),re=Math.ceil(S.length/a)+Math.ceil(p.length/a),Q=[];for(let oe=0;oe<re;oe++){let pe=Array.from(D.slice(oe*a,(oe+1)*a)),se=511;for(let ce=G.length-1;ce>=0;ce--)se>>=8,se+=G[ce]+(pe[ce]||0),pe[ce]=se&255;Q.push(...pe);}D=new Uint8Array(Q),B.push(...O);}return new Uint8Array(B.slice(0,e>>3)).buffer}function pk(t){let e=typeof t=="string"?{name:t}:t;return "hash"in e?{...e,hash:pk(e.hash)}:e}var ff=class extends e6{async importKey(e,s,r,n,i){var a,o,c,u,l,p;let w={},E=pk(r);switch(e.toLowerCase()){case"raw":return this.subtle.importKey("raw",s,r,n,i);case"spki":{let S=Ot(Se.BufferSourceConverter.toArrayBuffer(s));M.assert(S,"keyData");let I=new Gs;try{I.fromSchema(S.result);}catch{throw new nt("Incorrect keyData")}switch(E.name.toUpperCase()){case"RSA-PSS":{if(!E.hash)throw new Qe("hash","algorithm.hash","Incorrect hash algorithm: Hash algorithm is missed");switch(E.hash.name.toUpperCase()){case"SHA-1":w.alg="PS1";break;case"SHA-256":w.alg="PS256";break;case"SHA-384":w.alg="PS384";break;case"SHA-512":w.alg="PS512";break;default:throw new Error(`Incorrect hash algorithm: ${E.hash.name.toUpperCase()}`)}}case"RSASSA-PKCS1-V1_5":{if(i=["verify"],w.kty="RSA",w.ext=n,w.key_ops=i,I.algorithm.algorithmId!=="1.2.840.113549.1.1.1")throw new Error(`Incorrect public key algorithm: ${I.algorithm.algorithmId}`);if(!w.alg){if(!E.hash)throw new Qe("hash","algorithm.hash","Incorrect hash algorithm: Hash algorithm is missed");switch(E.hash.name.toUpperCase()){case"SHA-1":w.alg="RS1";break;case"SHA-256":w.alg="RS256";break;case"SHA-384":w.alg="RS384";break;case"SHA-512":w.alg="RS512";break;default:throw new Error(`Incorrect hash algorithm: ${E.hash.name.toUpperCase()}`)}}let C=I.toJSON();Object.assign(w,C);}break;case"ECDSA":i=["verify"];case"ECDH":{if(w={kty:"EC",ext:n,key_ops:i},I.algorithm.algorithmId!=="1.2.840.10045.2.1")throw new Error(`Incorrect public key algorithm: ${I.algorithm.algorithmId}`);let C=I.toJSON();Object.assign(w,C);}break;case"RSA-OAEP":{if(w.kty="RSA",w.ext=n,w.key_ops=i,this.name.toLowerCase()==="safari")w.alg="RSA-OAEP";else {if(!E.hash)throw new Qe("hash","algorithm.hash","Incorrect hash algorithm: Hash algorithm is missed");switch(E.hash.name.toUpperCase()){case"SHA-1":w.alg="RSA-OAEP";break;case"SHA-256":w.alg="RSA-OAEP-256";break;case"SHA-384":w.alg="RSA-OAEP-384";break;case"SHA-512":w.alg="RSA-OAEP-512";break;default:throw new Error(`Incorrect hash algorithm: ${E.hash.name.toUpperCase()}`)}}let C=I.toJSON();Object.assign(w,C);}break;case"RSAES-PKCS1-V1_5":{w.kty="RSA",w.ext=n,w.key_ops=i,w.alg="PS1";let C=I.toJSON();Object.assign(w,C);}break;default:throw new Error(`Incorrect algorithm name: ${E.name.toUpperCase()}`)}}break;case"pkcs8":{let S=new Tc,I=Ot(Se.BufferSourceConverter.toArrayBuffer(s));M.assert(I,"keyData");try{S.fromSchema(I.result);}catch{throw new Error("Incorrect keyData")}if(!S.parsedKey)throw new Error("Incorrect keyData");switch(E.name.toUpperCase()){case"RSA-PSS":switch((a=E.hash)===null||a===void 0?void 0:a.name.toUpperCase()){case"SHA-1":w.alg="PS1";break;case"SHA-256":w.alg="PS256";break;case"SHA-384":w.alg="PS384";break;case"SHA-512":w.alg="PS512";break;default:throw new Error(`Incorrect hash algorithm: ${(o=E.hash)===null||o===void 0?void 0:o.name.toUpperCase()}`)}case"RSASSA-PKCS1-V1_5":{if(i=["sign"],w.kty="RSA",w.ext=n,w.key_ops=i,S.privateKeyAlgorithm.algorithmId!=="1.2.840.113549.1.1.1")throw new Error(`Incorrect private key algorithm: ${S.privateKeyAlgorithm.algorithmId}`);if(!("alg"in w))switch((c=E.hash)===null||c===void 0?void 0:c.name.toUpperCase()){case"SHA-1":w.alg="RS1";break;case"SHA-256":w.alg="RS256";break;case"SHA-384":w.alg="RS384";break;case"SHA-512":w.alg="RS512";break;default:throw new Error(`Incorrect hash algorithm: ${(u=E.hash)===null||u===void 0?void 0:u.name.toUpperCase()}`)}let C=S.toJSON();Object.assign(w,C);}break;case"ECDSA":i=["sign"];case"ECDH":{if(w={kty:"EC",ext:n,key_ops:i},S.privateKeyAlgorithm.algorithmId!=="1.2.840.10045.2.1")throw new Error(`Incorrect algorithm: ${S.privateKeyAlgorithm.algorithmId}`);let C=S.toJSON();Object.assign(w,C);}break;case"RSA-OAEP":{if(w.kty="RSA",w.ext=n,w.key_ops=i,this.name.toLowerCase()==="safari")w.alg="RSA-OAEP";else switch((l=E.hash)===null||l===void 0?void 0:l.name.toUpperCase()){case"SHA-1":w.alg="RSA-OAEP";break;case"SHA-256":w.alg="RSA-OAEP-256";break;case"SHA-384":w.alg="RSA-OAEP-384";break;case"SHA-512":w.alg="RSA-OAEP-512";break;default:throw new Error(`Incorrect hash algorithm: ${(p=E.hash)===null||p===void 0?void 0:p.name.toUpperCase()}`)}let C=S.toJSON();Object.assign(w,C);}break;case"RSAES-PKCS1-V1_5":{i=["decrypt"],w.kty="RSA",w.ext=n,w.key_ops=i,w.alg="PS1";let C=S.toJSON();Object.assign(w,C);}break;default:throw new Error(`Incorrect algorithm name: ${E.name.toUpperCase()}`)}}break;case"jwk":w=s;break;default:throw new Error(`Incorrect format: ${e}`)}if(this.name.toLowerCase()==="safari")try{return this.subtle.importKey("jwk",oo(JSON.stringify(w)),r,n,i)}catch{return this.subtle.importKey("jwk",w,r,n,i)}return this.subtle.importKey("jwk",w,r,n,i)}async exportKey(e,s){let r=await this.subtle.exportKey("jwk",s);switch(this.name.toLowerCase()==="safari"&&r instanceof ArrayBuffer&&(r=JSON.parse(zh(r))),e.toLowerCase()){case"raw":return this.subtle.exportKey("raw",s);case"spki":{let n=new Gs;try{n.fromJSON(r);}catch{throw new Error("Incorrect key data")}return n.toSchema().toBER(!1)}case"pkcs8":{let n=new Tc;try{n.fromJSON(r);}catch{throw new Error("Incorrect key data")}return n.toSchema().toBER(!1)}case"jwk":return r;default:throw new Error(`Incorrect format: ${e}`)}}async convert(e,s,r,n,i,a){if(e.toLowerCase()===s.toLowerCase())return r;let o=await this.importKey(e,r,n,i,a);return this.exportKey(s,o)}getAlgorithmByOID(e,s=!1,r){switch(e){case"1.2.840.113549.1.1.1":return {name:"RSAES-PKCS1-v1_5"};case"1.2.840.113549.1.1.5":return {name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-1"}};case"1.2.840.113549.1.1.11":return {name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}};case"1.2.840.113549.1.1.12":return {name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-384"}};case"1.2.840.113549.1.1.13":return {name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-512"}};case"1.2.840.113549.1.1.10":return {name:"RSA-PSS"};case"1.2.840.113549.1.1.7":return {name:"RSA-OAEP"};case"1.2.840.10045.2.1":case"1.2.840.10045.4.1":return {name:"ECDSA",hash:{name:"SHA-1"}};case"1.2.840.10045.4.3.2":return {name:"ECDSA",hash:{name:"SHA-256"}};case"1.2.840.10045.4.3.3":return {name:"ECDSA",hash:{name:"SHA-384"}};case"1.2.840.10045.4.3.4":return {name:"ECDSA",hash:{name:"SHA-512"}};case"1.3.133.16.840.63.0.2":return {name:"ECDH",kdf:"SHA-1"};case"1.3.132.1.11.1":return {name:"ECDH",kdf:"SHA-256"};case"1.3.132.1.11.2":return {name:"ECDH",kdf:"SHA-384"};case"1.3.132.1.11.3":return {name:"ECDH",kdf:"SHA-512"};case"2.16.840.1.101.3.4.1.2":return {name:"AES-CBC",length:128};case"2.16.840.1.101.3.4.1.22":return {name:"AES-CBC",length:192};case"2.16.840.1.101.3.4.1.42":return {name:"AES-CBC",length:256};case"2.16.840.1.101.3.4.1.6":return {name:"AES-GCM",length:128};case"2.16.840.1.101.3.4.1.26":return {name:"AES-GCM",length:192};case"2.16.840.1.101.3.4.1.46":return {name:"AES-GCM",length:256};case"2.16.840.1.101.3.4.1.4":return {name:"AES-CFB",length:128};case"2.16.840.1.101.3.4.1.24":return {name:"AES-CFB",length:192};case"2.16.840.1.101.3.4.1.44":return {name:"AES-CFB",length:256};case"2.16.840.1.101.3.4.1.5":return {name:"AES-KW",length:128};case"2.16.840.1.101.3.4.1.25":return {name:"AES-KW",length:192};case"2.16.840.1.101.3.4.1.45":return {name:"AES-KW",length:256};case"1.2.840.113549.2.7":return {name:"HMAC",hash:{name:"SHA-1"}};case"1.2.840.113549.2.9":return {name:"HMAC",hash:{name:"SHA-256"}};case"1.2.840.113549.2.10":return {name:"HMAC",hash:{name:"SHA-384"}};case"1.2.840.113549.2.11":return {name:"HMAC",hash:{name:"SHA-512"}};case"1.2.840.113549.1.9.16.3.5":return {name:"DH"};case"1.3.14.3.2.26":return {name:"SHA-1"};case"2.16.840.1.101.3.4.2.1":return {name:"SHA-256"};case"2.16.840.1.101.3.4.2.2":return {name:"SHA-384"};case"2.16.840.1.101.3.4.2.3":return {name:"SHA-512"};case"1.2.840.113549.1.5.12":return {name:"PBKDF2"};case"1.2.840.10045.3.1.7":return {name:"P-256"};case"1.3.132.0.34":return {name:"P-384"};case"1.3.132.0.35":return {name:"P-521"}}if(s)throw new Error(`Unsupported algorithm identifier ${r?`for ${r} `:b}: ${e}`);return {}}getOIDByAlgorithm(e,s=!1,r){let n=b;switch(e.name.toUpperCase()){case"RSAES-PKCS1-V1_5":n="1.2.840.113549.1.1.1";break;case"RSASSA-PKCS1-V1_5":switch(e.hash.name.toUpperCase()){case"SHA-1":n="1.2.840.113549.1.1.5";break;case"SHA-256":n="1.2.840.113549.1.1.11";break;case"SHA-384":n="1.2.840.113549.1.1.12";break;case"SHA-512":n="1.2.840.113549.1.1.13";break}break;case"RSA-PSS":n="1.2.840.113549.1.1.10";break;case"RSA-OAEP":n="1.2.840.113549.1.1.7";break;case"ECDSA":switch(e.hash.name.toUpperCase()){case"SHA-1":n="1.2.840.10045.4.1";break;case"SHA-256":n="1.2.840.10045.4.3.2";break;case"SHA-384":n="1.2.840.10045.4.3.3";break;case"SHA-512":n="1.2.840.10045.4.3.4";break}break;case"ECDH":switch(e.kdf.toUpperCase()){case"SHA-1":n="1.3.133.16.840.63.0.2";break;case"SHA-256":n="1.3.132.1.11.1";break;case"SHA-384":n="1.3.132.1.11.2";break;case"SHA-512":n="1.3.132.1.11.3";break}break;case"AES-CTR":break;case"AES-CBC":switch(e.length){case 128:n="2.16.840.1.101.3.4.1.2";break;case 192:n="2.16.840.1.101.3.4.1.22";break;case 256:n="2.16.840.1.101.3.4.1.42";break}break;case"AES-CMAC":break;case"AES-GCM":switch(e.length){case 128:n="2.16.840.1.101.3.4.1.6";break;case 192:n="2.16.840.1.101.3.4.1.26";break;case 256:n="2.16.840.1.101.3.4.1.46";break}break;case"AES-CFB":switch(e.length){case 128:n="2.16.840.1.101.3.4.1.4";break;case 192:n="2.16.840.1.101.3.4.1.24";break;case 256:n="2.16.840.1.101.3.4.1.44";break}break;case"AES-KW":switch(e.length){case 128:n="2.16.840.1.101.3.4.1.5";break;case 192:n="2.16.840.1.101.3.4.1.25";break;case 256:n="2.16.840.1.101.3.4.1.45";break}break;case"HMAC":switch(e.hash.name.toUpperCase()){case"SHA-1":n="1.2.840.113549.2.7";break;case"SHA-256":n="1.2.840.113549.2.9";break;case"SHA-384":n="1.2.840.113549.2.10";break;case"SHA-512":n="1.2.840.113549.2.11";break}break;case"DH":n="1.2.840.113549.1.9.16.3.5";break;case"SHA-1":n="1.3.14.3.2.26";break;case"SHA-256":n="2.16.840.1.101.3.4.2.1";break;case"SHA-384":n="2.16.840.1.101.3.4.2.2";break;case"SHA-512":n="2.16.840.1.101.3.4.2.3";break;case"CONCAT":break;case"HKDF":break;case"PBKDF2":n="1.2.840.113549.1.5.12";break;case"P-256":n="1.2.840.10045.3.1.7";break;case"P-384":n="1.3.132.0.34";break;case"P-521":n="1.3.132.0.35";break}if(!n&&s)throw new Error(`Unsupported algorithm ${r?`for ${r} `:b}: ${e.name}`);return n}getAlgorithmParameters(e,s){let r={algorithm:{},usages:[]};switch(e.toUpperCase()){case"RSAES-PKCS1-V1_5":case"RSASSA-PKCS1-V1_5":switch(s.toLowerCase()){case"generatekey":r={algorithm:{name:"RSASSA-PKCS1-v1_5",modulusLength:2048,publicExponent:new Uint8Array([1,0,1]),hash:{name:"SHA-256"}},usages:["sign","verify"]};break;case"verify":case"sign":case"importkey":r={algorithm:{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},usages:["verify"]};break;case"exportkey":default:return {algorithm:{name:"RSASSA-PKCS1-v1_5"},usages:[]}}break;case"RSA-PSS":switch(s.toLowerCase()){case"sign":case"verify":r={algorithm:{name:"RSA-PSS",hash:{name:"SHA-1"},saltLength:20},usages:["sign","verify"]};break;case"generatekey":r={algorithm:{name:"RSA-PSS",modulusLength:2048,publicExponent:new Uint8Array([1,0,1]),hash:{name:"SHA-1"}},usages:["sign","verify"]};break;case"importkey":r={algorithm:{name:"RSA-PSS",hash:{name:"SHA-1"}},usages:["verify"]};break;case"exportkey":default:return {algorithm:{name:"RSA-PSS"},usages:[]}}break;case"RSA-OAEP":switch(s.toLowerCase()){case"encrypt":case"decrypt":r={algorithm:{name:"RSA-OAEP"},usages:["encrypt","decrypt"]};break;case"generatekey":r={algorithm:{name:"RSA-OAEP",modulusLength:2048,publicExponent:new Uint8Array([1,0,1]),hash:{name:"SHA-256"}},usages:["encrypt","decrypt","wrapKey","unwrapKey"]};break;case"importkey":r={algorithm:{name:"RSA-OAEP",hash:{name:"SHA-256"}},usages:["encrypt"]};break;case"exportkey":default:return {algorithm:{name:"RSA-OAEP"},usages:[]}}break;case"ECDSA":switch(s.toLowerCase()){case"generatekey":r={algorithm:{name:"ECDSA",namedCurve:"P-256"},usages:["sign","verify"]};break;case"importkey":r={algorithm:{name:"ECDSA",namedCurve:"P-256"},usages:["verify"]};break;case"verify":case"sign":r={algorithm:{name:"ECDSA",hash:{name:"SHA-256"}},usages:["sign"]};break;default:return {algorithm:{name:"ECDSA"},usages:[]}}break;case"ECDH":switch(s.toLowerCase()){case"exportkey":case"importkey":case"generatekey":r={algorithm:{name:"ECDH",namedCurve:"P-256"},usages:["deriveKey","deriveBits"]};break;case"derivekey":case"derivebits":r={algorithm:{name:"ECDH",namedCurve:"P-256",public:[]},usages:["encrypt","decrypt"]};break;default:return {algorithm:{name:"ECDH"},usages:[]}}break;case"AES-CTR":switch(s.toLowerCase()){case"importkey":case"exportkey":case"generatekey":r={algorithm:{name:"AES-CTR",length:256},usages:["encrypt","decrypt","wrapKey","unwrapKey"]};break;case"decrypt":case"encrypt":r={algorithm:{name:"AES-CTR",counter:new Uint8Array(16),length:10},usages:["encrypt","decrypt","wrapKey","unwrapKey"]};break;default:return {algorithm:{name:"AES-CTR"},usages:[]}}break;case"AES-CBC":switch(s.toLowerCase()){case"importkey":case"exportkey":case"generatekey":r={algorithm:{name:"AES-CBC",length:256},usages:["encrypt","decrypt","wrapKey","unwrapKey"]};break;case"decrypt":case"encrypt":r={algorithm:{name:"AES-CBC",iv:this.getRandomValues(new Uint8Array(16))},usages:["encrypt","decrypt","wrapKey","unwrapKey"]};break;default:return {algorithm:{name:"AES-CBC"},usages:[]}}break;case"AES-GCM":switch(s.toLowerCase()){case"importkey":case"exportkey":case"generatekey":r={algorithm:{name:"AES-GCM",length:256},usages:["encrypt","decrypt","wrapKey","unwrapKey"]};break;case"decrypt":case"encrypt":r={algorithm:{name:"AES-GCM",iv:this.getRandomValues(new Uint8Array(16))},usages:["encrypt","decrypt","wrapKey","unwrapKey"]};break;default:return {algorithm:{name:"AES-GCM"},usages:[]}}break;case"AES-KW":switch(s.toLowerCase()){case"importkey":case"exportkey":case"generatekey":case"wrapkey":case"unwrapkey":r={algorithm:{name:"AES-KW",length:256},usages:["wrapKey","unwrapKey"]};break;default:return {algorithm:{name:"AES-KW"},usages:[]}}break;case"HMAC":switch(s.toLowerCase()){case"sign":case"verify":r={algorithm:{name:"HMAC"},usages:["sign","verify"]};break;case"importkey":case"exportkey":case"generatekey":r={algorithm:{name:"HMAC",length:32,hash:{name:"SHA-256"}},usages:["sign","verify"]};break;default:return {algorithm:{name:"HMAC"},usages:[]}}break;case"HKDF":switch(s.toLowerCase()){case"derivekey":r={algorithm:{name:"HKDF",hash:"SHA-256",salt:new Uint8Array([]),info:new Uint8Array([])},usages:["encrypt","decrypt"]};break;default:return {algorithm:{name:"HKDF"},usages:[]}}break;case"PBKDF2":switch(s.toLowerCase()){case"derivekey":r={algorithm:{name:"PBKDF2",hash:{name:"SHA-256"},salt:new Uint8Array([]),iterations:1e4},usages:["encrypt","decrypt"]};break;default:return {algorithm:{name:"PBKDF2"},usages:[]}}break}return r}getHashAlgorithm(e){let s=b;switch(e.algorithmId){case"1.2.840.10045.4.1":case"1.2.840.113549.1.1.5":s="SHA-1";break;case"1.2.840.10045.4.3.2":case"1.2.840.113549.1.1.11":s="SHA-256";break;case"1.2.840.10045.4.3.3":case"1.2.840.113549.1.1.12":s="SHA-384";break;case"1.2.840.10045.4.3.4":case"1.2.840.113549.1.1.13":s="SHA-512";break;case"1.2.840.113549.1.1.10":try{let r=new sf({schema:e.algorithmParams});if(r.hashAlgorithm){let n=this.getAlgorithmByOID(r.hashAlgorithm.algorithmId);if("name"in n)s=n.name;else return b}else s="SHA-1";}catch{}break}return s}async encryptEncryptedContentInfo(e){Qe.assert(e,"password","contentEncryptionAlgorithm","hmacHashAlgorithm","iterationCount","contentToEncrypt","contentToEncrypt","contentType");let s=this.getOIDByAlgorithm(e.contentEncryptionAlgorithm,!0,"contentEncryptionAlgorithm"),r=this.getOIDByAlgorithm({name:"PBKDF2"},!0,"PBKDF2"),n=this.getOIDByAlgorithm({name:"HMAC",hash:{name:e.hmacHashAlgorithm}},!0,"hmacHashAlgorithm"),i=new ArrayBuffer(16),a=new Uint8Array(i);this.getRandomValues(a);let o=new ArrayBuffer(64),c=new Uint8Array(o);this.getRandomValues(c);let u=new Uint8Array(e.contentToEncrypt),l=new ya({salt:new z({valueHex:o}),iterationCount:e.iterationCount,prf:new _({algorithmId:n,algorithmParams:new wt})}),p=new Uint8Array(e.password),w=await this.importKey("raw",p,"PBKDF2",!1,["deriveKey"]),E=await this.deriveKey({name:"PBKDF2",hash:{name:e.hmacHashAlgorithm},salt:c,iterations:e.iterationCount},w,e.contentEncryptionAlgorithm,!1,["encrypt"]),S=await this.encrypt({name:e.contentEncryptionAlgorithm.name,iv:a},E,u),I=new Bm({keyDerivationFunc:new _({algorithmId:r,algorithmParams:l.toSchema()}),encryptionScheme:new _({algorithmId:s,algorithmParams:new z({valueHex:i})})});return new Yt({contentType:e.contentType,contentEncryptionAlgorithm:new _({algorithmId:"1.2.840.113549.1.5.13",algorithmParams:I.toSchema()}),encryptedContent:new z({valueHex:S})})}async decryptEncryptedContentInfo(e){if(Qe.assert(e,"password","encryptedContentInfo"),e.encryptedContentInfo.contentEncryptionAlgorithm.algorithmId!=="1.2.840.113549.1.5.13")throw new Error(`Unknown "contentEncryptionAlgorithm": ${e.encryptedContentInfo.contentEncryptionAlgorithm.algorithmId}`);let s;try{s=new Bm({schema:e.encryptedContentInfo.contentEncryptionAlgorithm.algorithmParams});}catch{throw new Error('Incorrectly encoded "pbes2Parameters"')}let r;try{r=new ya({schema:s.keyDerivationFunc.algorithmParams});}catch{throw new Error('Incorrectly encoded "pbkdf2Params"')}let n=this.getAlgorithmByOID(s.encryptionScheme.algorithmId,!0),i=s.encryptionScheme.algorithmParams.valueBlock.valueHex,a=new Uint8Array(i),o=r.salt.valueBlock.valueHex,c=new Uint8Array(o),u=r.iterationCount,l="SHA-1";r.prf&&(l=this.getAlgorithmByOID(r.prf.algorithmId,!0).hash.name);let p=await this.importKey("raw",e.password,"PBKDF2",!1,["deriveKey"]),w=await this.deriveKey({name:"PBKDF2",hash:{name:l},salt:c,iterations:u},p,n,!1,["decrypt"]),E=e.encryptedContentInfo.getEncryptedContent();return this.decrypt({name:n.name,iv:a},w,E)}async stampDataWithPassword(e){if(!(e instanceof Object))throw new Error('Parameters must have type "Object"');Qe.assert(e,"password","hashAlgorithm","iterationCount","salt","contentToStamp");let s;switch(e.hashAlgorithm.toLowerCase()){case"sha-1":s=160;break;case"sha-256":s=256;break;case"sha-384":s=384;break;case"sha-512":s=512;break;default:throw new Error(`Incorrect "parameters.hashAlgorithm" parameter: ${e.hashAlgorithm}`)}let r={name:"HMAC",length:s,hash:{name:e.hashAlgorithm}},n=await L4(e.hashAlgorithm,s,e.password,e.salt,e.iterationCount),i=await this.importKey("raw",new Uint8Array(n),r,!1,["sign"]);return this.sign(r,i,new Uint8Array(e.contentToStamp))}async verifyDataStampedWithPassword(e){Qe.assert(e,"password","hashAlgorithm","salt","iterationCount","contentToVerify","signatureToVerify");let s=0;switch(e.hashAlgorithm.toLowerCase()){case"sha-1":s=160;break;case"sha-256":s=256;break;case"sha-384":s=384;break;case"sha-512":s=512;break;default:throw new Error(`Incorrect "parameters.hashAlgorithm" parameter: ${e.hashAlgorithm}`)}let r={name:"HMAC",length:s,hash:{name:e.hashAlgorithm}},n=await L4(e.hashAlgorithm,s,e.password,e.salt,e.iterationCount),i=await this.importKey("raw",new Uint8Array(n),r,!1,["verify"]);return this.verify(r,i,new Uint8Array(e.signatureToVerify),new Uint8Array(e.contentToVerify))}async getSignatureParameters(e,s="SHA-1"){this.getOIDByAlgorithm({name:s},!0,"hashAlgorithm");let r=new _,n=this.getAlgorithmParameters(e.algorithm.name,"sign");if(!Object.keys(n.algorithm).length)throw new Error("Parameter 'algorithm' is empty");let i=n.algorithm;switch("hash"in e.algorithm&&e.algorithm.hash&&e.algorithm.hash.name?i.hash.name=e.algorithm.hash.name:i.hash.name=s,e.algorithm.name.toUpperCase()){case"RSASSA-PKCS1-V1_5":case"ECDSA":r.algorithmId=this.getOIDByAlgorithm(i,!0);break;case"RSA-PSS":{switch(i.hash.name.toUpperCase()){case"SHA-256":i.saltLength=32;break;case"SHA-384":i.saltLength=48;break;case"SHA-512":i.saltLength=64;break}let a={};if(i.hash.name.toUpperCase()!=="SHA-1"){let c=this.getOIDByAlgorithm({name:i.hash.name},!0,"hashAlgorithm");a.hashAlgorithm=new _({algorithmId:c,algorithmParams:new wt}),a.maskGenAlgorithm=new _({algorithmId:"1.2.840.113549.1.1.8",algorithmParams:a.hashAlgorithm.toSchema()});}i.saltLength!==20&&(a.saltLength=i.saltLength);let o=new sf(a);r.algorithmId="1.2.840.113549.1.1.10",r.algorithmParams=o.toSchema();}break;default:throw new Error(`Unsupported signature algorithm: ${e.algorithm.name}`)}return {signatureAlgorithm:r,parameters:n}}async signWithPrivateKey(e,s,r){let n=await this.sign(r.algorithm,s,e);return r.algorithm.name==="ECDSA"?mH(n):n}fillPublicKeyParameters(e,s){let r={},n=this.getHashAlgorithm(s);if(n===b)throw new Error(`Unsupported signature algorithm: ${s.algorithmId}`);let i;s.algorithmId==="1.2.840.113549.1.1.10"?i=s.algorithmId:i=e.algorithm.algorithmId;let a=this.getAlgorithmByOID(i,!0);if(r.algorithm=this.getAlgorithmParameters(a.name,"importKey"),"hash"in r.algorithm.algorithm&&(r.algorithm.algorithm.hash.name=n),a.name==="ECDSA"){let o=e.algorithm;if(!o.algorithmParams)throw new Error("Algorithm parameters for ECDSA public key are missed");let c=o.algorithmParams;if("idBlock"in o.algorithmParams&&!(c.idBlock.tagClass===1&&c.idBlock.tagNumber===6))throw new Error("Incorrect type for ECDSA public key parameters");let u=this.getAlgorithmByOID(c.valueBlock.toString(),!0);r.algorithm.algorithm.namedCurve=u.name;}return r}async getPublicKey(e,s,r){r||(r=this.fillPublicKeyParameters(e,s));let n=e.toSchema().toBER(!1);return this.importKey("spki",n,r.algorithm.algorithm,!0,r.algorithm.usages)}async verifyWithPublicKey(e,s,r,n,i){let a;if(i){let u={},l;n.algorithmId==="1.2.840.113549.1.1.10"?l=n.algorithmId:l=r.algorithm.algorithmId;let p=this.getAlgorithmByOID(l,!0);if(u.algorithm=this.getAlgorithmParameters(p.name,"importKey"),"hash"in u.algorithm.algorithm&&(u.algorithm.algorithm.hash.name=i),p.name==="ECDSA"){let w=!1;if("algorithmParams"in r.algorithm&&"idBlock"in r.algorithm.algorithmParams&&r.algorithm.algorithmParams.idBlock.tagClass===1&&r.algorithm.algorithmParams.idBlock.tagNumber===6&&(w=!0),w===!1)throw new Error("Incorrect type for ECDSA public key parameters");let E=this.getAlgorithmByOID(r.algorithm.algorithmParams.valueBlock.toString(),!0);u.algorithm.algorithm.namedCurve=E.name;}a=await this.getPublicKey(r,null,u);}else {if(i=this.getHashAlgorithm(n),!i)throw new Error(`Unsupported signature algorithm: ${n.algorithmId}`);a=await this.getPublicKey(r,n);}let o=this.getAlgorithmParameters(a.algorithm.name,"verify");"hash"in o.algorithm&&(o.algorithm.hash.name=i);let c=s.valueBlock.valueHexView;if(a.algorithm.name==="ECDSA"){let u=$r.find(a.algorithm.namedCurve);if(!u)throw new Error("Unsupported named curve in use");let l=Ot(c);M.assert(l,"Signature value"),c=pH(l.result,u.size);}if(a.algorithm.name==="RSA-PSS"){let u=new sf({schema:n.algorithmParams});"saltLength"in u?o.algorithm.saltLength=u.saltLength:o.algorithm.saltLength=20;let l="SHA-1";"hashAlgorithm"in u&&(l=this.getAlgorithmByOID(u.hashAlgorithm.algorithmId,!0).name),o.algorithm.hash.name=l;}return this.verify(o.algorithm,a,c,e)}},gk={name:"none",crypto:null};function D4(t){return !!(t&&typeof t=="object"&&"crypto"in t)}function V4(t,...e){let s=null;if(e.length<2)e.length?s=e[0]:s=typeof self<"u"&&self.crypto?new ff({name:"browser",crypto:self.crypto}):null;else {let r=e[0],n=e[1];D4(n)?s=n:D4(r)?s=r:"subtle"in r&&"getRandomValues"in r&&(s=new ff({crypto:r}));}if(typeof x<"u"&&"pid"in x&&typeof globalThis<"u"&&typeof window>"u"){if(typeof globalThis[x.pid]>"u")globalThis[x.pid]={};else if(typeof globalThis[x.pid]!="object")throw new Error(`Name global.${x.pid} already exists and it is not an object`);if(typeof globalThis[x.pid].pkijs>"u")globalThis[x.pid].pkijs={};else if(typeof globalThis[x.pid].pkijs!="object")throw new Error(`Name global.${x.pid}.pkijs already exists and it is not an object`);globalThis[x.pid].pkijs.engine={name:t,crypto:s};}else gk={name:t,crypto:s};}function dH(){if(typeof x<"u"&&"pid"in x&&typeof globalThis<"u"&&typeof window>"u"){let t;try{t=globalThis[x.pid].pkijs.engine;}catch{throw new Error("Please call 'setEngine' before call to 'getEngine'")}return t}return gk}function Ve(t=!1){let e=dH();if(!e.crypto&&t)throw new Error("Unable to create WebCrypto object");return e.crypto}function mH(t){if(t.byteLength%2!==0)return kt;let e=t.byteLength/2,s=new ArrayBuffer(e);new Uint8Array(s).set(new Uint8Array(t,0,e));let n=new U({valueHex:s}),i=new ArrayBuffer(e);new Uint8Array(i).set(new Uint8Array(t,e,e));let o=new U({valueHex:i});return new T({value:[n.convertToDER(),o.convertToDER()]}).toBER(!1)}function pH(t,e){if(!(t instanceof T&&t.valueBlock.value.length===2&&t.valueBlock.value[0]instanceof U&&t.valueBlock.value[1]instanceof U))return kt;let s=t.valueBlock.value[0].convertFromDER().valueBlock.valueHexView,r=t.valueBlock.value[1].convertFromDER().valueBlock.valueHexView,n=new Uint8Array(e*2);return n.set(s,e-s.byteLength),n.set(r,2*e-r.byteLength),n.buffer}async function gH(t,e,s,r,n){switch(t.toUpperCase()){case"SHA-1":case"SHA-256":case"SHA-384":case"SHA-512":break;default:throw new nt(`Unknown hash function: ${t}`)}if(nt.assert(e,"zBuffer","ArrayBuffer"),e.byteLength===0)throw new nt("'zBuffer' has zero length, error");if(nt.assert(r,"SharedInfo","ArrayBuffer"),s>255)throw new nt("Please set 'Counter' argument to value less or equal to 255");let i=new ArrayBuffer(4),a=new Uint8Array(i);a[0]=0,a[1]=0,a[2]=0,a[3]=s;let o=kt;o=ao(o,e),o=ao(o,i),o=ao(o,r);let c=await n.digest({name:t},o);return {counter:s,result:c}}async function U4(t,e,s,r,n=Ve(!0)){let i=0,a=1;switch(t.toUpperCase()){case"SHA-1":i=160;break;case"SHA-256":i=256;break;case"SHA-384":i=384;break;case"SHA-512":i=512;break;default:throw new nt(`Unknown hash function: ${t}`)}if(nt.assert(e,"Zbuffer","ArrayBuffer"),e.byteLength===0)throw new nt("'Zbuffer' has zero length, error");nt.assert(r,"SharedInfo","ArrayBuffer");let o=s/i;Math.floor(o)>0&&(a=Math.floor(o),o-a>0&&a++);let c=[];for(let w=1;w<=a;w++)c.push(await gH(t,e,w,r,n));let u=kt,l=1,p=!0;for(;p;){p=!1;for(let w of c)if(w.counter===l){u=ao(u,w.result),p=!0;break}l++;}if(s>>=3,u.byteLength>s){let w=new ArrayBuffer(s),E=new Uint8Array(w),S=new Uint8Array(u);for(let I=0;I<s;I++)E[I]=S[I];return w}return u}var CA="version",NA="logID",TA="extensions",kA="timestamp",BA="hashAlgorithm",PA="signatureAlgorithm",OA="signature",_4="none",H4="md5",j4="sha1",M4="sha224",$4="sha256",q4="sha384",F4="sha512",K4="anonymous",G4="rsa",W4="dsa",J4="ecdsa",rb=class t extends q{constructor(e={}){super(),this.version=y(e,CA,t.defaultValues(CA)),this.logID=y(e,NA,t.defaultValues(NA)),this.timestamp=y(e,kA,t.defaultValues(kA)),this.extensions=y(e,TA,t.defaultValues(TA)),this.hashAlgorithm=y(e,BA,t.defaultValues(BA)),this.signatureAlgorithm=y(e,PA,t.defaultValues(PA)),this.signature=y(e,OA,t.defaultValues(OA)),"stream"in e&&e.stream&&this.fromStream(e.stream),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case CA:return 0;case NA:case TA:return kt;case kA:return new Date(0);case BA:case PA:return b;case OA:return kt;default:return super.defaultValues(e)}}fromSchema(e){if(!(e instanceof lo))throw new Error("Object's schema was not verified against input data for SignedCertificateTimestamp");let s=new vn({stream:new ns({buffer:e.data})});this.fromStream(s);}fromStream(e){let s=e.getUint16();if(this.version=e.getBlock(1)[0],this.version===0){this.logID=new Uint8Array(e.getBlock(32)).buffer.slice(0),this.timestamp=new Date(pn(new Uint8Array(e.getBlock(8)),8));let r=e.getUint16();switch(this.extensions=new Uint8Array(e.getBlock(r)).buffer.slice(0),e.getBlock(1)[0]){case 0:this.hashAlgorithm=_4;break;case 1:this.hashAlgorithm=H4;break;case 2:this.hashAlgorithm=j4;break;case 3:this.hashAlgorithm=M4;break;case 4:this.hashAlgorithm=$4;break;case 5:this.hashAlgorithm=q4;break;case 6:this.hashAlgorithm=F4;break;default:throw new Error("Object's stream was not correct for SignedCertificateTimestamp")}switch(e.getBlock(1)[0]){case 0:this.signatureAlgorithm=K4;break;case 1:this.signatureAlgorithm=G4;break;case 2:this.signatureAlgorithm=W4;break;case 3:this.signatureAlgorithm=J4;break;default:throw new Error("Object's stream was not correct for SignedCertificateTimestamp")}let n=e.getUint16();if(this.signature=new Uint8Array(e.getBlock(n)).buffer.slice(0),s!==47+r+n)throw new Error("Object's stream was not correct for SignedCertificateTimestamp")}}toSchema(){let e=this.toStream();return new lo({data:e.stream.buffer})}toStream(){let e=new vn;e.appendUint16(47+this.extensions.byteLength+this.signature.byteLength),e.appendChar(this.version),e.appendView(new Uint8Array(this.logID));let s=new ArrayBuffer(8),r=new Uint8Array(s),n=pr(this.timestamp.valueOf(),8);r.set(new Uint8Array(n),8-n.byteLength),e.appendView(r),e.appendUint16(this.extensions.byteLength),this.extensions.byteLength&&e.appendView(new Uint8Array(this.extensions));let i;switch(this.hashAlgorithm.toLowerCase()){case _4:i=0;break;case H4:i=1;break;case j4:i=2;break;case M4:i=3;break;case $4:i=4;break;case q4:i=5;break;case F4:i=6;break;default:throw new Error(`Incorrect data for hashAlgorithm: ${this.hashAlgorithm}`)}e.appendChar(i);let a;switch(this.signatureAlgorithm.toLowerCase()){case K4:a=0;break;case G4:a=1;break;case W4:a=2;break;case J4:a=3;break;default:throw new Error(`Incorrect data for signatureAlgorithm: ${this.signatureAlgorithm}`)}return e.appendChar(a),e.appendUint16(this.signature.byteLength),e.appendView(new Uint8Array(this.signature)),e}toJSON(){return {version:this.version,logID:hy(this.logID),timestamp:this.timestamp,extensions:hy(this.extensions),hashAlgorithm:this.hashAlgorithm,signatureAlgorithm:this.signatureAlgorithm,signature:hy(this.signature)}}async verify(e,s,r=0,n=Ve(!0)){let i=my(zh(this.logID)),a=null,o=new vn;for(let E of e)if(E.log_id===i){a=E.key;break}if(!a)throw new Error(`Public key not found for CT with logId: ${i}`);let c=oo(xu(a)),u=Gs.fromBER(c);o.appendChar(0),o.appendChar(0);let l=new ArrayBuffer(8),p=new Uint8Array(l),w=pr(this.timestamp.valueOf(),8);return p.set(new Uint8Array(w),8-w.byteLength),o.appendView(p),o.appendUint16(r),r===0&&o.appendUint24(s.byteLength),o.appendView(new Uint8Array(s)),o.appendUint16(this.extensions.byteLength),this.extensions.byteLength!==0&&o.appendView(new Uint8Array(this.extensions)),n.verifyWithPublicKey(o.buffer.slice(0,o.length),new z({valueHex:this.signature}),u,{algorithmId:b},"SHA-256")}};rb.CLASS_NAME="SignedCertificateTimestamp";var Xy="timestamps",nb=class t extends q{constructor(e={}){super(),this.timestamps=y(e,Xy,t.defaultValues(Xy)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Xy:return [];default:return super.defaultValues(e)}}static compareWithDefault(e,s){switch(e){case Xy:return s.length===0;default:return super.defaultValues(e)}}static schema(e={}){var s;let r=y(e,"names",{});return (s=r.optional)!==null&&s!==void 0||(r.optional=!1),new z({name:r.blockName||"SignedCertificateTimestampList",optional:r.optional})}fromSchema(e){if(!(e instanceof z))throw new Error("Object's schema was not verified against input data for SignedCertificateTimestampList");let s=new vn({stream:new ns({buffer:e.valueBlock.valueHex})});if(s.getUint16()!==s.length)throw new Error("Object's schema was not verified against input data for SignedCertificateTimestampList");for(;s.length;)this.timestamps.push(new rb({stream:s}));}toSchema(){let e=new vn,s=0,r=[];for(let n of this.timestamps){let i=n.toStream();r.push(i),s+=i.stream.buffer.byteLength;}e.appendUint16(s);for(let n of r)e.appendView(n.stream.view);return new z({valueHex:e.stream.buffer.slice(0)})}toJSON(){return {timestamps:Array.from(this.timestamps,e=>e.toJSON())}}};nb.CLASS_NAME="SignedCertificateTimestampList";var r0="attributes",yH=[r0],ib=class t extends q{constructor(e={}){super(),this.attributes=y(e,r0,t.defaultValues(r0)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case r0:return [];default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||b,value:[new Ae({name:s.attributes||b,value:xt.schema()})]})}fromSchema(e){W(e,yH);let s=K(e,e,t.schema({names:{attributes:r0}}));M.assertSchema(s,this.className),this.attributes=Array.from(s.result.attributes,r=>new xt({schema:r}));}toSchema(){return new T({value:Array.from(this.attributes,e=>e.toSchema())})}toJSON(){return {attributes:Array.from(this.attributes,e=>e.toJSON())}}};ib.CLASS_NAME="SubjectDirectoryAttributes";var t6=class t{static getItems(){return this.types||(this.types={},t.register(ek,"SubjectAltName",gm),t.register(tk,"IssuerAltName",gm),t.register(R6,"AuthorityKeyIdentifier",ym),t.register(P6,"BasicConstraints",wm),t.register(D_,"MicrosoftCaVersion",zw),t.register(ak,"CertificatePolicies",vm),t.register(k_,"CertificatePoliciesMicrosoft",vm),t.register(L_,"MicrosoftCertTemplateV2",QA),t.register(ik,"CRLDistributionPoints",xm),t.register(O6,"FreshestCRL",xm),t.register(B_,"ExtKeyUsage",Yw),t.register(rk,"CertificateIssuer",Mt),t.register(L6,"AuthorityInfoAccess",Am),t.register(O_,"SubjectInfoAccess",Am),t.register(sk,"IssuingDistributionPoint",Zw),t.register(nk,"NameConstraints",Xw),t.register(ck,"PolicyConstraints",Qw),t.register(ok,"PolicyMappings",eb),t.register(A_,"PrivateKeyUsagePeriod",tb),t.register(V_,"QCStatements",sb),t.register(R_,"SignedCertificateTimestampList",nb),t.register(v_,"SubjectDirectoryAttributes",ib)),this.types}static fromBER(e,s){let r=Ot(s);if(r.offset===-1)return null;let n=this.find(e);if(n)try{return new n.type({schema:r.result})}catch{let i=new n.type;return i.parsingError=`Incorrectly formatted value of extension ${n.name} (${e})`,i}return r.result}static find(e){return this.getItems()[e]||null}static register(e,s,r){this.getItems()[e]={name:s,type:r};}},n0="extnID",Ki="critical",i0="extnValue",Qy="parsedValue",wH=[n0,Ki,i0],Ds=class t extends q{get parsedValue(){if(this._parsedValue===void 0){let e=t6.fromBER(this.extnID,this.extnValue.valueBlock.valueHexView);this._parsedValue=e;}return this._parsedValue||void 0}set parsedValue(e){this._parsedValue=e;}constructor(e={}){super(),this.extnID=y(e,n0,t.defaultValues(n0)),this.critical=y(e,Ki,t.defaultValues(Ki)),i0 in e?this.extnValue=new z({valueHex:e.extnValue}):this.extnValue=t.defaultValues(i0),Qy in e&&(this.parsedValue=y(e,Qy,t.defaultValues(Qy))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case n0:return b;case Ki:return !1;case i0:return new z;case Qy:return {};default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||b,value:[new ae({name:s.extnID||b}),new Fs({name:s.critical||b,optional:!0}),new z({name:s.extnValue||b})]})}fromSchema(e){W(e,wH);let s=K(e,e,t.schema({names:{extnID:n0,critical:Ki,extnValue:i0}}));M.assertSchema(s,this.className),this.extnID=s.result.extnID.valueBlock.toString(),Ki in s.result&&(this.critical=s.result.critical.valueBlock.value),this.extnValue=s.result.extnValue;}toSchema(){let e=[];return e.push(new ae({value:this.extnID})),this.critical!==t.defaultValues(Ki)&&e.push(new Fs({value:this.critical})),e.push(this.extnValue),new T({value:e})}toJSON(){let e={extnID:this.extnID,extnValue:this.extnValue.toJSON()};return this.critical!==t.defaultValues(Ki)&&(e.critical=this.critical),this.parsedValue&&this.parsedValue.toJSON&&(e.parsedValue=this.parsedValue.toJSON()),e}};Ds.CLASS_NAME="Extension";var a0="extensions",bH=[a0],Rt=class t extends q{constructor(e={}){super(),this.extensions=y(e,a0,t.defaultValues(a0)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case a0:return [];default:return super.defaultValues(e)}}static schema(e={},s=!1){let r=y(e,"names",{});return new T({optional:s,name:r.blockName||b,value:[new Ae({name:r.extensions||b,value:Ds.schema(r.extension||{})})]})}fromSchema(e){W(e,bH);let s=K(e,e,t.schema({names:{extensions:a0}}));M.assertSchema(s,this.className),this.extensions=Array.from(s.result.extensions,r=>new Ds({schema:r}));}toSchema(){return new T({value:Array.from(this.extensions,e=>e.toSchema())})}toJSON(){return {extensions:this.extensions.map(e=>e.toJSON())}}};Rt.CLASS_NAME="Extensions";var o0="issuer",c0="serialNumber",Po="issuerUID",SH=[o0,c0,Po],Zs=class t extends q{constructor(e={}){super(),this.issuer=y(e,o0,t.defaultValues(o0)),this.serialNumber=y(e,c0,t.defaultValues(c0)),Po in e&&(this.issuerUID=y(e,Po,t.defaultValues(Po))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case o0:return new Mt;case c0:return new U;case Po:return new _e;default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||b,value:[Mt.schema(s.issuer||{}),new U({name:s.serialNumber||b}),new _e({optional:!0,name:s.issuerUID||b})]})}fromSchema(e){W(e,SH);let s=K(e,e,t.schema({names:{issuer:{names:{blockName:o0}},serialNumber:c0,issuerUID:Po}}));M.assertSchema(s,this.className),this.issuer=new Mt({schema:s.result.issuer}),this.serialNumber=s.result.serialNumber,Po in s.result&&(this.issuerUID=s.result.issuerUID);}toSchema(){let e=new T({value:[this.issuer.toSchema(),this.serialNumber]});return this.issuerUID&&e.valueBlock.value.push(this.issuerUID),e}toJSON(){let e={issuer:this.issuer.toJSON(),serialNumber:this.serialNumber.toJSON()};return this.issuerUID&&(e.issuerUID=this.issuerUID.toJSON()),e}};Zs.CLASS_NAME="IssuerSerial";var u0="version",Oo="baseCertificateID",Ro="subjectName",l0="issuer",f0="signature",h0="serialNumber",d0="attrCertValidityPeriod",m0="attributes",Lo="issuerUniqueID",Do="extensions",vH=[u0,Oo,Ro,l0,f0,h0,d0,m0,Lo,Do],rf=class t extends q{constructor(e={}){super(),this.version=y(e,u0,t.defaultValues(u0)),Oo in e&&(this.baseCertificateID=y(e,Oo,t.defaultValues(Oo))),Ro in e&&(this.subjectName=y(e,Ro,t.defaultValues(Ro))),this.issuer=y(e,l0,t.defaultValues(l0)),this.signature=y(e,f0,t.defaultValues(f0)),this.serialNumber=y(e,h0,t.defaultValues(h0)),this.attrCertValidityPeriod=y(e,d0,t.defaultValues(d0)),this.attributes=y(e,m0,t.defaultValues(m0)),Lo in e&&(this.issuerUniqueID=y(e,Lo,t.defaultValues(Lo))),Do in e&&(this.extensions=y(e,Do,t.defaultValues(Do))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case u0:return 0;case Oo:return new Zs;case Ro:return new Mt;case l0:return new Mt;case f0:return new _;case h0:return new U;case d0:return new jn;case m0:return [];case Lo:return new _e;case Do:return new Rt;default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||b,value:[new U({name:s.version||b}),new ut({value:[new L({name:s.baseCertificateID||b,idBlock:{tagClass:3,tagNumber:0},value:Zs.schema().valueBlock.value}),new L({name:s.subjectName||b,idBlock:{tagClass:3,tagNumber:1},value:Mt.schema().valueBlock.value})]}),Mt.schema({names:{blockName:s.issuer||b}}),_.schema(s.signature||{}),new U({name:s.serialNumber||b}),jn.schema(s.attrCertValidityPeriod||{}),new T({name:s.attributes||b,value:[new Ae({value:xt.schema()})]}),new _e({optional:!0,name:s.issuerUniqueID||b}),Rt.schema(s.extensions||{},!0)]})}fromSchema(e){W(e,vH);let s=K(e,e,t.schema({names:{version:u0,baseCertificateID:Oo,subjectName:Ro,issuer:l0,signature:{names:{blockName:f0}},serialNumber:h0,attrCertValidityPeriod:{names:{blockName:d0}},attributes:m0,issuerUniqueID:Lo,extensions:{names:{blockName:Do}}}}));M.assertSchema(s,this.className),this.version=s.result.version.valueBlock.valueDec,Oo in s.result&&(this.baseCertificateID=new Zs({schema:new T({value:s.result.baseCertificateID.valueBlock.value})})),Ro in s.result&&(this.subjectName=new Mt({schema:new T({value:s.result.subjectName.valueBlock.value})})),this.issuer=s.result.issuer,this.signature=new _({schema:s.result.signature}),this.serialNumber=s.result.serialNumber,this.attrCertValidityPeriod=new jn({schema:s.result.attrCertValidityPeriod}),this.attributes=Array.from(s.result.attributes.valueBlock.value,r=>new xt({schema:r})),Lo in s.result&&(this.issuerUniqueID=s.result.issuerUniqueID),Do in s.result&&(this.extensions=new Rt({schema:s.result.extensions}));}toSchema(){let e=new T({value:[new U({value:this.version})]});return this.baseCertificateID&&e.valueBlock.value.push(new L({idBlock:{tagClass:3,tagNumber:0},value:this.baseCertificateID.toSchema().valueBlock.value})),this.subjectName&&e.valueBlock.value.push(new L({idBlock:{tagClass:3,tagNumber:1},value:this.subjectName.toSchema().valueBlock.value})),e.valueBlock.value.push(this.issuer.toSchema()),e.valueBlock.value.push(this.signature.toSchema()),e.valueBlock.value.push(this.serialNumber),e.valueBlock.value.push(this.attrCertValidityPeriod.toSchema()),e.valueBlock.value.push(new T({value:Array.from(this.attributes,s=>s.toSchema())})),this.issuerUniqueID&&e.valueBlock.value.push(this.issuerUniqueID),this.extensions&&e.valueBlock.value.push(this.extensions.toSchema()),e}toJSON(){let e={version:this.version};return this.baseCertificateID&&(e.baseCertificateID=this.baseCertificateID.toJSON()),this.subjectName&&(e.subjectName=this.subjectName.toJSON()),e.issuer=this.issuer.toJSON(),e.signature=this.signature.toJSON(),e.serialNumber=this.serialNumber.toJSON(),e.attrCertValidityPeriod=this.attrCertValidityPeriod.toJSON(),e.attributes=Array.from(this.attributes,s=>s.toJSON()),this.issuerUniqueID&&(e.issuerUniqueID=this.issuerUniqueID.toJSON()),this.extensions&&(e.extensions=this.extensions.toJSON()),e}};rf.CLASS_NAME="AttributeCertificateInfoV1";var p0="acinfo",g0="signatureAlgorithm",y0="signatureValue",EH=[p0,y0,g0],hf=class t extends q{constructor(e={}){super(),this.acinfo=y(e,p0,t.defaultValues(p0)),this.signatureAlgorithm=y(e,g0,t.defaultValues(g0)),this.signatureValue=y(e,y0,t.defaultValues(y0)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case p0:return new rf;case g0:return new _;case y0:return new _e;default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||b,value:[rf.schema(s.acinfo||{}),_.schema(s.signatureAlgorithm||{}),new _e({name:s.signatureValue||b})]})}fromSchema(e){W(e,EH);let s=K(e,e,t.schema({names:{acinfo:{names:{blockName:p0}},signatureAlgorithm:{names:{blockName:g0}},signatureValue:y0}}));M.assertSchema(s,this.className),this.acinfo=new rf({schema:s.result.acinfo}),this.signatureAlgorithm=new _({schema:s.result.signatureAlgorithm}),this.signatureValue=s.result.signatureValue;}toSchema(){return new T({value:[this.acinfo.toSchema(),this.signatureAlgorithm.toSchema(),this.signatureValue]})}toJSON(){return {acinfo:this.acinfo.toJSON(),signatureAlgorithm:this.signatureAlgorithm.toJSON(),signatureValue:this.signatureValue.toJSON()}}};hf.CLASS_NAME="AttributeCertificateV1";var w0="digestedObjectType",Vo="otherObjectTypeID",b0="digestAlgorithm",S0="objectDigest",xH=[w0,Vo,b0,S0],Mn=class t extends q{constructor(e={}){super(),this.digestedObjectType=y(e,w0,t.defaultValues(w0)),Vo in e&&(this.otherObjectTypeID=y(e,Vo,t.defaultValues(Vo))),this.digestAlgorithm=y(e,b0,t.defaultValues(b0)),this.objectDigest=y(e,S0,t.defaultValues(S0)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case w0:return new Ur;case Vo:return new ae;case b0:return new _;case S0:return new _e;default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||b,value:[new Ur({name:s.digestedObjectType||b}),new ae({optional:!0,name:s.otherObjectTypeID||b}),_.schema(s.digestAlgorithm||{}),new _e({name:s.objectDigest||b})]})}fromSchema(e){W(e,xH);let s=K(e,e,t.schema({names:{digestedObjectType:w0,otherObjectTypeID:Vo,digestAlgorithm:{names:{blockName:b0}},objectDigest:S0}}));M.assertSchema(s,this.className),this.digestedObjectType=s.result.digestedObjectType,Vo in s.result&&(this.otherObjectTypeID=s.result.otherObjectTypeID),this.digestAlgorithm=new _({schema:s.result.digestAlgorithm}),this.objectDigest=s.result.objectDigest;}toSchema(){let e=new T({value:[this.digestedObjectType]});return this.otherObjectTypeID&&e.valueBlock.value.push(this.otherObjectTypeID),e.valueBlock.value.push(this.digestAlgorithm.toSchema()),e.valueBlock.value.push(this.objectDigest),e}toJSON(){let e={digestedObjectType:this.digestedObjectType.toJSON(),digestAlgorithm:this.digestAlgorithm.toJSON(),objectDigest:this.objectDigest.toJSON()};return this.otherObjectTypeID&&(e.otherObjectTypeID=this.otherObjectTypeID.toJSON()),e}};Mn.CLASS_NAME="ObjectDigestInfo";var Uo="issuerName",_o="baseCertificateID",Ho="objectDigestInfo",AH=[Uo,_o,Ho],Pm=class t extends q{constructor(e={}){super(),Uo in e&&(this.issuerName=y(e,Uo,t.defaultValues(Uo))),_o in e&&(this.baseCertificateID=y(e,_o,t.defaultValues(_o))),Ho in e&&(this.objectDigestInfo=y(e,Ho,t.defaultValues(Ho))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Uo:return new Mt;case _o:return new Zs;case Ho:return new Mn;default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||b,value:[Mt.schema({names:{blockName:s.issuerName}},!0),new L({optional:!0,name:s.baseCertificateID||b,idBlock:{tagClass:3,tagNumber:0},value:Zs.schema().valueBlock.value}),new L({optional:!0,name:s.objectDigestInfo||b,idBlock:{tagClass:3,tagNumber:1},value:Mn.schema().valueBlock.value})]})}fromSchema(e){W(e,AH);let s=K(e,e,t.schema({names:{issuerName:Uo,baseCertificateID:_o,objectDigestInfo:Ho}}));M.assertSchema(s,this.className),Uo in s.result&&(this.issuerName=new Mt({schema:s.result.issuerName})),_o in s.result&&(this.baseCertificateID=new Zs({schema:new T({value:s.result.baseCertificateID.valueBlock.value})})),Ho in s.result&&(this.objectDigestInfo=new Mn({schema:new T({value:s.result.objectDigestInfo.valueBlock.value})}));}toSchema(){let e=new T;return this.issuerName&&e.valueBlock.value.push(this.issuerName.toSchema()),this.baseCertificateID&&e.valueBlock.value.push(new L({idBlock:{tagClass:3,tagNumber:0},value:this.baseCertificateID.toSchema().valueBlock.value})),this.objectDigestInfo&&e.valueBlock.value.push(new L({idBlock:{tagClass:3,tagNumber:1},value:this.objectDigestInfo.toSchema().valueBlock.value})),e}toJSON(){let e={};return this.issuerName&&(e.issuerName=this.issuerName.toJSON()),this.baseCertificateID&&(e.baseCertificateID=this.baseCertificateID.toJSON()),this.objectDigestInfo&&(e.objectDigestInfo=this.objectDigestInfo.toJSON()),e}};Pm.CLASS_NAME="V2Form";var jo="baseCertificateID",Mo="entityName",$o="objectDigestInfo",IH=[jo,Mo,$o],nf=class t extends q{constructor(e={}){super(),jo in e&&(this.baseCertificateID=y(e,jo,t.defaultValues(jo))),Mo in e&&(this.entityName=y(e,Mo,t.defaultValues(Mo))),$o in e&&(this.objectDigestInfo=y(e,$o,t.defaultValues($o))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case jo:return new Zs;case Mo:return new Mt;case $o:return new Mn;default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||b,value:[new L({optional:!0,name:s.baseCertificateID||b,idBlock:{tagClass:3,tagNumber:0},value:Zs.schema().valueBlock.value}),new L({optional:!0,name:s.entityName||b,idBlock:{tagClass:3,tagNumber:1},value:Mt.schema().valueBlock.value}),new L({optional:!0,name:s.objectDigestInfo||b,idBlock:{tagClass:3,tagNumber:2},value:Mn.schema().valueBlock.value})]})}fromSchema(e){W(e,IH);let s=K(e,e,t.schema({names:{baseCertificateID:jo,entityName:Mo,objectDigestInfo:$o}}));M.assertSchema(s,this.className),jo in s.result&&(this.baseCertificateID=new Zs({schema:new T({value:s.result.baseCertificateID.valueBlock.value})})),Mo in s.result&&(this.entityName=new Mt({schema:new T({value:s.result.entityName.valueBlock.value})})),$o in s.result&&(this.objectDigestInfo=new Mn({schema:new T({value:s.result.objectDigestInfo.valueBlock.value})}));}toSchema(){let e=new T;return this.baseCertificateID&&e.valueBlock.value.push(new L({idBlock:{tagClass:3,tagNumber:0},value:this.baseCertificateID.toSchema().valueBlock.value})),this.entityName&&e.valueBlock.value.push(new L({idBlock:{tagClass:3,tagNumber:1},value:this.entityName.toSchema().valueBlock.value})),this.objectDigestInfo&&e.valueBlock.value.push(new L({idBlock:{tagClass:3,tagNumber:2},value:this.objectDigestInfo.toSchema().valueBlock.value})),e}toJSON(){let e={};return this.baseCertificateID&&(e.baseCertificateID=this.baseCertificateID.toJSON()),this.entityName&&(e.entityName=this.entityName.toJSON()),this.objectDigestInfo&&(e.objectDigestInfo=this.objectDigestInfo.toJSON()),e}};nf.CLASS_NAME="Holder";var v0="version",E0="holder",x0="issuer",A0="signature",I0="serialNumber",C0="attrCertValidityPeriod",N0="attributes",qo="issuerUniqueID",Fo="extensions",CH=[v0,E0,x0,A0,I0,C0,N0,qo,Fo],af=class t extends q{constructor(e={}){super(),this.version=y(e,v0,t.defaultValues(v0)),this.holder=y(e,E0,t.defaultValues(E0)),this.issuer=y(e,x0,t.defaultValues(x0)),this.signature=y(e,A0,t.defaultValues(A0)),this.serialNumber=y(e,I0,t.defaultValues(I0)),this.attrCertValidityPeriod=y(e,C0,t.defaultValues(C0)),this.attributes=y(e,N0,t.defaultValues(N0)),qo in e&&(this.issuerUniqueID=y(e,qo,t.defaultValues(qo))),Fo in e&&(this.extensions=y(e,Fo,t.defaultValues(Fo))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case v0:return 1;case E0:return new nf;case x0:return {};case A0:return new _;case I0:return new U;case C0:return new jn;case N0:return [];case qo:return new _e;case Fo:return new Rt;default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||b,value:[new U({name:s.version||b}),nf.schema(s.holder||{}),new ut({value:[Mt.schema({names:{blockName:s.issuer||b}}),new L({name:s.issuer||b,idBlock:{tagClass:3,tagNumber:0},value:Pm.schema().valueBlock.value})]}),_.schema(s.signature||{}),new U({name:s.serialNumber||b}),jn.schema(s.attrCertValidityPeriod||{}),new T({name:s.attributes||b,value:[new Ae({value:xt.schema()})]}),new _e({optional:!0,name:s.issuerUniqueID||b}),Rt.schema(s.extensions||{},!0)]})}fromSchema(e){W(e,CH);let s=K(e,e,t.schema({names:{version:v0,holder:{names:{blockName:E0}},issuer:x0,signature:{names:{blockName:A0}},serialNumber:I0,attrCertValidityPeriod:{names:{blockName:C0}},attributes:N0,issuerUniqueID:qo,extensions:{names:{blockName:Fo}}}}));switch(M.assertSchema(s,this.className),this.version=s.result.version.valueBlock.valueDec,this.holder=new nf({schema:s.result.holder}),s.result.issuer.idBlock.tagClass){case 3:this.issuer=new Pm({schema:new T({value:s.result.issuer.valueBlock.value})});break;case 1:default:throw new Error("Incorrect value for 'issuer' in AttributeCertificateInfoV2")}this.signature=new _({schema:s.result.signature}),this.serialNumber=s.result.serialNumber,this.attrCertValidityPeriod=new jn({schema:s.result.attrCertValidityPeriod}),this.attributes=Array.from(s.result.attributes.valueBlock.value,r=>new xt({schema:r})),qo in s.result&&(this.issuerUniqueID=s.result.issuerUniqueID),Fo in s.result&&(this.extensions=new Rt({schema:s.result.extensions}));}toSchema(){let e=new T({value:[new U({value:this.version}),this.holder.toSchema(),new L({idBlock:{tagClass:3,tagNumber:0},value:this.issuer.toSchema().valueBlock.value}),this.signature.toSchema(),this.serialNumber,this.attrCertValidityPeriod.toSchema(),new T({value:Array.from(this.attributes,s=>s.toSchema())})]});return this.issuerUniqueID&&e.valueBlock.value.push(this.issuerUniqueID),this.extensions&&e.valueBlock.value.push(this.extensions.toSchema()),e}toJSON(){let e={version:this.version,holder:this.holder.toJSON(),issuer:this.issuer.toJSON(),signature:this.signature.toJSON(),serialNumber:this.serialNumber.toJSON(),attrCertValidityPeriod:this.attrCertValidityPeriod.toJSON(),attributes:Array.from(this.attributes,s=>s.toJSON())};return this.issuerUniqueID&&(e.issuerUniqueID=this.issuerUniqueID.toJSON()),this.extensions&&(e.extensions=this.extensions.toJSON()),e}};af.CLASS_NAME="AttributeCertificateInfoV2";var T0="acinfo",k0="signatureAlgorithm",B0="signatureValue",NH=[T0,k0,B0],Mr=class t extends q{constructor(e={}){super(),this.acinfo=y(e,T0,t.defaultValues(T0)),this.signatureAlgorithm=y(e,k0,t.defaultValues(k0)),this.signatureValue=y(e,B0,t.defaultValues(B0)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case T0:return new af;case k0:return new _;case B0:return new _e;default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||b,value:[af.schema(s.acinfo||{}),_.schema(s.signatureAlgorithm||{}),new _e({name:s.signatureValue||b})]})}fromSchema(e){W(e,NH);let s=K(e,e,t.schema({names:{acinfo:{names:{blockName:T0}},signatureAlgorithm:{names:{blockName:k0}},signatureValue:B0}}));M.assertSchema(s,this.className),this.acinfo=new af({schema:s.result.acinfo}),this.signatureAlgorithm=new _({schema:s.result.signatureAlgorithm}),this.signatureValue=s.result.signatureValue;}toSchema(){return new T({value:[this.acinfo.toSchema(),this.signatureAlgorithm.toSchema(),this.signatureValue]})}toJSON(){return {acinfo:this.acinfo.toJSON(),signatureAlgorithm:this.signatureAlgorithm.toJSON(),signatureValue:this.signatureValue.toJSON()}}};Mr.CLASS_NAME="AttributeCertificateV2";var Ko="contentType",Gu="content",TH=[Ko,Gu],St=class t extends q{constructor(e={}){super(),this.contentType=y(e,Ko,t.defaultValues(Ko)),this.content=y(e,Gu,t.defaultValues(Gu)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Ko:return b;case Gu:return new be;default:return super.defaultValues(e)}}static compareWithDefault(e,s){switch(e){case Ko:return typeof s=="string"&&s===this.defaultValues(Ko);case Gu:return s instanceof be;default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return "optional"in s||(s.optional=!1),new T({name:s.blockName||"ContentInfo",optional:s.optional,value:[new ae({name:s.contentType||Ko}),new L({idBlock:{tagClass:3,tagNumber:0},value:[new be({name:s.content||Gu})]})]})}fromSchema(e){W(e,TH);let s=K(e,e,t.schema());M.assertSchema(s,this.className),this.contentType=s.result.contentType.valueBlock.toString(),this.content=s.result.content;}toSchema(){return new T({value:[new ae({value:this.contentType}),new L({idBlock:{tagClass:3,tagNumber:0},value:[this.content]})]})}toJSON(){let e={contentType:this.contentType};return this.content instanceof be||(e.content=this.content.toJSON()),e}};St.CLASS_NAME="ContentInfo";St.DATA=D6;St.SIGNED_DATA=uk;St.ENVELOPED_DATA=lk;St.ENCRYPTED_DATA=fk;var RA="type",LA="value",s6="utcTimeName",r6="generalTimeName",kH=[s6,r6],z4;(function(t){t[t.UTCTime=0]="UTCTime",t[t.GeneralizedTime=1]="GeneralizedTime",t[t.empty=2]="empty";})(z4||(z4={}));var $t=class t extends q{constructor(e={}){super(),this.type=y(e,RA,t.defaultValues(RA)),this.value=y(e,LA,t.defaultValues(LA)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case RA:return 0;case LA:return new Date(0,0,0);default:return super.defaultValues(e)}}static schema(e={},s=!1){let r=y(e,"names",{});return new ut({optional:s,value:[new wn({name:r.utcTimeName||b}),new ct({name:r.generalTimeName||b})]})}fromSchema(e){W(e,kH);let s=K(e,e,t.schema({names:{utcTimeName:s6,generalTimeName:r6}}));M.assertSchema(s,this.className),s6 in s.result&&(this.type=0,this.value=s.result.utcTimeName.toDate()),r6 in s.result&&(this.type=1,this.value=s.result.generalTimeName.toDate());}toSchema(){return this.type===0?new wn({valueDate:this.value}):this.type===1?new ct({valueDate:this.value}):{}}toJSON(){return {type:this.type,value:this.value}}};$t.CLASS_NAME="Time";var DA="tbs",Gi="version",bw="serialNumber",Sw="signature",vw="issuer",Ew="notBefore",xw="notAfter",Aw="subject",Iw="subjectPublicKeyInfo",P0="issuerUniqueID",O0="subjectUniqueID",R0="extensions",L0="signatureAlgorithm",D0="signatureValue",Ws="tbsCertificate",ab=`${Ws}.${Gi}`,U6=`${Ws}.${bw}`,_6=`${Ws}.${Sw}`,H6=`${Ws}.${vw}`,ob=`${Ws}.${Ew}`,cb=`${Ws}.${xw}`,j6=`${Ws}.${Aw}`,M6=`${Ws}.${Iw}`,ub=`${Ws}.${P0}`,lb=`${Ws}.${O0}`,dm=`${Ws}.${R0}`,BH=[Ws,ab,U6,_6,H6,ob,cb,j6,M6,ub,lb,dm,L0,D0];function PH(t={}){let e=y(t,"names",{});return new T({name:e.blockName||Ws,value:[new L({optional:!0,idBlock:{tagClass:3,tagNumber:0},value:[new U({name:e.tbsCertificateVersion||ab})]}),new U({name:e.tbsCertificateSerialNumber||U6}),_.schema(e.signature||{names:{blockName:_6}}),lt.schema(e.issuer||{names:{blockName:H6}}),new T({name:e.tbsCertificateValidity||"tbsCertificate.validity",value:[$t.schema(e.notBefore||{names:{utcTimeName:ob,generalTimeName:ob}}),$t.schema(e.notAfter||{names:{utcTimeName:cb,generalTimeName:cb}})]}),lt.schema(e.subject||{names:{blockName:j6}}),Gs.schema(e.subjectPublicKeyInfo||{names:{blockName:M6}}),new we({name:e.tbsCertificateIssuerUniqueID||ub,optional:!0,idBlock:{tagClass:3,tagNumber:1}}),new we({name:e.tbsCertificateSubjectUniqueID||lb,optional:!0,idBlock:{tagClass:3,tagNumber:2}}),new L({optional:!0,idBlock:{tagClass:3,tagNumber:3},value:[Rt.schema(e.extensions||{names:{blockName:dm}})]})]})}var is=class t extends q{get tbs(){return Se.BufferSourceConverter.toArrayBuffer(this.tbsView)}set tbs(e){this.tbsView=new Uint8Array(e);}constructor(e={}){super(),this.tbsView=new Uint8Array(y(e,DA,t.defaultValues(DA))),this.version=y(e,Gi,t.defaultValues(Gi)),this.serialNumber=y(e,bw,t.defaultValues(bw)),this.signature=y(e,Sw,t.defaultValues(Sw)),this.issuer=y(e,vw,t.defaultValues(vw)),this.notBefore=y(e,Ew,t.defaultValues(Ew)),this.notAfter=y(e,xw,t.defaultValues(xw)),this.subject=y(e,Aw,t.defaultValues(Aw)),this.subjectPublicKeyInfo=y(e,Iw,t.defaultValues(Iw)),P0 in e&&(this.issuerUniqueID=y(e,P0,t.defaultValues(P0))),O0 in e&&(this.subjectUniqueID=y(e,O0,t.defaultValues(O0))),R0 in e&&(this.extensions=y(e,R0,t.defaultValues(R0))),this.signatureAlgorithm=y(e,L0,t.defaultValues(L0)),this.signatureValue=y(e,D0,t.defaultValues(D0)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case DA:return kt;case Gi:return 0;case bw:return new U;case Sw:return new _;case vw:return new lt;case Ew:return new $t;case xw:return new $t;case Aw:return new lt;case Iw:return new Gs;case P0:return kt;case O0:return kt;case R0:return [];case L0:return new _;case D0:return new _e;default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||b,value:[PH(s.tbsCertificate),_.schema(s.signatureAlgorithm||{names:{blockName:L0}}),new _e({name:s.signatureValue||D0})]})}fromSchema(e){W(e,BH);let s=K(e,e,t.schema({names:{tbsCertificate:{names:{extensions:{names:{extensions:dm}}}}}}));M.assertSchema(s,this.className),this.tbsView=s.result.tbsCertificate.valueBeforeDecodeView,ab in s.result&&(this.version=s.result[ab].valueBlock.valueDec),this.serialNumber=s.result[U6],this.signature=new _({schema:s.result[_6]}),this.issuer=new lt({schema:s.result[H6]}),this.notBefore=new $t({schema:s.result[ob]}),this.notAfter=new $t({schema:s.result[cb]}),this.subject=new lt({schema:s.result[j6]}),this.subjectPublicKeyInfo=new Gs({schema:s.result[M6]}),ub in s.result&&(this.issuerUniqueID=s.result[ub].valueBlock.valueHex),lb in s.result&&(this.subjectUniqueID=s.result[lb].valueBlock.valueHex),dm in s.result&&(this.extensions=Array.from(s.result[dm],r=>new Ds({schema:r}))),this.signatureAlgorithm=new _({schema:s.result.signatureAlgorithm}),this.signatureValue=s.result.signatureValue;}encodeTBS(){let e=[];return Gi in this&&this.version!==t.defaultValues(Gi)&&e.push(new L({optional:!0,idBlock:{tagClass:3,tagNumber:0},value:[new U({value:this.version})]})),e.push(this.serialNumber),e.push(this.signature.toSchema()),e.push(this.issuer.toSchema()),e.push(new T({value:[this.notBefore.toSchema(),this.notAfter.toSchema()]})),e.push(this.subject.toSchema()),e.push(this.subjectPublicKeyInfo.toSchema()),this.issuerUniqueID&&e.push(new we({optional:!0,idBlock:{tagClass:3,tagNumber:1},valueHex:this.issuerUniqueID})),this.subjectUniqueID&&e.push(new we({optional:!0,idBlock:{tagClass:3,tagNumber:2},valueHex:this.subjectUniqueID})),this.extensions&&e.push(new L({optional:!0,idBlock:{tagClass:3,tagNumber:3},value:[new T({value:Array.from(this.extensions,s=>s.toSchema())})]})),new T({value:e})}toSchema(e=!1){let s;if(e===!1){if(!this.tbsView.byteLength)return t.schema().value[0];let r=Ot(this.tbsView);M.assert(r,"TBS Certificate"),s=r.result;}else s=this.encodeTBS();return new T({value:[s,this.signatureAlgorithm.toSchema(),this.signatureValue]})}toJSON(){let e={tbs:Se.Convert.ToHex(this.tbsView),version:this.version,serialNumber:this.serialNumber.toJSON(),signature:this.signature.toJSON(),issuer:this.issuer.toJSON(),notBefore:this.notBefore.toJSON(),notAfter:this.notAfter.toJSON(),subject:this.subject.toJSON(),subjectPublicKeyInfo:this.subjectPublicKeyInfo.toJSON(),signatureAlgorithm:this.signatureAlgorithm.toJSON(),signatureValue:this.signatureValue.toJSON()};return Gi in this&&this.version!==t.defaultValues(Gi)&&(e.version=this.version),this.issuerUniqueID&&(e.issuerUniqueID=Se.Convert.ToHex(this.issuerUniqueID)),this.subjectUniqueID&&(e.subjectUniqueID=Se.Convert.ToHex(this.subjectUniqueID)),this.extensions&&(e.extensions=Array.from(this.extensions,s=>s.toJSON())),e}async getPublicKey(e,s=Ve(!0)){return s.getPublicKey(this.subjectPublicKeyInfo,this.signatureAlgorithm,e)}async getKeyHash(e="SHA-1",s=Ve(!0)){return s.digest({name:e},this.subjectPublicKeyInfo.subjectPublicKey.valueBlock.valueHexView)}async sign(e,s="SHA-1",r=Ve(!0)){if(!e)throw new Error("Need to provide a private key for signing");let n=await r.getSignatureParameters(e,s),i=n.parameters;this.signature=n.signatureAlgorithm,this.signatureAlgorithm=n.signatureAlgorithm,this.tbsView=new Uint8Array(this.encodeTBS().toBER());let a=await r.signWithPrivateKey(this.tbsView,e,i);this.signatureValue=new _e({valueHex:a});}async verify(e,s=Ve(!0)){let r;if(e?r=e.subjectPublicKeyInfo:this.issuer.isEqual(this.subject)&&(r=this.subjectPublicKeyInfo),!(r instanceof Gs))throw new Error("Please provide issuer certificate as a parameter");return s.verifyWithPublicKey(this.tbsView,this.signatureValue,r,this.signatureAlgorithm)}};is.CLASS_NAME="Certificate";function yk(t,e=null){if(e&&t.issuer.isEqual(e.issuer)&&t.serialNumber.isEqual(e.serialNumber))return null;let s=!1;if(t.extensions){for(let r of t.extensions)if(r.extnID===P6&&r.parsedValue instanceof wm&&r.parsedValue.cA){s=!0;break}}return s?t:null}var Wu="certId",Ju="certValue",Tu="parsedValue",OH=[Wu,Ju],fb=class t extends q{constructor(e={}){super(),this.certId=y(e,Wu,t.defaultValues(Wu)),this.certValue=y(e,Ju,t.defaultValues(Ju)),Tu in e&&(this.parsedValue=y(e,Tu,t.defaultValues(Tu))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Wu:return b;case Ju:return new be;case Tu:return {};default:return super.defaultValues(e)}}static compareWithDefault(e,s){switch(e){case Wu:return s===b;case Ju:return s instanceof be;case Tu:return s instanceof Object&&Object.keys(s).length===0;default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||b,value:[new ae({name:s.id||"id"}),new L({idBlock:{tagClass:3,tagNumber:0},value:[new be({name:s.value||"value"})]})]})}fromSchema(e){W(e,OH);let s=K(e,e,t.schema({names:{id:Wu,value:Ju}}));M.assertSchema(s,this.className),this.certId=s.result.certId.valueBlock.toString(),this.certValue=s.result.certValue;let r=this.certValue.valueBlock.valueHexView;switch(this.certId){case B4:try{this.parsedValue=is.fromBER(r);}catch{Mr.fromBER(r);}break;case P4:this.parsedValue=Mr.fromBER(r);break;case __:default:throw new Error(`Incorrect CERT_ID value in CertBag: ${this.certId}`)}}toSchema(){return Tu in this&&("acinfo"in this.parsedValue?this.certId=P4:this.certId=B4,this.certValue=new z({valueHex:this.parsedValue.toSchema().toBER(!1)})),new T({value:[new ae({value:this.certId}),new L({idBlock:{tagClass:3,tagNumber:0},value:["toSchema"in this.certValue?this.certValue.toSchema():this.certValue]})]})}toJSON(){return {certId:this.certId,certValue:this.certValue.toJSON()}}};fb.CLASS_NAME="CertBag";var V0="userCertificate",zu="revocationDate",Go="crlEntryExtensions",RH=[V0,zu,Go],hb=class t extends q{constructor(e={}){super(),this.userCertificate=y(e,V0,t.defaultValues(V0)),this.revocationDate=y(e,zu,t.defaultValues(zu)),Go in e&&(this.crlEntryExtensions=y(e,Go,t.defaultValues(Go))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case V0:return new U;case zu:return new $t;case Go:return new Rt;default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||b,value:[new U({name:s.userCertificate||V0}),$t.schema({names:{utcTimeName:s.revocationDate||zu,generalTimeName:s.revocationDate||zu}}),Rt.schema({names:{blockName:s.crlEntryExtensions||Go}},!0)]})}fromSchema(e){W(e,RH);let s=K(e,e,t.schema());M.assertSchema(s,this.className),this.userCertificate=s.result.userCertificate,this.revocationDate=new $t({schema:s.result.revocationDate}),Go in s.result&&(this.crlEntryExtensions=new Rt({schema:s.result.crlEntryExtensions}));}toSchema(){let e=[this.userCertificate,this.revocationDate.toSchema()];return this.crlEntryExtensions&&e.push(this.crlEntryExtensions.toSchema()),new T({value:e})}toJSON(){let e={userCertificate:this.userCertificate.toJSON(),revocationDate:this.revocationDate.toJSON()};return this.crlEntryExtensions&&(e.crlEntryExtensions=this.crlEntryExtensions.toJSON()),e}};hb.CLASS_NAME="RevokedCertificate";var VA="tbs",ud="version",UA="signature",_A="issuer",HA="thisUpdate",ew="nextUpdate",tw="revokedCertificates",sw="crlExtensions",U0="signatureAlgorithm",_0="signatureValue",Fn="tbsCertList",db=`${Fn}.version`,$6=`${Fn}.signature`,q6=`${Fn}.issuer`,mb=`${Fn}.thisUpdate`,Om=`${Fn}.nextUpdate`,pb=`${Fn}.revokedCertificates`,gb=`${Fn}.extensions`,LH=[Fn,db,$6,q6,mb,Om,pb,gb,U0,_0];function DH(t={}){let e=y(t,"names",{});return new T({name:e.blockName||Fn,value:[new U({optional:!0,name:e.tbsCertListVersion||db,value:2}),_.schema(e.signature||{names:{blockName:$6}}),lt.schema(e.issuer||{names:{blockName:q6}}),$t.schema(e.tbsCertListThisUpdate||{names:{utcTimeName:mb,generalTimeName:mb}}),$t.schema(e.tbsCertListNextUpdate||{names:{utcTimeName:Om,generalTimeName:Om}},!0),new T({optional:!0,value:[new Ae({name:e.tbsCertListRevokedCertificates||pb,value:new T({value:[new U,$t.schema(),Rt.schema({},!0)]})})]}),new L({optional:!0,idBlock:{tagClass:3,tagNumber:0},value:[Rt.schema(e.crlExtensions||{names:{blockName:gb}})]})]})}var VH=[R6,tk,I_,C_,sk,O6,L6,N_,T_,rk],kc=class t extends q{get tbs(){return Se.BufferSourceConverter.toArrayBuffer(this.tbsView)}set tbs(e){this.tbsView=new Uint8Array(e);}constructor(e={}){super(),this.tbsView=new Uint8Array(y(e,VA,t.defaultValues(VA))),this.version=y(e,ud,t.defaultValues(ud)),this.signature=y(e,UA,t.defaultValues(UA)),this.issuer=y(e,_A,t.defaultValues(_A)),this.thisUpdate=y(e,HA,t.defaultValues(HA)),ew in e&&(this.nextUpdate=y(e,ew,t.defaultValues(ew))),tw in e&&(this.revokedCertificates=y(e,tw,t.defaultValues(tw))),sw in e&&(this.crlExtensions=y(e,sw,t.defaultValues(sw))),this.signatureAlgorithm=y(e,U0,t.defaultValues(U0)),this.signatureValue=y(e,_0,t.defaultValues(_0)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case VA:return kt;case ud:return 0;case UA:return new _;case _A:return new lt;case HA:return new $t;case ew:return new $t;case tw:return [];case sw:return new Rt;case U0:return new _;case _0:return new _e;default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||"CertificateList",value:[DH(e),_.schema(s.signatureAlgorithm||{names:{blockName:U0}}),new _e({name:s.signatureValue||_0})]})}fromSchema(e){W(e,LH);let s=K(e,e,t.schema());M.assertSchema(s,this.className),this.tbsView=s.result.tbsCertList.valueBeforeDecodeView,db in s.result&&(this.version=s.result[db].valueBlock.valueDec),this.signature=new _({schema:s.result[$6]}),this.issuer=new lt({schema:s.result[q6]}),this.thisUpdate=new $t({schema:s.result[mb]}),Om in s.result&&(this.nextUpdate=new $t({schema:s.result[Om]})),pb in s.result&&(this.revokedCertificates=Array.from(s.result[pb],r=>new hb({schema:r}))),gb in s.result&&(this.crlExtensions=new Rt({schema:s.result[gb]})),this.signatureAlgorithm=new _({schema:s.result.signatureAlgorithm}),this.signatureValue=s.result.signatureValue;}encodeTBS(){let e=[];return this.version!==t.defaultValues(ud)&&e.push(new U({value:this.version})),e.push(this.signature.toSchema()),e.push(this.issuer.toSchema()),e.push(this.thisUpdate.toSchema()),this.nextUpdate&&e.push(this.nextUpdate.toSchema()),this.revokedCertificates&&e.push(new T({value:Array.from(this.revokedCertificates,s=>s.toSchema())})),this.crlExtensions&&e.push(new L({optional:!0,idBlock:{tagClass:3,tagNumber:0},value:[this.crlExtensions.toSchema()]})),new T({value:e})}toSchema(e=!1){let s;if(e)s=this.encodeTBS();else {if(!this.tbsView.byteLength)return t.schema();let r=Ot(this.tbsView);M.assert(r,"TBS Certificate Revocation List"),s=r.result;}return new T({value:[s,this.signatureAlgorithm.toSchema(),this.signatureValue]})}toJSON(){let e={tbs:Se.Convert.ToHex(this.tbsView),version:this.version,signature:this.signature.toJSON(),issuer:this.issuer.toJSON(),thisUpdate:this.thisUpdate.toJSON(),signatureAlgorithm:this.signatureAlgorithm.toJSON(),signatureValue:this.signatureValue.toJSON()};return this.version!==t.defaultValues(ud)&&(e.version=this.version),this.nextUpdate&&(e.nextUpdate=this.nextUpdate.toJSON()),this.revokedCertificates&&(e.revokedCertificates=Array.from(this.revokedCertificates,s=>s.toJSON())),this.crlExtensions&&(e.crlExtensions=this.crlExtensions.toJSON()),e}isCertificateRevoked(e){if(!this.issuer.isEqual(e.issuer)||!this.revokedCertificates)return !1;for(let s of this.revokedCertificates)if(s.userCertificate.isEqual(e.serialNumber))return !0;return !1}async sign(e,s="SHA-1",r=Ve(!0)){if(!e)throw new Error("Need to provide a private key for signing");let n=await r.getSignatureParameters(e,s),{parameters:i}=n;this.signature=n.signatureAlgorithm,this.signatureAlgorithm=n.signatureAlgorithm,this.tbsView=new Uint8Array(this.encodeTBS().toBER());let a=await r.signWithPrivateKey(this.tbsView,e,i);this.signatureValue=new _e({valueHex:a});}async verify(e={},s=Ve(!0)){let r;if(e.issuerCertificate&&(r=e.issuerCertificate.subjectPublicKeyInfo,!this.issuer.isEqual(e.issuerCertificate.subject)))return !1;if(e.publicKeyInfo&&(r=e.publicKeyInfo),!r)throw new Error("Issuer's certificate must be provided as an input parameter");if(this.crlExtensions){for(let n of this.crlExtensions.extensions)if(n.critical&&!VH.includes(n.extnID))return !1}return s.verifyWithPublicKey(this.tbsView,this.signatureValue,r,this.signatureAlgorithm)}};kc.CLASS_NAME="CertificateRevocationList";var Yu="crlId",Zu="crlValue",ld="parsedValue",UH=[Yu,Zu],yb=class t extends q{constructor(e={}){super(),this.crlId=y(e,Yu,t.defaultValues(Yu)),this.crlValue=y(e,Zu,t.defaultValues(Zu)),ld in e&&(this.parsedValue=y(e,ld,t.defaultValues(ld))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Yu:return b;case Zu:return new be;case ld:return {};default:return super.defaultValues(e)}}static compareWithDefault(e,s){switch(e){case Yu:return s===b;case Zu:return s instanceof be;case ld:return s instanceof Object&&Object.keys(s).length===0;default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||b,value:[new ae({name:s.id||"id"}),new L({idBlock:{tagClass:3,tagNumber:0},value:[new be({name:s.value||"value"})]})]})}fromSchema(e){W(e,UH);let s=K(e,e,t.schema({names:{id:Yu,value:Zu}}));switch(M.assertSchema(s,this.className),this.crlId=s.result.crlId.valueBlock.toString(),this.crlValue=s.result.crlValue,this.crlId){case O4:this.parsedValue=kc.fromBER(this.certValue.valueBlock.valueHex);break;default:throw new Error(`Incorrect CRL_ID value in CRLBag: ${this.crlId}`)}}toSchema(){return this.parsedValue&&(this.crlId=O4,this.crlValue=new z({valueHex:this.parsedValue.toSchema().toBER(!1)})),new T({value:[new ae({value:this.crlId}),new L({idBlock:{tagClass:3,tagNumber:0},value:[this.crlValue.toSchema()]})]})}toJSON(){return {crlId:this.crlId,crlValue:this.crlValue.toJSON()}}};yb.CLASS_NAME="CRLBag";var Xu="version",Qu="encryptedContentInfo",Wi="unprotectedAttrs",_H=[Xu,Qu,Wi],Bc=class t extends q{constructor(e={}){super(),this.version=y(e,Xu,t.defaultValues(Xu)),this.encryptedContentInfo=y(e,Qu,t.defaultValues(Qu)),Wi in e&&(this.unprotectedAttrs=y(e,Wi,t.defaultValues(Wi))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Xu:return 0;case Qu:return new Yt;case Wi:return [];default:return super.defaultValues(e)}}static compareWithDefault(e,s){switch(e){case Xu:return s===0;case Qu:return Yt.compareWithDefault("contentType",s.contentType)&&Yt.compareWithDefault("contentEncryptionAlgorithm",s.contentEncryptionAlgorithm)&&Yt.compareWithDefault("encryptedContent",s.encryptedContent);case Wi:return s.length===0;default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||b,value:[new U({name:s.version||b}),Yt.schema(s.encryptedContentInfo||{}),new L({optional:!0,idBlock:{tagClass:3,tagNumber:1},value:[new Ae({name:s.unprotectedAttrs||b,value:xt.schema()})]})]})}fromSchema(e){W(e,_H);let s=K(e,e,t.schema({names:{version:Xu,encryptedContentInfo:{names:{blockName:Qu}},unprotectedAttrs:Wi}}));M.assertSchema(s,this.className),this.version=s.result.version.valueBlock.valueDec,this.encryptedContentInfo=new Yt({schema:s.result.encryptedContentInfo}),Wi in s.result&&(this.unprotectedAttrs=Array.from(s.result.unprotectedAttrs,r=>new xt({schema:r})));}toSchema(){let e=[];return e.push(new U({value:this.version})),e.push(this.encryptedContentInfo.toSchema()),this.unprotectedAttrs&&e.push(new L({optional:!0,idBlock:{tagClass:3,tagNumber:1},value:Array.from(this.unprotectedAttrs,s=>s.toSchema())})),new T({value:e})}toJSON(){let e={version:this.version,encryptedContentInfo:this.encryptedContentInfo.toJSON()};return this.unprotectedAttrs&&(e.unprotectedAttrs=Array.from(this.unprotectedAttrs,s=>s.toJSON())),e}async encrypt(e,s=Ve(!0)){nt.assert(e,"parameters","object");let r={...e,contentType:"1.2.840.113549.1.7.1"};this.encryptedContentInfo=await s.encryptEncryptedContentInfo(r);}async decrypt(e,s=Ve(!0)){nt.assert(e,"parameters","object");let r={...e,encryptedContentInfo:this.encryptedContentInfo};return s.decryptEncryptedContentInfo(r)}};Bc.CLASS_NAME="EncryptedData";var Wo="encryptionAlgorithm",Ji="encryptedData",fd="parsedValue",HH=[Wo,Ji],wb=class t extends q{constructor(e={}){super(),this.encryptionAlgorithm=y(e,Wo,t.defaultValues(Wo)),this.encryptedData=y(e,Ji,t.defaultValues(Ji)),fd in e&&(this.parsedValue=y(e,fd,t.defaultValues(fd))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Wo:return new _;case Ji:return new z;case fd:return {};default:return super.defaultValues(e)}}static compareWithDefault(e,s){switch(e){case Wo:return _.compareWithDefault("algorithmId",s.algorithmId)&&!("algorithmParams"in s);case Ji:return s.isEqual(t.defaultValues(e));case fd:return s instanceof Object&&Object.keys(s).length===0;default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||b,value:[_.schema(s.encryptionAlgorithm||{names:{blockName:Wo}}),new ut({value:[new z({name:s.encryptedData||Ji}),new z({idBlock:{isConstructed:!0},name:s.encryptedData||Ji})]})]})}fromSchema(e){W(e,HH);let s=K(e,e,t.schema({names:{encryptionAlgorithm:{names:{blockName:Wo}},encryptedData:Ji}}));M.assertSchema(s,this.className),this.encryptionAlgorithm=new _({schema:s.result.encryptionAlgorithm}),this.encryptedData=s.result.encryptedData;}toSchema(){return new T({value:[this.encryptionAlgorithm.toSchema(),this.encryptedData]})}toJSON(){return {encryptionAlgorithm:this.encryptionAlgorithm.toJSON(),encryptedData:this.encryptedData.toJSON()}}async parseInternalValues(e,s=Ve(!0)){let n=await new Bc({encryptedContentInfo:new Yt({contentEncryptionAlgorithm:this.encryptionAlgorithm,encryptedContent:this.encryptedData})}).decrypt(e,s);this.parsedValue=Tc.fromBER(n);}async makeInternalValues(e,s=Ve(!0)){if(!this.parsedValue)throw new Error('Please initialize "parsedValue" first');let r=new Bc,n={...e,contentToEncrypt:this.parsedValue.toSchema().toBER(!1)};if(await r.encrypt(n,s),!r.encryptedContentInfo.encryptedContent)throw new Error("The filed `encryptedContent` in EncryptedContentInfo is empty");this.encryptionAlgorithm=r.encryptedContentInfo.contentEncryptionAlgorithm,this.encryptedData=r.encryptedContentInfo.encryptedContent;}};wb.CLASS_NAME="PKCS8ShroudedKeyBag";var el="secretTypeId",tl="secretValue",jH=[el,tl],bb=class t extends q{constructor(e={}){super(),this.secretTypeId=y(e,el,t.defaultValues(el)),this.secretValue=y(e,tl,t.defaultValues(tl)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case el:return b;case tl:return new be;default:return super.defaultValues(e)}}static compareWithDefault(e,s){switch(e){case el:return s===b;case tl:return s instanceof be;default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||b,value:[new ae({name:s.id||"id"}),new L({idBlock:{tagClass:3,tagNumber:0},value:[new be({name:s.value||"value"})]})]})}fromSchema(e){W(e,jH);let s=K(e,e,t.schema({names:{id:el,value:tl}}));M.assertSchema(s,this.className),this.secretTypeId=s.result.secretTypeId.valueBlock.toString(),this.secretValue=s.result.secretValue;}toSchema(){return new T({value:[new ae({value:this.secretTypeId}),new L({idBlock:{tagClass:3,tagNumber:0},value:[this.secretValue.toSchema()]})]})}toJSON(){return {secretTypeId:this.secretTypeId,secretValue:this.secretValue.toJSON()}}};bb.CLASS_NAME="SecretBag";var n6=class t{static getItems(){return this.items||(this.items={},t.register("1.2.840.113549.1.12.10.1.1",Tc),t.register("1.2.840.113549.1.12.10.1.2",wb),t.register("1.2.840.113549.1.12.10.1.3",fb),t.register("1.2.840.113549.1.12.10.1.4",yb),t.register("1.2.840.113549.1.12.10.1.5",bb),t.register("1.2.840.113549.1.12.10.1.6",ga)),this.items}static register(e,s){this.getItems()[e]=s;}static find(e){return this.getItems()[e]||null}},Jo="bagId",zo="bagValue",kn="bagAttributes",MH=[Jo,zo,kn],Rm=class t extends q{constructor(e={}){super(),this.bagId=y(e,Jo,t.defaultValues(Jo)),this.bagValue=y(e,zo,t.defaultValues(zo)),kn in e&&(this.bagAttributes=y(e,kn,t.defaultValues(kn))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Jo:return b;case zo:return new be;case kn:return [];default:return super.defaultValues(e)}}static compareWithDefault(e,s){switch(e){case Jo:return s===b;case zo:return s instanceof be;case kn:return s.length===0;default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||b,value:[new ae({name:s.bagId||Jo}),new L({idBlock:{tagClass:3,tagNumber:0},value:[new be({name:s.bagValue||zo})]}),new bt({optional:!0,value:[new Ae({name:s.bagAttributes||kn,value:xt.schema()})]})]})}fromSchema(e){W(e,MH);let s=K(e,e,t.schema({names:{bagId:Jo,bagValue:zo,bagAttributes:kn}}));M.assertSchema(s,this.className),this.bagId=s.result.bagId.valueBlock.toString();let r=n6.find(this.bagId);if(!r)throw new Error(`Invalid BAG_ID for SafeBag: ${this.bagId}`);this.bagValue=new r({schema:s.result.bagValue}),kn in s.result&&(this.bagAttributes=Array.from(s.result.bagAttributes,n=>new xt({schema:n})));}toSchema(){let e=[new ae({value:this.bagId}),new L({idBlock:{tagClass:3,tagNumber:0},value:[this.bagValue.toSchema()]})];return this.bagAttributes&&e.push(new bt({value:Array.from(this.bagAttributes,s=>s.toSchema())})),new T({value:e})}toJSON(){let e={bagId:this.bagId,bagValue:this.bagValue.toJSON()};return this.bagAttributes&&(e.bagAttributes=Array.from(this.bagAttributes,s=>s.toJSON())),e}};Rm.CLASS_NAME="SafeBag";var ku="safeBags",ga=class t extends q{constructor(e={}){super(),this.safeBags=y(e,ku,t.defaultValues(ku)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case ku:return [];default:return super.defaultValues(e)}}static compareWithDefault(e,s){switch(e){case ku:return s.length===0;default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||b,value:[new Ae({name:s.safeBags||b,value:Rm.schema()})]})}fromSchema(e){W(e,[ku]);let s=K(e,e,t.schema({names:{safeBags:ku}}));M.assertSchema(s,this.className),this.safeBags=Array.from(s.result.safeBags,r=>new Rm({schema:r}));}toSchema(){return new T({value:Array.from(this.safeBags,e=>e.toSchema())})}toJSON(){return {safeBags:Array.from(this.safeBags,e=>e.toJSON())}}};ga.CLASS_NAME="SafeContents";var H0="otherCertFormat",j0="otherCert",$H=[H0,j0],of=class t extends q{constructor(e={}){super(),this.otherCertFormat=y(e,H0,t.defaultValues(H0)),this.otherCert=y(e,j0,t.defaultValues(j0)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case H0:return b;case j0:return new be;default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||b,value:[new ae({name:s.otherCertFormat||H0}),new be({name:s.otherCert||j0})]})}fromSchema(e){W(e,$H);let s=K(e,e,t.schema());M.assertSchema(s,this.className),this.otherCertFormat=s.result.otherCertFormat.valueBlock.toString(),this.otherCert=s.result.otherCert;}toSchema(){return new T({value:[new ae({value:this.otherCertFormat}),this.otherCert]})}toJSON(){let e={otherCertFormat:this.otherCertFormat};return this.otherCert instanceof be||(e.otherCert=this.otherCert.toJSON()),e}},M0="certificates",qH=[M0],$n=class t extends q{constructor(e={}){super(),this.certificates=y(e,M0,t.defaultValues(M0)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case M0:return [];default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new bt({name:s.blockName||b,value:[new Ae({name:s.certificates||M0,value:new ut({value:[is.schema(),new L({idBlock:{tagClass:3,tagNumber:0},value:[new be]}),new L({idBlock:{tagClass:3,tagNumber:1},value:[new T]}),new L({idBlock:{tagClass:3,tagNumber:2},value:Mr.schema().valueBlock.value}),new L({idBlock:{tagClass:3,tagNumber:3},value:of.schema().valueBlock.value})]})})]})}fromSchema(e){W(e,qH);let s=K(e,e,t.schema());M.assertSchema(s,this.className),this.certificates=Array.from(s.result.certificates||[],r=>{let n=r.idBlock.tagNumber;if(r.idBlock.tagClass===1)return new is({schema:r});let i=new T({value:r.valueBlock.value});switch(n){case 1:return i.valueBlock.value[0].valueBlock.value[0].valueBlock.valueDec===1?new Mr({schema:i}):new hf({schema:i});case 2:return new Mr({schema:i});case 3:return new of({schema:i})}return r});}toSchema(){return new bt({value:Array.from(this.certificates,e=>{switch(!0){case e instanceof is:return e.toSchema();case e instanceof hf:return new L({idBlock:{tagClass:3,tagNumber:1},value:e.toSchema().valueBlock.value});case e instanceof Mr:return new L({idBlock:{tagClass:3,tagNumber:2},value:e.toSchema().valueBlock.value});case e instanceof of:return new L({idBlock:{tagClass:3,tagNumber:3},value:e.toSchema().valueBlock.value})}return e.toSchema()})})}toJSON(){return {certificates:Array.from(this.certificates,e=>e.toJSON())}}};$n.CLASS_NAME="CertificateSet";var $0="otherRevInfoFormat",q0="otherRevInfo",FH=[$0,q0],Ec=class t extends q{constructor(e={}){super(),this.otherRevInfoFormat=y(e,$0,t.defaultValues($0)),this.otherRevInfo=y(e,q0,t.defaultValues(q0)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case $0:return b;case q0:return new be;default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||b,value:[new ae({name:s.otherRevInfoFormat||$0}),new be({name:s.otherRevInfo||q0})]})}fromSchema(e){W(e,FH);let s=K(e,e,t.schema());M.assertSchema(s,this.className),this.otherRevInfoFormat=s.result.otherRevInfoFormat.valueBlock.toString(),this.otherRevInfo=s.result.otherRevInfo;}toSchema(){return new T({value:[new ae({value:this.otherRevInfoFormat}),this.otherRevInfo]})}toJSON(){let e={otherRevInfoFormat:this.otherRevInfoFormat};return this.otherRevInfo instanceof be||(e.otherRevInfo=this.otherRevInfo.toJSON()),e}};Ec.CLASS_NAME="OtherRevocationInfoFormat";var F0="crls",jA="otherRevocationInfos",KH=[F0],xc=class t extends q{constructor(e={}){super(),this.crls=y(e,F0,t.defaultValues(F0)),this.otherRevocationInfos=y(e,jA,t.defaultValues(jA)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case F0:return [];case jA:return [];default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new bt({name:s.blockName||b,value:[new Ae({name:s.crls||b,value:new ut({value:[kc.schema(),new L({idBlock:{tagClass:3,tagNumber:1},value:[new ae,new be]})]})})]})}fromSchema(e){W(e,KH);let s=K(e,e,t.schema({names:{crls:F0}}));if(M.assertSchema(s,this.className),s.result.crls)for(let r of s.result.crls)r.idBlock.tagClass===1?this.crls.push(new kc({schema:r})):this.otherRevocationInfos.push(new Ec({schema:r}));}toSchema(){let e=[];return e.push(...Array.from(this.crls,s=>s.toSchema())),e.push(...Array.from(this.otherRevocationInfos,s=>{let r=s.toSchema();return r.idBlock.tagClass=3,r.idBlock.tagNumber=1,r})),new bt({value:e})}toJSON(){return {crls:Array.from(this.crls,e=>e.toJSON()),otherRevocationInfos:Array.from(this.otherRevocationInfos,e=>e.toJSON())}}};xc.CLASS_NAME="RevocationInfoChoices";var K0="certs",Yo="crls",GH=[K0,Yo],cf=class t extends q{constructor(e={}){super(),this.crls=y(e,Yo,t.defaultValues(Yo)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case K0:return new $n;case Yo:return new xc;default:return super.defaultValues(e)}}static compareWithDefault(e,s){switch(e){case K0:return s.certificates.length===0;case Yo:return s.crls.length===0&&s.otherRevocationInfos.length===0;default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||b,value:[new L({name:s.certs||b,optional:!0,idBlock:{tagClass:3,tagNumber:0},value:$n.schema().valueBlock.value}),new L({name:s.crls||b,optional:!0,idBlock:{tagClass:3,tagNumber:1},value:xc.schema().valueBlock.value})]})}fromSchema(e){W(e,GH);let s=K(e,e,t.schema({names:{certs:K0,crls:Yo}}));M.assertSchema(s,this.className),K0 in s.result&&(this.certs=new $n({schema:new bt({value:s.result.certs.valueBlock.value})})),Yo in s.result&&(this.crls=new xc({schema:new bt({value:s.result.crls.valueBlock.value})}));}toSchema(){let e=[];return this.certs&&e.push(new L({idBlock:{tagClass:3,tagNumber:0},value:this.certs.toSchema().valueBlock.value})),this.crls&&e.push(new L({idBlock:{tagClass:3,tagNumber:1},value:this.crls.toSchema().valueBlock.value})),new T({value:e})}toJSON(){let e={};return this.certs&&(e.certs=this.certs.toJSON()),this.crls&&(e.crls=this.crls.toJSON()),e}};cf.CLASS_NAME="OriginatorInfo";var G0="issuer",W0="serialNumber",WH=[G0,W0],qt=class t extends q{constructor(e={}){super(),this.issuer=y(e,G0,t.defaultValues(G0)),this.serialNumber=y(e,W0,t.defaultValues(W0)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case G0:return new lt;case W0:return new U;default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||b,value:[lt.schema(s.issuer||{}),new U({name:s.serialNumber||b})]})}fromSchema(e){W(e,WH);let s=K(e,e,t.schema({names:{issuer:{names:{blockName:G0}},serialNumber:W0}}));M.assertSchema(s,this.className),this.issuer=new lt({schema:s.result.issuer}),this.serialNumber=s.result.serialNumber;}toSchema(){return new T({value:[this.issuer.toSchema(),this.serialNumber]})}toJSON(){return {issuer:this.issuer.toJSON(),serialNumber:this.serialNumber.toJSON()}}};qt.CLASS_NAME="IssuerAndSerialNumber";var rw="variant",hd="value",JH=["blockName"],Sb=class t extends q{constructor(e={}){super(),this.variant=y(e,rw,t.defaultValues(rw)),hd in e&&(this.value=y(e,hd,t.defaultValues(hd))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case rw:return -1;case hd:return {};default:return super.defaultValues(e)}}static compareWithDefault(e,s){switch(e){case rw:return s===-1;case hd:return Object.keys(s).length===0;default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new ut({value:[qt.schema({names:{blockName:s.blockName||b}}),new we({name:s.blockName||b,idBlock:{tagClass:3,tagNumber:0}})]})}fromSchema(e){W(e,JH);let s=K(e,e,t.schema({names:{blockName:"blockName"}}));M.assertSchema(s,this.className),s.result.blockName.idBlock.tagClass===1?(this.variant=1,this.value=new qt({schema:s.result.blockName})):(this.variant=2,this.value=new z({valueHex:s.result.blockName.valueBlock.valueHex}));}toSchema(){switch(this.variant){case 1:if(!(this.value instanceof qt))throw new Error("Incorrect type of RecipientIdentifier.value. It should be IssuerAndSerialNumber.");return this.value.toSchema();case 2:if(!(this.value instanceof z))throw new Error("Incorrect type of RecipientIdentifier.value. It should be ASN.1 OctetString.");return new we({idBlock:{tagClass:3,tagNumber:0},valueHex:this.value.valueBlock.valueHexView});default:return new be}}toJSON(){let e={variant:this.variant};return (this.variant===1||this.variant===2)&&this.value&&(e.value=this.value.toJSON()),e}};Sb.CLASS_NAME="RecipientIdentifier";var Zo="version",sl="rid",rl="keyEncryptionAlgorithm",nl="encryptedKey",nw="recipientCertificate",zH=[Zo,sl,rl,nl],df=class t extends q{constructor(e={}){super(),this.version=y(e,Zo,t.defaultValues(Zo)),this.rid=y(e,sl,t.defaultValues(sl)),this.keyEncryptionAlgorithm=y(e,rl,t.defaultValues(rl)),this.encryptedKey=y(e,nl,t.defaultValues(nl)),this.recipientCertificate=y(e,nw,t.defaultValues(nw)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Zo:return -1;case sl:return {};case rl:return new _;case nl:return new z;case nw:return new is;default:return super.defaultValues(e)}}static compareWithDefault(e,s){switch(e){case Zo:return s===t.defaultValues(Zo);case sl:return Object.keys(s).length===0;case rl:case nl:return s.isEqual(t.defaultValues(e));case nw:return !1;default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||b,value:[new U({name:s.version||b}),Sb.schema(s.rid||{}),_.schema(s.keyEncryptionAlgorithm||{}),new z({name:s.encryptedKey||b})]})}fromSchema(e){W(e,zH);let s=K(e,e,t.schema({names:{version:Zo,rid:{names:{blockName:sl}},keyEncryptionAlgorithm:{names:{blockName:rl}},encryptedKey:nl}}));M.assertSchema(s,this.className),this.version=s.result.version.valueBlock.valueDec,s.result.rid.idBlock.tagClass===3?this.rid=new z({valueHex:s.result.rid.valueBlock.valueHex}):this.rid=new qt({schema:s.result.rid}),this.keyEncryptionAlgorithm=new _({schema:s.result.keyEncryptionAlgorithm}),this.encryptedKey=s.result.encryptedKey;}toSchema(){let e=[];return this.rid instanceof qt?(this.version=0,e.push(new U({value:this.version})),e.push(this.rid.toSchema())):(this.version=2,e.push(new U({value:this.version})),e.push(new we({idBlock:{tagClass:3,tagNumber:0},valueHex:this.rid.valueBlock.valueHexView}))),e.push(this.keyEncryptionAlgorithm.toSchema()),e.push(this.encryptedKey),new T({value:e})}toJSON(){return {version:this.version,rid:this.rid.toJSON(),keyEncryptionAlgorithm:this.keyEncryptionAlgorithm.toJSON(),encryptedKey:this.encryptedKey.toJSON()}}};df.CLASS_NAME="KeyTransRecipientInfo";var il="algorithm",al="publicKey",YH=[il,al],mf=class t extends q{constructor(e={}){super(),this.algorithm=y(e,il,t.defaultValues(il)),this.publicKey=y(e,al,t.defaultValues(al)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case il:return new _;case al:return new _e;default:return super.defaultValues(e)}}static compareWithDefault(e,s){switch(e){case il:case al:return s.isEqual(t.defaultValues(e));default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||b,value:[_.schema(s.algorithm||{}),new _e({name:s.publicKey||b})]})}fromSchema(e){W(e,YH);let s=K(e,e,t.schema({names:{algorithm:{names:{blockName:il}},publicKey:al}}));M.assertSchema(s,this.className),this.algorithm=new _({schema:s.result.algorithm}),this.publicKey=s.result.publicKey;}toSchema(){return new T({value:[this.algorithm.toSchema(),this.publicKey]})}toJSON(){return {algorithm:this.algorithm.toJSON(),publicKey:this.publicKey.toJSON()}}};mf.CLASS_NAME="OriginatorPublicKey";var iw="variant",dd="value",ZH=["blockName"],Ac=class t extends q{constructor(e={}){super(),this.variant=y(e,iw,t.defaultValues(iw)),dd in e&&(this.value=y(e,dd,t.defaultValues(dd))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case iw:return -1;case dd:return {};default:return super.defaultValues(e)}}static compareWithDefault(e,s){switch(e){case iw:return s===-1;case dd:return Object.keys(s).length===0;default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new ut({value:[qt.schema({names:{blockName:s.blockName||b}}),new we({idBlock:{tagClass:3,tagNumber:0},name:s.blockName||b}),new L({idBlock:{tagClass:3,tagNumber:1},name:s.blockName||b,value:mf.schema().valueBlock.value})]})}fromSchema(e){W(e,ZH);let s=K(e,e,t.schema({names:{blockName:"blockName"}}));M.assertSchema(s,this.className),s.result.blockName.idBlock.tagClass===1?(this.variant=1,this.value=new qt({schema:s.result.blockName})):s.result.blockName.idBlock.tagNumber===0?(s.result.blockName.idBlock.tagClass=1,s.result.blockName.idBlock.tagNumber=4,this.variant=2,this.value=s.result.blockName):(this.variant=3,this.value=new mf({schema:new T({value:s.result.blockName.valueBlock.value})}));}toSchema(){switch(this.variant){case 1:return this.value.toSchema();case 2:return this.value.idBlock.tagClass=3,this.value.idBlock.tagNumber=0,this.value;case 3:{let e=this.value.toSchema();return e.idBlock.tagClass=3,e.idBlock.tagNumber=1,e}default:return new be}}toJSON(){let e={variant:this.variant};return (this.variant===1||this.variant===2||this.variant===3)&&(e.value=this.value.toJSON()),e}};Ac.CLASS_NAME="OriginatorIdentifierOrKey";var ol="keyAttrId",Hr="keyAttr",XH=[ol,Hr],qn=class t extends q{constructor(e={}){super(),this.keyAttrId=y(e,ol,t.defaultValues(ol)),Hr in e&&(this.keyAttr=y(e,Hr,t.defaultValues(Hr))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case ol:return b;case Hr:return {};default:return super.defaultValues(e)}}static compareWithDefault(e,s){switch(e){case ol:return typeof s=="string"&&s===b;case Hr:return Object.keys(s).length===0;default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({optional:s.optional||!0,name:s.blockName||b,value:[new ae({name:s.keyAttrId||b}),new be({optional:!0,name:s.keyAttr||b})]})}fromSchema(e){W(e,XH);let s=K(e,e,t.schema({names:{keyAttrId:ol,keyAttr:Hr}}));M.assertSchema(s,this.className),this.keyAttrId=s.result.keyAttrId.valueBlock.toString(),Hr in s.result&&(this.keyAttr=s.result.keyAttr);}toSchema(){let e=[];return e.push(new ae({value:this.keyAttrId})),Hr in this&&e.push(this.keyAttr),new T({value:e})}toJSON(){let e={keyAttrId:this.keyAttrId};return Hr in this&&(e.keyAttr=this.keyAttr.toJSON()),e}};qn.CLASS_NAME="OtherKeyAttribute";var Xo="subjectKeyIdentifier",zi="date",Yi="other",QH=[Xo,zi,Yi],pf=class t extends q{constructor(e={}){super(),this.subjectKeyIdentifier=y(e,Xo,t.defaultValues(Xo)),zi in e&&(this.date=y(e,zi,t.defaultValues(zi))),Yi in e&&(this.other=y(e,Yi,t.defaultValues(Yi))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Xo:return new z;case zi:return new ct;case Yi:return new qn;default:return super.defaultValues(e)}}static compareWithDefault(e,s){switch(e){case Xo:return s.isEqual(t.defaultValues(Xo));case zi:return s.year===0&&s.month===0&&s.day===0&&s.hour===0&&s.minute===0&&s.second===0&&s.millisecond===0;case Yi:return s.keyAttrId===b&&!("keyAttr"in s);default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||b,value:[new z({name:s.subjectKeyIdentifier||b}),new ct({optional:!0,name:s.date||b}),qn.schema(s.other||{})]})}fromSchema(e){W(e,QH);let s=K(e,e,t.schema({names:{subjectKeyIdentifier:Xo,date:zi,other:{names:{blockName:Yi}}}}));M.assertSchema(s,this.className),this.subjectKeyIdentifier=s.result.subjectKeyIdentifier,zi in s.result&&(this.date=s.result.date),Yi in s.result&&(this.other=new qn({schema:s.result.other}));}toSchema(){let e=[];return e.push(this.subjectKeyIdentifier),this.date&&e.push(this.date),this.other&&e.push(this.other.toSchema()),new T({value:e})}toJSON(){let e={subjectKeyIdentifier:this.subjectKeyIdentifier.toJSON()};return this.date&&(e.date=this.date.toJSON()),this.other&&(e.other=this.other.toJSON()),e}};pf.CLASS_NAME="RecipientKeyIdentifier";var aw="variant",ow="value",ej=["blockName"],wa=class t extends q{constructor(e={}){super(),this.variant=y(e,aw,t.defaultValues(aw)),this.value=y(e,ow,t.defaultValues(ow)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case aw:return -1;case ow:return {};default:return super.defaultValues(e)}}static compareWithDefault(e,s){switch(e){case aw:return s===-1;case ow:return Object.keys(s).length===0;default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new ut({value:[qt.schema(s.issuerAndSerialNumber||{names:{blockName:s.blockName||b}}),new L({name:s.blockName||b,idBlock:{tagClass:3,tagNumber:0},value:pf.schema(s.rKeyId||{names:{blockName:s.blockName||b}}).valueBlock.value})]})}fromSchema(e){W(e,ej);let s=K(e,e,t.schema({names:{blockName:"blockName"}}));M.assertSchema(s,this.className),s.result.blockName.idBlock.tagClass===1?(this.variant=1,this.value=new qt({schema:s.result.blockName})):(this.variant=2,this.value=new pf({schema:new T({value:s.result.blockName.valueBlock.value})}));}toSchema(){switch(this.variant){case 1:return this.value.toSchema();case 2:return new L({idBlock:{tagClass:3,tagNumber:0},value:this.value.toSchema().valueBlock.value});default:return new be}}toJSON(){let e={variant:this.variant};return (this.variant===1||this.variant===2)&&(e.value=this.value.toJSON()),e}};wa.CLASS_NAME="KeyAgreeRecipientIdentifier";var cl="rid",Qo="encryptedKey",tj=[cl,Qo],gf=class t extends q{constructor(e={}){super(),this.rid=y(e,cl,t.defaultValues(cl)),this.encryptedKey=y(e,Qo,t.defaultValues(Qo)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case cl:return new wa;case Qo:return new z;default:return super.defaultValues(e)}}static compareWithDefault(e,s){switch(e){case cl:return s.variant===-1&&!("value"in s);case Qo:return s.isEqual(t.defaultValues(Qo));default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||b,value:[wa.schema(s.rid||{}),new z({name:s.encryptedKey||b})]})}fromSchema(e){W(e,tj);let s=K(e,e,t.schema({names:{rid:{names:{blockName:cl}},encryptedKey:Qo}}));M.assertSchema(s,this.className),this.rid=new wa({schema:s.result.rid}),this.encryptedKey=s.result.encryptedKey;}toSchema(){return new T({value:[this.rid.toSchema(),this.encryptedKey]})}toJSON(){return {rid:this.rid.toJSON(),encryptedKey:this.encryptedKey.toJSON()}}};gf.CLASS_NAME="RecipientEncryptedKey";var cw="encryptedKeys",wk="RecipientEncryptedKeys",sj=[wk],Ic=class t extends q{constructor(e={}){super(),this.encryptedKeys=y(e,cw,t.defaultValues(cw)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case cw:return [];default:return super.defaultValues(e)}}static compareWithDefault(e,s){switch(e){case cw:return s.length===0;default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||b,value:[new Ae({name:s.RecipientEncryptedKeys||b,value:gf.schema()})]})}fromSchema(e){W(e,sj);let s=K(e,e,t.schema({names:{RecipientEncryptedKeys:wk}}));M.assertSchema(s,this.className),this.encryptedKeys=Array.from(s.result.RecipientEncryptedKeys,r=>new gf({schema:r}));}toSchema(){return new T({value:Array.from(this.encryptedKeys,e=>e.toSchema())})}toJSON(){return {encryptedKeys:Array.from(this.encryptedKeys,e=>e.toJSON())}}};Ic.CLASS_NAME="RecipientEncryptedKeys";var ul="version",ll="originator",Bn="ukm",fl="keyEncryptionAlgorithm",hl="recipientEncryptedKeys",uw="recipientCertificate",lw="recipientPublicKey",rj=[ul,ll,Bn,fl,hl],yf=class t extends q{constructor(e={}){super(),this.version=y(e,ul,t.defaultValues(ul)),this.originator=y(e,ll,t.defaultValues(ll)),Bn in e&&(this.ukm=y(e,Bn,t.defaultValues(Bn))),this.keyEncryptionAlgorithm=y(e,fl,t.defaultValues(fl)),this.recipientEncryptedKeys=y(e,hl,t.defaultValues(hl)),this.recipientCertificate=y(e,uw,t.defaultValues(uw)),this.recipientPublicKey=y(e,lw,t.defaultValues(lw)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case ul:return 0;case ll:return new Ac;case Bn:return new z;case fl:return new _;case hl:return new Ic;case uw:return new is;case lw:return null;default:return super.defaultValues(e)}}static compareWithDefault(e,s){switch(e){case ul:return s===0;case ll:return s.variant===-1&&!("value"in s);case Bn:return s.isEqual(t.defaultValues(Bn));case fl:return s.algorithmId===b&&!("algorithmParams"in s);case hl:return s.encryptedKeys.length===0;case uw:return !1;case lw:return !1;default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||b,value:[new U({name:s.version||b}),new L({idBlock:{tagClass:3,tagNumber:0},value:[Ac.schema(s.originator||{})]}),new L({optional:!0,idBlock:{tagClass:3,tagNumber:1},value:[new z({name:s.ukm||b})]}),_.schema(s.keyEncryptionAlgorithm||{}),Ic.schema(s.recipientEncryptedKeys||{})]})}fromSchema(e){W(e,rj);let s=K(e,e,t.schema({names:{version:ul,originator:{names:{blockName:ll}},ukm:Bn,keyEncryptionAlgorithm:{names:{blockName:fl}},recipientEncryptedKeys:{names:{blockName:hl}}}}));M.assertSchema(s,this.className),this.version=s.result.version.valueBlock.valueDec,this.originator=new Ac({schema:s.result.originator}),Bn in s.result&&(this.ukm=s.result.ukm),this.keyEncryptionAlgorithm=new _({schema:s.result.keyEncryptionAlgorithm}),this.recipientEncryptedKeys=new Ic({schema:s.result.recipientEncryptedKeys});}toSchema(){let e=[];return e.push(new U({value:this.version})),e.push(new L({idBlock:{tagClass:3,tagNumber:0},value:[this.originator.toSchema()]})),this.ukm&&e.push(new L({optional:!0,idBlock:{tagClass:3,tagNumber:1},value:[this.ukm]})),e.push(this.keyEncryptionAlgorithm.toSchema()),e.push(this.recipientEncryptedKeys.toSchema()),new T({value:e})}toJSON(){let e={version:this.version,originator:this.originator.toJSON(),keyEncryptionAlgorithm:this.keyEncryptionAlgorithm.toJSON(),recipientEncryptedKeys:this.recipientEncryptedKeys.toJSON()};return this.ukm&&(e.ukm=this.ukm.toJSON()),e}};yf.CLASS_NAME="KeyAgreeRecipientInfo";var ec="keyIdentifier",Zi="date",Xi="other",nj=[ec,Zi,Xi],Cc=class t extends q{constructor(e={}){super(),this.keyIdentifier=y(e,ec,t.defaultValues(ec)),Zi in e&&(this.date=y(e,Zi,t.defaultValues(Zi))),Xi in e&&(this.other=y(e,Xi,t.defaultValues(Xi))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case ec:return new z;case Zi:return new ct;case Xi:return new qn;default:return super.defaultValues(e)}}static compareWithDefault(e,s){switch(e){case ec:return s.isEqual(t.defaultValues(ec));case Zi:return s.year===0&&s.month===0&&s.day===0&&s.hour===0&&s.minute===0&&s.second===0&&s.millisecond===0;case Xi:return s.compareWithDefault("keyAttrId",s.keyAttrId)&&!("keyAttr"in s);default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||b,value:[new z({name:s.keyIdentifier||b}),new ct({optional:!0,name:s.date||b}),qn.schema(s.other||{})]})}fromSchema(e){W(e,nj);let s=K(e,e,t.schema({names:{keyIdentifier:ec,date:Zi,other:{names:{blockName:Xi}}}}));M.assertSchema(s,this.className),this.keyIdentifier=s.result.keyIdentifier,Zi in s.result&&(this.date=s.result.date),Xi in s.result&&(this.other=new qn({schema:s.result.other}));}toSchema(){let e=[];return e.push(this.keyIdentifier),this.date&&e.push(this.date),this.other&&e.push(this.other.toSchema()),new T({value:e})}toJSON(){let e={keyIdentifier:this.keyIdentifier.toJSON()};return this.date&&(e.date=this.date),this.other&&(e.other=this.other.toJSON()),e}};Cc.CLASS_NAME="KEKIdentifier";var dl="version",ml="kekid",pl="keyEncryptionAlgorithm",tc="encryptedKey",fw="preDefinedKEK",ij=[dl,ml,pl,tc],wf=class t extends q{constructor(e={}){super(),this.version=y(e,dl,t.defaultValues(dl)),this.kekid=y(e,ml,t.defaultValues(ml)),this.keyEncryptionAlgorithm=y(e,pl,t.defaultValues(pl)),this.encryptedKey=y(e,tc,t.defaultValues(tc)),this.preDefinedKEK=y(e,fw,t.defaultValues(fw)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case dl:return 0;case ml:return new Cc;case pl:return new _;case tc:return new z;case fw:return kt;default:return super.defaultValues(e)}}static compareWithDefault(e,s){switch(e){case"KEKRecipientInfo":return s===t.defaultValues(dl);case ml:return s.compareWithDefault("keyIdentifier",s.keyIdentifier)&&!("date"in s)&&!("other"in s);case pl:return s.algorithmId===b&&!("algorithmParams"in s);case tc:return s.isEqual(t.defaultValues(tc));case fw:return s.byteLength===0;default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||b,value:[new U({name:s.version||b}),Cc.schema(s.kekid||{}),_.schema(s.keyEncryptionAlgorithm||{}),new z({name:s.encryptedKey||b})]})}fromSchema(e){W(e,ij);let s=K(e,e,t.schema({names:{version:dl,kekid:{names:{blockName:ml}},keyEncryptionAlgorithm:{names:{blockName:pl}},encryptedKey:tc}}));M.assertSchema(s,this.className),this.version=s.result.version.valueBlock.valueDec,this.kekid=new Cc({schema:s.result.kekid}),this.keyEncryptionAlgorithm=new _({schema:s.result.keyEncryptionAlgorithm}),this.encryptedKey=s.result.encryptedKey;}toSchema(){return new T({value:[new U({value:this.version}),this.kekid.toSchema(),this.keyEncryptionAlgorithm.toSchema(),this.encryptedKey]})}toJSON(){return {version:this.version,kekid:this.kekid.toJSON(),keyEncryptionAlgorithm:this.keyEncryptionAlgorithm.toJSON(),encryptedKey:this.encryptedKey.toJSON()}}};wf.CLASS_NAME="KEKRecipientInfo";var gl="version",Qi="keyDerivationAlgorithm",yl="keyEncryptionAlgorithm",sc="encryptedKey",hw="password",aj=[gl,Qi,yl,sc],bf=class t extends q{constructor(e={}){super(),this.version=y(e,gl,t.defaultValues(gl)),Qi in e&&(this.keyDerivationAlgorithm=y(e,Qi,t.defaultValues(Qi))),this.keyEncryptionAlgorithm=y(e,yl,t.defaultValues(yl)),this.encryptedKey=y(e,sc,t.defaultValues(sc)),this.password=y(e,hw,t.defaultValues(hw)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case gl:return -1;case Qi:return new _;case yl:return new _;case sc:return new z;case hw:return kt;default:return super.defaultValues(e)}}static compareWithDefault(e,s){switch(e){case gl:return s===-1;case Qi:case yl:return s.algorithmId===b&&!("algorithmParams"in s);case sc:return s.isEqual(t.defaultValues(sc));case hw:return s.byteLength===0;default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||b,value:[new U({name:s.version||b}),new L({name:s.keyDerivationAlgorithm||b,optional:!0,idBlock:{tagClass:3,tagNumber:0},value:_.schema().valueBlock.value}),_.schema(s.keyEncryptionAlgorithm||{}),new z({name:s.encryptedKey||b})]})}fromSchema(e){W(e,aj);let s=K(e,e,t.schema({names:{version:gl,keyDerivationAlgorithm:Qi,keyEncryptionAlgorithm:{names:{blockName:yl}},encryptedKey:sc}}));M.assertSchema(s,this.className),this.version=s.result.version.valueBlock.valueDec,Qi in s.result&&(this.keyDerivationAlgorithm=new _({schema:new T({value:s.result.keyDerivationAlgorithm.valueBlock.value})})),this.keyEncryptionAlgorithm=new _({schema:s.result.keyEncryptionAlgorithm}),this.encryptedKey=s.result.encryptedKey;}toSchema(){let e=[];return e.push(new U({value:this.version})),this.keyDerivationAlgorithm&&e.push(new L({idBlock:{tagClass:3,tagNumber:0},value:this.keyDerivationAlgorithm.toSchema().valueBlock.value})),e.push(this.keyEncryptionAlgorithm.toSchema()),e.push(this.encryptedKey),new T({value:e})}toJSON(){let e={version:this.version,keyEncryptionAlgorithm:this.keyEncryptionAlgorithm.toJSON(),encryptedKey:this.encryptedKey.toJSON()};return this.keyDerivationAlgorithm&&(e.keyDerivationAlgorithm=this.keyDerivationAlgorithm.toJSON()),e}};bf.CLASS_NAME="PasswordRecipientInfo";var wl="oriType",rc="oriValue",oj=[wl,rc],Lm=class t extends q{constructor(e={}){super(),this.oriType=y(e,wl,t.defaultValues(wl)),this.oriValue=y(e,rc,t.defaultValues(rc)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case wl:return b;case rc:return {};default:return super.defaultValues(e)}}static compareWithDefault(e,s){switch(e){case wl:return s===b;case rc:return Object.keys(s).length===0;default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||b,value:[new ae({name:s.oriType||b}),new be({name:s.oriValue||b})]})}fromSchema(e){W(e,oj);let s=K(e,e,t.schema({names:{oriType:wl,oriValue:rc}}));M.assertSchema(s,this.className),this.oriType=s.result.oriType.valueBlock.toString(),this.oriValue=s.result.oriValue;}toSchema(){return new T({value:[new ae({value:this.oriType}),this.oriValue]})}toJSON(){let e={oriType:this.oriType};return t.compareWithDefault(rc,this.oriValue)||(e.oriValue=this.oriValue.toJSON()),e}};Lm.CLASS_NAME="OtherRecipientInfo";var dw="variant",md="value",cj=["blockName"],Vn=class t extends q{constructor(e={}){super(),this.variant=y(e,dw,t.defaultValues(dw)),md in e&&(this.value=y(e,md,t.defaultValues(md))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case dw:return -1;case md:return {};default:return super.defaultValues(e)}}static compareWithDefault(e,s){switch(e){case dw:return s===t.defaultValues(e);case md:return Object.keys(s).length===0;default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new ut({value:[df.schema({names:{blockName:s.blockName||b}}),new L({name:s.blockName||b,idBlock:{tagClass:3,tagNumber:1},value:yf.schema().valueBlock.value}),new L({name:s.blockName||b,idBlock:{tagClass:3,tagNumber:2},value:wf.schema().valueBlock.value}),new L({name:s.blockName||b,idBlock:{tagClass:3,tagNumber:3},value:bf.schema().valueBlock.value}),new L({name:s.blockName||b,idBlock:{tagClass:3,tagNumber:4},value:Lm.schema().valueBlock.value})]})}fromSchema(e){W(e,cj);let s=K(e,e,t.schema({names:{blockName:"blockName"}}));if(M.assertSchema(s,this.className),s.result.blockName.idBlock.tagClass===1)this.variant=1,this.value=new df({schema:s.result.blockName});else {let r=new T({value:s.result.blockName.valueBlock.value});switch(s.result.blockName.idBlock.tagNumber){case 1:this.variant=2,this.value=new yf({schema:r});break;case 2:this.variant=3,this.value=new wf({schema:r});break;case 3:this.variant=4,this.value=new bf({schema:r});break;case 4:this.variant=5,this.value=new Lm({schema:r});break;default:throw new Error("Incorrect structure of RecipientInfo block")}}}toSchema(){Qe.assertEmpty(this.value,"value","RecipientInfo");let e=this.value.toSchema();switch(this.variant){case 1:return e;case 2:case 3:case 4:return e.idBlock.tagClass=3,e.idBlock.tagNumber=this.variant-1,e;default:return new be}}toJSON(){let e={variant:this.variant};return this.value&&this.variant>=1&&this.variant<=4&&(e.value=this.value.toJSON()),e}};Vn.CLASS_NAME="RecipientInfo";var ea="hashAlgorithm",ta="maskGenAlgorithm",sa="pSourceAlgorithm",uj=[ea,ta,sa],uf=class t extends q{constructor(e={}){super(),this.hashAlgorithm=y(e,ea,t.defaultValues(ea)),this.maskGenAlgorithm=y(e,ta,t.defaultValues(ta)),this.pSourceAlgorithm=y(e,sa,t.defaultValues(sa)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case ea:return new _({algorithmId:"1.3.14.3.2.26",algorithmParams:new wt});case ta:return new _({algorithmId:"1.2.840.113549.1.1.8",algorithmParams:new _({algorithmId:"1.3.14.3.2.26",algorithmParams:new wt}).toSchema()});case sa:return new _({algorithmId:"1.2.840.113549.1.1.9",algorithmParams:new z({valueHex:new Uint8Array([218,57,163,238,94,107,75,13,50,85,191,239,149,96,24,144,175,216,7,9]).buffer})});default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||b,value:[new L({idBlock:{tagClass:3,tagNumber:0},optional:!0,value:[_.schema(s.hashAlgorithm||{})]}),new L({idBlock:{tagClass:3,tagNumber:1},optional:!0,value:[_.schema(s.maskGenAlgorithm||{})]}),new L({idBlock:{tagClass:3,tagNumber:2},optional:!0,value:[_.schema(s.pSourceAlgorithm||{})]})]})}fromSchema(e){W(e,uj);let s=K(e,e,t.schema({names:{hashAlgorithm:{names:{blockName:ea}},maskGenAlgorithm:{names:{blockName:ta}},pSourceAlgorithm:{names:{blockName:sa}}}}));M.assertSchema(s,this.className),ea in s.result&&(this.hashAlgorithm=new _({schema:s.result.hashAlgorithm})),ta in s.result&&(this.maskGenAlgorithm=new _({schema:s.result.maskGenAlgorithm})),sa in s.result&&(this.pSourceAlgorithm=new _({schema:s.result.pSourceAlgorithm}));}toSchema(){let e=[];return this.hashAlgorithm.isEqual(t.defaultValues(ea))||e.push(new L({idBlock:{tagClass:3,tagNumber:0},value:[this.hashAlgorithm.toSchema()]})),this.maskGenAlgorithm.isEqual(t.defaultValues(ta))||e.push(new L({idBlock:{tagClass:3,tagNumber:1},value:[this.maskGenAlgorithm.toSchema()]})),this.pSourceAlgorithm.isEqual(t.defaultValues(sa))||e.push(new L({idBlock:{tagClass:3,tagNumber:2},value:[this.pSourceAlgorithm.toSchema()]})),new T({value:e})}toJSON(){let e={};return this.hashAlgorithm.isEqual(t.defaultValues(ea))||(e.hashAlgorithm=this.hashAlgorithm.toJSON()),this.maskGenAlgorithm.isEqual(t.defaultValues(ta))||(e.maskGenAlgorithm=this.maskGenAlgorithm.toJSON()),this.pSourceAlgorithm.isEqual(t.defaultValues(sa))||(e.pSourceAlgorithm=this.pSourceAlgorithm.toJSON()),e}};uf.CLASS_NAME="RSAESOAEPParams";var bl="keyInfo",ra="entityUInfo",Sl="suppPubInfo",lj=[bl,ra,Sl],Dm=class t extends q{constructor(e={}){super(),this.keyInfo=y(e,bl,t.defaultValues(bl)),ra in e&&(this.entityUInfo=y(e,ra,t.defaultValues(ra))),this.suppPubInfo=y(e,Sl,t.defaultValues(Sl)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case bl:return new _;case ra:return new z;case Sl:return new z;default:return super.defaultValues(e)}}static compareWithDefault(e,s){switch(e){case bl:case ra:case Sl:return s.isEqual(t.defaultValues(e));default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||b,value:[_.schema(s.keyInfo||{}),new L({name:s.entityUInfo||b,idBlock:{tagClass:3,tagNumber:0},optional:!0,value:[new z]}),new L({name:s.suppPubInfo||b,idBlock:{tagClass:3,tagNumber:2},value:[new z]})]})}fromSchema(e){W(e,lj);let s=K(e,e,t.schema({names:{keyInfo:{names:{blockName:bl}},entityUInfo:ra,suppPubInfo:Sl}}));M.assertSchema(s,this.className),this.keyInfo=new _({schema:s.result.keyInfo}),ra in s.result&&(this.entityUInfo=s.result.entityUInfo.valueBlock.value[0]),this.suppPubInfo=s.result.suppPubInfo.valueBlock.value[0];}toSchema(){let e=[];return e.push(this.keyInfo.toSchema()),this.entityUInfo&&e.push(new L({idBlock:{tagClass:3,tagNumber:0},value:[this.entityUInfo]})),e.push(new L({idBlock:{tagClass:3,tagNumber:2},value:[this.suppPubInfo]})),new T({value:e})}toJSON(){let e={keyInfo:this.keyInfo.toJSON(),suppPubInfo:this.suppPubInfo.toJSON()};return this.entityUInfo&&(e.entityUInfo=this.entityUInfo.toJSON()),e}};Dm.CLASS_NAME="ECCCMSSharedInfo";var vl="version",na="originatorInfo",El="recipientInfos",xl="encryptedContentInfo",ia="unprotectedAttrs",fj=[vl,na,El,xl,ia],Y4={kdfAlgorithm:"SHA-512",kekEncryptionLength:256},hj={"P-256":256,"P-384":384,"P-521":528},Vm=class t extends q{constructor(e={}){super(),this.version=y(e,vl,t.defaultValues(vl)),na in e&&(this.originatorInfo=y(e,na,t.defaultValues(na))),this.recipientInfos=y(e,El,t.defaultValues(El)),this.encryptedContentInfo=y(e,xl,t.defaultValues(xl)),ia in e&&(this.unprotectedAttrs=y(e,ia,t.defaultValues(ia))),this.policy={disableSplit:!!e.disableSplit},e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case vl:return 0;case na:return new cf;case El:return [];case xl:return new Yt;case ia:return [];default:return super.defaultValues(e)}}static compareWithDefault(e,s){switch(e){case vl:return s===t.defaultValues(e);case na:return s.certs.certificates.length===0&&s.crls.crls.length===0;case El:case ia:return s.length===0;case xl:return Yt.compareWithDefault("contentType",s.contentType)&&Yt.compareWithDefault("contentEncryptionAlgorithm",s.contentEncryptionAlgorithm)&&Yt.compareWithDefault("encryptedContent",s.encryptedContent);default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||b,value:[new U({name:s.version||b}),new L({name:s.originatorInfo||b,optional:!0,idBlock:{tagClass:3,tagNumber:0},value:cf.schema().valueBlock.value}),new bt({value:[new Ae({name:s.recipientInfos||b,value:Vn.schema()})]}),Yt.schema(s.encryptedContentInfo||{}),new L({optional:!0,idBlock:{tagClass:3,tagNumber:1},value:[new Ae({name:s.unprotectedAttrs||b,value:xt.schema()})]})]})}fromSchema(e){W(e,fj);let s=K(e,e,t.schema({names:{version:vl,originatorInfo:na,recipientInfos:El,encryptedContentInfo:{names:{blockName:xl}},unprotectedAttrs:ia}}));M.assertSchema(s,this.className),this.version=s.result.version.valueBlock.valueDec,na in s.result&&(this.originatorInfo=new cf({schema:new T({value:s.result.originatorInfo.valueBlock.value})})),this.recipientInfos=Array.from(s.result.recipientInfos,r=>new Vn({schema:r})),this.encryptedContentInfo=new Yt({schema:s.result.encryptedContentInfo}),ia in s.result&&(this.unprotectedAttrs=Array.from(s.result.unprotectedAttrs,r=>new xt({schema:r})));}toSchema(){let e=[];return e.push(new U({value:this.version})),this.originatorInfo&&e.push(new L({optional:!0,idBlock:{tagClass:3,tagNumber:0},value:this.originatorInfo.toSchema().valueBlock.value})),e.push(new bt({value:Array.from(this.recipientInfos,s=>s.toSchema())})),e.push(this.encryptedContentInfo.toSchema()),this.unprotectedAttrs&&e.push(new L({optional:!0,idBlock:{tagClass:3,tagNumber:1},value:Array.from(this.unprotectedAttrs,s=>s.toSchema())})),new T({value:e})}toJSON(){let e={version:this.version,recipientInfos:Array.from(this.recipientInfos,s=>s.toJSON()),encryptedContentInfo:this.encryptedContentInfo.toJSON()};return this.originatorInfo&&(e.originatorInfo=this.originatorInfo.toJSON()),this.unprotectedAttrs&&(e.unprotectedAttrs=Array.from(this.unprotectedAttrs,s=>s.toJSON())),e}addRecipientByCertificate(e,s,r,n=Ve(!0)){let i=Object.assign({useOAEP:!0,oaepHashAlgorithm:"SHA-512"},Y4,s||{});if(e.subjectPublicKeyInfo.algorithm.algorithmId.indexOf("1.2.840.113549")!==-1)r=1;else if(e.subjectPublicKeyInfo.algorithm.algorithmId.indexOf("1.2.840.10045")!==-1)r=2;else throw new Error(`Unknown type of certificate's public key: ${e.subjectPublicKeyInfo.algorithm.algorithmId}`);switch(r){case 1:{let a,o;if(i.useOAEP===!0){a=n.getOIDByAlgorithm({name:"RSA-OAEP"},!0,"keyEncryptionAlgorithm");let u=n.getOIDByAlgorithm({name:i.oaepHashAlgorithm},!0,"RSAES-OAEP-params"),l=new _({algorithmId:u,algorithmParams:new wt});o=new uf({hashAlgorithm:l,maskGenAlgorithm:new _({algorithmId:"1.2.840.113549.1.1.8",algorithmParams:l.toSchema()})}).toSchema();}else {if(a=n.getOIDByAlgorithm({name:"RSAES-PKCS1-v1_5"}),a===b)throw new Error("Can not find OID for RSAES-PKCS1-v1_5");o=new wt;}let c=new df({version:0,rid:new qt({issuer:e.issuer,serialNumber:e.serialNumber}),keyEncryptionAlgorithm:new _({algorithmId:a,algorithmParams:o}),recipientCertificate:e});this.recipientInfos.push(new Vn({variant:1,value:c}));}break;case 2:{let a=new wa({variant:1,value:new qt({issuer:e.issuer,serialNumber:e.serialNumber})});this._addKeyAgreeRecipientInfo(a,i,{recipientCertificate:e},n);}break;default:throw new Error(`Unknown "variant" value: ${r}`)}return !0}addRecipientByPreDefinedData(e,s={},r,n=Ve(!0)){if(nt.assert(e,"preDefinedData","ArrayBuffer"),!e.byteLength)throw new Error("Pre-defined data could have zero length");if(!s.keyIdentifier){let i=new ArrayBuffer(16),a=new Uint8Array(i);n.getRandomValues(a),s.keyIdentifier=i;}switch(s.hmacHashAlgorithm||(s.hmacHashAlgorithm="SHA-512"),s.iterationCount===void 0&&(s.iterationCount=2048),s.keyEncryptionAlgorithm||(s.keyEncryptionAlgorithm={name:"AES-KW",length:256}),s.keyEncryptionAlgorithmParams||(s.keyEncryptionAlgorithmParams=new wt),r){case 1:{let i=n.getOIDByAlgorithm(s.keyEncryptionAlgorithm,!0,"keyEncryptionAlgorithm"),a=new wf({version:4,kekid:new Cc({keyIdentifier:new z({valueHex:s.keyIdentifier})}),keyEncryptionAlgorithm:new _({algorithmId:i,algorithmParams:s.keyEncryptionAlgorithmParams}),preDefinedKEK:e});this.recipientInfos.push(new Vn({variant:3,value:a}));}break;case 2:{let i=n.getOIDByAlgorithm({name:"PBKDF2"},!0,"keyDerivationAlgorithm"),a=new ArrayBuffer(64),o=new Uint8Array(a);n.getRandomValues(o);let c=n.getOIDByAlgorithm({name:"HMAC",hash:{name:s.hmacHashAlgorithm}},!0,"hmacHashAlgorithm"),u=new ya({salt:new z({valueHex:a}),iterationCount:s.iterationCount,prf:new _({algorithmId:c,algorithmParams:new wt})}),l=n.getOIDByAlgorithm(s.keyEncryptionAlgorithm,!0,"keyEncryptionAlgorithm"),p=new bf({version:0,keyDerivationAlgorithm:new _({algorithmId:i,algorithmParams:u.toSchema()}),keyEncryptionAlgorithm:new _({algorithmId:l,algorithmParams:s.keyEncryptionAlgorithmParams}),password:e});this.recipientInfos.push(new Vn({variant:4,value:p}));}break;default:throw new Error(`Unknown value for "variant": ${r}`)}}addRecipientByKeyIdentifier(e,s,r,n=Ve(!0)){let i=Object.assign({},Y4,r||{}),a=new wa({variant:2,value:new pf({subjectKeyIdentifier:new z({valueHex:s})})});this._addKeyAgreeRecipientInfo(a,i,{recipientPublicKey:e},n);}_addKeyAgreeRecipientInfo(e,s,r,n=Ve(!0)){let i=new gf({rid:e}),a=n.getOIDByAlgorithm({name:"AES-KW",length:s.kekEncryptionLength},!0,"keyEncryptionAlgorithm"),o=new _({algorithmId:a}),c=n.getOIDByAlgorithm({name:"ECDH",kdf:s.kdfAlgorithm},!0,"KeyAgreeRecipientInfo"),u=new ArrayBuffer(64),l=new Uint8Array(u);n.getRandomValues(l);let p={version:3,ukm:new z({valueHex:u}),keyEncryptionAlgorithm:new _({algorithmId:c,algorithmParams:o.toSchema()}),recipientEncryptedKeys:new Ic({encryptedKeys:[i]})},w=new yf(Object.assign(p,r));this.recipientInfos.push(new Vn({variant:2,value:w}));}async encrypt(e,s,r=Ve(!0)){let n=new ArrayBuffer(16),i=new Uint8Array(n);r.getRandomValues(i);let a=new Uint8Array(s),o=r.getOIDByAlgorithm(e,!0,"contentEncryptionAlgorithm"),c=await r.generateKey(e,!0,["encrypt"]),u=await r.encrypt({name:e.name,iv:i},c,a),l=await r.exportKey("raw",c);this.version=2,this.encryptedContentInfo=new Yt({disableSplit:this.policy.disableSplit,contentType:"1.2.840.113549.1.7.1",contentEncryptionAlgorithm:new _({algorithmId:o,algorithmParams:new z({valueHex:n})}),encryptedContent:new z({valueHex:u})});let p=async C=>{let D=this.recipientInfos[C].value,V,B;if(D.recipientPublicKey)V=D.recipientPublicKey.algorithm.namedCurve,B=D.recipientPublicKey;else if(D.recipientCertificate){let $=D.recipientCertificate.subjectPublicKeyInfo.algorithm.algorithmParams;if($.constructor.blockName()!==ae.blockName())throw new Error(`Incorrect "recipientCertificate" for index ${C}`);switch($.valueBlock.toString()){case"1.2.840.10045.3.1.7":V="P-256";break;case"1.3.132.0.34":V="P-384";break;case"1.3.132.0.35":V="P-521";break;default:throw new Error(`Incorrect curve OID for index ${C}`)}B=await D.recipientCertificate.getPublicKey({algorithm:{algorithm:{name:"ECDH",namedCurve:V},usages:[]}},r);}else throw new Error("Unsupported RecipientInfo");let k=hj[V],O=await r.generateKey({name:"ECDH",namedCurve:V},!0,["deriveBits"]),G=await r.exportKey("spki",O.publicKey),re=await r.deriveBits({name:"ECDH",public:B},O.privateKey,k),Q=new _({schema:D.keyEncryptionAlgorithm.algorithmParams}),oe=r.getAlgorithmByOID(Q.algorithmId,!0,"aesKWAlgorithm"),pe=oe.length,se=new ArrayBuffer(4),ce=new Uint8Array(se);for(let $=3;$>=0;$--)ce[$]=pe,pe>>=8;let Ke=new Dm({keyInfo:new _({algorithmId:Q.algorithmId}),entityUInfo:D.ukm,suppPubInfo:new z({valueHex:se})}).toSchema().toBER(!1),J=r.getAlgorithmByOID(D.keyEncryptionAlgorithm.algorithmId,!0,"ecdhAlgorithm"),X=await U4(J.kdf,re,oe.length,Ke,r),ue=await r.importKey("raw",X,{name:"AES-KW"},!0,["wrapKey"]),Ee=await r.wrapKey("raw",c,ue,{name:"AES-KW"}),fe=new Ac;return fe.variant=3,fe.value=mf.fromBER(G),D.originator=fe,D.recipientEncryptedKeys.encryptedKeys[0].encryptedKey=new z({valueHex:Ee}),{ecdhPrivateKey:O.privateKey}},w=async C=>{let D=this.recipientInfos[C].value,V=r.getAlgorithmByOID(D.keyEncryptionAlgorithm.algorithmId,!0,"keyEncryptionAlgorithm");if(V.name==="RSA-OAEP"){let B=D.keyEncryptionAlgorithm.algorithmParams,k=new uf({schema:B});if(V.hash=r.getAlgorithmByOID(k.hashAlgorithm.algorithmId),!("name"in V.hash))throw new Error(`Incorrect OID for hash algorithm: ${k.hashAlgorithm.algorithmId}`)}try{let B=await D.recipientCertificate.getPublicKey({algorithm:{algorithm:V,usages:["encrypt","wrapKey"]}},r),k=await r.encrypt(B.algorithm,B,l);D.encryptedKey=new z({valueHex:k});}catch{}},E=async C=>{let D=this.recipientInfos[C].value,V=r.getAlgorithmByOID(D.keyEncryptionAlgorithm.algorithmId,!0,"kekAlgorithm"),B=await r.importKey("raw",new Uint8Array(D.preDefinedKEK),V,!0,["wrapKey"]),k=await r.wrapKey("raw",c,B,V);D.encryptedKey=new z({valueHex:k});},S=async C=>{let D=this.recipientInfos[C].value,V;if(!D.keyDerivationAlgorithm)throw new Error('Please append encoded "keyDerivationAlgorithm"');if(!D.keyDerivationAlgorithm.algorithmParams)throw new Error('Incorrectly encoded "keyDerivationAlgorithm"');try{V=new ya({schema:D.keyDerivationAlgorithm.algorithmParams});}catch{throw new Error('Incorrectly encoded "keyDerivationAlgorithm"')}let B=new Uint8Array(D.password),k=await r.importKey("raw",B,"PBKDF2",!1,["deriveKey"]),O=r.getAlgorithmByOID(D.keyEncryptionAlgorithm.algorithmId,!0,"kekAlgorithm"),G="SHA-1";V.prf&&(G=r.getAlgorithmByOID(V.prf.algorithmId,!0,"prfAlgorithm").hash.name);let re=new Uint8Array(V.salt.valueBlock.valueHex),Q=V.iterationCount,oe=await r.deriveKey({name:"PBKDF2",hash:{name:G},salt:re,iterations:Q},k,O,!0,["wrapKey"]),pe=await r.wrapKey("raw",c,oe,O);D.encryptedKey=new z({valueHex:pe});},I=[];for(let C=0;C<this.recipientInfos.length;C++)switch(this.recipientInfos[C].variant){case 1:I.push(await w(C));break;case 2:I.push(await p(C));break;case 3:I.push(await E(C));break;case 4:I.push(await S(C));break;default:throw new Error(`Unknown recipient type in array with index ${C}`)}return I}async decrypt(e,s,r=Ve(!0)){let n=s||{};if(e+1>this.recipientInfos.length)throw new Error(`Maximum value for "index" is: ${this.recipientInfos.length-1}`);let i=async I=>{let C=this.recipientInfos[I].value,D,V,B,k=C.originator;if(n.recipientCertificate){let J=n.recipientCertificate.subjectPublicKeyInfo.algorithm.algorithmParams;if(J.constructor.blockName()!==ae.blockName())throw new Error(`Incorrect "recipientCertificate" for index ${I}`);D=J.valueBlock.toString();}else if(k.value.algorithm.algorithmParams){let J=k.value.algorithm.algorithmParams;if(J.constructor.blockName()!==ae.blockName())throw new Error(`Incorrect originator for index ${I}`);D=J.valueBlock.toString();}else throw new Error('Parameter "recipientCertificate" is mandatory for "KeyAgreeRecipientInfo" if algorithm params are missing from originator');if(!n.recipientPrivateKey)throw new Error('Parameter "recipientPrivateKey" is mandatory for "KeyAgreeRecipientInfo"');switch(D){case"1.2.840.10045.3.1.7":V="P-256",B=256;break;case"1.3.132.0.34":V="P-384",B=384;break;case"1.3.132.0.35":V="P-521",B=528;break;default:throw new Error(`Incorrect curve OID for index ${I}`)}let O,G=r;lf.BufferSourceConverter.isBufferSource(n.recipientPrivateKey)?O=await r.importKey("pkcs8",n.recipientPrivateKey,{name:"ECDH",namedCurve:V},!0,["deriveBits"]):(O=n.recipientPrivateKey,"crypto"in n&&n.crypto&&(G=n.crypto.subtle)),"algorithmParams"in k.value.algorithm||(k.value.algorithm.algorithmParams=new ae({value:D}));let re=k.value.toSchema().toBER(!1),Q=await r.importKey("spki",re,{name:"ECDH",namedCurve:V},!0,[]),oe=await G.deriveBits({name:"ECDH",public:Q},O,B);async function pe(J){J=J||!1;let X=new _({schema:C.keyEncryptionAlgorithm.algorithmParams}),ue=r.getAlgorithmByOID(X.algorithmId,!0,"kwAlgorithm"),Ee=ue.length,fe=new ArrayBuffer(4),$=new Uint8Array(fe);for(let ze=3;ze>=0;ze--)$[ze]=Ee,Ee>>=8;let te={algorithmId:X.algorithmId};J&&(te.algorithmParams=new wt);let xe=new Dm({keyInfo:new _(te),entityUInfo:C.ukm,suppPubInfo:new z({valueHex:fe})}).toSchema().toBER(!1),Re=r.getAlgorithmByOID(C.keyEncryptionAlgorithm.algorithmId,!0,"ecdhAlgorithm");if(!Re.name)throw new Error(`Incorrect OID for key encryption algorithm: ${C.keyEncryptionAlgorithm.algorithmId}`);return U4(Re.kdf,oe,ue.length,xe,r)}let se=await pe(),ce=async J=>r.importKey("raw",J,{name:"AES-KW"},!0,["unwrapKey"]),ge=await ce(se),Ke=async J=>{let X=this.encryptedContentInfo.contentEncryptionAlgorithm.algorithmId,ue=r.getAlgorithmByOID(X,!0,"contentEncryptionAlgorithm");return r.unwrapKey("raw",C.recipientEncryptedKeys.encryptedKeys[0].encryptedKey.valueBlock.valueHexView,J,{name:"AES-KW"},ue,!0,["decrypt"])};try{return await Ke(ge)}catch{let J=await pe(!0),X=await ce(J);return Ke(X)}},a=async I=>{let C=this.recipientInfos[I].value;if(!n.recipientPrivateKey)throw new Error('Parameter "recipientPrivateKey" is mandatory for "KeyTransRecipientInfo"');let D=r.getAlgorithmByOID(C.keyEncryptionAlgorithm.algorithmId,!0,"keyEncryptionAlgorithm");if(D.name==="RSA-OAEP"){let re=C.keyEncryptionAlgorithm.algorithmParams,Q=new uf({schema:re});if(D.hash=r.getAlgorithmByOID(Q.hashAlgorithm.algorithmId),!("name"in D.hash))throw new Error(`Incorrect OID for hash algorithm: ${Q.hashAlgorithm.algorithmId}`)}let V,B=r;lf.BufferSourceConverter.isBufferSource(n.recipientPrivateKey)?V=await r.importKey("pkcs8",n.recipientPrivateKey,D,!0,["decrypt"]):(V=n.recipientPrivateKey,"crypto"in n&&n.crypto&&(B=n.crypto.subtle));let k=await B.decrypt(V.algorithm,V,C.encryptedKey.valueBlock.valueHexView),O=this.encryptedContentInfo.contentEncryptionAlgorithm.algorithmId,G=r.getAlgorithmByOID(O,!0,"contentEncryptionAlgorithm");if(!("name"in G))throw new Error(`Incorrect "contentEncryptionAlgorithm": ${O}`);return r.importKey("raw",k,G,!0,["decrypt"])},o=async I=>{let C=this.recipientInfos[I].value;if(!n.preDefinedData)throw new Error('Parameter "preDefinedData" is mandatory for "KEKRecipientInfo"');let D=r.getAlgorithmByOID(C.keyEncryptionAlgorithm.algorithmId,!0,"kekAlgorithm"),V=await r.importKey("raw",n.preDefinedData,D,!0,["unwrapKey"]),B=this.encryptedContentInfo.contentEncryptionAlgorithm.algorithmId,k=r.getAlgorithmByOID(B,!0,"contentEncryptionAlgorithm");if(!k.name)throw new Error(`Incorrect "contentEncryptionAlgorithm": ${B}`);return r.unwrapKey("raw",C.encryptedKey.valueBlock.valueHexView,V,D,k,!0,["decrypt"])},c=async I=>{let C=this.recipientInfos[I].value,D;if(!n.preDefinedData)throw new Error('Parameter "preDefinedData" is mandatory for "KEKRecipientInfo"');if(!C.keyDerivationAlgorithm)throw new Error('Please append encoded "keyDerivationAlgorithm"');if(!C.keyDerivationAlgorithm.algorithmParams)throw new Error('Incorrectly encoded "keyDerivationAlgorithm"');try{D=new ya({schema:C.keyDerivationAlgorithm.algorithmParams});}catch{throw new Error('Incorrectly encoded "keyDerivationAlgorithm"')}let V=await r.importKey("raw",n.preDefinedData,"PBKDF2",!1,["deriveKey"]),B=r.getAlgorithmByOID(C.keyEncryptionAlgorithm.algorithmId,!0,"keyEncryptionAlgorithm"),k=D.prf?r.getAlgorithmByOID(D.prf.algorithmId,!0,"prfAlgorithm").hash.name:"SHA-1",O=new Uint8Array(D.salt.valueBlock.valueHex),G=D.iterationCount,re=await r.deriveKey({name:"PBKDF2",hash:{name:k},salt:O,iterations:G},V,B,!0,["unwrapKey"]),Q=this.encryptedContentInfo.contentEncryptionAlgorithm.algorithmId,oe=r.getAlgorithmByOID(Q,!0,"contentEncryptionAlgorithm");return r.unwrapKey("raw",C.encryptedKey.valueBlock.valueHexView,re,B,oe,!0,["decrypt"])},u;switch(this.recipientInfos[e].variant){case 1:u=await a(e);break;case 2:u=await i(e);break;case 3:u=await o(e);break;case 4:u=await c(e);break;default:throw new Error(`Unknown recipient type in array with index ${e}`)}let l=this.encryptedContentInfo.contentEncryptionAlgorithm.algorithmId,p=r.getAlgorithmByOID(l,!0,"contentEncryptionAlgorithm"),w=this.encryptedContentInfo.contentEncryptionAlgorithm.algorithmParams.valueBlock.valueHex,E=new Uint8Array(w);if(!this.encryptedContentInfo.encryptedContent)throw new Error("Required property `encryptedContent` is empty");let S=this.encryptedContentInfo.getEncryptedContent();return r.decrypt({name:p.name,iv:E},u,S)}};Vm.CLASS_NAME="EnvelopedData";var Bu="safeContents",pd="parsedValue",Z4="contentInfos",Um=class t extends q{constructor(e={}){super(),this.safeContents=y(e,Bu,t.defaultValues(Bu)),pd in e&&(this.parsedValue=y(e,pd,t.defaultValues(pd))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Bu:return [];case pd:return {};default:return super.defaultValues(e)}}static compareWithDefault(e,s){switch(e){case Bu:return s.length===0;case pd:return s instanceof Object&&Object.keys(s).length===0;default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||b,value:[new Ae({name:s.contentInfos||b,value:St.schema()})]})}fromSchema(e){W(e,[Z4]);let s=K(e,e,t.schema({names:{contentInfos:Z4}}));M.assertSchema(s,this.className),this.safeContents=Array.from(s.result.contentInfos,r=>new St({schema:r}));}toSchema(){return new T({value:Array.from(this.safeContents,e=>e.toSchema())})}toJSON(){return {safeContents:Array.from(this.safeContents,e=>e.toJSON())}}async parseInternalValues(e,s=Ve(!0)){if(Qe.assert(e,Bu),nt.assert(e.safeContents,Bu,"Array"),e.safeContents.length!==this.safeContents.length)throw new nt('Length of "parameters.safeContents" must be equal to "this.safeContents.length"');this.parsedValue={safeContents:[]};for(let[r,n]of this.safeContents.entries()){let i=e.safeContents[r],a=`parameters.safeContents[${r}]`;switch(n.contentType){case D6:{nt.assert(n.content,"this.safeContents[j].content",z);let o=n.content.getValue();this.parsedValue.safeContents.push({privacyMode:0,value:ga.fromBER(o)});}break;case lk:{let o=new Vm({schema:n.content});Qe.assert(a,i,"recipientCertificate","recipientKey");let c=i,u=c.recipientCertificate,l=c.recipientKey,p=await o.decrypt(0,{recipientCertificate:u,recipientPrivateKey:l},s);this.parsedValue.safeContents.push({privacyMode:2,value:ga.fromBER(p)});}break;case fk:{let o=new Bc({schema:n.content});Qe.assert(a,i,"password");let c=i.password,u=await o.decrypt({password:c},s);this.parsedValue.safeContents.push({privacyMode:1,value:ga.fromBER(u)});}break;default:throw new Error(`Unknown "contentType" for AuthenticatedSafe: " ${n.contentType}`)}}}async makeInternalValues(e,s=Ve(!0)){if(!this.parsedValue)throw new Error('Please run "parseValues" first or add "parsedValue" manually');if(nt.assert(this.parsedValue,"this.parsedValue","object"),nt.assert(this.parsedValue.safeContents,"this.parsedValue.safeContents","Array"),nt.assert(e,"parameters","object"),Qe.assert(e,"safeContents"),nt.assert(e.safeContents,"parameters.safeContents","Array"),e.safeContents.length!==this.parsedValue.safeContents.length)throw new nt('Length of "parameters.safeContents" must be equal to "this.parsedValue.safeContents"');this.safeContents=[];for(let[r,n]of this.parsedValue.safeContents.entries())switch(Qe.assert("content",n,"privacyMode","value"),nt.assert(n.value,"content.value",ga),n.privacyMode){case 0:{let i=n.value.toSchema().toBER(!1);this.safeContents.push(new St({contentType:"1.2.840.113549.1.7.1",content:new z({valueHex:i})}));}break;case 1:{let i=new Bc,a=e.safeContents[r];a.contentToEncrypt=n.value.toSchema().toBER(!1),await i.encrypt(a,s),this.safeContents.push(new St({contentType:"1.2.840.113549.1.7.6",content:i.toSchema()}));}break;case 2:{let i=new Vm,a=n.value.toSchema().toBER(!1),o=e.safeContents[r];switch(Qe.assert(`parameters.safeContents[${r}]`,o,"encryptingCertificate","encryptionAlgorithm"),!0){case o.encryptionAlgorithm.name.toLowerCase()==="aes-cbc":case o.encryptionAlgorithm.name.toLowerCase()==="aes-gcm":break;default:throw new Error(`Incorrect parameter "encryptionAlgorithm" in "parameters.safeContents[i]": ${o.encryptionAlgorithm}`)}switch(!0){case o.encryptionAlgorithm.length===128:case o.encryptionAlgorithm.length===192:case o.encryptionAlgorithm.length===256:break;default:throw new Error(`Incorrect parameter "encryptionAlgorithm.length" in "parameters.safeContents[i]": ${o.encryptionAlgorithm.length}`)}let c=o.encryptionAlgorithm;i.addRecipientByCertificate(o.encryptingCertificate,{},void 0,s),await i.encrypt(c,a,s),this.safeContents.push(new St({contentType:"1.2.840.113549.1.7.3",content:i.toSchema()}));}break;default:throw new Error(`Incorrect value for "content.privacyMode": ${n.privacyMode}`)}return this}};Um.CLASS_NAME="AuthenticatedSafe";var nc="hashAlgorithm",Al="issuerNameHash",Il="issuerKeyHash",ic="serialNumber",dj=[nc,Al,Il,ic],Ns=class t extends q{static async create(e,s,r=Ve(!0)){let n=new t;return await n.createForCertificate(e,s,r),n}constructor(e={}){super(),this.hashAlgorithm=y(e,nc,t.defaultValues(nc)),this.issuerNameHash=y(e,Al,t.defaultValues(Al)),this.issuerKeyHash=y(e,Il,t.defaultValues(Il)),this.serialNumber=y(e,ic,t.defaultValues(ic)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case nc:return new _;case Al:case Il:return new z;case ic:return new U;default:return super.defaultValues(e)}}static compareWithDefault(e,s){switch(e){case nc:return s.algorithmId===b&&!("algorithmParams"in s);case Al:case Il:case ic:return s.isEqual(t.defaultValues(ic));default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||b,value:[_.schema(s.hashAlgorithmObject||{names:{blockName:s.hashAlgorithm||b}}),new z({name:s.issuerNameHash||b}),new z({name:s.issuerKeyHash||b}),new U({name:s.serialNumber||b})]})}fromSchema(e){W(e,dj);let s=K(e,e,t.schema({names:{hashAlgorithm:nc,issuerNameHash:Al,issuerKeyHash:Il,serialNumber:ic}}));M.assertSchema(s,this.className),this.hashAlgorithm=new _({schema:s.result.hashAlgorithm}),this.issuerNameHash=s.result.issuerNameHash,this.issuerKeyHash=s.result.issuerKeyHash,this.serialNumber=s.result.serialNumber;}toSchema(){return new T({value:[this.hashAlgorithm.toSchema(),this.issuerNameHash,this.issuerKeyHash,this.serialNumber]})}toJSON(){return {hashAlgorithm:this.hashAlgorithm.toJSON(),issuerNameHash:this.issuerNameHash.toJSON(),issuerKeyHash:this.issuerKeyHash.toJSON(),serialNumber:this.serialNumber.toJSON()}}isEqual(e){return !(this.hashAlgorithm.algorithmId!==e.hashAlgorithm.algorithmId||!Se.BufferSourceConverter.isEqual(this.issuerNameHash.valueBlock.valueHexView,e.issuerNameHash.valueBlock.valueHexView)||!Se.BufferSourceConverter.isEqual(this.issuerKeyHash.valueBlock.valueHexView,e.issuerKeyHash.valueBlock.valueHexView)||!this.serialNumber.isEqual(e.serialNumber))}async createForCertificate(e,s,r=Ve(!0)){Qe.assert(s,nc,"issuerCertificate");let n=r.getOIDByAlgorithm({name:s.hashAlgorithm},!0,"hashAlgorithm");this.hashAlgorithm=new _({algorithmId:n,algorithmParams:new wt});let i=s.issuerCertificate;this.serialNumber=e.serialNumber;let a=await r.digest({name:s.hashAlgorithm},i.subject.toSchema().toBER(!1));this.issuerNameHash=new z({valueHex:a});let o=i.subjectPublicKeyInfo.subjectPublicKey.valueBlock.valueHexView,c=await r.digest({name:s.hashAlgorithm},o);this.issuerKeyHash=new z({valueHex:c});}};Ns.CLASS_NAME="CertID";var Cl="certID",Nl="certStatus",Tl="thisUpdate",aa="nextUpdate",ac="singleExtensions",mj=[Cl,Nl,Tl,aa,ac],_m=class t extends q{constructor(e={}){super(),this.certID=y(e,Cl,t.defaultValues(Cl)),this.certStatus=y(e,Nl,t.defaultValues(Nl)),this.thisUpdate=y(e,Tl,t.defaultValues(Tl)),aa in e&&(this.nextUpdate=y(e,aa,t.defaultValues(aa))),ac in e&&(this.singleExtensions=y(e,ac,t.defaultValues(ac))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Cl:return new Ns;case Nl:return {};case Tl:case aa:return new Date(0,0,0);case ac:return [];default:return super.defaultValues(e)}}static compareWithDefault(e,s){switch(e){case Cl:return Ns.compareWithDefault("hashAlgorithm",s.hashAlgorithm)&&Ns.compareWithDefault("issuerNameHash",s.issuerNameHash)&&Ns.compareWithDefault("issuerKeyHash",s.issuerKeyHash)&&Ns.compareWithDefault("serialNumber",s.serialNumber);case Nl:return Object.keys(s).length===0;case Tl:case aa:return s===t.defaultValues(e);default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||b,value:[Ns.schema(s.certID||{}),new ut({value:[new we({name:s.certStatus||b,idBlock:{tagClass:3,tagNumber:0}}),new L({name:s.certStatus||b,idBlock:{tagClass:3,tagNumber:1},value:[new ct,new L({optional:!0,idBlock:{tagClass:3,tagNumber:0},value:[new Ur]})]}),new we({name:s.certStatus||b,idBlock:{tagClass:3,tagNumber:2},lenBlock:{length:1}})]}),new ct({name:s.thisUpdate||b}),new L({optional:!0,idBlock:{tagClass:3,tagNumber:0},value:[new ct({name:s.nextUpdate||b})]}),new L({optional:!0,idBlock:{tagClass:3,tagNumber:1},value:[Rt.schema(s.singleExtensions||{})]})]})}fromSchema(e){W(e,mj);let s=K(e,e,t.schema({names:{certID:{names:{blockName:Cl}},certStatus:Nl,thisUpdate:Tl,nextUpdate:aa,singleExtensions:{names:{blockName:ac}}}}));M.assertSchema(s,this.className),this.certID=new Ns({schema:s.result.certID}),this.certStatus=s.result.certStatus,this.thisUpdate=s.result.thisUpdate.toDate(),aa in s.result&&(this.nextUpdate=s.result.nextUpdate.toDate()),ac in s.result&&(this.singleExtensions=Array.from(s.result.singleExtensions.valueBlock.value,r=>new Ds({schema:r})));}toSchema(){let e=[];return e.push(this.certID.toSchema()),e.push(this.certStatus),e.push(new ct({valueDate:this.thisUpdate})),this.nextUpdate&&e.push(new L({idBlock:{tagClass:3,tagNumber:0},value:[new ct({valueDate:this.nextUpdate})]})),this.singleExtensions&&e.push(new L({idBlock:{tagClass:3,tagNumber:1},value:[new T({value:Array.from(this.singleExtensions,s=>s.toSchema())})]})),new T({value:e})}toJSON(){let e={certID:this.certID.toJSON(),certStatus:this.certStatus.toJSON(),thisUpdate:this.thisUpdate};return this.nextUpdate&&(e.nextUpdate=this.nextUpdate),this.singleExtensions&&(e.singleExtensions=Array.from(this.singleExtensions,s=>s.toJSON())),e}};_m.CLASS_NAME="SingleResponse";var mw="tbs",oc="version",J0="responderID",z0="producedAt",Y0="responses",kl="responseExtensions",Pc="ResponseData",Cw=`${Pc}.${oc}`,Bl=`${Pc}.${J0}`,i6=`${Pc}.${z0}`,a6=`${Pc}.${Y0}`,Nw=`${Pc}.${kl}`,pj=[Pc,Cw,Bl,i6,a6,Nw],Sr=class t extends q{get tbs(){return Se.BufferSourceConverter.toArrayBuffer(this.tbsView)}set tbs(e){this.tbsView=new Uint8Array(e);}constructor(e={}){super(),this.tbsView=new Uint8Array(y(e,mw,t.defaultValues(mw))),oc in e&&(this.version=y(e,oc,t.defaultValues(oc))),this.responderID=y(e,J0,t.defaultValues(J0)),this.producedAt=y(e,z0,t.defaultValues(z0)),this.responses=y(e,Y0,t.defaultValues(Y0)),kl in e&&(this.responseExtensions=y(e,kl,t.defaultValues(kl))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case oc:return 0;case mw:return kt;case J0:return {};case z0:return new Date(0,0,0);case Y0:case kl:return [];default:return super.defaultValues(e)}}static compareWithDefault(e,s){switch(e){case mw:return s.byteLength===0;case J0:return Object.keys(s).length===0;case z0:return s===t.defaultValues(e);case Y0:case kl:return s.length===0;default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||Pc,value:[new L({optional:!0,idBlock:{tagClass:3,tagNumber:0},value:[new U({name:s.version||Cw})]}),new ut({value:[new L({name:s.responderID||Bl,idBlock:{tagClass:3,tagNumber:1},value:[lt.schema(s.ResponseDataByName||{names:{blockName:"ResponseData.byName"}})]}),new L({name:s.responderID||Bl,idBlock:{tagClass:3,tagNumber:2},value:[new z({name:s.ResponseDataByKey||"ResponseData.byKey"})]})]}),new ct({name:s.producedAt||i6}),new T({value:[new Ae({name:a6,value:_m.schema(s.response||{})})]}),new L({optional:!0,idBlock:{tagClass:3,tagNumber:1},value:[Rt.schema(s.extensions||{names:{blockName:Nw}})]})]})}fromSchema(e){W(e,pj);let s=K(e,e,t.schema());M.assertSchema(s,this.className),this.tbsView=s.result.ResponseData.valueBeforeDecodeView,Cw in s.result&&(this.version=s.result[Cw].valueBlock.valueDec),s.result[Bl].idBlock.tagNumber===1?this.responderID=new lt({schema:s.result[Bl].valueBlock.value[0]}):this.responderID=s.result[Bl].valueBlock.value[0],this.producedAt=s.result[i6].toDate(),this.responses=Array.from(s.result[a6],r=>new _m({schema:r})),Nw in s.result&&(this.responseExtensions=Array.from(s.result[Nw].valueBlock.value,r=>new Ds({schema:r})));}toSchema(e=!1){let s;if(e===!1){if(!this.tbsView.byteLength)return t.schema();let r=Ot(this.tbsView);M.assert(r,"TBS Response Data"),s=r.result;}else {let r=[];oc in this&&r.push(new L({idBlock:{tagClass:3,tagNumber:0},value:[new U({value:this.version})]})),this.responderID instanceof lt?r.push(new L({idBlock:{tagClass:3,tagNumber:1},value:[this.responderID.toSchema()]})):r.push(new L({idBlock:{tagClass:3,tagNumber:2},value:[this.responderID]})),r.push(new ct({valueDate:this.producedAt})),r.push(new T({value:Array.from(this.responses,n=>n.toSchema())})),this.responseExtensions&&r.push(new L({idBlock:{tagClass:3,tagNumber:1},value:[new T({value:Array.from(this.responseExtensions,n=>n.toSchema())})]})),s=new T({value:r});}return s}toJSON(){let e={};return oc in this&&(e.version=this.version),this.responderID&&(e.responderID=this.responderID),this.producedAt&&(e.producedAt=this.producedAt),this.responses&&(e.responses=Array.from(this.responses,s=>s.toJSON())),this.responseExtensions&&(e.responseExtensions=Array.from(this.responseExtensions,s=>s.toJSON())),e}};Sr.CLASS_NAME="ResponseData";var MA="trustedCerts",$A="certs",qA="crls",FA="ocsps",KA="checkDate",GA="findOrigin",WA="findIssuer",yc;(function(t){t[t.unknown=-1]="unknown",t[t.success=0]="success",t[t.noRevocation=11]="noRevocation",t[t.noPath=60]="noPath",t[t.noValidPath=97]="noValidPath";})(yc||(yc={}));var ma=class t extends Error{constructor(e,s){super(s),this.name=t.NAME,this.code=e,this.message=s;}};ma.NAME="ChainValidationError";function gj(t,e){for(let s=0;s<e.length;s++)if(Se.BufferSourceConverter.isEqual(t.tbsView,e[s].tbsView))return !0;return !1}var Hm=class t{constructor(e={}){this.trustedCerts=y(e,MA,this.defaultValues(MA)),this.certs=y(e,$A,this.defaultValues($A)),this.crls=y(e,qA,this.defaultValues(qA)),this.ocsps=y(e,FA,this.defaultValues(FA)),this.checkDate=y(e,KA,this.defaultValues(KA)),this.findOrigin=y(e,GA,this.defaultValues(GA)),this.findIssuer=y(e,WA,this.defaultValues(WA));}static defaultFindOrigin(e,s){e.tbsView.byteLength===0&&(e.tbsView=new Uint8Array(e.encodeTBS().toBER()));for(let r of s.certs)if(r.tbsView.byteLength===0&&(r.tbsView=new Uint8Array(r.encodeTBS().toBER())),Se.BufferSourceConverter.isEqual(e.tbsView,r.tbsView))return "Intermediate Certificates";for(let r of s.trustedCerts)if(r.tbsView.byteLength===0&&(r.tbsView=new Uint8Array(r.encodeTBS().toBER())),Se.BufferSourceConverter.isEqual(e.tbsView,r.tbsView))return "Trusted Certificates";return "Unknown"}async defaultFindIssuer(e,s,r=Ve(!0)){let n=[],i=null,a=null,o=null;if(e.subject.isEqual(e.issuer))try{if(await e.verify(void 0,r))return [e]}catch{}if(e.extensions){for(let u of e.extensions)if(u.extnID===R6&&u.parsedValue instanceof ym){u.parsedValue.keyIdentifier?i=u.parsedValue.keyIdentifier:(u.parsedValue.authorityCertIssuer&&(a=u.parsedValue.authorityCertIssuer),u.parsedValue.authorityCertSerialNumber&&(o=u.parsedValue.authorityCertSerialNumber));break}}function c(u){if(i!==null&&u.extensions){let p=!1;for(let w of u.extensions)if(w.extnID===E_&&w.parsedValue){p=!0,Se.BufferSourceConverter.isEqual(w.parsedValue.valueBlock.valueHex,i.valueBlock.valueHexView)&&n.push(u);break}if(p)return}let l=!1;o!==null&&(l=u.serialNumber.isEqual(o)),a!==null?u.subject.isEqual(a)&&l&&n.push(u):e.issuer.isEqual(u.subject)&&n.push(u);}for(let u of s.trustedCerts)c(u);for(let u of s.certs)c(u);for(let u=n.length-1;u>=0;u--)try{await e.verify(n[u],r)===!1&&n.splice(u,1);}catch{n.splice(u,1);}return n}defaultValues(e){switch(e){case MA:return [];case $A:return [];case qA:return [];case FA:return [];case KA:return new Date;case GA:return t.defaultFindOrigin;case WA:return this.defaultFindIssuer;default:throw new Error(`Invalid member name for CertificateChainValidationEngine class: ${e}`)}}async sort(e=!1,s=Ve(!0)){let r=[],n=async(S,I)=>{let C=[];function D(B){let k=!0;for(let O=0;O<B.length;O++){for(let G=0;G<B.length;G++)if(G!==O&&B[O]===B[G]){k=!1;break}if(!k)break}return k}if(gj(S,this.trustedCerts))return [[S]];let V=await this.findIssuer(S,this,I);if(V.length===0)throw new Error("No valid certificate paths found");for(let B=0;B<V.length;B++){if(Se.BufferSourceConverter.isEqual(V[B].tbsView,S.tbsView)){C.push([V[B]]);continue}let k=await n(V[B],I);for(let O=0;O<k.length;O++){let G=k[O].slice();G.splice(0,0,V[B]),D(G)?C.push(G):C.push(k[O]);}}return C},i=async S=>{let I=[],C=[],D=[];if(I.push(...r.filter(V=>S.issuer.isEqual(V.subject))),I.length===0)return {status:1,statusMessage:"No certificate's issuers"};if(C.push(...this.crls.filter(V=>V.issuer.isEqual(S.issuer))),C.length===0)return {status:2,statusMessage:"No CRLs for specific certificate issuer"};for(let V=0;V<C.length;V++){let B=C[V];if(!(B.nextUpdate&&B.nextUpdate.value<this.checkDate))for(let k=0;k<I.length;k++)try{if(await C[V].verify({issuerCertificate:I[k]},s)){D.push({crl:C[V],certificate:I[k]});break}}catch{}}return D.length?{status:0,statusMessage:b,result:D}:{status:3,statusMessage:"No valid CRLs found"}},a=async(S,I)=>{let C=s.getAlgorithmByOID(S.signatureAlgorithm.algorithmId);if(!C.name||!C.hash)return 1;for(let D=0;D<this.ocsps.length;D++){let B=await this.ocsps[D].getCertificateStatus(S,I,s);if(B.isForCertificate)return B.status===0?0:1}return 2};async function o(S,I=!1){let C=!1,D=!1,V=!1,B=!1;if(S.extensions){for(let k=0;k<S.extensions.length;k++){let O=S.extensions[k];if(O.critical&&!O.parsedValue)return {result:!1,resultCode:6,resultMessage:`Unable to parse critical certificate extension: ${O.extnID}`};if(O.extnID===x_){V=!0;let G=new Uint8Array(O.parsedValue.valueBlock.valueHex);(G[0]&4)===4&&(D=!0),(G[0]&2)===2&&(B=!0);}O.extnID===P6&&"cA"in O.parsedValue&&O.parsedValue.cA===!0&&(C=!0);}if(D===!0&&C===!1)return {result:!1,resultCode:3,resultMessage:'Unable to build certificate chain - using "keyCertSign" flag set without BasicConstraints'};if(V===!0&&C===!0&&D===!1)return {result:!1,resultCode:4,resultMessage:'Unable to build certificate chain - "keyCertSign" flag was not set'};if(C===!0&&V===!0&&I&&B===!1)return {result:!1,resultCode:5,resultMessage:'Unable to build certificate chain - intermediate certificate must have "cRLSign" key usage flag'}}return C===!1?{result:!1,resultCode:7,resultMessage:"Unable to build certificate chain - more than one possible end-user certificate"}:{result:!0,resultCode:0,resultMessage:b}}let c=async(S,I)=>{for(let C=0;C<S.length;C++)if(S[C].notBefore.value>I||S[C].notAfter.value<I)return {result:!1,resultCode:8,resultMessage:"The certificate is either not yet valid or expired"};if(S.length<2)return {result:!1,resultCode:9,resultMessage:"Too short certificate path"};for(let C=S.length-2;C>=0;C--)if(S[C].issuer.isEqual(S[C].subject)===!1&&S[C].issuer.isEqual(S[C+1].subject)===!1)return {result:!1,resultCode:10,resultMessage:"Incorrect name chaining"};if(this.crls.length!==0||this.ocsps.length!==0)for(let C=0;C<S.length-1;C++){let D=2,V={status:0,statusMessage:b};if(this.ocsps.length!==0)switch(D=await a(S[C],S[C+1]),D){case 0:continue;case 1:return {result:!1,resultCode:12,resultMessage:"One of certificates was revoked via OCSP response"}}if(this.crls.length!==0){if(V=await i(S[C]),V.status===0&&V.result)for(let B=0;B<V.result.length;B++){if(V.result[B].crl.isCertificateRevoked(S[C]))return {result:!1,resultCode:12,resultMessage:"One of certificates had been revoked"};if((await o(V.result[B].certificate,!0)).result===!1)return {result:!1,resultCode:13,resultMessage:"CRL issuer certificate is not a CA certificate or does not have crlSign flag"}}else if(e===!1)throw new ma(yc.noRevocation,`No revocation values found for one of certificates: ${V.statusMessage}`)}else if(D===2)return {result:!1,resultCode:11,resultMessage:"No revocation values found for one of certificates"};if(D===2&&V.status===2&&e){let B=S[C+1],k=!1;if(B.extensions)for(let O of B.extensions)switch(O.extnID){case ik:case O6:case L6:k=!0;break}if(k)throw new ma(yc.noRevocation,`No revocation values found for one of certificates: ${V.statusMessage}`)}}for(let[C,D]of S.entries()){if(!C)continue;if(!(await o(D)).result)return {result:!1,resultCode:14,resultMessage:"One of intermediate certificates is not a CA certificate"}}return {result:!0}};r.push(...this.trustedCerts),r.push(...this.certs);for(let S=0;S<r.length;S++)for(let I=0;I<r.length;I++)if(S!==I&&Se.BufferSourceConverter.isEqual(r[S].tbsView,r[I].tbsView)){r.splice(I,1),S=0;break}let u=r[r.length-1],l,p=[u];if(l=await n(u,s),l.length===0)throw new ma(yc.noPath,"Unable to find certificate path");for(let S=l.length-1;S>=0;S--){let I=!1;for(let C=0;C<l[S].length;C++){let D=l[S][C];for(let V=0;V<this.trustedCerts.length;V++)if(Se.BufferSourceConverter.isEqual(D.tbsView,this.trustedCerts[V].tbsView)){I=!0;break}if(I)break}I||l.splice(S,1);}if(l.length===0)throw new ma(yc.noValidPath,"No valid certificate paths found");let w=l[0].length,E=0;for(let S=0;S<l.length;S++)l[S].length<w&&(w=l[S].length,E=S);for(let S=0;S<l[E].length;S++)p.push(l[E][S]);if(l=await c(p,this.checkDate),l.result===!1)throw l;return p}async verify(e={},s=Ve(!0)){function r(c,u){let l=da(c),p=da(u),w=l.split("."),E=p.split("."),S=w.length,I=E.length;if(S===0||I===0||S<I)return !1;for(let C=0;C<S;C++)if(w[C].length===0)return !1;for(let C=0;C<I;C++)if(E[C].length===0){if(C===0){if(I===1)return !1;continue}return !1}for(let C=0;C<I;C++)if(E[I-1-C].length!==0&&w[S-1-C].localeCompare(E[I-1-C])!==0)return !1;return !0}function n(c,u){let l=da(c),p=da(u),w=l.split("@"),E=p.split("@");if(w.length===0||E.length===0||w.length<E.length)return !1;if(E.length===1){if(r(w[1],E[0])){let I=w[1].split("."),C=E[0].split(".");return C[0].length===0?!0:I.length===C.length}return !1}return l.localeCompare(p)===0}function i(c,u){let l=da(c),p=da(u),w=l.split("/");if(p.split("/").length>1)return !1;if(w.length>1){for(let I=0;I<w.length;I++)if(w[I].length>0&&w[I].charAt(w[I].length-1)!==":"){l=w[I].split(":")[0];break}}if(r(l,p)){let I=l.split("."),C=p.split(".");return C[0].length===0?!0:I.length===C.length}return !1}function a(c,u){let l=c.valueBlock.valueHexView,p=u.valueBlock.valueHexView;if(l.length===4&&p.length===8){for(let w=0;w<4;w++)if((l[w]^p[w])&p[w+4])return !1;return !0}if(l.length===16&&p.length===32){for(let w=0;w<16;w++)if((l[w]^p[w])&p[w+16])return !1;return !0}return !1}function o(c,u){if(c.typesAndValues.length===0||u.typesAndValues.length===0)return !0;if(c.typesAndValues.length<u.typesAndValues.length)return !1;let l=!0,p=0;for(let w=0;w<u.typesAndValues.length;w++){let E=!1;for(let S=p;S<c.typesAndValues.length;S++)if(E=c.typesAndValues[S].isEqual(u.typesAndValues[w]),c.typesAndValues[S].type===u.typesAndValues[w].type&&(l=l&&E),E===!0)if(p===0||p===S){p=S+1;break}else return !1;if(E===!1)return !1}return p===0?!1:l}try{if(this.certs.length===0)throw new Error("Empty certificate array");let c=e.passedWhenNotRevValues||!1,u=e.initialPolicySet||[Ys],l=e.initialExplicitPolicy||!1,p=e.initialPolicyMappingInhibit||!1,w=e.initialInhibitPolicy||!1,E=e.initialPermittedSubtreesSet||[],S=e.initialExcludedSubtreesSet||[],I=e.initialRequiredNameForms||[],C=l,D=p,V=w,B=[!1,!1,!1],k=0,O=0,G=0,re=E,Q=S,oe=I,pe=1;this.certs=await this.sort(c,s);let se=[];se.push(Ys);let ce=[],ge=new Array(this.certs.length-1);for(let $=0;$<this.certs.length-1;$++)ge[$]=!0;ce.push(ge);let Ke=new Array(this.certs.length-1),J=new Array(this.certs.length-1),X=C?this.certs.length-1:-1;for(let $=this.certs.length-2;$>=0;$--,pe++){let te=this.certs[$];if(te.extensions){for(let ie=0;ie<te.extensions.length;ie++){let xe=te.extensions[ie];if(xe.extnID===ak){J[$]=xe.parsedValue;for(let Re=0;Re<se.length;Re++)if(se[Re]===Ys){delete ce[Re][$];break}for(let Re=0;Re<xe.parsedValue.certificatePolicies.length;Re++){let ze=-1,Ut=xe.parsedValue.certificatePolicies[Re].policyIdentifier;for(let Ge=0;Ge<se.length;Ge++)if(Ut===se[Ge]){ze=Ge;break}if(ze===-1){se.push(Ut);let Ge=new Array(this.certs.length-1);Ge[$]=!0,ce.push(Ge);}else ce[ze][$]=!0;}}if(xe.extnID===ok){if(D)return {result:!1,resultCode:98,resultMessage:"Policy mapping prohibited"};Ke[$]=xe.parsedValue;}xe.extnID===ck&&C===!1&&(xe.parsedValue.requireExplicitPolicy===0?(C=!0,X=$):B[0]===!1?(B[0]=!0,k=xe.parsedValue.requireExplicitPolicy):k=k>xe.parsedValue.requireExplicitPolicy?xe.parsedValue.requireExplicitPolicy:k,xe.parsedValue.inhibitPolicyMapping===0?D=!0:B[1]===!1?(B[1]=!0,O=xe.parsedValue.inhibitPolicyMapping+1):O=O>xe.parsedValue.inhibitPolicyMapping+1?xe.parsedValue.inhibitPolicyMapping+1:O),xe.extnID===P_&&V===!1&&(xe.parsedValue.valueBlock.valueDec===0?V=!0:B[2]===!1?(B[2]=!0,G=xe.parsedValue.valueBlock.valueDec):G=G>xe.parsedValue.valueBlock.valueDec?xe.parsedValue.valueBlock.valueDec:G);}if(V===!0){let ie=-1;for(let xe=0;xe<se.length;xe++)if(se[xe]===Ys){ie=xe;break}ie!==-1&&delete ce[0][$];}C===!1&&B[0]===!0&&(k--,k===0&&(C=!0,X=$,B[0]=!1)),D===!1&&B[1]===!0&&(O--,O===0&&(D=!0,B[1]=!1)),V===!1&&B[2]===!0&&(G--,G===0&&(V=!0,B[2]=!1));}}for(let $=0;$<this.certs.length-1;$++)if($<this.certs.length-2&&typeof Ke[$+1]<"u")for(let te=0;te<Ke[$+1].mappings.length;te++){if(Ke[$+1].mappings[te].issuerDomainPolicy===Ys||Ke[$+1].mappings[te].subjectDomainPolicy===Ys)return {result:!1,resultCode:99,resultMessage:'The "anyPolicy" should not be a part of policy mapping scheme'};let ie=-1,xe=-1;for(let Re=0;Re<se.length;Re++)se[Re]===Ke[$+1].mappings[te].issuerDomainPolicy&&(ie=Re),se[Re]===Ke[$+1].mappings[te].subjectDomainPolicy&&(xe=Re);typeof ce[ie][$]<"u"&&delete ce[ie][$];for(let Re=0;Re<J[$].certificatePolicies.length;Re++)if(Ke[$+1].mappings[te].subjectDomainPolicy===J[$].certificatePolicies[Re].policyIdentifier&&ie!==-1&&xe!==-1)for(let ze=0;ze<=$;ze++)typeof ce[xe][ze]<"u"&&(ce[ie][ze]=!0,delete ce[xe][ze]);}for(let $=0;$<se.length;$++)if(se[$]===Ys)for(let te=0;te<X;te++)delete ce[$][te];let ue=[];for(let $=0;$<ce.length;$++){let te=!0;for(let ie=0;ie<this.certs.length-1;ie++){let xe=!1;if(ie<X&&se[$]===Ys&&se.length>1){te=!1;break}if(typeof ce[$][ie]>"u"){if(ie>=X){for(let Re=0;Re<se.length;Re++)if(se[Re]===Ys){ce[Re][ie]===!0&&(xe=!0);break}}if(!xe){te=!1;break}}}te===!0&&ue.push(se[$]);}let Ee=[];if(u.length===1&&u[0]===Ys&&C===!1)Ee=u;else if(ue.length===1&&ue[0]===Ys)Ee=u;else for(let $=0;$<ue.length;$++)for(let te=0;te<u.length;te++)if(u[te]===ue[$]||u[te]===Ys){Ee.push(ue[$]);break}let fe={result:Ee.length>0,resultCode:0,resultMessage:Ee.length>0?b:'Zero "userConstrPolicies" array, no intersections with "authConstrPolicies"',authConstrPolicies:ue,userConstrPolicies:Ee,explicitPolicyIndicator:C,policyMappings:Ke,certificatePath:this.certs};if(Ee.length===0||fe.result===!1)return fe;pe=1;for(let $=this.certs.length-2;$>=0;$--,pe++){let te=this.certs[$],ie=[],xe=[],Re=[];if(te.extensions)for(let je=0;je<te.extensions.length;je++){let de=te.extensions[je];de.extnID===nk&&("permittedSubtrees"in de.parsedValue&&(xe=xe.concat(de.parsedValue.permittedSubtrees)),"excludedSubtrees"in de.parsedValue&&(Re=Re.concat(de.parsedValue.excludedSubtrees))),de.extnID===ek&&(ie=ie.concat(de.parsedValue.altNames));}let ze=oe.length<=0;for(let je=0;je<oe.length;je++)switch(oe[je].base.type){case 4:{if(oe[je].base.value.typesAndValues.length!==te.subject.typesAndValues.length)continue;ze=!0;for(let de=0;de<te.subject.typesAndValues.length;de++)if(te.subject.typesAndValues[de].type!==oe[je].base.value.typesAndValues[de].type){ze=!1;break}if(ze===!0)break}break;default:}if(ze===!1)throw fe.result=!1,fe.resultCode=21,fe.resultMessage="No necessary name form found",fe;let Ut=[[],[],[],[],[]];for(let je=0;je<re.length;je++)switch(re[je].base.type){case 1:Ut[0].push(re[je]);break;case 2:Ut[1].push(re[je]);break;case 4:Ut[2].push(re[je]);break;case 6:Ut[3].push(re[je]);break;case 7:Ut[4].push(re[je]);break;default:}for(let je=0;je<5;je++){let de=!1,as=!1,ys=Ut[je];for(let Bt=0;Bt<ys.length;Bt++){switch(je){case 0:if(ie.length>0)for(let Fe=0;Fe<ie.length;Fe++)ie[Fe].type===1&&(as=!0,de=de||n(ie[Fe].value,ys[Bt].base.value));else for(let Fe=0;Fe<te.subject.typesAndValues.length;Fe++)(te.subject.typesAndValues[Fe].type==="1.2.840.113549.1.9.1"||te.subject.typesAndValues[Fe].type==="0.9.2342.19200300.100.1.3")&&(as=!0,de=de||n(te.subject.typesAndValues[Fe].value.valueBlock.value,ys[Bt].base.value));break;case 1:if(ie.length>0)for(let Fe=0;Fe<ie.length;Fe++)ie[Fe].type===2&&(as=!0,de=de||r(ie[Fe].value,ys[Bt].base.value));break;case 2:as=!0,de=o(te.subject,ys[Bt].base.value);break;case 3:if(ie.length>0)for(let Fe=0;Fe<ie.length;Fe++)ie[Fe].type===6&&(as=!0,de=de||i(ie[Fe].value,ys[Bt].base.value));break;case 4:if(ie.length>0)for(let Fe=0;Fe<ie.length;Fe++)ie[Fe].type===7&&(as=!0,de=de||a(ie[Fe].value,ys[Bt].base.value));break;default:}if(de)break}if(de===!1&&ys.length>0&&as)throw fe.result=!1,fe.resultCode=41,fe.resultMessage='Failed to meet "permitted sub-trees" name constraint',fe}let Ge=!1;for(let je=0;je<Q.length;je++){switch(Q[je].base.type){case 1:if(ie.length>=0)for(let de=0;de<ie.length;de++)ie[de].type===1&&(Ge=Ge||n(ie[de].value,Q[je].base.value));else for(let de=0;de<te.subject.typesAndValues.length;de++)(te.subject.typesAndValues[de].type==="1.2.840.113549.1.9.1"||te.subject.typesAndValues[de].type==="0.9.2342.19200300.100.1.3")&&(Ge=Ge||n(te.subject.typesAndValues[de].value.valueBlock.value,Q[je].base.value));break;case 2:if(ie.length>0)for(let de=0;de<ie.length;de++)ie[de].type===2&&(Ge=Ge||r(ie[de].value,Q[je].base.value));break;case 4:Ge=Ge||o(te.subject,Q[je].base.value);break;case 6:if(ie.length>0)for(let de=0;de<ie.length;de++)ie[de].type===6&&(Ge=Ge||i(ie[de].value,Q[je].base.value));break;case 7:if(ie.length>0)for(let de=0;de<ie.length;de++)ie[de].type===7&&(Ge=Ge||a(ie[de].value,Q[je].base.value));break;default:}if(Ge)break}if(Ge===!0)throw fe.result=!1,fe.resultCode=42,fe.resultMessage='Failed to meet "excluded sub-trees" name constraint',fe;re=re.concat(xe),Q=Q.concat(Re);}return fe}catch(c){return c instanceof Error?c instanceof ma?{result:!1,resultCode:c.code,resultMessage:c.message,error:c}:{result:!1,resultCode:yc.unknown,resultMessage:c.message,error:c}:c&&typeof c=="object"&&"resultMessage"in c?c:{result:!1,resultCode:-1,resultMessage:`${c}`}}}},Tw="tbsResponseData",Z0="signatureAlgorithm",X0="signature",Pl="certs",jm="BasicOCSPResponse",o6=`${jm}.${Tw}`,c6=`${jm}.${Z0}`,u6=`${jm}.${X0}`,kw=`${jm}.${Pl}`,yj=[o6,c6,u6,kw],Nc=class t extends q{constructor(e={}){super(),this.tbsResponseData=y(e,Tw,t.defaultValues(Tw)),this.signatureAlgorithm=y(e,Z0,t.defaultValues(Z0)),this.signature=y(e,X0,t.defaultValues(X0)),Pl in e&&(this.certs=y(e,Pl,t.defaultValues(Pl))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Tw:return new Sr;case Z0:return new _;case X0:return new _e;case Pl:return [];default:return super.defaultValues(e)}}static compareWithDefault(e,s){switch(e){case"type":{let r=Sr.compareWithDefault("tbs",s.tbs)&&Sr.compareWithDefault("responderID",s.responderID)&&Sr.compareWithDefault("producedAt",s.producedAt)&&Sr.compareWithDefault("responses",s.responses);return "responseExtensions"in s&&(r=r&&Sr.compareWithDefault("responseExtensions",s.responseExtensions)),r}case Z0:return s.algorithmId===b&&!("algorithmParams"in s);case X0:return s.isEqual(t.defaultValues(e));case Pl:return s.length===0;default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||jm,value:[Sr.schema(s.tbsResponseData||{names:{blockName:o6}}),_.schema(s.signatureAlgorithm||{names:{blockName:c6}}),new _e({name:s.signature||u6}),new L({optional:!0,idBlock:{tagClass:3,tagNumber:0},value:[new T({value:[new Ae({name:kw,value:is.schema(s.certs||{})})]})]})]})}fromSchema(e){W(e,yj);let s=K(e,e,t.schema());M.assertSchema(s,this.className),this.tbsResponseData=new Sr({schema:s.result[o6]}),this.signatureAlgorithm=new _({schema:s.result[c6]}),this.signature=s.result[u6],kw in s.result&&(this.certs=Array.from(s.result[kw],r=>new is({schema:r})));}toSchema(){let e=[];return e.push(this.tbsResponseData.toSchema()),e.push(this.signatureAlgorithm.toSchema()),e.push(this.signature),this.certs&&e.push(new L({idBlock:{tagClass:3,tagNumber:0},value:[new T({value:Array.from(this.certs,s=>s.toSchema())})]})),new T({value:e})}toJSON(){let e={tbsResponseData:this.tbsResponseData.toJSON(),signatureAlgorithm:this.signatureAlgorithm.toJSON(),signature:this.signature.toJSON()};return this.certs&&(e.certs=Array.from(this.certs,s=>s.toJSON())),e}async getCertificateStatus(e,s,r=Ve(!0)){let n={isForCertificate:!1,status:2},i={},a=[];for(let o of this.tbsResponseData.responses){let c=r.getAlgorithmByOID(o.certID.hashAlgorithm.algorithmId,!0,"CertID.hashAlgorithm");if(!i[c.name]){i[c.name]=1;let u=new Ns;a.push(u),await u.createForCertificate(e,{hashAlgorithm:c.name,issuerCertificate:s},r);}}for(let o of this.tbsResponseData.responses)for(let c of a)if(o.certID.isEqual(c)){n.isForCertificate=!0;try{switch(o.certStatus.idBlock.isConstructed){case!0:o.certStatus.idBlock.tagNumber===1&&(n.status=1);break;case!1:switch(o.certStatus.idBlock.tagNumber){case 0:n.status=0;break;case 2:n.status=2;break;default:}break;default:}}catch{}return n}return n}async sign(e,s="SHA-1",r=Ve(!0)){if(!e)throw new Error("Need to provide a private key for signing");let n=await r.getSignatureParameters(e,s),i=n.parameters.algorithm;if(!("name"in i))throw new Error("Empty algorithm");this.signatureAlgorithm=n.signatureAlgorithm,this.tbsResponseData.tbsView=new Uint8Array(this.tbsResponseData.toSchema(!0).toBER());let a=await r.signWithPrivateKey(this.tbsResponseData.tbsView,e,{algorithm:i});this.signature=new _e({valueHex:a});}async verify(e={},s=Ve(!0)){let r=null,n=-1,i=e.trustedCerts||[];if(!this.certs)throw new Error("No certificates attached to the BasicOCSPResponse");switch(!0){case this.tbsResponseData.responderID instanceof lt:for(let[u,l]of this.certs.entries())if(l.subject.isEqual(this.tbsResponseData.responderID)){n=u;break}break;case this.tbsResponseData.responderID instanceof z:for(let[u,l]of this.certs.entries()){let p=await s.digest({name:"sha-1"},l.subjectPublicKeyInfo.subjectPublicKey.valueBlock.valueHexView);if(wi(p,this.tbsResponseData.responderID.valueBlock.valueHex)){n=u;break}}break;default:throw new Error("Wrong value for responderID")}if(n===-1)throw new Error("Correct certificate was not found in OCSP response");r=this.certs[n];let a=[r];for(let u of this.certs){let l=await yk(u,r);l&&a.push(l);}if(!(await new Hm({certs:a,trustedCerts:i}).verify({},s)).result)throw new Error("Validation of signer's certificate failed");return s.verifyWithPublicKey(this.tbsResponseData.tbsView,this.signature,this.certs[n].subjectPublicKeyInfo,this.signatureAlgorithm)}};Nc.CLASS_NAME="BasicOCSPResponse";var JA="tbs",zA="version",YA="subject",ZA="subjectPublicKeyInfo",Pu="attributes",Q0="signatureAlgorithm",em="signatureValue",Ef="CertificationRequestInfo",F6=`${Ef}.version`,K6=`${Ef}.subject`,G6=`${Ef}.subjectPublicKeyInfo`,vb=`${Ef}.attributes`,wj=[Ef,F6,K6,G6,vb,Q0,em];function bj(t={}){let e=y(t,"names",{});return new T({name:e.CertificationRequestInfo||Ef,value:[new U({name:e.CertificationRequestInfoVersion||F6}),lt.schema(e.subject||{names:{blockName:K6}}),Gs.schema({names:{blockName:G6}}),new L({optional:!0,idBlock:{tagClass:3,tagNumber:0},value:[new Ae({optional:!0,name:e.CertificationRequestInfoAttributes||vb,value:xt.schema(e.attributes||{})})]})]})}var l6=class t extends q{get tbs(){return Se.BufferSourceConverter.toArrayBuffer(this.tbsView)}set tbs(e){this.tbsView=new Uint8Array(e);}constructor(e={}){super(),this.tbsView=new Uint8Array(y(e,JA,t.defaultValues(JA))),this.version=y(e,zA,t.defaultValues(zA)),this.subject=y(e,YA,t.defaultValues(YA)),this.subjectPublicKeyInfo=y(e,ZA,t.defaultValues(ZA)),Pu in e&&(this.attributes=y(e,Pu,t.defaultValues(Pu))),this.signatureAlgorithm=y(e,Q0,t.defaultValues(Q0)),this.signatureValue=y(e,em,t.defaultValues(em)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case JA:return kt;case zA:return 0;case YA:return new lt;case ZA:return new Gs;case Pu:return [];case Q0:return new _;case em:return new _e;default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({value:[bj(s.certificationRequestInfo||{}),new T({name:s.signatureAlgorithm||Q0,value:[new ae,new be({optional:!0})]}),new _e({name:s.signatureValue||em})]})}fromSchema(e){W(e,wj);let s=K(e,e,t.schema());M.assertSchema(s,this.className),this.tbsView=s.result.CertificationRequestInfo.valueBeforeDecodeView,this.version=s.result[F6].valueBlock.valueDec,this.subject=new lt({schema:s.result[K6]}),this.subjectPublicKeyInfo=new Gs({schema:s.result[G6]}),vb in s.result&&(this.attributes=Array.from(s.result[vb],r=>new xt({schema:r}))),this.signatureAlgorithm=new _({schema:s.result.signatureAlgorithm}),this.signatureValue=s.result.signatureValue;}encodeTBS(){let e=[new U({value:this.version}),this.subject.toSchema(),this.subjectPublicKeyInfo.toSchema()];return Pu in this&&e.push(new L({idBlock:{tagClass:3,tagNumber:0},value:Array.from(this.attributes||[],s=>s.toSchema())})),new T({value:e})}toSchema(e=!1){let s;if(e===!1){if(this.tbsView.byteLength===0)return t.schema();let r=Ot(this.tbsView);M.assert(r,"PKCS#10 Certificate Request"),s=r.result;}else s=this.encodeTBS();return new T({value:[s,this.signatureAlgorithm.toSchema(),this.signatureValue]})}toJSON(){let e={tbs:Se.Convert.ToHex(this.tbsView),version:this.version,subject:this.subject.toJSON(),subjectPublicKeyInfo:this.subjectPublicKeyInfo.toJSON(),signatureAlgorithm:this.signatureAlgorithm.toJSON(),signatureValue:this.signatureValue.toJSON()};return Pu in this&&(e.attributes=Array.from(this.attributes||[],s=>s.toJSON())),e}async sign(e,s="SHA-1",r=Ve(!0)){if(!e)throw new Error("Need to provide a private key for signing");let n=await r.getSignatureParameters(e,s),i=n.parameters;this.signatureAlgorithm=n.signatureAlgorithm,this.tbsView=new Uint8Array(this.encodeTBS().toBER());let a=await r.signWithPrivateKey(this.tbsView,e,i);this.signatureValue=new _e({valueHex:a});}async verify(e=Ve(!0)){return e.verifyWithPublicKey(this.tbsView,this.signatureValue,this.subjectPublicKeyInfo,this.signatureAlgorithm)}async getPublicKey(e,s=Ve(!0)){return s.getPublicKey(this.subjectPublicKeyInfo,this.signatureAlgorithm,e)}};l6.CLASS_NAME="CertificationRequest";var cc="digestAlgorithm",uc="digest",Sj=[cc,uc],_n=class t extends q{constructor(e={}){super(),this.digestAlgorithm=y(e,cc,t.defaultValues(cc)),this.digest=y(e,uc,t.defaultValues(uc)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case cc:return new _;case uc:return new z;default:return super.defaultValues(e)}}static compareWithDefault(e,s){switch(e){case cc:return _.compareWithDefault("algorithmId",s.algorithmId)&&!("algorithmParams"in s);case uc:return s.isEqual(t.defaultValues(e));default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||b,value:[_.schema(s.digestAlgorithm||{names:{blockName:cc}}),new z({name:s.digest||uc})]})}fromSchema(e){W(e,Sj);let s=K(e,e,t.schema({names:{digestAlgorithm:{names:{blockName:cc}},digest:uc}}));M.assertSchema(s,this.className),this.digestAlgorithm=new _({schema:s.result.digestAlgorithm}),this.digest=s.result.digest;}toSchema(){return new T({value:[this.digestAlgorithm.toSchema(),this.digest]})}toJSON(){return {digestAlgorithm:this.digestAlgorithm.toJSON(),digest:this.digest.toJSON()}}};_n.CLASS_NAME="DigestInfo";var Ol="eContentType",br="eContent",vj=[Ol,br],Hn=class t extends q{constructor(e={}){if(super(),this.eContentType=y(e,Ol,t.defaultValues(Ol)),br in e&&(this.eContent=y(e,br,t.defaultValues(br)),this.eContent.idBlock.tagClass===1&&this.eContent.idBlock.tagNumber===4&&this.eContent.idBlock.isConstructed===!1)){let s=new z({idBlock:{isConstructed:!0},isConstructed:!0}),r=0,n=this.eContent.valueBlock.valueHexView.slice().buffer,i=n.byteLength;for(;i>0;){let a=new Uint8Array(n,r,r+65536>n.byteLength?n.byteLength-r:65536),o=new ArrayBuffer(a.length),c=new Uint8Array(o);for(let u=0;u<c.length;u++)c[u]=a[u];s.valueBlock.value.push(new z({valueHex:o})),i-=a.length,r+=a.length;}this.eContent=s;}e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Ol:return b;case br:return new z;default:return super.defaultValues(e)}}static compareWithDefault(e,s){switch(e){case Ol:return s===b;case br:return s.idBlock.tagClass===1&&s.idBlock.tagNumber===4?s.isEqual(t.defaultValues(br)):!1;default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||b,value:[new ae({name:s.eContentType||b}),new L({optional:!0,idBlock:{tagClass:3,tagNumber:0},value:[new be({name:s.eContent||b})]})]})}fromSchema(e){W(e,vj);let s=K(e,e,t.schema({names:{eContentType:Ol,eContent:br}}));M.assertSchema(s,this.className),this.eContentType=s.result.eContentType.valueBlock.toString(),br in s.result&&(this.eContent=s.result.eContent);}toSchema(){let e=[];return e.push(new ae({value:this.eContentType})),this.eContent&&t.compareWithDefault(br,this.eContent)===!1&&e.push(new L({optional:!0,idBlock:{tagClass:3,tagNumber:0},value:[this.eContent]})),new T({value:e})}toJSON(){let e={eContentType:this.eContentType};return this.eContent&&t.compareWithDefault(br,this.eContent)===!1&&(e.eContent=this.eContent.toJSON()),e}};Hn.CLASS_NAME="EncapsulatedContentInfo";var lc="mac",fc="macSalt",Pn="iterations",Ej=[lc,fc,Pn],jr=class t extends q{constructor(e={}){super(),this.mac=y(e,lc,t.defaultValues(lc)),this.macSalt=y(e,fc,t.defaultValues(fc)),Pn in e&&(this.iterations=y(e,Pn,t.defaultValues(Pn))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case lc:return new _n;case fc:return new z;case Pn:return 1;default:return super.defaultValues(e)}}static compareWithDefault(e,s){switch(e){case lc:return _n.compareWithDefault("digestAlgorithm",s.digestAlgorithm)&&_n.compareWithDefault("digest",s.digest);case fc:return s.isEqual(t.defaultValues(e));case Pn:return s===t.defaultValues(e);default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||b,optional:s.optional||!0,value:[_n.schema(s.mac||{names:{blockName:lc}}),new z({name:s.macSalt||fc}),new U({optional:!0,name:s.iterations||Pn})]})}fromSchema(e){W(e,Ej);let s=K(e,e,t.schema({names:{mac:{names:{blockName:lc}},macSalt:fc,iterations:Pn}}));M.assertSchema(s,this.className),this.mac=new _n({schema:s.result.mac}),this.macSalt=s.result.macSalt,Pn in s.result&&(this.iterations=s.result.iterations.valueBlock.valueDec);}toSchema(){let e=[this.mac.toSchema(),this.macSalt];return this.iterations!==void 0&&e.push(new U({value:this.iterations})),new T({value:e})}toJSON(){let e={mac:this.mac.toJSON(),macSalt:this.macSalt.toJSON()};return this.iterations!==void 0&&(e.iterations=this.iterations),e}};jr.CLASS_NAME="MacData";var wc="hashAlgorithm",bc="hashedMessage",xj=[wc,bc],Ks=class t extends q{static async create(e,s,r=Ve(!0)){let n=r.getOIDByAlgorithm({name:e},!0,"hashAlgorithm"),i=await r.digest(e,s);return new t({hashAlgorithm:new _({algorithmId:n,algorithmParams:new wt}),hashedMessage:new z({valueHex:i})})}constructor(e={}){super(),this.hashAlgorithm=y(e,wc,t.defaultValues(wc)),this.hashedMessage=y(e,bc,t.defaultValues(bc)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case wc:return new _;case bc:return new z;default:return super.defaultValues(e)}}static compareWithDefault(e,s){switch(e){case wc:return s.algorithmId===b&&!("algorithmParams"in s);case bc:return s.isEqual(t.defaultValues(e))===0;default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||b,value:[_.schema(s.hashAlgorithm||{}),new z({name:s.hashedMessage||b})]})}fromSchema(e){W(e,xj);let s=K(e,e,t.schema({names:{hashAlgorithm:{names:{blockName:wc}},hashedMessage:bc}}));M.assertSchema(s,this.className),this.hashAlgorithm=new _({schema:s.result.hashAlgorithm}),this.hashedMessage=s.result.hashedMessage;}toSchema(){return new T({value:[this.hashAlgorithm.toSchema(),this.hashedMessage]})}toJSON(){return {hashAlgorithm:this.hashAlgorithm.toJSON(),hashedMessage:this.hashedMessage.toJSON()}}};Ks.CLASS_NAME="MessageImprint";var Rl="reqCert",oa="singleRequestExtensions",Aj=[Rl,oa],Sf=class t extends q{constructor(e={}){super(),this.reqCert=y(e,Rl,t.defaultValues(Rl)),oa in e&&(this.singleRequestExtensions=y(e,oa,t.defaultValues(oa))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Rl:return new Ns;case oa:return [];default:return super.defaultValues(e)}}static compareWithDefault(e,s){switch(e){case Rl:return s.isEqual(t.defaultValues(e));case oa:return s.length===0;default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||b,value:[Ns.schema(s.reqCert||{}),new L({optional:!0,idBlock:{tagClass:3,tagNumber:0},value:[Rt.schema(s.extensions||{names:{blockName:s.singleRequestExtensions||b}})]})]})}fromSchema(e){W(e,Aj);let s=K(e,e,t.schema({names:{reqCert:{names:{blockName:Rl}},extensions:{names:{blockName:oa}}}}));M.assertSchema(s,this.className),this.reqCert=new Ns({schema:s.result.reqCert}),oa in s.result&&(this.singleRequestExtensions=Array.from(s.result.singleRequestExtensions.valueBlock.value,r=>new Ds({schema:r})));}toSchema(){let e=[];return e.push(this.reqCert.toSchema()),this.singleRequestExtensions&&e.push(new L({optional:!0,idBlock:{tagClass:3,tagNumber:0},value:[new T({value:Array.from(this.singleRequestExtensions,s=>s.toSchema())})]})),new T({value:e})}toJSON(){let e={reqCert:this.reqCert.toJSON()};return this.singleRequestExtensions&&(e.singleRequestExtensions=Array.from(this.singleRequestExtensions,s=>s.toJSON())),e}};Sf.CLASS_NAME="Request";var pw="tbs",Ll="version",Dl="requestorName",gw="requestList",Vl="requestExtensions",xf="TBSRequest",Bw=`${xf}.${Ll}`,Pw=`${xf}.${Dl}`,f6=`${xf}.requests`,Ow=`${xf}.${Vl}`,Ij=[xf,Bw,Pw,f6,Ow],vr=class t extends q{get tbs(){return Se.BufferSourceConverter.toArrayBuffer(this.tbsView)}set tbs(e){this.tbsView=new Uint8Array(e);}constructor(e={}){super(),this.tbsView=new Uint8Array(y(e,pw,t.defaultValues(pw))),Ll in e&&(this.version=y(e,Ll,t.defaultValues(Ll))),Dl in e&&(this.requestorName=y(e,Dl,t.defaultValues(Dl))),this.requestList=y(e,gw,t.defaultValues(gw)),Vl in e&&(this.requestExtensions=y(e,Vl,t.defaultValues(Vl))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case pw:return kt;case Ll:return 0;case Dl:return new it;case gw:case Vl:return [];default:return super.defaultValues(e)}}static compareWithDefault(e,s){switch(e){case pw:return s.byteLength===0;case Ll:return s===t.defaultValues(e);case Dl:return s.type===it.defaultValues("type")&&Object.keys(s.value).length===0;case gw:case Vl:return s.length===0;default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||xf,value:[new L({optional:!0,idBlock:{tagClass:3,tagNumber:0},value:[new U({name:s.TBSRequestVersion||Bw})]}),new L({optional:!0,idBlock:{tagClass:3,tagNumber:1},value:[it.schema(s.requestorName||{names:{blockName:Pw}})]}),new T({name:s.requestList||"TBSRequest.requestList",value:[new Ae({name:s.requests||f6,value:Sf.schema(s.requestNames||{})})]}),new L({optional:!0,idBlock:{tagClass:3,tagNumber:2},value:[Rt.schema(s.extensions||{names:{blockName:s.requestExtensions||Ow}})]})]})}fromSchema(e){W(e,Ij);let s=K(e,e,t.schema());M.assertSchema(s,this.className),this.tbsView=s.result.TBSRequest.valueBeforeDecodeView,Bw in s.result&&(this.version=s.result[Bw].valueBlock.valueDec),Pw in s.result&&(this.requestorName=new it({schema:s.result[Pw]})),this.requestList=Array.from(s.result[f6],r=>new Sf({schema:r})),Ow in s.result&&(this.requestExtensions=Array.from(s.result[Ow].valueBlock.value,r=>new Ds({schema:r})));}toSchema(e=!1){let s;if(e===!1){if(this.tbsView.byteLength===0)return t.schema();let r=Ot(this.tbsView);if(M.assert(r,"TBS Request"),!(r.result instanceof T))throw new Error("ASN.1 result should be SEQUENCE");s=r.result;}else {let r=[];this.version!==void 0&&r.push(new L({idBlock:{tagClass:3,tagNumber:0},value:[new U({value:this.version})]})),this.requestorName&&r.push(new L({idBlock:{tagClass:3,tagNumber:1},value:[this.requestorName.toSchema()]})),r.push(new T({value:Array.from(this.requestList,n=>n.toSchema())})),this.requestExtensions&&r.push(new L({idBlock:{tagClass:3,tagNumber:2},value:[new T({value:Array.from(this.requestExtensions,n=>n.toSchema())})]})),s=new T({value:r});}return s}toJSON(){let e={};return this.version!=null&&(e.version=this.version),this.requestorName&&(e.requestorName=this.requestorName.toJSON()),e.requestList=Array.from(this.requestList,s=>s.toJSON()),this.requestExtensions&&(e.requestExtensions=Array.from(this.requestExtensions,s=>s.toJSON())),e}};vr.CLASS_NAME="TBSRequest";var Ou="signatureAlgorithm",Ru="signature",Ti="certs",Un=class t extends q{constructor(e={}){super(),this.signatureAlgorithm=y(e,Ou,t.defaultValues(Ou)),this.signature=y(e,Ru,t.defaultValues(Ru)),Ti in e&&(this.certs=y(e,Ti,t.defaultValues(Ti))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Ou:return new _;case Ru:return new _e;case Ti:return [];default:return super.defaultValues(e)}}static compareWithDefault(e,s){switch(e){case Ou:return s.algorithmId===b&&!("algorithmParams"in s);case Ru:return s.isEqual(t.defaultValues(e));case Ti:return s.length===0;default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||b,value:[_.schema(s.signatureAlgorithm||{}),new _e({name:s.signature||b}),new L({optional:!0,idBlock:{tagClass:3,tagNumber:0},value:[new T({value:[new Ae({name:s.certs||b,value:is.schema({})})]})]})]})}fromSchema(e){W(e,[Ou,Ru,Ti]);let s=K(e,e,t.schema({names:{signatureAlgorithm:{names:{blockName:Ou}},signature:Ru,certs:Ti}}));M.assertSchema(s,this.className),this.signatureAlgorithm=new _({schema:s.result.signatureAlgorithm}),this.signature=s.result.signature,Ti in s.result&&(this.certs=Array.from(s.result.certs,r=>new is({schema:r})));}toSchema(){let e=[];return e.push(this.signatureAlgorithm.toSchema()),e.push(this.signature),this.certs&&e.push(new L({optional:!0,idBlock:{tagClass:3,tagNumber:0},value:[new T({value:Array.from(this.certs,s=>s.toSchema())})]})),new T({value:e})}toJSON(){let e={signatureAlgorithm:this.signatureAlgorithm.toJSON(),signature:this.signature.toJSON()};return this.certs&&(e.certs=Array.from(this.certs,s=>s.toJSON())),e}};Un.CLASS_NAME="Signature";var Ul="tbsRequest",ca="optionalSignature",Cj=[Ul,ca],h6=class t extends q{constructor(e={}){super(),this.tbsRequest=y(e,Ul,t.defaultValues(Ul)),ca in e&&(this.optionalSignature=y(e,ca,t.defaultValues(ca))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Ul:return new vr;case ca:return new Un;default:return super.defaultValues(e)}}static compareWithDefault(e,s){switch(e){case Ul:return vr.compareWithDefault("tbs",s.tbs)&&vr.compareWithDefault("version",s.version)&&vr.compareWithDefault("requestorName",s.requestorName)&&vr.compareWithDefault("requestList",s.requestList)&&vr.compareWithDefault("requestExtensions",s.requestExtensions);case ca:return Un.compareWithDefault("signatureAlgorithm",s.signatureAlgorithm)&&Un.compareWithDefault("signature",s.signature)&&Un.compareWithDefault("certs",s.certs);default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||"OCSPRequest",value:[vr.schema(s.tbsRequest||{names:{blockName:Ul}}),new L({optional:!0,idBlock:{tagClass:3,tagNumber:0},value:[Un.schema(s.optionalSignature||{names:{blockName:ca}})]})]})}fromSchema(e){W(e,Cj);let s=K(e,e,t.schema());M.assertSchema(s,this.className),this.tbsRequest=new vr({schema:s.result.tbsRequest}),ca in s.result&&(this.optionalSignature=new Un({schema:s.result.optionalSignature}));}toSchema(e=!1){let s=[];return s.push(this.tbsRequest.toSchema(e)),this.optionalSignature&&s.push(new L({optional:!0,idBlock:{tagClass:3,tagNumber:0},value:[this.optionalSignature.toSchema()]})),new T({value:s})}toJSON(){let e={tbsRequest:this.tbsRequest.toJSON()};return this.optionalSignature&&(e.optionalSignature=this.optionalSignature.toJSON()),e}async createForCertificate(e,s,r=Ve(!0)){let n=new Ns;await n.createForCertificate(e,s,r),this.tbsRequest.requestList.push(new Sf({reqCert:n}));}async sign(e,s="SHA-1",r=Ve(!0)){if(Qe.assertEmpty(e,"privateKey","OCSPRequest.sign method"),!this.optionalSignature)throw new Error('Need to create "optionalSignature" field before signing');let n=await r.getSignatureParameters(e,s),i=n.parameters;this.optionalSignature.signatureAlgorithm=n.signatureAlgorithm;let a=this.tbsRequest.toSchema(!0).toBER(!1),o=await r.signWithPrivateKey(a,e,i);this.optionalSignature.signature=new _e({valueHex:o});}verify(){}};h6.CLASS_NAME="OCSPRequest";var _l="responseType",Hl="response",Nj=[_l,Hl],pa=class t extends q{constructor(e={}){super(),this.responseType=y(e,_l,t.defaultValues(_l)),this.response=y(e,Hl,t.defaultValues(Hl)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case _l:return b;case Hl:return new z;default:return super.defaultValues(e)}}static compareWithDefault(e,s){switch(e){case _l:return s===b;case Hl:return s.isEqual(t.defaultValues(e));default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||b,value:[new ae({name:s.responseType||b}),new z({name:s.response||b})]})}fromSchema(e){W(e,Nj);let s=K(e,e,t.schema({names:{responseType:_l,response:Hl}}));M.assertSchema(s,this.className),this.responseType=s.result.responseType.valueBlock.toString(),this.response=s.result.response;}toSchema(){return new T({value:[new ae({value:this.responseType}),this.response]})}toJSON(){return {responseType:this.responseType,response:this.response.toJSON()}}};pa.CLASS_NAME="ResponseBytes";var Lu="responseStatus",En="responseBytes",d6=class t extends q{constructor(e={}){super(),this.responseStatus=y(e,Lu,t.defaultValues(Lu)),En in e&&(this.responseBytes=y(e,En,t.defaultValues(En))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Lu:return new Ur;case En:return new pa;default:return super.defaultValues(e)}}static compareWithDefault(e,s){switch(e){case Lu:return s.isEqual(t.defaultValues(e));case En:return pa.compareWithDefault("responseType",s.responseType)&&pa.compareWithDefault("response",s.response);default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||"OCSPResponse",value:[new Ur({name:s.responseStatus||Lu}),new L({optional:!0,idBlock:{tagClass:3,tagNumber:0},value:[pa.schema(s.responseBytes||{names:{blockName:En}})]})]})}fromSchema(e){W(e,[Lu,En]);let s=K(e,e,t.schema());M.assertSchema(s,this.className),this.responseStatus=s.result.responseStatus,En in s.result&&(this.responseBytes=new pa({schema:s.result.responseBytes}));}toSchema(){let e=[];return e.push(this.responseStatus),this.responseBytes&&e.push(new L({idBlock:{tagClass:3,tagNumber:0},value:[this.responseBytes.toSchema()]})),new T({value:e})}toJSON(){let e={responseStatus:this.responseStatus.toJSON()};return this.responseBytes&&(e.responseBytes=this.responseBytes.toJSON()),e}async getCertificateStatus(e,s,r=Ve(!0)){let n,i={isForCertificate:!1,status:2};if(!this.responseBytes||this.responseBytes.responseType!==ww)return i;try{let a=Ot(this.responseBytes.response.valueBlock.valueHexView);M.assert(a,"Basic OCSP response"),n=new Nc({schema:a.result});}catch{return i}return n.getCertificateStatus(e,s,r)}async sign(e,s,r=Ve(!0)){var n;if(this.responseBytes&&this.responseBytes.responseType===ww)return Nc.fromBER(this.responseBytes.response.valueBlock.valueHexView).sign(e,s,r);throw new Error(`Unknown ResponseBytes type: ${((n=this.responseBytes)===null||n===void 0?void 0:n.responseType)||"Unknown"}`)}async verify(e=null,s=Ve(!0)){var r;if(!(En in this))throw new Error("Empty ResponseBytes field");if(this.responseBytes&&this.responseBytes.responseType===ww){let n=Nc.fromBER(this.responseBytes.response.valueBlock.valueHexView);return e!==null&&(n.certs||(n.certs=[]),n.certs.push(e)),n.verify({},s)}throw new Error(`Unknown ResponseBytes type: ${((r=this.responseBytes)===null||r===void 0?void 0:r.responseType)||"Unknown"}`)}};d6.CLASS_NAME="OCSPResponse";var go="type",On="attributes",yw="encodedValue",Tj=[On],gs=class t extends q{constructor(e={}){super(),this.type=y(e,go,t.defaultValues(go)),this.attributes=y(e,On,t.defaultValues(On)),this.encodedValue=y(e,yw,t.defaultValues(yw)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case go:return -1;case On:return [];case yw:return kt;default:return super.defaultValues(e)}}static compareWithDefault(e,s){switch(e){case go:return s===t.defaultValues(go);case On:return s.length===0;case yw:return s.byteLength===0;default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new L({name:s.blockName||b,optional:!0,idBlock:{tagClass:3,tagNumber:s.tagNumber||0},value:[new Ae({name:s.attributes||b,value:xt.schema()})]})}fromSchema(e){W(e,Tj);let s=K(e,e,t.schema({names:{tagNumber:this.type,attributes:On}}));M.assertSchema(s,this.className),this.type=s.result.idBlock.tagNumber,this.encodedValue=Se.BufferSourceConverter.toArrayBuffer(s.result.valueBeforeDecodeView);let r=new Uint8Array(this.encodedValue);if(r[0]=49,!(On in s.result)){if(this.type===0)throw new Error("Wrong structure of SignedUnsignedAttributes");return}this.attributes=Array.from(s.result.attributes,n=>new xt({schema:n}));}toSchema(){if(t.compareWithDefault(go,this.type)||t.compareWithDefault(On,this.attributes))throw new Error('Incorrectly initialized "SignedAndUnsignedAttributes" class');return new L({optional:!0,idBlock:{tagClass:3,tagNumber:this.type},value:Array.from(this.attributes,e=>e.toSchema())})}toJSON(){if(t.compareWithDefault(go,this.type)||t.compareWithDefault(On,this.attributes))throw new Error('Incorrectly initialized "SignedAndUnsignedAttributes" class');return {type:this.type,attributes:Array.from(this.attributes,e=>e.toJSON())}}};gs.CLASS_NAME="SignedAndUnsignedAttributes";var jl="version",hc="sid",Ml="digestAlgorithm",ua="signedAttrs",$l="signatureAlgorithm",tm="signature",la="unsignedAttrs",Sa="SignerInfo",m6=`${Sa}.${jl}`,sm=`${Sa}.${hc}`,p6=`${Sa}.${Ml}`,Rw=`${Sa}.${ua}`,g6=`${Sa}.${$l}`,y6=`${Sa}.${tm}`,Lw=`${Sa}.${la}`,kj=[m6,sm,p6,Rw,g6,y6,Lw],vf=class t extends q{constructor(e={}){super(),this.version=y(e,jl,t.defaultValues(jl)),this.sid=y(e,hc,t.defaultValues(hc)),this.digestAlgorithm=y(e,Ml,t.defaultValues(Ml)),ua in e&&(this.signedAttrs=y(e,ua,t.defaultValues(ua))),this.signatureAlgorithm=y(e,$l,t.defaultValues($l)),this.signature=y(e,tm,t.defaultValues(tm)),la in e&&(this.unsignedAttrs=y(e,la,t.defaultValues(la))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case jl:return 0;case hc:return new be;case Ml:return new _;case ua:return new gs({type:0});case $l:return new _;case tm:return new z;case la:return new gs({type:1});default:return super.defaultValues(e)}}static compareWithDefault(e,s){switch(e){case jl:return t.defaultValues(jl)===s;case hc:return s instanceof be;case Ml:return s instanceof _?s.isEqual(t.defaultValues(Ml)):!1;case ua:return gs.compareWithDefault("type",s.type)&&gs.compareWithDefault("attributes",s.attributes)&&gs.compareWithDefault("encodedValue",s.encodedValue);case $l:return s instanceof _?s.isEqual(t.defaultValues($l)):!1;case tm:case la:return gs.compareWithDefault("type",s.type)&&gs.compareWithDefault("attributes",s.attributes)&&gs.compareWithDefault("encodedValue",s.encodedValue);default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:Sa,value:[new U({name:s.version||m6}),new ut({value:[qt.schema(s.sidSchema||{names:{blockName:sm}}),new ut({value:[new L({optional:!0,name:s.sid||sm,idBlock:{tagClass:3,tagNumber:0},value:[new z]}),new we({optional:!0,name:s.sid||sm,idBlock:{tagClass:3,tagNumber:0}})]})]}),_.schema(s.digestAlgorithm||{names:{blockName:p6}}),gs.schema(s.signedAttrs||{names:{blockName:Rw,tagNumber:0}}),_.schema(s.signatureAlgorithm||{names:{blockName:g6}}),new z({name:s.signature||y6}),gs.schema(s.unsignedAttrs||{names:{blockName:Lw,tagNumber:1}})]})}fromSchema(e){W(e,kj);let s=K(e,e,t.schema());M.assertSchema(s,this.className),this.version=s.result[m6].valueBlock.valueDec;let r=s.result[sm];r.idBlock.tagClass===1?this.sid=new qt({schema:r}):this.sid=r,this.digestAlgorithm=new _({schema:s.result[p6]}),Rw in s.result&&(this.signedAttrs=new gs({type:0,schema:s.result[Rw]})),this.signatureAlgorithm=new _({schema:s.result[g6]}),this.signature=s.result[y6],Lw in s.result&&(this.unsignedAttrs=new gs({type:1,schema:s.result[Lw]}));}toSchema(){if(t.compareWithDefault(hc,this.sid))throw new Error('Incorrectly initialized "SignerInfo" class');let e=[];return e.push(new U({value:this.version})),this.sid instanceof qt?e.push(this.sid.toSchema()):e.push(this.sid),e.push(this.digestAlgorithm.toSchema()),this.signedAttrs&&t.compareWithDefault(ua,this.signedAttrs)===!1&&e.push(this.signedAttrs.toSchema()),e.push(this.signatureAlgorithm.toSchema()),e.push(this.signature),this.unsignedAttrs&&t.compareWithDefault(la,this.unsignedAttrs)===!1&&e.push(this.unsignedAttrs.toSchema()),new T({value:e})}toJSON(){if(t.compareWithDefault(hc,this.sid))throw new Error('Incorrectly initialized "SignerInfo" class');let e={version:this.version,digestAlgorithm:this.digestAlgorithm.toJSON(),signatureAlgorithm:this.signatureAlgorithm.toJSON(),signature:this.signature.toJSON()};return this.sid instanceof be||(e.sid=this.sid.toJSON()),this.signedAttrs&&t.compareWithDefault(ua,this.signedAttrs)===!1&&(e.signedAttrs=this.signedAttrs.toJSON()),this.unsignedAttrs&&t.compareWithDefault(la,this.unsignedAttrs)===!1&&(e.unsignedAttrs=this.unsignedAttrs.toJSON()),e}};vf.CLASS_NAME="SignerInfo";var rm="version",nm="policy",im="messageImprint",am="serialNumber",om="genTime",dc="ordering",mc="nonce",ql="accuracy",Fl="tsa",Kl="extensions",xr="TSTInfo",w6=`${xr}.${rm}`,b6=`${xr}.${nm}`,S6=`${xr}.${im}`,v6=`${xr}.${am}`,E6=`${xr}.${om}`,Dw=`${xr}.${ql}`,Vw=`${xr}.${dc}`,Uw=`${xr}.${mc}`,_w=`${xr}.${Fl}`,Hw=`${xr}.${Kl}`,Bj=[w6,b6,S6,v6,E6,Dw,Vw,Uw,_w,Hw],Eb=class t extends q{constructor(e={}){super(),this.version=y(e,rm,t.defaultValues(rm)),this.policy=y(e,nm,t.defaultValues(nm)),this.messageImprint=y(e,im,t.defaultValues(im)),this.serialNumber=y(e,am,t.defaultValues(am)),this.genTime=y(e,om,t.defaultValues(om)),ql in e&&(this.accuracy=y(e,ql,t.defaultValues(ql))),dc in e&&(this.ordering=y(e,dc,t.defaultValues(dc))),mc in e&&(this.nonce=y(e,mc,t.defaultValues(mc))),Fl in e&&(this.tsa=y(e,Fl,t.defaultValues(Fl))),Kl in e&&(this.extensions=y(e,Kl,t.defaultValues(Kl))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case rm:return 0;case nm:return b;case im:return new Ks;case am:return new U;case om:return new Date(0,0,0);case ql:return new Dn;case dc:return !1;case mc:return new U;case Fl:return new it;case Kl:return [];default:return super.defaultValues(e)}}static compareWithDefault(e,s){switch(e){case rm:case nm:case om:case dc:return s===t.defaultValues(dc);case im:return Ks.compareWithDefault(wc,s.hashAlgorithm)&&Ks.compareWithDefault(bc,s.hashedMessage);case am:case mc:return s.isEqual(t.defaultValues(mc));case ql:return Dn.compareWithDefault(ki,s.seconds)&&Dn.compareWithDefault(Bi,s.millis)&&Dn.compareWithDefault(Pi,s.micros);case Fl:return it.compareWithDefault(wd,s.type)&&it.compareWithDefault(bd,s.value);case Kl:return s.length===0;default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||xr,value:[new U({name:s.version||w6}),new ae({name:s.policy||b6}),Ks.schema(s.messageImprint||{names:{blockName:S6}}),new U({name:s.serialNumber||v6}),new ct({name:s.genTime||E6}),Dn.schema(s.accuracy||{names:{blockName:Dw}}),new Fs({name:s.ordering||Vw,optional:!0}),new U({name:s.nonce||Uw,optional:!0}),new L({optional:!0,idBlock:{tagClass:3,tagNumber:0},value:[it.schema(s.tsa||{names:{blockName:_w}})]}),new L({optional:!0,idBlock:{tagClass:3,tagNumber:1},value:[new Ae({name:s.extensions||Hw,value:Ds.schema(s.extension||{})})]})]})}fromSchema(e){W(e,Bj);let s=K(e,e,t.schema());M.assertSchema(s,this.className),this.version=s.result[w6].valueBlock.valueDec,this.policy=s.result[b6].valueBlock.toString(),this.messageImprint=new Ks({schema:s.result[S6]}),this.serialNumber=s.result[v6],this.genTime=s.result[E6].toDate(),Dw in s.result&&(this.accuracy=new Dn({schema:s.result[Dw]})),Vw in s.result&&(this.ordering=s.result[Vw].valueBlock.value),Uw in s.result&&(this.nonce=s.result[Uw]),_w in s.result&&(this.tsa=new it({schema:s.result[_w]})),Hw in s.result&&(this.extensions=Array.from(s.result[Hw],r=>new Ds({schema:r})));}toSchema(){let e=[];return e.push(new U({value:this.version})),e.push(new ae({value:this.policy})),e.push(this.messageImprint.toSchema()),e.push(this.serialNumber),e.push(new ct({valueDate:this.genTime})),this.accuracy&&e.push(this.accuracy.toSchema()),this.ordering!==void 0&&e.push(new Fs({value:this.ordering})),this.nonce&&e.push(this.nonce),this.tsa&&e.push(new L({optional:!0,idBlock:{tagClass:3,tagNumber:0},value:[this.tsa.toSchema()]})),this.extensions&&e.push(new L({optional:!0,idBlock:{tagClass:3,tagNumber:1},value:Array.from(this.extensions,s=>s.toSchema())})),new T({value:e})}toJSON(){let e={version:this.version,policy:this.policy,messageImprint:this.messageImprint.toJSON(),serialNumber:this.serialNumber.toJSON(),genTime:this.genTime};return this.accuracy&&(e.accuracy=this.accuracy.toJSON()),this.ordering!==void 0&&(e.ordering=this.ordering),this.nonce&&(e.nonce=this.nonce.toJSON()),this.tsa&&(e.tsa=this.tsa.toJSON()),this.extensions&&(e.extensions=Array.from(this.extensions,s=>s.toJSON())),e}async verify(e,s=Ve(!0)){if(!e.data)throw new Error('"data" is a mandatory attribute for TST_INFO verification');let r=e.data;if(e.notBefore&&this.genTime<e.notBefore)throw new Error("Generation time for TSTInfo object is less than notBefore value");if(e.notAfter&&this.genTime>e.notAfter)throw new Error("Generation time for TSTInfo object is more than notAfter value");let n=s.getAlgorithmByOID(this.messageImprint.hashAlgorithm.algorithmId,!0,"MessageImprint.hashAlgorithm"),i=await s.digest(n.name,new Uint8Array(r));return Se.BufferSourceConverter.isEqual(i,this.messageImprint.hashedMessage.valueBlock.valueHexView)}};Eb.CLASS_NAME="TSTInfo";var Gl="version",cm="digestAlgorithms",um="encapContentInfo",Wl="certificates",Jl="crls",lm="signerInfos",gd="ocsps",Oc="SignedData",x6=`${Oc}.${Gl}`,jw=`${Oc}.${cm}`,A6=`${Oc}.${um}`,Mw=`${Oc}.${Wl}`,$w=`${Oc}.${Jl}`,qw=`${Oc}.${lm}`,Pj=[x6,jw,A6,Mw,$w,qw],zt=class extends Error{constructor({message:e,code:s=0,date:r=new Date,signatureVerified:n=null,signerCertificate:i=null,signerCertificateVerified:a=null,timestampSerial:o=null,certificatePath:c=[]}){super(e),this.name="SignedDataVerifyError",this.date=r,this.code=s,this.timestampSerial=o,this.signatureVerified=n,this.signerCertificate=i,this.signerCertificateVerified=a,this.certificatePath=c;}},ba=class t extends q{constructor(e={}){super(),this.version=y(e,Gl,t.defaultValues(Gl)),this.digestAlgorithms=y(e,cm,t.defaultValues(cm)),this.encapContentInfo=y(e,um,t.defaultValues(um)),Wl in e&&(this.certificates=y(e,Wl,t.defaultValues(Wl))),Jl in e&&(this.crls=y(e,Jl,t.defaultValues(Jl))),gd in e&&(this.ocsps=y(e,gd,t.defaultValues(gd))),this.signerInfos=y(e,lm,t.defaultValues(lm)),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Gl:return 0;case cm:return [];case um:return new Hn;case Wl:return [];case Jl:return [];case gd:return [];case lm:return [];default:return super.defaultValues(e)}}static compareWithDefault(e,s){switch(e){case Gl:return s===t.defaultValues(Gl);case um:return Hn.compareWithDefault("eContentType",s.eContentType)&&Hn.compareWithDefault("eContent",s.eContent);case cm:case Wl:case Jl:case gd:case lm:return s.length===0;default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return s.optional===void 0&&(s.optional=!1),new T({name:s.blockName||Oc,optional:s.optional,value:[new U({name:s.version||x6}),new bt({value:[new Ae({name:s.digestAlgorithms||jw,value:_.schema()})]}),Hn.schema(s.encapContentInfo||{names:{blockName:A6}}),new L({name:s.certificates||Mw,optional:!0,idBlock:{tagClass:3,tagNumber:0},value:$n.schema().valueBlock.value}),new L({optional:!0,idBlock:{tagClass:3,tagNumber:1},value:xc.schema(s.crls||{names:{crls:$w}}).valueBlock.value}),new bt({value:[new Ae({name:s.signerInfos||qw,value:vf.schema()})]})]})}fromSchema(e){W(e,Pj);let s=K(e,e,t.schema());if(M.assertSchema(s,this.className),this.version=s.result[x6].valueBlock.valueDec,jw in s.result&&(this.digestAlgorithms=Array.from(s.result[jw],r=>new _({schema:r}))),this.encapContentInfo=new Hn({schema:s.result[A6]}),Mw in s.result){let r=new $n({schema:new bt({value:s.result[Mw].valueBlock.value})});this.certificates=r.certificates.slice(0);}$w in s.result&&(this.crls=Array.from(s.result[$w],r=>r.idBlock.tagClass===1?new kc({schema:r}):(r.idBlock.tagClass=1,r.idBlock.tagNumber=16,new Ec({schema:r})))),qw in s.result&&(this.signerInfos=Array.from(s.result[qw],r=>new vf({schema:r})));}toSchema(e=!1){let s=[];if(this.certificates&&this.certificates.length&&this.certificates.some(r=>r instanceof of)||this.crls&&this.crls.length&&this.crls.some(r=>r instanceof Ec)?this.version=5:this.certificates&&this.certificates.length&&this.certificates.some(r=>r instanceof Mr)?this.version=4:this.certificates&&this.certificates.length&&this.certificates.some(r=>r instanceof hf)||this.signerInfos.some(r=>r.version===3)||this.encapContentInfo.eContentType!==t.ID_DATA?this.version=3:this.version=1,s.push(new U({value:this.version})),s.push(new bt({value:Array.from(this.digestAlgorithms,r=>r.toSchema())})),s.push(this.encapContentInfo.toSchema()),this.certificates){let n=new $n({certificates:this.certificates}).toSchema();s.push(new L({idBlock:{tagClass:3,tagNumber:0},value:n.valueBlock.value}));}return this.crls&&s.push(new L({idBlock:{tagClass:3,tagNumber:1},value:Array.from(this.crls,r=>{if(r instanceof Ec){let n=r.toSchema();return n.idBlock.tagClass=3,n.idBlock.tagNumber=1,n}return r.toSchema(e)})})),s.push(new bt({value:Array.from(this.signerInfos,r=>r.toSchema())})),new T({value:s})}toJSON(){let e={version:this.version,digestAlgorithms:Array.from(this.digestAlgorithms,s=>s.toJSON()),encapContentInfo:this.encapContentInfo.toJSON(),signerInfos:Array.from(this.signerInfos,s=>s.toJSON())};return this.certificates&&(e.certificates=Array.from(this.certificates,s=>s.toJSON())),this.crls&&(e.crls=Array.from(this.crls,s=>s.toJSON())),e}async verify({signer:e=-1,data:s=kt,trustedCerts:r=[],checkDate:n=new Date,checkChain:i=!1,passedWhenNotRevValues:a=!1,extendedMode:o=!1,findOrigin:c=null,findIssuer:u=null}={},l=Ve(!0)){let p=null,w=null;try{let E=kt,S=b,I=[],C=this.signerInfos[e];if(!C)throw new zt({date:n,code:1,message:"Unable to get signer by supplied index"});if(!this.certificates)throw new zt({date:n,code:2,message:"No certificates attached to this signed data"});if(C.sid instanceof qt){for(let k of this.certificates)if(k instanceof is&&k.issuer.isEqual(C.sid.issuer)&&k.serialNumber.isEqual(C.sid.serialNumber)){p=k;break}}else {let k=C.sid,O=k.idBlock.isConstructed?k.valueBlock.value[0].valueBlock.valueHex:k.valueBlock.valueHex;for(let G of this.certificates){if(!(G instanceof is))continue;let re=await l.digest({name:"sha-1"},G.subjectPublicKeyInfo.subjectPublicKey.valueBlock.valueHexView);if(wi(re,O)){p=G;break}}}if(!p)throw new zt({date:n,code:3,message:"Unable to find signer certificate"});if(this.encapContentInfo.eContentType===U_){if(!this.encapContentInfo.eContent)throw new zt({date:n,code:15,message:"Error during verification: TSTInfo eContent is empty",signatureVerified:null,signerCertificate:p,timestampSerial:w,signerCertificateVerified:!0});let k;try{k=Eb.fromBER(this.encapContentInfo.eContent.valueBlock.valueHexView);}catch{throw new zt({date:n,code:15,message:"Error during verification: TSTInfo wrong ASN.1 schema ",signatureVerified:null,signerCertificate:p,timestampSerial:w,signerCertificateVerified:!0})}if(n=k.genTime,w=k.serialNumber.valueBlock.valueHexView.slice().buffer,s.byteLength===0)throw new zt({date:n,code:4,message:"Missed detached data input array"});if(!await k.verify({data:s},l))throw new zt({date:n,code:15,message:"Error during verification: TSTInfo verification is failed",signatureVerified:!1,signerCertificate:p,timestampSerial:w,signerCertificateVerified:!0})}if(i){let k=this.certificates.filter(Q=>Q instanceof is&&!!yk(Q,p)),O={checkDate:n,certs:k,trustedCerts:r};u&&(O.findIssuer=u),c&&(O.findOrigin=c);let G=new Hm(O);if(G.certs.push(p),this.crls)for(let Q of this.crls)"thisUpdate"in Q?G.crls.push(Q):Q.otherRevInfoFormat===ww&&G.ocsps.push(new Nc({schema:Q.otherRevInfo}));this.ocsps&&G.ocsps.push(...this.ocsps);let re=await G.verify({passedWhenNotRevValues:a},l).catch(Q=>{throw new zt({date:n,code:5,message:`Validation of signer's certificate failed with error: ${Q instanceof Object?Q.resultMessage:Q}`,signerCertificate:p,signerCertificateVerified:!1})});if(re.certificatePath&&(I=re.certificatePath),!re.result)throw new zt({date:n,code:5,message:`Validation of signer's certificate failed: ${re.resultMessage}`,signerCertificate:p,signerCertificateVerified:!1})}let D=l.getAlgorithmByOID(C.digestAlgorithm.algorithmId);if(!("name"in D))throw new zt({date:n,code:7,message:`Unsupported signature algorithm: ${C.digestAlgorithm.algorithmId}`,signerCertificate:p,signerCertificateVerified:!0});S=D.name;let V=this.encapContentInfo.eContent;if(V)V.idBlock.tagClass===1&&V.idBlock.tagNumber===4?s=V.getValue():s=V.valueBlock.valueBeforeDecodeView.slice().buffer;else if(s.byteLength===0)throw new zt({date:n,code:8,message:"Missed detached data input array",signerCertificate:p,signerCertificateVerified:!0});if(C.signedAttrs){let k=!1,O=!1;for(let G of C.signedAttrs.attributes)if(G.type==="1.2.840.113549.1.9.3"&&(k=!0),G.type==="1.2.840.113549.1.9.4"&&(O=!0,E=G.values[0].valueBlock.valueHex),k&&O)break;if(k===!1)throw new zt({date:n,code:9,message:'Attribute "content-type" is a mandatory attribute for "signed attributes"',signerCertificate:p,signerCertificateVerified:!0});if(O===!1)throw new zt({date:n,code:10,message:'Attribute "message-digest" is a mandatory attribute for "signed attributes"',signatureVerified:null,signerCertificate:p,signerCertificateVerified:!0})}if(C.signedAttrs){let k=await l.digest(S,new Uint8Array(s));if(!wi(k,E))throw new zt({date:n,code:15,message:"Error during verification: Message digest doesn't match",signatureVerified:null,signerCertificate:p,timestampSerial:w,signerCertificateVerified:!0});s=C.signedAttrs.encodedValue;}let B=C.signatureAlgorithm.algorithmId==="1.2.840.113549.1.1.1"?await l.verifyWithPublicKey(s,C.signature,p.subjectPublicKeyInfo,C.signatureAlgorithm,S):await l.verifyWithPublicKey(s,C.signature,p.subjectPublicKeyInfo,C.signatureAlgorithm);return o?{date:n,code:14,message:b,signatureVerified:B,signerCertificate:p,timestampSerial:w,signerCertificateVerified:!0,certificatePath:I}:B}catch(E){throw E instanceof zt?E:new zt({date:n,code:15,message:`Error during verification: ${E instanceof Error?E.message:E}`,signatureVerified:null,signerCertificate:p,timestampSerial:w,signerCertificateVerified:!0})}}async sign(e,s,r="SHA-1",n=kt,i=Ve(!0)){var a;if(!e)throw new Error("Need to provide a private key for signing");let o=this.signerInfos[s];if(!o)throw new RangeError("SignerInfo index is out of range");!(!((a=o.signedAttrs)===null||a===void 0)&&a.attributes.length)&&"hash"in e.algorithm&&"hash"in e.algorithm&&e.algorithm.hash&&(r=e.algorithm.hash.name);let c=i.getOIDByAlgorithm({name:r},!0,"hashAlgorithm");this.digestAlgorithms.filter(w=>w.algorithmId===c).length===0&&this.digestAlgorithms.push(new _({algorithmId:c,algorithmParams:new wt})),o.digestAlgorithm=new _({algorithmId:c,algorithmParams:new wt});let u=await i.getSignatureParameters(e,r),l=u.parameters;if(o.signatureAlgorithm=u.signatureAlgorithm,o.signedAttrs)if(o.signedAttrs.encodedValue.byteLength!==0)n=o.signedAttrs.encodedValue;else {n=o.signedAttrs.toSchema().toBER();let w=Se.BufferSourceConverter.toUint8Array(n);w[0]=49;}else {let w=this.encapContentInfo.eContent;if(w)w.idBlock.tagClass===1&&w.idBlock.tagNumber===4?n=w.getValue():n=w.valueBlock.valueBeforeDecodeView.slice().buffer;else if(n.byteLength===0)throw new Error("Missed detached data input array")}let p=await i.signWithPrivateKey(n,e,l);o.signature=new z({valueHex:p});}};ba.CLASS_NAME="SignedData";ba.ID_DATA=D6;var pc="version",gc="authSafe",Rn="macData",yd="parsedValue",Oj=[pc,gc,Rn],I6=class t extends q{constructor(e={}){super(),this.version=y(e,pc,t.defaultValues(pc)),this.authSafe=y(e,gc,t.defaultValues(gc)),Rn in e&&(this.macData=y(e,Rn,t.defaultValues(Rn))),yd in e&&(this.parsedValue=y(e,yd,t.defaultValues(yd))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case pc:return 3;case gc:return new St;case Rn:return new jr;case yd:return {};default:return super.defaultValues(e)}}static compareWithDefault(e,s){switch(e){case pc:return s===t.defaultValues(e);case gc:return St.compareWithDefault("contentType",s.contentType)&&St.compareWithDefault("content",s.content);case Rn:return jr.compareWithDefault("mac",s.mac)&&jr.compareWithDefault("macSalt",s.macSalt)&&jr.compareWithDefault("iterations",s.iterations);case yd:return s instanceof Object&&Object.keys(s).length===0;default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||b,value:[new U({name:s.version||pc}),St.schema(s.authSafe||{names:{blockName:gc}}),jr.schema(s.macData||{names:{blockName:Rn,optional:!0}})]})}fromSchema(e){W(e,Oj);let s=K(e,e,t.schema({names:{version:pc,authSafe:{names:{blockName:gc}},macData:{names:{blockName:Rn}}}}));M.assertSchema(s,this.className),this.version=s.result.version.valueBlock.valueDec,this.authSafe=new St({schema:s.result.authSafe}),Rn in s.result&&(this.macData=new jr({schema:s.result.macData}));}toSchema(){let e=[new U({value:this.version}),this.authSafe.toSchema()];return this.macData&&e.push(this.macData.toSchema()),new T({value:e})}toJSON(){let e={version:this.version,authSafe:this.authSafe.toJSON()};return this.macData&&(e.macData=this.macData.toJSON()),e}async makeInternalValues(e={},s=Ve(!0)){if(nt.assert(e,"parameters","object"),!this.parsedValue)throw new Error('Please call "parseValues" function first in order to make "parsedValue" data');switch(Qe.assertEmpty(this.parsedValue.integrityMode,"integrityMode","parsedValue"),Qe.assertEmpty(this.parsedValue.authenticatedSafe,"authenticatedSafe","parsedValue"),this.parsedValue.integrityMode){case 0:{if(!("iterations"in e))throw new Qe("iterations");Qe.assertEmpty(e.pbkdf2HashAlgorithm,"pbkdf2HashAlgorithm"),Qe.assertEmpty(e.hmacHashAlgorithm,"hmacHashAlgorithm"),Qe.assertEmpty(e.password,"password");let r=new ArrayBuffer(64),n=new Uint8Array(r);s.getRandomValues(n);let i=this.parsedValue.authenticatedSafe.toSchema().toBER(!1);this.authSafe=new St({contentType:St.DATA,content:new z({valueHex:i})});let a=await s.stampDataWithPassword({password:e.password,hashAlgorithm:e.hmacHashAlgorithm,salt:r,iterationCount:e.iterations,contentToStamp:i});this.macData=new jr({mac:new _n({digestAlgorithm:new _({algorithmId:s.getOIDByAlgorithm({name:e.hmacHashAlgorithm},!0,"hmacHashAlgorithm")}),digest:new z({valueHex:a})}),macSalt:new z({valueHex:r}),iterations:e.iterations});}break;case 1:{if(!("signingCertificate"in e))throw new Qe("signingCertificate");Qe.assertEmpty(e.privateKey,"privateKey"),Qe.assertEmpty(e.hashAlgorithm,"hashAlgorithm");let r=this.parsedValue.authenticatedSafe.toSchema().toBER(!1),n=new ba({version:1,encapContentInfo:new Hn({eContentType:"1.2.840.113549.1.7.1",eContent:new z({valueHex:r})}),certificates:[e.signingCertificate]}),i=await s.digest({name:e.hashAlgorithm},new Uint8Array(r)),a=[];a.push(new xt({type:"1.2.840.113549.1.9.3",values:[new ae({value:"1.2.840.113549.1.7.1"})]})),a.push(new xt({type:"1.2.840.113549.1.9.5",values:[new wn({valueDate:new Date})]})),a.push(new xt({type:"1.2.840.113549.1.9.4",values:[new z({valueHex:i})]})),n.signerInfos.push(new vf({version:1,sid:new qt({issuer:e.signingCertificate.issuer,serialNumber:e.signingCertificate.serialNumber}),signedAttrs:new gs({type:0,attributes:a})})),await n.sign(e.privateKey,0,e.hashAlgorithm,void 0,s),this.authSafe=new St({contentType:"1.2.840.113549.1.7.2",content:n.toSchema(!0)});}break;default:throw new Error(`Parameter "integrityMode" has unknown value: ${this.parsedValue.integrityMode}`)}}async parseInternalValues(e,s=Ve(!0)){switch(nt.assert(e,"parameters","object"),e.checkIntegrity===void 0&&(e.checkIntegrity=!0),this.parsedValue={},this.authSafe.contentType){case St.DATA:{Qe.assertEmpty(e.password,"password"),this.parsedValue.integrityMode=0,nt.assert(this.authSafe.content,"authSafe.content",z);let r=this.authSafe.content.getValue();if(this.parsedValue.authenticatedSafe=Um.fromBER(r),e.checkIntegrity){if(!this.macData)throw new Error('Absent "macData" value, can not check PKCS#12 data integrity');let n=s.getAlgorithmByOID(this.macData.mac.digestAlgorithm.algorithmId,!0,"digestAlgorithm");if(!await s.verifyDataStampedWithPassword({password:e.password,hashAlgorithm:n.name,salt:lf.BufferSourceConverter.toArrayBuffer(this.macData.macSalt.valueBlock.valueHexView),iterationCount:this.macData.iterations||1,contentToVerify:r,signatureToVerify:lf.BufferSourceConverter.toArrayBuffer(this.macData.mac.digest.valueBlock.valueHexView)}))throw new Error("Integrity for the PKCS#12 data is broken!")}}break;case St.SIGNED_DATA:{this.parsedValue.integrityMode=1;let r=new ba({schema:this.authSafe.content}),n=r.encapContentInfo.eContent;Qe.assert(n,"eContent","cmsSigned.encapContentInfo"),nt.assert(n,"eContent",z);let i=n.getValue();if(this.parsedValue.authenticatedSafe=Um.fromBER(i),!await r.verify({signer:0,checkChain:!1},s))throw new Error("Integrity for the PKCS#12 data is broken!")}break;default:throw new Error(`Incorrect value for "this.authSafe.contentType": ${this.authSafe.contentType}`)}}};I6.CLASS_NAME="PFX";var zl="status",fa="statusStrings",ha="failInfo",Rj=[zl,fa,ha],X4;(function(t){t[t.granted=0]="granted",t[t.grantedWithMods=1]="grantedWithMods",t[t.rejection=2]="rejection",t[t.waiting=3]="waiting",t[t.revocationWarning=4]="revocationWarning",t[t.revocationNotification=5]="revocationNotification";})(X4||(X4={}));var vc=class t extends q{constructor(e={}){super(),this.status=y(e,zl,t.defaultValues(zl)),fa in e&&(this.statusStrings=y(e,fa,t.defaultValues(fa))),ha in e&&(this.failInfo=y(e,ha,t.defaultValues(ha))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case zl:return 2;case fa:return [];case ha:return new _e;default:return super.defaultValues(e)}}static compareWithDefault(e,s){switch(e){case zl:return s===t.defaultValues(e);case fa:return s.length===0;case ha:return s.isEqual(t.defaultValues(e));default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||b,value:[new U({name:s.status||b}),new T({optional:!0,value:[new Ae({name:s.statusStrings||b,value:new Rs})]}),new _e({name:s.failInfo||b,optional:!0})]})}fromSchema(e){W(e,Rj);let s=K(e,e,t.schema({names:{status:zl,statusStrings:fa,failInfo:ha}}));M.assertSchema(s,this.className);let r=s.result.status;if(r.valueBlock.isHexOnly===!0||r.valueBlock.valueDec<0||r.valueBlock.valueDec>5)throw new Error('PKIStatusInfo "status" has invalid value');this.status=r.valueBlock.valueDec,fa in s.result&&(this.statusStrings=s.result.statusStrings),ha in s.result&&(this.failInfo=s.result.failInfo);}toSchema(){let e=[];return e.push(new U({value:this.status})),this.statusStrings&&e.push(new T({optional:!0,value:this.statusStrings})),this.failInfo&&e.push(this.failInfo),new T({value:e})}toJSON(){let e={status:this.status};return this.statusStrings&&(e.statusStrings=Array.from(this.statusStrings,s=>s.toJSON())),this.failInfo&&(e.failInfo=this.failInfo.toJSON()),e}};vc.CLASS_NAME="PKIStatusInfo";var fm="version",hm="messageImprint",Yl="reqPolicy",Zl="nonce",Ln="certReq",Xl="extensions",Rc="TimeStampReq",C6=`${Rc}.${fm}`,N6=`${Rc}.${hm}`,Fw=`${Rc}.${Yl}`,Kw=`${Rc}.${Zl}`,Gw=`${Rc}.${Ln}`,Ww=`${Rc}.${Xl}`,Lj=[C6,N6,Fw,Kw,Gw,Ww],T6=class t extends q{constructor(e={}){super(),this.version=y(e,fm,t.defaultValues(fm)),this.messageImprint=y(e,hm,t.defaultValues(hm)),Yl in e&&(this.reqPolicy=y(e,Yl,t.defaultValues(Yl))),Zl in e&&(this.nonce=y(e,Zl,t.defaultValues(Zl))),Ln in e&&(this.certReq=y(e,Ln,t.defaultValues(Ln))),Xl in e&&(this.extensions=y(e,Xl,t.defaultValues(Xl))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case fm:return 0;case hm:return new Ks;case Yl:return b;case Zl:return new U;case Ln:return !1;case Xl:return [];default:return super.defaultValues(e)}}static compareWithDefault(e,s){switch(e){case fm:case Yl:case Ln:return s===t.defaultValues(e);case hm:return Ks.compareWithDefault("hashAlgorithm",s.hashAlgorithm)&&Ks.compareWithDefault("hashedMessage",s.hashedMessage);case Zl:return s.isEqual(t.defaultValues(e));case Xl:return s.length===0;default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||Rc,value:[new U({name:s.version||C6}),Ks.schema(s.messageImprint||{names:{blockName:N6}}),new ae({name:s.reqPolicy||Fw,optional:!0}),new U({name:s.nonce||Kw,optional:!0}),new Fs({name:s.certReq||Gw,optional:!0}),new L({optional:!0,idBlock:{tagClass:3,tagNumber:0},value:[new Ae({name:s.extensions||Ww,value:Ds.schema()})]})]})}fromSchema(e){W(e,Lj);let s=K(e,e,t.schema());M.assertSchema(s,this.className),this.version=s.result[C6].valueBlock.valueDec,this.messageImprint=new Ks({schema:s.result[N6]}),Fw in s.result&&(this.reqPolicy=s.result[Fw].valueBlock.toString()),Kw in s.result&&(this.nonce=s.result[Kw]),Gw in s.result&&(this.certReq=s.result[Gw].valueBlock.value),Ww in s.result&&(this.extensions=Array.from(s.result[Ww],r=>new Ds({schema:r})));}toSchema(){let e=[];return e.push(new U({value:this.version})),e.push(this.messageImprint.toSchema()),this.reqPolicy&&e.push(new ae({value:this.reqPolicy})),this.nonce&&e.push(this.nonce),Ln in this&&t.compareWithDefault(Ln,this.certReq)===!1&&e.push(new Fs({value:this.certReq})),this.extensions&&e.push(new L({idBlock:{tagClass:3,tagNumber:0},value:Array.from(this.extensions,s=>s.toSchema())})),new T({value:e})}toJSON(){let e={version:this.version,messageImprint:this.messageImprint.toJSON()};return this.reqPolicy!==void 0&&(e.reqPolicy=this.reqPolicy),this.nonce!==void 0&&(e.nonce=this.nonce.toJSON()),this.certReq!==void 0&&t.compareWithDefault(Ln,this.certReq)===!1&&(e.certReq=this.certReq),this.extensions&&(e.extensions=Array.from(this.extensions,s=>s.toJSON())),e}};T6.CLASS_NAME="TimeStampReq";var Ql="status",ef="timeStampToken",W6="TimeStampResp",k6=`${W6}.${Ql}`,Jw=`${W6}.${ef}`,Dj=[k6,Jw],B6=class t extends q{constructor(e={}){super(),this.status=y(e,Ql,t.defaultValues(Ql)),ef in e&&(this.timeStampToken=y(e,ef,t.defaultValues(ef))),e.schema&&this.fromSchema(e.schema);}static defaultValues(e){switch(e){case Ql:return new vc;case ef:return new St;default:return super.defaultValues(e)}}static compareWithDefault(e,s){switch(e){case Ql:return vc.compareWithDefault(Ql,s.status)&&!("statusStrings"in s)&&!("failInfo"in s);case ef:return s.contentType===b&&s.content instanceof be;default:return super.defaultValues(e)}}static schema(e={}){let s=y(e,"names",{});return new T({name:s.blockName||W6,value:[vc.schema(s.status||{names:{blockName:k6}}),St.schema(s.timeStampToken||{names:{blockName:Jw,optional:!0}})]})}fromSchema(e){W(e,Dj);let s=K(e,e,t.schema());M.assertSchema(s,this.className),this.status=new vc({schema:s.result[k6]}),Jw in s.result&&(this.timeStampToken=new St({schema:s.result[Jw]}));}toSchema(){let e=[];return e.push(this.status.toSchema()),this.timeStampToken&&e.push(this.timeStampToken.toSchema()),new T({value:e})}toJSON(){let e={status:this.status.toJSON()};return this.timeStampToken&&(e.timeStampToken=this.timeStampToken.toJSON()),e}async sign(e,s,r=Ve(!0)){return this.assertContentType(),new ba({schema:this.timeStampToken.content}).sign(e,0,s,void 0,r)}async verify(e={signer:0,trustedCerts:[],data:kt},s=Ve(!0)){return this.assertContentType(),new ba({schema:this.timeStampToken.content}).verify(e,s)}assertContentType(){if(!this.timeStampToken)throw new Error("timeStampToken is absent in TSP response");if(this.timeStampToken.contentType!==uk)throw new Error(`Wrong format of timeStampToken: ${this.timeStampToken.contentType}`)}};B6.CLASS_NAME="TimeStampResp";function Vj(){if(typeof globalThis<"u"&&"crypto"in globalThis){let t="webcrypto";"webkitSubtle"in globalThis.crypto&&(t="safari"),V4(t,new ff({name:t,crypto:globalThis.crypto}));}else if(typeof crypto<"u"&&"webcrypto"in crypto){let t="NodeJS ^15",e=crypto.webcrypto;V4(t,new ff({name:t,crypto:e}));}}Vj();d();h();d();h();d();h();d();h();var Y6=(t,e)=>e.some(s=>t instanceof s),bk,Sk;function Uj(){return bk||(bk=[IDBDatabase,IDBObjectStore,IDBIndex,IDBCursor,IDBTransaction])}function _j(){return Sk||(Sk=[IDBCursor.prototype.advance,IDBCursor.prototype.continue,IDBCursor.prototype.continuePrimaryKey])}var Z6=new WeakMap,J6=new WeakMap,xb=new WeakMap;function Hj(t){let e=new Promise((s,r)=>{let n=()=>{t.removeEventListener("success",i),t.removeEventListener("error",a);},i=()=>{s(Lc(t.result)),n();},a=()=>{r(t.error),n();};t.addEventListener("success",i),t.addEventListener("error",a);});return xb.set(e,t),e}function jj(t){if(Z6.has(t))return;let e=new Promise((s,r)=>{let n=()=>{t.removeEventListener("complete",i),t.removeEventListener("error",a),t.removeEventListener("abort",a);},i=()=>{s(),n();},a=()=>{r(t.error||new DOMException("AbortError","AbortError")),n();};t.addEventListener("complete",i),t.addEventListener("error",a),t.addEventListener("abort",a);});Z6.set(t,e);}var X6={get(t,e,s){if(t instanceof IDBTransaction){if(e==="done")return Z6.get(t);if(e==="store")return s.objectStoreNames[1]?void 0:s.objectStore(s.objectStoreNames[0])}return Lc(t[e])},set(t,e,s){return t[e]=s,!0},has(t,e){return t instanceof IDBTransaction&&(e==="done"||e==="store")?!0:e in t}};function Ak(t){X6=t(X6);}function Mj(t){return _j().includes(t)?function(...e){return t.apply(Q6(this),e),Lc(this.request)}:function(...e){return Lc(t.apply(Q6(this),e))}}function $j(t){return typeof t=="function"?Mj(t):(t instanceof IDBTransaction&&jj(t),Y6(t,Uj())?new Proxy(t,X6):t)}function Lc(t){if(t instanceof IDBRequest)return Hj(t);if(J6.has(t))return J6.get(t);let e=$j(t);return e!==t&&(J6.set(t,e),xb.set(e,t)),e}var Q6=t=>xb.get(t);function Ik(t,e,{blocked:s,upgrade:r,blocking:n,terminated:i}={}){let a=indexedDB.open(t,e),o=Lc(a);return r&&a.addEventListener("upgradeneeded",c=>{r(Lc(a.result),c.oldVersion,c.newVersion,Lc(a.transaction),c);}),s&&a.addEventListener("blocked",c=>s(c.oldVersion,c.newVersion,c)),o.then(c=>{i&&c.addEventListener("close",()=>i()),n&&c.addEventListener("versionchange",u=>n(u.oldVersion,u.newVersion,u));}).catch(()=>{}),o}var qj=["get","getKey","getAll","getAllKeys","count"],Fj=["put","add","delete","clear"],z6=new Map;function vk(t,e){if(!(t instanceof IDBDatabase&&!(e in t)&&typeof e=="string"))return;if(z6.get(e))return z6.get(e);let s=e.replace(/FromIndex$/,""),r=e!==s,n=Fj.includes(s);if(!(s in(r?IDBIndex:IDBObjectStore).prototype)||!(n||qj.includes(s)))return;let i=async function(a,...o){let c=this.transaction(a,n?"readwrite":"readonly"),u=c.store;return r&&(u=u.index(o.shift())),(await Promise.all([u[s](...o),n&&c.done]))[0]};return z6.set(e,i),i}Ak(t=>({...t,get:(e,s,r)=>vk(e,s)||t.get(e,s,r),has:(e,s)=>!!vk(e,s)||t.has(e,s)}));var Kj=["continue","continuePrimaryKey","advance"],Ek={},e5=new WeakMap,Ck=new WeakMap,Gj={get(t,e){if(!Kj.includes(e))return t[e];let s=Ek[e];return s||(s=Ek[e]=function(...r){e5.set(this,Ck.get(this)[e](...r));}),s}};async function*Wj(...t){let e=this;if(e instanceof IDBCursor||(e=await e.openCursor(...t)),!e)return;e=e;let s=new Proxy(e,Gj);for(Ck.set(s,e),xb.set(s,Q6(e));e;)yield s,e=await(e5.get(s)||e.continue()),e5.delete(s);}function xk(t,e){return e===Symbol.asyncIterator&&Y6(t,[IDBIndex,IDBObjectStore,IDBCursor])||e==="iterate"&&Y6(t,[IDBIndex,IDBObjectStore])}Ak(t=>({...t,get(e,s,r){return xk(e,s)?Wj:t.get(e,s,r)},has(e,s){return xk(e,s)||t.has(e,s)}}));function Nk(t,e){if(t===e)return !0;if(t===null||e===null||typeof t!="object"||typeof e!="object")return !1;let s=Object.keys(t),r=Object.keys(e);if(s.length!==r.length)return !1;for(let n of s)if(!r.includes(n)||!Nk(t[n],e[n]))return !1;return !0}var Ft=class{dbName;storeName;key;migrations;_db=null;listeners=[];broadcastChannel;constructor(e,s,r,n=[]){this.dbName=e,this.storeName=s,this.key=r,this.migrations=n,typeof BroadcastChannel<"u"&&(this.broadcastChannel=new BroadcastChannel(this.dbName+"-observer"),this.broadcastChannel.onmessage=i=>{i.data&&i.data.keyValue!==void 0&&i.data.updateType&&this.listeners.forEach(a=>a(i.data.keyValue,i.data.updateType,i.data.oldItem,i.data.newItem));});}async openDB(){if(this._db)return this._db;let e=this.migrations.length+1;return this._db=await Ik(this.dbName,e,{upgrade:(s,r,n,i,a)=>{if(n!==null)for(let o=r+1;o<=n;o++){let c=o-2;if(c>=0&&c<this.migrations.length){let u=this.migrations[c];if(u)u(s,i,a);else throw new Error(`Migration for schema version ${o} (using migrations[${c}]) not found but expected.`)}}},blocked:()=>{console.error(`IndexedDB ${this.dbName} upgrade blocked.`);},blocking:()=>{console.warn(`IndexedDB ${this.dbName} upgrade is being blocked by other connections. Closing this connection.`),this._db&&(this._db.close(),this._db=null);},terminated:()=>{console.warn(`IndexedDB ${this.dbName} connection terminated.`),this._db=null;}}),await this.handleOpenDB(),this._db}async handleOpenDB(){}async getStore(e){return (await this.openDB()).transaction(this.storeName,e).objectStore(this.storeName)}async get(e){return (await this.getStore("readonly")).get(e)}async list(){return (await this.getStore("readonly")).getAll()}async set(e){let s=await this.openDB(),r=e[this.key],n=s.transaction(this.storeName,"readwrite"),i=n.objectStore(this.storeName),a=await i.get(r);await i.put(e,r),await n.done;let o=null;return a?Nk(a,e)||(o="updated"):o="added",o&&this.notifyUpdate(r,o,a,e),r}async del(e){let s=await this.get(e),n=(await this.openDB()).transaction(this.storeName,"readwrite");await n.objectStore(this.storeName).delete(e),await n.done,s&&this.notifyUpdate(e,"removed",s,void 0);}notifyUpdate(e,s,r,n){this.listeners.forEach(i=>i(e,s,r,n)),this.broadcastChannel&&this.broadcastChannel.postMessage({keyValue:e,updateType:s,oldItem:r,newItem:n});}addListener(e){return this.listeners.push(e),()=>this.removeListener(e)}removeListener(e){this.listeners=this.listeners.filter(s=>s!==e);}async close(){this._db&&(this._db.close(),this._db=null),this.broadcastChannel&&(this.broadcastChannel.close(),this.broadcastChannel=void 0);}};var t5="auth-commitments",Mm=class extends Ft{constructor(e="sequence-auth-commitments"){super(e,t5,"id",[(s,r,n)=>{s.objectStoreNames.contains(t5)||s.createObjectStore(t5);}]);}};d();h();var s5="auth-keys",$m=class extends Ft{expirationTimers=new Map;constructor(e="sequence-auth-keys"){super(e,s5,"address",[(s,r,n)=>{s.objectStoreNames.contains(s5)||s.createObjectStore(s5).createIndex("identitySigner","identitySigner",{unique:!0});}]);}async handleOpenDB(){let e=await this.list();for(let s of e)await this.scheduleExpiration(s);}async set(e){let s=await super.set({...e,address:e.address.toLowerCase(),identitySigner:e.identitySigner.toLowerCase()});return this.scheduleExpiration(e),s}async del(e){let s=await super.del(e.toLowerCase());return this.clearExpiration(e),s}async getBySigner(e,s=1){let r=e.toLowerCase(),n=await this.getStore("readonly"),i=n.index("identitySigner");try{let a=await i.get(r);if(a!==void 0)return a;if(s<2)return await new Promise(o=>setTimeout(o,50)),this.getBySigner(e,s+1);try{let o=await n.getAll();return o&&o.length>0?o.find(u=>u.identitySigner.toLowerCase()===r):void 0}catch(o){throw console.error(`[AuthKeys.getBySigner] Fallback: Error during getAll() for signer ${r}:`,o),o}}catch(a){throw console.error(`[AuthKeys.getBySigner attempt #${s}] Index query error for signer ${r}:`,a),a}}async delBySigner(e){let s=await this.getBySigner(e.toLowerCase());s&&await this.del(s.address.toLowerCase());}async scheduleExpiration(e){this.clearExpiration(e.address.toLowerCase());let s=Date.now(),r=e.expiresAt.getTime()-s;if(r<=0){await this.del(e.address.toLowerCase());return}let n=window.setTimeout(()=>{console.log("removing expired auth key",e),this.del(e.address.toLowerCase());},r);this.expirationTimers.set(e.address.toLowerCase(),n);}clearExpiration(e){let s=this.expirationTimers.get(e.toLowerCase());s&&(window.clearTimeout(s),this.expirationTimers.delete(e.toLowerCase()));}};d();h();var r5="messages",qm=class extends Ft{constructor(e="sequence-messages"){super(e,r5,"id",[(s,r,n)=>{s.objectStoreNames.contains(r5)||s.createObjectStore(r5);}]);}};d();h();var n5="envelopes",Fm=class extends Ft{constructor(e="sequence-signature-requests"){super(e,n5,"id",[(s,r,n)=>{s.objectStoreNames.contains(n5)||s.createObjectStore(n5);}]);}};d();h();var i5="transactions",Km=class extends Ft{constructor(e="sequence-transactions"){super(e,i5,"id",[(s,r,n)=>{s.objectStoreNames.contains(i5)||s.createObjectStore(i5);}]);}};d();h();var a5="wallets",Gm=class extends Ft{constructor(e="sequence-manager"){super(e,a5,"address",[(s,r,n)=>{s.objectStoreNames.contains(a5)||s.createObjectStore(a5);}]);}};d();h();var o5="queued-recovery-payloads",Wm=class extends Ft{constructor(e="sequence-recovery"){super(e,o5,"id",[(s,r,n)=>{s.objectStoreNames.contains(o5)||s.createObjectStore(o5);}]);}};d();h();var c5="passkey-credentials",Jm=class extends Ft{constructor(e="sequence-passkey-credentials"){super(e,c5,"credentialId",[(s,r,n)=>{s.objectStoreNames.contains(c5)||s.createObjectStore(c5);}]);}async getByCredentialId(e){return this.get(e)}async saveCredential(e,s,r){let n=new Date().toISOString(),i={credentialId:e,publicKey:s,walletAddress:r,createdAt:n,lastLoginAt:n};await this.set(i);}async updateCredential(e,{lastLoginAt:s,walletAddress:r}){let n=await this.getByCredentialId(e);if(n){let i={...n,lastLoginAt:s,walletAddress:r};await this.set(i);}}};d();h();d();h();d();h();d();h();d();h();d();h();d();h();d();h();d();h();d();h();d();h();d();h();d();h();d();h();d();h();d();h();d();h();d();h();d();h();d();h();d();h();d();h();d();h();d();h();d();h();d();h();({verbose:!1,extensions:qe.Rc5,context:Za.Rc5,context4337:Za.Rc5_4337,guest:yt.DefaultGuestAddress,encryptedPksDb:new hr.Pk.Encrypted.EncryptedPksDb,managerDb:new Gm,signaturesDb:new Fm,transactionsDb:new Km,messagesDb:new qm,authCommitmentsDb:new Mm,recoveryDb:new Wm,authKeysDb:new $m,passkeyCredentialsDb:new Jm,dbPruningInterval:1e3*60*60*24,stateProvider:new wu.Sequence.Provider,networks:Ph.ALL,relayers:()=>typeof window<"u"?[Mh.LocalRelayer.createFromWindow(window)].filter(t=>t!==void 0):[],bundlers:[],nonWitnessableSigners:[],guardUrl:"https://guard.sequence.app",guardAddresses:{wallet:"0x26f3D30F41FA897309Ae804A2AFf15CEb1dA5742",sessions:"0xF6Bc87F5F2edAdb66737E32D37b46423901dfEF1"},defaultGuardTopology:{type:"nested",weight:1n,threshold:1n,tree:[{type:"signer",address:yt.PlaceholderAddress,weight:1n},{type:"signer",address:"0x007a47e6BF40C1e0ed5c01aE42fDC75879140bc4",weight:1n}]},defaultSessionsTopology:{type:"sapient-signer",weight:1n},defaultRecoverySettings:{requiredDeltaTime:2592000n,minTimestamp:0n},multiInjectedProviderDiscovery:!0,identity:{url:"https://identity.sequence.app",fetch:typeof window<"u"?window.fetch:void 0,verifyAttestation:!0,email:{enabled:!1},google:{enabled:!1,clientId:""},apple:{enabled:!1,clientId:""}}});var zm=class{#e;#s;#r=null;#t=null;constructor(e,s){this.#e=e,this.#s=s;}async#a(){let e=await this.#e.getUser();if(!e)throw new ht("User not authenticated","NOT_LOGGED_IN_ERROR");return e}async#i(){let e=this.#r;e||(e=await this.#n());let s=await this.#a();return s.profile.sub!==e.userIdentifier&&(e=await this.#n(s)),e}async#n(e){return this.#t?this.#t:(this.#t=(async()=>{try{this.#r=null,await this.#e.forceUserRefresh();let s=e||await this.#a();if(!s.idToken)throw new ht("User idToken not available","NOT_LOGGED_IN_ERROR");let{idToken:r}=s,n=decodeJwtPayload(r),i=n.iss,a=n.aud,o=await window.crypto.subtle.generateKey({name:"ECDSA",namedCurve:"P-256"},!1,["sign","verify"]),c=await window.crypto.subtle.exportKey("raw",o.publicKey),u={address:P.fromBytes(new Uint8Array(c)),privateKey:o.privateKey,identitySigner:"",expiresAt:new Date(Date.now()+36e5)},l=new Oh(this.#s.identityInstrumentEndpoint,"@14:test"),p=new b1(i,a,r);await l.commitVerifier(eo.toIdentityAuthKey(u),p);let E=(await l.completeAuth(eo.toIdentityAuthKey(u),p)).signer.address;return u.identitySigner=E,this.#r={userIdentifier:s.profile.sub,signerAddress:E,authKey:u,identityInstrument:l},this.#r}catch(s){let r=`Identity Instrument: Failed to create signer: ${s.message}`;throw new ht(r,"WALLET_CONNECTION_ERROR")}finally{this.#t=null;}})(),this.#t)}async getAddress(){return (await this.#i()).signerAddress}async signPayload(e,s,r){let n=await this.#i();return new eo.IdentitySigner(n.identityInstrument,n.authKey).sign(e,s,r)}async signMessage(e){let s=await this.#i(),r=new eo.IdentitySigner(s.identityInstrument,s.authKey),n=typeof e=="string"?new TextEncoder().encode(e):e,i=hashMessage({raw:n}),a=await r.signDigest(P.toBytes(i)),o=toHex(a.r,{size:32}),c=toHex(a.s,{size:32}),u=toHex(a.yParity+27,{size:1});return concat([o,c,u])}};d();h();var Ym=class{#e;#s=null;#r=null;constructor(e){this.#e=e;}async#t(){let e=await this.#e.getUser();if(!e)throw new ht("User not authenticated","NOT_LOGGED_IN_ERROR");return e}async#a(){let e=this.#s;e||(e=await this.#i());let s=await this.#t();return s.profile.sub!==e.userIdentifier&&(e=await this.#i(s)),e}async#i(e){return this.#r?this.#r:(this.#r=(async()=>{try{this.#s=null;let s=e||await this.#t(),r=keccak256(toBytes(`${s.profile.sub}-sequence`)),n=new hr.Pk.Pk(r),i=n.address;return this.#s={userIdentifier:s.profile.sub,signerAddress:i,signer:n,privateKey:r},this.#s}catch(s){let r=`Failed to create private key wallet: ${s.message}`;throw new ht(r,"WALLET_CONNECTION_ERROR")}finally{this.#r=null;}})(),this.#r)}async getAddress(){return (await this.#a()).signerAddress}async signPayload(e,s,r){return (await this.#a()).signer.sign(e,s,r)}async signMessage(e){let s=await this.#a(),r=privateKeyToAccount(s.privateKey),n=typeof e=="string"?e:{raw:e};return await r.signMessage({message:n})}};var lM="https://auth.dev.immutable.com";function Rk(t,e,s={}){if(e.authenticationDomain===lM)return new Ym(t);if(!s.identityInstrumentEndpoint)throw new Error("identityInstrumentEndpoint is required for non-dev environments");return new zm(t,{identityInstrumentEndpoint:s.identityInstrumentEndpoint})}function yM(t){return t in zn}function wM(t){if(t.magicPublishableApiKey&&t.magicProviderId)return {magicPublishableApiKey:t.magicPublishableApiKey,magicProviderId:t.magicProviderId};let{chainId:e}=t;if(yM(e))return zn[e];throw new Error(`No Magic configuration available for chain ${t.chainId}. Please provide magicPublishableApiKey and magicProviderId in ChainConfig.`)}var bM="PtQRK4iRJ8GkXjiz6xfImMAYhPhW0cYk",SM="mjtCL8mt06BtbxSkp2vbrYStKWnXVZfo",vM="openid profile email offline_access transact",EM="platform_api",xM="https://auth.immutable.com/im-logged-in",AM="https://auth.immutable.com",IM=/(sandbox|testnet)/i,CM=[13371,13473,15003];function NM(t){return CM.includes(t.chainId)}function TM(t){if(t.chainId===13473)return !0;let e=t.apiUrl||t.passportDomain||"";return IM.test(e)}function kM(t){if(t.passportDomain)return t.passportDomain;if(t.apiUrl)try{let e=new URL(t.apiUrl),s=e.hostname.replace("api.","passport.");return `${e.protocol}//${s}`}catch{return t.apiUrl.replace("api.","passport.")}return "https://passport.immutable.com"}function BM(){return AM}function PM(){return xM}function OM(t){return TM(t)?SM:bM}function RM(t,e){let s=kM(t),r=BM(),n=PM();return new Auth({clientId:OM(t),redirectUri:n,popupRedirectUri:n,logoutRedirectUri:n,scope:vM,audience:EM,authenticationDomain:r,passportDomain:s,popupOverlayOptions:e.popupOverlayOptions,crossSdkBridgeEnabled:e.crossSdkBridgeEnabled})}async function LM(t={}){let e=t.chains&&t.chains.length>0?t.chains:mp,s=t.initialChainId||e[0].chainId,r=e.find(S=>S.chainId===s);if(!r)throw new Error(`Initial chain ${s} not found in chains configuration`);let n=createConfig({basePath:r.apiUrl}),i=new MultiRollupApiClients({indexer:n,orderBook:n,passport:n}),a=t.auth??RM(r,t);!t.auth&&typeof window<"u"&&window.addEventListener("message",async S=>{if(S.data.code&&S.data.state){let I=window.location.search,C=new URLSearchParams(I);C.set("code",S.data.code),C.set("state",S.data.state),window.history.replaceState(null,"",`?${C.toString()}`),await a.loginCallback(),C.delete("code"),C.delete("state"),window.history.replaceState(null,"",`?${C.toString()}`);}});let o=a.getConfig(),c=await a.getUser(),u=new _f({passportDomain:r.passportDomain||r.apiUrl.replace("api.","passport."),zkEvmRpcUrl:r.rpcUrl,relayerUrl:r.relayerUrl,indexerMrBasePath:r.apiUrl,jsonRpcReferrer:t.jsonRpcReferrer,forceScwDeployBeforeMessageSignature:t.forceScwDeployBeforeMessageSignature,crossSdkBridgeEnabled:t.crossSdkBridgeEnabled,feeTokenSymbol:t.feeTokenSymbol}),l=t.passportEventEmitter||new TypedEventEmitter,p=new mr$1.GuardianApi(n),w=new Mc({config:u,auth:a,guardianApi:p,authConfig:o}),E;if(NM(r)){let S=wM(r),I=r.magicTeeBasePath||"https://tee.express.magiclabs.com",C=new MagicTeeApiClients({basePath:I,timeout:1e4,magicPublishableApiKey:S.magicPublishableApiKey,magicProviderId:S.magicProviderId}),D=new $c(a,C),V=null;r.chainId===13371?V="https://api.immutable.com":r.chainId===13473?V="https://api.sandbox.immutable.com":r.apiUrl&&(V=r.apiUrl),E=new Vf({auth:a,config:u,multiRollupApiClients:i,passportEventEmitter:l,guardianClient:w,ethSigner:D,user:c,sessionActivityApiUrl:V});}else {let S=Rk(a,o,{identityInstrumentEndpoint:r.sequenceIdentityInstrumentEndpoint});E=new Uf({auth:a,chainConfig:r,multiRollupApiClients:i,guardianClient:w,ethSigner:S,passportEventEmitter:l});}return t.announceProvider!==!1&&sS({info:tS,provider:E}),E}d();h();function _M(t){return typeof t=="object"&&t!==null&&"code"in t&&"message"in t}async function HM(t,e){let s=await t.getUser();if(!s?.profile.sub)return [];let r={Authorization:`Bearer ${s.accessToken}`},{data:n}=await e.passportProfileApi.getUserInfo({headers:r});return n.linked_addresses}async function jM(t,e,s){let r=trackFlow("wallet","linkExternalWallet");try{let n=await t.getUser();if(!n)throw new ht("User is not logged in","NOT_LOGGED_IN_ERROR");if(!isUserZkEvm(n))throw new ht("User has not been registered on Immutable zkEVM","WALLET_CONNECTION_ERROR");let a={Authorization:`Bearer ${n.accessToken}`},o={type:s.type,wallet_address:s.walletAddress,signature:s.signature,nonce:s.nonce};return {...(await e.passportProfileApi.linkWalletV2({linkWalletV2Request:o},{headers:a})).data}}catch(n){if(n instanceof Error?trackError("wallet","linkExternalWallet",n):r.addEvent("errored"),Na(n)&&n.response){if(n.response.data&&_M(n.response.data)){let{code:a,message:o}=n.response.data;switch(a){case"ALREADY_LINKED":throw new ht(o,"WALLET_CONNECTION_ERROR");case"MAX_WALLETS_LINKED":throw new ht(o,"WALLET_CONNECTION_ERROR");case"DUPLICATE_NONCE":throw new ht(o,"WALLET_CONNECTION_ERROR");case"VALIDATION_ERROR":throw new ht(o,"WALLET_CONNECTION_ERROR");default:throw new ht(o,"WALLET_CONNECTION_ERROR")}}else if(n.response.status)throw new ht(`Link wallet request failed with status code ${n.response.status}`,"WALLET_CONNECTION_ERROR")}let i="Link wallet request failed";throw n instanceof Error&&(i+=`: ${n.message}`),new ht(i,"WALLET_CONNECTION_ERROR")}finally{r.addEvent("End");}}/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh <https://feross.org/opensource> */
375
376
  /*! Bundled license information:
376
377
 
377
378
  pvtsutils/build/index.js:
@@ -506,4 +507,4 @@ pkijs/build/index.es.js:
506
507
  *)
507
508
  */
508
509
 
509
- export { LT as ARBITRUM_ONE, sp as ARBITRUM_ONE_CHAIN, Tb as ARBITRUM_ONE_CHAIN_ID, jT as ARBITRUM_SEPOLIA, y6 as ARBITRUM_SEPOLIA_CHAIN, Bb as ARBITRUM_SEPOLIA_CHAIN_ID, Dc as ConfirmationScreen, np as DEFAULT_CHAINS, HT as ETHEREUM_SEPOLIA, rp as ETHEREUM_SEPOLIA_CHAIN, Ob as ETHEREUM_SEPOLIA_CHAIN_ID, K0 as EvmChain, Uc as GuardianClient, VT as IMMUTABLE_ZKEVM_MAINNET, Ih as IMMUTABLE_ZKEVM_MAINNET_CHAIN, Ah as IMMUTABLE_ZKEVM_MAINNET_CHAIN_ID, UT as IMMUTABLE_ZKEVM_MULTICHAIN, DT as IMMUTABLE_ZKEVM_TESTNET, Ch as IMMUTABLE_ZKEVM_TESTNET_CHAIN, ba as IMMUTABLE_ZKEVM_TESTNET_CHAIN_ID, pe as JsonRpcError, Lc as MagicTEESigner, vh as ProviderErrorCode, YI as ProviderEvent, Sh as RelayerClient, fT as RelayerTransactionStatus, zs as RpcErrorCode, Th as SequenceProvider, Bh as WalletConfiguration, ct as WalletError, Sa as WalletErrorType, zI as WalletEvents, Ph as ZkEvmProvider, Fb as announceProvider, DH as connectWallet, qT as getChainConfig, Vc as getEvmChainFromChainId, _H as getLinkedAddresses, MH as linkExternalWallet, qb as passportProviderInfo, ap as retryWithDelay, o6 as walletHelpers };
510
+ export { OP as ARBITRUM_ONE, hp as ARBITRUM_ONE_CHAIN, $b as ARBITRUM_ONE_CHAIN_ID, RP as ARBITRUM_SEPOLIA, M5 as ARBITRUM_SEPOLIA_CHAIN, qb as ARBITRUM_SEPOLIA_CHAIN_ID, jc as ConfirmationScreen, mp as DEFAULT_CHAINS, LP as ETHEREUM_SEPOLIA, dp as ETHEREUM_SEPOLIA_CHAIN, Fb as ETHEREUM_SEPOLIA_CHAIN_ID, tp as EvmChain, Mc as GuardianClient, kP as IMMUTABLE_ZKEVM_MAINNET, Of as IMMUTABLE_ZKEVM_MAINNET_CHAIN, Pf as IMMUTABLE_ZKEVM_MAINNET_CHAIN_ID, PP as IMMUTABLE_ZKEVM_MULTICHAIN, BP as IMMUTABLE_ZKEVM_TESTNET, Rf as IMMUTABLE_ZKEVM_TESTNET_CHAIN, Ia as IMMUTABLE_ZKEVM_TESTNET_CHAIN_ID, ye as JsonRpcError, $c as MagicTEESigner, Tf as ProviderErrorCode, S5 as ProviderEvent, Nf as RelayerClient, oP as RelayerTransactionStatus, Qs as RpcErrorCode, Uf as SequenceProvider, _f as WalletConfiguration, ht as WalletError, Ca as WalletErrorType, b5 as WalletEvents, Vf as ZkEvmProvider, sS as announceProvider, LM as connectWallet, _P as getChainConfig, Hc as getEvmChainFromChainId, HM as getLinkedAddresses, jM as linkExternalWallet, tS as passportProviderInfo, gp as retryWithDelay, P5 as walletHelpers };