@junobuild/core-standalone 3.2.0 → 3.3.1
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
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
var Pp=Object.defineProperty;var Bp=(e,t)=>{for(var r in t)Pp(e,r,{get:t[r],enumerable:!0})};var qc;(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"})(qc||(qc={}));var fr;(function(e){e.Replied="replied",e.Rejected="rejected"})(fr||(fr={}));function Mc(e){return e!=null&&"reject_code"in e}function jc(e){return e!=null&&"certificate"in e}var di="abcdefghijklmnopqrstuvwxyz234567",Cn=Object.create(null);for(let e=0;e<di.length;e++)Cn[di[e]]=e;Cn[0]=Cn.o;Cn[1]=Cn.i;function Kc(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+=di[r>>3],t+=5),0)}for(let i=0;i<e.length;)i+=o(e[i]);return n+(t<0?di[r>>3]:"")}function Hc(e){let t=0,r=0,n=new Uint8Array(e.length*4/3|0),o=0;function i(s){let a=Cn[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 Dp=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 $c(e){let t=-1;for(let r=0;r<e.length;r++){let o=(e[r]^t)&255;t=Dp[o]^t>>>8}return(t^-1)>>>0}var cn=typeof globalThis=="object"&&"crypto"in globalThis?globalThis.crypto:void 0;function Ot(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&e.constructor.name==="Uint8Array"}function qs(e){if(!Number.isSafeInteger(e)||e<0)throw new Error("positive integer expected, got "+e)}function fe(e,...t){if(!Ot(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 Ms(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 Jc(e,t){fe(e);let r=t.outputLen;if(e.length<r)throw new Error("digestInto() expects output buffer of length at least "+r)}function ln(...e){for(let t=0;t<e.length;t++)e[t].fill(0)}function fi(e){return new DataView(e.buffer,e.byteOffset,e.byteLength)}function ft(e,t){return e<<32-t|e>>>t}var Wc=typeof Uint8Array.from([]).toHex=="function"&&typeof Uint8Array.fromHex=="function",Up=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,"0"));function H(e){if(fe(e),Wc)return e.toHex();let t="";for(let r=0;r<e.length;r++)t+=Up[e[r]];return t}var jt={_0:48,_9:57,A:65,F:70,a:97,f:102};function Gc(e){if(e>=jt._0&&e<=jt._9)return e-jt._0;if(e>=jt.A&&e<=jt.F)return e-(jt.A-10);if(e>=jt.a&&e<=jt.f)return e-(jt.a-10)}function Ne(e){if(typeof e!="string")throw new Error("hex string expected, got "+typeof e);if(Wc)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=Gc(e.charCodeAt(i)),a=Gc(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 ee(e){if(typeof e!="string")throw new Error("string expected");return new Uint8Array(new TextEncoder().encode(e))}function js(e){return typeof e=="string"&&(e=ee(e)),fe(e),e}function j(...e){let t=0;for(let n=0;n<e.length;n++){let o=e[n];fe(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 pi=class{};function hi(e){let t=n=>e().update(js(n)).digest(),r=e();return t.outputLen=r.outputLen,t.blockLen=r.blockLen,t.create=()=>e(),t}function Pn(e=32){if(cn&&typeof cn.getRandomValues=="function")return cn.getRandomValues(new Uint8Array(e));if(cn&&typeof cn.randomBytes=="function")return Uint8Array.from(cn.randomBytes(e));throw new Error("crypto.getRandomValues must be defined")}function kp(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 zc(e,t,r){return e&t^~e&r}function Yc(e,t,r){return e&t^e&r^t&r}var mo=class extends pi{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=fi(this.buffer)}update(t){Ms(this),t=js(t),fe(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=fi(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){Ms(this),Jc(t,this),this.finished=!0;let{buffer:r,view:n,blockLen:o,isLE:i}=this,{pos:s}=this;r[s++]=128,ln(this.buffer.subarray(s)),this.padOffset>o-s&&(this.process(n,0),s=0);for(let d=s;d<o;d++)r[d]=0;kp(n,o-8,BigInt(this.length*8),i),this.process(n,0);let a=fi(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()}},Kt=Uint32Array.from([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),Ht=Uint32Array.from([3238371032,914150663,812702999,4144912697,4290775857,1750603025,1694076839,3204075428]);var Ie=Uint32Array.from([1779033703,4089235720,3144134277,2227873595,1013904242,4271175723,2773480762,1595750129,1359893119,2917565137,2600822924,725511199,528734635,4215389547,1541459225,327033209]);var mi=BigInt(4294967295),Zc=BigInt(32);function Lp(e,t=!1){return t?{h:Number(e&mi),l:Number(e>>Zc&mi)}:{h:Number(e>>Zc&mi)|0,l:Number(e&mi)|0}}function Xc(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}=Lp(e[i],t);[n[i],o[i]]=[s,a]}return[n,o]}var Ks=(e,t,r)=>e>>>r,Hs=(e,t,r)=>e<<32-r|t>>>r,un=(e,t,r)=>e>>>r|t<<32-r,dn=(e,t,r)=>e<<32-r|t>>>r,_o=(e,t,r)=>e<<64-r|t>>>r-32,yo=(e,t,r)=>e>>>r-32|t<<64-r;function Et(e,t,r,n){let o=(t>>>0)+(n>>>0);return{h:e+r+(o/2**32|0)|0,l:o|0}}var Qc=(e,t,r)=>(e>>>0)+(t>>>0)+(r>>>0),el=(e,t,r,n)=>t+r+n+(e/2**32|0)|0,tl=(e,t,r,n)=>(e>>>0)+(t>>>0)+(r>>>0)+(n>>>0),rl=(e,t,r,n,o)=>t+r+n+o+(e/2**32|0)|0,nl=(e,t,r,n,o)=>(e>>>0)+(t>>>0)+(r>>>0)+(n>>>0)+(o>>>0),ol=(e,t,r,n,o,i)=>t+r+n+o+i+(e/2**32|0)|0;var Mp=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]),hr=new Uint32Array(64),_i=class extends mo{constructor(t=32){super(64,t,8,!1),this.A=Kt[0]|0,this.B=Kt[1]|0,this.C=Kt[2]|0,this.D=Kt[3]|0,this.E=Kt[4]|0,this.F=Kt[5]|0,this.G=Kt[6]|0,this.H=Kt[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)hr[d]=t.getUint32(r,!1);for(let d=16;d<64;d++){let l=hr[d-15],f=hr[d-2],h=ft(l,7)^ft(l,18)^l>>>3,m=ft(f,17)^ft(f,19)^f>>>10;hr[d]=m+hr[d-7]+h+hr[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=ft(a,6)^ft(a,11)^ft(a,25),f=p+l+zc(a,c,u)+Mp[d]+hr[d]|0,m=(ft(n,2)^ft(n,13)^ft(n,22))+Yc(n,o,i)|0;p=u,u=c,c=a,a=s+f|0,s=i,i=o,o=n,n=f+m|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(){ln(hr)}destroy(){this.set(0,0,0,0,0,0,0,0),ln(this.buffer)}},$s=class extends _i{constructor(){super(28),this.A=Ht[0]|0,this.B=Ht[1]|0,this.C=Ht[2]|0,this.D=Ht[3]|0,this.E=Ht[4]|0,this.F=Ht[5]|0,this.G=Ht[6]|0,this.H=Ht[7]|0}},il=Xc(["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))),jp=il[0],Kp=il[1],mr=new Uint32Array(80),_r=new Uint32Array(80),Gs=class extends mo{constructor(t=64){super(128,t,16,!1),this.Ah=Ie[0]|0,this.Al=Ie[1]|0,this.Bh=Ie[2]|0,this.Bl=Ie[3]|0,this.Ch=Ie[4]|0,this.Cl=Ie[5]|0,this.Dh=Ie[6]|0,this.Dl=Ie[7]|0,this.Eh=Ie[8]|0,this.El=Ie[9]|0,this.Fh=Ie[10]|0,this.Fl=Ie[11]|0,this.Gh=Ie[12]|0,this.Gl=Ie[13]|0,this.Hh=Ie[14]|0,this.Hl=Ie[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:m,Hl:g}=this;return[t,r,n,o,i,s,a,c,u,p,d,l,f,h,m,g]}set(t,r,n,o,i,s,a,c,u,p,d,l,f,h,m,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=m|0,this.Hl=g|0}process(t,r){for(let y=0;y<16;y++,r+=4)mr[y]=t.getUint32(r),_r[y]=t.getUint32(r+=4);for(let y=16;y<80;y++){let T=mr[y-15]|0,E=_r[y-15]|0,O=un(T,E,1)^un(T,E,8)^Ks(T,E,7),R=dn(T,E,1)^dn(T,E,8)^Hs(T,E,7),I=mr[y-2]|0,w=_r[y-2]|0,v=un(I,w,19)^_o(I,w,61)^Ks(I,w,6),V=dn(I,w,19)^yo(I,w,61)^Hs(I,w,6),S=tl(R,V,_r[y-7],_r[y-16]),b=rl(S,O,v,mr[y-7],mr[y-16]);mr[y]=b|0,_r[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:m,Gl:g,Hh:_,Hl:x}=this;for(let y=0;y<80;y++){let T=un(d,l,14)^un(d,l,18)^_o(d,l,41),E=dn(d,l,14)^dn(d,l,18)^yo(d,l,41),O=d&f^~d&m,R=l&h^~l&g,I=nl(x,E,R,Kp[y],_r[y]),w=ol(I,_,T,O,jp[y],mr[y]),v=I|0,V=un(n,o,28)^_o(n,o,34)^_o(n,o,39),S=dn(n,o,28)^yo(n,o,34)^yo(n,o,39),b=n&i^n&a^i&a,N=o&s^o&c^s&c;_=m|0,x=g|0,m=f|0,g=h|0,f=d|0,h=l|0,{h:d,l}=Et(u|0,p|0,w|0,v|0),u=a|0,p=c|0,a=i|0,c=s|0,i=n|0,s=o|0;let F=Qc(v,S,N);n=el(F,w,V,b),o=F|0}({h:n,l:o}=Et(this.Ah|0,this.Al|0,n|0,o|0)),{h:i,l:s}=Et(this.Bh|0,this.Bl|0,i|0,s|0),{h:a,l:c}=Et(this.Ch|0,this.Cl|0,a|0,c|0),{h:u,l:p}=Et(this.Dh|0,this.Dl|0,u|0,p|0),{h:d,l}=Et(this.Eh|0,this.El|0,d|0,l|0),{h:f,l:h}=Et(this.Fh|0,this.Fl|0,f|0,h|0),{h:m,l:g}=Et(this.Gh|0,this.Gl|0,m|0,g|0),{h:_,l:x}=Et(this.Hh|0,this.Hl|0,_|0,x|0),this.set(n,o,i,s,a,c,u,p,d,l,f,h,m,g,_,x)}roundClean(){ln(mr,_r)}destroy(){ln(this.buffer),this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}};var Fe=hi(()=>new _i),sl=hi(()=>new $s),al=hi(()=>new Gs);var yi="__principal__",Hp=2,cl=4,$p="aaaaa-aa",M=class e{static anonymous(){return new this(new Uint8Array([cl]))}static managementCanister(){return this.fromText($p)}static selfAuthenticating(t){let r=sl(t);return new this(new Uint8Array([...r,Hp]))}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(Ne(t))}static fromText(t){let r=t;if(t.includes(yi)){let s=JSON.parse(t);yi in s&&(r=s[yi])}let n=r.toLowerCase().replace(/-/g,""),o=Hc(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]===cl}toUint8Array(){return this._arr}toHex(){return H(this._arr).toUpperCase()}toText(){let t=new ArrayBuffer(4);new DataView(t).setUint32(0,$c(this._arr));let n=new Uint8Array(t),o=new Uint8Array([...n,...this._arr]),s=Kc(o).match(/.{1,5}/g);if(!s)throw new Error;return s.join("-")}toString(){return this.toText()}toJSON(){return{[yi]: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 $t;(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"})($t||($t={}));var G=class{constructor(t=!1){this.isCertified=t}toString(){let t=this.toErrorMessage();return this.requestContext&&(t+=`
|
|
1
|
+
var Bp=Object.defineProperty;var Dp=(e,t)=>{for(var r in t)Bp(e,r,{get:t[r],enumerable:!0})};var qc;(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"})(qc||(qc={}));var fr;(function(e){e.Replied="replied",e.Rejected="rejected"})(fr||(fr={}));function Mc(e){return e!=null&&"reject_code"in e}function jc(e){return e!=null&&"certificate"in e}var di="abcdefghijklmnopqrstuvwxyz234567",Vn=Object.create(null);for(let e=0;e<di.length;e++)Vn[di[e]]=e;Vn[0]=Vn.o;Vn[1]=Vn.i;function Kc(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+=di[r>>3],t+=5),0)}for(let i=0;i<e.length;)i+=o(e[i]);return n+(t<0?di[r>>3]:"")}function Hc(e){let t=0,r=0,n=new Uint8Array(e.length*4/3|0),o=0;function i(s){let a=Vn[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 Up=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 $c(e){let t=-1;for(let r=0;r<e.length;r++){let o=(e[r]^t)&255;t=Up[o]^t>>>8}return(t^-1)>>>0}var cn=typeof globalThis=="object"&&"crypto"in globalThis?globalThis.crypto:void 0;function Ot(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&e.constructor.name==="Uint8Array"}function qs(e){if(!Number.isSafeInteger(e)||e<0)throw new Error("positive integer expected, got "+e)}function fe(e,...t){if(!Ot(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 Ms(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 Jc(e,t){fe(e);let r=t.outputLen;if(e.length<r)throw new Error("digestInto() expects output buffer of length at least "+r)}function ln(...e){for(let t=0;t<e.length;t++)e[t].fill(0)}function fi(e){return new DataView(e.buffer,e.byteOffset,e.byteLength)}function ft(e,t){return e<<32-t|e>>>t}var Wc=typeof Uint8Array.from([]).toHex=="function"&&typeof Uint8Array.fromHex=="function",kp=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,"0"));function H(e){if(fe(e),Wc)return e.toHex();let t="";for(let r=0;r<e.length;r++)t+=kp[e[r]];return t}var jt={_0:48,_9:57,A:65,F:70,a:97,f:102};function Gc(e){if(e>=jt._0&&e<=jt._9)return e-jt._0;if(e>=jt.A&&e<=jt.F)return e-(jt.A-10);if(e>=jt.a&&e<=jt.f)return e-(jt.a-10)}function Ne(e){if(typeof e!="string")throw new Error("hex string expected, got "+typeof e);if(Wc)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=Gc(e.charCodeAt(i)),a=Gc(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 ee(e){if(typeof e!="string")throw new Error("string expected");return new Uint8Array(new TextEncoder().encode(e))}function js(e){return typeof e=="string"&&(e=ee(e)),fe(e),e}function j(...e){let t=0;for(let n=0;n<e.length;n++){let o=e[n];fe(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 pi=class{};function hi(e){let t=n=>e().update(js(n)).digest(),r=e();return t.outputLen=r.outputLen,t.blockLen=r.blockLen,t.create=()=>e(),t}function Pn(e=32){if(cn&&typeof cn.getRandomValues=="function")return cn.getRandomValues(new Uint8Array(e));if(cn&&typeof cn.randomBytes=="function")return Uint8Array.from(cn.randomBytes(e));throw new Error("crypto.getRandomValues must be defined")}function Lp(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 zc(e,t,r){return e&t^~e&r}function Yc(e,t,r){return e&t^e&r^t&r}var mo=class extends pi{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=fi(this.buffer)}update(t){Ms(this),t=js(t),fe(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=fi(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){Ms(this),Jc(t,this),this.finished=!0;let{buffer:r,view:n,blockLen:o,isLE:i}=this,{pos:s}=this;r[s++]=128,ln(this.buffer.subarray(s)),this.padOffset>o-s&&(this.process(n,0),s=0);for(let d=s;d<o;d++)r[d]=0;Lp(n,o-8,BigInt(this.length*8),i),this.process(n,0);let a=fi(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()}},Kt=Uint32Array.from([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),Ht=Uint32Array.from([3238371032,914150663,812702999,4144912697,4290775857,1750603025,1694076839,3204075428]);var Ie=Uint32Array.from([1779033703,4089235720,3144134277,2227873595,1013904242,4271175723,2773480762,1595750129,1359893119,2917565137,2600822924,725511199,528734635,4215389547,1541459225,327033209]);var mi=BigInt(4294967295),Zc=BigInt(32);function qp(e,t=!1){return t?{h:Number(e&mi),l:Number(e>>Zc&mi)}:{h:Number(e>>Zc&mi)|0,l:Number(e&mi)|0}}function Xc(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}=qp(e[i],t);[n[i],o[i]]=[s,a]}return[n,o]}var Ks=(e,t,r)=>e>>>r,Hs=(e,t,r)=>e<<32-r|t>>>r,un=(e,t,r)=>e>>>r|t<<32-r,dn=(e,t,r)=>e<<32-r|t>>>r,_o=(e,t,r)=>e<<64-r|t>>>r-32,yo=(e,t,r)=>e>>>r-32|t<<64-r;function Et(e,t,r,n){let o=(t>>>0)+(n>>>0);return{h:e+r+(o/2**32|0)|0,l:o|0}}var Qc=(e,t,r)=>(e>>>0)+(t>>>0)+(r>>>0),el=(e,t,r,n)=>t+r+n+(e/2**32|0)|0,tl=(e,t,r,n)=>(e>>>0)+(t>>>0)+(r>>>0)+(n>>>0),rl=(e,t,r,n,o)=>t+r+n+o+(e/2**32|0)|0,nl=(e,t,r,n,o)=>(e>>>0)+(t>>>0)+(r>>>0)+(n>>>0)+(o>>>0),ol=(e,t,r,n,o,i)=>t+r+n+o+i+(e/2**32|0)|0;var jp=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]),hr=new Uint32Array(64),_i=class extends mo{constructor(t=32){super(64,t,8,!1),this.A=Kt[0]|0,this.B=Kt[1]|0,this.C=Kt[2]|0,this.D=Kt[3]|0,this.E=Kt[4]|0,this.F=Kt[5]|0,this.G=Kt[6]|0,this.H=Kt[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)hr[d]=t.getUint32(r,!1);for(let d=16;d<64;d++){let l=hr[d-15],f=hr[d-2],h=ft(l,7)^ft(l,18)^l>>>3,m=ft(f,17)^ft(f,19)^f>>>10;hr[d]=m+hr[d-7]+h+hr[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=ft(a,6)^ft(a,11)^ft(a,25),f=p+l+zc(a,c,u)+jp[d]+hr[d]|0,m=(ft(n,2)^ft(n,13)^ft(n,22))+Yc(n,o,i)|0;p=u,u=c,c=a,a=s+f|0,s=i,i=o,o=n,n=f+m|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(){ln(hr)}destroy(){this.set(0,0,0,0,0,0,0,0),ln(this.buffer)}},$s=class extends _i{constructor(){super(28),this.A=Ht[0]|0,this.B=Ht[1]|0,this.C=Ht[2]|0,this.D=Ht[3]|0,this.E=Ht[4]|0,this.F=Ht[5]|0,this.G=Ht[6]|0,this.H=Ht[7]|0}},il=Xc(["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))),Kp=il[0],Hp=il[1],mr=new Uint32Array(80),_r=new Uint32Array(80),Gs=class extends mo{constructor(t=64){super(128,t,16,!1),this.Ah=Ie[0]|0,this.Al=Ie[1]|0,this.Bh=Ie[2]|0,this.Bl=Ie[3]|0,this.Ch=Ie[4]|0,this.Cl=Ie[5]|0,this.Dh=Ie[6]|0,this.Dl=Ie[7]|0,this.Eh=Ie[8]|0,this.El=Ie[9]|0,this.Fh=Ie[10]|0,this.Fl=Ie[11]|0,this.Gh=Ie[12]|0,this.Gl=Ie[13]|0,this.Hh=Ie[14]|0,this.Hl=Ie[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:m,Hl:g}=this;return[t,r,n,o,i,s,a,c,u,p,d,l,f,h,m,g]}set(t,r,n,o,i,s,a,c,u,p,d,l,f,h,m,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=m|0,this.Hl=g|0}process(t,r){for(let y=0;y<16;y++,r+=4)mr[y]=t.getUint32(r),_r[y]=t.getUint32(r+=4);for(let y=16;y<80;y++){let T=mr[y-15]|0,E=_r[y-15]|0,O=un(T,E,1)^un(T,E,8)^Ks(T,E,7),R=dn(T,E,1)^dn(T,E,8)^Hs(T,E,7),I=mr[y-2]|0,w=_r[y-2]|0,v=un(I,w,19)^_o(I,w,61)^Ks(I,w,6),C=dn(I,w,19)^yo(I,w,61)^Hs(I,w,6),S=tl(R,C,_r[y-7],_r[y-16]),b=rl(S,O,v,mr[y-7],mr[y-16]);mr[y]=b|0,_r[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:m,Gl:g,Hh:_,Hl:x}=this;for(let y=0;y<80;y++){let T=un(d,l,14)^un(d,l,18)^_o(d,l,41),E=dn(d,l,14)^dn(d,l,18)^yo(d,l,41),O=d&f^~d&m,R=l&h^~l&g,I=nl(x,E,R,Hp[y],_r[y]),w=ol(I,_,T,O,Kp[y],mr[y]),v=I|0,C=un(n,o,28)^_o(n,o,34)^_o(n,o,39),S=dn(n,o,28)^yo(n,o,34)^yo(n,o,39),b=n&i^n&a^i&a,N=o&s^o&c^s&c;_=m|0,x=g|0,m=f|0,g=h|0,f=d|0,h=l|0,{h:d,l}=Et(u|0,p|0,w|0,v|0),u=a|0,p=c|0,a=i|0,c=s|0,i=n|0,s=o|0;let F=Qc(v,S,N);n=el(F,w,C,b),o=F|0}({h:n,l:o}=Et(this.Ah|0,this.Al|0,n|0,o|0)),{h:i,l:s}=Et(this.Bh|0,this.Bl|0,i|0,s|0),{h:a,l:c}=Et(this.Ch|0,this.Cl|0,a|0,c|0),{h:u,l:p}=Et(this.Dh|0,this.Dl|0,u|0,p|0),{h:d,l}=Et(this.Eh|0,this.El|0,d|0,l|0),{h:f,l:h}=Et(this.Fh|0,this.Fl|0,f|0,h|0),{h:m,l:g}=Et(this.Gh|0,this.Gl|0,m|0,g|0),{h:_,l:x}=Et(this.Hh|0,this.Hl|0,_|0,x|0),this.set(n,o,i,s,a,c,u,p,d,l,f,h,m,g,_,x)}roundClean(){ln(mr,_r)}destroy(){ln(this.buffer),this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}};var Fe=hi(()=>new _i),sl=hi(()=>new $s),al=hi(()=>new Gs);var yi="__principal__",$p=2,cl=4,Gp="aaaaa-aa",M=class e{static anonymous(){return new this(new Uint8Array([cl]))}static managementCanister(){return this.fromText(Gp)}static selfAuthenticating(t){let r=sl(t);return new this(new Uint8Array([...r,$p]))}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(Ne(t))}static fromText(t){let r=t;if(t.includes(yi)){let s=JSON.parse(t);yi in s&&(r=s[yi])}let n=r.toLowerCase().replace(/-/g,""),o=Hc(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]===cl}toUint8Array(){return this._arr}toHex(){return H(this._arr).toUpperCase()}toText(){let t=new ArrayBuffer(4);new DataView(t).setUint32(0,$c(this._arr));let n=new Uint8Array(t),o=new Uint8Array([...n,...this._arr]),s=Kc(o).match(/.{1,5}/g);if(!s)throw new Error;return s.join("-")}toString(){return this.toText()}toJSON(){return{[yi]: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 $t;(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"})($t||($t={}));var G=class{constructor(t=!1){this.isCertified=t}toString(){let t=this.toErrorMessage();return this.requestContext&&(t+=`
|
|
2
2
|
Request context:
|
|
3
3
|
Request ID (hex): ${this.requestContext.requestId?H(this.requestContext.requestId):"undefined"}
|
|
4
4
|
Sender pubkey (hex): ${H(this.requestContext.senderPubKey)}
|
|
@@ -7,7 +7,7 @@ Request context:
|
|
|
7
7
|
Call context:
|
|
8
8
|
Canister ID: ${this.callContext.canisterId.toText()}
|
|
9
9
|
Method name: ${this.callContext.methodName}
|
|
10
|
-
HTTP details: ${JSON.stringify(this.callContext.httpDetails,null,2)}`),t}},ht=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}`}},Gt=class extends ht{static fromCode(t){return new this(t)}},De=class e extends Gt{constructor(t){super(t,$t.Trust),this.name="TrustError",Object.setPrototypeOf(this,e.prototype)}},ne=class e extends Gt{constructor(t){super(t,$t.Protocol),this.name="ProtocolError",Object.setPrototypeOf(this,e.prototype)}},yr=class e extends Gt{constructor(t){super(t,$t.Reject),this.name="RejectError",Object.setPrototypeOf(this,e.prototype)}},go=class e extends Gt{constructor(t){super(t,$t.Transport),this.name="TransportError",Object.setPrototypeOf(this,e.prototype)}},Oe=class e extends Gt{constructor(t){super(t,$t.External),this.name="ExternalError",Object.setPrototypeOf(this,e.prototype)}};var z=class e extends Gt{constructor(t){super(t,$t.Input),this.name="InputError",Object.setPrototypeOf(this,e.prototype)}},
|
|
10
|
+
HTTP details: ${JSON.stringify(this.callContext.httpDetails,null,2)}`),t}},ht=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}`}},Gt=class extends ht{static fromCode(t){return new this(t)}},De=class e extends Gt{constructor(t){super(t,$t.Trust),this.name="TrustError",Object.setPrototypeOf(this,e.prototype)}},ne=class e extends Gt{constructor(t){super(t,$t.Protocol),this.name="ProtocolError",Object.setPrototypeOf(this,e.prototype)}},yr=class e extends Gt{constructor(t){super(t,$t.Reject),this.name="RejectError",Object.setPrototypeOf(this,e.prototype)}},go=class e extends Gt{constructor(t){super(t,$t.Transport),this.name="TransportError",Object.setPrototypeOf(this,e.prototype)}},Oe=class e extends Gt{constructor(t){super(t,$t.External),this.name="ExternalError",Object.setPrototypeOf(this,e.prototype)}};var z=class e extends Gt{constructor(t){super(t,$t.Input),this.name="InputError",Object.setPrototypeOf(this,e.prototype)}},xe=class e extends Gt{constructor(t){super(t,$t.Unknown),this.name="UnknownError",Object.setPrototypeOf(this,e.prototype)}},gr=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+=`: ${Eo(this.error)}`),`Certificate verification error: "${t}"`}},pn=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`}},gi=class e extends G{constructor(){super(),this.name="CertificateHasTooManyDelegationsErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return"Certificate has too many delegations"}},Bn=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()}`}},Jt=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}`}},Dn=class e extends G{constructor(t){super(),this.message=t,this.name="MalformedLookupFoundValueErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return this.message}},xi=class e extends G{constructor(t){super(),this.message=t,this.name="MissingLookupValueErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return this.message}},Un=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`}},bi=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: ${H(this.expectedPrefix)}, but got ${H(this.actualPrefix)}`}},wi=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}`}},mt=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}`}},xo=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}`}},Ti=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: ${Eo(this.error)}, input: ${H(this.input)}`}},Ni=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: ${Eo(this.error)}, input: ${this.value}`}};var fn=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}
|
|
11
11
|
`;return this.requestId&&(t+=` Request ID: ${H(this.requestId)}
|
|
12
12
|
`),this.status&&(t+=` Request status: ${this.status}
|
|
13
13
|
`),t}},Oi=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?
|
|
@@ -29,11 +29,11 @@ Call context:
|
|
|
29
29
|
Error code: ${this.rejectErrorCode}
|
|
30
30
|
`}},vi=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:
|
|
31
31
|
Request ID: ${H(this.requestId)}
|
|
32
|
-
`}},Rt=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.`}},Ii=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}`}},Ln=class e extends G{constructor(t){super(),this.error=t,this.name="HttpDefaultFetchErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return this.error}},xr=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."}},hn=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.`}},Ai=class e extends G{constructor(){super(),this.name="CreateHttpAgentErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return"Failed to create agent from provided agent"}},Si=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}`}},Fi=class e extends G{constructor(){super(),this.name="MissingSignatureErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return"Query response did not contain any node signatures"}},
|
|
32
|
+
`}},Rt=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.`}},Ii=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}`}},Ln=class e extends G{constructor(t){super(),this.error=t,this.name="HttpDefaultFetchErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return this.error}},xr=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."}},hn=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.`}},Ai=class e extends G{constructor(){super(),this.name="CreateHttpAgentErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return"Failed to create agent from provided agent"}},Si=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}`}},Fi=class e extends G{constructor(){super(),this.name="MissingSignatureErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return"Query response did not contain any node signatures"}},Ci=class e extends G{constructor(){super(),this.name="MalformedPublicKeyErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return"Read state response contained a malformed public key"}},Vi=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}`}},Ue=class e extends G{constructor(t){super(),this.error=t,this.name="UnexpectedErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return`Unexpected error: ${Eo(this.error)}`}},br=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}`}},bo=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:
|
|
33
33
|
Status: ${this.status} (${this.statusText})
|
|
34
34
|
Headers: ${JSON.stringify(this.headers)}
|
|
35
35
|
`;return this.bodyText&&(t+=` Body: ${this.bodyText}
|
|
36
|
-
`),t}},wo=class e extends G{constructor(){super(),this.name="HttpV3ApiNotSupportedErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return"HTTP request failed: v3 API is not supported"}},To=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: ${Eo(this.error)}`}},No=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.`}},Pi=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}`}},Oo=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 Eo(e){if(e instanceof Error)return e.stack??e.message;try{return JSON.stringify(e)}catch{return String(e)}}var wr=new Error("unreachable");var gn={};Bp(gn,{Bool:()=>yl,BoolClass:()=>Li,ConstructType:()=>At,Empty:()=>ml,EmptyClass:()=>vo,FixedIntClass:()=>Yt,FixedNatClass:()=>It,Float32:()=>Tl,Float64:()=>Nl,FloatClass:()=>So,Func:()=>Ll,FuncClass:()=>yn,Int:()=>bl,Int16:()=>El,Int32:()=>Rl,Int64:()=>vl,Int8:()=>Ol,IntClass:()=>Io,Nat:()=>wl,Nat16:()=>Al,Nat32:()=>Sl,Nat64:()=>Fl,Nat8:()=>Il,NatClass:()=>Ao,Null:()=>gl,NullClass:()=>mn,Opt:()=>Bl,OptClass:()=>Or,PrimitiveType:()=>Ge,Principal:()=>Vl,PrincipalClass:()=>ji,Rec:()=>kl,RecClass:()=>tt,Record:()=>Dl,RecordClass:()=>_n,Reserved:()=>_l,ReservedClass:()=>St,Service:()=>ql,ServiceClass:()=>Kn,Text:()=>xl,TextClass:()=>qi,Tuple:()=>Cl,TupleClass:()=>Mi,Type:()=>qn,Unknown:()=>zp,UnknownClass:()=>ki,Variant:()=>Ul,VariantClass:()=>jn,Vec:()=>Pl,VecClass:()=>Mn,Visitor:()=>Qs,decode:()=>Wp,encode:()=>Jp,resetSubtypeCache:()=>ea,subtype:()=>ra});function Y(...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 _t=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=vt(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 vt(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?vt(e.buffer):new Uint8Array(e)}function Js(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 ll(e,t){return Js(e,t)===0}function ul(e){if(!(e instanceof Uint8Array))throw new Error("Input must be a Uint8Array");return new DataView(e.buffer,e.byteOffset,e.byteLength)}function Gp(e){let r=new TextEncoder().encode(e),n=0;for(let o of r)n=(n*223+o)%2**32;return n}function ke(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 Gp(e)}function Ws(e){let t=BigInt(e);if(e<=0)throw new RangeError("Input must be positive");return t.toString(2).length-1}function Bi(e){let t=BigInt(e);if(e<0)throw new RangeError("Input must be non-negative");return BigInt(1)<<t}function dl(){throw new Error("unexpected end of buffer")}function Nr(e,t){return e.byteLength<t&&dl(),e.read(t)}function Tr(e){let t=e.readUint8();return t===void 0&&dl(),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:Ws(e))+1,r=new _t(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 me(e){let t=BigInt(1),r=BigInt(0),n;do n=Tr(e),r+=BigInt(n&127).valueOf()*t,t*=BigInt(128);while(n>=128);return r}function _e(e){typeof e=="number"&&(e=BigInt(e));let t=e<BigInt(0);t&&(e=-e-BigInt(1));let r=(e===BigInt(0)?0:Ws(e))+1,n=new _t(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 Wt(e){let t=new Uint8Array(e.buffer),r=0;for(;r<t.byteLength;r++)if(t[r]<128){if((t[r]&64)===0)return me(e);break}let n=new Uint8Array(Nr(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 pl(e,t){if(BigInt(e)<BigInt(0))throw new Error("Cannot write negative values.");return zs(e,t)}function zs(e,t){e=BigInt(e);let r=new _t(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 Ys(e,t){if(t<=0||!Number.isInteger(t))throw new Error("Byte length must be a positive integer");let r=BigInt(Tr(e)),n=BigInt(1),o=0;for(;++o<t;){n*=BigInt(256);let i=BigInt(Tr(e));r=r+n*i}return r}function fl(e,t){if(t<=0||!Number.isInteger(t))throw new Error("Byte length must be a positive integer");let r=Ys(e,t),n=BigInt(2)**(BigInt(8)*BigInt(t-1)+BigInt(7));return r>=n&&(r-=n*BigInt(2)),r}var X;(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"})(X||(X={}));var Di="DIDL",hl=400;function Ro(e,t,r){return e.map((n,o)=>r(n,t[o]))}var Xs=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=Y(...this._typs);return Y(t,r)}indexOf(t){if(!this._idx.has(t))throw new Error("Missing type index for "+t);return _e(this._idx.get(t)||0)}},Qs=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)}},K;(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__"})(K||(K={}));var qn=class{display(){return this.name}valueToString(t){return he(t)}buildTypeTable(t){t.has(this)||this._buildTypeTableImpl(t)}},Ge=class extends qn{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){}},At=class extends qn{checkType(t){if(t instanceof tt){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)}},vo=class extends Ge{get typeName(){return K.EmptyClass}static[Symbol.hasInstance](t){return t.typeName===K.EmptyClass}accept(t,r){return t.visitEmpty(this,r)}covariant(t){throw new Error(`Invalid ${this.display()} argument: ${he(t)}`)}encodeValue(){throw new Error("Empty cannot appear as a function argument")}valueToString(){throw new Error("Empty cannot appear as a value")}encodeType(){return _e(X.Empty)}decodeValue(){throw new Error("Empty cannot appear as an output")}get name(){return"empty"}},ki=class extends qn{get typeName(){return K.UnknownClass}static[Symbol.hasInstance](t){return t.typeName===K.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: ${he(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 tt?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"}},Li=class extends Ge{get typeName(){return K.BoolClass}static[Symbol.hasInstance](t){return t.typeName===K.BoolClass}accept(t,r){return t.visitBool(this,r)}covariant(t){if(typeof t=="boolean")return!0;throw new Error(`Invalid ${this.display()} argument: ${he(t)}`)}encodeValue(t){return new Uint8Array([t?1:0])}encodeType(){return _e(X.Bool)}decodeValue(t,r){switch(this.checkType(r),Tr(t)){case 0:return!1;case 1:return!0;default:throw new Error("Boolean value out of range")}}get name(){return"bool"}},mn=class extends Ge{get typeName(){return K.NullClass}static[Symbol.hasInstance](t){return t.typeName===K.NullClass}accept(t,r){return t.visitNull(this,r)}covariant(t){if(t===null)return!0;throw new Error(`Invalid ${this.display()} argument: ${he(t)}`)}encodeValue(){return new Uint8Array(0)}encodeType(){return _e(X.Null)}decodeValue(t,r){return this.checkType(r),null}get name(){return"null"}},St=class extends Ge{get typeName(){return K.ReservedClass}static[Symbol.hasInstance](t){return t.typeName===K.ReservedClass}accept(t,r){return t.visitReserved(this,r)}covariant(t){return!0}encodeValue(){return new Uint8Array(0)}encodeType(){return _e(X.Reserved)}decodeValue(t,r){return r.name!==this.name&&r.decodeValue(t,r),null}get name(){return"reserved"}},qi=class extends Ge{get typeName(){return K.TextClass}static[Symbol.hasInstance](t){return t.typeName===K.TextClass}accept(t,r){return t.visitText(this,r)}covariant(t){if(typeof t=="string")return!0;throw new Error(`Invalid ${this.display()} argument: ${he(t)}`)}encodeValue(t){let r=new TextEncoder().encode(t),n=oe(r.byteLength);return Y(n,r)}encodeType(){return _e(X.Text)}decodeValue(t,r){this.checkType(r);let n=me(t),o=Nr(t,Number(n));return new TextDecoder("utf8",{fatal:!0}).decode(o)}get name(){return"text"}valueToString(t){return'"'+t+'"'}},Io=class extends Ge{get typeName(){return K.IntClass}static[Symbol.hasInstance](t){return t.typeName===K.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: ${he(t)}`)}encodeValue(t){return _e(t)}encodeType(){return _e(X.Int)}decodeValue(t,r){return this.checkType(r),Wt(t)}get name(){return"int"}valueToString(t){return t.toString()}},Ao=class extends Ge{get typeName(){return K.NatClass}static[Symbol.hasInstance](t){return t.typeName===K.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: ${he(t)}`)}encodeValue(t){return oe(t)}encodeType(){return _e(X.Nat)}decodeValue(t,r){return this.checkType(r),me(t)}get name(){return"nat"}valueToString(t){return t.toString()}},So=class extends Ge{get typeName(){return K.FloatClass}static[Symbol.hasInstance](t){return t.typeName===K.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: ${he(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?X.Float32:X.Float64;return _e(t)}decodeValue(t,r){this.checkType(r);let n=Nr(t,this._bits/8),o=ul(n);return this._bits===32?o.getFloat32(0,!0):o.getFloat64(0,!0)}get name(){return"float"+this._bits}valueToString(t){return t.toString()}},Yt=class extends Ge{get typeName(){return K.FixedIntClass}static[Symbol.hasInstance](t){return t.typeName===K.FixedIntClass}constructor(t){super(),this._bits=t}accept(t,r){return t.visitFixedInt(this,r)}covariant(t){let r=Bi(this._bits-1)*BigInt(-1),n=Bi(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: ${he(t)}`)}encodeValue(t){return zs(t,this._bits/8)}encodeType(){let t=Math.log2(this._bits)-3;return _e(-9-t)}decodeValue(t,r){this.checkType(r);let n=fl(t,this._bits/8);return this._bits<=32?Number(n):n}get name(){return`int${this._bits}`}valueToString(t){return t.toString()}},It=class extends Ge{get typeName(){return K.FixedNatClass}static[Symbol.hasInstance](t){return t.typeName===K.FixedNatClass}constructor(t){super(),this._bits=t}accept(t,r){return t.visitFixedNat(this,r)}covariant(t){let r=Bi(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: ${he(t)}`)}encodeValue(t){return pl(t,this._bits/8)}encodeType(){let t=Math.log2(this._bits)-3;return _e(-5-t)}decodeValue(t,r){this.checkType(r);let n=Ys(t,this._bits/8);return this._bits<=32?Number(n):n}get name(){return`nat${this._bits}`}valueToString(t){return t.toString()}},Mn=class e extends At{get typeName(){return K.VecClass}static[Symbol.hasInstance](t){return t.typeName===K.VecClass}constructor(t){super(),this._type=t,this._blobOptimization=!1,t instanceof It&&t._bits===8&&(this._blobOptimization=!0)}accept(t,r){return t.visitVec(this,this._type,r)}covariant(t){let r=this._type instanceof It?this._type._bits:this._type instanceof Yt?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:
|
|
36
|
+
`),t}},wo=class e extends G{constructor(){super(),this.name="HttpV3ApiNotSupportedErrorCode",Object.setPrototypeOf(this,e.prototype)}toErrorMessage(){return"HTTP request failed: v3 API is not supported"}},To=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: ${Eo(this.error)}`}},No=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.`}},Pi=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}`}},Oo=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 Eo(e){if(e instanceof Error)return e.stack??e.message;try{return JSON.stringify(e)}catch{return String(e)}}var wr=new Error("unreachable");var gn={};Dp(gn,{Bool:()=>yl,BoolClass:()=>Li,ConstructType:()=>At,Empty:()=>ml,EmptyClass:()=>vo,FixedIntClass:()=>Yt,FixedNatClass:()=>It,Float32:()=>Tl,Float64:()=>Nl,FloatClass:()=>So,Func:()=>Ll,FuncClass:()=>yn,Int:()=>bl,Int16:()=>El,Int32:()=>Rl,Int64:()=>vl,Int8:()=>Ol,IntClass:()=>Io,Nat:()=>wl,Nat16:()=>Al,Nat32:()=>Sl,Nat64:()=>Fl,Nat8:()=>Il,NatClass:()=>Ao,Null:()=>gl,NullClass:()=>mn,Opt:()=>Bl,OptClass:()=>Or,PrimitiveType:()=>Ge,Principal:()=>Cl,PrincipalClass:()=>ji,Rec:()=>kl,RecClass:()=>tt,Record:()=>Dl,RecordClass:()=>_n,Reserved:()=>_l,ReservedClass:()=>St,Service:()=>ql,ServiceClass:()=>Kn,Text:()=>xl,TextClass:()=>qi,Tuple:()=>Vl,TupleClass:()=>Mi,Type:()=>qn,Unknown:()=>Yp,UnknownClass:()=>ki,Variant:()=>Ul,VariantClass:()=>jn,Vec:()=>Pl,VecClass:()=>Mn,Visitor:()=>Qs,decode:()=>zp,encode:()=>Wp,resetSubtypeCache:()=>ea,subtype:()=>ra});function Y(...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 _t=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=vt(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 vt(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?vt(e.buffer):new Uint8Array(e)}function Js(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 ll(e,t){return Js(e,t)===0}function ul(e){if(!(e instanceof Uint8Array))throw new Error("Input must be a Uint8Array");return new DataView(e.buffer,e.byteOffset,e.byteLength)}function Jp(e){let r=new TextEncoder().encode(e),n=0;for(let o of r)n=(n*223+o)%2**32;return n}function ke(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 Jp(e)}function Ws(e){let t=BigInt(e);if(e<=0)throw new RangeError("Input must be positive");return t.toString(2).length-1}function Bi(e){let t=BigInt(e);if(e<0)throw new RangeError("Input must be non-negative");return BigInt(1)<<t}function dl(){throw new Error("unexpected end of buffer")}function Nr(e,t){return e.byteLength<t&&dl(),e.read(t)}function Tr(e){let t=e.readUint8();return t===void 0&&dl(),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:Ws(e))+1,r=new _t(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 me(e){let t=BigInt(1),r=BigInt(0),n;do n=Tr(e),r+=BigInt(n&127).valueOf()*t,t*=BigInt(128);while(n>=128);return r}function _e(e){typeof e=="number"&&(e=BigInt(e));let t=e<BigInt(0);t&&(e=-e-BigInt(1));let r=(e===BigInt(0)?0:Ws(e))+1,n=new _t(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 Wt(e){let t=new Uint8Array(e.buffer),r=0;for(;r<t.byteLength;r++)if(t[r]<128){if((t[r]&64)===0)return me(e);break}let n=new Uint8Array(Nr(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 pl(e,t){if(BigInt(e)<BigInt(0))throw new Error("Cannot write negative values.");return zs(e,t)}function zs(e,t){e=BigInt(e);let r=new _t(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 Ys(e,t){if(t<=0||!Number.isInteger(t))throw new Error("Byte length must be a positive integer");let r=BigInt(Tr(e)),n=BigInt(1),o=0;for(;++o<t;){n*=BigInt(256);let i=BigInt(Tr(e));r=r+n*i}return r}function fl(e,t){if(t<=0||!Number.isInteger(t))throw new Error("Byte length must be a positive integer");let r=Ys(e,t),n=BigInt(2)**(BigInt(8)*BigInt(t-1)+BigInt(7));return r>=n&&(r-=n*BigInt(2)),r}var X;(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"})(X||(X={}));var Di="DIDL",hl=400;function Ro(e,t,r){return e.map((n,o)=>r(n,t[o]))}var Xs=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=Y(...this._typs);return Y(t,r)}indexOf(t){if(!this._idx.has(t))throw new Error("Missing type index for "+t);return _e(this._idx.get(t)||0)}},Qs=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)}},K;(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__"})(K||(K={}));var qn=class{display(){return this.name}valueToString(t){return he(t)}buildTypeTable(t){t.has(this)||this._buildTypeTableImpl(t)}},Ge=class extends qn{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){}},At=class extends qn{checkType(t){if(t instanceof tt){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)}},vo=class extends Ge{get typeName(){return K.EmptyClass}static[Symbol.hasInstance](t){return t.typeName===K.EmptyClass}accept(t,r){return t.visitEmpty(this,r)}covariant(t){throw new Error(`Invalid ${this.display()} argument: ${he(t)}`)}encodeValue(){throw new Error("Empty cannot appear as a function argument")}valueToString(){throw new Error("Empty cannot appear as a value")}encodeType(){return _e(X.Empty)}decodeValue(){throw new Error("Empty cannot appear as an output")}get name(){return"empty"}},ki=class extends qn{get typeName(){return K.UnknownClass}static[Symbol.hasInstance](t){return t.typeName===K.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: ${he(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 tt?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"}},Li=class extends Ge{get typeName(){return K.BoolClass}static[Symbol.hasInstance](t){return t.typeName===K.BoolClass}accept(t,r){return t.visitBool(this,r)}covariant(t){if(typeof t=="boolean")return!0;throw new Error(`Invalid ${this.display()} argument: ${he(t)}`)}encodeValue(t){return new Uint8Array([t?1:0])}encodeType(){return _e(X.Bool)}decodeValue(t,r){switch(this.checkType(r),Tr(t)){case 0:return!1;case 1:return!0;default:throw new Error("Boolean value out of range")}}get name(){return"bool"}},mn=class extends Ge{get typeName(){return K.NullClass}static[Symbol.hasInstance](t){return t.typeName===K.NullClass}accept(t,r){return t.visitNull(this,r)}covariant(t){if(t===null)return!0;throw new Error(`Invalid ${this.display()} argument: ${he(t)}`)}encodeValue(){return new Uint8Array(0)}encodeType(){return _e(X.Null)}decodeValue(t,r){return this.checkType(r),null}get name(){return"null"}},St=class extends Ge{get typeName(){return K.ReservedClass}static[Symbol.hasInstance](t){return t.typeName===K.ReservedClass}accept(t,r){return t.visitReserved(this,r)}covariant(t){return!0}encodeValue(){return new Uint8Array(0)}encodeType(){return _e(X.Reserved)}decodeValue(t,r){return r.name!==this.name&&r.decodeValue(t,r),null}get name(){return"reserved"}},qi=class extends Ge{get typeName(){return K.TextClass}static[Symbol.hasInstance](t){return t.typeName===K.TextClass}accept(t,r){return t.visitText(this,r)}covariant(t){if(typeof t=="string")return!0;throw new Error(`Invalid ${this.display()} argument: ${he(t)}`)}encodeValue(t){let r=new TextEncoder().encode(t),n=oe(r.byteLength);return Y(n,r)}encodeType(){return _e(X.Text)}decodeValue(t,r){this.checkType(r);let n=me(t),o=Nr(t,Number(n));return new TextDecoder("utf8",{fatal:!0}).decode(o)}get name(){return"text"}valueToString(t){return'"'+t+'"'}},Io=class extends Ge{get typeName(){return K.IntClass}static[Symbol.hasInstance](t){return t.typeName===K.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: ${he(t)}`)}encodeValue(t){return _e(t)}encodeType(){return _e(X.Int)}decodeValue(t,r){return this.checkType(r),Wt(t)}get name(){return"int"}valueToString(t){return t.toString()}},Ao=class extends Ge{get typeName(){return K.NatClass}static[Symbol.hasInstance](t){return t.typeName===K.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: ${he(t)}`)}encodeValue(t){return oe(t)}encodeType(){return _e(X.Nat)}decodeValue(t,r){return this.checkType(r),me(t)}get name(){return"nat"}valueToString(t){return t.toString()}},So=class extends Ge{get typeName(){return K.FloatClass}static[Symbol.hasInstance](t){return t.typeName===K.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: ${he(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?X.Float32:X.Float64;return _e(t)}decodeValue(t,r){this.checkType(r);let n=Nr(t,this._bits/8),o=ul(n);return this._bits===32?o.getFloat32(0,!0):o.getFloat64(0,!0)}get name(){return"float"+this._bits}valueToString(t){return t.toString()}},Yt=class extends Ge{get typeName(){return K.FixedIntClass}static[Symbol.hasInstance](t){return t.typeName===K.FixedIntClass}constructor(t){super(),this._bits=t}accept(t,r){return t.visitFixedInt(this,r)}covariant(t){let r=Bi(this._bits-1)*BigInt(-1),n=Bi(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: ${he(t)}`)}encodeValue(t){return zs(t,this._bits/8)}encodeType(){let t=Math.log2(this._bits)-3;return _e(-9-t)}decodeValue(t,r){this.checkType(r);let n=fl(t,this._bits/8);return this._bits<=32?Number(n):n}get name(){return`int${this._bits}`}valueToString(t){return t.toString()}},It=class extends Ge{get typeName(){return K.FixedNatClass}static[Symbol.hasInstance](t){return t.typeName===K.FixedNatClass}constructor(t){super(),this._bits=t}accept(t,r){return t.visitFixedNat(this,r)}covariant(t){let r=Bi(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: ${he(t)}`)}encodeValue(t){return pl(t,this._bits/8)}encodeType(){let t=Math.log2(this._bits)-3;return _e(-5-t)}decodeValue(t,r){this.checkType(r);let n=Ys(t,this._bits/8);return this._bits<=32?Number(n):n}get name(){return`nat${this._bits}`}valueToString(t){return t.toString()}},Mn=class e extends At{get typeName(){return K.VecClass}static[Symbol.hasInstance](t){return t.typeName===K.VecClass}constructor(t){super(),this._type=t,this._blobOptimization=!1,t instanceof It&&t._bits===8&&(this._blobOptimization=!0)}accept(t,r){return t.visitVec(this,this._type,r)}covariant(t){let r=this._type instanceof It?this._type._bits:this._type instanceof Yt?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:
|
|
37
37
|
|
|
38
38
|
index ${o} -> ${i.message}`)}}))return!0;throw new Error(`Invalid ${this.display()} argument: ${he(t)}`)}encodeValue(t){let r=oe(t.length);if(this._blobOptimization)return Y(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 Y(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 Y(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 Y(r,new Uint8Array(o.buffer))}else return Y(r,new Uint8Array(t.buffer,t.byteOffset,t.byteLength));let n=new _t(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=_e(X.Vector),n=this._type.encodeType(t);t.add(this,Y(r,n))}decodeValue(t,r){let n=this.checkType(r);if(!(n instanceof e))throw new Error("Not a vector type");let o=Number(me(t));if(this._type instanceof It){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 Yt){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("; ")+"}"}},Or=class e extends At{get typeName(){return K.OptClass}static[Symbol.hasInstance](t){return t.typeName===K.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: ${he(t)}
|
|
39
39
|
|
|
@@ -43,15 +43,15 @@ field ${r} -> ${o.message}`)}}))return!0;throw new Error(`Invalid ${this.display
|
|
|
43
43
|
|
|
44
44
|
index ${n} -> ${o.message}`)}}))return!0;throw new Error(`Invalid ${this.display()} argument: ${he(t)}`)}encodeValue(t){let r=Ro(this._components,t,(n,o)=>n.encodeValue(o));return Y(...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 {${Ro(this._components,t,(n,o)=>n.valueToString(o)).join("; ")}}`}},jn=class e extends At{get typeName(){return K.VariantClass}static[Symbol.hasInstance](t){return t.typeName===K.VariantClass}constructor(t={}){super(),this._fields=Object.entries(t).sort((r,n)=>ke(r[0])-ke(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:
|
|
45
45
|
|
|
46
|
-
variant ${r} -> ${o.message}`)}}))return!0;throw new Error(`Invalid ${this.display()} argument: ${he(t)}`)}encodeValue(t){for(let r=0;r<this._fields.length;r++){let[n,o]=this._fields[r];if(t.hasOwnProperty(n)){let i=oe(r),s=o.encodeValue(t[n]);return Y(i,s)}}throw Error("Variant has no data: "+t)}_buildTypeTableImpl(t){this._fields.forEach(([,i])=>{i.buildTypeTable(t)});let r=_e(X.Variant),n=oe(this._fields.length),o=this._fields.map(([i,s])=>Y(oe(ke(i)),s.encodeType(t)));t.add(this,Y(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(me(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(ke(i)===ke(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[ke(r)]=n;return t}},tt=class e extends At{constructor(){super(...arguments),this._id=e._counter++}get typeName(){return K.RecClass}static{this._counter=0}static[Symbol.hasInstance](t){return t.typeName===K.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: ${he(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 ta(e){if(Tr(e)!==1)throw new Error("Cannot decode principal");let r=Number(me(e));return M.fromUint8Array(new Uint8Array(Nr(e,r)))}var ji=class extends Ge{get typeName(){return K.PrincipalClass}static[Symbol.hasInstance](t){return t.typeName===K.PrincipalClass}accept(t,r){return t.visitPrincipal(this,r)}covariant(t){if(t&&t._isPrincipal)return!0;throw new Error(`Invalid ${this.display()} argument: ${he(t)}`)}encodeValue(t){let r=t.toUint8Array(),n=oe(r.byteLength);return Y(new Uint8Array([1]),n,r)}encodeType(){return _e(X.Principal)}decodeValue(t,r){return this.checkType(r),ta(t)}get name(){return"principal"}valueToString(t){return`${this.name} "${t.toText()}"`}},yn=class extends At{get typeName(){return K.FuncClass}static[Symbol.hasInstance](t){return t.typeName===K.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: ${he(t)}`)}encodeValue([t,r]){let n=t.toUint8Array(),o=oe(n.byteLength),i=Y(new Uint8Array([1]),o,n),s=new TextEncoder().encode(r),a=oe(s.byteLength);return Y(new Uint8Array([1]),i,a,s)}_buildTypeTableImpl(t){this.argTypes.forEach(u=>u.buildTypeTable(t)),this.retTypes.forEach(u=>u.buildTypeTable(t));let r=_e(X.Func),n=oe(this.argTypes.length),o=Y(...this.argTypes.map(u=>u.encodeType(t))),i=oe(this.retTypes.length),s=Y(...this.retTypes.map(u=>u.encodeType(t))),a=oe(this.annotations.length),c=Y(...this.annotations.map(u=>this.encodeAnnotation(u)));t.add(this,Y(r,n,o,i,s,a,c))}decodeValue(t,r){let n=r instanceof tt?r.getType()??r:r;if(!ra(n,this))throw new Error(`Cannot decode function reference at type ${this.display()} from wire type ${n.display()}`);if(Tr(t)!==1)throw new Error("Cannot decode function reference");let i=ta(t),s=Number(me(t)),a=Nr(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")}},Kn=class extends At{get typeName(){return K.ServiceClass}static[Symbol.hasInstance](t){return t.typeName===K.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: ${he(t)}`)}encodeValue(t){let r=t.toUint8Array(),n=oe(r.length);return Y(new Uint8Array([1]),n,r)}_buildTypeTableImpl(t){this._fields.forEach(([i,s])=>s.buildTypeTable(t));let r=_e(X.Service),n=oe(this._fields.length),o=this._fields.map(([i,s])=>{let a=new TextEncoder().encode(i),c=oe(a.length);return Y(c,a,s.encodeType(t))});t.add(this,Y(r,n,...o))}decodeValue(t,r){let n=r instanceof tt?r.getType()??r:r;if(!ra(n,this))throw new Error(`Cannot decode service reference at type ${this.display()} from wire type ${n.display()}`);return ta(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 he(e){let t=JSON.stringify(e,(r,n)=>typeof n=="bigint"?`BigInt(${n})`:n);return t&&t.length>hl?t.substring(0,hl-3)+"...":t}function
|
|
46
|
+
variant ${r} -> ${o.message}`)}}))return!0;throw new Error(`Invalid ${this.display()} argument: ${he(t)}`)}encodeValue(t){for(let r=0;r<this._fields.length;r++){let[n,o]=this._fields[r];if(t.hasOwnProperty(n)){let i=oe(r),s=o.encodeValue(t[n]);return Y(i,s)}}throw Error("Variant has no data: "+t)}_buildTypeTableImpl(t){this._fields.forEach(([,i])=>{i.buildTypeTable(t)});let r=_e(X.Variant),n=oe(this._fields.length),o=this._fields.map(([i,s])=>Y(oe(ke(i)),s.encodeType(t)));t.add(this,Y(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(me(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(ke(i)===ke(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[ke(r)]=n;return t}},tt=class e extends At{constructor(){super(...arguments),this._id=e._counter++}get typeName(){return K.RecClass}static{this._counter=0}static[Symbol.hasInstance](t){return t.typeName===K.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: ${he(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 ta(e){if(Tr(e)!==1)throw new Error("Cannot decode principal");let r=Number(me(e));return M.fromUint8Array(new Uint8Array(Nr(e,r)))}var ji=class extends Ge{get typeName(){return K.PrincipalClass}static[Symbol.hasInstance](t){return t.typeName===K.PrincipalClass}accept(t,r){return t.visitPrincipal(this,r)}covariant(t){if(t&&t._isPrincipal)return!0;throw new Error(`Invalid ${this.display()} argument: ${he(t)}`)}encodeValue(t){let r=t.toUint8Array(),n=oe(r.byteLength);return Y(new Uint8Array([1]),n,r)}encodeType(){return _e(X.Principal)}decodeValue(t,r){return this.checkType(r),ta(t)}get name(){return"principal"}valueToString(t){return`${this.name} "${t.toText()}"`}},yn=class extends At{get typeName(){return K.FuncClass}static[Symbol.hasInstance](t){return t.typeName===K.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: ${he(t)}`)}encodeValue([t,r]){let n=t.toUint8Array(),o=oe(n.byteLength),i=Y(new Uint8Array([1]),o,n),s=new TextEncoder().encode(r),a=oe(s.byteLength);return Y(new Uint8Array([1]),i,a,s)}_buildTypeTableImpl(t){this.argTypes.forEach(u=>u.buildTypeTable(t)),this.retTypes.forEach(u=>u.buildTypeTable(t));let r=_e(X.Func),n=oe(this.argTypes.length),o=Y(...this.argTypes.map(u=>u.encodeType(t))),i=oe(this.retTypes.length),s=Y(...this.retTypes.map(u=>u.encodeType(t))),a=oe(this.annotations.length),c=Y(...this.annotations.map(u=>this.encodeAnnotation(u)));t.add(this,Y(r,n,o,i,s,a,c))}decodeValue(t,r){let n=r instanceof tt?r.getType()??r:r;if(!ra(n,this))throw new Error(`Cannot decode function reference at type ${this.display()} from wire type ${n.display()}`);if(Tr(t)!==1)throw new Error("Cannot decode function reference");let i=ta(t),s=Number(me(t)),a=Nr(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")}},Kn=class extends At{get typeName(){return K.ServiceClass}static[Symbol.hasInstance](t){return t.typeName===K.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: ${he(t)}`)}encodeValue(t){let r=t.toUint8Array(),n=oe(r.length);return Y(new Uint8Array([1]),n,r)}_buildTypeTableImpl(t){this._fields.forEach(([i,s])=>s.buildTypeTable(t));let r=_e(X.Service),n=oe(this._fields.length),o=this._fields.map(([i,s])=>{let a=new TextEncoder().encode(i),c=oe(a.length);return Y(c,a,s.encodeType(t))});t.add(this,Y(r,n,...o))}decodeValue(t,r){let n=r instanceof tt?r.getType()??r:r;if(!ra(n,this))throw new Error(`Cannot decode service reference at type ${this.display()} from wire type ${n.display()}`);return ta(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 he(e){let t=JSON.stringify(e,(r,n)=>typeof n=="bigint"?`BigInt(${n})`:n);return t&&t.length>hl?t.substring(0,hl-3)+"...":t}function Wp(e,t){if(t.length<e.length)throw Error("Wrong number of message arguments");let r=new Xs;e.forEach(c=>c.buildTypeTable(r));let n=new TextEncoder().encode(Di),o=r.encode(),i=oe(t.length),s=Y(...e.map(c=>c.encodeType(r))),a=Y(...Ro(e,t,(c,u)=>{try{c.covariant(u)}catch(p){throw new Error(p.message+`
|
|
47
47
|
|
|
48
|
-
`)}return c.encodeValue(u)}));return Y(n,o,i,s,a)}function
|
|
49
|
-
`;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)}},Ui=new Ki;function ea(){Ui=new Ki}function
|
|
50
|
-
ic-request`),oa=new TextEncoder().encode("\vic-response"),ia=new TextEncoder().encode("ic-request-auth-delegation");var Ft=class{getPrincipal(){return this._principal||(this._principal=M.selfAuthenticating(new Uint8Array(this.getPublicKey().toDer()))),this._principal}async transformRequest(t){let{body:r,...n}=t,o=Zt(r);return{...n,body:{content:r,sender_pubkey:this.getPublicKey().toDer(),sender_sig:await this.sign(j(Vo,o))}}}},rt=class{getPrincipal(){return M.anonymous()}async transformRequest(t){return{...t,body:{content:t.body}}}};var Xt=class extends Error{constructor(t){super(t),this.name="DecodingError"}},Kl=55799,Hl=Symbol("CBOR_STOP_CODE"),xt=(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))(xt||{}),be=(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))(be||{}),Zp=23,Xp=255,Qp=65535,ef=4294967295,tf=BigInt("0xffffffffffffffff"),gt=(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))(gt||{}),$n=!1;function rf(e){return e==null}function $l(e,t){let r=new Uint8Array(t);return r.set(e),r}var nf=new TextDecoder;function of(e){return(e&224)>>5}function sf(e){return e&31}var Bo=new Uint8Array,Co,bt=0;function Gl(e,t){Bo=e,bt=0;let r=bn(t);return t?.(r)??r}function bn(e){let[t,r]=Hi();switch(t){case be.UnsignedInteger:return Gn(r);case be.NegativeInteger:return uf(r);case be.ByteString:return Jl(r);case be.TextString:return aa(r);case be.Array:return af(r,e);case be.Map:return lf(r,e);case be.Tag:return df(r,e);case be.Simple:return cf(r)}throw new Xt(`Unsupported major type: ${t}`)}function Hi(){let e=Bo.at(bt);if(rf(e))throw new Xt("Provided CBOR data is empty");let t=of(e),r=sf(e);return bt++,[t,r]}function af(e,t){let r=Gn(e);if(r===1/0){let o=[],i=bn(t);for(;i!==Hl;)o.push(t?.(i)??i),i=bn(t);return o}let n=new Array(r);for(let o=0;o<r;o++){let i=bn(t);n[o]=t?.(i)??i}return n}function cf(e){switch(e){case xt.False:return!1;case xt.True:return!0;case xt.Null:return null;case xt.Undefined:return;case xt.Break:return Hl}throw new Xt(`Unrecognized simple type: ${e.toString(2)}`)}function lf(e,t){let r=Gn(e),n={};if(r===1/0){let[o,i]=Hi();for(;o!==be.Simple&&i!==xt.Break;){let s=aa(i),a=bn(t);n[s]=t?.(a,s)??a,[o,i]=Hi()}return n}for(let o=0;o<r;o++){let[i,s]=Hi();if(i!==be.TextString)throw new Xt("Map keys must be text strings");let a=aa(s),c=bn(t);n[a]=t?.(c,a)??c}return n}function Gn(e){if(e<=gt.Value)return e;switch(Co=new DataView(Bo.buffer,Bo.byteOffset+bt),e){case gt.OneByte:return bt++,Co.getUint8(0);case gt.TwoBytes:return bt+=2,Co.getUint16(0,$n);case gt.FourBytes:return bt+=4,Co.getUint32(0,$n);case gt.EightBytes:return bt+=8,Co.getBigUint64(0,$n);case gt.Indefinite:return 1/0;default:throw new Xt(`Unsupported integer info: ${e.toString(2)}`)}}function uf(e){let t=Gn(e);return typeof t=="number"?-1-t:-1n-t}function Jl(e){let t=Gn(e);if(t>Number.MAX_SAFE_INTEGER)throw new Xt("Byte length is too large");let r=Number(t);return bt+=r,Bo.slice(bt-r,bt)}function aa(e){let t=Jl(e);return nf.decode(t)}function df(e,t){let r=Gn(e);if(r===Kl)return bn(t);throw new Xt(`Unsupported tag: ${r}.`)}var Do=class extends Error{constructor(t){super(t),this.name="SerializationError"}},pf=2*1024,ff=100,hf=new TextEncoder;function Po(e){return e<<5}var et=new Uint8Array(pf),yt=new DataView(et.buffer),xe=0,sa=[];function Wl(e,t){xe=0;let r=t?.(e)??e;return Tf(Kl,r,t),et.slice(0,xe)}function ca(e,t){if(xe>et.length-ff&&(et=$l(et,et.length*2),yt=new DataView(et.buffer)),e===!1||e===!0||e===null||e===void 0){yf(e);return}if(typeof e=="number"||typeof e=="bigint"){wf(e);return}if(typeof e=="string"){Zl(e);return}if(e instanceof Uint8Array){jl(e);return}if(e instanceof ArrayBuffer){jl(new Uint8Array(e));return}if(Array.isArray(e)){mf(e,t);return}if(typeof e=="object"){_f(e,t);return}throw new Do(`Unsupported type: ${typeof e}`)}function mf(e,t){Jn(be.Array,e.length),e.forEach((r,n)=>{ca(t?.(r,n.toString())??r,t)})}function _f(e,t){sa=Object.entries(e),Jn(be.Map,sa.length),sa.forEach(([r,n])=>{Zl(r),ca(t?.(n,r)??n,t)})}function Jn(e,t){if(t<=Zp){yt.setUint8(xe++,Po(e)|Number(t));return}if(t<=Xp){yt.setUint8(xe++,Po(e)|gt.OneByte),yt.setUint8(xe,Number(t)),xe+=1;return}if(t<=Qp){yt.setUint8(xe++,Po(e)|gt.TwoBytes),yt.setUint16(xe,Number(t),$n),xe+=2;return}if(t<=ef){yt.setUint8(xe++,Po(e)|gt.FourBytes),yt.setUint32(xe,Number(t),$n),xe+=4;return}if(t<=tf){yt.setUint8(xe++,Po(e)|gt.EightBytes),yt.setBigUint64(xe,BigInt(t),$n),xe+=8;return}throw new Do(`Value too large to encode: ${t}`)}function yf(e){Jn(be.Simple,gf(e))}function gf(e){if(e===!1)return xt.False;if(e===!0)return xt.True;if(e===null)return xt.Null;if(e===void 0)return xt.Undefined;throw new Do(`Unrecognized simple value: ${e.toString()}`)}function zl(e,t){Jn(e,t.length),xe>et.length-t.length&&(et=$l(et,et.length+t.length),yt=new DataView(et.buffer)),et.set(t,xe),xe+=t.length}function Yl(e,t){Jn(e,t)}function xf(e){Yl(be.UnsignedInteger,e)}function bf(e){Yl(be.NegativeInteger,typeof e=="bigint"?-1n-e:-1-e)}function wf(e){e>=0?xf(e):bf(e)}function Zl(e){zl(be.TextString,hf.encode(e))}function jl(e){zl(be.ByteString,e)}function Tf(e,t,r){Jn(be.Tag,e),ca(t,r)}function Of(e){return typeof e=="object"&&e!==null&&"toCborValue"in e}function Uo(e){try{return Wl(e,t=>M.isPrincipal(t)?t.toUint8Array():Wn.isExpiry(t)?t.toBigInt():Of(t)?t.toCborValue():t)}catch(t){throw z.fromCode(new Ni(t,e))}}function Je(e){try{return Gl(e)}catch(t){throw z.fromCode(new Ti(t,e))}}var $i={encode:Uo,decode:Je};var ko=()=>{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 Qt;(function(e){e.Query="read",e.ReadState="read_state",e.Call="call"})(Qt||(Qt={}));var Gi;(function(e){e.Call="call"})(Gi||(Gi={}));var wn;(function(e){e.Query="query",e.ReadState="read_state"})(wn||(wn={}));function Lo(){let e=new ArrayBuffer(16),t=new DataView(e),r=ko(),n=ko(),o=ko(),i=ko();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 Ji="__expiry__",ua=BigInt(1e3),Ef=BigInt(1e6),Xl=BigInt(60),Rf=BigInt(90)*ua;function Ql(e){return e/ua}function vf(e){return Ql(e)/Xl}var Wn=class e{constructor(t){this.__expiry__=t,this._isExpiry=!0}static fromDeltaInMilliseconds(t,r=0){let n=BigInt(t),o=BigInt(Date.now())+n+BigInt(r),i;return n<Rf?i=Ql(o):i=vf(o)*Xl,new e(i*ua*Ef)}toBigInt(){return this.__expiry__}toHash(){return oe(this.__expiry__)}toString(){return this.__expiry__.toString()}toJSON(){return{[Ji]:this.toString()}}static fromJSON(t){let r=JSON.parse(t);if(r[Ji])try{let n=BigInt(r[Ji]);return new e(n)}catch(n){throw new z(new Oo(`Not a valid BigInt: ${n}`))}throw new z(new Oo(`The input does not contain the key ${Ji}`))}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 da(e=Lo){return async t=>{let r=t.request.headers;t.request.headers=r,t.endpoint===Qt.Call&&(t.body.nonce=e())}}function Wi(e){let t=[];return e.forEach((r,n)=>{t.push([n,r])}),t}var fa=BigInt(0),zi=BigInt(1);function Tn(e,t=""){if(typeof e!="boolean"){let r=t&&`"${t}"`;throw new Error(r+"expected boolean, got type="+typeof e)}return e}function Er(e,t,r=""){let n=Ot(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 eu(e){if(typeof e!="string")throw new Error("hex string expected, got "+typeof e);return e===""?fa:BigInt("0x"+e)}function We(e){return eu(H(e))}function er(e){return fe(e),eu(H(Uint8Array.from(e).reverse()))}function we(e,t){return Ne(e.toString(16).padStart(t*2,"0"))}function ha(e,t){return we(e,t).reverse()}function le(e,t,r){let n;if(typeof t=="string")try{n=Ne(t)}catch(i){throw new Error(e+" must be hex string or Uint8Array, cause: "+i)}else if(Ot(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 tu(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 ma(e){return Uint8Array.from(e)}var pa=e=>typeof e=="bigint"&&fa<=e;function _a(e,t,r){return pa(e)&&pa(t)&&pa(r)&&t<=e&&e<r}function Yi(e,t,r,n){if(!_a(t,r,n))throw new Error("expected valid "+e+": "+r+" <= n < "+n+", got "+t)}function tr(e){let t;for(t=0;e>fa;e>>=zi,t+=1);return t}function ru(e,t){return e>>BigInt(t)&zi}var wt=e=>(zi<<BigInt(e))-zi;function nu(e){return typeof e=="function"&&Number.isSafeInteger(e.outputLen)}function rr(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 zn=()=>{throw new Error("not implemented")};function Rr(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 Le=BigInt(0),Ee=BigInt(1),Nn=BigInt(2),iu=BigInt(3),su=BigInt(4),au=BigInt(5),If=BigInt(7),cu=BigInt(8),Af=BigInt(9),lu=BigInt(16);function se(e,t){let r=e%t;return r>=Le?r:t+r}function Tt(e,t,r){let n=e;for(;t-- >Le;)n*=n,n%=r;return n}function ou(e,t){if(e===Le)throw new Error("invert: expected non-zero number");if(t<=Le)throw new Error("invert: expected positive modulus, got "+t);let r=se(e,t),n=t,o=Le,i=Ee,s=Ee,a=Le;for(;r!==Le;){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!==Ee)throw new Error("invert: does not exist");return se(o,t)}function ya(e,t,r){if(!e.eql(e.sqr(t),r))throw new Error("Cannot find square root")}function uu(e,t){let r=(e.ORDER+Ee)/su,n=e.pow(t,r);return ya(e,n,t),n}function Sf(e,t){let r=(e.ORDER-au)/cu,n=e.mul(t,Nn),o=e.pow(n,r),i=e.mul(t,o),s=e.mul(e.mul(i,Nn),o),a=e.mul(i,e.sub(s,e.ONE));return ya(e,a,t),a}function Ff(e){let t=qe(e),r=du(e),n=r(t,t.neg(t.ONE)),o=r(t,n),i=r(t,t.neg(n)),s=(e+If)/lu;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 m=a.eql(a.sqr(p),c),g=a.cmov(u,p,m);return ya(a,g,c),g}}function du(e){if(e<iu)throw new Error("sqrt is not defined for small field");let t=e-Ee,r=0;for(;t%Nn===Le;)t/=Nn,r++;let n=Nn,o=qe(e);for(;qo(o,n)===1;)if(n++>1e3)throw new Error("Cannot find square root: probably non-prime P");if(r===1)return uu;let i=o.pow(n,t),s=(t+Ee)/Nn;return function(c,u){if(c.is0(u))return u;if(qo(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,m=c.sqr(l);for(;!c.eql(m,c.ONE);)if(h++,m=c.sqr(m),h===p)throw new Error("Cannot find square root");let g=Ee<<BigInt(p-h-1),_=c.pow(d,g);p=h,d=c.sqr(_),l=c.mul(l,d),f=c.mul(f,_)}return f}}function Vf(e){return e%su===iu?uu:e%cu===au?Sf:e%lu===Af?Ff(e):du(e)}var nr=(e,t)=>(se(e,t)&Ee)===Ee,Cf=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function Zi(e){let t={ORDER:"bigint",MASK:"bigint",BYTES:"number",BITS:"number"},r=Cf.reduce((n,o)=>(n[o]="function",n),t);return rr(e,r),e}function Mo(e,t,r){if(r<Le)throw new Error("invalid exponent, negatives unsupported");if(r===Le)return e.ONE;if(r===Ee)return t;let n=e.ONE,o=t;for(;r>Le;)r&Ee&&(n=e.mul(n,o)),o=e.sqr(o),r>>=Ee;return n}function nt(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 qo(e,t){let r=(e.ORDER-Ee)/Nn,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 ga(e,t){t!==void 0&&qs(t);let r=t!==void 0?t:e.toString(2).length,n=Math.ceil(r/8);return{nBitLength:r,nByteLength:n}}function qe(e,t,r=!1,n={}){if(e<=Le)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}=ga(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:wt(c),ZERO:Le,ONE:Ee,allowedLengths:a,create:l=>se(l,e),isValid:l=>{if(typeof l!="bigint")throw new Error("invalid field element: expected bigint, got "+typeof l);return Le<=l&&l<e},is0:l=>l===Le,isValidNot0:l=>!d.is0(l)&&d.isValid(l),isOdd:l=>(l&Ee)===Ee,neg:l=>se(-l,e),eql:(l,f)=>l===f,sqr:l=>se(l*l,e),add:(l,f)=>se(l+f,e),sub:(l,f)=>se(l-f,e),mul:(l,f)=>se(l*f,e),pow:(l,f)=>Mo(d,l,f),div:(l,f)=>se(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=Vf(e)),p(d,l))),toBytes:l=>r?ha(l,u):we(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 m=new Uint8Array(u);m.set(l,r?0:m.length-l.length),l=m}if(l.length!==u)throw new Error("Field.fromBytes: expected "+u+" bytes, got "+l.length);let h=r?er(l):We(l);if(s&&(h=se(h,e)),!f&&!d.isValid(h))throw new Error("invalid field element: outside of range 0..ORDER");return h},invertBatch:l=>nt(d,l),cmov:(l,f,h)=>h?f:l});return Object.freeze(d)}function pu(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 Xi(e){let t=pu(e);return t+Math.ceil(t/2)}function xa(e,t,r=!1){let n=e.length,o=pu(t),i=Xi(t);if(n<16||n<i||n>1024)throw new Error("expected "+i+"-1024 bytes of input, got "+n);let s=r?er(e):We(e),a=se(s,t-Ee)+Ee;return r?ha(a,o):we(a,o)}var Yn=BigInt(0),On=BigInt(1);function jo(e,t){let r=t.negate();return e?r:t}function ot(e,t){let r=nt(e.Fp,t.map(n=>n.Z));return t.map((n,o)=>e.fromAffine(n.toAffine(r[o])))}function _u(e,t){if(!Number.isSafeInteger(e)||e<=0||e>t)throw new Error("invalid window size, expected [1.."+t+"], got W="+e)}function ba(e,t){_u(e,t);let r=Math.ceil(t/e)+1,n=2**(e-1),o=2**e,i=wt(e),s=BigInt(e);return{windows:r,windowSize:n,mask:i,maxNumber:o,shiftBy:s}}function fu(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+=On);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 Bf(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 Df(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 wa=new WeakMap,yu=new WeakMap;function Ta(e){return yu.get(e)||1}function hu(e){if(e!==Yn)throw new Error("invalid wNAF")}var Zn=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>Yn;)r&On&&(n=n.add(o)),o=o.double(),r>>=On;return n}precomputeWindow(t,r){let{windows:n,windowSize:o}=ba(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=ba(t,this.bits);for(let a=0;a<s.windows;a++){let{nextN:c,offset:u,isZero:p,isNeg:d,isNegF:l,offsetF:f}=fu(n,a,s);n=c,p?i=i.add(jo(l,r[f])):o=o.add(jo(d,r[u]))}return hu(n),{p:o,f:i}}wNAFUnsafe(t,r,n,o=this.ZERO){let i=ba(t,this.bits);for(let s=0;s<i.windows&&n!==Yn;s++){let{nextN:a,offset:c,isZero:u,isNeg:p}=fu(n,s,i);if(n=a,!u){let d=r[c];o=o.add(p?d.negate():d)}}return hu(n),o}getPrecomputes(t,r,n){let o=wa.get(r);return o||(o=this.precomputeWindow(r,t),t!==1&&(typeof n=="function"&&(o=n(o)),wa.set(r,o))),o}cached(t,r,n){let o=Ta(t);return this.wNAF(o,this.getPrecomputes(o,t,n),r)}unsafe(t,r,n,o){let i=Ta(t);return i===1?this._unsafeLadder(t,r,o):this.wNAFUnsafe(i,this.getPrecomputes(i,t,n),r,o)}createCache(t,r){_u(r,this.bits),yu.set(t,r),wa.delete(t)}hasCache(t){return Ta(t)!==1}};function gu(e,t,r,n){let o=t,i=e.ZERO,s=e.ZERO;for(;r>Yn||n>Yn;)r&On&&(i=i.add(o)),n&On&&(s=s.add(o)),o=o.double(),r>>=On,n>>=On;return{p1:i,p2:s}}function Xn(e,t,r,n){Bf(r,e),Df(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=tr(BigInt(o)),c=1;a>12?c=a-3:a>4?c=a-2:a>0&&(c=2);let u=wt(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 m=0;m<i;m++){let g=n[m],_=Number(g>>BigInt(f)&u);p[_]=p[_].add(r[m])}let h=s;for(let m=p.length-1,g=s;m>0;m--)g=g.add(p[m]),h=h.add(g);if(l=l.add(h),f!==0)for(let m=0;m<c;m++)l=l.double()}return l}function mu(e,t,r){if(t){if(t.ORDER!==e)throw new Error("Field.ORDER must match order: Fp == p, Fn == n");return Zi(t),t}else return qe(e,{isLE:r})}function Qi(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>Yn))throw new Error(`CURVE.${c} must be positive bigint`)}let o=mu(t.p,r.Fp,n),i=mu(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 Uf=We;function vr(e,t){if(Ko(e),Ko(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 kf(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 Ko(e){if(!Number.isSafeInteger(e))throw new Error("number expected")}function xu(e){if(!Ot(e)&&typeof e!="string")throw new Error("DST must be Uint8Array or string");return typeof e=="string"?ee(e):e}function Lf(e,t,r,n){fe(e),Ko(r),t=xu(t),t.length>255&&(t=n(j(ee("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=j(t,vr(t.length,1)),c=vr(0,i),u=vr(r,2),p=new Array(s),d=n(j(c,e,u,vr(0,1),a));p[0]=n(j(d,vr(1,1),a));for(let f=1;f<=s;f++){let h=[kf(d,p[f-1]),vr(f+1,1),a];p[f]=n(j(...h))}return j(...p).slice(0,r)}function qf(e,t,r,n,o){if(fe(e),Ko(r),t=xu(t),t.length>255){let i=Math.ceil(2*n/8);t=o.create({dkLen:i}).update(ee("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(vr(r,2)).update(t).update(vr(t.length,1)).digest()}function Na(e,t,r){rr(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");fe(e),Ko(t);let u=n.toString(2).length,p=Math.ceil((u+o)/8),d=t*i*p,l;if(a==="xmd")l=Lf(e,c,d,s);else if(a==="xof")l=qf(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 m=new Array(i);for(let g=0;g<i;g++){let _=p*(g+h*i),x=l.subarray(_,_+p);m[g]=se(Uf(x),n)}f[h]=m}return f}function Oa(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]=nt(e,[s,c],!0);return n=e.mul(i,u),o=e.mul(o,e.mul(a,p)),{x:n,y:o}}}var Mf=ee("HashToScalar-");function Ea(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=Na(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=Na(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:Mf},s);return Na(i,1,c)[0][0]}}}var bu=(e,t)=>(e+(e>=0?t:-t)/or)/t;function jf(e,t,r){let[[n,o],[i,s]]=t,a=bu(s*e,r),c=bu(-o*e,r),u=e-a*n-c*i,p=-a*o-c*s,d=u<En,l=p<En;d&&(u=-u),l&&(p=-p);let f=wt(Math.ceil(tr(r)/2))+Me;if(u<En||u>=f||p<En||p>=f)throw new Error("splitScalar (endomorphism): failed, k="+e);return{k1neg:d,k1:u,k2neg:l,k2:p}}var En=BigInt(0),Me=BigInt(1),or=BigInt(2),Qn=BigInt(3),Ra=BigInt(4);function Ho(e,t){let{BYTES:r}=e,n;if(typeof t=="bigint")n=t;else{let o=le("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 Kf(e,t={}){let r=Qi("weierstrass",e,t),{Fp:n,Fn:o}=r,i=r.CURVE,{h:s,n:a}=i;rr(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=Gf(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:F,y:B}=b.toAffine(),L=n.toBytes(F);if(Tn(N,"isCompressed"),N){p();let A=!n.isOdd(B);return j(Hf(A),L)}else return j(Uint8Array.of(4),L,n.toBytes(B))}function l(S){Er(S,void 0,"Point");let{publicKey:b,publicKeyUncompressed:N}=u,F=S.length,B=S[0],L=S.subarray(1);if(F===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 C=m(A),P;try{P=n.sqrt(C)}catch(te){let Q=te instanceof Error?": "+te.message:"";throw new Error("bad point: is not on curve, sqrt error"+Q)}p();let D=n.isOdd(P);return(B&1)===1!==D&&(P=n.neg(P)),{x:A,y:P}}else if(F===N&&B===4){let A=n.BYTES,C=n.fromBytes(L.subarray(0,A)),P=n.fromBytes(L.subarray(A,A*2));if(!g(C,P))throw new Error("bad point: is not on curve");return{x:C,y:P}}else throw new Error(`bad point: got length ${F}, expected compressed=${b} or uncompressed=${N}`)}let f=t.toBytes||d,h=t.fromBytes||l;function m(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),F=m(S);return n.eql(N,F)}if(!g(i.Gx,i.Gy))throw new Error("bad curve params: generator point");let _=n.mul(n.pow(i.a,Qn),Ra),x=n.mul(n.sqr(i.b),BigInt(27));if(n.is0(n.add(_,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 jf(S,c.basises,o.ORDER)}let O=Rr((S,b)=>{let{X:N,Y:F,Z:B}=S;if(n.eql(B,n.ONE))return{x:N,y:F};let L=S.is0();b==null&&(b=L?n.ONE:n.inv(B));let A=n.mul(N,b),C=n.mul(F,b),P=n.mul(B,b);if(L)return{x:n.ZERO,y:n.ZERO};if(!n.eql(P,n.ONE))throw new Error("invZ was invalid");return{x:A,y:C}}),R=Rr(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 I(S,b,N,F,B){return N=new w(n.mul(N.X,S),N.Y,N.Z),b=jo(F,b),N=jo(B,N),b.add(N)}class w{constructor(b,N,F){this.X=y("x",b),this.Y=y("y",N,!0),this.Z=y("z",F),Object.freeze(this)}static CURVE(){return i}static fromAffine(b){let{x:N,y:F}=b||{};if(!b||!n.isValid(N)||!n.isValid(F))throw new Error("invalid affine point");if(b instanceof w)throw new Error("projective point not allowed");return n.is0(N)&&n.is0(F)?w.ZERO:new w(N,F,n.ONE)}static fromBytes(b){let N=w.fromAffine(h(Er(b,void 0,"point")));return N.assertValidity(),N}static fromHex(b){return w.fromBytes(le("pointHex",b))}get x(){return this.toAffine().x}get y(){return this.toAffine().y}precompute(b=8,N=!0){return V.createCache(this,b),N||this.multiply(Qn),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:F,Z:B}=this,{X:L,Y:A,Z:C}=b,P=n.eql(n.mul(N,C),n.mul(L,B)),D=n.eql(n.mul(F,C),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,F=n.mul(N,Qn),{X:B,Y:L,Z:A}=this,C=n.ZERO,P=n.ZERO,D=n.ZERO,U=n.mul(B,B),te=n.mul(L,L),Q=n.mul(A,A),$=n.mul(B,L);return $=n.add($,$),D=n.mul(B,A),D=n.add(D,D),C=n.mul(b,D),P=n.mul(F,Q),P=n.add(C,P),C=n.sub(te,P),P=n.add(te,P),P=n.mul(C,P),C=n.mul($,C),D=n.mul(F,D),Q=n.mul(b,Q),$=n.sub(U,Q),$=n.mul(b,$),$=n.add($,D),D=n.add(U,U),U=n.add(D,U),U=n.add(U,Q),U=n.mul(U,$),P=n.add(P,U),Q=n.mul(L,A),Q=n.add(Q,Q),U=n.mul(Q,$),C=n.sub(C,U),D=n.mul(Q,te),D=n.add(D,D),D=n.add(D,D),new w(C,P,D)}add(b){T(b);let{X:N,Y:F,Z:B}=this,{X:L,Y:A,Z:C}=b,P=n.ZERO,D=n.ZERO,U=n.ZERO,te=i.a,Q=n.mul(i.b,Qn),$=n.mul(N,L),ie=n.mul(F,A),pe=n.mul(B,C),Se=n.add(N,F),re=n.add(L,A);Se=n.mul(Se,re),re=n.add($,ie),Se=n.sub(Se,re),re=n.add(N,B);let ce=n.add(L,C);return re=n.mul(re,ce),ce=n.add($,pe),re=n.sub(re,ce),ce=n.add(F,B),P=n.add(A,C),ce=n.mul(ce,P),P=n.add(ie,pe),ce=n.sub(ce,P),U=n.mul(te,re),P=n.mul(Q,pe),U=n.add(P,U),P=n.sub(ie,U),U=n.add(ie,U),D=n.mul(P,U),ie=n.add($,$),ie=n.add(ie,$),pe=n.mul(te,pe),re=n.mul(Q,re),ie=n.add(ie,pe),pe=n.sub($,pe),pe=n.mul(te,pe),re=n.add(re,pe),$=n.mul(ie,re),D=n.add(D,$),$=n.mul(ce,re),P=n.mul(Se,P),P=n.sub(P,$),$=n.mul(Se,ie),U=n.mul(ce,U),U=n.add(U,$),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 F,B,L=A=>V.cached(this,A,C=>ot(w,C));if(N){let{k1neg:A,k1:C,k2neg:P,k2:D}=E(b),{p:U,f:te}=L(C),{p:Q,f:$}=L(D);B=te.add($),F=I(N.beta,U,Q,A,P)}else{let{p:A,f:C}=L(b);F=A,B=C}return ot(w,[F,B])[0]}multiplyUnsafe(b){let{endo:N}=t,F=this;if(!o.isValid(b))throw new Error("invalid scalar: out of range");if(b===En||F.is0())return w.ZERO;if(b===Me)return F;if(V.hasCache(this))return this.multiply(b);if(N){let{k1neg:B,k1:L,k2neg:A,k2:C}=E(b),{p1:P,p2:D}=gu(w,F,L,C);return I(N.beta,P,D,B,A)}else return V.unsafe(F,b)}multiplyAndAddUnsafe(b,N,F){let B=this.multiplyUnsafe(N).add(b.multiplyUnsafe(F));return B.is0()?void 0:B}toAffine(b){return O(this,b)}isTorsionFree(){let{isTorsionFree:b}=t;return s===Me?!0:b?b(w,this):V.unsafe(this,a).is0()}clearCofactor(){let{clearCofactor:b}=t;return s===Me?this:b?b(w,this):this.multiplyUnsafe(s)}isSmallOrder(){return this.multiplyUnsafe(s).is0()}toBytes(b=!0){return Tn(b,"isCompressed"),this.assertValidity(),f(w,this,b)}toHex(b=!0){return H(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 ot(w,b)}static msm(b,N){return Xn(w,o,b,N)}static fromPrivateKey(b){return w.BASE.multiply(Ho(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 v=o.BITS,V=new Zn(w,t.endo?Math.ceil(v/2):v);return w.BASE.precompute(8),w}function Hf(e){return Uint8Array.of(e?2:3)}function $f(e,t){let r=e.ORDER,n=En;for(let h=r-Me;h%or===En;h/=or)n+=Me;let o=n,i=or<<o-Me-Me,s=i*or,a=(r-Me)/s,c=(a-Me)/or,u=s-Me,p=i,d=e.pow(t,a),l=e.pow(t,(a+Me)/or),f=(h,m)=>{let g=d,_=e.pow(m,u),x=e.sqr(_);x=e.mul(x,m);let y=e.mul(h,x);y=e.pow(y,c),y=e.mul(y,_),_=e.mul(y,m),x=e.mul(y,h);let T=e.mul(x,_);y=e.pow(T,p);let E=e.eql(y,e.ONE);_=e.mul(x,l),y=e.mul(T,g),x=e.cmov(_,x,E),T=e.cmov(y,T,E);for(let O=o;O>Me;O--){let R=O-or;R=or<<R-Me;let I=e.pow(T,R),w=e.eql(I,e.ONE);_=e.mul(x,g),g=e.mul(g,g),I=e.mul(T,g),x=e.cmov(_,x,w),T=e.cmov(I,T,w)}return{isValid:E,value:x}};if(e.ORDER%Ra===Qn){let h=(e.ORDER-Qn)/Ra,m=e.sqrt(e.neg(t));f=(g,_)=>{let x=e.sqr(_),y=e.mul(g,_);x=e.mul(x,y);let T=e.pow(x,h);T=e.mul(T,y);let E=e.mul(T,m),O=e.mul(e.sqr(T),_),R=e.eql(O,g),I=e.cmov(E,T,R);return{isValid:R,value:I}}}return f}function va(e,t){Zi(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=$f(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:m,value:g}=i(c,l);h=e.mul(a,s),h=e.mul(h,g),f=e.cmov(f,u,m),h=e.cmov(h,g,m);let _=e.isOdd(s)===e.isOdd(h);h=e.cmov(e.neg(h),h,_);let x=nt(e,[p],!0)[0];return f=e.mul(f,x),{x:f,y:h}}}function Gf(e,t){return{secretKey:t.BYTES,publicKey:1+e.BYTES,publicKeyUncompressed:1+2*e.BYTES,publicKeyHasPrefix:!0,signature:2*t.BYTES}}function Ia(e){let{CURVE:t,curveOpts:r}=Jf(e),n=Kf(t,r);return zf(e,n)}function Jf(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=qe(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 Wf(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 zf(e,t){let{Fp:r,Fn:n}=t;function o(s){return _a(s,Me,n.ORDER)}let i=Wf(r,e.a,e.b);return Object.assign({},{CURVE:e,Point:t,ProjectivePoint:t,normPrivateKeyToScalar:s=>Ho(n,s),weierstrassEquation:i,isWithinCurveOrder:o})}var Yf=BigInt(0),es=BigInt(1),wu=BigInt(2),eo=BigInt(3);function Zf(e){let t=[];for(;e>es;e>>=es)(e&es)===Yf?t.unshift(0):(e&eo)===eo?(t.unshift(-1),e+=es):t.unshift(1);return t}function Aa(e){if(!Array.isArray(e)||e.length===0)throw new Error("expected non-empty array")}function Xf(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,I)=>i.mul014(O,y,o.mul(T,R),o.mul(E,I));else if(s==="divisive")p=(y,T,E,O,R,I)=>i.mul034(O,o.mul(E,I),o.mul(T,R),y);else throw new Error("bls: unknown twist type");let d=o.div(o.ONE,o.mul(o.ONE,wu));function l(y,T,E,O){let R=o.sqr(E),I=o.sqr(O),w=o.mulByB(o.mul(I,eo)),v=o.mul(w,eo),V=o.sub(o.sub(o.sqr(o.add(E,O)),I),R),S=o.sub(w,R),b=o.mul(o.sqr(T),eo),N=o.neg(V);return y.push([S,b,N]),T=o.mul(o.mul(o.mul(o.sub(R,v),T),E),d),E=o.sub(o.sqr(o.mul(o.add(R,v),d)),o.mul(o.sqr(w),eo)),O=o.mul(R,V),{Rx:T,Ry:E,Rz:O}}function f(y,T,E,O,R,I){let w=o.sub(E,o.mul(I,O)),v=o.sub(T,o.mul(R,O)),V=o.sub(o.mul(w,R),o.mul(v,I)),S=o.neg(w),b=v;y.push([V,S,b]);let N=o.sqr(v),F=o.mul(N,v),B=o.mul(N,T),L=o.add(o.sub(F,o.mul(B,wu)),o.mul(o.sqr(w),O));return T=o.mul(v,L),E=o.sub(o.mul(o.sub(B,L),w),o.mul(F,E)),O=o.mul(O,F),{Rx:T,Ry:E,Rz:O}}let h=Zf(a),m=Rr(y=>{let T=y,{x:E,y:O}=T.toAffine(),R=E,I=O,w=o.neg(O),v=R,V=I,S=o.ONE,b=[];for(let N of h){let F=[];({Rx:v,Ry:V,Rz:S}=l(F,v,V,S)),N&&({Rx:v,Ry:V,Rz:S}=f(F,v,V,S,R,N===-1?w:I)),b.push(F)}if(u){let N=b[b.length-1];u(v,V,S,R,I,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[I,w,v]of y)for(let[V,S,b]of I[R])E=p(V,S,b,E,w,v)}}return c&&(E=i.conjugate(E)),T?i.finalExponentiate(E):E}function _(y,T=!0){let E=[];ot(t,y.map(({g1:O})=>O)),ot(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 I=O.toAffine();E.push([m(R),I.x,I.y])}return g(E,T)}function x(y,T,E=!0){return _([{g1:y,g2:T}],E)}return{Fp12:i,millerLoopBatch:g,pairing:x,pairingBatch:_,calcPairingPrecomputes:m}}function Tu(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=Ho(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=Ho(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 m=f.negate(),g=t.Point.BASE,_=u(l),x=d,y=s([p(m,_),p(g,x)]);return i.eql(y,i.ONE)},verifyBatch(d,l,f){if(Aa(l),f.length!==l.length)throw new Error("amount of public keys and messages should be equal");let h=c(d),m=l,g=f.map(a),_=new Map;for(let T=0;T<g.length;T++){let E=g[T],O=m[T],R=_.get(O);R===void 0&&(R=[],_.set(O,R)),R.push(E)}let x=[],y=t.Point.BASE;try{for(let[T,E]of _){let O=E.reduce((R,I)=>R.add(I));x.push(p(O,T))}return x.push(p(y.negate(),h)),i.eql(s(x),i.ONE)}catch{return!1}},aggregatePublicKeys(d){Aa(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){Aa(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){fe(d);let f=l?{DST:l}:void 0;return r.hashToCurve(d,f)},Signature:n}}function Nu(e){let{Fp:t,Fr:r,Fp2:n,Fp6:o,Fp12:i}=e.fields,s=Ia(e.G1),a=Object.assign(s,Ea(s.Point,e.G1.mapToCurve,{...e.htfDefaults,...e.G1.htfDefaults})),c=Ia(e.G2),u=Object.assign(c,Ea(c.Point,e.G2.mapToCurve,{...e.htfDefaults,...e.G2.htfDefaults})),p=Xf(e.fields,a.Point,u.Point,{...e.params,postPrecompute:e.postPrecompute}),{millerLoopBatch:d,pairing:l,pairingBatch:f,calcPairingPrecomputes:h}=p,m=Tu(p,a,u,e.G2.Signature,!1),g=Tu(p,u,a,e.G1.ShortSignature,!0),_=e.randomBytes||Pn,x=()=>{let A=Xi(r.ORDER);return xa(_(A),r.ORDER)},y={randomSecretKey:x,randomPrivateKey:x,calcPairingPrecomputes:h},{ShortSignature:T}=e.G1,{Signature:E}=e.G2;function O(A,C){return A instanceof a.Point?A:g.hash(le("point",A),C?.DST)}function R(A,C){return A instanceof u.Point?A:m.hash(le("point",A),C?.DST)}function I(A){return m.getPublicKey(A).toBytes(!0)}function w(A){return g.getPublicKey(A).toBytes(!0)}function v(A,C,P){let D=R(A,P),U=m.sign(D,C);return A instanceof u.Point?U:E.toBytes(U)}function V(A,C,P){let D=O(A,P),U=g.sign(D,C);return A instanceof a.Point?U:T.toBytes(U)}function S(A,C,P,D){let U=R(C,D);return m.verify(A,U,P)}function b(A,C,P,D){let U=O(C,D);return g.verify(A,U,P)}function N(A){let C=m.aggregatePublicKeys(A);return A[0]instanceof a.Point?C:C.toBytes(!0)}function F(A){let C=m.aggregateSignatures(A);return A[0]instanceof u.Point?C:E.toBytes(C)}function B(A){let C=g.aggregateSignatures(A);return A[0]instanceof a.Point?C:T.toBytes(C)}function L(A,C,P,D){let U=C.map(te=>R(te,D));return m.verifyBatch(A,U,P)}return a.Point.BASE.precompute(4),{longSignatures:m,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:I,getPublicKeyForShortSignatures:w,sign:v,signShortSignature:V,verify:S,verifyShortSignature:b,aggregatePublicKeys:N,aggregateSignatures:F,aggregateShortSignatures:B,G1:a,G2:u,Signature:E,ShortSignature:T}}var Ou=BigInt(0),ir=BigInt(1),je=BigInt(2),Eu=BigInt(3);function Ca(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=ir;l<n;l++){let h=(p*f-p)/s%a;d.push(e.pow(t,h)),f*=r}c.push(d)}return c}function vu(e,t,r){let n=t.pow(r,(e.ORDER-ir)/Eu),o=t.pow(r,(e.ORDER-ir)/je);function i(l,f){let h=t.mul(t.frobeniusMap(l,1),n),m=t.mul(t.frobeniusMap(f,1),o);return[h,m]}let s=t.pow(r,(e.ORDER**je-ir)/Eu),a=t.pow(r,(e.ORDER**je-ir)/je);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 m=h.toAffine(),g=l(m.x,m.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 Ru=(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]}},Sa=class{constructor(t,r={}){this.MASK=ir;let n=t.ORDER,o=n*n;this.Fp=t,this.ORDER=o,this.BITS=tr(o),this.BYTES=Math.ceil(tr(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,je),this.NONRESIDUE=Ru(t,r.FP2_NONRESIDUE),this.FROBENIUS_COEFFICIENTS=Ca(t,this.Fp_NONRESIDUE,t.ORDER,2)[0],this.mulByB=r.Fp2mulByB,Object.seal(this)}fromBigTuple(t){return Ru(this.Fp,t)}create(t){return t}isValid({c0:t,c1:r}){function n(o,i){return typeof o=="bigint"&&Ou<=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 Mo(this,t,r)}invertBatch(t){return nt(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 qo(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);qo(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:m,im:g}=n.reim(l);return h>g||h===g&&f>m?d:l}isOdd(t){let{re:r,im:n}=this.reim(t),o=r%je,i=r===Ou,s=n%je;return BigInt(o||i&&s)==ir}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 j(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])}}},Fa=class{constructor(t){this.MASK=ir,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=Ca(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),je),a=o.mul(o.mul(r,n),je),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 zn()}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 Mo(this,t,r)}invertBatch(t){return nt(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 j(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)}}},Va=class{constructor(t,r){this.MASK=ir;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=Ca(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){zn()}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 Mo(this,t,r)}invertBatch(t){return nt(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 j(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:m,second:g}=o.Fp4Square(s,p),_=o.mulByNonresidue(g);return{c0:n.create({c0:o.add(o.mul(o.sub(d,i),je),d),c1:o.add(o.mul(o.sub(f,s),je),f),c2:o.add(o.mul(o.sub(m,a),je),m)}),c1:n.create({c0:o.add(o.mul(o.add(_,c),je),_),c1:o.add(o.mul(o.add(l,u),je),l),c2:o.add(o.mul(o.add(h,p),je),h)})}}_cyclotomicExp(t,r){let n=this.ONE;for(let o=this.X_LEN-1;o>=0;o--)n=this._cyclotomicSquare(n),ru(r,o)&&(n=this.mul(n,t));return n}};function Iu(e){let t=qe(e.ORDER),r=new Sa(t,e),n=new Fa(r),o=new Va(n,e);return{Fp:t,Fp2:r,Fp6:n,Fp12:o}}var Ve=BigInt(0),ts=BigInt(1),it=BigInt(2),rs=BigInt(3),$o=BigInt(4),Ir=BigInt("0xd201000000010000"),Qf=tr(Ir),Rn={p:BigInt("0x1a0111ea397fe69a4b1ba7b6434bacd764774b84f38512bf6730d2a0f6b0f6241eabfffeb153ffffb9feffffffffaaab"),n:BigInt("0x73eda753299d7d483339d80809a1d80553bda402fffe5bfeffffffff00000001"),h:BigInt("0x396c8c005555e1568c00aaab0000aaab"),a:Ve,b:$o,Gx:BigInt("0x17f1d3a73197d7942695638c4fa9ac0fc3688c4f9774b905a14e3a3f171bac586c55e83ff97a1aeffb3af00adb22c6bb"),Gy:BigInt("0x08b3f481e3aaa0f1a09e30ed741d8ae4fcf5e095d5d00af600db18cb2c04b3edd03cc744a2888ae40caa232946c5e7e1")},eh=qe(Rn.n,{modFromBytes:!0,isLE:!0}),{Fp:q,Fp2:J,Fp6:th,Fp12:Z}=Iu({ORDER:Rn.p,X_LEN:Qf,FP2_NONRESIDUE:[ts,ts],Fp2mulByB:({c0:e,c1:t})=>{let r=q.mul(e,$o),n=q.mul(t,$o);return{c0:q.sub(r,n),c1:q.add(r,n)}},Fp12finalExponentiate:e=>{let t=Ir,r=Z.div(Z.frobeniusMap(e,6),e),n=Z.mul(Z.frobeniusMap(r,2),r),o=Z.conjugate(Z._cyclotomicExp(n,t)),i=Z.mul(Z.conjugate(Z._cyclotomicSquare(n)),o),s=Z.conjugate(Z._cyclotomicExp(i,t)),a=Z.conjugate(Z._cyclotomicExp(s,t)),c=Z.mul(Z.conjugate(Z._cyclotomicExp(a,t)),Z._cyclotomicSquare(o)),u=Z.conjugate(Z._cyclotomicExp(c,t)),p=Z.frobeniusMap(Z.mul(o,a),2),d=Z.frobeniusMap(Z.mul(s,n),3),l=Z.frobeniusMap(Z.mul(c,Z.conjugate(n)),1),f=Z.mul(Z.mul(u,Z.conjugate(i)),n);return Z.mul(Z.mul(Z.mul(p,d),l),f)}}),{G2psi:Au,G2psi2:rh}=vu(q,J,J.div(J.ONE,J.NONRESIDUE)),Pa=Object.freeze({DST:"BLS_SIG_BLS12381G2_XMD:SHA-256_SSWU_RO_NUL_",encodeDST:"BLS_SIG_BLS12381G2_XMD:SHA-256_SSWU_RO_NUL_",p:q.ORDER,m:2,k:128,expand:"xmd",hash:Fe}),Ua={p:J.ORDER,n:Rn.n,h:BigInt("0x5d543a95414e7f1091d50792876a202cd91de4547085abaa68a205b2e5a7ddfa628f1cb4d9e82ef21537e293a6691ae1616ec6e786f0c70cf1c38e31c7238e5"),a:J.ZERO,b:J.fromBigTuple([$o,$o]),Gx:J.fromBigTuple([BigInt("0x024aa2b2f08f0a91260805272dc51051c6e47ad4fa403b02b4510b647ae3d1770bac0326a805bbefd48056c8c121bdb8"),BigInt("0x13e02b6052719f607dacd3a088274f65596bd0d09920b61ab5da61bbdc7f5049334cf11213945d57e5ac7d055d042b7e")]),Gy:J.fromBigTuple([BigInt("0x0ce5d527727d6e118cc9cdc6da2e351aadfd9baa8cbdd3a76d429a695160d12c923ac9cc3baca289e193548608b82801"),BigInt("0x0606c4a02ea734cc32acd2b02bc28b99cb3e287e85a763af267492ab572e99ab3f370d275cec1da1aaa9075ff05f79be")])},ns=Go(q.toBytes(Ve),{infinity:!0,compressed:!0});function os(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 Go(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 nh(e,t,r){let{BYTES:n,ORDER:o}=q,i=t.is0(),{x:s,y:a}=t.toAffine();if(r){if(i)return ns.slice();let c=!!(a*it/o);return Go(we(s,n),{compressed:!0,sort:c})}else return i?j(Uint8Array.of(64),new Uint8Array(2*n-1)):j(we(s,n),we(a,n))}function Ba(e){e.assertValidity();let{BYTES:t,ORDER:r}=q,{x:n,y:o}=e.toAffine();if(e.is0())return ns.slice();let i=!!(o*it/r);return Go(we(n,t),{compressed:!0,sort:i})}function oh(e){let{compressed:t,infinity:r,sort:n,value:o}=os(e),{BYTES:i,ORDER:s}=q;if(o.length===48&&t){let a=We(o),c=q.create(a&wt(q.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=q.add(q.pow(c,rs),q.create(Rn.b)),p=q.sqrt(u);if(!p)throw new Error("invalid G1 point: compressed point");return p*it/s!==BigInt(n)&&(p=q.neg(p)),{x:q.create(c),y:q.create(p)}}else if(o.length===96&&!t){let a=We(o.subarray(0,i)),c=We(o.subarray(i));if(r){if(a!==Ve||c!==Ve)throw new Error("G1: non-empty point at infinity");return Jo.G1.Point.ZERO.toAffine()}return{x:q.create(a),y:q.create(c)}}else throw new Error("invalid G1 point: expected 48/96 bytes")}function Su(e){let{infinity:t,sort:r,value:n}=os(le("signatureHex",e,48)),o=q.ORDER,i=Jo.G1.Point,s=We(n);if(t)return i.ZERO;let a=q.create(s&wt(q.BITS)),c=q.add(q.pow(a,rs),q.create(Rn.b)),u=q.sqrt(c);if(!u)throw new Error("invalid G1 point: compressed");let p=BigInt(r);u*it/o!==p&&(u=q.neg(u));let d=i.fromAffine({x:a,y:u});return d.assertValidity(),d}function ih(e,t,r){let{BYTES:n,ORDER:o}=q,i=t.is0(),{x:s,y:a}=t.toAffine();if(r){if(i)return j(ns,we(Ve,n));let c=!!(a.c1===Ve?a.c0*it/o:a.c1*it/o);return j(Go(we(s.c1,n),{compressed:!0,sort:c}),we(s.c0,n))}else{if(i)return j(Uint8Array.of(64),new Uint8Array(4*n-1));let{re:c,im:u}=J.reim(s),{re:p,im:d}=J.reim(a);return j(we(u,n),we(c,n),we(d,n),we(p,n))}}function Da(e){e.assertValidity();let{BYTES:t}=q;if(e.is0())return j(ns,we(Ve,t));let{x:r,y:n}=e.toAffine(),{re:o,im:i}=J.reim(r),{re:s,im:a}=J.reim(n),u=!!((a>Ve?a*it:s*it)/q.ORDER&ts),p=o;return j(Go(we(i,t),{sort:u,compressed:!0}),we(p,t))}function sh(e){let{BYTES:t,ORDER:r}=q,{compressed:n,infinity:o,sort:i,value:s}=os(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)=>We(c.slice(u,p));if(s.length===96&&n){if(o){if(s.reduce((h,m)=>h!==0?m+1:m,0)>0)throw new Error("invalid G2 point: compressed");return{x:J.ZERO,y:J.ZERO}}let c=a(s,0,t),u=a(s,t,2*t),p=J.create({c0:q.create(u),c1:q.create(c)}),d=J.add(J.pow(p,rs),Ua.b),l=J.sqrt(d),f=l.c1===Ve?l.c0*it/r:l.c1*it/r?ts:Ve;return l=i&&f>0?l:J.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:J.ZERO,y:J.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:J.fromBigTuple([u,c]),y:J.fromBigTuple([d,p])}}else throw new Error("invalid G2 point: expected 96/192 bytes")}function Fu(e){let{ORDER:t}=q,{infinity:r,sort:n,value:o}=os(le("signatureHex",e)),i=Jo.G2.Point,s=o.length/2;if(s!==48&&s!==96)throw new Error("invalid compressed signature length, expected 96/192 bytes");let a=We(o.slice(0,s)),c=We(o.slice(s));if(r)return i.ZERO;let u=q.create(a&wt(q.BITS)),p=q.create(c),d=J.create({c0:p,c1:u}),l=J.add(J.pow(d,rs),Ua.b),f=J.sqrt(l);if(!f)throw new Error("Failed to find a square root");let{re:h,im:m}=J.reim(f),g=BigInt(n),_=m>Ve&&m*it/t!==g,x=m===Ve&&h*it/t!==g;(_||x)&&(f=J.neg(f));let y=i.fromAffine({x:d,y:f});return y.assertValidity(),y}var Jo=Nu({fields:{Fp:q,Fp2:J,Fp6:th,Fp12:Z,Fr:eh},G1:{...Rn,Fp:q,htfDefaults:{...Pa,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(q.mul(t.X,r),t.Y,t.Z);return t.multiplyUnsafe(Ir).negate().multiplyUnsafe(Ir).equals(n)},clearCofactor:(e,t)=>t.multiplyUnsafe(Ir).add(t),mapToCurve:dh,fromBytes:oh,toBytes:nh,ShortSignature:{fromBytes(e){return fe(e),Su(e)},fromHex(e){return Su(e)},toBytes(e){return Ba(e)},toRawBytes(e){return Ba(e)},toHex(e){return H(Ba(e))}}},G2:{...Ua,Fp:J,hEff:BigInt("0xbc69f08f2ee75b3584c6a0ea91b352888e2a8e9145ad7689986ff031508ffe1329c2f178731db956d82bf015d1212b02ec0ec69d7477c1ae954cbc06689f6a359894c0adebbf6b4e8020005aaa95551"),htfDefaults:{...Pa},wrapPrivateKey:!0,allowInfinityPoint:!0,mapToCurve:ph,isTorsionFree:(e,t)=>t.multiplyUnsafe(Ir).negate().equals(Au(e,t)),clearCofactor:(e,t)=>{let r=Ir,n=t.multiplyUnsafe(r).negate(),o=Au(e,t),i=t.double();return i=rh(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:sh,toBytes:ih,Signature:{fromBytes(e){return fe(e),Fu(e)},fromHex(e){return Fu(e)},toBytes(e){return Da(e)},toRawBytes(e){return Da(e)},toHex(e){return H(Da(e))}}},params:{ateLoopSize:Ir,r:Rn.n,xNegative:!0,twistType:"multiplicative"},htfDefaults:Pa,hash:Fe}),ah=Oa(J,[[["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=>J.fromBigTuple(t.map(BigInt))))),ch=Oa(q,[["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)))),lh=va(q,{A:q.create(BigInt("0x144698a3b8e9433d693a02c96d4982b0ea985383ee66a8d8e8981aefd881ac98936f8da0e0f97f5cf428082d584c1d")),B:q.create(BigInt("0x12e2908d11688030018b12e8753eee3b2016c1f0f24f4070a0b9c14fcef35ef55a23215a316ceaa5d1cc48e98e172be0")),Z:q.create(BigInt(11))}),uh=va(J,{A:J.create({c0:q.create(Ve),c1:q.create(BigInt(240))}),B:J.create({c0:q.create(BigInt(1012)),c1:q.create(BigInt(1012))}),Z:J.create({c0:q.create(BigInt(-2)),c1:q.create(BigInt(-1))})});function dh(e){let{x:t,y:r}=lh(q.create(e[0]));return ch(t,r)}function ph(e){let{x:t,y:r}=uh(J.fromBigTuple(e));return ah(t,r)}function Vu(e,t,r){let n=typeof e=="string"?e:H(e),o=typeof t=="string"?t:H(t),i=typeof r=="string"?r:H(r);return Jo.verifyShortSignature(o,i,n)}var hh=BigInt(1e6),ka=e=>me(new _t(e)),to=e=>{let r=ka(e)/hh;return new Date(Number(r))};var Cu=60*1e3,mh=60,_h=24,yh=_h*mh,gh=5,xh=5,bh=30*yh,Ae;(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"})(Ae||(Ae={}));function wh(e,t){for(let r=0;r<e.length;r++)if(e[r]>t[r])return!0;return!1}var Ar=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.canisterId,t.blsVerify??Vu,t.maxAgeInMinutes,t.disableTimeVerification,t.agent)}constructor(t,r,n,o,i=gh,s=!1,a){this._rootKey=r,this._canisterId=n,this._blsVerify=o,this._maxAgeInMinutes=i,this.#e=s,this.cert=Je(t),a&&"getTimeDiffMsecs"in a&&"hasSyncedTime"in a&&"syncTime"in a&&(this.#t=a)}lookup_path(t){return In(t,this.cert.tree)}lookup_subtree(t){return as(t,this.cert.tree)}async verify(){let t=await is(this.cert.tree),r=await this._checkDelegationAndGetKey(this.cert.delegation),n=this.cert.signature,o=Nh(r),i=j(zo("ic-state-root"),t),s=Ce(this.lookup_path(["time"]));if(!s)throw ne.fromCode(new gr("Certificate does not contain a time"));if(!this.#e){let a=this.#t?.getTimeDiffMsecs()??0,c=this._maxAgeInMinutes*Cu,u=new Date,p=u.getTime()+a,d=p-c,l=p+xh*Cu,f=to(s),h=f.getTime()<d,m=f.getTime()>l;if((h||m)&&this.#t&&!this.#t.hasSyncedTime())return await this.#t.syncTime(this._canisterId),await this.verify();if(h)throw De.fromCode(new pn(this._maxAgeInMinutes,f,u,a,"past"));if(m)throw this.#t?.hasSyncedTime()?ge.fromCode(new Ue("System time has been synced with the IC network, but certificate is still too far in the future.")):De.fromCode(new pn(5,f,u,a,"future"))}try{if(!await this._blsVerify(o,n,i))throw De.fromCode(new gr("Invalid signature"))}catch(a){throw De.fromCode(new gr("Signature verification failed",a))}}async _checkDelegationAndGetKey(t){if(!t)return this._rootKey;let r=e.createUnverified({certificate:t.certificate,rootKey:this._rootKey,canisterId:this._canisterId,blsVerify:this._blsVerify,disableTimeVerification:this.#e,maxAgeInMinutes:bh,agent:this.#t});if(r.cert.delegation)throw ne.fromCode(new gi);await r.verify();let n=t.subnet_id,o=M.fromUint8Array(n);if(!La({canisterId:this._canisterId,subnetId:o,tree:r.cert.tree}))throw De.fromCode(new Bn(this._canisterId,o));let s=Ce(r.lookup_path(["subnet",n,"public_key"]));if(!s)throw De.fromCode(new xi(`Could not find subnet key for subnet ID ${o.toText()}`));return s}},Wo=Ne("308182301d060d2b0601040182dc7c0503010201060c2b0601040182dc7c05030201036100"),Th=96;function Nh(e){let t=Wo.byteLength+Th;if(e.byteLength!==t)throw ne.fromCode(new Un(t,e.byteLength));let r=e.slice(0,Wo.byteLength);if(!xn(r,Wo))throw ne.fromCode(new bi(Wo,r));return e.slice(Wo.byteLength)}function Ce(e){if(e.status===ze.Found&&e.value instanceof Uint8Array)return e.value}async function is(e){switch(e[0]){case Ae.Empty:return Fe(zo("ic-hashtree-empty"));case Ae.Pruned:return e[1];case Ae.Leaf:return Fe(j(zo("ic-hashtree-leaf"),e[1]));case Ae.Labeled:return Fe(j(zo("ic-hashtree-labeled"),e[1],await is(e[2])));case Ae.Fork:return Fe(j(zo("ic-hashtree-fork"),await is(e[1]),await is(e[2])));default:throw wr}}function zo(e){let t=new Uint8Array([e.length]),r=new TextEncoder().encode(e);return j(t,r)}function Pu(e){return typeof e[0]=="string"?ee(e[0]):e[0]}var ze;(function(e){e.Unknown="Unknown",e.Absent="Absent",e.Found="Found",e.Error="Error"})(ze||(ze={}));var vn;(function(e){e.Absent="Absent",e.Unknown="Unknown",e.Found="Found"})(vn||(vn={}));var ae;(function(e){e.Absent="Absent",e.Unknown="Unknown",e.Found="Found",e.Less="Less",e.Greater="Greater"})(ae||(ae={}));function In(e,t){if(e.length===0)switch(t[0]){case Ae.Empty:return{status:ze.Absent};case Ae.Leaf:{if(!t[1])throw ge.fromCode(new br("Invalid tree structure for leaf"));if(t[1]instanceof Uint8Array)return{status:ze.Found,value:t[1].slice(t[1].byteOffset,t[1].byteLength+t[1].byteOffset)};throw wr}case Ae.Pruned:return{status:ze.Unknown};case Ae.Labeled:case Ae.Fork:return{status:ze.Error};default:throw wr}let r=Pu(e),n=Yo(r,t);switch(n.status){case ae.Found:return In(e.slice(1),n.value);case ae.Absent:case ae.Greater:case ae.Less:return{status:ze.Absent};case ae.Unknown:return{status:ze.Unknown};default:throw wr}}function as(e,t){if(e.length===0)return{status:vn.Found,value:t};let r=Pu(e),n=Yo(r,t);switch(n.status){case ae.Found:return as(e.slice(1),n.value);case ae.Unknown:return{status:vn.Unknown};case ae.Absent:case ae.Greater:case ae.Less:return{status:vn.Absent};default:throw wr}}function ss(e){switch(e[0]){case Ae.Empty:return[];case Ae.Fork:return ss(e[1]).concat(ss(e[2]));default:return[e]}}function Yo(e,t){switch(t[0]){case Ae.Labeled:return wh(e,t[1])?{status:ae.Greater}:xn(e,t[1])?{status:ae.Found,value:t[2]}:{status:ae.Less};case Ae.Fork:{let r=Yo(e,t[1]);switch(r.status){case ae.Greater:{let n=Yo(e,t[2]);return n.status===ae.Less?{status:ae.Absent}:n}case ae.Unknown:{let n=Yo(e,t[2]);return n.status===ae.Less?{status:ae.Unknown}:n}default:return r}}case Ae.Pruned:return{status:ae.Unknown};default:return{status:ae.Absent}}}function La(e){let{canisterId:t,subnetId:r,tree:n}=e,o=In(["subnet",r.toUint8Array(),"canister_ranges"],n);if(o.status!==ze.Found)throw ne.fromCode(new Jt(`Could not find canister ranges for subnet ${r.toText()}`,o.status));if(!(o.value instanceof Uint8Array))throw ne.fromCode(new Dn(`Could not find canister ranges for subnet ${r.toText()}`));return Je(o.value).map(c=>[M.fromUint8Array(c[0]),M.fromUint8Array(c[1])]).some(c=>c[0].ltEq(t)&&c[1].gtEq(t))}var qa=async e=>{let{agent:t,paths:r,disableCertificateTimeVerification:n=!1}=e,o=M.from(e.canisterId),i=[...new Set(r)],s=new Map,a=i.map((c,u)=>{let p=Eh(c,o);return(async()=>{try{if(t.rootKey===null)throw Oe.fromCode(new Rt);let d=t.rootKey,l=await t.readState(o,{paths:[p]}),f=await Ar.create({certificate:l.certificate,rootKey:d,canisterId:o,disableTimeVerification:n,agent:t}),h=(_,x)=>{if(x==="subnet"){let y=Oh(l.certificate,o,d);return{path:x,data:y}}else return{path:x,data:Ce(_.lookup_path(p))}},{path:m,data:g}=h(f,i[u]);if(!g)console.warn(`Expected to find result for path ${m}, but instead found nothing.`),typeof m=="string"?s.set(m,null):s.set(m.key,null);else switch(m){case"time":{s.set(m,to(g));break}case"controllers":{s.set(m,Rh(g));break}case"module_hash":{s.set(m,H(g));break}case"subnet":{s.set(m,g);break}case"candid":{s.set(m,new TextDecoder().decode(g));break}default:if(typeof m!="string"&&"key"in m&&"path"in m)switch(m.decodeStrategy){case"raw":s.set(m.key,g);break;case"leb128":{s.set(m.key,ka(g));break}case"cbor":{s.set(m.key,Je(g));break}case"hex":{s.set(m.key,H(g));break}case"utf-8":s.set(m.key,new TextDecoder().decode(g))}}}catch(d){if(d instanceof ht&&(d.hasCode(gr)||d.hasCode(pn)))throw d;typeof c!="string"&&"key"in c&&"path"in c?s.set(c.key,null):s.set(c,null),console.group(),console.warn(`Expected to find result for path ${c}, but instead found nothing.`),console.warn(d),console.groupEnd()}})()});return await Promise.all(a),s},Oh=(e,t,r)=>{if(!t._isPrincipal)throw z.fromCode(new Ue("Invalid canisterId"));let n=Je(e),o=n.tree,i=n.delegation,s;if(i&&i.subnet_id?s=M.fromUint8Array(new Uint8Array(i.subnet_id)):!i&&typeof r<"u"?(s=M.selfAuthenticating(new Uint8Array(r)),i={subnet_id:s.toUint8Array(),certificate:new Uint8Array(0)}):(s=M.selfAuthenticating(M.fromText("tdb26-jop6k-aogll-7ltgs-eruif-6kk7m-qpktf-gdiqx-mxtrf-vb5e6-eqe").toUint8Array()),i={subnet_id:s.toUint8Array(),certificate:new Uint8Array(0)}),!La({canisterId:t,subnetId:s,tree:o}))throw De.fromCode(new Bn(t,s));let c=as(["subnet",i.subnet_id,"node"],o);if(c.status!==vn.Found)throw ne.fromCode(new Jt("Node not found",c.status));if(c.value instanceof Uint8Array)throw ge.fromCode(new br("Invalid node tree"));let u=ss(c.value),p=new Map;return u.forEach(d=>{let l=M.from(d[1]).toText(),f=In(["public_key"],d[2]);if(f.status!==ze.Found)throw ne.fromCode(new Jt("Public key not found",f.status));let h=f.value;if(h.byteLength!==44)throw ne.fromCode(new Un(44,h.byteLength));p.set(l,h)}),{subnetId:M.fromUint8Array(new Uint8Array(i.subnet_id)).toText(),nodeKeys:p}},Eh=(e,t)=>{let r=t.toUint8Array();switch(e){case"time":return[ee("time")];case"controllers":return[ee("canister"),r,ee("controllers")];case"module_hash":return[ee("canister"),r,ee("module_hash")];case"subnet":return[ee("subnet")];case"candid":return[ee("canister"),r,ee("metadata"),ee("candid:service")];default:if("key"in e&&"path"in e)if(typeof e.path=="string"||e.path instanceof Uint8Array){let n=e.path,o=typeof n=="string"?ee(n):n;return[ee("canister"),r,ee("metadata"),o]}else return e.path}throw ge.fromCode(new Ue(`Error while encoding your path for canister status. Please ensure that your path ${e} was formatted correctly.`))},Rh=e=>Je(e).map(r=>M.fromUint8Array(r));var Sr=BigInt(0),Re=BigInt(1),Ma=BigInt(2),vh=BigInt(8);function Ih(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 Ah(e,t={}){let r=Qi("edwards",e,t,t.FpFnLE),{Fp:n,Fn:o}=r,i=r.CURVE,{h:s}=i;rr(t,{},{uvRatio:"function"});let a=Ma<<BigInt(o.BYTES*8)-Re,c=g=>n.create(g),u=t.uvRatio||((g,_)=>{try{return{isValid:!0,value:n.sqrt(n.div(g,_))}}catch{return{isValid:!1,value:Sr}}});if(!Ih(n,i,i.Gx,i.Gy))throw new Error("bad curve params: generator point");function p(g,_,x=!1){let y=x?Re:Sr;return Yi("coordinate "+g,_,y,a),_}function d(g){if(!(g instanceof h))throw new Error("ExtendedPoint expected")}let l=Rr((g,_)=>{let{X:x,Y:y,Z:T}=g,E=g.is0();_==null&&(_=E?vh:n.inv(T));let O=c(x*_),R=c(y*_),I=n.mul(T,_);if(E)return{x:Sr,y:Re};if(I!==Re)throw new Error("invZ was invalid");return{x:O,y:R}}),f=Rr(g=>{let{a:_,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),I=c(T*T),w=c(E*E),v=c(w*w),V=c(R*_),S=c(w*c(V+I)),b=c(v+c(x*c(R*I)));if(S!==b)throw new Error("bad point: equation left != right (1)");let N=c(y*T),F=c(E*O);if(N!==F)throw new Error("bad point: equation left != right (2)");return!0});class h{constructor(_,x,y,T){this.X=p("x",_),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(_){if(_ instanceof h)throw new Error("extended point not allowed");let{x,y}=_||{};return p("x",x),p("y",y),new h(x,y,Re,c(x*y))}static fromBytes(_,x=!1){let y=n.BYTES,{a:T,d:E}=i;_=ma(Er(_,y,"point")),Tn(x,"zip215");let O=ma(_),R=_[y-1];O[y-1]=R&-129;let I=er(O),w=x?a:n.ORDER;Yi("point.y",I,Sr,w);let v=c(I*I),V=c(v-Re),S=c(E*v-T),{isValid:b,value:N}=u(V,S);if(!b)throw new Error("bad point: invalid y coordinate");let F=(N&Re)===Re,B=(R&128)!==0;if(!x&&N===Sr&&B)throw new Error("bad point: x=0 and x_0=1");return B!==F&&(N=c(-N)),h.fromAffine({x:N,y:I})}static fromHex(_,x=!1){return h.fromBytes(le("point",_),x)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}precompute(_=8,x=!0){return m.createCache(this,_),x||this.multiply(Ma),this}assertValidity(){f(this)}equals(_){d(_);let{X:x,Y:y,Z:T}=this,{X:E,Y:O,Z:R}=_,I=c(x*R),w=c(E*T),v=c(y*R),V=c(O*T);return I===w&&v===V}is0(){return this.equals(h.ZERO)}negate(){return new h(c(-this.X),this.Y,this.Z,c(-this.T))}double(){let{a:_}=i,{X:x,Y:y,Z:T}=this,E=c(x*x),O=c(y*y),R=c(Ma*c(T*T)),I=c(_*E),w=x+y,v=c(c(w*w)-E-O),V=I+O,S=V-R,b=I-O,N=c(v*S),F=c(V*b),B=c(v*b),L=c(S*V);return new h(N,F,L,B)}add(_){d(_);let{a:x,d:y}=i,{X:T,Y:E,Z:O,T:R}=this,{X:I,Y:w,Z:v,T:V}=_,S=c(T*I),b=c(E*w),N=c(R*y*V),F=c(O*v),B=c((T+E)*(I+w)-S-b),L=F-N,A=F+N,C=c(b-x*S),P=c(B*L),D=c(A*C),U=c(B*C),te=c(L*A);return new h(P,D,te,U)}subtract(_){return this.add(_.negate())}multiply(_){if(!o.isValidNot0(_))throw new Error("invalid scalar: expected 1 <= sc < curve.n");let{p:x,f:y}=m.cached(this,_,T=>ot(h,T));return ot(h,[x,y])[0]}multiplyUnsafe(_,x=h.ZERO){if(!o.isValid(_))throw new Error("invalid scalar: expected 0 <= sc < curve.n");return _===Sr?h.ZERO:this.is0()||_===Re?this:m.unsafe(this,_,y=>ot(h,y),x)}isSmallOrder(){return this.multiplyUnsafe(s).is0()}isTorsionFree(){return m.unsafe(this,i.n).is0()}toAffine(_){return l(this,_)}clearCofactor(){return s===Re?this:this.multiplyUnsafe(s)}toBytes(){let{x:_,y:x}=this.toAffine(),y=n.toBytes(x);return y[y.length-1]|=_&Re?128:0,y}toHex(){return H(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(_){return ot(h,_)}static msm(_,x){return Xn(h,o,_,x)}_setWindowSize(_){this.precompute(_)}toRawBytes(){return this.toBytes()}}h.BASE=new h(i.Gx,i.Gy,Re,c(i.Gx*i.Gy)),h.ZERO=new h(Sr,Re,Re,Sr),h.Fp=n,h.Fn=o;let m=new Zn(h,o.BITS);return h.BASE.precompute(8),h}var cs=class{constructor(t){this.ep=t}static fromBytes(t){zn()}static fromHex(t){zn()}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 H(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 Sh(e,t,r={}){if(typeof t!="function")throw new Error('"hash" function param is required');rr(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||Pn,c=r.adjustScalarBytes||(w=>w),u=r.domain||((w,v,V)=>{if(Tn(V,"phflag"),v.length||V)throw new Error("Contexts/pre-hash are not supported");return w});function p(w){return s.create(er(w))}function d(w){let v=y.secretKey;w=le("private key",w,v);let V=le("hashed private key",t(w),2*v),S=c(V.slice(0,v)),b=V.slice(v,2*v),N=p(S);return{head:S,prefix:b,scalar:N}}function l(w){let{head:v,prefix:V,scalar:S}=d(w),b=o.multiply(S),N=b.toBytes();return{head:v,prefix:V,scalar:S,point:b,pointBytes:N}}function f(w){return l(w).pointBytes}function h(w=Uint8Array.of(),...v){let V=j(...v);return p(t(u(V,le("context",w),!!n)))}function m(w,v,V={}){w=le("message",w),n&&(w=n(w));let{prefix:S,scalar:b,pointBytes:N}=l(v),F=h(V.context,S,w),B=o.multiply(F).toBytes(),L=h(V.context,B,N,w),A=s.create(F+L*b);if(!s.isValid(A))throw new Error("sign failed: invalid s");let C=j(B,s.toBytes(A));return Er(C,y.signature,"result")}let g={zip215:!0};function _(w,v,V,S=g){let{context:b,zip215:N}=S,F=y.signature;w=le("signature",w,F),v=le("message",v),V=le("publicKey",V,y.publicKey),N!==void 0&&Tn(N,"zip215"),n&&(v=n(v));let B=F/2,L=w.subarray(0,B),A=er(w.subarray(B,F)),C,P,D;try{C=e.fromBytes(V,N),P=e.fromBytes(L,N),D=o.multiplyUnsafe(A)}catch{return!1}if(!N&&C.isSmallOrder())return!1;let U=h(b,P.toBytes(),C.toBytes(),v);return P.add(C.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 Er(w,y.seed,"seed")}function E(w){let v=I.randomSecretKey(w);return{secretKey:v,publicKey:f(v)}}function O(w){return Ot(w)&&w.length===s.BYTES}function R(w,v){try{return!!e.fromBytes(w,v)}catch{return!1}}let I={getExtendedPublicKey:l,randomSecretKey:T,isValidSecretKey:O,isValidPublicKey:R,toMontgomery(w){let{y:v}=e.fromBytes(w),V=y.publicKey,S=V===32;if(!S&&V!==57)throw new Error("only defined for 25519 and 448");let b=S?i.div(Re+v,Re-v):i.div(v-Re,v+Re);return i.toBytes(b)},toMontgomerySecret(w){let v=y.secretKey;Er(w,v);let V=t(w.subarray(0,v));return c(V).subarray(0,v)},randomPrivateKey:T,precompute(w=8,v=e.BASE){return v.precompute(w,!1)}};return Object.freeze({keygen:E,getPublicKey:f,sign:m,verify:_,utils:I,Point:e,lengths:y})}function Fh(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=qe(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 Vh(e,t){let r=t.Point;return Object.assign({},t,{ExtendedPoint:r,CURVE:e,nBitLength:r.Fn.BITS,nByteLength:r.Fn.BYTES})}function Bu(e){let{CURVE:t,curveOpts:r,hash:n,eddsaOpts:o}=Fh(e),i=Ah(t,r),s=Sh(i,n,o);return Vh(e,s)}var Ch=BigInt(0),sr=BigInt(1),Du=BigInt(2),fg=BigInt(3),Ph=BigInt(5),Bh=BigInt(8),ro=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffed"),Zo={p:ro,n:BigInt("0x1000000000000000000000000000000014def9dea2f79cd65812631a5cf5d3ed"),h:Bh,a:BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec"),d:BigInt("0x52036cee2b6ffe738cc740797779e89800700a4d4141d8ab75eb4dca135978a3"),Gx:BigInt("0x216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a"),Gy:BigInt("0x6666666666666666666666666666666666666666666666666666666666666658")};function Dh(e){let t=BigInt(10),r=BigInt(20),n=BigInt(40),o=BigInt(80),i=ro,a=e*e%i*e%i,c=Tt(a,Du,i)*a%i,u=Tt(c,sr,i)*e%i,p=Tt(u,Ph,i)*u%i,d=Tt(p,t,i)*p%i,l=Tt(d,r,i)*d%i,f=Tt(l,n,i)*l%i,h=Tt(f,o,i)*f%i,m=Tt(h,o,i)*f%i,g=Tt(m,t,i)*p%i;return{pow_p_5_8:Tt(g,Du,i)*e%i,b2:a}}function Uh(e){return e[0]&=248,e[31]&=127,e[31]|=64,e}var ja=BigInt("19681161376707505956807079304988542015446066515923890162744021073123829784752");function $a(e,t){let r=ro,n=se(t*t*t,r),o=se(n*n*t,r),i=Dh(e*o).pow_p_5_8,s=se(e*n*i,r),a=se(t*s*s,r),c=s,u=se(s*ja,r),p=a===e,d=a===se(-e,r),l=a===se(-e*ja,r);return p&&(s=c),(d||l)&&(s=u),nr(s,r)&&(s=se(-s,r)),{isValid:p||d,value:s}}var Fr=qe(Zo.p,{isLE:!0}),kh=qe(Zo.n,{isLE:!0}),Lh={...Zo,Fp:Fr,hash:al,adjustScalarBytes:Uh,uvRatio:$a},Ke=Bu(Lh);var Ka=ja,qh=BigInt("25063068953384623474111414158702152701244531502492656460079210482610430750235"),Mh=BigInt("54469307008909316920995813868745141605393597292927456921205312896311721017578"),jh=BigInt("1159843021668779879193775521855586647937357759715417654439879720876111806838"),Kh=BigInt("40440834346308536858101042469323190826248399146238708352240133220865137265952"),Uu=e=>$a(sr,e),Hh=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"),Ha=e=>Ke.Point.Fp.create(er(e)&Hh);function ku(e){let{d:t}=Zo,r=ro,n=_=>Fr.create(_),o=n(Ka*e*e),i=n((o+sr)*jh),s=BigInt(-1),a=n((s-t*o)*n(o+t)),{isValid:c,value:u}=$a(i,a),p=n(u*e);nr(p,r)||(p=n(-p)),c||(u=p),c||(s=o);let d=n(s*(o-sr)*Kh-a),l=u*u,f=n((u+u)*a),h=n(d*qh),m=n(sr-l),g=n(sr+l);return new Ke.Point(n(f*g),n(m*h),n(h*g),n(f*m))}function $h(e){fe(e,64);let t=Ha(e.subarray(0,32)),r=ku(t),n=Ha(e.subarray(32,64)),o=ku(n);return new ar(r.add(o))}var ar=class e extends cs{constructor(t){super(t)}static fromAffine(t){return new e(Ke.Point.fromAffine(t))}assertSame(t){if(!(t instanceof e))throw new Error("RistrettoPoint expected")}init(t){return new e(t)}static hashToCurve(t){return $h(le("ristrettoHash",t,64))}static fromBytes(t){fe(t,32);let{a:r,d:n}=Zo,o=ro,i=T=>Fr.create(T),s=Ha(t);if(!tu(Fr.toBytes(s),t)||nr(s,o))throw new Error("invalid ristretto255 encoding 1");let a=i(s*s),c=i(sr+r*a),u=i(sr-r*a),p=i(c*c),d=i(u*u),l=i(r*n*p-d),{isValid:f,value:h}=Uu(i(l*d)),m=i(h*u),g=i(h*m*l),_=i((s+s)*m);nr(_,o)&&(_=i(-_));let x=i(c*g),y=i(_*x);if(!f||nr(y,o)||x===Ch)throw new Error("invalid ristretto255 encoding 2");return new e(new Ke.Point(_,x,sr,y))}static fromHex(t){return e.fromBytes(le("ristrettoHex",t,32))}static msm(t,r){return Xn(e,Ke.Point.Fn,t,r)}toBytes(){let{X:t,Y:r,Z:n,T:o}=this.ep,i=ro,s=g=>Fr.create(g),a=s(s(n+r)*s(n-r)),c=s(t*r),u=s(c*c),{value:p}=Uu(s(a*u)),d=s(p*a),l=s(p*c),f=s(d*l*o),h;if(nr(o*f,i)){let g=s(r*Ka),_=s(t*Ka);t=g,r=_,h=s(d*Mh)}else h=l;nr(t*f,i)&&(r=s(-r));let m=s((n-r)*h);return nr(m,i)&&(m=s(-m)),Fr.toBytes(m)}equals(t){this.assertSame(t);let{X:r,Y:n}=this.ep,{X:o,Y:i}=t.ep,s=u=>Fr.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)}};ar.BASE=new ar(Ke.Point.BASE);ar.ZERO=new ar(Ke.Point.ZERO);ar.Fp=Fr;ar.Fn=kh;var Lu,qu,ls=class{static{Lu=Symbol.iterator,qu=Symbol.toStringTag}#e;#t;constructor(t={}){this[Lu]=this.entries.bind(this),this[qu]="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 Mu=e=>{if(e<=127)return 1;if(e<=255)return 2;if(e<=65535)return 3;if(e<=16777215)return 4;throw z.fromCode(new xo("Length too long (> 4 bytes)"))},ju=(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 z.fromCode(new xo("Length too long (> 4 bytes)"))},Ga=(e,t)=>{if(e[t]<128)return 1;if(e[t]===128)throw z.fromCode(new mt("Invalid length 0"));if(e[t]===129)return 2;if(e[t]===130)return 3;if(e[t]===131)return 4;throw z.fromCode(new mt("Length too long (> 4 bytes)"))},Gh=(e,t)=>{let r=Ga(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 z.fromCode(new mt("Length too long (> 4 bytes)"))},Xo=Uint8Array.from([48,12,6,10,43,6,1,4,1,131,184,67,1,1]),An=Uint8Array.from([48,5,6,3,43,101,112]),gg=Uint8Array.from([48,16,6,7,42,134,72,206,61,2,1,6,5,43,129,4,0,10]),xg=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 Sn(e,t){let r=2+Mu(e.byteLength+1),n=t.byteLength+r+e.byteLength,o=0,i=new Uint8Array(1+Mu(n)+n);return i[o++]=48,o+=ju(i,o,n),i.set(t,o),o+=t.byteLength,i[o++]=3,o+=ju(i,o,e.byteLength+1),i[o++]=0,i.set(new Uint8Array(e),o),i}var Fn=(e,t)=>{let r=0,n=(a,c)=>{if(o[r++]!==a)throw z.fromCode(new mt(`Expected ${c} at offset ${r}`))},o=new Uint8Array(e);if(n(48,"sequence"),r+=Ga(o,r),!xn(o.slice(r,r+t.byteLength),t))throw z.fromCode(new mt("Not the expected OID."));r+=t.byteLength,n(3,"bit string");let i=Gh(o,r)-1;r+=Ga(o,r),n(0,"0 padding");let s=o.slice(r);if(i!==s.length)throw z.fromCode(new wi(i,s.length));return s};var us=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 Sn(t,An)}static derDecode(t){let r=Fn(t,An);if(r.length!==this.RAW_KEY_LENGTH)throw z.fromCode(new mt("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 z.fromCode(new mt("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 Ja=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))}},ds=class extends Ja{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 ps=class e{#e;#t;#r;#c;#s;#u;#n;#o;#a=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.#c=i,this.#o=c,this.#s=c.now(),this.#u=s,this.#n=a}get ellapsedTimeInMsec(){return this.#o.now()-this.#s}get currentInterval(){return this.#e}get count(){return this.#a}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.#c),this.#a++,this.#e}next(){return this.ellapsedTimeInMsec>=this.#u||this.#a>=this.#n?null:(this.incrementCurrentInterval(),this.randomValueFromInterval)}};var Vt;(function(e){e.Received="received",e.Processing="processing",e.Replied="replied",e.Rejected="rejected",e.Unknown="unknown",e.Done="done"})(Vt||(Vt={}));var Ya=60*1e3,Jh=1e6,Wh=0,zh="308182301d060d2b0601040182dc7c0503010201060c2b0601040182dc7c05030201036100814c0e6ec71fab583b08bd81373c255c3c371b2e84863c98a4f1e08b74235d14fb5d9c0cd546d9685f913a0c0b2cc5341583bf4b4392e467db96d65b9bb4cb717112f8472e0d5a4d14505ffd7484b01291091c5f87b98883463f98091a0baaae";var Yh="ic0.app",Zh=".ic0.app",Xh="icp0.io",Qh=".icp0.io",em="icp-api.io",tm=".icp-api.io",Wa=200,rm=202,nm=404;function om(){let e;if(typeof window<"u")if(window.fetch)e=window.fetch.bind(window);else throw Oe.fromCode(new Ln("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 Oe.fromCode(new Ln("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 Oe.fromCode(new Ln("Fetch implementation was not available. Please provide fetch to the HttpAgent constructor, or ensure it is available in the window or global context."))}function im(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 cr=class e{#e;#t;#r;#c;#s;#u;#n;#o;#a;#x;#i;#d;#p;#l;get#N(){return this.#l*Ya}#f;#h;#m;#_;constructor(t={}){this.#e=null,this.#t=!1,this.#r=Wh,this.#c=!1,this.#s=null,this.#u=!1,this._isAgent=!0,this.config={},this.log=new ds,this.#f=[],this.#h=[],this.#m=new ls({expirationTime:5*Ya}),this.#_=!0,this.#w=(o,i)=>{if(this.#_===!1)return o;let{status:s,signatures:a=[],requestId:c}=o;for(let u of a){let{timestamp:p,identity:d}=u,l=M.fromUint8Array(d).toText(),f;if(s===fr.Replied){let{reply:x}=o;f=Fo({status:s,reply:x,timestamp:BigInt(p),request_id:c})}else if(s===fr.Rejected){let{reject_code:x,reject_message:y,error_code:T}=o;f=Fo({status:s,reject_code:x,reject_message:y,error_code:T,timestamp:BigInt(p),request_id:c})}else throw ge.fromCode(new Ue(`Unknown status: ${s}`));let h=j(oa,f),m=i.nodeKeys.get(l);if(!m)throw ne.fromCode(new Vi);let g=us.fromDer(m).rawKey;if(Ke.verify(u.signature,h,g))return o;throw De.fromCode(new Ci(l))}return o},this.config=t,this.#o=t.fetch||om()||fetch.bind(global),this.#a=t.fetchOptions,this.#x=t.callOptions,this.#t=t.shouldFetchRootKey??!1,this.#u=t.shouldSyncTime??!1,t.rootKey?this.rootKey=t.rootKey:this.#t?this.rootKey=null:this.rootKey=Ne(zh);let r=im(t.host);this.host=new URL(r),t.verifyQuerySignatures!==void 0&&(this.#_=t.verifyQuerySignatures),this.#d=t.retryTimes??3;let n=()=>new ps({maxIterations:this.#d});if(this.#p=t.backoffStrategy||n,this.host.hostname.endsWith(Zh)?this.host.hostname=Yh:this.host.hostname.endsWith(Qh)?this.host.hostname=Xh:this.host.hostname.endsWith(tm)&&(this.host.hostname=em),t.credentials){let{name:o,password:i}=t.credentials;this.#i=`${o}${i?":"+i:""}`}if(this.#n=Promise.resolve(t.identity||new rt),t.ingressExpiryInMinutes&&t.ingressExpiryInMinutes>5)throw z.fromCode(new hn("The maximum ingress expiry time is 5 minutes.",t.ingressExpiryInMinutes));if(t.ingressExpiryInMinutes&&t.ingressExpiryInMinutes<=0)throw z.fromCode(new hn("Ingress expiry time must be greater than 0.",t.ingressExpiryInMinutes));this.#l=t.ingressExpiryInMinutes||5,this.addTransform("update",da(Lo)),t.useQueryNonces&&this.addTransform("query",da(Lo)),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.#g(),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 z.fromCode(new Ai)}}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.#h.findIndex(i=>(i.priority||0)<n);this.#h.splice(o>=0?o:this.#h.length,0,Object.assign(r,{priority:n}))}else if(t==="query"){let o=this.#f.findIndex(i=>(i.priority||0)<n);this.#f.splice(o>=0?o:this.#f.length,0,Object.assign(r,{priority:n}))}}async getPrincipal(){if(!this.#n)throw Oe.fromCode(new xr);return(await this.#n).getPrincipal()}async call(t,r,n){let o=r.callSync??!0,i=await(n??this.#n);if(!i)throw Oe.fromCode(new xr);let s=M.from(t),a=r.effectiveCanisterId?M.from(r.effectiveCanisterId):s;await this.#g(a);let c=i.getPrincipal(),u=za(this.#l,this.#r),p={request_type:Gi.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.#i?{Authorization:"Basic "+btoa(this.#i)}:{}}},endpoint:Qt.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(_){return Object.assign(_,{__nonce__:void 0})}d=await i.transformRequest(d);let h=Uo(d.body),m=this.#p(),g=Zt(p);try{let y=o?()=>(this.log.print(`fetching "/api/v3/canister/${a.toText()}/call" with request:`,d),this.#o(""+new URL(`/api/v3/canister/${a.toText()}/call`,this.host),{...this.#x,...d.request,body:h})):()=>(this.log.print(`fetching "/api/v2/canister/${a.toText()}/call" with request:`,d),this.#o(""+new URL(`/api/v2/canister/${a.toText()}/call`,this.host),{...this.#x,...d.request,body:h})),{responseBodyBytes:T,...E}=await this.#y({requestFn:y,backoff:m,tries:0}),O=T.byteLength>0?Je(T):null;return{requestId:g,response:{...E,body:O},requestDetails:p}}catch(_){let x;if(_ instanceof ht){if(_.hasCode(wo))return this.log.warn("v3 api not supported. Fall back to v2"),this.call(t,{...r,callSync:!1},n);if(_.hasCode(hn)&&!this.#c)return await this.syncTime(s),this.call(s,r,n);_.code.requestContext={requestId:g,senderPubKey:d.body.sender_pubkey,senderSignature:d.body.sender_sig,ingressExpiry:d.body.content.ingress_expiry},x=_}else x=ge.fromCode(new Ue(_));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();if(this.log.print(`fetching "/api/v2/canister/${r.toString()}/query" with tries:`,{tries:a,backoff:s,delay:c}),c===null)throw ge.fromCode(new fn(`Backoff strategy exhausted after ${a} attempts.`,i));c>0&&await new Promise(f=>setTimeout(f,c));let u;try{this.log.print(`fetching "/api/v2/canister/${r.toString()}/query" with request:`,n);let f=await this.#o(""+new URL(`/api/v2/canister/${r.toString()}/query`,this.host),{...this.#a,...n.request,body:o});if(f.status===Wa)u={...Je(Hn(await f.arrayBuffer())),httpDetails:{ok:f.ok,status:f.status,statusText:f.statusText,headers:Wi(f.headers)},requestId:i};else throw ne.fromCode(new bo(f.status,f.statusText,Wi(f.headers),await f.text()))}catch(f){if(a<this.#d)return this.log.warn(`Caught exception while attempting to make query:
|
|
48
|
+
`)}return c.encodeValue(u)}));return Y(n,o,i,s,a)}function zp(e,t){let r=new _t(t);if(t.byteLength<Di.length)throw new Error("Message length smaller than magic number");let n=Nr(r,Di.length),o=new TextDecoder().decode(n);if(o!==Di)throw new Error("Wrong magic number: "+JSON.stringify(o));function i(l){let f=[],h=Number(me(l));for(let _=0;_<h;_++){let x=Number(Wt(l));switch(x){case X.Opt:case X.Vector:{let y=Number(Wt(l));f.push([x,y]);break}case X.Record:case X.Variant:{let y=[],T=Number(me(l)),E;for(;T--;){let O=Number(me(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(Wt(l));y.push([O,R])}f.push([x,y]);break}case X.Func:{let y=[],T=Number(me(l));for(;T--;)y.push(Number(Wt(l)));let E=[],O=Number(me(l));for(;O--;)E.push(Number(Wt(l)));let R=[],I=Number(me(l));for(;I--;)switch(Number(me(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 X.Service:{let y=Number(me(l)),T=[];for(;y--;){let E=Number(me(l)),O=new TextDecoder().decode(Nr(l,E)),R=Wt(l);T.push([O,R])}f.push([x,T]);break}default:throw new Error("Illegal op_code: "+x)}}let m=[],g=Number(me(l));for(let _=0;_<g;_++)m.push(Number(Wt(l)));return[f,m]}let[s,a]=i(r);if(a.length<e.length)throw new Error("Wrong number of return values");let c=s.map(l=>kl());function u(l){if(l<-24)throw new Error("future value not supported");if(l<0)switch(l){case-1:return gl;case-2:return yl;case-3:return wl;case-4:return bl;case-5:return Il;case-6:return Al;case-7:return Sl;case-8:return Fl;case-9:return Ol;case-10:return El;case-11:return Rl;case-12:return vl;case-13:return Tl;case-14:return Nl;case-15:return xl;case-16:return _l;case-17:return ml;case-24:return Cl;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 X.Vector:{let f=u(l[1]);return Pl(f)}case X.Opt:{let f=u(l[1]);return Bl(f)}case X.Record:{let f={};for(let[g,_]of l[1]){let x=`_${g}_`;f[x]=u(_)}let h=Dl(f),m=h.tryAsTuple();return Array.isArray(m)?Vl(...m):h}case X.Variant:{let f={};for(let[h,m]of l[1]){let g=`_${h}_`;f[g]=u(m)}return Ul(f)}case X.Func:{let[f,h,m]=l[1];return Ll(f.map(g=>u(g)),h.map(g=>u(g)),m)}case X.Service:{let f={},h=l[1];for(let[m,g]of h){let _=u(g);if(_ instanceof tt&&(_=_.getType()),!(_ instanceof yn))throw new Error("Illegal service definition: services can only contain functions");f[m]=_}return ql(f)}default:throw new Error("Illegal op_code: "+l[0])}}s.forEach((l,f)=>{if(l[0]===X.Func){let h=p(l);c[f].fill(h)}}),s.forEach((l,f)=>{if(l[0]!==X.Func){let h=p(l);c[f].fill(h)}}),ea();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{ea()}}var ml=new vo,_l=new St,Yp=new ki,yl=new Li,gl=new mn,xl=new qi,bl=new Io,wl=new Ao,Tl=new So(32),Nl=new So(64),Ol=new Yt(8),El=new Yt(16),Rl=new Yt(32),vl=new Yt(64),Il=new It(8),Al=new It(16),Sl=new It(32),Fl=new It(64),Cl=new ji;function Vl(...e){return new Mi(e)}function Pl(e){return new Mn(e)}function Bl(e){return new Or(e)}function Dl(e){return new _n(e)}function Ul(e){return new jn(e)}function kl(){return new tt}function Ll(e,t,r=[]){return new yn(e,t,r)}function ql(e){return new Kn(e)}var Ki=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}
|
|
49
|
+
`;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)}},Ui=new Ki;function ea(){Ui=new Ki}function Zp(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 Zs(e){return e instanceof Or||e instanceof mn||e instanceof St}function ra(e,t){let r=Ui.copy(),n=zt(r,e,t);return n?Ui.add(e,t):Ui.addNegative(e,t),n}function zt(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 St||t instanceof vo||t instanceof Ao&&r instanceof Io)return!0;if(t instanceof Mn&&r instanceof Mn)return zt(e,t._type,r._type);if(r instanceof Or)return!0;if(t instanceof _n&&r instanceof _n){let o=t.fieldsAsObject;for(let[i,s]of r._fields){let a=o[ke(i)];if(a){if(!zt(e,a,s))return!1}else if(!Zs(s))return!1}return!0}if(t instanceof yn&&r instanceof yn){if(!Zp(t,r))return!1;for(let o=0;o<t.argTypes.length;o++){let i=t.argTypes[o];if(o<r.argTypes.length){if(!zt(e,r.argTypes[o],i))return!1}else if(!Zs(i))return!1}for(let o=0;o<r.retTypes.length;o++){let i=r.retTypes[o];if(o<t.retTypes.length){if(!zt(e,t.retTypes[o],i))return!1}else if(!Zs(i))return!1}return!0}if(t instanceof jn&&r instanceof jn){let o=r.alternativesAsObject;for(let[i,s]of t._fields){let a=o[ke(i)];if(!a||!zt(e,s,a))return!1}return!0}if(t instanceof Kn&&r instanceof Kn){let o=t.fieldsAsObject();for(let[i,s]of r._fields){let a=o[i];if(!a||!zt(e,a,s))return!1}return!0}return t instanceof tt?zt(e,t.getType(),r):r instanceof tt?zt(e,t,r.getType()):!1}function Hn(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?Hn(e.buffer):new Uint8Array(e)}function xn(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 Ml(e);if(typeof e=="number")return Fe(oe(e));if(e instanceof Uint8Array||ArrayBuffer.isView(e))return Fe(Hn(e));if(Array.isArray(e)){let t=e.map(na);return Fe(j(...t))}else{if(e&&typeof e=="object"&&e._isPrincipal)return Fe(e.toUint8Array());if(typeof e=="object"&&e!==null&&typeof e.toHash=="function")return na(e.toHash());if(typeof e=="object")return Fo(e);if(typeof e=="bigint")return Fe(oe(e))}throw z.fromCode(new Ii(e))}var Ml=e=>{let t=new TextEncoder().encode(e);return Fe(t)};function Zt(e){return Fo(e)}function Fo(e){let n=Object.entries(e).filter(([,s])=>s!==void 0).map(([s,a])=>{let c=Ml(s),u=na(a);return[c,u]}).sort(([s],[a])=>Js(s,a)),o=j(...n.map(s=>j(...s)));return Fe(o)}var Co=new TextEncoder().encode(`
|
|
50
|
+
ic-request`),oa=new TextEncoder().encode("\vic-response"),ia=new TextEncoder().encode("ic-request-auth-delegation");var Ft=class{getPrincipal(){return this._principal||(this._principal=M.selfAuthenticating(new Uint8Array(this.getPublicKey().toDer()))),this._principal}async transformRequest(t){let{body:r,...n}=t,o=Zt(r);return{...n,body:{content:r,sender_pubkey:this.getPublicKey().toDer(),sender_sig:await this.sign(j(Co,o))}}}},rt=class{getPrincipal(){return M.anonymous()}async transformRequest(t){return{...t,body:{content:t.body}}}};var Xt=class extends Error{constructor(t){super(t),this.name="DecodingError"}},Kl=55799,Hl=Symbol("CBOR_STOP_CODE"),xt=(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))(xt||{}),we=(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))(we||{}),Xp=23,Qp=255,ef=65535,tf=4294967295,rf=BigInt("0xffffffffffffffff"),gt=(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))(gt||{}),$n=!1;function nf(e){return e==null}function $l(e,t){let r=new Uint8Array(t);return r.set(e),r}var of=new TextDecoder;function sf(e){return(e&224)>>5}function af(e){return e&31}var Bo=new Uint8Array,Vo,bt=0;function Gl(e,t){Bo=e,bt=0;let r=bn(t);return t?.(r)??r}function bn(e){let[t,r]=Hi();switch(t){case we.UnsignedInteger:return Gn(r);case we.NegativeInteger:return df(r);case we.ByteString:return Jl(r);case we.TextString:return aa(r);case we.Array:return cf(r,e);case we.Map:return uf(r,e);case we.Tag:return pf(r,e);case we.Simple:return lf(r)}throw new Xt(`Unsupported major type: ${t}`)}function Hi(){let e=Bo.at(bt);if(nf(e))throw new Xt("Provided CBOR data is empty");let t=sf(e),r=af(e);return bt++,[t,r]}function cf(e,t){let r=Gn(e);if(r===1/0){let o=[],i=bn(t);for(;i!==Hl;)o.push(t?.(i)??i),i=bn(t);return o}let n=new Array(r);for(let o=0;o<r;o++){let i=bn(t);n[o]=t?.(i)??i}return n}function lf(e){switch(e){case xt.False:return!1;case xt.True:return!0;case xt.Null:return null;case xt.Undefined:return;case xt.Break:return Hl}throw new Xt(`Unrecognized simple type: ${e.toString(2)}`)}function uf(e,t){let r=Gn(e),n={};if(r===1/0){let[o,i]=Hi();for(;o!==we.Simple&&i!==xt.Break;){let s=aa(i),a=bn(t);n[s]=t?.(a,s)??a,[o,i]=Hi()}return n}for(let o=0;o<r;o++){let[i,s]=Hi();if(i!==we.TextString)throw new Xt("Map keys must be text strings");let a=aa(s),c=bn(t);n[a]=t?.(c,a)??c}return n}function Gn(e){if(e<=gt.Value)return e;switch(Vo=new DataView(Bo.buffer,Bo.byteOffset+bt),e){case gt.OneByte:return bt++,Vo.getUint8(0);case gt.TwoBytes:return bt+=2,Vo.getUint16(0,$n);case gt.FourBytes:return bt+=4,Vo.getUint32(0,$n);case gt.EightBytes:return bt+=8,Vo.getBigUint64(0,$n);case gt.Indefinite:return 1/0;default:throw new Xt(`Unsupported integer info: ${e.toString(2)}`)}}function df(e){let t=Gn(e);return typeof t=="number"?-1-t:-1n-t}function Jl(e){let t=Gn(e);if(t>Number.MAX_SAFE_INTEGER)throw new Xt("Byte length is too large");let r=Number(t);return bt+=r,Bo.slice(bt-r,bt)}function aa(e){let t=Jl(e);return of.decode(t)}function pf(e,t){let r=Gn(e);if(r===Kl)return bn(t);throw new Xt(`Unsupported tag: ${r}.`)}var Do=class extends Error{constructor(t){super(t),this.name="SerializationError"}},ff=2*1024,hf=100,mf=new TextEncoder;function Po(e){return e<<5}var et=new Uint8Array(ff),yt=new DataView(et.buffer),be=0,sa=[];function Wl(e,t){be=0;let r=t?.(e)??e;return Nf(Kl,r,t),et.slice(0,be)}function ca(e,t){if(be>et.length-hf&&(et=$l(et,et.length*2),yt=new DataView(et.buffer)),e===!1||e===!0||e===null||e===void 0){gf(e);return}if(typeof e=="number"||typeof e=="bigint"){Tf(e);return}if(typeof e=="string"){Zl(e);return}if(e instanceof Uint8Array){jl(e);return}if(e instanceof ArrayBuffer){jl(new Uint8Array(e));return}if(Array.isArray(e)){_f(e,t);return}if(typeof e=="object"){yf(e,t);return}throw new Do(`Unsupported type: ${typeof e}`)}function _f(e,t){Jn(we.Array,e.length),e.forEach((r,n)=>{ca(t?.(r,n.toString())??r,t)})}function yf(e,t){sa=Object.entries(e),Jn(we.Map,sa.length),sa.forEach(([r,n])=>{Zl(r),ca(t?.(n,r)??n,t)})}function Jn(e,t){if(t<=Xp){yt.setUint8(be++,Po(e)|Number(t));return}if(t<=Qp){yt.setUint8(be++,Po(e)|gt.OneByte),yt.setUint8(be,Number(t)),be+=1;return}if(t<=ef){yt.setUint8(be++,Po(e)|gt.TwoBytes),yt.setUint16(be,Number(t),$n),be+=2;return}if(t<=tf){yt.setUint8(be++,Po(e)|gt.FourBytes),yt.setUint32(be,Number(t),$n),be+=4;return}if(t<=rf){yt.setUint8(be++,Po(e)|gt.EightBytes),yt.setBigUint64(be,BigInt(t),$n),be+=8;return}throw new Do(`Value too large to encode: ${t}`)}function gf(e){Jn(we.Simple,xf(e))}function xf(e){if(e===!1)return xt.False;if(e===!0)return xt.True;if(e===null)return xt.Null;if(e===void 0)return xt.Undefined;throw new Do(`Unrecognized simple value: ${e.toString()}`)}function zl(e,t){Jn(e,t.length),be>et.length-t.length&&(et=$l(et,et.length+t.length),yt=new DataView(et.buffer)),et.set(t,be),be+=t.length}function Yl(e,t){Jn(e,t)}function bf(e){Yl(we.UnsignedInteger,e)}function wf(e){Yl(we.NegativeInteger,typeof e=="bigint"?-1n-e:-1-e)}function Tf(e){e>=0?bf(e):wf(e)}function Zl(e){zl(we.TextString,mf.encode(e))}function jl(e){zl(we.ByteString,e)}function Nf(e,t,r){Jn(we.Tag,e),ca(t,r)}function Ef(e){return typeof e=="object"&&e!==null&&"toCborValue"in e}function Uo(e){try{return Wl(e,t=>M.isPrincipal(t)?t.toUint8Array():Wn.isExpiry(t)?t.toBigInt():Ef(t)?t.toCborValue():t)}catch(t){throw z.fromCode(new Ni(t,e))}}function Je(e){try{return Gl(e)}catch(t){throw z.fromCode(new Ti(t,e))}}var $i={encode:Uo,decode:Je};var ko=()=>{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 Qt;(function(e){e.Query="read",e.ReadState="read_state",e.Call="call"})(Qt||(Qt={}));var Gi;(function(e){e.Call="call"})(Gi||(Gi={}));var wn;(function(e){e.Query="query",e.ReadState="read_state"})(wn||(wn={}));function Lo(){let e=new ArrayBuffer(16),t=new DataView(e),r=ko(),n=ko(),o=ko(),i=ko();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 Ji="__expiry__",ua=BigInt(1e3),Rf=BigInt(1e6),Xl=BigInt(60),vf=BigInt(90)*ua;function Ql(e){return e/ua}function If(e){return Ql(e)/Xl}var Wn=class e{constructor(t){this.__expiry__=t,this._isExpiry=!0}static fromDeltaInMilliseconds(t,r=0){let n=BigInt(t),o=BigInt(Date.now())+n+BigInt(r),i;return n<vf?i=Ql(o):i=If(o)*Xl,new e(i*ua*Rf)}toBigInt(){return this.__expiry__}toHash(){return oe(this.__expiry__)}toString(){return this.__expiry__.toString()}toJSON(){return{[Ji]:this.toString()}}static fromJSON(t){let r=JSON.parse(t);if(r[Ji])try{let n=BigInt(r[Ji]);return new e(n)}catch(n){throw new z(new Oo(`Not a valid BigInt: ${n}`))}throw new z(new Oo(`The input does not contain the key ${Ji}`))}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 da(e=Lo){return async t=>{let r=t.request.headers;t.request.headers=r,t.endpoint===Qt.Call&&(t.body.nonce=e())}}function Wi(e){let t=[];return e.forEach((r,n)=>{t.push([n,r])}),t}var fa=BigInt(0),zi=BigInt(1);function Tn(e,t=""){if(typeof e!="boolean"){let r=t&&`"${t}"`;throw new Error(r+"expected boolean, got type="+typeof e)}return e}function Er(e,t,r=""){let n=Ot(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 eu(e){if(typeof e!="string")throw new Error("hex string expected, got "+typeof e);return e===""?fa:BigInt("0x"+e)}function We(e){return eu(H(e))}function er(e){return fe(e),eu(H(Uint8Array.from(e).reverse()))}function Te(e,t){return Ne(e.toString(16).padStart(t*2,"0"))}function ha(e,t){return Te(e,t).reverse()}function de(e,t,r){let n;if(typeof t=="string")try{n=Ne(t)}catch(i){throw new Error(e+" must be hex string or Uint8Array, cause: "+i)}else if(Ot(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 tu(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 ma(e){return Uint8Array.from(e)}var pa=e=>typeof e=="bigint"&&fa<=e;function _a(e,t,r){return pa(e)&&pa(t)&&pa(r)&&t<=e&&e<r}function Yi(e,t,r,n){if(!_a(t,r,n))throw new Error("expected valid "+e+": "+r+" <= n < "+n+", got "+t)}function tr(e){let t;for(t=0;e>fa;e>>=zi,t+=1);return t}function ru(e,t){return e>>BigInt(t)&zi}var wt=e=>(zi<<BigInt(e))-zi;function nu(e){return typeof e=="function"&&Number.isSafeInteger(e.outputLen)}function rr(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 zn=()=>{throw new Error("not implemented")};function Rr(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 Le=BigInt(0),Ee=BigInt(1),Nn=BigInt(2),iu=BigInt(3),su=BigInt(4),au=BigInt(5),Af=BigInt(7),cu=BigInt(8),Sf=BigInt(9),lu=BigInt(16);function ae(e,t){let r=e%t;return r>=Le?r:t+r}function Tt(e,t,r){let n=e;for(;t-- >Le;)n*=n,n%=r;return n}function ou(e,t){if(e===Le)throw new Error("invert: expected non-zero number");if(t<=Le)throw new Error("invert: expected positive modulus, got "+t);let r=ae(e,t),n=t,o=Le,i=Ee,s=Ee,a=Le;for(;r!==Le;){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!==Ee)throw new Error("invert: does not exist");return ae(o,t)}function ya(e,t,r){if(!e.eql(e.sqr(t),r))throw new Error("Cannot find square root")}function uu(e,t){let r=(e.ORDER+Ee)/su,n=e.pow(t,r);return ya(e,n,t),n}function Ff(e,t){let r=(e.ORDER-au)/cu,n=e.mul(t,Nn),o=e.pow(n,r),i=e.mul(t,o),s=e.mul(e.mul(i,Nn),o),a=e.mul(i,e.sub(s,e.ONE));return ya(e,a,t),a}function Cf(e){let t=qe(e),r=du(e),n=r(t,t.neg(t.ONE)),o=r(t,n),i=r(t,t.neg(n)),s=(e+Af)/lu;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 m=a.eql(a.sqr(p),c),g=a.cmov(u,p,m);return ya(a,g,c),g}}function du(e){if(e<iu)throw new Error("sqrt is not defined for small field");let t=e-Ee,r=0;for(;t%Nn===Le;)t/=Nn,r++;let n=Nn,o=qe(e);for(;qo(o,n)===1;)if(n++>1e3)throw new Error("Cannot find square root: probably non-prime P");if(r===1)return uu;let i=o.pow(n,t),s=(t+Ee)/Nn;return function(c,u){if(c.is0(u))return u;if(qo(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,m=c.sqr(l);for(;!c.eql(m,c.ONE);)if(h++,m=c.sqr(m),h===p)throw new Error("Cannot find square root");let g=Ee<<BigInt(p-h-1),_=c.pow(d,g);p=h,d=c.sqr(_),l=c.mul(l,d),f=c.mul(f,_)}return f}}function Vf(e){return e%su===iu?uu:e%cu===au?Ff:e%lu===Sf?Cf(e):du(e)}var nr=(e,t)=>(ae(e,t)&Ee)===Ee,Pf=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function Zi(e){let t={ORDER:"bigint",MASK:"bigint",BYTES:"number",BITS:"number"},r=Pf.reduce((n,o)=>(n[o]="function",n),t);return rr(e,r),e}function Mo(e,t,r){if(r<Le)throw new Error("invalid exponent, negatives unsupported");if(r===Le)return e.ONE;if(r===Ee)return t;let n=e.ONE,o=t;for(;r>Le;)r&Ee&&(n=e.mul(n,o)),o=e.sqr(o),r>>=Ee;return n}function nt(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 qo(e,t){let r=(e.ORDER-Ee)/Nn,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 ga(e,t){t!==void 0&&qs(t);let r=t!==void 0?t:e.toString(2).length,n=Math.ceil(r/8);return{nBitLength:r,nByteLength:n}}function qe(e,t,r=!1,n={}){if(e<=Le)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}=ga(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:wt(c),ZERO:Le,ONE:Ee,allowedLengths:a,create:l=>ae(l,e),isValid:l=>{if(typeof l!="bigint")throw new Error("invalid field element: expected bigint, got "+typeof l);return Le<=l&&l<e},is0:l=>l===Le,isValidNot0:l=>!d.is0(l)&&d.isValid(l),isOdd:l=>(l&Ee)===Ee,neg:l=>ae(-l,e),eql:(l,f)=>l===f,sqr:l=>ae(l*l,e),add:(l,f)=>ae(l+f,e),sub:(l,f)=>ae(l-f,e),mul:(l,f)=>ae(l*f,e),pow:(l,f)=>Mo(d,l,f),div:(l,f)=>ae(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=Vf(e)),p(d,l))),toBytes:l=>r?ha(l,u):Te(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 m=new Uint8Array(u);m.set(l,r?0:m.length-l.length),l=m}if(l.length!==u)throw new Error("Field.fromBytes: expected "+u+" bytes, got "+l.length);let h=r?er(l):We(l);if(s&&(h=ae(h,e)),!f&&!d.isValid(h))throw new Error("invalid field element: outside of range 0..ORDER");return h},invertBatch:l=>nt(d,l),cmov:(l,f,h)=>h?f:l});return Object.freeze(d)}function pu(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 Xi(e){let t=pu(e);return t+Math.ceil(t/2)}function xa(e,t,r=!1){let n=e.length,o=pu(t),i=Xi(t);if(n<16||n<i||n>1024)throw new Error("expected "+i+"-1024 bytes of input, got "+n);let s=r?er(e):We(e),a=ae(s,t-Ee)+Ee;return r?ha(a,o):Te(a,o)}var Yn=BigInt(0),On=BigInt(1);function jo(e,t){let r=t.negate();return e?r:t}function ot(e,t){let r=nt(e.Fp,t.map(n=>n.Z));return t.map((n,o)=>e.fromAffine(n.toAffine(r[o])))}function _u(e,t){if(!Number.isSafeInteger(e)||e<=0||e>t)throw new Error("invalid window size, expected [1.."+t+"], got W="+e)}function ba(e,t){_u(e,t);let r=Math.ceil(t/e)+1,n=2**(e-1),o=2**e,i=wt(e),s=BigInt(e);return{windows:r,windowSize:n,mask:i,maxNumber:o,shiftBy:s}}function fu(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+=On);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 Df(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 Uf(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 wa=new WeakMap,yu=new WeakMap;function Ta(e){return yu.get(e)||1}function hu(e){if(e!==Yn)throw new Error("invalid wNAF")}var Zn=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>Yn;)r&On&&(n=n.add(o)),o=o.double(),r>>=On;return n}precomputeWindow(t,r){let{windows:n,windowSize:o}=ba(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=ba(t,this.bits);for(let a=0;a<s.windows;a++){let{nextN:c,offset:u,isZero:p,isNeg:d,isNegF:l,offsetF:f}=fu(n,a,s);n=c,p?i=i.add(jo(l,r[f])):o=o.add(jo(d,r[u]))}return hu(n),{p:o,f:i}}wNAFUnsafe(t,r,n,o=this.ZERO){let i=ba(t,this.bits);for(let s=0;s<i.windows&&n!==Yn;s++){let{nextN:a,offset:c,isZero:u,isNeg:p}=fu(n,s,i);if(n=a,!u){let d=r[c];o=o.add(p?d.negate():d)}}return hu(n),o}getPrecomputes(t,r,n){let o=wa.get(r);return o||(o=this.precomputeWindow(r,t),t!==1&&(typeof n=="function"&&(o=n(o)),wa.set(r,o))),o}cached(t,r,n){let o=Ta(t);return this.wNAF(o,this.getPrecomputes(o,t,n),r)}unsafe(t,r,n,o){let i=Ta(t);return i===1?this._unsafeLadder(t,r,o):this.wNAFUnsafe(i,this.getPrecomputes(i,t,n),r,o)}createCache(t,r){_u(r,this.bits),yu.set(t,r),wa.delete(t)}hasCache(t){return Ta(t)!==1}};function gu(e,t,r,n){let o=t,i=e.ZERO,s=e.ZERO;for(;r>Yn||n>Yn;)r&On&&(i=i.add(o)),n&On&&(s=s.add(o)),o=o.double(),r>>=On,n>>=On;return{p1:i,p2:s}}function Xn(e,t,r,n){Df(r,e),Uf(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=tr(BigInt(o)),c=1;a>12?c=a-3:a>4?c=a-2:a>0&&(c=2);let u=wt(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 m=0;m<i;m++){let g=n[m],_=Number(g>>BigInt(f)&u);p[_]=p[_].add(r[m])}let h=s;for(let m=p.length-1,g=s;m>0;m--)g=g.add(p[m]),h=h.add(g);if(l=l.add(h),f!==0)for(let m=0;m<c;m++)l=l.double()}return l}function mu(e,t,r){if(t){if(t.ORDER!==e)throw new Error("Field.ORDER must match order: Fp == p, Fn == n");return Zi(t),t}else return qe(e,{isLE:r})}function Qi(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>Yn))throw new Error(`CURVE.${c} must be positive bigint`)}let o=mu(t.p,r.Fp,n),i=mu(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 kf=We;function vr(e,t){if(Ko(e),Ko(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 Lf(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 Ko(e){if(!Number.isSafeInteger(e))throw new Error("number expected")}function xu(e){if(!Ot(e)&&typeof e!="string")throw new Error("DST must be Uint8Array or string");return typeof e=="string"?ee(e):e}function qf(e,t,r,n){fe(e),Ko(r),t=xu(t),t.length>255&&(t=n(j(ee("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=j(t,vr(t.length,1)),c=vr(0,i),u=vr(r,2),p=new Array(s),d=n(j(c,e,u,vr(0,1),a));p[0]=n(j(d,vr(1,1),a));for(let f=1;f<=s;f++){let h=[Lf(d,p[f-1]),vr(f+1,1),a];p[f]=n(j(...h))}return j(...p).slice(0,r)}function Mf(e,t,r,n,o){if(fe(e),Ko(r),t=xu(t),t.length>255){let i=Math.ceil(2*n/8);t=o.create({dkLen:i}).update(ee("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(vr(r,2)).update(t).update(vr(t.length,1)).digest()}function Na(e,t,r){rr(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");fe(e),Ko(t);let u=n.toString(2).length,p=Math.ceil((u+o)/8),d=t*i*p,l;if(a==="xmd")l=qf(e,c,d,s);else if(a==="xof")l=Mf(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 m=new Array(i);for(let g=0;g<i;g++){let _=p*(g+h*i),x=l.subarray(_,_+p);m[g]=ae(kf(x),n)}f[h]=m}return f}function Oa(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]=nt(e,[s,c],!0);return n=e.mul(i,u),o=e.mul(o,e.mul(a,p)),{x:n,y:o}}}var jf=ee("HashToScalar-");function Ea(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=Na(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=Na(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:jf},s);return Na(i,1,c)[0][0]}}}var bu=(e,t)=>(e+(e>=0?t:-t)/or)/t;function Kf(e,t,r){let[[n,o],[i,s]]=t,a=bu(s*e,r),c=bu(-o*e,r),u=e-a*n-c*i,p=-a*o-c*s,d=u<En,l=p<En;d&&(u=-u),l&&(p=-p);let f=wt(Math.ceil(tr(r)/2))+Me;if(u<En||u>=f||p<En||p>=f)throw new Error("splitScalar (endomorphism): failed, k="+e);return{k1neg:d,k1:u,k2neg:l,k2:p}}var En=BigInt(0),Me=BigInt(1),or=BigInt(2),Qn=BigInt(3),Ra=BigInt(4);function Ho(e,t){let{BYTES:r}=e,n;if(typeof t=="bigint")n=t;else{let o=de("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 Hf(e,t={}){let r=Qi("weierstrass",e,t),{Fp:n,Fn:o}=r,i=r.CURVE,{h:s,n:a}=i;rr(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=Jf(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:F,y:B}=b.toAffine(),L=n.toBytes(F);if(Tn(N,"isCompressed"),N){p();let A=!n.isOdd(B);return j($f(A),L)}else return j(Uint8Array.of(4),L,n.toBytes(B))}function l(S){Er(S,void 0,"Point");let{publicKey:b,publicKeyUncompressed:N}=u,F=S.length,B=S[0],L=S.subarray(1);if(F===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 V=m(A),P;try{P=n.sqrt(V)}catch(te){let Q=te instanceof Error?": "+te.message:"";throw new Error("bad point: is not on curve, sqrt error"+Q)}p();let D=n.isOdd(P);return(B&1)===1!==D&&(P=n.neg(P)),{x:A,y:P}}else if(F===N&&B===4){let A=n.BYTES,V=n.fromBytes(L.subarray(0,A)),P=n.fromBytes(L.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 ${F}, expected compressed=${b} or uncompressed=${N}`)}let f=t.toBytes||d,h=t.fromBytes||l;function m(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),F=m(S);return n.eql(N,F)}if(!g(i.Gx,i.Gy))throw new Error("bad curve params: generator point");let _=n.mul(n.pow(i.a,Qn),Ra),x=n.mul(n.sqr(i.b),BigInt(27));if(n.is0(n.add(_,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 Kf(S,c.basises,o.ORDER)}let O=Rr((S,b)=>{let{X:N,Y:F,Z:B}=S;if(n.eql(B,n.ONE))return{x:N,y:F};let L=S.is0();b==null&&(b=L?n.ONE:n.inv(B));let A=n.mul(N,b),V=n.mul(F,b),P=n.mul(B,b);if(L)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=Rr(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 I(S,b,N,F,B){return N=new w(n.mul(N.X,S),N.Y,N.Z),b=jo(F,b),N=jo(B,N),b.add(N)}class w{constructor(b,N,F){this.X=y("x",b),this.Y=y("y",N,!0),this.Z=y("z",F),Object.freeze(this)}static CURVE(){return i}static fromAffine(b){let{x:N,y:F}=b||{};if(!b||!n.isValid(N)||!n.isValid(F))throw new Error("invalid affine point");if(b instanceof w)throw new Error("projective point not allowed");return n.is0(N)&&n.is0(F)?w.ZERO:new w(N,F,n.ONE)}static fromBytes(b){let N=w.fromAffine(h(Er(b,void 0,"point")));return N.assertValidity(),N}static fromHex(b){return w.fromBytes(de("pointHex",b))}get x(){return this.toAffine().x}get y(){return this.toAffine().y}precompute(b=8,N=!0){return C.createCache(this,b),N||this.multiply(Qn),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:F,Z:B}=this,{X:L,Y:A,Z:V}=b,P=n.eql(n.mul(N,V),n.mul(L,B)),D=n.eql(n.mul(F,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,F=n.mul(N,Qn),{X:B,Y:L,Z:A}=this,V=n.ZERO,P=n.ZERO,D=n.ZERO,U=n.mul(B,B),te=n.mul(L,L),Q=n.mul(A,A),$=n.mul(B,L);return $=n.add($,$),D=n.mul(B,A),D=n.add(D,D),V=n.mul(b,D),P=n.mul(F,Q),P=n.add(V,P),V=n.sub(te,P),P=n.add(te,P),P=n.mul(V,P),V=n.mul($,V),D=n.mul(F,D),Q=n.mul(b,Q),$=n.sub(U,Q),$=n.mul(b,$),$=n.add($,D),D=n.add(U,U),U=n.add(D,U),U=n.add(U,Q),U=n.mul(U,$),P=n.add(P,U),Q=n.mul(L,A),Q=n.add(Q,Q),U=n.mul(Q,$),V=n.sub(V,U),D=n.mul(Q,te),D=n.add(D,D),D=n.add(D,D),new w(V,P,D)}add(b){T(b);let{X:N,Y:F,Z:B}=this,{X:L,Y:A,Z:V}=b,P=n.ZERO,D=n.ZERO,U=n.ZERO,te=i.a,Q=n.mul(i.b,Qn),$=n.mul(N,L),se=n.mul(F,A),pe=n.mul(B,V),Se=n.add(N,F),re=n.add(L,A);Se=n.mul(Se,re),re=n.add($,se),Se=n.sub(Se,re),re=n.add(N,B);let ue=n.add(L,V);return re=n.mul(re,ue),ue=n.add($,pe),re=n.sub(re,ue),ue=n.add(F,B),P=n.add(A,V),ue=n.mul(ue,P),P=n.add(se,pe),ue=n.sub(ue,P),U=n.mul(te,re),P=n.mul(Q,pe),U=n.add(P,U),P=n.sub(se,U),U=n.add(se,U),D=n.mul(P,U),se=n.add($,$),se=n.add(se,$),pe=n.mul(te,pe),re=n.mul(Q,re),se=n.add(se,pe),pe=n.sub($,pe),pe=n.mul(te,pe),re=n.add(re,pe),$=n.mul(se,re),D=n.add(D,$),$=n.mul(ue,re),P=n.mul(Se,P),P=n.sub(P,$),$=n.mul(Se,se),U=n.mul(ue,U),U=n.add(U,$),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 F,B,L=A=>C.cached(this,A,V=>ot(w,V));if(N){let{k1neg:A,k1:V,k2neg:P,k2:D}=E(b),{p:U,f:te}=L(V),{p:Q,f:$}=L(D);B=te.add($),F=I(N.beta,U,Q,A,P)}else{let{p:A,f:V}=L(b);F=A,B=V}return ot(w,[F,B])[0]}multiplyUnsafe(b){let{endo:N}=t,F=this;if(!o.isValid(b))throw new Error("invalid scalar: out of range");if(b===En||F.is0())return w.ZERO;if(b===Me)return F;if(C.hasCache(this))return this.multiply(b);if(N){let{k1neg:B,k1:L,k2neg:A,k2:V}=E(b),{p1:P,p2:D}=gu(w,F,L,V);return I(N.beta,P,D,B,A)}else return C.unsafe(F,b)}multiplyAndAddUnsafe(b,N,F){let B=this.multiplyUnsafe(N).add(b.multiplyUnsafe(F));return B.is0()?void 0:B}toAffine(b){return O(this,b)}isTorsionFree(){let{isTorsionFree:b}=t;return s===Me?!0:b?b(w,this):C.unsafe(this,a).is0()}clearCofactor(){let{clearCofactor:b}=t;return s===Me?this:b?b(w,this):this.multiplyUnsafe(s)}isSmallOrder(){return this.multiplyUnsafe(s).is0()}toBytes(b=!0){return Tn(b,"isCompressed"),this.assertValidity(),f(w,this,b)}toHex(b=!0){return H(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 ot(w,b)}static msm(b,N){return Xn(w,o,b,N)}static fromPrivateKey(b){return w.BASE.multiply(Ho(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 v=o.BITS,C=new Zn(w,t.endo?Math.ceil(v/2):v);return w.BASE.precompute(8),w}function $f(e){return Uint8Array.of(e?2:3)}function Gf(e,t){let r=e.ORDER,n=En;for(let h=r-Me;h%or===En;h/=or)n+=Me;let o=n,i=or<<o-Me-Me,s=i*or,a=(r-Me)/s,c=(a-Me)/or,u=s-Me,p=i,d=e.pow(t,a),l=e.pow(t,(a+Me)/or),f=(h,m)=>{let g=d,_=e.pow(m,u),x=e.sqr(_);x=e.mul(x,m);let y=e.mul(h,x);y=e.pow(y,c),y=e.mul(y,_),_=e.mul(y,m),x=e.mul(y,h);let T=e.mul(x,_);y=e.pow(T,p);let E=e.eql(y,e.ONE);_=e.mul(x,l),y=e.mul(T,g),x=e.cmov(_,x,E),T=e.cmov(y,T,E);for(let O=o;O>Me;O--){let R=O-or;R=or<<R-Me;let I=e.pow(T,R),w=e.eql(I,e.ONE);_=e.mul(x,g),g=e.mul(g,g),I=e.mul(T,g),x=e.cmov(_,x,w),T=e.cmov(I,T,w)}return{isValid:E,value:x}};if(e.ORDER%Ra===Qn){let h=(e.ORDER-Qn)/Ra,m=e.sqrt(e.neg(t));f=(g,_)=>{let x=e.sqr(_),y=e.mul(g,_);x=e.mul(x,y);let T=e.pow(x,h);T=e.mul(T,y);let E=e.mul(T,m),O=e.mul(e.sqr(T),_),R=e.eql(O,g),I=e.cmov(E,T,R);return{isValid:R,value:I}}}return f}function va(e,t){Zi(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=Gf(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:m,value:g}=i(c,l);h=e.mul(a,s),h=e.mul(h,g),f=e.cmov(f,u,m),h=e.cmov(h,g,m);let _=e.isOdd(s)===e.isOdd(h);h=e.cmov(e.neg(h),h,_);let x=nt(e,[p],!0)[0];return f=e.mul(f,x),{x:f,y:h}}}function Jf(e,t){return{secretKey:t.BYTES,publicKey:1+e.BYTES,publicKeyUncompressed:1+2*e.BYTES,publicKeyHasPrefix:!0,signature:2*t.BYTES}}function Ia(e){let{CURVE:t,curveOpts:r}=Wf(e),n=Hf(t,r);return Yf(e,n)}function Wf(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=qe(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 zf(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 Yf(e,t){let{Fp:r,Fn:n}=t;function o(s){return _a(s,Me,n.ORDER)}let i=zf(r,e.a,e.b);return Object.assign({},{CURVE:e,Point:t,ProjectivePoint:t,normPrivateKeyToScalar:s=>Ho(n,s),weierstrassEquation:i,isWithinCurveOrder:o})}var Zf=BigInt(0),es=BigInt(1),wu=BigInt(2),eo=BigInt(3);function Xf(e){let t=[];for(;e>es;e>>=es)(e&es)===Zf?t.unshift(0):(e&eo)===eo?(t.unshift(-1),e+=es):t.unshift(1);return t}function Aa(e){if(!Array.isArray(e)||e.length===0)throw new Error("expected non-empty array")}function Qf(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,I)=>i.mul014(O,y,o.mul(T,R),o.mul(E,I));else if(s==="divisive")p=(y,T,E,O,R,I)=>i.mul034(O,o.mul(E,I),o.mul(T,R),y);else throw new Error("bls: unknown twist type");let d=o.div(o.ONE,o.mul(o.ONE,wu));function l(y,T,E,O){let R=o.sqr(E),I=o.sqr(O),w=o.mulByB(o.mul(I,eo)),v=o.mul(w,eo),C=o.sub(o.sub(o.sqr(o.add(E,O)),I),R),S=o.sub(w,R),b=o.mul(o.sqr(T),eo),N=o.neg(C);return y.push([S,b,N]),T=o.mul(o.mul(o.mul(o.sub(R,v),T),E),d),E=o.sub(o.sqr(o.mul(o.add(R,v),d)),o.mul(o.sqr(w),eo)),O=o.mul(R,C),{Rx:T,Ry:E,Rz:O}}function f(y,T,E,O,R,I){let w=o.sub(E,o.mul(I,O)),v=o.sub(T,o.mul(R,O)),C=o.sub(o.mul(w,R),o.mul(v,I)),S=o.neg(w),b=v;y.push([C,S,b]);let N=o.sqr(v),F=o.mul(N,v),B=o.mul(N,T),L=o.add(o.sub(F,o.mul(B,wu)),o.mul(o.sqr(w),O));return T=o.mul(v,L),E=o.sub(o.mul(o.sub(B,L),w),o.mul(F,E)),O=o.mul(O,F),{Rx:T,Ry:E,Rz:O}}let h=Xf(a),m=Rr(y=>{let T=y,{x:E,y:O}=T.toAffine(),R=E,I=O,w=o.neg(O),v=R,C=I,S=o.ONE,b=[];for(let N of h){let F=[];({Rx:v,Ry:C,Rz:S}=l(F,v,C,S)),N&&({Rx:v,Ry:C,Rz:S}=f(F,v,C,S,R,N===-1?w:I)),b.push(F)}if(u){let N=b[b.length-1];u(v,C,S,R,I,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[I,w,v]of y)for(let[C,S,b]of I[R])E=p(C,S,b,E,w,v)}}return c&&(E=i.conjugate(E)),T?i.finalExponentiate(E):E}function _(y,T=!0){let E=[];ot(t,y.map(({g1:O})=>O)),ot(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 I=O.toAffine();E.push([m(R),I.x,I.y])}return g(E,T)}function x(y,T,E=!0){return _([{g1:y,g2:T}],E)}return{Fp12:i,millerLoopBatch:g,pairing:x,pairingBatch:_,calcPairingPrecomputes:m}}function Tu(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=Ho(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=Ho(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 m=f.negate(),g=t.Point.BASE,_=u(l),x=d,y=s([p(m,_),p(g,x)]);return i.eql(y,i.ONE)},verifyBatch(d,l,f){if(Aa(l),f.length!==l.length)throw new Error("amount of public keys and messages should be equal");let h=c(d),m=l,g=f.map(a),_=new Map;for(let T=0;T<g.length;T++){let E=g[T],O=m[T],R=_.get(O);R===void 0&&(R=[],_.set(O,R)),R.push(E)}let x=[],y=t.Point.BASE;try{for(let[T,E]of _){let O=E.reduce((R,I)=>R.add(I));x.push(p(O,T))}return x.push(p(y.negate(),h)),i.eql(s(x),i.ONE)}catch{return!1}},aggregatePublicKeys(d){Aa(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){Aa(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){fe(d);let f=l?{DST:l}:void 0;return r.hashToCurve(d,f)},Signature:n}}function Nu(e){let{Fp:t,Fr:r,Fp2:n,Fp6:o,Fp12:i}=e.fields,s=Ia(e.G1),a=Object.assign(s,Ea(s.Point,e.G1.mapToCurve,{...e.htfDefaults,...e.G1.htfDefaults})),c=Ia(e.G2),u=Object.assign(c,Ea(c.Point,e.G2.mapToCurve,{...e.htfDefaults,...e.G2.htfDefaults})),p=Qf(e.fields,a.Point,u.Point,{...e.params,postPrecompute:e.postPrecompute}),{millerLoopBatch:d,pairing:l,pairingBatch:f,calcPairingPrecomputes:h}=p,m=Tu(p,a,u,e.G2.Signature,!1),g=Tu(p,u,a,e.G1.ShortSignature,!0),_=e.randomBytes||Pn,x=()=>{let A=Xi(r.ORDER);return xa(_(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(de("point",A),V?.DST)}function R(A,V){return A instanceof u.Point?A:m.hash(de("point",A),V?.DST)}function I(A){return m.getPublicKey(A).toBytes(!0)}function w(A){return g.getPublicKey(A).toBytes(!0)}function v(A,V,P){let D=R(A,P),U=m.sign(D,V);return A instanceof u.Point?U:E.toBytes(U)}function C(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 m.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=m.aggregatePublicKeys(A);return A[0]instanceof a.Point?V:V.toBytes(!0)}function F(A){let V=m.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 L(A,V,P,D){let U=V.map(te=>R(te,D));return m.verifyBatch(A,U,P)}return a.Point.BASE.precompute(4),{longSignatures:m,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:I,getPublicKeyForShortSignatures:w,sign:v,signShortSignature:C,verify:S,verifyShortSignature:b,aggregatePublicKeys:N,aggregateSignatures:F,aggregateShortSignatures:B,G1:a,G2:u,Signature:E,ShortSignature:T}}var Ou=BigInt(0),ir=BigInt(1),je=BigInt(2),Eu=BigInt(3);function Va(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=ir;l<n;l++){let h=(p*f-p)/s%a;d.push(e.pow(t,h)),f*=r}c.push(d)}return c}function vu(e,t,r){let n=t.pow(r,(e.ORDER-ir)/Eu),o=t.pow(r,(e.ORDER-ir)/je);function i(l,f){let h=t.mul(t.frobeniusMap(l,1),n),m=t.mul(t.frobeniusMap(f,1),o);return[h,m]}let s=t.pow(r,(e.ORDER**je-ir)/Eu),a=t.pow(r,(e.ORDER**je-ir)/je);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 m=h.toAffine(),g=l(m.x,m.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 Ru=(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]}},Sa=class{constructor(t,r={}){this.MASK=ir;let n=t.ORDER,o=n*n;this.Fp=t,this.ORDER=o,this.BITS=tr(o),this.BYTES=Math.ceil(tr(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,je),this.NONRESIDUE=Ru(t,r.FP2_NONRESIDUE),this.FROBENIUS_COEFFICIENTS=Va(t,this.Fp_NONRESIDUE,t.ORDER,2)[0],this.mulByB=r.Fp2mulByB,Object.seal(this)}fromBigTuple(t){return Ru(this.Fp,t)}create(t){return t}isValid({c0:t,c1:r}){function n(o,i){return typeof o=="bigint"&&Ou<=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 Mo(this,t,r)}invertBatch(t){return nt(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 qo(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);qo(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:m,im:g}=n.reim(l);return h>g||h===g&&f>m?d:l}isOdd(t){let{re:r,im:n}=this.reim(t),o=r%je,i=r===Ou,s=n%je;return BigInt(o||i&&s)==ir}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 j(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])}}},Fa=class{constructor(t){this.MASK=ir,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=Va(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),je),a=o.mul(o.mul(r,n),je),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 zn()}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 Mo(this,t,r)}invertBatch(t){return nt(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 j(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)}}},Ca=class{constructor(t,r){this.MASK=ir;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=Va(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){zn()}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 Mo(this,t,r)}invertBatch(t){return nt(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 j(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:m,second:g}=o.Fp4Square(s,p),_=o.mulByNonresidue(g);return{c0:n.create({c0:o.add(o.mul(o.sub(d,i),je),d),c1:o.add(o.mul(o.sub(f,s),je),f),c2:o.add(o.mul(o.sub(m,a),je),m)}),c1:n.create({c0:o.add(o.mul(o.add(_,c),je),_),c1:o.add(o.mul(o.add(l,u),je),l),c2:o.add(o.mul(o.add(h,p),je),h)})}}_cyclotomicExp(t,r){let n=this.ONE;for(let o=this.X_LEN-1;o>=0;o--)n=this._cyclotomicSquare(n),ru(r,o)&&(n=this.mul(n,t));return n}};function Iu(e){let t=qe(e.ORDER),r=new Sa(t,e),n=new Fa(r),o=new Ca(n,e);return{Fp:t,Fp2:r,Fp6:n,Fp12:o}}var Ce=BigInt(0),ts=BigInt(1),it=BigInt(2),rs=BigInt(3),$o=BigInt(4),Ir=BigInt("0xd201000000010000"),eh=tr(Ir),Rn={p:BigInt("0x1a0111ea397fe69a4b1ba7b6434bacd764774b84f38512bf6730d2a0f6b0f6241eabfffeb153ffffb9feffffffffaaab"),n:BigInt("0x73eda753299d7d483339d80809a1d80553bda402fffe5bfeffffffff00000001"),h:BigInt("0x396c8c005555e1568c00aaab0000aaab"),a:Ce,b:$o,Gx:BigInt("0x17f1d3a73197d7942695638c4fa9ac0fc3688c4f9774b905a14e3a3f171bac586c55e83ff97a1aeffb3af00adb22c6bb"),Gy:BigInt("0x08b3f481e3aaa0f1a09e30ed741d8ae4fcf5e095d5d00af600db18cb2c04b3edd03cc744a2888ae40caa232946c5e7e1")},th=qe(Rn.n,{modFromBytes:!0,isLE:!0}),{Fp:q,Fp2:J,Fp6:rh,Fp12:Z}=Iu({ORDER:Rn.p,X_LEN:eh,FP2_NONRESIDUE:[ts,ts],Fp2mulByB:({c0:e,c1:t})=>{let r=q.mul(e,$o),n=q.mul(t,$o);return{c0:q.sub(r,n),c1:q.add(r,n)}},Fp12finalExponentiate:e=>{let t=Ir,r=Z.div(Z.frobeniusMap(e,6),e),n=Z.mul(Z.frobeniusMap(r,2),r),o=Z.conjugate(Z._cyclotomicExp(n,t)),i=Z.mul(Z.conjugate(Z._cyclotomicSquare(n)),o),s=Z.conjugate(Z._cyclotomicExp(i,t)),a=Z.conjugate(Z._cyclotomicExp(s,t)),c=Z.mul(Z.conjugate(Z._cyclotomicExp(a,t)),Z._cyclotomicSquare(o)),u=Z.conjugate(Z._cyclotomicExp(c,t)),p=Z.frobeniusMap(Z.mul(o,a),2),d=Z.frobeniusMap(Z.mul(s,n),3),l=Z.frobeniusMap(Z.mul(c,Z.conjugate(n)),1),f=Z.mul(Z.mul(u,Z.conjugate(i)),n);return Z.mul(Z.mul(Z.mul(p,d),l),f)}}),{G2psi:Au,G2psi2:nh}=vu(q,J,J.div(J.ONE,J.NONRESIDUE)),Pa=Object.freeze({DST:"BLS_SIG_BLS12381G2_XMD:SHA-256_SSWU_RO_NUL_",encodeDST:"BLS_SIG_BLS12381G2_XMD:SHA-256_SSWU_RO_NUL_",p:q.ORDER,m:2,k:128,expand:"xmd",hash:Fe}),Ua={p:J.ORDER,n:Rn.n,h:BigInt("0x5d543a95414e7f1091d50792876a202cd91de4547085abaa68a205b2e5a7ddfa628f1cb4d9e82ef21537e293a6691ae1616ec6e786f0c70cf1c38e31c7238e5"),a:J.ZERO,b:J.fromBigTuple([$o,$o]),Gx:J.fromBigTuple([BigInt("0x024aa2b2f08f0a91260805272dc51051c6e47ad4fa403b02b4510b647ae3d1770bac0326a805bbefd48056c8c121bdb8"),BigInt("0x13e02b6052719f607dacd3a088274f65596bd0d09920b61ab5da61bbdc7f5049334cf11213945d57e5ac7d055d042b7e")]),Gy:J.fromBigTuple([BigInt("0x0ce5d527727d6e118cc9cdc6da2e351aadfd9baa8cbdd3a76d429a695160d12c923ac9cc3baca289e193548608b82801"),BigInt("0x0606c4a02ea734cc32acd2b02bc28b99cb3e287e85a763af267492ab572e99ab3f370d275cec1da1aaa9075ff05f79be")])},ns=Go(q.toBytes(Ce),{infinity:!0,compressed:!0});function os(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 Go(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 oh(e,t,r){let{BYTES:n,ORDER:o}=q,i=t.is0(),{x:s,y:a}=t.toAffine();if(r){if(i)return ns.slice();let c=!!(a*it/o);return Go(Te(s,n),{compressed:!0,sort:c})}else return i?j(Uint8Array.of(64),new Uint8Array(2*n-1)):j(Te(s,n),Te(a,n))}function Ba(e){e.assertValidity();let{BYTES:t,ORDER:r}=q,{x:n,y:o}=e.toAffine();if(e.is0())return ns.slice();let i=!!(o*it/r);return Go(Te(n,t),{compressed:!0,sort:i})}function ih(e){let{compressed:t,infinity:r,sort:n,value:o}=os(e),{BYTES:i,ORDER:s}=q;if(o.length===48&&t){let a=We(o),c=q.create(a&wt(q.BITS));if(r){if(c!==Ce)throw new Error("invalid G1 point: non-empty, at infinity, with compression");return{x:Ce,y:Ce}}let u=q.add(q.pow(c,rs),q.create(Rn.b)),p=q.sqrt(u);if(!p)throw new Error("invalid G1 point: compressed point");return p*it/s!==BigInt(n)&&(p=q.neg(p)),{x:q.create(c),y:q.create(p)}}else if(o.length===96&&!t){let a=We(o.subarray(0,i)),c=We(o.subarray(i));if(r){if(a!==Ce||c!==Ce)throw new Error("G1: non-empty point at infinity");return Jo.G1.Point.ZERO.toAffine()}return{x:q.create(a),y:q.create(c)}}else throw new Error("invalid G1 point: expected 48/96 bytes")}function Su(e){let{infinity:t,sort:r,value:n}=os(de("signatureHex",e,48)),o=q.ORDER,i=Jo.G1.Point,s=We(n);if(t)return i.ZERO;let a=q.create(s&wt(q.BITS)),c=q.add(q.pow(a,rs),q.create(Rn.b)),u=q.sqrt(c);if(!u)throw new Error("invalid G1 point: compressed");let p=BigInt(r);u*it/o!==p&&(u=q.neg(u));let d=i.fromAffine({x:a,y:u});return d.assertValidity(),d}function sh(e,t,r){let{BYTES:n,ORDER:o}=q,i=t.is0(),{x:s,y:a}=t.toAffine();if(r){if(i)return j(ns,Te(Ce,n));let c=!!(a.c1===Ce?a.c0*it/o:a.c1*it/o);return j(Go(Te(s.c1,n),{compressed:!0,sort:c}),Te(s.c0,n))}else{if(i)return j(Uint8Array.of(64),new Uint8Array(4*n-1));let{re:c,im:u}=J.reim(s),{re:p,im:d}=J.reim(a);return j(Te(u,n),Te(c,n),Te(d,n),Te(p,n))}}function Da(e){e.assertValidity();let{BYTES:t}=q;if(e.is0())return j(ns,Te(Ce,t));let{x:r,y:n}=e.toAffine(),{re:o,im:i}=J.reim(r),{re:s,im:a}=J.reim(n),u=!!((a>Ce?a*it:s*it)/q.ORDER&ts),p=o;return j(Go(Te(i,t),{sort:u,compressed:!0}),Te(p,t))}function ah(e){let{BYTES:t,ORDER:r}=q,{compressed:n,infinity:o,sort:i,value:s}=os(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)=>We(c.slice(u,p));if(s.length===96&&n){if(o){if(s.reduce((h,m)=>h!==0?m+1:m,0)>0)throw new Error("invalid G2 point: compressed");return{x:J.ZERO,y:J.ZERO}}let c=a(s,0,t),u=a(s,t,2*t),p=J.create({c0:q.create(u),c1:q.create(c)}),d=J.add(J.pow(p,rs),Ua.b),l=J.sqrt(d),f=l.c1===Ce?l.c0*it/r:l.c1*it/r?ts:Ce;return l=i&&f>0?l:J.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:J.ZERO,y:J.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:J.fromBigTuple([u,c]),y:J.fromBigTuple([d,p])}}else throw new Error("invalid G2 point: expected 96/192 bytes")}function Fu(e){let{ORDER:t}=q,{infinity:r,sort:n,value:o}=os(de("signatureHex",e)),i=Jo.G2.Point,s=o.length/2;if(s!==48&&s!==96)throw new Error("invalid compressed signature length, expected 96/192 bytes");let a=We(o.slice(0,s)),c=We(o.slice(s));if(r)return i.ZERO;let u=q.create(a&wt(q.BITS)),p=q.create(c),d=J.create({c0:p,c1:u}),l=J.add(J.pow(d,rs),Ua.b),f=J.sqrt(l);if(!f)throw new Error("Failed to find a square root");let{re:h,im:m}=J.reim(f),g=BigInt(n),_=m>Ce&&m*it/t!==g,x=m===Ce&&h*it/t!==g;(_||x)&&(f=J.neg(f));let y=i.fromAffine({x:d,y:f});return y.assertValidity(),y}var Jo=Nu({fields:{Fp:q,Fp2:J,Fp6:rh,Fp12:Z,Fr:th},G1:{...Rn,Fp:q,htfDefaults:{...Pa,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(q.mul(t.X,r),t.Y,t.Z);return t.multiplyUnsafe(Ir).negate().multiplyUnsafe(Ir).equals(n)},clearCofactor:(e,t)=>t.multiplyUnsafe(Ir).add(t),mapToCurve:ph,fromBytes:ih,toBytes:oh,ShortSignature:{fromBytes(e){return fe(e),Su(e)},fromHex(e){return Su(e)},toBytes(e){return Ba(e)},toRawBytes(e){return Ba(e)},toHex(e){return H(Ba(e))}}},G2:{...Ua,Fp:J,hEff:BigInt("0xbc69f08f2ee75b3584c6a0ea91b352888e2a8e9145ad7689986ff031508ffe1329c2f178731db956d82bf015d1212b02ec0ec69d7477c1ae954cbc06689f6a359894c0adebbf6b4e8020005aaa95551"),htfDefaults:{...Pa},wrapPrivateKey:!0,allowInfinityPoint:!0,mapToCurve:fh,isTorsionFree:(e,t)=>t.multiplyUnsafe(Ir).negate().equals(Au(e,t)),clearCofactor:(e,t)=>{let r=Ir,n=t.multiplyUnsafe(r).negate(),o=Au(e,t),i=t.double();return i=nh(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:ah,toBytes:sh,Signature:{fromBytes(e){return fe(e),Fu(e)},fromHex(e){return Fu(e)},toBytes(e){return Da(e)},toRawBytes(e){return Da(e)},toHex(e){return H(Da(e))}}},params:{ateLoopSize:Ir,r:Rn.n,xNegative:!0,twistType:"multiplicative"},htfDefaults:Pa,hash:Fe}),ch=Oa(J,[[["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=>J.fromBigTuple(t.map(BigInt))))),lh=Oa(q,[["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)))),uh=va(q,{A:q.create(BigInt("0x144698a3b8e9433d693a02c96d4982b0ea985383ee66a8d8e8981aefd881ac98936f8da0e0f97f5cf428082d584c1d")),B:q.create(BigInt("0x12e2908d11688030018b12e8753eee3b2016c1f0f24f4070a0b9c14fcef35ef55a23215a316ceaa5d1cc48e98e172be0")),Z:q.create(BigInt(11))}),dh=va(J,{A:J.create({c0:q.create(Ce),c1:q.create(BigInt(240))}),B:J.create({c0:q.create(BigInt(1012)),c1:q.create(BigInt(1012))}),Z:J.create({c0:q.create(BigInt(-2)),c1:q.create(BigInt(-1))})});function ph(e){let{x:t,y:r}=uh(q.create(e[0]));return lh(t,r)}function fh(e){let{x:t,y:r}=dh(J.fromBigTuple(e));return ch(t,r)}function Cu(e,t,r){let n=typeof e=="string"?e:H(e),o=typeof t=="string"?t:H(t),i=typeof r=="string"?r:H(r);return Jo.verifyShortSignature(o,i,n)}var mh=BigInt(1e6),ka=e=>me(new _t(e)),to=e=>{let r=ka(e)/mh;return new Date(Number(r))};var Vu=60*1e3,_h=60,yh=24,gh=yh*_h,xh=5,bh=5,wh=30*gh,Ae;(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"})(Ae||(Ae={}));function Th(e,t){for(let r=0;r<e.length;r++)if(e[r]>t[r])return!0;return!1}var Ar=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.canisterId,t.blsVerify??Cu,t.maxAgeInMinutes,t.disableTimeVerification,t.agent)}constructor(t,r,n,o,i=xh,s=!1,a){this._rootKey=r,this._canisterId=n,this._blsVerify=o,this._maxAgeInMinutes=i,this.#e=s,this.cert=Je(t),a&&"getTimeDiffMsecs"in a&&"hasSyncedTime"in a&&"syncTime"in a&&(this.#t=a)}lookup_path(t){return In(t,this.cert.tree)}lookup_subtree(t){return as(t,this.cert.tree)}async verify(){let t=await is(this.cert.tree),r=await this._checkDelegationAndGetKey(this.cert.delegation),n=this.cert.signature,o=Oh(r),i=j(zo("ic-state-root"),t),s=Ve(this.lookup_path(["time"]));if(!s)throw ne.fromCode(new gr("Certificate does not contain a time"));if(!this.#e){let a=this.#t?.getTimeDiffMsecs()??0,c=this._maxAgeInMinutes*Vu,u=new Date,p=u.getTime()+a,d=p-c,l=p+bh*Vu,f=to(s),h=f.getTime()<d,m=f.getTime()>l;if((h||m)&&this.#t&&!this.#t.hasSyncedTime())return await this.#t.syncTime(this._canisterId),await this.verify();if(h)throw De.fromCode(new pn(this._maxAgeInMinutes,f,u,a,"past"));if(m)throw this.#t?.hasSyncedTime()?xe.fromCode(new Ue("System time has been synced with the IC network, but certificate is still too far in the future.")):De.fromCode(new pn(5,f,u,a,"future"))}try{if(!await this._blsVerify(o,n,i))throw De.fromCode(new gr("Invalid signature"))}catch(a){throw De.fromCode(new gr("Signature verification failed",a))}}async _checkDelegationAndGetKey(t){if(!t)return this._rootKey;let r=e.createUnverified({certificate:t.certificate,rootKey:this._rootKey,canisterId:this._canisterId,blsVerify:this._blsVerify,disableTimeVerification:this.#e,maxAgeInMinutes:wh,agent:this.#t});if(r.cert.delegation)throw ne.fromCode(new gi);await r.verify();let n=t.subnet_id,o=M.fromUint8Array(n);if(!La({canisterId:this._canisterId,subnetId:o,tree:r.cert.tree}))throw De.fromCode(new Bn(this._canisterId,o));let s=Ve(r.lookup_path(["subnet",n,"public_key"]));if(!s)throw De.fromCode(new xi(`Could not find subnet key for subnet ID ${o.toText()}`));return s}},Wo=Ne("308182301d060d2b0601040182dc7c0503010201060c2b0601040182dc7c05030201036100"),Nh=96;function Oh(e){let t=Wo.byteLength+Nh;if(e.byteLength!==t)throw ne.fromCode(new Un(t,e.byteLength));let r=e.slice(0,Wo.byteLength);if(!xn(r,Wo))throw ne.fromCode(new bi(Wo,r));return e.slice(Wo.byteLength)}function Ve(e){if(e.status===ze.Found&&e.value instanceof Uint8Array)return e.value}async function is(e){switch(e[0]){case Ae.Empty:return Fe(zo("ic-hashtree-empty"));case Ae.Pruned:return e[1];case Ae.Leaf:return Fe(j(zo("ic-hashtree-leaf"),e[1]));case Ae.Labeled:return Fe(j(zo("ic-hashtree-labeled"),e[1],await is(e[2])));case Ae.Fork:return Fe(j(zo("ic-hashtree-fork"),await is(e[1]),await is(e[2])));default:throw wr}}function zo(e){let t=new Uint8Array([e.length]),r=new TextEncoder().encode(e);return j(t,r)}function Pu(e){return typeof e[0]=="string"?ee(e[0]):e[0]}var ze;(function(e){e.Unknown="Unknown",e.Absent="Absent",e.Found="Found",e.Error="Error"})(ze||(ze={}));var vn;(function(e){e.Absent="Absent",e.Unknown="Unknown",e.Found="Found"})(vn||(vn={}));var ce;(function(e){e.Absent="Absent",e.Unknown="Unknown",e.Found="Found",e.Less="Less",e.Greater="Greater"})(ce||(ce={}));function In(e,t){if(e.length===0)switch(t[0]){case Ae.Empty:return{status:ze.Absent};case Ae.Leaf:{if(!t[1])throw xe.fromCode(new br("Invalid tree structure for leaf"));if(t[1]instanceof Uint8Array)return{status:ze.Found,value:t[1].slice(t[1].byteOffset,t[1].byteLength+t[1].byteOffset)};throw wr}case Ae.Pruned:return{status:ze.Unknown};case Ae.Labeled:case Ae.Fork:return{status:ze.Error};default:throw wr}let r=Pu(e),n=Yo(r,t);switch(n.status){case ce.Found:return In(e.slice(1),n.value);case ce.Absent:case ce.Greater:case ce.Less:return{status:ze.Absent};case ce.Unknown:return{status:ze.Unknown};default:throw wr}}function as(e,t){if(e.length===0)return{status:vn.Found,value:t};let r=Pu(e),n=Yo(r,t);switch(n.status){case ce.Found:return as(e.slice(1),n.value);case ce.Unknown:return{status:vn.Unknown};case ce.Absent:case ce.Greater:case ce.Less:return{status:vn.Absent};default:throw wr}}function ss(e){switch(e[0]){case Ae.Empty:return[];case Ae.Fork:return ss(e[1]).concat(ss(e[2]));default:return[e]}}function Yo(e,t){switch(t[0]){case Ae.Labeled:return Th(e,t[1])?{status:ce.Greater}:xn(e,t[1])?{status:ce.Found,value:t[2]}:{status:ce.Less};case Ae.Fork:{let r=Yo(e,t[1]);switch(r.status){case ce.Greater:{let n=Yo(e,t[2]);return n.status===ce.Less?{status:ce.Absent}:n}case ce.Unknown:{let n=Yo(e,t[2]);return n.status===ce.Less?{status:ce.Unknown}:n}default:return r}}case Ae.Pruned:return{status:ce.Unknown};default:return{status:ce.Absent}}}function La(e){let{canisterId:t,subnetId:r,tree:n}=e,o=In(["subnet",r.toUint8Array(),"canister_ranges"],n);if(o.status!==ze.Found)throw ne.fromCode(new Jt(`Could not find canister ranges for subnet ${r.toText()}`,o.status));if(!(o.value instanceof Uint8Array))throw ne.fromCode(new Dn(`Could not find canister ranges for subnet ${r.toText()}`));return Je(o.value).map(c=>[M.fromUint8Array(c[0]),M.fromUint8Array(c[1])]).some(c=>c[0].ltEq(t)&&c[1].gtEq(t))}var qa=async e=>{let{agent:t,paths:r,disableCertificateTimeVerification:n=!1}=e,o=M.from(e.canisterId),i=[...new Set(r)],s=new Map,a=i.map((c,u)=>{let p=Rh(c,o);return(async()=>{try{if(t.rootKey===null)throw Oe.fromCode(new Rt);let d=t.rootKey,l=await t.readState(o,{paths:[p]}),f=await Ar.create({certificate:l.certificate,rootKey:d,canisterId:o,disableTimeVerification:n,agent:t}),h=(_,x)=>{if(x==="subnet"){let y=Eh(l.certificate,o,d);return{path:x,data:y}}else return{path:x,data:Ve(_.lookup_path(p))}},{path:m,data:g}=h(f,i[u]);if(!g)console.warn(`Expected to find result for path ${m}, but instead found nothing.`),typeof m=="string"?s.set(m,null):s.set(m.key,null);else switch(m){case"time":{s.set(m,to(g));break}case"controllers":{s.set(m,vh(g));break}case"module_hash":{s.set(m,H(g));break}case"subnet":{s.set(m,g);break}case"candid":{s.set(m,new TextDecoder().decode(g));break}default:if(typeof m!="string"&&"key"in m&&"path"in m)switch(m.decodeStrategy){case"raw":s.set(m.key,g);break;case"leb128":{s.set(m.key,ka(g));break}case"cbor":{s.set(m.key,Je(g));break}case"hex":{s.set(m.key,H(g));break}case"utf-8":s.set(m.key,new TextDecoder().decode(g))}}}catch(d){if(d instanceof ht&&(d.hasCode(gr)||d.hasCode(pn)))throw d;typeof c!="string"&&"key"in c&&"path"in c?s.set(c.key,null):s.set(c,null),console.group(),console.warn(`Expected to find result for path ${c}, but instead found nothing.`),console.warn(d),console.groupEnd()}})()});return await Promise.all(a),s},Eh=(e,t,r)=>{if(!t._isPrincipal)throw z.fromCode(new Ue("Invalid canisterId"));let n=Je(e),o=n.tree,i=n.delegation,s;if(i&&i.subnet_id?s=M.fromUint8Array(new Uint8Array(i.subnet_id)):!i&&typeof r<"u"?(s=M.selfAuthenticating(new Uint8Array(r)),i={subnet_id:s.toUint8Array(),certificate:new Uint8Array(0)}):(s=M.selfAuthenticating(M.fromText("tdb26-jop6k-aogll-7ltgs-eruif-6kk7m-qpktf-gdiqx-mxtrf-vb5e6-eqe").toUint8Array()),i={subnet_id:s.toUint8Array(),certificate:new Uint8Array(0)}),!La({canisterId:t,subnetId:s,tree:o}))throw De.fromCode(new Bn(t,s));let c=as(["subnet",i.subnet_id,"node"],o);if(c.status!==vn.Found)throw ne.fromCode(new Jt("Node not found",c.status));if(c.value instanceof Uint8Array)throw xe.fromCode(new br("Invalid node tree"));let u=ss(c.value),p=new Map;return u.forEach(d=>{let l=M.from(d[1]).toText(),f=In(["public_key"],d[2]);if(f.status!==ze.Found)throw ne.fromCode(new Jt("Public key not found",f.status));let h=f.value;if(h.byteLength!==44)throw ne.fromCode(new Un(44,h.byteLength));p.set(l,h)}),{subnetId:M.fromUint8Array(new Uint8Array(i.subnet_id)).toText(),nodeKeys:p}},Rh=(e,t)=>{let r=t.toUint8Array();switch(e){case"time":return[ee("time")];case"controllers":return[ee("canister"),r,ee("controllers")];case"module_hash":return[ee("canister"),r,ee("module_hash")];case"subnet":return[ee("subnet")];case"candid":return[ee("canister"),r,ee("metadata"),ee("candid:service")];default:if("key"in e&&"path"in e)if(typeof e.path=="string"||e.path instanceof Uint8Array){let n=e.path,o=typeof n=="string"?ee(n):n;return[ee("canister"),r,ee("metadata"),o]}else return e.path}throw xe.fromCode(new Ue(`Error while encoding your path for canister status. Please ensure that your path ${e} was formatted correctly.`))},vh=e=>Je(e).map(r=>M.fromUint8Array(r));var Sr=BigInt(0),Re=BigInt(1),Ma=BigInt(2),Ih=BigInt(8);function Ah(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 Sh(e,t={}){let r=Qi("edwards",e,t,t.FpFnLE),{Fp:n,Fn:o}=r,i=r.CURVE,{h:s}=i;rr(t,{},{uvRatio:"function"});let a=Ma<<BigInt(o.BYTES*8)-Re,c=g=>n.create(g),u=t.uvRatio||((g,_)=>{try{return{isValid:!0,value:n.sqrt(n.div(g,_))}}catch{return{isValid:!1,value:Sr}}});if(!Ah(n,i,i.Gx,i.Gy))throw new Error("bad curve params: generator point");function p(g,_,x=!1){let y=x?Re:Sr;return Yi("coordinate "+g,_,y,a),_}function d(g){if(!(g instanceof h))throw new Error("ExtendedPoint expected")}let l=Rr((g,_)=>{let{X:x,Y:y,Z:T}=g,E=g.is0();_==null&&(_=E?Ih:n.inv(T));let O=c(x*_),R=c(y*_),I=n.mul(T,_);if(E)return{x:Sr,y:Re};if(I!==Re)throw new Error("invZ was invalid");return{x:O,y:R}}),f=Rr(g=>{let{a:_,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),I=c(T*T),w=c(E*E),v=c(w*w),C=c(R*_),S=c(w*c(C+I)),b=c(v+c(x*c(R*I)));if(S!==b)throw new Error("bad point: equation left != right (1)");let N=c(y*T),F=c(E*O);if(N!==F)throw new Error("bad point: equation left != right (2)");return!0});class h{constructor(_,x,y,T){this.X=p("x",_),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(_){if(_ instanceof h)throw new Error("extended point not allowed");let{x,y}=_||{};return p("x",x),p("y",y),new h(x,y,Re,c(x*y))}static fromBytes(_,x=!1){let y=n.BYTES,{a:T,d:E}=i;_=ma(Er(_,y,"point")),Tn(x,"zip215");let O=ma(_),R=_[y-1];O[y-1]=R&-129;let I=er(O),w=x?a:n.ORDER;Yi("point.y",I,Sr,w);let v=c(I*I),C=c(v-Re),S=c(E*v-T),{isValid:b,value:N}=u(C,S);if(!b)throw new Error("bad point: invalid y coordinate");let F=(N&Re)===Re,B=(R&128)!==0;if(!x&&N===Sr&&B)throw new Error("bad point: x=0 and x_0=1");return B!==F&&(N=c(-N)),h.fromAffine({x:N,y:I})}static fromHex(_,x=!1){return h.fromBytes(de("point",_),x)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}precompute(_=8,x=!0){return m.createCache(this,_),x||this.multiply(Ma),this}assertValidity(){f(this)}equals(_){d(_);let{X:x,Y:y,Z:T}=this,{X:E,Y:O,Z:R}=_,I=c(x*R),w=c(E*T),v=c(y*R),C=c(O*T);return I===w&&v===C}is0(){return this.equals(h.ZERO)}negate(){return new h(c(-this.X),this.Y,this.Z,c(-this.T))}double(){let{a:_}=i,{X:x,Y:y,Z:T}=this,E=c(x*x),O=c(y*y),R=c(Ma*c(T*T)),I=c(_*E),w=x+y,v=c(c(w*w)-E-O),C=I+O,S=C-R,b=I-O,N=c(v*S),F=c(C*b),B=c(v*b),L=c(S*C);return new h(N,F,L,B)}add(_){d(_);let{a:x,d:y}=i,{X:T,Y:E,Z:O,T:R}=this,{X:I,Y:w,Z:v,T:C}=_,S=c(T*I),b=c(E*w),N=c(R*y*C),F=c(O*v),B=c((T+E)*(I+w)-S-b),L=F-N,A=F+N,V=c(b-x*S),P=c(B*L),D=c(A*V),U=c(B*V),te=c(L*A);return new h(P,D,te,U)}subtract(_){return this.add(_.negate())}multiply(_){if(!o.isValidNot0(_))throw new Error("invalid scalar: expected 1 <= sc < curve.n");let{p:x,f:y}=m.cached(this,_,T=>ot(h,T));return ot(h,[x,y])[0]}multiplyUnsafe(_,x=h.ZERO){if(!o.isValid(_))throw new Error("invalid scalar: expected 0 <= sc < curve.n");return _===Sr?h.ZERO:this.is0()||_===Re?this:m.unsafe(this,_,y=>ot(h,y),x)}isSmallOrder(){return this.multiplyUnsafe(s).is0()}isTorsionFree(){return m.unsafe(this,i.n).is0()}toAffine(_){return l(this,_)}clearCofactor(){return s===Re?this:this.multiplyUnsafe(s)}toBytes(){let{x:_,y:x}=this.toAffine(),y=n.toBytes(x);return y[y.length-1]|=_&Re?128:0,y}toHex(){return H(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(_){return ot(h,_)}static msm(_,x){return Xn(h,o,_,x)}_setWindowSize(_){this.precompute(_)}toRawBytes(){return this.toBytes()}}h.BASE=new h(i.Gx,i.Gy,Re,c(i.Gx*i.Gy)),h.ZERO=new h(Sr,Re,Re,Sr),h.Fp=n,h.Fn=o;let m=new Zn(h,o.BITS);return h.BASE.precompute(8),h}var cs=class{constructor(t){this.ep=t}static fromBytes(t){zn()}static fromHex(t){zn()}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 H(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 Fh(e,t,r={}){if(typeof t!="function")throw new Error('"hash" function param is required');rr(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||Pn,c=r.adjustScalarBytes||(w=>w),u=r.domain||((w,v,C)=>{if(Tn(C,"phflag"),v.length||C)throw new Error("Contexts/pre-hash are not supported");return w});function p(w){return s.create(er(w))}function d(w){let v=y.secretKey;w=de("private key",w,v);let C=de("hashed private key",t(w),2*v),S=c(C.slice(0,v)),b=C.slice(v,2*v),N=p(S);return{head:S,prefix:b,scalar:N}}function l(w){let{head:v,prefix:C,scalar:S}=d(w),b=o.multiply(S),N=b.toBytes();return{head:v,prefix:C,scalar:S,point:b,pointBytes:N}}function f(w){return l(w).pointBytes}function h(w=Uint8Array.of(),...v){let C=j(...v);return p(t(u(C,de("context",w),!!n)))}function m(w,v,C={}){w=de("message",w),n&&(w=n(w));let{prefix:S,scalar:b,pointBytes:N}=l(v),F=h(C.context,S,w),B=o.multiply(F).toBytes(),L=h(C.context,B,N,w),A=s.create(F+L*b);if(!s.isValid(A))throw new Error("sign failed: invalid s");let V=j(B,s.toBytes(A));return Er(V,y.signature,"result")}let g={zip215:!0};function _(w,v,C,S=g){let{context:b,zip215:N}=S,F=y.signature;w=de("signature",w,F),v=de("message",v),C=de("publicKey",C,y.publicKey),N!==void 0&&Tn(N,"zip215"),n&&(v=n(v));let B=F/2,L=w.subarray(0,B),A=er(w.subarray(B,F)),V,P,D;try{V=e.fromBytes(C,N),P=e.fromBytes(L,N),D=o.multiplyUnsafe(A)}catch{return!1}if(!N&&V.isSmallOrder())return!1;let U=h(b,P.toBytes(),V.toBytes(),v);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 Er(w,y.seed,"seed")}function E(w){let v=I.randomSecretKey(w);return{secretKey:v,publicKey:f(v)}}function O(w){return Ot(w)&&w.length===s.BYTES}function R(w,v){try{return!!e.fromBytes(w,v)}catch{return!1}}let I={getExtendedPublicKey:l,randomSecretKey:T,isValidSecretKey:O,isValidPublicKey:R,toMontgomery(w){let{y:v}=e.fromBytes(w),C=y.publicKey,S=C===32;if(!S&&C!==57)throw new Error("only defined for 25519 and 448");let b=S?i.div(Re+v,Re-v):i.div(v-Re,v+Re);return i.toBytes(b)},toMontgomerySecret(w){let v=y.secretKey;Er(w,v);let C=t(w.subarray(0,v));return c(C).subarray(0,v)},randomPrivateKey:T,precompute(w=8,v=e.BASE){return v.precompute(w,!1)}};return Object.freeze({keygen:E,getPublicKey:f,sign:m,verify:_,utils:I,Point:e,lengths:y})}function Ch(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=qe(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 Vh(e,t){let r=t.Point;return Object.assign({},t,{ExtendedPoint:r,CURVE:e,nBitLength:r.Fn.BITS,nByteLength:r.Fn.BYTES})}function Bu(e){let{CURVE:t,curveOpts:r,hash:n,eddsaOpts:o}=Ch(e),i=Sh(t,r),s=Fh(i,n,o);return Vh(e,s)}var Ph=BigInt(0),sr=BigInt(1),Du=BigInt(2),hg=BigInt(3),Bh=BigInt(5),Dh=BigInt(8),ro=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffed"),Zo={p:ro,n:BigInt("0x1000000000000000000000000000000014def9dea2f79cd65812631a5cf5d3ed"),h:Dh,a:BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec"),d:BigInt("0x52036cee2b6ffe738cc740797779e89800700a4d4141d8ab75eb4dca135978a3"),Gx:BigInt("0x216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a"),Gy:BigInt("0x6666666666666666666666666666666666666666666666666666666666666658")};function Uh(e){let t=BigInt(10),r=BigInt(20),n=BigInt(40),o=BigInt(80),i=ro,a=e*e%i*e%i,c=Tt(a,Du,i)*a%i,u=Tt(c,sr,i)*e%i,p=Tt(u,Bh,i)*u%i,d=Tt(p,t,i)*p%i,l=Tt(d,r,i)*d%i,f=Tt(l,n,i)*l%i,h=Tt(f,o,i)*f%i,m=Tt(h,o,i)*f%i,g=Tt(m,t,i)*p%i;return{pow_p_5_8:Tt(g,Du,i)*e%i,b2:a}}function kh(e){return e[0]&=248,e[31]&=127,e[31]|=64,e}var ja=BigInt("19681161376707505956807079304988542015446066515923890162744021073123829784752");function $a(e,t){let r=ro,n=ae(t*t*t,r),o=ae(n*n*t,r),i=Uh(e*o).pow_p_5_8,s=ae(e*n*i,r),a=ae(t*s*s,r),c=s,u=ae(s*ja,r),p=a===e,d=a===ae(-e,r),l=a===ae(-e*ja,r);return p&&(s=c),(d||l)&&(s=u),nr(s,r)&&(s=ae(-s,r)),{isValid:p||d,value:s}}var Fr=qe(Zo.p,{isLE:!0}),Lh=qe(Zo.n,{isLE:!0}),qh={...Zo,Fp:Fr,hash:al,adjustScalarBytes:kh,uvRatio:$a},Ke=Bu(qh);var Ka=ja,Mh=BigInt("25063068953384623474111414158702152701244531502492656460079210482610430750235"),jh=BigInt("54469307008909316920995813868745141605393597292927456921205312896311721017578"),Kh=BigInt("1159843021668779879193775521855586647937357759715417654439879720876111806838"),Hh=BigInt("40440834346308536858101042469323190826248399146238708352240133220865137265952"),Uu=e=>$a(sr,e),$h=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"),Ha=e=>Ke.Point.Fp.create(er(e)&$h);function ku(e){let{d:t}=Zo,r=ro,n=_=>Fr.create(_),o=n(Ka*e*e),i=n((o+sr)*Kh),s=BigInt(-1),a=n((s-t*o)*n(o+t)),{isValid:c,value:u}=$a(i,a),p=n(u*e);nr(p,r)||(p=n(-p)),c||(u=p),c||(s=o);let d=n(s*(o-sr)*Hh-a),l=u*u,f=n((u+u)*a),h=n(d*Mh),m=n(sr-l),g=n(sr+l);return new Ke.Point(n(f*g),n(m*h),n(h*g),n(f*m))}function Gh(e){fe(e,64);let t=Ha(e.subarray(0,32)),r=ku(t),n=Ha(e.subarray(32,64)),o=ku(n);return new ar(r.add(o))}var ar=class e extends cs{constructor(t){super(t)}static fromAffine(t){return new e(Ke.Point.fromAffine(t))}assertSame(t){if(!(t instanceof e))throw new Error("RistrettoPoint expected")}init(t){return new e(t)}static hashToCurve(t){return Gh(de("ristrettoHash",t,64))}static fromBytes(t){fe(t,32);let{a:r,d:n}=Zo,o=ro,i=T=>Fr.create(T),s=Ha(t);if(!tu(Fr.toBytes(s),t)||nr(s,o))throw new Error("invalid ristretto255 encoding 1");let a=i(s*s),c=i(sr+r*a),u=i(sr-r*a),p=i(c*c),d=i(u*u),l=i(r*n*p-d),{isValid:f,value:h}=Uu(i(l*d)),m=i(h*u),g=i(h*m*l),_=i((s+s)*m);nr(_,o)&&(_=i(-_));let x=i(c*g),y=i(_*x);if(!f||nr(y,o)||x===Ph)throw new Error("invalid ristretto255 encoding 2");return new e(new Ke.Point(_,x,sr,y))}static fromHex(t){return e.fromBytes(de("ristrettoHex",t,32))}static msm(t,r){return Xn(e,Ke.Point.Fn,t,r)}toBytes(){let{X:t,Y:r,Z:n,T:o}=this.ep,i=ro,s=g=>Fr.create(g),a=s(s(n+r)*s(n-r)),c=s(t*r),u=s(c*c),{value:p}=Uu(s(a*u)),d=s(p*a),l=s(p*c),f=s(d*l*o),h;if(nr(o*f,i)){let g=s(r*Ka),_=s(t*Ka);t=g,r=_,h=s(d*jh)}else h=l;nr(t*f,i)&&(r=s(-r));let m=s((n-r)*h);return nr(m,i)&&(m=s(-m)),Fr.toBytes(m)}equals(t){this.assertSame(t);let{X:r,Y:n}=this.ep,{X:o,Y:i}=t.ep,s=u=>Fr.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)}};ar.BASE=new ar(Ke.Point.BASE);ar.ZERO=new ar(Ke.Point.ZERO);ar.Fp=Fr;ar.Fn=Lh;var Lu,qu,ls=class{static{Lu=Symbol.iterator,qu=Symbol.toStringTag}#e;#t;constructor(t={}){this[Lu]=this.entries.bind(this),this[qu]="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 Mu=e=>{if(e<=127)return 1;if(e<=255)return 2;if(e<=65535)return 3;if(e<=16777215)return 4;throw z.fromCode(new xo("Length too long (> 4 bytes)"))},ju=(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 z.fromCode(new xo("Length too long (> 4 bytes)"))},Ga=(e,t)=>{if(e[t]<128)return 1;if(e[t]===128)throw z.fromCode(new mt("Invalid length 0"));if(e[t]===129)return 2;if(e[t]===130)return 3;if(e[t]===131)return 4;throw z.fromCode(new mt("Length too long (> 4 bytes)"))},Jh=(e,t)=>{let r=Ga(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 z.fromCode(new mt("Length too long (> 4 bytes)"))},Xo=Uint8Array.from([48,12,6,10,43,6,1,4,1,131,184,67,1,1]),An=Uint8Array.from([48,5,6,3,43,101,112]),xg=Uint8Array.from([48,16,6,7,42,134,72,206,61,2,1,6,5,43,129,4,0,10]),bg=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 Sn(e,t){let r=2+Mu(e.byteLength+1),n=t.byteLength+r+e.byteLength,o=0,i=new Uint8Array(1+Mu(n)+n);return i[o++]=48,o+=ju(i,o,n),i.set(t,o),o+=t.byteLength,i[o++]=3,o+=ju(i,o,e.byteLength+1),i[o++]=0,i.set(new Uint8Array(e),o),i}var Fn=(e,t)=>{let r=0,n=(a,c)=>{if(o[r++]!==a)throw z.fromCode(new mt(`Expected ${c} at offset ${r}`))},o=new Uint8Array(e);if(n(48,"sequence"),r+=Ga(o,r),!xn(o.slice(r,r+t.byteLength),t))throw z.fromCode(new mt("Not the expected OID."));r+=t.byteLength,n(3,"bit string");let i=Jh(o,r)-1;r+=Ga(o,r),n(0,"0 padding");let s=o.slice(r);if(i!==s.length)throw z.fromCode(new wi(i,s.length));return s};var us=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 Sn(t,An)}static derDecode(t){let r=Fn(t,An);if(r.length!==this.RAW_KEY_LENGTH)throw z.fromCode(new mt("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 z.fromCode(new mt("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 Ja=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))}},ds=class extends Ja{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 ps=class e{#e;#t;#r;#c;#s;#u;#n;#o;#a=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.#c=i,this.#o=c,this.#s=c.now(),this.#u=s,this.#n=a}get ellapsedTimeInMsec(){return this.#o.now()-this.#s}get currentInterval(){return this.#e}get count(){return this.#a}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.#c),this.#a++,this.#e}next(){return this.ellapsedTimeInMsec>=this.#u||this.#a>=this.#n?null:(this.incrementCurrentInterval(),this.randomValueFromInterval)}};var Ct;(function(e){e.Received="received",e.Processing="processing",e.Replied="replied",e.Rejected="rejected",e.Unknown="unknown",e.Done="done"})(Ct||(Ct={}));var Ya=60*1e3,Wh=1e6,zh=0,Yh="308182301d060d2b0601040182dc7c0503010201060c2b0601040182dc7c05030201036100814c0e6ec71fab583b08bd81373c255c3c371b2e84863c98a4f1e08b74235d14fb5d9c0cd546d9685f913a0c0b2cc5341583bf4b4392e467db96d65b9bb4cb717112f8472e0d5a4d14505ffd7484b01291091c5f87b98883463f98091a0baaae";var Zh="ic0.app",Xh=".ic0.app",Qh="icp0.io",em=".icp0.io",tm="icp-api.io",rm=".icp-api.io",Wa=200,nm=202,om=404;function im(){let e;if(typeof window<"u")if(window.fetch)e=window.fetch.bind(window);else throw Oe.fromCode(new Ln("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 Oe.fromCode(new Ln("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 Oe.fromCode(new Ln("Fetch implementation was not available. Please provide fetch to the HttpAgent constructor, or ensure it is available in the window or global context."))}function sm(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 cr=class e{#e;#t;#r;#c;#s;#u;#n;#o;#a;#x;#i;#d;#p;#l;get#N(){return this.#l*Ya}#f;#h;#m;#_;constructor(t={}){this.#e=null,this.#t=!1,this.#r=zh,this.#c=!1,this.#s=null,this.#u=!1,this._isAgent=!0,this.config={},this.log=new ds,this.#f=[],this.#h=[],this.#m=new ls({expirationTime:5*Ya}),this.#_=!0,this.#w=(o,i)=>{if(this.#_===!1)return o;let{status:s,signatures:a=[],requestId:c}=o;for(let u of a){let{timestamp:p,identity:d}=u,l=M.fromUint8Array(d).toText(),f;if(s===fr.Replied){let{reply:x}=o;f=Fo({status:s,reply:x,timestamp:BigInt(p),request_id:c})}else if(s===fr.Rejected){let{reject_code:x,reject_message:y,error_code:T}=o;f=Fo({status:s,reject_code:x,reject_message:y,error_code:T,timestamp:BigInt(p),request_id:c})}else throw xe.fromCode(new Ue(`Unknown status: ${s}`));let h=j(oa,f),m=i.nodeKeys.get(l);if(!m)throw ne.fromCode(new Ci);let g=us.fromDer(m).rawKey;if(Ke.verify(u.signature,h,g))return o;throw De.fromCode(new Vi(l))}return o},this.config=t,this.#o=t.fetch||im()||fetch.bind(global),this.#a=t.fetchOptions,this.#x=t.callOptions,this.#t=t.shouldFetchRootKey??!1,this.#u=t.shouldSyncTime??!1,t.rootKey?this.rootKey=t.rootKey:this.#t?this.rootKey=null:this.rootKey=Ne(Yh);let r=sm(t.host);this.host=new URL(r),t.verifyQuerySignatures!==void 0&&(this.#_=t.verifyQuerySignatures),this.#d=t.retryTimes??3;let n=()=>new ps({maxIterations:this.#d});if(this.#p=t.backoffStrategy||n,this.host.hostname.endsWith(Xh)?this.host.hostname=Zh:this.host.hostname.endsWith(em)?this.host.hostname=Qh:this.host.hostname.endsWith(rm)&&(this.host.hostname=tm),t.credentials){let{name:o,password:i}=t.credentials;this.#i=`${o}${i?":"+i:""}`}if(this.#n=Promise.resolve(t.identity||new rt),t.ingressExpiryInMinutes&&t.ingressExpiryInMinutes>5)throw z.fromCode(new hn("The maximum ingress expiry time is 5 minutes.",t.ingressExpiryInMinutes));if(t.ingressExpiryInMinutes&&t.ingressExpiryInMinutes<=0)throw z.fromCode(new hn("Ingress expiry time must be greater than 0.",t.ingressExpiryInMinutes));this.#l=t.ingressExpiryInMinutes||5,this.addTransform("update",da(Lo)),t.useQueryNonces&&this.addTransform("query",da(Lo)),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.#g(),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 z.fromCode(new Ai)}}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.#h.findIndex(i=>(i.priority||0)<n);this.#h.splice(o>=0?o:this.#h.length,0,Object.assign(r,{priority:n}))}else if(t==="query"){let o=this.#f.findIndex(i=>(i.priority||0)<n);this.#f.splice(o>=0?o:this.#f.length,0,Object.assign(r,{priority:n}))}}async getPrincipal(){if(!this.#n)throw Oe.fromCode(new xr);return(await this.#n).getPrincipal()}async call(t,r,n){let o=r.callSync??!0,i=await(n??this.#n);if(!i)throw Oe.fromCode(new xr);let s=M.from(t),a=r.effectiveCanisterId?M.from(r.effectiveCanisterId):s;await this.#g(a);let c=i.getPrincipal(),u=za(this.#l,this.#r),p={request_type:Gi.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.#i?{Authorization:"Basic "+btoa(this.#i)}:{}}},endpoint:Qt.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(_){return Object.assign(_,{__nonce__:void 0})}d=await i.transformRequest(d);let h=Uo(d.body),m=this.#p(),g=Zt(p);try{let y=o?()=>(this.log.print(`fetching "/api/v3/canister/${a.toText()}/call" with request:`,d),this.#o(""+new URL(`/api/v3/canister/${a.toText()}/call`,this.host),{...this.#x,...d.request,body:h})):()=>(this.log.print(`fetching "/api/v2/canister/${a.toText()}/call" with request:`,d),this.#o(""+new URL(`/api/v2/canister/${a.toText()}/call`,this.host),{...this.#x,...d.request,body:h})),{responseBodyBytes:T,...E}=await this.#y({requestFn:y,backoff:m,tries:0}),O=T.byteLength>0?Je(T):null;return{requestId:g,response:{...E,body:O},requestDetails:p}}catch(_){let x;if(_ instanceof ht){if(_.hasCode(wo))return this.log.warn("v3 api not supported. Fall back to v2"),this.call(t,{...r,callSync:!1},n);if(_.hasCode(hn)&&!this.#c)return await this.syncTime(s),this.call(s,r,n);_.code.requestContext={requestId:g,senderPubKey:d.body.sender_pubkey,senderSignature:d.body.sender_sig,ingressExpiry:d.body.content.ingress_expiry},x=_}else x=xe.fromCode(new Ue(_));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();if(this.log.print(`fetching "/api/v2/canister/${r.toString()}/query" with tries:`,{tries:a,backoff:s,delay:c}),c===null)throw xe.fromCode(new fn(`Backoff strategy exhausted after ${a} attempts.`,i));c>0&&await new Promise(f=>setTimeout(f,c));let u;try{this.log.print(`fetching "/api/v2/canister/${r.toString()}/query" with request:`,n);let f=await this.#o(""+new URL(`/api/v2/canister/${r.toString()}/query`,this.host),{...this.#a,...n.request,body:o});if(f.status===Wa)u={...Je(Hn(await f.arrayBuffer())),httpDetails:{ok:f.ok,status:f.status,statusText:f.statusText,headers:Wi(f.headers)},requestId:i};else throw ne.fromCode(new bo(f.status,f.statusText,Wi(f.headers),await f.text()))}catch(f){if(a<this.#d)return this.log.warn(`Caught exception while attempting to make query:
|
|
51
51
|
${f}
|
|
52
|
-
Retrying query.`),await this.#b({...t,tries:a+1});throw f instanceof ht?f:go.fromCode(new To(f))}if(!this.#_)return u;let p=u.signatures?.[0]?.timestamp;if(!p)throw ne.fromCode(new Si("Timestamp not found in query response. This suggests a malformed or malicious response."));let d=Number(BigInt(p)/BigInt(
|
|
52
|
+
Retrying query.`),await this.#b({...t,tries:a+1});throw f instanceof ht?f:go.fromCode(new To(f))}if(!this.#_)return u;let p=u.signatures?.[0]?.timestamp;if(!p)throw ne.fromCode(new Si("Timestamp not found in query response. This suggests a malformed or malicious response."));let d=Number(BigInt(p)/BigInt(Wh));if(Date.now()+this.#r-d>this.#N){if(a<this.#d)return this.log.warn("Timestamp is older than the max ingress expiry. Retrying query.",{requestId:i,signatureTimestampMs:d}),await this.#b({...t,tries:a+1});throw De.fromCode(new Oi(this.#l,i,a))}return u}async#y(t){let{requestFn:r,backoff:n,tries:o}=t,i=o===0?0:n.next();if(i===null)throw ne.fromCode(new fn(`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===Wa&&(a=Hn(await s.clone().arrayBuffer()))}catch(p){if(o<this.#d)return this.log.warn(`Caught exception while attempting to make request:
|
|
53
53
|
${p}
|
|
54
|
-
Retrying request.`),await this.#y({requestFn:r,backoff:n,tries:o+1});throw go.fromCode(new To(p))}let c=Wi(s.headers);if(s.status===Wa||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===nm&&s.url.includes("api/v3"))throw ne.fromCode(new wo);if(u.startsWith("Invalid request expiry: "))throw z.fromCode(new hn(u,this.#l));if(o<this.#d)return await this.#y({requestFn:r,backoff:n,tries:o+1});throw ne.fromCode(new bo(s.status,s.statusText,c,u))}async query(t,r,n){let o=this.#p(),i=r.effectiveCanisterId?M.from(r.effectiveCanisterId):M.from(t);await this.#g(i),this.log.print(`ecid ${i.toString()}`),this.log.print(`canisterId ${t.toString()}`);let s,a=await(n??this.#n);if(!a)throw Oe.fromCode(new xr);let c=M.from(t),u=a.getPrincipal(),p=za(this.#l,this.#r),d={request_type:wn.Query,canister_id:c,method_name:r.methodName,arg:r.arg,sender:u,ingress_expiry:p},l=Zt(d);s=await this._transform({request:{method:"POST",headers:{"Content-Type":"application/cbor",...this.#i?{Authorization:"Basic "+btoa(this.#i)}:{}}},endpoint:Qt.Query,body:d}),s=await a.transformRequest(s);let f=Uo(s.body),h={canister:c.toText(),ecid:i,transformedRequest:s,body:f,requestId:l,backoff:o,tries:0},m=async()=>{let _=await this.#b(h);return{requestDetails:d,..._}},g=async()=>{let _=this.#m.get(i.toString());if(_)return _;await this.fetchSubnetKeys(i.toString());let x=this.#m.get(i.toString());if(!x)throw De.fromCode(new Fi);return x};try{if(!this.#_)return await m();let[_,x]=await Promise.all([m(),g()]);try{return this.#w(_,x)}catch{this.log.warn("Query response verification failed. Retrying with fresh subnet keys."),this.#m.delete(i.toString());let y=await g();return this.#w(_,y)}}catch(_){let x;throw _ instanceof ht?(_.code.requestContext={requestId:l,senderPubKey:s.body.sender_pubkey,senderSignature:s.body.sender_sig,ingressExpiry:s.body.content.ingress_expiry},x=_):x=ge.fromCode(new Ue(_)),this.log.error(`Error while making query: ${x.message}`,x),x}}#w;async createReadStateRequest(t,r){await this.#g();let n=await(r??this.#n);if(!n)throw Oe.fromCode(new xr);let o=n.getPrincipal(),i=await this._transform({request:{method:"POST",headers:{"Content-Type":"application/cbor",...this.#i?{Authorization:"Basic "+btoa(this.#i)}:{}}},endpoint:Qt.ReadState,body:{request_type:wn.ReadState,paths:t.paths,sender:o,ingress_expiry:za(this.#l,this.#r)}});return n.transformRequest(i)}async readState(t,r,n,o){await this.#T();let i=M.from(t);function s(p){for(let d of p.paths){let[l,f]=d,h=new TextEncoder().encode("request_status");if(xn(l,h))return f}}let a,c;if(o)a=o,c=Zt(a);else{c=s(r);let p=await this.#n;if(!p)throw Oe.fromCode(new xr);a=await this.createReadStateRequest(r,p)}this.log.print(`fetching "/api/v2/canister/${i}/read_state" with request:`,a);let u=this.#p();try{let{responseBodyBytes:p}=await this.#y({requestFn:()=>this.#o(""+new URL(`/api/v2/canister/${i.toString()}/read_state`,this.host),{...this.#a,...a.request,body:Uo(a.body)}),backoff:u,tries:0}),d=Je(p);return this.log.print("Read state response:",d),d}catch(p){let d;throw p instanceof ht?(p.code.requestContext={requestId:c,senderPubKey:a.body.sender_pubkey,senderSignature:a.body.sender_sig,ingressExpiry:a.body.content.ingress_expiry},d=p):d=ge.fromCode(new Ue(p)),this.log.error(`Error while making read state: ${d.message}`,d),d}}parseTimeFromResponse(t){let r;if(t.certificate){let n=Je(t.certificate);if(n&&"tree"in n)r=n.tree;else throw ne.fromCode(new br("Could not decode time from response"));let o=In(["time"],r);if(o.status!==ze.Found)throw ne.fromCode(new Jt("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 Dn("Time was not in its expected format."));let i=to(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.#s=this.#s??(async()=>{await this.#T();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??M.from("ryjl3-tyaaa-aaaaa-aaaba-cai"),o=e.createSync({identity:new rt,host:this.host.toString(),fetch:this.#o,retryTimes:0,rootKey:this.rootKey??void 0,shouldSyncTime:!1}),s=(await Promise.all(Array(3).fill(null).map(async()=>{let c=(await qa({canisterId:n,agent:o,paths:["time"],disableCertificateTimeVerification:!0})).get("time");if(c instanceof Date)return c.getTime()},[]))).reduce((a,c)=>typeof c=="number"&&c>a?c:a,0);s>0&&(this.#r=s-r,this.#c=!0,this.log.notify({message:`Syncing time: offset of ${this.#r}`,level:"info"}))}catch(n){let o=n instanceof ht?n:ge.fromCode(new Ue(n));throw this.log.error("Caught exception while attempting to sync time",o),o}})(),await this.#s.finally(()=>{this.#s=null})}async status(){let t=this.#i?{Authorization:"Basic "+btoa(this.#i)}:{};this.log.print('fetching "/api/v2/status"');let r=this.#p(),{responseBodyBytes:n}=await this.#y({backoff:r,requestFn:()=>this.#o(""+new URL("/api/v2/status",this.host),{headers:t,...this.#a}),tries:0});return Je(n)}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#g(t){await Promise.all([this.#T(),this.#O(t)])}async#T(){if(!this.rootKey)if(this.rootKey===null&&this.host.toString()!=="https://icp-api.io"&&this.#t)await this.fetchRootKey();else throw Oe.fromCode(new Rt(this.#t))}async#O(t){this.#u&&!this.hasSyncedTime()&&await this.syncTime(t)}invalidateIdentity(){this.#n=null}replaceIdentity(t){this.#n=Promise.resolve(t)}async fetchSubnetKeys(t){let r=M.from(t);await this.#g(r);let o=(await qa({canisterId:r,paths:["subnet"],agent:this})).get("subnet");if(o&&typeof o=="object"&&"nodeKeys"in o)return this.#m.set(r.toText(),o),o}_transform(t){let r=Promise.resolve(t);if(t.endpoint===Qt.Call)for(let n of this.#h)r=r.then(o=>n(o).then(i=>i||o));else for(let n of this.#f)r=r.then(o=>n(o).then(i=>i||o));return r}getTimeDiffMsecs(){return this.#r}hasSyncedTime(){return this.#c}};function za(e,t){let r=e*Ya;return Wn.fromDeltaInMilliseconds(r,t)}var sm=300*1e3;function Ku(){return dm(cm(am(),1e3),um(1e3,1.2),lm(sm))}function am(){let e=!0;return async()=>e?(e=!1,!0):!1}function cm(e,t){return async(r,n,o)=>{if(await e(r,n,o))return new Promise(i=>setTimeout(i,t))}}function lm(e){let t=Date.now()+e;return async(r,n,o)=>{if(Date.now()>t)throw ne.fromCode(new fn(`Request timed out after ${e} msec`,n,o))}}function um(e,t){let r=e;return()=>new Promise(n=>setTimeout(()=>{r*=t,n()},r))}function dm(...e){return async(t,r,n)=>{for(let o of e)await o(t,r,n)}}var $u={preSignReadStateRequest:!1};function Gu(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function Za(e,t){return e!==null&&typeof e=="object"&&Gu(e,t)}function fm(e,t){return Gu(e,t)&&typeof e[t]=="function"}function Hu(e){return Za(e,"body")&&Za(e.body,"content")&&e.body.content.request_type===wn.ReadState&&Za(e.body.content,"ingress_expiry")&&typeof e.body.content.ingress_expiry=="object"&&e.body.content.ingress_expiry!==null&&fm(e.body.content.ingress_expiry,"toHash")}async function Xa(e,t,r,n={}){let o=[ee("request_status"),r],i,s;if(n.preSignReadStateRequest??!1?(s=await hm({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 Oe.fromCode(new Rt);let c=await Ar.create({certificate:i.certificate,rootKey:e.rootKey,canisterId:t,blsVerify:n.blsVerify,agent:e}),u=Ce(c.lookup_path([...o,ee("status")])),p;switch(typeof u>"u"?p=Vt.Unknown:p=new TextDecoder().decode(u),p){case Vt.Replied:return{reply:Ce(c.lookup_path([...o,"reply"])),certificate:c};case Vt.Received:case Vt.Unknown:case Vt.Processing:{let d=n.strategy??Ku();return await d(t,r,p),Xa(e,t,r,{...n,strategy:d,request:s})}case Vt.Rejected:{let d=new Uint8Array(Ce(c.lookup_path([...o,"reject_code"])))[0],l=new TextDecoder().decode(Ce(c.lookup_path([...o,"reject_message"]))),f=Ce(c.lookup_path([...o,"error_code"])),h=f?new TextDecoder().decode(f):void 0;throw yr.fromCode(new kn(r,d,l,h))}case Vt.Done:throw ge.fromCode(new vi(r))}throw wr}async function hm(e){let{paths:t,agent:r,pollingOptions:n}=e;if(n.request&&Hu(n.request))return n.request;let o=await r.createReadStateRequest?.({paths:t},void 0);if(!Hu(o))throw z.fromCode(new Pi(o));return o}var st=Symbol.for("ic-agent-metadata"),oo=class e{static agentOf(t){return t[st].config.agent}static interfaceOf(t){return t[st].service}static canisterIdOf(t){return M.from(t[st].config.canisterId)}static createActorClass(t,r){let n=t({IDL:gn});class o extends e{constructor(s){if(!s.canisterId)throw z.fromCode(new No(s.canisterId));let a=typeof s.canisterId=="string"?M.fromText(s.canisterId):s.canisterId;super({config:{...Ju,...s,canisterId:a},service:n});for(let[c,u]of n._fields)r?.httpDetails&&u.annotations.push(Qa),r?.certificate&&u.annotations.push(Wu),this[c]=_m(this,c,u,s.blsVerify)}}return o}static createActor(t,r){if(!r.canisterId)throw z.fromCode(new No(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[st]=Object.freeze(t)}};function no(e,t){let r=gn.decode(e,t);switch(r.length){case 0:return;case 1:return r[0];default:return r}}var Ju={pollingOptions:$u},Qa="http-details",Wu="certificate";function _m(e,t,r,n){let o;r.annotations.includes("query")||r.annotations.includes("composite_query")?o=async(s,...a)=>{s={...s,...e[st].config.queryTransform?.(t,a,{...e[st].config,...s})};let c=s.agent||e[st].config.agent||new cr,u=M.from(s.canisterId||e[st].config.canisterId),p=gn.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 fr.Rejected:{let f=new Ei(d.requestId,d.reject_code,d.reject_message,d.error_code,d.signatures);throw f.callContext={canisterId:u,methodName:t,httpDetails:l},yr.fromCode(f)}case fr.Replied:return r.annotations.includes(Qa)?{httpDetails:l,result:no(r.retTypes,d.reply.arg)}:no(r.retTypes,d.reply.arg)}}:o=async(s,...a)=>{s={...s,...e[st].config.callTransform?.(t,a,{...e[st].config,...s})};let c=s.agent||e[st].config.agent||cr.createSync(),{canisterId:u,effectiveCanisterId:p,pollingOptions:d}={...Ju,...e[st].config,...s},l=M.from(u),f=p!==void 0?M.from(p):l,h=gn.encode(r.argTypes,a),{requestId:m,response:g,requestDetails:_}=await c.call(l,{methodName:t,arg:h,effectiveCanisterId:f,nonce:s.nonce}),x,y;if(jc(g.body)){if(c.rootKey==null)throw Oe.fromCode(new Rt);let R=g.body.certificate;y=await Ar.create({certificate:R,rootKey:c.rootKey,canisterId:f,blsVerify:n,agent:c});let I=[ee("request_status"),m];switch(new TextDecoder().decode(Ce(y.lookup_path([...I,"status"])))){case"replied":x=Ce(y.lookup_path([...I,"reply"]));break;case"rejected":{let v=new Uint8Array(Ce(y.lookup_path([...I,"reject_code"])))[0],V=new TextDecoder().decode(Ce(y.lookup_path([...I,"reject_message"]))),S=Ce(y.lookup_path([...I,"error_code"])),b=S?new TextDecoder().decode(S):void 0,N=new kn(m,v,V,b);throw N.callContext={canisterId:l,methodName:t,httpDetails:g},yr.fromCode(N)}}}else if(Mc(g.body)){let{reject_code:R,reject_message:I,error_code:w}=g.body,v=new Ri(m,R,I,w);throw v.callContext={canisterId:l,methodName:t,httpDetails:g},yr.fromCode(v)}if(g.status===202){let R={...d,blsVerify:n},I=await Xa(c,f,m,R);y=I.certificate,x=I.reply}let T=r.annotations.includes(Qa),E=r.annotations.includes(Wu),O={...g,requestDetails:_};if(x!==void 0)return T&&E?{httpDetails:O,certificate:y,result:no(r.retTypes,x)}:E?{certificate:y,result:no(r.retTypes,x)}:T?{httpDetails:O,result:no(r.retTypes,x)}:no(r.retTypes,x);{let R=new Ue(`Call was returned undefined. We cannot determine if the call was successful or not. Return types: [${r.retTypes.map(I=>I.display()).join(",")}].`);throw R.callContext={canisterId:l,methodName:t,httpDetails:O},ge.fromCode(R)}};let i=(...s)=>o({},...s);return i.withOptions=s=>(...a)=>o(s,...a),i}var ym=(e=>(e[e.FractionalMoreThan8Decimals=0]="FractionalMoreThan8Decimals",e[e.InvalidFormat=1]="InvalidFormat",e[e.FractionalTooManyDecimals=2]="FractionalTooManyDecimals",e))(ym||{}),Ix=BigInt(1e8);var k=e=>e==null,W=e=>!k(e),ei=e=>W(e)&&e!=="",io=e=>!ei(e);var gm=class extends Error{},ti=(e,t)=>{if(e==null)throw new gm(t)};var lr=e=>new Uint8Array(e),fs=e=>Array.from(e);var Yu=({a:e,b:t})=>e.length===t.length&&e.every((r,n)=>r===t[n]);var zu="abcdefghijklmnopqrstuvwxyz234567",Qo=Object.create(null);for(let e=0;e<zu.length;e++)Qo[zu[e]]=e;Qo[0]=Qo.o;Qo[1]=Qo.i;var Vr=e=>btoa(String.fromCharCode(...new Uint8Array(e))),Zu=e=>Uint8Array.from(atob(e),t=>t.charCodeAt(0)),Ax=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 ec="__bigint__",tc="__principal__",rc="__uint8array__",Xu=(e,t)=>typeof t=="bigint"?{[ec]:`${t}`}:W(t)&&M.isPrincipal(t)?{[tc]:M.from(t).toText()}:W(t)&&t instanceof Uint8Array?{[rc]:Array.from(t)}:t,Qu=(e,t)=>{let r=n=>t[n];return W(t)&&typeof t=="object"&&ec in t?BigInt(r(ec)):W(t)&&typeof t=="object"&&tc in t?M.fromText(r(tc)):W(t)&&typeof t=="object"&&rc in t?Uint8Array.from(r(rc)):t};var ue=e=>W(e)?[e]:[],ye=e=>e?.[0];var xm=({authData:e})=>{if(e.byteLength<37)return{invalidAuthData:null};if(e.byteLength<53)return{invalidAuthData:null};let t=e.slice(37,53),r=bm({bytes:t});return"aaguid"in r?{aaguidBytes:t,aaguidText:r.aaguid}:{unknownProvider:null}},bm=({bytes:e})=>{if(e.length!==16)return{invalidBytes:null};let t=(e instanceof Uint8Array?fs(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 wm(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 Tm(e){return Sn(e,Xo)}var Nm=class{constructor(e){this._cose=e,this.#e=Tm(e)}#e;toDer(){return this.#e}toRaw(){return new Uint8Array(this.#e)}},od=class{#e;#t;constructor({rawId:e,cose:t}){this.#e=e,this.#t=new Nm(t)}getPublicKey(){return this.#t}getCredentialId(){return this.#e}getCredentialIdText(){return Vr(this.#e)}},Om=class extends od{#e;#t;constructor({authData:e,...t}){super(t);let r=xm({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}},Em=class extends od{},Rm=class extends Error{},vm=class extends Error{},Im=class extends Error{},Am=class extends Error{},Sm=class extends Error{},Fm=class extends Error{},Vm=class extends Error{},ed=class extends Error{};var Cm={ECDSA_WITH_SHA256:-7,RSA_WITH_SHA256:-257},Pm=6e4,id=()=>window.crypto.getRandomValues(new Uint8Array(16)),Bm=()=>id(),Dm=()=>id(),Um=()=>{let{location:{href:e}}=window;try{let{hostname:t}=new URL(e);return t}catch{throw new Rm}},sd=({appId:e})=>e?.id??Um(),km=({appId:e,user:t}={})=>{let{document:{title:r}}=window,n=()=>({rp:{name:e?.name??r,id:sd({appId:e})}}),o=()=>({user:{id:Dm(),name:t?.name??t?.displayName??r,displayName:t?.displayName??r}});return{attestation:"direct",challenge:Bm(),...n(),...o(),pubKeyCredParams:Object.values(Cm).map(i=>({type:"public-key",alg:i})),excludeCredentials:[],authenticatorSelection:{authenticatorAttachment:"platform",userVerification:"preferred",residentKey:"required",requireResidentKey:!0}}},Lm=(e={})=>({rpId:sd(e),allowCredentials:[],userVerification:"required"}),nc=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}},Cr=(e=>(e[e.RequestingUserCredential=0]="RequestingUserCredential",e[e.FinalizingCredential=1]="FinalizingCredential",e[e.Signing=2]="Signing",e))(Cr||{}),ad=({timeout:e})=>AbortSignal.timeout(e??Pm),qm=async({challenge:e,credentialIds:t,passkeyOptions:r,timeout:n})=>await navigator.credentials.get({publicKey:{...Lm(r),challenge:e.buffer,allowCredentials:(t??[]).map(o=>({id:o.buffer,type:"public-key"}))},signal:ad({timeout:n})}),td=e=>{if(e.status!=="initialized")throw new vm},rd=e=>{if(k(e))throw new Im},nd=({type:e})=>{if(e!=="public-key")throw new Am},oc=class ri extends Ft{#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=ri.#r({credential:new Om(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:km(t),signal:ad({timeout:r})});rd(o),nd(o);let{response:{attestationObject:i},rawId:s}=o;if(k(i))throw new Sm;let{authData:a}=$i.decode(lr(i)),c=wm(a);return new ri({...n,rawId:lr(s),cose:c,authData:a})}static async createWithExistingCredential(t){return new ri(t)}getPublicKey(){td(this.#t);let{credential:t}=this.#t;return t.getPublicKey()}getCredential(){td(this.#t);let{credential:t}=this.#t;return t}async sign(t){let r=await nc({fn:async()=>{let n=await qm({challenge:t,...this.#t.status==="initialized"&&{credentialIds:[this.#t.credential.getCredentialId()]}});return rd(n),nd(n),n},step:0,onProgress:this.#e});return await nc({fn:async()=>{let{rawId:n}=r;if(this.#t.status==="initialized"){if(!Yu({a:this.#t.credential.getCredentialId(),b:lr(n)}))throw new Fm;return}let{retrievePublicKey:o}=this.#t,i=await o({credentialId:lr(n)});this.#t=ri.#r({credential:new Em({rawId:lr(n),cose:i})})},step:1,onProgress:this.#e}),await nc({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 ed;if(k(s))throw new ed;let a=$i.encode({authenticator_data:i,client_data_json:new TextDecoder().decode(o),signature:lr(s)});if(k(a))throw new Vm;return Object.assign(a,{__signature__:void 0}),a},step:2,onProgress:this.#e})}},Mm=async()=>W(window.PublicKeyCredential)&&"isUserVerifyingPlatformAuthenticatorAvailable"in PublicKeyCredential?await PublicKeyCredential.isUserVerifyingPlatformAuthenticatorAvailable():!1;var so=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 Pe=class e extends so{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 ni=({message:e,detail:t})=>{let r=new CustomEvent(e,{detail:t,bubbles:!0});document.dispatchEvent(r)};var ao="http://127.0.0.1:5987",cd="rdmx6-jaaaa-aaaaa-aaadq-cai";var ld=async({identity:e,container:t})=>{let n=W(t)&&t!==!1?t===!0?ao:t:"https://icp-api.io",o=W(t);return await cr.create({identity:e,shouldFetchRootKey:o,host:n})};var co=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 ld({identity:t,...r});return this.#e={...this.#e??{},[n]:o},o}return this.#e[n]}reset(){this.#e=null}};var lo=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 co.getInstance().getAgent(n);return oo.createActor(t,{agent:o,canisterId:r})}};function ud(e){return e!==null&&typeof e=="object"}var oi=class e{static from(t){if(typeof t=="string"){let r=Ne(t);return this.fromRaw(r)}else if(ud(t)){let r=t;if(ud(r)&&Object.hasOwnProperty.call(r,"__derEncodedPublicKey__"))return this.fromDer(r);if(ArrayBuffer.isView(r)){let n=r;return this.fromRaw(vt(n.buffer))}else{if(r instanceof ArrayBuffer)return this.fromRaw(vt(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=Sn(t,An);return r.__derEncodedPublicKey__=void 0,r}static derDecode(t){let r=Fn(t,An);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}},Nt=class e extends Ft{static generate(t){if(t&&t.length!==32)throw new Error("Ed25519 Seed needs to be 32 bytes long.");t||(t=Ke.utils.randomPrivateKey()),ll(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=Ke.getPublicKey(r);return e.fromKeyPair(n,r)}static fromParsedJson(t){let[r,n]=t;return new e(oi.fromDer(Ne(r)),Ne(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(oi.fromRaw(t),r)}static fromSecretKey(t){let r=Ke.getPublicKey(t);return e.fromKeyPair(r,t)}#e;#t;constructor(t,r){super(),this.#e=oi.from(t),this.#t=r}toJSON(){return[H(this.#e.toDer()),H(this.#t)]}getKeyPair(){return{secretKey:this.#t,publicKey:this.#e}}getPublicKey(){return this.#e}async sign(t){let r=Ke.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=Ne(a)),vt(a)));return Ke.verify(o,i,s)}};var ic=class e extends Error{constructor(t){super(t),this.message=t,Object.setPrototypeOf(this,e.prototype)}};function dd(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 ic("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 Ct=class e extends Ft{static async generate(t){let{extractable:r=!1,keyUsages:n=["sign","verify"],subtleCrypto:o}=t??{},i=dd(o),s=await i.generateKey({name:"ECDSA",namedCurve:"P-256"},r,n),a=vt(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=dd(r),o=vt(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=vt(await this._subtleCrypto.sign(r,this._keyPair.privateKey,t));return Object.assign(n,{__signature__:void 0}),n}};var hs=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 M.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 ms(e){return e instanceof Uint8Array?H(e):H(new Uint8Array(e))}function sc(e){if(typeof e!="string"||e.length<64)throw new Error("Invalid public key.");return Ne(e)}var Pr=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:ms(this.pubkey),...this.targets&&{targets:this.targets.map(t=>t.toHex())}}}};async function jm(e,t,r,n){let o=new Pr(t.toDer(),BigInt(+r)*BigInt(1e6),n),i=new Uint8Array([...ia,...new Uint8Array(Zt({...o}))]),s=await e.sign(i);return{delegation:o,signature:s}}var ur=class e{static async create(t,r,n=new Date(Date.now()+900*1e3),o={}){let i=await jm(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 Pr(sc(c),BigInt("0x"+u),p&&p.map(d=>{if(typeof d!="string")throw new Error("Invalid target.");return M.fromHex(d)})),signature:sc(a)}});return new this(o,sc(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:ms(r.pubkey),...o&&{targets:o.map(i=>i.toHex())}},signature:ms(n)}}),publicKey:ms(this.publicKey)}}},dr=class extends Ft{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 Zt(r);return{...n,body:{content:r,sender_sig:await this.sign(new Uint8Array([...Vo,...new Uint8Array(o)])),sender_delegation:this._delegation.delegations,sender_pubkey:this._delegation.publicKey}}}},ii=class e extends hs{#e;get delegation(){return this.#e}constructor(t,r){super(t),this.#e=r}static fromDelegation(t,r){return new e(t,r)}};function ac(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"?M.fromText(o):o)):r.push(typeof n=="string"?M.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 pd=["mousedown","mousemove","keydown","touchstart","wheel"],si=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),pd.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);pd.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 Km=(e,t)=>t.some(r=>e instanceof r),fd,hd;function Hm(){return fd||(fd=[IDBDatabase,IDBObjectStore,IDBIndex,IDBCursor,IDBTransaction])}function $m(){return hd||(hd=[IDBCursor.prototype.advance,IDBCursor.prototype.continue,IDBCursor.prototype.continuePrimaryKey])}var md=new WeakMap,lc=new WeakMap,_d=new WeakMap,cc=new WeakMap,dc=new WeakMap;function Gm(e){let t=new Promise((r,n)=>{let o=()=>{e.removeEventListener("success",i),e.removeEventListener("error",s)},i=()=>{r(Pt(e.result)),o()},s=()=>{n(e.error),o()};e.addEventListener("success",i),e.addEventListener("error",s)});return t.then(r=>{r instanceof IDBCursor&&md.set(r,e)}).catch(()=>{}),dc.set(t,e),t}function Jm(e){if(lc.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)});lc.set(e,t)}var uc={get(e,t,r){if(e instanceof IDBTransaction){if(t==="done")return lc.get(e);if(t==="objectStoreNames")return e.objectStoreNames||_d.get(e);if(t==="store")return r.objectStoreNames[1]?void 0:r.objectStore(r.objectStoreNames[0])}return Pt(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 yd(e){uc=e(uc)}function Wm(e){return e===IDBDatabase.prototype.transaction&&!("objectStoreNames"in IDBTransaction.prototype)?function(t,...r){let n=e.call(_s(this),t,...r);return _d.set(n,t.sort?t.sort():[t]),Pt(n)}:$m().includes(e)?function(...t){return e.apply(_s(this),t),Pt(md.get(this))}:function(...t){return Pt(e.apply(_s(this),t))}}function zm(e){return typeof e=="function"?Wm(e):(e instanceof IDBTransaction&&Jm(e),Km(e,Hm())?new Proxy(e,uc):e)}function Pt(e){if(e instanceof IDBRequest)return Gm(e);if(cc.has(e))return cc.get(e);let t=zm(e);return t!==e&&(cc.set(e,t),dc.set(t,e)),t}var _s=e=>dc.get(e);function xd(e,t,{blocked:r,upgrade:n,blocking:o,terminated:i}={}){let s=indexedDB.open(e,t),a=Pt(s);return n&&s.addEventListener("upgradeneeded",c=>{n(Pt(s.result),c.oldVersion,c.newVersion,Pt(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 Ym=["get","getKey","getAll","getAllKeys","count"],Zm=["put","add","delete","clear"],pc=new Map;function gd(e,t){if(!(e instanceof IDBDatabase&&!(t in e)&&typeof t=="string"))return;if(pc.get(t))return pc.get(t);let r=t.replace(/FromIndex$/,""),n=t!==r,o=Zm.includes(r);if(!(r in(n?IDBIndex:IDBObjectStore).prototype)||!(o||Ym.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 pc.set(t,i),i}yd(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 bd="auth-client-db",wd="ic-keyval",Xm=async(e=bd,t=wd,r)=>(globalThis.localStorage?.getItem(He)&&(globalThis.localStorage.removeItem(He),globalThis.localStorage.removeItem($e)),await xd(e,r,{upgrade:n=>{n.objectStoreNames.contains(t)&&n.clear(t),n.createObjectStore(t)}}));async function Qm(e,t,r){return await e.get(t,r)}async function e_(e,t,r,n){return await e.put(t,n,r)}async function t_(e,t,r){return await e.delete(t,r)}var ys=class e{constructor(t,r){this._db=t,this._storeName=r}static async create(t){let{dbName:r=bd,storeName:n=wd,version:o=Td}=t??{},i=await Xm(r,n,o);return new e(i,n)}async set(t,r){return await e_(this._db,this._storeName,t,r)}async get(t){return await Qm(this._db,this._storeName,t)??null}async remove(t){return await t_(this._db,this._storeName,t)}};var $e="identity",He="delegation",Nd="iv",Td=1,ai=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}},Bt=class{#e;constructor(t){this.#e=t??{}}initializedDb;get _db(){return new Promise((t,r)=>{if(this.initializedDb){t(this.initializedDb);return}ys.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),n_=BigInt(3600),o_=r_*n_,i_="https://identity.internetcomputer.org",s_="#authorize",a_=BigInt(8)*o_,fc="ECDSA",hc="Ed25519",c_=500,gs="UserInterrupt",ci=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 Bt,n=t.keyType??fc,o=null;if(t.identity)o=t.identity;else{let c=await r.get($e);if(!c)try{let u=new ai,p=await u.get(He),d=await u.get($e);p&&d&&n===fc&&(console.log("Discovered an identity stored in localstorage. Migrating to IndexedDB"),await r.set(He,p),await r.set($e,d),c=p,await u.remove(He),await u.remove($e))}catch(u){console.error(`error while attempting to recover localstorage: ${u}`)}if(c)try{typeof c=="object"?n===hc&&typeof c=="string"?o=Nt.fromJSON(c):o=await Ct.fromKeyPair(c):typeof c=="string"&&(o=Nt.fromJSON(c))}catch{}}let i=new rt,s=null;if(o)try{let c=await r.get(He);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=ur.fromJSON(c),ac(s)?"toDer"in o?i=ii.fromDelegation(o,s):i=dr.fromDelegation(o,s):(await mc(r),o=null))}catch(c){console.error(c),await mc(r),o=null}let a;return t.idleOptions?.disableIdle?a=void 0:(s||t.identity)&&(a=si.create(t.idleOptions)),o||(n===hc?o=Nt.generate():(t.storage&&n===fc&&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 '${hc}' as the key type, as it can serialize to a string`),o=await Ct.generate()),await Od(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 Pr(a.delegation.pubkey,a.delegation.expiration,a.delegation.targets),signature:a.signature})),o=ur.fromDelegations(n,t.userPublicKey),i=this._key;if(!i)return;this._chain=o,"toDer"in i?this._identity=ii.fromDelegation(i,this._chain):this._identity=dr.fromDelegation(i,this._chain),this._idpWindow?.close();let s=this._createOptions?.idleOptions;!this.idleManager&&!s?.disableIdle&&(this.idleManager=si.create(s),this._registerDefaultIdleCallback()),this._removeEventListener(),delete this._idpWindow,this._chain&&await this._storage.set(He,JSON.stringify(this._chain.toJSON())),await Od(this._storage,this._key),r?.(t)}getIdentity(){return this._identity}async isAuthenticated(){return!this.getIdentity().getPrincipal().isAnonymous()&&this._chain!==null&&ac(this._chain)}async login(t){let r=l_(this._createOptions?.loginOptions,t),n=r?.maxTimeToLive??a_,o=new URL(r?.identityProvider?.toString()||i_);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(gs,r?.onError):setTimeout(i,c_))};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 mc(this._storage),this._identity=new rt,this._chain=null,t.returnTo)try{window.history.pushState({},"",t.returnTo)}catch{window.location.href=t.returnTo}}};async function mc(e){await e.remove($e),await e.remove(He),await e.remove(Nd)}function l_(e,t){if(!e&&!t)return;let r=e?.customValues||t?.customValues?{...e?.customValues,...t?.customValues}:void 0;return{...e,...t,customValues:r}}function u_(e){if(e instanceof Ct)return e.getKeyPair();if(e instanceof Nt)return JSON.stringify(e.toJSON());throw new Error("Unsupported key type")}async function Od(e,t){let r=u_(t);await e.set($e,r)}var Be=class e{static#e;#t;constructor(){}static getInstance(){return k(this.#e)&&(this.#e=new e),this.#e}createAuthClient=async()=>(this.#t=await ci.create({idleOptions:{disableIdle:!0,disableDefaultIdleCallback:!0}}),this.#t);safeCreateAuthClient=async()=>(await new Bt().remove($e),await this.createAuthClient());getAuthClient=()=>this.#t;logout=async()=>{await this.#t?.logout(),this.#t=null};setAuthClientStorage=async({delegationChain:t,sessionKey:r})=>{let n=new Bt;await Promise.all([n.set($e,r.getKeyPair()),n.set(He,JSON.stringify(t.toJSON()))])}};var _c=async e=>{await d_(),await Be.getInstance().createAuthClient(),e?.windowReload!==!1&&window.location.reload()},d_=async()=>{await Be.getInstance().logout(),Pe.getInstance().reset(),lo.getInstance().reset(),co.getInstance().reset()};var Ed=e=>{let t=e===!0?"./workers/auth.worker.js":e,r=new Worker(t),n=async()=>{ni({message:"junoSignOutAuthTimer"}),await _c()};return r.onmessage=async({data:o})=>{let{msg:i,data:s}=o;switch(i){case"junoSignOutAuthTimer":await n();return;case"junoDelegationRemainingTime":ni({message:"junoDelegationRemainingTime",detail:s?.authRemainingTime})}},Pe.getInstance().subscribe(o=>{if(k(o)){r.postMessage({msg:"junoStopAuthTimer"});return}r.postMessage({msg:"junoStartAuthTimer"})})};var uo=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&&W(o)&&o.msg==="authClientLoginSuccess"&&ei(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 ve=class e extends so{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 li=async({fn:e,syncTabsOnSuccess:t})=>{let{authenticated:r}=await p_({fn:e});!r||!t||ve.getInstance().get()?.syncTabs===!1||f_()},Rd=async({fn:e})=>{let{createAuthClient:t}=Be.getInstance(),n=await(await t()).isAuthenticated();await e({authenticated:n})},p_=async({fn:e})=>{let{createAuthClient:t,safeCreateAuthClient:r}=Be.getInstance();return await(await t()).isAuthenticated()?(await e(),{authenticated:!0}):(await r(),{authenticated:!1})},f_=()=>{try{uo.getInstance().postLoginSuccess()}catch(e){console.warn("Auth BroadcastChannel posting failed",e)}};var yc=({error:e,type:t})=>typeof e=="string"?e.includes(t):e instanceof Error?e.message.includes(t):!1;var vd="juno.datastore.error.user.cannot_update";var Dt={certified:!1};var xs=()=>Be.getInstance().getAuthClient()?.getIdentity(),h_=async()=>{let{getAuthClient:e,createAuthClient:t}=Be.getInstance();return(e()??await t()).getIdentity()},m_=async()=>{let e=Pe.getInstance().get();if(k(e))return null;let t=Be.getInstance().getAuthClient();return await t?.isAuthenticated()??!1?t?.getIdentity()??null:null};var de=e=>W(e)?e:xs()??new rt;var gc=({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}),m=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}),_=e.Variant({UpdatedAt:e.Null,Keys:e.Null,CreatedAt:e.Null}),x=e.Record({field:_,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)}),I=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:I,expires_at:e.Opt(e.Nat64)}),v=e.Record({version:e.Opt(e.Nat64)}),V=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}),F=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:F,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}),C=e.Record({targets:e.Opt(e.Vec(e.Principal)),max_time_to_live:e.Opt(e.Nat64)}),P=e.Record({delegation:e.Opt(C),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))}),te=e.Record({allowed_callers:e.Vec(e.Principal)}),Q=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(te)}),$=e.Record({stable:e.Opt(e.Nat64),heap:e.Opt(e.Nat64)}),ie=e.Record({updated_at:e.Opt(e.Nat64),created_at:e.Opt(e.Nat64),version:e.Opt(e.Nat64),max_memory_size:e.Opt($)}),pe=e.Variant({Deny:e.Null,AllowAny:e.Null,SameOrigin:e.Null}),Se=e.Variant({Deny:e.Null,Allow:e.Null}),re=e.Record({status_code:e.Nat16,location:e.Text}),ce=e.Record({iframe:e.Opt(pe),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($),raw_access:e.Opt(Se),redirects:e.Opt(e.Vec(e.Tuple(e.Text,re)))}),Dr=e.Record({db:e.Opt(ie),authentication:e.Opt(Q),storage:ce}),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}),Ur=e.Record({pubkey:e.Vec(e.Nat8),targets:e.Opt(e.Vec(e.Principal)),expiration:e.Nat64}),kr=e.Record({signature:e.Vec(e.Nat8),delegation:Ur}),at=e.Variant({JwtFindProvider:u,GetCachedJwks:e.Null,NoSuchDelegation:e.Null,JwtVerify:p,GetOrFetchJwks:d,DeriveSeedFailed:e.Text}),Lr=e.Variant({Ok:kr,Err:at}),qr=e.Variant({Initialized:e.Null,Failed:e.Null,Open:e.Null,Rejected:e.Null,Executed:e.Null,Accepted:e.Null}),Mr=e.Record({clear_existing_assets:e.Opt(e.Bool)}),Lt=e.Record({orbiter:e.Opt(e.Text),mission_control_version:e.Opt(e.Text),satellite_version:e.Opt(e.Text)}),ct=e.Variant({AssetsUpgrade:Mr,SegmentsDeployment:Lt}),Ze=e.Record({status:qr,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:ct}),Xe=e.Variant({Controllers:e.Null,Private:e.Null,Public:e.Null,Managed:e.Null}),lt=e.Record({max_tokens:e.Nat64,time_per_token_ns:e.Nat64}),ut=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(lt),write:Xe,max_changes_per_user:e.Opt(e.Nat32)}),jr=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)}),dt=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}),Kr=e.Variant({Callback:e.Record({token:dt,callback:e.Func([],[],["query"])})}),Hr=e.Record({body:e.Vec(e.Nat8),headers:e.Vec(e.Tuple(e.Text,e.Text)),streaming_strategy:e.Opt(Kr),status_code:e.Nat16}),$r=e.Record({token:e.Opt(dt),body:e.Vec(e.Nat8)}),pt=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}),Gr=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}),Jr=e.Record({updated_at:e.Nat64,created_at:e.Nat64,version:e.Opt(e.Nat64),bn_id:e.Opt(e.Text)}),Wr=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}),zr=e.Record({desc:e.Bool}),Yr=e.Record({start_after:e.Opt(e.Nat),limit:e.Opt(e.Nat)}),Zr=e.Record({order:e.Opt(zr),paginate:e.Opt(Yr)}),Xr=e.Record({proposal_id:e.Nat}),Qr=e.Record({matches_length:e.Nat64,items:e.Vec(e.Tuple(Xr,Ze)),items_length:e.Nat64}),en=e.Record({include_system:e.Bool}),tn=e.Record({matcher:e.Opt(en)}),rn=e.Record({matches_length:e.Nat64,items:e.Vec(e.Tuple(e.Text,ut)),items_length:e.Nat64}),nn=e.Record({stable:e.Nat64,heap:e.Nat64}),qt=e.Record({openid:e.Opt(D),version:e.Opt(e.Nat64),internet_identity:e.Opt(U),rules:e.Opt(te)}),on=e.Record({metadata:e.Vec(e.Tuple(e.Text,e.Text)),scope:I,expires_at:e.Opt(e.Nat64)}),sn=e.Record({controller:on,controllers:e.Vec(e.Principal)}),an=e.Record({version:e.Opt(e.Nat64),max_memory_size:e.Opt($)}),Mt=e.Record({data:e.Vec(e.Nat8),description:e.Opt(e.Text),version:e.Opt(e.Nat64)}),ks=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(lt),write:Xe,max_changes_per_user:e.Opt(e.Nat32)}),Ls=e.Record({iframe:e.Opt(pe),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($),raw_access:e.Opt(Se),redirects:e.Opt(e.Vec(e.Tuple(e.Text,re)))}),fo=e.Record({content:e.Vec(e.Nat8),batch_id:e.Nat,order_id:e.Opt(e.Nat)}),ho=e.Record({chunk_id:e.Nat});return e.Service({authenticate:e.Func([i],[h],[]),commit_asset_upload:e.Func([m],[],[]),commit_proposal:e.Func([g],[e.Null],[]),commit_proposal_asset_upload:e.Func([m],[],[]),commit_proposal_many_assets_upload:e.Func([e.Vec(m)],[],[]),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,v],[],[]),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,v))],[],[]),del_rule:e.Func([V,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(Q)],["query"]),get_config:e.Func([],[Dr],[]),get_db_config:e.Func([],[e.Opt(ie)],["query"]),get_delegation:e.Func([Ye],[Lr],["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(Ze)],["query"]),get_rule:e.Func([V,e.Text],[e.Opt(ut)],["query"]),get_storage_config:e.Func([],[ce],["query"]),http_request:e.Func([jr],[Hr],["query"]),http_request_streaming_callback:e.Func([dt],[$r],["query"]),init_asset_upload:e.Func([pt],[Qe],[]),init_proposal:e.Func([ct],[e.Nat,Ze],[]),init_proposal_asset_upload:e.Func([pt,e.Nat],[Qe],[]),init_proposal_many_assets_upload:e.Func([e.Vec(pt),e.Nat],[e.Vec(e.Tuple(e.Text,Qe))],[]),list_assets:e.Func([e.Text,O],[Gr],["query"]),list_controllers:e.Func([],[e.Vec(e.Tuple(e.Principal,w))],["query"]),list_custom_domains:e.Func([],[e.Vec(e.Tuple(e.Text,Jr))],["query"]),list_docs:e.Func([e.Text,O],[Wr],["query"]),list_proposals:e.Func([Zr],[Qr],["query"]),list_rules:e.Func([V,tn],[rn],["query"]),memory_size:e.Func([],[nn],["query"]),reject_proposal:e.Func([g],[e.Null],[]),set_auth_config:e.Func([qt],[Q],[]),set_controllers:e.Func([sn],[e.Vec(e.Tuple(e.Principal,w))],[]),set_custom_domain:e.Func([e.Text,e.Opt(e.Text)],[],[]),set_db_config:e.Func([an],[ie],[]),set_doc:e.Func([e.Text,e.Text,Mt],[s],[]),set_many_docs:e.Func([e.Vec(e.Tuple(e.Text,e.Text,Mt))],[e.Vec(e.Tuple(e.Text,s))],[]),set_rule:e.Func([V,e.Text,ks],[ut],[]),set_storage_config:e.Func([Ls],[ce],[]),submit_proposal:e.Func([e.Nat],[e.Nat,Ze],[]),switch_storage_system_memory:e.Func([],[],[]),upload_asset_chunk:e.Func([fo],[ho],[]),upload_proposal_asset_chunk:e.Func([fo],[ho],[])})},xc=({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}),m=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}),_=e.Variant({UpdatedAt:e.Null,Keys:e.Null,CreatedAt:e.Null}),x=e.Record({field:_,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)}),I=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:I,expires_at:e.Opt(e.Nat64)}),v=e.Record({version:e.Opt(e.Nat64)}),V=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}),F=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:F,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}),C=e.Record({targets:e.Opt(e.Vec(e.Principal)),max_time_to_live:e.Opt(e.Nat64)}),P=e.Record({delegation:e.Opt(C),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))}),te=e.Record({allowed_callers:e.Vec(e.Principal)}),Q=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(te)}),$=e.Record({stable:e.Opt(e.Nat64),heap:e.Opt(e.Nat64)}),ie=e.Record({updated_at:e.Opt(e.Nat64),created_at:e.Opt(e.Nat64),version:e.Opt(e.Nat64),max_memory_size:e.Opt($)}),pe=e.Variant({Deny:e.Null,AllowAny:e.Null,SameOrigin:e.Null}),Se=e.Variant({Deny:e.Null,Allow:e.Null}),re=e.Record({status_code:e.Nat16,location:e.Text}),ce=e.Record({iframe:e.Opt(pe),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($),raw_access:e.Opt(Se),redirects:e.Opt(e.Vec(e.Tuple(e.Text,re)))}),Dr=e.Record({db:e.Opt(ie),authentication:e.Opt(Q),storage:ce}),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}),Ur=e.Record({pubkey:e.Vec(e.Nat8),targets:e.Opt(e.Vec(e.Principal)),expiration:e.Nat64}),kr=e.Record({signature:e.Vec(e.Nat8),delegation:Ur}),at=e.Variant({JwtFindProvider:u,GetCachedJwks:e.Null,NoSuchDelegation:e.Null,JwtVerify:p,GetOrFetchJwks:d,DeriveSeedFailed:e.Text}),Lr=e.Variant({Ok:kr,Err:at}),qr=e.Variant({Initialized:e.Null,Failed:e.Null,Open:e.Null,Rejected:e.Null,Executed:e.Null,Accepted:e.Null}),Mr=e.Record({clear_existing_assets:e.Opt(e.Bool)}),Lt=e.Record({orbiter:e.Opt(e.Text),mission_control_version:e.Opt(e.Text),satellite_version:e.Opt(e.Text)}),ct=e.Variant({AssetsUpgrade:Mr,SegmentsDeployment:Lt}),Ze=e.Record({status:qr,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:ct}),Xe=e.Variant({Controllers:e.Null,Private:e.Null,Public:e.Null,Managed:e.Null}),lt=e.Record({max_tokens:e.Nat64,time_per_token_ns:e.Nat64}),ut=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(lt),write:Xe,max_changes_per_user:e.Opt(e.Nat32)}),jr=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)}),dt=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}),Kr=e.Variant({Callback:e.Record({token:dt,callback:e.Func([],[],[])})}),Hr=e.Record({body:e.Vec(e.Nat8),headers:e.Vec(e.Tuple(e.Text,e.Text)),streaming_strategy:e.Opt(Kr),status_code:e.Nat16}),$r=e.Record({token:e.Opt(dt),body:e.Vec(e.Nat8)}),pt=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}),Gr=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}),Jr=e.Record({updated_at:e.Nat64,created_at:e.Nat64,version:e.Opt(e.Nat64),bn_id:e.Opt(e.Text)}),Wr=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}),zr=e.Record({desc:e.Bool}),Yr=e.Record({start_after:e.Opt(e.Nat),limit:e.Opt(e.Nat)}),Zr=e.Record({order:e.Opt(zr),paginate:e.Opt(Yr)}),Xr=e.Record({proposal_id:e.Nat}),Qr=e.Record({matches_length:e.Nat64,items:e.Vec(e.Tuple(Xr,Ze)),items_length:e.Nat64}),en=e.Record({include_system:e.Bool}),tn=e.Record({matcher:e.Opt(en)}),rn=e.Record({matches_length:e.Nat64,items:e.Vec(e.Tuple(e.Text,ut)),items_length:e.Nat64}),nn=e.Record({stable:e.Nat64,heap:e.Nat64}),qt=e.Record({openid:e.Opt(D),version:e.Opt(e.Nat64),internet_identity:e.Opt(U),rules:e.Opt(te)}),on=e.Record({metadata:e.Vec(e.Tuple(e.Text,e.Text)),scope:I,expires_at:e.Opt(e.Nat64)}),sn=e.Record({controller:on,controllers:e.Vec(e.Principal)}),an=e.Record({version:e.Opt(e.Nat64),max_memory_size:e.Opt($)}),Mt=e.Record({data:e.Vec(e.Nat8),description:e.Opt(e.Text),version:e.Opt(e.Nat64)}),ks=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(lt),write:Xe,max_changes_per_user:e.Opt(e.Nat32)}),Ls=e.Record({iframe:e.Opt(pe),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($),raw_access:e.Opt(Se),redirects:e.Opt(e.Vec(e.Tuple(e.Text,re)))}),fo=e.Record({content:e.Vec(e.Nat8),batch_id:e.Nat,order_id:e.Opt(e.Nat)}),ho=e.Record({chunk_id:e.Nat});return e.Service({authenticate:e.Func([i],[h],[]),commit_asset_upload:e.Func([m],[],[]),commit_proposal:e.Func([g],[e.Null],[]),commit_proposal_asset_upload:e.Func([m],[],[]),commit_proposal_many_assets_upload:e.Func([e.Vec(m)],[],[]),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,v],[],[]),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,v))],[],[]),del_rule:e.Func([V,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(Q)],[]),get_config:e.Func([],[Dr],[]),get_db_config:e.Func([],[e.Opt(ie)],[]),get_delegation:e.Func([Ye],[Lr],[]),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(Ze)],[]),get_rule:e.Func([V,e.Text],[e.Opt(ut)],[]),get_storage_config:e.Func([],[ce],[]),http_request:e.Func([jr],[Hr],[]),http_request_streaming_callback:e.Func([dt],[$r],[]),init_asset_upload:e.Func([pt],[Qe],[]),init_proposal:e.Func([ct],[e.Nat,Ze],[]),init_proposal_asset_upload:e.Func([pt,e.Nat],[Qe],[]),init_proposal_many_assets_upload:e.Func([e.Vec(pt),e.Nat],[e.Vec(e.Tuple(e.Text,Qe))],[]),list_assets:e.Func([e.Text,O],[Gr],[]),list_controllers:e.Func([],[e.Vec(e.Tuple(e.Principal,w))],[]),list_custom_domains:e.Func([],[e.Vec(e.Tuple(e.Text,Jr))],[]),list_docs:e.Func([e.Text,O],[Wr],[]),list_proposals:e.Func([Zr],[Qr],[]),list_rules:e.Func([V,tn],[rn],[]),memory_size:e.Func([],[nn],[]),reject_proposal:e.Func([g],[e.Null],[]),set_auth_config:e.Func([qt],[Q],[]),set_controllers:e.Func([sn],[e.Vec(e.Tuple(e.Principal,w))],[]),set_custom_domain:e.Func([e.Text,e.Opt(e.Text)],[],[]),set_db_config:e.Func([an],[ie],[]),set_doc:e.Func([e.Text,e.Text,Mt],[s],[]),set_many_docs:e.Func([e.Vec(e.Tuple(e.Text,e.Text,Mt))],[e.Vec(e.Tuple(e.Text,s))],[]),set_rule:e.Func([V,e.Text,ks],[ut],[]),set_storage_config:e.Func([Ls],[ce],[]),submit_proposal:e.Func([e.Nat],[e.Nat,Ze],[]),switch_storage_system_memory:e.Func([],[],[]),upload_asset_chunk:e.Func([fo],[ho],[]),upload_proposal_asset_chunk:e.Func([fo],[ho],[])})},__=({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,mission_control: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}),m=e.Variant({JwtFindProvider:l,GetCachedJwks:e.Null,JwtVerify:f,GetOrFetchJwks:h,DeriveSeedFailed:e.Text}),g=e.Variant({PrepareDelegation:m,RegisterUser:e.Text}),_=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}),I=e.Record({controllers:e.Vec(e.Principal)}),w=e.Record({proposal_ids:e.Vec(e.Nat)}),v=e.Record({targets:e.Opt(e.Vec(e.Principal)),max_time_to_live:e.Opt(e.Nat64)}),V=e.Record({delegation:e.Opt(v),client_id:e.Text}),S=e.Record({observatory_id:e.Opt(e.Principal),providers:e.Vec(e.Tuple(s,V))}),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)}),F=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}),L=e.Record({stable:e.Opt(e.Nat64),heap:e.Opt(e.Nat64)}),A=e.Variant({Deny:e.Null,Allow:e.Null}),C=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(L),raw_access:e.Opt(A),redirects:e.Opt(e.Vec(e.Tuple(e.Text,C)))}),D=e.Record({authentication:e.Opt(F),storage:P}),U=e.Record({user:e.Principal}),te=e.Record({jwt:e.Text,session_key:e.Vec(e.Nat8),salt:e.Vec(e.Nat8),expiration:e.Nat64}),Q=e.Variant({OpenId:te}),$=e.Record({pubkey:e.Vec(e.Nat8),targets:e.Opt(e.Vec(e.Principal)),expiration:e.Nat64}),ie=e.Record({signature:e.Vec(e.Nat8),delegation:$}),pe=e.Variant({JwtFindProvider:l,GetCachedJwks:e.Null,NoSuchDelegation:e.Null,JwtVerify:f,GetOrFetchJwks:h,DeriveSeedFailed:e.Text}),Se=e.Variant({Ok:ie,Err:pe}),re=e.Variant({Initialized:e.Null,Failed:e.Null,Open:e.Null,Rejected:e.Null,Executed:e.Null,Accepted:e.Null}),ce=e.Record({clear_existing_assets:e.Opt(e.Bool)}),Dr=e.Record({orbiter:e.Opt(e.Text),mission_control_version:e.Opt(e.Text),satellite_version:e.Opt(e.Text)}),kt=e.Variant({AssetsUpgrade:ce,SegmentsDeployment:Dr}),Ye=e.Record({status:re,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}),Ur=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)}),kr=e.Variant({Heap:e.Null,Stable:e.Null}),at=e.Record({memory:kr,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}),Lr=e.Variant({Callback:e.Record({token:at,callback:e.Func([],[],["query"])})}),qr=e.Record({body:e.Vec(e.Nat8),headers:e.Vec(e.Tuple(e.Text,e.Text)),streaming_strategy:e.Opt(Lr),status_code:e.Nat16}),Mr=e.Record({token:e.Opt(at),body:e.Vec(e.Nat8)}),Lt=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}),ct=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}),lt=e.Variant({Equal:e.Nat64,Between:e.Tuple(e.Nat64,e.Nat64),GreaterThan:e.Nat64,LessThan:e.Nat64}),ut=e.Record({key:e.Opt(e.Text),updated_at:e.Opt(lt),description:e.Opt(e.Text),created_at:e.Opt(lt)}),jr=e.Record({start_after:e.Opt(e.Text),limit:e.Opt(e.Nat64)}),dt=e.Record({order:e.Opt(Xe),owner:e.Opt(e.Principal),matcher:e.Opt(ut),paginate:e.Opt(jr)}),Kr=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}),Hr=e.Record({modified:e.Nat64,sha256:e.Vec(e.Nat8),total_length:e.Nat}),$r=e.Record({key:Kr,updated_at:e.Nat64,encodings:e.Vec(e.Tuple(e.Text,Hr)),headers:e.Vec(e.Tuple(e.Text,e.Text)),created_at:e.Nat64,version:e.Opt(e.Nat64)}),pt=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,$r)),items_length:e.Nat64}),Qe=e.Variant({Write:e.Null,Admin:e.Null,Submit:e.Null}),Gr=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)}),Jr=e.Record({updated_at:e.Nat64,created_at:e.Nat64,version:e.Opt(e.Nat64),bn_id:e.Opt(e.Text)}),Wr=e.Variant({Refunded:e.Null,Acknowledged:e.Null,Completed:e.Null}),zr=e.Record({status:Wr,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)}),Yr=e.Record({desc:e.Bool}),Zr=e.Record({start_after:e.Opt(e.Nat),limit:e.Opt(e.Nat)}),Xr=e.Record({order:e.Opt(Yr),paginate:e.Opt(Zr)}),Qr=e.Record({proposal_id:e.Nat}),en=e.Record({matches_length:e.Nat64,items:e.Vec(e.Tuple(Qr,Ye)),items_length:e.Nat64}),tn=e.Record({openid:e.Opt(S),version:e.Opt(e.Nat64),internet_identity:e.Opt(b),rules:e.Opt(N)}),rn=e.Record({metadata:e.Vec(e.Tuple(e.Text,e.Text)),scope:Qe,expires_at:e.Opt(e.Nat64)}),nn=e.Record({controller:rn,controllers:e.Vec(e.Principal)}),qt=e.Variant({Orbiter:e.Null,MissionControl:e.Null,Satellite:e.Null}),on=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(L),raw_access:e.Opt(A),redirects:e.Opt(e.Vec(e.Tuple(e.Text,C)))}),sn=e.Record({max_tokens:e.Nat64,time_per_token_ns:e.Nat64}),an=e.Record({content:e.Vec(e.Nat8),batch_id:e.Nat,order_id:e.Opt(e.Nat)}),Mt=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],[_],[]),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([I],[],[]),del_custom_domain:e.Func([e.Text],[],[]),delete_proposal_assets:e.Func([w],[],[]),get_auth_config:e.Func([],[e.Opt(F)],["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([Q],[Se],["query"]),get_proposal:e.Func([e.Nat],[e.Opt(Ye)],["query"]),get_storage_config:e.Func([],[P],["query"]),get_user_mission_control_center:e.Func([],[e.Opt(p)],["query"]),http_request:e.Func([Ur],[qr],["query"]),http_request_streaming_callback:e.Func([at],[Mr],["query"]),init_proposal:e.Func([kt],[e.Nat,Ye],[]),init_proposal_asset_upload:e.Func([Lt,e.Nat],[ct],[]),init_proposal_many_assets_upload:e.Func([e.Vec(Lt),e.Nat],[e.Vec(e.Tuple(e.Text,ct))],[]),init_user_mission_control_center:e.Func([],[p],[]),list_assets:e.Func([e.Text,dt],[pt],["query"]),list_controllers:e.Func([],[e.Vec(e.Tuple(e.Principal,Gr))],["query"]),list_custom_domains:e.Func([],[e.Vec(e.Tuple(e.Text,Jr))],["query"]),list_payments:e.Func([],[e.Vec(e.Tuple(e.Nat64,zr))],["query"]),list_proposals:e.Func([Xr],[en],["query"]),list_user_mission_control_centers:e.Func([],[e.Vec(e.Tuple(e.Principal,p))],["query"]),reject_proposal:e.Func([x],[e.Null],[]),set_auth_config:e.Func([tn],[F],[]),set_controllers:e.Func([nn],[],[]),set_custom_domain:e.Func([e.Text,e.Opt(e.Text)],[],[]),set_fee:e.Func([qt,t],[],[]),set_storage_config:e.Func([on],[P],[]),submit_proposal:e.Func([e.Nat],[e.Nat,Ye],[]),update_rate_config:e.Func([qt,sn],[],[]),upload_proposal_asset_chunk:e.Func([an],[Mt],[])})},y_=({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,mission_control: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}),m=e.Variant({JwtFindProvider:l,GetCachedJwks:e.Null,JwtVerify:f,GetOrFetchJwks:h,DeriveSeedFailed:e.Text}),g=e.Variant({PrepareDelegation:m,RegisterUser:e.Text}),_=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}),I=e.Record({controllers:e.Vec(e.Principal)}),w=e.Record({proposal_ids:e.Vec(e.Nat)}),v=e.Record({targets:e.Opt(e.Vec(e.Principal)),max_time_to_live:e.Opt(e.Nat64)}),V=e.Record({delegation:e.Opt(v),client_id:e.Text}),S=e.Record({observatory_id:e.Opt(e.Principal),providers:e.Vec(e.Tuple(s,V))}),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)}),F=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}),L=e.Record({stable:e.Opt(e.Nat64),heap:e.Opt(e.Nat64)}),A=e.Variant({Deny:e.Null,Allow:e.Null}),C=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(L),raw_access:e.Opt(A),redirects:e.Opt(e.Vec(e.Tuple(e.Text,C)))}),D=e.Record({authentication:e.Opt(F),storage:P}),U=e.Record({user:e.Principal}),te=e.Record({jwt:e.Text,session_key:e.Vec(e.Nat8),salt:e.Vec(e.Nat8),expiration:e.Nat64}),Q=e.Variant({OpenId:te}),$=e.Record({pubkey:e.Vec(e.Nat8),targets:e.Opt(e.Vec(e.Principal)),expiration:e.Nat64}),ie=e.Record({signature:e.Vec(e.Nat8),delegation:$}),pe=e.Variant({JwtFindProvider:l,GetCachedJwks:e.Null,NoSuchDelegation:e.Null,JwtVerify:f,GetOrFetchJwks:h,DeriveSeedFailed:e.Text}),Se=e.Variant({Ok:ie,Err:pe}),re=e.Variant({Initialized:e.Null,Failed:e.Null,Open:e.Null,Rejected:e.Null,Executed:e.Null,Accepted:e.Null}),ce=e.Record({clear_existing_assets:e.Opt(e.Bool)}),Dr=e.Record({orbiter:e.Opt(e.Text),mission_control_version:e.Opt(e.Text),satellite_version:e.Opt(e.Text)}),kt=e.Variant({AssetsUpgrade:ce,SegmentsDeployment:Dr}),Ye=e.Record({status:re,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}),Ur=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)}),kr=e.Variant({Heap:e.Null,Stable:e.Null}),at=e.Record({memory:kr,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}),Lr=e.Variant({Callback:e.Record({token:at,callback:e.Func([],[],[])})}),qr=e.Record({body:e.Vec(e.Nat8),headers:e.Vec(e.Tuple(e.Text,e.Text)),streaming_strategy:e.Opt(Lr),status_code:e.Nat16}),Mr=e.Record({token:e.Opt(at),body:e.Vec(e.Nat8)}),Lt=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}),ct=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}),lt=e.Variant({Equal:e.Nat64,Between:e.Tuple(e.Nat64,e.Nat64),GreaterThan:e.Nat64,LessThan:e.Nat64}),ut=e.Record({key:e.Opt(e.Text),updated_at:e.Opt(lt),description:e.Opt(e.Text),created_at:e.Opt(lt)}),jr=e.Record({start_after:e.Opt(e.Text),limit:e.Opt(e.Nat64)}),dt=e.Record({order:e.Opt(Xe),owner:e.Opt(e.Principal),matcher:e.Opt(ut),paginate:e.Opt(jr)}),Kr=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}),Hr=e.Record({modified:e.Nat64,sha256:e.Vec(e.Nat8),total_length:e.Nat}),$r=e.Record({key:Kr,updated_at:e.Nat64,encodings:e.Vec(e.Tuple(e.Text,Hr)),headers:e.Vec(e.Tuple(e.Text,e.Text)),created_at:e.Nat64,version:e.Opt(e.Nat64)}),pt=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,$r)),items_length:e.Nat64}),Qe=e.Variant({Write:e.Null,Admin:e.Null,Submit:e.Null}),Gr=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)}),Jr=e.Record({updated_at:e.Nat64,created_at:e.Nat64,version:e.Opt(e.Nat64),bn_id:e.Opt(e.Text)}),Wr=e.Variant({Refunded:e.Null,Acknowledged:e.Null,Completed:e.Null}),zr=e.Record({status:Wr,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)}),Yr=e.Record({desc:e.Bool}),Zr=e.Record({start_after:e.Opt(e.Nat),limit:e.Opt(e.Nat)}),Xr=e.Record({order:e.Opt(Yr),paginate:e.Opt(Zr)}),Qr=e.Record({proposal_id:e.Nat}),en=e.Record({matches_length:e.Nat64,items:e.Vec(e.Tuple(Qr,Ye)),items_length:e.Nat64}),tn=e.Record({openid:e.Opt(S),version:e.Opt(e.Nat64),internet_identity:e.Opt(b),rules:e.Opt(N)}),rn=e.Record({metadata:e.Vec(e.Tuple(e.Text,e.Text)),scope:Qe,expires_at:e.Opt(e.Nat64)}),nn=e.Record({controller:rn,controllers:e.Vec(e.Principal)}),qt=e.Variant({Orbiter:e.Null,MissionControl:e.Null,Satellite:e.Null}),on=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(L),raw_access:e.Opt(A),redirects:e.Opt(e.Vec(e.Tuple(e.Text,C)))}),sn=e.Record({max_tokens:e.Nat64,time_per_token_ns:e.Nat64}),an=e.Record({content:e.Vec(e.Nat8),batch_id:e.Nat,order_id:e.Opt(e.Nat)}),Mt=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],[_],[]),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([I],[],[]),del_custom_domain:e.Func([e.Text],[],[]),delete_proposal_assets:e.Func([w],[],[]),get_auth_config:e.Func([],[e.Opt(F)],[]),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([Q],[Se],[]),get_proposal:e.Func([e.Nat],[e.Opt(Ye)],[]),get_storage_config:e.Func([],[P],[]),get_user_mission_control_center:e.Func([],[e.Opt(p)],[]),http_request:e.Func([Ur],[qr],[]),http_request_streaming_callback:e.Func([at],[Mr],[]),init_proposal:e.Func([kt],[e.Nat,Ye],[]),init_proposal_asset_upload:e.Func([Lt,e.Nat],[ct],[]),init_proposal_many_assets_upload:e.Func([e.Vec(Lt),e.Nat],[e.Vec(e.Tuple(e.Text,ct))],[]),init_user_mission_control_center:e.Func([],[p],[]),list_assets:e.Func([e.Text,dt],[pt],[]),list_controllers:e.Func([],[e.Vec(e.Tuple(e.Principal,Gr))],[]),list_custom_domains:e.Func([],[e.Vec(e.Tuple(e.Text,Jr))],[]),list_payments:e.Func([],[e.Vec(e.Tuple(e.Nat64,zr))],[]),list_proposals:e.Func([Xr],[en],[]),list_user_mission_control_centers:e.Func([],[e.Vec(e.Tuple(e.Principal,p))],[]),reject_proposal:e.Func([x],[e.Null],[]),set_auth_config:e.Func([tn],[F],[]),set_controllers:e.Func([nn],[],[]),set_custom_domain:e.Func([e.Text,e.Opt(e.Text)],[],[]),set_fee:e.Func([qt,t],[],[]),set_storage_config:e.Func([on],[P],[]),submit_proposal:e.Func([e.Nat],[e.Nat,Ye],[]),update_rate_config:e.Func([qt,sn],[],[]),upload_proposal_asset_chunk:e.Func([an],[Mt],[])})};var g_=async({identity:e,host:t,localActor:r})=>await cr.create({identity:e,host:t,retryTimes:10,shouldFetchRootKey:r}),x_=async({agent:e,...t})=>e??await b_(t),b_=async({identity:e,container:t})=>{let r=W(t)&&t!==!1;return await g_({identity:e,host:r?t===!0?"http://127.0.0.1:5987":t:"https://icp-api.io",localActor:r})};var Id=({satelliteId:e,certified:t=!1,...r})=>Sd({canisterId:e,...r,idlFactory:t?xc:gc});var Ad=({consoleId:e,certified:t=!1,...r})=>Sd({canisterId:e,...r,idlFactory:t?y_:__}),Sd=({canisterId:e,idlFactory:t,...r})=>{if(k(e))throw new Error("No canister ID provided.");return w_({canisterId:e,idlFactory:t,...r})},w_=async({canisterId:e,idlFactory:t,config:r,...n})=>{let o=await x_(n);return oo.createActor(t,{agent:o,canisterId:e,...r??{}})};var Fd=({satelliteId:e,container:t})=>{let{satelliteId:r}=bc({satelliteId:e}),{container:n}=wc({container:t});if(W(n)&&n!==!1){let{host:o,protocol:i}=new URL(n===!0?ao:n);return`${i}//${r??"unknown"}.${o.replace("127.0.0.1","localhost")}`}return`https://${r??"unknown"}.icp0.io`},bc=({satelliteId:e})=>W(e)?{satelliteId:e}:ve.getInstance().get()??{satelliteId:void 0},wc=({container:e})=>W(e)?{container:e}:ve.getInstance().get()??{container:void 0};var Te=({satellite:e,options:{certified:t}})=>Cd({idlFactory:t?xc:gc,actorKey:`stock#${t?"update":"query"}`,...e}),Vd=({idlFactory:e,...t})=>Cd({idlFactory:e,actorKey:"extended#query",...t}),Cd=async({satelliteId:e,container:t,...r})=>{let{satelliteId:n}=bc({satelliteId:e});ti(n,"No satellite ID defined. Did you initialize Juno?");let{container:o}=wc({container:t});return await lo.getInstance().getActor({satelliteId:n,container:o,...r})};var bs=class extends Error{},pr=class extends Error{},ws=class extends Error{},Ts=class extends Error{},Ns=class extends Error{},Os=class extends Error{},Es=class extends Error{},Rs=class extends Error{},vs=class extends Error{};var Pd=e=>{if(k(e))return ue();switch(e.matcher){case"equal":return ue({Equal:e.timestamp});case"greaterThan":return ue({GreaterThan:e.timestamp});case"lessThan":return ue({LessThan:e.timestamp});case"between":return ue({Between:[e.timestamps.start,e.timestamps.end]});default:throw new vs("Invalid list matcher for timestamp",e)}},Br=({matcher:e,paginate:t,order:r,owner:n})=>({matcher:k(e)?[]:[{key:ue(e.key),description:ue(e.description),created_at:Pd(e.createdAt),updated_at:Pd(e.updatedAt)}],paginate:ue(k(t)?void 0:{start_after:ue(t.startAfter),limit:ue(k(t.limit)?void 0:BigInt(t.limit))}),order:ue(k(r)?void 0:{desc:r.desc,field:r.field==="created_at"?{CreatedAt:null}:r.field==="updated_at"?{UpdatedAt:null}:{Keys:null}}),owner:ue(k(n)?void 0:typeof n=="string"?M.fromText(n):n)});var Bd=async e=>{let t=new Blob([JSON.stringify(e,Xu)],{type:"application/json; charset=utf-8"});return new Uint8Array(await t.arrayBuffer())},Is=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(),Qu)},As=()=>typeof window<"u";var Dd=async({data:e})=>{try{return await Is(e)}catch(t){console.error("The data parsing has failed, mapping to undefined as a fallback.",t);return}};var Tc=async e=>{let{data:t,version:r,description:n}=e;return{description:ue(n),data:await Bd(t),version:ue(r)}},Nc=e=>{let{version:t}=e;return{version:ue(t)}},Vn=async({doc:e,key:t})=>{let{owner:r,version:n,description:o,data:i,...s}=e;return{key:t,description:ye(o),owner:r.toText(),data:await Is(i),version:ye(n),...s}};var Ud=async({collection:e,key:t,...r})=>{let{get_doc:n}=await Te(r),o=ye(await n(e,t));if(!k(o))return Vn({doc:o,key:t})},kd=async({docs:e,...t})=>{let{get_many_docs:r}=await Te(t),n=e.map(({collection:s,key:a})=>[s,a]),o=await r(n),i=[];for(let[s,a]of o){let c=ye(a);i.push(W(c)?await Vn({key:s,doc:c}):void 0)}return i},Ld=async({collection:e,doc:t,...r})=>{let{set_doc:n}=await Te(r),{key:o}=t,i=await Tc(t),s=await n(e,o,i);return await Vn({key:o,doc:s})},qd=async({docs:e,...t})=>{let{set_many_docs:r}=await Te(t),n=[];for(let{collection:s,doc:a}of e){let{key:c}=a;n.push([s,c,await Tc(a)])}let o=await r(n),i=[];for(let[s,a]of o)i.push(await Vn({key:s,doc:a}));return i},Md=async({collection:e,doc:t,...r})=>{let{del_doc:n}=await Te(r),{key:o}=t;return n(e,o,Nc(t))},jd=async({docs:e,...t})=>{let{del_many_docs:r}=await Te(t),n=e.map(({collection:o,doc:i})=>[o,i.key,Nc(i)]);await r(n)},Kd=async({collection:e,filter:t,...r})=>{let{del_filtered_docs:n}=await Te(r);return n(e,Br(t))},Hd=async({collection:e,filter:t,...r})=>{let{list_docs:n}=await Te(r),{items:o,items_page:i,items_length:s,matches_length:a,matches_pages:c}=await n(e,Br(t)),u=[];for(let[p,d]of o){let{data:l,owner:f,description:h,version:m,...g}=d;u.push({key:p,description:ye(h),owner:f.toText(),data:await Dd({data:l}),version:ye(m),...g})}return{items:u,items_length:s,items_page:ye(i),matches_length:a,matches_pages:ye(c)}},$d=async({collection:e,filter:t,...r})=>{let{count_docs:n}=await Te(r);return n(e,Br(t))};var Ss=async({satellite:e,options:t,...r})=>{let n=de(e?.identity);return await Ud({...r,satellite:{...e,identity:n},options:t??Dt})},fT=async({satellite:e,options:t,...r})=>{let n=de(e?.identity);return await kd({...r,satellite:{...e,identity:n},options:t??Dt})},Gd=async({satellite:e,...t})=>{let r=de(e?.identity);return await Ld({...t,satellite:{...e,identity:r},options:{certified:!0}})},Jd=async({satellite:e,...t})=>{let r=de(e?.identity);return await qd({...t,satellite:{...e,identity:r},options:{certified:!0}})},hT=async({satellite:e,...t})=>{let r=de(e?.identity);return await Md({...t,satellite:{...e,identity:r},options:{certified:!0}})},mT=async({satellite:e,...t})=>{let r=de(e?.identity);return await jd({...t,satellite:{...e,identity:r},options:{certified:!0}})},_T=async({satellite:e,filter:t,...r})=>{let n=de(e?.identity);return await Kd({...r,filter:t??{},satellite:{...e,identity:n},options:{certified:!0}})},yT=async({satellite:e,options:t,filter:r,...n})=>{let o=de(e?.identity);return await Hd({...n,filter:r??{},satellite:{...e,identity:o},options:t??Dt})},gT=async({satellite:e,options:t,filter:r,...n})=>{let o=de(e?.identity);return await $d({...n,filter:r??{},satellite:{...e,identity:o},options:t??Dt})};var Wd=async({provider:e})=>{let{user:t,userId:r}=await Fs();if(W(t))return t;try{return await T_({userId:r,provider:e})}catch(n){if(yc({error:n,type:vd})){let o=await zd({userId:r});if(W(o))return o}throw n}},Fs=async()=>{let e=xs();if(k(e))throw new Rs("No identity to initialize the user. Have you initialized Juno?");let t=e.getPrincipal().toText(),r=await zd({userId:t});return{userId:t,user:r}},zd=({userId:e})=>Ss({collection:"#user",key:e}),T_=({userId:e,...t})=>Gd({collection:"#user",doc:{key:e,data:t}});var Vs=async({syncTabsOnSuccess:e}={syncTabsOnSuccess:!1})=>{await li({fn:async()=>{let{user:r}=await Fs();Pe.getInstance().set(r??null)},syncTabsOnSuccess:e})},Yd=async()=>{await Rd({fn:async({authenticated:t})=>{let n=t?Fs:()=>Promise.resolve({user:null}),{user:o}=await n();Pe.getInstance().set(o??null)}})},Cs=async({user:e})=>{await li({fn:async()=>{Pe.getInstance().set(e)},syncTabsOnSuccess:!0})};var Zd=()=>{try{let e=uo.getInstance(),t=async()=>{await Yd(),ni({message:"junoSignInReload"})};return e.onLoginSuccess(t),()=>{e?.destroy()}}catch(e){console.warn("Auth BroadcastChannel initialization failed",e);return}};var Xd=()=>{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()},Qd=()=>{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()},ep=()=>{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 tp=BigInt(144e11),rp=!1,np={width:576,height:576},op={width:424,height:576};var ui="internetcomputer.org",ip="ic0.app",sp="id.ai";var ap=({width:e,height:t})=>{if(!As()||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 Ut=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 cp=(r=>(r[r.AuthorizingWithProvider=0]="AuthorizingWithProvider",r[r.CreatingOrRetrievingUser=1]="CreatingOrRetrievingUser",r))(cp||{});var Ps=class{async signIn({options:t,authClient:r,initAuth:n}){await Ut({fn:async()=>await this.#e({options:t,authClient:r}),step:0,onProgress:t?.onProgress}),await Ut({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 pr("No client is ready to perform a sign-in. Have you initialized the Satellite?"));return}await r.login({onSuccess:n,onError:i=>{if(i===gs){o(new ws(i));return}o(new bs(i))},maxTimeToLive:t?.maxTimeToLiveInNanoseconds??tp,allowPinAuthentication:t?.allowPin??rp,...t?.derivationOrigin!==void 0&&{derivationOrigin:t.derivationOrigin},...this.signInOptions({windowed:t?.windowed})})})}};var Bs=class extends Ps{#e;constructor({domain:t}){super(),this.#e=t}get id(){return"internet_identity"}signInOptions({windowed:t}){let n=(()=>{let i=ve.getInstance().get()?.container;if(k(i)||i===!1){let p=[ui,ip].includes(this.#e??ui);return io(this.#e)?`https://identity.${ui}`:p?`https://identity.${this.#e??ui}`:`https://${this.#e}`}let s=ve.getInstance().get(),a=W(s)&&W(s?.internetIdentityId)?s.internetIdentityId:cd,{host:c,protocol:u}=new URL(i===!0?ao:i);return/apple/i.test(navigator?.vendor)?`${u}//${c}?canisterId=${a}`:`${u}//${a}.${c.replace("127.0.0.1","localhost")}`})();return{...t!==!1&&{windowOpenerFeatures:ap((()=>{try{let{hostname:i}=new URL(n);return i.includes(sp)}catch{return!1}})()?op:np)},identityProvider:n}}};var Oc=class extends Error{},Ec=class extends Error{},Rc=class extends Error{},vc=class extends Error{},Ic=class extends Error{},Ac=class extends Error{},Sc=class extends Error{},Fc=class extends Error{},Vc=class extends Error{},Cc=class extends Error{};var lp=({auth:e,identity:t})=>"satellite"in e?Id({...e.satellite,identity:t}):Ad({...e.console,identity:t}),N_=async({actorParams:e,args:t})=>{let{authenticate:r}=await lp(e);return await r(t)},O_=async({actorParams:e,args:t})=>{let{get_delegation:r}=await lp(e);return await r(t)},E_=({delegations:e,sessionKey:t})=>{let[r,n]=e,o=ur.fromDelegations(n,Uint8Array.from(r));return{identity:dr.fromDelegation(t,o),delegationChain:o,sessionKey:t}},Pc=async({jwt:e,context:t,auth:r})=>{let n=await Ct.generate({extractable:!1}),o=new Uint8Array(n.getPublicKey().toDer()),{delegations:i,data:s}=await R_({jwt:e,publicKey:o,context:t,auth:r});return{identity:E_({sessionKey:n,delegations:i}),data:s}},R_=async({jwt:e,publicKey:t,context:{caller:r,salt:n},auth:o})=>{let i=await N_({args:{OpenId:{jwt:e,session_key:t,salt:n}},actorParams:{auth:o,identity:r}});if("Err"in i)throw new Ic("Authentication failed",{cause:i});let{delegation:{user_key:s,expiration:a},...c}=i.Ok,u=await v_({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 Pr(Uint8Array.from(l),f,ye(h)),signature:Uint8Array.from(d)}]],data:c}},v_=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 O_({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 Vc("Getting delegation failed",{cause:c})}return c.Ok}throw new Cc};var Bc="juno:auth:openid",Dc={authUrl:"https://accounts.google.com/o/oauth2/v2/auth",authScopes:["openid","profile","email"],configUrl:"https://accounts.google.com/gsi/fedcm.json"};var up=e=>Vr(e).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,""),I_=()=>window.crypto.getRandomValues(new Uint8Array(32)),A_=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 up(lr(o))},S_=async({caller:e})=>{let t=I_();return{nonce:await A_({salt:t,caller:e}),salt:t}},dp="__caller__",pp="__salt__",fp="__state__",F_=({caller:e,state:t,salt:r})=>{let n={[dp]:e.toJSON(),[pp]:Vr(r),[fp]:t};return JSON.stringify(n)},V_=e=>{let{[dp]:t,[pp]:r,[fp]:n}=JSON.parse(e);return{caller:Nt.fromParsedJson(t),salt:Zu(r),state:n}},C_=()=>up(window.crypto.getRandomValues(new Uint8Array(12))),hp=async()=>{let e=Nt.generate(),{nonce:t,salt:r}=await S_({caller:e}),n=C_(),o=F_({caller:e,salt:r,state:n});return sessionStorage.setItem(Bc,o),{nonce:t,state:n}},mp=()=>{let e=sessionStorage.getItem(Bc);if(k(e))throw new Ec;return V_(e)};var Uc=async e=>{let t=mp();if("credentials"in e){let{credentials:{jwt:r},auth:n}=e;return await Pc({jwt:r,context:t,auth:n})}return await P_({...e,context:t})},P_=async({auth:e,context:t})=>{let{location:{hash:r}}=window;if(io(r)||!r.startsWith("#"))throw new Ac("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(io(s)||o!==s)throw new Sc("The provided state is invalid",{cause:o});if(io(i))throw new Fc;return await Pc({jwt:i,auth:e,context:t})};var _p=({authUrl:e,clientId:t,nonce:r,loginHint:n,authScopes:o,state:i,redirectUrl:s})=>{let a=(()=>{try{return new URL(e)}catch{throw new Oc("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),ei(n)?a.searchParams.set("login_hint",n):a.searchParams.set("prompt","select_account"),window.location.href=a.toString()},yp=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 Rc;let{type:s}=i;if(s!=="identity"||!("token"in i)||typeof i.token!="string")throw new vc("Invalid credential received from FedCM API",{cause:i});let{token:a}=i;return{jwt:a}};async function kc({google:e}){let t=await hp();if("credentials"in e){let{credentials:i}=e,{configUrl:s}=Dc;return await yp({...i,...t,configUrl:s})}let{redirect:r}=e,{authUrl:n,authScopes:o}=Dc;_p({...r,...t,authUrl:n,authScopes:o})}var B_=async()=>{let{satelliteId:e}=ve.getInstance().get()??{satelliteId:void 0};if(k(e))throw new pr("Satellite ID not set. Have you initialized the Satellite?");let t=ve.getInstance().get()?.container,{identity:{delegationChain:r,sessionKey:n,identity:o},data:{doc:i}}=await Uc({redirect:null,auth:{satellite:{satelliteId:e,container:t}}});await Be.getInstance().setAuthClientStorage({delegationChain:r,sessionKey:n});let s=await Vn({doc:i,key:o.getPrincipal().toText()});await Cs({user:s})};var gp=e=>(e.preventDefault(),e.returnValue="Are you sure you want to exit?"),D_=()=>{window.addEventListener("beforeunload",gp,{capture:!0})},U_=()=>{window.removeEventListener("beforeunload",gp,{capture:!0})},Ds=async({fn:e})=>{try{return D_(),await e()}finally{U_()}};var Us=class{async signIn({options:t={}}){let r=t?.redirect?.clientId??ep();if(k(r))throw new Ns;let{redirect:n}=t;await kc({google:{redirect:{...n??{},clientId:r}}})}};var xp=async({delegationIdentity:e,passkeyIdentity:t,satelliteId:r})=>{let n=t.getCredential().getAAGUID(),[o,i]=await Jd({docs:[{collection:"#user",doc:{key:e.getPrincipal().toText(),data:{provider:"webauthn",providerData:{webauthn:{...W(n)&&{aaguid:fs(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||{}),wp=(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))(wp||{});var po=class{async signUp({options:{onProgress:t,maxTimeToLiveInMilliseconds:r,passkey:n}={},loadAuthWithUser:o}){let{satelliteId:i}=ve.getInstance().get()??{satelliteId:void 0};if(k(i))throw new pr("Satellite ID not set. Have you initialized the Satellite?");let s=({step:m,state:g})=>{switch(m){case Cr.RequestingUserCredential:t?.({step:1,state:g});break;case Cr.FinalizingCredential:t?.({step:2,state:g});break;case Cr.Signing:t?.({step:3,state:g});break}},c=await Ut({fn:async()=>await oc.createWithNewCredential({onProgress:s,passkeyOptions:n}),step:0,onProgress:t}),{delegationIdentity:u,sessionKey:p}=await this.#e({identity:c,maxTimeToLiveInMilliseconds:r}),l=await Ut({fn:async()=>await xp({delegationIdentity:u,passkeyIdentity:c,satelliteId:i}),step:5,onProgress:t});await Ut({fn:async()=>await this.#t({delegationIdentity:u,sessionKey:p}),step:4,onProgress:t}),await Ut({fn:async()=>await o({user:l}),step:5,onProgress:t})}async signIn({options:{onProgress:t,maxTimeToLiveInMilliseconds:r}={},loadAuth:n}){let{satelliteId:o}=ve.getInstance().get()??{satelliteId:void 0};if(k(o))throw new pr("Satellite ID not set. Have you initialized the Satellite?");let i=async({credentialId:d})=>{let l=await Ss({collection:"#user-webauthn",key:Vr(d),options:{certified:!0},satellite:{identity:new rt,satelliteId:o}});if(k(l))throw new Os("No public key found for the selected passkey.");let{data:f}=l,{publicKey:h}=f;return Fn(h,Xo)},s=({step:d,state:l})=>{switch(d){case Cr.RequestingUserCredential:t?.({step:0,state:l});break;case Cr.FinalizingCredential:t?.({step:1,state:l});break;case Cr.Signing:t?.({step:2,state:l});break}},a=await oc.createWithExistingCredential({retrievePublicKey:i,onProgress:s}),{delegationIdentity:c,sessionKey:u}=await this.#e({identity:a,maxTimeToLiveInMilliseconds:r});await Ut({fn:async()=>await this.#t({delegationIdentity:c,sessionKey:u}),step:3,onProgress:t}),await Ut({fn:n,step:4,onProgress:t})}async#e({identity:t,maxTimeToLiveInMilliseconds:r}){let n=await Ct.generate({extractable:!1}),o=r??144e5,i=await ur.create(t,n.getPublicKey(),new Date(Date.now()+o));return{delegationIdentity:dr.fromDelegation(n,i),sessionKey:n}}async#t({sessionKey:t,delegationIdentity:r}){let n=new Bt;await Promise.all([n.set($e,t.getKeyPair()),n.set(He,JSON.stringify(r.getDelegation().toJSON()))])}};var L_=async({provider:e})=>{await li({fn:async()=>{let r=await Wd({provider:e});Pe.getInstance().set(r)},syncTabsOnSuccess:!0})},q_=async e=>{if("google"in e){let{google:{options:t}}=e;await Lc({fn:()=>new Us().signIn({options:t}),context:{windowGuard:!1}});return}if("webauthn"in e){let{webauthn:{options:t,context:r}}=e;await Lc({fn:()=>new po().signIn({options:t,loadAuth:()=>Vs({syncTabsOnSuccess:!0})}),context:r});return}if("internet_identity"in e){let{internet_identity:{options:t,context:r}}=e,{domain:n,...o}=t??{};await Lc({fn:()=>new Bs({domain:n}).signIn({options:o,authClient:Be.getInstance().getAuthClient(),initAuth:L_}),context:r});return}throw new Ts("An unknown or unsupported provider was provided for sign-in.")},Lc=async({fn:e,context:t})=>{if(t?.windowGuard===!1){await e();return}await Ds({fn:e})};var M_=async e=>{let t=async()=>await j_(e);if(Object.values(e)?.[0].context?.windowGuard===!1){await t();return}await Ds({fn:t})},j_=async e=>{if("webauthn"in e){let{webauthn:{options:t}}=e;await new po().signUp({options:t,loadAuthWithUser:Cs});return}throw new Es("An unknown or unsupported provider was provided for sign-up.")};var MO=e=>e?.data?.provider==="webauthn",jO=e=>e?.data?.provider==="google";var GO=async({idlFactory:e,satellite:t})=>{let r=de(t?.identity);return await Vd({idlFactory:e,...t,identity:r})};var Tp=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(K_(r));o?.onInitiatedBatch();let{chunkIds:u}=await G_({data:e,uploadFn:s,batchId:c});o?.onUploadedFileChunks(r.fullPath),await $_({commitFn:a,batchId:c,data:e,headers:t,chunkIds:u}),o?.onCommittedBatch()};var K_=({filename:e,collection:t,token:r,fullPath:n,encoding:o,description:i})=>({collection:t,full_path:n,name:e,token:ue(r),encoding_type:ue(o),description:ue(i)}),H_=({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??[]]}},$_=async({commitFn:e,...t})=>{let r=H_(t);await e(r)},G_=async({data:e,uploadFn:t,batchId:r})=>{let n=[],o=As()?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 J_({uploadChunks:n}))s=[...s,...a];return{chunkIds:s}};async function*J_({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=>W_(o)))}}var W_=async({batchId:e,chunk:t,uploadFn:r,orderId:n})=>r({batch_id:e,content:new Uint8Array(await t.arrayBuffer()),order_id:ue(n)});var Np=async({asset:e,...t})=>{let r=await Te(t);await Tp({actor:r,asset:e})},Op=async({collection:e,filter:t,...r})=>{let{list_assets:n}=await Te(r),{items:o,items_length:i,items_page:s,matches_length:a,matches_pages:c}=await n(e,Br(t));return{items:o.map(([u,p])=>p),items_length:i,items_page:ye(s),matches_length:a,matches_pages:ye(c)}},Ep=async({collection:e,filter:t,...r})=>{let{count_assets:n}=await Te(r);return n(e,Br(t))},Rp=async({collection:e,fullPath:t,...r})=>(await Te(r)).del_asset(e,t),vp=async({assets:e,satellite:t})=>{let{del_many_assets:r}=await Te({satellite:t,options:{certified:!0}}),n=e.map(({collection:o,fullPath:i})=>[o,i]);await r(n)},Ip=async({collection:e,filter:t,...r})=>{let{del_filtered_assets:n}=await Te(r);return n(e,Br(t))},Ap=async({collection:e,fullPath:t,...r})=>{let{get_asset:n}=await Te(r);return ye(await n(e,t))},Sp=async({assets:e,...t})=>{let{get_many_assets:r}=await Te(t),n=e.map(({collection:i,fullPath:s})=>[i,s]);return(await r(n)).map(([i,s])=>ye(s))};var Fp=e=>btoa([...e].map(t=>String.fromCharCode(t)).join(""));var l6=e=>Vp(e),u6=e=>Vp({filename:e.data.name,...e}),Vp=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 Np({asset:{data:t,filename:p,collection:r,token:i,headers:n,fullPath:d,encoding:a,description:c},satellite:l,options:{certified:!0}}),{downloadUrl:Cp({satellite:l,assetKey:{fullPath:d,token:i}}),fullPath:d,name:p}},d6=async({collection:e,filter:t,satellite:r,options:n})=>{let o={...r,identity:de(r?.identity)},{items:i,...s}=await Op({collection:e,filter:t??{},satellite:o,options:n??Dt}),a=i.map(({key:{full_path:c,token:u,name:p,owner:d,description:l},headers:f,encodings:h,created_at:m,updated_at:g})=>{let _=ye(u);return{fullPath:c,description:ye(l),name:p,downloadUrl:Cp({satellite:o,assetKey:{fullPath:c,token:_}}),token:_,headers:f,encodings:h.reduce((x,[y,{modified:T,sha256:E,total_length:O}])=>({...x,[y]:{modified:T,sha256:Fp(E),total_length:O}}),{}),owner:d.toText(),created_at:m,updated_at:g}});return{items:a,assets:a,...s}},p6=async({collection:e,filter:t,satellite:r,options:n})=>{let o={...r,identity:de(r?.identity)};return await Ep({collection:e,satellite:o,filter:t??{},options:n??Dt})},f6=({collection:e,fullPath:t,satellite:r})=>Rp({collection:e,fullPath:t,satellite:{...r,identity:de(r?.identity)},options:{certified:!0}}),h6=({assets:e,satellite:t})=>vp({assets:e,satellite:{...t,identity:de(t?.identity)},options:{certified:!0}}),m6=async({collection:e,satellite:t,filter:r})=>{let n={...t,identity:de(t?.identity)};return await Ip({collection:e,satellite:n,filter:r??{},options:{certified:!0}})},_6=async({satellite:e,options:t,...r})=>{let n=de(e?.identity);return await Ap({...r,satellite:{...e,identity:n},options:t??Dt})},y6=async({satellite:e,options:t,...r})=>{let n=de(e?.identity);return await Sp({...r,satellite:{...e,identity:n},options:t??Dt})},Cp=({assetKey:{fullPath:e,token:t},satellite:r})=>{let n={...r,identity:de(r?.identity)};return`${Fd(n)}${e}${W(t)?`?token=${t}`:""}`};var z_=e=>{let t=e?.satelliteId??Xd();ti(t,"Satellite ID is not configured. Juno cannot be initialized.");let r=e?.container??Qd();return{satelliteId:t,internetIdentityId:e?.internetIdentityId,workers:e?.workers,syncTabs:e?.syncTabs,container:r}},v6=e=>Y_(e),Y_=async e=>{let t=z_(e);ve.getInstance().set(t),await Vs();let r=t.workers?.auth!==void 0?Ed(t.workers.auth):void 0,n=t.syncTabs===!1?void 0:Zd();return[...W(r)?[r]:[],...W(n)?[n]:[]]},Z_=e=>Pe.getInstance().subscribe(e),I6=Z_;export{cp as AuthClientSignInProgressStep,Rs as InitError,Bs as InternetIdentityProvider,vs as ListError,bs as SignInError,pr as SignInInitError,Ns as SignInMissingClientIdError,Ts as SignInProviderNotSupportedError,ws as SignInUserInterruptError,Es as SignUpProviderNotSupportedError,bp as WebAuthnSignInProgressStep,Os as WebAuthnSignInRetrievePublicKeyError,wp as WebAuthnSignUpProgressStep,I6 as authSubscribe,p6 as countAssets,gT as countDocs,f6 as deleteAsset,hT as deleteDoc,m6 as deleteFilteredAssets,_T as deleteFilteredDocs,h6 as deleteManyAssets,mT as deleteManyDocs,Cp as downloadUrl,_6 as getAsset,Ss as getDoc,m_ as getIdentityOnce,y6 as getManyAssets,fT as getManyDocs,GO as getSatelliteExtendedActor,B_ as handleRedirectCallback,v6 as initJuno,Y_ as initSatellite,jO as isGoogleUser,Mm as isWebAuthnAvailable,MO as isWebAuthnUser,d6 as listAssets,yT as listDocs,Z_ as onAuthStateChange,Gd as setDoc,Jd as setManyDocs,q_ as signIn,_c as signOut,M_ as signUp,h_ as unsafeIdentity,l6 as uploadBlob,u6 as uploadFile};
|
|
54
|
+
Retrying request.`),await this.#y({requestFn:r,backoff:n,tries:o+1});throw go.fromCode(new To(p))}let c=Wi(s.headers);if(s.status===Wa||s.status===nm)return{ok:s.ok,status:s.status,statusText:s.statusText,responseBodyBytes:a,headers:c};let u=await s.text();if(s.status===om&&s.url.includes("api/v3"))throw ne.fromCode(new wo);if(u.startsWith("Invalid request expiry: "))throw z.fromCode(new hn(u,this.#l));if(o<this.#d)return await this.#y({requestFn:r,backoff:n,tries:o+1});throw ne.fromCode(new bo(s.status,s.statusText,c,u))}async query(t,r,n){let o=this.#p(),i=r.effectiveCanisterId?M.from(r.effectiveCanisterId):M.from(t);await this.#g(i),this.log.print(`ecid ${i.toString()}`),this.log.print(`canisterId ${t.toString()}`);let s,a=await(n??this.#n);if(!a)throw Oe.fromCode(new xr);let c=M.from(t),u=a.getPrincipal(),p=za(this.#l,this.#r),d={request_type:wn.Query,canister_id:c,method_name:r.methodName,arg:r.arg,sender:u,ingress_expiry:p},l=Zt(d);s=await this._transform({request:{method:"POST",headers:{"Content-Type":"application/cbor",...this.#i?{Authorization:"Basic "+btoa(this.#i)}:{}}},endpoint:Qt.Query,body:d}),s=await a.transformRequest(s);let f=Uo(s.body),h={canister:c.toText(),ecid:i,transformedRequest:s,body:f,requestId:l,backoff:o,tries:0},m=async()=>{let _=await this.#b(h);return{requestDetails:d,..._}},g=async()=>{let _=this.#m.get(i.toString());if(_)return _;await this.fetchSubnetKeys(i.toString());let x=this.#m.get(i.toString());if(!x)throw De.fromCode(new Fi);return x};try{if(!this.#_)return await m();let[_,x]=await Promise.all([m(),g()]);try{return this.#w(_,x)}catch{this.log.warn("Query response verification failed. Retrying with fresh subnet keys."),this.#m.delete(i.toString());let y=await g();return this.#w(_,y)}}catch(_){let x;throw _ instanceof ht?(_.code.requestContext={requestId:l,senderPubKey:s.body.sender_pubkey,senderSignature:s.body.sender_sig,ingressExpiry:s.body.content.ingress_expiry},x=_):x=xe.fromCode(new Ue(_)),this.log.error(`Error while making query: ${x.message}`,x),x}}#w;async createReadStateRequest(t,r){await this.#g();let n=await(r??this.#n);if(!n)throw Oe.fromCode(new xr);let o=n.getPrincipal(),i=await this._transform({request:{method:"POST",headers:{"Content-Type":"application/cbor",...this.#i?{Authorization:"Basic "+btoa(this.#i)}:{}}},endpoint:Qt.ReadState,body:{request_type:wn.ReadState,paths:t.paths,sender:o,ingress_expiry:za(this.#l,this.#r)}});return n.transformRequest(i)}async readState(t,r,n,o){await this.#T();let i=M.from(t);function s(p){for(let d of p.paths){let[l,f]=d,h=new TextEncoder().encode("request_status");if(xn(l,h))return f}}let a,c;if(o)a=o,c=Zt(a);else{c=s(r);let p=await this.#n;if(!p)throw Oe.fromCode(new xr);a=await this.createReadStateRequest(r,p)}this.log.print(`fetching "/api/v2/canister/${i}/read_state" with request:`,a);let u=this.#p();try{let{responseBodyBytes:p}=await this.#y({requestFn:()=>this.#o(""+new URL(`/api/v2/canister/${i.toString()}/read_state`,this.host),{...this.#a,...a.request,body:Uo(a.body)}),backoff:u,tries:0}),d=Je(p);return this.log.print("Read state response:",d),d}catch(p){let d;throw p instanceof ht?(p.code.requestContext={requestId:c,senderPubKey:a.body.sender_pubkey,senderSignature:a.body.sender_sig,ingressExpiry:a.body.content.ingress_expiry},d=p):d=xe.fromCode(new Ue(p)),this.log.error(`Error while making read state: ${d.message}`,d),d}}parseTimeFromResponse(t){let r;if(t.certificate){let n=Je(t.certificate);if(n&&"tree"in n)r=n.tree;else throw ne.fromCode(new br("Could not decode time from response"));let o=In(["time"],r);if(o.status!==ze.Found)throw ne.fromCode(new Jt("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 Dn("Time was not in its expected format."));let i=to(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.#s=this.#s??(async()=>{await this.#T();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??M.from("ryjl3-tyaaa-aaaaa-aaaba-cai"),o=e.createSync({identity:new rt,host:this.host.toString(),fetch:this.#o,retryTimes:0,rootKey:this.rootKey??void 0,shouldSyncTime:!1}),s=(await Promise.all(Array(3).fill(null).map(async()=>{let c=(await qa({canisterId:n,agent:o,paths:["time"],disableCertificateTimeVerification:!0})).get("time");if(c instanceof Date)return c.getTime()},[]))).reduce((a,c)=>typeof c=="number"&&c>a?c:a,0);s>0&&(this.#r=s-r,this.#c=!0,this.log.notify({message:`Syncing time: offset of ${this.#r}`,level:"info"}))}catch(n){let o=n instanceof ht?n:xe.fromCode(new Ue(n));throw this.log.error("Caught exception while attempting to sync time",o),o}})(),await this.#s.finally(()=>{this.#s=null})}async status(){let t=this.#i?{Authorization:"Basic "+btoa(this.#i)}:{};this.log.print('fetching "/api/v2/status"');let r=this.#p(),{responseBodyBytes:n}=await this.#y({backoff:r,requestFn:()=>this.#o(""+new URL("/api/v2/status",this.host),{headers:t,...this.#a}),tries:0});return Je(n)}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#g(t){await Promise.all([this.#T(),this.#O(t)])}async#T(){if(!this.rootKey)if(this.rootKey===null&&this.host.toString()!=="https://icp-api.io"&&this.#t)await this.fetchRootKey();else throw Oe.fromCode(new Rt(this.#t))}async#O(t){this.#u&&!this.hasSyncedTime()&&await this.syncTime(t)}invalidateIdentity(){this.#n=null}replaceIdentity(t){this.#n=Promise.resolve(t)}async fetchSubnetKeys(t){let r=M.from(t);await this.#g(r);let o=(await qa({canisterId:r,paths:["subnet"],agent:this})).get("subnet");if(o&&typeof o=="object"&&"nodeKeys"in o)return this.#m.set(r.toText(),o),o}_transform(t){let r=Promise.resolve(t);if(t.endpoint===Qt.Call)for(let n of this.#h)r=r.then(o=>n(o).then(i=>i||o));else for(let n of this.#f)r=r.then(o=>n(o).then(i=>i||o));return r}getTimeDiffMsecs(){return this.#r}hasSyncedTime(){return this.#c}};function za(e,t){let r=e*Ya;return Wn.fromDeltaInMilliseconds(r,t)}var am=300*1e3;function Ku(){return pm(lm(cm(),1e3),dm(1e3,1.2),um(am))}function cm(){let e=!0;return async()=>e?(e=!1,!0):!1}function lm(e,t){return async(r,n,o)=>{if(await e(r,n,o))return new Promise(i=>setTimeout(i,t))}}function um(e){let t=Date.now()+e;return async(r,n,o)=>{if(Date.now()>t)throw ne.fromCode(new fn(`Request timed out after ${e} msec`,n,o))}}function dm(e,t){let r=e;return()=>new Promise(n=>setTimeout(()=>{r*=t,n()},r))}function pm(...e){return async(t,r,n)=>{for(let o of e)await o(t,r,n)}}var $u={preSignReadStateRequest:!1};function Gu(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function Za(e,t){return e!==null&&typeof e=="object"&&Gu(e,t)}function hm(e,t){return Gu(e,t)&&typeof e[t]=="function"}function Hu(e){return Za(e,"body")&&Za(e.body,"content")&&e.body.content.request_type===wn.ReadState&&Za(e.body.content,"ingress_expiry")&&typeof e.body.content.ingress_expiry=="object"&&e.body.content.ingress_expiry!==null&&hm(e.body.content.ingress_expiry,"toHash")}async function Xa(e,t,r,n={}){let o=[ee("request_status"),r],i,s;if(n.preSignReadStateRequest??!1?(s=await mm({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 Oe.fromCode(new Rt);let c=await Ar.create({certificate:i.certificate,rootKey:e.rootKey,canisterId:t,blsVerify:n.blsVerify,agent:e}),u=Ve(c.lookup_path([...o,ee("status")])),p;switch(typeof u>"u"?p=Ct.Unknown:p=new TextDecoder().decode(u),p){case Ct.Replied:return{reply:Ve(c.lookup_path([...o,"reply"])),certificate:c};case Ct.Received:case Ct.Unknown:case Ct.Processing:{let d=n.strategy??Ku();return await d(t,r,p),Xa(e,t,r,{...n,strategy:d,request:s})}case Ct.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 yr.fromCode(new kn(r,d,l,h))}case Ct.Done:throw xe.fromCode(new vi(r))}throw wr}async function mm(e){let{paths:t,agent:r,pollingOptions:n}=e;if(n.request&&Hu(n.request))return n.request;let o=await r.createReadStateRequest?.({paths:t},void 0);if(!Hu(o))throw z.fromCode(new Pi(o));return o}var st=Symbol.for("ic-agent-metadata"),oo=class e{static agentOf(t){return t[st].config.agent}static interfaceOf(t){return t[st].service}static canisterIdOf(t){return M.from(t[st].config.canisterId)}static createActorClass(t,r){let n=t({IDL:gn});class o extends e{constructor(s){if(!s.canisterId)throw z.fromCode(new No(s.canisterId));let a=typeof s.canisterId=="string"?M.fromText(s.canisterId):s.canisterId;super({config:{...Ju,...s,canisterId:a},service:n});for(let[c,u]of n._fields)r?.httpDetails&&u.annotations.push(Qa),r?.certificate&&u.annotations.push(Wu),this[c]=ym(this,c,u,s.blsVerify)}}return o}static createActor(t,r){if(!r.canisterId)throw z.fromCode(new No(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[st]=Object.freeze(t)}};function no(e,t){let r=gn.decode(e,t);switch(r.length){case 0:return;case 1:return r[0];default:return r}}var Ju={pollingOptions:$u},Qa="http-details",Wu="certificate";function ym(e,t,r,n){let o;r.annotations.includes("query")||r.annotations.includes("composite_query")?o=async(s,...a)=>{s={...s,...e[st].config.queryTransform?.(t,a,{...e[st].config,...s})};let c=s.agent||e[st].config.agent||new cr,u=M.from(s.canisterId||e[st].config.canisterId),p=gn.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 fr.Rejected:{let f=new Ei(d.requestId,d.reject_code,d.reject_message,d.error_code,d.signatures);throw f.callContext={canisterId:u,methodName:t,httpDetails:l},yr.fromCode(f)}case fr.Replied:return r.annotations.includes(Qa)?{httpDetails:l,result:no(r.retTypes,d.reply.arg)}:no(r.retTypes,d.reply.arg)}}:o=async(s,...a)=>{s={...s,...e[st].config.callTransform?.(t,a,{...e[st].config,...s})};let c=s.agent||e[st].config.agent||cr.createSync(),{canisterId:u,effectiveCanisterId:p,pollingOptions:d}={...Ju,...e[st].config,...s},l=M.from(u),f=p!==void 0?M.from(p):l,h=gn.encode(r.argTypes,a),{requestId:m,response:g,requestDetails:_}=await c.call(l,{methodName:t,arg:h,effectiveCanisterId:f,nonce:s.nonce}),x,y;if(jc(g.body)){if(c.rootKey==null)throw Oe.fromCode(new Rt);let R=g.body.certificate;y=await Ar.create({certificate:R,rootKey:c.rootKey,canisterId:f,blsVerify:n,agent:c});let I=[ee("request_status"),m];switch(new TextDecoder().decode(Ve(y.lookup_path([...I,"status"])))){case"replied":x=Ve(y.lookup_path([...I,"reply"]));break;case"rejected":{let v=new Uint8Array(Ve(y.lookup_path([...I,"reject_code"])))[0],C=new TextDecoder().decode(Ve(y.lookup_path([...I,"reject_message"]))),S=Ve(y.lookup_path([...I,"error_code"])),b=S?new TextDecoder().decode(S):void 0,N=new kn(m,v,C,b);throw N.callContext={canisterId:l,methodName:t,httpDetails:g},yr.fromCode(N)}}}else if(Mc(g.body)){let{reject_code:R,reject_message:I,error_code:w}=g.body,v=new Ri(m,R,I,w);throw v.callContext={canisterId:l,methodName:t,httpDetails:g},yr.fromCode(v)}if(g.status===202){let R={...d,blsVerify:n},I=await Xa(c,f,m,R);y=I.certificate,x=I.reply}let T=r.annotations.includes(Qa),E=r.annotations.includes(Wu),O={...g,requestDetails:_};if(x!==void 0)return T&&E?{httpDetails:O,certificate:y,result:no(r.retTypes,x)}:E?{certificate:y,result:no(r.retTypes,x)}:T?{httpDetails:O,result:no(r.retTypes,x)}:no(r.retTypes,x);{let R=new Ue(`Call was returned undefined. We cannot determine if the call was successful or not. Return types: [${r.retTypes.map(I=>I.display()).join(",")}].`);throw R.callContext={canisterId:l,methodName:t,httpDetails:O},xe.fromCode(R)}};let i=(...s)=>o({},...s);return i.withOptions=s=>(...a)=>o(s,...a),i}var gm=(e=>(e[e.FractionalMoreThan8Decimals=0]="FractionalMoreThan8Decimals",e[e.InvalidFormat=1]="InvalidFormat",e[e.FractionalTooManyDecimals=2]="FractionalTooManyDecimals",e))(gm||{}),Ax=BigInt(1e8);var k=e=>e==null,W=e=>!k(e),ei=e=>W(e)&&e!=="",io=e=>!ei(e);var xm=class extends Error{},ti=(e,t)=>{if(e==null)throw new xm(t)};var lr=e=>new Uint8Array(e),fs=e=>Array.from(e);var Yu=({a:e,b:t})=>e.length===t.length&&e.every((r,n)=>r===t[n]);var zu="abcdefghijklmnopqrstuvwxyz234567",Qo=Object.create(null);for(let e=0;e<zu.length;e++)Qo[zu[e]]=e;Qo[0]=Qo.o;Qo[1]=Qo.i;var Cr=e=>btoa(String.fromCharCode(...new Uint8Array(e))),Zu=e=>Uint8Array.from(atob(e),t=>t.charCodeAt(0)),Sx=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 ec="__bigint__",tc="__principal__",rc="__uint8array__",Xu=(e,t)=>typeof t=="bigint"?{[ec]:`${t}`}:W(t)&&M.isPrincipal(t)?{[tc]:M.from(t).toText()}:W(t)&&t instanceof Uint8Array?{[rc]:Array.from(t)}:t,Qu=(e,t)=>{let r=n=>t[n];return W(t)&&typeof t=="object"&&ec in t?BigInt(r(ec)):W(t)&&typeof t=="object"&&tc in t?M.fromText(r(tc)):W(t)&&typeof t=="object"&&rc in t?Uint8Array.from(r(rc)):t};var ie=e=>W(e)?[e]:[],ye=e=>e?.[0];var bm=({authData:e})=>{if(e.byteLength<37)return{invalidAuthData:null};if(e.byteLength<53)return{invalidAuthData:null};let t=e.slice(37,53),r=wm({bytes:t});return"aaguid"in r?{aaguidBytes:t,aaguidText:r.aaguid}:{unknownProvider:null}},wm=({bytes:e})=>{if(e.length!==16)return{invalidBytes:null};let t=(e instanceof Uint8Array?fs(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 Tm(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 Nm(e){return Sn(e,Xo)}var Om=class{constructor(e){this._cose=e,this.#e=Nm(e)}#e;toDer(){return this.#e}toRaw(){return new Uint8Array(this.#e)}},od=class{#e;#t;constructor({rawId:e,cose:t}){this.#e=e,this.#t=new Om(t)}getPublicKey(){return this.#t}getCredentialId(){return this.#e}getCredentialIdText(){return Cr(this.#e)}},Em=class extends od{#e;#t;constructor({authData:e,...t}){super(t);let r=bm({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}},Rm=class extends od{},vm=class extends Error{},Im=class extends Error{},Am=class extends Error{},Sm=class extends Error{},Fm=class extends Error{},Cm=class extends Error{},Vm=class extends Error{},ed=class extends Error{};var Pm={ECDSA_WITH_SHA256:-7,RSA_WITH_SHA256:-257},Bm=6e4,id=()=>window.crypto.getRandomValues(new Uint8Array(16)),Dm=()=>id(),Um=()=>id(),km=()=>{let{location:{href:e}}=window;try{let{hostname:t}=new URL(e);return t}catch{throw new vm}},sd=({appId:e})=>e?.id??km(),Lm=({appId:e,user:t}={})=>{let{document:{title:r}}=window,n=()=>({rp:{name:e?.name??r,id:sd({appId:e})}}),o=()=>({user:{id:Um(),name:t?.name??t?.displayName??r,displayName:t?.displayName??r}});return{attestation:"direct",challenge:Dm(),...n(),...o(),pubKeyCredParams:Object.values(Pm).map(i=>({type:"public-key",alg:i})),excludeCredentials:[],authenticatorSelection:{authenticatorAttachment:"platform",userVerification:"preferred",residentKey:"required",requireResidentKey:!0}}},qm=(e={})=>({rpId:sd(e),allowCredentials:[],userVerification:"required"}),nc=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}},Vr=(e=>(e[e.RequestingUserCredential=0]="RequestingUserCredential",e[e.FinalizingCredential=1]="FinalizingCredential",e[e.Signing=2]="Signing",e))(Vr||{}),ad=({timeout:e})=>AbortSignal.timeout(e??Bm),Mm=async({challenge:e,credentialIds:t,passkeyOptions:r,timeout:n})=>await navigator.credentials.get({publicKey:{...qm(r),challenge:e.buffer,allowCredentials:(t??[]).map(o=>({id:o.buffer,type:"public-key"}))},signal:ad({timeout:n})}),td=e=>{if(e.status!=="initialized")throw new Im},rd=e=>{if(k(e))throw new Am},nd=({type:e})=>{if(e!=="public-key")throw new Sm},oc=class ri extends Ft{#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=ri.#r({credential:new Em(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:Lm(t),signal:ad({timeout:r})});rd(o),nd(o);let{response:{attestationObject:i},rawId:s}=o;if(k(i))throw new Fm;let{authData:a}=$i.decode(lr(i)),c=Tm(a);return new ri({...n,rawId:lr(s),cose:c,authData:a})}static async createWithExistingCredential(t){return new ri(t)}getPublicKey(){td(this.#t);let{credential:t}=this.#t;return t.getPublicKey()}getCredential(){td(this.#t);let{credential:t}=this.#t;return t}async sign(t){let r=await nc({fn:async()=>{let n=await Mm({challenge:t,...this.#t.status==="initialized"&&{credentialIds:[this.#t.credential.getCredentialId()]}});return rd(n),nd(n),n},step:0,onProgress:this.#e});return await nc({fn:async()=>{let{rawId:n}=r;if(this.#t.status==="initialized"){if(!Yu({a:this.#t.credential.getCredentialId(),b:lr(n)}))throw new Cm;return}let{retrievePublicKey:o}=this.#t,i=await o({credentialId:lr(n)});this.#t=ri.#r({credential:new Rm({rawId:lr(n),cose:i})})},step:1,onProgress:this.#e}),await nc({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 ed;if(k(s))throw new ed;let a=$i.encode({authenticator_data:i,client_data_json:new TextDecoder().decode(o),signature:lr(s)});if(k(a))throw new Vm;return Object.assign(a,{__signature__:void 0}),a},step:2,onProgress:this.#e})}},jm=async()=>W(window.PublicKeyCredential)&&"isUserVerifyingPlatformAuthenticatorAvailable"in PublicKeyCredential?await PublicKeyCredential.isUserVerifyingPlatformAuthenticatorAvailable():!1;var so=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 Pe=class e extends so{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 ni=({message:e,detail:t})=>{let r=new CustomEvent(e,{detail:t,bubbles:!0});document.dispatchEvent(r)};var ao="http://127.0.0.1:5987",cd="rdmx6-jaaaa-aaaaa-aaadq-cai";var ld=async({identity:e,container:t})=>{let n=W(t)&&t!==!1?t===!0?ao:t:"https://icp-api.io",o=W(t);return await cr.create({identity:e,shouldFetchRootKey:o,host:n})};var co=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 ld({identity:t,...r});return this.#e={...this.#e??{},[n]:o},o}return this.#e[n]}reset(){this.#e=null}};var lo=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 co.getInstance().getAgent(n);return oo.createActor(t,{agent:o,canisterId:r})}};function ud(e){return e!==null&&typeof e=="object"}var oi=class e{static from(t){if(typeof t=="string"){let r=Ne(t);return this.fromRaw(r)}else if(ud(t)){let r=t;if(ud(r)&&Object.hasOwnProperty.call(r,"__derEncodedPublicKey__"))return this.fromDer(r);if(ArrayBuffer.isView(r)){let n=r;return this.fromRaw(vt(n.buffer))}else{if(r instanceof ArrayBuffer)return this.fromRaw(vt(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=Sn(t,An);return r.__derEncodedPublicKey__=void 0,r}static derDecode(t){let r=Fn(t,An);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}},Nt=class e extends Ft{static generate(t){if(t&&t.length!==32)throw new Error("Ed25519 Seed needs to be 32 bytes long.");t||(t=Ke.utils.randomPrivateKey()),ll(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=Ke.getPublicKey(r);return e.fromKeyPair(n,r)}static fromParsedJson(t){let[r,n]=t;return new e(oi.fromDer(Ne(r)),Ne(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(oi.fromRaw(t),r)}static fromSecretKey(t){let r=Ke.getPublicKey(t);return e.fromKeyPair(r,t)}#e;#t;constructor(t,r){super(),this.#e=oi.from(t),this.#t=r}toJSON(){return[H(this.#e.toDer()),H(this.#t)]}getKeyPair(){return{secretKey:this.#t,publicKey:this.#e}}getPublicKey(){return this.#e}async sign(t){let r=Ke.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=Ne(a)),vt(a)));return Ke.verify(o,i,s)}};var ic=class e extends Error{constructor(t){super(t),this.message=t,Object.setPrototypeOf(this,e.prototype)}};function dd(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 ic("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 Vt=class e extends Ft{static async generate(t){let{extractable:r=!1,keyUsages:n=["sign","verify"],subtleCrypto:o}=t??{},i=dd(o),s=await i.generateKey({name:"ECDSA",namedCurve:"P-256"},r,n),a=vt(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=dd(r),o=vt(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=vt(await this._subtleCrypto.sign(r,this._keyPair.privateKey,t));return Object.assign(n,{__signature__:void 0}),n}};var hs=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 M.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 ms(e){return e instanceof Uint8Array?H(e):H(new Uint8Array(e))}function sc(e){if(typeof e!="string"||e.length<64)throw new Error("Invalid public key.");return Ne(e)}var Pr=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:ms(this.pubkey),...this.targets&&{targets:this.targets.map(t=>t.toHex())}}}};async function Km(e,t,r,n){let o=new Pr(t.toDer(),BigInt(+r)*BigInt(1e6),n),i=new Uint8Array([...ia,...new Uint8Array(Zt({...o}))]),s=await e.sign(i);return{delegation:o,signature:s}}var ur=class e{static async create(t,r,n=new Date(Date.now()+900*1e3),o={}){let i=await Km(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 Pr(sc(c),BigInt("0x"+u),p&&p.map(d=>{if(typeof d!="string")throw new Error("Invalid target.");return M.fromHex(d)})),signature:sc(a)}});return new this(o,sc(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:ms(r.pubkey),...o&&{targets:o.map(i=>i.toHex())}},signature:ms(n)}}),publicKey:ms(this.publicKey)}}},dr=class extends Ft{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 Zt(r);return{...n,body:{content:r,sender_sig:await this.sign(new Uint8Array([...Co,...new Uint8Array(o)])),sender_delegation:this._delegation.delegations,sender_pubkey:this._delegation.publicKey}}}},ii=class e extends hs{#e;get delegation(){return this.#e}constructor(t,r){super(t),this.#e=r}static fromDelegation(t,r){return new e(t,r)}};function ac(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"?M.fromText(o):o)):r.push(typeof n=="string"?M.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 pd=["mousedown","mousemove","keydown","touchstart","wheel"],si=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),pd.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);pd.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 Hm=(e,t)=>t.some(r=>e instanceof r),fd,hd;function $m(){return fd||(fd=[IDBDatabase,IDBObjectStore,IDBIndex,IDBCursor,IDBTransaction])}function Gm(){return hd||(hd=[IDBCursor.prototype.advance,IDBCursor.prototype.continue,IDBCursor.prototype.continuePrimaryKey])}var md=new WeakMap,lc=new WeakMap,_d=new WeakMap,cc=new WeakMap,dc=new WeakMap;function Jm(e){let t=new Promise((r,n)=>{let o=()=>{e.removeEventListener("success",i),e.removeEventListener("error",s)},i=()=>{r(Pt(e.result)),o()},s=()=>{n(e.error),o()};e.addEventListener("success",i),e.addEventListener("error",s)});return t.then(r=>{r instanceof IDBCursor&&md.set(r,e)}).catch(()=>{}),dc.set(t,e),t}function Wm(e){if(lc.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)});lc.set(e,t)}var uc={get(e,t,r){if(e instanceof IDBTransaction){if(t==="done")return lc.get(e);if(t==="objectStoreNames")return e.objectStoreNames||_d.get(e);if(t==="store")return r.objectStoreNames[1]?void 0:r.objectStore(r.objectStoreNames[0])}return Pt(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 yd(e){uc=e(uc)}function zm(e){return e===IDBDatabase.prototype.transaction&&!("objectStoreNames"in IDBTransaction.prototype)?function(t,...r){let n=e.call(_s(this),t,...r);return _d.set(n,t.sort?t.sort():[t]),Pt(n)}:Gm().includes(e)?function(...t){return e.apply(_s(this),t),Pt(md.get(this))}:function(...t){return Pt(e.apply(_s(this),t))}}function Ym(e){return typeof e=="function"?zm(e):(e instanceof IDBTransaction&&Wm(e),Hm(e,$m())?new Proxy(e,uc):e)}function Pt(e){if(e instanceof IDBRequest)return Jm(e);if(cc.has(e))return cc.get(e);let t=Ym(e);return t!==e&&(cc.set(e,t),dc.set(t,e)),t}var _s=e=>dc.get(e);function xd(e,t,{blocked:r,upgrade:n,blocking:o,terminated:i}={}){let s=indexedDB.open(e,t),a=Pt(s);return n&&s.addEventListener("upgradeneeded",c=>{n(Pt(s.result),c.oldVersion,c.newVersion,Pt(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 Zm=["get","getKey","getAll","getAllKeys","count"],Xm=["put","add","delete","clear"],pc=new Map;function gd(e,t){if(!(e instanceof IDBDatabase&&!(t in e)&&typeof t=="string"))return;if(pc.get(t))return pc.get(t);let r=t.replace(/FromIndex$/,""),n=t!==r,o=Xm.includes(r);if(!(r in(n?IDBIndex:IDBObjectStore).prototype)||!(o||Zm.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 pc.set(t,i),i}yd(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 bd="auth-client-db",wd="ic-keyval",Qm=async(e=bd,t=wd,r)=>(globalThis.localStorage?.getItem(He)&&(globalThis.localStorage.removeItem(He),globalThis.localStorage.removeItem($e)),await xd(e,r,{upgrade:n=>{n.objectStoreNames.contains(t)&&n.clear(t),n.createObjectStore(t)}}));async function e_(e,t,r){return await e.get(t,r)}async function t_(e,t,r,n){return await e.put(t,n,r)}async function r_(e,t,r){return await e.delete(t,r)}var ys=class e{constructor(t,r){this._db=t,this._storeName=r}static async create(t){let{dbName:r=bd,storeName:n=wd,version:o=Td}=t??{},i=await Qm(r,n,o);return new e(i,n)}async set(t,r){return await t_(this._db,this._storeName,t,r)}async get(t){return await e_(this._db,this._storeName,t)??null}async remove(t){return await r_(this._db,this._storeName,t)}};var $e="identity",He="delegation",Nd="iv",Td=1,ai=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}},Bt=class{#e;constructor(t){this.#e=t??{}}initializedDb;get _db(){return new Promise((t,r)=>{if(this.initializedDb){t(this.initializedDb);return}ys.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 n_=BigInt(1e9),o_=BigInt(3600),i_=n_*o_,s_="https://identity.internetcomputer.org",a_="#authorize",c_=BigInt(8)*i_,fc="ECDSA",hc="Ed25519",l_=500,gs="UserInterrupt",ci=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 Bt,n=t.keyType??fc,o=null;if(t.identity)o=t.identity;else{let c=await r.get($e);if(!c)try{let u=new ai,p=await u.get(He),d=await u.get($e);p&&d&&n===fc&&(console.log("Discovered an identity stored in localstorage. Migrating to IndexedDB"),await r.set(He,p),await r.set($e,d),c=p,await u.remove(He),await u.remove($e))}catch(u){console.error(`error while attempting to recover localstorage: ${u}`)}if(c)try{typeof c=="object"?n===hc&&typeof c=="string"?o=Nt.fromJSON(c):o=await Vt.fromKeyPair(c):typeof c=="string"&&(o=Nt.fromJSON(c))}catch{}}let i=new rt,s=null;if(o)try{let c=await r.get(He);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=ur.fromJSON(c),ac(s)?"toDer"in o?i=ii.fromDelegation(o,s):i=dr.fromDelegation(o,s):(await mc(r),o=null))}catch(c){console.error(c),await mc(r),o=null}let a;return t.idleOptions?.disableIdle?a=void 0:(s||t.identity)&&(a=si.create(t.idleOptions)),o||(n===hc?o=Nt.generate():(t.storage&&n===fc&&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 '${hc}' as the key type, as it can serialize to a string`),o=await Vt.generate()),await Od(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 Pr(a.delegation.pubkey,a.delegation.expiration,a.delegation.targets),signature:a.signature})),o=ur.fromDelegations(n,t.userPublicKey),i=this._key;if(!i)return;this._chain=o,"toDer"in i?this._identity=ii.fromDelegation(i,this._chain):this._identity=dr.fromDelegation(i,this._chain),this._idpWindow?.close();let s=this._createOptions?.idleOptions;!this.idleManager&&!s?.disableIdle&&(this.idleManager=si.create(s),this._registerDefaultIdleCallback()),this._removeEventListener(),delete this._idpWindow,this._chain&&await this._storage.set(He,JSON.stringify(this._chain.toJSON())),await Od(this._storage,this._key),r?.(t)}getIdentity(){return this._identity}async isAuthenticated(){return!this.getIdentity().getPrincipal().isAnonymous()&&this._chain!==null&&ac(this._chain)}async login(t){let r=u_(this._createOptions?.loginOptions,t),n=r?.maxTimeToLive??c_,o=new URL(r?.identityProvider?.toString()||s_);o.hash=a_,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(gs,r?.onError):setTimeout(i,l_))};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 mc(this._storage),this._identity=new rt,this._chain=null,t.returnTo)try{window.history.pushState({},"",t.returnTo)}catch{window.location.href=t.returnTo}}};async function mc(e){await e.remove($e),await e.remove(He),await e.remove(Nd)}function u_(e,t){if(!e&&!t)return;let r=e?.customValues||t?.customValues?{...e?.customValues,...t?.customValues}:void 0;return{...e,...t,customValues:r}}function d_(e){if(e instanceof Vt)return e.getKeyPair();if(e instanceof Nt)return JSON.stringify(e.toJSON());throw new Error("Unsupported key type")}async function Od(e,t){let r=d_(t);await e.set($e,r)}var Be=class e{static#e;#t;constructor(){}static getInstance(){return k(this.#e)&&(this.#e=new e),this.#e}createAuthClient=async()=>(this.#t=await ci.create({idleOptions:{disableIdle:!0,disableDefaultIdleCallback:!0}}),this.#t);safeCreateAuthClient=async()=>(await new Bt().remove($e),await this.createAuthClient());getAuthClient=()=>this.#t;logout=async()=>{await this.#t?.logout(),this.#t=null};setAuthClientStorage=async({delegationChain:t,sessionKey:r})=>{let n=new Bt;await Promise.all([n.set($e,r.getKeyPair()),n.set(He,JSON.stringify(t.toJSON()))])}};var _c=async e=>{await p_(),await Be.getInstance().createAuthClient(),e?.windowReload!==!1&&window.location.reload()},p_=async()=>{await Be.getInstance().logout(),Pe.getInstance().reset(),lo.getInstance().reset(),co.getInstance().reset()};var Ed=e=>{let t=e===!0?"./workers/auth.worker.js":e,r=new Worker(t),n=async()=>{ni({message:"junoSignOutAuthTimer"}),await _c()};return r.onmessage=async({data:o})=>{let{msg:i,data:s}=o;switch(i){case"junoSignOutAuthTimer":await n();return;case"junoDelegationRemainingTime":ni({message:"junoDelegationRemainingTime",detail:s?.authRemainingTime})}},Pe.getInstance().subscribe(o=>{if(k(o)){r.postMessage({msg:"junoStopAuthTimer"});return}r.postMessage({msg:"junoStartAuthTimer"})})};var uo=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&&W(o)&&o.msg==="authClientLoginSuccess"&&ei(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 ve=class e extends so{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 li=async({fn:e,syncTabsOnSuccess:t})=>{let{authenticated:r}=await f_({fn:e});!r||!t||ve.getInstance().get()?.syncTabs===!1||h_()},Rd=async({fn:e})=>{let{createAuthClient:t}=Be.getInstance(),n=await(await t()).isAuthenticated();await e({authenticated:n})},f_=async({fn:e})=>{let{createAuthClient:t,safeCreateAuthClient:r}=Be.getInstance();return await(await t()).isAuthenticated()?(await e(),{authenticated:!0}):(await r(),{authenticated:!1})},h_=()=>{try{uo.getInstance().postLoginSuccess()}catch(e){console.warn("Auth BroadcastChannel posting failed",e)}};var yc=({error:e,type:t})=>typeof e=="string"?e.includes(t):e instanceof Error?e.message.includes(t):!1;var vd="juno.datastore.error.user.cannot_update";var Dt={certified:!1};var xs=()=>Be.getInstance().getAuthClient()?.getIdentity(),m_=async()=>{let{getAuthClient:e,createAuthClient:t}=Be.getInstance();return(e()??await t()).getIdentity()},__=async()=>{let e=Pe.getInstance().get();if(k(e))return null;let t=Be.getInstance().getAuthClient();return await t?.isAuthenticated()??!1?t?.getIdentity()??null:null};var le=e=>W(e)?e:xs()??new rt;var gc=({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}),m=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}),_=e.Variant({UpdatedAt:e.Null,Keys:e.Null,CreatedAt:e.Null}),x=e.Record({field:_,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)}),I=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:I,expires_at:e.Opt(e.Nat64)}),v=e.Record({version:e.Opt(e.Nat64)}),C=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}),F=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:F,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))}),te=e.Record({allowed_callers:e.Vec(e.Principal)}),Q=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(te)}),$=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($)}),pe=e.Variant({Deny:e.Null,AllowAny:e.Null,SameOrigin:e.Null}),Se=e.Variant({Deny:e.Null,Allow:e.Null}),re=e.Record({status_code:e.Nat16,location:e.Text}),ue=e.Record({iframe:e.Opt(pe),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($),raw_access:e.Opt(Se),redirects:e.Opt(e.Vec(e.Tuple(e.Text,re)))}),Dr=e.Record({db:e.Opt(se),authentication:e.Opt(Q),storage:ue}),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}),Ur=e.Record({pubkey:e.Vec(e.Nat8),targets:e.Opt(e.Vec(e.Principal)),expiration:e.Nat64}),kr=e.Record({signature:e.Vec(e.Nat8),delegation:Ur}),at=e.Variant({JwtFindProvider:u,GetCachedJwks:e.Null,NoSuchDelegation:e.Null,JwtVerify:p,GetOrFetchJwks:d,DeriveSeedFailed:e.Text}),Lr=e.Variant({Ok:kr,Err:at}),qr=e.Variant({Initialized:e.Null,Failed:e.Null,Open:e.Null,Rejected:e.Null,Executed:e.Null,Accepted:e.Null}),Mr=e.Record({clear_existing_assets:e.Opt(e.Bool)}),Lt=e.Record({orbiter:e.Opt(e.Text),mission_control_version:e.Opt(e.Text),satellite_version:e.Opt(e.Text)}),ct=e.Variant({AssetsUpgrade:Mr,SegmentsDeployment:Lt}),Ze=e.Record({status:qr,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:ct}),Xe=e.Variant({Controllers:e.Null,Private:e.Null,Public:e.Null,Managed:e.Null}),lt=e.Record({max_tokens:e.Nat64,time_per_token_ns:e.Nat64}),ut=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(lt),write:Xe,max_changes_per_user:e.Opt(e.Nat32)}),jr=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)}),dt=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}),Kr=e.Variant({Callback:e.Record({token:dt,callback:e.Func([],[],["query"])})}),Hr=e.Record({body:e.Vec(e.Nat8),headers:e.Vec(e.Tuple(e.Text,e.Text)),streaming_strategy:e.Opt(Kr),status_code:e.Nat16}),$r=e.Record({token:e.Opt(dt),body:e.Vec(e.Nat8)}),pt=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}),Gr=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}),Jr=e.Record({updated_at:e.Nat64,created_at:e.Nat64,version:e.Opt(e.Nat64),bn_id:e.Opt(e.Text)}),Wr=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}),zr=e.Record({desc:e.Bool}),Yr=e.Record({start_after:e.Opt(e.Nat),limit:e.Opt(e.Nat)}),Zr=e.Record({order:e.Opt(zr),paginate:e.Opt(Yr)}),Xr=e.Record({proposal_id:e.Nat}),Qr=e.Record({matches_length:e.Nat64,items:e.Vec(e.Tuple(Xr,Ze)),items_length:e.Nat64}),en=e.Record({include_system:e.Bool}),tn=e.Record({matcher:e.Opt(en)}),rn=e.Record({matches_length:e.Nat64,items:e.Vec(e.Tuple(e.Text,ut)),items_length:e.Nat64}),nn=e.Record({stable:e.Nat64,heap:e.Nat64}),qt=e.Record({openid:e.Opt(D),version:e.Opt(e.Nat64),internet_identity:e.Opt(U),rules:e.Opt(te)}),on=e.Record({metadata:e.Vec(e.Tuple(e.Text,e.Text)),scope:I,expires_at:e.Opt(e.Nat64)}),sn=e.Record({controller:on,controllers:e.Vec(e.Principal)}),an=e.Record({version:e.Opt(e.Nat64),max_memory_size:e.Opt($)}),Mt=e.Record({data:e.Vec(e.Nat8),description:e.Opt(e.Text),version:e.Opt(e.Nat64)}),ks=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(lt),write:Xe,max_changes_per_user:e.Opt(e.Nat32)}),Ls=e.Record({iframe:e.Opt(pe),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($),raw_access:e.Opt(Se),redirects:e.Opt(e.Vec(e.Tuple(e.Text,re)))}),fo=e.Record({content:e.Vec(e.Nat8),batch_id:e.Nat,order_id:e.Opt(e.Nat)}),ho=e.Record({chunk_id:e.Nat});return e.Service({authenticate:e.Func([i],[h],[]),commit_asset_upload:e.Func([m],[],[]),commit_proposal:e.Func([g],[e.Null],[]),commit_proposal_asset_upload:e.Func([m],[],[]),commit_proposal_many_assets_upload:e.Func([e.Vec(m)],[],[]),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,v],[],[]),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,v))],[],[]),del_rule:e.Func([C,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(Q)],["query"]),get_config:e.Func([],[Dr],[]),get_db_config:e.Func([],[e.Opt(se)],["query"]),get_delegation:e.Func([Ye],[Lr],["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(Ze)],["query"]),get_rule:e.Func([C,e.Text],[e.Opt(ut)],["query"]),get_storage_config:e.Func([],[ue],["query"]),http_request:e.Func([jr],[Hr],["query"]),http_request_streaming_callback:e.Func([dt],[$r],["query"]),init_asset_upload:e.Func([pt],[Qe],[]),init_proposal:e.Func([ct],[e.Nat,Ze],[]),init_proposal_asset_upload:e.Func([pt,e.Nat],[Qe],[]),init_proposal_many_assets_upload:e.Func([e.Vec(pt),e.Nat],[e.Vec(e.Tuple(e.Text,Qe))],[]),list_assets:e.Func([e.Text,O],[Gr],["query"]),list_controllers:e.Func([],[e.Vec(e.Tuple(e.Principal,w))],["query"]),list_custom_domains:e.Func([],[e.Vec(e.Tuple(e.Text,Jr))],["query"]),list_docs:e.Func([e.Text,O],[Wr],["query"]),list_proposals:e.Func([Zr],[Qr],["query"]),list_rules:e.Func([C,tn],[rn],["query"]),memory_size:e.Func([],[nn],["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([qt],[Q],[]),set_controllers:e.Func([sn],[e.Vec(e.Tuple(e.Principal,w))],[]),set_custom_domain:e.Func([e.Text,e.Opt(e.Text)],[],[]),set_db_config:e.Func([an],[se],[]),set_doc:e.Func([e.Text,e.Text,Mt],[s],[]),set_many_docs:e.Func([e.Vec(e.Tuple(e.Text,e.Text,Mt))],[e.Vec(e.Tuple(e.Text,s))],[]),set_rule:e.Func([C,e.Text,ks],[ut],[]),set_storage_config:e.Func([Ls],[ue],[]),submit_proposal:e.Func([e.Nat],[e.Nat,Ze],[]),switch_storage_system_memory:e.Func([],[],[]),upload_asset_chunk:e.Func([fo],[ho],[]),upload_proposal_asset_chunk:e.Func([fo],[ho],[])})},xc=({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}),m=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}),_=e.Variant({UpdatedAt:e.Null,Keys:e.Null,CreatedAt:e.Null}),x=e.Record({field:_,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)}),I=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:I,expires_at:e.Opt(e.Nat64)}),v=e.Record({version:e.Opt(e.Nat64)}),C=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}),F=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:F,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))}),te=e.Record({allowed_callers:e.Vec(e.Principal)}),Q=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(te)}),$=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($)}),pe=e.Variant({Deny:e.Null,AllowAny:e.Null,SameOrigin:e.Null}),Se=e.Variant({Deny:e.Null,Allow:e.Null}),re=e.Record({status_code:e.Nat16,location:e.Text}),ue=e.Record({iframe:e.Opt(pe),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($),raw_access:e.Opt(Se),redirects:e.Opt(e.Vec(e.Tuple(e.Text,re)))}),Dr=e.Record({db:e.Opt(se),authentication:e.Opt(Q),storage:ue}),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}),Ur=e.Record({pubkey:e.Vec(e.Nat8),targets:e.Opt(e.Vec(e.Principal)),expiration:e.Nat64}),kr=e.Record({signature:e.Vec(e.Nat8),delegation:Ur}),at=e.Variant({JwtFindProvider:u,GetCachedJwks:e.Null,NoSuchDelegation:e.Null,JwtVerify:p,GetOrFetchJwks:d,DeriveSeedFailed:e.Text}),Lr=e.Variant({Ok:kr,Err:at}),qr=e.Variant({Initialized:e.Null,Failed:e.Null,Open:e.Null,Rejected:e.Null,Executed:e.Null,Accepted:e.Null}),Mr=e.Record({clear_existing_assets:e.Opt(e.Bool)}),Lt=e.Record({orbiter:e.Opt(e.Text),mission_control_version:e.Opt(e.Text),satellite_version:e.Opt(e.Text)}),ct=e.Variant({AssetsUpgrade:Mr,SegmentsDeployment:Lt}),Ze=e.Record({status:qr,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:ct}),Xe=e.Variant({Controllers:e.Null,Private:e.Null,Public:e.Null,Managed:e.Null}),lt=e.Record({max_tokens:e.Nat64,time_per_token_ns:e.Nat64}),ut=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(lt),write:Xe,max_changes_per_user:e.Opt(e.Nat32)}),jr=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)}),dt=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}),Kr=e.Variant({Callback:e.Record({token:dt,callback:e.Func([],[],[])})}),Hr=e.Record({body:e.Vec(e.Nat8),headers:e.Vec(e.Tuple(e.Text,e.Text)),streaming_strategy:e.Opt(Kr),status_code:e.Nat16}),$r=e.Record({token:e.Opt(dt),body:e.Vec(e.Nat8)}),pt=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}),Gr=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}),Jr=e.Record({updated_at:e.Nat64,created_at:e.Nat64,version:e.Opt(e.Nat64),bn_id:e.Opt(e.Text)}),Wr=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}),zr=e.Record({desc:e.Bool}),Yr=e.Record({start_after:e.Opt(e.Nat),limit:e.Opt(e.Nat)}),Zr=e.Record({order:e.Opt(zr),paginate:e.Opt(Yr)}),Xr=e.Record({proposal_id:e.Nat}),Qr=e.Record({matches_length:e.Nat64,items:e.Vec(e.Tuple(Xr,Ze)),items_length:e.Nat64}),en=e.Record({include_system:e.Bool}),tn=e.Record({matcher:e.Opt(en)}),rn=e.Record({matches_length:e.Nat64,items:e.Vec(e.Tuple(e.Text,ut)),items_length:e.Nat64}),nn=e.Record({stable:e.Nat64,heap:e.Nat64}),qt=e.Record({openid:e.Opt(D),version:e.Opt(e.Nat64),internet_identity:e.Opt(U),rules:e.Opt(te)}),on=e.Record({metadata:e.Vec(e.Tuple(e.Text,e.Text)),scope:I,expires_at:e.Opt(e.Nat64)}),sn=e.Record({controller:on,controllers:e.Vec(e.Principal)}),an=e.Record({version:e.Opt(e.Nat64),max_memory_size:e.Opt($)}),Mt=e.Record({data:e.Vec(e.Nat8),description:e.Opt(e.Text),version:e.Opt(e.Nat64)}),ks=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(lt),write:Xe,max_changes_per_user:e.Opt(e.Nat32)}),Ls=e.Record({iframe:e.Opt(pe),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($),raw_access:e.Opt(Se),redirects:e.Opt(e.Vec(e.Tuple(e.Text,re)))}),fo=e.Record({content:e.Vec(e.Nat8),batch_id:e.Nat,order_id:e.Opt(e.Nat)}),ho=e.Record({chunk_id:e.Nat});return e.Service({authenticate:e.Func([i],[h],[]),commit_asset_upload:e.Func([m],[],[]),commit_proposal:e.Func([g],[e.Null],[]),commit_proposal_asset_upload:e.Func([m],[],[]),commit_proposal_many_assets_upload:e.Func([e.Vec(m)],[],[]),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,v],[],[]),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,v))],[],[]),del_rule:e.Func([C,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(Q)],[]),get_config:e.Func([],[Dr],[]),get_db_config:e.Func([],[e.Opt(se)],[]),get_delegation:e.Func([Ye],[Lr],[]),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(Ze)],[]),get_rule:e.Func([C,e.Text],[e.Opt(ut)],[]),get_storage_config:e.Func([],[ue],[]),http_request:e.Func([jr],[Hr],[]),http_request_streaming_callback:e.Func([dt],[$r],[]),init_asset_upload:e.Func([pt],[Qe],[]),init_proposal:e.Func([ct],[e.Nat,Ze],[]),init_proposal_asset_upload:e.Func([pt,e.Nat],[Qe],[]),init_proposal_many_assets_upload:e.Func([e.Vec(pt),e.Nat],[e.Vec(e.Tuple(e.Text,Qe))],[]),list_assets:e.Func([e.Text,O],[Gr],[]),list_controllers:e.Func([],[e.Vec(e.Tuple(e.Principal,w))],[]),list_custom_domains:e.Func([],[e.Vec(e.Tuple(e.Text,Jr))],[]),list_docs:e.Func([e.Text,O],[Wr],[]),list_proposals:e.Func([Zr],[Qr],[]),list_rules:e.Func([C,tn],[rn],[]),memory_size:e.Func([],[nn],[]),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([qt],[Q],[]),set_controllers:e.Func([sn],[e.Vec(e.Tuple(e.Principal,w))],[]),set_custom_domain:e.Func([e.Text,e.Opt(e.Text)],[],[]),set_db_config:e.Func([an],[se],[]),set_doc:e.Func([e.Text,e.Text,Mt],[s],[]),set_many_docs:e.Func([e.Vec(e.Tuple(e.Text,e.Text,Mt))],[e.Vec(e.Tuple(e.Text,s))],[]),set_rule:e.Func([C,e.Text,ks],[ut],[]),set_storage_config:e.Func([Ls],[ue],[]),submit_proposal:e.Func([e.Nat],[e.Nat,Ze],[]),switch_storage_system_memory:e.Func([],[],[]),upload_asset_chunk:e.Func([fo],[ho],[]),upload_proposal_asset_chunk:e.Func([fo],[ho],[])})},y_=({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}),m=e.Variant({JwtFindProvider:l,GetCachedJwks:e.Null,JwtVerify:f,GetOrFetchJwks:h,DeriveSeedFailed:e.Text}),g=e.Variant({PrepareDelegation:m,RegisterUser:e.Text}),_=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}),I=e.Record({controllers:e.Vec(e.Principal)}),w=e.Record({proposal_ids:e.Vec(e.Nat)}),v=e.Record({targets:e.Opt(e.Vec(e.Principal)),max_time_to_live:e.Opt(e.Nat64)}),C=e.Record({delegation:e.Opt(v),client_id:e.Text}),S=e.Record({observatory_id:e.Opt(e.Principal),providers:e.Vec(e.Tuple(s,C))}),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)}),F=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}),L=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(L),raw_access:e.Opt(A),redirects:e.Opt(e.Vec(e.Tuple(e.Text,V)))}),D=e.Record({authentication:e.Opt(F),storage:P}),U=e.Record({user:e.Principal}),te=e.Record({jwt:e.Text,session_key:e.Vec(e.Nat8),salt:e.Vec(e.Nat8),expiration:e.Nat64}),Q=e.Variant({OpenId:te}),$=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:$}),pe=e.Variant({JwtFindProvider:l,GetCachedJwks:e.Null,NoSuchDelegation:e.Null,JwtVerify:f,GetOrFetchJwks:h,DeriveSeedFailed:e.Text}),Se=e.Variant({Ok:se,Err:pe}),re=e.Variant({Initialized:e.Null,Failed:e.Null,Open:e.Null,Rejected:e.Null,Executed:e.Null,Accepted:e.Null}),ue=e.Record({clear_existing_assets:e.Opt(e.Bool)}),Dr=e.Record({orbiter:e.Opt(e.Text),mission_control_version:e.Opt(e.Text),satellite_version:e.Opt(e.Text)}),kt=e.Variant({AssetsUpgrade:ue,SegmentsDeployment:Dr}),Ye=e.Record({status:re,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}),Ur=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)}),kr=e.Variant({Heap:e.Null,Stable:e.Null}),at=e.Record({memory:kr,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}),Lr=e.Variant({Callback:e.Record({token:at,callback:e.Func([],[],["query"])})}),qr=e.Record({body:e.Vec(e.Nat8),headers:e.Vec(e.Tuple(e.Text,e.Text)),streaming_strategy:e.Opt(Lr),status_code:e.Nat16}),Mr=e.Record({token:e.Opt(at),body:e.Vec(e.Nat8)}),Lt=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}),ct=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}),lt=e.Variant({Equal:e.Nat64,Between:e.Tuple(e.Nat64,e.Nat64),GreaterThan:e.Nat64,LessThan:e.Nat64}),ut=e.Record({key:e.Opt(e.Text),updated_at:e.Opt(lt),description:e.Opt(e.Text),created_at:e.Opt(lt)}),jr=e.Record({start_after:e.Opt(e.Text),limit:e.Opt(e.Nat64)}),dt=e.Record({order:e.Opt(Xe),owner:e.Opt(e.Principal),matcher:e.Opt(ut),paginate:e.Opt(jr)}),Kr=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}),Hr=e.Record({modified:e.Nat64,sha256:e.Vec(e.Nat8),total_length:e.Nat}),$r=e.Record({key:Kr,updated_at:e.Nat64,encodings:e.Vec(e.Tuple(e.Text,Hr)),headers:e.Vec(e.Tuple(e.Text,e.Text)),created_at:e.Nat64,version:e.Opt(e.Nat64)}),pt=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,$r)),items_length:e.Nat64}),Qe=e.Variant({Write:e.Null,Admin:e.Null,Submit:e.Null}),Gr=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)}),Jr=e.Record({updated_at:e.Nat64,created_at:e.Nat64,version:e.Opt(e.Nat64),bn_id:e.Opt(e.Text)}),Wr=e.Variant({Refunded:e.Null,Acknowledged:e.Null,Completed:e.Null}),zr=e.Record({status:Wr,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)}),Yr=e.Record({desc:e.Bool}),Zr=e.Record({start_after:e.Opt(e.Nat),limit:e.Opt(e.Nat)}),Xr=e.Record({order:e.Opt(Yr),paginate:e.Opt(Zr)}),Qr=e.Record({proposal_id:e.Nat}),en=e.Record({matches_length:e.Nat64,items:e.Vec(e.Tuple(Qr,Ye)),items_length:e.Nat64}),tn=e.Record({openid:e.Opt(S),version:e.Opt(e.Nat64),internet_identity:e.Opt(b),rules:e.Opt(N)}),rn=e.Record({metadata:e.Vec(e.Tuple(e.Text,e.Text)),scope:Qe,expires_at:e.Opt(e.Nat64)}),nn=e.Record({controller:rn,controllers:e.Vec(e.Principal)}),qt=e.Variant({Orbiter:e.Null,MissionControl:e.Null,Satellite:e.Null}),on=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(L),raw_access:e.Opt(A),redirects:e.Opt(e.Vec(e.Tuple(e.Text,V)))}),sn=e.Record({max_tokens:e.Nat64,time_per_token_ns:e.Nat64}),an=e.Record({content:e.Vec(e.Nat8),batch_id:e.Nat,order_id:e.Opt(e.Nat)}),Mt=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],[_],[]),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([I],[],[]),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(F)],["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([Q],[Se],["query"]),get_proposal:e.Func([e.Nat],[e.Opt(Ye)],["query"]),get_storage_config:e.Func([],[P],["query"]),http_request:e.Func([Ur],[qr],["query"]),http_request_streaming_callback:e.Func([at],[Mr],["query"]),init_proposal:e.Func([kt],[e.Nat,Ye],[]),init_proposal_asset_upload:e.Func([Lt,e.Nat],[ct],[]),init_proposal_many_assets_upload:e.Func([e.Vec(Lt),e.Nat],[e.Vec(e.Tuple(e.Text,ct))],[]),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,dt],[pt],["query"]),list_controllers:e.Func([],[e.Vec(e.Tuple(e.Principal,Gr))],["query"]),list_custom_domains:e.Func([],[e.Vec(e.Tuple(e.Text,Jr))],["query"]),list_payments:e.Func([],[e.Vec(e.Tuple(e.Nat64,zr))],["query"]),list_proposals:e.Func([Xr],[en],["query"]),reject_proposal:e.Func([x],[e.Null],[]),set_auth_config:e.Func([tn],[F],[]),set_controllers:e.Func([nn],[],[]),set_custom_domain:e.Func([e.Text,e.Opt(e.Text)],[],[]),set_fee:e.Func([qt,t],[],[]),set_storage_config:e.Func([on],[P],[]),submit_proposal:e.Func([e.Nat],[e.Nat,Ye],[]),update_rate_config:e.Func([qt,sn],[],[]),upload_proposal_asset_chunk:e.Func([an],[Mt],[])})},g_=({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}),m=e.Variant({JwtFindProvider:l,GetCachedJwks:e.Null,JwtVerify:f,GetOrFetchJwks:h,DeriveSeedFailed:e.Text}),g=e.Variant({PrepareDelegation:m,RegisterUser:e.Text}),_=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}),I=e.Record({controllers:e.Vec(e.Principal)}),w=e.Record({proposal_ids:e.Vec(e.Nat)}),v=e.Record({targets:e.Opt(e.Vec(e.Principal)),max_time_to_live:e.Opt(e.Nat64)}),C=e.Record({delegation:e.Opt(v),client_id:e.Text}),S=e.Record({observatory_id:e.Opt(e.Principal),providers:e.Vec(e.Tuple(s,C))}),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)}),F=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}),L=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(L),raw_access:e.Opt(A),redirects:e.Opt(e.Vec(e.Tuple(e.Text,V)))}),D=e.Record({authentication:e.Opt(F),storage:P}),U=e.Record({user:e.Principal}),te=e.Record({jwt:e.Text,session_key:e.Vec(e.Nat8),salt:e.Vec(e.Nat8),expiration:e.Nat64}),Q=e.Variant({OpenId:te}),$=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:$}),pe=e.Variant({JwtFindProvider:l,GetCachedJwks:e.Null,NoSuchDelegation:e.Null,JwtVerify:f,GetOrFetchJwks:h,DeriveSeedFailed:e.Text}),Se=e.Variant({Ok:se,Err:pe}),re=e.Variant({Initialized:e.Null,Failed:e.Null,Open:e.Null,Rejected:e.Null,Executed:e.Null,Accepted:e.Null}),ue=e.Record({clear_existing_assets:e.Opt(e.Bool)}),Dr=e.Record({orbiter:e.Opt(e.Text),mission_control_version:e.Opt(e.Text),satellite_version:e.Opt(e.Text)}),kt=e.Variant({AssetsUpgrade:ue,SegmentsDeployment:Dr}),Ye=e.Record({status:re,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}),Ur=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)}),kr=e.Variant({Heap:e.Null,Stable:e.Null}),at=e.Record({memory:kr,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}),Lr=e.Variant({Callback:e.Record({token:at,callback:e.Func([],[],[])})}),qr=e.Record({body:e.Vec(e.Nat8),headers:e.Vec(e.Tuple(e.Text,e.Text)),streaming_strategy:e.Opt(Lr),status_code:e.Nat16}),Mr=e.Record({token:e.Opt(at),body:e.Vec(e.Nat8)}),Lt=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}),ct=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}),lt=e.Variant({Equal:e.Nat64,Between:e.Tuple(e.Nat64,e.Nat64),GreaterThan:e.Nat64,LessThan:e.Nat64}),ut=e.Record({key:e.Opt(e.Text),updated_at:e.Opt(lt),description:e.Opt(e.Text),created_at:e.Opt(lt)}),jr=e.Record({start_after:e.Opt(e.Text),limit:e.Opt(e.Nat64)}),dt=e.Record({order:e.Opt(Xe),owner:e.Opt(e.Principal),matcher:e.Opt(ut),paginate:e.Opt(jr)}),Kr=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}),Hr=e.Record({modified:e.Nat64,sha256:e.Vec(e.Nat8),total_length:e.Nat}),$r=e.Record({key:Kr,updated_at:e.Nat64,encodings:e.Vec(e.Tuple(e.Text,Hr)),headers:e.Vec(e.Tuple(e.Text,e.Text)),created_at:e.Nat64,version:e.Opt(e.Nat64)}),pt=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,$r)),items_length:e.Nat64}),Qe=e.Variant({Write:e.Null,Admin:e.Null,Submit:e.Null}),Gr=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)}),Jr=e.Record({updated_at:e.Nat64,created_at:e.Nat64,version:e.Opt(e.Nat64),bn_id:e.Opt(e.Text)}),Wr=e.Variant({Refunded:e.Null,Acknowledged:e.Null,Completed:e.Null}),zr=e.Record({status:Wr,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)}),Yr=e.Record({desc:e.Bool}),Zr=e.Record({start_after:e.Opt(e.Nat),limit:e.Opt(e.Nat)}),Xr=e.Record({order:e.Opt(Yr),paginate:e.Opt(Zr)}),Qr=e.Record({proposal_id:e.Nat}),en=e.Record({matches_length:e.Nat64,items:e.Vec(e.Tuple(Qr,Ye)),items_length:e.Nat64}),tn=e.Record({openid:e.Opt(S),version:e.Opt(e.Nat64),internet_identity:e.Opt(b),rules:e.Opt(N)}),rn=e.Record({metadata:e.Vec(e.Tuple(e.Text,e.Text)),scope:Qe,expires_at:e.Opt(e.Nat64)}),nn=e.Record({controller:rn,controllers:e.Vec(e.Principal)}),qt=e.Variant({Orbiter:e.Null,MissionControl:e.Null,Satellite:e.Null}),on=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(L),raw_access:e.Opt(A),redirects:e.Opt(e.Vec(e.Tuple(e.Text,V)))}),sn=e.Record({max_tokens:e.Nat64,time_per_token_ns:e.Nat64}),an=e.Record({content:e.Vec(e.Nat8),batch_id:e.Nat,order_id:e.Opt(e.Nat)}),Mt=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],[_],[]),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([I],[],[]),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(F)],[]),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([Q],[Se],[]),get_proposal:e.Func([e.Nat],[e.Opt(Ye)],[]),get_storage_config:e.Func([],[P],[]),http_request:e.Func([Ur],[qr],[]),http_request_streaming_callback:e.Func([at],[Mr],[]),init_proposal:e.Func([kt],[e.Nat,Ye],[]),init_proposal_asset_upload:e.Func([Lt,e.Nat],[ct],[]),init_proposal_many_assets_upload:e.Func([e.Vec(Lt),e.Nat],[e.Vec(e.Tuple(e.Text,ct))],[]),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,dt],[pt],[]),list_controllers:e.Func([],[e.Vec(e.Tuple(e.Principal,Gr))],[]),list_custom_domains:e.Func([],[e.Vec(e.Tuple(e.Text,Jr))],[]),list_payments:e.Func([],[e.Vec(e.Tuple(e.Nat64,zr))],[]),list_proposals:e.Func([Xr],[en],[]),reject_proposal:e.Func([x],[e.Null],[]),set_auth_config:e.Func([tn],[F],[]),set_controllers:e.Func([nn],[],[]),set_custom_domain:e.Func([e.Text,e.Opt(e.Text)],[],[]),set_fee:e.Func([qt,t],[],[]),set_storage_config:e.Func([on],[P],[]),submit_proposal:e.Func([e.Nat],[e.Nat,Ye],[]),update_rate_config:e.Func([qt,sn],[],[]),upload_proposal_asset_chunk:e.Func([an],[Mt],[])})};var x_=async({identity:e,host:t,localActor:r})=>await cr.create({identity:e,host:t,retryTimes:10,shouldFetchRootKey:r}),b_=async({agent:e,...t})=>e??await w_(t),w_=async({identity:e,container:t})=>{let r=W(t)&&t!==!1;return await x_({identity:e,host:r?t===!0?"http://127.0.0.1:5987":t:"https://icp-api.io",localActor:r})};var Id=({satelliteId:e,certified:t=!1,...r})=>Sd({canisterId:e,...r,idlFactory:t?xc:gc});var Ad=({consoleId:e,certified:t=!1,...r})=>Sd({canisterId:e,...r,idlFactory:t?g_:y_}),Sd=({canisterId:e,idlFactory:t,...r})=>{if(k(e))throw new Error("No canister ID provided.");return T_({canisterId:e,idlFactory:t,...r})},T_=async({canisterId:e,idlFactory:t,config:r,...n})=>{let o=await b_(n);return oo.createActor(t,{agent:o,canisterId:e,...r??{}})};var Fd=({satelliteId:e,container:t})=>{let{satelliteId:r}=bc({satelliteId:e}),{container:n}=wc({container:t});if(W(n)&&n!==!1){let{host:o,protocol:i}=new URL(n===!0?ao:n);return`${i}//${r??"unknown"}.${o.replace("127.0.0.1","localhost")}`}return`https://${r??"unknown"}.icp0.io`},bc=({satelliteId:e})=>W(e)?{satelliteId:e}:ve.getInstance().get()??{satelliteId:void 0},wc=({container:e})=>W(e)?{container:e}:ve.getInstance().get()??{container:void 0};var ge=({satellite:e,options:{certified:t}})=>Vd({idlFactory:t?xc:gc,actorKey:`stock#${t?"update":"query"}`,...e}),Cd=({idlFactory:e,...t})=>Vd({idlFactory:e,actorKey:"extended#query",...t}),Vd=async({satelliteId:e,container:t,...r})=>{let{satelliteId:n}=bc({satelliteId:e});ti(n,"No satellite ID defined. Did you initialize Juno?");let{container:o}=wc({container:t});return await lo.getInstance().getActor({satelliteId:n,container:o,...r})};var bs=class extends Error{},pr=class extends Error{},ws=class extends Error{},Ts=class extends Error{},Ns=class extends Error{},Os=class extends Error{},Es=class extends Error{},Rs=class extends Error{},vs=class extends Error{};var Pd=e=>{if(k(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 vs("Invalid list matcher for timestamp",e)}},Br=({matcher:e,paginate:t,order:r,owner:n})=>({matcher:k(e)?[]:[{key:ie(e.key),description:ie(e.description),created_at:Pd(e.createdAt),updated_at:Pd(e.updatedAt)}],paginate:ie(k(t)?void 0:{start_after:ie(t.startAfter),limit:ie(k(t.limit)?void 0:BigInt(t.limit))}),order:ie(k(r)?void 0:{desc:r.desc,field:r.field==="created_at"?{CreatedAt:null}:r.field==="updated_at"?{UpdatedAt:null}:{Keys:null}}),owner:ie(k(n)?void 0:typeof n=="string"?M.fromText(n):n)});var Bd=async e=>{let t=new Blob([JSON.stringify(e,Xu)],{type:"application/json; charset=utf-8"});return new Uint8Array(await t.arrayBuffer())},Is=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(),Qu)},As=()=>typeof window<"u";var Dd=async({data:e})=>{try{return await Is(e)}catch(t){console.error("The data parsing has failed, mapping to undefined as a fallback.",t);return}};var Tc=async e=>{let{data:t,version:r,description:n}=e;return{description:ie(n),data:await Bd(t),version:ie(r)}},Nc=e=>{let{version:t}=e;return{version:ie(t)}},Cn=async({doc:e,key:t})=>{let{owner:r,version:n,description:o,data:i,...s}=e;return{key:t,description:ye(o),owner:r.toText(),data:await Is(i),version:ye(n),...s}};var Ud=async({collection:e,key:t,...r})=>{let{get_doc:n}=await ge(r),o=ye(await n(e,t));if(!k(o))return Cn({doc:o,key:t})},kd=async({docs:e,...t})=>{let{get_many_docs:r}=await ge(t),n=e.map(({collection:s,key:a})=>[s,a]),o=await r(n),i=[];for(let[s,a]of o){let c=ye(a);i.push(W(c)?await Cn({key:s,doc:c}):void 0)}return i},Ld=async({collection:e,doc:t,...r})=>{let{set_doc:n}=await ge(r),{key:o}=t,i=await Tc(t),s=await n(e,o,i);return await Cn({key:o,doc:s})},qd=async({docs:e,...t})=>{let{set_many_docs:r}=await ge(t),n=[];for(let{collection:s,doc:a}of e){let{key:c}=a;n.push([s,c,await Tc(a)])}let o=await r(n),i=[];for(let[s,a]of o)i.push(await Cn({key:s,doc:a}));return i},Md=async({collection:e,doc:t,...r})=>{let{del_doc:n}=await ge(r),{key:o}=t;return n(e,o,Nc(t))},jd=async({docs:e,...t})=>{let{del_many_docs:r}=await ge(t),n=e.map(({collection:o,doc:i})=>[o,i.key,Nc(i)]);await r(n)},Kd=async({collection:e,filter:t,...r})=>{let{del_filtered_docs:n}=await ge(r);return n(e,Br(t))},Hd=async({collection:e,filter:t,...r})=>{let{list_docs:n}=await ge(r),{items:o,items_page:i,items_length:s,matches_length:a,matches_pages:c}=await n(e,Br(t)),u=[];for(let[p,d]of o){let{data:l,owner:f,description:h,version:m,...g}=d;u.push({key:p,description:ye(h),owner:f.toText(),data:await Dd({data:l}),version:ye(m),...g})}return{items:u,items_length:s,items_page:ye(i),matches_length:a,matches_pages:ye(c)}},$d=async({collection:e,filter:t,...r})=>{let{count_docs:n}=await ge(r);return n(e,Br(t))};var Ss=async({satellite:e,options:t,...r})=>{let n=le(e?.identity);return await Ud({...r,satellite:{...e,identity:n},options:t??Dt})},hT=async({satellite:e,options:t,...r})=>{let n=le(e?.identity);return await kd({...r,satellite:{...e,identity:n},options:t??Dt})},Gd=async({satellite:e,...t})=>{let r=le(e?.identity);return await Ld({...t,satellite:{...e,identity:r},options:{certified:!0}})},Jd=async({satellite:e,...t})=>{let r=le(e?.identity);return await qd({...t,satellite:{...e,identity:r},options:{certified:!0}})},mT=async({satellite:e,...t})=>{let r=le(e?.identity);return await Md({...t,satellite:{...e,identity:r},options:{certified:!0}})},_T=async({satellite:e,...t})=>{let r=le(e?.identity);return await jd({...t,satellite:{...e,identity:r},options:{certified:!0}})},yT=async({satellite:e,filter:t,...r})=>{let n=le(e?.identity);return await Kd({...r,filter:t??{},satellite:{...e,identity:n},options:{certified:!0}})},gT=async({satellite:e,options:t,filter:r,...n})=>{let o=le(e?.identity);return await Hd({...n,filter:r??{},satellite:{...e,identity:o},options:t??Dt})},xT=async({satellite:e,options:t,filter:r,...n})=>{let o=le(e?.identity);return await $d({...n,filter:r??{},satellite:{...e,identity:o},options:t??Dt})};var Wd=async({provider:e})=>{let{user:t,userId:r}=await Fs();if(W(t))return t;try{return await N_({userId:r,provider:e})}catch(n){if(yc({error:n,type:vd})){let o=await zd({userId:r});if(W(o))return o}throw n}},Fs=async()=>{let e=xs();if(k(e))throw new Rs("No identity to initialize the user. Have you initialized Juno?");let t=e.getPrincipal().toText(),r=await zd({userId:t});return{userId:t,user:r}},zd=({userId:e})=>Ss({collection:"#user",key:e}),N_=({userId:e,...t})=>Gd({collection:"#user",doc:{key:e,data:t}});var Cs=async({syncTabsOnSuccess:e}={syncTabsOnSuccess:!1})=>{await li({fn:async()=>{let{user:r}=await Fs();Pe.getInstance().set(r??null)},syncTabsOnSuccess:e})},Yd=async()=>{await Rd({fn:async({authenticated:t})=>{let n=t?Fs:()=>Promise.resolve({user:null}),{user:o}=await n();Pe.getInstance().set(o??null)}})},Vs=async({user:e})=>{await li({fn:async()=>{Pe.getInstance().set(e)},syncTabsOnSuccess:!0})};var Zd=()=>{try{let e=uo.getInstance(),t=async()=>{await Yd(),ni({message:"junoSignInReload"})};return e.onLoginSuccess(t),()=>{e?.destroy()}}catch(e){console.warn("Auth BroadcastChannel initialization failed",e);return}};var Xd=()=>{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()},Qd=()=>{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()},ep=()=>{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 tp=BigInt(144e11),rp=!1,np={width:576,height:576},op={width:424,height:576};var ui="internetcomputer.org",ip="ic0.app",sp="id.ai";var ap=({width:e,height:t})=>{if(!As()||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 Ut=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 cp=(r=>(r[r.AuthorizingWithProvider=0]="AuthorizingWithProvider",r[r.CreatingOrRetrievingUser=1]="CreatingOrRetrievingUser",r))(cp||{});var Ps=class{async signIn({options:t,authClient:r,initAuth:n}){await Ut({fn:async()=>await this.#e({options:t,authClient:r}),step:0,onProgress:t?.onProgress}),await Ut({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 pr("No client is ready to perform a sign-in. Have you initialized the Satellite?"));return}await r.login({onSuccess:n,onError:i=>{if(i===gs){o(new ws(i));return}o(new bs(i))},maxTimeToLive:t?.maxTimeToLiveInNanoseconds??tp,allowPinAuthentication:t?.allowPin??rp,...t?.derivationOrigin!==void 0&&{derivationOrigin:t.derivationOrigin},...this.signInOptions({windowed:t?.windowed})})})}};var Bs=class extends Ps{#e;constructor({domain:t}){super(),this.#e=t}get id(){return"internet_identity"}signInOptions({windowed:t}){let n=(()=>{let i=ve.getInstance().get()?.container;if(k(i)||i===!1){let p=[ui,ip].includes(this.#e??ui);return io(this.#e)?`https://identity.${ui}`:p?`https://identity.${this.#e??ui}`:`https://${this.#e}`}let s=ve.getInstance().get(),a=W(s)&&W(s?.internetIdentityId)?s.internetIdentityId:cd,{host:c,protocol:u}=new URL(i===!0?ao:i);return/apple/i.test(navigator?.vendor)?`${u}//${c}?canisterId=${a}`:`${u}//${a}.${c.replace("127.0.0.1","localhost")}`})();return{...t!==!1&&{windowOpenerFeatures:ap((()=>{try{let{hostname:i}=new URL(n);return i.includes(sp)}catch{return!1}})()?op:np)},identityProvider:n}}};var Oc=class extends Error{},Ec=class extends Error{},Rc=class extends Error{},vc=class extends Error{},Ic=class extends Error{},Ac=class extends Error{},Sc=class extends Error{},Fc=class extends Error{},Cc=class extends Error{},Vc=class extends Error{};var lp=({auth:e,identity:t})=>"satellite"in e?Id({...e.satellite,identity:t}):Ad({...e.console,identity:t}),O_=async({actorParams:e,args:t})=>{let{authenticate:r}=await lp(e);return await r(t)},E_=async({actorParams:e,args:t})=>{let{get_delegation:r}=await lp(e);return await r(t)},R_=({delegations:e,sessionKey:t})=>{let[r,n]=e,o=ur.fromDelegations(n,Uint8Array.from(r));return{identity:dr.fromDelegation(t,o),delegationChain:o,sessionKey:t}},Pc=async({jwt:e,context:t,auth:r})=>{let n=await Vt.generate({extractable:!1}),o=new Uint8Array(n.getPublicKey().toDer()),{delegations:i,data:s}=await v_({jwt:e,publicKey:o,context:t,auth:r});return{identity:R_({sessionKey:n,delegations:i}),data:s}},v_=async({jwt:e,publicKey:t,context:{caller:r,salt:n},auth:o})=>{let i=await O_({args:{OpenId:{jwt:e,session_key:t,salt:n}},actorParams:{auth:o,identity:r}});if("Err"in i)throw new Ic("Authentication failed",{cause:i});let{delegation:{user_key:s,expiration:a},...c}=i.Ok,u=await I_({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 Pr(Uint8Array.from(l),f,ye(h)),signature:Uint8Array.from(d)}]],data:c}},I_=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 E_({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 Cc("Getting delegation failed",{cause:c})}return c.Ok}throw new Vc};var Bc="juno:auth:openid",Dc={authUrl:"https://accounts.google.com/o/oauth2/v2/auth",authScopes:["openid","profile","email"],configUrl:"https://accounts.google.com/gsi/fedcm.json"};var up=e=>Cr(e).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,""),A_=()=>window.crypto.getRandomValues(new Uint8Array(32)),S_=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 up(lr(o))},F_=async({caller:e})=>{let t=A_();return{nonce:await S_({salt:t,caller:e}),salt:t}},dp="__caller__",pp="__salt__",fp="__state__",C_=({caller:e,state:t,salt:r})=>{let n={[dp]:e.toJSON(),[pp]:Cr(r),[fp]:t};return JSON.stringify(n)},V_=e=>{let{[dp]:t,[pp]:r,[fp]:n}=JSON.parse(e);return{caller:Nt.fromParsedJson(t),salt:Zu(r),state:n}},P_=()=>up(window.crypto.getRandomValues(new Uint8Array(12))),hp=async()=>{let e=Nt.generate(),{nonce:t,salt:r}=await F_({caller:e}),n=P_(),o=C_({caller:e,salt:r,state:n});return sessionStorage.setItem(Bc,o),{nonce:t,state:n}},mp=()=>{let e=sessionStorage.getItem(Bc);if(k(e))throw new Ec;return V_(e)};var Uc=async e=>{let t=mp();if("credentials"in e){let{credentials:{jwt:r},auth:n}=e;return await Pc({jwt:r,context:t,auth:n})}return await B_({...e,context:t})},B_=async({auth:e,context:t})=>{let{location:{hash:r}}=window;if(io(r)||!r.startsWith("#"))throw new Ac("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(io(s)||o!==s)throw new Sc("The provided state is invalid",{cause:o});if(io(i))throw new Fc;return await Pc({jwt:i,auth:e,context:t})};var _p=({authUrl:e,clientId:t,nonce:r,loginHint:n,authScopes:o,state:i,redirectUrl:s})=>{let a=(()=>{try{return new URL(e)}catch{throw new Oc("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),ei(n)?a.searchParams.set("login_hint",n):a.searchParams.set("prompt","select_account"),window.location.href=a.toString()},yp=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 Rc;let{type:s}=i;if(s!=="identity"||!("token"in i)||typeof i.token!="string")throw new vc("Invalid credential received from FedCM API",{cause:i});let{token:a}=i;return{jwt:a}};async function kc({google:e}){let t=await hp();if("credentials"in e){let{credentials:i}=e,{configUrl:s}=Dc;return await yp({...i,...t,configUrl:s})}let{redirect:r}=e,{authUrl:n,authScopes:o}=Dc;_p({...r,...t,authUrl:n,authScopes:o})}var D_=async()=>{let{satelliteId:e}=ve.getInstance().get()??{satelliteId:void 0};if(k(e))throw new pr("Satellite ID not set. Have you initialized the Satellite?");let t=ve.getInstance().get()?.container,{identity:{delegationChain:r,sessionKey:n,identity:o},data:{doc:i}}=await Uc({redirect:null,auth:{satellite:{satelliteId:e,container:t}}});await Be.getInstance().setAuthClientStorage({delegationChain:r,sessionKey:n});let s=await Cn({doc:i,key:o.getPrincipal().toText()});await Vs({user:s})};var gp=e=>(e.preventDefault(),e.returnValue="Are you sure you want to exit?"),U_=()=>{window.addEventListener("beforeunload",gp,{capture:!0})},k_=()=>{window.removeEventListener("beforeunload",gp,{capture:!0})},Ds=async({fn:e})=>{try{return U_(),await e()}finally{k_()}};var Us=class{async signIn({options:t={}}){let r=t?.redirect?.clientId??ep();if(k(r))throw new Ns;let{redirect:n}=t;await kc({google:{redirect:{...n??{},clientId:r}}})}};var xp=async({delegationIdentity:e,passkeyIdentity:t,satelliteId:r})=>{let n=t.getCredential().getAAGUID(),[o,i]=await Jd({docs:[{collection:"#user",doc:{key:e.getPrincipal().toText(),data:{provider:"webauthn",providerData:{webauthn:{...W(n)&&{aaguid:fs(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||{}),wp=(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))(wp||{});var po=class{async signUp({options:{onProgress:t,maxTimeToLiveInMilliseconds:r,passkey:n}={},loadAuthWithUser:o}){let{satelliteId:i}=ve.getInstance().get()??{satelliteId:void 0};if(k(i))throw new pr("Satellite ID not set. Have you initialized the Satellite?");let s=({step:m,state:g})=>{switch(m){case Vr.RequestingUserCredential:t?.({step:1,state:g});break;case Vr.FinalizingCredential:t?.({step:2,state:g});break;case Vr.Signing:t?.({step:3,state:g});break}},c=await Ut({fn:async()=>await oc.createWithNewCredential({onProgress:s,passkeyOptions:n}),step:0,onProgress:t}),{delegationIdentity:u,sessionKey:p}=await this.#e({identity:c,maxTimeToLiveInMilliseconds:r}),l=await Ut({fn:async()=>await xp({delegationIdentity:u,passkeyIdentity:c,satelliteId:i}),step:5,onProgress:t});await Ut({fn:async()=>await this.#t({delegationIdentity:u,sessionKey:p}),step:4,onProgress:t}),await Ut({fn:async()=>await o({user:l}),step:5,onProgress:t})}async signIn({options:{onProgress:t,maxTimeToLiveInMilliseconds:r}={},loadAuth:n}){let{satelliteId:o}=ve.getInstance().get()??{satelliteId:void 0};if(k(o))throw new pr("Satellite ID not set. Have you initialized the Satellite?");let i=async({credentialId:d})=>{let l=await Ss({collection:"#user-webauthn",key:Cr(d),options:{certified:!0},satellite:{identity:new rt,satelliteId:o}});if(k(l))throw new Os("No public key found for the selected passkey.");let{data:f}=l,{publicKey:h}=f;return Fn(h,Xo)},s=({step:d,state:l})=>{switch(d){case Vr.RequestingUserCredential:t?.({step:0,state:l});break;case Vr.FinalizingCredential:t?.({step:1,state:l});break;case Vr.Signing:t?.({step:2,state:l});break}},a=await oc.createWithExistingCredential({retrievePublicKey:i,onProgress:s}),{delegationIdentity:c,sessionKey:u}=await this.#e({identity:a,maxTimeToLiveInMilliseconds:r});await Ut({fn:async()=>await this.#t({delegationIdentity:c,sessionKey:u}),step:3,onProgress:t}),await Ut({fn:n,step:4,onProgress:t})}async#e({identity:t,maxTimeToLiveInMilliseconds:r}){let n=await Vt.generate({extractable:!1}),o=r??144e5,i=await ur.create(t,n.getPublicKey(),new Date(Date.now()+o));return{delegationIdentity:dr.fromDelegation(n,i),sessionKey:n}}async#t({sessionKey:t,delegationIdentity:r}){let n=new Bt;await Promise.all([n.set($e,t.getKeyPair()),n.set(He,JSON.stringify(r.getDelegation().toJSON()))])}};var q_=async({provider:e})=>{await li({fn:async()=>{let r=await Wd({provider:e});Pe.getInstance().set(r)},syncTabsOnSuccess:!0})},M_=async e=>{if("google"in e){let{google:{options:t}}=e;await Lc({fn:()=>new Us().signIn({options:t}),context:{windowGuard:!1}});return}if("webauthn"in e){let{webauthn:{options:t,context:r}}=e;await Lc({fn:()=>new po().signIn({options:t,loadAuth:()=>Cs({syncTabsOnSuccess:!0})}),context:r});return}if("internet_identity"in e){let{internet_identity:{options:t,context:r}}=e,{domain:n,...o}=t??{};await Lc({fn:()=>new Bs({domain:n}).signIn({options:o,authClient:Be.getInstance().getAuthClient(),initAuth:q_}),context:r});return}throw new Ts("An unknown or unsupported provider was provided for sign-in.")},Lc=async({fn:e,context:t})=>{if(t?.windowGuard===!1){await e();return}await Ds({fn:e})};var j_=async e=>{let t=async()=>await K_(e);if(Object.values(e)?.[0].context?.windowGuard===!1){await t();return}await Ds({fn:t})},K_=async e=>{if("webauthn"in e){let{webauthn:{options:t}}=e;await new po().signUp({options:t,loadAuthWithUser:Vs});return}throw new Es("An unknown or unsupported provider was provided for sign-up.")};var jO=e=>e?.data?.provider==="webauthn",KO=e=>e?.data?.provider==="google";var JO=async({idlFactory:e,satellite:t})=>{let r=le(t?.identity);return await Cd({idlFactory:e,...t,identity:r})};var Tp=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(H_(r));o?.onInitiatedBatch();let{chunkIds:u}=await J_({data:e,uploadFn:s,batchId:c});o?.onUploadedFileChunks(r.fullPath),await G_({commitFn:a,batchId:c,data:e,headers:t,chunkIds:u}),o?.onCommittedBatch()};var H_=({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)}),$_=({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??[]]}},G_=async({commitFn:e,...t})=>{let r=$_(t);await e(r)},J_=async({data:e,uploadFn:t,batchId:r})=>{let n=[],o=As()?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 W_({uploadChunks:n}))s=[...s,...a];return{chunkIds:s}};async function*W_({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=>z_(o)))}}var z_=async({batchId:e,chunk:t,uploadFn:r,orderId:n})=>r({batch_id:e,content:new Uint8Array(await t.arrayBuffer()),order_id:ie(n)});var Np=async({asset:e,...t})=>{let r=await ge(t);await Tp({actor:r,asset:e})},Op=async({collection:e,filter:t,...r})=>{let{list_assets:n}=await ge(r),{items:o,items_length:i,items_page:s,matches_length:a,matches_pages:c}=await n(e,Br(t));return{items:o.map(([u,p])=>p),items_length:i,items_page:ye(s),matches_length:a,matches_pages:ye(c)}},Ep=async({collection:e,filter:t,...r})=>{let{count_assets:n}=await ge(r);return n(e,Br(t))},Rp=async({collection:e,fullPath:t,...r})=>(await ge(r)).del_asset(e,t),vp=async({assets:e,satellite:t})=>{let{del_many_assets:r}=await ge({satellite:t,options:{certified:!0}}),n=e.map(({collection:o,fullPath:i})=>[o,i]);await r(n)},Ip=async({collection:e,filter:t,...r})=>{let{del_filtered_assets:n}=await ge(r);return n(e,Br(t))},Ap=async({collection:e,fullPath:t,token:r,...n})=>{let{set_asset_token:o}=await ge(n);return o(e,t,ie(r))},Sp=async({collection:e,fullPath:t,...r})=>{let{get_asset:n}=await ge(r);return ye(await n(e,t))},Fp=async({assets:e,...t})=>{let{get_many_assets:r}=await ge(t),n=e.map(({collection:i,fullPath:s})=>[i,s]);return(await r(n)).map(([i,s])=>ye(s))};var Cp=e=>btoa([...e].map(t=>String.fromCharCode(t)).join(""));var u6=e=>Vp(e),d6=e=>Vp({filename:e.data.name,...e}),Vp=async({filename:e,data:t,collection:r,headers:n=[],fullPath:o,token:i,satellite:s,encoding:a,description:c})=>{let u=le(s?.identity),p=decodeURI(e),d=o??`/${r}/${p}`,l={...s,identity:u};return await Np({asset:{data:t,filename:p,collection:r,token:i,headers:n,fullPath:d,encoding:a,description:c},satellite:l,options:{certified:!0}}),{downloadUrl:Pp({satellite:l,assetKey:{fullPath:d,token:i}}),fullPath:d,...W(i)&&{token:i},name:p}},p6=async({collection:e,filter:t,satellite:r,options:n})=>{let o={...r,identity:le(r?.identity)},{items:i,...s}=await Op({collection:e,filter:t??{},satellite:o,options:n??Dt}),a=i.map(({key:{full_path:c,token:u,name:p,owner:d,description:l},headers:f,encodings:h,created_at:m,updated_at:g})=>{let _=ye(u);return{fullPath:c,description:ye(l),name:p,downloadUrl:Pp({satellite:o,assetKey:{fullPath:c,token:_}}),token:_,headers:f,encodings:h.reduce((x,[y,{modified:T,sha256:E,total_length:O}])=>({...x,[y]:{modified:T,sha256:Cp(E),total_length:O}}),{}),owner:d.toText(),created_at:m,updated_at:g}});return{items:a,assets:a,...s}},f6=async({collection:e,filter:t,satellite:r,options:n})=>{let o={...r,identity:le(r?.identity)};return await Ep({collection:e,satellite:o,filter:t??{},options:n??Dt})},h6=({collection:e,fullPath:t,satellite:r})=>Rp({collection:e,fullPath:t,satellite:{...r,identity:le(r?.identity)},options:{certified:!0}}),m6=({collection:e,fullPath:t,token:r,satellite:n})=>Ap({collection:e,fullPath:t,token:r,satellite:{...n,identity:le(n?.identity)},options:{certified:!0}}),_6=({assets:e,satellite:t})=>vp({assets:e,satellite:{...t,identity:le(t?.identity)},options:{certified:!0}}),y6=async({collection:e,satellite:t,filter:r})=>{let n={...t,identity:le(t?.identity)};return await Ip({collection:e,satellite:n,filter:r??{},options:{certified:!0}})},g6=async({satellite:e,options:t,...r})=>{let n=le(e?.identity);return await Sp({...r,satellite:{...e,identity:n},options:t??Dt})},x6=async({satellite:e,options:t,...r})=>{let n=le(e?.identity);return await Fp({...r,satellite:{...e,identity:n},options:t??Dt})},Pp=({assetKey:{fullPath:e,token:t},satellite:r})=>{let n={...r,identity:le(r?.identity)};return`${Fd(n)}${e}${W(t)?`?token=${t}`:""}`};var Y_=e=>{let t=e?.satelliteId??Xd();ti(t,"Satellite ID is not configured. Juno cannot be initialized.");let r=e?.container??Qd();return{satelliteId:t,internetIdentityId:e?.internetIdentityId,workers:e?.workers,syncTabs:e?.syncTabs,container:r}},A6=e=>Z_(e),Z_=async e=>{let t=Y_(e);ve.getInstance().set(t),await Cs();let r=t.workers?.auth!==void 0?Ed(t.workers.auth):void 0,n=t.syncTabs===!1?void 0:Zd();return[...W(r)?[r]:[],...W(n)?[n]:[]]},X_=e=>Pe.getInstance().subscribe(e),S6=X_;export{cp as AuthClientSignInProgressStep,Rs as InitError,Bs as InternetIdentityProvider,vs as ListError,bs as SignInError,pr as SignInInitError,Ns as SignInMissingClientIdError,Ts as SignInProviderNotSupportedError,ws as SignInUserInterruptError,Es as SignUpProviderNotSupportedError,bp as WebAuthnSignInProgressStep,Os as WebAuthnSignInRetrievePublicKeyError,wp as WebAuthnSignUpProgressStep,S6 as authSubscribe,f6 as countAssets,xT as countDocs,h6 as deleteAsset,mT as deleteDoc,y6 as deleteFilteredAssets,yT as deleteFilteredDocs,_6 as deleteManyAssets,_T as deleteManyDocs,Pp as downloadUrl,g6 as getAsset,Ss as getDoc,__ as getIdentityOnce,x6 as getManyAssets,hT as getManyDocs,JO as getSatelliteExtendedActor,D_ as handleRedirectCallback,A6 as initJuno,Z_ as initSatellite,KO as isGoogleUser,jm as isWebAuthnAvailable,jO as isWebAuthnUser,p6 as listAssets,gT as listDocs,X_ as onAuthStateChange,m6 as setAssetToken,Gd as setDoc,Jd as setManyDocs,M_ as signIn,_c as signOut,j_ as signUp,m_ as unsafeIdentity,u6 as uploadBlob,d6 as uploadFile};
|
|
55
55
|
/*! Bundled license information:
|
|
56
56
|
|
|
57
57
|
@noble/hashes/esm/utils.js:
|