@junobuild/core-standalone 3.4.0 → 3.4.1-next-2026-01-16
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/browser/index.js +19 -19
- package/dist/browser/index.js.map +4 -4
- package/dist/node/index.mjs +19 -19
- package/dist/node/index.mjs.map +4 -4
- package/package.json +2 -2
package/dist/node/index.mjs
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { createRequire as topLevelCreateRequire } from 'module';
|
|
2
2
|
const require = topLevelCreateRequire(import.meta.url);
|
|
3
|
-
var Yp=Object.defineProperty;var Zp=(e,t)=>{for(var r in t)Yp(e,r,{get:t[r],enumerable:!0})};var zc;(function(e){e[e.SysFatal=1]="SysFatal",e[e.SysTransient=2]="SysTransient",e[e.DestinationInvalid=3]="DestinationInvalid",e[e.CanisterReject=4]="CanisterReject",e[e.CanisterError=5]="CanisterError"})(zc||(zc={}));var br;(function(e){e.Replied="replied",e.Rejected="rejected"})(br||(br={}));function Yc(e){return e!=null&&"reject_code"in e}function Zc(e){return e!=null&&"certificate"in e}var hi="abcdefghijklmnopqrstuvwxyz234567",Un=Object.create(null);for(let e=0;e<hi.length;e++)Un[hi[e]]=e;Un[0]=Un.o;Un[1]=Un.i;function Xc(e){let t=0,r=0,n="";function o(i){return t<0?r|=i>>-t:r=i<<t&248,t>3?(t-=8,1):(t<4&&(n+=hi[r>>3],t+=5),0)}for(let i=0;i<e.length;)i+=o(e[i]);return n+(t<0?hi[r>>3]:"")}function Qc(e){let t=0,r=0,n=new Uint8Array(e.length*4/3|0),o=0;function i(s){let a=Un[s.toLowerCase()];if(a===void 0)throw new Error(`Invalid character: ${JSON.stringify(s)}`);a<<=3,r|=a>>>t,t+=5,t>=8&&(n[o++]=r,t-=8,t>0?r=a<<5-t&255:r=0)}for(let s of e)i(s);return n.slice(0,o)}var Xp=new Uint32Array([0,1996959894,3993919788,2567524794,124634137,1886057615,3915621685,2657392035,249268274,2044508324,3772115230,2547177864,162941995,2125561021,3887607047,2428444049,498536548,1789927666,4089016648,2227061214,450548861,1843258603,4107580753,2211677639,325883990,1684777152,4251122042,2321926636,335633487,1661365465,4195302755,2366115317,997073096,1281953886,3579855332,2724688242,1006888145,1258607687,3524101629,2768942443,901097722,1119000684,3686517206,2898065728,853044451,1172266101,3705015759,2882616665,651767980,1373503546,3369554304,3218104598,565507253,1454621731,3485111705,3099436303,671266974,1594198024,3322730930,2970347812,795835527,1483230225,3244367275,3060149565,1994146192,31158534,2563907772,4023717930,1907459465,112637215,2680153253,3904427059,2013776290,251722036,2517215374,3775830040,2137656763,141376813,2439277719,3865271297,1802195444,476864866,2238001368,4066508878,1812370925,453092731,2181625025,4111451223,1706088902,314042704,2344532202,4240017532,1658658271,366619977,2362670323,4224994405,1303535960,984961486,2747007092,3569037538,1256170817,1037604311,2765210733,3554079995,1131014506,879679996,2909243462,3663771856,1141124467,855842277,2852801631,3708648649,1342533948,654459306,3188396048,3373015174,1466479909,544179635,3110523913,3462522015,1591671054,702138776,2966460450,3352799412,1504918807,783551873,3082640443,3233442989,3988292384,2596254646,62317068,1957810842,3939845945,2647816111,81470997,1943803523,3814918930,2489596804,225274430,2053790376,3826175755,2466906013,167816743,2097651377,4027552580,2265490386,503444072,1762050814,4150417245,2154129355,426522225,1852507879,4275313526,2312317920,282753626,1742555852,4189708143,2394877945,397917763,1622183637,3604390888,2714866558,953729732,1340076626,3518719985,2797360999,1068828381,1219638859,3624741850,2936675148,906185462,1090812512,3747672003,2825379669,829329135,1181335161,3412177804,3160834842,628085408,1382605366,3423369109,3138078467,570562233,1426400815,3317316542,2998733608,733239954,1555261956,3268935591,3050360625,752459403,1541320221,2607071920,3965973030,1969922972,40735498,2617837225,3943577151,1913087877,83908371,2512341634,3803740692,2075208622,213261112,2463272603,3855990285,2094854071,198958881,2262029012,4057260610,1759359992,534414190,2176718541,4139329115,1873836001,414664567,2282248934,4279200368,1711684554,285281116,2405801727,4167216745,1634467795,376229701,2685067896,3608007406,1308918612,956543938,2808555105,3495958263,1231636301,1047427035,2932959818,3654703836,1088359270,936918e3,2847714899,3736837829,1202900863,817233897,3183342108,3401237130,1404277552,615818150,3134207493,3453421203,1423857449,601450431,3009837614,3294710456,1567103746,711928724,3020668471,3272380065,1510334235,755167117]);function el(e){let t=-1;for(let r=0;r<e.length;r++){let o=(e[r]^t)&255;t=Xp[o]^t>>>8}return(t^-1)>>>0}import*as Jt from"node:crypto";var mn=Jt&&typeof Jt=="object"&&"webcrypto"in Jt?Jt.webcrypto:Jt&&typeof Jt=="object"&&"randomBytes"in Jt?Jt:void 0;function At(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&e.constructor.name==="Uint8Array"}function Js(e){if(!Number.isSafeInteger(e)||e<0)throw new Error("positive integer expected, got "+e)}function me(e,...t){if(!At(e))throw new Error("Uint8Array expected");if(t.length>0&&!t.includes(e.length))throw new Error("Uint8Array expected of length "+t+", got length="+e.length)}function Ws(e,t=!0){if(e.destroyed)throw new Error("Hash instance has been destroyed");if(t&&e.finished)throw new Error("Hash#digest() has already been called")}function rl(e,t){me(e);let r=t.outputLen;if(e.length<r)throw new Error("digestInto() expects output buffer of length at least "+r)}function _n(...e){for(let t=0;t<e.length;t++)e[t].fill(0)}function _i(e){return new DataView(e.buffer,e.byteOffset,e.byteLength)}function yt(e,t){return e<<32-t|e>>>t}var nl=typeof Uint8Array.from([]).toHex=="function"&&typeof Uint8Array.fromHex=="function",Qp=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,"0"));function j(e){if(me(e),nl)return e.toHex();let t="";for(let r=0;r<e.length;r++)t+=Qp[e[r]];return t}var Wt={_0:48,_9:57,A:65,F:70,a:97,f:102};function tl(e){if(e>=Wt._0&&e<=Wt._9)return e-Wt._0;if(e>=Wt.A&&e<=Wt.F)return e-(Wt.A-10);if(e>=Wt.a&&e<=Wt.f)return e-(Wt.a-10)}function Ee(e){if(typeof e!="string")throw new Error("hex string expected, got "+typeof e);if(nl)return Uint8Array.fromHex(e);let t=e.length,r=t/2;if(t%2)throw new Error("hex string expected, got unpadded hex of length "+t);let n=new Uint8Array(r);for(let o=0,i=0;o<r;o++,i+=2){let s=tl(e.charCodeAt(i)),a=tl(e.charCodeAt(i+1));if(s===void 0||a===void 0){let c=e[i]+e[i+1];throw new Error('hex string expected, got non-hex character "'+c+'" at index '+i)}n[o]=s*16+a}return n}function $(e){if(typeof e!="string")throw new Error("string expected");return new Uint8Array(new TextEncoder().encode(e))}function zs(e){return typeof e=="string"&&(e=$(e)),me(e),e}function K(...e){let t=0;for(let n=0;n<e.length;n++){let o=e[n];me(o),t+=o.length}let r=new Uint8Array(t);for(let n=0,o=0;n<e.length;n++){let i=e[n];r.set(i,o),o+=i.length}return r}var mi=class{};function yi(e){let t=n=>e().update(zs(n)).digest(),r=e();return t.outputLen=r.outputLen,t.blockLen=r.blockLen,t.create=()=>e(),t}function kn(e=32){if(mn&&typeof mn.getRandomValues=="function")return mn.getRandomValues(new Uint8Array(e));if(mn&&typeof mn.randomBytes=="function")return Uint8Array.from(mn.randomBytes(e));throw new Error("crypto.getRandomValues must be defined")}function ef(e,t,r,n){if(typeof e.setBigUint64=="function")return e.setBigUint64(t,r,n);let o=BigInt(32),i=BigInt(4294967295),s=Number(r>>o&i),a=Number(r&i),c=n?4:0,u=n?0:4;e.setUint32(t+c,s,n),e.setUint32(t+u,a,n)}function ol(e,t,r){return e&t^~e&r}function il(e,t,r){return e&t^e&r^t&r}var go=class extends mi{constructor(t,r,n,o){super(),this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.blockLen=t,this.outputLen=r,this.padOffset=n,this.isLE=o,this.buffer=new Uint8Array(t),this.view=_i(this.buffer)}update(t){Ws(this),t=zs(t),me(t);let{view:r,buffer:n,blockLen:o}=this,i=t.length;for(let s=0;s<i;){let a=Math.min(o-this.pos,i-s);if(a===o){let c=_i(t);for(;o<=i-s;s+=o)this.process(c,s);continue}n.set(t.subarray(s,s+a),this.pos),this.pos+=a,s+=a,this.pos===o&&(this.process(r,0),this.pos=0)}return this.length+=t.length,this.roundClean(),this}digestInto(t){Ws(this),rl(t,this),this.finished=!0;let{buffer:r,view:n,blockLen:o,isLE:i}=this,{pos:s}=this;r[s++]=128,_n(this.buffer.subarray(s)),this.padOffset>o-s&&(this.process(n,0),s=0);for(let d=s;d<o;d++)r[d]=0;ef(n,o-8,BigInt(this.length*8),i),this.process(n,0);let a=_i(t),c=this.outputLen;if(c%4)throw new Error("_sha2: outputLen should be aligned to 32bit");let u=c/4,p=this.get();if(u>p.length)throw new Error("_sha2: outputLen bigger than state");for(let d=0;d<u;d++)a.setUint32(4*d,p[d],i)}digest(){let{buffer:t,outputLen:r}=this;this.digestInto(t);let n=t.slice(0,r);return this.destroy(),n}_cloneInto(t){t||(t=new this.constructor),t.set(...this.get());let{blockLen:r,buffer:n,length:o,finished:i,destroyed:s,pos:a}=this;return t.destroyed=s,t.finished=i,t.length=o,t.pos=a,o%r&&t.buffer.set(n),t}clone(){return this._cloneInto()}},zt=Uint32Array.from([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),Yt=Uint32Array.from([3238371032,914150663,812702999,4144912697,4290775857,1750603025,1694076839,3204075428]);var Ce=Uint32Array.from([1779033703,4089235720,3144134277,2227873595,1013904242,4271175723,2773480762,1595750129,1359893119,2917565137,2600822924,725511199,528734635,4215389547,1541459225,327033209]);var gi=BigInt(4294967295),sl=BigInt(32);function tf(e,t=!1){return t?{h:Number(e&gi),l:Number(e>>sl&gi)}:{h:Number(e>>sl&gi)|0,l:Number(e&gi)|0}}function al(e,t=!1){let r=e.length,n=new Uint32Array(r),o=new Uint32Array(r);for(let i=0;i<r;i++){let{h:s,l:a}=tf(e[i],t);[n[i],o[i]]=[s,a]}return[n,o]}var Ys=(e,t,r)=>e>>>r,Zs=(e,t,r)=>e<<32-r|t>>>r,yn=(e,t,r)=>e>>>r|t<<32-r,gn=(e,t,r)=>e<<32-r|t>>>r,xo=(e,t,r)=>e<<64-r|t>>>r-32,bo=(e,t,r)=>e>>>r-32|t<<64-r;function St(e,t,r,n){let o=(t>>>0)+(n>>>0);return{h:e+r+(o/2**32|0)|0,l:o|0}}var cl=(e,t,r)=>(e>>>0)+(t>>>0)+(r>>>0),ll=(e,t,r,n)=>t+r+n+(e/2**32|0)|0,ul=(e,t,r,n)=>(e>>>0)+(t>>>0)+(r>>>0)+(n>>>0),dl=(e,t,r,n,o)=>t+r+n+o+(e/2**32|0)|0,pl=(e,t,r,n,o)=>(e>>>0)+(t>>>0)+(r>>>0)+(n>>>0)+(o>>>0),fl=(e,t,r,n,o,i)=>t+r+n+o+i+(e/2**32|0)|0;var nf=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]),wr=new Uint32Array(64),xi=class extends go{constructor(t=32){super(64,t,8,!1),this.A=zt[0]|0,this.B=zt[1]|0,this.C=zt[2]|0,this.D=zt[3]|0,this.E=zt[4]|0,this.F=zt[5]|0,this.G=zt[6]|0,this.H=zt[7]|0}get(){let{A:t,B:r,C:n,D:o,E:i,F:s,G:a,H:c}=this;return[t,r,n,o,i,s,a,c]}set(t,r,n,o,i,s,a,c){this.A=t|0,this.B=r|0,this.C=n|0,this.D=o|0,this.E=i|0,this.F=s|0,this.G=a|0,this.H=c|0}process(t,r){for(let d=0;d<16;d++,r+=4)wr[d]=t.getUint32(r,!1);for(let d=16;d<64;d++){let l=wr[d-15],f=wr[d-2],h=yt(l,7)^yt(l,18)^l>>>3,_=yt(f,17)^yt(f,19)^f>>>10;wr[d]=_+wr[d-7]+h+wr[d-16]|0}let{A:n,B:o,C:i,D:s,E:a,F:c,G:u,H:p}=this;for(let d=0;d<64;d++){let l=yt(a,6)^yt(a,11)^yt(a,25),f=p+l+ol(a,c,u)+nf[d]+wr[d]|0,_=(yt(n,2)^yt(n,13)^yt(n,22))+il(n,o,i)|0;p=u,u=c,c=a,a=s+f|0,s=i,i=o,o=n,n=f+_|0}n=n+this.A|0,o=o+this.B|0,i=i+this.C|0,s=s+this.D|0,a=a+this.E|0,c=c+this.F|0,u=u+this.G|0,p=p+this.H|0,this.set(n,o,i,s,a,c,u,p)}roundClean(){_n(wr)}destroy(){this.set(0,0,0,0,0,0,0,0),_n(this.buffer)}},Xs=class extends xi{constructor(){super(28),this.A=Yt[0]|0,this.B=Yt[1]|0,this.C=Yt[2]|0,this.D=Yt[3]|0,this.E=Yt[4]|0,this.F=Yt[5]|0,this.G=Yt[6]|0,this.H=Yt[7]|0}},hl=al(["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(e=>BigInt(e))),of=hl[0],sf=hl[1],Tr=new Uint32Array(80),Nr=new Uint32Array(80),Qs=class extends go{constructor(t=64){super(128,t,16,!1),this.Ah=Ce[0]|0,this.Al=Ce[1]|0,this.Bh=Ce[2]|0,this.Bl=Ce[3]|0,this.Ch=Ce[4]|0,this.Cl=Ce[5]|0,this.Dh=Ce[6]|0,this.Dl=Ce[7]|0,this.Eh=Ce[8]|0,this.El=Ce[9]|0,this.Fh=Ce[10]|0,this.Fl=Ce[11]|0,this.Gh=Ce[12]|0,this.Gl=Ce[13]|0,this.Hh=Ce[14]|0,this.Hl=Ce[15]|0}get(){let{Ah:t,Al:r,Bh:n,Bl:o,Ch:i,Cl:s,Dh:a,Dl:c,Eh:u,El:p,Fh:d,Fl:l,Gh:f,Gl:h,Hh:_,Hl:g}=this;return[t,r,n,o,i,s,a,c,u,p,d,l,f,h,_,g]}set(t,r,n,o,i,s,a,c,u,p,d,l,f,h,_,g){this.Ah=t|0,this.Al=r|0,this.Bh=n|0,this.Bl=o|0,this.Ch=i|0,this.Cl=s|0,this.Dh=a|0,this.Dl=c|0,this.Eh=u|0,this.El=p|0,this.Fh=d|0,this.Fl=l|0,this.Gh=f|0,this.Gl=h|0,this.Hh=_|0,this.Hl=g|0}process(t,r){for(let y=0;y<16;y++,r+=4)Tr[y]=t.getUint32(r),Nr[y]=t.getUint32(r+=4);for(let y=16;y<80;y++){let T=Tr[y-15]|0,E=Nr[y-15]|0,O=yn(T,E,1)^yn(T,E,8)^Ys(T,E,7),R=gn(T,E,1)^gn(T,E,8)^Zs(T,E,7),v=Tr[y-2]|0,w=Nr[y-2]|0,I=yn(v,w,19)^xo(v,w,61)^Ys(v,w,6),F=gn(v,w,19)^bo(v,w,61)^Zs(v,w,6),S=ul(R,F,Nr[y-7],Nr[y-16]),b=dl(S,O,I,Tr[y-7],Tr[y-16]);Tr[y]=b|0,Nr[y]=S|0}let{Ah:n,Al:o,Bh:i,Bl:s,Ch:a,Cl:c,Dh:u,Dl:p,Eh:d,El:l,Fh:f,Fl:h,Gh:_,Gl:g,Hh:m,Hl:x}=this;for(let y=0;y<80;y++){let T=yn(d,l,14)^yn(d,l,18)^xo(d,l,41),E=gn(d,l,14)^gn(d,l,18)^bo(d,l,41),O=d&f^~d&_,R=l&h^~l&g,v=pl(x,E,R,sf[y],Nr[y]),w=fl(v,m,T,O,of[y],Tr[y]),I=v|0,F=yn(n,o,28)^xo(n,o,34)^xo(n,o,39),S=gn(n,o,28)^bo(n,o,34)^bo(n,o,39),b=n&i^n&a^i&a,N=o&s^o&c^s&c;m=_|0,x=g|0,_=f|0,g=h|0,f=d|0,h=l|0,{h:d,l}=St(u|0,p|0,w|0,I|0),u=a|0,p=c|0,a=i|0,c=s|0,i=n|0,s=o|0;let C=cl(I,S,N);n=ll(C,w,F,b),o=C|0}({h:n,l:o}=St(this.Ah|0,this.Al|0,n|0,o|0)),{h:i,l:s}=St(this.Bh|0,this.Bl|0,i|0,s|0),{h:a,l:c}=St(this.Ch|0,this.Cl|0,a|0,c|0),{h:u,l:p}=St(this.Dh|0,this.Dl|0,u|0,p|0),{h:d,l}=St(this.Eh|0,this.El|0,d|0,l|0),{h:f,l:h}=St(this.Fh|0,this.Fl|0,f|0,h|0),{h:_,l:g}=St(this.Gh|0,this.Gl|0,_|0,g|0),{h:m,l:x}=St(this.Hh|0,this.Hl|0,m|0,x|0),this.set(n,o,i,s,a,c,u,p,d,l,f,h,_,g,m,x)}roundClean(){_n(Tr,Nr)}destroy(){_n(this.buffer),this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}};var Ve=yi(()=>new xi),ml=yi(()=>new Xs),_l=yi(()=>new Qs);var bi="__principal__",af=2,yl=4,cf="aaaaa-aa",k=class e{static anonymous(){return new this(new Uint8Array([yl]))}static managementCanister(){return this.fromText(cf)}static selfAuthenticating(t){let r=ml(t);return new this(new Uint8Array([...r,af]))}static from(t){if(typeof t=="string")return e.fromText(t);if(Object.getPrototypeOf(t)===Uint8Array.prototype)return new e(t);if(e.isPrincipal(t))return new e(t._arr);throw new Error(`Impossible to convert ${JSON.stringify(t)} to Principal.`)}static fromHex(t){return new this(Ee(t))}static fromText(t){let r=t;if(t.includes(bi)){let s=JSON.parse(t);bi in s&&(r=s[bi])}let n=r.toLowerCase().replace(/-/g,""),o=Qc(n);o=o.slice(4,o.length);let i=new this(o);if(i.toText()!==r)throw new Error(`Principal "${i.toText()}" does not have a valid checksum (original value "${r}" may not be a valid Principal ID).`);return i}static fromUint8Array(t){return new this(t)}static isPrincipal(t){return t instanceof e||typeof t=="object"&&t!==null&&"_isPrincipal"in t&&t._isPrincipal===!0&&"_arr"in t&&t._arr instanceof Uint8Array}constructor(t){this._arr=t,this._isPrincipal=!0}isAnonymous(){return this._arr.byteLength===1&&this._arr[0]===yl}toUint8Array(){return this._arr}toHex(){return j(this._arr).toUpperCase()}toText(){let t=new ArrayBuffer(4);new DataView(t).setUint32(0,el(this._arr));let n=new Uint8Array(t),o=new Uint8Array([...n,...this._arr]),s=Xc(o).match(/.{1,5}/g);if(!s)throw new Error;return s.join("-")}toString(){return this.toText()}toJSON(){return{[bi]:this.toText()}}compareTo(t){for(let r=0;r<Math.min(this._arr.length,t._arr.length);r++){if(this._arr[r]<t._arr[r])return"lt";if(this._arr[r]>t._arr[r])return"gt"}return this._arr.length<t._arr.length?"lt":this._arr.length>t._arr.length?"gt":"eq"}ltEq(t){let r=this.compareTo(t);return r=="lt"||r=="eq"}gtEq(t){let r=this.compareTo(t);return r=="gt"||r=="eq"}};var Zt;(function(e){e.Trust="Trust",e.Protocol="Protocol",e.Reject="Reject",e.Transport="Transport",e.External="External",e.Limit="Limit",e.Input="Input",e.Unknown="Unknown"})(Zt||(Zt={}));var G=class{constructor(t=!1){this.isCertified=t}toString(){let t=this.toErrorMessage();return this.requestContext&&(t+=`
|
|
3
|
+
var pf=Object.defineProperty;var ff=(e,t)=>{for(var r in t)pf(e,r,{get:t[r],enumerable:!0})};var cl;(function(e){e[e.SysFatal=1]="SysFatal",e[e.SysTransient=2]="SysTransient",e[e.DestinationInvalid=3]="DestinationInvalid",e[e.CanisterReject=4]="CanisterReject",e[e.CanisterError=5]="CanisterError"})(cl||(cl={}));var Rr;(function(e){e.Replied="replied",e.Rejected="rejected"})(Rr||(Rr={}));function ll(e){return e!=null&&"reject_code"in e}function ul(e){return e!=null&&"certificate"in e}var yi="abcdefghijklmnopqrstuvwxyz234567",jn=Object.create(null);for(let e=0;e<yi.length;e++)jn[yi[e]]=e;jn[0]=jn.o;jn[1]=jn.i;function dl(e){let t=0,r=0,n="";function o(i){return t<0?r|=i>>-t:r=i<<t&248,t>3?(t-=8,1):(t<4&&(n+=yi[r>>3],t+=5),0)}for(let i=0;i<e.length;)i+=o(e[i]);return n+(t<0?yi[r>>3]:"")}function pl(e){let t=0,r=0,n=new Uint8Array(e.length*4/3|0),o=0;function i(s){let a=jn[s.toLowerCase()];if(a===void 0)throw new Error(`Invalid character: ${JSON.stringify(s)}`);a<<=3,r|=a>>>t,t+=5,t>=8&&(n[o++]=r,t-=8,t>0?r=a<<5-t&255:r=0)}for(let s of e)i(s);return n.slice(0,o)}var hf=new Uint32Array([0,1996959894,3993919788,2567524794,124634137,1886057615,3915621685,2657392035,249268274,2044508324,3772115230,2547177864,162941995,2125561021,3887607047,2428444049,498536548,1789927666,4089016648,2227061214,450548861,1843258603,4107580753,2211677639,325883990,1684777152,4251122042,2321926636,335633487,1661365465,4195302755,2366115317,997073096,1281953886,3579855332,2724688242,1006888145,1258607687,3524101629,2768942443,901097722,1119000684,3686517206,2898065728,853044451,1172266101,3705015759,2882616665,651767980,1373503546,3369554304,3218104598,565507253,1454621731,3485111705,3099436303,671266974,1594198024,3322730930,2970347812,795835527,1483230225,3244367275,3060149565,1994146192,31158534,2563907772,4023717930,1907459465,112637215,2680153253,3904427059,2013776290,251722036,2517215374,3775830040,2137656763,141376813,2439277719,3865271297,1802195444,476864866,2238001368,4066508878,1812370925,453092731,2181625025,4111451223,1706088902,314042704,2344532202,4240017532,1658658271,366619977,2362670323,4224994405,1303535960,984961486,2747007092,3569037538,1256170817,1037604311,2765210733,3554079995,1131014506,879679996,2909243462,3663771856,1141124467,855842277,2852801631,3708648649,1342533948,654459306,3188396048,3373015174,1466479909,544179635,3110523913,3462522015,1591671054,702138776,2966460450,3352799412,1504918807,783551873,3082640443,3233442989,3988292384,2596254646,62317068,1957810842,3939845945,2647816111,81470997,1943803523,3814918930,2489596804,225274430,2053790376,3826175755,2466906013,167816743,2097651377,4027552580,2265490386,503444072,1762050814,4150417245,2154129355,426522225,1852507879,4275313526,2312317920,282753626,1742555852,4189708143,2394877945,397917763,1622183637,3604390888,2714866558,953729732,1340076626,3518719985,2797360999,1068828381,1219638859,3624741850,2936675148,906185462,1090812512,3747672003,2825379669,829329135,1181335161,3412177804,3160834842,628085408,1382605366,3423369109,3138078467,570562233,1426400815,3317316542,2998733608,733239954,1555261956,3268935591,3050360625,752459403,1541320221,2607071920,3965973030,1969922972,40735498,2617837225,3943577151,1913087877,83908371,2512341634,3803740692,2075208622,213261112,2463272603,3855990285,2094854071,198958881,2262029012,4057260610,1759359992,534414190,2176718541,4139329115,1873836001,414664567,2282248934,4279200368,1711684554,285281116,2405801727,4167216745,1634467795,376229701,2685067896,3608007406,1308918612,956543938,2808555105,3495958263,1231636301,1047427035,2932959818,3654703836,1088359270,936918e3,2847714899,3736837829,1202900863,817233897,3183342108,3401237130,1404277552,615818150,3134207493,3453421203,1423857449,601450431,3009837614,3294710456,1567103746,711928724,3020668471,3272380065,1510334235,755167117]);function fl(e){let t=-1;for(let r=0;r<e.length;r++){let o=(e[r]^t)&255;t=hf[o]^t>>>8}return(t^-1)>>>0}import*as Qt from"node:crypto";var xn=Qt&&typeof Qt=="object"&&"webcrypto"in Qt?Qt.webcrypto:Qt&&typeof Qt=="object"&&"randomBytes"in Qt?Qt:void 0;function At(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&e.constructor.name==="Uint8Array"}function aa(e){if(!Number.isSafeInteger(e)||e<0)throw new Error("positive integer expected, got "+e)}function me(e,...t){if(!At(e))throw new Error("Uint8Array expected");if(t.length>0&&!t.includes(e.length))throw new Error("Uint8Array expected of length "+t+", got length="+e.length)}function ca(e,t=!0){if(e.destroyed)throw new Error("Hash instance has been destroyed");if(t&&e.finished)throw new Error("Hash#digest() has already been called")}function ml(e,t){me(e);let r=t.outputLen;if(e.length<r)throw new Error("digestInto() expects output buffer of length at least "+r)}function bn(...e){for(let t=0;t<e.length;t++)e[t].fill(0)}function xi(e){return new DataView(e.buffer,e.byteOffset,e.byteLength)}function yt(e,t){return e<<32-t|e>>>t}var _l=typeof Uint8Array.from([]).toHex=="function"&&typeof Uint8Array.fromHex=="function",mf=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,"0"));function j(e){if(me(e),_l)return e.toHex();let t="";for(let r=0;r<e.length;r++)t+=mf[e[r]];return t}var er={_0:48,_9:57,A:65,F:70,a:97,f:102};function hl(e){if(e>=er._0&&e<=er._9)return e-er._0;if(e>=er.A&&e<=er.F)return e-(er.A-10);if(e>=er.a&&e<=er.f)return e-(er.a-10)}function Ee(e){if(typeof e!="string")throw new Error("hex string expected, got "+typeof e);if(_l)return Uint8Array.fromHex(e);let t=e.length,r=t/2;if(t%2)throw new Error("hex string expected, got unpadded hex of length "+t);let n=new Uint8Array(r);for(let o=0,i=0;o<r;o++,i+=2){let s=hl(e.charCodeAt(i)),a=hl(e.charCodeAt(i+1));if(s===void 0||a===void 0){let c=e[i]+e[i+1];throw new Error('hex string expected, got non-hex character "'+c+'" at index '+i)}n[o]=s*16+a}return n}function $(e){if(typeof e!="string")throw new Error("string expected");return new Uint8Array(new TextEncoder().encode(e))}function la(e){return typeof e=="string"&&(e=$(e)),me(e),e}function K(...e){let t=0;for(let n=0;n<e.length;n++){let o=e[n];me(o),t+=o.length}let r=new Uint8Array(t);for(let n=0,o=0;n<e.length;n++){let i=e[n];r.set(i,o),o+=i.length}return r}var gi=class{};function bi(e){let t=n=>e().update(la(n)).digest(),r=e();return t.outputLen=r.outputLen,t.blockLen=r.blockLen,t.create=()=>e(),t}function Kn(e=32){if(xn&&typeof xn.getRandomValues=="function")return xn.getRandomValues(new Uint8Array(e));if(xn&&typeof xn.randomBytes=="function")return Uint8Array.from(xn.randomBytes(e));throw new Error("crypto.getRandomValues must be defined")}function _f(e,t,r,n){if(typeof e.setBigUint64=="function")return e.setBigUint64(t,r,n);let o=BigInt(32),i=BigInt(4294967295),s=Number(r>>o&i),a=Number(r&i),c=n?4:0,u=n?0:4;e.setUint32(t+c,s,n),e.setUint32(t+u,a,n)}function yl(e,t,r){return e&t^~e&r}function gl(e,t,r){return e&t^e&r^t&r}var wo=class extends gi{constructor(t,r,n,o){super(),this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.blockLen=t,this.outputLen=r,this.padOffset=n,this.isLE=o,this.buffer=new Uint8Array(t),this.view=xi(this.buffer)}update(t){ca(this),t=la(t),me(t);let{view:r,buffer:n,blockLen:o}=this,i=t.length;for(let s=0;s<i;){let a=Math.min(o-this.pos,i-s);if(a===o){let c=xi(t);for(;o<=i-s;s+=o)this.process(c,s);continue}n.set(t.subarray(s,s+a),this.pos),this.pos+=a,s+=a,this.pos===o&&(this.process(r,0),this.pos=0)}return this.length+=t.length,this.roundClean(),this}digestInto(t){ca(this),ml(t,this),this.finished=!0;let{buffer:r,view:n,blockLen:o,isLE:i}=this,{pos:s}=this;r[s++]=128,bn(this.buffer.subarray(s)),this.padOffset>o-s&&(this.process(n,0),s=0);for(let d=s;d<o;d++)r[d]=0;_f(n,o-8,BigInt(this.length*8),i),this.process(n,0);let a=xi(t),c=this.outputLen;if(c%4)throw new Error("_sha2: outputLen should be aligned to 32bit");let u=c/4,p=this.get();if(u>p.length)throw new Error("_sha2: outputLen bigger than state");for(let d=0;d<u;d++)a.setUint32(4*d,p[d],i)}digest(){let{buffer:t,outputLen:r}=this;this.digestInto(t);let n=t.slice(0,r);return this.destroy(),n}_cloneInto(t){t||(t=new this.constructor),t.set(...this.get());let{blockLen:r,buffer:n,length:o,finished:i,destroyed:s,pos:a}=this;return t.destroyed=s,t.finished=i,t.length=o,t.pos=a,o%r&&t.buffer.set(n),t}clone(){return this._cloneInto()}},tr=Uint32Array.from([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),rr=Uint32Array.from([3238371032,914150663,812702999,4144912697,4290775857,1750603025,1694076839,3204075428]);var Ce=Uint32Array.from([1779033703,4089235720,3144134277,2227873595,1013904242,4271175723,2773480762,1595750129,1359893119,2917565137,2600822924,725511199,528734635,4215389547,1541459225,327033209]);var wi=BigInt(4294967295),xl=BigInt(32);function yf(e,t=!1){return t?{h:Number(e&wi),l:Number(e>>xl&wi)}:{h:Number(e>>xl&wi)|0,l:Number(e&wi)|0}}function bl(e,t=!1){let r=e.length,n=new Uint32Array(r),o=new Uint32Array(r);for(let i=0;i<r;i++){let{h:s,l:a}=yf(e[i],t);[n[i],o[i]]=[s,a]}return[n,o]}var ua=(e,t,r)=>e>>>r,da=(e,t,r)=>e<<32-r|t>>>r,wn=(e,t,r)=>e>>>r|t<<32-r,Tn=(e,t,r)=>e<<32-r|t>>>r,To=(e,t,r)=>e<<64-r|t>>>r-32,No=(e,t,r)=>e>>>r-32|t<<64-r;function St(e,t,r,n){let o=(t>>>0)+(n>>>0);return{h:e+r+(o/2**32|0)|0,l:o|0}}var wl=(e,t,r)=>(e>>>0)+(t>>>0)+(r>>>0),Tl=(e,t,r,n)=>t+r+n+(e/2**32|0)|0,Nl=(e,t,r,n)=>(e>>>0)+(t>>>0)+(r>>>0)+(n>>>0),Ol=(e,t,r,n,o)=>t+r+n+o+(e/2**32|0)|0,El=(e,t,r,n,o)=>(e>>>0)+(t>>>0)+(r>>>0)+(n>>>0)+(o>>>0),Rl=(e,t,r,n,o,i)=>t+r+n+o+i+(e/2**32|0)|0;var xf=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]),Ir=new Uint32Array(64),Ti=class extends wo{constructor(t=32){super(64,t,8,!1),this.A=tr[0]|0,this.B=tr[1]|0,this.C=tr[2]|0,this.D=tr[3]|0,this.E=tr[4]|0,this.F=tr[5]|0,this.G=tr[6]|0,this.H=tr[7]|0}get(){let{A:t,B:r,C:n,D:o,E:i,F:s,G:a,H:c}=this;return[t,r,n,o,i,s,a,c]}set(t,r,n,o,i,s,a,c){this.A=t|0,this.B=r|0,this.C=n|0,this.D=o|0,this.E=i|0,this.F=s|0,this.G=a|0,this.H=c|0}process(t,r){for(let d=0;d<16;d++,r+=4)Ir[d]=t.getUint32(r,!1);for(let d=16;d<64;d++){let l=Ir[d-15],f=Ir[d-2],h=yt(l,7)^yt(l,18)^l>>>3,_=yt(f,17)^yt(f,19)^f>>>10;Ir[d]=_+Ir[d-7]+h+Ir[d-16]|0}let{A:n,B:o,C:i,D:s,E:a,F:c,G:u,H:p}=this;for(let d=0;d<64;d++){let l=yt(a,6)^yt(a,11)^yt(a,25),f=p+l+yl(a,c,u)+xf[d]+Ir[d]|0,_=(yt(n,2)^yt(n,13)^yt(n,22))+gl(n,o,i)|0;p=u,u=c,c=a,a=s+f|0,s=i,i=o,o=n,n=f+_|0}n=n+this.A|0,o=o+this.B|0,i=i+this.C|0,s=s+this.D|0,a=a+this.E|0,c=c+this.F|0,u=u+this.G|0,p=p+this.H|0,this.set(n,o,i,s,a,c,u,p)}roundClean(){bn(Ir)}destroy(){this.set(0,0,0,0,0,0,0,0),bn(this.buffer)}},pa=class extends Ti{constructor(){super(28),this.A=rr[0]|0,this.B=rr[1]|0,this.C=rr[2]|0,this.D=rr[3]|0,this.E=rr[4]|0,this.F=rr[5]|0,this.G=rr[6]|0,this.H=rr[7]|0}},Il=bl(["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(e=>BigInt(e))),bf=Il[0],wf=Il[1],vr=new Uint32Array(80),Ar=new Uint32Array(80),fa=class extends wo{constructor(t=64){super(128,t,16,!1),this.Ah=Ce[0]|0,this.Al=Ce[1]|0,this.Bh=Ce[2]|0,this.Bl=Ce[3]|0,this.Ch=Ce[4]|0,this.Cl=Ce[5]|0,this.Dh=Ce[6]|0,this.Dl=Ce[7]|0,this.Eh=Ce[8]|0,this.El=Ce[9]|0,this.Fh=Ce[10]|0,this.Fl=Ce[11]|0,this.Gh=Ce[12]|0,this.Gl=Ce[13]|0,this.Hh=Ce[14]|0,this.Hl=Ce[15]|0}get(){let{Ah:t,Al:r,Bh:n,Bl:o,Ch:i,Cl:s,Dh:a,Dl:c,Eh:u,El:p,Fh:d,Fl:l,Gh:f,Gl:h,Hh:_,Hl:g}=this;return[t,r,n,o,i,s,a,c,u,p,d,l,f,h,_,g]}set(t,r,n,o,i,s,a,c,u,p,d,l,f,h,_,g){this.Ah=t|0,this.Al=r|0,this.Bh=n|0,this.Bl=o|0,this.Ch=i|0,this.Cl=s|0,this.Dh=a|0,this.Dl=c|0,this.Eh=u|0,this.El=p|0,this.Fh=d|0,this.Fl=l|0,this.Gh=f|0,this.Gl=h|0,this.Hh=_|0,this.Hl=g|0}process(t,r){for(let y=0;y<16;y++,r+=4)vr[y]=t.getUint32(r),Ar[y]=t.getUint32(r+=4);for(let y=16;y<80;y++){let T=vr[y-15]|0,E=Ar[y-15]|0,O=wn(T,E,1)^wn(T,E,8)^ua(T,E,7),R=Tn(T,E,1)^Tn(T,E,8)^da(T,E,7),v=vr[y-2]|0,w=Ar[y-2]|0,I=wn(v,w,19)^To(v,w,61)^ua(v,w,6),F=Tn(v,w,19)^No(v,w,61)^da(v,w,6),S=Nl(R,F,Ar[y-7],Ar[y-16]),b=Ol(S,O,I,vr[y-7],vr[y-16]);vr[y]=b|0,Ar[y]=S|0}let{Ah:n,Al:o,Bh:i,Bl:s,Ch:a,Cl:c,Dh:u,Dl:p,Eh:d,El:l,Fh:f,Fl:h,Gh:_,Gl:g,Hh:m,Hl:x}=this;for(let y=0;y<80;y++){let T=wn(d,l,14)^wn(d,l,18)^To(d,l,41),E=Tn(d,l,14)^Tn(d,l,18)^No(d,l,41),O=d&f^~d&_,R=l&h^~l&g,v=El(x,E,R,wf[y],Ar[y]),w=Rl(v,m,T,O,bf[y],vr[y]),I=v|0,F=wn(n,o,28)^To(n,o,34)^To(n,o,39),S=Tn(n,o,28)^No(n,o,34)^No(n,o,39),b=n&i^n&a^i&a,N=o&s^o&c^s&c;m=_|0,x=g|0,_=f|0,g=h|0,f=d|0,h=l|0,{h:d,l}=St(u|0,p|0,w|0,I|0),u=a|0,p=c|0,a=i|0,c=s|0,i=n|0,s=o|0;let C=wl(I,S,N);n=Tl(C,w,F,b),o=C|0}({h:n,l:o}=St(this.Ah|0,this.Al|0,n|0,o|0)),{h:i,l:s}=St(this.Bh|0,this.Bl|0,i|0,s|0),{h:a,l:c}=St(this.Ch|0,this.Cl|0,a|0,c|0),{h:u,l:p}=St(this.Dh|0,this.Dl|0,u|0,p|0),{h:d,l}=St(this.Eh|0,this.El|0,d|0,l|0),{h:f,l:h}=St(this.Fh|0,this.Fl|0,f|0,h|0),{h:_,l:g}=St(this.Gh|0,this.Gl|0,_|0,g|0),{h:m,l:x}=St(this.Hh|0,this.Hl|0,m|0,x|0),this.set(n,o,i,s,a,c,u,p,d,l,f,h,_,g,m,x)}roundClean(){bn(vr,Ar)}destroy(){bn(this.buffer),this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}};var Pe=bi(()=>new Ti),vl=bi(()=>new pa),Al=bi(()=>new fa);var Ni="__principal__",Tf=2,Sl=4,Nf="aaaaa-aa",U=class e{static anonymous(){return new this(new Uint8Array([Sl]))}static managementCanister(){return this.fromText(Nf)}static selfAuthenticating(t){let r=vl(t);return new this(new Uint8Array([...r,Tf]))}static from(t){if(typeof t=="string")return e.fromText(t);if(Object.getPrototypeOf(t)===Uint8Array.prototype)return new e(t);if(e.isPrincipal(t))return new e(t._arr);throw new Error(`Impossible to convert ${JSON.stringify(t)} to Principal.`)}static fromHex(t){return new this(Ee(t))}static fromText(t){let r=t;if(t.includes(Ni)){let s=JSON.parse(t);Ni in s&&(r=s[Ni])}let n=r.toLowerCase().replace(/-/g,""),o=pl(n);o=o.slice(4,o.length);let i=new this(o);if(i.toText()!==r)throw new Error(`Principal "${i.toText()}" does not have a valid checksum (original value "${r}" may not be a valid Principal ID).`);return i}static fromUint8Array(t){return new this(t)}static isPrincipal(t){return t instanceof e||typeof t=="object"&&t!==null&&"_isPrincipal"in t&&t._isPrincipal===!0&&"_arr"in t&&t._arr instanceof Uint8Array}constructor(t){this._arr=t,this._isPrincipal=!0}isAnonymous(){return this._arr.byteLength===1&&this._arr[0]===Sl}toUint8Array(){return this._arr}toHex(){return j(this._arr).toUpperCase()}toText(){let t=new ArrayBuffer(4);new DataView(t).setUint32(0,fl(this._arr));let n=new Uint8Array(t),o=new Uint8Array([...n,...this._arr]),s=dl(o).match(/.{1,5}/g);if(!s)throw new Error;return s.join("-")}toString(){return this.toText()}toJSON(){return{[Ni]:this.toText()}}compareTo(t){for(let r=0;r<Math.min(this._arr.length,t._arr.length);r++){if(this._arr[r]<t._arr[r])return"lt";if(this._arr[r]>t._arr[r])return"gt"}return this._arr.length<t._arr.length?"lt":this._arr.length>t._arr.length?"gt":"eq"}ltEq(t){let r=this.compareTo(t);return r=="lt"||r=="eq"}gtEq(t){let r=this.compareTo(t);return r=="gt"||r=="eq"}};var nr;(function(e){e.Trust="Trust",e.Protocol="Protocol",e.Reject="Reject",e.Transport="Transport",e.External="External",e.Limit="Limit",e.Input="Input",e.Unknown="Unknown"})(nr||(nr={}));var G=class{constructor(t=!1){this.isCertified=t}toString(){let t=this.toErrorMessage();return this.requestContext&&(t+=`
|
|
4
4
|
Request context:
|
|
5
5
|
Request ID (hex): ${this.requestContext.requestId?j(this.requestContext.requestId):"undefined"}
|
|
6
6
|
Sender pubkey (hex): ${j(this.requestContext.senderPubKey)}
|
|
@@ -9,51 +9,51 @@ Request context:
|
|
|
9
9
|
Call context:
|
|
10
10
|
Canister ID: ${this.callContext.canisterId.toText()}
|
|
11
11
|
Method name: ${this.callContext.methodName}
|
|
12
|
-
HTTP details: ${JSON.stringify(this.callContext.httpDetails,null,2)}`),t}},
|
|
12
|
+
HTTP details: ${JSON.stringify(this.callContext.httpDetails,null,2)}`),t}},nt=class e extends Error{get code(){return this.cause.code}set code(t){this.cause.code=t}get kind(){return this.cause.kind}set kind(t){this.cause.kind=t}get isCertified(){return this.code.isCertified}constructor(t,r){super(t.toString()),this.name="AgentError",this.cause={code:t,kind:r},Object.setPrototypeOf(this,e.prototype)}hasCode(t){return this.code instanceof t}toString(){return`${this.name} (${this.kind}): ${this.message}`}},or=class extends nt{static fromCode(t){return new this(t)}},Le=class e extends or{constructor(t){super(t,nr.Trust),this.name="TrustError",Object.setPrototypeOf(this,e.prototype)}},ne=class e extends or{constructor(t){super(t,nr.Protocol),this.name="ProtocolError",Object.setPrototypeOf(this,e.prototype)}},Sr=class e extends or{constructor(t){super(t,nr.Reject),this.name="RejectError",Object.setPrototypeOf(this,e.prototype)}},Oo=class e extends or{constructor(t){super(t,nr.Transport),this.name="TransportError",Object.setPrototypeOf(this,e.prototype)}},ye=class e extends or{constructor(t){super(t,nr.External),this.name="ExternalError",Object.setPrototypeOf(this,e.prototype)}};var Y=class e extends or{constructor(t){super(t,nr.Input),this.name="InputError",Object.setPrototypeOf(this,e.prototype)}},ce=class e extends or{constructor(t){super(t,nr.Unknown),this.name="UnknownError",Object.setPrototypeOf(this,e.prototype)}},gt=class e extends G{constructor(t,r){super(),this.reason=t,this.error=r,this.name="CertificateVerificationErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){let t=this.reason;return this.error&&(t+=`: ${Co(this.error)}`),`Certificate verification error: "${t}"`}},ir=class e extends G{constructor(t,r,n,o,i){super(),this.maxAgeInMinutes=t,this.certificateTime=r,this.currentTime=n,this.timeDiffMsecs=o,this.ageType=i,this.name="CertificateTimeErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`Certificate is signed more than ${this.maxAgeInMinutes} minutes in the ${this.ageType}. Certificate time: ${this.certificateTime.toISOString()} Current time: ${this.currentTime.toISOString()} Clock drift: ${this.timeDiffMsecs}ms`}},Oi=class e extends G{constructor(){super(),this.name="CertificateHasTooManyDelegationsErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return"Certificate has too many delegations"}},Nn=class e extends G{constructor(t,r){super(),this.canisterId=t,this.subnetId=r,this.name="CertificateNotAuthorizedErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`The certificate contains a delegation that does not include the canister ${this.canisterId.toText()} in the canister_ranges field. Subnet ID: ${this.subnetId.toText()}`}},Ei=class e extends G{constructor(t){super(),this.subnetId=t,this.name="CertificateNotAuthorizedForSubnetErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`The certificate is not authorized for subnet ${this.subnetId.toText()}`}},xt=class e extends G{constructor(t,r){super(),this.message=t,this.lookupStatus=r,this.name="LookupErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`${this.message}. Lookup status: ${this.lookupStatus}`}},Ri=class e extends G{constructor(t){super(),this.message=t,this.name="MalformedLookupFoundValueErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return this.message}},Ii=class e extends G{constructor(t){super(),this.message=t,this.name="MissingLookupValueErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return this.message}},Hn=class e extends G{constructor(t,r){super(),this.expectedLength=t,this.actualLength=r,this.name="DerKeyLengthMismatchErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`BLS DER-encoded public key must be ${this.expectedLength} bytes long, but is ${this.actualLength} bytes long`}},vi=class e extends G{constructor(t,r){super(),this.expectedPrefix=t,this.actualPrefix=r,this.name="DerPrefixMismatchErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`BLS DER-encoded public key is invalid. Expected the following prefix: ${j(this.expectedPrefix)}, but got ${j(this.actualPrefix)}`}},Ai=class e extends G{constructor(t,r){super(),this.expectedLength=t,this.actualLength=r,this.name="DerDecodeLengthMismatchErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`DER payload mismatch: Expected length ${this.expectedLength}, actual length: ${this.actualLength}`}},bt=class e extends G{constructor(t){super(),this.error=t,this.name="DerDecodeErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`Failed to decode DER: ${this.error}`}},Eo=class e extends G{constructor(t){super(),this.error=t,this.name="DerEncodeErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`Failed to encode DER: ${this.error}`}},Si=class e extends G{constructor(t,r){super(),this.error=t,this.input=r,this.name="CborDecodeErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`Failed to decode CBOR: ${Co(this.error)}, input: ${j(this.input)}`}},Ci=class e extends G{constructor(t,r){super(),this.error=t,this.value=r,this.name="CborEncodeErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`Failed to encode CBOR: ${Co(this.error)}, input: ${this.value}`}};var On=class e extends G{constructor(t,r,n){super(),this.message=t,this.requestId=r,this.status=n,this.name="TimeoutWaitingForResponseErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){let t=`${this.message}
|
|
13
13
|
`;return this.requestId&&(t+=` Request ID: ${j(this.requestId)}
|
|
14
14
|
`),this.status&&(t+=` Request status: ${this.status}
|
|
15
|
-
`),t}},
|
|
15
|
+
`),t}},Fi=class e extends G{constructor(t,r,n){super(),this.maxIngressExpiryInMinutes=t,this.requestId=r,this.retryTimes=n,this.name="CertificateOutdatedErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){let t=`Certificate is stale (over ${this.maxIngressExpiryInMinutes} minutes). Is the computer's clock synchronized?
|
|
16
16
|
Request ID: ${j(this.requestId)}
|
|
17
|
-
`;return this.retryTimes!==void 0&&(t+=` Retried ${this.retryTimes} times.`),t}}
|
|
17
|
+
`;return this.retryTimes!==void 0&&(t+=` Retried ${this.retryTimes} times.`),t}},$n=class e extends G{constructor(t,r,n,o){super(!0),this.requestId=t,this.rejectCode=r,this.rejectMessage=n,this.rejectErrorCode=o,this.name="CertifiedRejectErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`The replica returned a rejection error:
|
|
18
18
|
Request ID: ${j(this.requestId)}
|
|
19
19
|
Reject code: ${this.rejectCode}
|
|
20
20
|
Reject text: ${this.rejectMessage}
|
|
21
21
|
Error code: ${this.rejectErrorCode}
|
|
22
|
-
`}},
|
|
22
|
+
`}},Pi=class e extends G{constructor(t,r,n,o,i){super(),this.requestId=t,this.rejectCode=r,this.rejectMessage=n,this.rejectErrorCode=o,this.signatures=i,this.name="UncertifiedRejectErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`The replica returned a rejection error:
|
|
23
23
|
Request ID: ${j(this.requestId)}
|
|
24
24
|
Reject code: ${this.rejectCode}
|
|
25
25
|
Reject text: ${this.rejectMessage}
|
|
26
26
|
Error code: ${this.rejectErrorCode}
|
|
27
|
-
`}},
|
|
27
|
+
`}},Vi=class e extends G{constructor(t,r,n,o){super(),this.requestId=t,this.rejectCode=r,this.rejectMessage=n,this.rejectErrorCode=o,this.name="UncertifiedRejectUpdateErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`The replica returned a rejection error:
|
|
28
28
|
Request ID: ${j(this.requestId)}
|
|
29
29
|
Reject code: ${this.rejectCode}
|
|
30
30
|
Reject text: ${this.rejectMessage}
|
|
31
31
|
Error code: ${this.rejectErrorCode}
|
|
32
|
-
`}},
|
|
32
|
+
`}},Bi=class e extends G{constructor(t){super(),this.requestId=t,this.name="RequestStatusDoneNoReplyErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`Call was marked as done but we never saw the reply:
|
|
33
33
|
Request ID: ${j(this.requestId)}
|
|
34
|
-
`}},
|
|
34
|
+
`}},at=class e extends G{constructor(t){super(),this.shouldFetchRootKey=t,this.name="MissingRootKeyErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return this.shouldFetchRootKey===void 0?"Agent is missing root key":`Agent is missing root key and the shouldFetchRootKey value is set to ${this.shouldFetchRootKey}. The root key should only be unknown if you are in local development. Otherwise you should avoid fetching and use the default IC Root Key or the known root key of your environment.`}},Di=class e extends G{constructor(t){super(),this.value=t,this.name="HashValueErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`Attempt to hash a value of unsupported type: ${this.value}`}},Gn=class e extends G{constructor(t){super(),this.error=t,this.name="HttpDefaultFetchErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return this.error}},Cr=class e extends G{constructor(){super(),this.name="IdentityInvalidErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return"This identity has expired due this application's security policy. Please refresh your authentication."}},Ct=class e extends G{constructor(t,r){super(),this.message=t,this.providedIngressExpiryInMinutes=r,this.name="IngressExpiryInvalidErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`${this.message}. Provided ingress expiry time is ${this.providedIngressExpiryInMinutes} minutes.`}},Ui=class e extends G{constructor(){super(),this.name="CreateHttpAgentErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return"Failed to create agent from provided agent"}},ki=class e extends G{constructor(t){super(),this.error=t,this.name="MalformedSignatureErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`Query response contained a malformed signature: ${this.error}`}},Li=class e extends G{constructor(){super(),this.name="MissingSignatureErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return"Query response did not contain any node signatures"}},qi=class e extends G{constructor(){super(),this.name="MalformedPublicKeyErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return"Read state response contained a malformed public key"}},Mi=class e extends G{constructor(t){super(),this.nodeId=t,this.name="QuerySignatureVerificationFailedErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`Query signature verification failed. Node ID: ${this.nodeId}`}},Re=class e extends G{constructor(t){super(),this.error=t,this.name="UnexpectedErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`Unexpected error: ${Co(this.error)}`}},Fr=class e extends G{constructor(t){super(),this.error=t,this.name="HashTreeDecodeErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`Failed to decode certificate: ${this.error}`}},Ro=class e extends G{constructor(t,r,n,o){super(),this.status=t,this.statusText=r,this.headers=n,this.bodyText=o,this.name="HttpErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){let t=`HTTP request failed:
|
|
35
35
|
Status: ${this.status} (${this.statusText})
|
|
36
36
|
Headers: ${JSON.stringify(this.headers)}
|
|
37
37
|
`;return this.bodyText&&(t+=` Body: ${this.bodyText}
|
|
38
|
-
`),t}},Oo=class e extends G{constructor(){super(),this.name="HttpV4ApiNotSupportedErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return"HTTP request failed: v4 API is not supported"}},Eo=class e extends G{constructor(t){super(),this.error=t,this.name="HttpFetchErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`Failed to fetch HTTP request: ${vo(this.error)}`}},Ro=class e extends G{constructor(t){super(),this.receivedCanisterId=t,this.name="MissingCanisterIdErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`Canister ID is required, but received ${typeof this.receivedCanisterId} instead. If you are using automatically generated declarations, this may be because your application is not setting the canister ID in process.env correctly.`}},Li=class e extends G{constructor(t){super(),this.request=t,this.name="InvalidReadStateRequestErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`Invalid read state request: ${this.request}`}},Io=class e extends G{constructor(t){super(),this.error=t,this.name="ExpiryJsonDeserializeErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`Failed to deserialize expiry: ${this.error}`}};function vo(e){if(e instanceof Error)return e.stack??e.message;try{return JSON.stringify(e)}catch{return String(e)}}var it=new Error("unreachable");var On={};Zp(On,{Bool:()=>Rl,BoolClass:()=>Hi,ConstructType:()=>Pt,Empty:()=>Ol,EmptyClass:()=>So,FixedIntClass:()=>rr,FixedNatClass:()=>Vt,Float32:()=>Cl,Float64:()=>Fl,FloatClass:()=>Vo,Func:()=>Wl,FuncClass:()=>Nn,Int:()=>Al,Int16:()=>Pl,Int32:()=>Bl,Int64:()=>Dl,Int8:()=>Vl,IntClass:()=>Co,Nat:()=>Sl,Nat16:()=>kl,Nat32:()=>Ll,Nat64:()=>ql,Nat8:()=>Ul,NatClass:()=>Fo,Null:()=>Il,NullClass:()=>wn,Opt:()=>Hl,OptClass:()=>Ar,PrimitiveType:()=>We,Principal:()=>Ml,PrincipalClass:()=>Ji,Rec:()=>Jl,RecClass:()=>st,Record:()=>$l,RecordClass:()=>Tn,Reserved:()=>El,ReservedClass:()=>Bt,Service:()=>zl,ServiceClass:()=>Gn,Text:()=>vl,TextClass:()=>$i,Tuple:()=>jl,TupleClass:()=>Gi,Type:()=>Kn,Unknown:()=>ff,UnknownClass:()=>Ki,Variant:()=>Gl,VariantClass:()=>$n,Vec:()=>Kl,VecClass:()=>Hn,Visitor:()=>ia,decode:()=>pf,encode:()=>df,resetSubtypeCache:()=>sa,subtype:()=>ca});function Z(...e){let t=new Uint8Array(e.reduce((n,o)=>n+o.byteLength,0)),r=0;for(let n of e)t.set(n,r),r+=n.byteLength;return t}var wt=class{save(){return this._view}restore(t){if(!(t instanceof Uint8Array))throw new Error("Checkpoint must be a Uint8Array");this._view=t}constructor(t,r=t?.byteLength||0){if(t&&!(t instanceof Uint8Array))try{t=Ft(t)}catch{throw new Error("Buffer must be a Uint8Array")}if(r<0||!Number.isInteger(r))throw new Error("Length must be a non-negative integer");if(t&&r>t.byteLength)throw new Error("Length cannot exceed buffer length");this._buffer=t||new Uint8Array(0),this._view=new Uint8Array(this._buffer.buffer,0,r)}get buffer(){return this._view.slice()}get byteLength(){return this._view.byteLength}read(t){let r=this._view.subarray(0,t);return this._view=this._view.subarray(t),r.slice()}readUint8(){if(this._view.byteLength===0)return;let t=this._view[0];return this._view=this._view.subarray(1),t}write(t){if(!(t instanceof Uint8Array))throw new Error("Buffer must be a Uint8Array");let r=this._view.byteLength;this._view.byteOffset+this._view.byteLength+t.byteLength>=this._buffer.byteLength?this.alloc(t.byteLength):this._view=new Uint8Array(this._buffer.buffer,this._view.byteOffset,this._view.byteLength+t.byteLength),this._view.set(t,r)}get end(){return this._view.byteLength===0}alloc(t){if(t<=0||!Number.isInteger(t))throw new Error("Amount must be a positive integer");let r=new Uint8Array((this._buffer.byteLength+t)*1.2|0),n=new Uint8Array(r.buffer,0,this._view.byteLength+t);n.set(this._view),this._buffer=r,this._view=n}};function Ft(e){if(!e)throw new Error("Input cannot be null or undefined");return e instanceof Uint8Array?e:e instanceof ArrayBuffer?new Uint8Array(e):Array.isArray(e)?new Uint8Array(e):"buffer"in e?Ft(e.buffer):new Uint8Array(e)}function jn(e,t){if(e.byteLength!==t.byteLength)return e.byteLength-t.byteLength;for(let r=0;r<e.length;r++)if(e[r]!==t[r])return e[r]-t[r];return 0}function gl(e,t){return jn(e,t)===0}function xl(e){if(!(e instanceof Uint8Array))throw new Error("Input must be a Uint8Array");return new DataView(e.buffer,e.byteOffset,e.byteLength)}function lf(e){let r=new TextEncoder().encode(e),n=0;for(let o of r)n=(n*223+o)%2**32;return n}function Le(e){if(/^_\d+_$/.test(e)||/^_0x[0-9a-fA-F]+_$/.test(e)){let t=+e.slice(1,-1);if(Number.isSafeInteger(t)&&t>=0&&t<2**32)return t}return lf(e)}function ea(e){let t=BigInt(e);if(e<=0)throw new RangeError("Input must be positive");return t.toString(2).length-1}function qi(e){let t=BigInt(e);if(e<0)throw new RangeError("Input must be non-negative");return BigInt(1)<<t}function bl(){throw new Error("unexpected end of buffer")}function vr(e,t){return e.byteLength<t&&bl(),e.read(t)}function Ir(e){let t=e.readUint8();return t===void 0&&bl(),t}function oe(e){if(typeof e=="number"&&(e=BigInt(e)),e<BigInt(0))throw new Error("Cannot leb encode negative values.");let t=(e===BigInt(0)?0:ea(e))+1,r=new wt(new Uint8Array(t),0);for(;;){let n=Number(e&BigInt(127));if(e/=BigInt(128),e===BigInt(0)){r.write(new Uint8Array([n]));break}else r.write(new Uint8Array([n|128]))}return r.buffer}function ge(e){let t=BigInt(1),r=BigInt(0),n;do n=Ir(e),r+=BigInt(n&127).valueOf()*t,t*=BigInt(128);while(n>=128);return r}function xe(e){typeof e=="number"&&(e=BigInt(e));let t=e<BigInt(0);t&&(e=-e-BigInt(1));let r=(e===BigInt(0)?0:ea(e))+1,n=new wt(new Uint8Array(r),0);for(;;){let i=o(e);if(e/=BigInt(128),t&&e===BigInt(0)&&(i&64)!==0||!t&&e===BigInt(0)&&(i&64)===0){n.write(new Uint8Array([i]));break}else n.write(new Uint8Array([i|128]))}function o(i){let s=i%BigInt(128);return Number(t?BigInt(128)-s-BigInt(1):s)}return n.buffer}function er(e){let t=new Uint8Array(e.buffer),r=0;for(;r<t.byteLength;r++)if(t[r]<128){if((t[r]&64)===0)return ge(e);break}let n=new Uint8Array(vr(e,r+1)),o=BigInt(0);for(let i=n.byteLength-1;i>=0;i--)o=o*BigInt(128)+BigInt(128-(n[i]&127)-1);return-o-BigInt(1)}function wl(e,t){if(BigInt(e)<BigInt(0))throw new Error("Cannot write negative values.");return ta(e,t)}function ta(e,t){e=BigInt(e);let r=new wt(new Uint8Array(Math.min(1,t)),0),n=0,o=BigInt(256),i=BigInt(0),s=Number(e%o);for(r.write(new Uint8Array([s]));++n<t;)e<0&&i===BigInt(0)&&s!==0&&(i=BigInt(1)),s=Number((e/o-i)%BigInt(256)),r.write(new Uint8Array([s])),o*=BigInt(256);return r.buffer}function ra(e,t){if(t<=0||!Number.isInteger(t))throw new Error("Byte length must be a positive integer");let r=BigInt(Ir(e)),n=BigInt(1),o=0;for(;++o<t;){n*=BigInt(256);let i=BigInt(Ir(e));r=r+n*i}return r}function Tl(e,t){if(t<=0||!Number.isInteger(t))throw new Error("Byte length must be a positive integer");let r=ra(e,t),n=BigInt(2)**(BigInt(8)*BigInt(t-1)+BigInt(7));return r>=n&&(r-=n*BigInt(2)),r}var Q;(function(e){e[e.Null=-1]="Null",e[e.Bool=-2]="Bool",e[e.Nat=-3]="Nat",e[e.Int=-4]="Int",e[e.Float32=-13]="Float32",e[e.Float64=-14]="Float64",e[e.Text=-15]="Text",e[e.Reserved=-16]="Reserved",e[e.Empty=-17]="Empty",e[e.Opt=-18]="Opt",e[e.Vector=-19]="Vector",e[e.Record=-20]="Record",e[e.Variant=-21]="Variant",e[e.Func=-22]="Func",e[e.Service=-23]="Service",e[e.Principal=-24]="Principal"})(Q||(Q={}));var Mi="DIDL",uf=new TextEncoder().encode(Mi),Nl=400;function Ao(e,t,r){return e.map((n,o)=>r(n,t[o]))}var oa=class{constructor(){this._typs=[],this._idx=new Map,this._idxRefCount=new Map}has(t){return this._idx.has(t.name)}add(t,r){let n=this._typs.length;this._idx.set(t.name,n),this._idxRefCount.set(n,1),this._typs.push(r)}merge(t,r){let n=this._idx.get(t.name),o=this._idx.get(r);if(n===void 0)throw new Error("Missing type index for "+t);if(o===void 0)throw new Error("Missing type index for "+r);this._typs[n]=this._typs[o];let i=this._getIdxRefCount(n),s=this._getIdxRefCount(o);this._idxRefCount.set(n,i+s),this._idx.set(r,n),this._idxRefCount.set(o,0),this._compactFromEnd()}_getIdxRefCount(t){return this._idxRefCount.get(t)||0}_compactFromEnd(){for(;this._typs.length>0;){let t=this._typs.length-1;if(this._getIdxRefCount(t)>0)break;this._typs.pop(),this._idxRefCount.delete(t)}}encode(){let t=oe(this._typs.length),r=Z(...this._typs);return Z(t,r)}indexOf(t){if(!this._idx.has(t))throw new Error("Missing type index for "+t);return xe(this._idx.get(t)||0)}},ia=class{visitType(t,r){throw new Error("Not implemented")}visitPrimitive(t,r){return this.visitType(t,r)}visitEmpty(t,r){return this.visitPrimitive(t,r)}visitBool(t,r){return this.visitPrimitive(t,r)}visitNull(t,r){return this.visitPrimitive(t,r)}visitReserved(t,r){return this.visitPrimitive(t,r)}visitText(t,r){return this.visitPrimitive(t,r)}visitNumber(t,r){return this.visitPrimitive(t,r)}visitInt(t,r){return this.visitNumber(t,r)}visitNat(t,r){return this.visitNumber(t,r)}visitFloat(t,r){return this.visitPrimitive(t,r)}visitFixedInt(t,r){return this.visitNumber(t,r)}visitFixedNat(t,r){return this.visitNumber(t,r)}visitPrincipal(t,r){return this.visitPrimitive(t,r)}visitConstruct(t,r){return this.visitType(t,r)}visitVec(t,r,n){return this.visitConstruct(t,n)}visitOpt(t,r,n){return this.visitConstruct(t,n)}visitRecord(t,r,n){return this.visitConstruct(t,n)}visitTuple(t,r,n){let o=r.map((i,s)=>[`_${s}_`,i]);return this.visitRecord(t,o,n)}visitVariant(t,r,n){return this.visitConstruct(t,n)}visitRec(t,r,n){return this.visitConstruct(r,n)}visitFunc(t,r){return this.visitConstruct(t,r)}visitService(t,r){return this.visitConstruct(t,r)}},H;(function(e){e.EmptyClass="__IDL_EmptyClass__",e.UnknownClass="__IDL_UnknownClass__",e.BoolClass="__IDL_BoolClass__",e.NullClass="__IDL_NullClass__",e.ReservedClass="__IDL_ReservedClass__",e.TextClass="__IDL_TextClass__",e.IntClass="__IDL_IntClass__",e.NatClass="__IDL_NatClass__",e.FloatClass="__IDL_FloatClass__",e.FixedIntClass="__IDL_FixedIntClass__",e.FixedNatClass="__IDL_FixedNatClass__",e.VecClass="__IDL_VecClass__",e.OptClass="__IDL_OptClass__",e.RecordClass="__IDL_RecordClass__",e.TupleClass="__IDL_TupleClass__",e.VariantClass="__IDL_VariantClass__",e.RecClass="__IDL_RecClass__",e.PrincipalClass="__IDL_PrincipalClass__",e.FuncClass="__IDL_FuncClass__",e.ServiceClass="__IDL_ServiceClass__"})(H||(H={}));var Kn=class{display(){return this.name}valueToString(t){return _e(t)}buildTypeTable(t){t.has(this)||this._buildTypeTableImpl(t)}},We=class extends Kn{checkType(t){if(this.name!==t.name)throw new Error(`type mismatch: type on the wire ${t.name}, expect type ${this.name}`);return t}_buildTypeTableImpl(t){}},Pt=class extends Kn{checkType(t){if(t instanceof st){let r=t.getType();if(typeof r>"u")throw new Error("type mismatch with uninitialized type");return r}throw new Error(`type mismatch: type on the wire ${t.name}, expect type ${this.name}`)}encodeType(t){return t.indexOf(this.name)}},So=class extends We{get typeName(){return H.EmptyClass}static[Symbol.hasInstance](t){return t.typeName===H.EmptyClass}accept(t,r){return t.visitEmpty(this,r)}covariant(t){throw new Error(`Invalid ${this.display()} argument: ${_e(t)}`)}encodeValue(){throw new Error("Empty cannot appear as a function argument")}valueToString(){throw new Error("Empty cannot appear as a value")}encodeType(){return xe(Q.Empty)}decodeValue(){throw new Error("Empty cannot appear as an output")}get name(){return"empty"}},Ki=class extends Kn{get typeName(){return H.UnknownClass}static[Symbol.hasInstance](t){return t.typeName===H.UnknownClass}checkType(t){throw new Error("Method not implemented for unknown.")}accept(t,r){throw t.visitType(this,r)}covariant(t){throw new Error(`Invalid ${this.display()} argument: ${_e(t)}`)}encodeValue(){throw new Error("Unknown cannot appear as a function argument")}valueToString(){throw new Error("Unknown cannot appear as a value")}encodeType(){throw new Error("Unknown cannot be serialized")}decodeValue(t,r){let n=r.decodeValue(t,r);Object(n)!==n&&(n=Object(n));let o;return r instanceof st?o=()=>r.getType():o=()=>r,Object.defineProperty(n,"type",{value:o,writable:!0,enumerable:!1,configurable:!0}),n}_buildTypeTableImpl(){throw new Error("Unknown cannot be serialized")}get name(){return"Unknown"}},Hi=class extends We{get typeName(){return H.BoolClass}static[Symbol.hasInstance](t){return t.typeName===H.BoolClass}accept(t,r){return t.visitBool(this,r)}covariant(t){if(typeof t=="boolean")return!0;throw new Error(`Invalid ${this.display()} argument: ${_e(t)}`)}encodeValue(t){return new Uint8Array([t?1:0])}encodeType(){return xe(Q.Bool)}decodeValue(t,r){switch(this.checkType(r),Ir(t)){case 0:return!1;case 1:return!0;default:throw new Error("Boolean value out of range")}}get name(){return"bool"}},wn=class extends We{get typeName(){return H.NullClass}static[Symbol.hasInstance](t){return t.typeName===H.NullClass}accept(t,r){return t.visitNull(this,r)}covariant(t){if(t===null)return!0;throw new Error(`Invalid ${this.display()} argument: ${_e(t)}`)}encodeValue(){return new Uint8Array(0)}encodeType(){return xe(Q.Null)}decodeValue(t,r){return this.checkType(r),null}get name(){return"null"}},Bt=class extends We{get typeName(){return H.ReservedClass}static[Symbol.hasInstance](t){return t.typeName===H.ReservedClass}accept(t,r){return t.visitReserved(this,r)}covariant(t){return!0}encodeValue(){return new Uint8Array(0)}encodeType(){return xe(Q.Reserved)}decodeValue(t,r){return r.name!==this.name&&r.decodeValue(t,r),null}get name(){return"reserved"}},$i=class extends We{get typeName(){return H.TextClass}static[Symbol.hasInstance](t){return t.typeName===H.TextClass}accept(t,r){return t.visitText(this,r)}covariant(t){if(typeof t=="string")return!0;throw new Error(`Invalid ${this.display()} argument: ${_e(t)}`)}encodeValue(t){let r=new TextEncoder().encode(t),n=oe(r.byteLength);return Z(n,r)}encodeType(){return xe(Q.Text)}decodeValue(t,r){this.checkType(r);let n=ge(t),o=vr(t,Number(n));return new TextDecoder("utf8",{fatal:!0}).decode(o)}get name(){return"text"}valueToString(t){return'"'+t+'"'}},Co=class extends We{get typeName(){return H.IntClass}static[Symbol.hasInstance](t){return t.typeName===H.IntClass}accept(t,r){return t.visitInt(this,r)}covariant(t){if(typeof t=="bigint"||Number.isInteger(t))return!0;throw new Error(`Invalid ${this.display()} argument: ${_e(t)}`)}encodeValue(t){return xe(t)}encodeType(){return xe(Q.Int)}decodeValue(t,r){return this.checkType(r),er(t)}get name(){return"int"}valueToString(t){return t.toString()}},Fo=class extends We{get typeName(){return H.NatClass}static[Symbol.hasInstance](t){return t.typeName===H.NatClass}accept(t,r){return t.visitNat(this,r)}covariant(t){if(typeof t=="bigint"&&t>=BigInt(0)||Number.isInteger(t)&&t>=0)return!0;throw new Error(`Invalid ${this.display()} argument: ${_e(t)}`)}encodeValue(t){return oe(t)}encodeType(){return xe(Q.Nat)}decodeValue(t,r){return this.checkType(r),ge(t)}get name(){return"nat"}valueToString(t){return t.toString()}},Vo=class extends We{get typeName(){return H.FloatClass}static[Symbol.hasInstance](t){return t.typeName===H.FloatClass}constructor(t){if(super(),this._bits=t,t!==32&&t!==64)throw new Error("not a valid float type")}accept(t,r){return t.visitFloat(this,r)}covariant(t){if(typeof t=="number"||t instanceof Number)return!0;throw new Error(`Invalid ${this.display()} argument: ${_e(t)}`)}encodeValue(t){let r=new ArrayBuffer(this._bits/8),n=new DataView(r);return this._bits===32?n.setFloat32(0,t,!0):n.setFloat64(0,t,!0),new Uint8Array(r)}encodeType(){let t=this._bits===32?Q.Float32:Q.Float64;return xe(t)}decodeValue(t,r){this.checkType(r);let n=vr(t,this._bits/8),o=xl(n);return this._bits===32?o.getFloat32(0,!0):o.getFloat64(0,!0)}get name(){return"float"+this._bits}valueToString(t){return t.toString()}},rr=class extends We{get typeName(){return H.FixedIntClass}static[Symbol.hasInstance](t){return t.typeName===H.FixedIntClass}constructor(t){super(),this._bits=t}accept(t,r){return t.visitFixedInt(this,r)}covariant(t){let r=qi(this._bits-1)*BigInt(-1),n=qi(this._bits-1)-BigInt(1),o=!1;if(typeof t=="bigint")o=t>=r&&t<=n;else if(Number.isInteger(t)){let i=BigInt(t);o=i>=r&&i<=n}else o=!1;if(o)return!0;throw new Error(`Invalid ${this.display()} argument: ${_e(t)}`)}encodeValue(t){return ta(t,this._bits/8)}encodeType(){let t=Math.log2(this._bits)-3;return xe(-9-t)}decodeValue(t,r){this.checkType(r);let n=Tl(t,this._bits/8);return this._bits<=32?Number(n):n}get name(){return`int${this._bits}`}valueToString(t){return t.toString()}},Vt=class extends We{get typeName(){return H.FixedNatClass}static[Symbol.hasInstance](t){return t.typeName===H.FixedNatClass}constructor(t){super(),this._bits=t}accept(t,r){return t.visitFixedNat(this,r)}covariant(t){let r=qi(this._bits),n=!1;if(typeof t=="bigint"&&t>=BigInt(0)?n=t<r:Number.isInteger(t)&&t>=0?n=BigInt(t)<r:n=!1,n)return!0;throw new Error(`Invalid ${this.display()} argument: ${_e(t)}`)}encodeValue(t){return wl(t,this._bits/8)}encodeType(){let t=Math.log2(this._bits)-3;return xe(-5-t)}decodeValue(t,r){this.checkType(r);let n=ra(t,this._bits/8);return this._bits<=32?Number(n):n}get name(){return`nat${this._bits}`}valueToString(t){return t.toString()}},Hn=class e extends Pt{get typeName(){return H.VecClass}static[Symbol.hasInstance](t){return t.typeName===H.VecClass}constructor(t){super(),this._type=t,this._blobOptimization=!1,t instanceof Vt&&t._bits===8&&(this._blobOptimization=!0)}accept(t,r){return t.visitVec(this,this._type,r)}covariant(t){let r=this._type instanceof Vt?this._type._bits:this._type instanceof rr?this._type._bits:0;if(ArrayBuffer.isView(t)&&r==t.BYTES_PER_ELEMENT*8||Array.isArray(t)&&t.every((n,o)=>{try{return this._type.covariant(n)}catch(i){throw new Error(`Invalid ${this.display()} argument:
|
|
38
|
+
`),t}},Io=class e extends G{constructor(){super(),this.name="HttpV4ApiNotSupportedErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return"HTTP request failed: v4 API is not supported"}},vo=class e extends G{constructor(t){super(),this.error=t,this.name="HttpFetchErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`Failed to fetch HTTP request: ${Co(this.error)}`}},Ao=class e extends G{constructor(t){super(),this.receivedCanisterId=t,this.name="MissingCanisterIdErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`Canister ID is required, but received ${typeof this.receivedCanisterId} instead. If you are using automatically generated declarations, this may be because your application is not setting the canister ID in process.env correctly.`}},ji=class e extends G{constructor(t){super(),this.request=t,this.name="InvalidReadStateRequestErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`Invalid read state request: ${this.request}`}},So=class e extends G{constructor(t){super(),this.error=t,this.name="ExpiryJsonDeserializeErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`Failed to deserialize expiry: ${this.error}`}};function Co(e){if(e instanceof Error)return e.stack??e.message;try{return JSON.stringify(e)}catch{return String(e)}}var ct=new Error("unreachable");var vn={};ff(vn,{Bool:()=>Ll,BoolClass:()=>Ji,ConstructType:()=>Vt,Empty:()=>Ul,EmptyClass:()=>Po,FixedIntClass:()=>cr,FixedNatClass:()=>Pt,Float32:()=>Hl,Float64:()=>$l,FloatClass:()=>Do,Func:()=>au,FuncClass:()=>In,Int:()=>jl,Int16:()=>Jl,Int32:()=>Wl,Int64:()=>zl,Int8:()=>Gl,IntClass:()=>Vo,Nat:()=>Kl,Nat16:()=>Zl,Nat32:()=>Xl,Nat64:()=>Ql,Nat8:()=>Yl,NatClass:()=>Bo,Null:()=>ql,NullClass:()=>En,Opt:()=>nu,OptClass:()=>Br,PrimitiveType:()=>ze,Principal:()=>eu,PrincipalClass:()=>Yi,Rec:()=>su,RecClass:()=>lt,Record:()=>ou,RecordClass:()=>Rn,Reserved:()=>kl,ReservedClass:()=>Bt,Service:()=>cu,ServiceClass:()=>Zn,Text:()=>Ml,TextClass:()=>Wi,Tuple:()=>tu,TupleClass:()=>zi,Type:()=>Wn,Unknown:()=>vf,UnknownClass:()=>Gi,Variant:()=>iu,VariantClass:()=>Yn,Vec:()=>ru,VecClass:()=>zn,Visitor:()=>xa,decode:()=>If,encode:()=>Rf,resetSubtypeCache:()=>ba,subtype:()=>Ta});function Z(...e){let t=new Uint8Array(e.reduce((n,o)=>n+o.byteLength,0)),r=0;for(let n of e)t.set(n,r),r+=n.byteLength;return t}var wt=class{save(){return this._view}restore(t){if(!(t instanceof Uint8Array))throw new Error("Checkpoint must be a Uint8Array");this._view=t}constructor(t,r=t?.byteLength||0){if(t&&!(t instanceof Uint8Array))try{t=Ft(t)}catch{throw new Error("Buffer must be a Uint8Array")}if(r<0||!Number.isInteger(r))throw new Error("Length must be a non-negative integer");if(t&&r>t.byteLength)throw new Error("Length cannot exceed buffer length");this._buffer=t||new Uint8Array(0),this._view=new Uint8Array(this._buffer.buffer,0,r)}get buffer(){return this._view.slice()}get byteLength(){return this._view.byteLength}read(t){let r=this._view.subarray(0,t);return this._view=this._view.subarray(t),r.slice()}readUint8(){if(this._view.byteLength===0)return;let t=this._view[0];return this._view=this._view.subarray(1),t}write(t){if(!(t instanceof Uint8Array))throw new Error("Buffer must be a Uint8Array");let r=this._view.byteLength;this._view.byteOffset+this._view.byteLength+t.byteLength>=this._buffer.byteLength?this.alloc(t.byteLength):this._view=new Uint8Array(this._buffer.buffer,this._view.byteOffset,this._view.byteLength+t.byteLength),this._view.set(t,r)}get end(){return this._view.byteLength===0}alloc(t){if(t<=0||!Number.isInteger(t))throw new Error("Amount must be a positive integer");let r=new Uint8Array((this._buffer.byteLength+t)*1.2|0),n=new Uint8Array(r.buffer,0,this._view.byteLength+t);n.set(this._view),this._buffer=r,this._view=n}};function Ft(e){if(!e)throw new Error("Input cannot be null or undefined");return e instanceof Uint8Array?e:e instanceof ArrayBuffer?new Uint8Array(e):Array.isArray(e)?new Uint8Array(e):"buffer"in e?Ft(e.buffer):new Uint8Array(e)}function Jn(e,t){if(e.byteLength!==t.byteLength)return e.byteLength-t.byteLength;for(let r=0;r<e.length;r++)if(e[r]!==t[r])return e[r]-t[r];return 0}function Cl(e,t){return Jn(e,t)===0}function Fl(e){if(!(e instanceof Uint8Array))throw new Error("Input must be a Uint8Array");return new DataView(e.buffer,e.byteOffset,e.byteLength)}function Of(e){let r=new TextEncoder().encode(e),n=0;for(let o of r)n=(n*223+o)%2**32;return n}function qe(e){if(/^_\d+_$/.test(e)||/^_0x[0-9a-fA-F]+_$/.test(e)){let t=+e.slice(1,-1);if(Number.isSafeInteger(t)&&t>=0&&t<2**32)return t}return Of(e)}function ha(e){let t=BigInt(e);if(e<=0)throw new RangeError("Input must be positive");return t.toString(2).length-1}function Ki(e){let t=BigInt(e);if(e<0)throw new RangeError("Input must be non-negative");return BigInt(1)<<t}function Pl(){throw new Error("unexpected end of buffer")}function Vr(e,t){return e.byteLength<t&&Pl(),e.read(t)}function Pr(e){let t=e.readUint8();return t===void 0&&Pl(),t}function ie(e){if(typeof e=="number"&&(e=BigInt(e)),e<BigInt(0))throw new Error("Cannot leb encode negative values.");let t=(e===BigInt(0)?0:ha(e))+1,r=new wt(new Uint8Array(t),0);for(;;){let n=Number(e&BigInt(127));if(e/=BigInt(128),e===BigInt(0)){r.write(new Uint8Array([n]));break}else r.write(new Uint8Array([n|128]))}return r.buffer}function ge(e){let t=BigInt(1),r=BigInt(0),n;do n=Pr(e),r+=BigInt(n&127).valueOf()*t,t*=BigInt(128);while(n>=128);return r}function xe(e){typeof e=="number"&&(e=BigInt(e));let t=e<BigInt(0);t&&(e=-e-BigInt(1));let r=(e===BigInt(0)?0:ha(e))+1,n=new wt(new Uint8Array(r),0);for(;;){let i=o(e);if(e/=BigInt(128),t&&e===BigInt(0)&&(i&64)!==0||!t&&e===BigInt(0)&&(i&64)===0){n.write(new Uint8Array([i]));break}else n.write(new Uint8Array([i|128]))}function o(i){let s=i%BigInt(128);return Number(t?BigInt(128)-s-BigInt(1):s)}return n.buffer}function sr(e){let t=new Uint8Array(e.buffer),r=0;for(;r<t.byteLength;r++)if(t[r]<128){if((t[r]&64)===0)return ge(e);break}let n=new Uint8Array(Vr(e,r+1)),o=BigInt(0);for(let i=n.byteLength-1;i>=0;i--)o=o*BigInt(128)+BigInt(128-(n[i]&127)-1);return-o-BigInt(1)}function Vl(e,t){if(BigInt(e)<BigInt(0))throw new Error("Cannot write negative values.");return ma(e,t)}function ma(e,t){e=BigInt(e);let r=new wt(new Uint8Array(Math.min(1,t)),0),n=0,o=BigInt(256),i=BigInt(0),s=Number(e%o);for(r.write(new Uint8Array([s]));++n<t;)e<0&&i===BigInt(0)&&s!==0&&(i=BigInt(1)),s=Number((e/o-i)%BigInt(256)),r.write(new Uint8Array([s])),o*=BigInt(256);return r.buffer}function _a(e,t){if(t<=0||!Number.isInteger(t))throw new Error("Byte length must be a positive integer");let r=BigInt(Pr(e)),n=BigInt(1),o=0;for(;++o<t;){n*=BigInt(256);let i=BigInt(Pr(e));r=r+n*i}return r}function Bl(e,t){if(t<=0||!Number.isInteger(t))throw new Error("Byte length must be a positive integer");let r=_a(e,t),n=BigInt(2)**(BigInt(8)*BigInt(t-1)+BigInt(7));return r>=n&&(r-=n*BigInt(2)),r}var Q;(function(e){e[e.Null=-1]="Null",e[e.Bool=-2]="Bool",e[e.Nat=-3]="Nat",e[e.Int=-4]="Int",e[e.Float32=-13]="Float32",e[e.Float64=-14]="Float64",e[e.Text=-15]="Text",e[e.Reserved=-16]="Reserved",e[e.Empty=-17]="Empty",e[e.Opt=-18]="Opt",e[e.Vector=-19]="Vector",e[e.Record=-20]="Record",e[e.Variant=-21]="Variant",e[e.Func=-22]="Func",e[e.Service=-23]="Service",e[e.Principal=-24]="Principal"})(Q||(Q={}));var Hi="DIDL",Ef=new TextEncoder().encode(Hi),Dl=400;function Fo(e,t,r){return e.map((n,o)=>r(n,t[o]))}var ga=class{constructor(){this._typs=[],this._idx=new Map,this._idxRefCount=new Map}has(t){return this._idx.has(t.name)}add(t,r){let n=this._typs.length;this._idx.set(t.name,n),this._idxRefCount.set(n,1),this._typs.push(r)}merge(t,r){let n=this._idx.get(t.name),o=this._idx.get(r);if(n===void 0)throw new Error("Missing type index for "+t);if(o===void 0)throw new Error("Missing type index for "+r);this._typs[n]=this._typs[o];let i=this._getIdxRefCount(n),s=this._getIdxRefCount(o);this._idxRefCount.set(n,i+s),this._idx.set(r,n),this._idxRefCount.set(o,0),this._compactFromEnd()}_getIdxRefCount(t){return this._idxRefCount.get(t)||0}_compactFromEnd(){for(;this._typs.length>0;){let t=this._typs.length-1;if(this._getIdxRefCount(t)>0)break;this._typs.pop(),this._idxRefCount.delete(t)}}encode(){let t=ie(this._typs.length),r=Z(...this._typs);return Z(t,r)}indexOf(t){if(!this._idx.has(t))throw new Error("Missing type index for "+t);return xe(this._idx.get(t)||0)}},xa=class{visitType(t,r){throw new Error("Not implemented")}visitPrimitive(t,r){return this.visitType(t,r)}visitEmpty(t,r){return this.visitPrimitive(t,r)}visitBool(t,r){return this.visitPrimitive(t,r)}visitNull(t,r){return this.visitPrimitive(t,r)}visitReserved(t,r){return this.visitPrimitive(t,r)}visitText(t,r){return this.visitPrimitive(t,r)}visitNumber(t,r){return this.visitPrimitive(t,r)}visitInt(t,r){return this.visitNumber(t,r)}visitNat(t,r){return this.visitNumber(t,r)}visitFloat(t,r){return this.visitPrimitive(t,r)}visitFixedInt(t,r){return this.visitNumber(t,r)}visitFixedNat(t,r){return this.visitNumber(t,r)}visitPrincipal(t,r){return this.visitPrimitive(t,r)}visitConstruct(t,r){return this.visitType(t,r)}visitVec(t,r,n){return this.visitConstruct(t,n)}visitOpt(t,r,n){return this.visitConstruct(t,n)}visitRecord(t,r,n){return this.visitConstruct(t,n)}visitTuple(t,r,n){let o=r.map((i,s)=>[`_${s}_`,i]);return this.visitRecord(t,o,n)}visitVariant(t,r,n){return this.visitConstruct(t,n)}visitRec(t,r,n){return this.visitConstruct(r,n)}visitFunc(t,r){return this.visitConstruct(t,r)}visitService(t,r){return this.visitConstruct(t,r)}},H;(function(e){e.EmptyClass="__IDL_EmptyClass__",e.UnknownClass="__IDL_UnknownClass__",e.BoolClass="__IDL_BoolClass__",e.NullClass="__IDL_NullClass__",e.ReservedClass="__IDL_ReservedClass__",e.TextClass="__IDL_TextClass__",e.IntClass="__IDL_IntClass__",e.NatClass="__IDL_NatClass__",e.FloatClass="__IDL_FloatClass__",e.FixedIntClass="__IDL_FixedIntClass__",e.FixedNatClass="__IDL_FixedNatClass__",e.VecClass="__IDL_VecClass__",e.OptClass="__IDL_OptClass__",e.RecordClass="__IDL_RecordClass__",e.TupleClass="__IDL_TupleClass__",e.VariantClass="__IDL_VariantClass__",e.RecClass="__IDL_RecClass__",e.PrincipalClass="__IDL_PrincipalClass__",e.FuncClass="__IDL_FuncClass__",e.ServiceClass="__IDL_ServiceClass__"})(H||(H={}));var Wn=class{display(){return this.name}valueToString(t){return _e(t)}buildTypeTable(t){t.has(this)||this._buildTypeTableImpl(t)}},ze=class extends Wn{checkType(t){if(this.name!==t.name)throw new Error(`type mismatch: type on the wire ${t.name}, expect type ${this.name}`);return t}_buildTypeTableImpl(t){}},Vt=class extends Wn{checkType(t){if(t instanceof lt){let r=t.getType();if(typeof r>"u")throw new Error("type mismatch with uninitialized type");return r}throw new Error(`type mismatch: type on the wire ${t.name}, expect type ${this.name}`)}encodeType(t){return t.indexOf(this.name)}},Po=class extends ze{get typeName(){return H.EmptyClass}static[Symbol.hasInstance](t){return t.typeName===H.EmptyClass}accept(t,r){return t.visitEmpty(this,r)}covariant(t){throw new Error(`Invalid ${this.display()} argument: ${_e(t)}`)}encodeValue(){throw new Error("Empty cannot appear as a function argument")}valueToString(){throw new Error("Empty cannot appear as a value")}encodeType(){return xe(Q.Empty)}decodeValue(){throw new Error("Empty cannot appear as an output")}get name(){return"empty"}},Gi=class extends Wn{get typeName(){return H.UnknownClass}static[Symbol.hasInstance](t){return t.typeName===H.UnknownClass}checkType(t){throw new Error("Method not implemented for unknown.")}accept(t,r){throw t.visitType(this,r)}covariant(t){throw new Error(`Invalid ${this.display()} argument: ${_e(t)}`)}encodeValue(){throw new Error("Unknown cannot appear as a function argument")}valueToString(){throw new Error("Unknown cannot appear as a value")}encodeType(){throw new Error("Unknown cannot be serialized")}decodeValue(t,r){let n=r.decodeValue(t,r);Object(n)!==n&&(n=Object(n));let o;return r instanceof lt?o=()=>r.getType():o=()=>r,Object.defineProperty(n,"type",{value:o,writable:!0,enumerable:!1,configurable:!0}),n}_buildTypeTableImpl(){throw new Error("Unknown cannot be serialized")}get name(){return"Unknown"}},Ji=class extends ze{get typeName(){return H.BoolClass}static[Symbol.hasInstance](t){return t.typeName===H.BoolClass}accept(t,r){return t.visitBool(this,r)}covariant(t){if(typeof t=="boolean")return!0;throw new Error(`Invalid ${this.display()} argument: ${_e(t)}`)}encodeValue(t){return new Uint8Array([t?1:0])}encodeType(){return xe(Q.Bool)}decodeValue(t,r){switch(this.checkType(r),Pr(t)){case 0:return!1;case 1:return!0;default:throw new Error("Boolean value out of range")}}get name(){return"bool"}},En=class extends ze{get typeName(){return H.NullClass}static[Symbol.hasInstance](t){return t.typeName===H.NullClass}accept(t,r){return t.visitNull(this,r)}covariant(t){if(t===null)return!0;throw new Error(`Invalid ${this.display()} argument: ${_e(t)}`)}encodeValue(){return new Uint8Array(0)}encodeType(){return xe(Q.Null)}decodeValue(t,r){return this.checkType(r),null}get name(){return"null"}},Bt=class extends ze{get typeName(){return H.ReservedClass}static[Symbol.hasInstance](t){return t.typeName===H.ReservedClass}accept(t,r){return t.visitReserved(this,r)}covariant(t){return!0}encodeValue(){return new Uint8Array(0)}encodeType(){return xe(Q.Reserved)}decodeValue(t,r){return r.name!==this.name&&r.decodeValue(t,r),null}get name(){return"reserved"}},Wi=class extends ze{get typeName(){return H.TextClass}static[Symbol.hasInstance](t){return t.typeName===H.TextClass}accept(t,r){return t.visitText(this,r)}covariant(t){if(typeof t=="string")return!0;throw new Error(`Invalid ${this.display()} argument: ${_e(t)}`)}encodeValue(t){let r=new TextEncoder().encode(t),n=ie(r.byteLength);return Z(n,r)}encodeType(){return xe(Q.Text)}decodeValue(t,r){this.checkType(r);let n=ge(t),o=Vr(t,Number(n));return new TextDecoder("utf8",{fatal:!0}).decode(o)}get name(){return"text"}valueToString(t){return'"'+t+'"'}},Vo=class extends ze{get typeName(){return H.IntClass}static[Symbol.hasInstance](t){return t.typeName===H.IntClass}accept(t,r){return t.visitInt(this,r)}covariant(t){if(typeof t=="bigint"||Number.isInteger(t))return!0;throw new Error(`Invalid ${this.display()} argument: ${_e(t)}`)}encodeValue(t){return xe(t)}encodeType(){return xe(Q.Int)}decodeValue(t,r){return this.checkType(r),sr(t)}get name(){return"int"}valueToString(t){return t.toString()}},Bo=class extends ze{get typeName(){return H.NatClass}static[Symbol.hasInstance](t){return t.typeName===H.NatClass}accept(t,r){return t.visitNat(this,r)}covariant(t){if(typeof t=="bigint"&&t>=BigInt(0)||Number.isInteger(t)&&t>=0)return!0;throw new Error(`Invalid ${this.display()} argument: ${_e(t)}`)}encodeValue(t){return ie(t)}encodeType(){return xe(Q.Nat)}decodeValue(t,r){return this.checkType(r),ge(t)}get name(){return"nat"}valueToString(t){return t.toString()}},Do=class extends ze{get typeName(){return H.FloatClass}static[Symbol.hasInstance](t){return t.typeName===H.FloatClass}constructor(t){if(super(),this._bits=t,t!==32&&t!==64)throw new Error("not a valid float type")}accept(t,r){return t.visitFloat(this,r)}covariant(t){if(typeof t=="number"||t instanceof Number)return!0;throw new Error(`Invalid ${this.display()} argument: ${_e(t)}`)}encodeValue(t){let r=new ArrayBuffer(this._bits/8),n=new DataView(r);return this._bits===32?n.setFloat32(0,t,!0):n.setFloat64(0,t,!0),new Uint8Array(r)}encodeType(){let t=this._bits===32?Q.Float32:Q.Float64;return xe(t)}decodeValue(t,r){this.checkType(r);let n=Vr(t,this._bits/8),o=Fl(n);return this._bits===32?o.getFloat32(0,!0):o.getFloat64(0,!0)}get name(){return"float"+this._bits}valueToString(t){return t.toString()}},cr=class extends ze{get typeName(){return H.FixedIntClass}static[Symbol.hasInstance](t){return t.typeName===H.FixedIntClass}constructor(t){super(),this._bits=t}accept(t,r){return t.visitFixedInt(this,r)}covariant(t){let r=Ki(this._bits-1)*BigInt(-1),n=Ki(this._bits-1)-BigInt(1),o=!1;if(typeof t=="bigint")o=t>=r&&t<=n;else if(Number.isInteger(t)){let i=BigInt(t);o=i>=r&&i<=n}else o=!1;if(o)return!0;throw new Error(`Invalid ${this.display()} argument: ${_e(t)}`)}encodeValue(t){return ma(t,this._bits/8)}encodeType(){let t=Math.log2(this._bits)-3;return xe(-9-t)}decodeValue(t,r){this.checkType(r);let n=Bl(t,this._bits/8);return this._bits<=32?Number(n):n}get name(){return`int${this._bits}`}valueToString(t){return t.toString()}},Pt=class extends ze{get typeName(){return H.FixedNatClass}static[Symbol.hasInstance](t){return t.typeName===H.FixedNatClass}constructor(t){super(),this._bits=t}accept(t,r){return t.visitFixedNat(this,r)}covariant(t){let r=Ki(this._bits),n=!1;if(typeof t=="bigint"&&t>=BigInt(0)?n=t<r:Number.isInteger(t)&&t>=0?n=BigInt(t)<r:n=!1,n)return!0;throw new Error(`Invalid ${this.display()} argument: ${_e(t)}`)}encodeValue(t){return Vl(t,this._bits/8)}encodeType(){let t=Math.log2(this._bits)-3;return xe(-5-t)}decodeValue(t,r){this.checkType(r);let n=_a(t,this._bits/8);return this._bits<=32?Number(n):n}get name(){return`nat${this._bits}`}valueToString(t){return t.toString()}},zn=class e extends Vt{get typeName(){return H.VecClass}static[Symbol.hasInstance](t){return t.typeName===H.VecClass}constructor(t){super(),this._type=t,this._blobOptimization=!1,t instanceof Pt&&t._bits===8&&(this._blobOptimization=!0)}accept(t,r){return t.visitVec(this,this._type,r)}covariant(t){let r=this._type instanceof Pt?this._type._bits:this._type instanceof cr?this._type._bits:0;if(ArrayBuffer.isView(t)&&r==t.BYTES_PER_ELEMENT*8||Array.isArray(t)&&t.every((n,o)=>{try{return this._type.covariant(n)}catch(i){throw new Error(`Invalid ${this.display()} argument:
|
|
39
39
|
|
|
40
|
-
index ${o} -> ${i.message}`)}}))return!0;throw new Error(`Invalid ${this.display()} argument: ${_e(t)}`)}encodeValue(t){let r=
|
|
40
|
+
index ${o} -> ${i.message}`)}}))return!0;throw new Error(`Invalid ${this.display()} argument: ${_e(t)}`)}encodeValue(t){let r=ie(t.length);if(this._blobOptimization)return Z(r,new Uint8Array(t));if(ArrayBuffer.isView(t))if(t instanceof Int16Array||t instanceof Uint16Array){let o=new DataView(new ArrayBuffer(t.length*2));for(let i=0;i<t.length;i++)t instanceof Int16Array?o.setInt16(i*2,t[i],!0):o.setUint16(i*2,t[i],!0);return Z(r,new Uint8Array(o.buffer))}else if(t instanceof Int32Array||t instanceof Uint32Array){let o=new DataView(new ArrayBuffer(t.length*4));for(let i=0;i<t.length;i++)t instanceof Int32Array?o.setInt32(i*4,t[i],!0):o.setUint32(i*4,t[i],!0);return Z(r,new Uint8Array(o.buffer))}else if(t instanceof BigInt64Array||t instanceof BigUint64Array){let o=new DataView(new ArrayBuffer(t.length*8));for(let i=0;i<t.length;i++)t instanceof BigInt64Array?o.setBigInt64(i*8,t[i],!0):o.setBigUint64(i*8,t[i],!0);return Z(r,new Uint8Array(o.buffer))}else return Z(r,new Uint8Array(t.buffer,t.byteOffset,t.byteLength));let n=new wt(new Uint8Array(r.byteLength+t.length),0);n.write(r);for(let o of t){let i=this._type.encodeValue(o);n.write(new Uint8Array(i))}return n.buffer}_buildTypeTableImpl(t){this._type.buildTypeTable(t);let r=xe(Q.Vector),n=this._type.encodeType(t);t.add(this,Z(r,n))}decodeValue(t,r){let n=this.checkType(r);if(!(n instanceof e))throw new Error("Not a vector type");let o=Number(ge(t));if(this._type instanceof Pt){if(this._type._bits==8)return new Uint8Array(t.read(o));if(this._type._bits==16){let s=t.read(o*2);return new Uint16Array(s.buffer,s.byteOffset,o)}if(this._type._bits==32){let s=t.read(o*4);return new Uint32Array(s.buffer,s.byteOffset,o)}if(this._type._bits==64)return new BigUint64Array(t.read(o*8).buffer)}if(this._type instanceof cr){if(this._type._bits==8)return new Int8Array(t.read(o));if(this._type._bits==16){let s=t.read(o*2),a=new DataView(s.buffer,s.byteOffset,s.byteLength),c=new Int16Array(o);for(let u=0;u<o;u++)c[u]=a.getInt16(u*2,!0);return c}if(this._type._bits==32){let s=t.read(o*4),a=new DataView(s.buffer,s.byteOffset,s.byteLength),c=new Int32Array(o);for(let u=0;u<o;u++)c[u]=a.getInt32(u*4,!0);return c}if(this._type._bits==64){let s=t.read(o*8),a=new DataView(s.buffer,s.byteOffset,s.byteLength),c=new BigInt64Array(o);for(let u=0;u<o;u++)c[u]=a.getBigInt64(u*8,!0);return c}}let i=[];for(let s=0;s<o;s++)i.push(this._type.decodeValue(t,n._type));return i}get name(){return`vec ${this._type.name}`}display(){return`vec ${this._type.display()}`}valueToString(t){return"vec {"+t.map(n=>this._type.valueToString(n)).join("; ")+"}"}},Br=class e extends Vt{get typeName(){return H.OptClass}static[Symbol.hasInstance](t){return t.typeName===H.OptClass}constructor(t){super(),this._type=t}accept(t,r){return t.visitOpt(this,this._type,r)}covariant(t){try{if(Array.isArray(t)&&(t.length===0||t.length===1&&this._type.covariant(t[0])))return!0}catch(r){throw new Error(`Invalid ${this.display()} argument: ${_e(t)}
|
|
41
41
|
|
|
42
|
-
-> ${r.message}`)}throw new Error(`Invalid ${this.display()} argument: ${_e(t)}`)}encodeValue(t){return t.length===0?new Uint8Array([0]):Z(new Uint8Array([1]),this._type.encodeValue(t[0]))}_buildTypeTableImpl(t){this._type.buildTypeTable(t);let r=xe(Q.Opt),n=this._type.encodeType(t);t.add(this,Z(r,n))}decodeValue(t,r){if(r instanceof
|
|
42
|
+
-> ${r.message}`)}throw new Error(`Invalid ${this.display()} argument: ${_e(t)}`)}encodeValue(t){return t.length===0?new Uint8Array([0]):Z(new Uint8Array([1]),this._type.encodeValue(t[0]))}_buildTypeTableImpl(t){this._type.buildTypeTable(t);let r=xe(Q.Opt),n=this._type.encodeType(t);t.add(this,Z(r,n))}decodeValue(t,r){if(r instanceof En)return[];if(r instanceof Bt)return[];let n=r;if(r instanceof lt){let o=r.getType();if(typeof o>"u")throw new Error("type mismatch with uninitialized type");n=o}if(n instanceof e)switch(Pr(t)){case 0:return[];case 1:{let o=t.save();try{return[this._type.decodeValue(t,n._type)]}catch{return t.restore(o),n._type.decodeValue(t,n._type),[]}}default:throw new Error("Not an option value")}else{if(this._type instanceof En||this._type instanceof e||this._type instanceof Bt)return n.decodeValue(t,n),[];{let o=t.save();try{return[this._type.decodeValue(t,r)]}catch{return t.restore(o),n.decodeValue(t,r),[]}}}}get name(){return`opt ${this._type.name}`}display(){return`opt ${this._type.display()}`}valueToString(t){return t.length===0?"null":`opt ${this._type.valueToString(t[0])}`}},Rn=class e extends Vt{get typeName(){return H.RecordClass}static[Symbol.hasInstance](t){return t.typeName===H.RecordClass||t.typeName===H.TupleClass}constructor(t={}){super(),this._fields=Object.entries(t).sort((r,n)=>qe(r[0])-qe(n[0]))}accept(t,r){return t.visitRecord(this,this._fields,r)}tryAsTuple(){let t=[];for(let r=0;r<this._fields.length;r++){let[n,o]=this._fields[r];if(n!==`_${r}_`)return null;t.push(o)}return t}covariant(t){if(typeof t=="object"&&this._fields.every(([r,n])=>{if(!t.hasOwnProperty(r))throw new Error(`Record is missing key "${r}".`);try{return n.covariant(t[r])}catch(o){throw new Error(`Invalid ${this.display()} argument:
|
|
43
43
|
|
|
44
|
-
field ${r} -> ${o.message}`)}}))return!0;throw new Error(`Invalid ${this.display()} argument: ${_e(t)}`)}encodeValue(t){let r=this._fields.map(([o])=>t[o]),n=
|
|
44
|
+
field ${r} -> ${o.message}`)}}))return!0;throw new Error(`Invalid ${this.display()} argument: ${_e(t)}`)}encodeValue(t){let r=this._fields.map(([o])=>t[o]),n=Fo(this._fields,r,([,o],i)=>o.encodeValue(i));return Z(...n)}_buildTypeTableImpl(t){this._fields.forEach(([i,s])=>s.buildTypeTable(t));let r=xe(Q.Record),n=ie(this._fields.length),o=this._fields.map(([i,s])=>Z(ie(qe(i)),s.encodeType(t)));t.add(this,Z(r,n,Z(...o)))}decodeValue(t,r){let n=this.checkType(r);if(!(n instanceof e))throw new Error("Not a record type");let o={},i=0,s=0;for(;s<n._fields.length;){let[a,c]=n._fields[s];if(i>=this._fields.length){c.decodeValue(t,c),s++;continue}let[u,p]=this._fields[i],d=qe(this._fields[i][0]),l=qe(a);if(d===l)o[u]=p.decodeValue(t,c),i++,s++;else if(l>d)if(p instanceof Br||p instanceof Bt)o[u]=[],i++;else throw new Error("Cannot find required field "+u);else c.decodeValue(t,c),s++}for(let[a,c]of this._fields.slice(i))if(c instanceof Br||c instanceof Bt)o[a]=[];else throw new Error("Cannot find required field "+a);return o}get fieldsAsObject(){let t={};for(let[r,n]of this._fields)t[qe(r)]=n;return t}get name(){return`record {${this._fields.map(([r,n])=>r+":"+n.name).join("; ")}}`}display(){return`record {${this._fields.map(([r,n])=>r+":"+n.display()).join("; ")}}`}valueToString(t){let r=this._fields.map(([o])=>t[o]);return`record {${Fo(this._fields,r,([o,i],s)=>o+"="+i.valueToString(s)).join("; ")}}`}},zi=class e extends Rn{get typeName(){return H.TupleClass}static[Symbol.hasInstance](t){return t.typeName===H.TupleClass}constructor(t){let r={};t.forEach((n,o)=>r["_"+o+"_"]=n),super(r),this._components=t}accept(t,r){return t.visitTuple(this,this._components,r)}covariant(t){if(Array.isArray(t)&&t.length>=this._fields.length&&this._components.every((r,n)=>{try{return r.covariant(t[n])}catch(o){throw new Error(`Invalid ${this.display()} argument:
|
|
45
45
|
|
|
46
|
-
index ${n} -> ${o.message}`)}}))return!0;throw new Error(`Invalid ${this.display()} argument: ${_e(t)}`)}encodeValue(t){let r=
|
|
46
|
+
index ${n} -> ${o.message}`)}}))return!0;throw new Error(`Invalid ${this.display()} argument: ${_e(t)}`)}encodeValue(t){let r=Fo(this._components,t,(n,o)=>n.encodeValue(o));return Z(...r)}decodeValue(t,r){let n=this.checkType(r);if(!(n instanceof e))throw new Error("not a tuple type");if(n._components.length<this._components.length)throw new Error("tuple mismatch");let o=[];for(let[i,s]of n._components.entries())i>=this._components.length?s.decodeValue(t,s):o.push(this._components[i].decodeValue(t,s));return o}display(){return`record {${this._components.map(r=>r.display()).join("; ")}}`}valueToString(t){return`record {${Fo(this._components,t,(n,o)=>n.valueToString(o)).join("; ")}}`}},Yn=class e extends Vt{get typeName(){return H.VariantClass}static[Symbol.hasInstance](t){return t.typeName===H.VariantClass}constructor(t={}){super(),this._fields=Object.entries(t).sort((r,n)=>qe(r[0])-qe(n[0]))}accept(t,r){return t.visitVariant(this,this._fields,r)}covariant(t){if(typeof t=="object"&&Object.entries(t).length===1&&this._fields.every(([r,n])=>{try{return!t.hasOwnProperty(r)||n.covariant(t[r])}catch(o){throw new Error(`Invalid ${this.display()} argument:
|
|
47
47
|
|
|
48
|
-
variant ${r} -> ${o.message}`)}}))return!0;throw new Error(`Invalid ${this.display()} argument: ${_e(t)}`)}encodeValue(t){for(let r=0;r<this._fields.length;r++){let[n,o]=this._fields[r];if(t.hasOwnProperty(n)){let i=
|
|
48
|
+
variant ${r} -> ${o.message}`)}}))return!0;throw new Error(`Invalid ${this.display()} argument: ${_e(t)}`)}encodeValue(t){for(let r=0;r<this._fields.length;r++){let[n,o]=this._fields[r];if(t.hasOwnProperty(n)){let i=ie(r),s=o.encodeValue(t[n]);return Z(i,s)}}throw Error("Variant has no data: "+t)}_buildTypeTableImpl(t){this._fields.forEach(([,i])=>{i.buildTypeTable(t)});let r=xe(Q.Variant),n=ie(this._fields.length),o=this._fields.map(([i,s])=>Z(ie(qe(i)),s.encodeType(t)));t.add(this,Z(r,n,...o))}decodeValue(t,r){let n=this.checkType(r);if(!(n instanceof e))throw new Error("Not a variant type");let o=Number(ge(t));if(o>=n._fields.length)throw Error("Invalid variant index: "+o);let[i,s]=n._fields[o];for(let[a,c]of this._fields)if(qe(i)===qe(a)){let u=c.decodeValue(t,s);return{[a]:u}}throw new Error("Cannot find field hash "+i)}get name(){return`variant {${this._fields.map(([r,n])=>r+":"+n.name).join("; ")}}`}display(){return`variant {${this._fields.map(([r,n])=>r+(n.name==="null"?"":`:${n.display()}`)).join("; ")}}`}valueToString(t){for(let[r,n]of this._fields)if(t.hasOwnProperty(r)){let o=n.valueToString(t[r]);return o==="null"?`variant {${r}}`:`variant {${r}=${o}}`}throw new Error("Variant has no data: "+t)}get alternativesAsObject(){let t={};for(let[r,n]of this._fields)t[qe(r)]=n;return t}},lt=class e extends Vt{constructor(){super(...arguments),this._id=e._counter++}get typeName(){return H.RecClass}static{this._counter=0}static[Symbol.hasInstance](t){return t.typeName===H.RecClass}accept(t,r){if(!this._type)throw Error("Recursive type uninitialized.");return t.visitRec(this,this._type,r)}fill(t){this._type=t}getType(){return this._type}covariant(t){if(this._type&&this._type.covariant(t))return!0;throw new Error(`Invalid ${this.display()} argument: ${_e(t)}`)}encodeValue(t){if(!this._type)throw Error("Recursive type uninitialized.");return this._type.encodeValue(t)}_buildTypeTableImpl(t){if(!this._type)throw Error("Recursive type uninitialized.");t.add(this,new Uint8Array([])),this._type.buildTypeTable(t),t.merge(this,this._type.name)}decodeValue(t,r){if(!this._type)throw Error("Recursive type uninitialized.");return this._type.decodeValue(t,r)}get name(){return`rec_${this._id}`}display(){if(!this._type)throw Error("Recursive type uninitialized.");return`\u03BC${this.name}.${this._type.name}`}valueToString(t){if(!this._type)throw Error("Recursive type uninitialized.");return this._type.valueToString(t)}};function wa(e){if(Pr(e)!==1)throw new Error("Cannot decode principal");let r=Number(ge(e));return U.fromUint8Array(new Uint8Array(Vr(e,r)))}var Yi=class extends ze{get typeName(){return H.PrincipalClass}static[Symbol.hasInstance](t){return t.typeName===H.PrincipalClass}accept(t,r){return t.visitPrincipal(this,r)}covariant(t){if(t&&t._isPrincipal)return!0;throw new Error(`Invalid ${this.display()} argument: ${_e(t)}`)}encodeValue(t){let r=t.toUint8Array(),n=ie(r.byteLength);return Z(new Uint8Array([1]),n,r)}encodeType(){return xe(Q.Principal)}decodeValue(t,r){return this.checkType(r),wa(t)}get name(){return"principal"}valueToString(t){return`${this.name} "${t.toText()}"`}},In=class extends Vt{get typeName(){return H.FuncClass}static[Symbol.hasInstance](t){return t.typeName===H.FuncClass}static argsToString(t,r){if(t.length!==r.length)throw new Error("arity mismatch");return"("+t.map((n,o)=>n.valueToString(r[o])).join(", ")+")"}constructor(t,r,n=[]){super(),this.argTypes=t,this.retTypes=r,this.annotations=n}accept(t,r){return t.visitFunc(this,r)}covariant(t){if(Array.isArray(t)&&t.length===2&&t[0]&&t[0]._isPrincipal&&typeof t[1]=="string")return!0;throw new Error(`Invalid ${this.display()} argument: ${_e(t)}`)}encodeValue([t,r]){let n=t.toUint8Array(),o=ie(n.byteLength),i=Z(new Uint8Array([1]),o,n),s=new TextEncoder().encode(r),a=ie(s.byteLength);return Z(new Uint8Array([1]),i,a,s)}_buildTypeTableImpl(t){this.argTypes.forEach(u=>u.buildTypeTable(t)),this.retTypes.forEach(u=>u.buildTypeTable(t));let r=xe(Q.Func),n=ie(this.argTypes.length),o=Z(...this.argTypes.map(u=>u.encodeType(t))),i=ie(this.retTypes.length),s=Z(...this.retTypes.map(u=>u.encodeType(t))),a=ie(this.annotations.length),c=Z(...this.annotations.map(u=>this.encodeAnnotation(u)));t.add(this,Z(r,n,o,i,s,a,c))}decodeValue(t,r){let n=r instanceof lt?r.getType()??r:r;if(!Ta(n,this))throw new Error(`Cannot decode function reference at type ${this.display()} from wire type ${n.display()}`);if(Pr(t)!==1)throw new Error("Cannot decode function reference");let i=wa(t),s=Number(ge(t)),a=Vr(t,s),u=new TextDecoder("utf8",{fatal:!0}).decode(a);return[i,u]}get name(){let t=this.argTypes.map(o=>o.name).join(", "),r=this.retTypes.map(o=>o.name).join(", "),n=" "+this.annotations.join(" ");return`(${t}) -> (${r})${n}`}valueToString([t,r]){return`func "${t.toText()}".${r}`}display(){let t=this.argTypes.map(o=>o.display()).join(", "),r=this.retTypes.map(o=>o.display()).join(", "),n=" "+this.annotations.join(" ");return`(${t}) \u2192 (${r})${n}`}encodeAnnotation(t){if(t==="query")return new Uint8Array([1]);if(t==="oneway")return new Uint8Array([2]);if(t==="composite_query")return new Uint8Array([3]);throw new Error("Illegal function annotation")}},Zn=class extends Vt{get typeName(){return H.ServiceClass}static[Symbol.hasInstance](t){return t.typeName===H.ServiceClass}constructor(t){super(),this._fields=Object.entries(t).sort((r,n)=>r[0]<n[0]?-1:r[0]>n[0]?1:0)}accept(t,r){return t.visitService(this,r)}covariant(t){if(t&&t._isPrincipal)return!0;throw new Error(`Invalid ${this.display()} argument: ${_e(t)}`)}encodeValue(t){let r=t.toUint8Array(),n=ie(r.length);return Z(new Uint8Array([1]),n,r)}_buildTypeTableImpl(t){this._fields.forEach(([i,s])=>s.buildTypeTable(t));let r=xe(Q.Service),n=ie(this._fields.length),o=this._fields.map(([i,s])=>{let a=new TextEncoder().encode(i),c=ie(a.length);return Z(c,a,s.encodeType(t))});t.add(this,Z(r,n,...o))}decodeValue(t,r){let n=r instanceof lt?r.getType()??r:r;if(!Ta(n,this))throw new Error(`Cannot decode service reference at type ${this.display()} from wire type ${n.display()}`);return wa(t)}get name(){return`service {${this._fields.map(([r,n])=>r+":"+n.name).join("; ")}}`}valueToString(t){return`service "${t.toText()}"`}fieldsAsObject(){let t={};for(let[r,n]of this._fields)t[r]=n;return t}};function _e(e){let t=JSON.stringify(e,(r,n)=>typeof n=="bigint"?`BigInt(${n})`:n);return t&&t.length>Dl?t.substring(0,Dl-3)+"...":t}function Rf(e,t){if(t.length<e.length)throw Error("Wrong number of message arguments");let r=new ga;e.forEach(a=>a.buildTypeTable(r));let n=r.encode(),o=ie(t.length),i=Z(...e.map(a=>a.encodeType(r))),s=Z(...Fo(e,t,(a,c)=>{try{a.covariant(c)}catch(u){throw new Error(u.message+`
|
|
49
49
|
|
|
50
|
-
`)}return a.encodeValue(c)}));return Z(
|
|
51
|
-
`;return t}addNames(t,r,n){let o=this.rels.get(t);if(o==null){let i=new Map;i.set(r,n),this.rels.set(t,i)}else o.set(r,n)}}
|
|
52
|
-
ic-request`),da=new TextEncoder().encode("\vic-response"),pa=new TextEncoder().encode("ic-request-auth-delegation");var Dt=class{getPrincipal(){return this._principal||(this._principal=k.selfAuthenticating(new Uint8Array(this.getPublicKey().toDer()))),this._principal}async transformRequest(t){let{body:r,...n}=t,o=nr(r);return{...n,body:{content:r,sender_pubkey:this.getPublicKey().toDer(),sender_sig:await this.sign(K(Bo,o))}}}},tt=class{getPrincipal(){return k.anonymous()}async transformRequest(t){return{...t,body:{content:t.body}}}};var or=class extends Error{constructor(t){super(t),this.name="DecodingError"}},Xl=55799,Ql=Symbol("CBOR_STOP_CODE"),Ot=(e=>(e[e.False=20]="False",e[e.True=21]="True",e[e.Null=22]="Null",e[e.Undefined=23]="Undefined",e[e.Break=31]="Break",e))(Ot||{}),Ne=(e=>(e[e.UnsignedInteger=0]="UnsignedInteger",e[e.NegativeInteger=1]="NegativeInteger",e[e.ByteString=2]="ByteString",e[e.TextString=3]="TextString",e[e.Array=4]="Array",e[e.Map=5]="Map",e[e.Tag=6]="Tag",e[e.Simple=7]="Simple",e))(Ne||{}),mf=23,_f=255,yf=65535,gf=4294967295,xf=BigInt("0xffffffffffffffff"),Nt=(e=>(e[e.Value=23]="Value",e[e.OneByte=24]="OneByte",e[e.TwoBytes=25]="TwoBytes",e[e.FourBytes=26]="FourBytes",e[e.EightBytes=27]="EightBytes",e[e.Indefinite=31]="Indefinite",e))(Nt||{}),Wn=!1;function bf(e){return e==null}function eu(e,t){let r=new Uint8Array(t);return r.set(e),r}var wf=new TextDecoder;function Tf(e){return(e&224)>>5}function Nf(e){return e&31}var ko=new Uint8Array,Do,Et=0;function tu(e,t){ko=e,Et=0;let r=Rn(t);return t?.(r)??r}function Rn(e){let[t,r]=zi();switch(t){case Ne.UnsignedInteger:return zn(r);case Ne.NegativeInteger:return If(r);case Ne.ByteString:return ru(r);case Ne.TextString:return ha(r);case Ne.Array:return Of(r,e);case Ne.Map:return Rf(r,e);case Ne.Tag:return vf(r,e);case Ne.Simple:return Ef(r)}throw new or(`Unsupported major type: ${t}`)}function zi(){let e=ko.at(Et);if(bf(e))throw new or("Provided CBOR data is empty");let t=Tf(e),r=Nf(e);return Et++,[t,r]}function Of(e,t){let r=zn(e);if(r===1/0){let o=[],i=Rn(t);for(;i!==Ql;)o.push(t?.(i)??i),i=Rn(t);return o}let n=new Array(r);for(let o=0;o<r;o++){let i=Rn(t);n[o]=t?.(i)??i}return n}function Ef(e){switch(e){case Ot.False:return!1;case Ot.True:return!0;case Ot.Null:return null;case Ot.Undefined:return;case Ot.Break:return Ql}throw new or(`Unrecognized simple type: ${e.toString(2)}`)}function Rf(e,t){let r=zn(e),n={};if(r===1/0){let[o,i]=zi();for(;o!==Ne.Simple&&i!==Ot.Break;){let s=ha(i),a=Rn(t);n[s]=t?.(a,s)??a,[o,i]=zi()}return n}for(let o=0;o<r;o++){let[i,s]=zi();if(i!==Ne.TextString)throw new or("Map keys must be text strings");let a=ha(s),c=Rn(t);n[a]=t?.(c,a)??c}return n}function zn(e){if(e<=Nt.Value)return e;switch(Do=new DataView(ko.buffer,ko.byteOffset+Et),e){case Nt.OneByte:return Et++,Do.getUint8(0);case Nt.TwoBytes:return Et+=2,Do.getUint16(0,Wn);case Nt.FourBytes:return Et+=4,Do.getUint32(0,Wn);case Nt.EightBytes:return Et+=8,Do.getBigUint64(0,Wn);case Nt.Indefinite:return 1/0;default:throw new or(`Unsupported integer info: ${e.toString(2)}`)}}function If(e){let t=zn(e);return typeof t=="number"?-1-t:-1n-t}function ru(e){let t=zn(e);if(t>Number.MAX_SAFE_INTEGER)throw new or("Byte length is too large");let r=Number(t);return Et+=r,ko.slice(Et-r,Et)}function ha(e){let t=ru(e);return wf.decode(t)}function vf(e,t){let r=zn(e);if(r===Xl)return Rn(t);throw new or(`Unsupported tag: ${r}.`)}var Lo=class extends Error{constructor(t){super(t),this.name="SerializationError"}},Af=2*1024,Sf=100,Cf=new TextEncoder;function Uo(e){return e<<5}var rt=new Uint8Array(Af),Tt=new DataView(rt.buffer),Te=0,fa=[];function nu(e,t){Te=0;let r=t?.(e)??e;return Lf(Xl,r,t),rt.slice(0,Te)}function ma(e,t){if(Te>rt.length-Sf&&(rt=eu(rt,rt.length*2),Tt=new DataView(rt.buffer)),e===!1||e===!0||e===null||e===void 0){Pf(e);return}if(typeof e=="number"||typeof e=="bigint"){kf(e);return}if(typeof e=="string"){su(e);return}if(e instanceof Uint8Array){Zl(e);return}if(e instanceof ArrayBuffer){Zl(new Uint8Array(e));return}if(Array.isArray(e)){Ff(e,t);return}if(typeof e=="object"){Vf(e,t);return}throw new Lo(`Unsupported type: ${typeof e}`)}function Ff(e,t){Yn(Ne.Array,e.length),e.forEach((r,n)=>{ma(t?.(r,n.toString())??r,t)})}function Vf(e,t){fa=Object.entries(e),Yn(Ne.Map,fa.length),fa.forEach(([r,n])=>{su(r),ma(t?.(n,r)??n,t)})}function Yn(e,t){if(t<=mf){Tt.setUint8(Te++,Uo(e)|Number(t));return}if(t<=_f){Tt.setUint8(Te++,Uo(e)|Nt.OneByte),Tt.setUint8(Te,Number(t)),Te+=1;return}if(t<=yf){Tt.setUint8(Te++,Uo(e)|Nt.TwoBytes),Tt.setUint16(Te,Number(t),Wn),Te+=2;return}if(t<=gf){Tt.setUint8(Te++,Uo(e)|Nt.FourBytes),Tt.setUint32(Te,Number(t),Wn),Te+=4;return}if(t<=xf){Tt.setUint8(Te++,Uo(e)|Nt.EightBytes),Tt.setBigUint64(Te,BigInt(t),Wn),Te+=8;return}throw new Lo(`Value too large to encode: ${t}`)}function Pf(e){Yn(Ne.Simple,Bf(e))}function Bf(e){if(e===!1)return Ot.False;if(e===!0)return Ot.True;if(e===null)return Ot.Null;if(e===void 0)return Ot.Undefined;throw new Lo(`Unrecognized simple value: ${e.toString()}`)}function ou(e,t){Yn(e,t.length),Te>rt.length-t.length&&(rt=eu(rt,rt.length+t.length),Tt=new DataView(rt.buffer)),rt.set(t,Te),Te+=t.length}function iu(e,t){Yn(e,t)}function Df(e){iu(Ne.UnsignedInteger,e)}function Uf(e){iu(Ne.NegativeInteger,typeof e=="bigint"?-1n-e:-1-e)}function kf(e){e>=0?Df(e):Uf(e)}function su(e){ou(Ne.TextString,Cf.encode(e))}function Zl(e){ou(Ne.ByteString,e)}function Lf(e,t,r){Yn(Ne.Tag,e),ma(t,r)}function Mf(e){return typeof e=="object"&&e!==null&&"toCborValue"in e}function qo(e){try{return nu(e,t=>k.isPrincipal(t)?t.toUint8Array():Zn.isExpiry(t)?t.toBigInt():Mf(t)?t.toCborValue():t)}catch(t){throw Y.fromCode(new vi(t,e))}}function qe(e){try{return tu(e)}catch(t){throw Y.fromCode(new Ii(t,e))}}var Yi={encode:qo,decode:qe};var Mo=()=>{if(typeof window<"u"&&window.crypto&&window.crypto.getRandomValues){let e=new Uint32Array(1);return window.crypto.getRandomValues(e),e[0]}if(typeof crypto<"u"&&crypto.getRandomValues){let e=new Uint32Array(1);return crypto.getRandomValues(e),e[0]}return typeof crypto<"u"&&crypto.randomInt?crypto.randomInt(0,4294967295):Math.floor(Math.random()*4294967295)};var ir;(function(e){e.Query="read",e.ReadState="read_state",e.Call="call"})(ir||(ir={}));var Xi;(function(e){e.Call="call"})(Xi||(Xi={}));var In;(function(e){e.Query="query",e.ReadState="read_state"})(In||(In={}));function jo(){let e=new ArrayBuffer(16),t=new DataView(e),r=Mo(),n=Mo(),o=Mo(),i=Mo();return t.setUint32(0,r),t.setUint32(4,n),t.setUint32(8,o),t.setUint32(12,i),Object.assign(new Uint8Array(e),{__nonce__:void 0})}var Qi="__expiry__",_a=BigInt(1e3),jf=BigInt(1e6),Kf=BigInt(60),ya=Kf*_a,Hf=BigInt(1)*ya;function $f(e){return e/_a*_a}function Gf(e){return e/ya*ya}var Zn=class e{constructor(t){this.__expiry__=t,this._isExpiry=!0}static fromDeltaInMilliseconds(t,r=0){let n=BigInt(Date.now())+BigInt(r),o=n+BigInt(t),i=Gf(o),s;return i>=n+Hf?s=i:s=$f(o),new e(s*jf)}toBigInt(){return this.__expiry__}toHash(){return oe(this.__expiry__)}toString(){return this.__expiry__.toString()}toJSON(){return{[Qi]:this.toString()}}static fromJSON(t){let r=JSON.parse(t);if(r[Qi])try{let n=BigInt(r[Qi]);return new e(n)}catch(n){throw new Y(new Io(`Not a valid BigInt: ${n}`))}throw new Y(new Io(`The input does not contain the key ${Qi}`))}static isExpiry(t){return t instanceof e||typeof t=="object"&&t!==null&&"_isExpiry"in t&&t._isExpiry===!0&&"__expiry__"in t&&typeof t.__expiry__=="bigint"}};function ga(e=jo){return async t=>{let r=t.request.headers;t.request.headers=r,t.endpoint===ir.Call&&(t.body.nonce=e())}}function xa(e){let t=[];return e.forEach((r,n)=>{t.push([n,r])}),t}var wa=BigInt(0),es=BigInt(1);function vn(e,t=""){if(typeof e!="boolean"){let r=t&&`"${t}"`;throw new Error(r+"expected boolean, got type="+typeof e)}return e}function Sr(e,t,r=""){let n=At(e),o=e?.length,i=t!==void 0;if(!n||i&&o!==t){let s=r&&`"${r}" `,a=i?` of length ${t}`:"",c=n?`length=${o}`:`type=${typeof e}`;throw new Error(s+"expected Uint8Array"+a+", got "+c)}return e}function au(e){if(typeof e!="string")throw new Error("hex string expected, got "+typeof e);return e===""?wa:BigInt("0x"+e)}function ze(e){return au(j(e))}function sr(e){return me(e),au(j(Uint8Array.from(e).reverse()))}function Oe(e,t){return Ee(e.toString(16).padStart(t*2,"0"))}function Ta(e,t){return Oe(e,t).reverse()}function pe(e,t,r){let n;if(typeof t=="string")try{n=Ee(t)}catch(i){throw new Error(e+" must be hex string or Uint8Array, cause: "+i)}else if(At(t))n=Uint8Array.from(t);else throw new Error(e+" must be hex string or Uint8Array");let o=n.length;if(typeof r=="number"&&o!==r)throw new Error(e+" of length "+r+" expected, got "+o);return n}function cu(e,t){if(e.length!==t.length)return!1;let r=0;for(let n=0;n<e.length;n++)r|=e[n]^t[n];return r===0}function Na(e){return Uint8Array.from(e)}var ba=e=>typeof e=="bigint"&&wa<=e;function Oa(e,t,r){return ba(e)&&ba(t)&&ba(r)&&t<=e&&e<r}function ts(e,t,r,n){if(!Oa(t,r,n))throw new Error("expected valid "+e+": "+r+" <= n < "+n+", got "+t)}function ar(e){let t;for(t=0;e>wa;e>>=es,t+=1);return t}function lu(e,t){return e>>BigInt(t)&es}var Rt=e=>(es<<BigInt(e))-es;function uu(e){return typeof e=="function"&&Number.isSafeInteger(e.outputLen)}function cr(e,t,r={}){if(!e||typeof e!="object")throw new Error("expected valid options object");function n(o,i,s){let a=e[o];if(s&&a===void 0)return;let c=typeof a;if(c!==i||a===null)throw new Error(`param "${o}" is invalid: expected ${i}, got ${c}`)}Object.entries(t).forEach(([o,i])=>n(o,i,!1)),Object.entries(r).forEach(([o,i])=>n(o,i,!0))}var Xn=()=>{throw new Error("not implemented")};function Cr(e){let t=new WeakMap;return(r,...n)=>{let o=t.get(r);if(o!==void 0)return o;let i=e(r,...n);return t.set(r,i),i}}var Me=BigInt(0),Ie=BigInt(1),An=BigInt(2),pu=BigInt(3),fu=BigInt(4),hu=BigInt(5),Jf=BigInt(7),mu=BigInt(8),Wf=BigInt(9),_u=BigInt(16);function ce(e,t){let r=e%t;return r>=Me?r:t+r}function It(e,t,r){let n=e;for(;t-- >Me;)n*=n,n%=r;return n}function du(e,t){if(e===Me)throw new Error("invert: expected non-zero number");if(t<=Me)throw new Error("invert: expected positive modulus, got "+t);let r=ce(e,t),n=t,o=Me,i=Ie,s=Ie,a=Me;for(;r!==Me;){let u=n/r,p=n%r,d=o-s*u,l=i-a*u;n=r,r=p,o=s,i=a,s=d,a=l}if(n!==Ie)throw new Error("invert: does not exist");return ce(o,t)}function Ea(e,t,r){if(!e.eql(e.sqr(t),r))throw new Error("Cannot find square root")}function yu(e,t){let r=(e.ORDER+Ie)/fu,n=e.pow(t,r);return Ea(e,n,t),n}function zf(e,t){let r=(e.ORDER-hu)/mu,n=e.mul(t,An),o=e.pow(n,r),i=e.mul(t,o),s=e.mul(e.mul(i,An),o),a=e.mul(i,e.sub(s,e.ONE));return Ea(e,a,t),a}function Yf(e){let t=je(e),r=gu(e),n=r(t,t.neg(t.ONE)),o=r(t,n),i=r(t,t.neg(n)),s=(e+Jf)/_u;return(a,c)=>{let u=a.pow(c,s),p=a.mul(u,n),d=a.mul(u,o),l=a.mul(u,i),f=a.eql(a.sqr(p),c),h=a.eql(a.sqr(d),c);u=a.cmov(u,p,f),p=a.cmov(l,d,h);let _=a.eql(a.sqr(p),c),g=a.cmov(u,p,_);return Ea(a,g,c),g}}function gu(e){if(e<pu)throw new Error("sqrt is not defined for small field");let t=e-Ie,r=0;for(;t%An===Me;)t/=An,r++;let n=An,o=je(e);for(;Ko(o,n)===1;)if(n++>1e3)throw new Error("Cannot find square root: probably non-prime P");if(r===1)return yu;let i=o.pow(n,t),s=(t+Ie)/An;return function(c,u){if(c.is0(u))return u;if(Ko(c,u)!==1)throw new Error("Cannot find square root");let p=r,d=c.mul(c.ONE,i),l=c.pow(u,t),f=c.pow(u,s);for(;!c.eql(l,c.ONE);){if(c.is0(l))return c.ZERO;let h=1,_=c.sqr(l);for(;!c.eql(_,c.ONE);)if(h++,_=c.sqr(_),h===p)throw new Error("Cannot find square root");let g=Ie<<BigInt(p-h-1),m=c.pow(d,g);p=h,d=c.sqr(m),l=c.mul(l,d),f=c.mul(f,m)}return f}}function Zf(e){return e%fu===pu?yu:e%mu===hu?zf:e%_u===Wf?Yf(e):gu(e)}var lr=(e,t)=>(ce(e,t)&Ie)===Ie,Xf=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function rs(e){let t={ORDER:"bigint",MASK:"bigint",BYTES:"number",BITS:"number"},r=Xf.reduce((n,o)=>(n[o]="function",n),t);return cr(e,r),e}function Ho(e,t,r){if(r<Me)throw new Error("invalid exponent, negatives unsupported");if(r===Me)return e.ONE;if(r===Ie)return t;let n=e.ONE,o=t;for(;r>Me;)r&Ie&&(n=e.mul(n,o)),o=e.sqr(o),r>>=Ie;return n}function at(e,t,r=!1){let n=new Array(t.length).fill(r?e.ZERO:void 0),o=t.reduce((s,a,c)=>e.is0(a)?s:(n[c]=s,e.mul(s,a)),e.ONE),i=e.inv(o);return t.reduceRight((s,a,c)=>e.is0(a)?s:(n[c]=e.mul(s,n[c]),e.mul(s,a)),i),n}function Ko(e,t){let r=(e.ORDER-Ie)/An,n=e.pow(t,r),o=e.eql(n,e.ONE),i=e.eql(n,e.ZERO),s=e.eql(n,e.neg(e.ONE));if(!o&&!i&&!s)throw new Error("invalid Legendre symbol result");return o?1:i?0:-1}function Ra(e,t){t!==void 0&&Js(t);let r=t!==void 0?t:e.toString(2).length,n=Math.ceil(r/8);return{nBitLength:r,nByteLength:n}}function je(e,t,r=!1,n={}){if(e<=Me)throw new Error("invalid field: expected ORDER > 0, got "+e);let o,i,s=!1,a;if(typeof t=="object"&&t!=null){if(n.sqrt||r)throw new Error("cannot specify opts in two arguments");let l=t;l.BITS&&(o=l.BITS),l.sqrt&&(i=l.sqrt),typeof l.isLE=="boolean"&&(r=l.isLE),typeof l.modFromBytes=="boolean"&&(s=l.modFromBytes),a=l.allowedLengths}else typeof t=="number"&&(o=t),n.sqrt&&(i=n.sqrt);let{nBitLength:c,nByteLength:u}=Ra(e,o);if(u>2048)throw new Error("invalid field: expected ORDER of <= 2048 bytes");let p,d=Object.freeze({ORDER:e,isLE:r,BITS:c,BYTES:u,MASK:Rt(c),ZERO:Me,ONE:Ie,allowedLengths:a,create:l=>ce(l,e),isValid:l=>{if(typeof l!="bigint")throw new Error("invalid field element: expected bigint, got "+typeof l);return Me<=l&&l<e},is0:l=>l===Me,isValidNot0:l=>!d.is0(l)&&d.isValid(l),isOdd:l=>(l&Ie)===Ie,neg:l=>ce(-l,e),eql:(l,f)=>l===f,sqr:l=>ce(l*l,e),add:(l,f)=>ce(l+f,e),sub:(l,f)=>ce(l-f,e),mul:(l,f)=>ce(l*f,e),pow:(l,f)=>Ho(d,l,f),div:(l,f)=>ce(l*du(f,e),e),sqrN:l=>l*l,addN:(l,f)=>l+f,subN:(l,f)=>l-f,mulN:(l,f)=>l*f,inv:l=>du(l,e),sqrt:i||(l=>(p||(p=Zf(e)),p(d,l))),toBytes:l=>r?Ta(l,u):Oe(l,u),fromBytes:(l,f=!0)=>{if(a){if(!a.includes(l.length)||l.length>u)throw new Error("Field.fromBytes: expected "+a+" bytes, got "+l.length);let _=new Uint8Array(u);_.set(l,r?0:_.length-l.length),l=_}if(l.length!==u)throw new Error("Field.fromBytes: expected "+u+" bytes, got "+l.length);let h=r?sr(l):ze(l);if(s&&(h=ce(h,e)),!f&&!d.isValid(h))throw new Error("invalid field element: outside of range 0..ORDER");return h},invertBatch:l=>at(d,l),cmov:(l,f,h)=>h?f:l});return Object.freeze(d)}function xu(e){if(typeof e!="bigint")throw new Error("field order must be bigint");let t=e.toString(2).length;return Math.ceil(t/8)}function ns(e){let t=xu(e);return t+Math.ceil(t/2)}function Ia(e,t,r=!1){let n=e.length,o=xu(t),i=ns(t);if(n<16||n<i||n>1024)throw new Error("expected "+i+"-1024 bytes of input, got "+n);let s=r?sr(e):ze(e),a=ce(s,t-Ie)+Ie;return r?Ta(a,o):Oe(a,o)}var Qn=BigInt(0),Sn=BigInt(1);function $o(e,t){let r=t.negate();return e?r:t}function ct(e,t){let r=at(e.Fp,t.map(n=>n.Z));return t.map((n,o)=>e.fromAffine(n.toAffine(r[o])))}function Nu(e,t){if(!Number.isSafeInteger(e)||e<=0||e>t)throw new Error("invalid window size, expected [1.."+t+"], got W="+e)}function va(e,t){Nu(e,t);let r=Math.ceil(t/e)+1,n=2**(e-1),o=2**e,i=Rt(e),s=BigInt(e);return{windows:r,windowSize:n,mask:i,maxNumber:o,shiftBy:s}}function bu(e,t,r){let{windowSize:n,mask:o,maxNumber:i,shiftBy:s}=r,a=Number(e&o),c=e>>s;a>n&&(a-=i,c+=Sn);let u=t*n,p=u+Math.abs(a)-1,d=a===0,l=a<0,f=t%2!==0;return{nextN:c,offset:p,isZero:d,isNeg:l,isNegF:f,offsetF:u}}function eh(e,t){if(!Array.isArray(e))throw new Error("array expected");e.forEach((r,n)=>{if(!(r instanceof t))throw new Error("invalid point at index "+n)})}function th(e,t){if(!Array.isArray(e))throw new Error("array of scalars expected");e.forEach((r,n)=>{if(!t.isValid(r))throw new Error("invalid scalar at index "+n)})}var Aa=new WeakMap,Ou=new WeakMap;function Sa(e){return Ou.get(e)||1}function wu(e){if(e!==Qn)throw new Error("invalid wNAF")}var eo=class{constructor(t,r){this.BASE=t.BASE,this.ZERO=t.ZERO,this.Fn=t.Fn,this.bits=r}_unsafeLadder(t,r,n=this.ZERO){let o=t;for(;r>Qn;)r&Sn&&(n=n.add(o)),o=o.double(),r>>=Sn;return n}precomputeWindow(t,r){let{windows:n,windowSize:o}=va(r,this.bits),i=[],s=t,a=s;for(let c=0;c<n;c++){a=s,i.push(a);for(let u=1;u<o;u++)a=a.add(s),i.push(a);s=a.double()}return i}wNAF(t,r,n){if(!this.Fn.isValid(n))throw new Error("invalid scalar");let o=this.ZERO,i=this.BASE,s=va(t,this.bits);for(let a=0;a<s.windows;a++){let{nextN:c,offset:u,isZero:p,isNeg:d,isNegF:l,offsetF:f}=bu(n,a,s);n=c,p?i=i.add($o(l,r[f])):o=o.add($o(d,r[u]))}return wu(n),{p:o,f:i}}wNAFUnsafe(t,r,n,o=this.ZERO){let i=va(t,this.bits);for(let s=0;s<i.windows&&n!==Qn;s++){let{nextN:a,offset:c,isZero:u,isNeg:p}=bu(n,s,i);if(n=a,!u){let d=r[c];o=o.add(p?d.negate():d)}}return wu(n),o}getPrecomputes(t,r,n){let o=Aa.get(r);return o||(o=this.precomputeWindow(r,t),t!==1&&(typeof n=="function"&&(o=n(o)),Aa.set(r,o))),o}cached(t,r,n){let o=Sa(t);return this.wNAF(o,this.getPrecomputes(o,t,n),r)}unsafe(t,r,n,o){let i=Sa(t);return i===1?this._unsafeLadder(t,r,o):this.wNAFUnsafe(i,this.getPrecomputes(i,t,n),r,o)}createCache(t,r){Nu(r,this.bits),Ou.set(t,r),Aa.delete(t)}hasCache(t){return Sa(t)!==1}};function Eu(e,t,r,n){let o=t,i=e.ZERO,s=e.ZERO;for(;r>Qn||n>Qn;)r&Sn&&(i=i.add(o)),n&Sn&&(s=s.add(o)),o=o.double(),r>>=Sn,n>>=Sn;return{p1:i,p2:s}}function to(e,t,r,n){eh(r,e),th(n,t);let o=r.length,i=n.length;if(o!==i)throw new Error("arrays of points and scalars must have equal length");let s=e.ZERO,a=ar(BigInt(o)),c=1;a>12?c=a-3:a>4?c=a-2:a>0&&(c=2);let u=Rt(c),p=new Array(Number(u)+1).fill(s),d=Math.floor((t.BITS-1)/c)*c,l=s;for(let f=d;f>=0;f-=c){p.fill(s);for(let _=0;_<i;_++){let g=n[_],m=Number(g>>BigInt(f)&u);p[m]=p[m].add(r[_])}let h=s;for(let _=p.length-1,g=s;_>0;_--)g=g.add(p[_]),h=h.add(g);if(l=l.add(h),f!==0)for(let _=0;_<c;_++)l=l.double()}return l}function Tu(e,t,r){if(t){if(t.ORDER!==e)throw new Error("Field.ORDER must match order: Fp == p, Fn == n");return rs(t),t}else return je(e,{isLE:r})}function os(e,t,r={},n){if(n===void 0&&(n=e==="edwards"),!t||typeof t!="object")throw new Error(`expected valid ${e} CURVE object`);for(let c of["p","n","h"]){let u=t[c];if(!(typeof u=="bigint"&&u>Qn))throw new Error(`CURVE.${c} must be positive bigint`)}let o=Tu(t.p,r.Fp,n),i=Tu(t.n,r.Fn,n),a=["Gx","Gy","a",e==="weierstrass"?"b":"d"];for(let c of a)if(!o.isValid(t[c]))throw new Error(`CURVE.${c} must be valid field element of CURVE.Fp`);return t=Object.freeze(Object.assign({},t)),{CURVE:t,Fp:o,Fn:i}}var rh=ze;function Fr(e,t){if(Go(e),Go(t),e<0||e>=1<<8*t)throw new Error("invalid I2OSP input: "+e);let r=Array.from({length:t}).fill(0);for(let n=t-1;n>=0;n--)r[n]=e&255,e>>>=8;return new Uint8Array(r)}function nh(e,t){let r=new Uint8Array(e.length);for(let n=0;n<e.length;n++)r[n]=e[n]^t[n];return r}function Go(e){if(!Number.isSafeInteger(e))throw new Error("number expected")}function Ru(e){if(!At(e)&&typeof e!="string")throw new Error("DST must be Uint8Array or string");return typeof e=="string"?$(e):e}function oh(e,t,r,n){me(e),Go(r),t=Ru(t),t.length>255&&(t=n(K($("H2C-OVERSIZE-DST-"),t)));let{outputLen:o,blockLen:i}=n,s=Math.ceil(r/o);if(r>65535||s>255)throw new Error("expand_message_xmd: invalid lenInBytes");let a=K(t,Fr(t.length,1)),c=Fr(0,i),u=Fr(r,2),p=new Array(s),d=n(K(c,e,u,Fr(0,1),a));p[0]=n(K(d,Fr(1,1),a));for(let f=1;f<=s;f++){let h=[nh(d,p[f-1]),Fr(f+1,1),a];p[f]=n(K(...h))}return K(...p).slice(0,r)}function ih(e,t,r,n,o){if(me(e),Go(r),t=Ru(t),t.length>255){let i=Math.ceil(2*n/8);t=o.create({dkLen:i}).update($("H2C-OVERSIZE-DST-")).update(t).digest()}if(r>65535||t.length>255)throw new Error("expand_message_xof: invalid lenInBytes");return o.create({dkLen:r}).update(e).update(Fr(r,2)).update(t).update(Fr(t.length,1)).digest()}function Ca(e,t,r){cr(r,{p:"bigint",m:"number",k:"number",hash:"function"});let{p:n,k:o,m:i,hash:s,expand:a,DST:c}=r;if(!uu(r.hash))throw new Error("expected valid hash");me(e),Go(t);let u=n.toString(2).length,p=Math.ceil((u+o)/8),d=t*i*p,l;if(a==="xmd")l=oh(e,c,d,s);else if(a==="xof")l=ih(e,c,d,o,s);else if(a==="_internal_pass")l=e;else throw new Error('expand must be "xmd" or "xof"');let f=new Array(t);for(let h=0;h<t;h++){let _=new Array(i);for(let g=0;g<i;g++){let m=p*(g+h*i),x=l.subarray(m,m+p);_[g]=ce(rh(x),n)}f[h]=_}return f}function Fa(e,t){let r=t.map(n=>Array.from(n).reverse());return(n,o)=>{let[i,s,a,c]=r.map(d=>d.reduce((l,f)=>e.add(e.mul(l,n),f))),[u,p]=at(e,[s,c],!0);return n=e.mul(i,u),o=e.mul(o,e.mul(a,p)),{x:n,y:o}}}var sh=$("HashToScalar-");function Va(e,t,r){if(typeof t!="function")throw new Error("mapToCurve() must be defined");function n(i){return e.fromAffine(t(i))}function o(i){let s=i.clearCofactor();return s.equals(e.ZERO)?e.ZERO:(s.assertValidity(),s)}return{defaults:r,hashToCurve(i,s){let a=Object.assign({},r,s),c=Ca(i,2,a),u=n(c[0]),p=n(c[1]);return o(u.add(p))},encodeToCurve(i,s){let a=r.encodeDST?{DST:r.encodeDST}:{},c=Object.assign({},r,a,s),u=Ca(i,1,c),p=n(u[0]);return o(p)},mapToCurve(i){if(!Array.isArray(i))throw new Error("expected array of bigints");for(let s of i)if(typeof s!="bigint")throw new Error("expected array of bigints");return o(n(i))},hashToScalar(i,s){let a=e.Fn.ORDER,c=Object.assign({},r,{p:a,m:1,DST:sh},s);return Ca(i,1,c)[0][0]}}}var Iu=(e,t)=>(e+(e>=0?t:-t)/ur)/t;function ah(e,t,r){let[[n,o],[i,s]]=t,a=Iu(s*e,r),c=Iu(-o*e,r),u=e-a*n-c*i,p=-a*o-c*s,d=u<Cn,l=p<Cn;d&&(u=-u),l&&(p=-p);let f=Rt(Math.ceil(ar(r)/2))+Ke;if(u<Cn||u>=f||p<Cn||p>=f)throw new Error("splitScalar (endomorphism): failed, k="+e);return{k1neg:d,k1:u,k2neg:l,k2:p}}var Cn=BigInt(0),Ke=BigInt(1),ur=BigInt(2),ro=BigInt(3),Pa=BigInt(4);function Jo(e,t){let{BYTES:r}=e,n;if(typeof t=="bigint")n=t;else{let o=pe("private key",t);try{n=e.fromBytes(o)}catch{throw new Error(`invalid private key: expected ui8a of size ${r}, got ${typeof t}`)}}if(!e.isValidNot0(n))throw new Error("invalid private key: out of range [1..N-1]");return n}function ch(e,t={}){let r=os("weierstrass",e,t),{Fp:n,Fn:o}=r,i=r.CURVE,{h:s,n:a}=i;cr(t,{},{allowInfinityPoint:"boolean",clearCofactor:"function",isTorsionFree:"function",fromBytes:"function",toBytes:"function",endo:"object",wrapPrivateKey:"boolean"});let{endo:c}=t;if(c&&(!n.is0(i.a)||typeof c.beta!="bigint"||!Array.isArray(c.basises)))throw new Error('invalid endo: expected "beta": bigint and "basises": array');let u=dh(n,o);function p(){if(!n.isOdd)throw new Error("compression is not supported: Field does not have .isOdd()")}function d(S,b,N){let{x:C,y:B}=b.toAffine(),q=n.toBytes(C);if(vn(N,"isCompressed"),N){p();let A=!n.isOdd(B);return K(lh(A),q)}else return K(Uint8Array.of(4),q,n.toBytes(B))}function l(S){Sr(S,void 0,"Point");let{publicKey:b,publicKeyUncompressed:N}=u,C=S.length,B=S[0],q=S.subarray(1);if(C===b&&(B===2||B===3)){let A=n.fromBytes(q);if(!n.isValid(A))throw new Error("bad point: is not on curve, wrong x");let V=_(A),P;try{P=n.sqrt(V)}catch(re){let ee=re instanceof Error?": "+re.message:"";throw new Error("bad point: is not on curve, sqrt error"+ee)}p();let D=n.isOdd(P);return(B&1)===1!==D&&(P=n.neg(P)),{x:A,y:P}}else if(C===N&&B===4){let A=n.BYTES,V=n.fromBytes(q.subarray(0,A)),P=n.fromBytes(q.subarray(A,A*2));if(!g(V,P))throw new Error("bad point: is not on curve");return{x:V,y:P}}else throw new Error(`bad point: got length ${C}, expected compressed=${b} or uncompressed=${N}`)}let f=t.toBytes||d,h=t.fromBytes||l;function _(S){let b=n.sqr(S),N=n.mul(b,S);return n.add(n.add(N,n.mul(S,i.a)),i.b)}function g(S,b){let N=n.sqr(b),C=_(S);return n.eql(N,C)}if(!g(i.Gx,i.Gy))throw new Error("bad curve params: generator point");let m=n.mul(n.pow(i.a,ro),Pa),x=n.mul(n.sqr(i.b),BigInt(27));if(n.is0(n.add(m,x)))throw new Error("bad curve params: a or b");function y(S,b,N=!1){if(!n.isValid(b)||N&&n.is0(b))throw new Error(`bad point coordinate ${S}`);return b}function T(S){if(!(S instanceof w))throw new Error("ProjectivePoint expected")}function E(S){if(!c||!c.basises)throw new Error("no endo");return ah(S,c.basises,o.ORDER)}let O=Cr((S,b)=>{let{X:N,Y:C,Z:B}=S;if(n.eql(B,n.ONE))return{x:N,y:C};let q=S.is0();b==null&&(b=q?n.ONE:n.inv(B));let A=n.mul(N,b),V=n.mul(C,b),P=n.mul(B,b);if(q)return{x:n.ZERO,y:n.ZERO};if(!n.eql(P,n.ONE))throw new Error("invZ was invalid");return{x:A,y:V}}),R=Cr(S=>{if(S.is0()){if(t.allowInfinityPoint&&!n.is0(S.Y))return;throw new Error("bad point: ZERO")}let{x:b,y:N}=S.toAffine();if(!n.isValid(b)||!n.isValid(N))throw new Error("bad point: x or y not field elements");if(!g(b,N))throw new Error("bad point: equation left != right");if(!S.isTorsionFree())throw new Error("bad point: not in prime-order subgroup");return!0});function v(S,b,N,C,B){return N=new w(n.mul(N.X,S),N.Y,N.Z),b=$o(C,b),N=$o(B,N),b.add(N)}class w{constructor(b,N,C){this.X=y("x",b),this.Y=y("y",N,!0),this.Z=y("z",C),Object.freeze(this)}static CURVE(){return i}static fromAffine(b){let{x:N,y:C}=b||{};if(!b||!n.isValid(N)||!n.isValid(C))throw new Error("invalid affine point");if(b instanceof w)throw new Error("projective point not allowed");return n.is0(N)&&n.is0(C)?w.ZERO:new w(N,C,n.ONE)}static fromBytes(b){let N=w.fromAffine(h(Sr(b,void 0,"point")));return N.assertValidity(),N}static fromHex(b){return w.fromBytes(pe("pointHex",b))}get x(){return this.toAffine().x}get y(){return this.toAffine().y}precompute(b=8,N=!0){return F.createCache(this,b),N||this.multiply(ro),this}assertValidity(){R(this)}hasEvenY(){let{y:b}=this.toAffine();if(!n.isOdd)throw new Error("Field doesn't support isOdd");return!n.isOdd(b)}equals(b){T(b);let{X:N,Y:C,Z:B}=this,{X:q,Y:A,Z:V}=b,P=n.eql(n.mul(N,V),n.mul(q,B)),D=n.eql(n.mul(C,V),n.mul(A,B));return P&&D}negate(){return new w(this.X,n.neg(this.Y),this.Z)}double(){let{a:b,b:N}=i,C=n.mul(N,ro),{X:B,Y:q,Z:A}=this,V=n.ZERO,P=n.ZERO,D=n.ZERO,U=n.mul(B,B),re=n.mul(q,q),ee=n.mul(A,A),J=n.mul(B,q);return J=n.add(J,J),D=n.mul(B,A),D=n.add(D,D),V=n.mul(b,D),P=n.mul(C,ee),P=n.add(V,P),V=n.sub(re,P),P=n.add(re,P),P=n.mul(V,P),V=n.mul(J,V),D=n.mul(C,D),ee=n.mul(b,ee),J=n.sub(U,ee),J=n.mul(b,J),J=n.add(J,D),D=n.add(U,U),U=n.add(D,U),U=n.add(U,ee),U=n.mul(U,J),P=n.add(P,U),ee=n.mul(q,A),ee=n.add(ee,ee),U=n.mul(ee,J),V=n.sub(V,U),D=n.mul(ee,re),D=n.add(D,D),D=n.add(D,D),new w(V,P,D)}add(b){T(b);let{X:N,Y:C,Z:B}=this,{X:q,Y:A,Z:V}=b,P=n.ZERO,D=n.ZERO,U=n.ZERO,re=i.a,ee=n.mul(i.b,ro),J=n.mul(N,q),se=n.mul(C,A),he=n.mul(B,V),Fe=n.add(N,C),ne=n.add(q,A);Fe=n.mul(Fe,ne),ne=n.add(J,se),Fe=n.sub(Fe,ne),ne=n.add(N,B);let de=n.add(q,V);return ne=n.mul(ne,de),de=n.add(J,he),ne=n.sub(ne,de),de=n.add(C,B),P=n.add(A,V),de=n.mul(de,P),P=n.add(se,he),de=n.sub(de,P),U=n.mul(re,ne),P=n.mul(ee,he),U=n.add(P,U),P=n.sub(se,U),U=n.add(se,U),D=n.mul(P,U),se=n.add(J,J),se=n.add(se,J),he=n.mul(re,he),ne=n.mul(ee,ne),se=n.add(se,he),he=n.sub(J,he),he=n.mul(re,he),ne=n.add(ne,he),J=n.mul(se,ne),D=n.add(D,J),J=n.mul(de,ne),P=n.mul(Fe,P),P=n.sub(P,J),J=n.mul(Fe,se),U=n.mul(de,U),U=n.add(U,J),new w(P,D,U)}subtract(b){return this.add(b.negate())}is0(){return this.equals(w.ZERO)}multiply(b){let{endo:N}=t;if(!o.isValidNot0(b))throw new Error("invalid scalar: out of range");let C,B,q=A=>F.cached(this,A,V=>ct(w,V));if(N){let{k1neg:A,k1:V,k2neg:P,k2:D}=E(b),{p:U,f:re}=q(V),{p:ee,f:J}=q(D);B=re.add(J),C=v(N.beta,U,ee,A,P)}else{let{p:A,f:V}=q(b);C=A,B=V}return ct(w,[C,B])[0]}multiplyUnsafe(b){let{endo:N}=t,C=this;if(!o.isValid(b))throw new Error("invalid scalar: out of range");if(b===Cn||C.is0())return w.ZERO;if(b===Ke)return C;if(F.hasCache(this))return this.multiply(b);if(N){let{k1neg:B,k1:q,k2neg:A,k2:V}=E(b),{p1:P,p2:D}=Eu(w,C,q,V);return v(N.beta,P,D,B,A)}else return F.unsafe(C,b)}multiplyAndAddUnsafe(b,N,C){let B=this.multiplyUnsafe(N).add(b.multiplyUnsafe(C));return B.is0()?void 0:B}toAffine(b){return O(this,b)}isTorsionFree(){let{isTorsionFree:b}=t;return s===Ke?!0:b?b(w,this):F.unsafe(this,a).is0()}clearCofactor(){let{clearCofactor:b}=t;return s===Ke?this:b?b(w,this):this.multiplyUnsafe(s)}isSmallOrder(){return this.multiplyUnsafe(s).is0()}toBytes(b=!0){return vn(b,"isCompressed"),this.assertValidity(),f(w,this,b)}toHex(b=!0){return j(this.toBytes(b))}toString(){return`<Point ${this.is0()?"ZERO":this.toHex()}>`}get px(){return this.X}get py(){return this.X}get pz(){return this.Z}toRawBytes(b=!0){return this.toBytes(b)}_setWindowSize(b){this.precompute(b)}static normalizeZ(b){return ct(w,b)}static msm(b,N){return to(w,o,b,N)}static fromPrivateKey(b){return w.BASE.multiply(Jo(o,b))}}w.BASE=new w(i.Gx,i.Gy,n.ONE),w.ZERO=new w(n.ZERO,n.ONE,n.ZERO),w.Fp=n,w.Fn=o;let I=o.BITS,F=new eo(w,t.endo?Math.ceil(I/2):I);return w.BASE.precompute(8),w}function lh(e){return Uint8Array.of(e?2:3)}function uh(e,t){let r=e.ORDER,n=Cn;for(let h=r-Ke;h%ur===Cn;h/=ur)n+=Ke;let o=n,i=ur<<o-Ke-Ke,s=i*ur,a=(r-Ke)/s,c=(a-Ke)/ur,u=s-Ke,p=i,d=e.pow(t,a),l=e.pow(t,(a+Ke)/ur),f=(h,_)=>{let g=d,m=e.pow(_,u),x=e.sqr(m);x=e.mul(x,_);let y=e.mul(h,x);y=e.pow(y,c),y=e.mul(y,m),m=e.mul(y,_),x=e.mul(y,h);let T=e.mul(x,m);y=e.pow(T,p);let E=e.eql(y,e.ONE);m=e.mul(x,l),y=e.mul(T,g),x=e.cmov(m,x,E),T=e.cmov(y,T,E);for(let O=o;O>Ke;O--){let R=O-ur;R=ur<<R-Ke;let v=e.pow(T,R),w=e.eql(v,e.ONE);m=e.mul(x,g),g=e.mul(g,g),v=e.mul(T,g),x=e.cmov(m,x,w),T=e.cmov(v,T,w)}return{isValid:E,value:x}};if(e.ORDER%Pa===ro){let h=(e.ORDER-ro)/Pa,_=e.sqrt(e.neg(t));f=(g,m)=>{let x=e.sqr(m),y=e.mul(g,m);x=e.mul(x,y);let T=e.pow(x,h);T=e.mul(T,y);let E=e.mul(T,_),O=e.mul(e.sqr(T),m),R=e.eql(O,g),v=e.cmov(E,T,R);return{isValid:R,value:v}}}return f}function Ba(e,t){rs(e);let{A:r,B:n,Z:o}=t;if(!e.isValid(r)||!e.isValid(n)||!e.isValid(o))throw new Error("mapToCurveSimpleSWU: invalid opts");let i=uh(e,o);if(!e.isOdd)throw new Error("Field does not have .isOdd()");return s=>{let a,c,u,p,d,l,f,h;a=e.sqr(s),a=e.mul(a,o),c=e.sqr(a),c=e.add(c,a),u=e.add(c,e.ONE),u=e.mul(u,n),p=e.cmov(o,e.neg(c),!e.eql(c,e.ZERO)),p=e.mul(p,r),c=e.sqr(u),l=e.sqr(p),d=e.mul(l,r),c=e.add(c,d),c=e.mul(c,u),l=e.mul(l,p),d=e.mul(l,n),c=e.add(c,d),f=e.mul(a,u);let{isValid:_,value:g}=i(c,l);h=e.mul(a,s),h=e.mul(h,g),f=e.cmov(f,u,_),h=e.cmov(h,g,_);let m=e.isOdd(s)===e.isOdd(h);h=e.cmov(e.neg(h),h,m);let x=at(e,[p],!0)[0];return f=e.mul(f,x),{x:f,y:h}}}function dh(e,t){return{secretKey:t.BYTES,publicKey:1+e.BYTES,publicKeyUncompressed:1+2*e.BYTES,publicKeyHasPrefix:!0,signature:2*t.BYTES}}function Da(e){let{CURVE:t,curveOpts:r}=ph(e),n=ch(t,r);return hh(e,n)}function ph(e){let t={a:e.a,b:e.b,p:e.Fp.ORDER,n:e.n,h:e.h,Gx:e.Gx,Gy:e.Gy},r=e.Fp,n=e.allowedPrivateKeyLengths?Array.from(new Set(e.allowedPrivateKeyLengths.map(s=>Math.ceil(s/2)))):void 0,o=je(t.n,{BITS:e.nBitLength,allowedLengths:n,modFromBytes:e.wrapPrivateKey}),i={Fp:r,Fn:o,allowInfinityPoint:e.allowInfinityPoint,endo:e.endo,isTorsionFree:e.isTorsionFree,clearCofactor:e.clearCofactor,fromBytes:e.fromBytes,toBytes:e.toBytes};return{CURVE:t,curveOpts:i}}function fh(e,t,r){function n(o){let i=e.sqr(o),s=e.mul(i,o);return e.add(e.add(s,e.mul(o,t)),r)}return n}function hh(e,t){let{Fp:r,Fn:n}=t;function o(s){return Oa(s,Ke,n.ORDER)}let i=fh(r,e.a,e.b);return Object.assign({},{CURVE:e,Point:t,ProjectivePoint:t,normPrivateKeyToScalar:s=>Jo(n,s),weierstrassEquation:i,isWithinCurveOrder:o})}var mh=BigInt(0),is=BigInt(1),vu=BigInt(2),no=BigInt(3);function _h(e){let t=[];for(;e>is;e>>=is)(e&is)===mh?t.unshift(0):(e&no)===no?(t.unshift(-1),e+=is):t.unshift(1);return t}function Ua(e){if(!Array.isArray(e)||e.length===0)throw new Error("expected non-empty array")}function yh(e,t,r,n){let{Fp2:o,Fp12:i}=e,{twistType:s,ateLoopSize:a,xNegative:c,postPrecompute:u}=n,p;if(s==="multiplicative")p=(y,T,E,O,R,v)=>i.mul014(O,y,o.mul(T,R),o.mul(E,v));else if(s==="divisive")p=(y,T,E,O,R,v)=>i.mul034(O,o.mul(E,v),o.mul(T,R),y);else throw new Error("bls: unknown twist type");let d=o.div(o.ONE,o.mul(o.ONE,vu));function l(y,T,E,O){let R=o.sqr(E),v=o.sqr(O),w=o.mulByB(o.mul(v,no)),I=o.mul(w,no),F=o.sub(o.sub(o.sqr(o.add(E,O)),v),R),S=o.sub(w,R),b=o.mul(o.sqr(T),no),N=o.neg(F);return y.push([S,b,N]),T=o.mul(o.mul(o.mul(o.sub(R,I),T),E),d),E=o.sub(o.sqr(o.mul(o.add(R,I),d)),o.mul(o.sqr(w),no)),O=o.mul(R,F),{Rx:T,Ry:E,Rz:O}}function f(y,T,E,O,R,v){let w=o.sub(E,o.mul(v,O)),I=o.sub(T,o.mul(R,O)),F=o.sub(o.mul(w,R),o.mul(I,v)),S=o.neg(w),b=I;y.push([F,S,b]);let N=o.sqr(I),C=o.mul(N,I),B=o.mul(N,T),q=o.add(o.sub(C,o.mul(B,vu)),o.mul(o.sqr(w),O));return T=o.mul(I,q),E=o.sub(o.mul(o.sub(B,q),w),o.mul(C,E)),O=o.mul(O,C),{Rx:T,Ry:E,Rz:O}}let h=_h(a),_=Cr(y=>{let T=y,{x:E,y:O}=T.toAffine(),R=E,v=O,w=o.neg(O),I=R,F=v,S=o.ONE,b=[];for(let N of h){let C=[];({Rx:I,Ry:F,Rz:S}=l(C,I,F,S)),N&&({Rx:I,Ry:F,Rz:S}=f(C,I,F,S,R,N===-1?w:v)),b.push(C)}if(u){let N=b[b.length-1];u(I,F,S,R,v,f.bind(null,N))}return b});function g(y,T=!1){let E=i.ONE;if(y.length){let O=y[0][0].length;for(let R=0;R<O;R++){E=i.sqr(E);for(let[v,w,I]of y)for(let[F,S,b]of v[R])E=p(F,S,b,E,w,I)}}return c&&(E=i.conjugate(E)),T?i.finalExponentiate(E):E}function m(y,T=!0){let E=[];ct(t,y.map(({g1:O})=>O)),ct(r,y.map(({g2:O})=>O));for(let{g1:O,g2:R}of y){if(O.is0()||R.is0())throw new Error("pairing is not available for ZERO point");O.assertValidity(),R.assertValidity();let v=O.toAffine();E.push([_(R),v.x,v.y])}return g(E,T)}function x(y,T,E=!0){return m([{g1:y,g2:T}],E)}return{Fp12:i,millerLoopBatch:g,pairing:x,pairingBatch:m,calcPairingPrecomputes:_}}function Au(e,t,r,n,o){let{Fp12:i,pairingBatch:s}=e;function a(d){return d instanceof t.Point?d:t.Point.fromHex(d)}function c(d){return d instanceof r.Point?d:r.Point.fromHex(d)}function u(d){if(!(d instanceof r.Point))throw new Error(`expected valid message hashed to ${o?"G1":"G2"} curve`);return d}let p=o?(d,l)=>({g1:l,g2:d}):(d,l)=>({g1:d,g2:l});return{getPublicKey(d){let l=Jo(t.Point.Fn,d);return t.Point.BASE.multiply(l)},sign(d,l,f){if(f!=null)throw new Error("sign() expects 2 arguments");let h=Jo(t.Point.Fn,l);return u(d).assertValidity(),d.multiply(h)},verify(d,l,f,h){if(h!=null)throw new Error("verify() expects 3 arguments");d=c(d),f=a(f);let _=f.negate(),g=t.Point.BASE,m=u(l),x=d,y=s([p(_,m),p(g,x)]);return i.eql(y,i.ONE)},verifyBatch(d,l,f){if(Ua(l),f.length!==l.length)throw new Error("amount of public keys and messages should be equal");let h=c(d),_=l,g=f.map(a),m=new Map;for(let T=0;T<g.length;T++){let E=g[T],O=_[T],R=m.get(O);R===void 0&&(R=[],m.set(O,R)),R.push(E)}let x=[],y=t.Point.BASE;try{for(let[T,E]of m){let O=E.reduce((R,v)=>R.add(v));x.push(p(O,T))}return x.push(p(y.negate(),h)),i.eql(s(x),i.ONE)}catch{return!1}},aggregatePublicKeys(d){Ua(d),d=d.map(f=>a(f));let l=d.reduce((f,h)=>f.add(h),t.Point.ZERO);return l.assertValidity(),l},aggregateSignatures(d){Ua(d),d=d.map(f=>c(f));let l=d.reduce((f,h)=>f.add(h),r.Point.ZERO);return l.assertValidity(),l},hash(d,l){me(d);let f=l?{DST:l}:void 0;return r.hashToCurve(d,f)},Signature:n}}function Su(e){let{Fp:t,Fr:r,Fp2:n,Fp6:o,Fp12:i}=e.fields,s=Da(e.G1),a=Object.assign(s,Va(s.Point,e.G1.mapToCurve,{...e.htfDefaults,...e.G1.htfDefaults})),c=Da(e.G2),u=Object.assign(c,Va(c.Point,e.G2.mapToCurve,{...e.htfDefaults,...e.G2.htfDefaults})),p=yh(e.fields,a.Point,u.Point,{...e.params,postPrecompute:e.postPrecompute}),{millerLoopBatch:d,pairing:l,pairingBatch:f,calcPairingPrecomputes:h}=p,_=Au(p,a,u,e.G2.Signature,!1),g=Au(p,u,a,e.G1.ShortSignature,!0),m=e.randomBytes||kn,x=()=>{let A=ns(r.ORDER);return Ia(m(A),r.ORDER)},y={randomSecretKey:x,randomPrivateKey:x,calcPairingPrecomputes:h},{ShortSignature:T}=e.G1,{Signature:E}=e.G2;function O(A,V){return A instanceof a.Point?A:g.hash(pe("point",A),V?.DST)}function R(A,V){return A instanceof u.Point?A:_.hash(pe("point",A),V?.DST)}function v(A){return _.getPublicKey(A).toBytes(!0)}function w(A){return g.getPublicKey(A).toBytes(!0)}function I(A,V,P){let D=R(A,P),U=_.sign(D,V);return A instanceof u.Point?U:E.toBytes(U)}function F(A,V,P){let D=O(A,P),U=g.sign(D,V);return A instanceof a.Point?U:T.toBytes(U)}function S(A,V,P,D){let U=R(V,D);return _.verify(A,U,P)}function b(A,V,P,D){let U=O(V,D);return g.verify(A,U,P)}function N(A){let V=_.aggregatePublicKeys(A);return A[0]instanceof a.Point?V:V.toBytes(!0)}function C(A){let V=_.aggregateSignatures(A);return A[0]instanceof u.Point?V:E.toBytes(V)}function B(A){let V=g.aggregateSignatures(A);return A[0]instanceof a.Point?V:T.toBytes(V)}function q(A,V,P,D){let U=V.map(re=>R(re,D));return _.verifyBatch(A,U,P)}return a.Point.BASE.precompute(4),{longSignatures:_,shortSignatures:g,millerLoopBatch:d,pairing:l,pairingBatch:f,verifyBatch:q,fields:{Fr:r,Fp:t,Fp2:n,Fp6:o,Fp12:i},params:{ateLoopSize:e.params.ateLoopSize,twistType:e.params.twistType,r:e.params.r,G1b:e.G1.b,G2b:e.G2.b},utils:y,getPublicKey:v,getPublicKeyForShortSignatures:w,sign:I,signShortSignature:F,verify:S,verifyShortSignature:b,aggregatePublicKeys:N,aggregateSignatures:C,aggregateShortSignatures:B,G1:a,G2:u,Signature:E,ShortSignature:T}}var Cu=BigInt(0),dr=BigInt(1),He=BigInt(2),Fu=BigInt(3);function Ma(e,t,r,n,o=1,i){let s=BigInt(i===void 0?n:i),a=r**BigInt(n),c=[];for(let u=0;u<o;u++){let p=BigInt(u+1),d=[];for(let l=0,f=dr;l<n;l++){let h=(p*f-p)/s%a;d.push(e.pow(t,h)),f*=r}c.push(d)}return c}function Pu(e,t,r){let n=t.pow(r,(e.ORDER-dr)/Fu),o=t.pow(r,(e.ORDER-dr)/He);function i(l,f){let h=t.mul(t.frobeniusMap(l,1),n),_=t.mul(t.frobeniusMap(f,1),o);return[h,_]}let s=t.pow(r,(e.ORDER**He-dr)/Fu),a=t.pow(r,(e.ORDER**He-dr)/He);if(!t.eql(a,t.neg(t.ONE)))throw new Error("psiFrobenius: PSI2_Y!==-1");function c(l,f){return[t.mul(l,s),t.neg(f)]}let u=l=>(f,h)=>{let _=h.toAffine(),g=l(_.x,_.y);return f.fromAffine({x:g[0],y:g[1]})},p=u(i),d=u(c);return{psi:i,psi2:c,G2psi:p,G2psi2:d,PSI_X:n,PSI_Y:o,PSI2_X:s,PSI2_Y:a}}var Vu=(e,t)=>{if(t.length!==2)throw new Error("invalid tuple");let r=t.map(n=>e.create(n));return{c0:r[0],c1:r[1]}},ka=class{constructor(t,r={}){this.MASK=dr;let n=t.ORDER,o=n*n;this.Fp=t,this.ORDER=o,this.BITS=ar(o),this.BYTES=Math.ceil(ar(o)/8),this.isLE=t.isLE,this.ZERO={c0:t.ZERO,c1:t.ZERO},this.ONE={c0:t.ONE,c1:t.ZERO},this.Fp_NONRESIDUE=t.create(r.NONRESIDUE||BigInt(-1)),this.Fp_div2=t.div(t.ONE,He),this.NONRESIDUE=Vu(t,r.FP2_NONRESIDUE),this.FROBENIUS_COEFFICIENTS=Ma(t,this.Fp_NONRESIDUE,t.ORDER,2)[0],this.mulByB=r.Fp2mulByB,Object.seal(this)}fromBigTuple(t){return Vu(this.Fp,t)}create(t){return t}isValid({c0:t,c1:r}){function n(o,i){return typeof o=="bigint"&&Cu<=o&&o<i}return n(t,this.ORDER)&&n(r,this.ORDER)}is0({c0:t,c1:r}){return this.Fp.is0(t)&&this.Fp.is0(r)}isValidNot0(t){return!this.is0(t)&&this.isValid(t)}eql({c0:t,c1:r},{c0:n,c1:o}){return this.Fp.eql(t,n)&&this.Fp.eql(r,o)}neg({c0:t,c1:r}){return{c0:this.Fp.neg(t),c1:this.Fp.neg(r)}}pow(t,r){return Ho(this,t,r)}invertBatch(t){return at(this,t)}add(t,r){let{c0:n,c1:o}=t,{c0:i,c1:s}=r;return{c0:this.Fp.add(n,i),c1:this.Fp.add(o,s)}}sub({c0:t,c1:r},{c0:n,c1:o}){return{c0:this.Fp.sub(t,n),c1:this.Fp.sub(r,o)}}mul({c0:t,c1:r},n){let{Fp:o}=this;if(typeof n=="bigint")return{c0:o.mul(t,n),c1:o.mul(r,n)};let{c0:i,c1:s}=n,a=o.mul(t,i),c=o.mul(r,s),u=o.sub(a,c),p=o.sub(o.mul(o.add(t,r),o.add(i,s)),o.add(a,c));return{c0:u,c1:p}}sqr({c0:t,c1:r}){let{Fp:n}=this,o=n.add(t,r),i=n.sub(t,r),s=n.add(t,t);return{c0:n.mul(o,i),c1:n.mul(s,r)}}addN(t,r){return this.add(t,r)}subN(t,r){return this.sub(t,r)}mulN(t,r){return this.mul(t,r)}sqrN(t){return this.sqr(t)}div(t,r){let{Fp:n}=this;return this.mul(t,typeof r=="bigint"?n.inv(n.create(r)):this.inv(r))}inv({c0:t,c1:r}){let{Fp:n}=this,o=n.inv(n.create(t*t+r*r));return{c0:n.mul(o,n.create(t)),c1:n.mul(o,n.create(-r))}}sqrt(t){let{Fp:r}=this,n=this,{c0:o,c1:i}=t;if(r.is0(i))return Ko(r,o)===1?n.create({c0:r.sqrt(o),c1:r.ZERO}):n.create({c0:r.ZERO,c1:r.sqrt(r.div(o,this.Fp_NONRESIDUE))});let s=r.sqrt(r.sub(r.sqr(o),r.mul(r.sqr(i),this.Fp_NONRESIDUE))),a=r.mul(r.add(s,o),this.Fp_div2);Ko(r,a)===-1&&(a=r.sub(a,s));let u=r.sqrt(a),p=n.create({c0:u,c1:r.div(r.mul(i,this.Fp_div2),u)});if(!n.eql(n.sqr(p),t))throw new Error("Cannot find square root");let d=p,l=n.neg(d),{re:f,im:h}=n.reim(d),{re:_,im:g}=n.reim(l);return h>g||h===g&&f>_?d:l}isOdd(t){let{re:r,im:n}=this.reim(t),o=r%He,i=r===Cu,s=n%He;return BigInt(o||i&&s)==dr}fromBytes(t){let{Fp:r}=this;if(t.length!==this.BYTES)throw new Error("fromBytes invalid length="+t.length);return{c0:r.fromBytes(t.subarray(0,r.BYTES)),c1:r.fromBytes(t.subarray(r.BYTES))}}toBytes({c0:t,c1:r}){return K(this.Fp.toBytes(t),this.Fp.toBytes(r))}cmov({c0:t,c1:r},{c0:n,c1:o},i){return{c0:this.Fp.cmov(t,n,i),c1:this.Fp.cmov(r,o,i)}}reim({c0:t,c1:r}){return{re:t,im:r}}Fp4Square(t,r){let n=this,o=n.sqr(t),i=n.sqr(r);return{first:n.add(n.mulByNonresidue(i),o),second:n.sub(n.sub(n.sqr(n.add(t,r)),o),i)}}mulByNonresidue({c0:t,c1:r}){return this.mul({c0:t,c1:r},this.NONRESIDUE)}frobeniusMap({c0:t,c1:r},n){return{c0:t,c1:this.Fp.mul(r,this.FROBENIUS_COEFFICIENTS[n%2])}}},La=class{constructor(t){this.MASK=dr,this.Fp2=t,this.ORDER=t.ORDER,this.BITS=3*t.BITS,this.BYTES=3*t.BYTES,this.isLE=t.isLE,this.ZERO={c0:t.ZERO,c1:t.ZERO,c2:t.ZERO},this.ONE={c0:t.ONE,c1:t.ZERO,c2:t.ZERO};let{Fp:r}=t,n=Ma(t,t.NONRESIDUE,r.ORDER,6,2,3);this.FROBENIUS_COEFFICIENTS_1=n[0],this.FROBENIUS_COEFFICIENTS_2=n[1],Object.seal(this)}add({c0:t,c1:r,c2:n},{c0:o,c1:i,c2:s}){let{Fp2:a}=this;return{c0:a.add(t,o),c1:a.add(r,i),c2:a.add(n,s)}}sub({c0:t,c1:r,c2:n},{c0:o,c1:i,c2:s}){let{Fp2:a}=this;return{c0:a.sub(t,o),c1:a.sub(r,i),c2:a.sub(n,s)}}mul({c0:t,c1:r,c2:n},o){let{Fp2:i}=this;if(typeof o=="bigint")return{c0:i.mul(t,o),c1:i.mul(r,o),c2:i.mul(n,o)};let{c0:s,c1:a,c2:c}=o,u=i.mul(t,s),p=i.mul(r,a),d=i.mul(n,c);return{c0:i.add(u,i.mulByNonresidue(i.sub(i.mul(i.add(r,n),i.add(a,c)),i.add(p,d)))),c1:i.add(i.sub(i.mul(i.add(t,r),i.add(s,a)),i.add(u,p)),i.mulByNonresidue(d)),c2:i.sub(i.add(p,i.mul(i.add(t,n),i.add(s,c))),i.add(u,d))}}sqr({c0:t,c1:r,c2:n}){let{Fp2:o}=this,i=o.sqr(t),s=o.mul(o.mul(t,r),He),a=o.mul(o.mul(r,n),He),c=o.sqr(n);return{c0:o.add(o.mulByNonresidue(a),i),c1:o.add(o.mulByNonresidue(c),s),c2:o.sub(o.sub(o.add(o.add(s,o.sqr(o.add(o.sub(t,r),n))),a),i),c)}}addN(t,r){return this.add(t,r)}subN(t,r){return this.sub(t,r)}mulN(t,r){return this.mul(t,r)}sqrN(t){return this.sqr(t)}create(t){return t}isValid({c0:t,c1:r,c2:n}){let{Fp2:o}=this;return o.isValid(t)&&o.isValid(r)&&o.isValid(n)}is0({c0:t,c1:r,c2:n}){let{Fp2:o}=this;return o.is0(t)&&o.is0(r)&&o.is0(n)}isValidNot0(t){return!this.is0(t)&&this.isValid(t)}neg({c0:t,c1:r,c2:n}){let{Fp2:o}=this;return{c0:o.neg(t),c1:o.neg(r),c2:o.neg(n)}}eql({c0:t,c1:r,c2:n},{c0:o,c1:i,c2:s}){let{Fp2:a}=this;return a.eql(t,o)&&a.eql(r,i)&&a.eql(n,s)}sqrt(t){return Xn()}div(t,r){let{Fp2:n}=this,{Fp:o}=n;return this.mul(t,typeof r=="bigint"?o.inv(o.create(r)):this.inv(r))}pow(t,r){return Ho(this,t,r)}invertBatch(t){return at(this,t)}inv({c0:t,c1:r,c2:n}){let{Fp2:o}=this,i=o.sub(o.sqr(t),o.mulByNonresidue(o.mul(n,r))),s=o.sub(o.mulByNonresidue(o.sqr(n)),o.mul(t,r)),a=o.sub(o.sqr(r),o.mul(t,n)),c=o.inv(o.add(o.mulByNonresidue(o.add(o.mul(n,s),o.mul(r,a))),o.mul(t,i)));return{c0:o.mul(c,i),c1:o.mul(c,s),c2:o.mul(c,a)}}fromBytes(t){let{Fp2:r}=this;if(t.length!==this.BYTES)throw new Error("fromBytes invalid length="+t.length);let n=r.BYTES;return{c0:r.fromBytes(t.subarray(0,n)),c1:r.fromBytes(t.subarray(n,n*2)),c2:r.fromBytes(t.subarray(2*n))}}toBytes({c0:t,c1:r,c2:n}){let{Fp2:o}=this;return K(o.toBytes(t),o.toBytes(r),o.toBytes(n))}cmov({c0:t,c1:r,c2:n},{c0:o,c1:i,c2:s},a){let{Fp2:c}=this;return{c0:c.cmov(t,o,a),c1:c.cmov(r,i,a),c2:c.cmov(n,s,a)}}fromBigSix(t){let{Fp2:r}=this;if(!Array.isArray(t)||t.length!==6)throw new Error("invalid Fp6 usage");return{c0:r.fromBigTuple(t.slice(0,2)),c1:r.fromBigTuple(t.slice(2,4)),c2:r.fromBigTuple(t.slice(4,6))}}frobeniusMap({c0:t,c1:r,c2:n},o){let{Fp2:i}=this;return{c0:i.frobeniusMap(t,o),c1:i.mul(i.frobeniusMap(r,o),this.FROBENIUS_COEFFICIENTS_1[o%6]),c2:i.mul(i.frobeniusMap(n,o),this.FROBENIUS_COEFFICIENTS_2[o%6])}}mulByFp2({c0:t,c1:r,c2:n},o){let{Fp2:i}=this;return{c0:i.mul(t,o),c1:i.mul(r,o),c2:i.mul(n,o)}}mulByNonresidue({c0:t,c1:r,c2:n}){let{Fp2:o}=this;return{c0:o.mulByNonresidue(n),c1:t,c2:r}}mul1({c0:t,c1:r,c2:n},o){let{Fp2:i}=this;return{c0:i.mulByNonresidue(i.mul(n,o)),c1:i.mul(t,o),c2:i.mul(r,o)}}mul01({c0:t,c1:r,c2:n},o,i){let{Fp2:s}=this,a=s.mul(t,o),c=s.mul(r,i);return{c0:s.add(s.mulByNonresidue(s.sub(s.mul(s.add(r,n),i),c)),a),c1:s.sub(s.sub(s.mul(s.add(o,i),s.add(t,r)),a),c),c2:s.add(s.sub(s.mul(s.add(t,n),o),a),c)}}},qa=class{constructor(t,r){this.MASK=dr;let{Fp2:n}=t,{Fp:o}=n;this.Fp6=t,this.ORDER=n.ORDER,this.BITS=2*t.BITS,this.BYTES=2*t.BYTES,this.isLE=t.isLE,this.ZERO={c0:t.ZERO,c1:t.ZERO},this.ONE={c0:t.ONE,c1:t.ZERO},this.FROBENIUS_COEFFICIENTS=Ma(n,n.NONRESIDUE,o.ORDER,12,1,6)[0],this.X_LEN=r.X_LEN,this.finalExponentiate=r.Fp12finalExponentiate}create(t){return t}isValid({c0:t,c1:r}){let{Fp6:n}=this;return n.isValid(t)&&n.isValid(r)}is0({c0:t,c1:r}){let{Fp6:n}=this;return n.is0(t)&&n.is0(r)}isValidNot0(t){return!this.is0(t)&&this.isValid(t)}neg({c0:t,c1:r}){let{Fp6:n}=this;return{c0:n.neg(t),c1:n.neg(r)}}eql({c0:t,c1:r},{c0:n,c1:o}){let{Fp6:i}=this;return i.eql(t,n)&&i.eql(r,o)}sqrt(t){Xn()}inv({c0:t,c1:r}){let{Fp6:n}=this,o=n.inv(n.sub(n.sqr(t),n.mulByNonresidue(n.sqr(r))));return{c0:n.mul(t,o),c1:n.neg(n.mul(r,o))}}div(t,r){let{Fp6:n}=this,{Fp2:o}=n,{Fp:i}=o;return this.mul(t,typeof r=="bigint"?i.inv(i.create(r)):this.inv(r))}pow(t,r){return Ho(this,t,r)}invertBatch(t){return at(this,t)}add({c0:t,c1:r},{c0:n,c1:o}){let{Fp6:i}=this;return{c0:i.add(t,n),c1:i.add(r,o)}}sub({c0:t,c1:r},{c0:n,c1:o}){let{Fp6:i}=this;return{c0:i.sub(t,n),c1:i.sub(r,o)}}mul({c0:t,c1:r},n){let{Fp6:o}=this;if(typeof n=="bigint")return{c0:o.mul(t,n),c1:o.mul(r,n)};let{c0:i,c1:s}=n,a=o.mul(t,i),c=o.mul(r,s);return{c0:o.add(a,o.mulByNonresidue(c)),c1:o.sub(o.mul(o.add(t,r),o.add(i,s)),o.add(a,c))}}sqr({c0:t,c1:r}){let{Fp6:n}=this,o=n.mul(t,r);return{c0:n.sub(n.sub(n.mul(n.add(n.mulByNonresidue(r),t),n.add(t,r)),o),n.mulByNonresidue(o)),c1:n.add(o,o)}}addN(t,r){return this.add(t,r)}subN(t,r){return this.sub(t,r)}mulN(t,r){return this.mul(t,r)}sqrN(t){return this.sqr(t)}fromBytes(t){let{Fp6:r}=this;if(t.length!==this.BYTES)throw new Error("fromBytes invalid length="+t.length);return{c0:r.fromBytes(t.subarray(0,r.BYTES)),c1:r.fromBytes(t.subarray(r.BYTES))}}toBytes({c0:t,c1:r}){let{Fp6:n}=this;return K(n.toBytes(t),n.toBytes(r))}cmov({c0:t,c1:r},{c0:n,c1:o},i){let{Fp6:s}=this;return{c0:s.cmov(t,n,i),c1:s.cmov(r,o,i)}}fromBigTwelve(t){let{Fp6:r}=this;return{c0:r.fromBigSix(t.slice(0,6)),c1:r.fromBigSix(t.slice(6,12))}}frobeniusMap(t,r){let{Fp6:n}=this,{Fp2:o}=n,{c0:i,c1:s,c2:a}=n.frobeniusMap(t.c1,r),c=this.FROBENIUS_COEFFICIENTS[r%12];return{c0:n.frobeniusMap(t.c0,r),c1:n.create({c0:o.mul(i,c),c1:o.mul(s,c),c2:o.mul(a,c)})}}mulByFp2({c0:t,c1:r},n){let{Fp6:o}=this;return{c0:o.mulByFp2(t,n),c1:o.mulByFp2(r,n)}}conjugate({c0:t,c1:r}){return{c0:t,c1:this.Fp6.neg(r)}}mul014({c0:t,c1:r},n,o,i){let{Fp6:s}=this,{Fp2:a}=s,c=s.mul01(t,n,o),u=s.mul1(r,i);return{c0:s.add(s.mulByNonresidue(u),c),c1:s.sub(s.sub(s.mul01(s.add(r,t),n,a.add(o,i)),c),u)}}mul034({c0:t,c1:r},n,o,i){let{Fp6:s}=this,{Fp2:a}=s,c=s.create({c0:a.mul(t.c0,n),c1:a.mul(t.c1,n),c2:a.mul(t.c2,n)}),u=s.mul01(r,o,i),p=s.mul01(s.add(t,r),a.add(n,o),i);return{c0:s.add(s.mulByNonresidue(u),c),c1:s.sub(p,s.add(c,u))}}_cyclotomicSquare({c0:t,c1:r}){let{Fp6:n}=this,{Fp2:o}=n,{c0:i,c1:s,c2:a}=t,{c0:c,c1:u,c2:p}=r,{first:d,second:l}=o.Fp4Square(i,u),{first:f,second:h}=o.Fp4Square(c,a),{first:_,second:g}=o.Fp4Square(s,p),m=o.mulByNonresidue(g);return{c0:n.create({c0:o.add(o.mul(o.sub(d,i),He),d),c1:o.add(o.mul(o.sub(f,s),He),f),c2:o.add(o.mul(o.sub(_,a),He),_)}),c1:n.create({c0:o.add(o.mul(o.add(m,c),He),m),c1:o.add(o.mul(o.add(l,u),He),l),c2:o.add(o.mul(o.add(h,p),He),h)})}}_cyclotomicExp(t,r){let n=this.ONE;for(let o=this.X_LEN-1;o>=0;o--)n=this._cyclotomicSquare(n),lu(r,o)&&(n=this.mul(n,t));return n}};function Bu(e){let t=je(e.ORDER),r=new ka(t,e),n=new La(r),o=new qa(n,e);return{Fp:t,Fp2:r,Fp6:n,Fp12:o}}var Pe=BigInt(0),ss=BigInt(1),lt=BigInt(2),as=BigInt(3),Wo=BigInt(4),Vr=BigInt("0xd201000000010000"),gh=ar(Vr),Fn={p:BigInt("0x1a0111ea397fe69a4b1ba7b6434bacd764774b84f38512bf6730d2a0f6b0f6241eabfffeb153ffffb9feffffffffaaab"),n:BigInt("0x73eda753299d7d483339d80809a1d80553bda402fffe5bfeffffffff00000001"),h:BigInt("0x396c8c005555e1568c00aaab0000aaab"),a:Pe,b:Wo,Gx:BigInt("0x17f1d3a73197d7942695638c4fa9ac0fc3688c4f9774b905a14e3a3f171bac586c55e83ff97a1aeffb3af00adb22c6bb"),Gy:BigInt("0x08b3f481e3aaa0f1a09e30ed741d8ae4fcf5e095d5d00af600db18cb2c04b3edd03cc744a2888ae40caa232946c5e7e1")},xh=je(Fn.n,{modFromBytes:!0,isLE:!0}),{Fp:M,Fp2:W,Fp6:bh,Fp12:X}=Bu({ORDER:Fn.p,X_LEN:gh,FP2_NONRESIDUE:[ss,ss],Fp2mulByB:({c0:e,c1:t})=>{let r=M.mul(e,Wo),n=M.mul(t,Wo);return{c0:M.sub(r,n),c1:M.add(r,n)}},Fp12finalExponentiate:e=>{let t=Vr,r=X.div(X.frobeniusMap(e,6),e),n=X.mul(X.frobeniusMap(r,2),r),o=X.conjugate(X._cyclotomicExp(n,t)),i=X.mul(X.conjugate(X._cyclotomicSquare(n)),o),s=X.conjugate(X._cyclotomicExp(i,t)),a=X.conjugate(X._cyclotomicExp(s,t)),c=X.mul(X.conjugate(X._cyclotomicExp(a,t)),X._cyclotomicSquare(o)),u=X.conjugate(X._cyclotomicExp(c,t)),p=X.frobeniusMap(X.mul(o,a),2),d=X.frobeniusMap(X.mul(s,n),3),l=X.frobeniusMap(X.mul(c,X.conjugate(n)),1),f=X.mul(X.mul(u,X.conjugate(i)),n);return X.mul(X.mul(X.mul(p,d),l),f)}}),{G2psi:Du,G2psi2:wh}=Pu(M,W,W.div(W.ONE,W.NONRESIDUE)),ja=Object.freeze({DST:"BLS_SIG_BLS12381G2_XMD:SHA-256_SSWU_RO_NUL_",encodeDST:"BLS_SIG_BLS12381G2_XMD:SHA-256_SSWU_RO_NUL_",p:M.ORDER,m:2,k:128,expand:"xmd",hash:Ve}),$a={p:W.ORDER,n:Fn.n,h:BigInt("0x5d543a95414e7f1091d50792876a202cd91de4547085abaa68a205b2e5a7ddfa628f1cb4d9e82ef21537e293a6691ae1616ec6e786f0c70cf1c38e31c7238e5"),a:W.ZERO,b:W.fromBigTuple([Wo,Wo]),Gx:W.fromBigTuple([BigInt("0x024aa2b2f08f0a91260805272dc51051c6e47ad4fa403b02b4510b647ae3d1770bac0326a805bbefd48056c8c121bdb8"),BigInt("0x13e02b6052719f607dacd3a088274f65596bd0d09920b61ab5da61bbdc7f5049334cf11213945d57e5ac7d055d042b7e")]),Gy:W.fromBigTuple([BigInt("0x0ce5d527727d6e118cc9cdc6da2e351aadfd9baa8cbdd3a76d429a695160d12c923ac9cc3baca289e193548608b82801"),BigInt("0x0606c4a02ea734cc32acd2b02bc28b99cb3e287e85a763af267492ab572e99ab3f370d275cec1da1aaa9075ff05f79be")])},cs=zo(M.toBytes(Pe),{infinity:!0,compressed:!0});function ls(e){e=e.slice();let t=e[0]&224,r=!!(t>>7&1),n=!!(t>>6&1),o=!!(t>>5&1);return e[0]&=31,{compressed:r,infinity:n,sort:o,value:e}}function zo(e,t){if(e[0]&224)throw new Error("setMask: non-empty mask");return t.compressed&&(e[0]|=128),t.infinity&&(e[0]|=64),t.sort&&(e[0]|=32),e}function Th(e,t,r){let{BYTES:n,ORDER:o}=M,i=t.is0(),{x:s,y:a}=t.toAffine();if(r){if(i)return cs.slice();let c=!!(a*lt/o);return zo(Oe(s,n),{compressed:!0,sort:c})}else return i?K(Uint8Array.of(64),new Uint8Array(2*n-1)):K(Oe(s,n),Oe(a,n))}function Ka(e){e.assertValidity();let{BYTES:t,ORDER:r}=M,{x:n,y:o}=e.toAffine();if(e.is0())return cs.slice();let i=!!(o*lt/r);return zo(Oe(n,t),{compressed:!0,sort:i})}function Nh(e){let{compressed:t,infinity:r,sort:n,value:o}=ls(e),{BYTES:i,ORDER:s}=M;if(o.length===48&&t){let a=ze(o),c=M.create(a&Rt(M.BITS));if(r){if(c!==Pe)throw new Error("invalid G1 point: non-empty, at infinity, with compression");return{x:Pe,y:Pe}}let u=M.add(M.pow(c,as),M.create(Fn.b)),p=M.sqrt(u);if(!p)throw new Error("invalid G1 point: compressed point");return p*lt/s!==BigInt(n)&&(p=M.neg(p)),{x:M.create(c),y:M.create(p)}}else if(o.length===96&&!t){let a=ze(o.subarray(0,i)),c=ze(o.subarray(i));if(r){if(a!==Pe||c!==Pe)throw new Error("G1: non-empty point at infinity");return Yo.G1.Point.ZERO.toAffine()}return{x:M.create(a),y:M.create(c)}}else throw new Error("invalid G1 point: expected 48/96 bytes")}function Uu(e){let{infinity:t,sort:r,value:n}=ls(pe("signatureHex",e,48)),o=M.ORDER,i=Yo.G1.Point,s=ze(n);if(t)return i.ZERO;let a=M.create(s&Rt(M.BITS)),c=M.add(M.pow(a,as),M.create(Fn.b)),u=M.sqrt(c);if(!u)throw new Error("invalid G1 point: compressed");let p=BigInt(r);u*lt/o!==p&&(u=M.neg(u));let d=i.fromAffine({x:a,y:u});return d.assertValidity(),d}function Oh(e,t,r){let{BYTES:n,ORDER:o}=M,i=t.is0(),{x:s,y:a}=t.toAffine();if(r){if(i)return K(cs,Oe(Pe,n));let c=!!(a.c1===Pe?a.c0*lt/o:a.c1*lt/o);return K(zo(Oe(s.c1,n),{compressed:!0,sort:c}),Oe(s.c0,n))}else{if(i)return K(Uint8Array.of(64),new Uint8Array(4*n-1));let{re:c,im:u}=W.reim(s),{re:p,im:d}=W.reim(a);return K(Oe(u,n),Oe(c,n),Oe(d,n),Oe(p,n))}}function Ha(e){e.assertValidity();let{BYTES:t}=M;if(e.is0())return K(cs,Oe(Pe,t));let{x:r,y:n}=e.toAffine(),{re:o,im:i}=W.reim(r),{re:s,im:a}=W.reim(n),u=!!((a>Pe?a*lt:s*lt)/M.ORDER&ss),p=o;return K(zo(Oe(i,t),{sort:u,compressed:!0}),Oe(p,t))}function Eh(e){let{BYTES:t,ORDER:r}=M,{compressed:n,infinity:o,sort:i,value:s}=ls(e);if(!n&&!o&&i||!n&&o&&i||i&&o&&n)throw new Error("invalid encoding flag: "+(e[0]&224));let a=(c,u,p)=>ze(c.slice(u,p));if(s.length===96&&n){if(o){if(s.reduce((h,_)=>h!==0?_+1:_,0)>0)throw new Error("invalid G2 point: compressed");return{x:W.ZERO,y:W.ZERO}}let c=a(s,0,t),u=a(s,t,2*t),p=W.create({c0:M.create(u),c1:M.create(c)}),d=W.add(W.pow(p,as),$a.b),l=W.sqrt(d),f=l.c1===Pe?l.c0*lt/r:l.c1*lt/r?ss:Pe;return l=i&&f>0?l:W.neg(l),{x:p,y:l}}else if(s.length===192&&!n){if(o){if(s.reduce((l,f)=>l!==0?f+1:f,0)>0)throw new Error("invalid G2 point: uncompressed");return{x:W.ZERO,y:W.ZERO}}let c=a(s,0*t,1*t),u=a(s,1*t,2*t),p=a(s,2*t,3*t),d=a(s,3*t,4*t);return{x:W.fromBigTuple([u,c]),y:W.fromBigTuple([d,p])}}else throw new Error("invalid G2 point: expected 96/192 bytes")}function ku(e){let{ORDER:t}=M,{infinity:r,sort:n,value:o}=ls(pe("signatureHex",e)),i=Yo.G2.Point,s=o.length/2;if(s!==48&&s!==96)throw new Error("invalid compressed signature length, expected 96/192 bytes");let a=ze(o.slice(0,s)),c=ze(o.slice(s));if(r)return i.ZERO;let u=M.create(a&Rt(M.BITS)),p=M.create(c),d=W.create({c0:p,c1:u}),l=W.add(W.pow(d,as),$a.b),f=W.sqrt(l);if(!f)throw new Error("Failed to find a square root");let{re:h,im:_}=W.reim(f),g=BigInt(n),m=_>Pe&&_*lt/t!==g,x=_===Pe&&h*lt/t!==g;(m||x)&&(f=W.neg(f));let y=i.fromAffine({x:d,y:f});return y.assertValidity(),y}var Yo=Su({fields:{Fp:M,Fp2:W,Fp6:bh,Fp12:X,Fr:xh},G1:{...Fn,Fp:M,htfDefaults:{...ja,m:1,DST:"BLS_SIG_BLS12381G1_XMD:SHA-256_SSWU_RO_NUL_"},wrapPrivateKey:!0,allowInfinityPoint:!0,isTorsionFree:(e,t)=>{let r=BigInt("0x5f19672fdf76ce51ba69c6076a0f77eaddb3a93be6f89688de17d813620a00022e01fffffffefffe"),n=new e(M.mul(t.X,r),t.Y,t.Z);return t.multiplyUnsafe(Vr).negate().multiplyUnsafe(Vr).equals(n)},clearCofactor:(e,t)=>t.multiplyUnsafe(Vr).add(t),mapToCurve:Sh,fromBytes:Nh,toBytes:Th,ShortSignature:{fromBytes(e){return me(e),Uu(e)},fromHex(e){return Uu(e)},toBytes(e){return Ka(e)},toRawBytes(e){return Ka(e)},toHex(e){return j(Ka(e))}}},G2:{...$a,Fp:W,hEff:BigInt("0xbc69f08f2ee75b3584c6a0ea91b352888e2a8e9145ad7689986ff031508ffe1329c2f178731db956d82bf015d1212b02ec0ec69d7477c1ae954cbc06689f6a359894c0adebbf6b4e8020005aaa95551"),htfDefaults:{...ja},wrapPrivateKey:!0,allowInfinityPoint:!0,mapToCurve:Ch,isTorsionFree:(e,t)=>t.multiplyUnsafe(Vr).negate().equals(Du(e,t)),clearCofactor:(e,t)=>{let r=Vr,n=t.multiplyUnsafe(r).negate(),o=Du(e,t),i=t.double();return i=wh(e,i),i=i.subtract(o),o=n.add(o),o=o.multiplyUnsafe(r).negate(),i=i.add(o),i=i.subtract(n),i.subtract(t)},fromBytes:Eh,toBytes:Oh,Signature:{fromBytes(e){return me(e),ku(e)},fromHex(e){return ku(e)},toBytes(e){return Ha(e)},toRawBytes(e){return Ha(e)},toHex(e){return j(Ha(e))}}},params:{ateLoopSize:Vr,r:Fn.n,xNegative:!0,twistType:"multiplicative"},htfDefaults:ja,hash:Ve}),Rh=Fa(W,[[["0x5c759507e8e333ebb5b7a9a47d7ed8532c52d39fd3a042a88b58423c50ae15d5c2638e343d9c71c6238aaaaaaaa97d6","0x5c759507e8e333ebb5b7a9a47d7ed8532c52d39fd3a042a88b58423c50ae15d5c2638e343d9c71c6238aaaaaaaa97d6"],["0x0","0x11560bf17baa99bc32126fced787c88f984f87adf7ae0c7f9a208c6b4f20a4181472aaa9cb8d555526a9ffffffffc71a"],["0x11560bf17baa99bc32126fced787c88f984f87adf7ae0c7f9a208c6b4f20a4181472aaa9cb8d555526a9ffffffffc71e","0x8ab05f8bdd54cde190937e76bc3e447cc27c3d6fbd7063fcd104635a790520c0a395554e5c6aaaa9354ffffffffe38d"],["0x171d6541fa38ccfaed6dea691f5fb614cb14b4e7f4e810aa22d6108f142b85757098e38d0f671c7188e2aaaaaaaa5ed1","0x0"]],[["0x0","0x1a0111ea397fe69a4b1ba7b6434bacd764774b84f38512bf6730d2a0f6b0f6241eabfffeb153ffffb9feffffffffaa63"],["0xc","0x1a0111ea397fe69a4b1ba7b6434bacd764774b84f38512bf6730d2a0f6b0f6241eabfffeb153ffffb9feffffffffaa9f"],["0x1","0x0"]],[["0x1530477c7ab4113b59a4c18b076d11930f7da5d4a07f649bf54439d87d27e500fc8c25ebf8c92f6812cfc71c71c6d706","0x1530477c7ab4113b59a4c18b076d11930f7da5d4a07f649bf54439d87d27e500fc8c25ebf8c92f6812cfc71c71c6d706"],["0x0","0x5c759507e8e333ebb5b7a9a47d7ed8532c52d39fd3a042a88b58423c50ae15d5c2638e343d9c71c6238aaaaaaaa97be"],["0x11560bf17baa99bc32126fced787c88f984f87adf7ae0c7f9a208c6b4f20a4181472aaa9cb8d555526a9ffffffffc71c","0x8ab05f8bdd54cde190937e76bc3e447cc27c3d6fbd7063fcd104635a790520c0a395554e5c6aaaa9354ffffffffe38f"],["0x124c9ad43b6cf79bfbf7043de3811ad0761b0f37a1e26286b0e977c69aa274524e79097a56dc4bd9e1b371c71c718b10","0x0"]],[["0x1a0111ea397fe69a4b1ba7b6434bacd764774b84f38512bf6730d2a0f6b0f6241eabfffeb153ffffb9feffffffffa8fb","0x1a0111ea397fe69a4b1ba7b6434bacd764774b84f38512bf6730d2a0f6b0f6241eabfffeb153ffffb9feffffffffa8fb"],["0x0","0x1a0111ea397fe69a4b1ba7b6434bacd764774b84f38512bf6730d2a0f6b0f6241eabfffeb153ffffb9feffffffffa9d3"],["0x12","0x1a0111ea397fe69a4b1ba7b6434bacd764774b84f38512bf6730d2a0f6b0f6241eabfffeb153ffffb9feffffffffaa99"],["0x1","0x0"]]].map(e=>e.map(t=>W.fromBigTuple(t.map(BigInt))))),Ih=Fa(M,[["0x11a05f2b1e833340b809101dd99815856b303e88a2d7005ff2627b56cdb4e2c85610c2d5f2e62d6eaeac1662734649b7","0x17294ed3e943ab2f0588bab22147a81c7c17e75b2f6a8417f565e33c70d1e86b4838f2a6f318c356e834eef1b3cb83bb","0xd54005db97678ec1d1048c5d10a9a1bce032473295983e56878e501ec68e25c958c3e3d2a09729fe0179f9dac9edcb0","0x1778e7166fcc6db74e0609d307e55412d7f5e4656a8dbf25f1b33289f1b330835336e25ce3107193c5b388641d9b6861","0xe99726a3199f4436642b4b3e4118e5499db995a1257fb3f086eeb65982fac18985a286f301e77c451154ce9ac8895d9","0x1630c3250d7313ff01d1201bf7a74ab5db3cb17dd952799b9ed3ab9097e68f90a0870d2dcae73d19cd13c1c66f652983","0xd6ed6553fe44d296a3726c38ae652bfb11586264f0f8ce19008e218f9c86b2a8da25128c1052ecaddd7f225a139ed84","0x17b81e7701abdbe2e8743884d1117e53356de5ab275b4db1a682c62ef0f2753339b7c8f8c8f475af9ccb5618e3f0c88e","0x80d3cf1f9a78fc47b90b33563be990dc43b756ce79f5574a2c596c928c5d1de4fa295f296b74e956d71986a8497e317","0x169b1f8e1bcfa7c42e0c37515d138f22dd2ecb803a0c5c99676314baf4bb1b7fa3190b2edc0327797f241067be390c9e","0x10321da079ce07e272d8ec09d2565b0dfa7dccdde6787f96d50af36003b14866f69b771f8c285decca67df3f1605fb7b","0x6e08c248e260e70bd1e962381edee3d31d79d7e22c837bc23c0bf1bc24c6b68c24b1b80b64d391fa9c8ba2e8ba2d229"],["0x8ca8d548cff19ae18b2e62f4bd3fa6f01d5ef4ba35b48ba9c9588617fc8ac62b558d681be343df8993cf9fa40d21b1c","0x12561a5deb559c4348b4711298e536367041e8ca0cf0800c0126c2588c48bf5713daa8846cb026e9e5c8276ec82b3bff","0xb2962fe57a3225e8137e629bff2991f6f89416f5a718cd1fca64e00b11aceacd6a3d0967c94fedcfcc239ba5cb83e19","0x3425581a58ae2fec83aafef7c40eb545b08243f16b1655154cca8abc28d6fd04976d5243eecf5c4130de8938dc62cd8","0x13a8e162022914a80a6f1d5f43e7a07dffdfc759a12062bb8d6b44e833b306da9bd29ba81f35781d539d395b3532a21e","0xe7355f8e4e667b955390f7f0506c6e9395735e9ce9cad4d0a43bcef24b8982f7400d24bc4228f11c02df9a29f6304a5","0x772caacf16936190f3e0c63e0596721570f5799af53a1894e2e073062aede9cea73b3538f0de06cec2574496ee84a3a","0x14a7ac2a9d64a8b230b3f5b074cf01996e7f63c21bca68a81996e1cdf9822c580fa5b9489d11e2d311f7d99bbdcc5a5e","0xa10ecf6ada54f825e920b3dafc7a3cce07f8d1d7161366b74100da67f39883503826692abba43704776ec3a79a1d641","0x95fc13ab9e92ad4476d6e3eb3a56680f682b4ee96f7d03776df533978f31c1593174e4b4b7865002d6384d168ecdd0a","0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001"],["0x90d97c81ba24ee0259d1f094980dcfa11ad138e48a869522b52af6c956543d3cd0c7aee9b3ba3c2be9845719707bb33","0x134996a104ee5811d51036d776fb46831223e96c254f383d0f906343eb67ad34d6c56711962fa8bfe097e75a2e41c696","0xcc786baa966e66f4a384c86a3b49942552e2d658a31ce2c344be4b91400da7d26d521628b00523b8dfe240c72de1f6","0x1f86376e8981c217898751ad8746757d42aa7b90eeb791c09e4a3ec03251cf9de405aba9ec61deca6355c77b0e5f4cb","0x8cc03fdefe0ff135caf4fe2a21529c4195536fbe3ce50b879833fd221351adc2ee7f8dc099040a841b6daecf2e8fedb","0x16603fca40634b6a2211e11db8f0a6a074a7d0d4afadb7bd76505c3d3ad5544e203f6326c95a807299b23ab13633a5f0","0x4ab0b9bcfac1bbcb2c977d027796b3ce75bb8ca2be184cb5231413c4d634f3747a87ac2460f415ec961f8855fe9d6f2","0x987c8d5333ab86fde9926bd2ca6c674170a05bfe3bdd81ffd038da6c26c842642f64550fedfe935a15e4ca31870fb29","0x9fc4018bd96684be88c9e221e4da1bb8f3abd16679dc26c1e8b6e6a1f20cabe69d65201c78607a360370e577bdba587","0xe1bba7a1186bdb5223abde7ada14a23c42a0ca7915af6fe06985e7ed1e4d43b9b3f7055dd4eba6f2bafaaebca731c30","0x19713e47937cd1be0dfd0b8f1d43fb93cd2fcbcb6caf493fd1183e416389e61031bf3a5cce3fbafce813711ad011c132","0x18b46a908f36f6deb918c143fed2edcc523559b8aaf0c2462e6bfe7f911f643249d9cdf41b44d606ce07c8a4d0074d8e","0xb182cac101b9399d155096004f53f447aa7b12a3426b08ec02710e807b4633f06c851c1919211f20d4c04f00b971ef8","0x245a394ad1eca9b72fc00ae7be315dc757b3b080d4c158013e6632d3c40659cc6cf90ad1c232a6442d9d3f5db980133","0x5c129645e44cf1102a159f748c4a3fc5e673d81d7e86568d9ab0f5d396a7ce46ba1049b6579afb7866b1e715475224b","0x15e6be4e990f03ce4ea50b3b42df2eb5cb181d8f84965a3957add4fa95af01b2b665027efec01c7704b456be69c8b604"],["0x16112c4c3a9c98b252181140fad0eae9601a6de578980be6eec3232b5be72e7a07f3688ef60c206d01479253b03663c1","0x1962d75c2381201e1a0cbd6c43c348b885c84ff731c4d59ca4a10356f453e01f78a4260763529e3532f6102c2e49a03d","0x58df3306640da276faaae7d6e8eb15778c4855551ae7f310c35a5dd279cd2eca6757cd636f96f891e2538b53dbf67f2","0x16b7d288798e5395f20d23bf89edb4d1d115c5dbddbcd30e123da489e726af41727364f2c28297ada8d26d98445f5416","0xbe0e079545f43e4b00cc912f8228ddcc6d19c9f0f69bbb0542eda0fc9dec916a20b15dc0fd2ededda39142311a5001d","0x8d9e5297186db2d9fb266eaac783182b70152c65550d881c5ecd87b6f0f5a6449f38db9dfa9cce202c6477faaf9b7ac","0x166007c08a99db2fc3ba8734ace9824b5eecfdfa8d0cf8ef5dd365bc400a0051d5fa9c01a58b1fb93d1a1399126a775c","0x16a3ef08be3ea7ea03bcddfabba6ff6ee5a4375efa1f4fd7feb34fd206357132b920f5b00801dee460ee415a15812ed9","0x1866c8ed336c61231a1be54fd1d74cc4f9fb0ce4c6af5920abc5750c4bf39b4852cfe2f7bb9248836b233d9d55535d4a","0x167a55cda70a6e1cea820597d94a84903216f763e13d87bb5308592e7ea7d4fbc7385ea3d529b35e346ef48bb8913f55","0x4d2f259eea405bd48f010a01ad2911d9c6dd039bb61a6290e591b36e636a5c871a5c29f4f83060400f8b49cba8f6aa8","0xaccbb67481d033ff5852c1e48c50c477f94ff8aefce42d28c0f9a88cea7913516f968986f7ebbea9684b529e2561092","0xad6b9514c767fe3c3613144b45f1496543346d98adf02267d5ceef9a00d9b8693000763e3b90ac11e99b138573345cc","0x2660400eb2e4f3b628bdd0d53cd76f2bf565b94e72927c1cb748df27942480e420517bd8714cc80d1fadc1326ed06f7","0xe0fa1d816ddc03e6b24255e0d7819c171c40f65e273b853324efcd6356caa205ca2f570f13497804415473a1d634b8f","0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001"]].map(e=>e.map(t=>BigInt(t)))),vh=Ba(M,{A:M.create(BigInt("0x144698a3b8e9433d693a02c96d4982b0ea985383ee66a8d8e8981aefd881ac98936f8da0e0f97f5cf428082d584c1d")),B:M.create(BigInt("0x12e2908d11688030018b12e8753eee3b2016c1f0f24f4070a0b9c14fcef35ef55a23215a316ceaa5d1cc48e98e172be0")),Z:M.create(BigInt(11))}),Ah=Ba(W,{A:W.create({c0:M.create(Pe),c1:M.create(BigInt(240))}),B:W.create({c0:M.create(BigInt(1012)),c1:M.create(BigInt(1012))}),Z:W.create({c0:M.create(BigInt(-2)),c1:M.create(BigInt(-1))})});function Sh(e){let{x:t,y:r}=vh(M.create(e[0]));return Ih(t,r)}function Ch(e){let{x:t,y:r}=Ah(W.fromBigTuple(e));return Rh(t,r)}function Lu(e,t,r){let n=typeof e=="string"?e:j(e),o=typeof t=="string"?t:j(t),i=typeof r=="string"?r:j(r);return Yo.verifyShortSignature(o,i,n)}var Vh=BigInt(1e6),Ga=e=>ge(new wt(e)),Pr=e=>{let r=Ga(e)/Vh;return new Date(Number(r))};var qu=60*1e3,Ph=60,Bh=24,Dh=Bh*Ph,Uh=5,kh=5,Lh=30*Dh,fe;(function(e){e[e.Empty=0]="Empty",e[e.Fork=1]="Fork",e[e.Labeled=2]="Labeled",e[e.Leaf=3]="Leaf",e[e.Pruned=4]="Pruned"})(fe||(fe={}));function qh(e,t){for(let r=0;r<e.length;r++)if(e[r]>t[r])return!0;return!1}var nt=class e{#e=!1;#t=void 0;static async create(t){let r=e.createUnverified(t);return await r.verify(),r}static createUnverified(t){return new e(t.certificate,t.rootKey,t.principal,t.blsVerify??Lu,t.maxAgeInMinutes,t.disableTimeVerification,t.agent)}constructor(t,r,n,o,i=Uh,s=!1,a){this._rootKey=r,this._principal=n,this._blsVerify=o,this._maxAgeInMinutes=i,this.#e=s,this.cert=qe(t),a&&"getTimeDiffMsecs"in a&&"hasSyncedTime"in a&&"syncTime"in a&&"syncTimeWithSubnet"in a&&(this.#t=a)}lookup_path(t){return pr(t,this.cert.tree)}lookup_subtree(t){return Qo(t,this.cert.tree)}async verify(){let t=await ds(this.cert.tree),r=await this._checkDelegationAndGetKey(this.cert.delegation),n=this.cert.signature,o=jh(r),i=K(ua,t),s=ve(this.lookup_path(["time"]));if(!s)throw te.fromCode(new gt("Certificate does not contain a time"));if(!this.#e){let a=this.#t?.getTimeDiffMsecs()??0,c=this._maxAgeInMinutes*qu,u=new Date,p=u.getTime()+a,d=p-c,l=p+kh*qu,f=Pr(s),h=f.getTime()<d,_=f.getTime()>l;if((h||_)&&this.#t&&!this.#t.hasSyncedTime())return await this._syncTime(),await this.verify();if(h)throw ke.fromCode(new Qt(this._maxAgeInMinutes,f,u,a,"past"));if(_)throw this.#t?.hasSyncedTime()?ae.fromCode(new Re("System time has been synced with the IC network, but certificate is still too far in the future.")):ke.fromCode(new Qt(5,f,u,a,"future"))}try{if(!await this._blsVerify(o,n,i))throw ke.fromCode(new gt("Invalid signature"))}catch(a){throw ke.fromCode(new gt("Signature verification failed",a))}}async _checkDelegationAndGetKey(t){if(!t)return this._rootKey;let r=e.createUnverified({certificate:t.certificate,rootKey:this._rootKey,principal:this._principal,blsVerify:this._blsVerify,disableTimeVerification:this.#e,maxAgeInMinutes:Lh,agent:this.#t});if(r.cert.delegation)throw te.fromCode(new wi);await r.verify();let n;if(ju(this._principal)){let i=this._principal.canisterId;if(n=k.fromUint8Array(t.subnet_id),!Ja({canisterId:i,subnetId:n,tree:r.cert.tree}))throw ke.fromCode(new xn(i,n))}else if(Mu(this._principal))n=this._principal.subnetId;else throw it;let o=ve(r.lookup_path(["subnet",n.toUint8Array(),"public_key"]));if(!o)throw Mu(this._principal)?ke.fromCode(new Ti(n)):ke.fromCode(new Oi(`Could not find subnet key for subnet ID ${n.toText()}`));return o}async _syncTime(){this.#t&&(ju(this._principal)?await this.#t.syncTime(this._principal.canisterId):await this.#t.syncTimeWithSubnet(this._principal.subnetId))}};function Mu(e){return"subnetId"in e}function ju(e){return"canisterId"in e}var Zo=Ee("308182301d060d2b0601040182dc7c0503010201060c2b0601040182dc7c05030201036100"),Mh=96;function jh(e){let t=Zo.byteLength+Mh;if(e.byteLength!==t)throw te.fromCode(new Ln(t,e.byteLength));let r=e.slice(0,Zo.byteLength);if(!En(r,Zo))throw te.fromCode(new Ei(Zo,r));return e.slice(Zo.byteLength)}function ve(e){if(e.status===Be.Found&&e.value instanceof Uint8Array)return e.value}async function ds(e){switch(e[0]){case fe.Empty:return Ve(us("ic-hashtree-empty"));case fe.Pruned:return e[1];case fe.Leaf:return Ve(K(us("ic-hashtree-leaf"),e[1]));case fe.Labeled:return Ve(K(us("ic-hashtree-labeled"),e[1],await ds(e[2])));case fe.Fork:return Ve(K(us("ic-hashtree-fork"),await ds(e[1]),await ds(e[2])));default:throw it}}function us(e){let t=new Uint8Array([e.length]),r=new TextEncoder().encode(e);return K(t,r)}function Ku(e){return typeof e[0]=="string"?$(e[0]):e[0]}var Be;(function(e){e.Unknown="Unknown",e.Absent="Absent",e.Found="Found",e.Error="Error"})(Be||(Be={}));var Br;(function(e){e.Absent="Absent",e.Unknown="Unknown",e.Found="Found"})(Br||(Br={}));var le;(function(e){e.Absent="Absent",e.Unknown="Unknown",e.Found="Found",e.Less="Less",e.Greater="Greater"})(le||(le={}));function pr(e,t){if(e.length===0)switch(t[0]){case fe.Empty:return{status:Be.Absent};case fe.Leaf:{if(!t[1])throw ae.fromCode(new Rr("Invalid tree structure for leaf"));if(t[1]instanceof Uint8Array)return{status:Be.Found,value:t[1].slice(t[1].byteOffset,t[1].byteLength+t[1].byteOffset)};throw it}case fe.Pruned:return{status:Be.Unknown};case fe.Labeled:case fe.Fork:return{status:Be.Error};default:throw it}let r=Ku(e),n=Xo(r,t);switch(n.status){case le.Found:return pr(e.slice(1),n.value);case le.Absent:case le.Greater:case le.Less:return{status:Be.Absent};case le.Unknown:return{status:Be.Unknown};default:throw it}}function Qo(e,t){if(e.length===0)return{status:Br.Found,value:t};let r=Ku(e),n=Xo(r,t);switch(n.status){case le.Found:return Qo(e.slice(1),n.value);case le.Unknown:return{status:Br.Unknown};case le.Absent:case le.Greater:case le.Less:return{status:Br.Absent};default:throw it}}function fs(e){switch(e[0]){case fe.Empty:return[];case fe.Fork:return fs(e[1]).concat(fs(e[2]));default:return[e]}}function Xo(e,t){switch(t[0]){case fe.Labeled:return qh(e,t[1])?{status:le.Greater}:En(e,t[1])?{status:le.Found,value:t[2]}:{status:le.Less};case fe.Fork:{let r=Xo(e,t[1]);switch(r.status){case le.Greater:{let n=Xo(e,t[2]);return n.status===le.Less?{status:le.Absent}:n}case le.Unknown:{let n=Xo(e,t[2]);return n.status===le.Less?{status:le.Unknown}:n}default:return r}}case fe.Pruned:return{status:le.Unknown};default:return{status:le.Absent}}}function ps(e,t){switch(t[0]){case fe.Empty|fe.Pruned:return[];case fe.Leaf:return[e];case fe.Fork:return ps(e,t[1]).concat(ps(e,t[2]));case fe.Labeled:{let r=t[1],n=t[2],o=[...e,r];return ps(o,n)}default:throw it}}function Ja(e){let t=Kh(e),r=Wa(t),{canisterId:n}=e;return r.some(i=>i[0].ltEq(n)&&i[1].gtEq(n))}function Kh(e){let{subnetId:t,tree:r,canisterId:n}=e,o=Qo(["canister_ranges",t.toUint8Array()],r);if(o.status!==Br.Found)return Hh(t,r);let i=o.value,s=$h(i);if(s.length===0)throw te.fromCode(new xn(n,t));s.sort(jn);let a=Gh(s,n),c=s[a];return Jh(c,i)}function Hh(e,t){let r=pr(["subnet",e.toUint8Array(),"canister_ranges"],t);if(r.status!==Be.Found)throw te.fromCode(new xt(`Could not find canister ranges for subnet ${e.toText()}`,r.status));return r.value}function Wa(e){return qe(e).map(n=>[k.fromUint8Array(n[0]),k.fromUint8Array(n[1])])}function $h(e){let t=[];for(let r of ps([],e)){let n=r[0];if(!n)throw te.fromCode(new gt("Path is invalid"));t.push(n)}return t}function Gh(e,t){let r=t.toUint8Array(),n=0,o=e.length-1;for(;n<o;){let i=Math.floor((n+o)/2);jn(e[i],r)<=0?o=i:n=i+1}return n}function Jh(e,t){let r=pr([e],t);if(r.status!==Be.Found)throw te.fromCode(new xt(`Could not find canister range for shard ${e.toString()}`,r.status));return r.value}function za(e,t){return e.delegation?k.fromUint8Array(e.delegation.subnet_id):k.selfAuthenticating(t)}var Hu=k.fromText("tdb26-jop6k-aogll-7ltgs-eruif-6kk7m-qpktf-gdiqx-mxtrf-vb5e6-eqe");function hs(e,t){switch(t){case"raw":return e;case"leb128":return Ga(e);case"cbor":return qe(e);case"hex":return j(e);case"utf-8":return new TextDecoder().decode(e)}}function $u(e){return qe(e).map(r=>k.fromUint8Array(r))}function Gu(e,t){let r=typeof e=="string"?$(e):e;return[$("canister"),t,$("metadata"),r]}function Dr(e){return typeof e=="object"&&e!==null&&"key"in e&&"path"in e}function oo(e,t){let r=Qo(["subnet",t.toUint8Array(),"node"],e.tree);if(r.status!==Br.Found)throw te.fromCode(new xt("Node not found",r.status));if(r.value instanceof Uint8Array)throw ae.fromCode(new Rr("Invalid node tree"));let n=fs(r.value),o=new Map;return n.forEach(i=>{let s=k.from(i[1]).toText(),a=pr(["public_key"],i[2]);if(a.status!==Be.Found)throw te.fromCode(new xt("Public key not found",a.status));let c=a.value;if(c.byteLength!==44)throw te.fromCode(new Ln(44,c.byteLength));o.set(s,c)}),o}var Ju=async e=>{let{agent:t,paths:r,disableCertificateTimeVerification:n=!1}=e,o=k.from(e.canisterId),i=[...new Set(r)],s=new Map,a=i.map((c,u)=>{let p=zh(c,o);return(async()=>{try{if(t.rootKey===null)throw ye.fromCode(new ot);let d=t.rootKey,l=await t.readState(o,{paths:[p]}),f=await nt.create({certificate:l.certificate,rootKey:d,principal:{canisterId:o},disableTimeVerification:n,agent:t}),h=(m,x)=>{if(x==="subnet"){let y=Wh(l.certificate,o,d);return{path:x,data:y}}else return{path:x,data:ve(m.lookup_path(p))}},{path:_,data:g}=h(f,i[u]);if(!g)typeof _=="string"?s.set(_,null):s.set(_.key,null);else switch(_){case"time":{s.set(_,Pr(g));break}case"controllers":{s.set(_,$u(g));break}case"module_hash":{s.set(_,j(g));break}case"subnet":{s.set(_,g);break}case"candid":{s.set(_,new TextDecoder().decode(g));break}default:Dr(_)&&s.set(_.key,hs(g,_.decodeStrategy))}}catch(d){if(d instanceof et&&(d.hasCode(gt)||d.hasCode(Qt)))throw d;Dr(c)?s.set(c.key,null):s.set(c,null)}})()});return await Promise.all(a),s},Wh=(e,t,r)=>{if(!t._isPrincipal)throw Y.fromCode(new Re("Invalid canisterId"));let n=qe(e),{delegation:o}=n,i;o&&o.subnet_id?i=k.fromUint8Array(new Uint8Array(o.subnet_id)):!o&&typeof r<"u"?i=k.selfAuthenticating(new Uint8Array(r)):i=Hu;let s=oo(n,i);return{subnetId:i.toText(),nodeKeys:s}},zh=(e,t)=>{let r=t.toUint8Array();switch(e){case"time":return[$("time")];case"controllers":return[$("canister"),r,$("controllers")];case"module_hash":return[$("canister"),r,$("module_hash")];case"subnet":return[$("subnet")];case"candid":return[$("canister"),r,$("metadata"),$("candid:service")];default:if(Dr(e))return typeof e.path=="string"||e.path instanceof Uint8Array?Gu(e.path,r):e.path}throw ae.fromCode(new Re(`Error while encoding your path for canister status. Please ensure that your path ${e} was formatted correctly.`))};async function Wu(e){let{agent:t,paths:r,disableCertificateTimeVerification:n=!1}=e,o=k.from(e.subnetId),i=[...new Set(r)],s=new Map,a=i.map((c,u)=>{let p=Yh(c,o);return(async()=>{try{if(t.rootKey===null)throw ye.fromCode(new ot);let d=t.rootKey,l=await t.readSubnetState(o,{paths:[p]}),f=await nt.create({certificate:l.certificate,rootKey:d,principal:{subnetId:o},disableTimeVerification:n,agent:t}),h=(m,x)=>{if(x==="nodeKeys"){let y=oo(m.cert,o);return{path:x,data:y}}else return{path:x,data:ve(m.lookup_path(p))}},{path:_,data:g}=h(f,i[u]);if(!g)typeof _=="string"?s.set(_,null):s.set(_.key,null);else switch(_){case"time":{s.set(_,Pr(g));break}case"canisterRanges":{s.set(_,Wa(g));break}case"publicKey":{s.set(_,g);break}case"nodeKeys":{s.set(_,g);break}default:Dr(_)&&s.set(_.key,hs(g,_.decodeStrategy))}}catch(d){if(d instanceof et&&(d.hasCode(gt)||d.hasCode(Qt)))throw d;Dr(c)?s.set(c.key,null):s.set(c,null)}})()});return await Promise.all(a),s}function Yh(e,t){let r=t.toUint8Array();switch(e){case"time":return[$("time")];case"canisterRanges":return[$("canister_ranges"),r];case"publicKey":return[$("subnet"),r,$("public_key")];case"nodeKeys":return[$("subnet"),r,$("node")];default:if(Dr(e))if(typeof e.path=="string"||e.path instanceof Uint8Array){let n=typeof e.path=="string"?$(e.path):e.path;return[$("subnet"),r,n]}else return e.path}throw ae.fromCode(new Re(`Error while encoding your path for subnet status. Please ensure that your path ${e} was formatted correctly.`))}var Ur=BigInt(0),Ae=BigInt(1),Ya=BigInt(2),Zh=BigInt(8);function Xh(e,t,r,n){let o=e.sqr(r),i=e.sqr(n),s=e.add(e.mul(t.a,o),i),a=e.add(e.ONE,e.mul(t.d,e.mul(o,i)));return e.eql(s,a)}function Qh(e,t={}){let r=os("edwards",e,t,t.FpFnLE),{Fp:n,Fn:o}=r,i=r.CURVE,{h:s}=i;cr(t,{},{uvRatio:"function"});let a=Ya<<BigInt(o.BYTES*8)-Ae,c=g=>n.create(g),u=t.uvRatio||((g,m)=>{try{return{isValid:!0,value:n.sqrt(n.div(g,m))}}catch{return{isValid:!1,value:Ur}}});if(!Xh(n,i,i.Gx,i.Gy))throw new Error("bad curve params: generator point");function p(g,m,x=!1){let y=x?Ae:Ur;return ts("coordinate "+g,m,y,a),m}function d(g){if(!(g instanceof h))throw new Error("ExtendedPoint expected")}let l=Cr((g,m)=>{let{X:x,Y:y,Z:T}=g,E=g.is0();m==null&&(m=E?Zh:n.inv(T));let O=c(x*m),R=c(y*m),v=n.mul(T,m);if(E)return{x:Ur,y:Ae};if(v!==Ae)throw new Error("invZ was invalid");return{x:O,y:R}}),f=Cr(g=>{let{a:m,d:x}=i;if(g.is0())throw new Error("bad point: ZERO");let{X:y,Y:T,Z:E,T:O}=g,R=c(y*y),v=c(T*T),w=c(E*E),I=c(w*w),F=c(R*m),S=c(w*c(F+v)),b=c(I+c(x*c(R*v)));if(S!==b)throw new Error("bad point: equation left != right (1)");let N=c(y*T),C=c(E*O);if(N!==C)throw new Error("bad point: equation left != right (2)");return!0});class h{constructor(m,x,y,T){this.X=p("x",m),this.Y=p("y",x),this.Z=p("z",y,!0),this.T=p("t",T),Object.freeze(this)}static CURVE(){return i}static fromAffine(m){if(m instanceof h)throw new Error("extended point not allowed");let{x,y}=m||{};return p("x",x),p("y",y),new h(x,y,Ae,c(x*y))}static fromBytes(m,x=!1){let y=n.BYTES,{a:T,d:E}=i;m=Na(Sr(m,y,"point")),vn(x,"zip215");let O=Na(m),R=m[y-1];O[y-1]=R&-129;let v=sr(O),w=x?a:n.ORDER;ts("point.y",v,Ur,w);let I=c(v*v),F=c(I-Ae),S=c(E*I-T),{isValid:b,value:N}=u(F,S);if(!b)throw new Error("bad point: invalid y coordinate");let C=(N&Ae)===Ae,B=(R&128)!==0;if(!x&&N===Ur&&B)throw new Error("bad point: x=0 and x_0=1");return B!==C&&(N=c(-N)),h.fromAffine({x:N,y:v})}static fromHex(m,x=!1){return h.fromBytes(pe("point",m),x)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}precompute(m=8,x=!0){return _.createCache(this,m),x||this.multiply(Ya),this}assertValidity(){f(this)}equals(m){d(m);let{X:x,Y:y,Z:T}=this,{X:E,Y:O,Z:R}=m,v=c(x*R),w=c(E*T),I=c(y*R),F=c(O*T);return v===w&&I===F}is0(){return this.equals(h.ZERO)}negate(){return new h(c(-this.X),this.Y,this.Z,c(-this.T))}double(){let{a:m}=i,{X:x,Y:y,Z:T}=this,E=c(x*x),O=c(y*y),R=c(Ya*c(T*T)),v=c(m*E),w=x+y,I=c(c(w*w)-E-O),F=v+O,S=F-R,b=v-O,N=c(I*S),C=c(F*b),B=c(I*b),q=c(S*F);return new h(N,C,q,B)}add(m){d(m);let{a:x,d:y}=i,{X:T,Y:E,Z:O,T:R}=this,{X:v,Y:w,Z:I,T:F}=m,S=c(T*v),b=c(E*w),N=c(R*y*F),C=c(O*I),B=c((T+E)*(v+w)-S-b),q=C-N,A=C+N,V=c(b-x*S),P=c(B*q),D=c(A*V),U=c(B*V),re=c(q*A);return new h(P,D,re,U)}subtract(m){return this.add(m.negate())}multiply(m){if(!o.isValidNot0(m))throw new Error("invalid scalar: expected 1 <= sc < curve.n");let{p:x,f:y}=_.cached(this,m,T=>ct(h,T));return ct(h,[x,y])[0]}multiplyUnsafe(m,x=h.ZERO){if(!o.isValid(m))throw new Error("invalid scalar: expected 0 <= sc < curve.n");return m===Ur?h.ZERO:this.is0()||m===Ae?this:_.unsafe(this,m,y=>ct(h,y),x)}isSmallOrder(){return this.multiplyUnsafe(s).is0()}isTorsionFree(){return _.unsafe(this,i.n).is0()}toAffine(m){return l(this,m)}clearCofactor(){return s===Ae?this:this.multiplyUnsafe(s)}toBytes(){let{x:m,y:x}=this.toAffine(),y=n.toBytes(x);return y[y.length-1]|=m&Ae?128:0,y}toHex(){return j(this.toBytes())}toString(){return`<Point ${this.is0()?"ZERO":this.toHex()}>`}get ex(){return this.X}get ey(){return this.Y}get ez(){return this.Z}get et(){return this.T}static normalizeZ(m){return ct(h,m)}static msm(m,x){return to(h,o,m,x)}_setWindowSize(m){this.precompute(m)}toRawBytes(){return this.toBytes()}}h.BASE=new h(i.Gx,i.Gy,Ae,c(i.Gx*i.Gy)),h.ZERO=new h(Ur,Ae,Ae,Ur),h.Fp=n,h.Fn=o;let _=new eo(h,o.BITS);return h.BASE.precompute(8),h}var ms=class{constructor(t){this.ep=t}static fromBytes(t){Xn()}static fromHex(t){Xn()}get x(){return this.toAffine().x}get y(){return this.toAffine().y}clearCofactor(){return this}assertValidity(){this.ep.assertValidity()}toAffine(t){return this.ep.toAffine(t)}toHex(){return j(this.toBytes())}toString(){return this.toHex()}isTorsionFree(){return!0}isSmallOrder(){return!1}add(t){return this.assertSame(t),this.init(this.ep.add(t.ep))}subtract(t){return this.assertSame(t),this.init(this.ep.subtract(t.ep))}multiply(t){return this.init(this.ep.multiply(t))}multiplyUnsafe(t){return this.init(this.ep.multiplyUnsafe(t))}double(){return this.init(this.ep.double())}negate(){return this.init(this.ep.negate())}precompute(t,r){return this.init(this.ep.precompute(t,r))}toRawBytes(){return this.toBytes()}};function em(e,t,r={}){if(typeof t!="function")throw new Error('"hash" function param is required');cr(r,{},{adjustScalarBytes:"function",randomBytes:"function",domain:"function",prehash:"function",mapToCurve:"function"});let{prehash:n}=r,{BASE:o,Fp:i,Fn:s}=e,a=r.randomBytes||kn,c=r.adjustScalarBytes||(w=>w),u=r.domain||((w,I,F)=>{if(vn(F,"phflag"),I.length||F)throw new Error("Contexts/pre-hash are not supported");return w});function p(w){return s.create(sr(w))}function d(w){let I=y.secretKey;w=pe("private key",w,I);let F=pe("hashed private key",t(w),2*I),S=c(F.slice(0,I)),b=F.slice(I,2*I),N=p(S);return{head:S,prefix:b,scalar:N}}function l(w){let{head:I,prefix:F,scalar:S}=d(w),b=o.multiply(S),N=b.toBytes();return{head:I,prefix:F,scalar:S,point:b,pointBytes:N}}function f(w){return l(w).pointBytes}function h(w=Uint8Array.of(),...I){let F=K(...I);return p(t(u(F,pe("context",w),!!n)))}function _(w,I,F={}){w=pe("message",w),n&&(w=n(w));let{prefix:S,scalar:b,pointBytes:N}=l(I),C=h(F.context,S,w),B=o.multiply(C).toBytes(),q=h(F.context,B,N,w),A=s.create(C+q*b);if(!s.isValid(A))throw new Error("sign failed: invalid s");let V=K(B,s.toBytes(A));return Sr(V,y.signature,"result")}let g={zip215:!0};function m(w,I,F,S=g){let{context:b,zip215:N}=S,C=y.signature;w=pe("signature",w,C),I=pe("message",I),F=pe("publicKey",F,y.publicKey),N!==void 0&&vn(N,"zip215"),n&&(I=n(I));let B=C/2,q=w.subarray(0,B),A=sr(w.subarray(B,C)),V,P,D;try{V=e.fromBytes(F,N),P=e.fromBytes(q,N),D=o.multiplyUnsafe(A)}catch{return!1}if(!N&&V.isSmallOrder())return!1;let U=h(b,P.toBytes(),V.toBytes(),I);return P.add(V.multiplyUnsafe(U)).subtract(D).clearCofactor().is0()}let x=i.BYTES,y={secretKey:x,publicKey:x,signature:2*x,seed:x};function T(w=a(y.seed)){return Sr(w,y.seed,"seed")}function E(w){let I=v.randomSecretKey(w);return{secretKey:I,publicKey:f(I)}}function O(w){return At(w)&&w.length===s.BYTES}function R(w,I){try{return!!e.fromBytes(w,I)}catch{return!1}}let v={getExtendedPublicKey:l,randomSecretKey:T,isValidSecretKey:O,isValidPublicKey:R,toMontgomery(w){let{y:I}=e.fromBytes(w),F=y.publicKey,S=F===32;if(!S&&F!==57)throw new Error("only defined for 25519 and 448");let b=S?i.div(Ae+I,Ae-I):i.div(I-Ae,I+Ae);return i.toBytes(b)},toMontgomerySecret(w){let I=y.secretKey;Sr(w,I);let F=t(w.subarray(0,I));return c(F).subarray(0,I)},randomPrivateKey:T,precompute(w=8,I=e.BASE){return I.precompute(w,!1)}};return Object.freeze({keygen:E,getPublicKey:f,sign:_,verify:m,utils:v,Point:e,lengths:y})}function tm(e){let t={a:e.a,d:e.d,p:e.Fp.ORDER,n:e.n,h:e.h,Gx:e.Gx,Gy:e.Gy},r=e.Fp,n=je(t.n,e.nBitLength,!0),o={Fp:r,Fn:n,uvRatio:e.uvRatio},i={randomBytes:e.randomBytes,adjustScalarBytes:e.adjustScalarBytes,domain:e.domain,prehash:e.prehash,mapToCurve:e.mapToCurve};return{CURVE:t,curveOpts:o,hash:e.hash,eddsaOpts:i}}function rm(e,t){let r=t.Point;return Object.assign({},t,{ExtendedPoint:r,CURVE:e,nBitLength:r.Fn.BITS,nByteLength:r.Fn.BYTES})}function zu(e){let{CURVE:t,curveOpts:r,hash:n,eddsaOpts:o}=tm(e),i=Qh(t,r),s=em(i,n,o);return rm(e,s)}var nm=BigInt(0),fr=BigInt(1),Yu=BigInt(2),Qg=BigInt(3),om=BigInt(5),im=BigInt(8),io=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffed"),ei={p:io,n:BigInt("0x1000000000000000000000000000000014def9dea2f79cd65812631a5cf5d3ed"),h:im,a:BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec"),d:BigInt("0x52036cee2b6ffe738cc740797779e89800700a4d4141d8ab75eb4dca135978a3"),Gx:BigInt("0x216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a"),Gy:BigInt("0x6666666666666666666666666666666666666666666666666666666666666658")};function sm(e){let t=BigInt(10),r=BigInt(20),n=BigInt(40),o=BigInt(80),i=io,a=e*e%i*e%i,c=It(a,Yu,i)*a%i,u=It(c,fr,i)*e%i,p=It(u,om,i)*u%i,d=It(p,t,i)*p%i,l=It(d,r,i)*d%i,f=It(l,n,i)*l%i,h=It(f,o,i)*f%i,_=It(h,o,i)*f%i,g=It(_,t,i)*p%i;return{pow_p_5_8:It(g,Yu,i)*e%i,b2:a}}function am(e){return e[0]&=248,e[31]&=127,e[31]|=64,e}var Za=BigInt("19681161376707505956807079304988542015446066515923890162744021073123829784752");function ec(e,t){let r=io,n=ce(t*t*t,r),o=ce(n*n*t,r),i=sm(e*o).pow_p_5_8,s=ce(e*n*i,r),a=ce(t*s*s,r),c=s,u=ce(s*Za,r),p=a===e,d=a===ce(-e,r),l=a===ce(-e*Za,r);return p&&(s=c),(d||l)&&(s=u),lr(s,r)&&(s=ce(-s,r)),{isValid:p||d,value:s}}var kr=je(ei.p,{isLE:!0}),cm=je(ei.n,{isLE:!0}),lm={...ei,Fp:kr,hash:_l,adjustScalarBytes:am,uvRatio:ec},$e=zu(lm);var Xa=Za,um=BigInt("25063068953384623474111414158702152701244531502492656460079210482610430750235"),dm=BigInt("54469307008909316920995813868745141605393597292927456921205312896311721017578"),pm=BigInt("1159843021668779879193775521855586647937357759715417654439879720876111806838"),fm=BigInt("40440834346308536858101042469323190826248399146238708352240133220865137265952"),Zu=e=>ec(fr,e),hm=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"),Qa=e=>$e.Point.Fp.create(sr(e)&hm);function Xu(e){let{d:t}=ei,r=io,n=m=>kr.create(m),o=n(Xa*e*e),i=n((o+fr)*pm),s=BigInt(-1),a=n((s-t*o)*n(o+t)),{isValid:c,value:u}=ec(i,a),p=n(u*e);lr(p,r)||(p=n(-p)),c||(u=p),c||(s=o);let d=n(s*(o-fr)*fm-a),l=u*u,f=n((u+u)*a),h=n(d*um),_=n(fr-l),g=n(fr+l);return new $e.Point(n(f*g),n(_*h),n(h*g),n(f*_))}function mm(e){me(e,64);let t=Qa(e.subarray(0,32)),r=Xu(t),n=Qa(e.subarray(32,64)),o=Xu(n);return new hr(r.add(o))}var hr=class e extends ms{constructor(t){super(t)}static fromAffine(t){return new e($e.Point.fromAffine(t))}assertSame(t){if(!(t instanceof e))throw new Error("RistrettoPoint expected")}init(t){return new e(t)}static hashToCurve(t){return mm(pe("ristrettoHash",t,64))}static fromBytes(t){me(t,32);let{a:r,d:n}=ei,o=io,i=T=>kr.create(T),s=Qa(t);if(!cu(kr.toBytes(s),t)||lr(s,o))throw new Error("invalid ristretto255 encoding 1");let a=i(s*s),c=i(fr+r*a),u=i(fr-r*a),p=i(c*c),d=i(u*u),l=i(r*n*p-d),{isValid:f,value:h}=Zu(i(l*d)),_=i(h*u),g=i(h*_*l),m=i((s+s)*_);lr(m,o)&&(m=i(-m));let x=i(c*g),y=i(m*x);if(!f||lr(y,o)||x===nm)throw new Error("invalid ristretto255 encoding 2");return new e(new $e.Point(m,x,fr,y))}static fromHex(t){return e.fromBytes(pe("ristrettoHex",t,32))}static msm(t,r){return to(e,$e.Point.Fn,t,r)}toBytes(){let{X:t,Y:r,Z:n,T:o}=this.ep,i=io,s=g=>kr.create(g),a=s(s(n+r)*s(n-r)),c=s(t*r),u=s(c*c),{value:p}=Zu(s(a*u)),d=s(p*a),l=s(p*c),f=s(d*l*o),h;if(lr(o*f,i)){let g=s(r*Xa),m=s(t*Xa);t=g,r=m,h=s(d*dm)}else h=l;lr(t*f,i)&&(r=s(-r));let _=s((n-r)*h);return lr(_,i)&&(_=s(-_)),kr.toBytes(_)}equals(t){this.assertSame(t);let{X:r,Y:n}=this.ep,{X:o,Y:i}=t.ep,s=u=>kr.create(u),a=s(r*i)===s(n*o),c=s(n*i)===s(r*o);return a||c}is0(){return this.equals(e.ZERO)}};hr.BASE=new hr($e.Point.BASE);hr.ZERO=new hr($e.Point.ZERO);hr.Fp=kr;hr.Fn=cm;var Qu,ed,_s=class{static{Qu=Symbol.iterator,ed=Symbol.toStringTag}#e;#t;constructor(t={}){this[Qu]=this.entries.bind(this),this[ed]="ExpirableMap";let{source:r=[],expirationTime:n=600*1e3}=t,o=Date.now();this.#e=new Map([...r].map(([i,s])=>[i,{value:s,timestamp:o}])),this.#t=n}prune(){let t=Date.now();for(let[r,n]of this.#e.entries())t-n.timestamp>this.#t&&this.#e.delete(r);return this}set(t,r){this.prune();let n={value:r,timestamp:Date.now()};return this.#e.set(t,n),this}get(t){let r=this.#e.get(t);if(r!==void 0){if(Date.now()-r.timestamp>this.#t){this.#e.delete(t);return}return r.value}}clear(){this.#e.clear()}entries(){let t=this.#e.entries();return function*(){for(let[n,o]of t)yield[n,o.value]}()}values(){let t=this.#e.values();return function*(){for(let n of t)yield n.value}()}keys(){return this.#e.keys()}forEach(t,r){for(let[n,o]of this.#e.entries())t.call(r,o.value,n,this)}has(t){return this.#e.has(t)}delete(t){return this.#e.delete(t)}get size(){return this.#e.size}};var td=e=>{if(e<=127)return 1;if(e<=255)return 2;if(e<=65535)return 3;if(e<=16777215)return 4;throw Y.fromCode(new To("Length too long (> 4 bytes)"))},rd=(e,t,r)=>{if(r<=127)return e[t]=r,1;if(r<=255)return e[t]=129,e[t+1]=r,2;if(r<=65535)return e[t]=130,e[t+1]=r>>8,e[t+2]=r,3;if(r<=16777215)return e[t]=131,e[t+1]=r>>16,e[t+2]=r>>8,e[t+3]=r,4;throw Y.fromCode(new To("Length too long (> 4 bytes)"))},tc=(e,t)=>{if(e[t]<128)return 1;if(e[t]===128)throw Y.fromCode(new bt("Invalid length 0"));if(e[t]===129)return 2;if(e[t]===130)return 3;if(e[t]===131)return 4;throw Y.fromCode(new bt("Length too long (> 4 bytes)"))},_m=(e,t)=>{let r=tc(e,t);if(r===1)return e[t];if(r===2)return e[t+1];if(r===3)return(e[t+1]<<8)+e[t+2];if(r===4)return(e[t+1]<<16)+(e[t+2]<<8)+e[t+3];throw Y.fromCode(new bt("Length too long (> 4 bytes)"))},ti=Uint8Array.from([48,12,6,10,43,6,1,4,1,131,184,67,1,1]),Vn=Uint8Array.from([48,5,6,3,43,101,112]),ox=Uint8Array.from([48,16,6,7,42,134,72,206,61,2,1,6,5,43,129,4,0,10]),ix=Uint8Array.from([48,29,6,13,43,6,1,4,1,130,220,124,5,3,1,2,1,6,12,43,6,1,4,1,130,220,124,5,3,2,1]);function Pn(e,t){let r=2+td(e.byteLength+1),n=t.byteLength+r+e.byteLength,o=0,i=new Uint8Array(1+td(n)+n);return i[o++]=48,o+=rd(i,o,n),i.set(t,o),o+=t.byteLength,i[o++]=3,o+=rd(i,o,e.byteLength+1),i[o++]=0,i.set(new Uint8Array(e),o),i}var Bn=(e,t)=>{let r=0,n=(a,c)=>{if(o[r++]!==a)throw Y.fromCode(new bt(`Expected ${c} at offset ${r}`))},o=new Uint8Array(e);if(n(48,"sequence"),r+=tc(o,r),!En(o.slice(r,r+t.byteLength),t))throw Y.fromCode(new bt("Not the expected OID."));r+=t.byteLength,n(3,"bit string");let i=_m(o,r)-1;r+=tc(o,r),n(0,"0 padding");let s=o.slice(r);if(i!==s.length)throw Y.fromCode(new Ri(i,s.length));return s};var ys=class e{static from(t){return this.fromDer(t.toDer())}static fromRaw(t){return new e(t)}static fromDer(t){return new e(this.derDecode(t))}static{this.RAW_KEY_LENGTH=32}static derEncode(t){return Pn(t,Vn)}static derDecode(t){let r=Bn(t,Vn);if(r.length!==this.RAW_KEY_LENGTH)throw Y.fromCode(new bt("An Ed25519 public key must be exactly 32 bytes long"));return r}#e;get rawKey(){return this.#e}#t;get derKey(){return this.#t}constructor(t){if(t.byteLength!==e.RAW_KEY_LENGTH)throw Y.fromCode(new bt("An Ed25519 public key must be exactly 32 bytes long"));this.#e=t,this.#t=e.derEncode(t)}toDer(){return this.derKey}toRaw(){return this.rawKey}};var rc=class{constructor(){this.observers=[]}subscribe(t){this.observers.push(t)}unsubscribe(t){this.observers=this.observers.filter(r=>r!==t)}notify(t,...r){this.observers.forEach(n=>n(t,...r))}},gs=class extends rc{constructor(){super()}print(t,...r){this.notify({message:t,level:"info"},...r)}warn(t,...r){this.notify({message:t,level:"warn"},...r)}error(t,r,...n){this.notify({message:t,level:"error",error:r},...n)}};var xs=class e{#e;#t;#r;#i;#a;#d;#n;#o;#c=0;static{this.default={initialInterval:500,randomizationFactor:.5,multiplier:1.5,maxInterval:6e4,maxElapsedTime:9e5,maxIterations:10,date:Date}}constructor(t=e.default){let{initialInterval:r=500,randomizationFactor:n=.5,multiplier:o=1.5,maxInterval:i=6e4,maxElapsedTime:s=9e5,maxIterations:a=10,date:c=Date}=t;this.#e=r,this.#t=n,this.#r=o,this.#i=i,this.#o=c,this.#a=c.now(),this.#d=s,this.#n=a}get ellapsedTimeInMsec(){return this.#o.now()-this.#a}get currentInterval(){return this.#e}get count(){return this.#c}get randomValueFromInterval(){let t=this.#t*this.#e,r=this.#e-t,n=this.#e+t;return Math.random()*(n-r)+r}incrementCurrentInterval(){return this.#e=Math.min(this.#e*this.#r,this.#i),this.#c++,this.#e}next(){return this.ellapsedTimeInMsec>=this.#d||this.#c>=this.#n?null:(this.incrementCurrentInterval(),this.randomValueFromInterval)}};var Ut;(function(e){e.Received="received",e.Processing="processing",e.Replied="replied",e.Rejected="rejected",e.Unknown="unknown",e.Done="done"})(Ut||(Ut={}));var ic=60*1e3,ym=1e6,gm=0,xm="308182301d060d2b0601040182dc7c0503010201060c2b0601040182dc7c05030201036100814c0e6ec71fab583b08bd81373c255c3c371b2e84863c98a4f1e08b74235d14fb5d9c0cd546d9685f913a0c0b2cc5341583bf4b4392e467db96d65b9bb4cb717112f8472e0d5a4d14505ffd7484b01291091c5f87b98883463f98091a0baaae";var bm="ic0.app",wm=".ic0.app",Tm="icp0.io",Nm=".icp0.io",Om="icp-api.io",Em=".icp-api.io",nc=200,Rm=202,Im=404;function vm(){let e;if(typeof window<"u")if(window.fetch)e=window.fetch.bind(window);else throw ye.fromCode(new Mn("Fetch implementation was not available. You appear to be in a browser context, but window.fetch was not present."));else if(typeof global<"u")if(global.fetch)e=global.fetch.bind(global);else throw ye.fromCode(new Mn("Fetch implementation was not available. You appear to be in a Node.js context, but global.fetch was not available."));else typeof self<"u"&&self.fetch&&(e=self.fetch.bind(self));if(e)return e;throw ye.fromCode(new Mn("Fetch implementation was not available. Please provide fetch to the HttpAgent constructor, or ensure it is available in the window or global context."))}function Am(e){let t;if(e!==void 0)!e.match(/^[a-z]+:/)&&typeof window<"u"?t=new URL(window.location.protocol+"//"+e):t=new URL(e);else{let r=["ic0.app","icp0.io","127.0.0.1","localhost"],n=[".github.dev",".gitpod.io"],o=typeof window<"u"?window.location:void 0,i=o?.hostname,s;i&&typeof i=="string"&&(n.some(a=>i.endsWith(a))?s=i:s=r.find(a=>i.endsWith(a))),o&&s?t=new URL(`${o.protocol}//${s}${o.port?":"+o.port:""}`):t=new URL("https://icp-api.io")}return t.toString()}var mr=class e{#e;#t;#r;#i;#a;#d;#n;#o;#c;#w;#s;#u;#f;#l;get#E(){return this.#l*ic}#h;#m;#_;#y;constructor(t={}){this.#e=null,this.#t=!1,this.#r=gm,this.#i=!1,this.#a=null,this.#d=!1,this._isAgent=!0,this.config={},this.log=new gs,this.#h=[],this.#m=[],this.#_=new _s({expirationTime:5*ic}),this.#y=!0,this.#T=(o,i)=>{if(this.#y===!1)return o;let{status:s,signatures:a=[],requestId:c}=o;for(let u of a){let{timestamp:p,identity:d}=u,l=k.fromUint8Array(d).toText(),f;if(s===br.Replied){let{reply:x}=o;f=Po({status:s,reply:x,timestamp:BigInt(p),request_id:c})}else if(s===br.Rejected){let{reject_code:x,reject_message:y,error_code:T}=o;f=Po({status:s,reject_code:x,reject_message:y,error_code:T,timestamp:BigInt(p),request_id:c})}else throw ae.fromCode(new Re(`Unknown status: ${s}`));let h=K(da,f),_=i.get(l);if(!_)throw te.fromCode(new Ui);let g=ys.fromDer(_).rawKey;if(!$e.verify(u.signature,h,g))throw ke.fromCode(new ki(l))}return o},this.config=t,this.#o=t.fetch||vm()||fetch.bind(global),this.#c=t.fetchOptions,this.#w=t.callOptions,this.#t=t.shouldFetchRootKey??!1,this.#d=t.shouldSyncTime??!1,t.rootKey?this.rootKey=t.rootKey:this.#t?this.rootKey=null:this.rootKey=Ee(xm);let r=Am(t.host);this.host=new URL(r),t.verifyQuerySignatures!==void 0&&(this.#y=t.verifyQuerySignatures),this.#u=t.retryTimes??3;let n=()=>new xs({maxIterations:this.#u});if(this.#f=t.backoffStrategy||n,this.host.hostname.endsWith(wm)?this.host.hostname=bm:this.host.hostname.endsWith(Nm)?this.host.hostname=Tm:this.host.hostname.endsWith(Em)&&(this.host.hostname=Om),t.credentials){let{name:o,password:i}=t.credentials;this.#s=`${o}${i?":"+i:""}`}if(this.#n=Promise.resolve(t.identity||new tt),t.ingressExpiryInMinutes&&t.ingressExpiryInMinutes>5)throw Y.fromCode(new Ct("The maximum ingress expiry time is 5 minutes.",t.ingressExpiryInMinutes));if(t.ingressExpiryInMinutes&&t.ingressExpiryInMinutes<=0)throw Y.fromCode(new Ct("Ingress expiry time must be greater than 0.",t.ingressExpiryInMinutes));this.#l=t.ingressExpiryInMinutes||5,this.addTransform("update",ga(jo)),t.useQueryNonces&&this.addTransform("query",ga(jo)),t.logToConsole&&this.log.subscribe(o=>{o.level==="error"?console.error(o.message):o.level==="warn"?console.warn(o.message):console.log(o.message)})}static createSync(t={}){return new this({...t})}static async create(t={}){let r=e.createSync(t);return await r.#p(),r}static async from(t){try{return"config"in t?await e.create(t.config):await e.create({fetch:t._fetch,fetchOptions:t._fetchOptions,callOptions:t._callOptions,host:t._host.toString(),identity:t._identity??void 0})}catch{throw Y.fromCode(new Pi)}}isLocal(){let t=this.host.hostname;return t==="127.0.0.1"||t.endsWith("127.0.0.1")}addTransform(t,r,n=r.priority||0){if(t==="update"){let o=this.#m.findIndex(i=>(i.priority||0)<n);this.#m.splice(o>=0?o:this.#m.length,0,Object.assign(r,{priority:n}))}else if(t==="query"){let o=this.#h.findIndex(i=>(i.priority||0)<n);this.#h.splice(o>=0?o:this.#h.length,0,Object.assign(r,{priority:n}))}}async getPrincipal(){if(!this.#n)throw ye.fromCode(new Er);return(await this.#n).getPrincipal()}async call(t,r,n){let o=r.callSync??!0,i=await(n??this.#n);if(!i)throw ye.fromCode(new Er);let s=k.from(t),a=r.effectiveCanisterId?k.from(r.effectiveCanisterId):s;await this.#p(a);let c=i.getPrincipal(),u=oc(this.#l,this.#r),p={request_type:Xi.Call,canister_id:s,method_name:r.methodName,arg:r.arg,sender:c,ingress_expiry:u},d=await this._transform({request:{body:null,method:"POST",headers:{"Content-Type":"application/cbor",...this.#s?{Authorization:"Basic "+btoa(this.#s)}:{}}},endpoint:ir.Call,body:p}),l;r?.nonce?l=f(r.nonce):d.body.nonce?l=f(d.body.nonce):l=void 0,p.nonce=l;function f(m){return Object.assign(m,{__nonce__:void 0})}d=await i.transformRequest(d);let h=qo(d.body),_=this.#f(),g=nr(p);try{let y=o?()=>{let R=new URL(`/api/v4/canister/${a.toText()}/call`,this.host);return this.log.print(`fetching "${R.pathname}" with request:`,d),this.#o(R,{...this.#w,...d.request,body:h})}:()=>{let R=new URL(`/api/v2/canister/${a.toText()}/call`,this.host);return this.log.print(`fetching "${R.pathname}" with request:`,d),this.#o(R,{...this.#w,...d.request,body:h})},{responseBodyBytes:T,...E}=await this.#g({requestFn:y,backoff:_,tries:0}),O=T.byteLength>0?qe(T):null;return{requestId:g,response:{...E,body:O},requestDetails:p}}catch(m){let x;if(m instanceof et){if(m.hasCode(Oo))return this.log.warn("v4 api not supported. Fall back to v2"),this.call(t,{...r,callSync:!1},n);if(m.hasCode(Ct)&&!this.#i)return await this.syncTime(s),this.call(s,r,n);m.code.requestContext={requestId:g,senderPubKey:d.body.sender_pubkey,senderSignature:d.body.sender_sig,ingressExpiry:d.body.content.ingress_expiry},x=m}else x=ae.fromCode(new Re(m));throw this.log.error(`Error while making call: ${x.message}`,x),x}}async#b(t){let{ecid:r,transformedRequest:n,body:o,requestId:i,backoff:s,tries:a}=t,c=a===0?0:s.next(),u=new URL(`/api/v3/canister/${r.toString()}/query`,this.host);if(this.log.print(`fetching "${u.pathname}" with tries:`,{tries:a,backoff:s,delay:c}),c===null)throw ae.fromCode(new bn(`Backoff strategy exhausted after ${a} attempts.`,i));c>0&&await new Promise(m=>setTimeout(m,c));let p;try{this.log.print(`fetching "${u.pathname}" with request:`,n),p=await this.#o(u,{...this.#c,...n.request,body:o})}catch(m){if(a<this.#u)return this.log.warn(`Caught exception while attempting to make query:
|
|
50
|
+
`)}return a.encodeValue(c)}));return Z(Ef,n,o,i,s)}function If(e,t){let r=new wt(t);if(t.byteLength<Hi.length)throw new Error("Message length smaller than magic number");let n=Vr(r,Hi.length),o=new TextDecoder().decode(n);if(o!==Hi)throw new Error("Wrong magic number: "+JSON.stringify(o));function i(l){let f=[],h=Number(ge(l));for(let m=0;m<h;m++){let x=Number(sr(l));switch(x){case Q.Opt:case Q.Vector:{let y=Number(sr(l));f.push([x,y]);break}case Q.Record:case Q.Variant:{let y=[],T=Number(ge(l)),E;for(;T--;){let O=Number(ge(l));if(O>=Math.pow(2,32))throw new Error("field id out of 32-bit range");if(typeof E=="number"&&E>=O)throw new Error("field id collision or not sorted");E=O;let R=Number(sr(l));y.push([O,R])}f.push([x,y]);break}case Q.Func:{let y=[],T=Number(ge(l));for(;T--;)y.push(Number(sr(l)));let E=[],O=Number(ge(l));for(;O--;)E.push(Number(sr(l)));let R=[],v=Number(ge(l));for(;v--;)switch(Number(ge(l))){case 1:{R.push("query");break}case 2:{R.push("oneway");break}case 3:{R.push("composite_query");break}default:throw new Error("unknown annotation")}f.push([x,[y,E,R]]);break}case Q.Service:{let y=Number(ge(l)),T=[];for(;y--;){let E=Number(ge(l)),O=new TextDecoder().decode(Vr(l,E)),R=sr(l);T.push([O,R])}f.push([x,T]);break}default:throw new Error("Illegal op_code: "+x)}}let _=[],g=Number(ge(l));for(let m=0;m<g;m++)_.push(Number(sr(l)));return[f,_]}let[s,a]=i(r);if(a.length<e.length)throw new Error("Wrong number of return values");let c=s.map(l=>su());function u(l){if(l<-24)throw new Error("future value not supported");if(l<0)switch(l){case-1:return ql;case-2:return Ll;case-3:return Kl;case-4:return jl;case-5:return Yl;case-6:return Zl;case-7:return Xl;case-8:return Ql;case-9:return Gl;case-10:return Jl;case-11:return Wl;case-12:return zl;case-13:return Hl;case-14:return $l;case-15:return Ml;case-16:return kl;case-17:return Ul;case-24:return eu;default:throw new Error("Illegal op_code: "+l)}if(l>=s.length)throw new Error("type index out of range");return c[l]}function p(l){switch(l[0]){case Q.Vector:{let f=u(l[1]);return ru(f)}case Q.Opt:{let f=u(l[1]);return nu(f)}case Q.Record:{let f={};for(let[g,m]of l[1]){let x=`_${g}_`;f[x]=u(m)}let h=ou(f),_=h.tryAsTuple();return Array.isArray(_)?tu(..._):h}case Q.Variant:{let f={};for(let[h,_]of l[1]){let g=`_${h}_`;f[g]=u(_)}return iu(f)}case Q.Func:{let[f,h,_]=l[1];return au(f.map(g=>u(g)),h.map(g=>u(g)),_)}case Q.Service:{let f={},h=l[1];for(let[_,g]of h){let m=u(g);if(m instanceof lt&&(m=m.getType()),!(m instanceof In))throw new Error("Illegal service definition: services can only contain functions");f[_]=m}return cu(f)}default:throw new Error("Illegal op_code: "+l[0])}}s.forEach((l,f)=>{if(l[0]===Q.Func){let h=p(l);c[f].fill(h)}}),s.forEach((l,f)=>{if(l[0]!==Q.Func){let h=p(l);c[f].fill(h)}}),ba();let d=a.map(l=>u(l));try{let l=e.map((f,h)=>f.decodeValue(r,d[h]));for(let f=e.length;f<d.length;f++)d[f].decodeValue(r,d[f]);if(r.byteLength>0)throw new Error("decode: Left-over bytes");return l}finally{ba()}}var Ul=new Po,kl=new Bt,vf=new Gi,Ll=new Ji,ql=new En,Ml=new Wi,jl=new Vo,Kl=new Bo,Hl=new Do(32),$l=new Do(64),Gl=new cr(8),Jl=new cr(16),Wl=new cr(32),zl=new cr(64),Yl=new Pt(8),Zl=new Pt(16),Xl=new Pt(32),Ql=new Pt(64),eu=new Yi;function tu(...e){return new zi(e)}function ru(e){return new zn(e)}function nu(e){return new Br(e)}function ou(e){return new Rn(e)}function iu(e){return new Yn(e)}function su(){return new lt}function au(e,t,r=[]){return new In(e,t,r)}function cu(e){return new Zn(e)}var Zi=class e{constructor(t=new Map){this.rels=t}copy(){let t=new Map;for(let[r,n]of this.rels.entries()){let o=new Map(n);t.set(r,o)}return new e(t)}known(t,r){return this.rels.get(t.name)?.get(r.name)}addNegative(t,r){this.addNames(t.name,r.name,!1)}add(t,r){this.addNames(t.name,r.name,!0)}display(){let t="";for(let[r,n]of this.rels)for(let[o,i]of n)t+=`${r} ${i?":<":"!<:"} ${o}
|
|
51
|
+
`;return t}addNames(t,r,n){let o=this.rels.get(t);if(o==null){let i=new Map;i.set(r,n),this.rels.set(t,i)}else o.set(r,n)}},$i=new Zi;function ba(){$i=new Zi}function Af(e,t){let r=new Set(e.annotations),n=new Set(t.annotations);if(r.size!==n.size)return!1;for(let o of r)if(!n.has(o))return!1;return!0}function ya(e){return e instanceof Br||e instanceof En||e instanceof Bt}function Ta(e,t){let r=$i.copy(),n=ar(r,e,t);return n?$i.add(e,t):$i.addNegative(e,t),n}function ar(e,t,r){if(t.name===r.name)return!0;let n=e.known(t,r);if(n!==void 0)return n;if(e.add(t,r),r instanceof Bt||t instanceof Po||t instanceof Bo&&r instanceof Vo)return!0;if(t instanceof zn&&r instanceof zn)return ar(e,t._type,r._type);if(r instanceof Br)return!0;if(t instanceof Rn&&r instanceof Rn){let o=t.fieldsAsObject;for(let[i,s]of r._fields){let a=o[qe(i)];if(a){if(!ar(e,a,s))return!1}else if(!ya(s))return!1}return!0}if(t instanceof In&&r instanceof In){if(!Af(t,r))return!1;for(let o=0;o<t.argTypes.length;o++){let i=t.argTypes[o];if(o<r.argTypes.length){if(!ar(e,r.argTypes[o],i))return!1}else if(!ya(i))return!1}for(let o=0;o<r.retTypes.length;o++){let i=r.retTypes[o];if(o<t.retTypes.length){if(!ar(e,t.retTypes[o],i))return!1}else if(!ya(i))return!1}return!0}if(t instanceof Yn&&r instanceof Yn){let o=r.alternativesAsObject;for(let[i,s]of t._fields){let a=o[qe(i)];if(!a||!ar(e,s,a))return!1}return!0}if(t instanceof Zn&&r instanceof Zn){let o=t.fieldsAsObject();for(let[i,s]of r._fields){let a=o[i];if(!a||!ar(e,a,s))return!1}return!0}return t instanceof lt?ar(e,t.getType(),r):r instanceof lt?ar(e,t,r.getType()):!1}function Xn(e){if(!e)throw new Error("Input cannot be null or undefined");return e instanceof Uint8Array?e:e instanceof ArrayBuffer?new Uint8Array(e):Array.isArray(e)?new Uint8Array(e):"buffer"in e?Xn(e.buffer):new Uint8Array(e)}function An(e,t){if(e.length!==t.length)return!1;for(let r=0;r<e.length;r++)if(e[r]!==t[r])return!1;return!0}function Na(e){if(typeof e=="string")return lu(e);if(typeof e=="number")return Pe(ie(e));if(e instanceof Uint8Array||ArrayBuffer.isView(e))return Pe(Xn(e));if(Array.isArray(e)){let t=e.map(Na);return Pe(K(...t))}else{if(e&&typeof e=="object"&&e._isPrincipal)return Pe(e.toUint8Array());if(typeof e=="object"&&e!==null&&typeof e.toHash=="function")return Na(e.toHash());if(typeof e=="object")return Uo(e);if(typeof e=="bigint")return Pe(ie(e))}throw Y.fromCode(new Di(e))}var lu=e=>{let t=new TextEncoder().encode(e);return Pe(t)};function lr(e){return Uo(e)}function Uo(e){let n=Object.entries(e).filter(([,s])=>s!==void 0).map(([s,a])=>{let c=lu(s),u=Na(a);return[c,u]}).sort(([s],[a])=>Jn(s,a)),o=K(...n.map(s=>K(...s)));return Pe(o)}var Oa=new TextEncoder().encode("\ric-state-root"),ko=new TextEncoder().encode(`
|
|
52
|
+
ic-request`),Ea=new TextEncoder().encode("\vic-response"),Ra=new TextEncoder().encode("ic-request-auth-delegation");var Dt=class{getPrincipal(){return this._principal||(this._principal=U.selfAuthenticating(new Uint8Array(this.getPublicKey().toDer()))),this._principal}async transformRequest(t){let{body:r,...n}=t,o=lr(r);return{...n,body:{content:r,sender_pubkey:this.getPublicKey().toDer(),sender_sig:await this.sign(K(ko,o))}}}},ot=class{getPrincipal(){return U.anonymous()}async transformRequest(t){return{...t,body:{content:t.body}}}};var ur=class extends Error{constructor(t){super(t),this.name="DecodingError"}},du=55799,pu=Symbol("CBOR_STOP_CODE"),Ot=(e=>(e[e.False=20]="False",e[e.True=21]="True",e[e.Null=22]="Null",e[e.Undefined=23]="Undefined",e[e.Break=31]="Break",e))(Ot||{}),Ne=(e=>(e[e.UnsignedInteger=0]="UnsignedInteger",e[e.NegativeInteger=1]="NegativeInteger",e[e.ByteString=2]="ByteString",e[e.TextString=3]="TextString",e[e.Array=4]="Array",e[e.Map=5]="Map",e[e.Tag=6]="Tag",e[e.Simple=7]="Simple",e))(Ne||{}),Sf=23,Cf=255,Ff=65535,Pf=4294967295,Vf=BigInt("0xffffffffffffffff"),Nt=(e=>(e[e.Value=23]="Value",e[e.OneByte=24]="OneByte",e[e.TwoBytes=25]="TwoBytes",e[e.FourBytes=26]="FourBytes",e[e.EightBytes=27]="EightBytes",e[e.Indefinite=31]="Indefinite",e))(Nt||{}),Qn=!1;function Bf(e){return e==null}function fu(e,t){let r=new Uint8Array(t);return r.set(e),r}var Df=new TextDecoder;function Uf(e){return(e&224)>>5}function kf(e){return e&31}var Mo=new Uint8Array,Lo,Et=0;function hu(e,t){Mo=e,Et=0;let r=Sn(t);return t?.(r)??r}function Sn(e){let[t,r]=Xi();switch(t){case Ne.UnsignedInteger:return eo(r);case Ne.NegativeInteger:return jf(r);case Ne.ByteString:return mu(r);case Ne.TextString:return va(r);case Ne.Array:return Lf(r,e);case Ne.Map:return Mf(r,e);case Ne.Tag:return Kf(r,e);case Ne.Simple:return qf(r)}throw new ur(`Unsupported major type: ${t}`)}function Xi(){let e=Mo.at(Et);if(Bf(e))throw new ur("Provided CBOR data is empty");let t=Uf(e),r=kf(e);return Et++,[t,r]}function Lf(e,t){let r=eo(e);if(r===1/0){let o=[],i=Sn(t);for(;i!==pu;)o.push(t?.(i)??i),i=Sn(t);return o}let n=new Array(r);for(let o=0;o<r;o++){let i=Sn(t);n[o]=t?.(i)??i}return n}function qf(e){switch(e){case Ot.False:return!1;case Ot.True:return!0;case Ot.Null:return null;case Ot.Undefined:return;case Ot.Break:return pu}throw new ur(`Unrecognized simple type: ${e.toString(2)}`)}function Mf(e,t){let r=eo(e),n={};if(r===1/0){let[o,i]=Xi();for(;o!==Ne.Simple&&i!==Ot.Break;){let s=va(i),a=Sn(t);n[s]=t?.(a,s)??a,[o,i]=Xi()}return n}for(let o=0;o<r;o++){let[i,s]=Xi();if(i!==Ne.TextString)throw new ur("Map keys must be text strings");let a=va(s),c=Sn(t);n[a]=t?.(c,a)??c}return n}function eo(e){if(e<=Nt.Value)return e;switch(Lo=new DataView(Mo.buffer,Mo.byteOffset+Et),e){case Nt.OneByte:return Et++,Lo.getUint8(0);case Nt.TwoBytes:return Et+=2,Lo.getUint16(0,Qn);case Nt.FourBytes:return Et+=4,Lo.getUint32(0,Qn);case Nt.EightBytes:return Et+=8,Lo.getBigUint64(0,Qn);case Nt.Indefinite:return 1/0;default:throw new ur(`Unsupported integer info: ${e.toString(2)}`)}}function jf(e){let t=eo(e);return typeof t=="number"?-1-t:-1n-t}function mu(e){let t=eo(e);if(t>Number.MAX_SAFE_INTEGER)throw new ur("Byte length is too large");let r=Number(t);return Et+=r,Mo.slice(Et-r,Et)}function va(e){let t=mu(e);return Df.decode(t)}function Kf(e,t){let r=eo(e);if(r===du)return Sn(t);throw new ur(`Unsupported tag: ${r}.`)}var jo=class extends Error{constructor(t){super(t),this.name="SerializationError"}},Hf=2*1024,$f=100,Gf=new TextEncoder;function qo(e){return e<<5}var it=new Uint8Array(Hf),Tt=new DataView(it.buffer),Te=0,Ia=[];function _u(e,t){Te=0;let r=t?.(e)??e;return eh(du,r,t),it.slice(0,Te)}function Aa(e,t){if(Te>it.length-$f&&(it=fu(it,it.length*2),Tt=new DataView(it.buffer)),e===!1||e===!0||e===null||e===void 0){zf(e);return}if(typeof e=="number"||typeof e=="bigint"){Qf(e);return}if(typeof e=="string"){xu(e);return}if(e instanceof Uint8Array){uu(e);return}if(e instanceof ArrayBuffer){uu(new Uint8Array(e));return}if(Array.isArray(e)){Jf(e,t);return}if(typeof e=="object"){Wf(e,t);return}throw new jo(`Unsupported type: ${typeof e}`)}function Jf(e,t){to(Ne.Array,e.length),e.forEach((r,n)=>{Aa(t?.(r,n.toString())??r,t)})}function Wf(e,t){Ia=Object.entries(e),to(Ne.Map,Ia.length),Ia.forEach(([r,n])=>{xu(r),Aa(t?.(n,r)??n,t)})}function to(e,t){if(t<=Sf){Tt.setUint8(Te++,qo(e)|Number(t));return}if(t<=Cf){Tt.setUint8(Te++,qo(e)|Nt.OneByte),Tt.setUint8(Te,Number(t)),Te+=1;return}if(t<=Ff){Tt.setUint8(Te++,qo(e)|Nt.TwoBytes),Tt.setUint16(Te,Number(t),Qn),Te+=2;return}if(t<=Pf){Tt.setUint8(Te++,qo(e)|Nt.FourBytes),Tt.setUint32(Te,Number(t),Qn),Te+=4;return}if(t<=Vf){Tt.setUint8(Te++,qo(e)|Nt.EightBytes),Tt.setBigUint64(Te,BigInt(t),Qn),Te+=8;return}throw new jo(`Value too large to encode: ${t}`)}function zf(e){to(Ne.Simple,Yf(e))}function Yf(e){if(e===!1)return Ot.False;if(e===!0)return Ot.True;if(e===null)return Ot.Null;if(e===void 0)return Ot.Undefined;throw new jo(`Unrecognized simple value: ${e.toString()}`)}function yu(e,t){to(e,t.length),Te>it.length-t.length&&(it=fu(it,it.length+t.length),Tt=new DataView(it.buffer)),it.set(t,Te),Te+=t.length}function gu(e,t){to(e,t)}function Zf(e){gu(Ne.UnsignedInteger,e)}function Xf(e){gu(Ne.NegativeInteger,typeof e=="bigint"?-1n-e:-1-e)}function Qf(e){e>=0?Zf(e):Xf(e)}function xu(e){yu(Ne.TextString,Gf.encode(e))}function uu(e){yu(Ne.ByteString,e)}function eh(e,t,r){to(Ne.Tag,e),Aa(t,r)}function rh(e){return typeof e=="object"&&e!==null&&"toCborValue"in e}function Ko(e){try{return _u(e,t=>U.isPrincipal(t)?t.toUint8Array():ro.isExpiry(t)?t.toBigInt():rh(t)?t.toCborValue():t)}catch(t){throw Y.fromCode(new Ci(t,e))}}function Me(e){try{return hu(e)}catch(t){throw Y.fromCode(new Si(t,e))}}var Qi={encode:Ko,decode:Me};var Ho=()=>{if(typeof window<"u"&&window.crypto&&window.crypto.getRandomValues){let e=new Uint32Array(1);return window.crypto.getRandomValues(e),e[0]}if(typeof crypto<"u"&&crypto.getRandomValues){let e=new Uint32Array(1);return crypto.getRandomValues(e),e[0]}return typeof crypto<"u"&&crypto.randomInt?crypto.randomInt(0,4294967295):Math.floor(Math.random()*4294967295)};var dr;(function(e){e.Query="read",e.ReadState="read_state",e.Call="call"})(dr||(dr={}));var ts;(function(e){e.Call="call"})(ts||(ts={}));var Cn;(function(e){e.Query="query",e.ReadState="read_state"})(Cn||(Cn={}));function $o(){let e=new ArrayBuffer(16),t=new DataView(e),r=Ho(),n=Ho(),o=Ho(),i=Ho();return t.setUint32(0,r),t.setUint32(4,n),t.setUint32(8,o),t.setUint32(12,i),Object.assign(new Uint8Array(e),{__nonce__:void 0})}var rs="__expiry__",Sa=BigInt(1e3),nh=BigInt(1e6),oh=BigInt(60),Ca=oh*Sa,ih=BigInt(1)*Ca;function sh(e){return e/Sa*Sa}function ah(e){return e/Ca*Ca}var ro=class e{constructor(t){this.__expiry__=t,this._isExpiry=!0}static fromDeltaInMilliseconds(t,r=0){let n=BigInt(Date.now())+BigInt(r),o=n+BigInt(t),i=ah(o),s;return i>=n+ih?s=i:s=sh(o),new e(s*nh)}toBigInt(){return this.__expiry__}toHash(){return ie(this.__expiry__)}toString(){return this.__expiry__.toString()}toJSON(){return{[rs]:this.toString()}}static fromJSON(t){let r=JSON.parse(t);if(r[rs])try{let n=BigInt(r[rs]);return new e(n)}catch(n){throw new Y(new So(`Not a valid BigInt: ${n}`))}throw new Y(new So(`The input does not contain the key ${rs}`))}static isExpiry(t){return t instanceof e||typeof t=="object"&&t!==null&&"_isExpiry"in t&&t._isExpiry===!0&&"__expiry__"in t&&typeof t.__expiry__=="bigint"}};function Fa(e=$o){return async t=>{let r=t.request.headers;t.request.headers=r,t.endpoint===dr.Call&&(t.body.nonce=e())}}function Pa(e){let t=[];return e.forEach((r,n)=>{t.push([n,r])}),t}var Ba=BigInt(0),ns=BigInt(1);function Fn(e,t=""){if(typeof e!="boolean"){let r=t&&`"${t}"`;throw new Error(r+"expected boolean, got type="+typeof e)}return e}function Dr(e,t,r=""){let n=At(e),o=e?.length,i=t!==void 0;if(!n||i&&o!==t){let s=r&&`"${r}" `,a=i?` of length ${t}`:"",c=n?`length=${o}`:`type=${typeof e}`;throw new Error(s+"expected Uint8Array"+a+", got "+c)}return e}function bu(e){if(typeof e!="string")throw new Error("hex string expected, got "+typeof e);return e===""?Ba:BigInt("0x"+e)}function Ye(e){return bu(j(e))}function pr(e){return me(e),bu(j(Uint8Array.from(e).reverse()))}function Oe(e,t){return Ee(e.toString(16).padStart(t*2,"0"))}function Da(e,t){return Oe(e,t).reverse()}function pe(e,t,r){let n;if(typeof t=="string")try{n=Ee(t)}catch(i){throw new Error(e+" must be hex string or Uint8Array, cause: "+i)}else if(At(t))n=Uint8Array.from(t);else throw new Error(e+" must be hex string or Uint8Array");let o=n.length;if(typeof r=="number"&&o!==r)throw new Error(e+" of length "+r+" expected, got "+o);return n}function wu(e,t){if(e.length!==t.length)return!1;let r=0;for(let n=0;n<e.length;n++)r|=e[n]^t[n];return r===0}function Ua(e){return Uint8Array.from(e)}var Va=e=>typeof e=="bigint"&&Ba<=e;function ka(e,t,r){return Va(e)&&Va(t)&&Va(r)&&t<=e&&e<r}function os(e,t,r,n){if(!ka(t,r,n))throw new Error("expected valid "+e+": "+r+" <= n < "+n+", got "+t)}function fr(e){let t;for(t=0;e>Ba;e>>=ns,t+=1);return t}function Tu(e,t){return e>>BigInt(t)&ns}var Rt=e=>(ns<<BigInt(e))-ns;function Nu(e){return typeof e=="function"&&Number.isSafeInteger(e.outputLen)}function hr(e,t,r={}){if(!e||typeof e!="object")throw new Error("expected valid options object");function n(o,i,s){let a=e[o];if(s&&a===void 0)return;let c=typeof a;if(c!==i||a===null)throw new Error(`param "${o}" is invalid: expected ${i}, got ${c}`)}Object.entries(t).forEach(([o,i])=>n(o,i,!1)),Object.entries(r).forEach(([o,i])=>n(o,i,!0))}var no=()=>{throw new Error("not implemented")};function Ur(e){let t=new WeakMap;return(r,...n)=>{let o=t.get(r);if(o!==void 0)return o;let i=e(r,...n);return t.set(r,i),i}}var je=BigInt(0),Ie=BigInt(1),Pn=BigInt(2),Eu=BigInt(3),Ru=BigInt(4),Iu=BigInt(5),ch=BigInt(7),vu=BigInt(8),lh=BigInt(9),Au=BigInt(16);function le(e,t){let r=e%t;return r>=je?r:t+r}function It(e,t,r){let n=e;for(;t-- >je;)n*=n,n%=r;return n}function Ou(e,t){if(e===je)throw new Error("invert: expected non-zero number");if(t<=je)throw new Error("invert: expected positive modulus, got "+t);let r=le(e,t),n=t,o=je,i=Ie,s=Ie,a=je;for(;r!==je;){let u=n/r,p=n%r,d=o-s*u,l=i-a*u;n=r,r=p,o=s,i=a,s=d,a=l}if(n!==Ie)throw new Error("invert: does not exist");return le(o,t)}function La(e,t,r){if(!e.eql(e.sqr(t),r))throw new Error("Cannot find square root")}function Su(e,t){let r=(e.ORDER+Ie)/Ru,n=e.pow(t,r);return La(e,n,t),n}function uh(e,t){let r=(e.ORDER-Iu)/vu,n=e.mul(t,Pn),o=e.pow(n,r),i=e.mul(t,o),s=e.mul(e.mul(i,Pn),o),a=e.mul(i,e.sub(s,e.ONE));return La(e,a,t),a}function dh(e){let t=Ke(e),r=Cu(e),n=r(t,t.neg(t.ONE)),o=r(t,n),i=r(t,t.neg(n)),s=(e+ch)/Au;return(a,c)=>{let u=a.pow(c,s),p=a.mul(u,n),d=a.mul(u,o),l=a.mul(u,i),f=a.eql(a.sqr(p),c),h=a.eql(a.sqr(d),c);u=a.cmov(u,p,f),p=a.cmov(l,d,h);let _=a.eql(a.sqr(p),c),g=a.cmov(u,p,_);return La(a,g,c),g}}function Cu(e){if(e<Eu)throw new Error("sqrt is not defined for small field");let t=e-Ie,r=0;for(;t%Pn===je;)t/=Pn,r++;let n=Pn,o=Ke(e);for(;Go(o,n)===1;)if(n++>1e3)throw new Error("Cannot find square root: probably non-prime P");if(r===1)return Su;let i=o.pow(n,t),s=(t+Ie)/Pn;return function(c,u){if(c.is0(u))return u;if(Go(c,u)!==1)throw new Error("Cannot find square root");let p=r,d=c.mul(c.ONE,i),l=c.pow(u,t),f=c.pow(u,s);for(;!c.eql(l,c.ONE);){if(c.is0(l))return c.ZERO;let h=1,_=c.sqr(l);for(;!c.eql(_,c.ONE);)if(h++,_=c.sqr(_),h===p)throw new Error("Cannot find square root");let g=Ie<<BigInt(p-h-1),m=c.pow(d,g);p=h,d=c.sqr(m),l=c.mul(l,d),f=c.mul(f,m)}return f}}function ph(e){return e%Ru===Eu?Su:e%vu===Iu?uh:e%Au===lh?dh(e):Cu(e)}var mr=(e,t)=>(le(e,t)&Ie)===Ie,fh=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function is(e){let t={ORDER:"bigint",MASK:"bigint",BYTES:"number",BITS:"number"},r=fh.reduce((n,o)=>(n[o]="function",n),t);return hr(e,r),e}function Jo(e,t,r){if(r<je)throw new Error("invalid exponent, negatives unsupported");if(r===je)return e.ONE;if(r===Ie)return t;let n=e.ONE,o=t;for(;r>je;)r&Ie&&(n=e.mul(n,o)),o=e.sqr(o),r>>=Ie;return n}function ut(e,t,r=!1){let n=new Array(t.length).fill(r?e.ZERO:void 0),o=t.reduce((s,a,c)=>e.is0(a)?s:(n[c]=s,e.mul(s,a)),e.ONE),i=e.inv(o);return t.reduceRight((s,a,c)=>e.is0(a)?s:(n[c]=e.mul(s,n[c]),e.mul(s,a)),i),n}function Go(e,t){let r=(e.ORDER-Ie)/Pn,n=e.pow(t,r),o=e.eql(n,e.ONE),i=e.eql(n,e.ZERO),s=e.eql(n,e.neg(e.ONE));if(!o&&!i&&!s)throw new Error("invalid Legendre symbol result");return o?1:i?0:-1}function qa(e,t){t!==void 0&&aa(t);let r=t!==void 0?t:e.toString(2).length,n=Math.ceil(r/8);return{nBitLength:r,nByteLength:n}}function Ke(e,t,r=!1,n={}){if(e<=je)throw new Error("invalid field: expected ORDER > 0, got "+e);let o,i,s=!1,a;if(typeof t=="object"&&t!=null){if(n.sqrt||r)throw new Error("cannot specify opts in two arguments");let l=t;l.BITS&&(o=l.BITS),l.sqrt&&(i=l.sqrt),typeof l.isLE=="boolean"&&(r=l.isLE),typeof l.modFromBytes=="boolean"&&(s=l.modFromBytes),a=l.allowedLengths}else typeof t=="number"&&(o=t),n.sqrt&&(i=n.sqrt);let{nBitLength:c,nByteLength:u}=qa(e,o);if(u>2048)throw new Error("invalid field: expected ORDER of <= 2048 bytes");let p,d=Object.freeze({ORDER:e,isLE:r,BITS:c,BYTES:u,MASK:Rt(c),ZERO:je,ONE:Ie,allowedLengths:a,create:l=>le(l,e),isValid:l=>{if(typeof l!="bigint")throw new Error("invalid field element: expected bigint, got "+typeof l);return je<=l&&l<e},is0:l=>l===je,isValidNot0:l=>!d.is0(l)&&d.isValid(l),isOdd:l=>(l&Ie)===Ie,neg:l=>le(-l,e),eql:(l,f)=>l===f,sqr:l=>le(l*l,e),add:(l,f)=>le(l+f,e),sub:(l,f)=>le(l-f,e),mul:(l,f)=>le(l*f,e),pow:(l,f)=>Jo(d,l,f),div:(l,f)=>le(l*Ou(f,e),e),sqrN:l=>l*l,addN:(l,f)=>l+f,subN:(l,f)=>l-f,mulN:(l,f)=>l*f,inv:l=>Ou(l,e),sqrt:i||(l=>(p||(p=ph(e)),p(d,l))),toBytes:l=>r?Da(l,u):Oe(l,u),fromBytes:(l,f=!0)=>{if(a){if(!a.includes(l.length)||l.length>u)throw new Error("Field.fromBytes: expected "+a+" bytes, got "+l.length);let _=new Uint8Array(u);_.set(l,r?0:_.length-l.length),l=_}if(l.length!==u)throw new Error("Field.fromBytes: expected "+u+" bytes, got "+l.length);let h=r?pr(l):Ye(l);if(s&&(h=le(h,e)),!f&&!d.isValid(h))throw new Error("invalid field element: outside of range 0..ORDER");return h},invertBatch:l=>ut(d,l),cmov:(l,f,h)=>h?f:l});return Object.freeze(d)}function Fu(e){if(typeof e!="bigint")throw new Error("field order must be bigint");let t=e.toString(2).length;return Math.ceil(t/8)}function ss(e){let t=Fu(e);return t+Math.ceil(t/2)}function Ma(e,t,r=!1){let n=e.length,o=Fu(t),i=ss(t);if(n<16||n<i||n>1024)throw new Error("expected "+i+"-1024 bytes of input, got "+n);let s=r?pr(e):Ye(e),a=le(s,t-Ie)+Ie;return r?Da(a,o):Oe(a,o)}var oo=BigInt(0),Vn=BigInt(1);function Wo(e,t){let r=t.negate();return e?r:t}function dt(e,t){let r=ut(e.Fp,t.map(n=>n.Z));return t.map((n,o)=>e.fromAffine(n.toAffine(r[o])))}function Du(e,t){if(!Number.isSafeInteger(e)||e<=0||e>t)throw new Error("invalid window size, expected [1.."+t+"], got W="+e)}function ja(e,t){Du(e,t);let r=Math.ceil(t/e)+1,n=2**(e-1),o=2**e,i=Rt(e),s=BigInt(e);return{windows:r,windowSize:n,mask:i,maxNumber:o,shiftBy:s}}function Pu(e,t,r){let{windowSize:n,mask:o,maxNumber:i,shiftBy:s}=r,a=Number(e&o),c=e>>s;a>n&&(a-=i,c+=Vn);let u=t*n,p=u+Math.abs(a)-1,d=a===0,l=a<0,f=t%2!==0;return{nextN:c,offset:p,isZero:d,isNeg:l,isNegF:f,offsetF:u}}function mh(e,t){if(!Array.isArray(e))throw new Error("array expected");e.forEach((r,n)=>{if(!(r instanceof t))throw new Error("invalid point at index "+n)})}function _h(e,t){if(!Array.isArray(e))throw new Error("array of scalars expected");e.forEach((r,n)=>{if(!t.isValid(r))throw new Error("invalid scalar at index "+n)})}var Ka=new WeakMap,Uu=new WeakMap;function Ha(e){return Uu.get(e)||1}function Vu(e){if(e!==oo)throw new Error("invalid wNAF")}var io=class{constructor(t,r){this.BASE=t.BASE,this.ZERO=t.ZERO,this.Fn=t.Fn,this.bits=r}_unsafeLadder(t,r,n=this.ZERO){let o=t;for(;r>oo;)r&Vn&&(n=n.add(o)),o=o.double(),r>>=Vn;return n}precomputeWindow(t,r){let{windows:n,windowSize:o}=ja(r,this.bits),i=[],s=t,a=s;for(let c=0;c<n;c++){a=s,i.push(a);for(let u=1;u<o;u++)a=a.add(s),i.push(a);s=a.double()}return i}wNAF(t,r,n){if(!this.Fn.isValid(n))throw new Error("invalid scalar");let o=this.ZERO,i=this.BASE,s=ja(t,this.bits);for(let a=0;a<s.windows;a++){let{nextN:c,offset:u,isZero:p,isNeg:d,isNegF:l,offsetF:f}=Pu(n,a,s);n=c,p?i=i.add(Wo(l,r[f])):o=o.add(Wo(d,r[u]))}return Vu(n),{p:o,f:i}}wNAFUnsafe(t,r,n,o=this.ZERO){let i=ja(t,this.bits);for(let s=0;s<i.windows&&n!==oo;s++){let{nextN:a,offset:c,isZero:u,isNeg:p}=Pu(n,s,i);if(n=a,!u){let d=r[c];o=o.add(p?d.negate():d)}}return Vu(n),o}getPrecomputes(t,r,n){let o=Ka.get(r);return o||(o=this.precomputeWindow(r,t),t!==1&&(typeof n=="function"&&(o=n(o)),Ka.set(r,o))),o}cached(t,r,n){let o=Ha(t);return this.wNAF(o,this.getPrecomputes(o,t,n),r)}unsafe(t,r,n,o){let i=Ha(t);return i===1?this._unsafeLadder(t,r,o):this.wNAFUnsafe(i,this.getPrecomputes(i,t,n),r,o)}createCache(t,r){Du(r,this.bits),Uu.set(t,r),Ka.delete(t)}hasCache(t){return Ha(t)!==1}};function ku(e,t,r,n){let o=t,i=e.ZERO,s=e.ZERO;for(;r>oo||n>oo;)r&Vn&&(i=i.add(o)),n&Vn&&(s=s.add(o)),o=o.double(),r>>=Vn,n>>=Vn;return{p1:i,p2:s}}function so(e,t,r,n){mh(r,e),_h(n,t);let o=r.length,i=n.length;if(o!==i)throw new Error("arrays of points and scalars must have equal length");let s=e.ZERO,a=fr(BigInt(o)),c=1;a>12?c=a-3:a>4?c=a-2:a>0&&(c=2);let u=Rt(c),p=new Array(Number(u)+1).fill(s),d=Math.floor((t.BITS-1)/c)*c,l=s;for(let f=d;f>=0;f-=c){p.fill(s);for(let _=0;_<i;_++){let g=n[_],m=Number(g>>BigInt(f)&u);p[m]=p[m].add(r[_])}let h=s;for(let _=p.length-1,g=s;_>0;_--)g=g.add(p[_]),h=h.add(g);if(l=l.add(h),f!==0)for(let _=0;_<c;_++)l=l.double()}return l}function Bu(e,t,r){if(t){if(t.ORDER!==e)throw new Error("Field.ORDER must match order: Fp == p, Fn == n");return is(t),t}else return Ke(e,{isLE:r})}function as(e,t,r={},n){if(n===void 0&&(n=e==="edwards"),!t||typeof t!="object")throw new Error(`expected valid ${e} CURVE object`);for(let c of["p","n","h"]){let u=t[c];if(!(typeof u=="bigint"&&u>oo))throw new Error(`CURVE.${c} must be positive bigint`)}let o=Bu(t.p,r.Fp,n),i=Bu(t.n,r.Fn,n),a=["Gx","Gy","a",e==="weierstrass"?"b":"d"];for(let c of a)if(!o.isValid(t[c]))throw new Error(`CURVE.${c} must be valid field element of CURVE.Fp`);return t=Object.freeze(Object.assign({},t)),{CURVE:t,Fp:o,Fn:i}}var yh=Ye;function kr(e,t){if(zo(e),zo(t),e<0||e>=1<<8*t)throw new Error("invalid I2OSP input: "+e);let r=Array.from({length:t}).fill(0);for(let n=t-1;n>=0;n--)r[n]=e&255,e>>>=8;return new Uint8Array(r)}function gh(e,t){let r=new Uint8Array(e.length);for(let n=0;n<e.length;n++)r[n]=e[n]^t[n];return r}function zo(e){if(!Number.isSafeInteger(e))throw new Error("number expected")}function Lu(e){if(!At(e)&&typeof e!="string")throw new Error("DST must be Uint8Array or string");return typeof e=="string"?$(e):e}function xh(e,t,r,n){me(e),zo(r),t=Lu(t),t.length>255&&(t=n(K($("H2C-OVERSIZE-DST-"),t)));let{outputLen:o,blockLen:i}=n,s=Math.ceil(r/o);if(r>65535||s>255)throw new Error("expand_message_xmd: invalid lenInBytes");let a=K(t,kr(t.length,1)),c=kr(0,i),u=kr(r,2),p=new Array(s),d=n(K(c,e,u,kr(0,1),a));p[0]=n(K(d,kr(1,1),a));for(let f=1;f<=s;f++){let h=[gh(d,p[f-1]),kr(f+1,1),a];p[f]=n(K(...h))}return K(...p).slice(0,r)}function bh(e,t,r,n,o){if(me(e),zo(r),t=Lu(t),t.length>255){let i=Math.ceil(2*n/8);t=o.create({dkLen:i}).update($("H2C-OVERSIZE-DST-")).update(t).digest()}if(r>65535||t.length>255)throw new Error("expand_message_xof: invalid lenInBytes");return o.create({dkLen:r}).update(e).update(kr(r,2)).update(t).update(kr(t.length,1)).digest()}function $a(e,t,r){hr(r,{p:"bigint",m:"number",k:"number",hash:"function"});let{p:n,k:o,m:i,hash:s,expand:a,DST:c}=r;if(!Nu(r.hash))throw new Error("expected valid hash");me(e),zo(t);let u=n.toString(2).length,p=Math.ceil((u+o)/8),d=t*i*p,l;if(a==="xmd")l=xh(e,c,d,s);else if(a==="xof")l=bh(e,c,d,o,s);else if(a==="_internal_pass")l=e;else throw new Error('expand must be "xmd" or "xof"');let f=new Array(t);for(let h=0;h<t;h++){let _=new Array(i);for(let g=0;g<i;g++){let m=p*(g+h*i),x=l.subarray(m,m+p);_[g]=le(yh(x),n)}f[h]=_}return f}function Ga(e,t){let r=t.map(n=>Array.from(n).reverse());return(n,o)=>{let[i,s,a,c]=r.map(d=>d.reduce((l,f)=>e.add(e.mul(l,n),f))),[u,p]=ut(e,[s,c],!0);return n=e.mul(i,u),o=e.mul(o,e.mul(a,p)),{x:n,y:o}}}var wh=$("HashToScalar-");function Ja(e,t,r){if(typeof t!="function")throw new Error("mapToCurve() must be defined");function n(i){return e.fromAffine(t(i))}function o(i){let s=i.clearCofactor();return s.equals(e.ZERO)?e.ZERO:(s.assertValidity(),s)}return{defaults:r,hashToCurve(i,s){let a=Object.assign({},r,s),c=$a(i,2,a),u=n(c[0]),p=n(c[1]);return o(u.add(p))},encodeToCurve(i,s){let a=r.encodeDST?{DST:r.encodeDST}:{},c=Object.assign({},r,a,s),u=$a(i,1,c),p=n(u[0]);return o(p)},mapToCurve(i){if(!Array.isArray(i))throw new Error("expected array of bigints");for(let s of i)if(typeof s!="bigint")throw new Error("expected array of bigints");return o(n(i))},hashToScalar(i,s){let a=e.Fn.ORDER,c=Object.assign({},r,{p:a,m:1,DST:wh},s);return $a(i,1,c)[0][0]}}}var qu=(e,t)=>(e+(e>=0?t:-t)/_r)/t;function Th(e,t,r){let[[n,o],[i,s]]=t,a=qu(s*e,r),c=qu(-o*e,r),u=e-a*n-c*i,p=-a*o-c*s,d=u<Bn,l=p<Bn;d&&(u=-u),l&&(p=-p);let f=Rt(Math.ceil(fr(r)/2))+He;if(u<Bn||u>=f||p<Bn||p>=f)throw new Error("splitScalar (endomorphism): failed, k="+e);return{k1neg:d,k1:u,k2neg:l,k2:p}}var Bn=BigInt(0),He=BigInt(1),_r=BigInt(2),ao=BigInt(3),Wa=BigInt(4);function Yo(e,t){let{BYTES:r}=e,n;if(typeof t=="bigint")n=t;else{let o=pe("private key",t);try{n=e.fromBytes(o)}catch{throw new Error(`invalid private key: expected ui8a of size ${r}, got ${typeof t}`)}}if(!e.isValidNot0(n))throw new Error("invalid private key: out of range [1..N-1]");return n}function Nh(e,t={}){let r=as("weierstrass",e,t),{Fp:n,Fn:o}=r,i=r.CURVE,{h:s,n:a}=i;hr(t,{},{allowInfinityPoint:"boolean",clearCofactor:"function",isTorsionFree:"function",fromBytes:"function",toBytes:"function",endo:"object",wrapPrivateKey:"boolean"});let{endo:c}=t;if(c&&(!n.is0(i.a)||typeof c.beta!="bigint"||!Array.isArray(c.basises)))throw new Error('invalid endo: expected "beta": bigint and "basises": array');let u=Rh(n,o);function p(){if(!n.isOdd)throw new Error("compression is not supported: Field does not have .isOdd()")}function d(S,b,N){let{x:C,y:B}=b.toAffine(),L=n.toBytes(C);if(Fn(N,"isCompressed"),N){p();let A=!n.isOdd(B);return K(Oh(A),L)}else return K(Uint8Array.of(4),L,n.toBytes(B))}function l(S){Dr(S,void 0,"Point");let{publicKey:b,publicKeyUncompressed:N}=u,C=S.length,B=S[0],L=S.subarray(1);if(C===b&&(B===2||B===3)){let A=n.fromBytes(L);if(!n.isValid(A))throw new Error("bad point: is not on curve, wrong x");let P=_(A),V;try{V=n.sqrt(P)}catch(te){let ee=te instanceof Error?": "+te.message:"";throw new Error("bad point: is not on curve, sqrt error"+ee)}p();let D=n.isOdd(V);return(B&1)===1!==D&&(V=n.neg(V)),{x:A,y:V}}else if(C===N&&B===4){let A=n.BYTES,P=n.fromBytes(L.subarray(0,A)),V=n.fromBytes(L.subarray(A,A*2));if(!g(P,V))throw new Error("bad point: is not on curve");return{x:P,y:V}}else throw new Error(`bad point: got length ${C}, expected compressed=${b} or uncompressed=${N}`)}let f=t.toBytes||d,h=t.fromBytes||l;function _(S){let b=n.sqr(S),N=n.mul(b,S);return n.add(n.add(N,n.mul(S,i.a)),i.b)}function g(S,b){let N=n.sqr(b),C=_(S);return n.eql(N,C)}if(!g(i.Gx,i.Gy))throw new Error("bad curve params: generator point");let m=n.mul(n.pow(i.a,ao),Wa),x=n.mul(n.sqr(i.b),BigInt(27));if(n.is0(n.add(m,x)))throw new Error("bad curve params: a or b");function y(S,b,N=!1){if(!n.isValid(b)||N&&n.is0(b))throw new Error(`bad point coordinate ${S}`);return b}function T(S){if(!(S instanceof w))throw new Error("ProjectivePoint expected")}function E(S){if(!c||!c.basises)throw new Error("no endo");return Th(S,c.basises,o.ORDER)}let O=Ur((S,b)=>{let{X:N,Y:C,Z:B}=S;if(n.eql(B,n.ONE))return{x:N,y:C};let L=S.is0();b==null&&(b=L?n.ONE:n.inv(B));let A=n.mul(N,b),P=n.mul(C,b),V=n.mul(B,b);if(L)return{x:n.ZERO,y:n.ZERO};if(!n.eql(V,n.ONE))throw new Error("invZ was invalid");return{x:A,y:P}}),R=Ur(S=>{if(S.is0()){if(t.allowInfinityPoint&&!n.is0(S.Y))return;throw new Error("bad point: ZERO")}let{x:b,y:N}=S.toAffine();if(!n.isValid(b)||!n.isValid(N))throw new Error("bad point: x or y not field elements");if(!g(b,N))throw new Error("bad point: equation left != right");if(!S.isTorsionFree())throw new Error("bad point: not in prime-order subgroup");return!0});function v(S,b,N,C,B){return N=new w(n.mul(N.X,S),N.Y,N.Z),b=Wo(C,b),N=Wo(B,N),b.add(N)}class w{constructor(b,N,C){this.X=y("x",b),this.Y=y("y",N,!0),this.Z=y("z",C),Object.freeze(this)}static CURVE(){return i}static fromAffine(b){let{x:N,y:C}=b||{};if(!b||!n.isValid(N)||!n.isValid(C))throw new Error("invalid affine point");if(b instanceof w)throw new Error("projective point not allowed");return n.is0(N)&&n.is0(C)?w.ZERO:new w(N,C,n.ONE)}static fromBytes(b){let N=w.fromAffine(h(Dr(b,void 0,"point")));return N.assertValidity(),N}static fromHex(b){return w.fromBytes(pe("pointHex",b))}get x(){return this.toAffine().x}get y(){return this.toAffine().y}precompute(b=8,N=!0){return F.createCache(this,b),N||this.multiply(ao),this}assertValidity(){R(this)}hasEvenY(){let{y:b}=this.toAffine();if(!n.isOdd)throw new Error("Field doesn't support isOdd");return!n.isOdd(b)}equals(b){T(b);let{X:N,Y:C,Z:B}=this,{X:L,Y:A,Z:P}=b,V=n.eql(n.mul(N,P),n.mul(L,B)),D=n.eql(n.mul(C,P),n.mul(A,B));return V&&D}negate(){return new w(this.X,n.neg(this.Y),this.Z)}double(){let{a:b,b:N}=i,C=n.mul(N,ao),{X:B,Y:L,Z:A}=this,P=n.ZERO,V=n.ZERO,D=n.ZERO,q=n.mul(B,B),te=n.mul(L,L),ee=n.mul(A,A),J=n.mul(B,L);return J=n.add(J,J),D=n.mul(B,A),D=n.add(D,D),P=n.mul(b,D),V=n.mul(C,ee),V=n.add(P,V),P=n.sub(te,V),V=n.add(te,V),V=n.mul(P,V),P=n.mul(J,P),D=n.mul(C,D),ee=n.mul(b,ee),J=n.sub(q,ee),J=n.mul(b,J),J=n.add(J,D),D=n.add(q,q),q=n.add(D,q),q=n.add(q,ee),q=n.mul(q,J),V=n.add(V,q),ee=n.mul(L,A),ee=n.add(ee,ee),q=n.mul(ee,J),P=n.sub(P,q),D=n.mul(ee,te),D=n.add(D,D),D=n.add(D,D),new w(P,V,D)}add(b){T(b);let{X:N,Y:C,Z:B}=this,{X:L,Y:A,Z:P}=b,V=n.ZERO,D=n.ZERO,q=n.ZERO,te=i.a,ee=n.mul(i.b,ao),J=n.mul(N,L),ae=n.mul(C,A),he=n.mul(B,P),Fe=n.add(N,C),oe=n.add(L,A);Fe=n.mul(Fe,oe),oe=n.add(J,ae),Fe=n.sub(Fe,oe),oe=n.add(N,B);let re=n.add(L,P);return oe=n.mul(oe,re),re=n.add(J,he),oe=n.sub(oe,re),re=n.add(C,B),V=n.add(A,P),re=n.mul(re,V),V=n.add(ae,he),re=n.sub(re,V),q=n.mul(te,oe),V=n.mul(ee,he),q=n.add(V,q),V=n.sub(ae,q),q=n.add(ae,q),D=n.mul(V,q),ae=n.add(J,J),ae=n.add(ae,J),he=n.mul(te,he),oe=n.mul(ee,oe),ae=n.add(ae,he),he=n.sub(J,he),he=n.mul(te,he),oe=n.add(oe,he),J=n.mul(ae,oe),D=n.add(D,J),J=n.mul(re,oe),V=n.mul(Fe,V),V=n.sub(V,J),J=n.mul(Fe,ae),q=n.mul(re,q),q=n.add(q,J),new w(V,D,q)}subtract(b){return this.add(b.negate())}is0(){return this.equals(w.ZERO)}multiply(b){let{endo:N}=t;if(!o.isValidNot0(b))throw new Error("invalid scalar: out of range");let C,B,L=A=>F.cached(this,A,P=>dt(w,P));if(N){let{k1neg:A,k1:P,k2neg:V,k2:D}=E(b),{p:q,f:te}=L(P),{p:ee,f:J}=L(D);B=te.add(J),C=v(N.beta,q,ee,A,V)}else{let{p:A,f:P}=L(b);C=A,B=P}return dt(w,[C,B])[0]}multiplyUnsafe(b){let{endo:N}=t,C=this;if(!o.isValid(b))throw new Error("invalid scalar: out of range");if(b===Bn||C.is0())return w.ZERO;if(b===He)return C;if(F.hasCache(this))return this.multiply(b);if(N){let{k1neg:B,k1:L,k2neg:A,k2:P}=E(b),{p1:V,p2:D}=ku(w,C,L,P);return v(N.beta,V,D,B,A)}else return F.unsafe(C,b)}multiplyAndAddUnsafe(b,N,C){let B=this.multiplyUnsafe(N).add(b.multiplyUnsafe(C));return B.is0()?void 0:B}toAffine(b){return O(this,b)}isTorsionFree(){let{isTorsionFree:b}=t;return s===He?!0:b?b(w,this):F.unsafe(this,a).is0()}clearCofactor(){let{clearCofactor:b}=t;return s===He?this:b?b(w,this):this.multiplyUnsafe(s)}isSmallOrder(){return this.multiplyUnsafe(s).is0()}toBytes(b=!0){return Fn(b,"isCompressed"),this.assertValidity(),f(w,this,b)}toHex(b=!0){return j(this.toBytes(b))}toString(){return`<Point ${this.is0()?"ZERO":this.toHex()}>`}get px(){return this.X}get py(){return this.X}get pz(){return this.Z}toRawBytes(b=!0){return this.toBytes(b)}_setWindowSize(b){this.precompute(b)}static normalizeZ(b){return dt(w,b)}static msm(b,N){return so(w,o,b,N)}static fromPrivateKey(b){return w.BASE.multiply(Yo(o,b))}}w.BASE=new w(i.Gx,i.Gy,n.ONE),w.ZERO=new w(n.ZERO,n.ONE,n.ZERO),w.Fp=n,w.Fn=o;let I=o.BITS,F=new io(w,t.endo?Math.ceil(I/2):I);return w.BASE.precompute(8),w}function Oh(e){return Uint8Array.of(e?2:3)}function Eh(e,t){let r=e.ORDER,n=Bn;for(let h=r-He;h%_r===Bn;h/=_r)n+=He;let o=n,i=_r<<o-He-He,s=i*_r,a=(r-He)/s,c=(a-He)/_r,u=s-He,p=i,d=e.pow(t,a),l=e.pow(t,(a+He)/_r),f=(h,_)=>{let g=d,m=e.pow(_,u),x=e.sqr(m);x=e.mul(x,_);let y=e.mul(h,x);y=e.pow(y,c),y=e.mul(y,m),m=e.mul(y,_),x=e.mul(y,h);let T=e.mul(x,m);y=e.pow(T,p);let E=e.eql(y,e.ONE);m=e.mul(x,l),y=e.mul(T,g),x=e.cmov(m,x,E),T=e.cmov(y,T,E);for(let O=o;O>He;O--){let R=O-_r;R=_r<<R-He;let v=e.pow(T,R),w=e.eql(v,e.ONE);m=e.mul(x,g),g=e.mul(g,g),v=e.mul(T,g),x=e.cmov(m,x,w),T=e.cmov(v,T,w)}return{isValid:E,value:x}};if(e.ORDER%Wa===ao){let h=(e.ORDER-ao)/Wa,_=e.sqrt(e.neg(t));f=(g,m)=>{let x=e.sqr(m),y=e.mul(g,m);x=e.mul(x,y);let T=e.pow(x,h);T=e.mul(T,y);let E=e.mul(T,_),O=e.mul(e.sqr(T),m),R=e.eql(O,g),v=e.cmov(E,T,R);return{isValid:R,value:v}}}return f}function za(e,t){is(e);let{A:r,B:n,Z:o}=t;if(!e.isValid(r)||!e.isValid(n)||!e.isValid(o))throw new Error("mapToCurveSimpleSWU: invalid opts");let i=Eh(e,o);if(!e.isOdd)throw new Error("Field does not have .isOdd()");return s=>{let a,c,u,p,d,l,f,h;a=e.sqr(s),a=e.mul(a,o),c=e.sqr(a),c=e.add(c,a),u=e.add(c,e.ONE),u=e.mul(u,n),p=e.cmov(o,e.neg(c),!e.eql(c,e.ZERO)),p=e.mul(p,r),c=e.sqr(u),l=e.sqr(p),d=e.mul(l,r),c=e.add(c,d),c=e.mul(c,u),l=e.mul(l,p),d=e.mul(l,n),c=e.add(c,d),f=e.mul(a,u);let{isValid:_,value:g}=i(c,l);h=e.mul(a,s),h=e.mul(h,g),f=e.cmov(f,u,_),h=e.cmov(h,g,_);let m=e.isOdd(s)===e.isOdd(h);h=e.cmov(e.neg(h),h,m);let x=ut(e,[p],!0)[0];return f=e.mul(f,x),{x:f,y:h}}}function Rh(e,t){return{secretKey:t.BYTES,publicKey:1+e.BYTES,publicKeyUncompressed:1+2*e.BYTES,publicKeyHasPrefix:!0,signature:2*t.BYTES}}function Ya(e){let{CURVE:t,curveOpts:r}=Ih(e),n=Nh(t,r);return Ah(e,n)}function Ih(e){let t={a:e.a,b:e.b,p:e.Fp.ORDER,n:e.n,h:e.h,Gx:e.Gx,Gy:e.Gy},r=e.Fp,n=e.allowedPrivateKeyLengths?Array.from(new Set(e.allowedPrivateKeyLengths.map(s=>Math.ceil(s/2)))):void 0,o=Ke(t.n,{BITS:e.nBitLength,allowedLengths:n,modFromBytes:e.wrapPrivateKey}),i={Fp:r,Fn:o,allowInfinityPoint:e.allowInfinityPoint,endo:e.endo,isTorsionFree:e.isTorsionFree,clearCofactor:e.clearCofactor,fromBytes:e.fromBytes,toBytes:e.toBytes};return{CURVE:t,curveOpts:i}}function vh(e,t,r){function n(o){let i=e.sqr(o),s=e.mul(i,o);return e.add(e.add(s,e.mul(o,t)),r)}return n}function Ah(e,t){let{Fp:r,Fn:n}=t;function o(s){return ka(s,He,n.ORDER)}let i=vh(r,e.a,e.b);return Object.assign({},{CURVE:e,Point:t,ProjectivePoint:t,normPrivateKeyToScalar:s=>Yo(n,s),weierstrassEquation:i,isWithinCurveOrder:o})}var Sh=BigInt(0),cs=BigInt(1),Mu=BigInt(2),co=BigInt(3);function Ch(e){let t=[];for(;e>cs;e>>=cs)(e&cs)===Sh?t.unshift(0):(e&co)===co?(t.unshift(-1),e+=cs):t.unshift(1);return t}function Za(e){if(!Array.isArray(e)||e.length===0)throw new Error("expected non-empty array")}function Fh(e,t,r,n){let{Fp2:o,Fp12:i}=e,{twistType:s,ateLoopSize:a,xNegative:c,postPrecompute:u}=n,p;if(s==="multiplicative")p=(y,T,E,O,R,v)=>i.mul014(O,y,o.mul(T,R),o.mul(E,v));else if(s==="divisive")p=(y,T,E,O,R,v)=>i.mul034(O,o.mul(E,v),o.mul(T,R),y);else throw new Error("bls: unknown twist type");let d=o.div(o.ONE,o.mul(o.ONE,Mu));function l(y,T,E,O){let R=o.sqr(E),v=o.sqr(O),w=o.mulByB(o.mul(v,co)),I=o.mul(w,co),F=o.sub(o.sub(o.sqr(o.add(E,O)),v),R),S=o.sub(w,R),b=o.mul(o.sqr(T),co),N=o.neg(F);return y.push([S,b,N]),T=o.mul(o.mul(o.mul(o.sub(R,I),T),E),d),E=o.sub(o.sqr(o.mul(o.add(R,I),d)),o.mul(o.sqr(w),co)),O=o.mul(R,F),{Rx:T,Ry:E,Rz:O}}function f(y,T,E,O,R,v){let w=o.sub(E,o.mul(v,O)),I=o.sub(T,o.mul(R,O)),F=o.sub(o.mul(w,R),o.mul(I,v)),S=o.neg(w),b=I;y.push([F,S,b]);let N=o.sqr(I),C=o.mul(N,I),B=o.mul(N,T),L=o.add(o.sub(C,o.mul(B,Mu)),o.mul(o.sqr(w),O));return T=o.mul(I,L),E=o.sub(o.mul(o.sub(B,L),w),o.mul(C,E)),O=o.mul(O,C),{Rx:T,Ry:E,Rz:O}}let h=Ch(a),_=Ur(y=>{let T=y,{x:E,y:O}=T.toAffine(),R=E,v=O,w=o.neg(O),I=R,F=v,S=o.ONE,b=[];for(let N of h){let C=[];({Rx:I,Ry:F,Rz:S}=l(C,I,F,S)),N&&({Rx:I,Ry:F,Rz:S}=f(C,I,F,S,R,N===-1?w:v)),b.push(C)}if(u){let N=b[b.length-1];u(I,F,S,R,v,f.bind(null,N))}return b});function g(y,T=!1){let E=i.ONE;if(y.length){let O=y[0][0].length;for(let R=0;R<O;R++){E=i.sqr(E);for(let[v,w,I]of y)for(let[F,S,b]of v[R])E=p(F,S,b,E,w,I)}}return c&&(E=i.conjugate(E)),T?i.finalExponentiate(E):E}function m(y,T=!0){let E=[];dt(t,y.map(({g1:O})=>O)),dt(r,y.map(({g2:O})=>O));for(let{g1:O,g2:R}of y){if(O.is0()||R.is0())throw new Error("pairing is not available for ZERO point");O.assertValidity(),R.assertValidity();let v=O.toAffine();E.push([_(R),v.x,v.y])}return g(E,T)}function x(y,T,E=!0){return m([{g1:y,g2:T}],E)}return{Fp12:i,millerLoopBatch:g,pairing:x,pairingBatch:m,calcPairingPrecomputes:_}}function ju(e,t,r,n,o){let{Fp12:i,pairingBatch:s}=e;function a(d){return d instanceof t.Point?d:t.Point.fromHex(d)}function c(d){return d instanceof r.Point?d:r.Point.fromHex(d)}function u(d){if(!(d instanceof r.Point))throw new Error(`expected valid message hashed to ${o?"G1":"G2"} curve`);return d}let p=o?(d,l)=>({g1:l,g2:d}):(d,l)=>({g1:d,g2:l});return{getPublicKey(d){let l=Yo(t.Point.Fn,d);return t.Point.BASE.multiply(l)},sign(d,l,f){if(f!=null)throw new Error("sign() expects 2 arguments");let h=Yo(t.Point.Fn,l);return u(d).assertValidity(),d.multiply(h)},verify(d,l,f,h){if(h!=null)throw new Error("verify() expects 3 arguments");d=c(d),f=a(f);let _=f.negate(),g=t.Point.BASE,m=u(l),x=d,y=s([p(_,m),p(g,x)]);return i.eql(y,i.ONE)},verifyBatch(d,l,f){if(Za(l),f.length!==l.length)throw new Error("amount of public keys and messages should be equal");let h=c(d),_=l,g=f.map(a),m=new Map;for(let T=0;T<g.length;T++){let E=g[T],O=_[T],R=m.get(O);R===void 0&&(R=[],m.set(O,R)),R.push(E)}let x=[],y=t.Point.BASE;try{for(let[T,E]of m){let O=E.reduce((R,v)=>R.add(v));x.push(p(O,T))}return x.push(p(y.negate(),h)),i.eql(s(x),i.ONE)}catch{return!1}},aggregatePublicKeys(d){Za(d),d=d.map(f=>a(f));let l=d.reduce((f,h)=>f.add(h),t.Point.ZERO);return l.assertValidity(),l},aggregateSignatures(d){Za(d),d=d.map(f=>c(f));let l=d.reduce((f,h)=>f.add(h),r.Point.ZERO);return l.assertValidity(),l},hash(d,l){me(d);let f=l?{DST:l}:void 0;return r.hashToCurve(d,f)},Signature:n}}function Ku(e){let{Fp:t,Fr:r,Fp2:n,Fp6:o,Fp12:i}=e.fields,s=Ya(e.G1),a=Object.assign(s,Ja(s.Point,e.G1.mapToCurve,{...e.htfDefaults,...e.G1.htfDefaults})),c=Ya(e.G2),u=Object.assign(c,Ja(c.Point,e.G2.mapToCurve,{...e.htfDefaults,...e.G2.htfDefaults})),p=Fh(e.fields,a.Point,u.Point,{...e.params,postPrecompute:e.postPrecompute}),{millerLoopBatch:d,pairing:l,pairingBatch:f,calcPairingPrecomputes:h}=p,_=ju(p,a,u,e.G2.Signature,!1),g=ju(p,u,a,e.G1.ShortSignature,!0),m=e.randomBytes||Kn,x=()=>{let A=ss(r.ORDER);return Ma(m(A),r.ORDER)},y={randomSecretKey:x,randomPrivateKey:x,calcPairingPrecomputes:h},{ShortSignature:T}=e.G1,{Signature:E}=e.G2;function O(A,P){return A instanceof a.Point?A:g.hash(pe("point",A),P?.DST)}function R(A,P){return A instanceof u.Point?A:_.hash(pe("point",A),P?.DST)}function v(A){return _.getPublicKey(A).toBytes(!0)}function w(A){return g.getPublicKey(A).toBytes(!0)}function I(A,P,V){let D=R(A,V),q=_.sign(D,P);return A instanceof u.Point?q:E.toBytes(q)}function F(A,P,V){let D=O(A,V),q=g.sign(D,P);return A instanceof a.Point?q:T.toBytes(q)}function S(A,P,V,D){let q=R(P,D);return _.verify(A,q,V)}function b(A,P,V,D){let q=O(P,D);return g.verify(A,q,V)}function N(A){let P=_.aggregatePublicKeys(A);return A[0]instanceof a.Point?P:P.toBytes(!0)}function C(A){let P=_.aggregateSignatures(A);return A[0]instanceof u.Point?P:E.toBytes(P)}function B(A){let P=g.aggregateSignatures(A);return A[0]instanceof a.Point?P:T.toBytes(P)}function L(A,P,V,D){let q=P.map(te=>R(te,D));return _.verifyBatch(A,q,V)}return a.Point.BASE.precompute(4),{longSignatures:_,shortSignatures:g,millerLoopBatch:d,pairing:l,pairingBatch:f,verifyBatch:L,fields:{Fr:r,Fp:t,Fp2:n,Fp6:o,Fp12:i},params:{ateLoopSize:e.params.ateLoopSize,twistType:e.params.twistType,r:e.params.r,G1b:e.G1.b,G2b:e.G2.b},utils:y,getPublicKey:v,getPublicKeyForShortSignatures:w,sign:I,signShortSignature:F,verify:S,verifyShortSignature:b,aggregatePublicKeys:N,aggregateSignatures:C,aggregateShortSignatures:B,G1:a,G2:u,Signature:E,ShortSignature:T}}var Hu=BigInt(0),yr=BigInt(1),$e=BigInt(2),$u=BigInt(3);function tc(e,t,r,n,o=1,i){let s=BigInt(i===void 0?n:i),a=r**BigInt(n),c=[];for(let u=0;u<o;u++){let p=BigInt(u+1),d=[];for(let l=0,f=yr;l<n;l++){let h=(p*f-p)/s%a;d.push(e.pow(t,h)),f*=r}c.push(d)}return c}function Ju(e,t,r){let n=t.pow(r,(e.ORDER-yr)/$u),o=t.pow(r,(e.ORDER-yr)/$e);function i(l,f){let h=t.mul(t.frobeniusMap(l,1),n),_=t.mul(t.frobeniusMap(f,1),o);return[h,_]}let s=t.pow(r,(e.ORDER**$e-yr)/$u),a=t.pow(r,(e.ORDER**$e-yr)/$e);if(!t.eql(a,t.neg(t.ONE)))throw new Error("psiFrobenius: PSI2_Y!==-1");function c(l,f){return[t.mul(l,s),t.neg(f)]}let u=l=>(f,h)=>{let _=h.toAffine(),g=l(_.x,_.y);return f.fromAffine({x:g[0],y:g[1]})},p=u(i),d=u(c);return{psi:i,psi2:c,G2psi:p,G2psi2:d,PSI_X:n,PSI_Y:o,PSI2_X:s,PSI2_Y:a}}var Gu=(e,t)=>{if(t.length!==2)throw new Error("invalid tuple");let r=t.map(n=>e.create(n));return{c0:r[0],c1:r[1]}},Xa=class{constructor(t,r={}){this.MASK=yr;let n=t.ORDER,o=n*n;this.Fp=t,this.ORDER=o,this.BITS=fr(o),this.BYTES=Math.ceil(fr(o)/8),this.isLE=t.isLE,this.ZERO={c0:t.ZERO,c1:t.ZERO},this.ONE={c0:t.ONE,c1:t.ZERO},this.Fp_NONRESIDUE=t.create(r.NONRESIDUE||BigInt(-1)),this.Fp_div2=t.div(t.ONE,$e),this.NONRESIDUE=Gu(t,r.FP2_NONRESIDUE),this.FROBENIUS_COEFFICIENTS=tc(t,this.Fp_NONRESIDUE,t.ORDER,2)[0],this.mulByB=r.Fp2mulByB,Object.seal(this)}fromBigTuple(t){return Gu(this.Fp,t)}create(t){return t}isValid({c0:t,c1:r}){function n(o,i){return typeof o=="bigint"&&Hu<=o&&o<i}return n(t,this.ORDER)&&n(r,this.ORDER)}is0({c0:t,c1:r}){return this.Fp.is0(t)&&this.Fp.is0(r)}isValidNot0(t){return!this.is0(t)&&this.isValid(t)}eql({c0:t,c1:r},{c0:n,c1:o}){return this.Fp.eql(t,n)&&this.Fp.eql(r,o)}neg({c0:t,c1:r}){return{c0:this.Fp.neg(t),c1:this.Fp.neg(r)}}pow(t,r){return Jo(this,t,r)}invertBatch(t){return ut(this,t)}add(t,r){let{c0:n,c1:o}=t,{c0:i,c1:s}=r;return{c0:this.Fp.add(n,i),c1:this.Fp.add(o,s)}}sub({c0:t,c1:r},{c0:n,c1:o}){return{c0:this.Fp.sub(t,n),c1:this.Fp.sub(r,o)}}mul({c0:t,c1:r},n){let{Fp:o}=this;if(typeof n=="bigint")return{c0:o.mul(t,n),c1:o.mul(r,n)};let{c0:i,c1:s}=n,a=o.mul(t,i),c=o.mul(r,s),u=o.sub(a,c),p=o.sub(o.mul(o.add(t,r),o.add(i,s)),o.add(a,c));return{c0:u,c1:p}}sqr({c0:t,c1:r}){let{Fp:n}=this,o=n.add(t,r),i=n.sub(t,r),s=n.add(t,t);return{c0:n.mul(o,i),c1:n.mul(s,r)}}addN(t,r){return this.add(t,r)}subN(t,r){return this.sub(t,r)}mulN(t,r){return this.mul(t,r)}sqrN(t){return this.sqr(t)}div(t,r){let{Fp:n}=this;return this.mul(t,typeof r=="bigint"?n.inv(n.create(r)):this.inv(r))}inv({c0:t,c1:r}){let{Fp:n}=this,o=n.inv(n.create(t*t+r*r));return{c0:n.mul(o,n.create(t)),c1:n.mul(o,n.create(-r))}}sqrt(t){let{Fp:r}=this,n=this,{c0:o,c1:i}=t;if(r.is0(i))return Go(r,o)===1?n.create({c0:r.sqrt(o),c1:r.ZERO}):n.create({c0:r.ZERO,c1:r.sqrt(r.div(o,this.Fp_NONRESIDUE))});let s=r.sqrt(r.sub(r.sqr(o),r.mul(r.sqr(i),this.Fp_NONRESIDUE))),a=r.mul(r.add(s,o),this.Fp_div2);Go(r,a)===-1&&(a=r.sub(a,s));let u=r.sqrt(a),p=n.create({c0:u,c1:r.div(r.mul(i,this.Fp_div2),u)});if(!n.eql(n.sqr(p),t))throw new Error("Cannot find square root");let d=p,l=n.neg(d),{re:f,im:h}=n.reim(d),{re:_,im:g}=n.reim(l);return h>g||h===g&&f>_?d:l}isOdd(t){let{re:r,im:n}=this.reim(t),o=r%$e,i=r===Hu,s=n%$e;return BigInt(o||i&&s)==yr}fromBytes(t){let{Fp:r}=this;if(t.length!==this.BYTES)throw new Error("fromBytes invalid length="+t.length);return{c0:r.fromBytes(t.subarray(0,r.BYTES)),c1:r.fromBytes(t.subarray(r.BYTES))}}toBytes({c0:t,c1:r}){return K(this.Fp.toBytes(t),this.Fp.toBytes(r))}cmov({c0:t,c1:r},{c0:n,c1:o},i){return{c0:this.Fp.cmov(t,n,i),c1:this.Fp.cmov(r,o,i)}}reim({c0:t,c1:r}){return{re:t,im:r}}Fp4Square(t,r){let n=this,o=n.sqr(t),i=n.sqr(r);return{first:n.add(n.mulByNonresidue(i),o),second:n.sub(n.sub(n.sqr(n.add(t,r)),o),i)}}mulByNonresidue({c0:t,c1:r}){return this.mul({c0:t,c1:r},this.NONRESIDUE)}frobeniusMap({c0:t,c1:r},n){return{c0:t,c1:this.Fp.mul(r,this.FROBENIUS_COEFFICIENTS[n%2])}}},Qa=class{constructor(t){this.MASK=yr,this.Fp2=t,this.ORDER=t.ORDER,this.BITS=3*t.BITS,this.BYTES=3*t.BYTES,this.isLE=t.isLE,this.ZERO={c0:t.ZERO,c1:t.ZERO,c2:t.ZERO},this.ONE={c0:t.ONE,c1:t.ZERO,c2:t.ZERO};let{Fp:r}=t,n=tc(t,t.NONRESIDUE,r.ORDER,6,2,3);this.FROBENIUS_COEFFICIENTS_1=n[0],this.FROBENIUS_COEFFICIENTS_2=n[1],Object.seal(this)}add({c0:t,c1:r,c2:n},{c0:o,c1:i,c2:s}){let{Fp2:a}=this;return{c0:a.add(t,o),c1:a.add(r,i),c2:a.add(n,s)}}sub({c0:t,c1:r,c2:n},{c0:o,c1:i,c2:s}){let{Fp2:a}=this;return{c0:a.sub(t,o),c1:a.sub(r,i),c2:a.sub(n,s)}}mul({c0:t,c1:r,c2:n},o){let{Fp2:i}=this;if(typeof o=="bigint")return{c0:i.mul(t,o),c1:i.mul(r,o),c2:i.mul(n,o)};let{c0:s,c1:a,c2:c}=o,u=i.mul(t,s),p=i.mul(r,a),d=i.mul(n,c);return{c0:i.add(u,i.mulByNonresidue(i.sub(i.mul(i.add(r,n),i.add(a,c)),i.add(p,d)))),c1:i.add(i.sub(i.mul(i.add(t,r),i.add(s,a)),i.add(u,p)),i.mulByNonresidue(d)),c2:i.sub(i.add(p,i.mul(i.add(t,n),i.add(s,c))),i.add(u,d))}}sqr({c0:t,c1:r,c2:n}){let{Fp2:o}=this,i=o.sqr(t),s=o.mul(o.mul(t,r),$e),a=o.mul(o.mul(r,n),$e),c=o.sqr(n);return{c0:o.add(o.mulByNonresidue(a),i),c1:o.add(o.mulByNonresidue(c),s),c2:o.sub(o.sub(o.add(o.add(s,o.sqr(o.add(o.sub(t,r),n))),a),i),c)}}addN(t,r){return this.add(t,r)}subN(t,r){return this.sub(t,r)}mulN(t,r){return this.mul(t,r)}sqrN(t){return this.sqr(t)}create(t){return t}isValid({c0:t,c1:r,c2:n}){let{Fp2:o}=this;return o.isValid(t)&&o.isValid(r)&&o.isValid(n)}is0({c0:t,c1:r,c2:n}){let{Fp2:o}=this;return o.is0(t)&&o.is0(r)&&o.is0(n)}isValidNot0(t){return!this.is0(t)&&this.isValid(t)}neg({c0:t,c1:r,c2:n}){let{Fp2:o}=this;return{c0:o.neg(t),c1:o.neg(r),c2:o.neg(n)}}eql({c0:t,c1:r,c2:n},{c0:o,c1:i,c2:s}){let{Fp2:a}=this;return a.eql(t,o)&&a.eql(r,i)&&a.eql(n,s)}sqrt(t){return no()}div(t,r){let{Fp2:n}=this,{Fp:o}=n;return this.mul(t,typeof r=="bigint"?o.inv(o.create(r)):this.inv(r))}pow(t,r){return Jo(this,t,r)}invertBatch(t){return ut(this,t)}inv({c0:t,c1:r,c2:n}){let{Fp2:o}=this,i=o.sub(o.sqr(t),o.mulByNonresidue(o.mul(n,r))),s=o.sub(o.mulByNonresidue(o.sqr(n)),o.mul(t,r)),a=o.sub(o.sqr(r),o.mul(t,n)),c=o.inv(o.add(o.mulByNonresidue(o.add(o.mul(n,s),o.mul(r,a))),o.mul(t,i)));return{c0:o.mul(c,i),c1:o.mul(c,s),c2:o.mul(c,a)}}fromBytes(t){let{Fp2:r}=this;if(t.length!==this.BYTES)throw new Error("fromBytes invalid length="+t.length);let n=r.BYTES;return{c0:r.fromBytes(t.subarray(0,n)),c1:r.fromBytes(t.subarray(n,n*2)),c2:r.fromBytes(t.subarray(2*n))}}toBytes({c0:t,c1:r,c2:n}){let{Fp2:o}=this;return K(o.toBytes(t),o.toBytes(r),o.toBytes(n))}cmov({c0:t,c1:r,c2:n},{c0:o,c1:i,c2:s},a){let{Fp2:c}=this;return{c0:c.cmov(t,o,a),c1:c.cmov(r,i,a),c2:c.cmov(n,s,a)}}fromBigSix(t){let{Fp2:r}=this;if(!Array.isArray(t)||t.length!==6)throw new Error("invalid Fp6 usage");return{c0:r.fromBigTuple(t.slice(0,2)),c1:r.fromBigTuple(t.slice(2,4)),c2:r.fromBigTuple(t.slice(4,6))}}frobeniusMap({c0:t,c1:r,c2:n},o){let{Fp2:i}=this;return{c0:i.frobeniusMap(t,o),c1:i.mul(i.frobeniusMap(r,o),this.FROBENIUS_COEFFICIENTS_1[o%6]),c2:i.mul(i.frobeniusMap(n,o),this.FROBENIUS_COEFFICIENTS_2[o%6])}}mulByFp2({c0:t,c1:r,c2:n},o){let{Fp2:i}=this;return{c0:i.mul(t,o),c1:i.mul(r,o),c2:i.mul(n,o)}}mulByNonresidue({c0:t,c1:r,c2:n}){let{Fp2:o}=this;return{c0:o.mulByNonresidue(n),c1:t,c2:r}}mul1({c0:t,c1:r,c2:n},o){let{Fp2:i}=this;return{c0:i.mulByNonresidue(i.mul(n,o)),c1:i.mul(t,o),c2:i.mul(r,o)}}mul01({c0:t,c1:r,c2:n},o,i){let{Fp2:s}=this,a=s.mul(t,o),c=s.mul(r,i);return{c0:s.add(s.mulByNonresidue(s.sub(s.mul(s.add(r,n),i),c)),a),c1:s.sub(s.sub(s.mul(s.add(o,i),s.add(t,r)),a),c),c2:s.add(s.sub(s.mul(s.add(t,n),o),a),c)}}},ec=class{constructor(t,r){this.MASK=yr;let{Fp2:n}=t,{Fp:o}=n;this.Fp6=t,this.ORDER=n.ORDER,this.BITS=2*t.BITS,this.BYTES=2*t.BYTES,this.isLE=t.isLE,this.ZERO={c0:t.ZERO,c1:t.ZERO},this.ONE={c0:t.ONE,c1:t.ZERO},this.FROBENIUS_COEFFICIENTS=tc(n,n.NONRESIDUE,o.ORDER,12,1,6)[0],this.X_LEN=r.X_LEN,this.finalExponentiate=r.Fp12finalExponentiate}create(t){return t}isValid({c0:t,c1:r}){let{Fp6:n}=this;return n.isValid(t)&&n.isValid(r)}is0({c0:t,c1:r}){let{Fp6:n}=this;return n.is0(t)&&n.is0(r)}isValidNot0(t){return!this.is0(t)&&this.isValid(t)}neg({c0:t,c1:r}){let{Fp6:n}=this;return{c0:n.neg(t),c1:n.neg(r)}}eql({c0:t,c1:r},{c0:n,c1:o}){let{Fp6:i}=this;return i.eql(t,n)&&i.eql(r,o)}sqrt(t){no()}inv({c0:t,c1:r}){let{Fp6:n}=this,o=n.inv(n.sub(n.sqr(t),n.mulByNonresidue(n.sqr(r))));return{c0:n.mul(t,o),c1:n.neg(n.mul(r,o))}}div(t,r){let{Fp6:n}=this,{Fp2:o}=n,{Fp:i}=o;return this.mul(t,typeof r=="bigint"?i.inv(i.create(r)):this.inv(r))}pow(t,r){return Jo(this,t,r)}invertBatch(t){return ut(this,t)}add({c0:t,c1:r},{c0:n,c1:o}){let{Fp6:i}=this;return{c0:i.add(t,n),c1:i.add(r,o)}}sub({c0:t,c1:r},{c0:n,c1:o}){let{Fp6:i}=this;return{c0:i.sub(t,n),c1:i.sub(r,o)}}mul({c0:t,c1:r},n){let{Fp6:o}=this;if(typeof n=="bigint")return{c0:o.mul(t,n),c1:o.mul(r,n)};let{c0:i,c1:s}=n,a=o.mul(t,i),c=o.mul(r,s);return{c0:o.add(a,o.mulByNonresidue(c)),c1:o.sub(o.mul(o.add(t,r),o.add(i,s)),o.add(a,c))}}sqr({c0:t,c1:r}){let{Fp6:n}=this,o=n.mul(t,r);return{c0:n.sub(n.sub(n.mul(n.add(n.mulByNonresidue(r),t),n.add(t,r)),o),n.mulByNonresidue(o)),c1:n.add(o,o)}}addN(t,r){return this.add(t,r)}subN(t,r){return this.sub(t,r)}mulN(t,r){return this.mul(t,r)}sqrN(t){return this.sqr(t)}fromBytes(t){let{Fp6:r}=this;if(t.length!==this.BYTES)throw new Error("fromBytes invalid length="+t.length);return{c0:r.fromBytes(t.subarray(0,r.BYTES)),c1:r.fromBytes(t.subarray(r.BYTES))}}toBytes({c0:t,c1:r}){let{Fp6:n}=this;return K(n.toBytes(t),n.toBytes(r))}cmov({c0:t,c1:r},{c0:n,c1:o},i){let{Fp6:s}=this;return{c0:s.cmov(t,n,i),c1:s.cmov(r,o,i)}}fromBigTwelve(t){let{Fp6:r}=this;return{c0:r.fromBigSix(t.slice(0,6)),c1:r.fromBigSix(t.slice(6,12))}}frobeniusMap(t,r){let{Fp6:n}=this,{Fp2:o}=n,{c0:i,c1:s,c2:a}=n.frobeniusMap(t.c1,r),c=this.FROBENIUS_COEFFICIENTS[r%12];return{c0:n.frobeniusMap(t.c0,r),c1:n.create({c0:o.mul(i,c),c1:o.mul(s,c),c2:o.mul(a,c)})}}mulByFp2({c0:t,c1:r},n){let{Fp6:o}=this;return{c0:o.mulByFp2(t,n),c1:o.mulByFp2(r,n)}}conjugate({c0:t,c1:r}){return{c0:t,c1:this.Fp6.neg(r)}}mul014({c0:t,c1:r},n,o,i){let{Fp6:s}=this,{Fp2:a}=s,c=s.mul01(t,n,o),u=s.mul1(r,i);return{c0:s.add(s.mulByNonresidue(u),c),c1:s.sub(s.sub(s.mul01(s.add(r,t),n,a.add(o,i)),c),u)}}mul034({c0:t,c1:r},n,o,i){let{Fp6:s}=this,{Fp2:a}=s,c=s.create({c0:a.mul(t.c0,n),c1:a.mul(t.c1,n),c2:a.mul(t.c2,n)}),u=s.mul01(r,o,i),p=s.mul01(s.add(t,r),a.add(n,o),i);return{c0:s.add(s.mulByNonresidue(u),c),c1:s.sub(p,s.add(c,u))}}_cyclotomicSquare({c0:t,c1:r}){let{Fp6:n}=this,{Fp2:o}=n,{c0:i,c1:s,c2:a}=t,{c0:c,c1:u,c2:p}=r,{first:d,second:l}=o.Fp4Square(i,u),{first:f,second:h}=o.Fp4Square(c,a),{first:_,second:g}=o.Fp4Square(s,p),m=o.mulByNonresidue(g);return{c0:n.create({c0:o.add(o.mul(o.sub(d,i),$e),d),c1:o.add(o.mul(o.sub(f,s),$e),f),c2:o.add(o.mul(o.sub(_,a),$e),_)}),c1:n.create({c0:o.add(o.mul(o.add(m,c),$e),m),c1:o.add(o.mul(o.add(l,u),$e),l),c2:o.add(o.mul(o.add(h,p),$e),h)})}}_cyclotomicExp(t,r){let n=this.ONE;for(let o=this.X_LEN-1;o>=0;o--)n=this._cyclotomicSquare(n),Tu(r,o)&&(n=this.mul(n,t));return n}};function Wu(e){let t=Ke(e.ORDER),r=new Xa(t,e),n=new Qa(r),o=new ec(n,e);return{Fp:t,Fp2:r,Fp6:n,Fp12:o}}var Ve=BigInt(0),ls=BigInt(1),pt=BigInt(2),us=BigInt(3),Zo=BigInt(4),Lr=BigInt("0xd201000000010000"),Ph=fr(Lr),Dn={p:BigInt("0x1a0111ea397fe69a4b1ba7b6434bacd764774b84f38512bf6730d2a0f6b0f6241eabfffeb153ffffb9feffffffffaaab"),n:BigInt("0x73eda753299d7d483339d80809a1d80553bda402fffe5bfeffffffff00000001"),h:BigInt("0x396c8c005555e1568c00aaab0000aaab"),a:Ve,b:Zo,Gx:BigInt("0x17f1d3a73197d7942695638c4fa9ac0fc3688c4f9774b905a14e3a3f171bac586c55e83ff97a1aeffb3af00adb22c6bb"),Gy:BigInt("0x08b3f481e3aaa0f1a09e30ed741d8ae4fcf5e095d5d00af600db18cb2c04b3edd03cc744a2888ae40caa232946c5e7e1")},Vh=Ke(Dn.n,{modFromBytes:!0,isLE:!0}),{Fp:M,Fp2:W,Fp6:Bh,Fp12:X}=Wu({ORDER:Dn.p,X_LEN:Ph,FP2_NONRESIDUE:[ls,ls],Fp2mulByB:({c0:e,c1:t})=>{let r=M.mul(e,Zo),n=M.mul(t,Zo);return{c0:M.sub(r,n),c1:M.add(r,n)}},Fp12finalExponentiate:e=>{let t=Lr,r=X.div(X.frobeniusMap(e,6),e),n=X.mul(X.frobeniusMap(r,2),r),o=X.conjugate(X._cyclotomicExp(n,t)),i=X.mul(X.conjugate(X._cyclotomicSquare(n)),o),s=X.conjugate(X._cyclotomicExp(i,t)),a=X.conjugate(X._cyclotomicExp(s,t)),c=X.mul(X.conjugate(X._cyclotomicExp(a,t)),X._cyclotomicSquare(o)),u=X.conjugate(X._cyclotomicExp(c,t)),p=X.frobeniusMap(X.mul(o,a),2),d=X.frobeniusMap(X.mul(s,n),3),l=X.frobeniusMap(X.mul(c,X.conjugate(n)),1),f=X.mul(X.mul(u,X.conjugate(i)),n);return X.mul(X.mul(X.mul(p,d),l),f)}}),{G2psi:zu,G2psi2:Dh}=Ju(M,W,W.div(W.ONE,W.NONRESIDUE)),rc=Object.freeze({DST:"BLS_SIG_BLS12381G2_XMD:SHA-256_SSWU_RO_NUL_",encodeDST:"BLS_SIG_BLS12381G2_XMD:SHA-256_SSWU_RO_NUL_",p:M.ORDER,m:2,k:128,expand:"xmd",hash:Pe}),ic={p:W.ORDER,n:Dn.n,h:BigInt("0x5d543a95414e7f1091d50792876a202cd91de4547085abaa68a205b2e5a7ddfa628f1cb4d9e82ef21537e293a6691ae1616ec6e786f0c70cf1c38e31c7238e5"),a:W.ZERO,b:W.fromBigTuple([Zo,Zo]),Gx:W.fromBigTuple([BigInt("0x024aa2b2f08f0a91260805272dc51051c6e47ad4fa403b02b4510b647ae3d1770bac0326a805bbefd48056c8c121bdb8"),BigInt("0x13e02b6052719f607dacd3a088274f65596bd0d09920b61ab5da61bbdc7f5049334cf11213945d57e5ac7d055d042b7e")]),Gy:W.fromBigTuple([BigInt("0x0ce5d527727d6e118cc9cdc6da2e351aadfd9baa8cbdd3a76d429a695160d12c923ac9cc3baca289e193548608b82801"),BigInt("0x0606c4a02ea734cc32acd2b02bc28b99cb3e287e85a763af267492ab572e99ab3f370d275cec1da1aaa9075ff05f79be")])},ds=Xo(M.toBytes(Ve),{infinity:!0,compressed:!0});function ps(e){e=e.slice();let t=e[0]&224,r=!!(t>>7&1),n=!!(t>>6&1),o=!!(t>>5&1);return e[0]&=31,{compressed:r,infinity:n,sort:o,value:e}}function Xo(e,t){if(e[0]&224)throw new Error("setMask: non-empty mask");return t.compressed&&(e[0]|=128),t.infinity&&(e[0]|=64),t.sort&&(e[0]|=32),e}function Uh(e,t,r){let{BYTES:n,ORDER:o}=M,i=t.is0(),{x:s,y:a}=t.toAffine();if(r){if(i)return ds.slice();let c=!!(a*pt/o);return Xo(Oe(s,n),{compressed:!0,sort:c})}else return i?K(Uint8Array.of(64),new Uint8Array(2*n-1)):K(Oe(s,n),Oe(a,n))}function nc(e){e.assertValidity();let{BYTES:t,ORDER:r}=M,{x:n,y:o}=e.toAffine();if(e.is0())return ds.slice();let i=!!(o*pt/r);return Xo(Oe(n,t),{compressed:!0,sort:i})}function kh(e){let{compressed:t,infinity:r,sort:n,value:o}=ps(e),{BYTES:i,ORDER:s}=M;if(o.length===48&&t){let a=Ye(o),c=M.create(a&Rt(M.BITS));if(r){if(c!==Ve)throw new Error("invalid G1 point: non-empty, at infinity, with compression");return{x:Ve,y:Ve}}let u=M.add(M.pow(c,us),M.create(Dn.b)),p=M.sqrt(u);if(!p)throw new Error("invalid G1 point: compressed point");return p*pt/s!==BigInt(n)&&(p=M.neg(p)),{x:M.create(c),y:M.create(p)}}else if(o.length===96&&!t){let a=Ye(o.subarray(0,i)),c=Ye(o.subarray(i));if(r){if(a!==Ve||c!==Ve)throw new Error("G1: non-empty point at infinity");return Qo.G1.Point.ZERO.toAffine()}return{x:M.create(a),y:M.create(c)}}else throw new Error("invalid G1 point: expected 48/96 bytes")}function Yu(e){let{infinity:t,sort:r,value:n}=ps(pe("signatureHex",e,48)),o=M.ORDER,i=Qo.G1.Point,s=Ye(n);if(t)return i.ZERO;let a=M.create(s&Rt(M.BITS)),c=M.add(M.pow(a,us),M.create(Dn.b)),u=M.sqrt(c);if(!u)throw new Error("invalid G1 point: compressed");let p=BigInt(r);u*pt/o!==p&&(u=M.neg(u));let d=i.fromAffine({x:a,y:u});return d.assertValidity(),d}function Lh(e,t,r){let{BYTES:n,ORDER:o}=M,i=t.is0(),{x:s,y:a}=t.toAffine();if(r){if(i)return K(ds,Oe(Ve,n));let c=!!(a.c1===Ve?a.c0*pt/o:a.c1*pt/o);return K(Xo(Oe(s.c1,n),{compressed:!0,sort:c}),Oe(s.c0,n))}else{if(i)return K(Uint8Array.of(64),new Uint8Array(4*n-1));let{re:c,im:u}=W.reim(s),{re:p,im:d}=W.reim(a);return K(Oe(u,n),Oe(c,n),Oe(d,n),Oe(p,n))}}function oc(e){e.assertValidity();let{BYTES:t}=M;if(e.is0())return K(ds,Oe(Ve,t));let{x:r,y:n}=e.toAffine(),{re:o,im:i}=W.reim(r),{re:s,im:a}=W.reim(n),u=!!((a>Ve?a*pt:s*pt)/M.ORDER&ls),p=o;return K(Xo(Oe(i,t),{sort:u,compressed:!0}),Oe(p,t))}function qh(e){let{BYTES:t,ORDER:r}=M,{compressed:n,infinity:o,sort:i,value:s}=ps(e);if(!n&&!o&&i||!n&&o&&i||i&&o&&n)throw new Error("invalid encoding flag: "+(e[0]&224));let a=(c,u,p)=>Ye(c.slice(u,p));if(s.length===96&&n){if(o){if(s.reduce((h,_)=>h!==0?_+1:_,0)>0)throw new Error("invalid G2 point: compressed");return{x:W.ZERO,y:W.ZERO}}let c=a(s,0,t),u=a(s,t,2*t),p=W.create({c0:M.create(u),c1:M.create(c)}),d=W.add(W.pow(p,us),ic.b),l=W.sqrt(d),f=l.c1===Ve?l.c0*pt/r:l.c1*pt/r?ls:Ve;return l=i&&f>0?l:W.neg(l),{x:p,y:l}}else if(s.length===192&&!n){if(o){if(s.reduce((l,f)=>l!==0?f+1:f,0)>0)throw new Error("invalid G2 point: uncompressed");return{x:W.ZERO,y:W.ZERO}}let c=a(s,0*t,1*t),u=a(s,1*t,2*t),p=a(s,2*t,3*t),d=a(s,3*t,4*t);return{x:W.fromBigTuple([u,c]),y:W.fromBigTuple([d,p])}}else throw new Error("invalid G2 point: expected 96/192 bytes")}function Zu(e){let{ORDER:t}=M,{infinity:r,sort:n,value:o}=ps(pe("signatureHex",e)),i=Qo.G2.Point,s=o.length/2;if(s!==48&&s!==96)throw new Error("invalid compressed signature length, expected 96/192 bytes");let a=Ye(o.slice(0,s)),c=Ye(o.slice(s));if(r)return i.ZERO;let u=M.create(a&Rt(M.BITS)),p=M.create(c),d=W.create({c0:p,c1:u}),l=W.add(W.pow(d,us),ic.b),f=W.sqrt(l);if(!f)throw new Error("Failed to find a square root");let{re:h,im:_}=W.reim(f),g=BigInt(n),m=_>Ve&&_*pt/t!==g,x=_===Ve&&h*pt/t!==g;(m||x)&&(f=W.neg(f));let y=i.fromAffine({x:d,y:f});return y.assertValidity(),y}var Qo=Ku({fields:{Fp:M,Fp2:W,Fp6:Bh,Fp12:X,Fr:Vh},G1:{...Dn,Fp:M,htfDefaults:{...rc,m:1,DST:"BLS_SIG_BLS12381G1_XMD:SHA-256_SSWU_RO_NUL_"},wrapPrivateKey:!0,allowInfinityPoint:!0,isTorsionFree:(e,t)=>{let r=BigInt("0x5f19672fdf76ce51ba69c6076a0f77eaddb3a93be6f89688de17d813620a00022e01fffffffefffe"),n=new e(M.mul(t.X,r),t.Y,t.Z);return t.multiplyUnsafe(Lr).negate().multiplyUnsafe(Lr).equals(n)},clearCofactor:(e,t)=>t.multiplyUnsafe(Lr).add(t),mapToCurve:$h,fromBytes:kh,toBytes:Uh,ShortSignature:{fromBytes(e){return me(e),Yu(e)},fromHex(e){return Yu(e)},toBytes(e){return nc(e)},toRawBytes(e){return nc(e)},toHex(e){return j(nc(e))}}},G2:{...ic,Fp:W,hEff:BigInt("0xbc69f08f2ee75b3584c6a0ea91b352888e2a8e9145ad7689986ff031508ffe1329c2f178731db956d82bf015d1212b02ec0ec69d7477c1ae954cbc06689f6a359894c0adebbf6b4e8020005aaa95551"),htfDefaults:{...rc},wrapPrivateKey:!0,allowInfinityPoint:!0,mapToCurve:Gh,isTorsionFree:(e,t)=>t.multiplyUnsafe(Lr).negate().equals(zu(e,t)),clearCofactor:(e,t)=>{let r=Lr,n=t.multiplyUnsafe(r).negate(),o=zu(e,t),i=t.double();return i=Dh(e,i),i=i.subtract(o),o=n.add(o),o=o.multiplyUnsafe(r).negate(),i=i.add(o),i=i.subtract(n),i.subtract(t)},fromBytes:qh,toBytes:Lh,Signature:{fromBytes(e){return me(e),Zu(e)},fromHex(e){return Zu(e)},toBytes(e){return oc(e)},toRawBytes(e){return oc(e)},toHex(e){return j(oc(e))}}},params:{ateLoopSize:Lr,r:Dn.n,xNegative:!0,twistType:"multiplicative"},htfDefaults:rc,hash:Pe}),Mh=Ga(W,[[["0x5c759507e8e333ebb5b7a9a47d7ed8532c52d39fd3a042a88b58423c50ae15d5c2638e343d9c71c6238aaaaaaaa97d6","0x5c759507e8e333ebb5b7a9a47d7ed8532c52d39fd3a042a88b58423c50ae15d5c2638e343d9c71c6238aaaaaaaa97d6"],["0x0","0x11560bf17baa99bc32126fced787c88f984f87adf7ae0c7f9a208c6b4f20a4181472aaa9cb8d555526a9ffffffffc71a"],["0x11560bf17baa99bc32126fced787c88f984f87adf7ae0c7f9a208c6b4f20a4181472aaa9cb8d555526a9ffffffffc71e","0x8ab05f8bdd54cde190937e76bc3e447cc27c3d6fbd7063fcd104635a790520c0a395554e5c6aaaa9354ffffffffe38d"],["0x171d6541fa38ccfaed6dea691f5fb614cb14b4e7f4e810aa22d6108f142b85757098e38d0f671c7188e2aaaaaaaa5ed1","0x0"]],[["0x0","0x1a0111ea397fe69a4b1ba7b6434bacd764774b84f38512bf6730d2a0f6b0f6241eabfffeb153ffffb9feffffffffaa63"],["0xc","0x1a0111ea397fe69a4b1ba7b6434bacd764774b84f38512bf6730d2a0f6b0f6241eabfffeb153ffffb9feffffffffaa9f"],["0x1","0x0"]],[["0x1530477c7ab4113b59a4c18b076d11930f7da5d4a07f649bf54439d87d27e500fc8c25ebf8c92f6812cfc71c71c6d706","0x1530477c7ab4113b59a4c18b076d11930f7da5d4a07f649bf54439d87d27e500fc8c25ebf8c92f6812cfc71c71c6d706"],["0x0","0x5c759507e8e333ebb5b7a9a47d7ed8532c52d39fd3a042a88b58423c50ae15d5c2638e343d9c71c6238aaaaaaaa97be"],["0x11560bf17baa99bc32126fced787c88f984f87adf7ae0c7f9a208c6b4f20a4181472aaa9cb8d555526a9ffffffffc71c","0x8ab05f8bdd54cde190937e76bc3e447cc27c3d6fbd7063fcd104635a790520c0a395554e5c6aaaa9354ffffffffe38f"],["0x124c9ad43b6cf79bfbf7043de3811ad0761b0f37a1e26286b0e977c69aa274524e79097a56dc4bd9e1b371c71c718b10","0x0"]],[["0x1a0111ea397fe69a4b1ba7b6434bacd764774b84f38512bf6730d2a0f6b0f6241eabfffeb153ffffb9feffffffffa8fb","0x1a0111ea397fe69a4b1ba7b6434bacd764774b84f38512bf6730d2a0f6b0f6241eabfffeb153ffffb9feffffffffa8fb"],["0x0","0x1a0111ea397fe69a4b1ba7b6434bacd764774b84f38512bf6730d2a0f6b0f6241eabfffeb153ffffb9feffffffffa9d3"],["0x12","0x1a0111ea397fe69a4b1ba7b6434bacd764774b84f38512bf6730d2a0f6b0f6241eabfffeb153ffffb9feffffffffaa99"],["0x1","0x0"]]].map(e=>e.map(t=>W.fromBigTuple(t.map(BigInt))))),jh=Ga(M,[["0x11a05f2b1e833340b809101dd99815856b303e88a2d7005ff2627b56cdb4e2c85610c2d5f2e62d6eaeac1662734649b7","0x17294ed3e943ab2f0588bab22147a81c7c17e75b2f6a8417f565e33c70d1e86b4838f2a6f318c356e834eef1b3cb83bb","0xd54005db97678ec1d1048c5d10a9a1bce032473295983e56878e501ec68e25c958c3e3d2a09729fe0179f9dac9edcb0","0x1778e7166fcc6db74e0609d307e55412d7f5e4656a8dbf25f1b33289f1b330835336e25ce3107193c5b388641d9b6861","0xe99726a3199f4436642b4b3e4118e5499db995a1257fb3f086eeb65982fac18985a286f301e77c451154ce9ac8895d9","0x1630c3250d7313ff01d1201bf7a74ab5db3cb17dd952799b9ed3ab9097e68f90a0870d2dcae73d19cd13c1c66f652983","0xd6ed6553fe44d296a3726c38ae652bfb11586264f0f8ce19008e218f9c86b2a8da25128c1052ecaddd7f225a139ed84","0x17b81e7701abdbe2e8743884d1117e53356de5ab275b4db1a682c62ef0f2753339b7c8f8c8f475af9ccb5618e3f0c88e","0x80d3cf1f9a78fc47b90b33563be990dc43b756ce79f5574a2c596c928c5d1de4fa295f296b74e956d71986a8497e317","0x169b1f8e1bcfa7c42e0c37515d138f22dd2ecb803a0c5c99676314baf4bb1b7fa3190b2edc0327797f241067be390c9e","0x10321da079ce07e272d8ec09d2565b0dfa7dccdde6787f96d50af36003b14866f69b771f8c285decca67df3f1605fb7b","0x6e08c248e260e70bd1e962381edee3d31d79d7e22c837bc23c0bf1bc24c6b68c24b1b80b64d391fa9c8ba2e8ba2d229"],["0x8ca8d548cff19ae18b2e62f4bd3fa6f01d5ef4ba35b48ba9c9588617fc8ac62b558d681be343df8993cf9fa40d21b1c","0x12561a5deb559c4348b4711298e536367041e8ca0cf0800c0126c2588c48bf5713daa8846cb026e9e5c8276ec82b3bff","0xb2962fe57a3225e8137e629bff2991f6f89416f5a718cd1fca64e00b11aceacd6a3d0967c94fedcfcc239ba5cb83e19","0x3425581a58ae2fec83aafef7c40eb545b08243f16b1655154cca8abc28d6fd04976d5243eecf5c4130de8938dc62cd8","0x13a8e162022914a80a6f1d5f43e7a07dffdfc759a12062bb8d6b44e833b306da9bd29ba81f35781d539d395b3532a21e","0xe7355f8e4e667b955390f7f0506c6e9395735e9ce9cad4d0a43bcef24b8982f7400d24bc4228f11c02df9a29f6304a5","0x772caacf16936190f3e0c63e0596721570f5799af53a1894e2e073062aede9cea73b3538f0de06cec2574496ee84a3a","0x14a7ac2a9d64a8b230b3f5b074cf01996e7f63c21bca68a81996e1cdf9822c580fa5b9489d11e2d311f7d99bbdcc5a5e","0xa10ecf6ada54f825e920b3dafc7a3cce07f8d1d7161366b74100da67f39883503826692abba43704776ec3a79a1d641","0x95fc13ab9e92ad4476d6e3eb3a56680f682b4ee96f7d03776df533978f31c1593174e4b4b7865002d6384d168ecdd0a","0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001"],["0x90d97c81ba24ee0259d1f094980dcfa11ad138e48a869522b52af6c956543d3cd0c7aee9b3ba3c2be9845719707bb33","0x134996a104ee5811d51036d776fb46831223e96c254f383d0f906343eb67ad34d6c56711962fa8bfe097e75a2e41c696","0xcc786baa966e66f4a384c86a3b49942552e2d658a31ce2c344be4b91400da7d26d521628b00523b8dfe240c72de1f6","0x1f86376e8981c217898751ad8746757d42aa7b90eeb791c09e4a3ec03251cf9de405aba9ec61deca6355c77b0e5f4cb","0x8cc03fdefe0ff135caf4fe2a21529c4195536fbe3ce50b879833fd221351adc2ee7f8dc099040a841b6daecf2e8fedb","0x16603fca40634b6a2211e11db8f0a6a074a7d0d4afadb7bd76505c3d3ad5544e203f6326c95a807299b23ab13633a5f0","0x4ab0b9bcfac1bbcb2c977d027796b3ce75bb8ca2be184cb5231413c4d634f3747a87ac2460f415ec961f8855fe9d6f2","0x987c8d5333ab86fde9926bd2ca6c674170a05bfe3bdd81ffd038da6c26c842642f64550fedfe935a15e4ca31870fb29","0x9fc4018bd96684be88c9e221e4da1bb8f3abd16679dc26c1e8b6e6a1f20cabe69d65201c78607a360370e577bdba587","0xe1bba7a1186bdb5223abde7ada14a23c42a0ca7915af6fe06985e7ed1e4d43b9b3f7055dd4eba6f2bafaaebca731c30","0x19713e47937cd1be0dfd0b8f1d43fb93cd2fcbcb6caf493fd1183e416389e61031bf3a5cce3fbafce813711ad011c132","0x18b46a908f36f6deb918c143fed2edcc523559b8aaf0c2462e6bfe7f911f643249d9cdf41b44d606ce07c8a4d0074d8e","0xb182cac101b9399d155096004f53f447aa7b12a3426b08ec02710e807b4633f06c851c1919211f20d4c04f00b971ef8","0x245a394ad1eca9b72fc00ae7be315dc757b3b080d4c158013e6632d3c40659cc6cf90ad1c232a6442d9d3f5db980133","0x5c129645e44cf1102a159f748c4a3fc5e673d81d7e86568d9ab0f5d396a7ce46ba1049b6579afb7866b1e715475224b","0x15e6be4e990f03ce4ea50b3b42df2eb5cb181d8f84965a3957add4fa95af01b2b665027efec01c7704b456be69c8b604"],["0x16112c4c3a9c98b252181140fad0eae9601a6de578980be6eec3232b5be72e7a07f3688ef60c206d01479253b03663c1","0x1962d75c2381201e1a0cbd6c43c348b885c84ff731c4d59ca4a10356f453e01f78a4260763529e3532f6102c2e49a03d","0x58df3306640da276faaae7d6e8eb15778c4855551ae7f310c35a5dd279cd2eca6757cd636f96f891e2538b53dbf67f2","0x16b7d288798e5395f20d23bf89edb4d1d115c5dbddbcd30e123da489e726af41727364f2c28297ada8d26d98445f5416","0xbe0e079545f43e4b00cc912f8228ddcc6d19c9f0f69bbb0542eda0fc9dec916a20b15dc0fd2ededda39142311a5001d","0x8d9e5297186db2d9fb266eaac783182b70152c65550d881c5ecd87b6f0f5a6449f38db9dfa9cce202c6477faaf9b7ac","0x166007c08a99db2fc3ba8734ace9824b5eecfdfa8d0cf8ef5dd365bc400a0051d5fa9c01a58b1fb93d1a1399126a775c","0x16a3ef08be3ea7ea03bcddfabba6ff6ee5a4375efa1f4fd7feb34fd206357132b920f5b00801dee460ee415a15812ed9","0x1866c8ed336c61231a1be54fd1d74cc4f9fb0ce4c6af5920abc5750c4bf39b4852cfe2f7bb9248836b233d9d55535d4a","0x167a55cda70a6e1cea820597d94a84903216f763e13d87bb5308592e7ea7d4fbc7385ea3d529b35e346ef48bb8913f55","0x4d2f259eea405bd48f010a01ad2911d9c6dd039bb61a6290e591b36e636a5c871a5c29f4f83060400f8b49cba8f6aa8","0xaccbb67481d033ff5852c1e48c50c477f94ff8aefce42d28c0f9a88cea7913516f968986f7ebbea9684b529e2561092","0xad6b9514c767fe3c3613144b45f1496543346d98adf02267d5ceef9a00d9b8693000763e3b90ac11e99b138573345cc","0x2660400eb2e4f3b628bdd0d53cd76f2bf565b94e72927c1cb748df27942480e420517bd8714cc80d1fadc1326ed06f7","0xe0fa1d816ddc03e6b24255e0d7819c171c40f65e273b853324efcd6356caa205ca2f570f13497804415473a1d634b8f","0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001"]].map(e=>e.map(t=>BigInt(t)))),Kh=za(M,{A:M.create(BigInt("0x144698a3b8e9433d693a02c96d4982b0ea985383ee66a8d8e8981aefd881ac98936f8da0e0f97f5cf428082d584c1d")),B:M.create(BigInt("0x12e2908d11688030018b12e8753eee3b2016c1f0f24f4070a0b9c14fcef35ef55a23215a316ceaa5d1cc48e98e172be0")),Z:M.create(BigInt(11))}),Hh=za(W,{A:W.create({c0:M.create(Ve),c1:M.create(BigInt(240))}),B:W.create({c0:M.create(BigInt(1012)),c1:M.create(BigInt(1012))}),Z:W.create({c0:M.create(BigInt(-2)),c1:M.create(BigInt(-1))})});function $h(e){let{x:t,y:r}=Kh(M.create(e[0]));return jh(t,r)}function Gh(e){let{x:t,y:r}=Hh(W.fromBigTuple(e));return Mh(t,r)}function Xu(e,t,r){let n=typeof e=="string"?e:j(e),o=typeof t=="string"?t:j(t),i=typeof r=="string"?r:j(r);return Qo.verifyShortSignature(o,i,n)}var Wh=BigInt(1e6),sc=e=>ge(new wt(e)),qr=e=>{let r=sc(e)/Wh;return new Date(Number(r))};var Qu=60*1e3,zh=60,Yh=24,Zh=Yh*zh,Xh=5,Qh=5,em=30*Zh,fe;(function(e){e[e.Empty=0]="Empty",e[e.Fork=1]="Fork",e[e.Labeled=2]="Labeled",e[e.Leaf=3]="Leaf",e[e.Pruned=4]="Pruned"})(fe||(fe={}));function tm(e,t){for(let r=0;r<e.length;r++)if(e[r]>t[r])return!0;return!1}var st=class e{#e=!1;#t=void 0;static async create(t){let r=e.createUnverified(t);return await r.verify(),r}static createUnverified(t){return new e(t.certificate,t.rootKey,t.principal,t.blsVerify??Xu,t.maxAgeInMinutes,t.disableTimeVerification,t.agent)}constructor(t,r,n,o,i=Xh,s=!1,a){this._rootKey=r,this._principal=n,this._blsVerify=o,this._maxAgeInMinutes=i,this.#e=s,this.cert=Me(t),a&&"getTimeDiffMsecs"in a&&"hasSyncedTime"in a&&"syncTime"in a&&"syncTimeWithSubnet"in a&&(this.#t=a)}lookup_path(t){return gr(t,this.cert.tree)}lookup_subtree(t){return ri(t,this.cert.tree)}async verify(){let t=await hs(this.cert.tree),r=await this._checkDelegationAndGetKey(this.cert.delegation),n=this.cert.signature,o=nm(r),i=K(Oa,t),s=ve(this.lookup_path(["time"]));if(!s)throw ne.fromCode(new gt("Certificate does not contain a time"));if(!this.#e){let a=this.#t?.getTimeDiffMsecs()??0,c=this._maxAgeInMinutes*Qu,u=new Date,p=u.getTime()+a,d=p-c,l=p+Qh*Qu,f=qr(s),h=f.getTime()<d,_=f.getTime()>l;if((h||_)&&this.#t&&!this.#t.hasSyncedTime())return await this._syncTime(),await this.verify();if(h)throw Le.fromCode(new ir(this._maxAgeInMinutes,f,u,a,"past"));if(_)throw this.#t?.hasSyncedTime()?ce.fromCode(new Re("System time has been synced with the IC network, but certificate is still too far in the future.")):Le.fromCode(new ir(5,f,u,a,"future"))}try{if(!await this._blsVerify(o,n,i))throw Le.fromCode(new gt("Invalid signature"))}catch(a){throw Le.fromCode(new gt("Signature verification failed",a))}}async _checkDelegationAndGetKey(t){if(!t)return this._rootKey;let r=e.createUnverified({certificate:t.certificate,rootKey:this._rootKey,principal:this._principal,blsVerify:this._blsVerify,disableTimeVerification:this.#e,maxAgeInMinutes:em,agent:this.#t});if(r.cert.delegation)throw ne.fromCode(new Oi);await r.verify();let n;if(td(this._principal)){let i=this._principal.canisterId;if(n=U.fromUint8Array(t.subnet_id),!ac({canisterId:i,subnetId:n,tree:r.cert.tree}))throw Le.fromCode(new Nn(i,n))}else if(ed(this._principal))n=this._principal.subnetId;else throw ct;let o=ve(r.lookup_path(["subnet",n.toUint8Array(),"public_key"]));if(!o)throw ed(this._principal)?Le.fromCode(new Ei(n)):Le.fromCode(new Ii(`Could not find subnet key for subnet ID ${n.toText()}`));return o}async _syncTime(){this.#t&&(td(this._principal)?await this.#t.syncTime(this._principal.canisterId):await this.#t.syncTimeWithSubnet(this._principal.subnetId))}};function ed(e){return"subnetId"in e}function td(e){return"canisterId"in e}var ei=Ee("308182301d060d2b0601040182dc7c0503010201060c2b0601040182dc7c05030201036100"),rm=96;function nm(e){let t=ei.byteLength+rm;if(e.byteLength!==t)throw ne.fromCode(new Hn(t,e.byteLength));let r=e.slice(0,ei.byteLength);if(!An(r,ei))throw ne.fromCode(new vi(ei,r));return e.slice(ei.byteLength)}function ve(e){if(e.status===Be.Found&&e.value instanceof Uint8Array)return e.value}async function hs(e){switch(e[0]){case fe.Empty:return Pe(fs("ic-hashtree-empty"));case fe.Pruned:return e[1];case fe.Leaf:return Pe(K(fs("ic-hashtree-leaf"),e[1]));case fe.Labeled:return Pe(K(fs("ic-hashtree-labeled"),e[1],await hs(e[2])));case fe.Fork:return Pe(K(fs("ic-hashtree-fork"),await hs(e[1]),await hs(e[2])));default:throw ct}}function fs(e){let t=new Uint8Array([e.length]),r=new TextEncoder().encode(e);return K(t,r)}function rd(e){return typeof e[0]=="string"?$(e[0]):e[0]}var Be;(function(e){e.Unknown="Unknown",e.Absent="Absent",e.Found="Found",e.Error="Error"})(Be||(Be={}));var Mr;(function(e){e.Absent="Absent",e.Unknown="Unknown",e.Found="Found"})(Mr||(Mr={}));var ue;(function(e){e.Absent="Absent",e.Unknown="Unknown",e.Found="Found",e.Less="Less",e.Greater="Greater"})(ue||(ue={}));function gr(e,t){if(e.length===0)switch(t[0]){case fe.Empty:return{status:Be.Absent};case fe.Leaf:{if(!t[1])throw ce.fromCode(new Fr("Invalid tree structure for leaf"));if(t[1]instanceof Uint8Array)return{status:Be.Found,value:t[1].slice(t[1].byteOffset,t[1].byteLength+t[1].byteOffset)};throw ct}case fe.Pruned:return{status:Be.Unknown};case fe.Labeled:case fe.Fork:return{status:Be.Error};default:throw ct}let r=rd(e),n=ti(r,t);switch(n.status){case ue.Found:return gr(e.slice(1),n.value);case ue.Absent:case ue.Greater:case ue.Less:return{status:Be.Absent};case ue.Unknown:return{status:Be.Unknown};default:throw ct}}function ri(e,t){if(e.length===0)return{status:Mr.Found,value:t};let r=rd(e),n=ti(r,t);switch(n.status){case ue.Found:return ri(e.slice(1),n.value);case ue.Unknown:return{status:Mr.Unknown};case ue.Absent:case ue.Greater:case ue.Less:return{status:Mr.Absent};default:throw ct}}function _s(e){switch(e[0]){case fe.Empty:return[];case fe.Fork:return _s(e[1]).concat(_s(e[2]));default:return[e]}}function ti(e,t){switch(t[0]){case fe.Labeled:return tm(e,t[1])?{status:ue.Greater}:An(e,t[1])?{status:ue.Found,value:t[2]}:{status:ue.Less};case fe.Fork:{let r=ti(e,t[1]);switch(r.status){case ue.Greater:{let n=ti(e,t[2]);return n.status===ue.Less?{status:ue.Absent}:n}case ue.Unknown:{let n=ti(e,t[2]);return n.status===ue.Less?{status:ue.Unknown}:n}default:return r}}case fe.Pruned:return{status:ue.Unknown};default:return{status:ue.Absent}}}function ms(e,t){switch(t[0]){case fe.Empty|fe.Pruned:return[];case fe.Leaf:return[e];case fe.Fork:return ms(e,t[1]).concat(ms(e,t[2]));case fe.Labeled:{let r=t[1],n=t[2],o=[...e,r];return ms(o,n)}default:throw ct}}function ac(e){let t=om(e),r=cc(t),{canisterId:n}=e;return r.some(i=>i[0].ltEq(n)&&i[1].gtEq(n))}function om(e){let{subnetId:t,tree:r,canisterId:n}=e,o=ri(["canister_ranges",t.toUint8Array()],r);if(o.status!==Mr.Found)return im(t,r);let i=o.value,s=sm(i);if(s.length===0)throw ne.fromCode(new Nn(n,t));s.sort(Jn);let a=am(s,n),c=s[a];return cm(c,i)}function im(e,t){let r=gr(["subnet",e.toUint8Array(),"canister_ranges"],t);if(r.status!==Be.Found)throw ne.fromCode(new xt(`Could not find canister ranges for subnet ${e.toText()}`,r.status));return r.value}function cc(e){return Me(e).map(n=>[U.fromUint8Array(n[0]),U.fromUint8Array(n[1])])}function sm(e){let t=[];for(let r of ms([],e)){let n=r[0];if(!n)throw ne.fromCode(new gt("Path is invalid"));t.push(n)}return t}function am(e,t){let r=t.toUint8Array(),n=0,o=e.length-1;for(;n<o;){let i=Math.floor((n+o)/2);Jn(e[i],r)<=0?o=i:n=i+1}return n}function cm(e,t){let r=gr([e],t);if(r.status!==Be.Found)throw ne.fromCode(new xt(`Could not find canister range for shard ${e.toString()}`,r.status));return r.value}function lc(e,t){return e.delegation?U.fromUint8Array(e.delegation.subnet_id):U.selfAuthenticating(t)}var nd=U.fromText("tdb26-jop6k-aogll-7ltgs-eruif-6kk7m-qpktf-gdiqx-mxtrf-vb5e6-eqe");function ys(e,t){switch(t){case"raw":return e;case"leb128":return sc(e);case"cbor":return Me(e);case"hex":return j(e);case"utf-8":return new TextDecoder().decode(e)}}function od(e){return Me(e).map(r=>U.fromUint8Array(r))}function id(e,t){let r=typeof e=="string"?$(e):e;return[$("canister"),t,$("metadata"),r]}function jr(e){return typeof e=="object"&&e!==null&&"key"in e&&"path"in e}function lo(e,t){let r=ri(["subnet",t.toUint8Array(),"node"],e.tree);if(r.status!==Mr.Found)throw ne.fromCode(new xt("Node not found",r.status));if(r.value instanceof Uint8Array)throw ce.fromCode(new Fr("Invalid node tree"));let n=_s(r.value),o=new Map;return n.forEach(i=>{let s=U.from(i[1]).toText(),a=gr(["public_key"],i[2]);if(a.status!==Be.Found)throw ne.fromCode(new xt("Public key not found",a.status));let c=a.value;if(c.byteLength!==44)throw ne.fromCode(new Hn(44,c.byteLength));o.set(s,c)}),o}var sd=async e=>{let{agent:t,paths:r,disableCertificateTimeVerification:n=!1}=e,o=U.from(e.canisterId),i=[...new Set(r)],s=new Map,a=i.map((c,u)=>{let p=um(c,o);return(async()=>{try{if(t.rootKey===null)throw ye.fromCode(new at);let d=t.rootKey,l=await t.readState(o,{paths:[p]}),f=await st.create({certificate:l.certificate,rootKey:d,principal:{canisterId:o},disableTimeVerification:n,agent:t}),h=(m,x)=>{if(x==="subnet"){let y=lm(l.certificate,o,d);return{path:x,data:y}}else return{path:x,data:ve(m.lookup_path(p))}},{path:_,data:g}=h(f,i[u]);if(!g)typeof _=="string"?s.set(_,null):s.set(_.key,null);else switch(_){case"time":{s.set(_,qr(g));break}case"controllers":{s.set(_,od(g));break}case"module_hash":{s.set(_,j(g));break}case"subnet":{s.set(_,g);break}case"candid":{s.set(_,new TextDecoder().decode(g));break}default:jr(_)&&s.set(_.key,ys(g,_.decodeStrategy))}}catch(d){if(d instanceof nt&&(d.hasCode(gt)||d.hasCode(ir)))throw d;jr(c)?s.set(c.key,null):s.set(c,null)}})()});return await Promise.all(a),s},lm=(e,t,r)=>{if(!t._isPrincipal)throw Y.fromCode(new Re("Invalid canisterId"));let n=Me(e),{delegation:o}=n,i;o&&o.subnet_id?i=U.fromUint8Array(new Uint8Array(o.subnet_id)):!o&&typeof r<"u"?i=U.selfAuthenticating(new Uint8Array(r)):i=nd;let s=lo(n,i);return{subnetId:i.toText(),nodeKeys:s}},um=(e,t)=>{let r=t.toUint8Array();switch(e){case"time":return[$("time")];case"controllers":return[$("canister"),r,$("controllers")];case"module_hash":return[$("canister"),r,$("module_hash")];case"subnet":return[$("subnet")];case"candid":return[$("canister"),r,$("metadata"),$("candid:service")];default:if(jr(e))return typeof e.path=="string"||e.path instanceof Uint8Array?id(e.path,r):e.path}throw ce.fromCode(new Re(`Error while encoding your path for canister status. Please ensure that your path ${e} was formatted correctly.`))};async function ad(e){let{agent:t,paths:r,disableCertificateTimeVerification:n=!1}=e,o=U.from(e.subnetId),i=[...new Set(r)],s=new Map,a=i.map((c,u)=>{let p=dm(c,o);return(async()=>{try{if(t.rootKey===null)throw ye.fromCode(new at);let d=t.rootKey,l=await t.readSubnetState(o,{paths:[p]}),f=await st.create({certificate:l.certificate,rootKey:d,principal:{subnetId:o},disableTimeVerification:n,agent:t}),h=(m,x)=>{if(x==="nodeKeys"){let y=lo(m.cert,o);return{path:x,data:y}}else return{path:x,data:ve(m.lookup_path(p))}},{path:_,data:g}=h(f,i[u]);if(!g)typeof _=="string"?s.set(_,null):s.set(_.key,null);else switch(_){case"time":{s.set(_,qr(g));break}case"canisterRanges":{s.set(_,cc(g));break}case"publicKey":{s.set(_,g);break}case"nodeKeys":{s.set(_,g);break}default:jr(_)&&s.set(_.key,ys(g,_.decodeStrategy))}}catch(d){if(d instanceof nt&&(d.hasCode(gt)||d.hasCode(ir)))throw d;jr(c)?s.set(c.key,null):s.set(c,null)}})()});return await Promise.all(a),s}function dm(e,t){let r=t.toUint8Array();switch(e){case"time":return[$("time")];case"canisterRanges":return[$("canister_ranges"),r];case"publicKey":return[$("subnet"),r,$("public_key")];case"nodeKeys":return[$("subnet"),r,$("node")];default:if(jr(e))if(typeof e.path=="string"||e.path instanceof Uint8Array){let n=typeof e.path=="string"?$(e.path):e.path;return[$("subnet"),r,n]}else return e.path}throw ce.fromCode(new Re(`Error while encoding your path for subnet status. Please ensure that your path ${e} was formatted correctly.`))}var Kr=BigInt(0),Ae=BigInt(1),uc=BigInt(2),pm=BigInt(8);function fm(e,t,r,n){let o=e.sqr(r),i=e.sqr(n),s=e.add(e.mul(t.a,o),i),a=e.add(e.ONE,e.mul(t.d,e.mul(o,i)));return e.eql(s,a)}function hm(e,t={}){let r=as("edwards",e,t,t.FpFnLE),{Fp:n,Fn:o}=r,i=r.CURVE,{h:s}=i;hr(t,{},{uvRatio:"function"});let a=uc<<BigInt(o.BYTES*8)-Ae,c=g=>n.create(g),u=t.uvRatio||((g,m)=>{try{return{isValid:!0,value:n.sqrt(n.div(g,m))}}catch{return{isValid:!1,value:Kr}}});if(!fm(n,i,i.Gx,i.Gy))throw new Error("bad curve params: generator point");function p(g,m,x=!1){let y=x?Ae:Kr;return os("coordinate "+g,m,y,a),m}function d(g){if(!(g instanceof h))throw new Error("ExtendedPoint expected")}let l=Ur((g,m)=>{let{X:x,Y:y,Z:T}=g,E=g.is0();m==null&&(m=E?pm:n.inv(T));let O=c(x*m),R=c(y*m),v=n.mul(T,m);if(E)return{x:Kr,y:Ae};if(v!==Ae)throw new Error("invZ was invalid");return{x:O,y:R}}),f=Ur(g=>{let{a:m,d:x}=i;if(g.is0())throw new Error("bad point: ZERO");let{X:y,Y:T,Z:E,T:O}=g,R=c(y*y),v=c(T*T),w=c(E*E),I=c(w*w),F=c(R*m),S=c(w*c(F+v)),b=c(I+c(x*c(R*v)));if(S!==b)throw new Error("bad point: equation left != right (1)");let N=c(y*T),C=c(E*O);if(N!==C)throw new Error("bad point: equation left != right (2)");return!0});class h{constructor(m,x,y,T){this.X=p("x",m),this.Y=p("y",x),this.Z=p("z",y,!0),this.T=p("t",T),Object.freeze(this)}static CURVE(){return i}static fromAffine(m){if(m instanceof h)throw new Error("extended point not allowed");let{x,y}=m||{};return p("x",x),p("y",y),new h(x,y,Ae,c(x*y))}static fromBytes(m,x=!1){let y=n.BYTES,{a:T,d:E}=i;m=Ua(Dr(m,y,"point")),Fn(x,"zip215");let O=Ua(m),R=m[y-1];O[y-1]=R&-129;let v=pr(O),w=x?a:n.ORDER;os("point.y",v,Kr,w);let I=c(v*v),F=c(I-Ae),S=c(E*I-T),{isValid:b,value:N}=u(F,S);if(!b)throw new Error("bad point: invalid y coordinate");let C=(N&Ae)===Ae,B=(R&128)!==0;if(!x&&N===Kr&&B)throw new Error("bad point: x=0 and x_0=1");return B!==C&&(N=c(-N)),h.fromAffine({x:N,y:v})}static fromHex(m,x=!1){return h.fromBytes(pe("point",m),x)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}precompute(m=8,x=!0){return _.createCache(this,m),x||this.multiply(uc),this}assertValidity(){f(this)}equals(m){d(m);let{X:x,Y:y,Z:T}=this,{X:E,Y:O,Z:R}=m,v=c(x*R),w=c(E*T),I=c(y*R),F=c(O*T);return v===w&&I===F}is0(){return this.equals(h.ZERO)}negate(){return new h(c(-this.X),this.Y,this.Z,c(-this.T))}double(){let{a:m}=i,{X:x,Y:y,Z:T}=this,E=c(x*x),O=c(y*y),R=c(uc*c(T*T)),v=c(m*E),w=x+y,I=c(c(w*w)-E-O),F=v+O,S=F-R,b=v-O,N=c(I*S),C=c(F*b),B=c(I*b),L=c(S*F);return new h(N,C,L,B)}add(m){d(m);let{a:x,d:y}=i,{X:T,Y:E,Z:O,T:R}=this,{X:v,Y:w,Z:I,T:F}=m,S=c(T*v),b=c(E*w),N=c(R*y*F),C=c(O*I),B=c((T+E)*(v+w)-S-b),L=C-N,A=C+N,P=c(b-x*S),V=c(B*L),D=c(A*P),q=c(B*P),te=c(L*A);return new h(V,D,te,q)}subtract(m){return this.add(m.negate())}multiply(m){if(!o.isValidNot0(m))throw new Error("invalid scalar: expected 1 <= sc < curve.n");let{p:x,f:y}=_.cached(this,m,T=>dt(h,T));return dt(h,[x,y])[0]}multiplyUnsafe(m,x=h.ZERO){if(!o.isValid(m))throw new Error("invalid scalar: expected 0 <= sc < curve.n");return m===Kr?h.ZERO:this.is0()||m===Ae?this:_.unsafe(this,m,y=>dt(h,y),x)}isSmallOrder(){return this.multiplyUnsafe(s).is0()}isTorsionFree(){return _.unsafe(this,i.n).is0()}toAffine(m){return l(this,m)}clearCofactor(){return s===Ae?this:this.multiplyUnsafe(s)}toBytes(){let{x:m,y:x}=this.toAffine(),y=n.toBytes(x);return y[y.length-1]|=m&Ae?128:0,y}toHex(){return j(this.toBytes())}toString(){return`<Point ${this.is0()?"ZERO":this.toHex()}>`}get ex(){return this.X}get ey(){return this.Y}get ez(){return this.Z}get et(){return this.T}static normalizeZ(m){return dt(h,m)}static msm(m,x){return so(h,o,m,x)}_setWindowSize(m){this.precompute(m)}toRawBytes(){return this.toBytes()}}h.BASE=new h(i.Gx,i.Gy,Ae,c(i.Gx*i.Gy)),h.ZERO=new h(Kr,Ae,Ae,Kr),h.Fp=n,h.Fn=o;let _=new io(h,o.BITS);return h.BASE.precompute(8),h}var gs=class{constructor(t){this.ep=t}static fromBytes(t){no()}static fromHex(t){no()}get x(){return this.toAffine().x}get y(){return this.toAffine().y}clearCofactor(){return this}assertValidity(){this.ep.assertValidity()}toAffine(t){return this.ep.toAffine(t)}toHex(){return j(this.toBytes())}toString(){return this.toHex()}isTorsionFree(){return!0}isSmallOrder(){return!1}add(t){return this.assertSame(t),this.init(this.ep.add(t.ep))}subtract(t){return this.assertSame(t),this.init(this.ep.subtract(t.ep))}multiply(t){return this.init(this.ep.multiply(t))}multiplyUnsafe(t){return this.init(this.ep.multiplyUnsafe(t))}double(){return this.init(this.ep.double())}negate(){return this.init(this.ep.negate())}precompute(t,r){return this.init(this.ep.precompute(t,r))}toRawBytes(){return this.toBytes()}};function mm(e,t,r={}){if(typeof t!="function")throw new Error('"hash" function param is required');hr(r,{},{adjustScalarBytes:"function",randomBytes:"function",domain:"function",prehash:"function",mapToCurve:"function"});let{prehash:n}=r,{BASE:o,Fp:i,Fn:s}=e,a=r.randomBytes||Kn,c=r.adjustScalarBytes||(w=>w),u=r.domain||((w,I,F)=>{if(Fn(F,"phflag"),I.length||F)throw new Error("Contexts/pre-hash are not supported");return w});function p(w){return s.create(pr(w))}function d(w){let I=y.secretKey;w=pe("private key",w,I);let F=pe("hashed private key",t(w),2*I),S=c(F.slice(0,I)),b=F.slice(I,2*I),N=p(S);return{head:S,prefix:b,scalar:N}}function l(w){let{head:I,prefix:F,scalar:S}=d(w),b=o.multiply(S),N=b.toBytes();return{head:I,prefix:F,scalar:S,point:b,pointBytes:N}}function f(w){return l(w).pointBytes}function h(w=Uint8Array.of(),...I){let F=K(...I);return p(t(u(F,pe("context",w),!!n)))}function _(w,I,F={}){w=pe("message",w),n&&(w=n(w));let{prefix:S,scalar:b,pointBytes:N}=l(I),C=h(F.context,S,w),B=o.multiply(C).toBytes(),L=h(F.context,B,N,w),A=s.create(C+L*b);if(!s.isValid(A))throw new Error("sign failed: invalid s");let P=K(B,s.toBytes(A));return Dr(P,y.signature,"result")}let g={zip215:!0};function m(w,I,F,S=g){let{context:b,zip215:N}=S,C=y.signature;w=pe("signature",w,C),I=pe("message",I),F=pe("publicKey",F,y.publicKey),N!==void 0&&Fn(N,"zip215"),n&&(I=n(I));let B=C/2,L=w.subarray(0,B),A=pr(w.subarray(B,C)),P,V,D;try{P=e.fromBytes(F,N),V=e.fromBytes(L,N),D=o.multiplyUnsafe(A)}catch{return!1}if(!N&&P.isSmallOrder())return!1;let q=h(b,V.toBytes(),P.toBytes(),I);return V.add(P.multiplyUnsafe(q)).subtract(D).clearCofactor().is0()}let x=i.BYTES,y={secretKey:x,publicKey:x,signature:2*x,seed:x};function T(w=a(y.seed)){return Dr(w,y.seed,"seed")}function E(w){let I=v.randomSecretKey(w);return{secretKey:I,publicKey:f(I)}}function O(w){return At(w)&&w.length===s.BYTES}function R(w,I){try{return!!e.fromBytes(w,I)}catch{return!1}}let v={getExtendedPublicKey:l,randomSecretKey:T,isValidSecretKey:O,isValidPublicKey:R,toMontgomery(w){let{y:I}=e.fromBytes(w),F=y.publicKey,S=F===32;if(!S&&F!==57)throw new Error("only defined for 25519 and 448");let b=S?i.div(Ae+I,Ae-I):i.div(I-Ae,I+Ae);return i.toBytes(b)},toMontgomerySecret(w){let I=y.secretKey;Dr(w,I);let F=t(w.subarray(0,I));return c(F).subarray(0,I)},randomPrivateKey:T,precompute(w=8,I=e.BASE){return I.precompute(w,!1)}};return Object.freeze({keygen:E,getPublicKey:f,sign:_,verify:m,utils:v,Point:e,lengths:y})}function _m(e){let t={a:e.a,d:e.d,p:e.Fp.ORDER,n:e.n,h:e.h,Gx:e.Gx,Gy:e.Gy},r=e.Fp,n=Ke(t.n,e.nBitLength,!0),o={Fp:r,Fn:n,uvRatio:e.uvRatio},i={randomBytes:e.randomBytes,adjustScalarBytes:e.adjustScalarBytes,domain:e.domain,prehash:e.prehash,mapToCurve:e.mapToCurve};return{CURVE:t,curveOpts:o,hash:e.hash,eddsaOpts:i}}function ym(e,t){let r=t.Point;return Object.assign({},t,{ExtendedPoint:r,CURVE:e,nBitLength:r.Fn.BITS,nByteLength:r.Fn.BYTES})}function cd(e){let{CURVE:t,curveOpts:r,hash:n,eddsaOpts:o}=_m(e),i=hm(t,r),s=mm(i,n,o);return ym(e,s)}var gm=BigInt(0),xr=BigInt(1),ld=BigInt(2),mx=BigInt(3),xm=BigInt(5),bm=BigInt(8),uo=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffed"),ni={p:uo,n:BigInt("0x1000000000000000000000000000000014def9dea2f79cd65812631a5cf5d3ed"),h:bm,a:BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec"),d:BigInt("0x52036cee2b6ffe738cc740797779e89800700a4d4141d8ab75eb4dca135978a3"),Gx:BigInt("0x216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a"),Gy:BigInt("0x6666666666666666666666666666666666666666666666666666666666666658")};function wm(e){let t=BigInt(10),r=BigInt(20),n=BigInt(40),o=BigInt(80),i=uo,a=e*e%i*e%i,c=It(a,ld,i)*a%i,u=It(c,xr,i)*e%i,p=It(u,xm,i)*u%i,d=It(p,t,i)*p%i,l=It(d,r,i)*d%i,f=It(l,n,i)*l%i,h=It(f,o,i)*f%i,_=It(h,o,i)*f%i,g=It(_,t,i)*p%i;return{pow_p_5_8:It(g,ld,i)*e%i,b2:a}}function Tm(e){return e[0]&=248,e[31]&=127,e[31]|=64,e}var dc=BigInt("19681161376707505956807079304988542015446066515923890162744021073123829784752");function hc(e,t){let r=uo,n=le(t*t*t,r),o=le(n*n*t,r),i=wm(e*o).pow_p_5_8,s=le(e*n*i,r),a=le(t*s*s,r),c=s,u=le(s*dc,r),p=a===e,d=a===le(-e,r),l=a===le(-e*dc,r);return p&&(s=c),(d||l)&&(s=u),mr(s,r)&&(s=le(-s,r)),{isValid:p||d,value:s}}var Hr=Ke(ni.p,{isLE:!0}),Nm=Ke(ni.n,{isLE:!0}),Om={...ni,Fp:Hr,hash:Al,adjustScalarBytes:Tm,uvRatio:hc},Ge=cd(Om);var pc=dc,Em=BigInt("25063068953384623474111414158702152701244531502492656460079210482610430750235"),Rm=BigInt("54469307008909316920995813868745141605393597292927456921205312896311721017578"),Im=BigInt("1159843021668779879193775521855586647937357759715417654439879720876111806838"),vm=BigInt("40440834346308536858101042469323190826248399146238708352240133220865137265952"),ud=e=>hc(xr,e),Am=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"),fc=e=>Ge.Point.Fp.create(pr(e)&Am);function dd(e){let{d:t}=ni,r=uo,n=m=>Hr.create(m),o=n(pc*e*e),i=n((o+xr)*Im),s=BigInt(-1),a=n((s-t*o)*n(o+t)),{isValid:c,value:u}=hc(i,a),p=n(u*e);mr(p,r)||(p=n(-p)),c||(u=p),c||(s=o);let d=n(s*(o-xr)*vm-a),l=u*u,f=n((u+u)*a),h=n(d*Em),_=n(xr-l),g=n(xr+l);return new Ge.Point(n(f*g),n(_*h),n(h*g),n(f*_))}function Sm(e){me(e,64);let t=fc(e.subarray(0,32)),r=dd(t),n=fc(e.subarray(32,64)),o=dd(n);return new br(r.add(o))}var br=class e extends gs{constructor(t){super(t)}static fromAffine(t){return new e(Ge.Point.fromAffine(t))}assertSame(t){if(!(t instanceof e))throw new Error("RistrettoPoint expected")}init(t){return new e(t)}static hashToCurve(t){return Sm(pe("ristrettoHash",t,64))}static fromBytes(t){me(t,32);let{a:r,d:n}=ni,o=uo,i=T=>Hr.create(T),s=fc(t);if(!wu(Hr.toBytes(s),t)||mr(s,o))throw new Error("invalid ristretto255 encoding 1");let a=i(s*s),c=i(xr+r*a),u=i(xr-r*a),p=i(c*c),d=i(u*u),l=i(r*n*p-d),{isValid:f,value:h}=ud(i(l*d)),_=i(h*u),g=i(h*_*l),m=i((s+s)*_);mr(m,o)&&(m=i(-m));let x=i(c*g),y=i(m*x);if(!f||mr(y,o)||x===gm)throw new Error("invalid ristretto255 encoding 2");return new e(new Ge.Point(m,x,xr,y))}static fromHex(t){return e.fromBytes(pe("ristrettoHex",t,32))}static msm(t,r){return so(e,Ge.Point.Fn,t,r)}toBytes(){let{X:t,Y:r,Z:n,T:o}=this.ep,i=uo,s=g=>Hr.create(g),a=s(s(n+r)*s(n-r)),c=s(t*r),u=s(c*c),{value:p}=ud(s(a*u)),d=s(p*a),l=s(p*c),f=s(d*l*o),h;if(mr(o*f,i)){let g=s(r*pc),m=s(t*pc);t=g,r=m,h=s(d*Rm)}else h=l;mr(t*f,i)&&(r=s(-r));let _=s((n-r)*h);return mr(_,i)&&(_=s(-_)),Hr.toBytes(_)}equals(t){this.assertSame(t);let{X:r,Y:n}=this.ep,{X:o,Y:i}=t.ep,s=u=>Hr.create(u),a=s(r*i)===s(n*o),c=s(n*i)===s(r*o);return a||c}is0(){return this.equals(e.ZERO)}};br.BASE=new br(Ge.Point.BASE);br.ZERO=new br(Ge.Point.ZERO);br.Fp=Hr;br.Fn=Nm;var pd,fd,xs=class{static{pd=Symbol.iterator,fd=Symbol.toStringTag}#e;#t;constructor(t={}){this[pd]=this.entries.bind(this),this[fd]="ExpirableMap";let{source:r=[],expirationTime:n=600*1e3}=t,o=Date.now();this.#e=new Map([...r].map(([i,s])=>[i,{value:s,timestamp:o}])),this.#t=n}prune(){let t=Date.now();for(let[r,n]of this.#e.entries())t-n.timestamp>this.#t&&this.#e.delete(r);return this}set(t,r){this.prune();let n={value:r,timestamp:Date.now()};return this.#e.set(t,n),this}get(t){let r=this.#e.get(t);if(r!==void 0){if(Date.now()-r.timestamp>this.#t){this.#e.delete(t);return}return r.value}}clear(){this.#e.clear()}entries(){let t=this.#e.entries();return function*(){for(let[n,o]of t)yield[n,o.value]}()}values(){let t=this.#e.values();return function*(){for(let n of t)yield n.value}()}keys(){return this.#e.keys()}forEach(t,r){for(let[n,o]of this.#e.entries())t.call(r,o.value,n,this)}has(t){return this.#e.has(t)}delete(t){return this.#e.delete(t)}get size(){return this.#e.size}};var hd=e=>{if(e<=127)return 1;if(e<=255)return 2;if(e<=65535)return 3;if(e<=16777215)return 4;throw Y.fromCode(new Eo("Length too long (> 4 bytes)"))},md=(e,t,r)=>{if(r<=127)return e[t]=r,1;if(r<=255)return e[t]=129,e[t+1]=r,2;if(r<=65535)return e[t]=130,e[t+1]=r>>8,e[t+2]=r,3;if(r<=16777215)return e[t]=131,e[t+1]=r>>16,e[t+2]=r>>8,e[t+3]=r,4;throw Y.fromCode(new Eo("Length too long (> 4 bytes)"))},mc=(e,t)=>{if(e[t]<128)return 1;if(e[t]===128)throw Y.fromCode(new bt("Invalid length 0"));if(e[t]===129)return 2;if(e[t]===130)return 3;if(e[t]===131)return 4;throw Y.fromCode(new bt("Length too long (> 4 bytes)"))},Cm=(e,t)=>{let r=mc(e,t);if(r===1)return e[t];if(r===2)return e[t+1];if(r===3)return(e[t+1]<<8)+e[t+2];if(r===4)return(e[t+1]<<16)+(e[t+2]<<8)+e[t+3];throw Y.fromCode(new bt("Length too long (> 4 bytes)"))},oi=Uint8Array.from([48,12,6,10,43,6,1,4,1,131,184,67,1,1]),Un=Uint8Array.from([48,5,6,3,43,101,112]),bx=Uint8Array.from([48,16,6,7,42,134,72,206,61,2,1,6,5,43,129,4,0,10]),wx=Uint8Array.from([48,29,6,13,43,6,1,4,1,130,220,124,5,3,1,2,1,6,12,43,6,1,4,1,130,220,124,5,3,2,1]);function kn(e,t){let r=2+hd(e.byteLength+1),n=t.byteLength+r+e.byteLength,o=0,i=new Uint8Array(1+hd(n)+n);return i[o++]=48,o+=md(i,o,n),i.set(t,o),o+=t.byteLength,i[o++]=3,o+=md(i,o,e.byteLength+1),i[o++]=0,i.set(new Uint8Array(e),o),i}var Ln=(e,t)=>{let r=0,n=(a,c)=>{if(o[r++]!==a)throw Y.fromCode(new bt(`Expected ${c} at offset ${r}`))},o=new Uint8Array(e);if(n(48,"sequence"),r+=mc(o,r),!An(o.slice(r,r+t.byteLength),t))throw Y.fromCode(new bt("Not the expected OID."));r+=t.byteLength,n(3,"bit string");let i=Cm(o,r)-1;r+=mc(o,r),n(0,"0 padding");let s=o.slice(r);if(i!==s.length)throw Y.fromCode(new Ai(i,s.length));return s};var bs=class e{static from(t){return this.fromDer(t.toDer())}static fromRaw(t){return new e(t)}static fromDer(t){return new e(this.derDecode(t))}static{this.RAW_KEY_LENGTH=32}static derEncode(t){return kn(t,Un)}static derDecode(t){let r=Ln(t,Un);if(r.length!==this.RAW_KEY_LENGTH)throw Y.fromCode(new bt("An Ed25519 public key must be exactly 32 bytes long"));return r}#e;get rawKey(){return this.#e}#t;get derKey(){return this.#t}constructor(t){if(t.byteLength!==e.RAW_KEY_LENGTH)throw Y.fromCode(new bt("An Ed25519 public key must be exactly 32 bytes long"));this.#e=t,this.#t=e.derEncode(t)}toDer(){return this.derKey}toRaw(){return this.rawKey}};var _c=class{constructor(){this.observers=[]}subscribe(t){this.observers.push(t)}unsubscribe(t){this.observers=this.observers.filter(r=>r!==t)}notify(t,...r){this.observers.forEach(n=>n(t,...r))}},ws=class extends _c{constructor(){super()}print(t,...r){this.notify({message:t,level:"info"},...r)}warn(t,...r){this.notify({message:t,level:"warn"},...r)}error(t,r,...n){this.notify({message:t,level:"error",error:r},...n)}};var Ts=class e{#e;#t;#r;#i;#a;#d;#n;#o;#c=0;static{this.default={initialInterval:500,randomizationFactor:.5,multiplier:1.5,maxInterval:6e4,maxElapsedTime:9e5,maxIterations:10,date:Date}}constructor(t=e.default){let{initialInterval:r=500,randomizationFactor:n=.5,multiplier:o=1.5,maxInterval:i=6e4,maxElapsedTime:s=9e5,maxIterations:a=10,date:c=Date}=t;this.#e=r,this.#t=n,this.#r=o,this.#i=i,this.#o=c,this.#a=c.now(),this.#d=s,this.#n=a}get ellapsedTimeInMsec(){return this.#o.now()-this.#a}get currentInterval(){return this.#e}get count(){return this.#c}get randomValueFromInterval(){let t=this.#t*this.#e,r=this.#e-t,n=this.#e+t;return Math.random()*(n-r)+r}incrementCurrentInterval(){return this.#e=Math.min(this.#e*this.#r,this.#i),this.#c++,this.#e}next(){return this.ellapsedTimeInMsec>=this.#d||this.#c>=this.#n?null:(this.incrementCurrentInterval(),this.randomValueFromInterval)}};var Ut;(function(e){e.Received="received",e.Processing="processing",e.Replied="replied",e.Rejected="rejected",e.Unknown="unknown",e.Done="done"})(Ut||(Ut={}));var xc=60*1e3,Fm=1e6,Pm=0,Vm="308182301d060d2b0601040182dc7c0503010201060c2b0601040182dc7c05030201036100814c0e6ec71fab583b08bd81373c255c3c371b2e84863c98a4f1e08b74235d14fb5d9c0cd546d9685f913a0c0b2cc5341583bf4b4392e467db96d65b9bb4cb717112f8472e0d5a4d14505ffd7484b01291091c5f87b98883463f98091a0baaae";var Bm="ic0.app",Dm=".ic0.app",Um="icp0.io",km=".icp0.io",Lm="icp-api.io",qm=".icp-api.io",yc=200,Mm=202,jm=404;function Km(){let e;if(typeof window<"u")if(window.fetch)e=window.fetch.bind(window);else throw ye.fromCode(new Gn("Fetch implementation was not available. You appear to be in a browser context, but window.fetch was not present."));else if(typeof global<"u")if(global.fetch)e=global.fetch.bind(global);else throw ye.fromCode(new Gn("Fetch implementation was not available. You appear to be in a Node.js context, but global.fetch was not available."));else typeof self<"u"&&self.fetch&&(e=self.fetch.bind(self));if(e)return e;throw ye.fromCode(new Gn("Fetch implementation was not available. Please provide fetch to the HttpAgent constructor, or ensure it is available in the window or global context."))}function Hm(e){let t;if(e!==void 0)!e.match(/^[a-z]+:/)&&typeof window<"u"?t=new URL(window.location.protocol+"//"+e):t=new URL(e);else{let r=["ic0.app","icp0.io","127.0.0.1","localhost"],n=[".github.dev",".gitpod.io"],o=typeof window<"u"?window.location:void 0,i=o?.hostname,s;i&&typeof i=="string"&&(n.some(a=>i.endsWith(a))?s=i:s=r.find(a=>i.endsWith(a))),o&&s?t=new URL(`${o.protocol}//${s}${o.port?":"+o.port:""}`):t=new URL("https://icp-api.io")}return t.toString()}var wr=class e{#e;#t;#r;#i;#a;#d;#n;#o;#c;#w;#s;#u;#f;#l;get#E(){return this.#l*xc}#h;#m;#_;#y;constructor(t={}){this.#e=null,this.#t=!1,this.#r=Pm,this.#i=!1,this.#a=null,this.#d=!1,this._isAgent=!0,this.config={},this.log=new ws,this.#h=[],this.#m=[],this.#_=new xs({expirationTime:5*xc}),this.#y=!0,this.#T=(o,i)=>{if(this.#y===!1)return o;let{status:s,signatures:a=[],requestId:c}=o;for(let u of a){let{timestamp:p,identity:d}=u,l=U.fromUint8Array(d).toText(),f;if(s===Rr.Replied){let{reply:x}=o;f=Uo({status:s,reply:x,timestamp:BigInt(p),request_id:c})}else if(s===Rr.Rejected){let{reject_code:x,reject_message:y,error_code:T}=o;f=Uo({status:s,reject_code:x,reject_message:y,error_code:T,timestamp:BigInt(p),request_id:c})}else throw ce.fromCode(new Re(`Unknown status: ${s}`));let h=K(Ea,f),_=i.get(l);if(!_)throw ne.fromCode(new qi);let g=bs.fromDer(_).rawKey;if(!Ge.verify(u.signature,h,g))throw Le.fromCode(new Mi(l))}return o},this.config=t,this.#o=t.fetch||Km()||fetch.bind(global),this.#c=t.fetchOptions,this.#w=t.callOptions,this.#t=t.shouldFetchRootKey??!1,this.#d=t.shouldSyncTime??!1,t.rootKey?this.rootKey=t.rootKey:this.#t?this.rootKey=null:this.rootKey=Ee(Vm);let r=Hm(t.host);this.host=new URL(r),t.verifyQuerySignatures!==void 0&&(this.#y=t.verifyQuerySignatures),this.#u=t.retryTimes??3;let n=()=>new Ts({maxIterations:this.#u});if(this.#f=t.backoffStrategy||n,this.host.hostname.endsWith(Dm)?this.host.hostname=Bm:this.host.hostname.endsWith(km)?this.host.hostname=Um:this.host.hostname.endsWith(qm)&&(this.host.hostname=Lm),t.credentials){let{name:o,password:i}=t.credentials;this.#s=`${o}${i?":"+i:""}`}if(this.#n=Promise.resolve(t.identity||new ot),t.ingressExpiryInMinutes&&t.ingressExpiryInMinutes>5)throw Y.fromCode(new Ct("The maximum ingress expiry time is 5 minutes.",t.ingressExpiryInMinutes));if(t.ingressExpiryInMinutes&&t.ingressExpiryInMinutes<=0)throw Y.fromCode(new Ct("Ingress expiry time must be greater than 0.",t.ingressExpiryInMinutes));this.#l=t.ingressExpiryInMinutes||5,this.addTransform("update",Fa($o)),t.useQueryNonces&&this.addTransform("query",Fa($o)),t.logToConsole&&this.log.subscribe(o=>{o.level==="error"?console.error(o.message):o.level==="warn"?console.warn(o.message):console.log(o.message)})}static createSync(t={}){return new this({...t})}static async create(t={}){let r=e.createSync(t);return await r.#p(),r}static async from(t){try{return"config"in t?await e.create(t.config):await e.create({fetch:t._fetch,fetchOptions:t._fetchOptions,callOptions:t._callOptions,host:t._host.toString(),identity:t._identity??void 0})}catch{throw Y.fromCode(new Ui)}}isLocal(){let t=this.host.hostname;return t==="127.0.0.1"||t.endsWith("127.0.0.1")}addTransform(t,r,n=r.priority||0){if(t==="update"){let o=this.#m.findIndex(i=>(i.priority||0)<n);this.#m.splice(o>=0?o:this.#m.length,0,Object.assign(r,{priority:n}))}else if(t==="query"){let o=this.#h.findIndex(i=>(i.priority||0)<n);this.#h.splice(o>=0?o:this.#h.length,0,Object.assign(r,{priority:n}))}}async getPrincipal(){if(!this.#n)throw ye.fromCode(new Cr);return(await this.#n).getPrincipal()}async call(t,r,n){let o=r.callSync??!0,i=await(n??this.#n);if(!i)throw ye.fromCode(new Cr);let s=U.from(t),a=r.effectiveCanisterId?U.from(r.effectiveCanisterId):s;await this.#p(a);let c=i.getPrincipal(),u=gc(this.#l,this.#r),p={request_type:ts.Call,canister_id:s,method_name:r.methodName,arg:r.arg,sender:c,ingress_expiry:u},d=await this._transform({request:{body:null,method:"POST",headers:{"Content-Type":"application/cbor",...this.#s?{Authorization:"Basic "+btoa(this.#s)}:{}}},endpoint:dr.Call,body:p}),l;r?.nonce?l=f(r.nonce):d.body.nonce?l=f(d.body.nonce):l=void 0,p.nonce=l;function f(m){return Object.assign(m,{__nonce__:void 0})}d=await i.transformRequest(d);let h=Ko(d.body),_=this.#f(),g=lr(p);try{let y=o?()=>{let R=new URL(`/api/v4/canister/${a.toText()}/call`,this.host);return this.log.print(`fetching "${R.pathname}" with request:`,d),this.#o(R,{...this.#w,...d.request,body:h})}:()=>{let R=new URL(`/api/v2/canister/${a.toText()}/call`,this.host);return this.log.print(`fetching "${R.pathname}" with request:`,d),this.#o(R,{...this.#w,...d.request,body:h})},{responseBodyBytes:T,...E}=await this.#g({requestFn:y,backoff:_,tries:0}),O=T.byteLength>0?Me(T):null;return{requestId:g,response:{...E,body:O},requestDetails:p}}catch(m){let x;if(m instanceof nt){if(m.hasCode(Io))return this.log.warn("v4 api not supported. Fall back to v2"),this.call(t,{...r,callSync:!1},n);if(m.hasCode(Ct)&&!this.#i)return await this.syncTime(s),this.call(s,r,n);m.code.requestContext={requestId:g,senderPubKey:d.body.sender_pubkey,senderSignature:d.body.sender_sig,ingressExpiry:d.body.content.ingress_expiry},x=m}else x=ce.fromCode(new Re(m));throw this.log.error(`Error while making call: ${x.message}`,x),x}}async#b(t){let{ecid:r,transformedRequest:n,body:o,requestId:i,backoff:s,tries:a}=t,c=a===0?0:s.next(),u=new URL(`/api/v3/canister/${r.toString()}/query`,this.host);if(this.log.print(`fetching "${u.pathname}" with tries:`,{tries:a,backoff:s,delay:c}),c===null)throw ce.fromCode(new On(`Backoff strategy exhausted after ${a} attempts.`,i));c>0&&await new Promise(m=>setTimeout(m,c));let p;try{this.log.print(`fetching "${u.pathname}" with request:`,n),p=await this.#o(u,{...this.#c,...n.request,body:o})}catch(m){if(a<this.#u)return this.log.warn(`Caught exception while attempting to make query:
|
|
53
53
|
${m}
|
|
54
|
-
Retrying query.`),await this.#b({...t,tries:a+1});throw
|
|
54
|
+
Retrying query.`),await this.#b({...t,tries:a+1});throw Oo.fromCode(new vo(m))}let d=Pa(p.headers);if(p.status!==yc){let m=await p.text();if(_d(m))throw Y.fromCode(new Ct(m,this.#l));if(a<this.#u)return await this.#b({...t,tries:a+1});throw ne.fromCode(new Ro(p.status,p.statusText,d,m))}let f={...Me(Xn(await p.arrayBuffer())),httpDetails:{ok:p.ok,status:p.status,statusText:p.statusText,headers:d},requestId:i};if(!this.#y)return f;let h=f.signatures?.[0]?.timestamp;if(!h)throw ne.fromCode(new ki("Timestamp not found in query response. This suggests a malformed or malicious response."));let _=Number(BigInt(h)/BigInt(Fm));if(Date.now()+this.#r-_>this.#E){if(a<this.#u)return this.log.warn("Timestamp is older than the max ingress expiry. Retrying query.",{requestId:i,signatureTimestampMs:_}),await this.syncTime(r),await this.#b({...t,tries:a+1});throw Le.fromCode(new Fi(this.#l,i,a))}return f}async#g(t){let{requestFn:r,backoff:n,tries:o}=t,i=o===0?0:n.next();if(i===null)throw ne.fromCode(new On(`Retry strategy exhausted after ${o} attempts.`));i>0&&await new Promise(p=>setTimeout(p,i));let s,a=new Uint8Array;try{s=await r(),s.status===yc&&(a=Xn(await s.clone().arrayBuffer()))}catch(p){if(o<this.#u)return this.log.warn(`Caught exception while attempting to make request:
|
|
55
55
|
${p}
|
|
56
|
-
Retrying request.`),await this.#g({requestFn:r,backoff:n,tries:o+1});throw wo.fromCode(new Eo(p))}let c=xa(s.headers);if(s.status===nc||s.status===Rm)return{ok:s.ok,status:s.status,statusText:s.statusText,responseBodyBytes:a,headers:c};let u=await s.text();if(s.status===Im&&s.url.includes("api/v4"))throw te.fromCode(new Oo);if(nd(u))throw Y.fromCode(new Ct(u,this.#l));if(o<this.#u)return await this.#g({requestFn:r,backoff:n,tries:o+1});throw te.fromCode(new No(s.status,s.statusText,c,u))}async query(t,r,n){let o=this.#f(),i=r.effectiveCanisterId?k.from(r.effectiveCanisterId):k.from(t);await this.#p(i),this.log.print(`ecid ${i.toString()}`),this.log.print(`canisterId ${t.toString()}`);let s,a=await(n??this.#n);if(!a)throw ye.fromCode(new Er);let c=k.from(t),u=a.getPrincipal(),p=oc(this.#l,this.#r),d={request_type:In.Query,canister_id:c,method_name:r.methodName,arg:r.arg,sender:u,ingress_expiry:p},l=nr(d);s=await this._transform({request:{method:"POST",headers:{"Content-Type":"application/cbor",...this.#s?{Authorization:"Basic "+btoa(this.#s)}:{}}},endpoint:ir.Query,body:d}),s=await a.transformRequest(s);let f=qo(s.body),h={canister:c.toText(),ecid:i,transformedRequest:s,body:f,requestId:l,backoff:o,tries:0},_=async()=>{let m=await this.#b(h);return{requestDetails:d,...m}},g=async()=>{let m=this.#_.get(i.toString());if(m)return m;await this.fetchSubnetKeys(i.toString());let x=this.#_.get(i.toString());if(!x)throw ke.fromCode(new Di);return x};try{if(!this.#y)return await _();let[m,x]=await Promise.all([_(),g()]);try{return this.#T(m,x)}catch{this.log.warn("Query response verification failed. Retrying with fresh subnet keys."),this.#_.delete(i.toString());let y=await g();return this.#T(m,y)}}catch(m){let x;if(m instanceof et){if(m.hasCode(Ct)&&!this.#i)return await this.syncTime(i),this.query(t,r,n);m.code.requestContext={requestId:l,senderPubKey:s.body.sender_pubkey,senderSignature:s.body.sender_sig,ingressExpiry:s.body.content.ingress_expiry},x=m}else x=ae.fromCode(new Re(m));throw this.log.error(`Error while making query: ${x.message}`,x),x}}#T;async createReadStateRequest(t,r){await this.#p();let n=await(r??this.#n);if(!n)throw ye.fromCode(new Er);let o=n.getPrincipal(),i=await this._transform({request:{method:"POST",headers:{"Content-Type":"application/cbor",...this.#s?{Authorization:"Basic "+btoa(this.#s)}:{}}},endpoint:ir.ReadState,body:{request_type:In.ReadState,paths:t.paths,sender:o,ingress_expiry:oc(this.#l,this.#r)}});return n.transformRequest(i)}async readState(t,r,n,o){await this.#x();let i=k.from(t);function s(p){for(let d of p.paths){let[l,f]=d,h=new TextEncoder().encode("request_status");if(En(l,h))return f}}let a,c;if(o)a=o;else{c=s(r);let p=await this.#n;if(!p)throw ye.fromCode(new Er);a=await this.createReadStateRequest(r,p)}let u=new URL(`/api/v3/canister/${i.toString()}/read_state`,this.host);return await this.#N(u,{canisterId:i},a,c)}async readSubnetState(t,r){await this.#x();let n=k.from(t),o=new URL(`/api/v3/subnet/${n.toString()}/read_state`,this.host),i=await this.createReadStateRequest(r,this.#n??void 0);return await this.#N(o,{subnetId:n},i)}async#N(t,r,n,o){let i=this.#f();try{let{responseBodyBytes:s}=await this.#g({requestFn:()=>this.#o(t,{...this.#c,...n.request,body:qo(n.body)}),backoff:i,tries:0});return qe(s)}catch(s){let a;if(s instanceof et){if(s.hasCode(Ct)&&!this.#i){if("canisterId"in r)await this.syncTime(r.canisterId);else if("subnetId"in r)await this.syncTimeWithSubnet(r.subnetId);else throw it;return await this.#N(t,r,n,o)}s.code.requestContext={requestId:o??nr(n),senderPubKey:n.body.sender_pubkey,senderSignature:n.body.sender_sig,ingressExpiry:n.body.content.ingress_expiry},a=s}else a=ae.fromCode(new Re(s));throw this.log.error(`Error while making read state: ${a.message}`,a),a}}parseTimeFromResponse(t){let r;if(t.certificate){let n=qe(t.certificate);if(n&&"tree"in n)r=n.tree;else throw te.fromCode(new Rr("Could not decode time from response"));let o=pr(["time"],r);if(o.status!==Be.Found)throw te.fromCode(new xt("Time was not found in the response or was not in its expected format.",o.status));if(!(o.value instanceof Uint8Array)&&!ArrayBuffer.isView(o))throw te.fromCode(new Ni("Time was not in its expected format."));let i=Pr(o.value);return this.log.print("Time from response:",i),this.log.print("Time from response in milliseconds:",i.getTime()),i.getTime()}else this.log.warn("No certificate found in response");return 0}async syncTime(t){this.#a=this.#a??(async()=>{await this.#x();let r=Date.now();try{t||this.log.print("Syncing time with the IC. No canisterId provided, so falling back to ryjl3-tyaaa-aaaaa-aaaba-cai");let n=t??k.from("ryjl3-tyaaa-aaaaa-aaaba-cai"),o=e.createSync({identity:new tt,host:this.host.toString(),fetch:this.#o,retryTimes:0,rootKey:this.rootKey??void 0,shouldSyncTime:!1}),i=await Promise.all(Array(3).fill(null).map(async()=>{let a=(await Ju({canisterId:n,agent:o,paths:["time"],disableCertificateTimeVerification:!0})).get("time");if(a instanceof Date)return a.getTime()},[]));this.#O(r,i)}catch(n){let o=n instanceof et?n:ae.fromCode(new Re(n));throw this.log.error("Caught exception while attempting to sync time",o),o}})(),await this.#a.finally(()=>{this.#a=null})}async syncTimeWithSubnet(t){await this.#x();let r=Date.now();try{let n=e.createSync({identity:new tt,host:this.host.toString(),fetch:this.#o,retryTimes:0,rootKey:this.rootKey??void 0,shouldSyncTime:!1}),o=await Promise.all(Array(3).fill(null).map(async()=>{let s=(await Wu({subnetId:t,agent:n,paths:["time"],disableCertificateTimeVerification:!0})).get("time");if(s instanceof Date)return s.getTime()},[]));this.#O(r,o)}catch(n){let o=n instanceof et?n:ae.fromCode(new Re(n));throw this.log.error("Caught exception while attempting to sync time with subnet",o),o}}#O(t,r){let n=r.reduce((o,i)=>typeof i=="number"&&i>o?i:o,0);n>0&&(this.#r=n-t,this.#i=!0,this.log.notify({message:`Syncing time: offset of ${this.#r}`,level:"info"}))}async status(){let t=this.#s?{Authorization:"Basic "+btoa(this.#s)}:{},r=new URL("/api/v2/status",this.host);this.log.print(`fetching "${r.pathname}"`);let n=this.#f(),{responseBodyBytes:o}=await this.#g({backoff:n,requestFn:()=>this.#o(r,{headers:t,...this.#c}),tries:0});return qe(o)}async fetchRootKey(){return this.#e=this.#e??(async()=>{let t=await this.status();return this.rootKey=t.root_key,this.rootKey})(),await this.#e.finally(()=>{this.#e=null})}async#p(t){await Promise.all([this.#x(),this.#R(t)])}async#x(){if(!this.rootKey)if(this.rootKey===null&&this.host.toString()!=="https://icp-api.io"&&this.#t)await this.fetchRootKey();else throw ye.fromCode(new ot(this.#t))}async#R(t){this.#d&&!this.hasSyncedTime()&&await this.syncTime(t)}invalidateIdentity(){this.#n=null}replaceIdentity(t){this.#n=Promise.resolve(t)}async fetchSubnetKeys(t){let r=k.from(t);await this.#p(r);let n=this.rootKey,o=await this.readState(r,{paths:[[$("subnet")]]}),i=await nt.create({certificate:o.certificate,rootKey:n,principal:{canisterId:r},agent:this});if(!i.cert.delegation){let c=k.selfAuthenticating(n);if(!Ja({canisterId:r,subnetId:c,tree:i.cert.tree}))throw ke.fromCode(new xn(r,c))}let s=za(i.cert,n),a=oo(i.cert,s);return this.#_.set(r.toText(),a),a}async getSubnetIdFromCanister(t){let r=k.from(t);await this.#p(r);let n=await this.readState(r,{paths:[[$("time")]]}),o=await nt.create({certificate:n.certificate,rootKey:this.rootKey,principal:{canisterId:r},agent:this});return za(o.cert,this.rootKey)}_transform(t){let r=Promise.resolve(t);if(t.endpoint===ir.Call)for(let n of this.#m)r=r.then(o=>n(o).then(i=>i||o));else for(let n of this.#h)r=r.then(o=>n(o).then(i=>i||o));return r}getTimeDiffMsecs(){return this.#r}hasSyncedTime(){return this.#i}};function oc(e,t){let r=e*ic;return Zn.fromDeltaInMilliseconds(r,t)}function nd(e){return e.includes("Invalid request expiry: ")}var Sm=300*1e3;function od(){return Bm(Fm(Cm(),1e3),Pm(1e3,1.2),Vm(Sm))}function Cm(){let e=!0;return async()=>e?(e=!1,!0):!1}function Fm(e,t){return async(r,n,o)=>{if(await e(r,n,o))return new Promise(i=>setTimeout(i,t))}}function Vm(e){let t=Date.now()+e;return async(r,n,o)=>{if(Date.now()>t)throw te.fromCode(new bn(`Request timed out after ${e} msec`,n,o))}}function Pm(e,t){let r=e;return()=>new Promise(n=>setTimeout(()=>{r*=t,n()},r))}function Bm(...e){return async(t,r,n)=>{for(let o of e)await o(t,r,n)}}var sd={preSignReadStateRequest:!1};function ad(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function sc(e,t){return e!==null&&typeof e=="object"&&ad(e,t)}function Um(e,t){return ad(e,t)&&typeof e[t]=="function"}function id(e){return sc(e,"body")&&sc(e.body,"content")&&e.body.content.request_type===In.ReadState&&sc(e.body.content,"ingress_expiry")&&typeof e.body.content.ingress_expiry=="object"&&e.body.content.ingress_expiry!==null&&Um(e.body.content.ingress_expiry,"toHash")}async function ac(e,t,r,n={}){let o=[$("request_status"),r],i,s;if(n.preSignReadStateRequest??!1?(s=await km({paths:[o],agent:e,pollingOptions:n}),i=await e.readState(t,{paths:[o]},void 0,s)):i=await e.readState(t,{paths:[o]}),e.rootKey==null)throw ye.fromCode(new ot);let c=await nt.create({certificate:i.certificate,rootKey:e.rootKey,principal:{canisterId:t},blsVerify:n.blsVerify,agent:e}),u=ve(c.lookup_path([...o,$("status")])),p;switch(typeof u>"u"?p=Ut.Unknown:p=new TextDecoder().decode(u),p){case Ut.Replied:return{reply:ve(c.lookup_path([...o,"reply"])),certificate:c};case Ut.Received:case Ut.Unknown:case Ut.Processing:{let d=n.strategy??od();return await d(t,r,p),ac(e,t,r,{...n,strategy:d,request:s})}case Ut.Rejected:{let d=new Uint8Array(ve(c.lookup_path([...o,"reject_code"])))[0],l=new TextDecoder().decode(ve(c.lookup_path([...o,"reject_message"]))),f=ve(c.lookup_path([...o,"error_code"])),h=f?new TextDecoder().decode(f):void 0;throw Or.fromCode(new qn(r,d,l,h))}case Ut.Done:throw ae.fromCode(new Fi(r))}throw it}async function km(e){let{paths:t,agent:r,pollingOptions:n}=e;if(n.request&&id(n.request))return n.request;let o=await r.createReadStateRequest?.({paths:t},void 0);if(!id(o))throw Y.fromCode(new Li(o));return o}var ut=Symbol.for("ic-agent-metadata"),ao=class e{static agentOf(t){return t[ut].config.agent}static interfaceOf(t){return t[ut].service}static canisterIdOf(t){return k.from(t[ut].config.canisterId)}static createActorClass(t,r){let n=t({IDL:On});class o extends e{constructor(s){if(!s.canisterId)throw Y.fromCode(new Ro(s.canisterId));let a=typeof s.canisterId=="string"?k.fromText(s.canisterId):s.canisterId;super({config:{...cd,...s,canisterId:a},service:n});for(let[c,u]of n._fields)r?.httpDetails&&u.annotations.push(cc),r?.certificate&&u.annotations.push(ld),this[c]=qm(this,c,u,s.blsVerify)}}return o}static createActor(t,r){if(!r.canisterId)throw Y.fromCode(new Ro(r.canisterId));return new(this.createActorClass(t))(r)}static createActorWithHttpDetails(t,r){return new(this.createActorClass(t,{httpDetails:!0}))(r)}static createActorWithExtendedDetails(t,r,n={httpDetails:!0,certificate:!0}){return new(this.createActorClass(t,n))(r)}constructor(t){this[ut]=Object.freeze(t)}};function so(e,t){let r=On.decode(e,t);switch(r.length){case 0:return;case 1:return r[0];default:return r}}var cd={pollingOptions:sd},cc="http-details",ld="certificate";function qm(e,t,r,n){let o;r.annotations.includes("query")||r.annotations.includes("composite_query")?o=async(s,...a)=>{s={...s,...e[ut].config.queryTransform?.(t,a,{...e[ut].config,...s})};let c=s.agent||e[ut].config.agent||new mr,u=k.from(s.canisterId||e[ut].config.canisterId),p=On.encode(r.argTypes,a),d=await c.query(u,{methodName:t,arg:p,effectiveCanisterId:s.effectiveCanisterId}),l={...d.httpDetails,requestDetails:d.requestDetails};switch(d.status){case br.Rejected:{let f=new Si(d.requestId,d.reject_code,d.reject_message,d.error_code,d.signatures);throw f.callContext={canisterId:u,methodName:t,httpDetails:l},Or.fromCode(f)}case br.Replied:return r.annotations.includes(cc)?{httpDetails:l,result:so(r.retTypes,d.reply.arg)}:so(r.retTypes,d.reply.arg)}}:o=async(s,...a)=>{s={...s,...e[ut].config.callTransform?.(t,a,{...e[ut].config,...s})};let c=s.agent||e[ut].config.agent||mr.createSync(),{canisterId:u,effectiveCanisterId:p,pollingOptions:d}={...cd,...e[ut].config,...s},l=k.from(u),f=p!==void 0?k.from(p):l,h=On.encode(r.argTypes,a),{requestId:_,response:g,requestDetails:m}=await c.call(l,{methodName:t,arg:h,effectiveCanisterId:f,nonce:s.nonce}),x,y;if(Zc(g.body)){if(c.rootKey==null)throw ye.fromCode(new ot);let R=g.body.certificate;y=await nt.create({certificate:R,rootKey:c.rootKey,principal:{canisterId:f},blsVerify:n,agent:c});let v=[$("request_status"),_];switch(new TextDecoder().decode(ve(y.lookup_path([...v,"status"])))){case"replied":x=ve(y.lookup_path([...v,"reply"]));break;case"rejected":{let I=new Uint8Array(ve(y.lookup_path([...v,"reject_code"])))[0],F=new TextDecoder().decode(ve(y.lookup_path([...v,"reject_message"]))),S=ve(y.lookup_path([...v,"error_code"])),b=S?new TextDecoder().decode(S):void 0,N=new qn(_,I,F,b);throw N.callContext={canisterId:l,methodName:t,httpDetails:g},Or.fromCode(N)}}}else if(Yc(g.body)){let{reject_code:R,reject_message:v,error_code:w}=g.body,I=new Ci(_,R,v,w);throw I.callContext={canisterId:l,methodName:t,httpDetails:g},Or.fromCode(I)}if(g.status===202){let R={...d,blsVerify:n},v=await ac(c,f,_,R);y=v.certificate,x=v.reply}let T=r.annotations.includes(cc),E=r.annotations.includes(ld),O={...g,requestDetails:m};if(x!==void 0)return T&&E?{httpDetails:O,certificate:y,result:so(r.retTypes,x)}:E?{certificate:y,result:so(r.retTypes,x)}:T?{httpDetails:O,result:so(r.retTypes,x)}:so(r.retTypes,x);{let R=new Re(`Call was returned undefined. We cannot determine if the call was successful or not. Return types: [${r.retTypes.map(v=>v.display()).join(",")}].`);throw R.callContext={canisterId:l,methodName:t,httpDetails:O},ae.fromCode(R)}};let i=(...s)=>o({},...s);return i.withOptions=s=>(...a)=>o(s,...a),i}var Mm=(e=>(e[e.FractionalMoreThan8Decimals=0]="FractionalMoreThan8Decimals",e[e.InvalidFormat=1]="InvalidFormat",e[e.FractionalTooManyDecimals=2]="FractionalTooManyDecimals",e))(Mm||{}),fb=BigInt(1e8);var L=e=>e==null,z=e=>!L(e),ni=e=>z(e)&&e!=="",co=e=>!ni(e);var jm=class extends Error{},oi=(e,t)=>{if(e==null)throw new jm(t)};var _r=e=>new Uint8Array(e),bs=e=>Array.from(e);var dd=({a:e,b:t})=>e.length===t.length&&e.every((r,n)=>r===t[n]);var ud="abcdefghijklmnopqrstuvwxyz234567",ri=Object.create(null);for(let e=0;e<ud.length;e++)ri[ud[e]]=e;ri[0]=ri.o;ri[1]=ri.i;var Lr=e=>btoa(String.fromCharCode(...new Uint8Array(e))),pd=e=>Uint8Array.from(atob(e),t=>t.charCodeAt(0)),hb=new Uint32Array([0,1996959894,3993919788,2567524794,124634137,1886057615,3915621685,2657392035,249268274,2044508324,3772115230,2547177864,162941995,2125561021,3887607047,2428444049,498536548,1789927666,4089016648,2227061214,450548861,1843258603,4107580753,2211677639,325883990,1684777152,4251122042,2321926636,335633487,1661365465,4195302755,2366115317,997073096,1281953886,3579855332,2724688242,1006888145,1258607687,3524101629,2768942443,901097722,1119000684,3686517206,2898065728,853044451,1172266101,3705015759,2882616665,651767980,1373503546,3369554304,3218104598,565507253,1454621731,3485111705,3099436303,671266974,1594198024,3322730930,2970347812,795835527,1483230225,3244367275,3060149565,1994146192,31158534,2563907772,4023717930,1907459465,112637215,2680153253,3904427059,2013776290,251722036,2517215374,3775830040,2137656763,141376813,2439277719,3865271297,1802195444,476864866,2238001368,4066508878,1812370925,453092731,2181625025,4111451223,1706088902,314042704,2344532202,4240017532,1658658271,366619977,2362670323,4224994405,1303535960,984961486,2747007092,3569037538,1256170817,1037604311,2765210733,3554079995,1131014506,879679996,2909243462,3663771856,1141124467,855842277,2852801631,3708648649,1342533948,654459306,3188396048,3373015174,1466479909,544179635,3110523913,3462522015,1591671054,702138776,2966460450,3352799412,1504918807,783551873,3082640443,3233442989,3988292384,2596254646,62317068,1957810842,3939845945,2647816111,81470997,1943803523,3814918930,2489596804,225274430,2053790376,3826175755,2466906013,167816743,2097651377,4027552580,2265490386,503444072,1762050814,4150417245,2154129355,426522225,1852507879,4275313526,2312317920,282753626,1742555852,4189708143,2394877945,397917763,1622183637,3604390888,2714866558,953729732,1340076626,3518719985,2797360999,1068828381,1219638859,3624741850,2936675148,906185462,1090812512,3747672003,2825379669,829329135,1181335161,3412177804,3160834842,628085408,1382605366,3423369109,3138078467,570562233,1426400815,3317316542,2998733608,733239954,1555261956,3268935591,3050360625,752459403,1541320221,2607071920,3965973030,1969922972,40735498,2617837225,3943577151,1913087877,83908371,2512341634,3803740692,2075208622,213261112,2463272603,3855990285,2094854071,198958881,2262029012,4057260610,1759359992,534414190,2176718541,4139329115,1873836001,414664567,2282248934,4279200368,1711684554,285281116,2405801727,4167216745,1634467795,376229701,2685067896,3608007406,1308918612,956543938,2808555105,3495958263,1231636301,1047427035,2932959818,3654703836,1088359270,936918e3,2847714899,3736837829,1202900863,817233897,3183342108,3401237130,1404277552,615818150,3134207493,3453421203,1423857449,601450431,3009837614,3294710456,1567103746,711928724,3020668471,3272380065,1510334235,755167117]);var lc="__bigint__",uc="__principal__",dc="__uint8array__",fd=(e,t)=>typeof t=="bigint"?{[lc]:`${t}`}:z(t)&&k.isPrincipal(t)?{[uc]:k.from(t).toText()}:z(t)&&t instanceof Uint8Array?{[dc]:Array.from(t)}:t,hd=(e,t)=>{let r=n=>t[n];return z(t)&&typeof t=="object"&&lc in t?BigInt(r(lc)):z(t)&&typeof t=="object"&&uc in t?k.fromText(r(uc)):z(t)&&typeof t=="object"&&dc in t?Uint8Array.from(r(dc)):t};var ie=e=>z(e)?[e]:[],be=e=>e?.[0];var Km=({authData:e})=>{if(e.byteLength<37)return{invalidAuthData:null};if(e.byteLength<53)return{invalidAuthData:null};let t=e.slice(37,53),r=Hm({bytes:t});return"aaguid"in r?{aaguidBytes:t,aaguidText:r.aaguid}:{unknownProvider:null}},Hm=({bytes:e})=>{if(e.length!==16)return{invalidBytes:null};let t=(e instanceof Uint8Array?bs(e):e).map(r=>r.toString(16).padStart(2,"0")).join("").replace(/^(.{8})(.{4})(.{4})(.{4})(.{12})$/,"$1-$2-$3-$4-$5");return t==="00000000-0000-0000-0000-000000000000"?{unknownProvider:null}:{aaguid:t}};function $m(e){let t=new DataView(new ArrayBuffer(2)),r=e.slice(53,55);[...new Uint8Array(r)].forEach((o,i)=>t.setUint8(i,o));let n=t.getUint16(0);return e.slice(55+n)}function Gm(e){return Pn(e,ti)}var Jm=class{constructor(e){this._cose=e,this.#e=Gm(e)}#e;toDer(){return this.#e}toRaw(){return new Uint8Array(this.#e)}},xd=class{#e;#t;constructor({rawId:e,cose:t}){this.#e=e,this.#t=new Jm(t)}getPublicKey(){return this.#t}getCredentialId(){return this.#e}getCredentialIdText(){return Lr(this.#e)}},Wm=class extends xd{#e;#t;constructor({authData:e,...t}){super(t);let r=Km({authData:e});this.#e="aaguidText"in r?r.aaguidText:void 0,this.#t="aaguidBytes"in r?r.aaguidBytes:void 0}getAAGUID(){return this.#t}getAAGUIDText(){return this.#e}},zm=class extends xd{},Ym=class extends Error{},Zm=class extends Error{},Xm=class extends Error{},Qm=class extends Error{},e_=class extends Error{},t_=class extends Error{},r_=class extends Error{},md=class extends Error{};var n_={ECDSA_WITH_SHA256:-7,RSA_WITH_SHA256:-257},o_=6e4,bd=()=>window.crypto.getRandomValues(new Uint8Array(16)),i_=()=>bd(),s_=()=>bd(),a_=()=>{let{location:{href:e}}=window;try{let{hostname:t}=new URL(e);return t}catch{throw new Ym}},wd=({appId:e})=>e?.id??a_(),c_=({appId:e,user:t}={})=>{let{document:{title:r}}=window,n=()=>({rp:{name:e?.name??r,id:wd({appId:e})}}),o=()=>({user:{id:s_(),name:t?.name??t?.displayName??r,displayName:t?.displayName??r}});return{attestation:"direct",challenge:i_(),...n(),...o(),pubKeyCredParams:Object.values(n_).map(i=>({type:"public-key",alg:i})),excludeCredentials:[],authenticatorSelection:{authenticatorAttachment:"platform",userVerification:"preferred",residentKey:"required",requireResidentKey:!0}}},l_=(e={})=>({rpId:wd(e),allowCredentials:[],userVerification:"required"}),pc=async({fn:e,step:t,onProgress:r})=>{r?.({step:t,state:"in_progress"});try{let n=await e();return r?.({step:t,state:"success"}),n}catch(n){throw r?.({step:t,state:"error"}),n}},qr=(e=>(e[e.RequestingUserCredential=0]="RequestingUserCredential",e[e.FinalizingCredential=1]="FinalizingCredential",e[e.Signing=2]="Signing",e))(qr||{}),Td=({timeout:e})=>AbortSignal.timeout(e??o_),u_=async({challenge:e,credentialIds:t,passkeyOptions:r,timeout:n})=>await navigator.credentials.get({publicKey:{...l_(r),challenge:e.buffer,allowCredentials:(t??[]).map(o=>({id:o.buffer,type:"public-key"}))},signal:Td({timeout:n})}),_d=e=>{if(e.status!=="initialized")throw new Zm},yd=e=>{if(L(e))throw new Xm},gd=({type:e})=>{if(e!=="public-key")throw new Qm},fc=class ii extends Dt{#e;#t;constructor({onProgress:t,...r}){if(super(),this.#e=t,"retrievePublicKey"in r){let{retrievePublicKey:n}=r;this.#t={status:"pending",retrievePublicKey:n};return}this.#t=ii.#r({credential:new Wm(r)})}static#r({credential:t}){return{status:"initialized",credential:t}}static async createWithNewCredential({passkeyOptions:t,timeout:r,...n}={}){let o=await navigator.credentials.create({publicKey:c_(t),signal:Td({timeout:r})});yd(o),gd(o);let{response:{attestationObject:i},rawId:s}=o;if(L(i))throw new e_;let{authData:a}=Yi.decode(_r(i)),c=$m(a);return new ii({...n,rawId:_r(s),cose:c,authData:a})}static async createWithExistingCredential(t){return new ii(t)}getPublicKey(){_d(this.#t);let{credential:t}=this.#t;return t.getPublicKey()}getCredential(){_d(this.#t);let{credential:t}=this.#t;return t}async sign(t){let r=await pc({fn:async()=>{let n=await u_({challenge:t,...this.#t.status==="initialized"&&{credentialIds:[this.#t.credential.getCredentialId()]}});return yd(n),gd(n),n},step:0,onProgress:this.#e});return await pc({fn:async()=>{let{rawId:n}=r;if(this.#t.status==="initialized"){if(!dd({a:this.#t.credential.getCredentialId(),b:_r(n)}))throw new t_;return}let{retrievePublicKey:o}=this.#t,i=await o({credentialId:_r(n)});this.#t=ii.#r({credential:new zm({rawId:_r(n),cose:i})})},step:1,onProgress:this.#e}),await pc({fn:async()=>{let{response:n}=r,{clientDataJSON:o}=n,{authenticatorData:i,signature:s}="authenticatorData"in n&&"signature"in n?n:{};if(L(i))throw new md;if(L(s))throw new md;let a=Yi.encode({authenticator_data:i,client_data_json:new TextDecoder().decode(o),signature:_r(s)});if(L(a))throw new r_;return Object.assign(a,{__signature__:void 0}),a},step:2,onProgress:this.#e})}},d_=async()=>z(window.PublicKeyCredential)&&"isUserVerifyingPlatformAuthenticatorAvailable"in PublicKeyCredential?await PublicKeyCredential.isUserVerifyingPlatformAuthenticatorAvailable():!1;var lo=class{callbacks=[];populate(t){this.callbacks.forEach(({callback:r})=>r(t))}subscribe(t){let r=Symbol();return this.callbacks.push({id:r,callback:t}),()=>this.callbacks=this.callbacks.filter(({id:n})=>n!==r)}};var De=class e extends lo{static instance;authUser=null;constructor(){super()}static getInstance(){return e.instance||(e.instance=new e),e.instance}set(t){this.authUser=t,this.populate(t)}get(){return this.authUser}subscribe(t){let r=super.subscribe(t);return t(this.authUser),r}reset(){this.authUser=null,this.populate(this.authUser)}};var si=({message:e,detail:t})=>{let r=new CustomEvent(e,{detail:t,bubbles:!0});document.dispatchEvent(r)};var uo="http://127.0.0.1:5987",Nd="rdmx6-jaaaa-aaaaa-aaadq-cai";var Od=async({identity:e,container:t})=>{let n=z(t)&&t!==!1?t===!0?uo:t:"https://icp-api.io",o=z(t);return await mr.create({identity:e,shouldFetchRootKey:o,host:n})};var po=class e{static instance;#e=void 0;constructor(){}static getInstance(){return L(e.instance)&&(e.instance=new e),e.instance}async getAgent({identity:t,...r}){let n=t.getPrincipal().toText();if(L(this.#e)||L(this.#e[n])){let o=await Od({identity:t,...r});return this.#e={...this.#e??{},[n]:o},o}return this.#e[n]}reset(){this.#e=null}};var fo=class e{static instance;#e=void 0;constructor(){}static getInstance(){return L(e.instance)&&(e.instance=new e),e.instance}async getActor({satelliteId:t,identity:r,actorKey:n,...o}){let i=`${n}#${r.getPrincipal().toText()}#${t};`;if(L(this.#e)||L(this.#e[i])){let s=await this.createActor({satelliteId:t,identity:r,...o});return this.#e={...this.#e??{},[i]:s},s}return this.#e[i]}reset(){this.#e=null}async createActor({idlFactory:t,satelliteId:r,...n}){let o=await po.getInstance().getAgent(n);return ao.createActor(t,{agent:o,canisterId:r})}};function Ed(e){return e!==null&&typeof e=="object"}var ai=class e{static from(t){if(typeof t=="string"){let r=Ee(t);return this.fromRaw(r)}else if(Ed(t)){let r=t;if(Ed(r)&&Object.hasOwnProperty.call(r,"__derEncodedPublicKey__"))return this.fromDer(r);if(ArrayBuffer.isView(r)){let n=r;return this.fromRaw(Ft(n.buffer))}else{if(r instanceof ArrayBuffer)return this.fromRaw(Ft(r));if("rawKey"in r&&r.rawKey instanceof Uint8Array)return this.fromRaw(r.rawKey);if("derKey"in r)return this.fromDer(r.derKey);if("toDer"in r)return this.fromDer(r.toDer())}}throw new Error("Cannot construct Ed25519PublicKey from the provided key.")}static fromRaw(t){return new e(t)}static fromDer(t){return new e(this.derDecode(t))}static{this.RAW_KEY_LENGTH=32}static derEncode(t){let r=Pn(t,Vn);return r.__derEncodedPublicKey__=void 0,r}static derDecode(t){let r=Bn(t,Vn);if(r.length!==this.RAW_KEY_LENGTH)throw new Error("An Ed25519 public key must be exactly 32bytes long");return r}#e;get rawKey(){return this.#e}#t;get derKey(){return this.#t}constructor(t){if(t.byteLength!==e.RAW_KEY_LENGTH)throw new Error("An Ed25519 public key must be exactly 32bytes long");this.#e=t,this.#t=e.derEncode(t)}toDer(){return this.derKey}toRaw(){return this.rawKey}},vt=class e extends Dt{static generate(t){if(t&&t.length!==32)throw new Error("Ed25519 Seed needs to be 32 bytes long.");t||(t=$e.utils.randomPrivateKey()),gl(t,new Uint8Array(new Array(32).fill(0)))&&console.warn("Seed is all zeros. This is not a secure seed. Please provide a seed with sufficient entropy if this is a production environment.");let r=new Uint8Array(32);for(let o=0;o<32;o++)r[o]=t[o];let n=$e.getPublicKey(r);return e.fromKeyPair(n,r)}static fromParsedJson(t){let[r,n]=t;return new e(ai.fromDer(Ee(r)),Ee(n))}static fromJSON(t){let r=JSON.parse(t);if(Array.isArray(r)){if(typeof r[0]=="string"&&typeof r[1]=="string")return this.fromParsedJson([r[0],r[1]]);throw new Error("Deserialization error: JSON must have at least 2 items.")}throw new Error(`Deserialization error: Invalid JSON type for string: ${JSON.stringify(t)}`)}static fromKeyPair(t,r){return new e(ai.fromRaw(t),r)}static fromSecretKey(t){let r=$e.getPublicKey(t);return e.fromKeyPair(r,t)}#e;#t;constructor(t,r){super(),this.#e=ai.from(t),this.#t=r}toJSON(){return[j(this.#e.toDer()),j(this.#t)]}getKeyPair(){return{secretKey:this.#t,publicKey:this.#e}}getPublicKey(){return this.#e}async sign(t){let r=$e.sign(t,this.#t.slice(0,32));return Object.defineProperty(r,"__signature__",{enumerable:!1,value:void 0}),r}static verify(t,r,n){let[o,i,s]=[t,r,n].map(a=>(typeof a=="string"&&(a=Ee(a)),Ft(a)));return $e.verify(o,i,s)}};var hc=class e extends Error{constructor(t){super(t),this.message=t,Object.setPrototypeOf(this,e.prototype)}};function Rd(e){if(typeof global<"u"&&global.crypto&&global.crypto.subtle)return global.crypto.subtle;if(e)return e;if(typeof crypto<"u"&&crypto.subtle)return crypto.subtle;throw new hc("Global crypto was not available and none was provided. Please inlcude a SubtleCrypto implementation. See https://developer.mozilla.org/en-US/docs/Web/API/SubtleCrypto")}var kt=class e extends Dt{static async generate(t){let{extractable:r=!1,keyUsages:n=["sign","verify"],subtleCrypto:o}=t??{},i=Rd(o),s=await i.generateKey({name:"ECDSA",namedCurve:"P-256"},r,n),a=Ft(await i.exportKey("spki",s.publicKey));return Object.assign(a,{__derEncodedPublicKey__:void 0}),new this(s,a,i)}static async fromKeyPair(t,r){let n=Rd(r),o=Ft(await n.exportKey("spki",t.publicKey));return Object.assign(o,{__derEncodedPublicKey__:void 0}),new e(t,o,n)}constructor(t,r,n){super(),this._keyPair=t,this._derKey=r,this._subtleCrypto=n}getKeyPair(){return this._keyPair}getPublicKey(){let t=this._derKey,r=Object.create(this._keyPair.publicKey);return r.toDer=function(){return t},r}async sign(t){let r={name:"ECDSA",hash:{name:"SHA-256"}},n=Ft(await this._subtleCrypto.sign(r,this._keyPair.privateKey,t));return Object.assign(n,{__signature__:void 0}),n}};var ws=class{#e;get rawKey(){return this.#e.rawKey}get derKey(){return this.#e.derKey}toDer(){return this.#e.toDer()}getPublicKey(){return this.#e}getPrincipal(){if(!this.#e.rawKey)throw new Error("Cannot get principal from a public key without a raw key.");return k.fromUint8Array(new Uint8Array(this.#e.rawKey))}transformRequest(){return Promise.reject("Not implemented. You are attempting to use a partial identity to sign calls, but this identity only has access to the public key.To sign calls, use a DelegationIdentity instead.")}constructor(t){this.#e=t}};function Ts(e){return e instanceof Uint8Array?j(e):j(new Uint8Array(e))}function mc(e){if(typeof e!="string"||e.length<64)throw new Error("Invalid public key.");return Ee(e)}var Mr=class{constructor(t,r,n){this.pubkey=t,this.expiration=r,this.targets=n}toCborValue(){return{pubkey:this.pubkey,expiration:this.expiration,...this.targets&&{targets:this.targets}}}toJSON(){return{expiration:this.expiration.toString(16),pubkey:Ts(this.pubkey),...this.targets&&{targets:this.targets.map(t=>t.toHex())}}}};async function p_(e,t,r,n){let o=new Mr(t.toDer(),BigInt(+r)*BigInt(1e6),n),i=new Uint8Array([...pa,...new Uint8Array(nr({...o}))]),s=await e.sign(i);return{delegation:o,signature:s}}var yr=class e{static async create(t,r,n=new Date(Date.now()+900*1e3),o={}){let i=await p_(t,r,n,o.targets);return new e([...o.previous?.delegations||[],i],o.previous?.publicKey||t.getPublicKey().toDer())}static fromJSON(t){let{publicKey:r,delegations:n}=typeof t=="string"?JSON.parse(t):t;if(!Array.isArray(n))throw new Error("Invalid delegations.");let o=n.map(i=>{let{delegation:s,signature:a}=i,{pubkey:c,expiration:u,targets:p}=s;if(p!==void 0&&!Array.isArray(p))throw new Error("Invalid targets.");return{delegation:new Mr(mc(c),BigInt("0x"+u),p&&p.map(d=>{if(typeof d!="string")throw new Error("Invalid target.");return k.fromHex(d)})),signature:mc(a)}});return new this(o,mc(r))}static fromDelegations(t,r){return new this(t,r)}constructor(t,r){this.delegations=t,this.publicKey=r}toJSON(){return{delegations:this.delegations.map(t=>{let{delegation:r,signature:n}=t,{targets:o}=r;return{delegation:{expiration:r.expiration.toString(16),pubkey:Ts(r.pubkey),...o&&{targets:o.map(i=>i.toHex())}},signature:Ts(n)}}),publicKey:Ts(this.publicKey)}}},gr=class extends Dt{static fromDelegation(t,r){return new this(t,r)}constructor(t,r){super(),this._inner=t,this._delegation=r}getDelegation(){return this._delegation}getPublicKey(){return{derKey:this._delegation.publicKey,toDer:()=>this._delegation.publicKey}}sign(t){return this._inner.sign(t)}async transformRequest(t){let{body:r,...n}=t,o=await nr(r);return{...n,body:{content:r,sender_sig:await this.sign(new Uint8Array([...Bo,...new Uint8Array(o)])),sender_delegation:this._delegation.delegations,sender_pubkey:this._delegation.publicKey}}}},ci=class e extends ws{#e;get delegation(){return this.#e}constructor(t,r){super(t),this.#e=r}static fromDelegation(t,r){return new e(t,r)}};function _c(e,t){for(let{delegation:o}of e.delegations)if(+new Date(Number(o.expiration/BigInt(1e6)))<=+Date.now())return!1;let r=[],n=t?.scope;n&&(Array.isArray(n)?r.push(...n.map(o=>typeof o=="string"?k.fromText(o):o)):r.push(typeof n=="string"?k.fromText(n):n));for(let o of r){let i=o.toText();for(let{delegation:s}of e.delegations){if(s.targets===void 0)continue;let a=!0;for(let c of s.targets)if(c.toText()===i){a=!1;break}if(a)return!1}}return!0}var Id=["mousedown","mousemove","keydown","touchstart","wheel"],li=class e{callbacks=[];idleTimeout=600*1e3;timeoutID=void 0;static create(t={}){return new e(t)}constructor(t={}){let{onIdle:r,idleTimeout:n=600*1e3}=t||{};this.callbacks=r?[r]:[],this.idleTimeout=n;let o=this._resetTimer.bind(this);window.addEventListener("load",o,!0),Id.forEach(s=>{document.addEventListener(s,o,!0)});let i=(s,a)=>{let c;return(...u)=>{let p=this,d=()=>{c=void 0,s.apply(p,u)};clearTimeout(c),c=window.setTimeout(d,a)}};if(t?.captureScroll){let s=i(o,t?.scrollDebounce??100);window.addEventListener("scroll",s,!0)}o()}registerCallback(t){this.callbacks.push(t)}exit(){clearTimeout(this.timeoutID),window.removeEventListener("load",this._resetTimer,!0);let t=this._resetTimer.bind(this);Id.forEach(r=>{document.removeEventListener(r,t,!0)}),this.callbacks.forEach(r=>{r()})}_resetTimer(){let t=this.exit.bind(this);window.clearTimeout(this.timeoutID),this.timeoutID=window.setTimeout(t,this.idleTimeout)}};var f_=(e,t)=>t.some(r=>e instanceof r),vd,Ad;function h_(){return vd||(vd=[IDBDatabase,IDBObjectStore,IDBIndex,IDBCursor,IDBTransaction])}function m_(){return Ad||(Ad=[IDBCursor.prototype.advance,IDBCursor.prototype.continue,IDBCursor.prototype.continuePrimaryKey])}var Sd=new WeakMap,gc=new WeakMap,Cd=new WeakMap,yc=new WeakMap,bc=new WeakMap;function __(e){let t=new Promise((r,n)=>{let o=()=>{e.removeEventListener("success",i),e.removeEventListener("error",s)},i=()=>{r(Lt(e.result)),o()},s=()=>{n(e.error),o()};e.addEventListener("success",i),e.addEventListener("error",s)});return t.then(r=>{r instanceof IDBCursor&&Sd.set(r,e)}).catch(()=>{}),bc.set(t,e),t}function y_(e){if(gc.has(e))return;let t=new Promise((r,n)=>{let o=()=>{e.removeEventListener("complete",i),e.removeEventListener("error",s),e.removeEventListener("abort",s)},i=()=>{r(),o()},s=()=>{n(e.error||new DOMException("AbortError","AbortError")),o()};e.addEventListener("complete",i),e.addEventListener("error",s),e.addEventListener("abort",s)});gc.set(e,t)}var xc={get(e,t,r){if(e instanceof IDBTransaction){if(t==="done")return gc.get(e);if(t==="objectStoreNames")return e.objectStoreNames||Cd.get(e);if(t==="store")return r.objectStoreNames[1]?void 0:r.objectStore(r.objectStoreNames[0])}return Lt(e[t])},set(e,t,r){return e[t]=r,!0},has(e,t){return e instanceof IDBTransaction&&(t==="done"||t==="store")?!0:t in e}};function Fd(e){xc=e(xc)}function g_(e){return e===IDBDatabase.prototype.transaction&&!("objectStoreNames"in IDBTransaction.prototype)?function(t,...r){let n=e.call(Ns(this),t,...r);return Cd.set(n,t.sort?t.sort():[t]),Lt(n)}:m_().includes(e)?function(...t){return e.apply(Ns(this),t),Lt(Sd.get(this))}:function(...t){return Lt(e.apply(Ns(this),t))}}function x_(e){return typeof e=="function"?g_(e):(e instanceof IDBTransaction&&y_(e),f_(e,h_())?new Proxy(e,xc):e)}function Lt(e){if(e instanceof IDBRequest)return __(e);if(yc.has(e))return yc.get(e);let t=x_(e);return t!==e&&(yc.set(e,t),bc.set(t,e)),t}var Ns=e=>bc.get(e);function Pd(e,t,{blocked:r,upgrade:n,blocking:o,terminated:i}={}){let s=indexedDB.open(e,t),a=Lt(s);return n&&s.addEventListener("upgradeneeded",c=>{n(Lt(s.result),c.oldVersion,c.newVersion,Lt(s.transaction),c)}),r&&s.addEventListener("blocked",c=>r(c.oldVersion,c.newVersion,c)),a.then(c=>{i&&c.addEventListener("close",()=>i()),o&&c.addEventListener("versionchange",u=>o(u.oldVersion,u.newVersion,u))}).catch(()=>{}),a}var b_=["get","getKey","getAll","getAllKeys","count"],w_=["put","add","delete","clear"],wc=new Map;function Vd(e,t){if(!(e instanceof IDBDatabase&&!(t in e)&&typeof t=="string"))return;if(wc.get(t))return wc.get(t);let r=t.replace(/FromIndex$/,""),n=t!==r,o=w_.includes(r);if(!(r in(n?IDBIndex:IDBObjectStore).prototype)||!(o||b_.includes(r)))return;let i=async function(s,...a){let c=this.transaction(s,o?"readwrite":"readonly"),u=c.store;return n&&(u=u.index(a.shift())),(await Promise.all([u[r](...a),o&&c.done]))[0]};return wc.set(t,i),i}Fd(e=>({...e,get:(t,r,n)=>Vd(t,r)||e.get(t,r,n),has:(t,r)=>!!Vd(t,r)||e.has(t,r)}));var Bd="auth-client-db",Dd="ic-keyval",T_=async(e=Bd,t=Dd,r)=>(globalThis.localStorage?.getItem(Ge)&&(globalThis.localStorage.removeItem(Ge),globalThis.localStorage.removeItem(Je)),await Pd(e,r,{upgrade:n=>{n.objectStoreNames.contains(t)&&n.clear(t),n.createObjectStore(t)}}));async function N_(e,t,r){return await e.get(t,r)}async function O_(e,t,r,n){return await e.put(t,n,r)}async function E_(e,t,r){return await e.delete(t,r)}var Os=class e{constructor(t,r){this._db=t,this._storeName=r}static async create(t){let{dbName:r=Bd,storeName:n=Dd,version:o=Ud}=t??{},i=await T_(r,n,o);return new e(i,n)}async set(t,r){return await O_(this._db,this._storeName,t,r)}async get(t){return await N_(this._db,this._storeName,t)??null}async remove(t){return await E_(this._db,this._storeName,t)}};var Je="identity",Ge="delegation",kd="iv",Ud=1,ui=class{constructor(t="ic-",r){this.prefix=t,this._localStorage=r}get(t){return Promise.resolve(this._getLocalStorage().getItem(this.prefix+t))}set(t,r){return this._getLocalStorage().setItem(this.prefix+t,r),Promise.resolve()}remove(t){return this._getLocalStorage().removeItem(this.prefix+t),Promise.resolve()}_getLocalStorage(){if(this._localStorage)return this._localStorage;let t=globalThis.localStorage;if(!t)throw new Error("Could not find local storage.");return t}},qt=class{#e;constructor(t){this.#e=t??{}}initializedDb;get _db(){return new Promise((t,r)=>{if(this.initializedDb){t(this.initializedDb);return}Os.create(this.#e).then(n=>{this.initializedDb=n,t(n)}).catch(r)})}async get(t){return await(await this._db).get(t)}async set(t,r){await(await this._db).set(t,r)}async remove(t){await(await this._db).remove(t)}};var R_=BigInt(1e9),I_=BigInt(3600),v_=R_*I_,A_="https://identity.internetcomputer.org",S_="#authorize",C_=BigInt(8)*v_,Tc="ECDSA",Nc="Ed25519",F_=500,Es="UserInterrupt",di=class e{constructor(t,r,n,o,i,s,a,c){this._identity=t,this._key=r,this._chain=n,this._storage=o,this.idleManager=i,this._createOptions=s,this._idpWindow=a,this._eventHandler=c,this._registerDefaultIdleCallback()}static async create(t={}){let r=t.storage??new qt,n=t.keyType??Tc,o=null;if(t.identity)o=t.identity;else{let c=await r.get(Je);if(!c)try{let u=new ui,p=await u.get(Ge),d=await u.get(Je);p&&d&&n===Tc&&(console.log("Discovered an identity stored in localstorage. Migrating to IndexedDB"),await r.set(Ge,p),await r.set(Je,d),c=p,await u.remove(Ge),await u.remove(Je))}catch(u){console.error(`error while attempting to recover localstorage: ${u}`)}if(c)try{typeof c=="object"?n===Nc&&typeof c=="string"?o=vt.fromJSON(c):o=await kt.fromKeyPair(c):typeof c=="string"&&(o=vt.fromJSON(c))}catch{}}let i=new tt,s=null;if(o)try{let c=await r.get(Ge);if(typeof c=="object"&&c!==null)throw new Error("Delegation chain is incorrectly stored. A delegation chain should be stored as a string.");t.identity?i=t.identity:c&&(s=yr.fromJSON(c),_c(s)?"toDer"in o?i=ci.fromDelegation(o,s):i=gr.fromDelegation(o,s):(await Oc(r),o=null))}catch(c){console.error(c),await Oc(r),o=null}let a;return t.idleOptions?.disableIdle?a=void 0:(s||t.identity)&&(a=li.create(t.idleOptions)),o||(n===Nc?o=vt.generate():(t.storage&&n===Tc&&console.warn(`You are using a custom storage provider that may not support CryptoKey storage. If you are using a custom storage provider that does not support CryptoKey storage, you should use '${Nc}' as the key type, as it can serialize to a string`),o=await kt.generate()),await Ld(r,o)),new e(i,o,s,r,a,t)}_registerDefaultIdleCallback(){let t=this._createOptions?.idleOptions;!t?.onIdle&&!t?.disableDefaultIdleCallback&&this.idleManager?.registerCallback(()=>{this.logout(),location.reload()})}async _handleSuccess(t,r){let n=t.delegations.map(a=>({delegation:new Mr(a.delegation.pubkey,a.delegation.expiration,a.delegation.targets),signature:a.signature})),o=yr.fromDelegations(n,t.userPublicKey),i=this._key;if(!i)return;this._chain=o,"toDer"in i?this._identity=ci.fromDelegation(i,this._chain):this._identity=gr.fromDelegation(i,this._chain),this._idpWindow?.close();let s=this._createOptions?.idleOptions;!this.idleManager&&!s?.disableIdle&&(this.idleManager=li.create(s),this._registerDefaultIdleCallback()),this._removeEventListener(),delete this._idpWindow,this._chain&&await this._storage.set(Ge,JSON.stringify(this._chain.toJSON())),await Ld(this._storage,this._key),r?.(t)}getIdentity(){return this._identity}async isAuthenticated(){return!this.getIdentity().getPrincipal().isAnonymous()&&this._chain!==null&&_c(this._chain)}async login(t){let r=V_(this._createOptions?.loginOptions,t),n=r?.maxTimeToLive??C_,o=new URL(r?.identityProvider?.toString()||A_);o.hash=S_,this._idpWindow?.close(),this._removeEventListener(),this._eventHandler=this._getEventHandler(o,{maxTimeToLive:n,...r}),window.addEventListener("message",this._eventHandler),this._idpWindow=window.open(o.toString(),"idpWindow",r?.windowOpenerFeatures)??void 0;let i=()=>{this._idpWindow&&(this._idpWindow.closed?this._handleFailure(Es,r?.onError):setTimeout(i,F_))};i()}_getEventHandler(t,r){return async n=>{if(n.origin!==t.origin)return;let o=n.data;switch(o.kind){case"authorize-ready":{let i={kind:"authorize-client",sessionPublicKey:new Uint8Array(this._key?.getPublicKey().toDer()),maxTimeToLive:r?.maxTimeToLive,allowPinAuthentication:r?.allowPinAuthentication,derivationOrigin:r?.derivationOrigin?.toString(),...r?.customValues};this._idpWindow?.postMessage(i,t.origin);break}case"authorize-client-success":try{await this._handleSuccess(o,r?.onSuccess)}catch(i){this._handleFailure(i.message,r?.onError)}break;case"authorize-client-failure":this._handleFailure(o.text,r?.onError);break}}}_handleFailure(t,r){this._idpWindow?.close(),r?.(t),this._removeEventListener(),delete this._idpWindow}_removeEventListener(){this._eventHandler&&window.removeEventListener("message",this._eventHandler),this._eventHandler=void 0}async logout(t={}){if(await Oc(this._storage),this._identity=new tt,this._chain=null,t.returnTo)try{window.history.pushState({},"",t.returnTo)}catch{window.location.href=t.returnTo}}};async function Oc(e){await e.remove(Je),await e.remove(Ge),await e.remove(kd)}function V_(e,t){if(!e&&!t)return;let r=e?.customValues||t?.customValues?{...e?.customValues,...t?.customValues}:void 0;return{...e,...t,customValues:r}}function P_(e){if(e instanceof kt)return e.getKeyPair();if(e instanceof vt)return JSON.stringify(e.toJSON());throw new Error("Unsupported key type")}async function Ld(e,t){let r=P_(t);await e.set(Je,r)}var Ue=class e{static#e;#t;constructor(){}static getInstance(){return L(this.#e)&&(this.#e=new e),this.#e}createAuthClient=async()=>(this.#t=await di.create({idleOptions:{disableIdle:!0,disableDefaultIdleCallback:!0}}),this.#t);safeCreateAuthClient=async()=>(await new qt().remove(Je),await this.createAuthClient());getAuthClient=()=>this.#t;logout=async()=>{await this.#t?.logout(),this.#t=null};setAuthClientStorage=async({delegationChain:t,sessionKey:r})=>{let n=new qt;await Promise.all([n.set(Je,r.getKeyPair()),n.set(Ge,JSON.stringify(t.toJSON()))])}};var Ec=async e=>{await B_(),await Ue.getInstance().createAuthClient(),e?.windowReload!==!1&&window.location.reload()},B_=async()=>{await Ue.getInstance().logout(),De.getInstance().reset(),fo.getInstance().reset(),po.getInstance().reset()};var qd=e=>{let t=e===!0?"./workers/auth.worker.js":e,r=new Worker(t),n=async()=>{si({message:"junoSignOutAuthTimer"}),await Ec()};return r.onmessage=async({data:o})=>{let{msg:i,data:s}=o;switch(i){case"junoSignOutAuthTimer":await n();return;case"junoDelegationRemainingTime":si({message:"junoDelegationRemainingTime",detail:s?.authRemainingTime})}},De.getInstance().subscribe(o=>{if(L(o)){r.postMessage({msg:"junoStopAuthTimer"});return}r.postMessage({msg:"junoStartAuthTimer"})})};var ho=class e{static#e;#t;#r;static CHANNEL_NAME="juno_core_auth_channel";static MESSAGE_LOGIN_SUCCESS="authClientLoginSuccess";constructor(){this.#t=new BroadcastChannel(e.CHANNEL_NAME),this.#r=window.crypto.randomUUID()}static getInstance(){return L(this.#e)&&(this.#e=new e),this.#e}onLoginSuccess=t=>{let{location:{origin:r}}=window;this.#t.onmessage=async({origin:n,data:o})=>{n===r&&z(o)&&o.msg==="authClientLoginSuccess"&&ni(o.emitterId)&&o.emitterId!==this.#r&&await t()}};destroy=()=>{this.#t.close(),e.#e=null};postLoginSuccess=()=>{let t={emitterId:this.#r,msg:e.MESSAGE_LOGIN_SUCCESS};this.#t.postMessage(t)};get __test__only__emitter_id__(){return this.#r}};var Se=class e extends lo{static instance;env;constructor(){super()}static getInstance(){return e.instance||(e.instance=new e),e.instance}set(t){this.env=t,this.populate(t)}get(){return this.env}reset(){this.env=null}subscribe(t){let r=super.subscribe(t);return t(this.env),r}};var pi=async({fn:e,syncTabsOnSuccess:t})=>{let{authenticated:r}=await D_({fn:e});!r||!t||Se.getInstance().get()?.syncTabs===!1||U_()},Md=async({fn:e})=>{let{createAuthClient:t}=Ue.getInstance(),n=await(await t()).isAuthenticated();await e({authenticated:n})},D_=async({fn:e})=>{let{createAuthClient:t,safeCreateAuthClient:r}=Ue.getInstance();return await(await t()).isAuthenticated()?(await e(),{authenticated:!0}):(await r(),{authenticated:!1})},U_=()=>{try{ho.getInstance().postLoginSuccess()}catch(e){console.warn("Auth BroadcastChannel posting failed",e)}};var Rc=({error:e,type:t})=>typeof e=="string"?e.includes(t):e instanceof Error?e.message.includes(t):!1;var jd="juno.datastore.error.user.cannot_update";var Mt={certified:!1};var Rs=()=>Ue.getInstance().getAuthClient()?.getIdentity(),k_=async()=>{let{getAuthClient:e,createAuthClient:t}=Ue.getInstance();return(e()??await t()).getIdentity()},L_=async()=>{let e=De.getInstance().get();if(L(e))return null;let t=Ue.getInstance().getAuthClient();return await t?.isAuthenticated()??!1?t?.getIdentity()??null:null};var ue=e=>z(e)?e:Rs()??new tt;var Ic=({IDL:e})=>{let t=e.Variant({Heap:e.Null,Stable:e.Null}),r=e.Record({system_memory:e.Opt(t)}),n=e.Record({controllers:e.Vec(e.Principal),storage:e.Opt(r)}),o=e.Record({jwt:e.Text,session_key:e.Vec(e.Nat8),salt:e.Vec(e.Nat8)}),i=e.Variant({OpenId:o}),s=e.Record({updated_at:e.Nat64,owner:e.Principal,data:e.Vec(e.Nat8),description:e.Opt(e.Text),created_at:e.Nat64,version:e.Opt(e.Nat64)}),a=e.Record({user_key:e.Vec(e.Nat8),expiration:e.Nat64}),c=e.Record({doc:s,delegation:a}),u=e.Variant({BadClaim:e.Text,BadSig:e.Text,NoMatchingProvider:e.Null}),p=e.Variant({WrongKeyType:e.Null,MissingKid:e.Null,BadClaim:e.Text,BadSig:e.Text,NoKeyForKid:e.Null}),d=e.Variant({InvalidConfig:e.Text,MissingKid:e.Null,BadClaim:e.Text,KeyNotFoundCooldown:e.Null,CertificateNotFound:e.Null,BadSig:e.Text,MissingLastAttempt:e.Text,KeyNotFound:e.Null,FetchFailed:e.Text}),l=e.Variant({JwtFindProvider:u,GetCachedJwks:e.Null,JwtVerify:p,GetOrFetchJwks:d,DeriveSeedFailed:e.Text}),f=e.Variant({PrepareDelegation:l,RegisterUser:e.Text}),h=e.Variant({Ok:c,Err:f}),_=e.Record({batch_id:e.Nat,headers:e.Vec(e.Tuple(e.Text,e.Text)),chunk_ids:e.Vec(e.Nat)}),g=e.Record({sha256:e.Vec(e.Nat8),proposal_id:e.Nat}),m=e.Variant({UpdatedAt:e.Null,Keys:e.Null,CreatedAt:e.Null}),x=e.Record({field:m,desc:e.Bool}),y=e.Variant({Equal:e.Nat64,Between:e.Tuple(e.Nat64,e.Nat64),GreaterThan:e.Nat64,LessThan:e.Nat64}),T=e.Record({key:e.Opt(e.Text),updated_at:e.Opt(y),description:e.Opt(e.Text),created_at:e.Opt(y)}),E=e.Record({start_after:e.Opt(e.Text),limit:e.Opt(e.Nat64)}),O=e.Record({order:e.Opt(x),owner:e.Opt(e.Principal),matcher:e.Opt(T),paginate:e.Opt(E)}),R=e.Record({controllers:e.Vec(e.Principal)}),v=e.Variant({Write:e.Null,Admin:e.Null,Submit:e.Null}),w=e.Record({updated_at:e.Nat64,metadata:e.Vec(e.Tuple(e.Text,e.Text)),created_at:e.Nat64,scope:v,expires_at:e.Opt(e.Nat64)}),I=e.Record({version:e.Opt(e.Nat64)}),F=e.Variant({Db:e.Null,Storage:e.Null}),S=e.Record({version:e.Opt(e.Nat64)}),b=e.Record({proposal_ids:e.Vec(e.Nat)}),N=e.Record({cycles:e.Nat,destination_id:e.Principal}),C=e.Record({token:e.Opt(e.Text),collection:e.Text,owner:e.Principal,name:e.Text,description:e.Opt(e.Text),full_path:e.Text}),B=e.Record({modified:e.Nat64,sha256:e.Vec(e.Nat8),total_length:e.Nat}),q=e.Record({key:C,updated_at:e.Nat64,encodings:e.Vec(e.Tuple(e.Text,B)),headers:e.Vec(e.Tuple(e.Text,e.Text)),created_at:e.Nat64,version:e.Opt(e.Nat64)}),A=e.Variant({Google:e.Null}),V=e.Record({targets:e.Opt(e.Vec(e.Principal)),max_time_to_live:e.Opt(e.Nat64)}),P=e.Record({delegation:e.Opt(V),client_id:e.Text}),D=e.Record({observatory_id:e.Opt(e.Principal),providers:e.Vec(e.Tuple(A,P))}),U=e.Record({derivation_origin:e.Opt(e.Text),external_alternative_origins:e.Opt(e.Vec(e.Text))}),re=e.Record({allowed_callers:e.Vec(e.Principal)}),ee=e.Record({updated_at:e.Opt(e.Nat64),openid:e.Opt(D),created_at:e.Opt(e.Nat64),version:e.Opt(e.Nat64),internet_identity:e.Opt(U),rules:e.Opt(re)}),J=e.Record({stable:e.Opt(e.Nat64),heap:e.Opt(e.Nat64)}),se=e.Record({updated_at:e.Opt(e.Nat64),created_at:e.Opt(e.Nat64),version:e.Opt(e.Nat64),max_memory_size:e.Opt(J)}),he=e.Variant({Deny:e.Null,AllowAny:e.Null,SameOrigin:e.Null}),Fe=e.Variant({Deny:e.Null,Allow:e.Null}),ne=e.Record({status_code:e.Nat16,location:e.Text}),de=e.Record({iframe:e.Opt(he),updated_at:e.Opt(e.Nat64),rewrites:e.Vec(e.Tuple(e.Text,e.Text)),headers:e.Vec(e.Tuple(e.Text,e.Vec(e.Tuple(e.Text,e.Text)))),created_at:e.Opt(e.Nat64),version:e.Opt(e.Nat64),max_memory_size:e.Opt(J),raw_access:e.Opt(Fe),redirects:e.Opt(e.Vec(e.Tuple(e.Text,ne)))}),Kr=e.Record({db:e.Opt(se),authentication:e.Opt(ee),storage:de}),Kt=e.Record({jwt:e.Text,session_key:e.Vec(e.Nat8),salt:e.Vec(e.Nat8),expiration:e.Nat64}),Ye=e.Variant({OpenId:Kt}),Hr=e.Record({pubkey:e.Vec(e.Nat8),targets:e.Opt(e.Vec(e.Principal)),expiration:e.Nat64}),$r=e.Record({signature:e.Vec(e.Nat8),delegation:Hr}),dt=e.Variant({JwtFindProvider:u,GetCachedJwks:e.Null,NoSuchDelegation:e.Null,JwtVerify:p,GetOrFetchJwks:d,DeriveSeedFailed:e.Text}),Gr=e.Variant({Ok:$r,Err:dt}),Jr=e.Variant({Initialized:e.Null,Failed:e.Null,Open:e.Null,Rejected:e.Null,Executed:e.Null,Accepted:e.Null}),Wr=e.Record({clear_existing_assets:e.Opt(e.Bool)}),Ht=e.Record({orbiter:e.Opt(e.Text),mission_control_version:e.Opt(e.Text),satellite_version:e.Opt(e.Text)}),pt=e.Variant({AssetsUpgrade:Wr,SegmentsDeployment:Ht}),Ze=e.Record({status:Jr,updated_at:e.Nat64,sha256:e.Opt(e.Vec(e.Nat8)),executed_at:e.Opt(e.Nat64),owner:e.Principal,created_at:e.Nat64,version:e.Opt(e.Nat64),proposal_type:pt}),Xe=e.Variant({Controllers:e.Null,Private:e.Null,Public:e.Null,Managed:e.Null}),ft=e.Record({max_tokens:e.Nat64,time_per_token_ns:e.Nat64}),ht=e.Record({max_capacity:e.Opt(e.Nat32),memory:e.Opt(t),updated_at:e.Nat64,max_size:e.Opt(e.Nat),read:Xe,created_at:e.Nat64,version:e.Opt(e.Nat64),mutable_permissions:e.Opt(e.Bool),rate_config:e.Opt(ft),write:Xe,max_changes_per_user:e.Opt(e.Nat32)}),zr=e.Record({url:e.Text,method:e.Text,body:e.Vec(e.Nat8),headers:e.Vec(e.Tuple(e.Text,e.Text)),certificate_version:e.Opt(e.Nat16)}),mt=e.Record({memory:t,token:e.Opt(e.Text),sha256:e.Opt(e.Vec(e.Nat8)),headers:e.Vec(e.Tuple(e.Text,e.Text)),index:e.Nat64,encoding_type:e.Text,full_path:e.Text}),Yr=e.Variant({Callback:e.Record({token:mt,callback:e.Func([],[],["query"])})}),Zr=e.Record({body:e.Vec(e.Nat8),headers:e.Vec(e.Tuple(e.Text,e.Text)),streaming_strategy:e.Opt(Yr),status_code:e.Nat16}),Xr=e.Record({token:e.Opt(mt),body:e.Vec(e.Nat8)}),_t=e.Record({token:e.Opt(e.Text),collection:e.Text,name:e.Text,description:e.Opt(e.Text),encoding_type:e.Opt(e.Text),full_path:e.Text}),Qe=e.Record({batch_id:e.Nat}),Qr=e.Record({matches_pages:e.Opt(e.Nat64),matches_length:e.Nat64,items_page:e.Opt(e.Nat64),items:e.Vec(e.Tuple(e.Text,q)),items_length:e.Nat64}),en=e.Record({updated_at:e.Nat64,created_at:e.Nat64,version:e.Opt(e.Nat64),bn_id:e.Opt(e.Text)}),tn=e.Record({matches_pages:e.Opt(e.Nat64),matches_length:e.Nat64,items_page:e.Opt(e.Nat64),items:e.Vec(e.Tuple(e.Text,s)),items_length:e.Nat64}),rn=e.Record({desc:e.Bool}),nn=e.Record({start_after:e.Opt(e.Nat),limit:e.Opt(e.Nat)}),on=e.Record({order:e.Opt(rn),paginate:e.Opt(nn)}),sn=e.Record({proposal_id:e.Nat}),an=e.Record({matches_length:e.Nat64,items:e.Vec(e.Tuple(sn,Ze)),items_length:e.Nat64}),cn=e.Record({include_system:e.Bool}),ln=e.Record({matcher:e.Opt(cn)}),un=e.Record({matches_length:e.Nat64,items:e.Vec(e.Tuple(e.Text,ht)),items_length:e.Nat64}),dn=e.Record({stable:e.Nat64,heap:e.Nat64}),$t=e.Record({openid:e.Opt(D),version:e.Opt(e.Nat64),internet_identity:e.Opt(U),rules:e.Opt(re)}),pn=e.Record({metadata:e.Vec(e.Tuple(e.Text,e.Text)),scope:v,expires_at:e.Opt(e.Nat64)}),fn=e.Record({controller:pn,controllers:e.Vec(e.Principal)}),hn=e.Record({version:e.Opt(e.Nat64),max_memory_size:e.Opt(J)}),Gt=e.Record({data:e.Vec(e.Nat8),description:e.Opt(e.Text),version:e.Opt(e.Nat64)}),$s=e.Record({max_capacity:e.Opt(e.Nat32),memory:e.Opt(t),max_size:e.Opt(e.Nat),read:Xe,version:e.Opt(e.Nat64),mutable_permissions:e.Opt(e.Bool),rate_config:e.Opt(ft),write:Xe,max_changes_per_user:e.Opt(e.Nat32)}),Gs=e.Record({iframe:e.Opt(he),rewrites:e.Vec(e.Tuple(e.Text,e.Text)),headers:e.Vec(e.Tuple(e.Text,e.Vec(e.Tuple(e.Text,e.Text)))),version:e.Opt(e.Nat64),max_memory_size:e.Opt(J),raw_access:e.Opt(Fe),redirects:e.Opt(e.Vec(e.Tuple(e.Text,ne)))}),_o=e.Record({content:e.Vec(e.Nat8),batch_id:e.Nat,order_id:e.Opt(e.Nat)}),yo=e.Record({chunk_id:e.Nat});return e.Service({authenticate:e.Func([i],[h],[]),commit_asset_upload:e.Func([_],[],[]),commit_proposal:e.Func([g],[e.Null],[]),commit_proposal_asset_upload:e.Func([_],[],[]),commit_proposal_many_assets_upload:e.Func([e.Vec(_)],[],[]),count_assets:e.Func([e.Text,O],[e.Nat64],["query"]),count_collection_assets:e.Func([e.Text],[e.Nat64],["query"]),count_collection_docs:e.Func([e.Text],[e.Nat64],["query"]),count_docs:e.Func([e.Text,O],[e.Nat64],["query"]),count_proposals:e.Func([],[e.Nat64],["query"]),del_asset:e.Func([e.Text,e.Text],[],[]),del_assets:e.Func([e.Text],[],[]),del_controllers:e.Func([R],[e.Vec(e.Tuple(e.Principal,w))],[]),del_custom_domain:e.Func([e.Text],[],[]),del_doc:e.Func([e.Text,e.Text,I],[],[]),del_docs:e.Func([e.Text],[],[]),del_filtered_assets:e.Func([e.Text,O],[],[]),del_filtered_docs:e.Func([e.Text,O],[],[]),del_many_assets:e.Func([e.Vec(e.Tuple(e.Text,e.Text))],[],[]),del_many_docs:e.Func([e.Vec(e.Tuple(e.Text,e.Text,I))],[],[]),del_rule:e.Func([F,e.Text,S],[],[]),delete_proposal_assets:e.Func([b],[],[]),deposit_cycles:e.Func([N],[],[]),get_asset:e.Func([e.Text,e.Text],[e.Opt(q)],["query"]),get_auth_config:e.Func([],[e.Opt(ee)],["query"]),get_config:e.Func([],[Kr],[]),get_db_config:e.Func([],[e.Opt(se)],["query"]),get_delegation:e.Func([Ye],[Gr],["query"]),get_doc:e.Func([e.Text,e.Text],[e.Opt(s)],["query"]),get_many_assets:e.Func([e.Vec(e.Tuple(e.Text,e.Text))],[e.Vec(e.Tuple(e.Text,e.Opt(q)))],["query"]),get_many_docs:e.Func([e.Vec(e.Tuple(e.Text,e.Text))],[e.Vec(e.Tuple(e.Text,e.Opt(s)))],["query"]),get_proposal:e.Func([e.Nat],[e.Opt(Ze)],["query"]),get_rule:e.Func([F,e.Text],[e.Opt(ht)],["query"]),get_storage_config:e.Func([],[de],["query"]),http_request:e.Func([zr],[Zr],["query"]),http_request_streaming_callback:e.Func([mt],[Xr],["query"]),init_asset_upload:e.Func([_t],[Qe],[]),init_proposal:e.Func([pt],[e.Nat,Ze],[]),init_proposal_asset_upload:e.Func([_t,e.Nat],[Qe],[]),init_proposal_many_assets_upload:e.Func([e.Vec(_t),e.Nat],[e.Vec(e.Tuple(e.Text,Qe))],[]),list_assets:e.Func([e.Text,O],[Qr],["query"]),list_controllers:e.Func([],[e.Vec(e.Tuple(e.Principal,w))],["query"]),list_custom_domains:e.Func([],[e.Vec(e.Tuple(e.Text,en))],["query"]),list_docs:e.Func([e.Text,O],[tn],["query"]),list_proposals:e.Func([on],[an],["query"]),list_rules:e.Func([F,ln],[un],["query"]),memory_size:e.Func([],[dn],["query"]),reject_proposal:e.Func([g],[e.Null],[]),set_asset_token:e.Func([e.Text,e.Text,e.Opt(e.Text)],[],[]),set_auth_config:e.Func([$t],[ee],[]),set_controllers:e.Func([fn],[e.Vec(e.Tuple(e.Principal,w))],[]),set_custom_domain:e.Func([e.Text,e.Opt(e.Text)],[],[]),set_db_config:e.Func([hn],[se],[]),set_doc:e.Func([e.Text,e.Text,Gt],[s],[]),set_many_docs:e.Func([e.Vec(e.Tuple(e.Text,e.Text,Gt))],[e.Vec(e.Tuple(e.Text,s))],[]),set_rule:e.Func([F,e.Text,$s],[ht],[]),set_storage_config:e.Func([Gs],[de],[]),submit_proposal:e.Func([e.Nat],[e.Nat,Ze],[]),switch_storage_system_memory:e.Func([],[],[]),upload_asset_chunk:e.Func([_o],[yo],[]),upload_proposal_asset_chunk:e.Func([_o],[yo],[])})},vc=({IDL:e})=>{let t=e.Variant({Heap:e.Null,Stable:e.Null}),r=e.Record({system_memory:e.Opt(t)}),n=e.Record({controllers:e.Vec(e.Principal),storage:e.Opt(r)}),o=e.Record({jwt:e.Text,session_key:e.Vec(e.Nat8),salt:e.Vec(e.Nat8)}),i=e.Variant({OpenId:o}),s=e.Record({updated_at:e.Nat64,owner:e.Principal,data:e.Vec(e.Nat8),description:e.Opt(e.Text),created_at:e.Nat64,version:e.Opt(e.Nat64)}),a=e.Record({user_key:e.Vec(e.Nat8),expiration:e.Nat64}),c=e.Record({doc:s,delegation:a}),u=e.Variant({BadClaim:e.Text,BadSig:e.Text,NoMatchingProvider:e.Null}),p=e.Variant({WrongKeyType:e.Null,MissingKid:e.Null,BadClaim:e.Text,BadSig:e.Text,NoKeyForKid:e.Null}),d=e.Variant({InvalidConfig:e.Text,MissingKid:e.Null,BadClaim:e.Text,KeyNotFoundCooldown:e.Null,CertificateNotFound:e.Null,BadSig:e.Text,MissingLastAttempt:e.Text,KeyNotFound:e.Null,FetchFailed:e.Text}),l=e.Variant({JwtFindProvider:u,GetCachedJwks:e.Null,JwtVerify:p,GetOrFetchJwks:d,DeriveSeedFailed:e.Text}),f=e.Variant({PrepareDelegation:l,RegisterUser:e.Text}),h=e.Variant({Ok:c,Err:f}),_=e.Record({batch_id:e.Nat,headers:e.Vec(e.Tuple(e.Text,e.Text)),chunk_ids:e.Vec(e.Nat)}),g=e.Record({sha256:e.Vec(e.Nat8),proposal_id:e.Nat}),m=e.Variant({UpdatedAt:e.Null,Keys:e.Null,CreatedAt:e.Null}),x=e.Record({field:m,desc:e.Bool}),y=e.Variant({Equal:e.Nat64,Between:e.Tuple(e.Nat64,e.Nat64),GreaterThan:e.Nat64,LessThan:e.Nat64}),T=e.Record({key:e.Opt(e.Text),updated_at:e.Opt(y),description:e.Opt(e.Text),created_at:e.Opt(y)}),E=e.Record({start_after:e.Opt(e.Text),limit:e.Opt(e.Nat64)}),O=e.Record({order:e.Opt(x),owner:e.Opt(e.Principal),matcher:e.Opt(T),paginate:e.Opt(E)}),R=e.Record({controllers:e.Vec(e.Principal)}),v=e.Variant({Write:e.Null,Admin:e.Null,Submit:e.Null}),w=e.Record({updated_at:e.Nat64,metadata:e.Vec(e.Tuple(e.Text,e.Text)),created_at:e.Nat64,scope:v,expires_at:e.Opt(e.Nat64)}),I=e.Record({version:e.Opt(e.Nat64)}),F=e.Variant({Db:e.Null,Storage:e.Null}),S=e.Record({version:e.Opt(e.Nat64)}),b=e.Record({proposal_ids:e.Vec(e.Nat)}),N=e.Record({cycles:e.Nat,destination_id:e.Principal}),C=e.Record({token:e.Opt(e.Text),collection:e.Text,owner:e.Principal,name:e.Text,description:e.Opt(e.Text),full_path:e.Text}),B=e.Record({modified:e.Nat64,sha256:e.Vec(e.Nat8),total_length:e.Nat}),q=e.Record({key:C,updated_at:e.Nat64,encodings:e.Vec(e.Tuple(e.Text,B)),headers:e.Vec(e.Tuple(e.Text,e.Text)),created_at:e.Nat64,version:e.Opt(e.Nat64)}),A=e.Variant({Google:e.Null}),V=e.Record({targets:e.Opt(e.Vec(e.Principal)),max_time_to_live:e.Opt(e.Nat64)}),P=e.Record({delegation:e.Opt(V),client_id:e.Text}),D=e.Record({observatory_id:e.Opt(e.Principal),providers:e.Vec(e.Tuple(A,P))}),U=e.Record({derivation_origin:e.Opt(e.Text),external_alternative_origins:e.Opt(e.Vec(e.Text))}),re=e.Record({allowed_callers:e.Vec(e.Principal)}),ee=e.Record({updated_at:e.Opt(e.Nat64),openid:e.Opt(D),created_at:e.Opt(e.Nat64),version:e.Opt(e.Nat64),internet_identity:e.Opt(U),rules:e.Opt(re)}),J=e.Record({stable:e.Opt(e.Nat64),heap:e.Opt(e.Nat64)}),se=e.Record({updated_at:e.Opt(e.Nat64),created_at:e.Opt(e.Nat64),version:e.Opt(e.Nat64),max_memory_size:e.Opt(J)}),he=e.Variant({Deny:e.Null,AllowAny:e.Null,SameOrigin:e.Null}),Fe=e.Variant({Deny:e.Null,Allow:e.Null}),ne=e.Record({status_code:e.Nat16,location:e.Text}),de=e.Record({iframe:e.Opt(he),updated_at:e.Opt(e.Nat64),rewrites:e.Vec(e.Tuple(e.Text,e.Text)),headers:e.Vec(e.Tuple(e.Text,e.Vec(e.Tuple(e.Text,e.Text)))),created_at:e.Opt(e.Nat64),version:e.Opt(e.Nat64),max_memory_size:e.Opt(J),raw_access:e.Opt(Fe),redirects:e.Opt(e.Vec(e.Tuple(e.Text,ne)))}),Kr=e.Record({db:e.Opt(se),authentication:e.Opt(ee),storage:de}),Kt=e.Record({jwt:e.Text,session_key:e.Vec(e.Nat8),salt:e.Vec(e.Nat8),expiration:e.Nat64}),Ye=e.Variant({OpenId:Kt}),Hr=e.Record({pubkey:e.Vec(e.Nat8),targets:e.Opt(e.Vec(e.Principal)),expiration:e.Nat64}),$r=e.Record({signature:e.Vec(e.Nat8),delegation:Hr}),dt=e.Variant({JwtFindProvider:u,GetCachedJwks:e.Null,NoSuchDelegation:e.Null,JwtVerify:p,GetOrFetchJwks:d,DeriveSeedFailed:e.Text}),Gr=e.Variant({Ok:$r,Err:dt}),Jr=e.Variant({Initialized:e.Null,Failed:e.Null,Open:e.Null,Rejected:e.Null,Executed:e.Null,Accepted:e.Null}),Wr=e.Record({clear_existing_assets:e.Opt(e.Bool)}),Ht=e.Record({orbiter:e.Opt(e.Text),mission_control_version:e.Opt(e.Text),satellite_version:e.Opt(e.Text)}),pt=e.Variant({AssetsUpgrade:Wr,SegmentsDeployment:Ht}),Ze=e.Record({status:Jr,updated_at:e.Nat64,sha256:e.Opt(e.Vec(e.Nat8)),executed_at:e.Opt(e.Nat64),owner:e.Principal,created_at:e.Nat64,version:e.Opt(e.Nat64),proposal_type:pt}),Xe=e.Variant({Controllers:e.Null,Private:e.Null,Public:e.Null,Managed:e.Null}),ft=e.Record({max_tokens:e.Nat64,time_per_token_ns:e.Nat64}),ht=e.Record({max_capacity:e.Opt(e.Nat32),memory:e.Opt(t),updated_at:e.Nat64,max_size:e.Opt(e.Nat),read:Xe,created_at:e.Nat64,version:e.Opt(e.Nat64),mutable_permissions:e.Opt(e.Bool),rate_config:e.Opt(ft),write:Xe,max_changes_per_user:e.Opt(e.Nat32)}),zr=e.Record({url:e.Text,method:e.Text,body:e.Vec(e.Nat8),headers:e.Vec(e.Tuple(e.Text,e.Text)),certificate_version:e.Opt(e.Nat16)}),mt=e.Record({memory:t,token:e.Opt(e.Text),sha256:e.Opt(e.Vec(e.Nat8)),headers:e.Vec(e.Tuple(e.Text,e.Text)),index:e.Nat64,encoding_type:e.Text,full_path:e.Text}),Yr=e.Variant({Callback:e.Record({token:mt,callback:e.Func([],[],[])})}),Zr=e.Record({body:e.Vec(e.Nat8),headers:e.Vec(e.Tuple(e.Text,e.Text)),streaming_strategy:e.Opt(Yr),status_code:e.Nat16}),Xr=e.Record({token:e.Opt(mt),body:e.Vec(e.Nat8)}),_t=e.Record({token:e.Opt(e.Text),collection:e.Text,name:e.Text,description:e.Opt(e.Text),encoding_type:e.Opt(e.Text),full_path:e.Text}),Qe=e.Record({batch_id:e.Nat}),Qr=e.Record({matches_pages:e.Opt(e.Nat64),matches_length:e.Nat64,items_page:e.Opt(e.Nat64),items:e.Vec(e.Tuple(e.Text,q)),items_length:e.Nat64}),en=e.Record({updated_at:e.Nat64,created_at:e.Nat64,version:e.Opt(e.Nat64),bn_id:e.Opt(e.Text)}),tn=e.Record({matches_pages:e.Opt(e.Nat64),matches_length:e.Nat64,items_page:e.Opt(e.Nat64),items:e.Vec(e.Tuple(e.Text,s)),items_length:e.Nat64}),rn=e.Record({desc:e.Bool}),nn=e.Record({start_after:e.Opt(e.Nat),limit:e.Opt(e.Nat)}),on=e.Record({order:e.Opt(rn),paginate:e.Opt(nn)}),sn=e.Record({proposal_id:e.Nat}),an=e.Record({matches_length:e.Nat64,items:e.Vec(e.Tuple(sn,Ze)),items_length:e.Nat64}),cn=e.Record({include_system:e.Bool}),ln=e.Record({matcher:e.Opt(cn)}),un=e.Record({matches_length:e.Nat64,items:e.Vec(e.Tuple(e.Text,ht)),items_length:e.Nat64}),dn=e.Record({stable:e.Nat64,heap:e.Nat64}),$t=e.Record({openid:e.Opt(D),version:e.Opt(e.Nat64),internet_identity:e.Opt(U),rules:e.Opt(re)}),pn=e.Record({metadata:e.Vec(e.Tuple(e.Text,e.Text)),scope:v,expires_at:e.Opt(e.Nat64)}),fn=e.Record({controller:pn,controllers:e.Vec(e.Principal)}),hn=e.Record({version:e.Opt(e.Nat64),max_memory_size:e.Opt(J)}),Gt=e.Record({data:e.Vec(e.Nat8),description:e.Opt(e.Text),version:e.Opt(e.Nat64)}),$s=e.Record({max_capacity:e.Opt(e.Nat32),memory:e.Opt(t),max_size:e.Opt(e.Nat),read:Xe,version:e.Opt(e.Nat64),mutable_permissions:e.Opt(e.Bool),rate_config:e.Opt(ft),write:Xe,max_changes_per_user:e.Opt(e.Nat32)}),Gs=e.Record({iframe:e.Opt(he),rewrites:e.Vec(e.Tuple(e.Text,e.Text)),headers:e.Vec(e.Tuple(e.Text,e.Vec(e.Tuple(e.Text,e.Text)))),version:e.Opt(e.Nat64),max_memory_size:e.Opt(J),raw_access:e.Opt(Fe),redirects:e.Opt(e.Vec(e.Tuple(e.Text,ne)))}),_o=e.Record({content:e.Vec(e.Nat8),batch_id:e.Nat,order_id:e.Opt(e.Nat)}),yo=e.Record({chunk_id:e.Nat});return e.Service({authenticate:e.Func([i],[h],[]),commit_asset_upload:e.Func([_],[],[]),commit_proposal:e.Func([g],[e.Null],[]),commit_proposal_asset_upload:e.Func([_],[],[]),commit_proposal_many_assets_upload:e.Func([e.Vec(_)],[],[]),count_assets:e.Func([e.Text,O],[e.Nat64],[]),count_collection_assets:e.Func([e.Text],[e.Nat64],[]),count_collection_docs:e.Func([e.Text],[e.Nat64],[]),count_docs:e.Func([e.Text,O],[e.Nat64],[]),count_proposals:e.Func([],[e.Nat64],[]),del_asset:e.Func([e.Text,e.Text],[],[]),del_assets:e.Func([e.Text],[],[]),del_controllers:e.Func([R],[e.Vec(e.Tuple(e.Principal,w))],[]),del_custom_domain:e.Func([e.Text],[],[]),del_doc:e.Func([e.Text,e.Text,I],[],[]),del_docs:e.Func([e.Text],[],[]),del_filtered_assets:e.Func([e.Text,O],[],[]),del_filtered_docs:e.Func([e.Text,O],[],[]),del_many_assets:e.Func([e.Vec(e.Tuple(e.Text,e.Text))],[],[]),del_many_docs:e.Func([e.Vec(e.Tuple(e.Text,e.Text,I))],[],[]),del_rule:e.Func([F,e.Text,S],[],[]),delete_proposal_assets:e.Func([b],[],[]),deposit_cycles:e.Func([N],[],[]),get_asset:e.Func([e.Text,e.Text],[e.Opt(q)],[]),get_auth_config:e.Func([],[e.Opt(ee)],[]),get_config:e.Func([],[Kr],[]),get_db_config:e.Func([],[e.Opt(se)],[]),get_delegation:e.Func([Ye],[Gr],[]),get_doc:e.Func([e.Text,e.Text],[e.Opt(s)],[]),get_many_assets:e.Func([e.Vec(e.Tuple(e.Text,e.Text))],[e.Vec(e.Tuple(e.Text,e.Opt(q)))],[]),get_many_docs:e.Func([e.Vec(e.Tuple(e.Text,e.Text))],[e.Vec(e.Tuple(e.Text,e.Opt(s)))],[]),get_proposal:e.Func([e.Nat],[e.Opt(Ze)],[]),get_rule:e.Func([F,e.Text],[e.Opt(ht)],[]),get_storage_config:e.Func([],[de],[]),http_request:e.Func([zr],[Zr],[]),http_request_streaming_callback:e.Func([mt],[Xr],[]),init_asset_upload:e.Func([_t],[Qe],[]),init_proposal:e.Func([pt],[e.Nat,Ze],[]),init_proposal_asset_upload:e.Func([_t,e.Nat],[Qe],[]),init_proposal_many_assets_upload:e.Func([e.Vec(_t),e.Nat],[e.Vec(e.Tuple(e.Text,Qe))],[]),list_assets:e.Func([e.Text,O],[Qr],[]),list_controllers:e.Func([],[e.Vec(e.Tuple(e.Principal,w))],[]),list_custom_domains:e.Func([],[e.Vec(e.Tuple(e.Text,en))],[]),list_docs:e.Func([e.Text,O],[tn],[]),list_proposals:e.Func([on],[an],[]),list_rules:e.Func([F,ln],[un],[]),memory_size:e.Func([],[dn],[]),reject_proposal:e.Func([g],[e.Null],[]),set_asset_token:e.Func([e.Text,e.Text,e.Opt(e.Text)],[],[]),set_auth_config:e.Func([$t],[ee],[]),set_controllers:e.Func([fn],[e.Vec(e.Tuple(e.Principal,w))],[]),set_custom_domain:e.Func([e.Text,e.Opt(e.Text)],[],[]),set_db_config:e.Func([hn],[se],[]),set_doc:e.Func([e.Text,e.Text,Gt],[s],[]),set_many_docs:e.Func([e.Vec(e.Tuple(e.Text,e.Text,Gt))],[e.Vec(e.Tuple(e.Text,s))],[]),set_rule:e.Func([F,e.Text,$s],[ht],[]),set_storage_config:e.Func([Gs],[de],[]),submit_proposal:e.Func([e.Nat],[e.Nat,Ze],[]),switch_storage_system_memory:e.Func([],[],[]),upload_asset_chunk:e.Func([_o],[yo],[]),upload_proposal_asset_chunk:e.Func([_o],[yo],[])})},q_=({IDL:e})=>{let t=e.Record({e8s:e.Nat64}),r=e.Record({mission_control_id:e.Principal,user:e.Principal}),n=e.Record({jwt:e.Text,session_key:e.Vec(e.Nat8),salt:e.Vec(e.Nat8)}),o=e.Variant({OpenId:n}),i=e.Record({user_key:e.Vec(e.Nat8),expiration:e.Nat64}),s=e.Variant({Google:e.Null}),a=e.Record({name:e.Opt(e.Text),locale:e.Opt(e.Text),family_name:e.Opt(e.Text),email:e.Opt(e.Text),picture:e.Opt(e.Text),given_name:e.Opt(e.Text)}),c=e.Record({provider:s,data:a}),u=e.Variant({InternetIdentity:e.Null,OpenId:c}),p=e.Record({updated_at:e.Nat64,credits:t,mission_control_id:e.Opt(e.Principal),provider:e.Opt(u),owner:e.Principal,created_at:e.Nat64}),d=e.Record({delegation:i,account:p}),l=e.Variant({BadClaim:e.Text,BadSig:e.Text,NoMatchingProvider:e.Null}),f=e.Variant({WrongKeyType:e.Null,MissingKid:e.Null,BadClaim:e.Text,BadSig:e.Text,NoKeyForKid:e.Null}),h=e.Variant({InvalidConfig:e.Text,MissingKid:e.Null,BadClaim:e.Text,KeyNotFoundCooldown:e.Null,CertificateNotFound:e.Null,BadSig:e.Text,MissingLastAttempt:e.Text,KeyNotFound:e.Null,FetchFailed:e.Text}),_=e.Variant({JwtFindProvider:l,GetCachedJwks:e.Null,JwtVerify:f,GetOrFetchJwks:h,DeriveSeedFailed:e.Text}),g=e.Variant({PrepareDelegation:_,RegisterUser:e.Text}),m=e.Variant({Ok:d,Err:g}),x=e.Record({sha256:e.Vec(e.Nat8),proposal_id:e.Nat}),y=e.Record({batch_id:e.Nat,headers:e.Vec(e.Tuple(e.Text,e.Text)),chunk_ids:e.Vec(e.Nat)}),T=e.Record({block_index:e.Opt(e.Nat64),subnet_id:e.Opt(e.Principal),user:e.Principal}),E=e.Variant({Heap:e.Null,Stable:e.Null}),O=e.Record({system_memory:e.Opt(E)}),R=e.Record({block_index:e.Opt(e.Nat64),subnet_id:e.Opt(e.Principal),storage:e.Opt(O),user:e.Principal}),v=e.Record({controllers:e.Vec(e.Principal)}),w=e.Record({proposal_ids:e.Vec(e.Nat)}),I=e.Record({targets:e.Opt(e.Vec(e.Principal)),max_time_to_live:e.Opt(e.Nat64)}),F=e.Record({delegation:e.Opt(I),client_id:e.Text}),S=e.Record({observatory_id:e.Opt(e.Principal),providers:e.Vec(e.Tuple(s,F))}),b=e.Record({derivation_origin:e.Opt(e.Text),external_alternative_origins:e.Opt(e.Vec(e.Text))}),N=e.Record({allowed_callers:e.Vec(e.Principal)}),C=e.Record({updated_at:e.Opt(e.Nat64),openid:e.Opt(S),created_at:e.Opt(e.Nat64),version:e.Opt(e.Nat64),internet_identity:e.Opt(b),rules:e.Opt(N)}),B=e.Variant({Deny:e.Null,AllowAny:e.Null,SameOrigin:e.Null}),q=e.Record({stable:e.Opt(e.Nat64),heap:e.Opt(e.Nat64)}),A=e.Variant({Deny:e.Null,Allow:e.Null}),V=e.Record({status_code:e.Nat16,location:e.Text}),P=e.Record({iframe:e.Opt(B),updated_at:e.Opt(e.Nat64),rewrites:e.Vec(e.Tuple(e.Text,e.Text)),headers:e.Vec(e.Tuple(e.Text,e.Vec(e.Tuple(e.Text,e.Text)))),created_at:e.Opt(e.Nat64),version:e.Opt(e.Nat64),max_memory_size:e.Opt(q),raw_access:e.Opt(A),redirects:e.Opt(e.Vec(e.Tuple(e.Text,V)))}),D=e.Record({authentication:e.Opt(C),storage:P}),U=e.Record({user:e.Principal}),re=e.Record({jwt:e.Text,session_key:e.Vec(e.Nat8),salt:e.Vec(e.Nat8),expiration:e.Nat64}),ee=e.Variant({OpenId:re}),J=e.Record({pubkey:e.Vec(e.Nat8),targets:e.Opt(e.Vec(e.Principal)),expiration:e.Nat64}),se=e.Record({signature:e.Vec(e.Nat8),delegation:J}),he=e.Variant({JwtFindProvider:l,GetCachedJwks:e.Null,NoSuchDelegation:e.Null,JwtVerify:f,GetOrFetchJwks:h,DeriveSeedFailed:e.Text}),Fe=e.Variant({Ok:se,Err:he}),ne=e.Variant({Initialized:e.Null,Failed:e.Null,Open:e.Null,Rejected:e.Null,Executed:e.Null,Accepted:e.Null}),de=e.Record({clear_existing_assets:e.Opt(e.Bool)}),Kr=e.Record({orbiter:e.Opt(e.Text),mission_control_version:e.Opt(e.Text),satellite_version:e.Opt(e.Text)}),Kt=e.Variant({AssetsUpgrade:de,SegmentsDeployment:Kr}),Ye=e.Record({status:ne,updated_at:e.Nat64,sha256:e.Opt(e.Vec(e.Nat8)),executed_at:e.Opt(e.Nat64),owner:e.Principal,created_at:e.Nat64,version:e.Opt(e.Nat64),proposal_type:Kt}),Hr=e.Record({url:e.Text,method:e.Text,body:e.Vec(e.Nat8),headers:e.Vec(e.Tuple(e.Text,e.Text)),certificate_version:e.Opt(e.Nat16)}),$r=e.Variant({Heap:e.Null,Stable:e.Null}),dt=e.Record({memory:$r,token:e.Opt(e.Text),sha256:e.Opt(e.Vec(e.Nat8)),headers:e.Vec(e.Tuple(e.Text,e.Text)),index:e.Nat64,encoding_type:e.Text,full_path:e.Text}),Gr=e.Variant({Callback:e.Record({token:dt,callback:e.Func([],[],["query"])})}),Jr=e.Record({body:e.Vec(e.Nat8),headers:e.Vec(e.Tuple(e.Text,e.Text)),streaming_strategy:e.Opt(Gr),status_code:e.Nat16}),Wr=e.Record({token:e.Opt(dt),body:e.Vec(e.Nat8)}),Ht=e.Record({token:e.Opt(e.Text),collection:e.Text,name:e.Text,description:e.Opt(e.Text),encoding_type:e.Opt(e.Text),full_path:e.Text}),pt=e.Record({batch_id:e.Nat}),Ze=e.Variant({UpdatedAt:e.Null,Keys:e.Null,CreatedAt:e.Null}),Xe=e.Record({field:Ze,desc:e.Bool}),ft=e.Variant({Equal:e.Nat64,Between:e.Tuple(e.Nat64,e.Nat64),GreaterThan:e.Nat64,LessThan:e.Nat64}),ht=e.Record({key:e.Opt(e.Text),updated_at:e.Opt(ft),description:e.Opt(e.Text),created_at:e.Opt(ft)}),zr=e.Record({start_after:e.Opt(e.Text),limit:e.Opt(e.Nat64)}),mt=e.Record({order:e.Opt(Xe),owner:e.Opt(e.Principal),matcher:e.Opt(ht),paginate:e.Opt(zr)}),Yr=e.Record({token:e.Opt(e.Text),collection:e.Text,owner:e.Principal,name:e.Text,description:e.Opt(e.Text),full_path:e.Text}),Zr=e.Record({modified:e.Nat64,sha256:e.Vec(e.Nat8),total_length:e.Nat}),Xr=e.Record({key:Yr,updated_at:e.Nat64,encodings:e.Vec(e.Tuple(e.Text,Zr)),headers:e.Vec(e.Tuple(e.Text,e.Text)),created_at:e.Nat64,version:e.Opt(e.Nat64)}),_t=e.Record({matches_pages:e.Opt(e.Nat64),matches_length:e.Nat64,items_page:e.Opt(e.Nat64),items:e.Vec(e.Tuple(e.Text,Xr)),items_length:e.Nat64}),Qe=e.Variant({Write:e.Null,Admin:e.Null,Submit:e.Null}),Qr=e.Record({updated_at:e.Nat64,metadata:e.Vec(e.Tuple(e.Text,e.Text)),created_at:e.Nat64,scope:Qe,expires_at:e.Opt(e.Nat64)}),en=e.Record({updated_at:e.Nat64,created_at:e.Nat64,version:e.Opt(e.Nat64),bn_id:e.Opt(e.Text)}),tn=e.Variant({Refunded:e.Null,Acknowledged:e.Null,Completed:e.Null}),rn=e.Record({status:tn,updated_at:e.Nat64,block_index_payment:e.Nat64,mission_control_id:e.Opt(e.Principal),created_at:e.Nat64,block_index_refunded:e.Opt(e.Nat64)}),nn=e.Record({desc:e.Bool}),on=e.Record({start_after:e.Opt(e.Nat),limit:e.Opt(e.Nat)}),sn=e.Record({order:e.Opt(nn),paginate:e.Opt(on)}),an=e.Record({proposal_id:e.Nat}),cn=e.Record({matches_length:e.Nat64,items:e.Vec(e.Tuple(an,Ye)),items_length:e.Nat64}),ln=e.Record({openid:e.Opt(S),version:e.Opt(e.Nat64),internet_identity:e.Opt(b),rules:e.Opt(N)}),un=e.Record({metadata:e.Vec(e.Tuple(e.Text,e.Text)),scope:Qe,expires_at:e.Opt(e.Nat64)}),dn=e.Record({controller:un,controllers:e.Vec(e.Principal)}),$t=e.Variant({Orbiter:e.Null,MissionControl:e.Null,Satellite:e.Null}),pn=e.Record({iframe:e.Opt(B),rewrites:e.Vec(e.Tuple(e.Text,e.Text)),headers:e.Vec(e.Tuple(e.Text,e.Vec(e.Tuple(e.Text,e.Text)))),version:e.Opt(e.Nat64),max_memory_size:e.Opt(q),raw_access:e.Opt(A),redirects:e.Opt(e.Vec(e.Tuple(e.Text,V)))}),fn=e.Record({max_tokens:e.Nat64,time_per_token_ns:e.Nat64}),hn=e.Record({content:e.Vec(e.Nat8),batch_id:e.Nat,order_id:e.Opt(e.Nat)}),Gt=e.Record({chunk_id:e.Nat});return e.Service({add_credits:e.Func([e.Principal,t],[],[]),add_invitation_code:e.Func([e.Text],[],[]),assert_mission_control_center:e.Func([r],[],["query"]),authenticate:e.Func([o],[m],[]),commit_proposal:e.Func([x],[e.Null],[]),commit_proposal_asset_upload:e.Func([y],[],[]),commit_proposal_many_assets_upload:e.Func([e.Vec(y)],[],[]),count_proposals:e.Func([],[e.Nat64],["query"]),create_orbiter:e.Func([T],[e.Principal],[]),create_satellite:e.Func([R],[e.Principal],[]),del_controllers:e.Func([v],[],[]),del_custom_domain:e.Func([e.Text],[],[]),delete_proposal_assets:e.Func([w],[],[]),get_account:e.Func([],[e.Opt(p)],["query"]),get_auth_config:e.Func([],[e.Opt(C)],["query"]),get_config:e.Func([],[D],["query"]),get_create_orbiter_fee:e.Func([U],[e.Opt(t)],["query"]),get_create_satellite_fee:e.Func([U],[e.Opt(t)],["query"]),get_credits:e.Func([],[t],["query"]),get_delegation:e.Func([ee],[Fe],["query"]),get_proposal:e.Func([e.Nat],[e.Opt(Ye)],["query"]),get_storage_config:e.Func([],[P],["query"]),http_request:e.Func([Hr],[Jr],["query"]),http_request_streaming_callback:e.Func([dt],[Wr],["query"]),init_proposal:e.Func([Kt],[e.Nat,Ye],[]),init_proposal_asset_upload:e.Func([Ht,e.Nat],[pt],[]),init_proposal_many_assets_upload:e.Func([e.Vec(Ht),e.Nat],[e.Vec(e.Tuple(e.Text,pt))],[]),init_user_mission_control_center:e.Func([],[p],[]),list_accounts:e.Func([],[e.Vec(e.Tuple(e.Principal,p))],["query"]),list_assets:e.Func([e.Text,mt],[_t],["query"]),list_controllers:e.Func([],[e.Vec(e.Tuple(e.Principal,Qr))],["query"]),list_custom_domains:e.Func([],[e.Vec(e.Tuple(e.Text,en))],["query"]),list_payments:e.Func([],[e.Vec(e.Tuple(e.Nat64,rn))],["query"]),list_proposals:e.Func([sn],[cn],["query"]),reject_proposal:e.Func([x],[e.Null],[]),set_auth_config:e.Func([ln],[C],[]),set_controllers:e.Func([dn],[],[]),set_custom_domain:e.Func([e.Text,e.Opt(e.Text)],[],[]),set_fee:e.Func([$t,t],[],[]),set_storage_config:e.Func([pn],[P],[]),submit_proposal:e.Func([e.Nat],[e.Nat,Ye],[]),update_rate_config:e.Func([$t,fn],[],[]),upload_proposal_asset_chunk:e.Func([hn],[Gt],[])})},M_=({IDL:e})=>{let t=e.Record({e8s:e.Nat64}),r=e.Record({mission_control_id:e.Principal,user:e.Principal}),n=e.Record({jwt:e.Text,session_key:e.Vec(e.Nat8),salt:e.Vec(e.Nat8)}),o=e.Variant({OpenId:n}),i=e.Record({user_key:e.Vec(e.Nat8),expiration:e.Nat64}),s=e.Variant({Google:e.Null}),a=e.Record({name:e.Opt(e.Text),locale:e.Opt(e.Text),family_name:e.Opt(e.Text),email:e.Opt(e.Text),picture:e.Opt(e.Text),given_name:e.Opt(e.Text)}),c=e.Record({provider:s,data:a}),u=e.Variant({InternetIdentity:e.Null,OpenId:c}),p=e.Record({updated_at:e.Nat64,credits:t,mission_control_id:e.Opt(e.Principal),provider:e.Opt(u),owner:e.Principal,created_at:e.Nat64}),d=e.Record({delegation:i,account:p}),l=e.Variant({BadClaim:e.Text,BadSig:e.Text,NoMatchingProvider:e.Null}),f=e.Variant({WrongKeyType:e.Null,MissingKid:e.Null,BadClaim:e.Text,BadSig:e.Text,NoKeyForKid:e.Null}),h=e.Variant({InvalidConfig:e.Text,MissingKid:e.Null,BadClaim:e.Text,KeyNotFoundCooldown:e.Null,CertificateNotFound:e.Null,BadSig:e.Text,MissingLastAttempt:e.Text,KeyNotFound:e.Null,FetchFailed:e.Text}),_=e.Variant({JwtFindProvider:l,GetCachedJwks:e.Null,JwtVerify:f,GetOrFetchJwks:h,DeriveSeedFailed:e.Text}),g=e.Variant({PrepareDelegation:_,RegisterUser:e.Text}),m=e.Variant({Ok:d,Err:g}),x=e.Record({sha256:e.Vec(e.Nat8),proposal_id:e.Nat}),y=e.Record({batch_id:e.Nat,headers:e.Vec(e.Tuple(e.Text,e.Text)),chunk_ids:e.Vec(e.Nat)}),T=e.Record({block_index:e.Opt(e.Nat64),subnet_id:e.Opt(e.Principal),user:e.Principal}),E=e.Variant({Heap:e.Null,Stable:e.Null}),O=e.Record({system_memory:e.Opt(E)}),R=e.Record({block_index:e.Opt(e.Nat64),subnet_id:e.Opt(e.Principal),storage:e.Opt(O),user:e.Principal}),v=e.Record({controllers:e.Vec(e.Principal)}),w=e.Record({proposal_ids:e.Vec(e.Nat)}),I=e.Record({targets:e.Opt(e.Vec(e.Principal)),max_time_to_live:e.Opt(e.Nat64)}),F=e.Record({delegation:e.Opt(I),client_id:e.Text}),S=e.Record({observatory_id:e.Opt(e.Principal),providers:e.Vec(e.Tuple(s,F))}),b=e.Record({derivation_origin:e.Opt(e.Text),external_alternative_origins:e.Opt(e.Vec(e.Text))}),N=e.Record({allowed_callers:e.Vec(e.Principal)}),C=e.Record({updated_at:e.Opt(e.Nat64),openid:e.Opt(S),created_at:e.Opt(e.Nat64),version:e.Opt(e.Nat64),internet_identity:e.Opt(b),rules:e.Opt(N)}),B=e.Variant({Deny:e.Null,AllowAny:e.Null,SameOrigin:e.Null}),q=e.Record({stable:e.Opt(e.Nat64),heap:e.Opt(e.Nat64)}),A=e.Variant({Deny:e.Null,Allow:e.Null}),V=e.Record({status_code:e.Nat16,location:e.Text}),P=e.Record({iframe:e.Opt(B),updated_at:e.Opt(e.Nat64),rewrites:e.Vec(e.Tuple(e.Text,e.Text)),headers:e.Vec(e.Tuple(e.Text,e.Vec(e.Tuple(e.Text,e.Text)))),created_at:e.Opt(e.Nat64),version:e.Opt(e.Nat64),max_memory_size:e.Opt(q),raw_access:e.Opt(A),redirects:e.Opt(e.Vec(e.Tuple(e.Text,V)))}),D=e.Record({authentication:e.Opt(C),storage:P}),U=e.Record({user:e.Principal}),re=e.Record({jwt:e.Text,session_key:e.Vec(e.Nat8),salt:e.Vec(e.Nat8),expiration:e.Nat64}),ee=e.Variant({OpenId:re}),J=e.Record({pubkey:e.Vec(e.Nat8),targets:e.Opt(e.Vec(e.Principal)),expiration:e.Nat64}),se=e.Record({signature:e.Vec(e.Nat8),delegation:J}),he=e.Variant({JwtFindProvider:l,GetCachedJwks:e.Null,NoSuchDelegation:e.Null,JwtVerify:f,GetOrFetchJwks:h,DeriveSeedFailed:e.Text}),Fe=e.Variant({Ok:se,Err:he}),ne=e.Variant({Initialized:e.Null,Failed:e.Null,Open:e.Null,Rejected:e.Null,Executed:e.Null,Accepted:e.Null}),de=e.Record({clear_existing_assets:e.Opt(e.Bool)}),Kr=e.Record({orbiter:e.Opt(e.Text),mission_control_version:e.Opt(e.Text),satellite_version:e.Opt(e.Text)}),Kt=e.Variant({AssetsUpgrade:de,SegmentsDeployment:Kr}),Ye=e.Record({status:ne,updated_at:e.Nat64,sha256:e.Opt(e.Vec(e.Nat8)),executed_at:e.Opt(e.Nat64),owner:e.Principal,created_at:e.Nat64,version:e.Opt(e.Nat64),proposal_type:Kt}),Hr=e.Record({url:e.Text,method:e.Text,body:e.Vec(e.Nat8),headers:e.Vec(e.Tuple(e.Text,e.Text)),certificate_version:e.Opt(e.Nat16)}),$r=e.Variant({Heap:e.Null,Stable:e.Null}),dt=e.Record({memory:$r,token:e.Opt(e.Text),sha256:e.Opt(e.Vec(e.Nat8)),headers:e.Vec(e.Tuple(e.Text,e.Text)),index:e.Nat64,encoding_type:e.Text,full_path:e.Text}),Gr=e.Variant({Callback:e.Record({token:dt,callback:e.Func([],[],[])})}),Jr=e.Record({body:e.Vec(e.Nat8),headers:e.Vec(e.Tuple(e.Text,e.Text)),streaming_strategy:e.Opt(Gr),status_code:e.Nat16}),Wr=e.Record({token:e.Opt(dt),body:e.Vec(e.Nat8)}),Ht=e.Record({token:e.Opt(e.Text),collection:e.Text,name:e.Text,description:e.Opt(e.Text),encoding_type:e.Opt(e.Text),full_path:e.Text}),pt=e.Record({batch_id:e.Nat}),Ze=e.Variant({UpdatedAt:e.Null,Keys:e.Null,CreatedAt:e.Null}),Xe=e.Record({field:Ze,desc:e.Bool}),ft=e.Variant({Equal:e.Nat64,Between:e.Tuple(e.Nat64,e.Nat64),GreaterThan:e.Nat64,LessThan:e.Nat64}),ht=e.Record({key:e.Opt(e.Text),updated_at:e.Opt(ft),description:e.Opt(e.Text),created_at:e.Opt(ft)}),zr=e.Record({start_after:e.Opt(e.Text),limit:e.Opt(e.Nat64)}),mt=e.Record({order:e.Opt(Xe),owner:e.Opt(e.Principal),matcher:e.Opt(ht),paginate:e.Opt(zr)}),Yr=e.Record({token:e.Opt(e.Text),collection:e.Text,owner:e.Principal,name:e.Text,description:e.Opt(e.Text),full_path:e.Text}),Zr=e.Record({modified:e.Nat64,sha256:e.Vec(e.Nat8),total_length:e.Nat}),Xr=e.Record({key:Yr,updated_at:e.Nat64,encodings:e.Vec(e.Tuple(e.Text,Zr)),headers:e.Vec(e.Tuple(e.Text,e.Text)),created_at:e.Nat64,version:e.Opt(e.Nat64)}),_t=e.Record({matches_pages:e.Opt(e.Nat64),matches_length:e.Nat64,items_page:e.Opt(e.Nat64),items:e.Vec(e.Tuple(e.Text,Xr)),items_length:e.Nat64}),Qe=e.Variant({Write:e.Null,Admin:e.Null,Submit:e.Null}),Qr=e.Record({updated_at:e.Nat64,metadata:e.Vec(e.Tuple(e.Text,e.Text)),created_at:e.Nat64,scope:Qe,expires_at:e.Opt(e.Nat64)}),en=e.Record({updated_at:e.Nat64,created_at:e.Nat64,version:e.Opt(e.Nat64),bn_id:e.Opt(e.Text)}),tn=e.Variant({Refunded:e.Null,Acknowledged:e.Null,Completed:e.Null}),rn=e.Record({status:tn,updated_at:e.Nat64,block_index_payment:e.Nat64,mission_control_id:e.Opt(e.Principal),created_at:e.Nat64,block_index_refunded:e.Opt(e.Nat64)}),nn=e.Record({desc:e.Bool}),on=e.Record({start_after:e.Opt(e.Nat),limit:e.Opt(e.Nat)}),sn=e.Record({order:e.Opt(nn),paginate:e.Opt(on)}),an=e.Record({proposal_id:e.Nat}),cn=e.Record({matches_length:e.Nat64,items:e.Vec(e.Tuple(an,Ye)),items_length:e.Nat64}),ln=e.Record({openid:e.Opt(S),version:e.Opt(e.Nat64),internet_identity:e.Opt(b),rules:e.Opt(N)}),un=e.Record({metadata:e.Vec(e.Tuple(e.Text,e.Text)),scope:Qe,expires_at:e.Opt(e.Nat64)}),dn=e.Record({controller:un,controllers:e.Vec(e.Principal)}),$t=e.Variant({Orbiter:e.Null,MissionControl:e.Null,Satellite:e.Null}),pn=e.Record({iframe:e.Opt(B),rewrites:e.Vec(e.Tuple(e.Text,e.Text)),headers:e.Vec(e.Tuple(e.Text,e.Vec(e.Tuple(e.Text,e.Text)))),version:e.Opt(e.Nat64),max_memory_size:e.Opt(q),raw_access:e.Opt(A),redirects:e.Opt(e.Vec(e.Tuple(e.Text,V)))}),fn=e.Record({max_tokens:e.Nat64,time_per_token_ns:e.Nat64}),hn=e.Record({content:e.Vec(e.Nat8),batch_id:e.Nat,order_id:e.Opt(e.Nat)}),Gt=e.Record({chunk_id:e.Nat});return e.Service({add_credits:e.Func([e.Principal,t],[],[]),add_invitation_code:e.Func([e.Text],[],[]),assert_mission_control_center:e.Func([r],[],[]),authenticate:e.Func([o],[m],[]),commit_proposal:e.Func([x],[e.Null],[]),commit_proposal_asset_upload:e.Func([y],[],[]),commit_proposal_many_assets_upload:e.Func([e.Vec(y)],[],[]),count_proposals:e.Func([],[e.Nat64],[]),create_orbiter:e.Func([T],[e.Principal],[]),create_satellite:e.Func([R],[e.Principal],[]),del_controllers:e.Func([v],[],[]),del_custom_domain:e.Func([e.Text],[],[]),delete_proposal_assets:e.Func([w],[],[]),get_account:e.Func([],[e.Opt(p)],[]),get_auth_config:e.Func([],[e.Opt(C)],[]),get_config:e.Func([],[D],[]),get_create_orbiter_fee:e.Func([U],[e.Opt(t)],[]),get_create_satellite_fee:e.Func([U],[e.Opt(t)],[]),get_credits:e.Func([],[t],[]),get_delegation:e.Func([ee],[Fe],[]),get_proposal:e.Func([e.Nat],[e.Opt(Ye)],[]),get_storage_config:e.Func([],[P],[]),http_request:e.Func([Hr],[Jr],[]),http_request_streaming_callback:e.Func([dt],[Wr],[]),init_proposal:e.Func([Kt],[e.Nat,Ye],[]),init_proposal_asset_upload:e.Func([Ht,e.Nat],[pt],[]),init_proposal_many_assets_upload:e.Func([e.Vec(Ht),e.Nat],[e.Vec(e.Tuple(e.Text,pt))],[]),init_user_mission_control_center:e.Func([],[p],[]),list_accounts:e.Func([],[e.Vec(e.Tuple(e.Principal,p))],[]),list_assets:e.Func([e.Text,mt],[_t],[]),list_controllers:e.Func([],[e.Vec(e.Tuple(e.Principal,Qr))],[]),list_custom_domains:e.Func([],[e.Vec(e.Tuple(e.Text,en))],[]),list_payments:e.Func([],[e.Vec(e.Tuple(e.Nat64,rn))],[]),list_proposals:e.Func([sn],[cn],[]),reject_proposal:e.Func([x],[e.Null],[]),set_auth_config:e.Func([ln],[C],[]),set_controllers:e.Func([dn],[],[]),set_custom_domain:e.Func([e.Text,e.Opt(e.Text)],[],[]),set_fee:e.Func([$t,t],[],[]),set_storage_config:e.Func([pn],[P],[]),submit_proposal:e.Func([e.Nat],[e.Nat,Ye],[]),update_rate_config:e.Func([$t,fn],[],[]),upload_proposal_asset_chunk:e.Func([hn],[Gt],[])})};var j_=async({identity:e,host:t,localActor:r})=>await mr.create({identity:e,host:t,retryTimes:10,shouldFetchRootKey:r}),K_=async({agent:e,...t})=>e??await H_(t),H_=async({identity:e,container:t})=>{let r=z(t)&&t!==!1;return await j_({identity:e,host:r?t===!0?"http://127.0.0.1:5987":t:"https://icp-api.io",localActor:r})};var Kd=({satelliteId:e,certified:t=!1,...r})=>$d({canisterId:e,...r,idlFactory:t?vc:Ic});var Hd=({consoleId:e,certified:t=!1,...r})=>$d({canisterId:e,...r,idlFactory:t?M_:q_}),$d=({canisterId:e,idlFactory:t,...r})=>{if(L(e))throw new Error("No canister ID provided.");return $_({canisterId:e,idlFactory:t,...r})},$_=async({canisterId:e,idlFactory:t,config:r,...n})=>{let o=await K_(n);return ao.createActor(t,{agent:o,canisterId:e,...r??{}})};var Gd=({satelliteId:e,container:t})=>{let{satelliteId:r}=Ac({satelliteId:e}),{container:n}=Sc({container:t});if(z(n)&&n!==!1){let{host:o,protocol:i}=new URL(n===!0?uo:n);return`${i}//${r??"unknown"}.${o.replace("127.0.0.1","localhost")}`}return`https://${r??"unknown"}.icp0.io`},Ac=({satelliteId:e})=>z(e)?{satelliteId:e}:Se.getInstance().get()??{satelliteId:void 0},Sc=({container:e})=>z(e)?{container:e}:Se.getInstance().get()??{container:void 0};var we=({satellite:e,options:{certified:t}})=>Wd({idlFactory:t?vc:Ic,actorKey:`stock#${t?"update":"query"}`,...e}),Jd=({idlFactory:e,...t})=>Wd({idlFactory:e,actorKey:"extended#query",...t}),Wd=async({satelliteId:e,container:t,...r})=>{let{satelliteId:n}=Ac({satelliteId:e});oi(n,"No satellite ID defined. Did you initialize Juno?");let{container:o}=Sc({container:t});return await fo.getInstance().getActor({satelliteId:n,container:o,...r})};var Is=class extends Error{},xr=class extends Error{},vs=class extends Error{},As=class extends Error{},Ss=class extends Error{},Cs=class extends Error{},Fs=class extends Error{},Vs=class extends Error{},Ps=class extends Error{};var zd=e=>{if(L(e))return ie();switch(e.matcher){case"equal":return ie({Equal:e.timestamp});case"greaterThan":return ie({GreaterThan:e.timestamp});case"lessThan":return ie({LessThan:e.timestamp});case"between":return ie({Between:[e.timestamps.start,e.timestamps.end]});default:throw new Ps("Invalid list matcher for timestamp",e)}},jr=({matcher:e,paginate:t,order:r,owner:n})=>({matcher:L(e)?[]:[{key:ie(e.key),description:ie(e.description),created_at:zd(e.createdAt),updated_at:zd(e.updatedAt)}],paginate:ie(L(t)?void 0:{start_after:ie(t.startAfter),limit:ie(L(t.limit)?void 0:BigInt(t.limit))}),order:ie(L(r)?void 0:{desc:r.desc,field:r.field==="created_at"?{CreatedAt:null}:r.field==="updated_at"?{UpdatedAt:null}:{Keys:null}}),owner:ie(L(n)?void 0:typeof n=="string"?k.fromText(n):n)});var Yd=async e=>{let t=new Blob([JSON.stringify(e,fd)],{type:"application/json; charset=utf-8"});return new Uint8Array(await t.arrayBuffer())},Bs=async e=>{let t=new Blob([e instanceof Uint8Array?e:new Uint8Array(e)],{type:"application/json; charset=utf-8"});return JSON.parse(await t.text(),hd)},Ds=()=>typeof window<"u";var Zd=async({data:e})=>{try{return await Bs(e)}catch(t){console.error("The data parsing has failed, mapping to undefined as a fallback.",t);return}};var Cc=async e=>{let{data:t,version:r,description:n}=e;return{description:ie(n),data:await Yd(t),version:ie(r)}},Fc=e=>{let{version:t}=e;return{version:ie(t)}},Dn=async({doc:e,key:t})=>{let{owner:r,version:n,description:o,data:i,...s}=e;return{key:t,description:be(o),owner:r.toText(),data:await Bs(i),version:be(n),...s}};var Xd=async({collection:e,key:t,...r})=>{let{get_doc:n}=await we(r),o=be(await n(e,t));if(!L(o))return Dn({doc:o,key:t})},Qd=async({docs:e,...t})=>{let{get_many_docs:r}=await we(t),n=e.map(({collection:s,key:a})=>[s,a]),o=await r(n),i=[];for(let[s,a]of o){let c=be(a);i.push(z(c)?await Dn({key:s,doc:c}):void 0)}return i},ep=async({collection:e,doc:t,...r})=>{let{set_doc:n}=await we(r),{key:o}=t,i=await Cc(t),s=await n(e,o,i);return await Dn({key:o,doc:s})},tp=async({docs:e,...t})=>{let{set_many_docs:r}=await we(t),n=[];for(let{collection:s,doc:a}of e){let{key:c}=a;n.push([s,c,await Cc(a)])}let o=await r(n),i=[];for(let[s,a]of o)i.push(await Dn({key:s,doc:a}));return i},rp=async({collection:e,doc:t,...r})=>{let{del_doc:n}=await we(r),{key:o}=t;return n(e,o,Fc(t))},np=async({docs:e,...t})=>{let{del_many_docs:r}=await we(t),n=e.map(({collection:o,doc:i})=>[o,i.key,Fc(i)]);await r(n)},op=async({collection:e,filter:t,...r})=>{let{del_filtered_docs:n}=await we(r);return n(e,jr(t))},ip=async({collection:e,filter:t,...r})=>{let{list_docs:n}=await we(r),{items:o,items_page:i,items_length:s,matches_length:a,matches_pages:c}=await n(e,jr(t)),u=[];for(let[p,d]of o){let{data:l,owner:f,description:h,version:_,...g}=d;u.push({key:p,description:be(h),owner:f.toText(),data:await Zd({data:l}),version:be(_),...g})}return{items:u,items_length:s,items_page:be(i),matches_length:a,matches_pages:be(c)}},sp=async({collection:e,filter:t,...r})=>{let{count_docs:n}=await we(r);return n(e,jr(t))};var Us=async({satellite:e,options:t,...r})=>{let n=ue(e?.identity);return await Xd({...r,satellite:{...e,identity:n},options:t??Mt})},XT=async({satellite:e,options:t,...r})=>{let n=ue(e?.identity);return await Qd({...r,satellite:{...e,identity:n},options:t??Mt})},ap=async({satellite:e,...t})=>{let r=ue(e?.identity);return await ep({...t,satellite:{...e,identity:r},options:{certified:!0}})},cp=async({satellite:e,...t})=>{let r=ue(e?.identity);return await tp({...t,satellite:{...e,identity:r},options:{certified:!0}})},QT=async({satellite:e,...t})=>{let r=ue(e?.identity);return await rp({...t,satellite:{...e,identity:r},options:{certified:!0}})},eN=async({satellite:e,...t})=>{let r=ue(e?.identity);return await np({...t,satellite:{...e,identity:r},options:{certified:!0}})},tN=async({satellite:e,filter:t,...r})=>{let n=ue(e?.identity);return await op({...r,filter:t??{},satellite:{...e,identity:n},options:{certified:!0}})},rN=async({satellite:e,options:t,filter:r,...n})=>{let o=ue(e?.identity);return await ip({...n,filter:r??{},satellite:{...e,identity:o},options:t??Mt})},nN=async({satellite:e,options:t,filter:r,...n})=>{let o=ue(e?.identity);return await sp({...n,filter:r??{},satellite:{...e,identity:o},options:t??Mt})};var lp=async({provider:e})=>{let{user:t,userId:r}=await ks();if(z(t))return t;try{return await G_({userId:r,provider:e})}catch(n){if(Rc({error:n,type:jd})){let o=await up({userId:r});if(z(o))return o}throw n}},ks=async()=>{let e=Rs();if(L(e))throw new Vs("No identity to initialize the user. Have you initialized Juno?");let t=e.getPrincipal().toText(),r=await up({userId:t});return{userId:t,user:r}},up=({userId:e})=>Us({collection:"#user",key:e}),G_=({userId:e,...t})=>ap({collection:"#user",doc:{key:e,data:t}});var Ls=async({syncTabsOnSuccess:e}={syncTabsOnSuccess:!1})=>{await pi({fn:async()=>{let{user:r}=await ks();De.getInstance().set(r??null)},syncTabsOnSuccess:e})},dp=async()=>{await Md({fn:async({authenticated:t})=>{let n=t?ks:()=>Promise.resolve({user:null}),{user:o}=await n();De.getInstance().set(o??null)}})},qs=async({user:e})=>{await pi({fn:async()=>{De.getInstance().set(e)},syncTabsOnSuccess:!0})};var pp=()=>{try{let e=ho.getInstance(),t=async()=>{await dp(),si({message:"junoSignInReload"})};return e.onLoginSuccess(t),()=>{e?.destroy()}}catch(e){console.warn("Auth BroadcastChannel initialization failed",e);return}};var fp=()=>{let e=()=>typeof import.meta<"u"&&typeof import.meta.env<"u"?import.meta.env?.VITE_SATELLITE_ID??import.meta.env?.PUBLIC_SATELLITE_ID:void 0;return typeof process<"u"&&typeof process.env<"u"?process.env.NEXT_PUBLIC_SATELLITE_ID??e():e()},hp=()=>{let e=()=>typeof import.meta<"u"&&typeof import.meta.env<"u"?import.meta.env?.VITE_CONTAINER??import.meta.env?.PUBLIC_CONTAINER:void 0;return typeof process<"u"&&typeof process.env<"u"?process.env.NEXT_PUBLIC_CONTAINER??e():e()},mp=()=>{let e=()=>typeof import.meta<"u"&&typeof import.meta.env<"u"?import.meta.env?.VITE_GOOGLE_CLIENT_ID??import.meta.env?.PUBLIC_GOOGLE_CLIENT_ID:void 0;return typeof process<"u"&&typeof process.env<"u"?process.env.NEXT_PUBLIC_GOOGLE_CLIENT_ID??e():e()};var _p=BigInt(144e11),yp=!1,gp={width:576,height:576},xp={width:424,height:576};var fi="internetcomputer.org",bp="ic0.app",wp="id.ai";var Tp=({width:e,height:t})=>{if(!Ds()||L(window)||L(window.top))return;let{top:{innerWidth:r,innerHeight:n}}=window,o=n/2+screenY-t/2,i=r/2+screenX-e/2;return`toolbar=no, location=no, directories=no, status=no, menubar=no, scrollbars=yes, resizable=no, copyhistory=no, width=${e}, height=${t}, top=${o}, left=${i}`};var jt=async({fn:e,step:t,onProgress:r})=>{r?.({step:t,state:"in_progress"});try{let n=await e();return r?.({step:t,state:"success"}),n}catch(n){throw r?.({step:t,state:"error"}),n}};var Np=(r=>(r[r.AuthorizingWithProvider=0]="AuthorizingWithProvider",r[r.CreatingOrRetrievingUser=1]="CreatingOrRetrievingUser",r))(Np||{});var Ms=class{async signIn({options:t,authClient:r,initAuth:n}){await jt({fn:async()=>await this.#e({options:t,authClient:r}),step:0,onProgress:t?.onProgress}),await jt({fn:async()=>await n({provider:this.id}),step:1,onProgress:t?.onProgress})}#e({options:t,authClient:r}){return new Promise(async(n,o)=>{if(L(r)){o(new xr("No client is ready to perform a sign-in. Have you initialized the Satellite?"));return}await r.login({onSuccess:n,onError:i=>{if(i===Es){o(new vs(i));return}o(new Is(i))},maxTimeToLive:t?.maxTimeToLiveInNanoseconds??_p,allowPinAuthentication:t?.allowPin??yp,...t?.derivationOrigin!==void 0&&{derivationOrigin:t.derivationOrigin},...this.signInOptions({windowed:t?.windowed})})})}};var js=class extends Ms{#e;constructor({domain:t}){super(),this.#e=t}get id(){return"internet_identity"}signInOptions({windowed:t}){let n=(()=>{let i=Se.getInstance().get()?.container;if(L(i)||i===!1){let p=[fi,bp].includes(this.#e??fi);return co(this.#e)?`https://identity.${fi}`:p?`https://identity.${this.#e??fi}`:`https://${this.#e}`}let s=Se.getInstance().get(),a=z(s)&&z(s?.internetIdentityId)?s.internetIdentityId:Nd,{host:c,protocol:u}=new URL(i===!0?uo:i);return/apple/i.test(navigator?.vendor)?`${u}//${c}?canisterId=${a}`:`${u}//${a}.${c.replace("127.0.0.1","localhost")}`})();return{...t!==!1&&{windowOpenerFeatures:Tp((()=>{try{let{hostname:i}=new URL(n);return i.includes(wp)}catch{return!1}})()?xp:gp)},identityProvider:n}}};var Vc=class extends Error{},Pc=class extends Error{},Bc=class extends Error{},Dc=class extends Error{},Uc=class extends Error{},kc=class extends Error{},Lc=class extends Error{},qc=class extends Error{},Mc=class extends Error{},jc=class extends Error{};var Op=({auth:e,identity:t})=>"satellite"in e?Kd({...e.satellite,identity:t}):Hd({...e.console,identity:t}),J_=async({actorParams:e,args:t})=>{let{authenticate:r}=await Op(e);return await r(t)},W_=async({actorParams:e,args:t})=>{let{get_delegation:r}=await Op(e);return await r(t)},z_=({delegations:e,sessionKey:t})=>{let[r,n]=e,o=yr.fromDelegations(n,Uint8Array.from(r));return{identity:gr.fromDelegation(t,o),delegationChain:o,sessionKey:t}},Kc=async({jwt:e,context:t,auth:r})=>{let n=await kt.generate({extractable:!1}),o=new Uint8Array(n.getPublicKey().toDer()),{delegations:i,data:s}=await Y_({jwt:e,publicKey:o,context:t,auth:r});return{identity:z_({sessionKey:n,delegations:i}),data:s}},Y_=async({jwt:e,publicKey:t,context:{caller:r,salt:n},auth:o})=>{let i=await J_({args:{OpenId:{jwt:e,session_key:t,salt:n}},actorParams:{auth:o,identity:r}});if("Err"in i)throw new Uc("Authentication failed",{cause:i});let{delegation:{user_key:s,expiration:a},...c}=i.Ok,u=await Z_({jwt:e,context:{caller:r,salt:n},auth:o,publicKey:t,expiration:a}),{delegation:p,signature:d}=u,{pubkey:l,expiration:f,targets:h}=p;return{delegations:[s,[{delegation:new Mr(Uint8Array.from(l),f,be(h)),signature:Uint8Array.from(d)}]],data:c}},Z_=async({jwt:e,publicKey:t,context:{salt:r,caller:n},auth:o,expiration:i,maxRetries:s=5})=>{for(let a=0;a<s;a++){await new Promise(u=>{setInterval(u,1e3*a)});let c=await W_({args:{OpenId:{jwt:e,session_key:t,salt:r,expiration:i}},actorParams:{auth:o,identity:n}});if("Err"in c){let{Err:u}=c;if("NoSuchDelegation"in u||"GetCachedJwks"in u)continue;throw new Mc("Getting delegation failed",{cause:c})}return c.Ok}throw new jc};var Hc="juno:auth:openid",$c={authUrl:"https://accounts.google.com/o/oauth2/v2/auth",authScopes:["openid","profile","email"],configUrl:"https://accounts.google.com/gsi/fedcm.json"};var Ep=e=>Lr(e).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,""),X_=()=>window.crypto.getRandomValues(new Uint8Array(32)),Q_=async({salt:e,caller:t})=>{let r=t.getPrincipal().toUint8Array(),n=new Uint8Array(e.length+r.byteLength);n.set(e),n.set(r,e.length);let o=await window.crypto.subtle.digest("SHA-256",n);return Ep(_r(o))},ey=async({caller:e})=>{let t=X_();return{nonce:await Q_({salt:t,caller:e}),salt:t}},Rp="__caller__",Ip="__salt__",vp="__state__",ty=({caller:e,state:t,salt:r})=>{let n={[Rp]:e.toJSON(),[Ip]:Lr(r),[vp]:t};return JSON.stringify(n)},ry=e=>{let{[Rp]:t,[Ip]:r,[vp]:n}=JSON.parse(e);return{caller:vt.fromParsedJson(t),salt:pd(r),state:n}},ny=()=>Ep(window.crypto.getRandomValues(new Uint8Array(12))),Ap=async()=>{let e=vt.generate(),{nonce:t,salt:r}=await ey({caller:e}),n=ny(),o=ty({caller:e,salt:r,state:n});return sessionStorage.setItem(Hc,o),{nonce:t,state:n}},Sp=()=>{let e=sessionStorage.getItem(Hc);if(L(e))throw new Pc;return ry(e)};var Gc=async e=>{let t=Sp();if("credentials"in e){let{credentials:{jwt:r},auth:n}=e;return await Kc({jwt:r,context:t,auth:n})}return await oy({...e,context:t})},oy=async({auth:e,context:t})=>{let{location:{hash:r}}=window;if(co(r)||!r.startsWith("#"))throw new kc("No hash found in the current location URL");let n=new URLSearchParams(r.slice(1)),o=n.get("state"),i=n.get("id_token"),{state:s}=t;if(co(s)||o!==s)throw new Lc("The provided state is invalid",{cause:o});if(co(i))throw new qc;return await Kc({jwt:i,auth:e,context:t})};var Cp=({authUrl:e,clientId:t,nonce:r,loginHint:n,authScopes:o,state:i,redirectUrl:s})=>{let a=(()=>{try{return new URL(e)}catch{throw new Vc("Cannot parse authURL",{cause:e})}})();a.searchParams.set("client_id",t);let{location:{origin:c}}=window;a.searchParams.set("redirect_uri",s??c),a.searchParams.set("response_type","code id_token"),a.searchParams.set("scope",o.join(" ")),a.searchParams.set("state",i),a.searchParams.set("nonce",r),ni(n)?a.searchParams.set("login_hint",n):a.searchParams.set("prompt","select_account"),window.location.href=a.toString()},Fp=async({configUrl:e,clientId:t,nonce:r,loginHint:n,domainHint:o})=>{let i=await navigator.credentials.get({identity:{context:"use",providers:[{configURL:e,clientId:t,nonce:r,loginHint:n,domainHint:o}],mode:"active"},mediation:"required"});if(L(i))throw new Bc;let{type:s}=i;if(s!=="identity"||!("token"in i)||typeof i.token!="string")throw new Dc("Invalid credential received from FedCM API",{cause:i});let{token:a}=i;return{jwt:a}};async function Jc({google:e}){let t=await Ap();if("credentials"in e){let{credentials:i}=e,{configUrl:s}=$c;return await Fp({...i,...t,configUrl:s})}let{redirect:r}=e,{authUrl:n,authScopes:o}=$c;Cp({...r,...t,authUrl:n,authScopes:o})}var iy=async()=>{let{satelliteId:e}=Se.getInstance().get()??{satelliteId:void 0};if(L(e))throw new xr("Satellite ID not set. Have you initialized the Satellite?");let t=Se.getInstance().get()?.container,{identity:{delegationChain:r,sessionKey:n,identity:o},data:{doc:i}}=await Gc({redirect:null,auth:{satellite:{satelliteId:e,container:t}}});await Ue.getInstance().setAuthClientStorage({delegationChain:r,sessionKey:n});let s=await Dn({doc:i,key:o.getPrincipal().toText()});await qs({user:s})};var Vp=e=>(e.preventDefault(),e.returnValue="Are you sure you want to exit?"),sy=()=>{window.addEventListener("beforeunload",Vp,{capture:!0})},ay=()=>{window.removeEventListener("beforeunload",Vp,{capture:!0})},Ks=async({fn:e})=>{try{return sy(),await e()}finally{ay()}};var Hs=class{async signIn({options:t={}}){let r=t?.redirect?.clientId??mp();if(L(r))throw new Ss;let{redirect:n}=t;await Jc({google:{redirect:{...n??{},clientId:r}}})}};var Pp=async({delegationIdentity:e,passkeyIdentity:t,satelliteId:r})=>{let n=t.getCredential().getAAGUID(),[o,i]=await cp({docs:[{collection:"#user",doc:{key:e.getPrincipal().toText(),data:{provider:"webauthn",providerData:{webauthn:{...z(n)&&{aaguid:bs(n)}}}}}},{collection:"#user-webauthn",doc:{key:t.getCredential().getCredentialIdText(),data:{publicKey:t.getPublicKey().toRaw()}}}],satellite:{identity:e,satelliteId:r}});return o};var Bp=(i=>(i[i.RequestingUserCredential=0]="RequestingUserCredential",i[i.FinalizingCredential=1]="FinalizingCredential",i[i.Signing=2]="Signing",i[i.FinalizingSession=3]="FinalizingSession",i[i.RetrievingUser=4]="RetrievingUser",i))(Bp||{}),Dp=(s=>(s[s.CreatingUserCredential=0]="CreatingUserCredential",s[s.ValidatingUserCredential=1]="ValidatingUserCredential",s[s.FinalizingCredential=2]="FinalizingCredential",s[s.Signing=3]="Signing",s[s.FinalizingSession=4]="FinalizingSession",s[s.RegisteringUser=5]="RegisteringUser",s))(Dp||{});var mo=class{async signUp({options:{onProgress:t,maxTimeToLiveInMilliseconds:r,passkey:n}={},loadAuthWithUser:o}){let{satelliteId:i}=Se.getInstance().get()??{satelliteId:void 0};if(L(i))throw new xr("Satellite ID not set. Have you initialized the Satellite?");let s=({step:_,state:g})=>{switch(_){case qr.RequestingUserCredential:t?.({step:1,state:g});break;case qr.FinalizingCredential:t?.({step:2,state:g});break;case qr.Signing:t?.({step:3,state:g});break}},c=await jt({fn:async()=>await fc.createWithNewCredential({onProgress:s,passkeyOptions:n}),step:0,onProgress:t}),{delegationIdentity:u,sessionKey:p}=await this.#e({identity:c,maxTimeToLiveInMilliseconds:r}),l=await jt({fn:async()=>await Pp({delegationIdentity:u,passkeyIdentity:c,satelliteId:i}),step:5,onProgress:t});await jt({fn:async()=>await this.#t({delegationIdentity:u,sessionKey:p}),step:4,onProgress:t}),await jt({fn:async()=>await o({user:l}),step:5,onProgress:t})}async signIn({options:{onProgress:t,maxTimeToLiveInMilliseconds:r}={},loadAuth:n}){let{satelliteId:o}=Se.getInstance().get()??{satelliteId:void 0};if(L(o))throw new xr("Satellite ID not set. Have you initialized the Satellite?");let i=async({credentialId:d})=>{let l=await Us({collection:"#user-webauthn",key:Lr(d),options:{certified:!0},satellite:{identity:new tt,satelliteId:o}});if(L(l))throw new Cs("No public key found for the selected passkey.");let{data:f}=l,{publicKey:h}=f;return Bn(h,ti)},s=({step:d,state:l})=>{switch(d){case qr.RequestingUserCredential:t?.({step:0,state:l});break;case qr.FinalizingCredential:t?.({step:1,state:l});break;case qr.Signing:t?.({step:2,state:l});break}},a=await fc.createWithExistingCredential({retrievePublicKey:i,onProgress:s}),{delegationIdentity:c,sessionKey:u}=await this.#e({identity:a,maxTimeToLiveInMilliseconds:r});await jt({fn:async()=>await this.#t({delegationIdentity:c,sessionKey:u}),step:3,onProgress:t}),await jt({fn:n,step:4,onProgress:t})}async#e({identity:t,maxTimeToLiveInMilliseconds:r}){let n=await kt.generate({extractable:!1}),o=r??144e5,i=await yr.create(t,n.getPublicKey(),new Date(Date.now()+o));return{delegationIdentity:gr.fromDelegation(n,i),sessionKey:n}}async#t({sessionKey:t,delegationIdentity:r}){let n=new qt;await Promise.all([n.set(Je,t.getKeyPair()),n.set(Ge,JSON.stringify(r.getDelegation().toJSON()))])}};var ly=async({provider:e})=>{await pi({fn:async()=>{let r=await lp({provider:e});De.getInstance().set(r)},syncTabsOnSuccess:!0})},uy=async e=>{if("google"in e){let{google:{options:t}}=e;await Wc({fn:()=>new Hs().signIn({options:t}),context:{windowGuard:!1}});return}if("webauthn"in e){let{webauthn:{options:t,context:r}}=e;await Wc({fn:()=>new mo().signIn({options:t,loadAuth:()=>Ls({syncTabsOnSuccess:!0})}),context:r});return}if("internet_identity"in e){let{internet_identity:{options:t,context:r}}=e,{domain:n,...o}=t??{};await Wc({fn:()=>new js({domain:n}).signIn({options:o,authClient:Ue.getInstance().getAuthClient(),initAuth:ly}),context:r});return}throw new As("An unknown or unsupported provider was provided for sign-in.")},Wc=async({fn:e,context:t})=>{if(t?.windowGuard===!1){await e();return}await Ks({fn:e})};var dy=async e=>{let t=async()=>await py(e);if(Object.values(e)?.[0].context?.windowGuard===!1){await t();return}await Ks({fn:t})},py=async e=>{if("webauthn"in e){let{webauthn:{options:t}}=e;await new mo().signUp({options:t,loadAuthWithUser:qs});return}throw new Fs("An unknown or unsupported provider was provided for sign-up.")};var R6=e=>e?.data?.provider==="webauthn",I6=e=>e?.data?.provider==="google";var C6=async({idlFactory:e,satellite:t})=>{let r=ue(t?.identity);return await Jd({idlFactory:e,...t,identity:r})};var Up=async({asset:{data:e,headers:t,...r},actor:n,progress:o})=>{let{init_asset_upload:i,upload_asset_chunk:s,commit_asset_upload:a}=n,{batch_id:c}=await i(fy(r));o?.onInitiatedBatch();let{chunkIds:u}=await _y({data:e,uploadFn:s,batchId:c});o?.onUploadedFileChunks(r.fullPath),await my({commitFn:a,batchId:c,data:e,headers:t,chunkIds:u}),o?.onCommittedBatch()};var fy=({filename:e,collection:t,token:r,fullPath:n,encoding:o,description:i})=>({collection:t,full_path:n,name:e,token:ie(r),encoding_type:ie(o),description:ie(i)}),hy=({batchId:e,chunkIds:t,headers:r,data:n})=>{let o=r.find(([i,s])=>i.toLowerCase()==="content-type")===void 0&&n.type!==void 0&&n.type!==""?[["Content-Type",n.type]]:void 0;return{batch_id:e,chunk_ids:t.map(({chunk_id:i})=>i),headers:[...r,...o??[]]}},my=async({commitFn:e,...t})=>{let r=hy(t);await e(r)},_y=async({data:e,uploadFn:t,batchId:r})=>{let n=[],o=Ds()?new Blob([await e.arrayBuffer()]):e,i=0n;for(let a=0;a<o.size;a+=19e5){let c=o.slice(a,a+19e5);n.push({batchId:r,chunk:c,uploadFn:t,orderId:i}),i++}let s=[];for await(let a of yy({uploadChunks:n}))s=[...s,...a];return{chunkIds:s}};async function*yy({uploadChunks:e,limit:t=12}){for(let r=0;r<e.length;r=r+t){let n=e.slice(r,r+t);yield await Promise.all(n.map(o=>gy(o)))}}var gy=async({batchId:e,chunk:t,uploadFn:r,orderId:n})=>r({batch_id:e,content:new Uint8Array(await t.arrayBuffer()),order_id:ie(n)});var kp=async({asset:e,...t})=>{let r=await we(t);await Up({actor:r,asset:e})},Lp=async({collection:e,filter:t,...r})=>{let{list_assets:n}=await we(r),{items:o,items_length:i,items_page:s,matches_length:a,matches_pages:c}=await n(e,jr(t));return{items:o.map(([u,p])=>p),items_length:i,items_page:be(s),matches_length:a,matches_pages:be(c)}},qp=async({collection:e,filter:t,...r})=>{let{count_assets:n}=await we(r);return n(e,jr(t))},Mp=async({collection:e,fullPath:t,...r})=>(await we(r)).del_asset(e,t),jp=async({assets:e,satellite:t})=>{let{del_many_assets:r}=await we({satellite:t,options:{certified:!0}}),n=e.map(({collection:o,fullPath:i})=>[o,i]);await r(n)},Kp=async({collection:e,filter:t,...r})=>{let{del_filtered_assets:n}=await we(r);return n(e,jr(t))},Hp=async({collection:e,fullPath:t,token:r,...n})=>{let{set_asset_token:o}=await we(n);return o(e,t,ie(r))},$p=async({collection:e,fullPath:t,...r})=>{let{get_asset:n}=await we(r);return be(await n(e,t))},Gp=async({assets:e,...t})=>{let{get_many_assets:r}=await we(t),n=e.map(({collection:i,fullPath:s})=>[i,s]);return(await r(n)).map(([i,s])=>be(s))};var Jp=e=>btoa([...e].map(t=>String.fromCharCode(t)).join(""));var W6=e=>Wp(e),z6=e=>Wp({filename:e.data.name,...e}),Wp=async({filename:e,data:t,collection:r,headers:n=[],fullPath:o,token:i,satellite:s,encoding:a,description:c})=>{let u=ue(s?.identity),p=decodeURI(e),d=o??`/${r}/${p}`,l={...s,identity:u};return await kp({asset:{data:t,filename:p,collection:r,token:i,headers:n,fullPath:d,encoding:a,description:c},satellite:l,options:{certified:!0}}),{downloadUrl:zp({satellite:l,assetKey:{fullPath:d,token:i}}),fullPath:d,...z(i)&&{token:i},name:p}},Y6=async({collection:e,filter:t,satellite:r,options:n})=>{let o={...r,identity:ue(r?.identity)},{items:i,...s}=await Lp({collection:e,filter:t??{},satellite:o,options:n??Mt}),a=i.map(({key:{full_path:c,token:u,name:p,owner:d,description:l},headers:f,encodings:h,created_at:_,updated_at:g})=>{let m=be(u);return{fullPath:c,description:be(l),name:p,downloadUrl:zp({satellite:o,assetKey:{fullPath:c,token:m}}),token:m,headers:f,encodings:h.reduce((x,[y,{modified:T,sha256:E,total_length:O}])=>({...x,[y]:{modified:T,sha256:Jp(E),total_length:O}}),{}),owner:d.toText(),created_at:_,updated_at:g}});return{items:a,assets:a,...s}},Z6=async({collection:e,filter:t,satellite:r,options:n})=>{let o={...r,identity:ue(r?.identity)};return await qp({collection:e,satellite:o,filter:t??{},options:n??Mt})},X6=({collection:e,fullPath:t,satellite:r})=>Mp({collection:e,fullPath:t,satellite:{...r,identity:ue(r?.identity)},options:{certified:!0}}),Q6=({collection:e,fullPath:t,token:r,satellite:n})=>Hp({collection:e,fullPath:t,token:r,satellite:{...n,identity:ue(n?.identity)},options:{certified:!0}}),e1=({assets:e,satellite:t})=>jp({assets:e,satellite:{...t,identity:ue(t?.identity)},options:{certified:!0}}),t1=async({collection:e,satellite:t,filter:r})=>{let n={...t,identity:ue(t?.identity)};return await Kp({collection:e,satellite:n,filter:r??{},options:{certified:!0}})},r1=async({satellite:e,options:t,...r})=>{let n=ue(e?.identity);return await $p({...r,satellite:{...e,identity:n},options:t??Mt})},n1=async({satellite:e,options:t,...r})=>{let n=ue(e?.identity);return await Gp({...r,satellite:{...e,identity:n},options:t??Mt})},zp=({assetKey:{fullPath:e,token:t},satellite:r})=>{let n={...r,identity:ue(r?.identity)};return`${Gd(n)}${e}${z(t)?`?token=${t}`:""}`};var xy=e=>{let t=e?.satelliteId??fp();oi(t,"Satellite ID is not configured. Juno cannot be initialized.");let r=e?.container??hp();return{satelliteId:t,internetIdentityId:e?.internetIdentityId,workers:e?.workers,syncTabs:e?.syncTabs,container:r}},f1=e=>by(e),by=async e=>{let t=xy(e);Se.getInstance().set(t),await Ls();let r=t.workers?.auth!==void 0?qd(t.workers.auth):void 0,n=t.syncTabs===!1?void 0:pp();return[...z(r)?[r]:[],...z(n)?[n]:[]]},wy=e=>De.getInstance().subscribe(e),h1=wy;export{Np as AuthClientSignInProgressStep,Vs as InitError,js as InternetIdentityProvider,Ps as ListError,Is as SignInError,xr as SignInInitError,Ss as SignInMissingClientIdError,As as SignInProviderNotSupportedError,vs as SignInUserInterruptError,Fs as SignUpProviderNotSupportedError,Bp as WebAuthnSignInProgressStep,Cs as WebAuthnSignInRetrievePublicKeyError,Dp as WebAuthnSignUpProgressStep,h1 as authSubscribe,Z6 as countAssets,nN as countDocs,X6 as deleteAsset,QT as deleteDoc,t1 as deleteFilteredAssets,tN as deleteFilteredDocs,e1 as deleteManyAssets,eN as deleteManyDocs,zp as downloadUrl,r1 as getAsset,Us as getDoc,L_ as getIdentityOnce,n1 as getManyAssets,XT as getManyDocs,C6 as getSatelliteExtendedActor,iy as handleRedirectCallback,f1 as initJuno,by as initSatellite,I6 as isGoogleUser,d_ as isWebAuthnAvailable,R6 as isWebAuthnUser,Y6 as listAssets,rN as listDocs,wy as onAuthStateChange,Q6 as setAssetToken,ap as setDoc,cp as setManyDocs,uy as signIn,Ec as signOut,dy as signUp,k_ as unsafeIdentity,W6 as uploadBlob,z6 as uploadFile};
|
|
56
|
+
Retrying request.`),await this.#g({requestFn:r,backoff:n,tries:o+1});throw Oo.fromCode(new vo(p))}let c=Pa(s.headers);if(s.status===yc||s.status===Mm)return{ok:s.ok,status:s.status,statusText:s.statusText,responseBodyBytes:a,headers:c};let u=await s.text();if(s.status===jm&&s.url.includes("api/v4"))throw ne.fromCode(new Io);if(_d(u))throw Y.fromCode(new Ct(u,this.#l));if(o<this.#u)return await this.#g({requestFn:r,backoff:n,tries:o+1});throw ne.fromCode(new Ro(s.status,s.statusText,c,u))}async query(t,r,n){let o=this.#f(),i=r.effectiveCanisterId?U.from(r.effectiveCanisterId):U.from(t);await this.#p(i),this.log.print(`ecid ${i.toString()}`),this.log.print(`canisterId ${t.toString()}`);let s,a=await(n??this.#n);if(!a)throw ye.fromCode(new Cr);let c=U.from(t),u=a.getPrincipal(),p=gc(this.#l,this.#r),d={request_type:Cn.Query,canister_id:c,method_name:r.methodName,arg:r.arg,sender:u,ingress_expiry:p},l=lr(d);s=await this._transform({request:{method:"POST",headers:{"Content-Type":"application/cbor",...this.#s?{Authorization:"Basic "+btoa(this.#s)}:{}}},endpoint:dr.Query,body:d}),s=await a.transformRequest(s);let f=Ko(s.body),h={canister:c.toText(),ecid:i,transformedRequest:s,body:f,requestId:l,backoff:o,tries:0},_=async()=>{let m=await this.#b(h);return{requestDetails:d,...m}},g=async()=>{let m=this.#_.get(i.toString());if(m)return m;await this.fetchSubnetKeys(i.toString());let x=this.#_.get(i.toString());if(!x)throw Le.fromCode(new Li);return x};try{if(!this.#y)return await _();let[m,x]=await Promise.all([_(),g()]);try{return this.#T(m,x)}catch{this.log.warn("Query response verification failed. Retrying with fresh subnet keys."),this.#_.delete(i.toString());let y=await g();return this.#T(m,y)}}catch(m){let x;if(m instanceof nt){if(m.hasCode(Ct)&&!this.#i)return await this.syncTime(i),this.query(t,r,n);m.code.requestContext={requestId:l,senderPubKey:s.body.sender_pubkey,senderSignature:s.body.sender_sig,ingressExpiry:s.body.content.ingress_expiry},x=m}else x=ce.fromCode(new Re(m));throw this.log.error(`Error while making query: ${x.message}`,x),x}}#T;async createReadStateRequest(t,r){await this.#p();let n=await(r??this.#n);if(!n)throw ye.fromCode(new Cr);let o=n.getPrincipal(),i=await this._transform({request:{method:"POST",headers:{"Content-Type":"application/cbor",...this.#s?{Authorization:"Basic "+btoa(this.#s)}:{}}},endpoint:dr.ReadState,body:{request_type:Cn.ReadState,paths:t.paths,sender:o,ingress_expiry:gc(this.#l,this.#r)}});return n.transformRequest(i)}async readState(t,r,n,o){await this.#x();let i=U.from(t);function s(p){for(let d of p.paths){let[l,f]=d,h=new TextEncoder().encode("request_status");if(An(l,h))return f}}let a,c;if(o)a=o;else{c=s(r);let p=await this.#n;if(!p)throw ye.fromCode(new Cr);a=await this.createReadStateRequest(r,p)}let u=new URL(`/api/v3/canister/${i.toString()}/read_state`,this.host);return await this.#N(u,{canisterId:i},a,c)}async readSubnetState(t,r){await this.#x();let n=U.from(t),o=new URL(`/api/v3/subnet/${n.toString()}/read_state`,this.host),i=await this.createReadStateRequest(r,this.#n??void 0);return await this.#N(o,{subnetId:n},i)}async#N(t,r,n,o){let i=this.#f();try{let{responseBodyBytes:s}=await this.#g({requestFn:()=>this.#o(t,{...this.#c,...n.request,body:Ko(n.body)}),backoff:i,tries:0});return Me(s)}catch(s){let a;if(s instanceof nt){if(s.hasCode(Ct)&&!this.#i){if("canisterId"in r)await this.syncTime(r.canisterId);else if("subnetId"in r)await this.syncTimeWithSubnet(r.subnetId);else throw ct;return await this.#N(t,r,n,o)}s.code.requestContext={requestId:o??lr(n),senderPubKey:n.body.sender_pubkey,senderSignature:n.body.sender_sig,ingressExpiry:n.body.content.ingress_expiry},a=s}else a=ce.fromCode(new Re(s));throw this.log.error(`Error while making read state: ${a.message}`,a),a}}parseTimeFromResponse(t){let r;if(t.certificate){let n=Me(t.certificate);if(n&&"tree"in n)r=n.tree;else throw ne.fromCode(new Fr("Could not decode time from response"));let o=gr(["time"],r);if(o.status!==Be.Found)throw ne.fromCode(new xt("Time was not found in the response or was not in its expected format.",o.status));if(!(o.value instanceof Uint8Array)&&!ArrayBuffer.isView(o))throw ne.fromCode(new Ri("Time was not in its expected format."));let i=qr(o.value);return this.log.print("Time from response:",i),this.log.print("Time from response in milliseconds:",i.getTime()),i.getTime()}else this.log.warn("No certificate found in response");return 0}async syncTime(t){this.#a=this.#a??(async()=>{await this.#x();let r=Date.now();try{t||this.log.print("Syncing time with the IC. No canisterId provided, so falling back to ryjl3-tyaaa-aaaaa-aaaba-cai");let n=t??U.from("ryjl3-tyaaa-aaaaa-aaaba-cai"),o=e.createSync({identity:new ot,host:this.host.toString(),fetch:this.#o,retryTimes:0,rootKey:this.rootKey??void 0,shouldSyncTime:!1}),i=await Promise.all(Array(3).fill(null).map(async()=>{let a=(await sd({canisterId:n,agent:o,paths:["time"],disableCertificateTimeVerification:!0})).get("time");if(a instanceof Date)return a.getTime()},[]));this.#O(r,i)}catch(n){let o=n instanceof nt?n:ce.fromCode(new Re(n));throw this.log.error("Caught exception while attempting to sync time",o),o}})(),await this.#a.finally(()=>{this.#a=null})}async syncTimeWithSubnet(t){await this.#x();let r=Date.now();try{let n=e.createSync({identity:new ot,host:this.host.toString(),fetch:this.#o,retryTimes:0,rootKey:this.rootKey??void 0,shouldSyncTime:!1}),o=await Promise.all(Array(3).fill(null).map(async()=>{let s=(await ad({subnetId:t,agent:n,paths:["time"],disableCertificateTimeVerification:!0})).get("time");if(s instanceof Date)return s.getTime()},[]));this.#O(r,o)}catch(n){let o=n instanceof nt?n:ce.fromCode(new Re(n));throw this.log.error("Caught exception while attempting to sync time with subnet",o),o}}#O(t,r){let n=r.reduce((o,i)=>typeof i=="number"&&i>o?i:o,0);n>0&&(this.#r=n-t,this.#i=!0,this.log.notify({message:`Syncing time: offset of ${this.#r}`,level:"info"}))}async status(){let t=this.#s?{Authorization:"Basic "+btoa(this.#s)}:{},r=new URL("/api/v2/status",this.host);this.log.print(`fetching "${r.pathname}"`);let n=this.#f(),{responseBodyBytes:o}=await this.#g({backoff:n,requestFn:()=>this.#o(r,{headers:t,...this.#c}),tries:0});return Me(o)}async fetchRootKey(){return this.#e=this.#e??(async()=>{let t=await this.status();return this.rootKey=t.root_key,this.rootKey})(),await this.#e.finally(()=>{this.#e=null})}async#p(t){await Promise.all([this.#x(),this.#R(t)])}async#x(){if(!this.rootKey)if(this.rootKey===null&&this.host.toString()!=="https://icp-api.io"&&this.#t)await this.fetchRootKey();else throw ye.fromCode(new at(this.#t))}async#R(t){this.#d&&!this.hasSyncedTime()&&await this.syncTime(t)}invalidateIdentity(){this.#n=null}replaceIdentity(t){this.#n=Promise.resolve(t)}async fetchSubnetKeys(t){let r=U.from(t);await this.#p(r);let n=this.rootKey,o=await this.readState(r,{paths:[[$("subnet")]]}),i=await st.create({certificate:o.certificate,rootKey:n,principal:{canisterId:r},agent:this});if(!i.cert.delegation){let c=U.selfAuthenticating(n);if(!ac({canisterId:r,subnetId:c,tree:i.cert.tree}))throw Le.fromCode(new Nn(r,c))}let s=lc(i.cert,n),a=lo(i.cert,s);return this.#_.set(r.toText(),a),a}async getSubnetIdFromCanister(t){let r=U.from(t);await this.#p(r);let n=await this.readState(r,{paths:[[$("time")]]}),o=await st.create({certificate:n.certificate,rootKey:this.rootKey,principal:{canisterId:r},agent:this});return lc(o.cert,this.rootKey)}_transform(t){let r=Promise.resolve(t);if(t.endpoint===dr.Call)for(let n of this.#m)r=r.then(o=>n(o).then(i=>i||o));else for(let n of this.#h)r=r.then(o=>n(o).then(i=>i||o));return r}getTimeDiffMsecs(){return this.#r}hasSyncedTime(){return this.#i}};function gc(e,t){let r=e*xc;return ro.fromDeltaInMilliseconds(r,t)}function _d(e){return e.includes("Invalid request expiry: ")}var $m=300*1e3;function yd(){return Ym(Jm(Gm(),1e3),zm(1e3,1.2),Wm($m))}function Gm(){let e=!0;return async()=>e?(e=!1,!0):!1}function Jm(e,t){return async(r,n,o)=>{if(await e(r,n,o))return new Promise(i=>setTimeout(i,t))}}function Wm(e){let t=Date.now()+e;return async(r,n,o)=>{if(Date.now()>t)throw ne.fromCode(new On(`Request timed out after ${e} msec`,n,o))}}function zm(e,t){let r=e;return()=>new Promise(n=>setTimeout(()=>{r*=t,n()},r))}function Ym(...e){return async(t,r,n)=>{for(let o of e)await o(t,r,n)}}var xd={preSignReadStateRequest:!1};function bd(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function bc(e,t){return e!==null&&typeof e=="object"&&bd(e,t)}function Xm(e,t){return bd(e,t)&&typeof e[t]=="function"}function gd(e){return bc(e,"body")&&bc(e.body,"content")&&e.body.content.request_type===Cn.ReadState&&bc(e.body.content,"ingress_expiry")&&typeof e.body.content.ingress_expiry=="object"&&e.body.content.ingress_expiry!==null&&Xm(e.body.content.ingress_expiry,"toHash")}async function wc(e,t,r,n={}){let o=[$("request_status"),r],i,s;if(n.preSignReadStateRequest??!1?(s=await Qm({paths:[o],agent:e,pollingOptions:n}),i=await e.readState(t,{paths:[o]},void 0,s)):i=await e.readState(t,{paths:[o]}),e.rootKey==null)throw ye.fromCode(new at);let c=await st.create({certificate:i.certificate,rootKey:e.rootKey,principal:{canisterId:t},blsVerify:n.blsVerify,agent:e}),u=ve(c.lookup_path([...o,$("status")])),p;switch(typeof u>"u"?p=Ut.Unknown:p=new TextDecoder().decode(u),p){case Ut.Replied:return{reply:ve(c.lookup_path([...o,"reply"])),certificate:c};case Ut.Received:case Ut.Unknown:case Ut.Processing:{let d=n.strategy??yd();return await d(t,r,p),wc(e,t,r,{...n,strategy:d,request:s})}case Ut.Rejected:{let d=new Uint8Array(ve(c.lookup_path([...o,"reject_code"])))[0],l=new TextDecoder().decode(ve(c.lookup_path([...o,"reject_message"]))),f=ve(c.lookup_path([...o,"error_code"])),h=f?new TextDecoder().decode(f):void 0;throw Sr.fromCode(new $n(r,d,l,h))}case Ut.Done:throw ce.fromCode(new Bi(r))}throw ct}async function Qm(e){let{paths:t,agent:r,pollingOptions:n}=e;if(n.request&&gd(n.request))return n.request;let o=await r.createReadStateRequest?.({paths:t},void 0);if(!gd(o))throw Y.fromCode(new ji(o));return o}var ft=Symbol.for("ic-agent-metadata"),fo=class e{static agentOf(t){return t[ft].config.agent}static interfaceOf(t){return t[ft].service}static canisterIdOf(t){return U.from(t[ft].config.canisterId)}static createActorClass(t,r){let n=t({IDL:vn});class o extends e{constructor(s){if(!s.canisterId)throw Y.fromCode(new Ao(s.canisterId));let a=typeof s.canisterId=="string"?U.fromText(s.canisterId):s.canisterId;super({config:{...wd,...s,canisterId:a},service:n});for(let[c,u]of n._fields)r?.httpDetails&&u.annotations.push(Tc),r?.certificate&&u.annotations.push(Td),this[c]=t_(this,c,u,s.blsVerify)}}return o}static createActor(t,r){if(!r.canisterId)throw Y.fromCode(new Ao(r.canisterId));return new(this.createActorClass(t))(r)}static createActorWithHttpDetails(t,r){return new(this.createActorClass(t,{httpDetails:!0}))(r)}static createActorWithExtendedDetails(t,r,n={httpDetails:!0,certificate:!0}){return new(this.createActorClass(t,n))(r)}constructor(t){this[ft]=Object.freeze(t)}};function po(e,t){let r=vn.decode(e,t);switch(r.length){case 0:return;case 1:return r[0];default:return r}}var wd={pollingOptions:xd},Tc="http-details",Td="certificate";function t_(e,t,r,n){let o;r.annotations.includes("query")||r.annotations.includes("composite_query")?o=async(s,...a)=>{s={...s,...e[ft].config.queryTransform?.(t,a,{...e[ft].config,...s})};let c=s.agent||e[ft].config.agent||new wr,u=U.from(s.canisterId||e[ft].config.canisterId),p=vn.encode(r.argTypes,a),d=await c.query(u,{methodName:t,arg:p,effectiveCanisterId:s.effectiveCanisterId}),l={...d.httpDetails,requestDetails:d.requestDetails};switch(d.status){case Rr.Rejected:{let f=new Pi(d.requestId,d.reject_code,d.reject_message,d.error_code,d.signatures);throw f.callContext={canisterId:u,methodName:t,httpDetails:l},Sr.fromCode(f)}case Rr.Replied:return r.annotations.includes(Tc)?{httpDetails:l,result:po(r.retTypes,d.reply.arg)}:po(r.retTypes,d.reply.arg)}}:o=async(s,...a)=>{s={...s,...e[ft].config.callTransform?.(t,a,{...e[ft].config,...s})};let c=s.agent||e[ft].config.agent||wr.createSync(),{canisterId:u,effectiveCanisterId:p,pollingOptions:d}={...wd,...e[ft].config,...s},l=U.from(u),f=p!==void 0?U.from(p):l,h=vn.encode(r.argTypes,a),{requestId:_,response:g,requestDetails:m}=await c.call(l,{methodName:t,arg:h,effectiveCanisterId:f,nonce:s.nonce}),x,y;if(ul(g.body)){if(c.rootKey==null)throw ye.fromCode(new at);let R=g.body.certificate;y=await st.create({certificate:R,rootKey:c.rootKey,principal:{canisterId:f},blsVerify:n,agent:c});let v=[$("request_status"),_];switch(new TextDecoder().decode(ve(y.lookup_path([...v,"status"])))){case"replied":x=ve(y.lookup_path([...v,"reply"]));break;case"rejected":{let I=new Uint8Array(ve(y.lookup_path([...v,"reject_code"])))[0],F=new TextDecoder().decode(ve(y.lookup_path([...v,"reject_message"]))),S=ve(y.lookup_path([...v,"error_code"])),b=S?new TextDecoder().decode(S):void 0,N=new $n(_,I,F,b);throw N.callContext={canisterId:l,methodName:t,httpDetails:g},Sr.fromCode(N)}}}else if(ll(g.body)){let{reject_code:R,reject_message:v,error_code:w}=g.body,I=new Vi(_,R,v,w);throw I.callContext={canisterId:l,methodName:t,httpDetails:g},Sr.fromCode(I)}if(g.status===202){let R={...d,blsVerify:n},v=await wc(c,f,_,R);y=v.certificate,x=v.reply}let T=r.annotations.includes(Tc),E=r.annotations.includes(Td),O={...g,requestDetails:m};if(x!==void 0)return T&&E?{httpDetails:O,certificate:y,result:po(r.retTypes,x)}:E?{certificate:y,result:po(r.retTypes,x)}:T?{httpDetails:O,result:po(r.retTypes,x)}:po(r.retTypes,x);{let R=new Re(`Call was returned undefined. We cannot determine if the call was successful or not. Return types: [${r.retTypes.map(v=>v.display()).join(",")}].`);throw R.callContext={canisterId:l,methodName:t,httpDetails:O},ce.fromCode(R)}};let i=(...s)=>o({},...s);return i.withOptions=s=>(...a)=>o(s,...a),i}var r_=(e=>(e[e.FractionalMoreThan8Decimals=0]="FractionalMoreThan8Decimals",e[e.InvalidFormat=1]="InvalidFormat",e[e.FractionalTooManyDecimals=2]="FractionalTooManyDecimals",e))(r_||{}),Ab=BigInt(1e8);var k=e=>e==null,z=e=>!k(e),si=e=>z(e)&&e!=="",qn=e=>!si(e);var n_=class extends Error{},ai=(e,t)=>{if(e==null)throw new n_(t)};var Tr=e=>new Uint8Array(e),Ns=e=>Array.from(e);var Od=({a:e,b:t})=>e.length===t.length&&e.every((r,n)=>r===t[n]);var Nd="abcdefghijklmnopqrstuvwxyz234567",ii=Object.create(null);for(let e=0;e<Nd.length;e++)ii[Nd[e]]=e;ii[0]=ii.o;ii[1]=ii.i;var $r=e=>btoa(String.fromCharCode(...new Uint8Array(e))),Ed=e=>Uint8Array.from(atob(e),t=>t.charCodeAt(0)),Sb=new Uint32Array([0,1996959894,3993919788,2567524794,124634137,1886057615,3915621685,2657392035,249268274,2044508324,3772115230,2547177864,162941995,2125561021,3887607047,2428444049,498536548,1789927666,4089016648,2227061214,450548861,1843258603,4107580753,2211677639,325883990,1684777152,4251122042,2321926636,335633487,1661365465,4195302755,2366115317,997073096,1281953886,3579855332,2724688242,1006888145,1258607687,3524101629,2768942443,901097722,1119000684,3686517206,2898065728,853044451,1172266101,3705015759,2882616665,651767980,1373503546,3369554304,3218104598,565507253,1454621731,3485111705,3099436303,671266974,1594198024,3322730930,2970347812,795835527,1483230225,3244367275,3060149565,1994146192,31158534,2563907772,4023717930,1907459465,112637215,2680153253,3904427059,2013776290,251722036,2517215374,3775830040,2137656763,141376813,2439277719,3865271297,1802195444,476864866,2238001368,4066508878,1812370925,453092731,2181625025,4111451223,1706088902,314042704,2344532202,4240017532,1658658271,366619977,2362670323,4224994405,1303535960,984961486,2747007092,3569037538,1256170817,1037604311,2765210733,3554079995,1131014506,879679996,2909243462,3663771856,1141124467,855842277,2852801631,3708648649,1342533948,654459306,3188396048,3373015174,1466479909,544179635,3110523913,3462522015,1591671054,702138776,2966460450,3352799412,1504918807,783551873,3082640443,3233442989,3988292384,2596254646,62317068,1957810842,3939845945,2647816111,81470997,1943803523,3814918930,2489596804,225274430,2053790376,3826175755,2466906013,167816743,2097651377,4027552580,2265490386,503444072,1762050814,4150417245,2154129355,426522225,1852507879,4275313526,2312317920,282753626,1742555852,4189708143,2394877945,397917763,1622183637,3604390888,2714866558,953729732,1340076626,3518719985,2797360999,1068828381,1219638859,3624741850,2936675148,906185462,1090812512,3747672003,2825379669,829329135,1181335161,3412177804,3160834842,628085408,1382605366,3423369109,3138078467,570562233,1426400815,3317316542,2998733608,733239954,1555261956,3268935591,3050360625,752459403,1541320221,2607071920,3965973030,1969922972,40735498,2617837225,3943577151,1913087877,83908371,2512341634,3803740692,2075208622,213261112,2463272603,3855990285,2094854071,198958881,2262029012,4057260610,1759359992,534414190,2176718541,4139329115,1873836001,414664567,2282248934,4279200368,1711684554,285281116,2405801727,4167216745,1634467795,376229701,2685067896,3608007406,1308918612,956543938,2808555105,3495958263,1231636301,1047427035,2932959818,3654703836,1088359270,936918e3,2847714899,3736837829,1202900863,817233897,3183342108,3401237130,1404277552,615818150,3134207493,3453421203,1423857449,601450431,3009837614,3294710456,1567103746,711928724,3020668471,3272380065,1510334235,755167117]);var Nc="__bigint__",Oc="__principal__",Ec="__uint8array__",Rd=(e,t)=>typeof t=="bigint"?{[Nc]:`${t}`}:z(t)&&U.isPrincipal(t)?{[Oc]:U.from(t).toText()}:z(t)&&t instanceof Uint8Array?{[Ec]:Array.from(t)}:t,Id=(e,t)=>{let r=n=>t[n];return z(t)&&typeof t=="object"&&Nc in t?BigInt(r(Nc)):z(t)&&typeof t=="object"&&Oc in t?U.fromText(r(Oc)):z(t)&&typeof t=="object"&&Ec in t?Uint8Array.from(r(Ec)):t};var se=e=>z(e)?[e]:[],be=e=>e?.[0];var o_=({authData:e})=>{if(e.byteLength<37)return{invalidAuthData:null};if(e.byteLength<53)return{invalidAuthData:null};let t=e.slice(37,53),r=i_({bytes:t});return"aaguid"in r?{aaguidBytes:t,aaguidText:r.aaguid}:{unknownProvider:null}},i_=({bytes:e})=>{if(e.length!==16)return{invalidBytes:null};let t=(e instanceof Uint8Array?Ns(e):e).map(r=>r.toString(16).padStart(2,"0")).join("").replace(/^(.{8})(.{4})(.{4})(.{4})(.{12})$/,"$1-$2-$3-$4-$5");return t==="00000000-0000-0000-0000-000000000000"?{unknownProvider:null}:{aaguid:t}};function s_(e){let t=new DataView(new ArrayBuffer(2)),r=e.slice(53,55);[...new Uint8Array(r)].forEach((o,i)=>t.setUint8(i,o));let n=t.getUint16(0);return e.slice(55+n)}function a_(e){return kn(e,oi)}var c_=class{constructor(e){this._cose=e,this.#e=a_(e)}#e;toDer(){return this.#e}toRaw(){return new Uint8Array(this.#e)}},Fd=class{#e;#t;constructor({rawId:e,cose:t}){this.#e=e,this.#t=new c_(t)}getPublicKey(){return this.#t}getCredentialId(){return this.#e}getCredentialIdText(){return $r(this.#e)}},l_=class extends Fd{#e;#t;constructor({authData:e,...t}){super(t);let r=o_({authData:e});this.#e="aaguidText"in r?r.aaguidText:void 0,this.#t="aaguidBytes"in r?r.aaguidBytes:void 0}getAAGUID(){return this.#t}getAAGUIDText(){return this.#e}},u_=class extends Fd{},d_=class extends Error{},p_=class extends Error{},f_=class extends Error{},h_=class extends Error{},m_=class extends Error{},__=class extends Error{},y_=class extends Error{},vd=class extends Error{};var g_={ECDSA_WITH_SHA256:-7,RSA_WITH_SHA256:-257},x_=6e4,Pd=()=>window.crypto.getRandomValues(new Uint8Array(16)),b_=()=>Pd(),w_=()=>Pd(),T_=()=>{let{location:{href:e}}=window;try{let{hostname:t}=new URL(e);return t}catch{throw new d_}},Vd=({appId:e})=>e?.id??T_(),N_=({appId:e,user:t}={})=>{let{document:{title:r}}=window,n=()=>({rp:{name:e?.name??r,id:Vd({appId:e})}}),o=()=>({user:{id:w_(),name:t?.name??t?.displayName??r,displayName:t?.displayName??r}});return{attestation:"direct",challenge:b_(),...n(),...o(),pubKeyCredParams:Object.values(g_).map(i=>({type:"public-key",alg:i})),excludeCredentials:[],authenticatorSelection:{authenticatorAttachment:"platform",userVerification:"preferred",residentKey:"required",requireResidentKey:!0}}},O_=(e={})=>({rpId:Vd(e),allowCredentials:[],userVerification:"required"}),Rc=async({fn:e,step:t,onProgress:r})=>{r?.({step:t,state:"in_progress"});try{let n=await e();return r?.({step:t,state:"success"}),n}catch(n){throw r?.({step:t,state:"error"}),n}},Gr=(e=>(e[e.RequestingUserCredential=0]="RequestingUserCredential",e[e.FinalizingCredential=1]="FinalizingCredential",e[e.Signing=2]="Signing",e))(Gr||{}),Bd=({timeout:e})=>AbortSignal.timeout(e??x_),E_=async({challenge:e,credentialIds:t,passkeyOptions:r,timeout:n})=>await navigator.credentials.get({publicKey:{...O_(r),challenge:e.buffer,allowCredentials:(t??[]).map(o=>({id:o.buffer,type:"public-key"}))},signal:Bd({timeout:n})}),Ad=e=>{if(e.status!=="initialized")throw new p_},Sd=e=>{if(k(e))throw new f_},Cd=({type:e})=>{if(e!=="public-key")throw new h_},Ic=class ci extends Dt{#e;#t;constructor({onProgress:t,...r}){if(super(),this.#e=t,"retrievePublicKey"in r){let{retrievePublicKey:n}=r;this.#t={status:"pending",retrievePublicKey:n};return}this.#t=ci.#r({credential:new l_(r)})}static#r({credential:t}){return{status:"initialized",credential:t}}static async createWithNewCredential({passkeyOptions:t,timeout:r,...n}={}){let o=await navigator.credentials.create({publicKey:N_(t),signal:Bd({timeout:r})});Sd(o),Cd(o);let{response:{attestationObject:i},rawId:s}=o;if(k(i))throw new m_;let{authData:a}=Qi.decode(Tr(i)),c=s_(a);return new ci({...n,rawId:Tr(s),cose:c,authData:a})}static async createWithExistingCredential(t){return new ci(t)}getPublicKey(){Ad(this.#t);let{credential:t}=this.#t;return t.getPublicKey()}getCredential(){Ad(this.#t);let{credential:t}=this.#t;return t}async sign(t){let r=await Rc({fn:async()=>{let n=await E_({challenge:t,...this.#t.status==="initialized"&&{credentialIds:[this.#t.credential.getCredentialId()]}});return Sd(n),Cd(n),n},step:0,onProgress:this.#e});return await Rc({fn:async()=>{let{rawId:n}=r;if(this.#t.status==="initialized"){if(!Od({a:this.#t.credential.getCredentialId(),b:Tr(n)}))throw new __;return}let{retrievePublicKey:o}=this.#t,i=await o({credentialId:Tr(n)});this.#t=ci.#r({credential:new u_({rawId:Tr(n),cose:i})})},step:1,onProgress:this.#e}),await Rc({fn:async()=>{let{response:n}=r,{clientDataJSON:o}=n,{authenticatorData:i,signature:s}="authenticatorData"in n&&"signature"in n?n:{};if(k(i))throw new vd;if(k(s))throw new vd;let a=Qi.encode({authenticator_data:i,client_data_json:new TextDecoder().decode(o),signature:Tr(s)});if(k(a))throw new y_;return Object.assign(a,{__signature__:void 0}),a},step:2,onProgress:this.#e})}},R_=async()=>z(window.PublicKeyCredential)&&"isUserVerifyingPlatformAuthenticatorAvailable"in PublicKeyCredential?await PublicKeyCredential.isUserVerifyingPlatformAuthenticatorAvailable():!1;var ho=class{callbacks=[];populate(t){this.callbacks.forEach(({callback:r})=>r(t))}subscribe(t){let r=Symbol();return this.callbacks.push({id:r,callback:t}),()=>this.callbacks=this.callbacks.filter(({id:n})=>n!==r)}};var De=class e extends ho{static instance;authUser=null;constructor(){super()}static getInstance(){return e.instance||(e.instance=new e),e.instance}set(t){this.authUser=t,this.populate(t)}get(){return this.authUser}subscribe(t){let r=super.subscribe(t);return t(this.authUser),r}reset(){this.authUser=null,this.populate(this.authUser)}};var li=({message:e,detail:t})=>{let r=new CustomEvent(e,{detail:t,bubbles:!0});document.dispatchEvent(r)};var mo="http://127.0.0.1:5987",Dd="rdmx6-jaaaa-aaaaa-aaadq-cai";var Ud=async({identity:e,container:t})=>{let n=z(t)&&t!==!1?t===!0?mo:t:"https://icp-api.io",o=z(t);return await wr.create({identity:e,shouldFetchRootKey:o,host:n})};var _o=class e{static instance;#e=void 0;constructor(){}static getInstance(){return k(e.instance)&&(e.instance=new e),e.instance}async getAgent({identity:t,...r}){let n=t.getPrincipal().toText();if(k(this.#e)||k(this.#e[n])){let o=await Ud({identity:t,...r});return this.#e={...this.#e??{},[n]:o},o}return this.#e[n]}reset(){this.#e=null}};var yo=class e{static instance;#e=void 0;constructor(){}static getInstance(){return k(e.instance)&&(e.instance=new e),e.instance}async getActor({satelliteId:t,identity:r,actorKey:n,...o}){let i=`${n}#${r.getPrincipal().toText()}#${t};`;if(k(this.#e)||k(this.#e[i])){let s=await this.createActor({satelliteId:t,identity:r,...o});return this.#e={...this.#e??{},[i]:s},s}return this.#e[i]}reset(){this.#e=null}async createActor({idlFactory:t,satelliteId:r,...n}){let o=await _o.getInstance().getAgent(n);return fo.createActor(t,{agent:o,canisterId:r})}};function kd(e){return e!==null&&typeof e=="object"}var ui=class e{static from(t){if(typeof t=="string"){let r=Ee(t);return this.fromRaw(r)}else if(kd(t)){let r=t;if(kd(r)&&Object.hasOwnProperty.call(r,"__derEncodedPublicKey__"))return this.fromDer(r);if(ArrayBuffer.isView(r)){let n=r;return this.fromRaw(Ft(n.buffer))}else{if(r instanceof ArrayBuffer)return this.fromRaw(Ft(r));if("rawKey"in r&&r.rawKey instanceof Uint8Array)return this.fromRaw(r.rawKey);if("derKey"in r)return this.fromDer(r.derKey);if("toDer"in r)return this.fromDer(r.toDer())}}throw new Error("Cannot construct Ed25519PublicKey from the provided key.")}static fromRaw(t){return new e(t)}static fromDer(t){return new e(this.derDecode(t))}static{this.RAW_KEY_LENGTH=32}static derEncode(t){let r=kn(t,Un);return r.__derEncodedPublicKey__=void 0,r}static derDecode(t){let r=Ln(t,Un);if(r.length!==this.RAW_KEY_LENGTH)throw new Error("An Ed25519 public key must be exactly 32bytes long");return r}#e;get rawKey(){return this.#e}#t;get derKey(){return this.#t}constructor(t){if(t.byteLength!==e.RAW_KEY_LENGTH)throw new Error("An Ed25519 public key must be exactly 32bytes long");this.#e=t,this.#t=e.derEncode(t)}toDer(){return this.derKey}toRaw(){return this.rawKey}},vt=class e extends Dt{static generate(t){if(t&&t.length!==32)throw new Error("Ed25519 Seed needs to be 32 bytes long.");t||(t=Ge.utils.randomPrivateKey()),Cl(t,new Uint8Array(new Array(32).fill(0)))&&console.warn("Seed is all zeros. This is not a secure seed. Please provide a seed with sufficient entropy if this is a production environment.");let r=new Uint8Array(32);for(let o=0;o<32;o++)r[o]=t[o];let n=Ge.getPublicKey(r);return e.fromKeyPair(n,r)}static fromParsedJson(t){let[r,n]=t;return new e(ui.fromDer(Ee(r)),Ee(n))}static fromJSON(t){let r=JSON.parse(t);if(Array.isArray(r)){if(typeof r[0]=="string"&&typeof r[1]=="string")return this.fromParsedJson([r[0],r[1]]);throw new Error("Deserialization error: JSON must have at least 2 items.")}throw new Error(`Deserialization error: Invalid JSON type for string: ${JSON.stringify(t)}`)}static fromKeyPair(t,r){return new e(ui.fromRaw(t),r)}static fromSecretKey(t){let r=Ge.getPublicKey(t);return e.fromKeyPair(r,t)}#e;#t;constructor(t,r){super(),this.#e=ui.from(t),this.#t=r}toJSON(){return[j(this.#e.toDer()),j(this.#t)]}getKeyPair(){return{secretKey:this.#t,publicKey:this.#e}}getPublicKey(){return this.#e}async sign(t){let r=Ge.sign(t,this.#t.slice(0,32));return Object.defineProperty(r,"__signature__",{enumerable:!1,value:void 0}),r}static verify(t,r,n){let[o,i,s]=[t,r,n].map(a=>(typeof a=="string"&&(a=Ee(a)),Ft(a)));return Ge.verify(o,i,s)}};var vc=class e extends Error{constructor(t){super(t),this.message=t,Object.setPrototypeOf(this,e.prototype)}};function Ld(e){if(typeof global<"u"&&global.crypto&&global.crypto.subtle)return global.crypto.subtle;if(e)return e;if(typeof crypto<"u"&&crypto.subtle)return crypto.subtle;throw new vc("Global crypto was not available and none was provided. Please inlcude a SubtleCrypto implementation. See https://developer.mozilla.org/en-US/docs/Web/API/SubtleCrypto")}var kt=class e extends Dt{static async generate(t){let{extractable:r=!1,keyUsages:n=["sign","verify"],subtleCrypto:o}=t??{},i=Ld(o),s=await i.generateKey({name:"ECDSA",namedCurve:"P-256"},r,n),a=Ft(await i.exportKey("spki",s.publicKey));return Object.assign(a,{__derEncodedPublicKey__:void 0}),new this(s,a,i)}static async fromKeyPair(t,r){let n=Ld(r),o=Ft(await n.exportKey("spki",t.publicKey));return Object.assign(o,{__derEncodedPublicKey__:void 0}),new e(t,o,n)}constructor(t,r,n){super(),this._keyPair=t,this._derKey=r,this._subtleCrypto=n}getKeyPair(){return this._keyPair}getPublicKey(){let t=this._derKey,r=Object.create(this._keyPair.publicKey);return r.toDer=function(){return t},r}async sign(t){let r={name:"ECDSA",hash:{name:"SHA-256"}},n=Ft(await this._subtleCrypto.sign(r,this._keyPair.privateKey,t));return Object.assign(n,{__signature__:void 0}),n}};var Os=class{#e;get rawKey(){return this.#e.rawKey}get derKey(){return this.#e.derKey}toDer(){return this.#e.toDer()}getPublicKey(){return this.#e}getPrincipal(){if(!this.#e.rawKey)throw new Error("Cannot get principal from a public key without a raw key.");return U.fromUint8Array(new Uint8Array(this.#e.rawKey))}transformRequest(){return Promise.reject("Not implemented. You are attempting to use a partial identity to sign calls, but this identity only has access to the public key.To sign calls, use a DelegationIdentity instead.")}constructor(t){this.#e=t}};function Es(e){return e instanceof Uint8Array?j(e):j(new Uint8Array(e))}function Ac(e){if(typeof e!="string"||e.length<64)throw new Error("Invalid public key.");return Ee(e)}var Jr=class{constructor(t,r,n){this.pubkey=t,this.expiration=r,this.targets=n}toCborValue(){return{pubkey:this.pubkey,expiration:this.expiration,...this.targets&&{targets:this.targets}}}toJSON(){return{expiration:this.expiration.toString(16),pubkey:Es(this.pubkey),...this.targets&&{targets:this.targets.map(t=>t.toHex())}}}};async function I_(e,t,r,n){let o=new Jr(t.toDer(),BigInt(+r)*BigInt(1e6),n),i=new Uint8Array([...Ra,...new Uint8Array(lr({...o}))]),s=await e.sign(i);return{delegation:o,signature:s}}var Nr=class e{static async create(t,r,n=new Date(Date.now()+900*1e3),o={}){let i=await I_(t,r,n,o.targets);return new e([...o.previous?.delegations||[],i],o.previous?.publicKey||t.getPublicKey().toDer())}static fromJSON(t){let{publicKey:r,delegations:n}=typeof t=="string"?JSON.parse(t):t;if(!Array.isArray(n))throw new Error("Invalid delegations.");let o=n.map(i=>{let{delegation:s,signature:a}=i,{pubkey:c,expiration:u,targets:p}=s;if(p!==void 0&&!Array.isArray(p))throw new Error("Invalid targets.");return{delegation:new Jr(Ac(c),BigInt("0x"+u),p&&p.map(d=>{if(typeof d!="string")throw new Error("Invalid target.");return U.fromHex(d)})),signature:Ac(a)}});return new this(o,Ac(r))}static fromDelegations(t,r){return new this(t,r)}constructor(t,r){this.delegations=t,this.publicKey=r}toJSON(){return{delegations:this.delegations.map(t=>{let{delegation:r,signature:n}=t,{targets:o}=r;return{delegation:{expiration:r.expiration.toString(16),pubkey:Es(r.pubkey),...o&&{targets:o.map(i=>i.toHex())}},signature:Es(n)}}),publicKey:Es(this.publicKey)}}},Or=class extends Dt{static fromDelegation(t,r){return new this(t,r)}constructor(t,r){super(),this._inner=t,this._delegation=r}getDelegation(){return this._delegation}getPublicKey(){return{derKey:this._delegation.publicKey,toDer:()=>this._delegation.publicKey}}sign(t){return this._inner.sign(t)}async transformRequest(t){let{body:r,...n}=t,o=await lr(r);return{...n,body:{content:r,sender_sig:await this.sign(new Uint8Array([...ko,...new Uint8Array(o)])),sender_delegation:this._delegation.delegations,sender_pubkey:this._delegation.publicKey}}}},di=class e extends Os{#e;get delegation(){return this.#e}constructor(t,r){super(t),this.#e=r}static fromDelegation(t,r){return new e(t,r)}};function Sc(e,t){for(let{delegation:o}of e.delegations)if(+new Date(Number(o.expiration/BigInt(1e6)))<=+Date.now())return!1;let r=[],n=t?.scope;n&&(Array.isArray(n)?r.push(...n.map(o=>typeof o=="string"?U.fromText(o):o)):r.push(typeof n=="string"?U.fromText(n):n));for(let o of r){let i=o.toText();for(let{delegation:s}of e.delegations){if(s.targets===void 0)continue;let a=!0;for(let c of s.targets)if(c.toText()===i){a=!1;break}if(a)return!1}}return!0}var qd=["mousedown","mousemove","keydown","touchstart","wheel"],pi=class e{callbacks=[];idleTimeout=600*1e3;timeoutID=void 0;static create(t={}){return new e(t)}constructor(t={}){let{onIdle:r,idleTimeout:n=600*1e3}=t||{};this.callbacks=r?[r]:[],this.idleTimeout=n;let o=this._resetTimer.bind(this);window.addEventListener("load",o,!0),qd.forEach(s=>{document.addEventListener(s,o,!0)});let i=(s,a)=>{let c;return(...u)=>{let p=this,d=()=>{c=void 0,s.apply(p,u)};clearTimeout(c),c=window.setTimeout(d,a)}};if(t?.captureScroll){let s=i(o,t?.scrollDebounce??100);window.addEventListener("scroll",s,!0)}o()}registerCallback(t){this.callbacks.push(t)}exit(){clearTimeout(this.timeoutID),window.removeEventListener("load",this._resetTimer,!0);let t=this._resetTimer.bind(this);qd.forEach(r=>{document.removeEventListener(r,t,!0)}),this.callbacks.forEach(r=>{r()})}_resetTimer(){let t=this.exit.bind(this);window.clearTimeout(this.timeoutID),this.timeoutID=window.setTimeout(t,this.idleTimeout)}};var v_=(e,t)=>t.some(r=>e instanceof r),Md,jd;function A_(){return Md||(Md=[IDBDatabase,IDBObjectStore,IDBIndex,IDBCursor,IDBTransaction])}function S_(){return jd||(jd=[IDBCursor.prototype.advance,IDBCursor.prototype.continue,IDBCursor.prototype.continuePrimaryKey])}var Kd=new WeakMap,Fc=new WeakMap,Hd=new WeakMap,Cc=new WeakMap,Vc=new WeakMap;function C_(e){let t=new Promise((r,n)=>{let o=()=>{e.removeEventListener("success",i),e.removeEventListener("error",s)},i=()=>{r(Lt(e.result)),o()},s=()=>{n(e.error),o()};e.addEventListener("success",i),e.addEventListener("error",s)});return t.then(r=>{r instanceof IDBCursor&&Kd.set(r,e)}).catch(()=>{}),Vc.set(t,e),t}function F_(e){if(Fc.has(e))return;let t=new Promise((r,n)=>{let o=()=>{e.removeEventListener("complete",i),e.removeEventListener("error",s),e.removeEventListener("abort",s)},i=()=>{r(),o()},s=()=>{n(e.error||new DOMException("AbortError","AbortError")),o()};e.addEventListener("complete",i),e.addEventListener("error",s),e.addEventListener("abort",s)});Fc.set(e,t)}var Pc={get(e,t,r){if(e instanceof IDBTransaction){if(t==="done")return Fc.get(e);if(t==="objectStoreNames")return e.objectStoreNames||Hd.get(e);if(t==="store")return r.objectStoreNames[1]?void 0:r.objectStore(r.objectStoreNames[0])}return Lt(e[t])},set(e,t,r){return e[t]=r,!0},has(e,t){return e instanceof IDBTransaction&&(t==="done"||t==="store")?!0:t in e}};function $d(e){Pc=e(Pc)}function P_(e){return e===IDBDatabase.prototype.transaction&&!("objectStoreNames"in IDBTransaction.prototype)?function(t,...r){let n=e.call(Rs(this),t,...r);return Hd.set(n,t.sort?t.sort():[t]),Lt(n)}:S_().includes(e)?function(...t){return e.apply(Rs(this),t),Lt(Kd.get(this))}:function(...t){return Lt(e.apply(Rs(this),t))}}function V_(e){return typeof e=="function"?P_(e):(e instanceof IDBTransaction&&F_(e),v_(e,A_())?new Proxy(e,Pc):e)}function Lt(e){if(e instanceof IDBRequest)return C_(e);if(Cc.has(e))return Cc.get(e);let t=V_(e);return t!==e&&(Cc.set(e,t),Vc.set(t,e)),t}var Rs=e=>Vc.get(e);function Jd(e,t,{blocked:r,upgrade:n,blocking:o,terminated:i}={}){let s=indexedDB.open(e,t),a=Lt(s);return n&&s.addEventListener("upgradeneeded",c=>{n(Lt(s.result),c.oldVersion,c.newVersion,Lt(s.transaction),c)}),r&&s.addEventListener("blocked",c=>r(c.oldVersion,c.newVersion,c)),a.then(c=>{i&&c.addEventListener("close",()=>i()),o&&c.addEventListener("versionchange",u=>o(u.oldVersion,u.newVersion,u))}).catch(()=>{}),a}var B_=["get","getKey","getAll","getAllKeys","count"],D_=["put","add","delete","clear"],Bc=new Map;function Gd(e,t){if(!(e instanceof IDBDatabase&&!(t in e)&&typeof t=="string"))return;if(Bc.get(t))return Bc.get(t);let r=t.replace(/FromIndex$/,""),n=t!==r,o=D_.includes(r);if(!(r in(n?IDBIndex:IDBObjectStore).prototype)||!(o||B_.includes(r)))return;let i=async function(s,...a){let c=this.transaction(s,o?"readwrite":"readonly"),u=c.store;return n&&(u=u.index(a.shift())),(await Promise.all([u[r](...a),o&&c.done]))[0]};return Bc.set(t,i),i}$d(e=>({...e,get:(t,r,n)=>Gd(t,r)||e.get(t,r,n),has:(t,r)=>!!Gd(t,r)||e.has(t,r)}));var Wd="auth-client-db",zd="ic-keyval",U_=async(e=Wd,t=zd,r)=>(globalThis.localStorage?.getItem(Je)&&(globalThis.localStorage.removeItem(Je),globalThis.localStorage.removeItem(We)),await Jd(e,r,{upgrade:n=>{n.objectStoreNames.contains(t)&&n.clear(t),n.createObjectStore(t)}}));async function k_(e,t,r){return await e.get(t,r)}async function L_(e,t,r,n){return await e.put(t,n,r)}async function q_(e,t,r){return await e.delete(t,r)}var Is=class e{constructor(t,r){this._db=t,this._storeName=r}static async create(t){let{dbName:r=Wd,storeName:n=zd,version:o=Yd}=t??{},i=await U_(r,n,o);return new e(i,n)}async set(t,r){return await L_(this._db,this._storeName,t,r)}async get(t){return await k_(this._db,this._storeName,t)??null}async remove(t){return await q_(this._db,this._storeName,t)}};var We="identity",Je="delegation",Zd="iv",Yd=1,fi=class{constructor(t="ic-",r){this.prefix=t,this._localStorage=r}get(t){return Promise.resolve(this._getLocalStorage().getItem(this.prefix+t))}set(t,r){return this._getLocalStorage().setItem(this.prefix+t,r),Promise.resolve()}remove(t){return this._getLocalStorage().removeItem(this.prefix+t),Promise.resolve()}_getLocalStorage(){if(this._localStorage)return this._localStorage;let t=globalThis.localStorage;if(!t)throw new Error("Could not find local storage.");return t}},qt=class{#e;constructor(t){this.#e=t??{}}initializedDb;get _db(){return new Promise((t,r)=>{if(this.initializedDb){t(this.initializedDb);return}Is.create(this.#e).then(n=>{this.initializedDb=n,t(n)}).catch(r)})}async get(t){return await(await this._db).get(t)}async set(t,r){await(await this._db).set(t,r)}async remove(t){await(await this._db).remove(t)}};var M_=BigInt(1e9),j_=BigInt(3600),K_=M_*j_,H_="https://identity.internetcomputer.org",$_="#authorize",G_=BigInt(8)*K_,Dc="ECDSA",Uc="Ed25519",J_=500,vs="UserInterrupt",hi=class e{constructor(t,r,n,o,i,s,a,c){this._identity=t,this._key=r,this._chain=n,this._storage=o,this.idleManager=i,this._createOptions=s,this._idpWindow=a,this._eventHandler=c,this._registerDefaultIdleCallback()}static async create(t={}){let r=t.storage??new qt,n=t.keyType??Dc,o=null;if(t.identity)o=t.identity;else{let c=await r.get(We);if(!c)try{let u=new fi,p=await u.get(Je),d=await u.get(We);p&&d&&n===Dc&&(console.log("Discovered an identity stored in localstorage. Migrating to IndexedDB"),await r.set(Je,p),await r.set(We,d),c=p,await u.remove(Je),await u.remove(We))}catch(u){console.error(`error while attempting to recover localstorage: ${u}`)}if(c)try{typeof c=="object"?n===Uc&&typeof c=="string"?o=vt.fromJSON(c):o=await kt.fromKeyPair(c):typeof c=="string"&&(o=vt.fromJSON(c))}catch{}}let i=new ot,s=null;if(o)try{let c=await r.get(Je);if(typeof c=="object"&&c!==null)throw new Error("Delegation chain is incorrectly stored. A delegation chain should be stored as a string.");t.identity?i=t.identity:c&&(s=Nr.fromJSON(c),Sc(s)?"toDer"in o?i=di.fromDelegation(o,s):i=Or.fromDelegation(o,s):(await kc(r),o=null))}catch(c){console.error(c),await kc(r),o=null}let a;return t.idleOptions?.disableIdle?a=void 0:(s||t.identity)&&(a=pi.create(t.idleOptions)),o||(n===Uc?o=vt.generate():(t.storage&&n===Dc&&console.warn(`You are using a custom storage provider that may not support CryptoKey storage. If you are using a custom storage provider that does not support CryptoKey storage, you should use '${Uc}' as the key type, as it can serialize to a string`),o=await kt.generate()),await Xd(r,o)),new e(i,o,s,r,a,t)}_registerDefaultIdleCallback(){let t=this._createOptions?.idleOptions;!t?.onIdle&&!t?.disableDefaultIdleCallback&&this.idleManager?.registerCallback(()=>{this.logout(),location.reload()})}async _handleSuccess(t,r){let n=t.delegations.map(a=>({delegation:new Jr(a.delegation.pubkey,a.delegation.expiration,a.delegation.targets),signature:a.signature})),o=Nr.fromDelegations(n,t.userPublicKey),i=this._key;if(!i)return;this._chain=o,"toDer"in i?this._identity=di.fromDelegation(i,this._chain):this._identity=Or.fromDelegation(i,this._chain),this._idpWindow?.close();let s=this._createOptions?.idleOptions;!this.idleManager&&!s?.disableIdle&&(this.idleManager=pi.create(s),this._registerDefaultIdleCallback()),this._removeEventListener(),delete this._idpWindow,this._chain&&await this._storage.set(Je,JSON.stringify(this._chain.toJSON())),await Xd(this._storage,this._key),r?.(t)}getIdentity(){return this._identity}async isAuthenticated(){return!this.getIdentity().getPrincipal().isAnonymous()&&this._chain!==null&&Sc(this._chain)}async login(t){let r=W_(this._createOptions?.loginOptions,t),n=r?.maxTimeToLive??G_,o=new URL(r?.identityProvider?.toString()||H_);o.hash=$_,this._idpWindow?.close(),this._removeEventListener(),this._eventHandler=this._getEventHandler(o,{maxTimeToLive:n,...r}),window.addEventListener("message",this._eventHandler),this._idpWindow=window.open(o.toString(),"idpWindow",r?.windowOpenerFeatures)??void 0;let i=()=>{this._idpWindow&&(this._idpWindow.closed?this._handleFailure(vs,r?.onError):setTimeout(i,J_))};i()}_getEventHandler(t,r){return async n=>{if(n.origin!==t.origin)return;let o=n.data;switch(o.kind){case"authorize-ready":{let i={kind:"authorize-client",sessionPublicKey:new Uint8Array(this._key?.getPublicKey().toDer()),maxTimeToLive:r?.maxTimeToLive,allowPinAuthentication:r?.allowPinAuthentication,derivationOrigin:r?.derivationOrigin?.toString(),...r?.customValues};this._idpWindow?.postMessage(i,t.origin);break}case"authorize-client-success":try{await this._handleSuccess(o,r?.onSuccess)}catch(i){this._handleFailure(i.message,r?.onError)}break;case"authorize-client-failure":this._handleFailure(o.text,r?.onError);break}}}_handleFailure(t,r){this._idpWindow?.close(),r?.(t),this._removeEventListener(),delete this._idpWindow}_removeEventListener(){this._eventHandler&&window.removeEventListener("message",this._eventHandler),this._eventHandler=void 0}async logout(t={}){if(await kc(this._storage),this._identity=new ot,this._chain=null,t.returnTo)try{window.history.pushState({},"",t.returnTo)}catch{window.location.href=t.returnTo}}};async function kc(e){await e.remove(We),await e.remove(Je),await e.remove(Zd)}function W_(e,t){if(!e&&!t)return;let r=e?.customValues||t?.customValues?{...e?.customValues,...t?.customValues}:void 0;return{...e,...t,customValues:r}}function z_(e){if(e instanceof kt)return e.getKeyPair();if(e instanceof vt)return JSON.stringify(e.toJSON());throw new Error("Unsupported key type")}async function Xd(e,t){let r=z_(t);await e.set(We,r)}var Ue=class e{static#e;#t;constructor(){}static getInstance(){return k(this.#e)&&(this.#e=new e),this.#e}createAuthClient=async()=>(this.#t=await hi.create({idleOptions:{disableIdle:!0,disableDefaultIdleCallback:!0}}),this.#t);safeCreateAuthClient=async()=>(await new qt().remove(We),await this.createAuthClient());getAuthClient=()=>this.#t;logout=async()=>{await this.#t?.logout(),this.#t=null};setAuthClientStorage=async({delegationChain:t,sessionKey:r})=>{let n=new qt;await Promise.all([n.set(We,r.getKeyPair()),n.set(Je,JSON.stringify(t.toJSON()))])}};var Lc=async e=>{await Y_(),await Ue.getInstance().createAuthClient(),e?.windowReload!==!1&&window.location.reload()},Y_=async()=>{await Ue.getInstance().logout(),De.getInstance().reset(),yo.getInstance().reset(),_o.getInstance().reset()};var Qd=e=>{let t=e===!0?"./workers/auth.worker.js":e,r=new Worker(t),n=async()=>{li({message:"junoSignOutAuthTimer"}),await Lc()};return r.onmessage=async({data:o})=>{let{msg:i,data:s}=o;switch(i){case"junoSignOutAuthTimer":await n();return;case"junoDelegationRemainingTime":li({message:"junoDelegationRemainingTime",detail:s?.authRemainingTime})}},De.getInstance().subscribe(o=>{if(k(o)){r.postMessage({msg:"junoStopAuthTimer"});return}r.postMessage({msg:"junoStartAuthTimer"})})};var go=class e{static#e;#t;#r;static CHANNEL_NAME="juno_core_auth_channel";static MESSAGE_LOGIN_SUCCESS="authClientLoginSuccess";constructor(){this.#t=new BroadcastChannel(e.CHANNEL_NAME),this.#r=window.crypto.randomUUID()}static getInstance(){return k(this.#e)&&(this.#e=new e),this.#e}onLoginSuccess=t=>{let{location:{origin:r}}=window;this.#t.onmessage=async({origin:n,data:o})=>{n===r&&z(o)&&o.msg==="authClientLoginSuccess"&&si(o.emitterId)&&o.emitterId!==this.#r&&await t()}};destroy=()=>{this.#t.close(),e.#e=null};postLoginSuccess=()=>{let t={emitterId:this.#r,msg:e.MESSAGE_LOGIN_SUCCESS};this.#t.postMessage(t)};get __test__only__emitter_id__(){return this.#r}};var Se=class e extends ho{static instance;env;constructor(){super()}static getInstance(){return e.instance||(e.instance=new e),e.instance}set(t){this.env=t,this.populate(t)}get(){return this.env}reset(){this.env=null}subscribe(t){let r=super.subscribe(t);return t(this.env),r}};var mi=async({fn:e,syncTabsOnSuccess:t})=>{let{authenticated:r}=await Z_({fn:e});!r||!t||Se.getInstance().get()?.syncTabs===!1||X_()},ep=async({fn:e})=>{let{createAuthClient:t}=Ue.getInstance(),n=await(await t()).isAuthenticated();await e({authenticated:n})},Z_=async({fn:e})=>{let{createAuthClient:t,safeCreateAuthClient:r}=Ue.getInstance();return await(await t()).isAuthenticated()?(await e(),{authenticated:!0}):(await r(),{authenticated:!1})},X_=()=>{try{go.getInstance().postLoginSuccess()}catch(e){console.warn("Auth BroadcastChannel posting failed",e)}};var qc=({error:e,type:t})=>typeof e=="string"?e.includes(t):e instanceof Error?e.message.includes(t):!1;var tp="juno.datastore.error.user.cannot_update";var Mt={certified:!1};var As=()=>Ue.getInstance().getAuthClient()?.getIdentity(),Q_=async()=>{let{getAuthClient:e,createAuthClient:t}=Ue.getInstance();return(e()??await t()).getIdentity()},ey=async()=>{let e=De.getInstance().get();if(k(e))return null;let t=Ue.getInstance().getAuthClient();return await t?.isAuthenticated()??!1?t?.getIdentity()??null:null};var de=e=>z(e)?e:As()??new ot;var Mc=({IDL:e})=>{let t=e.Variant({Heap:e.Null,Stable:e.Null}),r=e.Record({system_memory:e.Opt(t)}),n=e.Record({controllers:e.Vec(e.Principal),storage:e.Opt(r)}),o=e.Record({jwt:e.Text,session_key:e.Vec(e.Nat8),salt:e.Vec(e.Nat8)}),i=e.Variant({OpenId:o}),s=e.Record({updated_at:e.Nat64,owner:e.Principal,data:e.Vec(e.Nat8),description:e.Opt(e.Text),created_at:e.Nat64,version:e.Opt(e.Nat64)}),a=e.Record({user_key:e.Vec(e.Nat8),expiration:e.Nat64}),c=e.Record({doc:s,delegation:a}),u=e.Variant({BadClaim:e.Text,BadSig:e.Text,NoMatchingProvider:e.Null}),p=e.Variant({WrongKeyType:e.Null,MissingKid:e.Null,BadClaim:e.Text,BadSig:e.Text,NoKeyForKid:e.Null}),d=e.Variant({InvalidConfig:e.Text,MissingKid:e.Null,BadClaim:e.Text,KeyNotFoundCooldown:e.Null,CertificateNotFound:e.Null,BadSig:e.Text,MissingLastAttempt:e.Text,KeyNotFound:e.Null,FetchFailed:e.Text}),l=e.Variant({JwtFindProvider:u,GetCachedJwks:e.Null,JwtVerify:p,GetOrFetchJwks:d,DeriveSeedFailed:e.Text}),f=e.Variant({PrepareDelegation:l,RegisterUser:e.Text}),h=e.Variant({Ok:c,Err:f}),_=e.Record({batch_id:e.Nat,headers:e.Vec(e.Tuple(e.Text,e.Text)),chunk_ids:e.Vec(e.Nat)}),g=e.Record({sha256:e.Vec(e.Nat8),proposal_id:e.Nat}),m=e.Variant({UpdatedAt:e.Null,Keys:e.Null,CreatedAt:e.Null}),x=e.Record({field:m,desc:e.Bool}),y=e.Variant({Equal:e.Nat64,Between:e.Tuple(e.Nat64,e.Nat64),GreaterThan:e.Nat64,LessThan:e.Nat64}),T=e.Record({key:e.Opt(e.Text),updated_at:e.Opt(y),description:e.Opt(e.Text),created_at:e.Opt(y)}),E=e.Record({start_after:e.Opt(e.Text),limit:e.Opt(e.Nat64)}),O=e.Record({order:e.Opt(x),owner:e.Opt(e.Principal),matcher:e.Opt(T),paginate:e.Opt(E)}),R=e.Record({controllers:e.Vec(e.Principal)}),v=e.Variant({Write:e.Null,Admin:e.Null,Submit:e.Null}),w=e.Record({updated_at:e.Nat64,metadata:e.Vec(e.Tuple(e.Text,e.Text)),created_at:e.Nat64,scope:v,expires_at:e.Opt(e.Nat64)}),I=e.Record({version:e.Opt(e.Nat64)}),F=e.Variant({Db:e.Null,Storage:e.Null}),S=e.Record({version:e.Opt(e.Nat64)}),b=e.Record({proposal_ids:e.Vec(e.Nat)}),N=e.Record({cycles:e.Nat,destination_id:e.Principal}),C=e.Record({token:e.Opt(e.Text),collection:e.Text,owner:e.Principal,name:e.Text,description:e.Opt(e.Text),full_path:e.Text}),B=e.Record({modified:e.Nat64,sha256:e.Vec(e.Nat8),total_length:e.Nat}),L=e.Record({key:C,updated_at:e.Nat64,encodings:e.Vec(e.Tuple(e.Text,B)),headers:e.Vec(e.Tuple(e.Text,e.Text)),created_at:e.Nat64,version:e.Opt(e.Nat64)}),A=e.Variant({Google:e.Null}),P=e.Record({targets:e.Opt(e.Vec(e.Principal)),max_time_to_live:e.Opt(e.Nat64)}),V=e.Record({delegation:e.Opt(P),client_id:e.Text}),D=e.Record({observatory_id:e.Opt(e.Principal),providers:e.Vec(e.Tuple(A,V))}),q=e.Record({derivation_origin:e.Opt(e.Text),external_alternative_origins:e.Opt(e.Vec(e.Text))}),te=e.Record({allowed_callers:e.Vec(e.Principal)}),ee=e.Record({updated_at:e.Opt(e.Nat64),openid:e.Opt(D),created_at:e.Opt(e.Nat64),version:e.Opt(e.Nat64),internet_identity:e.Opt(q),rules:e.Opt(te)}),J=e.Record({stable:e.Opt(e.Nat64),heap:e.Opt(e.Nat64)}),ae=e.Record({updated_at:e.Opt(e.Nat64),created_at:e.Opt(e.Nat64),version:e.Opt(e.Nat64),max_memory_size:e.Opt(J)}),he=e.Variant({Deny:e.Null,AllowAny:e.Null,SameOrigin:e.Null}),Fe=e.Variant({Deny:e.Null,Allow:e.Null}),oe=e.Record({status_code:e.Nat16,location:e.Text}),re=e.Record({iframe:e.Opt(he),updated_at:e.Opt(e.Nat64),rewrites:e.Vec(e.Tuple(e.Text,e.Text)),headers:e.Vec(e.Tuple(e.Text,e.Vec(e.Tuple(e.Text,e.Text)))),created_at:e.Opt(e.Nat64),version:e.Opt(e.Nat64),max_memory_size:e.Opt(J),raw_access:e.Opt(Fe),redirects:e.Opt(e.Vec(e.Tuple(e.Text,oe)))}),Kt=e.Record({db:e.Opt(ae),authentication:e.Opt(ee),storage:re}),zr=e.Record({jwt:e.Text,session_key:e.Vec(e.Nat8),salt:e.Vec(e.Nat8),expiration:e.Nat64}),Yr=e.Variant({OpenId:zr}),Zr=e.Record({pubkey:e.Vec(e.Nat8),targets:e.Opt(e.Vec(e.Principal)),expiration:e.Nat64}),Xr=e.Record({signature:e.Vec(e.Nat8),delegation:Zr}),Ht=e.Variant({JwtFindProvider:u,GetCachedJwks:e.Null,NoSuchDelegation:e.Null,JwtVerify:p,GetOrFetchJwks:d,DeriveSeedFailed:e.Text}),Ze=e.Variant({Ok:Xr,Err:Ht}),$t=e.Variant({Initialized:e.Null,Failed:e.Null,Open:e.Null,Rejected:e.Null,Executed:e.Null,Accepted:e.Null}),Qr=e.Record({clear_existing_assets:e.Opt(e.Bool)}),en=e.Record({orbiter:e.Opt(e.Text),mission_control_version:e.Opt(e.Text),satellite_version:e.Opt(e.Text)}),Xe=e.Variant({AssetsUpgrade:Qr,SegmentsDeployment:en}),Qe=e.Record({status:$t,updated_at:e.Nat64,sha256:e.Opt(e.Vec(e.Nat8)),executed_at:e.Opt(e.Nat64),owner:e.Principal,created_at:e.Nat64,version:e.Opt(e.Nat64),proposal_type:Xe}),et=e.Variant({Controllers:e.Null,Private:e.Null,Public:e.Null,Managed:e.Null}),Gt=e.Record({max_tokens:e.Nat64,time_per_token_ns:e.Nat64}),tt=e.Record({max_capacity:e.Opt(e.Nat32),memory:e.Opt(t),updated_at:e.Nat64,max_size:e.Opt(e.Nat),read:et,created_at:e.Nat64,version:e.Opt(e.Nat64),mutable_permissions:e.Opt(e.Bool),rate_config:e.Opt(Gt),write:et,max_changes_per_user:e.Opt(e.Nat32)}),Jt=e.Record({url:e.Text,method:e.Text,body:e.Vec(e.Nat8),headers:e.Vec(e.Tuple(e.Text,e.Text)),certificate_version:e.Opt(e.Nat16)}),ht=e.Record({memory:t,token:e.Opt(e.Text),sha256:e.Opt(e.Vec(e.Nat8)),headers:e.Vec(e.Tuple(e.Text,e.Text)),index:e.Nat64,encoding_type:e.Text,full_path:e.Text}),tn=e.Variant({Callback:e.Record({token:ht,callback:e.Func([],[],["query"])})}),Wt=e.Record({body:e.Vec(e.Nat8),headers:e.Vec(e.Tuple(e.Text,e.Text)),streaming_strategy:e.Opt(tn),status_code:e.Nat16}),rn=e.Record({token:e.Opt(ht),body:e.Vec(e.Nat8)}),mt=e.Record({token:e.Opt(e.Text),collection:e.Text,name:e.Text,description:e.Opt(e.Text),encoding_type:e.Opt(e.Text),full_path:e.Text}),_t=e.Record({batch_id:e.Nat}),nn=e.Record({matches_pages:e.Opt(e.Nat64),matches_length:e.Nat64,items_page:e.Opt(e.Nat64),items:e.Vec(e.Tuple(e.Text,L)),items_length:e.Nat64}),on=e.Record({updated_at:e.Nat64,created_at:e.Nat64,version:e.Opt(e.Nat64),bn_id:e.Opt(e.Text)}),sn=e.Record({matches_pages:e.Opt(e.Nat64),matches_length:e.Nat64,items_page:e.Opt(e.Nat64),items:e.Vec(e.Tuple(e.Text,s)),items_length:e.Nat64}),an=e.Record({desc:e.Bool}),zt=e.Record({start_after:e.Opt(e.Nat),limit:e.Opt(e.Nat)}),cn=e.Record({order:e.Opt(an),paginate:e.Opt(zt)}),ln=e.Record({proposal_id:e.Nat}),Yt=e.Record({matches_length:e.Nat64,items:e.Vec(e.Tuple(ln,Qe)),items_length:e.Nat64}),un=e.Record({include_system:e.Bool}),dn=e.Record({matcher:e.Opt(un)}),pn=e.Record({matches_length:e.Nat64,items:e.Vec(e.Tuple(e.Text,tt)),items_length:e.Nat64}),fn=e.Record({stable:e.Nat64,heap:e.Nat64}),hn=e.Record({openid:e.Opt(D),version:e.Opt(e.Nat64),internet_identity:e.Opt(q),rules:e.Opt(te)}),mn=e.Record({metadata:e.Vec(e.Tuple(e.Text,e.Text)),scope:v,expires_at:e.Opt(e.Nat64)}),_n=e.Record({controller:mn,controllers:e.Vec(e.Principal)}),yn=e.Record({version:e.Opt(e.Nat64),max_memory_size:e.Opt(J)}),Zt=e.Record({data:e.Vec(e.Nat8),description:e.Opt(e.Text),version:e.Opt(e.Nat64)}),ke=e.Record({max_capacity:e.Opt(e.Nat32),memory:e.Opt(t),max_size:e.Opt(e.Nat),read:et,version:e.Opt(e.Nat64),mutable_permissions:e.Opt(e.Bool),rate_config:e.Opt(Gt),write:et,max_changes_per_user:e.Opt(e.Nat32)}),gn=e.Record({iframe:e.Opt(he),rewrites:e.Vec(e.Tuple(e.Text,e.Text)),headers:e.Vec(e.Tuple(e.Text,e.Vec(e.Tuple(e.Text,e.Text)))),version:e.Opt(e.Nat64),max_memory_size:e.Opt(J),raw_access:e.Opt(Fe),redirects:e.Opt(e.Vec(e.Tuple(e.Text,oe)))}),Xt=e.Record({content:e.Vec(e.Nat8),batch_id:e.Nat,order_id:e.Opt(e.Nat)}),rt=e.Record({chunk_id:e.Nat});return e.Service({authenticate:e.Func([i],[h],[]),commit_asset_upload:e.Func([_],[],[]),commit_proposal:e.Func([g],[e.Null],[]),commit_proposal_asset_upload:e.Func([_],[],[]),commit_proposal_many_assets_upload:e.Func([e.Vec(_)],[],[]),count_assets:e.Func([e.Text,O],[e.Nat64],["query"]),count_collection_assets:e.Func([e.Text],[e.Nat64],["query"]),count_collection_docs:e.Func([e.Text],[e.Nat64],["query"]),count_docs:e.Func([e.Text,O],[e.Nat64],["query"]),count_proposals:e.Func([],[e.Nat64],["query"]),del_asset:e.Func([e.Text,e.Text],[],[]),del_assets:e.Func([e.Text],[],[]),del_controllers:e.Func([R],[e.Vec(e.Tuple(e.Principal,w))],[]),del_custom_domain:e.Func([e.Text],[],[]),del_doc:e.Func([e.Text,e.Text,I],[],[]),del_docs:e.Func([e.Text],[],[]),del_filtered_assets:e.Func([e.Text,O],[],[]),del_filtered_docs:e.Func([e.Text,O],[],[]),del_many_assets:e.Func([e.Vec(e.Tuple(e.Text,e.Text))],[],[]),del_many_docs:e.Func([e.Vec(e.Tuple(e.Text,e.Text,I))],[],[]),del_rule:e.Func([F,e.Text,S],[],[]),delete_proposal_assets:e.Func([b],[],[]),deposit_cycles:e.Func([N],[],[]),get_asset:e.Func([e.Text,e.Text],[e.Opt(L)],["query"]),get_auth_config:e.Func([],[e.Opt(ee)],["query"]),get_config:e.Func([],[Kt],[]),get_db_config:e.Func([],[e.Opt(ae)],["query"]),get_delegation:e.Func([Yr],[Ze],["query"]),get_doc:e.Func([e.Text,e.Text],[e.Opt(s)],["query"]),get_many_assets:e.Func([e.Vec(e.Tuple(e.Text,e.Text))],[e.Vec(e.Tuple(e.Text,e.Opt(L)))],["query"]),get_many_docs:e.Func([e.Vec(e.Tuple(e.Text,e.Text))],[e.Vec(e.Tuple(e.Text,e.Opt(s)))],["query"]),get_proposal:e.Func([e.Nat],[e.Opt(Qe)],["query"]),get_rule:e.Func([F,e.Text],[e.Opt(tt)],["query"]),get_storage_config:e.Func([],[re],["query"]),http_request:e.Func([Jt],[Wt],["query"]),http_request_streaming_callback:e.Func([ht],[rn],["query"]),init_asset_upload:e.Func([mt],[_t],[]),init_proposal:e.Func([Xe],[e.Nat,Qe],[]),init_proposal_asset_upload:e.Func([mt,e.Nat],[_t],[]),init_proposal_many_assets_upload:e.Func([e.Vec(mt),e.Nat],[e.Vec(e.Tuple(e.Text,_t))],[]),list_assets:e.Func([e.Text,O],[nn],["query"]),list_controllers:e.Func([],[e.Vec(e.Tuple(e.Principal,w))],["query"]),list_custom_domains:e.Func([],[e.Vec(e.Tuple(e.Text,on))],["query"]),list_docs:e.Func([e.Text,O],[sn],["query"]),list_proposals:e.Func([cn],[Yt],["query"]),list_rules:e.Func([F,dn],[pn],["query"]),memory_size:e.Func([],[fn],["query"]),reject_proposal:e.Func([g],[e.Null],[]),set_asset_token:e.Func([e.Text,e.Text,e.Opt(e.Text)],[],[]),set_auth_config:e.Func([hn],[ee],[]),set_controllers:e.Func([_n],[e.Vec(e.Tuple(e.Principal,w))],[]),set_custom_domain:e.Func([e.Text,e.Opt(e.Text)],[],[]),set_db_config:e.Func([yn],[ae],[]),set_doc:e.Func([e.Text,e.Text,Zt],[s],[]),set_many_docs:e.Func([e.Vec(e.Tuple(e.Text,e.Text,Zt))],[e.Vec(e.Tuple(e.Text,s))],[]),set_rule:e.Func([F,e.Text,ke],[tt],[]),set_storage_config:e.Func([gn],[re],[]),submit_proposal:e.Func([e.Nat],[e.Nat,Qe],[]),switch_storage_system_memory:e.Func([],[],[]),upload_asset_chunk:e.Func([Xt],[rt],[]),upload_proposal_asset_chunk:e.Func([Xt],[rt],[])})},jc=({IDL:e})=>{let t=e.Variant({Heap:e.Null,Stable:e.Null}),r=e.Record({system_memory:e.Opt(t)}),n=e.Record({controllers:e.Vec(e.Principal),storage:e.Opt(r)}),o=e.Record({jwt:e.Text,session_key:e.Vec(e.Nat8),salt:e.Vec(e.Nat8)}),i=e.Variant({OpenId:o}),s=e.Record({updated_at:e.Nat64,owner:e.Principal,data:e.Vec(e.Nat8),description:e.Opt(e.Text),created_at:e.Nat64,version:e.Opt(e.Nat64)}),a=e.Record({user_key:e.Vec(e.Nat8),expiration:e.Nat64}),c=e.Record({doc:s,delegation:a}),u=e.Variant({BadClaim:e.Text,BadSig:e.Text,NoMatchingProvider:e.Null}),p=e.Variant({WrongKeyType:e.Null,MissingKid:e.Null,BadClaim:e.Text,BadSig:e.Text,NoKeyForKid:e.Null}),d=e.Variant({InvalidConfig:e.Text,MissingKid:e.Null,BadClaim:e.Text,KeyNotFoundCooldown:e.Null,CertificateNotFound:e.Null,BadSig:e.Text,MissingLastAttempt:e.Text,KeyNotFound:e.Null,FetchFailed:e.Text}),l=e.Variant({JwtFindProvider:u,GetCachedJwks:e.Null,JwtVerify:p,GetOrFetchJwks:d,DeriveSeedFailed:e.Text}),f=e.Variant({PrepareDelegation:l,RegisterUser:e.Text}),h=e.Variant({Ok:c,Err:f}),_=e.Record({batch_id:e.Nat,headers:e.Vec(e.Tuple(e.Text,e.Text)),chunk_ids:e.Vec(e.Nat)}),g=e.Record({sha256:e.Vec(e.Nat8),proposal_id:e.Nat}),m=e.Variant({UpdatedAt:e.Null,Keys:e.Null,CreatedAt:e.Null}),x=e.Record({field:m,desc:e.Bool}),y=e.Variant({Equal:e.Nat64,Between:e.Tuple(e.Nat64,e.Nat64),GreaterThan:e.Nat64,LessThan:e.Nat64}),T=e.Record({key:e.Opt(e.Text),updated_at:e.Opt(y),description:e.Opt(e.Text),created_at:e.Opt(y)}),E=e.Record({start_after:e.Opt(e.Text),limit:e.Opt(e.Nat64)}),O=e.Record({order:e.Opt(x),owner:e.Opt(e.Principal),matcher:e.Opt(T),paginate:e.Opt(E)}),R=e.Record({controllers:e.Vec(e.Principal)}),v=e.Variant({Write:e.Null,Admin:e.Null,Submit:e.Null}),w=e.Record({updated_at:e.Nat64,metadata:e.Vec(e.Tuple(e.Text,e.Text)),created_at:e.Nat64,scope:v,expires_at:e.Opt(e.Nat64)}),I=e.Record({version:e.Opt(e.Nat64)}),F=e.Variant({Db:e.Null,Storage:e.Null}),S=e.Record({version:e.Opt(e.Nat64)}),b=e.Record({proposal_ids:e.Vec(e.Nat)}),N=e.Record({cycles:e.Nat,destination_id:e.Principal}),C=e.Record({token:e.Opt(e.Text),collection:e.Text,owner:e.Principal,name:e.Text,description:e.Opt(e.Text),full_path:e.Text}),B=e.Record({modified:e.Nat64,sha256:e.Vec(e.Nat8),total_length:e.Nat}),L=e.Record({key:C,updated_at:e.Nat64,encodings:e.Vec(e.Tuple(e.Text,B)),headers:e.Vec(e.Tuple(e.Text,e.Text)),created_at:e.Nat64,version:e.Opt(e.Nat64)}),A=e.Variant({Google:e.Null}),P=e.Record({targets:e.Opt(e.Vec(e.Principal)),max_time_to_live:e.Opt(e.Nat64)}),V=e.Record({delegation:e.Opt(P),client_id:e.Text}),D=e.Record({observatory_id:e.Opt(e.Principal),providers:e.Vec(e.Tuple(A,V))}),q=e.Record({derivation_origin:e.Opt(e.Text),external_alternative_origins:e.Opt(e.Vec(e.Text))}),te=e.Record({allowed_callers:e.Vec(e.Principal)}),ee=e.Record({updated_at:e.Opt(e.Nat64),openid:e.Opt(D),created_at:e.Opt(e.Nat64),version:e.Opt(e.Nat64),internet_identity:e.Opt(q),rules:e.Opt(te)}),J=e.Record({stable:e.Opt(e.Nat64),heap:e.Opt(e.Nat64)}),ae=e.Record({updated_at:e.Opt(e.Nat64),created_at:e.Opt(e.Nat64),version:e.Opt(e.Nat64),max_memory_size:e.Opt(J)}),he=e.Variant({Deny:e.Null,AllowAny:e.Null,SameOrigin:e.Null}),Fe=e.Variant({Deny:e.Null,Allow:e.Null}),oe=e.Record({status_code:e.Nat16,location:e.Text}),re=e.Record({iframe:e.Opt(he),updated_at:e.Opt(e.Nat64),rewrites:e.Vec(e.Tuple(e.Text,e.Text)),headers:e.Vec(e.Tuple(e.Text,e.Vec(e.Tuple(e.Text,e.Text)))),created_at:e.Opt(e.Nat64),version:e.Opt(e.Nat64),max_memory_size:e.Opt(J),raw_access:e.Opt(Fe),redirects:e.Opt(e.Vec(e.Tuple(e.Text,oe)))}),Kt=e.Record({db:e.Opt(ae),authentication:e.Opt(ee),storage:re}),zr=e.Record({jwt:e.Text,session_key:e.Vec(e.Nat8),salt:e.Vec(e.Nat8),expiration:e.Nat64}),Yr=e.Variant({OpenId:zr}),Zr=e.Record({pubkey:e.Vec(e.Nat8),targets:e.Opt(e.Vec(e.Principal)),expiration:e.Nat64}),Xr=e.Record({signature:e.Vec(e.Nat8),delegation:Zr}),Ht=e.Variant({JwtFindProvider:u,GetCachedJwks:e.Null,NoSuchDelegation:e.Null,JwtVerify:p,GetOrFetchJwks:d,DeriveSeedFailed:e.Text}),Ze=e.Variant({Ok:Xr,Err:Ht}),$t=e.Variant({Initialized:e.Null,Failed:e.Null,Open:e.Null,Rejected:e.Null,Executed:e.Null,Accepted:e.Null}),Qr=e.Record({clear_existing_assets:e.Opt(e.Bool)}),en=e.Record({orbiter:e.Opt(e.Text),mission_control_version:e.Opt(e.Text),satellite_version:e.Opt(e.Text)}),Xe=e.Variant({AssetsUpgrade:Qr,SegmentsDeployment:en}),Qe=e.Record({status:$t,updated_at:e.Nat64,sha256:e.Opt(e.Vec(e.Nat8)),executed_at:e.Opt(e.Nat64),owner:e.Principal,created_at:e.Nat64,version:e.Opt(e.Nat64),proposal_type:Xe}),et=e.Variant({Controllers:e.Null,Private:e.Null,Public:e.Null,Managed:e.Null}),Gt=e.Record({max_tokens:e.Nat64,time_per_token_ns:e.Nat64}),tt=e.Record({max_capacity:e.Opt(e.Nat32),memory:e.Opt(t),updated_at:e.Nat64,max_size:e.Opt(e.Nat),read:et,created_at:e.Nat64,version:e.Opt(e.Nat64),mutable_permissions:e.Opt(e.Bool),rate_config:e.Opt(Gt),write:et,max_changes_per_user:e.Opt(e.Nat32)}),Jt=e.Record({url:e.Text,method:e.Text,body:e.Vec(e.Nat8),headers:e.Vec(e.Tuple(e.Text,e.Text)),certificate_version:e.Opt(e.Nat16)}),ht=e.Record({memory:t,token:e.Opt(e.Text),sha256:e.Opt(e.Vec(e.Nat8)),headers:e.Vec(e.Tuple(e.Text,e.Text)),index:e.Nat64,encoding_type:e.Text,full_path:e.Text}),tn=e.Variant({Callback:e.Record({token:ht,callback:e.Func([],[],[])})}),Wt=e.Record({body:e.Vec(e.Nat8),headers:e.Vec(e.Tuple(e.Text,e.Text)),streaming_strategy:e.Opt(tn),status_code:e.Nat16}),rn=e.Record({token:e.Opt(ht),body:e.Vec(e.Nat8)}),mt=e.Record({token:e.Opt(e.Text),collection:e.Text,name:e.Text,description:e.Opt(e.Text),encoding_type:e.Opt(e.Text),full_path:e.Text}),_t=e.Record({batch_id:e.Nat}),nn=e.Record({matches_pages:e.Opt(e.Nat64),matches_length:e.Nat64,items_page:e.Opt(e.Nat64),items:e.Vec(e.Tuple(e.Text,L)),items_length:e.Nat64}),on=e.Record({updated_at:e.Nat64,created_at:e.Nat64,version:e.Opt(e.Nat64),bn_id:e.Opt(e.Text)}),sn=e.Record({matches_pages:e.Opt(e.Nat64),matches_length:e.Nat64,items_page:e.Opt(e.Nat64),items:e.Vec(e.Tuple(e.Text,s)),items_length:e.Nat64}),an=e.Record({desc:e.Bool}),zt=e.Record({start_after:e.Opt(e.Nat),limit:e.Opt(e.Nat)}),cn=e.Record({order:e.Opt(an),paginate:e.Opt(zt)}),ln=e.Record({proposal_id:e.Nat}),Yt=e.Record({matches_length:e.Nat64,items:e.Vec(e.Tuple(ln,Qe)),items_length:e.Nat64}),un=e.Record({include_system:e.Bool}),dn=e.Record({matcher:e.Opt(un)}),pn=e.Record({matches_length:e.Nat64,items:e.Vec(e.Tuple(e.Text,tt)),items_length:e.Nat64}),fn=e.Record({stable:e.Nat64,heap:e.Nat64}),hn=e.Record({openid:e.Opt(D),version:e.Opt(e.Nat64),internet_identity:e.Opt(q),rules:e.Opt(te)}),mn=e.Record({metadata:e.Vec(e.Tuple(e.Text,e.Text)),scope:v,expires_at:e.Opt(e.Nat64)}),_n=e.Record({controller:mn,controllers:e.Vec(e.Principal)}),yn=e.Record({version:e.Opt(e.Nat64),max_memory_size:e.Opt(J)}),Zt=e.Record({data:e.Vec(e.Nat8),description:e.Opt(e.Text),version:e.Opt(e.Nat64)}),ke=e.Record({max_capacity:e.Opt(e.Nat32),memory:e.Opt(t),max_size:e.Opt(e.Nat),read:et,version:e.Opt(e.Nat64),mutable_permissions:e.Opt(e.Bool),rate_config:e.Opt(Gt),write:et,max_changes_per_user:e.Opt(e.Nat32)}),gn=e.Record({iframe:e.Opt(he),rewrites:e.Vec(e.Tuple(e.Text,e.Text)),headers:e.Vec(e.Tuple(e.Text,e.Vec(e.Tuple(e.Text,e.Text)))),version:e.Opt(e.Nat64),max_memory_size:e.Opt(J),raw_access:e.Opt(Fe),redirects:e.Opt(e.Vec(e.Tuple(e.Text,oe)))}),Xt=e.Record({content:e.Vec(e.Nat8),batch_id:e.Nat,order_id:e.Opt(e.Nat)}),rt=e.Record({chunk_id:e.Nat});return e.Service({authenticate:e.Func([i],[h],[]),commit_asset_upload:e.Func([_],[],[]),commit_proposal:e.Func([g],[e.Null],[]),commit_proposal_asset_upload:e.Func([_],[],[]),commit_proposal_many_assets_upload:e.Func([e.Vec(_)],[],[]),count_assets:e.Func([e.Text,O],[e.Nat64],[]),count_collection_assets:e.Func([e.Text],[e.Nat64],[]),count_collection_docs:e.Func([e.Text],[e.Nat64],[]),count_docs:e.Func([e.Text,O],[e.Nat64],[]),count_proposals:e.Func([],[e.Nat64],[]),del_asset:e.Func([e.Text,e.Text],[],[]),del_assets:e.Func([e.Text],[],[]),del_controllers:e.Func([R],[e.Vec(e.Tuple(e.Principal,w))],[]),del_custom_domain:e.Func([e.Text],[],[]),del_doc:e.Func([e.Text,e.Text,I],[],[]),del_docs:e.Func([e.Text],[],[]),del_filtered_assets:e.Func([e.Text,O],[],[]),del_filtered_docs:e.Func([e.Text,O],[],[]),del_many_assets:e.Func([e.Vec(e.Tuple(e.Text,e.Text))],[],[]),del_many_docs:e.Func([e.Vec(e.Tuple(e.Text,e.Text,I))],[],[]),del_rule:e.Func([F,e.Text,S],[],[]),delete_proposal_assets:e.Func([b],[],[]),deposit_cycles:e.Func([N],[],[]),get_asset:e.Func([e.Text,e.Text],[e.Opt(L)],[]),get_auth_config:e.Func([],[e.Opt(ee)],[]),get_config:e.Func([],[Kt],[]),get_db_config:e.Func([],[e.Opt(ae)],[]),get_delegation:e.Func([Yr],[Ze],[]),get_doc:e.Func([e.Text,e.Text],[e.Opt(s)],[]),get_many_assets:e.Func([e.Vec(e.Tuple(e.Text,e.Text))],[e.Vec(e.Tuple(e.Text,e.Opt(L)))],[]),get_many_docs:e.Func([e.Vec(e.Tuple(e.Text,e.Text))],[e.Vec(e.Tuple(e.Text,e.Opt(s)))],[]),get_proposal:e.Func([e.Nat],[e.Opt(Qe)],[]),get_rule:e.Func([F,e.Text],[e.Opt(tt)],[]),get_storage_config:e.Func([],[re],[]),http_request:e.Func([Jt],[Wt],[]),http_request_streaming_callback:e.Func([ht],[rn],[]),init_asset_upload:e.Func([mt],[_t],[]),init_proposal:e.Func([Xe],[e.Nat,Qe],[]),init_proposal_asset_upload:e.Func([mt,e.Nat],[_t],[]),init_proposal_many_assets_upload:e.Func([e.Vec(mt),e.Nat],[e.Vec(e.Tuple(e.Text,_t))],[]),list_assets:e.Func([e.Text,O],[nn],[]),list_controllers:e.Func([],[e.Vec(e.Tuple(e.Principal,w))],[]),list_custom_domains:e.Func([],[e.Vec(e.Tuple(e.Text,on))],[]),list_docs:e.Func([e.Text,O],[sn],[]),list_proposals:e.Func([cn],[Yt],[]),list_rules:e.Func([F,dn],[pn],[]),memory_size:e.Func([],[fn],[]),reject_proposal:e.Func([g],[e.Null],[]),set_asset_token:e.Func([e.Text,e.Text,e.Opt(e.Text)],[],[]),set_auth_config:e.Func([hn],[ee],[]),set_controllers:e.Func([_n],[e.Vec(e.Tuple(e.Principal,w))],[]),set_custom_domain:e.Func([e.Text,e.Opt(e.Text)],[],[]),set_db_config:e.Func([yn],[ae],[]),set_doc:e.Func([e.Text,e.Text,Zt],[s],[]),set_many_docs:e.Func([e.Vec(e.Tuple(e.Text,e.Text,Zt))],[e.Vec(e.Tuple(e.Text,s))],[]),set_rule:e.Func([F,e.Text,ke],[tt],[]),set_storage_config:e.Func([gn],[re],[]),submit_proposal:e.Func([e.Nat],[e.Nat,Qe],[]),switch_storage_system_memory:e.Func([],[],[]),upload_asset_chunk:e.Func([Xt],[rt],[]),upload_proposal_asset_chunk:e.Func([Xt],[rt],[])})},ty=({IDL:e})=>{let t=e.Record({e8s:e.Nat64}),r=e.Record({mission_control_id:e.Principal,user:e.Principal}),n=e.Record({jwt:e.Text,session_key:e.Vec(e.Nat8),salt:e.Vec(e.Nat8)}),o=e.Variant({OpenId:n}),i=e.Record({user_key:e.Vec(e.Nat8),expiration:e.Nat64}),s=e.Variant({Google:e.Null}),a=e.Record({name:e.Opt(e.Text),locale:e.Opt(e.Text),family_name:e.Opt(e.Text),email:e.Opt(e.Text),picture:e.Opt(e.Text),given_name:e.Opt(e.Text)}),c=e.Record({provider:s,data:a}),u=e.Variant({InternetIdentity:e.Null,OpenId:c}),p=e.Record({updated_at:e.Nat64,credits:t,mission_control_id:e.Opt(e.Principal),provider:e.Opt(u),owner:e.Principal,created_at:e.Nat64}),d=e.Record({delegation:i,account:p}),l=e.Variant({BadClaim:e.Text,BadSig:e.Text,NoMatchingProvider:e.Null}),f=e.Variant({WrongKeyType:e.Null,MissingKid:e.Null,BadClaim:e.Text,BadSig:e.Text,NoKeyForKid:e.Null}),h=e.Variant({InvalidConfig:e.Text,MissingKid:e.Null,BadClaim:e.Text,KeyNotFoundCooldown:e.Null,CertificateNotFound:e.Null,BadSig:e.Text,MissingLastAttempt:e.Text,KeyNotFound:e.Null,FetchFailed:e.Text}),_=e.Variant({JwtFindProvider:l,GetCachedJwks:e.Null,JwtVerify:f,GetOrFetchJwks:h,DeriveSeedFailed:e.Text}),g=e.Variant({PrepareDelegation:_,RegisterUser:e.Text}),m=e.Variant({Ok:d,Err:g}),x=e.Record({sha256:e.Vec(e.Nat8),proposal_id:e.Nat}),y=e.Record({batch_id:e.Nat,headers:e.Vec(e.Tuple(e.Text,e.Text)),chunk_ids:e.Vec(e.Nat)}),T=e.Record({subnet_id:e.Opt(e.Principal)}),E=e.Record({block_index:e.Opt(e.Nat64),subnet_id:e.Opt(e.Principal),name:e.Opt(e.Text),user:e.Principal}),O=e.Variant({Heap:e.Null,Stable:e.Null}),R=e.Record({system_memory:e.Opt(O)}),v=e.Record({block_index:e.Opt(e.Nat64),subnet_id:e.Opt(e.Principal),storage:e.Opt(R),name:e.Opt(e.Text),user:e.Principal}),w=e.Record({controllers:e.Vec(e.Principal)}),I=e.Record({proposal_ids:e.Vec(e.Nat)}),F=e.Record({targets:e.Opt(e.Vec(e.Principal)),max_time_to_live:e.Opt(e.Nat64)}),S=e.Record({delegation:e.Opt(F),client_id:e.Text}),b=e.Record({observatory_id:e.Opt(e.Principal),providers:e.Vec(e.Tuple(s,S))}),N=e.Record({derivation_origin:e.Opt(e.Text),external_alternative_origins:e.Opt(e.Vec(e.Text))}),C=e.Record({allowed_callers:e.Vec(e.Principal)}),B=e.Record({updated_at:e.Opt(e.Nat64),openid:e.Opt(b),created_at:e.Opt(e.Nat64),version:e.Opt(e.Nat64),internet_identity:e.Opt(N),rules:e.Opt(C)}),L=e.Variant({Deny:e.Null,AllowAny:e.Null,SameOrigin:e.Null}),A=e.Record({stable:e.Opt(e.Nat64),heap:e.Opt(e.Nat64)}),P=e.Variant({Deny:e.Null,Allow:e.Null}),V=e.Record({status_code:e.Nat16,location:e.Text}),D=e.Record({iframe:e.Opt(L),updated_at:e.Opt(e.Nat64),rewrites:e.Vec(e.Tuple(e.Text,e.Text)),headers:e.Vec(e.Tuple(e.Text,e.Vec(e.Tuple(e.Text,e.Text)))),created_at:e.Opt(e.Nat64),version:e.Opt(e.Nat64),max_memory_size:e.Opt(A),raw_access:e.Opt(P),redirects:e.Opt(e.Vec(e.Tuple(e.Text,V)))}),q=e.Record({authentication:e.Opt(B),storage:D}),te=e.Record({user:e.Principal}),ee=e.Record({jwt:e.Text,session_key:e.Vec(e.Nat8),salt:e.Vec(e.Nat8),expiration:e.Nat64}),J=e.Variant({OpenId:ee}),ae=e.Record({pubkey:e.Vec(e.Nat8),targets:e.Opt(e.Vec(e.Principal)),expiration:e.Nat64}),he=e.Record({signature:e.Vec(e.Nat8),delegation:ae}),Fe=e.Variant({JwtFindProvider:l,GetCachedJwks:e.Null,NoSuchDelegation:e.Null,JwtVerify:f,GetOrFetchJwks:h,DeriveSeedFailed:e.Text}),oe=e.Variant({Ok:he,Err:Fe}),re=e.Variant({Orbiter:e.Null,MissionControl:e.Null,Satellite:e.Null}),Kt=e.Record({e12s:e.Nat64}),zr=e.Record({updated_at:e.Nat64,fee_cycles:Kt,fee_icp:e.Opt(t)}),Yr=e.Variant({Initialized:e.Null,Failed:e.Null,Open:e.Null,Rejected:e.Null,Executed:e.Null,Accepted:e.Null}),Zr=e.Record({clear_existing_assets:e.Opt(e.Bool)}),Xr=e.Record({orbiter:e.Opt(e.Text),mission_control_version:e.Opt(e.Text),satellite_version:e.Opt(e.Text)}),Ht=e.Variant({AssetsUpgrade:Zr,SegmentsDeployment:Xr}),Ze=e.Record({status:Yr,updated_at:e.Nat64,sha256:e.Opt(e.Vec(e.Nat8)),executed_at:e.Opt(e.Nat64),owner:e.Principal,created_at:e.Nat64,version:e.Opt(e.Nat64),proposal_type:Ht}),$t=e.Record({max_tokens:e.Nat64,time_per_token_ns:e.Nat64}),Qr=e.Record({url:e.Text,method:e.Text,body:e.Vec(e.Nat8),headers:e.Vec(e.Tuple(e.Text,e.Text)),certificate_version:e.Opt(e.Nat16)}),en=e.Variant({Heap:e.Null,Stable:e.Null}),Xe=e.Record({memory:en,token:e.Opt(e.Text),sha256:e.Opt(e.Vec(e.Nat8)),headers:e.Vec(e.Tuple(e.Text,e.Text)),index:e.Nat64,encoding_type:e.Text,full_path:e.Text}),Qe=e.Variant({Callback:e.Record({token:Xe,callback:e.Func([],[],["query"])})}),et=e.Record({body:e.Vec(e.Nat8),headers:e.Vec(e.Tuple(e.Text,e.Text)),streaming_strategy:e.Opt(Qe),status_code:e.Nat16}),Gt=e.Record({token:e.Opt(Xe),body:e.Vec(e.Nat8)}),tt=e.Record({token:e.Opt(e.Text),collection:e.Text,name:e.Text,description:e.Opt(e.Text),encoding_type:e.Opt(e.Text),full_path:e.Text}),Jt=e.Record({batch_id:e.Nat}),ht=e.Variant({UpdatedAt:e.Null,Keys:e.Null,CreatedAt:e.Null}),tn=e.Record({field:ht,desc:e.Bool}),Wt=e.Variant({Equal:e.Nat64,Between:e.Tuple(e.Nat64,e.Nat64),GreaterThan:e.Nat64,LessThan:e.Nat64}),rn=e.Record({key:e.Opt(e.Text),updated_at:e.Opt(Wt),description:e.Opt(e.Text),created_at:e.Opt(Wt)}),mt=e.Record({start_after:e.Opt(e.Text),limit:e.Opt(e.Nat64)}),_t=e.Record({order:e.Opt(tn),owner:e.Opt(e.Principal),matcher:e.Opt(rn),paginate:e.Opt(mt)}),nn=e.Record({token:e.Opt(e.Text),collection:e.Text,owner:e.Principal,name:e.Text,description:e.Opt(e.Text),full_path:e.Text}),on=e.Record({modified:e.Nat64,sha256:e.Vec(e.Nat8),total_length:e.Nat}),sn=e.Record({key:nn,updated_at:e.Nat64,encodings:e.Vec(e.Tuple(e.Text,on)),headers:e.Vec(e.Tuple(e.Text,e.Text)),created_at:e.Nat64,version:e.Opt(e.Nat64)}),an=e.Record({matches_pages:e.Opt(e.Nat64),matches_length:e.Nat64,items_page:e.Opt(e.Nat64),items:e.Vec(e.Tuple(e.Text,sn)),items_length:e.Nat64}),zt=e.Variant({Write:e.Null,Admin:e.Null,Submit:e.Null}),cn=e.Record({updated_at:e.Nat64,metadata:e.Vec(e.Tuple(e.Text,e.Text)),created_at:e.Nat64,scope:zt,expires_at:e.Opt(e.Nat64)}),ln=e.Record({updated_at:e.Nat64,created_at:e.Nat64,version:e.Opt(e.Nat64),bn_id:e.Opt(e.Text)}),Yt=e.Variant({Refunded:e.Null,Acknowledged:e.Null,Completed:e.Null}),un=e.Record({status:Yt,updated_at:e.Nat64,block_index_payment:e.Nat64,mission_control_id:e.Opt(e.Principal),created_at:e.Nat64,block_index_refunded:e.Opt(e.Nat64)}),dn=e.Record({block_index:e.Nat64,ledger_id:e.Principal}),pn=e.Record({owner:e.Principal,subaccount:e.Opt(e.Vec(e.Nat8))}),fn=e.Record({status:Yt,updated_at:e.Nat64,created_at:e.Nat64,block_index_refunded:e.Opt(e.Nat64),purchaser:pn}),hn=e.Record({desc:e.Bool}),mn=e.Record({start_after:e.Opt(e.Nat),limit:e.Opt(e.Nat)}),_n=e.Record({order:e.Opt(hn),paginate:e.Opt(mn)}),yn=e.Record({proposal_id:e.Nat}),Zt=e.Record({matches_length:e.Nat64,items:e.Vec(e.Tuple(yn,Ze)),items_length:e.Nat64}),ke=e.Variant({Orbiter:e.Null,Satellite:e.Null}),gn=e.Record({segment_id:e.Opt(e.Principal),segment_kind:e.Opt(ke)}),Xt=e.Record({user:e.Principal,segment_id:e.Principal,segment_kind:ke}),rt=e.Record({updated_at:e.Nat64,metadata:e.Vec(e.Tuple(e.Text,e.Text)),segment_id:e.Principal,created_at:e.Nat64}),Zs=e.Record({openid:e.Opt(b),version:e.Opt(e.Nat64),internet_identity:e.Opt(N),rules:e.Opt(C)}),Xs=e.Record({metadata:e.Vec(e.Tuple(e.Text,e.Text)),scope:zt,expires_at:e.Opt(e.Nat64)}),Qs=e.Record({controller:Xs,controllers:e.Vec(e.Principal)}),ea=e.Record({fee_cycles:Kt,fee_icp:e.Opt(t)}),ta=e.Record({metadata:e.Opt(e.Vec(e.Tuple(e.Text,e.Text))),segment_id:e.Principal,segment_kind:ke}),ra=e.Record({metadata:e.Vec(e.Tuple(e.Text,e.Text)),segment_id:e.Principal,segment_kind:ke}),na=e.Record({iframe:e.Opt(L),rewrites:e.Vec(e.Tuple(e.Text,e.Text)),headers:e.Vec(e.Tuple(e.Text,e.Vec(e.Tuple(e.Text,e.Text)))),version:e.Opt(e.Nat64),max_memory_size:e.Opt(A),raw_access:e.Opt(P),redirects:e.Opt(e.Vec(e.Tuple(e.Text,V)))}),oa=e.Record({segment_id:e.Principal,segment_kind:ke}),ia=e.Record({content:e.Vec(e.Nat8),batch_id:e.Nat,order_id:e.Opt(e.Nat)}),sa=e.Record({chunk_id:e.Nat});return e.Service({add_credits:e.Func([e.Principal,t],[],[]),add_invitation_code:e.Func([e.Text],[],[]),assert_mission_control_center:e.Func([r],[],["query"]),authenticate:e.Func([o],[m],[]),commit_proposal:e.Func([x],[e.Null],[]),commit_proposal_asset_upload:e.Func([y],[],[]),commit_proposal_many_assets_upload:e.Func([e.Vec(y)],[],[]),count_proposals:e.Func([],[e.Nat64],["query"]),create_mission_control:e.Func([T],[e.Principal],[]),create_orbiter:e.Func([E],[e.Principal],[]),create_satellite:e.Func([v],[e.Principal],[]),del_controllers:e.Func([w],[],[]),del_custom_domain:e.Func([e.Text],[],[]),delete_proposal_assets:e.Func([I],[],[]),get_account:e.Func([],[e.Opt(p)],["query"]),get_auth_config:e.Func([],[e.Opt(B)],["query"]),get_config:e.Func([],[q],["query"]),get_create_orbiter_fee:e.Func([te],[e.Opt(t)],["query"]),get_create_satellite_fee:e.Func([te],[e.Opt(t)],["query"]),get_credits:e.Func([],[t],["query"]),get_delegation:e.Func([J],[oe],["query"]),get_fee:e.Func([re],[zr],["query"]),get_or_init_account:e.Func([],[p],[]),get_proposal:e.Func([e.Nat],[e.Opt(Ze)],["query"]),get_rate_config:e.Func([re],[$t],["query"]),get_storage_config:e.Func([],[D],["query"]),http_request:e.Func([Qr],[et],["query"]),http_request_streaming_callback:e.Func([Xe],[Gt],["query"]),init_proposal:e.Func([Ht],[e.Nat,Ze],[]),init_proposal_asset_upload:e.Func([tt,e.Nat],[Jt],[]),init_proposal_many_assets_upload:e.Func([e.Vec(tt),e.Nat],[e.Vec(e.Tuple(e.Text,Jt))],[]),list_accounts:e.Func([],[e.Vec(e.Tuple(e.Principal,p))],["query"]),list_assets:e.Func([e.Text,_t],[an],["query"]),list_controllers:e.Func([],[e.Vec(e.Tuple(e.Principal,cn))],["query"]),list_custom_domains:e.Func([],[e.Vec(e.Tuple(e.Text,ln))],["query"]),list_icp_payments:e.Func([],[e.Vec(e.Tuple(e.Nat64,un))],["query"]),list_icrc_payments:e.Func([],[e.Vec(e.Tuple(dn,fn))],["query"]),list_proposals:e.Func([_n],[Zt],["query"]),list_segments:e.Func([gn],[e.Vec(e.Tuple(Xt,rt))],["query"]),reject_proposal:e.Func([x],[e.Null],[]),set_auth_config:e.Func([Zs],[B],[]),set_controllers:e.Func([Qs],[],[]),set_custom_domain:e.Func([e.Text,e.Opt(e.Text)],[],[]),set_fee:e.Func([re,ea],[],[]),set_rate_config:e.Func([re,$t],[],[]),set_segment:e.Func([ta],[rt],[]),set_segment_metadata:e.Func([ra],[rt],[]),set_storage_config:e.Func([na],[D],[]),submit_proposal:e.Func([e.Nat],[e.Nat,Ze],[]),unset_segment:e.Func([oa],[],[]),upload_proposal_asset_chunk:e.Func([ia],[sa],[])})},ry=({IDL:e})=>{let t=e.Record({e8s:e.Nat64}),r=e.Record({mission_control_id:e.Principal,user:e.Principal}),n=e.Record({jwt:e.Text,session_key:e.Vec(e.Nat8),salt:e.Vec(e.Nat8)}),o=e.Variant({OpenId:n}),i=e.Record({user_key:e.Vec(e.Nat8),expiration:e.Nat64}),s=e.Variant({Google:e.Null}),a=e.Record({name:e.Opt(e.Text),locale:e.Opt(e.Text),family_name:e.Opt(e.Text),email:e.Opt(e.Text),picture:e.Opt(e.Text),given_name:e.Opt(e.Text)}),c=e.Record({provider:s,data:a}),u=e.Variant({InternetIdentity:e.Null,OpenId:c}),p=e.Record({updated_at:e.Nat64,credits:t,mission_control_id:e.Opt(e.Principal),provider:e.Opt(u),owner:e.Principal,created_at:e.Nat64}),d=e.Record({delegation:i,account:p}),l=e.Variant({BadClaim:e.Text,BadSig:e.Text,NoMatchingProvider:e.Null}),f=e.Variant({WrongKeyType:e.Null,MissingKid:e.Null,BadClaim:e.Text,BadSig:e.Text,NoKeyForKid:e.Null}),h=e.Variant({InvalidConfig:e.Text,MissingKid:e.Null,BadClaim:e.Text,KeyNotFoundCooldown:e.Null,CertificateNotFound:e.Null,BadSig:e.Text,MissingLastAttempt:e.Text,KeyNotFound:e.Null,FetchFailed:e.Text}),_=e.Variant({JwtFindProvider:l,GetCachedJwks:e.Null,JwtVerify:f,GetOrFetchJwks:h,DeriveSeedFailed:e.Text}),g=e.Variant({PrepareDelegation:_,RegisterUser:e.Text}),m=e.Variant({Ok:d,Err:g}),x=e.Record({sha256:e.Vec(e.Nat8),proposal_id:e.Nat}),y=e.Record({batch_id:e.Nat,headers:e.Vec(e.Tuple(e.Text,e.Text)),chunk_ids:e.Vec(e.Nat)}),T=e.Record({subnet_id:e.Opt(e.Principal)}),E=e.Record({block_index:e.Opt(e.Nat64),subnet_id:e.Opt(e.Principal),name:e.Opt(e.Text),user:e.Principal}),O=e.Variant({Heap:e.Null,Stable:e.Null}),R=e.Record({system_memory:e.Opt(O)}),v=e.Record({block_index:e.Opt(e.Nat64),subnet_id:e.Opt(e.Principal),storage:e.Opt(R),name:e.Opt(e.Text),user:e.Principal}),w=e.Record({controllers:e.Vec(e.Principal)}),I=e.Record({proposal_ids:e.Vec(e.Nat)}),F=e.Record({targets:e.Opt(e.Vec(e.Principal)),max_time_to_live:e.Opt(e.Nat64)}),S=e.Record({delegation:e.Opt(F),client_id:e.Text}),b=e.Record({observatory_id:e.Opt(e.Principal),providers:e.Vec(e.Tuple(s,S))}),N=e.Record({derivation_origin:e.Opt(e.Text),external_alternative_origins:e.Opt(e.Vec(e.Text))}),C=e.Record({allowed_callers:e.Vec(e.Principal)}),B=e.Record({updated_at:e.Opt(e.Nat64),openid:e.Opt(b),created_at:e.Opt(e.Nat64),version:e.Opt(e.Nat64),internet_identity:e.Opt(N),rules:e.Opt(C)}),L=e.Variant({Deny:e.Null,AllowAny:e.Null,SameOrigin:e.Null}),A=e.Record({stable:e.Opt(e.Nat64),heap:e.Opt(e.Nat64)}),P=e.Variant({Deny:e.Null,Allow:e.Null}),V=e.Record({status_code:e.Nat16,location:e.Text}),D=e.Record({iframe:e.Opt(L),updated_at:e.Opt(e.Nat64),rewrites:e.Vec(e.Tuple(e.Text,e.Text)),headers:e.Vec(e.Tuple(e.Text,e.Vec(e.Tuple(e.Text,e.Text)))),created_at:e.Opt(e.Nat64),version:e.Opt(e.Nat64),max_memory_size:e.Opt(A),raw_access:e.Opt(P),redirects:e.Opt(e.Vec(e.Tuple(e.Text,V)))}),q=e.Record({authentication:e.Opt(B),storage:D}),te=e.Record({user:e.Principal}),ee=e.Record({jwt:e.Text,session_key:e.Vec(e.Nat8),salt:e.Vec(e.Nat8),expiration:e.Nat64}),J=e.Variant({OpenId:ee}),ae=e.Record({pubkey:e.Vec(e.Nat8),targets:e.Opt(e.Vec(e.Principal)),expiration:e.Nat64}),he=e.Record({signature:e.Vec(e.Nat8),delegation:ae}),Fe=e.Variant({JwtFindProvider:l,GetCachedJwks:e.Null,NoSuchDelegation:e.Null,JwtVerify:f,GetOrFetchJwks:h,DeriveSeedFailed:e.Text}),oe=e.Variant({Ok:he,Err:Fe}),re=e.Variant({Orbiter:e.Null,MissionControl:e.Null,Satellite:e.Null}),Kt=e.Record({e12s:e.Nat64}),zr=e.Record({updated_at:e.Nat64,fee_cycles:Kt,fee_icp:e.Opt(t)}),Yr=e.Variant({Initialized:e.Null,Failed:e.Null,Open:e.Null,Rejected:e.Null,Executed:e.Null,Accepted:e.Null}),Zr=e.Record({clear_existing_assets:e.Opt(e.Bool)}),Xr=e.Record({orbiter:e.Opt(e.Text),mission_control_version:e.Opt(e.Text),satellite_version:e.Opt(e.Text)}),Ht=e.Variant({AssetsUpgrade:Zr,SegmentsDeployment:Xr}),Ze=e.Record({status:Yr,updated_at:e.Nat64,sha256:e.Opt(e.Vec(e.Nat8)),executed_at:e.Opt(e.Nat64),owner:e.Principal,created_at:e.Nat64,version:e.Opt(e.Nat64),proposal_type:Ht}),$t=e.Record({max_tokens:e.Nat64,time_per_token_ns:e.Nat64}),Qr=e.Record({url:e.Text,method:e.Text,body:e.Vec(e.Nat8),headers:e.Vec(e.Tuple(e.Text,e.Text)),certificate_version:e.Opt(e.Nat16)}),en=e.Variant({Heap:e.Null,Stable:e.Null}),Xe=e.Record({memory:en,token:e.Opt(e.Text),sha256:e.Opt(e.Vec(e.Nat8)),headers:e.Vec(e.Tuple(e.Text,e.Text)),index:e.Nat64,encoding_type:e.Text,full_path:e.Text}),Qe=e.Variant({Callback:e.Record({token:Xe,callback:e.Func([],[],[])})}),et=e.Record({body:e.Vec(e.Nat8),headers:e.Vec(e.Tuple(e.Text,e.Text)),streaming_strategy:e.Opt(Qe),status_code:e.Nat16}),Gt=e.Record({token:e.Opt(Xe),body:e.Vec(e.Nat8)}),tt=e.Record({token:e.Opt(e.Text),collection:e.Text,name:e.Text,description:e.Opt(e.Text),encoding_type:e.Opt(e.Text),full_path:e.Text}),Jt=e.Record({batch_id:e.Nat}),ht=e.Variant({UpdatedAt:e.Null,Keys:e.Null,CreatedAt:e.Null}),tn=e.Record({field:ht,desc:e.Bool}),Wt=e.Variant({Equal:e.Nat64,Between:e.Tuple(e.Nat64,e.Nat64),GreaterThan:e.Nat64,LessThan:e.Nat64}),rn=e.Record({key:e.Opt(e.Text),updated_at:e.Opt(Wt),description:e.Opt(e.Text),created_at:e.Opt(Wt)}),mt=e.Record({start_after:e.Opt(e.Text),limit:e.Opt(e.Nat64)}),_t=e.Record({order:e.Opt(tn),owner:e.Opt(e.Principal),matcher:e.Opt(rn),paginate:e.Opt(mt)}),nn=e.Record({token:e.Opt(e.Text),collection:e.Text,owner:e.Principal,name:e.Text,description:e.Opt(e.Text),full_path:e.Text}),on=e.Record({modified:e.Nat64,sha256:e.Vec(e.Nat8),total_length:e.Nat}),sn=e.Record({key:nn,updated_at:e.Nat64,encodings:e.Vec(e.Tuple(e.Text,on)),headers:e.Vec(e.Tuple(e.Text,e.Text)),created_at:e.Nat64,version:e.Opt(e.Nat64)}),an=e.Record({matches_pages:e.Opt(e.Nat64),matches_length:e.Nat64,items_page:e.Opt(e.Nat64),items:e.Vec(e.Tuple(e.Text,sn)),items_length:e.Nat64}),zt=e.Variant({Write:e.Null,Admin:e.Null,Submit:e.Null}),cn=e.Record({updated_at:e.Nat64,metadata:e.Vec(e.Tuple(e.Text,e.Text)),created_at:e.Nat64,scope:zt,expires_at:e.Opt(e.Nat64)}),ln=e.Record({updated_at:e.Nat64,created_at:e.Nat64,version:e.Opt(e.Nat64),bn_id:e.Opt(e.Text)}),Yt=e.Variant({Refunded:e.Null,Acknowledged:e.Null,Completed:e.Null}),un=e.Record({status:Yt,updated_at:e.Nat64,block_index_payment:e.Nat64,mission_control_id:e.Opt(e.Principal),created_at:e.Nat64,block_index_refunded:e.Opt(e.Nat64)}),dn=e.Record({block_index:e.Nat64,ledger_id:e.Principal}),pn=e.Record({owner:e.Principal,subaccount:e.Opt(e.Vec(e.Nat8))}),fn=e.Record({status:Yt,updated_at:e.Nat64,created_at:e.Nat64,block_index_refunded:e.Opt(e.Nat64),purchaser:pn}),hn=e.Record({desc:e.Bool}),mn=e.Record({start_after:e.Opt(e.Nat),limit:e.Opt(e.Nat)}),_n=e.Record({order:e.Opt(hn),paginate:e.Opt(mn)}),yn=e.Record({proposal_id:e.Nat}),Zt=e.Record({matches_length:e.Nat64,items:e.Vec(e.Tuple(yn,Ze)),items_length:e.Nat64}),ke=e.Variant({Orbiter:e.Null,Satellite:e.Null}),gn=e.Record({segment_id:e.Opt(e.Principal),segment_kind:e.Opt(ke)}),Xt=e.Record({user:e.Principal,segment_id:e.Principal,segment_kind:ke}),rt=e.Record({updated_at:e.Nat64,metadata:e.Vec(e.Tuple(e.Text,e.Text)),segment_id:e.Principal,created_at:e.Nat64}),Zs=e.Record({openid:e.Opt(b),version:e.Opt(e.Nat64),internet_identity:e.Opt(N),rules:e.Opt(C)}),Xs=e.Record({metadata:e.Vec(e.Tuple(e.Text,e.Text)),scope:zt,expires_at:e.Opt(e.Nat64)}),Qs=e.Record({controller:Xs,controllers:e.Vec(e.Principal)}),ea=e.Record({fee_cycles:Kt,fee_icp:e.Opt(t)}),ta=e.Record({metadata:e.Opt(e.Vec(e.Tuple(e.Text,e.Text))),segment_id:e.Principal,segment_kind:ke}),ra=e.Record({metadata:e.Vec(e.Tuple(e.Text,e.Text)),segment_id:e.Principal,segment_kind:ke}),na=e.Record({iframe:e.Opt(L),rewrites:e.Vec(e.Tuple(e.Text,e.Text)),headers:e.Vec(e.Tuple(e.Text,e.Vec(e.Tuple(e.Text,e.Text)))),version:e.Opt(e.Nat64),max_memory_size:e.Opt(A),raw_access:e.Opt(P),redirects:e.Opt(e.Vec(e.Tuple(e.Text,V)))}),oa=e.Record({segment_id:e.Principal,segment_kind:ke}),ia=e.Record({content:e.Vec(e.Nat8),batch_id:e.Nat,order_id:e.Opt(e.Nat)}),sa=e.Record({chunk_id:e.Nat});return e.Service({add_credits:e.Func([e.Principal,t],[],[]),add_invitation_code:e.Func([e.Text],[],[]),assert_mission_control_center:e.Func([r],[],[]),authenticate:e.Func([o],[m],[]),commit_proposal:e.Func([x],[e.Null],[]),commit_proposal_asset_upload:e.Func([y],[],[]),commit_proposal_many_assets_upload:e.Func([e.Vec(y)],[],[]),count_proposals:e.Func([],[e.Nat64],[]),create_mission_control:e.Func([T],[e.Principal],[]),create_orbiter:e.Func([E],[e.Principal],[]),create_satellite:e.Func([v],[e.Principal],[]),del_controllers:e.Func([w],[],[]),del_custom_domain:e.Func([e.Text],[],[]),delete_proposal_assets:e.Func([I],[],[]),get_account:e.Func([],[e.Opt(p)],[]),get_auth_config:e.Func([],[e.Opt(B)],[]),get_config:e.Func([],[q],[]),get_create_orbiter_fee:e.Func([te],[e.Opt(t)],[]),get_create_satellite_fee:e.Func([te],[e.Opt(t)],[]),get_credits:e.Func([],[t],[]),get_delegation:e.Func([J],[oe],[]),get_fee:e.Func([re],[zr],[]),get_or_init_account:e.Func([],[p],[]),get_proposal:e.Func([e.Nat],[e.Opt(Ze)],[]),get_rate_config:e.Func([re],[$t],[]),get_storage_config:e.Func([],[D],[]),http_request:e.Func([Qr],[et],[]),http_request_streaming_callback:e.Func([Xe],[Gt],[]),init_proposal:e.Func([Ht],[e.Nat,Ze],[]),init_proposal_asset_upload:e.Func([tt,e.Nat],[Jt],[]),init_proposal_many_assets_upload:e.Func([e.Vec(tt),e.Nat],[e.Vec(e.Tuple(e.Text,Jt))],[]),list_accounts:e.Func([],[e.Vec(e.Tuple(e.Principal,p))],[]),list_assets:e.Func([e.Text,_t],[an],[]),list_controllers:e.Func([],[e.Vec(e.Tuple(e.Principal,cn))],[]),list_custom_domains:e.Func([],[e.Vec(e.Tuple(e.Text,ln))],[]),list_icp_payments:e.Func([],[e.Vec(e.Tuple(e.Nat64,un))],[]),list_icrc_payments:e.Func([],[e.Vec(e.Tuple(dn,fn))],[]),list_proposals:e.Func([_n],[Zt],[]),list_segments:e.Func([gn],[e.Vec(e.Tuple(Xt,rt))],[]),reject_proposal:e.Func([x],[e.Null],[]),set_auth_config:e.Func([Zs],[B],[]),set_controllers:e.Func([Qs],[],[]),set_custom_domain:e.Func([e.Text,e.Opt(e.Text)],[],[]),set_fee:e.Func([re,ea],[],[]),set_rate_config:e.Func([re,$t],[],[]),set_segment:e.Func([ta],[rt],[]),set_segment_metadata:e.Func([ra],[rt],[]),set_storage_config:e.Func([na],[D],[]),submit_proposal:e.Func([e.Nat],[e.Nat,Ze],[]),unset_segment:e.Func([oa],[],[]),upload_proposal_asset_chunk:e.Func([ia],[sa],[])})};var ny=async({identity:e,host:t,localActor:r})=>await wr.create({identity:e,host:t,retryTimes:10,shouldFetchRootKey:r}),oy=async({agent:e,...t})=>e??await iy(t),iy=async({identity:e,container:t})=>{let r=z(t)&&t!==!1;return await ny({identity:e,host:r?t===!0?"http://127.0.0.1:5987":t:"https://icp-api.io",localActor:r})};var rp=({satelliteId:e,certified:t=!1,...r})=>op({canisterId:e,...r,idlFactory:t?jc:Mc});var np=({consoleId:e,certified:t=!1,...r})=>op({canisterId:e,...r,idlFactory:t?ry:ty}),op=({canisterId:e,idlFactory:t,...r})=>{if(k(e))throw new Error("No canister ID provided.");return sy({canisterId:e,idlFactory:t,...r})},sy=async({canisterId:e,idlFactory:t,config:r,...n})=>{let o=await oy(n);return fo.createActor(t,{agent:o,canisterId:e,...r??{}})};var ip=({satelliteId:e,container:t})=>{let{satelliteId:r}=Kc({satelliteId:e}),{container:n}=Hc({container:t});if(z(n)&&n!==!1){let{host:o,protocol:i}=new URL(n===!0?mo:n);return`${i}//${r??"unknown"}.${o.replace("127.0.0.1","localhost")}`}return`https://${r??"unknown"}.icp0.io`},Kc=({satelliteId:e})=>z(e)?{satelliteId:e}:Se.getInstance().get()??{satelliteId:void 0},Hc=({container:e})=>z(e)?{container:e}:Se.getInstance().get()??{container:void 0};var we=({satellite:e,options:{certified:t}})=>ap({idlFactory:t?jc:Mc,actorKey:`stock#${t?"update":"query"}`,...e}),sp=({idlFactory:e,...t})=>ap({idlFactory:e,actorKey:"extended#query",...t}),ap=async({satelliteId:e,container:t,...r})=>{let{satelliteId:n}=Kc({satelliteId:e});ai(n,"No satellite ID defined. Did you initialize Juno?");let{container:o}=Hc({container:t});return await yo.getInstance().getActor({satelliteId:n,container:o,...r})};var Ss=class extends Error{},Er=class extends Error{},Cs=class extends Error{},Fs=class extends Error{},Ps=class extends Error{},Vs=class extends Error{},Bs=class extends Error{},Ds=class extends Error{},Us=class extends Error{};var cp=e=>{if(k(e))return se();switch(e.matcher){case"equal":return se({Equal:e.timestamp});case"greaterThan":return se({GreaterThan:e.timestamp});case"lessThan":return se({LessThan:e.timestamp});case"between":return se({Between:[e.timestamps.start,e.timestamps.end]});default:throw new Us("Invalid list matcher for timestamp",e)}},Wr=({matcher:e,paginate:t,order:r,owner:n})=>({matcher:k(e)?[]:[{key:se(e.key),description:se(e.description),created_at:cp(e.createdAt),updated_at:cp(e.updatedAt)}],paginate:se(k(t)?void 0:{start_after:se(t.startAfter),limit:se(k(t.limit)?void 0:BigInt(t.limit))}),order:se(k(r)?void 0:{desc:r.desc,field:r.field==="created_at"?{CreatedAt:null}:r.field==="updated_at"?{UpdatedAt:null}:{Keys:null}}),owner:se(k(n)?void 0:typeof n=="string"?U.fromText(n):n)});var lp=async e=>{let t=new Blob([JSON.stringify(e,Rd)],{type:"application/json; charset=utf-8"});return new Uint8Array(await t.arrayBuffer())},ks=async e=>{let t=new Blob([e instanceof Uint8Array?e:new Uint8Array(e)],{type:"application/json; charset=utf-8"});return JSON.parse(await t.text(),Id)},Ls=()=>typeof window<"u";var up=async({data:e})=>{try{return await ks(e)}catch(t){console.error("The data parsing has failed, mapping to undefined as a fallback.",t);return}};var $c=async e=>{let{data:t,version:r,description:n}=e;return{description:se(n),data:await lp(t),version:se(r)}},Gc=e=>{let{version:t}=e;return{version:se(t)}},Mn=async({doc:e,key:t})=>{let{owner:r,version:n,description:o,data:i,...s}=e;return{key:t,description:be(o),owner:r.toText(),data:await ks(i),version:be(n),...s}};var dp=async({collection:e,key:t,...r})=>{let{get_doc:n}=await we(r),o=be(await n(e,t));if(!k(o))return Mn({doc:o,key:t})},pp=async({docs:e,...t})=>{let{get_many_docs:r}=await we(t),n=e.map(({collection:s,key:a})=>[s,a]),o=await r(n),i=[];for(let[s,a]of o){let c=be(a);i.push(z(c)?await Mn({key:s,doc:c}):void 0)}return i},fp=async({collection:e,doc:t,...r})=>{let{set_doc:n}=await we(r),{key:o}=t,i=await $c(t),s=await n(e,o,i);return await Mn({key:o,doc:s})},hp=async({docs:e,...t})=>{let{set_many_docs:r}=await we(t),n=[];for(let{collection:s,doc:a}of e){let{key:c}=a;n.push([s,c,await $c(a)])}let o=await r(n),i=[];for(let[s,a]of o)i.push(await Mn({key:s,doc:a}));return i},mp=async({collection:e,doc:t,...r})=>{let{del_doc:n}=await we(r),{key:o}=t;return n(e,o,Gc(t))},_p=async({docs:e,...t})=>{let{del_many_docs:r}=await we(t),n=e.map(({collection:o,doc:i})=>[o,i.key,Gc(i)]);await r(n)},yp=async({collection:e,filter:t,...r})=>{let{del_filtered_docs:n}=await we(r);return n(e,Wr(t))},gp=async({collection:e,filter:t,...r})=>{let{list_docs:n}=await we(r),{items:o,items_page:i,items_length:s,matches_length:a,matches_pages:c}=await n(e,Wr(t)),u=[];for(let[p,d]of o){let{data:l,owner:f,description:h,version:_,...g}=d;u.push({key:p,description:be(h),owner:f.toText(),data:await up({data:l}),version:be(_),...g})}return{items:u,items_length:s,items_page:be(i),matches_length:a,matches_pages:be(c)}},xp=async({collection:e,filter:t,...r})=>{let{count_docs:n}=await we(r);return n(e,Wr(t))};var qs=async({satellite:e,options:t,...r})=>{let n=de(e?.identity);return await dp({...r,satellite:{...e,identity:n},options:t??Mt})},hN=async({satellite:e,options:t,...r})=>{let n=de(e?.identity);return await pp({...r,satellite:{...e,identity:n},options:t??Mt})},bp=async({satellite:e,...t})=>{let r=de(e?.identity);return await fp({...t,satellite:{...e,identity:r},options:{certified:!0}})},wp=async({satellite:e,...t})=>{let r=de(e?.identity);return await hp({...t,satellite:{...e,identity:r},options:{certified:!0}})},mN=async({satellite:e,...t})=>{let r=de(e?.identity);return await mp({...t,satellite:{...e,identity:r},options:{certified:!0}})},_N=async({satellite:e,...t})=>{let r=de(e?.identity);return await _p({...t,satellite:{...e,identity:r},options:{certified:!0}})},yN=async({satellite:e,filter:t,...r})=>{let n=de(e?.identity);return await yp({...r,filter:t??{},satellite:{...e,identity:n},options:{certified:!0}})},gN=async({satellite:e,options:t,filter:r,...n})=>{let o=de(e?.identity);return await gp({...n,filter:r??{},satellite:{...e,identity:o},options:t??Mt})},xN=async({satellite:e,options:t,filter:r,...n})=>{let o=de(e?.identity);return await xp({...n,filter:r??{},satellite:{...e,identity:o},options:t??Mt})};var Tp=async({provider:e})=>{let{user:t,userId:r}=await Ms();if(z(t))return t;try{return await ay({userId:r,provider:e})}catch(n){if(qc({error:n,type:tp})){let o=await Np({userId:r});if(z(o))return o}throw n}},Ms=async()=>{let e=As();if(k(e))throw new Ds("No identity to initialize the user. Have you initialized Juno?");let t=e.getPrincipal().toText(),r=await Np({userId:t});return{userId:t,user:r}},Np=({userId:e})=>qs({collection:"#user",key:e}),ay=({userId:e,...t})=>bp({collection:"#user",doc:{key:e,data:t}});var js=async({syncTabsOnSuccess:e}={syncTabsOnSuccess:!1})=>{await mi({fn:async()=>{let{user:r}=await Ms();De.getInstance().set(r??null)},syncTabsOnSuccess:e})},Op=async()=>{await ep({fn:async({authenticated:t})=>{let n=t?Ms:()=>Promise.resolve({user:null}),{user:o}=await n();De.getInstance().set(o??null)}})},Ks=async({user:e})=>{await mi({fn:async()=>{De.getInstance().set(e)},syncTabsOnSuccess:!0})};var Ep=()=>{try{let e=go.getInstance(),t=async()=>{await Op(),li({message:"junoSignInReload"})};return e.onLoginSuccess(t),()=>{e?.destroy()}}catch(e){console.warn("Auth BroadcastChannel initialization failed",e);return}};var Rp=()=>{let e=()=>typeof import.meta<"u"&&typeof import.meta.env<"u"?import.meta.env?.VITE_SATELLITE_ID??import.meta.env?.PUBLIC_SATELLITE_ID:void 0;return typeof process<"u"&&typeof process.env<"u"?process.env.NEXT_PUBLIC_SATELLITE_ID??e():e()},Ip=()=>{let e=()=>typeof import.meta<"u"&&typeof import.meta.env<"u"?import.meta.env?.VITE_CONTAINER??import.meta.env?.PUBLIC_CONTAINER:void 0;return typeof process<"u"&&typeof process.env<"u"?process.env.NEXT_PUBLIC_CONTAINER??e():e()},vp=()=>{let e=()=>typeof import.meta<"u"&&typeof import.meta.env<"u"?import.meta.env?.VITE_GOOGLE_CLIENT_ID??import.meta.env?.PUBLIC_GOOGLE_CLIENT_ID:void 0;return typeof process<"u"&&typeof process.env<"u"?process.env.NEXT_PUBLIC_GOOGLE_CLIENT_ID??e():e()};var Ap=BigInt(144e11),Sp=!1,Cp={width:576,height:576},Fp={width:424,height:576};var _i="internetcomputer.org",Pp="ic0.app",Vp="id.ai";var Bp=({width:e,height:t})=>{if(!Ls()||k(window)||k(window.top))return;let{top:{innerWidth:r,innerHeight:n}}=window,o=n/2+screenY-t/2,i=r/2+screenX-e/2;return`toolbar=no, location=no, directories=no, status=no, menubar=no, scrollbars=yes, resizable=no, copyhistory=no, width=${e}, height=${t}, top=${o}, left=${i}`};var jt=async({fn:e,step:t,onProgress:r})=>{r?.({step:t,state:"in_progress"});try{let n=await e();return r?.({step:t,state:"success"}),n}catch(n){throw r?.({step:t,state:"error"}),n}};var Dp=(r=>(r[r.AuthorizingWithProvider=0]="AuthorizingWithProvider",r[r.CreatingOrRetrievingUser=1]="CreatingOrRetrievingUser",r))(Dp||{});var Hs=class{async signIn({options:t,authClient:r,initAuth:n}){await jt({fn:async()=>await this.#e({options:t,authClient:r}),step:0,onProgress:t?.onProgress}),await jt({fn:async()=>await n({provider:this.id}),step:1,onProgress:t?.onProgress})}#e({options:t,authClient:r}){return new Promise(async(n,o)=>{if(k(r)){o(new Er("No client is ready to perform a sign-in. Have you initialized the Satellite?"));return}await r.login({onSuccess:n,onError:i=>{if(i===vs){o(new Cs(i));return}o(new Ss(i))},maxTimeToLive:t?.maxTimeToLiveInNanoseconds??Ap,allowPinAuthentication:t?.allowPin??Sp,...t?.derivationOrigin!==void 0&&{derivationOrigin:t.derivationOrigin},...this.signInOptions({windowed:t?.windowed})})})}};var $s=class extends Hs{#e;constructor({domain:t}){super(),this.#e=t}get id(){return"internet_identity"}signInOptions({windowed:t}){let n=(()=>{let i=Se.getInstance().get()?.container;if(k(i)||i===!1){let p=[_i,Pp].includes(this.#e??_i);return qn(this.#e)?`https://identity.${_i}`:p?`https://identity.${this.#e??_i}`:`https://${this.#e}`}let s=Se.getInstance().get(),a=z(s)&&z(s?.internetIdentityId)?s.internetIdentityId:Dd,{host:c,protocol:u}=new URL(i===!0?mo:i);return/apple/i.test(navigator?.vendor)?`${u}//${c}?canisterId=${a}`:`${u}//${a}.${c.replace("127.0.0.1","localhost")}`})();return{...t!==!1&&{windowOpenerFeatures:Bp((()=>{try{let{hostname:i}=new URL(n);return i.includes(Vp)}catch{return!1}})()?Fp:Cp)},identityProvider:n}}};var Jc=class extends Error{},Wc=class extends Error{},zc=class extends Error{},Yc=class extends Error{},Zc=class extends Error{},Xc=class extends Error{},Qc=class extends Error{},Gs=class extends Error{},el=class extends Error{},tl=class extends Error{};var Js=e=>$r(e).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,""),xo=({url:e})=>{try{return new URL(e)}catch{throw new Jc("Cannot parse authURL",{cause:e})}};var Up=({initUrl:e})=>async({nonce:t})=>{let r=xo({url:e});r.searchParams.set("nonce",t);let{state:n}=await fetch(r.toString(),{credentials:"include"}).then(o=>o.json());return n};var cy=()=>Js(window.crypto.getRandomValues(new Uint8Array(12))),kp=async e=>cy();var Lp=({authUrl:e,clientId:t,authScopes:r,state:n,redirectUrl:o})=>{let i=xo({url:e});i.searchParams.set("client_id",t);let{location:{origin:s}}=window;i.searchParams.set("redirect_uri",o??s),i.searchParams.set("scope",r.join(" ")),i.searchParams.set("state",n),window.location.href=i.toString()};var qp=({authUrl:e,clientId:t,nonce:r,loginHint:n,authScopes:o,state:i,redirectUrl:s})=>{let a=xo({url:e});a.searchParams.set("client_id",t);let{location:{origin:c}}=window;a.searchParams.set("redirect_uri",s??c),a.searchParams.set("response_type","code id_token"),a.searchParams.set("scope",o.join(" ")),a.searchParams.set("state",i),a.searchParams.set("nonce",r),si(n)?a.searchParams.set("login_hint",n):a.searchParams.set("prompt","select_account"),window.location.href=a.toString()},Mp=async({configUrl:e,clientId:t,nonce:r,loginHint:n,domainHint:o})=>{let i=await navigator.credentials.get({identity:{context:"use",providers:[{configURL:e,clientId:t,nonce:r,loginHint:n,domainHint:o}],mode:"active"},mediation:"required"});if(k(i))throw new zc;let{type:s}=i;if(s!=="identity"||!("token"in i)||typeof i.token!="string")throw new Yc("Invalid credential received from FedCM API",{cause:i});let{token:a}=i;return{jwt:a}};var rl="juno:auth:openid",nl={authUrl:"https://accounts.google.com/o/oauth2/v2/auth",authScopes:["openid","profile","email"],configUrl:"https://accounts.google.com/gsi/fedcm.json"},jp={authUrl:"http://accounts.google.com/o/o/oauth2/v2/auth",authScopes:["read:user","repo"],initUrl:"http://localhost:3000/v1/auth/init/github",finalizeUrl:"http://localhost:3000/v1/auth/finalize/github"};var ly=()=>window.crypto.getRandomValues(new Uint8Array(32)),uy=async({salt:e,caller:t})=>{let r=t.getPrincipal().toUint8Array(),n=new Uint8Array(e.length+r.byteLength);n.set(e),n.set(r,e.length);let o=await window.crypto.subtle.digest("SHA-256",n);return Js(Tr(o))},dy=async({caller:e})=>{let t=ly();return{nonce:await uy({salt:t,caller:e}),salt:t}},Kp="__caller__",Hp="__salt__",$p="__state__",py=({caller:e,state:t,salt:r})=>{let n={[Kp]:e.toJSON(),[Hp]:$r(r),[$p]:t};return JSON.stringify(n)},fy=e=>{let{[Kp]:t,[Hp]:r,[$p]:n}=JSON.parse(e);return{caller:vt.fromParsedJson(t),salt:Ed(r),state:n}},ol=async({generateState:e})=>{let t=vt.generate(),{nonce:r,salt:n}=await dy({caller:t}),o=await e({nonce:r}),i=py({caller:t,salt:n,state:o});return sessionStorage.setItem(rl,i),{nonce:r,state:o}},Gp=()=>{let e=sessionStorage.getItem(rl);if(k(e))throw new Wc;return fy(e)};async function il(e){if("github"in e){let{github:s}=e,{redirect:a}=s,{initUrl:c,...u}=a,{authUrl:p,authScopes:d,initUrl:l}=jp,f=await ol({generateState:Up({initUrl:c??l})});Lp({...u,...f,authUrl:p,authScopes:d});return}let t=await ol({generateState:kp}),{google:r}=e;if("credentials"in r){let{credentials:s}=r,{configUrl:a}=nl;return await Mp({...s,...t,configUrl:a})}let{redirect:n}=r,{authUrl:o,authScopes:i}=nl;qp({...n,...t,authUrl:o,authScopes:i})}var Jp=({auth:e,identity:t})=>"satellite"in e?rp({...e.satellite,identity:t}):np({...e.console,identity:t}),hy=async({actorParams:e,args:t})=>{let{authenticate:r}=await Jp(e);return await r(t)},my=async({actorParams:e,args:t})=>{let{get_delegation:r}=await Jp(e);return await r(t)},_y=({delegations:e,sessionKey:t})=>{let[r,n]=e,o=Nr.fromDelegations(n,Uint8Array.from(r));return{identity:Or.fromDelegation(t,o),delegationChain:o,sessionKey:t}},Ws=async({jwt:e,context:t,auth:r})=>{let n=await kt.generate({extractable:!1}),o=new Uint8Array(n.getPublicKey().toDer()),{delegations:i,data:s}=await yy({jwt:e,publicKey:o,context:t,auth:r});return{identity:_y({sessionKey:n,delegations:i}),data:s}},yy=async({jwt:e,publicKey:t,context:{caller:r,salt:n},auth:o})=>{let i=await hy({args:{OpenId:{jwt:e,session_key:t,salt:n}},actorParams:{auth:o,identity:r}});if("Err"in i)throw new Zc("Authentication failed",{cause:i});let{delegation:{user_key:s,expiration:a},...c}=i.Ok,u=await gy({jwt:e,context:{caller:r,salt:n},auth:o,publicKey:t,expiration:a}),{delegation:p,signature:d}=u,{pubkey:l,expiration:f,targets:h}=p;return{delegations:[s,[{delegation:new Jr(Uint8Array.from(l),f,be(h)),signature:Uint8Array.from(d)}]],data:c}},gy=async({jwt:e,publicKey:t,context:{salt:r,caller:n},auth:o,expiration:i,maxRetries:s=5})=>{for(let a=0;a<s;a++){await new Promise(u=>{setInterval(u,1e3*a)});let c=await my({args:{OpenId:{jwt:e,session_key:t,salt:r,expiration:i}},actorParams:{auth:o,identity:n}});if("Err"in c){let{Err:u}=c;if("NoSuchDelegation"in u||"GetCachedJwks"in u)continue;throw new el("Getting delegation failed",{cause:c})}return c.Ok}throw new tl};var sl=async e=>{let t=Gp();if("github"in e){let{github:n}=e;return await by({...n,context:t})}let{google:r}=e;if("credentials"in r){let{credentials:{jwt:n},auth:o}=r;return await Ws({jwt:n,context:t,auth:o})}return await xy({...r,context:t})},xy=async({auth:e,context:t})=>{let{location:{hash:r}}=window;if(qn(r)||!r.startsWith("#"))throw new Xc("No hash found in the current location URL");let n=new URLSearchParams(r.slice(1)),o=n.get("state"),i=n.get("id_token"),{state:s}=t;if(qn(s)||o!==s)throw new Qc("The provided state is invalid",{cause:o});if(qn(i))throw new Gs;return await Ws({jwt:i,auth:e,context:t})},by=async({auth:e,context:t,redirect:{finalizeUrl:r}})=>{let{location:{search:n}}=window,o=new URLSearchParams(n),i=o.get("code"),s=o.get("state"),{token:a}=await fetch(r,{method:"POST",credentials:"include",headers:{"Content-Type":"application/json"},body:JSON.stringify({code:i,state:s})}).then(c=>c.json());if(qn(a))throw new Gs;return await Ws({jwt:a,auth:e,context:t})};var wy=async()=>{let{satelliteId:e}=Se.getInstance().get()??{satelliteId:void 0};if(k(e))throw new Er("Satellite ID not set. Have you initialized the Satellite?");let t=Se.getInstance().get()?.container,{identity:{delegationChain:r,sessionKey:n,identity:o},data:{doc:i}}=await sl({google:{redirect:null,auth:{satellite:{satelliteId:e,container:t}}}});await Ue.getInstance().setAuthClientStorage({delegationChain:r,sessionKey:n});let s=await Mn({doc:i,key:o.getPrincipal().toText()});await Ks({user:s})};var Wp=e=>(e.preventDefault(),e.returnValue="Are you sure you want to exit?"),Ty=()=>{window.addEventListener("beforeunload",Wp,{capture:!0})},Ny=()=>{window.removeEventListener("beforeunload",Wp,{capture:!0})},zs=async({fn:e})=>{try{return Ty(),await e()}finally{Ny()}};var Ys=class{async signIn({options:t={}}){let r=t?.redirect?.clientId??vp();if(k(r))throw new Ps;let{redirect:n}=t;await il({google:{redirect:{...n??{},clientId:r}}})}};var zp=async({delegationIdentity:e,passkeyIdentity:t,satelliteId:r})=>{let n=t.getCredential().getAAGUID(),[o,i]=await wp({docs:[{collection:"#user",doc:{key:e.getPrincipal().toText(),data:{provider:"webauthn",providerData:{webauthn:{...z(n)&&{aaguid:Ns(n)}}}}}},{collection:"#user-webauthn",doc:{key:t.getCredential().getCredentialIdText(),data:{publicKey:t.getPublicKey().toRaw()}}}],satellite:{identity:e,satelliteId:r}});return o};var Yp=(i=>(i[i.RequestingUserCredential=0]="RequestingUserCredential",i[i.FinalizingCredential=1]="FinalizingCredential",i[i.Signing=2]="Signing",i[i.FinalizingSession=3]="FinalizingSession",i[i.RetrievingUser=4]="RetrievingUser",i))(Yp||{}),Zp=(s=>(s[s.CreatingUserCredential=0]="CreatingUserCredential",s[s.ValidatingUserCredential=1]="ValidatingUserCredential",s[s.FinalizingCredential=2]="FinalizingCredential",s[s.Signing=3]="Signing",s[s.FinalizingSession=4]="FinalizingSession",s[s.RegisteringUser=5]="RegisteringUser",s))(Zp||{});var bo=class{async signUp({options:{onProgress:t,maxTimeToLiveInMilliseconds:r,passkey:n}={},loadAuthWithUser:o}){let{satelliteId:i}=Se.getInstance().get()??{satelliteId:void 0};if(k(i))throw new Er("Satellite ID not set. Have you initialized the Satellite?");let s=({step:_,state:g})=>{switch(_){case Gr.RequestingUserCredential:t?.({step:1,state:g});break;case Gr.FinalizingCredential:t?.({step:2,state:g});break;case Gr.Signing:t?.({step:3,state:g});break}},c=await jt({fn:async()=>await Ic.createWithNewCredential({onProgress:s,passkeyOptions:n}),step:0,onProgress:t}),{delegationIdentity:u,sessionKey:p}=await this.#e({identity:c,maxTimeToLiveInMilliseconds:r}),l=await jt({fn:async()=>await zp({delegationIdentity:u,passkeyIdentity:c,satelliteId:i}),step:5,onProgress:t});await jt({fn:async()=>await this.#t({delegationIdentity:u,sessionKey:p}),step:4,onProgress:t}),await jt({fn:async()=>await o({user:l}),step:5,onProgress:t})}async signIn({options:{onProgress:t,maxTimeToLiveInMilliseconds:r}={},loadAuth:n}){let{satelliteId:o}=Se.getInstance().get()??{satelliteId:void 0};if(k(o))throw new Er("Satellite ID not set. Have you initialized the Satellite?");let i=async({credentialId:d})=>{let l=await qs({collection:"#user-webauthn",key:$r(d),options:{certified:!0},satellite:{identity:new ot,satelliteId:o}});if(k(l))throw new Vs("No public key found for the selected passkey.");let{data:f}=l,{publicKey:h}=f;return Ln(h,oi)},s=({step:d,state:l})=>{switch(d){case Gr.RequestingUserCredential:t?.({step:0,state:l});break;case Gr.FinalizingCredential:t?.({step:1,state:l});break;case Gr.Signing:t?.({step:2,state:l});break}},a=await Ic.createWithExistingCredential({retrievePublicKey:i,onProgress:s}),{delegationIdentity:c,sessionKey:u}=await this.#e({identity:a,maxTimeToLiveInMilliseconds:r});await jt({fn:async()=>await this.#t({delegationIdentity:c,sessionKey:u}),step:3,onProgress:t}),await jt({fn:n,step:4,onProgress:t})}async#e({identity:t,maxTimeToLiveInMilliseconds:r}){let n=await kt.generate({extractable:!1}),o=r??144e5,i=await Nr.create(t,n.getPublicKey(),new Date(Date.now()+o));return{delegationIdentity:Or.fromDelegation(n,i),sessionKey:n}}async#t({sessionKey:t,delegationIdentity:r}){let n=new qt;await Promise.all([n.set(We,t.getKeyPair()),n.set(Je,JSON.stringify(r.getDelegation().toJSON()))])}};var Ey=async({provider:e})=>{await mi({fn:async()=>{let r=await Tp({provider:e});De.getInstance().set(r)},syncTabsOnSuccess:!0})},Ry=async e=>{if("google"in e){let{google:{options:t}}=e;await al({fn:()=>new Ys().signIn({options:t}),context:{windowGuard:!1}});return}if("webauthn"in e){let{webauthn:{options:t,context:r}}=e;await al({fn:()=>new bo().signIn({options:t,loadAuth:()=>js({syncTabsOnSuccess:!0})}),context:r});return}if("internet_identity"in e){let{internet_identity:{options:t,context:r}}=e,{domain:n,...o}=t??{};await al({fn:()=>new $s({domain:n}).signIn({options:o,authClient:Ue.getInstance().getAuthClient(),initAuth:Ey}),context:r});return}throw new Fs("An unknown or unsupported provider was provided for sign-in.")},al=async({fn:e,context:t})=>{if(t?.windowGuard===!1){await e();return}await zs({fn:e})};var Iy=async e=>{let t=async()=>await vy(e);if(Object.values(e)?.[0].context?.windowGuard===!1){await t();return}await zs({fn:t})},vy=async e=>{if("webauthn"in e){let{webauthn:{options:t}}=e;await new bo().signUp({options:t,loadAuthWithUser:Ks});return}throw new Bs("An unknown or unsupported provider was provided for sign-up.")};var i1=e=>e?.data?.provider==="webauthn",s1=e=>e?.data?.provider==="google";var u1=async({idlFactory:e,satellite:t})=>{let r=de(t?.identity);return await sp({idlFactory:e,...t,identity:r})};var Xp=async({asset:{data:e,headers:t,...r},actor:n,progress:o})=>{let{init_asset_upload:i,upload_asset_chunk:s,commit_asset_upload:a}=n,{batch_id:c}=await i(Ay(r));o?.onInitiatedBatch();let{chunkIds:u}=await Fy({data:e,uploadFn:s,batchId:c});o?.onUploadedFileChunks(r.fullPath),await Cy({commitFn:a,batchId:c,data:e,headers:t,chunkIds:u}),o?.onCommittedBatch()};var Ay=({filename:e,collection:t,token:r,fullPath:n,encoding:o,description:i})=>({collection:t,full_path:n,name:e,token:se(r),encoding_type:se(o),description:se(i)}),Sy=({batchId:e,chunkIds:t,headers:r,data:n})=>{let o=r.find(([i,s])=>i.toLowerCase()==="content-type")===void 0&&n.type!==void 0&&n.type!==""?[["Content-Type",n.type]]:void 0;return{batch_id:e,chunk_ids:t.map(({chunk_id:i})=>i),headers:[...r,...o??[]]}},Cy=async({commitFn:e,...t})=>{let r=Sy(t);await e(r)},Fy=async({data:e,uploadFn:t,batchId:r})=>{let n=[],o=Ls()?new Blob([await e.arrayBuffer()]):e,i=0n;for(let a=0;a<o.size;a+=19e5){let c=o.slice(a,a+19e5);n.push({batchId:r,chunk:c,uploadFn:t,orderId:i}),i++}let s=[];for await(let a of Py({uploadChunks:n}))s=[...s,...a];return{chunkIds:s}};async function*Py({uploadChunks:e,limit:t=12}){for(let r=0;r<e.length;r=r+t){let n=e.slice(r,r+t);yield await Promise.all(n.map(o=>Vy(o)))}}var Vy=async({batchId:e,chunk:t,uploadFn:r,orderId:n})=>r({batch_id:e,content:new Uint8Array(await t.arrayBuffer()),order_id:se(n)});var Qp=async({asset:e,...t})=>{let r=await we(t);await Xp({actor:r,asset:e})},ef=async({collection:e,filter:t,...r})=>{let{list_assets:n}=await we(r),{items:o,items_length:i,items_page:s,matches_length:a,matches_pages:c}=await n(e,Wr(t));return{items:o.map(([u,p])=>p),items_length:i,items_page:be(s),matches_length:a,matches_pages:be(c)}},tf=async({collection:e,filter:t,...r})=>{let{count_assets:n}=await we(r);return n(e,Wr(t))},rf=async({collection:e,fullPath:t,...r})=>(await we(r)).del_asset(e,t),nf=async({assets:e,satellite:t})=>{let{del_many_assets:r}=await we({satellite:t,options:{certified:!0}}),n=e.map(({collection:o,fullPath:i})=>[o,i]);await r(n)},of=async({collection:e,filter:t,...r})=>{let{del_filtered_assets:n}=await we(r);return n(e,Wr(t))},sf=async({collection:e,fullPath:t,token:r,...n})=>{let{set_asset_token:o}=await we(n);return o(e,t,se(r))},af=async({collection:e,fullPath:t,...r})=>{let{get_asset:n}=await we(r);return be(await n(e,t))},cf=async({assets:e,...t})=>{let{get_many_assets:r}=await we(t),n=e.map(({collection:i,fullPath:s})=>[i,s]);return(await r(n)).map(([i,s])=>be(s))};var lf=e=>btoa([...e].map(t=>String.fromCharCode(t)).join(""));var I1=e=>uf(e),v1=e=>uf({filename:e.data.name,...e}),uf=async({filename:e,data:t,collection:r,headers:n=[],fullPath:o,token:i,satellite:s,encoding:a,description:c})=>{let u=de(s?.identity),p=decodeURI(e),d=o??`/${r}/${p}`,l={...s,identity:u};return await Qp({asset:{data:t,filename:p,collection:r,token:i,headers:n,fullPath:d,encoding:a,description:c},satellite:l,options:{certified:!0}}),{downloadUrl:df({satellite:l,assetKey:{fullPath:d,token:i}}),fullPath:d,...z(i)&&{token:i},name:p}},A1=async({collection:e,filter:t,satellite:r,options:n})=>{let o={...r,identity:de(r?.identity)},{items:i,...s}=await ef({collection:e,filter:t??{},satellite:o,options:n??Mt}),a=i.map(({key:{full_path:c,token:u,name:p,owner:d,description:l},headers:f,encodings:h,created_at:_,updated_at:g})=>{let m=be(u);return{fullPath:c,description:be(l),name:p,downloadUrl:df({satellite:o,assetKey:{fullPath:c,token:m}}),token:m,headers:f,encodings:h.reduce((x,[y,{modified:T,sha256:E,total_length:O}])=>({...x,[y]:{modified:T,sha256:lf(E),total_length:O}}),{}),owner:d.toText(),created_at:_,updated_at:g}});return{items:a,assets:a,...s}},S1=async({collection:e,filter:t,satellite:r,options:n})=>{let o={...r,identity:de(r?.identity)};return await tf({collection:e,satellite:o,filter:t??{},options:n??Mt})},C1=({collection:e,fullPath:t,satellite:r})=>rf({collection:e,fullPath:t,satellite:{...r,identity:de(r?.identity)},options:{certified:!0}}),F1=({collection:e,fullPath:t,token:r,satellite:n})=>sf({collection:e,fullPath:t,token:r,satellite:{...n,identity:de(n?.identity)},options:{certified:!0}}),P1=({assets:e,satellite:t})=>nf({assets:e,satellite:{...t,identity:de(t?.identity)},options:{certified:!0}}),V1=async({collection:e,satellite:t,filter:r})=>{let n={...t,identity:de(t?.identity)};return await of({collection:e,satellite:n,filter:r??{},options:{certified:!0}})},B1=async({satellite:e,options:t,...r})=>{let n=de(e?.identity);return await af({...r,satellite:{...e,identity:n},options:t??Mt})},D1=async({satellite:e,options:t,...r})=>{let n=de(e?.identity);return await cf({...r,satellite:{...e,identity:n},options:t??Mt})},df=({assetKey:{fullPath:e,token:t},satellite:r})=>{let n={...r,identity:de(r?.identity)};return`${ip(n)}${e}${z(t)?`?token=${t}`:""}`};var By=e=>{let t=e?.satelliteId??Rp();ai(t,"Satellite ID is not configured. Juno cannot be initialized.");let r=e?.container??Ip();return{satelliteId:t,internetIdentityId:e?.internetIdentityId,workers:e?.workers,syncTabs:e?.syncTabs,container:r}},G1=e=>Dy(e),Dy=async e=>{let t=By(e);Se.getInstance().set(t),await js();let r=t.workers?.auth!==void 0?Qd(t.workers.auth):void 0,n=t.syncTabs===!1?void 0:Ep();return[...z(r)?[r]:[],...z(n)?[n]:[]]},Uy=e=>De.getInstance().subscribe(e),J1=Uy;export{Dp as AuthClientSignInProgressStep,Ds as InitError,$s as InternetIdentityProvider,Us as ListError,Ss as SignInError,Er as SignInInitError,Ps as SignInMissingClientIdError,Fs as SignInProviderNotSupportedError,Cs as SignInUserInterruptError,Bs as SignUpProviderNotSupportedError,Yp as WebAuthnSignInProgressStep,Vs as WebAuthnSignInRetrievePublicKeyError,Zp as WebAuthnSignUpProgressStep,J1 as authSubscribe,S1 as countAssets,xN as countDocs,C1 as deleteAsset,mN as deleteDoc,V1 as deleteFilteredAssets,yN as deleteFilteredDocs,P1 as deleteManyAssets,_N as deleteManyDocs,df as downloadUrl,B1 as getAsset,qs as getDoc,ey as getIdentityOnce,D1 as getManyAssets,hN as getManyDocs,u1 as getSatelliteExtendedActor,wy as handleRedirectCallback,G1 as initJuno,Dy as initSatellite,s1 as isGoogleUser,R_ as isWebAuthnAvailable,i1 as isWebAuthnUser,A1 as listAssets,gN as listDocs,Uy as onAuthStateChange,F1 as setAssetToken,bp as setDoc,wp as setManyDocs,Ry as signIn,Lc as signOut,Iy as signUp,Q_ as unsafeIdentity,I1 as uploadBlob,v1 as uploadFile};
|
|
57
57
|
/*! Bundled license information:
|
|
58
58
|
|
|
59
59
|
@noble/hashes/esm/utils.js:
|