@rizom/ops 0.2.0-alpha.517 → 0.2.0-alpha.519

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.
@@ -451,7 +451,7 @@ params: ${t}`);if(this.query=e,this.params=t,this.cause=r,Error.captureStackTrac
451
451
  hash text NOT NULL,
452
452
  created_at numeric
453
453
  )
454
- `;await t.run(n);let s=(await t.values(q`SELECT id, hash, created_at FROM ${q.identifier(i)} ORDER BY created_at DESC LIMIT 1`))[0]??void 0;await t.transaction(async(a)=>{for(let c of e)if(!s||Number(s[2])<c.folderMillis){for(let l of c.sql)await a.run(q.raw(l));await a.run(q`INSERT INTO ${q.identifier(i)} ("hash", "created_at") VALUES(${c.hash}, ${c.folderMillis})`)}})}}});var uO;var mV=x(()=>{Ne();uO=class uO{static[J]="TypedQueryBuilder";getSelectedFields(){return this._.selectedFields}}});function Sx(e,t){return(r,i,...n)=>{let o=[i,...n].map((s)=>({type:e,isAll:t,rightSelect:s}));for(let s of o)if(!Op(r.getSelectedFields(),s.rightSelect.getSelectedFields()))throw Error("Set operator error (union / intersect / except): selected fields are not the same or are in a different order");return r.addSetOperators(o)}}var Gn,hV,dO,tke=()=>({union:rke,unionAll:nke,intersect:ike,except:oke}),rke,nke,ike,oke;var fO=x(()=>{Ne();mV();co();Ga();pr();Vn();Er();qr();oo();vu();jp();Gn=class Gn{static[J]="SQLiteSelectBuilder";fields;session;dialect;withList;distinct;constructor(e){this.fields=e.fields,this.session=e.session,this.dialect=e.dialect,this.withList=e.withList,this.distinct=e.distinct}from(e){let t=!!this.fields,r;if(this.fields)r=this.fields;else if(ce(e,vt))r=Object.fromEntries(Object.keys(e._.selectedFields).map((i)=>[i,e[i]]));else if(ce(e,fo))r=e[_t].selectedFields;else if(ce(e,Ae))r={};else r=cx(e);return new dO({table:e,fields:r,isPartialSelect:t,session:this.session,dialect:this.dialect,withList:this.withList,distinct:this.distinct})}};hV=class hV extends uO{static[J]="SQLiteSelectQueryBuilder";_;config;joinsNotNullableMap;tableName;isPartialSelect;session;dialect;cacheConfig=void 0;usedTables=new Set;constructor({table:e,fields:t,isPartialSelect:r,session:i,dialect:n,withList:o,distinct:s}){super();this.config={withList:o,table:e,fields:{...t},distinct:s,setOperators:[]},this.isPartialSelect=r,this.session=i,this.dialect=n,this._={selectedFields:t,config:this.config},this.tableName=Rp(e),this.joinsNotNullableMap=typeof this.tableName==="string"?{[this.tableName]:!0}:{};for(let a of Wn(e))this.usedTables.add(a)}getUsedTables(){return[...this.usedTables]}createJoin(e){return(t,r)=>{let i=this.tableName,n=Rp(t);for(let o of Wn(t))this.usedTables.add(o);if(typeof n==="string"&&this.config.joins?.some((o)=>o.alias===n))throw Error(`Alias "${n}" is already used in this query`);if(!this.isPartialSelect){if(Object.keys(this.joinsNotNullableMap).length===1&&typeof i==="string")this.config.fields={[i]:this.config.fields};if(typeof n==="string"&&!ce(t,Ae)){let o=ce(t,vt)?t._.selectedFields:ce(t,Tn)?t[_t].selectedFields:t[we.Symbol.Columns];this.config.fields[n]=o}}if(typeof r==="function")r=r(new Proxy(this.config.fields,new xt({sqlAliasedBehavior:"sql",sqlBehavior:"sql"})));if(!this.config.joins)this.config.joins=[];if(this.config.joins.push({on:r,table:t,joinType:e,alias:n}),typeof n==="string")switch(e){case"left":{this.joinsNotNullableMap[n]=!1;break}case"right":{this.joinsNotNullableMap=Object.fromEntries(Object.entries(this.joinsNotNullableMap).map(([o])=>[o,!1])),this.joinsNotNullableMap[n]=!0;break}case"cross":case"inner":{this.joinsNotNullableMap[n]=!0;break}case"full":{this.joinsNotNullableMap=Object.fromEntries(Object.entries(this.joinsNotNullableMap).map(([o])=>[o,!1])),this.joinsNotNullableMap[n]=!1;break}}return this}}leftJoin=this.createJoin("left");rightJoin=this.createJoin("right");innerJoin=this.createJoin("inner");fullJoin=this.createJoin("full");crossJoin=this.createJoin("cross");createSetOperator(e,t){return(r)=>{let i=typeof r==="function"?r(tke()):r;if(!Op(this.getSelectedFields(),i.getSelectedFields()))throw Error("Set operator error (union / intersect / except): selected fields are not the same or are in a different order");return this.config.setOperators.push({type:e,isAll:t,rightSelect:i}),this}}union=this.createSetOperator("union",!1);unionAll=this.createSetOperator("union",!0);intersect=this.createSetOperator("intersect",!1);except=this.createSetOperator("except",!1);addSetOperators(e){return this.config.setOperators.push(...e),this}where(e){if(typeof e==="function")e=e(new Proxy(this.config.fields,new xt({sqlAliasedBehavior:"sql",sqlBehavior:"sql"})));return this.config.where=e,this}having(e){if(typeof e==="function")e=e(new Proxy(this.config.fields,new xt({sqlAliasedBehavior:"sql",sqlBehavior:"sql"})));return this.config.having=e,this}groupBy(...e){if(typeof e[0]==="function"){let t=e[0](new Proxy(this.config.fields,new xt({sqlAliasedBehavior:"alias",sqlBehavior:"sql"})));this.config.groupBy=Array.isArray(t)?t:[t]}else this.config.groupBy=e;return this}orderBy(...e){if(typeof e[0]==="function"){let t=e[0](new Proxy(this.config.fields,new xt({sqlAliasedBehavior:"alias",sqlBehavior:"sql"}))),r=Array.isArray(t)?t:[t];if(this.config.setOperators.length>0)this.config.setOperators.at(-1).orderBy=r;else this.config.orderBy=r}else{let t=e;if(this.config.setOperators.length>0)this.config.setOperators.at(-1).orderBy=t;else this.config.orderBy=t}return this}limit(e){if(this.config.setOperators.length>0)this.config.setOperators.at(-1).limit=e;else this.config.limit=e;return this}offset(e){if(this.config.setOperators.length>0)this.config.setOperators.at(-1).offset=e;else this.config.offset=e;return this}getSQL(){return this.dialect.buildSelectQuery(this.config)}toSQL(){let{typings:e,...t}=this.dialect.sqlToQuery(this.getSQL());return t}as(e){let t=[];if(t.push(...Wn(this.config.table)),this.config.joins)for(let r of this.config.joins)t.push(...Wn(r.table));return new Proxy(new vt(this.getSQL(),this.config.fields,e,!1,[...new Set(t)]),new xt({alias:e,sqlAliasedBehavior:"alias",sqlBehavior:"error"}))}getSelectedFields(){return new Proxy(this.config.fields,new xt({alias:this.tableName,sqlAliasedBehavior:"alias",sqlBehavior:"error"}))}$dynamic(){return this}};dO=class dO extends hV{static[J]="SQLiteSelect";_prepare(e=!0){if(!this.session)throw Error("Cannot execute a query on a query builder. Please use a database instance instead.");let t=Cn(this.config.fields),r=this.session[e?"prepareOneTimeQuery":"prepareQuery"](this.dialect.sqlToQuery(this.getSQL()),t,"all",!0,void 0,{type:"select",tables:[...this.usedTables]},this.cacheConfig);return r.joinsNotNullableMap=this.joinsNotNullableMap,r}$withCache(e){return this.cacheConfig=e===void 0?{config:{},enable:!0,autoInvalidate:!0}:e===!1?{enable:!1}:{enable:!0,autoInvalidate:!0,...e},this}prepare(){return this._prepare(!1)}run=(e)=>this._prepare().run(e);all=(e)=>this._prepare().all(e);get=(e)=>this._prepare().get(e);values=(e)=>this._prepare().values(e);async execute(){return this.all()}};KJ(dO,[Ur]);rke=Sx("union",!1),nke=Sx("union",!0),ike=Sx("intersect",!1),oke=Sx("except",!1)});var Ya;var wx=x(()=>{Ne();Ga();xx();Vn();fO();Ya=class Ya{static[J]="SQLiteQueryBuilder";dialect;dialectConfig;constructor(e){this.dialect=ce(e,ku)?e:void 0,this.dialectConfig=ce(e,ku)?void 0:e}$with=(e,t)=>{let r=this;return{as:(n)=>{if(typeof n==="function")n=n(r);return new Proxy(new Tp(n.getSQL(),t??("getSelectedFields"in n?n.getSelectedFields()??{}:{}),e,!0),new xt({alias:e,sqlAliasedBehavior:"alias",sqlBehavior:"error"}))}}};with(...e){let t=this;function r(n){return new Gn({fields:n??void 0,session:void 0,dialect:t.getDialect(),withList:e})}function i(n){return new Gn({fields:n??void 0,session:void 0,dialect:t.getDialect(),withList:e,distinct:!0})}return{select:r,selectDistinct:i}}select(e){return new Gn({fields:e??void 0,session:void 0,dialect:this.getDialect()})}selectDistinct(e){return new Gn({fields:e??void 0,session:void 0,dialect:this.getDialect(),distinct:!0})}getDialect(){if(!this.dialect)this.dialect=new cO(this.dialectConfig);return this.dialect}}});var vx,pO;var gV=x(()=>{Ne();co();pr();lo();Er();qr();vu();wx();vx=class vx{constructor(e,t,r,i){this.table=e,this.session=t,this.dialect=r,this.withList=i}static[J]="SQLiteInsertBuilder";values(e){if(e=Array.isArray(e)?e:[e],e.length===0)throw Error("values() must be called with at least one value");let t=e.map((r)=>{let i={},n=this.table[we.Symbol.Columns];for(let o of Object.keys(r)){let s=r[o];i[o]=ce(s,Ae)?s:new mn(s,n[o])}return i});return new pO(this.table,t,this.session,this.dialect,this.withList)}select(e){let t=typeof e==="function"?e(new Ya):e;if(!ce(t,Ae)&&!Op(this.table[ox],t._.selectedFields))throw Error("Insert select error: selected fields are not the same or are in a different order compared to the table definition");return new pO(this.table,t,this.session,this.dialect,this.withList,!0)}};pO=class pO extends Ur{constructor(e,t,r,i,n,o){super();this.session=r,this.dialect=i,this.config={table:e,values:t,withList:n,select:o}}static[J]="SQLiteInsert";config;returning(e=this.config.table[Ut.Symbol.Columns]){return this.config.returning=Cn(e),this}onConflictDoNothing(e={}){if(!this.config.onConflict)this.config.onConflict=[];if(e.target===void 0)this.config.onConflict.push(q` on conflict do nothing`);else{let t=Array.isArray(e.target)?q`${e.target}`:q`${[e.target]}`,r=e.where?q` where ${e.where}`:q``;this.config.onConflict.push(q` on conflict ${t} do nothing${r}`)}return this}onConflictDoUpdate(e){if(e.where&&(e.targetWhere||e.setWhere))throw Error('You cannot use both "where" and "targetWhere"/"setWhere" at the same time - "where" is deprecated, use "targetWhere" or "setWhere" instead.');if(!this.config.onConflict)this.config.onConflict=[];let t=e.where?q` where ${e.where}`:void 0,r=e.targetWhere?q` where ${e.targetWhere}`:void 0,i=e.setWhere?q` where ${e.setWhere}`:void 0,n=Array.isArray(e.target)?q`${e.target}`:q`${[e.target]}`,o=this.dialect.buildUpdateSet(this.config.table,ax(this.config.table,e.set));return this.config.onConflict.push(q` on conflict ${n}${r} do update set ${o}${t}${i}`),this}getSQL(){return this.dialect.buildInsertQuery(this.config)}toSQL(){let{typings:e,...t}=this.dialect.sqlToQuery(this.getSQL());return t}_prepare(e=!0){return this.session[e?"prepareOneTimeQuery":"prepareQuery"](this.dialect.sqlToQuery(this.getSQL()),this.config.returning,this.config.returning?"all":"run",!0,void 0,{type:"insert",tables:Wn(this.config.table)})}prepare(){return this._prepare(!1)}run=(e)=>this._prepare().run(e);all=(e)=>this._prepare().all(e);get=(e)=>this._prepare().get(e);values=(e)=>this._prepare().values(e);async execute(){return this.config.returning?this.all():this.run()}$dynamic(){return this}}});var _x,yV;var bV=x(()=>{Ne();co();Ga();lo();Vn();Er();qr();oo();vu();jp();_x=class _x{constructor(e,t,r,i){this.table=e,this.session=t,this.dialect=r,this.withList=i}static[J]="SQLiteUpdateBuilder";set(e){return new yV(this.table,ax(this.table,e),this.session,this.dialect,this.withList)}};yV=class yV extends Ur{constructor(e,t,r,i,n){super();this.session=r,this.dialect=i,this.config={set:t,table:e,withList:n,joins:[]}}static[J]="SQLiteUpdate";config;from(e){return this.config.from=e,this}createJoin(e){return(t,r)=>{let i=Rp(t);if(typeof i==="string"&&this.config.joins.some((n)=>n.alias===i))throw Error(`Alias "${i}" is already used in this query`);if(typeof r==="function"){let n=this.config.from?ce(t,Ut)?t[we.Symbol.Columns]:ce(t,vt)?t._.selectedFields:ce(t,fo)?t[_t].selectedFields:void 0:void 0;r=r(new Proxy(this.config.table[we.Symbol.Columns],new xt({sqlAliasedBehavior:"sql",sqlBehavior:"sql"})),n&&new Proxy(n,new xt({sqlAliasedBehavior:"sql",sqlBehavior:"sql"})))}return this.config.joins.push({on:r,table:t,joinType:e,alias:i}),this}}leftJoin=this.createJoin("left");rightJoin=this.createJoin("right");innerJoin=this.createJoin("inner");fullJoin=this.createJoin("full");where(e){return this.config.where=e,this}orderBy(...e){if(typeof e[0]==="function"){let t=e[0](new Proxy(this.config.table[we.Symbol.Columns],new xt({sqlAliasedBehavior:"alias",sqlBehavior:"sql"}))),r=Array.isArray(t)?t:[t];this.config.orderBy=r}else{let t=e;this.config.orderBy=t}return this}limit(e){return this.config.limit=e,this}returning(e=this.config.table[Ut.Symbol.Columns]){return this.config.returning=Cn(e),this}getSQL(){return this.dialect.buildUpdateQuery(this.config)}toSQL(){let{typings:e,...t}=this.dialect.sqlToQuery(this.getSQL());return t}_prepare(e=!0){return this.session[e?"prepareOneTimeQuery":"prepareQuery"](this.dialect.sqlToQuery(this.getSQL()),this.config.returning,this.config.returning?"all":"run",!0,void 0,{type:"insert",tables:Wn(this.config.table)})}prepare(){return this._prepare(!1)}run=(e)=>this._prepare().run(e);all=(e)=>this._prepare().all(e);get=(e)=>this._prepare().get(e);values=(e)=>this._prepare().values(e);async execute(){return this.config.returning?this.all():this.run()}$dynamic(){return this}}});var mO=x(()=>{lV();gV();wx();fO();bV()});var qp;var xV=x(()=>{Ne();pr();qp=class qp extends Ae{constructor(e){super(qp.buildEmbeddedCount(e.source,e.filters).queryChunks);this.params=e,this.session=e.session,this.sql=qp.buildCount(e.source,e.filters)}sql;static[J]="SQLiteCountBuilderAsync";[Symbol.toStringTag]="SQLiteCountBuilderAsync";session;static buildEmbeddedCount(e,t){return q`(select count(*) from ${e}${q.raw(" where ").if(t)}${t})`}static buildCount(e,t){return q`select count(*) from ${e}${q.raw(" where ").if(t)}${t}`}then(e,t){return Promise.resolve(this.session.count(this.sql)).then(e,t)}catch(e){return this.then(void 0,e)}finally(e){return this.then((t)=>(e?.(),t),(t)=>{throw e?.(),t})}}});var gO,kx,hO;var SV=x(()=>{Ne();co();zp();gO=class gO{constructor(e,t,r,i,n,o,s,a){this.mode=e,this.fullSchema=t,this.schema=r,this.tableNamesMap=i,this.table=n,this.tableConfig=o,this.dialect=s,this.session=a}static[J]="SQLiteAsyncRelationalQueryBuilder";findMany(e){return this.mode==="sync"?new hO(this.fullSchema,this.schema,this.tableNamesMap,this.table,this.tableConfig,this.dialect,this.session,e?e:{},"many"):new kx(this.fullSchema,this.schema,this.tableNamesMap,this.table,this.tableConfig,this.dialect,this.session,e?e:{},"many")}findFirst(e){return this.mode==="sync"?new hO(this.fullSchema,this.schema,this.tableNamesMap,this.table,this.tableConfig,this.dialect,this.session,e?{...e,limit:1}:{limit:1},"first"):new kx(this.fullSchema,this.schema,this.tableNamesMap,this.table,this.tableConfig,this.dialect,this.session,e?{...e,limit:1}:{limit:1},"first")}};kx=class kx extends Ur{constructor(e,t,r,i,n,o,s,a,c){super();this.fullSchema=e,this.schema=t,this.tableNamesMap=r,this.table=i,this.tableConfig=n,this.dialect=o,this.session=s,this.config=a,this.mode=c}static[J]="SQLiteAsyncRelationalQuery";mode;getSQL(){return this.dialect.buildRelationalQuery({fullSchema:this.fullSchema,schema:this.schema,tableNamesMap:this.tableNamesMap,table:this.table,tableConfig:this.tableConfig,queryConfig:this.config,tableAlias:this.tableConfig.tsName}).sql}_prepare(e=!1){let{query:t,builtQuery:r}=this._toSQL();return this.session[e?"prepareOneTimeQuery":"prepareQuery"](r,void 0,this.mode==="first"?"get":"all",!0,(i,n)=>{let o=i.map((s)=>px(this.schema,this.tableConfig,s,t.selection,n));if(this.mode==="first")return o[0];return o})}prepare(){return this._prepare(!1)}_toSQL(){let e=this.dialect.buildRelationalQuery({fullSchema:this.fullSchema,schema:this.schema,tableNamesMap:this.tableNamesMap,table:this.table,tableConfig:this.tableConfig,queryConfig:this.config,tableAlias:this.tableConfig.tsName}),t=this.dialect.sqlToQuery(e.sql);return{query:e,builtQuery:t}}toSQL(){return this._toSQL().builtQuery}executeRaw(){if(this.mode==="first")return this._prepare(!1).get();return this._prepare(!1).all()}async execute(){return this.executeRaw()}};hO=class hO extends kx{static[J]="SQLiteSyncRelationalQuery";sync(){return this.executeRaw()}}});var Eu;var wV=x(()=>{Ne();co();Eu=class Eu extends Ur{constructor(e,t,r,i,n){super();this.execute=e,this.getSQL=t,this.dialect=i,this.mapBatchResult=n,this.config={action:r}}static[J]="SQLiteRaw";config;getQuery(){return{...this.dialect.sqlToQuery(this.getSQL()),method:this.config.action}}mapResult(e,t){return t?this.mapBatchResult(e):e}_prepare(){return this}isResponseInArrayMode(){return!1}}});var Up;var Ex=x(()=>{Ne();Ga();pr();mO();Vn();xV();SV();wV();Up=class Up{constructor(e,t,r,i){this.resultKind=e,this.dialect=t,this.session=r,this._=i?{schema:i.schema,fullSchema:i.fullSchema,tableNamesMap:i.tableNamesMap}:{schema:void 0,fullSchema:{},tableNamesMap:{}},this.query={};let n=this.query;if(this._.schema)for(let[o,s]of Object.entries(this._.schema))n[o]=new gO(e,i.fullSchema,this._.schema,this._.tableNamesMap,i.fullSchema[o],s,t,r);this.$cache={invalidate:async(o)=>{}}}static[J]="BaseSQLiteDatabase";query;$with=(e,t)=>{let r=this;return{as:(n)=>{if(typeof n==="function")n=n(new Ya(r.dialect));return new Proxy(new Tp(n.getSQL(),t??("getSelectedFields"in n?n.getSelectedFields()??{}:{}),e,!0),new xt({alias:e,sqlAliasedBehavior:"alias",sqlBehavior:"error"}))}}};$count(e,t){return new qp({source:e,filters:t,session:this.session})}with(...e){let t=this;function r(a){return new Gn({fields:a??void 0,session:t.session,dialect:t.dialect,withList:e})}function i(a){return new Gn({fields:a??void 0,session:t.session,dialect:t.dialect,withList:e,distinct:!0})}function n(a){return new _x(a,t.session,t.dialect,e)}function o(a){return new vx(a,t.session,t.dialect,e)}function s(a){return new yx(a,t.session,t.dialect,e)}return{select:r,selectDistinct:i,update:n,insert:o,delete:s}}select(e){return new Gn({fields:e??void 0,session:this.session,dialect:this.dialect})}selectDistinct(e){return new Gn({fields:e??void 0,session:this.session,dialect:this.dialect,distinct:!0})}update(e){return new _x(e,this.session,this.dialect)}$cache;insert(e){return new vx(e,this.session,this.dialect)}delete(e){return new yx(e,this.session,this.dialect)}run(e){let t=typeof e==="string"?q.raw(e):e.getSQL();if(this.resultKind==="async")return new Eu(async()=>this.session.run(t),()=>t,"run",this.dialect,this.session.extractRawRunValueFromBatchResult.bind(this.session));return this.session.run(t)}all(e){let t=typeof e==="string"?q.raw(e):e.getSQL();if(this.resultKind==="async")return new Eu(async()=>this.session.all(t),()=>t,"all",this.dialect,this.session.extractRawAllValueFromBatchResult.bind(this.session));return this.session.all(t)}get(e){let t=typeof e==="string"?q.raw(e):e.getSQL();if(this.resultKind==="async")return new Eu(async()=>this.session.get(t),()=>t,"get",this.dialect,this.session.extractRawGetValueFromBatchResult.bind(this.session));return this.session.get(t)}values(e){let t=typeof e==="string"?q.raw(e):e.getSQL();if(this.resultKind==="async")return new Eu(async()=>this.session.values(t),()=>t,"values",this.dialect,this.session.extractRawValuesValueFromBatchResult.bind(this.session));return this.session.values(t)}transaction(e,t){return this.session.transaction(e,t)}}});async function yO(e,t){let r=`${e}-${JSON.stringify(t)}`,n=new TextEncoder().encode(r),o=await crypto.subtle.digest("SHA-256",n);return[...new Uint8Array(o)].map((c)=>c.toString(16).padStart(2,"0")).join("")}var vV,Mp;var bO=x(()=>{Ne();vV=class vV{static[J]="Cache"};Mp=class Mp extends vV{strategy(){return"all"}static[J]="NoopCache";async get(e){return}async put(e,t,r,i){}async onMutate(e){}}});var _V=x(()=>{bO()});var kV=()=>{};var EV,xO,SO,wO;var vO=x(()=>{bO();Ne();bx();co();Ex();EV=class EV extends Ur{constructor(e){super();this.resultCb=e}static[J]="ExecuteResultSync";async execute(){return this.resultCb()}sync(){return this.resultCb()}};xO=class xO{constructor(e,t,r,i,n,o){if(this.mode=e,this.executeMethod=t,this.query=r,this.cache=i,this.queryMetadata=n,this.cacheConfig=o,i&&i.strategy()==="all"&&o===void 0)this.cacheConfig={enable:!0,autoInvalidate:!0};if(!this.cacheConfig?.enable)this.cacheConfig=void 0}static[J]="PreparedQuery";joinsNotNullableMap;async queryWithCache(e,t,r){if(this.cache===void 0||ce(this.cache,Mp)||this.queryMetadata===void 0)try{return await r()}catch(i){throw new uo(e,t,i)}if(this.cacheConfig&&!this.cacheConfig.enable)try{return await r()}catch(i){throw new uo(e,t,i)}if((this.queryMetadata.type==="insert"||this.queryMetadata.type==="update"||this.queryMetadata.type==="delete")&&this.queryMetadata.tables.length>0)try{let[i]=await Promise.all([r(),this.cache.onMutate({tables:this.queryMetadata.tables})]);return i}catch(i){throw new uo(e,t,i)}if(!this.cacheConfig)try{return await r()}catch(i){throw new uo(e,t,i)}if(this.queryMetadata.type==="select"){let i=await this.cache.get(this.cacheConfig.tag??await yO(e,t),this.queryMetadata.tables,this.cacheConfig.tag!==void 0,this.cacheConfig.autoInvalidate);if(i===void 0){let n;try{n=await r()}catch(o){throw new uo(e,t,o)}return await this.cache.put(this.cacheConfig.tag??await yO(e,t),n,this.cacheConfig.autoInvalidate?this.queryMetadata.tables:[],this.cacheConfig.tag!==void 0,this.cacheConfig.config),n}return i}try{return await r()}catch(i){throw new uo(e,t,i)}}getQuery(){return this.query}mapRunResult(e,t){return e}mapAllResult(e,t){throw Error("Not implemented")}mapGetResult(e,t){throw Error("Not implemented")}execute(e){if(this.mode==="async")return this[this.executeMethod](e);return new EV(()=>this[this.executeMethod](e))}mapResult(e,t){switch(this.executeMethod){case"run":return this.mapRunResult(e,t);case"all":return this.mapAllResult(e,t);case"get":return this.mapGetResult(e,t)}}};SO=class SO{constructor(e){this.dialect=e}static[J]="SQLiteSession";prepareOneTimeQuery(e,t,r,i,n,o,s){return this.prepareQuery(e,t,r,i,n,o,s)}run(e){let t=this.dialect.sqlToQuery(e);try{return this.prepareOneTimeQuery(t,void 0,"run",!1).run()}catch(r){throw new _u({cause:r,message:`Failed to run the query '${t.sql}'`})}}extractRawRunValueFromBatchResult(e){return e}all(e){return this.prepareOneTimeQuery(this.dialect.sqlToQuery(e),void 0,"run",!1).all()}extractRawAllValueFromBatchResult(e){throw Error("Not implemented")}get(e){return this.prepareOneTimeQuery(this.dialect.sqlToQuery(e),void 0,"run",!1).get()}extractRawGetValueFromBatchResult(e){throw Error("Not implemented")}values(e){return this.prepareOneTimeQuery(this.dialect.sqlToQuery(e),void 0,"run",!1).values()}async count(e){return(await this.values(e))[0][0]}extractRawValuesValueFromBatchResult(e){throw Error("Not implemented")}};wO=class wO extends Up{constructor(e,t,r,i,n=0){super(e,t,r,i);this.schema=i,this.nestedIndex=n}static[J]="SQLiteTransaction";rollback(){throw new oO}}});var _O,ske,ake,Ix;var IV=x(()=>{Ne();Ga();qr();wx();lo();jp();_O=class _O{constructor(e){this.name=e}static[J]="SQLiteViewBuilderCore";config={}};ske=class ske extends _O{static[J]="SQLiteViewBuilder";as(e){if(typeof e==="function")e=e(new Ya);let t=new xt({alias:this.name,sqlBehavior:"error",sqlAliasedBehavior:"alias",replaceOriginalName:!0}),r=e.getSelectedFields();return new Proxy(new Ix({config:{name:this.name,schema:void 0,selectedFields:r,query:e.getSQL().inlineParams()}}),t)}};ake=class ake extends _O{static[J]="SQLiteManualViewBuilder";columns;constructor(e,t){super(e);this.columns=cx(Bp(e,t))}existing(){return new Proxy(new Ix({config:{name:this.name,schema:void 0,selectedFields:this.columns,query:void 0}}),new xt({alias:this.name,sqlBehavior:"error",sqlAliasedBehavior:"alias",replaceOriginalName:!0}))}as(e){return new Proxy(new Ix({config:{name:this.name,schema:void 0,selectedFields:this.columns,query:e.inlineParams()}}),new xt({alias:this.name,sqlBehavior:"error",sqlAliasedBehavior:"alias",replaceOriginalName:!0}))}};Ix=class Ix extends fo{static[J]="SQLiteView";constructor({config:e}){super(e)}}});var kO=x(()=>{kV();rV();aO();Ex();xx();V$();sV();cV();mO();vO();lo();G$();vu();IV()});function AV(e){return Object.keys(e).reduce((t,r)=>{if(Object.prototype.propertyIsEnumerable.call(e,r))t[r]=e[r];return t},{})}function Ax(e){if(typeof ArrayBuffer<"u"&&e instanceof ArrayBuffer){if(typeof Buffer<"u"){if(!(e instanceof Buffer))return Buffer.from(e);return e}if(typeof TextDecoder<"u")return new TextDecoder().decode(e);throw Error("TextDecoder is not available. Please provide either Buffer or TextDecoder polyfill.")}return e}var Tx,EO,TV;var IO=x(()=>{_V();Ne();lx();pr();kO();vO();qr();Tx=class Tx extends SO{constructor(e,t,r,i,n){super(t);this.client=e,this.schema=r,this.options=i,this.tx=n,this.logger=i.logger??new U$,this.cache=i.cache??new Mp}static[J]="LibSQLSession";logger;cache;prepareQuery(e,t,r,i,n,o,s){return new TV(this.client,e,this.logger,this.cache,o,s,t,this.tx,r,i,n)}async batch(e){let t=[],r=[];for(let n of e){let o=n._prepare(),s=o.getQuery();t.push(o),r.push({sql:s.sql,args:s.params})}return(await this.client.batch(r)).map((n,o)=>t[o].mapResult(n,!0))}async migrate(e){let t=[],r=[];for(let n of e){let o=n._prepare(),s=o.getQuery();t.push(o),r.push({sql:s.sql,args:s.params})}return(await this.client.migrate(r)).map((n,o)=>t[o].mapResult(n,!0))}async transaction(e,t){let r=await this.client.transaction(),i=new Tx(this.client,this.dialect,this.schema,this.options,r),n=new EO("async",this.dialect,i,this.schema);try{let o=await e(n);return await r.commit(),o}catch(o){throw await r.rollback(),o}}extractRawAllValueFromBatchResult(e){return e.rows}extractRawGetValueFromBatchResult(e){return e.rows[0]}extractRawValuesValueFromBatchResult(e){return e.rows}};EO=class EO extends wO{static[J]="LibSQLTransaction";async transaction(e){let t=`sp${this.nestedIndex}`,r=new EO("async",this.dialect,this.session,this.schema,this.nestedIndex+1);await this.session.run(q.raw(`savepoint ${t}`));try{let i=await e(r);return await this.session.run(q.raw(`release savepoint ${t}`)),i}catch(i){throw await this.session.run(q.raw(`rollback to savepoint ${t}`)),i}}};TV=class TV extends xO{constructor(e,t,r,i,n,o,s,a,c,l,u){super("async",c,t,i,n,o);this.client=e,this.logger=r,this.fields=s,this.tx=a,this._isResponseInArrayMode=l,this.customResultMapper=u,this.customResultMapper=u,this.fields=s}static[J]="LibSQLPreparedQuery";async run(e){let t=$p(this.query.params,e??{});return this.logger.logQuery(this.query.sql,t),await this.queryWithCache(this.query.sql,t,async()=>{let r={sql:this.query.sql,args:t};return this.tx?this.tx.execute(r):this.client.execute(r)})}async all(e){let{fields:t,logger:r,query:i,tx:n,client:o,customResultMapper:s}=this;if(!t&&!s){let c=$p(i.params,e??{});return r.logQuery(i.sql,c),await this.queryWithCache(i.sql,c,async()=>{let l={sql:i.sql,args:c};return(n?n.execute(l):o.execute(l)).then(({rows:u})=>this.mapAllResult(u))})}let a=await this.values(e);return this.mapAllResult(a)}mapAllResult(e,t){if(t)e=e.rows;if(!this.fields&&!this.customResultMapper)return e.map((r)=>AV(r));if(this.customResultMapper)return this.customResultMapper(e,Ax);return e.map((r)=>B$(this.fields,Array.prototype.slice.call(r).map((i)=>Ax(i)),this.joinsNotNullableMap))}async get(e){let{fields:t,logger:r,query:i,tx:n,client:o,customResultMapper:s}=this;if(!t&&!s){let c=$p(i.params,e??{});return r.logQuery(i.sql,c),await this.queryWithCache(i.sql,c,async()=>{let l={sql:i.sql,args:c};return(n?n.execute(l):o.execute(l)).then(({rows:u})=>this.mapGetResult(u))})}let a=await this.values(e);return this.mapGetResult(a)}mapGetResult(e,t){if(t)e=e.rows;let r=e[0];if(!this.fields&&!this.customResultMapper)return AV(r);if(!r)return;if(this.customResultMapper)return this.customResultMapper(e,Ax);return B$(this.fields,Array.prototype.slice.call(r).map((i)=>Ax(i)),this.joinsNotNullableMap)}async values(e){let t=$p(this.query.params,e??{});return this.logger.logQuery(this.query.sql,t),await this.queryWithCache(this.query.sql,t,async()=>{let r={sql:this.query.sql,args:t};return(this.tx?this.tx.execute(r):this.client.execute(r)).then(({rows:i})=>i)})}isResponseInArrayMode(){return this._isResponseInArrayMode}}});function Iu(e,t={}){let r=new lO({casing:t.casing}),i;if(t.logger===!0)i=new q$;else if(t.logger!==!1)i=t.logger;let n;if(t.schema){let a=y9(t.schema,x9);n={fullSchema:t.schema,schema:a.tables,tableNamesMap:a.tableNamesMap}}let o=new Tx(e,r,n,{logger:i,cache:t.cache},void 0),s=new CV("async",r,o,n);if(s.$client=e,s.$cache=t.cache,s.$cache)s.$cache.invalidate=t.cache?.onMutate;return s}var CV;var $V=x(()=>{Ne();lx();zp();Ex();xx();IO();CV=class CV extends Up{static[J]="LibSQLDatabase";async batch(e){return this.session.batch(e)}}});function Cx(...e){if(typeof e[0]==="string"){let t=yu({url:e[0]});return Iu(t,e[1])}if(JJ(e[0])){let{connection:t,client:r,...i}=e[0];if(r)return Iu(r,i);let n=typeof t==="string"?yu({url:t}):yu(t);return Iu(n,i)}return Iu(e[0],e[1])}var OV=x(()=>{A$();qr();$V();((e)=>{function t(r){return Iu({},r)}e.mock=t})(Cx||(Cx={}))});var RV=x(()=>{OV();IO()});function PV(e){if(e.authToken!==void 0)return e.authToken;if(e.authTokenEnv===void 0)return;return process.env[e.authTokenEnv]}function dke(e){return e instanceof je&&/^SQLITE_(?:BUSY|LOCKED)$/u.test(e.code)}async function $x(e,t){let r=Date.now()+(t.budgetMs??cke),i=async(n)=>{if(t.isClosed())throw new je("The client is closed","CLIENT_CLOSED");try{return await e()}catch(o){if(t.isClosed()||!dke(o))throw o;await t.afterRefusal?.();let s=Math.min(lke*2**(n-1),uke),a=s/2+Math.random()*(s/2);if(t.isClosed()||Date.now()+a>=r)throw o;if(await new Promise((c)=>setTimeout(c,a)),t.isClosed()||Date.now()>=r)throw o;return i(n+1)}};return i(1)}function AO(e,t={}){let r=yu({...e,...e.url.startsWith("file:")?{timeout:0}:{}});if(e.url.startsWith("file:")&&e.syncUrl===void 0){let u=function(d,p){return $x(()=>typeof d==="string"?s(d,p):s(d),l)},i=r.transaction.bind(r),n=()=>r.closed,o=t.contentionRetryBudgetMs,s=r.execute.bind(r),a=r.batch.bind(r),c=r.migrate.bind(r),l={isClosed:n,budgetMs:o,afterRefusal:async()=>{await Promise.resolve(r.reconnect())}};r.execute=u,r.batch=(d,p)=>$x(()=>a(d,p),l),r.migrate=(d)=>$x(()=>c(d),l),r.transaction=(d)=>$x(()=>i(d),l)}return r}function Ox(e){let{url:t,schema:r}=e,i=PV(e),n={contentionRetryBudgetMs:e.contentionRetryBudgetMs},o=i?AO({url:t,authToken:i},n):AO({url:t},n);return{db:Cx(o,{schema:r}),client:o,url:t}}async function Rx(e,t){if(!t.startsWith("file:"))return;for(let r of["PRAGMA busy_timeout = 0","PRAGMA journal_mode = WAL"])await e.execute(r)}var cke=5000,lke=5,uke=40;var TO=x(()=>{A$();RV()});var zV=x(()=>{MC();TO()});var CO=x(()=>{TO();zV()});var oe,pt;var $O=x(()=>{kO();rp();oe=Bp("job_queue",{id:mr("id").primaryKey().$defaultFn(()=>eo()),type:mr("type").notNull(),data:mr("data").notNull(),result:mr("result",{mode:"json"}),progress:mr("progress",{mode:"json"}).$type(),source:mr("source"),metadata:mr("metadata",{mode:"json"}).$type().notNull(),status:mr("status",{enum:["pending","processing","completed","failed"]}).notNull().default("pending"),priority:Ir("priority").notNull().default(0),retryCount:Ir("retryCount").notNull().default(0),maxRetries:Ir("maxRetries").notNull().default(3),lastError:mr("lastError"),createdAt:Ir("createdAt").notNull().$defaultFn(()=>Date.now()),scheduledFor:Ir("scheduledFor").notNull().$defaultFn(()=>Date.now()),startedAt:Ir("startedAt"),completedAt:Ir("completedAt"),attemptId:mr("attemptId"),workerSlotId:mr("workerSlotId"),workerSessionId:mr("workerSessionId"),leaseExpiresAt:Ir("leaseExpiresAt"),attemptHeartbeatAt:Ir("attemptHeartbeatAt"),runtimeUpdatedAt:Ir("runtimeUpdatedAt")},(e)=>({queueReadyIdx:Qa("idx_job_queue_ready").on(e.status,e.priority,e.scheduledFor),jobTypeIdx:Qa("idx_job_queue_type").on(e.type,e.status),runtimeUpdatesIdx:Qa("idx_job_queue_runtime_updates").on(e.runtimeUpdatedAt,e.id),jobSourceIdx:Qa("idx_job_queue_source").on(e.source)})),pt=Bp("job_worker_sessions",{slotId:mr("slotId").primaryKey(),sessionId:mr("sessionId").notNull().unique(),startedAt:Ir("startedAt").notNull(),heartbeatAt:Ir("heartbeatAt").notNull(),expiresAt:Ir("expiresAt").notNull().default(0)},(e)=>({heartbeatIdx:Qa("idx_job_worker_sessions_heartbeat").on(e.heartbeatAt),expiresIdx:Qa("idx_job_worker_sessions_expires").on(e.expiresAt)}))});function NV(e){return Ox({url:e.url,schema:{jobQueue:oe,jobWorkerSessions:pt},authToken:e.authToken,authTokenEnv:"JOB_QUEUE_DATABASE_AUTH_TOKEN",contentionRetryBudgetMs:0})}var DV=x(()=>{CO();$O()});class OO{declarations=new Map;handlers=new Map;validators=new Map;logger;mode;finalizedRegistrations;constructor(e,t){this.logger=e.child("HandlerRegistry"),this.mode=t}registerHandler(e,t,r){if(this.finalizedRegistrations)throw Error("Job handler registrations are finalized");if(this.declarations.has(e))throw Error(`Job handler is already registered for type: ${e}`);if(this.declarations.set(e,{handler:t,pluginId:r}),this.validators.set(e,t),this.mode!=="validation-only")this.handlers.set(e,t);this.logger.debug("Registered job execution declaration",{type:e,pluginId:r,mode:this.mode})}unregisterHandler(e){this.declarations.delete(e),this.handlers.delete(e),this.validators.delete(e),this.logger.debug("Unregistered job handler",{type:e})}unregisterPluginHandlers(e){let t=[...this.declarations.entries()].filter(([,r])=>r.pluginId===e).map(([r])=>r);for(let r of t)this.declarations.delete(r),this.handlers.delete(r),this.validators.delete(r);if(t.length>0)this.logger.debug("Unregistered plugin handlers",{pluginId:e,count:t.length,types:t})}finalizeRegistrations(){return this.finalizedRegistrations??=Object.freeze([...this.declarations.entries()].sort(([e],[t])=>e.localeCompare(t)).map(([e,t])=>Object.freeze({type:e,pluginId:t.pluginId}))),this.finalizedRegistrations}getExecutionRegistrations(){if(!this.finalizedRegistrations)throw Error("Job handler registrations are not finalized");return this.finalizedRegistrations}getRegisteredTypes(){return[...this.handlers.keys()]}getHandler(e){return this.handlers.get(e)}getValidator(e){return this.validators.get(e)}}var LV=x(()=>{mx();rx();Jn();Ne();bx();lx();co();zp();sO();Vn();Er();qr();oo()});class RO{tails=new Map;async run(e,t){let r=this.tails.get(e),i=()=>{},n=new Promise((o)=>{i=o});this.tails.set(e,n),await r;try{return await t()}finally{if(i(),this.tails.get(e)===n)this.tails.delete(e)}}}class PO{findDuplicate(e,t,r){if(!t||t==="none")return null;let i=this.filterByDeduplicationKey(e,r).sort((o,s)=>s.createdAt-o.createdAt||s.id.localeCompare(o.id)),n=i.find((o)=>o.status===Ke.PENDING)??null;if(t==="skip"||t==="replace")return n;return n??i[0]??null}filterByDeduplicationKey(e,t){if(!t)return e;return e.filter((r)=>{let i=fke.safeParse(r.metadata);return i.success&&i.data.deduplicationKey===t})}}var fke;var BV=x(()=>{Re();ms();fke=f.looseObject({deduplicationKey:f.string().optional()})});class zO{db;transactionClient;databaseUrl;logger;deduplicator=new PO;writeRetryBudgetMs;constructor(e,t,r,i,n){this.db=e,this.transactionClient=t,this.databaseUrl=r,this.logger=i.child("JobQueueRepository"),this.writeRetryBudgetMs=n?.writeRetryBudgetMs??pke}async insert(e){await this.write("insert",async()=>this.db.insert(oe).values(e))}async enqueueAtomic(e){return yke.run(this.databaseUrl,async()=>{let t=Date.now()+this.writeRetryBudgetMs;return this.attemptEnqueue(e,t,1)})}async attemptEnqueue(e,t,r){let i=await this.runEnqueueTransaction(e,t,r);if(i.retry)return this.attemptEnqueue(e,t,r+1);return i.decision}async runEnqueueTransaction(e,t,r){let i=await this.acquireWriteTransaction(e,t),n={prepared:!1},o=!1;try{let s=await this.decideEnqueue(i,e,()=>{n.prepared=!0});return o=!0,await i.commit(),{retry:!1,decision:s}}catch(s){let a=o&&this.isSerializationConflict(s)&&!i.closed,c=!0;if(!i.closed)try{await i.rollback()}catch(l){c=!1,this.logger.error("Failed to roll back atomic enqueue",{type:e.jobData.type,rollbackError:l})}if(n.prepared)e.onInsertRollback?.();if(!a||!c)throw s;return await this.waitForConflictRetry("commit",e,t,r,s),{retry:!0}}finally{i.close()}}async decideEnqueue(e,t,r){let{jobData:i,strategy:n,deduplicationKey:o,beforeInsert:s}=t,a=n??"none",c=async()=>{await s?.(),r()},l=async()=>{await c(),await this.insertJob(e,i)};if(a==="none")return await l(),{kind:"inserted",jobId:i.id};let u=await this.getActiveDeduplicationCandidates(e,i.type),d=this.deduplicator.findDuplicate(u,a,o);if(!d)return await l(),{kind:"inserted",jobId:i.id};if(a==="skip")return{kind:"skipped",jobId:d.id};if(a==="coalesce"){if((await e.execute({sql:"UPDATE `job_queue` SET `scheduledFor` = ? WHERE `id` = ? AND `status` = ?",args:[Date.now(),d.id,d.status]})).rowsAffected!==1)throw Error(`Atomic coalesce lost selected job ${d.id}`);return{kind:"coalesced",jobId:d.id}}await c();let p=Date.now();if((await e.execute({sql:"UPDATE `job_queue`\n SET `status` = ?,\n `lastError` = ?,\n `completedAt` = ?,\n `runtimeUpdatedAt` = max(?, coalesce((SELECT max(`runtimeUpdatedAt`) FROM `job_queue`), 0) + 1)\n WHERE `id` = ? AND `status` = ?",args:[Ke.FAILED,"Replaced by newer job",p,p,d.id,Ke.PENDING]})).rowsAffected!==1)throw Error(`Atomic replace lost selected job ${d.id}`);return await this.insertJob(e,i),{kind:"replaced",jobId:i.id,replacedJobId:d.id}}async getActiveDeduplicationCandidates(e,t){return(await e.execute({sql:"SELECT `id`, `status`, `createdAt`, `metadata`\n FROM `job_queue`\n WHERE `type` = ? AND `status` IN (?, ?)",args:[t,Ke.PENDING,Ke.PROCESSING]})).rows.map((i)=>this.parseDeduplicationCandidate(i))}parseDeduplicationCandidate(e){let{id:t,status:r,createdAt:i,metadata:n}=e;if(typeof t!=="string"||r!==Ke.PENDING&&r!==Ke.PROCESSING||typeof i!=="number"&&typeof i!=="bigint"||typeof n!=="string")throw Error("Invalid active job row returned during atomic enqueue");let o=JSON.parse(n);return{id:t,status:r,createdAt:Number(i),metadata:o}}async insertJob(e,t){if((await e.execute({sql:"INSERT INTO `job_queue` (\n `id`, `type`, `data`, `result`, `source`, `metadata`,\n `status`, `priority`, `retryCount`, `maxRetries`,\n `lastError`, `createdAt`, `scheduledFor`, `startedAt`,\n `completedAt`\n ) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)",args:[t.id,t.type,t.data,this.serializeJson(t.result),t.source,JSON.stringify(t.metadata),t.status,t.priority,t.retryCount,t.maxRetries,t.lastError,t.createdAt,t.scheduledFor,t.startedAt,t.completedAt]})).rowsAffected!==1)throw Error(`Atomic enqueue did not insert job ${t.id}`)}serializeJson(e){if(e===void 0||e===null)return null;return JSON.stringify(e)}acquireWriteTransaction(e,t){return this.retryOnConflict("acquire",e,()=>this.transactionClient.transaction("write"),(r)=>this.isSerializationConflict(r),t)}async waitForConflictRetry(e,t,r,i,n){let o=Math.min(mke*2**(i-1),hke),s=o/2+Math.random()*(o/2);if(Date.now()+s>=r)throw this.transactionConflictError(e,t,i,n);await new Promise((a)=>setTimeout(a,s))}async retryOnConflict(e,t,r,i,n=Date.now()+this.writeRetryBudgetMs,o=1){try{return await r()}catch(s){if(!i(s))throw s;return await this.waitForConflictRetry(e,t,n,o,s),this.retryOnConflict(e,t,r,i,n,o+1)}}transactionConflictError(e,t,r,i){if(typeof t==="string")return Error(`Failed job queue write "${t}" within ${this.writeRetryBudgetMs}ms after ${r} attempts`,{cause:i});let n=t.strategy??"none",o=t.deduplicationKey?"present":"absent";return Error(`Failed to ${e} atomic enqueue transaction for type "${t.jobData.type}" within ${this.writeRetryBudgetMs}ms after ${r} attempts (strategy: ${n}, key: ${o})`,{cause:i})}write(e,t){return this.retryOnConflict("write",e,t,(r)=>{let i=new Set;for(let n=r;n!==void 0&&!i.has(n);){if(i.add(n),typeof n==="object"&&n!==null&&"code"in n&&/^SQLITE_(?:BUSY|LOCKED)(?:_|$)/u.test(String(n.code)))return!0;n=n instanceof Error?n.cause:void 0}return!1})}isSerializationConflict(e){for(let t=e;t!==void 0;){let r=typeof t==="object"&&t!==null&&"code"in t?String(t.code):"",i=ct(t,"");if(/SQLITE_(?:BUSY|LOCKED)/u.test(r)||/SQLITE_(?:BUSY|LOCKED)|database is locked|transaction (?:busy|conflict)/iu.test(i))return!0;t=t instanceof Error?t.cause:void 0}return!1}async startWorkerSession(e,t,r=Date.now(),i=ps){let n=r+i;await this.write("start worker session",async()=>this.db.insert(pt).values({slotId:e,sessionId:t,startedAt:r,heartbeatAt:r,expiresAt:n}).onConflictDoUpdate({target:pt.slotId,set:{sessionId:t,startedAt:r,heartbeatAt:r,expiresAt:n}}))}async heartbeatWorkerSession(e,t,r=Date.now(),i=ps){return(await this.write("heartbeat worker session",async()=>this.db.update(pt).set({heartbeatAt:r,expiresAt:r+i}).where(zt(tt(pt.slotId,e),tt(pt.sessionId,t))).returning({slotId:pt.slotId}))).length===1}async endWorkerSession(e,t){return(await this.write("end worker session",async()=>this.db.delete(pt).where(zt(tt(pt.slotId,e),tt(pt.sessionId,t))).returning({slotId:pt.slotId}))).length===1}async complete(e,t,r){let i=Date.now(),o=(await this.write("complete",async()=>this.db.update(oe).set({status:Ke.COMPLETED,result:t,lastError:null,completedAt:i,runtimeUpdatedAt:this.nextRuntimeUpdatedAt(i)}).where(this.attemptWriteGuard(e,r)).returning({id:oe.id}))).length===1;if(o)this.logger.debug("Job completed",{jobId:e,hasResult:t!==void 0});return o}async update(e,t,r){let n=(await this.write("update",async()=>this.db.update(oe).set({data:JSON.stringify(t)}).where(this.attemptWriteGuard(e,r)).returning({id:oe.id}))).length===1;if(n)this.logger.debug("Job data updated",{jobId:e});return n}async recordAttemptProgress(e,t,r,i=Date.now()){return(await this.write("record progress",async()=>this.db.update(oe).set({attemptHeartbeatAt:i,runtimeUpdatedAt:this.nextRuntimeUpdatedAt(i),progress:r}).where(this.attemptWriteGuard(e,t)).returning({id:oe.id}))).length===1}async renewAttemptLease(e,t,r,i){return(await this.write("renew attempt lease",async()=>this.db.update(oe).set({attemptHeartbeatAt:r,leaseExpiresAt:r+i}).where(this.attemptWriteGuard(e,t)).returning({id:oe.id}))).length===1}async fail(e,t,r,i=Date.now()){let o=(await this.db.select({retryCount:oe.retryCount,maxRetries:oe.maxRetries,type:oe.type,scheduledFor:oe.scheduledFor,startedAt:oe.startedAt,runtimeUpdatedAt:oe.runtimeUpdatedAt}).from(oe).where(this.attemptWriteGuard(e,r)).limit(1))[0];if(!o)return!1;let s=o.retryCount<o.maxRetries,a=s?o.retryCount+1:o.retryCount,c=Math.min(1000*2**o.retryCount,60000),l=s?i+c:o.scheduledFor;if((await this.write("fail",async()=>this.db.update(oe).set({status:s?Ke.PENDING:Ke.FAILED,retryCount:a,lastError:t.message,scheduledFor:l,completedAt:s?null:i,runtimeUpdatedAt:s?o.runtimeUpdatedAt:this.nextRuntimeUpdatedAt(i),startedAt:s?null:o.startedAt,attemptId:null,workerSlotId:null,workerSessionId:null,leaseExpiresAt:null,attemptHeartbeatAt:null}).where(zt(this.attemptWriteGuard(e,r),tt(oe.retryCount,o.retryCount))).returning({id:oe.id}))).length!==1)return!1;if(s)this.logger.debug("Job scheduled for retry",{jobId:e,retryCount:a,backoffMs:c,scheduledFor:new Date(l).toISOString()});else this.logger.error("Job failed after max retries",{jobId:e,type:o.type,retryCount:o.retryCount,error:t.message});return!0}async retireUnownedActiveJob(e){let t=e.reason.trim();if(t.length===0)throw Error("Retired job reason must not be empty");let i=(await this.write("retire unowned job",async()=>this.db.update(oe).set({status:Ke.FAILED,lastError:t,completedAt:e.now,runtimeUpdatedAt:this.nextRuntimeUpdatedAt(e.now)}).where(zt(tt(oe.id,e.jobId),tt(oe.type,e.expectedType),so(tt(oe.status,Ke.PENDING),tt(oe.status,Ke.PROCESSING)),$n(oe.attemptId),$n(oe.workerSlotId),$n(oe.workerSessionId),$n(oe.leaseExpiresAt),$n(oe.attemptHeartbeatAt),$n(oe.progress),$n(oe.result))).returning()))[0]??null;if(i)this.logger.warn("Retired unowned legacy job",{jobId:i.id,type:i.type,reason:t});return i}async getStatus(e){return(await this.db.select().from(oe).where(tt(oe.id,e)).limit(1))[0]??null}async getJobsByRootJobId(e){return this.db.select().from(oe).where(q`json_extract(${oe.metadata}, '$.rootJobId') = ${e}`).orderBy(ao(oe.createdAt),ao(oe.id))}async getStatusByEntityId(e){return(await this.db.select().from(oe).where(q`json_extract(${oe.data}, '$.id') = ${e}`).orderBy(Wa(oe.createdAt)).limit(1))[0]??null}async getStats(){let e=await this.db.select({status:oe.status,count:q`count(*)`}).from(oe).groupBy(oe.status),t={pending:0,processing:0,failed:0,completed:0,total:0};for(let r of e){let i=Number(r.count);t[r.status]=i,t.total+=i}return t}async getDiagnostics(e=Date.now()){let[t,r,i]=await Promise.all([this.db.select({type:oe.type,status:oe.status,count:q`count(*)`}).from(oe).groupBy(oe.type,oe.status),this.db.select({oldestPendingAt:q`min(case when ${oe.status} = ${Ke.PENDING} then ${oe.createdAt} end)`,duePending:q`coalesce(sum(case when ${oe.status} = ${Ke.PENDING} and ${oe.scheduledFor} <= ${e} then 1 else 0 end), 0)`,oldestDuePendingAt:q`min(case when ${oe.status} = ${Ke.PENDING} and ${oe.scheduledFor} <= ${e} then ${oe.scheduledFor} end)`,latestClaimAt:q`max(${oe.startedAt})`,oldestProcessingAt:q`min(case when ${oe.status} = ${Ke.PROCESSING} then ${oe.startedAt} end)`,staleLeaseCount:q`coalesce(sum(case when ${oe.status} = ${Ke.PROCESSING} and ${oe.leaseExpiresAt} is not null and ${oe.leaseExpiresAt} <= ${e} then 1 else 0 end), 0)`}).from(oe),this.db.select({total:q`count(*)`,active:q`coalesce(sum(case when ${pt.expiresAt} > ${e} then 1 else 0 end), 0)`,stale:q`coalesce(sum(case when ${pt.expiresAt} <= ${e} then 1 else 0 end), 0)`,latestHeartbeatAt:q`max(${pt.heartbeatAt})`}).from(pt)]),n={pending:0,processing:0,completed:0,failed:0},o=t.map((l)=>{let u=Number(l.count);return n[l.status]+=u,{type:l.type,status:l.status,count:u}}),s=r[0],a=i[0],c=(l)=>l===null||l===void 0?null:Math.max(0,e-Number(l));return{totals:n,byType:o,oldestPendingAgeMs:c(s?.oldestPendingAt),duePending:Number(s?.duePending??0),oldestDuePendingAgeMs:c(s?.oldestDuePendingAt),latestClaimAgeMs:c(s?.latestClaimAt),oldestProcessingAgeMs:c(s?.oldestProcessingAt),staleLeaseCount:Number(s?.staleLeaseCount??0),workerSessions:{total:Number(a?.total??0),active:Number(a?.active??0),stale:Number(a?.stale??0),latestHeartbeatAgeMs:c(a?.latestHeartbeatAt)}}}async getRuntimeUpdates(e,t){let r=gke.parse(t);if(r===0)return[];return(await this.db.select().from(oe).where(q`(${oe.runtimeUpdatedAt}, ${oe.id}) > (${e.updatedAt}, ${e.jobId})`).orderBy(ao(oe.runtimeUpdatedAt),ao(oe.id)).limit(r)).map((n)=>({job:n,cursor:{updatedAt:n.runtimeUpdatedAt??0,jobId:n.id}}))}async cleanup(e){let t=Date.now()-e;return(await this.write("cleanup",async()=>this.db.delete(oe).where(zt(so(tt(oe.status,Ke.COMPLETED),tt(oe.status,Ke.FAILED)),Su(oe.completedAt,t))))).rowsAffected}async getActiveJobs(e){let t=so(tt(oe.status,Ke.PENDING),tt(oe.status,Ke.PROCESSING)),r=e&&e.length>0?zt(t,Is(oe.type,e)):t;return this.db.select().from(oe).where(r).orderBy(Wa(oe.createdAt))}async getRecentJobs(e,t=20){let r=e&&e.length>0?Is(oe.type,e):void 0;return this.db.select().from(oe).where(r).orderBy(Wa(oe.createdAt)).limit(t)}async getFailedJobs(e){let t=tt(oe.status,Ke.FAILED),r=e&&e.length>0?zt(t,Is(oe.type,e)):t;return this.db.select().from(oe).where(r).orderBy(Wa(oe.createdAt))}async claimNextReady(e){let{now:t,attemptId:r,workerSlotId:i,workerSessionId:n,leaseDurationMs:o,executableTypes:s}=e,a=this.db.select({slotId:pt.slotId}).from(pt).where(zt(tt(pt.slotId,i),tt(pt.sessionId,n),ux(pt.expiresAt,t))),c=this.db.select({slotId:pt.slotId}).from(pt).where(zt(tt(pt.slotId,oe.workerSlotId),tt(pt.sessionId,oe.workerSessionId))),l=zt(tt(oe.status,Ke.PROCESSING),so($n(oe.attemptId),fx(c),Su(oe.leaseExpiresAt,t))),u=q`${oe.status} = ${Ke.PROCESSING} AND ${oe.retryCount} + 1 > ${oe.maxRetries}`,d=this.db.select({id:oe.id}).from(oe).where(zt(Is(oe.type,s),so(zt(tt(oe.status,Ke.PENDING),Su(oe.scheduledFor,t)),l))).orderBy(ao(oe.priority),ao(oe.createdAt)).limit(1),m=(await this.write("claim",async()=>this.db.update(oe).set({status:q`CASE WHEN ${u} THEN ${Ke.FAILED} ELSE ${Ke.PROCESSING} END`,retryCount:q`CASE WHEN ${oe.status} = ${Ke.PROCESSING} THEN ${oe.retryCount} + 1 ELSE ${oe.retryCount} END`,lastError:q`CASE WHEN ${oe.status} = ${Ke.PROCESSING} THEN 'Attempt lease expired' ELSE ${oe.lastError} END`,startedAt:q`CASE WHEN ${u} THEN ${oe.startedAt} ELSE ${t} END`,completedAt:q`CASE WHEN ${u} THEN ${t} ELSE NULL END`,attemptId:q`CASE WHEN ${u} THEN ${oe.attemptId} ELSE ${r} END`,workerSlotId:q`CASE WHEN ${u} THEN ${oe.workerSlotId} ELSE ${i} END`,workerSessionId:q`CASE WHEN ${u} THEN ${oe.workerSessionId} ELSE ${n} END`,leaseExpiresAt:q`CASE WHEN ${u} THEN ${oe.leaseExpiresAt} ELSE ${t+o} END`,attemptHeartbeatAt:q`CASE WHEN ${u} THEN ${oe.attemptHeartbeatAt} ELSE ${t} END`,runtimeUpdatedAt:q`CASE WHEN ${u} THEN ${this.nextRuntimeUpdatedAt(t)} ELSE ${oe.runtimeUpdatedAt} END`}).where(zt(Is(oe.id,d),dx(a))).returning()))[0];if(m?.status!==Ke.PROCESSING)return null;return this.logger.debug("Job claimed",{jobId:m.id,attemptId:m.attemptId,workerSlotId:i,workerSessionId:n}),m}nextRuntimeUpdatedAt(e){return q`max(${e}, coalesce((select max(${oe.runtimeUpdatedAt}) from ${oe}), 0) + 1)`}attemptWriteGuard(e,t){return t?zt(tt(oe.id,e),tt(oe.status,Ke.PROCESSING),tt(oe.attemptId,t)):zt(tt(oe.id,e),$n(oe.attemptId),so(tt(oe.status,Ke.PENDING),tt(oe.status,Ke.PROCESSING)))}}var pke=2000,mke=5,hke=40,gke,yke;var jV=x(()=>{LV();$O();Re();ms();ip();BV();gke=f.number().int().min(0).max(1000),yke=new RO});import{AsyncLocalStorage as bke}from"async_hooks";class Fp{storage=new bke;static createFresh(){return new Fp}constructor(){}current(){return this.storage.getStore()}run(e,t,r){if(t.length===0)throw Error("Operation ID must not be empty");let i=is.parse(e),n=xke(i);return this.storage.run(Object.freeze({provenance:n,operationId:t}),r)}}function xke(e){if(Object.freeze(e.projectionLineage),e.sourceEntity)Object.freeze(e.sourceEntity);return Object.freeze(e)}var NO=x(()=>{os()});class Zp{client;logger;handlerRegistry;repository;walInitialization=null;walInitializationSettled=!1;closeRequested=!1;clientClosed=!1;inFlightEnqueues=0;databaseUrl;operationContext;projectionAdmission;directWorkerSlotId=`direct:${eo()}`;directWorkerSessionId=eo();directLeaseDurationMs;directSessionStart=null;close(){this.closeRequested=!0,this.closeClientWhenReady()}static createFresh(e,t,r){return new Zp(e,t??fn.getInstance(),r)}constructor(e,t,r){let{db:i,client:n,url:o}=NV(e);this.client=n,this.databaseUrl=o,this.logger=t.child("JobQueueService"),this.operationContext=r?.operationContext??Fp.createFresh(),this.projectionAdmission=r?.projectionAdmission,this.handlerRegistry=new OO(this.logger,r?.handlerRegistrationMode??"combined"),this.repository=new zO(i,n,o,this.logger),this.directLeaseDurationMs=e.claimTimeoutMs??300000}initialize(){if(this.closeRequested)return Promise.resolve();return this.walInitialization??=this.initializeWALMode(),this.walInitialization}async initializeWALMode(){try{await Rx(this.client,this.databaseUrl)}catch(e){this.logger.warn("Failed to enable WAL mode (non-fatal)",e)}finally{this.walInitializationSettled=!0,this.closeClientWhenReady()}}closeClientWhenReady(){if(!this.closeRequested||this.inFlightEnqueues>0||this.walInitialization!==null&&!this.walInitializationSettled)return;this.closeClient()}closeClient(){if(this.clientClosed)return;this.clientClosed=!0,this.client.close()}registerHandler(e,t,r){this.handlerRegistry.registerHandler(e,t,r)}unregisterHandler(e){this.handlerRegistry.unregisterHandler(e)}unregisterPluginHandlers(e){this.handlerRegistry.unregisterPluginHandlers(e)}getRegisteredTypes(){return this.handlerRegistry.getRegisteredTypes()}getHandler(e){return this.handlerRegistry.getHandler(e)}getValidator(e){return this.handlerRegistry.getValidator(e)}finalizeHandlerRegistrations(){return this.handlerRegistry.finalizeRegistrations()}getExecutionRegistrations(){return this.handlerRegistry.getExecutionRegistrations()}async enqueue(e){if(this.closeRequested)throw Error("Cannot enqueue a job after the queue service is closed");this.inFlightEnqueues++;try{return await this.enqueueValidated(e)}finally{this.inFlightEnqueues--,this.closeClientWhenReady()}}async enqueueValidated(e){let{type:t,data:r,options:i}=e,n=this.handlerRegistry.getValidator(t);if(!n)throw Error(`No job type declared: ${t}`);let o=n.validateAndParse(r);if(o===null)throw Error(`Invalid job data for type: ${t}`);let s=Date.now(),a=eo(),c=i?.rootJobId??this.operationContext.current()?.provenance.rootJobId??a,l=this.createJobProvenance(a,c,i),u=i?.metadata??{operationType:"data_processing"},{provenance:d,...p}=u,m={id:a,type:t,data:JSON.stringify(o),status:Ke.PENDING,priority:i?.priority??0,maxRetries:i?.maxRetries??3,retryCount:0,source:i?.source??null,metadata:{...p,...i?.deduplicationKey&&{deduplicationKey:i.deduplicationKey},rootJobId:c,provenance:l},createdAt:s,scheduledFor:i?.delayMs?s+i.delayMs:s,result:null,lastError:null,startedAt:null,completedAt:null},y,g=()=>{y?.rollback(),y=void 0};try{let b=await this.repository.enqueueAtomic({jobData:m,strategy:i?.deduplication,deduplicationKey:i?.deduplicationKey,beforeInsert:async()=>{y=await this.projectionAdmission?.reserveJobAdmission(l)},onInsertRollback:g});if(y?.commit(),y=void 0,b.kind==="skipped")this.logger.debug("Skipping duplicate job (already pending)",{type:t,existingJobId:b.jobId});else if(b.kind==="coalesced")this.logger.debug("Coalescing with existing job",{type:t,existingJobId:b.jobId});else{if(b.kind==="replaced")this.logger.debug("Replacing duplicate job",{type:t,oldJobId:b.replacedJobId});this.logger.debug("Job enqueued",{id:b.jobId,type:t,priority:m.priority,rootJobId:m.metadata.rootJobId})}return b.jobId}catch(b){throw g(),this.logger.error("Failed to enqueue job",{type:t,error:ct(b)}),b}}createJobProvenance(e,t,r){let i=this.operationContext.current(),n=r?.metadata.provenance??i?.provenance,o=n?.rootJobId===t?n:void 0,s=i?.provenance.rootJobId===t?i.operationId:void 0,a=r?.projection,c=a?[...o?.projectionLineage??[],a.id]:[...o?.projectionLineage??[]],l=a?.id??o?.projectionId;return is.parse({rootJobId:t,causationId:s??o?.causationId??e,...l?{projectionId:l}:{},projectionLineage:c,...a?.sourceEntity?{sourceEntity:a.sourceEntity}:o?.sourceEntity?{sourceEntity:o.sourceEntity}:{},derivationDepth:c.length})}async dequeue(e){let t=this.handlerRegistry.getRegisteredTypes();if(t.length===0)return null;let r=e??await this.getDirectClaimOptions(),i=Date.now(),n=await this.repository.claimNextReady({...r,now:i,attemptId:eo(),executableTypes:t});if(!n)return null;return this.logger.debug("Job dequeued",{id:n.id,type:n.type,priority:n.priority,retryCount:n.retryCount,attemptId:n.attemptId,workerSlotId:n.workerSlotId,workerSessionId:n.workerSessionId}),n}async startWorkerSession(e,t,r=ps){await this.repository.startWorkerSession(e,t,Date.now(),r)}heartbeatWorkerSession(e,t,r=ps){return this.repository.heartbeatWorkerSession(e,t,Date.now(),r)}endWorkerSession(e,t){return this.repository.endWorkerSession(e,t)}renewAttemptLease(e,t,r){return this.repository.renewAttemptLease(e,t,Date.now(),r)}recordAttemptProgress(e,t,r){return this.repository.recordAttemptProgress(e,t,r)}complete(e,t,r){return this.repository.complete(e,t,r)}update(e,t,r){return this.repository.update(e,t,r)}fail(e,t,r){return this.repository.fail(e,t,r)}retireUnownedActiveJob(e){return this.repository.retireUnownedActiveJob(e)}async getDirectClaimOptions(){return this.directSessionStart??=this.repository.startWorkerSession(this.directWorkerSlotId,this.directWorkerSessionId,Date.now(),this.directLeaseDurationMs),await this.directSessionStart,{workerSlotId:this.directWorkerSlotId,workerSessionId:this.directWorkerSessionId,leaseDurationMs:this.directLeaseDurationMs}}async getStatus(e){return this.repository.getStatus(e)}async getJobsByRootJobId(e){return this.repository.getJobsByRootJobId(e)}async getStatusByEntityId(e){return this.repository.getStatusByEntityId(e)}async getStats(){return this.repository.getStats()}getDiagnostics(e){return this.repository.getDiagnostics(e)}async waitForIdle(e={}){let t=e.quietMs??250,r=e.pollIntervalMs??25,i=Date.now()+(e.timeoutMs??30000),n=async(o)=>{e.signal?.throwIfAborted();let{totals:s}=await this.getDiagnostics(),c=s.pending===0&&s.processing===0?o??Date.now():null;if(c!==null&&Date.now()-c>=t)return;if(Date.now()>=i)throw Error(`Timed out waiting for the job queue to settle: ${s.pending} pending, ${s.processing} processing`);return await Bun.sleep(r),n(c)};return n(null)}getRuntimeUpdates(e,t=1000){return this.repository.getRuntimeUpdates(e,t)}async cleanup(e){let t=await this.repository.cleanup(e);if(t>0)this.logger.info("Cleaned up old jobs",{deletedCount:t,olderThanMs:e});return t}async getActiveJobs(e){return this.repository.getActiveJobs(e)}async getRecentJobs(e,t){return this.repository.getRecentJobs(e,t)}async getFailedJobs(e){return this.repository.getFailedJobs(e)}}var qV=x(()=>{rp();MC();ip();ms();CO();DV();jV();os();NO()});var DO=()=>{};var UV=x(()=>{rp();ms();ip();ms();DO();NO()});var MV=x(()=>{ms();DO()});var ntt;var FV=x(()=>{os();Re();np();ntt=f.preprocess((e)=>{if(typeof e!=="string")return e;return JSON.parse(e)},f.record(f.string(),f.unknown()))});var stt;var ZV=x(()=>{Re();stt=f.record(f.string(),f.unknown())});var HV=x(()=>{os();rp()});var KV=x(()=>{qV();UV();MV();FV();ZV();ip();ms();np();HV()});var LO={};tr(LO,{LEGACY_PROJECTION_JOB_TYPES:()=>VV,LEGACY_PROJECTION_RETIREMENT_REASON:()=>GV,legacyProjectionJobTypeSchema:()=>WV,retireLegacyProjectionJob:()=>Cke});import{existsSync as Ike}from"fs";import{resolve as Ake}from"path";function JV(e){return{id:e.id,type:e.type,status:e.status,retryCount:e.retryCount,maxRetries:e.maxRetries,createdAt:e.createdAt,startedAt:e.startedAt,completedAt:e.completedAt}}function Tke(e,t){if(e.type!==t)throw Error(`Job ${e.id} has type ${e.type}; expected ${t}`);if(e.status!=="pending"&&e.status!=="processing")throw Error(`Job ${e.id} is already terminal (${e.status})`);if(e.attemptId!==null||e.workerSlotId!==null||e.workerSessionId!==null||e.leaseExpiresAt!==null||e.attemptHeartbeatAt!==null)throw Error(`Job ${e.id} still has attempt ownership`);if(e.progress!==null||e.result!=null)throw Error(`Job ${e.id} contains partial progress or a result`)}async function Cke(e){let t=Ake(e.databasePath);if(!Ike(t))throw Error(`Job database does not exist: ${t}`);let r=WV.parse(e.jobType),i=Zp.createFresh({url:`file:${t}`});try{let n=await i.getStatus(e.jobId);if(!n)throw Error(`Job not found: ${e.jobId}`);if(Tke(n,r),e.dryRun){if(e.confirmation!==void 0)throw Error("Dry-run recovery must not include confirmation");return{databasePath:t,job:JV(n),retired:!1}}let o=`retire:${n.id}`;if(e.confirmation!==o)throw Error(`Refusing to retire ${n.id}; expected --confirm ${o}`);let s=await i.retireUnownedActiveJob({jobId:n.id,expectedType:r,reason:GV,now:e.now?.()??Date.now()});if(!s)throw Error(`Job ${n.id} changed or acquired ownership before retirement`);return{databasePath:t,job:JV(s),retired:!0}}finally{i.close()}}var VV,WV,GV="Retired legacy projection job superseded by scheduler-owned projections";var BO=x(()=>{KV();Re();VV=["conversation-memory:project","skill:project","swot:derive","topic:project"],WV=f.enum(VV)});function er(e,t,r,i,n){return YV.parse({id:e,operation:t,count:r,targetProbeCount:i,settleMs:n})}function r7(e){return Nx.parse(structuredClone(zke[e]))}function Dx(e){let t=`stress:${e.handle}`;if(e.confirmation!==t)throw Error(`Directory-sync stress requires --confirm ${t}`);let r=/(^|[-_.])smoke($|[-_.])/i;if(!r.test(e.handle)||!r.test(e.domain)||!r.test(e.contentRepo))throw Error("Directory-sync stress is smoke-only; handle, domain, and content repository must all identify smoke")}async function qO(e,t={}){let r=t.fetchImpl??fetch,i=t.now??(()=>new Date),n=t.timeoutMs??20000,o=i(),s=new AbortController,a=setTimeout(()=>s.abort(),n);try{let c=await r(e,{method:"GET",signal:s.signal});return await c.arrayBuffer(),jO.parse({timestamp:o.toISOString(),endpoint:new URL(e).pathname,status:c.status,durationMs:Math.max(0,i().getTime()-o.getTime()),ok:c.ok})}catch(c){return jO.parse({timestamp:o.toISOString(),endpoint:new URL(e).pathname,status:0,durationMs:Math.max(0,i().getTime()-o.getTime()),ok:!1,error:Dke(c)})}finally{clearTimeout(a)}}async function n7(e,t){let r=Nx.parse(e),i=[],n,o=await t.prepare(r),s,a;try{try{await t.startMonitoring()}catch(c){n=`monitor: ${Px(c)}`}if(!n)for(let c of r.phases)try{let l=XV.parse(await t.executePhase(c,o));if(i.push(l),!l.success){n=`${c.id}: ${l.error??"phase failed"}`;break}}catch(l){let u=Px(l);i.push({id:c.id,operation:c.operation,count:c.count,success:!1,error:u}),n=`${c.id}: ${u}`;break}}finally{try{if(s=e7.parse(await t.cleanup(o)),!s.success&&!n)n=s.error??"cleanup failed"}catch(c){let l=Px(c);s={success:!1,probesRemaining:0,error:l},n??=`cleanup: ${l}`}try{a=t7.parse(await t.stopMonitoring())}catch(c){let l=Px(c);a={health:[],runtime:[]},n??=`monitor: ${l}`}}return n??=Nke(a,r.maximumExternalAiCalls??0),Pke.parse({profile:r.profile,success:n===void 0&&i.length===r.phases.length&&s.success,baseline:o,phases:i,cleanup:s,metrics:a,...n?{failure:n}:{}})}function Nke(e,t=0){let r=e.health.find((o)=>!o.ok);if(r)return`health: ${r.endpoint} unavailable`;let i=e.externalAiCalls??0;if(i>t)return t===0?`external AI: observed ${i} call(s)`:`external AI: observed ${i} call(s), cap ${t}`;if(e.container?.oomKilled)return"container: OOM killed";let n=e.container?.restartCount??0;if(n>0)return`container: restarted ${n} time(s)`;if(e.container&&e.container.status!=="running")return`container: ${e.container.status}`;return}function Dke(e){if(e instanceof Error)return`${e.name}: ${e.message}`;return String(e)}function Px(e){return ct(e)}var zx,QV,YV,Nx,$ke,jO,Oke,XV,e7,Rke,t7,Pke,zke;var UO=x(()=>{Re();zx=f.enum(["regression","load","stress"]),QV=f.enum(["add","update","rename","delete"]),YV=f.object({id:f.string().min(1),operation:QV,count:f.number().int().positive().max(700),targetProbeCount:f.number().int().min(0).max(700),settleMs:f.number().int().nonnegative().max(300000)}),Nx=f.object({profile:zx,maximumProbeCount:f.number().int().positive().max(700),maximumExternalAiCalls:f.number().int().nonnegative().max(1e4).optional(),phases:f.array(YV).min(1)}),$ke=f.object({entities:f.number().int().nonnegative(),notes:f.number().int().nonnegative(),version:f.string().min(1)}),jO=f.object({timestamp:f.iso.datetime(),endpoint:f.string().startsWith("/"),status:f.number().int().nonnegative(),durationMs:f.number().nonnegative(),ok:f.boolean(),error:f.string().optional()}),Oke=f.object({timestamp:f.iso.datetime(),cpuPercent:f.number().nonnegative(),memoryPercent:f.number().nonnegative(),pids:f.number().int().nonnegative()}),XV=f.object({id:f.string().min(1),operation:QV,count:f.number().int().positive(),success:f.boolean(),commitLatencyMs:f.number().nonnegative().optional(),persistenceLatencyMs:f.number().nonnegative().optional(),error:f.string().optional()}),e7=f.object({success:f.boolean(),probesRemaining:f.number().int().nonnegative(),finalEntities:f.number().int().nonnegative().optional(),finalNotes:f.number().int().nonnegative().optional(),contentTreeRestored:f.boolean().optional(),error:f.string().optional()}),Rke=f.object({status:f.string(),restartCount:f.number().int().nonnegative(),oomKilled:f.boolean()}),t7=f.object({health:f.array(jO),runtime:f.array(Oke),externalAiCalls:f.number().int().nonnegative().optional(),container:Rke.optional()}),Pke=f.object({profile:zx,success:f.boolean(),baseline:$ke,phases:f.array(XV),cleanup:e7,metrics:t7,failure:f.string().optional()}),zke={regression:{profile:"regression",maximumProbeCount:20,phases:[er("add20","add",20,20,0),er("update20","update",20,20,30000),er("delete20","delete",20,0,150000)]},load:{profile:"load",maximumProbeCount:350,phases:[er("add50","add",50,50,0),er("add150","add",100,150,0),er("add350","add",200,350,0),er("update350a","update",350,350,45000),er("rename100","rename",100,350,45000),er("update350b","update",350,350,45000),er("delete350","delete",350,0,150000)]},stress:{profile:"stress",maximumProbeCount:700,phases:[er("add50","add",50,50,0),er("add150","add",100,150,0),er("add350","add",200,350,0),er("add700","add",350,700,0),er("update700a","update",700,700,45000),er("rename200","rename",200,700,45000),er("update700b","update",700,700,45000),er("delete700","delete",700,0,150000)]}}});import{spawn as Lke}from"child_process";async function i7(e,t,r,i){let n=await e(t,r,i);if(n.exitCode!==0)throw Ei(t,r,n);return n}function Ei(e,t,r){let i=r.stderr.trim()||r.stdout.trim();return Error(`${e} ${t.join(" ")} exited with ${r.exitCode}${i?`: ${i}`:""}`)}var po=async(e,t,r={})=>new Promise((i,n)=>{let o=Lke(e,[...t],{cwd:r.cwd,env:r.env?{...process.env,...r.env}:process.env,stdio:["pipe","pipe","pipe"]}),s="",a="";o.stdout.setEncoding("utf8"),o.stderr.setEncoding("utf8"),o.stdout.on("data",(c)=>{s+=c}),o.stderr.on("data",(c)=>{a+=c}),o.on("error",n),o.on("close",(c)=>{i({exitCode:c??1,stdout:s,stderr:a})}),o.stdin.end(r.stdin)});var Hp=()=>{};class Au{#e;#t;dir;constructor(e,t,r){this.#e=e,this.dir=t,this.#t=r}static async clone(e,t,r,i){let n=new Au(e,r,i);return await i7(e,"git",["-c","credential.helper=","-c",`credential.helper=${o7}`,"clone","--branch","main","--single-branch",`https://github.com/${t}.git`,r],{env:n.environment()}),await n.run(["config","--local","credential.helper",o7]),await n.run(["reset","--hard","origin/main"]),n}async run(e,t=!0){let r=await this.#e("git",e,{cwd:this.dir,env:this.environment()});if(t&&r.exitCode!==0)throw Ei("git",e,r);return r}async output(e){return(await this.run(e)).stdout.trim()}async sync(e=!1){if(await this.run(["fetch","origin","main"]),e)await this.run(["reset","--hard","origin/main"]);else await this.run(["pull","--rebase","origin","main"])}async commitAll(e){await this.run(["add","-A"]),await this.run(["-c","user.name=brains-ops","-c","user.email=ops@rizom.ai","commit","-m",e])}async pushMainWithRebase(){for(let e=1;e<=5;e+=1){if((await this.run(["push","origin","main"],!1)).exitCode===0)return;await this.run(["pull","--rebase","origin","main"])}throw Error("Unable to push content main after five rebase attempts")}async pruneStressBackupBranches(){let t=(await this.run(["ls-remote","--heads","origin","refs/heads/ops/directory-sync-stress-backup-*"])).stdout.split(/\r?\n/).map((r)=>r.match(/\trefs\/heads\/(ops\/directory-sync-stress-backup-[^\s]+)$/)?.[1]).filter((r)=>r!==void 0).sort();for(let r of t)await this.run(["push","origin","--delete",r]);return t}environment(){return{GH_TOKEN:this.#t,GITHUB_TOKEN:this.#t}}}var o7='!f() { test "$1" = get && echo username=x-access-token && echo "password=$GH_TOKEN"; }; f';var s7=x(()=>{Hp()});function Kp(e){return e.entityCounts.find((t)=>t.entityType==="note")?.count??0}class MO{#e;#t=[];#r=[];#n=new Set(["/health/ready"]);#i=!0;#o;#a;#s="";#c=0;#l;constructor(e){this.#e=e}get startedAt(){return this.#s}get error(){return this.#a}get healthSamples(){return this.#t}get runtimeSamples(){return this.#r}gateHealthSamples(){return this.#t.slice(this.#c,this.#l??this.#t.length)}markGateEnd(){this.#l=this.#t.length}async discoverEndpoints(){for(let e of["/health/live","/health/operate"])if((await qO(`https://${this.#e.domain}${e}`,{fetchImpl:this.#e.fetchImpl,now:this.#e.now,timeoutMs:5000})).status!==404)this.#n.add(e)}start(){this.#i=!1,this.#a=void 0,this.#c=this.#t.length,this.#l=void 0,this.#s=this.#e.now().toISOString(),this.#o=Promise.all([this.#f(),this.#m()]).then(()=>{return}).catch((e)=>{this.#a=e,this.#i=!0})}async stop(){this.#i=!0,await this.#o}async waitForHealthSnapshot(e){return this.waitForEntityBaseline(void 0,void 0,e)}async waitForEntityBaseline(e,t,r){let i=this.#e.now().getTime();while(this.#e.now().getTime()-i<r){let n=await this.fetchHealthPayload();if(this.#d(n,e,t))return n;await this.#e.sleep(5000)}return}async waitForStableEntityBaseline(e,t,r){let i=this.#e.now().getTime(),n=0;while(this.#e.now().getTime()-i<r){let o=await this.fetchHealthPayload();if(this.#d(o,e,t)){if(n+=1,n===2)return o}else n=0;await this.#e.sleep(5000)}return}async fetchHealthPayload(){let e=this.#e.now(),t=new AbortController,r=setTimeout(()=>t.abort(),20000);try{let i=await this.#e.fetchImpl(`https://${this.#e.domain}/health/operate`,{signal:t.signal}),n=await i.text();if(this.#t.push({timestamp:e.toISOString(),endpoint:"/health/operate",status:i.status,durationMs:Math.max(0,this.#e.now().getTime()-e.getTime()),ok:i.ok}),!i.ok)return;return Bke.parse(JSON.parse(n)).app}catch(i){this.#t.push({timestamp:e.toISOString(),endpoint:"/health/operate",status:0,durationMs:Math.max(0,this.#e.now().getTime()-e.getTime()),ok:!1,error:i instanceof Error?`${i.name}: ${i.message}`:String(i)});return}finally{clearTimeout(r)}}#d(e,t,r){return e!==void 0&&(t===void 0||Kp(e)===t)&&(r===void 0||e.entities===r)}async#f(){while(!this.#i){for(let e of this.#n)this.#t.push(await qO(`https://${this.#e.domain}${e}`,{fetchImpl:this.#e.fetchImpl,now:this.#e.now,timeoutMs:20000}));await this.#e.sleep(4000)}}async#m(){while(!this.#i){let e=await this.#e.sampleRuntime();if(e)this.#r.push(e);await this.#e.sleep(1000)}}}var Bke;var a7=x(()=>{Re();UO();Bke=f.object({status:f.literal("ready"),operationalStatus:f.literal("operational"),app:f.object({version:f.string(),entities:f.number().int().nonnegative(),entityCounts:f.array(f.object({entityType:f.string(),count:f.number().int().nonnegative()})).default([])})})});var Lx={};tr(Lx,{applyDirectorySyncStressPhase:()=>d7,cleanupDirectorySyncStress:()=>Vke,listProbeFiles:()=>Xa,parseStressRuntimeSample:()=>f7,removeProbeFiles:()=>WO,runDeployedDirectorySyncStress:()=>Kke,runStressCommand:()=>po,verifyDirectorySyncStressAccess:()=>Jke});import{chmod as jke,mkdir as ZO,mkdtemp as HO,readFile as qke,readdir as Uke,rename as Mke,rm as Vp,writeFile as Qn}from"fs/promises";import{tmpdir as KO}from"os";import{join as St,resolve as JO}from"path";async function Kke(e){let t=e.now??(()=>new Date),r=t().toISOString(),i=GO(r),n=JO(e.artifactsDir??St(e.rootDir,".brains-ops","stress",i));await ZO(n,{recursive:!0});let{pilot:o,user:s}=await VO(e.rootDir,e.handle);Dx({handle:s.handle,domain:s.domain,contentRepo:s.contentRepo,confirmation:e.confirmation});let a=zx.parse(e.profile),c=e.plan?Nx.parse(e.plan):r7(a);if(c.profile!==a)throw Error(`Directory-sync stress plan profile ${c.profile} does not match requested profile ${a}`);if((c.maximumExternalAiCalls??0)===0)u7(s);let l=Fke.parse(e.env??process.env),u=new l7({runId:i,artifactsDir:n,user:s,githubOrg:o.githubOrg,serverLabel:`${o.contentRepoPrefix}${s.handle}`,environment:l,fetchImpl:e.fetchImpl??fetch,commandRunner:e.commandRunner??po,logger:e.logger??console.info,now:t,sleep:e.sleep??Bun.sleep}),d;try{d=await n7(c,u)}finally{await u.dispose()}let p={runId:i,artifactsDir:n,target:{handle:s.handle,domain:s.domain,contentRepo:`${o.githubOrg}/${s.contentRepo}`},startedAt:r,completedAt:t().toISOString(),report:d};return await Qke(p),p}async function Jke(e){let r=(e.now??(()=>new Date))().toISOString(),i=GO(r),n=JO(e.artifactsDir??St(e.rootDir,".brains-ops","stress",`access-check-${i}`));await ZO(n,{recursive:!0});let{pilot:o,user:s}=await VO(e.rootDir,e.handle);Dx({handle:s.handle,domain:s.domain,contentRepo:s.contentRepo,confirmation:e.confirmation}),u7(s);let a=(e.env??process.env).CONTENT_REPO_ADMIN_TOKEN;if(!a)throw Error("Missing CONTENT_REPO_ADMIN_TOKEN");let c=await HO(St(KO(),"brains-ops-directory-sync-access-check-"));try{let l=await Au.clone(e.commandRunner??po,`${o.githubOrg}/${s.contentRepo}`,St(c,"content"),a),u=await l.output(["rev-parse","HEAD"]);await l.run(["push","--dry-run","origin",`HEAD:refs/heads/ops/directory-sync-stress-access-check-${i}`]);let d={success:!0,artifactsDir:n,checkedAt:r,remoteHead:u,target:{handle:s.handle,domain:s.domain,contentRepo:`${o.githubOrg}/${s.contentRepo}`}};return await Qn(St(n,"access-check.json"),`${JSON.stringify(d,null,2)}
454
+ `;await t.run(n);let s=(await t.values(q`SELECT id, hash, created_at FROM ${q.identifier(i)} ORDER BY created_at DESC LIMIT 1`))[0]??void 0;await t.transaction(async(a)=>{for(let c of e)if(!s||Number(s[2])<c.folderMillis){for(let l of c.sql)await a.run(q.raw(l));await a.run(q`INSERT INTO ${q.identifier(i)} ("hash", "created_at") VALUES(${c.hash}, ${c.folderMillis})`)}})}}});var uO;var mV=x(()=>{Ne();uO=class uO{static[J]="TypedQueryBuilder";getSelectedFields(){return this._.selectedFields}}});function Sx(e,t){return(r,i,...n)=>{let o=[i,...n].map((s)=>({type:e,isAll:t,rightSelect:s}));for(let s of o)if(!Op(r.getSelectedFields(),s.rightSelect.getSelectedFields()))throw Error("Set operator error (union / intersect / except): selected fields are not the same or are in a different order");return r.addSetOperators(o)}}var Gn,hV,dO,tke=()=>({union:rke,unionAll:nke,intersect:ike,except:oke}),rke,nke,ike,oke;var fO=x(()=>{Ne();mV();co();Ga();pr();Vn();Er();qr();oo();vu();jp();Gn=class Gn{static[J]="SQLiteSelectBuilder";fields;session;dialect;withList;distinct;constructor(e){this.fields=e.fields,this.session=e.session,this.dialect=e.dialect,this.withList=e.withList,this.distinct=e.distinct}from(e){let t=!!this.fields,r;if(this.fields)r=this.fields;else if(ce(e,vt))r=Object.fromEntries(Object.keys(e._.selectedFields).map((i)=>[i,e[i]]));else if(ce(e,fo))r=e[_t].selectedFields;else if(ce(e,Ae))r={};else r=cx(e);return new dO({table:e,fields:r,isPartialSelect:t,session:this.session,dialect:this.dialect,withList:this.withList,distinct:this.distinct})}};hV=class hV extends uO{static[J]="SQLiteSelectQueryBuilder";_;config;joinsNotNullableMap;tableName;isPartialSelect;session;dialect;cacheConfig=void 0;usedTables=new Set;constructor({table:e,fields:t,isPartialSelect:r,session:i,dialect:n,withList:o,distinct:s}){super();this.config={withList:o,table:e,fields:{...t},distinct:s,setOperators:[]},this.isPartialSelect=r,this.session=i,this.dialect=n,this._={selectedFields:t,config:this.config},this.tableName=Rp(e),this.joinsNotNullableMap=typeof this.tableName==="string"?{[this.tableName]:!0}:{};for(let a of Wn(e))this.usedTables.add(a)}getUsedTables(){return[...this.usedTables]}createJoin(e){return(t,r)=>{let i=this.tableName,n=Rp(t);for(let o of Wn(t))this.usedTables.add(o);if(typeof n==="string"&&this.config.joins?.some((o)=>o.alias===n))throw Error(`Alias "${n}" is already used in this query`);if(!this.isPartialSelect){if(Object.keys(this.joinsNotNullableMap).length===1&&typeof i==="string")this.config.fields={[i]:this.config.fields};if(typeof n==="string"&&!ce(t,Ae)){let o=ce(t,vt)?t._.selectedFields:ce(t,Tn)?t[_t].selectedFields:t[we.Symbol.Columns];this.config.fields[n]=o}}if(typeof r==="function")r=r(new Proxy(this.config.fields,new xt({sqlAliasedBehavior:"sql",sqlBehavior:"sql"})));if(!this.config.joins)this.config.joins=[];if(this.config.joins.push({on:r,table:t,joinType:e,alias:n}),typeof n==="string")switch(e){case"left":{this.joinsNotNullableMap[n]=!1;break}case"right":{this.joinsNotNullableMap=Object.fromEntries(Object.entries(this.joinsNotNullableMap).map(([o])=>[o,!1])),this.joinsNotNullableMap[n]=!0;break}case"cross":case"inner":{this.joinsNotNullableMap[n]=!0;break}case"full":{this.joinsNotNullableMap=Object.fromEntries(Object.entries(this.joinsNotNullableMap).map(([o])=>[o,!1])),this.joinsNotNullableMap[n]=!1;break}}return this}}leftJoin=this.createJoin("left");rightJoin=this.createJoin("right");innerJoin=this.createJoin("inner");fullJoin=this.createJoin("full");crossJoin=this.createJoin("cross");createSetOperator(e,t){return(r)=>{let i=typeof r==="function"?r(tke()):r;if(!Op(this.getSelectedFields(),i.getSelectedFields()))throw Error("Set operator error (union / intersect / except): selected fields are not the same or are in a different order");return this.config.setOperators.push({type:e,isAll:t,rightSelect:i}),this}}union=this.createSetOperator("union",!1);unionAll=this.createSetOperator("union",!0);intersect=this.createSetOperator("intersect",!1);except=this.createSetOperator("except",!1);addSetOperators(e){return this.config.setOperators.push(...e),this}where(e){if(typeof e==="function")e=e(new Proxy(this.config.fields,new xt({sqlAliasedBehavior:"sql",sqlBehavior:"sql"})));return this.config.where=e,this}having(e){if(typeof e==="function")e=e(new Proxy(this.config.fields,new xt({sqlAliasedBehavior:"sql",sqlBehavior:"sql"})));return this.config.having=e,this}groupBy(...e){if(typeof e[0]==="function"){let t=e[0](new Proxy(this.config.fields,new xt({sqlAliasedBehavior:"alias",sqlBehavior:"sql"})));this.config.groupBy=Array.isArray(t)?t:[t]}else this.config.groupBy=e;return this}orderBy(...e){if(typeof e[0]==="function"){let t=e[0](new Proxy(this.config.fields,new xt({sqlAliasedBehavior:"alias",sqlBehavior:"sql"}))),r=Array.isArray(t)?t:[t];if(this.config.setOperators.length>0)this.config.setOperators.at(-1).orderBy=r;else this.config.orderBy=r}else{let t=e;if(this.config.setOperators.length>0)this.config.setOperators.at(-1).orderBy=t;else this.config.orderBy=t}return this}limit(e){if(this.config.setOperators.length>0)this.config.setOperators.at(-1).limit=e;else this.config.limit=e;return this}offset(e){if(this.config.setOperators.length>0)this.config.setOperators.at(-1).offset=e;else this.config.offset=e;return this}getSQL(){return this.dialect.buildSelectQuery(this.config)}toSQL(){let{typings:e,...t}=this.dialect.sqlToQuery(this.getSQL());return t}as(e){let t=[];if(t.push(...Wn(this.config.table)),this.config.joins)for(let r of this.config.joins)t.push(...Wn(r.table));return new Proxy(new vt(this.getSQL(),this.config.fields,e,!1,[...new Set(t)]),new xt({alias:e,sqlAliasedBehavior:"alias",sqlBehavior:"error"}))}getSelectedFields(){return new Proxy(this.config.fields,new xt({alias:this.tableName,sqlAliasedBehavior:"alias",sqlBehavior:"error"}))}$dynamic(){return this}};dO=class dO extends hV{static[J]="SQLiteSelect";_prepare(e=!0){if(!this.session)throw Error("Cannot execute a query on a query builder. Please use a database instance instead.");let t=Cn(this.config.fields),r=this.session[e?"prepareOneTimeQuery":"prepareQuery"](this.dialect.sqlToQuery(this.getSQL()),t,"all",!0,void 0,{type:"select",tables:[...this.usedTables]},this.cacheConfig);return r.joinsNotNullableMap=this.joinsNotNullableMap,r}$withCache(e){return this.cacheConfig=e===void 0?{config:{},enable:!0,autoInvalidate:!0}:e===!1?{enable:!1}:{enable:!0,autoInvalidate:!0,...e},this}prepare(){return this._prepare(!1)}run=(e)=>this._prepare().run(e);all=(e)=>this._prepare().all(e);get=(e)=>this._prepare().get(e);values=(e)=>this._prepare().values(e);async execute(){return this.all()}};KJ(dO,[Ur]);rke=Sx("union",!1),nke=Sx("union",!0),ike=Sx("intersect",!1),oke=Sx("except",!1)});var Ya;var wx=x(()=>{Ne();Ga();xx();Vn();fO();Ya=class Ya{static[J]="SQLiteQueryBuilder";dialect;dialectConfig;constructor(e){this.dialect=ce(e,ku)?e:void 0,this.dialectConfig=ce(e,ku)?void 0:e}$with=(e,t)=>{let r=this;return{as:(n)=>{if(typeof n==="function")n=n(r);return new Proxy(new Tp(n.getSQL(),t??("getSelectedFields"in n?n.getSelectedFields()??{}:{}),e,!0),new xt({alias:e,sqlAliasedBehavior:"alias",sqlBehavior:"error"}))}}};with(...e){let t=this;function r(n){return new Gn({fields:n??void 0,session:void 0,dialect:t.getDialect(),withList:e})}function i(n){return new Gn({fields:n??void 0,session:void 0,dialect:t.getDialect(),withList:e,distinct:!0})}return{select:r,selectDistinct:i}}select(e){return new Gn({fields:e??void 0,session:void 0,dialect:this.getDialect()})}selectDistinct(e){return new Gn({fields:e??void 0,session:void 0,dialect:this.getDialect(),distinct:!0})}getDialect(){if(!this.dialect)this.dialect=new cO(this.dialectConfig);return this.dialect}}});var vx,pO;var gV=x(()=>{Ne();co();pr();lo();Er();qr();vu();wx();vx=class vx{constructor(e,t,r,i){this.table=e,this.session=t,this.dialect=r,this.withList=i}static[J]="SQLiteInsertBuilder";values(e){if(e=Array.isArray(e)?e:[e],e.length===0)throw Error("values() must be called with at least one value");let t=e.map((r)=>{let i={},n=this.table[we.Symbol.Columns];for(let o of Object.keys(r)){let s=r[o];i[o]=ce(s,Ae)?s:new mn(s,n[o])}return i});return new pO(this.table,t,this.session,this.dialect,this.withList)}select(e){let t=typeof e==="function"?e(new Ya):e;if(!ce(t,Ae)&&!Op(this.table[ox],t._.selectedFields))throw Error("Insert select error: selected fields are not the same or are in a different order compared to the table definition");return new pO(this.table,t,this.session,this.dialect,this.withList,!0)}};pO=class pO extends Ur{constructor(e,t,r,i,n,o){super();this.session=r,this.dialect=i,this.config={table:e,values:t,withList:n,select:o}}static[J]="SQLiteInsert";config;returning(e=this.config.table[Ut.Symbol.Columns]){return this.config.returning=Cn(e),this}onConflictDoNothing(e={}){if(!this.config.onConflict)this.config.onConflict=[];if(e.target===void 0)this.config.onConflict.push(q` on conflict do nothing`);else{let t=Array.isArray(e.target)?q`${e.target}`:q`${[e.target]}`,r=e.where?q` where ${e.where}`:q``;this.config.onConflict.push(q` on conflict ${t} do nothing${r}`)}return this}onConflictDoUpdate(e){if(e.where&&(e.targetWhere||e.setWhere))throw Error('You cannot use both "where" and "targetWhere"/"setWhere" at the same time - "where" is deprecated, use "targetWhere" or "setWhere" instead.');if(!this.config.onConflict)this.config.onConflict=[];let t=e.where?q` where ${e.where}`:void 0,r=e.targetWhere?q` where ${e.targetWhere}`:void 0,i=e.setWhere?q` where ${e.setWhere}`:void 0,n=Array.isArray(e.target)?q`${e.target}`:q`${[e.target]}`,o=this.dialect.buildUpdateSet(this.config.table,ax(this.config.table,e.set));return this.config.onConflict.push(q` on conflict ${n}${r} do update set ${o}${t}${i}`),this}getSQL(){return this.dialect.buildInsertQuery(this.config)}toSQL(){let{typings:e,...t}=this.dialect.sqlToQuery(this.getSQL());return t}_prepare(e=!0){return this.session[e?"prepareOneTimeQuery":"prepareQuery"](this.dialect.sqlToQuery(this.getSQL()),this.config.returning,this.config.returning?"all":"run",!0,void 0,{type:"insert",tables:Wn(this.config.table)})}prepare(){return this._prepare(!1)}run=(e)=>this._prepare().run(e);all=(e)=>this._prepare().all(e);get=(e)=>this._prepare().get(e);values=(e)=>this._prepare().values(e);async execute(){return this.config.returning?this.all():this.run()}$dynamic(){return this}}});var _x,yV;var bV=x(()=>{Ne();co();Ga();lo();Vn();Er();qr();oo();vu();jp();_x=class _x{constructor(e,t,r,i){this.table=e,this.session=t,this.dialect=r,this.withList=i}static[J]="SQLiteUpdateBuilder";set(e){return new yV(this.table,ax(this.table,e),this.session,this.dialect,this.withList)}};yV=class yV extends Ur{constructor(e,t,r,i,n){super();this.session=r,this.dialect=i,this.config={set:t,table:e,withList:n,joins:[]}}static[J]="SQLiteUpdate";config;from(e){return this.config.from=e,this}createJoin(e){return(t,r)=>{let i=Rp(t);if(typeof i==="string"&&this.config.joins.some((n)=>n.alias===i))throw Error(`Alias "${i}" is already used in this query`);if(typeof r==="function"){let n=this.config.from?ce(t,Ut)?t[we.Symbol.Columns]:ce(t,vt)?t._.selectedFields:ce(t,fo)?t[_t].selectedFields:void 0:void 0;r=r(new Proxy(this.config.table[we.Symbol.Columns],new xt({sqlAliasedBehavior:"sql",sqlBehavior:"sql"})),n&&new Proxy(n,new xt({sqlAliasedBehavior:"sql",sqlBehavior:"sql"})))}return this.config.joins.push({on:r,table:t,joinType:e,alias:i}),this}}leftJoin=this.createJoin("left");rightJoin=this.createJoin("right");innerJoin=this.createJoin("inner");fullJoin=this.createJoin("full");where(e){return this.config.where=e,this}orderBy(...e){if(typeof e[0]==="function"){let t=e[0](new Proxy(this.config.table[we.Symbol.Columns],new xt({sqlAliasedBehavior:"alias",sqlBehavior:"sql"}))),r=Array.isArray(t)?t:[t];this.config.orderBy=r}else{let t=e;this.config.orderBy=t}return this}limit(e){return this.config.limit=e,this}returning(e=this.config.table[Ut.Symbol.Columns]){return this.config.returning=Cn(e),this}getSQL(){return this.dialect.buildUpdateQuery(this.config)}toSQL(){let{typings:e,...t}=this.dialect.sqlToQuery(this.getSQL());return t}_prepare(e=!0){return this.session[e?"prepareOneTimeQuery":"prepareQuery"](this.dialect.sqlToQuery(this.getSQL()),this.config.returning,this.config.returning?"all":"run",!0,void 0,{type:"insert",tables:Wn(this.config.table)})}prepare(){return this._prepare(!1)}run=(e)=>this._prepare().run(e);all=(e)=>this._prepare().all(e);get=(e)=>this._prepare().get(e);values=(e)=>this._prepare().values(e);async execute(){return this.config.returning?this.all():this.run()}$dynamic(){return this}}});var mO=x(()=>{lV();gV();wx();fO();bV()});var qp;var xV=x(()=>{Ne();pr();qp=class qp extends Ae{constructor(e){super(qp.buildEmbeddedCount(e.source,e.filters).queryChunks);this.params=e,this.session=e.session,this.sql=qp.buildCount(e.source,e.filters)}sql;static[J]="SQLiteCountBuilderAsync";[Symbol.toStringTag]="SQLiteCountBuilderAsync";session;static buildEmbeddedCount(e,t){return q`(select count(*) from ${e}${q.raw(" where ").if(t)}${t})`}static buildCount(e,t){return q`select count(*) from ${e}${q.raw(" where ").if(t)}${t}`}then(e,t){return Promise.resolve(this.session.count(this.sql)).then(e,t)}catch(e){return this.then(void 0,e)}finally(e){return this.then((t)=>(e?.(),t),(t)=>{throw e?.(),t})}}});var gO,kx,hO;var SV=x(()=>{Ne();co();zp();gO=class gO{constructor(e,t,r,i,n,o,s,a){this.mode=e,this.fullSchema=t,this.schema=r,this.tableNamesMap=i,this.table=n,this.tableConfig=o,this.dialect=s,this.session=a}static[J]="SQLiteAsyncRelationalQueryBuilder";findMany(e){return this.mode==="sync"?new hO(this.fullSchema,this.schema,this.tableNamesMap,this.table,this.tableConfig,this.dialect,this.session,e?e:{},"many"):new kx(this.fullSchema,this.schema,this.tableNamesMap,this.table,this.tableConfig,this.dialect,this.session,e?e:{},"many")}findFirst(e){return this.mode==="sync"?new hO(this.fullSchema,this.schema,this.tableNamesMap,this.table,this.tableConfig,this.dialect,this.session,e?{...e,limit:1}:{limit:1},"first"):new kx(this.fullSchema,this.schema,this.tableNamesMap,this.table,this.tableConfig,this.dialect,this.session,e?{...e,limit:1}:{limit:1},"first")}};kx=class kx extends Ur{constructor(e,t,r,i,n,o,s,a,c){super();this.fullSchema=e,this.schema=t,this.tableNamesMap=r,this.table=i,this.tableConfig=n,this.dialect=o,this.session=s,this.config=a,this.mode=c}static[J]="SQLiteAsyncRelationalQuery";mode;getSQL(){return this.dialect.buildRelationalQuery({fullSchema:this.fullSchema,schema:this.schema,tableNamesMap:this.tableNamesMap,table:this.table,tableConfig:this.tableConfig,queryConfig:this.config,tableAlias:this.tableConfig.tsName}).sql}_prepare(e=!1){let{query:t,builtQuery:r}=this._toSQL();return this.session[e?"prepareOneTimeQuery":"prepareQuery"](r,void 0,this.mode==="first"?"get":"all",!0,(i,n)=>{let o=i.map((s)=>px(this.schema,this.tableConfig,s,t.selection,n));if(this.mode==="first")return o[0];return o})}prepare(){return this._prepare(!1)}_toSQL(){let e=this.dialect.buildRelationalQuery({fullSchema:this.fullSchema,schema:this.schema,tableNamesMap:this.tableNamesMap,table:this.table,tableConfig:this.tableConfig,queryConfig:this.config,tableAlias:this.tableConfig.tsName}),t=this.dialect.sqlToQuery(e.sql);return{query:e,builtQuery:t}}toSQL(){return this._toSQL().builtQuery}executeRaw(){if(this.mode==="first")return this._prepare(!1).get();return this._prepare(!1).all()}async execute(){return this.executeRaw()}};hO=class hO extends kx{static[J]="SQLiteSyncRelationalQuery";sync(){return this.executeRaw()}}});var Eu;var wV=x(()=>{Ne();co();Eu=class Eu extends Ur{constructor(e,t,r,i,n){super();this.execute=e,this.getSQL=t,this.dialect=i,this.mapBatchResult=n,this.config={action:r}}static[J]="SQLiteRaw";config;getQuery(){return{...this.dialect.sqlToQuery(this.getSQL()),method:this.config.action}}mapResult(e,t){return t?this.mapBatchResult(e):e}_prepare(){return this}isResponseInArrayMode(){return!1}}});var Up;var Ex=x(()=>{Ne();Ga();pr();mO();Vn();xV();SV();wV();Up=class Up{constructor(e,t,r,i){this.resultKind=e,this.dialect=t,this.session=r,this._=i?{schema:i.schema,fullSchema:i.fullSchema,tableNamesMap:i.tableNamesMap}:{schema:void 0,fullSchema:{},tableNamesMap:{}},this.query={};let n=this.query;if(this._.schema)for(let[o,s]of Object.entries(this._.schema))n[o]=new gO(e,i.fullSchema,this._.schema,this._.tableNamesMap,i.fullSchema[o],s,t,r);this.$cache={invalidate:async(o)=>{}}}static[J]="BaseSQLiteDatabase";query;$with=(e,t)=>{let r=this;return{as:(n)=>{if(typeof n==="function")n=n(new Ya(r.dialect));return new Proxy(new Tp(n.getSQL(),t??("getSelectedFields"in n?n.getSelectedFields()??{}:{}),e,!0),new xt({alias:e,sqlAliasedBehavior:"alias",sqlBehavior:"error"}))}}};$count(e,t){return new qp({source:e,filters:t,session:this.session})}with(...e){let t=this;function r(a){return new Gn({fields:a??void 0,session:t.session,dialect:t.dialect,withList:e})}function i(a){return new Gn({fields:a??void 0,session:t.session,dialect:t.dialect,withList:e,distinct:!0})}function n(a){return new _x(a,t.session,t.dialect,e)}function o(a){return new vx(a,t.session,t.dialect,e)}function s(a){return new yx(a,t.session,t.dialect,e)}return{select:r,selectDistinct:i,update:n,insert:o,delete:s}}select(e){return new Gn({fields:e??void 0,session:this.session,dialect:this.dialect})}selectDistinct(e){return new Gn({fields:e??void 0,session:this.session,dialect:this.dialect,distinct:!0})}update(e){return new _x(e,this.session,this.dialect)}$cache;insert(e){return new vx(e,this.session,this.dialect)}delete(e){return new yx(e,this.session,this.dialect)}run(e){let t=typeof e==="string"?q.raw(e):e.getSQL();if(this.resultKind==="async")return new Eu(async()=>this.session.run(t),()=>t,"run",this.dialect,this.session.extractRawRunValueFromBatchResult.bind(this.session));return this.session.run(t)}all(e){let t=typeof e==="string"?q.raw(e):e.getSQL();if(this.resultKind==="async")return new Eu(async()=>this.session.all(t),()=>t,"all",this.dialect,this.session.extractRawAllValueFromBatchResult.bind(this.session));return this.session.all(t)}get(e){let t=typeof e==="string"?q.raw(e):e.getSQL();if(this.resultKind==="async")return new Eu(async()=>this.session.get(t),()=>t,"get",this.dialect,this.session.extractRawGetValueFromBatchResult.bind(this.session));return this.session.get(t)}values(e){let t=typeof e==="string"?q.raw(e):e.getSQL();if(this.resultKind==="async")return new Eu(async()=>this.session.values(t),()=>t,"values",this.dialect,this.session.extractRawValuesValueFromBatchResult.bind(this.session));return this.session.values(t)}transaction(e,t){return this.session.transaction(e,t)}}});async function yO(e,t){let r=`${e}-${JSON.stringify(t)}`,n=new TextEncoder().encode(r),o=await crypto.subtle.digest("SHA-256",n);return[...new Uint8Array(o)].map((c)=>c.toString(16).padStart(2,"0")).join("")}var vV,Mp;var bO=x(()=>{Ne();vV=class vV{static[J]="Cache"};Mp=class Mp extends vV{strategy(){return"all"}static[J]="NoopCache";async get(e){return}async put(e,t,r,i){}async onMutate(e){}}});var _V=x(()=>{bO()});var kV=()=>{};var EV,xO,SO,wO;var vO=x(()=>{bO();Ne();bx();co();Ex();EV=class EV extends Ur{constructor(e){super();this.resultCb=e}static[J]="ExecuteResultSync";async execute(){return this.resultCb()}sync(){return this.resultCb()}};xO=class xO{constructor(e,t,r,i,n,o){if(this.mode=e,this.executeMethod=t,this.query=r,this.cache=i,this.queryMetadata=n,this.cacheConfig=o,i&&i.strategy()==="all"&&o===void 0)this.cacheConfig={enable:!0,autoInvalidate:!0};if(!this.cacheConfig?.enable)this.cacheConfig=void 0}static[J]="PreparedQuery";joinsNotNullableMap;async queryWithCache(e,t,r){if(this.cache===void 0||ce(this.cache,Mp)||this.queryMetadata===void 0)try{return await r()}catch(i){throw new uo(e,t,i)}if(this.cacheConfig&&!this.cacheConfig.enable)try{return await r()}catch(i){throw new uo(e,t,i)}if((this.queryMetadata.type==="insert"||this.queryMetadata.type==="update"||this.queryMetadata.type==="delete")&&this.queryMetadata.tables.length>0)try{let[i]=await Promise.all([r(),this.cache.onMutate({tables:this.queryMetadata.tables})]);return i}catch(i){throw new uo(e,t,i)}if(!this.cacheConfig)try{return await r()}catch(i){throw new uo(e,t,i)}if(this.queryMetadata.type==="select"){let i=await this.cache.get(this.cacheConfig.tag??await yO(e,t),this.queryMetadata.tables,this.cacheConfig.tag!==void 0,this.cacheConfig.autoInvalidate);if(i===void 0){let n;try{n=await r()}catch(o){throw new uo(e,t,o)}return await this.cache.put(this.cacheConfig.tag??await yO(e,t),n,this.cacheConfig.autoInvalidate?this.queryMetadata.tables:[],this.cacheConfig.tag!==void 0,this.cacheConfig.config),n}return i}try{return await r()}catch(i){throw new uo(e,t,i)}}getQuery(){return this.query}mapRunResult(e,t){return e}mapAllResult(e,t){throw Error("Not implemented")}mapGetResult(e,t){throw Error("Not implemented")}execute(e){if(this.mode==="async")return this[this.executeMethod](e);return new EV(()=>this[this.executeMethod](e))}mapResult(e,t){switch(this.executeMethod){case"run":return this.mapRunResult(e,t);case"all":return this.mapAllResult(e,t);case"get":return this.mapGetResult(e,t)}}};SO=class SO{constructor(e){this.dialect=e}static[J]="SQLiteSession";prepareOneTimeQuery(e,t,r,i,n,o,s){return this.prepareQuery(e,t,r,i,n,o,s)}run(e){let t=this.dialect.sqlToQuery(e);try{return this.prepareOneTimeQuery(t,void 0,"run",!1).run()}catch(r){throw new _u({cause:r,message:`Failed to run the query '${t.sql}'`})}}extractRawRunValueFromBatchResult(e){return e}all(e){return this.prepareOneTimeQuery(this.dialect.sqlToQuery(e),void 0,"run",!1).all()}extractRawAllValueFromBatchResult(e){throw Error("Not implemented")}get(e){return this.prepareOneTimeQuery(this.dialect.sqlToQuery(e),void 0,"run",!1).get()}extractRawGetValueFromBatchResult(e){throw Error("Not implemented")}values(e){return this.prepareOneTimeQuery(this.dialect.sqlToQuery(e),void 0,"run",!1).values()}async count(e){return(await this.values(e))[0][0]}extractRawValuesValueFromBatchResult(e){throw Error("Not implemented")}};wO=class wO extends Up{constructor(e,t,r,i,n=0){super(e,t,r,i);this.schema=i,this.nestedIndex=n}static[J]="SQLiteTransaction";rollback(){throw new oO}}});var _O,ske,ake,Ix;var IV=x(()=>{Ne();Ga();qr();wx();lo();jp();_O=class _O{constructor(e){this.name=e}static[J]="SQLiteViewBuilderCore";config={}};ske=class ske extends _O{static[J]="SQLiteViewBuilder";as(e){if(typeof e==="function")e=e(new Ya);let t=new xt({alias:this.name,sqlBehavior:"error",sqlAliasedBehavior:"alias",replaceOriginalName:!0}),r=e.getSelectedFields();return new Proxy(new Ix({config:{name:this.name,schema:void 0,selectedFields:r,query:e.getSQL().inlineParams()}}),t)}};ake=class ake extends _O{static[J]="SQLiteManualViewBuilder";columns;constructor(e,t){super(e);this.columns=cx(Bp(e,t))}existing(){return new Proxy(new Ix({config:{name:this.name,schema:void 0,selectedFields:this.columns,query:void 0}}),new xt({alias:this.name,sqlBehavior:"error",sqlAliasedBehavior:"alias",replaceOriginalName:!0}))}as(e){return new Proxy(new Ix({config:{name:this.name,schema:void 0,selectedFields:this.columns,query:e.inlineParams()}}),new xt({alias:this.name,sqlBehavior:"error",sqlAliasedBehavior:"alias",replaceOriginalName:!0}))}};Ix=class Ix extends fo{static[J]="SQLiteView";constructor({config:e}){super(e)}}});var kO=x(()=>{kV();rV();aO();Ex();xx();V$();sV();cV();mO();vO();lo();G$();vu();IV()});function AV(e){return Object.keys(e).reduce((t,r)=>{if(Object.prototype.propertyIsEnumerable.call(e,r))t[r]=e[r];return t},{})}function Ax(e){if(typeof ArrayBuffer<"u"&&e instanceof ArrayBuffer){if(typeof Buffer<"u"){if(!(e instanceof Buffer))return Buffer.from(e);return e}if(typeof TextDecoder<"u")return new TextDecoder().decode(e);throw Error("TextDecoder is not available. Please provide either Buffer or TextDecoder polyfill.")}return e}var Tx,EO,TV;var IO=x(()=>{_V();Ne();lx();pr();kO();vO();qr();Tx=class Tx extends SO{constructor(e,t,r,i,n){super(t);this.client=e,this.schema=r,this.options=i,this.tx=n,this.logger=i.logger??new U$,this.cache=i.cache??new Mp}static[J]="LibSQLSession";logger;cache;prepareQuery(e,t,r,i,n,o,s){return new TV(this.client,e,this.logger,this.cache,o,s,t,this.tx,r,i,n)}async batch(e){let t=[],r=[];for(let n of e){let o=n._prepare(),s=o.getQuery();t.push(o),r.push({sql:s.sql,args:s.params})}return(await this.client.batch(r)).map((n,o)=>t[o].mapResult(n,!0))}async migrate(e){let t=[],r=[];for(let n of e){let o=n._prepare(),s=o.getQuery();t.push(o),r.push({sql:s.sql,args:s.params})}return(await this.client.migrate(r)).map((n,o)=>t[o].mapResult(n,!0))}async transaction(e,t){let r=await this.client.transaction(),i=new Tx(this.client,this.dialect,this.schema,this.options,r),n=new EO("async",this.dialect,i,this.schema);try{let o=await e(n);return await r.commit(),o}catch(o){throw await r.rollback(),o}}extractRawAllValueFromBatchResult(e){return e.rows}extractRawGetValueFromBatchResult(e){return e.rows[0]}extractRawValuesValueFromBatchResult(e){return e.rows}};EO=class EO extends wO{static[J]="LibSQLTransaction";async transaction(e){let t=`sp${this.nestedIndex}`,r=new EO("async",this.dialect,this.session,this.schema,this.nestedIndex+1);await this.session.run(q.raw(`savepoint ${t}`));try{let i=await e(r);return await this.session.run(q.raw(`release savepoint ${t}`)),i}catch(i){throw await this.session.run(q.raw(`rollback to savepoint ${t}`)),i}}};TV=class TV extends xO{constructor(e,t,r,i,n,o,s,a,c,l,u){super("async",c,t,i,n,o);this.client=e,this.logger=r,this.fields=s,this.tx=a,this._isResponseInArrayMode=l,this.customResultMapper=u,this.customResultMapper=u,this.fields=s}static[J]="LibSQLPreparedQuery";async run(e){let t=$p(this.query.params,e??{});return this.logger.logQuery(this.query.sql,t),await this.queryWithCache(this.query.sql,t,async()=>{let r={sql:this.query.sql,args:t};return this.tx?this.tx.execute(r):this.client.execute(r)})}async all(e){let{fields:t,logger:r,query:i,tx:n,client:o,customResultMapper:s}=this;if(!t&&!s){let c=$p(i.params,e??{});return r.logQuery(i.sql,c),await this.queryWithCache(i.sql,c,async()=>{let l={sql:i.sql,args:c};return(n?n.execute(l):o.execute(l)).then(({rows:u})=>this.mapAllResult(u))})}let a=await this.values(e);return this.mapAllResult(a)}mapAllResult(e,t){if(t)e=e.rows;if(!this.fields&&!this.customResultMapper)return e.map((r)=>AV(r));if(this.customResultMapper)return this.customResultMapper(e,Ax);return e.map((r)=>B$(this.fields,Array.prototype.slice.call(r).map((i)=>Ax(i)),this.joinsNotNullableMap))}async get(e){let{fields:t,logger:r,query:i,tx:n,client:o,customResultMapper:s}=this;if(!t&&!s){let c=$p(i.params,e??{});return r.logQuery(i.sql,c),await this.queryWithCache(i.sql,c,async()=>{let l={sql:i.sql,args:c};return(n?n.execute(l):o.execute(l)).then(({rows:u})=>this.mapGetResult(u))})}let a=await this.values(e);return this.mapGetResult(a)}mapGetResult(e,t){if(t)e=e.rows;let r=e[0];if(!this.fields&&!this.customResultMapper)return AV(r);if(!r)return;if(this.customResultMapper)return this.customResultMapper(e,Ax);return B$(this.fields,Array.prototype.slice.call(r).map((i)=>Ax(i)),this.joinsNotNullableMap)}async values(e){let t=$p(this.query.params,e??{});return this.logger.logQuery(this.query.sql,t),await this.queryWithCache(this.query.sql,t,async()=>{let r={sql:this.query.sql,args:t};return(this.tx?this.tx.execute(r):this.client.execute(r)).then(({rows:i})=>i)})}isResponseInArrayMode(){return this._isResponseInArrayMode}}});function Iu(e,t={}){let r=new lO({casing:t.casing}),i;if(t.logger===!0)i=new q$;else if(t.logger!==!1)i=t.logger;let n;if(t.schema){let a=y9(t.schema,x9);n={fullSchema:t.schema,schema:a.tables,tableNamesMap:a.tableNamesMap}}let o=new Tx(e,r,n,{logger:i,cache:t.cache},void 0),s=new CV("async",r,o,n);if(s.$client=e,s.$cache=t.cache,s.$cache)s.$cache.invalidate=t.cache?.onMutate;return s}var CV;var $V=x(()=>{Ne();lx();zp();Ex();xx();IO();CV=class CV extends Up{static[J]="LibSQLDatabase";async batch(e){return this.session.batch(e)}}});function Cx(...e){if(typeof e[0]==="string"){let t=yu({url:e[0]});return Iu(t,e[1])}if(JJ(e[0])){let{connection:t,client:r,...i}=e[0];if(r)return Iu(r,i);let n=typeof t==="string"?yu({url:t}):yu(t);return Iu(n,i)}return Iu(e[0],e[1])}var OV=x(()=>{A$();qr();$V();((e)=>{function t(r){return Iu({},r)}e.mock=t})(Cx||(Cx={}))});var RV=x(()=>{OV();IO()});function PV(e){if(e.authToken!==void 0)return e.authToken;if(e.authTokenEnv===void 0)return;return process.env[e.authTokenEnv]}function dke(e){return e instanceof je&&/^SQLITE_(?:BUSY|LOCKED)$/u.test(e.code)}async function $x(e,t){let r=Date.now()+(t.budgetMs??cke),i=async(n)=>{if(t.isClosed())throw new je("The client is closed","CLIENT_CLOSED");try{return await e()}catch(o){if(t.isClosed()||!dke(o))throw o;await t.afterRefusal?.();let s=Math.min(lke*2**(n-1),uke),a=s/2+Math.random()*(s/2);if(t.isClosed()||Date.now()+a>=r)throw o;if(await new Promise((c)=>setTimeout(c,a)),t.isClosed()||Date.now()>=r)throw o;return i(n+1)}};return i(1)}function AO(e,t={}){let r=yu({...e,...e.url.startsWith("file:")?{timeout:0}:{}});if(e.url.startsWith("file:")&&e.syncUrl===void 0){let u=function(d,p){return $x(()=>typeof d==="string"?s(d,p):s(d),l)},i=r.transaction.bind(r),n=()=>r.closed,o=t.contentionRetryBudgetMs,s=r.execute.bind(r),a=r.batch.bind(r),c=r.migrate.bind(r),l={isClosed:n,budgetMs:o,afterRefusal:async()=>{await Promise.resolve(r.reconnect())}};r.execute=u,r.batch=(d,p)=>$x(()=>a(d,p),l),r.migrate=(d)=>$x(()=>c(d),l),r.transaction=(d)=>$x(()=>i(d),l)}return r}function Ox(e){let{url:t,schema:r}=e,i=PV(e),n={contentionRetryBudgetMs:e.contentionRetryBudgetMs},o=i?AO({url:t,authToken:i},n):AO({url:t},n);return{db:Cx(o,{schema:r}),client:o,url:t}}async function Rx(e,t){if(!t.startsWith("file:"))return;for(let r of["PRAGMA busy_timeout = 0","PRAGMA journal_mode = WAL"])await e.execute(r)}var cke=5000,lke=5,uke=40;var TO=x(()=>{A$();RV()});var zV=x(()=>{MC();TO()});var CO=x(()=>{TO();zV()});var oe,pt;var $O=x(()=>{kO();rp();oe=Bp("job_queue",{id:mr("id").primaryKey().$defaultFn(()=>eo()),type:mr("type").notNull(),data:mr("data").notNull(),result:mr("result",{mode:"json"}),progress:mr("progress",{mode:"json"}).$type(),source:mr("source"),metadata:mr("metadata",{mode:"json"}).$type().notNull(),status:mr("status",{enum:["pending","processing","completed","failed"]}).notNull().default("pending"),priority:Ir("priority").notNull().default(0),retryCount:Ir("retryCount").notNull().default(0),maxRetries:Ir("maxRetries").notNull().default(3),lastError:mr("lastError"),createdAt:Ir("createdAt").notNull().$defaultFn(()=>Date.now()),scheduledFor:Ir("scheduledFor").notNull().$defaultFn(()=>Date.now()),startedAt:Ir("startedAt"),completedAt:Ir("completedAt"),attemptId:mr("attemptId"),workerSlotId:mr("workerSlotId"),workerSessionId:mr("workerSessionId"),leaseExpiresAt:Ir("leaseExpiresAt"),attemptHeartbeatAt:Ir("attemptHeartbeatAt"),runtimeUpdatedAt:Ir("runtimeUpdatedAt")},(e)=>({queueReadyIdx:Qa("idx_job_queue_ready").on(e.status,e.priority,e.scheduledFor),jobTypeIdx:Qa("idx_job_queue_type").on(e.type,e.status),runtimeUpdatesIdx:Qa("idx_job_queue_runtime_updates").on(e.runtimeUpdatedAt,e.id),jobSourceIdx:Qa("idx_job_queue_source").on(e.source)})),pt=Bp("job_worker_sessions",{slotId:mr("slotId").primaryKey(),sessionId:mr("sessionId").notNull().unique(),startedAt:Ir("startedAt").notNull(),heartbeatAt:Ir("heartbeatAt").notNull(),expiresAt:Ir("expiresAt").notNull().default(0)},(e)=>({heartbeatIdx:Qa("idx_job_worker_sessions_heartbeat").on(e.heartbeatAt),expiresIdx:Qa("idx_job_worker_sessions_expires").on(e.expiresAt)}))});function NV(e){return Ox({url:e.url,schema:{jobQueue:oe,jobWorkerSessions:pt},authToken:e.authToken,authTokenEnv:"JOB_QUEUE_DATABASE_AUTH_TOKEN",contentionRetryBudgetMs:0})}var DV=x(()=>{CO();$O()});class OO{declarations=new Map;handlers=new Map;validators=new Map;logger;mode;finalizedRegistrations;constructor(e,t){this.logger=e.child("HandlerRegistry"),this.mode=t}registerHandler(e,t,r){if(this.finalizedRegistrations)throw Error("Job handler registrations are finalized");if(this.declarations.has(e))throw Error(`Job handler is already registered for type: ${e}`);if(this.declarations.set(e,{handler:t,pluginId:r}),this.validators.set(e,t),this.mode!=="validation-only")this.handlers.set(e,t);this.logger.debug("Registered job execution declaration",{type:e,pluginId:r,mode:this.mode})}unregisterHandler(e){this.declarations.delete(e),this.handlers.delete(e),this.validators.delete(e),this.logger.debug("Unregistered job handler",{type:e})}unregisterPluginHandlers(e){let t=[...this.declarations.entries()].filter(([,r])=>r.pluginId===e).map(([r])=>r);for(let r of t)this.declarations.delete(r),this.handlers.delete(r),this.validators.delete(r);if(t.length>0)this.logger.debug("Unregistered plugin handlers",{pluginId:e,count:t.length,types:t})}finalizeRegistrations(){return this.finalizedRegistrations??=Object.freeze([...this.declarations.entries()].sort(([e],[t])=>e.localeCompare(t)).map(([e,t])=>Object.freeze({type:e,pluginId:t.pluginId}))),this.finalizedRegistrations}getExecutionRegistrations(){return this.finalizedRegistrations}getRegisteredTypes(){return[...this.handlers.keys()]}getHandler(e){return this.handlers.get(e)}getValidator(e){return this.validators.get(e)}}var LV=x(()=>{mx();rx();Jn();Ne();bx();lx();co();zp();sO();Vn();Er();qr();oo()});class RO{tails=new Map;async run(e,t){let r=this.tails.get(e),i=()=>{},n=new Promise((o)=>{i=o});this.tails.set(e,n),await r;try{return await t()}finally{if(i(),this.tails.get(e)===n)this.tails.delete(e)}}}class PO{findDuplicate(e,t,r){if(!t||t==="none")return null;let i=this.filterByDeduplicationKey(e,r).sort((o,s)=>s.createdAt-o.createdAt||s.id.localeCompare(o.id)),n=i.find((o)=>o.status===Ke.PENDING)??null;if(t==="skip"||t==="replace")return n;return n??i[0]??null}filterByDeduplicationKey(e,t){if(!t)return e;return e.filter((r)=>{let i=fke.safeParse(r.metadata);return i.success&&i.data.deduplicationKey===t})}}var fke;var BV=x(()=>{Re();ms();fke=f.looseObject({deduplicationKey:f.string().optional()})});class zO{db;transactionClient;databaseUrl;logger;deduplicator=new PO;writeRetryBudgetMs;constructor(e,t,r,i,n){this.db=e,this.transactionClient=t,this.databaseUrl=r,this.logger=i.child("JobQueueRepository"),this.writeRetryBudgetMs=n?.writeRetryBudgetMs??pke}async insert(e){await this.write("insert",async()=>this.db.insert(oe).values(e))}async enqueueAtomic(e){return yke.run(this.databaseUrl,async()=>{let t=Date.now()+this.writeRetryBudgetMs;return this.attemptEnqueue(e,t,1)})}async attemptEnqueue(e,t,r){let i=await this.runEnqueueTransaction(e,t,r);if(i.retry)return this.attemptEnqueue(e,t,r+1);return i.decision}async runEnqueueTransaction(e,t,r){let i=await this.acquireWriteTransaction(e,t),n={prepared:!1},o=!1;try{let s=await this.decideEnqueue(i,e,()=>{n.prepared=!0});return o=!0,await i.commit(),{retry:!1,decision:s}}catch(s){let a=o&&this.isSerializationConflict(s)&&!i.closed,c=!0;if(!i.closed)try{await i.rollback()}catch(l){c=!1,this.logger.error("Failed to roll back atomic enqueue",{type:e.jobData.type,rollbackError:l})}if(n.prepared)e.onInsertRollback?.();if(!a||!c)throw s;return await this.waitForConflictRetry("commit",e,t,r,s),{retry:!0}}finally{i.close()}}async decideEnqueue(e,t,r){let{jobData:i,strategy:n,deduplicationKey:o,beforeInsert:s}=t,a=n??"none",c=async()=>{await s?.(),r()},l=async()=>{await c(),await this.insertJob(e,i)};if(a==="none")return await l(),{kind:"inserted",jobId:i.id};let u=await this.getActiveDeduplicationCandidates(e,i.type),d=this.deduplicator.findDuplicate(u,a,o);if(!d)return await l(),{kind:"inserted",jobId:i.id};if(a==="skip")return{kind:"skipped",jobId:d.id};if(a==="coalesce"){if((await e.execute({sql:"UPDATE `job_queue` SET `scheduledFor` = ? WHERE `id` = ? AND `status` = ?",args:[Date.now(),d.id,d.status]})).rowsAffected!==1)throw Error(`Atomic coalesce lost selected job ${d.id}`);return{kind:"coalesced",jobId:d.id}}await c();let p=Date.now();if((await e.execute({sql:"UPDATE `job_queue`\n SET `status` = ?,\n `lastError` = ?,\n `completedAt` = ?,\n `runtimeUpdatedAt` = max(?, coalesce((SELECT max(`runtimeUpdatedAt`) FROM `job_queue`), 0) + 1)\n WHERE `id` = ? AND `status` = ?",args:[Ke.FAILED,"Replaced by newer job",p,p,d.id,Ke.PENDING]})).rowsAffected!==1)throw Error(`Atomic replace lost selected job ${d.id}`);return await this.insertJob(e,i),{kind:"replaced",jobId:i.id,replacedJobId:d.id}}async getActiveDeduplicationCandidates(e,t){return(await e.execute({sql:"SELECT `id`, `status`, `createdAt`, `metadata`\n FROM `job_queue`\n WHERE `type` = ? AND `status` IN (?, ?)",args:[t,Ke.PENDING,Ke.PROCESSING]})).rows.map((i)=>this.parseDeduplicationCandidate(i))}parseDeduplicationCandidate(e){let{id:t,status:r,createdAt:i,metadata:n}=e;if(typeof t!=="string"||r!==Ke.PENDING&&r!==Ke.PROCESSING||typeof i!=="number"&&typeof i!=="bigint"||typeof n!=="string")throw Error("Invalid active job row returned during atomic enqueue");let o=JSON.parse(n);return{id:t,status:r,createdAt:Number(i),metadata:o}}async insertJob(e,t){if((await e.execute({sql:"INSERT INTO `job_queue` (\n `id`, `type`, `data`, `result`, `source`, `metadata`,\n `status`, `priority`, `retryCount`, `maxRetries`,\n `lastError`, `createdAt`, `scheduledFor`, `startedAt`,\n `completedAt`\n ) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)",args:[t.id,t.type,t.data,this.serializeJson(t.result),t.source,JSON.stringify(t.metadata),t.status,t.priority,t.retryCount,t.maxRetries,t.lastError,t.createdAt,t.scheduledFor,t.startedAt,t.completedAt]})).rowsAffected!==1)throw Error(`Atomic enqueue did not insert job ${t.id}`)}serializeJson(e){if(e===void 0||e===null)return null;return JSON.stringify(e)}acquireWriteTransaction(e,t){return this.retryOnConflict("acquire",e,()=>this.transactionClient.transaction("write"),(r)=>this.isSerializationConflict(r),t)}async waitForConflictRetry(e,t,r,i,n){let o=Math.min(mke*2**(i-1),hke),s=o/2+Math.random()*(o/2);if(Date.now()+s>=r)throw this.transactionConflictError(e,t,i,n);await new Promise((a)=>setTimeout(a,s))}async retryOnConflict(e,t,r,i,n=Date.now()+this.writeRetryBudgetMs,o=1){try{return await r()}catch(s){if(!i(s))throw s;return await this.waitForConflictRetry(e,t,n,o,s),this.retryOnConflict(e,t,r,i,n,o+1)}}transactionConflictError(e,t,r,i){if(typeof t==="string")return Error(`Failed job queue write "${t}" within ${this.writeRetryBudgetMs}ms after ${r} attempts`,{cause:i});let n=t.strategy??"none",o=t.deduplicationKey?"present":"absent";return Error(`Failed to ${e} atomic enqueue transaction for type "${t.jobData.type}" within ${this.writeRetryBudgetMs}ms after ${r} attempts (strategy: ${n}, key: ${o})`,{cause:i})}write(e,t){return this.retryOnConflict("write",e,t,(r)=>{let i=new Set;for(let n=r;n!==void 0&&!i.has(n);){if(i.add(n),typeof n==="object"&&n!==null&&"code"in n&&/^SQLITE_(?:BUSY|LOCKED)(?:_|$)/u.test(String(n.code)))return!0;n=n instanceof Error?n.cause:void 0}return!1})}isSerializationConflict(e){for(let t=e;t!==void 0;){let r=typeof t==="object"&&t!==null&&"code"in t?String(t.code):"",i=ct(t,"");if(/SQLITE_(?:BUSY|LOCKED)/u.test(r)||/SQLITE_(?:BUSY|LOCKED)|database is locked|transaction (?:busy|conflict)/iu.test(i))return!0;t=t instanceof Error?t.cause:void 0}return!1}async startWorkerSession(e,t,r=Date.now(),i=ps){let n=r+i;await this.write("start worker session",async()=>this.db.insert(pt).values({slotId:e,sessionId:t,startedAt:r,heartbeatAt:r,expiresAt:n}).onConflictDoUpdate({target:pt.slotId,set:{sessionId:t,startedAt:r,heartbeatAt:r,expiresAt:n}}))}async heartbeatWorkerSession(e,t,r=Date.now(),i=ps){return(await this.write("heartbeat worker session",async()=>this.db.update(pt).set({heartbeatAt:r,expiresAt:r+i}).where(zt(tt(pt.slotId,e),tt(pt.sessionId,t))).returning({slotId:pt.slotId}))).length===1}async endWorkerSession(e,t){return(await this.write("end worker session",async()=>this.db.delete(pt).where(zt(tt(pt.slotId,e),tt(pt.sessionId,t))).returning({slotId:pt.slotId}))).length===1}async complete(e,t,r){let i=Date.now(),o=(await this.write("complete",async()=>this.db.update(oe).set({status:Ke.COMPLETED,result:t,lastError:null,completedAt:i,runtimeUpdatedAt:this.nextRuntimeUpdatedAt(i)}).where(this.attemptWriteGuard(e,r)).returning({id:oe.id}))).length===1;if(o)this.logger.debug("Job completed",{jobId:e,hasResult:t!==void 0});return o}async update(e,t,r){let n=(await this.write("update",async()=>this.db.update(oe).set({data:JSON.stringify(t)}).where(this.attemptWriteGuard(e,r)).returning({id:oe.id}))).length===1;if(n)this.logger.debug("Job data updated",{jobId:e});return n}async recordAttemptProgress(e,t,r,i=Date.now()){return(await this.write("record progress",async()=>this.db.update(oe).set({attemptHeartbeatAt:i,runtimeUpdatedAt:this.nextRuntimeUpdatedAt(i),progress:r}).where(this.attemptWriteGuard(e,t)).returning({id:oe.id}))).length===1}async renewAttemptLease(e,t,r,i){return(await this.write("renew attempt lease",async()=>this.db.update(oe).set({attemptHeartbeatAt:r,leaseExpiresAt:r+i}).where(this.attemptWriteGuard(e,t)).returning({id:oe.id}))).length===1}async fail(e,t,r,i=Date.now()){let o=(await this.db.select({retryCount:oe.retryCount,maxRetries:oe.maxRetries,type:oe.type,scheduledFor:oe.scheduledFor,startedAt:oe.startedAt,runtimeUpdatedAt:oe.runtimeUpdatedAt}).from(oe).where(this.attemptWriteGuard(e,r)).limit(1))[0];if(!o)return!1;let s=o.retryCount<o.maxRetries,a=s?o.retryCount+1:o.retryCount,c=Math.min(1000*2**o.retryCount,60000),l=s?i+c:o.scheduledFor;if((await this.write("fail",async()=>this.db.update(oe).set({status:s?Ke.PENDING:Ke.FAILED,retryCount:a,lastError:t.message,scheduledFor:l,completedAt:s?null:i,runtimeUpdatedAt:s?o.runtimeUpdatedAt:this.nextRuntimeUpdatedAt(i),startedAt:s?null:o.startedAt,attemptId:null,workerSlotId:null,workerSessionId:null,leaseExpiresAt:null,attemptHeartbeatAt:null}).where(zt(this.attemptWriteGuard(e,r),tt(oe.retryCount,o.retryCount))).returning({id:oe.id}))).length!==1)return!1;if(s)this.logger.debug("Job scheduled for retry",{jobId:e,retryCount:a,backoffMs:c,scheduledFor:new Date(l).toISOString()});else this.logger.error("Job failed after max retries",{jobId:e,type:o.type,retryCount:o.retryCount,error:t.message});return!0}async retireUnownedActiveJob(e){let t=e.reason.trim();if(t.length===0)throw Error("Retired job reason must not be empty");let i=(await this.write("retire unowned job",async()=>this.db.update(oe).set({status:Ke.FAILED,lastError:t,completedAt:e.now,runtimeUpdatedAt:this.nextRuntimeUpdatedAt(e.now)}).where(zt(tt(oe.id,e.jobId),tt(oe.type,e.expectedType),so(tt(oe.status,Ke.PENDING),tt(oe.status,Ke.PROCESSING)),$n(oe.attemptId),$n(oe.workerSlotId),$n(oe.workerSessionId),$n(oe.leaseExpiresAt),$n(oe.attemptHeartbeatAt),$n(oe.progress),$n(oe.result))).returning()))[0]??null;if(i)this.logger.warn("Retired unowned legacy job",{jobId:i.id,type:i.type,reason:t});return i}async getStatus(e){return(await this.db.select().from(oe).where(tt(oe.id,e)).limit(1))[0]??null}async getJobsByRootJobId(e){return this.db.select().from(oe).where(q`json_extract(${oe.metadata}, '$.rootJobId') = ${e}`).orderBy(ao(oe.createdAt),ao(oe.id))}async getStatusByEntityId(e){return(await this.db.select().from(oe).where(q`json_extract(${oe.data}, '$.id') = ${e}`).orderBy(Wa(oe.createdAt)).limit(1))[0]??null}async getStats(){let e=await this.db.select({status:oe.status,count:q`count(*)`}).from(oe).groupBy(oe.status),t={pending:0,processing:0,failed:0,completed:0,total:0};for(let r of e){let i=Number(r.count);t[r.status]=i,t.total+=i}return t}async getDiagnostics(e=Date.now()){let[t,r,i]=await Promise.all([this.db.select({type:oe.type,status:oe.status,count:q`count(*)`}).from(oe).groupBy(oe.type,oe.status),this.db.select({oldestPendingAt:q`min(case when ${oe.status} = ${Ke.PENDING} then ${oe.createdAt} end)`,duePending:q`coalesce(sum(case when ${oe.status} = ${Ke.PENDING} and ${oe.scheduledFor} <= ${e} then 1 else 0 end), 0)`,oldestDuePendingAt:q`min(case when ${oe.status} = ${Ke.PENDING} and ${oe.scheduledFor} <= ${e} then ${oe.scheduledFor} end)`,latestClaimAt:q`max(${oe.startedAt})`,oldestProcessingAt:q`min(case when ${oe.status} = ${Ke.PROCESSING} then ${oe.startedAt} end)`,staleLeaseCount:q`coalesce(sum(case when ${oe.status} = ${Ke.PROCESSING} and ${oe.leaseExpiresAt} is not null and ${oe.leaseExpiresAt} <= ${e} then 1 else 0 end), 0)`}).from(oe),this.db.select({total:q`count(*)`,active:q`coalesce(sum(case when ${pt.expiresAt} > ${e} then 1 else 0 end), 0)`,stale:q`coalesce(sum(case when ${pt.expiresAt} <= ${e} then 1 else 0 end), 0)`,latestHeartbeatAt:q`max(${pt.heartbeatAt})`}).from(pt)]),n={pending:0,processing:0,completed:0,failed:0},o=t.map((l)=>{let u=Number(l.count);return n[l.status]+=u,{type:l.type,status:l.status,count:u}}),s=r[0],a=i[0],c=(l)=>l===null||l===void 0?null:Math.max(0,e-Number(l));return{totals:n,byType:o,oldestPendingAgeMs:c(s?.oldestPendingAt),duePending:Number(s?.duePending??0),oldestDuePendingAgeMs:c(s?.oldestDuePendingAt),latestClaimAgeMs:c(s?.latestClaimAt),oldestProcessingAgeMs:c(s?.oldestProcessingAt),staleLeaseCount:Number(s?.staleLeaseCount??0),workerSessions:{total:Number(a?.total??0),active:Number(a?.active??0),stale:Number(a?.stale??0),latestHeartbeatAgeMs:c(a?.latestHeartbeatAt)}}}async getRuntimeUpdates(e,t){let r=gke.parse(t);if(r===0)return[];return(await this.db.select().from(oe).where(q`(${oe.runtimeUpdatedAt}, ${oe.id}) > (${e.updatedAt}, ${e.jobId})`).orderBy(ao(oe.runtimeUpdatedAt),ao(oe.id)).limit(r)).map((n)=>({job:n,cursor:{updatedAt:n.runtimeUpdatedAt??0,jobId:n.id}}))}async cleanup(e){let t=Date.now()-e;return(await this.write("cleanup",async()=>this.db.delete(oe).where(zt(so(tt(oe.status,Ke.COMPLETED),tt(oe.status,Ke.FAILED)),Su(oe.completedAt,t))))).rowsAffected}async getActiveJobs(e){let t=so(tt(oe.status,Ke.PENDING),tt(oe.status,Ke.PROCESSING)),r=e&&e.length>0?zt(t,Is(oe.type,e)):t;return this.db.select().from(oe).where(r).orderBy(Wa(oe.createdAt))}async getRecentJobs(e,t=20){let r=e&&e.length>0?Is(oe.type,e):void 0;return this.db.select().from(oe).where(r).orderBy(Wa(oe.createdAt)).limit(t)}async getFailedJobs(e){let t=tt(oe.status,Ke.FAILED),r=e&&e.length>0?zt(t,Is(oe.type,e)):t;return this.db.select().from(oe).where(r).orderBy(Wa(oe.createdAt))}async claimNextReady(e){let{now:t,attemptId:r,workerSlotId:i,workerSessionId:n,leaseDurationMs:o,executableTypes:s}=e,a=this.db.select({slotId:pt.slotId}).from(pt).where(zt(tt(pt.slotId,i),tt(pt.sessionId,n),ux(pt.expiresAt,t))),c=this.db.select({slotId:pt.slotId}).from(pt).where(zt(tt(pt.slotId,oe.workerSlotId),tt(pt.sessionId,oe.workerSessionId))),l=zt(tt(oe.status,Ke.PROCESSING),so($n(oe.attemptId),fx(c),Su(oe.leaseExpiresAt,t))),u=q`${oe.status} = ${Ke.PROCESSING} AND ${oe.retryCount} + 1 > ${oe.maxRetries}`,d=this.db.select({id:oe.id}).from(oe).where(zt(Is(oe.type,s),so(zt(tt(oe.status,Ke.PENDING),Su(oe.scheduledFor,t)),l))).orderBy(ao(oe.priority),ao(oe.createdAt)).limit(1),m=(await this.write("claim",async()=>this.db.update(oe).set({status:q`CASE WHEN ${u} THEN ${Ke.FAILED} ELSE ${Ke.PROCESSING} END`,retryCount:q`CASE WHEN ${oe.status} = ${Ke.PROCESSING} THEN ${oe.retryCount} + 1 ELSE ${oe.retryCount} END`,lastError:q`CASE WHEN ${oe.status} = ${Ke.PROCESSING} THEN 'Attempt lease expired' ELSE ${oe.lastError} END`,startedAt:q`CASE WHEN ${u} THEN ${oe.startedAt} ELSE ${t} END`,completedAt:q`CASE WHEN ${u} THEN ${t} ELSE NULL END`,attemptId:q`CASE WHEN ${u} THEN ${oe.attemptId} ELSE ${r} END`,workerSlotId:q`CASE WHEN ${u} THEN ${oe.workerSlotId} ELSE ${i} END`,workerSessionId:q`CASE WHEN ${u} THEN ${oe.workerSessionId} ELSE ${n} END`,leaseExpiresAt:q`CASE WHEN ${u} THEN ${oe.leaseExpiresAt} ELSE ${t+o} END`,attemptHeartbeatAt:q`CASE WHEN ${u} THEN ${oe.attemptHeartbeatAt} ELSE ${t} END`,runtimeUpdatedAt:q`CASE WHEN ${u} THEN ${this.nextRuntimeUpdatedAt(t)} ELSE ${oe.runtimeUpdatedAt} END`}).where(zt(Is(oe.id,d),dx(a))).returning()))[0];if(m?.status!==Ke.PROCESSING)return null;return this.logger.debug("Job claimed",{jobId:m.id,attemptId:m.attemptId,workerSlotId:i,workerSessionId:n}),m}nextRuntimeUpdatedAt(e){return q`max(${e}, coalesce((select max(${oe.runtimeUpdatedAt}) from ${oe}), 0) + 1)`}attemptWriteGuard(e,t){return t?zt(tt(oe.id,e),tt(oe.status,Ke.PROCESSING),tt(oe.attemptId,t)):zt(tt(oe.id,e),$n(oe.attemptId),so(tt(oe.status,Ke.PENDING),tt(oe.status,Ke.PROCESSING)))}}var pke=2000,mke=5,hke=40,gke,yke;var jV=x(()=>{LV();$O();Re();ms();ip();BV();gke=f.number().int().min(0).max(1000),yke=new RO});import{AsyncLocalStorage as bke}from"async_hooks";class Fp{storage=new bke;static createFresh(){return new Fp}constructor(){}current(){return this.storage.getStore()}run(e,t,r){if(t.length===0)throw Error("Operation ID must not be empty");let i=is.parse(e),n=xke(i);return this.storage.run(Object.freeze({provenance:n,operationId:t}),r)}}function xke(e){if(Object.freeze(e.projectionLineage),e.sourceEntity)Object.freeze(e.sourceEntity);return Object.freeze(e)}var NO=x(()=>{os()});class Zp{client;logger;handlerRegistry;repository;walInitialization=null;walInitializationSettled=!1;closeRequested=!1;clientClosed=!1;inFlightEnqueues=0;databaseUrl;operationContext;projectionAdmission;directWorkerSlotId=`direct:${eo()}`;directWorkerSessionId=eo();directLeaseDurationMs;directSessionStart=null;close(){this.closeRequested=!0,this.closeClientWhenReady()}static createFresh(e,t,r){return new Zp(e,t??fn.getInstance(),r)}constructor(e,t,r){let{db:i,client:n,url:o}=NV(e);this.client=n,this.databaseUrl=o,this.logger=t.child("JobQueueService"),this.operationContext=r?.operationContext??Fp.createFresh(),this.projectionAdmission=r?.projectionAdmission,this.handlerRegistry=new OO(this.logger,r?.handlerRegistrationMode??"combined"),this.repository=new zO(i,n,o,this.logger),this.directLeaseDurationMs=e.claimTimeoutMs??300000}initialize(){if(this.closeRequested)return Promise.resolve();return this.walInitialization??=this.initializeWALMode(),this.walInitialization}async initializeWALMode(){try{await Rx(this.client,this.databaseUrl)}catch(e){this.logger.warn("Failed to enable WAL mode (non-fatal)",e)}finally{this.walInitializationSettled=!0,this.closeClientWhenReady()}}closeClientWhenReady(){if(!this.closeRequested||this.inFlightEnqueues>0||this.walInitialization!==null&&!this.walInitializationSettled)return;this.closeClient()}closeClient(){if(this.clientClosed)return;this.clientClosed=!0,this.client.close()}registerHandler(e,t,r){this.handlerRegistry.registerHandler(e,t,r)}unregisterHandler(e){this.handlerRegistry.unregisterHandler(e)}unregisterPluginHandlers(e){this.handlerRegistry.unregisterPluginHandlers(e)}getRegisteredTypes(){return this.handlerRegistry.getRegisteredTypes()}getHandler(e){return this.handlerRegistry.getHandler(e)}getValidator(e){return this.handlerRegistry.getValidator(e)}finalizeHandlerRegistrations(){return this.handlerRegistry.finalizeRegistrations()}getExecutionRegistrations(){return this.handlerRegistry.getExecutionRegistrations()}async enqueue(e){if(this.closeRequested)throw Error("Cannot enqueue a job after the queue service is closed");this.inFlightEnqueues++;try{return await this.enqueueValidated(e)}finally{this.inFlightEnqueues--,this.closeClientWhenReady()}}async enqueueValidated(e){let{type:t,data:r,options:i}=e,n=this.handlerRegistry.getValidator(t);if(!n)throw Error(`No job type declared: ${t}`);let o=n.validateAndParse(r);if(o===null)throw Error(`Invalid job data for type: ${t}`);let s=Date.now(),a=eo(),c=i?.rootJobId??this.operationContext.current()?.provenance.rootJobId??a,l=this.createJobProvenance(a,c,i),u=i?.metadata??{operationType:"data_processing"},{provenance:d,...p}=u,m={id:a,type:t,data:JSON.stringify(o),status:Ke.PENDING,priority:i?.priority??0,maxRetries:i?.maxRetries??3,retryCount:0,source:i?.source??null,metadata:{...p,...i?.deduplicationKey&&{deduplicationKey:i.deduplicationKey},rootJobId:c,provenance:l},createdAt:s,scheduledFor:i?.delayMs?s+i.delayMs:s,result:null,lastError:null,startedAt:null,completedAt:null},y,g=()=>{y?.rollback(),y=void 0};try{let b=await this.repository.enqueueAtomic({jobData:m,strategy:i?.deduplication,deduplicationKey:i?.deduplicationKey,beforeInsert:async()=>{y=await this.projectionAdmission?.reserveJobAdmission(l)},onInsertRollback:g});if(y?.commit(),y=void 0,b.kind==="skipped")this.logger.debug("Skipping duplicate job (already pending)",{type:t,existingJobId:b.jobId});else if(b.kind==="coalesced")this.logger.debug("Coalescing with existing job",{type:t,existingJobId:b.jobId});else{if(b.kind==="replaced")this.logger.debug("Replacing duplicate job",{type:t,oldJobId:b.replacedJobId});this.logger.debug("Job enqueued",{id:b.jobId,type:t,priority:m.priority,rootJobId:m.metadata.rootJobId})}return b.jobId}catch(b){throw g(),this.logger.error("Failed to enqueue job",{type:t,error:ct(b)}),b}}createJobProvenance(e,t,r){let i=this.operationContext.current(),n=r?.metadata.provenance??i?.provenance,o=n?.rootJobId===t?n:void 0,s=i?.provenance.rootJobId===t?i.operationId:void 0,a=r?.projection,c=a?[...o?.projectionLineage??[],a.id]:[...o?.projectionLineage??[]],l=a?.id??o?.projectionId;return is.parse({rootJobId:t,causationId:s??o?.causationId??e,...l?{projectionId:l}:{},projectionLineage:c,...a?.sourceEntity?{sourceEntity:a.sourceEntity}:o?.sourceEntity?{sourceEntity:o.sourceEntity}:{},derivationDepth:c.length})}async dequeue(e){let t=this.handlerRegistry.getRegisteredTypes();if(t.length===0)return null;let r=e??await this.getDirectClaimOptions(),i=Date.now(),n=await this.repository.claimNextReady({...r,now:i,attemptId:eo(),executableTypes:t});if(!n)return null;return this.logger.debug("Job dequeued",{id:n.id,type:n.type,priority:n.priority,retryCount:n.retryCount,attemptId:n.attemptId,workerSlotId:n.workerSlotId,workerSessionId:n.workerSessionId}),n}async startWorkerSession(e,t,r=ps){await this.repository.startWorkerSession(e,t,Date.now(),r)}heartbeatWorkerSession(e,t,r=ps){return this.repository.heartbeatWorkerSession(e,t,Date.now(),r)}endWorkerSession(e,t){return this.repository.endWorkerSession(e,t)}renewAttemptLease(e,t,r){return this.repository.renewAttemptLease(e,t,Date.now(),r)}recordAttemptProgress(e,t,r){return this.repository.recordAttemptProgress(e,t,r)}complete(e,t,r){return this.repository.complete(e,t,r)}update(e,t,r){return this.repository.update(e,t,r)}fail(e,t,r){return this.repository.fail(e,t,r)}retireUnownedActiveJob(e){return this.repository.retireUnownedActiveJob(e)}async getDirectClaimOptions(){return this.directSessionStart??=this.repository.startWorkerSession(this.directWorkerSlotId,this.directWorkerSessionId,Date.now(),this.directLeaseDurationMs),await this.directSessionStart,{workerSlotId:this.directWorkerSlotId,workerSessionId:this.directWorkerSessionId,leaseDurationMs:this.directLeaseDurationMs}}async getStatus(e){return this.repository.getStatus(e)}async getJobsByRootJobId(e){return this.repository.getJobsByRootJobId(e)}async getStatusByEntityId(e){return this.repository.getStatusByEntityId(e)}async getStats(){return this.repository.getStats()}getDiagnostics(e){return this.repository.getDiagnostics(e)}async waitForIdle(e={}){let t=e.quietMs??250,r=e.pollIntervalMs??25,i=Date.now()+(e.timeoutMs??30000),n=async(o)=>{e.signal?.throwIfAborted();let{totals:s}=await this.getDiagnostics(),c=s.pending===0&&s.processing===0?o??Date.now():null;if(c!==null&&Date.now()-c>=t)return;if(Date.now()>=i)throw Error(`Timed out waiting for the job queue to settle: ${s.pending} pending, ${s.processing} processing`);return await Bun.sleep(r),n(c)};return n(null)}getRuntimeUpdates(e,t=1000){return this.repository.getRuntimeUpdates(e,t)}async cleanup(e){let t=await this.repository.cleanup(e);if(t>0)this.logger.info("Cleaned up old jobs",{deletedCount:t,olderThanMs:e});return t}async getActiveJobs(e){return this.repository.getActiveJobs(e)}async getRecentJobs(e,t){return this.repository.getRecentJobs(e,t)}async getFailedJobs(e){return this.repository.getFailedJobs(e)}}var qV=x(()=>{rp();MC();ip();ms();CO();DV();jV();os();NO()});var DO=()=>{};var UV=x(()=>{rp();ms();ip();ms();DO();NO()});var MV=x(()=>{ms();DO()});var ntt;var FV=x(()=>{os();Re();np();ntt=f.preprocess((e)=>{if(typeof e!=="string")return e;return JSON.parse(e)},f.record(f.string(),f.unknown()))});var stt;var ZV=x(()=>{Re();stt=f.record(f.string(),f.unknown())});var HV=x(()=>{os();rp()});var KV=x(()=>{qV();UV();MV();FV();ZV();ip();ms();np();HV()});var LO={};tr(LO,{LEGACY_PROJECTION_JOB_TYPES:()=>VV,LEGACY_PROJECTION_RETIREMENT_REASON:()=>GV,legacyProjectionJobTypeSchema:()=>WV,retireLegacyProjectionJob:()=>Cke});import{existsSync as Ike}from"fs";import{resolve as Ake}from"path";function JV(e){return{id:e.id,type:e.type,status:e.status,retryCount:e.retryCount,maxRetries:e.maxRetries,createdAt:e.createdAt,startedAt:e.startedAt,completedAt:e.completedAt}}function Tke(e,t){if(e.type!==t)throw Error(`Job ${e.id} has type ${e.type}; expected ${t}`);if(e.status!=="pending"&&e.status!=="processing")throw Error(`Job ${e.id} is already terminal (${e.status})`);if(e.attemptId!==null||e.workerSlotId!==null||e.workerSessionId!==null||e.leaseExpiresAt!==null||e.attemptHeartbeatAt!==null)throw Error(`Job ${e.id} still has attempt ownership`);if(e.progress!==null||e.result!=null)throw Error(`Job ${e.id} contains partial progress or a result`)}async function Cke(e){let t=Ake(e.databasePath);if(!Ike(t))throw Error(`Job database does not exist: ${t}`);let r=WV.parse(e.jobType),i=Zp.createFresh({url:`file:${t}`});try{let n=await i.getStatus(e.jobId);if(!n)throw Error(`Job not found: ${e.jobId}`);if(Tke(n,r),e.dryRun){if(e.confirmation!==void 0)throw Error("Dry-run recovery must not include confirmation");return{databasePath:t,job:JV(n),retired:!1}}let o=`retire:${n.id}`;if(e.confirmation!==o)throw Error(`Refusing to retire ${n.id}; expected --confirm ${o}`);let s=await i.retireUnownedActiveJob({jobId:n.id,expectedType:r,reason:GV,now:e.now?.()??Date.now()});if(!s)throw Error(`Job ${n.id} changed or acquired ownership before retirement`);return{databasePath:t,job:JV(s),retired:!0}}finally{i.close()}}var VV,WV,GV="Retired legacy projection job superseded by scheduler-owned projections";var BO=x(()=>{KV();Re();VV=["conversation-memory:project","skill:project","swot:derive","topic:project"],WV=f.enum(VV)});function er(e,t,r,i,n){return YV.parse({id:e,operation:t,count:r,targetProbeCount:i,settleMs:n})}function r7(e){return Nx.parse(structuredClone(zke[e]))}function Dx(e){let t=`stress:${e.handle}`;if(e.confirmation!==t)throw Error(`Directory-sync stress requires --confirm ${t}`);let r=/(^|[-_.])smoke($|[-_.])/i;if(!r.test(e.handle)||!r.test(e.domain)||!r.test(e.contentRepo))throw Error("Directory-sync stress is smoke-only; handle, domain, and content repository must all identify smoke")}async function qO(e,t={}){let r=t.fetchImpl??fetch,i=t.now??(()=>new Date),n=t.timeoutMs??20000,o=i(),s=new AbortController,a=setTimeout(()=>s.abort(),n);try{let c=await r(e,{method:"GET",signal:s.signal});return await c.arrayBuffer(),jO.parse({timestamp:o.toISOString(),endpoint:new URL(e).pathname,status:c.status,durationMs:Math.max(0,i().getTime()-o.getTime()),ok:c.ok})}catch(c){return jO.parse({timestamp:o.toISOString(),endpoint:new URL(e).pathname,status:0,durationMs:Math.max(0,i().getTime()-o.getTime()),ok:!1,error:Dke(c)})}finally{clearTimeout(a)}}async function n7(e,t){let r=Nx.parse(e),i=[],n,o=await t.prepare(r),s,a;try{try{await t.startMonitoring()}catch(c){n=`monitor: ${Px(c)}`}if(!n)for(let c of r.phases)try{let l=XV.parse(await t.executePhase(c,o));if(i.push(l),!l.success){n=`${c.id}: ${l.error??"phase failed"}`;break}}catch(l){let u=Px(l);i.push({id:c.id,operation:c.operation,count:c.count,success:!1,error:u}),n=`${c.id}: ${u}`;break}}finally{try{if(s=e7.parse(await t.cleanup(o)),!s.success&&!n)n=s.error??"cleanup failed"}catch(c){let l=Px(c);s={success:!1,probesRemaining:0,error:l},n??=`cleanup: ${l}`}try{a=t7.parse(await t.stopMonitoring())}catch(c){let l=Px(c);a={health:[],runtime:[]},n??=`monitor: ${l}`}}return n??=Nke(a,r.maximumExternalAiCalls??0),Pke.parse({profile:r.profile,success:n===void 0&&i.length===r.phases.length&&s.success,baseline:o,phases:i,cleanup:s,metrics:a,...n?{failure:n}:{}})}function Nke(e,t=0){let r=e.health.find((o)=>!o.ok);if(r)return`health: ${r.endpoint} unavailable`;let i=e.externalAiCalls??0;if(i>t)return t===0?`external AI: observed ${i} call(s)`:`external AI: observed ${i} call(s), cap ${t}`;if(e.container?.oomKilled)return"container: OOM killed";let n=e.container?.restartCount??0;if(n>0)return`container: restarted ${n} time(s)`;if(e.container&&e.container.status!=="running")return`container: ${e.container.status}`;return}function Dke(e){if(e instanceof Error)return`${e.name}: ${e.message}`;return String(e)}function Px(e){return ct(e)}var zx,QV,YV,Nx,$ke,jO,Oke,XV,e7,Rke,t7,Pke,zke;var UO=x(()=>{Re();zx=f.enum(["regression","load","stress"]),QV=f.enum(["add","update","rename","delete"]),YV=f.object({id:f.string().min(1),operation:QV,count:f.number().int().positive().max(700),targetProbeCount:f.number().int().min(0).max(700),settleMs:f.number().int().nonnegative().max(300000)}),Nx=f.object({profile:zx,maximumProbeCount:f.number().int().positive().max(700),maximumExternalAiCalls:f.number().int().nonnegative().max(1e4).optional(),phases:f.array(YV).min(1)}),$ke=f.object({entities:f.number().int().nonnegative(),notes:f.number().int().nonnegative(),version:f.string().min(1)}),jO=f.object({timestamp:f.iso.datetime(),endpoint:f.string().startsWith("/"),status:f.number().int().nonnegative(),durationMs:f.number().nonnegative(),ok:f.boolean(),error:f.string().optional()}),Oke=f.object({timestamp:f.iso.datetime(),cpuPercent:f.number().nonnegative(),memoryPercent:f.number().nonnegative(),pids:f.number().int().nonnegative()}),XV=f.object({id:f.string().min(1),operation:QV,count:f.number().int().positive(),success:f.boolean(),commitLatencyMs:f.number().nonnegative().optional(),persistenceLatencyMs:f.number().nonnegative().optional(),error:f.string().optional()}),e7=f.object({success:f.boolean(),probesRemaining:f.number().int().nonnegative(),finalEntities:f.number().int().nonnegative().optional(),finalNotes:f.number().int().nonnegative().optional(),contentTreeRestored:f.boolean().optional(),error:f.string().optional()}),Rke=f.object({status:f.string(),restartCount:f.number().int().nonnegative(),oomKilled:f.boolean()}),t7=f.object({health:f.array(jO),runtime:f.array(Oke),externalAiCalls:f.number().int().nonnegative().optional(),container:Rke.optional()}),Pke=f.object({profile:zx,success:f.boolean(),baseline:$ke,phases:f.array(XV),cleanup:e7,metrics:t7,failure:f.string().optional()}),zke={regression:{profile:"regression",maximumProbeCount:20,phases:[er("add20","add",20,20,0),er("update20","update",20,20,30000),er("delete20","delete",20,0,150000)]},load:{profile:"load",maximumProbeCount:350,phases:[er("add50","add",50,50,0),er("add150","add",100,150,0),er("add350","add",200,350,0),er("update350a","update",350,350,45000),er("rename100","rename",100,350,45000),er("update350b","update",350,350,45000),er("delete350","delete",350,0,150000)]},stress:{profile:"stress",maximumProbeCount:700,phases:[er("add50","add",50,50,0),er("add150","add",100,150,0),er("add350","add",200,350,0),er("add700","add",350,700,0),er("update700a","update",700,700,45000),er("rename200","rename",200,700,45000),er("update700b","update",700,700,45000),er("delete700","delete",700,0,150000)]}}});import{spawn as Lke}from"child_process";async function i7(e,t,r,i){let n=await e(t,r,i);if(n.exitCode!==0)throw Ei(t,r,n);return n}function Ei(e,t,r){let i=r.stderr.trim()||r.stdout.trim();return Error(`${e} ${t.join(" ")} exited with ${r.exitCode}${i?`: ${i}`:""}`)}var po=async(e,t,r={})=>new Promise((i,n)=>{let o=Lke(e,[...t],{cwd:r.cwd,env:r.env?{...process.env,...r.env}:process.env,stdio:["pipe","pipe","pipe"]}),s="",a="";o.stdout.setEncoding("utf8"),o.stderr.setEncoding("utf8"),o.stdout.on("data",(c)=>{s+=c}),o.stderr.on("data",(c)=>{a+=c}),o.on("error",n),o.on("close",(c)=>{i({exitCode:c??1,stdout:s,stderr:a})}),o.stdin.end(r.stdin)});var Hp=()=>{};class Au{#e;#t;dir;constructor(e,t,r){this.#e=e,this.dir=t,this.#t=r}static async clone(e,t,r,i){let n=new Au(e,r,i);return await i7(e,"git",["-c","credential.helper=","-c",`credential.helper=${o7}`,"clone","--branch","main","--single-branch",`https://github.com/${t}.git`,r],{env:n.environment()}),await n.run(["config","--local","credential.helper",o7]),await n.run(["reset","--hard","origin/main"]),n}async run(e,t=!0){let r=await this.#e("git",e,{cwd:this.dir,env:this.environment()});if(t&&r.exitCode!==0)throw Ei("git",e,r);return r}async output(e){return(await this.run(e)).stdout.trim()}async sync(e=!1){if(await this.run(["fetch","origin","main"]),e)await this.run(["reset","--hard","origin/main"]);else await this.run(["pull","--rebase","origin","main"])}async commitAll(e){await this.run(["add","-A"]),await this.run(["-c","user.name=brains-ops","-c","user.email=ops@rizom.ai","commit","-m",e])}async pushMainWithRebase(){for(let e=1;e<=5;e+=1){if((await this.run(["push","origin","main"],!1)).exitCode===0)return;await this.run(["pull","--rebase","origin","main"])}throw Error("Unable to push content main after five rebase attempts")}async pruneStressBackupBranches(){let t=(await this.run(["ls-remote","--heads","origin","refs/heads/ops/directory-sync-stress-backup-*"])).stdout.split(/\r?\n/).map((r)=>r.match(/\trefs\/heads\/(ops\/directory-sync-stress-backup-[^\s]+)$/)?.[1]).filter((r)=>r!==void 0).sort();for(let r of t)await this.run(["push","origin","--delete",r]);return t}environment(){return{GH_TOKEN:this.#t,GITHUB_TOKEN:this.#t}}}var o7='!f() { test "$1" = get && echo username=x-access-token && echo "password=$GH_TOKEN"; }; f';var s7=x(()=>{Hp()});function Kp(e){return e.entityCounts.find((t)=>t.entityType==="note")?.count??0}class MO{#e;#t=[];#r=[];#n=new Set(["/health/ready"]);#i=!0;#o;#a;#s="";#c=0;#l;constructor(e){this.#e=e}get startedAt(){return this.#s}get error(){return this.#a}get healthSamples(){return this.#t}get runtimeSamples(){return this.#r}gateHealthSamples(){return this.#t.slice(this.#c,this.#l??this.#t.length)}markGateEnd(){this.#l=this.#t.length}async discoverEndpoints(){for(let e of["/health/live","/health/operate"])if((await qO(`https://${this.#e.domain}${e}`,{fetchImpl:this.#e.fetchImpl,now:this.#e.now,timeoutMs:5000})).status!==404)this.#n.add(e)}start(){this.#i=!1,this.#a=void 0,this.#c=this.#t.length,this.#l=void 0,this.#s=this.#e.now().toISOString(),this.#o=Promise.all([this.#f(),this.#m()]).then(()=>{return}).catch((e)=>{this.#a=e,this.#i=!0})}async stop(){this.#i=!0,await this.#o}async waitForHealthSnapshot(e){return this.waitForEntityBaseline(void 0,void 0,e)}async waitForEntityBaseline(e,t,r){let i=this.#e.now().getTime();while(this.#e.now().getTime()-i<r){let n=await this.fetchHealthPayload();if(this.#d(n,e,t))return n;await this.#e.sleep(5000)}return}async waitForStableEntityBaseline(e,t,r){let i=this.#e.now().getTime(),n=0;while(this.#e.now().getTime()-i<r){let o=await this.fetchHealthPayload();if(this.#d(o,e,t)){if(n+=1,n===2)return o}else n=0;await this.#e.sleep(5000)}return}async fetchHealthPayload(){let e=this.#e.now(),t=new AbortController,r=setTimeout(()=>t.abort(),20000);try{let i=await this.#e.fetchImpl(`https://${this.#e.domain}/health/operate`,{signal:t.signal}),n=await i.text();if(this.#t.push({timestamp:e.toISOString(),endpoint:"/health/operate",status:i.status,durationMs:Math.max(0,this.#e.now().getTime()-e.getTime()),ok:i.ok}),!i.ok)return;return Bke.parse(JSON.parse(n)).app}catch(i){this.#t.push({timestamp:e.toISOString(),endpoint:"/health/operate",status:0,durationMs:Math.max(0,this.#e.now().getTime()-e.getTime()),ok:!1,error:i instanceof Error?`${i.name}: ${i.message}`:String(i)});return}finally{clearTimeout(r)}}#d(e,t,r){return e!==void 0&&(t===void 0||Kp(e)===t)&&(r===void 0||e.entities===r)}async#f(){while(!this.#i){for(let e of this.#n)this.#t.push(await qO(`https://${this.#e.domain}${e}`,{fetchImpl:this.#e.fetchImpl,now:this.#e.now,timeoutMs:20000}));await this.#e.sleep(4000)}}async#m(){while(!this.#i){let e=await this.#e.sampleRuntime();if(e)this.#r.push(e);await this.#e.sleep(1000)}}}var Bke;var a7=x(()=>{Re();UO();Bke=f.object({status:f.literal("ready"),operationalStatus:f.literal("operational"),app:f.object({version:f.string(),entities:f.number().int().nonnegative(),entityCounts:f.array(f.object({entityType:f.string(),count:f.number().int().nonnegative()})).default([])})})});var Lx={};tr(Lx,{applyDirectorySyncStressPhase:()=>d7,cleanupDirectorySyncStress:()=>Vke,listProbeFiles:()=>Xa,parseStressRuntimeSample:()=>f7,removeProbeFiles:()=>WO,runDeployedDirectorySyncStress:()=>Kke,runStressCommand:()=>po,verifyDirectorySyncStressAccess:()=>Jke});import{chmod as jke,mkdir as ZO,mkdtemp as HO,readFile as qke,readdir as Uke,rename as Mke,rm as Vp,writeFile as Qn}from"fs/promises";import{tmpdir as KO}from"os";import{join as St,resolve as JO}from"path";async function Kke(e){let t=e.now??(()=>new Date),r=t().toISOString(),i=GO(r),n=JO(e.artifactsDir??St(e.rootDir,".brains-ops","stress",i));await ZO(n,{recursive:!0});let{pilot:o,user:s}=await VO(e.rootDir,e.handle);Dx({handle:s.handle,domain:s.domain,contentRepo:s.contentRepo,confirmation:e.confirmation});let a=zx.parse(e.profile),c=e.plan?Nx.parse(e.plan):r7(a);if(c.profile!==a)throw Error(`Directory-sync stress plan profile ${c.profile} does not match requested profile ${a}`);if((c.maximumExternalAiCalls??0)===0)u7(s);let l=Fke.parse(e.env??process.env),u=new l7({runId:i,artifactsDir:n,user:s,githubOrg:o.githubOrg,serverLabel:`${o.contentRepoPrefix}${s.handle}`,environment:l,fetchImpl:e.fetchImpl??fetch,commandRunner:e.commandRunner??po,logger:e.logger??console.info,now:t,sleep:e.sleep??Bun.sleep}),d;try{d=await n7(c,u)}finally{await u.dispose()}let p={runId:i,artifactsDir:n,target:{handle:s.handle,domain:s.domain,contentRepo:`${o.githubOrg}/${s.contentRepo}`},startedAt:r,completedAt:t().toISOString(),report:d};return await Qke(p),p}async function Jke(e){let r=(e.now??(()=>new Date))().toISOString(),i=GO(r),n=JO(e.artifactsDir??St(e.rootDir,".brains-ops","stress",`access-check-${i}`));await ZO(n,{recursive:!0});let{pilot:o,user:s}=await VO(e.rootDir,e.handle);Dx({handle:s.handle,domain:s.domain,contentRepo:s.contentRepo,confirmation:e.confirmation}),u7(s);let a=(e.env??process.env).CONTENT_REPO_ADMIN_TOKEN;if(!a)throw Error("Missing CONTENT_REPO_ADMIN_TOKEN");let c=await HO(St(KO(),"brains-ops-directory-sync-access-check-"));try{let l=await Au.clone(e.commandRunner??po,`${o.githubOrg}/${s.contentRepo}`,St(c,"content"),a),u=await l.output(["rev-parse","HEAD"]);await l.run(["push","--dry-run","origin",`HEAD:refs/heads/ops/directory-sync-stress-access-check-${i}`]);let d={success:!0,artifactsDir:n,checkedAt:r,remoteHead:u,target:{handle:s.handle,domain:s.domain,contentRepo:`${o.githubOrg}/${s.contentRepo}`}};return await Qn(St(n,"access-check.json"),`${JSON.stringify(d,null,2)}
455
455
  `),d}finally{await Vp(c,{recursive:!0,force:!0})}}async function Vke(e){let t=e.now??(()=>new Date),r=JO(e.artifactsDir??St(e.rootDir,".brains-ops","stress",`cleanup-${GO(t().toISOString())}`));await ZO(r,{recursive:!0});let{pilot:i,user:n}=await VO(e.rootDir,e.handle);Dx({handle:n.handle,domain:n.domain,contentRepo:n.contentRepo,confirmation:e.confirmation});let o=(e.env??process.env).CONTENT_REPO_ADMIN_TOKEN;if(!o)throw Error("Missing CONTENT_REPO_ADMIN_TOKEN");let s=e.commandRunner??po,a=e.logger??console.info,c=await HO(St(KO(),"brains-ops-directory-sync-cleanup-")),l=St(c,"content");try{let u=await Au.clone(s,`${i.githubOrg}/${n.contentRepo}`,l,o),d=await WO(u.dir),p;if(d>0)await u.commitAll("test(directory-sync): clean residual stress probes"),await u.pushMainWithRebase(),p=await u.output(["rev-parse","HEAD"]),a(`Removed ${d} directory-sync stress probes`);let m=(await Xa(u.dir)).length,y=m===0?await u.pruneStressBackupBranches():[],g={success:m===0,artifactsDir:r,probesRemoved:d,probesRemaining:m,backupBranchesDeleted:y,...p?{cleanupCommit:p}:{}};return await Qn(St(r,"cleanup.json"),`${JSON.stringify(g,null,2)}
456
456
  `),g}finally{await Vp(c,{recursive:!0,force:!0})}}class l7{#e;#t;#r;#n;#i;#o;#a;#s;#c;#l;#d;constructor(e){this.#e=e,this.#t=new MO({domain:e.user.domain,fetchImpl:e.fetchImpl,now:e.now,sleep:e.sleep,sampleRuntime:()=>this.#y()})}async prepare(e){this.#r=await HO(St(KO(),"brains-ops-directory-sync-stress-"));let t=St(this.#r,"content");this.#i=St(this.#r,"id_ed25519"),this.#o=St(this.#r,"known_hosts"),this.#a=await this.#m(),await Qn(this.#i,Gke(this.#e.environment.KAMAL_SSH_PRIVATE_KEY),{mode:384}),await jke(this.#i,384);let r=await this.#b("ssh-keyscan",["-T","10","-t","ed25519",this.#a]);if(r.exitCode!==0||!r.stdout.trim())throw Error("Unable to resolve smoke SSH host key");await Qn(this.#o,r.stdout,{mode:384});let i=await this.#h(["docker","ps","--filter","label=service=rover","--filter","label=role=web","--format","{{.Names}}"]);if(this.#s=i.stdout.trim().split(/\r?\n/)[0],!this.#s||!/^[A-Za-z0-9_.-]+$/.test(this.#s))throw Error("Unable to resolve a running smoke container");let n=await Au.clone(this.#e.commandRunner,`${this.#e.githubOrg}/${this.#e.user.contentRepo}`,t,this.#e.environment.CONTENT_REPO_ADMIN_TOKEN);if(this.#n=n,(await Xa(n.dir)).length>0)throw Error("Directory-sync stress probes already exist");let o=await n.output(["rev-parse","HEAD"]);this.#l=await n.output(["rev-parse","HEAD^{tree}"]),this.#d=await this.#f();let s=await this.#t.waitForHealthSnapshot(60000);if(!s)throw Error("Smoke health was unavailable before stress testing");return this.#c=`ops/directory-sync-stress-backup-${this.#e.runId}`,await n.run(["push","origin",`HEAD:refs/heads/${this.#c}`]),await this.#t.discoverEndpoints(),await Qn(St(this.#e.artifactsDir,"state.json"),`${JSON.stringify({runId:this.#e.runId,profile:e.profile,originalHead:o,originalTree:this.#l,backupBranch:this.#c,baseline:{entities:s.entities,notes:Kp(s),version:s.version}},null,2)}
457
457
  `),this.#e.logger(`Prepared ${e.profile} directory-sync stress run for ${this.#e.user.handle}`),{entities:s.entities,notes:Kp(s),version:s.version}}async startMonitoring(){this.#x(),this.#t.start()}async executePhase(e,t){this.#x();let r=this.#n;if(!r)throw Error("Directory-sync stress checkout is not prepared");await r.sync();let i=this.#t.healthSamples.length,n=this.#e.now().getTime(),o=await this.#g();if(o?.pending!==0||o.processing!==0)return Tu(e,"health did not provide a drained queue before the phase");await d7(r.dir,e),await r.commitAll(`test(directory-sync): stress ${e.id}`),await r.pushMainWithRebase();let s=this.#e.now().getTime(),a=await r.output(["rev-parse","HEAD"]),c=await this.#p(a,900000);if(c===void 0)return Tu(e,"runtime did not pull the phase commit");let l;if(e.operation==="rename"){let m=t.notes+e.targetProbeCount;if(e.settleMs>0)await this.#e.sleep(e.settleMs);let y=await this.#t.waitForStableEntityBaseline(m,void 0,1200000);if(l=this.#e.now().getTime()-s,!y)return Tu(e,`health did not stabilize at ${m} notes`,c,l)}else if(e.operation==="add"||e.operation==="delete"){let m=t.notes+e.targetProbeCount,y=this.#e.now().getTime(),g=await this.#t.waitForEntityBaseline(m,void 0,1200000);if(l=this.#e.now().getTime()-y,!g)return Tu(e,`health did not reach ${m} notes`,c,l)}if(e.operation!=="rename"&&e.settleMs>0)await this.#e.sleep(e.settleMs);let u=e.operation==="delete"?0:Math.ceil(e.count/50);if(!await this.#u(o.completedImports+u,1200000))return Tu(e,`health did not observe ${u} completed import job(s) with a drained queue`,c,l);let p=this.#t.healthSamples.slice(i).find((m)=>!m.ok);if(p)return Tu(e,`${p.endpoint} unavailable (${p.status===0?p.error??"unknown":p.status})`,c,l);return this.#e.logger(`Completed ${e.id} in ${this.#e.now().getTime()-n}ms`),{id:e.id,operation:e.operation,count:e.count,success:!0,commitLatencyMs:c,...l===void 0?{}:{persistenceLatencyMs:l}}}async cleanup(e){let t=this.#n;if(!t)return{success:!1,probesRemaining:0,error:"stress checkout was not prepared"};try{if(await t.sync(!0),await WO(t.dir)>0)await t.commitAll("test(directory-sync): remove stress probes"),await t.pushMainWithRebase();let i=(await Xa(t.dir)).length;this.#t.markGateEnd();let n=await this.#t.waitForEntityBaseline(e.notes,e.entities,1200000);await t.sync(!0);let s=await t.output(["rev-parse","HEAD^{tree}"])===this.#l,a=i===0&&n!==void 0&&s;if(a&&this.#c){if((await t.run(["push","origin","--delete",this.#c],!1)).exitCode!==0)this.#e.logger(`Warning: unable to delete backup branch ${this.#c}`)}return{success:a,probesRemaining:i,...n?{finalEntities:n.entities,finalNotes:Kp(n)}:{},contentTreeRestored:s,...!a?{error:!n?"entity baseline was not restored before cleanup timeout":!s?"content tree differs from the pre-stress baseline":"stress probes remain after cleanup"}:{}}}catch(r){return{success:!1,probesRemaining:(await Xa(t.dir)).length,error:ct(r)}}}async stopMonitoring(){await this.#t.stop(),await Qn(St(this.#e.artifactsDir,"health-samples.json"),`${JSON.stringify(this.#t.healthSamples,null,2)}
@@ -765,7 +765,7 @@ printf 'REMOTE_ARTIFACT_DIR=%s\\n' "$remote_dir"
765
765
  `).replace(/\\n/g,`
766
766
  `).trimEnd()}
767
767
  `}var S7,aEe;var rR=x(async()=>{Re();g7();pi();Hp();await h7();S7=f.object({HCLOUD_TOKEN:f.string().min(1),KAMAL_SSH_PRIVATE_KEY:f.string().min(1)}),aEe=f.object({servers:f.array(f.object({status:f.string(),public_net:f.object({ipv4:f.object({ip:f.string().min(1)})})}))})});import{parseArgs as sW}from"util";function ht(e){return e}class Gp extends Error{constructor(e){super(e);this.name="CliUsageError"}}function aW(e,t){let r={...t};for(let i of e)for(let[n,o]of Object.entries(i.flags??{})){let s=r[n];if(s===void 0){r[n]=o;continue}if(s.type!==o.type||s.short!==o.short||s.default!==o.default)throw Error(`Conflicting definitions for flag --${n}: commands must agree on type, short, and default`)}return r}function cW(e){let t={};for(let[r,i]of Object.entries(e))t[r]={type:i.type,...i.short!==void 0?{short:i.short}:{},...i.default!==void 0?{default:i.default}:{}};return t}function lW(e){if(!(e instanceof Error)||!("code"in e))return!1;return e.code==="ERR_PARSE_ARGS_UNKNOWN_OPTION"||e.code==="ERR_PARSE_ARGS_INVALID_OPTION_VALUE"}function oR(e,t){let r=aW(t.commands,t.globalFlags??{}),i,n;try{({values:i,positionals:n}=sW({args:e,options:cW(r),allowPositionals:!0,strict:t.strict??!0}))}catch(s){if(lW(s))throw new Gp(s.message.split(". ")[0]??s.message);throw s}if("help"in r&&i.help===!0)return{command:"help",args:[],flags:{help:!0}};if("version"in r&&i.version===!0)return{command:"version",args:[],flags:{version:!0}};let o={};for(let[s,a]of Object.entries(r)){let c=i[s];if(typeof c==="string"&&a.type==="string")o[s]=c;else if(typeof c==="boolean"&&a.type==="boolean")o[s]=c}return{command:n[0]??"help",args:n.slice(1),flags:o}}function sR(e){let t=e.reduce((r,i)=>Math.max(r,i.label.length),0);return e.map((r)=>` ${r.label.padEnd(t)} ${r.description}`)}function uW(e){return sR(e.map((t)=>({label:t.usage?`${t.name} ${t.usage}`:t.name,description:t.description})))}function dW(e,t){let r=t.type==="string"?` ${t.placeholder??"<value>"}`:"",i=t.short!==void 0?`, -${t.short}`:"";return`--${e}${r}${i}`}function aR(e){return sR(Object.entries(e).map(([t,r])=>({label:dW(t,r),description:r.description})))}function cR(e,t){return`Usage: ${e} ${t.name}${t.usage?` ${t.usage}`:""}`}function fW(e){return JSON.stringify(Object.entries(e).map(([t,r])=>[t,r.type,r.short??"",r.description,r.placeholder??"",r.default??""]).sort((t,r)=>String(t[0]).localeCompare(String(r[0]))))}function pW(e){let t=[],r=new Map;for(let n of e){let o=n.flags??{};if(Object.keys(o).length===0)continue;let s=fW(o),a=r.get(s);if(a){a.names.push(n.name);continue}let c={names:[n.name],flags:o};r.set(s,c),t.push(c)}let i=[];for(let n of t)i.push("",`${n.names.join(" / ")} options:`),i.push(...aR(n.flags));return i}function lR(e){let t=[e.intro,"",`Usage: ${e.cliName} ${e.usage??"<command> [args]"}`,"","Commands:",...uW(e.commands)];if(e.globalFlags&&Object.keys(e.globalFlags).length>0)t.push("","Options:",...aR(e.globalFlags));return t.push(...pW(e.commands)),t.join(`
768
- `)}function uR(e){let t=new Map;for(let r of e){if(t.has(r.name))throw Error(`Duplicate command name: ${r.name}`);t.set(r.name,r)}return t}function gt(e,t){let r=e[t];return typeof r==="string"?r:void 0}function ic(e,t){let r=e[t];return typeof r==="boolean"?r:void 0}var Qp={name:"@rizom/ops",version:"0.2.0-alpha.517",description:"Operator CLI for managing private brain fleet registry repos",keywords:["brains","ops","cli","deploy","fleet","operator"],license:"AGPL-3.0-only",author:"Yeehaa <yeehaa@rizom.ai> (https://rizom.ai)",bin:{"brains-ops":"./dist/brains-ops.js"},bugs:"https://github.com/rizom-ai/brains/issues",dependencies:{"@libsql/client":"^0.17.4","age-encryption":"^0.3.0",yaml:"^2.9.0"},devDependencies:{"@brains/deploy-support":"workspace:*","@brains/eslint-config":"workspace:*","@brains/job-queue":"workspace:*","@brains/profile":"workspace:*","@brains/site-composition":"workspace:*","@brains/test-utils":"workspace:*","@brains/typescript-config":"workspace:*","@brains/utils":"workspace:*","@types/bun":"^1.4.0",typescript:"^7.0.2"},engines:{bun:">=1.3.3"},exports:{".":{types:"./dist/index.d.ts",import:"./dist/index.js"},"./deploy":{types:"./dist/deploy.d.ts",import:"./dist/deploy.js",bun:"./dist/deploy.js"}},files:["dist","templates"],homepage:"https://github.com/rizom-ai/brains/tree/main/packages/brains-ops#readme",main:"./dist/index.js",publishConfig:{access:"public"},repository:{type:"git",url:"https://github.com/rizom-ai/brains.git",directory:"packages/brains-ops"},scripts:{build:"bun scripts/build.ts",lint:"eslint . --max-warnings 0","lint:fix":"eslint . --max-warnings 0 --fix",prepublishOnly:"bun scripts/build.ts",test:"bun run build && bun test --timeout 20000","test:smoke":"bun run build && RUN_SMOKE_TESTS=1 bun test --timeout 60000",typecheck:"tsc --noEmit"},type:"module",types:"./dist/index.d.ts"};import{existsSync as MQ,mkdirSync as FQ,readFileSync as Cw,writeFileSync as $w}from"fs";import{dirname as ZQ,join as x2}from"path";function Fx(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&e.constructor.name==="Uint8Array"&&"BYTES_PER_ELEMENT"in e&&e.BYTES_PER_ELEMENT===1}function Ct(e,t=""){if(typeof e!=="number"){let r=t&&`"${t}" `;throw TypeError(`${r}expected number, got ${typeof e}`)}if(!Number.isSafeInteger(e)||e<0){let r=t&&`"${t}" `;throw RangeError(`${r}expected integer >= 0, got ${e}`)}}function rr(e,t,r=""){let i=Fx(e),n=e?.length,o=t!==void 0;if(!i||o&&n!==t){let s=r&&`"${r}" `,a=o?` of length ${t}`:"",c=i?`length=${n}`:`type=${typeof e}`,l=s+"expected Uint8Array"+a+", got "+c;if(!i)throw TypeError(l);throw RangeError(l)}return e}function Ti(e){if(typeof e!=="function"||typeof e.create!=="function")throw TypeError("Hash must wrapped by utils.createHasher");if(Ct(e.outputLen),Ct(e.blockLen),e.outputLen<1)throw Error('"outputLen" must be >= 1');if(e.blockLen<1)throw Error('"blockLen" must be >= 1')}function oc(e,t=!0){if(e.destroyed)throw Error("Hash instance has been destroyed");if(t&&e.finished)throw Error("Hash#digest() has already been called")}function Yp(e,t){rr(e,void 0,"digestInto() output");let r=t.outputLen;if(e.length<r)throw RangeError('"digestInto() output" expected to be of length >='+r)}function Xp(e){return new Uint32Array(e.buffer,e.byteOffset,Math.floor(e.byteLength/4))}function Ar(...e){for(let t=0;t<e.length;t++)e[t].fill(0)}function sc(e){return new DataView(e.buffer,e.byteOffset,e.byteLength)}function Rn(e,t){return e<<32-t|e>>>t}function Xe(e,t){return e<<t|e>>>32-t>>>0}var hW=(()=>new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68)();function gW(e){return e<<24&4278190080|e<<8&16711680|e>>>8&65280|e>>>24&255}function yW(e){for(let t=0;t<e.length;t++)e[t]=gW(e[t]);return e}var Zx=hW?(e)=>e:yW,fR=(()=>typeof Uint8Array.from([]).toHex==="function"&&typeof Uint8Array.fromHex==="function")(),bW=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,"0"));function em(e){if(rr(e),fR)return e.toHex();let t="";for(let r=0;r<e.length;r++)t+=bW[e[r]];return t}var Ai={_0:48,_9:57,A:65,F:70,a:97,f:102};function dR(e){if(e>=Ai._0&&e<=Ai._9)return e-Ai._0;if(e>=Ai.A&&e<=Ai.F)return e-(Ai.A-10);if(e>=Ai.a&&e<=Ai.f)return e-(Ai.a-10);return}function zu(e){if(typeof e!=="string")throw TypeError("hex string expected, got "+typeof e);if(fR)try{return Uint8Array.fromHex(e)}catch(n){if(n instanceof SyntaxError)throw RangeError(n.message);throw n}let t=e.length,r=t/2;if(t%2)throw RangeError("hex string expected, got unpadded hex of length "+t);let i=new Uint8Array(r);for(let n=0,o=0;n<r;n++,o+=2){let s=dR(e.charCodeAt(o)),a=dR(e.charCodeAt(o+1));if(s===void 0||a===void 0){let c=e[o]+e[o+1];throw RangeError('hex string expected, got non-hex character "'+c+'" at index '+o)}i[n]=s*16+a}return i}function xW(e){if(typeof e!=="string")throw TypeError("string expected");return new Uint8Array(new TextEncoder().encode(e))}function Hx(e,t=""){if(typeof e==="string")return xW(e);return rr(e,void 0,t)}function Kx(...e){let t=0;for(let i=0;i<e.length;i++){let n=e[i];rr(n),t+=n.length}let r=new Uint8Array(t);for(let i=0,n=0;i<e.length;i++){let o=e[i];r.set(o,n),n+=o.length}return r}function tm(e,t){if(t!==void 0&&{}.toString.call(t)!=="[object Object]")throw TypeError("options must be object or undefined");return Object.assign(e,t)}function Jx(e,t={}){let r=(n,o)=>e(o).update(n).digest(),i=e(void 0);return r.outputLen=i.outputLen,r.blockLen=i.blockLen,r.canXOF=i.canXOF,r.create=(n)=>e(n),Object.assign(r,t),Object.freeze(r)}function Ci(e=32){Ct(e,"bytesLength");let t=typeof globalThis==="object"?globalThis.crypto:null;if(typeof t?.getRandomValues!=="function")throw Error("crypto.getRandomValues must be defined");if(e>65536)throw RangeError(`"bytesLength" expected <= 65536, got ${e}`);return t.getRandomValues(new Uint8Array(e))}var Vx=(e)=>({oid:Uint8Array.from([6,9,96,134,72,1,101,3,4,2,e])});class Wx{oHash;iHash;blockLen;outputLen;canXOF=!1;finished=!1;destroyed=!1;constructor(e,t){if(Ti(e),rr(t,void 0,"key"),this.iHash=e.create(),typeof this.iHash.update!=="function")throw Error("Expected instance of class which extends utils.Hash");this.blockLen=this.iHash.blockLen,this.outputLen=this.iHash.outputLen;let r=this.blockLen,i=new Uint8Array(r);i.set(t.length>r?e.create().update(t).digest():t);for(let n=0;n<i.length;n++)i[n]^=54;this.iHash.update(i),this.oHash=e.create();for(let n=0;n<i.length;n++)i[n]^=106;this.oHash.update(i),Ar(i)}update(e){return oc(this),this.iHash.update(e),this}digestInto(e){oc(this),Yp(e,this),this.finished=!0;let t=e.subarray(0,this.outputLen);this.iHash.digestInto(t),this.oHash.update(t),this.oHash.digestInto(t),this.destroy()}digest(){let e=new Uint8Array(this.oHash.outputLen);return this.digestInto(e),e}_cloneInto(e){e||=Object.create(Object.getPrototypeOf(this),{});let{oHash:t,iHash:r,finished:i,destroyed:n,blockLen:o,outputLen:s}=this;return e=e,e.finished=i,e.destroyed=n,e.blockLen=o,e.outputLen=s,e.oHash=t._cloneInto(e.oHash),e.iHash=r._cloneInto(e.iHash),e}clone(){return this._cloneInto()}destroy(){this.destroyed=!0,this.oHash.destroy(),this.iHash.destroy()}}var Xn=(()=>{let e=(t,r,i)=>new Wx(t,r).update(i).digest();return e.create=(t,r)=>new Wx(t,r),e})();function Nu(e,t,r){if(Ti(e),r===void 0)r=new Uint8Array(e.outputLen);return Xn(e,r,t)}var Gx=Uint8Array.of(0),pR=Uint8Array.of();function Qx(e,t,r,i=32){Ti(e),Ct(i,"length"),rr(t,void 0,"prk");let n=e.outputLen;if(t.length<n)throw Error('"prk" must be at least HashLen octets');if(i>255*n)throw Error("Length must be <= 255*HashLen");let o=Math.ceil(i/n);if(r===void 0)r=pR;else rr(r,void 0,"info");let s=new Uint8Array(o*n),a=Xn.create(e,t),c=a._cloneInto(),l=new Uint8Array(a.outputLen);for(let u=0;u<o;u++)Gx[0]=u+1,c.update(u===0?pR:l).update(r).update(Gx).digestInto(l),s.set(l,n*u),a._cloneInto(c);return a.destroy(),c.destroy(),Ar(l,Gx),s.slice(0,i)}var ho=(e,t,r,i,n)=>Qx(e,Nu(e,t,r),i,n);function mR(e,t,r){return e&t^~e&r}function hR(e,t,r){return e&t^e&r^t&r}class rm{blockLen;outputLen;canXOF=!1;padOffset;isLE;buffer;view;finished=!1;length=0;pos=0;destroyed=!1;constructor(e,t,r,i){this.blockLen=e,this.outputLen=t,this.padOffset=r,this.isLE=i,this.buffer=new Uint8Array(e),this.view=sc(this.buffer)}update(e){oc(this),rr(e);let{view:t,buffer:r,blockLen:i}=this,n=e.length;for(let o=0;o<n;){let s=Math.min(i-this.pos,n-o);if(s===i){let a=sc(e);for(;i<=n-o;o+=i)this.process(a,o);continue}if(r.set(e.subarray(o,o+s),this.pos),this.pos+=s,o+=s,this.pos===i)this.process(t,0),this.pos=0}return this.length+=e.length,this.roundClean(),this}digestInto(e){oc(this),Yp(e,this),this.finished=!0;let{buffer:t,view:r,blockLen:i,isLE:n}=this,{pos:o}=this;if(t[o++]=128,Ar(this.buffer.subarray(o)),this.padOffset>i-o)this.process(r,0),o=0;for(let u=o;u<i;u++)t[u]=0;r.setBigUint64(i-8,BigInt(this.length*8),n),this.process(r,0);let s=sc(e),a=this.outputLen;if(a%4)throw Error("_sha2: outputLen must be aligned to 32bit");let c=a/4,l=this.get();if(c>l.length)throw Error("_sha2: outputLen bigger than state");for(let u=0;u<c;u++)s.setUint32(4*u,l[u],n)}digest(){let{buffer:e,outputLen:t}=this;this.digestInto(e);let r=e.slice(0,t);return this.destroy(),r}_cloneInto(e){e||=new this.constructor,e.set(...this.get());let{blockLen:t,buffer:r,length:i,finished:n,destroyed:o,pos:s}=this;if(e.destroyed=o,e.finished=n,e.length=i,e.pos=s,i%t)e.buffer.set(r);return e}clone(){return this._cloneInto()}}var $i=Uint32Array.from([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]);var nr=Uint32Array.from([1779033703,4089235720,3144134277,2227873595,1013904242,4271175723,2773480762,1595750129,1359893119,2917565137,2600822924,725511199,528734635,4215389547,1541459225,327033209]);var nm=BigInt(4294967295),gR=BigInt(32);function SW(e,t=!1){if(t)return{h:Number(e&nm),l:Number(e>>gR&nm)};return{h:Number(e>>gR&nm)|0,l:Number(e&nm)|0}}function yR(e,t=!1){let r=e.length,i=new Uint32Array(r),n=new Uint32Array(r);for(let o=0;o<r;o++){let{h:s,l:a}=SW(e[o],t);[i[o],n[o]]=[s,a]}return[i,n]}var Yx=(e,t,r)=>e>>>r,Xx=(e,t,r)=>e<<32-r|t>>>r,Os=(e,t,r)=>e>>>r|t<<32-r,Rs=(e,t,r)=>e<<32-r|t>>>r,Du=(e,t,r)=>e<<64-r|t>>>r-32,Lu=(e,t,r)=>e>>>r-32|t<<64-r;function ei(e,t,r,i){let n=(t>>>0)+(i>>>0);return{h:e+r+(n/4294967296|0)|0,l:n|0}}var bR=(e,t,r)=>(e>>>0)+(t>>>0)+(r>>>0),xR=(e,t,r,i)=>t+r+i+(e/4294967296|0)|0,SR=(e,t,r,i)=>(e>>>0)+(t>>>0)+(r>>>0)+(i>>>0),wR=(e,t,r,i,n)=>t+r+i+n+(e/4294967296|0)|0,vR=(e,t,r,i,n)=>(e>>>0)+(t>>>0)+(r>>>0)+(i>>>0)+(n>>>0),_R=(e,t,r,i,n,o)=>t+r+i+n+o+(e/4294967296|0)|0;var vW=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]),go=new Uint32Array(64);class kR extends rm{constructor(e){super(64,e,8,!1)}get(){let{A:e,B:t,C:r,D:i,E:n,F:o,G:s,H:a}=this;return[e,t,r,i,n,o,s,a]}set(e,t,r,i,n,o,s,a){this.A=e|0,this.B=t|0,this.C=r|0,this.D=i|0,this.E=n|0,this.F=o|0,this.G=s|0,this.H=a|0}process(e,t){for(let u=0;u<16;u++,t+=4)go[u]=e.getUint32(t,!1);for(let u=16;u<64;u++){let d=go[u-15],p=go[u-2],m=Rn(d,7)^Rn(d,18)^d>>>3,y=Rn(p,17)^Rn(p,19)^p>>>10;go[u]=y+go[u-7]+m+go[u-16]|0}let{A:r,B:i,C:n,D:o,E:s,F:a,G:c,H:l}=this;for(let u=0;u<64;u++){let d=Rn(s,6)^Rn(s,11)^Rn(s,25),p=l+d+mR(s,a,c)+vW[u]+go[u]|0,y=(Rn(r,2)^Rn(r,13)^Rn(r,22))+hR(r,i,n)|0;l=c,c=a,a=s,s=o+p|0,o=n,n=i,i=r,r=p+y|0}r=r+this.A|0,i=i+this.B|0,n=n+this.C|0,o=o+this.D|0,s=s+this.E|0,a=a+this.F|0,c=c+this.G|0,l=l+this.H|0,this.set(r,i,n,o,s,a,c,l)}roundClean(){Ar(go)}destroy(){this.destroyed=!0,this.set(0,0,0,0,0,0,0,0),Ar(this.buffer)}}class ER extends kR{A=$i[0]|0;B=$i[1]|0;C=$i[2]|0;D=$i[3]|0;E=$i[4]|0;F=$i[5]|0;G=$i[6]|0;H=$i[7]|0;constructor(){super(32)}}var IR=(()=>yR(["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))))(),_W=(()=>IR[0])(),kW=(()=>IR[1])(),yo=new Uint32Array(80),bo=new Uint32Array(80);class AR extends rm{constructor(e){super(128,e,16,!1)}get(){let{Ah:e,Al:t,Bh:r,Bl:i,Ch:n,Cl:o,Dh:s,Dl:a,Eh:c,El:l,Fh:u,Fl:d,Gh:p,Gl:m,Hh:y,Hl:g}=this;return[e,t,r,i,n,o,s,a,c,l,u,d,p,m,y,g]}set(e,t,r,i,n,o,s,a,c,l,u,d,p,m,y,g){this.Ah=e|0,this.Al=t|0,this.Bh=r|0,this.Bl=i|0,this.Ch=n|0,this.Cl=o|0,this.Dh=s|0,this.Dl=a|0,this.Eh=c|0,this.El=l|0,this.Fh=u|0,this.Fl=d|0,this.Gh=p|0,this.Gl=m|0,this.Hh=y|0,this.Hl=g|0}process(e,t){for(let A=0;A<16;A++,t+=4)yo[A]=e.getUint32(t),bo[A]=e.getUint32(t+=4);for(let A=16;A<80;A++){let T=yo[A-15]|0,z=bo[A-15]|0,j=Os(T,z,1)^Os(T,z,8)^Yx(T,z,7),E=Rs(T,z,1)^Rs(T,z,8)^Xx(T,z,7),Z=yo[A-2]|0,D=bo[A-2]|0,H=Os(Z,D,19)^Du(Z,D,61)^Yx(Z,D,6),X=Rs(Z,D,19)^Lu(Z,D,61)^Xx(Z,D,6),M=SR(E,X,bo[A-7],bo[A-16]),P=wR(M,j,H,yo[A-7],yo[A-16]);yo[A]=P|0,bo[A]=M|0}let{Ah:r,Al:i,Bh:n,Bl:o,Ch:s,Cl:a,Dh:c,Dl:l,Eh:u,El:d,Fh:p,Fl:m,Gh:y,Gl:g,Hh:b,Hl:_}=this;for(let A=0;A<80;A++){let T=Os(u,d,14)^Os(u,d,18)^Du(u,d,41),z=Rs(u,d,14)^Rs(u,d,18)^Lu(u,d,41),j=u&p^~u&y,E=d&m^~d&g,Z=vR(_,z,E,kW[A],bo[A]),D=_R(Z,b,T,j,_W[A],yo[A]),H=Z|0,X=Os(r,i,28)^Du(r,i,34)^Du(r,i,39),M=Rs(r,i,28)^Lu(r,i,34)^Lu(r,i,39),P=r&n^r&s^n&s,N=i&o^i&a^o&a;b=y|0,_=g|0,y=p|0,g=m|0,p=u|0,m=d|0,{h:u,l:d}=ei(c|0,l|0,D|0,H|0),c=s|0,l=a|0,s=n|0,a=o|0,n=r|0,o=i|0;let I=bR(H,M,N);r=xR(I,D,X,P),i=I|0}({h:r,l:i}=ei(this.Ah|0,this.Al|0,r|0,i|0)),{h:n,l:o}=ei(this.Bh|0,this.Bl|0,n|0,o|0),{h:s,l:a}=ei(this.Ch|0,this.Cl|0,s|0,a|0),{h:c,l}=ei(this.Dh|0,this.Dl|0,c|0,l|0),{h:u,l:d}=ei(this.Eh|0,this.El|0,u|0,d|0),{h:p,l:m}=ei(this.Fh|0,this.Fl|0,p|0,m|0),{h:y,l:g}=ei(this.Gh|0,this.Gl|0,y|0,g|0),{h:b,l:_}=ei(this.Hh|0,this.Hl|0,b|0,_|0),this.set(r,i,n,o,s,a,c,l,u,d,p,m,y,g,b,_)}roundClean(){Ar(yo,bo)}destroy(){this.destroyed=!0,Ar(this.buffer),this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}}class TR extends AR{Ah=nr[0]|0;Al=nr[1]|0;Bh=nr[2]|0;Bl=nr[3]|0;Ch=nr[4]|0;Cl=nr[5]|0;Dh=nr[6]|0;Dl=nr[7]|0;Eh=nr[8]|0;El=nr[9]|0;Fh=nr[10]|0;Fl=nr[11]|0;Gh=nr[12]|0;Gl=nr[13]|0;Hh=nr[14]|0;Hl=nr[15]|0;constructor(){super(64)}}var $t=Jx(()=>new ER,Vx(1));var im=Jx(()=>new TR,Vx(3));/*! scure-base - MIT License (c) 2022 Paul Miller (paulmillr.com) */function lm(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&e.constructor.name==="Uint8Array"&&"BYTES_PER_ELEMENT"in e&&e.BYTES_PER_ELEMENT===1}function rS(e){if(!lm(e))throw TypeError("Uint8Array expected")}function PR(e,t){if(!Array.isArray(t))return!1;if(t.length===0)return!0;if(e)return t.every((r)=>typeof r==="string");else return t.every((r)=>Number.isSafeInteger(r))}function zR(e){if(typeof e!=="function")throw TypeError("function expected");return!0}function xo(e,t){if(typeof t!=="string")throw TypeError(`${e}: string expected`);return!0}function ju(e){if(typeof e!=="number")throw TypeError(`number expected, got ${typeof e}`);if(!Number.isSafeInteger(e))throw RangeError(`invalid integer: ${e}`)}function sm(e){if(!Array.isArray(e))throw TypeError("array expected")}function am(e,t){if(!PR(!0,t))throw TypeError(`${e}: array of strings expected`)}function nS(e,t){if(!PR(!1,t))throw TypeError(`${e}: array of numbers expected`)}function en(...e){let t=(o)=>o,r=(o,s)=>(a)=>o(s(a)),i=e.map((o)=>o.encode).reduceRight(r,t),n=e.map((o)=>o.decode).reduce(r,t);return{encode:i,decode:n}}function tn(e){let t=typeof e==="string"?e.split(""):e,r=t.length;am("alphabet",t);let i=new Map(t.map((n,o)=>[n,o]));return{encode:(n)=>(sm(n),n.map((o)=>{if(!Number.isSafeInteger(o)||o<0||o>=r)throw Error(`alphabet.encode: digit index outside alphabet "${o}". Allowed: ${e}`);return t[o]})),decode:(n)=>(sm(n),n.map((o)=>{xo("alphabet.decode",o);let s=i.get(o);if(s===void 0)throw Error(`Unknown letter: "${o}". Allowed: ${e}`);return s}))}}function rn(e=""){return xo("join",e),{encode:(t)=>(am("join.decode",t),t.join(e)),decode:(t)=>(xo("join.decode",t),t.split(e))}}function um(e,t="="){return ju(e),xo("padding",t),{encode(r){am("padding.encode",r);while(r.length*e%8)r.push(t);return r},decode(r){am("padding.decode",r);let i=r.length;if(i*e%8)throw Error("padding: invalid, string should have whole number of bytes");for(;i>0&&r[i-1]===t;i--)if((i-1)*e%8===0)throw Error("padding: invalid, string has too much padding");return r.slice(0,i)}}}function NR(e){return zR(e),{encode:(t)=>t,decode:(t)=>e(t)}}function CR(e,t,r){if(t<2)throw RangeError(`convertRadix: invalid from=${t}, base cannot be less than 2`);if(r<2)throw RangeError(`convertRadix: invalid to=${r}, base cannot be less than 2`);if(sm(e),!e.length)return[];let i=0,n=[],o=Array.from(e,(a)=>{if(ju(a),a<0||a>=t)throw Error(`invalid integer: ${a}`);return a}),s=o.length;while(!0){let a=0,c=!0;for(let l=i;l<s;l++){let u=o[l],d=t*a,p=d+u;if(!Number.isSafeInteger(p)||d/t!==a||p-u!==d)throw Error("convertRadix: carry overflow");let m=p/r;a=p%r;let y=Math.floor(m);if(o[l]=y,!Number.isSafeInteger(y)||y*r+a!==p)throw Error("convertRadix: carry overflow");if(!c)continue;else if(!y)i=l;else c=!1}if(n.push(a),c)break}for(let a=0;a<e.length-1&&e[a]===0;a++)n.push(0);return n.reverse()}var DR=(e,t)=>t===0?e:DR(t,e%t),cm=(e,t)=>e+(t-DR(e,t)),om=(()=>{let e=[];for(let t=0;t<40;t++)e.push(2**t);return e})();function eS(e,t,r,i){if(sm(e),t<=0||t>32)throw RangeError(`convertRadix2: wrong from=${t}`);if(r<=0||r>32)throw RangeError(`convertRadix2: wrong to=${r}`);if(cm(t,r)>32)throw Error(`convertRadix2: carry overflow from=${t} to=${r} carryBits=${cm(t,r)}`);let n=0,o=0,s=om[t],a=om[r]-1,c=[];for(let l of e){if(ju(l),l>=s)throw Error(`convertRadix2: invalid data word=${l} from=${t}`);if(n=n<<t|l,o+t>32)throw Error(`convertRadix2: carry overflow pos=${o} from=${t}`);o+=t;for(;o>=r;o-=r)c.push((n>>o-r&a)>>>0);let u=om[o];if(u===void 0)throw Error("invalid carry");n&=u-1}if(n=n<<r-o&a,!i&&o>=t)throw Error("Excess padding");if(!i&&n>0)throw Error(`Non-zero padding: ${n}`);if(i&&o>0)c.push(n>>>0);return c}function EW(e){ju(e);let t=256;return{encode:(r)=>{if(!lm(r))throw TypeError("radix.encode input should be Uint8Array");return CR(Array.from(r),t,e)},decode:(r)=>(nS("radix.decode",r),Uint8Array.from(CR(r,e,t)))}}function hn(e,t=!1){if(ju(e),e<=0||e>32)throw RangeError("radix2: bits should be in (0..32]");if(cm(8,e)>32||cm(e,8)>32)throw RangeError("radix2: carry overflow");return{encode:(r)=>{if(!lm(r))throw TypeError("radix2.encode input should be Uint8Array");return eS(Array.from(r),8,e,!t)},decode:(r)=>(nS("radix2.decode",r),Uint8Array.from(eS(r,e,8,t)))}}function $R(e){return zR(e),function(...t){try{return e.apply(null,t)}catch(r){}}}var zEe=Object.freeze(en(hn(4),tn("0123456789ABCDEF"),rn(""))),NEe=Object.freeze(en(hn(5),tn("ABCDEFGHIJKLMNOPQRSTUVWXYZ234567"),um(5),rn(""))),DEe=Object.freeze(en(hn(5),tn("ABCDEFGHIJKLMNOPQRSTUVWXYZ234567"),rn(""))),LEe=Object.freeze(en(hn(5),tn("0123456789ABCDEFGHIJKLMNOPQRSTUV"),um(5),rn(""))),BEe=Object.freeze(en(hn(5),tn("0123456789ABCDEFGHIJKLMNOPQRSTUV"),rn(""))),jEe=Object.freeze(en(hn(5),tn("0123456789ABCDEFGHJKMNPQRSTVWXYZ"),rn(""),NR((e)=>e.toUpperCase().replace(/O/g,"0").replace(/[IL]/g,"1")))),LR=(()=>typeof Uint8Array.from([]).toBase64==="function"&&typeof Uint8Array.fromBase64==="function")(),IW=/[\t\n\f\r ]/,BR=(e,t)=>{xo("base64",e);let r=t?"base64url":"base64";if(e.length>0&&IW.test(e))throw Error("invalid base64");return Uint8Array.fromBase64(e,{alphabet:r,lastChunkHandling:"strict"})},iS=Object.freeze(LR?{encode(e){return rS(e),e.toBase64()},decode(e){return BR(e,!1)}}:en(hn(6),tn("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"),um(6),rn(""))),gr=Object.freeze(en(hn(6),tn("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"),rn(""))),qEe=Object.freeze(LR?{encode(e){return rS(e),e.toBase64({alphabet:"base64url"})},decode(e){return BR(e,!0)}}:en(hn(6),tn("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_"),um(6),rn(""))),UEe=Object.freeze(en(hn(6),tn("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_"),rn(""))),oS=(e)=>en(EW(58),tn(e),rn("")),MEe=Object.freeze(oS("123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz")),FEe=Object.freeze(oS("123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ")),ZEe=Object.freeze(oS("rpshnaf39wBUDNEGHJKLM4PQRST7VWXYZ2bcdeCg65jkm8oFqi1tuvAxyz"));var tS=en(tn("qpzry9x8gf2tvdw0s3jn54khce6mua7l"),rn("")),OR=[996825010,642813549,513874426,1027748829,705979059];function Bu(e){let t=e>>25,r=(e&33554431)<<5;for(let i=0;i<OR.length;i++)if((t>>i&1)===1)r^=OR[i];return r}function RR(e,t,r=1){let i=e.length,n=1;for(let o=0;o<i;o++){let s=e.charCodeAt(o);if(s<33||s>126)throw Error(`Invalid prefix (${e})`);n=Bu(n)^s>>5}n=Bu(n);for(let o=0;o<i;o++)n=Bu(n)^e.charCodeAt(o)&31;for(let o of t)n=Bu(n)^o;for(let o=0;o<6;o++)n=Bu(n);return n^=r,tS.encode(eS([n%om[30]],30,5,!1))}function jR(e){let t=e==="bech32"?1:734539939,r=hn(5),i=r.decode,n=r.encode,o=$R(i);function s(d,p,m=90){if(xo("bech32.encode prefix",d),lm(p))p=Array.from(p);nS("bech32.encode",p);let y=d.length;if(y===0)throw TypeError(`Invalid prefix length ${y}`);let g=y+7+p.length;if(m!==!1&&g>m)throw TypeError(`Length ${g} exceeds limit ${m}`);let b=d.toLowerCase(),_=RR(b,p,t);return`${b}1${tS.encode(p)}${_}`}function a(d,p=90){xo("bech32.decode input",d);let m=d.length;if(m<8||p!==!1&&m>p)throw TypeError(`invalid string length: ${m} (${d}). Expected (8..${p})`);let y=d.toLowerCase();if(d!==y&&d!==d.toUpperCase())throw Error("String must be lowercase or uppercase");let g=y.lastIndexOf("1");if(g===0||g===-1)throw Error('Letter "1" must be present between prefix and data only');let b=y.slice(0,g),_=y.slice(g+1);if(_.length<6)throw Error("Data must be at least 6 characters long");let A=tS.decode(_).slice(0,-6),T=RR(b,A,t);if(!_.endsWith(T))throw Error(`Invalid checksum in ${d}: expected "${T}"`);return{prefix:b,words:A}}let c=$R(a);function l(d){let{prefix:p,words:m}=a(d,!1);return{prefix:p,words:m,bytes:i(m)}}function u(d,p){return s(d,n(p))}return{encode:s,decode:a,encodeFromBytes:u,decodeToBytes:l,decodeUnsafe:c,fromWords:i,fromWordsUnsafe:o,toWords:n}}var nn=Object.freeze(jR("bech32")),HEe=Object.freeze(jR("bech32m"));var AW=(()=>typeof Uint8Array.from([]).toHex==="function"&&typeof Uint8Array.fromHex==="function")(),TW={encode(e){return rS(e),e.toHex()},decode(e){return xo("hex",e),Uint8Array.fromHex(e)}},KEe=Object.freeze(AW?TW:en(hn(4),tn("0123456789abcdef"),rn(""),NR((e)=>{if(typeof e!=="string"||e.length%2!==0)throw TypeError(`hex.decode: expected string, got ${typeof e} with length ${e.length}`);return e.toLowerCase()})));function $W(e,t,r,i){Ti(e);let n=tm({dkLen:32,asyncTick:10},i),{c:o,dkLen:s,asyncTick:a}=n;if(Ct(o,"c"),Ct(s,"dkLen"),Ct(a,"asyncTick"),o<1)throw Error("iterations (c) must be >= 1");if(s<1)throw Error('"dkLen" must be >= 1');if(s>4294967295*e.outputLen)throw Error("derived key too long");let c=Hx(t,"password"),l=Hx(r,"salt"),u=new Uint8Array(s),d=Xn.create(e,c),p=d._cloneInto().update(l);return{c:o,dkLen:s,asyncTick:a,DK:u,PRF:d,PRFSalt:p}}function OW(e,t,r,i,n){if(e.destroy(),t.destroy(),i)i.destroy();return Ar(n),r}function sS(e,t,r,i){let{c:n,dkLen:o,DK:s,PRF:a,PRFSalt:c}=$W(e,t,r,i),l,u=new Uint8Array(4),d=sc(u),p=new Uint8Array(a.outputLen);for(let m=1,y=0;y<o;m++,y+=a.outputLen){let g=s.subarray(y,y+a.outputLen);d.setInt32(0,m,!1),(l=c._cloneInto(l)).update(u).digestInto(p),g.set(p.subarray(0,g.length));for(let b=1;b<n;b++){a._cloneInto(l).update(p).digestInto(p);for(let _=0;_<g.length;_++)g[_]^=p[_]}}return OW(a,c,s,l,p)}function qR(e,t,r,i,n,o){let s=e[t++]^r[i++],a=e[t++]^r[i++],c=e[t++]^r[i++],l=e[t++]^r[i++],u=e[t++]^r[i++],d=e[t++]^r[i++],p=e[t++]^r[i++],m=e[t++]^r[i++],y=e[t++]^r[i++],g=e[t++]^r[i++],b=e[t++]^r[i++],_=e[t++]^r[i++],A=e[t++]^r[i++],T=e[t++]^r[i++],z=e[t++]^r[i++],j=e[t++]^r[i++],E=s,Z=a,D=c,H=l,X=u,M=d,P=p,N=m,I=y,R=g,O=b,F=_,L=A,V=T,k=z,re=j;for(let de=0;de<8;de+=2)X^=Xe(E+L|0,7),I^=Xe(X+E|0,9),L^=Xe(I+X|0,13),E^=Xe(L+I|0,18),R^=Xe(M+Z|0,7),V^=Xe(R+M|0,9),Z^=Xe(V+R|0,13),M^=Xe(Z+V|0,18),k^=Xe(O+P|0,7),D^=Xe(k+O|0,9),P^=Xe(D+k|0,13),O^=Xe(P+D|0,18),H^=Xe(re+F|0,7),N^=Xe(H+re|0,9),F^=Xe(N+H|0,13),re^=Xe(F+N|0,18),Z^=Xe(E+H|0,7),D^=Xe(Z+E|0,9),H^=Xe(D+Z|0,13),E^=Xe(H+D|0,18),P^=Xe(M+X|0,7),N^=Xe(P+M|0,9),X^=Xe(N+P|0,13),M^=Xe(X+N|0,18),F^=Xe(O+R|0,7),I^=Xe(F+O|0,9),R^=Xe(I+F|0,13),O^=Xe(R+I|0,18),L^=Xe(re+k|0,7),V^=Xe(L+re|0,9),k^=Xe(V+L|0,13),re^=Xe(k+V|0,18);n[o++]=s+E|0,n[o++]=a+Z|0,n[o++]=c+D|0,n[o++]=l+H|0,n[o++]=u+X|0,n[o++]=d+M|0,n[o++]=p+P|0,n[o++]=m+N|0,n[o++]=y+I|0,n[o++]=g+R|0,n[o++]=b+O|0,n[o++]=_+F|0,n[o++]=A+L|0,n[o++]=T+V|0,n[o++]=z+k|0,n[o++]=j+re|0}function aS(e,t,r,i,n){let o=i+0,s=i+16*n;for(let a=0;a<16;a++)r[s+a]=e[t+(2*n-1)*16+a];for(let a=0;a<n;a++,o+=16,t+=16){if(qR(r,s,e,t,r,o),a>0)s+=16;qR(r,o,e,t+=16,r,s)}}function RW(e,t,r){let i=tm({dkLen:32,asyncTick:10,maxmem:1073742848},r),{N:n,r:o,p:s,dkLen:a,asyncTick:c,maxmem:l,onProgress:u}=i;if(Ct(n,"N"),Ct(o,"r"),Ct(s,"p"),Ct(a,"dkLen"),Ct(c,"asyncTick"),Ct(l,"maxmem"),u!==void 0&&typeof u!=="function")throw Error("progressCb must be a function");let d=128*o,p=d/4,m=Math.pow(2,32);if(n<=1||(n&n-1)!==0||n>m)throw Error('"N" expected a power of 2, and 2^1 <= N <= 2^32');if(s<1||s>(m-1)*32/d)throw Error('"p" expected integer 1..((2^32 - 1) * 32) / (128 * r)');if(a<1||a>(m-1)*32)throw Error('"dkLen" expected integer 1..(2^32 - 1) * 32');let y=d*(n+s+1);if(y>l)throw Error('"maxmem" limit was hit: memUsed(128*r*(N+p+1))='+y+", maxmem="+l);let g=sS($t,e,t,{c:1,dkLen:d*s}),b=Xp(g),_=Xp(new Uint8Array(d*n)),A=Xp(new Uint8Array(d)),T=()=>{};if(u){let z=2*n*s,j=Math.max(Math.floor(z/1e4),1),E=0;T=()=>{if(E++,u&&(!(E%j)||E===z))u(E/z)}}return{N:n,r:o,p:s,dkLen:a,blockSize32:p,V:_,B32:b,B:g,tmp:A,blockMixCb:T,asyncTick:c}}function PW(e,t,r,i,n){let o=sS($t,e,r,{c:1,dkLen:t});return Ar(r,i,n),o}function cS(e,t,r){let{N:i,r:n,p:o,dkLen:s,blockSize32:a,V:c,B32:l,B:u,tmp:d,blockMixCb:p}=RW(e,t,r);Zx(l);for(let m=0;m<o;m++){let y=a*m;for(let g=0;g<a;g++)c[g]=l[y+g];for(let g=0,b=0;g<i-1;g++)aS(c,b,c,b+=a,n),p();aS(c,(i-1)*a,l,y,n),p();for(let g=0;g<i;g++){let b=(l[y+a-16]&i-1)>>>0;for(let _=0;_<a;_++)d[_]=l[y+_]^c[b*a+_];aS(d,0,l,y,n),p()}}return Zx(l),PW(e,s,u,c,d)}/*! noble-ciphers - MIT License (c) 2023 Paul Miller (paulmillr.com) */function zW(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&e.constructor.name==="Uint8Array"&&"BYTES_PER_ELEMENT"in e&&e.BYTES_PER_ELEMENT===1}function dm(e){if(typeof e!=="boolean")throw TypeError(`boolean expected, not ${e}`)}function ac(e){if(typeof e!=="number")throw TypeError("number expected, got "+typeof e);if(!Number.isSafeInteger(e)||e<0)throw RangeError("positive integer expected, got "+e)}function Mt(e,t,r=""){let i=zW(e),n=e?.length,o=t!==void 0;if(!i||o&&n!==t){let s=r&&`"${r}" `,a=o?` of length ${t}`:"",c=i?`length=${n}`:`type=${typeof e}`,l=s+"expected Uint8Array"+a+", got "+c;if(!i)throw TypeError(l);throw RangeError(l)}return e}function lS(e,t=!0){if(e.destroyed)throw Error("Hash instance has been destroyed");if(t&&e.finished)throw Error("Hash#digest() has already been called")}function UR(e,t,r=!1){Mt(e,void 0,"output");let i=t.outputLen;if(e.length<i)throw RangeError("digestInto() expects output buffer of length at least "+i);if(r&&!cc(e))throw Error("invalid output, must be aligned")}function ti(e){return new Uint32Array(e.buffer,e.byteOffset,Math.floor(e.byteLength/4))}function Pn(...e){for(let t=0;t<e.length;t++)e[t].fill(0)}function NW(e){return new DataView(e.buffer,e.byteOffset,e.byteLength)}var Ps=(()=>new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68)(),DW=(e)=>e<<24&4278190080|e<<8&16711680|e>>>8&65280|e>>>24&255;var LW=(e)=>{for(let t=0;t<e.length;t++)e[t]=DW(e[t]);return e},Oi=Ps?(e)=>e:LW;function MR(e,t){if(t==null||typeof t!=="object")throw Error("options must be defined");return Object.assign(e,t)}function FR(e,t){if(e.length!==t.length)return!1;let r=0;for(let i=0;i<e.length;i++)r|=e[i]^t[i];return r===0}function ZR(e,t,r){let i=t,n=r||(()=>[]),o=(a,c)=>i(c,...n(a)).update(a).digest(),s=i(new Uint8Array(e),...n(new Uint8Array(0)));return o.outputLen=s.outputLen,o.blockLen=s.blockLen,o.create=(a,...c)=>i(a,...c),o}var HR=(e,t)=>{function r(i,...n){if(Mt(i,void 0,"key"),e.nonceLength!==void 0){let u=n[0];Mt(u,e.varSizeNonce?void 0:e.nonceLength,"nonce")}let o=e.tagLength;if(o&&n[1]!==void 0)Mt(n[1],void 0,"AAD");let s=t(i,...n),a=(u,d)=>{if(d!==void 0){if(u!==2)throw Error("cipher output not supported");Mt(d,void 0,"output")}},c=!1;return{encrypt(u,d){if(c)throw Error("cannot encrypt() twice with same key + nonce");return c=!0,Mt(u),a(s.encrypt.length,d),s.encrypt(u,d)},decrypt(u,d){if(Mt(u),o&&u.length<o)throw Error('"ciphertext" expected length bigger than tagLength='+o);return a(s.decrypt.length,d),s.decrypt(u,d)}}}return Object.assign(r,e),r};function qu(e,t,r=!0){if(t===void 0)return new Uint8Array(e);if(Mt(t,void 0,"output"),t.length!==e)throw Error('"output" expected Uint8Array of length '+e+", got: "+t.length);if(r&&!cc(t))throw Error("invalid output, must be aligned");return t}function KR(e,t,r){ac(e),ac(t),dm(r);let i=new Uint8Array(16),n=NW(i);return n.setBigUint64(0,BigInt(t),r),n.setBigUint64(8,BigInt(e),r),i}function cc(e){return e.byteOffset%4===0}function lc(e){return Uint8Array.from(Mt(e))}var VR=(e)=>Uint8Array.from(e.split(""),(t)=>t.charCodeAt(0)),BW=(()=>Oi(ti(VR("expand 16-byte k"))))(),jW=(()=>Oi(ti(VR("expand 32-byte k"))))();function et(e,t){return e<<t|e>>>32-t}var Uu=64,qW=16,uS=(()=>4294967295)(),JR=Uint32Array.of();function UW(e,t,r,i,n,o,s,a){let c=n.length,l=new Uint8Array(Uu),u=ti(l),d=Ps&&cc(n)&&cc(o),p=d?ti(n):JR,m=d?ti(o):JR;if(!Ps){for(let y=0;y<c;s++){if(e(t,r,i,u,s,a),Oi(u),s>=uS)throw Error("arx: counter overflow");let g=Math.min(Uu,c-y);for(let b=0,_;b<g;b++)_=y+b,o[_]=n[_]^l[b];y+=g}return}for(let y=0;y<c;s++){if(e(t,r,i,u,s,a),s>=uS)throw Error("arx: counter overflow");let g=Math.min(Uu,c-y);if(d&&g===Uu){let b=y/4;if(y%4!==0)throw Error("arx: invalid block position");for(let _=0,A;_<qW;_++)A=b+_,m[A]=p[A]^u[_];y+=Uu;continue}for(let b=0,_;b<g;b++)_=y+b,o[_]=n[_]^l[b];y+=g}}function WR(e,t){let{allowShortKeys:r,extendNonceFn:i,counterLength:n,counterRight:o,rounds:s}=MR({allowShortKeys:!1,counterLength:8,counterRight:!1,rounds:20},t);if(typeof e!=="function")throw Error("core must be a function");return ac(n),ac(s),dm(o),dm(r),(a,c,l,u,d=0)=>{Mt(a,void 0,"key"),Mt(c,void 0,"nonce"),Mt(l,void 0,"data");let p=l.length;if(u=qu(p,u,!1),ac(d),d<0||d>=uS)throw Error("arx: counter overflow");let m=[],y=a.length,g,b;if(y===32)m.push(g=lc(a)),b=jW;else if(y===16&&r)g=new Uint8Array(32),g.set(a),g.set(a,16),b=BW,m.push(g);else throw Mt(a,32,"arx key"),Error("invalid key size");if(!Ps||!cc(c))m.push(c=lc(c));let _=ti(g);if(i){if(c.length!==24)throw Error("arx: extended nonce must be 24 bytes");let z=c.subarray(0,16);if(Ps)i(b,_,ti(z),_);else{let j=Oi(Uint32Array.from(b));i(j,_,ti(z),_),Pn(j),Oi(_)}c=c.subarray(16)}else if(!Ps)Oi(_);let A=16-n;if(A!==c.length)throw Error(`arx: nonce must be ${A} or 16 bytes`);if(A!==12){let z=new Uint8Array(12);z.set(c,o?0:12-c.length),c=z,m.push(c)}let T=Oi(ti(c));try{return UW(e,b,_,T,l,u,d,s),u}finally{Pn(...m)}}}function ir(e,t){return e[t++]&255|(e[t++]&255)<<8}class GR{blockLen=16;outputLen=16;buffer=new Uint8Array(16);r=new Uint16Array(10);h=new Uint16Array(10);pad=new Uint16Array(8);pos=0;finished=!1;destroyed=!1;constructor(e){e=lc(Mt(e,32,"key"));let t=ir(e,0),r=ir(e,2),i=ir(e,4),n=ir(e,6),o=ir(e,8),s=ir(e,10),a=ir(e,12),c=ir(e,14);this.r[0]=t&8191,this.r[1]=(t>>>13|r<<3)&8191,this.r[2]=(r>>>10|i<<6)&7939,this.r[3]=(i>>>7|n<<9)&8191,this.r[4]=(n>>>4|o<<12)&255,this.r[5]=o>>>1&8190,this.r[6]=(o>>>14|s<<2)&8191,this.r[7]=(s>>>11|a<<5)&8065,this.r[8]=(a>>>8|c<<8)&8191,this.r[9]=c>>>5&127;for(let l=0;l<8;l++)this.pad[l]=ir(e,16+2*l)}process(e,t,r=!1){let i=r?0:2048,{h:n,r:o}=this,s=o[0],a=o[1],c=o[2],l=o[3],u=o[4],d=o[5],p=o[6],m=o[7],y=o[8],g=o[9],b=ir(e,t+0),_=ir(e,t+2),A=ir(e,t+4),T=ir(e,t+6),z=ir(e,t+8),j=ir(e,t+10),E=ir(e,t+12),Z=ir(e,t+14),D=n[0]+(b&8191),H=n[1]+((b>>>13|_<<3)&8191),X=n[2]+((_>>>10|A<<6)&8191),M=n[3]+((A>>>7|T<<9)&8191),P=n[4]+((T>>>4|z<<12)&8191),N=n[5]+(z>>>1&8191),I=n[6]+((z>>>14|j<<2)&8191),R=n[7]+((j>>>11|E<<5)&8191),O=n[8]+((E>>>8|Z<<8)&8191),F=n[9]+(Z>>>5|i),L=0,V=L+D*s+H*(5*g)+X*(5*y)+M*(5*m)+P*(5*p);L=V>>>13,V&=8191,V+=N*(5*d)+I*(5*u)+R*(5*l)+O*(5*c)+F*(5*a),L+=V>>>13,V&=8191;let k=L+D*a+H*s+X*(5*g)+M*(5*y)+P*(5*m);L=k>>>13,k&=8191,k+=N*(5*p)+I*(5*d)+R*(5*u)+O*(5*l)+F*(5*c),L+=k>>>13,k&=8191;let re=L+D*c+H*a+X*s+M*(5*g)+P*(5*y);L=re>>>13,re&=8191,re+=N*(5*m)+I*(5*p)+R*(5*d)+O*(5*u)+F*(5*l),L+=re>>>13,re&=8191;let de=L+D*l+H*c+X*a+M*s+P*(5*g);L=de>>>13,de&=8191,de+=N*(5*y)+I*(5*m)+R*(5*p)+O*(5*d)+F*(5*u),L+=de>>>13,de&=8191;let C=L+D*u+H*l+X*c+M*a+P*s;L=C>>>13,C&=8191,C+=N*(5*g)+I*(5*y)+R*(5*m)+O*(5*p)+F*(5*d),L+=C>>>13,C&=8191;let xe=L+D*d+H*u+X*l+M*c+P*a;L=xe>>>13,xe&=8191,xe+=N*s+I*(5*g)+R*(5*y)+O*(5*m)+F*(5*p),L+=xe>>>13,xe&=8191;let Ee=L+D*p+H*d+X*u+M*l+P*c;L=Ee>>>13,Ee&=8191,Ee+=N*a+I*s+R*(5*g)+O*(5*y)+F*(5*m),L+=Ee>>>13,Ee&=8191;let Ce=L+D*m+H*p+X*d+M*u+P*l;L=Ce>>>13,Ce&=8191,Ce+=N*c+I*a+R*s+O*(5*g)+F*(5*y),L+=Ce>>>13,Ce&=8191;let $e=L+D*y+H*m+X*p+M*d+P*u;L=$e>>>13,$e&=8191,$e+=N*l+I*c+R*a+O*s+F*(5*g),L+=$e>>>13,$e&=8191;let _e=L+D*g+H*y+X*m+M*p+P*d;L=_e>>>13,_e&=8191,_e+=N*u+I*l+R*c+O*a+F*s,L+=_e>>>13,_e&=8191,L=(L<<2)+L|0,L=L+V|0,V=L&8191,L=L>>>13,k+=L,n[0]=V,n[1]=k,n[2]=re,n[3]=de,n[4]=C,n[5]=xe,n[6]=Ee,n[7]=Ce,n[8]=$e,n[9]=_e}finalize(){let{h:e,pad:t}=this,r=new Uint16Array(10),i=e[1]>>>13;e[1]&=8191;for(let s=2;s<10;s++)e[s]+=i,i=e[s]>>>13,e[s]&=8191;e[0]+=i*5,i=e[0]>>>13,e[0]&=8191,e[1]+=i,i=e[1]>>>13,e[1]&=8191,e[2]+=i,r[0]=e[0]+5,i=r[0]>>>13,r[0]&=8191;for(let s=1;s<10;s++)r[s]=e[s]+i,i=r[s]>>>13,r[s]&=8191;r[9]-=8192;let n=(i^1)-1;for(let s=0;s<10;s++)r[s]&=n;n=~n;for(let s=0;s<10;s++)e[s]=e[s]&n|r[s];e[0]=(e[0]|e[1]<<13)&65535,e[1]=(e[1]>>>3|e[2]<<10)&65535,e[2]=(e[2]>>>6|e[3]<<7)&65535,e[3]=(e[3]>>>9|e[4]<<4)&65535,e[4]=(e[4]>>>12|e[5]<<1|e[6]<<14)&65535,e[5]=(e[6]>>>2|e[7]<<11)&65535,e[6]=(e[7]>>>5|e[8]<<8)&65535,e[7]=(e[8]>>>8|e[9]<<5)&65535;let o=e[0]+t[0];e[0]=o&65535;for(let s=1;s<8;s++)o=(e[s]+t[s]|0)+(o>>>16)|0,e[s]=o&65535;Pn(r)}update(e){lS(this),Mt(e),e=lc(e);let{buffer:t,blockLen:r}=this,i=e.length;for(let n=0;n<i;){let o=Math.min(r-this.pos,i-n);if(o===r){for(;r<=i-n;n+=r)this.process(e,n);continue}if(t.set(e.subarray(n,n+o),this.pos),this.pos+=o,n+=o,this.pos===r)this.process(t,0,!1),this.pos=0}return this}destroy(){this.destroyed=!0,Pn(this.h,this.r,this.buffer,this.pad)}digestInto(e){lS(this),UR(e,this),this.finished=!0;let{buffer:t,h:r}=this,{pos:i}=this;if(i){t[i++]=1;for(;i<16;i++)t[i]=0;this.process(t,0,!0)}this.finalize();let n=0;for(let o=0;o<8;o++)e[n++]=r[o]>>>0,e[n++]=r[o]>>>8}digest(){let{buffer:e,outputLen:t}=this;this.digestInto(e);let r=e.slice(0,t);return this.destroy(),r}}var QR=ZR(32,(e)=>new GR(e));function MW(e,t,r,i,n,o=20){let s=e[0],a=e[1],c=e[2],l=e[3],u=t[0],d=t[1],p=t[2],m=t[3],y=t[4],g=t[5],b=t[6],_=t[7],A=n,T=r[0],z=r[1],j=r[2],E=s,Z=a,D=c,H=l,X=u,M=d,P=p,N=m,I=y,R=g,O=b,F=_,L=A,V=T,k=z,re=j;for(let C=0;C<o;C+=2)E=E+X|0,L=et(L^E,16),I=I+L|0,X=et(X^I,12),E=E+X|0,L=et(L^E,8),I=I+L|0,X=et(X^I,7),Z=Z+M|0,V=et(V^Z,16),R=R+V|0,M=et(M^R,12),Z=Z+M|0,V=et(V^Z,8),R=R+V|0,M=et(M^R,7),D=D+P|0,k=et(k^D,16),O=O+k|0,P=et(P^O,12),D=D+P|0,k=et(k^D,8),O=O+k|0,P=et(P^O,7),H=H+N|0,re=et(re^H,16),F=F+re|0,N=et(N^F,12),H=H+N|0,re=et(re^H,8),F=F+re|0,N=et(N^F,7),E=E+M|0,re=et(re^E,16),O=O+re|0,M=et(M^O,12),E=E+M|0,re=et(re^E,8),O=O+re|0,M=et(M^O,7),Z=Z+P|0,L=et(L^Z,16),F=F+L|0,P=et(P^F,12),Z=Z+P|0,L=et(L^Z,8),F=F+L|0,P=et(P^F,7),D=D+N|0,V=et(V^D,16),I=I+V|0,N=et(N^I,12),D=D+N|0,V=et(V^D,8),I=I+V|0,N=et(N^I,7),H=H+X|0,k=et(k^H,16),R=R+k|0,X=et(X^R,12),H=H+X|0,k=et(k^H,8),R=R+k|0,X=et(X^R,7);let de=0;i[de++]=s+E|0,i[de++]=a+Z|0,i[de++]=c+D|0,i[de++]=l+H|0,i[de++]=u+X|0,i[de++]=d+M|0,i[de++]=p+P|0,i[de++]=m+N|0,i[de++]=y+I|0,i[de++]=g+R|0,i[de++]=b+O|0,i[de++]=_+F|0,i[de++]=A+L|0,i[de++]=T+V|0,i[de++]=z+k|0,i[de++]=j+re|0}var FW=WR(MW,{counterRight:!1,counterLength:4,allowShortKeys:!1});var ZW=new Uint8Array(16),YR=(e,t)=>{e.update(t);let r=t.length%16;if(r)e.update(ZW.subarray(r))},HW=new Uint8Array(32);function XR(e,t,r,i,n){if(n!==void 0)Mt(n,void 0,"AAD");let o=e(t,r,HW),s=KR(i.length,n?n.length:0,!0),a=QR.create(o);if(n)YR(a,n);YR(a,i),a.update(s);let c=a.digest();return Pn(o,s),c}var KW=(e)=>(t,r,i)=>({encrypt(o,s){let a=o.length;s=qu(a+16,s,!1),s.set(o);let c=s.subarray(0,-16);e(t,r,c,c,1);let l=XR(e,t,r,c,i);return s.set(l,a),Pn(l),s},decrypt(o,s){s=qu(o.length-16,s,!1);let a=o.subarray(0,-16),c=o.subarray(-16),l=XR(e,t,r,a,i);if(!FR(c,l))throw Pn(l),Error("invalid tag");return s.set(o.subarray(0,-16)),e(t,r,s,s,1),Pn(l),s}}),gn=HR({blockSize:64,nonceLength:12,tagLength:16},KW(FW));/*! noble-hashes - MIT License (c) 2022 Paul Miller (paulmillr.com) */function uc(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&e.constructor.name==="Uint8Array"}function Wt(e,t=""){if(!Number.isSafeInteger(e)||e<0){let r=t&&`"${t}" `;throw Error(`${r}expected integer >= 0, got ${e}`)}}function Pe(e,t,r=""){let i=uc(e),n=e?.length,o=t!==void 0;if(!i||o&&n!==t){let s=r&&`"${r}" `,a=o?` of length ${t}`:"",c=i?`length=${n}`:`type=${typeof e}`;throw Error(s+"expected Uint8Array"+a+", got "+c)}return e}function yn(e){if(typeof e!=="function"||typeof e.create!=="function")throw Error("Hash must wrapped by utils.createHasher");Wt(e.outputLen),Wt(e.blockLen)}function Pi(e,t=!0){if(e.destroyed)throw Error("Hash instance has been destroyed");if(t&&e.finished)throw Error("Hash#digest() has already been called")}function fm(e,t){Pe(e,void 0,"digestInto() output");let r=t.outputLen;if(e.length<r)throw Error('"digestInto() output" expected to be of length >='+r)}function pm(e){return new Uint32Array(e.buffer,e.byteOffset,Math.floor(e.byteLength/4))}function Mr(...e){for(let t=0;t<e.length;t++)e[t].fill(0)}function mm(e){return new DataView(e.buffer,e.byteOffset,e.byteLength)}function zn(e,t){return e<<32-t|e>>>t}var JW=(()=>new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68)();function VW(e){return e<<24&4278190080|e<<8&16711680|e>>>8&65280|e>>>24&255}function WW(e){for(let t=0;t<e.length;t++)e[t]=VW(e[t]);return e}var dS=JW?(e)=>e:WW,tP=(()=>typeof Uint8Array.from([]).toHex==="function"&&typeof Uint8Array.fromHex==="function")(),GW=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,"0"));function zs(e){if(Pe(e),tP)return e.toHex();let t="";for(let r=0;r<e.length;r++)t+=GW[e[r]];return t}var Ri={_0:48,_9:57,A:65,F:70,a:97,f:102};function eP(e){if(e>=Ri._0&&e<=Ri._9)return e-Ri._0;if(e>=Ri.A&&e<=Ri.F)return e-(Ri.A-10);if(e>=Ri.a&&e<=Ri.f)return e-(Ri.a-10);return}function Ns(e){if(typeof e!=="string")throw Error("hex string expected, got "+typeof e);if(tP)return Uint8Array.fromHex(e);let t=e.length,r=t/2;if(t%2)throw Error("hex string expected, got unpadded hex of length "+t);let i=new Uint8Array(r);for(let n=0,o=0;n<r;n++,o+=2){let s=eP(e.charCodeAt(o)),a=eP(e.charCodeAt(o+1));if(s===void 0||a===void 0){let c=e[o]+e[o+1];throw Error('hex string expected, got non-hex character "'+c+'" at index '+o)}i[n]=s*16+a}return i}function Lt(...e){let t=0;for(let i=0;i<e.length;i++){let n=e[i];Pe(n),t+=n.length}let r=new Uint8Array(t);for(let i=0,n=0;i<e.length;i++){let o=e[i];r.set(o,n),n+=o.length}return r}function dc(e,t={}){let r=(n,o)=>e(o).update(n).digest(),i=e(void 0);return r.outputLen=i.outputLen,r.blockLen=i.blockLen,r.create=(n)=>e(n),Object.assign(r,t),Object.freeze(r)}function So(e=32){let t=typeof globalThis==="object"?globalThis.crypto:null;if(typeof t?.getRandomValues!=="function")throw Error("crypto.getRandomValues must be defined");return t.getRandomValues(new Uint8Array(e))}var wo=(e)=>({oid:Uint8Array.from([6,9,96,134,72,1,101,3,4,2,e])});/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */var pS=BigInt(0),fS=BigInt(1);function Mu(e,t=""){if(typeof e!=="boolean"){let r=t&&`"${t}" `;throw Error(r+"expected boolean, got type="+typeof e)}return e}function rP(e){if(typeof e==="bigint"){if(!hm(e))throw Error("positive bigint expected, got "+e)}else Wt(e);return e}function Fu(e){let t=rP(e).toString(16);return t.length&1?"0"+t:t}function nP(e){if(typeof e!=="string")throw Error("hex string expected, got "+typeof e);return e===""?pS:BigInt("0x"+e)}function vo(e){return nP(zs(e))}function _o(e){return nP(zs(gm(Pe(e)).reverse()))}function fc(e,t){Wt(t),e=rP(e);let r=Ns(e.toString(16).padStart(t*2,"0"));if(r.length!==t)throw Error("number too large");return r}function Zu(e,t){return fc(e,t).reverse()}function gm(e){return Uint8Array.from(e)}function ko(e){return Uint8Array.from(e,(t,r)=>{let i=t.charCodeAt(0);if(t.length!==1||i>127)throw Error(`string contains non-ASCII character "${e[r]}" with code ${i} at position ${r}`);return i})}var hm=(e)=>typeof e==="bigint"&&pS<=e;function QW(e,t,r){return hm(e)&&hm(t)&&hm(r)&&t<=e&&e<r}function Hu(e,t,r,i){if(!QW(t,r,i))throw Error("expected valid "+e+": "+r+" <= n < "+i+", got "+t)}function mS(e){let t;for(t=0;e>pS;e>>=fS,t+=1);return t}var Ku=(e)=>(fS<<BigInt(e))-fS;function iP(e,t,r){if(Wt(e,"hashLen"),Wt(t,"qByteLen"),typeof r!=="function")throw Error("hmacFn must be a function");let i=(b)=>new Uint8Array(b),n=Uint8Array.of(),o=Uint8Array.of(0),s=Uint8Array.of(1),a=1000,c=i(e),l=i(e),u=0,d=()=>{c.fill(1),l.fill(0),u=0},p=(...b)=>r(l,Lt(c,...b)),m=(b=n)=>{if(l=p(o,b),c=p(),b.length===0)return;l=p(s,b),c=p()},y=()=>{if(u++>=a)throw Error("drbg: tried max amount of iterations");let b=0,_=[];while(b<t){c=p();let A=c.slice();_.push(A),b+=c.length}return Lt(..._)};return(b,_)=>{d(),m(b);let A=void 0;while(!(A=_(y())))m();return d(),A}}function Ds(e,t={},r={}){if(!e||typeof e!=="object")throw Error("expected valid options object");function i(o,s,a){let c=e[o];if(a&&c===void 0)return;let l=typeof c;if(l!==s||c===null)throw Error(`param "${o}" is invalid: expected ${s}, got ${l}`)}let n=(o,s)=>Object.entries(o).forEach(([a,c])=>i(a,c,s));n(t,!1),n(r,!0)}function hS(e){let t=new WeakMap;return(r,...i)=>{let n=t.get(r);if(n!==void 0)return n;let o=e(r,...i);return t.set(r,o),o}}/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */var Cr=BigInt(0),yr=BigInt(1),Ls=BigInt(2),aP=BigInt(3),cP=BigInt(4),lP=BigInt(5),YW=BigInt(7),uP=BigInt(8),XW=BigInt(9),dP=BigInt(16);function Tr(e,t){let r=e%t;return r>=Cr?r:t+r}function bn(e,t,r){let i=e;while(t-- >Cr)i*=i,i%=r;return i}function oP(e,t){if(e===Cr)throw Error("invert: expected non-zero number");if(t<=Cr)throw Error("invert: expected positive modulus, got "+t);let r=Tr(e,t),i=t,n=Cr,o=yr,s=yr,a=Cr;while(r!==Cr){let l=i/r,u=i%r,d=n-s*l,p=o-a*l;i=r,r=u,n=s,o=a,s=d,a=p}if(i!==yr)throw Error("invert: does not exist");return Tr(n,t)}function gS(e,t,r){if(!e.eql(e.sqr(t),r))throw Error("Cannot find square root")}function fP(e,t){let r=(e.ORDER+yr)/cP,i=e.pow(t,r);return gS(e,i,t),i}function eG(e,t){let r=(e.ORDER-lP)/uP,i=e.mul(t,Ls),n=e.pow(i,r),o=e.mul(t,n),s=e.mul(e.mul(o,Ls),n),a=e.mul(o,e.sub(s,e.ONE));return gS(e,a,t),a}function tG(e){let t=ym(e),r=pP(e),i=r(t,t.neg(t.ONE)),n=r(t,i),o=r(t,t.neg(i)),s=(e+YW)/dP;return(a,c)=>{let l=a.pow(c,s),u=a.mul(l,i),d=a.mul(l,n),p=a.mul(l,o),m=a.eql(a.sqr(u),c),y=a.eql(a.sqr(d),c);l=a.cmov(l,u,m),u=a.cmov(p,d,y);let g=a.eql(a.sqr(u),c),b=a.cmov(l,u,g);return gS(a,b,c),b}}function pP(e){if(e<aP)throw Error("sqrt is not defined for small field");let t=e-yr,r=0;while(t%Ls===Cr)t/=Ls,r++;let i=Ls,n=ym(e);while(sP(n,i)===1)if(i++>1000)throw Error("Cannot find square root: probably non-prime P");if(r===1)return fP;let o=n.pow(i,t),s=(t+yr)/Ls;return function(c,l){if(c.is0(l))return l;if(sP(c,l)!==1)throw Error("Cannot find square root");let u=r,d=c.mul(c.ONE,o),p=c.pow(l,t),m=c.pow(l,s);while(!c.eql(p,c.ONE)){if(c.is0(p))return c.ZERO;let y=1,g=c.sqr(p);while(!c.eql(g,c.ONE))if(y++,g=c.sqr(g),y===u)throw Error("Cannot find square root");let b=yr<<BigInt(u-y-1),_=c.pow(d,b);u=y,d=c.sqr(_),p=c.mul(p,d),m=c.mul(m,_)}return m}}function rG(e){if(e%cP===aP)return fP;if(e%uP===lP)return eG;if(e%dP===XW)return tG(e);return pP(e)}var nG=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function yS(e){let t={ORDER:"bigint",BYTES:"number",BITS:"number"},r=nG.reduce((i,n)=>(i[n]="function",i),t);return Ds(e,r),e}function iG(e,t,r){if(r<Cr)throw Error("invalid exponent, negatives unsupported");if(r===Cr)return e.ONE;if(r===yr)return t;let i=e.ONE,n=t;while(r>Cr){if(r&yr)i=e.mul(i,n);n=e.sqr(n),r>>=yr}return i}function Ju(e,t,r=!1){let i=Array(t.length).fill(r?e.ZERO:void 0),n=t.reduce((s,a,c)=>{if(e.is0(a))return s;return i[c]=s,e.mul(s,a)},e.ONE),o=e.inv(n);return t.reduceRight((s,a,c)=>{if(e.is0(a))return s;return i[c]=e.mul(s,i[c]),e.mul(s,a)},o),i}function sP(e,t){let r=(e.ORDER-yr)/Ls,i=e.pow(t,r),n=e.eql(i,e.ONE),o=e.eql(i,e.ZERO),s=e.eql(i,e.neg(e.ONE));if(!n&&!o&&!s)throw Error("invalid Legendre symbol result");return n?1:o?0:-1}function oG(e,t){if(t!==void 0)Wt(t);let r=t!==void 0?t:e.toString(2).length,i=Math.ceil(r/8);return{nBitLength:r,nByteLength:i}}class mP{ORDER;BITS;BYTES;isLE;ZERO=Cr;ONE=yr;_lengths;_sqrt;_mod;constructor(e,t={}){if(e<=Cr)throw Error("invalid field: expected ORDER > 0, got "+e);let r=void 0;if(this.isLE=!1,t!=null&&typeof t==="object"){if(typeof t.BITS==="number")r=t.BITS;if(typeof t.sqrt==="function")this.sqrt=t.sqrt;if(typeof t.isLE==="boolean")this.isLE=t.isLE;if(t.allowedLengths)this._lengths=t.allowedLengths?.slice();if(typeof t.modFromBytes==="boolean")this._mod=t.modFromBytes}let{nBitLength:i,nByteLength:n}=oG(e,r);if(n>2048)throw Error("invalid field: expected ORDER of <= 2048 bytes");this.ORDER=e,this.BITS=i,this.BYTES=n,this._sqrt=void 0,Object.preventExtensions(this)}create(e){return Tr(e,this.ORDER)}isValid(e){if(typeof e!=="bigint")throw Error("invalid field element: expected bigint, got "+typeof e);return Cr<=e&&e<this.ORDER}is0(e){return e===Cr}isValidNot0(e){return!this.is0(e)&&this.isValid(e)}isOdd(e){return(e&yr)===yr}neg(e){return Tr(-e,this.ORDER)}eql(e,t){return e===t}sqr(e){return Tr(e*e,this.ORDER)}add(e,t){return Tr(e+t,this.ORDER)}sub(e,t){return Tr(e-t,this.ORDER)}mul(e,t){return Tr(e*t,this.ORDER)}pow(e,t){return iG(this,e,t)}div(e,t){return Tr(e*oP(t,this.ORDER),this.ORDER)}sqrN(e){return e*e}addN(e,t){return e+t}subN(e,t){return e-t}mulN(e,t){return e*t}inv(e){return oP(e,this.ORDER)}sqrt(e){if(!this._sqrt)this._sqrt=rG(this.ORDER);return this._sqrt(this,e)}toBytes(e){return this.isLE?Zu(e,this.BYTES):fc(e,this.BYTES)}fromBytes(e,t=!1){Pe(e);let{_lengths:r,BYTES:i,isLE:n,ORDER:o,_mod:s}=this;if(r){if(!r.includes(e.length)||e.length>i)throw Error("Field.fromBytes: expected "+r+" bytes, got "+e.length);let c=new Uint8Array(i);c.set(e,n?0:c.length-e.length),e=c}if(e.length!==i)throw Error("Field.fromBytes: expected "+i+" bytes, got "+e.length);let a=n?_o(e):vo(e);if(s)a=Tr(a,o);if(!t){if(!this.isValid(a))throw Error("invalid field element: outside of range 0..ORDER")}return a}invertBatch(e){return Ju(this,e)}cmov(e,t,r){return r?t:e}}function ym(e,t={}){return new mP(e,t)}function hP(e){if(typeof e!=="bigint")throw Error("field order must be bigint");let t=e.toString(2).length;return Math.ceil(t/8)}function bS(e){let t=hP(e);return t+Math.ceil(t/2)}function gP(e,t,r=!1){Pe(e);let i=e.length,n=hP(t),o=bS(t);if(i<16||i<o||i>1024)throw Error("expected "+o+"-1024 bytes of input, got "+i);let s=r?_o(e):vo(e),a=Tr(s,t-yr)+yr;return r?Zu(a,n):fc(a,n)}/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */var pc=BigInt(0),Bs=BigInt(1);function Vu(e,t){let r=t.negate();return e?r:t}function vS(e,t){let r=Ju(e.Fp,t.map((i)=>i.Z));return t.map((i,n)=>e.fromAffine(i.toAffine(r[n])))}function SP(e,t){if(!Number.isSafeInteger(e)||e<=0||e>t)throw Error("invalid window size, expected [1.."+t+"], got W="+e)}function xS(e,t){SP(e,t);let r=Math.ceil(t/e)+1,i=2**(e-1),n=2**e,o=Ku(e),s=BigInt(e);return{windows:r,windowSize:i,mask:o,maxNumber:n,shiftBy:s}}function yP(e,t,r){let{windowSize:i,mask:n,maxNumber:o,shiftBy:s}=r,a=Number(e&n),c=e>>s;if(a>i)a-=o,c+=Bs;let l=t*i,u=l+Math.abs(a)-1,d=a===0,p=a<0,m=t%2!==0;return{nextN:c,offset:u,isZero:d,isNeg:p,isNegF:m,offsetF:l}}var SS=new WeakMap,wP=new WeakMap;function wS(e){return wP.get(e)||1}function bP(e){if(e!==pc)throw Error("invalid wNAF")}class _S{BASE;ZERO;Fn;bits;constructor(e,t){this.BASE=e.BASE,this.ZERO=e.ZERO,this.Fn=e.Fn,this.bits=t}_unsafeLadder(e,t,r=this.ZERO){let i=e;while(t>pc){if(t&Bs)r=r.add(i);i=i.double(),t>>=Bs}return r}precomputeWindow(e,t){let{windows:r,windowSize:i}=xS(t,this.bits),n=[],o=e,s=o;for(let a=0;a<r;a++){s=o,n.push(s);for(let c=1;c<i;c++)s=s.add(o),n.push(s);o=s.double()}return n}wNAF(e,t,r){if(!this.Fn.isValid(r))throw Error("invalid scalar");let i=this.ZERO,n=this.BASE,o=xS(e,this.bits);for(let s=0;s<o.windows;s++){let{nextN:a,offset:c,isZero:l,isNeg:u,isNegF:d,offsetF:p}=yP(r,s,o);if(r=a,l)n=n.add(Vu(d,t[p]));else i=i.add(Vu(u,t[c]))}return bP(r),{p:i,f:n}}wNAFUnsafe(e,t,r,i=this.ZERO){let n=xS(e,this.bits);for(let o=0;o<n.windows;o++){if(r===pc)break;let{nextN:s,offset:a,isZero:c,isNeg:l}=yP(r,o,n);if(r=s,c)continue;else{let u=t[a];i=i.add(l?u.negate():u)}}return bP(r),i}getPrecomputes(e,t,r){let i=SS.get(t);if(!i){if(i=this.precomputeWindow(t,e),e!==1){if(typeof r==="function")i=r(i);SS.set(t,i)}}return i}cached(e,t,r){let i=wS(e);return this.wNAF(i,this.getPrecomputes(i,e,r),t)}unsafe(e,t,r,i){let n=wS(e);if(n===1)return this._unsafeLadder(e,t,i);return this.wNAFUnsafe(n,this.getPrecomputes(n,e,r),t,i)}createCache(e,t){SP(t,this.bits),wP.set(e,t),SS.delete(e)}hasCache(e){return wS(e)!==1}}function vP(e,t,r,i){let n=t,o=e.ZERO,s=e.ZERO;while(r>pc||i>pc){if(r&Bs)o=o.add(n);if(i&Bs)s=s.add(n);n=n.double(),r>>=Bs,i>>=Bs}return{p1:o,p2:s}}function xP(e,t,r){if(t){if(t.ORDER!==e)throw Error("Field.ORDER must match order: Fp == p, Fn == n");return yS(t),t}else return ym(e,{isLE:r})}function _P(e,t,r={},i){if(i===void 0)i=e==="edwards";if(!t||typeof t!=="object")throw Error(`expected valid ${e} CURVE object`);for(let c of["p","n","h"]){let l=t[c];if(!(typeof l==="bigint"&&l>pc))throw Error(`CURVE.${c} must be positive bigint`)}let n=xP(t.p,r.Fp,i),o=xP(t.n,r.Fn,i),a=["Gx","Gy","a",e==="weierstrass"?"b":"d"];for(let c of a)if(!n.isValid(t[c]))throw Error(`CURVE.${c} must be valid field element of CURVE.Fp`);return t=Object.freeze(Object.assign({},t)),{CURVE:t,Fp:n,Fn:o}}function bm(e,t){return function(i){let n=e(i);return{secretKey:n,publicKey:t(n)}}}/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */var Wu=BigInt(0),mc=BigInt(1),xm=BigInt(2);function sG(e){return Ds(e,{adjustScalarBytes:"function",powPminus2:"function"}),Object.freeze({...e})}function kP(e){let t=sG(e),{P:r,type:i,adjustScalarBytes:n,powPminus2:o,randomBytes:s}=t,a=i==="x25519";if(!a&&i!=="x448")throw Error("invalid type");let c=s||So,l=a?255:448,u=a?32:56,d=a?BigInt(9):BigInt(5),p=a?BigInt(121665):BigInt(39081),m=a?xm**BigInt(254):xm**BigInt(447),y=a?BigInt(8)*xm**BigInt(251)-mc:BigInt(4)*xm**BigInt(445)-mc,g=m+y+mc,b=(I)=>Tr(I,r),_=A(d);function A(I){return Zu(b(I),u)}function T(I){let R=gm(Pe(I,u,"uCoordinate"));if(a)R[31]&=127;return b(_o(R))}function z(I){return _o(n(gm(Pe(I,u,"scalar"))))}function j(I,R){let O=X(T(R),z(I));if(O===Wu)throw Error("invalid private or public key received");return A(O)}function E(I){return j(I,_)}let Z=E,D=j;function H(I,R,O){let F=b(I*(R-O));return R=b(R-F),O=b(O+F),{x_2:R,x_3:O}}function X(I,R){Hu("u",I,Wu,r),Hu("scalar",R,m,g);let O=R,F=I,L=mc,V=Wu,k=I,re=mc,de=Wu;for(let xe=BigInt(l-1);xe>=Wu;xe--){let Ee=O>>xe&mc;de^=Ee,{x_2:L,x_3:k}=H(de,L,k),{x_2:V,x_3:re}=H(de,V,re),de=Ee;let Ce=L+V,$e=b(Ce*Ce),_e=L-V,Ve=b(_e*_e),De=$e-Ve,Ye=k+re,mt=k-re,Dt=b(mt*Ce),hr=b(Ye*_e),Yr=Dt+hr,Xr=Dt-hr;k=b(Yr*Yr),re=b(F*b(Xr*Xr)),L=b($e*Ve),V=b(De*($e+b(p*De)))}({x_2:L,x_3:k}=H(de,L,k)),{x_2:V,x_3:re}=H(de,V,re);let C=o(V);return b(L*C)}let M={secretKey:u,publicKey:u,seed:u},P=(I=c(u))=>(Pe(I,M.seed,"seed"),I),N={randomSecretKey:P};return Object.freeze({keygen:bm(P,Z),getSharedSecret:D,getPublicKey:Z,scalarMult:j,scalarMultBase:E,utils:N,GuBytes:_.slice(),lengths:M})}class kS{oHash;iHash;blockLen;outputLen;finished=!1;destroyed=!1;constructor(e,t){if(yn(e),Pe(t,void 0,"key"),this.iHash=e.create(),typeof this.iHash.update!=="function")throw Error("Expected instance of class which extends utils.Hash");this.blockLen=this.iHash.blockLen,this.outputLen=this.iHash.outputLen;let r=this.blockLen,i=new Uint8Array(r);i.set(t.length>r?e.create().update(t).digest():t);for(let n=0;n<i.length;n++)i[n]^=54;this.iHash.update(i),this.oHash=e.create();for(let n=0;n<i.length;n++)i[n]^=106;this.oHash.update(i),Mr(i)}update(e){return Pi(this),this.iHash.update(e),this}digestInto(e){Pi(this),Pe(e,this.outputLen,"output"),this.finished=!0,this.iHash.digestInto(e),this.oHash.update(e),this.oHash.digestInto(e),this.destroy()}digest(){let e=new Uint8Array(this.oHash.outputLen);return this.digestInto(e),e}_cloneInto(e){e||=Object.create(Object.getPrototypeOf(this),{});let{oHash:t,iHash:r,finished:i,destroyed:n,blockLen:o,outputLen:s}=this;return e=e,e.finished=i,e.destroyed=n,e.blockLen=o,e.outputLen=s,e.oHash=t._cloneInto(e.oHash),e.iHash=r._cloneInto(e.iHash),e}clone(){return this._cloneInto()}destroy(){this.destroyed=!0,this.oHash.destroy(),this.iHash.destroy()}}var hc=(e,t,r)=>new kS(e,t).update(r).digest();hc.create=(e,t)=>new kS(e,t);/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */var EP=(e,t)=>(e+(e>=0?t:-t)/AP)/t;function aG(e,t,r){let[[i,n],[o,s]]=t,a=EP(s*e,r),c=EP(-n*e,r),l=e-a*i-c*o,u=-a*n-c*s,d=l<zi,p=u<zi;if(d)l=-l;if(p)u=-u;let m=Ku(Math.ceil(mS(r)/2))+gc;if(l<zi||l>=m||u<zi||u>=m)throw Error("splitScalar (endomorphism): failed, k="+e);return{k1neg:d,k1:l,k2neg:p,k2:u}}function IS(e){if(!["compact","recovered","der"].includes(e))throw Error('Signature format must be "compact", "recovered", or "der"');return e}function ES(e,t){let r={};for(let i of Object.keys(t))r[i]=e[i]===void 0?t[i]:e[i];if(Mu(r.lowS,"lowS"),Mu(r.prehash,"prehash"),r.format!==void 0)IS(r.format);return r}class IP extends Error{constructor(e=""){super(e)}}var Eo={Err:IP,_tlv:{encode:(e,t)=>{let{Err:r}=Eo;if(e<0||e>256)throw new r("tlv.encode: wrong tag");if(t.length&1)throw new r("tlv.encode: unpadded data");let i=t.length/2,n=Fu(i);if(n.length/2&128)throw new r("tlv.encode: long form length too big");let o=i>127?Fu(n.length/2|128):"";return Fu(e)+o+n+t},decode(e,t){let{Err:r}=Eo,i=0;if(e<0||e>256)throw new r("tlv.encode: wrong tag");if(t.length<2||t[i++]!==e)throw new r("tlv.decode: wrong tlv");let n=t[i++],o=!!(n&128),s=0;if(!o)s=n;else{let c=n&127;if(!c)throw new r("tlv.decode(long): indefinite length not supported");if(c>4)throw new r("tlv.decode(long): byte length is too big");let l=t.subarray(i,i+c);if(l.length!==c)throw new r("tlv.decode: length bytes not complete");if(l[0]===0)throw new r("tlv.decode(long): zero leftmost byte");for(let u of l)s=s<<8|u;if(i+=c,s<128)throw new r("tlv.decode(long): not minimal encoding")}let a=t.subarray(i,i+s);if(a.length!==s)throw new r("tlv.decode: wrong value length");return{v:a,l:t.subarray(i+s)}}},_int:{encode(e){let{Err:t}=Eo;if(e<zi)throw new t("integer: negative integers are not allowed");let r=Fu(e);if(Number.parseInt(r[0],16)&8)r="00"+r;if(r.length&1)throw new t("unexpected DER parsing assertion: unpadded hex");return r},decode(e){let{Err:t}=Eo;if(e[0]&128)throw new t("invalid signature integer: negative");if(e[0]===0&&!(e[1]&128))throw new t("invalid signature integer: unnecessary leading zero");return vo(e)}},toSig(e){let{Err:t,_int:r,_tlv:i}=Eo,n=Pe(e,void 0,"signature"),{v:o,l:s}=i.decode(48,n);if(s.length)throw new t("invalid signature: left bytes after parsing");let{v:a,l:c}=i.decode(2,o),{v:l,l:u}=i.decode(2,c);if(u.length)throw new t("invalid signature: left bytes after parsing");return{r:r.decode(a),s:r.decode(l)}},hexFromSig(e){let{_tlv:t,_int:r}=Eo,i=t.encode(2,r.encode(e.r)),n=t.encode(2,r.encode(e.s)),o=i+n;return t.encode(48,o)}},zi=BigInt(0),gc=BigInt(1),AP=BigInt(2),Sm=BigInt(3),cG=BigInt(4);function AS(e,t={}){let r=_P("weierstrass",e,t),{Fp:i,Fn:n}=r,o=r.CURVE,{h:s,n:a}=o;Ds(t,{},{allowInfinityPoint:"boolean",clearCofactor:"function",isTorsionFree:"function",fromBytes:"function",toBytes:"function",endo:"object"});let{endo:c}=t;if(c){if(!i.is0(o.a)||typeof c.beta!=="bigint"||!Array.isArray(c.basises))throw Error('invalid endo: expected "beta": bigint and "basises": array')}let l=CP(i,n);function u(){if(!i.isOdd)throw Error("compression is not supported: Field does not have .isOdd()")}function d(P,N,I){let{x:R,y:O}=N.toAffine(),F=i.toBytes(R);if(Mu(I,"isCompressed"),I){u();let L=!i.isOdd(O);return Lt(TP(L),F)}else return Lt(Uint8Array.of(4),F,i.toBytes(O))}function p(P){Pe(P,void 0,"Point");let{publicKey:N,publicKeyUncompressed:I}=l,R=P.length,O=P[0],F=P.subarray(1);if(R===N&&(O===2||O===3)){let L=i.fromBytes(F);if(!i.isValid(L))throw Error("bad point: is not on curve, wrong x");let V=g(L),k;try{k=i.sqrt(V)}catch(C){let xe=C instanceof Error?": "+C.message:"";throw Error("bad point: is not on curve, sqrt error"+xe)}u();let re=i.isOdd(k);if((O&1)===1!==re)k=i.neg(k);return{x:L,y:k}}else if(R===I&&O===4){let L=i.BYTES,V=i.fromBytes(F.subarray(0,L)),k=i.fromBytes(F.subarray(L,L*2));if(!b(V,k))throw Error("bad point: is not on curve");return{x:V,y:k}}else throw Error(`bad point: got length ${R}, expected compressed=${N} or uncompressed=${I}`)}let m=t.toBytes||d,y=t.fromBytes||p;function g(P){let N=i.sqr(P),I=i.mul(N,P);return i.add(i.add(I,i.mul(P,o.a)),o.b)}function b(P,N){let I=i.sqr(N),R=g(P);return i.eql(I,R)}if(!b(o.Gx,o.Gy))throw Error("bad curve params: generator point");let _=i.mul(i.pow(o.a,Sm),cG),A=i.mul(i.sqr(o.b),BigInt(27));if(i.is0(i.add(_,A)))throw Error("bad curve params: a or b");function T(P,N,I=!1){if(!i.isValid(N)||I&&i.is0(N))throw Error(`bad point coordinate ${P}`);return N}function z(P){if(!(P instanceof H))throw Error("Weierstrass Point expected")}function j(P){if(!c||!c.basises)throw Error("no endo");return aG(P,c.basises,n.ORDER)}let E=hS((P,N)=>{let{X:I,Y:R,Z:O}=P;if(i.eql(O,i.ONE))return{x:I,y:R};let F=P.is0();if(N==null)N=F?i.ONE:i.inv(O);let L=i.mul(I,N),V=i.mul(R,N),k=i.mul(O,N);if(F)return{x:i.ZERO,y:i.ZERO};if(!i.eql(k,i.ONE))throw Error("invZ was invalid");return{x:L,y:V}}),Z=hS((P)=>{if(P.is0()){if(t.allowInfinityPoint&&!i.is0(P.Y))return;throw Error("bad point: ZERO")}let{x:N,y:I}=P.toAffine();if(!i.isValid(N)||!i.isValid(I))throw Error("bad point: x or y not field elements");if(!b(N,I))throw Error("bad point: equation left != right");if(!P.isTorsionFree())throw Error("bad point: not in prime-order subgroup");return!0});function D(P,N,I,R,O){return I=new H(i.mul(I.X,P),I.Y,I.Z),N=Vu(R,N),I=Vu(O,I),N.add(I)}class H{static BASE=new H(o.Gx,o.Gy,i.ONE);static ZERO=new H(i.ZERO,i.ONE,i.ZERO);static Fp=i;static Fn=n;X;Y;Z;constructor(P,N,I){this.X=T("x",P),this.Y=T("y",N,!0),this.Z=T("z",I),Object.freeze(this)}static CURVE(){return o}static fromAffine(P){let{x:N,y:I}=P||{};if(!P||!i.isValid(N)||!i.isValid(I))throw Error("invalid affine point");if(P instanceof H)throw Error("projective point not allowed");if(i.is0(N)&&i.is0(I))return H.ZERO;return new H(N,I,i.ONE)}static fromBytes(P){let N=H.fromAffine(y(Pe(P,void 0,"point")));return N.assertValidity(),N}static fromHex(P){return H.fromBytes(Ns(P))}get x(){return this.toAffine().x}get y(){return this.toAffine().y}precompute(P=8,N=!0){if(M.createCache(this,P),!N)this.multiply(Sm);return this}assertValidity(){Z(this)}hasEvenY(){let{y:P}=this.toAffine();if(!i.isOdd)throw Error("Field doesn't support isOdd");return!i.isOdd(P)}equals(P){z(P);let{X:N,Y:I,Z:R}=this,{X:O,Y:F,Z:L}=P,V=i.eql(i.mul(N,L),i.mul(O,R)),k=i.eql(i.mul(I,L),i.mul(F,R));return V&&k}negate(){return new H(this.X,i.neg(this.Y),this.Z)}double(){let{a:P,b:N}=o,I=i.mul(N,Sm),{X:R,Y:O,Z:F}=this,L=i.ZERO,V=i.ZERO,k=i.ZERO,re=i.mul(R,R),de=i.mul(O,O),C=i.mul(F,F),xe=i.mul(R,O);return xe=i.add(xe,xe),k=i.mul(R,F),k=i.add(k,k),L=i.mul(P,k),V=i.mul(I,C),V=i.add(L,V),L=i.sub(de,V),V=i.add(de,V),V=i.mul(L,V),L=i.mul(xe,L),k=i.mul(I,k),C=i.mul(P,C),xe=i.sub(re,C),xe=i.mul(P,xe),xe=i.add(xe,k),k=i.add(re,re),re=i.add(k,re),re=i.add(re,C),re=i.mul(re,xe),V=i.add(V,re),C=i.mul(O,F),C=i.add(C,C),re=i.mul(C,xe),L=i.sub(L,re),k=i.mul(C,de),k=i.add(k,k),k=i.add(k,k),new H(L,V,k)}add(P){z(P);let{X:N,Y:I,Z:R}=this,{X:O,Y:F,Z:L}=P,V=i.ZERO,k=i.ZERO,re=i.ZERO,de=o.a,C=i.mul(o.b,Sm),xe=i.mul(N,O),Ee=i.mul(I,F),Ce=i.mul(R,L),$e=i.add(N,I),_e=i.add(O,F);$e=i.mul($e,_e),_e=i.add(xe,Ee),$e=i.sub($e,_e),_e=i.add(N,R);let Ve=i.add(O,L);return _e=i.mul(_e,Ve),Ve=i.add(xe,Ce),_e=i.sub(_e,Ve),Ve=i.add(I,R),V=i.add(F,L),Ve=i.mul(Ve,V),V=i.add(Ee,Ce),Ve=i.sub(Ve,V),re=i.mul(de,_e),V=i.mul(C,Ce),re=i.add(V,re),V=i.sub(Ee,re),re=i.add(Ee,re),k=i.mul(V,re),Ee=i.add(xe,xe),Ee=i.add(Ee,xe),Ce=i.mul(de,Ce),_e=i.mul(C,_e),Ee=i.add(Ee,Ce),Ce=i.sub(xe,Ce),Ce=i.mul(de,Ce),_e=i.add(_e,Ce),xe=i.mul(Ee,_e),k=i.add(k,xe),xe=i.mul(Ve,_e),V=i.mul($e,V),V=i.sub(V,xe),xe=i.mul($e,Ee),re=i.mul(Ve,re),re=i.add(re,xe),new H(V,k,re)}subtract(P){return this.add(P.negate())}is0(){return this.equals(H.ZERO)}multiply(P){let{endo:N}=t;if(!n.isValidNot0(P))throw Error("invalid scalar: out of range");let I,R,O=(F)=>M.cached(this,F,(L)=>vS(H,L));if(N){let{k1neg:F,k1:L,k2neg:V,k2:k}=j(P),{p:re,f:de}=O(L),{p:C,f:xe}=O(k);R=de.add(xe),I=D(N.beta,re,C,F,V)}else{let{p:F,f:L}=O(P);I=F,R=L}return vS(H,[I,R])[0]}multiplyUnsafe(P){let{endo:N}=t,I=this;if(!n.isValid(P))throw Error("invalid scalar: out of range");if(P===zi||I.is0())return H.ZERO;if(P===gc)return I;if(M.hasCache(this))return this.multiply(P);if(N){let{k1neg:R,k1:O,k2neg:F,k2:L}=j(P),{p1:V,p2:k}=vP(H,I,O,L);return D(N.beta,V,k,R,F)}else return M.unsafe(I,P)}toAffine(P){return E(this,P)}isTorsionFree(){let{isTorsionFree:P}=t;if(s===gc)return!0;if(P)return P(H,this);return M.unsafe(this,a).is0()}clearCofactor(){let{clearCofactor:P}=t;if(s===gc)return this;if(P)return P(H,this);return this.multiplyUnsafe(s)}isSmallOrder(){return this.multiplyUnsafe(s).is0()}toBytes(P=!0){return Mu(P,"isCompressed"),this.assertValidity(),m(H,this,P)}toHex(P=!0){return zs(this.toBytes(P))}toString(){return`<Point ${this.is0()?"ZERO":this.toHex()}>`}}let X=n.BITS,M=new _S(H,t.endo?Math.ceil(X/2):X);return H.BASE.precompute(8),H}function TP(e){return Uint8Array.of(e?2:3)}function CP(e,t){return{secretKey:t.BYTES,publicKey:1+e.BYTES,publicKeyUncompressed:1+2*e.BYTES,publicKeyHasPrefix:!0,signature:2*t.BYTES}}function lG(e,t={}){let{Fn:r}=e,i=t.randomBytes||So,n=Object.assign(CP(e.Fp,r),{seed:bS(r.ORDER)});function o(m){try{let y=r.fromBytes(m);return r.isValidNot0(y)}catch(y){return!1}}function s(m,y){let{publicKey:g,publicKeyUncompressed:b}=n;try{let _=m.length;if(y===!0&&_!==g)return!1;if(y===!1&&_!==b)return!1;return!!e.fromBytes(m)}catch(_){return!1}}function a(m=i(n.seed)){return gP(Pe(m,n.seed,"seed"),r.ORDER)}function c(m,y=!0){return e.BASE.multiply(r.fromBytes(m)).toBytes(y)}function l(m){let{secretKey:y,publicKey:g,publicKeyUncompressed:b}=n;if(!uc(m))return;if("_lengths"in r&&r._lengths||y===g)return;let _=Pe(m,void 0,"key").length;return _===g||_===b}function u(m,y,g=!0){if(l(m)===!0)throw Error("first arg must be private key");if(l(y)===!1)throw Error("second arg must be public key");let b=r.fromBytes(m);return e.fromBytes(y).multiply(b).toBytes(g)}let d={isValidSecretKey:o,isValidPublicKey:s,randomSecretKey:a},p=bm(a,c);return Object.freeze({getPublicKey:c,getSharedSecret:u,keygen:p,Point:e,utils:d,lengths:n})}function TS(e,t,r={}){yn(t),Ds(r,{},{hmac:"function",lowS:"boolean",randomBytes:"function",bits2int:"function",bits2int_modN:"function"}),r=Object.assign({},r);let i=r.randomBytes||So,n=r.hmac||((I,R)=>hc(t,I,R)),{Fp:o,Fn:s}=e,{ORDER:a,BITS:c}=s,{keygen:l,getPublicKey:u,getSharedSecret:d,utils:p,lengths:m}=lG(e,r),y={prehash:!0,lowS:typeof r.lowS==="boolean"?r.lowS:!0,format:"compact",extraEntropy:!1},g=a*AP<o.ORDER;function b(I){let R=a>>gc;return I>R}function _(I,R){if(!s.isValidNot0(R))throw Error(`invalid signature ${I}: out of range 1..Point.Fn.ORDER`);return R}function A(){if(g)throw Error('"recovered" sig type is not supported for cofactor >2 curves')}function T(I,R){IS(R);let O=m.signature,F=R==="compact"?O:R==="recovered"?O+1:void 0;return Pe(I,F)}class z{r;s;recovery;constructor(I,R,O){if(this.r=_("r",I),this.s=_("s",R),O!=null){if(A(),![0,1,2,3].includes(O))throw Error("invalid recovery id");this.recovery=O}Object.freeze(this)}static fromBytes(I,R=y.format){T(I,R);let O;if(R==="der"){let{r:k,s:re}=Eo.toSig(Pe(I));return new z(k,re)}if(R==="recovered")O=I[0],R="compact",I=I.subarray(1);let F=m.signature/2,L=I.subarray(0,F),V=I.subarray(F,F*2);return new z(s.fromBytes(L),s.fromBytes(V),O)}static fromHex(I,R){return this.fromBytes(Ns(I),R)}assertRecovery(){let{recovery:I}=this;if(I==null)throw Error("invalid recovery id: must be present");return I}addRecoveryBit(I){return new z(this.r,this.s,I)}recoverPublicKey(I){let{r:R,s:O}=this,F=this.assertRecovery(),L=F===2||F===3?R+a:R;if(!o.isValid(L))throw Error("invalid recovery id: sig.r+curve.n != R.x");let V=o.toBytes(L),k=e.fromBytes(Lt(TP((F&1)===0),V)),re=s.inv(L),de=E(Pe(I,void 0,"msgHash")),C=s.create(-de*re),xe=s.create(O*re),Ee=e.BASE.multiplyUnsafe(C).add(k.multiplyUnsafe(xe));if(Ee.is0())throw Error("invalid recovery: point at infinify");return Ee.assertValidity(),Ee}hasHighS(){return b(this.s)}toBytes(I=y.format){if(IS(I),I==="der")return Ns(Eo.hexFromSig(this));let{r:R,s:O}=this,F=s.toBytes(R),L=s.toBytes(O);if(I==="recovered")return A(),Lt(Uint8Array.of(this.assertRecovery()),F,L);return Lt(F,L)}toHex(I){return zs(this.toBytes(I))}}let j=r.bits2int||function(R){if(R.length>8192)throw Error("input is too large");let O=vo(R),F=R.length*8-c;return F>0?O>>BigInt(F):O},E=r.bits2int_modN||function(R){return s.create(j(R))},Z=Ku(c);function D(I){return Hu("num < 2^"+c,I,zi,Z),s.toBytes(I)}function H(I,R){return Pe(I,void 0,"message"),R?Pe(t(I),void 0,"prehashed message"):I}function X(I,R,O){let{lowS:F,prehash:L,extraEntropy:V}=ES(O,y);I=H(I,L);let k=E(I),re=s.fromBytes(R);if(!s.isValidNot0(re))throw Error("invalid private key");let de=[D(re),D(k)];if(V!=null&&V!==!1){let Ce=V===!0?i(m.secretKey):V;de.push(Pe(Ce,void 0,"extraEntropy"))}let C=Lt(...de),xe=k;function Ee(Ce){let $e=j(Ce);if(!s.isValidNot0($e))return;let _e=s.inv($e),Ve=e.BASE.multiply($e).toAffine(),De=s.create(Ve.x);if(De===zi)return;let Ye=s.create(_e*s.create(xe+De*re));if(Ye===zi)return;let mt=(Ve.x===De?0:2)|Number(Ve.y&gc),Dt=Ye;if(F&&b(Ye))Dt=s.neg(Ye),mt^=1;return new z(De,Dt,g?void 0:mt)}return{seed:C,k2sig:Ee}}function M(I,R,O={}){let{seed:F,k2sig:L}=X(I,R,O);return iP(t.outputLen,s.BYTES,n)(F,L).toBytes(O.format)}function P(I,R,O,F={}){let{lowS:L,prehash:V,format:k}=ES(F,y);if(O=Pe(O,void 0,"publicKey"),R=H(R,V),!uc(I)){let re=I instanceof z?", use sig.toBytes()":"";throw Error("verify expects Uint8Array signature"+re)}T(I,k);try{let re=z.fromBytes(I,k),de=e.fromBytes(O);if(L&&re.hasHighS())return!1;let{r:C,s:xe}=re,Ee=E(R),Ce=s.inv(xe),$e=s.create(Ee*Ce),_e=s.create(C*Ce),Ve=e.BASE.multiplyUnsafe($e).add(de.multiplyUnsafe(_e));if(Ve.is0())return!1;return s.create(Ve.x)===C}catch(re){return!1}}function N(I,R,O={}){let{prehash:F}=ES(O,y);return R=H(R,F),z.fromBytes(I,"recovered").recoverPublicKey(R).toBytes()}return Object.freeze({keygen:l,getPublicKey:u,getSharedSecret:d,utils:p,lengths:m,Point:e,sign:M,verify:P,recoverPublicKey:N,Signature:z,hash:t})}function $P(e,t,r){return e&t^~e&r}function OP(e,t,r){return e&t^e&r^t&r}class wm{blockLen;outputLen;padOffset;isLE;buffer;view;finished=!1;length=0;pos=0;destroyed=!1;constructor(e,t,r,i){this.blockLen=e,this.outputLen=t,this.padOffset=r,this.isLE=i,this.buffer=new Uint8Array(e),this.view=mm(this.buffer)}update(e){Pi(this),Pe(e);let{view:t,buffer:r,blockLen:i}=this,n=e.length;for(let o=0;o<n;){let s=Math.min(i-this.pos,n-o);if(s===i){let a=mm(e);for(;i<=n-o;o+=i)this.process(a,o);continue}if(r.set(e.subarray(o,o+s),this.pos),this.pos+=s,o+=s,this.pos===i)this.process(t,0),this.pos=0}return this.length+=e.length,this.roundClean(),this}digestInto(e){Pi(this),fm(e,this),this.finished=!0;let{buffer:t,view:r,blockLen:i,isLE:n}=this,{pos:o}=this;if(t[o++]=128,Mr(this.buffer.subarray(o)),this.padOffset>i-o)this.process(r,0),o=0;for(let u=o;u<i;u++)t[u]=0;r.setBigUint64(i-8,BigInt(this.length*8),n),this.process(r,0);let s=mm(e),a=this.outputLen;if(a%4)throw Error("_sha2: outputLen must be aligned to 32bit");let c=a/4,l=this.get();if(c>l.length)throw Error("_sha2: outputLen bigger than state");for(let u=0;u<c;u++)s.setUint32(4*u,l[u],n)}digest(){let{buffer:e,outputLen:t}=this;this.digestInto(e);let r=e.slice(0,t);return this.destroy(),r}_cloneInto(e){e||=new this.constructor,e.set(...this.get());let{blockLen:t,buffer:r,length:i,finished:n,destroyed:o,pos:s}=this;if(e.destroyed=o,e.finished=n,e.length=i,e.pos=s,i%t)e.buffer.set(r);return e}clone(){return this._cloneInto()}}var Ni=Uint32Array.from([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]);var or=Uint32Array.from([3418070365,3238371032,1654270250,914150663,2438529370,812702999,355462360,4144912697,1731405415,4290775857,2394180231,1750603025,3675008525,1694076839,1203062813,3204075428]);var vm=BigInt(4294967295),RP=BigInt(32);function uG(e,t=!1){if(t)return{h:Number(e&vm),l:Number(e>>RP&vm)};return{h:Number(e>>RP&vm)|0,l:Number(e&vm)|0}}function _m(e,t=!1){let r=e.length,i=new Uint32Array(r),n=new Uint32Array(r);for(let o=0;o<r;o++){let{h:s,l:a}=uG(e[o],t);[i[o],n[o]]=[s,a]}return[i,n]}var CS=(e,t,r)=>e>>>r,$S=(e,t,r)=>e<<32-r|t>>>r,js=(e,t,r)=>e>>>r|t<<32-r,qs=(e,t,r)=>e<<32-r|t>>>r,Gu=(e,t,r)=>e<<64-r|t>>>r-32,Qu=(e,t,r)=>e>>>r-32|t<<64-r;var PP=(e,t,r)=>e<<r|t>>>32-r,zP=(e,t,r)=>t<<r|e>>>32-r,NP=(e,t,r)=>t<<r-32|e>>>64-r,DP=(e,t,r)=>e<<r-32|t>>>64-r;function ri(e,t,r,i){let n=(t>>>0)+(i>>>0);return{h:e+r+(n/4294967296|0)|0,l:n|0}}var LP=(e,t,r)=>(e>>>0)+(t>>>0)+(r>>>0),BP=(e,t,r,i)=>t+r+i+(e/4294967296|0)|0,jP=(e,t,r,i)=>(e>>>0)+(t>>>0)+(r>>>0)+(i>>>0),qP=(e,t,r,i,n)=>t+r+i+n+(e/4294967296|0)|0,UP=(e,t,r,i,n)=>(e>>>0)+(t>>>0)+(r>>>0)+(i>>>0)+(n>>>0),MP=(e,t,r,i,n,o)=>t+r+i+n+o+(e/4294967296|0)|0;var fG=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]),Io=new Uint32Array(64);class FP extends wm{constructor(e){super(64,e,8,!1)}get(){let{A:e,B:t,C:r,D:i,E:n,F:o,G:s,H:a}=this;return[e,t,r,i,n,o,s,a]}set(e,t,r,i,n,o,s,a){this.A=e|0,this.B=t|0,this.C=r|0,this.D=i|0,this.E=n|0,this.F=o|0,this.G=s|0,this.H=a|0}process(e,t){for(let u=0;u<16;u++,t+=4)Io[u]=e.getUint32(t,!1);for(let u=16;u<64;u++){let d=Io[u-15],p=Io[u-2],m=zn(d,7)^zn(d,18)^d>>>3,y=zn(p,17)^zn(p,19)^p>>>10;Io[u]=y+Io[u-7]+m+Io[u-16]|0}let{A:r,B:i,C:n,D:o,E:s,F:a,G:c,H:l}=this;for(let u=0;u<64;u++){let d=zn(s,6)^zn(s,11)^zn(s,25),p=l+d+$P(s,a,c)+fG[u]+Io[u]|0,y=(zn(r,2)^zn(r,13)^zn(r,22))+OP(r,i,n)|0;l=c,c=a,a=s,s=o+p|0,o=n,n=i,i=r,r=p+y|0}r=r+this.A|0,i=i+this.B|0,n=n+this.C|0,o=o+this.D|0,s=s+this.E|0,a=a+this.F|0,c=c+this.G|0,l=l+this.H|0,this.set(r,i,n,o,s,a,c,l)}roundClean(){Mr(Io)}destroy(){this.set(0,0,0,0,0,0,0,0),Mr(this.buffer)}}class ZP extends FP{A=Ni[0]|0;B=Ni[1]|0;C=Ni[2]|0;D=Ni[3]|0;E=Ni[4]|0;F=Ni[5]|0;G=Ni[6]|0;H=Ni[7]|0;constructor(){super(32)}}var HP=(()=>_m(["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))))(),pG=(()=>HP[0])(),mG=(()=>HP[1])(),Ao=new Uint32Array(80),To=new Uint32Array(80);class KP extends wm{constructor(e){super(128,e,16,!1)}get(){let{Ah:e,Al:t,Bh:r,Bl:i,Ch:n,Cl:o,Dh:s,Dl:a,Eh:c,El:l,Fh:u,Fl:d,Gh:p,Gl:m,Hh:y,Hl:g}=this;return[e,t,r,i,n,o,s,a,c,l,u,d,p,m,y,g]}set(e,t,r,i,n,o,s,a,c,l,u,d,p,m,y,g){this.Ah=e|0,this.Al=t|0,this.Bh=r|0,this.Bl=i|0,this.Ch=n|0,this.Cl=o|0,this.Dh=s|0,this.Dl=a|0,this.Eh=c|0,this.El=l|0,this.Fh=u|0,this.Fl=d|0,this.Gh=p|0,this.Gl=m|0,this.Hh=y|0,this.Hl=g|0}process(e,t){for(let A=0;A<16;A++,t+=4)Ao[A]=e.getUint32(t),To[A]=e.getUint32(t+=4);for(let A=16;A<80;A++){let T=Ao[A-15]|0,z=To[A-15]|0,j=js(T,z,1)^js(T,z,8)^CS(T,z,7),E=qs(T,z,1)^qs(T,z,8)^$S(T,z,7),Z=Ao[A-2]|0,D=To[A-2]|0,H=js(Z,D,19)^Gu(Z,D,61)^CS(Z,D,6),X=qs(Z,D,19)^Qu(Z,D,61)^$S(Z,D,6),M=jP(E,X,To[A-7],To[A-16]),P=qP(M,j,H,Ao[A-7],Ao[A-16]);Ao[A]=P|0,To[A]=M|0}let{Ah:r,Al:i,Bh:n,Bl:o,Ch:s,Cl:a,Dh:c,Dl:l,Eh:u,El:d,Fh:p,Fl:m,Gh:y,Gl:g,Hh:b,Hl:_}=this;for(let A=0;A<80;A++){let T=js(u,d,14)^js(u,d,18)^Gu(u,d,41),z=qs(u,d,14)^qs(u,d,18)^Qu(u,d,41),j=u&p^~u&y,E=d&m^~d&g,Z=UP(_,z,E,mG[A],To[A]),D=MP(Z,b,T,j,pG[A],Ao[A]),H=Z|0,X=js(r,i,28)^Gu(r,i,34)^Gu(r,i,39),M=qs(r,i,28)^Qu(r,i,34)^Qu(r,i,39),P=r&n^r&s^n&s,N=i&o^i&a^o&a;b=y|0,_=g|0,y=p|0,g=m|0,p=u|0,m=d|0,{h:u,l:d}=ri(c|0,l|0,D|0,H|0),c=s|0,l=a|0,s=n|0,a=o|0,n=r|0,o=i|0;let I=LP(H,M,N);r=BP(I,D,X,P),i=I|0}({h:r,l:i}=ri(this.Ah|0,this.Al|0,r|0,i|0)),{h:n,l:o}=ri(this.Bh|0,this.Bl|0,n|0,o|0),{h:s,l:a}=ri(this.Ch|0,this.Cl|0,s|0,a|0),{h:c,l}=ri(this.Dh|0,this.Dl|0,c|0,l|0),{h:u,l:d}=ri(this.Eh|0,this.El|0,u|0,d|0),{h:p,l:m}=ri(this.Fh|0,this.Fl|0,p|0,m|0),{h:y,l:g}=ri(this.Gh|0,this.Gl|0,y|0,g|0),{h:b,l:_}=ri(this.Hh|0,this.Hl|0,b|0,_|0),this.set(r,i,n,o,s,a,c,l,u,d,p,m,y,g,b,_)}roundClean(){Mr(Ao,To)}destroy(){Mr(this.buffer),this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}}class JP extends KP{Ah=or[0]|0;Al=or[1]|0;Bh=or[2]|0;Bl=or[3]|0;Ch=or[4]|0;Cl=or[5]|0;Dh=or[6]|0;Dl=or[7]|0;Eh=or[8]|0;El=or[9]|0;Fh=or[10]|0;Fl=or[11]|0;Gh=or[12]|0;Gl=or[13]|0;Hh=or[14]|0;Hl=or[15]|0;constructor(){super(48)}}var km=dc(()=>new ZP,wo(1));var VP=dc(()=>new JP,wo(2));/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */var hG=BigInt(1),WP=BigInt(2),gG=BigInt(3),yG=BigInt(5),W1e=BigInt(8),GP=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffed");function bG(e){let t=BigInt(10),r=BigInt(20),i=BigInt(40),n=BigInt(80),o=GP,a=e*e%o*e%o,c=bn(a,WP,o)*a%o,l=bn(c,hG,o)*e%o,u=bn(l,yG,o)*l%o,d=bn(u,t,o)*u%o,p=bn(d,r,o)*d%o,m=bn(p,i,o)*p%o,y=bn(m,n,o)*m%o,g=bn(y,n,o)*m%o,b=bn(g,t,o)*u%o;return{pow_p_5_8:bn(b,WP,o)*e%o,b2:a}}function xG(e){return e[0]&=248,e[31]&=127,e[31]|=64,e}var QP=(()=>{let e=GP;return kP({P:e,type:"x25519",powPminus2:(t)=>{let{pow_p_5_8:r,b2:i}=bG(t);return Tr(bn(r,gG,e)*i,e)},adjustScalarBytes:xG})})();/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */var SG=(()=>({p:BigInt("0xffffffff00000001000000000000000000000000ffffffffffffffffffffffff"),n:BigInt("0xffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551"),h:BigInt(1),a:BigInt("0xffffffff00000001000000000000000000000000fffffffffffffffffffffffc"),b:BigInt("0x5ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b"),Gx:BigInt("0x6b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c296"),Gy:BigInt("0x4fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5")}))(),wG=(()=>({p:BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff"),n:BigInt("0xffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973"),h:BigInt(1),a:BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000fffffffc"),b:BigInt("0xb3312fa7e23ee7e4988e056be3f82d19181d9c6efe8141120314088f5013875ac656398d8a2ed19d2a85c8edd3ec2aef"),Gx:BigInt("0xaa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab7"),Gy:BigInt("0x3617de4a96262c6f5d9e98bf9292dc29f8f41dbd289a147ce9da3113b5f0b8c00a60b1ce1d7e819d7a431d7c90ea0e5f")}))();var vG=AS(SG),OS=TS(vG,km);var _G=AS(wG),YP=TS(_G,VP);function ez(e,t,r){if(yn(e),r===void 0)r=new Uint8Array(e.outputLen);return hc(e,r,t)}var RS=Uint8Array.of(0),XP=Uint8Array.of();function tz(e,t,r,i=32){yn(e),Wt(i,"length");let n=e.outputLen;if(i>255*n)throw Error("Length must be <= 255*HashLen");let o=Math.ceil(i/n);if(r===void 0)r=XP;else Pe(r,void 0,"info");let s=new Uint8Array(o*n),a=hc.create(e,t),c=a._cloneInto(),l=new Uint8Array(a.outputLen);for(let u=0;u<o;u++)RS[0]=u+1,c.update(u===0?XP:l).update(r).update(RS).digestInto(l),s.set(l,n*u),a._cloneInto(c);return a.destroy(),c.destroy(),Mr(l,RS),s.slice(0,i)}var kG=BigInt(0),Yu=BigInt(1),EG=BigInt(2),IG=BigInt(7),AG=BigInt(256),TG=BigInt(113),iz=[],oz=[],sz=[];for(let e=0,t=Yu,r=1,i=0;e<24;e++){[r,i]=[i,(2*r+3*i)%5],iz.push(2*(5*i+r)),oz.push((e+1)*(e+2)/2%64);let n=kG;for(let o=0;o<7;o++)if(t=(t<<Yu^(t>>IG)*TG)%AG,t&EG)n^=Yu<<(Yu<<BigInt(o))-Yu;sz.push(n)}var az=_m(sz,!0),CG=az[0],$G=az[1],rz=(e,t,r)=>r>32?NP(e,t,r):PP(e,t,r),nz=(e,t,r)=>r>32?DP(e,t,r):zP(e,t,r);function OG(e,t=24){let r=new Uint32Array(10);for(let i=24-t;i<24;i++){for(let s=0;s<10;s++)r[s]=e[s]^e[s+10]^e[s+20]^e[s+30]^e[s+40];for(let s=0;s<10;s+=2){let a=(s+8)%10,c=(s+2)%10,l=r[c],u=r[c+1],d=rz(l,u,1)^r[a],p=nz(l,u,1)^r[a+1];for(let m=0;m<50;m+=10)e[s+m]^=d,e[s+m+1]^=p}let n=e[2],o=e[3];for(let s=0;s<24;s++){let a=oz[s],c=rz(n,o,a),l=nz(n,o,a),u=iz[s];n=e[u],o=e[u+1],e[u]=c,e[u+1]=l}for(let s=0;s<50;s+=10){for(let a=0;a<10;a++)r[a]=e[s+a];for(let a=0;a<10;a++)e[s+a]^=~r[(a+2)%10]&r[(a+4)%10]}e[0]^=CG[i],e[1]^=$G[i]}Mr(r)}class Em{state;pos=0;posOut=0;finished=!1;state32;destroyed=!1;blockLen;suffix;outputLen;enableXOF=!1;rounds;constructor(e,t,r,i=!1,n=24){if(this.blockLen=e,this.suffix=t,this.outputLen=r,this.enableXOF=i,this.rounds=n,Wt(r,"outputLen"),!(0<e&&e<200))throw Error("only keccak-f1600 function is supported");this.state=new Uint8Array(200),this.state32=pm(this.state)}clone(){return this._cloneInto()}keccak(){dS(this.state32),OG(this.state32,this.rounds),dS(this.state32),this.posOut=0,this.pos=0}update(e){Pi(this),Pe(e);let{blockLen:t,state:r}=this,i=e.length;for(let n=0;n<i;){let o=Math.min(t-this.pos,i-n);for(let s=0;s<o;s++)r[this.pos++]^=e[n++];if(this.pos===t)this.keccak()}return this}finish(){if(this.finished)return;this.finished=!0;let{state:e,suffix:t,pos:r,blockLen:i}=this;if(e[r]^=t,(t&128)!==0&&r===i-1)this.keccak();e[i-1]^=128,this.keccak()}writeInto(e){Pi(this,!1),Pe(e),this.finish();let t=this.state,{blockLen:r}=this;for(let i=0,n=e.length;i<n;){if(this.posOut>=r)this.keccak();let o=Math.min(r-this.posOut,n-i);e.set(t.subarray(this.posOut,this.posOut+o),i),this.posOut+=o,i+=o}return e}xofInto(e){if(!this.enableXOF)throw Error("XOF is not possible for this instance");return this.writeInto(e)}xof(e){return Wt(e),this.xofInto(new Uint8Array(e))}digestInto(e){if(fm(e,this),this.finished)throw Error("digest() was already called");return this.writeInto(e),this.destroy(),e}digest(){return this.digestInto(new Uint8Array(this.outputLen))}destroy(){this.destroyed=!0,Mr(this.state)}_cloneInto(e){let{blockLen:t,suffix:r,outputLen:i,rounds:n,enableXOF:o}=this;return e||=new Em(t,r,i,o,n),e.state32.set(this.state32),e.pos=this.pos,e.posOut=this.posOut,e.finished=this.finished,e.rounds=n,e.suffix=r,e.outputLen=i,e.enableXOF=o,e.destroyed=this.destroyed,e}}var cz=(e,t,r,i={})=>dc(()=>new Em(t,e,r),i);var Us=cz(6,136,32,wo(8));var lz=cz(6,72,64,wo(10));var uz=(e,t,r,i={})=>dc((n={})=>new Em(t,e,n.dkLen===void 0?r:n.dkLen,!0),i),dz=uz(31,168,16,wo(11)),ni=uz(31,136,32,wo(12));function PS(e){if(!Number.isSafeInteger(e)||e<0||e>4294967295)throw Error("wrong u32 integer:"+e);return e}function pz(e){return PS(e),(e&e-1)===0&&e!==0}function zS(e,t){PS(e);let r=0;for(let i=0;i<t;i++,e>>>=1)r=r<<1|e&1;return r}function mz(e){return PS(e),31-Math.clz32(e)}function fz(e){let t=e.length;if(t<2||!pz(t))throw Error("n must be a power of 2 and greater than 1. Got "+t);let r=mz(t);for(let i=0;i<t;i++){let n=zS(i,r);if(i<n){let o=e[i];e[i]=e[n],e[n]=o}}return e}var NS=(e,t)=>{let{N:r,roots:i,dit:n,invertButterflies:o=!1,skipStages:s=0,brp:a=!0}=t,c=mz(r);if(!pz(r))throw Error("FFT: Polynomial size should be power of two");let l=n!==o;return(u)=>{if(u.length!==r)throw Error("FFT: wrong Polynomial length");if(n&&a)fz(u);for(let d=0,p=1;d<c-s;d++){let m=n?d+1+s:c-d,y=1<<m,g=y>>1,b=r>>m;for(let _=0;_<r;_+=y)for(let A=0,T=p++;A<g;A++){let z=o?n?r-T:T:A*b,j=_+A,E=_+A+g,Z=i[z],D=u[E],H=u[j];if(l){let X=e.mul(D,Z);u[j]=e.add(H,X),u[E]=e.sub(H,X)}else if(o)u[j]=e.add(D,H),u[E]=e.mul(e.sub(D,H),Z);else u[j]=e.add(H,D),u[E]=e.mul(e.sub(H,D),Z)}}if(!n&&a)fz(u);return u}};/*! noble-post-quantum - MIT License (c) 2024 Paul Miller (paulmillr.com) */var ii=So;function Im(e,t){if(e.length!==t.length)return!1;let r=0;for(let i=0;i<e.length;i++)r|=e[i]^t[i];return r===0}function hz(e){return Uint8Array.from(e)}function Ms(e,...t){let r=(n)=>typeof n==="number"?n:n.bytesLen,i=t.reduce((n,o)=>n+r(o),0);return{bytesLen:i,encode:(n)=>{let o=new Uint8Array(i);for(let s=0,a=0;s<t.length;s++){let c=t[s],l=r(c),u=typeof c==="number"?n[s]:c.encode(n[s]);if(Pe(u,l,e),o.set(u,a),typeof c!=="number")u.fill(0);a+=l}return o},decode:(n)=>{Pe(n,i,e);let o=[];for(let s of t){let a=r(s),c=n.subarray(0,a);o.push(typeof s==="number"?c:s.decode(c)),n=n.subarray(a)}return o}}}function Am(e,t){let r=t*e.bytesLen;return{bytesLen:r,encode:(i)=>{if(i.length!==t)throw Error(`vecCoder.encode: wrong length=${i.length}. Expected: ${t}`);let n=new Uint8Array(r);for(let o=0,s=0;o<i.length;o++){let a=e.encode(i[o]);n.set(a,s),a.fill(0),s+=a.length}return n},decode:(i)=>{Pe(i,r);let n=[];for(let o=0;o<i.length;o+=e.bytesLen)n.push(e.decode(i.subarray(o,o+e.bytesLen)));return n}}}function Ft(...e){for(let t of e)if(Array.isArray(t))for(let r of t)r.fill(0);else t.fill(0)}function DS(e){return(1<<e)-1}var uIe=Uint8Array.of();/*! noble-post-quantum - MIT License (c) 2024 Paul Miller (paulmillr.com) */var gz=(e)=>{let{newPoly:t,N:r,Q:i,F:n,ROOT_OF_UNITY:o,brvBits:s,isKyber:a}=e,c=(A,T=i)=>{let z=A%T|0;return(z>=0?z|0:T+z|0)|0},l=(A,T=i)=>{let z=c(A,T)|0;return(z>T>>1?z-T|0:z)|0};function u(){let A=t(r);for(let T=0;T<r;T++){let z=zS(T,s),j=BigInt(o)**BigInt(z)%BigInt(i);A[T]=Number(j)|0}return A}let d=u(),p={add:(A,T)=>c((A|0)+(T|0))|0,sub:(A,T)=>c((A|0)-(T|0))|0,mul:(A,T)=>c((A|0)*(T|0))|0,inv:(A)=>{throw Error("not implemented")}},m={N:r,roots:d,invertButterflies:!0,skipStages:a?1:0,brp:!1},y=NS(p,{dit:!1,...m}),g=NS(p,{dit:!0,...m});return{mod:c,smod:l,nttZetas:d,NTT:{encode:(A)=>y(A),decode:(A)=>{g(A);for(let T=0;T<A.length;T++)A[T]=c(n*A[T]);return A}},bitsCoder:(A,T)=>{let z=DS(A),j=A*(r/8);return{bytesLen:j,encode:(E)=>{let Z=new Uint8Array(j);for(let D=0,H=0,X=0,M=0;D<E.length;D++){H|=(T.encode(E[D])&z)<<X,X+=A;for(;X>=8;X-=8,H>>=8)Z[M++]=H&DS(X)}return Z},decode:(E)=>{let Z=t(r);for(let D=0,H=0,X=0,M=0;D<E.length;D++){H|=E[D]<<X,X+=8;for(;X>=A;X-=A,H>>=A)Z[M++]=T.decode(H&z)}return Z}}}}},RG=(e)=>(t,r)=>{if(!r)r=e.blockLen;let i=new Uint8Array(t.length+2);i.set(t);let n=t.length,o=new Uint8Array(r),s=e.create({}),a=0,c=0;return{stats:()=>({calls:a,xofs:c}),get:(l,u)=>(i[n+0]=l,i[n+1]=u,s.destroy(),s=e.create({}).update(i),a++,()=>(c++,s.xofInto(o))),clean:()=>{s.destroy(),Ft(o,i)}}},yz=RG(dz);/*! noble-post-quantum - MIT License (c) 2024 Paul Miller (paulmillr.com) */var br=256,Di=3329,PG=3303,zG=17,{mod:td,nttZetas:NG,NTT:Fs,bitsCoder:DG}=gz({N:br,Q:Di,F:PG,ROOT_OF_UNITY:zG,newPoly:(e)=>new Uint16Array(e),brvBits:7,isKyber:!0}),LS={512:{N:br,Q:Di,K:2,ETA1:3,ETA2:2,du:10,dv:4,RBGstrength:128},768:{N:br,Q:Di,K:3,ETA1:2,ETA2:2,du:10,dv:4,RBGstrength:192},1024:{N:br,Q:Di,K:4,ETA1:2,ETA2:2,du:11,dv:5,RBGstrength:256}},LG=(e)=>{if(e>=12)return{encode:(r)=>r,decode:(r)=>r};let t=2**(e-1);return{encode:(r)=>((r<<e)+Di/2)/Di,decode:(r)=>r*Di+t>>>e}},Xu=(e)=>DG(e,LG(e));function Zs(e,t){for(let r=0;r<br;r++)e[r]=td(e[r]+t[r])}function BG(e,t){for(let r=0;r<br;r++)e[r]=td(e[r]-t[r])}function jG(e,t,r,i,n){let o=td(t*i*n+e*r),s=td(e*i+t*r);return{c0:o,c1:s}}function Tm(e,t){for(let r=0;r<br/2;r++){let i=NG[64+(r>>1)];if(r&1)i=-i;let{c0:n,c1:o}=jG(e[2*r+0],e[2*r+1],t[2*r+0],t[2*r+1],i);e[2*r+0]=n,e[2*r+1]=o}return e}function bz(e){let t=new Uint16Array(br);for(let r=0;r<br;){let i=e();if(i.length%3)throw Error("SampleNTT: unaligned block");for(let n=0;r<br&&n+3<=i.length;n+=3){let o=(i[n+0]>>0|i[n+1]<<8)&4095,s=(i[n+1]>>4|i[n+2]<<4)&4095;if(o<Di)t[r++]=o;if(r<br&&s<Di)t[r++]=s}}return t}function ed(e,t,r,i){let n=e(i*br/4,t,r),o=new Uint16Array(br),s=pm(n),a=0;for(let c=0,l=0,u=0,d=0;c<s.length;c++){let p=s[c];for(let m=0;m<32;m++)if(u+=p&1,p>>=1,a+=1,a===i)d=u,u=0;else if(a===2*i)o[l++]=td(d-u),u=0,a=0}if(a)throw Error(`sampleCBD: leftover bits: ${a}`);return o}var qG=(e)=>{let{K:t,PRF:r,XOF:i,HASH512:n,ETA1:o,ETA2:s,du:a,dv:c}=e,l=Xu(1),u=Xu(c),d=Xu(a),p=Ms("publicKey",Am(Xu(12),t),32),m=Am(Xu(12),t),y=Ms("ciphertext",Am(d,t),u),g=Ms("seed",32,32);return{secretCoder:m,lengths:{secretKey:m.bytesLen,publicKey:p.bytesLen,cipherText:y.bytesLen},keygen:(b)=>{Pe(b,32,"seed");let _=new Uint8Array(33);_.set(b),_[32]=t;let A=n(_),[T,z]=g.decode(A),j=[],E=[];for(let H=0;H<t;H++)j.push(Fs.encode(ed(r,z,H,o)));let Z=i(T);for(let H=0;H<t;H++){let X=Fs.encode(ed(r,z,t+H,o));for(let M=0;M<t;M++){let P=bz(Z.get(M,H));Zs(X,Tm(P,j[M]))}E.push(X)}Z.clean();let D={publicKey:p.encode([E,T]),secretKey:m.encode(j)};return Ft(T,z,j,E,_,A),D},encrypt:(b,_,A)=>{let[T,z]=p.decode(b),j=[];for(let M=0;M<t;M++)j.push(Fs.encode(ed(r,A,M,o)));let E=i(z),Z=new Uint16Array(br),D=[];for(let M=0;M<t;M++){let P=ed(r,A,t+M,s),N=new Uint16Array(br);for(let I=0;I<t;I++){let R=bz(E.get(M,I));Zs(N,Tm(R,j[I]))}Zs(P,Fs.decode(N)),D.push(P),Zs(Z,Tm(T[M],j[M])),Ft(N)}E.clean();let H=ed(r,A,2*t,s);Zs(H,Fs.decode(Z));let X=l.decode(_);return Zs(X,H),Ft(T,j,Z,H),y.encode([D,X])},decrypt:(b,_)=>{let[A,T]=y.decode(b),z=m.decode(_),j=new Uint16Array(br);for(let E=0;E<t;E++)Zs(j,Tm(z[E],Fs.encode(A[E])));return BG(T,Fs.decode(j)),Ft(j,z,A),l.encode(T)}}};function BS(e){let t=qG(e),{HASH256:r,HASH512:i,KDF:n}=e,{secretCoder:o,lengths:s}=t,a=Ms("secretKey",s.secretKey,s.publicKey,32,32),c=32,l=64;return{info:{type:"ml-kem"},lengths:{...s,seed:64,msg:32,msgRand:32,secretKey:a.bytesLen},keygen:(u=ii(64))=>{Pe(u,64,"seed");let{publicKey:d,secretKey:p}=t.keygen(u.subarray(0,32)),m=r(d),y=a.encode([p,d,m,u.subarray(32)]);return Ft(p,m),{publicKey:d,secretKey:y}},getPublicKey:(u)=>{let[d,p,m,y]=a.decode(u);return Uint8Array.from(p)},encapsulate:(u,d=ii(32))=>{Pe(u,s.publicKey,"publicKey"),Pe(d,32,"message");let p=u.subarray(0,384*e.K),m=o.encode(o.decode(hz(p)));if(!Im(m,p))throw Ft(m),Error("ML-KEM.encapsulate: wrong publicKey modulus");Ft(m);let y=i.create().update(d).update(r(u)).digest(),g=t.encrypt(u,d,y.subarray(32,64));return Ft(y.subarray(32)),{cipherText:g,sharedSecret:y.subarray(0,32)}},decapsulate:(u,d)=>{Pe(d,a.bytesLen,"secretKey"),Pe(u,s.cipherText,"cipherText");let p=a.bytesLen-96,m=p+32,y=r(d.subarray(p/2,m));if(!Im(y,d.subarray(m,m+32)))throw Error("invalid secretKey: hash check failed");let[g,b,_,A]=a.decode(d),T=t.decrypt(u,g),z=i.create().update(T).update(_).digest(),j=z.subarray(0,32),E=t.encrypt(b,T,z.subarray(32,64)),Z=Im(u,E),D=n.create({dkLen:32}).update(A).update(u).digest();return Ft(T,E,!Z?j:D),Z?j:D}}}function UG(e,t,r){return ni.create({dkLen:e}).update(t).update(new Uint8Array([r])).digest()}var jS={HASH256:Us,HASH512:lz,KDF:ni,XOF:yz,PRF:UG},wIe=BS({...jS,...LS[512]}),rd=BS({...jS,...LS[768]}),xz=BS({...jS,...LS[1024]});/*! noble-post-quantum - MIT License (c) 2024 Paul Miller (paulmillr.com) */function MG(e,t=!1){let{lengths:r,keygen:i}=e;if(t){let o=e.Point.Fn;if(!o)throw Error("No Point.Fn");i=(s=ii(r.seed))=>{Pe(s,r.seed,"seed");let a=o.isLE?_o(s):vo(s),c=o.toBytes(o.create(a));return{secretKey:c,publicKey:e.getPublicKey(c)}}}return{lengths:{secretKey:r.secretKey,publicKey:r.publicKey,seed:r.seed},keygen:i,getPublicKey:(n)=>e.getPublicKey(n)}}function qS(e,t=!1){let r=MG(e,t);if(!e.getSharedSecret)throw Error("wrong curve");return{lengths:{...r.lengths,msg:r.lengths.seed,cipherText:r.lengths.publicKey},keygen:r.keygen,getPublicKey:r.getPublicKey,encapsulate(i,n=ii(e.lengths.seed)){let o=this.keygen(n).secretKey,s=this.decapsulate(i,o),a=e.getPublicKey(o);return Ft(o),{sharedSecret:s,cipherText:a}},decapsulate(i,n){let o=e.getSharedSecret(n,i);return e.lengths.publicKeyHasPrefix?o.subarray(1):o}}}function nd(e,t){return Ms(t,...e.map((r)=>{if(typeof r.lengths[t]!=="number")throw Error("wrong length: "+t);return r.lengths[t]}))}function US(e){return(t,r)=>e(t,{dkLen:r})}function FG(e,t,...r){let i=nd(r,"seed"),n=nd(r,"publicKey");if(e===void 0)e=i.bytesLen;Wt(e);function o(s){Pe(s,e);let a=i.decode(t(s,i.bytesLen)),c=r.map((d,p)=>d.keygen(a[p])),l=c.map((d)=>d.secretKey),u=c.map((d)=>d.publicKey);return{secretKey:l,publicKey:u}}return{info:{lengths:{seed:e,publicKey:n.bytesLen,secretKey:e}},getPublicKey(s){return this.keygen(s).publicKey},keygen(s=ii(e)){let{publicKey:a,secretKey:c}=o(s),l=n.encode(a);return Ft(a),Ft(c),{secretKey:s,publicKey:l}},expandDecapsulationKey:o,realSeedLen:e}}function Cm(e,t,r,i,...n){let o=FG(e,r,...n),s=nd(n,"cipherText"),a=nd(n,"publicKey"),c=nd(n,"msg");if(t===void 0)t=c.bytesLen;return Wt(t),{lengths:{...o.info.lengths,msg:t,msgRand:c.bytesLen,cipherText:s.bytesLen},getPublicKey:o.getPublicKey,keygen:o.keygen,encapsulate(l,u=ii(c.bytesLen)){let d=a.decode(l),p=c.decode(u),m=n.map((_,A)=>_.encapsulate(d[A],p[A])),y=m.map((_)=>_.sharedSecret),g=m.map((_)=>_.cipherText),b={sharedSecret:i(d,g,y),cipherText:s.encode(g)};return Ft(y,g),b},decapsulate(l,u){let d=s.decode(l),{publicKey:p,secretKey:m}=o.expandDecapsulationKey(u),y=n.map((g,b)=>g.decapsulate(d[b],m[b]));return i(p,d,y)}}}function Sz(e,t,r,i,n){return yn(i),yn(n),Cm(32,32,US(i),(o,s,a)=>n(Lt(a[0],a[1],s[1],o[1],ko(e))),t,r)}var RIe=Sz("QSF-KEM(ML-KEM-768,P-256)-XOF(SHAKE256)-KDF(SHA3-256)",rd,qS(OS,!0),ni,Us),PIe=Sz("QSF-KEM(ML-KEM-1024,P-384)-XOF(SHAKE256)-KDF(SHA3-256)",xz,qS(YP,!0),ni,Us);function ZG(e,t,r,i,n){return yn(i),yn(n),Cm(32,32,US(i),(o,s,a)=>{let c=Lt(a[0],a[1],s[0],o[0],s[1],o[1],ko(e)),l=32,u=Lt(ko("hybrid_prk"),c),d=ez(n,u),p=Lt(fc(32,2),ko("shared_secret"),ko("")),m=tz(n,d,p,32);return Ft(d,p,u,c),m},t,r)}var wz=qS(QP),zIe=ZG("KitchenSink-KEM(ML-KEM-768,X25519)-XOF(SHAKE256)-KDF(HKDF-SHA-256)",rd,wz,ni,km),HG=(()=>Cm(32,32,US(ni),(e,t,r)=>Us(Lt(r[0],r[1],t[1],e[1],ko("\\.//^\\"))),rd,wz))();function KG(e,t,r,i){let n=e.Point.Fn;if(!n)throw Error("no Point.Fn");function o(s){let a;for(let u=0,d=t;;u=d,d+=t){if(d>s.length)throw Error("rejection sampling failed");if(a=n.fromBytes(s.subarray(u,d),!0),n.isValidNot0(a))break}let c=n.toBytes(n.create(a)),l=e.getPublicKey(c,!1);return{secretKey:c,publicKey:l}}return{lengths:{secretKey:t,publicKey:r,seed:i,msg:i,cipherText:r},keygen(s=ii(i)){return Pe(s,i,"seed"),o(s)},getPublicKey(s){return e.getPublicKey(s,!1)},encapsulate(s,a=ii(i)){Pe(a,i,"rand");let{secretKey:c}=o(a),l=this.decapsulate(s,c),u=e.getPublicKey(c,!1);return Ft(c),{sharedSecret:l,cipherText:u}},decapsulate(s,a){return e.getSharedSecret(a,s).subarray(1)}}}function JG(e,t,r,i){let{secretKey:n,publicKeyUncompressed:o}=r.lengths;if(!n||!o)throw Error("wrong curve");let s=KG(r,n,o,i),a=64,c=a+i;return Cm(32,32,(l)=>{Pe(l,32);let u=ni(l,{dkLen:c}),d=u.subarray(0,a),p=u.subarray(a,c);return Lt(d,p)},(l,u,d)=>Us(Lt(d[0],d[1],u[1],l[1],ko(e))),t,s)}var VG=(()=>JG("MLKEM768-P256",rd,OS,128))();var $m=HG,vz=VG;/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */var lt=(e,t,r)=>rr(e,t,r),FS=Ct,yc=em,sr=(...e)=>Kx(...e),bc=(e)=>zu(e),xc=Fx,Sc=(e)=>Ci(e),Rm=BigInt(0),MS=BigInt(1);function Li(e,t=""){if(typeof e!=="boolean"){let r=t&&`"${t}" `;throw TypeError(r+"expected boolean, got type="+typeof e)}return e}function Pm(e){if(typeof e==="bigint"){if(!Om(e))throw RangeError("positive bigint expected, got "+e)}else FS(e);return e}function oi(e,t=""){if(typeof e!=="number"){let r=t&&`"${t}" `;throw TypeError(r+"expected number, got type="+typeof e)}if(!Number.isSafeInteger(e)){let r=t&&`"${t}" `;throw RangeError(r+"expected safe integer, got "+e)}}function id(e){let t=Pm(e).toString(16);return t.length&1?"0"+t:t}function _z(e){if(typeof e!=="string")throw TypeError("hex string expected, got "+typeof e);return e===""?Rm:BigInt("0x"+e)}function Hs(e){return _z(em(e))}function Nn(e){return _z(em(Co(rr(e)).reverse()))}function zm(e,t){if(Ct(t),t===0)throw RangeError("zero length");e=Pm(e);let r=e.toString(16);if(r.length>t*2)throw RangeError("number too large");return zu(r.padStart(t*2,"0"))}function od(e,t){return zm(e,t).reverse()}function kz(e,t){if(e=lt(e),t=lt(t),e.length!==t.length)return!1;let r=0;for(let i=0;i<e.length;i++)r|=e[i]^t[i];return r===0}function Co(e){return Uint8Array.from(lt(e))}function Nm(e){if(typeof e!=="string")throw TypeError("ascii string expected, got "+typeof e);return Uint8Array.from(e,(t,r)=>{let i=t.charCodeAt(0);if(t.length!==1||i>127)throw RangeError(`string contains non-ASCII character "${e[r]}" with code ${i} at position ${r}`);return i})}var Om=(e)=>typeof e==="bigint"&&Rm<=e;function WG(e,t,r){return Om(e)&&Om(t)&&Om(r)&&t<=e&&e<r}function Bi(e,t,r,i){if(!WG(t,r,i))throw RangeError("expected valid "+e+": "+r+" <= n < "+i+", got "+t)}function wc(e){if(e<Rm)throw Error("expected non-negative bigint, got "+e);let t;for(t=0;e>Rm;e>>=MS,t+=1);return t}var sd=(e)=>(MS<<BigInt(e))-MS;function Ez(e,t,r){if(Ct(e,"hashLen"),Ct(t,"qByteLen"),typeof r!=="function")throw TypeError("hmacFn must be a function");let i=(b)=>new Uint8Array(b),n=Uint8Array.of(),o=Uint8Array.of(0),s=Uint8Array.of(1),a=1000,c=i(e),l=i(e),u=0,d=()=>{c.fill(1),l.fill(0),u=0},p=(...b)=>r(l,sr(c,...b)),m=(b=n)=>{if(l=p(o,b),c=p(),b.length===0)return;l=p(s,b),c=p()},y=()=>{if(u++>=a)throw Error("drbg: tried max amount of iterations");let b=0,_=[];while(b<t){c=p();let A=c.slice();_.push(A),b+=c.length}return sr(..._)};return(b,_)=>{d(),m(b);let A=void 0;while((A=_(y()))===void 0)m();return d(),A}}function xn(e,t={},r={}){if(Object.prototype.toString.call(e)!=="[object Object]")throw TypeError("expected valid options object");function i(o,s,a){if(!a&&s!=="function"&&!Object.hasOwn(e,o))throw TypeError(`param "${o}" is invalid: expected own property`);let c=e[o];if(a&&c===void 0)return;let l=typeof c;if(l!==s||c===null)throw TypeError(`param "${o}" is invalid: expected ${s}, got ${l}`)}let n=(o,s)=>Object.entries(o).forEach(([a,c])=>i(a,c,s));n(t,!1),n(r,!0)}var ZS=()=>{throw Error("not implemented")};/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */var ar=BigInt(0),kt=BigInt(1),Ks=BigInt(2),Cz=BigInt(3),$z=BigInt(4),Oz=BigInt(5),GG=BigInt(7),Rz=BigInt(8),QG=BigInt(9),Pz=BigInt(16);function yt(e,t){if(t<=ar)throw Error("mod: expected positive modulus, got "+t);let r=e%t;return r>=ar?r:t+r}function Sn(e,t,r){if(t<ar)throw Error("pow2: expected non-negative exponent, got "+t);let i=e;while(t-- >ar)i*=i,i%=r;return i}function Iz(e,t){if(e===ar)throw Error("invert: expected non-zero number");if(t<=ar)throw Error("invert: expected positive modulus, got "+t);let r=yt(e,t),i=t,n=ar,o=kt,s=kt,a=ar;while(r!==ar){let l=i/r,u=i-r*l,d=n-s*l,p=o-a*l;i=r,r=u,n=s,o=a,s=d,a=p}if(i!==kt)throw Error("invert: does not exist");return yt(n,t)}function HS(e,t,r){let i=e;if(!i.eql(i.sqr(t),r))throw Error("Cannot find square root")}function zz(e,t){let r=e,i=(r.ORDER+kt)/$z,n=r.pow(t,i);return HS(r,n,t),n}function YG(e,t){let r=e,i=(r.ORDER-Oz)/Rz,n=r.mul(t,Ks),o=r.pow(n,i),s=r.mul(t,o),a=r.mul(r.mul(s,Ks),o),c=r.mul(s,r.sub(a,r.ONE));return HS(r,c,t),c}function XG(e){let t=Dm(e),r=Nz(e),i=r(t,t.neg(t.ONE)),n=r(t,i),o=r(t,t.neg(i)),s=(e+GG)/Pz;return(a,c)=>{let l=a,u=l.pow(c,s),d=l.mul(u,i),p=l.mul(u,n),m=l.mul(u,o),y=l.eql(l.sqr(d),c),g=l.eql(l.sqr(p),c);u=l.cmov(u,d,y),d=l.cmov(m,p,g);let b=l.eql(l.sqr(d),c),_=l.cmov(u,d,b);return HS(l,_,c),_}}function Nz(e){if(e<Cz)throw Error("sqrt is not defined for small field");let t=e-kt,r=0;while(t%Ks===ar)t/=Ks,r++;let i=Ks,n=Dm(e);while(Az(n,i)===1)if(i++>1000)throw Error("Cannot find square root: probably non-prime P");if(r===1)return zz;let o=n.pow(i,t),s=(t+kt)/Ks;return function(c,l){let u=c;if(u.is0(l))return l;if(Az(u,l)!==1)throw Error("Cannot find square root");let d=r,p=u.mul(u.ONE,o),m=u.pow(l,t),y=u.pow(l,s);while(!u.eql(m,u.ONE)){if(u.is0(m))return u.ZERO;let g=1,b=u.sqr(m);while(!u.eql(b,u.ONE))if(g++,b=u.sqr(b),g===d)throw Error("Cannot find square root");let _=kt<<BigInt(d-g-1),A=u.pow(p,_);d=g,p=u.sqr(A),m=u.mul(m,p),y=u.mul(y,A)}return y}}function eQ(e){if(e%$z===Cz)return zz;if(e%Rz===Oz)return YG;if(e%Pz===QG)return XG(e);return Nz(e)}var ji=(e,t)=>(yt(e,t)&kt)===kt,tQ=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function KS(e){let t={ORDER:"bigint",BYTES:"number",BITS:"number"},r=tQ.reduce((i,n)=>(i[n]="function",i),t);if(xn(e,r),oi(e.BYTES,"BYTES"),oi(e.BITS,"BITS"),e.BYTES<1||e.BITS<1)throw Error("invalid field: expected BYTES/BITS > 0");if(e.ORDER<=kt)throw Error("invalid field: expected ORDER > 1, got "+e.ORDER);return e}function rQ(e,t,r){let i=e;if(r<ar)throw Error("invalid exponent, negatives unsupported");if(r===ar)return i.ONE;if(r===kt)return t;let n=i.ONE,o=t;while(r>ar){if(r&kt)n=i.mul(n,o);o=i.sqr(o),r>>=kt}return n}function ad(e,t,r=!1){let i=e,n=Array(t.length).fill(r?i.ZERO:void 0),o=t.reduce((a,c,l)=>{if(i.is0(c))return a;return n[l]=a,i.mul(a,c)},i.ONE),s=i.inv(o);return t.reduceRight((a,c,l)=>{if(i.is0(c))return a;return n[l]=i.mul(a,n[l]),i.mul(a,c)},s),n}function Az(e,t){let r=e,i=(r.ORDER-kt)/Ks,n=r.pow(t,i),o=r.eql(n,r.ONE),s=r.eql(n,r.ZERO),a=r.eql(n,r.neg(r.ONE));if(!o&&!s&&!a)throw Error("invalid Legendre symbol result");return o?1:s?0:-1}function nQ(e,t){if(t!==void 0)FS(t);if(e<=ar)throw Error("invalid n length: expected positive n, got "+e);if(t!==void 0&&t<1)throw Error("invalid n length: expected positive bit length, got "+t);let r=wc(e);if(t!==void 0&&t<r)throw Error(`invalid n length: expected bit length (${r}) >= n.length (${t})`);let i=t!==void 0?t:r,n=Math.ceil(i/8);return{nBitLength:i,nByteLength:n}}var Tz=new WeakMap;class JS{ORDER;BITS;BYTES;isLE;ZERO=ar;ONE=kt;_lengths;_mod;constructor(e,t={}){if(e<=kt)throw Error("invalid field: expected ORDER > 1, got "+e);let r=void 0;if(this.isLE=!1,t!=null&&typeof t==="object"){if(typeof t.BITS==="number")r=t.BITS;if(typeof t.sqrt==="function")Object.defineProperty(this,"sqrt",{value:t.sqrt,enumerable:!0});if(typeof t.isLE==="boolean")this.isLE=t.isLE;if(t.allowedLengths)this._lengths=Object.freeze(t.allowedLengths.slice());if(typeof t.modFromBytes==="boolean")this._mod=t.modFromBytes}let{nBitLength:i,nByteLength:n}=nQ(e,r);if(n>2048)throw Error("invalid field: expected ORDER of <= 2048 bytes");this.ORDER=e,this.BITS=i,this.BYTES=n,Object.freeze(this)}create(e){return yt(e,this.ORDER)}isValid(e){if(typeof e!=="bigint")throw TypeError("invalid field element: expected bigint, got "+typeof e);return ar<=e&&e<this.ORDER}is0(e){return e===ar}isValidNot0(e){return!this.is0(e)&&this.isValid(e)}isOdd(e){return(e&kt)===kt}neg(e){return yt(-e,this.ORDER)}eql(e,t){return e===t}sqr(e){return yt(e*e,this.ORDER)}add(e,t){return yt(e+t,this.ORDER)}sub(e,t){return yt(e-t,this.ORDER)}mul(e,t){return yt(e*t,this.ORDER)}pow(e,t){return rQ(this,e,t)}div(e,t){return yt(e*Iz(t,this.ORDER),this.ORDER)}sqrN(e){return e*e}addN(e,t){return e+t}subN(e,t){return e-t}mulN(e,t){return e*t}inv(e){return Iz(e,this.ORDER)}sqrt(e){let t=Tz.get(this);if(!t)Tz.set(this,t=eQ(this.ORDER));return t(this,e)}toBytes(e){return this.isLE?od(e,this.BYTES):zm(e,this.BYTES)}fromBytes(e,t=!1){lt(e);let{_lengths:r,BYTES:i,isLE:n,ORDER:o,_mod:s}=this;if(r){if(e.length<1||!r.includes(e.length)||e.length>i)throw Error("Field.fromBytes: expected "+r+" bytes, got "+e.length);let c=new Uint8Array(i);c.set(e,n?0:c.length-e.length),e=c}if(e.length!==i)throw Error("Field.fromBytes: expected "+i+" bytes, got "+e.length);let a=n?Nn(e):Hs(e);if(s)a=yt(a,o);if(!t){if(!this.isValid(a))throw Error("invalid field element: outside of range 0..ORDER")}return a}invertBatch(e){return ad(this,e)}cmov(e,t,r){return Li(r,"condition"),r?t:e}}Object.freeze(JS.prototype);function Dm(e,t={}){return new JS(e,t)}function Dz(e){if(typeof e!=="bigint")throw Error("field order must be bigint");if(e<=kt)throw Error("field order must be greater than 1");let t=wc(e-kt);return Math.ceil(t/8)}function VS(e){let t=Dz(e);return t+Math.ceil(t/2)}function Lz(e,t,r=!1){lt(e);let i=e.length,n=Dz(t),o=Math.max(VS(t),16);if(i<o||i>1024)throw Error("expected "+o+"-1024 bytes of input, got "+i);let s=r?Nn(e):Hs(e),a=yt(s,t-kt)+kt;return r?od(a,n):zm(a,n)}/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */var vc=BigInt(0),Js=BigInt(1);function cd(e,t){let r=t.negate();return e?r:t}function Vs(e,t){let r=ad(e.Fp,t.map((i)=>i.Z));return t.map((i,n)=>e.fromAffine(i.toAffine(r[n])))}function Uz(e,t){if(!Number.isSafeInteger(e)||e<=0||e>t)throw Error("invalid window size, expected [1.."+t+"], got W="+e)}function WS(e,t){Uz(e,t);let r=Math.ceil(t/e)+1,i=2**(e-1),n=2**e,o=sd(e),s=BigInt(e);return{windows:r,windowSize:i,mask:o,maxNumber:n,shiftBy:s}}function Bz(e,t,r){let{windowSize:i,mask:n,maxNumber:o,shiftBy:s}=r,a=Number(e&n),c=e>>s;if(a>i)a-=o,c+=Js;let l=t*i,u=l+Math.abs(a)-1,d=a===0,p=a<0,m=t%2!==0;return{nextN:c,offset:u,isZero:d,isNeg:p,isNegF:m,offsetF:l}}var GS=new WeakMap,Mz=new WeakMap;function QS(e){return Mz.get(e)||1}function jz(e){if(e!==vc)throw Error("invalid wNAF")}class ld{BASE;ZERO;Fn;bits;constructor(e,t){this.BASE=e.BASE,this.ZERO=e.ZERO,this.Fn=e.Fn,this.bits=t}_unsafeLadder(e,t,r=this.ZERO){let i=e;while(t>vc){if(t&Js)r=r.add(i);i=i.double(),t>>=Js}return r}precomputeWindow(e,t){let{windows:r,windowSize:i}=WS(t,this.bits),n=[],o=e,s=o;for(let a=0;a<r;a++){s=o,n.push(s);for(let c=1;c<i;c++)s=s.add(o),n.push(s);o=s.double()}return n}wNAF(e,t,r){if(!this.Fn.isValid(r))throw Error("invalid scalar");let i=this.ZERO,n=this.BASE,o=WS(e,this.bits);for(let s=0;s<o.windows;s++){let{nextN:a,offset:c,isZero:l,isNeg:u,isNegF:d,offsetF:p}=Bz(r,s,o);if(r=a,l)n=n.add(cd(d,t[p]));else i=i.add(cd(u,t[c]))}return jz(r),{p:i,f:n}}wNAFUnsafe(e,t,r,i=this.ZERO){let n=WS(e,this.bits);for(let o=0;o<n.windows;o++){if(r===vc)break;let{nextN:s,offset:a,isZero:c,isNeg:l}=Bz(r,o,n);if(r=s,c)continue;else{let u=t[a];i=i.add(l?u.negate():u)}}return jz(r),i}getPrecomputes(e,t,r){let i=GS.get(t);if(!i){if(i=this.precomputeWindow(t,e),e!==1){if(typeof r==="function")i=r(i);GS.set(t,i)}}return i}cached(e,t,r){let i=QS(e);return this.wNAF(i,this.getPrecomputes(i,e,r),t)}unsafe(e,t,r,i){let n=QS(e);if(n===1)return this._unsafeLadder(e,t,i);return this.wNAFUnsafe(n,this.getPrecomputes(n,e,r),t,i)}createCache(e,t){Uz(t,this.bits),Mz.set(e,t),GS.delete(e)}hasCache(e){return QS(e)!==1}}function Fz(e,t,r,i){let n=t,o=e.ZERO,s=e.ZERO;while(r>vc||i>vc){if(r&Js)o=o.add(n);if(i&Js)s=s.add(n);n=n.double(),r>>=Js,i>>=Js}return{p1:o,p2:s}}function qz(e,t,r){if(t){if(t.ORDER!==e)throw Error("Field.ORDER must match order: Fp == p, Fn == n");return KS(t),t}else return Dm(e,{isLE:r})}function Lm(e,t,r={},i){if(i===void 0)i=e==="edwards";if(!t||typeof t!=="object")throw Error(`expected valid ${e} CURVE object`);for(let c of["p","n","h"]){let l=t[c];if(!(typeof l==="bigint"&&l>vc))throw Error(`CURVE.${c} must be positive bigint`)}let n=qz(t.p,r.Fp,i),o=qz(t.n,r.Fn,i),a=["Gx","Gy","a",e==="weierstrass"?"b":"d"];for(let c of a)if(!n.isValid(t[c]))throw Error(`CURVE.${c} must be valid field element of CURVE.Fp`);return t=Object.freeze(Object.assign({},t)),{CURVE:t,Fp:n,Fn:o}}function ud(e,t){return function(i){let n=e(i);return{secretKey:n,publicKey:t(n)}}}function dd(e,t){if(oi(e),oi(t),t<0||t>4)throw Error("invalid I2OSP length: "+t);if(e<0||e>2**(8*t)-1)throw Error("invalid I2OSP input: "+e);let r=Array.from({length:t}).fill(0);for(let i=t-1;i>=0;i--)r[i]=e&255,e>>>=8;return new Uint8Array(r)}function iQ(e,t){let r=new Uint8Array(e.length);for(let i=0;i<e.length;i++)r[i]=e[i]^t[i];return r}function oQ(e){if(!xc(e)&&typeof e!=="string")throw Error("DST must be Uint8Array or ascii string");let t=typeof e==="string"?Nm(e):e;if(t.length===0)throw Error("DST must be non-empty");return t}function YS(e,t,r,i){if(lt(e),oi(r),t=oQ(t),t.length>255)t=i(sr(Nm("H2C-OVERSIZE-DST-"),t));let{outputLen:n,blockLen:o}=i,s=Math.ceil(r/n);if(r>65535||s>255)throw Error("expand_message_xmd: invalid lenInBytes");let a=sr(t,dd(t.length,1)),c=new Uint8Array(o),l=dd(r,2),u=Array(s),d=i(sr(c,e,l,dd(0,1),a));u[0]=i(sr(d,dd(1,1),a));for(let m=1;m<s;m++){let y=[iQ(d,u[m-1]),dd(m+1,1),a];u[m]=i(sr(...y))}return sr(...u).slice(0,r)}var Zz="HashToScalar-";/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */var Hz=(e,t)=>(e+(e>=0?t:-t)/Jz)/t;function sQ(e,t,r){Bi("scalar",e,si,r);let[[i,n],[o,s]]=t,a=Hz(s*e,r),c=Hz(-n*e,r),l=e-a*i-c*o,u=-a*n-c*s,d=l<si,p=u<si;if(d)l=-l;if(p)u=-u;let m=sd(Math.ceil(wc(r)/2))+$o;if(l<si||l>=m||u<si||u>=m)throw Error("splitScalar (endomorphism): failed for k");return{k1neg:d,k1:l,k2neg:p,k2:u}}function ew(e){if(!["compact","recovered","der"].includes(e))throw Error('Signature format must be "compact", "recovered", or "der"');return e}function XS(e,t){xn(e);let r={};for(let i of Object.keys(t))r[i]=e[i]===void 0?t[i]:e[i];if(Li(r.lowS,"lowS"),Li(r.prehash,"prehash"),r.format!==void 0)ew(r.format);return r}class Kz extends Error{constructor(e=""){super(e)}}var Dn={Err:Kz,_tlv:{encode:(e,t)=>{let{Err:r}=Dn;if(oi(e,"tag"),e<0||e>255)throw new r("tlv.encode: wrong tag");if(typeof t!=="string")throw TypeError('"data" expected string, got type='+typeof t);if(t.length&1)throw new r("tlv.encode: unpadded data");let i=t.length/2,n=id(i);if(n.length/2&128)throw new r("tlv.encode: long form length too big");let o=i>127?id(n.length/2|128):"";return id(e)+o+n+t},decode(e,t){let{Err:r}=Dn;t=lt(t,void 0,"DER data");let i=0;if(e<0||e>255)throw new r("tlv.encode: wrong tag");if(t.length<2||t[i++]!==e)throw new r("tlv.decode: wrong tlv");let n=t[i++],o=!!(n&128),s=0;if(!o)s=n;else{let c=n&127;if(!c)throw new r("tlv.decode(long): indefinite length not supported");if(c>4)throw new r("tlv.decode(long): byte length is too big");let l=t.subarray(i,i+c);if(l.length!==c)throw new r("tlv.decode: length bytes not complete");if(l[0]===0)throw new r("tlv.decode(long): zero leftmost byte");for(let u of l)s=s<<8|u;if(i+=c,s<128)throw new r("tlv.decode(long): not minimal encoding")}let a=t.subarray(i,i+s);if(a.length!==s)throw new r("tlv.decode: wrong value length");return{v:a,l:t.subarray(i+s)}}},_int:{encode(e){let{Err:t}=Dn;if(Pm(e),e<si)throw new t("integer: negative integers are not allowed");let r=id(e);if(Number.parseInt(r[0],16)&8)r="00"+r;if(r.length&1)throw new t("unexpected DER parsing assertion: unpadded hex");return r},decode(e){let{Err:t}=Dn;if(e.length<1)throw new t("invalid signature integer: empty");if(e[0]&128)throw new t("invalid signature integer: negative");if(e.length>1&&e[0]===0&&!(e[1]&128))throw new t("invalid signature integer: unnecessary leading zero");return Hs(e)}},toSig(e){let{Err:t,_int:r,_tlv:i}=Dn,n=lt(e,void 0,"signature"),{v:o,l:s}=i.decode(48,n);if(s.length)throw new t("invalid signature: left bytes after parsing");let{v:a,l:c}=i.decode(2,o),{v:l,l:u}=i.decode(2,c);if(u.length)throw new t("invalid signature: left bytes after parsing");return{r:r.decode(a),s:r.decode(l)}},hexFromSig(e){let{_tlv:t,_int:r}=Dn,i=t.encode(2,r.encode(e.r)),n=t.encode(2,r.encode(e.s)),o=i+n;return t.encode(48,o)}};Object.freeze(Dn._tlv);Object.freeze(Dn._int);Object.freeze(Dn);var si=BigInt(0),$o=BigInt(1),Jz=BigInt(2),Bm=BigInt(3),aQ=BigInt(4);function Vz(e,t={}){let r=Lm("weierstrass",e,t),i=r.Fp,n=r.Fn,o=r.CURVE,{h:s,n:a}=o;xn(t,{},{allowInfinityPoint:"boolean",clearCofactor:"function",isTorsionFree:"function",fromBytes:"function",toBytes:"function",endo:"object"});let{endo:c,allowInfinityPoint:l}=t;if(c){if(!i.is0(o.a)||typeof c.beta!=="bigint"||!Array.isArray(c.basises))throw Error('invalid endo: expected "beta": bigint and "basises": array')}let u=Gz(i,n);function d(){if(!i.isOdd)throw Error("compression is not supported: Field does not have .isOdd()")}function p(M,P,N){if(l&&P.is0())return Uint8Array.of(0);let{x:I,y:R}=P.toAffine(),O=i.toBytes(I);if(Li(N,"isCompressed"),N){d();let F=!i.isOdd(R);return sr(Wz(F),O)}else return sr(Uint8Array.of(4),O,i.toBytes(R))}function m(M){lt(M,void 0,"Point");let{publicKey:P,publicKeyUncompressed:N}=u,I=M.length,R=M[0],O=M.subarray(1);if(l&&I===1&&R===0)return{x:i.ZERO,y:i.ZERO};if(I===P&&(R===2||R===3)){let F=i.fromBytes(O);if(!i.isValid(F))throw Error("bad point: is not on curve, wrong x");let L=b(F),V;try{V=i.sqrt(L)}catch(de){let C=de instanceof Error?": "+de.message:"";throw Error("bad point: is not on curve, sqrt error"+C)}d();let k=i.isOdd(V);if((R&1)===1!==k)V=i.neg(V);return{x:F,y:V}}else if(I===N&&R===4){let F=i.BYTES,L=i.fromBytes(O.subarray(0,F)),V=i.fromBytes(O.subarray(F,F*2));if(!_(L,V))throw Error("bad point: is not on curve");return{x:L,y:V}}else throw Error(`bad point: got length ${I}, expected compressed=${P} or uncompressed=${N}`)}let y=t.toBytes===void 0?p:t.toBytes,g=t.fromBytes===void 0?m:t.fromBytes;function b(M){let P=i.sqr(M),N=i.mul(P,M);return i.add(i.add(N,i.mul(M,o.a)),o.b)}function _(M,P){let N=i.sqr(P),I=b(M);return i.eql(N,I)}if(!_(o.Gx,o.Gy))throw Error("bad curve params: generator point");let A=i.mul(i.pow(o.a,Bm),aQ),T=i.mul(i.sqr(o.b),BigInt(27));if(i.is0(i.add(A,T)))throw Error("bad curve params: a or b");function z(M,P,N=!1){if(!i.isValid(P)||N&&i.is0(P))throw Error(`bad point coordinate ${M}`);return P}function j(M){if(!(M instanceof D))throw Error("Weierstrass Point expected")}function E(M){if(!c||!c.basises)throw Error("no endo");return sQ(M,c.basises,n.ORDER)}function Z(M,P,N,I,R){return N=new D(i.mul(N.X,M),N.Y,N.Z),P=cd(I,P),N=cd(R,N),P.add(N)}class D{static BASE=new D(o.Gx,o.Gy,i.ONE);static ZERO=new D(i.ZERO,i.ONE,i.ZERO);static Fp=i;static Fn=n;X;Y;Z;constructor(M,P,N){this.X=z("x",M),this.Y=z("y",P,!0),this.Z=z("z",N),Object.freeze(this)}static CURVE(){return o}static fromAffine(M){let{x:P,y:N}=M||{};if(!M||!i.isValid(P)||!i.isValid(N))throw Error("invalid affine point");if(M instanceof D)throw Error("projective point not allowed");if(i.is0(P)&&i.is0(N))return D.ZERO;return new D(P,N,i.ONE)}static fromBytes(M){let P=D.fromAffine(g(lt(M,void 0,"point")));return P.assertValidity(),P}static fromHex(M){return D.fromBytes(bc(M))}get x(){return this.toAffine().x}get y(){return this.toAffine().y}precompute(M=8,P=!0){if(X.createCache(this,M),!P)this.multiply(Bm);return this}assertValidity(){let M=this;if(M.is0()){if(t.allowInfinityPoint&&i.is0(M.X)&&i.eql(M.Y,i.ONE)&&i.is0(M.Z))return;throw Error("bad point: ZERO")}let{x:P,y:N}=M.toAffine();if(!i.isValid(P)||!i.isValid(N))throw Error("bad point: x or y not field elements");if(!_(P,N))throw Error("bad point: equation left != right");if(!M.isTorsionFree())throw Error("bad point: not in prime-order subgroup")}hasEvenY(){let{y:M}=this.toAffine();if(!i.isOdd)throw Error("Field doesn't support isOdd");return!i.isOdd(M)}equals(M){j(M);let{X:P,Y:N,Z:I}=this,{X:R,Y:O,Z:F}=M,L=i.eql(i.mul(P,F),i.mul(R,I)),V=i.eql(i.mul(N,F),i.mul(O,I));return L&&V}negate(){return new D(this.X,i.neg(this.Y),this.Z)}double(){let{a:M,b:P}=o,N=i.mul(P,Bm),{X:I,Y:R,Z:O}=this,F=i.ZERO,L=i.ZERO,V=i.ZERO,k=i.mul(I,I),re=i.mul(R,R),de=i.mul(O,O),C=i.mul(I,R);return C=i.add(C,C),V=i.mul(I,O),V=i.add(V,V),F=i.mul(M,V),L=i.mul(N,de),L=i.add(F,L),F=i.sub(re,L),L=i.add(re,L),L=i.mul(F,L),F=i.mul(C,F),V=i.mul(N,V),de=i.mul(M,de),C=i.sub(k,de),C=i.mul(M,C),C=i.add(C,V),V=i.add(k,k),k=i.add(V,k),k=i.add(k,de),k=i.mul(k,C),L=i.add(L,k),de=i.mul(R,O),de=i.add(de,de),k=i.mul(de,C),F=i.sub(F,k),V=i.mul(de,re),V=i.add(V,V),V=i.add(V,V),new D(F,L,V)}add(M){j(M);let{X:P,Y:N,Z:I}=this,{X:R,Y:O,Z:F}=M,L=i.ZERO,V=i.ZERO,k=i.ZERO,re=o.a,de=i.mul(o.b,Bm),C=i.mul(P,R),xe=i.mul(N,O),Ee=i.mul(I,F),Ce=i.add(P,N),$e=i.add(R,O);Ce=i.mul(Ce,$e),$e=i.add(C,xe),Ce=i.sub(Ce,$e),$e=i.add(P,I);let _e=i.add(R,F);return $e=i.mul($e,_e),_e=i.add(C,Ee),$e=i.sub($e,_e),_e=i.add(N,I),L=i.add(O,F),_e=i.mul(_e,L),L=i.add(xe,Ee),_e=i.sub(_e,L),k=i.mul(re,$e),L=i.mul(de,Ee),k=i.add(L,k),L=i.sub(xe,k),k=i.add(xe,k),V=i.mul(L,k),xe=i.add(C,C),xe=i.add(xe,C),Ee=i.mul(re,Ee),$e=i.mul(de,$e),xe=i.add(xe,Ee),Ee=i.sub(C,Ee),Ee=i.mul(re,Ee),$e=i.add($e,Ee),C=i.mul(xe,$e),V=i.add(V,C),C=i.mul(_e,$e),L=i.mul(Ce,L),L=i.sub(L,C),C=i.mul(Ce,xe),k=i.mul(_e,k),k=i.add(k,C),new D(L,V,k)}subtract(M){return j(M),this.add(M.negate())}is0(){return this.equals(D.ZERO)}multiply(M){let{endo:P}=t;if(!n.isValidNot0(M))throw RangeError("invalid scalar: out of range");let N,I,R=(O)=>X.cached(this,O,(F)=>Vs(D,F));if(P){let{k1neg:O,k1:F,k2neg:L,k2:V}=E(M),{p:k,f:re}=R(F),{p:de,f:C}=R(V);I=re.add(C),N=Z(P.beta,k,de,O,L)}else{let{p:O,f:F}=R(M);N=O,I=F}return Vs(D,[N,I])[0]}multiplyUnsafe(M){let{endo:P}=t,N=this,I=M;if(!n.isValid(I))throw RangeError("invalid scalar: out of range");if(I===si||N.is0())return D.ZERO;if(I===$o)return N;if(X.hasCache(this))return this.multiply(I);if(P){let{k1neg:R,k1:O,k2neg:F,k2:L}=E(I),{p1:V,p2:k}=Fz(D,N,O,L);return Z(P.beta,V,k,R,F)}else return X.unsafe(N,I)}toAffine(M){let P=this,N=M,{X:I,Y:R,Z:O}=P;if(i.eql(O,i.ONE))return{x:I,y:R};let F=P.is0();if(N==null)N=F?i.ONE:i.inv(O);let L=i.mul(I,N),V=i.mul(R,N),k=i.mul(O,N);if(F)return{x:i.ZERO,y:i.ZERO};if(!i.eql(k,i.ONE))throw Error("invZ was invalid");return{x:L,y:V}}isTorsionFree(){let{isTorsionFree:M}=t;if(s===$o)return!0;if(M)return M(D,this);return X.unsafe(this,a).is0()}clearCofactor(){let{clearCofactor:M}=t;if(s===$o)return this;if(M)return M(D,this);return this.multiplyUnsafe(s)}isSmallOrder(){if(s===$o)return this.is0();return this.clearCofactor().is0()}toBytes(M=!0){return Li(M,"isCompressed"),this.assertValidity(),y(D,this,M)}toHex(M=!0){return yc(this.toBytes(M))}toString(){return`<Point ${this.is0()?"ZERO":this.toHex()}>`}}let H=n.BITS,X=new ld(D,t.endo?Math.ceil(H/2):H);if(H>=8)D.BASE.precompute(8);return Object.freeze(D.prototype),Object.freeze(D),D}function Wz(e){return Uint8Array.of(e?2:3)}function Gz(e,t){return{secretKey:t.BYTES,publicKey:1+e.BYTES,publicKeyUncompressed:1+2*e.BYTES,publicKeyHasPrefix:!0,signature:2*t.BYTES}}function cQ(e,t={}){let{Fn:r}=e,i=t.randomBytes===void 0?Sc:t.randomBytes,n=Object.assign(Gz(e.Fp,r),{seed:Math.max(VS(r.ORDER),16)});function o(m){try{let y=r.fromBytes(m);return r.isValidNot0(y)}catch(y){return!1}}function s(m,y){let{publicKey:g,publicKeyUncompressed:b}=n;try{let _=m.length;if(y===!0&&_!==g)return!1;if(y===!1&&_!==b)return!1;return!!e.fromBytes(m)}catch(_){return!1}}function a(m){return m=m===void 0?i(n.seed):m,Lz(lt(m,n.seed,"seed"),r.ORDER)}function c(m,y=!0){return e.BASE.multiply(r.fromBytes(m)).toBytes(y)}function l(m){let{secretKey:y,publicKey:g,publicKeyUncompressed:b}=n,_=r._lengths;if(!xc(m))return;let A=lt(m,void 0,"key").length,T=A===g||A===b,z=A===y||!!_?.includes(A);if(T&&z)return;return T}function u(m,y,g=!0){if(l(m)===!0)throw Error("first arg must be private key");if(l(y)===!1)throw Error("second arg must be public key");let b=r.fromBytes(m);return e.fromBytes(y).multiply(b).toBytes(g)}let d={isValidSecretKey:o,isValidPublicKey:s,randomSecretKey:a},p=ud(a,c);return Object.freeze(d),Object.freeze(n),Object.freeze({getPublicKey:c,getSharedSecret:u,keygen:p,Point:e,utils:d,lengths:n})}function Qz(e,t,r={}){let i=t;Ti(i),xn(r,{},{hmac:"function",lowS:"boolean",randomBytes:"function",bits2int:"function",bits2int_modN:"function"}),r=Object.assign({},r);let n=r.randomBytes===void 0?Sc:r.randomBytes,o=r.hmac===void 0?(R,O)=>Xn(i,R,O):r.hmac,{Fp:s,Fn:a}=e,{ORDER:c,BITS:l}=a,{keygen:u,getPublicKey:d,getSharedSecret:p,utils:m,lengths:y}=cQ(e,r),g={prehash:!0,lowS:typeof r.lowS==="boolean"?r.lowS:!0,format:"compact",extraEntropy:!1},b=c*Jz+$o<s.ORDER;function _(R){let O=c>>$o;return R>O}function A(R,O){if(!a.isValidNot0(O))throw Error(`invalid signature ${R}: out of range 1..Point.Fn.ORDER`);return O}function T(){if(b)throw Error('"recovered" sig type is not supported for cofactor >2 curves')}function z(R,O){ew(O);let F=y.signature,L=O==="compact"?F:O==="recovered"?F+1:void 0;return lt(R,L)}class j{r;s;recovery;constructor(R,O,F){if(this.r=A("r",R),this.s=A("s",O),F!=null){if(T(),![0,1,2,3].includes(F))throw Error("invalid recovery id");this.recovery=F}Object.freeze(this)}static fromBytes(R,O=g.format){z(R,O);let F;if(O==="der"){let{r:re,s:de}=Dn.toSig(lt(R));return new j(re,de)}if(O==="recovered")F=R[0],O="compact",R=R.subarray(1);let L=y.signature/2,V=R.subarray(0,L),k=R.subarray(L,L*2);return new j(a.fromBytes(V),a.fromBytes(k),F)}static fromHex(R,O){return this.fromBytes(bc(R),O)}assertRecovery(){let{recovery:R}=this;if(R==null)throw Error("invalid recovery id: must be present");return R}addRecoveryBit(R){return new j(this.r,this.s,R)}recoverPublicKey(R){let{r:O,s:F}=this,L=this.assertRecovery(),V=L===2||L===3?O+c:O;if(!s.isValid(V))throw Error("invalid recovery id: sig.r+curve.n != R.x");let k=s.toBytes(V),re=e.fromBytes(sr(Wz((L&1)===0),k)),de=a.inv(V),C=Z(lt(R,void 0,"msgHash")),xe=a.create(-C*de),Ee=a.create(F*de),Ce=e.BASE.multiplyUnsafe(xe).add(re.multiplyUnsafe(Ee));if(Ce.is0())throw Error("invalid recovery: point at infinify");return Ce.assertValidity(),Ce}hasHighS(){return _(this.s)}toBytes(R=g.format){if(ew(R),R==="der")return bc(Dn.hexFromSig(this));let{r:O,s:F}=this,L=a.toBytes(O),V=a.toBytes(F);if(R==="recovered")return T(),sr(Uint8Array.of(this.assertRecovery()),L,V);return sr(L,V)}toHex(R){return yc(this.toBytes(R))}}Object.freeze(j.prototype),Object.freeze(j);let E=r.bits2int===void 0?function(O){if(O.length>8192)throw Error("input is too large");let F=Hs(O),L=O.length*8-l;return L>0?F>>BigInt(L):F}:r.bits2int,Z=r.bits2int_modN===void 0?function(O){return a.create(E(O))}:r.bits2int_modN,D=sd(l);function H(R){return Bi("num < 2^"+l,R,si,D),a.toBytes(R)}function X(R,O){return lt(R,void 0,"message"),O?lt(i(R),void 0,"prehashed message"):R}function M(R,O,F){let{lowS:L,prehash:V,extraEntropy:k}=XS(F,g);R=X(R,V);let re=Z(R),de=a.fromBytes(O);if(!a.isValidNot0(de))throw Error("invalid private key");let C=[H(de),H(re)];if(k!=null&&k!==!1){let $e=k===!0?n(y.secretKey):k;C.push(lt($e,void 0,"extraEntropy"))}let xe=sr(...C),Ee=re;function Ce($e){let _e=E($e);if(!a.isValidNot0(_e))return;let Ve=a.inv(_e),De=e.BASE.multiply(_e).toAffine(),Ye=a.create(De.x);if(Ye===si)return;let mt=a.create(Ve*a.create(Ee+Ye*de));if(mt===si)return;let Dt=(De.x===Ye?0:2)|Number(De.y&$o),hr=mt;if(L&&_(mt))hr=a.neg(mt),Dt^=1;return new j(Ye,hr,b?void 0:Dt)}return{seed:xe,k2sig:Ce}}function P(R,O,F={}){let{seed:L,k2sig:V}=M(R,O,F);return Ez(i.outputLen,a.BYTES,o)(L,V).toBytes(F.format)}function N(R,O,F,L={}){let{lowS:V,prehash:k,format:re}=XS(L,g);if(F=lt(F,void 0,"publicKey"),O=X(O,k),!xc(R)){let de=R instanceof j?", use sig.toBytes()":"";throw Error("verify expects Uint8Array signature"+de)}z(R,re);try{let de=j.fromBytes(R,re),C=e.fromBytes(F);if(V&&de.hasHighS())return!1;let{r:xe,s:Ee}=de,Ce=Z(O),$e=a.inv(Ee),_e=a.create(Ce*$e),Ve=a.create(xe*$e),De=e.BASE.multiplyUnsafe(_e).add(C.multiplyUnsafe(Ve));if(De.is0())return!1;return a.create(De.x)===xe}catch(de){return!1}}function I(R,O,F={}){let{prehash:L}=XS(F,g);return O=X(O,L),j.fromBytes(R,"recovered").recoverPublicKey(O).toBytes()}return Object.freeze({keygen:u,getPublicKey:d,getSharedSecret:p,utils:m,lengths:y,Point:e,sign:P,verify:N,recoverPublicKey:I,Signature:j,hash:i})}/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */var lQ=(()=>({p:BigInt("0xffffffff00000001000000000000000000000000ffffffffffffffffffffffff"),n:BigInt("0xffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551"),h:BigInt(1),a:BigInt("0xffffffff00000001000000000000000000000000fffffffffffffffffffffffc"),b:BigInt("0x5ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b"),Gx:BigInt("0x6b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c296"),Gy:BigInt("0x4fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5")}))();var uQ=Vz(lQ),_c=Qz(uQ,$t);/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */var Oo=BigInt(0),Fr=BigInt(1),tw=BigInt(2),dQ=BigInt(8);function fQ(e,t,r,i){let n=e.sqr(r),o=e.sqr(i),s=e.add(e.mul(t.a,n),o),a=e.add(e.ONE,e.mul(t.d,e.mul(n,o)));return e.eql(s,a)}function Yz(e,t={}){let r=t,i=Lm("edwards",e,r,r.FpFnLE),{Fp:n,Fn:o}=i,s=i.CURVE,{h:a}=s;xn(r,{},{uvRatio:"function"});let c=tw<<BigInt(o.BYTES*8)-Fr,l=(g)=>n.create(g),u=r.uvRatio===void 0?(g,b)=>{try{return{isValid:!0,value:n.sqrt(n.div(g,b))}}catch(_){return{isValid:!1,value:Oo}}}:r.uvRatio;if(!fQ(n,s,s.Gx,s.Gy))throw Error("bad curve params: generator point");function d(g,b,_=!1){let A=_?Fr:Oo;return Bi("coordinate "+g,b,A,c),b}function p(g){if(!(g instanceof m))throw Error("EdwardsPoint expected")}class m{static BASE=new m(s.Gx,s.Gy,Fr,l(s.Gx*s.Gy));static ZERO=new m(Oo,Fr,Fr,Oo);static Fp=n;static Fn=o;X;Y;Z;T;constructor(g,b,_,A){this.X=d("x",g),this.Y=d("y",b),this.Z=d("z",_,!0),this.T=d("t",A),Object.freeze(this)}static CURVE(){return s}static fromAffine(g){if(g instanceof m)throw Error("extended point not allowed");let{x:b,y:_}=g||{};return d("x",b),d("y",_),new m(b,_,Fr,l(b*_))}static fromBytes(g,b=!1){let _=n.BYTES,{a:A,d:T}=s;g=Co(lt(g,_,"point")),Li(b,"zip215");let z=Co(g),j=g[_-1];z[_-1]=j&-129;let E=Nn(z),Z=b?c:n.ORDER;Bi("point.y",E,Oo,Z);let D=l(E*E),H=l(D-Fr),X=l(T*D-A),{isValid:M,value:P}=u(H,X);if(!M)throw Error("bad point: invalid y coordinate");let N=(P&Fr)===Fr,I=(j&128)!==0;if(!b&&P===Oo&&I)throw Error("bad point: x=0 and x_0=1");if(I!==N)P=l(-P);return m.fromAffine({x:P,y:E})}static fromHex(g,b=!1){return m.fromBytes(bc(g),b)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}precompute(g=8,b=!0){if(y.createCache(this,g),!b)this.multiply(tw);return this}assertValidity(){let g=this,{a:b,d:_}=s;if(g.is0())throw Error("bad point: ZERO");let{X:A,Y:T,Z:z,T:j}=g,E=l(A*A),Z=l(T*T),D=l(z*z),H=l(D*D),X=l(E*b),M=l(D*l(X+Z)),P=l(H+l(_*l(E*Z)));if(M!==P)throw Error("bad point: equation left != right (1)");let N=l(A*T),I=l(z*j);if(N!==I)throw Error("bad point: equation left != right (2)")}equals(g){p(g);let{X:b,Y:_,Z:A}=this,{X:T,Y:z,Z:j}=g,E=l(b*j),Z=l(T*A),D=l(_*j),H=l(z*A);return E===Z&&D===H}is0(){return this.equals(m.ZERO)}negate(){return new m(l(-this.X),this.Y,this.Z,l(-this.T))}double(){let{a:g}=s,{X:b,Y:_,Z:A}=this,T=l(b*b),z=l(_*_),j=l(tw*l(A*A)),E=l(g*T),Z=b+_,D=l(l(Z*Z)-T-z),H=E+z,X=H-j,M=E-z,P=l(D*X),N=l(H*M),I=l(D*M),R=l(X*H);return new m(P,N,R,I)}add(g){p(g);let{a:b,d:_}=s,{X:A,Y:T,Z:z,T:j}=this,{X:E,Y:Z,Z:D,T:H}=g,X=l(A*E),M=l(T*Z),P=l(j*_*H),N=l(z*D),I=l((A+T)*(E+Z)-X-M),R=N-P,O=N+P,F=l(M-b*X),L=l(I*R),V=l(O*F),k=l(I*F),re=l(R*O);return new m(L,V,re,k)}subtract(g){return p(g),this.add(g.negate())}multiply(g){if(!o.isValidNot0(g))throw RangeError("invalid scalar: expected 1 <= sc < curve.n");let{p:b,f:_}=y.cached(this,g,(A)=>Vs(m,A));return Vs(m,[b,_])[0]}multiplyUnsafe(g){if(!o.isValid(g))throw RangeError("invalid scalar: expected 0 <= sc < curve.n");if(g===Oo)return m.ZERO;if(this.is0()||g===Fr)return this;return y.unsafe(this,g,(b)=>Vs(m,b))}isSmallOrder(){return this.clearCofactor().is0()}isTorsionFree(){return y.unsafe(this,s.n).is0()}toAffine(g){let b=this,_=g,{X:A,Y:T,Z:z}=b,j=b.is0();if(_==null)_=j?dQ:n.inv(z);let E=l(A*_),Z=l(T*_),D=n.mul(z,_);if(j)return{x:Oo,y:Fr};if(D!==Fr)throw Error("invZ was invalid");return{x:E,y:Z}}clearCofactor(){if(a===Fr)return this;return this.multiplyUnsafe(a)}toBytes(){let{x:g,y:b}=this.toAffine(),_=n.toBytes(b);return _[_.length-1]|=g&Fr?128:0,_}toHex(){return yc(this.toBytes())}toString(){return`<Point ${this.is0()?"ZERO":this.toHex()}>`}}let y=new ld(m,o.BITS);if(o.BITS>=8)m.BASE.precompute(8);return Object.freeze(m.prototype),Object.freeze(m),m}class rw{static BASE;static ZERO;static Fp;static Fn;ep;constructor(e){this.ep=e}static fromBytes(e){ZS()}static fromHex(e){ZS()}get x(){return this.toAffine().x}get y(){return this.toAffine().y}clearCofactor(){return this}assertValidity(){this.ep.assertValidity()}toAffine(e){return this.ep.toAffine(e)}toHex(){return yc(this.toBytes())}toString(){return this.toHex()}isTorsionFree(){return!0}isSmallOrder(){return!1}add(e){return this.assertSame(e),this.init(this.ep.add(e.ep))}subtract(e){return this.assertSame(e),this.init(this.ep.subtract(e.ep))}multiply(e){return this.init(this.ep.multiply(e))}multiplyUnsafe(e){return this.init(this.ep.multiplyUnsafe(e))}double(){return this.init(this.ep.double())}negate(){return this.init(this.ep.negate())}precompute(e,t){return this.ep.precompute(e,t),this}}/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */var fd=BigInt(0),kc=BigInt(1),jm=BigInt(2);function pQ(e){return xn(e,{P:"bigint",type:"string",adjustScalarBytes:"function",powPminus2:"function"},{randomBytes:"function"}),Object.freeze({...e})}function Xz(e){let t=pQ(e),{P:r,type:i,adjustScalarBytes:n,powPminus2:o,randomBytes:s}=t,a=i==="x25519";if(!a&&i!=="x448")throw Error("invalid type");let c=s===void 0?Sc:s,l=a?255:448,u=a?32:56,d=a?BigInt(9):BigInt(5),p=a?BigInt(121665):BigInt(39081),m=a?jm**BigInt(254):jm**BigInt(447),y=a?BigInt(8)*jm**BigInt(251)-kc:BigInt(4)*jm**BigInt(445)-kc,g=m+y+kc,b=(I)=>yt(I,r),_=A(d);function A(I){return od(b(I),u)}function T(I){let R=Co(lt(I,u,"uCoordinate"));if(a)R[31]&=127;return b(Nn(R))}function z(I){return Nn(n(Co(lt(I,u,"scalar"))))}function j(I,R){let O=X(T(R),z(I));if(O===fd)throw Error("invalid private or public key received");return A(O)}function E(I){return j(I,_)}let Z=E,D=j;function H(I,R,O){let F=b(I*(R-O));return R=b(R-F),O=b(O+F),{x_2:R,x_3:O}}function X(I,R){Bi("u",I,fd,r),Bi("scalar",R,m,g);let O=R,F=I,L=kc,V=fd,k=I,re=kc,de=fd;for(let xe=BigInt(l-1);xe>=fd;xe--){let Ee=O>>xe&kc;de^=Ee,{x_2:L,x_3:k}=H(de,L,k),{x_2:V,x_3:re}=H(de,V,re),de=Ee;let Ce=L+V,$e=b(Ce*Ce),_e=L-V,Ve=b(_e*_e),De=$e-Ve,Ye=k+re,mt=k-re,Dt=b(mt*Ce),hr=b(Ye*_e),Yr=Dt+hr,Xr=Dt-hr;k=b(Yr*Yr),re=b(F*b(Xr*Xr)),L=b($e*Ve),V=b(De*($e+b(p*De)))}({x_2:L,x_3:k}=H(de,L,k)),{x_2:V,x_3:re}=H(de,V,re);let C=o(V);return b(L*C)}let M={secretKey:u,publicKey:u,seed:u},P=(I)=>(I=I===void 0?c(u):I,lt(I,M.seed,"seed"),I),N={randomSecretKey:P};return Object.freeze(M),Object.freeze(N),Object.freeze({keygen:ud(P,Z),getSharedSecret:D,getPublicKey:Z,scalarMult:j,scalarMultBase:E,utils:N,GuBytes:_.slice(),lengths:M})}/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */var mQ=BigInt(0),qi=BigInt(1),e2=BigInt(2),hQ=BigInt(3),gQ=BigInt(5),yQ=BigInt(8),Gs=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffed"),sw=(()=>({p:Gs,n:BigInt("0x1000000000000000000000000000000014def9dea2f79cd65812631a5cf5d3ed"),h:yQ,a:BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec"),d:BigInt("0x52036cee2b6ffe738cc740797779e89800700a4d4141d8ab75eb4dca135978a3"),Gx:BigInt("0x216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a"),Gy:BigInt("0x6666666666666666666666666666666666666666666666666666666666666658")}))();function n2(e){let t=BigInt(10),r=BigInt(20),i=BigInt(40),n=BigInt(80),o=Gs,a=e*e%o*e%o,c=Sn(a,e2,o)*a%o,l=Sn(c,qi,o)*e%o,u=Sn(l,gQ,o)*l%o,d=Sn(u,t,o)*u%o,p=Sn(d,r,o)*d%o,m=Sn(p,i,o)*p%o,y=Sn(m,n,o)*m%o,g=Sn(y,n,o)*m%o,b=Sn(g,t,o)*u%o;return{pow_p_5_8:Sn(b,e2,o)*e%o,b2:a}}function bQ(e){return e[0]&=248,e[31]&=127,e[31]|=64,e}var nw=BigInt("19681161376707505956807079304988542015446066515923890162744021073123829784752");function aw(e,t){let r=Gs,i=yt(t*t*t,r),n=yt(i*i*t,r),o=n2(e*n).pow_p_5_8,s=yt(e*i*o,r),a=yt(t*s*s,r),c=s,l=yt(s*nw,r),u=a===e,d=a===yt(-e,r),p=a===yt(-e*nw,r);if(u)s=c;if(d||p)s=l;if(ji(s,r))s=yt(-s,r);return{isValid:u||d,value:s}}var Ws=Yz(sw,{uvRatio:aw}),Ro=(()=>Ws.Fp)(),i2=(()=>Ws.Fn)();var qm=(()=>{let e=Gs;return Xz({P:e,type:"x25519",powPminus2:(t)=>{let{pow_p_5_8:r,b2:i}=n2(t);return yt(Sn(r,hQ,e)*i,e)},adjustScalarBytes:bQ})})();var iw=nw,xQ=BigInt("25063068953384623474111414158702152701244531502492656460079210482610430750235"),SQ=BigInt("54469307008909316920995813868745141605393597292927456921205312896311721017578"),wQ=BigInt("1159843021668779879193775521855586647937357759715417654439879720876111806838"),vQ=BigInt("40440834346308536858101042469323190826248399146238708352240133220865137265952"),t2=(e)=>aw(qi,e),_Q=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"),ow=(e)=>Ro.create(Nn(e)&_Q);function r2(e){let{d:t}=sw,r=Gs,i=(_)=>Ro.create(_),n=i(iw*e*e),o=i((n+qi)*wQ),s=BigInt(-1),a=i((s-t*n)*i(n+t)),{isValid:c,value:l}=aw(o,a),u=i(l*e);if(!ji(u,r))u=i(-u);if(!c)l=u;if(!c)s=n;let d=i(s*(n-qi)*vQ-a),p=l*l,m=i((l+l)*a),y=i(d*xQ),g=i(qi-p),b=i(qi+p);return new Ws(i(m*b),i(g*y),i(y*b),i(m*g))}class $r extends rw{static BASE=(()=>new $r(Ws.BASE))();static ZERO=(()=>new $r(Ws.ZERO))();static Fp=(()=>Ro)();static Fn=(()=>i2)();constructor(e){super(e)}static fromAffine(e){return new $r(Ws.fromAffine(e))}assertSame(e){if(!(e instanceof $r))throw Error("RistrettoPoint expected")}init(e){return new $r(e)}static fromBytes(e){rr(e,32);let{a:t,d:r}=sw,i=Gs,n=(T)=>Ro.create(T),o=ow(e);if(!kz(Ro.toBytes(o),e)||ji(o,i))throw Error("invalid ristretto255 encoding 1");let s=n(o*o),a=n(qi+t*s),c=n(qi-t*s),l=n(a*a),u=n(c*c),d=n(t*r*l-u),{isValid:p,value:m}=t2(n(d*u)),y=n(m*c),g=n(m*y*d),b=n((o+o)*y);if(ji(b,i))b=n(-b);let _=n(a*g),A=n(b*_);if(!p||ji(A,i)||_===mQ)throw Error("invalid ristretto255 encoding 2");return new $r(new Ws(b,_,qi,A))}static fromHex(e){return $r.fromBytes(zu(e))}toBytes(){let{X:e,Y:t,Z:r,T:i}=this.ep,n=Gs,o=(g)=>Ro.create(g),s=o(o(r+t)*o(r-t)),a=o(e*t),c=o(a*a),{value:l}=t2(o(s*c)),u=o(l*s),d=o(l*a),p=o(u*d*i),m;if(ji(i*p,n)){let g=o(t*iw),b=o(e*iw);e=g,t=b,m=o(u*SQ)}else m=d;if(ji(e*p,n))t=o(-t);let y=o((r-t)*m);if(ji(y,n))y=o(-y);return Ro.toBytes(y)}equals(e){this.assertSame(e);let{X:t,Y:r}=this.ep,{X:i,Y:n}=e.ep,o=(c)=>Ro.create(c),s=o(t*n)===o(r*i),a=o(r*n)===o(t*i);return s||a}is0(){return this.equals($r.ZERO)}}Object.freeze($r.BASE);Object.freeze($r.ZERO);Object.freeze($r.prototype);Object.freeze($r);var kQ=Object.freeze({Point:$r,hashToCurve(e,t){let r=t?.DST===void 0?"ristretto255_XMD:SHA-512_R255MAP_RO_":t.DST,i=YS(e,r,64,im);return kQ.deriveToCurve(i)},hashToScalar(e,t={DST:Zz}){let r=YS(e,t.DST,64,im);return i2.create(Nn(r))},deriveToCurve(e){rr(e,64);let t=ow(e.subarray(0,32)),r=r2(t),i=ow(e.subarray(32,64)),n=r2(i);return new $r(r.add(n))}});var o2=!1,EQ=!1;async function s2(e,t){if(EQ)return await t();try{return await e()}catch(r){if(r instanceof ReferenceError||r instanceof DOMException&&r.name==="NotSupportedError")return await t();else throw r}}async function Um(e,t){return await s2(async()=>{let r=cw(e)?e:await AQ(e),i=await crypto.subtle.importKey("raw",TQ(t),{name:"X25519"},o2,[]);return new Uint8Array(await crypto.subtle.deriveBits({name:"X25519",public:i},r,256))},()=>{if(cw(e))throw Error("CryptoKey provided but X25519 WebCrypto is not supported");return qm.scalarMult(e,t)})}async function pd(e){return await s2(async()=>Um(e,qm.GuBytes),()=>{if(cw(e))throw Error("CryptoKey provided but X25519 WebCrypto is not supported");return qm.scalarMultBase(e)})}var IQ=new Uint8Array([48,46,2,1,0,48,5,6,3,43,101,110,4,34,4,32]);async function AQ(e){if(e.length!==32)throw Error("X25519 private key must be 32 bytes");let t=new Uint8Array([...IQ,...e]);return crypto.subtle.importKey("pkcs8",t,{name:"X25519"},o2,["deriveBits"])}function cw(e){return typeof CryptoKey<"u"&&e instanceof CryptoKey}function TQ(e){return e}class lw{s;transcript=[];buf=new Uint8Array(0);constructor(e){this.s=e.getReader()}async readLine(){let e=[];while(!0){let t=this.buf.indexOf(10);if(t>=0)return e.push(this.buf.subarray(0,t)),this.transcript.push(this.buf.subarray(0,t+1)),this.buf=this.buf.subarray(t+1),$Q(Qs(e));if(this.buf.length>0)e.push(this.buf),this.transcript.push(this.buf);let r=await this.s.read();if(r.done)return this.buf=Qs(e),null;this.buf=r.value}}close(){return this.s.releaseLock(),{rest:this.buf,transcript:Qs(this.transcript)}}}function $Q(e){return e.forEach((t)=>{if(t<32||t>126)throw Error("invalid non-ASCII byte in header")}),new TextDecoder().decode(e)}function Qs(e){let t=e.reduce((n,o)=>n+o.length,0),r=new Uint8Array(t),i=0;for(let n of e)r.set(n,i),i+=n.length;return r}function Ec(e,...t){return e.pipeThrough(new TransformStream({start(r){for(let i of t)r.enqueue(i)}}))}function Mm(e){return new ReadableStream({start(t){t.enqueue(e),t.close()}})}async function uw(e){if(!(e instanceof ReadableStream))throw Error("readAll expects a ReadableStream<Uint8Array>");return new Uint8Array(await new Response(e).arrayBuffer())}async function a2(e){if(!(e instanceof ReadableStream))throw Error("readAllString expects a ReadableStream<Uint8Array>");return await new Response(e).text()}async function c2(e,t){let r=e.getReader(),i=[],n=0;while(n<t){let{done:c,value:l}=await r.read();if(c)throw Error("stream ended before reading "+t.toString()+" bytes");i.push(l),n+=l.length}r.releaseLock();let o=Qs(i),s=o.subarray(0,t),a=Ec(e,o.subarray(t));return{data:s,rest:a}}class ai{args;body;constructor(e,t){this.args=e,this.body=t}}async function OQ(e){let t=await e.readLine();if(t===null)throw Error("invalid stanza");let r=t.split(" ");if(r.length<2||r.shift()!=="->")return{next:t};for(let o of r)if(o.length===0)throw Error("invalid stanza");let i=[];for(;;){let o=await e.readLine();if(o===null)throw Error("invalid stanza");let s=gr.decode(o);if(s.length>48)throw Error("invalid stanza");if(i.push(s),s.length<48)break}let n=Qs(i);return{s:new ai(r,n)}}async function l2(e){let t=new lw(e),r=await t.readLine();if(r!=="age-encryption.org/v1")throw Error("invalid version "+(r??"line"));let i=[];for(;;){let{s:n,next:o}=await OQ(t);if(n!==void 0){i.push(n);continue}if(!o.startsWith("--- "))throw Error("invalid header");let s=gr.decode(o.slice(4)),{rest:a,transcript:c}=t.close(),l=c.slice(0,c.length-1-o.length+3);return{stanzas:i,headerNoMAC:l,MAC:s,headerSize:c.length,rest:Ec(e,a)}}}function dw(e){let t=[];t.push(`age-encryption.org/v1
768
+ `)}function uR(e){let t=new Map;for(let r of e){if(t.has(r.name))throw Error(`Duplicate command name: ${r.name}`);t.set(r.name,r)}return t}function gt(e,t){let r=e[t];return typeof r==="string"?r:void 0}function ic(e,t){let r=e[t];return typeof r==="boolean"?r:void 0}var Qp={name:"@rizom/ops",version:"0.2.0-alpha.519",description:"Operator CLI for managing private brain fleet registry repos",keywords:["brains","ops","cli","deploy","fleet","operator"],license:"AGPL-3.0-only",author:"Yeehaa <yeehaa@rizom.ai> (https://rizom.ai)",bin:{"brains-ops":"./dist/brains-ops.js"},bugs:"https://github.com/rizom-ai/brains/issues",dependencies:{"@libsql/client":"^0.17.4","age-encryption":"^0.3.0",yaml:"^2.9.0"},devDependencies:{"@brains/deploy-support":"workspace:*","@brains/eslint-config":"workspace:*","@brains/job-queue":"workspace:*","@brains/profile":"workspace:*","@brains/site-composition":"workspace:*","@brains/test-utils":"workspace:*","@brains/typescript-config":"workspace:*","@brains/utils":"workspace:*","@types/bun":"^1.4.0",typescript:"^7.0.2"},engines:{bun:">=1.3.3"},exports:{".":{types:"./dist/index.d.ts",import:"./dist/index.js"},"./deploy":{types:"./dist/deploy.d.ts",import:"./dist/deploy.js",bun:"./dist/deploy.js"}},files:["dist","templates"],homepage:"https://github.com/rizom-ai/brains/tree/main/packages/brains-ops#readme",main:"./dist/index.js",publishConfig:{access:"public"},repository:{type:"git",url:"https://github.com/rizom-ai/brains.git",directory:"packages/brains-ops"},scripts:{build:"bun scripts/build.ts",lint:"eslint . --max-warnings 0","lint:fix":"eslint . --max-warnings 0 --fix",prepublishOnly:"bun scripts/build.ts",test:"bun run build && bun test --timeout 20000","test:smoke":"bun run build && RUN_SMOKE_TESTS=1 bun test --timeout 60000",typecheck:"tsc --noEmit"},type:"module",types:"./dist/index.d.ts"};import{existsSync as MQ,mkdirSync as FQ,readFileSync as Cw,writeFileSync as $w}from"fs";import{dirname as ZQ,join as x2}from"path";function Fx(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&e.constructor.name==="Uint8Array"&&"BYTES_PER_ELEMENT"in e&&e.BYTES_PER_ELEMENT===1}function Ct(e,t=""){if(typeof e!=="number"){let r=t&&`"${t}" `;throw TypeError(`${r}expected number, got ${typeof e}`)}if(!Number.isSafeInteger(e)||e<0){let r=t&&`"${t}" `;throw RangeError(`${r}expected integer >= 0, got ${e}`)}}function rr(e,t,r=""){let i=Fx(e),n=e?.length,o=t!==void 0;if(!i||o&&n!==t){let s=r&&`"${r}" `,a=o?` of length ${t}`:"",c=i?`length=${n}`:`type=${typeof e}`,l=s+"expected Uint8Array"+a+", got "+c;if(!i)throw TypeError(l);throw RangeError(l)}return e}function Ti(e){if(typeof e!=="function"||typeof e.create!=="function")throw TypeError("Hash must wrapped by utils.createHasher");if(Ct(e.outputLen),Ct(e.blockLen),e.outputLen<1)throw Error('"outputLen" must be >= 1');if(e.blockLen<1)throw Error('"blockLen" must be >= 1')}function oc(e,t=!0){if(e.destroyed)throw Error("Hash instance has been destroyed");if(t&&e.finished)throw Error("Hash#digest() has already been called")}function Yp(e,t){rr(e,void 0,"digestInto() output");let r=t.outputLen;if(e.length<r)throw RangeError('"digestInto() output" expected to be of length >='+r)}function Xp(e){return new Uint32Array(e.buffer,e.byteOffset,Math.floor(e.byteLength/4))}function Ar(...e){for(let t=0;t<e.length;t++)e[t].fill(0)}function sc(e){return new DataView(e.buffer,e.byteOffset,e.byteLength)}function Rn(e,t){return e<<32-t|e>>>t}function Xe(e,t){return e<<t|e>>>32-t>>>0}var hW=(()=>new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68)();function gW(e){return e<<24&4278190080|e<<8&16711680|e>>>8&65280|e>>>24&255}function yW(e){for(let t=0;t<e.length;t++)e[t]=gW(e[t]);return e}var Zx=hW?(e)=>e:yW,fR=(()=>typeof Uint8Array.from([]).toHex==="function"&&typeof Uint8Array.fromHex==="function")(),bW=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,"0"));function em(e){if(rr(e),fR)return e.toHex();let t="";for(let r=0;r<e.length;r++)t+=bW[e[r]];return t}var Ai={_0:48,_9:57,A:65,F:70,a:97,f:102};function dR(e){if(e>=Ai._0&&e<=Ai._9)return e-Ai._0;if(e>=Ai.A&&e<=Ai.F)return e-(Ai.A-10);if(e>=Ai.a&&e<=Ai.f)return e-(Ai.a-10);return}function zu(e){if(typeof e!=="string")throw TypeError("hex string expected, got "+typeof e);if(fR)try{return Uint8Array.fromHex(e)}catch(n){if(n instanceof SyntaxError)throw RangeError(n.message);throw n}let t=e.length,r=t/2;if(t%2)throw RangeError("hex string expected, got unpadded hex of length "+t);let i=new Uint8Array(r);for(let n=0,o=0;n<r;n++,o+=2){let s=dR(e.charCodeAt(o)),a=dR(e.charCodeAt(o+1));if(s===void 0||a===void 0){let c=e[o]+e[o+1];throw RangeError('hex string expected, got non-hex character "'+c+'" at index '+o)}i[n]=s*16+a}return i}function xW(e){if(typeof e!=="string")throw TypeError("string expected");return new Uint8Array(new TextEncoder().encode(e))}function Hx(e,t=""){if(typeof e==="string")return xW(e);return rr(e,void 0,t)}function Kx(...e){let t=0;for(let i=0;i<e.length;i++){let n=e[i];rr(n),t+=n.length}let r=new Uint8Array(t);for(let i=0,n=0;i<e.length;i++){let o=e[i];r.set(o,n),n+=o.length}return r}function tm(e,t){if(t!==void 0&&{}.toString.call(t)!=="[object Object]")throw TypeError("options must be object or undefined");return Object.assign(e,t)}function Jx(e,t={}){let r=(n,o)=>e(o).update(n).digest(),i=e(void 0);return r.outputLen=i.outputLen,r.blockLen=i.blockLen,r.canXOF=i.canXOF,r.create=(n)=>e(n),Object.assign(r,t),Object.freeze(r)}function Ci(e=32){Ct(e,"bytesLength");let t=typeof globalThis==="object"?globalThis.crypto:null;if(typeof t?.getRandomValues!=="function")throw Error("crypto.getRandomValues must be defined");if(e>65536)throw RangeError(`"bytesLength" expected <= 65536, got ${e}`);return t.getRandomValues(new Uint8Array(e))}var Vx=(e)=>({oid:Uint8Array.from([6,9,96,134,72,1,101,3,4,2,e])});class Wx{oHash;iHash;blockLen;outputLen;canXOF=!1;finished=!1;destroyed=!1;constructor(e,t){if(Ti(e),rr(t,void 0,"key"),this.iHash=e.create(),typeof this.iHash.update!=="function")throw Error("Expected instance of class which extends utils.Hash");this.blockLen=this.iHash.blockLen,this.outputLen=this.iHash.outputLen;let r=this.blockLen,i=new Uint8Array(r);i.set(t.length>r?e.create().update(t).digest():t);for(let n=0;n<i.length;n++)i[n]^=54;this.iHash.update(i),this.oHash=e.create();for(let n=0;n<i.length;n++)i[n]^=106;this.oHash.update(i),Ar(i)}update(e){return oc(this),this.iHash.update(e),this}digestInto(e){oc(this),Yp(e,this),this.finished=!0;let t=e.subarray(0,this.outputLen);this.iHash.digestInto(t),this.oHash.update(t),this.oHash.digestInto(t),this.destroy()}digest(){let e=new Uint8Array(this.oHash.outputLen);return this.digestInto(e),e}_cloneInto(e){e||=Object.create(Object.getPrototypeOf(this),{});let{oHash:t,iHash:r,finished:i,destroyed:n,blockLen:o,outputLen:s}=this;return e=e,e.finished=i,e.destroyed=n,e.blockLen=o,e.outputLen=s,e.oHash=t._cloneInto(e.oHash),e.iHash=r._cloneInto(e.iHash),e}clone(){return this._cloneInto()}destroy(){this.destroyed=!0,this.oHash.destroy(),this.iHash.destroy()}}var Xn=(()=>{let e=(t,r,i)=>new Wx(t,r).update(i).digest();return e.create=(t,r)=>new Wx(t,r),e})();function Nu(e,t,r){if(Ti(e),r===void 0)r=new Uint8Array(e.outputLen);return Xn(e,r,t)}var Gx=Uint8Array.of(0),pR=Uint8Array.of();function Qx(e,t,r,i=32){Ti(e),Ct(i,"length"),rr(t,void 0,"prk");let n=e.outputLen;if(t.length<n)throw Error('"prk" must be at least HashLen octets');if(i>255*n)throw Error("Length must be <= 255*HashLen");let o=Math.ceil(i/n);if(r===void 0)r=pR;else rr(r,void 0,"info");let s=new Uint8Array(o*n),a=Xn.create(e,t),c=a._cloneInto(),l=new Uint8Array(a.outputLen);for(let u=0;u<o;u++)Gx[0]=u+1,c.update(u===0?pR:l).update(r).update(Gx).digestInto(l),s.set(l,n*u),a._cloneInto(c);return a.destroy(),c.destroy(),Ar(l,Gx),s.slice(0,i)}var ho=(e,t,r,i,n)=>Qx(e,Nu(e,t,r),i,n);function mR(e,t,r){return e&t^~e&r}function hR(e,t,r){return e&t^e&r^t&r}class rm{blockLen;outputLen;canXOF=!1;padOffset;isLE;buffer;view;finished=!1;length=0;pos=0;destroyed=!1;constructor(e,t,r,i){this.blockLen=e,this.outputLen=t,this.padOffset=r,this.isLE=i,this.buffer=new Uint8Array(e),this.view=sc(this.buffer)}update(e){oc(this),rr(e);let{view:t,buffer:r,blockLen:i}=this,n=e.length;for(let o=0;o<n;){let s=Math.min(i-this.pos,n-o);if(s===i){let a=sc(e);for(;i<=n-o;o+=i)this.process(a,o);continue}if(r.set(e.subarray(o,o+s),this.pos),this.pos+=s,o+=s,this.pos===i)this.process(t,0),this.pos=0}return this.length+=e.length,this.roundClean(),this}digestInto(e){oc(this),Yp(e,this),this.finished=!0;let{buffer:t,view:r,blockLen:i,isLE:n}=this,{pos:o}=this;if(t[o++]=128,Ar(this.buffer.subarray(o)),this.padOffset>i-o)this.process(r,0),o=0;for(let u=o;u<i;u++)t[u]=0;r.setBigUint64(i-8,BigInt(this.length*8),n),this.process(r,0);let s=sc(e),a=this.outputLen;if(a%4)throw Error("_sha2: outputLen must be aligned to 32bit");let c=a/4,l=this.get();if(c>l.length)throw Error("_sha2: outputLen bigger than state");for(let u=0;u<c;u++)s.setUint32(4*u,l[u],n)}digest(){let{buffer:e,outputLen:t}=this;this.digestInto(e);let r=e.slice(0,t);return this.destroy(),r}_cloneInto(e){e||=new this.constructor,e.set(...this.get());let{blockLen:t,buffer:r,length:i,finished:n,destroyed:o,pos:s}=this;if(e.destroyed=o,e.finished=n,e.length=i,e.pos=s,i%t)e.buffer.set(r);return e}clone(){return this._cloneInto()}}var $i=Uint32Array.from([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]);var nr=Uint32Array.from([1779033703,4089235720,3144134277,2227873595,1013904242,4271175723,2773480762,1595750129,1359893119,2917565137,2600822924,725511199,528734635,4215389547,1541459225,327033209]);var nm=BigInt(4294967295),gR=BigInt(32);function SW(e,t=!1){if(t)return{h:Number(e&nm),l:Number(e>>gR&nm)};return{h:Number(e>>gR&nm)|0,l:Number(e&nm)|0}}function yR(e,t=!1){let r=e.length,i=new Uint32Array(r),n=new Uint32Array(r);for(let o=0;o<r;o++){let{h:s,l:a}=SW(e[o],t);[i[o],n[o]]=[s,a]}return[i,n]}var Yx=(e,t,r)=>e>>>r,Xx=(e,t,r)=>e<<32-r|t>>>r,Os=(e,t,r)=>e>>>r|t<<32-r,Rs=(e,t,r)=>e<<32-r|t>>>r,Du=(e,t,r)=>e<<64-r|t>>>r-32,Lu=(e,t,r)=>e>>>r-32|t<<64-r;function ei(e,t,r,i){let n=(t>>>0)+(i>>>0);return{h:e+r+(n/4294967296|0)|0,l:n|0}}var bR=(e,t,r)=>(e>>>0)+(t>>>0)+(r>>>0),xR=(e,t,r,i)=>t+r+i+(e/4294967296|0)|0,SR=(e,t,r,i)=>(e>>>0)+(t>>>0)+(r>>>0)+(i>>>0),wR=(e,t,r,i,n)=>t+r+i+n+(e/4294967296|0)|0,vR=(e,t,r,i,n)=>(e>>>0)+(t>>>0)+(r>>>0)+(i>>>0)+(n>>>0),_R=(e,t,r,i,n,o)=>t+r+i+n+o+(e/4294967296|0)|0;var vW=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]),go=new Uint32Array(64);class kR extends rm{constructor(e){super(64,e,8,!1)}get(){let{A:e,B:t,C:r,D:i,E:n,F:o,G:s,H:a}=this;return[e,t,r,i,n,o,s,a]}set(e,t,r,i,n,o,s,a){this.A=e|0,this.B=t|0,this.C=r|0,this.D=i|0,this.E=n|0,this.F=o|0,this.G=s|0,this.H=a|0}process(e,t){for(let u=0;u<16;u++,t+=4)go[u]=e.getUint32(t,!1);for(let u=16;u<64;u++){let d=go[u-15],p=go[u-2],m=Rn(d,7)^Rn(d,18)^d>>>3,y=Rn(p,17)^Rn(p,19)^p>>>10;go[u]=y+go[u-7]+m+go[u-16]|0}let{A:r,B:i,C:n,D:o,E:s,F:a,G:c,H:l}=this;for(let u=0;u<64;u++){let d=Rn(s,6)^Rn(s,11)^Rn(s,25),p=l+d+mR(s,a,c)+vW[u]+go[u]|0,y=(Rn(r,2)^Rn(r,13)^Rn(r,22))+hR(r,i,n)|0;l=c,c=a,a=s,s=o+p|0,o=n,n=i,i=r,r=p+y|0}r=r+this.A|0,i=i+this.B|0,n=n+this.C|0,o=o+this.D|0,s=s+this.E|0,a=a+this.F|0,c=c+this.G|0,l=l+this.H|0,this.set(r,i,n,o,s,a,c,l)}roundClean(){Ar(go)}destroy(){this.destroyed=!0,this.set(0,0,0,0,0,0,0,0),Ar(this.buffer)}}class ER extends kR{A=$i[0]|0;B=$i[1]|0;C=$i[2]|0;D=$i[3]|0;E=$i[4]|0;F=$i[5]|0;G=$i[6]|0;H=$i[7]|0;constructor(){super(32)}}var IR=(()=>yR(["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))))(),_W=(()=>IR[0])(),kW=(()=>IR[1])(),yo=new Uint32Array(80),bo=new Uint32Array(80);class AR extends rm{constructor(e){super(128,e,16,!1)}get(){let{Ah:e,Al:t,Bh:r,Bl:i,Ch:n,Cl:o,Dh:s,Dl:a,Eh:c,El:l,Fh:u,Fl:d,Gh:p,Gl:m,Hh:y,Hl:g}=this;return[e,t,r,i,n,o,s,a,c,l,u,d,p,m,y,g]}set(e,t,r,i,n,o,s,a,c,l,u,d,p,m,y,g){this.Ah=e|0,this.Al=t|0,this.Bh=r|0,this.Bl=i|0,this.Ch=n|0,this.Cl=o|0,this.Dh=s|0,this.Dl=a|0,this.Eh=c|0,this.El=l|0,this.Fh=u|0,this.Fl=d|0,this.Gh=p|0,this.Gl=m|0,this.Hh=y|0,this.Hl=g|0}process(e,t){for(let A=0;A<16;A++,t+=4)yo[A]=e.getUint32(t),bo[A]=e.getUint32(t+=4);for(let A=16;A<80;A++){let T=yo[A-15]|0,z=bo[A-15]|0,j=Os(T,z,1)^Os(T,z,8)^Yx(T,z,7),E=Rs(T,z,1)^Rs(T,z,8)^Xx(T,z,7),Z=yo[A-2]|0,D=bo[A-2]|0,H=Os(Z,D,19)^Du(Z,D,61)^Yx(Z,D,6),X=Rs(Z,D,19)^Lu(Z,D,61)^Xx(Z,D,6),M=SR(E,X,bo[A-7],bo[A-16]),P=wR(M,j,H,yo[A-7],yo[A-16]);yo[A]=P|0,bo[A]=M|0}let{Ah:r,Al:i,Bh:n,Bl:o,Ch:s,Cl:a,Dh:c,Dl:l,Eh:u,El:d,Fh:p,Fl:m,Gh:y,Gl:g,Hh:b,Hl:_}=this;for(let A=0;A<80;A++){let T=Os(u,d,14)^Os(u,d,18)^Du(u,d,41),z=Rs(u,d,14)^Rs(u,d,18)^Lu(u,d,41),j=u&p^~u&y,E=d&m^~d&g,Z=vR(_,z,E,kW[A],bo[A]),D=_R(Z,b,T,j,_W[A],yo[A]),H=Z|0,X=Os(r,i,28)^Du(r,i,34)^Du(r,i,39),M=Rs(r,i,28)^Lu(r,i,34)^Lu(r,i,39),P=r&n^r&s^n&s,N=i&o^i&a^o&a;b=y|0,_=g|0,y=p|0,g=m|0,p=u|0,m=d|0,{h:u,l:d}=ei(c|0,l|0,D|0,H|0),c=s|0,l=a|0,s=n|0,a=o|0,n=r|0,o=i|0;let I=bR(H,M,N);r=xR(I,D,X,P),i=I|0}({h:r,l:i}=ei(this.Ah|0,this.Al|0,r|0,i|0)),{h:n,l:o}=ei(this.Bh|0,this.Bl|0,n|0,o|0),{h:s,l:a}=ei(this.Ch|0,this.Cl|0,s|0,a|0),{h:c,l}=ei(this.Dh|0,this.Dl|0,c|0,l|0),{h:u,l:d}=ei(this.Eh|0,this.El|0,u|0,d|0),{h:p,l:m}=ei(this.Fh|0,this.Fl|0,p|0,m|0),{h:y,l:g}=ei(this.Gh|0,this.Gl|0,y|0,g|0),{h:b,l:_}=ei(this.Hh|0,this.Hl|0,b|0,_|0),this.set(r,i,n,o,s,a,c,l,u,d,p,m,y,g,b,_)}roundClean(){Ar(yo,bo)}destroy(){this.destroyed=!0,Ar(this.buffer),this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}}class TR extends AR{Ah=nr[0]|0;Al=nr[1]|0;Bh=nr[2]|0;Bl=nr[3]|0;Ch=nr[4]|0;Cl=nr[5]|0;Dh=nr[6]|0;Dl=nr[7]|0;Eh=nr[8]|0;El=nr[9]|0;Fh=nr[10]|0;Fl=nr[11]|0;Gh=nr[12]|0;Gl=nr[13]|0;Hh=nr[14]|0;Hl=nr[15]|0;constructor(){super(64)}}var $t=Jx(()=>new ER,Vx(1));var im=Jx(()=>new TR,Vx(3));/*! scure-base - MIT License (c) 2022 Paul Miller (paulmillr.com) */function lm(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&e.constructor.name==="Uint8Array"&&"BYTES_PER_ELEMENT"in e&&e.BYTES_PER_ELEMENT===1}function rS(e){if(!lm(e))throw TypeError("Uint8Array expected")}function PR(e,t){if(!Array.isArray(t))return!1;if(t.length===0)return!0;if(e)return t.every((r)=>typeof r==="string");else return t.every((r)=>Number.isSafeInteger(r))}function zR(e){if(typeof e!=="function")throw TypeError("function expected");return!0}function xo(e,t){if(typeof t!=="string")throw TypeError(`${e}: string expected`);return!0}function ju(e){if(typeof e!=="number")throw TypeError(`number expected, got ${typeof e}`);if(!Number.isSafeInteger(e))throw RangeError(`invalid integer: ${e}`)}function sm(e){if(!Array.isArray(e))throw TypeError("array expected")}function am(e,t){if(!PR(!0,t))throw TypeError(`${e}: array of strings expected`)}function nS(e,t){if(!PR(!1,t))throw TypeError(`${e}: array of numbers expected`)}function en(...e){let t=(o)=>o,r=(o,s)=>(a)=>o(s(a)),i=e.map((o)=>o.encode).reduceRight(r,t),n=e.map((o)=>o.decode).reduce(r,t);return{encode:i,decode:n}}function tn(e){let t=typeof e==="string"?e.split(""):e,r=t.length;am("alphabet",t);let i=new Map(t.map((n,o)=>[n,o]));return{encode:(n)=>(sm(n),n.map((o)=>{if(!Number.isSafeInteger(o)||o<0||o>=r)throw Error(`alphabet.encode: digit index outside alphabet "${o}". Allowed: ${e}`);return t[o]})),decode:(n)=>(sm(n),n.map((o)=>{xo("alphabet.decode",o);let s=i.get(o);if(s===void 0)throw Error(`Unknown letter: "${o}". Allowed: ${e}`);return s}))}}function rn(e=""){return xo("join",e),{encode:(t)=>(am("join.decode",t),t.join(e)),decode:(t)=>(xo("join.decode",t),t.split(e))}}function um(e,t="="){return ju(e),xo("padding",t),{encode(r){am("padding.encode",r);while(r.length*e%8)r.push(t);return r},decode(r){am("padding.decode",r);let i=r.length;if(i*e%8)throw Error("padding: invalid, string should have whole number of bytes");for(;i>0&&r[i-1]===t;i--)if((i-1)*e%8===0)throw Error("padding: invalid, string has too much padding");return r.slice(0,i)}}}function NR(e){return zR(e),{encode:(t)=>t,decode:(t)=>e(t)}}function CR(e,t,r){if(t<2)throw RangeError(`convertRadix: invalid from=${t}, base cannot be less than 2`);if(r<2)throw RangeError(`convertRadix: invalid to=${r}, base cannot be less than 2`);if(sm(e),!e.length)return[];let i=0,n=[],o=Array.from(e,(a)=>{if(ju(a),a<0||a>=t)throw Error(`invalid integer: ${a}`);return a}),s=o.length;while(!0){let a=0,c=!0;for(let l=i;l<s;l++){let u=o[l],d=t*a,p=d+u;if(!Number.isSafeInteger(p)||d/t!==a||p-u!==d)throw Error("convertRadix: carry overflow");let m=p/r;a=p%r;let y=Math.floor(m);if(o[l]=y,!Number.isSafeInteger(y)||y*r+a!==p)throw Error("convertRadix: carry overflow");if(!c)continue;else if(!y)i=l;else c=!1}if(n.push(a),c)break}for(let a=0;a<e.length-1&&e[a]===0;a++)n.push(0);return n.reverse()}var DR=(e,t)=>t===0?e:DR(t,e%t),cm=(e,t)=>e+(t-DR(e,t)),om=(()=>{let e=[];for(let t=0;t<40;t++)e.push(2**t);return e})();function eS(e,t,r,i){if(sm(e),t<=0||t>32)throw RangeError(`convertRadix2: wrong from=${t}`);if(r<=0||r>32)throw RangeError(`convertRadix2: wrong to=${r}`);if(cm(t,r)>32)throw Error(`convertRadix2: carry overflow from=${t} to=${r} carryBits=${cm(t,r)}`);let n=0,o=0,s=om[t],a=om[r]-1,c=[];for(let l of e){if(ju(l),l>=s)throw Error(`convertRadix2: invalid data word=${l} from=${t}`);if(n=n<<t|l,o+t>32)throw Error(`convertRadix2: carry overflow pos=${o} from=${t}`);o+=t;for(;o>=r;o-=r)c.push((n>>o-r&a)>>>0);let u=om[o];if(u===void 0)throw Error("invalid carry");n&=u-1}if(n=n<<r-o&a,!i&&o>=t)throw Error("Excess padding");if(!i&&n>0)throw Error(`Non-zero padding: ${n}`);if(i&&o>0)c.push(n>>>0);return c}function EW(e){ju(e);let t=256;return{encode:(r)=>{if(!lm(r))throw TypeError("radix.encode input should be Uint8Array");return CR(Array.from(r),t,e)},decode:(r)=>(nS("radix.decode",r),Uint8Array.from(CR(r,e,t)))}}function hn(e,t=!1){if(ju(e),e<=0||e>32)throw RangeError("radix2: bits should be in (0..32]");if(cm(8,e)>32||cm(e,8)>32)throw RangeError("radix2: carry overflow");return{encode:(r)=>{if(!lm(r))throw TypeError("radix2.encode input should be Uint8Array");return eS(Array.from(r),8,e,!t)},decode:(r)=>(nS("radix2.decode",r),Uint8Array.from(eS(r,e,8,t)))}}function $R(e){return zR(e),function(...t){try{return e.apply(null,t)}catch(r){}}}var zEe=Object.freeze(en(hn(4),tn("0123456789ABCDEF"),rn(""))),NEe=Object.freeze(en(hn(5),tn("ABCDEFGHIJKLMNOPQRSTUVWXYZ234567"),um(5),rn(""))),DEe=Object.freeze(en(hn(5),tn("ABCDEFGHIJKLMNOPQRSTUVWXYZ234567"),rn(""))),LEe=Object.freeze(en(hn(5),tn("0123456789ABCDEFGHIJKLMNOPQRSTUV"),um(5),rn(""))),BEe=Object.freeze(en(hn(5),tn("0123456789ABCDEFGHIJKLMNOPQRSTUV"),rn(""))),jEe=Object.freeze(en(hn(5),tn("0123456789ABCDEFGHJKMNPQRSTVWXYZ"),rn(""),NR((e)=>e.toUpperCase().replace(/O/g,"0").replace(/[IL]/g,"1")))),LR=(()=>typeof Uint8Array.from([]).toBase64==="function"&&typeof Uint8Array.fromBase64==="function")(),IW=/[\t\n\f\r ]/,BR=(e,t)=>{xo("base64",e);let r=t?"base64url":"base64";if(e.length>0&&IW.test(e))throw Error("invalid base64");return Uint8Array.fromBase64(e,{alphabet:r,lastChunkHandling:"strict"})},iS=Object.freeze(LR?{encode(e){return rS(e),e.toBase64()},decode(e){return BR(e,!1)}}:en(hn(6),tn("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"),um(6),rn(""))),gr=Object.freeze(en(hn(6),tn("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"),rn(""))),qEe=Object.freeze(LR?{encode(e){return rS(e),e.toBase64({alphabet:"base64url"})},decode(e){return BR(e,!0)}}:en(hn(6),tn("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_"),um(6),rn(""))),UEe=Object.freeze(en(hn(6),tn("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_"),rn(""))),oS=(e)=>en(EW(58),tn(e),rn("")),MEe=Object.freeze(oS("123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz")),FEe=Object.freeze(oS("123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ")),ZEe=Object.freeze(oS("rpshnaf39wBUDNEGHJKLM4PQRST7VWXYZ2bcdeCg65jkm8oFqi1tuvAxyz"));var tS=en(tn("qpzry9x8gf2tvdw0s3jn54khce6mua7l"),rn("")),OR=[996825010,642813549,513874426,1027748829,705979059];function Bu(e){let t=e>>25,r=(e&33554431)<<5;for(let i=0;i<OR.length;i++)if((t>>i&1)===1)r^=OR[i];return r}function RR(e,t,r=1){let i=e.length,n=1;for(let o=0;o<i;o++){let s=e.charCodeAt(o);if(s<33||s>126)throw Error(`Invalid prefix (${e})`);n=Bu(n)^s>>5}n=Bu(n);for(let o=0;o<i;o++)n=Bu(n)^e.charCodeAt(o)&31;for(let o of t)n=Bu(n)^o;for(let o=0;o<6;o++)n=Bu(n);return n^=r,tS.encode(eS([n%om[30]],30,5,!1))}function jR(e){let t=e==="bech32"?1:734539939,r=hn(5),i=r.decode,n=r.encode,o=$R(i);function s(d,p,m=90){if(xo("bech32.encode prefix",d),lm(p))p=Array.from(p);nS("bech32.encode",p);let y=d.length;if(y===0)throw TypeError(`Invalid prefix length ${y}`);let g=y+7+p.length;if(m!==!1&&g>m)throw TypeError(`Length ${g} exceeds limit ${m}`);let b=d.toLowerCase(),_=RR(b,p,t);return`${b}1${tS.encode(p)}${_}`}function a(d,p=90){xo("bech32.decode input",d);let m=d.length;if(m<8||p!==!1&&m>p)throw TypeError(`invalid string length: ${m} (${d}). Expected (8..${p})`);let y=d.toLowerCase();if(d!==y&&d!==d.toUpperCase())throw Error("String must be lowercase or uppercase");let g=y.lastIndexOf("1");if(g===0||g===-1)throw Error('Letter "1" must be present between prefix and data only');let b=y.slice(0,g),_=y.slice(g+1);if(_.length<6)throw Error("Data must be at least 6 characters long");let A=tS.decode(_).slice(0,-6),T=RR(b,A,t);if(!_.endsWith(T))throw Error(`Invalid checksum in ${d}: expected "${T}"`);return{prefix:b,words:A}}let c=$R(a);function l(d){let{prefix:p,words:m}=a(d,!1);return{prefix:p,words:m,bytes:i(m)}}function u(d,p){return s(d,n(p))}return{encode:s,decode:a,encodeFromBytes:u,decodeToBytes:l,decodeUnsafe:c,fromWords:i,fromWordsUnsafe:o,toWords:n}}var nn=Object.freeze(jR("bech32")),HEe=Object.freeze(jR("bech32m"));var AW=(()=>typeof Uint8Array.from([]).toHex==="function"&&typeof Uint8Array.fromHex==="function")(),TW={encode(e){return rS(e),e.toHex()},decode(e){return xo("hex",e),Uint8Array.fromHex(e)}},KEe=Object.freeze(AW?TW:en(hn(4),tn("0123456789abcdef"),rn(""),NR((e)=>{if(typeof e!=="string"||e.length%2!==0)throw TypeError(`hex.decode: expected string, got ${typeof e} with length ${e.length}`);return e.toLowerCase()})));function $W(e,t,r,i){Ti(e);let n=tm({dkLen:32,asyncTick:10},i),{c:o,dkLen:s,asyncTick:a}=n;if(Ct(o,"c"),Ct(s,"dkLen"),Ct(a,"asyncTick"),o<1)throw Error("iterations (c) must be >= 1");if(s<1)throw Error('"dkLen" must be >= 1');if(s>4294967295*e.outputLen)throw Error("derived key too long");let c=Hx(t,"password"),l=Hx(r,"salt"),u=new Uint8Array(s),d=Xn.create(e,c),p=d._cloneInto().update(l);return{c:o,dkLen:s,asyncTick:a,DK:u,PRF:d,PRFSalt:p}}function OW(e,t,r,i,n){if(e.destroy(),t.destroy(),i)i.destroy();return Ar(n),r}function sS(e,t,r,i){let{c:n,dkLen:o,DK:s,PRF:a,PRFSalt:c}=$W(e,t,r,i),l,u=new Uint8Array(4),d=sc(u),p=new Uint8Array(a.outputLen);for(let m=1,y=0;y<o;m++,y+=a.outputLen){let g=s.subarray(y,y+a.outputLen);d.setInt32(0,m,!1),(l=c._cloneInto(l)).update(u).digestInto(p),g.set(p.subarray(0,g.length));for(let b=1;b<n;b++){a._cloneInto(l).update(p).digestInto(p);for(let _=0;_<g.length;_++)g[_]^=p[_]}}return OW(a,c,s,l,p)}function qR(e,t,r,i,n,o){let s=e[t++]^r[i++],a=e[t++]^r[i++],c=e[t++]^r[i++],l=e[t++]^r[i++],u=e[t++]^r[i++],d=e[t++]^r[i++],p=e[t++]^r[i++],m=e[t++]^r[i++],y=e[t++]^r[i++],g=e[t++]^r[i++],b=e[t++]^r[i++],_=e[t++]^r[i++],A=e[t++]^r[i++],T=e[t++]^r[i++],z=e[t++]^r[i++],j=e[t++]^r[i++],E=s,Z=a,D=c,H=l,X=u,M=d,P=p,N=m,I=y,R=g,O=b,F=_,L=A,V=T,k=z,re=j;for(let de=0;de<8;de+=2)X^=Xe(E+L|0,7),I^=Xe(X+E|0,9),L^=Xe(I+X|0,13),E^=Xe(L+I|0,18),R^=Xe(M+Z|0,7),V^=Xe(R+M|0,9),Z^=Xe(V+R|0,13),M^=Xe(Z+V|0,18),k^=Xe(O+P|0,7),D^=Xe(k+O|0,9),P^=Xe(D+k|0,13),O^=Xe(P+D|0,18),H^=Xe(re+F|0,7),N^=Xe(H+re|0,9),F^=Xe(N+H|0,13),re^=Xe(F+N|0,18),Z^=Xe(E+H|0,7),D^=Xe(Z+E|0,9),H^=Xe(D+Z|0,13),E^=Xe(H+D|0,18),P^=Xe(M+X|0,7),N^=Xe(P+M|0,9),X^=Xe(N+P|0,13),M^=Xe(X+N|0,18),F^=Xe(O+R|0,7),I^=Xe(F+O|0,9),R^=Xe(I+F|0,13),O^=Xe(R+I|0,18),L^=Xe(re+k|0,7),V^=Xe(L+re|0,9),k^=Xe(V+L|0,13),re^=Xe(k+V|0,18);n[o++]=s+E|0,n[o++]=a+Z|0,n[o++]=c+D|0,n[o++]=l+H|0,n[o++]=u+X|0,n[o++]=d+M|0,n[o++]=p+P|0,n[o++]=m+N|0,n[o++]=y+I|0,n[o++]=g+R|0,n[o++]=b+O|0,n[o++]=_+F|0,n[o++]=A+L|0,n[o++]=T+V|0,n[o++]=z+k|0,n[o++]=j+re|0}function aS(e,t,r,i,n){let o=i+0,s=i+16*n;for(let a=0;a<16;a++)r[s+a]=e[t+(2*n-1)*16+a];for(let a=0;a<n;a++,o+=16,t+=16){if(qR(r,s,e,t,r,o),a>0)s+=16;qR(r,o,e,t+=16,r,s)}}function RW(e,t,r){let i=tm({dkLen:32,asyncTick:10,maxmem:1073742848},r),{N:n,r:o,p:s,dkLen:a,asyncTick:c,maxmem:l,onProgress:u}=i;if(Ct(n,"N"),Ct(o,"r"),Ct(s,"p"),Ct(a,"dkLen"),Ct(c,"asyncTick"),Ct(l,"maxmem"),u!==void 0&&typeof u!=="function")throw Error("progressCb must be a function");let d=128*o,p=d/4,m=Math.pow(2,32);if(n<=1||(n&n-1)!==0||n>m)throw Error('"N" expected a power of 2, and 2^1 <= N <= 2^32');if(s<1||s>(m-1)*32/d)throw Error('"p" expected integer 1..((2^32 - 1) * 32) / (128 * r)');if(a<1||a>(m-1)*32)throw Error('"dkLen" expected integer 1..(2^32 - 1) * 32');let y=d*(n+s+1);if(y>l)throw Error('"maxmem" limit was hit: memUsed(128*r*(N+p+1))='+y+", maxmem="+l);let g=sS($t,e,t,{c:1,dkLen:d*s}),b=Xp(g),_=Xp(new Uint8Array(d*n)),A=Xp(new Uint8Array(d)),T=()=>{};if(u){let z=2*n*s,j=Math.max(Math.floor(z/1e4),1),E=0;T=()=>{if(E++,u&&(!(E%j)||E===z))u(E/z)}}return{N:n,r:o,p:s,dkLen:a,blockSize32:p,V:_,B32:b,B:g,tmp:A,blockMixCb:T,asyncTick:c}}function PW(e,t,r,i,n){let o=sS($t,e,r,{c:1,dkLen:t});return Ar(r,i,n),o}function cS(e,t,r){let{N:i,r:n,p:o,dkLen:s,blockSize32:a,V:c,B32:l,B:u,tmp:d,blockMixCb:p}=RW(e,t,r);Zx(l);for(let m=0;m<o;m++){let y=a*m;for(let g=0;g<a;g++)c[g]=l[y+g];for(let g=0,b=0;g<i-1;g++)aS(c,b,c,b+=a,n),p();aS(c,(i-1)*a,l,y,n),p();for(let g=0;g<i;g++){let b=(l[y+a-16]&i-1)>>>0;for(let _=0;_<a;_++)d[_]=l[y+_]^c[b*a+_];aS(d,0,l,y,n),p()}}return Zx(l),PW(e,s,u,c,d)}/*! noble-ciphers - MIT License (c) 2023 Paul Miller (paulmillr.com) */function zW(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&e.constructor.name==="Uint8Array"&&"BYTES_PER_ELEMENT"in e&&e.BYTES_PER_ELEMENT===1}function dm(e){if(typeof e!=="boolean")throw TypeError(`boolean expected, not ${e}`)}function ac(e){if(typeof e!=="number")throw TypeError("number expected, got "+typeof e);if(!Number.isSafeInteger(e)||e<0)throw RangeError("positive integer expected, got "+e)}function Mt(e,t,r=""){let i=zW(e),n=e?.length,o=t!==void 0;if(!i||o&&n!==t){let s=r&&`"${r}" `,a=o?` of length ${t}`:"",c=i?`length=${n}`:`type=${typeof e}`,l=s+"expected Uint8Array"+a+", got "+c;if(!i)throw TypeError(l);throw RangeError(l)}return e}function lS(e,t=!0){if(e.destroyed)throw Error("Hash instance has been destroyed");if(t&&e.finished)throw Error("Hash#digest() has already been called")}function UR(e,t,r=!1){Mt(e,void 0,"output");let i=t.outputLen;if(e.length<i)throw RangeError("digestInto() expects output buffer of length at least "+i);if(r&&!cc(e))throw Error("invalid output, must be aligned")}function ti(e){return new Uint32Array(e.buffer,e.byteOffset,Math.floor(e.byteLength/4))}function Pn(...e){for(let t=0;t<e.length;t++)e[t].fill(0)}function NW(e){return new DataView(e.buffer,e.byteOffset,e.byteLength)}var Ps=(()=>new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68)(),DW=(e)=>e<<24&4278190080|e<<8&16711680|e>>>8&65280|e>>>24&255;var LW=(e)=>{for(let t=0;t<e.length;t++)e[t]=DW(e[t]);return e},Oi=Ps?(e)=>e:LW;function MR(e,t){if(t==null||typeof t!=="object")throw Error("options must be defined");return Object.assign(e,t)}function FR(e,t){if(e.length!==t.length)return!1;let r=0;for(let i=0;i<e.length;i++)r|=e[i]^t[i];return r===0}function ZR(e,t,r){let i=t,n=r||(()=>[]),o=(a,c)=>i(c,...n(a)).update(a).digest(),s=i(new Uint8Array(e),...n(new Uint8Array(0)));return o.outputLen=s.outputLen,o.blockLen=s.blockLen,o.create=(a,...c)=>i(a,...c),o}var HR=(e,t)=>{function r(i,...n){if(Mt(i,void 0,"key"),e.nonceLength!==void 0){let u=n[0];Mt(u,e.varSizeNonce?void 0:e.nonceLength,"nonce")}let o=e.tagLength;if(o&&n[1]!==void 0)Mt(n[1],void 0,"AAD");let s=t(i,...n),a=(u,d)=>{if(d!==void 0){if(u!==2)throw Error("cipher output not supported");Mt(d,void 0,"output")}},c=!1;return{encrypt(u,d){if(c)throw Error("cannot encrypt() twice with same key + nonce");return c=!0,Mt(u),a(s.encrypt.length,d),s.encrypt(u,d)},decrypt(u,d){if(Mt(u),o&&u.length<o)throw Error('"ciphertext" expected length bigger than tagLength='+o);return a(s.decrypt.length,d),s.decrypt(u,d)}}}return Object.assign(r,e),r};function qu(e,t,r=!0){if(t===void 0)return new Uint8Array(e);if(Mt(t,void 0,"output"),t.length!==e)throw Error('"output" expected Uint8Array of length '+e+", got: "+t.length);if(r&&!cc(t))throw Error("invalid output, must be aligned");return t}function KR(e,t,r){ac(e),ac(t),dm(r);let i=new Uint8Array(16),n=NW(i);return n.setBigUint64(0,BigInt(t),r),n.setBigUint64(8,BigInt(e),r),i}function cc(e){return e.byteOffset%4===0}function lc(e){return Uint8Array.from(Mt(e))}var VR=(e)=>Uint8Array.from(e.split(""),(t)=>t.charCodeAt(0)),BW=(()=>Oi(ti(VR("expand 16-byte k"))))(),jW=(()=>Oi(ti(VR("expand 32-byte k"))))();function et(e,t){return e<<t|e>>>32-t}var Uu=64,qW=16,uS=(()=>4294967295)(),JR=Uint32Array.of();function UW(e,t,r,i,n,o,s,a){let c=n.length,l=new Uint8Array(Uu),u=ti(l),d=Ps&&cc(n)&&cc(o),p=d?ti(n):JR,m=d?ti(o):JR;if(!Ps){for(let y=0;y<c;s++){if(e(t,r,i,u,s,a),Oi(u),s>=uS)throw Error("arx: counter overflow");let g=Math.min(Uu,c-y);for(let b=0,_;b<g;b++)_=y+b,o[_]=n[_]^l[b];y+=g}return}for(let y=0;y<c;s++){if(e(t,r,i,u,s,a),s>=uS)throw Error("arx: counter overflow");let g=Math.min(Uu,c-y);if(d&&g===Uu){let b=y/4;if(y%4!==0)throw Error("arx: invalid block position");for(let _=0,A;_<qW;_++)A=b+_,m[A]=p[A]^u[_];y+=Uu;continue}for(let b=0,_;b<g;b++)_=y+b,o[_]=n[_]^l[b];y+=g}}function WR(e,t){let{allowShortKeys:r,extendNonceFn:i,counterLength:n,counterRight:o,rounds:s}=MR({allowShortKeys:!1,counterLength:8,counterRight:!1,rounds:20},t);if(typeof e!=="function")throw Error("core must be a function");return ac(n),ac(s),dm(o),dm(r),(a,c,l,u,d=0)=>{Mt(a,void 0,"key"),Mt(c,void 0,"nonce"),Mt(l,void 0,"data");let p=l.length;if(u=qu(p,u,!1),ac(d),d<0||d>=uS)throw Error("arx: counter overflow");let m=[],y=a.length,g,b;if(y===32)m.push(g=lc(a)),b=jW;else if(y===16&&r)g=new Uint8Array(32),g.set(a),g.set(a,16),b=BW,m.push(g);else throw Mt(a,32,"arx key"),Error("invalid key size");if(!Ps||!cc(c))m.push(c=lc(c));let _=ti(g);if(i){if(c.length!==24)throw Error("arx: extended nonce must be 24 bytes");let z=c.subarray(0,16);if(Ps)i(b,_,ti(z),_);else{let j=Oi(Uint32Array.from(b));i(j,_,ti(z),_),Pn(j),Oi(_)}c=c.subarray(16)}else if(!Ps)Oi(_);let A=16-n;if(A!==c.length)throw Error(`arx: nonce must be ${A} or 16 bytes`);if(A!==12){let z=new Uint8Array(12);z.set(c,o?0:12-c.length),c=z,m.push(c)}let T=Oi(ti(c));try{return UW(e,b,_,T,l,u,d,s),u}finally{Pn(...m)}}}function ir(e,t){return e[t++]&255|(e[t++]&255)<<8}class GR{blockLen=16;outputLen=16;buffer=new Uint8Array(16);r=new Uint16Array(10);h=new Uint16Array(10);pad=new Uint16Array(8);pos=0;finished=!1;destroyed=!1;constructor(e){e=lc(Mt(e,32,"key"));let t=ir(e,0),r=ir(e,2),i=ir(e,4),n=ir(e,6),o=ir(e,8),s=ir(e,10),a=ir(e,12),c=ir(e,14);this.r[0]=t&8191,this.r[1]=(t>>>13|r<<3)&8191,this.r[2]=(r>>>10|i<<6)&7939,this.r[3]=(i>>>7|n<<9)&8191,this.r[4]=(n>>>4|o<<12)&255,this.r[5]=o>>>1&8190,this.r[6]=(o>>>14|s<<2)&8191,this.r[7]=(s>>>11|a<<5)&8065,this.r[8]=(a>>>8|c<<8)&8191,this.r[9]=c>>>5&127;for(let l=0;l<8;l++)this.pad[l]=ir(e,16+2*l)}process(e,t,r=!1){let i=r?0:2048,{h:n,r:o}=this,s=o[0],a=o[1],c=o[2],l=o[3],u=o[4],d=o[5],p=o[6],m=o[7],y=o[8],g=o[9],b=ir(e,t+0),_=ir(e,t+2),A=ir(e,t+4),T=ir(e,t+6),z=ir(e,t+8),j=ir(e,t+10),E=ir(e,t+12),Z=ir(e,t+14),D=n[0]+(b&8191),H=n[1]+((b>>>13|_<<3)&8191),X=n[2]+((_>>>10|A<<6)&8191),M=n[3]+((A>>>7|T<<9)&8191),P=n[4]+((T>>>4|z<<12)&8191),N=n[5]+(z>>>1&8191),I=n[6]+((z>>>14|j<<2)&8191),R=n[7]+((j>>>11|E<<5)&8191),O=n[8]+((E>>>8|Z<<8)&8191),F=n[9]+(Z>>>5|i),L=0,V=L+D*s+H*(5*g)+X*(5*y)+M*(5*m)+P*(5*p);L=V>>>13,V&=8191,V+=N*(5*d)+I*(5*u)+R*(5*l)+O*(5*c)+F*(5*a),L+=V>>>13,V&=8191;let k=L+D*a+H*s+X*(5*g)+M*(5*y)+P*(5*m);L=k>>>13,k&=8191,k+=N*(5*p)+I*(5*d)+R*(5*u)+O*(5*l)+F*(5*c),L+=k>>>13,k&=8191;let re=L+D*c+H*a+X*s+M*(5*g)+P*(5*y);L=re>>>13,re&=8191,re+=N*(5*m)+I*(5*p)+R*(5*d)+O*(5*u)+F*(5*l),L+=re>>>13,re&=8191;let de=L+D*l+H*c+X*a+M*s+P*(5*g);L=de>>>13,de&=8191,de+=N*(5*y)+I*(5*m)+R*(5*p)+O*(5*d)+F*(5*u),L+=de>>>13,de&=8191;let C=L+D*u+H*l+X*c+M*a+P*s;L=C>>>13,C&=8191,C+=N*(5*g)+I*(5*y)+R*(5*m)+O*(5*p)+F*(5*d),L+=C>>>13,C&=8191;let xe=L+D*d+H*u+X*l+M*c+P*a;L=xe>>>13,xe&=8191,xe+=N*s+I*(5*g)+R*(5*y)+O*(5*m)+F*(5*p),L+=xe>>>13,xe&=8191;let Ee=L+D*p+H*d+X*u+M*l+P*c;L=Ee>>>13,Ee&=8191,Ee+=N*a+I*s+R*(5*g)+O*(5*y)+F*(5*m),L+=Ee>>>13,Ee&=8191;let Ce=L+D*m+H*p+X*d+M*u+P*l;L=Ce>>>13,Ce&=8191,Ce+=N*c+I*a+R*s+O*(5*g)+F*(5*y),L+=Ce>>>13,Ce&=8191;let $e=L+D*y+H*m+X*p+M*d+P*u;L=$e>>>13,$e&=8191,$e+=N*l+I*c+R*a+O*s+F*(5*g),L+=$e>>>13,$e&=8191;let _e=L+D*g+H*y+X*m+M*p+P*d;L=_e>>>13,_e&=8191,_e+=N*u+I*l+R*c+O*a+F*s,L+=_e>>>13,_e&=8191,L=(L<<2)+L|0,L=L+V|0,V=L&8191,L=L>>>13,k+=L,n[0]=V,n[1]=k,n[2]=re,n[3]=de,n[4]=C,n[5]=xe,n[6]=Ee,n[7]=Ce,n[8]=$e,n[9]=_e}finalize(){let{h:e,pad:t}=this,r=new Uint16Array(10),i=e[1]>>>13;e[1]&=8191;for(let s=2;s<10;s++)e[s]+=i,i=e[s]>>>13,e[s]&=8191;e[0]+=i*5,i=e[0]>>>13,e[0]&=8191,e[1]+=i,i=e[1]>>>13,e[1]&=8191,e[2]+=i,r[0]=e[0]+5,i=r[0]>>>13,r[0]&=8191;for(let s=1;s<10;s++)r[s]=e[s]+i,i=r[s]>>>13,r[s]&=8191;r[9]-=8192;let n=(i^1)-1;for(let s=0;s<10;s++)r[s]&=n;n=~n;for(let s=0;s<10;s++)e[s]=e[s]&n|r[s];e[0]=(e[0]|e[1]<<13)&65535,e[1]=(e[1]>>>3|e[2]<<10)&65535,e[2]=(e[2]>>>6|e[3]<<7)&65535,e[3]=(e[3]>>>9|e[4]<<4)&65535,e[4]=(e[4]>>>12|e[5]<<1|e[6]<<14)&65535,e[5]=(e[6]>>>2|e[7]<<11)&65535,e[6]=(e[7]>>>5|e[8]<<8)&65535,e[7]=(e[8]>>>8|e[9]<<5)&65535;let o=e[0]+t[0];e[0]=o&65535;for(let s=1;s<8;s++)o=(e[s]+t[s]|0)+(o>>>16)|0,e[s]=o&65535;Pn(r)}update(e){lS(this),Mt(e),e=lc(e);let{buffer:t,blockLen:r}=this,i=e.length;for(let n=0;n<i;){let o=Math.min(r-this.pos,i-n);if(o===r){for(;r<=i-n;n+=r)this.process(e,n);continue}if(t.set(e.subarray(n,n+o),this.pos),this.pos+=o,n+=o,this.pos===r)this.process(t,0,!1),this.pos=0}return this}destroy(){this.destroyed=!0,Pn(this.h,this.r,this.buffer,this.pad)}digestInto(e){lS(this),UR(e,this),this.finished=!0;let{buffer:t,h:r}=this,{pos:i}=this;if(i){t[i++]=1;for(;i<16;i++)t[i]=0;this.process(t,0,!0)}this.finalize();let n=0;for(let o=0;o<8;o++)e[n++]=r[o]>>>0,e[n++]=r[o]>>>8}digest(){let{buffer:e,outputLen:t}=this;this.digestInto(e);let r=e.slice(0,t);return this.destroy(),r}}var QR=ZR(32,(e)=>new GR(e));function MW(e,t,r,i,n,o=20){let s=e[0],a=e[1],c=e[2],l=e[3],u=t[0],d=t[1],p=t[2],m=t[3],y=t[4],g=t[5],b=t[6],_=t[7],A=n,T=r[0],z=r[1],j=r[2],E=s,Z=a,D=c,H=l,X=u,M=d,P=p,N=m,I=y,R=g,O=b,F=_,L=A,V=T,k=z,re=j;for(let C=0;C<o;C+=2)E=E+X|0,L=et(L^E,16),I=I+L|0,X=et(X^I,12),E=E+X|0,L=et(L^E,8),I=I+L|0,X=et(X^I,7),Z=Z+M|0,V=et(V^Z,16),R=R+V|0,M=et(M^R,12),Z=Z+M|0,V=et(V^Z,8),R=R+V|0,M=et(M^R,7),D=D+P|0,k=et(k^D,16),O=O+k|0,P=et(P^O,12),D=D+P|0,k=et(k^D,8),O=O+k|0,P=et(P^O,7),H=H+N|0,re=et(re^H,16),F=F+re|0,N=et(N^F,12),H=H+N|0,re=et(re^H,8),F=F+re|0,N=et(N^F,7),E=E+M|0,re=et(re^E,16),O=O+re|0,M=et(M^O,12),E=E+M|0,re=et(re^E,8),O=O+re|0,M=et(M^O,7),Z=Z+P|0,L=et(L^Z,16),F=F+L|0,P=et(P^F,12),Z=Z+P|0,L=et(L^Z,8),F=F+L|0,P=et(P^F,7),D=D+N|0,V=et(V^D,16),I=I+V|0,N=et(N^I,12),D=D+N|0,V=et(V^D,8),I=I+V|0,N=et(N^I,7),H=H+X|0,k=et(k^H,16),R=R+k|0,X=et(X^R,12),H=H+X|0,k=et(k^H,8),R=R+k|0,X=et(X^R,7);let de=0;i[de++]=s+E|0,i[de++]=a+Z|0,i[de++]=c+D|0,i[de++]=l+H|0,i[de++]=u+X|0,i[de++]=d+M|0,i[de++]=p+P|0,i[de++]=m+N|0,i[de++]=y+I|0,i[de++]=g+R|0,i[de++]=b+O|0,i[de++]=_+F|0,i[de++]=A+L|0,i[de++]=T+V|0,i[de++]=z+k|0,i[de++]=j+re|0}var FW=WR(MW,{counterRight:!1,counterLength:4,allowShortKeys:!1});var ZW=new Uint8Array(16),YR=(e,t)=>{e.update(t);let r=t.length%16;if(r)e.update(ZW.subarray(r))},HW=new Uint8Array(32);function XR(e,t,r,i,n){if(n!==void 0)Mt(n,void 0,"AAD");let o=e(t,r,HW),s=KR(i.length,n?n.length:0,!0),a=QR.create(o);if(n)YR(a,n);YR(a,i),a.update(s);let c=a.digest();return Pn(o,s),c}var KW=(e)=>(t,r,i)=>({encrypt(o,s){let a=o.length;s=qu(a+16,s,!1),s.set(o);let c=s.subarray(0,-16);e(t,r,c,c,1);let l=XR(e,t,r,c,i);return s.set(l,a),Pn(l),s},decrypt(o,s){s=qu(o.length-16,s,!1);let a=o.subarray(0,-16),c=o.subarray(-16),l=XR(e,t,r,a,i);if(!FR(c,l))throw Pn(l),Error("invalid tag");return s.set(o.subarray(0,-16)),e(t,r,s,s,1),Pn(l),s}}),gn=HR({blockSize:64,nonceLength:12,tagLength:16},KW(FW));/*! noble-hashes - MIT License (c) 2022 Paul Miller (paulmillr.com) */function uc(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&e.constructor.name==="Uint8Array"}function Wt(e,t=""){if(!Number.isSafeInteger(e)||e<0){let r=t&&`"${t}" `;throw Error(`${r}expected integer >= 0, got ${e}`)}}function Pe(e,t,r=""){let i=uc(e),n=e?.length,o=t!==void 0;if(!i||o&&n!==t){let s=r&&`"${r}" `,a=o?` of length ${t}`:"",c=i?`length=${n}`:`type=${typeof e}`;throw Error(s+"expected Uint8Array"+a+", got "+c)}return e}function yn(e){if(typeof e!=="function"||typeof e.create!=="function")throw Error("Hash must wrapped by utils.createHasher");Wt(e.outputLen),Wt(e.blockLen)}function Pi(e,t=!0){if(e.destroyed)throw Error("Hash instance has been destroyed");if(t&&e.finished)throw Error("Hash#digest() has already been called")}function fm(e,t){Pe(e,void 0,"digestInto() output");let r=t.outputLen;if(e.length<r)throw Error('"digestInto() output" expected to be of length >='+r)}function pm(e){return new Uint32Array(e.buffer,e.byteOffset,Math.floor(e.byteLength/4))}function Mr(...e){for(let t=0;t<e.length;t++)e[t].fill(0)}function mm(e){return new DataView(e.buffer,e.byteOffset,e.byteLength)}function zn(e,t){return e<<32-t|e>>>t}var JW=(()=>new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68)();function VW(e){return e<<24&4278190080|e<<8&16711680|e>>>8&65280|e>>>24&255}function WW(e){for(let t=0;t<e.length;t++)e[t]=VW(e[t]);return e}var dS=JW?(e)=>e:WW,tP=(()=>typeof Uint8Array.from([]).toHex==="function"&&typeof Uint8Array.fromHex==="function")(),GW=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,"0"));function zs(e){if(Pe(e),tP)return e.toHex();let t="";for(let r=0;r<e.length;r++)t+=GW[e[r]];return t}var Ri={_0:48,_9:57,A:65,F:70,a:97,f:102};function eP(e){if(e>=Ri._0&&e<=Ri._9)return e-Ri._0;if(e>=Ri.A&&e<=Ri.F)return e-(Ri.A-10);if(e>=Ri.a&&e<=Ri.f)return e-(Ri.a-10);return}function Ns(e){if(typeof e!=="string")throw Error("hex string expected, got "+typeof e);if(tP)return Uint8Array.fromHex(e);let t=e.length,r=t/2;if(t%2)throw Error("hex string expected, got unpadded hex of length "+t);let i=new Uint8Array(r);for(let n=0,o=0;n<r;n++,o+=2){let s=eP(e.charCodeAt(o)),a=eP(e.charCodeAt(o+1));if(s===void 0||a===void 0){let c=e[o]+e[o+1];throw Error('hex string expected, got non-hex character "'+c+'" at index '+o)}i[n]=s*16+a}return i}function Lt(...e){let t=0;for(let i=0;i<e.length;i++){let n=e[i];Pe(n),t+=n.length}let r=new Uint8Array(t);for(let i=0,n=0;i<e.length;i++){let o=e[i];r.set(o,n),n+=o.length}return r}function dc(e,t={}){let r=(n,o)=>e(o).update(n).digest(),i=e(void 0);return r.outputLen=i.outputLen,r.blockLen=i.blockLen,r.create=(n)=>e(n),Object.assign(r,t),Object.freeze(r)}function So(e=32){let t=typeof globalThis==="object"?globalThis.crypto:null;if(typeof t?.getRandomValues!=="function")throw Error("crypto.getRandomValues must be defined");return t.getRandomValues(new Uint8Array(e))}var wo=(e)=>({oid:Uint8Array.from([6,9,96,134,72,1,101,3,4,2,e])});/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */var pS=BigInt(0),fS=BigInt(1);function Mu(e,t=""){if(typeof e!=="boolean"){let r=t&&`"${t}" `;throw Error(r+"expected boolean, got type="+typeof e)}return e}function rP(e){if(typeof e==="bigint"){if(!hm(e))throw Error("positive bigint expected, got "+e)}else Wt(e);return e}function Fu(e){let t=rP(e).toString(16);return t.length&1?"0"+t:t}function nP(e){if(typeof e!=="string")throw Error("hex string expected, got "+typeof e);return e===""?pS:BigInt("0x"+e)}function vo(e){return nP(zs(e))}function _o(e){return nP(zs(gm(Pe(e)).reverse()))}function fc(e,t){Wt(t),e=rP(e);let r=Ns(e.toString(16).padStart(t*2,"0"));if(r.length!==t)throw Error("number too large");return r}function Zu(e,t){return fc(e,t).reverse()}function gm(e){return Uint8Array.from(e)}function ko(e){return Uint8Array.from(e,(t,r)=>{let i=t.charCodeAt(0);if(t.length!==1||i>127)throw Error(`string contains non-ASCII character "${e[r]}" with code ${i} at position ${r}`);return i})}var hm=(e)=>typeof e==="bigint"&&pS<=e;function QW(e,t,r){return hm(e)&&hm(t)&&hm(r)&&t<=e&&e<r}function Hu(e,t,r,i){if(!QW(t,r,i))throw Error("expected valid "+e+": "+r+" <= n < "+i+", got "+t)}function mS(e){let t;for(t=0;e>pS;e>>=fS,t+=1);return t}var Ku=(e)=>(fS<<BigInt(e))-fS;function iP(e,t,r){if(Wt(e,"hashLen"),Wt(t,"qByteLen"),typeof r!=="function")throw Error("hmacFn must be a function");let i=(b)=>new Uint8Array(b),n=Uint8Array.of(),o=Uint8Array.of(0),s=Uint8Array.of(1),a=1000,c=i(e),l=i(e),u=0,d=()=>{c.fill(1),l.fill(0),u=0},p=(...b)=>r(l,Lt(c,...b)),m=(b=n)=>{if(l=p(o,b),c=p(),b.length===0)return;l=p(s,b),c=p()},y=()=>{if(u++>=a)throw Error("drbg: tried max amount of iterations");let b=0,_=[];while(b<t){c=p();let A=c.slice();_.push(A),b+=c.length}return Lt(..._)};return(b,_)=>{d(),m(b);let A=void 0;while(!(A=_(y())))m();return d(),A}}function Ds(e,t={},r={}){if(!e||typeof e!=="object")throw Error("expected valid options object");function i(o,s,a){let c=e[o];if(a&&c===void 0)return;let l=typeof c;if(l!==s||c===null)throw Error(`param "${o}" is invalid: expected ${s}, got ${l}`)}let n=(o,s)=>Object.entries(o).forEach(([a,c])=>i(a,c,s));n(t,!1),n(r,!0)}function hS(e){let t=new WeakMap;return(r,...i)=>{let n=t.get(r);if(n!==void 0)return n;let o=e(r,...i);return t.set(r,o),o}}/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */var Cr=BigInt(0),yr=BigInt(1),Ls=BigInt(2),aP=BigInt(3),cP=BigInt(4),lP=BigInt(5),YW=BigInt(7),uP=BigInt(8),XW=BigInt(9),dP=BigInt(16);function Tr(e,t){let r=e%t;return r>=Cr?r:t+r}function bn(e,t,r){let i=e;while(t-- >Cr)i*=i,i%=r;return i}function oP(e,t){if(e===Cr)throw Error("invert: expected non-zero number");if(t<=Cr)throw Error("invert: expected positive modulus, got "+t);let r=Tr(e,t),i=t,n=Cr,o=yr,s=yr,a=Cr;while(r!==Cr){let l=i/r,u=i%r,d=n-s*l,p=o-a*l;i=r,r=u,n=s,o=a,s=d,a=p}if(i!==yr)throw Error("invert: does not exist");return Tr(n,t)}function gS(e,t,r){if(!e.eql(e.sqr(t),r))throw Error("Cannot find square root")}function fP(e,t){let r=(e.ORDER+yr)/cP,i=e.pow(t,r);return gS(e,i,t),i}function eG(e,t){let r=(e.ORDER-lP)/uP,i=e.mul(t,Ls),n=e.pow(i,r),o=e.mul(t,n),s=e.mul(e.mul(o,Ls),n),a=e.mul(o,e.sub(s,e.ONE));return gS(e,a,t),a}function tG(e){let t=ym(e),r=pP(e),i=r(t,t.neg(t.ONE)),n=r(t,i),o=r(t,t.neg(i)),s=(e+YW)/dP;return(a,c)=>{let l=a.pow(c,s),u=a.mul(l,i),d=a.mul(l,n),p=a.mul(l,o),m=a.eql(a.sqr(u),c),y=a.eql(a.sqr(d),c);l=a.cmov(l,u,m),u=a.cmov(p,d,y);let g=a.eql(a.sqr(u),c),b=a.cmov(l,u,g);return gS(a,b,c),b}}function pP(e){if(e<aP)throw Error("sqrt is not defined for small field");let t=e-yr,r=0;while(t%Ls===Cr)t/=Ls,r++;let i=Ls,n=ym(e);while(sP(n,i)===1)if(i++>1000)throw Error("Cannot find square root: probably non-prime P");if(r===1)return fP;let o=n.pow(i,t),s=(t+yr)/Ls;return function(c,l){if(c.is0(l))return l;if(sP(c,l)!==1)throw Error("Cannot find square root");let u=r,d=c.mul(c.ONE,o),p=c.pow(l,t),m=c.pow(l,s);while(!c.eql(p,c.ONE)){if(c.is0(p))return c.ZERO;let y=1,g=c.sqr(p);while(!c.eql(g,c.ONE))if(y++,g=c.sqr(g),y===u)throw Error("Cannot find square root");let b=yr<<BigInt(u-y-1),_=c.pow(d,b);u=y,d=c.sqr(_),p=c.mul(p,d),m=c.mul(m,_)}return m}}function rG(e){if(e%cP===aP)return fP;if(e%uP===lP)return eG;if(e%dP===XW)return tG(e);return pP(e)}var nG=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function yS(e){let t={ORDER:"bigint",BYTES:"number",BITS:"number"},r=nG.reduce((i,n)=>(i[n]="function",i),t);return Ds(e,r),e}function iG(e,t,r){if(r<Cr)throw Error("invalid exponent, negatives unsupported");if(r===Cr)return e.ONE;if(r===yr)return t;let i=e.ONE,n=t;while(r>Cr){if(r&yr)i=e.mul(i,n);n=e.sqr(n),r>>=yr}return i}function Ju(e,t,r=!1){let i=Array(t.length).fill(r?e.ZERO:void 0),n=t.reduce((s,a,c)=>{if(e.is0(a))return s;return i[c]=s,e.mul(s,a)},e.ONE),o=e.inv(n);return t.reduceRight((s,a,c)=>{if(e.is0(a))return s;return i[c]=e.mul(s,i[c]),e.mul(s,a)},o),i}function sP(e,t){let r=(e.ORDER-yr)/Ls,i=e.pow(t,r),n=e.eql(i,e.ONE),o=e.eql(i,e.ZERO),s=e.eql(i,e.neg(e.ONE));if(!n&&!o&&!s)throw Error("invalid Legendre symbol result");return n?1:o?0:-1}function oG(e,t){if(t!==void 0)Wt(t);let r=t!==void 0?t:e.toString(2).length,i=Math.ceil(r/8);return{nBitLength:r,nByteLength:i}}class mP{ORDER;BITS;BYTES;isLE;ZERO=Cr;ONE=yr;_lengths;_sqrt;_mod;constructor(e,t={}){if(e<=Cr)throw Error("invalid field: expected ORDER > 0, got "+e);let r=void 0;if(this.isLE=!1,t!=null&&typeof t==="object"){if(typeof t.BITS==="number")r=t.BITS;if(typeof t.sqrt==="function")this.sqrt=t.sqrt;if(typeof t.isLE==="boolean")this.isLE=t.isLE;if(t.allowedLengths)this._lengths=t.allowedLengths?.slice();if(typeof t.modFromBytes==="boolean")this._mod=t.modFromBytes}let{nBitLength:i,nByteLength:n}=oG(e,r);if(n>2048)throw Error("invalid field: expected ORDER of <= 2048 bytes");this.ORDER=e,this.BITS=i,this.BYTES=n,this._sqrt=void 0,Object.preventExtensions(this)}create(e){return Tr(e,this.ORDER)}isValid(e){if(typeof e!=="bigint")throw Error("invalid field element: expected bigint, got "+typeof e);return Cr<=e&&e<this.ORDER}is0(e){return e===Cr}isValidNot0(e){return!this.is0(e)&&this.isValid(e)}isOdd(e){return(e&yr)===yr}neg(e){return Tr(-e,this.ORDER)}eql(e,t){return e===t}sqr(e){return Tr(e*e,this.ORDER)}add(e,t){return Tr(e+t,this.ORDER)}sub(e,t){return Tr(e-t,this.ORDER)}mul(e,t){return Tr(e*t,this.ORDER)}pow(e,t){return iG(this,e,t)}div(e,t){return Tr(e*oP(t,this.ORDER),this.ORDER)}sqrN(e){return e*e}addN(e,t){return e+t}subN(e,t){return e-t}mulN(e,t){return e*t}inv(e){return oP(e,this.ORDER)}sqrt(e){if(!this._sqrt)this._sqrt=rG(this.ORDER);return this._sqrt(this,e)}toBytes(e){return this.isLE?Zu(e,this.BYTES):fc(e,this.BYTES)}fromBytes(e,t=!1){Pe(e);let{_lengths:r,BYTES:i,isLE:n,ORDER:o,_mod:s}=this;if(r){if(!r.includes(e.length)||e.length>i)throw Error("Field.fromBytes: expected "+r+" bytes, got "+e.length);let c=new Uint8Array(i);c.set(e,n?0:c.length-e.length),e=c}if(e.length!==i)throw Error("Field.fromBytes: expected "+i+" bytes, got "+e.length);let a=n?_o(e):vo(e);if(s)a=Tr(a,o);if(!t){if(!this.isValid(a))throw Error("invalid field element: outside of range 0..ORDER")}return a}invertBatch(e){return Ju(this,e)}cmov(e,t,r){return r?t:e}}function ym(e,t={}){return new mP(e,t)}function hP(e){if(typeof e!=="bigint")throw Error("field order must be bigint");let t=e.toString(2).length;return Math.ceil(t/8)}function bS(e){let t=hP(e);return t+Math.ceil(t/2)}function gP(e,t,r=!1){Pe(e);let i=e.length,n=hP(t),o=bS(t);if(i<16||i<o||i>1024)throw Error("expected "+o+"-1024 bytes of input, got "+i);let s=r?_o(e):vo(e),a=Tr(s,t-yr)+yr;return r?Zu(a,n):fc(a,n)}/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */var pc=BigInt(0),Bs=BigInt(1);function Vu(e,t){let r=t.negate();return e?r:t}function vS(e,t){let r=Ju(e.Fp,t.map((i)=>i.Z));return t.map((i,n)=>e.fromAffine(i.toAffine(r[n])))}function SP(e,t){if(!Number.isSafeInteger(e)||e<=0||e>t)throw Error("invalid window size, expected [1.."+t+"], got W="+e)}function xS(e,t){SP(e,t);let r=Math.ceil(t/e)+1,i=2**(e-1),n=2**e,o=Ku(e),s=BigInt(e);return{windows:r,windowSize:i,mask:o,maxNumber:n,shiftBy:s}}function yP(e,t,r){let{windowSize:i,mask:n,maxNumber:o,shiftBy:s}=r,a=Number(e&n),c=e>>s;if(a>i)a-=o,c+=Bs;let l=t*i,u=l+Math.abs(a)-1,d=a===0,p=a<0,m=t%2!==0;return{nextN:c,offset:u,isZero:d,isNeg:p,isNegF:m,offsetF:l}}var SS=new WeakMap,wP=new WeakMap;function wS(e){return wP.get(e)||1}function bP(e){if(e!==pc)throw Error("invalid wNAF")}class _S{BASE;ZERO;Fn;bits;constructor(e,t){this.BASE=e.BASE,this.ZERO=e.ZERO,this.Fn=e.Fn,this.bits=t}_unsafeLadder(e,t,r=this.ZERO){let i=e;while(t>pc){if(t&Bs)r=r.add(i);i=i.double(),t>>=Bs}return r}precomputeWindow(e,t){let{windows:r,windowSize:i}=xS(t,this.bits),n=[],o=e,s=o;for(let a=0;a<r;a++){s=o,n.push(s);for(let c=1;c<i;c++)s=s.add(o),n.push(s);o=s.double()}return n}wNAF(e,t,r){if(!this.Fn.isValid(r))throw Error("invalid scalar");let i=this.ZERO,n=this.BASE,o=xS(e,this.bits);for(let s=0;s<o.windows;s++){let{nextN:a,offset:c,isZero:l,isNeg:u,isNegF:d,offsetF:p}=yP(r,s,o);if(r=a,l)n=n.add(Vu(d,t[p]));else i=i.add(Vu(u,t[c]))}return bP(r),{p:i,f:n}}wNAFUnsafe(e,t,r,i=this.ZERO){let n=xS(e,this.bits);for(let o=0;o<n.windows;o++){if(r===pc)break;let{nextN:s,offset:a,isZero:c,isNeg:l}=yP(r,o,n);if(r=s,c)continue;else{let u=t[a];i=i.add(l?u.negate():u)}}return bP(r),i}getPrecomputes(e,t,r){let i=SS.get(t);if(!i){if(i=this.precomputeWindow(t,e),e!==1){if(typeof r==="function")i=r(i);SS.set(t,i)}}return i}cached(e,t,r){let i=wS(e);return this.wNAF(i,this.getPrecomputes(i,e,r),t)}unsafe(e,t,r,i){let n=wS(e);if(n===1)return this._unsafeLadder(e,t,i);return this.wNAFUnsafe(n,this.getPrecomputes(n,e,r),t,i)}createCache(e,t){SP(t,this.bits),wP.set(e,t),SS.delete(e)}hasCache(e){return wS(e)!==1}}function vP(e,t,r,i){let n=t,o=e.ZERO,s=e.ZERO;while(r>pc||i>pc){if(r&Bs)o=o.add(n);if(i&Bs)s=s.add(n);n=n.double(),r>>=Bs,i>>=Bs}return{p1:o,p2:s}}function xP(e,t,r){if(t){if(t.ORDER!==e)throw Error("Field.ORDER must match order: Fp == p, Fn == n");return yS(t),t}else return ym(e,{isLE:r})}function _P(e,t,r={},i){if(i===void 0)i=e==="edwards";if(!t||typeof t!=="object")throw Error(`expected valid ${e} CURVE object`);for(let c of["p","n","h"]){let l=t[c];if(!(typeof l==="bigint"&&l>pc))throw Error(`CURVE.${c} must be positive bigint`)}let n=xP(t.p,r.Fp,i),o=xP(t.n,r.Fn,i),a=["Gx","Gy","a",e==="weierstrass"?"b":"d"];for(let c of a)if(!n.isValid(t[c]))throw Error(`CURVE.${c} must be valid field element of CURVE.Fp`);return t=Object.freeze(Object.assign({},t)),{CURVE:t,Fp:n,Fn:o}}function bm(e,t){return function(i){let n=e(i);return{secretKey:n,publicKey:t(n)}}}/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */var Wu=BigInt(0),mc=BigInt(1),xm=BigInt(2);function sG(e){return Ds(e,{adjustScalarBytes:"function",powPminus2:"function"}),Object.freeze({...e})}function kP(e){let t=sG(e),{P:r,type:i,adjustScalarBytes:n,powPminus2:o,randomBytes:s}=t,a=i==="x25519";if(!a&&i!=="x448")throw Error("invalid type");let c=s||So,l=a?255:448,u=a?32:56,d=a?BigInt(9):BigInt(5),p=a?BigInt(121665):BigInt(39081),m=a?xm**BigInt(254):xm**BigInt(447),y=a?BigInt(8)*xm**BigInt(251)-mc:BigInt(4)*xm**BigInt(445)-mc,g=m+y+mc,b=(I)=>Tr(I,r),_=A(d);function A(I){return Zu(b(I),u)}function T(I){let R=gm(Pe(I,u,"uCoordinate"));if(a)R[31]&=127;return b(_o(R))}function z(I){return _o(n(gm(Pe(I,u,"scalar"))))}function j(I,R){let O=X(T(R),z(I));if(O===Wu)throw Error("invalid private or public key received");return A(O)}function E(I){return j(I,_)}let Z=E,D=j;function H(I,R,O){let F=b(I*(R-O));return R=b(R-F),O=b(O+F),{x_2:R,x_3:O}}function X(I,R){Hu("u",I,Wu,r),Hu("scalar",R,m,g);let O=R,F=I,L=mc,V=Wu,k=I,re=mc,de=Wu;for(let xe=BigInt(l-1);xe>=Wu;xe--){let Ee=O>>xe&mc;de^=Ee,{x_2:L,x_3:k}=H(de,L,k),{x_2:V,x_3:re}=H(de,V,re),de=Ee;let Ce=L+V,$e=b(Ce*Ce),_e=L-V,Ve=b(_e*_e),De=$e-Ve,Ye=k+re,mt=k-re,Dt=b(mt*Ce),hr=b(Ye*_e),Yr=Dt+hr,Xr=Dt-hr;k=b(Yr*Yr),re=b(F*b(Xr*Xr)),L=b($e*Ve),V=b(De*($e+b(p*De)))}({x_2:L,x_3:k}=H(de,L,k)),{x_2:V,x_3:re}=H(de,V,re);let C=o(V);return b(L*C)}let M={secretKey:u,publicKey:u,seed:u},P=(I=c(u))=>(Pe(I,M.seed,"seed"),I),N={randomSecretKey:P};return Object.freeze({keygen:bm(P,Z),getSharedSecret:D,getPublicKey:Z,scalarMult:j,scalarMultBase:E,utils:N,GuBytes:_.slice(),lengths:M})}class kS{oHash;iHash;blockLen;outputLen;finished=!1;destroyed=!1;constructor(e,t){if(yn(e),Pe(t,void 0,"key"),this.iHash=e.create(),typeof this.iHash.update!=="function")throw Error("Expected instance of class which extends utils.Hash");this.blockLen=this.iHash.blockLen,this.outputLen=this.iHash.outputLen;let r=this.blockLen,i=new Uint8Array(r);i.set(t.length>r?e.create().update(t).digest():t);for(let n=0;n<i.length;n++)i[n]^=54;this.iHash.update(i),this.oHash=e.create();for(let n=0;n<i.length;n++)i[n]^=106;this.oHash.update(i),Mr(i)}update(e){return Pi(this),this.iHash.update(e),this}digestInto(e){Pi(this),Pe(e,this.outputLen,"output"),this.finished=!0,this.iHash.digestInto(e),this.oHash.update(e),this.oHash.digestInto(e),this.destroy()}digest(){let e=new Uint8Array(this.oHash.outputLen);return this.digestInto(e),e}_cloneInto(e){e||=Object.create(Object.getPrototypeOf(this),{});let{oHash:t,iHash:r,finished:i,destroyed:n,blockLen:o,outputLen:s}=this;return e=e,e.finished=i,e.destroyed=n,e.blockLen=o,e.outputLen=s,e.oHash=t._cloneInto(e.oHash),e.iHash=r._cloneInto(e.iHash),e}clone(){return this._cloneInto()}destroy(){this.destroyed=!0,this.oHash.destroy(),this.iHash.destroy()}}var hc=(e,t,r)=>new kS(e,t).update(r).digest();hc.create=(e,t)=>new kS(e,t);/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */var EP=(e,t)=>(e+(e>=0?t:-t)/AP)/t;function aG(e,t,r){let[[i,n],[o,s]]=t,a=EP(s*e,r),c=EP(-n*e,r),l=e-a*i-c*o,u=-a*n-c*s,d=l<zi,p=u<zi;if(d)l=-l;if(p)u=-u;let m=Ku(Math.ceil(mS(r)/2))+gc;if(l<zi||l>=m||u<zi||u>=m)throw Error("splitScalar (endomorphism): failed, k="+e);return{k1neg:d,k1:l,k2neg:p,k2:u}}function IS(e){if(!["compact","recovered","der"].includes(e))throw Error('Signature format must be "compact", "recovered", or "der"');return e}function ES(e,t){let r={};for(let i of Object.keys(t))r[i]=e[i]===void 0?t[i]:e[i];if(Mu(r.lowS,"lowS"),Mu(r.prehash,"prehash"),r.format!==void 0)IS(r.format);return r}class IP extends Error{constructor(e=""){super(e)}}var Eo={Err:IP,_tlv:{encode:(e,t)=>{let{Err:r}=Eo;if(e<0||e>256)throw new r("tlv.encode: wrong tag");if(t.length&1)throw new r("tlv.encode: unpadded data");let i=t.length/2,n=Fu(i);if(n.length/2&128)throw new r("tlv.encode: long form length too big");let o=i>127?Fu(n.length/2|128):"";return Fu(e)+o+n+t},decode(e,t){let{Err:r}=Eo,i=0;if(e<0||e>256)throw new r("tlv.encode: wrong tag");if(t.length<2||t[i++]!==e)throw new r("tlv.decode: wrong tlv");let n=t[i++],o=!!(n&128),s=0;if(!o)s=n;else{let c=n&127;if(!c)throw new r("tlv.decode(long): indefinite length not supported");if(c>4)throw new r("tlv.decode(long): byte length is too big");let l=t.subarray(i,i+c);if(l.length!==c)throw new r("tlv.decode: length bytes not complete");if(l[0]===0)throw new r("tlv.decode(long): zero leftmost byte");for(let u of l)s=s<<8|u;if(i+=c,s<128)throw new r("tlv.decode(long): not minimal encoding")}let a=t.subarray(i,i+s);if(a.length!==s)throw new r("tlv.decode: wrong value length");return{v:a,l:t.subarray(i+s)}}},_int:{encode(e){let{Err:t}=Eo;if(e<zi)throw new t("integer: negative integers are not allowed");let r=Fu(e);if(Number.parseInt(r[0],16)&8)r="00"+r;if(r.length&1)throw new t("unexpected DER parsing assertion: unpadded hex");return r},decode(e){let{Err:t}=Eo;if(e[0]&128)throw new t("invalid signature integer: negative");if(e[0]===0&&!(e[1]&128))throw new t("invalid signature integer: unnecessary leading zero");return vo(e)}},toSig(e){let{Err:t,_int:r,_tlv:i}=Eo,n=Pe(e,void 0,"signature"),{v:o,l:s}=i.decode(48,n);if(s.length)throw new t("invalid signature: left bytes after parsing");let{v:a,l:c}=i.decode(2,o),{v:l,l:u}=i.decode(2,c);if(u.length)throw new t("invalid signature: left bytes after parsing");return{r:r.decode(a),s:r.decode(l)}},hexFromSig(e){let{_tlv:t,_int:r}=Eo,i=t.encode(2,r.encode(e.r)),n=t.encode(2,r.encode(e.s)),o=i+n;return t.encode(48,o)}},zi=BigInt(0),gc=BigInt(1),AP=BigInt(2),Sm=BigInt(3),cG=BigInt(4);function AS(e,t={}){let r=_P("weierstrass",e,t),{Fp:i,Fn:n}=r,o=r.CURVE,{h:s,n:a}=o;Ds(t,{},{allowInfinityPoint:"boolean",clearCofactor:"function",isTorsionFree:"function",fromBytes:"function",toBytes:"function",endo:"object"});let{endo:c}=t;if(c){if(!i.is0(o.a)||typeof c.beta!=="bigint"||!Array.isArray(c.basises))throw Error('invalid endo: expected "beta": bigint and "basises": array')}let l=CP(i,n);function u(){if(!i.isOdd)throw Error("compression is not supported: Field does not have .isOdd()")}function d(P,N,I){let{x:R,y:O}=N.toAffine(),F=i.toBytes(R);if(Mu(I,"isCompressed"),I){u();let L=!i.isOdd(O);return Lt(TP(L),F)}else return Lt(Uint8Array.of(4),F,i.toBytes(O))}function p(P){Pe(P,void 0,"Point");let{publicKey:N,publicKeyUncompressed:I}=l,R=P.length,O=P[0],F=P.subarray(1);if(R===N&&(O===2||O===3)){let L=i.fromBytes(F);if(!i.isValid(L))throw Error("bad point: is not on curve, wrong x");let V=g(L),k;try{k=i.sqrt(V)}catch(C){let xe=C instanceof Error?": "+C.message:"";throw Error("bad point: is not on curve, sqrt error"+xe)}u();let re=i.isOdd(k);if((O&1)===1!==re)k=i.neg(k);return{x:L,y:k}}else if(R===I&&O===4){let L=i.BYTES,V=i.fromBytes(F.subarray(0,L)),k=i.fromBytes(F.subarray(L,L*2));if(!b(V,k))throw Error("bad point: is not on curve");return{x:V,y:k}}else throw Error(`bad point: got length ${R}, expected compressed=${N} or uncompressed=${I}`)}let m=t.toBytes||d,y=t.fromBytes||p;function g(P){let N=i.sqr(P),I=i.mul(N,P);return i.add(i.add(I,i.mul(P,o.a)),o.b)}function b(P,N){let I=i.sqr(N),R=g(P);return i.eql(I,R)}if(!b(o.Gx,o.Gy))throw Error("bad curve params: generator point");let _=i.mul(i.pow(o.a,Sm),cG),A=i.mul(i.sqr(o.b),BigInt(27));if(i.is0(i.add(_,A)))throw Error("bad curve params: a or b");function T(P,N,I=!1){if(!i.isValid(N)||I&&i.is0(N))throw Error(`bad point coordinate ${P}`);return N}function z(P){if(!(P instanceof H))throw Error("Weierstrass Point expected")}function j(P){if(!c||!c.basises)throw Error("no endo");return aG(P,c.basises,n.ORDER)}let E=hS((P,N)=>{let{X:I,Y:R,Z:O}=P;if(i.eql(O,i.ONE))return{x:I,y:R};let F=P.is0();if(N==null)N=F?i.ONE:i.inv(O);let L=i.mul(I,N),V=i.mul(R,N),k=i.mul(O,N);if(F)return{x:i.ZERO,y:i.ZERO};if(!i.eql(k,i.ONE))throw Error("invZ was invalid");return{x:L,y:V}}),Z=hS((P)=>{if(P.is0()){if(t.allowInfinityPoint&&!i.is0(P.Y))return;throw Error("bad point: ZERO")}let{x:N,y:I}=P.toAffine();if(!i.isValid(N)||!i.isValid(I))throw Error("bad point: x or y not field elements");if(!b(N,I))throw Error("bad point: equation left != right");if(!P.isTorsionFree())throw Error("bad point: not in prime-order subgroup");return!0});function D(P,N,I,R,O){return I=new H(i.mul(I.X,P),I.Y,I.Z),N=Vu(R,N),I=Vu(O,I),N.add(I)}class H{static BASE=new H(o.Gx,o.Gy,i.ONE);static ZERO=new H(i.ZERO,i.ONE,i.ZERO);static Fp=i;static Fn=n;X;Y;Z;constructor(P,N,I){this.X=T("x",P),this.Y=T("y",N,!0),this.Z=T("z",I),Object.freeze(this)}static CURVE(){return o}static fromAffine(P){let{x:N,y:I}=P||{};if(!P||!i.isValid(N)||!i.isValid(I))throw Error("invalid affine point");if(P instanceof H)throw Error("projective point not allowed");if(i.is0(N)&&i.is0(I))return H.ZERO;return new H(N,I,i.ONE)}static fromBytes(P){let N=H.fromAffine(y(Pe(P,void 0,"point")));return N.assertValidity(),N}static fromHex(P){return H.fromBytes(Ns(P))}get x(){return this.toAffine().x}get y(){return this.toAffine().y}precompute(P=8,N=!0){if(M.createCache(this,P),!N)this.multiply(Sm);return this}assertValidity(){Z(this)}hasEvenY(){let{y:P}=this.toAffine();if(!i.isOdd)throw Error("Field doesn't support isOdd");return!i.isOdd(P)}equals(P){z(P);let{X:N,Y:I,Z:R}=this,{X:O,Y:F,Z:L}=P,V=i.eql(i.mul(N,L),i.mul(O,R)),k=i.eql(i.mul(I,L),i.mul(F,R));return V&&k}negate(){return new H(this.X,i.neg(this.Y),this.Z)}double(){let{a:P,b:N}=o,I=i.mul(N,Sm),{X:R,Y:O,Z:F}=this,L=i.ZERO,V=i.ZERO,k=i.ZERO,re=i.mul(R,R),de=i.mul(O,O),C=i.mul(F,F),xe=i.mul(R,O);return xe=i.add(xe,xe),k=i.mul(R,F),k=i.add(k,k),L=i.mul(P,k),V=i.mul(I,C),V=i.add(L,V),L=i.sub(de,V),V=i.add(de,V),V=i.mul(L,V),L=i.mul(xe,L),k=i.mul(I,k),C=i.mul(P,C),xe=i.sub(re,C),xe=i.mul(P,xe),xe=i.add(xe,k),k=i.add(re,re),re=i.add(k,re),re=i.add(re,C),re=i.mul(re,xe),V=i.add(V,re),C=i.mul(O,F),C=i.add(C,C),re=i.mul(C,xe),L=i.sub(L,re),k=i.mul(C,de),k=i.add(k,k),k=i.add(k,k),new H(L,V,k)}add(P){z(P);let{X:N,Y:I,Z:R}=this,{X:O,Y:F,Z:L}=P,V=i.ZERO,k=i.ZERO,re=i.ZERO,de=o.a,C=i.mul(o.b,Sm),xe=i.mul(N,O),Ee=i.mul(I,F),Ce=i.mul(R,L),$e=i.add(N,I),_e=i.add(O,F);$e=i.mul($e,_e),_e=i.add(xe,Ee),$e=i.sub($e,_e),_e=i.add(N,R);let Ve=i.add(O,L);return _e=i.mul(_e,Ve),Ve=i.add(xe,Ce),_e=i.sub(_e,Ve),Ve=i.add(I,R),V=i.add(F,L),Ve=i.mul(Ve,V),V=i.add(Ee,Ce),Ve=i.sub(Ve,V),re=i.mul(de,_e),V=i.mul(C,Ce),re=i.add(V,re),V=i.sub(Ee,re),re=i.add(Ee,re),k=i.mul(V,re),Ee=i.add(xe,xe),Ee=i.add(Ee,xe),Ce=i.mul(de,Ce),_e=i.mul(C,_e),Ee=i.add(Ee,Ce),Ce=i.sub(xe,Ce),Ce=i.mul(de,Ce),_e=i.add(_e,Ce),xe=i.mul(Ee,_e),k=i.add(k,xe),xe=i.mul(Ve,_e),V=i.mul($e,V),V=i.sub(V,xe),xe=i.mul($e,Ee),re=i.mul(Ve,re),re=i.add(re,xe),new H(V,k,re)}subtract(P){return this.add(P.negate())}is0(){return this.equals(H.ZERO)}multiply(P){let{endo:N}=t;if(!n.isValidNot0(P))throw Error("invalid scalar: out of range");let I,R,O=(F)=>M.cached(this,F,(L)=>vS(H,L));if(N){let{k1neg:F,k1:L,k2neg:V,k2:k}=j(P),{p:re,f:de}=O(L),{p:C,f:xe}=O(k);R=de.add(xe),I=D(N.beta,re,C,F,V)}else{let{p:F,f:L}=O(P);I=F,R=L}return vS(H,[I,R])[0]}multiplyUnsafe(P){let{endo:N}=t,I=this;if(!n.isValid(P))throw Error("invalid scalar: out of range");if(P===zi||I.is0())return H.ZERO;if(P===gc)return I;if(M.hasCache(this))return this.multiply(P);if(N){let{k1neg:R,k1:O,k2neg:F,k2:L}=j(P),{p1:V,p2:k}=vP(H,I,O,L);return D(N.beta,V,k,R,F)}else return M.unsafe(I,P)}toAffine(P){return E(this,P)}isTorsionFree(){let{isTorsionFree:P}=t;if(s===gc)return!0;if(P)return P(H,this);return M.unsafe(this,a).is0()}clearCofactor(){let{clearCofactor:P}=t;if(s===gc)return this;if(P)return P(H,this);return this.multiplyUnsafe(s)}isSmallOrder(){return this.multiplyUnsafe(s).is0()}toBytes(P=!0){return Mu(P,"isCompressed"),this.assertValidity(),m(H,this,P)}toHex(P=!0){return zs(this.toBytes(P))}toString(){return`<Point ${this.is0()?"ZERO":this.toHex()}>`}}let X=n.BITS,M=new _S(H,t.endo?Math.ceil(X/2):X);return H.BASE.precompute(8),H}function TP(e){return Uint8Array.of(e?2:3)}function CP(e,t){return{secretKey:t.BYTES,publicKey:1+e.BYTES,publicKeyUncompressed:1+2*e.BYTES,publicKeyHasPrefix:!0,signature:2*t.BYTES}}function lG(e,t={}){let{Fn:r}=e,i=t.randomBytes||So,n=Object.assign(CP(e.Fp,r),{seed:bS(r.ORDER)});function o(m){try{let y=r.fromBytes(m);return r.isValidNot0(y)}catch(y){return!1}}function s(m,y){let{publicKey:g,publicKeyUncompressed:b}=n;try{let _=m.length;if(y===!0&&_!==g)return!1;if(y===!1&&_!==b)return!1;return!!e.fromBytes(m)}catch(_){return!1}}function a(m=i(n.seed)){return gP(Pe(m,n.seed,"seed"),r.ORDER)}function c(m,y=!0){return e.BASE.multiply(r.fromBytes(m)).toBytes(y)}function l(m){let{secretKey:y,publicKey:g,publicKeyUncompressed:b}=n;if(!uc(m))return;if("_lengths"in r&&r._lengths||y===g)return;let _=Pe(m,void 0,"key").length;return _===g||_===b}function u(m,y,g=!0){if(l(m)===!0)throw Error("first arg must be private key");if(l(y)===!1)throw Error("second arg must be public key");let b=r.fromBytes(m);return e.fromBytes(y).multiply(b).toBytes(g)}let d={isValidSecretKey:o,isValidPublicKey:s,randomSecretKey:a},p=bm(a,c);return Object.freeze({getPublicKey:c,getSharedSecret:u,keygen:p,Point:e,utils:d,lengths:n})}function TS(e,t,r={}){yn(t),Ds(r,{},{hmac:"function",lowS:"boolean",randomBytes:"function",bits2int:"function",bits2int_modN:"function"}),r=Object.assign({},r);let i=r.randomBytes||So,n=r.hmac||((I,R)=>hc(t,I,R)),{Fp:o,Fn:s}=e,{ORDER:a,BITS:c}=s,{keygen:l,getPublicKey:u,getSharedSecret:d,utils:p,lengths:m}=lG(e,r),y={prehash:!0,lowS:typeof r.lowS==="boolean"?r.lowS:!0,format:"compact",extraEntropy:!1},g=a*AP<o.ORDER;function b(I){let R=a>>gc;return I>R}function _(I,R){if(!s.isValidNot0(R))throw Error(`invalid signature ${I}: out of range 1..Point.Fn.ORDER`);return R}function A(){if(g)throw Error('"recovered" sig type is not supported for cofactor >2 curves')}function T(I,R){IS(R);let O=m.signature,F=R==="compact"?O:R==="recovered"?O+1:void 0;return Pe(I,F)}class z{r;s;recovery;constructor(I,R,O){if(this.r=_("r",I),this.s=_("s",R),O!=null){if(A(),![0,1,2,3].includes(O))throw Error("invalid recovery id");this.recovery=O}Object.freeze(this)}static fromBytes(I,R=y.format){T(I,R);let O;if(R==="der"){let{r:k,s:re}=Eo.toSig(Pe(I));return new z(k,re)}if(R==="recovered")O=I[0],R="compact",I=I.subarray(1);let F=m.signature/2,L=I.subarray(0,F),V=I.subarray(F,F*2);return new z(s.fromBytes(L),s.fromBytes(V),O)}static fromHex(I,R){return this.fromBytes(Ns(I),R)}assertRecovery(){let{recovery:I}=this;if(I==null)throw Error("invalid recovery id: must be present");return I}addRecoveryBit(I){return new z(this.r,this.s,I)}recoverPublicKey(I){let{r:R,s:O}=this,F=this.assertRecovery(),L=F===2||F===3?R+a:R;if(!o.isValid(L))throw Error("invalid recovery id: sig.r+curve.n != R.x");let V=o.toBytes(L),k=e.fromBytes(Lt(TP((F&1)===0),V)),re=s.inv(L),de=E(Pe(I,void 0,"msgHash")),C=s.create(-de*re),xe=s.create(O*re),Ee=e.BASE.multiplyUnsafe(C).add(k.multiplyUnsafe(xe));if(Ee.is0())throw Error("invalid recovery: point at infinify");return Ee.assertValidity(),Ee}hasHighS(){return b(this.s)}toBytes(I=y.format){if(IS(I),I==="der")return Ns(Eo.hexFromSig(this));let{r:R,s:O}=this,F=s.toBytes(R),L=s.toBytes(O);if(I==="recovered")return A(),Lt(Uint8Array.of(this.assertRecovery()),F,L);return Lt(F,L)}toHex(I){return zs(this.toBytes(I))}}let j=r.bits2int||function(R){if(R.length>8192)throw Error("input is too large");let O=vo(R),F=R.length*8-c;return F>0?O>>BigInt(F):O},E=r.bits2int_modN||function(R){return s.create(j(R))},Z=Ku(c);function D(I){return Hu("num < 2^"+c,I,zi,Z),s.toBytes(I)}function H(I,R){return Pe(I,void 0,"message"),R?Pe(t(I),void 0,"prehashed message"):I}function X(I,R,O){let{lowS:F,prehash:L,extraEntropy:V}=ES(O,y);I=H(I,L);let k=E(I),re=s.fromBytes(R);if(!s.isValidNot0(re))throw Error("invalid private key");let de=[D(re),D(k)];if(V!=null&&V!==!1){let Ce=V===!0?i(m.secretKey):V;de.push(Pe(Ce,void 0,"extraEntropy"))}let C=Lt(...de),xe=k;function Ee(Ce){let $e=j(Ce);if(!s.isValidNot0($e))return;let _e=s.inv($e),Ve=e.BASE.multiply($e).toAffine(),De=s.create(Ve.x);if(De===zi)return;let Ye=s.create(_e*s.create(xe+De*re));if(Ye===zi)return;let mt=(Ve.x===De?0:2)|Number(Ve.y&gc),Dt=Ye;if(F&&b(Ye))Dt=s.neg(Ye),mt^=1;return new z(De,Dt,g?void 0:mt)}return{seed:C,k2sig:Ee}}function M(I,R,O={}){let{seed:F,k2sig:L}=X(I,R,O);return iP(t.outputLen,s.BYTES,n)(F,L).toBytes(O.format)}function P(I,R,O,F={}){let{lowS:L,prehash:V,format:k}=ES(F,y);if(O=Pe(O,void 0,"publicKey"),R=H(R,V),!uc(I)){let re=I instanceof z?", use sig.toBytes()":"";throw Error("verify expects Uint8Array signature"+re)}T(I,k);try{let re=z.fromBytes(I,k),de=e.fromBytes(O);if(L&&re.hasHighS())return!1;let{r:C,s:xe}=re,Ee=E(R),Ce=s.inv(xe),$e=s.create(Ee*Ce),_e=s.create(C*Ce),Ve=e.BASE.multiplyUnsafe($e).add(de.multiplyUnsafe(_e));if(Ve.is0())return!1;return s.create(Ve.x)===C}catch(re){return!1}}function N(I,R,O={}){let{prehash:F}=ES(O,y);return R=H(R,F),z.fromBytes(I,"recovered").recoverPublicKey(R).toBytes()}return Object.freeze({keygen:l,getPublicKey:u,getSharedSecret:d,utils:p,lengths:m,Point:e,sign:M,verify:P,recoverPublicKey:N,Signature:z,hash:t})}function $P(e,t,r){return e&t^~e&r}function OP(e,t,r){return e&t^e&r^t&r}class wm{blockLen;outputLen;padOffset;isLE;buffer;view;finished=!1;length=0;pos=0;destroyed=!1;constructor(e,t,r,i){this.blockLen=e,this.outputLen=t,this.padOffset=r,this.isLE=i,this.buffer=new Uint8Array(e),this.view=mm(this.buffer)}update(e){Pi(this),Pe(e);let{view:t,buffer:r,blockLen:i}=this,n=e.length;for(let o=0;o<n;){let s=Math.min(i-this.pos,n-o);if(s===i){let a=mm(e);for(;i<=n-o;o+=i)this.process(a,o);continue}if(r.set(e.subarray(o,o+s),this.pos),this.pos+=s,o+=s,this.pos===i)this.process(t,0),this.pos=0}return this.length+=e.length,this.roundClean(),this}digestInto(e){Pi(this),fm(e,this),this.finished=!0;let{buffer:t,view:r,blockLen:i,isLE:n}=this,{pos:o}=this;if(t[o++]=128,Mr(this.buffer.subarray(o)),this.padOffset>i-o)this.process(r,0),o=0;for(let u=o;u<i;u++)t[u]=0;r.setBigUint64(i-8,BigInt(this.length*8),n),this.process(r,0);let s=mm(e),a=this.outputLen;if(a%4)throw Error("_sha2: outputLen must be aligned to 32bit");let c=a/4,l=this.get();if(c>l.length)throw Error("_sha2: outputLen bigger than state");for(let u=0;u<c;u++)s.setUint32(4*u,l[u],n)}digest(){let{buffer:e,outputLen:t}=this;this.digestInto(e);let r=e.slice(0,t);return this.destroy(),r}_cloneInto(e){e||=new this.constructor,e.set(...this.get());let{blockLen:t,buffer:r,length:i,finished:n,destroyed:o,pos:s}=this;if(e.destroyed=o,e.finished=n,e.length=i,e.pos=s,i%t)e.buffer.set(r);return e}clone(){return this._cloneInto()}}var Ni=Uint32Array.from([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]);var or=Uint32Array.from([3418070365,3238371032,1654270250,914150663,2438529370,812702999,355462360,4144912697,1731405415,4290775857,2394180231,1750603025,3675008525,1694076839,1203062813,3204075428]);var vm=BigInt(4294967295),RP=BigInt(32);function uG(e,t=!1){if(t)return{h:Number(e&vm),l:Number(e>>RP&vm)};return{h:Number(e>>RP&vm)|0,l:Number(e&vm)|0}}function _m(e,t=!1){let r=e.length,i=new Uint32Array(r),n=new Uint32Array(r);for(let o=0;o<r;o++){let{h:s,l:a}=uG(e[o],t);[i[o],n[o]]=[s,a]}return[i,n]}var CS=(e,t,r)=>e>>>r,$S=(e,t,r)=>e<<32-r|t>>>r,js=(e,t,r)=>e>>>r|t<<32-r,qs=(e,t,r)=>e<<32-r|t>>>r,Gu=(e,t,r)=>e<<64-r|t>>>r-32,Qu=(e,t,r)=>e>>>r-32|t<<64-r;var PP=(e,t,r)=>e<<r|t>>>32-r,zP=(e,t,r)=>t<<r|e>>>32-r,NP=(e,t,r)=>t<<r-32|e>>>64-r,DP=(e,t,r)=>e<<r-32|t>>>64-r;function ri(e,t,r,i){let n=(t>>>0)+(i>>>0);return{h:e+r+(n/4294967296|0)|0,l:n|0}}var LP=(e,t,r)=>(e>>>0)+(t>>>0)+(r>>>0),BP=(e,t,r,i)=>t+r+i+(e/4294967296|0)|0,jP=(e,t,r,i)=>(e>>>0)+(t>>>0)+(r>>>0)+(i>>>0),qP=(e,t,r,i,n)=>t+r+i+n+(e/4294967296|0)|0,UP=(e,t,r,i,n)=>(e>>>0)+(t>>>0)+(r>>>0)+(i>>>0)+(n>>>0),MP=(e,t,r,i,n,o)=>t+r+i+n+o+(e/4294967296|0)|0;var fG=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]),Io=new Uint32Array(64);class FP extends wm{constructor(e){super(64,e,8,!1)}get(){let{A:e,B:t,C:r,D:i,E:n,F:o,G:s,H:a}=this;return[e,t,r,i,n,o,s,a]}set(e,t,r,i,n,o,s,a){this.A=e|0,this.B=t|0,this.C=r|0,this.D=i|0,this.E=n|0,this.F=o|0,this.G=s|0,this.H=a|0}process(e,t){for(let u=0;u<16;u++,t+=4)Io[u]=e.getUint32(t,!1);for(let u=16;u<64;u++){let d=Io[u-15],p=Io[u-2],m=zn(d,7)^zn(d,18)^d>>>3,y=zn(p,17)^zn(p,19)^p>>>10;Io[u]=y+Io[u-7]+m+Io[u-16]|0}let{A:r,B:i,C:n,D:o,E:s,F:a,G:c,H:l}=this;for(let u=0;u<64;u++){let d=zn(s,6)^zn(s,11)^zn(s,25),p=l+d+$P(s,a,c)+fG[u]+Io[u]|0,y=(zn(r,2)^zn(r,13)^zn(r,22))+OP(r,i,n)|0;l=c,c=a,a=s,s=o+p|0,o=n,n=i,i=r,r=p+y|0}r=r+this.A|0,i=i+this.B|0,n=n+this.C|0,o=o+this.D|0,s=s+this.E|0,a=a+this.F|0,c=c+this.G|0,l=l+this.H|0,this.set(r,i,n,o,s,a,c,l)}roundClean(){Mr(Io)}destroy(){this.set(0,0,0,0,0,0,0,0),Mr(this.buffer)}}class ZP extends FP{A=Ni[0]|0;B=Ni[1]|0;C=Ni[2]|0;D=Ni[3]|0;E=Ni[4]|0;F=Ni[5]|0;G=Ni[6]|0;H=Ni[7]|0;constructor(){super(32)}}var HP=(()=>_m(["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))))(),pG=(()=>HP[0])(),mG=(()=>HP[1])(),Ao=new Uint32Array(80),To=new Uint32Array(80);class KP extends wm{constructor(e){super(128,e,16,!1)}get(){let{Ah:e,Al:t,Bh:r,Bl:i,Ch:n,Cl:o,Dh:s,Dl:a,Eh:c,El:l,Fh:u,Fl:d,Gh:p,Gl:m,Hh:y,Hl:g}=this;return[e,t,r,i,n,o,s,a,c,l,u,d,p,m,y,g]}set(e,t,r,i,n,o,s,a,c,l,u,d,p,m,y,g){this.Ah=e|0,this.Al=t|0,this.Bh=r|0,this.Bl=i|0,this.Ch=n|0,this.Cl=o|0,this.Dh=s|0,this.Dl=a|0,this.Eh=c|0,this.El=l|0,this.Fh=u|0,this.Fl=d|0,this.Gh=p|0,this.Gl=m|0,this.Hh=y|0,this.Hl=g|0}process(e,t){for(let A=0;A<16;A++,t+=4)Ao[A]=e.getUint32(t),To[A]=e.getUint32(t+=4);for(let A=16;A<80;A++){let T=Ao[A-15]|0,z=To[A-15]|0,j=js(T,z,1)^js(T,z,8)^CS(T,z,7),E=qs(T,z,1)^qs(T,z,8)^$S(T,z,7),Z=Ao[A-2]|0,D=To[A-2]|0,H=js(Z,D,19)^Gu(Z,D,61)^CS(Z,D,6),X=qs(Z,D,19)^Qu(Z,D,61)^$S(Z,D,6),M=jP(E,X,To[A-7],To[A-16]),P=qP(M,j,H,Ao[A-7],Ao[A-16]);Ao[A]=P|0,To[A]=M|0}let{Ah:r,Al:i,Bh:n,Bl:o,Ch:s,Cl:a,Dh:c,Dl:l,Eh:u,El:d,Fh:p,Fl:m,Gh:y,Gl:g,Hh:b,Hl:_}=this;for(let A=0;A<80;A++){let T=js(u,d,14)^js(u,d,18)^Gu(u,d,41),z=qs(u,d,14)^qs(u,d,18)^Qu(u,d,41),j=u&p^~u&y,E=d&m^~d&g,Z=UP(_,z,E,mG[A],To[A]),D=MP(Z,b,T,j,pG[A],Ao[A]),H=Z|0,X=js(r,i,28)^Gu(r,i,34)^Gu(r,i,39),M=qs(r,i,28)^Qu(r,i,34)^Qu(r,i,39),P=r&n^r&s^n&s,N=i&o^i&a^o&a;b=y|0,_=g|0,y=p|0,g=m|0,p=u|0,m=d|0,{h:u,l:d}=ri(c|0,l|0,D|0,H|0),c=s|0,l=a|0,s=n|0,a=o|0,n=r|0,o=i|0;let I=LP(H,M,N);r=BP(I,D,X,P),i=I|0}({h:r,l:i}=ri(this.Ah|0,this.Al|0,r|0,i|0)),{h:n,l:o}=ri(this.Bh|0,this.Bl|0,n|0,o|0),{h:s,l:a}=ri(this.Ch|0,this.Cl|0,s|0,a|0),{h:c,l}=ri(this.Dh|0,this.Dl|0,c|0,l|0),{h:u,l:d}=ri(this.Eh|0,this.El|0,u|0,d|0),{h:p,l:m}=ri(this.Fh|0,this.Fl|0,p|0,m|0),{h:y,l:g}=ri(this.Gh|0,this.Gl|0,y|0,g|0),{h:b,l:_}=ri(this.Hh|0,this.Hl|0,b|0,_|0),this.set(r,i,n,o,s,a,c,l,u,d,p,m,y,g,b,_)}roundClean(){Mr(Ao,To)}destroy(){Mr(this.buffer),this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}}class JP extends KP{Ah=or[0]|0;Al=or[1]|0;Bh=or[2]|0;Bl=or[3]|0;Ch=or[4]|0;Cl=or[5]|0;Dh=or[6]|0;Dl=or[7]|0;Eh=or[8]|0;El=or[9]|0;Fh=or[10]|0;Fl=or[11]|0;Gh=or[12]|0;Gl=or[13]|0;Hh=or[14]|0;Hl=or[15]|0;constructor(){super(48)}}var km=dc(()=>new ZP,wo(1));var VP=dc(()=>new JP,wo(2));/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */var hG=BigInt(1),WP=BigInt(2),gG=BigInt(3),yG=BigInt(5),W1e=BigInt(8),GP=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffed");function bG(e){let t=BigInt(10),r=BigInt(20),i=BigInt(40),n=BigInt(80),o=GP,a=e*e%o*e%o,c=bn(a,WP,o)*a%o,l=bn(c,hG,o)*e%o,u=bn(l,yG,o)*l%o,d=bn(u,t,o)*u%o,p=bn(d,r,o)*d%o,m=bn(p,i,o)*p%o,y=bn(m,n,o)*m%o,g=bn(y,n,o)*m%o,b=bn(g,t,o)*u%o;return{pow_p_5_8:bn(b,WP,o)*e%o,b2:a}}function xG(e){return e[0]&=248,e[31]&=127,e[31]|=64,e}var QP=(()=>{let e=GP;return kP({P:e,type:"x25519",powPminus2:(t)=>{let{pow_p_5_8:r,b2:i}=bG(t);return Tr(bn(r,gG,e)*i,e)},adjustScalarBytes:xG})})();/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */var SG=(()=>({p:BigInt("0xffffffff00000001000000000000000000000000ffffffffffffffffffffffff"),n:BigInt("0xffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551"),h:BigInt(1),a:BigInt("0xffffffff00000001000000000000000000000000fffffffffffffffffffffffc"),b:BigInt("0x5ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b"),Gx:BigInt("0x6b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c296"),Gy:BigInt("0x4fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5")}))(),wG=(()=>({p:BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff"),n:BigInt("0xffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973"),h:BigInt(1),a:BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000fffffffc"),b:BigInt("0xb3312fa7e23ee7e4988e056be3f82d19181d9c6efe8141120314088f5013875ac656398d8a2ed19d2a85c8edd3ec2aef"),Gx:BigInt("0xaa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab7"),Gy:BigInt("0x3617de4a96262c6f5d9e98bf9292dc29f8f41dbd289a147ce9da3113b5f0b8c00a60b1ce1d7e819d7a431d7c90ea0e5f")}))();var vG=AS(SG),OS=TS(vG,km);var _G=AS(wG),YP=TS(_G,VP);function ez(e,t,r){if(yn(e),r===void 0)r=new Uint8Array(e.outputLen);return hc(e,r,t)}var RS=Uint8Array.of(0),XP=Uint8Array.of();function tz(e,t,r,i=32){yn(e),Wt(i,"length");let n=e.outputLen;if(i>255*n)throw Error("Length must be <= 255*HashLen");let o=Math.ceil(i/n);if(r===void 0)r=XP;else Pe(r,void 0,"info");let s=new Uint8Array(o*n),a=hc.create(e,t),c=a._cloneInto(),l=new Uint8Array(a.outputLen);for(let u=0;u<o;u++)RS[0]=u+1,c.update(u===0?XP:l).update(r).update(RS).digestInto(l),s.set(l,n*u),a._cloneInto(c);return a.destroy(),c.destroy(),Mr(l,RS),s.slice(0,i)}var kG=BigInt(0),Yu=BigInt(1),EG=BigInt(2),IG=BigInt(7),AG=BigInt(256),TG=BigInt(113),iz=[],oz=[],sz=[];for(let e=0,t=Yu,r=1,i=0;e<24;e++){[r,i]=[i,(2*r+3*i)%5],iz.push(2*(5*i+r)),oz.push((e+1)*(e+2)/2%64);let n=kG;for(let o=0;o<7;o++)if(t=(t<<Yu^(t>>IG)*TG)%AG,t&EG)n^=Yu<<(Yu<<BigInt(o))-Yu;sz.push(n)}var az=_m(sz,!0),CG=az[0],$G=az[1],rz=(e,t,r)=>r>32?NP(e,t,r):PP(e,t,r),nz=(e,t,r)=>r>32?DP(e,t,r):zP(e,t,r);function OG(e,t=24){let r=new Uint32Array(10);for(let i=24-t;i<24;i++){for(let s=0;s<10;s++)r[s]=e[s]^e[s+10]^e[s+20]^e[s+30]^e[s+40];for(let s=0;s<10;s+=2){let a=(s+8)%10,c=(s+2)%10,l=r[c],u=r[c+1],d=rz(l,u,1)^r[a],p=nz(l,u,1)^r[a+1];for(let m=0;m<50;m+=10)e[s+m]^=d,e[s+m+1]^=p}let n=e[2],o=e[3];for(let s=0;s<24;s++){let a=oz[s],c=rz(n,o,a),l=nz(n,o,a),u=iz[s];n=e[u],o=e[u+1],e[u]=c,e[u+1]=l}for(let s=0;s<50;s+=10){for(let a=0;a<10;a++)r[a]=e[s+a];for(let a=0;a<10;a++)e[s+a]^=~r[(a+2)%10]&r[(a+4)%10]}e[0]^=CG[i],e[1]^=$G[i]}Mr(r)}class Em{state;pos=0;posOut=0;finished=!1;state32;destroyed=!1;blockLen;suffix;outputLen;enableXOF=!1;rounds;constructor(e,t,r,i=!1,n=24){if(this.blockLen=e,this.suffix=t,this.outputLen=r,this.enableXOF=i,this.rounds=n,Wt(r,"outputLen"),!(0<e&&e<200))throw Error("only keccak-f1600 function is supported");this.state=new Uint8Array(200),this.state32=pm(this.state)}clone(){return this._cloneInto()}keccak(){dS(this.state32),OG(this.state32,this.rounds),dS(this.state32),this.posOut=0,this.pos=0}update(e){Pi(this),Pe(e);let{blockLen:t,state:r}=this,i=e.length;for(let n=0;n<i;){let o=Math.min(t-this.pos,i-n);for(let s=0;s<o;s++)r[this.pos++]^=e[n++];if(this.pos===t)this.keccak()}return this}finish(){if(this.finished)return;this.finished=!0;let{state:e,suffix:t,pos:r,blockLen:i}=this;if(e[r]^=t,(t&128)!==0&&r===i-1)this.keccak();e[i-1]^=128,this.keccak()}writeInto(e){Pi(this,!1),Pe(e),this.finish();let t=this.state,{blockLen:r}=this;for(let i=0,n=e.length;i<n;){if(this.posOut>=r)this.keccak();let o=Math.min(r-this.posOut,n-i);e.set(t.subarray(this.posOut,this.posOut+o),i),this.posOut+=o,i+=o}return e}xofInto(e){if(!this.enableXOF)throw Error("XOF is not possible for this instance");return this.writeInto(e)}xof(e){return Wt(e),this.xofInto(new Uint8Array(e))}digestInto(e){if(fm(e,this),this.finished)throw Error("digest() was already called");return this.writeInto(e),this.destroy(),e}digest(){return this.digestInto(new Uint8Array(this.outputLen))}destroy(){this.destroyed=!0,Mr(this.state)}_cloneInto(e){let{blockLen:t,suffix:r,outputLen:i,rounds:n,enableXOF:o}=this;return e||=new Em(t,r,i,o,n),e.state32.set(this.state32),e.pos=this.pos,e.posOut=this.posOut,e.finished=this.finished,e.rounds=n,e.suffix=r,e.outputLen=i,e.enableXOF=o,e.destroyed=this.destroyed,e}}var cz=(e,t,r,i={})=>dc(()=>new Em(t,e,r),i);var Us=cz(6,136,32,wo(8));var lz=cz(6,72,64,wo(10));var uz=(e,t,r,i={})=>dc((n={})=>new Em(t,e,n.dkLen===void 0?r:n.dkLen,!0),i),dz=uz(31,168,16,wo(11)),ni=uz(31,136,32,wo(12));function PS(e){if(!Number.isSafeInteger(e)||e<0||e>4294967295)throw Error("wrong u32 integer:"+e);return e}function pz(e){return PS(e),(e&e-1)===0&&e!==0}function zS(e,t){PS(e);let r=0;for(let i=0;i<t;i++,e>>>=1)r=r<<1|e&1;return r}function mz(e){return PS(e),31-Math.clz32(e)}function fz(e){let t=e.length;if(t<2||!pz(t))throw Error("n must be a power of 2 and greater than 1. Got "+t);let r=mz(t);for(let i=0;i<t;i++){let n=zS(i,r);if(i<n){let o=e[i];e[i]=e[n],e[n]=o}}return e}var NS=(e,t)=>{let{N:r,roots:i,dit:n,invertButterflies:o=!1,skipStages:s=0,brp:a=!0}=t,c=mz(r);if(!pz(r))throw Error("FFT: Polynomial size should be power of two");let l=n!==o;return(u)=>{if(u.length!==r)throw Error("FFT: wrong Polynomial length");if(n&&a)fz(u);for(let d=0,p=1;d<c-s;d++){let m=n?d+1+s:c-d,y=1<<m,g=y>>1,b=r>>m;for(let _=0;_<r;_+=y)for(let A=0,T=p++;A<g;A++){let z=o?n?r-T:T:A*b,j=_+A,E=_+A+g,Z=i[z],D=u[E],H=u[j];if(l){let X=e.mul(D,Z);u[j]=e.add(H,X),u[E]=e.sub(H,X)}else if(o)u[j]=e.add(D,H),u[E]=e.mul(e.sub(D,H),Z);else u[j]=e.add(H,D),u[E]=e.mul(e.sub(H,D),Z)}}if(!n&&a)fz(u);return u}};/*! noble-post-quantum - MIT License (c) 2024 Paul Miller (paulmillr.com) */var ii=So;function Im(e,t){if(e.length!==t.length)return!1;let r=0;for(let i=0;i<e.length;i++)r|=e[i]^t[i];return r===0}function hz(e){return Uint8Array.from(e)}function Ms(e,...t){let r=(n)=>typeof n==="number"?n:n.bytesLen,i=t.reduce((n,o)=>n+r(o),0);return{bytesLen:i,encode:(n)=>{let o=new Uint8Array(i);for(let s=0,a=0;s<t.length;s++){let c=t[s],l=r(c),u=typeof c==="number"?n[s]:c.encode(n[s]);if(Pe(u,l,e),o.set(u,a),typeof c!=="number")u.fill(0);a+=l}return o},decode:(n)=>{Pe(n,i,e);let o=[];for(let s of t){let a=r(s),c=n.subarray(0,a);o.push(typeof s==="number"?c:s.decode(c)),n=n.subarray(a)}return o}}}function Am(e,t){let r=t*e.bytesLen;return{bytesLen:r,encode:(i)=>{if(i.length!==t)throw Error(`vecCoder.encode: wrong length=${i.length}. Expected: ${t}`);let n=new Uint8Array(r);for(let o=0,s=0;o<i.length;o++){let a=e.encode(i[o]);n.set(a,s),a.fill(0),s+=a.length}return n},decode:(i)=>{Pe(i,r);let n=[];for(let o=0;o<i.length;o+=e.bytesLen)n.push(e.decode(i.subarray(o,o+e.bytesLen)));return n}}}function Ft(...e){for(let t of e)if(Array.isArray(t))for(let r of t)r.fill(0);else t.fill(0)}function DS(e){return(1<<e)-1}var uIe=Uint8Array.of();/*! noble-post-quantum - MIT License (c) 2024 Paul Miller (paulmillr.com) */var gz=(e)=>{let{newPoly:t,N:r,Q:i,F:n,ROOT_OF_UNITY:o,brvBits:s,isKyber:a}=e,c=(A,T=i)=>{let z=A%T|0;return(z>=0?z|0:T+z|0)|0},l=(A,T=i)=>{let z=c(A,T)|0;return(z>T>>1?z-T|0:z)|0};function u(){let A=t(r);for(let T=0;T<r;T++){let z=zS(T,s),j=BigInt(o)**BigInt(z)%BigInt(i);A[T]=Number(j)|0}return A}let d=u(),p={add:(A,T)=>c((A|0)+(T|0))|0,sub:(A,T)=>c((A|0)-(T|0))|0,mul:(A,T)=>c((A|0)*(T|0))|0,inv:(A)=>{throw Error("not implemented")}},m={N:r,roots:d,invertButterflies:!0,skipStages:a?1:0,brp:!1},y=NS(p,{dit:!1,...m}),g=NS(p,{dit:!0,...m});return{mod:c,smod:l,nttZetas:d,NTT:{encode:(A)=>y(A),decode:(A)=>{g(A);for(let T=0;T<A.length;T++)A[T]=c(n*A[T]);return A}},bitsCoder:(A,T)=>{let z=DS(A),j=A*(r/8);return{bytesLen:j,encode:(E)=>{let Z=new Uint8Array(j);for(let D=0,H=0,X=0,M=0;D<E.length;D++){H|=(T.encode(E[D])&z)<<X,X+=A;for(;X>=8;X-=8,H>>=8)Z[M++]=H&DS(X)}return Z},decode:(E)=>{let Z=t(r);for(let D=0,H=0,X=0,M=0;D<E.length;D++){H|=E[D]<<X,X+=8;for(;X>=A;X-=A,H>>=A)Z[M++]=T.decode(H&z)}return Z}}}}},RG=(e)=>(t,r)=>{if(!r)r=e.blockLen;let i=new Uint8Array(t.length+2);i.set(t);let n=t.length,o=new Uint8Array(r),s=e.create({}),a=0,c=0;return{stats:()=>({calls:a,xofs:c}),get:(l,u)=>(i[n+0]=l,i[n+1]=u,s.destroy(),s=e.create({}).update(i),a++,()=>(c++,s.xofInto(o))),clean:()=>{s.destroy(),Ft(o,i)}}},yz=RG(dz);/*! noble-post-quantum - MIT License (c) 2024 Paul Miller (paulmillr.com) */var br=256,Di=3329,PG=3303,zG=17,{mod:td,nttZetas:NG,NTT:Fs,bitsCoder:DG}=gz({N:br,Q:Di,F:PG,ROOT_OF_UNITY:zG,newPoly:(e)=>new Uint16Array(e),brvBits:7,isKyber:!0}),LS={512:{N:br,Q:Di,K:2,ETA1:3,ETA2:2,du:10,dv:4,RBGstrength:128},768:{N:br,Q:Di,K:3,ETA1:2,ETA2:2,du:10,dv:4,RBGstrength:192},1024:{N:br,Q:Di,K:4,ETA1:2,ETA2:2,du:11,dv:5,RBGstrength:256}},LG=(e)=>{if(e>=12)return{encode:(r)=>r,decode:(r)=>r};let t=2**(e-1);return{encode:(r)=>((r<<e)+Di/2)/Di,decode:(r)=>r*Di+t>>>e}},Xu=(e)=>DG(e,LG(e));function Zs(e,t){for(let r=0;r<br;r++)e[r]=td(e[r]+t[r])}function BG(e,t){for(let r=0;r<br;r++)e[r]=td(e[r]-t[r])}function jG(e,t,r,i,n){let o=td(t*i*n+e*r),s=td(e*i+t*r);return{c0:o,c1:s}}function Tm(e,t){for(let r=0;r<br/2;r++){let i=NG[64+(r>>1)];if(r&1)i=-i;let{c0:n,c1:o}=jG(e[2*r+0],e[2*r+1],t[2*r+0],t[2*r+1],i);e[2*r+0]=n,e[2*r+1]=o}return e}function bz(e){let t=new Uint16Array(br);for(let r=0;r<br;){let i=e();if(i.length%3)throw Error("SampleNTT: unaligned block");for(let n=0;r<br&&n+3<=i.length;n+=3){let o=(i[n+0]>>0|i[n+1]<<8)&4095,s=(i[n+1]>>4|i[n+2]<<4)&4095;if(o<Di)t[r++]=o;if(r<br&&s<Di)t[r++]=s}}return t}function ed(e,t,r,i){let n=e(i*br/4,t,r),o=new Uint16Array(br),s=pm(n),a=0;for(let c=0,l=0,u=0,d=0;c<s.length;c++){let p=s[c];for(let m=0;m<32;m++)if(u+=p&1,p>>=1,a+=1,a===i)d=u,u=0;else if(a===2*i)o[l++]=td(d-u),u=0,a=0}if(a)throw Error(`sampleCBD: leftover bits: ${a}`);return o}var qG=(e)=>{let{K:t,PRF:r,XOF:i,HASH512:n,ETA1:o,ETA2:s,du:a,dv:c}=e,l=Xu(1),u=Xu(c),d=Xu(a),p=Ms("publicKey",Am(Xu(12),t),32),m=Am(Xu(12),t),y=Ms("ciphertext",Am(d,t),u),g=Ms("seed",32,32);return{secretCoder:m,lengths:{secretKey:m.bytesLen,publicKey:p.bytesLen,cipherText:y.bytesLen},keygen:(b)=>{Pe(b,32,"seed");let _=new Uint8Array(33);_.set(b),_[32]=t;let A=n(_),[T,z]=g.decode(A),j=[],E=[];for(let H=0;H<t;H++)j.push(Fs.encode(ed(r,z,H,o)));let Z=i(T);for(let H=0;H<t;H++){let X=Fs.encode(ed(r,z,t+H,o));for(let M=0;M<t;M++){let P=bz(Z.get(M,H));Zs(X,Tm(P,j[M]))}E.push(X)}Z.clean();let D={publicKey:p.encode([E,T]),secretKey:m.encode(j)};return Ft(T,z,j,E,_,A),D},encrypt:(b,_,A)=>{let[T,z]=p.decode(b),j=[];for(let M=0;M<t;M++)j.push(Fs.encode(ed(r,A,M,o)));let E=i(z),Z=new Uint16Array(br),D=[];for(let M=0;M<t;M++){let P=ed(r,A,t+M,s),N=new Uint16Array(br);for(let I=0;I<t;I++){let R=bz(E.get(M,I));Zs(N,Tm(R,j[I]))}Zs(P,Fs.decode(N)),D.push(P),Zs(Z,Tm(T[M],j[M])),Ft(N)}E.clean();let H=ed(r,A,2*t,s);Zs(H,Fs.decode(Z));let X=l.decode(_);return Zs(X,H),Ft(T,j,Z,H),y.encode([D,X])},decrypt:(b,_)=>{let[A,T]=y.decode(b),z=m.decode(_),j=new Uint16Array(br);for(let E=0;E<t;E++)Zs(j,Tm(z[E],Fs.encode(A[E])));return BG(T,Fs.decode(j)),Ft(j,z,A),l.encode(T)}}};function BS(e){let t=qG(e),{HASH256:r,HASH512:i,KDF:n}=e,{secretCoder:o,lengths:s}=t,a=Ms("secretKey",s.secretKey,s.publicKey,32,32),c=32,l=64;return{info:{type:"ml-kem"},lengths:{...s,seed:64,msg:32,msgRand:32,secretKey:a.bytesLen},keygen:(u=ii(64))=>{Pe(u,64,"seed");let{publicKey:d,secretKey:p}=t.keygen(u.subarray(0,32)),m=r(d),y=a.encode([p,d,m,u.subarray(32)]);return Ft(p,m),{publicKey:d,secretKey:y}},getPublicKey:(u)=>{let[d,p,m,y]=a.decode(u);return Uint8Array.from(p)},encapsulate:(u,d=ii(32))=>{Pe(u,s.publicKey,"publicKey"),Pe(d,32,"message");let p=u.subarray(0,384*e.K),m=o.encode(o.decode(hz(p)));if(!Im(m,p))throw Ft(m),Error("ML-KEM.encapsulate: wrong publicKey modulus");Ft(m);let y=i.create().update(d).update(r(u)).digest(),g=t.encrypt(u,d,y.subarray(32,64));return Ft(y.subarray(32)),{cipherText:g,sharedSecret:y.subarray(0,32)}},decapsulate:(u,d)=>{Pe(d,a.bytesLen,"secretKey"),Pe(u,s.cipherText,"cipherText");let p=a.bytesLen-96,m=p+32,y=r(d.subarray(p/2,m));if(!Im(y,d.subarray(m,m+32)))throw Error("invalid secretKey: hash check failed");let[g,b,_,A]=a.decode(d),T=t.decrypt(u,g),z=i.create().update(T).update(_).digest(),j=z.subarray(0,32),E=t.encrypt(b,T,z.subarray(32,64)),Z=Im(u,E),D=n.create({dkLen:32}).update(A).update(u).digest();return Ft(T,E,!Z?j:D),Z?j:D}}}function UG(e,t,r){return ni.create({dkLen:e}).update(t).update(new Uint8Array([r])).digest()}var jS={HASH256:Us,HASH512:lz,KDF:ni,XOF:yz,PRF:UG},wIe=BS({...jS,...LS[512]}),rd=BS({...jS,...LS[768]}),xz=BS({...jS,...LS[1024]});/*! noble-post-quantum - MIT License (c) 2024 Paul Miller (paulmillr.com) */function MG(e,t=!1){let{lengths:r,keygen:i}=e;if(t){let o=e.Point.Fn;if(!o)throw Error("No Point.Fn");i=(s=ii(r.seed))=>{Pe(s,r.seed,"seed");let a=o.isLE?_o(s):vo(s),c=o.toBytes(o.create(a));return{secretKey:c,publicKey:e.getPublicKey(c)}}}return{lengths:{secretKey:r.secretKey,publicKey:r.publicKey,seed:r.seed},keygen:i,getPublicKey:(n)=>e.getPublicKey(n)}}function qS(e,t=!1){let r=MG(e,t);if(!e.getSharedSecret)throw Error("wrong curve");return{lengths:{...r.lengths,msg:r.lengths.seed,cipherText:r.lengths.publicKey},keygen:r.keygen,getPublicKey:r.getPublicKey,encapsulate(i,n=ii(e.lengths.seed)){let o=this.keygen(n).secretKey,s=this.decapsulate(i,o),a=e.getPublicKey(o);return Ft(o),{sharedSecret:s,cipherText:a}},decapsulate(i,n){let o=e.getSharedSecret(n,i);return e.lengths.publicKeyHasPrefix?o.subarray(1):o}}}function nd(e,t){return Ms(t,...e.map((r)=>{if(typeof r.lengths[t]!=="number")throw Error("wrong length: "+t);return r.lengths[t]}))}function US(e){return(t,r)=>e(t,{dkLen:r})}function FG(e,t,...r){let i=nd(r,"seed"),n=nd(r,"publicKey");if(e===void 0)e=i.bytesLen;Wt(e);function o(s){Pe(s,e);let a=i.decode(t(s,i.bytesLen)),c=r.map((d,p)=>d.keygen(a[p])),l=c.map((d)=>d.secretKey),u=c.map((d)=>d.publicKey);return{secretKey:l,publicKey:u}}return{info:{lengths:{seed:e,publicKey:n.bytesLen,secretKey:e}},getPublicKey(s){return this.keygen(s).publicKey},keygen(s=ii(e)){let{publicKey:a,secretKey:c}=o(s),l=n.encode(a);return Ft(a),Ft(c),{secretKey:s,publicKey:l}},expandDecapsulationKey:o,realSeedLen:e}}function Cm(e,t,r,i,...n){let o=FG(e,r,...n),s=nd(n,"cipherText"),a=nd(n,"publicKey"),c=nd(n,"msg");if(t===void 0)t=c.bytesLen;return Wt(t),{lengths:{...o.info.lengths,msg:t,msgRand:c.bytesLen,cipherText:s.bytesLen},getPublicKey:o.getPublicKey,keygen:o.keygen,encapsulate(l,u=ii(c.bytesLen)){let d=a.decode(l),p=c.decode(u),m=n.map((_,A)=>_.encapsulate(d[A],p[A])),y=m.map((_)=>_.sharedSecret),g=m.map((_)=>_.cipherText),b={sharedSecret:i(d,g,y),cipherText:s.encode(g)};return Ft(y,g),b},decapsulate(l,u){let d=s.decode(l),{publicKey:p,secretKey:m}=o.expandDecapsulationKey(u),y=n.map((g,b)=>g.decapsulate(d[b],m[b]));return i(p,d,y)}}}function Sz(e,t,r,i,n){return yn(i),yn(n),Cm(32,32,US(i),(o,s,a)=>n(Lt(a[0],a[1],s[1],o[1],ko(e))),t,r)}var RIe=Sz("QSF-KEM(ML-KEM-768,P-256)-XOF(SHAKE256)-KDF(SHA3-256)",rd,qS(OS,!0),ni,Us),PIe=Sz("QSF-KEM(ML-KEM-1024,P-384)-XOF(SHAKE256)-KDF(SHA3-256)",xz,qS(YP,!0),ni,Us);function ZG(e,t,r,i,n){return yn(i),yn(n),Cm(32,32,US(i),(o,s,a)=>{let c=Lt(a[0],a[1],s[0],o[0],s[1],o[1],ko(e)),l=32,u=Lt(ko("hybrid_prk"),c),d=ez(n,u),p=Lt(fc(32,2),ko("shared_secret"),ko("")),m=tz(n,d,p,32);return Ft(d,p,u,c),m},t,r)}var wz=qS(QP),zIe=ZG("KitchenSink-KEM(ML-KEM-768,X25519)-XOF(SHAKE256)-KDF(HKDF-SHA-256)",rd,wz,ni,km),HG=(()=>Cm(32,32,US(ni),(e,t,r)=>Us(Lt(r[0],r[1],t[1],e[1],ko("\\.//^\\"))),rd,wz))();function KG(e,t,r,i){let n=e.Point.Fn;if(!n)throw Error("no Point.Fn");function o(s){let a;for(let u=0,d=t;;u=d,d+=t){if(d>s.length)throw Error("rejection sampling failed");if(a=n.fromBytes(s.subarray(u,d),!0),n.isValidNot0(a))break}let c=n.toBytes(n.create(a)),l=e.getPublicKey(c,!1);return{secretKey:c,publicKey:l}}return{lengths:{secretKey:t,publicKey:r,seed:i,msg:i,cipherText:r},keygen(s=ii(i)){return Pe(s,i,"seed"),o(s)},getPublicKey(s){return e.getPublicKey(s,!1)},encapsulate(s,a=ii(i)){Pe(a,i,"rand");let{secretKey:c}=o(a),l=this.decapsulate(s,c),u=e.getPublicKey(c,!1);return Ft(c),{sharedSecret:l,cipherText:u}},decapsulate(s,a){return e.getSharedSecret(a,s).subarray(1)}}}function JG(e,t,r,i){let{secretKey:n,publicKeyUncompressed:o}=r.lengths;if(!n||!o)throw Error("wrong curve");let s=KG(r,n,o,i),a=64,c=a+i;return Cm(32,32,(l)=>{Pe(l,32);let u=ni(l,{dkLen:c}),d=u.subarray(0,a),p=u.subarray(a,c);return Lt(d,p)},(l,u,d)=>Us(Lt(d[0],d[1],u[1],l[1],ko(e))),t,s)}var VG=(()=>JG("MLKEM768-P256",rd,OS,128))();var $m=HG,vz=VG;/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */var lt=(e,t,r)=>rr(e,t,r),FS=Ct,yc=em,sr=(...e)=>Kx(...e),bc=(e)=>zu(e),xc=Fx,Sc=(e)=>Ci(e),Rm=BigInt(0),MS=BigInt(1);function Li(e,t=""){if(typeof e!=="boolean"){let r=t&&`"${t}" `;throw TypeError(r+"expected boolean, got type="+typeof e)}return e}function Pm(e){if(typeof e==="bigint"){if(!Om(e))throw RangeError("positive bigint expected, got "+e)}else FS(e);return e}function oi(e,t=""){if(typeof e!=="number"){let r=t&&`"${t}" `;throw TypeError(r+"expected number, got type="+typeof e)}if(!Number.isSafeInteger(e)){let r=t&&`"${t}" `;throw RangeError(r+"expected safe integer, got "+e)}}function id(e){let t=Pm(e).toString(16);return t.length&1?"0"+t:t}function _z(e){if(typeof e!=="string")throw TypeError("hex string expected, got "+typeof e);return e===""?Rm:BigInt("0x"+e)}function Hs(e){return _z(em(e))}function Nn(e){return _z(em(Co(rr(e)).reverse()))}function zm(e,t){if(Ct(t),t===0)throw RangeError("zero length");e=Pm(e);let r=e.toString(16);if(r.length>t*2)throw RangeError("number too large");return zu(r.padStart(t*2,"0"))}function od(e,t){return zm(e,t).reverse()}function kz(e,t){if(e=lt(e),t=lt(t),e.length!==t.length)return!1;let r=0;for(let i=0;i<e.length;i++)r|=e[i]^t[i];return r===0}function Co(e){return Uint8Array.from(lt(e))}function Nm(e){if(typeof e!=="string")throw TypeError("ascii string expected, got "+typeof e);return Uint8Array.from(e,(t,r)=>{let i=t.charCodeAt(0);if(t.length!==1||i>127)throw RangeError(`string contains non-ASCII character "${e[r]}" with code ${i} at position ${r}`);return i})}var Om=(e)=>typeof e==="bigint"&&Rm<=e;function WG(e,t,r){return Om(e)&&Om(t)&&Om(r)&&t<=e&&e<r}function Bi(e,t,r,i){if(!WG(t,r,i))throw RangeError("expected valid "+e+": "+r+" <= n < "+i+", got "+t)}function wc(e){if(e<Rm)throw Error("expected non-negative bigint, got "+e);let t;for(t=0;e>Rm;e>>=MS,t+=1);return t}var sd=(e)=>(MS<<BigInt(e))-MS;function Ez(e,t,r){if(Ct(e,"hashLen"),Ct(t,"qByteLen"),typeof r!=="function")throw TypeError("hmacFn must be a function");let i=(b)=>new Uint8Array(b),n=Uint8Array.of(),o=Uint8Array.of(0),s=Uint8Array.of(1),a=1000,c=i(e),l=i(e),u=0,d=()=>{c.fill(1),l.fill(0),u=0},p=(...b)=>r(l,sr(c,...b)),m=(b=n)=>{if(l=p(o,b),c=p(),b.length===0)return;l=p(s,b),c=p()},y=()=>{if(u++>=a)throw Error("drbg: tried max amount of iterations");let b=0,_=[];while(b<t){c=p();let A=c.slice();_.push(A),b+=c.length}return sr(..._)};return(b,_)=>{d(),m(b);let A=void 0;while((A=_(y()))===void 0)m();return d(),A}}function xn(e,t={},r={}){if(Object.prototype.toString.call(e)!=="[object Object]")throw TypeError("expected valid options object");function i(o,s,a){if(!a&&s!=="function"&&!Object.hasOwn(e,o))throw TypeError(`param "${o}" is invalid: expected own property`);let c=e[o];if(a&&c===void 0)return;let l=typeof c;if(l!==s||c===null)throw TypeError(`param "${o}" is invalid: expected ${s}, got ${l}`)}let n=(o,s)=>Object.entries(o).forEach(([a,c])=>i(a,c,s));n(t,!1),n(r,!0)}var ZS=()=>{throw Error("not implemented")};/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */var ar=BigInt(0),kt=BigInt(1),Ks=BigInt(2),Cz=BigInt(3),$z=BigInt(4),Oz=BigInt(5),GG=BigInt(7),Rz=BigInt(8),QG=BigInt(9),Pz=BigInt(16);function yt(e,t){if(t<=ar)throw Error("mod: expected positive modulus, got "+t);let r=e%t;return r>=ar?r:t+r}function Sn(e,t,r){if(t<ar)throw Error("pow2: expected non-negative exponent, got "+t);let i=e;while(t-- >ar)i*=i,i%=r;return i}function Iz(e,t){if(e===ar)throw Error("invert: expected non-zero number");if(t<=ar)throw Error("invert: expected positive modulus, got "+t);let r=yt(e,t),i=t,n=ar,o=kt,s=kt,a=ar;while(r!==ar){let l=i/r,u=i-r*l,d=n-s*l,p=o-a*l;i=r,r=u,n=s,o=a,s=d,a=p}if(i!==kt)throw Error("invert: does not exist");return yt(n,t)}function HS(e,t,r){let i=e;if(!i.eql(i.sqr(t),r))throw Error("Cannot find square root")}function zz(e,t){let r=e,i=(r.ORDER+kt)/$z,n=r.pow(t,i);return HS(r,n,t),n}function YG(e,t){let r=e,i=(r.ORDER-Oz)/Rz,n=r.mul(t,Ks),o=r.pow(n,i),s=r.mul(t,o),a=r.mul(r.mul(s,Ks),o),c=r.mul(s,r.sub(a,r.ONE));return HS(r,c,t),c}function XG(e){let t=Dm(e),r=Nz(e),i=r(t,t.neg(t.ONE)),n=r(t,i),o=r(t,t.neg(i)),s=(e+GG)/Pz;return(a,c)=>{let l=a,u=l.pow(c,s),d=l.mul(u,i),p=l.mul(u,n),m=l.mul(u,o),y=l.eql(l.sqr(d),c),g=l.eql(l.sqr(p),c);u=l.cmov(u,d,y),d=l.cmov(m,p,g);let b=l.eql(l.sqr(d),c),_=l.cmov(u,d,b);return HS(l,_,c),_}}function Nz(e){if(e<Cz)throw Error("sqrt is not defined for small field");let t=e-kt,r=0;while(t%Ks===ar)t/=Ks,r++;let i=Ks,n=Dm(e);while(Az(n,i)===1)if(i++>1000)throw Error("Cannot find square root: probably non-prime P");if(r===1)return zz;let o=n.pow(i,t),s=(t+kt)/Ks;return function(c,l){let u=c;if(u.is0(l))return l;if(Az(u,l)!==1)throw Error("Cannot find square root");let d=r,p=u.mul(u.ONE,o),m=u.pow(l,t),y=u.pow(l,s);while(!u.eql(m,u.ONE)){if(u.is0(m))return u.ZERO;let g=1,b=u.sqr(m);while(!u.eql(b,u.ONE))if(g++,b=u.sqr(b),g===d)throw Error("Cannot find square root");let _=kt<<BigInt(d-g-1),A=u.pow(p,_);d=g,p=u.sqr(A),m=u.mul(m,p),y=u.mul(y,A)}return y}}function eQ(e){if(e%$z===Cz)return zz;if(e%Rz===Oz)return YG;if(e%Pz===QG)return XG(e);return Nz(e)}var ji=(e,t)=>(yt(e,t)&kt)===kt,tQ=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function KS(e){let t={ORDER:"bigint",BYTES:"number",BITS:"number"},r=tQ.reduce((i,n)=>(i[n]="function",i),t);if(xn(e,r),oi(e.BYTES,"BYTES"),oi(e.BITS,"BITS"),e.BYTES<1||e.BITS<1)throw Error("invalid field: expected BYTES/BITS > 0");if(e.ORDER<=kt)throw Error("invalid field: expected ORDER > 1, got "+e.ORDER);return e}function rQ(e,t,r){let i=e;if(r<ar)throw Error("invalid exponent, negatives unsupported");if(r===ar)return i.ONE;if(r===kt)return t;let n=i.ONE,o=t;while(r>ar){if(r&kt)n=i.mul(n,o);o=i.sqr(o),r>>=kt}return n}function ad(e,t,r=!1){let i=e,n=Array(t.length).fill(r?i.ZERO:void 0),o=t.reduce((a,c,l)=>{if(i.is0(c))return a;return n[l]=a,i.mul(a,c)},i.ONE),s=i.inv(o);return t.reduceRight((a,c,l)=>{if(i.is0(c))return a;return n[l]=i.mul(a,n[l]),i.mul(a,c)},s),n}function Az(e,t){let r=e,i=(r.ORDER-kt)/Ks,n=r.pow(t,i),o=r.eql(n,r.ONE),s=r.eql(n,r.ZERO),a=r.eql(n,r.neg(r.ONE));if(!o&&!s&&!a)throw Error("invalid Legendre symbol result");return o?1:s?0:-1}function nQ(e,t){if(t!==void 0)FS(t);if(e<=ar)throw Error("invalid n length: expected positive n, got "+e);if(t!==void 0&&t<1)throw Error("invalid n length: expected positive bit length, got "+t);let r=wc(e);if(t!==void 0&&t<r)throw Error(`invalid n length: expected bit length (${r}) >= n.length (${t})`);let i=t!==void 0?t:r,n=Math.ceil(i/8);return{nBitLength:i,nByteLength:n}}var Tz=new WeakMap;class JS{ORDER;BITS;BYTES;isLE;ZERO=ar;ONE=kt;_lengths;_mod;constructor(e,t={}){if(e<=kt)throw Error("invalid field: expected ORDER > 1, got "+e);let r=void 0;if(this.isLE=!1,t!=null&&typeof t==="object"){if(typeof t.BITS==="number")r=t.BITS;if(typeof t.sqrt==="function")Object.defineProperty(this,"sqrt",{value:t.sqrt,enumerable:!0});if(typeof t.isLE==="boolean")this.isLE=t.isLE;if(t.allowedLengths)this._lengths=Object.freeze(t.allowedLengths.slice());if(typeof t.modFromBytes==="boolean")this._mod=t.modFromBytes}let{nBitLength:i,nByteLength:n}=nQ(e,r);if(n>2048)throw Error("invalid field: expected ORDER of <= 2048 bytes");this.ORDER=e,this.BITS=i,this.BYTES=n,Object.freeze(this)}create(e){return yt(e,this.ORDER)}isValid(e){if(typeof e!=="bigint")throw TypeError("invalid field element: expected bigint, got "+typeof e);return ar<=e&&e<this.ORDER}is0(e){return e===ar}isValidNot0(e){return!this.is0(e)&&this.isValid(e)}isOdd(e){return(e&kt)===kt}neg(e){return yt(-e,this.ORDER)}eql(e,t){return e===t}sqr(e){return yt(e*e,this.ORDER)}add(e,t){return yt(e+t,this.ORDER)}sub(e,t){return yt(e-t,this.ORDER)}mul(e,t){return yt(e*t,this.ORDER)}pow(e,t){return rQ(this,e,t)}div(e,t){return yt(e*Iz(t,this.ORDER),this.ORDER)}sqrN(e){return e*e}addN(e,t){return e+t}subN(e,t){return e-t}mulN(e,t){return e*t}inv(e){return Iz(e,this.ORDER)}sqrt(e){let t=Tz.get(this);if(!t)Tz.set(this,t=eQ(this.ORDER));return t(this,e)}toBytes(e){return this.isLE?od(e,this.BYTES):zm(e,this.BYTES)}fromBytes(e,t=!1){lt(e);let{_lengths:r,BYTES:i,isLE:n,ORDER:o,_mod:s}=this;if(r){if(e.length<1||!r.includes(e.length)||e.length>i)throw Error("Field.fromBytes: expected "+r+" bytes, got "+e.length);let c=new Uint8Array(i);c.set(e,n?0:c.length-e.length),e=c}if(e.length!==i)throw Error("Field.fromBytes: expected "+i+" bytes, got "+e.length);let a=n?Nn(e):Hs(e);if(s)a=yt(a,o);if(!t){if(!this.isValid(a))throw Error("invalid field element: outside of range 0..ORDER")}return a}invertBatch(e){return ad(this,e)}cmov(e,t,r){return Li(r,"condition"),r?t:e}}Object.freeze(JS.prototype);function Dm(e,t={}){return new JS(e,t)}function Dz(e){if(typeof e!=="bigint")throw Error("field order must be bigint");if(e<=kt)throw Error("field order must be greater than 1");let t=wc(e-kt);return Math.ceil(t/8)}function VS(e){let t=Dz(e);return t+Math.ceil(t/2)}function Lz(e,t,r=!1){lt(e);let i=e.length,n=Dz(t),o=Math.max(VS(t),16);if(i<o||i>1024)throw Error("expected "+o+"-1024 bytes of input, got "+i);let s=r?Nn(e):Hs(e),a=yt(s,t-kt)+kt;return r?od(a,n):zm(a,n)}/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */var vc=BigInt(0),Js=BigInt(1);function cd(e,t){let r=t.negate();return e?r:t}function Vs(e,t){let r=ad(e.Fp,t.map((i)=>i.Z));return t.map((i,n)=>e.fromAffine(i.toAffine(r[n])))}function Uz(e,t){if(!Number.isSafeInteger(e)||e<=0||e>t)throw Error("invalid window size, expected [1.."+t+"], got W="+e)}function WS(e,t){Uz(e,t);let r=Math.ceil(t/e)+1,i=2**(e-1),n=2**e,o=sd(e),s=BigInt(e);return{windows:r,windowSize:i,mask:o,maxNumber:n,shiftBy:s}}function Bz(e,t,r){let{windowSize:i,mask:n,maxNumber:o,shiftBy:s}=r,a=Number(e&n),c=e>>s;if(a>i)a-=o,c+=Js;let l=t*i,u=l+Math.abs(a)-1,d=a===0,p=a<0,m=t%2!==0;return{nextN:c,offset:u,isZero:d,isNeg:p,isNegF:m,offsetF:l}}var GS=new WeakMap,Mz=new WeakMap;function QS(e){return Mz.get(e)||1}function jz(e){if(e!==vc)throw Error("invalid wNAF")}class ld{BASE;ZERO;Fn;bits;constructor(e,t){this.BASE=e.BASE,this.ZERO=e.ZERO,this.Fn=e.Fn,this.bits=t}_unsafeLadder(e,t,r=this.ZERO){let i=e;while(t>vc){if(t&Js)r=r.add(i);i=i.double(),t>>=Js}return r}precomputeWindow(e,t){let{windows:r,windowSize:i}=WS(t,this.bits),n=[],o=e,s=o;for(let a=0;a<r;a++){s=o,n.push(s);for(let c=1;c<i;c++)s=s.add(o),n.push(s);o=s.double()}return n}wNAF(e,t,r){if(!this.Fn.isValid(r))throw Error("invalid scalar");let i=this.ZERO,n=this.BASE,o=WS(e,this.bits);for(let s=0;s<o.windows;s++){let{nextN:a,offset:c,isZero:l,isNeg:u,isNegF:d,offsetF:p}=Bz(r,s,o);if(r=a,l)n=n.add(cd(d,t[p]));else i=i.add(cd(u,t[c]))}return jz(r),{p:i,f:n}}wNAFUnsafe(e,t,r,i=this.ZERO){let n=WS(e,this.bits);for(let o=0;o<n.windows;o++){if(r===vc)break;let{nextN:s,offset:a,isZero:c,isNeg:l}=Bz(r,o,n);if(r=s,c)continue;else{let u=t[a];i=i.add(l?u.negate():u)}}return jz(r),i}getPrecomputes(e,t,r){let i=GS.get(t);if(!i){if(i=this.precomputeWindow(t,e),e!==1){if(typeof r==="function")i=r(i);GS.set(t,i)}}return i}cached(e,t,r){let i=QS(e);return this.wNAF(i,this.getPrecomputes(i,e,r),t)}unsafe(e,t,r,i){let n=QS(e);if(n===1)return this._unsafeLadder(e,t,i);return this.wNAFUnsafe(n,this.getPrecomputes(n,e,r),t,i)}createCache(e,t){Uz(t,this.bits),Mz.set(e,t),GS.delete(e)}hasCache(e){return QS(e)!==1}}function Fz(e,t,r,i){let n=t,o=e.ZERO,s=e.ZERO;while(r>vc||i>vc){if(r&Js)o=o.add(n);if(i&Js)s=s.add(n);n=n.double(),r>>=Js,i>>=Js}return{p1:o,p2:s}}function qz(e,t,r){if(t){if(t.ORDER!==e)throw Error("Field.ORDER must match order: Fp == p, Fn == n");return KS(t),t}else return Dm(e,{isLE:r})}function Lm(e,t,r={},i){if(i===void 0)i=e==="edwards";if(!t||typeof t!=="object")throw Error(`expected valid ${e} CURVE object`);for(let c of["p","n","h"]){let l=t[c];if(!(typeof l==="bigint"&&l>vc))throw Error(`CURVE.${c} must be positive bigint`)}let n=qz(t.p,r.Fp,i),o=qz(t.n,r.Fn,i),a=["Gx","Gy","a",e==="weierstrass"?"b":"d"];for(let c of a)if(!n.isValid(t[c]))throw Error(`CURVE.${c} must be valid field element of CURVE.Fp`);return t=Object.freeze(Object.assign({},t)),{CURVE:t,Fp:n,Fn:o}}function ud(e,t){return function(i){let n=e(i);return{secretKey:n,publicKey:t(n)}}}function dd(e,t){if(oi(e),oi(t),t<0||t>4)throw Error("invalid I2OSP length: "+t);if(e<0||e>2**(8*t)-1)throw Error("invalid I2OSP input: "+e);let r=Array.from({length:t}).fill(0);for(let i=t-1;i>=0;i--)r[i]=e&255,e>>>=8;return new Uint8Array(r)}function iQ(e,t){let r=new Uint8Array(e.length);for(let i=0;i<e.length;i++)r[i]=e[i]^t[i];return r}function oQ(e){if(!xc(e)&&typeof e!=="string")throw Error("DST must be Uint8Array or ascii string");let t=typeof e==="string"?Nm(e):e;if(t.length===0)throw Error("DST must be non-empty");return t}function YS(e,t,r,i){if(lt(e),oi(r),t=oQ(t),t.length>255)t=i(sr(Nm("H2C-OVERSIZE-DST-"),t));let{outputLen:n,blockLen:o}=i,s=Math.ceil(r/n);if(r>65535||s>255)throw Error("expand_message_xmd: invalid lenInBytes");let a=sr(t,dd(t.length,1)),c=new Uint8Array(o),l=dd(r,2),u=Array(s),d=i(sr(c,e,l,dd(0,1),a));u[0]=i(sr(d,dd(1,1),a));for(let m=1;m<s;m++){let y=[iQ(d,u[m-1]),dd(m+1,1),a];u[m]=i(sr(...y))}return sr(...u).slice(0,r)}var Zz="HashToScalar-";/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */var Hz=(e,t)=>(e+(e>=0?t:-t)/Jz)/t;function sQ(e,t,r){Bi("scalar",e,si,r);let[[i,n],[o,s]]=t,a=Hz(s*e,r),c=Hz(-n*e,r),l=e-a*i-c*o,u=-a*n-c*s,d=l<si,p=u<si;if(d)l=-l;if(p)u=-u;let m=sd(Math.ceil(wc(r)/2))+$o;if(l<si||l>=m||u<si||u>=m)throw Error("splitScalar (endomorphism): failed for k");return{k1neg:d,k1:l,k2neg:p,k2:u}}function ew(e){if(!["compact","recovered","der"].includes(e))throw Error('Signature format must be "compact", "recovered", or "der"');return e}function XS(e,t){xn(e);let r={};for(let i of Object.keys(t))r[i]=e[i]===void 0?t[i]:e[i];if(Li(r.lowS,"lowS"),Li(r.prehash,"prehash"),r.format!==void 0)ew(r.format);return r}class Kz extends Error{constructor(e=""){super(e)}}var Dn={Err:Kz,_tlv:{encode:(e,t)=>{let{Err:r}=Dn;if(oi(e,"tag"),e<0||e>255)throw new r("tlv.encode: wrong tag");if(typeof t!=="string")throw TypeError('"data" expected string, got type='+typeof t);if(t.length&1)throw new r("tlv.encode: unpadded data");let i=t.length/2,n=id(i);if(n.length/2&128)throw new r("tlv.encode: long form length too big");let o=i>127?id(n.length/2|128):"";return id(e)+o+n+t},decode(e,t){let{Err:r}=Dn;t=lt(t,void 0,"DER data");let i=0;if(e<0||e>255)throw new r("tlv.encode: wrong tag");if(t.length<2||t[i++]!==e)throw new r("tlv.decode: wrong tlv");let n=t[i++],o=!!(n&128),s=0;if(!o)s=n;else{let c=n&127;if(!c)throw new r("tlv.decode(long): indefinite length not supported");if(c>4)throw new r("tlv.decode(long): byte length is too big");let l=t.subarray(i,i+c);if(l.length!==c)throw new r("tlv.decode: length bytes not complete");if(l[0]===0)throw new r("tlv.decode(long): zero leftmost byte");for(let u of l)s=s<<8|u;if(i+=c,s<128)throw new r("tlv.decode(long): not minimal encoding")}let a=t.subarray(i,i+s);if(a.length!==s)throw new r("tlv.decode: wrong value length");return{v:a,l:t.subarray(i+s)}}},_int:{encode(e){let{Err:t}=Dn;if(Pm(e),e<si)throw new t("integer: negative integers are not allowed");let r=id(e);if(Number.parseInt(r[0],16)&8)r="00"+r;if(r.length&1)throw new t("unexpected DER parsing assertion: unpadded hex");return r},decode(e){let{Err:t}=Dn;if(e.length<1)throw new t("invalid signature integer: empty");if(e[0]&128)throw new t("invalid signature integer: negative");if(e.length>1&&e[0]===0&&!(e[1]&128))throw new t("invalid signature integer: unnecessary leading zero");return Hs(e)}},toSig(e){let{Err:t,_int:r,_tlv:i}=Dn,n=lt(e,void 0,"signature"),{v:o,l:s}=i.decode(48,n);if(s.length)throw new t("invalid signature: left bytes after parsing");let{v:a,l:c}=i.decode(2,o),{v:l,l:u}=i.decode(2,c);if(u.length)throw new t("invalid signature: left bytes after parsing");return{r:r.decode(a),s:r.decode(l)}},hexFromSig(e){let{_tlv:t,_int:r}=Dn,i=t.encode(2,r.encode(e.r)),n=t.encode(2,r.encode(e.s)),o=i+n;return t.encode(48,o)}};Object.freeze(Dn._tlv);Object.freeze(Dn._int);Object.freeze(Dn);var si=BigInt(0),$o=BigInt(1),Jz=BigInt(2),Bm=BigInt(3),aQ=BigInt(4);function Vz(e,t={}){let r=Lm("weierstrass",e,t),i=r.Fp,n=r.Fn,o=r.CURVE,{h:s,n:a}=o;xn(t,{},{allowInfinityPoint:"boolean",clearCofactor:"function",isTorsionFree:"function",fromBytes:"function",toBytes:"function",endo:"object"});let{endo:c,allowInfinityPoint:l}=t;if(c){if(!i.is0(o.a)||typeof c.beta!=="bigint"||!Array.isArray(c.basises))throw Error('invalid endo: expected "beta": bigint and "basises": array')}let u=Gz(i,n);function d(){if(!i.isOdd)throw Error("compression is not supported: Field does not have .isOdd()")}function p(M,P,N){if(l&&P.is0())return Uint8Array.of(0);let{x:I,y:R}=P.toAffine(),O=i.toBytes(I);if(Li(N,"isCompressed"),N){d();let F=!i.isOdd(R);return sr(Wz(F),O)}else return sr(Uint8Array.of(4),O,i.toBytes(R))}function m(M){lt(M,void 0,"Point");let{publicKey:P,publicKeyUncompressed:N}=u,I=M.length,R=M[0],O=M.subarray(1);if(l&&I===1&&R===0)return{x:i.ZERO,y:i.ZERO};if(I===P&&(R===2||R===3)){let F=i.fromBytes(O);if(!i.isValid(F))throw Error("bad point: is not on curve, wrong x");let L=b(F),V;try{V=i.sqrt(L)}catch(de){let C=de instanceof Error?": "+de.message:"";throw Error("bad point: is not on curve, sqrt error"+C)}d();let k=i.isOdd(V);if((R&1)===1!==k)V=i.neg(V);return{x:F,y:V}}else if(I===N&&R===4){let F=i.BYTES,L=i.fromBytes(O.subarray(0,F)),V=i.fromBytes(O.subarray(F,F*2));if(!_(L,V))throw Error("bad point: is not on curve");return{x:L,y:V}}else throw Error(`bad point: got length ${I}, expected compressed=${P} or uncompressed=${N}`)}let y=t.toBytes===void 0?p:t.toBytes,g=t.fromBytes===void 0?m:t.fromBytes;function b(M){let P=i.sqr(M),N=i.mul(P,M);return i.add(i.add(N,i.mul(M,o.a)),o.b)}function _(M,P){let N=i.sqr(P),I=b(M);return i.eql(N,I)}if(!_(o.Gx,o.Gy))throw Error("bad curve params: generator point");let A=i.mul(i.pow(o.a,Bm),aQ),T=i.mul(i.sqr(o.b),BigInt(27));if(i.is0(i.add(A,T)))throw Error("bad curve params: a or b");function z(M,P,N=!1){if(!i.isValid(P)||N&&i.is0(P))throw Error(`bad point coordinate ${M}`);return P}function j(M){if(!(M instanceof D))throw Error("Weierstrass Point expected")}function E(M){if(!c||!c.basises)throw Error("no endo");return sQ(M,c.basises,n.ORDER)}function Z(M,P,N,I,R){return N=new D(i.mul(N.X,M),N.Y,N.Z),P=cd(I,P),N=cd(R,N),P.add(N)}class D{static BASE=new D(o.Gx,o.Gy,i.ONE);static ZERO=new D(i.ZERO,i.ONE,i.ZERO);static Fp=i;static Fn=n;X;Y;Z;constructor(M,P,N){this.X=z("x",M),this.Y=z("y",P,!0),this.Z=z("z",N),Object.freeze(this)}static CURVE(){return o}static fromAffine(M){let{x:P,y:N}=M||{};if(!M||!i.isValid(P)||!i.isValid(N))throw Error("invalid affine point");if(M instanceof D)throw Error("projective point not allowed");if(i.is0(P)&&i.is0(N))return D.ZERO;return new D(P,N,i.ONE)}static fromBytes(M){let P=D.fromAffine(g(lt(M,void 0,"point")));return P.assertValidity(),P}static fromHex(M){return D.fromBytes(bc(M))}get x(){return this.toAffine().x}get y(){return this.toAffine().y}precompute(M=8,P=!0){if(X.createCache(this,M),!P)this.multiply(Bm);return this}assertValidity(){let M=this;if(M.is0()){if(t.allowInfinityPoint&&i.is0(M.X)&&i.eql(M.Y,i.ONE)&&i.is0(M.Z))return;throw Error("bad point: ZERO")}let{x:P,y:N}=M.toAffine();if(!i.isValid(P)||!i.isValid(N))throw Error("bad point: x or y not field elements");if(!_(P,N))throw Error("bad point: equation left != right");if(!M.isTorsionFree())throw Error("bad point: not in prime-order subgroup")}hasEvenY(){let{y:M}=this.toAffine();if(!i.isOdd)throw Error("Field doesn't support isOdd");return!i.isOdd(M)}equals(M){j(M);let{X:P,Y:N,Z:I}=this,{X:R,Y:O,Z:F}=M,L=i.eql(i.mul(P,F),i.mul(R,I)),V=i.eql(i.mul(N,F),i.mul(O,I));return L&&V}negate(){return new D(this.X,i.neg(this.Y),this.Z)}double(){let{a:M,b:P}=o,N=i.mul(P,Bm),{X:I,Y:R,Z:O}=this,F=i.ZERO,L=i.ZERO,V=i.ZERO,k=i.mul(I,I),re=i.mul(R,R),de=i.mul(O,O),C=i.mul(I,R);return C=i.add(C,C),V=i.mul(I,O),V=i.add(V,V),F=i.mul(M,V),L=i.mul(N,de),L=i.add(F,L),F=i.sub(re,L),L=i.add(re,L),L=i.mul(F,L),F=i.mul(C,F),V=i.mul(N,V),de=i.mul(M,de),C=i.sub(k,de),C=i.mul(M,C),C=i.add(C,V),V=i.add(k,k),k=i.add(V,k),k=i.add(k,de),k=i.mul(k,C),L=i.add(L,k),de=i.mul(R,O),de=i.add(de,de),k=i.mul(de,C),F=i.sub(F,k),V=i.mul(de,re),V=i.add(V,V),V=i.add(V,V),new D(F,L,V)}add(M){j(M);let{X:P,Y:N,Z:I}=this,{X:R,Y:O,Z:F}=M,L=i.ZERO,V=i.ZERO,k=i.ZERO,re=o.a,de=i.mul(o.b,Bm),C=i.mul(P,R),xe=i.mul(N,O),Ee=i.mul(I,F),Ce=i.add(P,N),$e=i.add(R,O);Ce=i.mul(Ce,$e),$e=i.add(C,xe),Ce=i.sub(Ce,$e),$e=i.add(P,I);let _e=i.add(R,F);return $e=i.mul($e,_e),_e=i.add(C,Ee),$e=i.sub($e,_e),_e=i.add(N,I),L=i.add(O,F),_e=i.mul(_e,L),L=i.add(xe,Ee),_e=i.sub(_e,L),k=i.mul(re,$e),L=i.mul(de,Ee),k=i.add(L,k),L=i.sub(xe,k),k=i.add(xe,k),V=i.mul(L,k),xe=i.add(C,C),xe=i.add(xe,C),Ee=i.mul(re,Ee),$e=i.mul(de,$e),xe=i.add(xe,Ee),Ee=i.sub(C,Ee),Ee=i.mul(re,Ee),$e=i.add($e,Ee),C=i.mul(xe,$e),V=i.add(V,C),C=i.mul(_e,$e),L=i.mul(Ce,L),L=i.sub(L,C),C=i.mul(Ce,xe),k=i.mul(_e,k),k=i.add(k,C),new D(L,V,k)}subtract(M){return j(M),this.add(M.negate())}is0(){return this.equals(D.ZERO)}multiply(M){let{endo:P}=t;if(!n.isValidNot0(M))throw RangeError("invalid scalar: out of range");let N,I,R=(O)=>X.cached(this,O,(F)=>Vs(D,F));if(P){let{k1neg:O,k1:F,k2neg:L,k2:V}=E(M),{p:k,f:re}=R(F),{p:de,f:C}=R(V);I=re.add(C),N=Z(P.beta,k,de,O,L)}else{let{p:O,f:F}=R(M);N=O,I=F}return Vs(D,[N,I])[0]}multiplyUnsafe(M){let{endo:P}=t,N=this,I=M;if(!n.isValid(I))throw RangeError("invalid scalar: out of range");if(I===si||N.is0())return D.ZERO;if(I===$o)return N;if(X.hasCache(this))return this.multiply(I);if(P){let{k1neg:R,k1:O,k2neg:F,k2:L}=E(I),{p1:V,p2:k}=Fz(D,N,O,L);return Z(P.beta,V,k,R,F)}else return X.unsafe(N,I)}toAffine(M){let P=this,N=M,{X:I,Y:R,Z:O}=P;if(i.eql(O,i.ONE))return{x:I,y:R};let F=P.is0();if(N==null)N=F?i.ONE:i.inv(O);let L=i.mul(I,N),V=i.mul(R,N),k=i.mul(O,N);if(F)return{x:i.ZERO,y:i.ZERO};if(!i.eql(k,i.ONE))throw Error("invZ was invalid");return{x:L,y:V}}isTorsionFree(){let{isTorsionFree:M}=t;if(s===$o)return!0;if(M)return M(D,this);return X.unsafe(this,a).is0()}clearCofactor(){let{clearCofactor:M}=t;if(s===$o)return this;if(M)return M(D,this);return this.multiplyUnsafe(s)}isSmallOrder(){if(s===$o)return this.is0();return this.clearCofactor().is0()}toBytes(M=!0){return Li(M,"isCompressed"),this.assertValidity(),y(D,this,M)}toHex(M=!0){return yc(this.toBytes(M))}toString(){return`<Point ${this.is0()?"ZERO":this.toHex()}>`}}let H=n.BITS,X=new ld(D,t.endo?Math.ceil(H/2):H);if(H>=8)D.BASE.precompute(8);return Object.freeze(D.prototype),Object.freeze(D),D}function Wz(e){return Uint8Array.of(e?2:3)}function Gz(e,t){return{secretKey:t.BYTES,publicKey:1+e.BYTES,publicKeyUncompressed:1+2*e.BYTES,publicKeyHasPrefix:!0,signature:2*t.BYTES}}function cQ(e,t={}){let{Fn:r}=e,i=t.randomBytes===void 0?Sc:t.randomBytes,n=Object.assign(Gz(e.Fp,r),{seed:Math.max(VS(r.ORDER),16)});function o(m){try{let y=r.fromBytes(m);return r.isValidNot0(y)}catch(y){return!1}}function s(m,y){let{publicKey:g,publicKeyUncompressed:b}=n;try{let _=m.length;if(y===!0&&_!==g)return!1;if(y===!1&&_!==b)return!1;return!!e.fromBytes(m)}catch(_){return!1}}function a(m){return m=m===void 0?i(n.seed):m,Lz(lt(m,n.seed,"seed"),r.ORDER)}function c(m,y=!0){return e.BASE.multiply(r.fromBytes(m)).toBytes(y)}function l(m){let{secretKey:y,publicKey:g,publicKeyUncompressed:b}=n,_=r._lengths;if(!xc(m))return;let A=lt(m,void 0,"key").length,T=A===g||A===b,z=A===y||!!_?.includes(A);if(T&&z)return;return T}function u(m,y,g=!0){if(l(m)===!0)throw Error("first arg must be private key");if(l(y)===!1)throw Error("second arg must be public key");let b=r.fromBytes(m);return e.fromBytes(y).multiply(b).toBytes(g)}let d={isValidSecretKey:o,isValidPublicKey:s,randomSecretKey:a},p=ud(a,c);return Object.freeze(d),Object.freeze(n),Object.freeze({getPublicKey:c,getSharedSecret:u,keygen:p,Point:e,utils:d,lengths:n})}function Qz(e,t,r={}){let i=t;Ti(i),xn(r,{},{hmac:"function",lowS:"boolean",randomBytes:"function",bits2int:"function",bits2int_modN:"function"}),r=Object.assign({},r);let n=r.randomBytes===void 0?Sc:r.randomBytes,o=r.hmac===void 0?(R,O)=>Xn(i,R,O):r.hmac,{Fp:s,Fn:a}=e,{ORDER:c,BITS:l}=a,{keygen:u,getPublicKey:d,getSharedSecret:p,utils:m,lengths:y}=cQ(e,r),g={prehash:!0,lowS:typeof r.lowS==="boolean"?r.lowS:!0,format:"compact",extraEntropy:!1},b=c*Jz+$o<s.ORDER;function _(R){let O=c>>$o;return R>O}function A(R,O){if(!a.isValidNot0(O))throw Error(`invalid signature ${R}: out of range 1..Point.Fn.ORDER`);return O}function T(){if(b)throw Error('"recovered" sig type is not supported for cofactor >2 curves')}function z(R,O){ew(O);let F=y.signature,L=O==="compact"?F:O==="recovered"?F+1:void 0;return lt(R,L)}class j{r;s;recovery;constructor(R,O,F){if(this.r=A("r",R),this.s=A("s",O),F!=null){if(T(),![0,1,2,3].includes(F))throw Error("invalid recovery id");this.recovery=F}Object.freeze(this)}static fromBytes(R,O=g.format){z(R,O);let F;if(O==="der"){let{r:re,s:de}=Dn.toSig(lt(R));return new j(re,de)}if(O==="recovered")F=R[0],O="compact",R=R.subarray(1);let L=y.signature/2,V=R.subarray(0,L),k=R.subarray(L,L*2);return new j(a.fromBytes(V),a.fromBytes(k),F)}static fromHex(R,O){return this.fromBytes(bc(R),O)}assertRecovery(){let{recovery:R}=this;if(R==null)throw Error("invalid recovery id: must be present");return R}addRecoveryBit(R){return new j(this.r,this.s,R)}recoverPublicKey(R){let{r:O,s:F}=this,L=this.assertRecovery(),V=L===2||L===3?O+c:O;if(!s.isValid(V))throw Error("invalid recovery id: sig.r+curve.n != R.x");let k=s.toBytes(V),re=e.fromBytes(sr(Wz((L&1)===0),k)),de=a.inv(V),C=Z(lt(R,void 0,"msgHash")),xe=a.create(-C*de),Ee=a.create(F*de),Ce=e.BASE.multiplyUnsafe(xe).add(re.multiplyUnsafe(Ee));if(Ce.is0())throw Error("invalid recovery: point at infinify");return Ce.assertValidity(),Ce}hasHighS(){return _(this.s)}toBytes(R=g.format){if(ew(R),R==="der")return bc(Dn.hexFromSig(this));let{r:O,s:F}=this,L=a.toBytes(O),V=a.toBytes(F);if(R==="recovered")return T(),sr(Uint8Array.of(this.assertRecovery()),L,V);return sr(L,V)}toHex(R){return yc(this.toBytes(R))}}Object.freeze(j.prototype),Object.freeze(j);let E=r.bits2int===void 0?function(O){if(O.length>8192)throw Error("input is too large");let F=Hs(O),L=O.length*8-l;return L>0?F>>BigInt(L):F}:r.bits2int,Z=r.bits2int_modN===void 0?function(O){return a.create(E(O))}:r.bits2int_modN,D=sd(l);function H(R){return Bi("num < 2^"+l,R,si,D),a.toBytes(R)}function X(R,O){return lt(R,void 0,"message"),O?lt(i(R),void 0,"prehashed message"):R}function M(R,O,F){let{lowS:L,prehash:V,extraEntropy:k}=XS(F,g);R=X(R,V);let re=Z(R),de=a.fromBytes(O);if(!a.isValidNot0(de))throw Error("invalid private key");let C=[H(de),H(re)];if(k!=null&&k!==!1){let $e=k===!0?n(y.secretKey):k;C.push(lt($e,void 0,"extraEntropy"))}let xe=sr(...C),Ee=re;function Ce($e){let _e=E($e);if(!a.isValidNot0(_e))return;let Ve=a.inv(_e),De=e.BASE.multiply(_e).toAffine(),Ye=a.create(De.x);if(Ye===si)return;let mt=a.create(Ve*a.create(Ee+Ye*de));if(mt===si)return;let Dt=(De.x===Ye?0:2)|Number(De.y&$o),hr=mt;if(L&&_(mt))hr=a.neg(mt),Dt^=1;return new j(Ye,hr,b?void 0:Dt)}return{seed:xe,k2sig:Ce}}function P(R,O,F={}){let{seed:L,k2sig:V}=M(R,O,F);return Ez(i.outputLen,a.BYTES,o)(L,V).toBytes(F.format)}function N(R,O,F,L={}){let{lowS:V,prehash:k,format:re}=XS(L,g);if(F=lt(F,void 0,"publicKey"),O=X(O,k),!xc(R)){let de=R instanceof j?", use sig.toBytes()":"";throw Error("verify expects Uint8Array signature"+de)}z(R,re);try{let de=j.fromBytes(R,re),C=e.fromBytes(F);if(V&&de.hasHighS())return!1;let{r:xe,s:Ee}=de,Ce=Z(O),$e=a.inv(Ee),_e=a.create(Ce*$e),Ve=a.create(xe*$e),De=e.BASE.multiplyUnsafe(_e).add(C.multiplyUnsafe(Ve));if(De.is0())return!1;return a.create(De.x)===xe}catch(de){return!1}}function I(R,O,F={}){let{prehash:L}=XS(F,g);return O=X(O,L),j.fromBytes(R,"recovered").recoverPublicKey(O).toBytes()}return Object.freeze({keygen:u,getPublicKey:d,getSharedSecret:p,utils:m,lengths:y,Point:e,sign:P,verify:N,recoverPublicKey:I,Signature:j,hash:i})}/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */var lQ=(()=>({p:BigInt("0xffffffff00000001000000000000000000000000ffffffffffffffffffffffff"),n:BigInt("0xffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551"),h:BigInt(1),a:BigInt("0xffffffff00000001000000000000000000000000fffffffffffffffffffffffc"),b:BigInt("0x5ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b"),Gx:BigInt("0x6b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c296"),Gy:BigInt("0x4fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5")}))();var uQ=Vz(lQ),_c=Qz(uQ,$t);/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */var Oo=BigInt(0),Fr=BigInt(1),tw=BigInt(2),dQ=BigInt(8);function fQ(e,t,r,i){let n=e.sqr(r),o=e.sqr(i),s=e.add(e.mul(t.a,n),o),a=e.add(e.ONE,e.mul(t.d,e.mul(n,o)));return e.eql(s,a)}function Yz(e,t={}){let r=t,i=Lm("edwards",e,r,r.FpFnLE),{Fp:n,Fn:o}=i,s=i.CURVE,{h:a}=s;xn(r,{},{uvRatio:"function"});let c=tw<<BigInt(o.BYTES*8)-Fr,l=(g)=>n.create(g),u=r.uvRatio===void 0?(g,b)=>{try{return{isValid:!0,value:n.sqrt(n.div(g,b))}}catch(_){return{isValid:!1,value:Oo}}}:r.uvRatio;if(!fQ(n,s,s.Gx,s.Gy))throw Error("bad curve params: generator point");function d(g,b,_=!1){let A=_?Fr:Oo;return Bi("coordinate "+g,b,A,c),b}function p(g){if(!(g instanceof m))throw Error("EdwardsPoint expected")}class m{static BASE=new m(s.Gx,s.Gy,Fr,l(s.Gx*s.Gy));static ZERO=new m(Oo,Fr,Fr,Oo);static Fp=n;static Fn=o;X;Y;Z;T;constructor(g,b,_,A){this.X=d("x",g),this.Y=d("y",b),this.Z=d("z",_,!0),this.T=d("t",A),Object.freeze(this)}static CURVE(){return s}static fromAffine(g){if(g instanceof m)throw Error("extended point not allowed");let{x:b,y:_}=g||{};return d("x",b),d("y",_),new m(b,_,Fr,l(b*_))}static fromBytes(g,b=!1){let _=n.BYTES,{a:A,d:T}=s;g=Co(lt(g,_,"point")),Li(b,"zip215");let z=Co(g),j=g[_-1];z[_-1]=j&-129;let E=Nn(z),Z=b?c:n.ORDER;Bi("point.y",E,Oo,Z);let D=l(E*E),H=l(D-Fr),X=l(T*D-A),{isValid:M,value:P}=u(H,X);if(!M)throw Error("bad point: invalid y coordinate");let N=(P&Fr)===Fr,I=(j&128)!==0;if(!b&&P===Oo&&I)throw Error("bad point: x=0 and x_0=1");if(I!==N)P=l(-P);return m.fromAffine({x:P,y:E})}static fromHex(g,b=!1){return m.fromBytes(bc(g),b)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}precompute(g=8,b=!0){if(y.createCache(this,g),!b)this.multiply(tw);return this}assertValidity(){let g=this,{a:b,d:_}=s;if(g.is0())throw Error("bad point: ZERO");let{X:A,Y:T,Z:z,T:j}=g,E=l(A*A),Z=l(T*T),D=l(z*z),H=l(D*D),X=l(E*b),M=l(D*l(X+Z)),P=l(H+l(_*l(E*Z)));if(M!==P)throw Error("bad point: equation left != right (1)");let N=l(A*T),I=l(z*j);if(N!==I)throw Error("bad point: equation left != right (2)")}equals(g){p(g);let{X:b,Y:_,Z:A}=this,{X:T,Y:z,Z:j}=g,E=l(b*j),Z=l(T*A),D=l(_*j),H=l(z*A);return E===Z&&D===H}is0(){return this.equals(m.ZERO)}negate(){return new m(l(-this.X),this.Y,this.Z,l(-this.T))}double(){let{a:g}=s,{X:b,Y:_,Z:A}=this,T=l(b*b),z=l(_*_),j=l(tw*l(A*A)),E=l(g*T),Z=b+_,D=l(l(Z*Z)-T-z),H=E+z,X=H-j,M=E-z,P=l(D*X),N=l(H*M),I=l(D*M),R=l(X*H);return new m(P,N,R,I)}add(g){p(g);let{a:b,d:_}=s,{X:A,Y:T,Z:z,T:j}=this,{X:E,Y:Z,Z:D,T:H}=g,X=l(A*E),M=l(T*Z),P=l(j*_*H),N=l(z*D),I=l((A+T)*(E+Z)-X-M),R=N-P,O=N+P,F=l(M-b*X),L=l(I*R),V=l(O*F),k=l(I*F),re=l(R*O);return new m(L,V,re,k)}subtract(g){return p(g),this.add(g.negate())}multiply(g){if(!o.isValidNot0(g))throw RangeError("invalid scalar: expected 1 <= sc < curve.n");let{p:b,f:_}=y.cached(this,g,(A)=>Vs(m,A));return Vs(m,[b,_])[0]}multiplyUnsafe(g){if(!o.isValid(g))throw RangeError("invalid scalar: expected 0 <= sc < curve.n");if(g===Oo)return m.ZERO;if(this.is0()||g===Fr)return this;return y.unsafe(this,g,(b)=>Vs(m,b))}isSmallOrder(){return this.clearCofactor().is0()}isTorsionFree(){return y.unsafe(this,s.n).is0()}toAffine(g){let b=this,_=g,{X:A,Y:T,Z:z}=b,j=b.is0();if(_==null)_=j?dQ:n.inv(z);let E=l(A*_),Z=l(T*_),D=n.mul(z,_);if(j)return{x:Oo,y:Fr};if(D!==Fr)throw Error("invZ was invalid");return{x:E,y:Z}}clearCofactor(){if(a===Fr)return this;return this.multiplyUnsafe(a)}toBytes(){let{x:g,y:b}=this.toAffine(),_=n.toBytes(b);return _[_.length-1]|=g&Fr?128:0,_}toHex(){return yc(this.toBytes())}toString(){return`<Point ${this.is0()?"ZERO":this.toHex()}>`}}let y=new ld(m,o.BITS);if(o.BITS>=8)m.BASE.precompute(8);return Object.freeze(m.prototype),Object.freeze(m),m}class rw{static BASE;static ZERO;static Fp;static Fn;ep;constructor(e){this.ep=e}static fromBytes(e){ZS()}static fromHex(e){ZS()}get x(){return this.toAffine().x}get y(){return this.toAffine().y}clearCofactor(){return this}assertValidity(){this.ep.assertValidity()}toAffine(e){return this.ep.toAffine(e)}toHex(){return yc(this.toBytes())}toString(){return this.toHex()}isTorsionFree(){return!0}isSmallOrder(){return!1}add(e){return this.assertSame(e),this.init(this.ep.add(e.ep))}subtract(e){return this.assertSame(e),this.init(this.ep.subtract(e.ep))}multiply(e){return this.init(this.ep.multiply(e))}multiplyUnsafe(e){return this.init(this.ep.multiplyUnsafe(e))}double(){return this.init(this.ep.double())}negate(){return this.init(this.ep.negate())}precompute(e,t){return this.ep.precompute(e,t),this}}/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */var fd=BigInt(0),kc=BigInt(1),jm=BigInt(2);function pQ(e){return xn(e,{P:"bigint",type:"string",adjustScalarBytes:"function",powPminus2:"function"},{randomBytes:"function"}),Object.freeze({...e})}function Xz(e){let t=pQ(e),{P:r,type:i,adjustScalarBytes:n,powPminus2:o,randomBytes:s}=t,a=i==="x25519";if(!a&&i!=="x448")throw Error("invalid type");let c=s===void 0?Sc:s,l=a?255:448,u=a?32:56,d=a?BigInt(9):BigInt(5),p=a?BigInt(121665):BigInt(39081),m=a?jm**BigInt(254):jm**BigInt(447),y=a?BigInt(8)*jm**BigInt(251)-kc:BigInt(4)*jm**BigInt(445)-kc,g=m+y+kc,b=(I)=>yt(I,r),_=A(d);function A(I){return od(b(I),u)}function T(I){let R=Co(lt(I,u,"uCoordinate"));if(a)R[31]&=127;return b(Nn(R))}function z(I){return Nn(n(Co(lt(I,u,"scalar"))))}function j(I,R){let O=X(T(R),z(I));if(O===fd)throw Error("invalid private or public key received");return A(O)}function E(I){return j(I,_)}let Z=E,D=j;function H(I,R,O){let F=b(I*(R-O));return R=b(R-F),O=b(O+F),{x_2:R,x_3:O}}function X(I,R){Bi("u",I,fd,r),Bi("scalar",R,m,g);let O=R,F=I,L=kc,V=fd,k=I,re=kc,de=fd;for(let xe=BigInt(l-1);xe>=fd;xe--){let Ee=O>>xe&kc;de^=Ee,{x_2:L,x_3:k}=H(de,L,k),{x_2:V,x_3:re}=H(de,V,re),de=Ee;let Ce=L+V,$e=b(Ce*Ce),_e=L-V,Ve=b(_e*_e),De=$e-Ve,Ye=k+re,mt=k-re,Dt=b(mt*Ce),hr=b(Ye*_e),Yr=Dt+hr,Xr=Dt-hr;k=b(Yr*Yr),re=b(F*b(Xr*Xr)),L=b($e*Ve),V=b(De*($e+b(p*De)))}({x_2:L,x_3:k}=H(de,L,k)),{x_2:V,x_3:re}=H(de,V,re);let C=o(V);return b(L*C)}let M={secretKey:u,publicKey:u,seed:u},P=(I)=>(I=I===void 0?c(u):I,lt(I,M.seed,"seed"),I),N={randomSecretKey:P};return Object.freeze(M),Object.freeze(N),Object.freeze({keygen:ud(P,Z),getSharedSecret:D,getPublicKey:Z,scalarMult:j,scalarMultBase:E,utils:N,GuBytes:_.slice(),lengths:M})}/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */var mQ=BigInt(0),qi=BigInt(1),e2=BigInt(2),hQ=BigInt(3),gQ=BigInt(5),yQ=BigInt(8),Gs=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffed"),sw=(()=>({p:Gs,n:BigInt("0x1000000000000000000000000000000014def9dea2f79cd65812631a5cf5d3ed"),h:yQ,a:BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec"),d:BigInt("0x52036cee2b6ffe738cc740797779e89800700a4d4141d8ab75eb4dca135978a3"),Gx:BigInt("0x216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a"),Gy:BigInt("0x6666666666666666666666666666666666666666666666666666666666666658")}))();function n2(e){let t=BigInt(10),r=BigInt(20),i=BigInt(40),n=BigInt(80),o=Gs,a=e*e%o*e%o,c=Sn(a,e2,o)*a%o,l=Sn(c,qi,o)*e%o,u=Sn(l,gQ,o)*l%o,d=Sn(u,t,o)*u%o,p=Sn(d,r,o)*d%o,m=Sn(p,i,o)*p%o,y=Sn(m,n,o)*m%o,g=Sn(y,n,o)*m%o,b=Sn(g,t,o)*u%o;return{pow_p_5_8:Sn(b,e2,o)*e%o,b2:a}}function bQ(e){return e[0]&=248,e[31]&=127,e[31]|=64,e}var nw=BigInt("19681161376707505956807079304988542015446066515923890162744021073123829784752");function aw(e,t){let r=Gs,i=yt(t*t*t,r),n=yt(i*i*t,r),o=n2(e*n).pow_p_5_8,s=yt(e*i*o,r),a=yt(t*s*s,r),c=s,l=yt(s*nw,r),u=a===e,d=a===yt(-e,r),p=a===yt(-e*nw,r);if(u)s=c;if(d||p)s=l;if(ji(s,r))s=yt(-s,r);return{isValid:u||d,value:s}}var Ws=Yz(sw,{uvRatio:aw}),Ro=(()=>Ws.Fp)(),i2=(()=>Ws.Fn)();var qm=(()=>{let e=Gs;return Xz({P:e,type:"x25519",powPminus2:(t)=>{let{pow_p_5_8:r,b2:i}=n2(t);return yt(Sn(r,hQ,e)*i,e)},adjustScalarBytes:bQ})})();var iw=nw,xQ=BigInt("25063068953384623474111414158702152701244531502492656460079210482610430750235"),SQ=BigInt("54469307008909316920995813868745141605393597292927456921205312896311721017578"),wQ=BigInt("1159843021668779879193775521855586647937357759715417654439879720876111806838"),vQ=BigInt("40440834346308536858101042469323190826248399146238708352240133220865137265952"),t2=(e)=>aw(qi,e),_Q=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"),ow=(e)=>Ro.create(Nn(e)&_Q);function r2(e){let{d:t}=sw,r=Gs,i=(_)=>Ro.create(_),n=i(iw*e*e),o=i((n+qi)*wQ),s=BigInt(-1),a=i((s-t*n)*i(n+t)),{isValid:c,value:l}=aw(o,a),u=i(l*e);if(!ji(u,r))u=i(-u);if(!c)l=u;if(!c)s=n;let d=i(s*(n-qi)*vQ-a),p=l*l,m=i((l+l)*a),y=i(d*xQ),g=i(qi-p),b=i(qi+p);return new Ws(i(m*b),i(g*y),i(y*b),i(m*g))}class $r extends rw{static BASE=(()=>new $r(Ws.BASE))();static ZERO=(()=>new $r(Ws.ZERO))();static Fp=(()=>Ro)();static Fn=(()=>i2)();constructor(e){super(e)}static fromAffine(e){return new $r(Ws.fromAffine(e))}assertSame(e){if(!(e instanceof $r))throw Error("RistrettoPoint expected")}init(e){return new $r(e)}static fromBytes(e){rr(e,32);let{a:t,d:r}=sw,i=Gs,n=(T)=>Ro.create(T),o=ow(e);if(!kz(Ro.toBytes(o),e)||ji(o,i))throw Error("invalid ristretto255 encoding 1");let s=n(o*o),a=n(qi+t*s),c=n(qi-t*s),l=n(a*a),u=n(c*c),d=n(t*r*l-u),{isValid:p,value:m}=t2(n(d*u)),y=n(m*c),g=n(m*y*d),b=n((o+o)*y);if(ji(b,i))b=n(-b);let _=n(a*g),A=n(b*_);if(!p||ji(A,i)||_===mQ)throw Error("invalid ristretto255 encoding 2");return new $r(new Ws(b,_,qi,A))}static fromHex(e){return $r.fromBytes(zu(e))}toBytes(){let{X:e,Y:t,Z:r,T:i}=this.ep,n=Gs,o=(g)=>Ro.create(g),s=o(o(r+t)*o(r-t)),a=o(e*t),c=o(a*a),{value:l}=t2(o(s*c)),u=o(l*s),d=o(l*a),p=o(u*d*i),m;if(ji(i*p,n)){let g=o(t*iw),b=o(e*iw);e=g,t=b,m=o(u*SQ)}else m=d;if(ji(e*p,n))t=o(-t);let y=o((r-t)*m);if(ji(y,n))y=o(-y);return Ro.toBytes(y)}equals(e){this.assertSame(e);let{X:t,Y:r}=this.ep,{X:i,Y:n}=e.ep,o=(c)=>Ro.create(c),s=o(t*n)===o(r*i),a=o(r*n)===o(t*i);return s||a}is0(){return this.equals($r.ZERO)}}Object.freeze($r.BASE);Object.freeze($r.ZERO);Object.freeze($r.prototype);Object.freeze($r);var kQ=Object.freeze({Point:$r,hashToCurve(e,t){let r=t?.DST===void 0?"ristretto255_XMD:SHA-512_R255MAP_RO_":t.DST,i=YS(e,r,64,im);return kQ.deriveToCurve(i)},hashToScalar(e,t={DST:Zz}){let r=YS(e,t.DST,64,im);return i2.create(Nn(r))},deriveToCurve(e){rr(e,64);let t=ow(e.subarray(0,32)),r=r2(t),i=ow(e.subarray(32,64)),n=r2(i);return new $r(r.add(n))}});var o2=!1,EQ=!1;async function s2(e,t){if(EQ)return await t();try{return await e()}catch(r){if(r instanceof ReferenceError||r instanceof DOMException&&r.name==="NotSupportedError")return await t();else throw r}}async function Um(e,t){return await s2(async()=>{let r=cw(e)?e:await AQ(e),i=await crypto.subtle.importKey("raw",TQ(t),{name:"X25519"},o2,[]);return new Uint8Array(await crypto.subtle.deriveBits({name:"X25519",public:i},r,256))},()=>{if(cw(e))throw Error("CryptoKey provided but X25519 WebCrypto is not supported");return qm.scalarMult(e,t)})}async function pd(e){return await s2(async()=>Um(e,qm.GuBytes),()=>{if(cw(e))throw Error("CryptoKey provided but X25519 WebCrypto is not supported");return qm.scalarMultBase(e)})}var IQ=new Uint8Array([48,46,2,1,0,48,5,6,3,43,101,110,4,34,4,32]);async function AQ(e){if(e.length!==32)throw Error("X25519 private key must be 32 bytes");let t=new Uint8Array([...IQ,...e]);return crypto.subtle.importKey("pkcs8",t,{name:"X25519"},o2,["deriveBits"])}function cw(e){return typeof CryptoKey<"u"&&e instanceof CryptoKey}function TQ(e){return e}class lw{s;transcript=[];buf=new Uint8Array(0);constructor(e){this.s=e.getReader()}async readLine(){let e=[];while(!0){let t=this.buf.indexOf(10);if(t>=0)return e.push(this.buf.subarray(0,t)),this.transcript.push(this.buf.subarray(0,t+1)),this.buf=this.buf.subarray(t+1),$Q(Qs(e));if(this.buf.length>0)e.push(this.buf),this.transcript.push(this.buf);let r=await this.s.read();if(r.done)return this.buf=Qs(e),null;this.buf=r.value}}close(){return this.s.releaseLock(),{rest:this.buf,transcript:Qs(this.transcript)}}}function $Q(e){return e.forEach((t)=>{if(t<32||t>126)throw Error("invalid non-ASCII byte in header")}),new TextDecoder().decode(e)}function Qs(e){let t=e.reduce((n,o)=>n+o.length,0),r=new Uint8Array(t),i=0;for(let n of e)r.set(n,i),i+=n.length;return r}function Ec(e,...t){return e.pipeThrough(new TransformStream({start(r){for(let i of t)r.enqueue(i)}}))}function Mm(e){return new ReadableStream({start(t){t.enqueue(e),t.close()}})}async function uw(e){if(!(e instanceof ReadableStream))throw Error("readAll expects a ReadableStream<Uint8Array>");return new Uint8Array(await new Response(e).arrayBuffer())}async function a2(e){if(!(e instanceof ReadableStream))throw Error("readAllString expects a ReadableStream<Uint8Array>");return await new Response(e).text()}async function c2(e,t){let r=e.getReader(),i=[],n=0;while(n<t){let{done:c,value:l}=await r.read();if(c)throw Error("stream ended before reading "+t.toString()+" bytes");i.push(l),n+=l.length}r.releaseLock();let o=Qs(i),s=o.subarray(0,t),a=Ec(e,o.subarray(t));return{data:s,rest:a}}class ai{args;body;constructor(e,t){this.args=e,this.body=t}}async function OQ(e){let t=await e.readLine();if(t===null)throw Error("invalid stanza");let r=t.split(" ");if(r.length<2||r.shift()!=="->")return{next:t};for(let o of r)if(o.length===0)throw Error("invalid stanza");let i=[];for(;;){let o=await e.readLine();if(o===null)throw Error("invalid stanza");let s=gr.decode(o);if(s.length>48)throw Error("invalid stanza");if(i.push(s),s.length<48)break}let n=Qs(i);return{s:new ai(r,n)}}async function l2(e){let t=new lw(e),r=await t.readLine();if(r!=="age-encryption.org/v1")throw Error("invalid version "+(r??"line"));let i=[];for(;;){let{s:n,next:o}=await OQ(t);if(n!==void 0){i.push(n);continue}if(!o.startsWith("--- "))throw Error("invalid header");let s=gr.decode(o.slice(4)),{rest:a,transcript:c}=t.close(),l=c.slice(0,c.length-1-o.length+3);return{stanzas:i,headerNoMAC:l,MAC:s,headerSize:c.length,rest:Ec(e,a)}}}function dw(e){let t=[];t.push(`age-encryption.org/v1
769
769
  `);for(let r of e){t.push("-> "+r.args.join(" ")+`
770
770
  `);for(let i=0;i<r.body.length;i+=48){let n=i+48;if(n>r.body.length)n=r.body.length;t.push(gr.encode(r.body.subarray(i,n))+`
771
771
  `)}if(r.body.length%48===0)t.push(`