emceepee 0.3.6 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/emceepee.js CHANGED
@@ -1,59 +1,64 @@
1
1
  #!/usr/bin/env node
2
- import{createRequire as MU}from"node:module";var LU=Object.create;var{getPrototypeOf:OU,defineProperty:gY,getOwnPropertyNames:UU}=Object;var jU=Object.prototype.hasOwnProperty;var O9=(Q,X,Y)=>{Y=Q!=null?LU(OU(Q)):{};let W=X||!Q||!Q.__esModule?gY(Y,"default",{value:Q,enumerable:!0}):Y;for(let $ of UU(Q))if(!jU.call(W,$))gY(W,$,{get:()=>Q[$],enumerable:!0});return W};var j=(Q,X)=>()=>(X||Q((X={exports:{}}).exports,X),X.exports);var t4=(Q,X)=>{for(var Y in X)gY(Q,Y,{get:X[Y],enumerable:!0,configurable:!0,set:(W)=>X[Y]=()=>W})};var K1=MU(import.meta.url);var Y4=j((jB)=>{Object.defineProperty(jB,"__esModule",{value:!0});jB.regexpCode=jB.getEsmExportName=jB.getProperty=jB.safeStringify=jB.stringify=jB.strConcat=jB.addCodeArg=jB.str=jB._=jB.nil=jB._Code=jB.Name=jB.IDENTIFIER=jB._CodeOrName=void 0;class sQ{}jB._CodeOrName=sQ;jB.IDENTIFIER=/^[a-z$_][a-z$_0-9]*$/i;class p9 extends sQ{constructor(Q){super();if(!jB.IDENTIFIER.test(Q))throw Error("CodeGen: name must be a valid identifier");this.str=Q}toString(){return this.str}emptyStr(){return!1}get names(){return{[this.str]:1}}}jB.Name=p9;class R1 extends sQ{constructor(Q){super();this._items=typeof Q==="string"?[Q]:Q}toString(){return this.str}emptyStr(){if(this._items.length>1)return!1;let Q=this._items[0];return Q===""||Q==='""'}get str(){var Q;return(Q=this._str)!==null&&Q!==void 0?Q:this._str=this._items.reduce((X,Y)=>`${X}${Y}`,"")}get names(){var Q;return(Q=this._names)!==null&&Q!==void 0?Q:this._names=this._items.reduce((X,Y)=>{if(Y instanceof p9)X[Y.str]=(X[Y.str]||0)+1;return X},{})}}jB._Code=R1;jB.nil=new R1("");function OB(Q,...X){let Y=[Q[0]],W=0;while(W<X.length)T5(Y,X[W]),Y.push(Q[++W]);return new R1(Y)}jB._=OB;var I5=new R1("+");function UB(Q,...X){let Y=[X4(Q[0])],W=0;while(W<X.length)Y.push(I5),T5(Y,X[W]),Y.push(I5,X4(Q[++W]));return Wb(Y),new R1(Y)}jB.str=UB;function T5(Q,X){if(X instanceof R1)Q.push(...X._items);else if(X instanceof p9)Q.push(X);else Q.push(Gb(X))}jB.addCodeArg=T5;function Wb(Q){let X=1;while(X<Q.length-1){if(Q[X]===I5){let Y=$b(Q[X-1],Q[X+1]);if(Y!==void 0){Q.splice(X-1,3,Y);continue}Q[X++]="+"}X++}}function $b(Q,X){if(X==='""')return Q;if(Q==='""')return X;if(typeof Q=="string"){if(X instanceof p9||Q[Q.length-1]!=='"')return;if(typeof X!="string")return`${Q.slice(0,-1)}${X}"`;if(X[0]==='"')return Q.slice(0,-1)+X.slice(1);return}if(typeof X=="string"&&X[0]==='"'&&!(Q instanceof p9))return`"${Q}${X.slice(1)}`;return}function Jb(Q,X){return X.emptyStr()?Q:Q.emptyStr()?X:UB`${Q}${X}`}jB.strConcat=Jb;function Gb(Q){return typeof Q=="number"||typeof Q=="boolean"||Q===null?Q:X4(Array.isArray(Q)?Q.join(","):Q)}function Hb(Q){return new R1(X4(Q))}jB.stringify=Hb;function X4(Q){return JSON.stringify(Q).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")}jB.safeStringify=X4;function Bb(Q){return typeof Q=="string"&&jB.IDENTIFIER.test(Q)?new R1(`.${Q}`):OB`[${Q}]`}jB.getProperty=Bb;function zb(Q){if(typeof Q=="string"&&jB.IDENTIFIER.test(Q))return new R1(`${Q}`);throw Error(`CodeGen: invalid export name: ${Q}, use explicit $id name mapping`)}jB.getEsmExportName=zb;function Kb(Q){return new R1(Q.toString())}jB.regexpCode=Kb});var _5=j((bB)=>{Object.defineProperty(bB,"__esModule",{value:!0});bB.ValueScope=bB.ValueScopeName=bB.Scope=bB.varKinds=bB.UsedValueState=void 0;var Q1=Y4();class NB extends Error{constructor(Q){super(`CodeGen: "code" for ${Q} not defined`);this.value=Q.value}}var QX;(function(Q){Q[Q.Started=0]="Started",Q[Q.Completed=1]="Completed"})(QX||(bB.UsedValueState=QX={}));bB.varKinds={const:new Q1.Name("const"),let:new Q1.Name("let"),var:new Q1.Name("var")};class k5{constructor({prefixes:Q,parent:X}={}){this._names={},this._prefixes=Q,this._parent=X}toName(Q){return Q instanceof Q1.Name?Q:this.name(Q)}name(Q){return new Q1.Name(this._newName(Q))}_newName(Q){let X=this._names[Q]||this._nameGroup(Q);return`${Q}${X.index++}`}_nameGroup(Q){var X,Y;if(((Y=(X=this._parent)===null||X===void 0?void 0:X._prefixes)===null||Y===void 0?void 0:Y.has(Q))||this._prefixes&&!this._prefixes.has(Q))throw Error(`CodeGen: prefix "${Q}" is not allowed in this scope`);return this._names[Q]={prefix:Q,index:0}}}bB.Scope=k5;class v5 extends Q1.Name{constructor(Q,X){super(X);this.prefix=Q}setValue(Q,{property:X,itemIndex:Y}){this.value=Q,this.scopePath=Q1._`.${new Q1.Name(X)}[${Y}]`}}bB.ValueScopeName=v5;var bb=Q1._`\n`;class wB extends k5{constructor(Q){super(Q);this._values={},this._scope=Q.scope,this.opts={...Q,_n:Q.lines?bb:Q1.nil}}get(){return this._scope}name(Q){return new v5(Q,this._newName(Q))}value(Q,X){var Y;if(X.ref===void 0)throw Error("CodeGen: ref must be passed in value");let W=this.toName(Q),{prefix:$}=W,J=(Y=X.key)!==null&&Y!==void 0?Y:X.ref,G=this._values[$];if(G){let z=G.get(J);if(z)return z}else G=this._values[$]=new Map;G.set(J,W);let H=this._scope[$]||(this._scope[$]=[]),B=H.length;return H[B]=X.ref,W.setValue(X,{property:$,itemIndex:B}),W}getValue(Q,X){let Y=this._values[Q];if(!Y)return;return Y.get(X)}scopeRefs(Q,X=this._values){return this._reduceValues(X,(Y)=>{if(Y.scopePath===void 0)throw Error(`CodeGen: name "${Y}" has no value`);return Q1._`${Q}${Y.scopePath}`})}scopeCode(Q=this._values,X,Y){return this._reduceValues(Q,(W)=>{if(W.value===void 0)throw Error(`CodeGen: name "${W}" has no value`);return W.value.code},X,Y)}_reduceValues(Q,X,Y={},W){let $=Q1.nil;for(let J in Q){let G=Q[J];if(!G)continue;let H=Y[J]=Y[J]||new Map;G.forEach((B)=>{if(H.has(B))return;H.set(B,QX.Started);let z=X(B);if(z){let K=this.opts.es5?bB.varKinds.var:bB.varKinds.const;$=Q1._`${$}${K} ${B} = ${z};${this.opts._n}`}else if(z=W===null||W===void 0?void 0:W(B))$=Q1._`${$}${z}${this.opts._n}`;else throw new NB(B);H.set(B,QX.Completed)})}return $}}bB.ValueScope=wB});var r=j((X1)=>{Object.defineProperty(X1,"__esModule",{value:!0});X1.or=X1.and=X1.not=X1.CodeGen=X1.operators=X1.varKinds=X1.ValueScopeName=X1.ValueScope=X1.Scope=X1.Name=X1.regexpCode=X1.stringify=X1.getProperty=X1.nil=X1.strConcat=X1.str=X1._=void 0;var e=Y4(),E1=_5(),w6=Y4();Object.defineProperty(X1,"_",{enumerable:!0,get:function(){return w6._}});Object.defineProperty(X1,"str",{enumerable:!0,get:function(){return w6.str}});Object.defineProperty(X1,"strConcat",{enumerable:!0,get:function(){return w6.strConcat}});Object.defineProperty(X1,"nil",{enumerable:!0,get:function(){return w6.nil}});Object.defineProperty(X1,"getProperty",{enumerable:!0,get:function(){return w6.getProperty}});Object.defineProperty(X1,"stringify",{enumerable:!0,get:function(){return w6.stringify}});Object.defineProperty(X1,"regexpCode",{enumerable:!0,get:function(){return w6.regexpCode}});Object.defineProperty(X1,"Name",{enumerable:!0,get:function(){return w6.Name}});var GX=_5();Object.defineProperty(X1,"Scope",{enumerable:!0,get:function(){return GX.Scope}});Object.defineProperty(X1,"ValueScope",{enumerable:!0,get:function(){return GX.ValueScope}});Object.defineProperty(X1,"ValueScopeName",{enumerable:!0,get:function(){return GX.ValueScopeName}});Object.defineProperty(X1,"varKinds",{enumerable:!0,get:function(){return GX.varKinds}});X1.operators={GT:new e._Code(">"),GTE:new e._Code(">="),LT:new e._Code("<"),LTE:new e._Code("<="),EQ:new e._Code("==="),NEQ:new e._Code("!=="),NOT:new e._Code("!"),OR:new e._Code("||"),AND:new e._Code("&&"),ADD:new e._Code("+")};class b6{optimizeNodes(){return this}optimizeNames(Q,X){return this}}class ZB extends b6{constructor(Q,X,Y){super();this.varKind=Q,this.name=X,this.rhs=Y}render({es5:Q,_n:X}){let Y=Q?E1.varKinds.var:this.varKind,W=this.rhs===void 0?"":` = ${this.rhs}`;return`${Y} ${this.name}${W};`+X}optimizeNames(Q,X){if(!Q[this.name.str])return;if(this.rhs)this.rhs=i9(this.rhs,Q,X);return this}get names(){return this.rhs instanceof e._CodeOrName?this.rhs.names:{}}}class f5 extends b6{constructor(Q,X,Y){super();this.lhs=Q,this.rhs=X,this.sideEffects=Y}render({_n:Q}){return`${this.lhs} = ${this.rhs};`+Q}optimizeNames(Q,X){if(this.lhs instanceof e.Name&&!Q[this.lhs.str]&&!this.sideEffects)return;return this.rhs=i9(this.rhs,Q,X),this}get names(){let Q=this.lhs instanceof e.Name?{}:{...this.lhs.names};return JX(Q,this.rhs)}}class RB extends f5{constructor(Q,X,Y,W){super(Q,Y,W);this.op=X}render({_n:Q}){return`${this.lhs} ${this.op}= ${this.rhs};`+Q}}class EB extends b6{constructor(Q){super();this.label=Q,this.names={}}render({_n:Q}){return`${this.label}:`+Q}}class SB extends b6{constructor(Q){super();this.label=Q,this.names={}}render({_n:Q}){return`break${this.label?` ${this.label}`:""};`+Q}}class IB extends b6{constructor(Q){super();this.error=Q}render({_n:Q}){return`throw ${this.error};`+Q}get names(){return this.error.names}}class TB extends b6{constructor(Q){super();this.code=Q}render({_n:Q}){return`${this.code};`+Q}optimizeNodes(){return`${this.code}`?this:void 0}optimizeNames(Q,X){return this.code=i9(this.code,Q,X),this}get names(){return this.code instanceof e._CodeOrName?this.code.names:{}}}class HX extends b6{constructor(Q=[]){super();this.nodes=Q}render(Q){return this.nodes.reduce((X,Y)=>X+Y.render(Q),"")}optimizeNodes(){let{nodes:Q}=this,X=Q.length;while(X--){let Y=Q[X].optimizeNodes();if(Array.isArray(Y))Q.splice(X,1,...Y);else if(Y)Q[X]=Y;else Q.splice(X,1)}return Q.length>0?this:void 0}optimizeNames(Q,X){let{nodes:Y}=this,W=Y.length;while(W--){let $=Y[W];if($.optimizeNames(Q,X))continue;Eb(Q,$.names),Y.splice(W,1)}return Y.length>0?this:void 0}get names(){return this.nodes.reduce((Q,X)=>W9(Q,X.names),{})}}class P6 extends HX{render(Q){return"{"+Q._n+super.render(Q)+"}"+Q._n}}class CB extends HX{}class W4 extends P6{}W4.kind="else";class X6 extends P6{constructor(Q,X){super(X);this.condition=Q}render(Q){let X=`if(${this.condition})`+super.render(Q);if(this.else)X+="else "+this.else.render(Q);return X}optimizeNodes(){super.optimizeNodes();let Q=this.condition;if(Q===!0)return this.nodes;let X=this.else;if(X){let Y=X.optimizeNodes();X=this.else=Array.isArray(Y)?new W4(Y):Y}if(X){if(Q===!1)return X instanceof X6?X:X.nodes;if(this.nodes.length)return this;return new X6(yB(Q),X instanceof X6?[X]:X.nodes)}if(Q===!1||!this.nodes.length)return;return this}optimizeNames(Q,X){var Y;if(this.else=(Y=this.else)===null||Y===void 0?void 0:Y.optimizeNames(Q,X),!(super.optimizeNames(Q,X)||this.else))return;return this.condition=i9(this.condition,Q,X),this}get names(){let Q=super.names;if(JX(Q,this.condition),this.else)W9(Q,this.else.names);return Q}}X6.kind="if";class d9 extends P6{}d9.kind="for";class kB extends d9{constructor(Q){super();this.iteration=Q}render(Q){return`for(${this.iteration})`+super.render(Q)}optimizeNames(Q,X){if(!super.optimizeNames(Q,X))return;return this.iteration=i9(this.iteration,Q,X),this}get names(){return W9(super.names,this.iteration.names)}}class vB extends d9{constructor(Q,X,Y,W){super();this.varKind=Q,this.name=X,this.from=Y,this.to=W}render(Q){let X=Q.es5?E1.varKinds.var:this.varKind,{name:Y,from:W,to:$}=this;return`for(${X} ${Y}=${W}; ${Y}<${$}; ${Y}++)`+super.render(Q)}get names(){let Q=JX(super.names,this.from);return JX(Q,this.to)}}class x5 extends d9{constructor(Q,X,Y,W){super();this.loop=Q,this.varKind=X,this.name=Y,this.iterable=W}render(Q){return`for(${this.varKind} ${this.name} ${this.loop} ${this.iterable})`+super.render(Q)}optimizeNames(Q,X){if(!super.optimizeNames(Q,X))return;return this.iterable=i9(this.iterable,Q,X),this}get names(){return W9(super.names,this.iterable.names)}}class XX extends P6{constructor(Q,X,Y){super();this.name=Q,this.args=X,this.async=Y}render(Q){return`${this.async?"async ":""}function ${this.name}(${this.args})`+super.render(Q)}}XX.kind="func";class YX extends HX{render(Q){return"return "+super.render(Q)}}YX.kind="return";class _B extends P6{render(Q){let X="try"+super.render(Q);if(this.catch)X+=this.catch.render(Q);if(this.finally)X+=this.finally.render(Q);return X}optimizeNodes(){var Q,X;return super.optimizeNodes(),(Q=this.catch)===null||Q===void 0||Q.optimizeNodes(),(X=this.finally)===null||X===void 0||X.optimizeNodes(),this}optimizeNames(Q,X){var Y,W;return super.optimizeNames(Q,X),(Y=this.catch)===null||Y===void 0||Y.optimizeNames(Q,X),(W=this.finally)===null||W===void 0||W.optimizeNames(Q,X),this}get names(){let Q=super.names;if(this.catch)W9(Q,this.catch.names);if(this.finally)W9(Q,this.finally.names);return Q}}class WX extends P6{constructor(Q){super();this.error=Q}render(Q){return`catch(${this.error})`+super.render(Q)}}WX.kind="catch";class $X extends P6{render(Q){return"finally"+super.render(Q)}}$X.kind="finally";class xB{constructor(Q,X={}){this._values={},this._blockStarts=[],this._constants={},this.opts={...X,_n:X.lines?`
3
- `:""},this._extScope=Q,this._scope=new E1.Scope({parent:Q}),this._nodes=[new CB]}toString(){return this._root.render(this.opts)}name(Q){return this._scope.name(Q)}scopeName(Q){return this._extScope.name(Q)}scopeValue(Q,X){let Y=this._extScope.value(Q,X);return(this._values[Y.prefix]||(this._values[Y.prefix]=new Set)).add(Y),Y}getScopeValue(Q,X){return this._extScope.getValue(Q,X)}scopeRefs(Q){return this._extScope.scopeRefs(Q,this._values)}scopeCode(){return this._extScope.scopeCode(this._values)}_def(Q,X,Y,W){let $=this._scope.toName(X);if(Y!==void 0&&W)this._constants[$.str]=Y;return this._leafNode(new ZB(Q,$,Y)),$}const(Q,X,Y){return this._def(E1.varKinds.const,Q,X,Y)}let(Q,X,Y){return this._def(E1.varKinds.let,Q,X,Y)}var(Q,X,Y){return this._def(E1.varKinds.var,Q,X,Y)}assign(Q,X,Y){return this._leafNode(new f5(Q,X,Y))}add(Q,X){return this._leafNode(new RB(Q,X1.operators.ADD,X))}code(Q){if(typeof Q=="function")Q();else if(Q!==e.nil)this._leafNode(new TB(Q));return this}object(...Q){let X=["{"];for(let[Y,W]of Q){if(X.length>1)X.push(",");if(X.push(Y),Y!==W||this.opts.es5)X.push(":"),(0,e.addCodeArg)(X,W)}return X.push("}"),new e._Code(X)}if(Q,X,Y){if(this._blockNode(new X6(Q)),X&&Y)this.code(X).else().code(Y).endIf();else if(X)this.code(X).endIf();else if(Y)throw Error('CodeGen: "else" body without "then" body');return this}elseIf(Q){return this._elseNode(new X6(Q))}else(){return this._elseNode(new W4)}endIf(){return this._endBlockNode(X6,W4)}_for(Q,X){if(this._blockNode(Q),X)this.code(X).endFor();return this}for(Q,X){return this._for(new kB(Q),X)}forRange(Q,X,Y,W,$=this.opts.es5?E1.varKinds.var:E1.varKinds.let){let J=this._scope.toName(Q);return this._for(new vB($,J,X,Y),()=>W(J))}forOf(Q,X,Y,W=E1.varKinds.const){let $=this._scope.toName(Q);if(this.opts.es5){let J=X instanceof e.Name?X:this.var("_arr",X);return this.forRange("_i",0,e._`${J}.length`,(G)=>{this.var($,e._`${J}[${G}]`),Y($)})}return this._for(new x5("of",W,$,X),()=>Y($))}forIn(Q,X,Y,W=this.opts.es5?E1.varKinds.var:E1.varKinds.const){if(this.opts.ownProperties)return this.forOf(Q,e._`Object.keys(${X})`,Y);let $=this._scope.toName(Q);return this._for(new x5("in",W,$,X),()=>Y($))}endFor(){return this._endBlockNode(d9)}label(Q){return this._leafNode(new EB(Q))}break(Q){return this._leafNode(new SB(Q))}return(Q){let X=new YX;if(this._blockNode(X),this.code(Q),X.nodes.length!==1)throw Error('CodeGen: "return" should have one node');return this._endBlockNode(YX)}try(Q,X,Y){if(!X&&!Y)throw Error('CodeGen: "try" without "catch" and "finally"');let W=new _B;if(this._blockNode(W),this.code(Q),X){let $=this.name("e");this._currNode=W.catch=new WX($),X($)}if(Y)this._currNode=W.finally=new $X,this.code(Y);return this._endBlockNode(WX,$X)}throw(Q){return this._leafNode(new IB(Q))}block(Q,X){if(this._blockStarts.push(this._nodes.length),Q)this.code(Q).endBlock(X);return this}endBlock(Q){let X=this._blockStarts.pop();if(X===void 0)throw Error("CodeGen: not in self-balancing block");let Y=this._nodes.length-X;if(Y<0||Q!==void 0&&Y!==Q)throw Error(`CodeGen: wrong number of nodes: ${Y} vs ${Q} expected`);return this._nodes.length=X,this}func(Q,X=e.nil,Y,W){if(this._blockNode(new XX(Q,X,Y)),W)this.code(W).endFunc();return this}endFunc(){return this._endBlockNode(XX)}optimize(Q=1){while(Q-- >0)this._root.optimizeNodes(),this._root.optimizeNames(this._root.names,this._constants)}_leafNode(Q){return this._currNode.nodes.push(Q),this}_blockNode(Q){this._currNode.nodes.push(Q),this._nodes.push(Q)}_endBlockNode(Q,X){let Y=this._currNode;if(Y instanceof Q||X&&Y instanceof X)return this._nodes.pop(),this;throw Error(`CodeGen: not in block "${X?`${Q.kind}/${X.kind}`:Q.kind}"`)}_elseNode(Q){let X=this._currNode;if(!(X instanceof X6))throw Error('CodeGen: "else" without "if"');return this._currNode=X.else=Q,this}get _root(){return this._nodes[0]}get _currNode(){let Q=this._nodes;return Q[Q.length-1]}set _currNode(Q){let X=this._nodes;X[X.length-1]=Q}}X1.CodeGen=xB;function W9(Q,X){for(let Y in X)Q[Y]=(Q[Y]||0)+(X[Y]||0);return Q}function JX(Q,X){return X instanceof e._CodeOrName?W9(Q,X.names):Q}function i9(Q,X,Y){if(Q instanceof e.Name)return W(Q);if(!$(Q))return Q;return new e._Code(Q._items.reduce((J,G)=>{if(G instanceof e.Name)G=W(G);if(G instanceof e._Code)J.push(...G._items);else J.push(G);return J},[]));function W(J){let G=Y[J.str];if(G===void 0||X[J.str]!==1)return J;return delete X[J.str],G}function $(J){return J instanceof e._Code&&J._items.some((G)=>G instanceof e.Name&&X[G.str]===1&&Y[G.str]!==void 0)}}function Eb(Q,X){for(let Y in X)Q[Y]=(Q[Y]||0)-(X[Y]||0)}function yB(Q){return typeof Q=="boolean"||typeof Q=="number"||Q===null?!Q:e._`!${y5(Q)}`}X1.not=yB;var Sb=fB(X1.operators.AND);function Ib(...Q){return Q.reduce(Sb)}X1.and=Ib;var Tb=fB(X1.operators.OR);function Cb(...Q){return Q.reduce(Tb)}X1.or=Cb;function fB(Q){return(X,Y)=>X===e.nil?Y:Y===e.nil?X:e._`${y5(X)} ${Q} ${y5(Y)}`}function y5(Q){return Q instanceof e.Name?Q:e._`(${Q})`}});var W0=j((iB)=>{Object.defineProperty(iB,"__esModule",{value:!0});iB.checkStrictMode=iB.getErrorPath=iB.Type=iB.useFunc=iB.setEvaluated=iB.evaluatedPropsToName=iB.mergeEvaluated=iB.eachItem=iB.unescapeJsonPointer=iB.escapeJsonPointer=iB.escapeFragment=iB.unescapeFragment=iB.schemaRefOrVal=iB.schemaHasRulesButRef=iB.schemaHasRules=iB.checkUnknownRules=iB.alwaysValidSchema=iB.toHash=void 0;var B0=r(),xb=Y4();function yb(Q){let X={};for(let Y of Q)X[Y]=!0;return X}iB.toHash=yb;function fb(Q,X){if(typeof X=="boolean")return X;if(Object.keys(X).length===0)return!0;return lB(Q,X),!mB(X,Q.self.RULES.all)}iB.alwaysValidSchema=fb;function lB(Q,X=Q.schema){let{opts:Y,self:W}=Q;if(!Y.strictSchema)return;if(typeof X==="boolean")return;let $=W.RULES.keywords;for(let J in X)if(!$[J])dB(Q,`unknown keyword: "${J}"`)}iB.checkUnknownRules=lB;function mB(Q,X){if(typeof Q=="boolean")return!Q;for(let Y in Q)if(X[Y])return!0;return!1}iB.schemaHasRules=mB;function gb(Q,X){if(typeof Q=="boolean")return!Q;for(let Y in Q)if(Y!=="$ref"&&X.all[Y])return!0;return!1}iB.schemaHasRulesButRef=gb;function hb({topSchemaRef:Q,schemaPath:X},Y,W,$){if(!$){if(typeof Y=="number"||typeof Y=="boolean")return Y;if(typeof Y=="string")return B0._`${Y}`}return B0._`${Q}${X}${(0,B0.getProperty)(W)}`}iB.schemaRefOrVal=hb;function ub(Q){return cB(decodeURIComponent(Q))}iB.unescapeFragment=ub;function lb(Q){return encodeURIComponent(h5(Q))}iB.escapeFragment=lb;function h5(Q){if(typeof Q=="number")return`${Q}`;return Q.replace(/~/g,"~0").replace(/\//g,"~1")}iB.escapeJsonPointer=h5;function cB(Q){return Q.replace(/~1/g,"/").replace(/~0/g,"~")}iB.unescapeJsonPointer=cB;function mb(Q,X){if(Array.isArray(Q))for(let Y of Q)X(Y);else X(Q)}iB.eachItem=mb;function hB({mergeNames:Q,mergeToName:X,mergeValues:Y,resultToName:W}){return($,J,G,H)=>{let B=G===void 0?J:G instanceof B0.Name?(J instanceof B0.Name?Q($,J,G):X($,J,G),G):J instanceof B0.Name?(X($,G,J),J):Y(J,G);return H===B0.Name&&!(B instanceof B0.Name)?W($,B):B}}iB.mergeEvaluated={props:hB({mergeNames:(Q,X,Y)=>Q.if(B0._`${Y} !== true && ${X} !== undefined`,()=>{Q.if(B0._`${X} === true`,()=>Q.assign(Y,!0),()=>Q.assign(Y,B0._`${Y} || {}`).code(B0._`Object.assign(${Y}, ${X})`))}),mergeToName:(Q,X,Y)=>Q.if(B0._`${Y} !== true`,()=>{if(X===!0)Q.assign(Y,!0);else Q.assign(Y,B0._`${Y} || {}`),u5(Q,Y,X)}),mergeValues:(Q,X)=>Q===!0?!0:{...Q,...X},resultToName:pB}),items:hB({mergeNames:(Q,X,Y)=>Q.if(B0._`${Y} !== true && ${X} !== undefined`,()=>Q.assign(Y,B0._`${X} === true ? true : ${Y} > ${X} ? ${Y} : ${X}`)),mergeToName:(Q,X,Y)=>Q.if(B0._`${Y} !== true`,()=>Q.assign(Y,X===!0?!0:B0._`${Y} > ${X} ? ${Y} : ${X}`)),mergeValues:(Q,X)=>Q===!0?!0:Math.max(Q,X),resultToName:(Q,X)=>Q.var("items",X)})};function pB(Q,X){if(X===!0)return Q.var("props",!0);let Y=Q.var("props",B0._`{}`);if(X!==void 0)u5(Q,Y,X);return Y}iB.evaluatedPropsToName=pB;function u5(Q,X,Y){Object.keys(Y).forEach((W)=>Q.assign(B0._`${X}${(0,B0.getProperty)(W)}`,!0))}iB.setEvaluated=u5;var uB={};function cb(Q,X){return Q.scopeValue("func",{ref:X,code:uB[X.code]||(uB[X.code]=new xb._Code(X.code))})}iB.useFunc=cb;var g5;(function(Q){Q[Q.Num=0]="Num",Q[Q.Str=1]="Str"})(g5||(iB.Type=g5={}));function pb(Q,X,Y){if(Q instanceof B0.Name){let W=X===g5.Num;return Y?W?B0._`"[" + ${Q} + "]"`:B0._`"['" + ${Q} + "']"`:W?B0._`"/" + ${Q}`:B0._`"/" + ${Q}.replace(/~/g, "~0").replace(/\\//g, "~1")`}return Y?(0,B0.getProperty)(Q).toString():"/"+h5(Q)}iB.getErrorPath=pb;function dB(Q,X,Y=Q.opts.strictSchema){if(!Y)return;if(X=`strict mode: ${X}`,Y===!0)throw Error(X);Q.self.logger.warn(X)}iB.checkStrictMode=dB});var Y6=j((oB)=>{Object.defineProperty(oB,"__esModule",{value:!0});var u0=r(),BP={data:new u0.Name("data"),valCxt:new u0.Name("valCxt"),instancePath:new u0.Name("instancePath"),parentData:new u0.Name("parentData"),parentDataProperty:new u0.Name("parentDataProperty"),rootData:new u0.Name("rootData"),dynamicAnchors:new u0.Name("dynamicAnchors"),vErrors:new u0.Name("vErrors"),errors:new u0.Name("errors"),this:new u0.Name("this"),self:new u0.Name("self"),scope:new u0.Name("scope"),json:new u0.Name("json"),jsonPos:new u0.Name("jsonPos"),jsonLen:new u0.Name("jsonLen"),jsonPart:new u0.Name("jsonPart")};oB.default=BP});var $4=j((sB)=>{Object.defineProperty(sB,"__esModule",{value:!0});sB.extendErrors=sB.resetErrorsCount=sB.reportExtraError=sB.reportError=sB.keyword$DataError=sB.keywordError=void 0;var X0=r(),zX=W0(),d0=Y6();sB.keywordError={message:({keyword:Q})=>X0.str`must pass "${Q}" keyword validation`};sB.keyword$DataError={message:({keyword:Q,schemaType:X})=>X?X0.str`"${Q}" keyword must be ${X} ($data)`:X0.str`"${Q}" keyword is invalid ($data)`};function KP(Q,X=sB.keywordError,Y,W){let{it:$}=Q,{gen:J,compositeRule:G,allErrors:H}=$,B=aB(Q,X,Y);if(W!==null&&W!==void 0?W:G||H)rB(J,B);else tB($,X0._`[${B}]`)}sB.reportError=KP;function VP(Q,X=sB.keywordError,Y){let{it:W}=Q,{gen:$,compositeRule:J,allErrors:G}=W,H=aB(Q,X,Y);if(rB($,H),!(J||G))tB(W,d0.default.vErrors)}sB.reportExtraError=VP;function FP(Q,X){Q.assign(d0.default.errors,X),Q.if(X0._`${d0.default.vErrors} !== null`,()=>Q.if(X,()=>Q.assign(X0._`${d0.default.vErrors}.length`,X),()=>Q.assign(d0.default.vErrors,null)))}sB.resetErrorsCount=FP;function AP({gen:Q,keyword:X,schemaValue:Y,data:W,errsCount:$,it:J}){if($===void 0)throw Error("ajv implementation error");let G=Q.name("err");Q.forRange("i",$,d0.default.errors,(H)=>{if(Q.const(G,X0._`${d0.default.vErrors}[${H}]`),Q.if(X0._`${G}.instancePath === undefined`,()=>Q.assign(X0._`${G}.instancePath`,(0,X0.strConcat)(d0.default.instancePath,J.errorPath))),Q.assign(X0._`${G}.schemaPath`,X0.str`${J.errSchemaPath}/${X}`),J.opts.verbose)Q.assign(X0._`${G}.schema`,Y),Q.assign(X0._`${G}.data`,W)})}sB.extendErrors=AP;function rB(Q,X){let Y=Q.const("err",X);Q.if(X0._`${d0.default.vErrors} === null`,()=>Q.assign(d0.default.vErrors,X0._`[${Y}]`),X0._`${d0.default.vErrors}.push(${Y})`),Q.code(X0._`${d0.default.errors}++`)}function tB(Q,X){let{gen:Y,validateName:W,schemaEnv:$}=Q;if($.$async)Y.throw(X0._`new ${Q.ValidationError}(${X})`);else Y.assign(X0._`${W}.errors`,X),Y.return(!1)}var $9={keyword:new X0.Name("keyword"),schemaPath:new X0.Name("schemaPath"),params:new X0.Name("params"),propertyName:new X0.Name("propertyName"),message:new X0.Name("message"),schema:new X0.Name("schema"),parentSchema:new X0.Name("parentSchema")};function aB(Q,X,Y){let{createErrors:W}=Q.it;if(W===!1)return X0._`{}`;return qP(Q,X,Y)}function qP(Q,X,Y={}){let{gen:W,it:$}=Q,J=[DP($,Y),LP(Q,Y)];return OP(Q,X,J),W.object(...J)}function DP({errorPath:Q},{instancePath:X}){let Y=X?X0.str`${Q}${(0,zX.getErrorPath)(X,zX.Type.Str)}`:Q;return[d0.default.instancePath,(0,X0.strConcat)(d0.default.instancePath,Y)]}function LP({keyword:Q,it:{errSchemaPath:X}},{schemaPath:Y,parentSchema:W}){let $=W?X:X0.str`${X}/${Q}`;if(Y)$=X0.str`${$}${(0,zX.getErrorPath)(Y,zX.Type.Str)}`;return[$9.schemaPath,$]}function OP(Q,{params:X,message:Y},W){let{keyword:$,data:J,schemaValue:G,it:H}=Q,{opts:B,propertyName:z,topSchemaRef:K,schemaPath:V}=H;if(W.push([$9.keyword,$],[$9.params,typeof X=="function"?X(Q):X||X0._`{}`]),B.messages)W.push([$9.message,typeof Y=="function"?Y(Q):Y]);if(B.verbose)W.push([$9.schema,G],[$9.parentSchema,X0._`${K}${V}`],[d0.default.data,J]);if(z)W.push([$9.propertyName,z])}});var Wz=j((Xz)=>{Object.defineProperty(Xz,"__esModule",{value:!0});Xz.boolOrEmptySchema=Xz.topBoolOrEmptySchema=void 0;var wP=$4(),bP=r(),PP=Y6(),ZP={message:"boolean schema is false"};function RP(Q){let{gen:X,schema:Y,validateName:W}=Q;if(Y===!1)Qz(Q,!1);else if(typeof Y=="object"&&Y.$async===!0)X.return(PP.default.data);else X.assign(bP._`${W}.errors`,null),X.return(!0)}Xz.topBoolOrEmptySchema=RP;function EP(Q,X){let{gen:Y,schema:W}=Q;if(W===!1)Y.var(X,!1),Qz(Q);else Y.var(X,!0)}Xz.boolOrEmptySchema=EP;function Qz(Q,X){let{gen:Y,data:W}=Q,$={gen:Y,keyword:"false schema",data:W,schema:!1,schemaCode:!1,schemaValue:!1,params:{},it:Q};(0,wP.reportError)($,ZP,void 0,X)}});var m5=j(($z)=>{Object.defineProperty($z,"__esModule",{value:!0});$z.getRules=$z.isJSONType=void 0;var IP=["string","number","integer","boolean","null","object","array"],TP=new Set(IP);function CP(Q){return typeof Q=="string"&&TP.has(Q)}$z.isJSONType=CP;function kP(){let Q={number:{type:"number",rules:[]},string:{type:"string",rules:[]},array:{type:"array",rules:[]},object:{type:"object",rules:[]}};return{types:{...Q,integer:!0,boolean:!0,null:!0},rules:[{rules:[]},Q.number,Q.string,Q.array,Q.object],post:{rules:[]},all:{},keywords:{}}}$z.getRules=kP});var c5=j((Bz)=>{Object.defineProperty(Bz,"__esModule",{value:!0});Bz.shouldUseRule=Bz.shouldUseGroup=Bz.schemaHasRulesForType=void 0;function _P({schema:Q,self:X},Y){let W=X.RULES.types[Y];return W&&W!==!0&&Gz(Q,W)}Bz.schemaHasRulesForType=_P;function Gz(Q,X){return X.rules.some((Y)=>Hz(Q,Y))}Bz.shouldUseGroup=Gz;function Hz(Q,X){var Y;return Q[X.keyword]!==void 0||((Y=X.definition.implements)===null||Y===void 0?void 0:Y.some((W)=>Q[W]!==void 0))}Bz.shouldUseRule=Hz});var J4=j((Az)=>{Object.defineProperty(Az,"__esModule",{value:!0});Az.reportTypeError=Az.checkDataTypes=Az.checkDataType=Az.coerceAndCheckDataType=Az.getJSONTypes=Az.getSchemaTypes=Az.DataType=void 0;var fP=m5(),gP=c5(),hP=$4(),d=r(),Kz=W0(),n9;(function(Q){Q[Q.Correct=0]="Correct",Q[Q.Wrong=1]="Wrong"})(n9||(Az.DataType=n9={}));function uP(Q){let X=Vz(Q.type);if(X.includes("null")){if(Q.nullable===!1)throw Error("type: null contradicts nullable: false")}else{if(!X.length&&Q.nullable!==void 0)throw Error('"nullable" cannot be used without "type"');if(Q.nullable===!0)X.push("null")}return X}Az.getSchemaTypes=uP;function Vz(Q){let X=Array.isArray(Q)?Q:Q?[Q]:[];if(X.every(fP.isJSONType))return X;throw Error("type must be JSONType or JSONType[]: "+X.join(","))}Az.getJSONTypes=Vz;function lP(Q,X){let{gen:Y,data:W,opts:$}=Q,J=mP(X,$.coerceTypes),G=X.length>0&&!(J.length===0&&X.length===1&&(0,gP.schemaHasRulesForType)(Q,X[0]));if(G){let H=d5(X,W,$.strictNumbers,n9.Wrong);Y.if(H,()=>{if(J.length)cP(Q,X,J);else i5(Q)})}return G}Az.coerceAndCheckDataType=lP;var Fz=new Set(["string","number","integer","boolean","null"]);function mP(Q,X){return X?Q.filter((Y)=>Fz.has(Y)||X==="array"&&Y==="array"):[]}function cP(Q,X,Y){let{gen:W,data:$,opts:J}=Q,G=W.let("dataType",d._`typeof ${$}`),H=W.let("coerced",d._`undefined`);if(J.coerceTypes==="array")W.if(d._`${G} == 'object' && Array.isArray(${$}) && ${$}.length == 1`,()=>W.assign($,d._`${$}[0]`).assign(G,d._`typeof ${$}`).if(d5(X,$,J.strictNumbers),()=>W.assign(H,$)));W.if(d._`${H} !== undefined`);for(let z of Y)if(Fz.has(z)||z==="array"&&J.coerceTypes==="array")B(z);W.else(),i5(Q),W.endIf(),W.if(d._`${H} !== undefined`,()=>{W.assign($,H),pP(Q,H)});function B(z){switch(z){case"string":W.elseIf(d._`${G} == "number" || ${G} == "boolean"`).assign(H,d._`"" + ${$}`).elseIf(d._`${$} === null`).assign(H,d._`""`);return;case"number":W.elseIf(d._`${G} == "boolean" || ${$} === null
2
+ import{createRequire as cU}from"node:module";var hU=Object.create;var{getPrototypeOf:uU,defineProperty:iX,getOwnPropertyNames:lU}=Object;var mU=Object.prototype.hasOwnProperty;var w9=(Q,Y,X)=>{X=Q!=null?hU(uU(Q)):{};let W=Y||!Q||!Q.__esModule?iX(X,"default",{value:Q,enumerable:!0}):X;for(let $ of lU(Q))if(!mU.call(W,$))iX(W,$,{get:()=>Q[$],enumerable:!0});return W};var j=(Q,Y)=>()=>(Y||Q((Y={exports:{}}).exports,Y),Y.exports);var QQ=(Q,Y)=>{for(var X in Y)iX(Q,X,{get:Y[X],enumerable:!0,configurable:!0,set:(W)=>Y[X]=()=>W})};var K1=cU(import.meta.url);var G4=j((_B)=>{Object.defineProperty(_B,"__esModule",{value:!0});_B.regexpCode=_B.getEsmExportName=_B.getProperty=_B.safeStringify=_B.stringify=_B.strConcat=_B.addCodeArg=_B.str=_B._=_B.nil=_B._Code=_B.Name=_B.IDENTIFIER=_B._CodeOrName=void 0;class XY{}_B._CodeOrName=XY;_B.IDENTIFIER=/^[a-z$_][a-z$_0-9]*$/i;class n9 extends XY{constructor(Q){super();if(!_B.IDENTIFIER.test(Q))throw Error("CodeGen: name must be a valid identifier");this.str=Q}toString(){return this.str}emptyStr(){return!1}get names(){return{[this.str]:1}}}_B.Name=n9;class R1 extends XY{constructor(Q){super();this._items=typeof Q==="string"?[Q]:Q}toString(){return this.str}emptyStr(){if(this._items.length>1)return!1;let Q=this._items[0];return Q===""||Q==='""'}get str(){var Q;return(Q=this._str)!==null&&Q!==void 0?Q:this._str=this._items.reduce((Y,X)=>`${Y}${X}`,"")}get names(){var Q;return(Q=this._names)!==null&&Q!==void 0?Q:this._names=this._items.reduce((Y,X)=>{if(X instanceof n9)Y[X.str]=(Y[X.str]||0)+1;return Y},{})}}_B._Code=R1;_B.nil=new R1("");function CB(Q,...Y){let X=[Q[0]],W=0;while(W<Y.length)g5(X,Y[W]),X.push(Q[++W]);return new R1(X)}_B._=CB;var f5=new R1("+");function kB(Q,...Y){let X=[J4(Q[0])],W=0;while(W<Y.length)X.push(f5),g5(X,Y[W]),X.push(f5,J4(Q[++W]));return Rb(X),new R1(X)}_B.str=kB;function g5(Q,Y){if(Y instanceof R1)Q.push(...Y._items);else if(Y instanceof n9)Q.push(Y);else Q.push(Sb(Y))}_B.addCodeArg=g5;function Rb(Q){let Y=1;while(Y<Q.length-1){if(Q[Y]===f5){let X=Eb(Q[Y-1],Q[Y+1]);if(X!==void 0){Q.splice(Y-1,3,X);continue}Q[Y++]="+"}Y++}}function Eb(Q,Y){if(Y==='""')return Q;if(Q==='""')return Y;if(typeof Q=="string"){if(Y instanceof n9||Q[Q.length-1]!=='"')return;if(typeof Y!="string")return`${Q.slice(0,-1)}${Y}"`;if(Y[0]==='"')return Q.slice(0,-1)+Y.slice(1);return}if(typeof Y=="string"&&Y[0]==='"'&&!(Q instanceof n9))return`"${Q}${Y.slice(1)}`;return}function Ib(Q,Y){return Y.emptyStr()?Q:Q.emptyStr()?Y:kB`${Q}${Y}`}_B.strConcat=Ib;function Sb(Q){return typeof Q=="number"||typeof Q=="boolean"||Q===null?Q:J4(Array.isArray(Q)?Q.join(","):Q)}function Tb(Q){return new R1(J4(Q))}_B.stringify=Tb;function J4(Q){return JSON.stringify(Q).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")}_B.safeStringify=J4;function Cb(Q){return typeof Q=="string"&&_B.IDENTIFIER.test(Q)?new R1(`.${Q}`):CB`[${Q}]`}_B.getProperty=Cb;function kb(Q){if(typeof Q=="string"&&_B.IDENTIFIER.test(Q))return new R1(`${Q}`);throw Error(`CodeGen: invalid export name: ${Q}, use explicit $id name mapping`)}_B.getEsmExportName=kb;function _b(Q){return new R1(Q.toString())}_B.regexpCode=_b});var m5=j((fB)=>{Object.defineProperty(fB,"__esModule",{value:!0});fB.ValueScope=fB.ValueScopeName=fB.Scope=fB.varKinds=fB.UsedValueState=void 0;var Q1=G4();class xB extends Error{constructor(Q){super(`CodeGen: "code" for ${Q} not defined`);this.value=Q.value}}var $Y;(function(Q){Q[Q.Started=0]="Started",Q[Q.Completed=1]="Completed"})($Y||(fB.UsedValueState=$Y={}));fB.varKinds={const:new Q1.Name("const"),let:new Q1.Name("let"),var:new Q1.Name("var")};class u5{constructor({prefixes:Q,parent:Y}={}){this._names={},this._prefixes=Q,this._parent=Y}toName(Q){return Q instanceof Q1.Name?Q:this.name(Q)}name(Q){return new Q1.Name(this._newName(Q))}_newName(Q){let Y=this._names[Q]||this._nameGroup(Q);return`${Q}${Y.index++}`}_nameGroup(Q){var Y,X;if(((X=(Y=this._parent)===null||Y===void 0?void 0:Y._prefixes)===null||X===void 0?void 0:X.has(Q))||this._prefixes&&!this._prefixes.has(Q))throw Error(`CodeGen: prefix "${Q}" is not allowed in this scope`);return this._names[Q]={prefix:Q,index:0}}}fB.Scope=u5;class l5 extends Q1.Name{constructor(Q,Y){super(Y);this.prefix=Q}setValue(Q,{property:Y,itemIndex:X}){this.value=Q,this.scopePath=Q1._`.${new Q1.Name(Y)}[${X}]`}}fB.ValueScopeName=l5;var ib=Q1._`\n`;class yB extends u5{constructor(Q){super(Q);this._values={},this._scope=Q.scope,this.opts={...Q,_n:Q.lines?ib:Q1.nil}}get(){return this._scope}name(Q){return new l5(Q,this._newName(Q))}value(Q,Y){var X;if(Y.ref===void 0)throw Error("CodeGen: ref must be passed in value");let W=this.toName(Q),{prefix:$}=W,J=(X=Y.key)!==null&&X!==void 0?X:Y.ref,G=this._values[$];if(G){let z=G.get(J);if(z)return z}else G=this._values[$]=new Map;G.set(J,W);let H=this._scope[$]||(this._scope[$]=[]),B=H.length;return H[B]=Y.ref,W.setValue(Y,{property:$,itemIndex:B}),W}getValue(Q,Y){let X=this._values[Q];if(!X)return;return X.get(Y)}scopeRefs(Q,Y=this._values){return this._reduceValues(Y,(X)=>{if(X.scopePath===void 0)throw Error(`CodeGen: name "${X}" has no value`);return Q1._`${Q}${X.scopePath}`})}scopeCode(Q=this._values,Y,X){return this._reduceValues(Q,(W)=>{if(W.value===void 0)throw Error(`CodeGen: name "${W}" has no value`);return W.value.code},Y,X)}_reduceValues(Q,Y,X={},W){let $=Q1.nil;for(let J in Q){let G=Q[J];if(!G)continue;let H=X[J]=X[J]||new Map;G.forEach((B)=>{if(H.has(B))return;H.set(B,$Y.Started);let z=Y(B);if(z){let K=this.opts.es5?fB.varKinds.var:fB.varKinds.const;$=Q1._`${$}${K} ${B} = ${z};${this.opts._n}`}else if(z=W===null||W===void 0?void 0:W(B))$=Q1._`${$}${z}${this.opts._n}`;else throw new xB(B);H.set(B,$Y.Completed)})}return $}}fB.ValueScope=yB});var r=j((Y1)=>{Object.defineProperty(Y1,"__esModule",{value:!0});Y1.or=Y1.and=Y1.not=Y1.CodeGen=Y1.operators=Y1.varKinds=Y1.ValueScopeName=Y1.ValueScope=Y1.Scope=Y1.Name=Y1.regexpCode=Y1.stringify=Y1.getProperty=Y1.nil=Y1.strConcat=Y1.str=Y1._=void 0;var e=G4(),E1=m5(),b6=G4();Object.defineProperty(Y1,"_",{enumerable:!0,get:function(){return b6._}});Object.defineProperty(Y1,"str",{enumerable:!0,get:function(){return b6.str}});Object.defineProperty(Y1,"strConcat",{enumerable:!0,get:function(){return b6.strConcat}});Object.defineProperty(Y1,"nil",{enumerable:!0,get:function(){return b6.nil}});Object.defineProperty(Y1,"getProperty",{enumerable:!0,get:function(){return b6.getProperty}});Object.defineProperty(Y1,"stringify",{enumerable:!0,get:function(){return b6.stringify}});Object.defineProperty(Y1,"regexpCode",{enumerable:!0,get:function(){return b6.regexpCode}});Object.defineProperty(Y1,"Name",{enumerable:!0,get:function(){return b6.Name}});var KY=m5();Object.defineProperty(Y1,"Scope",{enumerable:!0,get:function(){return KY.Scope}});Object.defineProperty(Y1,"ValueScope",{enumerable:!0,get:function(){return KY.ValueScope}});Object.defineProperty(Y1,"ValueScopeName",{enumerable:!0,get:function(){return KY.ValueScopeName}});Object.defineProperty(Y1,"varKinds",{enumerable:!0,get:function(){return KY.varKinds}});Y1.operators={GT:new e._Code(">"),GTE:new e._Code(">="),LT:new e._Code("<"),LTE:new e._Code("<="),EQ:new e._Code("==="),NEQ:new e._Code("!=="),NOT:new e._Code("!"),OR:new e._Code("||"),AND:new e._Code("&&"),ADD:new e._Code("+")};class P6{optimizeNodes(){return this}optimizeNames(Q,Y){return this}}class hB extends P6{constructor(Q,Y,X){super();this.varKind=Q,this.name=Y,this.rhs=X}render({es5:Q,_n:Y}){let X=Q?E1.varKinds.var:this.varKind,W=this.rhs===void 0?"":` = ${this.rhs}`;return`${X} ${this.name}${W};`+Y}optimizeNames(Q,Y){if(!Q[this.name.str])return;if(this.rhs)this.rhs=r9(this.rhs,Q,Y);return this}get names(){return this.rhs instanceof e._CodeOrName?this.rhs.names:{}}}class d5 extends P6{constructor(Q,Y,X){super();this.lhs=Q,this.rhs=Y,this.sideEffects=X}render({_n:Q}){return`${this.lhs} = ${this.rhs};`+Q}optimizeNames(Q,Y){if(this.lhs instanceof e.Name&&!Q[this.lhs.str]&&!this.sideEffects)return;return this.rhs=r9(this.rhs,Q,Y),this}get names(){let Q=this.lhs instanceof e.Name?{}:{...this.lhs.names};return zY(Q,this.rhs)}}class uB extends d5{constructor(Q,Y,X,W){super(Q,X,W);this.op=Y}render({_n:Q}){return`${this.lhs} ${this.op}= ${this.rhs};`+Q}}class lB extends P6{constructor(Q){super();this.label=Q,this.names={}}render({_n:Q}){return`${this.label}:`+Q}}class mB extends P6{constructor(Q){super();this.label=Q,this.names={}}render({_n:Q}){return`break${this.label?` ${this.label}`:""};`+Q}}class cB extends P6{constructor(Q){super();this.error=Q}render({_n:Q}){return`throw ${this.error};`+Q}get names(){return this.error.names}}class pB extends P6{constructor(Q){super();this.code=Q}render({_n:Q}){return`${this.code};`+Q}optimizeNodes(){return`${this.code}`?this:void 0}optimizeNames(Q,Y){return this.code=r9(this.code,Q,Y),this}get names(){return this.code instanceof e._CodeOrName?this.code.names:{}}}class VY extends P6{constructor(Q=[]){super();this.nodes=Q}render(Q){return this.nodes.reduce((Y,X)=>Y+X.render(Q),"")}optimizeNodes(){let{nodes:Q}=this,Y=Q.length;while(Y--){let X=Q[Y].optimizeNodes();if(Array.isArray(X))Q.splice(Y,1,...X);else if(X)Q[Y]=X;else Q.splice(Y,1)}return Q.length>0?this:void 0}optimizeNames(Q,Y){let{nodes:X}=this,W=X.length;while(W--){let $=X[W];if($.optimizeNames(Q,Y))continue;tb(Q,$.names),X.splice(W,1)}return X.length>0?this:void 0}get names(){return this.nodes.reduce((Q,Y)=>G9(Q,Y.names),{})}}class Z6 extends VY{render(Q){return"{"+Q._n+super.render(Q)+"}"+Q._n}}class dB extends VY{}class H4 extends Z6{}H4.kind="else";class Y6 extends Z6{constructor(Q,Y){super(Y);this.condition=Q}render(Q){let Y=`if(${this.condition})`+super.render(Q);if(this.else)Y+="else "+this.else.render(Q);return Y}optimizeNodes(){super.optimizeNodes();let Q=this.condition;if(Q===!0)return this.nodes;let Y=this.else;if(Y){let X=Y.optimizeNodes();Y=this.else=Array.isArray(X)?new H4(X):X}if(Y){if(Q===!1)return Y instanceof Y6?Y:Y.nodes;if(this.nodes.length)return this;return new Y6(tB(Q),Y instanceof Y6?[Y]:Y.nodes)}if(Q===!1||!this.nodes.length)return;return this}optimizeNames(Q,Y){var X;if(this.else=(X=this.else)===null||X===void 0?void 0:X.optimizeNames(Q,Y),!(super.optimizeNames(Q,Y)||this.else))return;return this.condition=r9(this.condition,Q,Y),this}get names(){let Q=super.names;if(zY(Q,this.condition),this.else)G9(Q,this.else.names);return Q}}Y6.kind="if";class o9 extends Z6{}o9.kind="for";class iB extends o9{constructor(Q){super();this.iteration=Q}render(Q){return`for(${this.iteration})`+super.render(Q)}optimizeNames(Q,Y){if(!super.optimizeNames(Q,Y))return;return this.iteration=r9(this.iteration,Q,Y),this}get names(){return G9(super.names,this.iteration.names)}}class nB extends o9{constructor(Q,Y,X,W){super();this.varKind=Q,this.name=Y,this.from=X,this.to=W}render(Q){let Y=Q.es5?E1.varKinds.var:this.varKind,{name:X,from:W,to:$}=this;return`for(${Y} ${X}=${W}; ${X}<${$}; ${X}++)`+super.render(Q)}get names(){let Q=zY(super.names,this.from);return zY(Q,this.to)}}class c5 extends o9{constructor(Q,Y,X,W){super();this.loop=Q,this.varKind=Y,this.name=X,this.iterable=W}render(Q){return`for(${this.varKind} ${this.name} ${this.loop} ${this.iterable})`+super.render(Q)}optimizeNames(Q,Y){if(!super.optimizeNames(Q,Y))return;return this.iterable=r9(this.iterable,Q,Y),this}get names(){return G9(super.names,this.iterable.names)}}class JY extends Z6{constructor(Q,Y,X){super();this.name=Q,this.args=Y,this.async=X}render(Q){return`${this.async?"async ":""}function ${this.name}(${this.args})`+super.render(Q)}}JY.kind="func";class GY extends VY{render(Q){return"return "+super.render(Q)}}GY.kind="return";class oB extends Z6{render(Q){let Y="try"+super.render(Q);if(this.catch)Y+=this.catch.render(Q);if(this.finally)Y+=this.finally.render(Q);return Y}optimizeNodes(){var Q,Y;return super.optimizeNodes(),(Q=this.catch)===null||Q===void 0||Q.optimizeNodes(),(Y=this.finally)===null||Y===void 0||Y.optimizeNodes(),this}optimizeNames(Q,Y){var X,W;return super.optimizeNames(Q,Y),(X=this.catch)===null||X===void 0||X.optimizeNames(Q,Y),(W=this.finally)===null||W===void 0||W.optimizeNames(Q,Y),this}get names(){let Q=super.names;if(this.catch)G9(Q,this.catch.names);if(this.finally)G9(Q,this.finally.names);return Q}}class HY extends Z6{constructor(Q){super();this.error=Q}render(Q){return`catch(${this.error})`+super.render(Q)}}HY.kind="catch";class BY extends Z6{render(Q){return"finally"+super.render(Q)}}BY.kind="finally";class rB{constructor(Q,Y={}){this._values={},this._blockStarts=[],this._constants={},this.opts={...Y,_n:Y.lines?`
3
+ `:""},this._extScope=Q,this._scope=new E1.Scope({parent:Q}),this._nodes=[new dB]}toString(){return this._root.render(this.opts)}name(Q){return this._scope.name(Q)}scopeName(Q){return this._extScope.name(Q)}scopeValue(Q,Y){let X=this._extScope.value(Q,Y);return(this._values[X.prefix]||(this._values[X.prefix]=new Set)).add(X),X}getScopeValue(Q,Y){return this._extScope.getValue(Q,Y)}scopeRefs(Q){return this._extScope.scopeRefs(Q,this._values)}scopeCode(){return this._extScope.scopeCode(this._values)}_def(Q,Y,X,W){let $=this._scope.toName(Y);if(X!==void 0&&W)this._constants[$.str]=X;return this._leafNode(new hB(Q,$,X)),$}const(Q,Y,X){return this._def(E1.varKinds.const,Q,Y,X)}let(Q,Y,X){return this._def(E1.varKinds.let,Q,Y,X)}var(Q,Y,X){return this._def(E1.varKinds.var,Q,Y,X)}assign(Q,Y,X){return this._leafNode(new d5(Q,Y,X))}add(Q,Y){return this._leafNode(new uB(Q,Y1.operators.ADD,Y))}code(Q){if(typeof Q=="function")Q();else if(Q!==e.nil)this._leafNode(new pB(Q));return this}object(...Q){let Y=["{"];for(let[X,W]of Q){if(Y.length>1)Y.push(",");if(Y.push(X),X!==W||this.opts.es5)Y.push(":"),(0,e.addCodeArg)(Y,W)}return Y.push("}"),new e._Code(Y)}if(Q,Y,X){if(this._blockNode(new Y6(Q)),Y&&X)this.code(Y).else().code(X).endIf();else if(Y)this.code(Y).endIf();else if(X)throw Error('CodeGen: "else" body without "then" body');return this}elseIf(Q){return this._elseNode(new Y6(Q))}else(){return this._elseNode(new H4)}endIf(){return this._endBlockNode(Y6,H4)}_for(Q,Y){if(this._blockNode(Q),Y)this.code(Y).endFor();return this}for(Q,Y){return this._for(new iB(Q),Y)}forRange(Q,Y,X,W,$=this.opts.es5?E1.varKinds.var:E1.varKinds.let){let J=this._scope.toName(Q);return this._for(new nB($,J,Y,X),()=>W(J))}forOf(Q,Y,X,W=E1.varKinds.const){let $=this._scope.toName(Q);if(this.opts.es5){let J=Y instanceof e.Name?Y:this.var("_arr",Y);return this.forRange("_i",0,e._`${J}.length`,(G)=>{this.var($,e._`${J}[${G}]`),X($)})}return this._for(new c5("of",W,$,Y),()=>X($))}forIn(Q,Y,X,W=this.opts.es5?E1.varKinds.var:E1.varKinds.const){if(this.opts.ownProperties)return this.forOf(Q,e._`Object.keys(${Y})`,X);let $=this._scope.toName(Q);return this._for(new c5("in",W,$,Y),()=>X($))}endFor(){return this._endBlockNode(o9)}label(Q){return this._leafNode(new lB(Q))}break(Q){return this._leafNode(new mB(Q))}return(Q){let Y=new GY;if(this._blockNode(Y),this.code(Q),Y.nodes.length!==1)throw Error('CodeGen: "return" should have one node');return this._endBlockNode(GY)}try(Q,Y,X){if(!Y&&!X)throw Error('CodeGen: "try" without "catch" and "finally"');let W=new oB;if(this._blockNode(W),this.code(Q),Y){let $=this.name("e");this._currNode=W.catch=new HY($),Y($)}if(X)this._currNode=W.finally=new BY,this.code(X);return this._endBlockNode(HY,BY)}throw(Q){return this._leafNode(new cB(Q))}block(Q,Y){if(this._blockStarts.push(this._nodes.length),Q)this.code(Q).endBlock(Y);return this}endBlock(Q){let Y=this._blockStarts.pop();if(Y===void 0)throw Error("CodeGen: not in self-balancing block");let X=this._nodes.length-Y;if(X<0||Q!==void 0&&X!==Q)throw Error(`CodeGen: wrong number of nodes: ${X} vs ${Q} expected`);return this._nodes.length=Y,this}func(Q,Y=e.nil,X,W){if(this._blockNode(new JY(Q,Y,X)),W)this.code(W).endFunc();return this}endFunc(){return this._endBlockNode(JY)}optimize(Q=1){while(Q-- >0)this._root.optimizeNodes(),this._root.optimizeNames(this._root.names,this._constants)}_leafNode(Q){return this._currNode.nodes.push(Q),this}_blockNode(Q){this._currNode.nodes.push(Q),this._nodes.push(Q)}_endBlockNode(Q,Y){let X=this._currNode;if(X instanceof Q||Y&&X instanceof Y)return this._nodes.pop(),this;throw Error(`CodeGen: not in block "${Y?`${Q.kind}/${Y.kind}`:Q.kind}"`)}_elseNode(Q){let Y=this._currNode;if(!(Y instanceof Y6))throw Error('CodeGen: "else" without "if"');return this._currNode=Y.else=Q,this}get _root(){return this._nodes[0]}get _currNode(){let Q=this._nodes;return Q[Q.length-1]}set _currNode(Q){let Y=this._nodes;Y[Y.length-1]=Q}}Y1.CodeGen=rB;function G9(Q,Y){for(let X in Y)Q[X]=(Q[X]||0)+(Y[X]||0);return Q}function zY(Q,Y){return Y instanceof e._CodeOrName?G9(Q,Y.names):Q}function r9(Q,Y,X){if(Q instanceof e.Name)return W(Q);if(!$(Q))return Q;return new e._Code(Q._items.reduce((J,G)=>{if(G instanceof e.Name)G=W(G);if(G instanceof e._Code)J.push(...G._items);else J.push(G);return J},[]));function W(J){let G=X[J.str];if(G===void 0||Y[J.str]!==1)return J;return delete Y[J.str],G}function $(J){return J instanceof e._Code&&J._items.some((G)=>G instanceof e.Name&&Y[G.str]===1&&X[G.str]!==void 0)}}function tb(Q,Y){for(let X in Y)Q[X]=(Q[X]||0)-(Y[X]||0)}function tB(Q){return typeof Q=="boolean"||typeof Q=="number"||Q===null?!Q:e._`!${p5(Q)}`}Y1.not=tB;var ab=aB(Y1.operators.AND);function sb(...Q){return Q.reduce(ab)}Y1.and=sb;var eb=aB(Y1.operators.OR);function QP(...Q){return Q.reduce(eb)}Y1.or=QP;function aB(Q){return(Y,X)=>Y===e.nil?X:X===e.nil?Y:e._`${p5(Y)} ${Q} ${p5(X)}`}function p5(Q){return Q instanceof e.Name?Q:e._`(${Q})`}});var W0=j((Gz)=>{Object.defineProperty(Gz,"__esModule",{value:!0});Gz.checkStrictMode=Gz.getErrorPath=Gz.Type=Gz.useFunc=Gz.setEvaluated=Gz.evaluatedPropsToName=Gz.mergeEvaluated=Gz.eachItem=Gz.unescapeJsonPointer=Gz.escapeJsonPointer=Gz.escapeFragment=Gz.unescapeFragment=Gz.schemaRefOrVal=Gz.schemaHasRulesButRef=Gz.schemaHasRules=Gz.checkUnknownRules=Gz.alwaysValidSchema=Gz.toHash=void 0;var B0=r(),$P=G4();function JP(Q){let Y={};for(let X of Q)Y[X]=!0;return Y}Gz.toHash=JP;function GP(Q,Y){if(typeof Y=="boolean")return Y;if(Object.keys(Y).length===0)return!0;return Yz(Q,Y),!Xz(Y,Q.self.RULES.all)}Gz.alwaysValidSchema=GP;function Yz(Q,Y=Q.schema){let{opts:X,self:W}=Q;if(!X.strictSchema)return;if(typeof Y==="boolean")return;let $=W.RULES.keywords;for(let J in Y)if(!$[J])Jz(Q,`unknown keyword: "${J}"`)}Gz.checkUnknownRules=Yz;function Xz(Q,Y){if(typeof Q=="boolean")return!Q;for(let X in Q)if(Y[X])return!0;return!1}Gz.schemaHasRules=Xz;function HP(Q,Y){if(typeof Q=="boolean")return!Q;for(let X in Q)if(X!=="$ref"&&Y.all[X])return!0;return!1}Gz.schemaHasRulesButRef=HP;function BP({topSchemaRef:Q,schemaPath:Y},X,W,$){if(!$){if(typeof X=="number"||typeof X=="boolean")return X;if(typeof X=="string")return B0._`${X}`}return B0._`${Q}${Y}${(0,B0.getProperty)(W)}`}Gz.schemaRefOrVal=BP;function zP(Q){return Wz(decodeURIComponent(Q))}Gz.unescapeFragment=zP;function KP(Q){return encodeURIComponent(n5(Q))}Gz.escapeFragment=KP;function n5(Q){if(typeof Q=="number")return`${Q}`;return Q.replace(/~/g,"~0").replace(/\//g,"~1")}Gz.escapeJsonPointer=n5;function Wz(Q){return Q.replace(/~1/g,"/").replace(/~0/g,"~")}Gz.unescapeJsonPointer=Wz;function VP(Q,Y){if(Array.isArray(Q))for(let X of Q)Y(X);else Y(Q)}Gz.eachItem=VP;function eB({mergeNames:Q,mergeToName:Y,mergeValues:X,resultToName:W}){return($,J,G,H)=>{let B=G===void 0?J:G instanceof B0.Name?(J instanceof B0.Name?Q($,J,G):Y($,J,G),G):J instanceof B0.Name?(Y($,G,J),J):X(J,G);return H===B0.Name&&!(B instanceof B0.Name)?W($,B):B}}Gz.mergeEvaluated={props:eB({mergeNames:(Q,Y,X)=>Q.if(B0._`${X} !== true && ${Y} !== undefined`,()=>{Q.if(B0._`${Y} === true`,()=>Q.assign(X,!0),()=>Q.assign(X,B0._`${X} || {}`).code(B0._`Object.assign(${X}, ${Y})`))}),mergeToName:(Q,Y,X)=>Q.if(B0._`${X} !== true`,()=>{if(Y===!0)Q.assign(X,!0);else Q.assign(X,B0._`${X} || {}`),o5(Q,X,Y)}),mergeValues:(Q,Y)=>Q===!0?!0:{...Q,...Y},resultToName:$z}),items:eB({mergeNames:(Q,Y,X)=>Q.if(B0._`${X} !== true && ${Y} !== undefined`,()=>Q.assign(X,B0._`${Y} === true ? true : ${X} > ${Y} ? ${X} : ${Y}`)),mergeToName:(Q,Y,X)=>Q.if(B0._`${X} !== true`,()=>Q.assign(X,Y===!0?!0:B0._`${X} > ${Y} ? ${X} : ${Y}`)),mergeValues:(Q,Y)=>Q===!0?!0:Math.max(Q,Y),resultToName:(Q,Y)=>Q.var("items",Y)})};function $z(Q,Y){if(Y===!0)return Q.var("props",!0);let X=Q.var("props",B0._`{}`);if(Y!==void 0)o5(Q,X,Y);return X}Gz.evaluatedPropsToName=$z;function o5(Q,Y,X){Object.keys(X).forEach((W)=>Q.assign(B0._`${Y}${(0,B0.getProperty)(W)}`,!0))}Gz.setEvaluated=o5;var Qz={};function FP(Q,Y){return Q.scopeValue("func",{ref:Y,code:Qz[Y.code]||(Qz[Y.code]=new $P._Code(Y.code))})}Gz.useFunc=FP;var i5;(function(Q){Q[Q.Num=0]="Num",Q[Q.Str=1]="Str"})(i5||(Gz.Type=i5={}));function AP(Q,Y,X){if(Q instanceof B0.Name){let W=Y===i5.Num;return X?W?B0._`"[" + ${Q} + "]"`:B0._`"['" + ${Q} + "']"`:W?B0._`"/" + ${Q}`:B0._`"/" + ${Q}.replace(/~/g, "~0").replace(/\\//g, "~1")`}return X?(0,B0.getProperty)(Q).toString():"/"+n5(Q)}Gz.getErrorPath=AP;function Jz(Q,Y,X=Q.opts.strictSchema){if(!X)return;if(Y=`strict mode: ${Y}`,X===!0)throw Error(Y);Q.self.logger.warn(Y)}Gz.checkStrictMode=Jz});var X6=j((Bz)=>{Object.defineProperty(Bz,"__esModule",{value:!0});var u0=r(),CP={data:new u0.Name("data"),valCxt:new u0.Name("valCxt"),instancePath:new u0.Name("instancePath"),parentData:new u0.Name("parentData"),parentDataProperty:new u0.Name("parentDataProperty"),rootData:new u0.Name("rootData"),dynamicAnchors:new u0.Name("dynamicAnchors"),vErrors:new u0.Name("vErrors"),errors:new u0.Name("errors"),this:new u0.Name("this"),self:new u0.Name("self"),scope:new u0.Name("scope"),json:new u0.Name("json"),jsonPos:new u0.Name("jsonPos"),jsonLen:new u0.Name("jsonLen"),jsonPart:new u0.Name("jsonPart")};Bz.default=CP});var B4=j((Fz)=>{Object.defineProperty(Fz,"__esModule",{value:!0});Fz.extendErrors=Fz.resetErrorsCount=Fz.reportExtraError=Fz.reportError=Fz.keyword$DataError=Fz.keywordError=void 0;var Y0=r(),AY=W0(),d0=X6();Fz.keywordError={message:({keyword:Q})=>Y0.str`must pass "${Q}" keyword validation`};Fz.keyword$DataError={message:({keyword:Q,schemaType:Y})=>Y?Y0.str`"${Q}" keyword must be ${Y} ($data)`:Y0.str`"${Q}" keyword is invalid ($data)`};function _P(Q,Y=Fz.keywordError,X,W){let{it:$}=Q,{gen:J,compositeRule:G,allErrors:H}=$,B=Vz(Q,Y,X);if(W!==null&&W!==void 0?W:G||H)zz(J,B);else Kz($,Y0._`[${B}]`)}Fz.reportError=_P;function vP(Q,Y=Fz.keywordError,X){let{it:W}=Q,{gen:$,compositeRule:J,allErrors:G}=W,H=Vz(Q,Y,X);if(zz($,H),!(J||G))Kz(W,d0.default.vErrors)}Fz.reportExtraError=vP;function xP(Q,Y){Q.assign(d0.default.errors,Y),Q.if(Y0._`${d0.default.vErrors} !== null`,()=>Q.if(Y,()=>Q.assign(Y0._`${d0.default.vErrors}.length`,Y),()=>Q.assign(d0.default.vErrors,null)))}Fz.resetErrorsCount=xP;function yP({gen:Q,keyword:Y,schemaValue:X,data:W,errsCount:$,it:J}){if($===void 0)throw Error("ajv implementation error");let G=Q.name("err");Q.forRange("i",$,d0.default.errors,(H)=>{if(Q.const(G,Y0._`${d0.default.vErrors}[${H}]`),Q.if(Y0._`${G}.instancePath === undefined`,()=>Q.assign(Y0._`${G}.instancePath`,(0,Y0.strConcat)(d0.default.instancePath,J.errorPath))),Q.assign(Y0._`${G}.schemaPath`,Y0.str`${J.errSchemaPath}/${Y}`),J.opts.verbose)Q.assign(Y0._`${G}.schema`,X),Q.assign(Y0._`${G}.data`,W)})}Fz.extendErrors=yP;function zz(Q,Y){let X=Q.const("err",Y);Q.if(Y0._`${d0.default.vErrors} === null`,()=>Q.assign(d0.default.vErrors,Y0._`[${X}]`),Y0._`${d0.default.vErrors}.push(${X})`),Q.code(Y0._`${d0.default.errors}++`)}function Kz(Q,Y){let{gen:X,validateName:W,schemaEnv:$}=Q;if($.$async)X.throw(Y0._`new ${Q.ValidationError}(${Y})`);else X.assign(Y0._`${W}.errors`,Y),X.return(!1)}var H9={keyword:new Y0.Name("keyword"),schemaPath:new Y0.Name("schemaPath"),params:new Y0.Name("params"),propertyName:new Y0.Name("propertyName"),message:new Y0.Name("message"),schema:new Y0.Name("schema"),parentSchema:new Y0.Name("parentSchema")};function Vz(Q,Y,X){let{createErrors:W}=Q.it;if(W===!1)return Y0._`{}`;return fP(Q,Y,X)}function fP(Q,Y,X={}){let{gen:W,it:$}=Q,J=[gP($,X),hP(Q,X)];return uP(Q,Y,J),W.object(...J)}function gP({errorPath:Q},{instancePath:Y}){let X=Y?Y0.str`${Q}${(0,AY.getErrorPath)(Y,AY.Type.Str)}`:Q;return[d0.default.instancePath,(0,Y0.strConcat)(d0.default.instancePath,X)]}function hP({keyword:Q,it:{errSchemaPath:Y}},{schemaPath:X,parentSchema:W}){let $=W?Y:Y0.str`${Y}/${Q}`;if(X)$=Y0.str`${$}${(0,AY.getErrorPath)(X,AY.Type.Str)}`;return[H9.schemaPath,$]}function uP(Q,{params:Y,message:X},W){let{keyword:$,data:J,schemaValue:G,it:H}=Q,{opts:B,propertyName:z,topSchemaRef:K,schemaPath:V}=H;if(W.push([H9.keyword,$],[H9.params,typeof Y=="function"?Y(Q):Y||Y0._`{}`]),B.messages)W.push([H9.message,typeof X=="function"?X(Q):X]);if(B.verbose)W.push([H9.schema,G],[H9.parentSchema,Y0._`${K}${V}`],[d0.default.data,J]);if(z)W.push([H9.propertyName,z])}});var Lz=j((Dz)=>{Object.defineProperty(Dz,"__esModule",{value:!0});Dz.boolOrEmptySchema=Dz.topBoolOrEmptySchema=void 0;var dP=B4(),iP=r(),nP=X6(),oP={message:"boolean schema is false"};function rP(Q){let{gen:Y,schema:X,validateName:W}=Q;if(X===!1)qz(Q,!1);else if(typeof X=="object"&&X.$async===!0)Y.return(nP.default.data);else Y.assign(iP._`${W}.errors`,null),Y.return(!0)}Dz.topBoolOrEmptySchema=rP;function tP(Q,Y){let{gen:X,schema:W}=Q;if(W===!1)X.var(Y,!1),qz(Q);else X.var(Y,!0)}Dz.boolOrEmptySchema=tP;function qz(Q,Y){let{gen:X,data:W}=Q,$={gen:X,keyword:"false schema",data:W,schema:!1,schemaCode:!1,schemaValue:!1,params:{},it:Q};(0,dP.reportError)($,oP,void 0,Y)}});var t5=j((Uz)=>{Object.defineProperty(Uz,"__esModule",{value:!0});Uz.getRules=Uz.isJSONType=void 0;var sP=["string","number","integer","boolean","null","object","array"],eP=new Set(sP);function QZ(Q){return typeof Q=="string"&&eP.has(Q)}Uz.isJSONType=QZ;function YZ(){let Q={number:{type:"number",rules:[]},string:{type:"string",rules:[]},array:{type:"array",rules:[]},object:{type:"object",rules:[]}};return{types:{...Q,integer:!0,boolean:!0,null:!0},rules:[{rules:[]},Q.number,Q.string,Q.array,Q.object],post:{rules:[]},all:{},keywords:{}}}Uz.getRules=YZ});var a5=j((Mz)=>{Object.defineProperty(Mz,"__esModule",{value:!0});Mz.shouldUseRule=Mz.shouldUseGroup=Mz.schemaHasRulesForType=void 0;function WZ({schema:Q,self:Y},X){let W=Y.RULES.types[X];return W&&W!==!0&&wz(Q,W)}Mz.schemaHasRulesForType=WZ;function wz(Q,Y){return Y.rules.some((X)=>Nz(Q,X))}Mz.shouldUseGroup=wz;function Nz(Q,Y){var X;return Q[Y.keyword]!==void 0||((X=Y.definition.implements)===null||X===void 0?void 0:X.some((W)=>Q[W]!==void 0))}Mz.shouldUseRule=Nz});var z4=j((Ez)=>{Object.defineProperty(Ez,"__esModule",{value:!0});Ez.reportTypeError=Ez.checkDataTypes=Ez.checkDataType=Ez.coerceAndCheckDataType=Ez.getJSONTypes=Ez.getSchemaTypes=Ez.DataType=void 0;var GZ=t5(),HZ=a5(),BZ=B4(),d=r(),Pz=W0(),t9;(function(Q){Q[Q.Correct=0]="Correct",Q[Q.Wrong=1]="Wrong"})(t9||(Ez.DataType=t9={}));function zZ(Q){let Y=Zz(Q.type);if(Y.includes("null")){if(Q.nullable===!1)throw Error("type: null contradicts nullable: false")}else{if(!Y.length&&Q.nullable!==void 0)throw Error('"nullable" cannot be used without "type"');if(Q.nullable===!0)Y.push("null")}return Y}Ez.getSchemaTypes=zZ;function Zz(Q){let Y=Array.isArray(Q)?Q:Q?[Q]:[];if(Y.every(GZ.isJSONType))return Y;throw Error("type must be JSONType or JSONType[]: "+Y.join(","))}Ez.getJSONTypes=Zz;function KZ(Q,Y){let{gen:X,data:W,opts:$}=Q,J=VZ(Y,$.coerceTypes),G=Y.length>0&&!(J.length===0&&Y.length===1&&(0,HZ.schemaHasRulesForType)(Q,Y[0]));if(G){let H=e5(Y,W,$.strictNumbers,t9.Wrong);X.if(H,()=>{if(J.length)FZ(Q,Y,J);else Q$(Q)})}return G}Ez.coerceAndCheckDataType=KZ;var Rz=new Set(["string","number","integer","boolean","null"]);function VZ(Q,Y){return Y?Q.filter((X)=>Rz.has(X)||Y==="array"&&X==="array"):[]}function FZ(Q,Y,X){let{gen:W,data:$,opts:J}=Q,G=W.let("dataType",d._`typeof ${$}`),H=W.let("coerced",d._`undefined`);if(J.coerceTypes==="array")W.if(d._`${G} == 'object' && Array.isArray(${$}) && ${$}.length == 1`,()=>W.assign($,d._`${$}[0]`).assign(G,d._`typeof ${$}`).if(e5(Y,$,J.strictNumbers),()=>W.assign(H,$)));W.if(d._`${H} !== undefined`);for(let z of X)if(Rz.has(z)||z==="array"&&J.coerceTypes==="array")B(z);W.else(),Q$(Q),W.endIf(),W.if(d._`${H} !== undefined`,()=>{W.assign($,H),AZ(Q,H)});function B(z){switch(z){case"string":W.elseIf(d._`${G} == "number" || ${G} == "boolean"`).assign(H,d._`"" + ${$}`).elseIf(d._`${$} === null`).assign(H,d._`""`);return;case"number":W.elseIf(d._`${G} == "boolean" || ${$} === null
4
4
  || (${G} == "string" && ${$} && ${$} == +${$})`).assign(H,d._`+${$}`);return;case"integer":W.elseIf(d._`${G} === "boolean" || ${$} === null
5
5
  || (${G} === "string" && ${$} && ${$} == +${$} && !(${$} % 1))`).assign(H,d._`+${$}`);return;case"boolean":W.elseIf(d._`${$} === "false" || ${$} === 0 || ${$} === null`).assign(H,!1).elseIf(d._`${$} === "true" || ${$} === 1`).assign(H,!0);return;case"null":W.elseIf(d._`${$} === "" || ${$} === 0 || ${$} === false`),W.assign(H,null);return;case"array":W.elseIf(d._`${G} === "string" || ${G} === "number"
6
- || ${G} === "boolean" || ${$} === null`).assign(H,d._`[${$}]`)}}}function pP({gen:Q,parentData:X,parentDataProperty:Y},W){Q.if(d._`${X} !== undefined`,()=>Q.assign(d._`${X}[${Y}]`,W))}function p5(Q,X,Y,W=n9.Correct){let $=W===n9.Correct?d.operators.EQ:d.operators.NEQ,J;switch(Q){case"null":return d._`${X} ${$} null`;case"array":J=d._`Array.isArray(${X})`;break;case"object":J=d._`${X} && typeof ${X} == "object" && !Array.isArray(${X})`;break;case"integer":J=G(d._`!(${X} % 1) && !isNaN(${X})`);break;case"number":J=G();break;default:return d._`typeof ${X} ${$} ${Q}`}return W===n9.Correct?J:(0,d.not)(J);function G(H=d.nil){return(0,d.and)(d._`typeof ${X} == "number"`,H,Y?d._`isFinite(${X})`:d.nil)}}Az.checkDataType=p5;function d5(Q,X,Y,W){if(Q.length===1)return p5(Q[0],X,Y,W);let $,J=(0,Kz.toHash)(Q);if(J.array&&J.object){let G=d._`typeof ${X} != "object"`;$=J.null?G:d._`!${X} || ${G}`,delete J.null,delete J.array,delete J.object}else $=d.nil;if(J.number)delete J.integer;for(let G in J)$=(0,d.and)($,p5(G,X,Y,W));return $}Az.checkDataTypes=d5;var dP={message:({schema:Q})=>`must be ${Q}`,params:({schema:Q,schemaValue:X})=>typeof Q=="string"?d._`{type: ${Q}}`:d._`{type: ${X}}`};function i5(Q){let X=iP(Q);(0,hP.reportError)(X,dP)}Az.reportTypeError=i5;function iP(Q){let{gen:X,data:Y,schema:W}=Q,$=(0,Kz.schemaRefOrVal)(Q,W,"type");return{gen:X,keyword:"type",data:Y,schema:W.type,schemaCode:$,schemaValue:$,parentSchema:W,params:{},it:Q}}});var Uz=j((Lz)=>{Object.defineProperty(Lz,"__esModule",{value:!0});Lz.assignDefaults=void 0;var o9=r(),eP=W0();function QZ(Q,X){let{properties:Y,items:W}=Q.schema;if(X==="object"&&Y)for(let $ in Y)Dz(Q,$,Y[$].default);else if(X==="array"&&Array.isArray(W))W.forEach(($,J)=>Dz(Q,J,$.default))}Lz.assignDefaults=QZ;function Dz(Q,X,Y){let{gen:W,compositeRule:$,data:J,opts:G}=Q;if(Y===void 0)return;let H=o9._`${J}${(0,o9.getProperty)(X)}`;if($){(0,eP.checkStrictMode)(Q,`default is ignored for: ${H}`);return}let B=o9._`${H} === undefined`;if(G.useDefaults==="empty")B=o9._`${B} || ${H} === null || ${H} === ""`;W.if(B,o9._`${H} = ${(0,o9.stringify)(Y)}`)}});var A1=j((Nz)=>{Object.defineProperty(Nz,"__esModule",{value:!0});Nz.validateUnion=Nz.validateArray=Nz.usePattern=Nz.callValidateCode=Nz.schemaProperties=Nz.allSchemaProperties=Nz.noPropertyInData=Nz.propertyInData=Nz.isOwnProperty=Nz.hasPropFunc=Nz.reportMissingProp=Nz.checkMissingProp=Nz.checkReportMissingProp=void 0;var D0=r(),n5=W0(),Z6=Y6(),XZ=W0();function YZ(Q,X){let{gen:Y,data:W,it:$}=Q;Y.if(r5(Y,W,X,$.opts.ownProperties),()=>{Q.setParams({missingProperty:D0._`${X}`},!0),Q.error()})}Nz.checkReportMissingProp=YZ;function WZ({gen:Q,data:X,it:{opts:Y}},W,$){return(0,D0.or)(...W.map((J)=>(0,D0.and)(r5(Q,X,J,Y.ownProperties),D0._`${$} = ${J}`)))}Nz.checkMissingProp=WZ;function $Z(Q,X){Q.setParams({missingProperty:X},!0),Q.error()}Nz.reportMissingProp=$Z;function jz(Q){return Q.scopeValue("func",{ref:Object.prototype.hasOwnProperty,code:D0._`Object.prototype.hasOwnProperty`})}Nz.hasPropFunc=jz;function o5(Q,X,Y){return D0._`${jz(Q)}.call(${X}, ${Y})`}Nz.isOwnProperty=o5;function JZ(Q,X,Y,W){let $=D0._`${X}${(0,D0.getProperty)(Y)} !== undefined`;return W?D0._`${$} && ${o5(Q,X,Y)}`:$}Nz.propertyInData=JZ;function r5(Q,X,Y,W){let $=D0._`${X}${(0,D0.getProperty)(Y)} === undefined`;return W?(0,D0.or)($,(0,D0.not)(o5(Q,X,Y))):$}Nz.noPropertyInData=r5;function Mz(Q){return Q?Object.keys(Q).filter((X)=>X!=="__proto__"):[]}Nz.allSchemaProperties=Mz;function GZ(Q,X){return Mz(X).filter((Y)=>!(0,n5.alwaysValidSchema)(Q,X[Y]))}Nz.schemaProperties=GZ;function HZ({schemaCode:Q,data:X,it:{gen:Y,topSchemaRef:W,schemaPath:$,errorPath:J},it:G},H,B,z){let K=z?D0._`${Q}, ${X}, ${W}${$}`:X,V=[[Z6.default.instancePath,(0,D0.strConcat)(Z6.default.instancePath,J)],[Z6.default.parentData,G.parentData],[Z6.default.parentDataProperty,G.parentDataProperty],[Z6.default.rootData,Z6.default.rootData]];if(G.opts.dynamicRef)V.push([Z6.default.dynamicAnchors,Z6.default.dynamicAnchors]);let q=D0._`${K}, ${Y.object(...V)}`;return B!==D0.nil?D0._`${H}.call(${B}, ${q})`:D0._`${H}(${q})`}Nz.callValidateCode=HZ;var BZ=D0._`new RegExp`;function zZ({gen:Q,it:{opts:X}},Y){let W=X.unicodeRegExp?"u":"",{regExp:$}=X.code,J=$(Y,W);return Q.scopeValue("pattern",{key:J.toString(),ref:J,code:D0._`${$.code==="new RegExp"?BZ:(0,XZ.useFunc)(Q,$)}(${Y}, ${W})`})}Nz.usePattern=zZ;function KZ(Q){let{gen:X,data:Y,keyword:W,it:$}=Q,J=X.name("valid");if($.allErrors){let H=X.let("valid",!0);return G(()=>X.assign(H,!1)),H}return X.var(J,!0),G(()=>X.break()),J;function G(H){let B=X.const("len",D0._`${Y}.length`);X.forRange("i",0,B,(z)=>{Q.subschema({keyword:W,dataProp:z,dataPropType:n5.Type.Num},J),X.if((0,D0.not)(J),H)})}}Nz.validateArray=KZ;function VZ(Q){let{gen:X,schema:Y,keyword:W,it:$}=Q;if(!Array.isArray(Y))throw Error("ajv implementation error");if(Y.some((B)=>(0,n5.alwaysValidSchema)($,B))&&!$.opts.unevaluated)return;let G=X.let("valid",!1),H=X.name("_valid");X.block(()=>Y.forEach((B,z)=>{let K=Q.subschema({keyword:W,schemaProp:z,compositeRule:!0},H);if(X.assign(G,D0._`${G} || ${H}`),!Q.mergeValidEvaluated(K,H))X.if((0,D0.not)(G))})),Q.result(G,()=>Q.reset(),()=>Q.error(!0))}Nz.validateUnion=VZ});var Ez=j((Zz)=>{Object.defineProperty(Zz,"__esModule",{value:!0});Zz.validateKeywordUsage=Zz.validSchemaType=Zz.funcKeywordCode=Zz.macroKeywordCode=void 0;var i0=r(),J9=Y6(),PZ=A1(),ZZ=$4();function RZ(Q,X){let{gen:Y,keyword:W,schema:$,parentSchema:J,it:G}=Q,H=X.macro.call(G.self,$,J,G),B=Pz(Y,W,H);if(G.opts.validateSchema!==!1)G.self.validateSchema(H,!0);let z=Y.name("valid");Q.subschema({schema:H,schemaPath:i0.nil,errSchemaPath:`${G.errSchemaPath}/${W}`,topSchemaRef:B,compositeRule:!0},z),Q.pass(z,()=>Q.error(!0))}Zz.macroKeywordCode=RZ;function EZ(Q,X){var Y;let{gen:W,keyword:$,schema:J,parentSchema:G,$data:H,it:B}=Q;IZ(B,X);let z=!H&&X.compile?X.compile.call(B.self,J,G,B):X.validate,K=Pz(W,$,z),V=W.let("valid");Q.block$data(V,q),Q.ok((Y=X.valid)!==null&&Y!==void 0?Y:V);function q(){if(X.errors===!1){if(D(),X.modifying)bz(Q);L(()=>Q.error())}else{let O=X.async?F():A();if(X.modifying)bz(Q);L(()=>SZ(Q,O))}}function F(){let O=W.let("ruleErrs",null);return W.try(()=>D(i0._`await `),(N)=>W.assign(V,!1).if(i0._`${N} instanceof ${B.ValidationError}`,()=>W.assign(O,i0._`${N}.errors`),()=>W.throw(N))),O}function A(){let O=i0._`${K}.errors`;return W.assign(O,null),D(i0.nil),O}function D(O=X.async?i0._`await `:i0.nil){let N=B.opts.passContext?J9.default.this:J9.default.self,w=!(("compile"in X)&&!H||X.schema===!1);W.assign(V,i0._`${O}${(0,PZ.callValidateCode)(Q,K,N,w)}`,X.modifying)}function L(O){var N;W.if((0,i0.not)((N=X.valid)!==null&&N!==void 0?N:V),O)}}Zz.funcKeywordCode=EZ;function bz(Q){let{gen:X,data:Y,it:W}=Q;X.if(W.parentData,()=>X.assign(Y,i0._`${W.parentData}[${W.parentDataProperty}]`))}function SZ(Q,X){let{gen:Y}=Q;Y.if(i0._`Array.isArray(${X})`,()=>{Y.assign(J9.default.vErrors,i0._`${J9.default.vErrors} === null ? ${X} : ${J9.default.vErrors}.concat(${X})`).assign(J9.default.errors,i0._`${J9.default.vErrors}.length`),(0,ZZ.extendErrors)(Q)},()=>Q.error())}function IZ({schemaEnv:Q},X){if(X.async&&!Q.$async)throw Error("async keyword in sync schema")}function Pz(Q,X,Y){if(Y===void 0)throw Error(`keyword "${X}" failed to compile`);return Q.scopeValue("keyword",typeof Y=="function"?{ref:Y}:{ref:Y,code:(0,i0.stringify)(Y)})}function TZ(Q,X,Y=!1){return!X.length||X.some((W)=>W==="array"?Array.isArray(Q):W==="object"?Q&&typeof Q=="object"&&!Array.isArray(Q):typeof Q==W||Y&&typeof Q>"u")}Zz.validSchemaType=TZ;function CZ({schema:Q,opts:X,self:Y,errSchemaPath:W},$,J){if(Array.isArray($.keyword)?!$.keyword.includes(J):$.keyword!==J)throw Error("ajv implementation error");let G=$.dependencies;if(G===null||G===void 0?void 0:G.some((H)=>!Object.prototype.hasOwnProperty.call(Q,H)))throw Error(`parent schema must have dependencies of ${J}: ${G.join(",")}`);if($.validateSchema){if(!$.validateSchema(Q[J])){let B=`keyword "${J}" value is invalid at path "${W}": `+Y.errorsText($.validateSchema.errors);if(X.validateSchema==="log")Y.logger.error(B);else throw Error(B)}}}Zz.validateKeywordUsage=CZ});var Cz=j((Iz)=>{Object.defineProperty(Iz,"__esModule",{value:!0});Iz.extendSubschemaMode=Iz.extendSubschemaData=Iz.getSubschema=void 0;var p1=r(),Sz=W0();function xZ(Q,{keyword:X,schemaProp:Y,schema:W,schemaPath:$,errSchemaPath:J,topSchemaRef:G}){if(X!==void 0&&W!==void 0)throw Error('both "keyword" and "schema" passed, only one allowed');if(X!==void 0){let H=Q.schema[X];return Y===void 0?{schema:H,schemaPath:p1._`${Q.schemaPath}${(0,p1.getProperty)(X)}`,errSchemaPath:`${Q.errSchemaPath}/${X}`}:{schema:H[Y],schemaPath:p1._`${Q.schemaPath}${(0,p1.getProperty)(X)}${(0,p1.getProperty)(Y)}`,errSchemaPath:`${Q.errSchemaPath}/${X}/${(0,Sz.escapeFragment)(Y)}`}}if(W!==void 0){if($===void 0||J===void 0||G===void 0)throw Error('"schemaPath", "errSchemaPath" and "topSchemaRef" are required with "schema"');return{schema:W,schemaPath:$,topSchemaRef:G,errSchemaPath:J}}throw Error('either "keyword" or "schema" must be passed')}Iz.getSubschema=xZ;function yZ(Q,X,{dataProp:Y,dataPropType:W,data:$,dataTypes:J,propertyName:G}){if($!==void 0&&Y!==void 0)throw Error('both "data" and "dataProp" passed, only one allowed');let{gen:H}=X;if(Y!==void 0){let{errorPath:z,dataPathArr:K,opts:V}=X,q=H.let("data",p1._`${X.data}${(0,p1.getProperty)(Y)}`,!0);B(q),Q.errorPath=p1.str`${z}${(0,Sz.getErrorPath)(Y,W,V.jsPropertySyntax)}`,Q.parentDataProperty=p1._`${Y}`,Q.dataPathArr=[...K,Q.parentDataProperty]}if($!==void 0){let z=$ instanceof p1.Name?$:H.let("data",$,!0);if(B(z),G!==void 0)Q.propertyName=G}if(J)Q.dataTypes=J;function B(z){Q.data=z,Q.dataLevel=X.dataLevel+1,Q.dataTypes=[],X.definedProperties=new Set,Q.parentData=X.data,Q.dataNames=[...X.dataNames,z]}}Iz.extendSubschemaData=yZ;function fZ(Q,{jtdDiscriminator:X,jtdMetadata:Y,compositeRule:W,createErrors:$,allErrors:J}){if(W!==void 0)Q.compositeRule=W;if($!==void 0)Q.createErrors=$;if(J!==void 0)Q.allErrors=J;Q.jtdDiscriminator=X,Q.jtdMetadata=Y}Iz.extendSubschemaMode=fZ});var G4=j((xp,kz)=>{kz.exports=function Q(X,Y){if(X===Y)return!0;if(X&&Y&&typeof X=="object"&&typeof Y=="object"){if(X.constructor!==Y.constructor)return!1;var W,$,J;if(Array.isArray(X)){if(W=X.length,W!=Y.length)return!1;for($=W;$--!==0;)if(!Q(X[$],Y[$]))return!1;return!0}if(X.constructor===RegExp)return X.source===Y.source&&X.flags===Y.flags;if(X.valueOf!==Object.prototype.valueOf)return X.valueOf()===Y.valueOf();if(X.toString!==Object.prototype.toString)return X.toString()===Y.toString();if(J=Object.keys(X),W=J.length,W!==Object.keys(Y).length)return!1;for($=W;$--!==0;)if(!Object.prototype.hasOwnProperty.call(Y,J[$]))return!1;for($=W;$--!==0;){var G=J[$];if(!Q(X[G],Y[G]))return!1}return!0}return X!==X&&Y!==Y}});var _z=j((yp,vz)=>{var R6=vz.exports=function(Q,X,Y){if(typeof X=="function")Y=X,X={};Y=X.cb||Y;var W=typeof Y=="function"?Y:Y.pre||function(){},$=Y.post||function(){};KX(X,W,$,Q,"",Q)};R6.keywords={additionalItems:!0,items:!0,contains:!0,additionalProperties:!0,propertyNames:!0,not:!0,if:!0,then:!0,else:!0};R6.arrayKeywords={items:!0,allOf:!0,anyOf:!0,oneOf:!0};R6.propsKeywords={$defs:!0,definitions:!0,properties:!0,patternProperties:!0,dependencies:!0};R6.skipKeywords={default:!0,enum:!0,const:!0,required:!0,maximum:!0,minimum:!0,exclusiveMaximum:!0,exclusiveMinimum:!0,multipleOf:!0,maxLength:!0,minLength:!0,pattern:!0,format:!0,maxItems:!0,minItems:!0,uniqueItems:!0,maxProperties:!0,minProperties:!0};function KX(Q,X,Y,W,$,J,G,H,B,z){if(W&&typeof W=="object"&&!Array.isArray(W)){X(W,$,J,G,H,B,z);for(var K in W){var V=W[K];if(Array.isArray(V)){if(K in R6.arrayKeywords)for(var q=0;q<V.length;q++)KX(Q,X,Y,V[q],$+"/"+K+"/"+q,J,$,K,W,q)}else if(K in R6.propsKeywords){if(V&&typeof V=="object")for(var F in V)KX(Q,X,Y,V[F],$+"/"+K+"/"+uZ(F),J,$,K,W,F)}else if(K in R6.keywords||Q.allKeys&&!(K in R6.skipKeywords))KX(Q,X,Y,V,$+"/"+K,J,$,K,W)}Y(W,$,J,G,H,B,z)}}function uZ(Q){return Q.replace(/~/g,"~0").replace(/\//g,"~1")}});var H4=j((gz)=>{Object.defineProperty(gz,"__esModule",{value:!0});gz.getSchemaRefs=gz.resolveUrl=gz.normalizeId=gz._getFullPath=gz.getFullPath=gz.inlineRef=void 0;var lZ=W0(),mZ=G4(),cZ=_z(),pZ=new Set(["type","format","pattern","maxLength","minLength","maxProperties","minProperties","maxItems","minItems","maximum","minimum","uniqueItems","multipleOf","required","enum","const"]);function dZ(Q,X=!0){if(typeof Q=="boolean")return!0;if(X===!0)return!t5(Q);if(!X)return!1;return xz(Q)<=X}gz.inlineRef=dZ;var iZ=new Set(["$ref","$recursiveRef","$recursiveAnchor","$dynamicRef","$dynamicAnchor"]);function t5(Q){for(let X in Q){if(iZ.has(X))return!0;let Y=Q[X];if(Array.isArray(Y)&&Y.some(t5))return!0;if(typeof Y=="object"&&t5(Y))return!0}return!1}function xz(Q){let X=0;for(let Y in Q){if(Y==="$ref")return 1/0;if(X++,pZ.has(Y))continue;if(typeof Q[Y]=="object")(0,lZ.eachItem)(Q[Y],(W)=>X+=xz(W));if(X===1/0)return 1/0}return X}function yz(Q,X="",Y){if(Y!==!1)X=r9(X);let W=Q.parse(X);return fz(Q,W)}gz.getFullPath=yz;function fz(Q,X){return Q.serialize(X).split("#")[0]+"#"}gz._getFullPath=fz;var nZ=/#\/?$/;function r9(Q){return Q?Q.replace(nZ,""):""}gz.normalizeId=r9;function oZ(Q,X,Y){return Y=r9(Y),Q.resolve(X,Y)}gz.resolveUrl=oZ;var rZ=/^[a-z_][-a-z0-9._]*$/i;function tZ(Q,X){if(typeof Q=="boolean")return{};let{schemaId:Y,uriResolver:W}=this.opts,$=r9(Q[Y]||X),J={"":$},G=yz(W,$,!1),H={},B=new Set;return cZ(Q,{allKeys:!0},(V,q,F,A)=>{if(A===void 0)return;let D=G+q,L=J[A];if(typeof V[Y]=="string")L=O.call(this,V[Y]);N.call(this,V.$anchor),N.call(this,V.$dynamicAnchor),J[q]=L;function O(w){let C=this.opts.uriResolver.resolve;if(w=r9(L?C(L,w):w),B.has(w))throw K(w);B.add(w);let Z=this.refs[w];if(typeof Z=="string")Z=this.refs[Z];if(typeof Z=="object")z(V,Z.schema,w);else if(w!==r9(D))if(w[0]==="#")z(V,H[w],w),H[w]=V;else this.refs[w]=D;return w}function N(w){if(typeof w=="string"){if(!rZ.test(w))throw Error(`invalid anchor "${w}"`);O.call(this,`#${w}`)}}}),H;function z(V,q,F){if(q!==void 0&&!mZ(V,q))throw K(F)}function K(V){return Error(`reference "${V}" resolves to more than one schema`)}}gz.getSchemaRefs=tZ});var K4=j((QK)=>{Object.defineProperty(QK,"__esModule",{value:!0});QK.getData=QK.KeywordCxt=QK.validateFunctionCode=void 0;var pz=Wz(),uz=J4(),s5=c5(),VX=J4(),YR=Uz(),z4=Ez(),a5=Cz(),y=r(),l=Y6(),WR=H4(),W6=W0(),B4=$4();function $R(Q){if(nz(Q)){if(oz(Q),iz(Q)){HR(Q);return}}dz(Q,()=>(0,pz.topBoolOrEmptySchema)(Q))}QK.validateFunctionCode=$R;function dz({gen:Q,validateName:X,schema:Y,schemaEnv:W,opts:$},J){if($.code.es5)Q.func(X,y._`${l.default.data}, ${l.default.valCxt}`,W.$async,()=>{Q.code(y._`"use strict"; ${lz(Y,$)}`),GR(Q,$),Q.code(J)});else Q.func(X,y._`${l.default.data}, ${JR($)}`,W.$async,()=>Q.code(lz(Y,$)).code(J))}function JR(Q){return y._`{${l.default.instancePath}="", ${l.default.parentData}, ${l.default.parentDataProperty}, ${l.default.rootData}=${l.default.data}${Q.dynamicRef?y._`, ${l.default.dynamicAnchors}={}`:y.nil}}={}`}function GR(Q,X){Q.if(l.default.valCxt,()=>{if(Q.var(l.default.instancePath,y._`${l.default.valCxt}.${l.default.instancePath}`),Q.var(l.default.parentData,y._`${l.default.valCxt}.${l.default.parentData}`),Q.var(l.default.parentDataProperty,y._`${l.default.valCxt}.${l.default.parentDataProperty}`),Q.var(l.default.rootData,y._`${l.default.valCxt}.${l.default.rootData}`),X.dynamicRef)Q.var(l.default.dynamicAnchors,y._`${l.default.valCxt}.${l.default.dynamicAnchors}`)},()=>{if(Q.var(l.default.instancePath,y._`""`),Q.var(l.default.parentData,y._`undefined`),Q.var(l.default.parentDataProperty,y._`undefined`),Q.var(l.default.rootData,l.default.data),X.dynamicRef)Q.var(l.default.dynamicAnchors,y._`{}`)})}function HR(Q){let{schema:X,opts:Y,gen:W}=Q;dz(Q,()=>{if(Y.$comment&&X.$comment)tz(Q);if(FR(Q),W.let(l.default.vErrors,null),W.let(l.default.errors,0),Y.unevaluated)BR(Q);rz(Q),DR(Q)});return}function BR(Q){let{gen:X,validateName:Y}=Q;Q.evaluated=X.const("evaluated",y._`${Y}.evaluated`),X.if(y._`${Q.evaluated}.dynamicProps`,()=>X.assign(y._`${Q.evaluated}.props`,y._`undefined`)),X.if(y._`${Q.evaluated}.dynamicItems`,()=>X.assign(y._`${Q.evaluated}.items`,y._`undefined`))}function lz(Q,X){let Y=typeof Q=="object"&&Q[X.schemaId];return Y&&(X.code.source||X.code.process)?y._`/*# sourceURL=${Y} */`:y.nil}function zR(Q,X){if(nz(Q)){if(oz(Q),iz(Q)){KR(Q,X);return}}(0,pz.boolOrEmptySchema)(Q,X)}function iz({schema:Q,self:X}){if(typeof Q=="boolean")return!Q;for(let Y in Q)if(X.RULES.all[Y])return!0;return!1}function nz(Q){return typeof Q.schema!="boolean"}function KR(Q,X){let{schema:Y,gen:W,opts:$}=Q;if($.$comment&&Y.$comment)tz(Q);AR(Q),qR(Q);let J=W.const("_errs",l.default.errors);rz(Q,J),W.var(X,y._`${J} === ${l.default.errors}`)}function oz(Q){(0,W6.checkUnknownRules)(Q),VR(Q)}function rz(Q,X){if(Q.opts.jtd)return mz(Q,[],!1,X);let Y=(0,uz.getSchemaTypes)(Q.schema),W=(0,uz.coerceAndCheckDataType)(Q,Y);mz(Q,Y,!W,X)}function VR(Q){let{schema:X,errSchemaPath:Y,opts:W,self:$}=Q;if(X.$ref&&W.ignoreKeywordsWithRef&&(0,W6.schemaHasRulesButRef)(X,$.RULES))$.logger.warn(`$ref: keywords ignored in schema at path "${Y}"`)}function FR(Q){let{schema:X,opts:Y}=Q;if(X.default!==void 0&&Y.useDefaults&&Y.strictSchema)(0,W6.checkStrictMode)(Q,"default is ignored in the schema root")}function AR(Q){let X=Q.schema[Q.opts.schemaId];if(X)Q.baseId=(0,WR.resolveUrl)(Q.opts.uriResolver,Q.baseId,X)}function qR(Q){if(Q.schema.$async&&!Q.schemaEnv.$async)throw Error("async schema in sync schema")}function tz({gen:Q,schemaEnv:X,schema:Y,errSchemaPath:W,opts:$}){let J=Y.$comment;if($.$comment===!0)Q.code(y._`${l.default.self}.logger.log(${J})`);else if(typeof $.$comment=="function"){let G=y.str`${W}/$comment`,H=Q.scopeValue("root",{ref:X.root});Q.code(y._`${l.default.self}.opts.$comment(${J}, ${G}, ${H}.schema)`)}}function DR(Q){let{gen:X,schemaEnv:Y,validateName:W,ValidationError:$,opts:J}=Q;if(Y.$async)X.if(y._`${l.default.errors} === 0`,()=>X.return(l.default.data),()=>X.throw(y._`new ${$}(${l.default.vErrors})`));else{if(X.assign(y._`${W}.errors`,l.default.vErrors),J.unevaluated)LR(Q);X.return(y._`${l.default.errors} === 0`)}}function LR({gen:Q,evaluated:X,props:Y,items:W}){if(Y instanceof y.Name)Q.assign(y._`${X}.props`,Y);if(W instanceof y.Name)Q.assign(y._`${X}.items`,W)}function mz(Q,X,Y,W){let{gen:$,schema:J,data:G,allErrors:H,opts:B,self:z}=Q,{RULES:K}=z;if(J.$ref&&(B.ignoreKeywordsWithRef||!(0,W6.schemaHasRulesButRef)(J,K))){$.block(()=>sz(Q,"$ref",K.all.$ref.definition));return}if(!B.jtd)OR(Q,X);$.block(()=>{for(let q of K.rules)V(q);V(K.post)});function V(q){if(!(0,s5.shouldUseGroup)(J,q))return;if(q.type){if($.if((0,VX.checkDataType)(q.type,G,B.strictNumbers)),cz(Q,q),X.length===1&&X[0]===q.type&&Y)$.else(),(0,VX.reportTypeError)(Q);$.endIf()}else cz(Q,q);if(!H)$.if(y._`${l.default.errors} === ${W||0}`)}}function cz(Q,X){let{gen:Y,schema:W,opts:{useDefaults:$}}=Q;if($)(0,YR.assignDefaults)(Q,X.type);Y.block(()=>{for(let J of X.rules)if((0,s5.shouldUseRule)(W,J))sz(Q,J.keyword,J.definition,X.type)})}function OR(Q,X){if(Q.schemaEnv.meta||!Q.opts.strictTypes)return;if(UR(Q,X),!Q.opts.allowUnionTypes)jR(Q,X);MR(Q,Q.dataTypes)}function UR(Q,X){if(!X.length)return;if(!Q.dataTypes.length){Q.dataTypes=X;return}X.forEach((Y)=>{if(!az(Q.dataTypes,Y))e5(Q,`type "${Y}" not allowed by context "${Q.dataTypes.join(",")}"`)}),wR(Q,X)}function jR(Q,X){if(X.length>1&&!(X.length===2&&X.includes("null")))e5(Q,"use allowUnionTypes to allow union type keyword")}function MR(Q,X){let Y=Q.self.RULES.all;for(let W in Y){let $=Y[W];if(typeof $=="object"&&(0,s5.shouldUseRule)(Q.schema,$)){let{type:J}=$.definition;if(J.length&&!J.some((G)=>NR(X,G)))e5(Q,`missing type "${J.join(",")}" for keyword "${W}"`)}}}function NR(Q,X){return Q.includes(X)||X==="number"&&Q.includes("integer")}function az(Q,X){return Q.includes(X)||X==="integer"&&Q.includes("number")}function wR(Q,X){let Y=[];for(let W of Q.dataTypes)if(az(X,W))Y.push(W);else if(X.includes("integer")&&W==="number")Y.push("integer");Q.dataTypes=Y}function e5(Q,X){let Y=Q.schemaEnv.baseId+Q.errSchemaPath;X+=` at "${Y}" (strictTypes)`,(0,W6.checkStrictMode)(Q,X,Q.opts.strictTypes)}class Q${constructor(Q,X,Y){if((0,z4.validateKeywordUsage)(Q,X,Y),this.gen=Q.gen,this.allErrors=Q.allErrors,this.keyword=Y,this.data=Q.data,this.schema=Q.schema[Y],this.$data=X.$data&&Q.opts.$data&&this.schema&&this.schema.$data,this.schemaValue=(0,W6.schemaRefOrVal)(Q,this.schema,Y,this.$data),this.schemaType=X.schemaType,this.parentSchema=Q.schema,this.params={},this.it=Q,this.def=X,this.$data)this.schemaCode=Q.gen.const("vSchema",ez(this.$data,Q));else if(this.schemaCode=this.schemaValue,!(0,z4.validSchemaType)(this.schema,X.schemaType,X.allowUndefined))throw Error(`${Y} value must be ${JSON.stringify(X.schemaType)}`);if("code"in X?X.trackErrors:X.errors!==!1)this.errsCount=Q.gen.const("_errs",l.default.errors)}result(Q,X,Y){this.failResult((0,y.not)(Q),X,Y)}failResult(Q,X,Y){if(this.gen.if(Q),Y)Y();else this.error();if(X){if(this.gen.else(),X(),this.allErrors)this.gen.endIf()}else if(this.allErrors)this.gen.endIf();else this.gen.else()}pass(Q,X){this.failResult((0,y.not)(Q),void 0,X)}fail(Q){if(Q===void 0){if(this.error(),!this.allErrors)this.gen.if(!1);return}if(this.gen.if(Q),this.error(),this.allErrors)this.gen.endIf();else this.gen.else()}fail$data(Q){if(!this.$data)return this.fail(Q);let{schemaCode:X}=this;this.fail(y._`${X} !== undefined && (${(0,y.or)(this.invalid$data(),Q)})`)}error(Q,X,Y){if(X){this.setParams(X),this._error(Q,Y),this.setParams({});return}this._error(Q,Y)}_error(Q,X){(Q?B4.reportExtraError:B4.reportError)(this,this.def.error,X)}$dataError(){(0,B4.reportError)(this,this.def.$dataError||B4.keyword$DataError)}reset(){if(this.errsCount===void 0)throw Error('add "trackErrors" to keyword definition');(0,B4.resetErrorsCount)(this.gen,this.errsCount)}ok(Q){if(!this.allErrors)this.gen.if(Q)}setParams(Q,X){if(X)Object.assign(this.params,Q);else this.params=Q}block$data(Q,X,Y=y.nil){this.gen.block(()=>{this.check$data(Q,Y),X()})}check$data(Q=y.nil,X=y.nil){if(!this.$data)return;let{gen:Y,schemaCode:W,schemaType:$,def:J}=this;if(Y.if((0,y.or)(y._`${W} === undefined`,X)),Q!==y.nil)Y.assign(Q,!0);if($.length||J.validateSchema){if(Y.elseIf(this.invalid$data()),this.$dataError(),Q!==y.nil)Y.assign(Q,!1)}Y.else()}invalid$data(){let{gen:Q,schemaCode:X,schemaType:Y,def:W,it:$}=this;return(0,y.or)(J(),G());function J(){if(Y.length){if(!(X instanceof y.Name))throw Error("ajv implementation error");let H=Array.isArray(Y)?Y:[Y];return y._`${(0,VX.checkDataTypes)(H,X,$.opts.strictNumbers,VX.DataType.Wrong)}`}return y.nil}function G(){if(W.validateSchema){let H=Q.scopeValue("validate$data",{ref:W.validateSchema});return y._`!${H}(${X})`}return y.nil}}subschema(Q,X){let Y=(0,a5.getSubschema)(this.it,Q);(0,a5.extendSubschemaData)(Y,this.it,Q),(0,a5.extendSubschemaMode)(Y,Q);let W={...this.it,...Y,items:void 0,props:void 0};return zR(W,X),W}mergeEvaluated(Q,X){let{it:Y,gen:W}=this;if(!Y.opts.unevaluated)return;if(Y.props!==!0&&Q.props!==void 0)Y.props=W6.mergeEvaluated.props(W,Q.props,Y.props,X);if(Y.items!==!0&&Q.items!==void 0)Y.items=W6.mergeEvaluated.items(W,Q.items,Y.items,X)}mergeValidEvaluated(Q,X){let{it:Y,gen:W}=this;if(Y.opts.unevaluated&&(Y.props!==!0||Y.items!==!0))return W.if(X,()=>this.mergeEvaluated(Q,y.Name)),!0}}QK.KeywordCxt=Q$;function sz(Q,X,Y,W){let $=new Q$(Q,Y,X);if("code"in Y)Y.code($,W);else if($.$data&&Y.validate)(0,z4.funcKeywordCode)($,Y);else if("macro"in Y)(0,z4.macroKeywordCode)($,Y);else if(Y.compile||Y.validate)(0,z4.funcKeywordCode)($,Y)}var bR=/^\/(?:[^~]|~0|~1)*$/,PR=/^([0-9]+)(#|\/(?:[^~]|~0|~1)*)?$/;function ez(Q,{dataLevel:X,dataNames:Y,dataPathArr:W}){let $,J;if(Q==="")return l.default.rootData;if(Q[0]==="/"){if(!bR.test(Q))throw Error(`Invalid JSON-pointer: ${Q}`);$=Q,J=l.default.rootData}else{let z=PR.exec(Q);if(!z)throw Error(`Invalid JSON-pointer: ${Q}`);let K=+z[1];if($=z[2],$==="#"){if(K>=X)throw Error(B("property/index",K));return W[X-K]}if(K>X)throw Error(B("data",K));if(J=Y[X-K],!$)return J}let G=J,H=$.split("/");for(let z of H)if(z)J=y._`${J}${(0,y.getProperty)((0,W6.unescapeJsonPointer)(z))}`,G=y._`${G} && ${J}`;return G;function B(z,K){return`Cannot access ${z} ${K} levels up, current level is ${X}`}}QK.getData=ez});var FX=j((WK)=>{Object.defineProperty(WK,"__esModule",{value:!0});class YK extends Error{constructor(Q){super("validation failed");this.errors=Q,this.ajv=this.validation=!0}}WK.default=YK});var V4=j((JK)=>{Object.defineProperty(JK,"__esModule",{value:!0});var X$=H4();class $K extends Error{constructor(Q,X,Y,W){super(W||`can't resolve reference ${Y} from id ${X}`);this.missingRef=(0,X$.resolveUrl)(Q,X,Y),this.missingSchema=(0,X$.normalizeId)((0,X$.getFullPath)(Q,this.missingRef))}}JK.default=$K});var qX=j((BK)=>{Object.defineProperty(BK,"__esModule",{value:!0});BK.resolveSchema=BK.getCompilingSchema=BK.resolveRef=BK.compileSchema=BK.SchemaEnv=void 0;var S1=r(),IR=FX(),G9=Y6(),I1=H4(),GK=W0(),TR=K4();class F4{constructor(Q){var X;this.refs={},this.dynamicAnchors={};let Y;if(typeof Q.schema=="object")Y=Q.schema;this.schema=Q.schema,this.schemaId=Q.schemaId,this.root=Q.root||this,this.baseId=(X=Q.baseId)!==null&&X!==void 0?X:(0,I1.normalizeId)(Y===null||Y===void 0?void 0:Y[Q.schemaId||"$id"]),this.schemaPath=Q.schemaPath,this.localRefs=Q.localRefs,this.meta=Q.meta,this.$async=Y===null||Y===void 0?void 0:Y.$async,this.refs={}}}BK.SchemaEnv=F4;function W$(Q){let X=HK.call(this,Q);if(X)return X;let Y=(0,I1.getFullPath)(this.opts.uriResolver,Q.root.baseId),{es5:W,lines:$}=this.opts.code,{ownProperties:J}=this.opts,G=new S1.CodeGen(this.scope,{es5:W,lines:$,ownProperties:J}),H;if(Q.$async)H=G.scopeValue("Error",{ref:IR.default,code:S1._`require("ajv/dist/runtime/validation_error").default`});let B=G.scopeName("validate");Q.validateName=B;let z={gen:G,allErrors:this.opts.allErrors,data:G9.default.data,parentData:G9.default.parentData,parentDataProperty:G9.default.parentDataProperty,dataNames:[G9.default.data],dataPathArr:[S1.nil],dataLevel:0,dataTypes:[],definedProperties:new Set,topSchemaRef:G.scopeValue("schema",this.opts.code.source===!0?{ref:Q.schema,code:(0,S1.stringify)(Q.schema)}:{ref:Q.schema}),validateName:B,ValidationError:H,schema:Q.schema,schemaEnv:Q,rootId:Y,baseId:Q.baseId||Y,schemaPath:S1.nil,errSchemaPath:Q.schemaPath||(this.opts.jtd?"":"#"),errorPath:S1._`""`,opts:this.opts,self:this},K;try{this._compilations.add(Q),(0,TR.validateFunctionCode)(z),G.optimize(this.opts.code.optimize);let V=G.toString();if(K=`${G.scopeRefs(G9.default.scope)}return ${V}`,this.opts.code.process)K=this.opts.code.process(K,Q);let F=Function(`${G9.default.self}`,`${G9.default.scope}`,K)(this,this.scope.get());if(this.scope.value(B,{ref:F}),F.errors=null,F.schema=Q.schema,F.schemaEnv=Q,Q.$async)F.$async=!0;if(this.opts.code.source===!0)F.source={validateName:B,validateCode:V,scopeValues:G._values};if(this.opts.unevaluated){let{props:A,items:D}=z;if(F.evaluated={props:A instanceof S1.Name?void 0:A,items:D instanceof S1.Name?void 0:D,dynamicProps:A instanceof S1.Name,dynamicItems:D instanceof S1.Name},F.source)F.source.evaluated=(0,S1.stringify)(F.evaluated)}return Q.validate=F,Q}catch(V){if(delete Q.validate,delete Q.validateName,K)this.logger.error("Error compiling schema, function code:",K);throw V}finally{this._compilations.delete(Q)}}BK.compileSchema=W$;function CR(Q,X,Y){var W;Y=(0,I1.resolveUrl)(this.opts.uriResolver,X,Y);let $=Q.refs[Y];if($)return $;let J=_R.call(this,Q,Y);if(J===void 0){let G=(W=Q.localRefs)===null||W===void 0?void 0:W[Y],{schemaId:H}=this.opts;if(G)J=new F4({schema:G,schemaId:H,root:Q,baseId:X})}if(J===void 0)return;return Q.refs[Y]=kR.call(this,J)}BK.resolveRef=CR;function kR(Q){if((0,I1.inlineRef)(Q.schema,this.opts.inlineRefs))return Q.schema;return Q.validate?Q:W$.call(this,Q)}function HK(Q){for(let X of this._compilations)if(vR(X,Q))return X}BK.getCompilingSchema=HK;function vR(Q,X){return Q.schema===X.schema&&Q.root===X.root&&Q.baseId===X.baseId}function _R(Q,X){let Y;while(typeof(Y=this.refs[X])=="string")X=Y;return Y||this.schemas[X]||AX.call(this,Q,X)}function AX(Q,X){let Y=this.opts.uriResolver.parse(X),W=(0,I1._getFullPath)(this.opts.uriResolver,Y),$=(0,I1.getFullPath)(this.opts.uriResolver,Q.baseId,void 0);if(Object.keys(Q.schema).length>0&&W===$)return Y$.call(this,Y,Q);let J=(0,I1.normalizeId)(W),G=this.refs[J]||this.schemas[J];if(typeof G=="string"){let H=AX.call(this,Q,G);if(typeof(H===null||H===void 0?void 0:H.schema)!=="object")return;return Y$.call(this,Y,H)}if(typeof(G===null||G===void 0?void 0:G.schema)!=="object")return;if(!G.validate)W$.call(this,G);if(J===(0,I1.normalizeId)(X)){let{schema:H}=G,{schemaId:B}=this.opts,z=H[B];if(z)$=(0,I1.resolveUrl)(this.opts.uriResolver,$,z);return new F4({schema:H,schemaId:B,root:Q,baseId:$})}return Y$.call(this,Y,G)}BK.resolveSchema=AX;var xR=new Set(["properties","patternProperties","enum","dependencies","definitions"]);function Y$(Q,{baseId:X,schema:Y,root:W}){var $;if((($=Q.fragment)===null||$===void 0?void 0:$[0])!=="/")return;for(let H of Q.fragment.slice(1).split("/")){if(typeof Y==="boolean")return;let B=Y[(0,GK.unescapeFragment)(H)];if(B===void 0)return;Y=B;let z=typeof Y==="object"&&Y[this.opts.schemaId];if(!xR.has(H)&&z)X=(0,I1.resolveUrl)(this.opts.uriResolver,X,z)}let J;if(typeof Y!="boolean"&&Y.$ref&&!(0,GK.schemaHasRulesButRef)(Y,this.RULES)){let H=(0,I1.resolveUrl)(this.opts.uriResolver,X,Y.$ref);J=AX.call(this,W,H)}let{schemaId:G}=this.opts;if(J=J||new F4({schema:Y,schemaId:G,root:W,baseId:X}),J.schema!==J.root.schema)return J;return}});var KK=j((mp,uR)=>{uR.exports={$id:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#",description:"Meta-schema for $data reference (JSON AnySchema extension proposal)",type:"object",required:["$data"],properties:{$data:{type:"string",anyOf:[{format:"relative-json-pointer"},{format:"json-pointer"}]}},additionalProperties:!1}});var J$=j((cp,qK)=>{var lR=RegExp.prototype.test.bind(/^[\da-f]{8}-[\da-f]{4}-[\da-f]{4}-[\da-f]{4}-[\da-f]{12}$/iu),FK=RegExp.prototype.test.bind(/^(?:(?:25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)$/u);function $$(Q){let X="",Y=0,W=0;for(W=0;W<Q.length;W++){if(Y=Q[W].charCodeAt(0),Y===48)continue;if(!(Y>=48&&Y<=57||Y>=65&&Y<=70||Y>=97&&Y<=102))return"";X+=Q[W];break}for(W+=1;W<Q.length;W++){if(Y=Q[W].charCodeAt(0),!(Y>=48&&Y<=57||Y>=65&&Y<=70||Y>=97&&Y<=102))return"";X+=Q[W]}return X}var mR=RegExp.prototype.test.bind(/[^!"$&'()*+,\-.;=_`a-z{}~]/u);function VK(Q){return Q.length=0,!0}function cR(Q,X,Y){if(Q.length){let W=$$(Q);if(W!=="")X.push(W);else return Y.error=!0,!1;Q.length=0}return!0}function pR(Q){let X=0,Y={error:!1,address:"",zone:""},W=[],$=[],J=!1,G=!1,H=cR;for(let B=0;B<Q.length;B++){let z=Q[B];if(z==="["||z==="]")continue;if(z===":"){if(J===!0)G=!0;if(!H($,W,Y))break;if(++X>7){Y.error=!0;break}if(B>0&&Q[B-1]===":")J=!0;W.push(":");continue}else if(z==="%"){if(!H($,W,Y))break;H=VK}else{$.push(z);continue}}if($.length)if(H===VK)Y.zone=$.join("");else if(G)W.push($.join(""));else W.push($$($));return Y.address=W.join(""),Y}function AK(Q){if(dR(Q,":")<2)return{host:Q,isIPV6:!1};let X=pR(Q);if(!X.error){let{address:Y,address:W}=X;if(X.zone)Y+="%"+X.zone,W+="%25"+X.zone;return{host:Y,isIPV6:!0,escapedHost:W}}else return{host:Q,isIPV6:!1}}function dR(Q,X){let Y=0;for(let W=0;W<Q.length;W++)if(Q[W]===X)Y++;return Y}function iR(Q){let X=Q,Y=[],W=-1,$=0;while($=X.length){if($===1)if(X===".")break;else if(X==="/"){Y.push("/");break}else{Y.push(X);break}else if($===2){if(X[0]==="."){if(X[1]===".")break;else if(X[1]==="/"){X=X.slice(2);continue}}else if(X[0]==="/"){if(X[1]==="."||X[1]==="/"){Y.push("/");break}}}else if($===3){if(X==="/.."){if(Y.length!==0)Y.pop();Y.push("/");break}}if(X[0]==="."){if(X[1]==="."){if(X[2]==="/"){X=X.slice(3);continue}}else if(X[1]==="/"){X=X.slice(2);continue}}else if(X[0]==="/"){if(X[1]==="."){if(X[2]==="/"){X=X.slice(2);continue}else if(X[2]==="."){if(X[3]==="/"){if(X=X.slice(3),Y.length!==0)Y.pop();continue}}}}if((W=X.indexOf("/",1))===-1){Y.push(X);break}else Y.push(X.slice(0,W)),X=X.slice(W)}return Y.join("")}function nR(Q,X){let Y=X!==!0?escape:unescape;if(Q.scheme!==void 0)Q.scheme=Y(Q.scheme);if(Q.userinfo!==void 0)Q.userinfo=Y(Q.userinfo);if(Q.host!==void 0)Q.host=Y(Q.host);if(Q.path!==void 0)Q.path=Y(Q.path);if(Q.query!==void 0)Q.query=Y(Q.query);if(Q.fragment!==void 0)Q.fragment=Y(Q.fragment);return Q}function oR(Q){let X=[];if(Q.userinfo!==void 0)X.push(Q.userinfo),X.push("@");if(Q.host!==void 0){let Y=unescape(Q.host);if(!FK(Y)){let W=AK(Y);if(W.isIPV6===!0)Y=`[${W.escapedHost}]`;else Y=Q.host}X.push(Y)}if(typeof Q.port==="number"||typeof Q.port==="string")X.push(":"),X.push(String(Q.port));return X.length?X.join(""):void 0}qK.exports={nonSimpleDomain:mR,recomposeAuthority:oR,normalizeComponentEncoding:nR,removeDotSegments:iR,isIPv4:FK,isUUID:lR,normalizeIPv6:AK,stringArrayToHexStripped:$$}});var jK=j((pp,UK)=>{var{isUUID:rR}=J$(),tR=/([\da-z][\d\-a-z]{0,31}):((?:[\w!$'()*+,\-.:;=@]|%[\da-f]{2})+)/iu,aR=["http","https","ws","wss","urn","urn:uuid"];function sR(Q){return aR.indexOf(Q)!==-1}function G$(Q){if(Q.secure===!0)return!0;else if(Q.secure===!1)return!1;else if(Q.scheme)return Q.scheme.length===3&&(Q.scheme[0]==="w"||Q.scheme[0]==="W")&&(Q.scheme[1]==="s"||Q.scheme[1]==="S")&&(Q.scheme[2]==="s"||Q.scheme[2]==="S");else return!1}function DK(Q){if(!Q.host)Q.error=Q.error||"HTTP URIs must have a host.";return Q}function LK(Q){let X=String(Q.scheme).toLowerCase()==="https";if(Q.port===(X?443:80)||Q.port==="")Q.port=void 0;if(!Q.path)Q.path="/";return Q}function eR(Q){return Q.secure=G$(Q),Q.resourceName=(Q.path||"/")+(Q.query?"?"+Q.query:""),Q.path=void 0,Q.query=void 0,Q}function QE(Q){if(Q.port===(G$(Q)?443:80)||Q.port==="")Q.port=void 0;if(typeof Q.secure==="boolean")Q.scheme=Q.secure?"wss":"ws",Q.secure=void 0;if(Q.resourceName){let[X,Y]=Q.resourceName.split("?");Q.path=X&&X!=="/"?X:void 0,Q.query=Y,Q.resourceName=void 0}return Q.fragment=void 0,Q}function XE(Q,X){if(!Q.path)return Q.error="URN can not be parsed",Q;let Y=Q.path.match(tR);if(Y){let W=X.scheme||Q.scheme||"urn";Q.nid=Y[1].toLowerCase(),Q.nss=Y[2];let $=`${W}:${X.nid||Q.nid}`,J=H$($);if(Q.path=void 0,J)Q=J.parse(Q,X)}else Q.error=Q.error||"URN can not be parsed.";return Q}function YE(Q,X){if(Q.nid===void 0)throw Error("URN without nid cannot be serialized");let Y=X.scheme||Q.scheme||"urn",W=Q.nid.toLowerCase(),$=`${Y}:${X.nid||W}`,J=H$($);if(J)Q=J.serialize(Q,X);let G=Q,H=Q.nss;return G.path=`${W||X.nid}:${H}`,X.skipEscape=!0,G}function WE(Q,X){let Y=Q;if(Y.uuid=Y.nss,Y.nss=void 0,!X.tolerant&&(!Y.uuid||!rR(Y.uuid)))Y.error=Y.error||"UUID is not valid.";return Y}function $E(Q){let X=Q;return X.nss=(Q.uuid||"").toLowerCase(),X}var OK={scheme:"http",domainHost:!0,parse:DK,serialize:LK},JE={scheme:"https",domainHost:OK.domainHost,parse:DK,serialize:LK},DX={scheme:"ws",domainHost:!0,parse:eR,serialize:QE},GE={scheme:"wss",domainHost:DX.domainHost,parse:DX.parse,serialize:DX.serialize},HE={scheme:"urn",parse:XE,serialize:YE,skipNormalize:!0},BE={scheme:"urn:uuid",parse:WE,serialize:$E,skipNormalize:!0},LX={http:OK,https:JE,ws:DX,wss:GE,urn:HE,"urn:uuid":BE};Object.setPrototypeOf(LX,null);function H$(Q){return Q&&(LX[Q]||LX[Q.toLowerCase()])||void 0}UK.exports={wsIsSecure:G$,SCHEMES:LX,isValidSchemeName:sR,getSchemeHandler:H$}});var z$=j((dp,UX)=>{var{normalizeIPv6:zE,removeDotSegments:A4,recomposeAuthority:KE,normalizeComponentEncoding:OX,isIPv4:VE,nonSimpleDomain:FE}=J$(),{SCHEMES:AE,getSchemeHandler:MK}=jK();function qE(Q,X){if(typeof Q==="string")Q=d1($6(Q,X),X);else if(typeof Q==="object")Q=$6(d1(Q,X),X);return Q}function DE(Q,X,Y){let W=Y?Object.assign({scheme:"null"},Y):{scheme:"null"},$=NK($6(Q,W),$6(X,W),W,!0);return W.skipEscape=!0,d1($,W)}function NK(Q,X,Y,W){let $={};if(!W)Q=$6(d1(Q,Y),Y),X=$6(d1(X,Y),Y);if(Y=Y||{},!Y.tolerant&&X.scheme)$.scheme=X.scheme,$.userinfo=X.userinfo,$.host=X.host,$.port=X.port,$.path=A4(X.path||""),$.query=X.query;else{if(X.userinfo!==void 0||X.host!==void 0||X.port!==void 0)$.userinfo=X.userinfo,$.host=X.host,$.port=X.port,$.path=A4(X.path||""),$.query=X.query;else{if(!X.path)if($.path=Q.path,X.query!==void 0)$.query=X.query;else $.query=Q.query;else{if(X.path[0]==="/")$.path=A4(X.path);else{if((Q.userinfo!==void 0||Q.host!==void 0||Q.port!==void 0)&&!Q.path)$.path="/"+X.path;else if(!Q.path)$.path=X.path;else $.path=Q.path.slice(0,Q.path.lastIndexOf("/")+1)+X.path;$.path=A4($.path)}$.query=X.query}$.userinfo=Q.userinfo,$.host=Q.host,$.port=Q.port}$.scheme=Q.scheme}return $.fragment=X.fragment,$}function LE(Q,X,Y){if(typeof Q==="string")Q=unescape(Q),Q=d1(OX($6(Q,Y),!0),{...Y,skipEscape:!0});else if(typeof Q==="object")Q=d1(OX(Q,!0),{...Y,skipEscape:!0});if(typeof X==="string")X=unescape(X),X=d1(OX($6(X,Y),!0),{...Y,skipEscape:!0});else if(typeof X==="object")X=d1(OX(X,!0),{...Y,skipEscape:!0});return Q.toLowerCase()===X.toLowerCase()}function d1(Q,X){let Y={host:Q.host,scheme:Q.scheme,userinfo:Q.userinfo,port:Q.port,path:Q.path,query:Q.query,nid:Q.nid,nss:Q.nss,uuid:Q.uuid,fragment:Q.fragment,reference:Q.reference,resourceName:Q.resourceName,secure:Q.secure,error:""},W=Object.assign({},X),$=[],J=MK(W.scheme||Y.scheme);if(J&&J.serialize)J.serialize(Y,W);if(Y.path!==void 0)if(!W.skipEscape){if(Y.path=escape(Y.path),Y.scheme!==void 0)Y.path=Y.path.split("%3A").join(":")}else Y.path=unescape(Y.path);if(W.reference!=="suffix"&&Y.scheme)$.push(Y.scheme,":");let G=KE(Y);if(G!==void 0){if(W.reference!=="suffix")$.push("//");if($.push(G),Y.path&&Y.path[0]!=="/")$.push("/")}if(Y.path!==void 0){let H=Y.path;if(!W.absolutePath&&(!J||!J.absolutePath))H=A4(H);if(G===void 0&&H[0]==="/"&&H[1]==="/")H="/%2F"+H.slice(2);$.push(H)}if(Y.query!==void 0)$.push("?",Y.query);if(Y.fragment!==void 0)$.push("#",Y.fragment);return $.join("")}var OE=/^(?:([^#/:?]+):)?(?:\/\/((?:([^#/?@]*)@)?(\[[^#/?\]]+\]|[^#/:?]*)(?::(\d*))?))?([^#?]*)(?:\?([^#]*))?(?:#((?:.|[\n\r])*))?/u;function $6(Q,X){let Y=Object.assign({},X),W={scheme:void 0,userinfo:void 0,host:"",port:void 0,path:"",query:void 0,fragment:void 0},$=!1;if(Y.reference==="suffix")if(Y.scheme)Q=Y.scheme+":"+Q;else Q="//"+Q;let J=Q.match(OE);if(J){if(W.scheme=J[1],W.userinfo=J[3],W.host=J[4],W.port=parseInt(J[5],10),W.path=J[6]||"",W.query=J[7],W.fragment=J[8],isNaN(W.port))W.port=J[5];if(W.host)if(VE(W.host)===!1){let B=zE(W.host);W.host=B.host.toLowerCase(),$=B.isIPV6}else $=!0;if(W.scheme===void 0&&W.userinfo===void 0&&W.host===void 0&&W.port===void 0&&W.query===void 0&&!W.path)W.reference="same-document";else if(W.scheme===void 0)W.reference="relative";else if(W.fragment===void 0)W.reference="absolute";else W.reference="uri";if(Y.reference&&Y.reference!=="suffix"&&Y.reference!==W.reference)W.error=W.error||"URI is not a "+Y.reference+" reference.";let G=MK(Y.scheme||W.scheme);if(!Y.unicodeSupport&&(!G||!G.unicodeSupport)){if(W.host&&(Y.domainHost||G&&G.domainHost)&&$===!1&&FE(W.host))try{W.host=URL.domainToASCII(W.host.toLowerCase())}catch(H){W.error=W.error||"Host's domain name can not be converted to ASCII: "+H}}if(!G||G&&!G.skipNormalize){if(Q.indexOf("%")!==-1){if(W.scheme!==void 0)W.scheme=unescape(W.scheme);if(W.host!==void 0)W.host=unescape(W.host)}if(W.path)W.path=escape(unescape(W.path));if(W.fragment)W.fragment=encodeURI(decodeURIComponent(W.fragment))}if(G&&G.parse)G.parse(W,Y)}else W.error=W.error||"URI can not be parsed.";return W}var B$={SCHEMES:AE,normalize:qE,resolve:DE,resolveComponent:NK,equal:LE,serialize:d1,parse:$6};UX.exports=B$;UX.exports.default=B$;UX.exports.fastUri=B$});var PK=j((bK)=>{Object.defineProperty(bK,"__esModule",{value:!0});var wK=z$();wK.code='require("ajv/dist/runtime/uri").default';bK.default=wK});var kK=j((J6)=>{Object.defineProperty(J6,"__esModule",{value:!0});J6.CodeGen=J6.Name=J6.nil=J6.stringify=J6.str=J6._=J6.KeywordCxt=void 0;var jE=K4();Object.defineProperty(J6,"KeywordCxt",{enumerable:!0,get:function(){return jE.KeywordCxt}});var t9=r();Object.defineProperty(J6,"_",{enumerable:!0,get:function(){return t9._}});Object.defineProperty(J6,"str",{enumerable:!0,get:function(){return t9.str}});Object.defineProperty(J6,"stringify",{enumerable:!0,get:function(){return t9.stringify}});Object.defineProperty(J6,"nil",{enumerable:!0,get:function(){return t9.nil}});Object.defineProperty(J6,"Name",{enumerable:!0,get:function(){return t9.Name}});Object.defineProperty(J6,"CodeGen",{enumerable:!0,get:function(){return t9.CodeGen}});var ME=FX(),IK=V4(),NE=m5(),q4=qX(),wE=r(),D4=H4(),jX=J4(),V$=W0(),ZK=KK(),bE=PK(),TK=(Q,X)=>new RegExp(Q,X);TK.code="new RegExp";var PE=["removeAdditional","useDefaults","coerceTypes"],ZE=new Set(["validate","serialize","parse","wrapper","root","schema","keyword","pattern","formats","validate$data","func","obj","Error"]),RE={errorDataPath:"",format:"`validateFormats: false` can be used instead.",nullable:'"nullable" keyword is supported by default.',jsonPointers:"Deprecated jsPropertySyntax can be used instead.",extendRefs:"Deprecated ignoreKeywordsWithRef can be used instead.",missingRefs:"Pass empty schema with $id that should be ignored to ajv.addSchema.",processCode:"Use option `code: {process: (code, schemaEnv: object) => string}`",sourceCode:"Use option `code: {source: true}`",strictDefaults:"It is default now, see option `strict`.",strictKeywords:"It is default now, see option `strict`.",uniqueItems:'"uniqueItems" keyword is always validated.',unknownFormats:"Disable strict mode or pass `true` to `ajv.addFormat` (or `formats` option).",cache:"Map is used as cache, schema object as key.",serialize:"Map is used as cache, schema object as key.",ajvErrors:"It is default now."},EE={ignoreKeywordsWithRef:"",jsPropertySyntax:"",unicode:'"minLength"/"maxLength" account for unicode characters by default.'},RK=200;function SE(Q){var X,Y,W,$,J,G,H,B,z,K,V,q,F,A,D,L,O,N,w,C,Z,K0,P0,g1,g6;let O1=Q.strict,h6=(X=Q.code)===null||X===void 0?void 0:X.optimize,j8=h6===!0||h6===void 0?1:h6||0,M8=(W=(Y=Q.code)===null||Y===void 0?void 0:Y.regExp)!==null&&W!==void 0?W:TK,fY=($=Q.uriResolver)!==null&&$!==void 0?$:bE.default;return{strictSchema:(G=(J=Q.strictSchema)!==null&&J!==void 0?J:O1)!==null&&G!==void 0?G:!0,strictNumbers:(B=(H=Q.strictNumbers)!==null&&H!==void 0?H:O1)!==null&&B!==void 0?B:!0,strictTypes:(K=(z=Q.strictTypes)!==null&&z!==void 0?z:O1)!==null&&K!==void 0?K:"log",strictTuples:(q=(V=Q.strictTuples)!==null&&V!==void 0?V:O1)!==null&&q!==void 0?q:"log",strictRequired:(A=(F=Q.strictRequired)!==null&&F!==void 0?F:O1)!==null&&A!==void 0?A:!1,code:Q.code?{...Q.code,optimize:j8,regExp:M8}:{optimize:j8,regExp:M8},loopRequired:(D=Q.loopRequired)!==null&&D!==void 0?D:RK,loopEnum:(L=Q.loopEnum)!==null&&L!==void 0?L:RK,meta:(O=Q.meta)!==null&&O!==void 0?O:!0,messages:(N=Q.messages)!==null&&N!==void 0?N:!0,inlineRefs:(w=Q.inlineRefs)!==null&&w!==void 0?w:!0,schemaId:(C=Q.schemaId)!==null&&C!==void 0?C:"$id",addUsedSchema:(Z=Q.addUsedSchema)!==null&&Z!==void 0?Z:!0,validateSchema:(K0=Q.validateSchema)!==null&&K0!==void 0?K0:!0,validateFormats:(P0=Q.validateFormats)!==null&&P0!==void 0?P0:!0,unicodeRegExp:(g1=Q.unicodeRegExp)!==null&&g1!==void 0?g1:!0,int32range:(g6=Q.int32range)!==null&&g6!==void 0?g6:!0,uriResolver:fY}}class MX{constructor(Q={}){this.schemas={},this.refs={},this.formats={},this._compilations=new Set,this._loading={},this._cache=new Map,Q=this.opts={...Q,...SE(Q)};let{es5:X,lines:Y}=this.opts.code;this.scope=new wE.ValueScope({scope:{},prefixes:ZE,es5:X,lines:Y}),this.logger=_E(Q.logger);let W=Q.validateFormats;if(Q.validateFormats=!1,this.RULES=(0,NE.getRules)(),EK.call(this,RE,Q,"NOT SUPPORTED"),EK.call(this,EE,Q,"DEPRECATED","warn"),this._metaOpts=kE.call(this),Q.formats)TE.call(this);if(this._addVocabularies(),this._addDefaultMetaSchema(),Q.keywords)CE.call(this,Q.keywords);if(typeof Q.meta=="object")this.addMetaSchema(Q.meta);IE.call(this),Q.validateFormats=W}_addVocabularies(){this.addKeyword("$async")}_addDefaultMetaSchema(){let{$data:Q,meta:X,schemaId:Y}=this.opts,W=ZK;if(Y==="id")W={...ZK},W.id=W.$id,delete W.$id;if(X&&Q)this.addMetaSchema(W,W[Y],!1)}defaultMeta(){let{meta:Q,schemaId:X}=this.opts;return this.opts.defaultMeta=typeof Q=="object"?Q[X]||Q:void 0}validate(Q,X){let Y;if(typeof Q=="string"){if(Y=this.getSchema(Q),!Y)throw Error(`no schema with key or ref "${Q}"`)}else Y=this.compile(Q);let W=Y(X);if(!("$async"in Y))this.errors=Y.errors;return W}compile(Q,X){let Y=this._addSchema(Q,X);return Y.validate||this._compileSchemaEnv(Y)}compileAsync(Q,X){if(typeof this.opts.loadSchema!="function")throw Error("options.loadSchema should be a function");let{loadSchema:Y}=this.opts;return W.call(this,Q,X);async function W(z,K){await $.call(this,z.$schema);let V=this._addSchema(z,K);return V.validate||J.call(this,V)}async function $(z){if(z&&!this.getSchema(z))await W.call(this,{$ref:z},!0)}async function J(z){try{return this._compileSchemaEnv(z)}catch(K){if(!(K instanceof IK.default))throw K;return G.call(this,K),await H.call(this,K.missingSchema),J.call(this,z)}}function G({missingSchema:z,missingRef:K}){if(this.refs[z])throw Error(`AnySchema ${z} is loaded but ${K} cannot be resolved`)}async function H(z){let K=await B.call(this,z);if(!this.refs[z])await $.call(this,K.$schema);if(!this.refs[z])this.addSchema(K,z,X)}async function B(z){let K=this._loading[z];if(K)return K;try{return await(this._loading[z]=Y(z))}finally{delete this._loading[z]}}}addSchema(Q,X,Y,W=this.opts.validateSchema){if(Array.isArray(Q)){for(let J of Q)this.addSchema(J,void 0,Y,W);return this}let $;if(typeof Q==="object"){let{schemaId:J}=this.opts;if($=Q[J],$!==void 0&&typeof $!="string")throw Error(`schema ${J} must be string`)}return X=(0,D4.normalizeId)(X||$),this._checkUnique(X),this.schemas[X]=this._addSchema(Q,Y,X,W,!0),this}addMetaSchema(Q,X,Y=this.opts.validateSchema){return this.addSchema(Q,X,!0,Y),this}validateSchema(Q,X){if(typeof Q=="boolean")return!0;let Y;if(Y=Q.$schema,Y!==void 0&&typeof Y!="string")throw Error("$schema must be a string");if(Y=Y||this.opts.defaultMeta||this.defaultMeta(),!Y)return this.logger.warn("meta-schema not available"),this.errors=null,!0;let W=this.validate(Y,Q);if(!W&&X){let $="schema is invalid: "+this.errorsText();if(this.opts.validateSchema==="log")this.logger.error($);else throw Error($)}return W}getSchema(Q){let X;while(typeof(X=SK.call(this,Q))=="string")Q=X;if(X===void 0){let{schemaId:Y}=this.opts,W=new q4.SchemaEnv({schema:{},schemaId:Y});if(X=q4.resolveSchema.call(this,W,Q),!X)return;this.refs[Q]=X}return X.validate||this._compileSchemaEnv(X)}removeSchema(Q){if(Q instanceof RegExp)return this._removeAllSchemas(this.schemas,Q),this._removeAllSchemas(this.refs,Q),this;switch(typeof Q){case"undefined":return this._removeAllSchemas(this.schemas),this._removeAllSchemas(this.refs),this._cache.clear(),this;case"string":{let X=SK.call(this,Q);if(typeof X=="object")this._cache.delete(X.schema);return delete this.schemas[Q],delete this.refs[Q],this}case"object":{let X=Q;this._cache.delete(X);let Y=Q[this.opts.schemaId];if(Y)Y=(0,D4.normalizeId)(Y),delete this.schemas[Y],delete this.refs[Y];return this}default:throw Error("ajv.removeSchema: invalid parameter")}}addVocabulary(Q){for(let X of Q)this.addKeyword(X);return this}addKeyword(Q,X){let Y;if(typeof Q=="string"){if(Y=Q,typeof X=="object")this.logger.warn("these parameters are deprecated, see docs for addKeyword"),X.keyword=Y}else if(typeof Q=="object"&&X===void 0){if(X=Q,Y=X.keyword,Array.isArray(Y)&&!Y.length)throw Error("addKeywords: keyword must be string or non-empty array")}else throw Error("invalid addKeywords parameters");if(yE.call(this,Y,X),!X)return(0,V$.eachItem)(Y,($)=>K$.call(this,$)),this;gE.call(this,X);let W={...X,type:(0,jX.getJSONTypes)(X.type),schemaType:(0,jX.getJSONTypes)(X.schemaType)};return(0,V$.eachItem)(Y,W.type.length===0?($)=>K$.call(this,$,W):($)=>W.type.forEach((J)=>K$.call(this,$,W,J))),this}getKeyword(Q){let X=this.RULES.all[Q];return typeof X=="object"?X.definition:!!X}removeKeyword(Q){let{RULES:X}=this;delete X.keywords[Q],delete X.all[Q];for(let Y of X.rules){let W=Y.rules.findIndex(($)=>$.keyword===Q);if(W>=0)Y.rules.splice(W,1)}return this}addFormat(Q,X){if(typeof X=="string")X=new RegExp(X);return this.formats[Q]=X,this}errorsText(Q=this.errors,{separator:X=", ",dataVar:Y="data"}={}){if(!Q||Q.length===0)return"No errors";return Q.map((W)=>`${Y}${W.instancePath} ${W.message}`).reduce((W,$)=>W+X+$)}$dataMetaSchema(Q,X){let Y=this.RULES.all;Q=JSON.parse(JSON.stringify(Q));for(let W of X){let $=W.split("/").slice(1),J=Q;for(let G of $)J=J[G];for(let G in Y){let H=Y[G];if(typeof H!="object")continue;let{$data:B}=H.definition,z=J[G];if(B&&z)J[G]=CK(z)}}return Q}_removeAllSchemas(Q,X){for(let Y in Q){let W=Q[Y];if(!X||X.test(Y)){if(typeof W=="string")delete Q[Y];else if(W&&!W.meta)this._cache.delete(W.schema),delete Q[Y]}}}_addSchema(Q,X,Y,W=this.opts.validateSchema,$=this.opts.addUsedSchema){let J,{schemaId:G}=this.opts;if(typeof Q=="object")J=Q[G];else if(this.opts.jtd)throw Error("schema must be object");else if(typeof Q!="boolean")throw Error("schema must be object or boolean");let H=this._cache.get(Q);if(H!==void 0)return H;Y=(0,D4.normalizeId)(J||Y);let B=D4.getSchemaRefs.call(this,Q,Y);if(H=new q4.SchemaEnv({schema:Q,schemaId:G,meta:X,baseId:Y,localRefs:B}),this._cache.set(H.schema,H),$&&!Y.startsWith("#")){if(Y)this._checkUnique(Y);this.refs[Y]=H}if(W)this.validateSchema(Q,!0);return H}_checkUnique(Q){if(this.schemas[Q]||this.refs[Q])throw Error(`schema with key or id "${Q}" already exists`)}_compileSchemaEnv(Q){if(Q.meta)this._compileMetaSchema(Q);else q4.compileSchema.call(this,Q);if(!Q.validate)throw Error("ajv implementation error");return Q.validate}_compileMetaSchema(Q){let X=this.opts;this.opts=this._metaOpts;try{q4.compileSchema.call(this,Q)}finally{this.opts=X}}}MX.ValidationError=ME.default;MX.MissingRefError=IK.default;J6.default=MX;function EK(Q,X,Y,W="error"){for(let $ in Q){let J=$;if(J in X)this.logger[W](`${Y}: option ${$}. ${Q[J]}`)}}function SK(Q){return Q=(0,D4.normalizeId)(Q),this.schemas[Q]||this.refs[Q]}function IE(){let Q=this.opts.schemas;if(!Q)return;if(Array.isArray(Q))this.addSchema(Q);else for(let X in Q)this.addSchema(Q[X],X)}function TE(){for(let Q in this.opts.formats){let X=this.opts.formats[Q];if(X)this.addFormat(Q,X)}}function CE(Q){if(Array.isArray(Q)){this.addVocabulary(Q);return}this.logger.warn("keywords option as map is deprecated, pass array");for(let X in Q){let Y=Q[X];if(!Y.keyword)Y.keyword=X;this.addKeyword(Y)}}function kE(){let Q={...this.opts};for(let X of PE)delete Q[X];return Q}var vE={log(){},warn(){},error(){}};function _E(Q){if(Q===!1)return vE;if(Q===void 0)return console;if(Q.log&&Q.warn&&Q.error)return Q;throw Error("logger must implement log, warn and error methods")}var xE=/^[a-z_$][a-z0-9_$:-]*$/i;function yE(Q,X){let{RULES:Y}=this;if((0,V$.eachItem)(Q,(W)=>{if(Y.keywords[W])throw Error(`Keyword ${W} is already defined`);if(!xE.test(W))throw Error(`Keyword ${W} has invalid name`)}),!X)return;if(X.$data&&!(("code"in X)||("validate"in X)))throw Error('$data keyword must have "code" or "validate" function')}function K$(Q,X,Y){var W;let $=X===null||X===void 0?void 0:X.post;if(Y&&$)throw Error('keyword with "post" flag cannot have "type"');let{RULES:J}=this,G=$?J.post:J.rules.find(({type:B})=>B===Y);if(!G)G={type:Y,rules:[]},J.rules.push(G);if(J.keywords[Q]=!0,!X)return;let H={keyword:Q,definition:{...X,type:(0,jX.getJSONTypes)(X.type),schemaType:(0,jX.getJSONTypes)(X.schemaType)}};if(X.before)fE.call(this,G,H,X.before);else G.rules.push(H);J.all[Q]=H,(W=X.implements)===null||W===void 0||W.forEach((B)=>this.addKeyword(B))}function fE(Q,X,Y){let W=Q.rules.findIndex(($)=>$.keyword===Y);if(W>=0)Q.rules.splice(W,0,X);else Q.rules.push(X),this.logger.warn(`rule ${Y} is not defined`)}function gE(Q){let{metaSchema:X}=Q;if(X===void 0)return;if(Q.$data&&this.opts.$data)X=CK(X);Q.validateSchema=this.compile(X,!0)}var hE={$ref:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#"};function CK(Q){return{anyOf:[Q,hE]}}});var _K=j((vK)=>{Object.defineProperty(vK,"__esModule",{value:!0});var mE={keyword:"id",code(){throw Error('NOT SUPPORTED: keyword "id", use "$id" for schema ID')}};vK.default=mE});var uK=j((gK)=>{Object.defineProperty(gK,"__esModule",{value:!0});gK.callRef=gK.getValidate=void 0;var pE=V4(),xK=A1(),Y1=r(),a9=Y6(),yK=qX(),NX=W0(),dE={keyword:"$ref",schemaType:"string",code(Q){let{gen:X,schema:Y,it:W}=Q,{baseId:$,schemaEnv:J,validateName:G,opts:H,self:B}=W,{root:z}=J;if((Y==="#"||Y==="#/")&&$===z.baseId)return V();let K=yK.resolveRef.call(B,z,$,Y);if(K===void 0)throw new pE.default(W.opts.uriResolver,$,Y);if(K instanceof yK.SchemaEnv)return q(K);return F(K);function V(){if(J===z)return wX(Q,G,J,J.$async);let A=X.scopeValue("root",{ref:z});return wX(Q,Y1._`${A}.validate`,z,z.$async)}function q(A){let D=fK(Q,A);wX(Q,D,A,A.$async)}function F(A){let D=X.scopeValue("schema",H.code.source===!0?{ref:A,code:(0,Y1.stringify)(A)}:{ref:A}),L=X.name("valid"),O=Q.subschema({schema:A,dataTypes:[],schemaPath:Y1.nil,topSchemaRef:D,errSchemaPath:Y},L);Q.mergeEvaluated(O),Q.ok(L)}}};function fK(Q,X){let{gen:Y}=Q;return X.validate?Y.scopeValue("validate",{ref:X.validate}):Y1._`${Y.scopeValue("wrapper",{ref:X})}.validate`}gK.getValidate=fK;function wX(Q,X,Y,W){let{gen:$,it:J}=Q,{allErrors:G,schemaEnv:H,opts:B}=J,z=B.passContext?a9.default.this:Y1.nil;if(W)K();else V();function K(){if(!H.$async)throw Error("async schema referenced by sync schema");let A=$.let("valid");$.try(()=>{if($.code(Y1._`await ${(0,xK.callValidateCode)(Q,X,z)}`),F(X),!G)$.assign(A,!0)},(D)=>{if($.if(Y1._`!(${D} instanceof ${J.ValidationError})`,()=>$.throw(D)),q(D),!G)$.assign(A,!1)}),Q.ok(A)}function V(){Q.result((0,xK.callValidateCode)(Q,X,z),()=>F(X),()=>q(X))}function q(A){let D=Y1._`${A}.errors`;$.assign(a9.default.vErrors,Y1._`${a9.default.vErrors} === null ? ${D} : ${a9.default.vErrors}.concat(${D})`),$.assign(a9.default.errors,Y1._`${a9.default.vErrors}.length`)}function F(A){var D;if(!J.opts.unevaluated)return;let L=(D=Y===null||Y===void 0?void 0:Y.validate)===null||D===void 0?void 0:D.evaluated;if(J.props!==!0)if(L&&!L.dynamicProps){if(L.props!==void 0)J.props=NX.mergeEvaluated.props($,L.props,J.props)}else{let O=$.var("props",Y1._`${A}.evaluated.props`);J.props=NX.mergeEvaluated.props($,O,J.props,Y1.Name)}if(J.items!==!0)if(L&&!L.dynamicItems){if(L.items!==void 0)J.items=NX.mergeEvaluated.items($,L.items,J.items)}else{let O=$.var("items",Y1._`${A}.evaluated.items`);J.items=NX.mergeEvaluated.items($,O,J.items,Y1.Name)}}}gK.callRef=wX;gK.default=dE});var mK=j((lK)=>{Object.defineProperty(lK,"__esModule",{value:!0});var oE=_K(),rE=uK(),tE=["$schema","$id","$defs","$vocabulary",{keyword:"$comment"},"definitions",oE.default,rE.default];lK.default=tE});var pK=j((cK)=>{Object.defineProperty(cK,"__esModule",{value:!0});var bX=r(),E6=bX.operators,PX={maximum:{okStr:"<=",ok:E6.LTE,fail:E6.GT},minimum:{okStr:">=",ok:E6.GTE,fail:E6.LT},exclusiveMaximum:{okStr:"<",ok:E6.LT,fail:E6.GTE},exclusiveMinimum:{okStr:">",ok:E6.GT,fail:E6.LTE}},sE={message:({keyword:Q,schemaCode:X})=>bX.str`must be ${PX[Q].okStr} ${X}`,params:({keyword:Q,schemaCode:X})=>bX._`{comparison: ${PX[Q].okStr}, limit: ${X}}`},eE={keyword:Object.keys(PX),type:"number",schemaType:"number",$data:!0,error:sE,code(Q){let{keyword:X,data:Y,schemaCode:W}=Q;Q.fail$data(bX._`${Y} ${PX[X].fail} ${W} || isNaN(${Y})`)}};cK.default=eE});var iK=j((dK)=>{Object.defineProperty(dK,"__esModule",{value:!0});var L4=r(),XS={message:({schemaCode:Q})=>L4.str`must be multiple of ${Q}`,params:({schemaCode:Q})=>L4._`{multipleOf: ${Q}}`},YS={keyword:"multipleOf",type:"number",schemaType:"number",$data:!0,error:XS,code(Q){let{gen:X,data:Y,schemaCode:W,it:$}=Q,J=$.opts.multipleOfPrecision,G=X.let("res"),H=J?L4._`Math.abs(Math.round(${G}) - ${G}) > 1e-${J}`:L4._`${G} !== parseInt(${G})`;Q.fail$data(L4._`(${W} === 0 || (${G} = ${Y}/${W}, ${H}))`)}};dK.default=YS});var rK=j((oK)=>{Object.defineProperty(oK,"__esModule",{value:!0});function nK(Q){let X=Q.length,Y=0,W=0,$;while(W<X)if(Y++,$=Q.charCodeAt(W++),$>=55296&&$<=56319&&W<X){if($=Q.charCodeAt(W),($&64512)===56320)W++}return Y}oK.default=nK;nK.code='require("ajv/dist/runtime/ucs2length").default'});var aK=j((tK)=>{Object.defineProperty(tK,"__esModule",{value:!0});var H9=r(),JS=W0(),GS=rK(),HS={message({keyword:Q,schemaCode:X}){let Y=Q==="maxLength"?"more":"fewer";return H9.str`must NOT have ${Y} than ${X} characters`},params:({schemaCode:Q})=>H9._`{limit: ${Q}}`},BS={keyword:["maxLength","minLength"],type:"string",schemaType:"number",$data:!0,error:HS,code(Q){let{keyword:X,data:Y,schemaCode:W,it:$}=Q,J=X==="maxLength"?H9.operators.GT:H9.operators.LT,G=$.opts.unicode===!1?H9._`${Y}.length`:H9._`${(0,JS.useFunc)(Q.gen,GS.default)}(${Y})`;Q.fail$data(H9._`${G} ${J} ${W}`)}};tK.default=BS});var eK=j((sK)=>{Object.defineProperty(sK,"__esModule",{value:!0});var KS=A1(),ZX=r(),VS={message:({schemaCode:Q})=>ZX.str`must match pattern "${Q}"`,params:({schemaCode:Q})=>ZX._`{pattern: ${Q}}`},FS={keyword:"pattern",type:"string",schemaType:"string",$data:!0,error:VS,code(Q){let{data:X,$data:Y,schema:W,schemaCode:$,it:J}=Q,G=J.opts.unicodeRegExp?"u":"",H=Y?ZX._`(new RegExp(${$}, ${G}))`:(0,KS.usePattern)(Q,W);Q.fail$data(ZX._`!${H}.test(${X})`)}};sK.default=FS});var XV=j((QV)=>{Object.defineProperty(QV,"__esModule",{value:!0});var O4=r(),qS={message({keyword:Q,schemaCode:X}){let Y=Q==="maxProperties"?"more":"fewer";return O4.str`must NOT have ${Y} than ${X} properties`},params:({schemaCode:Q})=>O4._`{limit: ${Q}}`},DS={keyword:["maxProperties","minProperties"],type:"object",schemaType:"number",$data:!0,error:qS,code(Q){let{keyword:X,data:Y,schemaCode:W}=Q,$=X==="maxProperties"?O4.operators.GT:O4.operators.LT;Q.fail$data(O4._`Object.keys(${Y}).length ${$} ${W}`)}};QV.default=DS});var WV=j((YV)=>{Object.defineProperty(YV,"__esModule",{value:!0});var U4=A1(),j4=r(),OS=W0(),US={message:({params:{missingProperty:Q}})=>j4.str`must have required property '${Q}'`,params:({params:{missingProperty:Q}})=>j4._`{missingProperty: ${Q}}`},jS={keyword:"required",type:"object",schemaType:"array",$data:!0,error:US,code(Q){let{gen:X,schema:Y,schemaCode:W,data:$,$data:J,it:G}=Q,{opts:H}=G;if(!J&&Y.length===0)return;let B=Y.length>=H.loopRequired;if(G.allErrors)z();else K();if(H.strictRequired){let F=Q.parentSchema.properties,{definedProperties:A}=Q.it;for(let D of Y)if((F===null||F===void 0?void 0:F[D])===void 0&&!A.has(D)){let L=G.schemaEnv.baseId+G.errSchemaPath,O=`required property "${D}" is not defined at "${L}" (strictRequired)`;(0,OS.checkStrictMode)(G,O,G.opts.strictRequired)}}function z(){if(B||J)Q.block$data(j4.nil,V);else for(let F of Y)(0,U4.checkReportMissingProp)(Q,F)}function K(){let F=X.let("missing");if(B||J){let A=X.let("valid",!0);Q.block$data(A,()=>q(F,A)),Q.ok(A)}else X.if((0,U4.checkMissingProp)(Q,Y,F)),(0,U4.reportMissingProp)(Q,F),X.else()}function V(){X.forOf("prop",W,(F)=>{Q.setParams({missingProperty:F}),X.if((0,U4.noPropertyInData)(X,$,F,H.ownProperties),()=>Q.error())})}function q(F,A){Q.setParams({missingProperty:F}),X.forOf(F,W,()=>{X.assign(A,(0,U4.propertyInData)(X,$,F,H.ownProperties)),X.if((0,j4.not)(A),()=>{Q.error(),X.break()})},j4.nil)}}};YV.default=jS});var JV=j(($V)=>{Object.defineProperty($V,"__esModule",{value:!0});var M4=r(),NS={message({keyword:Q,schemaCode:X}){let Y=Q==="maxItems"?"more":"fewer";return M4.str`must NOT have ${Y} than ${X} items`},params:({schemaCode:Q})=>M4._`{limit: ${Q}}`},wS={keyword:["maxItems","minItems"],type:"array",schemaType:"number",$data:!0,error:NS,code(Q){let{keyword:X,data:Y,schemaCode:W}=Q,$=X==="maxItems"?M4.operators.GT:M4.operators.LT;Q.fail$data(M4._`${Y}.length ${$} ${W}`)}};$V.default=wS});var RX=j((HV)=>{Object.defineProperty(HV,"__esModule",{value:!0});var GV=G4();GV.code='require("ajv/dist/runtime/equal").default';HV.default=GV});var zV=j((BV)=>{Object.defineProperty(BV,"__esModule",{value:!0});var F$=J4(),y0=r(),ZS=W0(),RS=RX(),ES={message:({params:{i:Q,j:X}})=>y0.str`must NOT have duplicate items (items ## ${X} and ${Q} are identical)`,params:({params:{i:Q,j:X}})=>y0._`{i: ${Q}, j: ${X}}`},SS={keyword:"uniqueItems",type:"array",schemaType:"boolean",$data:!0,error:ES,code(Q){let{gen:X,data:Y,$data:W,schema:$,parentSchema:J,schemaCode:G,it:H}=Q;if(!W&&!$)return;let B=X.let("valid"),z=J.items?(0,F$.getSchemaTypes)(J.items):[];Q.block$data(B,K,y0._`${G} === false`),Q.ok(B);function K(){let A=X.let("i",y0._`${Y}.length`),D=X.let("j");Q.setParams({i:A,j:D}),X.assign(B,!0),X.if(y0._`${A} > 1`,()=>(V()?q:F)(A,D))}function V(){return z.length>0&&!z.some((A)=>A==="object"||A==="array")}function q(A,D){let L=X.name("item"),O=(0,F$.checkDataTypes)(z,L,H.opts.strictNumbers,F$.DataType.Wrong),N=X.const("indices",y0._`{}`);X.for(y0._`;${A}--;`,()=>{if(X.let(L,y0._`${Y}[${A}]`),X.if(O,y0._`continue`),z.length>1)X.if(y0._`typeof ${L} == "string"`,y0._`${L} += "_"`);X.if(y0._`typeof ${N}[${L}] == "number"`,()=>{X.assign(D,y0._`${N}[${L}]`),Q.error(),X.assign(B,!1).break()}).code(y0._`${N}[${L}] = ${A}`)})}function F(A,D){let L=(0,ZS.useFunc)(X,RS.default),O=X.name("outer");X.label(O).for(y0._`;${A}--;`,()=>X.for(y0._`${D} = ${A}; ${D}--;`,()=>X.if(y0._`${L}(${Y}[${A}], ${Y}[${D}])`,()=>{Q.error(),X.assign(B,!1).break(O)})))}}};BV.default=SS});var VV=j((KV)=>{Object.defineProperty(KV,"__esModule",{value:!0});var A$=r(),TS=W0(),CS=RX(),kS={message:"must be equal to constant",params:({schemaCode:Q})=>A$._`{allowedValue: ${Q}}`},vS={keyword:"const",$data:!0,error:kS,code(Q){let{gen:X,data:Y,$data:W,schemaCode:$,schema:J}=Q;if(W||J&&typeof J=="object")Q.fail$data(A$._`!${(0,TS.useFunc)(X,CS.default)}(${Y}, ${$})`);else Q.fail(A$._`${J} !== ${Y}`)}};KV.default=vS});var AV=j((FV)=>{Object.defineProperty(FV,"__esModule",{value:!0});var N4=r(),xS=W0(),yS=RX(),fS={message:"must be equal to one of the allowed values",params:({schemaCode:Q})=>N4._`{allowedValues: ${Q}}`},gS={keyword:"enum",schemaType:"array",$data:!0,error:fS,code(Q){let{gen:X,data:Y,$data:W,schema:$,schemaCode:J,it:G}=Q;if(!W&&$.length===0)throw Error("enum must have non-empty array");let H=$.length>=G.opts.loopEnum,B,z=()=>B!==null&&B!==void 0?B:B=(0,xS.useFunc)(X,yS.default),K;if(H||W)K=X.let("valid"),Q.block$data(K,V);else{if(!Array.isArray($))throw Error("ajv implementation error");let F=X.const("vSchema",J);K=(0,N4.or)(...$.map((A,D)=>q(F,D)))}Q.pass(K);function V(){X.assign(K,!1),X.forOf("v",J,(F)=>X.if(N4._`${z()}(${Y}, ${F})`,()=>X.assign(K,!0).break()))}function q(F,A){let D=$[A];return typeof D==="object"&&D!==null?N4._`${z()}(${Y}, ${F}[${A}])`:N4._`${Y} === ${D}`}}};FV.default=gS});var DV=j((qV)=>{Object.defineProperty(qV,"__esModule",{value:!0});var uS=pK(),lS=iK(),mS=aK(),cS=eK(),pS=XV(),dS=WV(),iS=JV(),nS=zV(),oS=VV(),rS=AV(),tS=[uS.default,lS.default,mS.default,cS.default,pS.default,dS.default,iS.default,nS.default,{keyword:"type",schemaType:["string","array"]},{keyword:"nullable",schemaType:"boolean"},oS.default,rS.default];qV.default=tS});var D$=j((OV)=>{Object.defineProperty(OV,"__esModule",{value:!0});OV.validateAdditionalItems=void 0;var B9=r(),q$=W0(),sS={message:({params:{len:Q}})=>B9.str`must NOT have more than ${Q} items`,params:({params:{len:Q}})=>B9._`{limit: ${Q}}`},eS={keyword:"additionalItems",type:"array",schemaType:["boolean","object"],before:"uniqueItems",error:sS,code(Q){let{parentSchema:X,it:Y}=Q,{items:W}=X;if(!Array.isArray(W)){(0,q$.checkStrictMode)(Y,'"additionalItems" is ignored when "items" is not an array of schemas');return}LV(Q,W)}};function LV(Q,X){let{gen:Y,schema:W,data:$,keyword:J,it:G}=Q;G.items=!0;let H=Y.const("len",B9._`${$}.length`);if(W===!1)Q.setParams({len:X.length}),Q.pass(B9._`${H} <= ${X.length}`);else if(typeof W=="object"&&!(0,q$.alwaysValidSchema)(G,W)){let z=Y.var("valid",B9._`${H} <= ${X.length}`);Y.if((0,B9.not)(z),()=>B(z)),Q.ok(z)}function B(z){Y.forRange("i",X.length,H,(K)=>{if(Q.subschema({keyword:J,dataProp:K,dataPropType:q$.Type.Num},z),!G.allErrors)Y.if((0,B9.not)(z),()=>Y.break())})}}OV.validateAdditionalItems=LV;OV.default=eS});var L$=j((NV)=>{Object.defineProperty(NV,"__esModule",{value:!0});NV.validateTuple=void 0;var jV=r(),EX=W0(),XI=A1(),YI={keyword:"items",type:"array",schemaType:["object","array","boolean"],before:"uniqueItems",code(Q){let{schema:X,it:Y}=Q;if(Array.isArray(X))return MV(Q,"additionalItems",X);if(Y.items=!0,(0,EX.alwaysValidSchema)(Y,X))return;Q.ok((0,XI.validateArray)(Q))}};function MV(Q,X,Y=Q.schema){let{gen:W,parentSchema:$,data:J,keyword:G,it:H}=Q;if(K($),H.opts.unevaluated&&Y.length&&H.items!==!0)H.items=EX.mergeEvaluated.items(W,Y.length,H.items);let B=W.name("valid"),z=W.const("len",jV._`${J}.length`);Y.forEach((V,q)=>{if((0,EX.alwaysValidSchema)(H,V))return;W.if(jV._`${z} > ${q}`,()=>Q.subschema({keyword:G,schemaProp:q,dataProp:q},B)),Q.ok(B)});function K(V){let{opts:q,errSchemaPath:F}=H,A=Y.length,D=A===V.minItems&&(A===V.maxItems||V[X]===!1);if(q.strictTuples&&!D){let L=`"${G}" is ${A}-tuple, but minItems or maxItems/${X} are not specified or different at path "${F}"`;(0,EX.checkStrictMode)(H,L,q.strictTuples)}}}NV.validateTuple=MV;NV.default=YI});var PV=j((bV)=>{Object.defineProperty(bV,"__esModule",{value:!0});var $I=L$(),JI={keyword:"prefixItems",type:"array",schemaType:["array"],before:"uniqueItems",code:(Q)=>(0,$I.validateTuple)(Q,"items")};bV.default=JI});var EV=j((RV)=>{Object.defineProperty(RV,"__esModule",{value:!0});var ZV=r(),HI=W0(),BI=A1(),zI=D$(),KI={message:({params:{len:Q}})=>ZV.str`must NOT have more than ${Q} items`,params:({params:{len:Q}})=>ZV._`{limit: ${Q}}`},VI={keyword:"items",type:"array",schemaType:["object","boolean"],before:"uniqueItems",error:KI,code(Q){let{schema:X,parentSchema:Y,it:W}=Q,{prefixItems:$}=Y;if(W.items=!0,(0,HI.alwaysValidSchema)(W,X))return;if($)(0,zI.validateAdditionalItems)(Q,$);else Q.ok((0,BI.validateArray)(Q))}};RV.default=VI});var IV=j((SV)=>{Object.defineProperty(SV,"__esModule",{value:!0});var q1=r(),SX=W0(),AI={message:({params:{min:Q,max:X}})=>X===void 0?q1.str`must contain at least ${Q} valid item(s)`:q1.str`must contain at least ${Q} and no more than ${X} valid item(s)`,params:({params:{min:Q,max:X}})=>X===void 0?q1._`{minContains: ${Q}}`:q1._`{minContains: ${Q}, maxContains: ${X}}`},qI={keyword:"contains",type:"array",schemaType:["object","boolean"],before:"uniqueItems",trackErrors:!0,error:AI,code(Q){let{gen:X,schema:Y,parentSchema:W,data:$,it:J}=Q,G,H,{minContains:B,maxContains:z}=W;if(J.opts.next)G=B===void 0?1:B,H=z;else G=1;let K=X.const("len",q1._`${$}.length`);if(Q.setParams({min:G,max:H}),H===void 0&&G===0){(0,SX.checkStrictMode)(J,'"minContains" == 0 without "maxContains": "contains" keyword ignored');return}if(H!==void 0&&G>H){(0,SX.checkStrictMode)(J,'"minContains" > "maxContains" is always invalid'),Q.fail();return}if((0,SX.alwaysValidSchema)(J,Y)){let D=q1._`${K} >= ${G}`;if(H!==void 0)D=q1._`${D} && ${K} <= ${H}`;Q.pass(D);return}J.items=!0;let V=X.name("valid");if(H===void 0&&G===1)F(V,()=>X.if(V,()=>X.break()));else if(G===0){if(X.let(V,!0),H!==void 0)X.if(q1._`${$}.length > 0`,q)}else X.let(V,!1),q();Q.result(V,()=>Q.reset());function q(){let D=X.name("_valid"),L=X.let("count",0);F(D,()=>X.if(D,()=>A(L)))}function F(D,L){X.forRange("i",0,K,(O)=>{Q.subschema({keyword:"contains",dataProp:O,dataPropType:SX.Type.Num,compositeRule:!0},D),L()})}function A(D){if(X.code(q1._`${D}++`),H===void 0)X.if(q1._`${D} >= ${G}`,()=>X.assign(V,!0).break());else if(X.if(q1._`${D} > ${H}`,()=>X.assign(V,!1).break()),G===1)X.assign(V,!0);else X.if(q1._`${D} >= ${G}`,()=>X.assign(V,!0))}}};SV.default=qI});var xV=j((kV)=>{Object.defineProperty(kV,"__esModule",{value:!0});kV.validateSchemaDeps=kV.validatePropertyDeps=kV.error=void 0;var O$=r(),LI=W0(),w4=A1();kV.error={message:({params:{property:Q,depsCount:X,deps:Y}})=>{let W=X===1?"property":"properties";return O$.str`must have ${W} ${Y} when property ${Q} is present`},params:({params:{property:Q,depsCount:X,deps:Y,missingProperty:W}})=>O$._`{property: ${Q},
6
+ || ${G} === "boolean" || ${$} === null`).assign(H,d._`[${$}]`)}}}function AZ({gen:Q,parentData:Y,parentDataProperty:X},W){Q.if(d._`${Y} !== undefined`,()=>Q.assign(d._`${Y}[${X}]`,W))}function s5(Q,Y,X,W=t9.Correct){let $=W===t9.Correct?d.operators.EQ:d.operators.NEQ,J;switch(Q){case"null":return d._`${Y} ${$} null`;case"array":J=d._`Array.isArray(${Y})`;break;case"object":J=d._`${Y} && typeof ${Y} == "object" && !Array.isArray(${Y})`;break;case"integer":J=G(d._`!(${Y} % 1) && !isNaN(${Y})`);break;case"number":J=G();break;default:return d._`typeof ${Y} ${$} ${Q}`}return W===t9.Correct?J:(0,d.not)(J);function G(H=d.nil){return(0,d.and)(d._`typeof ${Y} == "number"`,H,X?d._`isFinite(${Y})`:d.nil)}}Ez.checkDataType=s5;function e5(Q,Y,X,W){if(Q.length===1)return s5(Q[0],Y,X,W);let $,J=(0,Pz.toHash)(Q);if(J.array&&J.object){let G=d._`typeof ${Y} != "object"`;$=J.null?G:d._`!${Y} || ${G}`,delete J.null,delete J.array,delete J.object}else $=d.nil;if(J.number)delete J.integer;for(let G in J)$=(0,d.and)($,s5(G,Y,X,W));return $}Ez.checkDataTypes=e5;var qZ={message:({schema:Q})=>`must be ${Q}`,params:({schema:Q,schemaValue:Y})=>typeof Q=="string"?d._`{type: ${Q}}`:d._`{type: ${Y}}`};function Q$(Q){let Y=DZ(Q);(0,BZ.reportError)(Y,qZ)}Ez.reportTypeError=Q$;function DZ(Q){let{gen:Y,data:X,schema:W}=Q,$=(0,Pz.schemaRefOrVal)(Q,W,"type");return{gen:Y,keyword:"type",data:X,schema:W.type,schemaCode:$,schemaValue:$,parentSchema:W,params:{},it:Q}}});var kz=j((Tz)=>{Object.defineProperty(Tz,"__esModule",{value:!0});Tz.assignDefaults=void 0;var a9=r(),MZ=W0();function bZ(Q,Y){let{properties:X,items:W}=Q.schema;if(Y==="object"&&X)for(let $ in X)Sz(Q,$,X[$].default);else if(Y==="array"&&Array.isArray(W))W.forEach(($,J)=>Sz(Q,J,$.default))}Tz.assignDefaults=bZ;function Sz(Q,Y,X){let{gen:W,compositeRule:$,data:J,opts:G}=Q;if(X===void 0)return;let H=a9._`${J}${(0,a9.getProperty)(Y)}`;if($){(0,MZ.checkStrictMode)(Q,`default is ignored for: ${H}`);return}let B=a9._`${H} === undefined`;if(G.useDefaults==="empty")B=a9._`${B} || ${H} === null || ${H} === ""`;W.if(B,a9._`${H} = ${(0,a9.stringify)(X)}`)}});var A1=j((xz)=>{Object.defineProperty(xz,"__esModule",{value:!0});xz.validateUnion=xz.validateArray=xz.usePattern=xz.callValidateCode=xz.schemaProperties=xz.allSchemaProperties=xz.noPropertyInData=xz.propertyInData=xz.isOwnProperty=xz.hasPropFunc=xz.reportMissingProp=xz.checkMissingProp=xz.checkReportMissingProp=void 0;var O0=r(),Y$=W0(),R6=X6(),PZ=W0();function ZZ(Q,Y){let{gen:X,data:W,it:$}=Q;X.if(W$(X,W,Y,$.opts.ownProperties),()=>{Q.setParams({missingProperty:O0._`${Y}`},!0),Q.error()})}xz.checkReportMissingProp=ZZ;function RZ({gen:Q,data:Y,it:{opts:X}},W,$){return(0,O0.or)(...W.map((J)=>(0,O0.and)(W$(Q,Y,J,X.ownProperties),O0._`${$} = ${J}`)))}xz.checkMissingProp=RZ;function EZ(Q,Y){Q.setParams({missingProperty:Y},!0),Q.error()}xz.reportMissingProp=EZ;function _z(Q){return Q.scopeValue("func",{ref:Object.prototype.hasOwnProperty,code:O0._`Object.prototype.hasOwnProperty`})}xz.hasPropFunc=_z;function X$(Q,Y,X){return O0._`${_z(Q)}.call(${Y}, ${X})`}xz.isOwnProperty=X$;function IZ(Q,Y,X,W){let $=O0._`${Y}${(0,O0.getProperty)(X)} !== undefined`;return W?O0._`${$} && ${X$(Q,Y,X)}`:$}xz.propertyInData=IZ;function W$(Q,Y,X,W){let $=O0._`${Y}${(0,O0.getProperty)(X)} === undefined`;return W?(0,O0.or)($,(0,O0.not)(X$(Q,Y,X))):$}xz.noPropertyInData=W$;function vz(Q){return Q?Object.keys(Q).filter((Y)=>Y!=="__proto__"):[]}xz.allSchemaProperties=vz;function SZ(Q,Y){return vz(Y).filter((X)=>!(0,Y$.alwaysValidSchema)(Q,Y[X]))}xz.schemaProperties=SZ;function TZ({schemaCode:Q,data:Y,it:{gen:X,topSchemaRef:W,schemaPath:$,errorPath:J},it:G},H,B,z){let K=z?O0._`${Q}, ${Y}, ${W}${$}`:Y,V=[[R6.default.instancePath,(0,O0.strConcat)(R6.default.instancePath,J)],[R6.default.parentData,G.parentData],[R6.default.parentDataProperty,G.parentDataProperty],[R6.default.rootData,R6.default.rootData]];if(G.opts.dynamicRef)V.push([R6.default.dynamicAnchors,R6.default.dynamicAnchors]);let q=O0._`${K}, ${X.object(...V)}`;return B!==O0.nil?O0._`${H}.call(${B}, ${q})`:O0._`${H}(${q})`}xz.callValidateCode=TZ;var CZ=O0._`new RegExp`;function kZ({gen:Q,it:{opts:Y}},X){let W=Y.unicodeRegExp?"u":"",{regExp:$}=Y.code,J=$(X,W);return Q.scopeValue("pattern",{key:J.toString(),ref:J,code:O0._`${$.code==="new RegExp"?CZ:(0,PZ.useFunc)(Q,$)}(${X}, ${W})`})}xz.usePattern=kZ;function _Z(Q){let{gen:Y,data:X,keyword:W,it:$}=Q,J=Y.name("valid");if($.allErrors){let H=Y.let("valid",!0);return G(()=>Y.assign(H,!1)),H}return Y.var(J,!0),G(()=>Y.break()),J;function G(H){let B=Y.const("len",O0._`${X}.length`);Y.forRange("i",0,B,(z)=>{Q.subschema({keyword:W,dataProp:z,dataPropType:Y$.Type.Num},J),Y.if((0,O0.not)(J),H)})}}xz.validateArray=_Z;function vZ(Q){let{gen:Y,schema:X,keyword:W,it:$}=Q;if(!Array.isArray(X))throw Error("ajv implementation error");if(X.some((B)=>(0,Y$.alwaysValidSchema)($,B))&&!$.opts.unevaluated)return;let G=Y.let("valid",!1),H=Y.name("_valid");Y.block(()=>X.forEach((B,z)=>{let K=Q.subschema({keyword:W,schemaProp:z,compositeRule:!0},H);if(Y.assign(G,O0._`${G} || ${H}`),!Q.mergeValidEvaluated(K,H))Y.if((0,O0.not)(G))})),Q.result(G,()=>Q.reset(),()=>Q.error(!0))}xz.validateUnion=vZ});var lz=j((hz)=>{Object.defineProperty(hz,"__esModule",{value:!0});hz.validateKeywordUsage=hz.validSchemaType=hz.funcKeywordCode=hz.macroKeywordCode=void 0;var i0=r(),B9=X6(),nZ=A1(),oZ=B4();function rZ(Q,Y){let{gen:X,keyword:W,schema:$,parentSchema:J,it:G}=Q,H=Y.macro.call(G.self,$,J,G),B=gz(X,W,H);if(G.opts.validateSchema!==!1)G.self.validateSchema(H,!0);let z=X.name("valid");Q.subschema({schema:H,schemaPath:i0.nil,errSchemaPath:`${G.errSchemaPath}/${W}`,topSchemaRef:B,compositeRule:!0},z),Q.pass(z,()=>Q.error(!0))}hz.macroKeywordCode=rZ;function tZ(Q,Y){var X;let{gen:W,keyword:$,schema:J,parentSchema:G,$data:H,it:B}=Q;sZ(B,Y);let z=!H&&Y.compile?Y.compile.call(B.self,J,G,B):Y.validate,K=gz(W,$,z),V=W.let("valid");Q.block$data(V,q),Q.ok((X=Y.valid)!==null&&X!==void 0?X:V);function q(){if(Y.errors===!1){if(D(),Y.modifying)fz(Q);O(()=>Q.error())}else{let L=Y.async?F():A();if(Y.modifying)fz(Q);O(()=>aZ(Q,L))}}function F(){let L=W.let("ruleErrs",null);return W.try(()=>D(i0._`await `),(N)=>W.assign(V,!1).if(i0._`${N} instanceof ${B.ValidationError}`,()=>W.assign(L,i0._`${N}.errors`),()=>W.throw(N))),L}function A(){let L=i0._`${K}.errors`;return W.assign(L,null),D(i0.nil),L}function D(L=Y.async?i0._`await `:i0.nil){let N=B.opts.passContext?B9.default.this:B9.default.self,M=!(("compile"in Y)&&!H||Y.schema===!1);W.assign(V,i0._`${L}${(0,nZ.callValidateCode)(Q,K,N,M)}`,Y.modifying)}function O(L){var N;W.if((0,i0.not)((N=Y.valid)!==null&&N!==void 0?N:V),L)}}hz.funcKeywordCode=tZ;function fz(Q){let{gen:Y,data:X,it:W}=Q;Y.if(W.parentData,()=>Y.assign(X,i0._`${W.parentData}[${W.parentDataProperty}]`))}function aZ(Q,Y){let{gen:X}=Q;X.if(i0._`Array.isArray(${Y})`,()=>{X.assign(B9.default.vErrors,i0._`${B9.default.vErrors} === null ? ${Y} : ${B9.default.vErrors}.concat(${Y})`).assign(B9.default.errors,i0._`${B9.default.vErrors}.length`),(0,oZ.extendErrors)(Q)},()=>Q.error())}function sZ({schemaEnv:Q},Y){if(Y.async&&!Q.$async)throw Error("async keyword in sync schema")}function gz(Q,Y,X){if(X===void 0)throw Error(`keyword "${Y}" failed to compile`);return Q.scopeValue("keyword",typeof X=="function"?{ref:X}:{ref:X,code:(0,i0.stringify)(X)})}function eZ(Q,Y,X=!1){return!Y.length||Y.some((W)=>W==="array"?Array.isArray(Q):W==="object"?Q&&typeof Q=="object"&&!Array.isArray(Q):typeof Q==W||X&&typeof Q>"u")}hz.validSchemaType=eZ;function QR({schema:Q,opts:Y,self:X,errSchemaPath:W},$,J){if(Array.isArray($.keyword)?!$.keyword.includes(J):$.keyword!==J)throw Error("ajv implementation error");let G=$.dependencies;if(G===null||G===void 0?void 0:G.some((H)=>!Object.prototype.hasOwnProperty.call(Q,H)))throw Error(`parent schema must have dependencies of ${J}: ${G.join(",")}`);if($.validateSchema){if(!$.validateSchema(Q[J])){let B=`keyword "${J}" value is invalid at path "${W}": `+X.errorsText($.validateSchema.errors);if(Y.validateSchema==="log")X.logger.error(B);else throw Error(B)}}}hz.validateKeywordUsage=QR});var dz=j((cz)=>{Object.defineProperty(cz,"__esModule",{value:!0});cz.extendSubschemaMode=cz.extendSubschemaData=cz.getSubschema=void 0;var p1=r(),mz=W0();function $R(Q,{keyword:Y,schemaProp:X,schema:W,schemaPath:$,errSchemaPath:J,topSchemaRef:G}){if(Y!==void 0&&W!==void 0)throw Error('both "keyword" and "schema" passed, only one allowed');if(Y!==void 0){let H=Q.schema[Y];return X===void 0?{schema:H,schemaPath:p1._`${Q.schemaPath}${(0,p1.getProperty)(Y)}`,errSchemaPath:`${Q.errSchemaPath}/${Y}`}:{schema:H[X],schemaPath:p1._`${Q.schemaPath}${(0,p1.getProperty)(Y)}${(0,p1.getProperty)(X)}`,errSchemaPath:`${Q.errSchemaPath}/${Y}/${(0,mz.escapeFragment)(X)}`}}if(W!==void 0){if($===void 0||J===void 0||G===void 0)throw Error('"schemaPath", "errSchemaPath" and "topSchemaRef" are required with "schema"');return{schema:W,schemaPath:$,topSchemaRef:G,errSchemaPath:J}}throw Error('either "keyword" or "schema" must be passed')}cz.getSubschema=$R;function JR(Q,Y,{dataProp:X,dataPropType:W,data:$,dataTypes:J,propertyName:G}){if($!==void 0&&X!==void 0)throw Error('both "data" and "dataProp" passed, only one allowed');let{gen:H}=Y;if(X!==void 0){let{errorPath:z,dataPathArr:K,opts:V}=Y,q=H.let("data",p1._`${Y.data}${(0,p1.getProperty)(X)}`,!0);B(q),Q.errorPath=p1.str`${z}${(0,mz.getErrorPath)(X,W,V.jsPropertySyntax)}`,Q.parentDataProperty=p1._`${X}`,Q.dataPathArr=[...K,Q.parentDataProperty]}if($!==void 0){let z=$ instanceof p1.Name?$:H.let("data",$,!0);if(B(z),G!==void 0)Q.propertyName=G}if(J)Q.dataTypes=J;function B(z){Q.data=z,Q.dataLevel=Y.dataLevel+1,Q.dataTypes=[],Y.definedProperties=new Set,Q.parentData=Y.data,Q.dataNames=[...Y.dataNames,z]}}cz.extendSubschemaData=JR;function GR(Q,{jtdDiscriminator:Y,jtdMetadata:X,compositeRule:W,createErrors:$,allErrors:J}){if(W!==void 0)Q.compositeRule=W;if($!==void 0)Q.createErrors=$;if(J!==void 0)Q.allErrors=J;Q.jtdDiscriminator=Y,Q.jtdMetadata=X}cz.extendSubschemaMode=GR});var K4=j((Zd,iz)=>{iz.exports=function Q(Y,X){if(Y===X)return!0;if(Y&&X&&typeof Y=="object"&&typeof X=="object"){if(Y.constructor!==X.constructor)return!1;var W,$,J;if(Array.isArray(Y)){if(W=Y.length,W!=X.length)return!1;for($=W;$--!==0;)if(!Q(Y[$],X[$]))return!1;return!0}if(Y.constructor===RegExp)return Y.source===X.source&&Y.flags===X.flags;if(Y.valueOf!==Object.prototype.valueOf)return Y.valueOf()===X.valueOf();if(Y.toString!==Object.prototype.toString)return Y.toString()===X.toString();if(J=Object.keys(Y),W=J.length,W!==Object.keys(X).length)return!1;for($=W;$--!==0;)if(!Object.prototype.hasOwnProperty.call(X,J[$]))return!1;for($=W;$--!==0;){var G=J[$];if(!Q(Y[G],X[G]))return!1}return!0}return Y!==Y&&X!==X}});var oz=j((Rd,nz)=>{var E6=nz.exports=function(Q,Y,X){if(typeof Y=="function")X=Y,Y={};X=Y.cb||X;var W=typeof X=="function"?X:X.pre||function(){},$=X.post||function(){};qY(Y,W,$,Q,"",Q)};E6.keywords={additionalItems:!0,items:!0,contains:!0,additionalProperties:!0,propertyNames:!0,not:!0,if:!0,then:!0,else:!0};E6.arrayKeywords={items:!0,allOf:!0,anyOf:!0,oneOf:!0};E6.propsKeywords={$defs:!0,definitions:!0,properties:!0,patternProperties:!0,dependencies:!0};E6.skipKeywords={default:!0,enum:!0,const:!0,required:!0,maximum:!0,minimum:!0,exclusiveMaximum:!0,exclusiveMinimum:!0,multipleOf:!0,maxLength:!0,minLength:!0,pattern:!0,format:!0,maxItems:!0,minItems:!0,uniqueItems:!0,maxProperties:!0,minProperties:!0};function qY(Q,Y,X,W,$,J,G,H,B,z){if(W&&typeof W=="object"&&!Array.isArray(W)){Y(W,$,J,G,H,B,z);for(var K in W){var V=W[K];if(Array.isArray(V)){if(K in E6.arrayKeywords)for(var q=0;q<V.length;q++)qY(Q,Y,X,V[q],$+"/"+K+"/"+q,J,$,K,W,q)}else if(K in E6.propsKeywords){if(V&&typeof V=="object")for(var F in V)qY(Q,Y,X,V[F],$+"/"+K+"/"+zR(F),J,$,K,W,F)}else if(K in E6.keywords||Q.allKeys&&!(K in E6.skipKeywords))qY(Q,Y,X,V,$+"/"+K,J,$,K,W)}X(W,$,J,G,H,B,z)}}function zR(Q){return Q.replace(/~/g,"~0").replace(/\//g,"~1")}});var V4=j((sz)=>{Object.defineProperty(sz,"__esModule",{value:!0});sz.getSchemaRefs=sz.resolveUrl=sz.normalizeId=sz._getFullPath=sz.getFullPath=sz.inlineRef=void 0;var KR=W0(),VR=K4(),FR=oz(),AR=new Set(["type","format","pattern","maxLength","minLength","maxProperties","minProperties","maxItems","minItems","maximum","minimum","uniqueItems","multipleOf","required","enum","const"]);function qR(Q,Y=!0){if(typeof Q=="boolean")return!0;if(Y===!0)return!$$(Q);if(!Y)return!1;return rz(Q)<=Y}sz.inlineRef=qR;var DR=new Set(["$ref","$recursiveRef","$recursiveAnchor","$dynamicRef","$dynamicAnchor"]);function $$(Q){for(let Y in Q){if(DR.has(Y))return!0;let X=Q[Y];if(Array.isArray(X)&&X.some($$))return!0;if(typeof X=="object"&&$$(X))return!0}return!1}function rz(Q){let Y=0;for(let X in Q){if(X==="$ref")return 1/0;if(Y++,AR.has(X))continue;if(typeof Q[X]=="object")(0,KR.eachItem)(Q[X],(W)=>Y+=rz(W));if(Y===1/0)return 1/0}return Y}function tz(Q,Y="",X){if(X!==!1)Y=s9(Y);let W=Q.parse(Y);return az(Q,W)}sz.getFullPath=tz;function az(Q,Y){return Q.serialize(Y).split("#")[0]+"#"}sz._getFullPath=az;var OR=/#\/?$/;function s9(Q){return Q?Q.replace(OR,""):""}sz.normalizeId=s9;function LR(Q,Y,X){return X=s9(X),Q.resolve(Y,X)}sz.resolveUrl=LR;var UR=/^[a-z_][-a-z0-9._]*$/i;function jR(Q,Y){if(typeof Q=="boolean")return{};let{schemaId:X,uriResolver:W}=this.opts,$=s9(Q[X]||Y),J={"":$},G=tz(W,$,!1),H={},B=new Set;return FR(Q,{allKeys:!0},(V,q,F,A)=>{if(A===void 0)return;let D=G+q,O=J[A];if(typeof V[X]=="string")O=L.call(this,V[X]);N.call(this,V.$anchor),N.call(this,V.$dynamicAnchor),J[q]=O;function L(M){let C=this.opts.uriResolver.resolve;if(M=s9(O?C(O,M):M),B.has(M))throw K(M);B.add(M);let Z=this.refs[M];if(typeof Z=="string")Z=this.refs[Z];if(typeof Z=="object")z(V,Z.schema,M);else if(M!==s9(D))if(M[0]==="#")z(V,H[M],M),H[M]=V;else this.refs[M]=D;return M}function N(M){if(typeof M=="string"){if(!UR.test(M))throw Error(`invalid anchor "${M}"`);L.call(this,`#${M}`)}}}),H;function z(V,q,F){if(q!==void 0&&!VR(V,q))throw K(F)}function K(V){return Error(`reference "${V}" resolves to more than one schema`)}}sz.getSchemaRefs=jR});var q4=j((qK)=>{Object.defineProperty(qK,"__esModule",{value:!0});qK.getData=qK.KeywordCxt=qK.validateFunctionCode=void 0;var $K=Lz(),QK=z4(),G$=a5(),DY=z4(),ZR=kz(),A4=lz(),J$=dz(),y=r(),m=X6(),RR=V4(),W6=W0(),F4=B4();function ER(Q){if(HK(Q)){if(BK(Q),GK(Q)){TR(Q);return}}JK(Q,()=>(0,$K.topBoolOrEmptySchema)(Q))}qK.validateFunctionCode=ER;function JK({gen:Q,validateName:Y,schema:X,schemaEnv:W,opts:$},J){if($.code.es5)Q.func(Y,y._`${m.default.data}, ${m.default.valCxt}`,W.$async,()=>{Q.code(y._`"use strict"; ${YK(X,$)}`),SR(Q,$),Q.code(J)});else Q.func(Y,y._`${m.default.data}, ${IR($)}`,W.$async,()=>Q.code(YK(X,$)).code(J))}function IR(Q){return y._`{${m.default.instancePath}="", ${m.default.parentData}, ${m.default.parentDataProperty}, ${m.default.rootData}=${m.default.data}${Q.dynamicRef?y._`, ${m.default.dynamicAnchors}={}`:y.nil}}={}`}function SR(Q,Y){Q.if(m.default.valCxt,()=>{if(Q.var(m.default.instancePath,y._`${m.default.valCxt}.${m.default.instancePath}`),Q.var(m.default.parentData,y._`${m.default.valCxt}.${m.default.parentData}`),Q.var(m.default.parentDataProperty,y._`${m.default.valCxt}.${m.default.parentDataProperty}`),Q.var(m.default.rootData,y._`${m.default.valCxt}.${m.default.rootData}`),Y.dynamicRef)Q.var(m.default.dynamicAnchors,y._`${m.default.valCxt}.${m.default.dynamicAnchors}`)},()=>{if(Q.var(m.default.instancePath,y._`""`),Q.var(m.default.parentData,y._`undefined`),Q.var(m.default.parentDataProperty,y._`undefined`),Q.var(m.default.rootData,m.default.data),Y.dynamicRef)Q.var(m.default.dynamicAnchors,y._`{}`)})}function TR(Q){let{schema:Y,opts:X,gen:W}=Q;JK(Q,()=>{if(X.$comment&&Y.$comment)KK(Q);if(xR(Q),W.let(m.default.vErrors,null),W.let(m.default.errors,0),X.unevaluated)CR(Q);zK(Q),gR(Q)});return}function CR(Q){let{gen:Y,validateName:X}=Q;Q.evaluated=Y.const("evaluated",y._`${X}.evaluated`),Y.if(y._`${Q.evaluated}.dynamicProps`,()=>Y.assign(y._`${Q.evaluated}.props`,y._`undefined`)),Y.if(y._`${Q.evaluated}.dynamicItems`,()=>Y.assign(y._`${Q.evaluated}.items`,y._`undefined`))}function YK(Q,Y){let X=typeof Q=="object"&&Q[Y.schemaId];return X&&(Y.code.source||Y.code.process)?y._`/*# sourceURL=${X} */`:y.nil}function kR(Q,Y){if(HK(Q)){if(BK(Q),GK(Q)){_R(Q,Y);return}}(0,$K.boolOrEmptySchema)(Q,Y)}function GK({schema:Q,self:Y}){if(typeof Q=="boolean")return!Q;for(let X in Q)if(Y.RULES.all[X])return!0;return!1}function HK(Q){return typeof Q.schema!="boolean"}function _R(Q,Y){let{schema:X,gen:W,opts:$}=Q;if($.$comment&&X.$comment)KK(Q);yR(Q),fR(Q);let J=W.const("_errs",m.default.errors);zK(Q,J),W.var(Y,y._`${J} === ${m.default.errors}`)}function BK(Q){(0,W6.checkUnknownRules)(Q),vR(Q)}function zK(Q,Y){if(Q.opts.jtd)return XK(Q,[],!1,Y);let X=(0,QK.getSchemaTypes)(Q.schema),W=(0,QK.coerceAndCheckDataType)(Q,X);XK(Q,X,!W,Y)}function vR(Q){let{schema:Y,errSchemaPath:X,opts:W,self:$}=Q;if(Y.$ref&&W.ignoreKeywordsWithRef&&(0,W6.schemaHasRulesButRef)(Y,$.RULES))$.logger.warn(`$ref: keywords ignored in schema at path "${X}"`)}function xR(Q){let{schema:Y,opts:X}=Q;if(Y.default!==void 0&&X.useDefaults&&X.strictSchema)(0,W6.checkStrictMode)(Q,"default is ignored in the schema root")}function yR(Q){let Y=Q.schema[Q.opts.schemaId];if(Y)Q.baseId=(0,RR.resolveUrl)(Q.opts.uriResolver,Q.baseId,Y)}function fR(Q){if(Q.schema.$async&&!Q.schemaEnv.$async)throw Error("async schema in sync schema")}function KK({gen:Q,schemaEnv:Y,schema:X,errSchemaPath:W,opts:$}){let J=X.$comment;if($.$comment===!0)Q.code(y._`${m.default.self}.logger.log(${J})`);else if(typeof $.$comment=="function"){let G=y.str`${W}/$comment`,H=Q.scopeValue("root",{ref:Y.root});Q.code(y._`${m.default.self}.opts.$comment(${J}, ${G}, ${H}.schema)`)}}function gR(Q){let{gen:Y,schemaEnv:X,validateName:W,ValidationError:$,opts:J}=Q;if(X.$async)Y.if(y._`${m.default.errors} === 0`,()=>Y.return(m.default.data),()=>Y.throw(y._`new ${$}(${m.default.vErrors})`));else{if(Y.assign(y._`${W}.errors`,m.default.vErrors),J.unevaluated)hR(Q);Y.return(y._`${m.default.errors} === 0`)}}function hR({gen:Q,evaluated:Y,props:X,items:W}){if(X instanceof y.Name)Q.assign(y._`${Y}.props`,X);if(W instanceof y.Name)Q.assign(y._`${Y}.items`,W)}function XK(Q,Y,X,W){let{gen:$,schema:J,data:G,allErrors:H,opts:B,self:z}=Q,{RULES:K}=z;if(J.$ref&&(B.ignoreKeywordsWithRef||!(0,W6.schemaHasRulesButRef)(J,K))){$.block(()=>FK(Q,"$ref",K.all.$ref.definition));return}if(!B.jtd)uR(Q,Y);$.block(()=>{for(let q of K.rules)V(q);V(K.post)});function V(q){if(!(0,G$.shouldUseGroup)(J,q))return;if(q.type){if($.if((0,DY.checkDataType)(q.type,G,B.strictNumbers)),WK(Q,q),Y.length===1&&Y[0]===q.type&&X)$.else(),(0,DY.reportTypeError)(Q);$.endIf()}else WK(Q,q);if(!H)$.if(y._`${m.default.errors} === ${W||0}`)}}function WK(Q,Y){let{gen:X,schema:W,opts:{useDefaults:$}}=Q;if($)(0,ZR.assignDefaults)(Q,Y.type);X.block(()=>{for(let J of Y.rules)if((0,G$.shouldUseRule)(W,J))FK(Q,J.keyword,J.definition,Y.type)})}function uR(Q,Y){if(Q.schemaEnv.meta||!Q.opts.strictTypes)return;if(lR(Q,Y),!Q.opts.allowUnionTypes)mR(Q,Y);cR(Q,Q.dataTypes)}function lR(Q,Y){if(!Y.length)return;if(!Q.dataTypes.length){Q.dataTypes=Y;return}Y.forEach((X)=>{if(!VK(Q.dataTypes,X))H$(Q,`type "${X}" not allowed by context "${Q.dataTypes.join(",")}"`)}),dR(Q,Y)}function mR(Q,Y){if(Y.length>1&&!(Y.length===2&&Y.includes("null")))H$(Q,"use allowUnionTypes to allow union type keyword")}function cR(Q,Y){let X=Q.self.RULES.all;for(let W in X){let $=X[W];if(typeof $=="object"&&(0,G$.shouldUseRule)(Q.schema,$)){let{type:J}=$.definition;if(J.length&&!J.some((G)=>pR(Y,G)))H$(Q,`missing type "${J.join(",")}" for keyword "${W}"`)}}}function pR(Q,Y){return Q.includes(Y)||Y==="number"&&Q.includes("integer")}function VK(Q,Y){return Q.includes(Y)||Y==="integer"&&Q.includes("number")}function dR(Q,Y){let X=[];for(let W of Q.dataTypes)if(VK(Y,W))X.push(W);else if(Y.includes("integer")&&W==="number")X.push("integer");Q.dataTypes=X}function H$(Q,Y){let X=Q.schemaEnv.baseId+Q.errSchemaPath;Y+=` at "${X}" (strictTypes)`,(0,W6.checkStrictMode)(Q,Y,Q.opts.strictTypes)}class B${constructor(Q,Y,X){if((0,A4.validateKeywordUsage)(Q,Y,X),this.gen=Q.gen,this.allErrors=Q.allErrors,this.keyword=X,this.data=Q.data,this.schema=Q.schema[X],this.$data=Y.$data&&Q.opts.$data&&this.schema&&this.schema.$data,this.schemaValue=(0,W6.schemaRefOrVal)(Q,this.schema,X,this.$data),this.schemaType=Y.schemaType,this.parentSchema=Q.schema,this.params={},this.it=Q,this.def=Y,this.$data)this.schemaCode=Q.gen.const("vSchema",AK(this.$data,Q));else if(this.schemaCode=this.schemaValue,!(0,A4.validSchemaType)(this.schema,Y.schemaType,Y.allowUndefined))throw Error(`${X} value must be ${JSON.stringify(Y.schemaType)}`);if("code"in Y?Y.trackErrors:Y.errors!==!1)this.errsCount=Q.gen.const("_errs",m.default.errors)}result(Q,Y,X){this.failResult((0,y.not)(Q),Y,X)}failResult(Q,Y,X){if(this.gen.if(Q),X)X();else this.error();if(Y){if(this.gen.else(),Y(),this.allErrors)this.gen.endIf()}else if(this.allErrors)this.gen.endIf();else this.gen.else()}pass(Q,Y){this.failResult((0,y.not)(Q),void 0,Y)}fail(Q){if(Q===void 0){if(this.error(),!this.allErrors)this.gen.if(!1);return}if(this.gen.if(Q),this.error(),this.allErrors)this.gen.endIf();else this.gen.else()}fail$data(Q){if(!this.$data)return this.fail(Q);let{schemaCode:Y}=this;this.fail(y._`${Y} !== undefined && (${(0,y.or)(this.invalid$data(),Q)})`)}error(Q,Y,X){if(Y){this.setParams(Y),this._error(Q,X),this.setParams({});return}this._error(Q,X)}_error(Q,Y){(Q?F4.reportExtraError:F4.reportError)(this,this.def.error,Y)}$dataError(){(0,F4.reportError)(this,this.def.$dataError||F4.keyword$DataError)}reset(){if(this.errsCount===void 0)throw Error('add "trackErrors" to keyword definition');(0,F4.resetErrorsCount)(this.gen,this.errsCount)}ok(Q){if(!this.allErrors)this.gen.if(Q)}setParams(Q,Y){if(Y)Object.assign(this.params,Q);else this.params=Q}block$data(Q,Y,X=y.nil){this.gen.block(()=>{this.check$data(Q,X),Y()})}check$data(Q=y.nil,Y=y.nil){if(!this.$data)return;let{gen:X,schemaCode:W,schemaType:$,def:J}=this;if(X.if((0,y.or)(y._`${W} === undefined`,Y)),Q!==y.nil)X.assign(Q,!0);if($.length||J.validateSchema){if(X.elseIf(this.invalid$data()),this.$dataError(),Q!==y.nil)X.assign(Q,!1)}X.else()}invalid$data(){let{gen:Q,schemaCode:Y,schemaType:X,def:W,it:$}=this;return(0,y.or)(J(),G());function J(){if(X.length){if(!(Y instanceof y.Name))throw Error("ajv implementation error");let H=Array.isArray(X)?X:[X];return y._`${(0,DY.checkDataTypes)(H,Y,$.opts.strictNumbers,DY.DataType.Wrong)}`}return y.nil}function G(){if(W.validateSchema){let H=Q.scopeValue("validate$data",{ref:W.validateSchema});return y._`!${H}(${Y})`}return y.nil}}subschema(Q,Y){let X=(0,J$.getSubschema)(this.it,Q);(0,J$.extendSubschemaData)(X,this.it,Q),(0,J$.extendSubschemaMode)(X,Q);let W={...this.it,...X,items:void 0,props:void 0};return kR(W,Y),W}mergeEvaluated(Q,Y){let{it:X,gen:W}=this;if(!X.opts.unevaluated)return;if(X.props!==!0&&Q.props!==void 0)X.props=W6.mergeEvaluated.props(W,Q.props,X.props,Y);if(X.items!==!0&&Q.items!==void 0)X.items=W6.mergeEvaluated.items(W,Q.items,X.items,Y)}mergeValidEvaluated(Q,Y){let{it:X,gen:W}=this;if(X.opts.unevaluated&&(X.props!==!0||X.items!==!0))return W.if(Y,()=>this.mergeEvaluated(Q,y.Name)),!0}}qK.KeywordCxt=B$;function FK(Q,Y,X,W){let $=new B$(Q,X,Y);if("code"in X)X.code($,W);else if($.$data&&X.validate)(0,A4.funcKeywordCode)($,X);else if("macro"in X)(0,A4.macroKeywordCode)($,X);else if(X.compile||X.validate)(0,A4.funcKeywordCode)($,X)}var iR=/^\/(?:[^~]|~0|~1)*$/,nR=/^([0-9]+)(#|\/(?:[^~]|~0|~1)*)?$/;function AK(Q,{dataLevel:Y,dataNames:X,dataPathArr:W}){let $,J;if(Q==="")return m.default.rootData;if(Q[0]==="/"){if(!iR.test(Q))throw Error(`Invalid JSON-pointer: ${Q}`);$=Q,J=m.default.rootData}else{let z=nR.exec(Q);if(!z)throw Error(`Invalid JSON-pointer: ${Q}`);let K=+z[1];if($=z[2],$==="#"){if(K>=Y)throw Error(B("property/index",K));return W[Y-K]}if(K>Y)throw Error(B("data",K));if(J=X[Y-K],!$)return J}let G=J,H=$.split("/");for(let z of H)if(z)J=y._`${J}${(0,y.getProperty)((0,W6.unescapeJsonPointer)(z))}`,G=y._`${G} && ${J}`;return G;function B(z,K){return`Cannot access ${z} ${K} levels up, current level is ${Y}`}}qK.getData=AK});var OY=j((LK)=>{Object.defineProperty(LK,"__esModule",{value:!0});class OK extends Error{constructor(Q){super("validation failed");this.errors=Q,this.ajv=this.validation=!0}}LK.default=OK});var D4=j((jK)=>{Object.defineProperty(jK,"__esModule",{value:!0});var z$=V4();class UK extends Error{constructor(Q,Y,X,W){super(W||`can't resolve reference ${X} from id ${Y}`);this.missingRef=(0,z$.resolveUrl)(Q,Y,X),this.missingSchema=(0,z$.normalizeId)((0,z$.getFullPath)(Q,this.missingRef))}}jK.default=UK});var UY=j((MK)=>{Object.defineProperty(MK,"__esModule",{value:!0});MK.resolveSchema=MK.getCompilingSchema=MK.resolveRef=MK.compileSchema=MK.SchemaEnv=void 0;var I1=r(),sR=OY(),z9=X6(),S1=V4(),wK=W0(),eR=q4();class O4{constructor(Q){var Y;this.refs={},this.dynamicAnchors={};let X;if(typeof Q.schema=="object")X=Q.schema;this.schema=Q.schema,this.schemaId=Q.schemaId,this.root=Q.root||this,this.baseId=(Y=Q.baseId)!==null&&Y!==void 0?Y:(0,S1.normalizeId)(X===null||X===void 0?void 0:X[Q.schemaId||"$id"]),this.schemaPath=Q.schemaPath,this.localRefs=Q.localRefs,this.meta=Q.meta,this.$async=X===null||X===void 0?void 0:X.$async,this.refs={}}}MK.SchemaEnv=O4;function V$(Q){let Y=NK.call(this,Q);if(Y)return Y;let X=(0,S1.getFullPath)(this.opts.uriResolver,Q.root.baseId),{es5:W,lines:$}=this.opts.code,{ownProperties:J}=this.opts,G=new I1.CodeGen(this.scope,{es5:W,lines:$,ownProperties:J}),H;if(Q.$async)H=G.scopeValue("Error",{ref:sR.default,code:I1._`require("ajv/dist/runtime/validation_error").default`});let B=G.scopeName("validate");Q.validateName=B;let z={gen:G,allErrors:this.opts.allErrors,data:z9.default.data,parentData:z9.default.parentData,parentDataProperty:z9.default.parentDataProperty,dataNames:[z9.default.data],dataPathArr:[I1.nil],dataLevel:0,dataTypes:[],definedProperties:new Set,topSchemaRef:G.scopeValue("schema",this.opts.code.source===!0?{ref:Q.schema,code:(0,I1.stringify)(Q.schema)}:{ref:Q.schema}),validateName:B,ValidationError:H,schema:Q.schema,schemaEnv:Q,rootId:X,baseId:Q.baseId||X,schemaPath:I1.nil,errSchemaPath:Q.schemaPath||(this.opts.jtd?"":"#"),errorPath:I1._`""`,opts:this.opts,self:this},K;try{this._compilations.add(Q),(0,eR.validateFunctionCode)(z),G.optimize(this.opts.code.optimize);let V=G.toString();if(K=`${G.scopeRefs(z9.default.scope)}return ${V}`,this.opts.code.process)K=this.opts.code.process(K,Q);let F=Function(`${z9.default.self}`,`${z9.default.scope}`,K)(this,this.scope.get());if(this.scope.value(B,{ref:F}),F.errors=null,F.schema=Q.schema,F.schemaEnv=Q,Q.$async)F.$async=!0;if(this.opts.code.source===!0)F.source={validateName:B,validateCode:V,scopeValues:G._values};if(this.opts.unevaluated){let{props:A,items:D}=z;if(F.evaluated={props:A instanceof I1.Name?void 0:A,items:D instanceof I1.Name?void 0:D,dynamicProps:A instanceof I1.Name,dynamicItems:D instanceof I1.Name},F.source)F.source.evaluated=(0,I1.stringify)(F.evaluated)}return Q.validate=F,Q}catch(V){if(delete Q.validate,delete Q.validateName,K)this.logger.error("Error compiling schema, function code:",K);throw V}finally{this._compilations.delete(Q)}}MK.compileSchema=V$;function QE(Q,Y,X){var W;X=(0,S1.resolveUrl)(this.opts.uriResolver,Y,X);let $=Q.refs[X];if($)return $;let J=WE.call(this,Q,X);if(J===void 0){let G=(W=Q.localRefs)===null||W===void 0?void 0:W[X],{schemaId:H}=this.opts;if(G)J=new O4({schema:G,schemaId:H,root:Q,baseId:Y})}if(J===void 0)return;return Q.refs[X]=YE.call(this,J)}MK.resolveRef=QE;function YE(Q){if((0,S1.inlineRef)(Q.schema,this.opts.inlineRefs))return Q.schema;return Q.validate?Q:V$.call(this,Q)}function NK(Q){for(let Y of this._compilations)if(XE(Y,Q))return Y}MK.getCompilingSchema=NK;function XE(Q,Y){return Q.schema===Y.schema&&Q.root===Y.root&&Q.baseId===Y.baseId}function WE(Q,Y){let X;while(typeof(X=this.refs[Y])=="string")Y=X;return X||this.schemas[Y]||LY.call(this,Q,Y)}function LY(Q,Y){let X=this.opts.uriResolver.parse(Y),W=(0,S1._getFullPath)(this.opts.uriResolver,X),$=(0,S1.getFullPath)(this.opts.uriResolver,Q.baseId,void 0);if(Object.keys(Q.schema).length>0&&W===$)return K$.call(this,X,Q);let J=(0,S1.normalizeId)(W),G=this.refs[J]||this.schemas[J];if(typeof G=="string"){let H=LY.call(this,Q,G);if(typeof(H===null||H===void 0?void 0:H.schema)!=="object")return;return K$.call(this,X,H)}if(typeof(G===null||G===void 0?void 0:G.schema)!=="object")return;if(!G.validate)V$.call(this,G);if(J===(0,S1.normalizeId)(Y)){let{schema:H}=G,{schemaId:B}=this.opts,z=H[B];if(z)$=(0,S1.resolveUrl)(this.opts.uriResolver,$,z);return new O4({schema:H,schemaId:B,root:Q,baseId:$})}return K$.call(this,X,G)}MK.resolveSchema=LY;var $E=new Set(["properties","patternProperties","enum","dependencies","definitions"]);function K$(Q,{baseId:Y,schema:X,root:W}){var $;if((($=Q.fragment)===null||$===void 0?void 0:$[0])!=="/")return;for(let H of Q.fragment.slice(1).split("/")){if(typeof X==="boolean")return;let B=X[(0,wK.unescapeFragment)(H)];if(B===void 0)return;X=B;let z=typeof X==="object"&&X[this.opts.schemaId];if(!$E.has(H)&&z)Y=(0,S1.resolveUrl)(this.opts.uriResolver,Y,z)}let J;if(typeof X!="boolean"&&X.$ref&&!(0,wK.schemaHasRulesButRef)(X,this.RULES)){let H=(0,S1.resolveUrl)(this.opts.uriResolver,Y,X.$ref);J=LY.call(this,W,H)}let{schemaId:G}=this.opts;if(J=J||new O4({schema:X,schemaId:G,root:W,baseId:Y}),J.schema!==J.root.schema)return J;return}});var PK=j((kd,zE)=>{zE.exports={$id:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#",description:"Meta-schema for $data reference (JSON AnySchema extension proposal)",type:"object",required:["$data"],properties:{$data:{type:"string",anyOf:[{format:"relative-json-pointer"},{format:"json-pointer"}]}},additionalProperties:!1}});var A$=j((_d,IK)=>{var KE=RegExp.prototype.test.bind(/^[\da-f]{8}-[\da-f]{4}-[\da-f]{4}-[\da-f]{4}-[\da-f]{12}$/iu),RK=RegExp.prototype.test.bind(/^(?:(?:25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)$/u);function F$(Q){let Y="",X=0,W=0;for(W=0;W<Q.length;W++){if(X=Q[W].charCodeAt(0),X===48)continue;if(!(X>=48&&X<=57||X>=65&&X<=70||X>=97&&X<=102))return"";Y+=Q[W];break}for(W+=1;W<Q.length;W++){if(X=Q[W].charCodeAt(0),!(X>=48&&X<=57||X>=65&&X<=70||X>=97&&X<=102))return"";Y+=Q[W]}return Y}var VE=RegExp.prototype.test.bind(/[^!"$&'()*+,\-.;=_`a-z{}~]/u);function ZK(Q){return Q.length=0,!0}function FE(Q,Y,X){if(Q.length){let W=F$(Q);if(W!=="")Y.push(W);else return X.error=!0,!1;Q.length=0}return!0}function AE(Q){let Y=0,X={error:!1,address:"",zone:""},W=[],$=[],J=!1,G=!1,H=FE;for(let B=0;B<Q.length;B++){let z=Q[B];if(z==="["||z==="]")continue;if(z===":"){if(J===!0)G=!0;if(!H($,W,X))break;if(++Y>7){X.error=!0;break}if(B>0&&Q[B-1]===":")J=!0;W.push(":");continue}else if(z==="%"){if(!H($,W,X))break;H=ZK}else{$.push(z);continue}}if($.length)if(H===ZK)X.zone=$.join("");else if(G)W.push($.join(""));else W.push(F$($));return X.address=W.join(""),X}function EK(Q){if(qE(Q,":")<2)return{host:Q,isIPV6:!1};let Y=AE(Q);if(!Y.error){let{address:X,address:W}=Y;if(Y.zone)X+="%"+Y.zone,W+="%25"+Y.zone;return{host:X,isIPV6:!0,escapedHost:W}}else return{host:Q,isIPV6:!1}}function qE(Q,Y){let X=0;for(let W=0;W<Q.length;W++)if(Q[W]===Y)X++;return X}function DE(Q){let Y=Q,X=[],W=-1,$=0;while($=Y.length){if($===1)if(Y===".")break;else if(Y==="/"){X.push("/");break}else{X.push(Y);break}else if($===2){if(Y[0]==="."){if(Y[1]===".")break;else if(Y[1]==="/"){Y=Y.slice(2);continue}}else if(Y[0]==="/"){if(Y[1]==="."||Y[1]==="/"){X.push("/");break}}}else if($===3){if(Y==="/.."){if(X.length!==0)X.pop();X.push("/");break}}if(Y[0]==="."){if(Y[1]==="."){if(Y[2]==="/"){Y=Y.slice(3);continue}}else if(Y[1]==="/"){Y=Y.slice(2);continue}}else if(Y[0]==="/"){if(Y[1]==="."){if(Y[2]==="/"){Y=Y.slice(2);continue}else if(Y[2]==="."){if(Y[3]==="/"){if(Y=Y.slice(3),X.length!==0)X.pop();continue}}}}if((W=Y.indexOf("/",1))===-1){X.push(Y);break}else X.push(Y.slice(0,W)),Y=Y.slice(W)}return X.join("")}function OE(Q,Y){let X=Y!==!0?escape:unescape;if(Q.scheme!==void 0)Q.scheme=X(Q.scheme);if(Q.userinfo!==void 0)Q.userinfo=X(Q.userinfo);if(Q.host!==void 0)Q.host=X(Q.host);if(Q.path!==void 0)Q.path=X(Q.path);if(Q.query!==void 0)Q.query=X(Q.query);if(Q.fragment!==void 0)Q.fragment=X(Q.fragment);return Q}function LE(Q){let Y=[];if(Q.userinfo!==void 0)Y.push(Q.userinfo),Y.push("@");if(Q.host!==void 0){let X=unescape(Q.host);if(!RK(X)){let W=EK(X);if(W.isIPV6===!0)X=`[${W.escapedHost}]`;else X=Q.host}Y.push(X)}if(typeof Q.port==="number"||typeof Q.port==="string")Y.push(":"),Y.push(String(Q.port));return Y.length?Y.join(""):void 0}IK.exports={nonSimpleDomain:VE,recomposeAuthority:LE,normalizeComponentEncoding:OE,removeDotSegments:DE,isIPv4:RK,isUUID:KE,normalizeIPv6:EK,stringArrayToHexStripped:F$}});var _K=j((vd,kK)=>{var{isUUID:UE}=A$(),jE=/([\da-z][\d\-a-z]{0,31}):((?:[\w!$'()*+,\-.:;=@]|%[\da-f]{2})+)/iu,wE=["http","https","ws","wss","urn","urn:uuid"];function NE(Q){return wE.indexOf(Q)!==-1}function q$(Q){if(Q.secure===!0)return!0;else if(Q.secure===!1)return!1;else if(Q.scheme)return Q.scheme.length===3&&(Q.scheme[0]==="w"||Q.scheme[0]==="W")&&(Q.scheme[1]==="s"||Q.scheme[1]==="S")&&(Q.scheme[2]==="s"||Q.scheme[2]==="S");else return!1}function SK(Q){if(!Q.host)Q.error=Q.error||"HTTP URIs must have a host.";return Q}function TK(Q){let Y=String(Q.scheme).toLowerCase()==="https";if(Q.port===(Y?443:80)||Q.port==="")Q.port=void 0;if(!Q.path)Q.path="/";return Q}function ME(Q){return Q.secure=q$(Q),Q.resourceName=(Q.path||"/")+(Q.query?"?"+Q.query:""),Q.path=void 0,Q.query=void 0,Q}function bE(Q){if(Q.port===(q$(Q)?443:80)||Q.port==="")Q.port=void 0;if(typeof Q.secure==="boolean")Q.scheme=Q.secure?"wss":"ws",Q.secure=void 0;if(Q.resourceName){let[Y,X]=Q.resourceName.split("?");Q.path=Y&&Y!=="/"?Y:void 0,Q.query=X,Q.resourceName=void 0}return Q.fragment=void 0,Q}function PE(Q,Y){if(!Q.path)return Q.error="URN can not be parsed",Q;let X=Q.path.match(jE);if(X){let W=Y.scheme||Q.scheme||"urn";Q.nid=X[1].toLowerCase(),Q.nss=X[2];let $=`${W}:${Y.nid||Q.nid}`,J=D$($);if(Q.path=void 0,J)Q=J.parse(Q,Y)}else Q.error=Q.error||"URN can not be parsed.";return Q}function ZE(Q,Y){if(Q.nid===void 0)throw Error("URN without nid cannot be serialized");let X=Y.scheme||Q.scheme||"urn",W=Q.nid.toLowerCase(),$=`${X}:${Y.nid||W}`,J=D$($);if(J)Q=J.serialize(Q,Y);let G=Q,H=Q.nss;return G.path=`${W||Y.nid}:${H}`,Y.skipEscape=!0,G}function RE(Q,Y){let X=Q;if(X.uuid=X.nss,X.nss=void 0,!Y.tolerant&&(!X.uuid||!UE(X.uuid)))X.error=X.error||"UUID is not valid.";return X}function EE(Q){let Y=Q;return Y.nss=(Q.uuid||"").toLowerCase(),Y}var CK={scheme:"http",domainHost:!0,parse:SK,serialize:TK},IE={scheme:"https",domainHost:CK.domainHost,parse:SK,serialize:TK},jY={scheme:"ws",domainHost:!0,parse:ME,serialize:bE},SE={scheme:"wss",domainHost:jY.domainHost,parse:jY.parse,serialize:jY.serialize},TE={scheme:"urn",parse:PE,serialize:ZE,skipNormalize:!0},CE={scheme:"urn:uuid",parse:RE,serialize:EE,skipNormalize:!0},wY={http:CK,https:IE,ws:jY,wss:SE,urn:TE,"urn:uuid":CE};Object.setPrototypeOf(wY,null);function D$(Q){return Q&&(wY[Q]||wY[Q.toLowerCase()])||void 0}kK.exports={wsIsSecure:q$,SCHEMES:wY,isValidSchemeName:NE,getSchemeHandler:D$}});var L$=j((xd,MY)=>{var{normalizeIPv6:kE,removeDotSegments:L4,recomposeAuthority:_E,normalizeComponentEncoding:NY,isIPv4:vE,nonSimpleDomain:xE}=A$(),{SCHEMES:yE,getSchemeHandler:vK}=_K();function fE(Q,Y){if(typeof Q==="string")Q=d1($6(Q,Y),Y);else if(typeof Q==="object")Q=$6(d1(Q,Y),Y);return Q}function gE(Q,Y,X){let W=X?Object.assign({scheme:"null"},X):{scheme:"null"},$=xK($6(Q,W),$6(Y,W),W,!0);return W.skipEscape=!0,d1($,W)}function xK(Q,Y,X,W){let $={};if(!W)Q=$6(d1(Q,X),X),Y=$6(d1(Y,X),X);if(X=X||{},!X.tolerant&&Y.scheme)$.scheme=Y.scheme,$.userinfo=Y.userinfo,$.host=Y.host,$.port=Y.port,$.path=L4(Y.path||""),$.query=Y.query;else{if(Y.userinfo!==void 0||Y.host!==void 0||Y.port!==void 0)$.userinfo=Y.userinfo,$.host=Y.host,$.port=Y.port,$.path=L4(Y.path||""),$.query=Y.query;else{if(!Y.path)if($.path=Q.path,Y.query!==void 0)$.query=Y.query;else $.query=Q.query;else{if(Y.path[0]==="/")$.path=L4(Y.path);else{if((Q.userinfo!==void 0||Q.host!==void 0||Q.port!==void 0)&&!Q.path)$.path="/"+Y.path;else if(!Q.path)$.path=Y.path;else $.path=Q.path.slice(0,Q.path.lastIndexOf("/")+1)+Y.path;$.path=L4($.path)}$.query=Y.query}$.userinfo=Q.userinfo,$.host=Q.host,$.port=Q.port}$.scheme=Q.scheme}return $.fragment=Y.fragment,$}function hE(Q,Y,X){if(typeof Q==="string")Q=unescape(Q),Q=d1(NY($6(Q,X),!0),{...X,skipEscape:!0});else if(typeof Q==="object")Q=d1(NY(Q,!0),{...X,skipEscape:!0});if(typeof Y==="string")Y=unescape(Y),Y=d1(NY($6(Y,X),!0),{...X,skipEscape:!0});else if(typeof Y==="object")Y=d1(NY(Y,!0),{...X,skipEscape:!0});return Q.toLowerCase()===Y.toLowerCase()}function d1(Q,Y){let X={host:Q.host,scheme:Q.scheme,userinfo:Q.userinfo,port:Q.port,path:Q.path,query:Q.query,nid:Q.nid,nss:Q.nss,uuid:Q.uuid,fragment:Q.fragment,reference:Q.reference,resourceName:Q.resourceName,secure:Q.secure,error:""},W=Object.assign({},Y),$=[],J=vK(W.scheme||X.scheme);if(J&&J.serialize)J.serialize(X,W);if(X.path!==void 0)if(!W.skipEscape){if(X.path=escape(X.path),X.scheme!==void 0)X.path=X.path.split("%3A").join(":")}else X.path=unescape(X.path);if(W.reference!=="suffix"&&X.scheme)$.push(X.scheme,":");let G=_E(X);if(G!==void 0){if(W.reference!=="suffix")$.push("//");if($.push(G),X.path&&X.path[0]!=="/")$.push("/")}if(X.path!==void 0){let H=X.path;if(!W.absolutePath&&(!J||!J.absolutePath))H=L4(H);if(G===void 0&&H[0]==="/"&&H[1]==="/")H="/%2F"+H.slice(2);$.push(H)}if(X.query!==void 0)$.push("?",X.query);if(X.fragment!==void 0)$.push("#",X.fragment);return $.join("")}var uE=/^(?:([^#/:?]+):)?(?:\/\/((?:([^#/?@]*)@)?(\[[^#/?\]]+\]|[^#/:?]*)(?::(\d*))?))?([^#?]*)(?:\?([^#]*))?(?:#((?:.|[\n\r])*))?/u;function $6(Q,Y){let X=Object.assign({},Y),W={scheme:void 0,userinfo:void 0,host:"",port:void 0,path:"",query:void 0,fragment:void 0},$=!1;if(X.reference==="suffix")if(X.scheme)Q=X.scheme+":"+Q;else Q="//"+Q;let J=Q.match(uE);if(J){if(W.scheme=J[1],W.userinfo=J[3],W.host=J[4],W.port=parseInt(J[5],10),W.path=J[6]||"",W.query=J[7],W.fragment=J[8],isNaN(W.port))W.port=J[5];if(W.host)if(vE(W.host)===!1){let B=kE(W.host);W.host=B.host.toLowerCase(),$=B.isIPV6}else $=!0;if(W.scheme===void 0&&W.userinfo===void 0&&W.host===void 0&&W.port===void 0&&W.query===void 0&&!W.path)W.reference="same-document";else if(W.scheme===void 0)W.reference="relative";else if(W.fragment===void 0)W.reference="absolute";else W.reference="uri";if(X.reference&&X.reference!=="suffix"&&X.reference!==W.reference)W.error=W.error||"URI is not a "+X.reference+" reference.";let G=vK(X.scheme||W.scheme);if(!X.unicodeSupport&&(!G||!G.unicodeSupport)){if(W.host&&(X.domainHost||G&&G.domainHost)&&$===!1&&xE(W.host))try{W.host=URL.domainToASCII(W.host.toLowerCase())}catch(H){W.error=W.error||"Host's domain name can not be converted to ASCII: "+H}}if(!G||G&&!G.skipNormalize){if(Q.indexOf("%")!==-1){if(W.scheme!==void 0)W.scheme=unescape(W.scheme);if(W.host!==void 0)W.host=unescape(W.host)}if(W.path)W.path=escape(unescape(W.path));if(W.fragment)W.fragment=encodeURI(decodeURIComponent(W.fragment))}if(G&&G.parse)G.parse(W,X)}else W.error=W.error||"URI can not be parsed.";return W}var O$={SCHEMES:yE,normalize:fE,resolve:gE,resolveComponent:xK,equal:hE,serialize:d1,parse:$6};MY.exports=O$;MY.exports.default=O$;MY.exports.fastUri=O$});var gK=j((fK)=>{Object.defineProperty(fK,"__esModule",{value:!0});var yK=L$();yK.code='require("ajv/dist/runtime/uri").default';fK.default=yK});var iK=j((J6)=>{Object.defineProperty(J6,"__esModule",{value:!0});J6.CodeGen=J6.Name=J6.nil=J6.stringify=J6.str=J6._=J6.KeywordCxt=void 0;var mE=q4();Object.defineProperty(J6,"KeywordCxt",{enumerable:!0,get:function(){return mE.KeywordCxt}});var e9=r();Object.defineProperty(J6,"_",{enumerable:!0,get:function(){return e9._}});Object.defineProperty(J6,"str",{enumerable:!0,get:function(){return e9.str}});Object.defineProperty(J6,"stringify",{enumerable:!0,get:function(){return e9.stringify}});Object.defineProperty(J6,"nil",{enumerable:!0,get:function(){return e9.nil}});Object.defineProperty(J6,"Name",{enumerable:!0,get:function(){return e9.Name}});Object.defineProperty(J6,"CodeGen",{enumerable:!0,get:function(){return e9.CodeGen}});var cE=OY(),cK=D4(),pE=t5(),U4=UY(),dE=r(),j4=V4(),bY=z4(),j$=W0(),hK=PK(),iE=gK(),pK=(Q,Y)=>new RegExp(Q,Y);pK.code="new RegExp";var nE=["removeAdditional","useDefaults","coerceTypes"],oE=new Set(["validate","serialize","parse","wrapper","root","schema","keyword","pattern","formats","validate$data","func","obj","Error"]),rE={errorDataPath:"",format:"`validateFormats: false` can be used instead.",nullable:'"nullable" keyword is supported by default.',jsonPointers:"Deprecated jsPropertySyntax can be used instead.",extendRefs:"Deprecated ignoreKeywordsWithRef can be used instead.",missingRefs:"Pass empty schema with $id that should be ignored to ajv.addSchema.",processCode:"Use option `code: {process: (code, schemaEnv: object) => string}`",sourceCode:"Use option `code: {source: true}`",strictDefaults:"It is default now, see option `strict`.",strictKeywords:"It is default now, see option `strict`.",uniqueItems:'"uniqueItems" keyword is always validated.',unknownFormats:"Disable strict mode or pass `true` to `ajv.addFormat` (or `formats` option).",cache:"Map is used as cache, schema object as key.",serialize:"Map is used as cache, schema object as key.",ajvErrors:"It is default now."},tE={ignoreKeywordsWithRef:"",jsPropertySyntax:"",unicode:'"minLength"/"maxLength" account for unicode characters by default.'},uK=200;function aE(Q){var Y,X,W,$,J,G,H,B,z,K,V,q,F,A,D,O,L,N,M,C,Z,K0,P0,g1,l6;let L1=Q.strict,m6=(Y=Q.code)===null||Y===void 0?void 0:Y.optimize,b8=m6===!0||m6===void 0?1:m6||0,P8=(W=(X=Q.code)===null||X===void 0?void 0:X.regExp)!==null&&W!==void 0?W:pK,dX=($=Q.uriResolver)!==null&&$!==void 0?$:iE.default;return{strictSchema:(G=(J=Q.strictSchema)!==null&&J!==void 0?J:L1)!==null&&G!==void 0?G:!0,strictNumbers:(B=(H=Q.strictNumbers)!==null&&H!==void 0?H:L1)!==null&&B!==void 0?B:!0,strictTypes:(K=(z=Q.strictTypes)!==null&&z!==void 0?z:L1)!==null&&K!==void 0?K:"log",strictTuples:(q=(V=Q.strictTuples)!==null&&V!==void 0?V:L1)!==null&&q!==void 0?q:"log",strictRequired:(A=(F=Q.strictRequired)!==null&&F!==void 0?F:L1)!==null&&A!==void 0?A:!1,code:Q.code?{...Q.code,optimize:b8,regExp:P8}:{optimize:b8,regExp:P8},loopRequired:(D=Q.loopRequired)!==null&&D!==void 0?D:uK,loopEnum:(O=Q.loopEnum)!==null&&O!==void 0?O:uK,meta:(L=Q.meta)!==null&&L!==void 0?L:!0,messages:(N=Q.messages)!==null&&N!==void 0?N:!0,inlineRefs:(M=Q.inlineRefs)!==null&&M!==void 0?M:!0,schemaId:(C=Q.schemaId)!==null&&C!==void 0?C:"$id",addUsedSchema:(Z=Q.addUsedSchema)!==null&&Z!==void 0?Z:!0,validateSchema:(K0=Q.validateSchema)!==null&&K0!==void 0?K0:!0,validateFormats:(P0=Q.validateFormats)!==null&&P0!==void 0?P0:!0,unicodeRegExp:(g1=Q.unicodeRegExp)!==null&&g1!==void 0?g1:!0,int32range:(l6=Q.int32range)!==null&&l6!==void 0?l6:!0,uriResolver:dX}}class PY{constructor(Q={}){this.schemas={},this.refs={},this.formats={},this._compilations=new Set,this._loading={},this._cache=new Map,Q=this.opts={...Q,...aE(Q)};let{es5:Y,lines:X}=this.opts.code;this.scope=new dE.ValueScope({scope:{},prefixes:oE,es5:Y,lines:X}),this.logger=WI(Q.logger);let W=Q.validateFormats;if(Q.validateFormats=!1,this.RULES=(0,pE.getRules)(),lK.call(this,rE,Q,"NOT SUPPORTED"),lK.call(this,tE,Q,"DEPRECATED","warn"),this._metaOpts=YI.call(this),Q.formats)eE.call(this);if(this._addVocabularies(),this._addDefaultMetaSchema(),Q.keywords)QI.call(this,Q.keywords);if(typeof Q.meta=="object")this.addMetaSchema(Q.meta);sE.call(this),Q.validateFormats=W}_addVocabularies(){this.addKeyword("$async")}_addDefaultMetaSchema(){let{$data:Q,meta:Y,schemaId:X}=this.opts,W=hK;if(X==="id")W={...hK},W.id=W.$id,delete W.$id;if(Y&&Q)this.addMetaSchema(W,W[X],!1)}defaultMeta(){let{meta:Q,schemaId:Y}=this.opts;return this.opts.defaultMeta=typeof Q=="object"?Q[Y]||Q:void 0}validate(Q,Y){let X;if(typeof Q=="string"){if(X=this.getSchema(Q),!X)throw Error(`no schema with key or ref "${Q}"`)}else X=this.compile(Q);let W=X(Y);if(!("$async"in X))this.errors=X.errors;return W}compile(Q,Y){let X=this._addSchema(Q,Y);return X.validate||this._compileSchemaEnv(X)}compileAsync(Q,Y){if(typeof this.opts.loadSchema!="function")throw Error("options.loadSchema should be a function");let{loadSchema:X}=this.opts;return W.call(this,Q,Y);async function W(z,K){await $.call(this,z.$schema);let V=this._addSchema(z,K);return V.validate||J.call(this,V)}async function $(z){if(z&&!this.getSchema(z))await W.call(this,{$ref:z},!0)}async function J(z){try{return this._compileSchemaEnv(z)}catch(K){if(!(K instanceof cK.default))throw K;return G.call(this,K),await H.call(this,K.missingSchema),J.call(this,z)}}function G({missingSchema:z,missingRef:K}){if(this.refs[z])throw Error(`AnySchema ${z} is loaded but ${K} cannot be resolved`)}async function H(z){let K=await B.call(this,z);if(!this.refs[z])await $.call(this,K.$schema);if(!this.refs[z])this.addSchema(K,z,Y)}async function B(z){let K=this._loading[z];if(K)return K;try{return await(this._loading[z]=X(z))}finally{delete this._loading[z]}}}addSchema(Q,Y,X,W=this.opts.validateSchema){if(Array.isArray(Q)){for(let J of Q)this.addSchema(J,void 0,X,W);return this}let $;if(typeof Q==="object"){let{schemaId:J}=this.opts;if($=Q[J],$!==void 0&&typeof $!="string")throw Error(`schema ${J} must be string`)}return Y=(0,j4.normalizeId)(Y||$),this._checkUnique(Y),this.schemas[Y]=this._addSchema(Q,X,Y,W,!0),this}addMetaSchema(Q,Y,X=this.opts.validateSchema){return this.addSchema(Q,Y,!0,X),this}validateSchema(Q,Y){if(typeof Q=="boolean")return!0;let X;if(X=Q.$schema,X!==void 0&&typeof X!="string")throw Error("$schema must be a string");if(X=X||this.opts.defaultMeta||this.defaultMeta(),!X)return this.logger.warn("meta-schema not available"),this.errors=null,!0;let W=this.validate(X,Q);if(!W&&Y){let $="schema is invalid: "+this.errorsText();if(this.opts.validateSchema==="log")this.logger.error($);else throw Error($)}return W}getSchema(Q){let Y;while(typeof(Y=mK.call(this,Q))=="string")Q=Y;if(Y===void 0){let{schemaId:X}=this.opts,W=new U4.SchemaEnv({schema:{},schemaId:X});if(Y=U4.resolveSchema.call(this,W,Q),!Y)return;this.refs[Q]=Y}return Y.validate||this._compileSchemaEnv(Y)}removeSchema(Q){if(Q instanceof RegExp)return this._removeAllSchemas(this.schemas,Q),this._removeAllSchemas(this.refs,Q),this;switch(typeof Q){case"undefined":return this._removeAllSchemas(this.schemas),this._removeAllSchemas(this.refs),this._cache.clear(),this;case"string":{let Y=mK.call(this,Q);if(typeof Y=="object")this._cache.delete(Y.schema);return delete this.schemas[Q],delete this.refs[Q],this}case"object":{let Y=Q;this._cache.delete(Y);let X=Q[this.opts.schemaId];if(X)X=(0,j4.normalizeId)(X),delete this.schemas[X],delete this.refs[X];return this}default:throw Error("ajv.removeSchema: invalid parameter")}}addVocabulary(Q){for(let Y of Q)this.addKeyword(Y);return this}addKeyword(Q,Y){let X;if(typeof Q=="string"){if(X=Q,typeof Y=="object")this.logger.warn("these parameters are deprecated, see docs for addKeyword"),Y.keyword=X}else if(typeof Q=="object"&&Y===void 0){if(Y=Q,X=Y.keyword,Array.isArray(X)&&!X.length)throw Error("addKeywords: keyword must be string or non-empty array")}else throw Error("invalid addKeywords parameters");if(JI.call(this,X,Y),!Y)return(0,j$.eachItem)(X,($)=>U$.call(this,$)),this;HI.call(this,Y);let W={...Y,type:(0,bY.getJSONTypes)(Y.type),schemaType:(0,bY.getJSONTypes)(Y.schemaType)};return(0,j$.eachItem)(X,W.type.length===0?($)=>U$.call(this,$,W):($)=>W.type.forEach((J)=>U$.call(this,$,W,J))),this}getKeyword(Q){let Y=this.RULES.all[Q];return typeof Y=="object"?Y.definition:!!Y}removeKeyword(Q){let{RULES:Y}=this;delete Y.keywords[Q],delete Y.all[Q];for(let X of Y.rules){let W=X.rules.findIndex(($)=>$.keyword===Q);if(W>=0)X.rules.splice(W,1)}return this}addFormat(Q,Y){if(typeof Y=="string")Y=new RegExp(Y);return this.formats[Q]=Y,this}errorsText(Q=this.errors,{separator:Y=", ",dataVar:X="data"}={}){if(!Q||Q.length===0)return"No errors";return Q.map((W)=>`${X}${W.instancePath} ${W.message}`).reduce((W,$)=>W+Y+$)}$dataMetaSchema(Q,Y){let X=this.RULES.all;Q=JSON.parse(JSON.stringify(Q));for(let W of Y){let $=W.split("/").slice(1),J=Q;for(let G of $)J=J[G];for(let G in X){let H=X[G];if(typeof H!="object")continue;let{$data:B}=H.definition,z=J[G];if(B&&z)J[G]=dK(z)}}return Q}_removeAllSchemas(Q,Y){for(let X in Q){let W=Q[X];if(!Y||Y.test(X)){if(typeof W=="string")delete Q[X];else if(W&&!W.meta)this._cache.delete(W.schema),delete Q[X]}}}_addSchema(Q,Y,X,W=this.opts.validateSchema,$=this.opts.addUsedSchema){let J,{schemaId:G}=this.opts;if(typeof Q=="object")J=Q[G];else if(this.opts.jtd)throw Error("schema must be object");else if(typeof Q!="boolean")throw Error("schema must be object or boolean");let H=this._cache.get(Q);if(H!==void 0)return H;X=(0,j4.normalizeId)(J||X);let B=j4.getSchemaRefs.call(this,Q,X);if(H=new U4.SchemaEnv({schema:Q,schemaId:G,meta:Y,baseId:X,localRefs:B}),this._cache.set(H.schema,H),$&&!X.startsWith("#")){if(X)this._checkUnique(X);this.refs[X]=H}if(W)this.validateSchema(Q,!0);return H}_checkUnique(Q){if(this.schemas[Q]||this.refs[Q])throw Error(`schema with key or id "${Q}" already exists`)}_compileSchemaEnv(Q){if(Q.meta)this._compileMetaSchema(Q);else U4.compileSchema.call(this,Q);if(!Q.validate)throw Error("ajv implementation error");return Q.validate}_compileMetaSchema(Q){let Y=this.opts;this.opts=this._metaOpts;try{U4.compileSchema.call(this,Q)}finally{this.opts=Y}}}PY.ValidationError=cE.default;PY.MissingRefError=cK.default;J6.default=PY;function lK(Q,Y,X,W="error"){for(let $ in Q){let J=$;if(J in Y)this.logger[W](`${X}: option ${$}. ${Q[J]}`)}}function mK(Q){return Q=(0,j4.normalizeId)(Q),this.schemas[Q]||this.refs[Q]}function sE(){let Q=this.opts.schemas;if(!Q)return;if(Array.isArray(Q))this.addSchema(Q);else for(let Y in Q)this.addSchema(Q[Y],Y)}function eE(){for(let Q in this.opts.formats){let Y=this.opts.formats[Q];if(Y)this.addFormat(Q,Y)}}function QI(Q){if(Array.isArray(Q)){this.addVocabulary(Q);return}this.logger.warn("keywords option as map is deprecated, pass array");for(let Y in Q){let X=Q[Y];if(!X.keyword)X.keyword=Y;this.addKeyword(X)}}function YI(){let Q={...this.opts};for(let Y of nE)delete Q[Y];return Q}var XI={log(){},warn(){},error(){}};function WI(Q){if(Q===!1)return XI;if(Q===void 0)return console;if(Q.log&&Q.warn&&Q.error)return Q;throw Error("logger must implement log, warn and error methods")}var $I=/^[a-z_$][a-z0-9_$:-]*$/i;function JI(Q,Y){let{RULES:X}=this;if((0,j$.eachItem)(Q,(W)=>{if(X.keywords[W])throw Error(`Keyword ${W} is already defined`);if(!$I.test(W))throw Error(`Keyword ${W} has invalid name`)}),!Y)return;if(Y.$data&&!(("code"in Y)||("validate"in Y)))throw Error('$data keyword must have "code" or "validate" function')}function U$(Q,Y,X){var W;let $=Y===null||Y===void 0?void 0:Y.post;if(X&&$)throw Error('keyword with "post" flag cannot have "type"');let{RULES:J}=this,G=$?J.post:J.rules.find(({type:B})=>B===X);if(!G)G={type:X,rules:[]},J.rules.push(G);if(J.keywords[Q]=!0,!Y)return;let H={keyword:Q,definition:{...Y,type:(0,bY.getJSONTypes)(Y.type),schemaType:(0,bY.getJSONTypes)(Y.schemaType)}};if(Y.before)GI.call(this,G,H,Y.before);else G.rules.push(H);J.all[Q]=H,(W=Y.implements)===null||W===void 0||W.forEach((B)=>this.addKeyword(B))}function GI(Q,Y,X){let W=Q.rules.findIndex(($)=>$.keyword===X);if(W>=0)Q.rules.splice(W,0,Y);else Q.rules.push(Y),this.logger.warn(`rule ${X} is not defined`)}function HI(Q){let{metaSchema:Y}=Q;if(Y===void 0)return;if(Q.$data&&this.opts.$data)Y=dK(Y);Q.validateSchema=this.compile(Y,!0)}var BI={$ref:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#"};function dK(Q){return{anyOf:[Q,BI]}}});var oK=j((nK)=>{Object.defineProperty(nK,"__esModule",{value:!0});var VI={keyword:"id",code(){throw Error('NOT SUPPORTED: keyword "id", use "$id" for schema ID')}};nK.default=VI});var QV=j((sK)=>{Object.defineProperty(sK,"__esModule",{value:!0});sK.callRef=sK.getValidate=void 0;var AI=D4(),rK=A1(),X1=r(),Q8=X6(),tK=UY(),ZY=W0(),qI={keyword:"$ref",schemaType:"string",code(Q){let{gen:Y,schema:X,it:W}=Q,{baseId:$,schemaEnv:J,validateName:G,opts:H,self:B}=W,{root:z}=J;if((X==="#"||X==="#/")&&$===z.baseId)return V();let K=tK.resolveRef.call(B,z,$,X);if(K===void 0)throw new AI.default(W.opts.uriResolver,$,X);if(K instanceof tK.SchemaEnv)return q(K);return F(K);function V(){if(J===z)return RY(Q,G,J,J.$async);let A=Y.scopeValue("root",{ref:z});return RY(Q,X1._`${A}.validate`,z,z.$async)}function q(A){let D=aK(Q,A);RY(Q,D,A,A.$async)}function F(A){let D=Y.scopeValue("schema",H.code.source===!0?{ref:A,code:(0,X1.stringify)(A)}:{ref:A}),O=Y.name("valid"),L=Q.subschema({schema:A,dataTypes:[],schemaPath:X1.nil,topSchemaRef:D,errSchemaPath:X},O);Q.mergeEvaluated(L),Q.ok(O)}}};function aK(Q,Y){let{gen:X}=Q;return Y.validate?X.scopeValue("validate",{ref:Y.validate}):X1._`${X.scopeValue("wrapper",{ref:Y})}.validate`}sK.getValidate=aK;function RY(Q,Y,X,W){let{gen:$,it:J}=Q,{allErrors:G,schemaEnv:H,opts:B}=J,z=B.passContext?Q8.default.this:X1.nil;if(W)K();else V();function K(){if(!H.$async)throw Error("async schema referenced by sync schema");let A=$.let("valid");$.try(()=>{if($.code(X1._`await ${(0,rK.callValidateCode)(Q,Y,z)}`),F(Y),!G)$.assign(A,!0)},(D)=>{if($.if(X1._`!(${D} instanceof ${J.ValidationError})`,()=>$.throw(D)),q(D),!G)$.assign(A,!1)}),Q.ok(A)}function V(){Q.result((0,rK.callValidateCode)(Q,Y,z),()=>F(Y),()=>q(Y))}function q(A){let D=X1._`${A}.errors`;$.assign(Q8.default.vErrors,X1._`${Q8.default.vErrors} === null ? ${D} : ${Q8.default.vErrors}.concat(${D})`),$.assign(Q8.default.errors,X1._`${Q8.default.vErrors}.length`)}function F(A){var D;if(!J.opts.unevaluated)return;let O=(D=X===null||X===void 0?void 0:X.validate)===null||D===void 0?void 0:D.evaluated;if(J.props!==!0)if(O&&!O.dynamicProps){if(O.props!==void 0)J.props=ZY.mergeEvaluated.props($,O.props,J.props)}else{let L=$.var("props",X1._`${A}.evaluated.props`);J.props=ZY.mergeEvaluated.props($,L,J.props,X1.Name)}if(J.items!==!0)if(O&&!O.dynamicItems){if(O.items!==void 0)J.items=ZY.mergeEvaluated.items($,O.items,J.items)}else{let L=$.var("items",X1._`${A}.evaluated.items`);J.items=ZY.mergeEvaluated.items($,L,J.items,X1.Name)}}}sK.callRef=RY;sK.default=qI});var XV=j((YV)=>{Object.defineProperty(YV,"__esModule",{value:!0});var LI=oK(),UI=QV(),jI=["$schema","$id","$defs","$vocabulary",{keyword:"$comment"},"definitions",LI.default,UI.default];YV.default=jI});var $V=j((WV)=>{Object.defineProperty(WV,"__esModule",{value:!0});var EY=r(),I6=EY.operators,IY={maximum:{okStr:"<=",ok:I6.LTE,fail:I6.GT},minimum:{okStr:">=",ok:I6.GTE,fail:I6.LT},exclusiveMaximum:{okStr:"<",ok:I6.LT,fail:I6.GTE},exclusiveMinimum:{okStr:">",ok:I6.GT,fail:I6.LTE}},NI={message:({keyword:Q,schemaCode:Y})=>EY.str`must be ${IY[Q].okStr} ${Y}`,params:({keyword:Q,schemaCode:Y})=>EY._`{comparison: ${IY[Q].okStr}, limit: ${Y}}`},MI={keyword:Object.keys(IY),type:"number",schemaType:"number",$data:!0,error:NI,code(Q){let{keyword:Y,data:X,schemaCode:W}=Q;Q.fail$data(EY._`${X} ${IY[Y].fail} ${W} || isNaN(${X})`)}};WV.default=MI});var GV=j((JV)=>{Object.defineProperty(JV,"__esModule",{value:!0});var w4=r(),PI={message:({schemaCode:Q})=>w4.str`must be multiple of ${Q}`,params:({schemaCode:Q})=>w4._`{multipleOf: ${Q}}`},ZI={keyword:"multipleOf",type:"number",schemaType:"number",$data:!0,error:PI,code(Q){let{gen:Y,data:X,schemaCode:W,it:$}=Q,J=$.opts.multipleOfPrecision,G=Y.let("res"),H=J?w4._`Math.abs(Math.round(${G}) - ${G}) > 1e-${J}`:w4._`${G} !== parseInt(${G})`;Q.fail$data(w4._`(${W} === 0 || (${G} = ${X}/${W}, ${H}))`)}};JV.default=ZI});var zV=j((BV)=>{Object.defineProperty(BV,"__esModule",{value:!0});function HV(Q){let Y=Q.length,X=0,W=0,$;while(W<Y)if(X++,$=Q.charCodeAt(W++),$>=55296&&$<=56319&&W<Y){if($=Q.charCodeAt(W),($&64512)===56320)W++}return X}BV.default=HV;HV.code='require("ajv/dist/runtime/ucs2length").default'});var VV=j((KV)=>{Object.defineProperty(KV,"__esModule",{value:!0});var K9=r(),II=W0(),SI=zV(),TI={message({keyword:Q,schemaCode:Y}){let X=Q==="maxLength"?"more":"fewer";return K9.str`must NOT have ${X} than ${Y} characters`},params:({schemaCode:Q})=>K9._`{limit: ${Q}}`},CI={keyword:["maxLength","minLength"],type:"string",schemaType:"number",$data:!0,error:TI,code(Q){let{keyword:Y,data:X,schemaCode:W,it:$}=Q,J=Y==="maxLength"?K9.operators.GT:K9.operators.LT,G=$.opts.unicode===!1?K9._`${X}.length`:K9._`${(0,II.useFunc)(Q.gen,SI.default)}(${X})`;Q.fail$data(K9._`${G} ${J} ${W}`)}};KV.default=CI});var AV=j((FV)=>{Object.defineProperty(FV,"__esModule",{value:!0});var _I=A1(),SY=r(),vI={message:({schemaCode:Q})=>SY.str`must match pattern "${Q}"`,params:({schemaCode:Q})=>SY._`{pattern: ${Q}}`},xI={keyword:"pattern",type:"string",schemaType:"string",$data:!0,error:vI,code(Q){let{data:Y,$data:X,schema:W,schemaCode:$,it:J}=Q,G=J.opts.unicodeRegExp?"u":"",H=X?SY._`(new RegExp(${$}, ${G}))`:(0,_I.usePattern)(Q,W);Q.fail$data(SY._`!${H}.test(${Y})`)}};FV.default=xI});var DV=j((qV)=>{Object.defineProperty(qV,"__esModule",{value:!0});var N4=r(),fI={message({keyword:Q,schemaCode:Y}){let X=Q==="maxProperties"?"more":"fewer";return N4.str`must NOT have ${X} than ${Y} properties`},params:({schemaCode:Q})=>N4._`{limit: ${Q}}`},gI={keyword:["maxProperties","minProperties"],type:"object",schemaType:"number",$data:!0,error:fI,code(Q){let{keyword:Y,data:X,schemaCode:W}=Q,$=Y==="maxProperties"?N4.operators.GT:N4.operators.LT;Q.fail$data(N4._`Object.keys(${X}).length ${$} ${W}`)}};qV.default=gI});var LV=j((OV)=>{Object.defineProperty(OV,"__esModule",{value:!0});var M4=A1(),b4=r(),uI=W0(),lI={message:({params:{missingProperty:Q}})=>b4.str`must have required property '${Q}'`,params:({params:{missingProperty:Q}})=>b4._`{missingProperty: ${Q}}`},mI={keyword:"required",type:"object",schemaType:"array",$data:!0,error:lI,code(Q){let{gen:Y,schema:X,schemaCode:W,data:$,$data:J,it:G}=Q,{opts:H}=G;if(!J&&X.length===0)return;let B=X.length>=H.loopRequired;if(G.allErrors)z();else K();if(H.strictRequired){let F=Q.parentSchema.properties,{definedProperties:A}=Q.it;for(let D of X)if((F===null||F===void 0?void 0:F[D])===void 0&&!A.has(D)){let O=G.schemaEnv.baseId+G.errSchemaPath,L=`required property "${D}" is not defined at "${O}" (strictRequired)`;(0,uI.checkStrictMode)(G,L,G.opts.strictRequired)}}function z(){if(B||J)Q.block$data(b4.nil,V);else for(let F of X)(0,M4.checkReportMissingProp)(Q,F)}function K(){let F=Y.let("missing");if(B||J){let A=Y.let("valid",!0);Q.block$data(A,()=>q(F,A)),Q.ok(A)}else Y.if((0,M4.checkMissingProp)(Q,X,F)),(0,M4.reportMissingProp)(Q,F),Y.else()}function V(){Y.forOf("prop",W,(F)=>{Q.setParams({missingProperty:F}),Y.if((0,M4.noPropertyInData)(Y,$,F,H.ownProperties),()=>Q.error())})}function q(F,A){Q.setParams({missingProperty:F}),Y.forOf(F,W,()=>{Y.assign(A,(0,M4.propertyInData)(Y,$,F,H.ownProperties)),Y.if((0,b4.not)(A),()=>{Q.error(),Y.break()})},b4.nil)}}};OV.default=mI});var jV=j((UV)=>{Object.defineProperty(UV,"__esModule",{value:!0});var P4=r(),pI={message({keyword:Q,schemaCode:Y}){let X=Q==="maxItems"?"more":"fewer";return P4.str`must NOT have ${X} than ${Y} items`},params:({schemaCode:Q})=>P4._`{limit: ${Q}}`},dI={keyword:["maxItems","minItems"],type:"array",schemaType:"number",$data:!0,error:pI,code(Q){let{keyword:Y,data:X,schemaCode:W}=Q,$=Y==="maxItems"?P4.operators.GT:P4.operators.LT;Q.fail$data(P4._`${X}.length ${$} ${W}`)}};UV.default=dI});var TY=j((NV)=>{Object.defineProperty(NV,"__esModule",{value:!0});var wV=K4();wV.code='require("ajv/dist/runtime/equal").default';NV.default=wV});var bV=j((MV)=>{Object.defineProperty(MV,"__esModule",{value:!0});var w$=z4(),y0=r(),oI=W0(),rI=TY(),tI={message:({params:{i:Q,j:Y}})=>y0.str`must NOT have duplicate items (items ## ${Y} and ${Q} are identical)`,params:({params:{i:Q,j:Y}})=>y0._`{i: ${Q}, j: ${Y}}`},aI={keyword:"uniqueItems",type:"array",schemaType:"boolean",$data:!0,error:tI,code(Q){let{gen:Y,data:X,$data:W,schema:$,parentSchema:J,schemaCode:G,it:H}=Q;if(!W&&!$)return;let B=Y.let("valid"),z=J.items?(0,w$.getSchemaTypes)(J.items):[];Q.block$data(B,K,y0._`${G} === false`),Q.ok(B);function K(){let A=Y.let("i",y0._`${X}.length`),D=Y.let("j");Q.setParams({i:A,j:D}),Y.assign(B,!0),Y.if(y0._`${A} > 1`,()=>(V()?q:F)(A,D))}function V(){return z.length>0&&!z.some((A)=>A==="object"||A==="array")}function q(A,D){let O=Y.name("item"),L=(0,w$.checkDataTypes)(z,O,H.opts.strictNumbers,w$.DataType.Wrong),N=Y.const("indices",y0._`{}`);Y.for(y0._`;${A}--;`,()=>{if(Y.let(O,y0._`${X}[${A}]`),Y.if(L,y0._`continue`),z.length>1)Y.if(y0._`typeof ${O} == "string"`,y0._`${O} += "_"`);Y.if(y0._`typeof ${N}[${O}] == "number"`,()=>{Y.assign(D,y0._`${N}[${O}]`),Q.error(),Y.assign(B,!1).break()}).code(y0._`${N}[${O}] = ${A}`)})}function F(A,D){let O=(0,oI.useFunc)(Y,rI.default),L=Y.name("outer");Y.label(L).for(y0._`;${A}--;`,()=>Y.for(y0._`${D} = ${A}; ${D}--;`,()=>Y.if(y0._`${O}(${X}[${A}], ${X}[${D}])`,()=>{Q.error(),Y.assign(B,!1).break(L)})))}}};MV.default=aI});var ZV=j((PV)=>{Object.defineProperty(PV,"__esModule",{value:!0});var N$=r(),eI=W0(),QS=TY(),YS={message:"must be equal to constant",params:({schemaCode:Q})=>N$._`{allowedValue: ${Q}}`},XS={keyword:"const",$data:!0,error:YS,code(Q){let{gen:Y,data:X,$data:W,schemaCode:$,schema:J}=Q;if(W||J&&typeof J=="object")Q.fail$data(N$._`!${(0,eI.useFunc)(Y,QS.default)}(${X}, ${$})`);else Q.fail(N$._`${J} !== ${X}`)}};PV.default=XS});var EV=j((RV)=>{Object.defineProperty(RV,"__esModule",{value:!0});var Z4=r(),$S=W0(),JS=TY(),GS={message:"must be equal to one of the allowed values",params:({schemaCode:Q})=>Z4._`{allowedValues: ${Q}}`},HS={keyword:"enum",schemaType:"array",$data:!0,error:GS,code(Q){let{gen:Y,data:X,$data:W,schema:$,schemaCode:J,it:G}=Q;if(!W&&$.length===0)throw Error("enum must have non-empty array");let H=$.length>=G.opts.loopEnum,B,z=()=>B!==null&&B!==void 0?B:B=(0,$S.useFunc)(Y,JS.default),K;if(H||W)K=Y.let("valid"),Q.block$data(K,V);else{if(!Array.isArray($))throw Error("ajv implementation error");let F=Y.const("vSchema",J);K=(0,Z4.or)(...$.map((A,D)=>q(F,D)))}Q.pass(K);function V(){Y.assign(K,!1),Y.forOf("v",J,(F)=>Y.if(Z4._`${z()}(${X}, ${F})`,()=>Y.assign(K,!0).break()))}function q(F,A){let D=$[A];return typeof D==="object"&&D!==null?Z4._`${z()}(${X}, ${F}[${A}])`:Z4._`${X} === ${D}`}}};RV.default=HS});var SV=j((IV)=>{Object.defineProperty(IV,"__esModule",{value:!0});var zS=$V(),KS=GV(),VS=VV(),FS=AV(),AS=DV(),qS=LV(),DS=jV(),OS=bV(),LS=ZV(),US=EV(),jS=[zS.default,KS.default,VS.default,FS.default,AS.default,qS.default,DS.default,OS.default,{keyword:"type",schemaType:["string","array"]},{keyword:"nullable",schemaType:"boolean"},LS.default,US.default];IV.default=jS});var b$=j((CV)=>{Object.defineProperty(CV,"__esModule",{value:!0});CV.validateAdditionalItems=void 0;var V9=r(),M$=W0(),NS={message:({params:{len:Q}})=>V9.str`must NOT have more than ${Q} items`,params:({params:{len:Q}})=>V9._`{limit: ${Q}}`},MS={keyword:"additionalItems",type:"array",schemaType:["boolean","object"],before:"uniqueItems",error:NS,code(Q){let{parentSchema:Y,it:X}=Q,{items:W}=Y;if(!Array.isArray(W)){(0,M$.checkStrictMode)(X,'"additionalItems" is ignored when "items" is not an array of schemas');return}TV(Q,W)}};function TV(Q,Y){let{gen:X,schema:W,data:$,keyword:J,it:G}=Q;G.items=!0;let H=X.const("len",V9._`${$}.length`);if(W===!1)Q.setParams({len:Y.length}),Q.pass(V9._`${H} <= ${Y.length}`);else if(typeof W=="object"&&!(0,M$.alwaysValidSchema)(G,W)){let z=X.var("valid",V9._`${H} <= ${Y.length}`);X.if((0,V9.not)(z),()=>B(z)),Q.ok(z)}function B(z){X.forRange("i",Y.length,H,(K)=>{if(Q.subschema({keyword:J,dataProp:K,dataPropType:M$.Type.Num},z),!G.allErrors)X.if((0,V9.not)(z),()=>X.break())})}}CV.validateAdditionalItems=TV;CV.default=MS});var P$=j((xV)=>{Object.defineProperty(xV,"__esModule",{value:!0});xV.validateTuple=void 0;var _V=r(),CY=W0(),PS=A1(),ZS={keyword:"items",type:"array",schemaType:["object","array","boolean"],before:"uniqueItems",code(Q){let{schema:Y,it:X}=Q;if(Array.isArray(Y))return vV(Q,"additionalItems",Y);if(X.items=!0,(0,CY.alwaysValidSchema)(X,Y))return;Q.ok((0,PS.validateArray)(Q))}};function vV(Q,Y,X=Q.schema){let{gen:W,parentSchema:$,data:J,keyword:G,it:H}=Q;if(K($),H.opts.unevaluated&&X.length&&H.items!==!0)H.items=CY.mergeEvaluated.items(W,X.length,H.items);let B=W.name("valid"),z=W.const("len",_V._`${J}.length`);X.forEach((V,q)=>{if((0,CY.alwaysValidSchema)(H,V))return;W.if(_V._`${z} > ${q}`,()=>Q.subschema({keyword:G,schemaProp:q,dataProp:q},B)),Q.ok(B)});function K(V){let{opts:q,errSchemaPath:F}=H,A=X.length,D=A===V.minItems&&(A===V.maxItems||V[Y]===!1);if(q.strictTuples&&!D){let O=`"${G}" is ${A}-tuple, but minItems or maxItems/${Y} are not specified or different at path "${F}"`;(0,CY.checkStrictMode)(H,O,q.strictTuples)}}}xV.validateTuple=vV;xV.default=ZS});var gV=j((fV)=>{Object.defineProperty(fV,"__esModule",{value:!0});var ES=P$(),IS={keyword:"prefixItems",type:"array",schemaType:["array"],before:"uniqueItems",code:(Q)=>(0,ES.validateTuple)(Q,"items")};fV.default=IS});var lV=j((uV)=>{Object.defineProperty(uV,"__esModule",{value:!0});var hV=r(),TS=W0(),CS=A1(),kS=b$(),_S={message:({params:{len:Q}})=>hV.str`must NOT have more than ${Q} items`,params:({params:{len:Q}})=>hV._`{limit: ${Q}}`},vS={keyword:"items",type:"array",schemaType:["object","boolean"],before:"uniqueItems",error:_S,code(Q){let{schema:Y,parentSchema:X,it:W}=Q,{prefixItems:$}=X;if(W.items=!0,(0,TS.alwaysValidSchema)(W,Y))return;if($)(0,kS.validateAdditionalItems)(Q,$);else Q.ok((0,CS.validateArray)(Q))}};uV.default=vS});var cV=j((mV)=>{Object.defineProperty(mV,"__esModule",{value:!0});var q1=r(),kY=W0(),yS={message:({params:{min:Q,max:Y}})=>Y===void 0?q1.str`must contain at least ${Q} valid item(s)`:q1.str`must contain at least ${Q} and no more than ${Y} valid item(s)`,params:({params:{min:Q,max:Y}})=>Y===void 0?q1._`{minContains: ${Q}}`:q1._`{minContains: ${Q}, maxContains: ${Y}}`},fS={keyword:"contains",type:"array",schemaType:["object","boolean"],before:"uniqueItems",trackErrors:!0,error:yS,code(Q){let{gen:Y,schema:X,parentSchema:W,data:$,it:J}=Q,G,H,{minContains:B,maxContains:z}=W;if(J.opts.next)G=B===void 0?1:B,H=z;else G=1;let K=Y.const("len",q1._`${$}.length`);if(Q.setParams({min:G,max:H}),H===void 0&&G===0){(0,kY.checkStrictMode)(J,'"minContains" == 0 without "maxContains": "contains" keyword ignored');return}if(H!==void 0&&G>H){(0,kY.checkStrictMode)(J,'"minContains" > "maxContains" is always invalid'),Q.fail();return}if((0,kY.alwaysValidSchema)(J,X)){let D=q1._`${K} >= ${G}`;if(H!==void 0)D=q1._`${D} && ${K} <= ${H}`;Q.pass(D);return}J.items=!0;let V=Y.name("valid");if(H===void 0&&G===1)F(V,()=>Y.if(V,()=>Y.break()));else if(G===0){if(Y.let(V,!0),H!==void 0)Y.if(q1._`${$}.length > 0`,q)}else Y.let(V,!1),q();Q.result(V,()=>Q.reset());function q(){let D=Y.name("_valid"),O=Y.let("count",0);F(D,()=>Y.if(D,()=>A(O)))}function F(D,O){Y.forRange("i",0,K,(L)=>{Q.subschema({keyword:"contains",dataProp:L,dataPropType:kY.Type.Num,compositeRule:!0},D),O()})}function A(D){if(Y.code(q1._`${D}++`),H===void 0)Y.if(q1._`${D} >= ${G}`,()=>Y.assign(V,!0).break());else if(Y.if(q1._`${D} > ${H}`,()=>Y.assign(V,!1).break()),G===1)Y.assign(V,!0);else Y.if(q1._`${D} >= ${G}`,()=>Y.assign(V,!0))}}};mV.default=fS});var rV=j((iV)=>{Object.defineProperty(iV,"__esModule",{value:!0});iV.validateSchemaDeps=iV.validatePropertyDeps=iV.error=void 0;var Z$=r(),hS=W0(),R4=A1();iV.error={message:({params:{property:Q,depsCount:Y,deps:X}})=>{let W=Y===1?"property":"properties";return Z$.str`must have ${W} ${X} when property ${Q} is present`},params:({params:{property:Q,depsCount:Y,deps:X,missingProperty:W}})=>Z$._`{property: ${Q},
7
7
  missingProperty: ${W},
8
- depsCount: ${X},
9
- deps: ${Y}}`};var OI={keyword:"dependencies",type:"object",schemaType:"object",error:kV.error,code(Q){let[X,Y]=UI(Q);TV(Q,X),CV(Q,Y)}};function UI({schema:Q}){let X={},Y={};for(let W in Q){if(W==="__proto__")continue;let $=Array.isArray(Q[W])?X:Y;$[W]=Q[W]}return[X,Y]}function TV(Q,X=Q.schema){let{gen:Y,data:W,it:$}=Q;if(Object.keys(X).length===0)return;let J=Y.let("missing");for(let G in X){let H=X[G];if(H.length===0)continue;let B=(0,w4.propertyInData)(Y,W,G,$.opts.ownProperties);if(Q.setParams({property:G,depsCount:H.length,deps:H.join(", ")}),$.allErrors)Y.if(B,()=>{for(let z of H)(0,w4.checkReportMissingProp)(Q,z)});else Y.if(O$._`${B} && (${(0,w4.checkMissingProp)(Q,H,J)})`),(0,w4.reportMissingProp)(Q,J),Y.else()}}kV.validatePropertyDeps=TV;function CV(Q,X=Q.schema){let{gen:Y,data:W,keyword:$,it:J}=Q,G=Y.name("valid");for(let H in X){if((0,LI.alwaysValidSchema)(J,X[H]))continue;Y.if((0,w4.propertyInData)(Y,W,H,J.opts.ownProperties),()=>{let B=Q.subschema({keyword:$,schemaProp:H},G);Q.mergeValidEvaluated(B,G)},()=>Y.var(G,!0)),Q.ok(G)}}kV.validateSchemaDeps=CV;kV.default=OI});var gV=j((fV)=>{Object.defineProperty(fV,"__esModule",{value:!0});var yV=r(),NI=W0(),wI={message:"property name must be valid",params:({params:Q})=>yV._`{propertyName: ${Q.propertyName}}`},bI={keyword:"propertyNames",type:"object",schemaType:["object","boolean"],error:wI,code(Q){let{gen:X,schema:Y,data:W,it:$}=Q;if((0,NI.alwaysValidSchema)($,Y))return;let J=X.name("valid");X.forIn("key",W,(G)=>{Q.setParams({propertyName:G}),Q.subschema({keyword:"propertyNames",data:G,dataTypes:["string"],propertyName:G,compositeRule:!0},J),X.if((0,yV.not)(J),()=>{if(Q.error(!0),!$.allErrors)X.break()})}),Q.ok(J)}};fV.default=bI});var U$=j((hV)=>{Object.defineProperty(hV,"__esModule",{value:!0});var IX=A1(),T1=r(),ZI=Y6(),TX=W0(),RI={message:"must NOT have additional properties",params:({params:Q})=>T1._`{additionalProperty: ${Q.additionalProperty}}`},EI={keyword:"additionalProperties",type:["object"],schemaType:["boolean","object"],allowUndefined:!0,trackErrors:!0,error:RI,code(Q){let{gen:X,schema:Y,parentSchema:W,data:$,errsCount:J,it:G}=Q;if(!J)throw Error("ajv implementation error");let{allErrors:H,opts:B}=G;if(G.props=!0,B.removeAdditional!=="all"&&(0,TX.alwaysValidSchema)(G,Y))return;let z=(0,IX.allSchemaProperties)(W.properties),K=(0,IX.allSchemaProperties)(W.patternProperties);V(),Q.ok(T1._`${J} === ${ZI.default.errors}`);function V(){X.forIn("key",$,(L)=>{if(!z.length&&!K.length)A(L);else X.if(q(L),()=>A(L))})}function q(L){let O;if(z.length>8){let N=(0,TX.schemaRefOrVal)(G,W.properties,"properties");O=(0,IX.isOwnProperty)(X,N,L)}else if(z.length)O=(0,T1.or)(...z.map((N)=>T1._`${L} === ${N}`));else O=T1.nil;if(K.length)O=(0,T1.or)(O,...K.map((N)=>T1._`${(0,IX.usePattern)(Q,N)}.test(${L})`));return(0,T1.not)(O)}function F(L){X.code(T1._`delete ${$}[${L}]`)}function A(L){if(B.removeAdditional==="all"||B.removeAdditional&&Y===!1){F(L);return}if(Y===!1){if(Q.setParams({additionalProperty:L}),Q.error(),!H)X.break();return}if(typeof Y=="object"&&!(0,TX.alwaysValidSchema)(G,Y)){let O=X.name("valid");if(B.removeAdditional==="failing")D(L,O,!1),X.if((0,T1.not)(O),()=>{Q.reset(),F(L)});else if(D(L,O),!H)X.if((0,T1.not)(O),()=>X.break())}}function D(L,O,N){let w={keyword:"additionalProperties",dataProp:L,dataPropType:TX.Type.Str};if(N===!1)Object.assign(w,{compositeRule:!0,createErrors:!1,allErrors:!1});Q.subschema(w,O)}}};hV.default=EI});var cV=j((mV)=>{Object.defineProperty(mV,"__esModule",{value:!0});var II=K4(),uV=A1(),j$=W0(),lV=U$(),TI={keyword:"properties",type:"object",schemaType:"object",code(Q){let{gen:X,schema:Y,parentSchema:W,data:$,it:J}=Q;if(J.opts.removeAdditional==="all"&&W.additionalProperties===void 0)lV.default.code(new II.KeywordCxt(J,lV.default,"additionalProperties"));let G=(0,uV.allSchemaProperties)(Y);for(let V of G)J.definedProperties.add(V);if(J.opts.unevaluated&&G.length&&J.props!==!0)J.props=j$.mergeEvaluated.props(X,(0,j$.toHash)(G),J.props);let H=G.filter((V)=>!(0,j$.alwaysValidSchema)(J,Y[V]));if(H.length===0)return;let B=X.name("valid");for(let V of H){if(z(V))K(V);else{if(X.if((0,uV.propertyInData)(X,$,V,J.opts.ownProperties)),K(V),!J.allErrors)X.else().var(B,!0);X.endIf()}Q.it.definedProperties.add(V),Q.ok(B)}function z(V){return J.opts.useDefaults&&!J.compositeRule&&Y[V].default!==void 0}function K(V){Q.subschema({keyword:"properties",schemaProp:V,dataProp:V},B)}}};mV.default=TI});var oV=j((nV)=>{Object.defineProperty(nV,"__esModule",{value:!0});var pV=A1(),CX=r(),dV=W0(),iV=W0(),kI={keyword:"patternProperties",type:"object",schemaType:"object",code(Q){let{gen:X,schema:Y,data:W,parentSchema:$,it:J}=Q,{opts:G}=J,H=(0,pV.allSchemaProperties)(Y),B=H.filter((D)=>(0,dV.alwaysValidSchema)(J,Y[D]));if(H.length===0||B.length===H.length&&(!J.opts.unevaluated||J.props===!0))return;let z=G.strictSchema&&!G.allowMatchingProperties&&$.properties,K=X.name("valid");if(J.props!==!0&&!(J.props instanceof CX.Name))J.props=(0,iV.evaluatedPropsToName)(X,J.props);let{props:V}=J;q();function q(){for(let D of H){if(z)F(D);if(J.allErrors)A(D);else X.var(K,!0),A(D),X.if(K)}}function F(D){for(let L in z)if(new RegExp(D).test(L))(0,dV.checkStrictMode)(J,`property ${L} matches pattern ${D} (use allowMatchingProperties)`)}function A(D){X.forIn("key",W,(L)=>{X.if(CX._`${(0,pV.usePattern)(Q,D)}.test(${L})`,()=>{let O=B.includes(D);if(!O)Q.subschema({keyword:"patternProperties",schemaProp:D,dataProp:L,dataPropType:iV.Type.Str},K);if(J.opts.unevaluated&&V!==!0)X.assign(CX._`${V}[${L}]`,!0);else if(!O&&!J.allErrors)X.if((0,CX.not)(K),()=>X.break())})})}}};nV.default=kI});var tV=j((rV)=>{Object.defineProperty(rV,"__esModule",{value:!0});var _I=W0(),xI={keyword:"not",schemaType:["object","boolean"],trackErrors:!0,code(Q){let{gen:X,schema:Y,it:W}=Q;if((0,_I.alwaysValidSchema)(W,Y)){Q.fail();return}let $=X.name("valid");Q.subschema({keyword:"not",compositeRule:!0,createErrors:!1,allErrors:!1},$),Q.failResult($,()=>Q.reset(),()=>Q.error())},error:{message:"must NOT be valid"}};rV.default=xI});var sV=j((aV)=>{Object.defineProperty(aV,"__esModule",{value:!0});var fI=A1(),gI={keyword:"anyOf",schemaType:"array",trackErrors:!0,code:fI.validateUnion,error:{message:"must match a schema in anyOf"}};aV.default=gI});var QF=j((eV)=>{Object.defineProperty(eV,"__esModule",{value:!0});var kX=r(),uI=W0(),lI={message:"must match exactly one schema in oneOf",params:({params:Q})=>kX._`{passingSchemas: ${Q.passing}}`},mI={keyword:"oneOf",schemaType:"array",trackErrors:!0,error:lI,code(Q){let{gen:X,schema:Y,parentSchema:W,it:$}=Q;if(!Array.isArray(Y))throw Error("ajv implementation error");if($.opts.discriminator&&W.discriminator)return;let J=Y,G=X.let("valid",!1),H=X.let("passing",null),B=X.name("_valid");Q.setParams({passing:H}),X.block(z),Q.result(G,()=>Q.reset(),()=>Q.error(!0));function z(){J.forEach((K,V)=>{let q;if((0,uI.alwaysValidSchema)($,K))X.var(B,!0);else q=Q.subschema({keyword:"oneOf",schemaProp:V,compositeRule:!0},B);if(V>0)X.if(kX._`${B} && ${G}`).assign(G,!1).assign(H,kX._`[${H}, ${V}]`).else();X.if(B,()=>{if(X.assign(G,!0),X.assign(H,V),q)Q.mergeEvaluated(q,kX.Name)})})}}};eV.default=mI});var YF=j((XF)=>{Object.defineProperty(XF,"__esModule",{value:!0});var pI=W0(),dI={keyword:"allOf",schemaType:"array",code(Q){let{gen:X,schema:Y,it:W}=Q;if(!Array.isArray(Y))throw Error("ajv implementation error");let $=X.name("valid");Y.forEach((J,G)=>{if((0,pI.alwaysValidSchema)(W,J))return;let H=Q.subschema({keyword:"allOf",schemaProp:G},$);Q.ok($),Q.mergeEvaluated(H)})}};XF.default=dI});var GF=j((JF)=>{Object.defineProperty(JF,"__esModule",{value:!0});var vX=r(),$F=W0(),nI={message:({params:Q})=>vX.str`must match "${Q.ifClause}" schema`,params:({params:Q})=>vX._`{failingKeyword: ${Q.ifClause}}`},oI={keyword:"if",schemaType:["object","boolean"],trackErrors:!0,error:nI,code(Q){let{gen:X,parentSchema:Y,it:W}=Q;if(Y.then===void 0&&Y.else===void 0)(0,$F.checkStrictMode)(W,'"if" without "then" and "else" is ignored');let $=WF(W,"then"),J=WF(W,"else");if(!$&&!J)return;let G=X.let("valid",!0),H=X.name("_valid");if(B(),Q.reset(),$&&J){let K=X.let("ifClause");Q.setParams({ifClause:K}),X.if(H,z("then",K),z("else",K))}else if($)X.if(H,z("then"));else X.if((0,vX.not)(H),z("else"));Q.pass(G,()=>Q.error(!0));function B(){let K=Q.subschema({keyword:"if",compositeRule:!0,createErrors:!1,allErrors:!1},H);Q.mergeEvaluated(K)}function z(K,V){return()=>{let q=Q.subschema({keyword:K},H);if(X.assign(G,H),Q.mergeValidEvaluated(q,G),V)X.assign(V,vX._`${K}`);else Q.setParams({ifClause:K})}}}};function WF(Q,X){let Y=Q.schema[X];return Y!==void 0&&!(0,$F.alwaysValidSchema)(Q,Y)}JF.default=oI});var BF=j((HF)=>{Object.defineProperty(HF,"__esModule",{value:!0});var tI=W0(),aI={keyword:["then","else"],schemaType:["object","boolean"],code({keyword:Q,parentSchema:X,it:Y}){if(X.if===void 0)(0,tI.checkStrictMode)(Y,`"${Q}" without "if" is ignored`)}};HF.default=aI});var KF=j((zF)=>{Object.defineProperty(zF,"__esModule",{value:!0});var eI=D$(),QT=PV(),XT=L$(),YT=EV(),WT=IV(),$T=xV(),JT=gV(),GT=U$(),HT=cV(),BT=oV(),zT=tV(),KT=sV(),VT=QF(),FT=YF(),AT=GF(),qT=BF();function DT(Q=!1){let X=[zT.default,KT.default,VT.default,FT.default,AT.default,qT.default,JT.default,GT.default,$T.default,HT.default,BT.default];if(Q)X.push(QT.default,YT.default);else X.push(eI.default,XT.default);return X.push(WT.default),X}zF.default=DT});var FF=j((VF)=>{Object.defineProperty(VF,"__esModule",{value:!0});var Z0=r(),OT={message:({schemaCode:Q})=>Z0.str`must match format "${Q}"`,params:({schemaCode:Q})=>Z0._`{format: ${Q}}`},UT={keyword:"format",type:["number","string"],schemaType:"string",$data:!0,error:OT,code(Q,X){let{gen:Y,data:W,$data:$,schema:J,schemaCode:G,it:H}=Q,{opts:B,errSchemaPath:z,schemaEnv:K,self:V}=H;if(!B.validateFormats)return;if($)q();else F();function q(){let A=Y.scopeValue("formats",{ref:V.formats,code:B.code.formats}),D=Y.const("fDef",Z0._`${A}[${G}]`),L=Y.let("fType"),O=Y.let("format");Y.if(Z0._`typeof ${D} == "object" && !(${D} instanceof RegExp)`,()=>Y.assign(L,Z0._`${D}.type || "string"`).assign(O,Z0._`${D}.validate`),()=>Y.assign(L,Z0._`"string"`).assign(O,D)),Q.fail$data((0,Z0.or)(N(),w()));function N(){if(B.strictSchema===!1)return Z0.nil;return Z0._`${G} && !${O}`}function w(){let C=K.$async?Z0._`(${D}.async ? await ${O}(${W}) : ${O}(${W}))`:Z0._`${O}(${W})`,Z=Z0._`(typeof ${O} == "function" ? ${C} : ${O}.test(${W}))`;return Z0._`${O} && ${O} !== true && ${L} === ${X} && !${Z}`}}function F(){let A=V.formats[J];if(!A){N();return}if(A===!0)return;let[D,L,O]=w(A);if(D===X)Q.pass(C());function N(){if(B.strictSchema===!1){V.logger.warn(Z());return}throw Error(Z());function Z(){return`unknown format "${J}" ignored in schema at path "${z}"`}}function w(Z){let K0=Z instanceof RegExp?(0,Z0.regexpCode)(Z):B.code.formats?Z0._`${B.code.formats}${(0,Z0.getProperty)(J)}`:void 0,P0=Y.scopeValue("formats",{key:J,ref:Z,code:K0});if(typeof Z=="object"&&!(Z instanceof RegExp))return[Z.type||"string",Z.validate,Z0._`${P0}.validate`];return["string",Z,P0]}function C(){if(typeof A=="object"&&!(A instanceof RegExp)&&A.async){if(!K.$async)throw Error("async format in sync schema");return Z0._`await ${O}(${W})`}return typeof L=="function"?Z0._`${O}(${W})`:Z0._`${O}.test(${W})`}}}};VF.default=UT});var qF=j((AF)=>{Object.defineProperty(AF,"__esModule",{value:!0});var MT=FF(),NT=[MT.default];AF.default=NT});var OF=j((DF)=>{Object.defineProperty(DF,"__esModule",{value:!0});DF.contentVocabulary=DF.metadataVocabulary=void 0;DF.metadataVocabulary=["title","description","default","deprecated","readOnly","writeOnly","examples"];DF.contentVocabulary=["contentMediaType","contentEncoding","contentSchema"]});var MF=j((jF)=>{Object.defineProperty(jF,"__esModule",{value:!0});var PT=mK(),ZT=DV(),RT=KF(),ET=qF(),UF=OF(),ST=[PT.default,ZT.default,(0,RT.default)(),ET.default,UF.metadataVocabulary,UF.contentVocabulary];jF.default=ST});var PF=j((wF)=>{Object.defineProperty(wF,"__esModule",{value:!0});wF.DiscrError=void 0;var NF;(function(Q){Q.Tag="tag",Q.Mapping="mapping"})(NF||(wF.DiscrError=NF={}))});var EF=j((RF)=>{Object.defineProperty(RF,"__esModule",{value:!0});var s9=r(),M$=PF(),ZF=qX(),TT=V4(),CT=W0(),kT={message:({params:{discrError:Q,tagName:X}})=>Q===M$.DiscrError.Tag?`tag "${X}" must be string`:`value of tag "${X}" must be in oneOf`,params:({params:{discrError:Q,tag:X,tagName:Y}})=>s9._`{error: ${Q}, tag: ${Y}, tagValue: ${X}}`},vT={keyword:"discriminator",type:"object",schemaType:"object",error:kT,code(Q){let{gen:X,data:Y,schema:W,parentSchema:$,it:J}=Q,{oneOf:G}=$;if(!J.opts.discriminator)throw Error("discriminator: requires discriminator option");let H=W.propertyName;if(typeof H!="string")throw Error("discriminator: requires propertyName");if(W.mapping)throw Error("discriminator: mapping is not supported");if(!G)throw Error("discriminator: requires oneOf keyword");let B=X.let("valid",!1),z=X.const("tag",s9._`${Y}${(0,s9.getProperty)(H)}`);X.if(s9._`typeof ${z} == "string"`,()=>K(),()=>Q.error(!1,{discrError:M$.DiscrError.Tag,tag:z,tagName:H})),Q.ok(B);function K(){let F=q();X.if(!1);for(let A in F)X.elseIf(s9._`${z} === ${A}`),X.assign(B,V(F[A]));X.else(),Q.error(!1,{discrError:M$.DiscrError.Mapping,tag:z,tagName:H}),X.endIf()}function V(F){let A=X.name("valid"),D=Q.subschema({keyword:"oneOf",schemaProp:F},A);return Q.mergeEvaluated(D,s9.Name),A}function q(){var F;let A={},D=O($),L=!0;for(let C=0;C<G.length;C++){let Z=G[C];if((Z===null||Z===void 0?void 0:Z.$ref)&&!(0,CT.schemaHasRulesButRef)(Z,J.self.RULES)){let P0=Z.$ref;if(Z=ZF.resolveRef.call(J.self,J.schemaEnv.root,J.baseId,P0),Z instanceof ZF.SchemaEnv)Z=Z.schema;if(Z===void 0)throw new TT.default(J.opts.uriResolver,J.baseId,P0)}let K0=(F=Z===null||Z===void 0?void 0:Z.properties)===null||F===void 0?void 0:F[H];if(typeof K0!="object")throw Error(`discriminator: oneOf subschemas (or referenced schemas) must have "properties/${H}"`);L=L&&(D||O(Z)),N(K0,C)}if(!L)throw Error(`discriminator: "${H}" must be required`);return A;function O({required:C}){return Array.isArray(C)&&C.includes(H)}function N(C,Z){if(C.const)w(C.const,Z);else if(C.enum)for(let K0 of C.enum)w(K0,Z);else throw Error(`discriminator: "properties/${H}" must have "const" or "enum"`)}function w(C,Z){if(typeof C!="string"||C in A)throw Error(`discriminator: "${H}" values must be unique strings`);A[C]=Z}}}};RF.default=vT});var SF=j((hd,xT)=>{xT.exports={$schema:"http://json-schema.org/draft-07/schema#",$id:"http://json-schema.org/draft-07/schema#",title:"Core schema meta-schema",definitions:{schemaArray:{type:"array",minItems:1,items:{$ref:"#"}},nonNegativeInteger:{type:"integer",minimum:0},nonNegativeIntegerDefault0:{allOf:[{$ref:"#/definitions/nonNegativeInteger"},{default:0}]},simpleTypes:{enum:["array","boolean","integer","null","number","object","string"]},stringArray:{type:"array",items:{type:"string"},uniqueItems:!0,default:[]}},type:["object","boolean"],properties:{$id:{type:"string",format:"uri-reference"},$schema:{type:"string",format:"uri"},$ref:{type:"string",format:"uri-reference"},$comment:{type:"string"},title:{type:"string"},description:{type:"string"},default:!0,readOnly:{type:"boolean",default:!1},examples:{type:"array",items:!0},multipleOf:{type:"number",exclusiveMinimum:0},maximum:{type:"number"},exclusiveMaximum:{type:"number"},minimum:{type:"number"},exclusiveMinimum:{type:"number"},maxLength:{$ref:"#/definitions/nonNegativeInteger"},minLength:{$ref:"#/definitions/nonNegativeIntegerDefault0"},pattern:{type:"string",format:"regex"},additionalItems:{$ref:"#"},items:{anyOf:[{$ref:"#"},{$ref:"#/definitions/schemaArray"}],default:!0},maxItems:{$ref:"#/definitions/nonNegativeInteger"},minItems:{$ref:"#/definitions/nonNegativeIntegerDefault0"},uniqueItems:{type:"boolean",default:!1},contains:{$ref:"#"},maxProperties:{$ref:"#/definitions/nonNegativeInteger"},minProperties:{$ref:"#/definitions/nonNegativeIntegerDefault0"},required:{$ref:"#/definitions/stringArray"},additionalProperties:{$ref:"#"},definitions:{type:"object",additionalProperties:{$ref:"#"},default:{}},properties:{type:"object",additionalProperties:{$ref:"#"},default:{}},patternProperties:{type:"object",additionalProperties:{$ref:"#"},propertyNames:{format:"regex"},default:{}},dependencies:{type:"object",additionalProperties:{anyOf:[{$ref:"#"},{$ref:"#/definitions/stringArray"}]}},propertyNames:{$ref:"#"},const:!0,enum:{type:"array",items:!0,minItems:1,uniqueItems:!0},type:{anyOf:[{$ref:"#/definitions/simpleTypes"},{type:"array",items:{$ref:"#/definitions/simpleTypes"},minItems:1,uniqueItems:!0}]},format:{type:"string"},contentMediaType:{type:"string"},contentEncoding:{type:"string"},if:{$ref:"#"},then:{$ref:"#"},else:{$ref:"#"},allOf:{$ref:"#/definitions/schemaArray"},anyOf:{$ref:"#/definitions/schemaArray"},oneOf:{$ref:"#/definitions/schemaArray"},not:{$ref:"#"}},default:!0}});var TF=j((W1,N$)=>{Object.defineProperty(W1,"__esModule",{value:!0});W1.MissingRefError=W1.ValidationError=W1.CodeGen=W1.Name=W1.nil=W1.stringify=W1.str=W1._=W1.KeywordCxt=W1.Ajv=void 0;var yT=kK(),fT=MF(),gT=EF(),IF=SF(),hT=["/properties"],_X="http://json-schema.org/draft-07/schema";class b4 extends yT.default{_addVocabularies(){if(super._addVocabularies(),fT.default.forEach((Q)=>this.addVocabulary(Q)),this.opts.discriminator)this.addKeyword(gT.default)}_addDefaultMetaSchema(){if(super._addDefaultMetaSchema(),!this.opts.meta)return;let Q=this.opts.$data?this.$dataMetaSchema(IF,hT):IF;this.addMetaSchema(Q,_X,!1),this.refs["http://json-schema.org/schema"]=_X}defaultMeta(){return this.opts.defaultMeta=super.defaultMeta()||(this.getSchema(_X)?_X:void 0)}}W1.Ajv=b4;N$.exports=W1=b4;N$.exports.Ajv=b4;Object.defineProperty(W1,"__esModule",{value:!0});W1.default=b4;var uT=K4();Object.defineProperty(W1,"KeywordCxt",{enumerable:!0,get:function(){return uT.KeywordCxt}});var e9=r();Object.defineProperty(W1,"_",{enumerable:!0,get:function(){return e9._}});Object.defineProperty(W1,"str",{enumerable:!0,get:function(){return e9.str}});Object.defineProperty(W1,"stringify",{enumerable:!0,get:function(){return e9.stringify}});Object.defineProperty(W1,"nil",{enumerable:!0,get:function(){return e9.nil}});Object.defineProperty(W1,"Name",{enumerable:!0,get:function(){return e9.Name}});Object.defineProperty(W1,"CodeGen",{enumerable:!0,get:function(){return e9.CodeGen}});var lT=FX();Object.defineProperty(W1,"ValidationError",{enumerable:!0,get:function(){return lT.default}});var mT=V4();Object.defineProperty(W1,"MissingRefError",{enumerable:!0,get:function(){return mT.default}})});var uF=j((gF)=>{Object.defineProperty(gF,"__esModule",{value:!0});gF.formatNames=gF.fastFormats=gF.fullFormats=void 0;function i1(Q,X){return{validate:Q,compare:X}}gF.fullFormats={date:i1(_F,Z$),time:i1(b$(!0),R$),"date-time":i1(CF(!0),yF),"iso-time":i1(b$(),xF),"iso-date-time":i1(CF(),fF),duration:/^P(?!$)((\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+S)?)?|(\d+W)?)$/,uri:tT,"uri-reference":/^(?:[a-z][a-z0-9+\-.]*:)?(?:\/?\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|[Vv][0-9a-f]+\.[a-z0-9\-._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)|(?:[a-z0-9\-._~!$&'"()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*|\/(?:(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?(?:\?(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i,"uri-template":/^(?:(?:[^\x00-\x20"'<>%\\^`{|}]|%[0-9a-f]{2})|\{[+#./;?&=,!@|]?(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?(?:,(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?)*\})*$/i,url:/^(?:https?|ftp):\/\/(?:\S+(?::\S*)?@)?(?:(?!(?:10|127)(?:\.\d{1,3}){3})(?!(?:169\.254|192\.168)(?:\.\d{1,3}){2})(?!172\.(?:1[6-9]|2\d|3[0-1])(?:\.\d{1,3}){2})(?:[1-9]\d?|1\d\d|2[01]\d|22[0-3])(?:\.(?:1?\d{1,2}|2[0-4]\d|25[0-5])){2}(?:\.(?:[1-9]\d?|1\d\d|2[0-4]\d|25[0-4]))|(?:(?:[a-z0-9\u{00a1}-\u{ffff}]+-)*[a-z0-9\u{00a1}-\u{ffff}]+)(?:\.(?:[a-z0-9\u{00a1}-\u{ffff}]+-)*[a-z0-9\u{00a1}-\u{ffff}]+)*(?:\.(?:[a-z\u{00a1}-\u{ffff}]{2,})))(?::\d{2,5})?(?:\/[^\s]*)?$/iu,email:/^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$/i,hostname:/^(?=.{1,253}\.?$)[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[-0-9a-z]{0,61}[0-9a-z])?)*\.?$/i,ipv4:/^(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)$/,ipv6:/^((([0-9a-f]{1,4}:){7}([0-9a-f]{1,4}|:))|(([0-9a-f]{1,4}:){6}(:[0-9a-f]{1,4}|((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9a-f]{1,4}:){5}(((:[0-9a-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9a-f]{1,4}:){4}(((:[0-9a-f]{1,4}){1,3})|((:[0-9a-f]{1,4})?:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){3}(((:[0-9a-f]{1,4}){1,4})|((:[0-9a-f]{1,4}){0,2}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){2}(((:[0-9a-f]{1,4}){1,5})|((:[0-9a-f]{1,4}){0,3}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){1}(((:[0-9a-f]{1,4}){1,6})|((:[0-9a-f]{1,4}){0,4}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(:(((:[0-9a-f]{1,4}){1,7})|((:[0-9a-f]{1,4}){0,5}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))$/i,regex:WC,uuid:/^(?:urn:uuid:)?[0-9a-f]{8}-(?:[0-9a-f]{4}-){3}[0-9a-f]{12}$/i,"json-pointer":/^(?:\/(?:[^~/]|~0|~1)*)*$/,"json-pointer-uri-fragment":/^#(?:\/(?:[a-z0-9_\-.!$&'()*+,;:=@]|%[0-9a-f]{2}|~0|~1)*)*$/i,"relative-json-pointer":/^(?:0|[1-9][0-9]*)(?:#|(?:\/(?:[^~/]|~0|~1)*)*)$/,byte:aT,int32:{type:"number",validate:QC},int64:{type:"number",validate:XC},float:{type:"number",validate:vF},double:{type:"number",validate:vF},password:!0,binary:!0};gF.fastFormats={...gF.fullFormats,date:i1(/^\d\d\d\d-[0-1]\d-[0-3]\d$/,Z$),time:i1(/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)$/i,R$),"date-time":i1(/^\d\d\d\d-[0-1]\d-[0-3]\dt(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)$/i,yF),"iso-time":i1(/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)?$/i,xF),"iso-date-time":i1(/^\d\d\d\d-[0-1]\d-[0-3]\d[t\s](?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)?$/i,fF),uri:/^(?:[a-z][a-z0-9+\-.]*:)(?:\/?\/)?[^\s]*$/i,"uri-reference":/^(?:(?:[a-z][a-z0-9+\-.]*:)?\/?\/)?(?:[^\\\s#][^\s#]*)?(?:#[^\\\s]*)?$/i,email:/^[a-z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?)*$/i};gF.formatNames=Object.keys(gF.fullFormats);function dT(Q){return Q%4===0&&(Q%100!==0||Q%400===0)}var iT=/^(\d\d\d\d)-(\d\d)-(\d\d)$/,nT=[0,31,28,31,30,31,30,31,31,30,31,30,31];function _F(Q){let X=iT.exec(Q);if(!X)return!1;let Y=+X[1],W=+X[2],$=+X[3];return W>=1&&W<=12&&$>=1&&$<=(W===2&&dT(Y)?29:nT[W])}function Z$(Q,X){if(!(Q&&X))return;if(Q>X)return 1;if(Q<X)return-1;return 0}var w$=/^(\d\d):(\d\d):(\d\d(?:\.\d+)?)(z|([+-])(\d\d)(?::?(\d\d))?)?$/i;function b$(Q){return function(Y){let W=w$.exec(Y);if(!W)return!1;let $=+W[1],J=+W[2],G=+W[3],H=W[4],B=W[5]==="-"?-1:1,z=+(W[6]||0),K=+(W[7]||0);if(z>23||K>59||Q&&!H)return!1;if($<=23&&J<=59&&G<60)return!0;let V=J-K*B,q=$-z*B-(V<0?1:0);return(q===23||q===-1)&&(V===59||V===-1)&&G<61}}function R$(Q,X){if(!(Q&&X))return;let Y=new Date("2020-01-01T"+Q).valueOf(),W=new Date("2020-01-01T"+X).valueOf();if(!(Y&&W))return;return Y-W}function xF(Q,X){if(!(Q&&X))return;let Y=w$.exec(Q),W=w$.exec(X);if(!(Y&&W))return;if(Q=Y[1]+Y[2]+Y[3],X=W[1]+W[2]+W[3],Q>X)return 1;if(Q<X)return-1;return 0}var P$=/t|\s/i;function CF(Q){let X=b$(Q);return function(W){let $=W.split(P$);return $.length===2&&_F($[0])&&X($[1])}}function yF(Q,X){if(!(Q&&X))return;let Y=new Date(Q).valueOf(),W=new Date(X).valueOf();if(!(Y&&W))return;return Y-W}function fF(Q,X){if(!(Q&&X))return;let[Y,W]=Q.split(P$),[$,J]=X.split(P$),G=Z$(Y,$);if(G===void 0)return;return G||R$(W,J)}var oT=/\/|:/,rT=/^(?:[a-z][a-z0-9+\-.]*:)(?:\/?\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|[Vv][0-9a-f]+\.[a-z0-9\-._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)|(?:[a-z0-9\-._~!$&'()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*|\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)(?:\?(?:[a-z0-9\-._~!$&'()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\-._~!$&'()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i;function tT(Q){return oT.test(Q)&&rT.test(Q)}var kF=/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/gm;function aT(Q){return kF.lastIndex=0,kF.test(Q)}var sT=-2147483648,eT=2147483647;function QC(Q){return Number.isInteger(Q)&&Q<=eT&&Q>=sT}function XC(Q){return Number.isInteger(Q)}function vF(){return!0}var YC=/[^\\]\\Z/;function WC(Q){if(YC.test(Q))return!1;try{return new RegExp(Q),!0}catch(X){return!1}}});var Z4=j((cF)=>{Object.defineProperty(cF,"__esModule",{value:!0});cF.regexpCode=cF.getEsmExportName=cF.getProperty=cF.safeStringify=cF.stringify=cF.strConcat=cF.addCodeArg=cF.str=cF._=cF.nil=cF._Code=cF.Name=cF.IDENTIFIER=cF._CodeOrName=void 0;class xX{}cF._CodeOrName=xX;cF.IDENTIFIER=/^[a-z$_][a-z$_0-9]*$/i;class Q8 extends xX{constructor(Q){super();if(!cF.IDENTIFIER.test(Q))throw Error("CodeGen: name must be a valid identifier");this.str=Q}toString(){return this.str}emptyStr(){return!1}get names(){return{[this.str]:1}}}cF.Name=Q8;class C1 extends xX{constructor(Q){super();this._items=typeof Q==="string"?[Q]:Q}toString(){return this.str}emptyStr(){if(this._items.length>1)return!1;let Q=this._items[0];return Q===""||Q==='""'}get str(){var Q;return(Q=this._str)!==null&&Q!==void 0?Q:this._str=this._items.reduce((X,Y)=>`${X}${Y}`,"")}get names(){var Q;return(Q=this._names)!==null&&Q!==void 0?Q:this._names=this._items.reduce((X,Y)=>{if(Y instanceof Q8)X[Y.str]=(X[Y.str]||0)+1;return X},{})}}cF._Code=C1;cF.nil=new C1("");function lF(Q,...X){let Y=[Q[0]],W=0;while(W<X.length)I$(Y,X[W]),Y.push(Q[++W]);return new C1(Y)}cF._=lF;var S$=new C1("+");function mF(Q,...X){let Y=[P4(Q[0])],W=0;while(W<X.length)Y.push(S$),I$(Y,X[W]),Y.push(S$,P4(Q[++W]));return JC(Y),new C1(Y)}cF.str=mF;function I$(Q,X){if(X instanceof C1)Q.push(...X._items);else if(X instanceof Q8)Q.push(X);else Q.push(BC(X))}cF.addCodeArg=I$;function JC(Q){let X=1;while(X<Q.length-1){if(Q[X]===S$){let Y=GC(Q[X-1],Q[X+1]);if(Y!==void 0){Q.splice(X-1,3,Y);continue}Q[X++]="+"}X++}}function GC(Q,X){if(X==='""')return Q;if(Q==='""')return X;if(typeof Q=="string"){if(X instanceof Q8||Q[Q.length-1]!=='"')return;if(typeof X!="string")return`${Q.slice(0,-1)}${X}"`;if(X[0]==='"')return Q.slice(0,-1)+X.slice(1);return}if(typeof X=="string"&&X[0]==='"'&&!(Q instanceof Q8))return`"${Q}${X.slice(1)}`;return}function HC(Q,X){return X.emptyStr()?Q:Q.emptyStr()?X:mF`${Q}${X}`}cF.strConcat=HC;function BC(Q){return typeof Q=="number"||typeof Q=="boolean"||Q===null?Q:P4(Array.isArray(Q)?Q.join(","):Q)}function zC(Q){return new C1(P4(Q))}cF.stringify=zC;function P4(Q){return JSON.stringify(Q).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")}cF.safeStringify=P4;function KC(Q){return typeof Q=="string"&&cF.IDENTIFIER.test(Q)?new C1(`.${Q}`):lF`[${Q}]`}cF.getProperty=KC;function VC(Q){if(typeof Q=="string"&&cF.IDENTIFIER.test(Q))return new C1(`${Q}`);throw Error(`CodeGen: invalid export name: ${Q}, use explicit $id name mapping`)}cF.getEsmExportName=VC;function FC(Q){return new C1(Q.toString())}cF.regexpCode=FC});var v$=j((nF)=>{Object.defineProperty(nF,"__esModule",{value:!0});nF.ValueScope=nF.ValueScopeName=nF.Scope=nF.varKinds=nF.UsedValueState=void 0;var $1=Z4();class dF extends Error{constructor(Q){super(`CodeGen: "code" for ${Q} not defined`);this.value=Q.value}}var fX;(function(Q){Q[Q.Started=0]="Started",Q[Q.Completed=1]="Completed"})(fX||(nF.UsedValueState=fX={}));nF.varKinds={const:new $1.Name("const"),let:new $1.Name("let"),var:new $1.Name("var")};class C${constructor({prefixes:Q,parent:X}={}){this._names={},this._prefixes=Q,this._parent=X}toName(Q){return Q instanceof $1.Name?Q:this.name(Q)}name(Q){return new $1.Name(this._newName(Q))}_newName(Q){let X=this._names[Q]||this._nameGroup(Q);return`${Q}${X.index++}`}_nameGroup(Q){var X,Y;if(((Y=(X=this._parent)===null||X===void 0?void 0:X._prefixes)===null||Y===void 0?void 0:Y.has(Q))||this._prefixes&&!this._prefixes.has(Q))throw Error(`CodeGen: prefix "${Q}" is not allowed in this scope`);return this._names[Q]={prefix:Q,index:0}}}nF.Scope=C$;class k$ extends $1.Name{constructor(Q,X){super(X);this.prefix=Q}setValue(Q,{property:X,itemIndex:Y}){this.value=Q,this.scopePath=$1._`.${new $1.Name(X)}[${Y}]`}}nF.ValueScopeName=k$;var ZC=$1._`\n`;class iF extends C${constructor(Q){super(Q);this._values={},this._scope=Q.scope,this.opts={...Q,_n:Q.lines?ZC:$1.nil}}get(){return this._scope}name(Q){return new k$(Q,this._newName(Q))}value(Q,X){var Y;if(X.ref===void 0)throw Error("CodeGen: ref must be passed in value");let W=this.toName(Q),{prefix:$}=W,J=(Y=X.key)!==null&&Y!==void 0?Y:X.ref,G=this._values[$];if(G){let z=G.get(J);if(z)return z}else G=this._values[$]=new Map;G.set(J,W);let H=this._scope[$]||(this._scope[$]=[]),B=H.length;return H[B]=X.ref,W.setValue(X,{property:$,itemIndex:B}),W}getValue(Q,X){let Y=this._values[Q];if(!Y)return;return Y.get(X)}scopeRefs(Q,X=this._values){return this._reduceValues(X,(Y)=>{if(Y.scopePath===void 0)throw Error(`CodeGen: name "${Y}" has no value`);return $1._`${Q}${Y.scopePath}`})}scopeCode(Q=this._values,X,Y){return this._reduceValues(Q,(W)=>{if(W.value===void 0)throw Error(`CodeGen: name "${W}" has no value`);return W.value.code},X,Y)}_reduceValues(Q,X,Y={},W){let $=$1.nil;for(let J in Q){let G=Q[J];if(!G)continue;let H=Y[J]=Y[J]||new Map;G.forEach((B)=>{if(H.has(B))return;H.set(B,fX.Started);let z=X(B);if(z){let K=this.opts.es5?nF.varKinds.var:nF.varKinds.const;$=$1._`${$}${K} ${B} = ${z};${this.opts._n}`}else if(z=W===null||W===void 0?void 0:W(B))$=$1._`${$}${z}${this.opts._n}`;else throw new dF(B);H.set(B,fX.Completed)})}return $}}nF.ValueScope=iF});var n=j((J1)=>{Object.defineProperty(J1,"__esModule",{value:!0});J1.or=J1.and=J1.not=J1.CodeGen=J1.operators=J1.varKinds=J1.ValueScopeName=J1.ValueScope=J1.Scope=J1.Name=J1.regexpCode=J1.stringify=J1.getProperty=J1.nil=J1.strConcat=J1.str=J1._=void 0;var Q0=Z4(),k1=v$(),S6=Z4();Object.defineProperty(J1,"_",{enumerable:!0,get:function(){return S6._}});Object.defineProperty(J1,"str",{enumerable:!0,get:function(){return S6.str}});Object.defineProperty(J1,"strConcat",{enumerable:!0,get:function(){return S6.strConcat}});Object.defineProperty(J1,"nil",{enumerable:!0,get:function(){return S6.nil}});Object.defineProperty(J1,"getProperty",{enumerable:!0,get:function(){return S6.getProperty}});Object.defineProperty(J1,"stringify",{enumerable:!0,get:function(){return S6.stringify}});Object.defineProperty(J1,"regexpCode",{enumerable:!0,get:function(){return S6.regexpCode}});Object.defineProperty(J1,"Name",{enumerable:!0,get:function(){return S6.Name}});var cX=v$();Object.defineProperty(J1,"Scope",{enumerable:!0,get:function(){return cX.Scope}});Object.defineProperty(J1,"ValueScope",{enumerable:!0,get:function(){return cX.ValueScope}});Object.defineProperty(J1,"ValueScopeName",{enumerable:!0,get:function(){return cX.ValueScopeName}});Object.defineProperty(J1,"varKinds",{enumerable:!0,get:function(){return cX.varKinds}});J1.operators={GT:new Q0._Code(">"),GTE:new Q0._Code(">="),LT:new Q0._Code("<"),LTE:new Q0._Code("<="),EQ:new Q0._Code("==="),NEQ:new Q0._Code("!=="),NOT:new Q0._Code("!"),OR:new Q0._Code("||"),AND:new Q0._Code("&&"),ADD:new Q0._Code("+")};class I6{optimizeNodes(){return this}optimizeNames(Q,X){return this}}class rF extends I6{constructor(Q,X,Y){super();this.varKind=Q,this.name=X,this.rhs=Y}render({es5:Q,_n:X}){let Y=Q?k1.varKinds.var:this.varKind,W=this.rhs===void 0?"":` = ${this.rhs}`;return`${Y} ${this.name}${W};`+X}optimizeNames(Q,X){if(!Q[this.name.str])return;if(this.rhs)this.rhs=Y8(this.rhs,Q,X);return this}get names(){return this.rhs instanceof Q0._CodeOrName?this.rhs.names:{}}}class y$ extends I6{constructor(Q,X,Y){super();this.lhs=Q,this.rhs=X,this.sideEffects=Y}render({_n:Q}){return`${this.lhs} = ${this.rhs};`+Q}optimizeNames(Q,X){if(this.lhs instanceof Q0.Name&&!Q[this.lhs.str]&&!this.sideEffects)return;return this.rhs=Y8(this.rhs,Q,X),this}get names(){let Q=this.lhs instanceof Q0.Name?{}:{...this.lhs.names};return mX(Q,this.rhs)}}class tF extends y${constructor(Q,X,Y,W){super(Q,Y,W);this.op=X}render({_n:Q}){return`${this.lhs} ${this.op}= ${this.rhs};`+Q}}class aF extends I6{constructor(Q){super();this.label=Q,this.names={}}render({_n:Q}){return`${this.label}:`+Q}}class sF extends I6{constructor(Q){super();this.label=Q,this.names={}}render({_n:Q}){return`break${this.label?` ${this.label}`:""};`+Q}}class eF extends I6{constructor(Q){super();this.error=Q}render({_n:Q}){return`throw ${this.error};`+Q}get names(){return this.error.names}}class QA extends I6{constructor(Q){super();this.code=Q}render({_n:Q}){return`${this.code};`+Q}optimizeNodes(){return`${this.code}`?this:void 0}optimizeNames(Q,X){return this.code=Y8(this.code,Q,X),this}get names(){return this.code instanceof Q0._CodeOrName?this.code.names:{}}}class pX extends I6{constructor(Q=[]){super();this.nodes=Q}render(Q){return this.nodes.reduce((X,Y)=>X+Y.render(Q),"")}optimizeNodes(){let{nodes:Q}=this,X=Q.length;while(X--){let Y=Q[X].optimizeNodes();if(Array.isArray(Y))Q.splice(X,1,...Y);else if(Y)Q[X]=Y;else Q.splice(X,1)}return Q.length>0?this:void 0}optimizeNames(Q,X){let{nodes:Y}=this,W=Y.length;while(W--){let $=Y[W];if($.optimizeNames(Q,X))continue;IC(Q,$.names),Y.splice(W,1)}return Y.length>0?this:void 0}get names(){return this.nodes.reduce((Q,X)=>z9(Q,X.names),{})}}class T6 extends pX{render(Q){return"{"+Q._n+super.render(Q)+"}"+Q._n}}class XA extends pX{}class R4 extends T6{}R4.kind="else";class G6 extends T6{constructor(Q,X){super(X);this.condition=Q}render(Q){let X=`if(${this.condition})`+super.render(Q);if(this.else)X+="else "+this.else.render(Q);return X}optimizeNodes(){super.optimizeNodes();let Q=this.condition;if(Q===!0)return this.nodes;let X=this.else;if(X){let Y=X.optimizeNodes();X=this.else=Array.isArray(Y)?new R4(Y):Y}if(X){if(Q===!1)return X instanceof G6?X:X.nodes;if(this.nodes.length)return this;return new G6(GA(Q),X instanceof G6?[X]:X.nodes)}if(Q===!1||!this.nodes.length)return;return this}optimizeNames(Q,X){var Y;if(this.else=(Y=this.else)===null||Y===void 0?void 0:Y.optimizeNames(Q,X),!(super.optimizeNames(Q,X)||this.else))return;return this.condition=Y8(this.condition,Q,X),this}get names(){let Q=super.names;if(mX(Q,this.condition),this.else)z9(Q,this.else.names);return Q}}G6.kind="if";class X8 extends T6{}X8.kind="for";class YA extends X8{constructor(Q){super();this.iteration=Q}render(Q){return`for(${this.iteration})`+super.render(Q)}optimizeNames(Q,X){if(!super.optimizeNames(Q,X))return;return this.iteration=Y8(this.iteration,Q,X),this}get names(){return z9(super.names,this.iteration.names)}}class WA extends X8{constructor(Q,X,Y,W){super();this.varKind=Q,this.name=X,this.from=Y,this.to=W}render(Q){let X=Q.es5?k1.varKinds.var:this.varKind,{name:Y,from:W,to:$}=this;return`for(${X} ${Y}=${W}; ${Y}<${$}; ${Y}++)`+super.render(Q)}get names(){let Q=mX(super.names,this.from);return mX(Q,this.to)}}class _$ extends X8{constructor(Q,X,Y,W){super();this.loop=Q,this.varKind=X,this.name=Y,this.iterable=W}render(Q){return`for(${this.varKind} ${this.name} ${this.loop} ${this.iterable})`+super.render(Q)}optimizeNames(Q,X){if(!super.optimizeNames(Q,X))return;return this.iterable=Y8(this.iterable,Q,X),this}get names(){return z9(super.names,this.iterable.names)}}class gX extends T6{constructor(Q,X,Y){super();this.name=Q,this.args=X,this.async=Y}render(Q){return`${this.async?"async ":""}function ${this.name}(${this.args})`+super.render(Q)}}gX.kind="func";class hX extends pX{render(Q){return"return "+super.render(Q)}}hX.kind="return";class $A extends T6{render(Q){let X="try"+super.render(Q);if(this.catch)X+=this.catch.render(Q);if(this.finally)X+=this.finally.render(Q);return X}optimizeNodes(){var Q,X;return super.optimizeNodes(),(Q=this.catch)===null||Q===void 0||Q.optimizeNodes(),(X=this.finally)===null||X===void 0||X.optimizeNodes(),this}optimizeNames(Q,X){var Y,W;return super.optimizeNames(Q,X),(Y=this.catch)===null||Y===void 0||Y.optimizeNames(Q,X),(W=this.finally)===null||W===void 0||W.optimizeNames(Q,X),this}get names(){let Q=super.names;if(this.catch)z9(Q,this.catch.names);if(this.finally)z9(Q,this.finally.names);return Q}}class uX extends T6{constructor(Q){super();this.error=Q}render(Q){return`catch(${this.error})`+super.render(Q)}}uX.kind="catch";class lX extends T6{render(Q){return"finally"+super.render(Q)}}lX.kind="finally";class JA{constructor(Q,X={}){this._values={},this._blockStarts=[],this._constants={},this.opts={...X,_n:X.lines?`
10
- `:""},this._extScope=Q,this._scope=new k1.Scope({parent:Q}),this._nodes=[new XA]}toString(){return this._root.render(this.opts)}name(Q){return this._scope.name(Q)}scopeName(Q){return this._extScope.name(Q)}scopeValue(Q,X){let Y=this._extScope.value(Q,X);return(this._values[Y.prefix]||(this._values[Y.prefix]=new Set)).add(Y),Y}getScopeValue(Q,X){return this._extScope.getValue(Q,X)}scopeRefs(Q){return this._extScope.scopeRefs(Q,this._values)}scopeCode(){return this._extScope.scopeCode(this._values)}_def(Q,X,Y,W){let $=this._scope.toName(X);if(Y!==void 0&&W)this._constants[$.str]=Y;return this._leafNode(new rF(Q,$,Y)),$}const(Q,X,Y){return this._def(k1.varKinds.const,Q,X,Y)}let(Q,X,Y){return this._def(k1.varKinds.let,Q,X,Y)}var(Q,X,Y){return this._def(k1.varKinds.var,Q,X,Y)}assign(Q,X,Y){return this._leafNode(new y$(Q,X,Y))}add(Q,X){return this._leafNode(new tF(Q,J1.operators.ADD,X))}code(Q){if(typeof Q=="function")Q();else if(Q!==Q0.nil)this._leafNode(new QA(Q));return this}object(...Q){let X=["{"];for(let[Y,W]of Q){if(X.length>1)X.push(",");if(X.push(Y),Y!==W||this.opts.es5)X.push(":"),(0,Q0.addCodeArg)(X,W)}return X.push("}"),new Q0._Code(X)}if(Q,X,Y){if(this._blockNode(new G6(Q)),X&&Y)this.code(X).else().code(Y).endIf();else if(X)this.code(X).endIf();else if(Y)throw Error('CodeGen: "else" body without "then" body');return this}elseIf(Q){return this._elseNode(new G6(Q))}else(){return this._elseNode(new R4)}endIf(){return this._endBlockNode(G6,R4)}_for(Q,X){if(this._blockNode(Q),X)this.code(X).endFor();return this}for(Q,X){return this._for(new YA(Q),X)}forRange(Q,X,Y,W,$=this.opts.es5?k1.varKinds.var:k1.varKinds.let){let J=this._scope.toName(Q);return this._for(new WA($,J,X,Y),()=>W(J))}forOf(Q,X,Y,W=k1.varKinds.const){let $=this._scope.toName(Q);if(this.opts.es5){let J=X instanceof Q0.Name?X:this.var("_arr",X);return this.forRange("_i",0,Q0._`${J}.length`,(G)=>{this.var($,Q0._`${J}[${G}]`),Y($)})}return this._for(new _$("of",W,$,X),()=>Y($))}forIn(Q,X,Y,W=this.opts.es5?k1.varKinds.var:k1.varKinds.const){if(this.opts.ownProperties)return this.forOf(Q,Q0._`Object.keys(${X})`,Y);let $=this._scope.toName(Q);return this._for(new _$("in",W,$,X),()=>Y($))}endFor(){return this._endBlockNode(X8)}label(Q){return this._leafNode(new aF(Q))}break(Q){return this._leafNode(new sF(Q))}return(Q){let X=new hX;if(this._blockNode(X),this.code(Q),X.nodes.length!==1)throw Error('CodeGen: "return" should have one node');return this._endBlockNode(hX)}try(Q,X,Y){if(!X&&!Y)throw Error('CodeGen: "try" without "catch" and "finally"');let W=new $A;if(this._blockNode(W),this.code(Q),X){let $=this.name("e");this._currNode=W.catch=new uX($),X($)}if(Y)this._currNode=W.finally=new lX,this.code(Y);return this._endBlockNode(uX,lX)}throw(Q){return this._leafNode(new eF(Q))}block(Q,X){if(this._blockStarts.push(this._nodes.length),Q)this.code(Q).endBlock(X);return this}endBlock(Q){let X=this._blockStarts.pop();if(X===void 0)throw Error("CodeGen: not in self-balancing block");let Y=this._nodes.length-X;if(Y<0||Q!==void 0&&Y!==Q)throw Error(`CodeGen: wrong number of nodes: ${Y} vs ${Q} expected`);return this._nodes.length=X,this}func(Q,X=Q0.nil,Y,W){if(this._blockNode(new gX(Q,X,Y)),W)this.code(W).endFunc();return this}endFunc(){return this._endBlockNode(gX)}optimize(Q=1){while(Q-- >0)this._root.optimizeNodes(),this._root.optimizeNames(this._root.names,this._constants)}_leafNode(Q){return this._currNode.nodes.push(Q),this}_blockNode(Q){this._currNode.nodes.push(Q),this._nodes.push(Q)}_endBlockNode(Q,X){let Y=this._currNode;if(Y instanceof Q||X&&Y instanceof X)return this._nodes.pop(),this;throw Error(`CodeGen: not in block "${X?`${Q.kind}/${X.kind}`:Q.kind}"`)}_elseNode(Q){let X=this._currNode;if(!(X instanceof G6))throw Error('CodeGen: "else" without "if"');return this._currNode=X.else=Q,this}get _root(){return this._nodes[0]}get _currNode(){let Q=this._nodes;return Q[Q.length-1]}set _currNode(Q){let X=this._nodes;X[X.length-1]=Q}}J1.CodeGen=JA;function z9(Q,X){for(let Y in X)Q[Y]=(Q[Y]||0)+(X[Y]||0);return Q}function mX(Q,X){return X instanceof Q0._CodeOrName?z9(Q,X.names):Q}function Y8(Q,X,Y){if(Q instanceof Q0.Name)return W(Q);if(!$(Q))return Q;return new Q0._Code(Q._items.reduce((J,G)=>{if(G instanceof Q0.Name)G=W(G);if(G instanceof Q0._Code)J.push(...G._items);else J.push(G);return J},[]));function W(J){let G=Y[J.str];if(G===void 0||X[J.str]!==1)return J;return delete X[J.str],G}function $(J){return J instanceof Q0._Code&&J._items.some((G)=>G instanceof Q0.Name&&X[G.str]===1&&Y[G.str]!==void 0)}}function IC(Q,X){for(let Y in X)Q[Y]=(Q[Y]||0)-(X[Y]||0)}function GA(Q){return typeof Q=="boolean"||typeof Q=="number"||Q===null?!Q:Q0._`!${x$(Q)}`}J1.not=GA;var TC=HA(J1.operators.AND);function CC(...Q){return Q.reduce(TC)}J1.and=CC;var kC=HA(J1.operators.OR);function vC(...Q){return Q.reduce(kC)}J1.or=vC;function HA(Q){return(X,Y)=>X===Q0.nil?Y:Y===Q0.nil?X:Q0._`${x$(X)} ${Q} ${x$(Y)}`}function x$(Q){return Q instanceof Q0.Name?Q:Q0._`(${Q})`}});var $0=j((LA)=>{Object.defineProperty(LA,"__esModule",{value:!0});LA.checkStrictMode=LA.getErrorPath=LA.Type=LA.useFunc=LA.setEvaluated=LA.evaluatedPropsToName=LA.mergeEvaluated=LA.eachItem=LA.unescapeJsonPointer=LA.escapeJsonPointer=LA.escapeFragment=LA.unescapeFragment=LA.schemaRefOrVal=LA.schemaHasRulesButRef=LA.schemaHasRules=LA.checkUnknownRules=LA.alwaysValidSchema=LA.toHash=void 0;var z0=n(),fC=Z4();function gC(Q){let X={};for(let Y of Q)X[Y]=!0;return X}LA.toHash=gC;function hC(Q,X){if(typeof X=="boolean")return X;if(Object.keys(X).length===0)return!0;return VA(Q,X),!FA(X,Q.self.RULES.all)}LA.alwaysValidSchema=hC;function VA(Q,X=Q.schema){let{opts:Y,self:W}=Q;if(!Y.strictSchema)return;if(typeof X==="boolean")return;let $=W.RULES.keywords;for(let J in X)if(!$[J])DA(Q,`unknown keyword: "${J}"`)}LA.checkUnknownRules=VA;function FA(Q,X){if(typeof Q=="boolean")return!Q;for(let Y in Q)if(X[Y])return!0;return!1}LA.schemaHasRules=FA;function uC(Q,X){if(typeof Q=="boolean")return!Q;for(let Y in Q)if(Y!=="$ref"&&X.all[Y])return!0;return!1}LA.schemaHasRulesButRef=uC;function lC({topSchemaRef:Q,schemaPath:X},Y,W,$){if(!$){if(typeof Y=="number"||typeof Y=="boolean")return Y;if(typeof Y=="string")return z0._`${Y}`}return z0._`${Q}${X}${(0,z0.getProperty)(W)}`}LA.schemaRefOrVal=lC;function mC(Q){return AA(decodeURIComponent(Q))}LA.unescapeFragment=mC;function cC(Q){return encodeURIComponent(g$(Q))}LA.escapeFragment=cC;function g$(Q){if(typeof Q=="number")return`${Q}`;return Q.replace(/~/g,"~0").replace(/\//g,"~1")}LA.escapeJsonPointer=g$;function AA(Q){return Q.replace(/~1/g,"/").replace(/~0/g,"~")}LA.unescapeJsonPointer=AA;function pC(Q,X){if(Array.isArray(Q))for(let Y of Q)X(Y);else X(Q)}LA.eachItem=pC;function zA({mergeNames:Q,mergeToName:X,mergeValues:Y,resultToName:W}){return($,J,G,H)=>{let B=G===void 0?J:G instanceof z0.Name?(J instanceof z0.Name?Q($,J,G):X($,J,G),G):J instanceof z0.Name?(X($,G,J),J):Y(J,G);return H===z0.Name&&!(B instanceof z0.Name)?W($,B):B}}LA.mergeEvaluated={props:zA({mergeNames:(Q,X,Y)=>Q.if(z0._`${Y} !== true && ${X} !== undefined`,()=>{Q.if(z0._`${X} === true`,()=>Q.assign(Y,!0),()=>Q.assign(Y,z0._`${Y} || {}`).code(z0._`Object.assign(${Y}, ${X})`))}),mergeToName:(Q,X,Y)=>Q.if(z0._`${Y} !== true`,()=>{if(X===!0)Q.assign(Y,!0);else Q.assign(Y,z0._`${Y} || {}`),h$(Q,Y,X)}),mergeValues:(Q,X)=>Q===!0?!0:{...Q,...X},resultToName:qA}),items:zA({mergeNames:(Q,X,Y)=>Q.if(z0._`${Y} !== true && ${X} !== undefined`,()=>Q.assign(Y,z0._`${X} === true ? true : ${Y} > ${X} ? ${Y} : ${X}`)),mergeToName:(Q,X,Y)=>Q.if(z0._`${Y} !== true`,()=>Q.assign(Y,X===!0?!0:z0._`${Y} > ${X} ? ${Y} : ${X}`)),mergeValues:(Q,X)=>Q===!0?!0:Math.max(Q,X),resultToName:(Q,X)=>Q.var("items",X)})};function qA(Q,X){if(X===!0)return Q.var("props",!0);let Y=Q.var("props",z0._`{}`);if(X!==void 0)h$(Q,Y,X);return Y}LA.evaluatedPropsToName=qA;function h$(Q,X,Y){Object.keys(Y).forEach((W)=>Q.assign(z0._`${X}${(0,z0.getProperty)(W)}`,!0))}LA.setEvaluated=h$;var KA={};function dC(Q,X){return Q.scopeValue("func",{ref:X,code:KA[X.code]||(KA[X.code]=new fC._Code(X.code))})}LA.useFunc=dC;var f$;(function(Q){Q[Q.Num=0]="Num",Q[Q.Str=1]="Str"})(f$||(LA.Type=f$={}));function iC(Q,X,Y){if(Q instanceof z0.Name){let W=X===f$.Num;return Y?W?z0._`"[" + ${Q} + "]"`:z0._`"['" + ${Q} + "']"`:W?z0._`"/" + ${Q}`:z0._`"/" + ${Q}.replace(/~/g, "~0").replace(/\\//g, "~1")`}return Y?(0,z0.getProperty)(Q).toString():"/"+g$(Q)}LA.getErrorPath=iC;function DA(Q,X,Y=Q.opts.strictSchema){if(!Y)return;if(X=`strict mode: ${X}`,Y===!0)throw Error(X);Q.self.logger.warn(X)}LA.checkStrictMode=DA});var H6=j((UA)=>{Object.defineProperty(UA,"__esModule",{value:!0});var l0=n(),K2={data:new l0.Name("data"),valCxt:new l0.Name("valCxt"),instancePath:new l0.Name("instancePath"),parentData:new l0.Name("parentData"),parentDataProperty:new l0.Name("parentDataProperty"),rootData:new l0.Name("rootData"),dynamicAnchors:new l0.Name("dynamicAnchors"),vErrors:new l0.Name("vErrors"),errors:new l0.Name("errors"),this:new l0.Name("this"),self:new l0.Name("self"),scope:new l0.Name("scope"),json:new l0.Name("json"),jsonPos:new l0.Name("jsonPos"),jsonLen:new l0.Name("jsonLen"),jsonPart:new l0.Name("jsonPart")};UA.default=K2});var E4=j((wA)=>{Object.defineProperty(wA,"__esModule",{value:!0});wA.extendErrors=wA.resetErrorsCount=wA.reportExtraError=wA.reportError=wA.keyword$DataError=wA.keywordError=void 0;var Y0=n(),iX=$0(),n0=H6();wA.keywordError={message:({keyword:Q})=>Y0.str`must pass "${Q}" keyword validation`};wA.keyword$DataError={message:({keyword:Q,schemaType:X})=>X?Y0.str`"${Q}" keyword must be ${X} ($data)`:Y0.str`"${Q}" keyword is invalid ($data)`};function F2(Q,X=wA.keywordError,Y,W){let{it:$}=Q,{gen:J,compositeRule:G,allErrors:H}=$,B=NA(Q,X,Y);if(W!==null&&W!==void 0?W:G||H)jA(J,B);else MA($,Y0._`[${B}]`)}wA.reportError=F2;function A2(Q,X=wA.keywordError,Y){let{it:W}=Q,{gen:$,compositeRule:J,allErrors:G}=W,H=NA(Q,X,Y);if(jA($,H),!(J||G))MA(W,n0.default.vErrors)}wA.reportExtraError=A2;function q2(Q,X){Q.assign(n0.default.errors,X),Q.if(Y0._`${n0.default.vErrors} !== null`,()=>Q.if(X,()=>Q.assign(Y0._`${n0.default.vErrors}.length`,X),()=>Q.assign(n0.default.vErrors,null)))}wA.resetErrorsCount=q2;function D2({gen:Q,keyword:X,schemaValue:Y,data:W,errsCount:$,it:J}){if($===void 0)throw Error("ajv implementation error");let G=Q.name("err");Q.forRange("i",$,n0.default.errors,(H)=>{if(Q.const(G,Y0._`${n0.default.vErrors}[${H}]`),Q.if(Y0._`${G}.instancePath === undefined`,()=>Q.assign(Y0._`${G}.instancePath`,(0,Y0.strConcat)(n0.default.instancePath,J.errorPath))),Q.assign(Y0._`${G}.schemaPath`,Y0.str`${J.errSchemaPath}/${X}`),J.opts.verbose)Q.assign(Y0._`${G}.schema`,Y),Q.assign(Y0._`${G}.data`,W)})}wA.extendErrors=D2;function jA(Q,X){let Y=Q.const("err",X);Q.if(Y0._`${n0.default.vErrors} === null`,()=>Q.assign(n0.default.vErrors,Y0._`[${Y}]`),Y0._`${n0.default.vErrors}.push(${Y})`),Q.code(Y0._`${n0.default.errors}++`)}function MA(Q,X){let{gen:Y,validateName:W,schemaEnv:$}=Q;if($.$async)Y.throw(Y0._`new ${Q.ValidationError}(${X})`);else Y.assign(Y0._`${W}.errors`,X),Y.return(!1)}var K9={keyword:new Y0.Name("keyword"),schemaPath:new Y0.Name("schemaPath"),params:new Y0.Name("params"),propertyName:new Y0.Name("propertyName"),message:new Y0.Name("message"),schema:new Y0.Name("schema"),parentSchema:new Y0.Name("parentSchema")};function NA(Q,X,Y){let{createErrors:W}=Q.it;if(W===!1)return Y0._`{}`;return L2(Q,X,Y)}function L2(Q,X,Y={}){let{gen:W,it:$}=Q,J=[O2($,Y),U2(Q,Y)];return j2(Q,X,J),W.object(...J)}function O2({errorPath:Q},{instancePath:X}){let Y=X?Y0.str`${Q}${(0,iX.getErrorPath)(X,iX.Type.Str)}`:Q;return[n0.default.instancePath,(0,Y0.strConcat)(n0.default.instancePath,Y)]}function U2({keyword:Q,it:{errSchemaPath:X}},{schemaPath:Y,parentSchema:W}){let $=W?X:Y0.str`${X}/${Q}`;if(Y)$=Y0.str`${$}${(0,iX.getErrorPath)(Y,iX.Type.Str)}`;return[K9.schemaPath,$]}function j2(Q,{params:X,message:Y},W){let{keyword:$,data:J,schemaValue:G,it:H}=Q,{opts:B,propertyName:z,topSchemaRef:K,schemaPath:V}=H;if(W.push([K9.keyword,$],[K9.params,typeof X=="function"?X(Q):X||Y0._`{}`]),B.messages)W.push([K9.message,typeof Y=="function"?Y(Q):Y]);if(B.verbose)W.push([K9.schema,G],[K9.parentSchema,Y0._`${K}${V}`],[n0.default.data,J]);if(z)W.push([K9.propertyName,z])}});var EA=j((ZA)=>{Object.defineProperty(ZA,"__esModule",{value:!0});ZA.boolOrEmptySchema=ZA.topBoolOrEmptySchema=void 0;var P2=E4(),Z2=n(),R2=H6(),E2={message:"boolean schema is false"};function S2(Q){let{gen:X,schema:Y,validateName:W}=Q;if(Y===!1)PA(Q,!1);else if(typeof Y=="object"&&Y.$async===!0)X.return(R2.default.data);else X.assign(Z2._`${W}.errors`,null),X.return(!0)}ZA.topBoolOrEmptySchema=S2;function I2(Q,X){let{gen:Y,schema:W}=Q;if(W===!1)Y.var(X,!1),PA(Q);else Y.var(X,!0)}ZA.boolOrEmptySchema=I2;function PA(Q,X){let{gen:Y,data:W}=Q,$={gen:Y,keyword:"false schema",data:W,schema:!1,schemaCode:!1,schemaValue:!1,params:{},it:Q};(0,P2.reportError)($,E2,void 0,X)}});var l$=j((SA)=>{Object.defineProperty(SA,"__esModule",{value:!0});SA.getRules=SA.isJSONType=void 0;var C2=["string","number","integer","boolean","null","object","array"],k2=new Set(C2);function v2(Q){return typeof Q=="string"&&k2.has(Q)}SA.isJSONType=v2;function _2(){let Q={number:{type:"number",rules:[]},string:{type:"string",rules:[]},array:{type:"array",rules:[]},object:{type:"object",rules:[]}};return{types:{...Q,integer:!0,boolean:!0,null:!0},rules:[{rules:[]},Q.number,Q.string,Q.array,Q.object],post:{rules:[]},all:{},keywords:{}}}SA.getRules=_2});var m$=j((kA)=>{Object.defineProperty(kA,"__esModule",{value:!0});kA.shouldUseRule=kA.shouldUseGroup=kA.schemaHasRulesForType=void 0;function y2({schema:Q,self:X},Y){let W=X.RULES.types[Y];return W&&W!==!0&&TA(Q,W)}kA.schemaHasRulesForType=y2;function TA(Q,X){return X.rules.some((Y)=>CA(Q,Y))}kA.shouldUseGroup=TA;function CA(Q,X){var Y;return Q[X.keyword]!==void 0||((Y=X.definition.implements)===null||Y===void 0?void 0:Y.some((W)=>Q[W]!==void 0))}kA.shouldUseRule=CA});var S4=j((fA)=>{Object.defineProperty(fA,"__esModule",{value:!0});fA.reportTypeError=fA.checkDataTypes=fA.checkDataType=fA.coerceAndCheckDataType=fA.getJSONTypes=fA.getSchemaTypes=fA.DataType=void 0;var h2=l$(),u2=m$(),l2=E4(),i=n(),_A=$0(),W8;(function(Q){Q[Q.Correct=0]="Correct",Q[Q.Wrong=1]="Wrong"})(W8||(fA.DataType=W8={}));function m2(Q){let X=xA(Q.type);if(X.includes("null")){if(Q.nullable===!1)throw Error("type: null contradicts nullable: false")}else{if(!X.length&&Q.nullable!==void 0)throw Error('"nullable" cannot be used without "type"');if(Q.nullable===!0)X.push("null")}return X}fA.getSchemaTypes=m2;function xA(Q){let X=Array.isArray(Q)?Q:Q?[Q]:[];if(X.every(h2.isJSONType))return X;throw Error("type must be JSONType or JSONType[]: "+X.join(","))}fA.getJSONTypes=xA;function c2(Q,X){let{gen:Y,data:W,opts:$}=Q,J=p2(X,$.coerceTypes),G=X.length>0&&!(J.length===0&&X.length===1&&(0,u2.schemaHasRulesForType)(Q,X[0]));if(G){let H=p$(X,W,$.strictNumbers,W8.Wrong);Y.if(H,()=>{if(J.length)d2(Q,X,J);else d$(Q)})}return G}fA.coerceAndCheckDataType=c2;var yA=new Set(["string","number","integer","boolean","null"]);function p2(Q,X){return X?Q.filter((Y)=>yA.has(Y)||X==="array"&&Y==="array"):[]}function d2(Q,X,Y){let{gen:W,data:$,opts:J}=Q,G=W.let("dataType",i._`typeof ${$}`),H=W.let("coerced",i._`undefined`);if(J.coerceTypes==="array")W.if(i._`${G} == 'object' && Array.isArray(${$}) && ${$}.length == 1`,()=>W.assign($,i._`${$}[0]`).assign(G,i._`typeof ${$}`).if(p$(X,$,J.strictNumbers),()=>W.assign(H,$)));W.if(i._`${H} !== undefined`);for(let z of Y)if(yA.has(z)||z==="array"&&J.coerceTypes==="array")B(z);W.else(),d$(Q),W.endIf(),W.if(i._`${H} !== undefined`,()=>{W.assign($,H),i2(Q,H)});function B(z){switch(z){case"string":W.elseIf(i._`${G} == "number" || ${G} == "boolean"`).assign(H,i._`"" + ${$}`).elseIf(i._`${$} === null`).assign(H,i._`""`);return;case"number":W.elseIf(i._`${G} == "boolean" || ${$} === null
8
+ depsCount: ${Y},
9
+ deps: ${X}}`};var uS={keyword:"dependencies",type:"object",schemaType:"object",error:iV.error,code(Q){let[Y,X]=lS(Q);pV(Q,Y),dV(Q,X)}};function lS({schema:Q}){let Y={},X={};for(let W in Q){if(W==="__proto__")continue;let $=Array.isArray(Q[W])?Y:X;$[W]=Q[W]}return[Y,X]}function pV(Q,Y=Q.schema){let{gen:X,data:W,it:$}=Q;if(Object.keys(Y).length===0)return;let J=X.let("missing");for(let G in Y){let H=Y[G];if(H.length===0)continue;let B=(0,R4.propertyInData)(X,W,G,$.opts.ownProperties);if(Q.setParams({property:G,depsCount:H.length,deps:H.join(", ")}),$.allErrors)X.if(B,()=>{for(let z of H)(0,R4.checkReportMissingProp)(Q,z)});else X.if(Z$._`${B} && (${(0,R4.checkMissingProp)(Q,H,J)})`),(0,R4.reportMissingProp)(Q,J),X.else()}}iV.validatePropertyDeps=pV;function dV(Q,Y=Q.schema){let{gen:X,data:W,keyword:$,it:J}=Q,G=X.name("valid");for(let H in Y){if((0,hS.alwaysValidSchema)(J,Y[H]))continue;X.if((0,R4.propertyInData)(X,W,H,J.opts.ownProperties),()=>{let B=Q.subschema({keyword:$,schemaProp:H},G);Q.mergeValidEvaluated(B,G)},()=>X.var(G,!0)),Q.ok(G)}}iV.validateSchemaDeps=dV;iV.default=uS});var sV=j((aV)=>{Object.defineProperty(aV,"__esModule",{value:!0});var tV=r(),pS=W0(),dS={message:"property name must be valid",params:({params:Q})=>tV._`{propertyName: ${Q.propertyName}}`},iS={keyword:"propertyNames",type:"object",schemaType:["object","boolean"],error:dS,code(Q){let{gen:Y,schema:X,data:W,it:$}=Q;if((0,pS.alwaysValidSchema)($,X))return;let J=Y.name("valid");Y.forIn("key",W,(G)=>{Q.setParams({propertyName:G}),Q.subschema({keyword:"propertyNames",data:G,dataTypes:["string"],propertyName:G,compositeRule:!0},J),Y.if((0,tV.not)(J),()=>{if(Q.error(!0),!$.allErrors)Y.break()})}),Q.ok(J)}};aV.default=iS});var R$=j((eV)=>{Object.defineProperty(eV,"__esModule",{value:!0});var _Y=A1(),T1=r(),oS=X6(),vY=W0(),rS={message:"must NOT have additional properties",params:({params:Q})=>T1._`{additionalProperty: ${Q.additionalProperty}}`},tS={keyword:"additionalProperties",type:["object"],schemaType:["boolean","object"],allowUndefined:!0,trackErrors:!0,error:rS,code(Q){let{gen:Y,schema:X,parentSchema:W,data:$,errsCount:J,it:G}=Q;if(!J)throw Error("ajv implementation error");let{allErrors:H,opts:B}=G;if(G.props=!0,B.removeAdditional!=="all"&&(0,vY.alwaysValidSchema)(G,X))return;let z=(0,_Y.allSchemaProperties)(W.properties),K=(0,_Y.allSchemaProperties)(W.patternProperties);V(),Q.ok(T1._`${J} === ${oS.default.errors}`);function V(){Y.forIn("key",$,(O)=>{if(!z.length&&!K.length)A(O);else Y.if(q(O),()=>A(O))})}function q(O){let L;if(z.length>8){let N=(0,vY.schemaRefOrVal)(G,W.properties,"properties");L=(0,_Y.isOwnProperty)(Y,N,O)}else if(z.length)L=(0,T1.or)(...z.map((N)=>T1._`${O} === ${N}`));else L=T1.nil;if(K.length)L=(0,T1.or)(L,...K.map((N)=>T1._`${(0,_Y.usePattern)(Q,N)}.test(${O})`));return(0,T1.not)(L)}function F(O){Y.code(T1._`delete ${$}[${O}]`)}function A(O){if(B.removeAdditional==="all"||B.removeAdditional&&X===!1){F(O);return}if(X===!1){if(Q.setParams({additionalProperty:O}),Q.error(),!H)Y.break();return}if(typeof X=="object"&&!(0,vY.alwaysValidSchema)(G,X)){let L=Y.name("valid");if(B.removeAdditional==="failing")D(O,L,!1),Y.if((0,T1.not)(L),()=>{Q.reset(),F(O)});else if(D(O,L),!H)Y.if((0,T1.not)(L),()=>Y.break())}}function D(O,L,N){let M={keyword:"additionalProperties",dataProp:O,dataPropType:vY.Type.Str};if(N===!1)Object.assign(M,{compositeRule:!0,createErrors:!1,allErrors:!1});Q.subschema(M,L)}}};eV.default=tS});var WF=j((XF)=>{Object.defineProperty(XF,"__esModule",{value:!0});var sS=q4(),QF=A1(),E$=W0(),YF=R$(),eS={keyword:"properties",type:"object",schemaType:"object",code(Q){let{gen:Y,schema:X,parentSchema:W,data:$,it:J}=Q;if(J.opts.removeAdditional==="all"&&W.additionalProperties===void 0)YF.default.code(new sS.KeywordCxt(J,YF.default,"additionalProperties"));let G=(0,QF.allSchemaProperties)(X);for(let V of G)J.definedProperties.add(V);if(J.opts.unevaluated&&G.length&&J.props!==!0)J.props=E$.mergeEvaluated.props(Y,(0,E$.toHash)(G),J.props);let H=G.filter((V)=>!(0,E$.alwaysValidSchema)(J,X[V]));if(H.length===0)return;let B=Y.name("valid");for(let V of H){if(z(V))K(V);else{if(Y.if((0,QF.propertyInData)(Y,$,V,J.opts.ownProperties)),K(V),!J.allErrors)Y.else().var(B,!0);Y.endIf()}Q.it.definedProperties.add(V),Q.ok(B)}function z(V){return J.opts.useDefaults&&!J.compositeRule&&X[V].default!==void 0}function K(V){Q.subschema({keyword:"properties",schemaProp:V,dataProp:V},B)}}};XF.default=eS});var BF=j((HF)=>{Object.defineProperty(HF,"__esModule",{value:!0});var $F=A1(),xY=r(),JF=W0(),GF=W0(),YT={keyword:"patternProperties",type:"object",schemaType:"object",code(Q){let{gen:Y,schema:X,data:W,parentSchema:$,it:J}=Q,{opts:G}=J,H=(0,$F.allSchemaProperties)(X),B=H.filter((D)=>(0,JF.alwaysValidSchema)(J,X[D]));if(H.length===0||B.length===H.length&&(!J.opts.unevaluated||J.props===!0))return;let z=G.strictSchema&&!G.allowMatchingProperties&&$.properties,K=Y.name("valid");if(J.props!==!0&&!(J.props instanceof xY.Name))J.props=(0,GF.evaluatedPropsToName)(Y,J.props);let{props:V}=J;q();function q(){for(let D of H){if(z)F(D);if(J.allErrors)A(D);else Y.var(K,!0),A(D),Y.if(K)}}function F(D){for(let O in z)if(new RegExp(D).test(O))(0,JF.checkStrictMode)(J,`property ${O} matches pattern ${D} (use allowMatchingProperties)`)}function A(D){Y.forIn("key",W,(O)=>{Y.if(xY._`${(0,$F.usePattern)(Q,D)}.test(${O})`,()=>{let L=B.includes(D);if(!L)Q.subschema({keyword:"patternProperties",schemaProp:D,dataProp:O,dataPropType:GF.Type.Str},K);if(J.opts.unevaluated&&V!==!0)Y.assign(xY._`${V}[${O}]`,!0);else if(!L&&!J.allErrors)Y.if((0,xY.not)(K),()=>Y.break())})})}}};HF.default=YT});var KF=j((zF)=>{Object.defineProperty(zF,"__esModule",{value:!0});var WT=W0(),$T={keyword:"not",schemaType:["object","boolean"],trackErrors:!0,code(Q){let{gen:Y,schema:X,it:W}=Q;if((0,WT.alwaysValidSchema)(W,X)){Q.fail();return}let $=Y.name("valid");Q.subschema({keyword:"not",compositeRule:!0,createErrors:!1,allErrors:!1},$),Q.failResult($,()=>Q.reset(),()=>Q.error())},error:{message:"must NOT be valid"}};zF.default=$T});var FF=j((VF)=>{Object.defineProperty(VF,"__esModule",{value:!0});var GT=A1(),HT={keyword:"anyOf",schemaType:"array",trackErrors:!0,code:GT.validateUnion,error:{message:"must match a schema in anyOf"}};VF.default=HT});var qF=j((AF)=>{Object.defineProperty(AF,"__esModule",{value:!0});var yY=r(),zT=W0(),KT={message:"must match exactly one schema in oneOf",params:({params:Q})=>yY._`{passingSchemas: ${Q.passing}}`},VT={keyword:"oneOf",schemaType:"array",trackErrors:!0,error:KT,code(Q){let{gen:Y,schema:X,parentSchema:W,it:$}=Q;if(!Array.isArray(X))throw Error("ajv implementation error");if($.opts.discriminator&&W.discriminator)return;let J=X,G=Y.let("valid",!1),H=Y.let("passing",null),B=Y.name("_valid");Q.setParams({passing:H}),Y.block(z),Q.result(G,()=>Q.reset(),()=>Q.error(!0));function z(){J.forEach((K,V)=>{let q;if((0,zT.alwaysValidSchema)($,K))Y.var(B,!0);else q=Q.subschema({keyword:"oneOf",schemaProp:V,compositeRule:!0},B);if(V>0)Y.if(yY._`${B} && ${G}`).assign(G,!1).assign(H,yY._`[${H}, ${V}]`).else();Y.if(B,()=>{if(Y.assign(G,!0),Y.assign(H,V),q)Q.mergeEvaluated(q,yY.Name)})})}}};AF.default=VT});var OF=j((DF)=>{Object.defineProperty(DF,"__esModule",{value:!0});var AT=W0(),qT={keyword:"allOf",schemaType:"array",code(Q){let{gen:Y,schema:X,it:W}=Q;if(!Array.isArray(X))throw Error("ajv implementation error");let $=Y.name("valid");X.forEach((J,G)=>{if((0,AT.alwaysValidSchema)(W,J))return;let H=Q.subschema({keyword:"allOf",schemaProp:G},$);Q.ok($),Q.mergeEvaluated(H)})}};DF.default=qT});var wF=j((jF)=>{Object.defineProperty(jF,"__esModule",{value:!0});var fY=r(),UF=W0(),OT={message:({params:Q})=>fY.str`must match "${Q.ifClause}" schema`,params:({params:Q})=>fY._`{failingKeyword: ${Q.ifClause}}`},LT={keyword:"if",schemaType:["object","boolean"],trackErrors:!0,error:OT,code(Q){let{gen:Y,parentSchema:X,it:W}=Q;if(X.then===void 0&&X.else===void 0)(0,UF.checkStrictMode)(W,'"if" without "then" and "else" is ignored');let $=LF(W,"then"),J=LF(W,"else");if(!$&&!J)return;let G=Y.let("valid",!0),H=Y.name("_valid");if(B(),Q.reset(),$&&J){let K=Y.let("ifClause");Q.setParams({ifClause:K}),Y.if(H,z("then",K),z("else",K))}else if($)Y.if(H,z("then"));else Y.if((0,fY.not)(H),z("else"));Q.pass(G,()=>Q.error(!0));function B(){let K=Q.subschema({keyword:"if",compositeRule:!0,createErrors:!1,allErrors:!1},H);Q.mergeEvaluated(K)}function z(K,V){return()=>{let q=Q.subschema({keyword:K},H);if(Y.assign(G,H),Q.mergeValidEvaluated(q,G),V)Y.assign(V,fY._`${K}`);else Q.setParams({ifClause:K})}}}};function LF(Q,Y){let X=Q.schema[Y];return X!==void 0&&!(0,UF.alwaysValidSchema)(Q,X)}jF.default=LT});var MF=j((NF)=>{Object.defineProperty(NF,"__esModule",{value:!0});var jT=W0(),wT={keyword:["then","else"],schemaType:["object","boolean"],code({keyword:Q,parentSchema:Y,it:X}){if(Y.if===void 0)(0,jT.checkStrictMode)(X,`"${Q}" without "if" is ignored`)}};NF.default=wT});var PF=j((bF)=>{Object.defineProperty(bF,"__esModule",{value:!0});var MT=b$(),bT=gV(),PT=P$(),ZT=lV(),RT=cV(),ET=rV(),IT=sV(),ST=R$(),TT=WF(),CT=BF(),kT=KF(),_T=FF(),vT=qF(),xT=OF(),yT=wF(),fT=MF();function gT(Q=!1){let Y=[kT.default,_T.default,vT.default,xT.default,yT.default,fT.default,IT.default,ST.default,ET.default,TT.default,CT.default];if(Q)Y.push(bT.default,ZT.default);else Y.push(MT.default,PT.default);return Y.push(RT.default),Y}bF.default=gT});var RF=j((ZF)=>{Object.defineProperty(ZF,"__esModule",{value:!0});var R0=r(),uT={message:({schemaCode:Q})=>R0.str`must match format "${Q}"`,params:({schemaCode:Q})=>R0._`{format: ${Q}}`},lT={keyword:"format",type:["number","string"],schemaType:"string",$data:!0,error:uT,code(Q,Y){let{gen:X,data:W,$data:$,schema:J,schemaCode:G,it:H}=Q,{opts:B,errSchemaPath:z,schemaEnv:K,self:V}=H;if(!B.validateFormats)return;if($)q();else F();function q(){let A=X.scopeValue("formats",{ref:V.formats,code:B.code.formats}),D=X.const("fDef",R0._`${A}[${G}]`),O=X.let("fType"),L=X.let("format");X.if(R0._`typeof ${D} == "object" && !(${D} instanceof RegExp)`,()=>X.assign(O,R0._`${D}.type || "string"`).assign(L,R0._`${D}.validate`),()=>X.assign(O,R0._`"string"`).assign(L,D)),Q.fail$data((0,R0.or)(N(),M()));function N(){if(B.strictSchema===!1)return R0.nil;return R0._`${G} && !${L}`}function M(){let C=K.$async?R0._`(${D}.async ? await ${L}(${W}) : ${L}(${W}))`:R0._`${L}(${W})`,Z=R0._`(typeof ${L} == "function" ? ${C} : ${L}.test(${W}))`;return R0._`${L} && ${L} !== true && ${O} === ${Y} && !${Z}`}}function F(){let A=V.formats[J];if(!A){N();return}if(A===!0)return;let[D,O,L]=M(A);if(D===Y)Q.pass(C());function N(){if(B.strictSchema===!1){V.logger.warn(Z());return}throw Error(Z());function Z(){return`unknown format "${J}" ignored in schema at path "${z}"`}}function M(Z){let K0=Z instanceof RegExp?(0,R0.regexpCode)(Z):B.code.formats?R0._`${B.code.formats}${(0,R0.getProperty)(J)}`:void 0,P0=X.scopeValue("formats",{key:J,ref:Z,code:K0});if(typeof Z=="object"&&!(Z instanceof RegExp))return[Z.type||"string",Z.validate,R0._`${P0}.validate`];return["string",Z,P0]}function C(){if(typeof A=="object"&&!(A instanceof RegExp)&&A.async){if(!K.$async)throw Error("async format in sync schema");return R0._`await ${L}(${W})`}return typeof O=="function"?R0._`${L}(${W})`:R0._`${L}.test(${W})`}}}};ZF.default=lT});var IF=j((EF)=>{Object.defineProperty(EF,"__esModule",{value:!0});var cT=RF(),pT=[cT.default];EF.default=pT});var CF=j((SF)=>{Object.defineProperty(SF,"__esModule",{value:!0});SF.contentVocabulary=SF.metadataVocabulary=void 0;SF.metadataVocabulary=["title","description","default","deprecated","readOnly","writeOnly","examples"];SF.contentVocabulary=["contentMediaType","contentEncoding","contentSchema"]});var vF=j((_F)=>{Object.defineProperty(_F,"__esModule",{value:!0});var nT=XV(),oT=SV(),rT=PF(),tT=IF(),kF=CF(),aT=[nT.default,oT.default,(0,rT.default)(),tT.default,kF.metadataVocabulary,kF.contentVocabulary];_F.default=aT});var gF=j((yF)=>{Object.defineProperty(yF,"__esModule",{value:!0});yF.DiscrError=void 0;var xF;(function(Q){Q.Tag="tag",Q.Mapping="mapping"})(xF||(yF.DiscrError=xF={}))});var lF=j((uF)=>{Object.defineProperty(uF,"__esModule",{value:!0});var Y8=r(),I$=gF(),hF=UY(),eT=D4(),Q2=W0(),Y2={message:({params:{discrError:Q,tagName:Y}})=>Q===I$.DiscrError.Tag?`tag "${Y}" must be string`:`value of tag "${Y}" must be in oneOf`,params:({params:{discrError:Q,tag:Y,tagName:X}})=>Y8._`{error: ${Q}, tag: ${X}, tagValue: ${Y}}`},X2={keyword:"discriminator",type:"object",schemaType:"object",error:Y2,code(Q){let{gen:Y,data:X,schema:W,parentSchema:$,it:J}=Q,{oneOf:G}=$;if(!J.opts.discriminator)throw Error("discriminator: requires discriminator option");let H=W.propertyName;if(typeof H!="string")throw Error("discriminator: requires propertyName");if(W.mapping)throw Error("discriminator: mapping is not supported");if(!G)throw Error("discriminator: requires oneOf keyword");let B=Y.let("valid",!1),z=Y.const("tag",Y8._`${X}${(0,Y8.getProperty)(H)}`);Y.if(Y8._`typeof ${z} == "string"`,()=>K(),()=>Q.error(!1,{discrError:I$.DiscrError.Tag,tag:z,tagName:H})),Q.ok(B);function K(){let F=q();Y.if(!1);for(let A in F)Y.elseIf(Y8._`${z} === ${A}`),Y.assign(B,V(F[A]));Y.else(),Q.error(!1,{discrError:I$.DiscrError.Mapping,tag:z,tagName:H}),Y.endIf()}function V(F){let A=Y.name("valid"),D=Q.subschema({keyword:"oneOf",schemaProp:F},A);return Q.mergeEvaluated(D,Y8.Name),A}function q(){var F;let A={},D=L($),O=!0;for(let C=0;C<G.length;C++){let Z=G[C];if((Z===null||Z===void 0?void 0:Z.$ref)&&!(0,Q2.schemaHasRulesButRef)(Z,J.self.RULES)){let P0=Z.$ref;if(Z=hF.resolveRef.call(J.self,J.schemaEnv.root,J.baseId,P0),Z instanceof hF.SchemaEnv)Z=Z.schema;if(Z===void 0)throw new eT.default(J.opts.uriResolver,J.baseId,P0)}let K0=(F=Z===null||Z===void 0?void 0:Z.properties)===null||F===void 0?void 0:F[H];if(typeof K0!="object")throw Error(`discriminator: oneOf subschemas (or referenced schemas) must have "properties/${H}"`);O=O&&(D||L(Z)),N(K0,C)}if(!O)throw Error(`discriminator: "${H}" must be required`);return A;function L({required:C}){return Array.isArray(C)&&C.includes(H)}function N(C,Z){if(C.const)M(C.const,Z);else if(C.enum)for(let K0 of C.enum)M(K0,Z);else throw Error(`discriminator: "properties/${H}" must have "const" or "enum"`)}function M(C,Z){if(typeof C!="string"||C in A)throw Error(`discriminator: "${H}" values must be unique strings`);A[C]=Z}}}};uF.default=X2});var mF=j((Si,$2)=>{$2.exports={$schema:"http://json-schema.org/draft-07/schema#",$id:"http://json-schema.org/draft-07/schema#",title:"Core schema meta-schema",definitions:{schemaArray:{type:"array",minItems:1,items:{$ref:"#"}},nonNegativeInteger:{type:"integer",minimum:0},nonNegativeIntegerDefault0:{allOf:[{$ref:"#/definitions/nonNegativeInteger"},{default:0}]},simpleTypes:{enum:["array","boolean","integer","null","number","object","string"]},stringArray:{type:"array",items:{type:"string"},uniqueItems:!0,default:[]}},type:["object","boolean"],properties:{$id:{type:"string",format:"uri-reference"},$schema:{type:"string",format:"uri"},$ref:{type:"string",format:"uri-reference"},$comment:{type:"string"},title:{type:"string"},description:{type:"string"},default:!0,readOnly:{type:"boolean",default:!1},examples:{type:"array",items:!0},multipleOf:{type:"number",exclusiveMinimum:0},maximum:{type:"number"},exclusiveMaximum:{type:"number"},minimum:{type:"number"},exclusiveMinimum:{type:"number"},maxLength:{$ref:"#/definitions/nonNegativeInteger"},minLength:{$ref:"#/definitions/nonNegativeIntegerDefault0"},pattern:{type:"string",format:"regex"},additionalItems:{$ref:"#"},items:{anyOf:[{$ref:"#"},{$ref:"#/definitions/schemaArray"}],default:!0},maxItems:{$ref:"#/definitions/nonNegativeInteger"},minItems:{$ref:"#/definitions/nonNegativeIntegerDefault0"},uniqueItems:{type:"boolean",default:!1},contains:{$ref:"#"},maxProperties:{$ref:"#/definitions/nonNegativeInteger"},minProperties:{$ref:"#/definitions/nonNegativeIntegerDefault0"},required:{$ref:"#/definitions/stringArray"},additionalProperties:{$ref:"#"},definitions:{type:"object",additionalProperties:{$ref:"#"},default:{}},properties:{type:"object",additionalProperties:{$ref:"#"},default:{}},patternProperties:{type:"object",additionalProperties:{$ref:"#"},propertyNames:{format:"regex"},default:{}},dependencies:{type:"object",additionalProperties:{anyOf:[{$ref:"#"},{$ref:"#/definitions/stringArray"}]}},propertyNames:{$ref:"#"},const:!0,enum:{type:"array",items:!0,minItems:1,uniqueItems:!0},type:{anyOf:[{$ref:"#/definitions/simpleTypes"},{type:"array",items:{$ref:"#/definitions/simpleTypes"},minItems:1,uniqueItems:!0}]},format:{type:"string"},contentMediaType:{type:"string"},contentEncoding:{type:"string"},if:{$ref:"#"},then:{$ref:"#"},else:{$ref:"#"},allOf:{$ref:"#/definitions/schemaArray"},anyOf:{$ref:"#/definitions/schemaArray"},oneOf:{$ref:"#/definitions/schemaArray"},not:{$ref:"#"}},default:!0}});var pF=j((W1,S$)=>{Object.defineProperty(W1,"__esModule",{value:!0});W1.MissingRefError=W1.ValidationError=W1.CodeGen=W1.Name=W1.nil=W1.stringify=W1.str=W1._=W1.KeywordCxt=W1.Ajv=void 0;var J2=iK(),G2=vF(),H2=lF(),cF=mF(),B2=["/properties"],gY="http://json-schema.org/draft-07/schema";class E4 extends J2.default{_addVocabularies(){if(super._addVocabularies(),G2.default.forEach((Q)=>this.addVocabulary(Q)),this.opts.discriminator)this.addKeyword(H2.default)}_addDefaultMetaSchema(){if(super._addDefaultMetaSchema(),!this.opts.meta)return;let Q=this.opts.$data?this.$dataMetaSchema(cF,B2):cF;this.addMetaSchema(Q,gY,!1),this.refs["http://json-schema.org/schema"]=gY}defaultMeta(){return this.opts.defaultMeta=super.defaultMeta()||(this.getSchema(gY)?gY:void 0)}}W1.Ajv=E4;S$.exports=W1=E4;S$.exports.Ajv=E4;Object.defineProperty(W1,"__esModule",{value:!0});W1.default=E4;var z2=q4();Object.defineProperty(W1,"KeywordCxt",{enumerable:!0,get:function(){return z2.KeywordCxt}});var X8=r();Object.defineProperty(W1,"_",{enumerable:!0,get:function(){return X8._}});Object.defineProperty(W1,"str",{enumerable:!0,get:function(){return X8.str}});Object.defineProperty(W1,"stringify",{enumerable:!0,get:function(){return X8.stringify}});Object.defineProperty(W1,"nil",{enumerable:!0,get:function(){return X8.nil}});Object.defineProperty(W1,"Name",{enumerable:!0,get:function(){return X8.Name}});Object.defineProperty(W1,"CodeGen",{enumerable:!0,get:function(){return X8.CodeGen}});var K2=OY();Object.defineProperty(W1,"ValidationError",{enumerable:!0,get:function(){return K2.default}});var V2=D4();Object.defineProperty(W1,"MissingRefError",{enumerable:!0,get:function(){return V2.default}})});var QA=j((sF)=>{Object.defineProperty(sF,"__esModule",{value:!0});sF.formatNames=sF.fastFormats=sF.fullFormats=void 0;function i1(Q,Y){return{validate:Q,compare:Y}}sF.fullFormats={date:i1(oF,_$),time:i1(C$(!0),v$),"date-time":i1(dF(!0),tF),"iso-time":i1(C$(),rF),"iso-date-time":i1(dF(),aF),duration:/^P(?!$)((\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+S)?)?|(\d+W)?)$/,uri:j2,"uri-reference":/^(?:[a-z][a-z0-9+\-.]*:)?(?:\/?\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|[Vv][0-9a-f]+\.[a-z0-9\-._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)|(?:[a-z0-9\-._~!$&'"()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*|\/(?:(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?(?:\?(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i,"uri-template":/^(?:(?:[^\x00-\x20"'<>%\\^`{|}]|%[0-9a-f]{2})|\{[+#./;?&=,!@|]?(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?(?:,(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?)*\})*$/i,url:/^(?:https?|ftp):\/\/(?:\S+(?::\S*)?@)?(?:(?!(?:10|127)(?:\.\d{1,3}){3})(?!(?:169\.254|192\.168)(?:\.\d{1,3}){2})(?!172\.(?:1[6-9]|2\d|3[0-1])(?:\.\d{1,3}){2})(?:[1-9]\d?|1\d\d|2[01]\d|22[0-3])(?:\.(?:1?\d{1,2}|2[0-4]\d|25[0-5])){2}(?:\.(?:[1-9]\d?|1\d\d|2[0-4]\d|25[0-4]))|(?:(?:[a-z0-9\u{00a1}-\u{ffff}]+-)*[a-z0-9\u{00a1}-\u{ffff}]+)(?:\.(?:[a-z0-9\u{00a1}-\u{ffff}]+-)*[a-z0-9\u{00a1}-\u{ffff}]+)*(?:\.(?:[a-z\u{00a1}-\u{ffff}]{2,})))(?::\d{2,5})?(?:\/[^\s]*)?$/iu,email:/^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$/i,hostname:/^(?=.{1,253}\.?$)[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[-0-9a-z]{0,61}[0-9a-z])?)*\.?$/i,ipv4:/^(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)$/,ipv6:/^((([0-9a-f]{1,4}:){7}([0-9a-f]{1,4}|:))|(([0-9a-f]{1,4}:){6}(:[0-9a-f]{1,4}|((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9a-f]{1,4}:){5}(((:[0-9a-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9a-f]{1,4}:){4}(((:[0-9a-f]{1,4}){1,3})|((:[0-9a-f]{1,4})?:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){3}(((:[0-9a-f]{1,4}){1,4})|((:[0-9a-f]{1,4}){0,2}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){2}(((:[0-9a-f]{1,4}){1,5})|((:[0-9a-f]{1,4}){0,3}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){1}(((:[0-9a-f]{1,4}){1,6})|((:[0-9a-f]{1,4}){0,4}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(:(((:[0-9a-f]{1,4}){1,7})|((:[0-9a-f]{1,4}){0,5}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))$/i,regex:R2,uuid:/^(?:urn:uuid:)?[0-9a-f]{8}-(?:[0-9a-f]{4}-){3}[0-9a-f]{12}$/i,"json-pointer":/^(?:\/(?:[^~/]|~0|~1)*)*$/,"json-pointer-uri-fragment":/^#(?:\/(?:[a-z0-9_\-.!$&'()*+,;:=@]|%[0-9a-f]{2}|~0|~1)*)*$/i,"relative-json-pointer":/^(?:0|[1-9][0-9]*)(?:#|(?:\/(?:[^~/]|~0|~1)*)*)$/,byte:w2,int32:{type:"number",validate:b2},int64:{type:"number",validate:P2},float:{type:"number",validate:nF},double:{type:"number",validate:nF},password:!0,binary:!0};sF.fastFormats={...sF.fullFormats,date:i1(/^\d\d\d\d-[0-1]\d-[0-3]\d$/,_$),time:i1(/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)$/i,v$),"date-time":i1(/^\d\d\d\d-[0-1]\d-[0-3]\dt(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)$/i,tF),"iso-time":i1(/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)?$/i,rF),"iso-date-time":i1(/^\d\d\d\d-[0-1]\d-[0-3]\d[t\s](?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)?$/i,aF),uri:/^(?:[a-z][a-z0-9+\-.]*:)(?:\/?\/)?[^\s]*$/i,"uri-reference":/^(?:(?:[a-z][a-z0-9+\-.]*:)?\/?\/)?(?:[^\\\s#][^\s#]*)?(?:#[^\\\s]*)?$/i,email:/^[a-z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?)*$/i};sF.formatNames=Object.keys(sF.fullFormats);function q2(Q){return Q%4===0&&(Q%100!==0||Q%400===0)}var D2=/^(\d\d\d\d)-(\d\d)-(\d\d)$/,O2=[0,31,28,31,30,31,30,31,31,30,31,30,31];function oF(Q){let Y=D2.exec(Q);if(!Y)return!1;let X=+Y[1],W=+Y[2],$=+Y[3];return W>=1&&W<=12&&$>=1&&$<=(W===2&&q2(X)?29:O2[W])}function _$(Q,Y){if(!(Q&&Y))return;if(Q>Y)return 1;if(Q<Y)return-1;return 0}var T$=/^(\d\d):(\d\d):(\d\d(?:\.\d+)?)(z|([+-])(\d\d)(?::?(\d\d))?)?$/i;function C$(Q){return function(X){let W=T$.exec(X);if(!W)return!1;let $=+W[1],J=+W[2],G=+W[3],H=W[4],B=W[5]==="-"?-1:1,z=+(W[6]||0),K=+(W[7]||0);if(z>23||K>59||Q&&!H)return!1;if($<=23&&J<=59&&G<60)return!0;let V=J-K*B,q=$-z*B-(V<0?1:0);return(q===23||q===-1)&&(V===59||V===-1)&&G<61}}function v$(Q,Y){if(!(Q&&Y))return;let X=new Date("2020-01-01T"+Q).valueOf(),W=new Date("2020-01-01T"+Y).valueOf();if(!(X&&W))return;return X-W}function rF(Q,Y){if(!(Q&&Y))return;let X=T$.exec(Q),W=T$.exec(Y);if(!(X&&W))return;if(Q=X[1]+X[2]+X[3],Y=W[1]+W[2]+W[3],Q>Y)return 1;if(Q<Y)return-1;return 0}var k$=/t|\s/i;function dF(Q){let Y=C$(Q);return function(W){let $=W.split(k$);return $.length===2&&oF($[0])&&Y($[1])}}function tF(Q,Y){if(!(Q&&Y))return;let X=new Date(Q).valueOf(),W=new Date(Y).valueOf();if(!(X&&W))return;return X-W}function aF(Q,Y){if(!(Q&&Y))return;let[X,W]=Q.split(k$),[$,J]=Y.split(k$),G=_$(X,$);if(G===void 0)return;return G||v$(W,J)}var L2=/\/|:/,U2=/^(?:[a-z][a-z0-9+\-.]*:)(?:\/?\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|[Vv][0-9a-f]+\.[a-z0-9\-._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)|(?:[a-z0-9\-._~!$&'()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*|\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)(?:\?(?:[a-z0-9\-._~!$&'()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\-._~!$&'()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i;function j2(Q){return L2.test(Q)&&U2.test(Q)}var iF=/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/gm;function w2(Q){return iF.lastIndex=0,iF.test(Q)}var N2=-2147483648,M2=2147483647;function b2(Q){return Number.isInteger(Q)&&Q<=M2&&Q>=N2}function P2(Q){return Number.isInteger(Q)}function nF(){return!0}var Z2=/[^\\]\\Z/;function R2(Q){if(Z2.test(Q))return!1;try{return new RegExp(Q),!0}catch(Y){return!1}}});var S4=j((WA)=>{Object.defineProperty(WA,"__esModule",{value:!0});WA.regexpCode=WA.getEsmExportName=WA.getProperty=WA.safeStringify=WA.stringify=WA.strConcat=WA.addCodeArg=WA.str=WA._=WA.nil=WA._Code=WA.Name=WA.IDENTIFIER=WA._CodeOrName=void 0;class hY{}WA._CodeOrName=hY;WA.IDENTIFIER=/^[a-z$_][a-z$_0-9]*$/i;class W8 extends hY{constructor(Q){super();if(!WA.IDENTIFIER.test(Q))throw Error("CodeGen: name must be a valid identifier");this.str=Q}toString(){return this.str}emptyStr(){return!1}get names(){return{[this.str]:1}}}WA.Name=W8;class C1 extends hY{constructor(Q){super();this._items=typeof Q==="string"?[Q]:Q}toString(){return this.str}emptyStr(){if(this._items.length>1)return!1;let Q=this._items[0];return Q===""||Q==='""'}get str(){var Q;return(Q=this._str)!==null&&Q!==void 0?Q:this._str=this._items.reduce((Y,X)=>`${Y}${X}`,"")}get names(){var Q;return(Q=this._names)!==null&&Q!==void 0?Q:this._names=this._items.reduce((Y,X)=>{if(X instanceof W8)Y[X.str]=(Y[X.str]||0)+1;return Y},{})}}WA._Code=C1;WA.nil=new C1("");function YA(Q,...Y){let X=[Q[0]],W=0;while(W<Y.length)f$(X,Y[W]),X.push(Q[++W]);return new C1(X)}WA._=YA;var y$=new C1("+");function XA(Q,...Y){let X=[I4(Q[0])],W=0;while(W<Y.length)X.push(y$),f$(X,Y[W]),X.push(y$,I4(Q[++W]));return I2(X),new C1(X)}WA.str=XA;function f$(Q,Y){if(Y instanceof C1)Q.push(...Y._items);else if(Y instanceof W8)Q.push(Y);else Q.push(C2(Y))}WA.addCodeArg=f$;function I2(Q){let Y=1;while(Y<Q.length-1){if(Q[Y]===y$){let X=S2(Q[Y-1],Q[Y+1]);if(X!==void 0){Q.splice(Y-1,3,X);continue}Q[Y++]="+"}Y++}}function S2(Q,Y){if(Y==='""')return Q;if(Q==='""')return Y;if(typeof Q=="string"){if(Y instanceof W8||Q[Q.length-1]!=='"')return;if(typeof Y!="string")return`${Q.slice(0,-1)}${Y}"`;if(Y[0]==='"')return Q.slice(0,-1)+Y.slice(1);return}if(typeof Y=="string"&&Y[0]==='"'&&!(Q instanceof W8))return`"${Q}${Y.slice(1)}`;return}function T2(Q,Y){return Y.emptyStr()?Q:Q.emptyStr()?Y:XA`${Q}${Y}`}WA.strConcat=T2;function C2(Q){return typeof Q=="number"||typeof Q=="boolean"||Q===null?Q:I4(Array.isArray(Q)?Q.join(","):Q)}function k2(Q){return new C1(I4(Q))}WA.stringify=k2;function I4(Q){return JSON.stringify(Q).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")}WA.safeStringify=I4;function _2(Q){return typeof Q=="string"&&WA.IDENTIFIER.test(Q)?new C1(`.${Q}`):YA`[${Q}]`}WA.getProperty=_2;function v2(Q){if(typeof Q=="string"&&WA.IDENTIFIER.test(Q))return new C1(`${Q}`);throw Error(`CodeGen: invalid export name: ${Q}, use explicit $id name mapping`)}WA.getEsmExportName=v2;function x2(Q){return new C1(Q.toString())}WA.regexpCode=x2});var l$=j((HA)=>{Object.defineProperty(HA,"__esModule",{value:!0});HA.ValueScope=HA.ValueScopeName=HA.Scope=HA.varKinds=HA.UsedValueState=void 0;var $1=S4();class JA extends Error{constructor(Q){super(`CodeGen: "code" for ${Q} not defined`);this.value=Q.value}}var lY;(function(Q){Q[Q.Started=0]="Started",Q[Q.Completed=1]="Completed"})(lY||(HA.UsedValueState=lY={}));HA.varKinds={const:new $1.Name("const"),let:new $1.Name("let"),var:new $1.Name("var")};class h${constructor({prefixes:Q,parent:Y}={}){this._names={},this._prefixes=Q,this._parent=Y}toName(Q){return Q instanceof $1.Name?Q:this.name(Q)}name(Q){return new $1.Name(this._newName(Q))}_newName(Q){let Y=this._names[Q]||this._nameGroup(Q);return`${Q}${Y.index++}`}_nameGroup(Q){var Y,X;if(((X=(Y=this._parent)===null||Y===void 0?void 0:Y._prefixes)===null||X===void 0?void 0:X.has(Q))||this._prefixes&&!this._prefixes.has(Q))throw Error(`CodeGen: prefix "${Q}" is not allowed in this scope`);return this._names[Q]={prefix:Q,index:0}}}HA.Scope=h$;class u$ extends $1.Name{constructor(Q,Y){super(Y);this.prefix=Q}setValue(Q,{property:Y,itemIndex:X}){this.value=Q,this.scopePath=$1._`.${new $1.Name(Y)}[${X}]`}}HA.ValueScopeName=u$;var o2=$1._`\n`;class GA extends h${constructor(Q){super(Q);this._values={},this._scope=Q.scope,this.opts={...Q,_n:Q.lines?o2:$1.nil}}get(){return this._scope}name(Q){return new u$(Q,this._newName(Q))}value(Q,Y){var X;if(Y.ref===void 0)throw Error("CodeGen: ref must be passed in value");let W=this.toName(Q),{prefix:$}=W,J=(X=Y.key)!==null&&X!==void 0?X:Y.ref,G=this._values[$];if(G){let z=G.get(J);if(z)return z}else G=this._values[$]=new Map;G.set(J,W);let H=this._scope[$]||(this._scope[$]=[]),B=H.length;return H[B]=Y.ref,W.setValue(Y,{property:$,itemIndex:B}),W}getValue(Q,Y){let X=this._values[Q];if(!X)return;return X.get(Y)}scopeRefs(Q,Y=this._values){return this._reduceValues(Y,(X)=>{if(X.scopePath===void 0)throw Error(`CodeGen: name "${X}" has no value`);return $1._`${Q}${X.scopePath}`})}scopeCode(Q=this._values,Y,X){return this._reduceValues(Q,(W)=>{if(W.value===void 0)throw Error(`CodeGen: name "${W}" has no value`);return W.value.code},Y,X)}_reduceValues(Q,Y,X={},W){let $=$1.nil;for(let J in Q){let G=Q[J];if(!G)continue;let H=X[J]=X[J]||new Map;G.forEach((B)=>{if(H.has(B))return;H.set(B,lY.Started);let z=Y(B);if(z){let K=this.opts.es5?HA.varKinds.var:HA.varKinds.const;$=$1._`${$}${K} ${B} = ${z};${this.opts._n}`}else if(z=W===null||W===void 0?void 0:W(B))$=$1._`${$}${z}${this.opts._n}`;else throw new JA(B);H.set(B,lY.Completed)})}return $}}HA.ValueScope=GA});var n=j((J1)=>{Object.defineProperty(J1,"__esModule",{value:!0});J1.or=J1.and=J1.not=J1.CodeGen=J1.operators=J1.varKinds=J1.ValueScopeName=J1.ValueScope=J1.Scope=J1.Name=J1.regexpCode=J1.stringify=J1.getProperty=J1.nil=J1.strConcat=J1.str=J1._=void 0;var Q0=S4(),k1=l$(),S6=S4();Object.defineProperty(J1,"_",{enumerable:!0,get:function(){return S6._}});Object.defineProperty(J1,"str",{enumerable:!0,get:function(){return S6.str}});Object.defineProperty(J1,"strConcat",{enumerable:!0,get:function(){return S6.strConcat}});Object.defineProperty(J1,"nil",{enumerable:!0,get:function(){return S6.nil}});Object.defineProperty(J1,"getProperty",{enumerable:!0,get:function(){return S6.getProperty}});Object.defineProperty(J1,"stringify",{enumerable:!0,get:function(){return S6.stringify}});Object.defineProperty(J1,"regexpCode",{enumerable:!0,get:function(){return S6.regexpCode}});Object.defineProperty(J1,"Name",{enumerable:!0,get:function(){return S6.Name}});var nY=l$();Object.defineProperty(J1,"Scope",{enumerable:!0,get:function(){return nY.Scope}});Object.defineProperty(J1,"ValueScope",{enumerable:!0,get:function(){return nY.ValueScope}});Object.defineProperty(J1,"ValueScopeName",{enumerable:!0,get:function(){return nY.ValueScopeName}});Object.defineProperty(J1,"varKinds",{enumerable:!0,get:function(){return nY.varKinds}});J1.operators={GT:new Q0._Code(">"),GTE:new Q0._Code(">="),LT:new Q0._Code("<"),LTE:new Q0._Code("<="),EQ:new Q0._Code("==="),NEQ:new Q0._Code("!=="),NOT:new Q0._Code("!"),OR:new Q0._Code("||"),AND:new Q0._Code("&&"),ADD:new Q0._Code("+")};class T6{optimizeNodes(){return this}optimizeNames(Q,Y){return this}}class zA extends T6{constructor(Q,Y,X){super();this.varKind=Q,this.name=Y,this.rhs=X}render({es5:Q,_n:Y}){let X=Q?k1.varKinds.var:this.varKind,W=this.rhs===void 0?"":` = ${this.rhs}`;return`${X} ${this.name}${W};`+Y}optimizeNames(Q,Y){if(!Q[this.name.str])return;if(this.rhs)this.rhs=J8(this.rhs,Q,Y);return this}get names(){return this.rhs instanceof Q0._CodeOrName?this.rhs.names:{}}}class p$ extends T6{constructor(Q,Y,X){super();this.lhs=Q,this.rhs=Y,this.sideEffects=X}render({_n:Q}){return`${this.lhs} = ${this.rhs};`+Q}optimizeNames(Q,Y){if(this.lhs instanceof Q0.Name&&!Q[this.lhs.str]&&!this.sideEffects)return;return this.rhs=J8(this.rhs,Q,Y),this}get names(){let Q=this.lhs instanceof Q0.Name?{}:{...this.lhs.names};return iY(Q,this.rhs)}}class KA extends p${constructor(Q,Y,X,W){super(Q,X,W);this.op=Y}render({_n:Q}){return`${this.lhs} ${this.op}= ${this.rhs};`+Q}}class VA extends T6{constructor(Q){super();this.label=Q,this.names={}}render({_n:Q}){return`${this.label}:`+Q}}class FA extends T6{constructor(Q){super();this.label=Q,this.names={}}render({_n:Q}){return`break${this.label?` ${this.label}`:""};`+Q}}class AA extends T6{constructor(Q){super();this.error=Q}render({_n:Q}){return`throw ${this.error};`+Q}get names(){return this.error.names}}class qA extends T6{constructor(Q){super();this.code=Q}render({_n:Q}){return`${this.code};`+Q}optimizeNodes(){return`${this.code}`?this:void 0}optimizeNames(Q,Y){return this.code=J8(this.code,Q,Y),this}get names(){return this.code instanceof Q0._CodeOrName?this.code.names:{}}}class oY extends T6{constructor(Q=[]){super();this.nodes=Q}render(Q){return this.nodes.reduce((Y,X)=>Y+X.render(Q),"")}optimizeNodes(){let{nodes:Q}=this,Y=Q.length;while(Y--){let X=Q[Y].optimizeNodes();if(Array.isArray(X))Q.splice(Y,1,...X);else if(X)Q[Y]=X;else Q.splice(Y,1)}return Q.length>0?this:void 0}optimizeNames(Q,Y){let{nodes:X}=this,W=X.length;while(W--){let $=X[W];if($.optimizeNames(Q,Y))continue;s2(Q,$.names),X.splice(W,1)}return X.length>0?this:void 0}get names(){return this.nodes.reduce((Q,Y)=>F9(Q,Y.names),{})}}class C6 extends oY{render(Q){return"{"+Q._n+super.render(Q)+"}"+Q._n}}class DA extends oY{}class T4 extends C6{}T4.kind="else";class G6 extends C6{constructor(Q,Y){super(Y);this.condition=Q}render(Q){let Y=`if(${this.condition})`+super.render(Q);if(this.else)Y+="else "+this.else.render(Q);return Y}optimizeNodes(){super.optimizeNodes();let Q=this.condition;if(Q===!0)return this.nodes;let Y=this.else;if(Y){let X=Y.optimizeNodes();Y=this.else=Array.isArray(X)?new T4(X):X}if(Y){if(Q===!1)return Y instanceof G6?Y:Y.nodes;if(this.nodes.length)return this;return new G6(wA(Q),Y instanceof G6?[Y]:Y.nodes)}if(Q===!1||!this.nodes.length)return;return this}optimizeNames(Q,Y){var X;if(this.else=(X=this.else)===null||X===void 0?void 0:X.optimizeNames(Q,Y),!(super.optimizeNames(Q,Y)||this.else))return;return this.condition=J8(this.condition,Q,Y),this}get names(){let Q=super.names;if(iY(Q,this.condition),this.else)F9(Q,this.else.names);return Q}}G6.kind="if";class $8 extends C6{}$8.kind="for";class OA extends $8{constructor(Q){super();this.iteration=Q}render(Q){return`for(${this.iteration})`+super.render(Q)}optimizeNames(Q,Y){if(!super.optimizeNames(Q,Y))return;return this.iteration=J8(this.iteration,Q,Y),this}get names(){return F9(super.names,this.iteration.names)}}class LA extends $8{constructor(Q,Y,X,W){super();this.varKind=Q,this.name=Y,this.from=X,this.to=W}render(Q){let Y=Q.es5?k1.varKinds.var:this.varKind,{name:X,from:W,to:$}=this;return`for(${Y} ${X}=${W}; ${X}<${$}; ${X}++)`+super.render(Q)}get names(){let Q=iY(super.names,this.from);return iY(Q,this.to)}}class m$ extends $8{constructor(Q,Y,X,W){super();this.loop=Q,this.varKind=Y,this.name=X,this.iterable=W}render(Q){return`for(${this.varKind} ${this.name} ${this.loop} ${this.iterable})`+super.render(Q)}optimizeNames(Q,Y){if(!super.optimizeNames(Q,Y))return;return this.iterable=J8(this.iterable,Q,Y),this}get names(){return F9(super.names,this.iterable.names)}}class mY extends C6{constructor(Q,Y,X){super();this.name=Q,this.args=Y,this.async=X}render(Q){return`${this.async?"async ":""}function ${this.name}(${this.args})`+super.render(Q)}}mY.kind="func";class cY extends oY{render(Q){return"return "+super.render(Q)}}cY.kind="return";class UA extends C6{render(Q){let Y="try"+super.render(Q);if(this.catch)Y+=this.catch.render(Q);if(this.finally)Y+=this.finally.render(Q);return Y}optimizeNodes(){var Q,Y;return super.optimizeNodes(),(Q=this.catch)===null||Q===void 0||Q.optimizeNodes(),(Y=this.finally)===null||Y===void 0||Y.optimizeNodes(),this}optimizeNames(Q,Y){var X,W;return super.optimizeNames(Q,Y),(X=this.catch)===null||X===void 0||X.optimizeNames(Q,Y),(W=this.finally)===null||W===void 0||W.optimizeNames(Q,Y),this}get names(){let Q=super.names;if(this.catch)F9(Q,this.catch.names);if(this.finally)F9(Q,this.finally.names);return Q}}class pY extends C6{constructor(Q){super();this.error=Q}render(Q){return`catch(${this.error})`+super.render(Q)}}pY.kind="catch";class dY extends C6{render(Q){return"finally"+super.render(Q)}}dY.kind="finally";class jA{constructor(Q,Y={}){this._values={},this._blockStarts=[],this._constants={},this.opts={...Y,_n:Y.lines?`
10
+ `:""},this._extScope=Q,this._scope=new k1.Scope({parent:Q}),this._nodes=[new DA]}toString(){return this._root.render(this.opts)}name(Q){return this._scope.name(Q)}scopeName(Q){return this._extScope.name(Q)}scopeValue(Q,Y){let X=this._extScope.value(Q,Y);return(this._values[X.prefix]||(this._values[X.prefix]=new Set)).add(X),X}getScopeValue(Q,Y){return this._extScope.getValue(Q,Y)}scopeRefs(Q){return this._extScope.scopeRefs(Q,this._values)}scopeCode(){return this._extScope.scopeCode(this._values)}_def(Q,Y,X,W){let $=this._scope.toName(Y);if(X!==void 0&&W)this._constants[$.str]=X;return this._leafNode(new zA(Q,$,X)),$}const(Q,Y,X){return this._def(k1.varKinds.const,Q,Y,X)}let(Q,Y,X){return this._def(k1.varKinds.let,Q,Y,X)}var(Q,Y,X){return this._def(k1.varKinds.var,Q,Y,X)}assign(Q,Y,X){return this._leafNode(new p$(Q,Y,X))}add(Q,Y){return this._leafNode(new KA(Q,J1.operators.ADD,Y))}code(Q){if(typeof Q=="function")Q();else if(Q!==Q0.nil)this._leafNode(new qA(Q));return this}object(...Q){let Y=["{"];for(let[X,W]of Q){if(Y.length>1)Y.push(",");if(Y.push(X),X!==W||this.opts.es5)Y.push(":"),(0,Q0.addCodeArg)(Y,W)}return Y.push("}"),new Q0._Code(Y)}if(Q,Y,X){if(this._blockNode(new G6(Q)),Y&&X)this.code(Y).else().code(X).endIf();else if(Y)this.code(Y).endIf();else if(X)throw Error('CodeGen: "else" body without "then" body');return this}elseIf(Q){return this._elseNode(new G6(Q))}else(){return this._elseNode(new T4)}endIf(){return this._endBlockNode(G6,T4)}_for(Q,Y){if(this._blockNode(Q),Y)this.code(Y).endFor();return this}for(Q,Y){return this._for(new OA(Q),Y)}forRange(Q,Y,X,W,$=this.opts.es5?k1.varKinds.var:k1.varKinds.let){let J=this._scope.toName(Q);return this._for(new LA($,J,Y,X),()=>W(J))}forOf(Q,Y,X,W=k1.varKinds.const){let $=this._scope.toName(Q);if(this.opts.es5){let J=Y instanceof Q0.Name?Y:this.var("_arr",Y);return this.forRange("_i",0,Q0._`${J}.length`,(G)=>{this.var($,Q0._`${J}[${G}]`),X($)})}return this._for(new m$("of",W,$,Y),()=>X($))}forIn(Q,Y,X,W=this.opts.es5?k1.varKinds.var:k1.varKinds.const){if(this.opts.ownProperties)return this.forOf(Q,Q0._`Object.keys(${Y})`,X);let $=this._scope.toName(Q);return this._for(new m$("in",W,$,Y),()=>X($))}endFor(){return this._endBlockNode($8)}label(Q){return this._leafNode(new VA(Q))}break(Q){return this._leafNode(new FA(Q))}return(Q){let Y=new cY;if(this._blockNode(Y),this.code(Q),Y.nodes.length!==1)throw Error('CodeGen: "return" should have one node');return this._endBlockNode(cY)}try(Q,Y,X){if(!Y&&!X)throw Error('CodeGen: "try" without "catch" and "finally"');let W=new UA;if(this._blockNode(W),this.code(Q),Y){let $=this.name("e");this._currNode=W.catch=new pY($),Y($)}if(X)this._currNode=W.finally=new dY,this.code(X);return this._endBlockNode(pY,dY)}throw(Q){return this._leafNode(new AA(Q))}block(Q,Y){if(this._blockStarts.push(this._nodes.length),Q)this.code(Q).endBlock(Y);return this}endBlock(Q){let Y=this._blockStarts.pop();if(Y===void 0)throw Error("CodeGen: not in self-balancing block");let X=this._nodes.length-Y;if(X<0||Q!==void 0&&X!==Q)throw Error(`CodeGen: wrong number of nodes: ${X} vs ${Q} expected`);return this._nodes.length=Y,this}func(Q,Y=Q0.nil,X,W){if(this._blockNode(new mY(Q,Y,X)),W)this.code(W).endFunc();return this}endFunc(){return this._endBlockNode(mY)}optimize(Q=1){while(Q-- >0)this._root.optimizeNodes(),this._root.optimizeNames(this._root.names,this._constants)}_leafNode(Q){return this._currNode.nodes.push(Q),this}_blockNode(Q){this._currNode.nodes.push(Q),this._nodes.push(Q)}_endBlockNode(Q,Y){let X=this._currNode;if(X instanceof Q||Y&&X instanceof Y)return this._nodes.pop(),this;throw Error(`CodeGen: not in block "${Y?`${Q.kind}/${Y.kind}`:Q.kind}"`)}_elseNode(Q){let Y=this._currNode;if(!(Y instanceof G6))throw Error('CodeGen: "else" without "if"');return this._currNode=Y.else=Q,this}get _root(){return this._nodes[0]}get _currNode(){let Q=this._nodes;return Q[Q.length-1]}set _currNode(Q){let Y=this._nodes;Y[Y.length-1]=Q}}J1.CodeGen=jA;function F9(Q,Y){for(let X in Y)Q[X]=(Q[X]||0)+(Y[X]||0);return Q}function iY(Q,Y){return Y instanceof Q0._CodeOrName?F9(Q,Y.names):Q}function J8(Q,Y,X){if(Q instanceof Q0.Name)return W(Q);if(!$(Q))return Q;return new Q0._Code(Q._items.reduce((J,G)=>{if(G instanceof Q0.Name)G=W(G);if(G instanceof Q0._Code)J.push(...G._items);else J.push(G);return J},[]));function W(J){let G=X[J.str];if(G===void 0||Y[J.str]!==1)return J;return delete Y[J.str],G}function $(J){return J instanceof Q0._Code&&J._items.some((G)=>G instanceof Q0.Name&&Y[G.str]===1&&X[G.str]!==void 0)}}function s2(Q,Y){for(let X in Y)Q[X]=(Q[X]||0)-(Y[X]||0)}function wA(Q){return typeof Q=="boolean"||typeof Q=="number"||Q===null?!Q:Q0._`!${c$(Q)}`}J1.not=wA;var e2=NA(J1.operators.AND);function QC(...Q){return Q.reduce(e2)}J1.and=QC;var YC=NA(J1.operators.OR);function XC(...Q){return Q.reduce(YC)}J1.or=XC;function NA(Q){return(Y,X)=>Y===Q0.nil?X:X===Q0.nil?Y:Q0._`${c$(Y)} ${Q} ${c$(X)}`}function c$(Q){return Q instanceof Q0.Name?Q:Q0._`(${Q})`}});var $0=j((TA)=>{Object.defineProperty(TA,"__esModule",{value:!0});TA.checkStrictMode=TA.getErrorPath=TA.Type=TA.useFunc=TA.setEvaluated=TA.evaluatedPropsToName=TA.mergeEvaluated=TA.eachItem=TA.unescapeJsonPointer=TA.escapeJsonPointer=TA.escapeFragment=TA.unescapeFragment=TA.schemaRefOrVal=TA.schemaHasRulesButRef=TA.schemaHasRules=TA.checkUnknownRules=TA.alwaysValidSchema=TA.toHash=void 0;var z0=n(),GC=S4();function HC(Q){let Y={};for(let X of Q)Y[X]=!0;return Y}TA.toHash=HC;function BC(Q,Y){if(typeof Y=="boolean")return Y;if(Object.keys(Y).length===0)return!0;return ZA(Q,Y),!RA(Y,Q.self.RULES.all)}TA.alwaysValidSchema=BC;function ZA(Q,Y=Q.schema){let{opts:X,self:W}=Q;if(!X.strictSchema)return;if(typeof Y==="boolean")return;let $=W.RULES.keywords;for(let J in Y)if(!$[J])SA(Q,`unknown keyword: "${J}"`)}TA.checkUnknownRules=ZA;function RA(Q,Y){if(typeof Q=="boolean")return!Q;for(let X in Q)if(Y[X])return!0;return!1}TA.schemaHasRules=RA;function zC(Q,Y){if(typeof Q=="boolean")return!Q;for(let X in Q)if(X!=="$ref"&&Y.all[X])return!0;return!1}TA.schemaHasRulesButRef=zC;function KC({topSchemaRef:Q,schemaPath:Y},X,W,$){if(!$){if(typeof X=="number"||typeof X=="boolean")return X;if(typeof X=="string")return z0._`${X}`}return z0._`${Q}${Y}${(0,z0.getProperty)(W)}`}TA.schemaRefOrVal=KC;function VC(Q){return EA(decodeURIComponent(Q))}TA.unescapeFragment=VC;function FC(Q){return encodeURIComponent(i$(Q))}TA.escapeFragment=FC;function i$(Q){if(typeof Q=="number")return`${Q}`;return Q.replace(/~/g,"~0").replace(/\//g,"~1")}TA.escapeJsonPointer=i$;function EA(Q){return Q.replace(/~1/g,"/").replace(/~0/g,"~")}TA.unescapeJsonPointer=EA;function AC(Q,Y){if(Array.isArray(Q))for(let X of Q)Y(X);else Y(Q)}TA.eachItem=AC;function bA({mergeNames:Q,mergeToName:Y,mergeValues:X,resultToName:W}){return($,J,G,H)=>{let B=G===void 0?J:G instanceof z0.Name?(J instanceof z0.Name?Q($,J,G):Y($,J,G),G):J instanceof z0.Name?(Y($,G,J),J):X(J,G);return H===z0.Name&&!(B instanceof z0.Name)?W($,B):B}}TA.mergeEvaluated={props:bA({mergeNames:(Q,Y,X)=>Q.if(z0._`${X} !== true && ${Y} !== undefined`,()=>{Q.if(z0._`${Y} === true`,()=>Q.assign(X,!0),()=>Q.assign(X,z0._`${X} || {}`).code(z0._`Object.assign(${X}, ${Y})`))}),mergeToName:(Q,Y,X)=>Q.if(z0._`${X} !== true`,()=>{if(Y===!0)Q.assign(X,!0);else Q.assign(X,z0._`${X} || {}`),n$(Q,X,Y)}),mergeValues:(Q,Y)=>Q===!0?!0:{...Q,...Y},resultToName:IA}),items:bA({mergeNames:(Q,Y,X)=>Q.if(z0._`${X} !== true && ${Y} !== undefined`,()=>Q.assign(X,z0._`${Y} === true ? true : ${X} > ${Y} ? ${X} : ${Y}`)),mergeToName:(Q,Y,X)=>Q.if(z0._`${X} !== true`,()=>Q.assign(X,Y===!0?!0:z0._`${X} > ${Y} ? ${X} : ${Y}`)),mergeValues:(Q,Y)=>Q===!0?!0:Math.max(Q,Y),resultToName:(Q,Y)=>Q.var("items",Y)})};function IA(Q,Y){if(Y===!0)return Q.var("props",!0);let X=Q.var("props",z0._`{}`);if(Y!==void 0)n$(Q,X,Y);return X}TA.evaluatedPropsToName=IA;function n$(Q,Y,X){Object.keys(X).forEach((W)=>Q.assign(z0._`${Y}${(0,z0.getProperty)(W)}`,!0))}TA.setEvaluated=n$;var PA={};function qC(Q,Y){return Q.scopeValue("func",{ref:Y,code:PA[Y.code]||(PA[Y.code]=new GC._Code(Y.code))})}TA.useFunc=qC;var d$;(function(Q){Q[Q.Num=0]="Num",Q[Q.Str=1]="Str"})(d$||(TA.Type=d$={}));function DC(Q,Y,X){if(Q instanceof z0.Name){let W=Y===d$.Num;return X?W?z0._`"[" + ${Q} + "]"`:z0._`"['" + ${Q} + "']"`:W?z0._`"/" + ${Q}`:z0._`"/" + ${Q}.replace(/~/g, "~0").replace(/\\//g, "~1")`}return X?(0,z0.getProperty)(Q).toString():"/"+i$(Q)}TA.getErrorPath=DC;function SA(Q,Y,X=Q.opts.strictSchema){if(!X)return;if(Y=`strict mode: ${Y}`,X===!0)throw Error(Y);Q.self.logger.warn(Y)}TA.checkStrictMode=SA});var H6=j((kA)=>{Object.defineProperty(kA,"__esModule",{value:!0});var l0=n(),_C={data:new l0.Name("data"),valCxt:new l0.Name("valCxt"),instancePath:new l0.Name("instancePath"),parentData:new l0.Name("parentData"),parentDataProperty:new l0.Name("parentDataProperty"),rootData:new l0.Name("rootData"),dynamicAnchors:new l0.Name("dynamicAnchors"),vErrors:new l0.Name("vErrors"),errors:new l0.Name("errors"),this:new l0.Name("this"),self:new l0.Name("self"),scope:new l0.Name("scope"),json:new l0.Name("json"),jsonPos:new l0.Name("jsonPos"),jsonLen:new l0.Name("jsonLen"),jsonPart:new l0.Name("jsonPart")};kA.default=_C});var C4=j((yA)=>{Object.defineProperty(yA,"__esModule",{value:!0});yA.extendErrors=yA.resetErrorsCount=yA.reportExtraError=yA.reportError=yA.keyword$DataError=yA.keywordError=void 0;var X0=n(),tY=$0(),n0=H6();yA.keywordError={message:({keyword:Q})=>X0.str`must pass "${Q}" keyword validation`};yA.keyword$DataError={message:({keyword:Q,schemaType:Y})=>Y?X0.str`"${Q}" keyword must be ${Y} ($data)`:X0.str`"${Q}" keyword is invalid ($data)`};function xC(Q,Y=yA.keywordError,X,W){let{it:$}=Q,{gen:J,compositeRule:G,allErrors:H}=$,B=xA(Q,Y,X);if(W!==null&&W!==void 0?W:G||H)_A(J,B);else vA($,X0._`[${B}]`)}yA.reportError=xC;function yC(Q,Y=yA.keywordError,X){let{it:W}=Q,{gen:$,compositeRule:J,allErrors:G}=W,H=xA(Q,Y,X);if(_A($,H),!(J||G))vA(W,n0.default.vErrors)}yA.reportExtraError=yC;function fC(Q,Y){Q.assign(n0.default.errors,Y),Q.if(X0._`${n0.default.vErrors} !== null`,()=>Q.if(Y,()=>Q.assign(X0._`${n0.default.vErrors}.length`,Y),()=>Q.assign(n0.default.vErrors,null)))}yA.resetErrorsCount=fC;function gC({gen:Q,keyword:Y,schemaValue:X,data:W,errsCount:$,it:J}){if($===void 0)throw Error("ajv implementation error");let G=Q.name("err");Q.forRange("i",$,n0.default.errors,(H)=>{if(Q.const(G,X0._`${n0.default.vErrors}[${H}]`),Q.if(X0._`${G}.instancePath === undefined`,()=>Q.assign(X0._`${G}.instancePath`,(0,X0.strConcat)(n0.default.instancePath,J.errorPath))),Q.assign(X0._`${G}.schemaPath`,X0.str`${J.errSchemaPath}/${Y}`),J.opts.verbose)Q.assign(X0._`${G}.schema`,X),Q.assign(X0._`${G}.data`,W)})}yA.extendErrors=gC;function _A(Q,Y){let X=Q.const("err",Y);Q.if(X0._`${n0.default.vErrors} === null`,()=>Q.assign(n0.default.vErrors,X0._`[${X}]`),X0._`${n0.default.vErrors}.push(${X})`),Q.code(X0._`${n0.default.errors}++`)}function vA(Q,Y){let{gen:X,validateName:W,schemaEnv:$}=Q;if($.$async)X.throw(X0._`new ${Q.ValidationError}(${Y})`);else X.assign(X0._`${W}.errors`,Y),X.return(!1)}var A9={keyword:new X0.Name("keyword"),schemaPath:new X0.Name("schemaPath"),params:new X0.Name("params"),propertyName:new X0.Name("propertyName"),message:new X0.Name("message"),schema:new X0.Name("schema"),parentSchema:new X0.Name("parentSchema")};function xA(Q,Y,X){let{createErrors:W}=Q.it;if(W===!1)return X0._`{}`;return hC(Q,Y,X)}function hC(Q,Y,X={}){let{gen:W,it:$}=Q,J=[uC($,X),lC(Q,X)];return mC(Q,Y,J),W.object(...J)}function uC({errorPath:Q},{instancePath:Y}){let X=Y?X0.str`${Q}${(0,tY.getErrorPath)(Y,tY.Type.Str)}`:Q;return[n0.default.instancePath,(0,X0.strConcat)(n0.default.instancePath,X)]}function lC({keyword:Q,it:{errSchemaPath:Y}},{schemaPath:X,parentSchema:W}){let $=W?Y:X0.str`${Y}/${Q}`;if(X)$=X0.str`${$}${(0,tY.getErrorPath)(X,tY.Type.Str)}`;return[A9.schemaPath,$]}function mC(Q,{params:Y,message:X},W){let{keyword:$,data:J,schemaValue:G,it:H}=Q,{opts:B,propertyName:z,topSchemaRef:K,schemaPath:V}=H;if(W.push([A9.keyword,$],[A9.params,typeof Y=="function"?Y(Q):Y||X0._`{}`]),B.messages)W.push([A9.message,typeof X=="function"?X(Q):X]);if(B.verbose)W.push([A9.schema,G],[A9.parentSchema,X0._`${K}${V}`],[n0.default.data,J]);if(z)W.push([A9.propertyName,z])}});var lA=j((hA)=>{Object.defineProperty(hA,"__esModule",{value:!0});hA.boolOrEmptySchema=hA.topBoolOrEmptySchema=void 0;var nC=C4(),oC=n(),rC=H6(),tC={message:"boolean schema is false"};function aC(Q){let{gen:Y,schema:X,validateName:W}=Q;if(X===!1)gA(Q,!1);else if(typeof X=="object"&&X.$async===!0)Y.return(rC.default.data);else Y.assign(oC._`${W}.errors`,null),Y.return(!0)}hA.topBoolOrEmptySchema=aC;function sC(Q,Y){let{gen:X,schema:W}=Q;if(W===!1)X.var(Y,!1),gA(Q);else X.var(Y,!0)}hA.boolOrEmptySchema=sC;function gA(Q,Y){let{gen:X,data:W}=Q,$={gen:X,keyword:"false schema",data:W,schema:!1,schemaCode:!1,schemaValue:!1,params:{},it:Q};(0,nC.reportError)($,tC,void 0,Y)}});var r$=j((mA)=>{Object.defineProperty(mA,"__esModule",{value:!0});mA.getRules=mA.isJSONType=void 0;var Qk=["string","number","integer","boolean","null","object","array"],Yk=new Set(Qk);function Xk(Q){return typeof Q=="string"&&Yk.has(Q)}mA.isJSONType=Xk;function Wk(){let Q={number:{type:"number",rules:[]},string:{type:"string",rules:[]},array:{type:"array",rules:[]},object:{type:"object",rules:[]}};return{types:{...Q,integer:!0,boolean:!0,null:!0},rules:[{rules:[]},Q.number,Q.string,Q.array,Q.object],post:{rules:[]},all:{},keywords:{}}}mA.getRules=Wk});var t$=j((iA)=>{Object.defineProperty(iA,"__esModule",{value:!0});iA.shouldUseRule=iA.shouldUseGroup=iA.schemaHasRulesForType=void 0;function Jk({schema:Q,self:Y},X){let W=Y.RULES.types[X];return W&&W!==!0&&pA(Q,W)}iA.schemaHasRulesForType=Jk;function pA(Q,Y){return Y.rules.some((X)=>dA(Q,X))}iA.shouldUseGroup=pA;function dA(Q,Y){var X;return Q[Y.keyword]!==void 0||((X=Y.definition.implements)===null||X===void 0?void 0:X.some((W)=>Q[W]!==void 0))}iA.shouldUseRule=dA});var k4=j((aA)=>{Object.defineProperty(aA,"__esModule",{value:!0});aA.reportTypeError=aA.checkDataTypes=aA.checkDataType=aA.coerceAndCheckDataType=aA.getJSONTypes=aA.getSchemaTypes=aA.DataType=void 0;var Bk=r$(),zk=t$(),Kk=C4(),i=n(),oA=$0(),G8;(function(Q){Q[Q.Correct=0]="Correct",Q[Q.Wrong=1]="Wrong"})(G8||(aA.DataType=G8={}));function Vk(Q){let Y=rA(Q.type);if(Y.includes("null")){if(Q.nullable===!1)throw Error("type: null contradicts nullable: false")}else{if(!Y.length&&Q.nullable!==void 0)throw Error('"nullable" cannot be used without "type"');if(Q.nullable===!0)Y.push("null")}return Y}aA.getSchemaTypes=Vk;function rA(Q){let Y=Array.isArray(Q)?Q:Q?[Q]:[];if(Y.every(Bk.isJSONType))return Y;throw Error("type must be JSONType or JSONType[]: "+Y.join(","))}aA.getJSONTypes=rA;function Fk(Q,Y){let{gen:X,data:W,opts:$}=Q,J=Ak(Y,$.coerceTypes),G=Y.length>0&&!(J.length===0&&Y.length===1&&(0,zk.schemaHasRulesForType)(Q,Y[0]));if(G){let H=s$(Y,W,$.strictNumbers,G8.Wrong);X.if(H,()=>{if(J.length)qk(Q,Y,J);else e$(Q)})}return G}aA.coerceAndCheckDataType=Fk;var tA=new Set(["string","number","integer","boolean","null"]);function Ak(Q,Y){return Y?Q.filter((X)=>tA.has(X)||Y==="array"&&X==="array"):[]}function qk(Q,Y,X){let{gen:W,data:$,opts:J}=Q,G=W.let("dataType",i._`typeof ${$}`),H=W.let("coerced",i._`undefined`);if(J.coerceTypes==="array")W.if(i._`${G} == 'object' && Array.isArray(${$}) && ${$}.length == 1`,()=>W.assign($,i._`${$}[0]`).assign(G,i._`typeof ${$}`).if(s$(Y,$,J.strictNumbers),()=>W.assign(H,$)));W.if(i._`${H} !== undefined`);for(let z of X)if(tA.has(z)||z==="array"&&J.coerceTypes==="array")B(z);W.else(),e$(Q),W.endIf(),W.if(i._`${H} !== undefined`,()=>{W.assign($,H),Dk(Q,H)});function B(z){switch(z){case"string":W.elseIf(i._`${G} == "number" || ${G} == "boolean"`).assign(H,i._`"" + ${$}`).elseIf(i._`${$} === null`).assign(H,i._`""`);return;case"number":W.elseIf(i._`${G} == "boolean" || ${$} === null
11
11
  || (${G} == "string" && ${$} && ${$} == +${$})`).assign(H,i._`+${$}`);return;case"integer":W.elseIf(i._`${G} === "boolean" || ${$} === null
12
12
  || (${G} === "string" && ${$} && ${$} == +${$} && !(${$} % 1))`).assign(H,i._`+${$}`);return;case"boolean":W.elseIf(i._`${$} === "false" || ${$} === 0 || ${$} === null`).assign(H,!1).elseIf(i._`${$} === "true" || ${$} === 1`).assign(H,!0);return;case"null":W.elseIf(i._`${$} === "" || ${$} === 0 || ${$} === false`),W.assign(H,null);return;case"array":W.elseIf(i._`${G} === "string" || ${G} === "number"
13
- || ${G} === "boolean" || ${$} === null`).assign(H,i._`[${$}]`)}}}function i2({gen:Q,parentData:X,parentDataProperty:Y},W){Q.if(i._`${X} !== undefined`,()=>Q.assign(i._`${X}[${Y}]`,W))}function c$(Q,X,Y,W=W8.Correct){let $=W===W8.Correct?i.operators.EQ:i.operators.NEQ,J;switch(Q){case"null":return i._`${X} ${$} null`;case"array":J=i._`Array.isArray(${X})`;break;case"object":J=i._`${X} && typeof ${X} == "object" && !Array.isArray(${X})`;break;case"integer":J=G(i._`!(${X} % 1) && !isNaN(${X})`);break;case"number":J=G();break;default:return i._`typeof ${X} ${$} ${Q}`}return W===W8.Correct?J:(0,i.not)(J);function G(H=i.nil){return(0,i.and)(i._`typeof ${X} == "number"`,H,Y?i._`isFinite(${X})`:i.nil)}}fA.checkDataType=c$;function p$(Q,X,Y,W){if(Q.length===1)return c$(Q[0],X,Y,W);let $,J=(0,_A.toHash)(Q);if(J.array&&J.object){let G=i._`typeof ${X} != "object"`;$=J.null?G:i._`!${X} || ${G}`,delete J.null,delete J.array,delete J.object}else $=i.nil;if(J.number)delete J.integer;for(let G in J)$=(0,i.and)($,c$(G,X,Y,W));return $}fA.checkDataTypes=p$;var n2={message:({schema:Q})=>`must be ${Q}`,params:({schema:Q,schemaValue:X})=>typeof Q=="string"?i._`{type: ${Q}}`:i._`{type: ${X}}`};function d$(Q){let X=o2(Q);(0,l2.reportError)(X,n2)}fA.reportTypeError=d$;function o2(Q){let{gen:X,data:Y,schema:W}=Q,$=(0,_A.schemaRefOrVal)(Q,W,"type");return{gen:X,keyword:"type",data:Y,schema:W.type,schemaCode:$,schemaValue:$,parentSchema:W,params:{},it:Q}}});var mA=j((uA)=>{Object.defineProperty(uA,"__esModule",{value:!0});uA.assignDefaults=void 0;var $8=n(),Xk=$0();function Yk(Q,X){let{properties:Y,items:W}=Q.schema;if(X==="object"&&Y)for(let $ in Y)hA(Q,$,Y[$].default);else if(X==="array"&&Array.isArray(W))W.forEach(($,J)=>hA(Q,J,$.default))}uA.assignDefaults=Yk;function hA(Q,X,Y){let{gen:W,compositeRule:$,data:J,opts:G}=Q;if(Y===void 0)return;let H=$8._`${J}${(0,$8.getProperty)(X)}`;if($){(0,Xk.checkStrictMode)(Q,`default is ignored for: ${H}`);return}let B=$8._`${H} === undefined`;if(G.useDefaults==="empty")B=$8._`${B} || ${H} === null || ${H} === ""`;W.if(B,$8._`${H} = ${(0,$8.stringify)(Y)}`)}});var D1=j((dA)=>{Object.defineProperty(dA,"__esModule",{value:!0});dA.validateUnion=dA.validateArray=dA.usePattern=dA.callValidateCode=dA.schemaProperties=dA.allSchemaProperties=dA.noPropertyInData=dA.propertyInData=dA.isOwnProperty=dA.hasPropFunc=dA.reportMissingProp=dA.checkMissingProp=dA.checkReportMissingProp=void 0;var L0=n(),i$=$0(),C6=H6(),Wk=$0();function $k(Q,X){let{gen:Y,data:W,it:$}=Q;Y.if(o$(Y,W,X,$.opts.ownProperties),()=>{Q.setParams({missingProperty:L0._`${X}`},!0),Q.error()})}dA.checkReportMissingProp=$k;function Jk({gen:Q,data:X,it:{opts:Y}},W,$){return(0,L0.or)(...W.map((J)=>(0,L0.and)(o$(Q,X,J,Y.ownProperties),L0._`${$} = ${J}`)))}dA.checkMissingProp=Jk;function Gk(Q,X){Q.setParams({missingProperty:X},!0),Q.error()}dA.reportMissingProp=Gk;function cA(Q){return Q.scopeValue("func",{ref:Object.prototype.hasOwnProperty,code:L0._`Object.prototype.hasOwnProperty`})}dA.hasPropFunc=cA;function n$(Q,X,Y){return L0._`${cA(Q)}.call(${X}, ${Y})`}dA.isOwnProperty=n$;function Hk(Q,X,Y,W){let $=L0._`${X}${(0,L0.getProperty)(Y)} !== undefined`;return W?L0._`${$} && ${n$(Q,X,Y)}`:$}dA.propertyInData=Hk;function o$(Q,X,Y,W){let $=L0._`${X}${(0,L0.getProperty)(Y)} === undefined`;return W?(0,L0.or)($,(0,L0.not)(n$(Q,X,Y))):$}dA.noPropertyInData=o$;function pA(Q){return Q?Object.keys(Q).filter((X)=>X!=="__proto__"):[]}dA.allSchemaProperties=pA;function Bk(Q,X){return pA(X).filter((Y)=>!(0,i$.alwaysValidSchema)(Q,X[Y]))}dA.schemaProperties=Bk;function zk({schemaCode:Q,data:X,it:{gen:Y,topSchemaRef:W,schemaPath:$,errorPath:J},it:G},H,B,z){let K=z?L0._`${Q}, ${X}, ${W}${$}`:X,V=[[C6.default.instancePath,(0,L0.strConcat)(C6.default.instancePath,J)],[C6.default.parentData,G.parentData],[C6.default.parentDataProperty,G.parentDataProperty],[C6.default.rootData,C6.default.rootData]];if(G.opts.dynamicRef)V.push([C6.default.dynamicAnchors,C6.default.dynamicAnchors]);let q=L0._`${K}, ${Y.object(...V)}`;return B!==L0.nil?L0._`${H}.call(${B}, ${q})`:L0._`${H}(${q})`}dA.callValidateCode=zk;var Kk=L0._`new RegExp`;function Vk({gen:Q,it:{opts:X}},Y){let W=X.unicodeRegExp?"u":"",{regExp:$}=X.code,J=$(Y,W);return Q.scopeValue("pattern",{key:J.toString(),ref:J,code:L0._`${$.code==="new RegExp"?Kk:(0,Wk.useFunc)(Q,$)}(${Y}, ${W})`})}dA.usePattern=Vk;function Fk(Q){let{gen:X,data:Y,keyword:W,it:$}=Q,J=X.name("valid");if($.allErrors){let H=X.let("valid",!0);return G(()=>X.assign(H,!1)),H}return X.var(J,!0),G(()=>X.break()),J;function G(H){let B=X.const("len",L0._`${Y}.length`);X.forRange("i",0,B,(z)=>{Q.subschema({keyword:W,dataProp:z,dataPropType:i$.Type.Num},J),X.if((0,L0.not)(J),H)})}}dA.validateArray=Fk;function Ak(Q){let{gen:X,schema:Y,keyword:W,it:$}=Q;if(!Array.isArray(Y))throw Error("ajv implementation error");if(Y.some((B)=>(0,i$.alwaysValidSchema)($,B))&&!$.opts.unevaluated)return;let G=X.let("valid",!1),H=X.name("_valid");X.block(()=>Y.forEach((B,z)=>{let K=Q.subschema({keyword:W,schemaProp:z,compositeRule:!0},H);if(X.assign(G,L0._`${G} || ${H}`),!Q.mergeValidEvaluated(K,H))X.if((0,L0.not)(G))})),Q.result(G,()=>Q.reset(),()=>Q.error(!0))}dA.validateUnion=Ak});var aA=j((rA)=>{Object.defineProperty(rA,"__esModule",{value:!0});rA.validateKeywordUsage=rA.validSchemaType=rA.funcKeywordCode=rA.macroKeywordCode=void 0;var o0=n(),V9=H6(),Rk=D1(),Ek=E4();function Sk(Q,X){let{gen:Y,keyword:W,schema:$,parentSchema:J,it:G}=Q,H=X.macro.call(G.self,$,J,G),B=oA(Y,W,H);if(G.opts.validateSchema!==!1)G.self.validateSchema(H,!0);let z=Y.name("valid");Q.subschema({schema:H,schemaPath:o0.nil,errSchemaPath:`${G.errSchemaPath}/${W}`,topSchemaRef:B,compositeRule:!0},z),Q.pass(z,()=>Q.error(!0))}rA.macroKeywordCode=Sk;function Ik(Q,X){var Y;let{gen:W,keyword:$,schema:J,parentSchema:G,$data:H,it:B}=Q;Ck(B,X);let z=!H&&X.compile?X.compile.call(B.self,J,G,B):X.validate,K=oA(W,$,z),V=W.let("valid");Q.block$data(V,q),Q.ok((Y=X.valid)!==null&&Y!==void 0?Y:V);function q(){if(X.errors===!1){if(D(),X.modifying)nA(Q);L(()=>Q.error())}else{let O=X.async?F():A();if(X.modifying)nA(Q);L(()=>Tk(Q,O))}}function F(){let O=W.let("ruleErrs",null);return W.try(()=>D(o0._`await `),(N)=>W.assign(V,!1).if(o0._`${N} instanceof ${B.ValidationError}`,()=>W.assign(O,o0._`${N}.errors`),()=>W.throw(N))),O}function A(){let O=o0._`${K}.errors`;return W.assign(O,null),D(o0.nil),O}function D(O=X.async?o0._`await `:o0.nil){let N=B.opts.passContext?V9.default.this:V9.default.self,w=!(("compile"in X)&&!H||X.schema===!1);W.assign(V,o0._`${O}${(0,Rk.callValidateCode)(Q,K,N,w)}`,X.modifying)}function L(O){var N;W.if((0,o0.not)((N=X.valid)!==null&&N!==void 0?N:V),O)}}rA.funcKeywordCode=Ik;function nA(Q){let{gen:X,data:Y,it:W}=Q;X.if(W.parentData,()=>X.assign(Y,o0._`${W.parentData}[${W.parentDataProperty}]`))}function Tk(Q,X){let{gen:Y}=Q;Y.if(o0._`Array.isArray(${X})`,()=>{Y.assign(V9.default.vErrors,o0._`${V9.default.vErrors} === null ? ${X} : ${V9.default.vErrors}.concat(${X})`).assign(V9.default.errors,o0._`${V9.default.vErrors}.length`),(0,Ek.extendErrors)(Q)},()=>Q.error())}function Ck({schemaEnv:Q},X){if(X.async&&!Q.$async)throw Error("async keyword in sync schema")}function oA(Q,X,Y){if(Y===void 0)throw Error(`keyword "${X}" failed to compile`);return Q.scopeValue("keyword",typeof Y=="function"?{ref:Y}:{ref:Y,code:(0,o0.stringify)(Y)})}function kk(Q,X,Y=!1){return!X.length||X.some((W)=>W==="array"?Array.isArray(Q):W==="object"?Q&&typeof Q=="object"&&!Array.isArray(Q):typeof Q==W||Y&&typeof Q>"u")}rA.validSchemaType=kk;function vk({schema:Q,opts:X,self:Y,errSchemaPath:W},$,J){if(Array.isArray($.keyword)?!$.keyword.includes(J):$.keyword!==J)throw Error("ajv implementation error");let G=$.dependencies;if(G===null||G===void 0?void 0:G.some((H)=>!Object.prototype.hasOwnProperty.call(Q,H)))throw Error(`parent schema must have dependencies of ${J}: ${G.join(",")}`);if($.validateSchema){if(!$.validateSchema(Q[J])){let B=`keyword "${J}" value is invalid at path "${W}": `+Y.errorsText($.validateSchema.errors);if(X.validateSchema==="log")Y.logger.error(B);else throw Error(B)}}}rA.validateKeywordUsage=vk});var Xq=j((eA)=>{Object.defineProperty(eA,"__esModule",{value:!0});eA.extendSubschemaMode=eA.extendSubschemaData=eA.getSubschema=void 0;var n1=n(),sA=$0();function fk(Q,{keyword:X,schemaProp:Y,schema:W,schemaPath:$,errSchemaPath:J,topSchemaRef:G}){if(X!==void 0&&W!==void 0)throw Error('both "keyword" and "schema" passed, only one allowed');if(X!==void 0){let H=Q.schema[X];return Y===void 0?{schema:H,schemaPath:n1._`${Q.schemaPath}${(0,n1.getProperty)(X)}`,errSchemaPath:`${Q.errSchemaPath}/${X}`}:{schema:H[Y],schemaPath:n1._`${Q.schemaPath}${(0,n1.getProperty)(X)}${(0,n1.getProperty)(Y)}`,errSchemaPath:`${Q.errSchemaPath}/${X}/${(0,sA.escapeFragment)(Y)}`}}if(W!==void 0){if($===void 0||J===void 0||G===void 0)throw Error('"schemaPath", "errSchemaPath" and "topSchemaRef" are required with "schema"');return{schema:W,schemaPath:$,topSchemaRef:G,errSchemaPath:J}}throw Error('either "keyword" or "schema" must be passed')}eA.getSubschema=fk;function gk(Q,X,{dataProp:Y,dataPropType:W,data:$,dataTypes:J,propertyName:G}){if($!==void 0&&Y!==void 0)throw Error('both "data" and "dataProp" passed, only one allowed');let{gen:H}=X;if(Y!==void 0){let{errorPath:z,dataPathArr:K,opts:V}=X,q=H.let("data",n1._`${X.data}${(0,n1.getProperty)(Y)}`,!0);B(q),Q.errorPath=n1.str`${z}${(0,sA.getErrorPath)(Y,W,V.jsPropertySyntax)}`,Q.parentDataProperty=n1._`${Y}`,Q.dataPathArr=[...K,Q.parentDataProperty]}if($!==void 0){let z=$ instanceof n1.Name?$:H.let("data",$,!0);if(B(z),G!==void 0)Q.propertyName=G}if(J)Q.dataTypes=J;function B(z){Q.data=z,Q.dataLevel=X.dataLevel+1,Q.dataTypes=[],X.definedProperties=new Set,Q.parentData=X.data,Q.dataNames=[...X.dataNames,z]}}eA.extendSubschemaData=gk;function hk(Q,{jtdDiscriminator:X,jtdMetadata:Y,compositeRule:W,createErrors:$,allErrors:J}){if(W!==void 0)Q.compositeRule=W;if($!==void 0)Q.createErrors=$;if(J!==void 0)Q.allErrors=J;Q.jtdDiscriminator=X,Q.jtdMetadata=Y}eA.extendSubschemaMode=hk});var Wq=j((Ni,Yq)=>{var k6=Yq.exports=function(Q,X,Y){if(typeof X=="function")Y=X,X={};Y=X.cb||Y;var W=typeof Y=="function"?Y:Y.pre||function(){},$=Y.post||function(){};nX(X,W,$,Q,"",Q)};k6.keywords={additionalItems:!0,items:!0,contains:!0,additionalProperties:!0,propertyNames:!0,not:!0,if:!0,then:!0,else:!0};k6.arrayKeywords={items:!0,allOf:!0,anyOf:!0,oneOf:!0};k6.propsKeywords={$defs:!0,definitions:!0,properties:!0,patternProperties:!0,dependencies:!0};k6.skipKeywords={default:!0,enum:!0,const:!0,required:!0,maximum:!0,minimum:!0,exclusiveMaximum:!0,exclusiveMinimum:!0,multipleOf:!0,maxLength:!0,minLength:!0,pattern:!0,format:!0,maxItems:!0,minItems:!0,uniqueItems:!0,maxProperties:!0,minProperties:!0};function nX(Q,X,Y,W,$,J,G,H,B,z){if(W&&typeof W=="object"&&!Array.isArray(W)){X(W,$,J,G,H,B,z);for(var K in W){var V=W[K];if(Array.isArray(V)){if(K in k6.arrayKeywords)for(var q=0;q<V.length;q++)nX(Q,X,Y,V[q],$+"/"+K+"/"+q,J,$,K,W,q)}else if(K in k6.propsKeywords){if(V&&typeof V=="object")for(var F in V)nX(Q,X,Y,V[F],$+"/"+K+"/"+mk(F),J,$,K,W,F)}else if(K in k6.keywords||Q.allKeys&&!(K in k6.skipKeywords))nX(Q,X,Y,V,$+"/"+K,J,$,K,W)}Y(W,$,J,G,H,B,z)}}function mk(Q){return Q.replace(/~/g,"~0").replace(/\//g,"~1")}});var I4=j((Hq)=>{Object.defineProperty(Hq,"__esModule",{value:!0});Hq.getSchemaRefs=Hq.resolveUrl=Hq.normalizeId=Hq._getFullPath=Hq.getFullPath=Hq.inlineRef=void 0;var ck=$0(),pk=G4(),dk=Wq(),ik=new Set(["type","format","pattern","maxLength","minLength","maxProperties","minProperties","maxItems","minItems","maximum","minimum","uniqueItems","multipleOf","required","enum","const"]);function nk(Q,X=!0){if(typeof Q=="boolean")return!0;if(X===!0)return!r$(Q);if(!X)return!1;return $q(Q)<=X}Hq.inlineRef=nk;var ok=new Set(["$ref","$recursiveRef","$recursiveAnchor","$dynamicRef","$dynamicAnchor"]);function r$(Q){for(let X in Q){if(ok.has(X))return!0;let Y=Q[X];if(Array.isArray(Y)&&Y.some(r$))return!0;if(typeof Y=="object"&&r$(Y))return!0}return!1}function $q(Q){let X=0;for(let Y in Q){if(Y==="$ref")return 1/0;if(X++,ik.has(Y))continue;if(typeof Q[Y]=="object")(0,ck.eachItem)(Q[Y],(W)=>X+=$q(W));if(X===1/0)return 1/0}return X}function Jq(Q,X="",Y){if(Y!==!1)X=J8(X);let W=Q.parse(X);return Gq(Q,W)}Hq.getFullPath=Jq;function Gq(Q,X){return Q.serialize(X).split("#")[0]+"#"}Hq._getFullPath=Gq;var rk=/#\/?$/;function J8(Q){return Q?Q.replace(rk,""):""}Hq.normalizeId=J8;function tk(Q,X,Y){return Y=J8(Y),Q.resolve(X,Y)}Hq.resolveUrl=tk;var ak=/^[a-z_][-a-z0-9._]*$/i;function sk(Q,X){if(typeof Q=="boolean")return{};let{schemaId:Y,uriResolver:W}=this.opts,$=J8(Q[Y]||X),J={"":$},G=Jq(W,$,!1),H={},B=new Set;return dk(Q,{allKeys:!0},(V,q,F,A)=>{if(A===void 0)return;let D=G+q,L=J[A];if(typeof V[Y]=="string")L=O.call(this,V[Y]);N.call(this,V.$anchor),N.call(this,V.$dynamicAnchor),J[q]=L;function O(w){let C=this.opts.uriResolver.resolve;if(w=J8(L?C(L,w):w),B.has(w))throw K(w);B.add(w);let Z=this.refs[w];if(typeof Z=="string")Z=this.refs[Z];if(typeof Z=="object")z(V,Z.schema,w);else if(w!==J8(D))if(w[0]==="#")z(V,H[w],w),H[w]=V;else this.refs[w]=D;return w}function N(w){if(typeof w=="string"){if(!ak.test(w))throw Error(`invalid anchor "${w}"`);O.call(this,`#${w}`)}}}),H;function z(V,q,F){if(q!==void 0&&!pk(V,q))throw K(F)}function K(V){return Error(`reference "${V}" resolves to more than one schema`)}}Hq.getSchemaRefs=sk});var k4=j((bq)=>{Object.defineProperty(bq,"__esModule",{value:!0});bq.getData=bq.KeywordCxt=bq.validateFunctionCode=void 0;var Aq=EA(),zq=S4(),a$=m$(),oX=S4(),$v=mA(),C4=aA(),t$=Xq(),f=n(),m=H6(),Jv=I4(),B6=$0(),T4=E4();function Gv(Q){if(Lq(Q)){if(Oq(Q),Dq(Q)){zv(Q);return}}qq(Q,()=>(0,Aq.topBoolOrEmptySchema)(Q))}bq.validateFunctionCode=Gv;function qq({gen:Q,validateName:X,schema:Y,schemaEnv:W,opts:$},J){if($.code.es5)Q.func(X,f._`${m.default.data}, ${m.default.valCxt}`,W.$async,()=>{Q.code(f._`"use strict"; ${Kq(Y,$)}`),Bv(Q,$),Q.code(J)});else Q.func(X,f._`${m.default.data}, ${Hv($)}`,W.$async,()=>Q.code(Kq(Y,$)).code(J))}function Hv(Q){return f._`{${m.default.instancePath}="", ${m.default.parentData}, ${m.default.parentDataProperty}, ${m.default.rootData}=${m.default.data}${Q.dynamicRef?f._`, ${m.default.dynamicAnchors}={}`:f.nil}}={}`}function Bv(Q,X){Q.if(m.default.valCxt,()=>{if(Q.var(m.default.instancePath,f._`${m.default.valCxt}.${m.default.instancePath}`),Q.var(m.default.parentData,f._`${m.default.valCxt}.${m.default.parentData}`),Q.var(m.default.parentDataProperty,f._`${m.default.valCxt}.${m.default.parentDataProperty}`),Q.var(m.default.rootData,f._`${m.default.valCxt}.${m.default.rootData}`),X.dynamicRef)Q.var(m.default.dynamicAnchors,f._`${m.default.valCxt}.${m.default.dynamicAnchors}`)},()=>{if(Q.var(m.default.instancePath,f._`""`),Q.var(m.default.parentData,f._`undefined`),Q.var(m.default.parentDataProperty,f._`undefined`),Q.var(m.default.rootData,m.default.data),X.dynamicRef)Q.var(m.default.dynamicAnchors,f._`{}`)})}function zv(Q){let{schema:X,opts:Y,gen:W}=Q;qq(Q,()=>{if(Y.$comment&&X.$comment)jq(Q);if(qv(Q),W.let(m.default.vErrors,null),W.let(m.default.errors,0),Y.unevaluated)Kv(Q);Uq(Q),Ov(Q)});return}function Kv(Q){let{gen:X,validateName:Y}=Q;Q.evaluated=X.const("evaluated",f._`${Y}.evaluated`),X.if(f._`${Q.evaluated}.dynamicProps`,()=>X.assign(f._`${Q.evaluated}.props`,f._`undefined`)),X.if(f._`${Q.evaluated}.dynamicItems`,()=>X.assign(f._`${Q.evaluated}.items`,f._`undefined`))}function Kq(Q,X){let Y=typeof Q=="object"&&Q[X.schemaId];return Y&&(X.code.source||X.code.process)?f._`/*# sourceURL=${Y} */`:f.nil}function Vv(Q,X){if(Lq(Q)){if(Oq(Q),Dq(Q)){Fv(Q,X);return}}(0,Aq.boolOrEmptySchema)(Q,X)}function Dq({schema:Q,self:X}){if(typeof Q=="boolean")return!Q;for(let Y in Q)if(X.RULES.all[Y])return!0;return!1}function Lq(Q){return typeof Q.schema!="boolean"}function Fv(Q,X){let{schema:Y,gen:W,opts:$}=Q;if($.$comment&&Y.$comment)jq(Q);Dv(Q),Lv(Q);let J=W.const("_errs",m.default.errors);Uq(Q,J),W.var(X,f._`${J} === ${m.default.errors}`)}function Oq(Q){(0,B6.checkUnknownRules)(Q),Av(Q)}function Uq(Q,X){if(Q.opts.jtd)return Vq(Q,[],!1,X);let Y=(0,zq.getSchemaTypes)(Q.schema),W=(0,zq.coerceAndCheckDataType)(Q,Y);Vq(Q,Y,!W,X)}function Av(Q){let{schema:X,errSchemaPath:Y,opts:W,self:$}=Q;if(X.$ref&&W.ignoreKeywordsWithRef&&(0,B6.schemaHasRulesButRef)(X,$.RULES))$.logger.warn(`$ref: keywords ignored in schema at path "${Y}"`)}function qv(Q){let{schema:X,opts:Y}=Q;if(X.default!==void 0&&Y.useDefaults&&Y.strictSchema)(0,B6.checkStrictMode)(Q,"default is ignored in the schema root")}function Dv(Q){let X=Q.schema[Q.opts.schemaId];if(X)Q.baseId=(0,Jv.resolveUrl)(Q.opts.uriResolver,Q.baseId,X)}function Lv(Q){if(Q.schema.$async&&!Q.schemaEnv.$async)throw Error("async schema in sync schema")}function jq({gen:Q,schemaEnv:X,schema:Y,errSchemaPath:W,opts:$}){let J=Y.$comment;if($.$comment===!0)Q.code(f._`${m.default.self}.logger.log(${J})`);else if(typeof $.$comment=="function"){let G=f.str`${W}/$comment`,H=Q.scopeValue("root",{ref:X.root});Q.code(f._`${m.default.self}.opts.$comment(${J}, ${G}, ${H}.schema)`)}}function Ov(Q){let{gen:X,schemaEnv:Y,validateName:W,ValidationError:$,opts:J}=Q;if(Y.$async)X.if(f._`${m.default.errors} === 0`,()=>X.return(m.default.data),()=>X.throw(f._`new ${$}(${m.default.vErrors})`));else{if(X.assign(f._`${W}.errors`,m.default.vErrors),J.unevaluated)Uv(Q);X.return(f._`${m.default.errors} === 0`)}}function Uv({gen:Q,evaluated:X,props:Y,items:W}){if(Y instanceof f.Name)Q.assign(f._`${X}.props`,Y);if(W instanceof f.Name)Q.assign(f._`${X}.items`,W)}function Vq(Q,X,Y,W){let{gen:$,schema:J,data:G,allErrors:H,opts:B,self:z}=Q,{RULES:K}=z;if(J.$ref&&(B.ignoreKeywordsWithRef||!(0,B6.schemaHasRulesButRef)(J,K))){$.block(()=>Nq(Q,"$ref",K.all.$ref.definition));return}if(!B.jtd)jv(Q,X);$.block(()=>{for(let q of K.rules)V(q);V(K.post)});function V(q){if(!(0,a$.shouldUseGroup)(J,q))return;if(q.type){if($.if((0,oX.checkDataType)(q.type,G,B.strictNumbers)),Fq(Q,q),X.length===1&&X[0]===q.type&&Y)$.else(),(0,oX.reportTypeError)(Q);$.endIf()}else Fq(Q,q);if(!H)$.if(f._`${m.default.errors} === ${W||0}`)}}function Fq(Q,X){let{gen:Y,schema:W,opts:{useDefaults:$}}=Q;if($)(0,$v.assignDefaults)(Q,X.type);Y.block(()=>{for(let J of X.rules)if((0,a$.shouldUseRule)(W,J))Nq(Q,J.keyword,J.definition,X.type)})}function jv(Q,X){if(Q.schemaEnv.meta||!Q.opts.strictTypes)return;if(Mv(Q,X),!Q.opts.allowUnionTypes)Nv(Q,X);wv(Q,Q.dataTypes)}function Mv(Q,X){if(!X.length)return;if(!Q.dataTypes.length){Q.dataTypes=X;return}X.forEach((Y)=>{if(!Mq(Q.dataTypes,Y))s$(Q,`type "${Y}" not allowed by context "${Q.dataTypes.join(",")}"`)}),Pv(Q,X)}function Nv(Q,X){if(X.length>1&&!(X.length===2&&X.includes("null")))s$(Q,"use allowUnionTypes to allow union type keyword")}function wv(Q,X){let Y=Q.self.RULES.all;for(let W in Y){let $=Y[W];if(typeof $=="object"&&(0,a$.shouldUseRule)(Q.schema,$)){let{type:J}=$.definition;if(J.length&&!J.some((G)=>bv(X,G)))s$(Q,`missing type "${J.join(",")}" for keyword "${W}"`)}}}function bv(Q,X){return Q.includes(X)||X==="number"&&Q.includes("integer")}function Mq(Q,X){return Q.includes(X)||X==="integer"&&Q.includes("number")}function Pv(Q,X){let Y=[];for(let W of Q.dataTypes)if(Mq(X,W))Y.push(W);else if(X.includes("integer")&&W==="number")Y.push("integer");Q.dataTypes=Y}function s$(Q,X){let Y=Q.schemaEnv.baseId+Q.errSchemaPath;X+=` at "${Y}" (strictTypes)`,(0,B6.checkStrictMode)(Q,X,Q.opts.strictTypes)}class e${constructor(Q,X,Y){if((0,C4.validateKeywordUsage)(Q,X,Y),this.gen=Q.gen,this.allErrors=Q.allErrors,this.keyword=Y,this.data=Q.data,this.schema=Q.schema[Y],this.$data=X.$data&&Q.opts.$data&&this.schema&&this.schema.$data,this.schemaValue=(0,B6.schemaRefOrVal)(Q,this.schema,Y,this.$data),this.schemaType=X.schemaType,this.parentSchema=Q.schema,this.params={},this.it=Q,this.def=X,this.$data)this.schemaCode=Q.gen.const("vSchema",wq(this.$data,Q));else if(this.schemaCode=this.schemaValue,!(0,C4.validSchemaType)(this.schema,X.schemaType,X.allowUndefined))throw Error(`${Y} value must be ${JSON.stringify(X.schemaType)}`);if("code"in X?X.trackErrors:X.errors!==!1)this.errsCount=Q.gen.const("_errs",m.default.errors)}result(Q,X,Y){this.failResult((0,f.not)(Q),X,Y)}failResult(Q,X,Y){if(this.gen.if(Q),Y)Y();else this.error();if(X){if(this.gen.else(),X(),this.allErrors)this.gen.endIf()}else if(this.allErrors)this.gen.endIf();else this.gen.else()}pass(Q,X){this.failResult((0,f.not)(Q),void 0,X)}fail(Q){if(Q===void 0){if(this.error(),!this.allErrors)this.gen.if(!1);return}if(this.gen.if(Q),this.error(),this.allErrors)this.gen.endIf();else this.gen.else()}fail$data(Q){if(!this.$data)return this.fail(Q);let{schemaCode:X}=this;this.fail(f._`${X} !== undefined && (${(0,f.or)(this.invalid$data(),Q)})`)}error(Q,X,Y){if(X){this.setParams(X),this._error(Q,Y),this.setParams({});return}this._error(Q,Y)}_error(Q,X){(Q?T4.reportExtraError:T4.reportError)(this,this.def.error,X)}$dataError(){(0,T4.reportError)(this,this.def.$dataError||T4.keyword$DataError)}reset(){if(this.errsCount===void 0)throw Error('add "trackErrors" to keyword definition');(0,T4.resetErrorsCount)(this.gen,this.errsCount)}ok(Q){if(!this.allErrors)this.gen.if(Q)}setParams(Q,X){if(X)Object.assign(this.params,Q);else this.params=Q}block$data(Q,X,Y=f.nil){this.gen.block(()=>{this.check$data(Q,Y),X()})}check$data(Q=f.nil,X=f.nil){if(!this.$data)return;let{gen:Y,schemaCode:W,schemaType:$,def:J}=this;if(Y.if((0,f.or)(f._`${W} === undefined`,X)),Q!==f.nil)Y.assign(Q,!0);if($.length||J.validateSchema){if(Y.elseIf(this.invalid$data()),this.$dataError(),Q!==f.nil)Y.assign(Q,!1)}Y.else()}invalid$data(){let{gen:Q,schemaCode:X,schemaType:Y,def:W,it:$}=this;return(0,f.or)(J(),G());function J(){if(Y.length){if(!(X instanceof f.Name))throw Error("ajv implementation error");let H=Array.isArray(Y)?Y:[Y];return f._`${(0,oX.checkDataTypes)(H,X,$.opts.strictNumbers,oX.DataType.Wrong)}`}return f.nil}function G(){if(W.validateSchema){let H=Q.scopeValue("validate$data",{ref:W.validateSchema});return f._`!${H}(${X})`}return f.nil}}subschema(Q,X){let Y=(0,t$.getSubschema)(this.it,Q);(0,t$.extendSubschemaData)(Y,this.it,Q),(0,t$.extendSubschemaMode)(Y,Q);let W={...this.it,...Y,items:void 0,props:void 0};return Vv(W,X),W}mergeEvaluated(Q,X){let{it:Y,gen:W}=this;if(!Y.opts.unevaluated)return;if(Y.props!==!0&&Q.props!==void 0)Y.props=B6.mergeEvaluated.props(W,Q.props,Y.props,X);if(Y.items!==!0&&Q.items!==void 0)Y.items=B6.mergeEvaluated.items(W,Q.items,Y.items,X)}mergeValidEvaluated(Q,X){let{it:Y,gen:W}=this;if(Y.opts.unevaluated&&(Y.props!==!0||Y.items!==!0))return W.if(X,()=>this.mergeEvaluated(Q,f.Name)),!0}}bq.KeywordCxt=e$;function Nq(Q,X,Y,W){let $=new e$(Q,Y,X);if("code"in Y)Y.code($,W);else if($.$data&&Y.validate)(0,C4.funcKeywordCode)($,Y);else if("macro"in Y)(0,C4.macroKeywordCode)($,Y);else if(Y.compile||Y.validate)(0,C4.funcKeywordCode)($,Y)}var Zv=/^\/(?:[^~]|~0|~1)*$/,Rv=/^([0-9]+)(#|\/(?:[^~]|~0|~1)*)?$/;function wq(Q,{dataLevel:X,dataNames:Y,dataPathArr:W}){let $,J;if(Q==="")return m.default.rootData;if(Q[0]==="/"){if(!Zv.test(Q))throw Error(`Invalid JSON-pointer: ${Q}`);$=Q,J=m.default.rootData}else{let z=Rv.exec(Q);if(!z)throw Error(`Invalid JSON-pointer: ${Q}`);let K=+z[1];if($=z[2],$==="#"){if(K>=X)throw Error(B("property/index",K));return W[X-K]}if(K>X)throw Error(B("data",K));if(J=Y[X-K],!$)return J}let G=J,H=$.split("/");for(let z of H)if(z)J=f._`${J}${(0,f.getProperty)((0,B6.unescapeJsonPointer)(z))}`,G=f._`${G} && ${J}`;return G;function B(z,K){return`Cannot access ${z} ${K} levels up, current level is ${X}`}}bq.getData=wq});var rX=j((Rq)=>{Object.defineProperty(Rq,"__esModule",{value:!0});class Zq extends Error{constructor(Q){super("validation failed");this.errors=Q,this.ajv=this.validation=!0}}Rq.default=Zq});var v4=j((Sq)=>{Object.defineProperty(Sq,"__esModule",{value:!0});var QJ=I4();class Eq extends Error{constructor(Q,X,Y,W){super(W||`can't resolve reference ${Y} from id ${X}`);this.missingRef=(0,QJ.resolveUrl)(Q,X,Y),this.missingSchema=(0,QJ.normalizeId)((0,QJ.getFullPath)(Q,this.missingRef))}}Sq.default=Eq});var aX=j((Cq)=>{Object.defineProperty(Cq,"__esModule",{value:!0});Cq.resolveSchema=Cq.getCompilingSchema=Cq.resolveRef=Cq.compileSchema=Cq.SchemaEnv=void 0;var v1=n(),Cv=rX(),F9=H6(),_1=I4(),Iq=$0(),kv=k4();class _4{constructor(Q){var X;this.refs={},this.dynamicAnchors={};let Y;if(typeof Q.schema=="object")Y=Q.schema;this.schema=Q.schema,this.schemaId=Q.schemaId,this.root=Q.root||this,this.baseId=(X=Q.baseId)!==null&&X!==void 0?X:(0,_1.normalizeId)(Y===null||Y===void 0?void 0:Y[Q.schemaId||"$id"]),this.schemaPath=Q.schemaPath,this.localRefs=Q.localRefs,this.meta=Q.meta,this.$async=Y===null||Y===void 0?void 0:Y.$async,this.refs={}}}Cq.SchemaEnv=_4;function YJ(Q){let X=Tq.call(this,Q);if(X)return X;let Y=(0,_1.getFullPath)(this.opts.uriResolver,Q.root.baseId),{es5:W,lines:$}=this.opts.code,{ownProperties:J}=this.opts,G=new v1.CodeGen(this.scope,{es5:W,lines:$,ownProperties:J}),H;if(Q.$async)H=G.scopeValue("Error",{ref:Cv.default,code:v1._`require("ajv/dist/runtime/validation_error").default`});let B=G.scopeName("validate");Q.validateName=B;let z={gen:G,allErrors:this.opts.allErrors,data:F9.default.data,parentData:F9.default.parentData,parentDataProperty:F9.default.parentDataProperty,dataNames:[F9.default.data],dataPathArr:[v1.nil],dataLevel:0,dataTypes:[],definedProperties:new Set,topSchemaRef:G.scopeValue("schema",this.opts.code.source===!0?{ref:Q.schema,code:(0,v1.stringify)(Q.schema)}:{ref:Q.schema}),validateName:B,ValidationError:H,schema:Q.schema,schemaEnv:Q,rootId:Y,baseId:Q.baseId||Y,schemaPath:v1.nil,errSchemaPath:Q.schemaPath||(this.opts.jtd?"":"#"),errorPath:v1._`""`,opts:this.opts,self:this},K;try{this._compilations.add(Q),(0,kv.validateFunctionCode)(z),G.optimize(this.opts.code.optimize);let V=G.toString();if(K=`${G.scopeRefs(F9.default.scope)}return ${V}`,this.opts.code.process)K=this.opts.code.process(K,Q);let F=Function(`${F9.default.self}`,`${F9.default.scope}`,K)(this,this.scope.get());if(this.scope.value(B,{ref:F}),F.errors=null,F.schema=Q.schema,F.schemaEnv=Q,Q.$async)F.$async=!0;if(this.opts.code.source===!0)F.source={validateName:B,validateCode:V,scopeValues:G._values};if(this.opts.unevaluated){let{props:A,items:D}=z;if(F.evaluated={props:A instanceof v1.Name?void 0:A,items:D instanceof v1.Name?void 0:D,dynamicProps:A instanceof v1.Name,dynamicItems:D instanceof v1.Name},F.source)F.source.evaluated=(0,v1.stringify)(F.evaluated)}return Q.validate=F,Q}catch(V){if(delete Q.validate,delete Q.validateName,K)this.logger.error("Error compiling schema, function code:",K);throw V}finally{this._compilations.delete(Q)}}Cq.compileSchema=YJ;function vv(Q,X,Y){var W;Y=(0,_1.resolveUrl)(this.opts.uriResolver,X,Y);let $=Q.refs[Y];if($)return $;let J=yv.call(this,Q,Y);if(J===void 0){let G=(W=Q.localRefs)===null||W===void 0?void 0:W[Y],{schemaId:H}=this.opts;if(G)J=new _4({schema:G,schemaId:H,root:Q,baseId:X})}if(J===void 0)return;return Q.refs[Y]=_v.call(this,J)}Cq.resolveRef=vv;function _v(Q){if((0,_1.inlineRef)(Q.schema,this.opts.inlineRefs))return Q.schema;return Q.validate?Q:YJ.call(this,Q)}function Tq(Q){for(let X of this._compilations)if(xv(X,Q))return X}Cq.getCompilingSchema=Tq;function xv(Q,X){return Q.schema===X.schema&&Q.root===X.root&&Q.baseId===X.baseId}function yv(Q,X){let Y;while(typeof(Y=this.refs[X])=="string")X=Y;return Y||this.schemas[X]||tX.call(this,Q,X)}function tX(Q,X){let Y=this.opts.uriResolver.parse(X),W=(0,_1._getFullPath)(this.opts.uriResolver,Y),$=(0,_1.getFullPath)(this.opts.uriResolver,Q.baseId,void 0);if(Object.keys(Q.schema).length>0&&W===$)return XJ.call(this,Y,Q);let J=(0,_1.normalizeId)(W),G=this.refs[J]||this.schemas[J];if(typeof G=="string"){let H=tX.call(this,Q,G);if(typeof(H===null||H===void 0?void 0:H.schema)!=="object")return;return XJ.call(this,Y,H)}if(typeof(G===null||G===void 0?void 0:G.schema)!=="object")return;if(!G.validate)YJ.call(this,G);if(J===(0,_1.normalizeId)(X)){let{schema:H}=G,{schemaId:B}=this.opts,z=H[B];if(z)$=(0,_1.resolveUrl)(this.opts.uriResolver,$,z);return new _4({schema:H,schemaId:B,root:Q,baseId:$})}return XJ.call(this,Y,G)}Cq.resolveSchema=tX;var fv=new Set(["properties","patternProperties","enum","dependencies","definitions"]);function XJ(Q,{baseId:X,schema:Y,root:W}){var $;if((($=Q.fragment)===null||$===void 0?void 0:$[0])!=="/")return;for(let H of Q.fragment.slice(1).split("/")){if(typeof Y==="boolean")return;let B=Y[(0,Iq.unescapeFragment)(H)];if(B===void 0)return;Y=B;let z=typeof Y==="object"&&Y[this.opts.schemaId];if(!fv.has(H)&&z)X=(0,_1.resolveUrl)(this.opts.uriResolver,X,z)}let J;if(typeof Y!="boolean"&&Y.$ref&&!(0,Iq.schemaHasRulesButRef)(Y,this.RULES)){let H=(0,_1.resolveUrl)(this.opts.uriResolver,X,Y.$ref);J=tX.call(this,W,H)}let{schemaId:G}=this.opts;if(J=J||new _4({schema:Y,schemaId:G,root:W,baseId:X}),J.schema!==J.root.schema)return J;return}});var vq=j((Ei,mv)=>{mv.exports={$id:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#",description:"Meta-schema for $data reference (JSON AnySchema extension proposal)",type:"object",required:["$data"],properties:{$data:{type:"string",anyOf:[{format:"relative-json-pointer"},{format:"json-pointer"}]}},additionalProperties:!1}});var yq=j((xq)=>{Object.defineProperty(xq,"__esModule",{value:!0});var _q=z$();_q.code='require("ajv/dist/runtime/uri").default';xq.default=_q});var pq=j((z6)=>{Object.defineProperty(z6,"__esModule",{value:!0});z6.CodeGen=z6.Name=z6.nil=z6.stringify=z6.str=z6._=z6.KeywordCxt=void 0;var pv=k4();Object.defineProperty(z6,"KeywordCxt",{enumerable:!0,get:function(){return pv.KeywordCxt}});var G8=n();Object.defineProperty(z6,"_",{enumerable:!0,get:function(){return G8._}});Object.defineProperty(z6,"str",{enumerable:!0,get:function(){return G8.str}});Object.defineProperty(z6,"stringify",{enumerable:!0,get:function(){return G8.stringify}});Object.defineProperty(z6,"nil",{enumerable:!0,get:function(){return G8.nil}});Object.defineProperty(z6,"Name",{enumerable:!0,get:function(){return G8.Name}});Object.defineProperty(z6,"CodeGen",{enumerable:!0,get:function(){return G8.CodeGen}});var dv=rX(),lq=v4(),iv=l$(),x4=aX(),nv=n(),y4=I4(),sX=S4(),$J=$0(),fq=vq(),ov=yq(),mq=(Q,X)=>new RegExp(Q,X);mq.code="new RegExp";var rv=["removeAdditional","useDefaults","coerceTypes"],tv=new Set(["validate","serialize","parse","wrapper","root","schema","keyword","pattern","formats","validate$data","func","obj","Error"]),av={errorDataPath:"",format:"`validateFormats: false` can be used instead.",nullable:'"nullable" keyword is supported by default.',jsonPointers:"Deprecated jsPropertySyntax can be used instead.",extendRefs:"Deprecated ignoreKeywordsWithRef can be used instead.",missingRefs:"Pass empty schema with $id that should be ignored to ajv.addSchema.",processCode:"Use option `code: {process: (code, schemaEnv: object) => string}`",sourceCode:"Use option `code: {source: true}`",strictDefaults:"It is default now, see option `strict`.",strictKeywords:"It is default now, see option `strict`.",uniqueItems:'"uniqueItems" keyword is always validated.',unknownFormats:"Disable strict mode or pass `true` to `ajv.addFormat` (or `formats` option).",cache:"Map is used as cache, schema object as key.",serialize:"Map is used as cache, schema object as key.",ajvErrors:"It is default now."},sv={ignoreKeywordsWithRef:"",jsPropertySyntax:"",unicode:'"minLength"/"maxLength" account for unicode characters by default.'},gq=200;function ev(Q){var X,Y,W,$,J,G,H,B,z,K,V,q,F,A,D,L,O,N,w,C,Z,K0,P0,g1,g6;let O1=Q.strict,h6=(X=Q.code)===null||X===void 0?void 0:X.optimize,j8=h6===!0||h6===void 0?1:h6||0,M8=(W=(Y=Q.code)===null||Y===void 0?void 0:Y.regExp)!==null&&W!==void 0?W:mq,fY=($=Q.uriResolver)!==null&&$!==void 0?$:ov.default;return{strictSchema:(G=(J=Q.strictSchema)!==null&&J!==void 0?J:O1)!==null&&G!==void 0?G:!0,strictNumbers:(B=(H=Q.strictNumbers)!==null&&H!==void 0?H:O1)!==null&&B!==void 0?B:!0,strictTypes:(K=(z=Q.strictTypes)!==null&&z!==void 0?z:O1)!==null&&K!==void 0?K:"log",strictTuples:(q=(V=Q.strictTuples)!==null&&V!==void 0?V:O1)!==null&&q!==void 0?q:"log",strictRequired:(A=(F=Q.strictRequired)!==null&&F!==void 0?F:O1)!==null&&A!==void 0?A:!1,code:Q.code?{...Q.code,optimize:j8,regExp:M8}:{optimize:j8,regExp:M8},loopRequired:(D=Q.loopRequired)!==null&&D!==void 0?D:gq,loopEnum:(L=Q.loopEnum)!==null&&L!==void 0?L:gq,meta:(O=Q.meta)!==null&&O!==void 0?O:!0,messages:(N=Q.messages)!==null&&N!==void 0?N:!0,inlineRefs:(w=Q.inlineRefs)!==null&&w!==void 0?w:!0,schemaId:(C=Q.schemaId)!==null&&C!==void 0?C:"$id",addUsedSchema:(Z=Q.addUsedSchema)!==null&&Z!==void 0?Z:!0,validateSchema:(K0=Q.validateSchema)!==null&&K0!==void 0?K0:!0,validateFormats:(P0=Q.validateFormats)!==null&&P0!==void 0?P0:!0,unicodeRegExp:(g1=Q.unicodeRegExp)!==null&&g1!==void 0?g1:!0,int32range:(g6=Q.int32range)!==null&&g6!==void 0?g6:!0,uriResolver:fY}}class eX{constructor(Q={}){this.schemas={},this.refs={},this.formats={},this._compilations=new Set,this._loading={},this._cache=new Map,Q=this.opts={...Q,...ev(Q)};let{es5:X,lines:Y}=this.opts.code;this.scope=new nv.ValueScope({scope:{},prefixes:tv,es5:X,lines:Y}),this.logger=J_(Q.logger);let W=Q.validateFormats;if(Q.validateFormats=!1,this.RULES=(0,iv.getRules)(),hq.call(this,av,Q,"NOT SUPPORTED"),hq.call(this,sv,Q,"DEPRECATED","warn"),this._metaOpts=W_.call(this),Q.formats)X_.call(this);if(this._addVocabularies(),this._addDefaultMetaSchema(),Q.keywords)Y_.call(this,Q.keywords);if(typeof Q.meta=="object")this.addMetaSchema(Q.meta);Q_.call(this),Q.validateFormats=W}_addVocabularies(){this.addKeyword("$async")}_addDefaultMetaSchema(){let{$data:Q,meta:X,schemaId:Y}=this.opts,W=fq;if(Y==="id")W={...fq},W.id=W.$id,delete W.$id;if(X&&Q)this.addMetaSchema(W,W[Y],!1)}defaultMeta(){let{meta:Q,schemaId:X}=this.opts;return this.opts.defaultMeta=typeof Q=="object"?Q[X]||Q:void 0}validate(Q,X){let Y;if(typeof Q=="string"){if(Y=this.getSchema(Q),!Y)throw Error(`no schema with key or ref "${Q}"`)}else Y=this.compile(Q);let W=Y(X);if(!("$async"in Y))this.errors=Y.errors;return W}compile(Q,X){let Y=this._addSchema(Q,X);return Y.validate||this._compileSchemaEnv(Y)}compileAsync(Q,X){if(typeof this.opts.loadSchema!="function")throw Error("options.loadSchema should be a function");let{loadSchema:Y}=this.opts;return W.call(this,Q,X);async function W(z,K){await $.call(this,z.$schema);let V=this._addSchema(z,K);return V.validate||J.call(this,V)}async function $(z){if(z&&!this.getSchema(z))await W.call(this,{$ref:z},!0)}async function J(z){try{return this._compileSchemaEnv(z)}catch(K){if(!(K instanceof lq.default))throw K;return G.call(this,K),await H.call(this,K.missingSchema),J.call(this,z)}}function G({missingSchema:z,missingRef:K}){if(this.refs[z])throw Error(`AnySchema ${z} is loaded but ${K} cannot be resolved`)}async function H(z){let K=await B.call(this,z);if(!this.refs[z])await $.call(this,K.$schema);if(!this.refs[z])this.addSchema(K,z,X)}async function B(z){let K=this._loading[z];if(K)return K;try{return await(this._loading[z]=Y(z))}finally{delete this._loading[z]}}}addSchema(Q,X,Y,W=this.opts.validateSchema){if(Array.isArray(Q)){for(let J of Q)this.addSchema(J,void 0,Y,W);return this}let $;if(typeof Q==="object"){let{schemaId:J}=this.opts;if($=Q[J],$!==void 0&&typeof $!="string")throw Error(`schema ${J} must be string`)}return X=(0,y4.normalizeId)(X||$),this._checkUnique(X),this.schemas[X]=this._addSchema(Q,Y,X,W,!0),this}addMetaSchema(Q,X,Y=this.opts.validateSchema){return this.addSchema(Q,X,!0,Y),this}validateSchema(Q,X){if(typeof Q=="boolean")return!0;let Y;if(Y=Q.$schema,Y!==void 0&&typeof Y!="string")throw Error("$schema must be a string");if(Y=Y||this.opts.defaultMeta||this.defaultMeta(),!Y)return this.logger.warn("meta-schema not available"),this.errors=null,!0;let W=this.validate(Y,Q);if(!W&&X){let $="schema is invalid: "+this.errorsText();if(this.opts.validateSchema==="log")this.logger.error($);else throw Error($)}return W}getSchema(Q){let X;while(typeof(X=uq.call(this,Q))=="string")Q=X;if(X===void 0){let{schemaId:Y}=this.opts,W=new x4.SchemaEnv({schema:{},schemaId:Y});if(X=x4.resolveSchema.call(this,W,Q),!X)return;this.refs[Q]=X}return X.validate||this._compileSchemaEnv(X)}removeSchema(Q){if(Q instanceof RegExp)return this._removeAllSchemas(this.schemas,Q),this._removeAllSchemas(this.refs,Q),this;switch(typeof Q){case"undefined":return this._removeAllSchemas(this.schemas),this._removeAllSchemas(this.refs),this._cache.clear(),this;case"string":{let X=uq.call(this,Q);if(typeof X=="object")this._cache.delete(X.schema);return delete this.schemas[Q],delete this.refs[Q],this}case"object":{let X=Q;this._cache.delete(X);let Y=Q[this.opts.schemaId];if(Y)Y=(0,y4.normalizeId)(Y),delete this.schemas[Y],delete this.refs[Y];return this}default:throw Error("ajv.removeSchema: invalid parameter")}}addVocabulary(Q){for(let X of Q)this.addKeyword(X);return this}addKeyword(Q,X){let Y;if(typeof Q=="string"){if(Y=Q,typeof X=="object")this.logger.warn("these parameters are deprecated, see docs for addKeyword"),X.keyword=Y}else if(typeof Q=="object"&&X===void 0){if(X=Q,Y=X.keyword,Array.isArray(Y)&&!Y.length)throw Error("addKeywords: keyword must be string or non-empty array")}else throw Error("invalid addKeywords parameters");if(H_.call(this,Y,X),!X)return(0,$J.eachItem)(Y,($)=>WJ.call(this,$)),this;z_.call(this,X);let W={...X,type:(0,sX.getJSONTypes)(X.type),schemaType:(0,sX.getJSONTypes)(X.schemaType)};return(0,$J.eachItem)(Y,W.type.length===0?($)=>WJ.call(this,$,W):($)=>W.type.forEach((J)=>WJ.call(this,$,W,J))),this}getKeyword(Q){let X=this.RULES.all[Q];return typeof X=="object"?X.definition:!!X}removeKeyword(Q){let{RULES:X}=this;delete X.keywords[Q],delete X.all[Q];for(let Y of X.rules){let W=Y.rules.findIndex(($)=>$.keyword===Q);if(W>=0)Y.rules.splice(W,1)}return this}addFormat(Q,X){if(typeof X=="string")X=new RegExp(X);return this.formats[Q]=X,this}errorsText(Q=this.errors,{separator:X=", ",dataVar:Y="data"}={}){if(!Q||Q.length===0)return"No errors";return Q.map((W)=>`${Y}${W.instancePath} ${W.message}`).reduce((W,$)=>W+X+$)}$dataMetaSchema(Q,X){let Y=this.RULES.all;Q=JSON.parse(JSON.stringify(Q));for(let W of X){let $=W.split("/").slice(1),J=Q;for(let G of $)J=J[G];for(let G in Y){let H=Y[G];if(typeof H!="object")continue;let{$data:B}=H.definition,z=J[G];if(B&&z)J[G]=cq(z)}}return Q}_removeAllSchemas(Q,X){for(let Y in Q){let W=Q[Y];if(!X||X.test(Y)){if(typeof W=="string")delete Q[Y];else if(W&&!W.meta)this._cache.delete(W.schema),delete Q[Y]}}}_addSchema(Q,X,Y,W=this.opts.validateSchema,$=this.opts.addUsedSchema){let J,{schemaId:G}=this.opts;if(typeof Q=="object")J=Q[G];else if(this.opts.jtd)throw Error("schema must be object");else if(typeof Q!="boolean")throw Error("schema must be object or boolean");let H=this._cache.get(Q);if(H!==void 0)return H;Y=(0,y4.normalizeId)(J||Y);let B=y4.getSchemaRefs.call(this,Q,Y);if(H=new x4.SchemaEnv({schema:Q,schemaId:G,meta:X,baseId:Y,localRefs:B}),this._cache.set(H.schema,H),$&&!Y.startsWith("#")){if(Y)this._checkUnique(Y);this.refs[Y]=H}if(W)this.validateSchema(Q,!0);return H}_checkUnique(Q){if(this.schemas[Q]||this.refs[Q])throw Error(`schema with key or id "${Q}" already exists`)}_compileSchemaEnv(Q){if(Q.meta)this._compileMetaSchema(Q);else x4.compileSchema.call(this,Q);if(!Q.validate)throw Error("ajv implementation error");return Q.validate}_compileMetaSchema(Q){let X=this.opts;this.opts=this._metaOpts;try{x4.compileSchema.call(this,Q)}finally{this.opts=X}}}eX.ValidationError=dv.default;eX.MissingRefError=lq.default;z6.default=eX;function hq(Q,X,Y,W="error"){for(let $ in Q){let J=$;if(J in X)this.logger[W](`${Y}: option ${$}. ${Q[J]}`)}}function uq(Q){return Q=(0,y4.normalizeId)(Q),this.schemas[Q]||this.refs[Q]}function Q_(){let Q=this.opts.schemas;if(!Q)return;if(Array.isArray(Q))this.addSchema(Q);else for(let X in Q)this.addSchema(Q[X],X)}function X_(){for(let Q in this.opts.formats){let X=this.opts.formats[Q];if(X)this.addFormat(Q,X)}}function Y_(Q){if(Array.isArray(Q)){this.addVocabulary(Q);return}this.logger.warn("keywords option as map is deprecated, pass array");for(let X in Q){let Y=Q[X];if(!Y.keyword)Y.keyword=X;this.addKeyword(Y)}}function W_(){let Q={...this.opts};for(let X of rv)delete Q[X];return Q}var $_={log(){},warn(){},error(){}};function J_(Q){if(Q===!1)return $_;if(Q===void 0)return console;if(Q.log&&Q.warn&&Q.error)return Q;throw Error("logger must implement log, warn and error methods")}var G_=/^[a-z_$][a-z0-9_$:-]*$/i;function H_(Q,X){let{RULES:Y}=this;if((0,$J.eachItem)(Q,(W)=>{if(Y.keywords[W])throw Error(`Keyword ${W} is already defined`);if(!G_.test(W))throw Error(`Keyword ${W} has invalid name`)}),!X)return;if(X.$data&&!(("code"in X)||("validate"in X)))throw Error('$data keyword must have "code" or "validate" function')}function WJ(Q,X,Y){var W;let $=X===null||X===void 0?void 0:X.post;if(Y&&$)throw Error('keyword with "post" flag cannot have "type"');let{RULES:J}=this,G=$?J.post:J.rules.find(({type:B})=>B===Y);if(!G)G={type:Y,rules:[]},J.rules.push(G);if(J.keywords[Q]=!0,!X)return;let H={keyword:Q,definition:{...X,type:(0,sX.getJSONTypes)(X.type),schemaType:(0,sX.getJSONTypes)(X.schemaType)}};if(X.before)B_.call(this,G,H,X.before);else G.rules.push(H);J.all[Q]=H,(W=X.implements)===null||W===void 0||W.forEach((B)=>this.addKeyword(B))}function B_(Q,X,Y){let W=Q.rules.findIndex(($)=>$.keyword===Y);if(W>=0)Q.rules.splice(W,0,X);else Q.rules.push(X),this.logger.warn(`rule ${Y} is not defined`)}function z_(Q){let{metaSchema:X}=Q;if(X===void 0)return;if(Q.$data&&this.opts.$data)X=cq(X);Q.validateSchema=this.compile(X,!0)}var K_={$ref:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#"};function cq(Q){return{anyOf:[Q,K_]}}});var iq=j((dq)=>{Object.defineProperty(dq,"__esModule",{value:!0});var A_={keyword:"id",code(){throw Error('NOT SUPPORTED: keyword "id", use "$id" for schema ID')}};dq.default=A_});var sq=j((tq)=>{Object.defineProperty(tq,"__esModule",{value:!0});tq.callRef=tq.getValidate=void 0;var D_=v4(),nq=D1(),G1=n(),H8=H6(),oq=aX(),QY=$0(),L_={keyword:"$ref",schemaType:"string",code(Q){let{gen:X,schema:Y,it:W}=Q,{baseId:$,schemaEnv:J,validateName:G,opts:H,self:B}=W,{root:z}=J;if((Y==="#"||Y==="#/")&&$===z.baseId)return V();let K=oq.resolveRef.call(B,z,$,Y);if(K===void 0)throw new D_.default(W.opts.uriResolver,$,Y);if(K instanceof oq.SchemaEnv)return q(K);return F(K);function V(){if(J===z)return XY(Q,G,J,J.$async);let A=X.scopeValue("root",{ref:z});return XY(Q,G1._`${A}.validate`,z,z.$async)}function q(A){let D=rq(Q,A);XY(Q,D,A,A.$async)}function F(A){let D=X.scopeValue("schema",H.code.source===!0?{ref:A,code:(0,G1.stringify)(A)}:{ref:A}),L=X.name("valid"),O=Q.subschema({schema:A,dataTypes:[],schemaPath:G1.nil,topSchemaRef:D,errSchemaPath:Y},L);Q.mergeEvaluated(O),Q.ok(L)}}};function rq(Q,X){let{gen:Y}=Q;return X.validate?Y.scopeValue("validate",{ref:X.validate}):G1._`${Y.scopeValue("wrapper",{ref:X})}.validate`}tq.getValidate=rq;function XY(Q,X,Y,W){let{gen:$,it:J}=Q,{allErrors:G,schemaEnv:H,opts:B}=J,z=B.passContext?H8.default.this:G1.nil;if(W)K();else V();function K(){if(!H.$async)throw Error("async schema referenced by sync schema");let A=$.let("valid");$.try(()=>{if($.code(G1._`await ${(0,nq.callValidateCode)(Q,X,z)}`),F(X),!G)$.assign(A,!0)},(D)=>{if($.if(G1._`!(${D} instanceof ${J.ValidationError})`,()=>$.throw(D)),q(D),!G)$.assign(A,!1)}),Q.ok(A)}function V(){Q.result((0,nq.callValidateCode)(Q,X,z),()=>F(X),()=>q(X))}function q(A){let D=G1._`${A}.errors`;$.assign(H8.default.vErrors,G1._`${H8.default.vErrors} === null ? ${D} : ${H8.default.vErrors}.concat(${D})`),$.assign(H8.default.errors,G1._`${H8.default.vErrors}.length`)}function F(A){var D;if(!J.opts.unevaluated)return;let L=(D=Y===null||Y===void 0?void 0:Y.validate)===null||D===void 0?void 0:D.evaluated;if(J.props!==!0)if(L&&!L.dynamicProps){if(L.props!==void 0)J.props=QY.mergeEvaluated.props($,L.props,J.props)}else{let O=$.var("props",G1._`${A}.evaluated.props`);J.props=QY.mergeEvaluated.props($,O,J.props,G1.Name)}if(J.items!==!0)if(L&&!L.dynamicItems){if(L.items!==void 0)J.items=QY.mergeEvaluated.items($,L.items,J.items)}else{let O=$.var("items",G1._`${A}.evaluated.items`);J.items=QY.mergeEvaluated.items($,O,J.items,G1.Name)}}}tq.callRef=XY;tq.default=L_});var QD=j((eq)=>{Object.defineProperty(eq,"__esModule",{value:!0});var j_=iq(),M_=sq(),N_=["$schema","$id","$defs","$vocabulary",{keyword:"$comment"},"definitions",j_.default,M_.default];eq.default=N_});var YD=j((XD)=>{Object.defineProperty(XD,"__esModule",{value:!0});var YY=n(),v6=YY.operators,WY={maximum:{okStr:"<=",ok:v6.LTE,fail:v6.GT},minimum:{okStr:">=",ok:v6.GTE,fail:v6.LT},exclusiveMaximum:{okStr:"<",ok:v6.LT,fail:v6.GTE},exclusiveMinimum:{okStr:">",ok:v6.GT,fail:v6.LTE}},b_={message:({keyword:Q,schemaCode:X})=>YY.str`must be ${WY[Q].okStr} ${X}`,params:({keyword:Q,schemaCode:X})=>YY._`{comparison: ${WY[Q].okStr}, limit: ${X}}`},P_={keyword:Object.keys(WY),type:"number",schemaType:"number",$data:!0,error:b_,code(Q){let{keyword:X,data:Y,schemaCode:W}=Q;Q.fail$data(YY._`${Y} ${WY[X].fail} ${W} || isNaN(${Y})`)}};XD.default=P_});var $D=j((WD)=>{Object.defineProperty(WD,"__esModule",{value:!0});var f4=n(),R_={message:({schemaCode:Q})=>f4.str`must be multiple of ${Q}`,params:({schemaCode:Q})=>f4._`{multipleOf: ${Q}}`},E_={keyword:"multipleOf",type:"number",schemaType:"number",$data:!0,error:R_,code(Q){let{gen:X,data:Y,schemaCode:W,it:$}=Q,J=$.opts.multipleOfPrecision,G=X.let("res"),H=J?f4._`Math.abs(Math.round(${G}) - ${G}) > 1e-${J}`:f4._`${G} !== parseInt(${G})`;Q.fail$data(f4._`(${W} === 0 || (${G} = ${Y}/${W}, ${H}))`)}};WD.default=E_});var HD=j((GD)=>{Object.defineProperty(GD,"__esModule",{value:!0});function JD(Q){let X=Q.length,Y=0,W=0,$;while(W<X)if(Y++,$=Q.charCodeAt(W++),$>=55296&&$<=56319&&W<X){if($=Q.charCodeAt(W),($&64512)===56320)W++}return Y}GD.default=JD;JD.code='require("ajv/dist/runtime/ucs2length").default'});var zD=j((BD)=>{Object.defineProperty(BD,"__esModule",{value:!0});var A9=n(),T_=$0(),C_=HD(),k_={message({keyword:Q,schemaCode:X}){let Y=Q==="maxLength"?"more":"fewer";return A9.str`must NOT have ${Y} than ${X} characters`},params:({schemaCode:Q})=>A9._`{limit: ${Q}}`},v_={keyword:["maxLength","minLength"],type:"string",schemaType:"number",$data:!0,error:k_,code(Q){let{keyword:X,data:Y,schemaCode:W,it:$}=Q,J=X==="maxLength"?A9.operators.GT:A9.operators.LT,G=$.opts.unicode===!1?A9._`${Y}.length`:A9._`${(0,T_.useFunc)(Q.gen,C_.default)}(${Y})`;Q.fail$data(A9._`${G} ${J} ${W}`)}};BD.default=v_});var VD=j((KD)=>{Object.defineProperty(KD,"__esModule",{value:!0});var x_=D1(),$Y=n(),y_={message:({schemaCode:Q})=>$Y.str`must match pattern "${Q}"`,params:({schemaCode:Q})=>$Y._`{pattern: ${Q}}`},f_={keyword:"pattern",type:"string",schemaType:"string",$data:!0,error:y_,code(Q){let{data:X,$data:Y,schema:W,schemaCode:$,it:J}=Q,G=J.opts.unicodeRegExp?"u":"",H=Y?$Y._`(new RegExp(${$}, ${G}))`:(0,x_.usePattern)(Q,W);Q.fail$data($Y._`!${H}.test(${X})`)}};KD.default=f_});var AD=j((FD)=>{Object.defineProperty(FD,"__esModule",{value:!0});var g4=n(),h_={message({keyword:Q,schemaCode:X}){let Y=Q==="maxProperties"?"more":"fewer";return g4.str`must NOT have ${Y} than ${X} properties`},params:({schemaCode:Q})=>g4._`{limit: ${Q}}`},u_={keyword:["maxProperties","minProperties"],type:"object",schemaType:"number",$data:!0,error:h_,code(Q){let{keyword:X,data:Y,schemaCode:W}=Q,$=X==="maxProperties"?g4.operators.GT:g4.operators.LT;Q.fail$data(g4._`Object.keys(${Y}).length ${$} ${W}`)}};FD.default=u_});var DD=j((qD)=>{Object.defineProperty(qD,"__esModule",{value:!0});var h4=D1(),u4=n(),m_=$0(),c_={message:({params:{missingProperty:Q}})=>u4.str`must have required property '${Q}'`,params:({params:{missingProperty:Q}})=>u4._`{missingProperty: ${Q}}`},p_={keyword:"required",type:"object",schemaType:"array",$data:!0,error:c_,code(Q){let{gen:X,schema:Y,schemaCode:W,data:$,$data:J,it:G}=Q,{opts:H}=G;if(!J&&Y.length===0)return;let B=Y.length>=H.loopRequired;if(G.allErrors)z();else K();if(H.strictRequired){let F=Q.parentSchema.properties,{definedProperties:A}=Q.it;for(let D of Y)if((F===null||F===void 0?void 0:F[D])===void 0&&!A.has(D)){let L=G.schemaEnv.baseId+G.errSchemaPath,O=`required property "${D}" is not defined at "${L}" (strictRequired)`;(0,m_.checkStrictMode)(G,O,G.opts.strictRequired)}}function z(){if(B||J)Q.block$data(u4.nil,V);else for(let F of Y)(0,h4.checkReportMissingProp)(Q,F)}function K(){let F=X.let("missing");if(B||J){let A=X.let("valid",!0);Q.block$data(A,()=>q(F,A)),Q.ok(A)}else X.if((0,h4.checkMissingProp)(Q,Y,F)),(0,h4.reportMissingProp)(Q,F),X.else()}function V(){X.forOf("prop",W,(F)=>{Q.setParams({missingProperty:F}),X.if((0,h4.noPropertyInData)(X,$,F,H.ownProperties),()=>Q.error())})}function q(F,A){Q.setParams({missingProperty:F}),X.forOf(F,W,()=>{X.assign(A,(0,h4.propertyInData)(X,$,F,H.ownProperties)),X.if((0,u4.not)(A),()=>{Q.error(),X.break()})},u4.nil)}}};qD.default=p_});var OD=j((LD)=>{Object.defineProperty(LD,"__esModule",{value:!0});var l4=n(),i_={message({keyword:Q,schemaCode:X}){let Y=Q==="maxItems"?"more":"fewer";return l4.str`must NOT have ${Y} than ${X} items`},params:({schemaCode:Q})=>l4._`{limit: ${Q}}`},n_={keyword:["maxItems","minItems"],type:"array",schemaType:"number",$data:!0,error:i_,code(Q){let{keyword:X,data:Y,schemaCode:W}=Q,$=X==="maxItems"?l4.operators.GT:l4.operators.LT;Q.fail$data(l4._`${Y}.length ${$} ${W}`)}};LD.default=n_});var JY=j((jD)=>{Object.defineProperty(jD,"__esModule",{value:!0});var UD=G4();UD.code='require("ajv/dist/runtime/equal").default';jD.default=UD});var ND=j((MD)=>{Object.defineProperty(MD,"__esModule",{value:!0});var JJ=S4(),f0=n(),t_=$0(),a_=JY(),s_={message:({params:{i:Q,j:X}})=>f0.str`must NOT have duplicate items (items ## ${X} and ${Q} are identical)`,params:({params:{i:Q,j:X}})=>f0._`{i: ${Q}, j: ${X}}`},e_={keyword:"uniqueItems",type:"array",schemaType:"boolean",$data:!0,error:s_,code(Q){let{gen:X,data:Y,$data:W,schema:$,parentSchema:J,schemaCode:G,it:H}=Q;if(!W&&!$)return;let B=X.let("valid"),z=J.items?(0,JJ.getSchemaTypes)(J.items):[];Q.block$data(B,K,f0._`${G} === false`),Q.ok(B);function K(){let A=X.let("i",f0._`${Y}.length`),D=X.let("j");Q.setParams({i:A,j:D}),X.assign(B,!0),X.if(f0._`${A} > 1`,()=>(V()?q:F)(A,D))}function V(){return z.length>0&&!z.some((A)=>A==="object"||A==="array")}function q(A,D){let L=X.name("item"),O=(0,JJ.checkDataTypes)(z,L,H.opts.strictNumbers,JJ.DataType.Wrong),N=X.const("indices",f0._`{}`);X.for(f0._`;${A}--;`,()=>{if(X.let(L,f0._`${Y}[${A}]`),X.if(O,f0._`continue`),z.length>1)X.if(f0._`typeof ${L} == "string"`,f0._`${L} += "_"`);X.if(f0._`typeof ${N}[${L}] == "number"`,()=>{X.assign(D,f0._`${N}[${L}]`),Q.error(),X.assign(B,!1).break()}).code(f0._`${N}[${L}] = ${A}`)})}function F(A,D){let L=(0,t_.useFunc)(X,a_.default),O=X.name("outer");X.label(O).for(f0._`;${A}--;`,()=>X.for(f0._`${D} = ${A}; ${D}--;`,()=>X.if(f0._`${L}(${Y}[${A}], ${Y}[${D}])`,()=>{Q.error(),X.assign(B,!1).break(O)})))}}};MD.default=e_});var bD=j((wD)=>{Object.defineProperty(wD,"__esModule",{value:!0});var GJ=n(),Xx=$0(),Yx=JY(),Wx={message:"must be equal to constant",params:({schemaCode:Q})=>GJ._`{allowedValue: ${Q}}`},$x={keyword:"const",$data:!0,error:Wx,code(Q){let{gen:X,data:Y,$data:W,schemaCode:$,schema:J}=Q;if(W||J&&typeof J=="object")Q.fail$data(GJ._`!${(0,Xx.useFunc)(X,Yx.default)}(${Y}, ${$})`);else Q.fail(GJ._`${J} !== ${Y}`)}};wD.default=$x});var ZD=j((PD)=>{Object.defineProperty(PD,"__esModule",{value:!0});var m4=n(),Gx=$0(),Hx=JY(),Bx={message:"must be equal to one of the allowed values",params:({schemaCode:Q})=>m4._`{allowedValues: ${Q}}`},zx={keyword:"enum",schemaType:"array",$data:!0,error:Bx,code(Q){let{gen:X,data:Y,$data:W,schema:$,schemaCode:J,it:G}=Q;if(!W&&$.length===0)throw Error("enum must have non-empty array");let H=$.length>=G.opts.loopEnum,B,z=()=>B!==null&&B!==void 0?B:B=(0,Gx.useFunc)(X,Hx.default),K;if(H||W)K=X.let("valid"),Q.block$data(K,V);else{if(!Array.isArray($))throw Error("ajv implementation error");let F=X.const("vSchema",J);K=(0,m4.or)(...$.map((A,D)=>q(F,D)))}Q.pass(K);function V(){X.assign(K,!1),X.forOf("v",J,(F)=>X.if(m4._`${z()}(${Y}, ${F})`,()=>X.assign(K,!0).break()))}function q(F,A){let D=$[A];return typeof D==="object"&&D!==null?m4._`${z()}(${Y}, ${F}[${A}])`:m4._`${Y} === ${D}`}}};PD.default=zx});var ED=j((RD)=>{Object.defineProperty(RD,"__esModule",{value:!0});var Vx=YD(),Fx=$D(),Ax=zD(),qx=VD(),Dx=AD(),Lx=DD(),Ox=OD(),Ux=ND(),jx=bD(),Mx=ZD(),Nx=[Vx.default,Fx.default,Ax.default,qx.default,Dx.default,Lx.default,Ox.default,Ux.default,{keyword:"type",schemaType:["string","array"]},{keyword:"nullable",schemaType:"boolean"},jx.default,Mx.default];RD.default=Nx});var BJ=j((ID)=>{Object.defineProperty(ID,"__esModule",{value:!0});ID.validateAdditionalItems=void 0;var q9=n(),HJ=$0(),bx={message:({params:{len:Q}})=>q9.str`must NOT have more than ${Q} items`,params:({params:{len:Q}})=>q9._`{limit: ${Q}}`},Px={keyword:"additionalItems",type:"array",schemaType:["boolean","object"],before:"uniqueItems",error:bx,code(Q){let{parentSchema:X,it:Y}=Q,{items:W}=X;if(!Array.isArray(W)){(0,HJ.checkStrictMode)(Y,'"additionalItems" is ignored when "items" is not an array of schemas');return}SD(Q,W)}};function SD(Q,X){let{gen:Y,schema:W,data:$,keyword:J,it:G}=Q;G.items=!0;let H=Y.const("len",q9._`${$}.length`);if(W===!1)Q.setParams({len:X.length}),Q.pass(q9._`${H} <= ${X.length}`);else if(typeof W=="object"&&!(0,HJ.alwaysValidSchema)(G,W)){let z=Y.var("valid",q9._`${H} <= ${X.length}`);Y.if((0,q9.not)(z),()=>B(z)),Q.ok(z)}function B(z){Y.forRange("i",X.length,H,(K)=>{if(Q.subschema({keyword:J,dataProp:K,dataPropType:HJ.Type.Num},z),!G.allErrors)Y.if((0,q9.not)(z),()=>Y.break())})}}ID.validateAdditionalItems=SD;ID.default=Px});var zJ=j((vD)=>{Object.defineProperty(vD,"__esModule",{value:!0});vD.validateTuple=void 0;var CD=n(),GY=$0(),Rx=D1(),Ex={keyword:"items",type:"array",schemaType:["object","array","boolean"],before:"uniqueItems",code(Q){let{schema:X,it:Y}=Q;if(Array.isArray(X))return kD(Q,"additionalItems",X);if(Y.items=!0,(0,GY.alwaysValidSchema)(Y,X))return;Q.ok((0,Rx.validateArray)(Q))}};function kD(Q,X,Y=Q.schema){let{gen:W,parentSchema:$,data:J,keyword:G,it:H}=Q;if(K($),H.opts.unevaluated&&Y.length&&H.items!==!0)H.items=GY.mergeEvaluated.items(W,Y.length,H.items);let B=W.name("valid"),z=W.const("len",CD._`${J}.length`);Y.forEach((V,q)=>{if((0,GY.alwaysValidSchema)(H,V))return;W.if(CD._`${z} > ${q}`,()=>Q.subschema({keyword:G,schemaProp:q,dataProp:q},B)),Q.ok(B)});function K(V){let{opts:q,errSchemaPath:F}=H,A=Y.length,D=A===V.minItems&&(A===V.maxItems||V[X]===!1);if(q.strictTuples&&!D){let L=`"${G}" is ${A}-tuple, but minItems or maxItems/${X} are not specified or different at path "${F}"`;(0,GY.checkStrictMode)(H,L,q.strictTuples)}}}vD.validateTuple=kD;vD.default=Ex});var yD=j((xD)=>{Object.defineProperty(xD,"__esModule",{value:!0});var Ix=zJ(),Tx={keyword:"prefixItems",type:"array",schemaType:["array"],before:"uniqueItems",code:(Q)=>(0,Ix.validateTuple)(Q,"items")};xD.default=Tx});var hD=j((gD)=>{Object.defineProperty(gD,"__esModule",{value:!0});var fD=n(),kx=$0(),vx=D1(),_x=BJ(),xx={message:({params:{len:Q}})=>fD.str`must NOT have more than ${Q} items`,params:({params:{len:Q}})=>fD._`{limit: ${Q}}`},yx={keyword:"items",type:"array",schemaType:["object","boolean"],before:"uniqueItems",error:xx,code(Q){let{schema:X,parentSchema:Y,it:W}=Q,{prefixItems:$}=Y;if(W.items=!0,(0,kx.alwaysValidSchema)(W,X))return;if($)(0,_x.validateAdditionalItems)(Q,$);else Q.ok((0,vx.validateArray)(Q))}};gD.default=yx});var lD=j((uD)=>{Object.defineProperty(uD,"__esModule",{value:!0});var L1=n(),HY=$0(),gx={message:({params:{min:Q,max:X}})=>X===void 0?L1.str`must contain at least ${Q} valid item(s)`:L1.str`must contain at least ${Q} and no more than ${X} valid item(s)`,params:({params:{min:Q,max:X}})=>X===void 0?L1._`{minContains: ${Q}}`:L1._`{minContains: ${Q}, maxContains: ${X}}`},hx={keyword:"contains",type:"array",schemaType:["object","boolean"],before:"uniqueItems",trackErrors:!0,error:gx,code(Q){let{gen:X,schema:Y,parentSchema:W,data:$,it:J}=Q,G,H,{minContains:B,maxContains:z}=W;if(J.opts.next)G=B===void 0?1:B,H=z;else G=1;let K=X.const("len",L1._`${$}.length`);if(Q.setParams({min:G,max:H}),H===void 0&&G===0){(0,HY.checkStrictMode)(J,'"minContains" == 0 without "maxContains": "contains" keyword ignored');return}if(H!==void 0&&G>H){(0,HY.checkStrictMode)(J,'"minContains" > "maxContains" is always invalid'),Q.fail();return}if((0,HY.alwaysValidSchema)(J,Y)){let D=L1._`${K} >= ${G}`;if(H!==void 0)D=L1._`${D} && ${K} <= ${H}`;Q.pass(D);return}J.items=!0;let V=X.name("valid");if(H===void 0&&G===1)F(V,()=>X.if(V,()=>X.break()));else if(G===0){if(X.let(V,!0),H!==void 0)X.if(L1._`${$}.length > 0`,q)}else X.let(V,!1),q();Q.result(V,()=>Q.reset());function q(){let D=X.name("_valid"),L=X.let("count",0);F(D,()=>X.if(D,()=>A(L)))}function F(D,L){X.forRange("i",0,K,(O)=>{Q.subschema({keyword:"contains",dataProp:O,dataPropType:HY.Type.Num,compositeRule:!0},D),L()})}function A(D){if(X.code(L1._`${D}++`),H===void 0)X.if(L1._`${D} >= ${G}`,()=>X.assign(V,!0).break());else if(X.if(L1._`${D} > ${H}`,()=>X.assign(V,!1).break()),G===1)X.assign(V,!0);else X.if(L1._`${D} >= ${G}`,()=>X.assign(V,!0))}}};uD.default=hx});var nD=j((pD)=>{Object.defineProperty(pD,"__esModule",{value:!0});pD.validateSchemaDeps=pD.validatePropertyDeps=pD.error=void 0;var KJ=n(),lx=$0(),c4=D1();pD.error={message:({params:{property:Q,depsCount:X,deps:Y}})=>{let W=X===1?"property":"properties";return KJ.str`must have ${W} ${Y} when property ${Q} is present`},params:({params:{property:Q,depsCount:X,deps:Y,missingProperty:W}})=>KJ._`{property: ${Q},
13
+ || ${G} === "boolean" || ${$} === null`).assign(H,i._`[${$}]`)}}}function Dk({gen:Q,parentData:Y,parentDataProperty:X},W){Q.if(i._`${Y} !== undefined`,()=>Q.assign(i._`${Y}[${X}]`,W))}function a$(Q,Y,X,W=G8.Correct){let $=W===G8.Correct?i.operators.EQ:i.operators.NEQ,J;switch(Q){case"null":return i._`${Y} ${$} null`;case"array":J=i._`Array.isArray(${Y})`;break;case"object":J=i._`${Y} && typeof ${Y} == "object" && !Array.isArray(${Y})`;break;case"integer":J=G(i._`!(${Y} % 1) && !isNaN(${Y})`);break;case"number":J=G();break;default:return i._`typeof ${Y} ${$} ${Q}`}return W===G8.Correct?J:(0,i.not)(J);function G(H=i.nil){return(0,i.and)(i._`typeof ${Y} == "number"`,H,X?i._`isFinite(${Y})`:i.nil)}}aA.checkDataType=a$;function s$(Q,Y,X,W){if(Q.length===1)return a$(Q[0],Y,X,W);let $,J=(0,oA.toHash)(Q);if(J.array&&J.object){let G=i._`typeof ${Y} != "object"`;$=J.null?G:i._`!${Y} || ${G}`,delete J.null,delete J.array,delete J.object}else $=i.nil;if(J.number)delete J.integer;for(let G in J)$=(0,i.and)($,a$(G,Y,X,W));return $}aA.checkDataTypes=s$;var Ok={message:({schema:Q})=>`must be ${Q}`,params:({schema:Q,schemaValue:Y})=>typeof Q=="string"?i._`{type: ${Q}}`:i._`{type: ${Y}}`};function e$(Q){let Y=Lk(Q);(0,Kk.reportError)(Y,Ok)}aA.reportTypeError=e$;function Lk(Q){let{gen:Y,data:X,schema:W}=Q,$=(0,oA.schemaRefOrVal)(Q,W,"type");return{gen:Y,keyword:"type",data:X,schema:W.type,schemaCode:$,schemaValue:$,parentSchema:W,params:{},it:Q}}});var Xq=j((Qq)=>{Object.defineProperty(Qq,"__esModule",{value:!0});Qq.assignDefaults=void 0;var H8=n(),Pk=$0();function Zk(Q,Y){let{properties:X,items:W}=Q.schema;if(Y==="object"&&X)for(let $ in X)eA(Q,$,X[$].default);else if(Y==="array"&&Array.isArray(W))W.forEach(($,J)=>eA(Q,J,$.default))}Qq.assignDefaults=Zk;function eA(Q,Y,X){let{gen:W,compositeRule:$,data:J,opts:G}=Q;if(X===void 0)return;let H=H8._`${J}${(0,H8.getProperty)(Y)}`;if($){(0,Pk.checkStrictMode)(Q,`default is ignored for: ${H}`);return}let B=H8._`${H} === undefined`;if(G.useDefaults==="empty")B=H8._`${B} || ${H} === null || ${H} === ""`;W.if(B,H8._`${H} = ${(0,H8.stringify)(X)}`)}});var D1=j((Jq)=>{Object.defineProperty(Jq,"__esModule",{value:!0});Jq.validateUnion=Jq.validateArray=Jq.usePattern=Jq.callValidateCode=Jq.schemaProperties=Jq.allSchemaProperties=Jq.noPropertyInData=Jq.propertyInData=Jq.isOwnProperty=Jq.hasPropFunc=Jq.reportMissingProp=Jq.checkMissingProp=Jq.checkReportMissingProp=void 0;var L0=n(),QJ=$0(),k6=H6(),Rk=$0();function Ek(Q,Y){let{gen:X,data:W,it:$}=Q;X.if(XJ(X,W,Y,$.opts.ownProperties),()=>{Q.setParams({missingProperty:L0._`${Y}`},!0),Q.error()})}Jq.checkReportMissingProp=Ek;function Ik({gen:Q,data:Y,it:{opts:X}},W,$){return(0,L0.or)(...W.map((J)=>(0,L0.and)(XJ(Q,Y,J,X.ownProperties),L0._`${$} = ${J}`)))}Jq.checkMissingProp=Ik;function Sk(Q,Y){Q.setParams({missingProperty:Y},!0),Q.error()}Jq.reportMissingProp=Sk;function Wq(Q){return Q.scopeValue("func",{ref:Object.prototype.hasOwnProperty,code:L0._`Object.prototype.hasOwnProperty`})}Jq.hasPropFunc=Wq;function YJ(Q,Y,X){return L0._`${Wq(Q)}.call(${Y}, ${X})`}Jq.isOwnProperty=YJ;function Tk(Q,Y,X,W){let $=L0._`${Y}${(0,L0.getProperty)(X)} !== undefined`;return W?L0._`${$} && ${YJ(Q,Y,X)}`:$}Jq.propertyInData=Tk;function XJ(Q,Y,X,W){let $=L0._`${Y}${(0,L0.getProperty)(X)} === undefined`;return W?(0,L0.or)($,(0,L0.not)(YJ(Q,Y,X))):$}Jq.noPropertyInData=XJ;function $q(Q){return Q?Object.keys(Q).filter((Y)=>Y!=="__proto__"):[]}Jq.allSchemaProperties=$q;function Ck(Q,Y){return $q(Y).filter((X)=>!(0,QJ.alwaysValidSchema)(Q,Y[X]))}Jq.schemaProperties=Ck;function kk({schemaCode:Q,data:Y,it:{gen:X,topSchemaRef:W,schemaPath:$,errorPath:J},it:G},H,B,z){let K=z?L0._`${Q}, ${Y}, ${W}${$}`:Y,V=[[k6.default.instancePath,(0,L0.strConcat)(k6.default.instancePath,J)],[k6.default.parentData,G.parentData],[k6.default.parentDataProperty,G.parentDataProperty],[k6.default.rootData,k6.default.rootData]];if(G.opts.dynamicRef)V.push([k6.default.dynamicAnchors,k6.default.dynamicAnchors]);let q=L0._`${K}, ${X.object(...V)}`;return B!==L0.nil?L0._`${H}.call(${B}, ${q})`:L0._`${H}(${q})`}Jq.callValidateCode=kk;var _k=L0._`new RegExp`;function vk({gen:Q,it:{opts:Y}},X){let W=Y.unicodeRegExp?"u":"",{regExp:$}=Y.code,J=$(X,W);return Q.scopeValue("pattern",{key:J.toString(),ref:J,code:L0._`${$.code==="new RegExp"?_k:(0,Rk.useFunc)(Q,$)}(${X}, ${W})`})}Jq.usePattern=vk;function xk(Q){let{gen:Y,data:X,keyword:W,it:$}=Q,J=Y.name("valid");if($.allErrors){let H=Y.let("valid",!0);return G(()=>Y.assign(H,!1)),H}return Y.var(J,!0),G(()=>Y.break()),J;function G(H){let B=Y.const("len",L0._`${X}.length`);Y.forRange("i",0,B,(z)=>{Q.subschema({keyword:W,dataProp:z,dataPropType:QJ.Type.Num},J),Y.if((0,L0.not)(J),H)})}}Jq.validateArray=xk;function yk(Q){let{gen:Y,schema:X,keyword:W,it:$}=Q;if(!Array.isArray(X))throw Error("ajv implementation error");if(X.some((B)=>(0,QJ.alwaysValidSchema)($,B))&&!$.opts.unevaluated)return;let G=Y.let("valid",!1),H=Y.name("_valid");Y.block(()=>X.forEach((B,z)=>{let K=Q.subschema({keyword:W,schemaProp:z,compositeRule:!0},H);if(Y.assign(G,L0._`${G} || ${H}`),!Q.mergeValidEvaluated(K,H))Y.if((0,L0.not)(G))})),Q.result(G,()=>Q.reset(),()=>Q.error(!0))}Jq.validateUnion=yk});var Vq=j((zq)=>{Object.defineProperty(zq,"__esModule",{value:!0});zq.validateKeywordUsage=zq.validSchemaType=zq.funcKeywordCode=zq.macroKeywordCode=void 0;var o0=n(),q9=H6(),rk=D1(),tk=C4();function ak(Q,Y){let{gen:X,keyword:W,schema:$,parentSchema:J,it:G}=Q,H=Y.macro.call(G.self,$,J,G),B=Bq(X,W,H);if(G.opts.validateSchema!==!1)G.self.validateSchema(H,!0);let z=X.name("valid");Q.subschema({schema:H,schemaPath:o0.nil,errSchemaPath:`${G.errSchemaPath}/${W}`,topSchemaRef:B,compositeRule:!0},z),Q.pass(z,()=>Q.error(!0))}zq.macroKeywordCode=ak;function sk(Q,Y){var X;let{gen:W,keyword:$,schema:J,parentSchema:G,$data:H,it:B}=Q;Q_(B,Y);let z=!H&&Y.compile?Y.compile.call(B.self,J,G,B):Y.validate,K=Bq(W,$,z),V=W.let("valid");Q.block$data(V,q),Q.ok((X=Y.valid)!==null&&X!==void 0?X:V);function q(){if(Y.errors===!1){if(D(),Y.modifying)Hq(Q);O(()=>Q.error())}else{let L=Y.async?F():A();if(Y.modifying)Hq(Q);O(()=>ek(Q,L))}}function F(){let L=W.let("ruleErrs",null);return W.try(()=>D(o0._`await `),(N)=>W.assign(V,!1).if(o0._`${N} instanceof ${B.ValidationError}`,()=>W.assign(L,o0._`${N}.errors`),()=>W.throw(N))),L}function A(){let L=o0._`${K}.errors`;return W.assign(L,null),D(o0.nil),L}function D(L=Y.async?o0._`await `:o0.nil){let N=B.opts.passContext?q9.default.this:q9.default.self,M=!(("compile"in Y)&&!H||Y.schema===!1);W.assign(V,o0._`${L}${(0,rk.callValidateCode)(Q,K,N,M)}`,Y.modifying)}function O(L){var N;W.if((0,o0.not)((N=Y.valid)!==null&&N!==void 0?N:V),L)}}zq.funcKeywordCode=sk;function Hq(Q){let{gen:Y,data:X,it:W}=Q;Y.if(W.parentData,()=>Y.assign(X,o0._`${W.parentData}[${W.parentDataProperty}]`))}function ek(Q,Y){let{gen:X}=Q;X.if(o0._`Array.isArray(${Y})`,()=>{X.assign(q9.default.vErrors,o0._`${q9.default.vErrors} === null ? ${Y} : ${q9.default.vErrors}.concat(${Y})`).assign(q9.default.errors,o0._`${q9.default.vErrors}.length`),(0,tk.extendErrors)(Q)},()=>Q.error())}function Q_({schemaEnv:Q},Y){if(Y.async&&!Q.$async)throw Error("async keyword in sync schema")}function Bq(Q,Y,X){if(X===void 0)throw Error(`keyword "${Y}" failed to compile`);return Q.scopeValue("keyword",typeof X=="function"?{ref:X}:{ref:X,code:(0,o0.stringify)(X)})}function Y_(Q,Y,X=!1){return!Y.length||Y.some((W)=>W==="array"?Array.isArray(Q):W==="object"?Q&&typeof Q=="object"&&!Array.isArray(Q):typeof Q==W||X&&typeof Q>"u")}zq.validSchemaType=Y_;function X_({schema:Q,opts:Y,self:X,errSchemaPath:W},$,J){if(Array.isArray($.keyword)?!$.keyword.includes(J):$.keyword!==J)throw Error("ajv implementation error");let G=$.dependencies;if(G===null||G===void 0?void 0:G.some((H)=>!Object.prototype.hasOwnProperty.call(Q,H)))throw Error(`parent schema must have dependencies of ${J}: ${G.join(",")}`);if($.validateSchema){if(!$.validateSchema(Q[J])){let B=`keyword "${J}" value is invalid at path "${W}": `+X.errorsText($.validateSchema.errors);if(Y.validateSchema==="log")X.logger.error(B);else throw Error(B)}}}zq.validateKeywordUsage=X_});var Dq=j((Aq)=>{Object.defineProperty(Aq,"__esModule",{value:!0});Aq.extendSubschemaMode=Aq.extendSubschemaData=Aq.getSubschema=void 0;var n1=n(),Fq=$0();function G_(Q,{keyword:Y,schemaProp:X,schema:W,schemaPath:$,errSchemaPath:J,topSchemaRef:G}){if(Y!==void 0&&W!==void 0)throw Error('both "keyword" and "schema" passed, only one allowed');if(Y!==void 0){let H=Q.schema[Y];return X===void 0?{schema:H,schemaPath:n1._`${Q.schemaPath}${(0,n1.getProperty)(Y)}`,errSchemaPath:`${Q.errSchemaPath}/${Y}`}:{schema:H[X],schemaPath:n1._`${Q.schemaPath}${(0,n1.getProperty)(Y)}${(0,n1.getProperty)(X)}`,errSchemaPath:`${Q.errSchemaPath}/${Y}/${(0,Fq.escapeFragment)(X)}`}}if(W!==void 0){if($===void 0||J===void 0||G===void 0)throw Error('"schemaPath", "errSchemaPath" and "topSchemaRef" are required with "schema"');return{schema:W,schemaPath:$,topSchemaRef:G,errSchemaPath:J}}throw Error('either "keyword" or "schema" must be passed')}Aq.getSubschema=G_;function H_(Q,Y,{dataProp:X,dataPropType:W,data:$,dataTypes:J,propertyName:G}){if($!==void 0&&X!==void 0)throw Error('both "data" and "dataProp" passed, only one allowed');let{gen:H}=Y;if(X!==void 0){let{errorPath:z,dataPathArr:K,opts:V}=Y,q=H.let("data",n1._`${Y.data}${(0,n1.getProperty)(X)}`,!0);B(q),Q.errorPath=n1.str`${z}${(0,Fq.getErrorPath)(X,W,V.jsPropertySyntax)}`,Q.parentDataProperty=n1._`${X}`,Q.dataPathArr=[...K,Q.parentDataProperty]}if($!==void 0){let z=$ instanceof n1.Name?$:H.let("data",$,!0);if(B(z),G!==void 0)Q.propertyName=G}if(J)Q.dataTypes=J;function B(z){Q.data=z,Q.dataLevel=Y.dataLevel+1,Q.dataTypes=[],Y.definedProperties=new Set,Q.parentData=Y.data,Q.dataNames=[...Y.dataNames,z]}}Aq.extendSubschemaData=H_;function B_(Q,{jtdDiscriminator:Y,jtdMetadata:X,compositeRule:W,createErrors:$,allErrors:J}){if(W!==void 0)Q.compositeRule=W;if($!==void 0)Q.createErrors=$;if(J!==void 0)Q.allErrors=J;Q.jtdDiscriminator=Y,Q.jtdMetadata=X}Aq.extendSubschemaMode=B_});var Lq=j((Vn,Oq)=>{var _6=Oq.exports=function(Q,Y,X){if(typeof Y=="function")X=Y,Y={};X=Y.cb||X;var W=typeof X=="function"?X:X.pre||function(){},$=X.post||function(){};aY(Y,W,$,Q,"",Q)};_6.keywords={additionalItems:!0,items:!0,contains:!0,additionalProperties:!0,propertyNames:!0,not:!0,if:!0,then:!0,else:!0};_6.arrayKeywords={items:!0,allOf:!0,anyOf:!0,oneOf:!0};_6.propsKeywords={$defs:!0,definitions:!0,properties:!0,patternProperties:!0,dependencies:!0};_6.skipKeywords={default:!0,enum:!0,const:!0,required:!0,maximum:!0,minimum:!0,exclusiveMaximum:!0,exclusiveMinimum:!0,multipleOf:!0,maxLength:!0,minLength:!0,pattern:!0,format:!0,maxItems:!0,minItems:!0,uniqueItems:!0,maxProperties:!0,minProperties:!0};function aY(Q,Y,X,W,$,J,G,H,B,z){if(W&&typeof W=="object"&&!Array.isArray(W)){Y(W,$,J,G,H,B,z);for(var K in W){var V=W[K];if(Array.isArray(V)){if(K in _6.arrayKeywords)for(var q=0;q<V.length;q++)aY(Q,Y,X,V[q],$+"/"+K+"/"+q,J,$,K,W,q)}else if(K in _6.propsKeywords){if(V&&typeof V=="object")for(var F in V)aY(Q,Y,X,V[F],$+"/"+K+"/"+V_(F),J,$,K,W,F)}else if(K in _6.keywords||Q.allKeys&&!(K in _6.skipKeywords))aY(Q,Y,X,V,$+"/"+K,J,$,K,W)}X(W,$,J,G,H,B,z)}}function V_(Q){return Q.replace(/~/g,"~0").replace(/\//g,"~1")}});var _4=j((Nq)=>{Object.defineProperty(Nq,"__esModule",{value:!0});Nq.getSchemaRefs=Nq.resolveUrl=Nq.normalizeId=Nq._getFullPath=Nq.getFullPath=Nq.inlineRef=void 0;var F_=$0(),A_=K4(),q_=Lq(),D_=new Set(["type","format","pattern","maxLength","minLength","maxProperties","minProperties","maxItems","minItems","maximum","minimum","uniqueItems","multipleOf","required","enum","const"]);function O_(Q,Y=!0){if(typeof Q=="boolean")return!0;if(Y===!0)return!WJ(Q);if(!Y)return!1;return Uq(Q)<=Y}Nq.inlineRef=O_;var L_=new Set(["$ref","$recursiveRef","$recursiveAnchor","$dynamicRef","$dynamicAnchor"]);function WJ(Q){for(let Y in Q){if(L_.has(Y))return!0;let X=Q[Y];if(Array.isArray(X)&&X.some(WJ))return!0;if(typeof X=="object"&&WJ(X))return!0}return!1}function Uq(Q){let Y=0;for(let X in Q){if(X==="$ref")return 1/0;if(Y++,D_.has(X))continue;if(typeof Q[X]=="object")(0,F_.eachItem)(Q[X],(W)=>Y+=Uq(W));if(Y===1/0)return 1/0}return Y}function jq(Q,Y="",X){if(X!==!1)Y=B8(Y);let W=Q.parse(Y);return wq(Q,W)}Nq.getFullPath=jq;function wq(Q,Y){return Q.serialize(Y).split("#")[0]+"#"}Nq._getFullPath=wq;var U_=/#\/?$/;function B8(Q){return Q?Q.replace(U_,""):""}Nq.normalizeId=B8;function j_(Q,Y,X){return X=B8(X),Q.resolve(Y,X)}Nq.resolveUrl=j_;var w_=/^[a-z_][-a-z0-9._]*$/i;function N_(Q,Y){if(typeof Q=="boolean")return{};let{schemaId:X,uriResolver:W}=this.opts,$=B8(Q[X]||Y),J={"":$},G=jq(W,$,!1),H={},B=new Set;return q_(Q,{allKeys:!0},(V,q,F,A)=>{if(A===void 0)return;let D=G+q,O=J[A];if(typeof V[X]=="string")O=L.call(this,V[X]);N.call(this,V.$anchor),N.call(this,V.$dynamicAnchor),J[q]=O;function L(M){let C=this.opts.uriResolver.resolve;if(M=B8(O?C(O,M):M),B.has(M))throw K(M);B.add(M);let Z=this.refs[M];if(typeof Z=="string")Z=this.refs[Z];if(typeof Z=="object")z(V,Z.schema,M);else if(M!==B8(D))if(M[0]==="#")z(V,H[M],M),H[M]=V;else this.refs[M]=D;return M}function N(M){if(typeof M=="string"){if(!w_.test(M))throw Error(`invalid anchor "${M}"`);L.call(this,`#${M}`)}}}),H;function z(V,q,F){if(q!==void 0&&!A_(V,q))throw K(F)}function K(V){return Error(`reference "${V}" resolves to more than one schema`)}}Nq.getSchemaRefs=N_});var y4=j((fq)=>{Object.defineProperty(fq,"__esModule",{value:!0});fq.getData=fq.KeywordCxt=fq.validateFunctionCode=void 0;var Eq=lA(),bq=k4(),JJ=t$(),sY=k4(),E_=Xq(),x4=Vq(),$J=Dq(),f=n(),c=H6(),I_=_4(),B6=$0(),v4=C4();function S_(Q){if(Tq(Q)){if(Cq(Q),Sq(Q)){k_(Q);return}}Iq(Q,()=>(0,Eq.topBoolOrEmptySchema)(Q))}fq.validateFunctionCode=S_;function Iq({gen:Q,validateName:Y,schema:X,schemaEnv:W,opts:$},J){if($.code.es5)Q.func(Y,f._`${c.default.data}, ${c.default.valCxt}`,W.$async,()=>{Q.code(f._`"use strict"; ${Pq(X,$)}`),C_(Q,$),Q.code(J)});else Q.func(Y,f._`${c.default.data}, ${T_($)}`,W.$async,()=>Q.code(Pq(X,$)).code(J))}function T_(Q){return f._`{${c.default.instancePath}="", ${c.default.parentData}, ${c.default.parentDataProperty}, ${c.default.rootData}=${c.default.data}${Q.dynamicRef?f._`, ${c.default.dynamicAnchors}={}`:f.nil}}={}`}function C_(Q,Y){Q.if(c.default.valCxt,()=>{if(Q.var(c.default.instancePath,f._`${c.default.valCxt}.${c.default.instancePath}`),Q.var(c.default.parentData,f._`${c.default.valCxt}.${c.default.parentData}`),Q.var(c.default.parentDataProperty,f._`${c.default.valCxt}.${c.default.parentDataProperty}`),Q.var(c.default.rootData,f._`${c.default.valCxt}.${c.default.rootData}`),Y.dynamicRef)Q.var(c.default.dynamicAnchors,f._`${c.default.valCxt}.${c.default.dynamicAnchors}`)},()=>{if(Q.var(c.default.instancePath,f._`""`),Q.var(c.default.parentData,f._`undefined`),Q.var(c.default.parentDataProperty,f._`undefined`),Q.var(c.default.rootData,c.default.data),Y.dynamicRef)Q.var(c.default.dynamicAnchors,f._`{}`)})}function k_(Q){let{schema:Y,opts:X,gen:W}=Q;Iq(Q,()=>{if(X.$comment&&Y.$comment)_q(Q);if(f_(Q),W.let(c.default.vErrors,null),W.let(c.default.errors,0),X.unevaluated)__(Q);kq(Q),u_(Q)});return}function __(Q){let{gen:Y,validateName:X}=Q;Q.evaluated=Y.const("evaluated",f._`${X}.evaluated`),Y.if(f._`${Q.evaluated}.dynamicProps`,()=>Y.assign(f._`${Q.evaluated}.props`,f._`undefined`)),Y.if(f._`${Q.evaluated}.dynamicItems`,()=>Y.assign(f._`${Q.evaluated}.items`,f._`undefined`))}function Pq(Q,Y){let X=typeof Q=="object"&&Q[Y.schemaId];return X&&(Y.code.source||Y.code.process)?f._`/*# sourceURL=${X} */`:f.nil}function v_(Q,Y){if(Tq(Q)){if(Cq(Q),Sq(Q)){x_(Q,Y);return}}(0,Eq.boolOrEmptySchema)(Q,Y)}function Sq({schema:Q,self:Y}){if(typeof Q=="boolean")return!Q;for(let X in Q)if(Y.RULES.all[X])return!0;return!1}function Tq(Q){return typeof Q.schema!="boolean"}function x_(Q,Y){let{schema:X,gen:W,opts:$}=Q;if($.$comment&&X.$comment)_q(Q);g_(Q),h_(Q);let J=W.const("_errs",c.default.errors);kq(Q,J),W.var(Y,f._`${J} === ${c.default.errors}`)}function Cq(Q){(0,B6.checkUnknownRules)(Q),y_(Q)}function kq(Q,Y){if(Q.opts.jtd)return Zq(Q,[],!1,Y);let X=(0,bq.getSchemaTypes)(Q.schema),W=(0,bq.coerceAndCheckDataType)(Q,X);Zq(Q,X,!W,Y)}function y_(Q){let{schema:Y,errSchemaPath:X,opts:W,self:$}=Q;if(Y.$ref&&W.ignoreKeywordsWithRef&&(0,B6.schemaHasRulesButRef)(Y,$.RULES))$.logger.warn(`$ref: keywords ignored in schema at path "${X}"`)}function f_(Q){let{schema:Y,opts:X}=Q;if(Y.default!==void 0&&X.useDefaults&&X.strictSchema)(0,B6.checkStrictMode)(Q,"default is ignored in the schema root")}function g_(Q){let Y=Q.schema[Q.opts.schemaId];if(Y)Q.baseId=(0,I_.resolveUrl)(Q.opts.uriResolver,Q.baseId,Y)}function h_(Q){if(Q.schema.$async&&!Q.schemaEnv.$async)throw Error("async schema in sync schema")}function _q({gen:Q,schemaEnv:Y,schema:X,errSchemaPath:W,opts:$}){let J=X.$comment;if($.$comment===!0)Q.code(f._`${c.default.self}.logger.log(${J})`);else if(typeof $.$comment=="function"){let G=f.str`${W}/$comment`,H=Q.scopeValue("root",{ref:Y.root});Q.code(f._`${c.default.self}.opts.$comment(${J}, ${G}, ${H}.schema)`)}}function u_(Q){let{gen:Y,schemaEnv:X,validateName:W,ValidationError:$,opts:J}=Q;if(X.$async)Y.if(f._`${c.default.errors} === 0`,()=>Y.return(c.default.data),()=>Y.throw(f._`new ${$}(${c.default.vErrors})`));else{if(Y.assign(f._`${W}.errors`,c.default.vErrors),J.unevaluated)l_(Q);Y.return(f._`${c.default.errors} === 0`)}}function l_({gen:Q,evaluated:Y,props:X,items:W}){if(X instanceof f.Name)Q.assign(f._`${Y}.props`,X);if(W instanceof f.Name)Q.assign(f._`${Y}.items`,W)}function Zq(Q,Y,X,W){let{gen:$,schema:J,data:G,allErrors:H,opts:B,self:z}=Q,{RULES:K}=z;if(J.$ref&&(B.ignoreKeywordsWithRef||!(0,B6.schemaHasRulesButRef)(J,K))){$.block(()=>xq(Q,"$ref",K.all.$ref.definition));return}if(!B.jtd)m_(Q,Y);$.block(()=>{for(let q of K.rules)V(q);V(K.post)});function V(q){if(!(0,JJ.shouldUseGroup)(J,q))return;if(q.type){if($.if((0,sY.checkDataType)(q.type,G,B.strictNumbers)),Rq(Q,q),Y.length===1&&Y[0]===q.type&&X)$.else(),(0,sY.reportTypeError)(Q);$.endIf()}else Rq(Q,q);if(!H)$.if(f._`${c.default.errors} === ${W||0}`)}}function Rq(Q,Y){let{gen:X,schema:W,opts:{useDefaults:$}}=Q;if($)(0,E_.assignDefaults)(Q,Y.type);X.block(()=>{for(let J of Y.rules)if((0,JJ.shouldUseRule)(W,J))xq(Q,J.keyword,J.definition,Y.type)})}function m_(Q,Y){if(Q.schemaEnv.meta||!Q.opts.strictTypes)return;if(c_(Q,Y),!Q.opts.allowUnionTypes)p_(Q,Y);d_(Q,Q.dataTypes)}function c_(Q,Y){if(!Y.length)return;if(!Q.dataTypes.length){Q.dataTypes=Y;return}Y.forEach((X)=>{if(!vq(Q.dataTypes,X))GJ(Q,`type "${X}" not allowed by context "${Q.dataTypes.join(",")}"`)}),n_(Q,Y)}function p_(Q,Y){if(Y.length>1&&!(Y.length===2&&Y.includes("null")))GJ(Q,"use allowUnionTypes to allow union type keyword")}function d_(Q,Y){let X=Q.self.RULES.all;for(let W in X){let $=X[W];if(typeof $=="object"&&(0,JJ.shouldUseRule)(Q.schema,$)){let{type:J}=$.definition;if(J.length&&!J.some((G)=>i_(Y,G)))GJ(Q,`missing type "${J.join(",")}" for keyword "${W}"`)}}}function i_(Q,Y){return Q.includes(Y)||Y==="number"&&Q.includes("integer")}function vq(Q,Y){return Q.includes(Y)||Y==="integer"&&Q.includes("number")}function n_(Q,Y){let X=[];for(let W of Q.dataTypes)if(vq(Y,W))X.push(W);else if(Y.includes("integer")&&W==="number")X.push("integer");Q.dataTypes=X}function GJ(Q,Y){let X=Q.schemaEnv.baseId+Q.errSchemaPath;Y+=` at "${X}" (strictTypes)`,(0,B6.checkStrictMode)(Q,Y,Q.opts.strictTypes)}class HJ{constructor(Q,Y,X){if((0,x4.validateKeywordUsage)(Q,Y,X),this.gen=Q.gen,this.allErrors=Q.allErrors,this.keyword=X,this.data=Q.data,this.schema=Q.schema[X],this.$data=Y.$data&&Q.opts.$data&&this.schema&&this.schema.$data,this.schemaValue=(0,B6.schemaRefOrVal)(Q,this.schema,X,this.$data),this.schemaType=Y.schemaType,this.parentSchema=Q.schema,this.params={},this.it=Q,this.def=Y,this.$data)this.schemaCode=Q.gen.const("vSchema",yq(this.$data,Q));else if(this.schemaCode=this.schemaValue,!(0,x4.validSchemaType)(this.schema,Y.schemaType,Y.allowUndefined))throw Error(`${X} value must be ${JSON.stringify(Y.schemaType)}`);if("code"in Y?Y.trackErrors:Y.errors!==!1)this.errsCount=Q.gen.const("_errs",c.default.errors)}result(Q,Y,X){this.failResult((0,f.not)(Q),Y,X)}failResult(Q,Y,X){if(this.gen.if(Q),X)X();else this.error();if(Y){if(this.gen.else(),Y(),this.allErrors)this.gen.endIf()}else if(this.allErrors)this.gen.endIf();else this.gen.else()}pass(Q,Y){this.failResult((0,f.not)(Q),void 0,Y)}fail(Q){if(Q===void 0){if(this.error(),!this.allErrors)this.gen.if(!1);return}if(this.gen.if(Q),this.error(),this.allErrors)this.gen.endIf();else this.gen.else()}fail$data(Q){if(!this.$data)return this.fail(Q);let{schemaCode:Y}=this;this.fail(f._`${Y} !== undefined && (${(0,f.or)(this.invalid$data(),Q)})`)}error(Q,Y,X){if(Y){this.setParams(Y),this._error(Q,X),this.setParams({});return}this._error(Q,X)}_error(Q,Y){(Q?v4.reportExtraError:v4.reportError)(this,this.def.error,Y)}$dataError(){(0,v4.reportError)(this,this.def.$dataError||v4.keyword$DataError)}reset(){if(this.errsCount===void 0)throw Error('add "trackErrors" to keyword definition');(0,v4.resetErrorsCount)(this.gen,this.errsCount)}ok(Q){if(!this.allErrors)this.gen.if(Q)}setParams(Q,Y){if(Y)Object.assign(this.params,Q);else this.params=Q}block$data(Q,Y,X=f.nil){this.gen.block(()=>{this.check$data(Q,X),Y()})}check$data(Q=f.nil,Y=f.nil){if(!this.$data)return;let{gen:X,schemaCode:W,schemaType:$,def:J}=this;if(X.if((0,f.or)(f._`${W} === undefined`,Y)),Q!==f.nil)X.assign(Q,!0);if($.length||J.validateSchema){if(X.elseIf(this.invalid$data()),this.$dataError(),Q!==f.nil)X.assign(Q,!1)}X.else()}invalid$data(){let{gen:Q,schemaCode:Y,schemaType:X,def:W,it:$}=this;return(0,f.or)(J(),G());function J(){if(X.length){if(!(Y instanceof f.Name))throw Error("ajv implementation error");let H=Array.isArray(X)?X:[X];return f._`${(0,sY.checkDataTypes)(H,Y,$.opts.strictNumbers,sY.DataType.Wrong)}`}return f.nil}function G(){if(W.validateSchema){let H=Q.scopeValue("validate$data",{ref:W.validateSchema});return f._`!${H}(${Y})`}return f.nil}}subschema(Q,Y){let X=(0,$J.getSubschema)(this.it,Q);(0,$J.extendSubschemaData)(X,this.it,Q),(0,$J.extendSubschemaMode)(X,Q);let W={...this.it,...X,items:void 0,props:void 0};return v_(W,Y),W}mergeEvaluated(Q,Y){let{it:X,gen:W}=this;if(!X.opts.unevaluated)return;if(X.props!==!0&&Q.props!==void 0)X.props=B6.mergeEvaluated.props(W,Q.props,X.props,Y);if(X.items!==!0&&Q.items!==void 0)X.items=B6.mergeEvaluated.items(W,Q.items,X.items,Y)}mergeValidEvaluated(Q,Y){let{it:X,gen:W}=this;if(X.opts.unevaluated&&(X.props!==!0||X.items!==!0))return W.if(Y,()=>this.mergeEvaluated(Q,f.Name)),!0}}fq.KeywordCxt=HJ;function xq(Q,Y,X,W){let $=new HJ(Q,X,Y);if("code"in X)X.code($,W);else if($.$data&&X.validate)(0,x4.funcKeywordCode)($,X);else if("macro"in X)(0,x4.macroKeywordCode)($,X);else if(X.compile||X.validate)(0,x4.funcKeywordCode)($,X)}var o_=/^\/(?:[^~]|~0|~1)*$/,r_=/^([0-9]+)(#|\/(?:[^~]|~0|~1)*)?$/;function yq(Q,{dataLevel:Y,dataNames:X,dataPathArr:W}){let $,J;if(Q==="")return c.default.rootData;if(Q[0]==="/"){if(!o_.test(Q))throw Error(`Invalid JSON-pointer: ${Q}`);$=Q,J=c.default.rootData}else{let z=r_.exec(Q);if(!z)throw Error(`Invalid JSON-pointer: ${Q}`);let K=+z[1];if($=z[2],$==="#"){if(K>=Y)throw Error(B("property/index",K));return W[Y-K]}if(K>Y)throw Error(B("data",K));if(J=X[Y-K],!$)return J}let G=J,H=$.split("/");for(let z of H)if(z)J=f._`${J}${(0,f.getProperty)((0,B6.unescapeJsonPointer)(z))}`,G=f._`${G} && ${J}`;return G;function B(z,K){return`Cannot access ${z} ${K} levels up, current level is ${Y}`}}fq.getData=yq});var eY=j((uq)=>{Object.defineProperty(uq,"__esModule",{value:!0});class hq extends Error{constructor(Q){super("validation failed");this.errors=Q,this.ajv=this.validation=!0}}uq.default=hq});var f4=j((mq)=>{Object.defineProperty(mq,"__esModule",{value:!0});var BJ=_4();class lq extends Error{constructor(Q,Y,X,W){super(W||`can't resolve reference ${X} from id ${Y}`);this.missingRef=(0,BJ.resolveUrl)(Q,Y,X),this.missingSchema=(0,BJ.normalizeId)((0,BJ.getFullPath)(Q,this.missingRef))}}mq.default=lq});var YX=j((dq)=>{Object.defineProperty(dq,"__esModule",{value:!0});dq.resolveSchema=dq.getCompilingSchema=dq.resolveRef=dq.compileSchema=dq.SchemaEnv=void 0;var _1=n(),Qv=eY(),D9=H6(),v1=_4(),cq=$0(),Yv=y4();class g4{constructor(Q){var Y;this.refs={},this.dynamicAnchors={};let X;if(typeof Q.schema=="object")X=Q.schema;this.schema=Q.schema,this.schemaId=Q.schemaId,this.root=Q.root||this,this.baseId=(Y=Q.baseId)!==null&&Y!==void 0?Y:(0,v1.normalizeId)(X===null||X===void 0?void 0:X[Q.schemaId||"$id"]),this.schemaPath=Q.schemaPath,this.localRefs=Q.localRefs,this.meta=Q.meta,this.$async=X===null||X===void 0?void 0:X.$async,this.refs={}}}dq.SchemaEnv=g4;function KJ(Q){let Y=pq.call(this,Q);if(Y)return Y;let X=(0,v1.getFullPath)(this.opts.uriResolver,Q.root.baseId),{es5:W,lines:$}=this.opts.code,{ownProperties:J}=this.opts,G=new _1.CodeGen(this.scope,{es5:W,lines:$,ownProperties:J}),H;if(Q.$async)H=G.scopeValue("Error",{ref:Qv.default,code:_1._`require("ajv/dist/runtime/validation_error").default`});let B=G.scopeName("validate");Q.validateName=B;let z={gen:G,allErrors:this.opts.allErrors,data:D9.default.data,parentData:D9.default.parentData,parentDataProperty:D9.default.parentDataProperty,dataNames:[D9.default.data],dataPathArr:[_1.nil],dataLevel:0,dataTypes:[],definedProperties:new Set,topSchemaRef:G.scopeValue("schema",this.opts.code.source===!0?{ref:Q.schema,code:(0,_1.stringify)(Q.schema)}:{ref:Q.schema}),validateName:B,ValidationError:H,schema:Q.schema,schemaEnv:Q,rootId:X,baseId:Q.baseId||X,schemaPath:_1.nil,errSchemaPath:Q.schemaPath||(this.opts.jtd?"":"#"),errorPath:_1._`""`,opts:this.opts,self:this},K;try{this._compilations.add(Q),(0,Yv.validateFunctionCode)(z),G.optimize(this.opts.code.optimize);let V=G.toString();if(K=`${G.scopeRefs(D9.default.scope)}return ${V}`,this.opts.code.process)K=this.opts.code.process(K,Q);let F=Function(`${D9.default.self}`,`${D9.default.scope}`,K)(this,this.scope.get());if(this.scope.value(B,{ref:F}),F.errors=null,F.schema=Q.schema,F.schemaEnv=Q,Q.$async)F.$async=!0;if(this.opts.code.source===!0)F.source={validateName:B,validateCode:V,scopeValues:G._values};if(this.opts.unevaluated){let{props:A,items:D}=z;if(F.evaluated={props:A instanceof _1.Name?void 0:A,items:D instanceof _1.Name?void 0:D,dynamicProps:A instanceof _1.Name,dynamicItems:D instanceof _1.Name},F.source)F.source.evaluated=(0,_1.stringify)(F.evaluated)}return Q.validate=F,Q}catch(V){if(delete Q.validate,delete Q.validateName,K)this.logger.error("Error compiling schema, function code:",K);throw V}finally{this._compilations.delete(Q)}}dq.compileSchema=KJ;function Xv(Q,Y,X){var W;X=(0,v1.resolveUrl)(this.opts.uriResolver,Y,X);let $=Q.refs[X];if($)return $;let J=Jv.call(this,Q,X);if(J===void 0){let G=(W=Q.localRefs)===null||W===void 0?void 0:W[X],{schemaId:H}=this.opts;if(G)J=new g4({schema:G,schemaId:H,root:Q,baseId:Y})}if(J===void 0)return;return Q.refs[X]=Wv.call(this,J)}dq.resolveRef=Xv;function Wv(Q){if((0,v1.inlineRef)(Q.schema,this.opts.inlineRefs))return Q.schema;return Q.validate?Q:KJ.call(this,Q)}function pq(Q){for(let Y of this._compilations)if($v(Y,Q))return Y}dq.getCompilingSchema=pq;function $v(Q,Y){return Q.schema===Y.schema&&Q.root===Y.root&&Q.baseId===Y.baseId}function Jv(Q,Y){let X;while(typeof(X=this.refs[Y])=="string")Y=X;return X||this.schemas[Y]||QX.call(this,Q,Y)}function QX(Q,Y){let X=this.opts.uriResolver.parse(Y),W=(0,v1._getFullPath)(this.opts.uriResolver,X),$=(0,v1.getFullPath)(this.opts.uriResolver,Q.baseId,void 0);if(Object.keys(Q.schema).length>0&&W===$)return zJ.call(this,X,Q);let J=(0,v1.normalizeId)(W),G=this.refs[J]||this.schemas[J];if(typeof G=="string"){let H=QX.call(this,Q,G);if(typeof(H===null||H===void 0?void 0:H.schema)!=="object")return;return zJ.call(this,X,H)}if(typeof(G===null||G===void 0?void 0:G.schema)!=="object")return;if(!G.validate)KJ.call(this,G);if(J===(0,v1.normalizeId)(Y)){let{schema:H}=G,{schemaId:B}=this.opts,z=H[B];if(z)$=(0,v1.resolveUrl)(this.opts.uriResolver,$,z);return new g4({schema:H,schemaId:B,root:Q,baseId:$})}return zJ.call(this,X,G)}dq.resolveSchema=QX;var Gv=new Set(["properties","patternProperties","enum","dependencies","definitions"]);function zJ(Q,{baseId:Y,schema:X,root:W}){var $;if((($=Q.fragment)===null||$===void 0?void 0:$[0])!=="/")return;for(let H of Q.fragment.slice(1).split("/")){if(typeof X==="boolean")return;let B=X[(0,cq.unescapeFragment)(H)];if(B===void 0)return;X=B;let z=typeof X==="object"&&X[this.opts.schemaId];if(!Gv.has(H)&&z)Y=(0,v1.resolveUrl)(this.opts.uriResolver,Y,z)}let J;if(typeof X!="boolean"&&X.$ref&&!(0,cq.schemaHasRulesButRef)(X,this.RULES)){let H=(0,v1.resolveUrl)(this.opts.uriResolver,Y,X.$ref);J=QX.call(this,W,H)}let{schemaId:G}=this.opts;if(J=J||new g4({schema:X,schemaId:G,root:W,baseId:Y}),J.schema!==J.root.schema)return J;return}});var nq=j((Ln,Vv)=>{Vv.exports={$id:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#",description:"Meta-schema for $data reference (JSON AnySchema extension proposal)",type:"object",required:["$data"],properties:{$data:{type:"string",anyOf:[{format:"relative-json-pointer"},{format:"json-pointer"}]}},additionalProperties:!1}});var tq=j((rq)=>{Object.defineProperty(rq,"__esModule",{value:!0});var oq=L$();oq.code='require("ajv/dist/runtime/uri").default';rq.default=oq});var $D=j((z6)=>{Object.defineProperty(z6,"__esModule",{value:!0});z6.CodeGen=z6.Name=z6.nil=z6.stringify=z6.str=z6._=z6.KeywordCxt=void 0;var Av=y4();Object.defineProperty(z6,"KeywordCxt",{enumerable:!0,get:function(){return Av.KeywordCxt}});var z8=n();Object.defineProperty(z6,"_",{enumerable:!0,get:function(){return z8._}});Object.defineProperty(z6,"str",{enumerable:!0,get:function(){return z8.str}});Object.defineProperty(z6,"stringify",{enumerable:!0,get:function(){return z8.stringify}});Object.defineProperty(z6,"nil",{enumerable:!0,get:function(){return z8.nil}});Object.defineProperty(z6,"Name",{enumerable:!0,get:function(){return z8.Name}});Object.defineProperty(z6,"CodeGen",{enumerable:!0,get:function(){return z8.CodeGen}});var qv=eY(),YD=f4(),Dv=r$(),h4=YX(),Ov=n(),u4=_4(),XX=k4(),FJ=$0(),aq=nq(),Lv=tq(),XD=(Q,Y)=>new RegExp(Q,Y);XD.code="new RegExp";var Uv=["removeAdditional","useDefaults","coerceTypes"],jv=new Set(["validate","serialize","parse","wrapper","root","schema","keyword","pattern","formats","validate$data","func","obj","Error"]),wv={errorDataPath:"",format:"`validateFormats: false` can be used instead.",nullable:'"nullable" keyword is supported by default.',jsonPointers:"Deprecated jsPropertySyntax can be used instead.",extendRefs:"Deprecated ignoreKeywordsWithRef can be used instead.",missingRefs:"Pass empty schema with $id that should be ignored to ajv.addSchema.",processCode:"Use option `code: {process: (code, schemaEnv: object) => string}`",sourceCode:"Use option `code: {source: true}`",strictDefaults:"It is default now, see option `strict`.",strictKeywords:"It is default now, see option `strict`.",uniqueItems:'"uniqueItems" keyword is always validated.',unknownFormats:"Disable strict mode or pass `true` to `ajv.addFormat` (or `formats` option).",cache:"Map is used as cache, schema object as key.",serialize:"Map is used as cache, schema object as key.",ajvErrors:"It is default now."},Nv={ignoreKeywordsWithRef:"",jsPropertySyntax:"",unicode:'"minLength"/"maxLength" account for unicode characters by default.'},sq=200;function Mv(Q){var Y,X,W,$,J,G,H,B,z,K,V,q,F,A,D,O,L,N,M,C,Z,K0,P0,g1,l6;let L1=Q.strict,m6=(Y=Q.code)===null||Y===void 0?void 0:Y.optimize,b8=m6===!0||m6===void 0?1:m6||0,P8=(W=(X=Q.code)===null||X===void 0?void 0:X.regExp)!==null&&W!==void 0?W:XD,dX=($=Q.uriResolver)!==null&&$!==void 0?$:Lv.default;return{strictSchema:(G=(J=Q.strictSchema)!==null&&J!==void 0?J:L1)!==null&&G!==void 0?G:!0,strictNumbers:(B=(H=Q.strictNumbers)!==null&&H!==void 0?H:L1)!==null&&B!==void 0?B:!0,strictTypes:(K=(z=Q.strictTypes)!==null&&z!==void 0?z:L1)!==null&&K!==void 0?K:"log",strictTuples:(q=(V=Q.strictTuples)!==null&&V!==void 0?V:L1)!==null&&q!==void 0?q:"log",strictRequired:(A=(F=Q.strictRequired)!==null&&F!==void 0?F:L1)!==null&&A!==void 0?A:!1,code:Q.code?{...Q.code,optimize:b8,regExp:P8}:{optimize:b8,regExp:P8},loopRequired:(D=Q.loopRequired)!==null&&D!==void 0?D:sq,loopEnum:(O=Q.loopEnum)!==null&&O!==void 0?O:sq,meta:(L=Q.meta)!==null&&L!==void 0?L:!0,messages:(N=Q.messages)!==null&&N!==void 0?N:!0,inlineRefs:(M=Q.inlineRefs)!==null&&M!==void 0?M:!0,schemaId:(C=Q.schemaId)!==null&&C!==void 0?C:"$id",addUsedSchema:(Z=Q.addUsedSchema)!==null&&Z!==void 0?Z:!0,validateSchema:(K0=Q.validateSchema)!==null&&K0!==void 0?K0:!0,validateFormats:(P0=Q.validateFormats)!==null&&P0!==void 0?P0:!0,unicodeRegExp:(g1=Q.unicodeRegExp)!==null&&g1!==void 0?g1:!0,int32range:(l6=Q.int32range)!==null&&l6!==void 0?l6:!0,uriResolver:dX}}class WX{constructor(Q={}){this.schemas={},this.refs={},this.formats={},this._compilations=new Set,this._loading={},this._cache=new Map,Q=this.opts={...Q,...Mv(Q)};let{es5:Y,lines:X}=this.opts.code;this.scope=new Ov.ValueScope({scope:{},prefixes:jv,es5:Y,lines:X}),this.logger=Iv(Q.logger);let W=Q.validateFormats;if(Q.validateFormats=!1,this.RULES=(0,Dv.getRules)(),eq.call(this,wv,Q,"NOT SUPPORTED"),eq.call(this,Nv,Q,"DEPRECATED","warn"),this._metaOpts=Rv.call(this),Q.formats)Pv.call(this);if(this._addVocabularies(),this._addDefaultMetaSchema(),Q.keywords)Zv.call(this,Q.keywords);if(typeof Q.meta=="object")this.addMetaSchema(Q.meta);bv.call(this),Q.validateFormats=W}_addVocabularies(){this.addKeyword("$async")}_addDefaultMetaSchema(){let{$data:Q,meta:Y,schemaId:X}=this.opts,W=aq;if(X==="id")W={...aq},W.id=W.$id,delete W.$id;if(Y&&Q)this.addMetaSchema(W,W[X],!1)}defaultMeta(){let{meta:Q,schemaId:Y}=this.opts;return this.opts.defaultMeta=typeof Q=="object"?Q[Y]||Q:void 0}validate(Q,Y){let X;if(typeof Q=="string"){if(X=this.getSchema(Q),!X)throw Error(`no schema with key or ref "${Q}"`)}else X=this.compile(Q);let W=X(Y);if(!("$async"in X))this.errors=X.errors;return W}compile(Q,Y){let X=this._addSchema(Q,Y);return X.validate||this._compileSchemaEnv(X)}compileAsync(Q,Y){if(typeof this.opts.loadSchema!="function")throw Error("options.loadSchema should be a function");let{loadSchema:X}=this.opts;return W.call(this,Q,Y);async function W(z,K){await $.call(this,z.$schema);let V=this._addSchema(z,K);return V.validate||J.call(this,V)}async function $(z){if(z&&!this.getSchema(z))await W.call(this,{$ref:z},!0)}async function J(z){try{return this._compileSchemaEnv(z)}catch(K){if(!(K instanceof YD.default))throw K;return G.call(this,K),await H.call(this,K.missingSchema),J.call(this,z)}}function G({missingSchema:z,missingRef:K}){if(this.refs[z])throw Error(`AnySchema ${z} is loaded but ${K} cannot be resolved`)}async function H(z){let K=await B.call(this,z);if(!this.refs[z])await $.call(this,K.$schema);if(!this.refs[z])this.addSchema(K,z,Y)}async function B(z){let K=this._loading[z];if(K)return K;try{return await(this._loading[z]=X(z))}finally{delete this._loading[z]}}}addSchema(Q,Y,X,W=this.opts.validateSchema){if(Array.isArray(Q)){for(let J of Q)this.addSchema(J,void 0,X,W);return this}let $;if(typeof Q==="object"){let{schemaId:J}=this.opts;if($=Q[J],$!==void 0&&typeof $!="string")throw Error(`schema ${J} must be string`)}return Y=(0,u4.normalizeId)(Y||$),this._checkUnique(Y),this.schemas[Y]=this._addSchema(Q,X,Y,W,!0),this}addMetaSchema(Q,Y,X=this.opts.validateSchema){return this.addSchema(Q,Y,!0,X),this}validateSchema(Q,Y){if(typeof Q=="boolean")return!0;let X;if(X=Q.$schema,X!==void 0&&typeof X!="string")throw Error("$schema must be a string");if(X=X||this.opts.defaultMeta||this.defaultMeta(),!X)return this.logger.warn("meta-schema not available"),this.errors=null,!0;let W=this.validate(X,Q);if(!W&&Y){let $="schema is invalid: "+this.errorsText();if(this.opts.validateSchema==="log")this.logger.error($);else throw Error($)}return W}getSchema(Q){let Y;while(typeof(Y=QD.call(this,Q))=="string")Q=Y;if(Y===void 0){let{schemaId:X}=this.opts,W=new h4.SchemaEnv({schema:{},schemaId:X});if(Y=h4.resolveSchema.call(this,W,Q),!Y)return;this.refs[Q]=Y}return Y.validate||this._compileSchemaEnv(Y)}removeSchema(Q){if(Q instanceof RegExp)return this._removeAllSchemas(this.schemas,Q),this._removeAllSchemas(this.refs,Q),this;switch(typeof Q){case"undefined":return this._removeAllSchemas(this.schemas),this._removeAllSchemas(this.refs),this._cache.clear(),this;case"string":{let Y=QD.call(this,Q);if(typeof Y=="object")this._cache.delete(Y.schema);return delete this.schemas[Q],delete this.refs[Q],this}case"object":{let Y=Q;this._cache.delete(Y);let X=Q[this.opts.schemaId];if(X)X=(0,u4.normalizeId)(X),delete this.schemas[X],delete this.refs[X];return this}default:throw Error("ajv.removeSchema: invalid parameter")}}addVocabulary(Q){for(let Y of Q)this.addKeyword(Y);return this}addKeyword(Q,Y){let X;if(typeof Q=="string"){if(X=Q,typeof Y=="object")this.logger.warn("these parameters are deprecated, see docs for addKeyword"),Y.keyword=X}else if(typeof Q=="object"&&Y===void 0){if(Y=Q,X=Y.keyword,Array.isArray(X)&&!X.length)throw Error("addKeywords: keyword must be string or non-empty array")}else throw Error("invalid addKeywords parameters");if(Tv.call(this,X,Y),!Y)return(0,FJ.eachItem)(X,($)=>VJ.call(this,$)),this;kv.call(this,Y);let W={...Y,type:(0,XX.getJSONTypes)(Y.type),schemaType:(0,XX.getJSONTypes)(Y.schemaType)};return(0,FJ.eachItem)(X,W.type.length===0?($)=>VJ.call(this,$,W):($)=>W.type.forEach((J)=>VJ.call(this,$,W,J))),this}getKeyword(Q){let Y=this.RULES.all[Q];return typeof Y=="object"?Y.definition:!!Y}removeKeyword(Q){let{RULES:Y}=this;delete Y.keywords[Q],delete Y.all[Q];for(let X of Y.rules){let W=X.rules.findIndex(($)=>$.keyword===Q);if(W>=0)X.rules.splice(W,1)}return this}addFormat(Q,Y){if(typeof Y=="string")Y=new RegExp(Y);return this.formats[Q]=Y,this}errorsText(Q=this.errors,{separator:Y=", ",dataVar:X="data"}={}){if(!Q||Q.length===0)return"No errors";return Q.map((W)=>`${X}${W.instancePath} ${W.message}`).reduce((W,$)=>W+Y+$)}$dataMetaSchema(Q,Y){let X=this.RULES.all;Q=JSON.parse(JSON.stringify(Q));for(let W of Y){let $=W.split("/").slice(1),J=Q;for(let G of $)J=J[G];for(let G in X){let H=X[G];if(typeof H!="object")continue;let{$data:B}=H.definition,z=J[G];if(B&&z)J[G]=WD(z)}}return Q}_removeAllSchemas(Q,Y){for(let X in Q){let W=Q[X];if(!Y||Y.test(X)){if(typeof W=="string")delete Q[X];else if(W&&!W.meta)this._cache.delete(W.schema),delete Q[X]}}}_addSchema(Q,Y,X,W=this.opts.validateSchema,$=this.opts.addUsedSchema){let J,{schemaId:G}=this.opts;if(typeof Q=="object")J=Q[G];else if(this.opts.jtd)throw Error("schema must be object");else if(typeof Q!="boolean")throw Error("schema must be object or boolean");let H=this._cache.get(Q);if(H!==void 0)return H;X=(0,u4.normalizeId)(J||X);let B=u4.getSchemaRefs.call(this,Q,X);if(H=new h4.SchemaEnv({schema:Q,schemaId:G,meta:Y,baseId:X,localRefs:B}),this._cache.set(H.schema,H),$&&!X.startsWith("#")){if(X)this._checkUnique(X);this.refs[X]=H}if(W)this.validateSchema(Q,!0);return H}_checkUnique(Q){if(this.schemas[Q]||this.refs[Q])throw Error(`schema with key or id "${Q}" already exists`)}_compileSchemaEnv(Q){if(Q.meta)this._compileMetaSchema(Q);else h4.compileSchema.call(this,Q);if(!Q.validate)throw Error("ajv implementation error");return Q.validate}_compileMetaSchema(Q){let Y=this.opts;this.opts=this._metaOpts;try{h4.compileSchema.call(this,Q)}finally{this.opts=Y}}}WX.ValidationError=qv.default;WX.MissingRefError=YD.default;z6.default=WX;function eq(Q,Y,X,W="error"){for(let $ in Q){let J=$;if(J in Y)this.logger[W](`${X}: option ${$}. ${Q[J]}`)}}function QD(Q){return Q=(0,u4.normalizeId)(Q),this.schemas[Q]||this.refs[Q]}function bv(){let Q=this.opts.schemas;if(!Q)return;if(Array.isArray(Q))this.addSchema(Q);else for(let Y in Q)this.addSchema(Q[Y],Y)}function Pv(){for(let Q in this.opts.formats){let Y=this.opts.formats[Q];if(Y)this.addFormat(Q,Y)}}function Zv(Q){if(Array.isArray(Q)){this.addVocabulary(Q);return}this.logger.warn("keywords option as map is deprecated, pass array");for(let Y in Q){let X=Q[Y];if(!X.keyword)X.keyword=Y;this.addKeyword(X)}}function Rv(){let Q={...this.opts};for(let Y of Uv)delete Q[Y];return Q}var Ev={log(){},warn(){},error(){}};function Iv(Q){if(Q===!1)return Ev;if(Q===void 0)return console;if(Q.log&&Q.warn&&Q.error)return Q;throw Error("logger must implement log, warn and error methods")}var Sv=/^[a-z_$][a-z0-9_$:-]*$/i;function Tv(Q,Y){let{RULES:X}=this;if((0,FJ.eachItem)(Q,(W)=>{if(X.keywords[W])throw Error(`Keyword ${W} is already defined`);if(!Sv.test(W))throw Error(`Keyword ${W} has invalid name`)}),!Y)return;if(Y.$data&&!(("code"in Y)||("validate"in Y)))throw Error('$data keyword must have "code" or "validate" function')}function VJ(Q,Y,X){var W;let $=Y===null||Y===void 0?void 0:Y.post;if(X&&$)throw Error('keyword with "post" flag cannot have "type"');let{RULES:J}=this,G=$?J.post:J.rules.find(({type:B})=>B===X);if(!G)G={type:X,rules:[]},J.rules.push(G);if(J.keywords[Q]=!0,!Y)return;let H={keyword:Q,definition:{...Y,type:(0,XX.getJSONTypes)(Y.type),schemaType:(0,XX.getJSONTypes)(Y.schemaType)}};if(Y.before)Cv.call(this,G,H,Y.before);else G.rules.push(H);J.all[Q]=H,(W=Y.implements)===null||W===void 0||W.forEach((B)=>this.addKeyword(B))}function Cv(Q,Y,X){let W=Q.rules.findIndex(($)=>$.keyword===X);if(W>=0)Q.rules.splice(W,0,Y);else Q.rules.push(Y),this.logger.warn(`rule ${X} is not defined`)}function kv(Q){let{metaSchema:Y}=Q;if(Y===void 0)return;if(Q.$data&&this.opts.$data)Y=WD(Y);Q.validateSchema=this.compile(Y,!0)}var _v={$ref:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#"};function WD(Q){return{anyOf:[Q,_v]}}});var GD=j((JD)=>{Object.defineProperty(JD,"__esModule",{value:!0});var yv={keyword:"id",code(){throw Error('NOT SUPPORTED: keyword "id", use "$id" for schema ID')}};JD.default=yv});var FD=j((KD)=>{Object.defineProperty(KD,"__esModule",{value:!0});KD.callRef=KD.getValidate=void 0;var gv=f4(),HD=D1(),G1=n(),K8=H6(),BD=YX(),$X=$0(),hv={keyword:"$ref",schemaType:"string",code(Q){let{gen:Y,schema:X,it:W}=Q,{baseId:$,schemaEnv:J,validateName:G,opts:H,self:B}=W,{root:z}=J;if((X==="#"||X==="#/")&&$===z.baseId)return V();let K=BD.resolveRef.call(B,z,$,X);if(K===void 0)throw new gv.default(W.opts.uriResolver,$,X);if(K instanceof BD.SchemaEnv)return q(K);return F(K);function V(){if(J===z)return JX(Q,G,J,J.$async);let A=Y.scopeValue("root",{ref:z});return JX(Q,G1._`${A}.validate`,z,z.$async)}function q(A){let D=zD(Q,A);JX(Q,D,A,A.$async)}function F(A){let D=Y.scopeValue("schema",H.code.source===!0?{ref:A,code:(0,G1.stringify)(A)}:{ref:A}),O=Y.name("valid"),L=Q.subschema({schema:A,dataTypes:[],schemaPath:G1.nil,topSchemaRef:D,errSchemaPath:X},O);Q.mergeEvaluated(L),Q.ok(O)}}};function zD(Q,Y){let{gen:X}=Q;return Y.validate?X.scopeValue("validate",{ref:Y.validate}):G1._`${X.scopeValue("wrapper",{ref:Y})}.validate`}KD.getValidate=zD;function JX(Q,Y,X,W){let{gen:$,it:J}=Q,{allErrors:G,schemaEnv:H,opts:B}=J,z=B.passContext?K8.default.this:G1.nil;if(W)K();else V();function K(){if(!H.$async)throw Error("async schema referenced by sync schema");let A=$.let("valid");$.try(()=>{if($.code(G1._`await ${(0,HD.callValidateCode)(Q,Y,z)}`),F(Y),!G)$.assign(A,!0)},(D)=>{if($.if(G1._`!(${D} instanceof ${J.ValidationError})`,()=>$.throw(D)),q(D),!G)$.assign(A,!1)}),Q.ok(A)}function V(){Q.result((0,HD.callValidateCode)(Q,Y,z),()=>F(Y),()=>q(Y))}function q(A){let D=G1._`${A}.errors`;$.assign(K8.default.vErrors,G1._`${K8.default.vErrors} === null ? ${D} : ${K8.default.vErrors}.concat(${D})`),$.assign(K8.default.errors,G1._`${K8.default.vErrors}.length`)}function F(A){var D;if(!J.opts.unevaluated)return;let O=(D=X===null||X===void 0?void 0:X.validate)===null||D===void 0?void 0:D.evaluated;if(J.props!==!0)if(O&&!O.dynamicProps){if(O.props!==void 0)J.props=$X.mergeEvaluated.props($,O.props,J.props)}else{let L=$.var("props",G1._`${A}.evaluated.props`);J.props=$X.mergeEvaluated.props($,L,J.props,G1.Name)}if(J.items!==!0)if(O&&!O.dynamicItems){if(O.items!==void 0)J.items=$X.mergeEvaluated.items($,O.items,J.items)}else{let L=$.var("items",G1._`${A}.evaluated.items`);J.items=$X.mergeEvaluated.items($,L,J.items,G1.Name)}}}KD.callRef=JX;KD.default=hv});var qD=j((AD)=>{Object.defineProperty(AD,"__esModule",{value:!0});var mv=GD(),cv=FD(),pv=["$schema","$id","$defs","$vocabulary",{keyword:"$comment"},"definitions",mv.default,cv.default];AD.default=pv});var OD=j((DD)=>{Object.defineProperty(DD,"__esModule",{value:!0});var GX=n(),v6=GX.operators,HX={maximum:{okStr:"<=",ok:v6.LTE,fail:v6.GT},minimum:{okStr:">=",ok:v6.GTE,fail:v6.LT},exclusiveMaximum:{okStr:"<",ok:v6.LT,fail:v6.GTE},exclusiveMinimum:{okStr:">",ok:v6.GT,fail:v6.LTE}},iv={message:({keyword:Q,schemaCode:Y})=>GX.str`must be ${HX[Q].okStr} ${Y}`,params:({keyword:Q,schemaCode:Y})=>GX._`{comparison: ${HX[Q].okStr}, limit: ${Y}}`},nv={keyword:Object.keys(HX),type:"number",schemaType:"number",$data:!0,error:iv,code(Q){let{keyword:Y,data:X,schemaCode:W}=Q;Q.fail$data(GX._`${X} ${HX[Y].fail} ${W} || isNaN(${X})`)}};DD.default=nv});var UD=j((LD)=>{Object.defineProperty(LD,"__esModule",{value:!0});var l4=n(),rv={message:({schemaCode:Q})=>l4.str`must be multiple of ${Q}`,params:({schemaCode:Q})=>l4._`{multipleOf: ${Q}}`},tv={keyword:"multipleOf",type:"number",schemaType:"number",$data:!0,error:rv,code(Q){let{gen:Y,data:X,schemaCode:W,it:$}=Q,J=$.opts.multipleOfPrecision,G=Y.let("res"),H=J?l4._`Math.abs(Math.round(${G}) - ${G}) > 1e-${J}`:l4._`${G} !== parseInt(${G})`;Q.fail$data(l4._`(${W} === 0 || (${G} = ${X}/${W}, ${H}))`)}};LD.default=tv});var ND=j((wD)=>{Object.defineProperty(wD,"__esModule",{value:!0});function jD(Q){let Y=Q.length,X=0,W=0,$;while(W<Y)if(X++,$=Q.charCodeAt(W++),$>=55296&&$<=56319&&W<Y){if($=Q.charCodeAt(W),($&64512)===56320)W++}return X}wD.default=jD;jD.code='require("ajv/dist/runtime/ucs2length").default'});var bD=j((MD)=>{Object.defineProperty(MD,"__esModule",{value:!0});var O9=n(),ev=$0(),Qx=ND(),Yx={message({keyword:Q,schemaCode:Y}){let X=Q==="maxLength"?"more":"fewer";return O9.str`must NOT have ${X} than ${Y} characters`},params:({schemaCode:Q})=>O9._`{limit: ${Q}}`},Xx={keyword:["maxLength","minLength"],type:"string",schemaType:"number",$data:!0,error:Yx,code(Q){let{keyword:Y,data:X,schemaCode:W,it:$}=Q,J=Y==="maxLength"?O9.operators.GT:O9.operators.LT,G=$.opts.unicode===!1?O9._`${X}.length`:O9._`${(0,ev.useFunc)(Q.gen,Qx.default)}(${X})`;Q.fail$data(O9._`${G} ${J} ${W}`)}};MD.default=Xx});var ZD=j((PD)=>{Object.defineProperty(PD,"__esModule",{value:!0});var $x=D1(),BX=n(),Jx={message:({schemaCode:Q})=>BX.str`must match pattern "${Q}"`,params:({schemaCode:Q})=>BX._`{pattern: ${Q}}`},Gx={keyword:"pattern",type:"string",schemaType:"string",$data:!0,error:Jx,code(Q){let{data:Y,$data:X,schema:W,schemaCode:$,it:J}=Q,G=J.opts.unicodeRegExp?"u":"",H=X?BX._`(new RegExp(${$}, ${G}))`:(0,$x.usePattern)(Q,W);Q.fail$data(BX._`!${H}.test(${Y})`)}};PD.default=Gx});var ED=j((RD)=>{Object.defineProperty(RD,"__esModule",{value:!0});var m4=n(),Bx={message({keyword:Q,schemaCode:Y}){let X=Q==="maxProperties"?"more":"fewer";return m4.str`must NOT have ${X} than ${Y} properties`},params:({schemaCode:Q})=>m4._`{limit: ${Q}}`},zx={keyword:["maxProperties","minProperties"],type:"object",schemaType:"number",$data:!0,error:Bx,code(Q){let{keyword:Y,data:X,schemaCode:W}=Q,$=Y==="maxProperties"?m4.operators.GT:m4.operators.LT;Q.fail$data(m4._`Object.keys(${X}).length ${$} ${W}`)}};RD.default=zx});var SD=j((ID)=>{Object.defineProperty(ID,"__esModule",{value:!0});var c4=D1(),p4=n(),Vx=$0(),Fx={message:({params:{missingProperty:Q}})=>p4.str`must have required property '${Q}'`,params:({params:{missingProperty:Q}})=>p4._`{missingProperty: ${Q}}`},Ax={keyword:"required",type:"object",schemaType:"array",$data:!0,error:Fx,code(Q){let{gen:Y,schema:X,schemaCode:W,data:$,$data:J,it:G}=Q,{opts:H}=G;if(!J&&X.length===0)return;let B=X.length>=H.loopRequired;if(G.allErrors)z();else K();if(H.strictRequired){let F=Q.parentSchema.properties,{definedProperties:A}=Q.it;for(let D of X)if((F===null||F===void 0?void 0:F[D])===void 0&&!A.has(D)){let O=G.schemaEnv.baseId+G.errSchemaPath,L=`required property "${D}" is not defined at "${O}" (strictRequired)`;(0,Vx.checkStrictMode)(G,L,G.opts.strictRequired)}}function z(){if(B||J)Q.block$data(p4.nil,V);else for(let F of X)(0,c4.checkReportMissingProp)(Q,F)}function K(){let F=Y.let("missing");if(B||J){let A=Y.let("valid",!0);Q.block$data(A,()=>q(F,A)),Q.ok(A)}else Y.if((0,c4.checkMissingProp)(Q,X,F)),(0,c4.reportMissingProp)(Q,F),Y.else()}function V(){Y.forOf("prop",W,(F)=>{Q.setParams({missingProperty:F}),Y.if((0,c4.noPropertyInData)(Y,$,F,H.ownProperties),()=>Q.error())})}function q(F,A){Q.setParams({missingProperty:F}),Y.forOf(F,W,()=>{Y.assign(A,(0,c4.propertyInData)(Y,$,F,H.ownProperties)),Y.if((0,p4.not)(A),()=>{Q.error(),Y.break()})},p4.nil)}}};ID.default=Ax});var CD=j((TD)=>{Object.defineProperty(TD,"__esModule",{value:!0});var d4=n(),Dx={message({keyword:Q,schemaCode:Y}){let X=Q==="maxItems"?"more":"fewer";return d4.str`must NOT have ${X} than ${Y} items`},params:({schemaCode:Q})=>d4._`{limit: ${Q}}`},Ox={keyword:["maxItems","minItems"],type:"array",schemaType:"number",$data:!0,error:Dx,code(Q){let{keyword:Y,data:X,schemaCode:W}=Q,$=Y==="maxItems"?d4.operators.GT:d4.operators.LT;Q.fail$data(d4._`${X}.length ${$} ${W}`)}};TD.default=Ox});var zX=j((_D)=>{Object.defineProperty(_D,"__esModule",{value:!0});var kD=K4();kD.code='require("ajv/dist/runtime/equal").default';_D.default=kD});var xD=j((vD)=>{Object.defineProperty(vD,"__esModule",{value:!0});var AJ=k4(),f0=n(),jx=$0(),wx=zX(),Nx={message:({params:{i:Q,j:Y}})=>f0.str`must NOT have duplicate items (items ## ${Y} and ${Q} are identical)`,params:({params:{i:Q,j:Y}})=>f0._`{i: ${Q}, j: ${Y}}`},Mx={keyword:"uniqueItems",type:"array",schemaType:"boolean",$data:!0,error:Nx,code(Q){let{gen:Y,data:X,$data:W,schema:$,parentSchema:J,schemaCode:G,it:H}=Q;if(!W&&!$)return;let B=Y.let("valid"),z=J.items?(0,AJ.getSchemaTypes)(J.items):[];Q.block$data(B,K,f0._`${G} === false`),Q.ok(B);function K(){let A=Y.let("i",f0._`${X}.length`),D=Y.let("j");Q.setParams({i:A,j:D}),Y.assign(B,!0),Y.if(f0._`${A} > 1`,()=>(V()?q:F)(A,D))}function V(){return z.length>0&&!z.some((A)=>A==="object"||A==="array")}function q(A,D){let O=Y.name("item"),L=(0,AJ.checkDataTypes)(z,O,H.opts.strictNumbers,AJ.DataType.Wrong),N=Y.const("indices",f0._`{}`);Y.for(f0._`;${A}--;`,()=>{if(Y.let(O,f0._`${X}[${A}]`),Y.if(L,f0._`continue`),z.length>1)Y.if(f0._`typeof ${O} == "string"`,f0._`${O} += "_"`);Y.if(f0._`typeof ${N}[${O}] == "number"`,()=>{Y.assign(D,f0._`${N}[${O}]`),Q.error(),Y.assign(B,!1).break()}).code(f0._`${N}[${O}] = ${A}`)})}function F(A,D){let O=(0,jx.useFunc)(Y,wx.default),L=Y.name("outer");Y.label(L).for(f0._`;${A}--;`,()=>Y.for(f0._`${D} = ${A}; ${D}--;`,()=>Y.if(f0._`${O}(${X}[${A}], ${X}[${D}])`,()=>{Q.error(),Y.assign(B,!1).break(L)})))}}};vD.default=Mx});var fD=j((yD)=>{Object.defineProperty(yD,"__esModule",{value:!0});var qJ=n(),Px=$0(),Zx=zX(),Rx={message:"must be equal to constant",params:({schemaCode:Q})=>qJ._`{allowedValue: ${Q}}`},Ex={keyword:"const",$data:!0,error:Rx,code(Q){let{gen:Y,data:X,$data:W,schemaCode:$,schema:J}=Q;if(W||J&&typeof J=="object")Q.fail$data(qJ._`!${(0,Px.useFunc)(Y,Zx.default)}(${X}, ${$})`);else Q.fail(qJ._`${J} !== ${X}`)}};yD.default=Ex});var hD=j((gD)=>{Object.defineProperty(gD,"__esModule",{value:!0});var i4=n(),Sx=$0(),Tx=zX(),Cx={message:"must be equal to one of the allowed values",params:({schemaCode:Q})=>i4._`{allowedValues: ${Q}}`},kx={keyword:"enum",schemaType:"array",$data:!0,error:Cx,code(Q){let{gen:Y,data:X,$data:W,schema:$,schemaCode:J,it:G}=Q;if(!W&&$.length===0)throw Error("enum must have non-empty array");let H=$.length>=G.opts.loopEnum,B,z=()=>B!==null&&B!==void 0?B:B=(0,Sx.useFunc)(Y,Tx.default),K;if(H||W)K=Y.let("valid"),Q.block$data(K,V);else{if(!Array.isArray($))throw Error("ajv implementation error");let F=Y.const("vSchema",J);K=(0,i4.or)(...$.map((A,D)=>q(F,D)))}Q.pass(K);function V(){Y.assign(K,!1),Y.forOf("v",J,(F)=>Y.if(i4._`${z()}(${X}, ${F})`,()=>Y.assign(K,!0).break()))}function q(F,A){let D=$[A];return typeof D==="object"&&D!==null?i4._`${z()}(${X}, ${F}[${A}])`:i4._`${X} === ${D}`}}};gD.default=kx});var lD=j((uD)=>{Object.defineProperty(uD,"__esModule",{value:!0});var vx=OD(),xx=UD(),yx=bD(),fx=ZD(),gx=ED(),hx=SD(),ux=CD(),lx=xD(),mx=fD(),cx=hD(),px=[vx.default,xx.default,yx.default,fx.default,gx.default,hx.default,ux.default,lx.default,{keyword:"type",schemaType:["string","array"]},{keyword:"nullable",schemaType:"boolean"},mx.default,cx.default];uD.default=px});var OJ=j((cD)=>{Object.defineProperty(cD,"__esModule",{value:!0});cD.validateAdditionalItems=void 0;var L9=n(),DJ=$0(),ix={message:({params:{len:Q}})=>L9.str`must NOT have more than ${Q} items`,params:({params:{len:Q}})=>L9._`{limit: ${Q}}`},nx={keyword:"additionalItems",type:"array",schemaType:["boolean","object"],before:"uniqueItems",error:ix,code(Q){let{parentSchema:Y,it:X}=Q,{items:W}=Y;if(!Array.isArray(W)){(0,DJ.checkStrictMode)(X,'"additionalItems" is ignored when "items" is not an array of schemas');return}mD(Q,W)}};function mD(Q,Y){let{gen:X,schema:W,data:$,keyword:J,it:G}=Q;G.items=!0;let H=X.const("len",L9._`${$}.length`);if(W===!1)Q.setParams({len:Y.length}),Q.pass(L9._`${H} <= ${Y.length}`);else if(typeof W=="object"&&!(0,DJ.alwaysValidSchema)(G,W)){let z=X.var("valid",L9._`${H} <= ${Y.length}`);X.if((0,L9.not)(z),()=>B(z)),Q.ok(z)}function B(z){X.forRange("i",Y.length,H,(K)=>{if(Q.subschema({keyword:J,dataProp:K,dataPropType:DJ.Type.Num},z),!G.allErrors)X.if((0,L9.not)(z),()=>X.break())})}}cD.validateAdditionalItems=mD;cD.default=nx});var LJ=j((nD)=>{Object.defineProperty(nD,"__esModule",{value:!0});nD.validateTuple=void 0;var dD=n(),KX=$0(),rx=D1(),tx={keyword:"items",type:"array",schemaType:["object","array","boolean"],before:"uniqueItems",code(Q){let{schema:Y,it:X}=Q;if(Array.isArray(Y))return iD(Q,"additionalItems",Y);if(X.items=!0,(0,KX.alwaysValidSchema)(X,Y))return;Q.ok((0,rx.validateArray)(Q))}};function iD(Q,Y,X=Q.schema){let{gen:W,parentSchema:$,data:J,keyword:G,it:H}=Q;if(K($),H.opts.unevaluated&&X.length&&H.items!==!0)H.items=KX.mergeEvaluated.items(W,X.length,H.items);let B=W.name("valid"),z=W.const("len",dD._`${J}.length`);X.forEach((V,q)=>{if((0,KX.alwaysValidSchema)(H,V))return;W.if(dD._`${z} > ${q}`,()=>Q.subschema({keyword:G,schemaProp:q,dataProp:q},B)),Q.ok(B)});function K(V){let{opts:q,errSchemaPath:F}=H,A=X.length,D=A===V.minItems&&(A===V.maxItems||V[Y]===!1);if(q.strictTuples&&!D){let O=`"${G}" is ${A}-tuple, but minItems or maxItems/${Y} are not specified or different at path "${F}"`;(0,KX.checkStrictMode)(H,O,q.strictTuples)}}}nD.validateTuple=iD;nD.default=tx});var tD=j((rD)=>{Object.defineProperty(rD,"__esModule",{value:!0});var sx=LJ(),ex={keyword:"prefixItems",type:"array",schemaType:["array"],before:"uniqueItems",code:(Q)=>(0,sx.validateTuple)(Q,"items")};rD.default=ex});var eD=j((sD)=>{Object.defineProperty(sD,"__esModule",{value:!0});var aD=n(),Yy=$0(),Xy=D1(),Wy=OJ(),$y={message:({params:{len:Q}})=>aD.str`must NOT have more than ${Q} items`,params:({params:{len:Q}})=>aD._`{limit: ${Q}}`},Jy={keyword:"items",type:"array",schemaType:["object","boolean"],before:"uniqueItems",error:$y,code(Q){let{schema:Y,parentSchema:X,it:W}=Q,{prefixItems:$}=X;if(W.items=!0,(0,Yy.alwaysValidSchema)(W,Y))return;if($)(0,Wy.validateAdditionalItems)(Q,$);else Q.ok((0,Xy.validateArray)(Q))}};sD.default=Jy});var YO=j((QO)=>{Object.defineProperty(QO,"__esModule",{value:!0});var O1=n(),VX=$0(),Hy={message:({params:{min:Q,max:Y}})=>Y===void 0?O1.str`must contain at least ${Q} valid item(s)`:O1.str`must contain at least ${Q} and no more than ${Y} valid item(s)`,params:({params:{min:Q,max:Y}})=>Y===void 0?O1._`{minContains: ${Q}}`:O1._`{minContains: ${Q}, maxContains: ${Y}}`},By={keyword:"contains",type:"array",schemaType:["object","boolean"],before:"uniqueItems",trackErrors:!0,error:Hy,code(Q){let{gen:Y,schema:X,parentSchema:W,data:$,it:J}=Q,G,H,{minContains:B,maxContains:z}=W;if(J.opts.next)G=B===void 0?1:B,H=z;else G=1;let K=Y.const("len",O1._`${$}.length`);if(Q.setParams({min:G,max:H}),H===void 0&&G===0){(0,VX.checkStrictMode)(J,'"minContains" == 0 without "maxContains": "contains" keyword ignored');return}if(H!==void 0&&G>H){(0,VX.checkStrictMode)(J,'"minContains" > "maxContains" is always invalid'),Q.fail();return}if((0,VX.alwaysValidSchema)(J,X)){let D=O1._`${K} >= ${G}`;if(H!==void 0)D=O1._`${D} && ${K} <= ${H}`;Q.pass(D);return}J.items=!0;let V=Y.name("valid");if(H===void 0&&G===1)F(V,()=>Y.if(V,()=>Y.break()));else if(G===0){if(Y.let(V,!0),H!==void 0)Y.if(O1._`${$}.length > 0`,q)}else Y.let(V,!1),q();Q.result(V,()=>Q.reset());function q(){let D=Y.name("_valid"),O=Y.let("count",0);F(D,()=>Y.if(D,()=>A(O)))}function F(D,O){Y.forRange("i",0,K,(L)=>{Q.subschema({keyword:"contains",dataProp:L,dataPropType:VX.Type.Num,compositeRule:!0},D),O()})}function A(D){if(Y.code(O1._`${D}++`),H===void 0)Y.if(O1._`${D} >= ${G}`,()=>Y.assign(V,!0).break());else if(Y.if(O1._`${D} > ${H}`,()=>Y.assign(V,!1).break()),G===1)Y.assign(V,!0);else Y.if(O1._`${D} >= ${G}`,()=>Y.assign(V,!0))}}};QO.default=By});var HO=j(($O)=>{Object.defineProperty($O,"__esModule",{value:!0});$O.validateSchemaDeps=$O.validatePropertyDeps=$O.error=void 0;var UJ=n(),Ky=$0(),n4=D1();$O.error={message:({params:{property:Q,depsCount:Y,deps:X}})=>{let W=Y===1?"property":"properties";return UJ.str`must have ${W} ${X} when property ${Q} is present`},params:({params:{property:Q,depsCount:Y,deps:X,missingProperty:W}})=>UJ._`{property: ${Q},
14
14
  missingProperty: ${W},
15
- depsCount: ${X},
16
- deps: ${Y}}`};var mx={keyword:"dependencies",type:"object",schemaType:"object",error:pD.error,code(Q){let[X,Y]=cx(Q);mD(Q,X),cD(Q,Y)}};function cx({schema:Q}){let X={},Y={};for(let W in Q){if(W==="__proto__")continue;let $=Array.isArray(Q[W])?X:Y;$[W]=Q[W]}return[X,Y]}function mD(Q,X=Q.schema){let{gen:Y,data:W,it:$}=Q;if(Object.keys(X).length===0)return;let J=Y.let("missing");for(let G in X){let H=X[G];if(H.length===0)continue;let B=(0,c4.propertyInData)(Y,W,G,$.opts.ownProperties);if(Q.setParams({property:G,depsCount:H.length,deps:H.join(", ")}),$.allErrors)Y.if(B,()=>{for(let z of H)(0,c4.checkReportMissingProp)(Q,z)});else Y.if(KJ._`${B} && (${(0,c4.checkMissingProp)(Q,H,J)})`),(0,c4.reportMissingProp)(Q,J),Y.else()}}pD.validatePropertyDeps=mD;function cD(Q,X=Q.schema){let{gen:Y,data:W,keyword:$,it:J}=Q,G=Y.name("valid");for(let H in X){if((0,lx.alwaysValidSchema)(J,X[H]))continue;Y.if((0,c4.propertyInData)(Y,W,H,J.opts.ownProperties),()=>{let B=Q.subschema({keyword:$,schemaProp:H},G);Q.mergeValidEvaluated(B,G)},()=>Y.var(G,!0)),Q.ok(G)}}pD.validateSchemaDeps=cD;pD.default=mx});var tD=j((rD)=>{Object.defineProperty(rD,"__esModule",{value:!0});var oD=n(),ix=$0(),nx={message:"property name must be valid",params:({params:Q})=>oD._`{propertyName: ${Q.propertyName}}`},ox={keyword:"propertyNames",type:"object",schemaType:["object","boolean"],error:nx,code(Q){let{gen:X,schema:Y,data:W,it:$}=Q;if((0,ix.alwaysValidSchema)($,Y))return;let J=X.name("valid");X.forIn("key",W,(G)=>{Q.setParams({propertyName:G}),Q.subschema({keyword:"propertyNames",data:G,dataTypes:["string"],propertyName:G,compositeRule:!0},J),X.if((0,oD.not)(J),()=>{if(Q.error(!0),!$.allErrors)X.break()})}),Q.ok(J)}};rD.default=ox});var VJ=j((aD)=>{Object.defineProperty(aD,"__esModule",{value:!0});var BY=D1(),x1=n(),tx=H6(),zY=$0(),ax={message:"must NOT have additional properties",params:({params:Q})=>x1._`{additionalProperty: ${Q.additionalProperty}}`},sx={keyword:"additionalProperties",type:["object"],schemaType:["boolean","object"],allowUndefined:!0,trackErrors:!0,error:ax,code(Q){let{gen:X,schema:Y,parentSchema:W,data:$,errsCount:J,it:G}=Q;if(!J)throw Error("ajv implementation error");let{allErrors:H,opts:B}=G;if(G.props=!0,B.removeAdditional!=="all"&&(0,zY.alwaysValidSchema)(G,Y))return;let z=(0,BY.allSchemaProperties)(W.properties),K=(0,BY.allSchemaProperties)(W.patternProperties);V(),Q.ok(x1._`${J} === ${tx.default.errors}`);function V(){X.forIn("key",$,(L)=>{if(!z.length&&!K.length)A(L);else X.if(q(L),()=>A(L))})}function q(L){let O;if(z.length>8){let N=(0,zY.schemaRefOrVal)(G,W.properties,"properties");O=(0,BY.isOwnProperty)(X,N,L)}else if(z.length)O=(0,x1.or)(...z.map((N)=>x1._`${L} === ${N}`));else O=x1.nil;if(K.length)O=(0,x1.or)(O,...K.map((N)=>x1._`${(0,BY.usePattern)(Q,N)}.test(${L})`));return(0,x1.not)(O)}function F(L){X.code(x1._`delete ${$}[${L}]`)}function A(L){if(B.removeAdditional==="all"||B.removeAdditional&&Y===!1){F(L);return}if(Y===!1){if(Q.setParams({additionalProperty:L}),Q.error(),!H)X.break();return}if(typeof Y=="object"&&!(0,zY.alwaysValidSchema)(G,Y)){let O=X.name("valid");if(B.removeAdditional==="failing")D(L,O,!1),X.if((0,x1.not)(O),()=>{Q.reset(),F(L)});else if(D(L,O),!H)X.if((0,x1.not)(O),()=>X.break())}}function D(L,O,N){let w={keyword:"additionalProperties",dataProp:L,dataPropType:zY.Type.Str};if(N===!1)Object.assign(w,{compositeRule:!0,createErrors:!1,allErrors:!1});Q.subschema(w,O)}}};aD.default=sx});var XL=j((QL)=>{Object.defineProperty(QL,"__esModule",{value:!0});var Qy=k4(),sD=D1(),FJ=$0(),eD=VJ(),Xy={keyword:"properties",type:"object",schemaType:"object",code(Q){let{gen:X,schema:Y,parentSchema:W,data:$,it:J}=Q;if(J.opts.removeAdditional==="all"&&W.additionalProperties===void 0)eD.default.code(new Qy.KeywordCxt(J,eD.default,"additionalProperties"));let G=(0,sD.allSchemaProperties)(Y);for(let V of G)J.definedProperties.add(V);if(J.opts.unevaluated&&G.length&&J.props!==!0)J.props=FJ.mergeEvaluated.props(X,(0,FJ.toHash)(G),J.props);let H=G.filter((V)=>!(0,FJ.alwaysValidSchema)(J,Y[V]));if(H.length===0)return;let B=X.name("valid");for(let V of H){if(z(V))K(V);else{if(X.if((0,sD.propertyInData)(X,$,V,J.opts.ownProperties)),K(V),!J.allErrors)X.else().var(B,!0);X.endIf()}Q.it.definedProperties.add(V),Q.ok(B)}function z(V){return J.opts.useDefaults&&!J.compositeRule&&Y[V].default!==void 0}function K(V){Q.subschema({keyword:"properties",schemaProp:V,dataProp:V},B)}}};QL.default=Xy});var GL=j((JL)=>{Object.defineProperty(JL,"__esModule",{value:!0});var YL=D1(),KY=n(),WL=$0(),$L=$0(),Wy={keyword:"patternProperties",type:"object",schemaType:"object",code(Q){let{gen:X,schema:Y,data:W,parentSchema:$,it:J}=Q,{opts:G}=J,H=(0,YL.allSchemaProperties)(Y),B=H.filter((D)=>(0,WL.alwaysValidSchema)(J,Y[D]));if(H.length===0||B.length===H.length&&(!J.opts.unevaluated||J.props===!0))return;let z=G.strictSchema&&!G.allowMatchingProperties&&$.properties,K=X.name("valid");if(J.props!==!0&&!(J.props instanceof KY.Name))J.props=(0,$L.evaluatedPropsToName)(X,J.props);let{props:V}=J;q();function q(){for(let D of H){if(z)F(D);if(J.allErrors)A(D);else X.var(K,!0),A(D),X.if(K)}}function F(D){for(let L in z)if(new RegExp(D).test(L))(0,WL.checkStrictMode)(J,`property ${L} matches pattern ${D} (use allowMatchingProperties)`)}function A(D){X.forIn("key",W,(L)=>{X.if(KY._`${(0,YL.usePattern)(Q,D)}.test(${L})`,()=>{let O=B.includes(D);if(!O)Q.subschema({keyword:"patternProperties",schemaProp:D,dataProp:L,dataPropType:$L.Type.Str},K);if(J.opts.unevaluated&&V!==!0)X.assign(KY._`${V}[${L}]`,!0);else if(!O&&!J.allErrors)X.if((0,KY.not)(K),()=>X.break())})})}}};JL.default=Wy});var BL=j((HL)=>{Object.defineProperty(HL,"__esModule",{value:!0});var Jy=$0(),Gy={keyword:"not",schemaType:["object","boolean"],trackErrors:!0,code(Q){let{gen:X,schema:Y,it:W}=Q;if((0,Jy.alwaysValidSchema)(W,Y)){Q.fail();return}let $=X.name("valid");Q.subschema({keyword:"not",compositeRule:!0,createErrors:!1,allErrors:!1},$),Q.failResult($,()=>Q.reset(),()=>Q.error())},error:{message:"must NOT be valid"}};HL.default=Gy});var KL=j((zL)=>{Object.defineProperty(zL,"__esModule",{value:!0});var By=D1(),zy={keyword:"anyOf",schemaType:"array",trackErrors:!0,code:By.validateUnion,error:{message:"must match a schema in anyOf"}};zL.default=zy});var FL=j((VL)=>{Object.defineProperty(VL,"__esModule",{value:!0});var VY=n(),Vy=$0(),Fy={message:"must match exactly one schema in oneOf",params:({params:Q})=>VY._`{passingSchemas: ${Q.passing}}`},Ay={keyword:"oneOf",schemaType:"array",trackErrors:!0,error:Fy,code(Q){let{gen:X,schema:Y,parentSchema:W,it:$}=Q;if(!Array.isArray(Y))throw Error("ajv implementation error");if($.opts.discriminator&&W.discriminator)return;let J=Y,G=X.let("valid",!1),H=X.let("passing",null),B=X.name("_valid");Q.setParams({passing:H}),X.block(z),Q.result(G,()=>Q.reset(),()=>Q.error(!0));function z(){J.forEach((K,V)=>{let q;if((0,Vy.alwaysValidSchema)($,K))X.var(B,!0);else q=Q.subschema({keyword:"oneOf",schemaProp:V,compositeRule:!0},B);if(V>0)X.if(VY._`${B} && ${G}`).assign(G,!1).assign(H,VY._`[${H}, ${V}]`).else();X.if(B,()=>{if(X.assign(G,!0),X.assign(H,V),q)Q.mergeEvaluated(q,VY.Name)})})}}};VL.default=Ay});var qL=j((AL)=>{Object.defineProperty(AL,"__esModule",{value:!0});var Dy=$0(),Ly={keyword:"allOf",schemaType:"array",code(Q){let{gen:X,schema:Y,it:W}=Q;if(!Array.isArray(Y))throw Error("ajv implementation error");let $=X.name("valid");Y.forEach((J,G)=>{if((0,Dy.alwaysValidSchema)(W,J))return;let H=Q.subschema({keyword:"allOf",schemaProp:G},$);Q.ok($),Q.mergeEvaluated(H)})}};AL.default=Ly});var UL=j((OL)=>{Object.defineProperty(OL,"__esModule",{value:!0});var FY=n(),LL=$0(),Uy={message:({params:Q})=>FY.str`must match "${Q.ifClause}" schema`,params:({params:Q})=>FY._`{failingKeyword: ${Q.ifClause}}`},jy={keyword:"if",schemaType:["object","boolean"],trackErrors:!0,error:Uy,code(Q){let{gen:X,parentSchema:Y,it:W}=Q;if(Y.then===void 0&&Y.else===void 0)(0,LL.checkStrictMode)(W,'"if" without "then" and "else" is ignored');let $=DL(W,"then"),J=DL(W,"else");if(!$&&!J)return;let G=X.let("valid",!0),H=X.name("_valid");if(B(),Q.reset(),$&&J){let K=X.let("ifClause");Q.setParams({ifClause:K}),X.if(H,z("then",K),z("else",K))}else if($)X.if(H,z("then"));else X.if((0,FY.not)(H),z("else"));Q.pass(G,()=>Q.error(!0));function B(){let K=Q.subschema({keyword:"if",compositeRule:!0,createErrors:!1,allErrors:!1},H);Q.mergeEvaluated(K)}function z(K,V){return()=>{let q=Q.subschema({keyword:K},H);if(X.assign(G,H),Q.mergeValidEvaluated(q,G),V)X.assign(V,FY._`${K}`);else Q.setParams({ifClause:K})}}}};function DL(Q,X){let Y=Q.schema[X];return Y!==void 0&&!(0,LL.alwaysValidSchema)(Q,Y)}OL.default=jy});var ML=j((jL)=>{Object.defineProperty(jL,"__esModule",{value:!0});var Ny=$0(),wy={keyword:["then","else"],schemaType:["object","boolean"],code({keyword:Q,parentSchema:X,it:Y}){if(X.if===void 0)(0,Ny.checkStrictMode)(Y,`"${Q}" without "if" is ignored`)}};jL.default=wy});var wL=j((NL)=>{Object.defineProperty(NL,"__esModule",{value:!0});var Py=BJ(),Zy=yD(),Ry=zJ(),Ey=hD(),Sy=lD(),Iy=nD(),Ty=tD(),Cy=VJ(),ky=XL(),vy=GL(),_y=BL(),xy=KL(),yy=FL(),fy=qL(),gy=UL(),hy=ML();function uy(Q=!1){let X=[_y.default,xy.default,yy.default,fy.default,gy.default,hy.default,Ty.default,Cy.default,Iy.default,ky.default,vy.default];if(Q)X.push(Zy.default,Ey.default);else X.push(Py.default,Ry.default);return X.push(Sy.default),X}NL.default=uy});var PL=j((bL)=>{Object.defineProperty(bL,"__esModule",{value:!0});var R0=n(),my={message:({schemaCode:Q})=>R0.str`must match format "${Q}"`,params:({schemaCode:Q})=>R0._`{format: ${Q}}`},cy={keyword:"format",type:["number","string"],schemaType:"string",$data:!0,error:my,code(Q,X){let{gen:Y,data:W,$data:$,schema:J,schemaCode:G,it:H}=Q,{opts:B,errSchemaPath:z,schemaEnv:K,self:V}=H;if(!B.validateFormats)return;if($)q();else F();function q(){let A=Y.scopeValue("formats",{ref:V.formats,code:B.code.formats}),D=Y.const("fDef",R0._`${A}[${G}]`),L=Y.let("fType"),O=Y.let("format");Y.if(R0._`typeof ${D} == "object" && !(${D} instanceof RegExp)`,()=>Y.assign(L,R0._`${D}.type || "string"`).assign(O,R0._`${D}.validate`),()=>Y.assign(L,R0._`"string"`).assign(O,D)),Q.fail$data((0,R0.or)(N(),w()));function N(){if(B.strictSchema===!1)return R0.nil;return R0._`${G} && !${O}`}function w(){let C=K.$async?R0._`(${D}.async ? await ${O}(${W}) : ${O}(${W}))`:R0._`${O}(${W})`,Z=R0._`(typeof ${O} == "function" ? ${C} : ${O}.test(${W}))`;return R0._`${O} && ${O} !== true && ${L} === ${X} && !${Z}`}}function F(){let A=V.formats[J];if(!A){N();return}if(A===!0)return;let[D,L,O]=w(A);if(D===X)Q.pass(C());function N(){if(B.strictSchema===!1){V.logger.warn(Z());return}throw Error(Z());function Z(){return`unknown format "${J}" ignored in schema at path "${z}"`}}function w(Z){let K0=Z instanceof RegExp?(0,R0.regexpCode)(Z):B.code.formats?R0._`${B.code.formats}${(0,R0.getProperty)(J)}`:void 0,P0=Y.scopeValue("formats",{key:J,ref:Z,code:K0});if(typeof Z=="object"&&!(Z instanceof RegExp))return[Z.type||"string",Z.validate,R0._`${P0}.validate`];return["string",Z,P0]}function C(){if(typeof A=="object"&&!(A instanceof RegExp)&&A.async){if(!K.$async)throw Error("async format in sync schema");return R0._`await ${O}(${W})`}return typeof L=="function"?R0._`${O}(${W})`:R0._`${O}.test(${W})`}}}};bL.default=cy});var RL=j((ZL)=>{Object.defineProperty(ZL,"__esModule",{value:!0});var dy=PL(),iy=[dy.default];ZL.default=iy});var IL=j((EL)=>{Object.defineProperty(EL,"__esModule",{value:!0});EL.contentVocabulary=EL.metadataVocabulary=void 0;EL.metadataVocabulary=["title","description","default","deprecated","readOnly","writeOnly","examples"];EL.contentVocabulary=["contentMediaType","contentEncoding","contentSchema"]});var kL=j((CL)=>{Object.defineProperty(CL,"__esModule",{value:!0});var ry=QD(),ty=ED(),ay=wL(),sy=RL(),TL=IL(),ey=[ry.default,ty.default,(0,ay.default)(),sy.default,TL.metadataVocabulary,TL.contentVocabulary];CL.default=ey});var yL=j((_L)=>{Object.defineProperty(_L,"__esModule",{value:!0});_L.DiscrError=void 0;var vL;(function(Q){Q.Tag="tag",Q.Mapping="mapping"})(vL||(_L.DiscrError=vL={}))});var hL=j((gL)=>{Object.defineProperty(gL,"__esModule",{value:!0});var B8=n(),AJ=yL(),fL=aX(),Xf=v4(),Yf=$0(),Wf={message:({params:{discrError:Q,tagName:X}})=>Q===AJ.DiscrError.Tag?`tag "${X}" must be string`:`value of tag "${X}" must be in oneOf`,params:({params:{discrError:Q,tag:X,tagName:Y}})=>B8._`{error: ${Q}, tag: ${Y}, tagValue: ${X}}`},$f={keyword:"discriminator",type:"object",schemaType:"object",error:Wf,code(Q){let{gen:X,data:Y,schema:W,parentSchema:$,it:J}=Q,{oneOf:G}=$;if(!J.opts.discriminator)throw Error("discriminator: requires discriminator option");let H=W.propertyName;if(typeof H!="string")throw Error("discriminator: requires propertyName");if(W.mapping)throw Error("discriminator: mapping is not supported");if(!G)throw Error("discriminator: requires oneOf keyword");let B=X.let("valid",!1),z=X.const("tag",B8._`${Y}${(0,B8.getProperty)(H)}`);X.if(B8._`typeof ${z} == "string"`,()=>K(),()=>Q.error(!1,{discrError:AJ.DiscrError.Tag,tag:z,tagName:H})),Q.ok(B);function K(){let F=q();X.if(!1);for(let A in F)X.elseIf(B8._`${z} === ${A}`),X.assign(B,V(F[A]));X.else(),Q.error(!1,{discrError:AJ.DiscrError.Mapping,tag:z,tagName:H}),X.endIf()}function V(F){let A=X.name("valid"),D=Q.subschema({keyword:"oneOf",schemaProp:F},A);return Q.mergeEvaluated(D,B8.Name),A}function q(){var F;let A={},D=O($),L=!0;for(let C=0;C<G.length;C++){let Z=G[C];if((Z===null||Z===void 0?void 0:Z.$ref)&&!(0,Yf.schemaHasRulesButRef)(Z,J.self.RULES)){let P0=Z.$ref;if(Z=fL.resolveRef.call(J.self,J.schemaEnv.root,J.baseId,P0),Z instanceof fL.SchemaEnv)Z=Z.schema;if(Z===void 0)throw new Xf.default(J.opts.uriResolver,J.baseId,P0)}let K0=(F=Z===null||Z===void 0?void 0:Z.properties)===null||F===void 0?void 0:F[H];if(typeof K0!="object")throw Error(`discriminator: oneOf subschemas (or referenced schemas) must have "properties/${H}"`);L=L&&(D||O(Z)),N(K0,C)}if(!L)throw Error(`discriminator: "${H}" must be required`);return A;function O({required:C}){return Array.isArray(C)&&C.includes(H)}function N(C,Z){if(C.const)w(C.const,Z);else if(C.enum)for(let K0 of C.enum)w(K0,Z);else throw Error(`discriminator: "properties/${H}" must have "const" or "enum"`)}function w(C,Z){if(typeof C!="string"||C in A)throw Error(`discriminator: "${H}" values must be unique strings`);A[C]=Z}}}};gL.default=$f});var uL=j((Nn,Gf)=>{Gf.exports={$schema:"http://json-schema.org/draft-07/schema#",$id:"http://json-schema.org/draft-07/schema#",title:"Core schema meta-schema",definitions:{schemaArray:{type:"array",minItems:1,items:{$ref:"#"}},nonNegativeInteger:{type:"integer",minimum:0},nonNegativeIntegerDefault0:{allOf:[{$ref:"#/definitions/nonNegativeInteger"},{default:0}]},simpleTypes:{enum:["array","boolean","integer","null","number","object","string"]},stringArray:{type:"array",items:{type:"string"},uniqueItems:!0,default:[]}},type:["object","boolean"],properties:{$id:{type:"string",format:"uri-reference"},$schema:{type:"string",format:"uri"},$ref:{type:"string",format:"uri-reference"},$comment:{type:"string"},title:{type:"string"},description:{type:"string"},default:!0,readOnly:{type:"boolean",default:!1},examples:{type:"array",items:!0},multipleOf:{type:"number",exclusiveMinimum:0},maximum:{type:"number"},exclusiveMaximum:{type:"number"},minimum:{type:"number"},exclusiveMinimum:{type:"number"},maxLength:{$ref:"#/definitions/nonNegativeInteger"},minLength:{$ref:"#/definitions/nonNegativeIntegerDefault0"},pattern:{type:"string",format:"regex"},additionalItems:{$ref:"#"},items:{anyOf:[{$ref:"#"},{$ref:"#/definitions/schemaArray"}],default:!0},maxItems:{$ref:"#/definitions/nonNegativeInteger"},minItems:{$ref:"#/definitions/nonNegativeIntegerDefault0"},uniqueItems:{type:"boolean",default:!1},contains:{$ref:"#"},maxProperties:{$ref:"#/definitions/nonNegativeInteger"},minProperties:{$ref:"#/definitions/nonNegativeIntegerDefault0"},required:{$ref:"#/definitions/stringArray"},additionalProperties:{$ref:"#"},definitions:{type:"object",additionalProperties:{$ref:"#"},default:{}},properties:{type:"object",additionalProperties:{$ref:"#"},default:{}},patternProperties:{type:"object",additionalProperties:{$ref:"#"},propertyNames:{format:"regex"},default:{}},dependencies:{type:"object",additionalProperties:{anyOf:[{$ref:"#"},{$ref:"#/definitions/stringArray"}]}},propertyNames:{$ref:"#"},const:!0,enum:{type:"array",items:!0,minItems:1,uniqueItems:!0},type:{anyOf:[{$ref:"#/definitions/simpleTypes"},{type:"array",items:{$ref:"#/definitions/simpleTypes"},minItems:1,uniqueItems:!0}]},format:{type:"string"},contentMediaType:{type:"string"},contentEncoding:{type:"string"},if:{$ref:"#"},then:{$ref:"#"},else:{$ref:"#"},allOf:{$ref:"#/definitions/schemaArray"},anyOf:{$ref:"#/definitions/schemaArray"},oneOf:{$ref:"#/definitions/schemaArray"},not:{$ref:"#"}},default:!0}});var mL=j((H1,qJ)=>{Object.defineProperty(H1,"__esModule",{value:!0});H1.MissingRefError=H1.ValidationError=H1.CodeGen=H1.Name=H1.nil=H1.stringify=H1.str=H1._=H1.KeywordCxt=H1.Ajv=void 0;var Hf=pq(),Bf=kL(),zf=hL(),lL=uL(),Kf=["/properties"],AY="http://json-schema.org/draft-07/schema";class p4 extends Hf.default{_addVocabularies(){if(super._addVocabularies(),Bf.default.forEach((Q)=>this.addVocabulary(Q)),this.opts.discriminator)this.addKeyword(zf.default)}_addDefaultMetaSchema(){if(super._addDefaultMetaSchema(),!this.opts.meta)return;let Q=this.opts.$data?this.$dataMetaSchema(lL,Kf):lL;this.addMetaSchema(Q,AY,!1),this.refs["http://json-schema.org/schema"]=AY}defaultMeta(){return this.opts.defaultMeta=super.defaultMeta()||(this.getSchema(AY)?AY:void 0)}}H1.Ajv=p4;qJ.exports=H1=p4;qJ.exports.Ajv=p4;Object.defineProperty(H1,"__esModule",{value:!0});H1.default=p4;var Vf=k4();Object.defineProperty(H1,"KeywordCxt",{enumerable:!0,get:function(){return Vf.KeywordCxt}});var z8=n();Object.defineProperty(H1,"_",{enumerable:!0,get:function(){return z8._}});Object.defineProperty(H1,"str",{enumerable:!0,get:function(){return z8.str}});Object.defineProperty(H1,"stringify",{enumerable:!0,get:function(){return z8.stringify}});Object.defineProperty(H1,"nil",{enumerable:!0,get:function(){return z8.nil}});Object.defineProperty(H1,"Name",{enumerable:!0,get:function(){return z8.Name}});Object.defineProperty(H1,"CodeGen",{enumerable:!0,get:function(){return z8.CodeGen}});var Ff=rX();Object.defineProperty(H1,"ValidationError",{enumerable:!0,get:function(){return Ff.default}});var Af=v4();Object.defineProperty(H1,"MissingRefError",{enumerable:!0,get:function(){return Af.default}})});var pL=j((cL)=>{Object.defineProperty(cL,"__esModule",{value:!0});cL.formatLimitDefinition=void 0;var Lf=mL(),y1=n(),_6=y1.operators,qY={formatMaximum:{okStr:"<=",ok:_6.LTE,fail:_6.GT},formatMinimum:{okStr:">=",ok:_6.GTE,fail:_6.LT},formatExclusiveMaximum:{okStr:"<",ok:_6.LT,fail:_6.GTE},formatExclusiveMinimum:{okStr:">",ok:_6.GT,fail:_6.LTE}},Of={message:({keyword:Q,schemaCode:X})=>y1.str`should be ${qY[Q].okStr} ${X}`,params:({keyword:Q,schemaCode:X})=>y1._`{comparison: ${qY[Q].okStr}, limit: ${X}}`};cL.formatLimitDefinition={keyword:Object.keys(qY),type:"string",schemaType:"string",$data:!0,error:Of,code(Q){let{gen:X,data:Y,schemaCode:W,keyword:$,it:J}=Q,{opts:G,self:H}=J;if(!G.validateFormats)return;let B=new Lf.KeywordCxt(J,H.RULES.all.format.definition,"format");if(B.$data)z();else K();function z(){let q=X.scopeValue("formats",{ref:H.formats,code:G.code.formats}),F=X.const("fmt",y1._`${q}[${B.schemaCode}]`);Q.fail$data((0,y1.or)(y1._`typeof ${F} != "object"`,y1._`${F} instanceof RegExp`,y1._`typeof ${F}.compare != "function"`,V(F)))}function K(){let q=B.schema,F=H.formats[q];if(!F||F===!0)return;if(typeof F!="object"||F instanceof RegExp||typeof F.compare!="function")throw Error(`"${$}": format "${q}" does not define "compare" function`);let A=X.scopeValue("formats",{key:q,ref:F,code:G.code.formats?y1._`${G.code.formats}${(0,y1.getProperty)(q)}`:void 0});Q.fail$data(V(A))}function V(q){return y1._`${q}.compare(${Y}, ${W}) ${qY[$].fail} 0`}},dependencies:["format"]};var Uf=(Q)=>{return Q.addKeyword(cL.formatLimitDefinition),Q};cL.default=Uf});var oL=j((d4,nL)=>{Object.defineProperty(d4,"__esModule",{value:!0});var K8=uF(),Mf=pL(),LJ=n(),dL=new LJ.Name("fullFormats"),Nf=new LJ.Name("fastFormats"),OJ=(Q,X={keywords:!0})=>{if(Array.isArray(X))return iL(Q,X,K8.fullFormats,dL),Q;let[Y,W]=X.mode==="fast"?[K8.fastFormats,Nf]:[K8.fullFormats,dL],$=X.formats||K8.formatNames;if(iL(Q,$,Y,W),X.keywords)(0,Mf.default)(Q);return Q};OJ.get=(Q,X="full")=>{let W=(X==="fast"?K8.fastFormats:K8.fullFormats)[Q];if(!W)throw Error(`Unknown format "${Q}"`);return W};function iL(Q,X,Y,W){var $,J;($=(J=Q.opts.code).formats)!==null&&$!==void 0||(J.formats=LJ._`require("ajv-formats/dist/formats").${W}`);for(let G of X)Q.addFormat(G,Y[G])}nL.exports=d4=OJ;Object.defineProperty(d4,"__esModule",{value:!0});d4.default=OJ});var RO=j((Kr,ZO)=>{ZO.exports=PO;PO.sync=Rg;var wO=K1("fs");function Zg(Q,X){var Y=X.pathExt!==void 0?X.pathExt:process.env.PATHEXT;if(!Y)return!0;if(Y=Y.split(";"),Y.indexOf("")!==-1)return!0;for(var W=0;W<Y.length;W++){var $=Y[W].toLowerCase();if($&&Q.substr(-$.length).toLowerCase()===$)return!0}return!1}function bO(Q,X,Y){if(!Q.isSymbolicLink()&&!Q.isFile())return!1;return Zg(X,Y)}function PO(Q,X,Y){wO.stat(Q,function(W,$){Y(W,W?!1:bO($,Q,X))})}function Rg(Q,X){return bO(wO.statSync(Q),Q,X)}});var CO=j((Vr,TO)=>{TO.exports=SO;SO.sync=Eg;var EO=K1("fs");function SO(Q,X,Y){EO.stat(Q,function(W,$){Y(W,W?!1:IO($,X))})}function Eg(Q,X){return IO(EO.statSync(Q),X)}function IO(Q,X){return Q.isFile()&&Sg(Q,X)}function Sg(Q,X){var{mode:Y,uid:W,gid:$}=Q,J=X.uid!==void 0?X.uid:process.getuid&&process.getuid(),G=X.gid!==void 0?X.gid:process.getgid&&process.getgid(),H=parseInt("100",8),B=parseInt("010",8),z=parseInt("001",8),K=H|B,V=Y&z||Y&B&&$===G||Y&H&&W===J||Y&K&&J===0;return V}});var vO=j((Ar,kO)=>{var Fr=K1("fs"),xY;if(process.platform==="win32"||global.TESTING_WINDOWS)xY=RO();else xY=CO();kO.exports=rJ;rJ.sync=Ig;function rJ(Q,X,Y){if(typeof X==="function")Y=X,X={};if(!Y){if(typeof Promise!=="function")throw TypeError("callback not provided");return new Promise(function(W,$){rJ(Q,X||{},function(J,G){if(J)$(J);else W(G)})})}xY(Q,X||{},function(W,$){if(W){if(W.code==="EACCES"||X&&X.ignoreErrors)W=null,$=!1}Y(W,$)})}function Ig(Q,X){try{return xY.sync(Q,X||{})}catch(Y){if(X&&X.ignoreErrors||Y.code==="EACCES")return!1;else throw Y}}});var uO=j((qr,hO)=>{var O8=process.platform==="win32"||process.env.OSTYPE==="cygwin"||process.env.OSTYPE==="msys",_O=K1("path"),Tg=O8?";":":",xO=vO(),yO=(Q)=>Object.assign(Error(`not found: ${Q}`),{code:"ENOENT"}),fO=(Q,X)=>{let Y=X.colon||Tg,W=Q.match(/\//)||O8&&Q.match(/\\/)?[""]:[...O8?[process.cwd()]:[],...(X.path||process.env.PATH||"").split(Y)],$=O8?X.pathExt||process.env.PATHEXT||".EXE;.CMD;.BAT;.COM":"",J=O8?$.split(Y):[""];if(O8){if(Q.indexOf(".")!==-1&&J[0]!=="")J.unshift("")}return{pathEnv:W,pathExt:J,pathExtExe:$}},gO=(Q,X,Y)=>{if(typeof X==="function")Y=X,X={};if(!X)X={};let{pathEnv:W,pathExt:$,pathExtExe:J}=fO(Q,X),G=[],H=(z)=>new Promise((K,V)=>{if(z===W.length)return X.all&&G.length?K(G):V(yO(Q));let q=W[z],F=/^".*"$/.test(q)?q.slice(1,-1):q,A=_O.join(F,Q),D=!F&&/^\.[\\\/]/.test(Q)?Q.slice(0,2)+A:A;K(B(D,z,0))}),B=(z,K,V)=>new Promise((q,F)=>{if(V===$.length)return q(H(K+1));let A=$[V];xO(z+A,{pathExt:J},(D,L)=>{if(!D&&L)if(X.all)G.push(z+A);else return q(z+A);return q(B(z,K,V+1))})});return Y?H(0).then((z)=>Y(null,z),Y):H(0)},Cg=(Q,X)=>{X=X||{};let{pathEnv:Y,pathExt:W,pathExtExe:$}=fO(Q,X),J=[];for(let G=0;G<Y.length;G++){let H=Y[G],B=/^".*"$/.test(H)?H.slice(1,-1):H,z=_O.join(B,Q),K=!B&&/^\.[\\\/]/.test(Q)?Q.slice(0,2)+z:z;for(let V=0;V<W.length;V++){let q=K+W[V];try{if(xO.sync(q,{pathExt:$}))if(X.all)J.push(q);else return q}catch(F){}}}if(X.all&&J.length)return J;if(X.nothrow)return null;throw yO(Q)};hO.exports=gO;gO.sync=Cg});var mO=j((Dr,tJ)=>{var lO=(Q={})=>{let X=Q.env||process.env;if((Q.platform||process.platform)!=="win32")return"PATH";return Object.keys(X).reverse().find((W)=>W.toUpperCase()==="PATH")||"Path"};tJ.exports=lO;tJ.exports.default=lO});var iO=j((Lr,dO)=>{var cO=K1("path"),kg=uO(),vg=mO();function pO(Q,X){let Y=Q.options.env||process.env,W=process.cwd(),$=Q.options.cwd!=null,J=$&&process.chdir!==void 0&&!process.chdir.disabled;if(J)try{process.chdir(Q.options.cwd)}catch(H){}let G;try{G=kg.sync(Q.command,{path:Y[vg({env:Y})],pathExt:X?cO.delimiter:void 0})}catch(H){}finally{if(J)process.chdir(W)}if(G)G=cO.resolve($?Q.options.cwd:"",G);return G}function _g(Q){return pO(Q)||pO(Q,!0)}dO.exports=_g});var nO=j((fg,sJ)=>{var aJ=/([()\][%!^"`<>&|;, *?])/g;function xg(Q){return Q=Q.replace(aJ,"^$1"),Q}function yg(Q,X){if(Q=`${Q}`,Q=Q.replace(/(?=(\\+?)?)\1"/g,"$1$1\\\""),Q=Q.replace(/(?=(\\+?)?)\1$/,"$1$1"),Q=`"${Q}"`,Q=Q.replace(aJ,"^$1"),X)Q=Q.replace(aJ,"^$1");return Q}fg.command=xg;fg.argument=yg});var rO=j((Or,oO)=>{oO.exports=/^#!(.*)/});var aO=j((Ur,tO)=>{var ug=rO();tO.exports=(Q="")=>{let X=Q.match(ug);if(!X)return null;let[Y,W]=X[0].replace(/#! ?/,"").split(" "),$=Y.split("/").pop();if($==="env")return W;return W?`${$} ${W}`:$}});var eO=j((jr,sO)=>{var eJ=K1("fs"),lg=aO();function mg(Q){let Y=Buffer.alloc(150),W;try{W=eJ.openSync(Q,"r"),eJ.readSync(W,Y,0,150,0),eJ.closeSync(W)}catch($){}return lg(Y.toString())}sO.exports=mg});var WU=j((Mr,YU)=>{var cg=K1("path"),QU=iO(),XU=nO(),pg=eO(),dg=process.platform==="win32",ig=/\.(?:com|exe)$/i,ng=/node_modules[\\/].bin[\\/][^\\/]+\.cmd$/i;function og(Q){Q.file=QU(Q);let X=Q.file&&pg(Q.file);if(X)return Q.args.unshift(Q.file),Q.command=X,QU(Q);return Q.file}function rg(Q){if(!dg)return Q;let X=og(Q),Y=!ig.test(X);if(Q.options.forceShell||Y){let W=ng.test(X);Q.command=cg.normalize(Q.command),Q.command=XU.command(Q.command),Q.args=Q.args.map((J)=>XU.argument(J,W));let $=[Q.command].concat(Q.args).join(" ");Q.args=["/d","/s","/c",`"${$}"`],Q.command=process.env.comspec||"cmd.exe",Q.options.windowsVerbatimArguments=!0}return Q}function tg(Q,X,Y){if(X&&!Array.isArray(X))Y=X,X=null;X=X?X.slice(0):[],Y=Object.assign({},Y);let W={command:Q,args:X,options:Y,file:void 0,original:{command:Q,args:X}};return Y.shell?W:rg(W)}YU.exports=tg});var GU=j((Nr,JU)=>{var QG=process.platform==="win32";function XG(Q,X){return Object.assign(Error(`${X} ${Q.command} ENOENT`),{code:"ENOENT",errno:"ENOENT",syscall:`${X} ${Q.command}`,path:Q.command,spawnargs:Q.args})}function ag(Q,X){if(!QG)return;let Y=Q.emit;Q.emit=function(W,$){if(W==="exit"){let J=$U($,X);if(J)return Y.call(Q,"error",J)}return Y.apply(Q,arguments)}}function $U(Q,X){if(QG&&Q===1&&!X.file)return XG(X.original,"spawn");return null}function sg(Q,X){if(QG&&Q===1&&!X.file)return XG(X.original,"spawnSync");return null}JU.exports={hookChildProcess:ag,verifyENOENT:$U,verifyENOENTSync:sg,notFoundError:XG}});var zU=j((wr,U8)=>{var HU=K1("child_process"),YG=WU(),WG=GU();function BU(Q,X,Y){let W=YG(Q,X,Y),$=HU.spawn(W.command,W.args,W.options);return WG.hookChildProcess($,W),$}function eg(Q,X,Y){let W=YG(Q,X,Y),$=HU.spawnSync(W.command,W.args,W.options);return $.error=$.error||WG.verifyENOENTSync($.status,W),$}U8.exports=BU;U8.exports.spawn=BU;U8.exports.sync=eg;U8.exports._parse=YG;U8.exports._enoent=WG});var x={};t4(x,{void:()=>$j,util:()=>t,unknown:()=>Yj,union:()=>Hj,undefined:()=>eU,tuple:()=>Kj,transformer:()=>Mj,symbol:()=>sU,string:()=>OG,strictObject:()=>Gj,setErrorMap:()=>bU,set:()=>Aj,record:()=>Vj,quotelessJson:()=>NU,promise:()=>jj,preprocess:()=>bj,pipeline:()=>Pj,ostring:()=>Zj,optional:()=>Nj,onumber:()=>Rj,oboolean:()=>Ej,objectUtil:()=>hY,object:()=>mY,number:()=>UG,nullable:()=>wj,null:()=>Qj,never:()=>Wj,nativeEnum:()=>Uj,nan:()=>rU,map:()=>Fj,makeIssue:()=>N8,literal:()=>Lj,lazy:()=>Dj,late:()=>nU,isValid:()=>K6,isDirty:()=>s4,isAsync:()=>j9,isAborted:()=>a4,intersection:()=>zj,instanceof:()=>oU,getParsedType:()=>h1,getErrorMap:()=>U9,function:()=>qj,enum:()=>Oj,effect:()=>Mj,discriminatedUnion:()=>Bj,defaultErrorMap:()=>o1,datetimeRegex:()=>qG,date:()=>aU,custom:()=>LG,coerce:()=>Sj,boolean:()=>jG,bigint:()=>tU,array:()=>Jj,any:()=>Xj,addIssueToContext:()=>T,ZodVoid:()=>b8,ZodUnknown:()=>V6,ZodUnion:()=>Z9,ZodUndefined:()=>b9,ZodType:()=>o,ZodTuple:()=>l1,ZodTransformer:()=>N1,ZodSymbol:()=>w8,ZodString:()=>U1,ZodSet:()=>c6,ZodSchema:()=>o,ZodRecord:()=>P8,ZodReadonly:()=>k9,ZodPromise:()=>p6,ZodPipeline:()=>E8,ZodParsedType:()=>R,ZodOptional:()=>B1,ZodObject:()=>w0,ZodNumber:()=>F6,ZodNullable:()=>t1,ZodNull:()=>P9,ZodNever:()=>u1,ZodNativeEnum:()=>I9,ZodNaN:()=>R8,ZodMap:()=>Z8,ZodLiteral:()=>S9,ZodLazy:()=>E9,ZodIssueCode:()=>b,ZodIntersection:()=>R9,ZodFunction:()=>N9,ZodFirstPartyTypeKind:()=>P,ZodError:()=>r0,ZodEnum:()=>q6,ZodEffects:()=>N1,ZodDiscriminatedUnion:()=>e4,ZodDefault:()=>T9,ZodDate:()=>l6,ZodCatch:()=>C9,ZodBranded:()=>QQ,ZodBoolean:()=>w9,ZodBigInt:()=>A6,ZodArray:()=>j1,ZodAny:()=>m6,Schema:()=>o,ParseStatus:()=>C0,OK:()=>h0,NEVER:()=>Ij,INVALID:()=>h,EMPTY_PATH:()=>PU,DIRTY:()=>u6,BRAND:()=>iU});var t;(function(Q){Q.assertEqual=($)=>{};function X($){}Q.assertIs=X;function Y($){throw Error()}Q.assertNever=Y,Q.arrayToEnum=($)=>{let J={};for(let G of $)J[G]=G;return J},Q.getValidEnumValues=($)=>{let J=Q.objectKeys($).filter((H)=>typeof $[$[H]]!=="number"),G={};for(let H of J)G[H]=$[H];return Q.objectValues(G)},Q.objectValues=($)=>{return Q.objectKeys($).map(function(J){return $[J]})},Q.objectKeys=typeof Object.keys==="function"?($)=>Object.keys($):($)=>{let J=[];for(let G in $)if(Object.prototype.hasOwnProperty.call($,G))J.push(G);return J},Q.find=($,J)=>{for(let G of $)if(J(G))return G;return},Q.isInteger=typeof Number.isInteger==="function"?($)=>Number.isInteger($):($)=>typeof $==="number"&&Number.isFinite($)&&Math.floor($)===$;function W($,J=" | "){return $.map((G)=>typeof G==="string"?`'${G}'`:G).join(J)}Q.joinValues=W,Q.jsonStringifyReplacer=($,J)=>{if(typeof J==="bigint")return J.toString();return J}})(t||(t={}));var hY;(function(Q){Q.mergeShapes=(X,Y)=>{return{...X,...Y}}})(hY||(hY={}));var R=t.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),h1=(Q)=>{switch(typeof Q){case"undefined":return R.undefined;case"string":return R.string;case"number":return Number.isNaN(Q)?R.nan:R.number;case"boolean":return R.boolean;case"function":return R.function;case"bigint":return R.bigint;case"symbol":return R.symbol;case"object":if(Array.isArray(Q))return R.array;if(Q===null)return R.null;if(Q.then&&typeof Q.then==="function"&&Q.catch&&typeof Q.catch==="function")return R.promise;if(typeof Map<"u"&&Q instanceof Map)return R.map;if(typeof Set<"u"&&Q instanceof Set)return R.set;if(typeof Date<"u"&&Q instanceof Date)return R.date;return R.object;default:return R.unknown}};var b=t.arrayToEnum(["invalid_type","invalid_literal","custom","invalid_union","invalid_union_discriminator","invalid_enum_value","unrecognized_keys","invalid_arguments","invalid_return_type","invalid_date","invalid_string","too_small","too_big","invalid_intersection_types","not_multiple_of","not_finite"]),NU=(Q)=>{return JSON.stringify(Q,null,2).replace(/"([^"]+)":/g,"$1:")};class r0 extends Error{get errors(){return this.issues}constructor(Q){super();this.issues=[],this.addIssue=(Y)=>{this.issues=[...this.issues,Y]},this.addIssues=(Y=[])=>{this.issues=[...this.issues,...Y]};let X=new.target.prototype;if(Object.setPrototypeOf)Object.setPrototypeOf(this,X);else this.__proto__=X;this.name="ZodError",this.issues=Q}format(Q){let X=Q||function($){return $.message},Y={_errors:[]},W=($)=>{for(let J of $.issues)if(J.code==="invalid_union")J.unionErrors.map(W);else if(J.code==="invalid_return_type")W(J.returnTypeError);else if(J.code==="invalid_arguments")W(J.argumentsError);else if(J.path.length===0)Y._errors.push(X(J));else{let G=Y,H=0;while(H<J.path.length){let B=J.path[H];if(H!==J.path.length-1)G[B]=G[B]||{_errors:[]};else G[B]=G[B]||{_errors:[]},G[B]._errors.push(X(J));G=G[B],H++}}};return W(this),Y}static assert(Q){if(!(Q instanceof r0))throw Error(`Not a ZodError: ${Q}`)}toString(){return this.message}get message(){return JSON.stringify(this.issues,t.jsonStringifyReplacer,2)}get isEmpty(){return this.issues.length===0}flatten(Q=(X)=>X.message){let X={},Y=[];for(let W of this.issues)if(W.path.length>0){let $=W.path[0];X[$]=X[$]||[],X[$].push(Q(W))}else Y.push(Q(W));return{formErrors:Y,fieldErrors:X}}get formErrors(){return this.flatten()}}r0.create=(Q)=>{return new r0(Q)};var wU=(Q,X)=>{let Y;switch(Q.code){case b.invalid_type:if(Q.received===R.undefined)Y="Required";else Y=`Expected ${Q.expected}, received ${Q.received}`;break;case b.invalid_literal:Y=`Invalid literal value, expected ${JSON.stringify(Q.expected,t.jsonStringifyReplacer)}`;break;case b.unrecognized_keys:Y=`Unrecognized key(s) in object: ${t.joinValues(Q.keys,", ")}`;break;case b.invalid_union:Y="Invalid input";break;case b.invalid_union_discriminator:Y=`Invalid discriminator value. Expected ${t.joinValues(Q.options)}`;break;case b.invalid_enum_value:Y=`Invalid enum value. Expected ${t.joinValues(Q.options)}, received '${Q.received}'`;break;case b.invalid_arguments:Y="Invalid function arguments";break;case b.invalid_return_type:Y="Invalid function return type";break;case b.invalid_date:Y="Invalid date";break;case b.invalid_string:if(typeof Q.validation==="object")if("includes"in Q.validation){if(Y=`Invalid input: must include "${Q.validation.includes}"`,typeof Q.validation.position==="number")Y=`${Y} at one or more positions greater than or equal to ${Q.validation.position}`}else if("startsWith"in Q.validation)Y=`Invalid input: must start with "${Q.validation.startsWith}"`;else if("endsWith"in Q.validation)Y=`Invalid input: must end with "${Q.validation.endsWith}"`;else t.assertNever(Q.validation);else if(Q.validation!=="regex")Y=`Invalid ${Q.validation}`;else Y="Invalid";break;case b.too_small:if(Q.type==="array")Y=`Array must contain ${Q.exact?"exactly":Q.inclusive?"at least":"more than"} ${Q.minimum} element(s)`;else if(Q.type==="string")Y=`String must contain ${Q.exact?"exactly":Q.inclusive?"at least":"over"} ${Q.minimum} character(s)`;else if(Q.type==="number")Y=`Number must be ${Q.exact?"exactly equal to ":Q.inclusive?"greater than or equal to ":"greater than "}${Q.minimum}`;else if(Q.type==="bigint")Y=`Number must be ${Q.exact?"exactly equal to ":Q.inclusive?"greater than or equal to ":"greater than "}${Q.minimum}`;else if(Q.type==="date")Y=`Date must be ${Q.exact?"exactly equal to ":Q.inclusive?"greater than or equal to ":"greater than "}${new Date(Number(Q.minimum))}`;else Y="Invalid input";break;case b.too_big:if(Q.type==="array")Y=`Array must contain ${Q.exact?"exactly":Q.inclusive?"at most":"less than"} ${Q.maximum} element(s)`;else if(Q.type==="string")Y=`String must contain ${Q.exact?"exactly":Q.inclusive?"at most":"under"} ${Q.maximum} character(s)`;else if(Q.type==="number")Y=`Number must be ${Q.exact?"exactly":Q.inclusive?"less than or equal to":"less than"} ${Q.maximum}`;else if(Q.type==="bigint")Y=`BigInt must be ${Q.exact?"exactly":Q.inclusive?"less than or equal to":"less than"} ${Q.maximum}`;else if(Q.type==="date")Y=`Date must be ${Q.exact?"exactly":Q.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number(Q.maximum))}`;else Y="Invalid input";break;case b.custom:Y="Invalid input";break;case b.invalid_intersection_types:Y="Intersection results could not be merged";break;case b.not_multiple_of:Y=`Number must be a multiple of ${Q.multipleOf}`;break;case b.not_finite:Y="Number must be finite";break;default:Y=X.defaultError,t.assertNever(Q)}return{message:Y}},o1=wU;var zG=o1;function bU(Q){zG=Q}function U9(){return zG}var N8=(Q)=>{let{data:X,path:Y,errorMaps:W,issueData:$}=Q,J=[...Y,...$.path||[]],G={...$,path:J};if($.message!==void 0)return{...$,path:J,message:$.message};let H="",B=W.filter((z)=>!!z).slice().reverse();for(let z of B)H=z(G,{data:X,defaultError:H}).message;return{...$,path:J,message:H}},PU=[];function T(Q,X){let Y=U9(),W=N8({issueData:X,data:Q.data,path:Q.path,errorMaps:[Q.common.contextualErrorMap,Q.schemaErrorMap,Y,Y===o1?void 0:o1].filter(($)=>!!$)});Q.common.issues.push(W)}class C0{constructor(){this.value="valid"}dirty(){if(this.value==="valid")this.value="dirty"}abort(){if(this.value!=="aborted")this.value="aborted"}static mergeArray(Q,X){let Y=[];for(let W of X){if(W.status==="aborted")return h;if(W.status==="dirty")Q.dirty();Y.push(W.value)}return{status:Q.value,value:Y}}static async mergeObjectAsync(Q,X){let Y=[];for(let W of X){let $=await W.key,J=await W.value;Y.push({key:$,value:J})}return C0.mergeObjectSync(Q,Y)}static mergeObjectSync(Q,X){let Y={};for(let W of X){let{key:$,value:J}=W;if($.status==="aborted")return h;if(J.status==="aborted")return h;if($.status==="dirty")Q.dirty();if(J.status==="dirty")Q.dirty();if($.value!=="__proto__"&&(typeof J.value<"u"||W.alwaysSet))Y[$.value]=J.value}return{status:Q.value,value:Y}}}var h=Object.freeze({status:"aborted"}),u6=(Q)=>({status:"dirty",value:Q}),h0=(Q)=>({status:"valid",value:Q}),a4=(Q)=>Q.status==="aborted",s4=(Q)=>Q.status==="dirty",K6=(Q)=>Q.status==="valid",j9=(Q)=>typeof Promise<"u"&&Q instanceof Promise;var v;(function(Q){Q.errToObj=(X)=>typeof X==="string"?{message:X}:X||{},Q.toString=(X)=>typeof X==="string"?X:X?.message})(v||(v={}));class M1{constructor(Q,X,Y,W){this._cachedPath=[],this.parent=Q,this.data=X,this._path=Y,this._key=W}get path(){if(!this._cachedPath.length)if(Array.isArray(this._key))this._cachedPath.push(...this._path,...this._key);else this._cachedPath.push(...this._path,this._key);return this._cachedPath}}var KG=(Q,X)=>{if(K6(X))return{success:!0,data:X.value};else{if(!Q.common.issues.length)throw Error("Validation failed but no issues detected.");return{success:!1,get error(){if(this._error)return this._error;let Y=new r0(Q.common.issues);return this._error=Y,this._error}}}};function p(Q){if(!Q)return{};let{errorMap:X,invalid_type_error:Y,required_error:W,description:$}=Q;if(X&&(Y||W))throw Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);if(X)return{errorMap:X,description:$};return{errorMap:(G,H)=>{let{message:B}=Q;if(G.code==="invalid_enum_value")return{message:B??H.defaultError};if(typeof H.data>"u")return{message:B??W??H.defaultError};if(G.code!=="invalid_type")return{message:H.defaultError};return{message:B??Y??H.defaultError}},description:$}}class o{get description(){return this._def.description}_getType(Q){return h1(Q.data)}_getOrReturnCtx(Q,X){return X||{common:Q.parent.common,data:Q.data,parsedType:h1(Q.data),schemaErrorMap:this._def.errorMap,path:Q.path,parent:Q.parent}}_processInputParams(Q){return{status:new C0,ctx:{common:Q.parent.common,data:Q.data,parsedType:h1(Q.data),schemaErrorMap:this._def.errorMap,path:Q.path,parent:Q.parent}}}_parseSync(Q){let X=this._parse(Q);if(j9(X))throw Error("Synchronous parse encountered promise.");return X}_parseAsync(Q){let X=this._parse(Q);return Promise.resolve(X)}parse(Q,X){let Y=this.safeParse(Q,X);if(Y.success)return Y.data;throw Y.error}safeParse(Q,X){let Y={common:{issues:[],async:X?.async??!1,contextualErrorMap:X?.errorMap},path:X?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:Q,parsedType:h1(Q)},W=this._parseSync({data:Q,path:Y.path,parent:Y});return KG(Y,W)}"~validate"(Q){let X={common:{issues:[],async:!!this["~standard"].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:Q,parsedType:h1(Q)};if(!this["~standard"].async)try{let Y=this._parseSync({data:Q,path:[],parent:X});return K6(Y)?{value:Y.value}:{issues:X.common.issues}}catch(Y){if(Y?.message?.toLowerCase()?.includes("encountered"))this["~standard"].async=!0;X.common={issues:[],async:!0}}return this._parseAsync({data:Q,path:[],parent:X}).then((Y)=>K6(Y)?{value:Y.value}:{issues:X.common.issues})}async parseAsync(Q,X){let Y=await this.safeParseAsync(Q,X);if(Y.success)return Y.data;throw Y.error}async safeParseAsync(Q,X){let Y={common:{issues:[],contextualErrorMap:X?.errorMap,async:!0},path:X?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:Q,parsedType:h1(Q)},W=this._parse({data:Q,path:Y.path,parent:Y}),$=await(j9(W)?W:Promise.resolve(W));return KG(Y,$)}refine(Q,X){let Y=(W)=>{if(typeof X==="string"||typeof X>"u")return{message:X};else if(typeof X==="function")return X(W);else return X};return this._refinement((W,$)=>{let J=Q(W),G=()=>$.addIssue({code:b.custom,...Y(W)});if(typeof Promise<"u"&&J instanceof Promise)return J.then((H)=>{if(!H)return G(),!1;else return!0});if(!J)return G(),!1;else return!0})}refinement(Q,X){return this._refinement((Y,W)=>{if(!Q(Y))return W.addIssue(typeof X==="function"?X(Y,W):X),!1;else return!0})}_refinement(Q){return new N1({schema:this,typeName:P.ZodEffects,effect:{type:"refinement",refinement:Q}})}superRefine(Q){return this._refinement(Q)}constructor(Q){this.spa=this.safeParseAsync,this._def=Q,this.parse=this.parse.bind(this),this.safeParse=this.safeParse.bind(this),this.parseAsync=this.parseAsync.bind(this),this.safeParseAsync=this.safeParseAsync.bind(this),this.spa=this.spa.bind(this),this.refine=this.refine.bind(this),this.refinement=this.refinement.bind(this),this.superRefine=this.superRefine.bind(this),this.optional=this.optional.bind(this),this.nullable=this.nullable.bind(this),this.nullish=this.nullish.bind(this),this.array=this.array.bind(this),this.promise=this.promise.bind(this),this.or=this.or.bind(this),this.and=this.and.bind(this),this.transform=this.transform.bind(this),this.brand=this.brand.bind(this),this.default=this.default.bind(this),this.catch=this.catch.bind(this),this.describe=this.describe.bind(this),this.pipe=this.pipe.bind(this),this.readonly=this.readonly.bind(this),this.isNullable=this.isNullable.bind(this),this.isOptional=this.isOptional.bind(this),this["~standard"]={version:1,vendor:"zod",validate:(X)=>this["~validate"](X)}}optional(){return B1.create(this,this._def)}nullable(){return t1.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return j1.create(this)}promise(){return p6.create(this,this._def)}or(Q){return Z9.create([this,Q],this._def)}and(Q){return R9.create(this,Q,this._def)}transform(Q){return new N1({...p(this._def),schema:this,typeName:P.ZodEffects,effect:{type:"transform",transform:Q}})}default(Q){let X=typeof Q==="function"?Q:()=>Q;return new T9({...p(this._def),innerType:this,defaultValue:X,typeName:P.ZodDefault})}brand(){return new QQ({typeName:P.ZodBranded,type:this,...p(this._def)})}catch(Q){let X=typeof Q==="function"?Q:()=>Q;return new C9({...p(this._def),innerType:this,catchValue:X,typeName:P.ZodCatch})}describe(Q){return new this.constructor({...this._def,description:Q})}pipe(Q){return E8.create(this,Q)}readonly(){return k9.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}}var ZU=/^c[^\s-]{8,}$/i,RU=/^[0-9a-z]+$/,EU=/^[0-9A-HJKMNP-TV-Z]{26}$/i,SU=/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/i,IU=/^[a-z0-9_-]{21}$/i,TU=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,CU=/^[-+]?P(?!$)(?:(?:[-+]?\d+Y)|(?:[-+]?\d+[.,]\d+Y$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:(?:[-+]?\d+W)|(?:[-+]?\d+[.,]\d+W$))?(?:(?:[-+]?\d+D)|(?:[-+]?\d+[.,]\d+D$))?(?:T(?=[\d+-])(?:(?:[-+]?\d+H)|(?:[-+]?\d+[.,]\d+H$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:[-+]?\d+(?:[.,]\d+)?S)?)??$/,kU=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,vU="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",uY,_U=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,xU=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/(3[0-2]|[12]?[0-9])$/,yU=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$/,fU=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,gU=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,hU=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,FG="((\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-((0[13578]|1[02])-(0[1-9]|[12]\\d|3[01])|(0[469]|11)-(0[1-9]|[12]\\d|30)|(02)-(0[1-9]|1\\d|2[0-8])))",uU=new RegExp(`^${FG}$`);function AG(Q){let X="[0-5]\\d";if(Q.precision)X=`${X}\\.\\d{${Q.precision}}`;else if(Q.precision==null)X=`${X}(\\.\\d+)?`;let Y=Q.precision?"+":"?";return`([01]\\d|2[0-3]):[0-5]\\d(:${X})${Y}`}function lU(Q){return new RegExp(`^${AG(Q)}$`)}function qG(Q){let X=`${FG}T${AG(Q)}`,Y=[];if(Y.push(Q.local?"Z?":"Z"),Q.offset)Y.push("([+-]\\d{2}:?\\d{2})");return X=`${X}(${Y.join("|")})`,new RegExp(`^${X}$`)}function mU(Q,X){if((X==="v4"||!X)&&_U.test(Q))return!0;if((X==="v6"||!X)&&yU.test(Q))return!0;return!1}function cU(Q,X){if(!TU.test(Q))return!1;try{let[Y]=Q.split(".");if(!Y)return!1;let W=Y.replace(/-/g,"+").replace(/_/g,"/").padEnd(Y.length+(4-Y.length%4)%4,"="),$=JSON.parse(atob(W));if(typeof $!=="object"||$===null)return!1;if("typ"in $&&$?.typ!=="JWT")return!1;if(!$.alg)return!1;if(X&&$.alg!==X)return!1;return!0}catch{return!1}}function pU(Q,X){if((X==="v4"||!X)&&xU.test(Q))return!0;if((X==="v6"||!X)&&fU.test(Q))return!0;return!1}class U1 extends o{_parse(Q){if(this._def.coerce)Q.data=String(Q.data);if(this._getType(Q)!==R.string){let $=this._getOrReturnCtx(Q);return T($,{code:b.invalid_type,expected:R.string,received:$.parsedType}),h}let Y=new C0,W=void 0;for(let $ of this._def.checks)if($.kind==="min"){if(Q.data.length<$.value)W=this._getOrReturnCtx(Q,W),T(W,{code:b.too_small,minimum:$.value,type:"string",inclusive:!0,exact:!1,message:$.message}),Y.dirty()}else if($.kind==="max"){if(Q.data.length>$.value)W=this._getOrReturnCtx(Q,W),T(W,{code:b.too_big,maximum:$.value,type:"string",inclusive:!0,exact:!1,message:$.message}),Y.dirty()}else if($.kind==="length"){let J=Q.data.length>$.value,G=Q.data.length<$.value;if(J||G){if(W=this._getOrReturnCtx(Q,W),J)T(W,{code:b.too_big,maximum:$.value,type:"string",inclusive:!0,exact:!0,message:$.message});else if(G)T(W,{code:b.too_small,minimum:$.value,type:"string",inclusive:!0,exact:!0,message:$.message});Y.dirty()}}else if($.kind==="email"){if(!kU.test(Q.data))W=this._getOrReturnCtx(Q,W),T(W,{validation:"email",code:b.invalid_string,message:$.message}),Y.dirty()}else if($.kind==="emoji"){if(!uY)uY=new RegExp(vU,"u");if(!uY.test(Q.data))W=this._getOrReturnCtx(Q,W),T(W,{validation:"emoji",code:b.invalid_string,message:$.message}),Y.dirty()}else if($.kind==="uuid"){if(!SU.test(Q.data))W=this._getOrReturnCtx(Q,W),T(W,{validation:"uuid",code:b.invalid_string,message:$.message}),Y.dirty()}else if($.kind==="nanoid"){if(!IU.test(Q.data))W=this._getOrReturnCtx(Q,W),T(W,{validation:"nanoid",code:b.invalid_string,message:$.message}),Y.dirty()}else if($.kind==="cuid"){if(!ZU.test(Q.data))W=this._getOrReturnCtx(Q,W),T(W,{validation:"cuid",code:b.invalid_string,message:$.message}),Y.dirty()}else if($.kind==="cuid2"){if(!RU.test(Q.data))W=this._getOrReturnCtx(Q,W),T(W,{validation:"cuid2",code:b.invalid_string,message:$.message}),Y.dirty()}else if($.kind==="ulid"){if(!EU.test(Q.data))W=this._getOrReturnCtx(Q,W),T(W,{validation:"ulid",code:b.invalid_string,message:$.message}),Y.dirty()}else if($.kind==="url")try{new URL(Q.data)}catch{W=this._getOrReturnCtx(Q,W),T(W,{validation:"url",code:b.invalid_string,message:$.message}),Y.dirty()}else if($.kind==="regex"){if($.regex.lastIndex=0,!$.regex.test(Q.data))W=this._getOrReturnCtx(Q,W),T(W,{validation:"regex",code:b.invalid_string,message:$.message}),Y.dirty()}else if($.kind==="trim")Q.data=Q.data.trim();else if($.kind==="includes"){if(!Q.data.includes($.value,$.position))W=this._getOrReturnCtx(Q,W),T(W,{code:b.invalid_string,validation:{includes:$.value,position:$.position},message:$.message}),Y.dirty()}else if($.kind==="toLowerCase")Q.data=Q.data.toLowerCase();else if($.kind==="toUpperCase")Q.data=Q.data.toUpperCase();else if($.kind==="startsWith"){if(!Q.data.startsWith($.value))W=this._getOrReturnCtx(Q,W),T(W,{code:b.invalid_string,validation:{startsWith:$.value},message:$.message}),Y.dirty()}else if($.kind==="endsWith"){if(!Q.data.endsWith($.value))W=this._getOrReturnCtx(Q,W),T(W,{code:b.invalid_string,validation:{endsWith:$.value},message:$.message}),Y.dirty()}else if($.kind==="datetime"){if(!qG($).test(Q.data))W=this._getOrReturnCtx(Q,W),T(W,{code:b.invalid_string,validation:"datetime",message:$.message}),Y.dirty()}else if($.kind==="date"){if(!uU.test(Q.data))W=this._getOrReturnCtx(Q,W),T(W,{code:b.invalid_string,validation:"date",message:$.message}),Y.dirty()}else if($.kind==="time"){if(!lU($).test(Q.data))W=this._getOrReturnCtx(Q,W),T(W,{code:b.invalid_string,validation:"time",message:$.message}),Y.dirty()}else if($.kind==="duration"){if(!CU.test(Q.data))W=this._getOrReturnCtx(Q,W),T(W,{validation:"duration",code:b.invalid_string,message:$.message}),Y.dirty()}else if($.kind==="ip"){if(!mU(Q.data,$.version))W=this._getOrReturnCtx(Q,W),T(W,{validation:"ip",code:b.invalid_string,message:$.message}),Y.dirty()}else if($.kind==="jwt"){if(!cU(Q.data,$.alg))W=this._getOrReturnCtx(Q,W),T(W,{validation:"jwt",code:b.invalid_string,message:$.message}),Y.dirty()}else if($.kind==="cidr"){if(!pU(Q.data,$.version))W=this._getOrReturnCtx(Q,W),T(W,{validation:"cidr",code:b.invalid_string,message:$.message}),Y.dirty()}else if($.kind==="base64"){if(!gU.test(Q.data))W=this._getOrReturnCtx(Q,W),T(W,{validation:"base64",code:b.invalid_string,message:$.message}),Y.dirty()}else if($.kind==="base64url"){if(!hU.test(Q.data))W=this._getOrReturnCtx(Q,W),T(W,{validation:"base64url",code:b.invalid_string,message:$.message}),Y.dirty()}else t.assertNever($);return{status:Y.value,value:Q.data}}_regex(Q,X,Y){return this.refinement((W)=>Q.test(W),{validation:X,code:b.invalid_string,...v.errToObj(Y)})}_addCheck(Q){return new U1({...this._def,checks:[...this._def.checks,Q]})}email(Q){return this._addCheck({kind:"email",...v.errToObj(Q)})}url(Q){return this._addCheck({kind:"url",...v.errToObj(Q)})}emoji(Q){return this._addCheck({kind:"emoji",...v.errToObj(Q)})}uuid(Q){return this._addCheck({kind:"uuid",...v.errToObj(Q)})}nanoid(Q){return this._addCheck({kind:"nanoid",...v.errToObj(Q)})}cuid(Q){return this._addCheck({kind:"cuid",...v.errToObj(Q)})}cuid2(Q){return this._addCheck({kind:"cuid2",...v.errToObj(Q)})}ulid(Q){return this._addCheck({kind:"ulid",...v.errToObj(Q)})}base64(Q){return this._addCheck({kind:"base64",...v.errToObj(Q)})}base64url(Q){return this._addCheck({kind:"base64url",...v.errToObj(Q)})}jwt(Q){return this._addCheck({kind:"jwt",...v.errToObj(Q)})}ip(Q){return this._addCheck({kind:"ip",...v.errToObj(Q)})}cidr(Q){return this._addCheck({kind:"cidr",...v.errToObj(Q)})}datetime(Q){if(typeof Q==="string")return this._addCheck({kind:"datetime",precision:null,offset:!1,local:!1,message:Q});return this._addCheck({kind:"datetime",precision:typeof Q?.precision>"u"?null:Q?.precision,offset:Q?.offset??!1,local:Q?.local??!1,...v.errToObj(Q?.message)})}date(Q){return this._addCheck({kind:"date",message:Q})}time(Q){if(typeof Q==="string")return this._addCheck({kind:"time",precision:null,message:Q});return this._addCheck({kind:"time",precision:typeof Q?.precision>"u"?null:Q?.precision,...v.errToObj(Q?.message)})}duration(Q){return this._addCheck({kind:"duration",...v.errToObj(Q)})}regex(Q,X){return this._addCheck({kind:"regex",regex:Q,...v.errToObj(X)})}includes(Q,X){return this._addCheck({kind:"includes",value:Q,position:X?.position,...v.errToObj(X?.message)})}startsWith(Q,X){return this._addCheck({kind:"startsWith",value:Q,...v.errToObj(X)})}endsWith(Q,X){return this._addCheck({kind:"endsWith",value:Q,...v.errToObj(X)})}min(Q,X){return this._addCheck({kind:"min",value:Q,...v.errToObj(X)})}max(Q,X){return this._addCheck({kind:"max",value:Q,...v.errToObj(X)})}length(Q,X){return this._addCheck({kind:"length",value:Q,...v.errToObj(X)})}nonempty(Q){return this.min(1,v.errToObj(Q))}trim(){return new U1({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new U1({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new U1({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}get isDatetime(){return!!this._def.checks.find((Q)=>Q.kind==="datetime")}get isDate(){return!!this._def.checks.find((Q)=>Q.kind==="date")}get isTime(){return!!this._def.checks.find((Q)=>Q.kind==="time")}get isDuration(){return!!this._def.checks.find((Q)=>Q.kind==="duration")}get isEmail(){return!!this._def.checks.find((Q)=>Q.kind==="email")}get isURL(){return!!this._def.checks.find((Q)=>Q.kind==="url")}get isEmoji(){return!!this._def.checks.find((Q)=>Q.kind==="emoji")}get isUUID(){return!!this._def.checks.find((Q)=>Q.kind==="uuid")}get isNANOID(){return!!this._def.checks.find((Q)=>Q.kind==="nanoid")}get isCUID(){return!!this._def.checks.find((Q)=>Q.kind==="cuid")}get isCUID2(){return!!this._def.checks.find((Q)=>Q.kind==="cuid2")}get isULID(){return!!this._def.checks.find((Q)=>Q.kind==="ulid")}get isIP(){return!!this._def.checks.find((Q)=>Q.kind==="ip")}get isCIDR(){return!!this._def.checks.find((Q)=>Q.kind==="cidr")}get isBase64(){return!!this._def.checks.find((Q)=>Q.kind==="base64")}get isBase64url(){return!!this._def.checks.find((Q)=>Q.kind==="base64url")}get minLength(){let Q=null;for(let X of this._def.checks)if(X.kind==="min"){if(Q===null||X.value>Q)Q=X.value}return Q}get maxLength(){let Q=null;for(let X of this._def.checks)if(X.kind==="max"){if(Q===null||X.value<Q)Q=X.value}return Q}}U1.create=(Q)=>{return new U1({checks:[],typeName:P.ZodString,coerce:Q?.coerce??!1,...p(Q)})};function dU(Q,X){let Y=(Q.toString().split(".")[1]||"").length,W=(X.toString().split(".")[1]||"").length,$=Y>W?Y:W,J=Number.parseInt(Q.toFixed($).replace(".","")),G=Number.parseInt(X.toFixed($).replace(".",""));return J%G/10**$}class F6 extends o{constructor(){super(...arguments);this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse(Q){if(this._def.coerce)Q.data=Number(Q.data);if(this._getType(Q)!==R.number){let $=this._getOrReturnCtx(Q);return T($,{code:b.invalid_type,expected:R.number,received:$.parsedType}),h}let Y=void 0,W=new C0;for(let $ of this._def.checks)if($.kind==="int"){if(!t.isInteger(Q.data))Y=this._getOrReturnCtx(Q,Y),T(Y,{code:b.invalid_type,expected:"integer",received:"float",message:$.message}),W.dirty()}else if($.kind==="min"){if($.inclusive?Q.data<$.value:Q.data<=$.value)Y=this._getOrReturnCtx(Q,Y),T(Y,{code:b.too_small,minimum:$.value,type:"number",inclusive:$.inclusive,exact:!1,message:$.message}),W.dirty()}else if($.kind==="max"){if($.inclusive?Q.data>$.value:Q.data>=$.value)Y=this._getOrReturnCtx(Q,Y),T(Y,{code:b.too_big,maximum:$.value,type:"number",inclusive:$.inclusive,exact:!1,message:$.message}),W.dirty()}else if($.kind==="multipleOf"){if(dU(Q.data,$.value)!==0)Y=this._getOrReturnCtx(Q,Y),T(Y,{code:b.not_multiple_of,multipleOf:$.value,message:$.message}),W.dirty()}else if($.kind==="finite"){if(!Number.isFinite(Q.data))Y=this._getOrReturnCtx(Q,Y),T(Y,{code:b.not_finite,message:$.message}),W.dirty()}else t.assertNever($);return{status:W.value,value:Q.data}}gte(Q,X){return this.setLimit("min",Q,!0,v.toString(X))}gt(Q,X){return this.setLimit("min",Q,!1,v.toString(X))}lte(Q,X){return this.setLimit("max",Q,!0,v.toString(X))}lt(Q,X){return this.setLimit("max",Q,!1,v.toString(X))}setLimit(Q,X,Y,W){return new F6({...this._def,checks:[...this._def.checks,{kind:Q,value:X,inclusive:Y,message:v.toString(W)}]})}_addCheck(Q){return new F6({...this._def,checks:[...this._def.checks,Q]})}int(Q){return this._addCheck({kind:"int",message:v.toString(Q)})}positive(Q){return this._addCheck({kind:"min",value:0,inclusive:!1,message:v.toString(Q)})}negative(Q){return this._addCheck({kind:"max",value:0,inclusive:!1,message:v.toString(Q)})}nonpositive(Q){return this._addCheck({kind:"max",value:0,inclusive:!0,message:v.toString(Q)})}nonnegative(Q){return this._addCheck({kind:"min",value:0,inclusive:!0,message:v.toString(Q)})}multipleOf(Q,X){return this._addCheck({kind:"multipleOf",value:Q,message:v.toString(X)})}finite(Q){return this._addCheck({kind:"finite",message:v.toString(Q)})}safe(Q){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:v.toString(Q)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:v.toString(Q)})}get minValue(){let Q=null;for(let X of this._def.checks)if(X.kind==="min"){if(Q===null||X.value>Q)Q=X.value}return Q}get maxValue(){let Q=null;for(let X of this._def.checks)if(X.kind==="max"){if(Q===null||X.value<Q)Q=X.value}return Q}get isInt(){return!!this._def.checks.find((Q)=>Q.kind==="int"||Q.kind==="multipleOf"&&t.isInteger(Q.value))}get isFinite(){let Q=null,X=null;for(let Y of this._def.checks)if(Y.kind==="finite"||Y.kind==="int"||Y.kind==="multipleOf")return!0;else if(Y.kind==="min"){if(X===null||Y.value>X)X=Y.value}else if(Y.kind==="max"){if(Q===null||Y.value<Q)Q=Y.value}return Number.isFinite(X)&&Number.isFinite(Q)}}F6.create=(Q)=>{return new F6({checks:[],typeName:P.ZodNumber,coerce:Q?.coerce||!1,...p(Q)})};class A6 extends o{constructor(){super(...arguments);this.min=this.gte,this.max=this.lte}_parse(Q){if(this._def.coerce)try{Q.data=BigInt(Q.data)}catch{return this._getInvalidInput(Q)}if(this._getType(Q)!==R.bigint)return this._getInvalidInput(Q);let Y=void 0,W=new C0;for(let $ of this._def.checks)if($.kind==="min"){if($.inclusive?Q.data<$.value:Q.data<=$.value)Y=this._getOrReturnCtx(Q,Y),T(Y,{code:b.too_small,type:"bigint",minimum:$.value,inclusive:$.inclusive,message:$.message}),W.dirty()}else if($.kind==="max"){if($.inclusive?Q.data>$.value:Q.data>=$.value)Y=this._getOrReturnCtx(Q,Y),T(Y,{code:b.too_big,type:"bigint",maximum:$.value,inclusive:$.inclusive,message:$.message}),W.dirty()}else if($.kind==="multipleOf"){if(Q.data%$.value!==BigInt(0))Y=this._getOrReturnCtx(Q,Y),T(Y,{code:b.not_multiple_of,multipleOf:$.value,message:$.message}),W.dirty()}else t.assertNever($);return{status:W.value,value:Q.data}}_getInvalidInput(Q){let X=this._getOrReturnCtx(Q);return T(X,{code:b.invalid_type,expected:R.bigint,received:X.parsedType}),h}gte(Q,X){return this.setLimit("min",Q,!0,v.toString(X))}gt(Q,X){return this.setLimit("min",Q,!1,v.toString(X))}lte(Q,X){return this.setLimit("max",Q,!0,v.toString(X))}lt(Q,X){return this.setLimit("max",Q,!1,v.toString(X))}setLimit(Q,X,Y,W){return new A6({...this._def,checks:[...this._def.checks,{kind:Q,value:X,inclusive:Y,message:v.toString(W)}]})}_addCheck(Q){return new A6({...this._def,checks:[...this._def.checks,Q]})}positive(Q){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:v.toString(Q)})}negative(Q){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:v.toString(Q)})}nonpositive(Q){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:v.toString(Q)})}nonnegative(Q){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:v.toString(Q)})}multipleOf(Q,X){return this._addCheck({kind:"multipleOf",value:Q,message:v.toString(X)})}get minValue(){let Q=null;for(let X of this._def.checks)if(X.kind==="min"){if(Q===null||X.value>Q)Q=X.value}return Q}get maxValue(){let Q=null;for(let X of this._def.checks)if(X.kind==="max"){if(Q===null||X.value<Q)Q=X.value}return Q}}A6.create=(Q)=>{return new A6({checks:[],typeName:P.ZodBigInt,coerce:Q?.coerce??!1,...p(Q)})};class w9 extends o{_parse(Q){if(this._def.coerce)Q.data=Boolean(Q.data);if(this._getType(Q)!==R.boolean){let Y=this._getOrReturnCtx(Q);return T(Y,{code:b.invalid_type,expected:R.boolean,received:Y.parsedType}),h}return h0(Q.data)}}w9.create=(Q)=>{return new w9({typeName:P.ZodBoolean,coerce:Q?.coerce||!1,...p(Q)})};class l6 extends o{_parse(Q){if(this._def.coerce)Q.data=new Date(Q.data);if(this._getType(Q)!==R.date){let $=this._getOrReturnCtx(Q);return T($,{code:b.invalid_type,expected:R.date,received:$.parsedType}),h}if(Number.isNaN(Q.data.getTime())){let $=this._getOrReturnCtx(Q);return T($,{code:b.invalid_date}),h}let Y=new C0,W=void 0;for(let $ of this._def.checks)if($.kind==="min"){if(Q.data.getTime()<$.value)W=this._getOrReturnCtx(Q,W),T(W,{code:b.too_small,message:$.message,inclusive:!0,exact:!1,minimum:$.value,type:"date"}),Y.dirty()}else if($.kind==="max"){if(Q.data.getTime()>$.value)W=this._getOrReturnCtx(Q,W),T(W,{code:b.too_big,message:$.message,inclusive:!0,exact:!1,maximum:$.value,type:"date"}),Y.dirty()}else t.assertNever($);return{status:Y.value,value:new Date(Q.data.getTime())}}_addCheck(Q){return new l6({...this._def,checks:[...this._def.checks,Q]})}min(Q,X){return this._addCheck({kind:"min",value:Q.getTime(),message:v.toString(X)})}max(Q,X){return this._addCheck({kind:"max",value:Q.getTime(),message:v.toString(X)})}get minDate(){let Q=null;for(let X of this._def.checks)if(X.kind==="min"){if(Q===null||X.value>Q)Q=X.value}return Q!=null?new Date(Q):null}get maxDate(){let Q=null;for(let X of this._def.checks)if(X.kind==="max"){if(Q===null||X.value<Q)Q=X.value}return Q!=null?new Date(Q):null}}l6.create=(Q)=>{return new l6({checks:[],coerce:Q?.coerce||!1,typeName:P.ZodDate,...p(Q)})};class w8 extends o{_parse(Q){if(this._getType(Q)!==R.symbol){let Y=this._getOrReturnCtx(Q);return T(Y,{code:b.invalid_type,expected:R.symbol,received:Y.parsedType}),h}return h0(Q.data)}}w8.create=(Q)=>{return new w8({typeName:P.ZodSymbol,...p(Q)})};class b9 extends o{_parse(Q){if(this._getType(Q)!==R.undefined){let Y=this._getOrReturnCtx(Q);return T(Y,{code:b.invalid_type,expected:R.undefined,received:Y.parsedType}),h}return h0(Q.data)}}b9.create=(Q)=>{return new b9({typeName:P.ZodUndefined,...p(Q)})};class P9 extends o{_parse(Q){if(this._getType(Q)!==R.null){let Y=this._getOrReturnCtx(Q);return T(Y,{code:b.invalid_type,expected:R.null,received:Y.parsedType}),h}return h0(Q.data)}}P9.create=(Q)=>{return new P9({typeName:P.ZodNull,...p(Q)})};class m6 extends o{constructor(){super(...arguments);this._any=!0}_parse(Q){return h0(Q.data)}}m6.create=(Q)=>{return new m6({typeName:P.ZodAny,...p(Q)})};class V6 extends o{constructor(){super(...arguments);this._unknown=!0}_parse(Q){return h0(Q.data)}}V6.create=(Q)=>{return new V6({typeName:P.ZodUnknown,...p(Q)})};class u1 extends o{_parse(Q){let X=this._getOrReturnCtx(Q);return T(X,{code:b.invalid_type,expected:R.never,received:X.parsedType}),h}}u1.create=(Q)=>{return new u1({typeName:P.ZodNever,...p(Q)})};class b8 extends o{_parse(Q){if(this._getType(Q)!==R.undefined){let Y=this._getOrReturnCtx(Q);return T(Y,{code:b.invalid_type,expected:R.void,received:Y.parsedType}),h}return h0(Q.data)}}b8.create=(Q)=>{return new b8({typeName:P.ZodVoid,...p(Q)})};class j1 extends o{_parse(Q){let{ctx:X,status:Y}=this._processInputParams(Q),W=this._def;if(X.parsedType!==R.array)return T(X,{code:b.invalid_type,expected:R.array,received:X.parsedType}),h;if(W.exactLength!==null){let J=X.data.length>W.exactLength.value,G=X.data.length<W.exactLength.value;if(J||G)T(X,{code:J?b.too_big:b.too_small,minimum:G?W.exactLength.value:void 0,maximum:J?W.exactLength.value:void 0,type:"array",inclusive:!0,exact:!0,message:W.exactLength.message}),Y.dirty()}if(W.minLength!==null){if(X.data.length<W.minLength.value)T(X,{code:b.too_small,minimum:W.minLength.value,type:"array",inclusive:!0,exact:!1,message:W.minLength.message}),Y.dirty()}if(W.maxLength!==null){if(X.data.length>W.maxLength.value)T(X,{code:b.too_big,maximum:W.maxLength.value,type:"array",inclusive:!0,exact:!1,message:W.maxLength.message}),Y.dirty()}if(X.common.async)return Promise.all([...X.data].map((J,G)=>{return W.type._parseAsync(new M1(X,J,X.path,G))})).then((J)=>{return C0.mergeArray(Y,J)});let $=[...X.data].map((J,G)=>{return W.type._parseSync(new M1(X,J,X.path,G))});return C0.mergeArray(Y,$)}get element(){return this._def.type}min(Q,X){return new j1({...this._def,minLength:{value:Q,message:v.toString(X)}})}max(Q,X){return new j1({...this._def,maxLength:{value:Q,message:v.toString(X)}})}length(Q,X){return new j1({...this._def,exactLength:{value:Q,message:v.toString(X)}})}nonempty(Q){return this.min(1,Q)}}j1.create=(Q,X)=>{return new j1({type:Q,minLength:null,maxLength:null,exactLength:null,typeName:P.ZodArray,...p(X)})};function M9(Q){if(Q instanceof w0){let X={};for(let Y in Q.shape){let W=Q.shape[Y];X[Y]=B1.create(M9(W))}return new w0({...Q._def,shape:()=>X})}else if(Q instanceof j1)return new j1({...Q._def,type:M9(Q.element)});else if(Q instanceof B1)return B1.create(M9(Q.unwrap()));else if(Q instanceof t1)return t1.create(M9(Q.unwrap()));else if(Q instanceof l1)return l1.create(Q.items.map((X)=>M9(X)));else return Q}class w0 extends o{constructor(){super(...arguments);this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(this._cached!==null)return this._cached;let Q=this._def.shape(),X=t.objectKeys(Q);return this._cached={shape:Q,keys:X},this._cached}_parse(Q){if(this._getType(Q)!==R.object){let B=this._getOrReturnCtx(Q);return T(B,{code:b.invalid_type,expected:R.object,received:B.parsedType}),h}let{status:Y,ctx:W}=this._processInputParams(Q),{shape:$,keys:J}=this._getCached(),G=[];if(!(this._def.catchall instanceof u1&&this._def.unknownKeys==="strip")){for(let B in W.data)if(!J.includes(B))G.push(B)}let H=[];for(let B of J){let z=$[B],K=W.data[B];H.push({key:{status:"valid",value:B},value:z._parse(new M1(W,K,W.path,B)),alwaysSet:B in W.data})}if(this._def.catchall instanceof u1){let B=this._def.unknownKeys;if(B==="passthrough")for(let z of G)H.push({key:{status:"valid",value:z},value:{status:"valid",value:W.data[z]}});else if(B==="strict"){if(G.length>0)T(W,{code:b.unrecognized_keys,keys:G}),Y.dirty()}else if(B==="strip");else throw Error("Internal ZodObject error: invalid unknownKeys value.")}else{let B=this._def.catchall;for(let z of G){let K=W.data[z];H.push({key:{status:"valid",value:z},value:B._parse(new M1(W,K,W.path,z)),alwaysSet:z in W.data})}}if(W.common.async)return Promise.resolve().then(async()=>{let B=[];for(let z of H){let K=await z.key,V=await z.value;B.push({key:K,value:V,alwaysSet:z.alwaysSet})}return B}).then((B)=>{return C0.mergeObjectSync(Y,B)});else return C0.mergeObjectSync(Y,H)}get shape(){return this._def.shape()}strict(Q){return v.errToObj,new w0({...this._def,unknownKeys:"strict",...Q!==void 0?{errorMap:(X,Y)=>{let W=this._def.errorMap?.(X,Y).message??Y.defaultError;if(X.code==="unrecognized_keys")return{message:v.errToObj(Q).message??W};return{message:W}}}:{}})}strip(){return new w0({...this._def,unknownKeys:"strip"})}passthrough(){return new w0({...this._def,unknownKeys:"passthrough"})}extend(Q){return new w0({...this._def,shape:()=>({...this._def.shape(),...Q})})}merge(Q){return new w0({unknownKeys:Q._def.unknownKeys,catchall:Q._def.catchall,shape:()=>({...this._def.shape(),...Q._def.shape()}),typeName:P.ZodObject})}setKey(Q,X){return this.augment({[Q]:X})}catchall(Q){return new w0({...this._def,catchall:Q})}pick(Q){let X={};for(let Y of t.objectKeys(Q))if(Q[Y]&&this.shape[Y])X[Y]=this.shape[Y];return new w0({...this._def,shape:()=>X})}omit(Q){let X={};for(let Y of t.objectKeys(this.shape))if(!Q[Y])X[Y]=this.shape[Y];return new w0({...this._def,shape:()=>X})}deepPartial(){return M9(this)}partial(Q){let X={};for(let Y of t.objectKeys(this.shape)){let W=this.shape[Y];if(Q&&!Q[Y])X[Y]=W;else X[Y]=W.optional()}return new w0({...this._def,shape:()=>X})}required(Q){let X={};for(let Y of t.objectKeys(this.shape))if(Q&&!Q[Y])X[Y]=this.shape[Y];else{let $=this.shape[Y];while($ instanceof B1)$=$._def.innerType;X[Y]=$}return new w0({...this._def,shape:()=>X})}keyof(){return DG(t.objectKeys(this.shape))}}w0.create=(Q,X)=>{return new w0({shape:()=>Q,unknownKeys:"strip",catchall:u1.create(),typeName:P.ZodObject,...p(X)})};w0.strictCreate=(Q,X)=>{return new w0({shape:()=>Q,unknownKeys:"strict",catchall:u1.create(),typeName:P.ZodObject,...p(X)})};w0.lazycreate=(Q,X)=>{return new w0({shape:Q,unknownKeys:"strip",catchall:u1.create(),typeName:P.ZodObject,...p(X)})};class Z9 extends o{_parse(Q){let{ctx:X}=this._processInputParams(Q),Y=this._def.options;function W($){for(let G of $)if(G.result.status==="valid")return G.result;for(let G of $)if(G.result.status==="dirty")return X.common.issues.push(...G.ctx.common.issues),G.result;let J=$.map((G)=>new r0(G.ctx.common.issues));return T(X,{code:b.invalid_union,unionErrors:J}),h}if(X.common.async)return Promise.all(Y.map(async($)=>{let J={...X,common:{...X.common,issues:[]},parent:null};return{result:await $._parseAsync({data:X.data,path:X.path,parent:J}),ctx:J}})).then(W);else{let $=void 0,J=[];for(let H of Y){let B={...X,common:{...X.common,issues:[]},parent:null},z=H._parseSync({data:X.data,path:X.path,parent:B});if(z.status==="valid")return z;else if(z.status==="dirty"&&!$)$={result:z,ctx:B};if(B.common.issues.length)J.push(B.common.issues)}if($)return X.common.issues.push(...$.ctx.common.issues),$.result;let G=J.map((H)=>new r0(H));return T(X,{code:b.invalid_union,unionErrors:G}),h}}get options(){return this._def.options}}Z9.create=(Q,X)=>{return new Z9({options:Q,typeName:P.ZodUnion,...p(X)})};var r1=(Q)=>{if(Q instanceof E9)return r1(Q.schema);else if(Q instanceof N1)return r1(Q.innerType());else if(Q instanceof S9)return[Q.value];else if(Q instanceof q6)return Q.options;else if(Q instanceof I9)return t.objectValues(Q.enum);else if(Q instanceof T9)return r1(Q._def.innerType);else if(Q instanceof b9)return[void 0];else if(Q instanceof P9)return[null];else if(Q instanceof B1)return[void 0,...r1(Q.unwrap())];else if(Q instanceof t1)return[null,...r1(Q.unwrap())];else if(Q instanceof QQ)return r1(Q.unwrap());else if(Q instanceof k9)return r1(Q.unwrap());else if(Q instanceof C9)return r1(Q._def.innerType);else return[]};class e4 extends o{_parse(Q){let{ctx:X}=this._processInputParams(Q);if(X.parsedType!==R.object)return T(X,{code:b.invalid_type,expected:R.object,received:X.parsedType}),h;let Y=this.discriminator,W=X.data[Y],$=this.optionsMap.get(W);if(!$)return T(X,{code:b.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[Y]}),h;if(X.common.async)return $._parseAsync({data:X.data,path:X.path,parent:X});else return $._parseSync({data:X.data,path:X.path,parent:X})}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create(Q,X,Y){let W=new Map;for(let $ of X){let J=r1($.shape[Q]);if(!J.length)throw Error(`A discriminator value for key \`${Q}\` could not be extracted from all schema options`);for(let G of J){if(W.has(G))throw Error(`Discriminator property ${String(Q)} has duplicate value ${String(G)}`);W.set(G,$)}}return new e4({typeName:P.ZodDiscriminatedUnion,discriminator:Q,options:X,optionsMap:W,...p(Y)})}}function lY(Q,X){let Y=h1(Q),W=h1(X);if(Q===X)return{valid:!0,data:Q};else if(Y===R.object&&W===R.object){let $=t.objectKeys(X),J=t.objectKeys(Q).filter((H)=>$.indexOf(H)!==-1),G={...Q,...X};for(let H of J){let B=lY(Q[H],X[H]);if(!B.valid)return{valid:!1};G[H]=B.data}return{valid:!0,data:G}}else if(Y===R.array&&W===R.array){if(Q.length!==X.length)return{valid:!1};let $=[];for(let J=0;J<Q.length;J++){let G=Q[J],H=X[J],B=lY(G,H);if(!B.valid)return{valid:!1};$.push(B.data)}return{valid:!0,data:$}}else if(Y===R.date&&W===R.date&&+Q===+X)return{valid:!0,data:Q};else return{valid:!1}}class R9 extends o{_parse(Q){let{status:X,ctx:Y}=this._processInputParams(Q),W=($,J)=>{if(a4($)||a4(J))return h;let G=lY($.value,J.value);if(!G.valid)return T(Y,{code:b.invalid_intersection_types}),h;if(s4($)||s4(J))X.dirty();return{status:X.value,value:G.data}};if(Y.common.async)return Promise.all([this._def.left._parseAsync({data:Y.data,path:Y.path,parent:Y}),this._def.right._parseAsync({data:Y.data,path:Y.path,parent:Y})]).then(([$,J])=>W($,J));else return W(this._def.left._parseSync({data:Y.data,path:Y.path,parent:Y}),this._def.right._parseSync({data:Y.data,path:Y.path,parent:Y}))}}R9.create=(Q,X,Y)=>{return new R9({left:Q,right:X,typeName:P.ZodIntersection,...p(Y)})};class l1 extends o{_parse(Q){let{status:X,ctx:Y}=this._processInputParams(Q);if(Y.parsedType!==R.array)return T(Y,{code:b.invalid_type,expected:R.array,received:Y.parsedType}),h;if(Y.data.length<this._def.items.length)return T(Y,{code:b.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),h;if(!this._def.rest&&Y.data.length>this._def.items.length)T(Y,{code:b.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),X.dirty();let $=[...Y.data].map((J,G)=>{let H=this._def.items[G]||this._def.rest;if(!H)return null;return H._parse(new M1(Y,J,Y.path,G))}).filter((J)=>!!J);if(Y.common.async)return Promise.all($).then((J)=>{return C0.mergeArray(X,J)});else return C0.mergeArray(X,$)}get items(){return this._def.items}rest(Q){return new l1({...this._def,rest:Q})}}l1.create=(Q,X)=>{if(!Array.isArray(Q))throw Error("You must pass an array of schemas to z.tuple([ ... ])");return new l1({items:Q,typeName:P.ZodTuple,rest:null,...p(X)})};class P8 extends o{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(Q){let{status:X,ctx:Y}=this._processInputParams(Q);if(Y.parsedType!==R.object)return T(Y,{code:b.invalid_type,expected:R.object,received:Y.parsedType}),h;let W=[],$=this._def.keyType,J=this._def.valueType;for(let G in Y.data)W.push({key:$._parse(new M1(Y,G,Y.path,G)),value:J._parse(new M1(Y,Y.data[G],Y.path,G)),alwaysSet:G in Y.data});if(Y.common.async)return C0.mergeObjectAsync(X,W);else return C0.mergeObjectSync(X,W)}get element(){return this._def.valueType}static create(Q,X,Y){if(X instanceof o)return new P8({keyType:Q,valueType:X,typeName:P.ZodRecord,...p(Y)});return new P8({keyType:U1.create(),valueType:Q,typeName:P.ZodRecord,...p(X)})}}class Z8 extends o{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(Q){let{status:X,ctx:Y}=this._processInputParams(Q);if(Y.parsedType!==R.map)return T(Y,{code:b.invalid_type,expected:R.map,received:Y.parsedType}),h;let W=this._def.keyType,$=this._def.valueType,J=[...Y.data.entries()].map(([G,H],B)=>{return{key:W._parse(new M1(Y,G,Y.path,[B,"key"])),value:$._parse(new M1(Y,H,Y.path,[B,"value"]))}});if(Y.common.async){let G=new Map;return Promise.resolve().then(async()=>{for(let H of J){let B=await H.key,z=await H.value;if(B.status==="aborted"||z.status==="aborted")return h;if(B.status==="dirty"||z.status==="dirty")X.dirty();G.set(B.value,z.value)}return{status:X.value,value:G}})}else{let G=new Map;for(let H of J){let{key:B,value:z}=H;if(B.status==="aborted"||z.status==="aborted")return h;if(B.status==="dirty"||z.status==="dirty")X.dirty();G.set(B.value,z.value)}return{status:X.value,value:G}}}}Z8.create=(Q,X,Y)=>{return new Z8({valueType:X,keyType:Q,typeName:P.ZodMap,...p(Y)})};class c6 extends o{_parse(Q){let{status:X,ctx:Y}=this._processInputParams(Q);if(Y.parsedType!==R.set)return T(Y,{code:b.invalid_type,expected:R.set,received:Y.parsedType}),h;let W=this._def;if(W.minSize!==null){if(Y.data.size<W.minSize.value)T(Y,{code:b.too_small,minimum:W.minSize.value,type:"set",inclusive:!0,exact:!1,message:W.minSize.message}),X.dirty()}if(W.maxSize!==null){if(Y.data.size>W.maxSize.value)T(Y,{code:b.too_big,maximum:W.maxSize.value,type:"set",inclusive:!0,exact:!1,message:W.maxSize.message}),X.dirty()}let $=this._def.valueType;function J(H){let B=new Set;for(let z of H){if(z.status==="aborted")return h;if(z.status==="dirty")X.dirty();B.add(z.value)}return{status:X.value,value:B}}let G=[...Y.data.values()].map((H,B)=>$._parse(new M1(Y,H,Y.path,B)));if(Y.common.async)return Promise.all(G).then((H)=>J(H));else return J(G)}min(Q,X){return new c6({...this._def,minSize:{value:Q,message:v.toString(X)}})}max(Q,X){return new c6({...this._def,maxSize:{value:Q,message:v.toString(X)}})}size(Q,X){return this.min(Q,X).max(Q,X)}nonempty(Q){return this.min(1,Q)}}c6.create=(Q,X)=>{return new c6({valueType:Q,minSize:null,maxSize:null,typeName:P.ZodSet,...p(X)})};class N9 extends o{constructor(){super(...arguments);this.validate=this.implement}_parse(Q){let{ctx:X}=this._processInputParams(Q);if(X.parsedType!==R.function)return T(X,{code:b.invalid_type,expected:R.function,received:X.parsedType}),h;function Y(G,H){return N8({data:G,path:X.path,errorMaps:[X.common.contextualErrorMap,X.schemaErrorMap,U9(),o1].filter((B)=>!!B),issueData:{code:b.invalid_arguments,argumentsError:H}})}function W(G,H){return N8({data:G,path:X.path,errorMaps:[X.common.contextualErrorMap,X.schemaErrorMap,U9(),o1].filter((B)=>!!B),issueData:{code:b.invalid_return_type,returnTypeError:H}})}let $={errorMap:X.common.contextualErrorMap},J=X.data;if(this._def.returns instanceof p6){let G=this;return h0(async function(...H){let B=new r0([]),z=await G._def.args.parseAsync(H,$).catch((q)=>{throw B.addIssue(Y(H,q)),B}),K=await Reflect.apply(J,this,z);return await G._def.returns._def.type.parseAsync(K,$).catch((q)=>{throw B.addIssue(W(K,q)),B})})}else{let G=this;return h0(function(...H){let B=G._def.args.safeParse(H,$);if(!B.success)throw new r0([Y(H,B.error)]);let z=Reflect.apply(J,this,B.data),K=G._def.returns.safeParse(z,$);if(!K.success)throw new r0([W(z,K.error)]);return K.data})}}parameters(){return this._def.args}returnType(){return this._def.returns}args(...Q){return new N9({...this._def,args:l1.create(Q).rest(V6.create())})}returns(Q){return new N9({...this._def,returns:Q})}implement(Q){return this.parse(Q)}strictImplement(Q){return this.parse(Q)}static create(Q,X,Y){return new N9({args:Q?Q:l1.create([]).rest(V6.create()),returns:X||V6.create(),typeName:P.ZodFunction,...p(Y)})}}class E9 extends o{get schema(){return this._def.getter()}_parse(Q){let{ctx:X}=this._processInputParams(Q);return this._def.getter()._parse({data:X.data,path:X.path,parent:X})}}E9.create=(Q,X)=>{return new E9({getter:Q,typeName:P.ZodLazy,...p(X)})};class S9 extends o{_parse(Q){if(Q.data!==this._def.value){let X=this._getOrReturnCtx(Q);return T(X,{received:X.data,code:b.invalid_literal,expected:this._def.value}),h}return{status:"valid",value:Q.data}}get value(){return this._def.value}}S9.create=(Q,X)=>{return new S9({value:Q,typeName:P.ZodLiteral,...p(X)})};function DG(Q,X){return new q6({values:Q,typeName:P.ZodEnum,...p(X)})}class q6 extends o{_parse(Q){if(typeof Q.data!=="string"){let X=this._getOrReturnCtx(Q),Y=this._def.values;return T(X,{expected:t.joinValues(Y),received:X.parsedType,code:b.invalid_type}),h}if(!this._cache)this._cache=new Set(this._def.values);if(!this._cache.has(Q.data)){let X=this._getOrReturnCtx(Q),Y=this._def.values;return T(X,{received:X.data,code:b.invalid_enum_value,options:Y}),h}return h0(Q.data)}get options(){return this._def.values}get enum(){let Q={};for(let X of this._def.values)Q[X]=X;return Q}get Values(){let Q={};for(let X of this._def.values)Q[X]=X;return Q}get Enum(){let Q={};for(let X of this._def.values)Q[X]=X;return Q}extract(Q,X=this._def){return q6.create(Q,{...this._def,...X})}exclude(Q,X=this._def){return q6.create(this.options.filter((Y)=>!Q.includes(Y)),{...this._def,...X})}}q6.create=DG;class I9 extends o{_parse(Q){let X=t.getValidEnumValues(this._def.values),Y=this._getOrReturnCtx(Q);if(Y.parsedType!==R.string&&Y.parsedType!==R.number){let W=t.objectValues(X);return T(Y,{expected:t.joinValues(W),received:Y.parsedType,code:b.invalid_type}),h}if(!this._cache)this._cache=new Set(t.getValidEnumValues(this._def.values));if(!this._cache.has(Q.data)){let W=t.objectValues(X);return T(Y,{received:Y.data,code:b.invalid_enum_value,options:W}),h}return h0(Q.data)}get enum(){return this._def.values}}I9.create=(Q,X)=>{return new I9({values:Q,typeName:P.ZodNativeEnum,...p(X)})};class p6 extends o{unwrap(){return this._def.type}_parse(Q){let{ctx:X}=this._processInputParams(Q);if(X.parsedType!==R.promise&&X.common.async===!1)return T(X,{code:b.invalid_type,expected:R.promise,received:X.parsedType}),h;let Y=X.parsedType===R.promise?X.data:Promise.resolve(X.data);return h0(Y.then((W)=>{return this._def.type.parseAsync(W,{path:X.path,errorMap:X.common.contextualErrorMap})}))}}p6.create=(Q,X)=>{return new p6({type:Q,typeName:P.ZodPromise,...p(X)})};class N1 extends o{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===P.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(Q){let{status:X,ctx:Y}=this._processInputParams(Q),W=this._def.effect||null,$={addIssue:(J)=>{if(T(Y,J),J.fatal)X.abort();else X.dirty()},get path(){return Y.path}};if($.addIssue=$.addIssue.bind($),W.type==="preprocess"){let J=W.transform(Y.data,$);if(Y.common.async)return Promise.resolve(J).then(async(G)=>{if(X.value==="aborted")return h;let H=await this._def.schema._parseAsync({data:G,path:Y.path,parent:Y});if(H.status==="aborted")return h;if(H.status==="dirty")return u6(H.value);if(X.value==="dirty")return u6(H.value);return H});else{if(X.value==="aborted")return h;let G=this._def.schema._parseSync({data:J,path:Y.path,parent:Y});if(G.status==="aborted")return h;if(G.status==="dirty")return u6(G.value);if(X.value==="dirty")return u6(G.value);return G}}if(W.type==="refinement"){let J=(G)=>{let H=W.refinement(G,$);if(Y.common.async)return Promise.resolve(H);if(H instanceof Promise)throw Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return G};if(Y.common.async===!1){let G=this._def.schema._parseSync({data:Y.data,path:Y.path,parent:Y});if(G.status==="aborted")return h;if(G.status==="dirty")X.dirty();return J(G.value),{status:X.value,value:G.value}}else return this._def.schema._parseAsync({data:Y.data,path:Y.path,parent:Y}).then((G)=>{if(G.status==="aborted")return h;if(G.status==="dirty")X.dirty();return J(G.value).then(()=>{return{status:X.value,value:G.value}})})}if(W.type==="transform")if(Y.common.async===!1){let J=this._def.schema._parseSync({data:Y.data,path:Y.path,parent:Y});if(!K6(J))return h;let G=W.transform(J.value,$);if(G instanceof Promise)throw Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:X.value,value:G}}else return this._def.schema._parseAsync({data:Y.data,path:Y.path,parent:Y}).then((J)=>{if(!K6(J))return h;return Promise.resolve(W.transform(J.value,$)).then((G)=>({status:X.value,value:G}))});t.assertNever(W)}}N1.create=(Q,X,Y)=>{return new N1({schema:Q,typeName:P.ZodEffects,effect:X,...p(Y)})};N1.createWithPreprocess=(Q,X,Y)=>{return new N1({schema:X,effect:{type:"preprocess",transform:Q},typeName:P.ZodEffects,...p(Y)})};class B1 extends o{_parse(Q){if(this._getType(Q)===R.undefined)return h0(void 0);return this._def.innerType._parse(Q)}unwrap(){return this._def.innerType}}B1.create=(Q,X)=>{return new B1({innerType:Q,typeName:P.ZodOptional,...p(X)})};class t1 extends o{_parse(Q){if(this._getType(Q)===R.null)return h0(null);return this._def.innerType._parse(Q)}unwrap(){return this._def.innerType}}t1.create=(Q,X)=>{return new t1({innerType:Q,typeName:P.ZodNullable,...p(X)})};class T9 extends o{_parse(Q){let{ctx:X}=this._processInputParams(Q),Y=X.data;if(X.parsedType===R.undefined)Y=this._def.defaultValue();return this._def.innerType._parse({data:Y,path:X.path,parent:X})}removeDefault(){return this._def.innerType}}T9.create=(Q,X)=>{return new T9({innerType:Q,typeName:P.ZodDefault,defaultValue:typeof X.default==="function"?X.default:()=>X.default,...p(X)})};class C9 extends o{_parse(Q){let{ctx:X}=this._processInputParams(Q),Y={...X,common:{...X.common,issues:[]}},W=this._def.innerType._parse({data:Y.data,path:Y.path,parent:{...Y}});if(j9(W))return W.then(($)=>{return{status:"valid",value:$.status==="valid"?$.value:this._def.catchValue({get error(){return new r0(Y.common.issues)},input:Y.data})}});else return{status:"valid",value:W.status==="valid"?W.value:this._def.catchValue({get error(){return new r0(Y.common.issues)},input:Y.data})}}removeCatch(){return this._def.innerType}}C9.create=(Q,X)=>{return new C9({innerType:Q,typeName:P.ZodCatch,catchValue:typeof X.catch==="function"?X.catch:()=>X.catch,...p(X)})};class R8 extends o{_parse(Q){if(this._getType(Q)!==R.nan){let Y=this._getOrReturnCtx(Q);return T(Y,{code:b.invalid_type,expected:R.nan,received:Y.parsedType}),h}return{status:"valid",value:Q.data}}}R8.create=(Q)=>{return new R8({typeName:P.ZodNaN,...p(Q)})};var iU=Symbol("zod_brand");class QQ extends o{_parse(Q){let{ctx:X}=this._processInputParams(Q),Y=X.data;return this._def.type._parse({data:Y,path:X.path,parent:X})}unwrap(){return this._def.type}}class E8 extends o{_parse(Q){let{status:X,ctx:Y}=this._processInputParams(Q);if(Y.common.async)return(async()=>{let $=await this._def.in._parseAsync({data:Y.data,path:Y.path,parent:Y});if($.status==="aborted")return h;if($.status==="dirty")return X.dirty(),u6($.value);else return this._def.out._parseAsync({data:$.value,path:Y.path,parent:Y})})();else{let W=this._def.in._parseSync({data:Y.data,path:Y.path,parent:Y});if(W.status==="aborted")return h;if(W.status==="dirty")return X.dirty(),{status:"dirty",value:W.value};else return this._def.out._parseSync({data:W.value,path:Y.path,parent:Y})}}static create(Q,X){return new E8({in:Q,out:X,typeName:P.ZodPipeline})}}class k9 extends o{_parse(Q){let X=this._def.innerType._parse(Q),Y=(W)=>{if(K6(W))W.value=Object.freeze(W.value);return W};return j9(X)?X.then((W)=>Y(W)):Y(X)}unwrap(){return this._def.innerType}}k9.create=(Q,X)=>{return new k9({innerType:Q,typeName:P.ZodReadonly,...p(X)})};function VG(Q,X){let Y=typeof Q==="function"?Q(X):typeof Q==="string"?{message:Q}:Q;return typeof Y==="string"?{message:Y}:Y}function LG(Q,X={},Y){if(Q)return m6.create().superRefine((W,$)=>{let J=Q(W);if(J instanceof Promise)return J.then((G)=>{if(!G){let H=VG(X,W),B=H.fatal??Y??!0;$.addIssue({code:"custom",...H,fatal:B})}});if(!J){let G=VG(X,W),H=G.fatal??Y??!0;$.addIssue({code:"custom",...G,fatal:H})}return});return m6.create()}var nU={object:w0.lazycreate},P;(function(Q){Q.ZodString="ZodString",Q.ZodNumber="ZodNumber",Q.ZodNaN="ZodNaN",Q.ZodBigInt="ZodBigInt",Q.ZodBoolean="ZodBoolean",Q.ZodDate="ZodDate",Q.ZodSymbol="ZodSymbol",Q.ZodUndefined="ZodUndefined",Q.ZodNull="ZodNull",Q.ZodAny="ZodAny",Q.ZodUnknown="ZodUnknown",Q.ZodNever="ZodNever",Q.ZodVoid="ZodVoid",Q.ZodArray="ZodArray",Q.ZodObject="ZodObject",Q.ZodUnion="ZodUnion",Q.ZodDiscriminatedUnion="ZodDiscriminatedUnion",Q.ZodIntersection="ZodIntersection",Q.ZodTuple="ZodTuple",Q.ZodRecord="ZodRecord",Q.ZodMap="ZodMap",Q.ZodSet="ZodSet",Q.ZodFunction="ZodFunction",Q.ZodLazy="ZodLazy",Q.ZodLiteral="ZodLiteral",Q.ZodEnum="ZodEnum",Q.ZodEffects="ZodEffects",Q.ZodNativeEnum="ZodNativeEnum",Q.ZodOptional="ZodOptional",Q.ZodNullable="ZodNullable",Q.ZodDefault="ZodDefault",Q.ZodCatch="ZodCatch",Q.ZodPromise="ZodPromise",Q.ZodBranded="ZodBranded",Q.ZodPipeline="ZodPipeline",Q.ZodReadonly="ZodReadonly"})(P||(P={}));var oU=(Q,X={message:`Input not instance of ${Q.name}`})=>LG((Y)=>Y instanceof Q,X),OG=U1.create,UG=F6.create,rU=R8.create,tU=A6.create,jG=w9.create,aU=l6.create,sU=w8.create,eU=b9.create,Qj=P9.create,Xj=m6.create,Yj=V6.create,Wj=u1.create,$j=b8.create,Jj=j1.create,mY=w0.create,Gj=w0.strictCreate,Hj=Z9.create,Bj=e4.create,zj=R9.create,Kj=l1.create,Vj=P8.create,Fj=Z8.create,Aj=c6.create,qj=N9.create,Dj=E9.create,Lj=S9.create,Oj=q6.create,Uj=I9.create,jj=p6.create,Mj=N1.create,Nj=B1.create,wj=t1.create,bj=N1.createWithPreprocess,Pj=E8.create,Zj=()=>OG().optional(),Rj=()=>UG().optional(),Ej=()=>jG().optional(),Sj={string:(Q)=>U1.create({...Q,coerce:!0}),number:(Q)=>F6.create({...Q,coerce:!0}),boolean:(Q)=>w9.create({...Q,coerce:!0}),bigint:(Q)=>A6.create({...Q,coerce:!0}),date:(Q)=>l6.create({...Q,coerce:!0})};var Ij=h;var YQ=Object.freeze({status:"aborted"});function M(Q,X,Y){function W(H,B){var z;Object.defineProperty(H,"_zod",{value:H._zod??{},enumerable:!1}),(z=H._zod).traits??(z.traits=new Set),H._zod.traits.add(Q),X(H,B);for(let K in G.prototype)if(!(K in H))Object.defineProperty(H,K,{value:G.prototype[K].bind(H)});H._zod.constr=G,H._zod.def=B}let $=Y?.Parent??Object;class J extends ${}Object.defineProperty(J,"name",{value:Q});function G(H){var B;let z=Y?.Parent?new J:this;W(z,H),(B=z._zod).deferred??(B.deferred=[]);for(let K of z._zod.deferred)K();return z}return Object.defineProperty(G,"init",{value:W}),Object.defineProperty(G,Symbol.hasInstance,{value:(H)=>{if(Y?.Parent&&H instanceof Y.Parent)return!0;return H?._zod?.traits?.has(Q)}}),Object.defineProperty(G,"name",{value:Q}),G}var MG=Symbol("zod_brand");class D6 extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}}var XQ={};function t0(Q){if(Q)Object.assign(XQ,Q);return XQ}var a={};t4(a,{unwrapMessage:()=>S8,stringifyPrimitive:()=>JQ,required:()=>ij,randomString:()=>fj,propertyKeyTypes:()=>oY,promiseAllObject:()=>yj,primitiveTypes:()=>NG,prefixIssues:()=>m1,pick:()=>lj,partial:()=>dj,optionalKeys:()=>rY,omit:()=>mj,numKeys:()=>gj,nullish:()=>C8,normalizeParams:()=>g,merge:()=>pj,jsonStringifyReplacer:()=>pY,joinValues:()=>WQ,issue:()=>aY,isPlainObject:()=>_9,isObject:()=>v9,getSizableOrigin:()=>bG,getParsedType:()=>hj,getLengthableOrigin:()=>v8,getEnumValues:()=>I8,getElementAtPath:()=>xj,floatSafeRemainder:()=>dY,finalizeIssue:()=>w1,extend:()=>cj,escapeRegex:()=>L6,esc:()=>d6,defineLazy:()=>V0,createTransparentProxy:()=>uj,clone:()=>a0,cleanRegex:()=>k8,cleanEnum:()=>nj,captureStackTrace:()=>$Q,cached:()=>T8,assignProp:()=>iY,assertNotEqual:()=>Cj,assertNever:()=>vj,assertIs:()=>kj,assertEqual:()=>Tj,assert:()=>_j,allowsEval:()=>nY,aborted:()=>i6,NUMBER_FORMAT_RANGES:()=>tY,Class:()=>PG,BIGINT_FORMAT_RANGES:()=>wG});function Tj(Q){return Q}function Cj(Q){return Q}function kj(Q){}function vj(Q){throw Error()}function _j(Q){}function I8(Q){let X=Object.values(Q).filter((W)=>typeof W==="number");return Object.entries(Q).filter(([W,$])=>X.indexOf(+W)===-1).map(([W,$])=>$)}function WQ(Q,X="|"){return Q.map((Y)=>JQ(Y)).join(X)}function pY(Q,X){if(typeof X==="bigint")return X.toString();return X}function T8(Q){return{get value(){{let Y=Q();return Object.defineProperty(this,"value",{value:Y}),Y}throw Error("cached value already set")}}}function C8(Q){return Q===null||Q===void 0}function k8(Q){let X=Q.startsWith("^")?1:0,Y=Q.endsWith("$")?Q.length-1:Q.length;return Q.slice(X,Y)}function dY(Q,X){let Y=(Q.toString().split(".")[1]||"").length,W=(X.toString().split(".")[1]||"").length,$=Y>W?Y:W,J=Number.parseInt(Q.toFixed($).replace(".","")),G=Number.parseInt(X.toFixed($).replace(".",""));return J%G/10**$}function V0(Q,X,Y){Object.defineProperty(Q,X,{get(){{let $=Y();return Q[X]=$,$}throw Error("cached value already set")},set($){Object.defineProperty(Q,X,{value:$})},configurable:!0})}function iY(Q,X,Y){Object.defineProperty(Q,X,{value:Y,writable:!0,enumerable:!0,configurable:!0})}function xj(Q,X){if(!X)return Q;return X.reduce((Y,W)=>Y?.[W],Q)}function yj(Q){let X=Object.keys(Q),Y=X.map((W)=>Q[W]);return Promise.all(Y).then((W)=>{let $={};for(let J=0;J<X.length;J++)$[X[J]]=W[J];return $})}function fj(Q=10){let Y="";for(let W=0;W<Q;W++)Y+="abcdefghijklmnopqrstuvwxyz"[Math.floor(Math.random()*26)];return Y}function d6(Q){return JSON.stringify(Q)}var $Q=Error.captureStackTrace?Error.captureStackTrace:(...Q)=>{};function v9(Q){return typeof Q==="object"&&Q!==null&&!Array.isArray(Q)}var nY=T8(()=>{if(typeof navigator<"u"&&navigator?.userAgent?.includes("Cloudflare"))return!1;try{return new Function(""),!0}catch(Q){return!1}});function _9(Q){if(v9(Q)===!1)return!1;let X=Q.constructor;if(X===void 0)return!0;let Y=X.prototype;if(v9(Y)===!1)return!1;if(Object.prototype.hasOwnProperty.call(Y,"isPrototypeOf")===!1)return!1;return!0}function gj(Q){let X=0;for(let Y in Q)if(Object.prototype.hasOwnProperty.call(Q,Y))X++;return X}var hj=(Q)=>{let X=typeof Q;switch(X){case"undefined":return"undefined";case"string":return"string";case"number":return Number.isNaN(Q)?"nan":"number";case"boolean":return"boolean";case"function":return"function";case"bigint":return"bigint";case"symbol":return"symbol";case"object":if(Array.isArray(Q))return"array";if(Q===null)return"null";if(Q.then&&typeof Q.then==="function"&&Q.catch&&typeof Q.catch==="function")return"promise";if(typeof Map<"u"&&Q instanceof Map)return"map";if(typeof Set<"u"&&Q instanceof Set)return"set";if(typeof Date<"u"&&Q instanceof Date)return"date";if(typeof File<"u"&&Q instanceof File)return"file";return"object";default:throw Error(`Unknown data type: ${X}`)}},oY=new Set(["string","number","symbol"]),NG=new Set(["string","number","bigint","boolean","symbol","undefined"]);function L6(Q){return Q.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function a0(Q,X,Y){let W=new Q._zod.constr(X??Q._zod.def);if(!X||Y?.parent)W._zod.parent=Q;return W}function g(Q){let X=Q;if(!X)return{};if(typeof X==="string")return{error:()=>X};if(X?.message!==void 0){if(X?.error!==void 0)throw Error("Cannot specify both `message` and `error` params");X.error=X.message}if(delete X.message,typeof X.error==="string")return{...X,error:()=>X.error};return X}function uj(Q){let X;return new Proxy({},{get(Y,W,$){return X??(X=Q()),Reflect.get(X,W,$)},set(Y,W,$,J){return X??(X=Q()),Reflect.set(X,W,$,J)},has(Y,W){return X??(X=Q()),Reflect.has(X,W)},deleteProperty(Y,W){return X??(X=Q()),Reflect.deleteProperty(X,W)},ownKeys(Y){return X??(X=Q()),Reflect.ownKeys(X)},getOwnPropertyDescriptor(Y,W){return X??(X=Q()),Reflect.getOwnPropertyDescriptor(X,W)},defineProperty(Y,W,$){return X??(X=Q()),Reflect.defineProperty(X,W,$)}})}function JQ(Q){if(typeof Q==="bigint")return Q.toString()+"n";if(typeof Q==="string")return`"${Q}"`;return`${Q}`}function rY(Q){return Object.keys(Q).filter((X)=>{return Q[X]._zod.optin==="optional"&&Q[X]._zod.optout==="optional"})}var tY={safeint:[Number.MIN_SAFE_INTEGER,Number.MAX_SAFE_INTEGER],int32:[-2147483648,2147483647],uint32:[0,4294967295],float32:[-340282346638528860000000000000000000000,340282346638528860000000000000000000000],float64:[-Number.MAX_VALUE,Number.MAX_VALUE]},wG={int64:[BigInt("-9223372036854775808"),BigInt("9223372036854775807")],uint64:[BigInt(0),BigInt("18446744073709551615")]};function lj(Q,X){let Y={},W=Q._zod.def;for(let $ in X){if(!($ in W.shape))throw Error(`Unrecognized key: "${$}"`);if(!X[$])continue;Y[$]=W.shape[$]}return a0(Q,{...Q._zod.def,shape:Y,checks:[]})}function mj(Q,X){let Y={...Q._zod.def.shape},W=Q._zod.def;for(let $ in X){if(!($ in W.shape))throw Error(`Unrecognized key: "${$}"`);if(!X[$])continue;delete Y[$]}return a0(Q,{...Q._zod.def,shape:Y,checks:[]})}function cj(Q,X){if(!_9(X))throw Error("Invalid input to extend: expected a plain object");let Y={...Q._zod.def,get shape(){let W={...Q._zod.def.shape,...X};return iY(this,"shape",W),W},checks:[]};return a0(Q,Y)}function pj(Q,X){return a0(Q,{...Q._zod.def,get shape(){let Y={...Q._zod.def.shape,...X._zod.def.shape};return iY(this,"shape",Y),Y},catchall:X._zod.def.catchall,checks:[]})}function dj(Q,X,Y){let W=X._zod.def.shape,$={...W};if(Y)for(let J in Y){if(!(J in W))throw Error(`Unrecognized key: "${J}"`);if(!Y[J])continue;$[J]=Q?new Q({type:"optional",innerType:W[J]}):W[J]}else for(let J in W)$[J]=Q?new Q({type:"optional",innerType:W[J]}):W[J];return a0(X,{...X._zod.def,shape:$,checks:[]})}function ij(Q,X,Y){let W=X._zod.def.shape,$={...W};if(Y)for(let J in Y){if(!(J in $))throw Error(`Unrecognized key: "${J}"`);if(!Y[J])continue;$[J]=new Q({type:"nonoptional",innerType:W[J]})}else for(let J in W)$[J]=new Q({type:"nonoptional",innerType:W[J]});return a0(X,{...X._zod.def,shape:$,checks:[]})}function i6(Q,X=0){for(let Y=X;Y<Q.issues.length;Y++)if(Q.issues[Y]?.continue!==!0)return!0;return!1}function m1(Q,X){return X.map((Y)=>{var W;return(W=Y).path??(W.path=[]),Y.path.unshift(Q),Y})}function S8(Q){return typeof Q==="string"?Q:Q?.message}function w1(Q,X,Y){let W={...Q,path:Q.path??[]};if(!Q.message){let $=S8(Q.inst?._zod.def?.error?.(Q))??S8(X?.error?.(Q))??S8(Y.customError?.(Q))??S8(Y.localeError?.(Q))??"Invalid input";W.message=$}if(delete W.inst,delete W.continue,!X?.reportInput)delete W.input;return W}function bG(Q){if(Q instanceof Set)return"set";if(Q instanceof Map)return"map";if(Q instanceof File)return"file";return"unknown"}function v8(Q){if(Array.isArray(Q))return"array";if(typeof Q==="string")return"string";return"unknown"}function aY(...Q){let[X,Y,W]=Q;if(typeof X==="string")return{message:X,code:"custom",input:Y,inst:W};return{...X}}function nj(Q){return Object.entries(Q).filter(([X,Y])=>{return Number.isNaN(Number.parseInt(X,10))}).map((X)=>X[1])}class PG{constructor(...Q){}}var ZG=(Q,X)=>{Q.name="$ZodError",Object.defineProperty(Q,"_zod",{value:Q._zod,enumerable:!1}),Object.defineProperty(Q,"issues",{value:X,enumerable:!1}),Object.defineProperty(Q,"message",{get(){return JSON.stringify(X,pY,2)},enumerable:!0}),Object.defineProperty(Q,"toString",{value:()=>Q.message,enumerable:!1})},GQ=M("$ZodError",ZG),_8=M("$ZodError",ZG,{Parent:Error});function HQ(Q,X=(Y)=>Y.message){let Y={},W=[];for(let $ of Q.issues)if($.path.length>0)Y[$.path[0]]=Y[$.path[0]]||[],Y[$.path[0]].push(X($));else W.push(X($));return{formErrors:W,fieldErrors:Y}}function BQ(Q,X){let Y=X||function(J){return J.message},W={_errors:[]},$=(J)=>{for(let G of J.issues)if(G.code==="invalid_union"&&G.errors.length)G.errors.map((H)=>$({issues:H}));else if(G.code==="invalid_key")$({issues:G.issues});else if(G.code==="invalid_element")$({issues:G.issues});else if(G.path.length===0)W._errors.push(Y(G));else{let H=W,B=0;while(B<G.path.length){let z=G.path[B];if(B!==G.path.length-1)H[z]=H[z]||{_errors:[]};else H[z]=H[z]||{_errors:[]},H[z]._errors.push(Y(G));H=H[z],B++}}};return $(Q),W}var sY=(Q)=>(X,Y,W,$)=>{let J=W?Object.assign(W,{async:!1}):{async:!1},G=X._zod.run({value:Y,issues:[]},J);if(G instanceof Promise)throw new D6;if(G.issues.length){let H=new($?.Err??Q)(G.issues.map((B)=>w1(B,J,t0())));throw $Q(H,$?.callee),H}return G.value},eY=sY(_8),Q7=(Q)=>async(X,Y,W,$)=>{let J=W?Object.assign(W,{async:!0}):{async:!0},G=X._zod.run({value:Y,issues:[]},J);if(G instanceof Promise)G=await G;if(G.issues.length){let H=new($?.Err??Q)(G.issues.map((B)=>w1(B,J,t0())));throw $Q(H,$?.callee),H}return G.value},X7=Q7(_8),Y7=(Q)=>(X,Y,W)=>{let $=W?{...W,async:!1}:{async:!1},J=X._zod.run({value:Y,issues:[]},$);if(J instanceof Promise)throw new D6;return J.issues.length?{success:!1,error:new(Q??GQ)(J.issues.map((G)=>w1(G,$,t0())))}:{success:!0,data:J.value}},n6=Y7(_8),W7=(Q)=>async(X,Y,W)=>{let $=W?Object.assign(W,{async:!0}):{async:!0},J=X._zod.run({value:Y,issues:[]},$);if(J instanceof Promise)J=await J;return J.issues.length?{success:!1,error:new Q(J.issues.map((G)=>w1(G,$,t0())))}:{success:!0,data:J.value}},o6=W7(_8);var RG=/^[cC][^\s-]{8,}$/,EG=/^[0-9a-z]+$/,SG=/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/,IG=/^[0-9a-vA-V]{20}$/,TG=/^[A-Za-z0-9]{27}$/,CG=/^[a-zA-Z0-9_-]{21}$/,kG=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/;var vG=/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$/,$7=(Q)=>{if(!Q)return/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$/;return new RegExp(`^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-${Q}[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$`)};var _G=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/;function xG(){return new RegExp("^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$","u")}var yG=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,fG=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|::|([0-9a-fA-F]{1,4})?::([0-9a-fA-F]{1,4}:?){0,6})$/,gG=/^((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/([0-9]|[1-2][0-9]|3[0-2])$/,hG=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|::|([0-9a-fA-F]{1,4})?::([0-9a-fA-F]{1,4}:?){0,6})\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,uG=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,J7=/^[A-Za-z0-9_-]*$/,lG=/^([a-zA-Z0-9-]+\.)*[a-zA-Z0-9-]+$/;var mG=/^\+(?:[0-9]){6,14}[0-9]$/,cG="(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))",pG=new RegExp(`^${cG}$`);function dG(Q){return typeof Q.precision==="number"?Q.precision===-1?"(?:[01]\\d|2[0-3]):[0-5]\\d":Q.precision===0?"(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d":`(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{${Q.precision}}`:"(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?"}function iG(Q){return new RegExp(`^${dG(Q)}$`)}function nG(Q){let X=dG({precision:Q.precision}),Y=["Z"];if(Q.local)Y.push("");if(Q.offset)Y.push("([+-]\\d{2}:\\d{2})");let W=`${X}(?:${Y.join("|")})`;return new RegExp(`^${cG}T(?:${W})$`)}var oG=(Q)=>{let X=Q?`[\\s\\S]{${Q?.minimum??0},${Q?.maximum??""}}`:"[\\s\\S]*";return new RegExp(`^${X}$`)},rG=/^\d+n?$/,tG=/^\d+$/,aG=/^-?\d+(?:\.\d+)?/i,sG=/true|false/i,eG=/null/i;var QH=/^[^A-Z]*$/,XH=/^[^a-z]*$/;var k0=M("$ZodCheck",(Q,X)=>{var Y;Q._zod??(Q._zod={}),Q._zod.def=X,(Y=Q._zod).onattach??(Y.onattach=[])}),YH={number:"number",bigint:"bigint",object:"date"},G7=M("$ZodCheckLessThan",(Q,X)=>{k0.init(Q,X);let Y=YH[typeof X.value];Q._zod.onattach.push((W)=>{let $=W._zod.bag,J=(X.inclusive?$.maximum:$.exclusiveMaximum)??Number.POSITIVE_INFINITY;if(X.value<J)if(X.inclusive)$.maximum=X.value;else $.exclusiveMaximum=X.value}),Q._zod.check=(W)=>{if(X.inclusive?W.value<=X.value:W.value<X.value)return;W.issues.push({origin:Y,code:"too_big",maximum:X.value,input:W.value,inclusive:X.inclusive,inst:Q,continue:!X.abort})}}),H7=M("$ZodCheckGreaterThan",(Q,X)=>{k0.init(Q,X);let Y=YH[typeof X.value];Q._zod.onattach.push((W)=>{let $=W._zod.bag,J=(X.inclusive?$.minimum:$.exclusiveMinimum)??Number.NEGATIVE_INFINITY;if(X.value>J)if(X.inclusive)$.minimum=X.value;else $.exclusiveMinimum=X.value}),Q._zod.check=(W)=>{if(X.inclusive?W.value>=X.value:W.value>X.value)return;W.issues.push({origin:Y,code:"too_small",minimum:X.value,input:W.value,inclusive:X.inclusive,inst:Q,continue:!X.abort})}}),WH=M("$ZodCheckMultipleOf",(Q,X)=>{k0.init(Q,X),Q._zod.onattach.push((Y)=>{var W;(W=Y._zod.bag).multipleOf??(W.multipleOf=X.value)}),Q._zod.check=(Y)=>{if(typeof Y.value!==typeof X.value)throw Error("Cannot mix number and bigint in multiple_of check.");if(typeof Y.value==="bigint"?Y.value%X.value===BigInt(0):dY(Y.value,X.value)===0)return;Y.issues.push({origin:typeof Y.value,code:"not_multiple_of",divisor:X.value,input:Y.value,inst:Q,continue:!X.abort})}}),$H=M("$ZodCheckNumberFormat",(Q,X)=>{k0.init(Q,X),X.format=X.format||"float64";let Y=X.format?.includes("int"),W=Y?"int":"number",[$,J]=tY[X.format];Q._zod.onattach.push((G)=>{let H=G._zod.bag;if(H.format=X.format,H.minimum=$,H.maximum=J,Y)H.pattern=tG}),Q._zod.check=(G)=>{let H=G.value;if(Y){if(!Number.isInteger(H)){G.issues.push({expected:W,format:X.format,code:"invalid_type",input:H,inst:Q});return}if(!Number.isSafeInteger(H)){if(H>0)G.issues.push({input:H,code:"too_big",maximum:Number.MAX_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:Q,origin:W,continue:!X.abort});else G.issues.push({input:H,code:"too_small",minimum:Number.MIN_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:Q,origin:W,continue:!X.abort});return}}if(H<$)G.issues.push({origin:"number",input:H,code:"too_small",minimum:$,inclusive:!0,inst:Q,continue:!X.abort});if(H>J)G.issues.push({origin:"number",input:H,code:"too_big",maximum:J,inst:Q})}});var JH=M("$ZodCheckMaxLength",(Q,X)=>{var Y;k0.init(Q,X),(Y=Q._zod.def).when??(Y.when=(W)=>{let $=W.value;return!C8($)&&$.length!==void 0}),Q._zod.onattach.push((W)=>{let $=W._zod.bag.maximum??Number.POSITIVE_INFINITY;if(X.maximum<$)W._zod.bag.maximum=X.maximum}),Q._zod.check=(W)=>{let $=W.value;if($.length<=X.maximum)return;let G=v8($);W.issues.push({origin:G,code:"too_big",maximum:X.maximum,inclusive:!0,input:$,inst:Q,continue:!X.abort})}}),GH=M("$ZodCheckMinLength",(Q,X)=>{var Y;k0.init(Q,X),(Y=Q._zod.def).when??(Y.when=(W)=>{let $=W.value;return!C8($)&&$.length!==void 0}),Q._zod.onattach.push((W)=>{let $=W._zod.bag.minimum??Number.NEGATIVE_INFINITY;if(X.minimum>$)W._zod.bag.minimum=X.minimum}),Q._zod.check=(W)=>{let $=W.value;if($.length>=X.minimum)return;let G=v8($);W.issues.push({origin:G,code:"too_small",minimum:X.minimum,inclusive:!0,input:$,inst:Q,continue:!X.abort})}}),HH=M("$ZodCheckLengthEquals",(Q,X)=>{var Y;k0.init(Q,X),(Y=Q._zod.def).when??(Y.when=(W)=>{let $=W.value;return!C8($)&&$.length!==void 0}),Q._zod.onattach.push((W)=>{let $=W._zod.bag;$.minimum=X.length,$.maximum=X.length,$.length=X.length}),Q._zod.check=(W)=>{let $=W.value,J=$.length;if(J===X.length)return;let G=v8($),H=J>X.length;W.issues.push({origin:G,...H?{code:"too_big",maximum:X.length}:{code:"too_small",minimum:X.length},inclusive:!0,exact:!0,input:W.value,inst:Q,continue:!X.abort})}}),y8=M("$ZodCheckStringFormat",(Q,X)=>{var Y,W;if(k0.init(Q,X),Q._zod.onattach.push(($)=>{let J=$._zod.bag;if(J.format=X.format,X.pattern)J.patterns??(J.patterns=new Set),J.patterns.add(X.pattern)}),X.pattern)(Y=Q._zod).check??(Y.check=($)=>{if(X.pattern.lastIndex=0,X.pattern.test($.value))return;$.issues.push({origin:"string",code:"invalid_format",format:X.format,input:$.value,...X.pattern?{pattern:X.pattern.toString()}:{},inst:Q,continue:!X.abort})});else(W=Q._zod).check??(W.check=()=>{})}),BH=M("$ZodCheckRegex",(Q,X)=>{y8.init(Q,X),Q._zod.check=(Y)=>{if(X.pattern.lastIndex=0,X.pattern.test(Y.value))return;Y.issues.push({origin:"string",code:"invalid_format",format:"regex",input:Y.value,pattern:X.pattern.toString(),inst:Q,continue:!X.abort})}}),zH=M("$ZodCheckLowerCase",(Q,X)=>{X.pattern??(X.pattern=QH),y8.init(Q,X)}),KH=M("$ZodCheckUpperCase",(Q,X)=>{X.pattern??(X.pattern=XH),y8.init(Q,X)}),VH=M("$ZodCheckIncludes",(Q,X)=>{k0.init(Q,X);let Y=L6(X.includes),W=new RegExp(typeof X.position==="number"?`^.{${X.position}}${Y}`:Y);X.pattern=W,Q._zod.onattach.push(($)=>{let J=$._zod.bag;J.patterns??(J.patterns=new Set),J.patterns.add(W)}),Q._zod.check=($)=>{if($.value.includes(X.includes,X.position))return;$.issues.push({origin:"string",code:"invalid_format",format:"includes",includes:X.includes,input:$.value,inst:Q,continue:!X.abort})}}),FH=M("$ZodCheckStartsWith",(Q,X)=>{k0.init(Q,X);let Y=new RegExp(`^${L6(X.prefix)}.*`);X.pattern??(X.pattern=Y),Q._zod.onattach.push((W)=>{let $=W._zod.bag;$.patterns??($.patterns=new Set),$.patterns.add(Y)}),Q._zod.check=(W)=>{if(W.value.startsWith(X.prefix))return;W.issues.push({origin:"string",code:"invalid_format",format:"starts_with",prefix:X.prefix,input:W.value,inst:Q,continue:!X.abort})}}),AH=M("$ZodCheckEndsWith",(Q,X)=>{k0.init(Q,X);let Y=new RegExp(`.*${L6(X.suffix)}$`);X.pattern??(X.pattern=Y),Q._zod.onattach.push((W)=>{let $=W._zod.bag;$.patterns??($.patterns=new Set),$.patterns.add(Y)}),Q._zod.check=(W)=>{if(W.value.endsWith(X.suffix))return;W.issues.push({origin:"string",code:"invalid_format",format:"ends_with",suffix:X.suffix,input:W.value,inst:Q,continue:!X.abort})}});var qH=M("$ZodCheckOverwrite",(Q,X)=>{k0.init(Q,X),Q._zod.check=(Y)=>{Y.value=X.tx(Y.value)}});class B7{constructor(Q=[]){if(this.content=[],this.indent=0,this)this.args=Q}indented(Q){this.indent+=1,Q(this),this.indent-=1}write(Q){if(typeof Q==="function"){Q(this,{execution:"sync"}),Q(this,{execution:"async"});return}let Y=Q.split(`
17
- `).filter((J)=>J),W=Math.min(...Y.map((J)=>J.length-J.trimStart().length)),$=Y.map((J)=>J.slice(W)).map((J)=>" ".repeat(this.indent*2)+J);for(let J of $)this.content.push(J)}compile(){let Q=Function,X=this?.args,W=[...(this?.content??[""]).map(($)=>` ${$}`)];return new Q(...X,W.join(`
18
- `))}}var LH={major:4,minor:0,patch:0};var G0=M("$ZodType",(Q,X)=>{var Y;Q??(Q={}),Q._zod.def=X,Q._zod.bag=Q._zod.bag||{},Q._zod.version=LH;let W=[...Q._zod.def.checks??[]];if(Q._zod.traits.has("$ZodCheck"))W.unshift(Q);for(let $ of W)for(let J of $._zod.onattach)J(Q);if(W.length===0)(Y=Q._zod).deferred??(Y.deferred=[]),Q._zod.deferred?.push(()=>{Q._zod.run=Q._zod.parse});else{let $=(J,G,H)=>{let B=i6(J),z;for(let K of G){if(K._zod.def.when){if(!K._zod.def.when(J))continue}else if(B)continue;let V=J.issues.length,q=K._zod.check(J);if(q instanceof Promise&&H?.async===!1)throw new D6;if(z||q instanceof Promise)z=(z??Promise.resolve()).then(async()=>{if(await q,J.issues.length===V)return;if(!B)B=i6(J,V)});else{if(J.issues.length===V)continue;if(!B)B=i6(J,V)}}if(z)return z.then(()=>{return J});return J};Q._zod.run=(J,G)=>{let H=Q._zod.parse(J,G);if(H instanceof Promise){if(G.async===!1)throw new D6;return H.then((B)=>$(B,W,G))}return $(H,W,G)}}Q["~standard"]={validate:($)=>{try{let J=n6(Q,$);return J.success?{value:J.data}:{issues:J.error?.issues}}catch(J){return o6(Q,$).then((G)=>G.success?{value:G.data}:{issues:G.error?.issues})}},vendor:"zod",version:1}}),f8=M("$ZodString",(Q,X)=>{G0.init(Q,X),Q._zod.pattern=[...Q?._zod.bag?.patterns??[]].pop()??oG(Q._zod.bag),Q._zod.parse=(Y,W)=>{if(X.coerce)try{Y.value=String(Y.value)}catch($){}if(typeof Y.value==="string")return Y;return Y.issues.push({expected:"string",code:"invalid_type",input:Y.value,inst:Q}),Y}}),F0=M("$ZodStringFormat",(Q,X)=>{y8.init(Q,X),f8.init(Q,X)}),K7=M("$ZodGUID",(Q,X)=>{X.pattern??(X.pattern=vG),F0.init(Q,X)}),V7=M("$ZodUUID",(Q,X)=>{if(X.version){let W={v1:1,v2:2,v3:3,v4:4,v5:5,v6:6,v7:7,v8:8}[X.version];if(W===void 0)throw Error(`Invalid UUID version: "${X.version}"`);X.pattern??(X.pattern=$7(W))}else X.pattern??(X.pattern=$7());F0.init(Q,X)}),F7=M("$ZodEmail",(Q,X)=>{X.pattern??(X.pattern=_G),F0.init(Q,X)}),A7=M("$ZodURL",(Q,X)=>{F0.init(Q,X),Q._zod.check=(Y)=>{try{let W=Y.value,$=new URL(W),J=$.href;if(X.hostname){if(X.hostname.lastIndex=0,!X.hostname.test($.hostname))Y.issues.push({code:"invalid_format",format:"url",note:"Invalid hostname",pattern:lG.source,input:Y.value,inst:Q,continue:!X.abort})}if(X.protocol){if(X.protocol.lastIndex=0,!X.protocol.test($.protocol.endsWith(":")?$.protocol.slice(0,-1):$.protocol))Y.issues.push({code:"invalid_format",format:"url",note:"Invalid protocol",pattern:X.protocol.source,input:Y.value,inst:Q,continue:!X.abort})}if(!W.endsWith("/")&&J.endsWith("/"))Y.value=J.slice(0,-1);else Y.value=J;return}catch(W){Y.issues.push({code:"invalid_format",format:"url",input:Y.value,inst:Q,continue:!X.abort})}}}),q7=M("$ZodEmoji",(Q,X)=>{X.pattern??(X.pattern=xG()),F0.init(Q,X)}),D7=M("$ZodNanoID",(Q,X)=>{X.pattern??(X.pattern=CG),F0.init(Q,X)}),L7=M("$ZodCUID",(Q,X)=>{X.pattern??(X.pattern=RG),F0.init(Q,X)}),O7=M("$ZodCUID2",(Q,X)=>{X.pattern??(X.pattern=EG),F0.init(Q,X)}),U7=M("$ZodULID",(Q,X)=>{X.pattern??(X.pattern=SG),F0.init(Q,X)}),j7=M("$ZodXID",(Q,X)=>{X.pattern??(X.pattern=IG),F0.init(Q,X)}),M7=M("$ZodKSUID",(Q,X)=>{X.pattern??(X.pattern=TG),F0.init(Q,X)}),RH=M("$ZodISODateTime",(Q,X)=>{X.pattern??(X.pattern=nG(X)),F0.init(Q,X)}),EH=M("$ZodISODate",(Q,X)=>{X.pattern??(X.pattern=pG),F0.init(Q,X)}),SH=M("$ZodISOTime",(Q,X)=>{X.pattern??(X.pattern=iG(X)),F0.init(Q,X)}),IH=M("$ZodISODuration",(Q,X)=>{X.pattern??(X.pattern=kG),F0.init(Q,X)}),N7=M("$ZodIPv4",(Q,X)=>{X.pattern??(X.pattern=yG),F0.init(Q,X),Q._zod.onattach.push((Y)=>{let W=Y._zod.bag;W.format="ipv4"})}),w7=M("$ZodIPv6",(Q,X)=>{X.pattern??(X.pattern=fG),F0.init(Q,X),Q._zod.onattach.push((Y)=>{let W=Y._zod.bag;W.format="ipv6"}),Q._zod.check=(Y)=>{try{new URL(`http://[${Y.value}]`)}catch{Y.issues.push({code:"invalid_format",format:"ipv6",input:Y.value,inst:Q,continue:!X.abort})}}}),b7=M("$ZodCIDRv4",(Q,X)=>{X.pattern??(X.pattern=gG),F0.init(Q,X)}),P7=M("$ZodCIDRv6",(Q,X)=>{X.pattern??(X.pattern=hG),F0.init(Q,X),Q._zod.check=(Y)=>{let[W,$]=Y.value.split("/");try{if(!$)throw Error();let J=Number($);if(`${J}`!==$)throw Error();if(J<0||J>128)throw Error();new URL(`http://[${W}]`)}catch{Y.issues.push({code:"invalid_format",format:"cidrv6",input:Y.value,inst:Q,continue:!X.abort})}}});function TH(Q){if(Q==="")return!0;if(Q.length%4!==0)return!1;try{return atob(Q),!0}catch{return!1}}var Z7=M("$ZodBase64",(Q,X)=>{X.pattern??(X.pattern=uG),F0.init(Q,X),Q._zod.onattach.push((Y)=>{Y._zod.bag.contentEncoding="base64"}),Q._zod.check=(Y)=>{if(TH(Y.value))return;Y.issues.push({code:"invalid_format",format:"base64",input:Y.value,inst:Q,continue:!X.abort})}});function rj(Q){if(!J7.test(Q))return!1;let X=Q.replace(/[-_]/g,(W)=>W==="-"?"+":"/"),Y=X.padEnd(Math.ceil(X.length/4)*4,"=");return TH(Y)}var R7=M("$ZodBase64URL",(Q,X)=>{X.pattern??(X.pattern=J7),F0.init(Q,X),Q._zod.onattach.push((Y)=>{Y._zod.bag.contentEncoding="base64url"}),Q._zod.check=(Y)=>{if(rj(Y.value))return;Y.issues.push({code:"invalid_format",format:"base64url",input:Y.value,inst:Q,continue:!X.abort})}}),E7=M("$ZodE164",(Q,X)=>{X.pattern??(X.pattern=mG),F0.init(Q,X)});function tj(Q,X=null){try{let Y=Q.split(".");if(Y.length!==3)return!1;let[W]=Y;if(!W)return!1;let $=JSON.parse(atob(W));if("typ"in $&&$?.typ!=="JWT")return!1;if(!$.alg)return!1;if(X&&(!("alg"in $)||$.alg!==X))return!1;return!0}catch{return!1}}var S7=M("$ZodJWT",(Q,X)=>{F0.init(Q,X),Q._zod.check=(Y)=>{if(tj(Y.value,X.alg))return;Y.issues.push({code:"invalid_format",format:"jwt",input:Y.value,inst:Q,continue:!X.abort})}});var KQ=M("$ZodNumber",(Q,X)=>{G0.init(Q,X),Q._zod.pattern=Q._zod.bag.pattern??aG,Q._zod.parse=(Y,W)=>{if(X.coerce)try{Y.value=Number(Y.value)}catch(G){}let $=Y.value;if(typeof $==="number"&&!Number.isNaN($)&&Number.isFinite($))return Y;let J=typeof $==="number"?Number.isNaN($)?"NaN":!Number.isFinite($)?"Infinity":void 0:void 0;return Y.issues.push({expected:"number",code:"invalid_type",input:$,inst:Q,...J?{received:J}:{}}),Y}}),I7=M("$ZodNumber",(Q,X)=>{$H.init(Q,X),KQ.init(Q,X)}),T7=M("$ZodBoolean",(Q,X)=>{G0.init(Q,X),Q._zod.pattern=sG,Q._zod.parse=(Y,W)=>{if(X.coerce)try{Y.value=Boolean(Y.value)}catch(J){}let $=Y.value;if(typeof $==="boolean")return Y;return Y.issues.push({expected:"boolean",code:"invalid_type",input:$,inst:Q}),Y}}),C7=M("$ZodBigInt",(Q,X)=>{G0.init(Q,X),Q._zod.pattern=rG,Q._zod.parse=(Y,W)=>{if(X.coerce)try{Y.value=BigInt(Y.value)}catch($){}if(typeof Y.value==="bigint")return Y;return Y.issues.push({expected:"bigint",code:"invalid_type",input:Y.value,inst:Q}),Y}});var k7=M("$ZodNull",(Q,X)=>{G0.init(Q,X),Q._zod.pattern=eG,Q._zod.values=new Set([null]),Q._zod.parse=(Y,W)=>{let $=Y.value;if($===null)return Y;return Y.issues.push({expected:"null",code:"invalid_type",input:$,inst:Q}),Y}}),v7=M("$ZodAny",(Q,X)=>{G0.init(Q,X),Q._zod.parse=(Y)=>Y}),_7=M("$ZodUnknown",(Q,X)=>{G0.init(Q,X),Q._zod.parse=(Y)=>Y}),x7=M("$ZodNever",(Q,X)=>{G0.init(Q,X),Q._zod.parse=(Y,W)=>{return Y.issues.push({expected:"never",code:"invalid_type",input:Y.value,inst:Q}),Y}});var y7=M("$ZodDate",(Q,X)=>{G0.init(Q,X),Q._zod.parse=(Y,W)=>{if(X.coerce)try{Y.value=new Date(Y.value)}catch(H){}let $=Y.value,J=$ instanceof Date;if(J&&!Number.isNaN($.getTime()))return Y;return Y.issues.push({expected:"date",code:"invalid_type",input:$,...J?{received:"Invalid Date"}:{},inst:Q}),Y}});function OH(Q,X,Y){if(Q.issues.length)X.issues.push(...m1(Y,Q.issues));X.value[Y]=Q.value}var f7=M("$ZodArray",(Q,X)=>{G0.init(Q,X),Q._zod.parse=(Y,W)=>{let $=Y.value;if(!Array.isArray($))return Y.issues.push({expected:"array",code:"invalid_type",input:$,inst:Q}),Y;Y.value=Array($.length);let J=[];for(let G=0;G<$.length;G++){let H=$[G],B=X.element._zod.run({value:H,issues:[]},W);if(B instanceof Promise)J.push(B.then((z)=>OH(z,Y,G)));else OH(B,Y,G)}if(J.length)return Promise.all(J).then(()=>Y);return Y}});function zQ(Q,X,Y){if(Q.issues.length)X.issues.push(...m1(Y,Q.issues));X.value[Y]=Q.value}function UH(Q,X,Y,W){if(Q.issues.length)if(W[Y]===void 0)if(Y in W)X.value[Y]=void 0;else X.value[Y]=Q.value;else X.issues.push(...m1(Y,Q.issues));else if(Q.value===void 0){if(Y in W)X.value[Y]=void 0}else X.value[Y]=Q.value}var VQ=M("$ZodObject",(Q,X)=>{G0.init(Q,X);let Y=T8(()=>{let V=Object.keys(X.shape);for(let F of V)if(!(X.shape[F]instanceof G0))throw Error(`Invalid element at key "${F}": expected a Zod schema`);let q=rY(X.shape);return{shape:X.shape,keys:V,keySet:new Set(V),numKeys:V.length,optionalKeys:new Set(q)}});V0(Q._zod,"propValues",()=>{let V=X.shape,q={};for(let F in V){let A=V[F]._zod;if(A.values){q[F]??(q[F]=new Set);for(let D of A.values)q[F].add(D)}}return q});let W=(V)=>{let q=new B7(["shape","payload","ctx"]),F=Y.value,A=(N)=>{let w=d6(N);return`shape[${w}]._zod.run({ value: input[${w}], issues: [] }, ctx)`};q.write("const input = payload.value;");let D=Object.create(null),L=0;for(let N of F.keys)D[N]=`key_${L++}`;q.write("const newResult = {}");for(let N of F.keys)if(F.optionalKeys.has(N)){let w=D[N];q.write(`const ${w} = ${A(N)};`);let C=d6(N);q.write(`
19
- if (${w}.issues.length) {
15
+ depsCount: ${Y},
16
+ deps: ${X}}`};var Vy={keyword:"dependencies",type:"object",schemaType:"object",error:$O.error,code(Q){let[Y,X]=Fy(Q);XO(Q,Y),WO(Q,X)}};function Fy({schema:Q}){let Y={},X={};for(let W in Q){if(W==="__proto__")continue;let $=Array.isArray(Q[W])?Y:X;$[W]=Q[W]}return[Y,X]}function XO(Q,Y=Q.schema){let{gen:X,data:W,it:$}=Q;if(Object.keys(Y).length===0)return;let J=X.let("missing");for(let G in Y){let H=Y[G];if(H.length===0)continue;let B=(0,n4.propertyInData)(X,W,G,$.opts.ownProperties);if(Q.setParams({property:G,depsCount:H.length,deps:H.join(", ")}),$.allErrors)X.if(B,()=>{for(let z of H)(0,n4.checkReportMissingProp)(Q,z)});else X.if(UJ._`${B} && (${(0,n4.checkMissingProp)(Q,H,J)})`),(0,n4.reportMissingProp)(Q,J),X.else()}}$O.validatePropertyDeps=XO;function WO(Q,Y=Q.schema){let{gen:X,data:W,keyword:$,it:J}=Q,G=X.name("valid");for(let H in Y){if((0,Ky.alwaysValidSchema)(J,Y[H]))continue;X.if((0,n4.propertyInData)(X,W,H,J.opts.ownProperties),()=>{let B=Q.subschema({keyword:$,schemaProp:H},G);Q.mergeValidEvaluated(B,G)},()=>X.var(G,!0)),Q.ok(G)}}$O.validateSchemaDeps=WO;$O.default=Vy});var KO=j((zO)=>{Object.defineProperty(zO,"__esModule",{value:!0});var BO=n(),Dy=$0(),Oy={message:"property name must be valid",params:({params:Q})=>BO._`{propertyName: ${Q.propertyName}}`},Ly={keyword:"propertyNames",type:"object",schemaType:["object","boolean"],error:Oy,code(Q){let{gen:Y,schema:X,data:W,it:$}=Q;if((0,Dy.alwaysValidSchema)($,X))return;let J=Y.name("valid");Y.forIn("key",W,(G)=>{Q.setParams({propertyName:G}),Q.subschema({keyword:"propertyNames",data:G,dataTypes:["string"],propertyName:G,compositeRule:!0},J),Y.if((0,BO.not)(J),()=>{if(Q.error(!0),!$.allErrors)Y.break()})}),Q.ok(J)}};zO.default=Ly});var jJ=j((VO)=>{Object.defineProperty(VO,"__esModule",{value:!0});var FX=D1(),x1=n(),jy=H6(),AX=$0(),wy={message:"must NOT have additional properties",params:({params:Q})=>x1._`{additionalProperty: ${Q.additionalProperty}}`},Ny={keyword:"additionalProperties",type:["object"],schemaType:["boolean","object"],allowUndefined:!0,trackErrors:!0,error:wy,code(Q){let{gen:Y,schema:X,parentSchema:W,data:$,errsCount:J,it:G}=Q;if(!J)throw Error("ajv implementation error");let{allErrors:H,opts:B}=G;if(G.props=!0,B.removeAdditional!=="all"&&(0,AX.alwaysValidSchema)(G,X))return;let z=(0,FX.allSchemaProperties)(W.properties),K=(0,FX.allSchemaProperties)(W.patternProperties);V(),Q.ok(x1._`${J} === ${jy.default.errors}`);function V(){Y.forIn("key",$,(O)=>{if(!z.length&&!K.length)A(O);else Y.if(q(O),()=>A(O))})}function q(O){let L;if(z.length>8){let N=(0,AX.schemaRefOrVal)(G,W.properties,"properties");L=(0,FX.isOwnProperty)(Y,N,O)}else if(z.length)L=(0,x1.or)(...z.map((N)=>x1._`${O} === ${N}`));else L=x1.nil;if(K.length)L=(0,x1.or)(L,...K.map((N)=>x1._`${(0,FX.usePattern)(Q,N)}.test(${O})`));return(0,x1.not)(L)}function F(O){Y.code(x1._`delete ${$}[${O}]`)}function A(O){if(B.removeAdditional==="all"||B.removeAdditional&&X===!1){F(O);return}if(X===!1){if(Q.setParams({additionalProperty:O}),Q.error(),!H)Y.break();return}if(typeof X=="object"&&!(0,AX.alwaysValidSchema)(G,X)){let L=Y.name("valid");if(B.removeAdditional==="failing")D(O,L,!1),Y.if((0,x1.not)(L),()=>{Q.reset(),F(O)});else if(D(O,L),!H)Y.if((0,x1.not)(L),()=>Y.break())}}function D(O,L,N){let M={keyword:"additionalProperties",dataProp:O,dataPropType:AX.Type.Str};if(N===!1)Object.assign(M,{compositeRule:!0,createErrors:!1,allErrors:!1});Q.subschema(M,L)}}};VO.default=Ny});var DO=j((qO)=>{Object.defineProperty(qO,"__esModule",{value:!0});var by=y4(),FO=D1(),wJ=$0(),AO=jJ(),Py={keyword:"properties",type:"object",schemaType:"object",code(Q){let{gen:Y,schema:X,parentSchema:W,data:$,it:J}=Q;if(J.opts.removeAdditional==="all"&&W.additionalProperties===void 0)AO.default.code(new by.KeywordCxt(J,AO.default,"additionalProperties"));let G=(0,FO.allSchemaProperties)(X);for(let V of G)J.definedProperties.add(V);if(J.opts.unevaluated&&G.length&&J.props!==!0)J.props=wJ.mergeEvaluated.props(Y,(0,wJ.toHash)(G),J.props);let H=G.filter((V)=>!(0,wJ.alwaysValidSchema)(J,X[V]));if(H.length===0)return;let B=Y.name("valid");for(let V of H){if(z(V))K(V);else{if(Y.if((0,FO.propertyInData)(Y,$,V,J.opts.ownProperties)),K(V),!J.allErrors)Y.else().var(B,!0);Y.endIf()}Q.it.definedProperties.add(V),Q.ok(B)}function z(V){return J.opts.useDefaults&&!J.compositeRule&&X[V].default!==void 0}function K(V){Q.subschema({keyword:"properties",schemaProp:V,dataProp:V},B)}}};qO.default=Py});var wO=j((jO)=>{Object.defineProperty(jO,"__esModule",{value:!0});var OO=D1(),qX=n(),LO=$0(),UO=$0(),Ry={keyword:"patternProperties",type:"object",schemaType:"object",code(Q){let{gen:Y,schema:X,data:W,parentSchema:$,it:J}=Q,{opts:G}=J,H=(0,OO.allSchemaProperties)(X),B=H.filter((D)=>(0,LO.alwaysValidSchema)(J,X[D]));if(H.length===0||B.length===H.length&&(!J.opts.unevaluated||J.props===!0))return;let z=G.strictSchema&&!G.allowMatchingProperties&&$.properties,K=Y.name("valid");if(J.props!==!0&&!(J.props instanceof qX.Name))J.props=(0,UO.evaluatedPropsToName)(Y,J.props);let{props:V}=J;q();function q(){for(let D of H){if(z)F(D);if(J.allErrors)A(D);else Y.var(K,!0),A(D),Y.if(K)}}function F(D){for(let O in z)if(new RegExp(D).test(O))(0,LO.checkStrictMode)(J,`property ${O} matches pattern ${D} (use allowMatchingProperties)`)}function A(D){Y.forIn("key",W,(O)=>{Y.if(qX._`${(0,OO.usePattern)(Q,D)}.test(${O})`,()=>{let L=B.includes(D);if(!L)Q.subschema({keyword:"patternProperties",schemaProp:D,dataProp:O,dataPropType:UO.Type.Str},K);if(J.opts.unevaluated&&V!==!0)Y.assign(qX._`${V}[${O}]`,!0);else if(!L&&!J.allErrors)Y.if((0,qX.not)(K),()=>Y.break())})})}}};jO.default=Ry});var MO=j((NO)=>{Object.defineProperty(NO,"__esModule",{value:!0});var Iy=$0(),Sy={keyword:"not",schemaType:["object","boolean"],trackErrors:!0,code(Q){let{gen:Y,schema:X,it:W}=Q;if((0,Iy.alwaysValidSchema)(W,X)){Q.fail();return}let $=Y.name("valid");Q.subschema({keyword:"not",compositeRule:!0,createErrors:!1,allErrors:!1},$),Q.failResult($,()=>Q.reset(),()=>Q.error())},error:{message:"must NOT be valid"}};NO.default=Sy});var PO=j((bO)=>{Object.defineProperty(bO,"__esModule",{value:!0});var Cy=D1(),ky={keyword:"anyOf",schemaType:"array",trackErrors:!0,code:Cy.validateUnion,error:{message:"must match a schema in anyOf"}};bO.default=ky});var RO=j((ZO)=>{Object.defineProperty(ZO,"__esModule",{value:!0});var DX=n(),vy=$0(),xy={message:"must match exactly one schema in oneOf",params:({params:Q})=>DX._`{passingSchemas: ${Q.passing}}`},yy={keyword:"oneOf",schemaType:"array",trackErrors:!0,error:xy,code(Q){let{gen:Y,schema:X,parentSchema:W,it:$}=Q;if(!Array.isArray(X))throw Error("ajv implementation error");if($.opts.discriminator&&W.discriminator)return;let J=X,G=Y.let("valid",!1),H=Y.let("passing",null),B=Y.name("_valid");Q.setParams({passing:H}),Y.block(z),Q.result(G,()=>Q.reset(),()=>Q.error(!0));function z(){J.forEach((K,V)=>{let q;if((0,vy.alwaysValidSchema)($,K))Y.var(B,!0);else q=Q.subschema({keyword:"oneOf",schemaProp:V,compositeRule:!0},B);if(V>0)Y.if(DX._`${B} && ${G}`).assign(G,!1).assign(H,DX._`[${H}, ${V}]`).else();Y.if(B,()=>{if(Y.assign(G,!0),Y.assign(H,V),q)Q.mergeEvaluated(q,DX.Name)})})}}};ZO.default=yy});var IO=j((EO)=>{Object.defineProperty(EO,"__esModule",{value:!0});var gy=$0(),hy={keyword:"allOf",schemaType:"array",code(Q){let{gen:Y,schema:X,it:W}=Q;if(!Array.isArray(X))throw Error("ajv implementation error");let $=Y.name("valid");X.forEach((J,G)=>{if((0,gy.alwaysValidSchema)(W,J))return;let H=Q.subschema({keyword:"allOf",schemaProp:G},$);Q.ok($),Q.mergeEvaluated(H)})}};EO.default=hy});var kO=j((CO)=>{Object.defineProperty(CO,"__esModule",{value:!0});var OX=n(),TO=$0(),ly={message:({params:Q})=>OX.str`must match "${Q.ifClause}" schema`,params:({params:Q})=>OX._`{failingKeyword: ${Q.ifClause}}`},my={keyword:"if",schemaType:["object","boolean"],trackErrors:!0,error:ly,code(Q){let{gen:Y,parentSchema:X,it:W}=Q;if(X.then===void 0&&X.else===void 0)(0,TO.checkStrictMode)(W,'"if" without "then" and "else" is ignored');let $=SO(W,"then"),J=SO(W,"else");if(!$&&!J)return;let G=Y.let("valid",!0),H=Y.name("_valid");if(B(),Q.reset(),$&&J){let K=Y.let("ifClause");Q.setParams({ifClause:K}),Y.if(H,z("then",K),z("else",K))}else if($)Y.if(H,z("then"));else Y.if((0,OX.not)(H),z("else"));Q.pass(G,()=>Q.error(!0));function B(){let K=Q.subschema({keyword:"if",compositeRule:!0,createErrors:!1,allErrors:!1},H);Q.mergeEvaluated(K)}function z(K,V){return()=>{let q=Q.subschema({keyword:K},H);if(Y.assign(G,H),Q.mergeValidEvaluated(q,G),V)Y.assign(V,OX._`${K}`);else Q.setParams({ifClause:K})}}}};function SO(Q,Y){let X=Q.schema[Y];return X!==void 0&&!(0,TO.alwaysValidSchema)(Q,X)}CO.default=my});var vO=j((_O)=>{Object.defineProperty(_O,"__esModule",{value:!0});var py=$0(),dy={keyword:["then","else"],schemaType:["object","boolean"],code({keyword:Q,parentSchema:Y,it:X}){if(Y.if===void 0)(0,py.checkStrictMode)(X,`"${Q}" without "if" is ignored`)}};_O.default=dy});var yO=j((xO)=>{Object.defineProperty(xO,"__esModule",{value:!0});var ny=OJ(),oy=tD(),ry=LJ(),ty=eD(),ay=YO(),sy=HO(),ey=KO(),Qf=jJ(),Yf=DO(),Xf=wO(),Wf=MO(),$f=PO(),Jf=RO(),Gf=IO(),Hf=kO(),Bf=vO();function zf(Q=!1){let Y=[Wf.default,$f.default,Jf.default,Gf.default,Hf.default,Bf.default,ey.default,Qf.default,sy.default,Yf.default,Xf.default];if(Q)Y.push(oy.default,ty.default);else Y.push(ny.default,ry.default);return Y.push(ay.default),Y}xO.default=zf});var gO=j((fO)=>{Object.defineProperty(fO,"__esModule",{value:!0});var E0=n(),Vf={message:({schemaCode:Q})=>E0.str`must match format "${Q}"`,params:({schemaCode:Q})=>E0._`{format: ${Q}}`},Ff={keyword:"format",type:["number","string"],schemaType:"string",$data:!0,error:Vf,code(Q,Y){let{gen:X,data:W,$data:$,schema:J,schemaCode:G,it:H}=Q,{opts:B,errSchemaPath:z,schemaEnv:K,self:V}=H;if(!B.validateFormats)return;if($)q();else F();function q(){let A=X.scopeValue("formats",{ref:V.formats,code:B.code.formats}),D=X.const("fDef",E0._`${A}[${G}]`),O=X.let("fType"),L=X.let("format");X.if(E0._`typeof ${D} == "object" && !(${D} instanceof RegExp)`,()=>X.assign(O,E0._`${D}.type || "string"`).assign(L,E0._`${D}.validate`),()=>X.assign(O,E0._`"string"`).assign(L,D)),Q.fail$data((0,E0.or)(N(),M()));function N(){if(B.strictSchema===!1)return E0.nil;return E0._`${G} && !${L}`}function M(){let C=K.$async?E0._`(${D}.async ? await ${L}(${W}) : ${L}(${W}))`:E0._`${L}(${W})`,Z=E0._`(typeof ${L} == "function" ? ${C} : ${L}.test(${W}))`;return E0._`${L} && ${L} !== true && ${O} === ${Y} && !${Z}`}}function F(){let A=V.formats[J];if(!A){N();return}if(A===!0)return;let[D,O,L]=M(A);if(D===Y)Q.pass(C());function N(){if(B.strictSchema===!1){V.logger.warn(Z());return}throw Error(Z());function Z(){return`unknown format "${J}" ignored in schema at path "${z}"`}}function M(Z){let K0=Z instanceof RegExp?(0,E0.regexpCode)(Z):B.code.formats?E0._`${B.code.formats}${(0,E0.getProperty)(J)}`:void 0,P0=X.scopeValue("formats",{key:J,ref:Z,code:K0});if(typeof Z=="object"&&!(Z instanceof RegExp))return[Z.type||"string",Z.validate,E0._`${P0}.validate`];return["string",Z,P0]}function C(){if(typeof A=="object"&&!(A instanceof RegExp)&&A.async){if(!K.$async)throw Error("async format in sync schema");return E0._`await ${L}(${W})`}return typeof O=="function"?E0._`${L}(${W})`:E0._`${L}.test(${W})`}}}};fO.default=Ff});var uO=j((hO)=>{Object.defineProperty(hO,"__esModule",{value:!0});var qf=gO(),Df=[qf.default];hO.default=Df});var cO=j((lO)=>{Object.defineProperty(lO,"__esModule",{value:!0});lO.contentVocabulary=lO.metadataVocabulary=void 0;lO.metadataVocabulary=["title","description","default","deprecated","readOnly","writeOnly","examples"];lO.contentVocabulary=["contentMediaType","contentEncoding","contentSchema"]});var iO=j((dO)=>{Object.defineProperty(dO,"__esModule",{value:!0});var Uf=qD(),jf=lD(),wf=yO(),Nf=uO(),pO=cO(),Mf=[Uf.default,jf.default,(0,wf.default)(),Nf.default,pO.metadataVocabulary,pO.contentVocabulary];dO.default=Mf});var tO=j((oO)=>{Object.defineProperty(oO,"__esModule",{value:!0});oO.DiscrError=void 0;var nO;(function(Q){Q.Tag="tag",Q.Mapping="mapping"})(nO||(oO.DiscrError=nO={}))});var eO=j((sO)=>{Object.defineProperty(sO,"__esModule",{value:!0});var V8=n(),NJ=tO(),aO=YX(),Pf=f4(),Zf=$0(),Rf={message:({params:{discrError:Q,tagName:Y}})=>Q===NJ.DiscrError.Tag?`tag "${Y}" must be string`:`value of tag "${Y}" must be in oneOf`,params:({params:{discrError:Q,tag:Y,tagName:X}})=>V8._`{error: ${Q}, tag: ${X}, tagValue: ${Y}}`},Ef={keyword:"discriminator",type:"object",schemaType:"object",error:Rf,code(Q){let{gen:Y,data:X,schema:W,parentSchema:$,it:J}=Q,{oneOf:G}=$;if(!J.opts.discriminator)throw Error("discriminator: requires discriminator option");let H=W.propertyName;if(typeof H!="string")throw Error("discriminator: requires propertyName");if(W.mapping)throw Error("discriminator: mapping is not supported");if(!G)throw Error("discriminator: requires oneOf keyword");let B=Y.let("valid",!1),z=Y.const("tag",V8._`${X}${(0,V8.getProperty)(H)}`);Y.if(V8._`typeof ${z} == "string"`,()=>K(),()=>Q.error(!1,{discrError:NJ.DiscrError.Tag,tag:z,tagName:H})),Q.ok(B);function K(){let F=q();Y.if(!1);for(let A in F)Y.elseIf(V8._`${z} === ${A}`),Y.assign(B,V(F[A]));Y.else(),Q.error(!1,{discrError:NJ.DiscrError.Mapping,tag:z,tagName:H}),Y.endIf()}function V(F){let A=Y.name("valid"),D=Q.subschema({keyword:"oneOf",schemaProp:F},A);return Q.mergeEvaluated(D,V8.Name),A}function q(){var F;let A={},D=L($),O=!0;for(let C=0;C<G.length;C++){let Z=G[C];if((Z===null||Z===void 0?void 0:Z.$ref)&&!(0,Zf.schemaHasRulesButRef)(Z,J.self.RULES)){let P0=Z.$ref;if(Z=aO.resolveRef.call(J.self,J.schemaEnv.root,J.baseId,P0),Z instanceof aO.SchemaEnv)Z=Z.schema;if(Z===void 0)throw new Pf.default(J.opts.uriResolver,J.baseId,P0)}let K0=(F=Z===null||Z===void 0?void 0:Z.properties)===null||F===void 0?void 0:F[H];if(typeof K0!="object")throw Error(`discriminator: oneOf subschemas (or referenced schemas) must have "properties/${H}"`);O=O&&(D||L(Z)),N(K0,C)}if(!O)throw Error(`discriminator: "${H}" must be required`);return A;function L({required:C}){return Array.isArray(C)&&C.includes(H)}function N(C,Z){if(C.const)M(C.const,Z);else if(C.enum)for(let K0 of C.enum)M(K0,Z);else throw Error(`discriminator: "properties/${H}" must have "const" or "enum"`)}function M(C,Z){if(typeof C!="string"||C in A)throw Error(`discriminator: "${H}" values must be unique strings`);A[C]=Z}}}};sO.default=Ef});var QL=j((Fo,Sf)=>{Sf.exports={$schema:"http://json-schema.org/draft-07/schema#",$id:"http://json-schema.org/draft-07/schema#",title:"Core schema meta-schema",definitions:{schemaArray:{type:"array",minItems:1,items:{$ref:"#"}},nonNegativeInteger:{type:"integer",minimum:0},nonNegativeIntegerDefault0:{allOf:[{$ref:"#/definitions/nonNegativeInteger"},{default:0}]},simpleTypes:{enum:["array","boolean","integer","null","number","object","string"]},stringArray:{type:"array",items:{type:"string"},uniqueItems:!0,default:[]}},type:["object","boolean"],properties:{$id:{type:"string",format:"uri-reference"},$schema:{type:"string",format:"uri"},$ref:{type:"string",format:"uri-reference"},$comment:{type:"string"},title:{type:"string"},description:{type:"string"},default:!0,readOnly:{type:"boolean",default:!1},examples:{type:"array",items:!0},multipleOf:{type:"number",exclusiveMinimum:0},maximum:{type:"number"},exclusiveMaximum:{type:"number"},minimum:{type:"number"},exclusiveMinimum:{type:"number"},maxLength:{$ref:"#/definitions/nonNegativeInteger"},minLength:{$ref:"#/definitions/nonNegativeIntegerDefault0"},pattern:{type:"string",format:"regex"},additionalItems:{$ref:"#"},items:{anyOf:[{$ref:"#"},{$ref:"#/definitions/schemaArray"}],default:!0},maxItems:{$ref:"#/definitions/nonNegativeInteger"},minItems:{$ref:"#/definitions/nonNegativeIntegerDefault0"},uniqueItems:{type:"boolean",default:!1},contains:{$ref:"#"},maxProperties:{$ref:"#/definitions/nonNegativeInteger"},minProperties:{$ref:"#/definitions/nonNegativeIntegerDefault0"},required:{$ref:"#/definitions/stringArray"},additionalProperties:{$ref:"#"},definitions:{type:"object",additionalProperties:{$ref:"#"},default:{}},properties:{type:"object",additionalProperties:{$ref:"#"},default:{}},patternProperties:{type:"object",additionalProperties:{$ref:"#"},propertyNames:{format:"regex"},default:{}},dependencies:{type:"object",additionalProperties:{anyOf:[{$ref:"#"},{$ref:"#/definitions/stringArray"}]}},propertyNames:{$ref:"#"},const:!0,enum:{type:"array",items:!0,minItems:1,uniqueItems:!0},type:{anyOf:[{$ref:"#/definitions/simpleTypes"},{type:"array",items:{$ref:"#/definitions/simpleTypes"},minItems:1,uniqueItems:!0}]},format:{type:"string"},contentMediaType:{type:"string"},contentEncoding:{type:"string"},if:{$ref:"#"},then:{$ref:"#"},else:{$ref:"#"},allOf:{$ref:"#/definitions/schemaArray"},anyOf:{$ref:"#/definitions/schemaArray"},oneOf:{$ref:"#/definitions/schemaArray"},not:{$ref:"#"}},default:!0}});var XL=j((H1,MJ)=>{Object.defineProperty(H1,"__esModule",{value:!0});H1.MissingRefError=H1.ValidationError=H1.CodeGen=H1.Name=H1.nil=H1.stringify=H1.str=H1._=H1.KeywordCxt=H1.Ajv=void 0;var Tf=$D(),Cf=iO(),kf=eO(),YL=QL(),_f=["/properties"],LX="http://json-schema.org/draft-07/schema";class o4 extends Tf.default{_addVocabularies(){if(super._addVocabularies(),Cf.default.forEach((Q)=>this.addVocabulary(Q)),this.opts.discriminator)this.addKeyword(kf.default)}_addDefaultMetaSchema(){if(super._addDefaultMetaSchema(),!this.opts.meta)return;let Q=this.opts.$data?this.$dataMetaSchema(YL,_f):YL;this.addMetaSchema(Q,LX,!1),this.refs["http://json-schema.org/schema"]=LX}defaultMeta(){return this.opts.defaultMeta=super.defaultMeta()||(this.getSchema(LX)?LX:void 0)}}H1.Ajv=o4;MJ.exports=H1=o4;MJ.exports.Ajv=o4;Object.defineProperty(H1,"__esModule",{value:!0});H1.default=o4;var vf=y4();Object.defineProperty(H1,"KeywordCxt",{enumerable:!0,get:function(){return vf.KeywordCxt}});var F8=n();Object.defineProperty(H1,"_",{enumerable:!0,get:function(){return F8._}});Object.defineProperty(H1,"str",{enumerable:!0,get:function(){return F8.str}});Object.defineProperty(H1,"stringify",{enumerable:!0,get:function(){return F8.stringify}});Object.defineProperty(H1,"nil",{enumerable:!0,get:function(){return F8.nil}});Object.defineProperty(H1,"Name",{enumerable:!0,get:function(){return F8.Name}});Object.defineProperty(H1,"CodeGen",{enumerable:!0,get:function(){return F8.CodeGen}});var xf=eY();Object.defineProperty(H1,"ValidationError",{enumerable:!0,get:function(){return xf.default}});var yf=f4();Object.defineProperty(H1,"MissingRefError",{enumerable:!0,get:function(){return yf.default}})});var $L=j((WL)=>{Object.defineProperty(WL,"__esModule",{value:!0});WL.formatLimitDefinition=void 0;var hf=XL(),y1=n(),x6=y1.operators,UX={formatMaximum:{okStr:"<=",ok:x6.LTE,fail:x6.GT},formatMinimum:{okStr:">=",ok:x6.GTE,fail:x6.LT},formatExclusiveMaximum:{okStr:"<",ok:x6.LT,fail:x6.GTE},formatExclusiveMinimum:{okStr:">",ok:x6.GT,fail:x6.LTE}},uf={message:({keyword:Q,schemaCode:Y})=>y1.str`should be ${UX[Q].okStr} ${Y}`,params:({keyword:Q,schemaCode:Y})=>y1._`{comparison: ${UX[Q].okStr}, limit: ${Y}}`};WL.formatLimitDefinition={keyword:Object.keys(UX),type:"string",schemaType:"string",$data:!0,error:uf,code(Q){let{gen:Y,data:X,schemaCode:W,keyword:$,it:J}=Q,{opts:G,self:H}=J;if(!G.validateFormats)return;let B=new hf.KeywordCxt(J,H.RULES.all.format.definition,"format");if(B.$data)z();else K();function z(){let q=Y.scopeValue("formats",{ref:H.formats,code:G.code.formats}),F=Y.const("fmt",y1._`${q}[${B.schemaCode}]`);Q.fail$data((0,y1.or)(y1._`typeof ${F} != "object"`,y1._`${F} instanceof RegExp`,y1._`typeof ${F}.compare != "function"`,V(F)))}function K(){let q=B.schema,F=H.formats[q];if(!F||F===!0)return;if(typeof F!="object"||F instanceof RegExp||typeof F.compare!="function")throw Error(`"${$}": format "${q}" does not define "compare" function`);let A=Y.scopeValue("formats",{key:q,ref:F,code:G.code.formats?y1._`${G.code.formats}${(0,y1.getProperty)(q)}`:void 0});Q.fail$data(V(A))}function V(q){return y1._`${q}.compare(${X}, ${W}) ${UX[$].fail} 0`}},dependencies:["format"]};var lf=(Q)=>{return Q.addKeyword(WL.formatLimitDefinition),Q};WL.default=lf});var BL=j((r4,HL)=>{Object.defineProperty(r4,"__esModule",{value:!0});var A8=QA(),cf=$L(),PJ=n(),JL=new PJ.Name("fullFormats"),pf=new PJ.Name("fastFormats"),ZJ=(Q,Y={keywords:!0})=>{if(Array.isArray(Y))return GL(Q,Y,A8.fullFormats,JL),Q;let[X,W]=Y.mode==="fast"?[A8.fastFormats,pf]:[A8.fullFormats,JL],$=Y.formats||A8.formatNames;if(GL(Q,$,X,W),Y.keywords)(0,cf.default)(Q);return Q};ZJ.get=(Q,Y="full")=>{let W=(Y==="fast"?A8.fastFormats:A8.fullFormats)[Q];if(!W)throw Error(`Unknown format "${Q}"`);return W};function GL(Q,Y,X,W){var $,J;($=(J=Q.opts.code).formats)!==null&&$!==void 0||(J.formats=PJ._`require("ajv-formats/dist/formats").${W}`);for(let G of Y)Q.addFormat(G,X[G])}HL.exports=r4=ZJ;Object.defineProperty(r4,"__esModule",{value:!0});r4.default=ZJ});var uL=j((Qt,hL)=>{hL.exports=gL;gL.sync=rg;var yL=K1("fs");function og(Q,Y){var X=Y.pathExt!==void 0?Y.pathExt:process.env.PATHEXT;if(!X)return!0;if(X=X.split(";"),X.indexOf("")!==-1)return!0;for(var W=0;W<X.length;W++){var $=X[W].toLowerCase();if($&&Q.substr(-$.length).toLowerCase()===$)return!0}return!1}function fL(Q,Y,X){if(!Q.isSymbolicLink()&&!Q.isFile())return!1;return og(Y,X)}function gL(Q,Y,X){yL.stat(Q,function(W,$){X(W,W?!1:fL($,Q,Y))})}function rg(Q,Y){return fL(yL.statSync(Q),Q,Y)}});var dL=j((Yt,pL)=>{pL.exports=mL;mL.sync=tg;var lL=K1("fs");function mL(Q,Y,X){lL.stat(Q,function(W,$){X(W,W?!1:cL($,Y))})}function tg(Q,Y){return cL(lL.statSync(Q),Y)}function cL(Q,Y){return Q.isFile()&&ag(Q,Y)}function ag(Q,Y){var{mode:X,uid:W,gid:$}=Q,J=Y.uid!==void 0?Y.uid:process.getuid&&process.getuid(),G=Y.gid!==void 0?Y.gid:process.getgid&&process.getgid(),H=parseInt("100",8),B=parseInt("010",8),z=parseInt("001",8),K=H|B,V=X&z||X&B&&$===G||X&H&&W===J||X&K&&J===0;return V}});var nL=j((Wt,iL)=>{var Xt=K1("fs"),hX;if(process.platform==="win32"||global.TESTING_WINDOWS)hX=uL();else hX=dL();iL.exports=WG;WG.sync=sg;function WG(Q,Y,X){if(typeof Y==="function")X=Y,Y={};if(!X){if(typeof Promise!=="function")throw TypeError("callback not provided");return new Promise(function(W,$){WG(Q,Y||{},function(J,G){if(J)$(J);else W(G)})})}hX(Q,Y||{},function(W,$){if(W){if(W.code==="EACCES"||Y&&Y.ignoreErrors)W=null,$=!1}X(W,$)})}function sg(Q,Y){try{return hX.sync(Q,Y||{})}catch(X){if(Y&&Y.ignoreErrors||X.code==="EACCES")return!1;else throw X}}});var QU=j(($t,eL)=>{var w8=process.platform==="win32"||process.env.OSTYPE==="cygwin"||process.env.OSTYPE==="msys",oL=K1("path"),eg=w8?";":":",rL=nL(),tL=(Q)=>Object.assign(Error(`not found: ${Q}`),{code:"ENOENT"}),aL=(Q,Y)=>{let X=Y.colon||eg,W=Q.match(/\//)||w8&&Q.match(/\\/)?[""]:[...w8?[process.cwd()]:[],...(Y.path||process.env.PATH||"").split(X)],$=w8?Y.pathExt||process.env.PATHEXT||".EXE;.CMD;.BAT;.COM":"",J=w8?$.split(X):[""];if(w8){if(Q.indexOf(".")!==-1&&J[0]!=="")J.unshift("")}return{pathEnv:W,pathExt:J,pathExtExe:$}},sL=(Q,Y,X)=>{if(typeof Y==="function")X=Y,Y={};if(!Y)Y={};let{pathEnv:W,pathExt:$,pathExtExe:J}=aL(Q,Y),G=[],H=(z)=>new Promise((K,V)=>{if(z===W.length)return Y.all&&G.length?K(G):V(tL(Q));let q=W[z],F=/^".*"$/.test(q)?q.slice(1,-1):q,A=oL.join(F,Q),D=!F&&/^\.[\\\/]/.test(Q)?Q.slice(0,2)+A:A;K(B(D,z,0))}),B=(z,K,V)=>new Promise((q,F)=>{if(V===$.length)return q(H(K+1));let A=$[V];rL(z+A,{pathExt:J},(D,O)=>{if(!D&&O)if(Y.all)G.push(z+A);else return q(z+A);return q(B(z,K,V+1))})});return X?H(0).then((z)=>X(null,z),X):H(0)},Qh=(Q,Y)=>{Y=Y||{};let{pathEnv:X,pathExt:W,pathExtExe:$}=aL(Q,Y),J=[];for(let G=0;G<X.length;G++){let H=X[G],B=/^".*"$/.test(H)?H.slice(1,-1):H,z=oL.join(B,Q),K=!B&&/^\.[\\\/]/.test(Q)?Q.slice(0,2)+z:z;for(let V=0;V<W.length;V++){let q=K+W[V];try{if(rL.sync(q,{pathExt:$}))if(Y.all)J.push(q);else return q}catch(F){}}}if(Y.all&&J.length)return J;if(Y.nothrow)return null;throw tL(Q)};eL.exports=sL;sL.sync=Qh});var XU=j((Jt,$G)=>{var YU=(Q={})=>{let Y=Q.env||process.env;if((Q.platform||process.platform)!=="win32")return"PATH";return Object.keys(Y).reverse().find((W)=>W.toUpperCase()==="PATH")||"Path"};$G.exports=YU;$G.exports.default=YU});var GU=j((Gt,JU)=>{var WU=K1("path"),Yh=QU(),Xh=XU();function $U(Q,Y){let X=Q.options.env||process.env,W=process.cwd(),$=Q.options.cwd!=null,J=$&&process.chdir!==void 0&&!process.chdir.disabled;if(J)try{process.chdir(Q.options.cwd)}catch(H){}let G;try{G=Yh.sync(Q.command,{path:X[Xh({env:X})],pathExt:Y?WU.delimiter:void 0})}catch(H){}finally{if(J)process.chdir(W)}if(G)G=WU.resolve($?Q.options.cwd:"",G);return G}function Wh(Q){return $U(Q)||$U(Q,!0)}JU.exports=Wh});var HU=j((Gh,GG)=>{var JG=/([()\][%!^"`<>&|;, *?])/g;function $h(Q){return Q=Q.replace(JG,"^$1"),Q}function Jh(Q,Y){if(Q=`${Q}`,Q=Q.replace(/(?=(\\+?)?)\1"/g,"$1$1\\\""),Q=Q.replace(/(?=(\\+?)?)\1$/,"$1$1"),Q=`"${Q}"`,Q=Q.replace(JG,"^$1"),Y)Q=Q.replace(JG,"^$1");return Q}Gh.command=$h;Gh.argument=Jh});var zU=j((Ht,BU)=>{BU.exports=/^#!(.*)/});var VU=j((Bt,KU)=>{var zh=zU();KU.exports=(Q="")=>{let Y=Q.match(zh);if(!Y)return null;let[X,W]=Y[0].replace(/#! ?/,"").split(" "),$=X.split("/").pop();if($==="env")return W;return W?`${$} ${W}`:$}});var AU=j((zt,FU)=>{var HG=K1("fs"),Kh=VU();function Vh(Q){let X=Buffer.alloc(150),W;try{W=HG.openSync(Q,"r"),HG.readSync(W,X,0,150,0),HG.closeSync(W)}catch($){}return Kh(X.toString())}FU.exports=Vh});var LU=j((Kt,OU)=>{var Fh=K1("path"),qU=GU(),DU=HU(),Ah=AU(),qh=process.platform==="win32",Dh=/\.(?:com|exe)$/i,Oh=/node_modules[\\/].bin[\\/][^\\/]+\.cmd$/i;function Lh(Q){Q.file=qU(Q);let Y=Q.file&&Ah(Q.file);if(Y)return Q.args.unshift(Q.file),Q.command=Y,qU(Q);return Q.file}function Uh(Q){if(!qh)return Q;let Y=Lh(Q),X=!Dh.test(Y);if(Q.options.forceShell||X){let W=Oh.test(Y);Q.command=Fh.normalize(Q.command),Q.command=DU.command(Q.command),Q.args=Q.args.map((J)=>DU.argument(J,W));let $=[Q.command].concat(Q.args).join(" ");Q.args=["/d","/s","/c",`"${$}"`],Q.command=process.env.comspec||"cmd.exe",Q.options.windowsVerbatimArguments=!0}return Q}function jh(Q,Y,X){if(Y&&!Array.isArray(Y))X=Y,Y=null;Y=Y?Y.slice(0):[],X=Object.assign({},X);let W={command:Q,args:Y,options:X,file:void 0,original:{command:Q,args:Y}};return X.shell?W:Uh(W)}OU.exports=jh});var wU=j((Vt,jU)=>{var BG=process.platform==="win32";function zG(Q,Y){return Object.assign(Error(`${Y} ${Q.command} ENOENT`),{code:"ENOENT",errno:"ENOENT",syscall:`${Y} ${Q.command}`,path:Q.command,spawnargs:Q.args})}function wh(Q,Y){if(!BG)return;let X=Q.emit;Q.emit=function(W,$){if(W==="exit"){let J=UU($,Y);if(J)return X.call(Q,"error",J)}return X.apply(Q,arguments)}}function UU(Q,Y){if(BG&&Q===1&&!Y.file)return zG(Y.original,"spawn");return null}function Nh(Q,Y){if(BG&&Q===1&&!Y.file)return zG(Y.original,"spawnSync");return null}jU.exports={hookChildProcess:wh,verifyENOENT:UU,verifyENOENTSync:Nh,notFoundError:zG}});var bU=j((Ft,N8)=>{var NU=K1("child_process"),KG=LU(),VG=wU();function MU(Q,Y,X){let W=KG(Q,Y,X),$=NU.spawn(W.command,W.args,W.options);return VG.hookChildProcess($,W),$}function Mh(Q,Y,X){let W=KG(Q,Y,X),$=NU.spawnSync(W.command,W.args,W.options);return $.error=$.error||VG.verifyENOENTSync($.status,W),$}N8.exports=MU;N8.exports.spawn=MU;N8.exports.sync=Mh;N8.exports._parse=KG;N8.exports._enoent=VG});var _={};QQ(_,{void:()=>Ej,util:()=>t,unknown:()=>Zj,union:()=>Tj,undefined:()=>Mj,tuple:()=>_j,transformer:()=>cj,symbol:()=>Nj,string:()=>CG,strictObject:()=>Sj,setErrorMap:()=>iU,set:()=>yj,record:()=>vj,quotelessJson:()=>pU,promise:()=>mj,preprocess:()=>ij,pipeline:()=>nj,ostring:()=>oj,optional:()=>pj,onumber:()=>rj,oboolean:()=>tj,objectUtil:()=>nX,object:()=>tX,number:()=>kG,nullable:()=>dj,null:()=>bj,never:()=>Rj,nativeEnum:()=>lj,nan:()=>Uj,map:()=>xj,makeIssue:()=>Z8,literal:()=>hj,lazy:()=>gj,late:()=>Oj,isValid:()=>V6,isDirty:()=>XQ,isAsync:()=>M9,isAborted:()=>YQ,intersection:()=>kj,instanceof:()=>Lj,getParsedType:()=>h1,getErrorMap:()=>N9,function:()=>fj,enum:()=>uj,effect:()=>cj,discriminatedUnion:()=>Cj,defaultErrorMap:()=>o1,datetimeRegex:()=>IG,date:()=>wj,custom:()=>TG,coerce:()=>aj,boolean:()=>_G,bigint:()=>jj,array:()=>Ij,any:()=>Pj,addIssueToContext:()=>T,ZodVoid:()=>E8,ZodUnknown:()=>F6,ZodUnion:()=>I9,ZodUndefined:()=>R9,ZodType:()=>o,ZodTuple:()=>l1,ZodTransformer:()=>N1,ZodSymbol:()=>R8,ZodString:()=>U1,ZodSet:()=>i6,ZodSchema:()=>o,ZodRecord:()=>I8,ZodReadonly:()=>x9,ZodPromise:()=>n6,ZodPipeline:()=>C8,ZodParsedType:()=>R,ZodOptional:()=>B1,ZodObject:()=>M0,ZodNumber:()=>A6,ZodNullable:()=>t1,ZodNull:()=>E9,ZodNever:()=>u1,ZodNativeEnum:()=>k9,ZodNaN:()=>T8,ZodMap:()=>S8,ZodLiteral:()=>C9,ZodLazy:()=>T9,ZodIssueCode:()=>b,ZodIntersection:()=>S9,ZodFunction:()=>P9,ZodFirstPartyTypeKind:()=>P,ZodError:()=>r0,ZodEnum:()=>D6,ZodEffects:()=>N1,ZodDiscriminatedUnion:()=>WQ,ZodDefault:()=>_9,ZodDate:()=>p6,ZodCatch:()=>v9,ZodBranded:()=>$Q,ZodBoolean:()=>Z9,ZodBigInt:()=>q6,ZodArray:()=>j1,ZodAny:()=>d6,Schema:()=>o,ParseStatus:()=>C0,OK:()=>h0,NEVER:()=>sj,INVALID:()=>h,EMPTY_PATH:()=>nU,DIRTY:()=>c6,BRAND:()=>Dj});var t;(function(Q){Q.assertEqual=($)=>{};function Y($){}Q.assertIs=Y;function X($){throw Error()}Q.assertNever=X,Q.arrayToEnum=($)=>{let J={};for(let G of $)J[G]=G;return J},Q.getValidEnumValues=($)=>{let J=Q.objectKeys($).filter((H)=>typeof $[$[H]]!=="number"),G={};for(let H of J)G[H]=$[H];return Q.objectValues(G)},Q.objectValues=($)=>{return Q.objectKeys($).map(function(J){return $[J]})},Q.objectKeys=typeof Object.keys==="function"?($)=>Object.keys($):($)=>{let J=[];for(let G in $)if(Object.prototype.hasOwnProperty.call($,G))J.push(G);return J},Q.find=($,J)=>{for(let G of $)if(J(G))return G;return},Q.isInteger=typeof Number.isInteger==="function"?($)=>Number.isInteger($):($)=>typeof $==="number"&&Number.isFinite($)&&Math.floor($)===$;function W($,J=" | "){return $.map((G)=>typeof G==="string"?`'${G}'`:G).join(J)}Q.joinValues=W,Q.jsonStringifyReplacer=($,J)=>{if(typeof J==="bigint")return J.toString();return J}})(t||(t={}));var nX;(function(Q){Q.mergeShapes=(Y,X)=>{return{...Y,...X}}})(nX||(nX={}));var R=t.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),h1=(Q)=>{switch(typeof Q){case"undefined":return R.undefined;case"string":return R.string;case"number":return Number.isNaN(Q)?R.nan:R.number;case"boolean":return R.boolean;case"function":return R.function;case"bigint":return R.bigint;case"symbol":return R.symbol;case"object":if(Array.isArray(Q))return R.array;if(Q===null)return R.null;if(Q.then&&typeof Q.then==="function"&&Q.catch&&typeof Q.catch==="function")return R.promise;if(typeof Map<"u"&&Q instanceof Map)return R.map;if(typeof Set<"u"&&Q instanceof Set)return R.set;if(typeof Date<"u"&&Q instanceof Date)return R.date;return R.object;default:return R.unknown}};var b=t.arrayToEnum(["invalid_type","invalid_literal","custom","invalid_union","invalid_union_discriminator","invalid_enum_value","unrecognized_keys","invalid_arguments","invalid_return_type","invalid_date","invalid_string","too_small","too_big","invalid_intersection_types","not_multiple_of","not_finite"]),pU=(Q)=>{return JSON.stringify(Q,null,2).replace(/"([^"]+)":/g,"$1:")};class r0 extends Error{get errors(){return this.issues}constructor(Q){super();this.issues=[],this.addIssue=(X)=>{this.issues=[...this.issues,X]},this.addIssues=(X=[])=>{this.issues=[...this.issues,...X]};let Y=new.target.prototype;if(Object.setPrototypeOf)Object.setPrototypeOf(this,Y);else this.__proto__=Y;this.name="ZodError",this.issues=Q}format(Q){let Y=Q||function($){return $.message},X={_errors:[]},W=($)=>{for(let J of $.issues)if(J.code==="invalid_union")J.unionErrors.map(W);else if(J.code==="invalid_return_type")W(J.returnTypeError);else if(J.code==="invalid_arguments")W(J.argumentsError);else if(J.path.length===0)X._errors.push(Y(J));else{let G=X,H=0;while(H<J.path.length){let B=J.path[H];if(H!==J.path.length-1)G[B]=G[B]||{_errors:[]};else G[B]=G[B]||{_errors:[]},G[B]._errors.push(Y(J));G=G[B],H++}}};return W(this),X}static assert(Q){if(!(Q instanceof r0))throw Error(`Not a ZodError: ${Q}`)}toString(){return this.message}get message(){return JSON.stringify(this.issues,t.jsonStringifyReplacer,2)}get isEmpty(){return this.issues.length===0}flatten(Q=(Y)=>Y.message){let Y={},X=[];for(let W of this.issues)if(W.path.length>0){let $=W.path[0];Y[$]=Y[$]||[],Y[$].push(Q(W))}else X.push(Q(W));return{formErrors:X,fieldErrors:Y}}get formErrors(){return this.flatten()}}r0.create=(Q)=>{return new r0(Q)};var dU=(Q,Y)=>{let X;switch(Q.code){case b.invalid_type:if(Q.received===R.undefined)X="Required";else X=`Expected ${Q.expected}, received ${Q.received}`;break;case b.invalid_literal:X=`Invalid literal value, expected ${JSON.stringify(Q.expected,t.jsonStringifyReplacer)}`;break;case b.unrecognized_keys:X=`Unrecognized key(s) in object: ${t.joinValues(Q.keys,", ")}`;break;case b.invalid_union:X="Invalid input";break;case b.invalid_union_discriminator:X=`Invalid discriminator value. Expected ${t.joinValues(Q.options)}`;break;case b.invalid_enum_value:X=`Invalid enum value. Expected ${t.joinValues(Q.options)}, received '${Q.received}'`;break;case b.invalid_arguments:X="Invalid function arguments";break;case b.invalid_return_type:X="Invalid function return type";break;case b.invalid_date:X="Invalid date";break;case b.invalid_string:if(typeof Q.validation==="object")if("includes"in Q.validation){if(X=`Invalid input: must include "${Q.validation.includes}"`,typeof Q.validation.position==="number")X=`${X} at one or more positions greater than or equal to ${Q.validation.position}`}else if("startsWith"in Q.validation)X=`Invalid input: must start with "${Q.validation.startsWith}"`;else if("endsWith"in Q.validation)X=`Invalid input: must end with "${Q.validation.endsWith}"`;else t.assertNever(Q.validation);else if(Q.validation!=="regex")X=`Invalid ${Q.validation}`;else X="Invalid";break;case b.too_small:if(Q.type==="array")X=`Array must contain ${Q.exact?"exactly":Q.inclusive?"at least":"more than"} ${Q.minimum} element(s)`;else if(Q.type==="string")X=`String must contain ${Q.exact?"exactly":Q.inclusive?"at least":"over"} ${Q.minimum} character(s)`;else if(Q.type==="number")X=`Number must be ${Q.exact?"exactly equal to ":Q.inclusive?"greater than or equal to ":"greater than "}${Q.minimum}`;else if(Q.type==="bigint")X=`Number must be ${Q.exact?"exactly equal to ":Q.inclusive?"greater than or equal to ":"greater than "}${Q.minimum}`;else if(Q.type==="date")X=`Date must be ${Q.exact?"exactly equal to ":Q.inclusive?"greater than or equal to ":"greater than "}${new Date(Number(Q.minimum))}`;else X="Invalid input";break;case b.too_big:if(Q.type==="array")X=`Array must contain ${Q.exact?"exactly":Q.inclusive?"at most":"less than"} ${Q.maximum} element(s)`;else if(Q.type==="string")X=`String must contain ${Q.exact?"exactly":Q.inclusive?"at most":"under"} ${Q.maximum} character(s)`;else if(Q.type==="number")X=`Number must be ${Q.exact?"exactly":Q.inclusive?"less than or equal to":"less than"} ${Q.maximum}`;else if(Q.type==="bigint")X=`BigInt must be ${Q.exact?"exactly":Q.inclusive?"less than or equal to":"less than"} ${Q.maximum}`;else if(Q.type==="date")X=`Date must be ${Q.exact?"exactly":Q.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number(Q.maximum))}`;else X="Invalid input";break;case b.custom:X="Invalid input";break;case b.invalid_intersection_types:X="Intersection results could not be merged";break;case b.not_multiple_of:X=`Number must be a multiple of ${Q.multipleOf}`;break;case b.not_finite:X="Number must be finite";break;default:X=Y.defaultError,t.assertNever(Q)}return{message:X}},o1=dU;var bG=o1;function iU(Q){bG=Q}function N9(){return bG}var Z8=(Q)=>{let{data:Y,path:X,errorMaps:W,issueData:$}=Q,J=[...X,...$.path||[]],G={...$,path:J};if($.message!==void 0)return{...$,path:J,message:$.message};let H="",B=W.filter((z)=>!!z).slice().reverse();for(let z of B)H=z(G,{data:Y,defaultError:H}).message;return{...$,path:J,message:H}},nU=[];function T(Q,Y){let X=N9(),W=Z8({issueData:Y,data:Q.data,path:Q.path,errorMaps:[Q.common.contextualErrorMap,Q.schemaErrorMap,X,X===o1?void 0:o1].filter(($)=>!!$)});Q.common.issues.push(W)}class C0{constructor(){this.value="valid"}dirty(){if(this.value==="valid")this.value="dirty"}abort(){if(this.value!=="aborted")this.value="aborted"}static mergeArray(Q,Y){let X=[];for(let W of Y){if(W.status==="aborted")return h;if(W.status==="dirty")Q.dirty();X.push(W.value)}return{status:Q.value,value:X}}static async mergeObjectAsync(Q,Y){let X=[];for(let W of Y){let $=await W.key,J=await W.value;X.push({key:$,value:J})}return C0.mergeObjectSync(Q,X)}static mergeObjectSync(Q,Y){let X={};for(let W of Y){let{key:$,value:J}=W;if($.status==="aborted")return h;if(J.status==="aborted")return h;if($.status==="dirty")Q.dirty();if(J.status==="dirty")Q.dirty();if($.value!=="__proto__"&&(typeof J.value<"u"||W.alwaysSet))X[$.value]=J.value}return{status:Q.value,value:X}}}var h=Object.freeze({status:"aborted"}),c6=(Q)=>({status:"dirty",value:Q}),h0=(Q)=>({status:"valid",value:Q}),YQ=(Q)=>Q.status==="aborted",XQ=(Q)=>Q.status==="dirty",V6=(Q)=>Q.status==="valid",M9=(Q)=>typeof Promise<"u"&&Q instanceof Promise;var v;(function(Q){Q.errToObj=(Y)=>typeof Y==="string"?{message:Y}:Y||{},Q.toString=(Y)=>typeof Y==="string"?Y:Y?.message})(v||(v={}));class w1{constructor(Q,Y,X,W){this._cachedPath=[],this.parent=Q,this.data=Y,this._path=X,this._key=W}get path(){if(!this._cachedPath.length)if(Array.isArray(this._key))this._cachedPath.push(...this._path,...this._key);else this._cachedPath.push(...this._path,this._key);return this._cachedPath}}var PG=(Q,Y)=>{if(V6(Y))return{success:!0,data:Y.value};else{if(!Q.common.issues.length)throw Error("Validation failed but no issues detected.");return{success:!1,get error(){if(this._error)return this._error;let X=new r0(Q.common.issues);return this._error=X,this._error}}}};function p(Q){if(!Q)return{};let{errorMap:Y,invalid_type_error:X,required_error:W,description:$}=Q;if(Y&&(X||W))throw Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);if(Y)return{errorMap:Y,description:$};return{errorMap:(G,H)=>{let{message:B}=Q;if(G.code==="invalid_enum_value")return{message:B??H.defaultError};if(typeof H.data>"u")return{message:B??W??H.defaultError};if(G.code!=="invalid_type")return{message:H.defaultError};return{message:B??X??H.defaultError}},description:$}}class o{get description(){return this._def.description}_getType(Q){return h1(Q.data)}_getOrReturnCtx(Q,Y){return Y||{common:Q.parent.common,data:Q.data,parsedType:h1(Q.data),schemaErrorMap:this._def.errorMap,path:Q.path,parent:Q.parent}}_processInputParams(Q){return{status:new C0,ctx:{common:Q.parent.common,data:Q.data,parsedType:h1(Q.data),schemaErrorMap:this._def.errorMap,path:Q.path,parent:Q.parent}}}_parseSync(Q){let Y=this._parse(Q);if(M9(Y))throw Error("Synchronous parse encountered promise.");return Y}_parseAsync(Q){let Y=this._parse(Q);return Promise.resolve(Y)}parse(Q,Y){let X=this.safeParse(Q,Y);if(X.success)return X.data;throw X.error}safeParse(Q,Y){let X={common:{issues:[],async:Y?.async??!1,contextualErrorMap:Y?.errorMap},path:Y?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:Q,parsedType:h1(Q)},W=this._parseSync({data:Q,path:X.path,parent:X});return PG(X,W)}"~validate"(Q){let Y={common:{issues:[],async:!!this["~standard"].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:Q,parsedType:h1(Q)};if(!this["~standard"].async)try{let X=this._parseSync({data:Q,path:[],parent:Y});return V6(X)?{value:X.value}:{issues:Y.common.issues}}catch(X){if(X?.message?.toLowerCase()?.includes("encountered"))this["~standard"].async=!0;Y.common={issues:[],async:!0}}return this._parseAsync({data:Q,path:[],parent:Y}).then((X)=>V6(X)?{value:X.value}:{issues:Y.common.issues})}async parseAsync(Q,Y){let X=await this.safeParseAsync(Q,Y);if(X.success)return X.data;throw X.error}async safeParseAsync(Q,Y){let X={common:{issues:[],contextualErrorMap:Y?.errorMap,async:!0},path:Y?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:Q,parsedType:h1(Q)},W=this._parse({data:Q,path:X.path,parent:X}),$=await(M9(W)?W:Promise.resolve(W));return PG(X,$)}refine(Q,Y){let X=(W)=>{if(typeof Y==="string"||typeof Y>"u")return{message:Y};else if(typeof Y==="function")return Y(W);else return Y};return this._refinement((W,$)=>{let J=Q(W),G=()=>$.addIssue({code:b.custom,...X(W)});if(typeof Promise<"u"&&J instanceof Promise)return J.then((H)=>{if(!H)return G(),!1;else return!0});if(!J)return G(),!1;else return!0})}refinement(Q,Y){return this._refinement((X,W)=>{if(!Q(X))return W.addIssue(typeof Y==="function"?Y(X,W):Y),!1;else return!0})}_refinement(Q){return new N1({schema:this,typeName:P.ZodEffects,effect:{type:"refinement",refinement:Q}})}superRefine(Q){return this._refinement(Q)}constructor(Q){this.spa=this.safeParseAsync,this._def=Q,this.parse=this.parse.bind(this),this.safeParse=this.safeParse.bind(this),this.parseAsync=this.parseAsync.bind(this),this.safeParseAsync=this.safeParseAsync.bind(this),this.spa=this.spa.bind(this),this.refine=this.refine.bind(this),this.refinement=this.refinement.bind(this),this.superRefine=this.superRefine.bind(this),this.optional=this.optional.bind(this),this.nullable=this.nullable.bind(this),this.nullish=this.nullish.bind(this),this.array=this.array.bind(this),this.promise=this.promise.bind(this),this.or=this.or.bind(this),this.and=this.and.bind(this),this.transform=this.transform.bind(this),this.brand=this.brand.bind(this),this.default=this.default.bind(this),this.catch=this.catch.bind(this),this.describe=this.describe.bind(this),this.pipe=this.pipe.bind(this),this.readonly=this.readonly.bind(this),this.isNullable=this.isNullable.bind(this),this.isOptional=this.isOptional.bind(this),this["~standard"]={version:1,vendor:"zod",validate:(Y)=>this["~validate"](Y)}}optional(){return B1.create(this,this._def)}nullable(){return t1.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return j1.create(this)}promise(){return n6.create(this,this._def)}or(Q){return I9.create([this,Q],this._def)}and(Q){return S9.create(this,Q,this._def)}transform(Q){return new N1({...p(this._def),schema:this,typeName:P.ZodEffects,effect:{type:"transform",transform:Q}})}default(Q){let Y=typeof Q==="function"?Q:()=>Q;return new _9({...p(this._def),innerType:this,defaultValue:Y,typeName:P.ZodDefault})}brand(){return new $Q({typeName:P.ZodBranded,type:this,...p(this._def)})}catch(Q){let Y=typeof Q==="function"?Q:()=>Q;return new v9({...p(this._def),innerType:this,catchValue:Y,typeName:P.ZodCatch})}describe(Q){return new this.constructor({...this._def,description:Q})}pipe(Q){return C8.create(this,Q)}readonly(){return x9.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}}var oU=/^c[^\s-]{8,}$/i,rU=/^[0-9a-z]+$/,tU=/^[0-9A-HJKMNP-TV-Z]{26}$/i,aU=/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/i,sU=/^[a-z0-9_-]{21}$/i,eU=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,Qj=/^[-+]?P(?!$)(?:(?:[-+]?\d+Y)|(?:[-+]?\d+[.,]\d+Y$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:(?:[-+]?\d+W)|(?:[-+]?\d+[.,]\d+W$))?(?:(?:[-+]?\d+D)|(?:[-+]?\d+[.,]\d+D$))?(?:T(?=[\d+-])(?:(?:[-+]?\d+H)|(?:[-+]?\d+[.,]\d+H$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:[-+]?\d+(?:[.,]\d+)?S)?)??$/,Yj=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,Xj="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",oX,Wj=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,$j=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/(3[0-2]|[12]?[0-9])$/,Jj=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$/,Gj=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,Hj=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,Bj=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,RG="((\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-((0[13578]|1[02])-(0[1-9]|[12]\\d|3[01])|(0[469]|11)-(0[1-9]|[12]\\d|30)|(02)-(0[1-9]|1\\d|2[0-8])))",zj=new RegExp(`^${RG}$`);function EG(Q){let Y="[0-5]\\d";if(Q.precision)Y=`${Y}\\.\\d{${Q.precision}}`;else if(Q.precision==null)Y=`${Y}(\\.\\d+)?`;let X=Q.precision?"+":"?";return`([01]\\d|2[0-3]):[0-5]\\d(:${Y})${X}`}function Kj(Q){return new RegExp(`^${EG(Q)}$`)}function IG(Q){let Y=`${RG}T${EG(Q)}`,X=[];if(X.push(Q.local?"Z?":"Z"),Q.offset)X.push("([+-]\\d{2}:?\\d{2})");return Y=`${Y}(${X.join("|")})`,new RegExp(`^${Y}$`)}function Vj(Q,Y){if((Y==="v4"||!Y)&&Wj.test(Q))return!0;if((Y==="v6"||!Y)&&Jj.test(Q))return!0;return!1}function Fj(Q,Y){if(!eU.test(Q))return!1;try{let[X]=Q.split(".");if(!X)return!1;let W=X.replace(/-/g,"+").replace(/_/g,"/").padEnd(X.length+(4-X.length%4)%4,"="),$=JSON.parse(atob(W));if(typeof $!=="object"||$===null)return!1;if("typ"in $&&$?.typ!=="JWT")return!1;if(!$.alg)return!1;if(Y&&$.alg!==Y)return!1;return!0}catch{return!1}}function Aj(Q,Y){if((Y==="v4"||!Y)&&$j.test(Q))return!0;if((Y==="v6"||!Y)&&Gj.test(Q))return!0;return!1}class U1 extends o{_parse(Q){if(this._def.coerce)Q.data=String(Q.data);if(this._getType(Q)!==R.string){let $=this._getOrReturnCtx(Q);return T($,{code:b.invalid_type,expected:R.string,received:$.parsedType}),h}let X=new C0,W=void 0;for(let $ of this._def.checks)if($.kind==="min"){if(Q.data.length<$.value)W=this._getOrReturnCtx(Q,W),T(W,{code:b.too_small,minimum:$.value,type:"string",inclusive:!0,exact:!1,message:$.message}),X.dirty()}else if($.kind==="max"){if(Q.data.length>$.value)W=this._getOrReturnCtx(Q,W),T(W,{code:b.too_big,maximum:$.value,type:"string",inclusive:!0,exact:!1,message:$.message}),X.dirty()}else if($.kind==="length"){let J=Q.data.length>$.value,G=Q.data.length<$.value;if(J||G){if(W=this._getOrReturnCtx(Q,W),J)T(W,{code:b.too_big,maximum:$.value,type:"string",inclusive:!0,exact:!0,message:$.message});else if(G)T(W,{code:b.too_small,minimum:$.value,type:"string",inclusive:!0,exact:!0,message:$.message});X.dirty()}}else if($.kind==="email"){if(!Yj.test(Q.data))W=this._getOrReturnCtx(Q,W),T(W,{validation:"email",code:b.invalid_string,message:$.message}),X.dirty()}else if($.kind==="emoji"){if(!oX)oX=new RegExp(Xj,"u");if(!oX.test(Q.data))W=this._getOrReturnCtx(Q,W),T(W,{validation:"emoji",code:b.invalid_string,message:$.message}),X.dirty()}else if($.kind==="uuid"){if(!aU.test(Q.data))W=this._getOrReturnCtx(Q,W),T(W,{validation:"uuid",code:b.invalid_string,message:$.message}),X.dirty()}else if($.kind==="nanoid"){if(!sU.test(Q.data))W=this._getOrReturnCtx(Q,W),T(W,{validation:"nanoid",code:b.invalid_string,message:$.message}),X.dirty()}else if($.kind==="cuid"){if(!oU.test(Q.data))W=this._getOrReturnCtx(Q,W),T(W,{validation:"cuid",code:b.invalid_string,message:$.message}),X.dirty()}else if($.kind==="cuid2"){if(!rU.test(Q.data))W=this._getOrReturnCtx(Q,W),T(W,{validation:"cuid2",code:b.invalid_string,message:$.message}),X.dirty()}else if($.kind==="ulid"){if(!tU.test(Q.data))W=this._getOrReturnCtx(Q,W),T(W,{validation:"ulid",code:b.invalid_string,message:$.message}),X.dirty()}else if($.kind==="url")try{new URL(Q.data)}catch{W=this._getOrReturnCtx(Q,W),T(W,{validation:"url",code:b.invalid_string,message:$.message}),X.dirty()}else if($.kind==="regex"){if($.regex.lastIndex=0,!$.regex.test(Q.data))W=this._getOrReturnCtx(Q,W),T(W,{validation:"regex",code:b.invalid_string,message:$.message}),X.dirty()}else if($.kind==="trim")Q.data=Q.data.trim();else if($.kind==="includes"){if(!Q.data.includes($.value,$.position))W=this._getOrReturnCtx(Q,W),T(W,{code:b.invalid_string,validation:{includes:$.value,position:$.position},message:$.message}),X.dirty()}else if($.kind==="toLowerCase")Q.data=Q.data.toLowerCase();else if($.kind==="toUpperCase")Q.data=Q.data.toUpperCase();else if($.kind==="startsWith"){if(!Q.data.startsWith($.value))W=this._getOrReturnCtx(Q,W),T(W,{code:b.invalid_string,validation:{startsWith:$.value},message:$.message}),X.dirty()}else if($.kind==="endsWith"){if(!Q.data.endsWith($.value))W=this._getOrReturnCtx(Q,W),T(W,{code:b.invalid_string,validation:{endsWith:$.value},message:$.message}),X.dirty()}else if($.kind==="datetime"){if(!IG($).test(Q.data))W=this._getOrReturnCtx(Q,W),T(W,{code:b.invalid_string,validation:"datetime",message:$.message}),X.dirty()}else if($.kind==="date"){if(!zj.test(Q.data))W=this._getOrReturnCtx(Q,W),T(W,{code:b.invalid_string,validation:"date",message:$.message}),X.dirty()}else if($.kind==="time"){if(!Kj($).test(Q.data))W=this._getOrReturnCtx(Q,W),T(W,{code:b.invalid_string,validation:"time",message:$.message}),X.dirty()}else if($.kind==="duration"){if(!Qj.test(Q.data))W=this._getOrReturnCtx(Q,W),T(W,{validation:"duration",code:b.invalid_string,message:$.message}),X.dirty()}else if($.kind==="ip"){if(!Vj(Q.data,$.version))W=this._getOrReturnCtx(Q,W),T(W,{validation:"ip",code:b.invalid_string,message:$.message}),X.dirty()}else if($.kind==="jwt"){if(!Fj(Q.data,$.alg))W=this._getOrReturnCtx(Q,W),T(W,{validation:"jwt",code:b.invalid_string,message:$.message}),X.dirty()}else if($.kind==="cidr"){if(!Aj(Q.data,$.version))W=this._getOrReturnCtx(Q,W),T(W,{validation:"cidr",code:b.invalid_string,message:$.message}),X.dirty()}else if($.kind==="base64"){if(!Hj.test(Q.data))W=this._getOrReturnCtx(Q,W),T(W,{validation:"base64",code:b.invalid_string,message:$.message}),X.dirty()}else if($.kind==="base64url"){if(!Bj.test(Q.data))W=this._getOrReturnCtx(Q,W),T(W,{validation:"base64url",code:b.invalid_string,message:$.message}),X.dirty()}else t.assertNever($);return{status:X.value,value:Q.data}}_regex(Q,Y,X){return this.refinement((W)=>Q.test(W),{validation:Y,code:b.invalid_string,...v.errToObj(X)})}_addCheck(Q){return new U1({...this._def,checks:[...this._def.checks,Q]})}email(Q){return this._addCheck({kind:"email",...v.errToObj(Q)})}url(Q){return this._addCheck({kind:"url",...v.errToObj(Q)})}emoji(Q){return this._addCheck({kind:"emoji",...v.errToObj(Q)})}uuid(Q){return this._addCheck({kind:"uuid",...v.errToObj(Q)})}nanoid(Q){return this._addCheck({kind:"nanoid",...v.errToObj(Q)})}cuid(Q){return this._addCheck({kind:"cuid",...v.errToObj(Q)})}cuid2(Q){return this._addCheck({kind:"cuid2",...v.errToObj(Q)})}ulid(Q){return this._addCheck({kind:"ulid",...v.errToObj(Q)})}base64(Q){return this._addCheck({kind:"base64",...v.errToObj(Q)})}base64url(Q){return this._addCheck({kind:"base64url",...v.errToObj(Q)})}jwt(Q){return this._addCheck({kind:"jwt",...v.errToObj(Q)})}ip(Q){return this._addCheck({kind:"ip",...v.errToObj(Q)})}cidr(Q){return this._addCheck({kind:"cidr",...v.errToObj(Q)})}datetime(Q){if(typeof Q==="string")return this._addCheck({kind:"datetime",precision:null,offset:!1,local:!1,message:Q});return this._addCheck({kind:"datetime",precision:typeof Q?.precision>"u"?null:Q?.precision,offset:Q?.offset??!1,local:Q?.local??!1,...v.errToObj(Q?.message)})}date(Q){return this._addCheck({kind:"date",message:Q})}time(Q){if(typeof Q==="string")return this._addCheck({kind:"time",precision:null,message:Q});return this._addCheck({kind:"time",precision:typeof Q?.precision>"u"?null:Q?.precision,...v.errToObj(Q?.message)})}duration(Q){return this._addCheck({kind:"duration",...v.errToObj(Q)})}regex(Q,Y){return this._addCheck({kind:"regex",regex:Q,...v.errToObj(Y)})}includes(Q,Y){return this._addCheck({kind:"includes",value:Q,position:Y?.position,...v.errToObj(Y?.message)})}startsWith(Q,Y){return this._addCheck({kind:"startsWith",value:Q,...v.errToObj(Y)})}endsWith(Q,Y){return this._addCheck({kind:"endsWith",value:Q,...v.errToObj(Y)})}min(Q,Y){return this._addCheck({kind:"min",value:Q,...v.errToObj(Y)})}max(Q,Y){return this._addCheck({kind:"max",value:Q,...v.errToObj(Y)})}length(Q,Y){return this._addCheck({kind:"length",value:Q,...v.errToObj(Y)})}nonempty(Q){return this.min(1,v.errToObj(Q))}trim(){return new U1({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new U1({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new U1({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}get isDatetime(){return!!this._def.checks.find((Q)=>Q.kind==="datetime")}get isDate(){return!!this._def.checks.find((Q)=>Q.kind==="date")}get isTime(){return!!this._def.checks.find((Q)=>Q.kind==="time")}get isDuration(){return!!this._def.checks.find((Q)=>Q.kind==="duration")}get isEmail(){return!!this._def.checks.find((Q)=>Q.kind==="email")}get isURL(){return!!this._def.checks.find((Q)=>Q.kind==="url")}get isEmoji(){return!!this._def.checks.find((Q)=>Q.kind==="emoji")}get isUUID(){return!!this._def.checks.find((Q)=>Q.kind==="uuid")}get isNANOID(){return!!this._def.checks.find((Q)=>Q.kind==="nanoid")}get isCUID(){return!!this._def.checks.find((Q)=>Q.kind==="cuid")}get isCUID2(){return!!this._def.checks.find((Q)=>Q.kind==="cuid2")}get isULID(){return!!this._def.checks.find((Q)=>Q.kind==="ulid")}get isIP(){return!!this._def.checks.find((Q)=>Q.kind==="ip")}get isCIDR(){return!!this._def.checks.find((Q)=>Q.kind==="cidr")}get isBase64(){return!!this._def.checks.find((Q)=>Q.kind==="base64")}get isBase64url(){return!!this._def.checks.find((Q)=>Q.kind==="base64url")}get minLength(){let Q=null;for(let Y of this._def.checks)if(Y.kind==="min"){if(Q===null||Y.value>Q)Q=Y.value}return Q}get maxLength(){let Q=null;for(let Y of this._def.checks)if(Y.kind==="max"){if(Q===null||Y.value<Q)Q=Y.value}return Q}}U1.create=(Q)=>{return new U1({checks:[],typeName:P.ZodString,coerce:Q?.coerce??!1,...p(Q)})};function qj(Q,Y){let X=(Q.toString().split(".")[1]||"").length,W=(Y.toString().split(".")[1]||"").length,$=X>W?X:W,J=Number.parseInt(Q.toFixed($).replace(".","")),G=Number.parseInt(Y.toFixed($).replace(".",""));return J%G/10**$}class A6 extends o{constructor(){super(...arguments);this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse(Q){if(this._def.coerce)Q.data=Number(Q.data);if(this._getType(Q)!==R.number){let $=this._getOrReturnCtx(Q);return T($,{code:b.invalid_type,expected:R.number,received:$.parsedType}),h}let X=void 0,W=new C0;for(let $ of this._def.checks)if($.kind==="int"){if(!t.isInteger(Q.data))X=this._getOrReturnCtx(Q,X),T(X,{code:b.invalid_type,expected:"integer",received:"float",message:$.message}),W.dirty()}else if($.kind==="min"){if($.inclusive?Q.data<$.value:Q.data<=$.value)X=this._getOrReturnCtx(Q,X),T(X,{code:b.too_small,minimum:$.value,type:"number",inclusive:$.inclusive,exact:!1,message:$.message}),W.dirty()}else if($.kind==="max"){if($.inclusive?Q.data>$.value:Q.data>=$.value)X=this._getOrReturnCtx(Q,X),T(X,{code:b.too_big,maximum:$.value,type:"number",inclusive:$.inclusive,exact:!1,message:$.message}),W.dirty()}else if($.kind==="multipleOf"){if(qj(Q.data,$.value)!==0)X=this._getOrReturnCtx(Q,X),T(X,{code:b.not_multiple_of,multipleOf:$.value,message:$.message}),W.dirty()}else if($.kind==="finite"){if(!Number.isFinite(Q.data))X=this._getOrReturnCtx(Q,X),T(X,{code:b.not_finite,message:$.message}),W.dirty()}else t.assertNever($);return{status:W.value,value:Q.data}}gte(Q,Y){return this.setLimit("min",Q,!0,v.toString(Y))}gt(Q,Y){return this.setLimit("min",Q,!1,v.toString(Y))}lte(Q,Y){return this.setLimit("max",Q,!0,v.toString(Y))}lt(Q,Y){return this.setLimit("max",Q,!1,v.toString(Y))}setLimit(Q,Y,X,W){return new A6({...this._def,checks:[...this._def.checks,{kind:Q,value:Y,inclusive:X,message:v.toString(W)}]})}_addCheck(Q){return new A6({...this._def,checks:[...this._def.checks,Q]})}int(Q){return this._addCheck({kind:"int",message:v.toString(Q)})}positive(Q){return this._addCheck({kind:"min",value:0,inclusive:!1,message:v.toString(Q)})}negative(Q){return this._addCheck({kind:"max",value:0,inclusive:!1,message:v.toString(Q)})}nonpositive(Q){return this._addCheck({kind:"max",value:0,inclusive:!0,message:v.toString(Q)})}nonnegative(Q){return this._addCheck({kind:"min",value:0,inclusive:!0,message:v.toString(Q)})}multipleOf(Q,Y){return this._addCheck({kind:"multipleOf",value:Q,message:v.toString(Y)})}finite(Q){return this._addCheck({kind:"finite",message:v.toString(Q)})}safe(Q){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:v.toString(Q)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:v.toString(Q)})}get minValue(){let Q=null;for(let Y of this._def.checks)if(Y.kind==="min"){if(Q===null||Y.value>Q)Q=Y.value}return Q}get maxValue(){let Q=null;for(let Y of this._def.checks)if(Y.kind==="max"){if(Q===null||Y.value<Q)Q=Y.value}return Q}get isInt(){return!!this._def.checks.find((Q)=>Q.kind==="int"||Q.kind==="multipleOf"&&t.isInteger(Q.value))}get isFinite(){let Q=null,Y=null;for(let X of this._def.checks)if(X.kind==="finite"||X.kind==="int"||X.kind==="multipleOf")return!0;else if(X.kind==="min"){if(Y===null||X.value>Y)Y=X.value}else if(X.kind==="max"){if(Q===null||X.value<Q)Q=X.value}return Number.isFinite(Y)&&Number.isFinite(Q)}}A6.create=(Q)=>{return new A6({checks:[],typeName:P.ZodNumber,coerce:Q?.coerce||!1,...p(Q)})};class q6 extends o{constructor(){super(...arguments);this.min=this.gte,this.max=this.lte}_parse(Q){if(this._def.coerce)try{Q.data=BigInt(Q.data)}catch{return this._getInvalidInput(Q)}if(this._getType(Q)!==R.bigint)return this._getInvalidInput(Q);let X=void 0,W=new C0;for(let $ of this._def.checks)if($.kind==="min"){if($.inclusive?Q.data<$.value:Q.data<=$.value)X=this._getOrReturnCtx(Q,X),T(X,{code:b.too_small,type:"bigint",minimum:$.value,inclusive:$.inclusive,message:$.message}),W.dirty()}else if($.kind==="max"){if($.inclusive?Q.data>$.value:Q.data>=$.value)X=this._getOrReturnCtx(Q,X),T(X,{code:b.too_big,type:"bigint",maximum:$.value,inclusive:$.inclusive,message:$.message}),W.dirty()}else if($.kind==="multipleOf"){if(Q.data%$.value!==BigInt(0))X=this._getOrReturnCtx(Q,X),T(X,{code:b.not_multiple_of,multipleOf:$.value,message:$.message}),W.dirty()}else t.assertNever($);return{status:W.value,value:Q.data}}_getInvalidInput(Q){let Y=this._getOrReturnCtx(Q);return T(Y,{code:b.invalid_type,expected:R.bigint,received:Y.parsedType}),h}gte(Q,Y){return this.setLimit("min",Q,!0,v.toString(Y))}gt(Q,Y){return this.setLimit("min",Q,!1,v.toString(Y))}lte(Q,Y){return this.setLimit("max",Q,!0,v.toString(Y))}lt(Q,Y){return this.setLimit("max",Q,!1,v.toString(Y))}setLimit(Q,Y,X,W){return new q6({...this._def,checks:[...this._def.checks,{kind:Q,value:Y,inclusive:X,message:v.toString(W)}]})}_addCheck(Q){return new q6({...this._def,checks:[...this._def.checks,Q]})}positive(Q){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:v.toString(Q)})}negative(Q){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:v.toString(Q)})}nonpositive(Q){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:v.toString(Q)})}nonnegative(Q){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:v.toString(Q)})}multipleOf(Q,Y){return this._addCheck({kind:"multipleOf",value:Q,message:v.toString(Y)})}get minValue(){let Q=null;for(let Y of this._def.checks)if(Y.kind==="min"){if(Q===null||Y.value>Q)Q=Y.value}return Q}get maxValue(){let Q=null;for(let Y of this._def.checks)if(Y.kind==="max"){if(Q===null||Y.value<Q)Q=Y.value}return Q}}q6.create=(Q)=>{return new q6({checks:[],typeName:P.ZodBigInt,coerce:Q?.coerce??!1,...p(Q)})};class Z9 extends o{_parse(Q){if(this._def.coerce)Q.data=Boolean(Q.data);if(this._getType(Q)!==R.boolean){let X=this._getOrReturnCtx(Q);return T(X,{code:b.invalid_type,expected:R.boolean,received:X.parsedType}),h}return h0(Q.data)}}Z9.create=(Q)=>{return new Z9({typeName:P.ZodBoolean,coerce:Q?.coerce||!1,...p(Q)})};class p6 extends o{_parse(Q){if(this._def.coerce)Q.data=new Date(Q.data);if(this._getType(Q)!==R.date){let $=this._getOrReturnCtx(Q);return T($,{code:b.invalid_type,expected:R.date,received:$.parsedType}),h}if(Number.isNaN(Q.data.getTime())){let $=this._getOrReturnCtx(Q);return T($,{code:b.invalid_date}),h}let X=new C0,W=void 0;for(let $ of this._def.checks)if($.kind==="min"){if(Q.data.getTime()<$.value)W=this._getOrReturnCtx(Q,W),T(W,{code:b.too_small,message:$.message,inclusive:!0,exact:!1,minimum:$.value,type:"date"}),X.dirty()}else if($.kind==="max"){if(Q.data.getTime()>$.value)W=this._getOrReturnCtx(Q,W),T(W,{code:b.too_big,message:$.message,inclusive:!0,exact:!1,maximum:$.value,type:"date"}),X.dirty()}else t.assertNever($);return{status:X.value,value:new Date(Q.data.getTime())}}_addCheck(Q){return new p6({...this._def,checks:[...this._def.checks,Q]})}min(Q,Y){return this._addCheck({kind:"min",value:Q.getTime(),message:v.toString(Y)})}max(Q,Y){return this._addCheck({kind:"max",value:Q.getTime(),message:v.toString(Y)})}get minDate(){let Q=null;for(let Y of this._def.checks)if(Y.kind==="min"){if(Q===null||Y.value>Q)Q=Y.value}return Q!=null?new Date(Q):null}get maxDate(){let Q=null;for(let Y of this._def.checks)if(Y.kind==="max"){if(Q===null||Y.value<Q)Q=Y.value}return Q!=null?new Date(Q):null}}p6.create=(Q)=>{return new p6({checks:[],coerce:Q?.coerce||!1,typeName:P.ZodDate,...p(Q)})};class R8 extends o{_parse(Q){if(this._getType(Q)!==R.symbol){let X=this._getOrReturnCtx(Q);return T(X,{code:b.invalid_type,expected:R.symbol,received:X.parsedType}),h}return h0(Q.data)}}R8.create=(Q)=>{return new R8({typeName:P.ZodSymbol,...p(Q)})};class R9 extends o{_parse(Q){if(this._getType(Q)!==R.undefined){let X=this._getOrReturnCtx(Q);return T(X,{code:b.invalid_type,expected:R.undefined,received:X.parsedType}),h}return h0(Q.data)}}R9.create=(Q)=>{return new R9({typeName:P.ZodUndefined,...p(Q)})};class E9 extends o{_parse(Q){if(this._getType(Q)!==R.null){let X=this._getOrReturnCtx(Q);return T(X,{code:b.invalid_type,expected:R.null,received:X.parsedType}),h}return h0(Q.data)}}E9.create=(Q)=>{return new E9({typeName:P.ZodNull,...p(Q)})};class d6 extends o{constructor(){super(...arguments);this._any=!0}_parse(Q){return h0(Q.data)}}d6.create=(Q)=>{return new d6({typeName:P.ZodAny,...p(Q)})};class F6 extends o{constructor(){super(...arguments);this._unknown=!0}_parse(Q){return h0(Q.data)}}F6.create=(Q)=>{return new F6({typeName:P.ZodUnknown,...p(Q)})};class u1 extends o{_parse(Q){let Y=this._getOrReturnCtx(Q);return T(Y,{code:b.invalid_type,expected:R.never,received:Y.parsedType}),h}}u1.create=(Q)=>{return new u1({typeName:P.ZodNever,...p(Q)})};class E8 extends o{_parse(Q){if(this._getType(Q)!==R.undefined){let X=this._getOrReturnCtx(Q);return T(X,{code:b.invalid_type,expected:R.void,received:X.parsedType}),h}return h0(Q.data)}}E8.create=(Q)=>{return new E8({typeName:P.ZodVoid,...p(Q)})};class j1 extends o{_parse(Q){let{ctx:Y,status:X}=this._processInputParams(Q),W=this._def;if(Y.parsedType!==R.array)return T(Y,{code:b.invalid_type,expected:R.array,received:Y.parsedType}),h;if(W.exactLength!==null){let J=Y.data.length>W.exactLength.value,G=Y.data.length<W.exactLength.value;if(J||G)T(Y,{code:J?b.too_big:b.too_small,minimum:G?W.exactLength.value:void 0,maximum:J?W.exactLength.value:void 0,type:"array",inclusive:!0,exact:!0,message:W.exactLength.message}),X.dirty()}if(W.minLength!==null){if(Y.data.length<W.minLength.value)T(Y,{code:b.too_small,minimum:W.minLength.value,type:"array",inclusive:!0,exact:!1,message:W.minLength.message}),X.dirty()}if(W.maxLength!==null){if(Y.data.length>W.maxLength.value)T(Y,{code:b.too_big,maximum:W.maxLength.value,type:"array",inclusive:!0,exact:!1,message:W.maxLength.message}),X.dirty()}if(Y.common.async)return Promise.all([...Y.data].map((J,G)=>{return W.type._parseAsync(new w1(Y,J,Y.path,G))})).then((J)=>{return C0.mergeArray(X,J)});let $=[...Y.data].map((J,G)=>{return W.type._parseSync(new w1(Y,J,Y.path,G))});return C0.mergeArray(X,$)}get element(){return this._def.type}min(Q,Y){return new j1({...this._def,minLength:{value:Q,message:v.toString(Y)}})}max(Q,Y){return new j1({...this._def,maxLength:{value:Q,message:v.toString(Y)}})}length(Q,Y){return new j1({...this._def,exactLength:{value:Q,message:v.toString(Y)}})}nonempty(Q){return this.min(1,Q)}}j1.create=(Q,Y)=>{return new j1({type:Q,minLength:null,maxLength:null,exactLength:null,typeName:P.ZodArray,...p(Y)})};function b9(Q){if(Q instanceof M0){let Y={};for(let X in Q.shape){let W=Q.shape[X];Y[X]=B1.create(b9(W))}return new M0({...Q._def,shape:()=>Y})}else if(Q instanceof j1)return new j1({...Q._def,type:b9(Q.element)});else if(Q instanceof B1)return B1.create(b9(Q.unwrap()));else if(Q instanceof t1)return t1.create(b9(Q.unwrap()));else if(Q instanceof l1)return l1.create(Q.items.map((Y)=>b9(Y)));else return Q}class M0 extends o{constructor(){super(...arguments);this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(this._cached!==null)return this._cached;let Q=this._def.shape(),Y=t.objectKeys(Q);return this._cached={shape:Q,keys:Y},this._cached}_parse(Q){if(this._getType(Q)!==R.object){let B=this._getOrReturnCtx(Q);return T(B,{code:b.invalid_type,expected:R.object,received:B.parsedType}),h}let{status:X,ctx:W}=this._processInputParams(Q),{shape:$,keys:J}=this._getCached(),G=[];if(!(this._def.catchall instanceof u1&&this._def.unknownKeys==="strip")){for(let B in W.data)if(!J.includes(B))G.push(B)}let H=[];for(let B of J){let z=$[B],K=W.data[B];H.push({key:{status:"valid",value:B},value:z._parse(new w1(W,K,W.path,B)),alwaysSet:B in W.data})}if(this._def.catchall instanceof u1){let B=this._def.unknownKeys;if(B==="passthrough")for(let z of G)H.push({key:{status:"valid",value:z},value:{status:"valid",value:W.data[z]}});else if(B==="strict"){if(G.length>0)T(W,{code:b.unrecognized_keys,keys:G}),X.dirty()}else if(B==="strip");else throw Error("Internal ZodObject error: invalid unknownKeys value.")}else{let B=this._def.catchall;for(let z of G){let K=W.data[z];H.push({key:{status:"valid",value:z},value:B._parse(new w1(W,K,W.path,z)),alwaysSet:z in W.data})}}if(W.common.async)return Promise.resolve().then(async()=>{let B=[];for(let z of H){let K=await z.key,V=await z.value;B.push({key:K,value:V,alwaysSet:z.alwaysSet})}return B}).then((B)=>{return C0.mergeObjectSync(X,B)});else return C0.mergeObjectSync(X,H)}get shape(){return this._def.shape()}strict(Q){return v.errToObj,new M0({...this._def,unknownKeys:"strict",...Q!==void 0?{errorMap:(Y,X)=>{let W=this._def.errorMap?.(Y,X).message??X.defaultError;if(Y.code==="unrecognized_keys")return{message:v.errToObj(Q).message??W};return{message:W}}}:{}})}strip(){return new M0({...this._def,unknownKeys:"strip"})}passthrough(){return new M0({...this._def,unknownKeys:"passthrough"})}extend(Q){return new M0({...this._def,shape:()=>({...this._def.shape(),...Q})})}merge(Q){return new M0({unknownKeys:Q._def.unknownKeys,catchall:Q._def.catchall,shape:()=>({...this._def.shape(),...Q._def.shape()}),typeName:P.ZodObject})}setKey(Q,Y){return this.augment({[Q]:Y})}catchall(Q){return new M0({...this._def,catchall:Q})}pick(Q){let Y={};for(let X of t.objectKeys(Q))if(Q[X]&&this.shape[X])Y[X]=this.shape[X];return new M0({...this._def,shape:()=>Y})}omit(Q){let Y={};for(let X of t.objectKeys(this.shape))if(!Q[X])Y[X]=this.shape[X];return new M0({...this._def,shape:()=>Y})}deepPartial(){return b9(this)}partial(Q){let Y={};for(let X of t.objectKeys(this.shape)){let W=this.shape[X];if(Q&&!Q[X])Y[X]=W;else Y[X]=W.optional()}return new M0({...this._def,shape:()=>Y})}required(Q){let Y={};for(let X of t.objectKeys(this.shape))if(Q&&!Q[X])Y[X]=this.shape[X];else{let $=this.shape[X];while($ instanceof B1)$=$._def.innerType;Y[X]=$}return new M0({...this._def,shape:()=>Y})}keyof(){return SG(t.objectKeys(this.shape))}}M0.create=(Q,Y)=>{return new M0({shape:()=>Q,unknownKeys:"strip",catchall:u1.create(),typeName:P.ZodObject,...p(Y)})};M0.strictCreate=(Q,Y)=>{return new M0({shape:()=>Q,unknownKeys:"strict",catchall:u1.create(),typeName:P.ZodObject,...p(Y)})};M0.lazycreate=(Q,Y)=>{return new M0({shape:Q,unknownKeys:"strip",catchall:u1.create(),typeName:P.ZodObject,...p(Y)})};class I9 extends o{_parse(Q){let{ctx:Y}=this._processInputParams(Q),X=this._def.options;function W($){for(let G of $)if(G.result.status==="valid")return G.result;for(let G of $)if(G.result.status==="dirty")return Y.common.issues.push(...G.ctx.common.issues),G.result;let J=$.map((G)=>new r0(G.ctx.common.issues));return T(Y,{code:b.invalid_union,unionErrors:J}),h}if(Y.common.async)return Promise.all(X.map(async($)=>{let J={...Y,common:{...Y.common,issues:[]},parent:null};return{result:await $._parseAsync({data:Y.data,path:Y.path,parent:J}),ctx:J}})).then(W);else{let $=void 0,J=[];for(let H of X){let B={...Y,common:{...Y.common,issues:[]},parent:null},z=H._parseSync({data:Y.data,path:Y.path,parent:B});if(z.status==="valid")return z;else if(z.status==="dirty"&&!$)$={result:z,ctx:B};if(B.common.issues.length)J.push(B.common.issues)}if($)return Y.common.issues.push(...$.ctx.common.issues),$.result;let G=J.map((H)=>new r0(H));return T(Y,{code:b.invalid_union,unionErrors:G}),h}}get options(){return this._def.options}}I9.create=(Q,Y)=>{return new I9({options:Q,typeName:P.ZodUnion,...p(Y)})};var r1=(Q)=>{if(Q instanceof T9)return r1(Q.schema);else if(Q instanceof N1)return r1(Q.innerType());else if(Q instanceof C9)return[Q.value];else if(Q instanceof D6)return Q.options;else if(Q instanceof k9)return t.objectValues(Q.enum);else if(Q instanceof _9)return r1(Q._def.innerType);else if(Q instanceof R9)return[void 0];else if(Q instanceof E9)return[null];else if(Q instanceof B1)return[void 0,...r1(Q.unwrap())];else if(Q instanceof t1)return[null,...r1(Q.unwrap())];else if(Q instanceof $Q)return r1(Q.unwrap());else if(Q instanceof x9)return r1(Q.unwrap());else if(Q instanceof v9)return r1(Q._def.innerType);else return[]};class WQ extends o{_parse(Q){let{ctx:Y}=this._processInputParams(Q);if(Y.parsedType!==R.object)return T(Y,{code:b.invalid_type,expected:R.object,received:Y.parsedType}),h;let X=this.discriminator,W=Y.data[X],$=this.optionsMap.get(W);if(!$)return T(Y,{code:b.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[X]}),h;if(Y.common.async)return $._parseAsync({data:Y.data,path:Y.path,parent:Y});else return $._parseSync({data:Y.data,path:Y.path,parent:Y})}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create(Q,Y,X){let W=new Map;for(let $ of Y){let J=r1($.shape[Q]);if(!J.length)throw Error(`A discriminator value for key \`${Q}\` could not be extracted from all schema options`);for(let G of J){if(W.has(G))throw Error(`Discriminator property ${String(Q)} has duplicate value ${String(G)}`);W.set(G,$)}}return new WQ({typeName:P.ZodDiscriminatedUnion,discriminator:Q,options:Y,optionsMap:W,...p(X)})}}function rX(Q,Y){let X=h1(Q),W=h1(Y);if(Q===Y)return{valid:!0,data:Q};else if(X===R.object&&W===R.object){let $=t.objectKeys(Y),J=t.objectKeys(Q).filter((H)=>$.indexOf(H)!==-1),G={...Q,...Y};for(let H of J){let B=rX(Q[H],Y[H]);if(!B.valid)return{valid:!1};G[H]=B.data}return{valid:!0,data:G}}else if(X===R.array&&W===R.array){if(Q.length!==Y.length)return{valid:!1};let $=[];for(let J=0;J<Q.length;J++){let G=Q[J],H=Y[J],B=rX(G,H);if(!B.valid)return{valid:!1};$.push(B.data)}return{valid:!0,data:$}}else if(X===R.date&&W===R.date&&+Q===+Y)return{valid:!0,data:Q};else return{valid:!1}}class S9 extends o{_parse(Q){let{status:Y,ctx:X}=this._processInputParams(Q),W=($,J)=>{if(YQ($)||YQ(J))return h;let G=rX($.value,J.value);if(!G.valid)return T(X,{code:b.invalid_intersection_types}),h;if(XQ($)||XQ(J))Y.dirty();return{status:Y.value,value:G.data}};if(X.common.async)return Promise.all([this._def.left._parseAsync({data:X.data,path:X.path,parent:X}),this._def.right._parseAsync({data:X.data,path:X.path,parent:X})]).then(([$,J])=>W($,J));else return W(this._def.left._parseSync({data:X.data,path:X.path,parent:X}),this._def.right._parseSync({data:X.data,path:X.path,parent:X}))}}S9.create=(Q,Y,X)=>{return new S9({left:Q,right:Y,typeName:P.ZodIntersection,...p(X)})};class l1 extends o{_parse(Q){let{status:Y,ctx:X}=this._processInputParams(Q);if(X.parsedType!==R.array)return T(X,{code:b.invalid_type,expected:R.array,received:X.parsedType}),h;if(X.data.length<this._def.items.length)return T(X,{code:b.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),h;if(!this._def.rest&&X.data.length>this._def.items.length)T(X,{code:b.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),Y.dirty();let $=[...X.data].map((J,G)=>{let H=this._def.items[G]||this._def.rest;if(!H)return null;return H._parse(new w1(X,J,X.path,G))}).filter((J)=>!!J);if(X.common.async)return Promise.all($).then((J)=>{return C0.mergeArray(Y,J)});else return C0.mergeArray(Y,$)}get items(){return this._def.items}rest(Q){return new l1({...this._def,rest:Q})}}l1.create=(Q,Y)=>{if(!Array.isArray(Q))throw Error("You must pass an array of schemas to z.tuple([ ... ])");return new l1({items:Q,typeName:P.ZodTuple,rest:null,...p(Y)})};class I8 extends o{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(Q){let{status:Y,ctx:X}=this._processInputParams(Q);if(X.parsedType!==R.object)return T(X,{code:b.invalid_type,expected:R.object,received:X.parsedType}),h;let W=[],$=this._def.keyType,J=this._def.valueType;for(let G in X.data)W.push({key:$._parse(new w1(X,G,X.path,G)),value:J._parse(new w1(X,X.data[G],X.path,G)),alwaysSet:G in X.data});if(X.common.async)return C0.mergeObjectAsync(Y,W);else return C0.mergeObjectSync(Y,W)}get element(){return this._def.valueType}static create(Q,Y,X){if(Y instanceof o)return new I8({keyType:Q,valueType:Y,typeName:P.ZodRecord,...p(X)});return new I8({keyType:U1.create(),valueType:Q,typeName:P.ZodRecord,...p(Y)})}}class S8 extends o{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(Q){let{status:Y,ctx:X}=this._processInputParams(Q);if(X.parsedType!==R.map)return T(X,{code:b.invalid_type,expected:R.map,received:X.parsedType}),h;let W=this._def.keyType,$=this._def.valueType,J=[...X.data.entries()].map(([G,H],B)=>{return{key:W._parse(new w1(X,G,X.path,[B,"key"])),value:$._parse(new w1(X,H,X.path,[B,"value"]))}});if(X.common.async){let G=new Map;return Promise.resolve().then(async()=>{for(let H of J){let B=await H.key,z=await H.value;if(B.status==="aborted"||z.status==="aborted")return h;if(B.status==="dirty"||z.status==="dirty")Y.dirty();G.set(B.value,z.value)}return{status:Y.value,value:G}})}else{let G=new Map;for(let H of J){let{key:B,value:z}=H;if(B.status==="aborted"||z.status==="aborted")return h;if(B.status==="dirty"||z.status==="dirty")Y.dirty();G.set(B.value,z.value)}return{status:Y.value,value:G}}}}S8.create=(Q,Y,X)=>{return new S8({valueType:Y,keyType:Q,typeName:P.ZodMap,...p(X)})};class i6 extends o{_parse(Q){let{status:Y,ctx:X}=this._processInputParams(Q);if(X.parsedType!==R.set)return T(X,{code:b.invalid_type,expected:R.set,received:X.parsedType}),h;let W=this._def;if(W.minSize!==null){if(X.data.size<W.minSize.value)T(X,{code:b.too_small,minimum:W.minSize.value,type:"set",inclusive:!0,exact:!1,message:W.minSize.message}),Y.dirty()}if(W.maxSize!==null){if(X.data.size>W.maxSize.value)T(X,{code:b.too_big,maximum:W.maxSize.value,type:"set",inclusive:!0,exact:!1,message:W.maxSize.message}),Y.dirty()}let $=this._def.valueType;function J(H){let B=new Set;for(let z of H){if(z.status==="aborted")return h;if(z.status==="dirty")Y.dirty();B.add(z.value)}return{status:Y.value,value:B}}let G=[...X.data.values()].map((H,B)=>$._parse(new w1(X,H,X.path,B)));if(X.common.async)return Promise.all(G).then((H)=>J(H));else return J(G)}min(Q,Y){return new i6({...this._def,minSize:{value:Q,message:v.toString(Y)}})}max(Q,Y){return new i6({...this._def,maxSize:{value:Q,message:v.toString(Y)}})}size(Q,Y){return this.min(Q,Y).max(Q,Y)}nonempty(Q){return this.min(1,Q)}}i6.create=(Q,Y)=>{return new i6({valueType:Q,minSize:null,maxSize:null,typeName:P.ZodSet,...p(Y)})};class P9 extends o{constructor(){super(...arguments);this.validate=this.implement}_parse(Q){let{ctx:Y}=this._processInputParams(Q);if(Y.parsedType!==R.function)return T(Y,{code:b.invalid_type,expected:R.function,received:Y.parsedType}),h;function X(G,H){return Z8({data:G,path:Y.path,errorMaps:[Y.common.contextualErrorMap,Y.schemaErrorMap,N9(),o1].filter((B)=>!!B),issueData:{code:b.invalid_arguments,argumentsError:H}})}function W(G,H){return Z8({data:G,path:Y.path,errorMaps:[Y.common.contextualErrorMap,Y.schemaErrorMap,N9(),o1].filter((B)=>!!B),issueData:{code:b.invalid_return_type,returnTypeError:H}})}let $={errorMap:Y.common.contextualErrorMap},J=Y.data;if(this._def.returns instanceof n6){let G=this;return h0(async function(...H){let B=new r0([]),z=await G._def.args.parseAsync(H,$).catch((q)=>{throw B.addIssue(X(H,q)),B}),K=await Reflect.apply(J,this,z);return await G._def.returns._def.type.parseAsync(K,$).catch((q)=>{throw B.addIssue(W(K,q)),B})})}else{let G=this;return h0(function(...H){let B=G._def.args.safeParse(H,$);if(!B.success)throw new r0([X(H,B.error)]);let z=Reflect.apply(J,this,B.data),K=G._def.returns.safeParse(z,$);if(!K.success)throw new r0([W(z,K.error)]);return K.data})}}parameters(){return this._def.args}returnType(){return this._def.returns}args(...Q){return new P9({...this._def,args:l1.create(Q).rest(F6.create())})}returns(Q){return new P9({...this._def,returns:Q})}implement(Q){return this.parse(Q)}strictImplement(Q){return this.parse(Q)}static create(Q,Y,X){return new P9({args:Q?Q:l1.create([]).rest(F6.create()),returns:Y||F6.create(),typeName:P.ZodFunction,...p(X)})}}class T9 extends o{get schema(){return this._def.getter()}_parse(Q){let{ctx:Y}=this._processInputParams(Q);return this._def.getter()._parse({data:Y.data,path:Y.path,parent:Y})}}T9.create=(Q,Y)=>{return new T9({getter:Q,typeName:P.ZodLazy,...p(Y)})};class C9 extends o{_parse(Q){if(Q.data!==this._def.value){let Y=this._getOrReturnCtx(Q);return T(Y,{received:Y.data,code:b.invalid_literal,expected:this._def.value}),h}return{status:"valid",value:Q.data}}get value(){return this._def.value}}C9.create=(Q,Y)=>{return new C9({value:Q,typeName:P.ZodLiteral,...p(Y)})};function SG(Q,Y){return new D6({values:Q,typeName:P.ZodEnum,...p(Y)})}class D6 extends o{_parse(Q){if(typeof Q.data!=="string"){let Y=this._getOrReturnCtx(Q),X=this._def.values;return T(Y,{expected:t.joinValues(X),received:Y.parsedType,code:b.invalid_type}),h}if(!this._cache)this._cache=new Set(this._def.values);if(!this._cache.has(Q.data)){let Y=this._getOrReturnCtx(Q),X=this._def.values;return T(Y,{received:Y.data,code:b.invalid_enum_value,options:X}),h}return h0(Q.data)}get options(){return this._def.values}get enum(){let Q={};for(let Y of this._def.values)Q[Y]=Y;return Q}get Values(){let Q={};for(let Y of this._def.values)Q[Y]=Y;return Q}get Enum(){let Q={};for(let Y of this._def.values)Q[Y]=Y;return Q}extract(Q,Y=this._def){return D6.create(Q,{...this._def,...Y})}exclude(Q,Y=this._def){return D6.create(this.options.filter((X)=>!Q.includes(X)),{...this._def,...Y})}}D6.create=SG;class k9 extends o{_parse(Q){let Y=t.getValidEnumValues(this._def.values),X=this._getOrReturnCtx(Q);if(X.parsedType!==R.string&&X.parsedType!==R.number){let W=t.objectValues(Y);return T(X,{expected:t.joinValues(W),received:X.parsedType,code:b.invalid_type}),h}if(!this._cache)this._cache=new Set(t.getValidEnumValues(this._def.values));if(!this._cache.has(Q.data)){let W=t.objectValues(Y);return T(X,{received:X.data,code:b.invalid_enum_value,options:W}),h}return h0(Q.data)}get enum(){return this._def.values}}k9.create=(Q,Y)=>{return new k9({values:Q,typeName:P.ZodNativeEnum,...p(Y)})};class n6 extends o{unwrap(){return this._def.type}_parse(Q){let{ctx:Y}=this._processInputParams(Q);if(Y.parsedType!==R.promise&&Y.common.async===!1)return T(Y,{code:b.invalid_type,expected:R.promise,received:Y.parsedType}),h;let X=Y.parsedType===R.promise?Y.data:Promise.resolve(Y.data);return h0(X.then((W)=>{return this._def.type.parseAsync(W,{path:Y.path,errorMap:Y.common.contextualErrorMap})}))}}n6.create=(Q,Y)=>{return new n6({type:Q,typeName:P.ZodPromise,...p(Y)})};class N1 extends o{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===P.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(Q){let{status:Y,ctx:X}=this._processInputParams(Q),W=this._def.effect||null,$={addIssue:(J)=>{if(T(X,J),J.fatal)Y.abort();else Y.dirty()},get path(){return X.path}};if($.addIssue=$.addIssue.bind($),W.type==="preprocess"){let J=W.transform(X.data,$);if(X.common.async)return Promise.resolve(J).then(async(G)=>{if(Y.value==="aborted")return h;let H=await this._def.schema._parseAsync({data:G,path:X.path,parent:X});if(H.status==="aborted")return h;if(H.status==="dirty")return c6(H.value);if(Y.value==="dirty")return c6(H.value);return H});else{if(Y.value==="aborted")return h;let G=this._def.schema._parseSync({data:J,path:X.path,parent:X});if(G.status==="aborted")return h;if(G.status==="dirty")return c6(G.value);if(Y.value==="dirty")return c6(G.value);return G}}if(W.type==="refinement"){let J=(G)=>{let H=W.refinement(G,$);if(X.common.async)return Promise.resolve(H);if(H instanceof Promise)throw Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return G};if(X.common.async===!1){let G=this._def.schema._parseSync({data:X.data,path:X.path,parent:X});if(G.status==="aborted")return h;if(G.status==="dirty")Y.dirty();return J(G.value),{status:Y.value,value:G.value}}else return this._def.schema._parseAsync({data:X.data,path:X.path,parent:X}).then((G)=>{if(G.status==="aborted")return h;if(G.status==="dirty")Y.dirty();return J(G.value).then(()=>{return{status:Y.value,value:G.value}})})}if(W.type==="transform")if(X.common.async===!1){let J=this._def.schema._parseSync({data:X.data,path:X.path,parent:X});if(!V6(J))return h;let G=W.transform(J.value,$);if(G instanceof Promise)throw Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:Y.value,value:G}}else return this._def.schema._parseAsync({data:X.data,path:X.path,parent:X}).then((J)=>{if(!V6(J))return h;return Promise.resolve(W.transform(J.value,$)).then((G)=>({status:Y.value,value:G}))});t.assertNever(W)}}N1.create=(Q,Y,X)=>{return new N1({schema:Q,typeName:P.ZodEffects,effect:Y,...p(X)})};N1.createWithPreprocess=(Q,Y,X)=>{return new N1({schema:Y,effect:{type:"preprocess",transform:Q},typeName:P.ZodEffects,...p(X)})};class B1 extends o{_parse(Q){if(this._getType(Q)===R.undefined)return h0(void 0);return this._def.innerType._parse(Q)}unwrap(){return this._def.innerType}}B1.create=(Q,Y)=>{return new B1({innerType:Q,typeName:P.ZodOptional,...p(Y)})};class t1 extends o{_parse(Q){if(this._getType(Q)===R.null)return h0(null);return this._def.innerType._parse(Q)}unwrap(){return this._def.innerType}}t1.create=(Q,Y)=>{return new t1({innerType:Q,typeName:P.ZodNullable,...p(Y)})};class _9 extends o{_parse(Q){let{ctx:Y}=this._processInputParams(Q),X=Y.data;if(Y.parsedType===R.undefined)X=this._def.defaultValue();return this._def.innerType._parse({data:X,path:Y.path,parent:Y})}removeDefault(){return this._def.innerType}}_9.create=(Q,Y)=>{return new _9({innerType:Q,typeName:P.ZodDefault,defaultValue:typeof Y.default==="function"?Y.default:()=>Y.default,...p(Y)})};class v9 extends o{_parse(Q){let{ctx:Y}=this._processInputParams(Q),X={...Y,common:{...Y.common,issues:[]}},W=this._def.innerType._parse({data:X.data,path:X.path,parent:{...X}});if(M9(W))return W.then(($)=>{return{status:"valid",value:$.status==="valid"?$.value:this._def.catchValue({get error(){return new r0(X.common.issues)},input:X.data})}});else return{status:"valid",value:W.status==="valid"?W.value:this._def.catchValue({get error(){return new r0(X.common.issues)},input:X.data})}}removeCatch(){return this._def.innerType}}v9.create=(Q,Y)=>{return new v9({innerType:Q,typeName:P.ZodCatch,catchValue:typeof Y.catch==="function"?Y.catch:()=>Y.catch,...p(Y)})};class T8 extends o{_parse(Q){if(this._getType(Q)!==R.nan){let X=this._getOrReturnCtx(Q);return T(X,{code:b.invalid_type,expected:R.nan,received:X.parsedType}),h}return{status:"valid",value:Q.data}}}T8.create=(Q)=>{return new T8({typeName:P.ZodNaN,...p(Q)})};var Dj=Symbol("zod_brand");class $Q extends o{_parse(Q){let{ctx:Y}=this._processInputParams(Q),X=Y.data;return this._def.type._parse({data:X,path:Y.path,parent:Y})}unwrap(){return this._def.type}}class C8 extends o{_parse(Q){let{status:Y,ctx:X}=this._processInputParams(Q);if(X.common.async)return(async()=>{let $=await this._def.in._parseAsync({data:X.data,path:X.path,parent:X});if($.status==="aborted")return h;if($.status==="dirty")return Y.dirty(),c6($.value);else return this._def.out._parseAsync({data:$.value,path:X.path,parent:X})})();else{let W=this._def.in._parseSync({data:X.data,path:X.path,parent:X});if(W.status==="aborted")return h;if(W.status==="dirty")return Y.dirty(),{status:"dirty",value:W.value};else return this._def.out._parseSync({data:W.value,path:X.path,parent:X})}}static create(Q,Y){return new C8({in:Q,out:Y,typeName:P.ZodPipeline})}}class x9 extends o{_parse(Q){let Y=this._def.innerType._parse(Q),X=(W)=>{if(V6(W))W.value=Object.freeze(W.value);return W};return M9(Y)?Y.then((W)=>X(W)):X(Y)}unwrap(){return this._def.innerType}}x9.create=(Q,Y)=>{return new x9({innerType:Q,typeName:P.ZodReadonly,...p(Y)})};function ZG(Q,Y){let X=typeof Q==="function"?Q(Y):typeof Q==="string"?{message:Q}:Q;return typeof X==="string"?{message:X}:X}function TG(Q,Y={},X){if(Q)return d6.create().superRefine((W,$)=>{let J=Q(W);if(J instanceof Promise)return J.then((G)=>{if(!G){let H=ZG(Y,W),B=H.fatal??X??!0;$.addIssue({code:"custom",...H,fatal:B})}});if(!J){let G=ZG(Y,W),H=G.fatal??X??!0;$.addIssue({code:"custom",...G,fatal:H})}return});return d6.create()}var Oj={object:M0.lazycreate},P;(function(Q){Q.ZodString="ZodString",Q.ZodNumber="ZodNumber",Q.ZodNaN="ZodNaN",Q.ZodBigInt="ZodBigInt",Q.ZodBoolean="ZodBoolean",Q.ZodDate="ZodDate",Q.ZodSymbol="ZodSymbol",Q.ZodUndefined="ZodUndefined",Q.ZodNull="ZodNull",Q.ZodAny="ZodAny",Q.ZodUnknown="ZodUnknown",Q.ZodNever="ZodNever",Q.ZodVoid="ZodVoid",Q.ZodArray="ZodArray",Q.ZodObject="ZodObject",Q.ZodUnion="ZodUnion",Q.ZodDiscriminatedUnion="ZodDiscriminatedUnion",Q.ZodIntersection="ZodIntersection",Q.ZodTuple="ZodTuple",Q.ZodRecord="ZodRecord",Q.ZodMap="ZodMap",Q.ZodSet="ZodSet",Q.ZodFunction="ZodFunction",Q.ZodLazy="ZodLazy",Q.ZodLiteral="ZodLiteral",Q.ZodEnum="ZodEnum",Q.ZodEffects="ZodEffects",Q.ZodNativeEnum="ZodNativeEnum",Q.ZodOptional="ZodOptional",Q.ZodNullable="ZodNullable",Q.ZodDefault="ZodDefault",Q.ZodCatch="ZodCatch",Q.ZodPromise="ZodPromise",Q.ZodBranded="ZodBranded",Q.ZodPipeline="ZodPipeline",Q.ZodReadonly="ZodReadonly"})(P||(P={}));var Lj=(Q,Y={message:`Input not instance of ${Q.name}`})=>TG((X)=>X instanceof Q,Y),CG=U1.create,kG=A6.create,Uj=T8.create,jj=q6.create,_G=Z9.create,wj=p6.create,Nj=R8.create,Mj=R9.create,bj=E9.create,Pj=d6.create,Zj=F6.create,Rj=u1.create,Ej=E8.create,Ij=j1.create,tX=M0.create,Sj=M0.strictCreate,Tj=I9.create,Cj=WQ.create,kj=S9.create,_j=l1.create,vj=I8.create,xj=S8.create,yj=i6.create,fj=P9.create,gj=T9.create,hj=C9.create,uj=D6.create,lj=k9.create,mj=n6.create,cj=N1.create,pj=B1.create,dj=t1.create,ij=N1.createWithPreprocess,nj=C8.create,oj=()=>CG().optional(),rj=()=>kG().optional(),tj=()=>_G().optional(),aj={string:(Q)=>U1.create({...Q,coerce:!0}),number:(Q)=>A6.create({...Q,coerce:!0}),boolean:(Q)=>Z9.create({...Q,coerce:!0}),bigint:(Q)=>q6.create({...Q,coerce:!0}),date:(Q)=>p6.create({...Q,coerce:!0})};var sj=h;var GQ=Object.freeze({status:"aborted"});function w(Q,Y,X){function W(H,B){var z;Object.defineProperty(H,"_zod",{value:H._zod??{},enumerable:!1}),(z=H._zod).traits??(z.traits=new Set),H._zod.traits.add(Q),Y(H,B);for(let K in G.prototype)if(!(K in H))Object.defineProperty(H,K,{value:G.prototype[K].bind(H)});H._zod.constr=G,H._zod.def=B}let $=X?.Parent??Object;class J extends ${}Object.defineProperty(J,"name",{value:Q});function G(H){var B;let z=X?.Parent?new J:this;W(z,H),(B=z._zod).deferred??(B.deferred=[]);for(let K of z._zod.deferred)K();return z}return Object.defineProperty(G,"init",{value:W}),Object.defineProperty(G,Symbol.hasInstance,{value:(H)=>{if(X?.Parent&&H instanceof X.Parent)return!0;return H?._zod?.traits?.has(Q)}}),Object.defineProperty(G,"name",{value:Q}),G}var vG=Symbol("zod_brand");class O6 extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}}var JQ={};function t0(Q){if(Q)Object.assign(JQ,Q);return JQ}var a={};QQ(a,{unwrapMessage:()=>k8,stringifyPrimitive:()=>zQ,required:()=>Dw,randomString:()=>Gw,propertyKeyTypes:()=>X7,promiseAllObject:()=>Jw,primitiveTypes:()=>xG,prefixIssues:()=>m1,pick:()=>Kw,partial:()=>qw,optionalKeys:()=>W7,omit:()=>Vw,numKeys:()=>Hw,nullish:()=>x8,normalizeParams:()=>g,merge:()=>Aw,jsonStringifyReplacer:()=>sX,joinValues:()=>HQ,issue:()=>J7,isPlainObject:()=>f9,isObject:()=>y9,getSizableOrigin:()=>fG,getParsedType:()=>Bw,getLengthableOrigin:()=>f8,getEnumValues:()=>_8,getElementAtPath:()=>$w,floatSafeRemainder:()=>eX,finalizeIssue:()=>M1,extend:()=>Fw,escapeRegex:()=>L6,esc:()=>o6,defineLazy:()=>V0,createTransparentProxy:()=>zw,clone:()=>a0,cleanRegex:()=>y8,cleanEnum:()=>Ow,captureStackTrace:()=>BQ,cached:()=>v8,assignProp:()=>Q7,assertNotEqual:()=>Qw,assertNever:()=>Xw,assertIs:()=>Yw,assertEqual:()=>ej,assert:()=>Ww,allowsEval:()=>Y7,aborted:()=>r6,NUMBER_FORMAT_RANGES:()=>$7,Class:()=>gG,BIGINT_FORMAT_RANGES:()=>yG});function ej(Q){return Q}function Qw(Q){return Q}function Yw(Q){}function Xw(Q){throw Error()}function Ww(Q){}function _8(Q){let Y=Object.values(Q).filter((W)=>typeof W==="number");return Object.entries(Q).filter(([W,$])=>Y.indexOf(+W)===-1).map(([W,$])=>$)}function HQ(Q,Y="|"){return Q.map((X)=>zQ(X)).join(Y)}function sX(Q,Y){if(typeof Y==="bigint")return Y.toString();return Y}function v8(Q){return{get value(){{let X=Q();return Object.defineProperty(this,"value",{value:X}),X}throw Error("cached value already set")}}}function x8(Q){return Q===null||Q===void 0}function y8(Q){let Y=Q.startsWith("^")?1:0,X=Q.endsWith("$")?Q.length-1:Q.length;return Q.slice(Y,X)}function eX(Q,Y){let X=(Q.toString().split(".")[1]||"").length,W=(Y.toString().split(".")[1]||"").length,$=X>W?X:W,J=Number.parseInt(Q.toFixed($).replace(".","")),G=Number.parseInt(Y.toFixed($).replace(".",""));return J%G/10**$}function V0(Q,Y,X){Object.defineProperty(Q,Y,{get(){{let $=X();return Q[Y]=$,$}throw Error("cached value already set")},set($){Object.defineProperty(Q,Y,{value:$})},configurable:!0})}function Q7(Q,Y,X){Object.defineProperty(Q,Y,{value:X,writable:!0,enumerable:!0,configurable:!0})}function $w(Q,Y){if(!Y)return Q;return Y.reduce((X,W)=>X?.[W],Q)}function Jw(Q){let Y=Object.keys(Q),X=Y.map((W)=>Q[W]);return Promise.all(X).then((W)=>{let $={};for(let J=0;J<Y.length;J++)$[Y[J]]=W[J];return $})}function Gw(Q=10){let X="";for(let W=0;W<Q;W++)X+="abcdefghijklmnopqrstuvwxyz"[Math.floor(Math.random()*26)];return X}function o6(Q){return JSON.stringify(Q)}var BQ=Error.captureStackTrace?Error.captureStackTrace:(...Q)=>{};function y9(Q){return typeof Q==="object"&&Q!==null&&!Array.isArray(Q)}var Y7=v8(()=>{if(typeof navigator<"u"&&navigator?.userAgent?.includes("Cloudflare"))return!1;try{return new Function(""),!0}catch(Q){return!1}});function f9(Q){if(y9(Q)===!1)return!1;let Y=Q.constructor;if(Y===void 0)return!0;let X=Y.prototype;if(y9(X)===!1)return!1;if(Object.prototype.hasOwnProperty.call(X,"isPrototypeOf")===!1)return!1;return!0}function Hw(Q){let Y=0;for(let X in Q)if(Object.prototype.hasOwnProperty.call(Q,X))Y++;return Y}var Bw=(Q)=>{let Y=typeof Q;switch(Y){case"undefined":return"undefined";case"string":return"string";case"number":return Number.isNaN(Q)?"nan":"number";case"boolean":return"boolean";case"function":return"function";case"bigint":return"bigint";case"symbol":return"symbol";case"object":if(Array.isArray(Q))return"array";if(Q===null)return"null";if(Q.then&&typeof Q.then==="function"&&Q.catch&&typeof Q.catch==="function")return"promise";if(typeof Map<"u"&&Q instanceof Map)return"map";if(typeof Set<"u"&&Q instanceof Set)return"set";if(typeof Date<"u"&&Q instanceof Date)return"date";if(typeof File<"u"&&Q instanceof File)return"file";return"object";default:throw Error(`Unknown data type: ${Y}`)}},X7=new Set(["string","number","symbol"]),xG=new Set(["string","number","bigint","boolean","symbol","undefined"]);function L6(Q){return Q.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function a0(Q,Y,X){let W=new Q._zod.constr(Y??Q._zod.def);if(!Y||X?.parent)W._zod.parent=Q;return W}function g(Q){let Y=Q;if(!Y)return{};if(typeof Y==="string")return{error:()=>Y};if(Y?.message!==void 0){if(Y?.error!==void 0)throw Error("Cannot specify both `message` and `error` params");Y.error=Y.message}if(delete Y.message,typeof Y.error==="string")return{...Y,error:()=>Y.error};return Y}function zw(Q){let Y;return new Proxy({},{get(X,W,$){return Y??(Y=Q()),Reflect.get(Y,W,$)},set(X,W,$,J){return Y??(Y=Q()),Reflect.set(Y,W,$,J)},has(X,W){return Y??(Y=Q()),Reflect.has(Y,W)},deleteProperty(X,W){return Y??(Y=Q()),Reflect.deleteProperty(Y,W)},ownKeys(X){return Y??(Y=Q()),Reflect.ownKeys(Y)},getOwnPropertyDescriptor(X,W){return Y??(Y=Q()),Reflect.getOwnPropertyDescriptor(Y,W)},defineProperty(X,W,$){return Y??(Y=Q()),Reflect.defineProperty(Y,W,$)}})}function zQ(Q){if(typeof Q==="bigint")return Q.toString()+"n";if(typeof Q==="string")return`"${Q}"`;return`${Q}`}function W7(Q){return Object.keys(Q).filter((Y)=>{return Q[Y]._zod.optin==="optional"&&Q[Y]._zod.optout==="optional"})}var $7={safeint:[Number.MIN_SAFE_INTEGER,Number.MAX_SAFE_INTEGER],int32:[-2147483648,2147483647],uint32:[0,4294967295],float32:[-340282346638528860000000000000000000000,340282346638528860000000000000000000000],float64:[-Number.MAX_VALUE,Number.MAX_VALUE]},yG={int64:[BigInt("-9223372036854775808"),BigInt("9223372036854775807")],uint64:[BigInt(0),BigInt("18446744073709551615")]};function Kw(Q,Y){let X={},W=Q._zod.def;for(let $ in Y){if(!($ in W.shape))throw Error(`Unrecognized key: "${$}"`);if(!Y[$])continue;X[$]=W.shape[$]}return a0(Q,{...Q._zod.def,shape:X,checks:[]})}function Vw(Q,Y){let X={...Q._zod.def.shape},W=Q._zod.def;for(let $ in Y){if(!($ in W.shape))throw Error(`Unrecognized key: "${$}"`);if(!Y[$])continue;delete X[$]}return a0(Q,{...Q._zod.def,shape:X,checks:[]})}function Fw(Q,Y){if(!f9(Y))throw Error("Invalid input to extend: expected a plain object");let X={...Q._zod.def,get shape(){let W={...Q._zod.def.shape,...Y};return Q7(this,"shape",W),W},checks:[]};return a0(Q,X)}function Aw(Q,Y){return a0(Q,{...Q._zod.def,get shape(){let X={...Q._zod.def.shape,...Y._zod.def.shape};return Q7(this,"shape",X),X},catchall:Y._zod.def.catchall,checks:[]})}function qw(Q,Y,X){let W=Y._zod.def.shape,$={...W};if(X)for(let J in X){if(!(J in W))throw Error(`Unrecognized key: "${J}"`);if(!X[J])continue;$[J]=Q?new Q({type:"optional",innerType:W[J]}):W[J]}else for(let J in W)$[J]=Q?new Q({type:"optional",innerType:W[J]}):W[J];return a0(Y,{...Y._zod.def,shape:$,checks:[]})}function Dw(Q,Y,X){let W=Y._zod.def.shape,$={...W};if(X)for(let J in X){if(!(J in $))throw Error(`Unrecognized key: "${J}"`);if(!X[J])continue;$[J]=new Q({type:"nonoptional",innerType:W[J]})}else for(let J in W)$[J]=new Q({type:"nonoptional",innerType:W[J]});return a0(Y,{...Y._zod.def,shape:$,checks:[]})}function r6(Q,Y=0){for(let X=Y;X<Q.issues.length;X++)if(Q.issues[X]?.continue!==!0)return!0;return!1}function m1(Q,Y){return Y.map((X)=>{var W;return(W=X).path??(W.path=[]),X.path.unshift(Q),X})}function k8(Q){return typeof Q==="string"?Q:Q?.message}function M1(Q,Y,X){let W={...Q,path:Q.path??[]};if(!Q.message){let $=k8(Q.inst?._zod.def?.error?.(Q))??k8(Y?.error?.(Q))??k8(X.customError?.(Q))??k8(X.localeError?.(Q))??"Invalid input";W.message=$}if(delete W.inst,delete W.continue,!Y?.reportInput)delete W.input;return W}function fG(Q){if(Q instanceof Set)return"set";if(Q instanceof Map)return"map";if(Q instanceof File)return"file";return"unknown"}function f8(Q){if(Array.isArray(Q))return"array";if(typeof Q==="string")return"string";return"unknown"}function J7(...Q){let[Y,X,W]=Q;if(typeof Y==="string")return{message:Y,code:"custom",input:X,inst:W};return{...Y}}function Ow(Q){return Object.entries(Q).filter(([Y,X])=>{return Number.isNaN(Number.parseInt(Y,10))}).map((Y)=>Y[1])}class gG{constructor(...Q){}}var hG=(Q,Y)=>{Q.name="$ZodError",Object.defineProperty(Q,"_zod",{value:Q._zod,enumerable:!1}),Object.defineProperty(Q,"issues",{value:Y,enumerable:!1}),Object.defineProperty(Q,"message",{get(){return JSON.stringify(Y,sX,2)},enumerable:!0}),Object.defineProperty(Q,"toString",{value:()=>Q.message,enumerable:!1})},KQ=w("$ZodError",hG),g8=w("$ZodError",hG,{Parent:Error});function VQ(Q,Y=(X)=>X.message){let X={},W=[];for(let $ of Q.issues)if($.path.length>0)X[$.path[0]]=X[$.path[0]]||[],X[$.path[0]].push(Y($));else W.push(Y($));return{formErrors:W,fieldErrors:X}}function FQ(Q,Y){let X=Y||function(J){return J.message},W={_errors:[]},$=(J)=>{for(let G of J.issues)if(G.code==="invalid_union"&&G.errors.length)G.errors.map((H)=>$({issues:H}));else if(G.code==="invalid_key")$({issues:G.issues});else if(G.code==="invalid_element")$({issues:G.issues});else if(G.path.length===0)W._errors.push(X(G));else{let H=W,B=0;while(B<G.path.length){let z=G.path[B];if(B!==G.path.length-1)H[z]=H[z]||{_errors:[]};else H[z]=H[z]||{_errors:[]},H[z]._errors.push(X(G));H=H[z],B++}}};return $(Q),W}var G7=(Q)=>(Y,X,W,$)=>{let J=W?Object.assign(W,{async:!1}):{async:!1},G=Y._zod.run({value:X,issues:[]},J);if(G instanceof Promise)throw new O6;if(G.issues.length){let H=new($?.Err??Q)(G.issues.map((B)=>M1(B,J,t0())));throw BQ(H,$?.callee),H}return G.value},H7=G7(g8),B7=(Q)=>async(Y,X,W,$)=>{let J=W?Object.assign(W,{async:!0}):{async:!0},G=Y._zod.run({value:X,issues:[]},J);if(G instanceof Promise)G=await G;if(G.issues.length){let H=new($?.Err??Q)(G.issues.map((B)=>M1(B,J,t0())));throw BQ(H,$?.callee),H}return G.value},z7=B7(g8),K7=(Q)=>(Y,X,W)=>{let $=W?{...W,async:!1}:{async:!1},J=Y._zod.run({value:X,issues:[]},$);if(J instanceof Promise)throw new O6;return J.issues.length?{success:!1,error:new(Q??KQ)(J.issues.map((G)=>M1(G,$,t0())))}:{success:!0,data:J.value}},t6=K7(g8),V7=(Q)=>async(Y,X,W)=>{let $=W?Object.assign(W,{async:!0}):{async:!0},J=Y._zod.run({value:X,issues:[]},$);if(J instanceof Promise)J=await J;return J.issues.length?{success:!1,error:new Q(J.issues.map((G)=>M1(G,$,t0())))}:{success:!0,data:J.value}},a6=V7(g8);var uG=/^[cC][^\s-]{8,}$/,lG=/^[0-9a-z]+$/,mG=/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/,cG=/^[0-9a-vA-V]{20}$/,pG=/^[A-Za-z0-9]{27}$/,dG=/^[a-zA-Z0-9_-]{21}$/,iG=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/;var nG=/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$/,F7=(Q)=>{if(!Q)return/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$/;return new RegExp(`^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-${Q}[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$`)};var oG=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/;function rG(){return new RegExp("^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$","u")}var tG=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,aG=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|::|([0-9a-fA-F]{1,4})?::([0-9a-fA-F]{1,4}:?){0,6})$/,sG=/^((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/([0-9]|[1-2][0-9]|3[0-2])$/,eG=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|::|([0-9a-fA-F]{1,4})?::([0-9a-fA-F]{1,4}:?){0,6})\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,QH=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,A7=/^[A-Za-z0-9_-]*$/,YH=/^([a-zA-Z0-9-]+\.)*[a-zA-Z0-9-]+$/;var XH=/^\+(?:[0-9]){6,14}[0-9]$/,WH="(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))",$H=new RegExp(`^${WH}$`);function JH(Q){return typeof Q.precision==="number"?Q.precision===-1?"(?:[01]\\d|2[0-3]):[0-5]\\d":Q.precision===0?"(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d":`(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{${Q.precision}}`:"(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?"}function GH(Q){return new RegExp(`^${JH(Q)}$`)}function HH(Q){let Y=JH({precision:Q.precision}),X=["Z"];if(Q.local)X.push("");if(Q.offset)X.push("([+-]\\d{2}:\\d{2})");let W=`${Y}(?:${X.join("|")})`;return new RegExp(`^${WH}T(?:${W})$`)}var BH=(Q)=>{let Y=Q?`[\\s\\S]{${Q?.minimum??0},${Q?.maximum??""}}`:"[\\s\\S]*";return new RegExp(`^${Y}$`)},zH=/^\d+n?$/,KH=/^\d+$/,VH=/^-?\d+(?:\.\d+)?/i,FH=/true|false/i,AH=/null/i;var qH=/^[^A-Z]*$/,DH=/^[^a-z]*$/;var k0=w("$ZodCheck",(Q,Y)=>{var X;Q._zod??(Q._zod={}),Q._zod.def=Y,(X=Q._zod).onattach??(X.onattach=[])}),OH={number:"number",bigint:"bigint",object:"date"},q7=w("$ZodCheckLessThan",(Q,Y)=>{k0.init(Q,Y);let X=OH[typeof Y.value];Q._zod.onattach.push((W)=>{let $=W._zod.bag,J=(Y.inclusive?$.maximum:$.exclusiveMaximum)??Number.POSITIVE_INFINITY;if(Y.value<J)if(Y.inclusive)$.maximum=Y.value;else $.exclusiveMaximum=Y.value}),Q._zod.check=(W)=>{if(Y.inclusive?W.value<=Y.value:W.value<Y.value)return;W.issues.push({origin:X,code:"too_big",maximum:Y.value,input:W.value,inclusive:Y.inclusive,inst:Q,continue:!Y.abort})}}),D7=w("$ZodCheckGreaterThan",(Q,Y)=>{k0.init(Q,Y);let X=OH[typeof Y.value];Q._zod.onattach.push((W)=>{let $=W._zod.bag,J=(Y.inclusive?$.minimum:$.exclusiveMinimum)??Number.NEGATIVE_INFINITY;if(Y.value>J)if(Y.inclusive)$.minimum=Y.value;else $.exclusiveMinimum=Y.value}),Q._zod.check=(W)=>{if(Y.inclusive?W.value>=Y.value:W.value>Y.value)return;W.issues.push({origin:X,code:"too_small",minimum:Y.value,input:W.value,inclusive:Y.inclusive,inst:Q,continue:!Y.abort})}}),LH=w("$ZodCheckMultipleOf",(Q,Y)=>{k0.init(Q,Y),Q._zod.onattach.push((X)=>{var W;(W=X._zod.bag).multipleOf??(W.multipleOf=Y.value)}),Q._zod.check=(X)=>{if(typeof X.value!==typeof Y.value)throw Error("Cannot mix number and bigint in multiple_of check.");if(typeof X.value==="bigint"?X.value%Y.value===BigInt(0):eX(X.value,Y.value)===0)return;X.issues.push({origin:typeof X.value,code:"not_multiple_of",divisor:Y.value,input:X.value,inst:Q,continue:!Y.abort})}}),UH=w("$ZodCheckNumberFormat",(Q,Y)=>{k0.init(Q,Y),Y.format=Y.format||"float64";let X=Y.format?.includes("int"),W=X?"int":"number",[$,J]=$7[Y.format];Q._zod.onattach.push((G)=>{let H=G._zod.bag;if(H.format=Y.format,H.minimum=$,H.maximum=J,X)H.pattern=KH}),Q._zod.check=(G)=>{let H=G.value;if(X){if(!Number.isInteger(H)){G.issues.push({expected:W,format:Y.format,code:"invalid_type",input:H,inst:Q});return}if(!Number.isSafeInteger(H)){if(H>0)G.issues.push({input:H,code:"too_big",maximum:Number.MAX_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:Q,origin:W,continue:!Y.abort});else G.issues.push({input:H,code:"too_small",minimum:Number.MIN_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:Q,origin:W,continue:!Y.abort});return}}if(H<$)G.issues.push({origin:"number",input:H,code:"too_small",minimum:$,inclusive:!0,inst:Q,continue:!Y.abort});if(H>J)G.issues.push({origin:"number",input:H,code:"too_big",maximum:J,inst:Q})}});var jH=w("$ZodCheckMaxLength",(Q,Y)=>{var X;k0.init(Q,Y),(X=Q._zod.def).when??(X.when=(W)=>{let $=W.value;return!x8($)&&$.length!==void 0}),Q._zod.onattach.push((W)=>{let $=W._zod.bag.maximum??Number.POSITIVE_INFINITY;if(Y.maximum<$)W._zod.bag.maximum=Y.maximum}),Q._zod.check=(W)=>{let $=W.value;if($.length<=Y.maximum)return;let G=f8($);W.issues.push({origin:G,code:"too_big",maximum:Y.maximum,inclusive:!0,input:$,inst:Q,continue:!Y.abort})}}),wH=w("$ZodCheckMinLength",(Q,Y)=>{var X;k0.init(Q,Y),(X=Q._zod.def).when??(X.when=(W)=>{let $=W.value;return!x8($)&&$.length!==void 0}),Q._zod.onattach.push((W)=>{let $=W._zod.bag.minimum??Number.NEGATIVE_INFINITY;if(Y.minimum>$)W._zod.bag.minimum=Y.minimum}),Q._zod.check=(W)=>{let $=W.value;if($.length>=Y.minimum)return;let G=f8($);W.issues.push({origin:G,code:"too_small",minimum:Y.minimum,inclusive:!0,input:$,inst:Q,continue:!Y.abort})}}),NH=w("$ZodCheckLengthEquals",(Q,Y)=>{var X;k0.init(Q,Y),(X=Q._zod.def).when??(X.when=(W)=>{let $=W.value;return!x8($)&&$.length!==void 0}),Q._zod.onattach.push((W)=>{let $=W._zod.bag;$.minimum=Y.length,$.maximum=Y.length,$.length=Y.length}),Q._zod.check=(W)=>{let $=W.value,J=$.length;if(J===Y.length)return;let G=f8($),H=J>Y.length;W.issues.push({origin:G,...H?{code:"too_big",maximum:Y.length}:{code:"too_small",minimum:Y.length},inclusive:!0,exact:!0,input:W.value,inst:Q,continue:!Y.abort})}}),u8=w("$ZodCheckStringFormat",(Q,Y)=>{var X,W;if(k0.init(Q,Y),Q._zod.onattach.push(($)=>{let J=$._zod.bag;if(J.format=Y.format,Y.pattern)J.patterns??(J.patterns=new Set),J.patterns.add(Y.pattern)}),Y.pattern)(X=Q._zod).check??(X.check=($)=>{if(Y.pattern.lastIndex=0,Y.pattern.test($.value))return;$.issues.push({origin:"string",code:"invalid_format",format:Y.format,input:$.value,...Y.pattern?{pattern:Y.pattern.toString()}:{},inst:Q,continue:!Y.abort})});else(W=Q._zod).check??(W.check=()=>{})}),MH=w("$ZodCheckRegex",(Q,Y)=>{u8.init(Q,Y),Q._zod.check=(X)=>{if(Y.pattern.lastIndex=0,Y.pattern.test(X.value))return;X.issues.push({origin:"string",code:"invalid_format",format:"regex",input:X.value,pattern:Y.pattern.toString(),inst:Q,continue:!Y.abort})}}),bH=w("$ZodCheckLowerCase",(Q,Y)=>{Y.pattern??(Y.pattern=qH),u8.init(Q,Y)}),PH=w("$ZodCheckUpperCase",(Q,Y)=>{Y.pattern??(Y.pattern=DH),u8.init(Q,Y)}),ZH=w("$ZodCheckIncludes",(Q,Y)=>{k0.init(Q,Y);let X=L6(Y.includes),W=new RegExp(typeof Y.position==="number"?`^.{${Y.position}}${X}`:X);Y.pattern=W,Q._zod.onattach.push(($)=>{let J=$._zod.bag;J.patterns??(J.patterns=new Set),J.patterns.add(W)}),Q._zod.check=($)=>{if($.value.includes(Y.includes,Y.position))return;$.issues.push({origin:"string",code:"invalid_format",format:"includes",includes:Y.includes,input:$.value,inst:Q,continue:!Y.abort})}}),RH=w("$ZodCheckStartsWith",(Q,Y)=>{k0.init(Q,Y);let X=new RegExp(`^${L6(Y.prefix)}.*`);Y.pattern??(Y.pattern=X),Q._zod.onattach.push((W)=>{let $=W._zod.bag;$.patterns??($.patterns=new Set),$.patterns.add(X)}),Q._zod.check=(W)=>{if(W.value.startsWith(Y.prefix))return;W.issues.push({origin:"string",code:"invalid_format",format:"starts_with",prefix:Y.prefix,input:W.value,inst:Q,continue:!Y.abort})}}),EH=w("$ZodCheckEndsWith",(Q,Y)=>{k0.init(Q,Y);let X=new RegExp(`.*${L6(Y.suffix)}$`);Y.pattern??(Y.pattern=X),Q._zod.onattach.push((W)=>{let $=W._zod.bag;$.patterns??($.patterns=new Set),$.patterns.add(X)}),Q._zod.check=(W)=>{if(W.value.endsWith(Y.suffix))return;W.issues.push({origin:"string",code:"invalid_format",format:"ends_with",suffix:Y.suffix,input:W.value,inst:Q,continue:!Y.abort})}});var IH=w("$ZodCheckOverwrite",(Q,Y)=>{k0.init(Q,Y),Q._zod.check=(X)=>{X.value=Y.tx(X.value)}});class O7{constructor(Q=[]){if(this.content=[],this.indent=0,this)this.args=Q}indented(Q){this.indent+=1,Q(this),this.indent-=1}write(Q){if(typeof Q==="function"){Q(this,{execution:"sync"}),Q(this,{execution:"async"});return}let X=Q.split(`
17
+ `).filter((J)=>J),W=Math.min(...X.map((J)=>J.length-J.trimStart().length)),$=X.map((J)=>J.slice(W)).map((J)=>" ".repeat(this.indent*2)+J);for(let J of $)this.content.push(J)}compile(){let Q=Function,Y=this?.args,W=[...(this?.content??[""]).map(($)=>` ${$}`)];return new Q(...Y,W.join(`
18
+ `))}}var TH={major:4,minor:0,patch:0};var G0=w("$ZodType",(Q,Y)=>{var X;Q??(Q={}),Q._zod.def=Y,Q._zod.bag=Q._zod.bag||{},Q._zod.version=TH;let W=[...Q._zod.def.checks??[]];if(Q._zod.traits.has("$ZodCheck"))W.unshift(Q);for(let $ of W)for(let J of $._zod.onattach)J(Q);if(W.length===0)(X=Q._zod).deferred??(X.deferred=[]),Q._zod.deferred?.push(()=>{Q._zod.run=Q._zod.parse});else{let $=(J,G,H)=>{let B=r6(J),z;for(let K of G){if(K._zod.def.when){if(!K._zod.def.when(J))continue}else if(B)continue;let V=J.issues.length,q=K._zod.check(J);if(q instanceof Promise&&H?.async===!1)throw new O6;if(z||q instanceof Promise)z=(z??Promise.resolve()).then(async()=>{if(await q,J.issues.length===V)return;if(!B)B=r6(J,V)});else{if(J.issues.length===V)continue;if(!B)B=r6(J,V)}}if(z)return z.then(()=>{return J});return J};Q._zod.run=(J,G)=>{let H=Q._zod.parse(J,G);if(H instanceof Promise){if(G.async===!1)throw new O6;return H.then((B)=>$(B,W,G))}return $(H,W,G)}}Q["~standard"]={validate:($)=>{try{let J=t6(Q,$);return J.success?{value:J.data}:{issues:J.error?.issues}}catch(J){return a6(Q,$).then((G)=>G.success?{value:G.data}:{issues:G.error?.issues})}},vendor:"zod",version:1}}),l8=w("$ZodString",(Q,Y)=>{G0.init(Q,Y),Q._zod.pattern=[...Q?._zod.bag?.patterns??[]].pop()??BH(Q._zod.bag),Q._zod.parse=(X,W)=>{if(Y.coerce)try{X.value=String(X.value)}catch($){}if(typeof X.value==="string")return X;return X.issues.push({expected:"string",code:"invalid_type",input:X.value,inst:Q}),X}}),F0=w("$ZodStringFormat",(Q,Y)=>{u8.init(Q,Y),l8.init(Q,Y)}),U7=w("$ZodGUID",(Q,Y)=>{Y.pattern??(Y.pattern=nG),F0.init(Q,Y)}),j7=w("$ZodUUID",(Q,Y)=>{if(Y.version){let W={v1:1,v2:2,v3:3,v4:4,v5:5,v6:6,v7:7,v8:8}[Y.version];if(W===void 0)throw Error(`Invalid UUID version: "${Y.version}"`);Y.pattern??(Y.pattern=F7(W))}else Y.pattern??(Y.pattern=F7());F0.init(Q,Y)}),w7=w("$ZodEmail",(Q,Y)=>{Y.pattern??(Y.pattern=oG),F0.init(Q,Y)}),N7=w("$ZodURL",(Q,Y)=>{F0.init(Q,Y),Q._zod.check=(X)=>{try{let W=X.value,$=new URL(W),J=$.href;if(Y.hostname){if(Y.hostname.lastIndex=0,!Y.hostname.test($.hostname))X.issues.push({code:"invalid_format",format:"url",note:"Invalid hostname",pattern:YH.source,input:X.value,inst:Q,continue:!Y.abort})}if(Y.protocol){if(Y.protocol.lastIndex=0,!Y.protocol.test($.protocol.endsWith(":")?$.protocol.slice(0,-1):$.protocol))X.issues.push({code:"invalid_format",format:"url",note:"Invalid protocol",pattern:Y.protocol.source,input:X.value,inst:Q,continue:!Y.abort})}if(!W.endsWith("/")&&J.endsWith("/"))X.value=J.slice(0,-1);else X.value=J;return}catch(W){X.issues.push({code:"invalid_format",format:"url",input:X.value,inst:Q,continue:!Y.abort})}}}),M7=w("$ZodEmoji",(Q,Y)=>{Y.pattern??(Y.pattern=rG()),F0.init(Q,Y)}),b7=w("$ZodNanoID",(Q,Y)=>{Y.pattern??(Y.pattern=dG),F0.init(Q,Y)}),P7=w("$ZodCUID",(Q,Y)=>{Y.pattern??(Y.pattern=uG),F0.init(Q,Y)}),Z7=w("$ZodCUID2",(Q,Y)=>{Y.pattern??(Y.pattern=lG),F0.init(Q,Y)}),R7=w("$ZodULID",(Q,Y)=>{Y.pattern??(Y.pattern=mG),F0.init(Q,Y)}),E7=w("$ZodXID",(Q,Y)=>{Y.pattern??(Y.pattern=cG),F0.init(Q,Y)}),I7=w("$ZodKSUID",(Q,Y)=>{Y.pattern??(Y.pattern=pG),F0.init(Q,Y)}),uH=w("$ZodISODateTime",(Q,Y)=>{Y.pattern??(Y.pattern=HH(Y)),F0.init(Q,Y)}),lH=w("$ZodISODate",(Q,Y)=>{Y.pattern??(Y.pattern=$H),F0.init(Q,Y)}),mH=w("$ZodISOTime",(Q,Y)=>{Y.pattern??(Y.pattern=GH(Y)),F0.init(Q,Y)}),cH=w("$ZodISODuration",(Q,Y)=>{Y.pattern??(Y.pattern=iG),F0.init(Q,Y)}),S7=w("$ZodIPv4",(Q,Y)=>{Y.pattern??(Y.pattern=tG),F0.init(Q,Y),Q._zod.onattach.push((X)=>{let W=X._zod.bag;W.format="ipv4"})}),T7=w("$ZodIPv6",(Q,Y)=>{Y.pattern??(Y.pattern=aG),F0.init(Q,Y),Q._zod.onattach.push((X)=>{let W=X._zod.bag;W.format="ipv6"}),Q._zod.check=(X)=>{try{new URL(`http://[${X.value}]`)}catch{X.issues.push({code:"invalid_format",format:"ipv6",input:X.value,inst:Q,continue:!Y.abort})}}}),C7=w("$ZodCIDRv4",(Q,Y)=>{Y.pattern??(Y.pattern=sG),F0.init(Q,Y)}),k7=w("$ZodCIDRv6",(Q,Y)=>{Y.pattern??(Y.pattern=eG),F0.init(Q,Y),Q._zod.check=(X)=>{let[W,$]=X.value.split("/");try{if(!$)throw Error();let J=Number($);if(`${J}`!==$)throw Error();if(J<0||J>128)throw Error();new URL(`http://[${W}]`)}catch{X.issues.push({code:"invalid_format",format:"cidrv6",input:X.value,inst:Q,continue:!Y.abort})}}});function pH(Q){if(Q==="")return!0;if(Q.length%4!==0)return!1;try{return atob(Q),!0}catch{return!1}}var _7=w("$ZodBase64",(Q,Y)=>{Y.pattern??(Y.pattern=QH),F0.init(Q,Y),Q._zod.onattach.push((X)=>{X._zod.bag.contentEncoding="base64"}),Q._zod.check=(X)=>{if(pH(X.value))return;X.issues.push({code:"invalid_format",format:"base64",input:X.value,inst:Q,continue:!Y.abort})}});function Uw(Q){if(!A7.test(Q))return!1;let Y=Q.replace(/[-_]/g,(W)=>W==="-"?"+":"/"),X=Y.padEnd(Math.ceil(Y.length/4)*4,"=");return pH(X)}var v7=w("$ZodBase64URL",(Q,Y)=>{Y.pattern??(Y.pattern=A7),F0.init(Q,Y),Q._zod.onattach.push((X)=>{X._zod.bag.contentEncoding="base64url"}),Q._zod.check=(X)=>{if(Uw(X.value))return;X.issues.push({code:"invalid_format",format:"base64url",input:X.value,inst:Q,continue:!Y.abort})}}),x7=w("$ZodE164",(Q,Y)=>{Y.pattern??(Y.pattern=XH),F0.init(Q,Y)});function jw(Q,Y=null){try{let X=Q.split(".");if(X.length!==3)return!1;let[W]=X;if(!W)return!1;let $=JSON.parse(atob(W));if("typ"in $&&$?.typ!=="JWT")return!1;if(!$.alg)return!1;if(Y&&(!("alg"in $)||$.alg!==Y))return!1;return!0}catch{return!1}}var y7=w("$ZodJWT",(Q,Y)=>{F0.init(Q,Y),Q._zod.check=(X)=>{if(jw(X.value,Y.alg))return;X.issues.push({code:"invalid_format",format:"jwt",input:X.value,inst:Q,continue:!Y.abort})}});var qQ=w("$ZodNumber",(Q,Y)=>{G0.init(Q,Y),Q._zod.pattern=Q._zod.bag.pattern??VH,Q._zod.parse=(X,W)=>{if(Y.coerce)try{X.value=Number(X.value)}catch(G){}let $=X.value;if(typeof $==="number"&&!Number.isNaN($)&&Number.isFinite($))return X;let J=typeof $==="number"?Number.isNaN($)?"NaN":!Number.isFinite($)?"Infinity":void 0:void 0;return X.issues.push({expected:"number",code:"invalid_type",input:$,inst:Q,...J?{received:J}:{}}),X}}),f7=w("$ZodNumber",(Q,Y)=>{UH.init(Q,Y),qQ.init(Q,Y)}),g7=w("$ZodBoolean",(Q,Y)=>{G0.init(Q,Y),Q._zod.pattern=FH,Q._zod.parse=(X,W)=>{if(Y.coerce)try{X.value=Boolean(X.value)}catch(J){}let $=X.value;if(typeof $==="boolean")return X;return X.issues.push({expected:"boolean",code:"invalid_type",input:$,inst:Q}),X}}),h7=w("$ZodBigInt",(Q,Y)=>{G0.init(Q,Y),Q._zod.pattern=zH,Q._zod.parse=(X,W)=>{if(Y.coerce)try{X.value=BigInt(X.value)}catch($){}if(typeof X.value==="bigint")return X;return X.issues.push({expected:"bigint",code:"invalid_type",input:X.value,inst:Q}),X}});var u7=w("$ZodNull",(Q,Y)=>{G0.init(Q,Y),Q._zod.pattern=AH,Q._zod.values=new Set([null]),Q._zod.parse=(X,W)=>{let $=X.value;if($===null)return X;return X.issues.push({expected:"null",code:"invalid_type",input:$,inst:Q}),X}}),l7=w("$ZodAny",(Q,Y)=>{G0.init(Q,Y),Q._zod.parse=(X)=>X}),m7=w("$ZodUnknown",(Q,Y)=>{G0.init(Q,Y),Q._zod.parse=(X)=>X}),c7=w("$ZodNever",(Q,Y)=>{G0.init(Q,Y),Q._zod.parse=(X,W)=>{return X.issues.push({expected:"never",code:"invalid_type",input:X.value,inst:Q}),X}});var p7=w("$ZodDate",(Q,Y)=>{G0.init(Q,Y),Q._zod.parse=(X,W)=>{if(Y.coerce)try{X.value=new Date(X.value)}catch(H){}let $=X.value,J=$ instanceof Date;if(J&&!Number.isNaN($.getTime()))return X;return X.issues.push({expected:"date",code:"invalid_type",input:$,...J?{received:"Invalid Date"}:{},inst:Q}),X}});function CH(Q,Y,X){if(Q.issues.length)Y.issues.push(...m1(X,Q.issues));Y.value[X]=Q.value}var d7=w("$ZodArray",(Q,Y)=>{G0.init(Q,Y),Q._zod.parse=(X,W)=>{let $=X.value;if(!Array.isArray($))return X.issues.push({expected:"array",code:"invalid_type",input:$,inst:Q}),X;X.value=Array($.length);let J=[];for(let G=0;G<$.length;G++){let H=$[G],B=Y.element._zod.run({value:H,issues:[]},W);if(B instanceof Promise)J.push(B.then((z)=>CH(z,X,G)));else CH(B,X,G)}if(J.length)return Promise.all(J).then(()=>X);return X}});function AQ(Q,Y,X){if(Q.issues.length)Y.issues.push(...m1(X,Q.issues));Y.value[X]=Q.value}function kH(Q,Y,X,W){if(Q.issues.length)if(W[X]===void 0)if(X in W)Y.value[X]=void 0;else Y.value[X]=Q.value;else Y.issues.push(...m1(X,Q.issues));else if(Q.value===void 0){if(X in W)Y.value[X]=void 0}else Y.value[X]=Q.value}var DQ=w("$ZodObject",(Q,Y)=>{G0.init(Q,Y);let X=v8(()=>{let V=Object.keys(Y.shape);for(let F of V)if(!(Y.shape[F]instanceof G0))throw Error(`Invalid element at key "${F}": expected a Zod schema`);let q=W7(Y.shape);return{shape:Y.shape,keys:V,keySet:new Set(V),numKeys:V.length,optionalKeys:new Set(q)}});V0(Q._zod,"propValues",()=>{let V=Y.shape,q={};for(let F in V){let A=V[F]._zod;if(A.values){q[F]??(q[F]=new Set);for(let D of A.values)q[F].add(D)}}return q});let W=(V)=>{let q=new O7(["shape","payload","ctx"]),F=X.value,A=(N)=>{let M=o6(N);return`shape[${M}]._zod.run({ value: input[${M}], issues: [] }, ctx)`};q.write("const input = payload.value;");let D=Object.create(null),O=0;for(let N of F.keys)D[N]=`key_${O++}`;q.write("const newResult = {}");for(let N of F.keys)if(F.optionalKeys.has(N)){let M=D[N];q.write(`const ${M} = ${A(N)};`);let C=o6(N);q.write(`
19
+ if (${M}.issues.length) {
20
20
  if (input[${C}] === undefined) {
21
21
  if (${C} in input) {
22
22
  newResult[${C}] = undefined;
23
23
  }
24
24
  } else {
25
25
  payload.issues = payload.issues.concat(
26
- ${w}.issues.map((iss) => ({
26
+ ${M}.issues.map((iss) => ({
27
27
  ...iss,
28
28
  path: iss.path ? [${C}, ...iss.path] : [${C}],
29
29
  }))
30
30
  );
31
31
  }
32
- } else if (${w}.value === undefined) {
32
+ } else if (${M}.value === undefined) {
33
33
  if (${C} in input) newResult[${C}] = undefined;
34
34
  } else {
35
- newResult[${C}] = ${w}.value;
35
+ newResult[${C}] = ${M}.value;
36
36
  }
37
- `)}else{let w=D[N];q.write(`const ${w} = ${A(N)};`),q.write(`
38
- if (${w}.issues.length) payload.issues = payload.issues.concat(${w}.issues.map(iss => ({
37
+ `)}else{let M=D[N];q.write(`const ${M} = ${A(N)};`),q.write(`
38
+ if (${M}.issues.length) payload.issues = payload.issues.concat(${M}.issues.map(iss => ({
39
39
  ...iss,
40
- path: iss.path ? [${d6(N)}, ...iss.path] : [${d6(N)}]
41
- })));`),q.write(`newResult[${d6(N)}] = ${w}.value`)}q.write("payload.value = newResult;"),q.write("return payload;");let O=q.compile();return(N,w)=>O(V,N,w)},$,J=v9,G=!XQ.jitless,B=G&&nY.value,z=X.catchall,K;Q._zod.parse=(V,q)=>{K??(K=Y.value);let F=V.value;if(!J(F))return V.issues.push({expected:"object",code:"invalid_type",input:F,inst:Q}),V;let A=[];if(G&&B&&q?.async===!1&&q.jitless!==!0){if(!$)$=W(X.shape);V=$(V,q)}else{V.value={};let w=K.shape;for(let C of K.keys){let Z=w[C],K0=Z._zod.run({value:F[C],issues:[]},q),P0=Z._zod.optin==="optional"&&Z._zod.optout==="optional";if(K0 instanceof Promise)A.push(K0.then((g1)=>P0?UH(g1,V,C,F):zQ(g1,V,C)));else if(P0)UH(K0,V,C,F);else zQ(K0,V,C)}}if(!z)return A.length?Promise.all(A).then(()=>V):V;let D=[],L=K.keySet,O=z._zod,N=O.def.type;for(let w of Object.keys(F)){if(L.has(w))continue;if(N==="never"){D.push(w);continue}let C=O.run({value:F[w],issues:[]},q);if(C instanceof Promise)A.push(C.then((Z)=>zQ(Z,V,w)));else zQ(C,V,w)}if(D.length)V.issues.push({code:"unrecognized_keys",keys:D,input:F,inst:Q});if(!A.length)return V;return Promise.all(A).then(()=>{return V})}});function jH(Q,X,Y,W){for(let $ of Q)if($.issues.length===0)return X.value=$.value,X;return X.issues.push({code:"invalid_union",input:X.value,inst:Y,errors:Q.map(($)=>$.issues.map((J)=>w1(J,W,t0())))}),X}var FQ=M("$ZodUnion",(Q,X)=>{G0.init(Q,X),V0(Q._zod,"optin",()=>X.options.some((Y)=>Y._zod.optin==="optional")?"optional":void 0),V0(Q._zod,"optout",()=>X.options.some((Y)=>Y._zod.optout==="optional")?"optional":void 0),V0(Q._zod,"values",()=>{if(X.options.every((Y)=>Y._zod.values))return new Set(X.options.flatMap((Y)=>Array.from(Y._zod.values)));return}),V0(Q._zod,"pattern",()=>{if(X.options.every((Y)=>Y._zod.pattern)){let Y=X.options.map((W)=>W._zod.pattern);return new RegExp(`^(${Y.map((W)=>k8(W.source)).join("|")})$`)}return}),Q._zod.parse=(Y,W)=>{let $=!1,J=[];for(let G of X.options){let H=G._zod.run({value:Y.value,issues:[]},W);if(H instanceof Promise)J.push(H),$=!0;else{if(H.issues.length===0)return H;J.push(H)}}if(!$)return jH(J,Y,Q,W);return Promise.all(J).then((G)=>{return jH(G,Y,Q,W)})}}),g7=M("$ZodDiscriminatedUnion",(Q,X)=>{FQ.init(Q,X);let Y=Q._zod.parse;V0(Q._zod,"propValues",()=>{let $={};for(let J of X.options){let G=J._zod.propValues;if(!G||Object.keys(G).length===0)throw Error(`Invalid discriminated union option at index "${X.options.indexOf(J)}"`);for(let[H,B]of Object.entries(G)){if(!$[H])$[H]=new Set;for(let z of B)$[H].add(z)}}return $});let W=T8(()=>{let $=X.options,J=new Map;for(let G of $){let H=G._zod.propValues[X.discriminator];if(!H||H.size===0)throw Error(`Invalid discriminated union option at index "${X.options.indexOf(G)}"`);for(let B of H){if(J.has(B))throw Error(`Duplicate discriminator value "${String(B)}"`);J.set(B,G)}}return J});Q._zod.parse=($,J)=>{let G=$.value;if(!v9(G))return $.issues.push({code:"invalid_type",expected:"object",input:G,inst:Q}),$;let H=W.value.get(G?.[X.discriminator]);if(H)return H._zod.run($,J);if(X.unionFallback)return Y($,J);return $.issues.push({code:"invalid_union",errors:[],note:"No matching discriminator",input:G,path:[X.discriminator],inst:Q}),$}}),h7=M("$ZodIntersection",(Q,X)=>{G0.init(Q,X),Q._zod.parse=(Y,W)=>{let $=Y.value,J=X.left._zod.run({value:$,issues:[]},W),G=X.right._zod.run({value:$,issues:[]},W);if(J instanceof Promise||G instanceof Promise)return Promise.all([J,G]).then(([B,z])=>{return MH(Y,B,z)});return MH(Y,J,G)}});function z7(Q,X){if(Q===X)return{valid:!0,data:Q};if(Q instanceof Date&&X instanceof Date&&+Q===+X)return{valid:!0,data:Q};if(_9(Q)&&_9(X)){let Y=Object.keys(X),W=Object.keys(Q).filter((J)=>Y.indexOf(J)!==-1),$={...Q,...X};for(let J of W){let G=z7(Q[J],X[J]);if(!G.valid)return{valid:!1,mergeErrorPath:[J,...G.mergeErrorPath]};$[J]=G.data}return{valid:!0,data:$}}if(Array.isArray(Q)&&Array.isArray(X)){if(Q.length!==X.length)return{valid:!1,mergeErrorPath:[]};let Y=[];for(let W=0;W<Q.length;W++){let $=Q[W],J=X[W],G=z7($,J);if(!G.valid)return{valid:!1,mergeErrorPath:[W,...G.mergeErrorPath]};Y.push(G.data)}return{valid:!0,data:Y}}return{valid:!1,mergeErrorPath:[]}}function MH(Q,X,Y){if(X.issues.length)Q.issues.push(...X.issues);if(Y.issues.length)Q.issues.push(...Y.issues);if(i6(Q))return Q;let W=z7(X.value,Y.value);if(!W.valid)throw Error(`Unmergable intersection. Error path: ${JSON.stringify(W.mergeErrorPath)}`);return Q.value=W.data,Q}var u7=M("$ZodRecord",(Q,X)=>{G0.init(Q,X),Q._zod.parse=(Y,W)=>{let $=Y.value;if(!_9($))return Y.issues.push({expected:"record",code:"invalid_type",input:$,inst:Q}),Y;let J=[];if(X.keyType._zod.values){let G=X.keyType._zod.values;Y.value={};for(let B of G)if(typeof B==="string"||typeof B==="number"||typeof B==="symbol"){let z=X.valueType._zod.run({value:$[B],issues:[]},W);if(z instanceof Promise)J.push(z.then((K)=>{if(K.issues.length)Y.issues.push(...m1(B,K.issues));Y.value[B]=K.value}));else{if(z.issues.length)Y.issues.push(...m1(B,z.issues));Y.value[B]=z.value}}let H;for(let B in $)if(!G.has(B))H=H??[],H.push(B);if(H&&H.length>0)Y.issues.push({code:"unrecognized_keys",input:$,inst:Q,keys:H})}else{Y.value={};for(let G of Reflect.ownKeys($)){if(G==="__proto__")continue;let H=X.keyType._zod.run({value:G,issues:[]},W);if(H instanceof Promise)throw Error("Async schemas not supported in object keys currently");if(H.issues.length){Y.issues.push({origin:"record",code:"invalid_key",issues:H.issues.map((z)=>w1(z,W,t0())),input:G,path:[G],inst:Q}),Y.value[H.value]=H.value;continue}let B=X.valueType._zod.run({value:$[G],issues:[]},W);if(B instanceof Promise)J.push(B.then((z)=>{if(z.issues.length)Y.issues.push(...m1(G,z.issues));Y.value[H.value]=z.value}));else{if(B.issues.length)Y.issues.push(...m1(G,B.issues));Y.value[H.value]=B.value}}}if(J.length)return Promise.all(J).then(()=>Y);return Y}});var l7=M("$ZodEnum",(Q,X)=>{G0.init(Q,X);let Y=I8(X.entries);Q._zod.values=new Set(Y),Q._zod.pattern=new RegExp(`^(${Y.filter((W)=>oY.has(typeof W)).map((W)=>typeof W==="string"?L6(W):W.toString()).join("|")})$`),Q._zod.parse=(W,$)=>{let J=W.value;if(Q._zod.values.has(J))return W;return W.issues.push({code:"invalid_value",values:Y,input:J,inst:Q}),W}}),m7=M("$ZodLiteral",(Q,X)=>{G0.init(Q,X),Q._zod.values=new Set(X.values),Q._zod.pattern=new RegExp(`^(${X.values.map((Y)=>typeof Y==="string"?L6(Y):Y?Y.toString():String(Y)).join("|")})$`),Q._zod.parse=(Y,W)=>{let $=Y.value;if(Q._zod.values.has($))return Y;return Y.issues.push({code:"invalid_value",values:X.values,input:$,inst:Q}),Y}});var c7=M("$ZodTransform",(Q,X)=>{G0.init(Q,X),Q._zod.parse=(Y,W)=>{let $=X.transform(Y.value,Y);if(W.async)return($ instanceof Promise?$:Promise.resolve($)).then((G)=>{return Y.value=G,Y});if($ instanceof Promise)throw new D6;return Y.value=$,Y}}),p7=M("$ZodOptional",(Q,X)=>{G0.init(Q,X),Q._zod.optin="optional",Q._zod.optout="optional",V0(Q._zod,"values",()=>{return X.innerType._zod.values?new Set([...X.innerType._zod.values,void 0]):void 0}),V0(Q._zod,"pattern",()=>{let Y=X.innerType._zod.pattern;return Y?new RegExp(`^(${k8(Y.source)})?$`):void 0}),Q._zod.parse=(Y,W)=>{if(X.innerType._zod.optin==="optional")return X.innerType._zod.run(Y,W);if(Y.value===void 0)return Y;return X.innerType._zod.run(Y,W)}}),d7=M("$ZodNullable",(Q,X)=>{G0.init(Q,X),V0(Q._zod,"optin",()=>X.innerType._zod.optin),V0(Q._zod,"optout",()=>X.innerType._zod.optout),V0(Q._zod,"pattern",()=>{let Y=X.innerType._zod.pattern;return Y?new RegExp(`^(${k8(Y.source)}|null)$`):void 0}),V0(Q._zod,"values",()=>{return X.innerType._zod.values?new Set([...X.innerType._zod.values,null]):void 0}),Q._zod.parse=(Y,W)=>{if(Y.value===null)return Y;return X.innerType._zod.run(Y,W)}}),i7=M("$ZodDefault",(Q,X)=>{G0.init(Q,X),Q._zod.optin="optional",V0(Q._zod,"values",()=>X.innerType._zod.values),Q._zod.parse=(Y,W)=>{if(Y.value===void 0)return Y.value=X.defaultValue,Y;let $=X.innerType._zod.run(Y,W);if($ instanceof Promise)return $.then((J)=>NH(J,X));return NH($,X)}});function NH(Q,X){if(Q.value===void 0)Q.value=X.defaultValue;return Q}var n7=M("$ZodPrefault",(Q,X)=>{G0.init(Q,X),Q._zod.optin="optional",V0(Q._zod,"values",()=>X.innerType._zod.values),Q._zod.parse=(Y,W)=>{if(Y.value===void 0)Y.value=X.defaultValue;return X.innerType._zod.run(Y,W)}}),o7=M("$ZodNonOptional",(Q,X)=>{G0.init(Q,X),V0(Q._zod,"values",()=>{let Y=X.innerType._zod.values;return Y?new Set([...Y].filter((W)=>W!==void 0)):void 0}),Q._zod.parse=(Y,W)=>{let $=X.innerType._zod.run(Y,W);if($ instanceof Promise)return $.then((J)=>wH(J,Q));return wH($,Q)}});function wH(Q,X){if(!Q.issues.length&&Q.value===void 0)Q.issues.push({code:"invalid_type",expected:"nonoptional",input:Q.value,inst:X});return Q}var r7=M("$ZodCatch",(Q,X)=>{G0.init(Q,X),Q._zod.optin="optional",V0(Q._zod,"optout",()=>X.innerType._zod.optout),V0(Q._zod,"values",()=>X.innerType._zod.values),Q._zod.parse=(Y,W)=>{let $=X.innerType._zod.run(Y,W);if($ instanceof Promise)return $.then((J)=>{if(Y.value=J.value,J.issues.length)Y.value=X.catchValue({...Y,error:{issues:J.issues.map((G)=>w1(G,W,t0()))},input:Y.value}),Y.issues=[];return Y});if(Y.value=$.value,$.issues.length)Y.value=X.catchValue({...Y,error:{issues:$.issues.map((J)=>w1(J,W,t0()))},input:Y.value}),Y.issues=[];return Y}});var t7=M("$ZodPipe",(Q,X)=>{G0.init(Q,X),V0(Q._zod,"values",()=>X.in._zod.values),V0(Q._zod,"optin",()=>X.in._zod.optin),V0(Q._zod,"optout",()=>X.out._zod.optout),Q._zod.parse=(Y,W)=>{let $=X.in._zod.run(Y,W);if($ instanceof Promise)return $.then((J)=>bH(J,X,W));return bH($,X,W)}});function bH(Q,X,Y){if(i6(Q))return Q;return X.out._zod.run({value:Q.value,issues:Q.issues},Y)}var a7=M("$ZodReadonly",(Q,X)=>{G0.init(Q,X),V0(Q._zod,"propValues",()=>X.innerType._zod.propValues),V0(Q._zod,"values",()=>X.innerType._zod.values),V0(Q._zod,"optin",()=>X.innerType._zod.optin),V0(Q._zod,"optout",()=>X.innerType._zod.optout),Q._zod.parse=(Y,W)=>{let $=X.innerType._zod.run(Y,W);if($ instanceof Promise)return $.then(PH);return PH($)}});function PH(Q){return Q.value=Object.freeze(Q.value),Q}var s7=M("$ZodCustom",(Q,X)=>{k0.init(Q,X),G0.init(Q,X),Q._zod.parse=(Y,W)=>{return Y},Q._zod.check=(Y)=>{let W=Y.value,$=X.fn(W);if($ instanceof Promise)return $.then((J)=>ZH(J,Y,W,Q));ZH($,Y,W,Q);return}});function ZH(Q,X,Y,W){if(!Q){let $={code:"custom",input:Y,inst:W,path:[...W._zod.def.path??[]],continue:!W._zod.def.abort};if(W._zod.def.params)$.params=W._zod.def.params;X.issues.push(aY($))}}var aj=(Q)=>{let X=typeof Q;switch(X){case"number":return Number.isNaN(Q)?"NaN":"number";case"object":{if(Array.isArray(Q))return"array";if(Q===null)return"null";if(Object.getPrototypeOf(Q)!==Object.prototype&&Q.constructor)return Q.constructor.name}}return X},sj=()=>{let Q={string:{unit:"characters",verb:"to have"},file:{unit:"bytes",verb:"to have"},array:{unit:"items",verb:"to have"},set:{unit:"items",verb:"to have"}};function X(W){return Q[W]??null}let Y={regex:"input",email:"email address",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO datetime",date:"ISO date",time:"ISO time",duration:"ISO duration",ipv4:"IPv4 address",ipv6:"IPv6 address",cidrv4:"IPv4 range",cidrv6:"IPv6 range",base64:"base64-encoded string",base64url:"base64url-encoded string",json_string:"JSON string",e164:"E.164 number",jwt:"JWT",template_literal:"input"};return(W)=>{switch(W.code){case"invalid_type":return`Invalid input: expected ${W.expected}, received ${aj(W.input)}`;case"invalid_value":if(W.values.length===1)return`Invalid input: expected ${JQ(W.values[0])}`;return`Invalid option: expected one of ${WQ(W.values,"|")}`;case"too_big":{let $=W.inclusive?"<=":"<",J=X(W.origin);if(J)return`Too big: expected ${W.origin??"value"} to have ${$}${W.maximum.toString()} ${J.unit??"elements"}`;return`Too big: expected ${W.origin??"value"} to be ${$}${W.maximum.toString()}`}case"too_small":{let $=W.inclusive?">=":">",J=X(W.origin);if(J)return`Too small: expected ${W.origin} to have ${$}${W.minimum.toString()} ${J.unit}`;return`Too small: expected ${W.origin} to be ${$}${W.minimum.toString()}`}case"invalid_format":{let $=W;if($.format==="starts_with")return`Invalid string: must start with "${$.prefix}"`;if($.format==="ends_with")return`Invalid string: must end with "${$.suffix}"`;if($.format==="includes")return`Invalid string: must include "${$.includes}"`;if($.format==="regex")return`Invalid string: must match pattern ${$.pattern}`;return`Invalid ${Y[$.format]??W.format}`}case"not_multiple_of":return`Invalid number: must be a multiple of ${W.divisor}`;case"unrecognized_keys":return`Unrecognized key${W.keys.length>1?"s":""}: ${WQ(W.keys,", ")}`;case"invalid_key":return`Invalid key in ${W.origin}`;case"invalid_union":return"Invalid input";case"invalid_element":return`Invalid value in ${W.origin}`;default:return"Invalid input"}}};function e7(){return{localeError:sj()}}var CH=Symbol("ZodOutput"),kH=Symbol("ZodInput");class AQ{constructor(){this._map=new Map,this._idmap=new Map}add(Q,...X){let Y=X[0];if(this._map.set(Q,Y),Y&&typeof Y==="object"&&"id"in Y){if(this._idmap.has(Y.id))throw Error(`ID ${Y.id} already exists in the registry`);this._idmap.set(Y.id,Q)}return this}clear(){return this._map=new Map,this._idmap=new Map,this}remove(Q){let X=this._map.get(Q);if(X&&typeof X==="object"&&"id"in X)this._idmap.delete(X.id);return this._map.delete(Q),this}get(Q){let X=Q._zod.parent;if(X){let Y={...this.get(X)??{}};return delete Y.id,{...Y,...this._map.get(Q)}}return this._map.get(Q)}has(Q){return this._map.has(Q)}}function QW(){return new AQ}var a1=QW();function XW(Q,X){return new Q({type:"string",...g(X)})}function vH(Q,X){return new Q({type:"string",coerce:!0,...g(X)})}function YW(Q,X){return new Q({type:"string",format:"email",check:"string_format",abort:!1,...g(X)})}function qQ(Q,X){return new Q({type:"string",format:"guid",check:"string_format",abort:!1,...g(X)})}function WW(Q,X){return new Q({type:"string",format:"uuid",check:"string_format",abort:!1,...g(X)})}function $W(Q,X){return new Q({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v4",...g(X)})}function JW(Q,X){return new Q({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v6",...g(X)})}function GW(Q,X){return new Q({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v7",...g(X)})}function DQ(Q,X){return new Q({type:"string",format:"url",check:"string_format",abort:!1,...g(X)})}function HW(Q,X){return new Q({type:"string",format:"emoji",check:"string_format",abort:!1,...g(X)})}function BW(Q,X){return new Q({type:"string",format:"nanoid",check:"string_format",abort:!1,...g(X)})}function zW(Q,X){return new Q({type:"string",format:"cuid",check:"string_format",abort:!1,...g(X)})}function KW(Q,X){return new Q({type:"string",format:"cuid2",check:"string_format",abort:!1,...g(X)})}function VW(Q,X){return new Q({type:"string",format:"ulid",check:"string_format",abort:!1,...g(X)})}function FW(Q,X){return new Q({type:"string",format:"xid",check:"string_format",abort:!1,...g(X)})}function AW(Q,X){return new Q({type:"string",format:"ksuid",check:"string_format",abort:!1,...g(X)})}function qW(Q,X){return new Q({type:"string",format:"ipv4",check:"string_format",abort:!1,...g(X)})}function DW(Q,X){return new Q({type:"string",format:"ipv6",check:"string_format",abort:!1,...g(X)})}function LW(Q,X){return new Q({type:"string",format:"cidrv4",check:"string_format",abort:!1,...g(X)})}function OW(Q,X){return new Q({type:"string",format:"cidrv6",check:"string_format",abort:!1,...g(X)})}function UW(Q,X){return new Q({type:"string",format:"base64",check:"string_format",abort:!1,...g(X)})}function jW(Q,X){return new Q({type:"string",format:"base64url",check:"string_format",abort:!1,...g(X)})}function MW(Q,X){return new Q({type:"string",format:"e164",check:"string_format",abort:!1,...g(X)})}function NW(Q,X){return new Q({type:"string",format:"jwt",check:"string_format",abort:!1,...g(X)})}function _H(Q,X){return new Q({type:"string",format:"datetime",check:"string_format",offset:!1,local:!1,precision:null,...g(X)})}function xH(Q,X){return new Q({type:"string",format:"date",check:"string_format",...g(X)})}function yH(Q,X){return new Q({type:"string",format:"time",check:"string_format",precision:null,...g(X)})}function fH(Q,X){return new Q({type:"string",format:"duration",check:"string_format",...g(X)})}function wW(Q,X){return new Q({type:"number",checks:[],...g(X)})}function gH(Q,X){return new Q({type:"number",coerce:!0,checks:[],...g(X)})}function bW(Q,X){return new Q({type:"number",check:"number_format",abort:!1,format:"safeint",...g(X)})}function PW(Q,X){return new Q({type:"boolean",...g(X)})}function hH(Q,X){return new Q({type:"boolean",coerce:!0,...g(X)})}function uH(Q,X){return new Q({type:"bigint",coerce:!0,...g(X)})}function ZW(Q,X){return new Q({type:"null",...g(X)})}function RW(Q){return new Q({type:"any"})}function EW(Q){return new Q({type:"unknown"})}function SW(Q,X){return new Q({type:"never",...g(X)})}function lH(Q,X){return new Q({type:"date",coerce:!0,...g(X)})}function x9(Q,X){return new G7({check:"less_than",...g(X),value:Q,inclusive:!1})}function s1(Q,X){return new G7({check:"less_than",...g(X),value:Q,inclusive:!0})}function y9(Q,X){return new H7({check:"greater_than",...g(X),value:Q,inclusive:!1})}function b1(Q,X){return new H7({check:"greater_than",...g(X),value:Q,inclusive:!0})}function g8(Q,X){return new WH({check:"multiple_of",...g(X),value:Q})}function LQ(Q,X){return new JH({check:"max_length",...g(X),maximum:Q})}function f9(Q,X){return new GH({check:"min_length",...g(X),minimum:Q})}function OQ(Q,X){return new HH({check:"length_equals",...g(X),length:Q})}function IW(Q,X){return new BH({check:"string_format",format:"regex",...g(X),pattern:Q})}function TW(Q){return new zH({check:"string_format",format:"lowercase",...g(Q)})}function CW(Q){return new KH({check:"string_format",format:"uppercase",...g(Q)})}function kW(Q,X){return new VH({check:"string_format",format:"includes",...g(X),includes:Q})}function vW(Q,X){return new FH({check:"string_format",format:"starts_with",...g(X),prefix:Q})}function _W(Q,X){return new AH({check:"string_format",format:"ends_with",...g(X),suffix:Q})}function r6(Q){return new qH({check:"overwrite",tx:Q})}function xW(Q){return r6((X)=>X.normalize(Q))}function yW(){return r6((Q)=>Q.trim())}function fW(){return r6((Q)=>Q.toLowerCase())}function gW(){return r6((Q)=>Q.toUpperCase())}function mH(Q,X,Y){return new Q({type:"array",element:X,...g(Y)})}function hW(Q,X,Y){let W=g(Y);return W.abort??(W.abort=!0),new Q({type:"custom",check:"custom",fn:X,...W})}function uW(Q,X,Y){return new Q({type:"custom",check:"custom",fn:X,...g(Y)})}class lW{constructor(Q){this.counter=0,this.metadataRegistry=Q?.metadata??a1,this.target=Q?.target??"draft-2020-12",this.unrepresentable=Q?.unrepresentable??"throw",this.override=Q?.override??(()=>{}),this.io=Q?.io??"output",this.seen=new Map}process(Q,X={path:[],schemaPath:[]}){var Y;let W=Q._zod.def,$={guid:"uuid",url:"uri",datetime:"date-time",json_string:"json-string",regex:""},J=this.seen.get(Q);if(J){if(J.count++,X.schemaPath.includes(Q))J.cycle=X.path;return J.schema}let G={schema:{},count:1,cycle:void 0,path:X.path};this.seen.set(Q,G);let H=Q._zod.toJSONSchema?.();if(H)G.schema=H;else{let K={...X,schemaPath:[...X.schemaPath,Q],path:X.path},V=Q._zod.parent;if(V)G.ref=V,this.process(V,K),this.seen.get(V).isParent=!0;else{let q=G.schema;switch(W.type){case"string":{let F=q;F.type="string";let{minimum:A,maximum:D,format:L,patterns:O,contentEncoding:N}=Q._zod.bag;if(typeof A==="number")F.minLength=A;if(typeof D==="number")F.maxLength=D;if(L){if(F.format=$[L]??L,F.format==="")delete F.format}if(N)F.contentEncoding=N;if(O&&O.size>0){let w=[...O];if(w.length===1)F.pattern=w[0].source;else if(w.length>1)G.schema.allOf=[...w.map((C)=>({...this.target==="draft-7"?{type:"string"}:{},pattern:C.source}))]}break}case"number":{let F=q,{minimum:A,maximum:D,format:L,multipleOf:O,exclusiveMaximum:N,exclusiveMinimum:w}=Q._zod.bag;if(typeof L==="string"&&L.includes("int"))F.type="integer";else F.type="number";if(typeof w==="number")F.exclusiveMinimum=w;if(typeof A==="number"){if(F.minimum=A,typeof w==="number")if(w>=A)delete F.minimum;else delete F.exclusiveMinimum}if(typeof N==="number")F.exclusiveMaximum=N;if(typeof D==="number"){if(F.maximum=D,typeof N==="number")if(N<=D)delete F.maximum;else delete F.exclusiveMaximum}if(typeof O==="number")F.multipleOf=O;break}case"boolean":{let F=q;F.type="boolean";break}case"bigint":{if(this.unrepresentable==="throw")throw Error("BigInt cannot be represented in JSON Schema");break}case"symbol":{if(this.unrepresentable==="throw")throw Error("Symbols cannot be represented in JSON Schema");break}case"null":{q.type="null";break}case"any":break;case"unknown":break;case"undefined":{if(this.unrepresentable==="throw")throw Error("Undefined cannot be represented in JSON Schema");break}case"void":{if(this.unrepresentable==="throw")throw Error("Void cannot be represented in JSON Schema");break}case"never":{q.not={};break}case"date":{if(this.unrepresentable==="throw")throw Error("Date cannot be represented in JSON Schema");break}case"array":{let F=q,{minimum:A,maximum:D}=Q._zod.bag;if(typeof A==="number")F.minItems=A;if(typeof D==="number")F.maxItems=D;F.type="array",F.items=this.process(W.element,{...K,path:[...K.path,"items"]});break}case"object":{let F=q;F.type="object",F.properties={};let A=W.shape;for(let O in A)F.properties[O]=this.process(A[O],{...K,path:[...K.path,"properties",O]});let D=new Set(Object.keys(A)),L=new Set([...D].filter((O)=>{let N=W.shape[O]._zod;if(this.io==="input")return N.optin===void 0;else return N.optout===void 0}));if(L.size>0)F.required=Array.from(L);if(W.catchall?._zod.def.type==="never")F.additionalProperties=!1;else if(!W.catchall){if(this.io==="output")F.additionalProperties=!1}else if(W.catchall)F.additionalProperties=this.process(W.catchall,{...K,path:[...K.path,"additionalProperties"]});break}case"union":{let F=q;F.anyOf=W.options.map((A,D)=>this.process(A,{...K,path:[...K.path,"anyOf",D]}));break}case"intersection":{let F=q,A=this.process(W.left,{...K,path:[...K.path,"allOf",0]}),D=this.process(W.right,{...K,path:[...K.path,"allOf",1]}),L=(N)=>("allOf"in N)&&Object.keys(N).length===1,O=[...L(A)?A.allOf:[A],...L(D)?D.allOf:[D]];F.allOf=O;break}case"tuple":{let F=q;F.type="array";let A=W.items.map((O,N)=>this.process(O,{...K,path:[...K.path,"prefixItems",N]}));if(this.target==="draft-2020-12")F.prefixItems=A;else F.items=A;if(W.rest){let O=this.process(W.rest,{...K,path:[...K.path,"items"]});if(this.target==="draft-2020-12")F.items=O;else F.additionalItems=O}if(W.rest)F.items=this.process(W.rest,{...K,path:[...K.path,"items"]});let{minimum:D,maximum:L}=Q._zod.bag;if(typeof D==="number")F.minItems=D;if(typeof L==="number")F.maxItems=L;break}case"record":{let F=q;F.type="object",F.propertyNames=this.process(W.keyType,{...K,path:[...K.path,"propertyNames"]}),F.additionalProperties=this.process(W.valueType,{...K,path:[...K.path,"additionalProperties"]});break}case"map":{if(this.unrepresentable==="throw")throw Error("Map cannot be represented in JSON Schema");break}case"set":{if(this.unrepresentable==="throw")throw Error("Set cannot be represented in JSON Schema");break}case"enum":{let F=q,A=I8(W.entries);if(A.every((D)=>typeof D==="number"))F.type="number";if(A.every((D)=>typeof D==="string"))F.type="string";F.enum=A;break}case"literal":{let F=q,A=[];for(let D of W.values)if(D===void 0){if(this.unrepresentable==="throw")throw Error("Literal `undefined` cannot be represented in JSON Schema")}else if(typeof D==="bigint")if(this.unrepresentable==="throw")throw Error("BigInt literals cannot be represented in JSON Schema");else A.push(Number(D));else A.push(D);if(A.length===0);else if(A.length===1){let D=A[0];F.type=D===null?"null":typeof D,F.const=D}else{if(A.every((D)=>typeof D==="number"))F.type="number";if(A.every((D)=>typeof D==="string"))F.type="string";if(A.every((D)=>typeof D==="boolean"))F.type="string";if(A.every((D)=>D===null))F.type="null";F.enum=A}break}case"file":{let F=q,A={type:"string",format:"binary",contentEncoding:"binary"},{minimum:D,maximum:L,mime:O}=Q._zod.bag;if(D!==void 0)A.minLength=D;if(L!==void 0)A.maxLength=L;if(O)if(O.length===1)A.contentMediaType=O[0],Object.assign(F,A);else F.anyOf=O.map((N)=>{return{...A,contentMediaType:N}});else Object.assign(F,A);break}case"transform":{if(this.unrepresentable==="throw")throw Error("Transforms cannot be represented in JSON Schema");break}case"nullable":{let F=this.process(W.innerType,K);q.anyOf=[F,{type:"null"}];break}case"nonoptional":{this.process(W.innerType,K),G.ref=W.innerType;break}case"success":{let F=q;F.type="boolean";break}case"default":{this.process(W.innerType,K),G.ref=W.innerType,q.default=JSON.parse(JSON.stringify(W.defaultValue));break}case"prefault":{if(this.process(W.innerType,K),G.ref=W.innerType,this.io==="input")q._prefault=JSON.parse(JSON.stringify(W.defaultValue));break}case"catch":{this.process(W.innerType,K),G.ref=W.innerType;let F;try{F=W.catchValue(void 0)}catch{throw Error("Dynamic catch values are not supported in JSON Schema")}q.default=F;break}case"nan":{if(this.unrepresentable==="throw")throw Error("NaN cannot be represented in JSON Schema");break}case"template_literal":{let F=q,A=Q._zod.pattern;if(!A)throw Error("Pattern not found in template literal");F.type="string",F.pattern=A.source;break}case"pipe":{let F=this.io==="input"?W.in._zod.def.type==="transform"?W.out:W.in:W.out;this.process(F,K),G.ref=F;break}case"readonly":{this.process(W.innerType,K),G.ref=W.innerType,q.readOnly=!0;break}case"promise":{this.process(W.innerType,K),G.ref=W.innerType;break}case"optional":{this.process(W.innerType,K),G.ref=W.innerType;break}case"lazy":{let F=Q._zod.innerType;this.process(F,K),G.ref=F;break}case"custom":{if(this.unrepresentable==="throw")throw Error("Custom types cannot be represented in JSON Schema");break}default:}}}let B=this.metadataRegistry.get(Q);if(B)Object.assign(G.schema,B);if(this.io==="input"&&I0(Q))delete G.schema.examples,delete G.schema.default;if(this.io==="input"&&G.schema._prefault)(Y=G.schema).default??(Y.default=G.schema._prefault);return delete G.schema._prefault,this.seen.get(Q).schema}emit(Q,X){let Y={cycles:X?.cycles??"ref",reused:X?.reused??"inline",external:X?.external??void 0},W=this.seen.get(Q);if(!W)throw Error("Unprocessed schema. This is a bug in Zod.");let $=(z)=>{let K=this.target==="draft-2020-12"?"$defs":"definitions";if(Y.external){let A=Y.external.registry.get(z[0])?.id,D=Y.external.uri??((O)=>O);if(A)return{ref:D(A)};let L=z[1].defId??z[1].schema.id??`schema${this.counter++}`;return z[1].defId=L,{defId:L,ref:`${D("__shared")}#/${K}/${L}`}}if(z[1]===W)return{ref:"#"};let q=`${"#"}/${K}/`,F=z[1].schema.id??`__schema${this.counter++}`;return{defId:F,ref:q+F}},J=(z)=>{if(z[1].schema.$ref)return;let K=z[1],{ref:V,defId:q}=$(z);if(K.def={...K.schema},q)K.defId=q;let F=K.schema;for(let A in F)delete F[A];F.$ref=V};if(Y.cycles==="throw")for(let z of this.seen.entries()){let K=z[1];if(K.cycle)throw Error(`Cycle detected: #/${K.cycle?.join("/")}/<root>
40
+ path: iss.path ? [${o6(N)}, ...iss.path] : [${o6(N)}]
41
+ })));`),q.write(`newResult[${o6(N)}] = ${M}.value`)}q.write("payload.value = newResult;"),q.write("return payload;");let L=q.compile();return(N,M)=>L(V,N,M)},$,J=y9,G=!JQ.jitless,B=G&&Y7.value,z=Y.catchall,K;Q._zod.parse=(V,q)=>{K??(K=X.value);let F=V.value;if(!J(F))return V.issues.push({expected:"object",code:"invalid_type",input:F,inst:Q}),V;let A=[];if(G&&B&&q?.async===!1&&q.jitless!==!0){if(!$)$=W(Y.shape);V=$(V,q)}else{V.value={};let M=K.shape;for(let C of K.keys){let Z=M[C],K0=Z._zod.run({value:F[C],issues:[]},q),P0=Z._zod.optin==="optional"&&Z._zod.optout==="optional";if(K0 instanceof Promise)A.push(K0.then((g1)=>P0?kH(g1,V,C,F):AQ(g1,V,C)));else if(P0)kH(K0,V,C,F);else AQ(K0,V,C)}}if(!z)return A.length?Promise.all(A).then(()=>V):V;let D=[],O=K.keySet,L=z._zod,N=L.def.type;for(let M of Object.keys(F)){if(O.has(M))continue;if(N==="never"){D.push(M);continue}let C=L.run({value:F[M],issues:[]},q);if(C instanceof Promise)A.push(C.then((Z)=>AQ(Z,V,M)));else AQ(C,V,M)}if(D.length)V.issues.push({code:"unrecognized_keys",keys:D,input:F,inst:Q});if(!A.length)return V;return Promise.all(A).then(()=>{return V})}});function _H(Q,Y,X,W){for(let $ of Q)if($.issues.length===0)return Y.value=$.value,Y;return Y.issues.push({code:"invalid_union",input:Y.value,inst:X,errors:Q.map(($)=>$.issues.map((J)=>M1(J,W,t0())))}),Y}var OQ=w("$ZodUnion",(Q,Y)=>{G0.init(Q,Y),V0(Q._zod,"optin",()=>Y.options.some((X)=>X._zod.optin==="optional")?"optional":void 0),V0(Q._zod,"optout",()=>Y.options.some((X)=>X._zod.optout==="optional")?"optional":void 0),V0(Q._zod,"values",()=>{if(Y.options.every((X)=>X._zod.values))return new Set(Y.options.flatMap((X)=>Array.from(X._zod.values)));return}),V0(Q._zod,"pattern",()=>{if(Y.options.every((X)=>X._zod.pattern)){let X=Y.options.map((W)=>W._zod.pattern);return new RegExp(`^(${X.map((W)=>y8(W.source)).join("|")})$`)}return}),Q._zod.parse=(X,W)=>{let $=!1,J=[];for(let G of Y.options){let H=G._zod.run({value:X.value,issues:[]},W);if(H instanceof Promise)J.push(H),$=!0;else{if(H.issues.length===0)return H;J.push(H)}}if(!$)return _H(J,X,Q,W);return Promise.all(J).then((G)=>{return _H(G,X,Q,W)})}}),i7=w("$ZodDiscriminatedUnion",(Q,Y)=>{OQ.init(Q,Y);let X=Q._zod.parse;V0(Q._zod,"propValues",()=>{let $={};for(let J of Y.options){let G=J._zod.propValues;if(!G||Object.keys(G).length===0)throw Error(`Invalid discriminated union option at index "${Y.options.indexOf(J)}"`);for(let[H,B]of Object.entries(G)){if(!$[H])$[H]=new Set;for(let z of B)$[H].add(z)}}return $});let W=v8(()=>{let $=Y.options,J=new Map;for(let G of $){let H=G._zod.propValues[Y.discriminator];if(!H||H.size===0)throw Error(`Invalid discriminated union option at index "${Y.options.indexOf(G)}"`);for(let B of H){if(J.has(B))throw Error(`Duplicate discriminator value "${String(B)}"`);J.set(B,G)}}return J});Q._zod.parse=($,J)=>{let G=$.value;if(!y9(G))return $.issues.push({code:"invalid_type",expected:"object",input:G,inst:Q}),$;let H=W.value.get(G?.[Y.discriminator]);if(H)return H._zod.run($,J);if(Y.unionFallback)return X($,J);return $.issues.push({code:"invalid_union",errors:[],note:"No matching discriminator",input:G,path:[Y.discriminator],inst:Q}),$}}),n7=w("$ZodIntersection",(Q,Y)=>{G0.init(Q,Y),Q._zod.parse=(X,W)=>{let $=X.value,J=Y.left._zod.run({value:$,issues:[]},W),G=Y.right._zod.run({value:$,issues:[]},W);if(J instanceof Promise||G instanceof Promise)return Promise.all([J,G]).then(([B,z])=>{return vH(X,B,z)});return vH(X,J,G)}});function L7(Q,Y){if(Q===Y)return{valid:!0,data:Q};if(Q instanceof Date&&Y instanceof Date&&+Q===+Y)return{valid:!0,data:Q};if(f9(Q)&&f9(Y)){let X=Object.keys(Y),W=Object.keys(Q).filter((J)=>X.indexOf(J)!==-1),$={...Q,...Y};for(let J of W){let G=L7(Q[J],Y[J]);if(!G.valid)return{valid:!1,mergeErrorPath:[J,...G.mergeErrorPath]};$[J]=G.data}return{valid:!0,data:$}}if(Array.isArray(Q)&&Array.isArray(Y)){if(Q.length!==Y.length)return{valid:!1,mergeErrorPath:[]};let X=[];for(let W=0;W<Q.length;W++){let $=Q[W],J=Y[W],G=L7($,J);if(!G.valid)return{valid:!1,mergeErrorPath:[W,...G.mergeErrorPath]};X.push(G.data)}return{valid:!0,data:X}}return{valid:!1,mergeErrorPath:[]}}function vH(Q,Y,X){if(Y.issues.length)Q.issues.push(...Y.issues);if(X.issues.length)Q.issues.push(...X.issues);if(r6(Q))return Q;let W=L7(Y.value,X.value);if(!W.valid)throw Error(`Unmergable intersection. Error path: ${JSON.stringify(W.mergeErrorPath)}`);return Q.value=W.data,Q}var o7=w("$ZodRecord",(Q,Y)=>{G0.init(Q,Y),Q._zod.parse=(X,W)=>{let $=X.value;if(!f9($))return X.issues.push({expected:"record",code:"invalid_type",input:$,inst:Q}),X;let J=[];if(Y.keyType._zod.values){let G=Y.keyType._zod.values;X.value={};for(let B of G)if(typeof B==="string"||typeof B==="number"||typeof B==="symbol"){let z=Y.valueType._zod.run({value:$[B],issues:[]},W);if(z instanceof Promise)J.push(z.then((K)=>{if(K.issues.length)X.issues.push(...m1(B,K.issues));X.value[B]=K.value}));else{if(z.issues.length)X.issues.push(...m1(B,z.issues));X.value[B]=z.value}}let H;for(let B in $)if(!G.has(B))H=H??[],H.push(B);if(H&&H.length>0)X.issues.push({code:"unrecognized_keys",input:$,inst:Q,keys:H})}else{X.value={};for(let G of Reflect.ownKeys($)){if(G==="__proto__")continue;let H=Y.keyType._zod.run({value:G,issues:[]},W);if(H instanceof Promise)throw Error("Async schemas not supported in object keys currently");if(H.issues.length){X.issues.push({origin:"record",code:"invalid_key",issues:H.issues.map((z)=>M1(z,W,t0())),input:G,path:[G],inst:Q}),X.value[H.value]=H.value;continue}let B=Y.valueType._zod.run({value:$[G],issues:[]},W);if(B instanceof Promise)J.push(B.then((z)=>{if(z.issues.length)X.issues.push(...m1(G,z.issues));X.value[H.value]=z.value}));else{if(B.issues.length)X.issues.push(...m1(G,B.issues));X.value[H.value]=B.value}}}if(J.length)return Promise.all(J).then(()=>X);return X}});var r7=w("$ZodEnum",(Q,Y)=>{G0.init(Q,Y);let X=_8(Y.entries);Q._zod.values=new Set(X),Q._zod.pattern=new RegExp(`^(${X.filter((W)=>X7.has(typeof W)).map((W)=>typeof W==="string"?L6(W):W.toString()).join("|")})$`),Q._zod.parse=(W,$)=>{let J=W.value;if(Q._zod.values.has(J))return W;return W.issues.push({code:"invalid_value",values:X,input:J,inst:Q}),W}}),t7=w("$ZodLiteral",(Q,Y)=>{G0.init(Q,Y),Q._zod.values=new Set(Y.values),Q._zod.pattern=new RegExp(`^(${Y.values.map((X)=>typeof X==="string"?L6(X):X?X.toString():String(X)).join("|")})$`),Q._zod.parse=(X,W)=>{let $=X.value;if(Q._zod.values.has($))return X;return X.issues.push({code:"invalid_value",values:Y.values,input:$,inst:Q}),X}});var a7=w("$ZodTransform",(Q,Y)=>{G0.init(Q,Y),Q._zod.parse=(X,W)=>{let $=Y.transform(X.value,X);if(W.async)return($ instanceof Promise?$:Promise.resolve($)).then((G)=>{return X.value=G,X});if($ instanceof Promise)throw new O6;return X.value=$,X}}),s7=w("$ZodOptional",(Q,Y)=>{G0.init(Q,Y),Q._zod.optin="optional",Q._zod.optout="optional",V0(Q._zod,"values",()=>{return Y.innerType._zod.values?new Set([...Y.innerType._zod.values,void 0]):void 0}),V0(Q._zod,"pattern",()=>{let X=Y.innerType._zod.pattern;return X?new RegExp(`^(${y8(X.source)})?$`):void 0}),Q._zod.parse=(X,W)=>{if(Y.innerType._zod.optin==="optional")return Y.innerType._zod.run(X,W);if(X.value===void 0)return X;return Y.innerType._zod.run(X,W)}}),e7=w("$ZodNullable",(Q,Y)=>{G0.init(Q,Y),V0(Q._zod,"optin",()=>Y.innerType._zod.optin),V0(Q._zod,"optout",()=>Y.innerType._zod.optout),V0(Q._zod,"pattern",()=>{let X=Y.innerType._zod.pattern;return X?new RegExp(`^(${y8(X.source)}|null)$`):void 0}),V0(Q._zod,"values",()=>{return Y.innerType._zod.values?new Set([...Y.innerType._zod.values,null]):void 0}),Q._zod.parse=(X,W)=>{if(X.value===null)return X;return Y.innerType._zod.run(X,W)}}),QW=w("$ZodDefault",(Q,Y)=>{G0.init(Q,Y),Q._zod.optin="optional",V0(Q._zod,"values",()=>Y.innerType._zod.values),Q._zod.parse=(X,W)=>{if(X.value===void 0)return X.value=Y.defaultValue,X;let $=Y.innerType._zod.run(X,W);if($ instanceof Promise)return $.then((J)=>xH(J,Y));return xH($,Y)}});function xH(Q,Y){if(Q.value===void 0)Q.value=Y.defaultValue;return Q}var YW=w("$ZodPrefault",(Q,Y)=>{G0.init(Q,Y),Q._zod.optin="optional",V0(Q._zod,"values",()=>Y.innerType._zod.values),Q._zod.parse=(X,W)=>{if(X.value===void 0)X.value=Y.defaultValue;return Y.innerType._zod.run(X,W)}}),XW=w("$ZodNonOptional",(Q,Y)=>{G0.init(Q,Y),V0(Q._zod,"values",()=>{let X=Y.innerType._zod.values;return X?new Set([...X].filter((W)=>W!==void 0)):void 0}),Q._zod.parse=(X,W)=>{let $=Y.innerType._zod.run(X,W);if($ instanceof Promise)return $.then((J)=>yH(J,Q));return yH($,Q)}});function yH(Q,Y){if(!Q.issues.length&&Q.value===void 0)Q.issues.push({code:"invalid_type",expected:"nonoptional",input:Q.value,inst:Y});return Q}var WW=w("$ZodCatch",(Q,Y)=>{G0.init(Q,Y),Q._zod.optin="optional",V0(Q._zod,"optout",()=>Y.innerType._zod.optout),V0(Q._zod,"values",()=>Y.innerType._zod.values),Q._zod.parse=(X,W)=>{let $=Y.innerType._zod.run(X,W);if($ instanceof Promise)return $.then((J)=>{if(X.value=J.value,J.issues.length)X.value=Y.catchValue({...X,error:{issues:J.issues.map((G)=>M1(G,W,t0()))},input:X.value}),X.issues=[];return X});if(X.value=$.value,$.issues.length)X.value=Y.catchValue({...X,error:{issues:$.issues.map((J)=>M1(J,W,t0()))},input:X.value}),X.issues=[];return X}});var $W=w("$ZodPipe",(Q,Y)=>{G0.init(Q,Y),V0(Q._zod,"values",()=>Y.in._zod.values),V0(Q._zod,"optin",()=>Y.in._zod.optin),V0(Q._zod,"optout",()=>Y.out._zod.optout),Q._zod.parse=(X,W)=>{let $=Y.in._zod.run(X,W);if($ instanceof Promise)return $.then((J)=>fH(J,Y,W));return fH($,Y,W)}});function fH(Q,Y,X){if(r6(Q))return Q;return Y.out._zod.run({value:Q.value,issues:Q.issues},X)}var JW=w("$ZodReadonly",(Q,Y)=>{G0.init(Q,Y),V0(Q._zod,"propValues",()=>Y.innerType._zod.propValues),V0(Q._zod,"values",()=>Y.innerType._zod.values),V0(Q._zod,"optin",()=>Y.innerType._zod.optin),V0(Q._zod,"optout",()=>Y.innerType._zod.optout),Q._zod.parse=(X,W)=>{let $=Y.innerType._zod.run(X,W);if($ instanceof Promise)return $.then(gH);return gH($)}});function gH(Q){return Q.value=Object.freeze(Q.value),Q}var GW=w("$ZodCustom",(Q,Y)=>{k0.init(Q,Y),G0.init(Q,Y),Q._zod.parse=(X,W)=>{return X},Q._zod.check=(X)=>{let W=X.value,$=Y.fn(W);if($ instanceof Promise)return $.then((J)=>hH(J,X,W,Q));hH($,X,W,Q);return}});function hH(Q,Y,X,W){if(!Q){let $={code:"custom",input:X,inst:W,path:[...W._zod.def.path??[]],continue:!W._zod.def.abort};if(W._zod.def.params)$.params=W._zod.def.params;Y.issues.push(J7($))}}var ww=(Q)=>{let Y=typeof Q;switch(Y){case"number":return Number.isNaN(Q)?"NaN":"number";case"object":{if(Array.isArray(Q))return"array";if(Q===null)return"null";if(Object.getPrototypeOf(Q)!==Object.prototype&&Q.constructor)return Q.constructor.name}}return Y},Nw=()=>{let Q={string:{unit:"characters",verb:"to have"},file:{unit:"bytes",verb:"to have"},array:{unit:"items",verb:"to have"},set:{unit:"items",verb:"to have"}};function Y(W){return Q[W]??null}let X={regex:"input",email:"email address",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO datetime",date:"ISO date",time:"ISO time",duration:"ISO duration",ipv4:"IPv4 address",ipv6:"IPv6 address",cidrv4:"IPv4 range",cidrv6:"IPv6 range",base64:"base64-encoded string",base64url:"base64url-encoded string",json_string:"JSON string",e164:"E.164 number",jwt:"JWT",template_literal:"input"};return(W)=>{switch(W.code){case"invalid_type":return`Invalid input: expected ${W.expected}, received ${ww(W.input)}`;case"invalid_value":if(W.values.length===1)return`Invalid input: expected ${zQ(W.values[0])}`;return`Invalid option: expected one of ${HQ(W.values,"|")}`;case"too_big":{let $=W.inclusive?"<=":"<",J=Y(W.origin);if(J)return`Too big: expected ${W.origin??"value"} to have ${$}${W.maximum.toString()} ${J.unit??"elements"}`;return`Too big: expected ${W.origin??"value"} to be ${$}${W.maximum.toString()}`}case"too_small":{let $=W.inclusive?">=":">",J=Y(W.origin);if(J)return`Too small: expected ${W.origin} to have ${$}${W.minimum.toString()} ${J.unit}`;return`Too small: expected ${W.origin} to be ${$}${W.minimum.toString()}`}case"invalid_format":{let $=W;if($.format==="starts_with")return`Invalid string: must start with "${$.prefix}"`;if($.format==="ends_with")return`Invalid string: must end with "${$.suffix}"`;if($.format==="includes")return`Invalid string: must include "${$.includes}"`;if($.format==="regex")return`Invalid string: must match pattern ${$.pattern}`;return`Invalid ${X[$.format]??W.format}`}case"not_multiple_of":return`Invalid number: must be a multiple of ${W.divisor}`;case"unrecognized_keys":return`Unrecognized key${W.keys.length>1?"s":""}: ${HQ(W.keys,", ")}`;case"invalid_key":return`Invalid key in ${W.origin}`;case"invalid_union":return"Invalid input";case"invalid_element":return`Invalid value in ${W.origin}`;default:return"Invalid input"}}};function HW(){return{localeError:Nw()}}var dH=Symbol("ZodOutput"),iH=Symbol("ZodInput");class LQ{constructor(){this._map=new Map,this._idmap=new Map}add(Q,...Y){let X=Y[0];if(this._map.set(Q,X),X&&typeof X==="object"&&"id"in X){if(this._idmap.has(X.id))throw Error(`ID ${X.id} already exists in the registry`);this._idmap.set(X.id,Q)}return this}clear(){return this._map=new Map,this._idmap=new Map,this}remove(Q){let Y=this._map.get(Q);if(Y&&typeof Y==="object"&&"id"in Y)this._idmap.delete(Y.id);return this._map.delete(Q),this}get(Q){let Y=Q._zod.parent;if(Y){let X={...this.get(Y)??{}};return delete X.id,{...X,...this._map.get(Q)}}return this._map.get(Q)}has(Q){return this._map.has(Q)}}function BW(){return new LQ}var a1=BW();function zW(Q,Y){return new Q({type:"string",...g(Y)})}function nH(Q,Y){return new Q({type:"string",coerce:!0,...g(Y)})}function KW(Q,Y){return new Q({type:"string",format:"email",check:"string_format",abort:!1,...g(Y)})}function UQ(Q,Y){return new Q({type:"string",format:"guid",check:"string_format",abort:!1,...g(Y)})}function VW(Q,Y){return new Q({type:"string",format:"uuid",check:"string_format",abort:!1,...g(Y)})}function FW(Q,Y){return new Q({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v4",...g(Y)})}function AW(Q,Y){return new Q({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v6",...g(Y)})}function qW(Q,Y){return new Q({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v7",...g(Y)})}function jQ(Q,Y){return new Q({type:"string",format:"url",check:"string_format",abort:!1,...g(Y)})}function DW(Q,Y){return new Q({type:"string",format:"emoji",check:"string_format",abort:!1,...g(Y)})}function OW(Q,Y){return new Q({type:"string",format:"nanoid",check:"string_format",abort:!1,...g(Y)})}function LW(Q,Y){return new Q({type:"string",format:"cuid",check:"string_format",abort:!1,...g(Y)})}function UW(Q,Y){return new Q({type:"string",format:"cuid2",check:"string_format",abort:!1,...g(Y)})}function jW(Q,Y){return new Q({type:"string",format:"ulid",check:"string_format",abort:!1,...g(Y)})}function wW(Q,Y){return new Q({type:"string",format:"xid",check:"string_format",abort:!1,...g(Y)})}function NW(Q,Y){return new Q({type:"string",format:"ksuid",check:"string_format",abort:!1,...g(Y)})}function MW(Q,Y){return new Q({type:"string",format:"ipv4",check:"string_format",abort:!1,...g(Y)})}function bW(Q,Y){return new Q({type:"string",format:"ipv6",check:"string_format",abort:!1,...g(Y)})}function PW(Q,Y){return new Q({type:"string",format:"cidrv4",check:"string_format",abort:!1,...g(Y)})}function ZW(Q,Y){return new Q({type:"string",format:"cidrv6",check:"string_format",abort:!1,...g(Y)})}function RW(Q,Y){return new Q({type:"string",format:"base64",check:"string_format",abort:!1,...g(Y)})}function EW(Q,Y){return new Q({type:"string",format:"base64url",check:"string_format",abort:!1,...g(Y)})}function IW(Q,Y){return new Q({type:"string",format:"e164",check:"string_format",abort:!1,...g(Y)})}function SW(Q,Y){return new Q({type:"string",format:"jwt",check:"string_format",abort:!1,...g(Y)})}function oH(Q,Y){return new Q({type:"string",format:"datetime",check:"string_format",offset:!1,local:!1,precision:null,...g(Y)})}function rH(Q,Y){return new Q({type:"string",format:"date",check:"string_format",...g(Y)})}function tH(Q,Y){return new Q({type:"string",format:"time",check:"string_format",precision:null,...g(Y)})}function aH(Q,Y){return new Q({type:"string",format:"duration",check:"string_format",...g(Y)})}function TW(Q,Y){return new Q({type:"number",checks:[],...g(Y)})}function sH(Q,Y){return new Q({type:"number",coerce:!0,checks:[],...g(Y)})}function CW(Q,Y){return new Q({type:"number",check:"number_format",abort:!1,format:"safeint",...g(Y)})}function kW(Q,Y){return new Q({type:"boolean",...g(Y)})}function eH(Q,Y){return new Q({type:"boolean",coerce:!0,...g(Y)})}function Q3(Q,Y){return new Q({type:"bigint",coerce:!0,...g(Y)})}function _W(Q,Y){return new Q({type:"null",...g(Y)})}function vW(Q){return new Q({type:"any"})}function xW(Q){return new Q({type:"unknown"})}function yW(Q,Y){return new Q({type:"never",...g(Y)})}function Y3(Q,Y){return new Q({type:"date",coerce:!0,...g(Y)})}function g9(Q,Y){return new q7({check:"less_than",...g(Y),value:Q,inclusive:!1})}function s1(Q,Y){return new q7({check:"less_than",...g(Y),value:Q,inclusive:!0})}function h9(Q,Y){return new D7({check:"greater_than",...g(Y),value:Q,inclusive:!1})}function b1(Q,Y){return new D7({check:"greater_than",...g(Y),value:Q,inclusive:!0})}function m8(Q,Y){return new LH({check:"multiple_of",...g(Y),value:Q})}function wQ(Q,Y){return new jH({check:"max_length",...g(Y),maximum:Q})}function u9(Q,Y){return new wH({check:"min_length",...g(Y),minimum:Q})}function NQ(Q,Y){return new NH({check:"length_equals",...g(Y),length:Q})}function fW(Q,Y){return new MH({check:"string_format",format:"regex",...g(Y),pattern:Q})}function gW(Q){return new bH({check:"string_format",format:"lowercase",...g(Q)})}function hW(Q){return new PH({check:"string_format",format:"uppercase",...g(Q)})}function uW(Q,Y){return new ZH({check:"string_format",format:"includes",...g(Y),includes:Q})}function lW(Q,Y){return new RH({check:"string_format",format:"starts_with",...g(Y),prefix:Q})}function mW(Q,Y){return new EH({check:"string_format",format:"ends_with",...g(Y),suffix:Q})}function s6(Q){return new IH({check:"overwrite",tx:Q})}function cW(Q){return s6((Y)=>Y.normalize(Q))}function pW(){return s6((Q)=>Q.trim())}function dW(){return s6((Q)=>Q.toLowerCase())}function iW(){return s6((Q)=>Q.toUpperCase())}function X3(Q,Y,X){return new Q({type:"array",element:Y,...g(X)})}function nW(Q,Y,X){let W=g(X);return W.abort??(W.abort=!0),new Q({type:"custom",check:"custom",fn:Y,...W})}function oW(Q,Y,X){return new Q({type:"custom",check:"custom",fn:Y,...g(X)})}class rW{constructor(Q){this.counter=0,this.metadataRegistry=Q?.metadata??a1,this.target=Q?.target??"draft-2020-12",this.unrepresentable=Q?.unrepresentable??"throw",this.override=Q?.override??(()=>{}),this.io=Q?.io??"output",this.seen=new Map}process(Q,Y={path:[],schemaPath:[]}){var X;let W=Q._zod.def,$={guid:"uuid",url:"uri",datetime:"date-time",json_string:"json-string",regex:""},J=this.seen.get(Q);if(J){if(J.count++,Y.schemaPath.includes(Q))J.cycle=Y.path;return J.schema}let G={schema:{},count:1,cycle:void 0,path:Y.path};this.seen.set(Q,G);let H=Q._zod.toJSONSchema?.();if(H)G.schema=H;else{let K={...Y,schemaPath:[...Y.schemaPath,Q],path:Y.path},V=Q._zod.parent;if(V)G.ref=V,this.process(V,K),this.seen.get(V).isParent=!0;else{let q=G.schema;switch(W.type){case"string":{let F=q;F.type="string";let{minimum:A,maximum:D,format:O,patterns:L,contentEncoding:N}=Q._zod.bag;if(typeof A==="number")F.minLength=A;if(typeof D==="number")F.maxLength=D;if(O){if(F.format=$[O]??O,F.format==="")delete F.format}if(N)F.contentEncoding=N;if(L&&L.size>0){let M=[...L];if(M.length===1)F.pattern=M[0].source;else if(M.length>1)G.schema.allOf=[...M.map((C)=>({...this.target==="draft-7"?{type:"string"}:{},pattern:C.source}))]}break}case"number":{let F=q,{minimum:A,maximum:D,format:O,multipleOf:L,exclusiveMaximum:N,exclusiveMinimum:M}=Q._zod.bag;if(typeof O==="string"&&O.includes("int"))F.type="integer";else F.type="number";if(typeof M==="number")F.exclusiveMinimum=M;if(typeof A==="number"){if(F.minimum=A,typeof M==="number")if(M>=A)delete F.minimum;else delete F.exclusiveMinimum}if(typeof N==="number")F.exclusiveMaximum=N;if(typeof D==="number"){if(F.maximum=D,typeof N==="number")if(N<=D)delete F.maximum;else delete F.exclusiveMaximum}if(typeof L==="number")F.multipleOf=L;break}case"boolean":{let F=q;F.type="boolean";break}case"bigint":{if(this.unrepresentable==="throw")throw Error("BigInt cannot be represented in JSON Schema");break}case"symbol":{if(this.unrepresentable==="throw")throw Error("Symbols cannot be represented in JSON Schema");break}case"null":{q.type="null";break}case"any":break;case"unknown":break;case"undefined":{if(this.unrepresentable==="throw")throw Error("Undefined cannot be represented in JSON Schema");break}case"void":{if(this.unrepresentable==="throw")throw Error("Void cannot be represented in JSON Schema");break}case"never":{q.not={};break}case"date":{if(this.unrepresentable==="throw")throw Error("Date cannot be represented in JSON Schema");break}case"array":{let F=q,{minimum:A,maximum:D}=Q._zod.bag;if(typeof A==="number")F.minItems=A;if(typeof D==="number")F.maxItems=D;F.type="array",F.items=this.process(W.element,{...K,path:[...K.path,"items"]});break}case"object":{let F=q;F.type="object",F.properties={};let A=W.shape;for(let L in A)F.properties[L]=this.process(A[L],{...K,path:[...K.path,"properties",L]});let D=new Set(Object.keys(A)),O=new Set([...D].filter((L)=>{let N=W.shape[L]._zod;if(this.io==="input")return N.optin===void 0;else return N.optout===void 0}));if(O.size>0)F.required=Array.from(O);if(W.catchall?._zod.def.type==="never")F.additionalProperties=!1;else if(!W.catchall){if(this.io==="output")F.additionalProperties=!1}else if(W.catchall)F.additionalProperties=this.process(W.catchall,{...K,path:[...K.path,"additionalProperties"]});break}case"union":{let F=q;F.anyOf=W.options.map((A,D)=>this.process(A,{...K,path:[...K.path,"anyOf",D]}));break}case"intersection":{let F=q,A=this.process(W.left,{...K,path:[...K.path,"allOf",0]}),D=this.process(W.right,{...K,path:[...K.path,"allOf",1]}),O=(N)=>("allOf"in N)&&Object.keys(N).length===1,L=[...O(A)?A.allOf:[A],...O(D)?D.allOf:[D]];F.allOf=L;break}case"tuple":{let F=q;F.type="array";let A=W.items.map((L,N)=>this.process(L,{...K,path:[...K.path,"prefixItems",N]}));if(this.target==="draft-2020-12")F.prefixItems=A;else F.items=A;if(W.rest){let L=this.process(W.rest,{...K,path:[...K.path,"items"]});if(this.target==="draft-2020-12")F.items=L;else F.additionalItems=L}if(W.rest)F.items=this.process(W.rest,{...K,path:[...K.path,"items"]});let{minimum:D,maximum:O}=Q._zod.bag;if(typeof D==="number")F.minItems=D;if(typeof O==="number")F.maxItems=O;break}case"record":{let F=q;F.type="object",F.propertyNames=this.process(W.keyType,{...K,path:[...K.path,"propertyNames"]}),F.additionalProperties=this.process(W.valueType,{...K,path:[...K.path,"additionalProperties"]});break}case"map":{if(this.unrepresentable==="throw")throw Error("Map cannot be represented in JSON Schema");break}case"set":{if(this.unrepresentable==="throw")throw Error("Set cannot be represented in JSON Schema");break}case"enum":{let F=q,A=_8(W.entries);if(A.every((D)=>typeof D==="number"))F.type="number";if(A.every((D)=>typeof D==="string"))F.type="string";F.enum=A;break}case"literal":{let F=q,A=[];for(let D of W.values)if(D===void 0){if(this.unrepresentable==="throw")throw Error("Literal `undefined` cannot be represented in JSON Schema")}else if(typeof D==="bigint")if(this.unrepresentable==="throw")throw Error("BigInt literals cannot be represented in JSON Schema");else A.push(Number(D));else A.push(D);if(A.length===0);else if(A.length===1){let D=A[0];F.type=D===null?"null":typeof D,F.const=D}else{if(A.every((D)=>typeof D==="number"))F.type="number";if(A.every((D)=>typeof D==="string"))F.type="string";if(A.every((D)=>typeof D==="boolean"))F.type="string";if(A.every((D)=>D===null))F.type="null";F.enum=A}break}case"file":{let F=q,A={type:"string",format:"binary",contentEncoding:"binary"},{minimum:D,maximum:O,mime:L}=Q._zod.bag;if(D!==void 0)A.minLength=D;if(O!==void 0)A.maxLength=O;if(L)if(L.length===1)A.contentMediaType=L[0],Object.assign(F,A);else F.anyOf=L.map((N)=>{return{...A,contentMediaType:N}});else Object.assign(F,A);break}case"transform":{if(this.unrepresentable==="throw")throw Error("Transforms cannot be represented in JSON Schema");break}case"nullable":{let F=this.process(W.innerType,K);q.anyOf=[F,{type:"null"}];break}case"nonoptional":{this.process(W.innerType,K),G.ref=W.innerType;break}case"success":{let F=q;F.type="boolean";break}case"default":{this.process(W.innerType,K),G.ref=W.innerType,q.default=JSON.parse(JSON.stringify(W.defaultValue));break}case"prefault":{if(this.process(W.innerType,K),G.ref=W.innerType,this.io==="input")q._prefault=JSON.parse(JSON.stringify(W.defaultValue));break}case"catch":{this.process(W.innerType,K),G.ref=W.innerType;let F;try{F=W.catchValue(void 0)}catch{throw Error("Dynamic catch values are not supported in JSON Schema")}q.default=F;break}case"nan":{if(this.unrepresentable==="throw")throw Error("NaN cannot be represented in JSON Schema");break}case"template_literal":{let F=q,A=Q._zod.pattern;if(!A)throw Error("Pattern not found in template literal");F.type="string",F.pattern=A.source;break}case"pipe":{let F=this.io==="input"?W.in._zod.def.type==="transform"?W.out:W.in:W.out;this.process(F,K),G.ref=F;break}case"readonly":{this.process(W.innerType,K),G.ref=W.innerType,q.readOnly=!0;break}case"promise":{this.process(W.innerType,K),G.ref=W.innerType;break}case"optional":{this.process(W.innerType,K),G.ref=W.innerType;break}case"lazy":{let F=Q._zod.innerType;this.process(F,K),G.ref=F;break}case"custom":{if(this.unrepresentable==="throw")throw Error("Custom types cannot be represented in JSON Schema");break}default:}}}let B=this.metadataRegistry.get(Q);if(B)Object.assign(G.schema,B);if(this.io==="input"&&S0(Q))delete G.schema.examples,delete G.schema.default;if(this.io==="input"&&G.schema._prefault)(X=G.schema).default??(X.default=G.schema._prefault);return delete G.schema._prefault,this.seen.get(Q).schema}emit(Q,Y){let X={cycles:Y?.cycles??"ref",reused:Y?.reused??"inline",external:Y?.external??void 0},W=this.seen.get(Q);if(!W)throw Error("Unprocessed schema. This is a bug in Zod.");let $=(z)=>{let K=this.target==="draft-2020-12"?"$defs":"definitions";if(X.external){let A=X.external.registry.get(z[0])?.id,D=X.external.uri??((L)=>L);if(A)return{ref:D(A)};let O=z[1].defId??z[1].schema.id??`schema${this.counter++}`;return z[1].defId=O,{defId:O,ref:`${D("__shared")}#/${K}/${O}`}}if(z[1]===W)return{ref:"#"};let q=`${"#"}/${K}/`,F=z[1].schema.id??`__schema${this.counter++}`;return{defId:F,ref:q+F}},J=(z)=>{if(z[1].schema.$ref)return;let K=z[1],{ref:V,defId:q}=$(z);if(K.def={...K.schema},q)K.defId=q;let F=K.schema;for(let A in F)delete F[A];F.$ref=V};if(X.cycles==="throw")for(let z of this.seen.entries()){let K=z[1];if(K.cycle)throw Error(`Cycle detected: #/${K.cycle?.join("/")}/<root>
42
42
 
43
- Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.`)}for(let z of this.seen.entries()){let K=z[1];if(Q===z[0]){J(z);continue}if(Y.external){let q=Y.external.registry.get(z[0])?.id;if(Q!==z[0]&&q){J(z);continue}}if(this.metadataRegistry.get(z[0])?.id){J(z);continue}if(K.cycle){J(z);continue}if(K.count>1){if(Y.reused==="ref"){J(z);continue}}}let G=(z,K)=>{let V=this.seen.get(z),q=V.def??V.schema,F={...q};if(V.ref===null)return;let A=V.ref;if(V.ref=null,A){G(A,K);let D=this.seen.get(A).schema;if(D.$ref&&K.target==="draft-7")q.allOf=q.allOf??[],q.allOf.push(D);else Object.assign(q,D),Object.assign(q,F)}if(!V.isParent)this.override({zodSchema:z,jsonSchema:q,path:V.path??[]})};for(let z of[...this.seen.entries()].reverse())G(z[0],{target:this.target});let H={};if(this.target==="draft-2020-12")H.$schema="https://json-schema.org/draft/2020-12/schema";else if(this.target==="draft-7")H.$schema="http://json-schema.org/draft-07/schema#";else console.warn(`Invalid target: ${this.target}`);if(Y.external?.uri){let z=Y.external.registry.get(Q)?.id;if(!z)throw Error("Schema is missing an `id` property");H.$id=Y.external.uri(z)}Object.assign(H,W.def);let B=Y.external?.defs??{};for(let z of this.seen.entries()){let K=z[1];if(K.def&&K.defId)B[K.defId]=K.def}if(Y.external);else if(Object.keys(B).length>0)if(this.target==="draft-2020-12")H.$defs=B;else H.definitions=B;try{return JSON.parse(JSON.stringify(H))}catch(z){throw Error("Error converting schema to JSON.")}}}function UQ(Q,X){if(Q instanceof AQ){let W=new lW(X),$={};for(let H of Q._idmap.entries()){let[B,z]=H;W.process(z)}let J={},G={registry:Q,uri:X?.uri,defs:$};for(let H of Q._idmap.entries()){let[B,z]=H;J[B]=W.emit(z,{...X,external:G})}if(Object.keys($).length>0){let H=W.target==="draft-2020-12"?"$defs":"definitions";J.__shared={[H]:$}}return{schemas:J}}let Y=new lW(X);return Y.process(Q),Y.emit(Q,X)}function I0(Q,X){let Y=X??{seen:new Set};if(Y.seen.has(Q))return!1;Y.seen.add(Q);let $=Q._zod.def;switch($.type){case"string":case"number":case"bigint":case"boolean":case"date":case"symbol":case"undefined":case"null":case"any":case"unknown":case"never":case"void":case"literal":case"enum":case"nan":case"file":case"template_literal":return!1;case"array":return I0($.element,Y);case"object":{for(let J in $.shape)if(I0($.shape[J],Y))return!0;return!1}case"union":{for(let J of $.options)if(I0(J,Y))return!0;return!1}case"intersection":return I0($.left,Y)||I0($.right,Y);case"tuple":{for(let J of $.items)if(I0(J,Y))return!0;if($.rest&&I0($.rest,Y))return!0;return!1}case"record":return I0($.keyType,Y)||I0($.valueType,Y);case"map":return I0($.keyType,Y)||I0($.valueType,Y);case"set":return I0($.valueType,Y);case"promise":case"optional":case"nonoptional":case"nullable":case"readonly":return I0($.innerType,Y);case"lazy":return I0($.getter(),Y);case"default":return I0($.innerType,Y);case"prefault":return I0($.innerType,Y);case"custom":return!1;case"transform":return!0;case"pipe":return I0($.in,Y)||I0($.out,Y);case"success":return!1;case"catch":return!1;default:}throw Error(`Unknown schema type: ${$.type}`)}var IM=M("ZodMiniType",(Q,X)=>{if(!Q._zod)throw Error("Uninitialized schema in ZodMiniType.");G0.init(Q,X),Q.def=X,Q.parse=(Y,W)=>eY(Q,Y,W,{callee:Q.parse}),Q.safeParse=(Y,W)=>n6(Q,Y,W),Q.parseAsync=async(Y,W)=>X7(Q,Y,W,{callee:Q.parseAsync}),Q.safeParseAsync=async(Y,W)=>o6(Q,Y,W),Q.check=(...Y)=>{return Q.clone({...X,checks:[...X.checks??[],...Y.map((W)=>typeof W==="function"?{_zod:{check:W,def:{check:"custom"},onattach:[]}}:W)]})},Q.clone=(Y,W)=>a0(Q,Y,W),Q.brand=()=>Q,Q.register=(Y,W)=>{return Y.add(Q,W),Q}});var TM=M("ZodMiniObject",(Q,X)=>{VQ.init(Q,X),IM.init(Q,X),a.defineLazy(Q,"shape",()=>X.shape)});function mW(Q,X){let Y={type:"object",get shape(){return a.assignProp(this,"shape",{...Q}),this.shape},...a.normalizeParams(X)};return new TM(Y)}function s0(Q){return!!Q._zod}function t6(Q){let X=Object.values(Q);if(X.length===0)return mW({});let Y=X.every(s0),W=X.every(($)=>!s0($));if(Y)return mW(Q);if(W)return mY(Q);throw Error("Mixed Zod versions detected in object shape.")}function c0(Q,X){if(s0(Q))return n6(Q,X);return Q.safeParse(X)}async function jQ(Q,X){if(s0(Q))return await o6(Q,X);return await Q.safeParseAsync(X)}function c1(Q){if(!Q)return;let X;if(s0(Q))X=Q._zod?.def?.shape;else X=Q.shape;if(!X)return;if(typeof X==="function")try{return X()}catch{return}return X}function g9(Q){if(!Q)return;if(typeof Q==="object"){let X=Q,Y=Q;if(!X._def&&!Y._zod){let W=Object.values(Q);if(W.length>0&&W.every(($)=>typeof $==="object"&&$!==null&&($._def!==void 0||$._zod!==void 0||typeof $.parse==="function")))return t6(Q)}}if(s0(Q)){let Y=Q._zod?.def;if(Y&&(Y.type==="object"||Y.shape!==void 0))return Q}else if(Q.shape!==void 0)return Q;return}function MQ(Q){if(Q&&typeof Q==="object"){if("message"in Q&&typeof Q.message==="string")return Q.message;if("issues"in Q&&Array.isArray(Q.issues)&&Q.issues.length>0){let X=Q.issues[0];if(X&&typeof X==="object"&&"message"in X)return String(X.message)}try{return JSON.stringify(Q)}catch{return String(Q)}}return String(Q)}function pH(Q){return Q.description}function dH(Q){if(s0(Q))return Q._zod?.def?.type==="optional";let X=Q;if(typeof Q.isOptional==="function")return Q.isOptional();return X._def?.typeName==="ZodOptional"}function NQ(Q){if(s0(Q)){let J=Q._zod?.def;if(J){if(J.value!==void 0)return J.value;if(Array.isArray(J.values)&&J.values.length>0)return J.values[0]}}let Y=Q._def;if(Y){if(Y.value!==void 0)return Y.value;if(Array.isArray(Y.values)&&Y.values.length>0)return Y.values[0]}let W=Q.value;if(W!==void 0)return W;return}var h8={};t4(h8,{time:()=>dW,duration:()=>iW,datetime:()=>cW,date:()=>pW,ZodISOTime:()=>oH,ZodISODuration:()=>rH,ZodISODateTime:()=>iH,ZodISODate:()=>nH});var iH=M("ZodISODateTime",(Q,X)=>{RH.init(Q,X),O0.init(Q,X)});function cW(Q){return _H(iH,Q)}var nH=M("ZodISODate",(Q,X)=>{EH.init(Q,X),O0.init(Q,X)});function pW(Q){return xH(nH,Q)}var oH=M("ZodISOTime",(Q,X)=>{SH.init(Q,X),O0.init(Q,X)});function dW(Q){return yH(oH,Q)}var rH=M("ZodISODuration",(Q,X)=>{IH.init(Q,X),O0.init(Q,X)});function iW(Q){return fH(rH,Q)}var aH=(Q,X)=>{GQ.init(Q,X),Q.name="ZodError",Object.defineProperties(Q,{format:{value:(Y)=>BQ(Q,Y)},flatten:{value:(Y)=>HQ(Q,Y)},addIssue:{value:(Y)=>Q.issues.push(Y)},addIssues:{value:(Y)=>Q.issues.push(...Y)},isEmpty:{get(){return Q.issues.length===0}}})},gu=M("ZodError",aH),u8=M("ZodError",aH,{Parent:Error});var sH=sY(u8),eH=Q7(u8),Q3=Y7(u8),X3=W7(u8);var A0=M("ZodType",(Q,X)=>{return G0.init(Q,X),Q.def=X,Object.defineProperty(Q,"_def",{value:X}),Q.check=(...Y)=>{return Q.clone({...X,checks:[...X.checks??[],...Y.map((W)=>typeof W==="function"?{_zod:{check:W,def:{check:"custom"},onattach:[]}}:W)]})},Q.clone=(Y,W)=>a0(Q,Y,W),Q.brand=()=>Q,Q.register=(Y,W)=>{return Y.add(Q,W),Q},Q.parse=(Y,W)=>sH(Q,Y,W,{callee:Q.parse}),Q.safeParse=(Y,W)=>Q3(Q,Y,W),Q.parseAsync=async(Y,W)=>eH(Q,Y,W,{callee:Q.parseAsync}),Q.safeParseAsync=async(Y,W)=>X3(Q,Y,W),Q.spa=Q.safeParseAsync,Q.refine=(Y,W)=>Q.check(SN(Y,W)),Q.superRefine=(Y)=>Q.check(IN(Y)),Q.overwrite=(Y)=>Q.check(r6(Y)),Q.optional=()=>b0(Q),Q.nullable=()=>$3(Q),Q.nullish=()=>b0($3(Q)),Q.nonoptional=(Y)=>NN(Q,Y),Q.array=()=>E(Q),Q.or=(Y)=>q0([Q,Y]),Q.and=(Y)=>PQ(Q,Y),Q.transform=(Y)=>oW(Q,A3(Y)),Q.default=(Y)=>UN(Q,Y),Q.prefault=(Y)=>MN(Q,Y),Q.catch=(Y)=>bN(Q,Y),Q.pipe=(Y)=>oW(Q,Y),Q.readonly=()=>RN(Q),Q.describe=(Y)=>{let W=Q.clone();return a1.add(W,{description:Y}),W},Object.defineProperty(Q,"description",{get(){return a1.get(Q)?.description},configurable:!0}),Q.meta=(...Y)=>{if(Y.length===0)return a1.get(Q);let W=Q.clone();return a1.add(W,Y[0]),W},Q.isOptional=()=>Q.safeParse(void 0).success,Q.isNullable=()=>Q.safeParse(null).success,Q}),J3=M("_ZodString",(Q,X)=>{f8.init(Q,X),A0.init(Q,X);let Y=Q._zod.bag;Q.format=Y.format??null,Q.minLength=Y.minimum??null,Q.maxLength=Y.maximum??null,Q.regex=(...W)=>Q.check(IW(...W)),Q.includes=(...W)=>Q.check(kW(...W)),Q.startsWith=(...W)=>Q.check(vW(...W)),Q.endsWith=(...W)=>Q.check(_W(...W)),Q.min=(...W)=>Q.check(f9(...W)),Q.max=(...W)=>Q.check(LQ(...W)),Q.length=(...W)=>Q.check(OQ(...W)),Q.nonempty=(...W)=>Q.check(f9(1,...W)),Q.lowercase=(W)=>Q.check(TW(W)),Q.uppercase=(W)=>Q.check(CW(W)),Q.trim=()=>Q.check(yW()),Q.normalize=(...W)=>Q.check(xW(...W)),Q.toLowerCase=()=>Q.check(fW()),Q.toUpperCase=()=>Q.check(gW())}),rW=M("ZodString",(Q,X)=>{f8.init(Q,X),J3.init(Q,X),Q.email=(Y)=>Q.check(YW(mM,Y)),Q.url=(Y)=>Q.check(DQ(G3,Y)),Q.jwt=(Y)=>Q.check(NW(WN,Y)),Q.emoji=(Y)=>Q.check(HW(cM,Y)),Q.guid=(Y)=>Q.check(qQ(Y3,Y)),Q.uuid=(Y)=>Q.check(WW(wQ,Y)),Q.uuidv4=(Y)=>Q.check($W(wQ,Y)),Q.uuidv6=(Y)=>Q.check(JW(wQ,Y)),Q.uuidv7=(Y)=>Q.check(GW(wQ,Y)),Q.nanoid=(Y)=>Q.check(BW(pM,Y)),Q.guid=(Y)=>Q.check(qQ(Y3,Y)),Q.cuid=(Y)=>Q.check(zW(dM,Y)),Q.cuid2=(Y)=>Q.check(KW(iM,Y)),Q.ulid=(Y)=>Q.check(VW(nM,Y)),Q.base64=(Y)=>Q.check(UW(QN,Y)),Q.base64url=(Y)=>Q.check(jW(XN,Y)),Q.xid=(Y)=>Q.check(FW(oM,Y)),Q.ksuid=(Y)=>Q.check(AW(rM,Y)),Q.ipv4=(Y)=>Q.check(qW(tM,Y)),Q.ipv6=(Y)=>Q.check(DW(aM,Y)),Q.cidrv4=(Y)=>Q.check(LW(sM,Y)),Q.cidrv6=(Y)=>Q.check(OW(eM,Y)),Q.e164=(Y)=>Q.check(MW(YN,Y)),Q.datetime=(Y)=>Q.check(cW(Y)),Q.date=(Y)=>Q.check(pW(Y)),Q.time=(Y)=>Q.check(dW(Y)),Q.duration=(Y)=>Q.check(iW(Y))});function U(Q){return XW(rW,Q)}var O0=M("ZodStringFormat",(Q,X)=>{F0.init(Q,X),J3.init(Q,X)}),mM=M("ZodEmail",(Q,X)=>{F7.init(Q,X),O0.init(Q,X)});var Y3=M("ZodGUID",(Q,X)=>{K7.init(Q,X),O0.init(Q,X)});var wQ=M("ZodUUID",(Q,X)=>{V7.init(Q,X),O0.init(Q,X)});var G3=M("ZodURL",(Q,X)=>{A7.init(Q,X),O0.init(Q,X)});function H3(Q){return DQ(G3,Q)}var cM=M("ZodEmoji",(Q,X)=>{q7.init(Q,X),O0.init(Q,X)});var pM=M("ZodNanoID",(Q,X)=>{D7.init(Q,X),O0.init(Q,X)});var dM=M("ZodCUID",(Q,X)=>{L7.init(Q,X),O0.init(Q,X)});var iM=M("ZodCUID2",(Q,X)=>{O7.init(Q,X),O0.init(Q,X)});var nM=M("ZodULID",(Q,X)=>{U7.init(Q,X),O0.init(Q,X)});var oM=M("ZodXID",(Q,X)=>{j7.init(Q,X),O0.init(Q,X)});var rM=M("ZodKSUID",(Q,X)=>{M7.init(Q,X),O0.init(Q,X)});var tM=M("ZodIPv4",(Q,X)=>{N7.init(Q,X),O0.init(Q,X)});var aM=M("ZodIPv6",(Q,X)=>{w7.init(Q,X),O0.init(Q,X)});var sM=M("ZodCIDRv4",(Q,X)=>{b7.init(Q,X),O0.init(Q,X)});var eM=M("ZodCIDRv6",(Q,X)=>{P7.init(Q,X),O0.init(Q,X)});var QN=M("ZodBase64",(Q,X)=>{Z7.init(Q,X),O0.init(Q,X)});var XN=M("ZodBase64URL",(Q,X)=>{R7.init(Q,X),O0.init(Q,X)});var YN=M("ZodE164",(Q,X)=>{E7.init(Q,X),O0.init(Q,X)});var WN=M("ZodJWT",(Q,X)=>{S7.init(Q,X),O0.init(Q,X)});var bQ=M("ZodNumber",(Q,X)=>{KQ.init(Q,X),A0.init(Q,X),Q.gt=(W,$)=>Q.check(y9(W,$)),Q.gte=(W,$)=>Q.check(b1(W,$)),Q.min=(W,$)=>Q.check(b1(W,$)),Q.lt=(W,$)=>Q.check(x9(W,$)),Q.lte=(W,$)=>Q.check(s1(W,$)),Q.max=(W,$)=>Q.check(s1(W,$)),Q.int=(W)=>Q.check(W3(W)),Q.safe=(W)=>Q.check(W3(W)),Q.positive=(W)=>Q.check(y9(0,W)),Q.nonnegative=(W)=>Q.check(b1(0,W)),Q.negative=(W)=>Q.check(x9(0,W)),Q.nonpositive=(W)=>Q.check(s1(0,W)),Q.multipleOf=(W,$)=>Q.check(g8(W,$)),Q.step=(W,$)=>Q.check(g8(W,$)),Q.finite=()=>Q;let Y=Q._zod.bag;Q.minValue=Math.max(Y.minimum??Number.NEGATIVE_INFINITY,Y.exclusiveMinimum??Number.NEGATIVE_INFINITY)??null,Q.maxValue=Math.min(Y.maximum??Number.POSITIVE_INFINITY,Y.exclusiveMaximum??Number.POSITIVE_INFINITY)??null,Q.isInt=(Y.format??"").includes("int")||Number.isSafeInteger(Y.multipleOf??0.5),Q.isFinite=!0,Q.format=Y.format??null});function J0(Q){return wW(bQ,Q)}var $N=M("ZodNumberFormat",(Q,X)=>{I7.init(Q,X),bQ.init(Q,X)});function W3(Q){return bW($N,Q)}var tW=M("ZodBoolean",(Q,X)=>{T7.init(Q,X),A0.init(Q,X)});function H0(Q){return PW(tW,Q)}var B3=M("ZodBigInt",(Q,X)=>{C7.init(Q,X),A0.init(Q,X),Q.gte=(W,$)=>Q.check(b1(W,$)),Q.min=(W,$)=>Q.check(b1(W,$)),Q.gt=(W,$)=>Q.check(y9(W,$)),Q.gte=(W,$)=>Q.check(b1(W,$)),Q.min=(W,$)=>Q.check(b1(W,$)),Q.lt=(W,$)=>Q.check(x9(W,$)),Q.lte=(W,$)=>Q.check(s1(W,$)),Q.max=(W,$)=>Q.check(s1(W,$)),Q.positive=(W)=>Q.check(y9(BigInt(0),W)),Q.negative=(W)=>Q.check(x9(BigInt(0),W)),Q.nonpositive=(W)=>Q.check(s1(BigInt(0),W)),Q.nonnegative=(W)=>Q.check(b1(BigInt(0),W)),Q.multipleOf=(W,$)=>Q.check(g8(W,$));let Y=Q._zod.bag;Q.minValue=Y.minimum??null,Q.maxValue=Y.maximum??null,Q.format=Y.format??null});var JN=M("ZodNull",(Q,X)=>{k7.init(Q,X),A0.init(Q,X)});function aW(Q){return ZW(JN,Q)}var GN=M("ZodAny",(Q,X)=>{v7.init(Q,X),A0.init(Q,X)});function z3(){return RW(GN)}var HN=M("ZodUnknown",(Q,X)=>{_7.init(Q,X),A0.init(Q,X)});function U0(){return EW(HN)}var BN=M("ZodNever",(Q,X)=>{x7.init(Q,X),A0.init(Q,X)});function zN(Q){return SW(BN,Q)}var K3=M("ZodDate",(Q,X)=>{y7.init(Q,X),A0.init(Q,X),Q.min=(W,$)=>Q.check(b1(W,$)),Q.max=(W,$)=>Q.check(s1(W,$));let Y=Q._zod.bag;Q.minDate=Y.minimum?new Date(Y.minimum):null,Q.maxDate=Y.maximum?new Date(Y.maximum):null});var KN=M("ZodArray",(Q,X)=>{f7.init(Q,X),A0.init(Q,X),Q.element=X.element,Q.min=(Y,W)=>Q.check(f9(Y,W)),Q.nonempty=(Y)=>Q.check(f9(1,Y)),Q.max=(Y,W)=>Q.check(LQ(Y,W)),Q.length=(Y,W)=>Q.check(OQ(Y,W)),Q.unwrap=()=>Q.element});function E(Q,X){return mH(KN,Q,X)}var V3=M("ZodObject",(Q,X)=>{VQ.init(Q,X),A0.init(Q,X),a.defineLazy(Q,"shape",()=>X.shape),Q.keyof=()=>e0(Object.keys(Q._zod.def.shape)),Q.catchall=(Y)=>Q.clone({...Q._zod.def,catchall:Y}),Q.passthrough=()=>Q.clone({...Q._zod.def,catchall:U0()}),Q.loose=()=>Q.clone({...Q._zod.def,catchall:U0()}),Q.strict=()=>Q.clone({...Q._zod.def,catchall:zN()}),Q.strip=()=>Q.clone({...Q._zod.def,catchall:void 0}),Q.extend=(Y)=>{return a.extend(Q,Y)},Q.merge=(Y)=>a.merge(Q,Y),Q.pick=(Y)=>a.pick(Q,Y),Q.omit=(Y)=>a.omit(Q,Y),Q.partial=(...Y)=>a.partial(q3,Q,Y[0]),Q.required=(...Y)=>a.required(D3,Q,Y[0])});function I(Q,X){let Y={type:"object",get shape(){return a.assignProp(this,"shape",{...Q}),this.shape},...a.normalizeParams(X)};return new V3(Y)}function T0(Q,X){return new V3({type:"object",get shape(){return a.assignProp(this,"shape",{...Q}),this.shape},catchall:U0(),...a.normalizeParams(X)})}var F3=M("ZodUnion",(Q,X)=>{FQ.init(Q,X),A0.init(Q,X),Q.options=X.options});function q0(Q,X){return new F3({type:"union",options:Q,...a.normalizeParams(X)})}var VN=M("ZodDiscriminatedUnion",(Q,X)=>{F3.init(Q,X),g7.init(Q,X)});function sW(Q,X,Y){return new VN({type:"union",options:X,discriminator:Q,...a.normalizeParams(Y)})}var FN=M("ZodIntersection",(Q,X)=>{h7.init(Q,X),A0.init(Q,X)});function PQ(Q,X){return new FN({type:"intersection",left:Q,right:X})}var AN=M("ZodRecord",(Q,X)=>{u7.init(Q,X),A0.init(Q,X),Q.keyType=X.keyType,Q.valueType=X.valueType});function j0(Q,X,Y){return new AN({type:"record",keyType:Q,valueType:X,...a.normalizeParams(Y)})}var nW=M("ZodEnum",(Q,X)=>{l7.init(Q,X),A0.init(Q,X),Q.enum=X.entries,Q.options=Object.values(X.entries);let Y=new Set(Object.keys(X.entries));Q.extract=(W,$)=>{let J={};for(let G of W)if(Y.has(G))J[G]=X.entries[G];else throw Error(`Key ${G} not found in enum`);return new nW({...X,checks:[],...a.normalizeParams($),entries:J})},Q.exclude=(W,$)=>{let J={...X.entries};for(let G of W)if(Y.has(G))delete J[G];else throw Error(`Key ${G} not found in enum`);return new nW({...X,checks:[],...a.normalizeParams($),entries:J})}});function e0(Q,X){let Y=Array.isArray(Q)?Object.fromEntries(Q.map((W)=>[W,W])):Q;return new nW({type:"enum",entries:Y,...a.normalizeParams(X)})}var qN=M("ZodLiteral",(Q,X)=>{m7.init(Q,X),A0.init(Q,X),Q.values=new Set(X.values),Object.defineProperty(Q,"value",{get(){if(X.values.length>1)throw Error("This schema contains multiple valid literal values. Use `.values` instead.");return X.values[0]}})});function _(Q,X){return new qN({type:"literal",values:Array.isArray(Q)?Q:[Q],...a.normalizeParams(X)})}var DN=M("ZodTransform",(Q,X)=>{c7.init(Q,X),A0.init(Q,X),Q._zod.parse=(Y,W)=>{Y.addIssue=(J)=>{if(typeof J==="string")Y.issues.push(a.issue(J,Y.value,X));else{let G=J;if(G.fatal)G.continue=!1;G.code??(G.code="custom"),G.input??(G.input=Y.value),G.inst??(G.inst=Q),G.continue??(G.continue=!0),Y.issues.push(a.issue(G))}};let $=X.transform(Y.value,Y);if($ instanceof Promise)return $.then((J)=>{return Y.value=J,Y});return Y.value=$,Y}});function A3(Q){return new DN({type:"transform",transform:Q})}var q3=M("ZodOptional",(Q,X)=>{p7.init(Q,X),A0.init(Q,X),Q.unwrap=()=>Q._zod.def.innerType});function b0(Q){return new q3({type:"optional",innerType:Q})}var LN=M("ZodNullable",(Q,X)=>{d7.init(Q,X),A0.init(Q,X),Q.unwrap=()=>Q._zod.def.innerType});function $3(Q){return new LN({type:"nullable",innerType:Q})}var ON=M("ZodDefault",(Q,X)=>{i7.init(Q,X),A0.init(Q,X),Q.unwrap=()=>Q._zod.def.innerType,Q.removeDefault=Q.unwrap});function UN(Q,X){return new ON({type:"default",innerType:Q,get defaultValue(){return typeof X==="function"?X():X}})}var jN=M("ZodPrefault",(Q,X)=>{n7.init(Q,X),A0.init(Q,X),Q.unwrap=()=>Q._zod.def.innerType});function MN(Q,X){return new jN({type:"prefault",innerType:Q,get defaultValue(){return typeof X==="function"?X():X}})}var D3=M("ZodNonOptional",(Q,X)=>{o7.init(Q,X),A0.init(Q,X),Q.unwrap=()=>Q._zod.def.innerType});function NN(Q,X){return new D3({type:"nonoptional",innerType:Q,...a.normalizeParams(X)})}var wN=M("ZodCatch",(Q,X)=>{r7.init(Q,X),A0.init(Q,X),Q.unwrap=()=>Q._zod.def.innerType,Q.removeCatch=Q.unwrap});function bN(Q,X){return new wN({type:"catch",innerType:Q,catchValue:typeof X==="function"?X:()=>X})}var PN=M("ZodPipe",(Q,X)=>{t7.init(Q,X),A0.init(Q,X),Q.in=X.in,Q.out=X.out});function oW(Q,X){return new PN({type:"pipe",in:Q,out:X})}var ZN=M("ZodReadonly",(Q,X)=>{a7.init(Q,X),A0.init(Q,X)});function RN(Q){return new ZN({type:"readonly",innerType:Q})}var L3=M("ZodCustom",(Q,X)=>{s7.init(Q,X),A0.init(Q,X)});function EN(Q){let X=new k0({check:"custom"});return X._zod.check=Q,X}function O3(Q,X){return hW(L3,Q??(()=>!0),X)}function SN(Q,X={}){return uW(L3,Q,X)}function IN(Q){let X=EN((Y)=>{return Y.addIssue=(W)=>{if(typeof W==="string")Y.issues.push(a.issue(W,Y.value,X._zod.def));else{let $=W;if($.fatal)$.continue=!1;$.code??($.code="custom"),$.input??($.input=Y.value),$.inst??($.inst=X),$.continue??($.continue=!X._zod.def.abort),Y.issues.push(a.issue($))}},Q(Y.value,Y)});return X}function eW(Q,X){return oW(A3(Q),X)}var U3={invalid_type:"invalid_type",too_big:"too_big",too_small:"too_small",invalid_format:"invalid_format",not_multiple_of:"not_multiple_of",unrecognized_keys:"unrecognized_keys",invalid_union:"invalid_union",invalid_key:"invalid_key",invalid_element:"invalid_element",invalid_value:"invalid_value",custom:"custom"};var ZQ={};t4(ZQ,{string:()=>TN,number:()=>CN,date:()=>_N,boolean:()=>kN,bigint:()=>vN});function TN(Q){return vH(rW,Q)}function CN(Q){return gH(bQ,Q)}function kN(Q){return hH(tW,Q)}function vN(Q){return uH(B3,Q)}function _N(Q){return lH(K3,Q)}t0(e7());var U6="2025-11-25";var EQ=[U6,"2025-06-18","2025-03-26","2024-11-05","2024-10-07"],j6="io.modelcontextprotocol/related-task",SQ="2.0",v0=O3((Q)=>Q!==null&&(typeof Q==="object"||typeof Q==="function")),j3=q0([U(),J0().int()]),M3=U(),su=T0({ttl:q0([J0(),aW()]).optional(),pollInterval:J0().optional()}),yN=I({ttl:J0().optional()}),fN=I({taskId:U()}),Q5=T0({progressToken:j3.optional(),[j6]:fN.optional()}),z1=I({_meta:Q5.optional()}),l8=z1.extend({task:yN.optional()}),N3=(Q)=>l8.safeParse(Q).success,_0=I({method:U(),params:z1.loose().optional()}),V1=I({_meta:Q5.optional()}),F1=I({method:U(),params:V1.loose().optional()}),x0=T0({_meta:Q5.optional()}),IQ=q0([U(),J0().int()]),w3=I({jsonrpc:_(SQ),id:IQ,..._0.shape}).strict(),m8=(Q)=>w3.safeParse(Q).success,b3=I({jsonrpc:_(SQ),...F1.shape}).strict(),P3=(Q)=>b3.safeParse(Q).success,X5=I({jsonrpc:_(SQ),id:IQ,result:x0}).strict(),a6=(Q)=>X5.safeParse(Q).success;var k;(function(Q){Q[Q.ConnectionClosed=-32000]="ConnectionClosed",Q[Q.RequestTimeout=-32001]="RequestTimeout",Q[Q.ParseError=-32700]="ParseError",Q[Q.InvalidRequest=-32600]="InvalidRequest",Q[Q.MethodNotFound=-32601]="MethodNotFound",Q[Q.InvalidParams=-32602]="InvalidParams",Q[Q.InternalError=-32603]="InternalError",Q[Q.UrlElicitationRequired=-32042]="UrlElicitationRequired"})(k||(k={}));var Y5=I({jsonrpc:_(SQ),id:IQ.optional(),error:I({code:J0().int(),message:U(),data:U0().optional()})}).strict();var Z3=(Q)=>Y5.safeParse(Q).success;var u9=q0([w3,b3,X5,Y5]),eu=q0([X5,Y5]),e1=x0.strict(),gN=V1.extend({requestId:IQ.optional(),reason:U().optional()}),TQ=F1.extend({method:_("notifications/cancelled"),params:gN}),hN=I({src:U(),mimeType:U().optional(),sizes:E(U()).optional(),theme:e0(["light","dark"]).optional()}),c8=I({icons:E(hN).optional()}),h9=I({name:U(),title:U().optional()}),R3=h9.extend({...h9.shape,...c8.shape,version:U(),websiteUrl:U().optional(),description:U().optional()}),uN=PQ(I({applyDefaults:H0().optional()}),j0(U(),U0())),lN=eW((Q)=>{if(Q&&typeof Q==="object"&&!Array.isArray(Q)){if(Object.keys(Q).length===0)return{form:{}}}return Q},PQ(I({form:uN.optional(),url:v0.optional()}),j0(U(),U0()).optional())),mN=T0({list:v0.optional(),cancel:v0.optional(),requests:T0({sampling:T0({createMessage:v0.optional()}).optional(),elicitation:T0({create:v0.optional()}).optional()}).optional()}),cN=T0({list:v0.optional(),cancel:v0.optional(),requests:T0({tools:T0({call:v0.optional()}).optional()}).optional()}),pN=I({experimental:j0(U(),v0).optional(),sampling:I({context:v0.optional(),tools:v0.optional()}).optional(),elicitation:lN.optional(),roots:I({listChanged:H0().optional()}).optional(),tasks:mN.optional()}),dN=z1.extend({protocolVersion:U(),capabilities:pN,clientInfo:R3}),W5=_0.extend({method:_("initialize"),params:dN});var iN=I({experimental:j0(U(),v0).optional(),logging:v0.optional(),completions:v0.optional(),prompts:I({listChanged:H0().optional()}).optional(),resources:I({subscribe:H0().optional(),listChanged:H0().optional()}).optional(),tools:I({listChanged:H0().optional()}).optional(),tasks:cN.optional()}),$5=x0.extend({protocolVersion:U(),capabilities:iN,serverInfo:R3,instructions:U().optional()}),CQ=F1.extend({method:_("notifications/initialized"),params:V1.optional()}),E3=(Q)=>CQ.safeParse(Q).success,kQ=_0.extend({method:_("ping"),params:z1.optional()}),nN=I({progress:J0(),total:b0(J0()),message:b0(U())}),oN=I({...V1.shape,...nN.shape,progressToken:j3}),vQ=F1.extend({method:_("notifications/progress"),params:oN}),rN=z1.extend({cursor:M3.optional()}),p8=_0.extend({params:rN.optional()}),d8=x0.extend({nextCursor:M3.optional()}),tN=e0(["working","input_required","completed","failed","cancelled"]),i8=I({taskId:U(),status:tN,ttl:q0([J0(),aW()]),createdAt:U(),lastUpdatedAt:U(),pollInterval:b0(J0()),statusMessage:b0(U())}),Q6=x0.extend({task:i8}),aN=V1.merge(i8),n8=F1.extend({method:_("notifications/tasks/status"),params:aN}),_Q=_0.extend({method:_("tasks/get"),params:z1.extend({taskId:U()})}),xQ=x0.merge(i8),yQ=_0.extend({method:_("tasks/result"),params:z1.extend({taskId:U()})}),Ql=x0.loose(),fQ=p8.extend({method:_("tasks/list")}),gQ=d8.extend({tasks:E(i8)}),hQ=_0.extend({method:_("tasks/cancel"),params:z1.extend({taskId:U()})}),S3=x0.merge(i8),I3=I({uri:U(),mimeType:b0(U()),_meta:j0(U(),U0()).optional()}),T3=I3.extend({text:U()}),J5=U().refine((Q)=>{try{return atob(Q),!0}catch{return!1}},{message:"Invalid Base64 string"}),C3=I3.extend({blob:J5}),o8=e0(["user","assistant"]),l9=I({audience:E(o8).optional(),priority:J0().min(0).max(1).optional(),lastModified:h8.datetime({offset:!0}).optional()}),k3=I({...h9.shape,...c8.shape,uri:U(),description:b0(U()),mimeType:b0(U()),annotations:l9.optional(),_meta:b0(T0({}))}),sN=I({...h9.shape,...c8.shape,uriTemplate:U(),description:b0(U()),mimeType:b0(U()),annotations:l9.optional(),_meta:b0(T0({}))}),uQ=p8.extend({method:_("resources/list")}),G5=d8.extend({resources:E(k3)}),lQ=p8.extend({method:_("resources/templates/list")}),H5=d8.extend({resourceTemplates:E(sN)}),B5=z1.extend({uri:U()}),eN=B5,mQ=_0.extend({method:_("resources/read"),params:eN}),z5=x0.extend({contents:E(q0([T3,C3]))}),s6=F1.extend({method:_("notifications/resources/list_changed"),params:V1.optional()}),Qw=B5,Xw=_0.extend({method:_("resources/subscribe"),params:Qw}),Yw=B5,Ww=_0.extend({method:_("resources/unsubscribe"),params:Yw}),$w=V1.extend({uri:U()}),r8=F1.extend({method:_("notifications/resources/updated"),params:$w}),Jw=I({name:U(),description:b0(U()),required:b0(H0())}),Gw=I({...h9.shape,...c8.shape,description:b0(U()),arguments:b0(E(Jw)),_meta:b0(T0({}))}),cQ=p8.extend({method:_("prompts/list")}),K5=d8.extend({prompts:E(Gw)}),Hw=z1.extend({name:U(),arguments:j0(U(),U()).optional()}),pQ=_0.extend({method:_("prompts/get"),params:Hw}),V5=I({type:_("text"),text:U(),annotations:l9.optional(),_meta:j0(U(),U0()).optional()}),F5=I({type:_("image"),data:J5,mimeType:U(),annotations:l9.optional(),_meta:j0(U(),U0()).optional()}),A5=I({type:_("audio"),data:J5,mimeType:U(),annotations:l9.optional(),_meta:j0(U(),U0()).optional()}),Bw=I({type:_("tool_use"),name:U(),id:U(),input:j0(U(),U0()),_meta:j0(U(),U0()).optional()}),zw=I({type:_("resource"),resource:q0([T3,C3]),annotations:l9.optional(),_meta:j0(U(),U0()).optional()}),Kw=k3.extend({type:_("resource_link")}),q5=q0([V5,F5,A5,Kw,zw]),Vw=I({role:o8,content:q5}),D5=x0.extend({description:U().optional(),messages:E(Vw)}),e6=F1.extend({method:_("notifications/prompts/list_changed"),params:V1.optional()}),Fw=I({title:U().optional(),readOnlyHint:H0().optional(),destructiveHint:H0().optional(),idempotentHint:H0().optional(),openWorldHint:H0().optional()}),Aw=I({taskSupport:e0(["required","optional","forbidden"]).optional()}),v3=I({...h9.shape,...c8.shape,description:U().optional(),inputSchema:I({type:_("object"),properties:j0(U(),v0).optional(),required:E(U()).optional()}).catchall(U0()),outputSchema:I({type:_("object"),properties:j0(U(),v0).optional(),required:E(U()).optional()}).catchall(U0()).optional(),annotations:Fw.optional(),execution:Aw.optional(),_meta:j0(U(),U0()).optional()}),dQ=p8.extend({method:_("tools/list")}),L5=d8.extend({tools:E(v3)}),M6=x0.extend({content:E(q5).default([]),structuredContent:j0(U(),U0()).optional(),isError:H0().optional()}),Xl=M6.or(x0.extend({toolResult:U0()})),qw=l8.extend({name:U(),arguments:j0(U(),U0()).optional()}),m9=_0.extend({method:_("tools/call"),params:qw}),Q9=F1.extend({method:_("notifications/tools/list_changed"),params:V1.optional()}),_3=I({autoRefresh:H0().default(!0),debounceMs:J0().int().nonnegative().default(300)}),t8=e0(["debug","info","notice","warning","error","critical","alert","emergency"]),Dw=z1.extend({level:t8}),O5=_0.extend({method:_("logging/setLevel"),params:Dw}),Lw=V1.extend({level:t8,logger:U().optional(),data:U0()}),a8=F1.extend({method:_("notifications/message"),params:Lw}),Ow=I({name:U().optional()}),Uw=I({hints:E(Ow).optional(),costPriority:J0().min(0).max(1).optional(),speedPriority:J0().min(0).max(1).optional(),intelligencePriority:J0().min(0).max(1).optional()}),jw=I({mode:e0(["auto","required","none"]).optional()}),Mw=I({type:_("tool_result"),toolUseId:U().describe("The unique identifier for the corresponding tool call."),content:E(q5).default([]),structuredContent:I({}).loose().optional(),isError:H0().optional(),_meta:j0(U(),U0()).optional()}),Nw=sW("type",[V5,F5,A5]),RQ=sW("type",[V5,F5,A5,Bw,Mw]),ww=I({role:o8,content:q0([RQ,E(RQ)]),_meta:j0(U(),U0()).optional()}),bw=l8.extend({messages:E(ww),modelPreferences:Uw.optional(),systemPrompt:U().optional(),includeContext:e0(["none","thisServer","allServers"]).optional(),temperature:J0().optional(),maxTokens:J0().int(),stopSequences:E(U()).optional(),metadata:v0.optional(),tools:E(v3).optional(),toolChoice:jw.optional()}),X9=_0.extend({method:_("sampling/createMessage"),params:bw}),s8=x0.extend({model:U(),stopReason:b0(e0(["endTurn","stopSequence","maxTokens"]).or(U())),role:o8,content:Nw}),U5=x0.extend({model:U(),stopReason:b0(e0(["endTurn","stopSequence","maxTokens","toolUse"]).or(U())),role:o8,content:q0([RQ,E(RQ)])}),Pw=I({type:_("boolean"),title:U().optional(),description:U().optional(),default:H0().optional()}),Zw=I({type:_("string"),title:U().optional(),description:U().optional(),minLength:J0().optional(),maxLength:J0().optional(),format:e0(["email","uri","date","date-time"]).optional(),default:U().optional()}),Rw=I({type:e0(["number","integer"]),title:U().optional(),description:U().optional(),minimum:J0().optional(),maximum:J0().optional(),default:J0().optional()}),Ew=I({type:_("string"),title:U().optional(),description:U().optional(),enum:E(U()),default:U().optional()}),Sw=I({type:_("string"),title:U().optional(),description:U().optional(),oneOf:E(I({const:U(),title:U()})),default:U().optional()}),Iw=I({type:_("string"),title:U().optional(),description:U().optional(),enum:E(U()),enumNames:E(U()).optional(),default:U().optional()}),Tw=q0([Ew,Sw]),Cw=I({type:_("array"),title:U().optional(),description:U().optional(),minItems:J0().optional(),maxItems:J0().optional(),items:I({type:_("string"),enum:E(U())}),default:E(U()).optional()}),kw=I({type:_("array"),title:U().optional(),description:U().optional(),minItems:J0().optional(),maxItems:J0().optional(),items:I({anyOf:E(I({const:U(),title:U()}))}),default:E(U()).optional()}),vw=q0([Cw,kw]),_w=q0([Iw,Tw,vw]),xw=q0([_w,Pw,Zw,Rw]),yw=l8.extend({mode:_("form").optional(),message:U(),requestedSchema:I({type:_("object"),properties:j0(U(),xw),required:E(U()).optional()})}),fw=l8.extend({mode:_("url"),message:U(),elicitationId:U(),url:U().url()}),gw=q0([yw,fw]),Y9=_0.extend({method:_("elicitation/create"),params:gw}),hw=V1.extend({elicitationId:U()}),uw=F1.extend({method:_("notifications/elicitation/complete"),params:hw}),c9=x0.extend({action:e0(["accept","decline","cancel"]),content:eW((Q)=>Q===null?void 0:Q,j0(U(),q0([U(),J0(),H0(),E(U())])).optional())}),lw=I({type:_("ref/resource"),uri:U()});var mw=I({type:_("ref/prompt"),name:U()}),cw=z1.extend({ref:q0([mw,lw]),argument:I({name:U(),value:U()}),context:I({arguments:j0(U(),U()).optional()}).optional()}),iQ=_0.extend({method:_("completion/complete"),params:cw});function x3(Q){if(Q.params.ref.type!=="ref/prompt")throw TypeError(`Expected CompleteRequestPrompt, but got ${Q.params.ref.type}`)}function y3(Q){if(Q.params.ref.type!=="ref/resource")throw TypeError(`Expected CompleteRequestResourceTemplate, but got ${Q.params.ref.type}`)}var j5=x0.extend({completion:T0({values:E(U()).max(100),total:b0(J0().int()),hasMore:b0(H0())})}),pw=I({uri:U().startsWith("file://"),name:U().optional(),_meta:j0(U(),U0()).optional()}),dw=_0.extend({method:_("roots/list"),params:z1.optional()}),M5=x0.extend({roots:E(pw)}),iw=F1.extend({method:_("notifications/roots/list_changed"),params:V1.optional()}),Yl=q0([kQ,W5,iQ,O5,pQ,cQ,uQ,lQ,mQ,Xw,Ww,m9,dQ,_Q,yQ,fQ,hQ]),Wl=q0([TQ,vQ,CQ,iw,n8]),$l=q0([e1,s8,U5,c9,M5,xQ,gQ,Q6]),Jl=q0([kQ,X9,Y9,dw,_Q,yQ,fQ,hQ]),Gl=q0([TQ,vQ,a8,r8,s6,Q9,e6,n8,uw]),Hl=q0([e1,$5,j5,D5,K5,G5,H5,z5,M6,L5,xQ,gQ,Q6]);class S extends Error{constructor(Q,X,Y){super(`MCP error ${Q}: ${X}`);this.code=Q,this.data=Y,this.name="McpError"}static fromError(Q,X,Y){if(Q===k.UrlElicitationRequired&&Y){let W=Y;if(W.elicitations)return new f3(W.elicitations,X)}return new S(Q,X,Y)}}class f3 extends S{constructor(Q,X=`URL elicitation${Q.length>1?"s":""} required`){super(k.UrlElicitationRequired,X,{elicitations:Q})}get elicitations(){return this.data?.elicitations??[]}}function N6(Q){return Q==="completed"||Q==="failed"||Q==="cancelled"}var h3=Symbol("Let zodToJsonSchema decide on which parser to use");var g3={name:void 0,$refStrategy:"root",basePath:["#"],effectStrategy:"input",pipeStrategy:"all",dateStrategy:"format:date-time",mapStrategy:"entries",removeAdditionalStrategy:"passthrough",allowedAdditionalProperties:!0,rejectedAdditionalProperties:!1,definitionPath:"definitions",target:"jsonSchema7",strictUnions:!1,definitions:{},errorMessages:!1,markdownDescription:!1,patternStrategy:"escape",applyRegexFlags:!1,emailStrategy:"format:email",base64Strategy:"contentEncoding:base64",nameStrategy:"ref",openAiAnyTypeName:"OpenAiAnyType"},u3=(Q)=>typeof Q==="string"?{...g3,name:Q}:{...g3,...Q};var l3=(Q)=>{let X=u3(Q),Y=X.name!==void 0?[...X.basePath,X.definitionPath,X.name]:X.basePath;return{...X,flags:{hasReferencedOpenAiAnyType:!1},currentPath:Y,propertyPath:void 0,seen:new Map(Object.entries(X.definitions).map(([W,$])=>[$._def,{def:$._def,path:[...X.basePath,X.definitionPath,W],jsonSchema:void 0}]))}};function N5(Q,X,Y,W){if(!W?.errorMessages)return;if(Y)Q.errorMessage={...Q.errorMessage,[X]:Y}}function s(Q,X,Y,W,$){Q[X]=Y,N5(Q,X,W,$)}var nQ=(Q,X)=>{let Y=0;for(;Y<Q.length&&Y<X.length;Y++)if(Q[Y]!==X[Y])break;return[(Q.length-Y).toString(),...X.slice(Y)].join("/")};function M0(Q){if(Q.target!=="openAi")return{};let X=[...Q.basePath,Q.definitionPath,Q.openAiAnyTypeName];return Q.flags.hasReferencedOpenAiAnyType=!0,{$ref:Q.$refStrategy==="relative"?nQ(X,Q.currentPath):X.join("/")}}function m3(Q,X){let Y={type:"array"};if(Q.type?._def&&Q.type?._def?.typeName!==P.ZodAny)Y.items=u(Q.type._def,{...X,currentPath:[...X.currentPath,"items"]});if(Q.minLength)s(Y,"minItems",Q.minLength.value,Q.minLength.message,X);if(Q.maxLength)s(Y,"maxItems",Q.maxLength.value,Q.maxLength.message,X);if(Q.exactLength)s(Y,"minItems",Q.exactLength.value,Q.exactLength.message,X),s(Y,"maxItems",Q.exactLength.value,Q.exactLength.message,X);return Y}function c3(Q,X){let Y={type:"integer",format:"int64"};if(!Q.checks)return Y;for(let W of Q.checks)switch(W.kind){case"min":if(X.target==="jsonSchema7")if(W.inclusive)s(Y,"minimum",W.value,W.message,X);else s(Y,"exclusiveMinimum",W.value,W.message,X);else{if(!W.inclusive)Y.exclusiveMinimum=!0;s(Y,"minimum",W.value,W.message,X)}break;case"max":if(X.target==="jsonSchema7")if(W.inclusive)s(Y,"maximum",W.value,W.message,X);else s(Y,"exclusiveMaximum",W.value,W.message,X);else{if(!W.inclusive)Y.exclusiveMaximum=!0;s(Y,"maximum",W.value,W.message,X)}break;case"multipleOf":s(Y,"multipleOf",W.value,W.message,X);break}return Y}function p3(){return{type:"boolean"}}function oQ(Q,X){return u(Q.type._def,X)}var d3=(Q,X)=>{return u(Q.innerType._def,X)};function w5(Q,X,Y){let W=Y??X.dateStrategy;if(Array.isArray(W))return{anyOf:W.map(($,J)=>w5(Q,X,$))};switch(W){case"string":case"format:date-time":return{type:"string",format:"date-time"};case"format:date":return{type:"string",format:"date"};case"integer":return nw(Q,X)}}var nw=(Q,X)=>{let Y={type:"integer",format:"unix-time"};if(X.target==="openApi3")return Y;for(let W of Q.checks)switch(W.kind){case"min":s(Y,"minimum",W.value,W.message,X);break;case"max":s(Y,"maximum",W.value,W.message,X);break}return Y};function i3(Q,X){return{...u(Q.innerType._def,X),default:Q.defaultValue()}}function n3(Q,X){return X.effectStrategy==="input"?u(Q.schema._def,X):M0(X)}function o3(Q){return{type:"string",enum:Array.from(Q.values)}}var ow=(Q)=>{if("type"in Q&&Q.type==="string")return!1;return"allOf"in Q};function r3(Q,X){let Y=[u(Q.left._def,{...X,currentPath:[...X.currentPath,"allOf","0"]}),u(Q.right._def,{...X,currentPath:[...X.currentPath,"allOf","1"]})].filter((J)=>!!J),W=X.target==="jsonSchema2019-09"?{unevaluatedProperties:!1}:void 0,$=[];return Y.forEach((J)=>{if(ow(J)){if($.push(...J.allOf),J.unevaluatedProperties===void 0)W=void 0}else{let G=J;if("additionalProperties"in J&&J.additionalProperties===!1){let{additionalProperties:H,...B}=J;G=B}else W=void 0;$.push(G)}}),$.length?{allOf:$,...W}:void 0}function t3(Q,X){let Y=typeof Q.value;if(Y!=="bigint"&&Y!=="number"&&Y!=="boolean"&&Y!=="string")return{type:Array.isArray(Q.value)?"array":"object"};if(X.target==="openApi3")return{type:Y==="bigint"?"integer":Y,enum:[Q.value]};return{type:Y==="bigint"?"integer":Y,const:Q.value}}var b5=void 0,P1={cuid:/^[cC][^\s-]{8,}$/,cuid2:/^[0-9a-z]+$/,ulid:/^[0-9A-HJKMNP-TV-Z]{26}$/,email:/^(?!\.)(?!.*\.\.)([a-zA-Z0-9_'+\-\.]*)[a-zA-Z0-9_+-]@([a-zA-Z0-9][a-zA-Z0-9\-]*\.)+[a-zA-Z]{2,}$/,emoji:()=>{if(b5===void 0)b5=RegExp("^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$","u");return b5},uuid:/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/,ipv4:/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,ipv4Cidr:/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/(3[0-2]|[12]?[0-9])$/,ipv6:/^(([a-f0-9]{1,4}:){7}|::([a-f0-9]{1,4}:){0,6}|([a-f0-9]{1,4}:){1}:([a-f0-9]{1,4}:){0,5}|([a-f0-9]{1,4}:){2}:([a-f0-9]{1,4}:){0,4}|([a-f0-9]{1,4}:){3}:([a-f0-9]{1,4}:){0,3}|([a-f0-9]{1,4}:){4}:([a-f0-9]{1,4}:){0,2}|([a-f0-9]{1,4}:){5}:([a-f0-9]{1,4}:){0,1})([a-f0-9]{1,4}|(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2})))$/,ipv6Cidr:/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,base64:/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,base64url:/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,nanoid:/^[a-zA-Z0-9_-]{21}$/,jwt:/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/};function rQ(Q,X){let Y={type:"string"};if(Q.checks)for(let W of Q.checks)switch(W.kind){case"min":s(Y,"minLength",typeof Y.minLength==="number"?Math.max(Y.minLength,W.value):W.value,W.message,X);break;case"max":s(Y,"maxLength",typeof Y.maxLength==="number"?Math.min(Y.maxLength,W.value):W.value,W.message,X);break;case"email":switch(X.emailStrategy){case"format:email":Z1(Y,"email",W.message,X);break;case"format:idn-email":Z1(Y,"idn-email",W.message,X);break;case"pattern:zod":p0(Y,P1.email,W.message,X);break}break;case"url":Z1(Y,"uri",W.message,X);break;case"uuid":Z1(Y,"uuid",W.message,X);break;case"regex":p0(Y,W.regex,W.message,X);break;case"cuid":p0(Y,P1.cuid,W.message,X);break;case"cuid2":p0(Y,P1.cuid2,W.message,X);break;case"startsWith":p0(Y,RegExp(`^${P5(W.value,X)}`),W.message,X);break;case"endsWith":p0(Y,RegExp(`${P5(W.value,X)}$`),W.message,X);break;case"datetime":Z1(Y,"date-time",W.message,X);break;case"date":Z1(Y,"date",W.message,X);break;case"time":Z1(Y,"time",W.message,X);break;case"duration":Z1(Y,"duration",W.message,X);break;case"length":s(Y,"minLength",typeof Y.minLength==="number"?Math.max(Y.minLength,W.value):W.value,W.message,X),s(Y,"maxLength",typeof Y.maxLength==="number"?Math.min(Y.maxLength,W.value):W.value,W.message,X);break;case"includes":{p0(Y,RegExp(P5(W.value,X)),W.message,X);break}case"ip":{if(W.version!=="v6")Z1(Y,"ipv4",W.message,X);if(W.version!=="v4")Z1(Y,"ipv6",W.message,X);break}case"base64url":p0(Y,P1.base64url,W.message,X);break;case"jwt":p0(Y,P1.jwt,W.message,X);break;case"cidr":{if(W.version!=="v6")p0(Y,P1.ipv4Cidr,W.message,X);if(W.version!=="v4")p0(Y,P1.ipv6Cidr,W.message,X);break}case"emoji":p0(Y,P1.emoji(),W.message,X);break;case"ulid":{p0(Y,P1.ulid,W.message,X);break}case"base64":{switch(X.base64Strategy){case"format:binary":{Z1(Y,"binary",W.message,X);break}case"contentEncoding:base64":{s(Y,"contentEncoding","base64",W.message,X);break}case"pattern:zod":{p0(Y,P1.base64,W.message,X);break}}break}case"nanoid":p0(Y,P1.nanoid,W.message,X);case"toLowerCase":case"toUpperCase":case"trim":break;default:(($)=>{})(W)}return Y}function P5(Q,X){return X.patternStrategy==="escape"?tw(Q):Q}var rw=new Set("ABCDEFGHIJKLMNOPQRSTUVXYZabcdefghijklmnopqrstuvxyz0123456789");function tw(Q){let X="";for(let Y=0;Y<Q.length;Y++){if(!rw.has(Q[Y]))X+="\\";X+=Q[Y]}return X}function Z1(Q,X,Y,W){if(Q.format||Q.anyOf?.some(($)=>$.format)){if(!Q.anyOf)Q.anyOf=[];if(Q.format){if(Q.anyOf.push({format:Q.format,...Q.errorMessage&&W.errorMessages&&{errorMessage:{format:Q.errorMessage.format}}}),delete Q.format,Q.errorMessage){if(delete Q.errorMessage.format,Object.keys(Q.errorMessage).length===0)delete Q.errorMessage}}Q.anyOf.push({format:X,...Y&&W.errorMessages&&{errorMessage:{format:Y}}})}else s(Q,"format",X,Y,W)}function p0(Q,X,Y,W){if(Q.pattern||Q.allOf?.some(($)=>$.pattern)){if(!Q.allOf)Q.allOf=[];if(Q.pattern){if(Q.allOf.push({pattern:Q.pattern,...Q.errorMessage&&W.errorMessages&&{errorMessage:{pattern:Q.errorMessage.pattern}}}),delete Q.pattern,Q.errorMessage){if(delete Q.errorMessage.pattern,Object.keys(Q.errorMessage).length===0)delete Q.errorMessage}}Q.allOf.push({pattern:a3(X,W),...Y&&W.errorMessages&&{errorMessage:{pattern:Y}}})}else s(Q,"pattern",a3(X,W),Y,W)}function a3(Q,X){if(!X.applyRegexFlags||!Q.flags)return Q.source;let Y={i:Q.flags.includes("i"),m:Q.flags.includes("m"),s:Q.flags.includes("s")},W=Y.i?Q.source.toLowerCase():Q.source,$="",J=!1,G=!1,H=!1;for(let B=0;B<W.length;B++){if(J){$+=W[B],J=!1;continue}if(Y.i){if(G){if(W[B].match(/[a-z]/)){if(H)$+=W[B],$+=`${W[B-2]}-${W[B]}`.toUpperCase(),H=!1;else if(W[B+1]==="-"&&W[B+2]?.match(/[a-z]/))$+=W[B],H=!0;else $+=`${W[B]}${W[B].toUpperCase()}`;continue}}else if(W[B].match(/[a-z]/)){$+=`[${W[B]}${W[B].toUpperCase()}]`;continue}}if(Y.m){if(W[B]==="^"){$+=`(^|(?<=[\r
43
+ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.`)}for(let z of this.seen.entries()){let K=z[1];if(Q===z[0]){J(z);continue}if(X.external){let q=X.external.registry.get(z[0])?.id;if(Q!==z[0]&&q){J(z);continue}}if(this.metadataRegistry.get(z[0])?.id){J(z);continue}if(K.cycle){J(z);continue}if(K.count>1){if(X.reused==="ref"){J(z);continue}}}let G=(z,K)=>{let V=this.seen.get(z),q=V.def??V.schema,F={...q};if(V.ref===null)return;let A=V.ref;if(V.ref=null,A){G(A,K);let D=this.seen.get(A).schema;if(D.$ref&&K.target==="draft-7")q.allOf=q.allOf??[],q.allOf.push(D);else Object.assign(q,D),Object.assign(q,F)}if(!V.isParent)this.override({zodSchema:z,jsonSchema:q,path:V.path??[]})};for(let z of[...this.seen.entries()].reverse())G(z[0],{target:this.target});let H={};if(this.target==="draft-2020-12")H.$schema="https://json-schema.org/draft/2020-12/schema";else if(this.target==="draft-7")H.$schema="http://json-schema.org/draft-07/schema#";else console.warn(`Invalid target: ${this.target}`);if(X.external?.uri){let z=X.external.registry.get(Q)?.id;if(!z)throw Error("Schema is missing an `id` property");H.$id=X.external.uri(z)}Object.assign(H,W.def);let B=X.external?.defs??{};for(let z of this.seen.entries()){let K=z[1];if(K.def&&K.defId)B[K.defId]=K.def}if(X.external);else if(Object.keys(B).length>0)if(this.target==="draft-2020-12")H.$defs=B;else H.definitions=B;try{return JSON.parse(JSON.stringify(H))}catch(z){throw Error("Error converting schema to JSON.")}}}function MQ(Q,Y){if(Q instanceof LQ){let W=new rW(Y),$={};for(let H of Q._idmap.entries()){let[B,z]=H;W.process(z)}let J={},G={registry:Q,uri:Y?.uri,defs:$};for(let H of Q._idmap.entries()){let[B,z]=H;J[B]=W.emit(z,{...Y,external:G})}if(Object.keys($).length>0){let H=W.target==="draft-2020-12"?"$defs":"definitions";J.__shared={[H]:$}}return{schemas:J}}let X=new rW(Y);return X.process(Q),X.emit(Q,Y)}function S0(Q,Y){let X=Y??{seen:new Set};if(X.seen.has(Q))return!1;X.seen.add(Q);let $=Q._zod.def;switch($.type){case"string":case"number":case"bigint":case"boolean":case"date":case"symbol":case"undefined":case"null":case"any":case"unknown":case"never":case"void":case"literal":case"enum":case"nan":case"file":case"template_literal":return!1;case"array":return S0($.element,X);case"object":{for(let J in $.shape)if(S0($.shape[J],X))return!0;return!1}case"union":{for(let J of $.options)if(S0(J,X))return!0;return!1}case"intersection":return S0($.left,X)||S0($.right,X);case"tuple":{for(let J of $.items)if(S0(J,X))return!0;if($.rest&&S0($.rest,X))return!0;return!1}case"record":return S0($.keyType,X)||S0($.valueType,X);case"map":return S0($.keyType,X)||S0($.valueType,X);case"set":return S0($.valueType,X);case"promise":case"optional":case"nonoptional":case"nullable":case"readonly":return S0($.innerType,X);case"lazy":return S0($.getter(),X);case"default":return S0($.innerType,X);case"prefault":return S0($.innerType,X);case"custom":return!1;case"transform":return!0;case"pipe":return S0($.in,X)||S0($.out,X);case"success":return!1;case"catch":return!1;default:}throw Error(`Unknown schema type: ${$.type}`)}var sw=w("ZodMiniType",(Q,Y)=>{if(!Q._zod)throw Error("Uninitialized schema in ZodMiniType.");G0.init(Q,Y),Q.def=Y,Q.parse=(X,W)=>H7(Q,X,W,{callee:Q.parse}),Q.safeParse=(X,W)=>t6(Q,X,W),Q.parseAsync=async(X,W)=>z7(Q,X,W,{callee:Q.parseAsync}),Q.safeParseAsync=async(X,W)=>a6(Q,X,W),Q.check=(...X)=>{return Q.clone({...Y,checks:[...Y.checks??[],...X.map((W)=>typeof W==="function"?{_zod:{check:W,def:{check:"custom"},onattach:[]}}:W)]})},Q.clone=(X,W)=>a0(Q,X,W),Q.brand=()=>Q,Q.register=(X,W)=>{return X.add(Q,W),Q}});var ew=w("ZodMiniObject",(Q,Y)=>{DQ.init(Q,Y),sw.init(Q,Y),a.defineLazy(Q,"shape",()=>Y.shape)});function tW(Q,Y){let X={type:"object",get shape(){return a.assignProp(this,"shape",{...Q}),this.shape},...a.normalizeParams(Y)};return new ew(X)}function s0(Q){return!!Q._zod}function e6(Q){let Y=Object.values(Q);if(Y.length===0)return tW({});let X=Y.every(s0),W=Y.every(($)=>!s0($));if(X)return tW(Q);if(W)return tX(Q);throw Error("Mixed Zod versions detected in object shape.")}function c0(Q,Y){if(s0(Q))return t6(Q,Y);return Q.safeParse(Y)}async function bQ(Q,Y){if(s0(Q))return await a6(Q,Y);return await Q.safeParseAsync(Y)}function c1(Q){if(!Q)return;let Y;if(s0(Q))Y=Q._zod?.def?.shape;else Y=Q.shape;if(!Y)return;if(typeof Y==="function")try{return Y()}catch{return}return Y}function l9(Q){if(!Q)return;if(typeof Q==="object"){let Y=Q,X=Q;if(!Y._def&&!X._zod){let W=Object.values(Q);if(W.length>0&&W.every(($)=>typeof $==="object"&&$!==null&&($._def!==void 0||$._zod!==void 0||typeof $.parse==="function")))return e6(Q)}}if(s0(Q)){let X=Q._zod?.def;if(X&&(X.type==="object"||X.shape!==void 0))return Q}else if(Q.shape!==void 0)return Q;return}function PQ(Q){if(Q&&typeof Q==="object"){if("message"in Q&&typeof Q.message==="string")return Q.message;if("issues"in Q&&Array.isArray(Q.issues)&&Q.issues.length>0){let Y=Q.issues[0];if(Y&&typeof Y==="object"&&"message"in Y)return String(Y.message)}try{return JSON.stringify(Q)}catch{return String(Q)}}return String(Q)}function $3(Q){return Q.description}function J3(Q){if(s0(Q))return Q._zod?.def?.type==="optional";let Y=Q;if(typeof Q.isOptional==="function")return Q.isOptional();return Y._def?.typeName==="ZodOptional"}function ZQ(Q){if(s0(Q)){let J=Q._zod?.def;if(J){if(J.value!==void 0)return J.value;if(Array.isArray(J.values)&&J.values.length>0)return J.values[0]}}let X=Q._def;if(X){if(X.value!==void 0)return X.value;if(Array.isArray(X.values)&&X.values.length>0)return X.values[0]}let W=Q.value;if(W!==void 0)return W;return}var c8={};QQ(c8,{time:()=>eW,duration:()=>Q5,datetime:()=>aW,date:()=>sW,ZodISOTime:()=>B3,ZodISODuration:()=>z3,ZodISODateTime:()=>G3,ZodISODate:()=>H3});var G3=w("ZodISODateTime",(Q,Y)=>{uH.init(Q,Y),U0.init(Q,Y)});function aW(Q){return oH(G3,Q)}var H3=w("ZodISODate",(Q,Y)=>{lH.init(Q,Y),U0.init(Q,Y)});function sW(Q){return rH(H3,Q)}var B3=w("ZodISOTime",(Q,Y)=>{mH.init(Q,Y),U0.init(Q,Y)});function eW(Q){return tH(B3,Q)}var z3=w("ZodISODuration",(Q,Y)=>{cH.init(Q,Y),U0.init(Q,Y)});function Q5(Q){return aH(z3,Q)}var V3=(Q,Y)=>{KQ.init(Q,Y),Q.name="ZodError",Object.defineProperties(Q,{format:{value:(X)=>FQ(Q,X)},flatten:{value:(X)=>VQ(Q,X)},addIssue:{value:(X)=>Q.issues.push(X)},addIssues:{value:(X)=>Q.issues.push(...X)},isEmpty:{get(){return Q.issues.length===0}}})},Il=w("ZodError",V3),p8=w("ZodError",V3,{Parent:Error});var F3=G7(p8),A3=B7(p8),q3=K7(p8),D3=V7(p8);var A0=w("ZodType",(Q,Y)=>{return G0.init(Q,Y),Q.def=Y,Object.defineProperty(Q,"_def",{value:Y}),Q.check=(...X)=>{return Q.clone({...Y,checks:[...Y.checks??[],...X.map((W)=>typeof W==="function"?{_zod:{check:W,def:{check:"custom"},onattach:[]}}:W)]})},Q.clone=(X,W)=>a0(Q,X,W),Q.brand=()=>Q,Q.register=(X,W)=>{return X.add(Q,W),Q},Q.parse=(X,W)=>F3(Q,X,W,{callee:Q.parse}),Q.safeParse=(X,W)=>q3(Q,X,W),Q.parseAsync=async(X,W)=>A3(Q,X,W,{callee:Q.parseAsync}),Q.safeParseAsync=async(X,W)=>D3(Q,X,W),Q.spa=Q.safeParseAsync,Q.refine=(X,W)=>Q.check(aN(X,W)),Q.superRefine=(X)=>Q.check(sN(X)),Q.overwrite=(X)=>Q.check(s6(X)),Q.optional=()=>b0(Q),Q.nullable=()=>U3(Q),Q.nullish=()=>b0(U3(Q)),Q.nonoptional=(X)=>pN(Q,X),Q.array=()=>E(Q),Q.or=(X)=>q0([Q,X]),Q.and=(X)=>IQ(Q,X),Q.transform=(X)=>X5(Q,E3(X)),Q.default=(X)=>lN(Q,X),Q.prefault=(X)=>cN(Q,X),Q.catch=(X)=>iN(Q,X),Q.pipe=(X)=>X5(Q,X),Q.readonly=()=>rN(Q),Q.describe=(X)=>{let W=Q.clone();return a1.add(W,{description:X}),W},Object.defineProperty(Q,"description",{get(){return a1.get(Q)?.description},configurable:!0}),Q.meta=(...X)=>{if(X.length===0)return a1.get(Q);let W=Q.clone();return a1.add(W,X[0]),W},Q.isOptional=()=>Q.safeParse(void 0).success,Q.isNullable=()=>Q.safeParse(null).success,Q}),j3=w("_ZodString",(Q,Y)=>{l8.init(Q,Y),A0.init(Q,Y);let X=Q._zod.bag;Q.format=X.format??null,Q.minLength=X.minimum??null,Q.maxLength=X.maximum??null,Q.regex=(...W)=>Q.check(fW(...W)),Q.includes=(...W)=>Q.check(uW(...W)),Q.startsWith=(...W)=>Q.check(lW(...W)),Q.endsWith=(...W)=>Q.check(mW(...W)),Q.min=(...W)=>Q.check(u9(...W)),Q.max=(...W)=>Q.check(wQ(...W)),Q.length=(...W)=>Q.check(NQ(...W)),Q.nonempty=(...W)=>Q.check(u9(1,...W)),Q.lowercase=(W)=>Q.check(gW(W)),Q.uppercase=(W)=>Q.check(hW(W)),Q.trim=()=>Q.check(pW()),Q.normalize=(...W)=>Q.check(cW(...W)),Q.toLowerCase=()=>Q.check(dW()),Q.toUpperCase=()=>Q.check(iW())}),W5=w("ZodString",(Q,Y)=>{l8.init(Q,Y),j3.init(Q,Y),Q.email=(X)=>Q.check(KW(VN,X)),Q.url=(X)=>Q.check(jQ(w3,X)),Q.jwt=(X)=>Q.check(SW(RN,X)),Q.emoji=(X)=>Q.check(DW(FN,X)),Q.guid=(X)=>Q.check(UQ(O3,X)),Q.uuid=(X)=>Q.check(VW(RQ,X)),Q.uuidv4=(X)=>Q.check(FW(RQ,X)),Q.uuidv6=(X)=>Q.check(AW(RQ,X)),Q.uuidv7=(X)=>Q.check(qW(RQ,X)),Q.nanoid=(X)=>Q.check(OW(AN,X)),Q.guid=(X)=>Q.check(UQ(O3,X)),Q.cuid=(X)=>Q.check(LW(qN,X)),Q.cuid2=(X)=>Q.check(UW(DN,X)),Q.ulid=(X)=>Q.check(jW(ON,X)),Q.base64=(X)=>Q.check(RW(bN,X)),Q.base64url=(X)=>Q.check(EW(PN,X)),Q.xid=(X)=>Q.check(wW(LN,X)),Q.ksuid=(X)=>Q.check(NW(UN,X)),Q.ipv4=(X)=>Q.check(MW(jN,X)),Q.ipv6=(X)=>Q.check(bW(wN,X)),Q.cidrv4=(X)=>Q.check(PW(NN,X)),Q.cidrv6=(X)=>Q.check(ZW(MN,X)),Q.e164=(X)=>Q.check(IW(ZN,X)),Q.datetime=(X)=>Q.check(aW(X)),Q.date=(X)=>Q.check(sW(X)),Q.time=(X)=>Q.check(eW(X)),Q.duration=(X)=>Q.check(Q5(X))});function U(Q){return zW(W5,Q)}var U0=w("ZodStringFormat",(Q,Y)=>{F0.init(Q,Y),j3.init(Q,Y)}),VN=w("ZodEmail",(Q,Y)=>{w7.init(Q,Y),U0.init(Q,Y)});var O3=w("ZodGUID",(Q,Y)=>{U7.init(Q,Y),U0.init(Q,Y)});var RQ=w("ZodUUID",(Q,Y)=>{j7.init(Q,Y),U0.init(Q,Y)});var w3=w("ZodURL",(Q,Y)=>{N7.init(Q,Y),U0.init(Q,Y)});function N3(Q){return jQ(w3,Q)}var FN=w("ZodEmoji",(Q,Y)=>{M7.init(Q,Y),U0.init(Q,Y)});var AN=w("ZodNanoID",(Q,Y)=>{b7.init(Q,Y),U0.init(Q,Y)});var qN=w("ZodCUID",(Q,Y)=>{P7.init(Q,Y),U0.init(Q,Y)});var DN=w("ZodCUID2",(Q,Y)=>{Z7.init(Q,Y),U0.init(Q,Y)});var ON=w("ZodULID",(Q,Y)=>{R7.init(Q,Y),U0.init(Q,Y)});var LN=w("ZodXID",(Q,Y)=>{E7.init(Q,Y),U0.init(Q,Y)});var UN=w("ZodKSUID",(Q,Y)=>{I7.init(Q,Y),U0.init(Q,Y)});var jN=w("ZodIPv4",(Q,Y)=>{S7.init(Q,Y),U0.init(Q,Y)});var wN=w("ZodIPv6",(Q,Y)=>{T7.init(Q,Y),U0.init(Q,Y)});var NN=w("ZodCIDRv4",(Q,Y)=>{C7.init(Q,Y),U0.init(Q,Y)});var MN=w("ZodCIDRv6",(Q,Y)=>{k7.init(Q,Y),U0.init(Q,Y)});var bN=w("ZodBase64",(Q,Y)=>{_7.init(Q,Y),U0.init(Q,Y)});var PN=w("ZodBase64URL",(Q,Y)=>{v7.init(Q,Y),U0.init(Q,Y)});var ZN=w("ZodE164",(Q,Y)=>{x7.init(Q,Y),U0.init(Q,Y)});var RN=w("ZodJWT",(Q,Y)=>{y7.init(Q,Y),U0.init(Q,Y)});var EQ=w("ZodNumber",(Q,Y)=>{qQ.init(Q,Y),A0.init(Q,Y),Q.gt=(W,$)=>Q.check(h9(W,$)),Q.gte=(W,$)=>Q.check(b1(W,$)),Q.min=(W,$)=>Q.check(b1(W,$)),Q.lt=(W,$)=>Q.check(g9(W,$)),Q.lte=(W,$)=>Q.check(s1(W,$)),Q.max=(W,$)=>Q.check(s1(W,$)),Q.int=(W)=>Q.check(L3(W)),Q.safe=(W)=>Q.check(L3(W)),Q.positive=(W)=>Q.check(h9(0,W)),Q.nonnegative=(W)=>Q.check(b1(0,W)),Q.negative=(W)=>Q.check(g9(0,W)),Q.nonpositive=(W)=>Q.check(s1(0,W)),Q.multipleOf=(W,$)=>Q.check(m8(W,$)),Q.step=(W,$)=>Q.check(m8(W,$)),Q.finite=()=>Q;let X=Q._zod.bag;Q.minValue=Math.max(X.minimum??Number.NEGATIVE_INFINITY,X.exclusiveMinimum??Number.NEGATIVE_INFINITY)??null,Q.maxValue=Math.min(X.maximum??Number.POSITIVE_INFINITY,X.exclusiveMaximum??Number.POSITIVE_INFINITY)??null,Q.isInt=(X.format??"").includes("int")||Number.isSafeInteger(X.multipleOf??0.5),Q.isFinite=!0,Q.format=X.format??null});function J0(Q){return TW(EQ,Q)}var EN=w("ZodNumberFormat",(Q,Y)=>{f7.init(Q,Y),EQ.init(Q,Y)});function L3(Q){return CW(EN,Q)}var $5=w("ZodBoolean",(Q,Y)=>{g7.init(Q,Y),A0.init(Q,Y)});function H0(Q){return kW($5,Q)}var M3=w("ZodBigInt",(Q,Y)=>{h7.init(Q,Y),A0.init(Q,Y),Q.gte=(W,$)=>Q.check(b1(W,$)),Q.min=(W,$)=>Q.check(b1(W,$)),Q.gt=(W,$)=>Q.check(h9(W,$)),Q.gte=(W,$)=>Q.check(b1(W,$)),Q.min=(W,$)=>Q.check(b1(W,$)),Q.lt=(W,$)=>Q.check(g9(W,$)),Q.lte=(W,$)=>Q.check(s1(W,$)),Q.max=(W,$)=>Q.check(s1(W,$)),Q.positive=(W)=>Q.check(h9(BigInt(0),W)),Q.negative=(W)=>Q.check(g9(BigInt(0),W)),Q.nonpositive=(W)=>Q.check(s1(BigInt(0),W)),Q.nonnegative=(W)=>Q.check(b1(BigInt(0),W)),Q.multipleOf=(W,$)=>Q.check(m8(W,$));let X=Q._zod.bag;Q.minValue=X.minimum??null,Q.maxValue=X.maximum??null,Q.format=X.format??null});var IN=w("ZodNull",(Q,Y)=>{u7.init(Q,Y),A0.init(Q,Y)});function J5(Q){return _W(IN,Q)}var SN=w("ZodAny",(Q,Y)=>{l7.init(Q,Y),A0.init(Q,Y)});function b3(){return vW(SN)}var TN=w("ZodUnknown",(Q,Y)=>{m7.init(Q,Y),A0.init(Q,Y)});function j0(){return xW(TN)}var CN=w("ZodNever",(Q,Y)=>{c7.init(Q,Y),A0.init(Q,Y)});function kN(Q){return yW(CN,Q)}var P3=w("ZodDate",(Q,Y)=>{p7.init(Q,Y),A0.init(Q,Y),Q.min=(W,$)=>Q.check(b1(W,$)),Q.max=(W,$)=>Q.check(s1(W,$));let X=Q._zod.bag;Q.minDate=X.minimum?new Date(X.minimum):null,Q.maxDate=X.maximum?new Date(X.maximum):null});var _N=w("ZodArray",(Q,Y)=>{d7.init(Q,Y),A0.init(Q,Y),Q.element=Y.element,Q.min=(X,W)=>Q.check(u9(X,W)),Q.nonempty=(X)=>Q.check(u9(1,X)),Q.max=(X,W)=>Q.check(wQ(X,W)),Q.length=(X,W)=>Q.check(NQ(X,W)),Q.unwrap=()=>Q.element});function E(Q,Y){return X3(_N,Q,Y)}var Z3=w("ZodObject",(Q,Y)=>{DQ.init(Q,Y),A0.init(Q,Y),a.defineLazy(Q,"shape",()=>Y.shape),Q.keyof=()=>e0(Object.keys(Q._zod.def.shape)),Q.catchall=(X)=>Q.clone({...Q._zod.def,catchall:X}),Q.passthrough=()=>Q.clone({...Q._zod.def,catchall:j0()}),Q.loose=()=>Q.clone({...Q._zod.def,catchall:j0()}),Q.strict=()=>Q.clone({...Q._zod.def,catchall:kN()}),Q.strip=()=>Q.clone({...Q._zod.def,catchall:void 0}),Q.extend=(X)=>{return a.extend(Q,X)},Q.merge=(X)=>a.merge(Q,X),Q.pick=(X)=>a.pick(Q,X),Q.omit=(X)=>a.omit(Q,X),Q.partial=(...X)=>a.partial(I3,Q,X[0]),Q.required=(...X)=>a.required(S3,Q,X[0])});function S(Q,Y){let X={type:"object",get shape(){return a.assignProp(this,"shape",{...Q}),this.shape},...a.normalizeParams(Y)};return new Z3(X)}function T0(Q,Y){return new Z3({type:"object",get shape(){return a.assignProp(this,"shape",{...Q}),this.shape},catchall:j0(),...a.normalizeParams(Y)})}var R3=w("ZodUnion",(Q,Y)=>{OQ.init(Q,Y),A0.init(Q,Y),Q.options=Y.options});function q0(Q,Y){return new R3({type:"union",options:Q,...a.normalizeParams(Y)})}var vN=w("ZodDiscriminatedUnion",(Q,Y)=>{R3.init(Q,Y),i7.init(Q,Y)});function G5(Q,Y,X){return new vN({type:"union",options:Y,discriminator:Q,...a.normalizeParams(X)})}var xN=w("ZodIntersection",(Q,Y)=>{n7.init(Q,Y),A0.init(Q,Y)});function IQ(Q,Y){return new xN({type:"intersection",left:Q,right:Y})}var yN=w("ZodRecord",(Q,Y)=>{o7.init(Q,Y),A0.init(Q,Y),Q.keyType=Y.keyType,Q.valueType=Y.valueType});function w0(Q,Y,X){return new yN({type:"record",keyType:Q,valueType:Y,...a.normalizeParams(X)})}var Y5=w("ZodEnum",(Q,Y)=>{r7.init(Q,Y),A0.init(Q,Y),Q.enum=Y.entries,Q.options=Object.values(Y.entries);let X=new Set(Object.keys(Y.entries));Q.extract=(W,$)=>{let J={};for(let G of W)if(X.has(G))J[G]=Y.entries[G];else throw Error(`Key ${G} not found in enum`);return new Y5({...Y,checks:[],...a.normalizeParams($),entries:J})},Q.exclude=(W,$)=>{let J={...Y.entries};for(let G of W)if(X.has(G))delete J[G];else throw Error(`Key ${G} not found in enum`);return new Y5({...Y,checks:[],...a.normalizeParams($),entries:J})}});function e0(Q,Y){let X=Array.isArray(Q)?Object.fromEntries(Q.map((W)=>[W,W])):Q;return new Y5({type:"enum",entries:X,...a.normalizeParams(Y)})}var fN=w("ZodLiteral",(Q,Y)=>{t7.init(Q,Y),A0.init(Q,Y),Q.values=new Set(Y.values),Object.defineProperty(Q,"value",{get(){if(Y.values.length>1)throw Error("This schema contains multiple valid literal values. Use `.values` instead.");return Y.values[0]}})});function x(Q,Y){return new fN({type:"literal",values:Array.isArray(Q)?Q:[Q],...a.normalizeParams(Y)})}var gN=w("ZodTransform",(Q,Y)=>{a7.init(Q,Y),A0.init(Q,Y),Q._zod.parse=(X,W)=>{X.addIssue=(J)=>{if(typeof J==="string")X.issues.push(a.issue(J,X.value,Y));else{let G=J;if(G.fatal)G.continue=!1;G.code??(G.code="custom"),G.input??(G.input=X.value),G.inst??(G.inst=Q),G.continue??(G.continue=!0),X.issues.push(a.issue(G))}};let $=Y.transform(X.value,X);if($ instanceof Promise)return $.then((J)=>{return X.value=J,X});return X.value=$,X}});function E3(Q){return new gN({type:"transform",transform:Q})}var I3=w("ZodOptional",(Q,Y)=>{s7.init(Q,Y),A0.init(Q,Y),Q.unwrap=()=>Q._zod.def.innerType});function b0(Q){return new I3({type:"optional",innerType:Q})}var hN=w("ZodNullable",(Q,Y)=>{e7.init(Q,Y),A0.init(Q,Y),Q.unwrap=()=>Q._zod.def.innerType});function U3(Q){return new hN({type:"nullable",innerType:Q})}var uN=w("ZodDefault",(Q,Y)=>{QW.init(Q,Y),A0.init(Q,Y),Q.unwrap=()=>Q._zod.def.innerType,Q.removeDefault=Q.unwrap});function lN(Q,Y){return new uN({type:"default",innerType:Q,get defaultValue(){return typeof Y==="function"?Y():Y}})}var mN=w("ZodPrefault",(Q,Y)=>{YW.init(Q,Y),A0.init(Q,Y),Q.unwrap=()=>Q._zod.def.innerType});function cN(Q,Y){return new mN({type:"prefault",innerType:Q,get defaultValue(){return typeof Y==="function"?Y():Y}})}var S3=w("ZodNonOptional",(Q,Y)=>{XW.init(Q,Y),A0.init(Q,Y),Q.unwrap=()=>Q._zod.def.innerType});function pN(Q,Y){return new S3({type:"nonoptional",innerType:Q,...a.normalizeParams(Y)})}var dN=w("ZodCatch",(Q,Y)=>{WW.init(Q,Y),A0.init(Q,Y),Q.unwrap=()=>Q._zod.def.innerType,Q.removeCatch=Q.unwrap});function iN(Q,Y){return new dN({type:"catch",innerType:Q,catchValue:typeof Y==="function"?Y:()=>Y})}var nN=w("ZodPipe",(Q,Y)=>{$W.init(Q,Y),A0.init(Q,Y),Q.in=Y.in,Q.out=Y.out});function X5(Q,Y){return new nN({type:"pipe",in:Q,out:Y})}var oN=w("ZodReadonly",(Q,Y)=>{JW.init(Q,Y),A0.init(Q,Y)});function rN(Q){return new oN({type:"readonly",innerType:Q})}var T3=w("ZodCustom",(Q,Y)=>{GW.init(Q,Y),A0.init(Q,Y)});function tN(Q){let Y=new k0({check:"custom"});return Y._zod.check=Q,Y}function C3(Q,Y){return nW(T3,Q??(()=>!0),Y)}function aN(Q,Y={}){return oW(T3,Q,Y)}function sN(Q){let Y=tN((X)=>{return X.addIssue=(W)=>{if(typeof W==="string")X.issues.push(a.issue(W,X.value,Y._zod.def));else{let $=W;if($.fatal)$.continue=!1;$.code??($.code="custom"),$.input??($.input=X.value),$.inst??($.inst=Y),$.continue??($.continue=!Y._zod.def.abort),X.issues.push(a.issue($))}},Q(X.value,X)});return Y}function H5(Q,Y){return X5(E3(Q),Y)}var k3={invalid_type:"invalid_type",too_big:"too_big",too_small:"too_small",invalid_format:"invalid_format",not_multiple_of:"not_multiple_of",unrecognized_keys:"unrecognized_keys",invalid_union:"invalid_union",invalid_key:"invalid_key",invalid_element:"invalid_element",invalid_value:"invalid_value",custom:"custom"};var SQ={};QQ(SQ,{string:()=>eN,number:()=>QM,date:()=>WM,boolean:()=>YM,bigint:()=>XM});function eN(Q){return nH(W5,Q)}function QM(Q){return sH(EQ,Q)}function YM(Q){return eH($5,Q)}function XM(Q){return Q3(M3,Q)}function WM(Q){return Y3(P3,Q)}t0(HW());var j6="2025-11-25";var CQ=[j6,"2025-06-18","2025-03-26","2024-11-05","2024-10-07"],w6="io.modelcontextprotocol/related-task",kQ="2.0",_0=C3((Q)=>Q!==null&&(typeof Q==="object"||typeof Q==="function")),_3=q0([U(),J0().int()]),v3=U(),ml=T0({ttl:q0([J0(),J5()]).optional(),pollInterval:J0().optional()}),JM=S({ttl:J0().optional()}),GM=S({taskId:U()}),B5=T0({progressToken:_3.optional(),[w6]:GM.optional()}),z1=S({_meta:B5.optional()}),d8=z1.extend({task:JM.optional()}),x3=(Q)=>d8.safeParse(Q).success,v0=S({method:U(),params:z1.loose().optional()}),V1=S({_meta:B5.optional()}),F1=S({method:U(),params:V1.loose().optional()}),x0=T0({_meta:B5.optional()}),_Q=q0([U(),J0().int()]),y3=S({jsonrpc:x(kQ),id:_Q,...v0.shape}).strict(),i8=(Q)=>y3.safeParse(Q).success,f3=S({jsonrpc:x(kQ),...F1.shape}).strict(),g3=(Q)=>f3.safeParse(Q).success,z5=S({jsonrpc:x(kQ),id:_Q,result:x0}).strict(),Q9=(Q)=>z5.safeParse(Q).success;var k;(function(Q){Q[Q.ConnectionClosed=-32000]="ConnectionClosed",Q[Q.RequestTimeout=-32001]="RequestTimeout",Q[Q.ParseError=-32700]="ParseError",Q[Q.InvalidRequest=-32600]="InvalidRequest",Q[Q.MethodNotFound=-32601]="MethodNotFound",Q[Q.InvalidParams=-32602]="InvalidParams",Q[Q.InternalError=-32603]="InternalError",Q[Q.UrlElicitationRequired=-32042]="UrlElicitationRequired"})(k||(k={}));var K5=S({jsonrpc:x(kQ),id:_Q.optional(),error:S({code:J0().int(),message:U(),data:j0().optional()})}).strict();var h3=(Q)=>K5.safeParse(Q).success;var c9=q0([y3,f3,z5,K5]),cl=q0([z5,K5]),e1=x0.strict(),HM=V1.extend({requestId:_Q.optional(),reason:U().optional()}),vQ=F1.extend({method:x("notifications/cancelled"),params:HM}),BM=S({src:U(),mimeType:U().optional(),sizes:E(U()).optional(),theme:e0(["light","dark"]).optional()}),n8=S({icons:E(BM).optional()}),m9=S({name:U(),title:U().optional()}),u3=m9.extend({...m9.shape,...n8.shape,version:U(),websiteUrl:U().optional(),description:U().optional()}),zM=IQ(S({applyDefaults:H0().optional()}),w0(U(),j0())),KM=H5((Q)=>{if(Q&&typeof Q==="object"&&!Array.isArray(Q)){if(Object.keys(Q).length===0)return{form:{}}}return Q},IQ(S({form:zM.optional(),url:_0.optional()}),w0(U(),j0()).optional())),VM=T0({list:_0.optional(),cancel:_0.optional(),requests:T0({sampling:T0({createMessage:_0.optional()}).optional(),elicitation:T0({create:_0.optional()}).optional()}).optional()}),FM=T0({list:_0.optional(),cancel:_0.optional(),requests:T0({tools:T0({call:_0.optional()}).optional()}).optional()}),AM=S({experimental:w0(U(),_0).optional(),sampling:S({context:_0.optional(),tools:_0.optional()}).optional(),elicitation:KM.optional(),roots:S({listChanged:H0().optional()}).optional(),tasks:VM.optional()}),qM=z1.extend({protocolVersion:U(),capabilities:AM,clientInfo:u3}),V5=v0.extend({method:x("initialize"),params:qM});var DM=S({experimental:w0(U(),_0).optional(),logging:_0.optional(),completions:_0.optional(),prompts:S({listChanged:H0().optional()}).optional(),resources:S({subscribe:H0().optional(),listChanged:H0().optional()}).optional(),tools:S({listChanged:H0().optional()}).optional(),tasks:FM.optional()}),F5=x0.extend({protocolVersion:U(),capabilities:DM,serverInfo:u3,instructions:U().optional()}),xQ=F1.extend({method:x("notifications/initialized"),params:V1.optional()}),l3=(Q)=>xQ.safeParse(Q).success,yQ=v0.extend({method:x("ping"),params:z1.optional()}),OM=S({progress:J0(),total:b0(J0()),message:b0(U())}),LM=S({...V1.shape,...OM.shape,progressToken:_3}),fQ=F1.extend({method:x("notifications/progress"),params:LM}),UM=z1.extend({cursor:v3.optional()}),o8=v0.extend({params:UM.optional()}),r8=x0.extend({nextCursor:v3.optional()}),jM=e0(["working","input_required","completed","failed","cancelled"]),t8=S({taskId:U(),status:jM,ttl:q0([J0(),J5()]),createdAt:U(),lastUpdatedAt:U(),pollInterval:b0(J0()),statusMessage:b0(U())}),Q6=x0.extend({task:t8}),wM=V1.merge(t8),a8=F1.extend({method:x("notifications/tasks/status"),params:wM}),gQ=v0.extend({method:x("tasks/get"),params:z1.extend({taskId:U()})}),hQ=x0.merge(t8),uQ=v0.extend({method:x("tasks/result"),params:z1.extend({taskId:U()})}),pl=x0.loose(),lQ=o8.extend({method:x("tasks/list")}),mQ=r8.extend({tasks:E(t8)}),cQ=v0.extend({method:x("tasks/cancel"),params:z1.extend({taskId:U()})}),m3=x0.merge(t8),c3=S({uri:U(),mimeType:b0(U()),_meta:w0(U(),j0()).optional()}),p3=c3.extend({text:U()}),A5=U().refine((Q)=>{try{return atob(Q),!0}catch{return!1}},{message:"Invalid Base64 string"}),d3=c3.extend({blob:A5}),s8=e0(["user","assistant"]),p9=S({audience:E(s8).optional(),priority:J0().min(0).max(1).optional(),lastModified:c8.datetime({offset:!0}).optional()}),i3=S({...m9.shape,...n8.shape,uri:U(),description:b0(U()),mimeType:b0(U()),annotations:p9.optional(),_meta:b0(T0({}))}),NM=S({...m9.shape,...n8.shape,uriTemplate:U(),description:b0(U()),mimeType:b0(U()),annotations:p9.optional(),_meta:b0(T0({}))}),pQ=o8.extend({method:x("resources/list")}),q5=r8.extend({resources:E(i3)}),dQ=o8.extend({method:x("resources/templates/list")}),D5=r8.extend({resourceTemplates:E(NM)}),O5=z1.extend({uri:U()}),MM=O5,iQ=v0.extend({method:x("resources/read"),params:MM}),L5=x0.extend({contents:E(q0([p3,d3]))}),Y9=F1.extend({method:x("notifications/resources/list_changed"),params:V1.optional()}),bM=O5,PM=v0.extend({method:x("resources/subscribe"),params:bM}),ZM=O5,RM=v0.extend({method:x("resources/unsubscribe"),params:ZM}),EM=V1.extend({uri:U()}),e8=F1.extend({method:x("notifications/resources/updated"),params:EM}),IM=S({name:U(),description:b0(U()),required:b0(H0())}),SM=S({...m9.shape,...n8.shape,description:b0(U()),arguments:b0(E(IM)),_meta:b0(T0({}))}),nQ=o8.extend({method:x("prompts/list")}),U5=r8.extend({prompts:E(SM)}),TM=z1.extend({name:U(),arguments:w0(U(),U()).optional()}),oQ=v0.extend({method:x("prompts/get"),params:TM}),j5=S({type:x("text"),text:U(),annotations:p9.optional(),_meta:w0(U(),j0()).optional()}),w5=S({type:x("image"),data:A5,mimeType:U(),annotations:p9.optional(),_meta:w0(U(),j0()).optional()}),N5=S({type:x("audio"),data:A5,mimeType:U(),annotations:p9.optional(),_meta:w0(U(),j0()).optional()}),CM=S({type:x("tool_use"),name:U(),id:U(),input:w0(U(),j0()),_meta:w0(U(),j0()).optional()}),kM=S({type:x("resource"),resource:q0([p3,d3]),annotations:p9.optional(),_meta:w0(U(),j0()).optional()}),_M=i3.extend({type:x("resource_link")}),M5=q0([j5,w5,N5,_M,kM]),vM=S({role:s8,content:M5}),b5=x0.extend({description:U().optional(),messages:E(vM)}),X9=F1.extend({method:x("notifications/prompts/list_changed"),params:V1.optional()}),xM=S({title:U().optional(),readOnlyHint:H0().optional(),destructiveHint:H0().optional(),idempotentHint:H0().optional(),openWorldHint:H0().optional()}),yM=S({taskSupport:e0(["required","optional","forbidden"]).optional()}),n3=S({...m9.shape,...n8.shape,description:U().optional(),inputSchema:S({type:x("object"),properties:w0(U(),_0).optional(),required:E(U()).optional()}).catchall(j0()),outputSchema:S({type:x("object"),properties:w0(U(),_0).optional(),required:E(U()).optional()}).catchall(j0()).optional(),annotations:xM.optional(),execution:yM.optional(),_meta:w0(U(),j0()).optional()}),rQ=o8.extend({method:x("tools/list")}),P5=r8.extend({tools:E(n3)}),N6=x0.extend({content:E(M5).default([]),structuredContent:w0(U(),j0()).optional(),isError:H0().optional()}),dl=N6.or(x0.extend({toolResult:j0()})),fM=d8.extend({name:U(),arguments:w0(U(),j0()).optional()}),d9=v0.extend({method:x("tools/call"),params:fM}),W9=F1.extend({method:x("notifications/tools/list_changed"),params:V1.optional()}),o3=S({autoRefresh:H0().default(!0),debounceMs:J0().int().nonnegative().default(300)}),Q4=e0(["debug","info","notice","warning","error","critical","alert","emergency"]),gM=z1.extend({level:Q4}),Z5=v0.extend({method:x("logging/setLevel"),params:gM}),hM=V1.extend({level:Q4,logger:U().optional(),data:j0()}),Y4=F1.extend({method:x("notifications/message"),params:hM}),uM=S({name:U().optional()}),lM=S({hints:E(uM).optional(),costPriority:J0().min(0).max(1).optional(),speedPriority:J0().min(0).max(1).optional(),intelligencePriority:J0().min(0).max(1).optional()}),mM=S({mode:e0(["auto","required","none"]).optional()}),cM=S({type:x("tool_result"),toolUseId:U().describe("The unique identifier for the corresponding tool call."),content:E(M5).default([]),structuredContent:S({}).loose().optional(),isError:H0().optional(),_meta:w0(U(),j0()).optional()}),pM=G5("type",[j5,w5,N5]),TQ=G5("type",[j5,w5,N5,CM,cM]),dM=S({role:s8,content:q0([TQ,E(TQ)]),_meta:w0(U(),j0()).optional()}),iM=d8.extend({messages:E(dM),modelPreferences:lM.optional(),systemPrompt:U().optional(),includeContext:e0(["none","thisServer","allServers"]).optional(),temperature:J0().optional(),maxTokens:J0().int(),stopSequences:E(U()).optional(),metadata:_0.optional(),tools:E(n3).optional(),toolChoice:mM.optional()}),$9=v0.extend({method:x("sampling/createMessage"),params:iM}),X4=x0.extend({model:U(),stopReason:b0(e0(["endTurn","stopSequence","maxTokens"]).or(U())),role:s8,content:pM}),R5=x0.extend({model:U(),stopReason:b0(e0(["endTurn","stopSequence","maxTokens","toolUse"]).or(U())),role:s8,content:q0([TQ,E(TQ)])}),nM=S({type:x("boolean"),title:U().optional(),description:U().optional(),default:H0().optional()}),oM=S({type:x("string"),title:U().optional(),description:U().optional(),minLength:J0().optional(),maxLength:J0().optional(),format:e0(["email","uri","date","date-time"]).optional(),default:U().optional()}),rM=S({type:e0(["number","integer"]),title:U().optional(),description:U().optional(),minimum:J0().optional(),maximum:J0().optional(),default:J0().optional()}),tM=S({type:x("string"),title:U().optional(),description:U().optional(),enum:E(U()),default:U().optional()}),aM=S({type:x("string"),title:U().optional(),description:U().optional(),oneOf:E(S({const:U(),title:U()})),default:U().optional()}),sM=S({type:x("string"),title:U().optional(),description:U().optional(),enum:E(U()),enumNames:E(U()).optional(),default:U().optional()}),eM=q0([tM,aM]),Qb=S({type:x("array"),title:U().optional(),description:U().optional(),minItems:J0().optional(),maxItems:J0().optional(),items:S({type:x("string"),enum:E(U())}),default:E(U()).optional()}),Yb=S({type:x("array"),title:U().optional(),description:U().optional(),minItems:J0().optional(),maxItems:J0().optional(),items:S({anyOf:E(S({const:U(),title:U()}))}),default:E(U()).optional()}),Xb=q0([Qb,Yb]),Wb=q0([sM,eM,Xb]),$b=q0([Wb,nM,oM,rM]),Jb=d8.extend({mode:x("form").optional(),message:U(),requestedSchema:S({type:x("object"),properties:w0(U(),$b),required:E(U()).optional()})}),Gb=d8.extend({mode:x("url"),message:U(),elicitationId:U(),url:U().url()}),Hb=q0([Jb,Gb]),J9=v0.extend({method:x("elicitation/create"),params:Hb}),Bb=V1.extend({elicitationId:U()}),zb=F1.extend({method:x("notifications/elicitation/complete"),params:Bb}),i9=x0.extend({action:e0(["accept","decline","cancel"]),content:H5((Q)=>Q===null?void 0:Q,w0(U(),q0([U(),J0(),H0(),E(U())])).optional())}),Kb=S({type:x("ref/resource"),uri:U()});var Vb=S({type:x("ref/prompt"),name:U()}),Fb=z1.extend({ref:q0([Vb,Kb]),argument:S({name:U(),value:U()}),context:S({arguments:w0(U(),U()).optional()}).optional()}),tQ=v0.extend({method:x("completion/complete"),params:Fb});function r3(Q){if(Q.params.ref.type!=="ref/prompt")throw TypeError(`Expected CompleteRequestPrompt, but got ${Q.params.ref.type}`)}function t3(Q){if(Q.params.ref.type!=="ref/resource")throw TypeError(`Expected CompleteRequestResourceTemplate, but got ${Q.params.ref.type}`)}var E5=x0.extend({completion:T0({values:E(U()).max(100),total:b0(J0().int()),hasMore:b0(H0())})}),Ab=S({uri:U().startsWith("file://"),name:U().optional(),_meta:w0(U(),j0()).optional()}),qb=v0.extend({method:x("roots/list"),params:z1.optional()}),I5=x0.extend({roots:E(Ab)}),Db=F1.extend({method:x("notifications/roots/list_changed"),params:V1.optional()}),il=q0([yQ,V5,tQ,Z5,oQ,nQ,pQ,dQ,iQ,PM,RM,d9,rQ,gQ,uQ,lQ,cQ]),nl=q0([vQ,fQ,xQ,Db,a8]),ol=q0([e1,X4,R5,i9,I5,hQ,mQ,Q6]),rl=q0([yQ,$9,J9,qb,gQ,uQ,lQ,cQ]),tl=q0([vQ,fQ,Y4,e8,Y9,W9,X9,a8,zb]),al=q0([e1,F5,E5,b5,U5,q5,D5,L5,N6,P5,hQ,mQ,Q6]);class I extends Error{constructor(Q,Y,X){super(`MCP error ${Q}: ${Y}`);this.code=Q,this.data=X,this.name="McpError"}static fromError(Q,Y,X){if(Q===k.UrlElicitationRequired&&X){let W=X;if(W.elicitations)return new a3(W.elicitations,Y)}return new I(Q,Y,X)}}class a3 extends I{constructor(Q,Y=`URL elicitation${Q.length>1?"s":""} required`){super(k.UrlElicitationRequired,Y,{elicitations:Q})}get elicitations(){return this.data?.elicitations??[]}}function M6(Q){return Q==="completed"||Q==="failed"||Q==="cancelled"}var e3=Symbol("Let zodToJsonSchema decide on which parser to use");var s3={name:void 0,$refStrategy:"root",basePath:["#"],effectStrategy:"input",pipeStrategy:"all",dateStrategy:"format:date-time",mapStrategy:"entries",removeAdditionalStrategy:"passthrough",allowedAdditionalProperties:!0,rejectedAdditionalProperties:!1,definitionPath:"definitions",target:"jsonSchema7",strictUnions:!1,definitions:{},errorMessages:!1,markdownDescription:!1,patternStrategy:"escape",applyRegexFlags:!1,emailStrategy:"format:email",base64Strategy:"contentEncoding:base64",nameStrategy:"ref",openAiAnyTypeName:"OpenAiAnyType"},QB=(Q)=>typeof Q==="string"?{...s3,name:Q}:{...s3,...Q};var YB=(Q)=>{let Y=QB(Q),X=Y.name!==void 0?[...Y.basePath,Y.definitionPath,Y.name]:Y.basePath;return{...Y,flags:{hasReferencedOpenAiAnyType:!1},currentPath:X,propertyPath:void 0,seen:new Map(Object.entries(Y.definitions).map(([W,$])=>[$._def,{def:$._def,path:[...Y.basePath,Y.definitionPath,W],jsonSchema:void 0}]))}};function S5(Q,Y,X,W){if(!W?.errorMessages)return;if(X)Q.errorMessage={...Q.errorMessage,[Y]:X}}function s(Q,Y,X,W,$){Q[Y]=X,S5(Q,Y,W,$)}var aQ=(Q,Y)=>{let X=0;for(;X<Q.length&&X<Y.length;X++)if(Q[X]!==Y[X])break;return[(Q.length-X).toString(),...Y.slice(X)].join("/")};function N0(Q){if(Q.target!=="openAi")return{};let Y=[...Q.basePath,Q.definitionPath,Q.openAiAnyTypeName];return Q.flags.hasReferencedOpenAiAnyType=!0,{$ref:Q.$refStrategy==="relative"?aQ(Y,Q.currentPath):Y.join("/")}}function XB(Q,Y){let X={type:"array"};if(Q.type?._def&&Q.type?._def?.typeName!==P.ZodAny)X.items=u(Q.type._def,{...Y,currentPath:[...Y.currentPath,"items"]});if(Q.minLength)s(X,"minItems",Q.minLength.value,Q.minLength.message,Y);if(Q.maxLength)s(X,"maxItems",Q.maxLength.value,Q.maxLength.message,Y);if(Q.exactLength)s(X,"minItems",Q.exactLength.value,Q.exactLength.message,Y),s(X,"maxItems",Q.exactLength.value,Q.exactLength.message,Y);return X}function WB(Q,Y){let X={type:"integer",format:"int64"};if(!Q.checks)return X;for(let W of Q.checks)switch(W.kind){case"min":if(Y.target==="jsonSchema7")if(W.inclusive)s(X,"minimum",W.value,W.message,Y);else s(X,"exclusiveMinimum",W.value,W.message,Y);else{if(!W.inclusive)X.exclusiveMinimum=!0;s(X,"minimum",W.value,W.message,Y)}break;case"max":if(Y.target==="jsonSchema7")if(W.inclusive)s(X,"maximum",W.value,W.message,Y);else s(X,"exclusiveMaximum",W.value,W.message,Y);else{if(!W.inclusive)X.exclusiveMaximum=!0;s(X,"maximum",W.value,W.message,Y)}break;case"multipleOf":s(X,"multipleOf",W.value,W.message,Y);break}return X}function $B(){return{type:"boolean"}}function sQ(Q,Y){return u(Q.type._def,Y)}var JB=(Q,Y)=>{return u(Q.innerType._def,Y)};function T5(Q,Y,X){let W=X??Y.dateStrategy;if(Array.isArray(W))return{anyOf:W.map(($,J)=>T5(Q,Y,$))};switch(W){case"string":case"format:date-time":return{type:"string",format:"date-time"};case"format:date":return{type:"string",format:"date"};case"integer":return Ob(Q,Y)}}var Ob=(Q,Y)=>{let X={type:"integer",format:"unix-time"};if(Y.target==="openApi3")return X;for(let W of Q.checks)switch(W.kind){case"min":s(X,"minimum",W.value,W.message,Y);break;case"max":s(X,"maximum",W.value,W.message,Y);break}return X};function GB(Q,Y){return{...u(Q.innerType._def,Y),default:Q.defaultValue()}}function HB(Q,Y){return Y.effectStrategy==="input"?u(Q.schema._def,Y):N0(Y)}function BB(Q){return{type:"string",enum:Array.from(Q.values)}}var Lb=(Q)=>{if("type"in Q&&Q.type==="string")return!1;return"allOf"in Q};function zB(Q,Y){let X=[u(Q.left._def,{...Y,currentPath:[...Y.currentPath,"allOf","0"]}),u(Q.right._def,{...Y,currentPath:[...Y.currentPath,"allOf","1"]})].filter((J)=>!!J),W=Y.target==="jsonSchema2019-09"?{unevaluatedProperties:!1}:void 0,$=[];return X.forEach((J)=>{if(Lb(J)){if($.push(...J.allOf),J.unevaluatedProperties===void 0)W=void 0}else{let G=J;if("additionalProperties"in J&&J.additionalProperties===!1){let{additionalProperties:H,...B}=J;G=B}else W=void 0;$.push(G)}}),$.length?{allOf:$,...W}:void 0}function KB(Q,Y){let X=typeof Q.value;if(X!=="bigint"&&X!=="number"&&X!=="boolean"&&X!=="string")return{type:Array.isArray(Q.value)?"array":"object"};if(Y.target==="openApi3")return{type:X==="bigint"?"integer":X,enum:[Q.value]};return{type:X==="bigint"?"integer":X,const:Q.value}}var C5=void 0,P1={cuid:/^[cC][^\s-]{8,}$/,cuid2:/^[0-9a-z]+$/,ulid:/^[0-9A-HJKMNP-TV-Z]{26}$/,email:/^(?!\.)(?!.*\.\.)([a-zA-Z0-9_'+\-\.]*)[a-zA-Z0-9_+-]@([a-zA-Z0-9][a-zA-Z0-9\-]*\.)+[a-zA-Z]{2,}$/,emoji:()=>{if(C5===void 0)C5=RegExp("^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$","u");return C5},uuid:/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/,ipv4:/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,ipv4Cidr:/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/(3[0-2]|[12]?[0-9])$/,ipv6:/^(([a-f0-9]{1,4}:){7}|::([a-f0-9]{1,4}:){0,6}|([a-f0-9]{1,4}:){1}:([a-f0-9]{1,4}:){0,5}|([a-f0-9]{1,4}:){2}:([a-f0-9]{1,4}:){0,4}|([a-f0-9]{1,4}:){3}:([a-f0-9]{1,4}:){0,3}|([a-f0-9]{1,4}:){4}:([a-f0-9]{1,4}:){0,2}|([a-f0-9]{1,4}:){5}:([a-f0-9]{1,4}:){0,1})([a-f0-9]{1,4}|(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2})))$/,ipv6Cidr:/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,base64:/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,base64url:/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,nanoid:/^[a-zA-Z0-9_-]{21}$/,jwt:/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/};function eQ(Q,Y){let X={type:"string"};if(Q.checks)for(let W of Q.checks)switch(W.kind){case"min":s(X,"minLength",typeof X.minLength==="number"?Math.max(X.minLength,W.value):W.value,W.message,Y);break;case"max":s(X,"maxLength",typeof X.maxLength==="number"?Math.min(X.maxLength,W.value):W.value,W.message,Y);break;case"email":switch(Y.emailStrategy){case"format:email":Z1(X,"email",W.message,Y);break;case"format:idn-email":Z1(X,"idn-email",W.message,Y);break;case"pattern:zod":p0(X,P1.email,W.message,Y);break}break;case"url":Z1(X,"uri",W.message,Y);break;case"uuid":Z1(X,"uuid",W.message,Y);break;case"regex":p0(X,W.regex,W.message,Y);break;case"cuid":p0(X,P1.cuid,W.message,Y);break;case"cuid2":p0(X,P1.cuid2,W.message,Y);break;case"startsWith":p0(X,RegExp(`^${k5(W.value,Y)}`),W.message,Y);break;case"endsWith":p0(X,RegExp(`${k5(W.value,Y)}$`),W.message,Y);break;case"datetime":Z1(X,"date-time",W.message,Y);break;case"date":Z1(X,"date",W.message,Y);break;case"time":Z1(X,"time",W.message,Y);break;case"duration":Z1(X,"duration",W.message,Y);break;case"length":s(X,"minLength",typeof X.minLength==="number"?Math.max(X.minLength,W.value):W.value,W.message,Y),s(X,"maxLength",typeof X.maxLength==="number"?Math.min(X.maxLength,W.value):W.value,W.message,Y);break;case"includes":{p0(X,RegExp(k5(W.value,Y)),W.message,Y);break}case"ip":{if(W.version!=="v6")Z1(X,"ipv4",W.message,Y);if(W.version!=="v4")Z1(X,"ipv6",W.message,Y);break}case"base64url":p0(X,P1.base64url,W.message,Y);break;case"jwt":p0(X,P1.jwt,W.message,Y);break;case"cidr":{if(W.version!=="v6")p0(X,P1.ipv4Cidr,W.message,Y);if(W.version!=="v4")p0(X,P1.ipv6Cidr,W.message,Y);break}case"emoji":p0(X,P1.emoji(),W.message,Y);break;case"ulid":{p0(X,P1.ulid,W.message,Y);break}case"base64":{switch(Y.base64Strategy){case"format:binary":{Z1(X,"binary",W.message,Y);break}case"contentEncoding:base64":{s(X,"contentEncoding","base64",W.message,Y);break}case"pattern:zod":{p0(X,P1.base64,W.message,Y);break}}break}case"nanoid":p0(X,P1.nanoid,W.message,Y);case"toLowerCase":case"toUpperCase":case"trim":break;default:(($)=>{})(W)}return X}function k5(Q,Y){return Y.patternStrategy==="escape"?jb(Q):Q}var Ub=new Set("ABCDEFGHIJKLMNOPQRSTUVXYZabcdefghijklmnopqrstuvxyz0123456789");function jb(Q){let Y="";for(let X=0;X<Q.length;X++){if(!Ub.has(Q[X]))Y+="\\";Y+=Q[X]}return Y}function Z1(Q,Y,X,W){if(Q.format||Q.anyOf?.some(($)=>$.format)){if(!Q.anyOf)Q.anyOf=[];if(Q.format){if(Q.anyOf.push({format:Q.format,...Q.errorMessage&&W.errorMessages&&{errorMessage:{format:Q.errorMessage.format}}}),delete Q.format,Q.errorMessage){if(delete Q.errorMessage.format,Object.keys(Q.errorMessage).length===0)delete Q.errorMessage}}Q.anyOf.push({format:Y,...X&&W.errorMessages&&{errorMessage:{format:X}}})}else s(Q,"format",Y,X,W)}function p0(Q,Y,X,W){if(Q.pattern||Q.allOf?.some(($)=>$.pattern)){if(!Q.allOf)Q.allOf=[];if(Q.pattern){if(Q.allOf.push({pattern:Q.pattern,...Q.errorMessage&&W.errorMessages&&{errorMessage:{pattern:Q.errorMessage.pattern}}}),delete Q.pattern,Q.errorMessage){if(delete Q.errorMessage.pattern,Object.keys(Q.errorMessage).length===0)delete Q.errorMessage}}Q.allOf.push({pattern:VB(Y,W),...X&&W.errorMessages&&{errorMessage:{pattern:X}}})}else s(Q,"pattern",VB(Y,W),X,W)}function VB(Q,Y){if(!Y.applyRegexFlags||!Q.flags)return Q.source;let X={i:Q.flags.includes("i"),m:Q.flags.includes("m"),s:Q.flags.includes("s")},W=X.i?Q.source.toLowerCase():Q.source,$="",J=!1,G=!1,H=!1;for(let B=0;B<W.length;B++){if(J){$+=W[B],J=!1;continue}if(X.i){if(G){if(W[B].match(/[a-z]/)){if(H)$+=W[B],$+=`${W[B-2]}-${W[B]}`.toUpperCase(),H=!1;else if(W[B+1]==="-"&&W[B+2]?.match(/[a-z]/))$+=W[B],H=!0;else $+=`${W[B]}${W[B].toUpperCase()}`;continue}}else if(W[B].match(/[a-z]/)){$+=`[${W[B]}${W[B].toUpperCase()}]`;continue}}if(X.m){if(W[B]==="^"){$+=`(^|(?<=[\r
44
44
  ]))`;continue}else if(W[B]==="$"){$+=`($|(?=[\r
45
- ]))`;continue}}if(Y.s&&W[B]==="."){$+=G?`${W[B]}\r
45
+ ]))`;continue}}if(X.s&&W[B]==="."){$+=G?`${W[B]}\r
46
46
  `:`[${W[B]}\r
47
- ]`;continue}if($+=W[B],W[B]==="\\")J=!0;else if(G&&W[B]==="]")G=!1;else if(!G&&W[B]==="[")G=!0}try{new RegExp($)}catch{return console.warn(`Could not convert regex pattern at ${X.currentPath.join("/")} to a flag-independent form! Falling back to the flag-ignorant source`),Q.source}return $}function tQ(Q,X){if(X.target==="openAi")console.warn("Warning: OpenAI may not support records in schemas! Try an array of key-value pairs instead.");if(X.target==="openApi3"&&Q.keyType?._def.typeName===P.ZodEnum)return{type:"object",required:Q.keyType._def.values,properties:Q.keyType._def.values.reduce((W,$)=>({...W,[$]:u(Q.valueType._def,{...X,currentPath:[...X.currentPath,"properties",$]})??M0(X)}),{}),additionalProperties:X.rejectedAdditionalProperties};let Y={type:"object",additionalProperties:u(Q.valueType._def,{...X,currentPath:[...X.currentPath,"additionalProperties"]})??X.allowedAdditionalProperties};if(X.target==="openApi3")return Y;if(Q.keyType?._def.typeName===P.ZodString&&Q.keyType._def.checks?.length){let{type:W,...$}=rQ(Q.keyType._def,X);return{...Y,propertyNames:$}}else if(Q.keyType?._def.typeName===P.ZodEnum)return{...Y,propertyNames:{enum:Q.keyType._def.values}};else if(Q.keyType?._def.typeName===P.ZodBranded&&Q.keyType._def.type._def.typeName===P.ZodString&&Q.keyType._def.type._def.checks?.length){let{type:W,...$}=oQ(Q.keyType._def,X);return{...Y,propertyNames:$}}return Y}function s3(Q,X){if(X.mapStrategy==="record")return tQ(Q,X);let Y=u(Q.keyType._def,{...X,currentPath:[...X.currentPath,"items","items","0"]})||M0(X),W=u(Q.valueType._def,{...X,currentPath:[...X.currentPath,"items","items","1"]})||M0(X);return{type:"array",maxItems:125,items:{type:"array",items:[Y,W],minItems:2,maxItems:2}}}function e3(Q){let X=Q.values,W=Object.keys(Q.values).filter((J)=>{return typeof X[X[J]]!=="number"}).map((J)=>X[J]),$=Array.from(new Set(W.map((J)=>typeof J)));return{type:$.length===1?$[0]==="string"?"string":"number":["string","number"],enum:W}}function QB(Q){return Q.target==="openAi"?void 0:{not:M0({...Q,currentPath:[...Q.currentPath,"not"]})}}function XB(Q){return Q.target==="openApi3"?{enum:["null"],nullable:!0}:{type:"null"}}var e8={ZodString:"string",ZodNumber:"number",ZodBigInt:"integer",ZodBoolean:"boolean",ZodNull:"null"};function WB(Q,X){if(X.target==="openApi3")return YB(Q,X);let Y=Q.options instanceof Map?Array.from(Q.options.values()):Q.options;if(Y.every((W)=>(W._def.typeName in e8)&&(!W._def.checks||!W._def.checks.length))){let W=Y.reduce(($,J)=>{let G=e8[J._def.typeName];return G&&!$.includes(G)?[...$,G]:$},[]);return{type:W.length>1?W:W[0]}}else if(Y.every((W)=>W._def.typeName==="ZodLiteral"&&!W.description)){let W=Y.reduce(($,J)=>{let G=typeof J._def.value;switch(G){case"string":case"number":case"boolean":return[...$,G];case"bigint":return[...$,"integer"];case"object":if(J._def.value===null)return[...$,"null"];case"symbol":case"undefined":case"function":default:return $}},[]);if(W.length===Y.length){let $=W.filter((J,G,H)=>H.indexOf(J)===G);return{type:$.length>1?$:$[0],enum:Y.reduce((J,G)=>{return J.includes(G._def.value)?J:[...J,G._def.value]},[])}}}else if(Y.every((W)=>W._def.typeName==="ZodEnum"))return{type:"string",enum:Y.reduce((W,$)=>[...W,...$._def.values.filter((J)=>!W.includes(J))],[])};return YB(Q,X)}var YB=(Q,X)=>{let Y=(Q.options instanceof Map?Array.from(Q.options.values()):Q.options).map((W,$)=>u(W._def,{...X,currentPath:[...X.currentPath,"anyOf",`${$}`]})).filter((W)=>!!W&&(!X.strictUnions||typeof W==="object"&&Object.keys(W).length>0));return Y.length?{anyOf:Y}:void 0};function $B(Q,X){if(["ZodString","ZodNumber","ZodBigInt","ZodBoolean","ZodNull"].includes(Q.innerType._def.typeName)&&(!Q.innerType._def.checks||!Q.innerType._def.checks.length)){if(X.target==="openApi3")return{type:e8[Q.innerType._def.typeName],nullable:!0};return{type:[e8[Q.innerType._def.typeName],"null"]}}if(X.target==="openApi3"){let W=u(Q.innerType._def,{...X,currentPath:[...X.currentPath]});if(W&&"$ref"in W)return{allOf:[W],nullable:!0};return W&&{...W,nullable:!0}}let Y=u(Q.innerType._def,{...X,currentPath:[...X.currentPath,"anyOf","0"]});return Y&&{anyOf:[Y,{type:"null"}]}}function JB(Q,X){let Y={type:"number"};if(!Q.checks)return Y;for(let W of Q.checks)switch(W.kind){case"int":Y.type="integer",N5(Y,"type",W.message,X);break;case"min":if(X.target==="jsonSchema7")if(W.inclusive)s(Y,"minimum",W.value,W.message,X);else s(Y,"exclusiveMinimum",W.value,W.message,X);else{if(!W.inclusive)Y.exclusiveMinimum=!0;s(Y,"minimum",W.value,W.message,X)}break;case"max":if(X.target==="jsonSchema7")if(W.inclusive)s(Y,"maximum",W.value,W.message,X);else s(Y,"exclusiveMaximum",W.value,W.message,X);else{if(!W.inclusive)Y.exclusiveMaximum=!0;s(Y,"maximum",W.value,W.message,X)}break;case"multipleOf":s(Y,"multipleOf",W.value,W.message,X);break}return Y}function GB(Q,X){let Y=X.target==="openAi",W={type:"object",properties:{}},$=[],J=Q.shape();for(let H in J){let B=J[H];if(B===void 0||B._def===void 0)continue;let z=sw(B);if(z&&Y){if(B._def.typeName==="ZodOptional")B=B._def.innerType;if(!B.isNullable())B=B.nullable();z=!1}let K=u(B._def,{...X,currentPath:[...X.currentPath,"properties",H],propertyPath:[...X.currentPath,"properties",H]});if(K===void 0)continue;if(W.properties[H]=K,!z)$.push(H)}if($.length)W.required=$;let G=aw(Q,X);if(G!==void 0)W.additionalProperties=G;return W}function aw(Q,X){if(Q.catchall._def.typeName!=="ZodNever")return u(Q.catchall._def,{...X,currentPath:[...X.currentPath,"additionalProperties"]});switch(Q.unknownKeys){case"passthrough":return X.allowedAdditionalProperties;case"strict":return X.rejectedAdditionalProperties;case"strip":return X.removeAdditionalStrategy==="strict"?X.allowedAdditionalProperties:X.rejectedAdditionalProperties}}function sw(Q){try{return Q.isOptional()}catch{return!0}}var HB=(Q,X)=>{if(X.currentPath.toString()===X.propertyPath?.toString())return u(Q.innerType._def,X);let Y=u(Q.innerType._def,{...X,currentPath:[...X.currentPath,"anyOf","1"]});return Y?{anyOf:[{not:M0(X)},Y]}:M0(X)};var BB=(Q,X)=>{if(X.pipeStrategy==="input")return u(Q.in._def,X);else if(X.pipeStrategy==="output")return u(Q.out._def,X);let Y=u(Q.in._def,{...X,currentPath:[...X.currentPath,"allOf","0"]}),W=u(Q.out._def,{...X,currentPath:[...X.currentPath,"allOf",Y?"1":"0"]});return{allOf:[Y,W].filter(($)=>$!==void 0)}};function zB(Q,X){return u(Q.type._def,X)}function KB(Q,X){let W={type:"array",uniqueItems:!0,items:u(Q.valueType._def,{...X,currentPath:[...X.currentPath,"items"]})};if(Q.minSize)s(W,"minItems",Q.minSize.value,Q.minSize.message,X);if(Q.maxSize)s(W,"maxItems",Q.maxSize.value,Q.maxSize.message,X);return W}function VB(Q,X){if(Q.rest)return{type:"array",minItems:Q.items.length,items:Q.items.map((Y,W)=>u(Y._def,{...X,currentPath:[...X.currentPath,"items",`${W}`]})).reduce((Y,W)=>W===void 0?Y:[...Y,W],[]),additionalItems:u(Q.rest._def,{...X,currentPath:[...X.currentPath,"additionalItems"]})};else return{type:"array",minItems:Q.items.length,maxItems:Q.items.length,items:Q.items.map((Y,W)=>u(Y._def,{...X,currentPath:[...X.currentPath,"items",`${W}`]})).reduce((Y,W)=>W===void 0?Y:[...Y,W],[])}}function FB(Q){return{not:M0(Q)}}function AB(Q){return M0(Q)}var qB=(Q,X)=>{return u(Q.innerType._def,X)};var DB=(Q,X,Y)=>{switch(X){case P.ZodString:return rQ(Q,Y);case P.ZodNumber:return JB(Q,Y);case P.ZodObject:return GB(Q,Y);case P.ZodBigInt:return c3(Q,Y);case P.ZodBoolean:return p3();case P.ZodDate:return w5(Q,Y);case P.ZodUndefined:return FB(Y);case P.ZodNull:return XB(Y);case P.ZodArray:return m3(Q,Y);case P.ZodUnion:case P.ZodDiscriminatedUnion:return WB(Q,Y);case P.ZodIntersection:return r3(Q,Y);case P.ZodTuple:return VB(Q,Y);case P.ZodRecord:return tQ(Q,Y);case P.ZodLiteral:return t3(Q,Y);case P.ZodEnum:return o3(Q);case P.ZodNativeEnum:return e3(Q);case P.ZodNullable:return $B(Q,Y);case P.ZodOptional:return HB(Q,Y);case P.ZodMap:return s3(Q,Y);case P.ZodSet:return KB(Q,Y);case P.ZodLazy:return()=>Q.getter()._def;case P.ZodPromise:return zB(Q,Y);case P.ZodNaN:case P.ZodNever:return QB(Y);case P.ZodEffects:return n3(Q,Y);case P.ZodAny:return M0(Y);case P.ZodUnknown:return AB(Y);case P.ZodDefault:return i3(Q,Y);case P.ZodBranded:return oQ(Q,Y);case P.ZodReadonly:return qB(Q,Y);case P.ZodCatch:return d3(Q,Y);case P.ZodPipeline:return BB(Q,Y);case P.ZodFunction:case P.ZodVoid:case P.ZodSymbol:return;default:return((W)=>{return})(X)}};function u(Q,X,Y=!1){let W=X.seen.get(Q);if(X.override){let H=X.override?.(Q,X,W,Y);if(H!==h3)return H}if(W&&!Y){let H=ew(W,X);if(H!==void 0)return H}let $={def:Q,path:X.currentPath,jsonSchema:void 0};X.seen.set(Q,$);let J=DB(Q,Q.typeName,X),G=typeof J==="function"?u(J(),X):J;if(G)Qb(Q,X,G);if(X.postProcess){let H=X.postProcess(G,Q,X);return $.jsonSchema=G,H}return $.jsonSchema=G,G}var ew=(Q,X)=>{switch(X.$refStrategy){case"root":return{$ref:Q.path.join("/")};case"relative":return{$ref:nQ(X.currentPath,Q.path)};case"none":case"seen":{if(Q.path.length<X.currentPath.length&&Q.path.every((Y,W)=>X.currentPath[W]===Y))return console.warn(`Recursive reference detected at ${X.currentPath.join("/")}! Defaulting to any`),M0(X);return X.$refStrategy==="seen"?M0(X):void 0}}},Qb=(Q,X,Y)=>{if(Q.description){if(Y.description=Q.description,X.markdownDescription)Y.markdownDescription=Q.description}return Y};var Z5=(Q,X)=>{let Y=l3(X),W=typeof X==="object"&&X.definitions?Object.entries(X.definitions).reduce((B,[z,K])=>({...B,[z]:u(K._def,{...Y,currentPath:[...Y.basePath,Y.definitionPath,z]},!0)??M0(Y)}),{}):void 0,$=typeof X==="string"?X:X?.nameStrategy==="title"?void 0:X?.name,J=u(Q._def,$===void 0?Y:{...Y,currentPath:[...Y.basePath,Y.definitionPath,$]},!1)??M0(Y),G=typeof X==="object"&&X.name!==void 0&&X.nameStrategy==="title"?X.name:void 0;if(G!==void 0)J.title=G;if(Y.flags.hasReferencedOpenAiAnyType){if(!W)W={};if(!W[Y.openAiAnyTypeName])W[Y.openAiAnyTypeName]={type:["string","number","integer","boolean","array","null"],items:{$ref:Y.$refStrategy==="relative"?"1":[...Y.basePath,Y.definitionPath,Y.openAiAnyTypeName].join("/")}}}let H=$===void 0?W?{...J,[Y.definitionPath]:W}:J:{$ref:[...Y.$refStrategy==="relative"?[]:Y.basePath,Y.definitionPath,$].join("/"),[Y.definitionPath]:{...W,[$]:J}};if(Y.target==="jsonSchema7")H.$schema="http://json-schema.org/draft-07/schema#";else if(Y.target==="jsonSchema2019-09"||Y.target==="openAi")H.$schema="https://json-schema.org/draft/2019-09/schema#";if(Y.target==="openAi"&&(("anyOf"in H)||("oneOf"in H)||("allOf"in H)||("type"in H)&&Array.isArray(H.type)))console.warn("Warning: OpenAI may not support schemas with unions as roots! Try wrapping it in an object property.");return H};function Xb(Q){if(!Q)return"draft-7";if(Q==="jsonSchema7"||Q==="draft-7")return"draft-7";if(Q==="jsonSchema2019-09"||Q==="draft-2020-12")return"draft-2020-12";return"draft-7"}function R5(Q,X){if(s0(Q))return UQ(Q,{target:Xb(X?.target),io:X?.pipeStrategy??"input"});return Z5(Q,{strictUnions:X?.strictUnions??!0,pipeStrategy:X?.pipeStrategy??"input"})}function E5(Q){let Y=c1(Q)?.method;if(!Y)throw Error("Schema is missing a method literal");let W=NQ(Y);if(typeof W!=="string")throw Error("Schema method literal must be a string");return W}function S5(Q,X){let Y=c0(Q,X);if(!Y.success)throw Y.error;return Y.data}var Yb=60000;class Q4{constructor(Q){if(this._options=Q,this._requestMessageId=0,this._requestHandlers=new Map,this._requestHandlerAbortControllers=new Map,this._notificationHandlers=new Map,this._responseHandlers=new Map,this._progressHandlers=new Map,this._timeoutInfo=new Map,this._pendingDebouncedNotifications=new Set,this._taskProgressTokens=new Map,this._requestResolvers=new Map,this.setNotificationHandler(TQ,(X)=>{this._oncancel(X)}),this.setNotificationHandler(vQ,(X)=>{this._onprogress(X)}),this.setRequestHandler(kQ,(X)=>({})),this._taskStore=Q?.taskStore,this._taskMessageQueue=Q?.taskMessageQueue,this._taskStore)this.setRequestHandler(_Q,async(X,Y)=>{let W=await this._taskStore.getTask(X.params.taskId,Y.sessionId);if(!W)throw new S(k.InvalidParams,"Failed to retrieve task: Task not found");return{...W}}),this.setRequestHandler(yQ,async(X,Y)=>{let W=async()=>{let $=X.params.taskId;if(this._taskMessageQueue){let G;while(G=await this._taskMessageQueue.dequeue($,Y.sessionId)){if(G.type==="response"||G.type==="error"){let H=G.message,B=H.id,z=this._requestResolvers.get(B);if(z)if(this._requestResolvers.delete(B),G.type==="response")z(H);else{let K=H,V=new S(K.error.code,K.error.message,K.error.data);z(V)}else{let K=G.type==="response"?"Response":"Error";this._onerror(Error(`${K} handler missing for request ${B}`))}continue}await this._transport?.send(G.message,{relatedRequestId:Y.requestId})}}let J=await this._taskStore.getTask($,Y.sessionId);if(!J)throw new S(k.InvalidParams,`Task not found: ${$}`);if(!N6(J.status))return await this._waitForTaskUpdate($,Y.signal),await W();if(N6(J.status)){let G=await this._taskStore.getTaskResult($,Y.sessionId);return this._clearTaskQueue($),{...G,_meta:{...G._meta,[j6]:{taskId:$}}}}return await W()};return await W()}),this.setRequestHandler(fQ,async(X,Y)=>{try{let{tasks:W,nextCursor:$}=await this._taskStore.listTasks(X.params?.cursor,Y.sessionId);return{tasks:W,nextCursor:$,_meta:{}}}catch(W){throw new S(k.InvalidParams,`Failed to list tasks: ${W instanceof Error?W.message:String(W)}`)}}),this.setRequestHandler(hQ,async(X,Y)=>{try{let W=await this._taskStore.getTask(X.params.taskId,Y.sessionId);if(!W)throw new S(k.InvalidParams,`Task not found: ${X.params.taskId}`);if(N6(W.status))throw new S(k.InvalidParams,`Cannot cancel task in terminal status: ${W.status}`);await this._taskStore.updateTaskStatus(X.params.taskId,"cancelled","Client cancelled task execution.",Y.sessionId),this._clearTaskQueue(X.params.taskId);let $=await this._taskStore.getTask(X.params.taskId,Y.sessionId);if(!$)throw new S(k.InvalidParams,`Task not found after cancellation: ${X.params.taskId}`);return{_meta:{},...$}}catch(W){if(W instanceof S)throw W;throw new S(k.InvalidRequest,`Failed to cancel task: ${W instanceof Error?W.message:String(W)}`)}})}async _oncancel(Q){if(!Q.params.requestId)return;this._requestHandlerAbortControllers.get(Q.params.requestId)?.abort(Q.params.reason)}_setupTimeout(Q,X,Y,W,$=!1){this._timeoutInfo.set(Q,{timeoutId:setTimeout(W,X),startTime:Date.now(),timeout:X,maxTotalTimeout:Y,resetTimeoutOnProgress:$,onTimeout:W})}_resetTimeout(Q){let X=this._timeoutInfo.get(Q);if(!X)return!1;let Y=Date.now()-X.startTime;if(X.maxTotalTimeout&&Y>=X.maxTotalTimeout)throw this._timeoutInfo.delete(Q),S.fromError(k.RequestTimeout,"Maximum total timeout exceeded",{maxTotalTimeout:X.maxTotalTimeout,totalElapsed:Y});return clearTimeout(X.timeoutId),X.timeoutId=setTimeout(X.onTimeout,X.timeout),!0}_cleanupTimeout(Q){let X=this._timeoutInfo.get(Q);if(X)clearTimeout(X.timeoutId),this._timeoutInfo.delete(Q)}async connect(Q){this._transport=Q;let X=this.transport?.onclose;this._transport.onclose=()=>{X?.(),this._onclose()};let Y=this.transport?.onerror;this._transport.onerror=($)=>{Y?.($),this._onerror($)};let W=this._transport?.onmessage;this._transport.onmessage=($,J)=>{if(W?.($,J),a6($)||Z3($))this._onresponse($);else if(m8($))this._onrequest($,J);else if(P3($))this._onnotification($);else this._onerror(Error(`Unknown message type: ${JSON.stringify($)}`))},await this._transport.start()}_onclose(){let Q=this._responseHandlers;this._responseHandlers=new Map,this._progressHandlers.clear(),this._taskProgressTokens.clear(),this._pendingDebouncedNotifications.clear();let X=S.fromError(k.ConnectionClosed,"Connection closed");this._transport=void 0,this.onclose?.();for(let Y of Q.values())Y(X)}_onerror(Q){this.onerror?.(Q)}_onnotification(Q){let X=this._notificationHandlers.get(Q.method)??this.fallbackNotificationHandler;if(X===void 0)return;Promise.resolve().then(()=>X(Q)).catch((Y)=>this._onerror(Error(`Uncaught error in notification handler: ${Y}`)))}_onrequest(Q,X){let Y=this._requestHandlers.get(Q.method)??this.fallbackRequestHandler,W=this._transport,$=Q.params?._meta?.[j6]?.taskId;if(Y===void 0){let z={jsonrpc:"2.0",id:Q.id,error:{code:k.MethodNotFound,message:"Method not found"}};if($&&this._taskMessageQueue)this._enqueueTaskMessage($,{type:"error",message:z,timestamp:Date.now()},W?.sessionId).catch((K)=>this._onerror(Error(`Failed to enqueue error response: ${K}`)));else W?.send(z).catch((K)=>this._onerror(Error(`Failed to send an error response: ${K}`)));return}let J=new AbortController;this._requestHandlerAbortControllers.set(Q.id,J);let G=N3(Q.params)?Q.params.task:void 0,H=this._taskStore?this.requestTaskStore(Q,W?.sessionId):void 0,B={signal:J.signal,sessionId:W?.sessionId,_meta:Q.params?._meta,sendNotification:async(z)=>{let K={relatedRequestId:Q.id};if($)K.relatedTask={taskId:$};await this.notification(z,K)},sendRequest:async(z,K,V)=>{let q={...V,relatedRequestId:Q.id};if($&&!q.relatedTask)q.relatedTask={taskId:$};let F=q.relatedTask?.taskId??$;if(F&&H)await H.updateTaskStatus(F,"input_required");return await this.request(z,K,q)},authInfo:X?.authInfo,requestId:Q.id,requestInfo:X?.requestInfo,taskId:$,taskStore:H,taskRequestedTtl:G?.ttl,closeSSEStream:X?.closeSSEStream,closeStandaloneSSEStream:X?.closeStandaloneSSEStream};Promise.resolve().then(()=>{if(G)this.assertTaskHandlerCapability(Q.method)}).then(()=>Y(Q,B)).then(async(z)=>{if(J.signal.aborted)return;let K={result:z,jsonrpc:"2.0",id:Q.id};if($&&this._taskMessageQueue)await this._enqueueTaskMessage($,{type:"response",message:K,timestamp:Date.now()},W?.sessionId);else await W?.send(K)},async(z)=>{if(J.signal.aborted)return;let K={jsonrpc:"2.0",id:Q.id,error:{code:Number.isSafeInteger(z.code)?z.code:k.InternalError,message:z.message??"Internal error",...z.data!==void 0&&{data:z.data}}};if($&&this._taskMessageQueue)await this._enqueueTaskMessage($,{type:"error",message:K,timestamp:Date.now()},W?.sessionId);else await W?.send(K)}).catch((z)=>this._onerror(Error(`Failed to send response: ${z}`))).finally(()=>{this._requestHandlerAbortControllers.delete(Q.id)})}_onprogress(Q){let{progressToken:X,...Y}=Q.params,W=Number(X),$=this._progressHandlers.get(W);if(!$){this._onerror(Error(`Received a progress notification for an unknown token: ${JSON.stringify(Q)}`));return}let J=this._responseHandlers.get(W),G=this._timeoutInfo.get(W);if(G&&J&&G.resetTimeoutOnProgress)try{this._resetTimeout(W)}catch(H){this._responseHandlers.delete(W),this._progressHandlers.delete(W),this._cleanupTimeout(W),J(H);return}$(Y)}_onresponse(Q){let X=Number(Q.id),Y=this._requestResolvers.get(X);if(Y){if(this._requestResolvers.delete(X),a6(Q))Y(Q);else{let J=new S(Q.error.code,Q.error.message,Q.error.data);Y(J)}return}let W=this._responseHandlers.get(X);if(W===void 0){this._onerror(Error(`Received a response for an unknown message ID: ${JSON.stringify(Q)}`));return}this._responseHandlers.delete(X),this._cleanupTimeout(X);let $=!1;if(a6(Q)&&Q.result&&typeof Q.result==="object"){let J=Q.result;if(J.task&&typeof J.task==="object"){let G=J.task;if(typeof G.taskId==="string")$=!0,this._taskProgressTokens.set(G.taskId,X)}}if(!$)this._progressHandlers.delete(X);if(a6(Q))W(Q);else{let J=S.fromError(Q.error.code,Q.error.message,Q.error.data);W(J)}}get transport(){return this._transport}async close(){await this._transport?.close()}async*requestStream(Q,X,Y){let{task:W}=Y??{};if(!W){try{yield{type:"result",result:await this.request(Q,X,Y)}}catch(J){yield{type:"error",error:J instanceof S?J:new S(k.InternalError,String(J))}}return}let $;try{let J=await this.request(Q,Q6,Y);if(J.task)$=J.task.taskId,yield{type:"taskCreated",task:J.task};else throw new S(k.InternalError,"Task creation did not return a task");while(!0){let G=await this.getTask({taskId:$},Y);if(yield{type:"taskStatus",task:G},N6(G.status)){if(G.status==="completed")yield{type:"result",result:await this.getTaskResult({taskId:$},X,Y)};else if(G.status==="failed")yield{type:"error",error:new S(k.InternalError,`Task ${$} failed`)};else if(G.status==="cancelled")yield{type:"error",error:new S(k.InternalError,`Task ${$} was cancelled`)};return}if(G.status==="input_required"){yield{type:"result",result:await this.getTaskResult({taskId:$},X,Y)};return}let H=G.pollInterval??this._options?.defaultTaskPollInterval??1000;await new Promise((B)=>setTimeout(B,H)),Y?.signal?.throwIfAborted()}}catch(J){yield{type:"error",error:J instanceof S?J:new S(k.InternalError,String(J))}}}request(Q,X,Y){let{relatedRequestId:W,resumptionToken:$,onresumptiontoken:J,task:G,relatedTask:H}=Y??{};return new Promise((B,z)=>{let K=(O)=>{z(O)};if(!this._transport){K(Error("Not connected"));return}if(this._options?.enforceStrictCapabilities===!0)try{if(this.assertCapabilityForMethod(Q.method),G)this.assertTaskCapability(Q.method)}catch(O){K(O);return}Y?.signal?.throwIfAborted();let V=this._requestMessageId++,q={...Q,jsonrpc:"2.0",id:V};if(Y?.onprogress)this._progressHandlers.set(V,Y.onprogress),q.params={...Q.params,_meta:{...Q.params?._meta||{},progressToken:V}};if(G)q.params={...q.params,task:G};if(H)q.params={...q.params,_meta:{...q.params?._meta||{},[j6]:H}};let F=(O)=>{this._responseHandlers.delete(V),this._progressHandlers.delete(V),this._cleanupTimeout(V),this._transport?.send({jsonrpc:"2.0",method:"notifications/cancelled",params:{requestId:V,reason:String(O)}},{relatedRequestId:W,resumptionToken:$,onresumptiontoken:J}).catch((w)=>this._onerror(Error(`Failed to send cancellation: ${w}`)));let N=O instanceof S?O:new S(k.RequestTimeout,String(O));z(N)};this._responseHandlers.set(V,(O)=>{if(Y?.signal?.aborted)return;if(O instanceof Error)return z(O);try{let N=c0(X,O.result);if(!N.success)z(N.error);else B(N.data)}catch(N){z(N)}}),Y?.signal?.addEventListener("abort",()=>{F(Y?.signal?.reason)});let A=Y?.timeout??Yb,D=()=>F(S.fromError(k.RequestTimeout,"Request timed out",{timeout:A}));this._setupTimeout(V,A,Y?.maxTotalTimeout,D,Y?.resetTimeoutOnProgress??!1);let L=H?.taskId;if(L){let O=(N)=>{let w=this._responseHandlers.get(V);if(w)w(N);else this._onerror(Error(`Response handler missing for side-channeled request ${V}`))};this._requestResolvers.set(V,O),this._enqueueTaskMessage(L,{type:"request",message:q,timestamp:Date.now()}).catch((N)=>{this._cleanupTimeout(V),z(N)})}else this._transport.send(q,{relatedRequestId:W,resumptionToken:$,onresumptiontoken:J}).catch((O)=>{this._cleanupTimeout(V),z(O)})})}async getTask(Q,X){return this.request({method:"tasks/get",params:Q},xQ,X)}async getTaskResult(Q,X,Y){return this.request({method:"tasks/result",params:Q},X,Y)}async listTasks(Q,X){return this.request({method:"tasks/list",params:Q},gQ,X)}async cancelTask(Q,X){return this.request({method:"tasks/cancel",params:Q},S3,X)}async notification(Q,X){if(!this._transport)throw Error("Not connected");this.assertNotificationCapability(Q.method);let Y=X?.relatedTask?.taskId;if(Y){let G={...Q,jsonrpc:"2.0",params:{...Q.params,_meta:{...Q.params?._meta||{},[j6]:X.relatedTask}}};await this._enqueueTaskMessage(Y,{type:"notification",message:G,timestamp:Date.now()});return}if((this._options?.debouncedNotificationMethods??[]).includes(Q.method)&&!Q.params&&!X?.relatedRequestId&&!X?.relatedTask){if(this._pendingDebouncedNotifications.has(Q.method))return;this._pendingDebouncedNotifications.add(Q.method),Promise.resolve().then(()=>{if(this._pendingDebouncedNotifications.delete(Q.method),!this._transport)return;let G={...Q,jsonrpc:"2.0"};if(X?.relatedTask)G={...G,params:{...G.params,_meta:{...G.params?._meta||{},[j6]:X.relatedTask}}};this._transport?.send(G,X).catch((H)=>this._onerror(H))});return}let J={...Q,jsonrpc:"2.0"};if(X?.relatedTask)J={...J,params:{...J.params,_meta:{...J.params?._meta||{},[j6]:X.relatedTask}}};await this._transport.send(J,X)}setRequestHandler(Q,X){let Y=E5(Q);this.assertRequestHandlerCapability(Y),this._requestHandlers.set(Y,(W,$)=>{let J=S5(Q,W);return Promise.resolve(X(J,$))})}removeRequestHandler(Q){this._requestHandlers.delete(Q)}assertCanSetRequestHandler(Q){if(this._requestHandlers.has(Q))throw Error(`A request handler for ${Q} already exists, which would be overridden`)}setNotificationHandler(Q,X){let Y=E5(Q);this._notificationHandlers.set(Y,(W)=>{let $=S5(Q,W);return Promise.resolve(X($))})}removeNotificationHandler(Q){this._notificationHandlers.delete(Q)}_cleanupTaskProgressHandler(Q){let X=this._taskProgressTokens.get(Q);if(X!==void 0)this._progressHandlers.delete(X),this._taskProgressTokens.delete(Q)}async _enqueueTaskMessage(Q,X,Y){if(!this._taskStore||!this._taskMessageQueue)throw Error("Cannot enqueue task message: taskStore and taskMessageQueue are not configured");let W=this._options?.maxTaskQueueSize;await this._taskMessageQueue.enqueue(Q,X,Y,W)}async _clearTaskQueue(Q,X){if(this._taskMessageQueue){let Y=await this._taskMessageQueue.dequeueAll(Q,X);for(let W of Y)if(W.type==="request"&&m8(W.message)){let $=W.message.id,J=this._requestResolvers.get($);if(J)J(new S(k.InternalError,"Task cancelled or completed")),this._requestResolvers.delete($);else this._onerror(Error(`Resolver missing for request ${$} during task ${Q} cleanup`))}}}async _waitForTaskUpdate(Q,X){let Y=this._options?.defaultTaskPollInterval??1000;try{let W=await this._taskStore?.getTask(Q);if(W?.pollInterval)Y=W.pollInterval}catch{}return new Promise((W,$)=>{if(X.aborted){$(new S(k.InvalidRequest,"Request cancelled"));return}let J=setTimeout(W,Y);X.addEventListener("abort",()=>{clearTimeout(J),$(new S(k.InvalidRequest,"Request cancelled"))},{once:!0})})}requestTaskStore(Q,X){let Y=this._taskStore;if(!Y)throw Error("No task store configured");return{createTask:async(W)=>{if(!Q)throw Error("No request provided");return await Y.createTask(W,Q.id,{method:Q.method,params:Q.params},X)},getTask:async(W)=>{let $=await Y.getTask(W,X);if(!$)throw new S(k.InvalidParams,"Failed to retrieve task: Task not found");return $},storeTaskResult:async(W,$,J)=>{await Y.storeTaskResult(W,$,J,X);let G=await Y.getTask(W,X);if(G){let H=n8.parse({method:"notifications/tasks/status",params:G});if(await this.notification(H),N6(G.status))this._cleanupTaskProgressHandler(W)}},getTaskResult:(W)=>{return Y.getTaskResult(W,X)},updateTaskStatus:async(W,$,J)=>{let G=await Y.getTask(W,X);if(!G)throw new S(k.InvalidParams,`Task "${W}" not found - it may have been cleaned up`);if(N6(G.status))throw new S(k.InvalidParams,`Cannot update task "${W}" from terminal status "${G.status}" to "${$}". Terminal states (completed, failed, cancelled) cannot transition to other states.`);await Y.updateTaskStatus(W,$,J,X);let H=await Y.getTask(W,X);if(H){let B=n8.parse({method:"notifications/tasks/status",params:H});if(await this.notification(B),N6(H.status))this._cleanupTaskProgressHandler(W)}},listTasks:(W)=>{return Y.listTasks(W,X)}}}}function LB(Q){return Q!==null&&typeof Q==="object"&&!Array.isArray(Q)}function aQ(Q,X){let Y={...Q};for(let W in X){let $=W,J=X[$];if(J===void 0)continue;let G=Y[$];if(LB(G)&&LB(J))Y[$]={...G,...J};else Y[$]=J}return Y}var rL=O9(TF(),1),tL=O9(oL(),1);function wf(){let Q=new rL.default({strict:!1,validateFormats:!0,validateSchema:!1,allErrors:!0});return tL.default(Q),Q}class i4{constructor(Q){this._ajv=Q??wf()}getValidator(Q){let X="$id"in Q&&typeof Q.$id==="string"?this._ajv.getSchema(Q.$id)??this._ajv.compile(Q):this._ajv.compile(Q);return(Y)=>{if(X(Y))return{valid:!0,data:Y,errorMessage:void 0};else return{valid:!1,data:void 0,errorMessage:this._ajv.errorsText(X.errors)}}}}class UJ{constructor(Q){this._server=Q}requestStream(Q,X,Y){return this._server.requestStream(Q,X,Y)}async getTask(Q,X){return this._server.getTask({taskId:Q},X)}async getTaskResult(Q,X,Y){return this._server.getTaskResult({taskId:Q},X,Y)}async listTasks(Q,X){return this._server.listTasks(Q?{cursor:Q}:void 0,X)}async cancelTask(Q,X){return this._server.cancelTask({taskId:Q},X)}}function DY(Q,X,Y){if(!Q)throw Error(`${Y} does not support task creation (required for ${X})`);switch(X){case"tools/call":if(!Q.tools?.call)throw Error(`${Y} does not support task creation for tools/call (required for ${X})`);break;default:break}}function LY(Q,X,Y){if(!Q)throw Error(`${Y} does not support task creation (required for ${X})`);switch(X){case"sampling/createMessage":if(!Q.sampling?.createMessage)throw Error(`${Y} does not support task creation for sampling/createMessage (required for ${X})`);break;case"elicitation/create":if(!Q.elicitation?.create)throw Error(`${Y} does not support task creation for elicitation/create (required for ${X})`);break;default:break}}class jJ extends Q4{constructor(Q,X){super(X);if(this._serverInfo=Q,this._loggingLevels=new Map,this.LOG_LEVEL_SEVERITY=new Map(t8.options.map((Y,W)=>[Y,W])),this.isMessageIgnored=(Y,W)=>{let $=this._loggingLevels.get(W);return $?this.LOG_LEVEL_SEVERITY.get(Y)<this.LOG_LEVEL_SEVERITY.get($):!1},this._capabilities=X?.capabilities??{},this._instructions=X?.instructions,this._jsonSchemaValidator=X?.jsonSchemaValidator??new i4,this.setRequestHandler(W5,(Y)=>this._oninitialize(Y)),this.setNotificationHandler(CQ,()=>this.oninitialized?.()),this._capabilities.logging)this.setRequestHandler(O5,async(Y,W)=>{let $=W.sessionId||W.requestInfo?.headers["mcp-session-id"]||void 0,{level:J}=Y.params,G=t8.safeParse(J);if(G.success)this._loggingLevels.set($,G.data);return{}})}get experimental(){if(!this._experimental)this._experimental={tasks:new UJ(this)};return this._experimental}registerCapabilities(Q){if(this.transport)throw Error("Cannot register capabilities after connecting to transport");this._capabilities=aQ(this._capabilities,Q)}setRequestHandler(Q,X){let W=c1(Q)?.method;if(!W)throw Error("Schema is missing a method literal");let $;if(s0(W)){let G=W;$=G._zod?.def?.value??G.value}else{let G=W;$=G._def?.value??G.value}if(typeof $!=="string")throw Error("Schema method literal must be a string");if($==="tools/call"){let G=async(H,B)=>{let z=c0(m9,H);if(!z.success){let F=z.error instanceof Error?z.error.message:String(z.error);throw new S(k.InvalidParams,`Invalid tools/call request: ${F}`)}let{params:K}=z.data,V=await Promise.resolve(X(H,B));if(K.task){let F=c0(Q6,V);if(!F.success){let A=F.error instanceof Error?F.error.message:String(F.error);throw new S(k.InvalidParams,`Invalid task creation result: ${A}`)}return F.data}let q=c0(M6,V);if(!q.success){let F=q.error instanceof Error?q.error.message:String(q.error);throw new S(k.InvalidParams,`Invalid tools/call result: ${F}`)}return q.data};return super.setRequestHandler(Q,G)}return super.setRequestHandler(Q,X)}assertCapabilityForMethod(Q){switch(Q){case"sampling/createMessage":if(!this._clientCapabilities?.sampling)throw Error(`Client does not support sampling (required for ${Q})`);break;case"elicitation/create":if(!this._clientCapabilities?.elicitation)throw Error(`Client does not support elicitation (required for ${Q})`);break;case"roots/list":if(!this._clientCapabilities?.roots)throw Error(`Client does not support listing roots (required for ${Q})`);break;case"ping":break}}assertNotificationCapability(Q){switch(Q){case"notifications/message":if(!this._capabilities.logging)throw Error(`Server does not support logging (required for ${Q})`);break;case"notifications/resources/updated":case"notifications/resources/list_changed":if(!this._capabilities.resources)throw Error(`Server does not support notifying about resources (required for ${Q})`);break;case"notifications/tools/list_changed":if(!this._capabilities.tools)throw Error(`Server does not support notifying of tool list changes (required for ${Q})`);break;case"notifications/prompts/list_changed":if(!this._capabilities.prompts)throw Error(`Server does not support notifying of prompt list changes (required for ${Q})`);break;case"notifications/elicitation/complete":if(!this._clientCapabilities?.elicitation?.url)throw Error(`Client does not support URL elicitation (required for ${Q})`);break;case"notifications/cancelled":break;case"notifications/progress":break}}assertRequestHandlerCapability(Q){if(!this._capabilities)return;switch(Q){case"completion/complete":if(!this._capabilities.completions)throw Error(`Server does not support completions (required for ${Q})`);break;case"logging/setLevel":if(!this._capabilities.logging)throw Error(`Server does not support logging (required for ${Q})`);break;case"prompts/get":case"prompts/list":if(!this._capabilities.prompts)throw Error(`Server does not support prompts (required for ${Q})`);break;case"resources/list":case"resources/templates/list":case"resources/read":if(!this._capabilities.resources)throw Error(`Server does not support resources (required for ${Q})`);break;case"tools/call":case"tools/list":if(!this._capabilities.tools)throw Error(`Server does not support tools (required for ${Q})`);break;case"tasks/get":case"tasks/list":case"tasks/result":case"tasks/cancel":if(!this._capabilities.tasks)throw Error(`Server does not support tasks capability (required for ${Q})`);break;case"ping":case"initialize":break}}assertTaskCapability(Q){LY(this._clientCapabilities?.tasks?.requests,Q,"Client")}assertTaskHandlerCapability(Q){if(!this._capabilities)return;DY(this._capabilities.tasks?.requests,Q,"Server")}async _oninitialize(Q){let X=Q.params.protocolVersion;return this._clientCapabilities=Q.params.capabilities,this._clientVersion=Q.params.clientInfo,{protocolVersion:EQ.includes(X)?X:U6,capabilities:this.getCapabilities(),serverInfo:this._serverInfo,...this._instructions&&{instructions:this._instructions}}}getClientCapabilities(){return this._clientCapabilities}getClientVersion(){return this._clientVersion}getCapabilities(){return this._capabilities}async ping(){return this.request({method:"ping"},e1)}async createMessage(Q,X){if(Q.tools||Q.toolChoice){if(!this._clientCapabilities?.sampling?.tools)throw Error("Client does not support sampling tools capability.")}if(Q.messages.length>0){let Y=Q.messages[Q.messages.length-1],W=Array.isArray(Y.content)?Y.content:[Y.content],$=W.some((B)=>B.type==="tool_result"),J=Q.messages.length>1?Q.messages[Q.messages.length-2]:void 0,G=J?Array.isArray(J.content)?J.content:[J.content]:[],H=G.some((B)=>B.type==="tool_use");if($){if(W.some((B)=>B.type!=="tool_result"))throw Error("The last message must contain only tool_result content if any is present");if(!H)throw Error("tool_result blocks are not matching any tool_use from the previous message")}if(H){let B=new Set(G.filter((K)=>K.type==="tool_use").map((K)=>K.id)),z=new Set(W.filter((K)=>K.type==="tool_result").map((K)=>K.toolUseId));if(B.size!==z.size||![...B].every((K)=>z.has(K)))throw Error("ids of tool_result blocks and tool_use blocks from previous message do not match")}}if(Q.tools)return this.request({method:"sampling/createMessage",params:Q},U5,X);return this.request({method:"sampling/createMessage",params:Q},s8,X)}async elicitInput(Q,X){switch(Q.mode??"form"){case"url":{if(!this._clientCapabilities?.elicitation?.url)throw Error("Client does not support url elicitation.");let W=Q;return this.request({method:"elicitation/create",params:W},c9,X)}case"form":{if(!this._clientCapabilities?.elicitation?.form)throw Error("Client does not support form elicitation.");let W=Q.mode==="form"?Q:{...Q,mode:"form"},$=await this.request({method:"elicitation/create",params:W},c9,X);if($.action==="accept"&&$.content&&W.requestedSchema)try{let G=this._jsonSchemaValidator.getValidator(W.requestedSchema)($.content);if(!G.valid)throw new S(k.InvalidParams,`Elicitation response content does not match requested schema: ${G.errorMessage}`)}catch(J){if(J instanceof S)throw J;throw new S(k.InternalError,`Error validating elicitation response: ${J instanceof Error?J.message:String(J)}`)}return $}}}createElicitationCompletionNotifier(Q,X){if(!this._clientCapabilities?.elicitation?.url)throw Error("Client does not support URL elicitation (required for notifications/elicitation/complete)");return()=>this.notification({method:"notifications/elicitation/complete",params:{elicitationId:Q}},X)}async listRoots(Q,X){return this.request({method:"roots/list",params:Q},M5,X)}async sendLoggingMessage(Q,X){if(this._capabilities.logging){if(!this.isMessageIgnored(Q.level,X))return this.notification({method:"notifications/message",params:Q})}}async sendResourceUpdated(Q){return this.notification({method:"notifications/resources/updated",params:Q})}async sendResourceListChanged(){return this.notification({method:"notifications/resources/list_changed"})}async sendToolListChanged(){return this.notification({method:"notifications/tools/list_changed"})}async sendPromptListChanged(){return this.notification({method:"notifications/prompts/list_changed"})}}var sL=Symbol.for("mcp.completable");function MJ(Q){return!!Q&&typeof Q==="object"&&sL in Q}function eL(Q){return Q[sL]?.complete}var aL;(function(Q){Q.Completable="McpCompletable"})(aL||(aL={}));var bf=/^[A-Za-z0-9._-]{1,128}$/;function Pf(Q){let X=[];if(Q.length===0)return{isValid:!1,warnings:["Tool name cannot be empty"]};if(Q.length>128)return{isValid:!1,warnings:[`Tool name exceeds maximum length of 128 characters (current: ${Q.length})`]};if(Q.includes(" "))X.push("Tool name contains spaces, which may cause parsing issues");if(Q.includes(","))X.push("Tool name contains commas, which may cause parsing issues");if(Q.startsWith("-")||Q.endsWith("-"))X.push("Tool name starts or ends with a dash, which may cause parsing issues in some contexts");if(Q.startsWith(".")||Q.endsWith("."))X.push("Tool name starts or ends with a dot, which may cause parsing issues in some contexts");if(!bf.test(Q)){let Y=Q.split("").filter((W)=>!/[A-Za-z0-9._-]/.test(W)).filter((W,$,J)=>J.indexOf(W)===$);return X.push(`Tool name contains invalid characters: ${Y.map((W)=>`"${W}"`).join(", ")}`,"Allowed characters are: A-Z, a-z, 0-9, underscore (_), dash (-), and dot (.)"),{isValid:!1,warnings:X}}return{isValid:!0,warnings:X}}function Zf(Q,X){if(X.length>0){console.warn(`Tool name validation warning for "${Q}":`);for(let Y of X)console.warn(` - ${Y}`);console.warn("Tool registration will proceed, but this may cause compatibility issues."),console.warn("Consider updating the tool name to conform to the MCP tool naming standard."),console.warn("See SEP: Specify Format for Tool Names (https://github.com/modelcontextprotocol/modelcontextprotocol/issues/986) for more details.")}}function NJ(Q){let X=Pf(Q);return Zf(Q,X.warnings),X.isValid}class wJ{constructor(Q){this._mcpServer=Q}registerToolTask(Q,X,Y){let W={taskSupport:"required",...X.execution};if(W.taskSupport==="forbidden")throw Error(`Cannot register task-based tool '${Q}' with taskSupport 'forbidden'. Use registerTool() instead.`);return this._mcpServer._createRegisteredTool(Q,X.title,X.description,X.inputSchema,X.outputSchema,X.annotations,W,X._meta,Y)}}class PJ{constructor(Q,X){this._registeredResources={},this._registeredResourceTemplates={},this._registeredTools={},this._registeredPrompts={},this._toolHandlersInitialized=!1,this._completionHandlerInitialized=!1,this._resourceHandlersInitialized=!1,this._promptHandlersInitialized=!1,this.server=new jJ(Q,X)}get experimental(){if(!this._experimental)this._experimental={tasks:new wJ(this)};return this._experimental}async connect(Q){return await this.server.connect(Q)}async close(){await this.server.close()}setToolRequestHandlers(){if(this._toolHandlersInitialized)return;this.server.assertCanSetRequestHandler(x6(dQ)),this.server.assertCanSetRequestHandler(x6(m9)),this.server.registerCapabilities({tools:{listChanged:!0}}),this.server.setRequestHandler(dQ,()=>({tools:Object.entries(this._registeredTools).filter(([,Q])=>Q.enabled).map(([Q,X])=>{let Y={name:Q,title:X.title,description:X.description,inputSchema:(()=>{let W=g9(X.inputSchema);return W?R5(W,{strictUnions:!0,pipeStrategy:"input"}):Rf})(),annotations:X.annotations,execution:X.execution,_meta:X._meta};if(X.outputSchema){let W=g9(X.outputSchema);if(W)Y.outputSchema=R5(W,{strictUnions:!0,pipeStrategy:"output"})}return Y})})),this.server.setRequestHandler(m9,async(Q,X)=>{try{let Y=this._registeredTools[Q.params.name];if(!Y)throw new S(k.InvalidParams,`Tool ${Q.params.name} not found`);if(!Y.enabled)throw new S(k.InvalidParams,`Tool ${Q.params.name} disabled`);let W=!!Q.params.task,$=Y.execution?.taskSupport,J="createTask"in Y.handler;if(($==="required"||$==="optional")&&!J)throw new S(k.InternalError,`Tool ${Q.params.name} has taskSupport '${$}' but was not registered with registerToolTask`);if($==="required"&&!W)throw new S(k.MethodNotFound,`Tool ${Q.params.name} requires task augmentation (taskSupport: 'required')`);if($==="optional"&&!W&&J)return await this.handleAutomaticTaskPolling(Y,Q,X);let G=await this.validateToolInput(Y,Q.params.arguments,Q.params.name),H=await this.executeToolHandler(Y,G,X);if(W)return H;return await this.validateToolOutput(Y,H,Q.params.name),H}catch(Y){if(Y instanceof S){if(Y.code===k.UrlElicitationRequired)throw Y}return this.createToolError(Y instanceof Error?Y.message:String(Y))}}),this._toolHandlersInitialized=!0}createToolError(Q){return{content:[{type:"text",text:Q}],isError:!0}}async validateToolInput(Q,X,Y){if(!Q.inputSchema)return;let $=g9(Q.inputSchema)??Q.inputSchema,J=await jQ($,X);if(!J.success){let G="error"in J?J.error:"Unknown error",H=MQ(G);throw new S(k.InvalidParams,`Input validation error: Invalid arguments for tool ${Y}: ${H}`)}return J.data}async validateToolOutput(Q,X,Y){if(!Q.outputSchema)return;if(!("content"in X))return;if(X.isError)return;if(!X.structuredContent)throw new S(k.InvalidParams,`Output validation error: Tool ${Y} has an output schema but no structured content was provided`);let W=g9(Q.outputSchema),$=await jQ(W,X.structuredContent);if(!$.success){let J="error"in $?$.error:"Unknown error",G=MQ(J);throw new S(k.InvalidParams,`Output validation error: Invalid structured content for tool ${Y}: ${G}`)}}async executeToolHandler(Q,X,Y){let W=Q.handler;if("createTask"in W){if(!Y.taskStore)throw Error("No task store provided.");let J={...Y,taskStore:Y.taskStore};if(Q.inputSchema)return await Promise.resolve(W.createTask(X,J));else return await Promise.resolve(W.createTask(J))}if(Q.inputSchema)return await Promise.resolve(W(X,Y));else return await Promise.resolve(W(Y))}async handleAutomaticTaskPolling(Q,X,Y){if(!Y.taskStore)throw Error("No task store provided for task-capable tool.");let W=await this.validateToolInput(Q,X.params.arguments,X.params.name),$=Q.handler,J={...Y,taskStore:Y.taskStore},G=W?await Promise.resolve($.createTask(W,J)):await Promise.resolve($.createTask(J)),H=G.task.taskId,B=G.task,z=B.pollInterval??5000;while(B.status!=="completed"&&B.status!=="failed"&&B.status!=="cancelled"){await new Promise((V)=>setTimeout(V,z));let K=await Y.taskStore.getTask(H);if(!K)throw new S(k.InternalError,`Task ${H} not found during polling`);B=K}return await Y.taskStore.getTaskResult(H)}setCompletionRequestHandler(){if(this._completionHandlerInitialized)return;this.server.assertCanSetRequestHandler(x6(iQ)),this.server.registerCapabilities({completions:{}}),this.server.setRequestHandler(iQ,async(Q)=>{switch(Q.params.ref.type){case"ref/prompt":return x3(Q),this.handlePromptCompletion(Q,Q.params.ref);case"ref/resource":return y3(Q),this.handleResourceCompletion(Q,Q.params.ref);default:throw new S(k.InvalidParams,`Invalid completion reference: ${Q.params.ref}`)}}),this._completionHandlerInitialized=!0}async handlePromptCompletion(Q,X){let Y=this._registeredPrompts[X.name];if(!Y)throw new S(k.InvalidParams,`Prompt ${X.name} not found`);if(!Y.enabled)throw new S(k.InvalidParams,`Prompt ${X.name} disabled`);if(!Y.argsSchema)return n4;let $=c1(Y.argsSchema)?.[Q.params.argument.name];if(!MJ($))return n4;let J=eL($);if(!J)return n4;let G=await J(Q.params.argument.value,Q.params.context);return XO(G)}async handleResourceCompletion(Q,X){let Y=Object.values(this._registeredResourceTemplates).find((J)=>J.resourceTemplate.uriTemplate.toString()===X.uri);if(!Y){if(this._registeredResources[X.uri])return n4;throw new S(k.InvalidParams,`Resource template ${Q.params.ref.uri} not found`)}let W=Y.resourceTemplate.completeCallback(Q.params.argument.name);if(!W)return n4;let $=await W(Q.params.argument.value,Q.params.context);return XO($)}setResourceRequestHandlers(){if(this._resourceHandlersInitialized)return;this.server.assertCanSetRequestHandler(x6(uQ)),this.server.assertCanSetRequestHandler(x6(lQ)),this.server.assertCanSetRequestHandler(x6(mQ)),this.server.registerCapabilities({resources:{listChanged:!0}}),this.server.setRequestHandler(uQ,async(Q,X)=>{let Y=Object.entries(this._registeredResources).filter(([$,J])=>J.enabled).map(([$,J])=>({uri:$,name:J.name,...J.metadata})),W=[];for(let $ of Object.values(this._registeredResourceTemplates)){if(!$.resourceTemplate.listCallback)continue;let J=await $.resourceTemplate.listCallback(X);for(let G of J.resources)W.push({...$.metadata,...G})}return{resources:[...Y,...W]}}),this.server.setRequestHandler(lQ,async()=>{return{resourceTemplates:Object.entries(this._registeredResourceTemplates).map(([X,Y])=>({name:X,uriTemplate:Y.resourceTemplate.uriTemplate.toString(),...Y.metadata}))}}),this.server.setRequestHandler(mQ,async(Q,X)=>{let Y=new URL(Q.params.uri),W=this._registeredResources[Y.toString()];if(W){if(!W.enabled)throw new S(k.InvalidParams,`Resource ${Y} disabled`);return W.readCallback(Y,X)}for(let $ of Object.values(this._registeredResourceTemplates)){let J=$.resourceTemplate.uriTemplate.match(Y.toString());if(J)return $.readCallback(Y,J,X)}throw new S(k.InvalidParams,`Resource ${Y} not found`)}),this._resourceHandlersInitialized=!0}setPromptRequestHandlers(){if(this._promptHandlersInitialized)return;this.server.assertCanSetRequestHandler(x6(cQ)),this.server.assertCanSetRequestHandler(x6(pQ)),this.server.registerCapabilities({prompts:{listChanged:!0}}),this.server.setRequestHandler(cQ,()=>({prompts:Object.entries(this._registeredPrompts).filter(([,Q])=>Q.enabled).map(([Q,X])=>{return{name:Q,title:X.title,description:X.description,arguments:X.argsSchema?Sf(X.argsSchema):void 0}})})),this.server.setRequestHandler(pQ,async(Q,X)=>{let Y=this._registeredPrompts[Q.params.name];if(!Y)throw new S(k.InvalidParams,`Prompt ${Q.params.name} not found`);if(!Y.enabled)throw new S(k.InvalidParams,`Prompt ${Q.params.name} disabled`);if(Y.argsSchema){let W=g9(Y.argsSchema),$=await jQ(W,Q.params.arguments);if(!$.success){let H="error"in $?$.error:"Unknown error",B=MQ(H);throw new S(k.InvalidParams,`Invalid arguments for prompt ${Q.params.name}: ${B}`)}let J=$.data,G=Y.callback;return await Promise.resolve(G(J,X))}else{let W=Y.callback;return await Promise.resolve(W(X))}}),this._promptHandlersInitialized=!0}resource(Q,X,...Y){let W;if(typeof Y[0]==="object")W=Y.shift();let $=Y[0];if(typeof X==="string"){if(this._registeredResources[X])throw Error(`Resource ${X} is already registered`);let J=this._createRegisteredResource(Q,void 0,X,W,$);return this.setResourceRequestHandlers(),this.sendResourceListChanged(),J}else{if(this._registeredResourceTemplates[Q])throw Error(`Resource template ${Q} is already registered`);let J=this._createRegisteredResourceTemplate(Q,void 0,X,W,$);return this.setResourceRequestHandlers(),this.sendResourceListChanged(),J}}registerResource(Q,X,Y,W){if(typeof X==="string"){if(this._registeredResources[X])throw Error(`Resource ${X} is already registered`);let $=this._createRegisteredResource(Q,Y.title,X,Y,W);return this.setResourceRequestHandlers(),this.sendResourceListChanged(),$}else{if(this._registeredResourceTemplates[Q])throw Error(`Resource template ${Q} is already registered`);let $=this._createRegisteredResourceTemplate(Q,Y.title,X,Y,W);return this.setResourceRequestHandlers(),this.sendResourceListChanged(),$}}_createRegisteredResource(Q,X,Y,W,$){let J={name:Q,title:X,metadata:W,readCallback:$,enabled:!0,disable:()=>J.update({enabled:!1}),enable:()=>J.update({enabled:!0}),remove:()=>J.update({uri:null}),update:(G)=>{if(typeof G.uri<"u"&&G.uri!==Y){if(delete this._registeredResources[Y],G.uri)this._registeredResources[G.uri]=J}if(typeof G.name<"u")J.name=G.name;if(typeof G.title<"u")J.title=G.title;if(typeof G.metadata<"u")J.metadata=G.metadata;if(typeof G.callback<"u")J.readCallback=G.callback;if(typeof G.enabled<"u")J.enabled=G.enabled;this.sendResourceListChanged()}};return this._registeredResources[Y]=J,J}_createRegisteredResourceTemplate(Q,X,Y,W,$){let J={resourceTemplate:Y,title:X,metadata:W,readCallback:$,enabled:!0,disable:()=>J.update({enabled:!1}),enable:()=>J.update({enabled:!0}),remove:()=>J.update({name:null}),update:(B)=>{if(typeof B.name<"u"&&B.name!==Q){if(delete this._registeredResourceTemplates[Q],B.name)this._registeredResourceTemplates[B.name]=J}if(typeof B.title<"u")J.title=B.title;if(typeof B.template<"u")J.resourceTemplate=B.template;if(typeof B.metadata<"u")J.metadata=B.metadata;if(typeof B.callback<"u")J.readCallback=B.callback;if(typeof B.enabled<"u")J.enabled=B.enabled;this.sendResourceListChanged()}};this._registeredResourceTemplates[Q]=J;let G=Y.uriTemplate.variableNames;if(Array.isArray(G)&&G.some((B)=>!!Y.completeCallback(B)))this.setCompletionRequestHandler();return J}_createRegisteredPrompt(Q,X,Y,W,$){let J={title:X,description:Y,argsSchema:W===void 0?void 0:t6(W),callback:$,enabled:!0,disable:()=>J.update({enabled:!1}),enable:()=>J.update({enabled:!0}),remove:()=>J.update({name:null}),update:(G)=>{if(typeof G.name<"u"&&G.name!==Q){if(delete this._registeredPrompts[Q],G.name)this._registeredPrompts[G.name]=J}if(typeof G.title<"u")J.title=G.title;if(typeof G.description<"u")J.description=G.description;if(typeof G.argsSchema<"u")J.argsSchema=t6(G.argsSchema);if(typeof G.callback<"u")J.callback=G.callback;if(typeof G.enabled<"u")J.enabled=G.enabled;this.sendPromptListChanged()}};if(this._registeredPrompts[Q]=J,W){if(Object.values(W).some((H)=>{let B=H instanceof B1?H._def?.innerType:H;return MJ(B)}))this.setCompletionRequestHandler()}return J}_createRegisteredTool(Q,X,Y,W,$,J,G,H,B){NJ(Q);let z={title:X,description:Y,inputSchema:QO(W),outputSchema:QO($),annotations:J,execution:G,_meta:H,handler:B,enabled:!0,disable:()=>z.update({enabled:!1}),enable:()=>z.update({enabled:!0}),remove:()=>z.update({name:null}),update:(K)=>{if(typeof K.name<"u"&&K.name!==Q){if(typeof K.name==="string")NJ(K.name);if(delete this._registeredTools[Q],K.name)this._registeredTools[K.name]=z}if(typeof K.title<"u")z.title=K.title;if(typeof K.description<"u")z.description=K.description;if(typeof K.paramsSchema<"u")z.inputSchema=t6(K.paramsSchema);if(typeof K.outputSchema<"u")z.outputSchema=t6(K.outputSchema);if(typeof K.callback<"u")z.handler=K.callback;if(typeof K.annotations<"u")z.annotations=K.annotations;if(typeof K._meta<"u")z._meta=K._meta;if(typeof K.enabled<"u")z.enabled=K.enabled;this.sendToolListChanged()}};return this._registeredTools[Q]=z,this.setToolRequestHandlers(),this.sendToolListChanged(),z}tool(Q,...X){if(this._registeredTools[Q])throw Error(`Tool ${Q} is already registered`);let Y,W,$,J;if(typeof X[0]==="string")Y=X.shift();if(X.length>1){let H=X[0];if(bJ(H)){if(W=X.shift(),X.length>1&&typeof X[0]==="object"&&X[0]!==null&&!bJ(X[0]))J=X.shift()}else if(typeof H==="object"&&H!==null)J=X.shift()}let G=X[0];return this._createRegisteredTool(Q,void 0,Y,W,$,J,{taskSupport:"forbidden"},void 0,G)}registerTool(Q,X,Y){if(this._registeredTools[Q])throw Error(`Tool ${Q} is already registered`);let{title:W,description:$,inputSchema:J,outputSchema:G,annotations:H,_meta:B}=X;return this._createRegisteredTool(Q,W,$,J,G,H,{taskSupport:"forbidden"},B,Y)}prompt(Q,...X){if(this._registeredPrompts[Q])throw Error(`Prompt ${Q} is already registered`);let Y;if(typeof X[0]==="string")Y=X.shift();let W;if(X.length>1)W=X.shift();let $=X[0],J=this._createRegisteredPrompt(Q,void 0,Y,W,$);return this.setPromptRequestHandlers(),this.sendPromptListChanged(),J}registerPrompt(Q,X,Y){if(this._registeredPrompts[Q])throw Error(`Prompt ${Q} is already registered`);let{title:W,description:$,argsSchema:J}=X,G=this._createRegisteredPrompt(Q,W,$,J,Y);return this.setPromptRequestHandlers(),this.sendPromptListChanged(),G}isConnected(){return this.server.transport!==void 0}async sendLoggingMessage(Q,X){return this.server.sendLoggingMessage(Q,X)}sendResourceListChanged(){if(this.isConnected())this.server.sendResourceListChanged()}sendToolListChanged(){if(this.isConnected())this.server.sendToolListChanged()}sendPromptListChanged(){if(this.isConnected())this.server.sendPromptListChanged()}}var Rf={type:"object",properties:{}};function YO(Q){return Q!==null&&typeof Q==="object"&&"parse"in Q&&typeof Q.parse==="function"&&"safeParse"in Q&&typeof Q.safeParse==="function"}function Ef(Q){return"_def"in Q||"_zod"in Q||YO(Q)}function bJ(Q){if(typeof Q!=="object"||Q===null)return!1;if(Ef(Q))return!1;if(Object.keys(Q).length===0)return!0;return Object.values(Q).some(YO)}function QO(Q){if(!Q)return;if(bJ(Q))return t6(Q);return Q}function Sf(Q){let X=c1(Q);if(!X)return[];return Object.entries(X).map(([Y,W])=>{let $=pH(W),J=dH(W);return{name:Y,description:$,required:!J}})}function x6(Q){let Y=c1(Q)?.method;if(!Y)throw Error("Schema is missing a method literal");let W=NQ(Y);if(typeof W==="string")return W;throw Error("Schema method literal must be a string")}function XO(Q){return{completion:{values:Q.slice(0,100),total:Q.length,hasMore:Q.length>100}}}var n4={completion:{values:[],hasMore:!1}};import WO from"node:process";class o4{append(Q){this._buffer=this._buffer?Buffer.concat([this._buffer,Q]):Q}readMessage(){if(!this._buffer)return null;let Q=this._buffer.indexOf(`
48
- `);if(Q===-1)return null;let X=this._buffer.toString("utf8",0,Q).replace(/\r$/,"");return this._buffer=this._buffer.subarray(Q+1),If(X)}clear(){this._buffer=void 0}}function If(Q){return u9.parse(JSON.parse(Q))}function OY(Q){return JSON.stringify(Q)+`
49
- `}class ZJ{constructor(Q=WO.stdin,X=WO.stdout){this._stdin=Q,this._stdout=X,this._readBuffer=new o4,this._started=!1,this._ondata=(Y)=>{this._readBuffer.append(Y),this.processReadBuffer()},this._onerror=(Y)=>{this.onerror?.(Y)}}async start(){if(this._started)throw Error("StdioServerTransport already started! If using Server class, note that connect() calls start() automatically.");this._started=!0,this._stdin.on("data",this._ondata),this._stdin.on("error",this._onerror)}processReadBuffer(){while(!0)try{let Q=this._readBuffer.readMessage();if(Q===null)break;this.onmessage?.(Q)}catch(Q){this.onerror?.(Q)}}async close(){if(this._stdin.off("data",this._ondata),this._stdin.off("error",this._onerror),this._stdin.listenerCount("data")===0)this._stdin.pause();this._readBuffer.clear(),this.onclose?.()}send(Q){return new Promise((X)=>{let Y=OY(Q);if(this._stdout.write(Y))X();else this._stdout.once("drain",X)})}}import{readFileSync as Gh}from"fs";import UY from"node:crypto";var JO="0123456789ABCDEFGHJKMNPQRSTVWXYZ",jY=32;var Tf=16,GO=10,$O=281474976710655;var D9;(function(Q){Q.Base32IncorrectEncoding="B32_ENC_INVALID",Q.DecodeTimeInvalidCharacter="DEC_TIME_CHAR",Q.DecodeTimeValueMalformed="DEC_TIME_MALFORMED",Q.EncodeTimeNegative="ENC_TIME_NEG",Q.EncodeTimeSizeExceeded="ENC_TIME_SIZE_EXCEED",Q.EncodeTimeValueMalformed="ENC_TIME_MALFORMED",Q.PRNGDetectFailure="PRNG_DETECT",Q.ULIDInvalid="ULID_INVALID",Q.Unexpected="UNEXPECTED",Q.UUIDInvalid="UUID_INVALID"})(D9||(D9={}));class V8 extends Error{constructor(Q,X){super(`${X} (${Q})`);this.name="ULIDError",this.code=Q}}function Cf(Q){let X=Math.floor(Q()*jY)%jY;return JO.charAt(X)}function kf(Q){let X=vf(),Y=X&&(X.crypto||X.msCrypto)||(typeof UY<"u"?UY:null);if(typeof Y?.getRandomValues==="function")return()=>{let W=new Uint8Array(1);return Y.getRandomValues(W),W[0]/256};else if(typeof Y?.randomBytes==="function")return()=>Y.randomBytes(1).readUInt8()/256;else if(UY?.randomBytes)return()=>UY.randomBytes(1).readUInt8()/256;throw new V8(D9.PRNGDetectFailure,"Failed to find a reliable PRNG")}function vf(){if(yf())return self;if(typeof window<"u")return window;if(typeof global<"u")return global;if(typeof globalThis<"u")return globalThis;return null}function _f(Q,X){let Y="";for(;Q>0;Q--)Y=Cf(X)+Y;return Y}function xf(Q,X=GO){if(isNaN(Q))throw new V8(D9.EncodeTimeValueMalformed,`Time must be a number: ${Q}`);else if(Q>$O)throw new V8(D9.EncodeTimeSizeExceeded,`Cannot encode a time larger than ${$O}: ${Q}`);else if(Q<0)throw new V8(D9.EncodeTimeNegative,`Time must be positive: ${Q}`);else if(Number.isInteger(Q)===!1)throw new V8(D9.EncodeTimeValueMalformed,`Time must be an integer: ${Q}`);let Y,W="";for(let $=X;$>0;$--)Y=Q%jY,W=JO.charAt(Y)+W,Q=(Q-Y)/jY;return W}function yf(){return typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope}function f1(Q,X){let Y=X||kf(),W=!Q||isNaN(Q)?Date.now():Q;return xf(W,GO)+_f(Tf,Y)}function RJ(Q){return Q.type==="http"}function EJ(Q){return Q.type==="stdio"}class SJ{configs=new Map;logger;constructor(Q={}){this.logger=Q.logger}addConfig(Q,X,Y,W){let $=this.configs.has(Q);return this.configs.set(Q,{name:Q,type:"http",url:X,headers:Y?.headers,addedAt:new Date,addedBy:W}),this.logger?.info($?"server_config_updated":"server_config_added",{server:Q,type:"http",url:X,hasHeaders:Y?.headers!==void 0,addedBy:W}),!$}addStdioConfig(Q,X,Y,W,$){let J=this.configs.has(Q);return this.configs.set(Q,{name:Q,type:"stdio",command:X,args:Y,env:W?.env,cwd:W?.cwd,restartConfig:W?.restartConfig,addedAt:new Date,addedBy:$}),this.logger?.info(J?"server_config_updated":"server_config_added",{server:Q,type:"stdio",command:X,args:Y,addedBy:$}),!J}getConfig(Q){return this.configs.get(Q)}listConfigs(){return Array.from(this.configs.values())}removeConfig(Q){let X=this.configs.delete(Q);if(X)this.logger?.info("server_config_removed",{server:Q});return X}hasConfig(Q){return this.configs.has(Q)}get size(){return this.configs.size}clear(){this.configs.clear(),this.logger?.info("server_configs_cleared",{})}}var ff={maxEvents:1000,retentionMs:1800000,cleanupIntervalMs:300000};class IJ{events=[];config;logger;lastDeliveredId=null;waiters=[];cleanupIntervalHandle=null;constructor(Q={},X){this.config={...ff,...Q},this.logger=X,this.startCleanupInterval()}addEvent(Q,X,Y){let W=f1(),$={id:W,type:Q,server:X,data:Y,createdAt:new Date,sentViaSSE:!1};this.events.push($);while(this.events.length>this.config.maxEvents)this.events.shift();return this.logger?.debug("event_added",{id:W,type:Q,server:X}),this.wakeWaiters($),W}hasNewEvents(){if(this.lastDeliveredId===null)return this.events.length>0;let Q=this.events.findIndex((X)=>X.id===this.lastDeliveredId);if(Q===-1)return this.events.length>0;return Q<this.events.length-1}getNewEvents(){if(this.events.length===0)return[];let Q=0;if(this.lastDeliveredId!==null){let Y=this.events.findIndex((W)=>W.id===this.lastDeliveredId);if(Y!==-1)Q=Y+1}let X=this.events.slice(Q);if(X.length>0){let Y=X[X.length-1];if(Y)this.lastDeliveredId=Y.id}return X}getEventsAfter(Q){if(Q===null)return[...this.events];let X=this.events.findIndex((Y)=>Y.id===Q);if(X===-1)return[...this.events];return this.events.slice(X+1)}markSent(Q){let X=this.events.find((Y)=>Y.id===Q);if(X)X.sentViaSSE=!0}waitForActivity(Q){return new Promise((X)=>{let Y=setTimeout(()=>{let W=this.waiters.findIndex(($)=>$.timeoutHandle===Y);if(W!==-1)this.waiters.splice(W,1);X(null)},Q);this.waiters.push({resolve:X,timeoutHandle:Y})})}wakeWaiters(Q){let X=this.waiters;this.waiters=[];for(let Y of X)clearTimeout(Y.timeoutHandle),Y.resolve(Q)}startCleanupInterval(){this.cleanupIntervalHandle=setInterval(()=>{this.runCleanup()},this.config.cleanupIntervalMs)}runCleanup(){let Q=Date.now()-this.config.retentionMs,X=0;while(this.events.length>0){let Y=this.events[0];if(Y&&Y.createdAt.getTime()<Q)this.events.shift(),X++;else break}if(X>0)this.logger?.debug("events_cleaned",{removed:X,remaining:this.events.length})}shutdown(){if(this.cleanupIntervalHandle)clearInterval(this.cleanupIntervalHandle),this.cleanupIntervalHandle=null;for(let Q of this.waiters)clearTimeout(Q.timeoutHandle),Q.resolve(null);this.waiters=[]}}var gf={defaultTtlMs:600000,completedRetentionMs:300000,cleanupIntervalMs:60000};class TJ{tasks=new Map;eventSystem;config;cleanupIntervalHandle=null;constructor(Q,X={}){this.eventSystem=Q,this.config={...gf,...X},this.startCleanupInterval()}createTask(Q,X,Y,W){let $=f1(),J=new Date,G={taskId:$,server:Q,toolName:X,args:Y,status:"working",createdAt:J,lastUpdatedAt:J,ttl:W??this.config.defaultTtlMs};return this.tasks.set($,G),this.eventSystem.addEvent("task_created",Q,{taskId:$,toolName:X,args:Y}),G}completeTask(Q,X){let Y=this.tasks.get(Q);if(Y?.status!=="working")return;Y.status="completed",Y.result=X,Y.lastUpdatedAt=new Date,this.scheduleTaskCleanup(Y),this.eventSystem.addEvent("task_completed",Y.server,{taskId:Q,toolName:Y.toolName,result:X})}failTask(Q,X){let Y=this.tasks.get(Q);if(Y?.status!=="working")return;Y.status="failed",Y.error=X,Y.lastUpdatedAt=new Date,this.scheduleTaskCleanup(Y),this.eventSystem.addEvent("task_failed",Y.server,{taskId:Q,toolName:Y.toolName,error:X})}cancelTask(Q){let X=this.tasks.get(Q);if(X?.status!=="working")return!1;return X.status="cancelled",X.lastUpdatedAt=new Date,this.scheduleTaskCleanup(X),this.eventSystem.addEvent("task_cancelled",X.server,{taskId:Q,toolName:X.toolName}),!0}getTask(Q){let X=this.tasks.get(Q);if(!X)return;let{_cleanupTimeoutHandle:Y,...W}=X;return W}getTasksForServer(Q){return Array.from(this.tasks.values()).filter((X)=>X.server===Q).map((X)=>({taskId:X.taskId,server:X.server,toolName:X.toolName,args:X.args,status:X.status,result:X.result,error:X.error,createdAt:X.createdAt,lastUpdatedAt:X.lastUpdatedAt,ttl:X.ttl}))}getAllTasks(Q=!1){let X=["completed","failed","cancelled","expired"];return Array.from(this.tasks.values()).filter((Y)=>Q||!X.includes(Y.status)).map((Y)=>({taskId:Y.taskId,server:Y.server,toolName:Y.toolName,args:Y.args,status:Y.status,result:Y.result,error:Y.error,createdAt:Y.createdAt,lastUpdatedAt:Y.lastUpdatedAt,ttl:Y.ttl}))}getWorkingTasksForServer(Q){return Array.from(this.tasks.values()).filter((X)=>X.server===Q&&X.status==="working").map((X)=>({taskId:X.taskId,toolName:X.toolName,status:X.status}))}scheduleTaskCleanup(Q){if(Q._cleanupTimeoutHandle)clearTimeout(Q._cleanupTimeoutHandle);Q._cleanupTimeoutHandle=setTimeout(()=>{this.tasks.delete(Q.taskId)},this.config.completedRetentionMs)}startCleanupInterval(){this.cleanupIntervalHandle=setInterval(()=>{this.runCleanup()},this.config.cleanupIntervalMs)}runCleanup(){let Q=Date.now();for(let X of this.tasks.values()){if(X.status!=="working")continue;if(Q-X.createdAt.getTime()>=X.ttl)X.status="expired",X.error=`Task expired after ${String(X.ttl)}ms TTL`,X.lastUpdatedAt=new Date,this.eventSystem.addEvent("task_expired",X.server,{taskId:X.taskId,toolName:X.toolName,ttl:X.ttl}),this.scheduleTaskCleanup(X)}}shutdown(){if(this.cleanupIntervalHandle)clearInterval(this.cleanupIntervalHandle),this.cleanupIntervalHandle=null;for(let Q of this.tasks.values())if(Q._cleanupTimeoutHandle)clearTimeout(Q._cleanupTimeoutHandle)}}var hf={maxNotificationsPerServer:100,maxLogsPerServer:500};class CJ{buffers=new Map;eventSystem;config;constructor(Q,X={}){this.eventSystem=Q,this.config={...hf,...X}}addNotification(Q){let X=this.getOrCreateBuffers(Q.server);if(X.notifications.length>=this.config.maxNotificationsPerServer)X.notifications.shift();X.notifications.push(Q),this.eventSystem.addEvent("notification",Q.server,{method:Q.method,params:Q.params,timestamp:Q.timestamp.toISOString()})}addLog(Q){let X=this.getOrCreateBuffers(Q.server);if(X.logs.length>=this.config.maxLogsPerServer)X.logs.shift();X.logs.push(Q)}getAndClearNotifications(){let Q=[];for(let X of this.buffers.values())Q.push(...X.notifications),X.notifications=[];return Q}getAndClearLogs(){let Q=[];for(let X of this.buffers.values())Q.push(...X.logs),X.logs=[];return Q}getNotificationsForServer(Q){let X=this.buffers.get(Q);return X?[...X.notifications]:[]}getLogsForServer(Q){let X=this.buffers.get(Q);return X?[...X.logs]:[]}getNotificationCount(){let Q=0;for(let X of this.buffers.values())Q+=X.notifications.length;return Q}getLogCount(){let Q=0;for(let X of this.buffers.values())Q+=X.logs.length;return Q}clearServer(Q){this.buffers.delete(Q)}getOrCreateBuffers(Q){let X=this.buffers.get(Q);if(!X)X={notifications:[],logs:[]},this.buffers.set(Q,X);return X}}var uf={defaultTimeoutMs:600000};class kJ{samplingRequests=new Map;elicitationRequests=new Map;eventSystem;config;constructor(Q,X={}){this.eventSystem=Q,this.config={...uf,...X}}addSamplingRequest(Q,X,Y,W){let $=f1(),J=setTimeout(()=>{let H=this.samplingRequests.get($);if(H)this.samplingRequests.delete($),this.eventSystem.addEvent("sampling_expired",Q,{requestId:$,reason:`Timed out after ${String(this.config.defaultTimeoutMs)}ms`}),H.reject(Error(`Sampling request timed out after ${String(this.config.defaultTimeoutMs)}ms`))},this.config.defaultTimeoutMs),G={requestId:$,server:Q,timestamp:new Date,params:X,resolve:Y,reject:W,timeoutHandle:J};return this.samplingRequests.set($,G),this.eventSystem.addEvent("sampling_request",Q,{requestId:$,params:X}),$}addElicitationRequest(Q,X,Y,W){let $=f1(),J=setTimeout(()=>{let H=this.elicitationRequests.get($);if(H)this.elicitationRequests.delete($),this.eventSystem.addEvent("elicitation_expired",Q,{requestId:$,reason:`Timed out after ${String(this.config.defaultTimeoutMs)}ms`}),H.reject(Error(`Elicitation request timed out after ${String(this.config.defaultTimeoutMs)}ms`))},this.config.defaultTimeoutMs),G={requestId:$,server:Q,timestamp:new Date,params:X,resolve:Y,reject:W,timeoutHandle:J};return this.elicitationRequests.set($,G),this.eventSystem.addEvent("elicitation_request",Q,{requestId:$,params:X}),$}respondToSampling(Q,X){let Y=this.samplingRequests.get(Q);if(!Y)throw Error(`Sampling request '${Q}' not found or already completed`);clearTimeout(Y.timeoutHandle),this.samplingRequests.delete(Q),Y.resolve(X)}cancelSampling(Q,X="User cancelled"){let Y=this.samplingRequests.get(Q);if(!Y)throw Error(`Sampling request '${Q}' not found or already completed`);clearTimeout(Y.timeoutHandle),this.samplingRequests.delete(Q),this.eventSystem.addEvent("sampling_expired",Y.server,{requestId:Q,reason:X}),Y.reject(Error(X))}respondToElicitation(Q,X){let Y=this.elicitationRequests.get(Q);if(!Y)throw Error(`Elicitation request '${Q}' not found or already completed`);clearTimeout(Y.timeoutHandle),this.elicitationRequests.delete(Q),Y.resolve(X)}cancelElicitation(Q,X="User cancelled"){let Y=this.elicitationRequests.get(Q);if(!Y)throw Error(`Elicitation request '${Q}' not found or already completed`);clearTimeout(Y.timeoutHandle),this.elicitationRequests.delete(Q),this.eventSystem.addEvent("elicitation_expired",Y.server,{requestId:Q,reason:X}),Y.reject(Error(X))}getPendingSamplingRequests(){return Array.from(this.samplingRequests.values()).map((Q)=>({requestId:Q.requestId,server:Q.server,timestamp:Q.timestamp,params:Q.params}))}getPendingElicitationRequests(){return Array.from(this.elicitationRequests.values()).map((Q)=>({requestId:Q.requestId,server:Q.server,timestamp:Q.timestamp,params:Q.params}))}getRequestsForServer(Q){return{sampling:this.getPendingSamplingRequests().filter((X)=>X.server===Q),elicitation:this.getPendingElicitationRequests().filter((X)=>X.server===Q)}}hasPendingRequests(){return this.samplingRequests.size>0||this.elicitationRequests.size>0}rejectRequestsForServer(Q,X){for(let[Y,W]of this.samplingRequests)if(W.server===Q)clearTimeout(W.timeoutHandle),this.samplingRequests.delete(Y),this.eventSystem.addEvent("sampling_expired",Q,{requestId:Y,reason:X}),W.reject(Error(X));for(let[Y,W]of this.elicitationRequests)if(W.server===Q)clearTimeout(W.timeoutHandle),this.elicitationRequests.delete(Y),this.eventSystem.addEvent("elicitation_expired",Q,{requestId:Y,reason:X}),W.reject(Error(X))}shutdown(){for(let Q of this.samplingRequests.values())clearTimeout(Q.timeoutHandle),Q.reject(Error("PendingRequestsManager shutting down"));this.samplingRequests.clear();for(let Q of this.elicitationRequests.values())clearTimeout(Q.timeoutHandle),Q.reject(Error("PendingRequestsManager shutting down"));this.elicitationRequests.clear()}}var lf={maxActiveTimers:100,maxDurationMs:86400000,retentionMs:300000};class vJ{timers=new Map;expiredBuffer=[];eventSystem;config;constructor(Q,X={}){this.eventSystem=Q,this.config={...lf,...X}}createTimer(Q,X,Y=!1){if(this.getActiveTimers().length>=this.config.maxActiveTimers)throw Error(`Maximum active timers (${String(this.config.maxActiveTimers)}) exceeded`);if(Q<=0)throw Error("Duration must be positive");if(Q>this.config.maxDurationMs)throw Error(`Duration exceeds maximum (${String(this.config.maxDurationMs)}ms)`);let $=f1(),J=new Date,G=new Date(J.getTime()+Q),H={id:$,durationMs:Q,message:X,createdAt:J,expiresAt:G,status:"active",interval:Y,fireCount:0};if(Y)H._intervalHandle=setInterval(()=>{this.fireIntervalTimer($)},Q);else H._timeoutHandle=setTimeout(()=>{this.expireTimer($)},Q);return this.timers.set($,H),this.toPublicTimer(H)}getTimer(Q){let X=this.timers.get(Q);if(!X)return;return this.toPublicTimer(X)}deleteTimer(Q){let X=this.timers.get(Q);if(!X)return;if(X._timeoutHandle)clearTimeout(X._timeoutHandle),X._timeoutHandle=void 0;if(X._intervalHandle)clearInterval(X._intervalHandle),X._intervalHandle=void 0;return X.status="deleted",this.scheduleCleanup(X),this.toPublicTimer(X)}getAllTimers(Q=!1){let X=Array.from(this.timers.values());return(Q?X:X.filter((W)=>W.status==="active")).map((W)=>this.toPublicTimer(W))}getActiveTimers(){return Array.from(this.timers.values()).filter((Q)=>Q.status==="active").map((Q)=>this.toPublicTimer(Q))}getAndClearExpired(){let Q=[...this.expiredBuffer];return this.expiredBuffer.length=0,Q}hasExpired(){return this.expiredBuffer.length>0}shutdown(){for(let Q of this.timers.values()){if(Q._timeoutHandle)clearTimeout(Q._timeoutHandle);if(Q._intervalHandle)clearInterval(Q._intervalHandle)}this.timers.clear(),this.expiredBuffer.length=0}expireTimer(Q){let X=this.timers.get(Q);if(!X?.status||X.status!=="active")return;X.status="expired",X._timeoutHandle=void 0,X.fireCount++,this.expiredBuffer.push({id:X.id,message:X.message,expiredAt:new Date().toISOString()}),this.eventSystem.addEvent("timer_expired","emceepee",{timerId:X.id,message:X.message}),this.scheduleCleanup(X)}fireIntervalTimer(Q){let X=this.timers.get(Q);if(!X?.status||X.status!=="active")return;X.fireCount++,X.expiresAt=new Date(Date.now()+X.durationMs),this.expiredBuffer.push({id:X.id,message:X.message,expiredAt:new Date().toISOString()}),this.eventSystem.addEvent("timer_expired","emceepee",{timerId:X.id,message:X.message,fireCount:X.fireCount,interval:!0})}scheduleCleanup(Q){setTimeout(()=>{this.timers.delete(Q.id)},this.config.retentionMs)}toPublicTimer(Q){return{id:Q.id,durationMs:Q.durationMs,message:Q.message,createdAt:Q.createdAt,expiresAt:Q.expiresAt,status:Q.status,interval:Q.interval,fireCount:Q.fireCount}}}class _J{sessionId;createdAt;lastActivityAt;backendConnections=new Map;eventSystem;taskManager;pendingRequests;bufferManager;timerManager;logger;constructor(Q,X={},Y){this.sessionId=Q,this.createdAt=new Date,this.lastActivityAt=new Date,this.logger=Y,this.eventSystem=new IJ(X.eventSystemConfig,Y),this.taskManager=new TJ(this.eventSystem,X.taskConfig),this.pendingRequests=new kJ(this.eventSystem,X.requestConfig),this.bufferManager=new CJ(this.eventSystem,X.bufferConfig),this.timerManager=new vJ(this.eventSystem,X.timerConfig)}touch(){this.lastActivityAt=new Date}getConnection(Q){return this.backendConnections.get(Q)}isConnectedTo(Q){return this.backendConnections.get(Q)?.status==="connected"}listConnectedServers(){return Array.from(this.backendConnections.entries()).filter(([,Q])=>Q.status==="connected").map(([Q])=>Q)}listConnections(){return Array.from(this.backendConnections.entries()).map(([Q,X])=>({name:Q,status:X.status,connectedAt:X.connectedAt,lastError:X.lastError}))}setConnectionStatus(Q,X,Y){let W=this.backendConnections.get(Q);if(W){if(W.status=X,X==="connected")W.connectedAt=new Date,W.lastError=void 0;else if(X==="error"&&Y)W.lastError=Y}}addConnection(Q,X){this.backendConnections.set(Q,{client:X,status:"connecting"})}removeConnection(Q){return this.backendConnections.delete(Q)}async cleanup(){this.logger?.info("session_cleanup_start",{sessionId:this.sessionId}),this.pendingRequests.shutdown(),this.taskManager.shutdown(),this.timerManager.shutdown(),this.eventSystem.shutdown();for(let[Q,X]of this.backendConnections)try{await X.client.disconnect(),this.logger?.debug("session_backend_disconnected",{sessionId:this.sessionId,server:Q})}catch(Y){this.logger?.debug("session_backend_disconnect_error",{sessionId:this.sessionId,server:Q,error:Y instanceof Error?Y.message:String(Y)})}this.backendConnections.clear(),this.logger?.info("session_cleanup_complete",{sessionId:this.sessionId})}}class xJ{constructor(Q){this._client=Q}async*callToolStream(Q,X=M6,Y){let W=this._client,$={...Y,task:Y?.task??(W.isToolTask(Q.name)?{}:void 0)},J=W.requestStream({method:"tools/call",params:Q},X,$),G=W.getToolOutputValidator(Q.name);for await(let H of J){if(H.type==="result"&&G){let B=H.result;if(!B.structuredContent&&!B.isError){yield{type:"error",error:new S(k.InvalidRequest,`Tool ${Q.name} has an output schema but did not return structured content`)};return}if(B.structuredContent)try{let z=G(B.structuredContent);if(!z.valid){yield{type:"error",error:new S(k.InvalidParams,`Structured content does not match the tool's output schema: ${z.errorMessage}`)};return}}catch(z){if(z instanceof S){yield{type:"error",error:z};return}yield{type:"error",error:new S(k.InvalidParams,`Failed to validate structured content: ${z instanceof Error?z.message:String(z)}`)};return}}yield H}}async getTask(Q,X){return this._client.getTask({taskId:Q},X)}async getTaskResult(Q,X,Y){return this._client.getTaskResult({taskId:Q},X,Y)}async listTasks(Q,X){return this._client.listTasks(Q?{cursor:Q}:void 0,X)}async cancelTask(Q,X){return this._client.cancelTask({taskId:Q},X)}requestStream(Q,X,Y){return this._client.requestStream(Q,X,Y)}}function MY(Q,X){if(!Q||X===null||typeof X!=="object")return;if(Q.type==="object"&&Q.properties&&typeof Q.properties==="object"){let Y=X,W=Q.properties;for(let $ of Object.keys(W)){let J=W[$];if(Y[$]===void 0&&Object.prototype.hasOwnProperty.call(J,"default"))Y[$]=J.default;if(Y[$]!==void 0)MY(J,Y[$])}}if(Array.isArray(Q.anyOf)){for(let Y of Q.anyOf)if(typeof Y!=="boolean")MY(Y,X)}if(Array.isArray(Q.oneOf)){for(let Y of Q.oneOf)if(typeof Y!=="boolean")MY(Y,X)}}function mf(Q){if(!Q)return{supportsFormMode:!1,supportsUrlMode:!1};let X=Q.form!==void 0,Y=Q.url!==void 0;return{supportsFormMode:X||!X&&!Y,supportsUrlMode:Y}}class F8 extends Q4{constructor(Q,X){super(X);if(this._clientInfo=Q,this._cachedToolOutputValidators=new Map,this._cachedKnownTaskTools=new Set,this._cachedRequiredTaskTools=new Set,this._listChangedDebounceTimers=new Map,this._capabilities=X?.capabilities??{},this._jsonSchemaValidator=X?.jsonSchemaValidator??new i4,X?.listChanged)this._pendingListChangedConfig=X.listChanged}_setupListChangedHandlers(Q){if(Q.tools&&this._serverCapabilities?.tools?.listChanged)this._setupListChangedHandler("tools",Q9,Q.tools,async()=>{return(await this.listTools()).tools});if(Q.prompts&&this._serverCapabilities?.prompts?.listChanged)this._setupListChangedHandler("prompts",e6,Q.prompts,async()=>{return(await this.listPrompts()).prompts});if(Q.resources&&this._serverCapabilities?.resources?.listChanged)this._setupListChangedHandler("resources",s6,Q.resources,async()=>{return(await this.listResources()).resources})}get experimental(){if(!this._experimental)this._experimental={tasks:new xJ(this)};return this._experimental}registerCapabilities(Q){if(this.transport)throw Error("Cannot register capabilities after connecting to transport");this._capabilities=aQ(this._capabilities,Q)}setRequestHandler(Q,X){let W=c1(Q)?.method;if(!W)throw Error("Schema is missing a method literal");let $;if(s0(W)){let G=W;$=G._zod?.def?.value??G.value}else{let G=W;$=G._def?.value??G.value}if(typeof $!=="string")throw Error("Schema method literal must be a string");let J=$;if(J==="elicitation/create"){let G=async(H,B)=>{let z=c0(Y9,H);if(!z.success){let O=z.error instanceof Error?z.error.message:String(z.error);throw new S(k.InvalidParams,`Invalid elicitation request: ${O}`)}let{params:K}=z.data;K.mode=K.mode??"form";let{supportsFormMode:V,supportsUrlMode:q}=mf(this._capabilities.elicitation);if(K.mode==="form"&&!V)throw new S(k.InvalidParams,"Client does not support form-mode elicitation requests");if(K.mode==="url"&&!q)throw new S(k.InvalidParams,"Client does not support URL-mode elicitation requests");let F=await Promise.resolve(X(H,B));if(K.task){let O=c0(Q6,F);if(!O.success){let N=O.error instanceof Error?O.error.message:String(O.error);throw new S(k.InvalidParams,`Invalid task creation result: ${N}`)}return O.data}let A=c0(c9,F);if(!A.success){let O=A.error instanceof Error?A.error.message:String(A.error);throw new S(k.InvalidParams,`Invalid elicitation result: ${O}`)}let D=A.data,L=K.mode==="form"?K.requestedSchema:void 0;if(K.mode==="form"&&D.action==="accept"&&D.content&&L){if(this._capabilities.elicitation?.form?.applyDefaults)try{MY(L,D.content)}catch{}}return D};return super.setRequestHandler(Q,G)}if(J==="sampling/createMessage"){let G=async(H,B)=>{let z=c0(X9,H);if(!z.success){let F=z.error instanceof Error?z.error.message:String(z.error);throw new S(k.InvalidParams,`Invalid sampling request: ${F}`)}let{params:K}=z.data,V=await Promise.resolve(X(H,B));if(K.task){let F=c0(Q6,V);if(!F.success){let A=F.error instanceof Error?F.error.message:String(F.error);throw new S(k.InvalidParams,`Invalid task creation result: ${A}`)}return F.data}let q=c0(s8,V);if(!q.success){let F=q.error instanceof Error?q.error.message:String(q.error);throw new S(k.InvalidParams,`Invalid sampling result: ${F}`)}return q.data};return super.setRequestHandler(Q,G)}return super.setRequestHandler(Q,X)}assertCapability(Q,X){if(!this._serverCapabilities?.[Q])throw Error(`Server does not support ${Q} (required for ${X})`)}async connect(Q,X){if(await super.connect(Q),Q.sessionId!==void 0)return;try{let Y=await this.request({method:"initialize",params:{protocolVersion:U6,capabilities:this._capabilities,clientInfo:this._clientInfo}},$5,X);if(Y===void 0)throw Error(`Server sent invalid initialize result: ${Y}`);if(!EQ.includes(Y.protocolVersion))throw Error(`Server's protocol version is not supported: ${Y.protocolVersion}`);if(this._serverCapabilities=Y.capabilities,this._serverVersion=Y.serverInfo,Q.setProtocolVersion)Q.setProtocolVersion(Y.protocolVersion);if(this._instructions=Y.instructions,await this.notification({method:"notifications/initialized"}),this._pendingListChangedConfig)this._setupListChangedHandlers(this._pendingListChangedConfig),this._pendingListChangedConfig=void 0}catch(Y){throw this.close(),Y}}getServerCapabilities(){return this._serverCapabilities}getServerVersion(){return this._serverVersion}getInstructions(){return this._instructions}assertCapabilityForMethod(Q){switch(Q){case"logging/setLevel":if(!this._serverCapabilities?.logging)throw Error(`Server does not support logging (required for ${Q})`);break;case"prompts/get":case"prompts/list":if(!this._serverCapabilities?.prompts)throw Error(`Server does not support prompts (required for ${Q})`);break;case"resources/list":case"resources/templates/list":case"resources/read":case"resources/subscribe":case"resources/unsubscribe":if(!this._serverCapabilities?.resources)throw Error(`Server does not support resources (required for ${Q})`);if(Q==="resources/subscribe"&&!this._serverCapabilities.resources.subscribe)throw Error(`Server does not support resource subscriptions (required for ${Q})`);break;case"tools/call":case"tools/list":if(!this._serverCapabilities?.tools)throw Error(`Server does not support tools (required for ${Q})`);break;case"completion/complete":if(!this._serverCapabilities?.completions)throw Error(`Server does not support completions (required for ${Q})`);break;case"initialize":break;case"ping":break}}assertNotificationCapability(Q){switch(Q){case"notifications/roots/list_changed":if(!this._capabilities.roots?.listChanged)throw Error(`Client does not support roots list changed notifications (required for ${Q})`);break;case"notifications/initialized":break;case"notifications/cancelled":break;case"notifications/progress":break}}assertRequestHandlerCapability(Q){if(!this._capabilities)return;switch(Q){case"sampling/createMessage":if(!this._capabilities.sampling)throw Error(`Client does not support sampling capability (required for ${Q})`);break;case"elicitation/create":if(!this._capabilities.elicitation)throw Error(`Client does not support elicitation capability (required for ${Q})`);break;case"roots/list":if(!this._capabilities.roots)throw Error(`Client does not support roots capability (required for ${Q})`);break;case"tasks/get":case"tasks/list":case"tasks/result":case"tasks/cancel":if(!this._capabilities.tasks)throw Error(`Client does not support tasks capability (required for ${Q})`);break;case"ping":break}}assertTaskCapability(Q){DY(this._serverCapabilities?.tasks?.requests,Q,"Server")}assertTaskHandlerCapability(Q){if(!this._capabilities)return;LY(this._capabilities.tasks?.requests,Q,"Client")}async ping(Q){return this.request({method:"ping"},e1,Q)}async complete(Q,X){return this.request({method:"completion/complete",params:Q},j5,X)}async setLoggingLevel(Q,X){return this.request({method:"logging/setLevel",params:{level:Q}},e1,X)}async getPrompt(Q,X){return this.request({method:"prompts/get",params:Q},D5,X)}async listPrompts(Q,X){return this.request({method:"prompts/list",params:Q},K5,X)}async listResources(Q,X){return this.request({method:"resources/list",params:Q},G5,X)}async listResourceTemplates(Q,X){return this.request({method:"resources/templates/list",params:Q},H5,X)}async readResource(Q,X){return this.request({method:"resources/read",params:Q},z5,X)}async subscribeResource(Q,X){return this.request({method:"resources/subscribe",params:Q},e1,X)}async unsubscribeResource(Q,X){return this.request({method:"resources/unsubscribe",params:Q},e1,X)}async callTool(Q,X=M6,Y){if(this.isToolTaskRequired(Q.name))throw new S(k.InvalidRequest,`Tool "${Q.name}" requires task-based execution. Use client.experimental.tasks.callToolStream() instead.`);let W=await this.request({method:"tools/call",params:Q},X,Y),$=this.getToolOutputValidator(Q.name);if($){if(!W.structuredContent&&!W.isError)throw new S(k.InvalidRequest,`Tool ${Q.name} has an output schema but did not return structured content`);if(W.structuredContent)try{let J=$(W.structuredContent);if(!J.valid)throw new S(k.InvalidParams,`Structured content does not match the tool's output schema: ${J.errorMessage}`)}catch(J){if(J instanceof S)throw J;throw new S(k.InvalidParams,`Failed to validate structured content: ${J instanceof Error?J.message:String(J)}`)}}return W}isToolTask(Q){if(!this._serverCapabilities?.tasks?.requests?.tools?.call)return!1;return this._cachedKnownTaskTools.has(Q)}isToolTaskRequired(Q){return this._cachedRequiredTaskTools.has(Q)}cacheToolMetadata(Q){this._cachedToolOutputValidators.clear(),this._cachedKnownTaskTools.clear(),this._cachedRequiredTaskTools.clear();for(let X of Q){if(X.outputSchema){let W=this._jsonSchemaValidator.getValidator(X.outputSchema);this._cachedToolOutputValidators.set(X.name,W)}let Y=X.execution?.taskSupport;if(Y==="required"||Y==="optional")this._cachedKnownTaskTools.add(X.name);if(Y==="required")this._cachedRequiredTaskTools.add(X.name)}}getToolOutputValidator(Q){return this._cachedToolOutputValidators.get(Q)}async listTools(Q,X){let Y=await this.request({method:"tools/list",params:Q},L5,X);return this.cacheToolMetadata(Y.tools),Y}_setupListChangedHandler(Q,X,Y,W){let $=_3.safeParse(Y);if(!$.success)throw Error(`Invalid ${Q} listChanged options: ${$.error.message}`);if(typeof Y.onChanged!=="function")throw Error(`Invalid ${Q} listChanged options: onChanged must be a function`);let{autoRefresh:J,debounceMs:G}=$.data,{onChanged:H}=Y,B=async()=>{if(!J){H(null,null);return}try{let K=await W();H(null,K)}catch(K){let V=K instanceof Error?K:Error(String(K));H(V,null)}},z=()=>{if(G){let K=this._listChangedDebounceTimers.get(Q);if(K)clearTimeout(K);let V=setTimeout(B,G);this._listChangedDebounceTimers.set(Q,V)}else B()};this.setNotificationHandler(X,z)}async sendRootsListChanged(){return this.notification({method:"notifications/roots/list_changed"})}}function NY(Q){if(!Q)return{};if(Q instanceof Headers)return Object.fromEntries(Q.entries());if(Array.isArray(Q))return Object.fromEntries(Q);return{...Q}}function HO(Q=fetch,X){if(!X)return Q;return async(Y,W)=>{let $={...X,...W,headers:W?.headers?{...NY(X.headers),...NY(W.headers)}:X.headers};return Q(Y,$)}}var yJ;yJ=globalThis.crypto?.webcrypto??globalThis.crypto??import("node:crypto").then((Q)=>Q.webcrypto);async function cf(Q){return(await yJ).getRandomValues(new Uint8Array(Q))}async function pf(Q){let Y=Math.pow(2,8)-Math.pow(2,8)%66,W="";while(W.length<Q){let $=await cf(Q-W.length);for(let J of $)if(J<Y)W+="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-._~"[J%66]}return W}async function df(Q){return await pf(Q)}async function nf(Q){let X=await(await yJ).subtle.digest("SHA-256",new TextEncoder().encode(Q));return btoa(String.fromCharCode(...new Uint8Array(X))).replace(/\//g,"_").replace(/\+/g,"-").replace(/=/g,"")}async function fJ(Q){if(!Q)Q=43;if(Q<43||Q>128)throw`Expected a length between 43 and 128. Received ${Q}.`;let X=await df(Q),Y=await nf(X);return{code_verifier:X,code_challenge:Y}}var g0=H3().superRefine((Q,X)=>{if(!URL.canParse(Q))return X.addIssue({code:U3.custom,message:"URL must be parseable",fatal:!0}),YQ}).refine((Q)=>{let X=new URL(Q);return X.protocol!=="javascript:"&&X.protocol!=="data:"&&X.protocol!=="vbscript:"},{message:"URL cannot use javascript:, data:, or vbscript: scheme"}),zO=T0({resource:U().url(),authorization_servers:E(g0).optional(),jwks_uri:U().url().optional(),scopes_supported:E(U()).optional(),bearer_methods_supported:E(U()).optional(),resource_signing_alg_values_supported:E(U()).optional(),resource_name:U().optional(),resource_documentation:U().optional(),resource_policy_uri:U().url().optional(),resource_tos_uri:U().url().optional(),tls_client_certificate_bound_access_tokens:H0().optional(),authorization_details_types_supported:E(U()).optional(),dpop_signing_alg_values_supported:E(U()).optional(),dpop_bound_access_tokens_required:H0().optional()}),gJ=T0({issuer:U(),authorization_endpoint:g0,token_endpoint:g0,registration_endpoint:g0.optional(),scopes_supported:E(U()).optional(),response_types_supported:E(U()),response_modes_supported:E(U()).optional(),grant_types_supported:E(U()).optional(),token_endpoint_auth_methods_supported:E(U()).optional(),token_endpoint_auth_signing_alg_values_supported:E(U()).optional(),service_documentation:g0.optional(),revocation_endpoint:g0.optional(),revocation_endpoint_auth_methods_supported:E(U()).optional(),revocation_endpoint_auth_signing_alg_values_supported:E(U()).optional(),introspection_endpoint:U().optional(),introspection_endpoint_auth_methods_supported:E(U()).optional(),introspection_endpoint_auth_signing_alg_values_supported:E(U()).optional(),code_challenge_methods_supported:E(U()).optional(),client_id_metadata_document_supported:H0().optional()}),of=T0({issuer:U(),authorization_endpoint:g0,token_endpoint:g0,userinfo_endpoint:g0.optional(),jwks_uri:g0,registration_endpoint:g0.optional(),scopes_supported:E(U()).optional(),response_types_supported:E(U()),response_modes_supported:E(U()).optional(),grant_types_supported:E(U()).optional(),acr_values_supported:E(U()).optional(),subject_types_supported:E(U()),id_token_signing_alg_values_supported:E(U()),id_token_encryption_alg_values_supported:E(U()).optional(),id_token_encryption_enc_values_supported:E(U()).optional(),userinfo_signing_alg_values_supported:E(U()).optional(),userinfo_encryption_alg_values_supported:E(U()).optional(),userinfo_encryption_enc_values_supported:E(U()).optional(),request_object_signing_alg_values_supported:E(U()).optional(),request_object_encryption_alg_values_supported:E(U()).optional(),request_object_encryption_enc_values_supported:E(U()).optional(),token_endpoint_auth_methods_supported:E(U()).optional(),token_endpoint_auth_signing_alg_values_supported:E(U()).optional(),display_values_supported:E(U()).optional(),claim_types_supported:E(U()).optional(),claims_supported:E(U()).optional(),service_documentation:U().optional(),claims_locales_supported:E(U()).optional(),ui_locales_supported:E(U()).optional(),claims_parameter_supported:H0().optional(),request_parameter_supported:H0().optional(),request_uri_parameter_supported:H0().optional(),require_request_uri_registration:H0().optional(),op_policy_uri:g0.optional(),op_tos_uri:g0.optional(),client_id_metadata_document_supported:H0().optional()}),KO=I({...of.shape,...gJ.pick({code_challenge_methods_supported:!0}).shape}),VO=I({access_token:U(),id_token:U().optional(),token_type:U(),expires_in:ZQ.number().optional(),scope:U().optional(),refresh_token:U().optional()}).strip(),FO=I({error:U(),error_description:U().optional(),error_uri:U().optional()}),BO=g0.optional().or(_("").transform(()=>{return})),rf=I({redirect_uris:E(g0),token_endpoint_auth_method:U().optional(),grant_types:E(U()).optional(),response_types:E(U()).optional(),client_name:U().optional(),client_uri:g0.optional(),logo_uri:BO,scope:U().optional(),contacts:E(U()).optional(),tos_uri:BO,policy_uri:U().optional(),jwks_uri:g0.optional(),jwks:z3().optional(),software_id:U().optional(),software_version:U().optional(),software_statement:U().optional()}).strip(),tf=I({client_id:U(),client_secret:U().optional(),client_id_issued_at:J0().optional(),client_secret_expires_at:J0().optional()}).strip(),AO=rf.merge(tf),ho=I({error:U(),error_description:U().optional()}).strip(),uo=I({token:U(),token_type_hint:U().optional()}).strip();function qO(Q){let X=typeof Q==="string"?new URL(Q):new URL(Q.href);return X.hash="",X}function DO({requestedResource:Q,configuredResource:X}){let Y=typeof Q==="string"?new URL(Q):new URL(Q.href),W=typeof X==="string"?new URL(X):new URL(X.href);if(Y.origin!==W.origin)return!1;if(Y.pathname.length<W.pathname.length)return!1;let $=Y.pathname.endsWith("/")?Y.pathname:Y.pathname+"/",J=W.pathname.endsWith("/")?W.pathname:W.pathname+"/";return $.startsWith(J)}class E0 extends Error{constructor(Q,X){super(Q);this.errorUri=X,this.name=this.constructor.name}toResponseObject(){let Q={error:this.errorCode,error_description:this.message};if(this.errorUri)Q.error_uri=this.errorUri;return Q}get errorCode(){return this.constructor.errorCode}}class wY extends E0{}wY.errorCode="invalid_request";class A8 extends E0{}A8.errorCode="invalid_client";class q8 extends E0{}q8.errorCode="invalid_grant";class D8 extends E0{}D8.errorCode="unauthorized_client";class bY extends E0{}bY.errorCode="unsupported_grant_type";class PY extends E0{}PY.errorCode="invalid_scope";class ZY extends E0{}ZY.errorCode="access_denied";class y6 extends E0{}y6.errorCode="server_error";class RY extends E0{}RY.errorCode="temporarily_unavailable";class EY extends E0{}EY.errorCode="unsupported_response_type";class SY extends E0{}SY.errorCode="unsupported_token_type";class IY extends E0{}IY.errorCode="invalid_token";class TY extends E0{}TY.errorCode="method_not_allowed";class CY extends E0{}CY.errorCode="too_many_requests";class L8 extends E0{}L8.errorCode="invalid_client_metadata";class kY extends E0{}kY.errorCode="insufficient_scope";class vY extends E0{}vY.errorCode="invalid_target";var LO={[wY.errorCode]:wY,[A8.errorCode]:A8,[q8.errorCode]:q8,[D8.errorCode]:D8,[bY.errorCode]:bY,[PY.errorCode]:PY,[ZY.errorCode]:ZY,[y6.errorCode]:y6,[RY.errorCode]:RY,[EY.errorCode]:EY,[SY.errorCode]:SY,[IY.errorCode]:IY,[TY.errorCode]:TY,[CY.errorCode]:CY,[L8.errorCode]:L8,[kY.errorCode]:kY,[vY.errorCode]:vY};class f6 extends Error{constructor(Q){super(Q??"Unauthorized")}}function af(Q){return["client_secret_basic","client_secret_post","none"].includes(Q)}var hJ="code",uJ="S256";function sf(Q,X){let Y=Q.client_secret!==void 0;if(X.length===0)return Y?"client_secret_post":"none";if("token_endpoint_auth_method"in Q&&Q.token_endpoint_auth_method&&af(Q.token_endpoint_auth_method)&&X.includes(Q.token_endpoint_auth_method))return Q.token_endpoint_auth_method;if(Y&&X.includes("client_secret_basic"))return"client_secret_basic";if(Y&&X.includes("client_secret_post"))return"client_secret_post";if(X.includes("none"))return"none";return Y?"client_secret_post":"none"}function ef(Q,X,Y,W){let{client_id:$,client_secret:J}=X;switch(Q){case"client_secret_basic":Qg($,J,Y);return;case"client_secret_post":Xg($,J,W);return;case"none":Yg($,W);return;default:throw Error(`Unsupported client authentication method: ${Q}`)}}function Qg(Q,X,Y){if(!X)throw Error("client_secret_basic authentication requires a client_secret");let W=btoa(`${Q}:${X}`);Y.set("Authorization",`Basic ${W}`)}function Xg(Q,X,Y){if(Y.set("client_id",Q),X)Y.set("client_secret",X)}function Yg(Q,X){X.set("client_id",Q)}async function UO(Q){let X=Q instanceof Response?Q.status:void 0,Y=Q instanceof Response?await Q.text():Q;try{let W=FO.parse(JSON.parse(Y)),{error:$,error_description:J,error_uri:G}=W;return new(LO[$]||y6)(J||"",G)}catch(W){let $=`${X?`HTTP ${X}: `:""}Invalid OAuth error response: ${W}. Raw body: ${Y}`;return new y6($)}}async function r4(Q,X){try{return await lJ(Q,X)}catch(Y){if(Y instanceof A8||Y instanceof D8)return await Q.invalidateCredentials?.("all"),await lJ(Q,X);else if(Y instanceof q8)return await Q.invalidateCredentials?.("tokens"),await lJ(Q,X);throw Y}}async function lJ(Q,{serverUrl:X,authorizationCode:Y,scope:W,resourceMetadataUrl:$,fetchFn:J}){let G,H;try{if(G=await Jg(X,{resourceMetadataUrl:$},J),G.authorization_servers&&G.authorization_servers.length>0)H=G.authorization_servers[0]}catch{}if(!H)H=new URL("/",X);let B=await $g(X,Q,G),z=await Kg(H,{fetchFn:J}),K=await Promise.resolve(Q.clientInformation());if(!K){if(Y!==void 0)throw Error("Existing OAuth client information is required when exchanging an authorization code");let L=z?.client_id_metadata_document_supported===!0,O=Q.clientMetadataUrl;if(O&&!Wg(O))throw new L8(`clientMetadataUrl must be a valid HTTPS URL with a non-root pathname, got: ${O}`);if(L&&O)K={client_id:O},await Q.saveClientInformation?.(K);else{if(!Q.saveClientInformation)throw Error("OAuth client information must be saveable for dynamic registration");let w=await Dg(H,{metadata:z,clientMetadata:Q.clientMetadata,fetchFn:J});await Q.saveClientInformation(w),K=w}}let V=!Q.redirectUrl;if(Y!==void 0||V){let L=await qg(Q,H,{metadata:z,resource:B,authorizationCode:Y,fetchFn:J});return await Q.saveTokens(L),"AUTHORIZED"}let q=await Q.tokens();if(q?.refresh_token)try{let L=await Ag(H,{metadata:z,clientInformation:K,refreshToken:q.refresh_token,resource:B,addClientAuthentication:Q.addClientAuthentication,fetchFn:J});return await Q.saveTokens(L),"AUTHORIZED"}catch(L){if(!(L instanceof E0)||L instanceof y6);else throw L}let F=Q.state?await Q.state():void 0,{authorizationUrl:A,codeVerifier:D}=await Vg(H,{metadata:z,clientInformation:K,state:F,redirectUrl:Q.redirectUrl,scope:W||G?.scopes_supported?.join(" ")||Q.clientMetadata.scope,resource:B});return await Q.saveCodeVerifier(D),await Q.redirectToAuthorization(A),"REDIRECT"}function Wg(Q){if(!Q)return!1;try{let X=new URL(Q);return X.protocol==="https:"&&X.pathname!=="/"}catch{return!1}}async function $g(Q,X,Y){let W=qO(Q);if(X.validateResourceURL)return await X.validateResourceURL(W,Y?.resource);if(!Y)return;if(!DO({requestedResource:W,configuredResource:Y.resource}))throw Error(`Protected resource ${Y.resource} does not match expected ${W} (or origin)`);return new URL(Y.resource)}function cJ(Q){let X=Q.headers.get("WWW-Authenticate");if(!X)return{};let[Y,W]=X.split(" ");if(Y.toLowerCase()!=="bearer"||!W)return{};let $=mJ(Q,"resource_metadata")||void 0,J;if($)try{J=new URL($)}catch{}let G=mJ(Q,"scope")||void 0,H=mJ(Q,"error")||void 0;return{resourceMetadataUrl:J,scope:G,error:H}}function mJ(Q,X){let Y=Q.headers.get("WWW-Authenticate");if(!Y)return null;let W=new RegExp(`${X}=(?:"([^"]+)"|([^\\s,]+))`),$=Y.match(W);if($)return $[1]||$[2];return null}async function Jg(Q,X,Y=fetch){let W=await Bg(Q,"oauth-protected-resource",Y,{protocolVersion:X?.protocolVersion,metadataUrl:X?.resourceMetadataUrl});if(!W||W.status===404)throw await W?.body?.cancel(),Error("Resource server does not implement OAuth 2.0 Protected Resource Metadata.");if(!W.ok)throw await W.body?.cancel(),Error(`HTTP ${W.status} trying to load well-known OAuth protected resource metadata.`);return zO.parse(await W.json())}async function pJ(Q,X,Y=fetch){try{return await Y(Q,{headers:X})}catch(W){if(W instanceof TypeError)if(X)return pJ(Q,void 0,Y);else return;throw W}}function Gg(Q,X="",Y={}){if(X.endsWith("/"))X=X.slice(0,-1);return Y.prependPathname?`${X}/.well-known/${Q}`:`/.well-known/${Q}${X}`}async function OO(Q,X,Y=fetch){return await pJ(Q,{"MCP-Protocol-Version":X},Y)}function Hg(Q,X){return!Q||Q.status>=400&&Q.status<500&&X!=="/"}async function Bg(Q,X,Y,W){let $=new URL(Q),J=W?.protocolVersion??U6,G;if(W?.metadataUrl)G=new URL(W.metadataUrl);else{let B=Gg(X,$.pathname);G=new URL(B,W?.metadataServerUrl??$),G.search=$.search}let H=await OO(G,J,Y);if(!W?.metadataUrl&&Hg(H,$.pathname)){let B=new URL(`/.well-known/${X}`,$);H=await OO(B,J,Y)}return H}function zg(Q){let X=typeof Q==="string"?new URL(Q):Q,Y=X.pathname!=="/",W=[];if(!Y)return W.push({url:new URL("/.well-known/oauth-authorization-server",X.origin),type:"oauth"}),W.push({url:new URL("/.well-known/openid-configuration",X.origin),type:"oidc"}),W;let $=X.pathname;if($.endsWith("/"))$=$.slice(0,-1);return W.push({url:new URL(`/.well-known/oauth-authorization-server${$}`,X.origin),type:"oauth"}),W.push({url:new URL(`/.well-known/openid-configuration${$}`,X.origin),type:"oidc"}),W.push({url:new URL(`${$}/.well-known/openid-configuration`,X.origin),type:"oidc"}),W}async function Kg(Q,{fetchFn:X=fetch,protocolVersion:Y=U6}={}){let W={"MCP-Protocol-Version":Y,Accept:"application/json"},$=zg(Q);for(let{url:J,type:G}of $){let H=await pJ(J,W,X);if(!H)continue;if(!H.ok){if(await H.body?.cancel(),H.status>=400&&H.status<500)continue;throw Error(`HTTP ${H.status} trying to load ${G==="oauth"?"OAuth":"OpenID provider"} metadata from ${J}`)}if(G==="oauth")return gJ.parse(await H.json());else return KO.parse(await H.json())}return}async function Vg(Q,{metadata:X,clientInformation:Y,redirectUrl:W,scope:$,state:J,resource:G}){let H;if(X){if(H=new URL(X.authorization_endpoint),!X.response_types_supported.includes(hJ))throw Error(`Incompatible auth server: does not support response type ${hJ}`);if(X.code_challenge_methods_supported&&!X.code_challenge_methods_supported.includes(uJ))throw Error(`Incompatible auth server: does not support code challenge method ${uJ}`)}else H=new URL("/authorize",Q);let B=await fJ(),z=B.code_verifier,K=B.code_challenge;if(H.searchParams.set("response_type",hJ),H.searchParams.set("client_id",Y.client_id),H.searchParams.set("code_challenge",K),H.searchParams.set("code_challenge_method",uJ),H.searchParams.set("redirect_uri",String(W)),J)H.searchParams.set("state",J);if($)H.searchParams.set("scope",$);if($?.includes("offline_access"))H.searchParams.append("prompt","consent");if(G)H.searchParams.set("resource",G.href);return{authorizationUrl:H,codeVerifier:z}}function Fg(Q,X,Y){return new URLSearchParams({grant_type:"authorization_code",code:Q,code_verifier:X,redirect_uri:String(Y)})}async function jO(Q,{metadata:X,tokenRequestParams:Y,clientInformation:W,addClientAuthentication:$,resource:J,fetchFn:G}){let H=X?.token_endpoint?new URL(X.token_endpoint):new URL("/token",Q),B=new Headers({"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"});if(J)Y.set("resource",J.href);if($)await $(B,Y,H,X);else if(W){let K=X?.token_endpoint_auth_methods_supported??[],V=sf(W,K);ef(V,W,B,Y)}let z=await(G??fetch)(H,{method:"POST",headers:B,body:Y});if(!z.ok)throw await UO(z);return VO.parse(await z.json())}async function Ag(Q,{metadata:X,clientInformation:Y,refreshToken:W,resource:$,addClientAuthentication:J,fetchFn:G}){let H=new URLSearchParams({grant_type:"refresh_token",refresh_token:W}),B=await jO(Q,{metadata:X,tokenRequestParams:H,clientInformation:Y,addClientAuthentication:J,resource:$,fetchFn:G});return{refresh_token:W,...B}}async function qg(Q,X,{metadata:Y,resource:W,authorizationCode:$,fetchFn:J}={}){let G=Q.clientMetadata.scope,H;if(Q.prepareTokenRequest)H=await Q.prepareTokenRequest(G);if(!H){if(!$)throw Error("Either provider.prepareTokenRequest() or authorizationCode is required");if(!Q.redirectUrl)throw Error("redirectUrl is required for authorization_code flow");let z=await Q.codeVerifier();H=Fg($,z,Q.redirectUrl)}let B=await Q.clientInformation();return jO(X,{metadata:Y,tokenRequestParams:H,clientInformation:B??void 0,addClientAuthentication:Q.addClientAuthentication,resource:W,fetchFn:J})}async function Dg(Q,{metadata:X,clientMetadata:Y,fetchFn:W}){let $;if(X){if(!X.registration_endpoint)throw Error("Incompatible auth server: does not support dynamic client registration");$=new URL(X.registration_endpoint)}else $=new URL("/register",Q);let J=await(W??fetch)($,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(Y)});if(!J.ok)throw await UO(J);return AO.parse(await J.json())}class iJ extends Error{constructor(Q,X){super(Q),this.name="ParseError",this.type=X.type,this.field=X.field,this.value=X.value,this.line=X.line}}function dJ(Q){}function MO(Q){if(typeof Q=="function")throw TypeError("`callbacks` must be an object, got a function instead. Did you mean `{onEvent: fn}`?");let{onEvent:X=dJ,onError:Y=dJ,onRetry:W=dJ,onComment:$}=Q,J="",G=!0,H,B="",z="";function K(D){let L=G?D.replace(/^\xEF\xBB\xBF/,""):D,[O,N]=Lg(`${J}${L}`);for(let w of O)V(w);J=N,G=!1}function V(D){if(D===""){F();return}if(D.startsWith(":")){$&&$(D.slice(D.startsWith(": ")?2:1));return}let L=D.indexOf(":");if(L!==-1){let O=D.slice(0,L),N=D[L+1]===" "?2:1,w=D.slice(L+N);q(O,w,D);return}q(D,"",D)}function q(D,L,O){switch(D){case"event":z=L;break;case"data":B=`${B}${L}
50
- `;break;case"id":H=L.includes("\x00")?void 0:L;break;case"retry":/^\d+$/.test(L)?W(parseInt(L,10)):Y(new iJ(`Invalid \`retry\` value: "${L}"`,{type:"invalid-retry",value:L,line:O}));break;default:Y(new iJ(`Unknown field "${D.length>20?`${D.slice(0,20)}…`:D}"`,{type:"unknown-field",field:D,value:L,line:O}));break}}function F(){B.length>0&&X({id:H,event:z||void 0,data:B.endsWith(`
51
- `)?B.slice(0,-1):B}),H=void 0,B="",z=""}function A(D={}){J&&D.consume&&V(J),G=!0,H=void 0,B="",z="",J=""}return{feed:K,reset:A}}function Lg(Q){let X=[],Y="",W=0;for(;W<Q.length;){let $=Q.indexOf("\r",W),J=Q.indexOf(`
52
- `,W),G=-1;if($!==-1&&J!==-1?G=Math.min($,J):$!==-1?$===Q.length-1?G=-1:G=$:J!==-1&&(G=J),G===-1){Y=Q.slice(W);break}else{let H=Q.slice(W,G);X.push(H),W=G+1,Q[W-1]==="\r"&&Q[W]===`
53
- `&&W++}}return[X,Y]}class nJ extends TransformStream{constructor({onError:Q,onRetry:X,onComment:Y}={}){let W;super({start($){W=MO({onEvent:(J)=>{$.enqueue(J)},onError(J){Q==="terminate"?$.error(J):typeof Q=="function"&&Q(J)},onRetry:X,onComment:Y})},transform($){W.feed($)}})}}var Og={initialReconnectionDelay:1000,maxReconnectionDelay:30000,reconnectionDelayGrowFactor:1.5,maxRetries:2};class L9 extends Error{constructor(Q,X){super(`Streamable HTTP error: ${X}`);this.code=Q}}class _Y{constructor(Q,X){this._hasCompletedAuthFlow=!1,this._url=Q,this._resourceMetadataUrl=void 0,this._scope=void 0,this._requestInit=X?.requestInit,this._authProvider=X?.authProvider,this._fetch=X?.fetch,this._fetchWithInit=HO(X?.fetch,X?.requestInit),this._sessionId=X?.sessionId,this._reconnectionOptions=X?.reconnectionOptions??Og}async _authThenStart(){if(!this._authProvider)throw new f6("No auth provider");let Q;try{Q=await r4(this._authProvider,{serverUrl:this._url,resourceMetadataUrl:this._resourceMetadataUrl,scope:this._scope,fetchFn:this._fetchWithInit})}catch(X){throw this.onerror?.(X),X}if(Q!=="AUTHORIZED")throw new f6;return await this._startOrAuthSse({resumptionToken:void 0})}async _commonHeaders(){let Q={};if(this._authProvider){let Y=await this._authProvider.tokens();if(Y)Q.Authorization=`Bearer ${Y.access_token}`}if(this._sessionId)Q["mcp-session-id"]=this._sessionId;if(this._protocolVersion)Q["mcp-protocol-version"]=this._protocolVersion;let X=NY(this._requestInit?.headers);return new Headers({...Q,...X})}async _startOrAuthSse(Q){let{resumptionToken:X}=Q;try{let Y=await this._commonHeaders();if(Y.set("Accept","text/event-stream"),X)Y.set("last-event-id",X);let W=await(this._fetch??fetch)(this._url,{method:"GET",headers:Y,signal:this._abortController?.signal});if(!W.ok){if(await W.body?.cancel(),W.status===401&&this._authProvider)return await this._authThenStart();if(W.status===405)return;throw new L9(W.status,`Failed to open SSE stream: ${W.statusText}`)}this._handleSseStream(W.body,Q,!0)}catch(Y){throw this.onerror?.(Y),Y}}_getNextReconnectionDelay(Q){if(this._serverRetryMs!==void 0)return this._serverRetryMs;let X=this._reconnectionOptions.initialReconnectionDelay,Y=this._reconnectionOptions.reconnectionDelayGrowFactor,W=this._reconnectionOptions.maxReconnectionDelay;return Math.min(X*Math.pow(Y,Q),W)}_scheduleReconnection(Q,X=0){let Y=this._reconnectionOptions.maxRetries;if(X>=Y){this.onerror?.(Error(`Maximum reconnection attempts (${Y}) exceeded.`));return}let W=this._getNextReconnectionDelay(X);this._reconnectionTimeout=setTimeout(()=>{this._startOrAuthSse(Q).catch(($)=>{this.onerror?.(Error(`Failed to reconnect SSE stream: ${$ instanceof Error?$.message:String($)}`)),this._scheduleReconnection(Q,X+1)})},W)}_handleSseStream(Q,X,Y){if(!Q)return;let{onresumptiontoken:W,replayMessageId:$}=X,J,G=!1,H=!1;(async()=>{try{let z=Q.pipeThrough(new TextDecoderStream).pipeThrough(new nJ({onRetry:(q)=>{this._serverRetryMs=q}})).getReader();while(!0){let{value:q,done:F}=await z.read();if(F)break;if(q.id)J=q.id,G=!0,W?.(q.id);if(!q.data)continue;if(!q.event||q.event==="message")try{let A=u9.parse(JSON.parse(q.data));if(a6(A)){if(H=!0,$!==void 0)A.id=$}this.onmessage?.(A)}catch(A){this.onerror?.(A)}}if((Y||G)&&!H&&this._abortController&&!this._abortController.signal.aborted)this._scheduleReconnection({resumptionToken:J,onresumptiontoken:W,replayMessageId:$},0)}catch(z){if(this.onerror?.(Error(`SSE stream disconnected: ${z}`)),(Y||G)&&!H&&this._abortController&&!this._abortController.signal.aborted)try{this._scheduleReconnection({resumptionToken:J,onresumptiontoken:W,replayMessageId:$},0)}catch(q){this.onerror?.(Error(`Failed to reconnect: ${q instanceof Error?q.message:String(q)}`))}}})()}async start(){if(this._abortController)throw Error("StreamableHTTPClientTransport already started! If using Client class, note that connect() calls start() automatically.");this._abortController=new AbortController}async finishAuth(Q){if(!this._authProvider)throw new f6("No auth provider");if(await r4(this._authProvider,{serverUrl:this._url,authorizationCode:Q,resourceMetadataUrl:this._resourceMetadataUrl,scope:this._scope,fetchFn:this._fetchWithInit})!=="AUTHORIZED")throw new f6("Failed to authorize")}async close(){if(this._reconnectionTimeout)clearTimeout(this._reconnectionTimeout),this._reconnectionTimeout=void 0;this._abortController?.abort(),this.onclose?.()}async send(Q,X){try{let{resumptionToken:Y,onresumptiontoken:W}=X||{};if(Y){this._startOrAuthSse({resumptionToken:Y,replayMessageId:m8(Q)?Q.id:void 0}).catch((V)=>this.onerror?.(V));return}let $=await this._commonHeaders();$.set("content-type","application/json"),$.set("accept","application/json, text/event-stream");let J={...this._requestInit,method:"POST",headers:$,body:JSON.stringify(Q),signal:this._abortController?.signal},G=await(this._fetch??fetch)(this._url,J),H=G.headers.get("mcp-session-id");if(H)this._sessionId=H;if(!G.ok){let V=await G.text().catch(()=>null);if(G.status===401&&this._authProvider){if(this._hasCompletedAuthFlow)throw new L9(401,"Server returned 401 after successful authentication");let{resourceMetadataUrl:q,scope:F}=cJ(G);if(this._resourceMetadataUrl=q,this._scope=F,await r4(this._authProvider,{serverUrl:this._url,resourceMetadataUrl:this._resourceMetadataUrl,scope:this._scope,fetchFn:this._fetchWithInit})!=="AUTHORIZED")throw new f6;return this._hasCompletedAuthFlow=!0,this.send(Q)}if(G.status===403&&this._authProvider){let{resourceMetadataUrl:q,scope:F,error:A}=cJ(G);if(A==="insufficient_scope"){let D=G.headers.get("WWW-Authenticate");if(this._lastUpscopingHeader===D)throw new L9(403,"Server returned 403 after trying upscoping");if(F)this._scope=F;if(q)this._resourceMetadataUrl=q;if(this._lastUpscopingHeader=D??void 0,await r4(this._authProvider,{serverUrl:this._url,resourceMetadataUrl:this._resourceMetadataUrl,scope:this._scope,fetchFn:this._fetch})!=="AUTHORIZED")throw new f6;return this.send(Q)}}throw new L9(G.status,`Error POSTing to endpoint: ${V}`)}if(this._hasCompletedAuthFlow=!1,this._lastUpscopingHeader=void 0,G.status===202){if(await G.body?.cancel(),E3(Q))this._startOrAuthSse({resumptionToken:void 0}).catch((V)=>this.onerror?.(V));return}let z=(Array.isArray(Q)?Q:[Q]).filter((V)=>("method"in V)&&("id"in V)&&V.id!==void 0).length>0,K=G.headers.get("content-type");if(z)if(K?.includes("text/event-stream"))this._handleSseStream(G.body,{onresumptiontoken:W},!1);else if(K?.includes("application/json")){let V=await G.json(),q=Array.isArray(V)?V.map((F)=>u9.parse(F)):[u9.parse(V)];for(let F of q)this.onmessage?.(F)}else throw await G.body?.cancel(),new L9(-1,`Unexpected content type: ${K}`);else await G.body?.cancel()}catch(Y){throw this.onerror?.(Y),Y}}get sessionId(){return this._sessionId}async terminateSession(){if(!this._sessionId)return;try{let Q=await this._commonHeaders(),X={...this._requestInit,method:"DELETE",headers:Q,signal:this._abortController?.signal},Y=await(this._fetch??fetch)(this._url,X);if(await Y.body?.cancel(),!Y.ok&&Y.status!==405)throw new L9(Y.status,`Failed to terminate session: ${Y.statusText}`);this._sessionId=void 0}catch(Q){throw this.onerror?.(Q),Q}}setProtocolVersion(Q){this._protocolVersion=Q}get protocolVersion(){return this._protocolVersion}async resumeStream(Q,X){await this._startOrAuthSse({resumptionToken:Q,onresumptiontoken:X?.onresumptiontoken})}}var Ug=1000,jg=180000,Mg=2,Ng=0.1,NO=120000,wg=0.1,bg=60000,Pg=3;class oJ{name;url;headers;onStatusChange;onNotification;onLog;onSamplingRequest;onElicitationRequest;onReconnecting;onReconnected;onHealthDegraded;onHealthRestored;client=null;transport=null;status="disconnected";errorMessage;capabilities;isClosing=!1;reconnectAttempt=0;reconnectTimeoutHandle=null;nextRetryMs=0;isReconnecting=!1;healthCheckIntervalHandle=null;consecutiveHealthFailures=0;healthStatus="healthy";constructor(Q){this.name=Q.name,this.url=Q.url,this.headers=Q.headers,this.onStatusChange=Q.onStatusChange,this.onNotification=Q.onNotification,this.onLog=Q.onLog,this.onSamplingRequest=Q.onSamplingRequest,this.onElicitationRequest=Q.onElicitationRequest,this.onReconnecting=Q.onReconnecting,this.onReconnected=Q.onReconnected,this.onHealthDegraded=Q.onHealthDegraded,this.onHealthRestored=Q.onHealthRestored}getTransportType(){return"http"}getUrl(){return this.url}getInfo(){let Q={name:this.name,url:this.url,status:this.status};if(this.errorMessage!==void 0)Q.error=this.errorMessage;if(this.capabilities!==void 0)Q.capabilities=this.capabilities;return Q}getName(){return this.name}getStatus(){return this.status}isConnected(){return this.status==="connected"}getReconnectionState(){if(this.status!=="reconnecting")return null;return{attempt:this.reconnectAttempt,nextRetryMs:this.nextRetryMs}}getHealthStatus(){return this.healthStatus}getConsecutiveHealthFailures(){return this.consecutiveHealthFailures}async connect(){if(this.status==="connected"||this.status==="connecting")return;this.setStatus("connecting");try{let Q={};if(this.headers)Q.requestInit={headers:this.headers};this.transport=new _Y(new URL(this.url),Q),this.client=new F8({name:"emceepee",version:"0.1.0"},{capabilities:{sampling:{},elicitation:{form:{}}}}),this.setupNotificationHandler(),this.transport.onclose=()=>{if(!this.isClosing)this.handleUnexpectedDisconnect()},this.transport.onerror=(Y)=>{if((Y.name==="AbortError"||Y.message.includes("AbortError"))&&(this.isClosing||this.status==="disconnected"))return;this.errorMessage=Y.message,this.handleUnexpectedDisconnect()},await this.client.connect(this.transport);let X=this.client.getServerCapabilities();this.capabilities={tools:X?.tools!==void 0,resources:X?.resources!==void 0,prompts:X?.prompts!==void 0,resourceTemplates:X?.resources!==void 0,resourceSubscriptions:X?.resources?.subscribe===!0},this.setStatus("connected"),this.startHealthChecks()}catch(Q){let X=Q instanceof Error?Q.message:String(Q);throw this.setStatus("error",X),Q}}async disconnect(){if(this.isClosing=!0,this.stopHealthChecks(),this.cancelReconnection(),this.transport)try{await this.transport.close()}catch{}this.client=null,this.transport=null,this.isClosing=!1,this.setStatus("disconnected")}async forceReconnect(){if(this.stopHealthChecks(),this.cancelReconnection(),this.transport){this.isClosing=!0;try{await this.transport.close()}catch{}this.isClosing=!1}this.client=null,this.transport=null,this.reconnectAttempt=0,this.nextRetryMs=0,this.consecutiveHealthFailures=0,this.healthStatus="healthy",await this.connect()}cancelReconnection(){if(this.reconnectTimeoutHandle)clearTimeout(this.reconnectTimeoutHandle),this.reconnectTimeoutHandle=null;this.isReconnecting=!1}async listTools(){let Q=this.getConnectedClient();if(!this.capabilities?.tools)return[];return(await Q.listTools()).tools}async callTool(Q,X={}){return await this.getConnectedClient().callTool({name:Q,arguments:X})}async listResources(){let Q=this.getConnectedClient();if(!this.capabilities?.resources)return[];return(await Q.listResources()).resources}async listResourceTemplates(){let Q=this.getConnectedClient();if(!this.capabilities?.resourceTemplates)return[];return(await Q.listResourceTemplates()).resourceTemplates}async readResource(Q){return await this.getConnectedClient().readResource({uri:Q})}async subscribeResource(Q){let X=this.getConnectedClient();if(!this.capabilities?.resourceSubscriptions)throw Error(`Server '${this.name}' does not support resource subscriptions`);await X.subscribeResource({uri:Q})}async unsubscribeResource(Q){let X=this.getConnectedClient();if(!this.capabilities?.resourceSubscriptions)throw Error(`Server '${this.name}' does not support resource subscriptions`);await X.unsubscribeResource({uri:Q})}supportsResourceSubscriptions(){return this.capabilities?.resourceSubscriptions===!0}async listPrompts(){let Q=this.getConnectedClient();if(!this.capabilities?.prompts)return[];return(await Q.listPrompts()).prompts}async getPrompt(Q,X={}){return await this.getConnectedClient().getPrompt({name:Q,arguments:X})}setupNotificationHandler(){if(!this.client)return;this.client.setNotificationHandler(Q9,()=>{this.emitNotification("notifications/tools/list_changed")}),this.client.setNotificationHandler(s6,()=>{this.emitNotification("notifications/resources/list_changed")}),this.client.setNotificationHandler(r8,(Q)=>{this.emitNotification("notifications/resources/updated",Q.params)}),this.client.setNotificationHandler(e6,()=>{this.emitNotification("notifications/prompts/list_changed")}),this.client.setNotificationHandler(a8,(Q)=>{if(this.onLog)this.onLog({server:this.name,timestamp:new Date,level:Q.params.level,logger:Q.params.logger,data:Q.params.data})}),this.client.setRequestHandler(X9,(Q)=>{return new Promise((X,Y)=>{if(this.onSamplingRequest)this.onSamplingRequest({id:crypto.randomUUID(),server:this.name,timestamp:new Date,params:Q.params,resolve:X,reject:Y});else Y(Error("Sampling not supported: no handler registered"))})}),this.client.setRequestHandler(Y9,(Q)=>{return new Promise((X,Y)=>{if(this.onElicitationRequest)this.onElicitationRequest({id:crypto.randomUUID(),server:this.name,timestamp:new Date,params:Q.params,resolve:X,reject:Y});else Y(Error("Elicitation not supported: no handler registered"))})})}emitNotification(Q,X){if(this.onNotification!==void 0)this.onNotification({server:this.name,timestamp:new Date,method:Q,params:X})}handleUnexpectedDisconnect(){if(this.isReconnecting||this.isClosing)return;this.stopHealthChecks(),this.client=null,this.transport=null,this.isReconnecting=!0,this.reconnectAttempt=0,this.setStatus("reconnecting",this.errorMessage),this.scheduleReconnection()}scheduleReconnection(){if(this.isClosing)return;this.reconnectAttempt++;let Q=this.calculateBackoff(this.reconnectAttempt);if(this.nextRetryMs=Q,this.onReconnecting)this.onReconnecting(this.reconnectAttempt,Q);this.reconnectTimeoutHandle=setTimeout(()=>{this.attemptReconnection()},Q)}async attemptReconnection(){if(this.isClosing)return;try{let Q={};if(this.headers)Q.requestInit={headers:this.headers};this.transport=new _Y(new URL(this.url),Q),this.client=new F8({name:"emceepee",version:"0.1.0"},{capabilities:{sampling:{},elicitation:{form:{}}}}),this.setupNotificationHandler(),this.transport.onclose=()=>{if(!this.isClosing)this.handleUnexpectedDisconnect()},this.transport.onerror=(W)=>{if((W.name==="AbortError"||W.message.includes("AbortError"))&&(this.isClosing||this.status==="disconnected"))return;this.errorMessage=W.message,this.handleUnexpectedDisconnect()},await this.client.connect(this.transport);let X=this.client.getServerCapabilities();this.capabilities={tools:X?.tools!==void 0,resources:X?.resources!==void 0,prompts:X?.prompts!==void 0,resourceTemplates:X?.resources!==void 0,resourceSubscriptions:X?.resources?.subscribe===!0};let Y=this.reconnectAttempt;if(this.reconnectAttempt=0,this.nextRetryMs=0,this.isReconnecting=!1,this.consecutiveHealthFailures=0,this.healthStatus="healthy",this.setStatus("connected"),this.onReconnected)this.onReconnected(Y);this.startHealthChecks()}catch(Q){this.client=null,this.transport=null,this.errorMessage=Q instanceof Error?Q.message:String(Q),this.scheduleReconnection()}}calculateBackoff(Q){let X=Ug*Math.pow(Mg,Q-1),Y=Math.min(X,jg),W=Y*Ng*(Math.random()*2-1);return Math.round(Y+W)}startHealthChecks(){this.stopHealthChecks();let Q=()=>{let X=NO*wg*(Math.random()*2-1),Y=Math.round(NO+X);this.healthCheckIntervalHandle=setTimeout(()=>{this.performHealthCheck(),Q()},Y)};Q()}stopHealthChecks(){if(this.healthCheckIntervalHandle)clearTimeout(this.healthCheckIntervalHandle),this.healthCheckIntervalHandle=null}async performHealthCheck(){if(!this.client||!this.isConnected())return;try{let Q=new AbortController,X=setTimeout(()=>{Q.abort()},bg);try{if(await this.client.listTools(),clearTimeout(X),this.consecutiveHealthFailures>0){let Y=this.healthStatus==="degraded";if(this.consecutiveHealthFailures=0,this.healthStatus="healthy",Y&&this.onHealthRestored)this.onHealthRestored()}}catch(Y){throw clearTimeout(X),Y}}catch(Q){this.consecutiveHealthFailures++;let X=Q instanceof Error?Q.message:String(Q);if(this.consecutiveHealthFailures>=Pg&&this.healthStatus!=="degraded"){if(this.healthStatus="degraded",this.onHealthDegraded)this.onHealthDegraded(this.consecutiveHealthFailures,X)}}}setStatus(Q,X){if(this.status=Q,Q==="error"&&X!==void 0)this.errorMessage=X;else this.errorMessage=void 0;if(this.onStatusChange!==void 0)this.onStatusChange(Q,X)}getConnectedClient(){if(!this.isConnected()||!this.client)throw Error(`Client '${this.name}' is not connected`);return this.client}}var KU=O9(zU(),1);import yY from"node:process";import{PassThrough as Qh}from"node:stream";var Xh=yY.platform==="win32"?["APPDATA","HOMEDRIVE","HOMEPATH","LOCALAPPDATA","PATH","PROCESSOR_ARCHITECTURE","SYSTEMDRIVE","SYSTEMROOT","TEMP","USERNAME","USERPROFILE","PROGRAMFILES"]:["HOME","LOGNAME","PATH","SHELL","TERM","USER"];function Yh(){let Q={};for(let X of Xh){let Y=yY.env[X];if(Y===void 0)continue;if(Y.startsWith("()"))continue;Q[X]=Y}return Q}class $G{constructor(Q){if(this._readBuffer=new o4,this._stderrStream=null,this._serverParams=Q,Q.stderr==="pipe"||Q.stderr==="overlapped")this._stderrStream=new Qh}async start(){if(this._process)throw Error("StdioClientTransport already started! If using Client class, note that connect() calls start() automatically.");return new Promise((Q,X)=>{if(this._process=KU.default(this._serverParams.command,this._serverParams.args??[],{env:{...Yh(),...this._serverParams.env},stdio:["pipe","pipe",this._serverParams.stderr??"inherit"],shell:!1,windowsHide:yY.platform==="win32"&&Wh(),cwd:this._serverParams.cwd}),this._process.on("error",(Y)=>{X(Y),this.onerror?.(Y)}),this._process.on("spawn",()=>{Q()}),this._process.on("close",(Y)=>{this._process=void 0,this.onclose?.()}),this._process.stdin?.on("error",(Y)=>{this.onerror?.(Y)}),this._process.stdout?.on("data",(Y)=>{this._readBuffer.append(Y),this.processReadBuffer()}),this._process.stdout?.on("error",(Y)=>{this.onerror?.(Y)}),this._stderrStream&&this._process.stderr)this._process.stderr.pipe(this._stderrStream)})}get stderr(){if(this._stderrStream)return this._stderrStream;return this._process?.stderr??null}get pid(){return this._process?.pid??null}processReadBuffer(){while(!0)try{let Q=this._readBuffer.readMessage();if(Q===null)break;this.onmessage?.(Q)}catch(Q){this.onerror?.(Q)}}async close(){if(this._process){let Q=this._process;this._process=void 0;let X=new Promise((Y)=>{Q.once("close",()=>{Y()})});try{Q.stdin?.end()}catch{}if(await Promise.race([X,new Promise((Y)=>setTimeout(Y,2000).unref())]),Q.exitCode===null){try{Q.kill("SIGTERM")}catch{}await Promise.race([X,new Promise((Y)=>setTimeout(Y,2000).unref())])}if(Q.exitCode===null)try{Q.kill("SIGKILL")}catch{}}this._readBuffer.clear()}send(Q){return new Promise((X)=>{if(!this._process?.stdin)throw Error("Not connected");let Y=OY(Q);if(this._process.stdin.write(Y))X();else this._process.stdin.once("drain",X)})}}function Wh(){return"type"in yY}var $h={enabled:!0,maxAttempts:5,baseDelayMs:1000,maxDelayMs:60000,backoffMultiplier:2};class JG{name;command;args;env;cwd;restartConfig;onStatusChange;onNotification;onLog;onSamplingRequest;onElicitationRequest;onLifecycleEvent;client=null;transport=null;status="disconnected";errorMessage;capabilities;isClosing=!1;restartAttempt=0;restartTimeoutHandle=null;nextRetryMs=0;isRestarting=!1;stderrBuffer=[];maxStderrLines=1000;constructor(Q){this.name=Q.name,this.command=Q.command,this.args=Q.args??[],this.env=Q.env,this.cwd=Q.cwd,this.restartConfig={...$h,...Q.restartConfig},this.onStatusChange=Q.onStatusChange,this.onNotification=Q.onNotification,this.onLog=Q.onLog,this.onSamplingRequest=Q.onSamplingRequest,this.onElicitationRequest=Q.onElicitationRequest,this.onLifecycleEvent=Q.onLifecycleEvent}getTransportType(){return"stdio"}getInfo(){let Q={transportType:"stdio",name:this.name,url:`stdio://${this.command}`,status:this.status},X=this.transport._process;if(X?.pid!==void 0)Q.pid=X.pid;if(this.errorMessage!==void 0)Q.error=this.errorMessage;if(this.capabilities!==void 0)Q.capabilities=this.capabilities;return Q}getName(){return this.name}getStatus(){return this.status}isConnected(){return this.status==="connected"}getReconnectionState(){if(this.status!=="reconnecting")return null;return{attempt:this.restartAttempt,nextRetryMs:this.nextRetryMs}}getHealthStatus(){return this.isConnected()?"healthy":"degraded"}getConsecutiveHealthFailures(){return this.isConnected()?0:this.restartAttempt}getCommand(){return this.command}getArgs(){return[...this.args]}getStderrBuffer(){return[...this.stderrBuffer]}async connect(){if(this.status==="connected"||this.status==="connecting")return;this.setStatus("connecting");try{await this.createTransport(),this.emitLifecycleEvent({event:"process_started",timestamp:new Date}),this.setStatus("connected")}catch(Q){let X=Q instanceof Error?Q.message:String(Q);throw this.setStatus("error",X),Q}}async disconnect(){if(this.isClosing=!0,this.cancelReconnection(),this.transport)try{await this.transport.close()}catch{}this.client=null,this.transport=null,this.isClosing=!1,this.setStatus("disconnected"),this.emitLifecycleEvent({event:"process_stopped",timestamp:new Date})}async forceReconnect(){if(this.cancelReconnection(),this.transport){this.isClosing=!0;try{await this.transport.close()}catch{}this.isClosing=!1}this.client=null,this.transport=null,this.restartAttempt=0,this.nextRetryMs=0,await this.connect()}cancelReconnection(){if(this.restartTimeoutHandle)clearTimeout(this.restartTimeoutHandle),this.restartTimeoutHandle=null;this.isRestarting=!1}async listTools(){let Q=this.getConnectedClient();if(!this.capabilities?.tools)return[];return(await Q.listTools()).tools}async callTool(Q,X={}){return await this.getConnectedClient().callTool({name:Q,arguments:X})}async listResources(){let Q=this.getConnectedClient();if(!this.capabilities?.resources)return[];return(await Q.listResources()).resources}async listResourceTemplates(){let Q=this.getConnectedClient();if(!this.capabilities?.resourceTemplates)return[];return(await Q.listResourceTemplates()).resourceTemplates}async readResource(Q){return await this.getConnectedClient().readResource({uri:Q})}async subscribeResource(Q){let X=this.getConnectedClient();if(!this.capabilities?.resourceSubscriptions)throw Error(`Server '${this.name}' does not support resource subscriptions`);await X.subscribeResource({uri:Q})}async unsubscribeResource(Q){let X=this.getConnectedClient();if(!this.capabilities?.resourceSubscriptions)throw Error(`Server '${this.name}' does not support resource subscriptions`);await X.unsubscribeResource({uri:Q})}supportsResourceSubscriptions(){return this.capabilities?.resourceSubscriptions===!0}async listPrompts(){let Q=this.getConnectedClient();if(!this.capabilities?.prompts)return[];return(await Q.listPrompts()).prompts}async getPrompt(Q,X={}){return await this.getConnectedClient().getPrompt({name:Q,arguments:X})}async createTransport(){let Q;if(this.env){Q={};for(let[Y,W]of Object.entries(process.env))if(W!==void 0)Q[Y]=W;Object.assign(Q,this.env)}this.transport=new $G({command:this.command,args:this.args,env:Q,cwd:this.cwd,stderr:"pipe"}),this.client=new F8({name:"emceepee",version:"0.1.0"},{capabilities:{sampling:{},elicitation:{form:{}}}}),this.setupNotificationHandler(),this.transport.onclose=()=>{if(!this.isClosing)this.handleProcessExit()},this.transport.onerror=(Y)=>{if(this.isClosing||this.status==="disconnected")return;this.errorMessage=Y.message,this.handleProcessExit()},await this.client.connect(this.transport),this.setupStderrCapture();let X=this.client.getServerCapabilities();this.capabilities={tools:X?.tools!==void 0,resources:X?.resources!==void 0,prompts:X?.prompts!==void 0,resourceTemplates:X?.resources!==void 0,resourceSubscriptions:X?.resources?.subscribe===!0}}setupStderrCapture(){if(!this.transport)return;let Q=this.transport._process;if(Q?.stderr)Q.stderr.on("data",(X)=>{let Y=X.toString().split(`
54
- `).filter((W)=>W.length>0);for(let W of Y){if(this.stderrBuffer.push(W),this.stderrBuffer.length>this.maxStderrLines)this.stderrBuffer.shift();if(this.onLog)this.onLog({server:this.name,timestamp:new Date,level:"warning",source:"stderr",data:W})}})}handleProcessExit(Q,X){if(this.isRestarting||this.isClosing)return;if(this.emitLifecycleEvent({event:"process_crashed",timestamp:new Date,exitCode:Q,signal:X}),this.client=null,this.transport=null,this.restartConfig.enabled)this.isRestarting=!0,this.restartAttempt=0,this.setStatus("reconnecting",this.errorMessage),this.scheduleRestart();else this.setStatus("error",`Process exited with code ${Q!==void 0?String(Q):"unknown"}`)}scheduleRestart(){if(this.isClosing)return;if(this.restartAttempt++,this.restartAttempt>this.restartConfig.maxAttempts){this.isRestarting=!1,this.setStatus("error","Max restart attempts exceeded"),this.emitLifecycleEvent({event:"restart_failed",timestamp:new Date,attempt:this.restartAttempt-1,error:"Max restart attempts exceeded"});return}let Q=this.calculateBackoff(this.restartAttempt);this.nextRetryMs=Q,this.emitLifecycleEvent({event:"restarting",timestamp:new Date,attempt:this.restartAttempt,nextRetryMs:Q}),this.restartTimeoutHandle=setTimeout(()=>{this.attemptRestart()},Q)}async attemptRestart(){if(this.isClosing)return;try{await this.createTransport();let Q=this.restartAttempt;this.restartAttempt=0,this.nextRetryMs=0,this.isRestarting=!1,this.setStatus("connected"),this.emitLifecycleEvent({event:"restarted",timestamp:new Date,attempt:Q})}catch(Q){this.client=null,this.transport=null,this.errorMessage=Q instanceof Error?Q.message:String(Q),this.scheduleRestart()}}calculateBackoff(Q){let X=this.restartConfig.baseDelayMs*Math.pow(this.restartConfig.backoffMultiplier,Q-1);return Math.min(X,this.restartConfig.maxDelayMs)}setupNotificationHandler(){if(!this.client)return;this.client.setNotificationHandler(Q9,()=>{this.emitNotification("notifications/tools/list_changed")}),this.client.setNotificationHandler(s6,()=>{this.emitNotification("notifications/resources/list_changed")}),this.client.setNotificationHandler(r8,(Q)=>{this.emitNotification("notifications/resources/updated",Q.params)}),this.client.setNotificationHandler(e6,()=>{this.emitNotification("notifications/prompts/list_changed")}),this.client.setNotificationHandler(a8,(Q)=>{if(this.onLog)this.onLog({server:this.name,timestamp:new Date,level:Q.params.level,logger:Q.params.logger,data:Q.params.data,source:"protocol"})}),this.client.setRequestHandler(X9,(Q)=>{return new Promise((X,Y)=>{if(this.onSamplingRequest)this.onSamplingRequest({id:crypto.randomUUID(),server:this.name,timestamp:new Date,params:Q.params,resolve:X,reject:Y});else Y(Error("Sampling not supported: no handler registered"))})}),this.client.setRequestHandler(Y9,(Q)=>{return new Promise((X,Y)=>{if(this.onElicitationRequest)this.onElicitationRequest({id:crypto.randomUUID(),server:this.name,timestamp:new Date,params:Q.params,resolve:X,reject:Y});else Y(Error("Elicitation not supported: no handler registered"))})})}emitNotification(Q,X){if(this.onNotification!==void 0)this.onNotification({server:this.name,timestamp:new Date,method:Q,params:X})}emitLifecycleEvent(Q){if(this.onLifecycleEvent)this.onLifecycleEvent(Q)}setStatus(Q,X){if(this.status=Q,Q==="error"&&X!==void 0)this.errorMessage=X;else this.errorMessage=void 0;if(this.onStatusChange!==void 0)this.onStatusChange(Q,X)}getConnectedClient(){if(!this.isConnected()||!this.client)throw Error(`Client '${this.name}' is not connected`);return this.client}}var Jh={sessionTimeoutMs:86400000,cleanupIntervalMs:300000};class GG{sessions=new Map;serverConfigs;config;logger;cleanupIntervalHandle=null;constructor(Q={}){this.config={...Jh,...Q},this.logger=Q.logger;let X={logger:Q.logger};this.serverConfigs=new SJ(X),this.startCleanupInterval()}async createSession(){let Q=f1(),X=new _J(Q,this.config.sessionStateConfig,this.logger);this.sessions.set(Q,X),this.logger?.info("session_created",{sessionId:Q});let Y=this.serverConfigs.listConfigs();for(let W of Y)try{await this.connectSessionToServer(X,W)}catch($){this.logger?.warn("session_auto_connect_failed",{sessionId:Q,server:W.name,error:$ instanceof Error?$.message:String($)})}return X}getSession(Q){return this.sessions.get(Q)}touchSession(Q){this.sessions.get(Q)?.touch()}async destroySession(Q){let X=this.sessions.get(Q);if(!X)return;this.logger?.info("session_destroying",{sessionId:Q}),await X.cleanup(),this.sessions.delete(Q),this.logger?.info("session_destroyed",{sessionId:Q})}async addServer(Q,X,Y,W){let $=this.sessions.get(Q);if(!$)throw Error(`Session '${Q}' not found`);let J=this.serverConfigs.addConfig(X,Y,{headers:W?.headers},Q),G=this.serverConfigs.getConfig(X);if(!G)throw Error(`Failed to add server config for '${X}'`);let H=await this.connectSessionToServer($,G);if(J){for(let[B,z]of this.sessions)if(B!==Q)z.eventSystem.addEvent("server_added",X,{name:X,url:Y,addedBy:Q})}return H}async addStdioServer(Q,X,Y,W,$){let J=this.sessions.get(Q);if(!J)throw Error(`Session '${Q}' not found`);let G=this.serverConfigs.addStdioConfig(X,Y,W,$,Q),H=this.serverConfigs.getConfig(X);if(!H)throw Error(`Failed to add server config for '${X}'`);let B=await this.connectSessionToServer(J,H);if(G){for(let[z,K]of this.sessions)if(z!==Q)K.eventSystem.addEvent("server_added",X,{name:X,type:"stdio",command:Y,args:W,addedBy:Q})}return B}async removeServer(Q,X){if(this.logger?.debug("removeServer_start",{sessionId:Q,serverName:X}),!this.serverConfigs.removeConfig(X))throw this.logger?.debug("removeServer_not_found",{sessionId:Q,serverName:X}),Error(`Server '${X}' not found`);for(let[W,$]of this.sessions)this.logger?.debug("removeServer_disconnecting_session",{sessionId:W,serverName:X,hasConnection:$.getConnection(X)!==void 0}),await this.disconnectSessionFromServer($,X),$.eventSystem.addEvent("server_removed",X,{name:X,removedBy:Q});this.logger?.debug("removeServer_complete",{sessionId:Q,serverName:X})}listServers(Q){let X=this.sessions.get(Q);return this.serverConfigs.listConfigs().map((W)=>{let $=X?.getConnection(W.name),J;if(RJ(W))J=W.url;else if(EJ(W))J=`stdio://${W.command}`;else J="unknown";let G={name:W.name,url:J,connected:$?.status==="connected",status:$?.status??"not_connected",connectedAt:$?.connectedAt,lastError:$?.lastError};if($?.status==="reconnecting"){let H=$.client.getReconnectionState();if(H)G.reconnectAttempt=H.attempt,G.nextRetryMs=H.nextRetryMs}if($?.status==="connected"){G.healthStatus=$.client.getHealthStatus();let H=$.client.getConsecutiveHealthFailures();if(H>0)G.consecutiveHealthFailures=H}return G})}async reconnectServer(Q,X){let Y=this.sessions.get(Q);if(!Y)throw Error(`Session '${Q}' not found`);let W=this.serverConfigs.getConfig(X);if(!W)throw Error(`Server '${X}' not found`);let $=Y.getConnection(X);if(!$){await this.connectSessionToServer(Y,W);return}this.handleBackendDisconnect(Y,X),await $.client.forceReconnect(),Y.setConnectionStatus(X,"connected"),Y.eventSystem.addEvent("server_reconnected",X,{name:X,attemptsTaken:0,forced:!0}),this.logger?.info("session_server_force_reconnected",{sessionId:Y.sessionId,server:X})}async getOrCreateConnection(Q,X){let Y=this.sessions.get(Q);if(!Y)throw Error(`Session '${Q}' not found`);let W=Y.getConnection(X);if(W?.status==="connected")return W.client;let $=this.serverConfigs.getConfig(X);if(!$)throw Error(`Server '${X}' not found`);return(await this.connectSessionToServer(Y,$)).client}getConnectedClient(Q,X){let Y=this.sessions.get(Q);if(!Y)return;let W=Y.getConnection(X);if(W?.status==="connected")return W.client;return}async connectSessionToServer(Q,X){let Y=Q.backendConnections.get(X.name);if(Y?.status==="connected")return Y;if(Y?.status==="connecting")throw Error(`Already connecting to '${X.name}'`);let W;if(RJ(X))W=this.createHttpClient(Q,X);else if(EJ(X))W=this.createStdioClient(Q,X);else throw Error(`Unknown server config type for '${X.name}'`);Q.addConnection(X.name,W);try{await W.connect(),Q.setConnectionStatus(X.name,"connected"),Q.eventSystem.addEvent("server_connected",X.name,{name:X.name,capabilities:W.getInfo().capabilities}),this.logger?.info("session_server_connected",{sessionId:Q.sessionId,server:X.name});let $=Q.getConnection(X.name);if(!$)throw Error("Connection not found after connect");return $}catch($){let J=$ instanceof Error?$.message:String($);throw Q.setConnectionStatus(X.name,"error",J),this.logger?.warn("session_server_connect_failed",{sessionId:Q.sessionId,server:X.name,error:J}),$}}createHttpClient(Q,X){return new oJ({name:X.name,url:X.url,headers:X.headers,onStatusChange:(Y,W)=>{Q.setConnectionStatus(X.name,Y,W)},onNotification:(Y)=>{Q.bufferManager.addNotification(Y)},onLog:(Y)=>{Q.bufferManager.addLog(Y)},onSamplingRequest:(Y)=>{Q.pendingRequests.addSamplingRequest(Y.server,Y.params,Y.resolve,Y.reject)},onElicitationRequest:(Y)=>{Q.pendingRequests.addElicitationRequest(Y.server,Y.params,Y.resolve,Y.reject)},onReconnecting:(Y,W)=>{if(Y===1)this.handleBackendDisconnect(Q,X.name);Q.eventSystem.addEvent("server_reconnecting",X.name,{name:X.name,attempt:Y,nextRetryMs:W}),this.logger?.debug("session_server_reconnecting",{sessionId:Q.sessionId,server:X.name,attempt:Y,nextRetryMs:W})},onReconnected:(Y)=>{Q.setConnectionStatus(X.name,"connected"),Q.eventSystem.addEvent("server_reconnected",X.name,{name:X.name,attemptsTaken:Y}),this.logger?.info("session_server_reconnected",{sessionId:Q.sessionId,server:X.name,attemptsTaken:Y})},onHealthDegraded:(Y,W)=>{Q.eventSystem.addEvent("server_health_degraded",X.name,{name:X.name,consecutiveFailures:Y,lastError:W}),this.logger?.warn("session_server_health_degraded",{sessionId:Q.sessionId,server:X.name,consecutiveFailures:Y,lastError:W})},onHealthRestored:()=>{Q.eventSystem.addEvent("server_health_restored",X.name,{name:X.name}),this.logger?.info("session_server_health_restored",{sessionId:Q.sessionId,server:X.name})}})}createStdioClient(Q,X){return new JG({name:X.name,command:X.command,args:X.args,env:X.env,cwd:X.cwd,restartConfig:X.restartConfig,onStatusChange:(Y,W)=>{Q.setConnectionStatus(X.name,Y,W)},onNotification:(Y)=>{Q.bufferManager.addNotification(Y)},onLog:(Y)=>{Q.bufferManager.addLog({server:Y.server,timestamp:Y.timestamp,level:Y.level,logger:Y.logger,data:Y.data})},onSamplingRequest:(Y)=>{Q.pendingRequests.addSamplingRequest(Y.server,Y.params,Y.resolve,Y.reject)},onElicitationRequest:(Y)=>{Q.pendingRequests.addElicitationRequest(Y.server,Y.params,Y.resolve,Y.reject)},onLifecycleEvent:(Y)=>{switch(Y.event){case"process_started":this.logger?.info("session_stdio_process_started",{sessionId:Q.sessionId,server:X.name});break;case"process_crashed":this.handleBackendDisconnect(Q,X.name),Q.eventSystem.addEvent("server_process_crashed",X.name,{name:X.name,exitCode:Y.exitCode,signal:Y.signal}),this.logger?.warn("session_stdio_process_crashed",{sessionId:Q.sessionId,server:X.name,exitCode:Y.exitCode,signal:Y.signal});break;case"restarting":Q.eventSystem.addEvent("server_reconnecting",X.name,{name:X.name,attempt:Y.attempt,nextRetryMs:Y.nextRetryMs}),this.logger?.debug("session_stdio_restarting",{sessionId:Q.sessionId,server:X.name,attempt:Y.attempt,nextRetryMs:Y.nextRetryMs});break;case"restarted":Q.setConnectionStatus(X.name,"connected"),Q.eventSystem.addEvent("server_reconnected",X.name,{name:X.name,attemptsTaken:Y.attempt}),this.logger?.info("session_stdio_restarted",{sessionId:Q.sessionId,server:X.name,attemptsTaken:Y.attempt});break;case"restart_failed":Q.setConnectionStatus(X.name,"error",Y.error),Q.eventSystem.addEvent("server_restart_failed",X.name,{name:X.name,error:Y.error}),this.logger?.error("session_stdio_restart_failed",{sessionId:Q.sessionId,server:X.name,error:Y.error});break;case"process_stopped":this.logger?.info("session_stdio_process_stopped",{sessionId:Q.sessionId,server:X.name});break}}})}async disconnectSessionFromServer(Q,X){let Y=Q.getConnection(X);if(!Y){this.logger?.debug("disconnectSessionFromServer_no_connection",{sessionId:Q.sessionId,serverName:X});return}this.logger?.debug("disconnectSessionFromServer_start",{sessionId:Q.sessionId,serverName:X,connectionStatus:Y.status});let W=Q.taskManager.getTasksForServer(X);for(let $ of W)if($.status==="working")Q.taskManager.failTask($.taskId,"Server removed");Q.pendingRequests.rejectRequestsForServer(X,"Server removed");try{this.logger?.debug("disconnectSessionFromServer_calling_disconnect",{sessionId:Q.sessionId,serverName:X}),await Y.client.disconnect(),this.logger?.debug("disconnectSessionFromServer_disconnect_complete",{sessionId:Q.sessionId,serverName:X})}catch($){this.logger?.debug("disconnectSessionFromServer_disconnect_error",{sessionId:Q.sessionId,serverName:X,error:$ instanceof Error?$.message:String($)})}Q.removeConnection(X),this.logger?.debug("disconnectSessionFromServer_complete",{sessionId:Q.sessionId,serverName:X})}handleBackendDisconnect(Q,X){let Y=Q.taskManager.getTasksForServer(X);for(let W of Y)if(W.status==="working")Q.taskManager.failTask(W.taskId,"Server disconnected");Q.pendingRequests.rejectRequestsForServer(X,"Server disconnected"),Q.eventSystem.addEvent("server_disconnected",X,{name:X}),this.logger?.info("session_server_disconnected",{sessionId:Q.sessionId,server:X})}startCleanupInterval(){this.cleanupIntervalHandle=setInterval(()=>{this.runSessionCleanup()},this.config.cleanupIntervalMs)}runSessionCleanup(){let Q=Date.now(),X=[];for(let[Y,W]of this.sessions)if(Q-W.lastActivityAt.getTime()>=this.config.sessionTimeoutMs)X.push(Y);for(let Y of X)this.logger?.info("session_timeout_cleanup",{sessionId:Y}),this.destroySession(Y)}async shutdown(){if(this.logger?.info("session_manager_shutdown_start",{sessionCount:this.sessions.size}),this.cleanupIntervalHandle)clearInterval(this.cleanupIntervalHandle),this.cleanupIntervalHandle=null;for(let Q of Array.from(this.sessions.keys()))await this.destroySession(Q);this.logger?.info("session_manager_shutdown_complete",{})}getServerConfigs(){return this.serverConfigs}listSessionIds(){return Array.from(this.sessions.keys())}get sessionCount(){return this.sessions.size}}function HG(Q){return"url"in Q&&!(("type"in Q)&&Q.type==="stdio")}function BG(Q){return"type"in Q}var VU={debug:0,info:1,warn:2,error:3};function FU(){let Q=()=>{};return{debug:Q,info:Q,warn:Q,error:Q}}function AU(Q="info",X){let Y=VU[Q],W=K1("fs"),$=(J,G,H)=>{if(VU[J]<Y)return;let B=new Date().toISOString(),z=H?` ${JSON.stringify(H)}`:"",K=`[${B}] ${J.toUpperCase()} ${G}${z}
55
- `;try{W.appendFileSync(X,K)}catch(V){process.stderr.write(`Failed to write to log file: ${String(V)}
56
- `),process.stderr.write(K)}};return{debug:(J,G)=>{$("debug",J,G)},info:(J,G)=>{$("info",J,G)},warn:(J,G)=>{$("warn",J,G)},error:(J,G)=>{$("error",J,G)}}}function Hh(Q,X){return{start:async()=>{return X.debug("transport_start",{}),Q.start()},send:async(W,$)=>{return X.debug("transport_send",{message:JSON.stringify(W),hasRelatedRequestId:$?.relatedRequestId!==void 0}),Q.send(W,$)},close:async()=>{return X.debug("transport_close",{}),Q.close()},get sessionId(){return Q.sessionId},set onclose(W){Q.onclose=W?()=>{X.debug("transport_onclose",{}),W()}:void 0},get onclose(){return Q.onclose},set onerror(W){Q.onerror=W?($)=>{X.debug("transport_onerror",{error:$.message}),W($)}:void 0},get onerror(){return Q.onerror},set onmessage(W){Q.onmessage=W?($)=>{X.debug("transport_onmessage",{message:JSON.stringify($)}),W($)}:void 0},get onmessage(){return Q.onmessage},setProtocolVersion:Q.setProtocolVersion?.bind(Q)}}function Bh(){let Q=process.argv.slice(2),X,Y="info",W;for(let $=0;$<Q.length;$++){let J=Q[$];if(J==="--config"&&Q[$+1])X=Q[$+1],$++;else if(J?.startsWith("--config="))X=J.slice(9);else if(J==="--log-level"&&Q[$+1])Y=Q[$+1],$++;else if(J?.startsWith("--log-level="))Y=J.slice(12);else if(J==="--log-file"&&Q[$+1])W=Q[$+1],$++;else if(J?.startsWith("--log-file="))W=J.slice(11)}return{configPath:X,logLevel:Y,logFile:W}}function zh(Q){let X=Gh(Q,"utf-8");return JSON.parse(X)}function Kh(Q){return JSON.parse(Q)}function N0(Q){return Q}function qU(Q){let X=Q.pendingRequests.getPendingSamplingRequests().length,Y=Q.pendingRequests.getPendingElicitationRequests().length,W=Q.timerManager.getAndClearExpired(),$=Q.bufferManager.getAndClearNotifications(),J=X>0||Y>0,G=W.length>0,H=$.length>0;if(!J&&!G&&!H)return null;let B={};if(J)B.pending_client={sampling:X,elicitation:Y};if(G)B.expired_timers=W;if(H)B.notifications=$.map((z)=>({server:z.server,method:z.method,timestamp:z.timestamp.toISOString(),params:z.params}));return B}function DU(Q,X){if(!X)return Q;let Y=qU(X);if(!Y)return Q;return{...Q,content:[...Q.content,{type:"text",text:JSON.stringify(Y)}]}}function c(Q){return{content:[{type:"text",text:Q}],isError:!0}}function m0(Q,X){return DU({content:[{type:"text",text:Q}]},X)}function S0(Q,X){let Y={content:[{type:"text",text:JSON.stringify(Q,null,2)}]};return DU(Y,X)}function Vh(Q,X,Y){Q.registerTool("add_server",{description:`Connect to a backend MCP server. Supports two transport types:
47
+ ]`;continue}if($+=W[B],W[B]==="\\")J=!0;else if(G&&W[B]==="]")G=!1;else if(!G&&W[B]==="[")G=!0}try{new RegExp($)}catch{return console.warn(`Could not convert regex pattern at ${Y.currentPath.join("/")} to a flag-independent form! Falling back to the flag-ignorant source`),Q.source}return $}function QY(Q,Y){if(Y.target==="openAi")console.warn("Warning: OpenAI may not support records in schemas! Try an array of key-value pairs instead.");if(Y.target==="openApi3"&&Q.keyType?._def.typeName===P.ZodEnum)return{type:"object",required:Q.keyType._def.values,properties:Q.keyType._def.values.reduce((W,$)=>({...W,[$]:u(Q.valueType._def,{...Y,currentPath:[...Y.currentPath,"properties",$]})??N0(Y)}),{}),additionalProperties:Y.rejectedAdditionalProperties};let X={type:"object",additionalProperties:u(Q.valueType._def,{...Y,currentPath:[...Y.currentPath,"additionalProperties"]})??Y.allowedAdditionalProperties};if(Y.target==="openApi3")return X;if(Q.keyType?._def.typeName===P.ZodString&&Q.keyType._def.checks?.length){let{type:W,...$}=eQ(Q.keyType._def,Y);return{...X,propertyNames:$}}else if(Q.keyType?._def.typeName===P.ZodEnum)return{...X,propertyNames:{enum:Q.keyType._def.values}};else if(Q.keyType?._def.typeName===P.ZodBranded&&Q.keyType._def.type._def.typeName===P.ZodString&&Q.keyType._def.type._def.checks?.length){let{type:W,...$}=sQ(Q.keyType._def,Y);return{...X,propertyNames:$}}return X}function FB(Q,Y){if(Y.mapStrategy==="record")return QY(Q,Y);let X=u(Q.keyType._def,{...Y,currentPath:[...Y.currentPath,"items","items","0"]})||N0(Y),W=u(Q.valueType._def,{...Y,currentPath:[...Y.currentPath,"items","items","1"]})||N0(Y);return{type:"array",maxItems:125,items:{type:"array",items:[X,W],minItems:2,maxItems:2}}}function AB(Q){let Y=Q.values,W=Object.keys(Q.values).filter((J)=>{return typeof Y[Y[J]]!=="number"}).map((J)=>Y[J]),$=Array.from(new Set(W.map((J)=>typeof J)));return{type:$.length===1?$[0]==="string"?"string":"number":["string","number"],enum:W}}function qB(Q){return Q.target==="openAi"?void 0:{not:N0({...Q,currentPath:[...Q.currentPath,"not"]})}}function DB(Q){return Q.target==="openApi3"?{enum:["null"],nullable:!0}:{type:"null"}}var W4={ZodString:"string",ZodNumber:"number",ZodBigInt:"integer",ZodBoolean:"boolean",ZodNull:"null"};function LB(Q,Y){if(Y.target==="openApi3")return OB(Q,Y);let X=Q.options instanceof Map?Array.from(Q.options.values()):Q.options;if(X.every((W)=>(W._def.typeName in W4)&&(!W._def.checks||!W._def.checks.length))){let W=X.reduce(($,J)=>{let G=W4[J._def.typeName];return G&&!$.includes(G)?[...$,G]:$},[]);return{type:W.length>1?W:W[0]}}else if(X.every((W)=>W._def.typeName==="ZodLiteral"&&!W.description)){let W=X.reduce(($,J)=>{let G=typeof J._def.value;switch(G){case"string":case"number":case"boolean":return[...$,G];case"bigint":return[...$,"integer"];case"object":if(J._def.value===null)return[...$,"null"];case"symbol":case"undefined":case"function":default:return $}},[]);if(W.length===X.length){let $=W.filter((J,G,H)=>H.indexOf(J)===G);return{type:$.length>1?$:$[0],enum:X.reduce((J,G)=>{return J.includes(G._def.value)?J:[...J,G._def.value]},[])}}}else if(X.every((W)=>W._def.typeName==="ZodEnum"))return{type:"string",enum:X.reduce((W,$)=>[...W,...$._def.values.filter((J)=>!W.includes(J))],[])};return OB(Q,Y)}var OB=(Q,Y)=>{let X=(Q.options instanceof Map?Array.from(Q.options.values()):Q.options).map((W,$)=>u(W._def,{...Y,currentPath:[...Y.currentPath,"anyOf",`${$}`]})).filter((W)=>!!W&&(!Y.strictUnions||typeof W==="object"&&Object.keys(W).length>0));return X.length?{anyOf:X}:void 0};function UB(Q,Y){if(["ZodString","ZodNumber","ZodBigInt","ZodBoolean","ZodNull"].includes(Q.innerType._def.typeName)&&(!Q.innerType._def.checks||!Q.innerType._def.checks.length)){if(Y.target==="openApi3")return{type:W4[Q.innerType._def.typeName],nullable:!0};return{type:[W4[Q.innerType._def.typeName],"null"]}}if(Y.target==="openApi3"){let W=u(Q.innerType._def,{...Y,currentPath:[...Y.currentPath]});if(W&&"$ref"in W)return{allOf:[W],nullable:!0};return W&&{...W,nullable:!0}}let X=u(Q.innerType._def,{...Y,currentPath:[...Y.currentPath,"anyOf","0"]});return X&&{anyOf:[X,{type:"null"}]}}function jB(Q,Y){let X={type:"number"};if(!Q.checks)return X;for(let W of Q.checks)switch(W.kind){case"int":X.type="integer",S5(X,"type",W.message,Y);break;case"min":if(Y.target==="jsonSchema7")if(W.inclusive)s(X,"minimum",W.value,W.message,Y);else s(X,"exclusiveMinimum",W.value,W.message,Y);else{if(!W.inclusive)X.exclusiveMinimum=!0;s(X,"minimum",W.value,W.message,Y)}break;case"max":if(Y.target==="jsonSchema7")if(W.inclusive)s(X,"maximum",W.value,W.message,Y);else s(X,"exclusiveMaximum",W.value,W.message,Y);else{if(!W.inclusive)X.exclusiveMaximum=!0;s(X,"maximum",W.value,W.message,Y)}break;case"multipleOf":s(X,"multipleOf",W.value,W.message,Y);break}return X}function wB(Q,Y){let X=Y.target==="openAi",W={type:"object",properties:{}},$=[],J=Q.shape();for(let H in J){let B=J[H];if(B===void 0||B._def===void 0)continue;let z=Nb(B);if(z&&X){if(B._def.typeName==="ZodOptional")B=B._def.innerType;if(!B.isNullable())B=B.nullable();z=!1}let K=u(B._def,{...Y,currentPath:[...Y.currentPath,"properties",H],propertyPath:[...Y.currentPath,"properties",H]});if(K===void 0)continue;if(W.properties[H]=K,!z)$.push(H)}if($.length)W.required=$;let G=wb(Q,Y);if(G!==void 0)W.additionalProperties=G;return W}function wb(Q,Y){if(Q.catchall._def.typeName!=="ZodNever")return u(Q.catchall._def,{...Y,currentPath:[...Y.currentPath,"additionalProperties"]});switch(Q.unknownKeys){case"passthrough":return Y.allowedAdditionalProperties;case"strict":return Y.rejectedAdditionalProperties;case"strip":return Y.removeAdditionalStrategy==="strict"?Y.allowedAdditionalProperties:Y.rejectedAdditionalProperties}}function Nb(Q){try{return Q.isOptional()}catch{return!0}}var NB=(Q,Y)=>{if(Y.currentPath.toString()===Y.propertyPath?.toString())return u(Q.innerType._def,Y);let X=u(Q.innerType._def,{...Y,currentPath:[...Y.currentPath,"anyOf","1"]});return X?{anyOf:[{not:N0(Y)},X]}:N0(Y)};var MB=(Q,Y)=>{if(Y.pipeStrategy==="input")return u(Q.in._def,Y);else if(Y.pipeStrategy==="output")return u(Q.out._def,Y);let X=u(Q.in._def,{...Y,currentPath:[...Y.currentPath,"allOf","0"]}),W=u(Q.out._def,{...Y,currentPath:[...Y.currentPath,"allOf",X?"1":"0"]});return{allOf:[X,W].filter(($)=>$!==void 0)}};function bB(Q,Y){return u(Q.type._def,Y)}function PB(Q,Y){let W={type:"array",uniqueItems:!0,items:u(Q.valueType._def,{...Y,currentPath:[...Y.currentPath,"items"]})};if(Q.minSize)s(W,"minItems",Q.minSize.value,Q.minSize.message,Y);if(Q.maxSize)s(W,"maxItems",Q.maxSize.value,Q.maxSize.message,Y);return W}function ZB(Q,Y){if(Q.rest)return{type:"array",minItems:Q.items.length,items:Q.items.map((X,W)=>u(X._def,{...Y,currentPath:[...Y.currentPath,"items",`${W}`]})).reduce((X,W)=>W===void 0?X:[...X,W],[]),additionalItems:u(Q.rest._def,{...Y,currentPath:[...Y.currentPath,"additionalItems"]})};else return{type:"array",minItems:Q.items.length,maxItems:Q.items.length,items:Q.items.map((X,W)=>u(X._def,{...Y,currentPath:[...Y.currentPath,"items",`${W}`]})).reduce((X,W)=>W===void 0?X:[...X,W],[])}}function RB(Q){return{not:N0(Q)}}function EB(Q){return N0(Q)}var IB=(Q,Y)=>{return u(Q.innerType._def,Y)};var SB=(Q,Y,X)=>{switch(Y){case P.ZodString:return eQ(Q,X);case P.ZodNumber:return jB(Q,X);case P.ZodObject:return wB(Q,X);case P.ZodBigInt:return WB(Q,X);case P.ZodBoolean:return $B();case P.ZodDate:return T5(Q,X);case P.ZodUndefined:return RB(X);case P.ZodNull:return DB(X);case P.ZodArray:return XB(Q,X);case P.ZodUnion:case P.ZodDiscriminatedUnion:return LB(Q,X);case P.ZodIntersection:return zB(Q,X);case P.ZodTuple:return ZB(Q,X);case P.ZodRecord:return QY(Q,X);case P.ZodLiteral:return KB(Q,X);case P.ZodEnum:return BB(Q);case P.ZodNativeEnum:return AB(Q);case P.ZodNullable:return UB(Q,X);case P.ZodOptional:return NB(Q,X);case P.ZodMap:return FB(Q,X);case P.ZodSet:return PB(Q,X);case P.ZodLazy:return()=>Q.getter()._def;case P.ZodPromise:return bB(Q,X);case P.ZodNaN:case P.ZodNever:return qB(X);case P.ZodEffects:return HB(Q,X);case P.ZodAny:return N0(X);case P.ZodUnknown:return EB(X);case P.ZodDefault:return GB(Q,X);case P.ZodBranded:return sQ(Q,X);case P.ZodReadonly:return IB(Q,X);case P.ZodCatch:return JB(Q,X);case P.ZodPipeline:return MB(Q,X);case P.ZodFunction:case P.ZodVoid:case P.ZodSymbol:return;default:return((W)=>{return})(Y)}};function u(Q,Y,X=!1){let W=Y.seen.get(Q);if(Y.override){let H=Y.override?.(Q,Y,W,X);if(H!==e3)return H}if(W&&!X){let H=Mb(W,Y);if(H!==void 0)return H}let $={def:Q,path:Y.currentPath,jsonSchema:void 0};Y.seen.set(Q,$);let J=SB(Q,Q.typeName,Y),G=typeof J==="function"?u(J(),Y):J;if(G)bb(Q,Y,G);if(Y.postProcess){let H=Y.postProcess(G,Q,Y);return $.jsonSchema=G,H}return $.jsonSchema=G,G}var Mb=(Q,Y)=>{switch(Y.$refStrategy){case"root":return{$ref:Q.path.join("/")};case"relative":return{$ref:aQ(Y.currentPath,Q.path)};case"none":case"seen":{if(Q.path.length<Y.currentPath.length&&Q.path.every((X,W)=>Y.currentPath[W]===X))return console.warn(`Recursive reference detected at ${Y.currentPath.join("/")}! Defaulting to any`),N0(Y);return Y.$refStrategy==="seen"?N0(Y):void 0}}},bb=(Q,Y,X)=>{if(Q.description){if(X.description=Q.description,Y.markdownDescription)X.markdownDescription=Q.description}return X};var _5=(Q,Y)=>{let X=YB(Y),W=typeof Y==="object"&&Y.definitions?Object.entries(Y.definitions).reduce((B,[z,K])=>({...B,[z]:u(K._def,{...X,currentPath:[...X.basePath,X.definitionPath,z]},!0)??N0(X)}),{}):void 0,$=typeof Y==="string"?Y:Y?.nameStrategy==="title"?void 0:Y?.name,J=u(Q._def,$===void 0?X:{...X,currentPath:[...X.basePath,X.definitionPath,$]},!1)??N0(X),G=typeof Y==="object"&&Y.name!==void 0&&Y.nameStrategy==="title"?Y.name:void 0;if(G!==void 0)J.title=G;if(X.flags.hasReferencedOpenAiAnyType){if(!W)W={};if(!W[X.openAiAnyTypeName])W[X.openAiAnyTypeName]={type:["string","number","integer","boolean","array","null"],items:{$ref:X.$refStrategy==="relative"?"1":[...X.basePath,X.definitionPath,X.openAiAnyTypeName].join("/")}}}let H=$===void 0?W?{...J,[X.definitionPath]:W}:J:{$ref:[...X.$refStrategy==="relative"?[]:X.basePath,X.definitionPath,$].join("/"),[X.definitionPath]:{...W,[$]:J}};if(X.target==="jsonSchema7")H.$schema="http://json-schema.org/draft-07/schema#";else if(X.target==="jsonSchema2019-09"||X.target==="openAi")H.$schema="https://json-schema.org/draft/2019-09/schema#";if(X.target==="openAi"&&(("anyOf"in H)||("oneOf"in H)||("allOf"in H)||("type"in H)&&Array.isArray(H.type)))console.warn("Warning: OpenAI may not support schemas with unions as roots! Try wrapping it in an object property.");return H};function Pb(Q){if(!Q)return"draft-7";if(Q==="jsonSchema7"||Q==="draft-7")return"draft-7";if(Q==="jsonSchema2019-09"||Q==="draft-2020-12")return"draft-2020-12";return"draft-7"}function v5(Q,Y){if(s0(Q))return MQ(Q,{target:Pb(Y?.target),io:Y?.pipeStrategy??"input"});return _5(Q,{strictUnions:Y?.strictUnions??!0,pipeStrategy:Y?.pipeStrategy??"input"})}function x5(Q){let X=c1(Q)?.method;if(!X)throw Error("Schema is missing a method literal");let W=ZQ(X);if(typeof W!=="string")throw Error("Schema method literal must be a string");return W}function y5(Q,Y){let X=c0(Q,Y);if(!X.success)throw X.error;return X.data}var Zb=60000;class $4{constructor(Q){if(this._options=Q,this._requestMessageId=0,this._requestHandlers=new Map,this._requestHandlerAbortControllers=new Map,this._notificationHandlers=new Map,this._responseHandlers=new Map,this._progressHandlers=new Map,this._timeoutInfo=new Map,this._pendingDebouncedNotifications=new Set,this._taskProgressTokens=new Map,this._requestResolvers=new Map,this.setNotificationHandler(vQ,(Y)=>{this._oncancel(Y)}),this.setNotificationHandler(fQ,(Y)=>{this._onprogress(Y)}),this.setRequestHandler(yQ,(Y)=>({})),this._taskStore=Q?.taskStore,this._taskMessageQueue=Q?.taskMessageQueue,this._taskStore)this.setRequestHandler(gQ,async(Y,X)=>{let W=await this._taskStore.getTask(Y.params.taskId,X.sessionId);if(!W)throw new I(k.InvalidParams,"Failed to retrieve task: Task not found");return{...W}}),this.setRequestHandler(uQ,async(Y,X)=>{let W=async()=>{let $=Y.params.taskId;if(this._taskMessageQueue){let G;while(G=await this._taskMessageQueue.dequeue($,X.sessionId)){if(G.type==="response"||G.type==="error"){let H=G.message,B=H.id,z=this._requestResolvers.get(B);if(z)if(this._requestResolvers.delete(B),G.type==="response")z(H);else{let K=H,V=new I(K.error.code,K.error.message,K.error.data);z(V)}else{let K=G.type==="response"?"Response":"Error";this._onerror(Error(`${K} handler missing for request ${B}`))}continue}await this._transport?.send(G.message,{relatedRequestId:X.requestId})}}let J=await this._taskStore.getTask($,X.sessionId);if(!J)throw new I(k.InvalidParams,`Task not found: ${$}`);if(!M6(J.status))return await this._waitForTaskUpdate($,X.signal),await W();if(M6(J.status)){let G=await this._taskStore.getTaskResult($,X.sessionId);return this._clearTaskQueue($),{...G,_meta:{...G._meta,[w6]:{taskId:$}}}}return await W()};return await W()}),this.setRequestHandler(lQ,async(Y,X)=>{try{let{tasks:W,nextCursor:$}=await this._taskStore.listTasks(Y.params?.cursor,X.sessionId);return{tasks:W,nextCursor:$,_meta:{}}}catch(W){throw new I(k.InvalidParams,`Failed to list tasks: ${W instanceof Error?W.message:String(W)}`)}}),this.setRequestHandler(cQ,async(Y,X)=>{try{let W=await this._taskStore.getTask(Y.params.taskId,X.sessionId);if(!W)throw new I(k.InvalidParams,`Task not found: ${Y.params.taskId}`);if(M6(W.status))throw new I(k.InvalidParams,`Cannot cancel task in terminal status: ${W.status}`);await this._taskStore.updateTaskStatus(Y.params.taskId,"cancelled","Client cancelled task execution.",X.sessionId),this._clearTaskQueue(Y.params.taskId);let $=await this._taskStore.getTask(Y.params.taskId,X.sessionId);if(!$)throw new I(k.InvalidParams,`Task not found after cancellation: ${Y.params.taskId}`);return{_meta:{},...$}}catch(W){if(W instanceof I)throw W;throw new I(k.InvalidRequest,`Failed to cancel task: ${W instanceof Error?W.message:String(W)}`)}})}async _oncancel(Q){if(!Q.params.requestId)return;this._requestHandlerAbortControllers.get(Q.params.requestId)?.abort(Q.params.reason)}_setupTimeout(Q,Y,X,W,$=!1){this._timeoutInfo.set(Q,{timeoutId:setTimeout(W,Y),startTime:Date.now(),timeout:Y,maxTotalTimeout:X,resetTimeoutOnProgress:$,onTimeout:W})}_resetTimeout(Q){let Y=this._timeoutInfo.get(Q);if(!Y)return!1;let X=Date.now()-Y.startTime;if(Y.maxTotalTimeout&&X>=Y.maxTotalTimeout)throw this._timeoutInfo.delete(Q),I.fromError(k.RequestTimeout,"Maximum total timeout exceeded",{maxTotalTimeout:Y.maxTotalTimeout,totalElapsed:X});return clearTimeout(Y.timeoutId),Y.timeoutId=setTimeout(Y.onTimeout,Y.timeout),!0}_cleanupTimeout(Q){let Y=this._timeoutInfo.get(Q);if(Y)clearTimeout(Y.timeoutId),this._timeoutInfo.delete(Q)}async connect(Q){this._transport=Q;let Y=this.transport?.onclose;this._transport.onclose=()=>{Y?.(),this._onclose()};let X=this.transport?.onerror;this._transport.onerror=($)=>{X?.($),this._onerror($)};let W=this._transport?.onmessage;this._transport.onmessage=($,J)=>{if(W?.($,J),Q9($)||h3($))this._onresponse($);else if(i8($))this._onrequest($,J);else if(g3($))this._onnotification($);else this._onerror(Error(`Unknown message type: ${JSON.stringify($)}`))},await this._transport.start()}_onclose(){let Q=this._responseHandlers;this._responseHandlers=new Map,this._progressHandlers.clear(),this._taskProgressTokens.clear(),this._pendingDebouncedNotifications.clear();let Y=I.fromError(k.ConnectionClosed,"Connection closed");this._transport=void 0,this.onclose?.();for(let X of Q.values())X(Y)}_onerror(Q){this.onerror?.(Q)}_onnotification(Q){let Y=this._notificationHandlers.get(Q.method)??this.fallbackNotificationHandler;if(Y===void 0)return;Promise.resolve().then(()=>Y(Q)).catch((X)=>this._onerror(Error(`Uncaught error in notification handler: ${X}`)))}_onrequest(Q,Y){let X=this._requestHandlers.get(Q.method)??this.fallbackRequestHandler,W=this._transport,$=Q.params?._meta?.[w6]?.taskId;if(X===void 0){let z={jsonrpc:"2.0",id:Q.id,error:{code:k.MethodNotFound,message:"Method not found"}};if($&&this._taskMessageQueue)this._enqueueTaskMessage($,{type:"error",message:z,timestamp:Date.now()},W?.sessionId).catch((K)=>this._onerror(Error(`Failed to enqueue error response: ${K}`)));else W?.send(z).catch((K)=>this._onerror(Error(`Failed to send an error response: ${K}`)));return}let J=new AbortController;this._requestHandlerAbortControllers.set(Q.id,J);let G=x3(Q.params)?Q.params.task:void 0,H=this._taskStore?this.requestTaskStore(Q,W?.sessionId):void 0,B={signal:J.signal,sessionId:W?.sessionId,_meta:Q.params?._meta,sendNotification:async(z)=>{let K={relatedRequestId:Q.id};if($)K.relatedTask={taskId:$};await this.notification(z,K)},sendRequest:async(z,K,V)=>{let q={...V,relatedRequestId:Q.id};if($&&!q.relatedTask)q.relatedTask={taskId:$};let F=q.relatedTask?.taskId??$;if(F&&H)await H.updateTaskStatus(F,"input_required");return await this.request(z,K,q)},authInfo:Y?.authInfo,requestId:Q.id,requestInfo:Y?.requestInfo,taskId:$,taskStore:H,taskRequestedTtl:G?.ttl,closeSSEStream:Y?.closeSSEStream,closeStandaloneSSEStream:Y?.closeStandaloneSSEStream};Promise.resolve().then(()=>{if(G)this.assertTaskHandlerCapability(Q.method)}).then(()=>X(Q,B)).then(async(z)=>{if(J.signal.aborted)return;let K={result:z,jsonrpc:"2.0",id:Q.id};if($&&this._taskMessageQueue)await this._enqueueTaskMessage($,{type:"response",message:K,timestamp:Date.now()},W?.sessionId);else await W?.send(K)},async(z)=>{if(J.signal.aborted)return;let K={jsonrpc:"2.0",id:Q.id,error:{code:Number.isSafeInteger(z.code)?z.code:k.InternalError,message:z.message??"Internal error",...z.data!==void 0&&{data:z.data}}};if($&&this._taskMessageQueue)await this._enqueueTaskMessage($,{type:"error",message:K,timestamp:Date.now()},W?.sessionId);else await W?.send(K)}).catch((z)=>this._onerror(Error(`Failed to send response: ${z}`))).finally(()=>{this._requestHandlerAbortControllers.delete(Q.id)})}_onprogress(Q){let{progressToken:Y,...X}=Q.params,W=Number(Y),$=this._progressHandlers.get(W);if(!$){this._onerror(Error(`Received a progress notification for an unknown token: ${JSON.stringify(Q)}`));return}let J=this._responseHandlers.get(W),G=this._timeoutInfo.get(W);if(G&&J&&G.resetTimeoutOnProgress)try{this._resetTimeout(W)}catch(H){this._responseHandlers.delete(W),this._progressHandlers.delete(W),this._cleanupTimeout(W),J(H);return}$(X)}_onresponse(Q){let Y=Number(Q.id),X=this._requestResolvers.get(Y);if(X){if(this._requestResolvers.delete(Y),Q9(Q))X(Q);else{let J=new I(Q.error.code,Q.error.message,Q.error.data);X(J)}return}let W=this._responseHandlers.get(Y);if(W===void 0){this._onerror(Error(`Received a response for an unknown message ID: ${JSON.stringify(Q)}`));return}this._responseHandlers.delete(Y),this._cleanupTimeout(Y);let $=!1;if(Q9(Q)&&Q.result&&typeof Q.result==="object"){let J=Q.result;if(J.task&&typeof J.task==="object"){let G=J.task;if(typeof G.taskId==="string")$=!0,this._taskProgressTokens.set(G.taskId,Y)}}if(!$)this._progressHandlers.delete(Y);if(Q9(Q))W(Q);else{let J=I.fromError(Q.error.code,Q.error.message,Q.error.data);W(J)}}get transport(){return this._transport}async close(){await this._transport?.close()}async*requestStream(Q,Y,X){let{task:W}=X??{};if(!W){try{yield{type:"result",result:await this.request(Q,Y,X)}}catch(J){yield{type:"error",error:J instanceof I?J:new I(k.InternalError,String(J))}}return}let $;try{let J=await this.request(Q,Q6,X);if(J.task)$=J.task.taskId,yield{type:"taskCreated",task:J.task};else throw new I(k.InternalError,"Task creation did not return a task");while(!0){let G=await this.getTask({taskId:$},X);if(yield{type:"taskStatus",task:G},M6(G.status)){if(G.status==="completed")yield{type:"result",result:await this.getTaskResult({taskId:$},Y,X)};else if(G.status==="failed")yield{type:"error",error:new I(k.InternalError,`Task ${$} failed`)};else if(G.status==="cancelled")yield{type:"error",error:new I(k.InternalError,`Task ${$} was cancelled`)};return}if(G.status==="input_required"){yield{type:"result",result:await this.getTaskResult({taskId:$},Y,X)};return}let H=G.pollInterval??this._options?.defaultTaskPollInterval??1000;await new Promise((B)=>setTimeout(B,H)),X?.signal?.throwIfAborted()}}catch(J){yield{type:"error",error:J instanceof I?J:new I(k.InternalError,String(J))}}}request(Q,Y,X){let{relatedRequestId:W,resumptionToken:$,onresumptiontoken:J,task:G,relatedTask:H}=X??{};return new Promise((B,z)=>{let K=(L)=>{z(L)};if(!this._transport){K(Error("Not connected"));return}if(this._options?.enforceStrictCapabilities===!0)try{if(this.assertCapabilityForMethod(Q.method),G)this.assertTaskCapability(Q.method)}catch(L){K(L);return}X?.signal?.throwIfAborted();let V=this._requestMessageId++,q={...Q,jsonrpc:"2.0",id:V};if(X?.onprogress)this._progressHandlers.set(V,X.onprogress),q.params={...Q.params,_meta:{...Q.params?._meta||{},progressToken:V}};if(G)q.params={...q.params,task:G};if(H)q.params={...q.params,_meta:{...q.params?._meta||{},[w6]:H}};let F=(L)=>{this._responseHandlers.delete(V),this._progressHandlers.delete(V),this._cleanupTimeout(V),this._transport?.send({jsonrpc:"2.0",method:"notifications/cancelled",params:{requestId:V,reason:String(L)}},{relatedRequestId:W,resumptionToken:$,onresumptiontoken:J}).catch((M)=>this._onerror(Error(`Failed to send cancellation: ${M}`)));let N=L instanceof I?L:new I(k.RequestTimeout,String(L));z(N)};this._responseHandlers.set(V,(L)=>{if(X?.signal?.aborted)return;if(L instanceof Error)return z(L);try{let N=c0(Y,L.result);if(!N.success)z(N.error);else B(N.data)}catch(N){z(N)}}),X?.signal?.addEventListener("abort",()=>{F(X?.signal?.reason)});let A=X?.timeout??Zb,D=()=>F(I.fromError(k.RequestTimeout,"Request timed out",{timeout:A}));this._setupTimeout(V,A,X?.maxTotalTimeout,D,X?.resetTimeoutOnProgress??!1);let O=H?.taskId;if(O){let L=(N)=>{let M=this._responseHandlers.get(V);if(M)M(N);else this._onerror(Error(`Response handler missing for side-channeled request ${V}`))};this._requestResolvers.set(V,L),this._enqueueTaskMessage(O,{type:"request",message:q,timestamp:Date.now()}).catch((N)=>{this._cleanupTimeout(V),z(N)})}else this._transport.send(q,{relatedRequestId:W,resumptionToken:$,onresumptiontoken:J}).catch((L)=>{this._cleanupTimeout(V),z(L)})})}async getTask(Q,Y){return this.request({method:"tasks/get",params:Q},hQ,Y)}async getTaskResult(Q,Y,X){return this.request({method:"tasks/result",params:Q},Y,X)}async listTasks(Q,Y){return this.request({method:"tasks/list",params:Q},mQ,Y)}async cancelTask(Q,Y){return this.request({method:"tasks/cancel",params:Q},m3,Y)}async notification(Q,Y){if(!this._transport)throw Error("Not connected");this.assertNotificationCapability(Q.method);let X=Y?.relatedTask?.taskId;if(X){let G={...Q,jsonrpc:"2.0",params:{...Q.params,_meta:{...Q.params?._meta||{},[w6]:Y.relatedTask}}};await this._enqueueTaskMessage(X,{type:"notification",message:G,timestamp:Date.now()});return}if((this._options?.debouncedNotificationMethods??[]).includes(Q.method)&&!Q.params&&!Y?.relatedRequestId&&!Y?.relatedTask){if(this._pendingDebouncedNotifications.has(Q.method))return;this._pendingDebouncedNotifications.add(Q.method),Promise.resolve().then(()=>{if(this._pendingDebouncedNotifications.delete(Q.method),!this._transport)return;let G={...Q,jsonrpc:"2.0"};if(Y?.relatedTask)G={...G,params:{...G.params,_meta:{...G.params?._meta||{},[w6]:Y.relatedTask}}};this._transport?.send(G,Y).catch((H)=>this._onerror(H))});return}let J={...Q,jsonrpc:"2.0"};if(Y?.relatedTask)J={...J,params:{...J.params,_meta:{...J.params?._meta||{},[w6]:Y.relatedTask}}};await this._transport.send(J,Y)}setRequestHandler(Q,Y){let X=x5(Q);this.assertRequestHandlerCapability(X),this._requestHandlers.set(X,(W,$)=>{let J=y5(Q,W);return Promise.resolve(Y(J,$))})}removeRequestHandler(Q){this._requestHandlers.delete(Q)}assertCanSetRequestHandler(Q){if(this._requestHandlers.has(Q))throw Error(`A request handler for ${Q} already exists, which would be overridden`)}setNotificationHandler(Q,Y){let X=x5(Q);this._notificationHandlers.set(X,(W)=>{let $=y5(Q,W);return Promise.resolve(Y($))})}removeNotificationHandler(Q){this._notificationHandlers.delete(Q)}_cleanupTaskProgressHandler(Q){let Y=this._taskProgressTokens.get(Q);if(Y!==void 0)this._progressHandlers.delete(Y),this._taskProgressTokens.delete(Q)}async _enqueueTaskMessage(Q,Y,X){if(!this._taskStore||!this._taskMessageQueue)throw Error("Cannot enqueue task message: taskStore and taskMessageQueue are not configured");let W=this._options?.maxTaskQueueSize;await this._taskMessageQueue.enqueue(Q,Y,X,W)}async _clearTaskQueue(Q,Y){if(this._taskMessageQueue){let X=await this._taskMessageQueue.dequeueAll(Q,Y);for(let W of X)if(W.type==="request"&&i8(W.message)){let $=W.message.id,J=this._requestResolvers.get($);if(J)J(new I(k.InternalError,"Task cancelled or completed")),this._requestResolvers.delete($);else this._onerror(Error(`Resolver missing for request ${$} during task ${Q} cleanup`))}}}async _waitForTaskUpdate(Q,Y){let X=this._options?.defaultTaskPollInterval??1000;try{let W=await this._taskStore?.getTask(Q);if(W?.pollInterval)X=W.pollInterval}catch{}return new Promise((W,$)=>{if(Y.aborted){$(new I(k.InvalidRequest,"Request cancelled"));return}let J=setTimeout(W,X);Y.addEventListener("abort",()=>{clearTimeout(J),$(new I(k.InvalidRequest,"Request cancelled"))},{once:!0})})}requestTaskStore(Q,Y){let X=this._taskStore;if(!X)throw Error("No task store configured");return{createTask:async(W)=>{if(!Q)throw Error("No request provided");return await X.createTask(W,Q.id,{method:Q.method,params:Q.params},Y)},getTask:async(W)=>{let $=await X.getTask(W,Y);if(!$)throw new I(k.InvalidParams,"Failed to retrieve task: Task not found");return $},storeTaskResult:async(W,$,J)=>{await X.storeTaskResult(W,$,J,Y);let G=await X.getTask(W,Y);if(G){let H=a8.parse({method:"notifications/tasks/status",params:G});if(await this.notification(H),M6(G.status))this._cleanupTaskProgressHandler(W)}},getTaskResult:(W)=>{return X.getTaskResult(W,Y)},updateTaskStatus:async(W,$,J)=>{let G=await X.getTask(W,Y);if(!G)throw new I(k.InvalidParams,`Task "${W}" not found - it may have been cleaned up`);if(M6(G.status))throw new I(k.InvalidParams,`Cannot update task "${W}" from terminal status "${G.status}" to "${$}". Terminal states (completed, failed, cancelled) cannot transition to other states.`);await X.updateTaskStatus(W,$,J,Y);let H=await X.getTask(W,Y);if(H){let B=a8.parse({method:"notifications/tasks/status",params:H});if(await this.notification(B),M6(H.status))this._cleanupTaskProgressHandler(W)}},listTasks:(W)=>{return X.listTasks(W,Y)}}}}function TB(Q){return Q!==null&&typeof Q==="object"&&!Array.isArray(Q)}function YY(Q,Y){let X={...Q};for(let W in Y){let $=W,J=Y[$];if(J===void 0)continue;let G=X[$];if(TB(G)&&TB(J))X[$]={...G,...J};else X[$]=J}return X}var zL=w9(pF(),1),KL=w9(BL(),1);function df(){let Q=new zL.default({strict:!1,validateFormats:!0,validateSchema:!1,allErrors:!0});return KL.default(Q),Q}class t4{constructor(Q){this._ajv=Q??df()}getValidator(Q){let Y="$id"in Q&&typeof Q.$id==="string"?this._ajv.getSchema(Q.$id)??this._ajv.compile(Q):this._ajv.compile(Q);return(X)=>{if(Y(X))return{valid:!0,data:X,errorMessage:void 0};else return{valid:!1,data:void 0,errorMessage:this._ajv.errorsText(Y.errors)}}}}class RJ{constructor(Q){this._server=Q}requestStream(Q,Y,X){return this._server.requestStream(Q,Y,X)}async getTask(Q,Y){return this._server.getTask({taskId:Q},Y)}async getTaskResult(Q,Y,X){return this._server.getTaskResult({taskId:Q},Y,X)}async listTasks(Q,Y){return this._server.listTasks(Q?{cursor:Q}:void 0,Y)}async cancelTask(Q,Y){return this._server.cancelTask({taskId:Q},Y)}}function jX(Q,Y,X){if(!Q)throw Error(`${X} does not support task creation (required for ${Y})`);switch(Y){case"tools/call":if(!Q.tools?.call)throw Error(`${X} does not support task creation for tools/call (required for ${Y})`);break;default:break}}function wX(Q,Y,X){if(!Q)throw Error(`${X} does not support task creation (required for ${Y})`);switch(Y){case"sampling/createMessage":if(!Q.sampling?.createMessage)throw Error(`${X} does not support task creation for sampling/createMessage (required for ${Y})`);break;case"elicitation/create":if(!Q.elicitation?.create)throw Error(`${X} does not support task creation for elicitation/create (required for ${Y})`);break;default:break}}class EJ extends $4{constructor(Q,Y){super(Y);if(this._serverInfo=Q,this._loggingLevels=new Map,this.LOG_LEVEL_SEVERITY=new Map(Q4.options.map((X,W)=>[X,W])),this.isMessageIgnored=(X,W)=>{let $=this._loggingLevels.get(W);return $?this.LOG_LEVEL_SEVERITY.get(X)<this.LOG_LEVEL_SEVERITY.get($):!1},this._capabilities=Y?.capabilities??{},this._instructions=Y?.instructions,this._jsonSchemaValidator=Y?.jsonSchemaValidator??new t4,this.setRequestHandler(V5,(X)=>this._oninitialize(X)),this.setNotificationHandler(xQ,()=>this.oninitialized?.()),this._capabilities.logging)this.setRequestHandler(Z5,async(X,W)=>{let $=W.sessionId||W.requestInfo?.headers["mcp-session-id"]||void 0,{level:J}=X.params,G=Q4.safeParse(J);if(G.success)this._loggingLevels.set($,G.data);return{}})}get experimental(){if(!this._experimental)this._experimental={tasks:new RJ(this)};return this._experimental}registerCapabilities(Q){if(this.transport)throw Error("Cannot register capabilities after connecting to transport");this._capabilities=YY(this._capabilities,Q)}setRequestHandler(Q,Y){let W=c1(Q)?.method;if(!W)throw Error("Schema is missing a method literal");let $;if(s0(W)){let G=W;$=G._zod?.def?.value??G.value}else{let G=W;$=G._def?.value??G.value}if(typeof $!=="string")throw Error("Schema method literal must be a string");if($==="tools/call"){let G=async(H,B)=>{let z=c0(d9,H);if(!z.success){let F=z.error instanceof Error?z.error.message:String(z.error);throw new I(k.InvalidParams,`Invalid tools/call request: ${F}`)}let{params:K}=z.data,V=await Promise.resolve(Y(H,B));if(K.task){let F=c0(Q6,V);if(!F.success){let A=F.error instanceof Error?F.error.message:String(F.error);throw new I(k.InvalidParams,`Invalid task creation result: ${A}`)}return F.data}let q=c0(N6,V);if(!q.success){let F=q.error instanceof Error?q.error.message:String(q.error);throw new I(k.InvalidParams,`Invalid tools/call result: ${F}`)}return q.data};return super.setRequestHandler(Q,G)}return super.setRequestHandler(Q,Y)}assertCapabilityForMethod(Q){switch(Q){case"sampling/createMessage":if(!this._clientCapabilities?.sampling)throw Error(`Client does not support sampling (required for ${Q})`);break;case"elicitation/create":if(!this._clientCapabilities?.elicitation)throw Error(`Client does not support elicitation (required for ${Q})`);break;case"roots/list":if(!this._clientCapabilities?.roots)throw Error(`Client does not support listing roots (required for ${Q})`);break;case"ping":break}}assertNotificationCapability(Q){switch(Q){case"notifications/message":if(!this._capabilities.logging)throw Error(`Server does not support logging (required for ${Q})`);break;case"notifications/resources/updated":case"notifications/resources/list_changed":if(!this._capabilities.resources)throw Error(`Server does not support notifying about resources (required for ${Q})`);break;case"notifications/tools/list_changed":if(!this._capabilities.tools)throw Error(`Server does not support notifying of tool list changes (required for ${Q})`);break;case"notifications/prompts/list_changed":if(!this._capabilities.prompts)throw Error(`Server does not support notifying of prompt list changes (required for ${Q})`);break;case"notifications/elicitation/complete":if(!this._clientCapabilities?.elicitation?.url)throw Error(`Client does not support URL elicitation (required for ${Q})`);break;case"notifications/cancelled":break;case"notifications/progress":break}}assertRequestHandlerCapability(Q){if(!this._capabilities)return;switch(Q){case"completion/complete":if(!this._capabilities.completions)throw Error(`Server does not support completions (required for ${Q})`);break;case"logging/setLevel":if(!this._capabilities.logging)throw Error(`Server does not support logging (required for ${Q})`);break;case"prompts/get":case"prompts/list":if(!this._capabilities.prompts)throw Error(`Server does not support prompts (required for ${Q})`);break;case"resources/list":case"resources/templates/list":case"resources/read":if(!this._capabilities.resources)throw Error(`Server does not support resources (required for ${Q})`);break;case"tools/call":case"tools/list":if(!this._capabilities.tools)throw Error(`Server does not support tools (required for ${Q})`);break;case"tasks/get":case"tasks/list":case"tasks/result":case"tasks/cancel":if(!this._capabilities.tasks)throw Error(`Server does not support tasks capability (required for ${Q})`);break;case"ping":case"initialize":break}}assertTaskCapability(Q){wX(this._clientCapabilities?.tasks?.requests,Q,"Client")}assertTaskHandlerCapability(Q){if(!this._capabilities)return;jX(this._capabilities.tasks?.requests,Q,"Server")}async _oninitialize(Q){let Y=Q.params.protocolVersion;return this._clientCapabilities=Q.params.capabilities,this._clientVersion=Q.params.clientInfo,{protocolVersion:CQ.includes(Y)?Y:j6,capabilities:this.getCapabilities(),serverInfo:this._serverInfo,...this._instructions&&{instructions:this._instructions}}}getClientCapabilities(){return this._clientCapabilities}getClientVersion(){return this._clientVersion}getCapabilities(){return this._capabilities}async ping(){return this.request({method:"ping"},e1)}async createMessage(Q,Y){if(Q.tools||Q.toolChoice){if(!this._clientCapabilities?.sampling?.tools)throw Error("Client does not support sampling tools capability.")}if(Q.messages.length>0){let X=Q.messages[Q.messages.length-1],W=Array.isArray(X.content)?X.content:[X.content],$=W.some((B)=>B.type==="tool_result"),J=Q.messages.length>1?Q.messages[Q.messages.length-2]:void 0,G=J?Array.isArray(J.content)?J.content:[J.content]:[],H=G.some((B)=>B.type==="tool_use");if($){if(W.some((B)=>B.type!=="tool_result"))throw Error("The last message must contain only tool_result content if any is present");if(!H)throw Error("tool_result blocks are not matching any tool_use from the previous message")}if(H){let B=new Set(G.filter((K)=>K.type==="tool_use").map((K)=>K.id)),z=new Set(W.filter((K)=>K.type==="tool_result").map((K)=>K.toolUseId));if(B.size!==z.size||![...B].every((K)=>z.has(K)))throw Error("ids of tool_result blocks and tool_use blocks from previous message do not match")}}if(Q.tools)return this.request({method:"sampling/createMessage",params:Q},R5,Y);return this.request({method:"sampling/createMessage",params:Q},X4,Y)}async elicitInput(Q,Y){switch(Q.mode??"form"){case"url":{if(!this._clientCapabilities?.elicitation?.url)throw Error("Client does not support url elicitation.");let W=Q;return this.request({method:"elicitation/create",params:W},i9,Y)}case"form":{if(!this._clientCapabilities?.elicitation?.form)throw Error("Client does not support form elicitation.");let W=Q.mode==="form"?Q:{...Q,mode:"form"},$=await this.request({method:"elicitation/create",params:W},i9,Y);if($.action==="accept"&&$.content&&W.requestedSchema)try{let G=this._jsonSchemaValidator.getValidator(W.requestedSchema)($.content);if(!G.valid)throw new I(k.InvalidParams,`Elicitation response content does not match requested schema: ${G.errorMessage}`)}catch(J){if(J instanceof I)throw J;throw new I(k.InternalError,`Error validating elicitation response: ${J instanceof Error?J.message:String(J)}`)}return $}}}createElicitationCompletionNotifier(Q,Y){if(!this._clientCapabilities?.elicitation?.url)throw Error("Client does not support URL elicitation (required for notifications/elicitation/complete)");return()=>this.notification({method:"notifications/elicitation/complete",params:{elicitationId:Q}},Y)}async listRoots(Q,Y){return this.request({method:"roots/list",params:Q},I5,Y)}async sendLoggingMessage(Q,Y){if(this._capabilities.logging){if(!this.isMessageIgnored(Q.level,Y))return this.notification({method:"notifications/message",params:Q})}}async sendResourceUpdated(Q){return this.notification({method:"notifications/resources/updated",params:Q})}async sendResourceListChanged(){return this.notification({method:"notifications/resources/list_changed"})}async sendToolListChanged(){return this.notification({method:"notifications/tools/list_changed"})}async sendPromptListChanged(){return this.notification({method:"notifications/prompts/list_changed"})}}var FL=Symbol.for("mcp.completable");function IJ(Q){return!!Q&&typeof Q==="object"&&FL in Q}function AL(Q){return Q[FL]?.complete}var VL;(function(Q){Q.Completable="McpCompletable"})(VL||(VL={}));var nf=/^[A-Za-z0-9._-]{1,128}$/;function of(Q){let Y=[];if(Q.length===0)return{isValid:!1,warnings:["Tool name cannot be empty"]};if(Q.length>128)return{isValid:!1,warnings:[`Tool name exceeds maximum length of 128 characters (current: ${Q.length})`]};if(Q.includes(" "))Y.push("Tool name contains spaces, which may cause parsing issues");if(Q.includes(","))Y.push("Tool name contains commas, which may cause parsing issues");if(Q.startsWith("-")||Q.endsWith("-"))Y.push("Tool name starts or ends with a dash, which may cause parsing issues in some contexts");if(Q.startsWith(".")||Q.endsWith("."))Y.push("Tool name starts or ends with a dot, which may cause parsing issues in some contexts");if(!nf.test(Q)){let X=Q.split("").filter((W)=>!/[A-Za-z0-9._-]/.test(W)).filter((W,$,J)=>J.indexOf(W)===$);return Y.push(`Tool name contains invalid characters: ${X.map((W)=>`"${W}"`).join(", ")}`,"Allowed characters are: A-Z, a-z, 0-9, underscore (_), dash (-), and dot (.)"),{isValid:!1,warnings:Y}}return{isValid:!0,warnings:Y}}function rf(Q,Y){if(Y.length>0){console.warn(`Tool name validation warning for "${Q}":`);for(let X of Y)console.warn(` - ${X}`);console.warn("Tool registration will proceed, but this may cause compatibility issues."),console.warn("Consider updating the tool name to conform to the MCP tool naming standard."),console.warn("See SEP: Specify Format for Tool Names (https://github.com/modelcontextprotocol/modelcontextprotocol/issues/986) for more details.")}}function SJ(Q){let Y=of(Q);return rf(Q,Y.warnings),Y.isValid}class TJ{constructor(Q){this._mcpServer=Q}registerToolTask(Q,Y,X){let W={taskSupport:"required",...Y.execution};if(W.taskSupport==="forbidden")throw Error(`Cannot register task-based tool '${Q}' with taskSupport 'forbidden'. Use registerTool() instead.`);return this._mcpServer._createRegisteredTool(Q,Y.title,Y.description,Y.inputSchema,Y.outputSchema,Y.annotations,W,Y._meta,X)}}class kJ{constructor(Q,Y){this._registeredResources={},this._registeredResourceTemplates={},this._registeredTools={},this._registeredPrompts={},this._toolHandlersInitialized=!1,this._completionHandlerInitialized=!1,this._resourceHandlersInitialized=!1,this._promptHandlersInitialized=!1,this.server=new EJ(Q,Y)}get experimental(){if(!this._experimental)this._experimental={tasks:new TJ(this)};return this._experimental}async connect(Q){return await this.server.connect(Q)}async close(){await this.server.close()}setToolRequestHandlers(){if(this._toolHandlersInitialized)return;this.server.assertCanSetRequestHandler(y6(rQ)),this.server.assertCanSetRequestHandler(y6(d9)),this.server.registerCapabilities({tools:{listChanged:!0}}),this.server.setRequestHandler(rQ,()=>({tools:Object.entries(this._registeredTools).filter(([,Q])=>Q.enabled).map(([Q,Y])=>{let X={name:Q,title:Y.title,description:Y.description,inputSchema:(()=>{let W=l9(Y.inputSchema);return W?v5(W,{strictUnions:!0,pipeStrategy:"input"}):tf})(),annotations:Y.annotations,execution:Y.execution,_meta:Y._meta};if(Y.outputSchema){let W=l9(Y.outputSchema);if(W)X.outputSchema=v5(W,{strictUnions:!0,pipeStrategy:"output"})}return X})})),this.server.setRequestHandler(d9,async(Q,Y)=>{try{let X=this._registeredTools[Q.params.name];if(!X)throw new I(k.InvalidParams,`Tool ${Q.params.name} not found`);if(!X.enabled)throw new I(k.InvalidParams,`Tool ${Q.params.name} disabled`);let W=!!Q.params.task,$=X.execution?.taskSupport,J="createTask"in X.handler;if(($==="required"||$==="optional")&&!J)throw new I(k.InternalError,`Tool ${Q.params.name} has taskSupport '${$}' but was not registered with registerToolTask`);if($==="required"&&!W)throw new I(k.MethodNotFound,`Tool ${Q.params.name} requires task augmentation (taskSupport: 'required')`);if($==="optional"&&!W&&J)return await this.handleAutomaticTaskPolling(X,Q,Y);let G=await this.validateToolInput(X,Q.params.arguments,Q.params.name),H=await this.executeToolHandler(X,G,Y);if(W)return H;return await this.validateToolOutput(X,H,Q.params.name),H}catch(X){if(X instanceof I){if(X.code===k.UrlElicitationRequired)throw X}return this.createToolError(X instanceof Error?X.message:String(X))}}),this._toolHandlersInitialized=!0}createToolError(Q){return{content:[{type:"text",text:Q}],isError:!0}}async validateToolInput(Q,Y,X){if(!Q.inputSchema)return;let $=l9(Q.inputSchema)??Q.inputSchema,J=await bQ($,Y);if(!J.success){let G="error"in J?J.error:"Unknown error",H=PQ(G);throw new I(k.InvalidParams,`Input validation error: Invalid arguments for tool ${X}: ${H}`)}return J.data}async validateToolOutput(Q,Y,X){if(!Q.outputSchema)return;if(!("content"in Y))return;if(Y.isError)return;if(!Y.structuredContent)throw new I(k.InvalidParams,`Output validation error: Tool ${X} has an output schema but no structured content was provided`);let W=l9(Q.outputSchema),$=await bQ(W,Y.structuredContent);if(!$.success){let J="error"in $?$.error:"Unknown error",G=PQ(J);throw new I(k.InvalidParams,`Output validation error: Invalid structured content for tool ${X}: ${G}`)}}async executeToolHandler(Q,Y,X){let W=Q.handler;if("createTask"in W){if(!X.taskStore)throw Error("No task store provided.");let J={...X,taskStore:X.taskStore};if(Q.inputSchema)return await Promise.resolve(W.createTask(Y,J));else return await Promise.resolve(W.createTask(J))}if(Q.inputSchema)return await Promise.resolve(W(Y,X));else return await Promise.resolve(W(X))}async handleAutomaticTaskPolling(Q,Y,X){if(!X.taskStore)throw Error("No task store provided for task-capable tool.");let W=await this.validateToolInput(Q,Y.params.arguments,Y.params.name),$=Q.handler,J={...X,taskStore:X.taskStore},G=W?await Promise.resolve($.createTask(W,J)):await Promise.resolve($.createTask(J)),H=G.task.taskId,B=G.task,z=B.pollInterval??5000;while(B.status!=="completed"&&B.status!=="failed"&&B.status!=="cancelled"){await new Promise((V)=>setTimeout(V,z));let K=await X.taskStore.getTask(H);if(!K)throw new I(k.InternalError,`Task ${H} not found during polling`);B=K}return await X.taskStore.getTaskResult(H)}setCompletionRequestHandler(){if(this._completionHandlerInitialized)return;this.server.assertCanSetRequestHandler(y6(tQ)),this.server.registerCapabilities({completions:{}}),this.server.setRequestHandler(tQ,async(Q)=>{switch(Q.params.ref.type){case"ref/prompt":return r3(Q),this.handlePromptCompletion(Q,Q.params.ref);case"ref/resource":return t3(Q),this.handleResourceCompletion(Q,Q.params.ref);default:throw new I(k.InvalidParams,`Invalid completion reference: ${Q.params.ref}`)}}),this._completionHandlerInitialized=!0}async handlePromptCompletion(Q,Y){let X=this._registeredPrompts[Y.name];if(!X)throw new I(k.InvalidParams,`Prompt ${Y.name} not found`);if(!X.enabled)throw new I(k.InvalidParams,`Prompt ${Y.name} disabled`);if(!X.argsSchema)return a4;let $=c1(X.argsSchema)?.[Q.params.argument.name];if(!IJ($))return a4;let J=AL($);if(!J)return a4;let G=await J(Q.params.argument.value,Q.params.context);return DL(G)}async handleResourceCompletion(Q,Y){let X=Object.values(this._registeredResourceTemplates).find((J)=>J.resourceTemplate.uriTemplate.toString()===Y.uri);if(!X){if(this._registeredResources[Y.uri])return a4;throw new I(k.InvalidParams,`Resource template ${Q.params.ref.uri} not found`)}let W=X.resourceTemplate.completeCallback(Q.params.argument.name);if(!W)return a4;let $=await W(Q.params.argument.value,Q.params.context);return DL($)}setResourceRequestHandlers(){if(this._resourceHandlersInitialized)return;this.server.assertCanSetRequestHandler(y6(pQ)),this.server.assertCanSetRequestHandler(y6(dQ)),this.server.assertCanSetRequestHandler(y6(iQ)),this.server.registerCapabilities({resources:{listChanged:!0}}),this.server.setRequestHandler(pQ,async(Q,Y)=>{let X=Object.entries(this._registeredResources).filter(([$,J])=>J.enabled).map(([$,J])=>({uri:$,name:J.name,...J.metadata})),W=[];for(let $ of Object.values(this._registeredResourceTemplates)){if(!$.resourceTemplate.listCallback)continue;let J=await $.resourceTemplate.listCallback(Y);for(let G of J.resources)W.push({...$.metadata,...G})}return{resources:[...X,...W]}}),this.server.setRequestHandler(dQ,async()=>{return{resourceTemplates:Object.entries(this._registeredResourceTemplates).map(([Y,X])=>({name:Y,uriTemplate:X.resourceTemplate.uriTemplate.toString(),...X.metadata}))}}),this.server.setRequestHandler(iQ,async(Q,Y)=>{let X=new URL(Q.params.uri),W=this._registeredResources[X.toString()];if(W){if(!W.enabled)throw new I(k.InvalidParams,`Resource ${X} disabled`);return W.readCallback(X,Y)}for(let $ of Object.values(this._registeredResourceTemplates)){let J=$.resourceTemplate.uriTemplate.match(X.toString());if(J)return $.readCallback(X,J,Y)}throw new I(k.InvalidParams,`Resource ${X} not found`)}),this._resourceHandlersInitialized=!0}setPromptRequestHandlers(){if(this._promptHandlersInitialized)return;this.server.assertCanSetRequestHandler(y6(nQ)),this.server.assertCanSetRequestHandler(y6(oQ)),this.server.registerCapabilities({prompts:{listChanged:!0}}),this.server.setRequestHandler(nQ,()=>({prompts:Object.entries(this._registeredPrompts).filter(([,Q])=>Q.enabled).map(([Q,Y])=>{return{name:Q,title:Y.title,description:Y.description,arguments:Y.argsSchema?sf(Y.argsSchema):void 0}})})),this.server.setRequestHandler(oQ,async(Q,Y)=>{let X=this._registeredPrompts[Q.params.name];if(!X)throw new I(k.InvalidParams,`Prompt ${Q.params.name} not found`);if(!X.enabled)throw new I(k.InvalidParams,`Prompt ${Q.params.name} disabled`);if(X.argsSchema){let W=l9(X.argsSchema),$=await bQ(W,Q.params.arguments);if(!$.success){let H="error"in $?$.error:"Unknown error",B=PQ(H);throw new I(k.InvalidParams,`Invalid arguments for prompt ${Q.params.name}: ${B}`)}let J=$.data,G=X.callback;return await Promise.resolve(G(J,Y))}else{let W=X.callback;return await Promise.resolve(W(Y))}}),this._promptHandlersInitialized=!0}resource(Q,Y,...X){let W;if(typeof X[0]==="object")W=X.shift();let $=X[0];if(typeof Y==="string"){if(this._registeredResources[Y])throw Error(`Resource ${Y} is already registered`);let J=this._createRegisteredResource(Q,void 0,Y,W,$);return this.setResourceRequestHandlers(),this.sendResourceListChanged(),J}else{if(this._registeredResourceTemplates[Q])throw Error(`Resource template ${Q} is already registered`);let J=this._createRegisteredResourceTemplate(Q,void 0,Y,W,$);return this.setResourceRequestHandlers(),this.sendResourceListChanged(),J}}registerResource(Q,Y,X,W){if(typeof Y==="string"){if(this._registeredResources[Y])throw Error(`Resource ${Y} is already registered`);let $=this._createRegisteredResource(Q,X.title,Y,X,W);return this.setResourceRequestHandlers(),this.sendResourceListChanged(),$}else{if(this._registeredResourceTemplates[Q])throw Error(`Resource template ${Q} is already registered`);let $=this._createRegisteredResourceTemplate(Q,X.title,Y,X,W);return this.setResourceRequestHandlers(),this.sendResourceListChanged(),$}}_createRegisteredResource(Q,Y,X,W,$){let J={name:Q,title:Y,metadata:W,readCallback:$,enabled:!0,disable:()=>J.update({enabled:!1}),enable:()=>J.update({enabled:!0}),remove:()=>J.update({uri:null}),update:(G)=>{if(typeof G.uri<"u"&&G.uri!==X){if(delete this._registeredResources[X],G.uri)this._registeredResources[G.uri]=J}if(typeof G.name<"u")J.name=G.name;if(typeof G.title<"u")J.title=G.title;if(typeof G.metadata<"u")J.metadata=G.metadata;if(typeof G.callback<"u")J.readCallback=G.callback;if(typeof G.enabled<"u")J.enabled=G.enabled;this.sendResourceListChanged()}};return this._registeredResources[X]=J,J}_createRegisteredResourceTemplate(Q,Y,X,W,$){let J={resourceTemplate:X,title:Y,metadata:W,readCallback:$,enabled:!0,disable:()=>J.update({enabled:!1}),enable:()=>J.update({enabled:!0}),remove:()=>J.update({name:null}),update:(B)=>{if(typeof B.name<"u"&&B.name!==Q){if(delete this._registeredResourceTemplates[Q],B.name)this._registeredResourceTemplates[B.name]=J}if(typeof B.title<"u")J.title=B.title;if(typeof B.template<"u")J.resourceTemplate=B.template;if(typeof B.metadata<"u")J.metadata=B.metadata;if(typeof B.callback<"u")J.readCallback=B.callback;if(typeof B.enabled<"u")J.enabled=B.enabled;this.sendResourceListChanged()}};this._registeredResourceTemplates[Q]=J;let G=X.uriTemplate.variableNames;if(Array.isArray(G)&&G.some((B)=>!!X.completeCallback(B)))this.setCompletionRequestHandler();return J}_createRegisteredPrompt(Q,Y,X,W,$){let J={title:Y,description:X,argsSchema:W===void 0?void 0:e6(W),callback:$,enabled:!0,disable:()=>J.update({enabled:!1}),enable:()=>J.update({enabled:!0}),remove:()=>J.update({name:null}),update:(G)=>{if(typeof G.name<"u"&&G.name!==Q){if(delete this._registeredPrompts[Q],G.name)this._registeredPrompts[G.name]=J}if(typeof G.title<"u")J.title=G.title;if(typeof G.description<"u")J.description=G.description;if(typeof G.argsSchema<"u")J.argsSchema=e6(G.argsSchema);if(typeof G.callback<"u")J.callback=G.callback;if(typeof G.enabled<"u")J.enabled=G.enabled;this.sendPromptListChanged()}};if(this._registeredPrompts[Q]=J,W){if(Object.values(W).some((H)=>{let B=H instanceof B1?H._def?.innerType:H;return IJ(B)}))this.setCompletionRequestHandler()}return J}_createRegisteredTool(Q,Y,X,W,$,J,G,H,B){SJ(Q);let z={title:Y,description:X,inputSchema:qL(W),outputSchema:qL($),annotations:J,execution:G,_meta:H,handler:B,enabled:!0,disable:()=>z.update({enabled:!1}),enable:()=>z.update({enabled:!0}),remove:()=>z.update({name:null}),update:(K)=>{if(typeof K.name<"u"&&K.name!==Q){if(typeof K.name==="string")SJ(K.name);if(delete this._registeredTools[Q],K.name)this._registeredTools[K.name]=z}if(typeof K.title<"u")z.title=K.title;if(typeof K.description<"u")z.description=K.description;if(typeof K.paramsSchema<"u")z.inputSchema=e6(K.paramsSchema);if(typeof K.outputSchema<"u")z.outputSchema=e6(K.outputSchema);if(typeof K.callback<"u")z.handler=K.callback;if(typeof K.annotations<"u")z.annotations=K.annotations;if(typeof K._meta<"u")z._meta=K._meta;if(typeof K.enabled<"u")z.enabled=K.enabled;this.sendToolListChanged()}};return this._registeredTools[Q]=z,this.setToolRequestHandlers(),this.sendToolListChanged(),z}tool(Q,...Y){if(this._registeredTools[Q])throw Error(`Tool ${Q} is already registered`);let X,W,$,J;if(typeof Y[0]==="string")X=Y.shift();if(Y.length>1){let H=Y[0];if(CJ(H)){if(W=Y.shift(),Y.length>1&&typeof Y[0]==="object"&&Y[0]!==null&&!CJ(Y[0]))J=Y.shift()}else if(typeof H==="object"&&H!==null)J=Y.shift()}let G=Y[0];return this._createRegisteredTool(Q,void 0,X,W,$,J,{taskSupport:"forbidden"},void 0,G)}registerTool(Q,Y,X){if(this._registeredTools[Q])throw Error(`Tool ${Q} is already registered`);let{title:W,description:$,inputSchema:J,outputSchema:G,annotations:H,_meta:B}=Y;return this._createRegisteredTool(Q,W,$,J,G,H,{taskSupport:"forbidden"},B,X)}prompt(Q,...Y){if(this._registeredPrompts[Q])throw Error(`Prompt ${Q} is already registered`);let X;if(typeof Y[0]==="string")X=Y.shift();let W;if(Y.length>1)W=Y.shift();let $=Y[0],J=this._createRegisteredPrompt(Q,void 0,X,W,$);return this.setPromptRequestHandlers(),this.sendPromptListChanged(),J}registerPrompt(Q,Y,X){if(this._registeredPrompts[Q])throw Error(`Prompt ${Q} is already registered`);let{title:W,description:$,argsSchema:J}=Y,G=this._createRegisteredPrompt(Q,W,$,J,X);return this.setPromptRequestHandlers(),this.sendPromptListChanged(),G}isConnected(){return this.server.transport!==void 0}async sendLoggingMessage(Q,Y){return this.server.sendLoggingMessage(Q,Y)}sendResourceListChanged(){if(this.isConnected())this.server.sendResourceListChanged()}sendToolListChanged(){if(this.isConnected())this.server.sendToolListChanged()}sendPromptListChanged(){if(this.isConnected())this.server.sendPromptListChanged()}}var tf={type:"object",properties:{}};function OL(Q){return Q!==null&&typeof Q==="object"&&"parse"in Q&&typeof Q.parse==="function"&&"safeParse"in Q&&typeof Q.safeParse==="function"}function af(Q){return"_def"in Q||"_zod"in Q||OL(Q)}function CJ(Q){if(typeof Q!=="object"||Q===null)return!1;if(af(Q))return!1;if(Object.keys(Q).length===0)return!0;return Object.values(Q).some(OL)}function qL(Q){if(!Q)return;if(CJ(Q))return e6(Q);return Q}function sf(Q){let Y=c1(Q);if(!Y)return[];return Object.entries(Y).map(([X,W])=>{let $=$3(W),J=J3(W);return{name:X,description:$,required:!J}})}function y6(Q){let X=c1(Q)?.method;if(!X)throw Error("Schema is missing a method literal");let W=ZQ(X);if(typeof W==="string")return W;throw Error("Schema method literal must be a string")}function DL(Q){return{completion:{values:Q.slice(0,100),total:Q.length,hasMore:Q.length>100}}}var a4={completion:{values:[],hasMore:!1}};import LL from"node:process";class s4{append(Q){this._buffer=this._buffer?Buffer.concat([this._buffer,Q]):Q}readMessage(){if(!this._buffer)return null;let Q=this._buffer.indexOf(`
48
+ `);if(Q===-1)return null;let Y=this._buffer.toString("utf8",0,Q).replace(/\r$/,"");return this._buffer=this._buffer.subarray(Q+1),ef(Y)}clear(){this._buffer=void 0}}function ef(Q){return c9.parse(JSON.parse(Q))}function NX(Q){return JSON.stringify(Q)+`
49
+ `}class _J{constructor(Q=LL.stdin,Y=LL.stdout){this._stdin=Q,this._stdout=Y,this._readBuffer=new s4,this._started=!1,this._ondata=(X)=>{this._readBuffer.append(X),this.processReadBuffer()},this._onerror=(X)=>{this.onerror?.(X)}}async start(){if(this._started)throw Error("StdioServerTransport already started! If using Server class, note that connect() calls start() automatically.");this._started=!0,this._stdin.on("data",this._ondata),this._stdin.on("error",this._onerror)}processReadBuffer(){while(!0)try{let Q=this._readBuffer.readMessage();if(Q===null)break;this.onmessage?.(Q)}catch(Q){this.onerror?.(Q)}}async close(){if(this._stdin.off("data",this._ondata),this._stdin.off("error",this._onerror),this._stdin.listenerCount("data")===0)this._stdin.pause();this._readBuffer.clear(),this.onclose?.()}send(Q){return new Promise((Y)=>{let X=NX(Q);if(this._stdout.write(X))Y();else this._stdout.once("drain",Y)})}}import{readFileSync as th}from"fs";import MX from"node:crypto";var jL="0123456789ABCDEFGHJKMNPQRSTVWXYZ",bX=32;var Qg=16,wL=10,UL=281474976710655;var U9;(function(Q){Q.Base32IncorrectEncoding="B32_ENC_INVALID",Q.DecodeTimeInvalidCharacter="DEC_TIME_CHAR",Q.DecodeTimeValueMalformed="DEC_TIME_MALFORMED",Q.EncodeTimeNegative="ENC_TIME_NEG",Q.EncodeTimeSizeExceeded="ENC_TIME_SIZE_EXCEED",Q.EncodeTimeValueMalformed="ENC_TIME_MALFORMED",Q.PRNGDetectFailure="PRNG_DETECT",Q.ULIDInvalid="ULID_INVALID",Q.Unexpected="UNEXPECTED",Q.UUIDInvalid="UUID_INVALID"})(U9||(U9={}));class q8 extends Error{constructor(Q,Y){super(`${Y} (${Q})`);this.name="ULIDError",this.code=Q}}function Yg(Q){let Y=Math.floor(Q()*bX)%bX;return jL.charAt(Y)}function Xg(Q){let Y=Wg(),X=Y&&(Y.crypto||Y.msCrypto)||(typeof MX<"u"?MX:null);if(typeof X?.getRandomValues==="function")return()=>{let W=new Uint8Array(1);return X.getRandomValues(W),W[0]/256};else if(typeof X?.randomBytes==="function")return()=>X.randomBytes(1).readUInt8()/256;else if(MX?.randomBytes)return()=>MX.randomBytes(1).readUInt8()/256;throw new q8(U9.PRNGDetectFailure,"Failed to find a reliable PRNG")}function Wg(){if(Gg())return self;if(typeof window<"u")return window;if(typeof global<"u")return global;if(typeof globalThis<"u")return globalThis;return null}function $g(Q,Y){let X="";for(;Q>0;Q--)X=Yg(Y)+X;return X}function Jg(Q,Y=wL){if(isNaN(Q))throw new q8(U9.EncodeTimeValueMalformed,`Time must be a number: ${Q}`);else if(Q>UL)throw new q8(U9.EncodeTimeSizeExceeded,`Cannot encode a time larger than ${UL}: ${Q}`);else if(Q<0)throw new q8(U9.EncodeTimeNegative,`Time must be positive: ${Q}`);else if(Number.isInteger(Q)===!1)throw new q8(U9.EncodeTimeValueMalformed,`Time must be an integer: ${Q}`);let X,W="";for(let $=Y;$>0;$--)X=Q%bX,W=jL.charAt(X)+W,Q=(Q-X)/bX;return W}function Gg(){return typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope}function f1(Q,Y){let X=Y||Xg(),W=!Q||isNaN(Q)?Date.now():Q;return Jg(W,wL)+$g(Qg,X)}function vJ(Q){return Q.type==="http"}function xJ(Q){return Q.type==="stdio"}class yJ{configs=new Map;logger;constructor(Q={}){this.logger=Q.logger}addConfig(Q,Y,X,W){let $=this.configs.has(Q);return this.configs.set(Q,{name:Q,type:"http",url:Y,headers:X?.headers,addedAt:new Date,addedBy:W}),this.logger?.info($?"server_config_updated":"server_config_added",{server:Q,type:"http",url:Y,hasHeaders:X?.headers!==void 0,addedBy:W}),!$}addStdioConfig(Q,Y,X,W,$){let J=this.configs.has(Q);return this.configs.set(Q,{name:Q,type:"stdio",command:Y,args:X,env:W?.env,cwd:W?.cwd,restartConfig:W?.restartConfig,addedAt:new Date,addedBy:$}),this.logger?.info(J?"server_config_updated":"server_config_added",{server:Q,type:"stdio",command:Y,args:X,addedBy:$}),!J}getConfig(Q){return this.configs.get(Q)}listConfigs(){return Array.from(this.configs.values())}removeConfig(Q){let Y=this.configs.delete(Q);if(Y)this.logger?.info("server_config_removed",{server:Q});return Y}hasConfig(Q){return this.configs.has(Q)}get size(){return this.configs.size}clear(){this.configs.clear(),this.logger?.info("server_configs_cleared",{})}}var Hg={maxEvents:1000,retentionMs:1800000,cleanupIntervalMs:300000};class fJ{events=[];config;logger;lastDeliveredId=null;waiters=[];cleanupIntervalHandle=null;constructor(Q={},Y){this.config={...Hg,...Q},this.logger=Y,this.startCleanupInterval()}addEvent(Q,Y,X){let W=f1(),$={id:W,type:Q,server:Y,data:X,createdAt:new Date,sentViaSSE:!1};this.events.push($);while(this.events.length>this.config.maxEvents)this.events.shift();return this.logger?.debug("event_added",{id:W,type:Q,server:Y}),this.wakeWaiters($),W}hasNewEvents(){if(this.lastDeliveredId===null)return this.events.length>0;let Q=this.events.findIndex((Y)=>Y.id===this.lastDeliveredId);if(Q===-1)return this.events.length>0;return Q<this.events.length-1}getNewEvents(){if(this.events.length===0)return[];let Q=0;if(this.lastDeliveredId!==null){let X=this.events.findIndex((W)=>W.id===this.lastDeliveredId);if(X!==-1)Q=X+1}let Y=this.events.slice(Q);if(Y.length>0){let X=Y[Y.length-1];if(X)this.lastDeliveredId=X.id}return Y}getEventsAfter(Q){if(Q===null)return[...this.events];let Y=this.events.findIndex((X)=>X.id===Q);if(Y===-1)return[...this.events];return this.events.slice(Y+1)}markSent(Q){let Y=this.events.find((X)=>X.id===Q);if(Y)Y.sentViaSSE=!0}waitForActivity(Q){return new Promise((Y)=>{let X=setTimeout(()=>{let W=this.waiters.findIndex(($)=>$.timeoutHandle===X);if(W!==-1)this.waiters.splice(W,1);Y(null)},Q);this.waiters.push({resolve:Y,timeoutHandle:X})})}wakeWaiters(Q){let Y=this.waiters;this.waiters=[];for(let X of Y)clearTimeout(X.timeoutHandle),X.resolve(Q)}startCleanupInterval(){this.cleanupIntervalHandle=setInterval(()=>{this.runCleanup()},this.config.cleanupIntervalMs)}runCleanup(){let Q=Date.now()-this.config.retentionMs,Y=0;while(this.events.length>0){let X=this.events[0];if(X&&X.createdAt.getTime()<Q)this.events.shift(),Y++;else break}if(Y>0)this.logger?.debug("events_cleaned",{removed:Y,remaining:this.events.length})}shutdown(){if(this.cleanupIntervalHandle)clearInterval(this.cleanupIntervalHandle),this.cleanupIntervalHandle=null;for(let Q of this.waiters)clearTimeout(Q.timeoutHandle),Q.resolve(null);this.waiters=[]}}var Bg={defaultTtlMs:600000,completedRetentionMs:300000,cleanupIntervalMs:60000};class gJ{tasks=new Map;eventSystem;config;cleanupIntervalHandle=null;constructor(Q,Y={}){this.eventSystem=Q,this.config={...Bg,...Y},this.startCleanupInterval()}createTask(Q,Y,X,W){let $=f1(),J=new Date,G={taskId:$,server:Q,toolName:Y,args:X,status:"working",createdAt:J,lastUpdatedAt:J,ttl:W??this.config.defaultTtlMs};return this.tasks.set($,G),this.eventSystem.addEvent("task_created",Q,{taskId:$,toolName:Y,args:X}),G}completeTask(Q,Y){let X=this.tasks.get(Q);if(X?.status!=="working")return;X.status="completed",X.result=Y,X.lastUpdatedAt=new Date,this.scheduleTaskCleanup(X),this.eventSystem.addEvent("task_completed",X.server,{taskId:Q,toolName:X.toolName,result:Y})}failTask(Q,Y){let X=this.tasks.get(Q);if(X?.status!=="working")return;X.status="failed",X.error=Y,X.lastUpdatedAt=new Date,this.scheduleTaskCleanup(X),this.eventSystem.addEvent("task_failed",X.server,{taskId:Q,toolName:X.toolName,error:Y})}cancelTask(Q){let Y=this.tasks.get(Q);if(Y?.status!=="working")return!1;return Y.status="cancelled",Y.lastUpdatedAt=new Date,this.scheduleTaskCleanup(Y),this.eventSystem.addEvent("task_cancelled",Y.server,{taskId:Q,toolName:Y.toolName}),!0}getTask(Q){let Y=this.tasks.get(Q);if(!Y)return;let{_cleanupTimeoutHandle:X,...W}=Y;return W}getTasksForServer(Q){return Array.from(this.tasks.values()).filter((Y)=>Y.server===Q).map((Y)=>({taskId:Y.taskId,server:Y.server,toolName:Y.toolName,args:Y.args,status:Y.status,result:Y.result,error:Y.error,createdAt:Y.createdAt,lastUpdatedAt:Y.lastUpdatedAt,ttl:Y.ttl}))}getAllTasks(Q=!1){let Y=["completed","failed","cancelled","expired"];return Array.from(this.tasks.values()).filter((X)=>Q||!Y.includes(X.status)).map((X)=>({taskId:X.taskId,server:X.server,toolName:X.toolName,args:X.args,status:X.status,result:X.result,error:X.error,createdAt:X.createdAt,lastUpdatedAt:X.lastUpdatedAt,ttl:X.ttl}))}getWorkingTasksForServer(Q){return Array.from(this.tasks.values()).filter((Y)=>Y.server===Q&&Y.status==="working").map((Y)=>({taskId:Y.taskId,toolName:Y.toolName,status:Y.status}))}scheduleTaskCleanup(Q){if(Q._cleanupTimeoutHandle)clearTimeout(Q._cleanupTimeoutHandle);Q._cleanupTimeoutHandle=setTimeout(()=>{this.tasks.delete(Q.taskId)},this.config.completedRetentionMs)}startCleanupInterval(){this.cleanupIntervalHandle=setInterval(()=>{this.runCleanup()},this.config.cleanupIntervalMs)}runCleanup(){let Q=Date.now();for(let Y of this.tasks.values()){if(Y.status!=="working")continue;if(Q-Y.createdAt.getTime()>=Y.ttl)Y.status="expired",Y.error=`Task expired after ${String(Y.ttl)}ms TTL`,Y.lastUpdatedAt=new Date,this.eventSystem.addEvent("task_expired",Y.server,{taskId:Y.taskId,toolName:Y.toolName,ttl:Y.ttl}),this.scheduleTaskCleanup(Y)}}shutdown(){if(this.cleanupIntervalHandle)clearInterval(this.cleanupIntervalHandle),this.cleanupIntervalHandle=null;for(let Q of this.tasks.values())if(Q._cleanupTimeoutHandle)clearTimeout(Q._cleanupTimeoutHandle)}}var zg={maxNotificationsPerServer:100,maxLogsPerServer:500};class hJ{buffers=new Map;eventSystem;config;constructor(Q,Y={}){this.eventSystem=Q,this.config={...zg,...Y}}addNotification(Q){let Y=this.getOrCreateBuffers(Q.server);if(Y.notifications.length>=this.config.maxNotificationsPerServer)Y.notifications.shift();Y.notifications.push(Q),this.eventSystem.addEvent("notification",Q.server,{method:Q.method,params:Q.params,timestamp:Q.timestamp.toISOString()})}addLog(Q){let Y=this.getOrCreateBuffers(Q.server);if(Y.logs.length>=this.config.maxLogsPerServer)Y.logs.shift();Y.logs.push(Q)}getAndClearNotifications(){let Q=[];for(let Y of this.buffers.values())Q.push(...Y.notifications),Y.notifications=[];return Q}getAndClearLogs(){let Q=[];for(let Y of this.buffers.values())Q.push(...Y.logs),Y.logs=[];return Q}getNotificationsForServer(Q){let Y=this.buffers.get(Q);return Y?[...Y.notifications]:[]}getLogsForServer(Q){let Y=this.buffers.get(Q);return Y?[...Y.logs]:[]}getNotificationCount(){let Q=0;for(let Y of this.buffers.values())Q+=Y.notifications.length;return Q}getLogCount(){let Q=0;for(let Y of this.buffers.values())Q+=Y.logs.length;return Q}clearServer(Q){this.buffers.delete(Q)}getOrCreateBuffers(Q){let Y=this.buffers.get(Q);if(!Y)Y={notifications:[],logs:[]},this.buffers.set(Q,Y);return Y}}var Kg={defaultTimeoutMs:600000};class uJ{samplingRequests=new Map;elicitationRequests=new Map;eventSystem;config;constructor(Q,Y={}){this.eventSystem=Q,this.config={...Kg,...Y}}addSamplingRequest(Q,Y,X,W){let $=f1(),J=setTimeout(()=>{let H=this.samplingRequests.get($);if(H)this.samplingRequests.delete($),this.eventSystem.addEvent("sampling_expired",Q,{requestId:$,reason:`Timed out after ${String(this.config.defaultTimeoutMs)}ms`}),H.reject(Error(`Sampling request timed out after ${String(this.config.defaultTimeoutMs)}ms`))},this.config.defaultTimeoutMs),G={requestId:$,server:Q,timestamp:new Date,params:Y,resolve:X,reject:W,timeoutHandle:J};return this.samplingRequests.set($,G),this.eventSystem.addEvent("sampling_request",Q,{requestId:$,params:Y}),$}addElicitationRequest(Q,Y,X,W){let $=f1(),J=setTimeout(()=>{let H=this.elicitationRequests.get($);if(H)this.elicitationRequests.delete($),this.eventSystem.addEvent("elicitation_expired",Q,{requestId:$,reason:`Timed out after ${String(this.config.defaultTimeoutMs)}ms`}),H.reject(Error(`Elicitation request timed out after ${String(this.config.defaultTimeoutMs)}ms`))},this.config.defaultTimeoutMs),G={requestId:$,server:Q,timestamp:new Date,params:Y,resolve:X,reject:W,timeoutHandle:J};return this.elicitationRequests.set($,G),this.eventSystem.addEvent("elicitation_request",Q,{requestId:$,params:Y}),$}respondToSampling(Q,Y){let X=this.samplingRequests.get(Q);if(!X)throw Error(`Sampling request '${Q}' not found or already completed`);clearTimeout(X.timeoutHandle),this.samplingRequests.delete(Q),X.resolve(Y)}cancelSampling(Q,Y="User cancelled"){let X=this.samplingRequests.get(Q);if(!X)throw Error(`Sampling request '${Q}' not found or already completed`);clearTimeout(X.timeoutHandle),this.samplingRequests.delete(Q),this.eventSystem.addEvent("sampling_expired",X.server,{requestId:Q,reason:Y}),X.reject(Error(Y))}respondToElicitation(Q,Y){let X=this.elicitationRequests.get(Q);if(!X)throw Error(`Elicitation request '${Q}' not found or already completed`);clearTimeout(X.timeoutHandle),this.elicitationRequests.delete(Q),X.resolve(Y)}cancelElicitation(Q,Y="User cancelled"){let X=this.elicitationRequests.get(Q);if(!X)throw Error(`Elicitation request '${Q}' not found or already completed`);clearTimeout(X.timeoutHandle),this.elicitationRequests.delete(Q),this.eventSystem.addEvent("elicitation_expired",X.server,{requestId:Q,reason:Y}),X.reject(Error(Y))}getPendingSamplingRequests(){return Array.from(this.samplingRequests.values()).map((Q)=>({requestId:Q.requestId,server:Q.server,timestamp:Q.timestamp,params:Q.params}))}getPendingElicitationRequests(){return Array.from(this.elicitationRequests.values()).map((Q)=>({requestId:Q.requestId,server:Q.server,timestamp:Q.timestamp,params:Q.params}))}getRequestsForServer(Q){return{sampling:this.getPendingSamplingRequests().filter((Y)=>Y.server===Q),elicitation:this.getPendingElicitationRequests().filter((Y)=>Y.server===Q)}}hasPendingRequests(){return this.samplingRequests.size>0||this.elicitationRequests.size>0}rejectRequestsForServer(Q,Y){for(let[X,W]of this.samplingRequests)if(W.server===Q)clearTimeout(W.timeoutHandle),this.samplingRequests.delete(X),this.eventSystem.addEvent("sampling_expired",Q,{requestId:X,reason:Y}),W.reject(Error(Y));for(let[X,W]of this.elicitationRequests)if(W.server===Q)clearTimeout(W.timeoutHandle),this.elicitationRequests.delete(X),this.eventSystem.addEvent("elicitation_expired",Q,{requestId:X,reason:Y}),W.reject(Error(Y))}shutdown(){for(let Q of this.samplingRequests.values())clearTimeout(Q.timeoutHandle),Q.reject(Error("PendingRequestsManager shutting down"));this.samplingRequests.clear();for(let Q of this.elicitationRequests.values())clearTimeout(Q.timeoutHandle),Q.reject(Error("PendingRequestsManager shutting down"));this.elicitationRequests.clear()}}var Vg={maxActiveTimers:100,maxDurationMs:86400000,retentionMs:300000};class lJ{timers=new Map;expiredBuffer=[];eventSystem;config;constructor(Q,Y={}){this.eventSystem=Q,this.config={...Vg,...Y}}createTimer(Q,Y,X=!1){if(this.getActiveTimers().length>=this.config.maxActiveTimers)throw Error(`Maximum active timers (${String(this.config.maxActiveTimers)}) exceeded`);if(Q<=0)throw Error("Duration must be positive");if(Q>this.config.maxDurationMs)throw Error(`Duration exceeds maximum (${String(this.config.maxDurationMs)}ms)`);let $=f1(),J=new Date,G=new Date(J.getTime()+Q),H={id:$,durationMs:Q,message:Y,createdAt:J,expiresAt:G,status:"active",interval:X,fireCount:0};if(X)H._intervalHandle=setInterval(()=>{this.fireIntervalTimer($)},Q);else H._timeoutHandle=setTimeout(()=>{this.expireTimer($)},Q);return this.timers.set($,H),this.toPublicTimer(H)}getTimer(Q){let Y=this.timers.get(Q);if(!Y)return;return this.toPublicTimer(Y)}deleteTimer(Q){let Y=this.timers.get(Q);if(!Y)return;if(Y._timeoutHandle)clearTimeout(Y._timeoutHandle),Y._timeoutHandle=void 0;if(Y._intervalHandle)clearInterval(Y._intervalHandle),Y._intervalHandle=void 0;return Y.status="deleted",this.scheduleCleanup(Y),this.toPublicTimer(Y)}getAllTimers(Q=!1){let Y=Array.from(this.timers.values());return(Q?Y:Y.filter((W)=>W.status==="active")).map((W)=>this.toPublicTimer(W))}getActiveTimers(){return Array.from(this.timers.values()).filter((Q)=>Q.status==="active").map((Q)=>this.toPublicTimer(Q))}getAndClearExpired(){let Q=[...this.expiredBuffer];return this.expiredBuffer.length=0,Q}hasExpired(){return this.expiredBuffer.length>0}shutdown(){for(let Q of this.timers.values()){if(Q._timeoutHandle)clearTimeout(Q._timeoutHandle);if(Q._intervalHandle)clearInterval(Q._intervalHandle)}this.timers.clear(),this.expiredBuffer.length=0}expireTimer(Q){let Y=this.timers.get(Q);if(!Y?.status||Y.status!=="active")return;Y.status="expired",Y._timeoutHandle=void 0,Y.fireCount++,this.expiredBuffer.push({id:Y.id,message:Y.message,expiredAt:new Date().toISOString()}),this.eventSystem.addEvent("timer_expired","emceepee",{timerId:Y.id,message:Y.message}),this.scheduleCleanup(Y)}fireIntervalTimer(Q){let Y=this.timers.get(Q);if(!Y?.status||Y.status!=="active")return;Y.fireCount++,Y.expiresAt=new Date(Date.now()+Y.durationMs),this.expiredBuffer.push({id:Y.id,message:Y.message,expiredAt:new Date().toISOString()}),this.eventSystem.addEvent("timer_expired","emceepee",{timerId:Y.id,message:Y.message,fireCount:Y.fireCount,interval:!0})}scheduleCleanup(Q){setTimeout(()=>{this.timers.delete(Q.id)},this.config.retentionMs)}toPublicTimer(Q){return{id:Q.id,durationMs:Q.durationMs,message:Q.message,createdAt:Q.createdAt,expiresAt:Q.expiresAt,status:Q.status,interval:Q.interval,fireCount:Q.fireCount}}}class mJ{sessionId;createdAt;lastActivityAt;backendConnections=new Map;eventSystem;taskManager;pendingRequests;bufferManager;timerManager;logger;constructor(Q,Y={},X){this.sessionId=Q,this.createdAt=new Date,this.lastActivityAt=new Date,this.logger=X,this.eventSystem=new fJ(Y.eventSystemConfig,X),this.taskManager=new gJ(this.eventSystem,Y.taskConfig),this.pendingRequests=new uJ(this.eventSystem,Y.requestConfig),this.bufferManager=new hJ(this.eventSystem,Y.bufferConfig),this.timerManager=new lJ(this.eventSystem,Y.timerConfig)}touch(){this.lastActivityAt=new Date}getConnection(Q){return this.backendConnections.get(Q)}isConnectedTo(Q){return this.backendConnections.get(Q)?.status==="connected"}listConnectedServers(){return Array.from(this.backendConnections.entries()).filter(([,Q])=>Q.status==="connected").map(([Q])=>Q)}listConnections(){return Array.from(this.backendConnections.entries()).map(([Q,Y])=>({name:Q,status:Y.status,connectedAt:Y.connectedAt,lastError:Y.lastError}))}setConnectionStatus(Q,Y,X){let W=this.backendConnections.get(Q);if(W){if(W.status=Y,Y==="connected")W.connectedAt=new Date,W.lastError=void 0;else if(Y==="error"&&X)W.lastError=X}}addConnection(Q,Y){this.backendConnections.set(Q,{client:Y,status:"connecting"})}removeConnection(Q){return this.backendConnections.delete(Q)}async cleanup(){this.logger?.info("session_cleanup_start",{sessionId:this.sessionId}),this.pendingRequests.shutdown(),this.taskManager.shutdown(),this.timerManager.shutdown(),this.eventSystem.shutdown();for(let[Q,Y]of this.backendConnections)try{await Y.client.disconnect(),this.logger?.debug("session_backend_disconnected",{sessionId:this.sessionId,server:Q})}catch(X){this.logger?.debug("session_backend_disconnect_error",{sessionId:this.sessionId,server:Q,error:X instanceof Error?X.message:String(X)})}this.backendConnections.clear(),this.logger?.info("session_cleanup_complete",{sessionId:this.sessionId})}}class cJ{constructor(Q){this._client=Q}async*callToolStream(Q,Y=N6,X){let W=this._client,$={...X,task:X?.task??(W.isToolTask(Q.name)?{}:void 0)},J=W.requestStream({method:"tools/call",params:Q},Y,$),G=W.getToolOutputValidator(Q.name);for await(let H of J){if(H.type==="result"&&G){let B=H.result;if(!B.structuredContent&&!B.isError){yield{type:"error",error:new I(k.InvalidRequest,`Tool ${Q.name} has an output schema but did not return structured content`)};return}if(B.structuredContent)try{let z=G(B.structuredContent);if(!z.valid){yield{type:"error",error:new I(k.InvalidParams,`Structured content does not match the tool's output schema: ${z.errorMessage}`)};return}}catch(z){if(z instanceof I){yield{type:"error",error:z};return}yield{type:"error",error:new I(k.InvalidParams,`Failed to validate structured content: ${z instanceof Error?z.message:String(z)}`)};return}}yield H}}async getTask(Q,Y){return this._client.getTask({taskId:Q},Y)}async getTaskResult(Q,Y,X){return this._client.getTaskResult({taskId:Q},Y,X)}async listTasks(Q,Y){return this._client.listTasks(Q?{cursor:Q}:void 0,Y)}async cancelTask(Q,Y){return this._client.cancelTask({taskId:Q},Y)}requestStream(Q,Y,X){return this._client.requestStream(Q,Y,X)}}function PX(Q,Y){if(!Q||Y===null||typeof Y!=="object")return;if(Q.type==="object"&&Q.properties&&typeof Q.properties==="object"){let X=Y,W=Q.properties;for(let $ of Object.keys(W)){let J=W[$];if(X[$]===void 0&&Object.prototype.hasOwnProperty.call(J,"default"))X[$]=J.default;if(X[$]!==void 0)PX(J,X[$])}}if(Array.isArray(Q.anyOf)){for(let X of Q.anyOf)if(typeof X!=="boolean")PX(X,Y)}if(Array.isArray(Q.oneOf)){for(let X of Q.oneOf)if(typeof X!=="boolean")PX(X,Y)}}function Fg(Q){if(!Q)return{supportsFormMode:!1,supportsUrlMode:!1};let Y=Q.form!==void 0,X=Q.url!==void 0;return{supportsFormMode:Y||!Y&&!X,supportsUrlMode:X}}class D8 extends $4{constructor(Q,Y){super(Y);if(this._clientInfo=Q,this._cachedToolOutputValidators=new Map,this._cachedKnownTaskTools=new Set,this._cachedRequiredTaskTools=new Set,this._listChangedDebounceTimers=new Map,this._capabilities=Y?.capabilities??{},this._jsonSchemaValidator=Y?.jsonSchemaValidator??new t4,Y?.listChanged)this._pendingListChangedConfig=Y.listChanged}_setupListChangedHandlers(Q){if(Q.tools&&this._serverCapabilities?.tools?.listChanged)this._setupListChangedHandler("tools",W9,Q.tools,async()=>{return(await this.listTools()).tools});if(Q.prompts&&this._serverCapabilities?.prompts?.listChanged)this._setupListChangedHandler("prompts",X9,Q.prompts,async()=>{return(await this.listPrompts()).prompts});if(Q.resources&&this._serverCapabilities?.resources?.listChanged)this._setupListChangedHandler("resources",Y9,Q.resources,async()=>{return(await this.listResources()).resources})}get experimental(){if(!this._experimental)this._experimental={tasks:new cJ(this)};return this._experimental}registerCapabilities(Q){if(this.transport)throw Error("Cannot register capabilities after connecting to transport");this._capabilities=YY(this._capabilities,Q)}setRequestHandler(Q,Y){let W=c1(Q)?.method;if(!W)throw Error("Schema is missing a method literal");let $;if(s0(W)){let G=W;$=G._zod?.def?.value??G.value}else{let G=W;$=G._def?.value??G.value}if(typeof $!=="string")throw Error("Schema method literal must be a string");let J=$;if(J==="elicitation/create"){let G=async(H,B)=>{let z=c0(J9,H);if(!z.success){let L=z.error instanceof Error?z.error.message:String(z.error);throw new I(k.InvalidParams,`Invalid elicitation request: ${L}`)}let{params:K}=z.data;K.mode=K.mode??"form";let{supportsFormMode:V,supportsUrlMode:q}=Fg(this._capabilities.elicitation);if(K.mode==="form"&&!V)throw new I(k.InvalidParams,"Client does not support form-mode elicitation requests");if(K.mode==="url"&&!q)throw new I(k.InvalidParams,"Client does not support URL-mode elicitation requests");let F=await Promise.resolve(Y(H,B));if(K.task){let L=c0(Q6,F);if(!L.success){let N=L.error instanceof Error?L.error.message:String(L.error);throw new I(k.InvalidParams,`Invalid task creation result: ${N}`)}return L.data}let A=c0(i9,F);if(!A.success){let L=A.error instanceof Error?A.error.message:String(A.error);throw new I(k.InvalidParams,`Invalid elicitation result: ${L}`)}let D=A.data,O=K.mode==="form"?K.requestedSchema:void 0;if(K.mode==="form"&&D.action==="accept"&&D.content&&O){if(this._capabilities.elicitation?.form?.applyDefaults)try{PX(O,D.content)}catch{}}return D};return super.setRequestHandler(Q,G)}if(J==="sampling/createMessage"){let G=async(H,B)=>{let z=c0($9,H);if(!z.success){let F=z.error instanceof Error?z.error.message:String(z.error);throw new I(k.InvalidParams,`Invalid sampling request: ${F}`)}let{params:K}=z.data,V=await Promise.resolve(Y(H,B));if(K.task){let F=c0(Q6,V);if(!F.success){let A=F.error instanceof Error?F.error.message:String(F.error);throw new I(k.InvalidParams,`Invalid task creation result: ${A}`)}return F.data}let q=c0(X4,V);if(!q.success){let F=q.error instanceof Error?q.error.message:String(q.error);throw new I(k.InvalidParams,`Invalid sampling result: ${F}`)}return q.data};return super.setRequestHandler(Q,G)}return super.setRequestHandler(Q,Y)}assertCapability(Q,Y){if(!this._serverCapabilities?.[Q])throw Error(`Server does not support ${Q} (required for ${Y})`)}async connect(Q,Y){if(await super.connect(Q),Q.sessionId!==void 0)return;try{let X=await this.request({method:"initialize",params:{protocolVersion:j6,capabilities:this._capabilities,clientInfo:this._clientInfo}},F5,Y);if(X===void 0)throw Error(`Server sent invalid initialize result: ${X}`);if(!CQ.includes(X.protocolVersion))throw Error(`Server's protocol version is not supported: ${X.protocolVersion}`);if(this._serverCapabilities=X.capabilities,this._serverVersion=X.serverInfo,Q.setProtocolVersion)Q.setProtocolVersion(X.protocolVersion);if(this._instructions=X.instructions,await this.notification({method:"notifications/initialized"}),this._pendingListChangedConfig)this._setupListChangedHandlers(this._pendingListChangedConfig),this._pendingListChangedConfig=void 0}catch(X){throw this.close(),X}}getServerCapabilities(){return this._serverCapabilities}getServerVersion(){return this._serverVersion}getInstructions(){return this._instructions}assertCapabilityForMethod(Q){switch(Q){case"logging/setLevel":if(!this._serverCapabilities?.logging)throw Error(`Server does not support logging (required for ${Q})`);break;case"prompts/get":case"prompts/list":if(!this._serverCapabilities?.prompts)throw Error(`Server does not support prompts (required for ${Q})`);break;case"resources/list":case"resources/templates/list":case"resources/read":case"resources/subscribe":case"resources/unsubscribe":if(!this._serverCapabilities?.resources)throw Error(`Server does not support resources (required for ${Q})`);if(Q==="resources/subscribe"&&!this._serverCapabilities.resources.subscribe)throw Error(`Server does not support resource subscriptions (required for ${Q})`);break;case"tools/call":case"tools/list":if(!this._serverCapabilities?.tools)throw Error(`Server does not support tools (required for ${Q})`);break;case"completion/complete":if(!this._serverCapabilities?.completions)throw Error(`Server does not support completions (required for ${Q})`);break;case"initialize":break;case"ping":break}}assertNotificationCapability(Q){switch(Q){case"notifications/roots/list_changed":if(!this._capabilities.roots?.listChanged)throw Error(`Client does not support roots list changed notifications (required for ${Q})`);break;case"notifications/initialized":break;case"notifications/cancelled":break;case"notifications/progress":break}}assertRequestHandlerCapability(Q){if(!this._capabilities)return;switch(Q){case"sampling/createMessage":if(!this._capabilities.sampling)throw Error(`Client does not support sampling capability (required for ${Q})`);break;case"elicitation/create":if(!this._capabilities.elicitation)throw Error(`Client does not support elicitation capability (required for ${Q})`);break;case"roots/list":if(!this._capabilities.roots)throw Error(`Client does not support roots capability (required for ${Q})`);break;case"tasks/get":case"tasks/list":case"tasks/result":case"tasks/cancel":if(!this._capabilities.tasks)throw Error(`Client does not support tasks capability (required for ${Q})`);break;case"ping":break}}assertTaskCapability(Q){jX(this._serverCapabilities?.tasks?.requests,Q,"Server")}assertTaskHandlerCapability(Q){if(!this._capabilities)return;wX(this._capabilities.tasks?.requests,Q,"Client")}async ping(Q){return this.request({method:"ping"},e1,Q)}async complete(Q,Y){return this.request({method:"completion/complete",params:Q},E5,Y)}async setLoggingLevel(Q,Y){return this.request({method:"logging/setLevel",params:{level:Q}},e1,Y)}async getPrompt(Q,Y){return this.request({method:"prompts/get",params:Q},b5,Y)}async listPrompts(Q,Y){return this.request({method:"prompts/list",params:Q},U5,Y)}async listResources(Q,Y){return this.request({method:"resources/list",params:Q},q5,Y)}async listResourceTemplates(Q,Y){return this.request({method:"resources/templates/list",params:Q},D5,Y)}async readResource(Q,Y){return this.request({method:"resources/read",params:Q},L5,Y)}async subscribeResource(Q,Y){return this.request({method:"resources/subscribe",params:Q},e1,Y)}async unsubscribeResource(Q,Y){return this.request({method:"resources/unsubscribe",params:Q},e1,Y)}async callTool(Q,Y=N6,X){if(this.isToolTaskRequired(Q.name))throw new I(k.InvalidRequest,`Tool "${Q.name}" requires task-based execution. Use client.experimental.tasks.callToolStream() instead.`);let W=await this.request({method:"tools/call",params:Q},Y,X),$=this.getToolOutputValidator(Q.name);if($){if(!W.structuredContent&&!W.isError)throw new I(k.InvalidRequest,`Tool ${Q.name} has an output schema but did not return structured content`);if(W.structuredContent)try{let J=$(W.structuredContent);if(!J.valid)throw new I(k.InvalidParams,`Structured content does not match the tool's output schema: ${J.errorMessage}`)}catch(J){if(J instanceof I)throw J;throw new I(k.InvalidParams,`Failed to validate structured content: ${J instanceof Error?J.message:String(J)}`)}}return W}isToolTask(Q){if(!this._serverCapabilities?.tasks?.requests?.tools?.call)return!1;return this._cachedKnownTaskTools.has(Q)}isToolTaskRequired(Q){return this._cachedRequiredTaskTools.has(Q)}cacheToolMetadata(Q){this._cachedToolOutputValidators.clear(),this._cachedKnownTaskTools.clear(),this._cachedRequiredTaskTools.clear();for(let Y of Q){if(Y.outputSchema){let W=this._jsonSchemaValidator.getValidator(Y.outputSchema);this._cachedToolOutputValidators.set(Y.name,W)}let X=Y.execution?.taskSupport;if(X==="required"||X==="optional")this._cachedKnownTaskTools.add(Y.name);if(X==="required")this._cachedRequiredTaskTools.add(Y.name)}}getToolOutputValidator(Q){return this._cachedToolOutputValidators.get(Q)}async listTools(Q,Y){let X=await this.request({method:"tools/list",params:Q},P5,Y);return this.cacheToolMetadata(X.tools),X}_setupListChangedHandler(Q,Y,X,W){let $=o3.safeParse(X);if(!$.success)throw Error(`Invalid ${Q} listChanged options: ${$.error.message}`);if(typeof X.onChanged!=="function")throw Error(`Invalid ${Q} listChanged options: onChanged must be a function`);let{autoRefresh:J,debounceMs:G}=$.data,{onChanged:H}=X,B=async()=>{if(!J){H(null,null);return}try{let K=await W();H(null,K)}catch(K){let V=K instanceof Error?K:Error(String(K));H(V,null)}},z=()=>{if(G){let K=this._listChangedDebounceTimers.get(Q);if(K)clearTimeout(K);let V=setTimeout(B,G);this._listChangedDebounceTimers.set(Q,V)}else B()};this.setNotificationHandler(Y,z)}async sendRootsListChanged(){return this.notification({method:"notifications/roots/list_changed"})}}function ZX(Q){if(!Q)return{};if(Q instanceof Headers)return Object.fromEntries(Q.entries());if(Array.isArray(Q))return Object.fromEntries(Q);return{...Q}}function NL(Q=fetch,Y){if(!Y)return Q;return async(X,W)=>{let $={...Y,...W,headers:W?.headers?{...ZX(Y.headers),...ZX(W.headers)}:Y.headers};return Q(X,$)}}var pJ;pJ=globalThis.crypto?.webcrypto??globalThis.crypto??import("node:crypto").then((Q)=>Q.webcrypto);async function Ag(Q){return(await pJ).getRandomValues(new Uint8Array(Q))}async function qg(Q){let X=Math.pow(2,8)-Math.pow(2,8)%66,W="";while(W.length<Q){let $=await Ag(Q-W.length);for(let J of $)if(J<X)W+="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-._~"[J%66]}return W}async function Dg(Q){return await qg(Q)}async function Og(Q){let Y=await(await pJ).subtle.digest("SHA-256",new TextEncoder().encode(Q));return btoa(String.fromCharCode(...new Uint8Array(Y))).replace(/\//g,"_").replace(/\+/g,"-").replace(/=/g,"")}async function dJ(Q){if(!Q)Q=43;if(Q<43||Q>128)throw`Expected a length between 43 and 128. Received ${Q}.`;let Y=await Dg(Q),X=await Og(Y);return{code_verifier:Y,code_challenge:X}}var g0=N3().superRefine((Q,Y)=>{if(!URL.canParse(Q))return Y.addIssue({code:k3.custom,message:"URL must be parseable",fatal:!0}),GQ}).refine((Q)=>{let Y=new URL(Q);return Y.protocol!=="javascript:"&&Y.protocol!=="data:"&&Y.protocol!=="vbscript:"},{message:"URL cannot use javascript:, data:, or vbscript: scheme"}),bL=T0({resource:U().url(),authorization_servers:E(g0).optional(),jwks_uri:U().url().optional(),scopes_supported:E(U()).optional(),bearer_methods_supported:E(U()).optional(),resource_signing_alg_values_supported:E(U()).optional(),resource_name:U().optional(),resource_documentation:U().optional(),resource_policy_uri:U().url().optional(),resource_tos_uri:U().url().optional(),tls_client_certificate_bound_access_tokens:H0().optional(),authorization_details_types_supported:E(U()).optional(),dpop_signing_alg_values_supported:E(U()).optional(),dpop_bound_access_tokens_required:H0().optional()}),iJ=T0({issuer:U(),authorization_endpoint:g0,token_endpoint:g0,registration_endpoint:g0.optional(),scopes_supported:E(U()).optional(),response_types_supported:E(U()),response_modes_supported:E(U()).optional(),grant_types_supported:E(U()).optional(),token_endpoint_auth_methods_supported:E(U()).optional(),token_endpoint_auth_signing_alg_values_supported:E(U()).optional(),service_documentation:g0.optional(),revocation_endpoint:g0.optional(),revocation_endpoint_auth_methods_supported:E(U()).optional(),revocation_endpoint_auth_signing_alg_values_supported:E(U()).optional(),introspection_endpoint:U().optional(),introspection_endpoint_auth_methods_supported:E(U()).optional(),introspection_endpoint_auth_signing_alg_values_supported:E(U()).optional(),code_challenge_methods_supported:E(U()).optional(),client_id_metadata_document_supported:H0().optional()}),Lg=T0({issuer:U(),authorization_endpoint:g0,token_endpoint:g0,userinfo_endpoint:g0.optional(),jwks_uri:g0,registration_endpoint:g0.optional(),scopes_supported:E(U()).optional(),response_types_supported:E(U()),response_modes_supported:E(U()).optional(),grant_types_supported:E(U()).optional(),acr_values_supported:E(U()).optional(),subject_types_supported:E(U()),id_token_signing_alg_values_supported:E(U()),id_token_encryption_alg_values_supported:E(U()).optional(),id_token_encryption_enc_values_supported:E(U()).optional(),userinfo_signing_alg_values_supported:E(U()).optional(),userinfo_encryption_alg_values_supported:E(U()).optional(),userinfo_encryption_enc_values_supported:E(U()).optional(),request_object_signing_alg_values_supported:E(U()).optional(),request_object_encryption_alg_values_supported:E(U()).optional(),request_object_encryption_enc_values_supported:E(U()).optional(),token_endpoint_auth_methods_supported:E(U()).optional(),token_endpoint_auth_signing_alg_values_supported:E(U()).optional(),display_values_supported:E(U()).optional(),claim_types_supported:E(U()).optional(),claims_supported:E(U()).optional(),service_documentation:U().optional(),claims_locales_supported:E(U()).optional(),ui_locales_supported:E(U()).optional(),claims_parameter_supported:H0().optional(),request_parameter_supported:H0().optional(),request_uri_parameter_supported:H0().optional(),require_request_uri_registration:H0().optional(),op_policy_uri:g0.optional(),op_tos_uri:g0.optional(),client_id_metadata_document_supported:H0().optional()}),PL=S({...Lg.shape,...iJ.pick({code_challenge_methods_supported:!0}).shape}),ZL=S({access_token:U(),id_token:U().optional(),token_type:U(),expires_in:SQ.number().optional(),scope:U().optional(),refresh_token:U().optional()}).strip(),RL=S({error:U(),error_description:U().optional(),error_uri:U().optional()}),ML=g0.optional().or(x("").transform(()=>{return})),Ug=S({redirect_uris:E(g0),token_endpoint_auth_method:U().optional(),grant_types:E(U()).optional(),response_types:E(U()).optional(),client_name:U().optional(),client_uri:g0.optional(),logo_uri:ML,scope:U().optional(),contacts:E(U()).optional(),tos_uri:ML,policy_uri:U().optional(),jwks_uri:g0.optional(),jwks:b3().optional(),software_id:U().optional(),software_version:U().optional(),software_statement:U().optional()}).strip(),jg=S({client_id:U(),client_secret:U().optional(),client_id_issued_at:J0().optional(),client_secret_expires_at:J0().optional()}).strip(),EL=Ug.merge(jg),Tr=S({error:U(),error_description:U().optional()}).strip(),Cr=S({token:U(),token_type_hint:U().optional()}).strip();function IL(Q){let Y=typeof Q==="string"?new URL(Q):new URL(Q.href);return Y.hash="",Y}function SL({requestedResource:Q,configuredResource:Y}){let X=typeof Q==="string"?new URL(Q):new URL(Q.href),W=typeof Y==="string"?new URL(Y):new URL(Y.href);if(X.origin!==W.origin)return!1;if(X.pathname.length<W.pathname.length)return!1;let $=X.pathname.endsWith("/")?X.pathname:X.pathname+"/",J=W.pathname.endsWith("/")?W.pathname:W.pathname+"/";return $.startsWith(J)}class I0 extends Error{constructor(Q,Y){super(Q);this.errorUri=Y,this.name=this.constructor.name}toResponseObject(){let Q={error:this.errorCode,error_description:this.message};if(this.errorUri)Q.error_uri=this.errorUri;return Q}get errorCode(){return this.constructor.errorCode}}class RX extends I0{}RX.errorCode="invalid_request";class O8 extends I0{}O8.errorCode="invalid_client";class L8 extends I0{}L8.errorCode="invalid_grant";class U8 extends I0{}U8.errorCode="unauthorized_client";class EX extends I0{}EX.errorCode="unsupported_grant_type";class IX extends I0{}IX.errorCode="invalid_scope";class SX extends I0{}SX.errorCode="access_denied";class f6 extends I0{}f6.errorCode="server_error";class TX extends I0{}TX.errorCode="temporarily_unavailable";class CX extends I0{}CX.errorCode="unsupported_response_type";class kX extends I0{}kX.errorCode="unsupported_token_type";class _X extends I0{}_X.errorCode="invalid_token";class vX extends I0{}vX.errorCode="method_not_allowed";class xX extends I0{}xX.errorCode="too_many_requests";class j8 extends I0{}j8.errorCode="invalid_client_metadata";class yX extends I0{}yX.errorCode="insufficient_scope";class fX extends I0{}fX.errorCode="invalid_target";var TL={[RX.errorCode]:RX,[O8.errorCode]:O8,[L8.errorCode]:L8,[U8.errorCode]:U8,[EX.errorCode]:EX,[IX.errorCode]:IX,[SX.errorCode]:SX,[f6.errorCode]:f6,[TX.errorCode]:TX,[CX.errorCode]:CX,[kX.errorCode]:kX,[_X.errorCode]:_X,[vX.errorCode]:vX,[xX.errorCode]:xX,[j8.errorCode]:j8,[yX.errorCode]:yX,[fX.errorCode]:fX};class g6 extends Error{constructor(Q){super(Q??"Unauthorized")}}function wg(Q){return["client_secret_basic","client_secret_post","none"].includes(Q)}var nJ="code",oJ="S256";function Ng(Q,Y){let X=Q.client_secret!==void 0;if(Y.length===0)return X?"client_secret_post":"none";if("token_endpoint_auth_method"in Q&&Q.token_endpoint_auth_method&&wg(Q.token_endpoint_auth_method)&&Y.includes(Q.token_endpoint_auth_method))return Q.token_endpoint_auth_method;if(X&&Y.includes("client_secret_basic"))return"client_secret_basic";if(X&&Y.includes("client_secret_post"))return"client_secret_post";if(Y.includes("none"))return"none";return X?"client_secret_post":"none"}function Mg(Q,Y,X,W){let{client_id:$,client_secret:J}=Y;switch(Q){case"client_secret_basic":bg($,J,X);return;case"client_secret_post":Pg($,J,W);return;case"none":Zg($,W);return;default:throw Error(`Unsupported client authentication method: ${Q}`)}}function bg(Q,Y,X){if(!Y)throw Error("client_secret_basic authentication requires a client_secret");let W=btoa(`${Q}:${Y}`);X.set("Authorization",`Basic ${W}`)}function Pg(Q,Y,X){if(X.set("client_id",Q),Y)X.set("client_secret",Y)}function Zg(Q,Y){Y.set("client_id",Q)}async function kL(Q){let Y=Q instanceof Response?Q.status:void 0,X=Q instanceof Response?await Q.text():Q;try{let W=RL.parse(JSON.parse(X)),{error:$,error_description:J,error_uri:G}=W;return new(TL[$]||f6)(J||"",G)}catch(W){let $=`${Y?`HTTP ${Y}: `:""}Invalid OAuth error response: ${W}. Raw body: ${X}`;return new f6($)}}async function e4(Q,Y){try{return await rJ(Q,Y)}catch(X){if(X instanceof O8||X instanceof U8)return await Q.invalidateCredentials?.("all"),await rJ(Q,Y);else if(X instanceof L8)return await Q.invalidateCredentials?.("tokens"),await rJ(Q,Y);throw X}}async function rJ(Q,{serverUrl:Y,authorizationCode:X,scope:W,resourceMetadataUrl:$,fetchFn:J}){let G,H;try{if(G=await Ig(Y,{resourceMetadataUrl:$},J),G.authorization_servers&&G.authorization_servers.length>0)H=G.authorization_servers[0]}catch{}if(!H)H=new URL("/",Y);let B=await Eg(Y,Q,G),z=await _g(H,{fetchFn:J}),K=await Promise.resolve(Q.clientInformation());if(!K){if(X!==void 0)throw Error("Existing OAuth client information is required when exchanging an authorization code");let O=z?.client_id_metadata_document_supported===!0,L=Q.clientMetadataUrl;if(L&&!Rg(L))throw new j8(`clientMetadataUrl must be a valid HTTPS URL with a non-root pathname, got: ${L}`);if(O&&L)K={client_id:L},await Q.saveClientInformation?.(K);else{if(!Q.saveClientInformation)throw Error("OAuth client information must be saveable for dynamic registration");let M=await gg(H,{metadata:z,clientMetadata:Q.clientMetadata,fetchFn:J});await Q.saveClientInformation(M),K=M}}let V=!Q.redirectUrl;if(X!==void 0||V){let O=await fg(Q,H,{metadata:z,resource:B,authorizationCode:X,fetchFn:J});return await Q.saveTokens(O),"AUTHORIZED"}let q=await Q.tokens();if(q?.refresh_token)try{let O=await yg(H,{metadata:z,clientInformation:K,refreshToken:q.refresh_token,resource:B,addClientAuthentication:Q.addClientAuthentication,fetchFn:J});return await Q.saveTokens(O),"AUTHORIZED"}catch(O){if(!(O instanceof I0)||O instanceof f6);else throw O}let F=Q.state?await Q.state():void 0,{authorizationUrl:A,codeVerifier:D}=await vg(H,{metadata:z,clientInformation:K,state:F,redirectUrl:Q.redirectUrl,scope:W||G?.scopes_supported?.join(" ")||Q.clientMetadata.scope,resource:B});return await Q.saveCodeVerifier(D),await Q.redirectToAuthorization(A),"REDIRECT"}function Rg(Q){if(!Q)return!1;try{let Y=new URL(Q);return Y.protocol==="https:"&&Y.pathname!=="/"}catch{return!1}}async function Eg(Q,Y,X){let W=IL(Q);if(Y.validateResourceURL)return await Y.validateResourceURL(W,X?.resource);if(!X)return;if(!SL({requestedResource:W,configuredResource:X.resource}))throw Error(`Protected resource ${X.resource} does not match expected ${W} (or origin)`);return new URL(X.resource)}function aJ(Q){let Y=Q.headers.get("WWW-Authenticate");if(!Y)return{};let[X,W]=Y.split(" ");if(X.toLowerCase()!=="bearer"||!W)return{};let $=tJ(Q,"resource_metadata")||void 0,J;if($)try{J=new URL($)}catch{}let G=tJ(Q,"scope")||void 0,H=tJ(Q,"error")||void 0;return{resourceMetadataUrl:J,scope:G,error:H}}function tJ(Q,Y){let X=Q.headers.get("WWW-Authenticate");if(!X)return null;let W=new RegExp(`${Y}=(?:"([^"]+)"|([^\\s,]+))`),$=X.match(W);if($)return $[1]||$[2];return null}async function Ig(Q,Y,X=fetch){let W=await Cg(Q,"oauth-protected-resource",X,{protocolVersion:Y?.protocolVersion,metadataUrl:Y?.resourceMetadataUrl});if(!W||W.status===404)throw await W?.body?.cancel(),Error("Resource server does not implement OAuth 2.0 Protected Resource Metadata.");if(!W.ok)throw await W.body?.cancel(),Error(`HTTP ${W.status} trying to load well-known OAuth protected resource metadata.`);return bL.parse(await W.json())}async function sJ(Q,Y,X=fetch){try{return await X(Q,{headers:Y})}catch(W){if(W instanceof TypeError)if(Y)return sJ(Q,void 0,X);else return;throw W}}function Sg(Q,Y="",X={}){if(Y.endsWith("/"))Y=Y.slice(0,-1);return X.prependPathname?`${Y}/.well-known/${Q}`:`/.well-known/${Q}${Y}`}async function CL(Q,Y,X=fetch){return await sJ(Q,{"MCP-Protocol-Version":Y},X)}function Tg(Q,Y){return!Q||Q.status>=400&&Q.status<500&&Y!=="/"}async function Cg(Q,Y,X,W){let $=new URL(Q),J=W?.protocolVersion??j6,G;if(W?.metadataUrl)G=new URL(W.metadataUrl);else{let B=Sg(Y,$.pathname);G=new URL(B,W?.metadataServerUrl??$),G.search=$.search}let H=await CL(G,J,X);if(!W?.metadataUrl&&Tg(H,$.pathname)){let B=new URL(`/.well-known/${Y}`,$);H=await CL(B,J,X)}return H}function kg(Q){let Y=typeof Q==="string"?new URL(Q):Q,X=Y.pathname!=="/",W=[];if(!X)return W.push({url:new URL("/.well-known/oauth-authorization-server",Y.origin),type:"oauth"}),W.push({url:new URL("/.well-known/openid-configuration",Y.origin),type:"oidc"}),W;let $=Y.pathname;if($.endsWith("/"))$=$.slice(0,-1);return W.push({url:new URL(`/.well-known/oauth-authorization-server${$}`,Y.origin),type:"oauth"}),W.push({url:new URL(`/.well-known/openid-configuration${$}`,Y.origin),type:"oidc"}),W.push({url:new URL(`${$}/.well-known/openid-configuration`,Y.origin),type:"oidc"}),W}async function _g(Q,{fetchFn:Y=fetch,protocolVersion:X=j6}={}){let W={"MCP-Protocol-Version":X,Accept:"application/json"},$=kg(Q);for(let{url:J,type:G}of $){let H=await sJ(J,W,Y);if(!H)continue;if(!H.ok){if(await H.body?.cancel(),H.status>=400&&H.status<500)continue;throw Error(`HTTP ${H.status} trying to load ${G==="oauth"?"OAuth":"OpenID provider"} metadata from ${J}`)}if(G==="oauth")return iJ.parse(await H.json());else return PL.parse(await H.json())}return}async function vg(Q,{metadata:Y,clientInformation:X,redirectUrl:W,scope:$,state:J,resource:G}){let H;if(Y){if(H=new URL(Y.authorization_endpoint),!Y.response_types_supported.includes(nJ))throw Error(`Incompatible auth server: does not support response type ${nJ}`);if(Y.code_challenge_methods_supported&&!Y.code_challenge_methods_supported.includes(oJ))throw Error(`Incompatible auth server: does not support code challenge method ${oJ}`)}else H=new URL("/authorize",Q);let B=await dJ(),z=B.code_verifier,K=B.code_challenge;if(H.searchParams.set("response_type",nJ),H.searchParams.set("client_id",X.client_id),H.searchParams.set("code_challenge",K),H.searchParams.set("code_challenge_method",oJ),H.searchParams.set("redirect_uri",String(W)),J)H.searchParams.set("state",J);if($)H.searchParams.set("scope",$);if($?.includes("offline_access"))H.searchParams.append("prompt","consent");if(G)H.searchParams.set("resource",G.href);return{authorizationUrl:H,codeVerifier:z}}function xg(Q,Y,X){return new URLSearchParams({grant_type:"authorization_code",code:Q,code_verifier:Y,redirect_uri:String(X)})}async function _L(Q,{metadata:Y,tokenRequestParams:X,clientInformation:W,addClientAuthentication:$,resource:J,fetchFn:G}){let H=Y?.token_endpoint?new URL(Y.token_endpoint):new URL("/token",Q),B=new Headers({"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"});if(J)X.set("resource",J.href);if($)await $(B,X,H,Y);else if(W){let K=Y?.token_endpoint_auth_methods_supported??[],V=Ng(W,K);Mg(V,W,B,X)}let z=await(G??fetch)(H,{method:"POST",headers:B,body:X});if(!z.ok)throw await kL(z);return ZL.parse(await z.json())}async function yg(Q,{metadata:Y,clientInformation:X,refreshToken:W,resource:$,addClientAuthentication:J,fetchFn:G}){let H=new URLSearchParams({grant_type:"refresh_token",refresh_token:W}),B=await _L(Q,{metadata:Y,tokenRequestParams:H,clientInformation:X,addClientAuthentication:J,resource:$,fetchFn:G});return{refresh_token:W,...B}}async function fg(Q,Y,{metadata:X,resource:W,authorizationCode:$,fetchFn:J}={}){let G=Q.clientMetadata.scope,H;if(Q.prepareTokenRequest)H=await Q.prepareTokenRequest(G);if(!H){if(!$)throw Error("Either provider.prepareTokenRequest() or authorizationCode is required");if(!Q.redirectUrl)throw Error("redirectUrl is required for authorization_code flow");let z=await Q.codeVerifier();H=xg($,z,Q.redirectUrl)}let B=await Q.clientInformation();return _L(Y,{metadata:X,tokenRequestParams:H,clientInformation:B??void 0,addClientAuthentication:Q.addClientAuthentication,resource:W,fetchFn:J})}async function gg(Q,{metadata:Y,clientMetadata:X,fetchFn:W}){let $;if(Y){if(!Y.registration_endpoint)throw Error("Incompatible auth server: does not support dynamic client registration");$=new URL(Y.registration_endpoint)}else $=new URL("/register",Q);let J=await(W??fetch)($,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(X)});if(!J.ok)throw await kL(J);return EL.parse(await J.json())}class QG extends Error{constructor(Q,Y){super(Q),this.name="ParseError",this.type=Y.type,this.field=Y.field,this.value=Y.value,this.line=Y.line}}function eJ(Q){}function vL(Q){if(typeof Q=="function")throw TypeError("`callbacks` must be an object, got a function instead. Did you mean `{onEvent: fn}`?");let{onEvent:Y=eJ,onError:X=eJ,onRetry:W=eJ,onComment:$}=Q,J="",G=!0,H,B="",z="";function K(D){let O=G?D.replace(/^\xEF\xBB\xBF/,""):D,[L,N]=hg(`${J}${O}`);for(let M of L)V(M);J=N,G=!1}function V(D){if(D===""){F();return}if(D.startsWith(":")){$&&$(D.slice(D.startsWith(": ")?2:1));return}let O=D.indexOf(":");if(O!==-1){let L=D.slice(0,O),N=D[O+1]===" "?2:1,M=D.slice(O+N);q(L,M,D);return}q(D,"",D)}function q(D,O,L){switch(D){case"event":z=O;break;case"data":B=`${B}${O}
50
+ `;break;case"id":H=O.includes("\x00")?void 0:O;break;case"retry":/^\d+$/.test(O)?W(parseInt(O,10)):X(new QG(`Invalid \`retry\` value: "${O}"`,{type:"invalid-retry",value:O,line:L}));break;default:X(new QG(`Unknown field "${D.length>20?`${D.slice(0,20)}…`:D}"`,{type:"unknown-field",field:D,value:O,line:L}));break}}function F(){B.length>0&&Y({id:H,event:z||void 0,data:B.endsWith(`
51
+ `)?B.slice(0,-1):B}),H=void 0,B="",z=""}function A(D={}){J&&D.consume&&V(J),G=!0,H=void 0,B="",z="",J=""}return{feed:K,reset:A}}function hg(Q){let Y=[],X="",W=0;for(;W<Q.length;){let $=Q.indexOf("\r",W),J=Q.indexOf(`
52
+ `,W),G=-1;if($!==-1&&J!==-1?G=Math.min($,J):$!==-1?$===Q.length-1?G=-1:G=$:J!==-1&&(G=J),G===-1){X=Q.slice(W);break}else{let H=Q.slice(W,G);Y.push(H),W=G+1,Q[W-1]==="\r"&&Q[W]===`
53
+ `&&W++}}return[Y,X]}class YG extends TransformStream{constructor({onError:Q,onRetry:Y,onComment:X}={}){let W;super({start($){W=vL({onEvent:(J)=>{$.enqueue(J)},onError(J){Q==="terminate"?$.error(J):typeof Q=="function"&&Q(J)},onRetry:Y,onComment:X})},transform($){W.feed($)}})}}var ug={initialReconnectionDelay:1000,maxReconnectionDelay:30000,reconnectionDelayGrowFactor:1.5,maxRetries:2};class j9 extends Error{constructor(Q,Y){super(`Streamable HTTP error: ${Y}`);this.code=Q}}class gX{constructor(Q,Y){this._hasCompletedAuthFlow=!1,this._url=Q,this._resourceMetadataUrl=void 0,this._scope=void 0,this._requestInit=Y?.requestInit,this._authProvider=Y?.authProvider,this._fetch=Y?.fetch,this._fetchWithInit=NL(Y?.fetch,Y?.requestInit),this._sessionId=Y?.sessionId,this._reconnectionOptions=Y?.reconnectionOptions??ug}async _authThenStart(){if(!this._authProvider)throw new g6("No auth provider");let Q;try{Q=await e4(this._authProvider,{serverUrl:this._url,resourceMetadataUrl:this._resourceMetadataUrl,scope:this._scope,fetchFn:this._fetchWithInit})}catch(Y){throw this.onerror?.(Y),Y}if(Q!=="AUTHORIZED")throw new g6;return await this._startOrAuthSse({resumptionToken:void 0})}async _commonHeaders(){let Q={};if(this._authProvider){let X=await this._authProvider.tokens();if(X)Q.Authorization=`Bearer ${X.access_token}`}if(this._sessionId)Q["mcp-session-id"]=this._sessionId;if(this._protocolVersion)Q["mcp-protocol-version"]=this._protocolVersion;let Y=ZX(this._requestInit?.headers);return new Headers({...Q,...Y})}async _startOrAuthSse(Q){let{resumptionToken:Y}=Q;try{let X=await this._commonHeaders();if(X.set("Accept","text/event-stream"),Y)X.set("last-event-id",Y);let W=await(this._fetch??fetch)(this._url,{method:"GET",headers:X,signal:this._abortController?.signal});if(!W.ok){if(await W.body?.cancel(),W.status===401&&this._authProvider)return await this._authThenStart();if(W.status===405)return;throw new j9(W.status,`Failed to open SSE stream: ${W.statusText}`)}this._handleSseStream(W.body,Q,!0)}catch(X){throw this.onerror?.(X),X}}_getNextReconnectionDelay(Q){if(this._serverRetryMs!==void 0)return this._serverRetryMs;let Y=this._reconnectionOptions.initialReconnectionDelay,X=this._reconnectionOptions.reconnectionDelayGrowFactor,W=this._reconnectionOptions.maxReconnectionDelay;return Math.min(Y*Math.pow(X,Q),W)}_scheduleReconnection(Q,Y=0){let X=this._reconnectionOptions.maxRetries;if(Y>=X){this.onerror?.(Error(`Maximum reconnection attempts (${X}) exceeded.`));return}let W=this._getNextReconnectionDelay(Y);this._reconnectionTimeout=setTimeout(()=>{this._startOrAuthSse(Q).catch(($)=>{this.onerror?.(Error(`Failed to reconnect SSE stream: ${$ instanceof Error?$.message:String($)}`)),this._scheduleReconnection(Q,Y+1)})},W)}_handleSseStream(Q,Y,X){if(!Q)return;let{onresumptiontoken:W,replayMessageId:$}=Y,J,G=!1,H=!1;(async()=>{try{let z=Q.pipeThrough(new TextDecoderStream).pipeThrough(new YG({onRetry:(q)=>{this._serverRetryMs=q}})).getReader();while(!0){let{value:q,done:F}=await z.read();if(F)break;if(q.id)J=q.id,G=!0,W?.(q.id);if(!q.data)continue;if(!q.event||q.event==="message")try{let A=c9.parse(JSON.parse(q.data));if(Q9(A)){if(H=!0,$!==void 0)A.id=$}this.onmessage?.(A)}catch(A){this.onerror?.(A)}}if((X||G)&&!H&&this._abortController&&!this._abortController.signal.aborted)this._scheduleReconnection({resumptionToken:J,onresumptiontoken:W,replayMessageId:$},0)}catch(z){if(this.onerror?.(Error(`SSE stream disconnected: ${z}`)),(X||G)&&!H&&this._abortController&&!this._abortController.signal.aborted)try{this._scheduleReconnection({resumptionToken:J,onresumptiontoken:W,replayMessageId:$},0)}catch(q){this.onerror?.(Error(`Failed to reconnect: ${q instanceof Error?q.message:String(q)}`))}}})()}async start(){if(this._abortController)throw Error("StreamableHTTPClientTransport already started! If using Client class, note that connect() calls start() automatically.");this._abortController=new AbortController}async finishAuth(Q){if(!this._authProvider)throw new g6("No auth provider");if(await e4(this._authProvider,{serverUrl:this._url,authorizationCode:Q,resourceMetadataUrl:this._resourceMetadataUrl,scope:this._scope,fetchFn:this._fetchWithInit})!=="AUTHORIZED")throw new g6("Failed to authorize")}async close(){if(this._reconnectionTimeout)clearTimeout(this._reconnectionTimeout),this._reconnectionTimeout=void 0;this._abortController?.abort(),this.onclose?.()}async send(Q,Y){try{let{resumptionToken:X,onresumptiontoken:W}=Y||{};if(X){this._startOrAuthSse({resumptionToken:X,replayMessageId:i8(Q)?Q.id:void 0}).catch((V)=>this.onerror?.(V));return}let $=await this._commonHeaders();$.set("content-type","application/json"),$.set("accept","application/json, text/event-stream");let J={...this._requestInit,method:"POST",headers:$,body:JSON.stringify(Q),signal:this._abortController?.signal},G=await(this._fetch??fetch)(this._url,J),H=G.headers.get("mcp-session-id");if(H)this._sessionId=H;if(!G.ok){let V=await G.text().catch(()=>null);if(G.status===401&&this._authProvider){if(this._hasCompletedAuthFlow)throw new j9(401,"Server returned 401 after successful authentication");let{resourceMetadataUrl:q,scope:F}=aJ(G);if(this._resourceMetadataUrl=q,this._scope=F,await e4(this._authProvider,{serverUrl:this._url,resourceMetadataUrl:this._resourceMetadataUrl,scope:this._scope,fetchFn:this._fetchWithInit})!=="AUTHORIZED")throw new g6;return this._hasCompletedAuthFlow=!0,this.send(Q)}if(G.status===403&&this._authProvider){let{resourceMetadataUrl:q,scope:F,error:A}=aJ(G);if(A==="insufficient_scope"){let D=G.headers.get("WWW-Authenticate");if(this._lastUpscopingHeader===D)throw new j9(403,"Server returned 403 after trying upscoping");if(F)this._scope=F;if(q)this._resourceMetadataUrl=q;if(this._lastUpscopingHeader=D??void 0,await e4(this._authProvider,{serverUrl:this._url,resourceMetadataUrl:this._resourceMetadataUrl,scope:this._scope,fetchFn:this._fetch})!=="AUTHORIZED")throw new g6;return this.send(Q)}}throw new j9(G.status,`Error POSTing to endpoint: ${V}`)}if(this._hasCompletedAuthFlow=!1,this._lastUpscopingHeader=void 0,G.status===202){if(await G.body?.cancel(),l3(Q))this._startOrAuthSse({resumptionToken:void 0}).catch((V)=>this.onerror?.(V));return}let z=(Array.isArray(Q)?Q:[Q]).filter((V)=>("method"in V)&&("id"in V)&&V.id!==void 0).length>0,K=G.headers.get("content-type");if(z)if(K?.includes("text/event-stream"))this._handleSseStream(G.body,{onresumptiontoken:W},!1);else if(K?.includes("application/json")){let V=await G.json(),q=Array.isArray(V)?V.map((F)=>c9.parse(F)):[c9.parse(V)];for(let F of q)this.onmessage?.(F)}else throw await G.body?.cancel(),new j9(-1,`Unexpected content type: ${K}`);else await G.body?.cancel()}catch(X){throw this.onerror?.(X),X}}get sessionId(){return this._sessionId}async terminateSession(){if(!this._sessionId)return;try{let Q=await this._commonHeaders(),Y={...this._requestInit,method:"DELETE",headers:Q,signal:this._abortController?.signal},X=await(this._fetch??fetch)(this._url,Y);if(await X.body?.cancel(),!X.ok&&X.status!==405)throw new j9(X.status,`Failed to terminate session: ${X.statusText}`);this._sessionId=void 0}catch(Q){throw this.onerror?.(Q),Q}}setProtocolVersion(Q){this._protocolVersion=Q}get protocolVersion(){return this._protocolVersion}async resumeStream(Q,Y){await this._startOrAuthSse({resumptionToken:Q,onresumptiontoken:Y?.onresumptiontoken})}}var lg=1000,mg=180000,cg=2,pg=0.1,xL=120000,dg=0.1,ig=60000,ng=3;class XG{name;url;headers;onStatusChange;onNotification;onLog;onSamplingRequest;onElicitationRequest;onReconnecting;onReconnected;onHealthDegraded;onHealthRestored;client=null;transport=null;status="disconnected";errorMessage;capabilities;isClosing=!1;reconnectAttempt=0;reconnectTimeoutHandle=null;nextRetryMs=0;isReconnecting=!1;healthCheckIntervalHandle=null;consecutiveHealthFailures=0;healthStatus="healthy";constructor(Q){this.name=Q.name,this.url=Q.url,this.headers=Q.headers,this.onStatusChange=Q.onStatusChange,this.onNotification=Q.onNotification,this.onLog=Q.onLog,this.onSamplingRequest=Q.onSamplingRequest,this.onElicitationRequest=Q.onElicitationRequest,this.onReconnecting=Q.onReconnecting,this.onReconnected=Q.onReconnected,this.onHealthDegraded=Q.onHealthDegraded,this.onHealthRestored=Q.onHealthRestored}getTransportType(){return"http"}getUrl(){return this.url}getInfo(){let Q={name:this.name,url:this.url,status:this.status};if(this.errorMessage!==void 0)Q.error=this.errorMessage;if(this.capabilities!==void 0)Q.capabilities=this.capabilities;return Q}getName(){return this.name}getStatus(){return this.status}isConnected(){return this.status==="connected"}getReconnectionState(){if(this.status!=="reconnecting")return null;return{attempt:this.reconnectAttempt,nextRetryMs:this.nextRetryMs}}getHealthStatus(){return this.healthStatus}getConsecutiveHealthFailures(){return this.consecutiveHealthFailures}async connect(){if(this.status==="connected"||this.status==="connecting")return;this.setStatus("connecting");try{let Q={};if(this.headers)Q.requestInit={headers:this.headers};this.transport=new gX(new URL(this.url),Q),this.client=new D8({name:"emceepee",version:"0.1.0"},{capabilities:{sampling:{},elicitation:{form:{}}}}),this.setupNotificationHandler(),this.transport.onclose=()=>{if(!this.isClosing)this.handleUnexpectedDisconnect()},this.transport.onerror=(X)=>{if((X.name==="AbortError"||X.message.includes("AbortError"))&&(this.isClosing||this.status==="disconnected"))return;this.errorMessage=X.message,this.handleUnexpectedDisconnect()},await this.client.connect(this.transport);let Y=this.client.getServerCapabilities();this.capabilities={tools:Y?.tools!==void 0,resources:Y?.resources!==void 0,prompts:Y?.prompts!==void 0,resourceTemplates:Y?.resources!==void 0,resourceSubscriptions:Y?.resources?.subscribe===!0},this.setStatus("connected"),this.startHealthChecks()}catch(Q){let Y=Q instanceof Error?Q.message:String(Q);throw this.setStatus("error",Y),Q}}async disconnect(){if(this.isClosing=!0,this.stopHealthChecks(),this.cancelReconnection(),this.transport)try{await this.transport.close()}catch{}this.client=null,this.transport=null,this.isClosing=!1,this.setStatus("disconnected")}async forceReconnect(){if(this.stopHealthChecks(),this.cancelReconnection(),this.transport){this.isClosing=!0;try{await this.transport.close()}catch{}this.isClosing=!1}this.client=null,this.transport=null,this.reconnectAttempt=0,this.nextRetryMs=0,this.consecutiveHealthFailures=0,this.healthStatus="healthy",await this.connect()}cancelReconnection(){if(this.reconnectTimeoutHandle)clearTimeout(this.reconnectTimeoutHandle),this.reconnectTimeoutHandle=null;this.isReconnecting=!1}async listTools(){let Q=this.getConnectedClient();if(!this.capabilities?.tools)return[];return(await Q.listTools()).tools}async callTool(Q,Y={}){return await this.getConnectedClient().callTool({name:Q,arguments:Y})}async listResources(){let Q=this.getConnectedClient();if(!this.capabilities?.resources)return[];return(await Q.listResources()).resources}async listResourceTemplates(){let Q=this.getConnectedClient();if(!this.capabilities?.resourceTemplates)return[];return(await Q.listResourceTemplates()).resourceTemplates}async readResource(Q){return await this.getConnectedClient().readResource({uri:Q})}async subscribeResource(Q){let Y=this.getConnectedClient();if(!this.capabilities?.resourceSubscriptions)throw Error(`Server '${this.name}' does not support resource subscriptions`);await Y.subscribeResource({uri:Q})}async unsubscribeResource(Q){let Y=this.getConnectedClient();if(!this.capabilities?.resourceSubscriptions)throw Error(`Server '${this.name}' does not support resource subscriptions`);await Y.unsubscribeResource({uri:Q})}supportsResourceSubscriptions(){return this.capabilities?.resourceSubscriptions===!0}async listPrompts(){let Q=this.getConnectedClient();if(!this.capabilities?.prompts)return[];return(await Q.listPrompts()).prompts}async getPrompt(Q,Y={}){return await this.getConnectedClient().getPrompt({name:Q,arguments:Y})}setupNotificationHandler(){if(!this.client)return;this.client.setNotificationHandler(W9,()=>{this.emitNotification("notifications/tools/list_changed")}),this.client.setNotificationHandler(Y9,()=>{this.emitNotification("notifications/resources/list_changed")}),this.client.setNotificationHandler(e8,(Q)=>{this.emitNotification("notifications/resources/updated",Q.params)}),this.client.setNotificationHandler(X9,()=>{this.emitNotification("notifications/prompts/list_changed")}),this.client.setNotificationHandler(Y4,(Q)=>{if(this.onLog)this.onLog({server:this.name,timestamp:new Date,level:Q.params.level,logger:Q.params.logger,data:Q.params.data})}),this.client.setRequestHandler($9,(Q)=>{return new Promise((Y,X)=>{if(this.onSamplingRequest)this.onSamplingRequest({id:crypto.randomUUID(),server:this.name,timestamp:new Date,params:Q.params,resolve:Y,reject:X});else X(Error("Sampling not supported: no handler registered"))})}),this.client.setRequestHandler(J9,(Q)=>{return new Promise((Y,X)=>{if(this.onElicitationRequest)this.onElicitationRequest({id:crypto.randomUUID(),server:this.name,timestamp:new Date,params:Q.params,resolve:Y,reject:X});else X(Error("Elicitation not supported: no handler registered"))})})}emitNotification(Q,Y){if(this.onNotification!==void 0)this.onNotification({server:this.name,timestamp:new Date,method:Q,params:Y})}handleUnexpectedDisconnect(){if(this.isReconnecting||this.isClosing)return;this.stopHealthChecks(),this.client=null,this.transport=null,this.isReconnecting=!0,this.reconnectAttempt=0,this.setStatus("reconnecting",this.errorMessage),this.scheduleReconnection()}scheduleReconnection(){if(this.isClosing)return;this.reconnectAttempt++;let Q=this.calculateBackoff(this.reconnectAttempt);if(this.nextRetryMs=Q,this.onReconnecting)this.onReconnecting(this.reconnectAttempt,Q);this.reconnectTimeoutHandle=setTimeout(()=>{this.attemptReconnection()},Q)}async attemptReconnection(){if(this.isClosing)return;try{let Q={};if(this.headers)Q.requestInit={headers:this.headers};this.transport=new gX(new URL(this.url),Q),this.client=new D8({name:"emceepee",version:"0.1.0"},{capabilities:{sampling:{},elicitation:{form:{}}}}),this.setupNotificationHandler(),this.transport.onclose=()=>{if(!this.isClosing)this.handleUnexpectedDisconnect()},this.transport.onerror=(W)=>{if((W.name==="AbortError"||W.message.includes("AbortError"))&&(this.isClosing||this.status==="disconnected"))return;this.errorMessage=W.message,this.handleUnexpectedDisconnect()},await this.client.connect(this.transport);let Y=this.client.getServerCapabilities();this.capabilities={tools:Y?.tools!==void 0,resources:Y?.resources!==void 0,prompts:Y?.prompts!==void 0,resourceTemplates:Y?.resources!==void 0,resourceSubscriptions:Y?.resources?.subscribe===!0};let X=this.reconnectAttempt;if(this.reconnectAttempt=0,this.nextRetryMs=0,this.isReconnecting=!1,this.consecutiveHealthFailures=0,this.healthStatus="healthy",this.setStatus("connected"),this.onReconnected)this.onReconnected(X);this.startHealthChecks()}catch(Q){this.client=null,this.transport=null,this.errorMessage=Q instanceof Error?Q.message:String(Q),this.scheduleReconnection()}}calculateBackoff(Q){let Y=lg*Math.pow(cg,Q-1),X=Math.min(Y,mg),W=X*pg*(Math.random()*2-1);return Math.round(X+W)}startHealthChecks(){this.stopHealthChecks();let Q=()=>{let Y=xL*dg*(Math.random()*2-1),X=Math.round(xL+Y);this.healthCheckIntervalHandle=setTimeout(()=>{this.performHealthCheck(),Q()},X)};Q()}stopHealthChecks(){if(this.healthCheckIntervalHandle)clearTimeout(this.healthCheckIntervalHandle),this.healthCheckIntervalHandle=null}async performHealthCheck(){if(!this.client||!this.isConnected())return;try{let Q=new AbortController,Y=setTimeout(()=>{Q.abort()},ig);try{if(await this.client.listTools(),clearTimeout(Y),this.consecutiveHealthFailures>0){let X=this.healthStatus==="degraded";if(this.consecutiveHealthFailures=0,this.healthStatus="healthy",X&&this.onHealthRestored)this.onHealthRestored()}}catch(X){throw clearTimeout(Y),X}}catch(Q){this.consecutiveHealthFailures++;let Y=Q instanceof Error?Q.message:String(Q);if(this.consecutiveHealthFailures>=ng&&this.healthStatus!=="degraded"){if(this.healthStatus="degraded",this.onHealthDegraded)this.onHealthDegraded(this.consecutiveHealthFailures,Y)}}}setStatus(Q,Y){if(this.status=Q,Q==="error"&&Y!==void 0)this.errorMessage=Y;else this.errorMessage=void 0;if(this.onStatusChange!==void 0)this.onStatusChange(Q,Y)}getConnectedClient(){if(!this.isConnected()||!this.client)throw Error(`Client '${this.name}' is not connected`);return this.client}}var PU=w9(bU(),1);import uX from"node:process";import{PassThrough as bh}from"node:stream";var Ph=uX.platform==="win32"?["APPDATA","HOMEDRIVE","HOMEPATH","LOCALAPPDATA","PATH","PROCESSOR_ARCHITECTURE","SYSTEMDRIVE","SYSTEMROOT","TEMP","USERNAME","USERPROFILE","PROGRAMFILES"]:["HOME","LOGNAME","PATH","SHELL","TERM","USER"];function Zh(){let Q={};for(let Y of Ph){let X=uX.env[Y];if(X===void 0)continue;if(X.startsWith("()"))continue;Q[Y]=X}return Q}class FG{constructor(Q){if(this._readBuffer=new s4,this._stderrStream=null,this._serverParams=Q,Q.stderr==="pipe"||Q.stderr==="overlapped")this._stderrStream=new bh}async start(){if(this._process)throw Error("StdioClientTransport already started! If using Client class, note that connect() calls start() automatically.");return new Promise((Q,Y)=>{if(this._process=PU.default(this._serverParams.command,this._serverParams.args??[],{env:{...Zh(),...this._serverParams.env},stdio:["pipe","pipe",this._serverParams.stderr??"inherit"],shell:!1,windowsHide:uX.platform==="win32"&&Rh(),cwd:this._serverParams.cwd}),this._process.on("error",(X)=>{Y(X),this.onerror?.(X)}),this._process.on("spawn",()=>{Q()}),this._process.on("close",(X)=>{this._process=void 0,this.onclose?.()}),this._process.stdin?.on("error",(X)=>{this.onerror?.(X)}),this._process.stdout?.on("data",(X)=>{this._readBuffer.append(X),this.processReadBuffer()}),this._process.stdout?.on("error",(X)=>{this.onerror?.(X)}),this._stderrStream&&this._process.stderr)this._process.stderr.pipe(this._stderrStream)})}get stderr(){if(this._stderrStream)return this._stderrStream;return this._process?.stderr??null}get pid(){return this._process?.pid??null}processReadBuffer(){while(!0)try{let Q=this._readBuffer.readMessage();if(Q===null)break;this.onmessage?.(Q)}catch(Q){this.onerror?.(Q)}}async close(){if(this._process){let Q=this._process;this._process=void 0;let Y=new Promise((X)=>{Q.once("close",()=>{X()})});try{Q.stdin?.end()}catch{}if(await Promise.race([Y,new Promise((X)=>setTimeout(X,2000).unref())]),Q.exitCode===null){try{Q.kill("SIGTERM")}catch{}await Promise.race([Y,new Promise((X)=>setTimeout(X,2000).unref())])}if(Q.exitCode===null)try{Q.kill("SIGKILL")}catch{}}this._readBuffer.clear()}send(Q){return new Promise((Y)=>{if(!this._process?.stdin)throw Error("Not connected");let X=NX(Q);if(this._process.stdin.write(X))Y();else this._process.stdin.once("drain",Y)})}}function Rh(){return"type"in uX}var Eh={enabled:!0,maxAttempts:5,baseDelayMs:1000,maxDelayMs:60000,backoffMultiplier:2};class AG{name;command;args;env;cwd;restartConfig;onStatusChange;onNotification;onLog;onSamplingRequest;onElicitationRequest;onLifecycleEvent;client=null;transport=null;status="disconnected";errorMessage;capabilities;isClosing=!1;restartAttempt=0;restartTimeoutHandle=null;nextRetryMs=0;isRestarting=!1;stderrBuffer=[];maxStderrLines=1000;constructor(Q){this.name=Q.name,this.command=Q.command,this.args=Q.args??[],this.env=Q.env,this.cwd=Q.cwd,this.restartConfig={...Eh,...Q.restartConfig},this.onStatusChange=Q.onStatusChange,this.onNotification=Q.onNotification,this.onLog=Q.onLog,this.onSamplingRequest=Q.onSamplingRequest,this.onElicitationRequest=Q.onElicitationRequest,this.onLifecycleEvent=Q.onLifecycleEvent}getTransportType(){return"stdio"}getInfo(){let Q={transportType:"stdio",name:this.name,url:`stdio://${this.command}`,status:this.status},Y=this.transport._process;if(Y?.pid!==void 0)Q.pid=Y.pid;if(this.errorMessage!==void 0)Q.error=this.errorMessage;if(this.capabilities!==void 0)Q.capabilities=this.capabilities;return Q}getName(){return this.name}getStatus(){return this.status}isConnected(){return this.status==="connected"}getReconnectionState(){if(this.status!=="reconnecting")return null;return{attempt:this.restartAttempt,nextRetryMs:this.nextRetryMs}}getHealthStatus(){return this.isConnected()?"healthy":"degraded"}getConsecutiveHealthFailures(){return this.isConnected()?0:this.restartAttempt}getCommand(){return this.command}getArgs(){return[...this.args]}getStderrBuffer(){return[...this.stderrBuffer]}async connect(){if(this.status==="connected"||this.status==="connecting")return;this.setStatus("connecting");try{await this.createTransport(),this.emitLifecycleEvent({event:"process_started",timestamp:new Date}),this.setStatus("connected")}catch(Q){let Y=Q instanceof Error?Q.message:String(Q);throw this.setStatus("error",Y),Q}}async disconnect(){if(this.isClosing=!0,this.cancelReconnection(),this.transport)try{await this.transport.close()}catch{}this.client=null,this.transport=null,this.isClosing=!1,this.setStatus("disconnected"),this.emitLifecycleEvent({event:"process_stopped",timestamp:new Date})}async forceReconnect(){if(this.cancelReconnection(),this.transport){this.isClosing=!0;try{await this.transport.close()}catch{}this.isClosing=!1}this.client=null,this.transport=null,this.restartAttempt=0,this.nextRetryMs=0,await this.connect()}cancelReconnection(){if(this.restartTimeoutHandle)clearTimeout(this.restartTimeoutHandle),this.restartTimeoutHandle=null;this.isRestarting=!1}async listTools(){let Q=this.getConnectedClient();if(!this.capabilities?.tools)return[];return(await Q.listTools()).tools}async callTool(Q,Y={}){return await this.getConnectedClient().callTool({name:Q,arguments:Y})}async listResources(){let Q=this.getConnectedClient();if(!this.capabilities?.resources)return[];return(await Q.listResources()).resources}async listResourceTemplates(){let Q=this.getConnectedClient();if(!this.capabilities?.resourceTemplates)return[];return(await Q.listResourceTemplates()).resourceTemplates}async readResource(Q){return await this.getConnectedClient().readResource({uri:Q})}async subscribeResource(Q){let Y=this.getConnectedClient();if(!this.capabilities?.resourceSubscriptions)throw Error(`Server '${this.name}' does not support resource subscriptions`);await Y.subscribeResource({uri:Q})}async unsubscribeResource(Q){let Y=this.getConnectedClient();if(!this.capabilities?.resourceSubscriptions)throw Error(`Server '${this.name}' does not support resource subscriptions`);await Y.unsubscribeResource({uri:Q})}supportsResourceSubscriptions(){return this.capabilities?.resourceSubscriptions===!0}async listPrompts(){let Q=this.getConnectedClient();if(!this.capabilities?.prompts)return[];return(await Q.listPrompts()).prompts}async getPrompt(Q,Y={}){return await this.getConnectedClient().getPrompt({name:Q,arguments:Y})}async createTransport(){let Q;if(this.env){Q={};for(let[X,W]of Object.entries(process.env))if(W!==void 0)Q[X]=W;Object.assign(Q,this.env)}this.transport=new FG({command:this.command,args:this.args,env:Q,cwd:this.cwd,stderr:"pipe"}),this.client=new D8({name:"emceepee",version:"0.1.0"},{capabilities:{sampling:{},elicitation:{form:{}}}}),this.setupNotificationHandler(),this.transport.onclose=()=>{if(!this.isClosing)this.handleProcessExit()},this.transport.onerror=(X)=>{if(this.isClosing||this.status==="disconnected")return;this.errorMessage=X.message,this.handleProcessExit()},await this.client.connect(this.transport),this.setupStderrCapture();let Y=this.client.getServerCapabilities();this.capabilities={tools:Y?.tools!==void 0,resources:Y?.resources!==void 0,prompts:Y?.prompts!==void 0,resourceTemplates:Y?.resources!==void 0,resourceSubscriptions:Y?.resources?.subscribe===!0}}setupStderrCapture(){if(!this.transport)return;let Q=this.transport._process;if(Q?.stderr)Q.stderr.on("data",(Y)=>{let X=Y.toString().split(`
54
+ `).filter((W)=>W.length>0);for(let W of X){if(this.stderrBuffer.push(W),this.stderrBuffer.length>this.maxStderrLines)this.stderrBuffer.shift();if(this.onLog)this.onLog({server:this.name,timestamp:new Date,level:"warning",source:"stderr",data:W})}})}handleProcessExit(Q,Y){if(this.isRestarting||this.isClosing)return;if(this.emitLifecycleEvent({event:"process_crashed",timestamp:new Date,exitCode:Q,signal:Y}),this.client=null,this.transport=null,this.restartConfig.enabled)this.isRestarting=!0,this.restartAttempt=0,this.setStatus("reconnecting",this.errorMessage),this.scheduleRestart();else this.setStatus("error",`Process exited with code ${Q!==void 0?String(Q):"unknown"}`)}scheduleRestart(){if(this.isClosing)return;if(this.restartAttempt++,this.restartAttempt>this.restartConfig.maxAttempts){this.isRestarting=!1,this.setStatus("error","Max restart attempts exceeded"),this.emitLifecycleEvent({event:"restart_failed",timestamp:new Date,attempt:this.restartAttempt-1,error:"Max restart attempts exceeded"});return}let Q=this.calculateBackoff(this.restartAttempt);this.nextRetryMs=Q,this.emitLifecycleEvent({event:"restarting",timestamp:new Date,attempt:this.restartAttempt,nextRetryMs:Q}),this.restartTimeoutHandle=setTimeout(()=>{this.attemptRestart()},Q)}async attemptRestart(){if(this.isClosing)return;try{await this.createTransport();let Q=this.restartAttempt;this.restartAttempt=0,this.nextRetryMs=0,this.isRestarting=!1,this.setStatus("connected"),this.emitLifecycleEvent({event:"restarted",timestamp:new Date,attempt:Q})}catch(Q){this.client=null,this.transport=null,this.errorMessage=Q instanceof Error?Q.message:String(Q),this.scheduleRestart()}}calculateBackoff(Q){let Y=this.restartConfig.baseDelayMs*Math.pow(this.restartConfig.backoffMultiplier,Q-1);return Math.min(Y,this.restartConfig.maxDelayMs)}setupNotificationHandler(){if(!this.client)return;this.client.setNotificationHandler(W9,()=>{this.emitNotification("notifications/tools/list_changed")}),this.client.setNotificationHandler(Y9,()=>{this.emitNotification("notifications/resources/list_changed")}),this.client.setNotificationHandler(e8,(Q)=>{this.emitNotification("notifications/resources/updated",Q.params)}),this.client.setNotificationHandler(X9,()=>{this.emitNotification("notifications/prompts/list_changed")}),this.client.setNotificationHandler(Y4,(Q)=>{if(this.onLog)this.onLog({server:this.name,timestamp:new Date,level:Q.params.level,logger:Q.params.logger,data:Q.params.data,source:"protocol"})}),this.client.setRequestHandler($9,(Q)=>{return new Promise((Y,X)=>{if(this.onSamplingRequest)this.onSamplingRequest({id:crypto.randomUUID(),server:this.name,timestamp:new Date,params:Q.params,resolve:Y,reject:X});else X(Error("Sampling not supported: no handler registered"))})}),this.client.setRequestHandler(J9,(Q)=>{return new Promise((Y,X)=>{if(this.onElicitationRequest)this.onElicitationRequest({id:crypto.randomUUID(),server:this.name,timestamp:new Date,params:Q.params,resolve:Y,reject:X});else X(Error("Elicitation not supported: no handler registered"))})})}emitNotification(Q,Y){if(this.onNotification!==void 0)this.onNotification({server:this.name,timestamp:new Date,method:Q,params:Y})}emitLifecycleEvent(Q){if(this.onLifecycleEvent)this.onLifecycleEvent(Q)}setStatus(Q,Y){if(this.status=Q,Q==="error"&&Y!==void 0)this.errorMessage=Y;else this.errorMessage=void 0;if(this.onStatusChange!==void 0)this.onStatusChange(Q,Y)}getConnectedClient(){if(!this.isConnected()||!this.client)throw Error(`Client '${this.name}' is not connected`);return this.client}}var Ih={sessionTimeoutMs:86400000,cleanupIntervalMs:300000};class qG{sessions=new Map;serverConfigs;config;logger;cleanupIntervalHandle=null;constructor(Q={}){this.config={...Ih,...Q},this.logger=Q.logger;let Y={logger:Q.logger};this.serverConfigs=new yJ(Y),this.startCleanupInterval()}async createSession(){let Q=f1(),Y=new mJ(Q,this.config.sessionStateConfig,this.logger);this.sessions.set(Q,Y),this.logger?.info("session_created",{sessionId:Q});let X=this.serverConfigs.listConfigs();for(let W of X)try{await this.connectSessionToServer(Y,W)}catch($){this.logger?.warn("session_auto_connect_failed",{sessionId:Q,server:W.name,error:$ instanceof Error?$.message:String($)})}return Y}getSession(Q){return this.sessions.get(Q)}touchSession(Q){this.sessions.get(Q)?.touch()}async destroySession(Q){let Y=this.sessions.get(Q);if(!Y)return;this.logger?.info("session_destroying",{sessionId:Q}),await Y.cleanup(),this.sessions.delete(Q),this.logger?.info("session_destroyed",{sessionId:Q})}async addServer(Q,Y,X,W){let $=this.sessions.get(Q);if(!$)throw Error(`Session '${Q}' not found`);let J=this.serverConfigs.addConfig(Y,X,{headers:W?.headers},Q),G=this.serverConfigs.getConfig(Y);if(!G)throw Error(`Failed to add server config for '${Y}'`);let H=await this.connectSessionToServer($,G);if(J){for(let[B,z]of this.sessions)if(B!==Q)z.eventSystem.addEvent("server_added",Y,{name:Y,url:X,addedBy:Q})}return H}async addStdioServer(Q,Y,X,W,$){let J=this.sessions.get(Q);if(!J)throw Error(`Session '${Q}' not found`);let G=this.serverConfigs.addStdioConfig(Y,X,W,$,Q),H=this.serverConfigs.getConfig(Y);if(!H)throw Error(`Failed to add server config for '${Y}'`);let B=await this.connectSessionToServer(J,H);if(G){for(let[z,K]of this.sessions)if(z!==Q)K.eventSystem.addEvent("server_added",Y,{name:Y,type:"stdio",command:X,args:W,addedBy:Q})}return B}async removeServer(Q,Y){if(this.logger?.debug("removeServer_start",{sessionId:Q,serverName:Y}),!this.serverConfigs.removeConfig(Y))throw this.logger?.debug("removeServer_not_found",{sessionId:Q,serverName:Y}),Error(`Server '${Y}' not found`);for(let[W,$]of this.sessions)this.logger?.debug("removeServer_disconnecting_session",{sessionId:W,serverName:Y,hasConnection:$.getConnection(Y)!==void 0}),await this.disconnectSessionFromServer($,Y),$.eventSystem.addEvent("server_removed",Y,{name:Y,removedBy:Q});this.logger?.debug("removeServer_complete",{sessionId:Q,serverName:Y})}listServers(Q){let Y=this.sessions.get(Q);return this.serverConfigs.listConfigs().map((W)=>{let $=Y?.getConnection(W.name),J;if(vJ(W))J=W.url;else if(xJ(W))J=`stdio://${W.command}`;else J="unknown";let G={name:W.name,url:J,connected:$?.status==="connected",status:$?.status??"not_connected",connectedAt:$?.connectedAt,lastError:$?.lastError};if($?.status==="reconnecting"){let H=$.client.getReconnectionState();if(H)G.reconnectAttempt=H.attempt,G.nextRetryMs=H.nextRetryMs}if($?.status==="connected"){G.healthStatus=$.client.getHealthStatus();let H=$.client.getConsecutiveHealthFailures();if(H>0)G.consecutiveHealthFailures=H}return G})}async reconnectServer(Q,Y){let X=this.sessions.get(Q);if(!X)throw Error(`Session '${Q}' not found`);let W=this.serverConfigs.getConfig(Y);if(!W)throw Error(`Server '${Y}' not found`);let $=X.getConnection(Y);if(!$){await this.connectSessionToServer(X,W);return}this.handleBackendDisconnect(X,Y),await $.client.forceReconnect(),X.setConnectionStatus(Y,"connected"),X.eventSystem.addEvent("server_reconnected",Y,{name:Y,attemptsTaken:0,forced:!0}),this.logger?.info("session_server_force_reconnected",{sessionId:X.sessionId,server:Y})}async getOrCreateConnection(Q,Y){let X=this.sessions.get(Q);if(!X)throw Error(`Session '${Q}' not found`);let W=X.getConnection(Y);if(W?.status==="connected")return W.client;let $=this.serverConfigs.getConfig(Y);if(!$)throw Error(`Server '${Y}' not found`);return(await this.connectSessionToServer(X,$)).client}getConnectedClient(Q,Y){let X=this.sessions.get(Q);if(!X)return;let W=X.getConnection(Y);if(W?.status==="connected")return W.client;return}async connectSessionToServer(Q,Y){let X=Q.backendConnections.get(Y.name);if(X?.status==="connected")return X;if(X?.status==="connecting")throw Error(`Already connecting to '${Y.name}'`);let W;if(vJ(Y))W=this.createHttpClient(Q,Y);else if(xJ(Y))W=this.createStdioClient(Q,Y);else throw Error(`Unknown server config type for '${Y.name}'`);Q.addConnection(Y.name,W);try{await W.connect(),Q.setConnectionStatus(Y.name,"connected"),Q.eventSystem.addEvent("server_connected",Y.name,{name:Y.name,capabilities:W.getInfo().capabilities}),this.logger?.info("session_server_connected",{sessionId:Q.sessionId,server:Y.name});let $=Q.getConnection(Y.name);if(!$)throw Error("Connection not found after connect");return $}catch($){let J=$ instanceof Error?$.message:String($);throw Q.setConnectionStatus(Y.name,"error",J),this.logger?.warn("session_server_connect_failed",{sessionId:Q.sessionId,server:Y.name,error:J}),$}}createHttpClient(Q,Y){return new XG({name:Y.name,url:Y.url,headers:Y.headers,onStatusChange:(X,W)=>{Q.setConnectionStatus(Y.name,X,W)},onNotification:(X)=>{Q.bufferManager.addNotification(X)},onLog:(X)=>{Q.bufferManager.addLog(X)},onSamplingRequest:(X)=>{Q.pendingRequests.addSamplingRequest(X.server,X.params,X.resolve,X.reject)},onElicitationRequest:(X)=>{Q.pendingRequests.addElicitationRequest(X.server,X.params,X.resolve,X.reject)},onReconnecting:(X,W)=>{if(X===1)this.handleBackendDisconnect(Q,Y.name);Q.eventSystem.addEvent("server_reconnecting",Y.name,{name:Y.name,attempt:X,nextRetryMs:W}),this.logger?.debug("session_server_reconnecting",{sessionId:Q.sessionId,server:Y.name,attempt:X,nextRetryMs:W})},onReconnected:(X)=>{Q.setConnectionStatus(Y.name,"connected"),Q.eventSystem.addEvent("server_reconnected",Y.name,{name:Y.name,attemptsTaken:X}),this.logger?.info("session_server_reconnected",{sessionId:Q.sessionId,server:Y.name,attemptsTaken:X})},onHealthDegraded:(X,W)=>{Q.eventSystem.addEvent("server_health_degraded",Y.name,{name:Y.name,consecutiveFailures:X,lastError:W}),this.logger?.warn("session_server_health_degraded",{sessionId:Q.sessionId,server:Y.name,consecutiveFailures:X,lastError:W})},onHealthRestored:()=>{Q.eventSystem.addEvent("server_health_restored",Y.name,{name:Y.name}),this.logger?.info("session_server_health_restored",{sessionId:Q.sessionId,server:Y.name})}})}createStdioClient(Q,Y){return new AG({name:Y.name,command:Y.command,args:Y.args,env:Y.env,cwd:Y.cwd,restartConfig:Y.restartConfig,onStatusChange:(X,W)=>{Q.setConnectionStatus(Y.name,X,W)},onNotification:(X)=>{Q.bufferManager.addNotification(X)},onLog:(X)=>{Q.bufferManager.addLog({server:X.server,timestamp:X.timestamp,level:X.level,logger:X.logger,data:X.data})},onSamplingRequest:(X)=>{Q.pendingRequests.addSamplingRequest(X.server,X.params,X.resolve,X.reject)},onElicitationRequest:(X)=>{Q.pendingRequests.addElicitationRequest(X.server,X.params,X.resolve,X.reject)},onLifecycleEvent:(X)=>{switch(X.event){case"process_started":this.logger?.info("session_stdio_process_started",{sessionId:Q.sessionId,server:Y.name});break;case"process_crashed":this.handleBackendDisconnect(Q,Y.name),Q.eventSystem.addEvent("server_process_crashed",Y.name,{name:Y.name,exitCode:X.exitCode,signal:X.signal}),this.logger?.warn("session_stdio_process_crashed",{sessionId:Q.sessionId,server:Y.name,exitCode:X.exitCode,signal:X.signal});break;case"restarting":Q.eventSystem.addEvent("server_reconnecting",Y.name,{name:Y.name,attempt:X.attempt,nextRetryMs:X.nextRetryMs}),this.logger?.debug("session_stdio_restarting",{sessionId:Q.sessionId,server:Y.name,attempt:X.attempt,nextRetryMs:X.nextRetryMs});break;case"restarted":Q.setConnectionStatus(Y.name,"connected"),Q.eventSystem.addEvent("server_reconnected",Y.name,{name:Y.name,attemptsTaken:X.attempt}),this.logger?.info("session_stdio_restarted",{sessionId:Q.sessionId,server:Y.name,attemptsTaken:X.attempt});break;case"restart_failed":Q.setConnectionStatus(Y.name,"error",X.error),Q.eventSystem.addEvent("server_restart_failed",Y.name,{name:Y.name,error:X.error}),this.logger?.error("session_stdio_restart_failed",{sessionId:Q.sessionId,server:Y.name,error:X.error});break;case"process_stopped":this.logger?.info("session_stdio_process_stopped",{sessionId:Q.sessionId,server:Y.name});break}}})}async disconnectSessionFromServer(Q,Y){let X=Q.getConnection(Y);if(!X){this.logger?.debug("disconnectSessionFromServer_no_connection",{sessionId:Q.sessionId,serverName:Y});return}this.logger?.debug("disconnectSessionFromServer_start",{sessionId:Q.sessionId,serverName:Y,connectionStatus:X.status});let W=Q.taskManager.getTasksForServer(Y);for(let $ of W)if($.status==="working")Q.taskManager.failTask($.taskId,"Server removed");Q.pendingRequests.rejectRequestsForServer(Y,"Server removed");try{this.logger?.debug("disconnectSessionFromServer_calling_disconnect",{sessionId:Q.sessionId,serverName:Y}),await X.client.disconnect(),this.logger?.debug("disconnectSessionFromServer_disconnect_complete",{sessionId:Q.sessionId,serverName:Y})}catch($){this.logger?.debug("disconnectSessionFromServer_disconnect_error",{sessionId:Q.sessionId,serverName:Y,error:$ instanceof Error?$.message:String($)})}Q.removeConnection(Y),this.logger?.debug("disconnectSessionFromServer_complete",{sessionId:Q.sessionId,serverName:Y})}handleBackendDisconnect(Q,Y){let X=Q.taskManager.getTasksForServer(Y);for(let W of X)if(W.status==="working")Q.taskManager.failTask(W.taskId,"Server disconnected");Q.pendingRequests.rejectRequestsForServer(Y,"Server disconnected"),Q.eventSystem.addEvent("server_disconnected",Y,{name:Y}),this.logger?.info("session_server_disconnected",{sessionId:Q.sessionId,server:Y})}startCleanupInterval(){this.cleanupIntervalHandle=setInterval(()=>{this.runSessionCleanup()},this.config.cleanupIntervalMs)}runSessionCleanup(){let Q=Date.now(),Y=[];for(let[X,W]of this.sessions)if(Q-W.lastActivityAt.getTime()>=this.config.sessionTimeoutMs)Y.push(X);for(let X of Y)this.logger?.info("session_timeout_cleanup",{sessionId:X}),this.destroySession(X)}async shutdown(){if(this.logger?.info("session_manager_shutdown_start",{sessionCount:this.sessions.size}),this.cleanupIntervalHandle)clearInterval(this.cleanupIntervalHandle),this.cleanupIntervalHandle=null;for(let Q of Array.from(this.sessions.keys()))await this.destroySession(Q);this.logger?.info("session_manager_shutdown_complete",{})}getServerConfigs(){return this.serverConfigs}listSessionIds(){return Array.from(this.sessions.keys())}get sessionCount(){return this.sessions.size}}function DG(Q){return"url"in Q&&!(("type"in Q)&&Q.type==="stdio")}function OG(Q){return"type"in Q}var ZU={debug:0,info:1,warn:2,error:3};function RU(){let Q=()=>{};return{debug:Q,info:Q,warn:Q,error:Q}}function EU(Q="info",Y){let X=ZU[Q],W=K1("fs"),$=(J,G,H)=>{if(ZU[J]<X)return;let B=new Date().toISOString(),z=H?` ${JSON.stringify(H)}`:"",K=`[${B}] ${J.toUpperCase()} ${G}${z}
55
+ `;try{W.appendFileSync(Y,K)}catch(V){process.stderr.write(`Failed to write to log file: ${String(V)}
56
+ `),process.stderr.write(K)}};return{debug:(J,G)=>{$("debug",J,G)},info:(J,G)=>{$("info",J,G)},warn:(J,G)=>{$("warn",J,G)},error:(J,G)=>{$("error",J,G)}}}var M8={timeoutMs:30000,maxMcpCalls:100,maxCodeLength:102400};import{createContext as Sh,Script as IU}from"vm";import{inspect as LG}from"util";var Th=["process","require","module","exports","__dirname","__filename","global","globalThis","Buffer","setTimeout","setInterval","setImmediate","clearTimeout","clearInterval","clearImmediate","queueMicrotask","fetch","XMLHttpRequest","WebSocket","Request","Response","Headers","eval","Function","ArrayBuffer","SharedArrayBuffer","Atomics","WebAssembly","DataView","Proxy","Reflect"],Ch=5000;function SU(Q){if(typeof Q==="string")return Q;if(typeof Q>"u")return"undefined";if(Q===null)return"null";if(typeof Q==="object")try{return LG(Q,{depth:3,colors:!1,maxArrayLength:50})}catch{return LG(Q)}if(typeof Q==="number"||typeof Q==="boolean"||typeof Q==="bigint")return Q.toString();if(typeof Q==="symbol")return Q.toString();if(typeof Q==="function")return"[Function]";return LG(Q)}function TU(Q){return Q.map(SU).join(" ")}function kh(Q){let Y=(...X)=>{Q.push(TU(X))};return{log:Y,warn:Y,error:Y,info:Y,debug:Y}}function CU(Q,Y){let X={mcp:Q,console:kh(Y.logs),JSON,Math,Date,Object,Array,String,Number,Boolean,RegExp,Error,TypeError,ReferenceError,SyntaxError,RangeError,URIError,EvalError,Map,Set,WeakMap,WeakSet,Symbol,Promise,Intl,isNaN,isFinite,parseFloat,parseInt,decodeURI,decodeURIComponent,encodeURI,encodeURIComponent,Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array,BigInt64Array,BigUint64Array,BigInt,...Object.fromEntries(Th.map((W)=>[W,void 0]))};return Sh(X,{name:"codemode-sandbox",codeGeneration:{strings:!1,wasm:!1}})}function kU(Q){return`
57
+ (async () => {
58
+ "use strict";
59
+ ${Q}
60
+ })()
61
+ `.trim()}function _h(Q,Y){if(Q.length>Y)throw Error(`Code exceeds maximum length of ${String(Y)} bytes`);try{new IU(kU(Q))}catch(X){throw Error(`Syntax error in code: ${X.message}`)}}function vh(Q){let Y;return{promise:new Promise(($,J)=>{Y=setTimeout(()=>{J(Error(`Execution timed out after ${String(Q)}ms`))},Q)}),clear:()=>{if(Y!==void 0)clearTimeout(Y),Y=void 0}}}function xh(Q){if(Q instanceof Error)return{name:Q.name,message:Q.message,stack:Q.stack};return{name:"Error",message:String(Q)}}function yh(Q){try{return JSON.stringify(Q),!0}catch{return!1}}function fh(Q){if(Q===void 0)return null;if(yh(Q))return Q;return SU(Q)}async function UG(Q,Y,X={}){let{config:W={},initialLogs:$=[]}=X,J={timeoutMs:W.timeoutMs??30000,maxMcpCalls:W.maxMcpCalls??100,maxCodeLength:W.maxCodeLength??102400},G=Date.now(),H={mcpCallCount:0,maxMcpCalls:J.maxMcpCalls,logs:[...$],startTime:G};try{_h(Q,J.maxCodeLength);let B=gh(Y,H),z=CU(B,H),K=kU(Q),q=new IU(K,{filename:"codemode-user-script.js"}).runInContext(z,{timeout:J.timeoutMs,breakOnSigint:!0}),F=vh(J.timeoutMs);try{let A=await Promise.race([q,F.promise]);F.clear();let D=Date.now()-G;return{success:!0,result:fh(A),logs:H.logs,stats:{durationMs:D,mcpCalls:H.mcpCallCount}}}catch(A){throw F.clear(),A}}catch(B){let z=Date.now()-G;return{success:!1,error:xh(B),logs:H.logs,stats:{durationMs:z,mcpCalls:H.mcpCallCount}}}}function gh(Q,Y){let X=()=>{if(Y.mcpCallCount++,Y.mcpCallCount>Y.maxMcpCalls)throw Error(`Maximum mcp.* call limit exceeded (${String(Y.maxMcpCalls)})`)};return{listServers:async()=>{return X(),Q.listServers()},listTools:async(W)=>{return X(),Q.listTools(W)},callTool:async(W,$,J)=>{return X(),Q.callTool(W,$,J)},listResources:async(W)=>{return X(),Q.listResources(W)},listResourceTemplates:async(W)=>{return X(),Q.listResourceTemplates(W)},readResource:async(W,$)=>{return X(),Q.readResource(W,$)},listPrompts:async(W)=>{return X(),Q.listPrompts(W)},getPrompt:async(W,$,J)=>{return X(),Q.getPrompt(W,$,J)},sleep:async(W)=>{let $=Math.min(Math.max(0,W),Ch);return new Promise((J)=>setTimeout(J,$))},log:(...W)=>{Y.logs.push(TU(W))}}}function hh(Q,Y){return{server:Q,name:Y.name,description:Y.description,inputSchema:Y.inputSchema}}function uh(Q,Y){return{server:Q,uri:Y.uri,name:Y.name,description:Y.description,mimeType:Y.mimeType}}function lh(Q,Y){return{server:Q,uriTemplate:Y.uriTemplate,name:Y.name,description:Y.description,mimeType:Y.mimeType}}function mh(Q,Y){return{server:Q,name:Y.name,description:Y.description,arguments:Y.arguments?.map((X)=>({name:X.name,description:X.description,required:X.required}))}}function ch(Q){if(["connected","connecting","disconnected","reconnecting","error"].includes(Q))return Q;return"disconnected"}function _U(Q,Y){if(!Y)return!0;try{return new RegExp(Y).test(Q)}catch{return Q===Y}}function K6(Q,Y){let X=[];for(let[W,$]of Q.backendConnections)if($.status==="connected"&&_U(W,Y))X.push({name:W,client:$.client});return X}function lX(Q,Y){let X=Q.getConnection(Y);if(!X)throw Error(`Server '${Y}' not found`);if(X.status!=="connected")throw Error(`Server '${Y}' is not connected (status: ${X.status})`);return X.client}function jG(Q){let{session:Y,sessionManager:X,maxSleepMs:W=5000,warningLogs:$=[]}=Q;return{listServers:()=>{let G=X.listServers(Y.sessionId).map((H)=>{let K=Y.getConnection(H.name)?.client?.getInfo().capabilities;return{name:H.name,status:ch(H.status),capabilities:{tools:K?.tools??!1,resources:K?.resources??!1,prompts:K?.prompts??!1}}});return Promise.resolve(G)},listTools:async(J)=>{let G=K6(Y,J),H=[];for(let{name:B,client:z}of G)try{let K=await z.listTools();for(let V of K)H.push(hh(B,V))}catch(K){let V=K instanceof Error?K.message:String(K);$.push(`Warning: Failed to list tools from '${B}': ${V}`)}return H},callTool:async(J,G,H)=>{let z=await lX(Y,J).callTool(G,H);return{content:z.content.map((K)=>{let V={type:K.type};if(K.type==="text")V.text=K.text;if(K.type==="image")V.data=K.data,V.mimeType=K.mimeType;if(K.type==="resource"){let q=K;V.resource={uri:q.resource.uri,mimeType:q.resource.mimeType,text:q.resource.text,blob:q.resource.blob}}return V}),isError:z.isError}},listResources:async(J)=>{let G=K6(Y,J),H=[];for(let{name:B,client:z}of G)try{let K=await z.listResources();for(let V of K)H.push(uh(B,V))}catch(K){let V=K instanceof Error?K.message:String(K);$.push(`Warning: Failed to list resources from '${B}': ${V}`)}return H},listResourceTemplates:async(J)=>{let G=K6(Y,J),H=[];for(let{name:B,client:z}of G)try{let K=await z.listResourceTemplates();for(let V of K)H.push(lh(B,V))}catch(K){let V=K instanceof Error?K.message:String(K);$.push(`Warning: Failed to list resource templates from '${B}': ${V}`)}return H},readResource:async(J,G)=>{return{contents:(await lX(Y,J).readResource(G)).contents.map((z)=>({uri:z.uri,mimeType:z.mimeType,text:"text"in z?z.text:void 0,blob:"blob"in z?z.blob:void 0}))}},listPrompts:async(J)=>{let G=K6(Y,J),H=[];for(let{name:B,client:z}of G)try{let K=await z.listPrompts();for(let V of K)H.push(mh(B,V))}catch(K){let V=K instanceof Error?K.message:String(K);$.push(`Warning: Failed to list prompts from '${B}': ${V}`)}return H},getPrompt:async(J,G,H)=>{let z=await lX(Y,J).getPrompt(G,H);return{description:z.description,messages:z.messages.map((K)=>({role:K.role,content:{type:K.content.type,text:K.content.type==="text"?K.content.text:void 0,resource:K.content.type==="resource"?K.content.resource:void 0}}))}},sleep:async(J)=>{let G=Math.min(Math.max(0,J),W);return new Promise((H)=>setTimeout(H,G))},log:(...J)=>{let G=J.map((H)=>{if(typeof H==="string")return H;try{return JSON.stringify(H)}catch{return String(H)}}).join(" ");$.push(G)}}}function ph(Q){try{return new RegExp(Q,"i")}catch{let Y=Q.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");try{return new RegExp(Y,"i")}catch{return null}}}function h6(Q,Y){if(!Q)return!1;return Y.test(Q)}function mX(Q,Y){if(!Y)return!0;try{return new RegExp(Y,"i").test(Q)}catch{return Q.toLowerCase()===Y.toLowerCase()}}async function wG(Q,Y){let{session:X,sessionManager:W}=Y,{query:$,type:J,server:G,includeSchemas:H}=Q,B=ph($);if(!B)return{};let z={};if(J==="tools"||J==="all")z.tools=await dh(X,B,G,H);if(J==="resources"||J==="all")z.resources=await ih(X,B,G);if(J==="prompts"||J==="all")z.prompts=await nh(X,B,G);if(J==="servers"||J==="all")z.servers=oh(X,W,B,G);return z}async function dh(Q,Y,X,W){let $=[],J=K6(Q,X);for(let{name:G,client:H}of J){if(!mX(G,X))continue;try{let B=await H.listTools();for(let z of B)if(h6(z.name,Y)||h6(z.description,Y)){let K={server:G,name:z.name,description:z.description};if(W)K.inputSchema=z.inputSchema;$.push(K)}}catch{}}return $}async function ih(Q,Y,X){let W=[],$=K6(Q,X);for(let{name:J,client:G}of $){if(!mX(J,X))continue;try{let H=await G.listResources();for(let B of H)if(h6(B.name,Y)||h6(B.uri,Y)||h6(B.description,Y))W.push({server:J,uri:B.uri,name:B.name,description:B.description,mimeType:B.mimeType})}catch{}}return W}async function nh(Q,Y,X){let W=[],$=K6(Q,X);for(let{name:J,client:G}of $){if(!mX(J,X))continue;try{let H=await G.listPrompts();for(let B of H)if(h6(B.name,Y)||h6(B.description,Y))W.push({server:J,name:B.name,description:B.description,arguments:B.arguments?.map((z)=>({name:z.name,required:z.required}))})}catch{}}return W}function oh(Q,Y,X,W){let $=[],J=Y.listServers(Q.sessionId);for(let G of J){if(!mX(G.name,W))continue;if(h6(G.name,X)){let z=Q.getConnection(G.name)?.client?.getInfo().capabilities;$.push({name:G.name,status:G.status,capabilities:{tools:z?.tools??!1,resources:z?.resources??!1,prompts:z?.prompts??!1}})}}return $}var cX=1000,pX=300000,vU=30000;async function NG(Q,Y){let{session:X,sessionManager:W,config:$}=Y,{code:J,timeout:G}=Q,H=rh(G),B={...$,timeoutMs:H},z=[],K=jG({session:X,sessionManager:W,warningLogs:z});return await UG(J,K,{config:B,initialLogs:z})}function rh(Q){if(Q===void 0)return vU;return Math.min(Math.max(Q,cX),pX)}function xU(Q){if(!Q||Q.trim().length===0)return"Code cannot be empty";if(Q.length>M8.maxCodeLength)return`Code exceeds maximum length of ${String(M8.maxCodeLength)} bytes`;return null}function yU(Q){if(Q===void 0)return null;if(typeof Q!=="number"||isNaN(Q))return"Timeout must be a number";if(Q<cX)return`Timeout must be at least ${String(cX)}ms`;if(Q>pX)return`Timeout cannot exceed ${String(pX)}ms`;return null}function MG(Q){let Y=xU(Q.code);if(Y)return Y;let X=yU(Q.timeout);if(X)return X;return null}var u6={MIN_TIMEOUT_MS:cX,MAX_TIMEOUT_MS:pX,DEFAULT_TIMEOUT_MS:vU,MAX_CODE_LENGTH:M8.maxCodeLength,MAX_MCP_CALLS:M8.maxMcpCalls};function ah(Q,Y){return{start:async()=>{return Y.debug("transport_start",{}),Q.start()},send:async(W,$)=>{return Y.debug("transport_send",{message:JSON.stringify(W),hasRelatedRequestId:$?.relatedRequestId!==void 0}),Q.send(W,$)},close:async()=>{return Y.debug("transport_close",{}),Q.close()},get sessionId(){return Q.sessionId},set onclose(W){Q.onclose=W?()=>{Y.debug("transport_onclose",{}),W()}:void 0},get onclose(){return Q.onclose},set onerror(W){Q.onerror=W?($)=>{Y.debug("transport_onerror",{error:$.message}),W($)}:void 0},get onerror(){return Q.onerror},set onmessage(W){Q.onmessage=W?($)=>{Y.debug("transport_onmessage",{message:JSON.stringify($)}),W($)}:void 0},get onmessage(){return Q.onmessage},setProtocolVersion:Q.setProtocolVersion?.bind(Q)}}function sh(){let Q=process.argv.slice(2),Y,X="info",W;for(let $=0;$<Q.length;$++){let J=Q[$];if(J==="--config"&&Q[$+1])Y=Q[$+1],$++;else if(J?.startsWith("--config="))Y=J.slice(9);else if(J==="--log-level"&&Q[$+1])X=Q[$+1],$++;else if(J?.startsWith("--log-level="))X=J.slice(12);else if(J==="--log-file"&&Q[$+1])W=Q[$+1],$++;else if(J?.startsWith("--log-file="))W=J.slice(11)}return{configPath:Y,logLevel:X,logFile:W}}function eh(Q){let Y=th(Q,"utf-8");return JSON.parse(Y)}function Qu(Q){return JSON.parse(Q)}function D0(Q){return Q}function fU(Q){let Y=Q.pendingRequests.getPendingSamplingRequests().length,X=Q.pendingRequests.getPendingElicitationRequests().length,W=Q.timerManager.getAndClearExpired(),$=Q.bufferManager.getAndClearNotifications(),J=Y>0||X>0,G=W.length>0,H=$.length>0;if(!J&&!G&&!H)return null;let B={};if(J)B.pending_client={sampling:Y,elicitation:X};if(G)B.expired_timers=W;if(H)B.notifications=$.map((z)=>({server:z.server,method:z.method,timestamp:z.timestamp.toISOString(),params:z.params}));return B}function gU(Q,Y){if(!Y)return Q;let X=fU(Y);if(!X)return Q;return{...Q,content:[...Q.content,{type:"text",text:JSON.stringify(X)}]}}function l(Q){return{content:[{type:"text",text:Q}],isError:!0}}function m0(Q,Y){return gU({content:[{type:"text",text:Q}]},Y)}function Z0(Q,Y){let X={content:[{type:"text",text:JSON.stringify(Q,null,2)}]};return gU(X,Y)}function Yu(Q,Y,X,W={}){let{codemodeEnabled:$=!0}=W;if(Q.registerTool("add_server",{description:`Connect to a backend MCP server. Supports two transport types:
57
62
 
58
63
  **HTTP Transport**: Provide a \`url\` to connect to a remote HTTP/SSE MCP server.
59
64
  Example: add_server(name: "myserver", url: "http://localhost:3001/mcp")
@@ -61,5 +66,5 @@ Example: add_server(name: "myserver", url: "http://localhost:3001/mcp")
61
66
  **Stdio Transport**: Provide \`command\` (and optionally \`args\`) to spawn a local MCP server process.
62
67
  Example: add_server(name: "myserver", command: "npx", args: ["some-mcp-server"])
63
68
 
64
- Stdio servers support automatic crash recovery with exponential backoff restart.`,inputSchema:{name:x.string().describe("Unique name for this server"),url:x.string().url().optional().describe("HTTP URL of the MCP server endpoint (for HTTP transport)"),command:x.string().optional().describe("Command to spawn (for stdio transport, e.g., 'node', 'npx', 'python')"),args:x.array(x.string()).optional().describe("Arguments for the command (for stdio transport)"),env:x.record(x.string()).optional().describe("Environment variables for the spawned process (stdio only)"),cwd:x.string().optional().describe("Working directory for the spawned process (stdio only)"),restartConfig:x.object({enabled:x.boolean().optional().describe("Enable automatic restart on crash (default: true)"),maxAttempts:x.number().optional().describe("Maximum restart attempts (default: 5)"),baseDelayMs:x.number().optional().describe("Base delay before restart in ms (default: 1000)"),maxDelayMs:x.number().optional().describe("Maximum delay between restarts in ms (default: 60000)"),backoffMultiplier:x.number().optional().describe("Backoff multiplier (default: 2)")}).optional().describe("Restart configuration for stdio servers")}},async({name:W,url:$,command:J,args:G,env:H,cwd:B,restartConfig:z})=>{let K=N0(Y());if(!K)return c("Session not initialized");if($&&J)return c("Provide either 'url' (for HTTP) or 'command' (for stdio), not both");if(!$&&!J)return c("Must provide either 'url' (for HTTP transport) or 'command' (for stdio transport)");try{let V,q;if($)V=await X.addServer(K.sessionId,W,$),q=$;else if(J)V=await X.addStdioServer(K.sessionId,W,J,G,{env:H,cwd:B,restartConfig:z}),q=`stdio://${J}${G?.length?` ${G.join(" ")}`:""}`;else return c("Internal error: no transport specified");let F=V.client.getInfo().capabilities;return m0(`Connected to server '${W}' at ${q}
65
- Capabilities: ${JSON.stringify(F)}`,K)}catch(V){let q=V instanceof Error?V.message:String(V);return c(`Failed to add server: ${q}`)}}),Q.registerTool("remove_server",{description:"Disconnect from a backend MCP server and remove it from the configuration. This disconnects ALL sessions from the server.",inputSchema:{name:x.string().describe("Name of the server to remove")}},async({name:W})=>{let $=N0(Y());if(!$)return c("Session not initialized");try{return await X.removeServer($.sessionId,W),m0(`Disconnected from server '${W}'`,$)}catch(J){let G=J instanceof Error?J.message:String(J);return c(`Failed to remove server: ${G}`)}}),Q.registerTool("list_servers",{description:"List all configured backend MCP servers with their connection status for this session",inputSchema:{}},()=>{let W=N0(Y());if(!W)return c("Session not initialized");let $=X.listServers(W.sessionId);if($.length===0)return m0("No servers configured",W);let J=$.map((G)=>({name:G.name,url:G.url,status:G.status,connected:G.connected,connectedAt:G.connectedAt?.toISOString(),lastError:G.lastError}));return S0(J,W)}),Q.registerTool("list_tools",{description:"List tools available from backend servers",inputSchema:{server:x.string().default(".*").describe("Regex pattern to match server names (default: .*)"),tool:x.string().default(".*").describe("Regex pattern to match tool names (default: .*)")}},async({server:W,tool:$})=>{let J=N0(Y());if(!J)return c("Session not initialized");try{let G=new RegExp(W),H=new RegExp($),B=[];for(let z of J.listConnectedServers()){if(!G.test(z))continue;let K=J.getConnection(z);if(K?.status!=="connected")continue;try{let V=await K.client.listTools();for(let q of V)if(H.test(q.name))B.push({server:z,name:q.name,description:q.description,inputSchema:q.inputSchema})}catch{}}if(B.length===0)return m0("No tools available",J);return S0(B,J)}catch(G){let H=G instanceof Error?G.message:String(G);return c(`Failed to list tools: ${H}`)}}),Q.registerTool("execute_tool",{description:"Execute a tool on a specific backend server",inputSchema:{server:x.string().describe("Name of the backend server"),tool:x.string().describe("Name of the tool to execute"),args:x.record(x.unknown()).optional().describe("Arguments to pass to the tool")}},async({server:W,tool:$,args:J})=>{let G=N0(Y());if(!G)return c("Session not initialized");try{let B=await(await X.getOrCreateConnection(G.sessionId,W)).callTool($,J??{}),z=qU(G);if(z)return{content:[...B.content,{type:"text",text:JSON.stringify(z)}],isError:B.isError};return{content:B.content,isError:B.isError}}catch(H){let B=H instanceof Error?H.message:String(H);return c(`Failed to execute tool: ${B}`)}}),Q.registerTool("list_resources",{description:"List resources available from backend servers",inputSchema:{server:x.string().optional().describe("Server name to filter by (omit for all servers)")}},async({server:W})=>{let $=N0(Y());if(!$)return c("Session not initialized");try{let J=[],G=W?[W]:$.listConnectedServers();for(let H of G){let B=$.getConnection(H);if(B?.status!=="connected")continue;try{let z=await B.client.listResources();for(let K of z)J.push({server:H,uri:K.uri,name:K.name,description:K.description,mimeType:K.mimeType})}catch{}}if(J.length===0)return m0("No resources available",$);return S0(J,$)}catch(J){let G=J instanceof Error?J.message:String(J);return c(`Failed to list resources: ${G}`)}}),Q.registerTool("list_resource_templates",{description:"List resource templates available from backend servers. Templates define parameterized resources that can be read with specific arguments.",inputSchema:{server:x.string().optional().describe("Server name to filter by (omit for all servers)")}},async({server:W})=>{let $=N0(Y());if(!$)return c("Session not initialized");try{let J=[],G=W?[W]:$.listConnectedServers();for(let H of G){let B=$.getConnection(H);if(B?.status!=="connected")continue;try{let z=await B.client.listResourceTemplates();for(let K of z)J.push({server:H,uriTemplate:K.uriTemplate,name:K.name,description:K.description,mimeType:K.mimeType})}catch{}}if(J.length===0)return m0("No resource templates available",$);return S0(J,$)}catch(J){let G=J instanceof Error?J.message:String(J);return c(`Failed to list resource templates: ${G}`)}}),Q.registerTool("read_resource",{description:"Read a specific resource from a backend server",inputSchema:{server:x.string().describe("Name of the backend server"),uri:x.string().describe("URI of the resource to read")}},async({server:W,uri:$})=>{let J=N0(Y());if(!J)return c("Session not initialized");try{let B=(await(await X.getOrCreateConnection(J.sessionId,W)).readResource($)).contents.map((z)=>{if("text"in z&&typeof z.text==="string")return{uri:z.uri,mimeType:z.mimeType,text:z.text};else if("blob"in z&&typeof z.blob==="string")return{uri:z.uri,mimeType:z.mimeType,blob:`[base64 data, ${String(z.blob.length)} chars]`};return z});return S0({contents:B},J)}catch(G){let H=G instanceof Error?G.message:String(G);return c(`Failed to read resource: ${H}`)}}),Q.registerTool("list_prompts",{description:"List prompts available from backend servers",inputSchema:{server:x.string().optional().describe("Server name to filter by (omit for all servers)")}},async({server:W})=>{let $=N0(Y());if(!$)return c("Session not initialized");try{let J=[],G=W?[W]:$.listConnectedServers();for(let H of G){let B=$.getConnection(H);if(B?.status!=="connected")continue;try{let z=await B.client.listPrompts();for(let K of z)J.push({server:H,name:K.name,description:K.description,arguments:K.arguments})}catch{}}if(J.length===0)return m0("No prompts available",$);return S0(J,$)}catch(J){let G=J instanceof Error?J.message:String(J);return c(`Failed to list prompts: ${G}`)}}),Q.registerTool("get_prompt",{description:"Get a specific prompt from a backend server",inputSchema:{server:x.string().describe("Name of the backend server"),name:x.string().describe("Name of the prompt to get"),arguments:x.record(x.string()).optional().describe("Arguments to pass to the prompt")}},async({server:W,name:$,arguments:J})=>{let G=N0(Y());if(!G)return c("Session not initialized");try{let B=await(await X.getOrCreateConnection(G.sessionId,W)).getPrompt($,J??{});return S0(B,G)}catch(H){let B=H instanceof Error?H.message:String(H);return c(`Failed to get prompt: ${B}`)}}),Q.registerTool("get_notifications",{description:"Get and clear buffered notifications from backend servers for this session",inputSchema:{}},()=>{let W=N0(Y());if(!W)return c("Session not initialized");let $=W.bufferManager.getAndClearNotifications();if($.length===0)return m0("No notifications",W);let J=$.map((G)=>({server:G.server,method:G.method,timestamp:G.timestamp.toISOString(),params:G.params}));return S0(J,W)}),Q.registerTool("get_logs",{description:"Get and clear buffered log messages from backend servers for this session",inputSchema:{}},()=>{let W=N0(Y());if(!W)return c("Session not initialized");let $=W.bufferManager.getAndClearLogs();if($.length===0)return m0("No log messages",W);let J=$.map((G)=>({server:G.server,level:G.level,logger:G.logger,timestamp:G.timestamp.toISOString(),data:G.data}));return S0(J,W)}),Q.registerTool("get_sampling_requests",{description:"Get pending sampling requests from backend servers that need LLM responses. These are requests from MCP servers asking for LLM completions.",inputSchema:{}},()=>{let W=N0(Y());if(!W)return c("Session not initialized");let $=W.pendingRequests.getPendingSamplingRequests();if($.length===0)return m0("No pending sampling requests",W);let J=$.map((G)=>({requestId:G.requestId,server:G.server,timestamp:G.timestamp.toISOString(),maxTokens:G.params.maxTokens,systemPrompt:G.params.systemPrompt,temperature:G.params.temperature,messages:G.params.messages,modelPreferences:G.params.modelPreferences,tools:G.params.tools?.map((H)=>({name:H.name,description:H.description}))}));return S0(J,W)}),Q.registerTool("respond_to_sampling",{description:"Respond to a pending sampling request with an LLM result",inputSchema:{request_id:x.string().describe("The ID of the sampling request to respond to"),role:x.enum(["user","assistant"]).describe("The role of the message"),content:x.string().describe("The text content of the response"),model:x.string().describe("The model that generated the response"),stop_reason:x.enum(["endTurn","maxTokens","stopSequence","toolUse"]).optional().describe("Why the model stopped generating")}},({request_id:W,role:$,content:J,model:G,stop_reason:H})=>{let B=N0(Y());if(!B)return c("Session not initialized");try{return B.pendingRequests.respondToSampling(W,{role:$,content:{type:"text",text:J},model:G,stopReason:H}),m0(`Responded to sampling request '${W}'`,B)}catch(z){let K=z instanceof Error?z.message:String(z);return c(`Failed to respond: ${K}`)}}),Q.registerTool("get_elicitations",{description:"Get pending elicitation requests from backend servers that need user input. These are requests from MCP servers asking for form data or user confirmation.",inputSchema:{}},()=>{let W=N0(Y());if(!W)return c("Session not initialized");let $=W.pendingRequests.getPendingElicitationRequests();if($.length===0)return m0("No pending elicitation requests",W);let J=$.map((G)=>({requestId:G.requestId,server:G.server,timestamp:G.timestamp.toISOString(),mode:"mode"in G.params?G.params.mode:"form",message:G.params.message,requestedSchema:"requestedSchema"in G.params?G.params.requestedSchema:void 0,elicitationId:"elicitationId"in G.params?G.params.elicitationId:void 0,url:"url"in G.params?G.params.url:void 0}));return S0(J,W)}),Q.registerTool("respond_to_elicitation",{description:"Respond to a pending elicitation request with user input",inputSchema:{request_id:x.string().describe("The ID of the elicitation request to respond to"),action:x.enum(["accept","decline","cancel"]).describe("The user's action: accept (with content), decline, or cancel"),content:x.record(x.union([x.string(),x.number(),x.boolean(),x.array(x.string())])).optional().describe("The form field values (required if action is 'accept' for form mode)")}},({request_id:W,action:$,content:J})=>{let G=N0(Y());if(!G)return c("Session not initialized");try{return G.pendingRequests.respondToElicitation(W,{action:$,content:J}),m0(`Responded to elicitation request '${W}' with action '${$}'`,G)}catch(H){let B=H instanceof Error?H.message:String(H);return c(`Failed to respond: ${B}`)}}),Q.registerTool("await_activity",{description:"Wait for activity (events, pending requests) or timeout. Use this to poll for changes efficiently instead of repeatedly calling get_* tools.",inputSchema:{timeout_ms:x.number().min(100).max(900000).default(30000).describe("Maximum time to wait in milliseconds (100-900000, default: 30000)"),last_event_id:x.string().optional().describe("Only return events after this ID (for pagination/continuation)")}},async({timeout_ms:W,last_event_id:$})=>{let J=N0(Y());if(!J)return c("Session not initialized");let G=$?J.eventSystem.getEventsAfter($):J.eventSystem.getNewEvents();if(G.length>0)return S0({triggered_by:"existing_events",events:G.map((B)=>({id:B.id,type:B.type,server:B.server,createdAt:B.createdAt.toISOString(),data:B.data})),pending_server:{tasks:J.taskManager.getAllTasks().map((B)=>({taskId:B.taskId,server:B.server,toolName:B.toolName,status:B.status}))},pending_client:{sampling:J.pendingRequests.getPendingSamplingRequests().length,elicitation:J.pendingRequests.getPendingElicitationRequests().length}},J);let H=await J.eventSystem.waitForActivity(W);if(H){let B=J.eventSystem.getNewEvents();return S0({triggered_by:H.type,events:B.map((z)=>({id:z.id,type:z.type,server:z.server,createdAt:z.createdAt.toISOString(),data:z.data})),pending_server:{tasks:J.taskManager.getAllTasks().map((z)=>({taskId:z.taskId,server:z.server,toolName:z.toolName,status:z.status}))},pending_client:{sampling:J.pendingRequests.getPendingSamplingRequests().length,elicitation:J.pendingRequests.getPendingElicitationRequests().length}},J)}return S0({triggered_by:"timeout",events:[],pending_server:{tasks:J.taskManager.getAllTasks().map((B)=>({taskId:B.taskId,server:B.server,toolName:B.toolName,status:B.status}))},pending_client:{sampling:J.pendingRequests.getPendingSamplingRequests().length,elicitation:J.pendingRequests.getPendingElicitationRequests().length}},J)}),Q.registerTool("list_tasks",{description:"List proxy tasks (background tool executions that exceeded timeout)",inputSchema:{include_completed:x.boolean().default(!1).describe("Include completed/failed/cancelled tasks (default: false, only working tasks)"),server:x.string().optional().describe("Filter by server name")}},({include_completed:W,server:$})=>{let J=N0(Y());if(!J)return c("Session not initialized");let G=J.taskManager.getAllTasks(W);if($)G=G.filter((B)=>B.server===$);if(G.length===0)return m0("No tasks",J);let H=G.map((B)=>({taskId:B.taskId,server:B.server,toolName:B.toolName,status:B.status,createdAt:B.createdAt.toISOString(),lastUpdatedAt:B.lastUpdatedAt.toISOString(),error:B.error,hasResult:B.result!==void 0}));return S0(H,J)}),Q.registerTool("get_task",{description:"Get details of a specific task including its result if completed",inputSchema:{task_id:x.string().describe("The task ID to retrieve")}},({task_id:W})=>{let $=N0(Y());if(!$)return c("Session not initialized");let J=$.taskManager.getTask(W);if(!J)return c(`Task '${W}' not found`);return S0({taskId:J.taskId,server:J.server,toolName:J.toolName,args:J.args,status:J.status,createdAt:J.createdAt.toISOString(),lastUpdatedAt:J.lastUpdatedAt.toISOString(),ttl:J.ttl,error:J.error,result:J.result},$)}),Q.registerTool("cancel_task",{description:"Cancel a working task",inputSchema:{task_id:x.string().describe("The task ID to cancel")}},({task_id:W})=>{let $=N0(Y());if(!$)return c("Session not initialized");if($.taskManager.cancelTask(W))return m0(`Task '${W}' cancelled`,$);else return c(`Task '${W}' not found or not in working state`)}),Q.registerTool("set_timer",{description:"Set a timer that will fire after a specified duration. When the timer expires, you'll receive a notification in the context info of subsequent tool responses, and it will also appear as a timer_expired event in await_activity.",inputSchema:{duration_ms:x.number().min(1).max(86400000).describe("Duration in milliseconds until the timer fires (max 24 hours)"),message:x.string().min(1).max(500).describe("Message to include in the notification when the timer fires")}},({duration_ms:W,message:$})=>{let J=N0(Y());if(!J)return c("Session not initialized");try{let G=J.timerManager.createTimer(W,$);return S0({timerId:G.id,message:G.message,durationMs:G.durationMs,createdAt:G.createdAt.toISOString(),expiresAt:G.expiresAt.toISOString()},J)}catch(G){let H=G instanceof Error?G.message:String(G);return c(`Failed to set timer: ${H}`)}}),Q.registerTool("list_timers",{description:"List all timers for this session",inputSchema:{include_inactive:x.boolean().default(!1).describe("Include expired and deleted timers (default: false, only active timers)")}},({include_inactive:W})=>{let $=N0(Y());if(!$)return c("Session not initialized");let J=$.timerManager.getAllTimers(W);if(J.length===0)return m0("No timers",$);let G=J.map((H)=>({id:H.id,message:H.message,durationMs:H.durationMs,status:H.status,createdAt:H.createdAt.toISOString(),expiresAt:H.expiresAt.toISOString()}));return S0(G,$)}),Q.registerTool("get_timer",{description:"Get details of a specific timer",inputSchema:{timer_id:x.string().describe("The timer ID to retrieve")}},({timer_id:W})=>{let $=N0(Y());if(!$)return c("Session not initialized");let J=$.timerManager.getTimer(W);if(!J)return c(`Timer '${W}' not found`);return S0({id:J.id,message:J.message,durationMs:J.durationMs,status:J.status,createdAt:J.createdAt.toISOString(),expiresAt:J.expiresAt.toISOString()},$)}),Q.registerTool("delete_timer",{description:"Delete a timer. Returns the timer details before deletion.",inputSchema:{timer_id:x.string().describe("The timer ID to delete")}},({timer_id:W})=>{let $=N0(Y());if(!$)return c("Session not initialized");let J=$.timerManager.deleteTimer(W);if(!J)return c(`Timer '${W}' not found`);return S0({deleted:!0,timer:{id:J.id,message:J.message,durationMs:J.durationMs,status:J.status,createdAt:J.createdAt.toISOString(),expiresAt:J.expiresAt.toISOString()}},$)})}async function Fh(){let{configPath:Q,logLevel:X,logFile:Y}=Bh(),W,$=Y,J=process.env.EMCEEPEE_LOG_DIR;if(!$&&J){let F=await import("fs"),A=await import("path"),D=J.startsWith("~")?A.join(process.env.HOME??"",J.slice(1)):J;try{F.mkdirSync(D,{recursive:!0})}catch{}let L=new Date().toISOString().replace(/[:.]/g,"-");$=A.join(D,`emceepee-${L}-${String(process.pid)}.log`)}if($){let F=Y?X:J?"debug":X;W=AU(F,$),W.info("Logging initialized",{logFile:$,logLevel:F})}else W=FU();W.info("Starting MCP Proxy Server (stdio mode)",{configPath:Q});let G=new GG({logger:W,sessionTimeoutMs:86400000,cleanupIntervalMs:300000}),H=process.env.EMCEEPEE_CONFIG;if(H)try{let F=Kh(H);W.info("Loading servers from config",{count:F.servers.length,source:"EMCEEPEE_CONFIG env var"});for(let A of F.servers)if(HG(A))W.info("Adding HTTP server config",{name:A.name,url:A.url}),G.getServerConfigs().addConfig(A.name,A.url);else if(BG(A))W.info("Adding stdio server config",{name:A.name,command:A.command}),G.getServerConfigs().addStdioConfig(A.name,A.command,A.args,{env:A.env,cwd:A.cwd,restartConfig:A.restartConfig})}catch(F){W.error("Failed to load config from EMCEEPEE_CONFIG",{error:F instanceof Error?F.message:String(F)}),process.exit(1)}else if(Q)try{let F=zh(Q);W.info("Loading servers from config",{count:F.servers.length,path:Q});for(let A of F.servers)if(HG(A))W.info("Adding HTTP server config",{name:A.name,url:A.url}),G.getServerConfigs().addConfig(A.name,A.url);else if(BG(A))W.info("Adding stdio server config",{name:A.name,command:A.command}),G.getServerConfigs().addStdioConfig(A.name,A.command,A.args,{env:A.env,cwd:A.cwd,restartConfig:A.restartConfig})}catch(F){W.error("Failed to load config",{error:F instanceof Error?F.message:String(F)}),process.exit(1)}let B=new PJ({name:"emceepee",version:"0.2.0"}),z=await G.createSession();W.info("Session created",{sessionId:z.sessionId}),Vh(B,G,()=>z);let K=new ZJ,V=$?Hh(K,W):K,q=async()=>{W.info("Shutting down...",{}),await K.close(),await G.shutdown(),process.exit(0)};process.on("SIGINT",()=>void q()),process.on("SIGTERM",()=>void q()),await B.connect(V),W.info("Server started (stdio mode)",{})}Fh().catch((Q)=>{console.error("Fatal error:",Q),process.exit(1)});
69
+ Stdio servers support automatic crash recovery with exponential backoff restart.`,inputSchema:{name:_.string().describe("Unique name for this server"),url:_.string().url().optional().describe("HTTP URL of the MCP server endpoint (for HTTP transport)"),command:_.string().optional().describe("Command to spawn (for stdio transport, e.g., 'node', 'npx', 'python')"),args:_.array(_.string()).optional().describe("Arguments for the command (for stdio transport)"),env:_.record(_.string()).optional().describe("Environment variables for the spawned process (stdio only)"),cwd:_.string().optional().describe("Working directory for the spawned process (stdio only)"),restartConfig:_.object({enabled:_.boolean().optional().describe("Enable automatic restart on crash (default: true)"),maxAttempts:_.number().optional().describe("Maximum restart attempts (default: 5)"),baseDelayMs:_.number().optional().describe("Base delay before restart in ms (default: 1000)"),maxDelayMs:_.number().optional().describe("Maximum delay between restarts in ms (default: 60000)"),backoffMultiplier:_.number().optional().describe("Backoff multiplier (default: 2)")}).optional().describe("Restart configuration for stdio servers")}},async({name:J,url:G,command:H,args:B,env:z,cwd:K,restartConfig:V})=>{let q=D0(X());if(!q)return l("Session not initialized");if(G&&H)return l("Provide either 'url' (for HTTP) or 'command' (for stdio), not both");if(!G&&!H)return l("Must provide either 'url' (for HTTP transport) or 'command' (for stdio transport)");try{let F,A;if(G)F=await Y.addServer(q.sessionId,J,G),A=G;else if(H)F=await Y.addStdioServer(q.sessionId,J,H,B,{env:z,cwd:K,restartConfig:V}),A=`stdio://${H}${B?.length?` ${B.join(" ")}`:""}`;else return l("Internal error: no transport specified");let D=F.client.getInfo().capabilities;return m0(`Connected to server '${J}' at ${A}
70
+ Capabilities: ${JSON.stringify(D)}`,q)}catch(F){let A=F instanceof Error?F.message:String(F);return l(`Failed to add server: ${A}`)}}),Q.registerTool("remove_server",{description:"Disconnect from a backend MCP server and remove it from the configuration. This disconnects ALL sessions from the server.",inputSchema:{name:_.string().describe("Name of the server to remove")}},async({name:J})=>{let G=D0(X());if(!G)return l("Session not initialized");try{return await Y.removeServer(G.sessionId,J),m0(`Disconnected from server '${J}'`,G)}catch(H){let B=H instanceof Error?H.message:String(H);return l(`Failed to remove server: ${B}`)}}),Q.registerTool("list_servers",{description:"List all configured backend MCP servers with their connection status for this session",inputSchema:{}},()=>{let J=D0(X());if(!J)return l("Session not initialized");let G=Y.listServers(J.sessionId);if(G.length===0)return m0("No servers configured",J);let H=G.map((B)=>({name:B.name,url:B.url,status:B.status,connected:B.connected,connectedAt:B.connectedAt?.toISOString(),lastError:B.lastError}));return Z0(H,J)}),Q.registerTool("list_tools",{description:"List tools available from backend servers",inputSchema:{server:_.string().default(".*").describe("Regex pattern to match server names (default: .*)"),tool:_.string().default(".*").describe("Regex pattern to match tool names (default: .*)")}},async({server:J,tool:G})=>{let H=D0(X());if(!H)return l("Session not initialized");try{let B=new RegExp(J),z=new RegExp(G),K=[];for(let V of H.listConnectedServers()){if(!B.test(V))continue;let q=H.getConnection(V);if(q?.status!=="connected")continue;try{let F=await q.client.listTools();for(let A of F)if(z.test(A.name))K.push({server:V,name:A.name,description:A.description,inputSchema:A.inputSchema})}catch{}}if(K.length===0)return m0("No tools available",H);return Z0(K,H)}catch(B){let z=B instanceof Error?B.message:String(B);return l(`Failed to list tools: ${z}`)}}),Q.registerTool("execute_tool",{description:"Execute a tool on a specific backend server",inputSchema:{server:_.string().describe("Name of the backend server"),tool:_.string().describe("Name of the tool to execute"),args:_.record(_.unknown()).optional().describe("Arguments to pass to the tool")}},async({server:J,tool:G,args:H})=>{let B=D0(X());if(!B)return l("Session not initialized");try{let K=await(await Y.getOrCreateConnection(B.sessionId,J)).callTool(G,H??{}),V=fU(B);if(V)return{content:[...K.content,{type:"text",text:JSON.stringify(V)}],isError:K.isError};return{content:K.content,isError:K.isError}}catch(z){let K=z instanceof Error?z.message:String(z);return l(`Failed to execute tool: ${K}`)}}),Q.registerTool("list_resources",{description:"List resources available from backend servers",inputSchema:{server:_.string().optional().describe("Server name to filter by (omit for all servers)")}},async({server:J})=>{let G=D0(X());if(!G)return l("Session not initialized");try{let H=[],B=J?[J]:G.listConnectedServers();for(let z of B){let K=G.getConnection(z);if(K?.status!=="connected")continue;try{let V=await K.client.listResources();for(let q of V)H.push({server:z,uri:q.uri,name:q.name,description:q.description,mimeType:q.mimeType})}catch{}}if(H.length===0)return m0("No resources available",G);return Z0(H,G)}catch(H){let B=H instanceof Error?H.message:String(H);return l(`Failed to list resources: ${B}`)}}),Q.registerTool("list_resource_templates",{description:"List resource templates available from backend servers. Templates define parameterized resources that can be read with specific arguments.",inputSchema:{server:_.string().optional().describe("Server name to filter by (omit for all servers)")}},async({server:J})=>{let G=D0(X());if(!G)return l("Session not initialized");try{let H=[],B=J?[J]:G.listConnectedServers();for(let z of B){let K=G.getConnection(z);if(K?.status!=="connected")continue;try{let V=await K.client.listResourceTemplates();for(let q of V)H.push({server:z,uriTemplate:q.uriTemplate,name:q.name,description:q.description,mimeType:q.mimeType})}catch{}}if(H.length===0)return m0("No resource templates available",G);return Z0(H,G)}catch(H){let B=H instanceof Error?H.message:String(H);return l(`Failed to list resource templates: ${B}`)}}),Q.registerTool("read_resource",{description:"Read a specific resource from a backend server",inputSchema:{server:_.string().describe("Name of the backend server"),uri:_.string().describe("URI of the resource to read")}},async({server:J,uri:G})=>{let H=D0(X());if(!H)return l("Session not initialized");try{let K=(await(await Y.getOrCreateConnection(H.sessionId,J)).readResource(G)).contents.map((V)=>{if("text"in V&&typeof V.text==="string")return{uri:V.uri,mimeType:V.mimeType,text:V.text};else if("blob"in V&&typeof V.blob==="string")return{uri:V.uri,mimeType:V.mimeType,blob:`[base64 data, ${String(V.blob.length)} chars]`};return V});return Z0({contents:K},H)}catch(B){let z=B instanceof Error?B.message:String(B);return l(`Failed to read resource: ${z}`)}}),Q.registerTool("list_prompts",{description:"List prompts available from backend servers",inputSchema:{server:_.string().optional().describe("Server name to filter by (omit for all servers)")}},async({server:J})=>{let G=D0(X());if(!G)return l("Session not initialized");try{let H=[],B=J?[J]:G.listConnectedServers();for(let z of B){let K=G.getConnection(z);if(K?.status!=="connected")continue;try{let V=await K.client.listPrompts();for(let q of V)H.push({server:z,name:q.name,description:q.description,arguments:q.arguments})}catch{}}if(H.length===0)return m0("No prompts available",G);return Z0(H,G)}catch(H){let B=H instanceof Error?H.message:String(H);return l(`Failed to list prompts: ${B}`)}}),Q.registerTool("get_prompt",{description:"Get a specific prompt from a backend server",inputSchema:{server:_.string().describe("Name of the backend server"),name:_.string().describe("Name of the prompt to get"),arguments:_.record(_.string()).optional().describe("Arguments to pass to the prompt")}},async({server:J,name:G,arguments:H})=>{let B=D0(X());if(!B)return l("Session not initialized");try{let K=await(await Y.getOrCreateConnection(B.sessionId,J)).getPrompt(G,H??{});return Z0(K,B)}catch(z){let K=z instanceof Error?z.message:String(z);return l(`Failed to get prompt: ${K}`)}}),Q.registerTool("get_notifications",{description:"Get and clear buffered notifications from backend servers for this session",inputSchema:{}},()=>{let J=D0(X());if(!J)return l("Session not initialized");let G=J.bufferManager.getAndClearNotifications();if(G.length===0)return m0("No notifications",J);let H=G.map((B)=>({server:B.server,method:B.method,timestamp:B.timestamp.toISOString(),params:B.params}));return Z0(H,J)}),Q.registerTool("get_logs",{description:"Get and clear buffered log messages from backend servers for this session",inputSchema:{}},()=>{let J=D0(X());if(!J)return l("Session not initialized");let G=J.bufferManager.getAndClearLogs();if(G.length===0)return m0("No log messages",J);let H=G.map((B)=>({server:B.server,level:B.level,logger:B.logger,timestamp:B.timestamp.toISOString(),data:B.data}));return Z0(H,J)}),Q.registerTool("get_sampling_requests",{description:"Get pending sampling requests from backend servers that need LLM responses. These are requests from MCP servers asking for LLM completions.",inputSchema:{}},()=>{let J=D0(X());if(!J)return l("Session not initialized");let G=J.pendingRequests.getPendingSamplingRequests();if(G.length===0)return m0("No pending sampling requests",J);let H=G.map((B)=>({requestId:B.requestId,server:B.server,timestamp:B.timestamp.toISOString(),maxTokens:B.params.maxTokens,systemPrompt:B.params.systemPrompt,temperature:B.params.temperature,messages:B.params.messages,modelPreferences:B.params.modelPreferences,tools:B.params.tools?.map((z)=>({name:z.name,description:z.description}))}));return Z0(H,J)}),Q.registerTool("respond_to_sampling",{description:"Respond to a pending sampling request with an LLM result",inputSchema:{request_id:_.string().describe("The ID of the sampling request to respond to"),role:_.enum(["user","assistant"]).describe("The role of the message"),content:_.string().describe("The text content of the response"),model:_.string().describe("The model that generated the response"),stop_reason:_.enum(["endTurn","maxTokens","stopSequence","toolUse"]).optional().describe("Why the model stopped generating")}},({request_id:J,role:G,content:H,model:B,stop_reason:z})=>{let K=D0(X());if(!K)return l("Session not initialized");try{return K.pendingRequests.respondToSampling(J,{role:G,content:{type:"text",text:H},model:B,stopReason:z}),m0(`Responded to sampling request '${J}'`,K)}catch(V){let q=V instanceof Error?V.message:String(V);return l(`Failed to respond: ${q}`)}}),Q.registerTool("get_elicitations",{description:"Get pending elicitation requests from backend servers that need user input. These are requests from MCP servers asking for form data or user confirmation.",inputSchema:{}},()=>{let J=D0(X());if(!J)return l("Session not initialized");let G=J.pendingRequests.getPendingElicitationRequests();if(G.length===0)return m0("No pending elicitation requests",J);let H=G.map((B)=>({requestId:B.requestId,server:B.server,timestamp:B.timestamp.toISOString(),mode:"mode"in B.params?B.params.mode:"form",message:B.params.message,requestedSchema:"requestedSchema"in B.params?B.params.requestedSchema:void 0,elicitationId:"elicitationId"in B.params?B.params.elicitationId:void 0,url:"url"in B.params?B.params.url:void 0}));return Z0(H,J)}),Q.registerTool("respond_to_elicitation",{description:"Respond to a pending elicitation request with user input",inputSchema:{request_id:_.string().describe("The ID of the elicitation request to respond to"),action:_.enum(["accept","decline","cancel"]).describe("The user's action: accept (with content), decline, or cancel"),content:_.record(_.union([_.string(),_.number(),_.boolean(),_.array(_.string())])).optional().describe("The form field values (required if action is 'accept' for form mode)")}},({request_id:J,action:G,content:H})=>{let B=D0(X());if(!B)return l("Session not initialized");try{return B.pendingRequests.respondToElicitation(J,{action:G,content:H}),m0(`Responded to elicitation request '${J}' with action '${G}'`,B)}catch(z){let K=z instanceof Error?z.message:String(z);return l(`Failed to respond: ${K}`)}}),Q.registerTool("await_activity",{description:"Wait for activity (events, pending requests) or timeout. Use this to poll for changes efficiently instead of repeatedly calling get_* tools.",inputSchema:{timeout_ms:_.number().min(100).max(900000).default(30000).describe("Maximum time to wait in milliseconds (100-900000, default: 30000)"),last_event_id:_.string().optional().describe("Only return events after this ID (for pagination/continuation)")}},async({timeout_ms:J,last_event_id:G})=>{let H=D0(X());if(!H)return l("Session not initialized");let B=G?H.eventSystem.getEventsAfter(G):H.eventSystem.getNewEvents();if(B.length>0)return Z0({triggered_by:"existing_events",events:B.map((K)=>({id:K.id,type:K.type,server:K.server,createdAt:K.createdAt.toISOString(),data:K.data})),pending_server:{tasks:H.taskManager.getAllTasks().map((K)=>({taskId:K.taskId,server:K.server,toolName:K.toolName,status:K.status}))},pending_client:{sampling:H.pendingRequests.getPendingSamplingRequests().length,elicitation:H.pendingRequests.getPendingElicitationRequests().length}},H);let z=await H.eventSystem.waitForActivity(J);if(z){let K=H.eventSystem.getNewEvents();return Z0({triggered_by:z.type,events:K.map((V)=>({id:V.id,type:V.type,server:V.server,createdAt:V.createdAt.toISOString(),data:V.data})),pending_server:{tasks:H.taskManager.getAllTasks().map((V)=>({taskId:V.taskId,server:V.server,toolName:V.toolName,status:V.status}))},pending_client:{sampling:H.pendingRequests.getPendingSamplingRequests().length,elicitation:H.pendingRequests.getPendingElicitationRequests().length}},H)}return Z0({triggered_by:"timeout",events:[],pending_server:{tasks:H.taskManager.getAllTasks().map((K)=>({taskId:K.taskId,server:K.server,toolName:K.toolName,status:K.status}))},pending_client:{sampling:H.pendingRequests.getPendingSamplingRequests().length,elicitation:H.pendingRequests.getPendingElicitationRequests().length}},H)}),Q.registerTool("list_tasks",{description:"List proxy tasks (background tool executions that exceeded timeout)",inputSchema:{include_completed:_.boolean().default(!1).describe("Include completed/failed/cancelled tasks (default: false, only working tasks)"),server:_.string().optional().describe("Filter by server name")}},({include_completed:J,server:G})=>{let H=D0(X());if(!H)return l("Session not initialized");let B=H.taskManager.getAllTasks(J);if(G)B=B.filter((K)=>K.server===G);if(B.length===0)return m0("No tasks",H);let z=B.map((K)=>({taskId:K.taskId,server:K.server,toolName:K.toolName,status:K.status,createdAt:K.createdAt.toISOString(),lastUpdatedAt:K.lastUpdatedAt.toISOString(),error:K.error,hasResult:K.result!==void 0}));return Z0(z,H)}),Q.registerTool("get_task",{description:"Get details of a specific task including its result if completed",inputSchema:{task_id:_.string().describe("The task ID to retrieve")}},({task_id:J})=>{let G=D0(X());if(!G)return l("Session not initialized");let H=G.taskManager.getTask(J);if(!H)return l(`Task '${J}' not found`);return Z0({taskId:H.taskId,server:H.server,toolName:H.toolName,args:H.args,status:H.status,createdAt:H.createdAt.toISOString(),lastUpdatedAt:H.lastUpdatedAt.toISOString(),ttl:H.ttl,error:H.error,result:H.result},G)}),Q.registerTool("cancel_task",{description:"Cancel a working task",inputSchema:{task_id:_.string().describe("The task ID to cancel")}},({task_id:J})=>{let G=D0(X());if(!G)return l("Session not initialized");if(G.taskManager.cancelTask(J))return m0(`Task '${J}' cancelled`,G);else return l(`Task '${J}' not found or not in working state`)}),Q.registerTool("set_timer",{description:"Set a timer that will fire after a specified duration. When the timer expires, you'll receive a notification in the context info of subsequent tool responses, and it will also appear as a timer_expired event in await_activity.",inputSchema:{duration_ms:_.number().min(1).max(86400000).describe("Duration in milliseconds until the timer fires (max 24 hours)"),message:_.string().min(1).max(500).describe("Message to include in the notification when the timer fires")}},({duration_ms:J,message:G})=>{let H=D0(X());if(!H)return l("Session not initialized");try{let B=H.timerManager.createTimer(J,G);return Z0({timerId:B.id,message:B.message,durationMs:B.durationMs,createdAt:B.createdAt.toISOString(),expiresAt:B.expiresAt.toISOString()},H)}catch(B){let z=B instanceof Error?B.message:String(B);return l(`Failed to set timer: ${z}`)}}),Q.registerTool("list_timers",{description:"List all timers for this session",inputSchema:{include_inactive:_.boolean().default(!1).describe("Include expired and deleted timers (default: false, only active timers)")}},({include_inactive:J})=>{let G=D0(X());if(!G)return l("Session not initialized");let H=G.timerManager.getAllTimers(J);if(H.length===0)return m0("No timers",G);let B=H.map((z)=>({id:z.id,message:z.message,durationMs:z.durationMs,status:z.status,createdAt:z.createdAt.toISOString(),expiresAt:z.expiresAt.toISOString()}));return Z0(B,G)}),Q.registerTool("get_timer",{description:"Get details of a specific timer",inputSchema:{timer_id:_.string().describe("The timer ID to retrieve")}},({timer_id:J})=>{let G=D0(X());if(!G)return l("Session not initialized");let H=G.timerManager.getTimer(J);if(!H)return l(`Timer '${J}' not found`);return Z0({id:H.id,message:H.message,durationMs:H.durationMs,status:H.status,createdAt:H.createdAt.toISOString(),expiresAt:H.expiresAt.toISOString()},G)}),Q.registerTool("delete_timer",{description:"Delete a timer. Returns the timer details before deletion.",inputSchema:{timer_id:_.string().describe("The timer ID to delete")}},({timer_id:J})=>{let G=D0(X());if(!G)return l("Session not initialized");let H=G.timerManager.deleteTimer(J);if(!H)return l(`Timer '${J}' not found`);return Z0({deleted:!0,timer:{id:H.id,message:H.message,durationMs:H.durationMs,status:H.status,createdAt:H.createdAt.toISOString(),expiresAt:H.expiresAt.toISOString()}},G)}),$)Q.registerTool("codemode_search",{description:"Search for MCP capabilities (tools, resources, prompts, servers) across all connected backend servers. Returns compact results that can be used to discover available functionality. Use regex patterns in the query to match names and descriptions.",inputSchema:{query:_.string().describe("Search query - matches against names and descriptions. Supports regex patterns."),type:_.enum(["tools","resources","prompts","servers","all"]).default("all").describe("Type of capability to search for"),server:_.string().optional().describe("Filter by server name (regex pattern). Omit to search all servers."),includeSchemas:_.boolean().default(!1).describe("Include full input schemas for tools (increases response size)")}},async({query:J,type:G,server:H,includeSchemas:B})=>{let z=D0(X());if(!z)return l("Session not initialized");try{let V=await wG({query:J,type:G,server:H,includeSchemas:B},{session:z,sessionManager:Y});return Z0(V,z)}catch(K){let V=K instanceof Error?K.message:String(K);return l(`Search failed: ${V}`)}}),Q.registerTool("codemode_execute",{description:"Execute JavaScript code in a sandboxed environment with access to MCP operations via the `mcp.*` API. Use this to perform complex operations that would require multiple tool calls. Available API: mcp.listServers(), mcp.listTools(pattern?), mcp.callTool(server, tool, args?), mcp.listResources(pattern?), mcp.readResource(server, uri), mcp.listPrompts(pattern?), mcp.getPrompt(server, name, args?), mcp.sleep(ms), mcp.log(...args). Code runs with async/await support. Return a value to include it in the response.",inputSchema:{code:_.string().describe("JavaScript code to execute. Has access to 'mcp' object for MCP operations. Async/await is supported. Return a value to include it in the result."),timeout:_.number().min(u6.MIN_TIMEOUT_MS).max(u6.MAX_TIMEOUT_MS).default(u6.DEFAULT_TIMEOUT_MS).describe(`Execution timeout in milliseconds (${String(u6.MIN_TIMEOUT_MS)}ms - ${String(u6.MAX_TIMEOUT_MS)}ms, default ${String(u6.DEFAULT_TIMEOUT_MS)}ms)`)}},async({code:J,timeout:G})=>{let H=D0(X());if(!H)return l("Session not initialized");let B=MG({code:J,timeout:G});if(B)return l(B);try{let z=await NG({code:J,timeout:G},{session:H,sessionManager:Y});return Z0(z,H)}catch(z){let K=z instanceof Error?z.message:String(z);return l(`Execution failed: ${K}`)}})}async function Xu(){let{configPath:Q,logLevel:Y,logFile:X}=sh(),W,$=X,J=process.env.EMCEEPEE_LOG_DIR;if(!$&&J){let F=await import("fs"),A=await import("path"),D=J.startsWith("~")?A.join(process.env.HOME??"",J.slice(1)):J;try{F.mkdirSync(D,{recursive:!0})}catch{}let O=new Date().toISOString().replace(/[:.]/g,"-");$=A.join(D,`emceepee-${O}-${String(process.pid)}.log`)}if($){let F=X?Y:J?"debug":Y;W=EU(F,$),W.info("Logging initialized",{logFile:$,logLevel:F})}else W=RU();W.info("Starting MCP Proxy Server (stdio mode)",{configPath:Q});let G=new qG({logger:W,sessionTimeoutMs:86400000,cleanupIntervalMs:300000}),H=process.env.EMCEEPEE_CONFIG;if(H)try{let F=Qu(H);W.info("Loading servers from config",{count:F.servers.length,source:"EMCEEPEE_CONFIG env var"});for(let A of F.servers)if(DG(A))W.info("Adding HTTP server config",{name:A.name,url:A.url}),G.getServerConfigs().addConfig(A.name,A.url);else if(OG(A))W.info("Adding stdio server config",{name:A.name,command:A.command}),G.getServerConfigs().addStdioConfig(A.name,A.command,A.args,{env:A.env,cwd:A.cwd,restartConfig:A.restartConfig})}catch(F){W.error("Failed to load config from EMCEEPEE_CONFIG",{error:F instanceof Error?F.message:String(F)}),process.exit(1)}else if(Q)try{let F=eh(Q);W.info("Loading servers from config",{count:F.servers.length,path:Q});for(let A of F.servers)if(DG(A))W.info("Adding HTTP server config",{name:A.name,url:A.url}),G.getServerConfigs().addConfig(A.name,A.url);else if(OG(A))W.info("Adding stdio server config",{name:A.name,command:A.command}),G.getServerConfigs().addStdioConfig(A.name,A.command,A.args,{env:A.env,cwd:A.cwd,restartConfig:A.restartConfig})}catch(F){W.error("Failed to load config",{error:F instanceof Error?F.message:String(F)}),process.exit(1)}let B=new kJ({name:"emceepee",version:"0.2.0"}),z=await G.createSession();W.info("Session created",{sessionId:z.sessionId}),Yu(B,G,()=>z);let K=new _J,V=$?ah(K,W):K,q=async()=>{W.info("Shutting down...",{}),await K.close(),await G.shutdown(),process.exit(0)};process.on("SIGINT",()=>void q()),process.on("SIGTERM",()=>void q()),await B.connect(V),W.info("Server started (stdio mode)",{})}Xu().catch((Q)=>{console.error("Fatal error:",Q),process.exit(1)});