trigger_system 1.1.0 → 1.1.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,186 +1,186 @@
1
- import{createRequire as iQ}from"node:module";var pQ=Object.create;var{getPrototypeOf:lQ,defineProperty:U2,getOwnPropertyNames:HX,getOwnPropertyDescriptor:dQ}=Object,WX=Object.prototype.hasOwnProperty;var cQ=(U,X,q)=>{q=U!=null?pQ(lQ(U)):{};let Z=X||!U||!U.__esModule?U2(q,"default",{value:U,enumerable:!0}):q;for(let Q of HX(U))if(!WX.call(Z,Q))U2(Z,Q,{get:()=>U[Q],enumerable:!0});return Z},JX=new WeakMap,_X=(U)=>{var X=JX.get(U),q;if(X)return X;if(X=U2({},"__esModule",{value:!0}),U&&typeof U==="object"||typeof U==="function")HX(U).map((Z)=>!WX.call(X,Z)&&U2(X,Z,{get:()=>U[Z],enumerable:!(q=dQ(U,Z))||q.enumerable}));return JX.set(U,X),X},D=(U,X)=>()=>(X||U((X={exports:{}}).exports,X),X.exports);var $X=(U,X)=>{for(var q in X)U2(U,q,{get:X[q],enumerable:!0,configurable:!0,set:(Z)=>X[q]=()=>Z})};var LX=(U,X)=>()=>(U&&(X=U(U=0)),X);var M1=iQ(import.meta.url);var SU={};$X(SU,{ExpressionEngine:()=>e});class e{static evaluate(U,X){try{if(U.includes("${")){let q=this.interpolate(U,X);if(!isNaN(Number(q))&&q.trim()!=="")return Number(q);return q}return this.evaluateExpression(U,X)}catch(q){return console.error(`Error evaluating expression: ${U}`,q),null}}static interpolate(U,X){return U.replace(/\$\{([^}]+)\}/g,(q,Z)=>{try{let Q=this.evaluateExpression(Z,X);if(Q===void 0||Q===null)return"undefined";return String(Q)}catch(Q){return console.error(`Error en interpolación: ${q}`,Q),q}})}static evaluateMathExpression(U){try{return Function("Math",`return ${U}`)(Math)}catch(X){throw Error(`Error evaluando expresión matemática: ${U}`)}}static evaluateExpression(U,X){if(/^(data|globals|request|computed|vars|state|lastResult)(\.[a-zA-Z0-9_]+)+$/.test(U))return this.getNestedValue(U,X);if(/^(vars|state|lastResult)(\.[a-zA-Z0-9_]+)$/.test(U))return this.getNestedValue(U,X);try{return Function("context","with(context) { return "+U+" }")(X)}catch(q){return console.error(`ERROR evaluating expression '${U}':`,q),U}}static getNestedValue(U,X){let q=U.split("."),Z=X;for(let Q of q){if(Z===null||Z===void 0||typeof Z!=="object"||!(Q in Z))return;Z=Z[Q]}return Z}static evaluateMath(U,X){let q=U;q=q.replace(/\b[a-zA-Z_][a-zA-Z0-9_]*\b/g,(Z)=>{if(["Math","random","floor","ceil","round","sqrt","abs","pow","min","max","sin","cos","tan"].includes(Z))return Z;let Q=this.getNestedValue(Z,X);if(Q!==void 0)return typeof Q==="string"?`"${Q}"`:String(Q);return Z});try{return this.evaluateMathExpression(q)}catch(Z){return console.error(`Error en evaluación matemática: ${U}`,Z),NaN}}}class EU{store=new Map;async loadState(){return new Map(this.store)}async saveState(U,X){this.store.set(U,X)}async deleteState(U){this.store.delete(U)}async clearState(){this.store.clear()}}class L0{static instance;state;persistence;constructor(){this.state=new Map,this.persistence=new EU}static getInstance(){if(!L0.instance)L0.instance=new L0;return L0.instance}setPersistence(U){this.persistence=U}async initialize(){let U=await this.persistence.loadState();this.state=U,console.log(`[StateManager] Initialized with ${this.state.size} keys.`)}get(U){return this.state.get(U)}async set(U,X){this.state.set(U,X),await this.persistence.saveState(U,X)}async increment(U,X=1){let q=this.get(U)||0,Z=Number(q)+X;return await this.set(U,Z),Z}async decrement(U,X=1){return this.increment(U,-X)}async delete(U){let X=this.state.delete(U);if(X)await this.persistence.deleteState(U);return X}async clear(){this.state.clear(),await this.persistence.clearState()}getAll(){return Object.fromEntries(this.state)}}var X2=()=>{};var FX={};$X(FX,{ActionRegistry:()=>P1});class P1{static instance;handlers=new Map;constructor(){this.registerDefaults()}static getInstance(){if(!this.instance)this.instance=new P1;return this.instance}register(U,X){this.handlers.set(U.toUpperCase(),X)}get(U){return this.handlers.get(U.toUpperCase())}registerDefaults(){this.register("log",(U,X)=>{let q=U.params?.message||U.params?.content||"Log Trigger",Z=typeof q==="string"?e.interpolate(q,X):String(q);return console.log(`[TriggerLog] ${Z}`),{message:Z}}),this.register("math",(U,X)=>{let q=String(U.params?.expression||"0");return e.evaluate(q,X)}),this.register("response",(U,X)=>{let q=U.params?.content||U.params?.body||"",Z=typeof q==="string"?e.interpolate(q,X):String(q);return{statusCode:U.params?.statusCode||200,headers:U.params?.headers||{"Content-Type":"application/json"},body:Z}}),this.register("execute",async(U,X)=>{let q=U.params?.command||U.params?.content||"",Z=typeof q==="string"?e.interpolate(q,X):String(q);if(!U.params?.safe)console.warn(`[Trigger] Ejecutando comando no seguro: ${Z}`);try{let Q=Bun.spawn(Z.split(" "),{stdout:"pipe",stderr:"pipe"}),[G,Y]=await Promise.all([new Response(Q.stdout).text(),new Response(Q.stderr).text()]);return{command:Z,stdout:G,stderr:Y,exitCode:await Q.exited}}catch(Q){return{command:Z,error:String(Q)}}}),this.register("forward",async(U,X)=>{let q=U.params?.url||"",Z=typeof q==="string"?e.interpolate(q,X):String(q),Q=String(U.params?.method||"POST");try{let G=await fetch(Z,{method:Q,headers:{"Content-Type":"application/json",...typeof U.params?.headers==="object"&&U.params.headers!==null&&!Array.isArray(U.params.headers)?U.params.headers:{}},body:JSON.stringify(X.data)});return{url:Z,method:Q,status:G.status,headers:(()=>{let Y={};return G.headers.forEach((J,H)=>Y[H]=J),Y})(),body:await G.text()}}catch(G){return{url:Z,method:Q,error:String(G)}}}),this.register("STATE_SET",async(U,X)=>{let q=String(U.params?.key||""),Z=U.params?.value;if(!q)return{error:"Missing key for STATE_SET"};let Q=Z;if(typeof Z==="string"&&Z.includes("${"))Q=e.interpolate(Z,X);return await L0.getInstance().set(q,Q),{key:q,value:Q}}),this.register("STATE_INCREMENT",async(U,X)=>{let q=String(U.params?.key||""),Z=Number(U.params?.amount)||1;if(!q)return{error:"Missing key for STATE_INCREMENT"};let Q=await L0.getInstance().increment(q,Z);return{key:q,newValue:Q}}),this.register("STATE_GET",async(U,X)=>{let q=String(U.params?.key||""),Z=String(U.params?.as||q);if(!q)return{error:"Missing key for STATE_GET"};let Q=await L0.getInstance().get(q);if(!X.vars)X.vars={};return X.vars[Z]=Q,{key:q,value:Q,storedAs:Z}}),this.register("STATE_DELETE",async(U,X)=>{let q=String(U.params?.key||"");if(!q)return{error:"Missing key for STATE_DELETE"};let Z=await L0.getInstance().delete(q);return{key:q,deleted:Z}}),this.register("EMIT_EVENT",(U,X)=>{return{event:U.params?.event,payload:U.params?.data||{}}})}}var q2=LX(()=>{X2()});var k=D((GJ)=>{var r4=Symbol.for("yaml.alias"),b8=Symbol.for("yaml.document"),m6=Symbol.for("yaml.map"),f8=Symbol.for("yaml.pair"),a4=Symbol.for("yaml.scalar"),p6=Symbol.for("yaml.seq"),u0=Symbol.for("yaml.node.type"),t7=(U)=>!!U&&typeof U==="object"&&U[u0]===r4,e7=(U)=>!!U&&typeof U==="object"&&U[u0]===b8,UJ=(U)=>!!U&&typeof U==="object"&&U[u0]===m6,XJ=(U)=>!!U&&typeof U==="object"&&U[u0]===f8,y8=(U)=>!!U&&typeof U==="object"&&U[u0]===a4,qJ=(U)=>!!U&&typeof U==="object"&&U[u0]===p6;function g8(U){if(U&&typeof U==="object")switch(U[u0]){case m6:case p6:return!0}return!1}function ZJ(U){if(U&&typeof U==="object")switch(U[u0]){case r4:case m6:case a4:case p6:return!0}return!1}var QJ=(U)=>(y8(U)||g8(U))&&!!U.anchor;GJ.ALIAS=r4;GJ.DOC=b8;GJ.MAP=m6;GJ.NODE_TYPE=u0;GJ.PAIR=f8;GJ.SCALAR=a4;GJ.SEQ=p6;GJ.hasAnchor=QJ;GJ.isAlias=t7;GJ.isCollection=g8;GJ.isDocument=e7;GJ.isMap=UJ;GJ.isNode=ZJ;GJ.isPair=XJ;GJ.isScalar=y8;GJ.isSeq=qJ});var y2=D((MJ)=>{var t=k(),$0=Symbol("break visit"),k8=Symbol("skip children"),b0=Symbol("remove node");function l6(U,X){let q=v8(X);if(t.isDocument(U)){if(l1(null,U.contents,q,Object.freeze([U]))===b0)U.contents=null}else l1(null,U,q,Object.freeze([]))}l6.BREAK=$0;l6.SKIP=k8;l6.REMOVE=b0;function l1(U,X,q,Z){let Q=h8(U,X,q,Z);if(t.isNode(Q)||t.isPair(Q))return x8(U,Z,Q),l1(U,Q,q,Z);if(typeof Q!=="symbol"){if(t.isCollection(X)){Z=Object.freeze(Z.concat(X));for(let G=0;G<X.items.length;++G){let Y=l1(G,X.items[G],q,Z);if(typeof Y==="number")G=Y-1;else if(Y===$0)return $0;else if(Y===b0)X.items.splice(G,1),G-=1}}else if(t.isPair(X)){Z=Object.freeze(Z.concat(X));let G=l1("key",X.key,q,Z);if(G===$0)return $0;else if(G===b0)X.key=null;let Y=l1("value",X.value,q,Z);if(Y===$0)return $0;else if(Y===b0)X.value=null}}return Q}async function d6(U,X){let q=v8(X);if(t.isDocument(U)){if(await d1(null,U.contents,q,Object.freeze([U]))===b0)U.contents=null}else await d1(null,U,q,Object.freeze([]))}d6.BREAK=$0;d6.SKIP=k8;d6.REMOVE=b0;async function d1(U,X,q,Z){let Q=await h8(U,X,q,Z);if(t.isNode(Q)||t.isPair(Q))return x8(U,Z,Q),d1(U,Q,q,Z);if(typeof Q!=="symbol"){if(t.isCollection(X)){Z=Object.freeze(Z.concat(X));for(let G=0;G<X.items.length;++G){let Y=await d1(G,X.items[G],q,Z);if(typeof Y==="number")G=Y-1;else if(Y===$0)return $0;else if(Y===b0)X.items.splice(G,1),G-=1}}else if(t.isPair(X)){Z=Object.freeze(Z.concat(X));let G=await d1("key",X.key,q,Z);if(G===$0)return $0;else if(G===b0)X.key=null;let Y=await d1("value",X.value,q,Z);if(Y===$0)return $0;else if(Y===b0)X.value=null}}return Q}function v8(U){if(typeof U==="object"&&(U.Collection||U.Node||U.Value))return Object.assign({Alias:U.Node,Map:U.Node,Scalar:U.Node,Seq:U.Node},U.Value&&{Map:U.Value,Scalar:U.Value,Seq:U.Value},U.Collection&&{Map:U.Collection,Seq:U.Collection},U);return U}function h8(U,X,q,Z){if(typeof q==="function")return q(U,X,Z);if(t.isMap(X))return q.Map?.(U,X,Z);if(t.isSeq(X))return q.Seq?.(U,X,Z);if(t.isPair(X))return q.Pair?.(U,X,Z);if(t.isScalar(X))return q.Scalar?.(U,X,Z);if(t.isAlias(X))return q.Alias?.(U,X,Z);return}function x8(U,X,q){let Z=X[X.length-1];if(t.isCollection(Z))Z.items[U]=q;else if(t.isPair(Z))if(U==="key")Z.key=q;else Z.value=q;else if(t.isDocument(Z))Z.contents=q;else{let Q=t.isAlias(Z)?"alias":"scalar";throw Error(`Cannot replace node with ${Q} parent`)}}MJ.visit=l6;MJ.visitAsync=d6});var n4=D((CJ)=>{var u8=k(),IJ=y2(),KJ={"!":"%21",",":"%2C","[":"%5B","]":"%5D","{":"%7B","}":"%7D"},NJ=(U)=>U.replace(/[!,[\]{}]/g,(X)=>KJ[X]);class T0{constructor(U,X){this.docStart=null,this.docEnd=!1,this.yaml=Object.assign({},T0.defaultYaml,U),this.tags=Object.assign({},T0.defaultTags,X)}clone(){let U=new T0(this.yaml,this.tags);return U.docStart=this.docStart,U}atDocument(){let U=new T0(this.yaml,this.tags);switch(this.yaml.version){case"1.1":this.atNextDocument=!0;break;case"1.2":this.atNextDocument=!1,this.yaml={explicit:T0.defaultYaml.explicit,version:"1.2"},this.tags=Object.assign({},T0.defaultTags);break}return U}add(U,X){if(this.atNextDocument)this.yaml={explicit:T0.defaultYaml.explicit,version:"1.1"},this.tags=Object.assign({},T0.defaultTags),this.atNextDocument=!1;let q=U.trim().split(/[ \t]+/),Z=q.shift();switch(Z){case"%TAG":{if(q.length!==2){if(X(0,"%TAG directive should contain exactly two parts"),q.length<2)return!1}let[Q,G]=q;return this.tags[Q]=G,!0}case"%YAML":{if(this.yaml.explicit=!0,q.length!==1)return X(0,"%YAML directive should contain exactly one part"),!1;let[Q]=q;if(Q==="1.1"||Q==="1.2")return this.yaml.version=Q,!0;else{let G=/^\d+\.\d+$/.test(Q);return X(6,`Unsupported YAML version ${Q}`,G),!1}}default:return X(0,`Unknown directive ${Z}`,!0),!1}}tagName(U,X){if(U==="!")return"!";if(U[0]!=="!")return X(`Not a valid tag: ${U}`),null;if(U[1]==="<"){let G=U.slice(2,-1);if(G==="!"||G==="!!")return X(`Verbatim tags aren't resolved, so ${U} is invalid.`),null;if(U[U.length-1]!==">")X("Verbatim tags must end with a >");return G}let[,q,Z]=U.match(/^(.*!)([^!]*)$/s);if(!Z)X(`The ${U} tag has no suffix`);let Q=this.tags[q];if(Q)try{return Q+decodeURIComponent(Z)}catch(G){return X(String(G)),null}if(q==="!")return U;return X(`Could not resolve tag: ${U}`),null}tagString(U){for(let[X,q]of Object.entries(this.tags))if(U.startsWith(q))return X+NJ(U.substring(q.length));return U[0]==="!"?U:`!<${U}>`}toString(U){let X=this.yaml.explicit?[`%YAML ${this.yaml.version||"1.2"}`]:[],q=Object.entries(this.tags),Z;if(U&&q.length>0&&u8.isNode(U.contents)){let Q={};IJ.visit(U.contents,(G,Y)=>{if(u8.isNode(Y)&&Y.tag)Q[Y.tag]=!0}),Z=Object.keys(Q)}else Z=[];for(let[Q,G]of q){if(Q==="!!"&&G==="tag:yaml.org,2002:")continue;if(!U||Z.some((Y)=>Y.startsWith(G)))X.push(`%TAG ${Q} ${G}`)}return X.join(`
2
- `)}}T0.defaultYaml={explicit:!1,version:"1.2"};T0.defaultTags={"!!":"tag:yaml.org,2002:"};CJ.Directives=T0});var c6=D((fJ)=>{var m8=k(),EJ=y2();function jJ(U){if(/[\x00-\x19\s,[\]{}]/.test(U)){let q=`Anchor must not contain whitespace or control characters: ${JSON.stringify(U)}`;throw Error(q)}return!0}function p8(U){let X=new Set;return EJ.visit(U,{Value(q,Z){if(Z.anchor)X.add(Z.anchor)}}),X}function l8(U,X){for(let q=1;;++q){let Z=`${U}${q}`;if(!X.has(Z))return Z}}function bJ(U,X){let q=[],Z=new Map,Q=null;return{onAnchor:(G)=>{q.push(G),Q??(Q=p8(U));let Y=l8(X,Q);return Q.add(Y),Y},setAnchors:()=>{for(let G of q){let Y=Z.get(G);if(typeof Y==="object"&&Y.anchor&&(m8.isScalar(Y.node)||m8.isCollection(Y.node)))Y.node.anchor=Y.anchor;else{let J=Error("Failed to resolve repeated object (this should not happen)");throw J.source=G,J}}},sourceObjects:Z}}fJ.anchorIsValid=jJ;fJ.anchorNames=p8;fJ.createNodeAnchors=bJ;fJ.findNewAnchor=l8});var t4=D((hJ)=>{function g2(U,X,q,Z){if(Z&&typeof Z==="object")if(Array.isArray(Z))for(let Q=0,G=Z.length;Q<G;++Q){let Y=Z[Q],J=g2(U,Z,String(Q),Y);if(J===void 0)delete Z[Q];else if(J!==Y)Z[Q]=J}else if(Z instanceof Map)for(let Q of Array.from(Z.keys())){let G=Z.get(Q),Y=g2(U,Z,Q,G);if(Y===void 0)Z.delete(Q);else if(Y!==G)Z.set(Q,Y)}else if(Z instanceof Set)for(let Q of Array.from(Z)){let G=g2(U,Z,Q,Q);if(G===void 0)Z.delete(Q);else if(G!==Q)Z.delete(Q),Z.add(G)}else for(let[Q,G]of Object.entries(Z)){let Y=g2(U,Z,Q,G);if(Y===void 0)delete Z[Q];else if(Y!==G)Z[Q]=Y}return U.call(X,q,Z)}hJ.applyReviver=g2});var n0=D((mJ)=>{var uJ=k();function d8(U,X,q){if(Array.isArray(U))return U.map((Z,Q)=>d8(Z,String(Q),q));if(U&&typeof U.toJSON==="function"){if(!q||!uJ.hasAnchor(U))return U.toJSON(X,q);let Z={aliasCount:0,count:1,res:void 0};q.anchors.set(U,Z),q.onCreate=(G)=>{Z.res=G,delete q.onCreate};let Q=U.toJSON(X,q);if(q.onCreate)q.onCreate(Q);return Q}if(typeof U==="bigint"&&!q?.keep)return Number(U);return U}mJ.toJS=d8});var i6=D((cJ)=>{var lJ=t4(),c8=k(),dJ=n0();class i8{constructor(U){Object.defineProperty(this,c8.NODE_TYPE,{value:U})}clone(){let U=Object.create(Object.getPrototypeOf(this),Object.getOwnPropertyDescriptors(this));if(this.range)U.range=this.range.slice();return U}toJS(U,{mapAsMap:X,maxAliasCount:q,onAnchor:Z,reviver:Q}={}){if(!c8.isDocument(U))throw TypeError("A document argument is required");let G={anchors:new Map,doc:U,keep:!0,mapAsMap:X===!0,mapKeyWarned:!1,maxAliasCount:typeof q==="number"?q:100},Y=dJ.toJS(this,"",G);if(typeof Z==="function")for(let{count:J,res:H}of G.anchors.values())Z(H,J);return typeof Q==="function"?lJ.applyReviver(Q,{"":Y},"",Y):Y}}cJ.NodeBase=i8});var k2=D((nJ)=>{var sJ=c6(),oJ=y2(),c1=k(),rJ=i6(),aJ=n0();class s8 extends rJ.NodeBase{constructor(U){super(c1.ALIAS);this.source=U,Object.defineProperty(this,"tag",{set(){throw Error("Alias nodes cannot have tags")}})}resolve(U,X){let q;if(X?.aliasResolveCache)q=X.aliasResolveCache;else if(q=[],oJ.visit(U,{Node:(Q,G)=>{if(c1.isAlias(G)||c1.hasAnchor(G))q.push(G)}}),X)X.aliasResolveCache=q;let Z=void 0;for(let Q of q){if(Q===this)break;if(Q.anchor===this.source)Z=Q}return Z}toJSON(U,X){if(!X)return{source:this.source};let{anchors:q,doc:Z,maxAliasCount:Q}=X,G=this.resolve(Z,X);if(!G){let J=`Unresolved alias (the anchor must be set before the alias): ${this.source}`;throw ReferenceError(J)}let Y=q.get(G);if(!Y)aJ.toJS(G,null,X),Y=q.get(G);if(Y?.res===void 0)throw ReferenceError("This should not happen: Alias anchor was not resolved?");if(Q>=0){if(Y.count+=1,Y.aliasCount===0)Y.aliasCount=s6(Z,G,q);if(Y.count*Y.aliasCount>Q)throw ReferenceError("Excessive alias count indicates a resource exhaustion attack")}return Y.res}toString(U,X,q){let Z=`*${this.source}`;if(U){if(sJ.anchorIsValid(this.source),U.options.verifyAliasOrder&&!U.anchors.has(this.source)){let Q=`Unresolved alias (the anchor must be set before the alias): ${this.source}`;throw Error(Q)}if(U.implicitKey)return`${Z} `}return Z}}function s6(U,X,q){if(c1.isAlias(X)){let Z=X.resolve(U),Q=q&&Z&&q.get(Z);return Q?Q.count*Q.aliasCount:0}else if(c1.isCollection(X)){let Z=0;for(let Q of X.items){let G=s6(U,Q,q);if(G>Z)Z=G}return Z}else if(c1.isPair(X)){let Z=s6(U,X.key,q),Q=s6(U,X.value,q);return Math.max(Z,Q)}return 1}nJ.Alias=s8});var i=D((ZH)=>{var eJ=k(),UH=i6(),XH=n0(),qH=(U)=>!U||typeof U!=="function"&&typeof U!=="object";class F1 extends UH.NodeBase{constructor(U){super(eJ.SCALAR);this.value=U}toJSON(U,X){return X?.keep?this.value:XH.toJS(this.value,U,X)}toString(){return String(this.value)}}F1.BLOCK_FOLDED="BLOCK_FOLDED";F1.BLOCK_LITERAL="BLOCK_LITERAL";F1.PLAIN="PLAIN";F1.QUOTE_DOUBLE="QUOTE_DOUBLE";F1.QUOTE_SINGLE="QUOTE_SINGLE";ZH.Scalar=F1;ZH.isScalarValue=qH});var v2=D((_H)=>{var YH=k2(),A1=k(),o8=i(),JH="tag:yaml.org,2002:";function HH(U,X,q){if(X){let Z=q.filter((G)=>G.tag===X),Q=Z.find((G)=>!G.format)??Z[0];if(!Q)throw Error(`Tag ${X} not found`);return Q}return q.find((Z)=>Z.identify?.(U)&&!Z.format)}function WH(U,X,q){if(A1.isDocument(U))U=U.contents;if(A1.isNode(U))return U;if(A1.isPair(U)){let _=q.schema[A1.MAP].createNode?.(q.schema,null,q);return _.items.push(U),_}if(U instanceof String||U instanceof Number||U instanceof Boolean||typeof BigInt<"u"&&U instanceof BigInt)U=U.valueOf();let{aliasDuplicateObjects:Z,onAnchor:Q,onTagObj:G,schema:Y,sourceObjects:J}=q,H=void 0;if(Z&&U&&typeof U==="object")if(H=J.get(U),H)return H.anchor??(H.anchor=Q(U)),new YH.Alias(H.anchor);else H={anchor:null,node:null},J.set(U,H);if(X?.startsWith("!!"))X=JH+X.slice(2);let W=HH(U,X,Y.tags);if(!W){if(U&&typeof U.toJSON==="function")U=U.toJSON();if(!U||typeof U!=="object"){let _=new o8.Scalar(U);if(H)H.node=_;return _}W=U instanceof Map?Y[A1.MAP]:(Symbol.iterator in Object(U))?Y[A1.SEQ]:Y[A1.MAP]}if(G)G(W),delete q.onTagObj;let $=W?.createNode?W.createNode(q.schema,U,q):typeof W?.nodeClass?.from==="function"?W.nodeClass.from(q.schema,U,q):new o8.Scalar(U);if(X)$.tag=X;else if(!W.default)$.tag=W.tag;if(H)H.node=$;return $}_H.createNode=WH});var o6=D((FH)=>{var LH=v2(),f0=k(),zH=i6();function e4(U,X,q){let Z=q;for(let Q=X.length-1;Q>=0;--Q){let G=X[Q];if(typeof G==="number"&&Number.isInteger(G)&&G>=0){let Y=[];Y[G]=Z,Z=Y}else Z=new Map([[G,Z]])}return LH.createNode(Z,void 0,{aliasDuplicateObjects:!1,keepUndefined:!1,onAnchor:()=>{throw Error("This should not happen, please report a bug.")},schema:U,sourceObjects:new Map})}var r8=(U)=>U==null||typeof U==="object"&&!!U[Symbol.iterator]().next().done;class a8 extends zH.NodeBase{constructor(U,X){super(U);Object.defineProperty(this,"schema",{value:X,configurable:!0,enumerable:!1,writable:!0})}clone(U){let X=Object.create(Object.getPrototypeOf(this),Object.getOwnPropertyDescriptors(this));if(U)X.schema=U;if(X.items=X.items.map((q)=>f0.isNode(q)||f0.isPair(q)?q.clone(U):q),this.range)X.range=this.range.slice();return X}addIn(U,X){if(r8(U))this.add(X);else{let[q,...Z]=U,Q=this.get(q,!0);if(f0.isCollection(Q))Q.addIn(Z,X);else if(Q===void 0&&this.schema)this.set(q,e4(this.schema,Z,X));else throw Error(`Expected YAML collection at ${q}. Remaining path: ${Z}`)}}deleteIn(U){let[X,...q]=U;if(q.length===0)return this.delete(X);let Z=this.get(X,!0);if(f0.isCollection(Z))return Z.deleteIn(q);else throw Error(`Expected YAML collection at ${X}. Remaining path: ${q}`)}getIn(U,X){let[q,...Z]=U,Q=this.get(q,!0);if(Z.length===0)return!X&&f0.isScalar(Q)?Q.value:Q;else return f0.isCollection(Q)?Q.getIn(Z,X):void 0}hasAllNullValues(U){return this.items.every((X)=>{if(!f0.isPair(X))return!1;let q=X.value;return q==null||U&&f0.isScalar(q)&&q.value==null&&!q.commentBefore&&!q.comment&&!q.tag})}hasIn(U){let[X,...q]=U;if(q.length===0)return this.has(X);let Z=this.get(X,!0);return f0.isCollection(Z)?Z.hasIn(q):!1}setIn(U,X){let[q,...Z]=U;if(Z.length===0)this.set(q,X);else{let Q=this.get(q,!0);if(f0.isCollection(Q))Q.setIn(Z,X);else if(Q===void 0&&this.schema)this.set(q,e4(this.schema,Z,X));else throw Error(`Expected YAML collection at ${q}. Remaining path: ${Z}`)}}}FH.Collection=a8;FH.collectionFromPath=e4;FH.isEmptyPath=r8});var h2=D((DH)=>{var BH=(U)=>U.replace(/^(?!$)(?: $)?/gm,"#");function U9(U,X){if(/^\n+$/.test(U))return U.substring(1);return X?U.replace(/^(?! *$)/gm,X):U}var TH=(U,X,q)=>U.endsWith(`
1
+ import{createRequire as iQ}from"node:module";var pQ=Object.create;var{getPrototypeOf:lQ,defineProperty:X2,getOwnPropertyNames:HX,getOwnPropertyDescriptor:dQ}=Object,WX=Object.prototype.hasOwnProperty;var cQ=(U,X,q)=>{q=U!=null?pQ(lQ(U)):{};let Z=X||!U||!U.__esModule?X2(q,"default",{value:U,enumerable:!0}):q;for(let Q of HX(U))if(!WX.call(Z,Q))X2(Z,Q,{get:()=>U[Q],enumerable:!0});return Z},JX=new WeakMap,_X=(U)=>{var X=JX.get(U),q;if(X)return X;if(X=X2({},"__esModule",{value:!0}),U&&typeof U==="object"||typeof U==="function")HX(U).map((Z)=>!WX.call(X,Z)&&X2(X,Z,{get:()=>U[Z],enumerable:!(q=dQ(U,Z))||q.enumerable}));return JX.set(U,X),X},R=(U,X)=>()=>(X||U((X={exports:{}}).exports,X),X.exports);var $X=(U,X)=>{for(var q in X)X2(U,q,{get:X[q],enumerable:!0,configurable:!0,set:(Z)=>X[q]=()=>Z})};var LX=(U,X)=>()=>(U&&(X=U(U=0)),X);var M1=iQ(import.meta.url);var S6={};$X(S6,{ExpressionEngine:()=>e});class e{static evaluate(U,X){try{if(U.includes("${")){let q=this.interpolate(U,X);if(!isNaN(Number(q))&&q.trim()!=="")return Number(q);return q}return this.evaluateExpression(U,X)}catch(q){return console.error(`Error evaluating expression: ${U}`,q),null}}static interpolate(U,X){return U.replace(/\$\{([^}]+)\}/g,(q,Z)=>{try{let Q=this.evaluateExpression(Z,X);if(Q===void 0||Q===null)return"undefined";return String(Q)}catch(Q){return console.error(`Error en interpolación: ${q}`,Q),q}})}static evaluateMathExpression(U){try{return Function("Math",`return ${U}`)(Math)}catch(X){throw Error(`Error evaluando expresión matemática: ${U}`)}}static evaluateExpression(U,X){if(/^(data|vars|request|computed|env|state)(\.[a-zA-Z0-9_]+)+$/.test(U))return this.getNestedValue(U,X);if(/^(vars|env|state)(\.[a-zA-Z0-9_]+)$/.test(U))return this.getNestedValue(U,X);try{return Function("context","with(context) { return "+U+" }")(X)}catch(q){return console.error(`ERROR evaluating expression '${U}':`,q),U}}static getNestedValue(U,X){let q=U.split("."),Z=X;for(let Q of q){if(Z===null||Z===void 0||typeof Z!=="object"||!(Q in Z))return;Z=Z[Q]}return Z}static evaluateMath(U,X){let q=U;q=q.replace(/\b[a-zA-Z_][a-zA-Z0-9_]*\b/g,(Z)=>{if(["Math","random","floor","ceil","round","sqrt","abs","pow","min","max","sin","cos","tan"].includes(Z))return Z;let Q=this.getNestedValue(Z,X);if(Q!==void 0)return typeof Q==="string"?`"${Q}"`:String(Q);return Z});try{return this.evaluateMathExpression(q)}catch(Z){return console.error(`Error en evaluación matemática: ${U}`,Z),NaN}}}class E6{store=new Map;async loadState(){return new Map(this.store)}async saveState(U,X){this.store.set(U,X)}async deleteState(U){this.store.delete(U)}async clearState(){this.store.clear()}}class U0{static instance;state;persistence;constructor(){this.state={},this.persistence=new E6}static getInstance(){if(!U0.instance)U0.instance=new U0;return U0.instance}setPersistence(U){this.persistence=U}async initialize(){let U=await this.persistence.loadState();if(U instanceof Map)this.state=Object.fromEntries(U);else this.state=U||{};console.log(`[StateManager] Initialized with ${Object.keys(this.state).length} root keys.`)}get(U){return this.state[U]}async set(U,X){this.state[U]=X,await this.persistence.saveState(U,X)}async increment(U,X=1){let q=this.state[U]||0,Z=Number(q)+X;return this.state[U]=Z,await this.persistence.saveState(U,Z),Z}async decrement(U,X=1){return this.increment(U,-X)}async delete(U){if(U in this.state)return delete this.state[U],await this.persistence.deleteState(U),!0;return!1}async clear(){this.state={},await this.persistence.clearState()}async applyConfig(U){if(!U.state)return;for(let[X,q]of Object.entries(U.state))if(typeof q!=="object"||q===null||!("value"in q)){if(this.state[X]===void 0)await this.set(X,q)}else{let Z=q;if(this.state[X]===void 0)await this.set(X,Z.value);if(Z.lifecycle?.ttl)this.setupTTL(X,Z.lifecycle.ttl)}}setupTTL(U,X){let q=0;if(typeof X==="number")q=X;else{let Z=X.match(/^(\d+)([smhd])$/);if(Z&&Z[1]&&Z[2]){let Q=parseInt(Z[1]),G=Z[2];q=Q*({s:1000,m:60000,h:3600000,d:86400000}[G]||0)}}if(q>0)setTimeout(()=>{this.delete(U).catch(console.error)},q)}getAll(){return{...this.state}}getLiveProxy(){let U=this;function X(q,Z=[]){return new Proxy(q,{get(Q,G){let Y=Q[G];if(Y&&typeof Y==="object"&&!Array.isArray(Y))return X(Y,[...Z,G]);return Y},set(Q,G,Y){if(typeof G!=="string")return!1;Q[G]=Y;let J=Z.length>0?Z[0]:G;if(J)U.persistence.saveState(J,U.state[J]);return!0}})}return X(this.state)}}var P1=()=>{};var FX={};$X(FX,{ActionRegistry:()=>w1});class w1{static instance;handlers=new Map;constructor(){this.registerDefaults()}static getInstance(){if(!this.instance)this.instance=new w1;return this.instance}register(U,X){this.handlers.set(U.toUpperCase(),X)}get(U){return this.handlers.get(U.toUpperCase())}registerDefaults(){this.register("log",(U,X)=>{let q=U.params?.message||U.params?.content||"Log Trigger",Z=typeof q==="string"?e.interpolate(q,X):String(q);return console.log(`[TriggerLog] ${Z}`),{message:Z}}),this.register("math",(U,X)=>{let q=String(U.params?.expression||"0");return e.evaluate(q,X)}),this.register("response",(U,X)=>{let q=U.params?.content||U.params?.body||"",Z=typeof q==="string"?e.interpolate(q,X):String(q);return{statusCode:U.params?.statusCode||200,headers:U.params?.headers||{"Content-Type":"application/json"},body:Z}}),this.register("execute",async(U,X)=>{let q=U.params?.command||U.params?.content||"",Z=typeof q==="string"?e.interpolate(q,X):String(q);if(!U.params?.safe)console.warn(`[Trigger] Ejecutando comando no seguro: ${Z}`);try{let Q=Bun.spawn(Z.split(" "),{stdout:"pipe",stderr:"pipe"}),[G,Y]=await Promise.all([new Response(Q.stdout).text(),new Response(Q.stderr).text()]);return{command:Z,stdout:G,stderr:Y,exitCode:await Q.exited}}catch(Q){return{command:Z,error:String(Q)}}}),this.register("forward",async(U,X)=>{let q=U.params?.url||"",Z=typeof q==="string"?e.interpolate(q,X):String(q),Q=String(U.params?.method||"POST").toUpperCase(),Y=["POST","PUT","PATCH"].includes(Q);try{let J=await fetch(Z,{method:Q,headers:{"Content-Type":"application/json",...typeof U.params?.headers==="object"&&U.params.headers!==null&&!Array.isArray(U.params.headers)?U.params.headers:{}},...Y?{body:JSON.stringify(X.data)}:{}});return{url:Z,method:Q,status:J.status,headers:(()=>{let H={};return J.headers.forEach((W,$)=>H[$]=W),H})(),body:await J.text()}}catch(J){return{url:Z,method:Q,error:String(J)}}}),this.register("STATE_SET",async(U,X)=>{let q=String(U.params?.key||""),Z=U.params?.value;if(!q)return{error:"Missing key for STATE_SET"};let Q=Z;if(typeof Z==="string"&&Z.includes("${"))Q=e.interpolate(Z,X);return await U0.getInstance().set(q,Q),{key:q,value:Q}}),this.register("STATE_INCREMENT",async(U,X)=>{let q=String(U.params?.key||""),Z=Number(U.params?.amount)||1;if(!q)return{error:"Missing key for STATE_INCREMENT"};let Q=await U0.getInstance().increment(q,Z);return{key:q,newValue:Q}}),this.register("STATE_GET",async(U,X)=>{let q=String(U.params?.key||""),Z=String(U.params?.as||q);if(!q)return{error:"Missing key for STATE_GET"};let Q=await U0.getInstance().get(q);if(!X.env)X.env={};return X.env[Z]=Q,{key:q,value:Q,storedAs:Z}}),this.register("STATE_DELETE",async(U,X)=>{let q=String(U.params?.key||"");if(!q)return{error:"Missing key for STATE_DELETE"};let Z=await U0.getInstance().delete(q);return{key:q,deleted:Z}}),this.register("EMIT_EVENT",(U,X)=>{return{event:U.params?.event,payload:U.params?.data||{}}}),this.register("notify",(U,X)=>{let q=U.params?.message||U.params?.content||"Notification",Z=U.params?.target||"default";return console.log(`[Notification] To: ${Z}, Msg: ${q}`),{target:Z,message:q}}),this.register("STATE_OP",(U,X)=>{if(U.params?.run)return Function("context","state","data","vars","env","helpers",`with(context) { ${U.params.run} }`)(X,X.state,X.data,X.vars,X.env,X.helpers);return{warning:"Missing 'run' param for STATE_OP"}})}}var q2=LX(()=>{P1()});var k=R((GJ)=>{var r4=Symbol.for("yaml.alias"),b8=Symbol.for("yaml.document"),mU=Symbol.for("yaml.map"),f8=Symbol.for("yaml.pair"),a4=Symbol.for("yaml.scalar"),pU=Symbol.for("yaml.seq"),u0=Symbol.for("yaml.node.type"),tY=(U)=>!!U&&typeof U==="object"&&U[u0]===r4,eY=(U)=>!!U&&typeof U==="object"&&U[u0]===b8,UJ=(U)=>!!U&&typeof U==="object"&&U[u0]===mU,XJ=(U)=>!!U&&typeof U==="object"&&U[u0]===f8,g8=(U)=>!!U&&typeof U==="object"&&U[u0]===a4,qJ=(U)=>!!U&&typeof U==="object"&&U[u0]===pU;function y8(U){if(U&&typeof U==="object")switch(U[u0]){case mU:case pU:return!0}return!1}function ZJ(U){if(U&&typeof U==="object")switch(U[u0]){case r4:case mU:case a4:case pU:return!0}return!1}var QJ=(U)=>(g8(U)||y8(U))&&!!U.anchor;GJ.ALIAS=r4;GJ.DOC=b8;GJ.MAP=mU;GJ.NODE_TYPE=u0;GJ.PAIR=f8;GJ.SCALAR=a4;GJ.SEQ=pU;GJ.hasAnchor=QJ;GJ.isAlias=tY;GJ.isCollection=y8;GJ.isDocument=eY;GJ.isMap=UJ;GJ.isNode=ZJ;GJ.isPair=XJ;GJ.isScalar=g8;GJ.isSeq=qJ});var g2=R((MJ)=>{var t=k(),L0=Symbol("break visit"),k8=Symbol("skip children"),b0=Symbol("remove node");function lU(U,X){let q=v8(X);if(t.isDocument(U)){if(d1(null,U.contents,q,Object.freeze([U]))===b0)U.contents=null}else d1(null,U,q,Object.freeze([]))}lU.BREAK=L0;lU.SKIP=k8;lU.REMOVE=b0;function d1(U,X,q,Z){let Q=h8(U,X,q,Z);if(t.isNode(Q)||t.isPair(Q))return x8(U,Z,Q),d1(U,Q,q,Z);if(typeof Q!=="symbol"){if(t.isCollection(X)){Z=Object.freeze(Z.concat(X));for(let G=0;G<X.items.length;++G){let Y=d1(G,X.items[G],q,Z);if(typeof Y==="number")G=Y-1;else if(Y===L0)return L0;else if(Y===b0)X.items.splice(G,1),G-=1}}else if(t.isPair(X)){Z=Object.freeze(Z.concat(X));let G=d1("key",X.key,q,Z);if(G===L0)return L0;else if(G===b0)X.key=null;let Y=d1("value",X.value,q,Z);if(Y===L0)return L0;else if(Y===b0)X.value=null}}return Q}async function dU(U,X){let q=v8(X);if(t.isDocument(U)){if(await c1(null,U.contents,q,Object.freeze([U]))===b0)U.contents=null}else await c1(null,U,q,Object.freeze([]))}dU.BREAK=L0;dU.SKIP=k8;dU.REMOVE=b0;async function c1(U,X,q,Z){let Q=await h8(U,X,q,Z);if(t.isNode(Q)||t.isPair(Q))return x8(U,Z,Q),c1(U,Q,q,Z);if(typeof Q!=="symbol"){if(t.isCollection(X)){Z=Object.freeze(Z.concat(X));for(let G=0;G<X.items.length;++G){let Y=await c1(G,X.items[G],q,Z);if(typeof Y==="number")G=Y-1;else if(Y===L0)return L0;else if(Y===b0)X.items.splice(G,1),G-=1}}else if(t.isPair(X)){Z=Object.freeze(Z.concat(X));let G=await c1("key",X.key,q,Z);if(G===L0)return L0;else if(G===b0)X.key=null;let Y=await c1("value",X.value,q,Z);if(Y===L0)return L0;else if(Y===b0)X.value=null}}return Q}function v8(U){if(typeof U==="object"&&(U.Collection||U.Node||U.Value))return Object.assign({Alias:U.Node,Map:U.Node,Scalar:U.Node,Seq:U.Node},U.Value&&{Map:U.Value,Scalar:U.Value,Seq:U.Value},U.Collection&&{Map:U.Collection,Seq:U.Collection},U);return U}function h8(U,X,q,Z){if(typeof q==="function")return q(U,X,Z);if(t.isMap(X))return q.Map?.(U,X,Z);if(t.isSeq(X))return q.Seq?.(U,X,Z);if(t.isPair(X))return q.Pair?.(U,X,Z);if(t.isScalar(X))return q.Scalar?.(U,X,Z);if(t.isAlias(X))return q.Alias?.(U,X,Z);return}function x8(U,X,q){let Z=X[X.length-1];if(t.isCollection(Z))Z.items[U]=q;else if(t.isPair(Z))if(U==="key")Z.key=q;else Z.value=q;else if(t.isDocument(Z))Z.contents=q;else{let Q=t.isAlias(Z)?"alias":"scalar";throw Error(`Cannot replace node with ${Q} parent`)}}MJ.visit=lU;MJ.visitAsync=dU});var n4=R((CJ)=>{var u8=k(),IJ=g2(),KJ={"!":"%21",",":"%2C","[":"%5B","]":"%5D","{":"%7B","}":"%7D"},NJ=(U)=>U.replace(/[!,[\]{}]/g,(X)=>KJ[X]);class V0{constructor(U,X){this.docStart=null,this.docEnd=!1,this.yaml=Object.assign({},V0.defaultYaml,U),this.tags=Object.assign({},V0.defaultTags,X)}clone(){let U=new V0(this.yaml,this.tags);return U.docStart=this.docStart,U}atDocument(){let U=new V0(this.yaml,this.tags);switch(this.yaml.version){case"1.1":this.atNextDocument=!0;break;case"1.2":this.atNextDocument=!1,this.yaml={explicit:V0.defaultYaml.explicit,version:"1.2"},this.tags=Object.assign({},V0.defaultTags);break}return U}add(U,X){if(this.atNextDocument)this.yaml={explicit:V0.defaultYaml.explicit,version:"1.1"},this.tags=Object.assign({},V0.defaultTags),this.atNextDocument=!1;let q=U.trim().split(/[ \t]+/),Z=q.shift();switch(Z){case"%TAG":{if(q.length!==2){if(X(0,"%TAG directive should contain exactly two parts"),q.length<2)return!1}let[Q,G]=q;return this.tags[Q]=G,!0}case"%YAML":{if(this.yaml.explicit=!0,q.length!==1)return X(0,"%YAML directive should contain exactly one part"),!1;let[Q]=q;if(Q==="1.1"||Q==="1.2")return this.yaml.version=Q,!0;else{let G=/^\d+\.\d+$/.test(Q);return X(6,`Unsupported YAML version ${Q}`,G),!1}}default:return X(0,`Unknown directive ${Z}`,!0),!1}}tagName(U,X){if(U==="!")return"!";if(U[0]!=="!")return X(`Not a valid tag: ${U}`),null;if(U[1]==="<"){let G=U.slice(2,-1);if(G==="!"||G==="!!")return X(`Verbatim tags aren't resolved, so ${U} is invalid.`),null;if(U[U.length-1]!==">")X("Verbatim tags must end with a >");return G}let[,q,Z]=U.match(/^(.*!)([^!]*)$/s);if(!Z)X(`The ${U} tag has no suffix`);let Q=this.tags[q];if(Q)try{return Q+decodeURIComponent(Z)}catch(G){return X(String(G)),null}if(q==="!")return U;return X(`Could not resolve tag: ${U}`),null}tagString(U){for(let[X,q]of Object.entries(this.tags))if(U.startsWith(q))return X+NJ(U.substring(q.length));return U[0]==="!"?U:`!<${U}>`}toString(U){let X=this.yaml.explicit?[`%YAML ${this.yaml.version||"1.2"}`]:[],q=Object.entries(this.tags),Z;if(U&&q.length>0&&u8.isNode(U.contents)){let Q={};IJ.visit(U.contents,(G,Y)=>{if(u8.isNode(Y)&&Y.tag)Q[Y.tag]=!0}),Z=Object.keys(Q)}else Z=[];for(let[Q,G]of q){if(Q==="!!"&&G==="tag:yaml.org,2002:")continue;if(!U||Z.some((Y)=>Y.startsWith(G)))X.push(`%TAG ${Q} ${G}`)}return X.join(`
2
+ `)}}V0.defaultYaml={explicit:!1,version:"1.2"};V0.defaultTags={"!!":"tag:yaml.org,2002:"};CJ.Directives=V0});var cU=R((fJ)=>{var m8=k(),EJ=g2();function jJ(U){if(/[\x00-\x19\s,[\]{}]/.test(U)){let q=`Anchor must not contain whitespace or control characters: ${JSON.stringify(U)}`;throw Error(q)}return!0}function p8(U){let X=new Set;return EJ.visit(U,{Value(q,Z){if(Z.anchor)X.add(Z.anchor)}}),X}function l8(U,X){for(let q=1;;++q){let Z=`${U}${q}`;if(!X.has(Z))return Z}}function bJ(U,X){let q=[],Z=new Map,Q=null;return{onAnchor:(G)=>{q.push(G),Q??(Q=p8(U));let Y=l8(X,Q);return Q.add(Y),Y},setAnchors:()=>{for(let G of q){let Y=Z.get(G);if(typeof Y==="object"&&Y.anchor&&(m8.isScalar(Y.node)||m8.isCollection(Y.node)))Y.node.anchor=Y.anchor;else{let J=Error("Failed to resolve repeated object (this should not happen)");throw J.source=G,J}}},sourceObjects:Z}}fJ.anchorIsValid=jJ;fJ.anchorNames=p8;fJ.createNodeAnchors=bJ;fJ.findNewAnchor=l8});var t4=R((hJ)=>{function y2(U,X,q,Z){if(Z&&typeof Z==="object")if(Array.isArray(Z))for(let Q=0,G=Z.length;Q<G;++Q){let Y=Z[Q],J=y2(U,Z,String(Q),Y);if(J===void 0)delete Z[Q];else if(J!==Y)Z[Q]=J}else if(Z instanceof Map)for(let Q of Array.from(Z.keys())){let G=Z.get(Q),Y=y2(U,Z,Q,G);if(Y===void 0)Z.delete(Q);else if(Y!==G)Z.set(Q,Y)}else if(Z instanceof Set)for(let Q of Array.from(Z)){let G=y2(U,Z,Q,Q);if(G===void 0)Z.delete(Q);else if(G!==Q)Z.delete(Q),Z.add(G)}else for(let[Q,G]of Object.entries(Z)){let Y=y2(U,Z,Q,G);if(Y===void 0)delete Z[Q];else if(Y!==G)Z[Q]=Y}return U.call(X,q,Z)}hJ.applyReviver=y2});var n0=R((mJ)=>{var uJ=k();function d8(U,X,q){if(Array.isArray(U))return U.map((Z,Q)=>d8(Z,String(Q),q));if(U&&typeof U.toJSON==="function"){if(!q||!uJ.hasAnchor(U))return U.toJSON(X,q);let Z={aliasCount:0,count:1,res:void 0};q.anchors.set(U,Z),q.onCreate=(G)=>{Z.res=G,delete q.onCreate};let Q=U.toJSON(X,q);if(q.onCreate)q.onCreate(Q);return Q}if(typeof U==="bigint"&&!q?.keep)return Number(U);return U}mJ.toJS=d8});var iU=R((cJ)=>{var lJ=t4(),c8=k(),dJ=n0();class i8{constructor(U){Object.defineProperty(this,c8.NODE_TYPE,{value:U})}clone(){let U=Object.create(Object.getPrototypeOf(this),Object.getOwnPropertyDescriptors(this));if(this.range)U.range=this.range.slice();return U}toJS(U,{mapAsMap:X,maxAliasCount:q,onAnchor:Z,reviver:Q}={}){if(!c8.isDocument(U))throw TypeError("A document argument is required");let G={anchors:new Map,doc:U,keep:!0,mapAsMap:X===!0,mapKeyWarned:!1,maxAliasCount:typeof q==="number"?q:100},Y=dJ.toJS(this,"",G);if(typeof Z==="function")for(let{count:J,res:H}of G.anchors.values())Z(H,J);return typeof Q==="function"?lJ.applyReviver(Q,{"":Y},"",Y):Y}}cJ.NodeBase=i8});var k2=R((nJ)=>{var sJ=cU(),oJ=g2(),i1=k(),rJ=iU(),aJ=n0();class s8 extends rJ.NodeBase{constructor(U){super(i1.ALIAS);this.source=U,Object.defineProperty(this,"tag",{set(){throw Error("Alias nodes cannot have tags")}})}resolve(U,X){let q;if(X?.aliasResolveCache)q=X.aliasResolveCache;else if(q=[],oJ.visit(U,{Node:(Q,G)=>{if(i1.isAlias(G)||i1.hasAnchor(G))q.push(G)}}),X)X.aliasResolveCache=q;let Z=void 0;for(let Q of q){if(Q===this)break;if(Q.anchor===this.source)Z=Q}return Z}toJSON(U,X){if(!X)return{source:this.source};let{anchors:q,doc:Z,maxAliasCount:Q}=X,G=this.resolve(Z,X);if(!G){let J=`Unresolved alias (the anchor must be set before the alias): ${this.source}`;throw ReferenceError(J)}let Y=q.get(G);if(!Y)aJ.toJS(G,null,X),Y=q.get(G);if(Y?.res===void 0)throw ReferenceError("This should not happen: Alias anchor was not resolved?");if(Q>=0){if(Y.count+=1,Y.aliasCount===0)Y.aliasCount=sU(Z,G,q);if(Y.count*Y.aliasCount>Q)throw ReferenceError("Excessive alias count indicates a resource exhaustion attack")}return Y.res}toString(U,X,q){let Z=`*${this.source}`;if(U){if(sJ.anchorIsValid(this.source),U.options.verifyAliasOrder&&!U.anchors.has(this.source)){let Q=`Unresolved alias (the anchor must be set before the alias): ${this.source}`;throw Error(Q)}if(U.implicitKey)return`${Z} `}return Z}}function sU(U,X,q){if(i1.isAlias(X)){let Z=X.resolve(U),Q=q&&Z&&q.get(Z);return Q?Q.count*Q.aliasCount:0}else if(i1.isCollection(X)){let Z=0;for(let Q of X.items){let G=sU(U,Q,q);if(G>Z)Z=G}return Z}else if(i1.isPair(X)){let Z=sU(U,X.key,q),Q=sU(U,X.value,q);return Math.max(Z,Q)}return 1}nJ.Alias=s8});var i=R((ZH)=>{var eJ=k(),UH=iU(),XH=n0(),qH=(U)=>!U||typeof U!=="function"&&typeof U!=="object";class F1 extends UH.NodeBase{constructor(U){super(eJ.SCALAR);this.value=U}toJSON(U,X){return X?.keep?this.value:XH.toJS(this.value,U,X)}toString(){return String(this.value)}}F1.BLOCK_FOLDED="BLOCK_FOLDED";F1.BLOCK_LITERAL="BLOCK_LITERAL";F1.PLAIN="PLAIN";F1.QUOTE_DOUBLE="QUOTE_DOUBLE";F1.QUOTE_SINGLE="QUOTE_SINGLE";ZH.Scalar=F1;ZH.isScalarValue=qH});var v2=R((_H)=>{var YH=k2(),A1=k(),o8=i(),JH="tag:yaml.org,2002:";function HH(U,X,q){if(X){let Z=q.filter((G)=>G.tag===X),Q=Z.find((G)=>!G.format)??Z[0];if(!Q)throw Error(`Tag ${X} not found`);return Q}return q.find((Z)=>Z.identify?.(U)&&!Z.format)}function WH(U,X,q){if(A1.isDocument(U))U=U.contents;if(A1.isNode(U))return U;if(A1.isPair(U)){let _=q.schema[A1.MAP].createNode?.(q.schema,null,q);return _.items.push(U),_}if(U instanceof String||U instanceof Number||U instanceof Boolean||typeof BigInt<"u"&&U instanceof BigInt)U=U.valueOf();let{aliasDuplicateObjects:Z,onAnchor:Q,onTagObj:G,schema:Y,sourceObjects:J}=q,H=void 0;if(Z&&U&&typeof U==="object")if(H=J.get(U),H)return H.anchor??(H.anchor=Q(U)),new YH.Alias(H.anchor);else H={anchor:null,node:null},J.set(U,H);if(X?.startsWith("!!"))X=JH+X.slice(2);let W=HH(U,X,Y.tags);if(!W){if(U&&typeof U.toJSON==="function")U=U.toJSON();if(!U||typeof U!=="object"){let _=new o8.Scalar(U);if(H)H.node=_;return _}W=U instanceof Map?Y[A1.MAP]:(Symbol.iterator in Object(U))?Y[A1.SEQ]:Y[A1.MAP]}if(G)G(W),delete q.onTagObj;let $=W?.createNode?W.createNode(q.schema,U,q):typeof W?.nodeClass?.from==="function"?W.nodeClass.from(q.schema,U,q):new o8.Scalar(U);if(X)$.tag=X;else if(!W.default)$.tag=W.tag;if(H)H.node=$;return $}_H.createNode=WH});var oU=R((FH)=>{var LH=v2(),f0=k(),zH=iU();function e4(U,X,q){let Z=q;for(let Q=X.length-1;Q>=0;--Q){let G=X[Q];if(typeof G==="number"&&Number.isInteger(G)&&G>=0){let Y=[];Y[G]=Z,Z=Y}else Z=new Map([[G,Z]])}return LH.createNode(Z,void 0,{aliasDuplicateObjects:!1,keepUndefined:!1,onAnchor:()=>{throw Error("This should not happen, please report a bug.")},schema:U,sourceObjects:new Map})}var r8=(U)=>U==null||typeof U==="object"&&!!U[Symbol.iterator]().next().done;class a8 extends zH.NodeBase{constructor(U,X){super(U);Object.defineProperty(this,"schema",{value:X,configurable:!0,enumerable:!1,writable:!0})}clone(U){let X=Object.create(Object.getPrototypeOf(this),Object.getOwnPropertyDescriptors(this));if(U)X.schema=U;if(X.items=X.items.map((q)=>f0.isNode(q)||f0.isPair(q)?q.clone(U):q),this.range)X.range=this.range.slice();return X}addIn(U,X){if(r8(U))this.add(X);else{let[q,...Z]=U,Q=this.get(q,!0);if(f0.isCollection(Q))Q.addIn(Z,X);else if(Q===void 0&&this.schema)this.set(q,e4(this.schema,Z,X));else throw Error(`Expected YAML collection at ${q}. Remaining path: ${Z}`)}}deleteIn(U){let[X,...q]=U;if(q.length===0)return this.delete(X);let Z=this.get(X,!0);if(f0.isCollection(Z))return Z.deleteIn(q);else throw Error(`Expected YAML collection at ${X}. Remaining path: ${q}`)}getIn(U,X){let[q,...Z]=U,Q=this.get(q,!0);if(Z.length===0)return!X&&f0.isScalar(Q)?Q.value:Q;else return f0.isCollection(Q)?Q.getIn(Z,X):void 0}hasAllNullValues(U){return this.items.every((X)=>{if(!f0.isPair(X))return!1;let q=X.value;return q==null||U&&f0.isScalar(q)&&q.value==null&&!q.commentBefore&&!q.comment&&!q.tag})}hasIn(U){let[X,...q]=U;if(q.length===0)return this.has(X);let Z=this.get(X,!0);return f0.isCollection(Z)?Z.hasIn(q):!1}setIn(U,X){let[q,...Z]=U;if(Z.length===0)this.set(q,X);else{let Q=this.get(q,!0);if(f0.isCollection(Q))Q.setIn(Z,X);else if(Q===void 0&&this.schema)this.set(q,e4(this.schema,Z,X));else throw Error(`Expected YAML collection at ${q}. Remaining path: ${Z}`)}}}FH.Collection=a8;FH.collectionFromPath=e4;FH.isEmptyPath=r8});var h2=R((RH)=>{var TH=(U)=>U.replace(/^(?!$)(?: $)?/gm,"#");function U9(U,X){if(/^\n+$/.test(U))return U.substring(1);return X?U.replace(/^(?! *$)/gm,X):U}var VH=(U,X,q)=>U.endsWith(`
3
3
  `)?U9(q,X):q.includes(`
4
4
  `)?`
5
- `+U9(q,X):(U.endsWith(" ")?"":" ")+q;DH.indentComment=U9;DH.lineComment=TH;DH.stringifyComment=BH});var t8=D((IH)=>{function wH(U,X,q="flow",{indentAtStart:Z,lineWidth:Q=80,minContentWidth:G=20,onFold:Y,onOverflow:J}={}){if(!Q||Q<0)return U;if(Q<G)G=0;let H=Math.max(1+G,1+Q-X.length);if(U.length<=H)return U;let W=[],$={},_=Q-X.length;if(typeof Z==="number")if(Z>Q-Math.max(2,G))W.push(0);else _=Q-Z;let L=void 0,A=void 0,T=!1,z=-1,O=-1,R=-1;if(q==="block"){if(z=n8(U,z,X.length),z!==-1)_=z+H}for(let K;K=U[z+=1];){if(q==="quoted"&&K==="\\"){switch(O=z,U[z+1]){case"x":z+=3;break;case"u":z+=5;break;case"U":z+=9;break;default:z+=1}R=z}if(K===`
5
+ `+U9(q,X):(U.endsWith(" ")?"":" ")+q;RH.indentComment=U9;RH.lineComment=VH;RH.stringifyComment=TH});var t8=R((IH)=>{function wH(U,X,q="flow",{indentAtStart:Z,lineWidth:Q=80,minContentWidth:G=20,onFold:Y,onOverflow:J}={}){if(!Q||Q<0)return U;if(Q<G)G=0;let H=Math.max(1+G,1+Q-X.length);if(U.length<=H)return U;let W=[],$={},_=Q-X.length;if(typeof Z==="number")if(Z>Q-Math.max(2,G))W.push(0);else _=Q-Z;let L=void 0,A=void 0,V=!1,z=-1,B=-1,D=-1;if(q==="block"){if(z=n8(U,z,X.length),z!==-1)_=z+H}for(let K;K=U[z+=1];){if(q==="quoted"&&K==="\\"){switch(B=z,U[z+1]){case"x":z+=3;break;case"u":z+=5;break;case"U":z+=9;break;default:z+=1}D=z}if(K===`
6
6
  `){if(q==="block")z=n8(U,z,X.length);_=z+X.length+H,L=void 0}else{if(K===" "&&A&&A!==" "&&A!==`
7
7
  `&&A!=="\t"){let C=U[z+1];if(C&&C!==" "&&C!==`
8
- `&&C!=="\t")L=z}if(z>=_)if(L)W.push(L),_=L+H,L=void 0;else if(q==="quoted"){while(A===" "||A==="\t")A=K,K=U[z+=1],T=!0;let C=z>R+1?z-2:O-1;if($[C])return U;W.push(C),$[C]=!0,_=C+H,L=void 0}else T=!0}A=K}if(T&&J)J();if(W.length===0)return U;if(Y)Y();let w=U.slice(0,W[0]);for(let K=0;K<W.length;++K){let C=W[K],N=W[K+1]||U.length;if(C===0)w=`
8
+ `&&C!=="\t")L=z}if(z>=_)if(L)W.push(L),_=L+H,L=void 0;else if(q==="quoted"){while(A===" "||A==="\t")A=K,K=U[z+=1],V=!0;let C=z>D+1?z-2:B-1;if($[C])return U;W.push(C),$[C]=!0,_=C+H,L=void 0}else V=!0}A=K}if(V&&J)J();if(W.length===0)return U;if(Y)Y();let w=U.slice(0,W[0]);for(let K=0;K<W.length;++K){let C=W[K],N=W[K+1]||U.length;if(C===0)w=`
9
9
  ${X}${U.slice(0,N)}`;else{if(q==="quoted"&&$[C])w+=`${U[C]}\\`;w+=`
10
10
  ${X}${U.slice(C+1,N)}`}}return w}function n8(U,X,q){let Z=X,Q=X+1,G=U[Q];while(G===" "||G==="\t")if(X<Q+q)G=U[++X];else{do G=U[++X];while(G&&G!==`
11
- `);Z=X,Q=X+1,G=U[Q]}return Z}IH.FOLD_BLOCK="block";IH.FOLD_FLOW="flow";IH.FOLD_QUOTED="quoted";IH.foldFlowLines=wH});var u2=D((fH)=>{var I0=i(),t0=t8(),a6=(U,X)=>({indentAtStart:X?U.indent.length:U.indentAtStart,lineWidth:U.options.lineWidth,minContentWidth:U.options.minContentWidth}),n6=(U)=>/^(%|---|\.\.\.)/m.test(U);function EH(U,X,q){if(!X||X<0)return!1;let Z=X-q,Q=U.length;if(Q<=Z)return!1;for(let G=0,Y=0;G<Q;++G)if(U[G]===`
12
- `){if(G-Y>Z)return!0;if(Y=G+1,Q-Y<=Z)return!1}return!0}function x2(U,X){let q=JSON.stringify(U);if(X.options.doubleQuotedAsJSON)return q;let{implicitKey:Z}=X,Q=X.options.doubleQuotedMinMultiLineLength,G=X.indent||(n6(U)?" ":""),Y="",J=0;for(let H=0,W=q[H];W;W=q[++H]){if(W===" "&&q[H+1]==="\\"&&q[H+2]==="n")Y+=q.slice(J,H)+"\\ ",H+=1,J=H,W="\\";if(W==="\\")switch(q[H+1]){case"u":{Y+=q.slice(J,H);let $=q.substr(H+2,4);switch($){case"0000":Y+="\\0";break;case"0007":Y+="\\a";break;case"000b":Y+="\\v";break;case"001b":Y+="\\e";break;case"0085":Y+="\\N";break;case"00a0":Y+="\\_";break;case"2028":Y+="\\L";break;case"2029":Y+="\\P";break;default:if($.substr(0,2)==="00")Y+="\\x"+$.substr(2);else Y+=q.substr(H,6)}H+=5,J=H+1}break;case"n":if(Z||q[H+2]==='"'||q.length<Q)H+=1;else{Y+=q.slice(J,H)+`
11
+ `);Z=X,Q=X+1,G=U[Q]}return Z}IH.FOLD_BLOCK="block";IH.FOLD_FLOW="flow";IH.FOLD_QUOTED="quoted";IH.foldFlowLines=wH});var u2=R((fH)=>{var I0=i(),t0=t8(),aU=(U,X)=>({indentAtStart:X?U.indent.length:U.indentAtStart,lineWidth:U.options.lineWidth,minContentWidth:U.options.minContentWidth}),nU=(U)=>/^(%|---|\.\.\.)/m.test(U);function EH(U,X,q){if(!X||X<0)return!1;let Z=X-q,Q=U.length;if(Q<=Z)return!1;for(let G=0,Y=0;G<Q;++G)if(U[G]===`
12
+ `){if(G-Y>Z)return!0;if(Y=G+1,Q-Y<=Z)return!1}return!0}function x2(U,X){let q=JSON.stringify(U);if(X.options.doubleQuotedAsJSON)return q;let{implicitKey:Z}=X,Q=X.options.doubleQuotedMinMultiLineLength,G=X.indent||(nU(U)?" ":""),Y="",J=0;for(let H=0,W=q[H];W;W=q[++H]){if(W===" "&&q[H+1]==="\\"&&q[H+2]==="n")Y+=q.slice(J,H)+"\\ ",H+=1,J=H,W="\\";if(W==="\\")switch(q[H+1]){case"u":{Y+=q.slice(J,H);let $=q.substr(H+2,4);switch($){case"0000":Y+="\\0";break;case"0007":Y+="\\a";break;case"000b":Y+="\\v";break;case"001b":Y+="\\e";break;case"0085":Y+="\\N";break;case"00a0":Y+="\\_";break;case"2028":Y+="\\L";break;case"2029":Y+="\\P";break;default:if($.substr(0,2)==="00")Y+="\\x"+$.substr(2);else Y+=q.substr(H,6)}H+=5,J=H+1}break;case"n":if(Z||q[H+2]==='"'||q.length<Q)H+=1;else{Y+=q.slice(J,H)+`
13
13
 
14
14
  `;while(q[H+2]==="\\"&&q[H+3]==="n"&&q[H+4]!=='"')Y+=`
15
- `,H+=2;if(Y+=G,q[H+2]===" ")Y+="\\";H+=1,J=H+1}break;default:H+=1}}return Y=J?Y+q.slice(J):q,Z?Y:t0.foldFlowLines(Y,G,t0.FOLD_QUOTED,a6(X,!1))}function X9(U,X){if(X.options.singleQuote===!1||X.implicitKey&&U.includes(`
16
- `)||/[ \t]\n|\n[ \t]/.test(U))return x2(U,X);let q=X.indent||(n6(U)?" ":""),Z="'"+U.replace(/'/g,"''").replace(/\n+/g,`$&
17
- ${q}`)+"'";return X.implicitKey?Z:t0.foldFlowLines(Z,q,t0.FOLD_FLOW,a6(X,!1))}function i1(U,X){let{singleQuote:q}=X.options,Z;if(q===!1)Z=x2;else{let Q=U.includes('"'),G=U.includes("'");if(Q&&!G)Z=X9;else if(G&&!Q)Z=x2;else Z=q?X9:x2}return Z(U,X)}var q9;try{q9=new RegExp(`(^|(?<!
15
+ `,H+=2;if(Y+=G,q[H+2]===" ")Y+="\\";H+=1,J=H+1}break;default:H+=1}}return Y=J?Y+q.slice(J):q,Z?Y:t0.foldFlowLines(Y,G,t0.FOLD_QUOTED,aU(X,!1))}function X9(U,X){if(X.options.singleQuote===!1||X.implicitKey&&U.includes(`
16
+ `)||/[ \t]\n|\n[ \t]/.test(U))return x2(U,X);let q=X.indent||(nU(U)?" ":""),Z="'"+U.replace(/'/g,"''").replace(/\n+/g,`$&
17
+ ${q}`)+"'";return X.implicitKey?Z:t0.foldFlowLines(Z,q,t0.FOLD_FLOW,aU(X,!1))}function s1(U,X){let{singleQuote:q}=X.options,Z;if(q===!1)Z=x2;else{let Q=U.includes('"'),G=U.includes("'");if(Q&&!G)Z=X9;else if(G&&!Q)Z=x2;else Z=q?X9:x2}return Z(U,X)}var q9;try{q9=new RegExp(`(^|(?<!
18
18
  ))
19
19
  +(?!
20
- |$)`,"g")}catch{q9=/\n+(?!\n|$)/g}function r6({comment:U,type:X,value:q},Z,Q,G){let{blockQuote:Y,commentString:J,lineWidth:H}=Z.options;if(!Y||/\n[\t ]+$/.test(q))return i1(q,Z);let W=Z.indent||(Z.forceBlockIndent||n6(q)?" ":""),$=Y==="literal"?!0:Y==="folded"||X===I0.Scalar.BLOCK_FOLDED?!1:X===I0.Scalar.BLOCK_LITERAL?!0:!EH(q,H,W.length);if(!q)return $?`|
20
+ |$)`,"g")}catch{q9=/\n+(?!\n|$)/g}function rU({comment:U,type:X,value:q},Z,Q,G){let{blockQuote:Y,commentString:J,lineWidth:H}=Z.options;if(!Y||/\n[\t ]+$/.test(q))return s1(q,Z);let W=Z.indent||(Z.forceBlockIndent||nU(q)?" ":""),$=Y==="literal"?!0:Y==="folded"||X===I0.Scalar.BLOCK_FOLDED?!1:X===I0.Scalar.BLOCK_LITERAL?!0:!EH(q,H,W.length);if(!q)return $?`|
21
21
  `:`>
22
22
  `;let _,L;for(L=q.length;L>0;--L){let N=q[L-1];if(N!==`
23
- `&&N!=="\t"&&N!==" ")break}let A=q.substring(L),T=A.indexOf(`
24
- `);if(T===-1)_="-";else if(q===A||T!==A.length-1){if(_="+",G)G()}else _="";if(A){if(q=q.slice(0,-A.length),A[A.length-1]===`
25
- `)A=A.slice(0,-1);A=A.replace(q9,`$&${W}`)}let z=!1,O,R=-1;for(O=0;O<q.length;++O){let N=q[O];if(N===" ")z=!0;else if(N===`
26
- `)R=O;else break}let w=q.substring(0,R<O?R+1:O);if(w)q=q.substring(w.length),w=w.replace(/\n+/g,`$&${W}`);let C=(z?W?"2":"1":"")+_;if(U){if(C+=" "+J(U.replace(/ ?[\r\n]+/g," ")),Q)Q()}if(!$){let N=q.replace(/\n+/g,`
27
- $&`).replace(/(?:^|\n)([\t ].*)(?:([\n\t ]*)\n(?![\n\t ]))?/g,"$1$2").replace(/\n+/g,`$&${W}`),b=!1,m=a6(Z,!0);if(Y!=="folded"&&X!==I0.Scalar.BLOCK_FOLDED)m.onOverflow=()=>{b=!0};let P=t0.foldFlowLines(`${w}${N}${A}`,W,t0.FOLD_BLOCK,m);if(!b)return`>${C}
23
+ `&&N!=="\t"&&N!==" ")break}let A=q.substring(L),V=A.indexOf(`
24
+ `);if(V===-1)_="-";else if(q===A||V!==A.length-1){if(_="+",G)G()}else _="";if(A){if(q=q.slice(0,-A.length),A[A.length-1]===`
25
+ `)A=A.slice(0,-1);A=A.replace(q9,`$&${W}`)}let z=!1,B,D=-1;for(B=0;B<q.length;++B){let N=q[B];if(N===" ")z=!0;else if(N===`
26
+ `)D=B;else break}let w=q.substring(0,D<B?D+1:B);if(w)q=q.substring(w.length),w=w.replace(/\n+/g,`$&${W}`);let C=(z?W?"2":"1":"")+_;if(U){if(C+=" "+J(U.replace(/ ?[\r\n]+/g," ")),Q)Q()}if(!$){let N=q.replace(/\n+/g,`
27
+ $&`).replace(/(?:^|\n)([\t ].*)(?:([\n\t ]*)\n(?![\n\t ]))?/g,"$1$2").replace(/\n+/g,`$&${W}`),b=!1,m=aU(Z,!0);if(Y!=="folded"&&X!==I0.Scalar.BLOCK_FOLDED)m.onOverflow=()=>{b=!0};let P=t0.foldFlowLines(`${w}${N}${A}`,W,t0.FOLD_BLOCK,m);if(!b)return`>${C}
28
28
  ${W}${P}`}return q=q.replace(/\n+/g,`$&${W}`),`|${C}
29
29
  ${W}${w}${q}${A}`}function jH(U,X,q,Z){let{type:Q,value:G}=U,{actualString:Y,implicitKey:J,indent:H,indentStep:W,inFlow:$}=X;if(J&&G.includes(`
30
- `)||$&&/[[\]{},]/.test(G))return i1(G,X);if(/^[\n\t ,[\]{}#&*!|>'"%@`]|^[?-]$|^[?-][ \t]|[\n:][ \t]|[ \t]\n|[\n\t ]#|[\n\t :]$/.test(G))return J||$||!G.includes(`
31
- `)?i1(G,X):r6(U,X,q,Z);if(!J&&!$&&Q!==I0.Scalar.PLAIN&&G.includes(`
32
- `))return r6(U,X,q,Z);if(n6(G)){if(H==="")return X.forceBlockIndent=!0,r6(U,X,q,Z);else if(J&&H===W)return i1(G,X)}let _=G.replace(/\n+/g,`$&
33
- ${H}`);if(Y){let L=(z)=>z.default&&z.tag!=="tag:yaml.org,2002:str"&&z.test?.test(_),{compat:A,tags:T}=X.doc.schema;if(T.some(L)||A?.some(L))return i1(G,X)}return J?_:t0.foldFlowLines(_,H,t0.FOLD_FLOW,a6(X,!1))}function bH(U,X,q,Z){let{implicitKey:Q,inFlow:G}=X,Y=typeof U.value==="string"?U:Object.assign({},U,{value:String(U.value)}),{type:J}=U;if(J!==I0.Scalar.QUOTE_DOUBLE){if(/[\x00-\x08\x0b-\x1f\x7f-\x9f\u{D800}-\u{DFFF}]/u.test(Y.value))J=I0.Scalar.QUOTE_DOUBLE}let H=($)=>{switch($){case I0.Scalar.BLOCK_FOLDED:case I0.Scalar.BLOCK_LITERAL:return Q||G?i1(Y.value,X):r6(Y,X,q,Z);case I0.Scalar.QUOTE_DOUBLE:return x2(Y.value,X);case I0.Scalar.QUOTE_SINGLE:return X9(Y.value,X);case I0.Scalar.PLAIN:return jH(Y,X,q,Z);default:return null}},W=H(J);if(W===null){let{defaultKeyType:$,defaultStringType:_}=X.options,L=Q&&$||_;if(W=H(L),W===null)throw Error(`Unsupported default string type ${L}`)}return W}fH.stringifyString=bH});var m2=D((pH)=>{var gH=c6(),e0=k(),kH=h2(),vH=u2();function hH(U,X){let q=Object.assign({blockQuote:!0,commentString:kH.stringifyComment,defaultKeyType:null,defaultStringType:"PLAIN",directives:null,doubleQuotedAsJSON:!1,doubleQuotedMinMultiLineLength:40,falseStr:"false",flowCollectionPadding:!0,indentSeq:!0,lineWidth:80,minContentWidth:20,nullStr:"null",simpleKeys:!1,singleQuote:null,trueStr:"true",verifyAliasOrder:!0},U.schema.toStringOptions,X),Z;switch(q.collectionStyle){case"block":Z=!1;break;case"flow":Z=!0;break;default:Z=null}return{anchors:new Set,doc:U,flowCollectionPadding:q.flowCollectionPadding?" ":"",indent:"",indentStep:typeof q.indent==="number"?" ".repeat(q.indent):" ",inFlow:Z,options:q}}function xH(U,X){if(X.tag){let Q=U.filter((G)=>G.tag===X.tag);if(Q.length>0)return Q.find((G)=>G.format===X.format)??Q[0]}let q=void 0,Z;if(e0.isScalar(X)){Z=X.value;let Q=U.filter((G)=>G.identify?.(Z));if(Q.length>1){let G=Q.filter((Y)=>Y.test);if(G.length>0)Q=G}q=Q.find((G)=>G.format===X.format)??Q.find((G)=>!G.format)}else Z=X,q=U.find((Q)=>Q.nodeClass&&Z instanceof Q.nodeClass);if(!q){let Q=Z?.constructor?.name??(Z===null?"null":typeof Z);throw Error(`Tag not resolved for ${Q} value`)}return q}function uH(U,X,{anchors:q,doc:Z}){if(!Z.directives)return"";let Q=[],G=(e0.isScalar(U)||e0.isCollection(U))&&U.anchor;if(G&&gH.anchorIsValid(G))q.add(G),Q.push(`&${G}`);let Y=U.tag??(X.default?null:X.tag);if(Y)Q.push(Z.directives.tagString(Y));return Q.join(" ")}function mH(U,X,q,Z){if(e0.isPair(U))return U.toString(X,q,Z);if(e0.isAlias(U)){if(X.doc.directives)return U.toString(X);if(X.resolvedAliases?.has(U))throw TypeError("Cannot stringify circular structure without alias nodes");else{if(X.resolvedAliases)X.resolvedAliases.add(U);else X.resolvedAliases=new Set([U]);U=U.resolve(X.doc)}}let Q=void 0,G=e0.isNode(U)?U:X.doc.createNode(U,{onTagObj:(H)=>Q=H});Q??(Q=xH(X.doc.schema.tags,G));let Y=uH(G,Q,X);if(Y.length>0)X.indentAtStart=(X.indentAtStart??0)+Y.length+1;let J=typeof Q.stringify==="function"?Q.stringify(G,X,q,Z):e0.isScalar(G)?vH.stringifyString(G,X,q,Z):G.toString(X,q,Z);if(!Y)return J;return e0.isScalar(G)||J[0]==="{"||J[0]==="["?`${Y} ${J}`:`${Y}
34
- ${X.indent}${J}`}pH.createStringifyContext=hH;pH.stringify=mH});var X3=D((iH)=>{var m0=k(),e8=i(),U3=m2(),p2=h2();function cH({key:U,value:X},q,Z,Q){let{allNullValues:G,doc:Y,indent:J,indentStep:H,options:{commentString:W,indentSeq:$,simpleKeys:_}}=q,L=m0.isNode(U)&&U.comment||null;if(_){if(L)throw Error("With simple keys, key nodes cannot have comments");if(m0.isCollection(U)||!m0.isNode(U)&&typeof U==="object")throw Error("With simple keys, collection cannot be used as a key value")}let A=!_&&(!U||L&&X==null&&!q.inFlow||m0.isCollection(U)||(m0.isScalar(U)?U.type===e8.Scalar.BLOCK_FOLDED||U.type===e8.Scalar.BLOCK_LITERAL:typeof U==="object"));q=Object.assign({},q,{allNullValues:!1,implicitKey:!A&&(_||!G),indent:J+H});let T=!1,z=!1,O=U3.stringify(U,q,()=>T=!0,()=>z=!0);if(!A&&!q.inFlow&&O.length>1024){if(_)throw Error("With simple keys, single line scalar must not span more than 1024 characters");A=!0}if(q.inFlow){if(G||X==null){if(T&&Z)Z();return O===""?"?":A?`? ${O}`:O}}else if(G&&!_||X==null&&A){if(O=`? ${O}`,L&&!T)O+=p2.lineComment(O,q.indent,W(L));else if(z&&Q)Q();return O}if(T)L=null;if(A){if(L)O+=p2.lineComment(O,q.indent,W(L));O=`? ${O}
35
- ${J}:`}else if(O=`${O}:`,L)O+=p2.lineComment(O,q.indent,W(L));let R,w,K;if(m0.isNode(X))R=!!X.spaceBefore,w=X.commentBefore,K=X.comment;else if(R=!1,w=null,K=null,X&&typeof X==="object")X=Y.createNode(X);if(q.implicitKey=!1,!A&&!L&&m0.isScalar(X))q.indentAtStart=O.length+1;if(z=!1,!$&&H.length>=2&&!q.inFlow&&!A&&m0.isSeq(X)&&!X.flow&&!X.tag&&!X.anchor)q.indent=q.indent.substring(2);let C=!1,N=U3.stringify(X,q,()=>C=!0,()=>z=!0),b=" ";if(L||R||w){if(b=R?`
30
+ `)||$&&/[[\]{},]/.test(G))return s1(G,X);if(/^[\n\t ,[\]{}#&*!|>'"%@`]|^[?-]$|^[?-][ \t]|[\n:][ \t]|[ \t]\n|[\n\t ]#|[\n\t :]$/.test(G))return J||$||!G.includes(`
31
+ `)?s1(G,X):rU(U,X,q,Z);if(!J&&!$&&Q!==I0.Scalar.PLAIN&&G.includes(`
32
+ `))return rU(U,X,q,Z);if(nU(G)){if(H==="")return X.forceBlockIndent=!0,rU(U,X,q,Z);else if(J&&H===W)return s1(G,X)}let _=G.replace(/\n+/g,`$&
33
+ ${H}`);if(Y){let L=(z)=>z.default&&z.tag!=="tag:yaml.org,2002:str"&&z.test?.test(_),{compat:A,tags:V}=X.doc.schema;if(V.some(L)||A?.some(L))return s1(G,X)}return J?_:t0.foldFlowLines(_,H,t0.FOLD_FLOW,aU(X,!1))}function bH(U,X,q,Z){let{implicitKey:Q,inFlow:G}=X,Y=typeof U.value==="string"?U:Object.assign({},U,{value:String(U.value)}),{type:J}=U;if(J!==I0.Scalar.QUOTE_DOUBLE){if(/[\x00-\x08\x0b-\x1f\x7f-\x9f\u{D800}-\u{DFFF}]/u.test(Y.value))J=I0.Scalar.QUOTE_DOUBLE}let H=($)=>{switch($){case I0.Scalar.BLOCK_FOLDED:case I0.Scalar.BLOCK_LITERAL:return Q||G?s1(Y.value,X):rU(Y,X,q,Z);case I0.Scalar.QUOTE_DOUBLE:return x2(Y.value,X);case I0.Scalar.QUOTE_SINGLE:return X9(Y.value,X);case I0.Scalar.PLAIN:return jH(Y,X,q,Z);default:return null}},W=H(J);if(W===null){let{defaultKeyType:$,defaultStringType:_}=X.options,L=Q&&$||_;if(W=H(L),W===null)throw Error(`Unsupported default string type ${L}`)}return W}fH.stringifyString=bH});var m2=R((pH)=>{var yH=cU(),e0=k(),kH=h2(),vH=u2();function hH(U,X){let q=Object.assign({blockQuote:!0,commentString:kH.stringifyComment,defaultKeyType:null,defaultStringType:"PLAIN",directives:null,doubleQuotedAsJSON:!1,doubleQuotedMinMultiLineLength:40,falseStr:"false",flowCollectionPadding:!0,indentSeq:!0,lineWidth:80,minContentWidth:20,nullStr:"null",simpleKeys:!1,singleQuote:null,trueStr:"true",verifyAliasOrder:!0},U.schema.toStringOptions,X),Z;switch(q.collectionStyle){case"block":Z=!1;break;case"flow":Z=!0;break;default:Z=null}return{anchors:new Set,doc:U,flowCollectionPadding:q.flowCollectionPadding?" ":"",indent:"",indentStep:typeof q.indent==="number"?" ".repeat(q.indent):" ",inFlow:Z,options:q}}function xH(U,X){if(X.tag){let Q=U.filter((G)=>G.tag===X.tag);if(Q.length>0)return Q.find((G)=>G.format===X.format)??Q[0]}let q=void 0,Z;if(e0.isScalar(X)){Z=X.value;let Q=U.filter((G)=>G.identify?.(Z));if(Q.length>1){let G=Q.filter((Y)=>Y.test);if(G.length>0)Q=G}q=Q.find((G)=>G.format===X.format)??Q.find((G)=>!G.format)}else Z=X,q=U.find((Q)=>Q.nodeClass&&Z instanceof Q.nodeClass);if(!q){let Q=Z?.constructor?.name??(Z===null?"null":typeof Z);throw Error(`Tag not resolved for ${Q} value`)}return q}function uH(U,X,{anchors:q,doc:Z}){if(!Z.directives)return"";let Q=[],G=(e0.isScalar(U)||e0.isCollection(U))&&U.anchor;if(G&&yH.anchorIsValid(G))q.add(G),Q.push(`&${G}`);let Y=U.tag??(X.default?null:X.tag);if(Y)Q.push(Z.directives.tagString(Y));return Q.join(" ")}function mH(U,X,q,Z){if(e0.isPair(U))return U.toString(X,q,Z);if(e0.isAlias(U)){if(X.doc.directives)return U.toString(X);if(X.resolvedAliases?.has(U))throw TypeError("Cannot stringify circular structure without alias nodes");else{if(X.resolvedAliases)X.resolvedAliases.add(U);else X.resolvedAliases=new Set([U]);U=U.resolve(X.doc)}}let Q=void 0,G=e0.isNode(U)?U:X.doc.createNode(U,{onTagObj:(H)=>Q=H});Q??(Q=xH(X.doc.schema.tags,G));let Y=uH(G,Q,X);if(Y.length>0)X.indentAtStart=(X.indentAtStart??0)+Y.length+1;let J=typeof Q.stringify==="function"?Q.stringify(G,X,q,Z):e0.isScalar(G)?vH.stringifyString(G,X,q,Z):G.toString(X,q,Z);if(!Y)return J;return e0.isScalar(G)||J[0]==="{"||J[0]==="["?`${Y} ${J}`:`${Y}
34
+ ${X.indent}${J}`}pH.createStringifyContext=hH;pH.stringify=mH});var X3=R((iH)=>{var m0=k(),e8=i(),U3=m2(),p2=h2();function cH({key:U,value:X},q,Z,Q){let{allNullValues:G,doc:Y,indent:J,indentStep:H,options:{commentString:W,indentSeq:$,simpleKeys:_}}=q,L=m0.isNode(U)&&U.comment||null;if(_){if(L)throw Error("With simple keys, key nodes cannot have comments");if(m0.isCollection(U)||!m0.isNode(U)&&typeof U==="object")throw Error("With simple keys, collection cannot be used as a key value")}let A=!_&&(!U||L&&X==null&&!q.inFlow||m0.isCollection(U)||(m0.isScalar(U)?U.type===e8.Scalar.BLOCK_FOLDED||U.type===e8.Scalar.BLOCK_LITERAL:typeof U==="object"));q=Object.assign({},q,{allNullValues:!1,implicitKey:!A&&(_||!G),indent:J+H});let V=!1,z=!1,B=U3.stringify(U,q,()=>V=!0,()=>z=!0);if(!A&&!q.inFlow&&B.length>1024){if(_)throw Error("With simple keys, single line scalar must not span more than 1024 characters");A=!0}if(q.inFlow){if(G||X==null){if(V&&Z)Z();return B===""?"?":A?`? ${B}`:B}}else if(G&&!_||X==null&&A){if(B=`? ${B}`,L&&!V)B+=p2.lineComment(B,q.indent,W(L));else if(z&&Q)Q();return B}if(V)L=null;if(A){if(L)B+=p2.lineComment(B,q.indent,W(L));B=`? ${B}
35
+ ${J}:`}else if(B=`${B}:`,L)B+=p2.lineComment(B,q.indent,W(L));let D,w,K;if(m0.isNode(X))D=!!X.spaceBefore,w=X.commentBefore,K=X.comment;else if(D=!1,w=null,K=null,X&&typeof X==="object")X=Y.createNode(X);if(q.implicitKey=!1,!A&&!L&&m0.isScalar(X))q.indentAtStart=B.length+1;if(z=!1,!$&&H.length>=2&&!q.inFlow&&!A&&m0.isSeq(X)&&!X.flow&&!X.tag&&!X.anchor)q.indent=q.indent.substring(2);let C=!1,N=U3.stringify(X,q,()=>C=!0,()=>z=!0),b=" ";if(L||D||w){if(b=D?`
36
36
  `:"",w){let m=W(w);b+=`
37
37
  ${p2.indentComment(m,q.indent)}`}if(N===""&&!q.inFlow){if(b===`
38
38
  `&&K)b=`
39
39
 
40
40
  `}else b+=`
41
41
  ${q.indent}`}else if(!A&&m0.isCollection(X)){let m=N[0],P=N.indexOf(`
42
- `),s=P!==-1,p0=q.inFlow??X.flow??X.items.length===0;if(s||!p0){let R1=!1;if(s&&(m==="&"||m==="!")){let o=N.indexOf(" ");if(m==="&"&&o!==-1&&o<P&&N[o+1]==="!")o=N.indexOf(" ",o+1);if(o===-1||P<o)R1=!0}if(!R1)b=`
42
+ `),s=P!==-1,p0=q.inFlow??X.flow??X.items.length===0;if(s||!p0){let D1=!1;if(s&&(m==="&"||m==="!")){let o=N.indexOf(" ");if(m==="&"&&o!==-1&&o<P&&N[o+1]==="!")o=N.indexOf(" ",o+1);if(o===-1||P<o)D1=!0}if(!D1)b=`
43
43
  ${q.indent}`}}else if(N===""||N[0]===`
44
- `)b="";if(O+=b+N,q.inFlow){if(C&&Z)Z()}else if(K&&!C)O+=p2.lineComment(O,q.indent,W(K));else if(z&&Q)Q();return O}iH.stringifyPair=cH});var Z9=D((aH)=>{var q3=M1("process");function oH(U,...X){if(U==="debug")console.log(...X)}function rH(U,X){if(U==="debug"||U==="warn")if(typeof q3.emitWarning==="function")q3.emitWarning(X);else console.warn(X)}aH.debug=oH;aH.warn=rH});var UU=D((UW)=>{var l2=k(),Z3=i(),t6="<<",e6={identify:(U)=>U===t6||typeof U==="symbol"&&U.description===t6,default:"key",tag:"tag:yaml.org,2002:merge",test:/^<<$/,resolve:()=>Object.assign(new Z3.Scalar(Symbol(t6)),{addToJSMap:Q3}),stringify:()=>t6},eH=(U,X)=>(e6.identify(X)||l2.isScalar(X)&&(!X.type||X.type===Z3.Scalar.PLAIN)&&e6.identify(X.value))&&U?.doc.schema.tags.some((q)=>q.tag===e6.tag&&q.default);function Q3(U,X,q){if(q=U&&l2.isAlias(q)?q.resolve(U.doc):q,l2.isSeq(q))for(let Z of q.items)Q9(U,X,Z);else if(Array.isArray(q))for(let Z of q)Q9(U,X,Z);else Q9(U,X,q)}function Q9(U,X,q){let Z=U&&l2.isAlias(q)?q.resolve(U.doc):q;if(!l2.isMap(Z))throw Error("Merge sources must be maps or map aliases");let Q=Z.toJSON(null,U,Map);for(let[G,Y]of Q)if(X instanceof Map){if(!X.has(G))X.set(G,Y)}else if(X instanceof Set)X.add(G);else if(!Object.prototype.hasOwnProperty.call(X,G))Object.defineProperty(X,G,{value:Y,writable:!0,enumerable:!0,configurable:!0});return X}UW.addMergeToJSMap=Q3;UW.isMergeKey=eH;UW.merge=e6});var Y9=D((HW)=>{var QW=Z9(),G3=UU(),GW=m2(),Y3=k(),G9=n0();function YW(U,X,{key:q,value:Z}){if(Y3.isNode(q)&&q.addToJSMap)q.addToJSMap(U,X,Z);else if(G3.isMergeKey(U,q))G3.addMergeToJSMap(U,X,Z);else{let Q=G9.toJS(q,"",U);if(X instanceof Map)X.set(Q,G9.toJS(Z,Q,U));else if(X instanceof Set)X.add(Q);else{let G=JW(q,Q,U),Y=G9.toJS(Z,G,U);if(G in X)Object.defineProperty(X,G,{value:Y,writable:!0,enumerable:!0,configurable:!0});else X[G]=Y}}return X}function JW(U,X,q){if(X===null)return"";if(typeof X!=="object")return String(X);if(Y3.isNode(U)&&q?.doc){let Z=GW.createStringifyContext(q.doc,{});Z.anchors=new Set;for(let G of q.anchors.keys())Z.anchors.add(G.anchor);Z.inFlow=!0,Z.inStringifyKey=!0;let Q=U.toString(Z);if(!q.mapKeyWarned){let G=JSON.stringify(Q);if(G.length>40)G=G.substring(0,36)+'..."';QW.warn(q.doc.options.logLevel,`Keys with collection values will be stringified due to JS Object restrictions: ${G}. Set mapAsMap: true to use object keys.`),q.mapKeyWarned=!0}return Q}return JSON.stringify(X)}HW.addPairToJSMap=YW});var U1=D((zW)=>{var J3=v2(),_W=X3(),$W=Y9(),XU=k();function LW(U,X,q){let Z=J3.createNode(U,void 0,q),Q=J3.createNode(X,void 0,q);return new qU(Z,Q)}class qU{constructor(U,X=null){Object.defineProperty(this,XU.NODE_TYPE,{value:XU.PAIR}),this.key=U,this.value=X}clone(U){let{key:X,value:q}=this;if(XU.isNode(X))X=X.clone(U);if(XU.isNode(q))q=q.clone(U);return new qU(X,q)}toJSON(U,X){let q=X?.mapAsMap?new Map:{};return $W.addPairToJSMap(X,q,this)}toString(U,X,q){return U?.doc?_W.stringifyPair(this,U,X,q):JSON.stringify(this)}}zW.Pair=qU;zW.createPair=LW});var J9=D((TW)=>{var V1=k(),H3=m2(),ZU=h2();function VW(U,X,q){return(X.inFlow??U.flow?BW:OW)(U,X,q)}function OW({comment:U,items:X},q,{blockItemPrefix:Z,flowChars:Q,itemIndent:G,onChompKeep:Y,onComment:J}){let{indent:H,options:{commentString:W}}=q,$=Object.assign({},q,{indent:G,type:null}),_=!1,L=[];for(let T=0;T<X.length;++T){let z=X[T],O=null;if(V1.isNode(z)){if(!_&&z.spaceBefore)L.push("");if(QU(q,L,z.commentBefore,_),z.comment)O=z.comment}else if(V1.isPair(z)){let w=V1.isNode(z.key)?z.key:null;if(w){if(!_&&w.spaceBefore)L.push("");QU(q,L,w.commentBefore,_)}}_=!1;let R=H3.stringify(z,$,()=>O=null,()=>_=!0);if(O)R+=ZU.lineComment(R,G,W(O));if(_&&O)_=!1;L.push(Z+R)}let A;if(L.length===0)A=Q.start+Q.end;else{A=L[0];for(let T=1;T<L.length;++T){let z=L[T];A+=z?`
44
+ `)b="";if(B+=b+N,q.inFlow){if(C&&Z)Z()}else if(K&&!C)B+=p2.lineComment(B,q.indent,W(K));else if(z&&Q)Q();return B}iH.stringifyPair=cH});var Z9=R((aH)=>{var q3=M1("process");function oH(U,...X){if(U==="debug")console.log(...X)}function rH(U,X){if(U==="debug"||U==="warn")if(typeof q3.emitWarning==="function")q3.emitWarning(X);else console.warn(X)}aH.debug=oH;aH.warn=rH});var U6=R((UW)=>{var l2=k(),Z3=i(),tU="<<",eU={identify:(U)=>U===tU||typeof U==="symbol"&&U.description===tU,default:"key",tag:"tag:yaml.org,2002:merge",test:/^<<$/,resolve:()=>Object.assign(new Z3.Scalar(Symbol(tU)),{addToJSMap:Q3}),stringify:()=>tU},eH=(U,X)=>(eU.identify(X)||l2.isScalar(X)&&(!X.type||X.type===Z3.Scalar.PLAIN)&&eU.identify(X.value))&&U?.doc.schema.tags.some((q)=>q.tag===eU.tag&&q.default);function Q3(U,X,q){if(q=U&&l2.isAlias(q)?q.resolve(U.doc):q,l2.isSeq(q))for(let Z of q.items)Q9(U,X,Z);else if(Array.isArray(q))for(let Z of q)Q9(U,X,Z);else Q9(U,X,q)}function Q9(U,X,q){let Z=U&&l2.isAlias(q)?q.resolve(U.doc):q;if(!l2.isMap(Z))throw Error("Merge sources must be maps or map aliases");let Q=Z.toJSON(null,U,Map);for(let[G,Y]of Q)if(X instanceof Map){if(!X.has(G))X.set(G,Y)}else if(X instanceof Set)X.add(G);else if(!Object.prototype.hasOwnProperty.call(X,G))Object.defineProperty(X,G,{value:Y,writable:!0,enumerable:!0,configurable:!0});return X}UW.addMergeToJSMap=Q3;UW.isMergeKey=eH;UW.merge=eU});var Y9=R((HW)=>{var QW=Z9(),G3=U6(),GW=m2(),Y3=k(),G9=n0();function YW(U,X,{key:q,value:Z}){if(Y3.isNode(q)&&q.addToJSMap)q.addToJSMap(U,X,Z);else if(G3.isMergeKey(U,q))G3.addMergeToJSMap(U,X,Z);else{let Q=G9.toJS(q,"",U);if(X instanceof Map)X.set(Q,G9.toJS(Z,Q,U));else if(X instanceof Set)X.add(Q);else{let G=JW(q,Q,U),Y=G9.toJS(Z,G,U);if(G in X)Object.defineProperty(X,G,{value:Y,writable:!0,enumerable:!0,configurable:!0});else X[G]=Y}}return X}function JW(U,X,q){if(X===null)return"";if(typeof X!=="object")return String(X);if(Y3.isNode(U)&&q?.doc){let Z=GW.createStringifyContext(q.doc,{});Z.anchors=new Set;for(let G of q.anchors.keys())Z.anchors.add(G.anchor);Z.inFlow=!0,Z.inStringifyKey=!0;let Q=U.toString(Z);if(!q.mapKeyWarned){let G=JSON.stringify(Q);if(G.length>40)G=G.substring(0,36)+'..."';QW.warn(q.doc.options.logLevel,`Keys with collection values will be stringified due to JS Object restrictions: ${G}. Set mapAsMap: true to use object keys.`),q.mapKeyWarned=!0}return Q}return JSON.stringify(X)}HW.addPairToJSMap=YW});var U1=R((zW)=>{var J3=v2(),_W=X3(),$W=Y9(),X6=k();function LW(U,X,q){let Z=J3.createNode(U,void 0,q),Q=J3.createNode(X,void 0,q);return new q6(Z,Q)}class q6{constructor(U,X=null){Object.defineProperty(this,X6.NODE_TYPE,{value:X6.PAIR}),this.key=U,this.value=X}clone(U){let{key:X,value:q}=this;if(X6.isNode(X))X=X.clone(U);if(X6.isNode(q))q=q.clone(U);return new q6(X,q)}toJSON(U,X){let q=X?.mapAsMap?new Map:{};return $W.addPairToJSMap(X,q,this)}toString(U,X,q){return U?.doc?_W.stringifyPair(this,U,X,q):JSON.stringify(this)}}zW.Pair=q6;zW.createPair=LW});var J9=R((VW)=>{var O1=k(),H3=m2(),Z6=h2();function OW(U,X,q){return(X.inFlow??U.flow?TW:BW)(U,X,q)}function BW({comment:U,items:X},q,{blockItemPrefix:Z,flowChars:Q,itemIndent:G,onChompKeep:Y,onComment:J}){let{indent:H,options:{commentString:W}}=q,$=Object.assign({},q,{indent:G,type:null}),_=!1,L=[];for(let V=0;V<X.length;++V){let z=X[V],B=null;if(O1.isNode(z)){if(!_&&z.spaceBefore)L.push("");if(Q6(q,L,z.commentBefore,_),z.comment)B=z.comment}else if(O1.isPair(z)){let w=O1.isNode(z.key)?z.key:null;if(w){if(!_&&w.spaceBefore)L.push("");Q6(q,L,w.commentBefore,_)}}_=!1;let D=H3.stringify(z,$,()=>B=null,()=>_=!0);if(B)D+=Z6.lineComment(D,G,W(B));if(_&&B)_=!1;L.push(Z+D)}let A;if(L.length===0)A=Q.start+Q.end;else{A=L[0];for(let V=1;V<L.length;++V){let z=L[V];A+=z?`
45
45
  ${H}${z}`:`
46
46
  `}}if(U){if(A+=`
47
- `+ZU.indentComment(W(U),H),J)J()}else if(_&&Y)Y();return A}function BW({items:U},X,{flowChars:q,itemIndent:Z}){let{indent:Q,indentStep:G,flowCollectionPadding:Y,options:{commentString:J}}=X;Z+=G;let H=Object.assign({},X,{indent:Z,inFlow:!0,type:null}),W=!1,$=0,_=[];for(let T=0;T<U.length;++T){let z=U[T],O=null;if(V1.isNode(z)){if(z.spaceBefore)_.push("");if(QU(X,_,z.commentBefore,!1),z.comment)O=z.comment}else if(V1.isPair(z)){let w=V1.isNode(z.key)?z.key:null;if(w){if(w.spaceBefore)_.push("");if(QU(X,_,w.commentBefore,!1),w.comment)W=!0}let K=V1.isNode(z.value)?z.value:null;if(K){if(K.comment)O=K.comment;if(K.commentBefore)W=!0}else if(z.value==null&&w?.comment)O=w.comment}if(O)W=!0;let R=H3.stringify(z,H,()=>O=null);if(T<U.length-1)R+=",";if(O)R+=ZU.lineComment(R,Z,J(O));if(!W&&(_.length>$||R.includes(`
48
- `)))W=!0;_.push(R),$=_.length}let{start:L,end:A}=q;if(_.length===0)return L+A;else{if(!W){let T=_.reduce((z,O)=>z+O.length+2,2);W=X.options.lineWidth>0&&T>X.options.lineWidth}if(W){let T=L;for(let z of _)T+=z?`
47
+ `+Z6.indentComment(W(U),H),J)J()}else if(_&&Y)Y();return A}function TW({items:U},X,{flowChars:q,itemIndent:Z}){let{indent:Q,indentStep:G,flowCollectionPadding:Y,options:{commentString:J}}=X;Z+=G;let H=Object.assign({},X,{indent:Z,inFlow:!0,type:null}),W=!1,$=0,_=[];for(let V=0;V<U.length;++V){let z=U[V],B=null;if(O1.isNode(z)){if(z.spaceBefore)_.push("");if(Q6(X,_,z.commentBefore,!1),z.comment)B=z.comment}else if(O1.isPair(z)){let w=O1.isNode(z.key)?z.key:null;if(w){if(w.spaceBefore)_.push("");if(Q6(X,_,w.commentBefore,!1),w.comment)W=!0}let K=O1.isNode(z.value)?z.value:null;if(K){if(K.comment)B=K.comment;if(K.commentBefore)W=!0}else if(z.value==null&&w?.comment)B=w.comment}if(B)W=!0;let D=H3.stringify(z,H,()=>B=null);if(V<U.length-1)D+=",";if(B)D+=Z6.lineComment(D,Z,J(B));if(!W&&(_.length>$||D.includes(`
48
+ `)))W=!0;_.push(D),$=_.length}let{start:L,end:A}=q;if(_.length===0)return L+A;else{if(!W){let V=_.reduce((z,B)=>z+B.length+2,2);W=X.options.lineWidth>0&&V>X.options.lineWidth}if(W){let V=L;for(let z of _)V+=z?`
49
49
  ${G}${Q}${z}`:`
50
- `;return`${T}
51
- ${Q}${A}`}else return`${L}${Y}${_.join(" ")}${Y}${A}`}}function QU({indent:U,options:{commentString:X}},q,Z,Q){if(Z&&Q)Z=Z.replace(/^\n+/,"");if(Z){let G=ZU.indentComment(X(Z),U);q.push(G.trimStart())}}TW.stringifyCollection=VW});var q1=D((IW)=>{var RW=J9(),MW=Y9(),PW=o6(),X1=k(),GU=U1(),wW=i();function d2(U,X){let q=X1.isScalar(X)?X.value:X;for(let Z of U)if(X1.isPair(Z)){if(Z.key===X||Z.key===q)return Z;if(X1.isScalar(Z.key)&&Z.key.value===q)return Z}return}class W3 extends PW.Collection{static get tagName(){return"tag:yaml.org,2002:map"}constructor(U){super(X1.MAP,U);this.items=[]}static from(U,X,q){let{keepUndefined:Z,replacer:Q}=q,G=new this(U),Y=(J,H)=>{if(typeof Q==="function")H=Q.call(X,J,H);else if(Array.isArray(Q)&&!Q.includes(J))return;if(H!==void 0||Z)G.items.push(GU.createPair(J,H,q))};if(X instanceof Map)for(let[J,H]of X)Y(J,H);else if(X&&typeof X==="object")for(let J of Object.keys(X))Y(J,X[J]);if(typeof U.sortMapEntries==="function")G.items.sort(U.sortMapEntries);return G}add(U,X){let q;if(X1.isPair(U))q=U;else if(!U||typeof U!=="object"||!("key"in U))q=new GU.Pair(U,U?.value);else q=new GU.Pair(U.key,U.value);let Z=d2(this.items,q.key),Q=this.schema?.sortMapEntries;if(Z){if(!X)throw Error(`Key ${q.key} already set`);if(X1.isScalar(Z.value)&&wW.isScalarValue(q.value))Z.value.value=q.value;else Z.value=q.value}else if(Q){let G=this.items.findIndex((Y)=>Q(q,Y)<0);if(G===-1)this.items.push(q);else this.items.splice(G,0,q)}else this.items.push(q)}delete(U){let X=d2(this.items,U);if(!X)return!1;return this.items.splice(this.items.indexOf(X),1).length>0}get(U,X){let Z=d2(this.items,U)?.value;return(!X&&X1.isScalar(Z)?Z.value:Z)??void 0}has(U){return!!d2(this.items,U)}set(U,X){this.add(new GU.Pair(U,X),!0)}toJSON(U,X,q){let Z=q?new q:X?.mapAsMap?new Map:{};if(X?.onCreate)X.onCreate(Z);for(let Q of this.items)MW.addPairToJSMap(X,Z,Q);return Z}toString(U,X,q){if(!U)return JSON.stringify(this);for(let Z of this.items)if(!X1.isPair(Z))throw Error(`Map items must all be pairs; found ${JSON.stringify(Z)} instead`);if(!U.allNullValues&&this.hasAllNullValues(!1))U=Object.assign({},U,{allNullValues:!0});return RW.stringifyCollection(this,U,{blockItemPrefix:"",flowChars:{start:"{",end:"}"},itemIndent:U.indent||"",onChompKeep:q,onComment:X})}}IW.YAMLMap=W3;IW.findPair=d2});var s1=D((EW)=>{var CW=k(),_3=q1(),SW={collection:"map",default:!0,nodeClass:_3.YAMLMap,tag:"tag:yaml.org,2002:map",resolve(U,X){if(!CW.isMap(U))X("Expected a mapping for this tag");return U},createNode:(U,X,q)=>_3.YAMLMap.from(U,X,q)};EW.map=SW});var Z1=D((vW)=>{var bW=v2(),fW=J9(),yW=o6(),JU=k(),gW=i(),kW=n0();class $3 extends yW.Collection{static get tagName(){return"tag:yaml.org,2002:seq"}constructor(U){super(JU.SEQ,U);this.items=[]}add(U){this.items.push(U)}delete(U){let X=YU(U);if(typeof X!=="number")return!1;return this.items.splice(X,1).length>0}get(U,X){let q=YU(U);if(typeof q!=="number")return;let Z=this.items[q];return!X&&JU.isScalar(Z)?Z.value:Z}has(U){let X=YU(U);return typeof X==="number"&&X<this.items.length}set(U,X){let q=YU(U);if(typeof q!=="number")throw Error(`Expected a valid index, not ${U}.`);let Z=this.items[q];if(JU.isScalar(Z)&&gW.isScalarValue(X))Z.value=X;else this.items[q]=X}toJSON(U,X){let q=[];if(X?.onCreate)X.onCreate(q);let Z=0;for(let Q of this.items)q.push(kW.toJS(Q,String(Z++),X));return q}toString(U,X,q){if(!U)return JSON.stringify(this);return fW.stringifyCollection(this,U,{blockItemPrefix:"- ",flowChars:{start:"[",end:"]"},itemIndent:(U.indent||"")+" ",onChompKeep:q,onComment:X})}static from(U,X,q){let{replacer:Z}=q,Q=new this(U);if(X&&Symbol.iterator in Object(X)){let G=0;for(let Y of X){if(typeof Z==="function"){let J=X instanceof Set?Y:String(G++);Y=Z.call(X,J,Y)}Q.items.push(bW.createNode(Y,void 0,q))}}return Q}}function YU(U){let X=JU.isScalar(U)?U.value:U;if(X&&typeof X==="string")X=Number(X);return typeof X==="number"&&Number.isInteger(X)&&X>=0?X:null}vW.YAMLSeq=$3});var o1=D((mW)=>{var xW=k(),L3=Z1(),uW={collection:"seq",default:!0,nodeClass:L3.YAMLSeq,tag:"tag:yaml.org,2002:seq",resolve(U,X){if(!xW.isSeq(U))X("Expected a sequence for this tag");return U},createNode:(U,X,q)=>L3.YAMLSeq.from(U,X,q)};mW.seq=uW});var c2=D((cW)=>{var lW=u2(),dW={identify:(U)=>typeof U==="string",default:!0,tag:"tag:yaml.org,2002:str",resolve:(U)=>U,stringify(U,X,q,Z){return X=Object.assign({actualString:!0},X),lW.stringifyString(U,X,q,Z)}};cW.string=dW});var HU=D((sW)=>{var z3=i(),F3={identify:(U)=>U==null,createNode:()=>new z3.Scalar(null),default:!0,tag:"tag:yaml.org,2002:null",test:/^(?:~|[Nn]ull|NULL)?$/,resolve:()=>new z3.Scalar(null),stringify:({source:U},X)=>typeof U==="string"&&F3.test.test(U)?U:X.options.nullStr};sW.nullTag=F3});var H9=D((aW)=>{var rW=i(),A3={identify:(U)=>typeof U==="boolean",default:!0,tag:"tag:yaml.org,2002:bool",test:/^(?:[Tt]rue|TRUE|[Ff]alse|FALSE)$/,resolve:(U)=>new rW.Scalar(U[0]==="t"||U[0]==="T"),stringify({source:U,value:X},q){if(U&&A3.test.test(U)){let Z=U[0]==="t"||U[0]==="T";if(X===Z)return U}return X?q.options.trueStr:q.options.falseStr}};aW.boolTag=A3});var r1=D((eW)=>{function tW({format:U,minFractionDigits:X,tag:q,value:Z}){if(typeof Z==="bigint")return String(Z);let Q=typeof Z==="number"?Z:Number(Z);if(!isFinite(Q))return isNaN(Q)?".nan":Q<0?"-.inf":".inf";let G=Object.is(Z,-0)?"-0":JSON.stringify(Z);if(!U&&X&&(!q||q==="tag:yaml.org,2002:float")&&/^\d/.test(G)){let Y=G.indexOf(".");if(Y<0)Y=G.length,G+=".";let J=X-(G.length-Y-1);while(J-- >0)G+="0"}return G}eW.stringifyNumber=tW});var _9=D((G_)=>{var X_=i(),W9=r1(),q_={identify:(U)=>typeof U==="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^(?:[-+]?\.(?:inf|Inf|INF)|\.nan|\.NaN|\.NAN)$/,resolve:(U)=>U.slice(-3).toLowerCase()==="nan"?NaN:U[0]==="-"?Number.NEGATIVE_INFINITY:Number.POSITIVE_INFINITY,stringify:W9.stringifyNumber},Z_={identify:(U)=>typeof U==="number",default:!0,tag:"tag:yaml.org,2002:float",format:"EXP",test:/^[-+]?(?:\.[0-9]+|[0-9]+(?:\.[0-9]*)?)[eE][-+]?[0-9]+$/,resolve:(U)=>parseFloat(U),stringify(U){let X=Number(U.value);return isFinite(X)?X.toExponential():W9.stringifyNumber(U)}},Q_={identify:(U)=>typeof U==="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^[-+]?(?:\.[0-9]+|[0-9]+\.[0-9]*)$/,resolve(U){let X=new X_.Scalar(parseFloat(U)),q=U.indexOf(".");if(q!==-1&&U[U.length-1]==="0")X.minFractionDigits=U.length-q-1;return X},stringify:W9.stringifyNumber};G_.float=Q_;G_.floatExp=Z_;G_.floatNaN=q_});var L9=D((L_)=>{var V3=r1(),WU=(U)=>typeof U==="bigint"||Number.isInteger(U),$9=(U,X,q,{intAsBigInt:Z})=>Z?BigInt(U):parseInt(U.substring(X),q);function O3(U,X,q){let{value:Z}=U;if(WU(Z)&&Z>=0)return q+Z.toString(X);return V3.stringifyNumber(U)}var W_={identify:(U)=>WU(U)&&U>=0,default:!0,tag:"tag:yaml.org,2002:int",format:"OCT",test:/^0o[0-7]+$/,resolve:(U,X,q)=>$9(U,2,8,q),stringify:(U)=>O3(U,8,"0o")},__={identify:WU,default:!0,tag:"tag:yaml.org,2002:int",test:/^[-+]?[0-9]+$/,resolve:(U,X,q)=>$9(U,0,10,q),stringify:V3.stringifyNumber},$_={identify:(U)=>WU(U)&&U>=0,default:!0,tag:"tag:yaml.org,2002:int",format:"HEX",test:/^0x[0-9a-fA-F]+$/,resolve:(U,X,q)=>$9(U,2,16,q),stringify:(U)=>O3(U,16,"0x")};L_.int=__;L_.intHex=$_;L_.intOct=W_});var B3=D((M_)=>{var V_=s1(),O_=HU(),B_=o1(),T_=c2(),D_=H9(),z9=_9(),F9=L9(),R_=[V_.map,B_.seq,T_.string,O_.nullTag,D_.boolTag,F9.intOct,F9.int,F9.intHex,z9.floatNaN,z9.floatExp,z9.float];M_.schema=R_});var D3=D((E_)=>{var w_=i(),I_=s1(),K_=o1();function T3(U){return typeof U==="bigint"||Number.isInteger(U)}var _U=({value:U})=>JSON.stringify(U),N_=[{identify:(U)=>typeof U==="string",default:!0,tag:"tag:yaml.org,2002:str",resolve:(U)=>U,stringify:_U},{identify:(U)=>U==null,createNode:()=>new w_.Scalar(null),default:!0,tag:"tag:yaml.org,2002:null",test:/^null$/,resolve:()=>null,stringify:_U},{identify:(U)=>typeof U==="boolean",default:!0,tag:"tag:yaml.org,2002:bool",test:/^true$|^false$/,resolve:(U)=>U==="true",stringify:_U},{identify:T3,default:!0,tag:"tag:yaml.org,2002:int",test:/^-?(?:0|[1-9][0-9]*)$/,resolve:(U,X,{intAsBigInt:q})=>q?BigInt(U):parseInt(U,10),stringify:({value:U})=>T3(U)?U.toString():JSON.stringify(U)},{identify:(U)=>typeof U==="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^-?(?:0|[1-9][0-9]*)(?:\.[0-9]*)?(?:[eE][-+]?[0-9]+)?$/,resolve:(U)=>parseFloat(U),stringify:_U}],C_={default:!0,tag:"",test:/^/,resolve(U,X){return X(`Unresolved plain scalar ${JSON.stringify(U)}`),U}},S_=[I_.map,K_.seq].concat(N_,C_);E_.schema=S_});var V9=D((y_)=>{var i2=M1("buffer"),A9=i(),b_=u2(),f_={identify:(U)=>U instanceof Uint8Array,default:!1,tag:"tag:yaml.org,2002:binary",resolve(U,X){if(typeof i2.Buffer==="function")return i2.Buffer.from(U,"base64");else if(typeof atob==="function"){let q=atob(U.replace(/[\n\r]/g,"")),Z=new Uint8Array(q.length);for(let Q=0;Q<q.length;++Q)Z[Q]=q.charCodeAt(Q);return Z}else return X("This environment does not support reading binary tags; either Buffer or atob is required"),U},stringify({comment:U,type:X,value:q},Z,Q,G){if(!q)return"";let Y=q,J;if(typeof i2.Buffer==="function")J=Y instanceof i2.Buffer?Y.toString("base64"):i2.Buffer.from(Y.buffer).toString("base64");else if(typeof btoa==="function"){let H="";for(let W=0;W<Y.length;++W)H+=String.fromCharCode(Y[W]);J=btoa(H)}else throw Error("This environment does not support writing binary tags; either Buffer or btoa is required");if(X??(X=A9.Scalar.BLOCK_LITERAL),X!==A9.Scalar.QUOTE_DOUBLE){let H=Math.max(Z.options.lineWidth-Z.indent.length,Z.options.minContentWidth),W=Math.ceil(J.length/H),$=Array(W);for(let _=0,L=0;_<W;++_,L+=H)$[_]=J.substr(L,H);J=$.join(X===A9.Scalar.BLOCK_LITERAL?`
52
- `:" ")}return b_.stringifyString({comment:U,type:X,value:J},Z,Q,G)}};y_.binary=f_});var LU=D((x_)=>{var $U=k(),O9=U1(),k_=i(),v_=Z1();function R3(U,X){if($U.isSeq(U))for(let q=0;q<U.items.length;++q){let Z=U.items[q];if($U.isPair(Z))continue;else if($U.isMap(Z)){if(Z.items.length>1)X("Each pair must have its own sequence indicator");let Q=Z.items[0]||new O9.Pair(new k_.Scalar(null));if(Z.commentBefore)Q.key.commentBefore=Q.key.commentBefore?`${Z.commentBefore}
50
+ `;return`${V}
51
+ ${Q}${A}`}else return`${L}${Y}${_.join(" ")}${Y}${A}`}}function Q6({indent:U,options:{commentString:X}},q,Z,Q){if(Z&&Q)Z=Z.replace(/^\n+/,"");if(Z){let G=Z6.indentComment(X(Z),U);q.push(G.trimStart())}}VW.stringifyCollection=OW});var q1=R((IW)=>{var DW=J9(),MW=Y9(),PW=oU(),X1=k(),G6=U1(),wW=i();function d2(U,X){let q=X1.isScalar(X)?X.value:X;for(let Z of U)if(X1.isPair(Z)){if(Z.key===X||Z.key===q)return Z;if(X1.isScalar(Z.key)&&Z.key.value===q)return Z}return}class W3 extends PW.Collection{static get tagName(){return"tag:yaml.org,2002:map"}constructor(U){super(X1.MAP,U);this.items=[]}static from(U,X,q){let{keepUndefined:Z,replacer:Q}=q,G=new this(U),Y=(J,H)=>{if(typeof Q==="function")H=Q.call(X,J,H);else if(Array.isArray(Q)&&!Q.includes(J))return;if(H!==void 0||Z)G.items.push(G6.createPair(J,H,q))};if(X instanceof Map)for(let[J,H]of X)Y(J,H);else if(X&&typeof X==="object")for(let J of Object.keys(X))Y(J,X[J]);if(typeof U.sortMapEntries==="function")G.items.sort(U.sortMapEntries);return G}add(U,X){let q;if(X1.isPair(U))q=U;else if(!U||typeof U!=="object"||!("key"in U))q=new G6.Pair(U,U?.value);else q=new G6.Pair(U.key,U.value);let Z=d2(this.items,q.key),Q=this.schema?.sortMapEntries;if(Z){if(!X)throw Error(`Key ${q.key} already set`);if(X1.isScalar(Z.value)&&wW.isScalarValue(q.value))Z.value.value=q.value;else Z.value=q.value}else if(Q){let G=this.items.findIndex((Y)=>Q(q,Y)<0);if(G===-1)this.items.push(q);else this.items.splice(G,0,q)}else this.items.push(q)}delete(U){let X=d2(this.items,U);if(!X)return!1;return this.items.splice(this.items.indexOf(X),1).length>0}get(U,X){let Z=d2(this.items,U)?.value;return(!X&&X1.isScalar(Z)?Z.value:Z)??void 0}has(U){return!!d2(this.items,U)}set(U,X){this.add(new G6.Pair(U,X),!0)}toJSON(U,X,q){let Z=q?new q:X?.mapAsMap?new Map:{};if(X?.onCreate)X.onCreate(Z);for(let Q of this.items)MW.addPairToJSMap(X,Z,Q);return Z}toString(U,X,q){if(!U)return JSON.stringify(this);for(let Z of this.items)if(!X1.isPair(Z))throw Error(`Map items must all be pairs; found ${JSON.stringify(Z)} instead`);if(!U.allNullValues&&this.hasAllNullValues(!1))U=Object.assign({},U,{allNullValues:!0});return DW.stringifyCollection(this,U,{blockItemPrefix:"",flowChars:{start:"{",end:"}"},itemIndent:U.indent||"",onChompKeep:q,onComment:X})}}IW.YAMLMap=W3;IW.findPair=d2});var o1=R((EW)=>{var CW=k(),_3=q1(),SW={collection:"map",default:!0,nodeClass:_3.YAMLMap,tag:"tag:yaml.org,2002:map",resolve(U,X){if(!CW.isMap(U))X("Expected a mapping for this tag");return U},createNode:(U,X,q)=>_3.YAMLMap.from(U,X,q)};EW.map=SW});var Z1=R((vW)=>{var bW=v2(),fW=J9(),gW=oU(),J6=k(),yW=i(),kW=n0();class $3 extends gW.Collection{static get tagName(){return"tag:yaml.org,2002:seq"}constructor(U){super(J6.SEQ,U);this.items=[]}add(U){this.items.push(U)}delete(U){let X=Y6(U);if(typeof X!=="number")return!1;return this.items.splice(X,1).length>0}get(U,X){let q=Y6(U);if(typeof q!=="number")return;let Z=this.items[q];return!X&&J6.isScalar(Z)?Z.value:Z}has(U){let X=Y6(U);return typeof X==="number"&&X<this.items.length}set(U,X){let q=Y6(U);if(typeof q!=="number")throw Error(`Expected a valid index, not ${U}.`);let Z=this.items[q];if(J6.isScalar(Z)&&yW.isScalarValue(X))Z.value=X;else this.items[q]=X}toJSON(U,X){let q=[];if(X?.onCreate)X.onCreate(q);let Z=0;for(let Q of this.items)q.push(kW.toJS(Q,String(Z++),X));return q}toString(U,X,q){if(!U)return JSON.stringify(this);return fW.stringifyCollection(this,U,{blockItemPrefix:"- ",flowChars:{start:"[",end:"]"},itemIndent:(U.indent||"")+" ",onChompKeep:q,onComment:X})}static from(U,X,q){let{replacer:Z}=q,Q=new this(U);if(X&&Symbol.iterator in Object(X)){let G=0;for(let Y of X){if(typeof Z==="function"){let J=X instanceof Set?Y:String(G++);Y=Z.call(X,J,Y)}Q.items.push(bW.createNode(Y,void 0,q))}}return Q}}function Y6(U){let X=J6.isScalar(U)?U.value:U;if(X&&typeof X==="string")X=Number(X);return typeof X==="number"&&Number.isInteger(X)&&X>=0?X:null}vW.YAMLSeq=$3});var r1=R((mW)=>{var xW=k(),L3=Z1(),uW={collection:"seq",default:!0,nodeClass:L3.YAMLSeq,tag:"tag:yaml.org,2002:seq",resolve(U,X){if(!xW.isSeq(U))X("Expected a sequence for this tag");return U},createNode:(U,X,q)=>L3.YAMLSeq.from(U,X,q)};mW.seq=uW});var c2=R((cW)=>{var lW=u2(),dW={identify:(U)=>typeof U==="string",default:!0,tag:"tag:yaml.org,2002:str",resolve:(U)=>U,stringify(U,X,q,Z){return X=Object.assign({actualString:!0},X),lW.stringifyString(U,X,q,Z)}};cW.string=dW});var H6=R((sW)=>{var z3=i(),F3={identify:(U)=>U==null,createNode:()=>new z3.Scalar(null),default:!0,tag:"tag:yaml.org,2002:null",test:/^(?:~|[Nn]ull|NULL)?$/,resolve:()=>new z3.Scalar(null),stringify:({source:U},X)=>typeof U==="string"&&F3.test.test(U)?U:X.options.nullStr};sW.nullTag=F3});var H9=R((aW)=>{var rW=i(),A3={identify:(U)=>typeof U==="boolean",default:!0,tag:"tag:yaml.org,2002:bool",test:/^(?:[Tt]rue|TRUE|[Ff]alse|FALSE)$/,resolve:(U)=>new rW.Scalar(U[0]==="t"||U[0]==="T"),stringify({source:U,value:X},q){if(U&&A3.test.test(U)){let Z=U[0]==="t"||U[0]==="T";if(X===Z)return U}return X?q.options.trueStr:q.options.falseStr}};aW.boolTag=A3});var a1=R((eW)=>{function tW({format:U,minFractionDigits:X,tag:q,value:Z}){if(typeof Z==="bigint")return String(Z);let Q=typeof Z==="number"?Z:Number(Z);if(!isFinite(Q))return isNaN(Q)?".nan":Q<0?"-.inf":".inf";let G=Object.is(Z,-0)?"-0":JSON.stringify(Z);if(!U&&X&&(!q||q==="tag:yaml.org,2002:float")&&/^\d/.test(G)){let Y=G.indexOf(".");if(Y<0)Y=G.length,G+=".";let J=X-(G.length-Y-1);while(J-- >0)G+="0"}return G}eW.stringifyNumber=tW});var _9=R((G_)=>{var X_=i(),W9=a1(),q_={identify:(U)=>typeof U==="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^(?:[-+]?\.(?:inf|Inf|INF)|\.nan|\.NaN|\.NAN)$/,resolve:(U)=>U.slice(-3).toLowerCase()==="nan"?NaN:U[0]==="-"?Number.NEGATIVE_INFINITY:Number.POSITIVE_INFINITY,stringify:W9.stringifyNumber},Z_={identify:(U)=>typeof U==="number",default:!0,tag:"tag:yaml.org,2002:float",format:"EXP",test:/^[-+]?(?:\.[0-9]+|[0-9]+(?:\.[0-9]*)?)[eE][-+]?[0-9]+$/,resolve:(U)=>parseFloat(U),stringify(U){let X=Number(U.value);return isFinite(X)?X.toExponential():W9.stringifyNumber(U)}},Q_={identify:(U)=>typeof U==="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^[-+]?(?:\.[0-9]+|[0-9]+\.[0-9]*)$/,resolve(U){let X=new X_.Scalar(parseFloat(U)),q=U.indexOf(".");if(q!==-1&&U[U.length-1]==="0")X.minFractionDigits=U.length-q-1;return X},stringify:W9.stringifyNumber};G_.float=Q_;G_.floatExp=Z_;G_.floatNaN=q_});var L9=R((L_)=>{var O3=a1(),W6=(U)=>typeof U==="bigint"||Number.isInteger(U),$9=(U,X,q,{intAsBigInt:Z})=>Z?BigInt(U):parseInt(U.substring(X),q);function B3(U,X,q){let{value:Z}=U;if(W6(Z)&&Z>=0)return q+Z.toString(X);return O3.stringifyNumber(U)}var W_={identify:(U)=>W6(U)&&U>=0,default:!0,tag:"tag:yaml.org,2002:int",format:"OCT",test:/^0o[0-7]+$/,resolve:(U,X,q)=>$9(U,2,8,q),stringify:(U)=>B3(U,8,"0o")},__={identify:W6,default:!0,tag:"tag:yaml.org,2002:int",test:/^[-+]?[0-9]+$/,resolve:(U,X,q)=>$9(U,0,10,q),stringify:O3.stringifyNumber},$_={identify:(U)=>W6(U)&&U>=0,default:!0,tag:"tag:yaml.org,2002:int",format:"HEX",test:/^0x[0-9a-fA-F]+$/,resolve:(U,X,q)=>$9(U,2,16,q),stringify:(U)=>B3(U,16,"0x")};L_.int=__;L_.intHex=$_;L_.intOct=W_});var T3=R((M_)=>{var O_=o1(),B_=H6(),T_=r1(),V_=c2(),R_=H9(),z9=_9(),F9=L9(),D_=[O_.map,T_.seq,V_.string,B_.nullTag,R_.boolTag,F9.intOct,F9.int,F9.intHex,z9.floatNaN,z9.floatExp,z9.float];M_.schema=D_});var R3=R((E_)=>{var w_=i(),I_=o1(),K_=r1();function V3(U){return typeof U==="bigint"||Number.isInteger(U)}var _6=({value:U})=>JSON.stringify(U),N_=[{identify:(U)=>typeof U==="string",default:!0,tag:"tag:yaml.org,2002:str",resolve:(U)=>U,stringify:_6},{identify:(U)=>U==null,createNode:()=>new w_.Scalar(null),default:!0,tag:"tag:yaml.org,2002:null",test:/^null$/,resolve:()=>null,stringify:_6},{identify:(U)=>typeof U==="boolean",default:!0,tag:"tag:yaml.org,2002:bool",test:/^true$|^false$/,resolve:(U)=>U==="true",stringify:_6},{identify:V3,default:!0,tag:"tag:yaml.org,2002:int",test:/^-?(?:0|[1-9][0-9]*)$/,resolve:(U,X,{intAsBigInt:q})=>q?BigInt(U):parseInt(U,10),stringify:({value:U})=>V3(U)?U.toString():JSON.stringify(U)},{identify:(U)=>typeof U==="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^-?(?:0|[1-9][0-9]*)(?:\.[0-9]*)?(?:[eE][-+]?[0-9]+)?$/,resolve:(U)=>parseFloat(U),stringify:_6}],C_={default:!0,tag:"",test:/^/,resolve(U,X){return X(`Unresolved plain scalar ${JSON.stringify(U)}`),U}},S_=[I_.map,K_.seq].concat(N_,C_);E_.schema=S_});var O9=R((g_)=>{var i2=M1("buffer"),A9=i(),b_=u2(),f_={identify:(U)=>U instanceof Uint8Array,default:!1,tag:"tag:yaml.org,2002:binary",resolve(U,X){if(typeof i2.Buffer==="function")return i2.Buffer.from(U,"base64");else if(typeof atob==="function"){let q=atob(U.replace(/[\n\r]/g,"")),Z=new Uint8Array(q.length);for(let Q=0;Q<q.length;++Q)Z[Q]=q.charCodeAt(Q);return Z}else return X("This environment does not support reading binary tags; either Buffer or atob is required"),U},stringify({comment:U,type:X,value:q},Z,Q,G){if(!q)return"";let Y=q,J;if(typeof i2.Buffer==="function")J=Y instanceof i2.Buffer?Y.toString("base64"):i2.Buffer.from(Y.buffer).toString("base64");else if(typeof btoa==="function"){let H="";for(let W=0;W<Y.length;++W)H+=String.fromCharCode(Y[W]);J=btoa(H)}else throw Error("This environment does not support writing binary tags; either Buffer or btoa is required");if(X??(X=A9.Scalar.BLOCK_LITERAL),X!==A9.Scalar.QUOTE_DOUBLE){let H=Math.max(Z.options.lineWidth-Z.indent.length,Z.options.minContentWidth),W=Math.ceil(J.length/H),$=Array(W);for(let _=0,L=0;_<W;++_,L+=H)$[_]=J.substr(L,H);J=$.join(X===A9.Scalar.BLOCK_LITERAL?`
52
+ `:" ")}return b_.stringifyString({comment:U,type:X,value:J},Z,Q,G)}};g_.binary=f_});var L6=R((x_)=>{var $6=k(),B9=U1(),k_=i(),v_=Z1();function D3(U,X){if($6.isSeq(U))for(let q=0;q<U.items.length;++q){let Z=U.items[q];if($6.isPair(Z))continue;else if($6.isMap(Z)){if(Z.items.length>1)X("Each pair must have its own sequence indicator");let Q=Z.items[0]||new B9.Pair(new k_.Scalar(null));if(Z.commentBefore)Q.key.commentBefore=Q.key.commentBefore?`${Z.commentBefore}
53
53
  ${Q.key.commentBefore}`:Z.commentBefore;if(Z.comment){let G=Q.value??Q.key;G.comment=G.comment?`${Z.comment}
54
- ${G.comment}`:Z.comment}Z=Q}U.items[q]=$U.isPair(Z)?Z:new O9.Pair(Z)}else X("Expected a sequence for this tag");return U}function M3(U,X,q){let{replacer:Z}=q,Q=new v_.YAMLSeq(U);Q.tag="tag:yaml.org,2002:pairs";let G=0;if(X&&Symbol.iterator in Object(X))for(let Y of X){if(typeof Z==="function")Y=Z.call(X,String(G++),Y);let J,H;if(Array.isArray(Y))if(Y.length===2)J=Y[0],H=Y[1];else throw TypeError(`Expected [key, value] tuple: ${Y}`);else if(Y&&Y instanceof Object){let W=Object.keys(Y);if(W.length===1)J=W[0],H=Y[J];else throw TypeError(`Expected tuple with one key, not ${W.length} keys`)}else J=Y;Q.items.push(O9.createPair(J,H,q))}return Q}var h_={collection:"seq",default:!1,tag:"tag:yaml.org,2002:pairs",resolve:R3,createNode:M3};x_.createPairs=M3;x_.pairs=h_;x_.resolvePairs=R3});var T9=D((c_)=>{var P3=k(),B9=n0(),s2=q1(),l_=Z1(),w3=LU();class O1 extends l_.YAMLSeq{constructor(){super();this.add=s2.YAMLMap.prototype.add.bind(this),this.delete=s2.YAMLMap.prototype.delete.bind(this),this.get=s2.YAMLMap.prototype.get.bind(this),this.has=s2.YAMLMap.prototype.has.bind(this),this.set=s2.YAMLMap.prototype.set.bind(this),this.tag=O1.tag}toJSON(U,X){if(!X)return super.toJSON(U);let q=new Map;if(X?.onCreate)X.onCreate(q);for(let Z of this.items){let Q,G;if(P3.isPair(Z))Q=B9.toJS(Z.key,"",X),G=B9.toJS(Z.value,Q,X);else Q=B9.toJS(Z,"",X);if(q.has(Q))throw Error("Ordered maps must not include duplicate keys");q.set(Q,G)}return q}static from(U,X,q){let Z=w3.createPairs(U,X,q),Q=new this;return Q.items=Z.items,Q}}O1.tag="tag:yaml.org,2002:omap";var d_={collection:"seq",identify:(U)=>U instanceof Map,nodeClass:O1,default:!1,tag:"tag:yaml.org,2002:omap",resolve(U,X){let q=w3.resolvePairs(U,X),Z=[];for(let{key:Q}of q.items)if(P3.isScalar(Q))if(Z.includes(Q.value))X(`Ordered maps must not include duplicate keys: ${Q.value}`);else Z.push(Q.value);return Object.assign(new O1,q)},createNode:(U,X,q)=>O1.from(U,X,q)};c_.YAMLOMap=O1;c_.omap=d_});var S3=D((o_)=>{var I3=i();function K3({value:U,source:X},q){if(X&&(U?N3:C3).test.test(X))return X;return U?q.options.trueStr:q.options.falseStr}var N3={identify:(U)=>U===!0,default:!0,tag:"tag:yaml.org,2002:bool",test:/^(?:Y|y|[Yy]es|YES|[Tt]rue|TRUE|[Oo]n|ON)$/,resolve:()=>new I3.Scalar(!0),stringify:K3},C3={identify:(U)=>U===!1,default:!0,tag:"tag:yaml.org,2002:bool",test:/^(?:N|n|[Nn]o|NO|[Ff]alse|FALSE|[Oo]ff|OFF)$/,resolve:()=>new I3.Scalar(!1),stringify:K3};o_.falseTag=C3;o_.trueTag=N3});var E3=D((X$)=>{var n_=i(),D9=r1(),t_={identify:(U)=>typeof U==="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^(?:[-+]?\.(?:inf|Inf|INF)|\.nan|\.NaN|\.NAN)$/,resolve:(U)=>U.slice(-3).toLowerCase()==="nan"?NaN:U[0]==="-"?Number.NEGATIVE_INFINITY:Number.POSITIVE_INFINITY,stringify:D9.stringifyNumber},e_={identify:(U)=>typeof U==="number",default:!0,tag:"tag:yaml.org,2002:float",format:"EXP",test:/^[-+]?(?:[0-9][0-9_]*)?(?:\.[0-9_]*)?[eE][-+]?[0-9]+$/,resolve:(U)=>parseFloat(U.replace(/_/g,"")),stringify(U){let X=Number(U.value);return isFinite(X)?X.toExponential():D9.stringifyNumber(U)}},U$={identify:(U)=>typeof U==="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^[-+]?(?:[0-9][0-9_]*)?\.[0-9_]*$/,resolve(U){let X=new n_.Scalar(parseFloat(U.replace(/_/g,""))),q=U.indexOf(".");if(q!==-1){let Z=U.substring(q+1).replace(/_/g,"");if(Z[Z.length-1]==="0")X.minFractionDigits=Z.length}return X},stringify:D9.stringifyNumber};X$.float=U$;X$.floatExp=e_;X$.floatNaN=t_});var b3=D((W$)=>{var j3=r1(),o2=(U)=>typeof U==="bigint"||Number.isInteger(U);function zU(U,X,q,{intAsBigInt:Z}){let Q=U[0];if(Q==="-"||Q==="+")X+=1;if(U=U.substring(X).replace(/_/g,""),Z){switch(q){case 2:U=`0b${U}`;break;case 8:U=`0o${U}`;break;case 16:U=`0x${U}`;break}let Y=BigInt(U);return Q==="-"?BigInt(-1)*Y:Y}let G=parseInt(U,q);return Q==="-"?-1*G:G}function R9(U,X,q){let{value:Z}=U;if(o2(Z)){let Q=Z.toString(X);return Z<0?"-"+q+Q.substr(1):q+Q}return j3.stringifyNumber(U)}var G$={identify:o2,default:!0,tag:"tag:yaml.org,2002:int",format:"BIN",test:/^[-+]?0b[0-1_]+$/,resolve:(U,X,q)=>zU(U,2,2,q),stringify:(U)=>R9(U,2,"0b")},Y$={identify:o2,default:!0,tag:"tag:yaml.org,2002:int",format:"OCT",test:/^[-+]?0[0-7_]+$/,resolve:(U,X,q)=>zU(U,1,8,q),stringify:(U)=>R9(U,8,"0")},J$={identify:o2,default:!0,tag:"tag:yaml.org,2002:int",test:/^[-+]?[0-9][0-9_]*$/,resolve:(U,X,q)=>zU(U,0,10,q),stringify:j3.stringifyNumber},H$={identify:o2,default:!0,tag:"tag:yaml.org,2002:int",format:"HEX",test:/^[-+]?0x[0-9a-fA-F_]+$/,resolve:(U,X,q)=>zU(U,2,16,q),stringify:(U)=>R9(U,16,"0x")};W$.int=J$;W$.intBin=G$;W$.intHex=H$;W$.intOct=Y$});var M9=D((A$)=>{var VU=k(),FU=U1(),AU=q1();class B1 extends AU.YAMLMap{constructor(U){super(U);this.tag=B1.tag}add(U){let X;if(VU.isPair(U))X=U;else if(U&&typeof U==="object"&&"key"in U&&"value"in U&&U.value===null)X=new FU.Pair(U.key,null);else X=new FU.Pair(U,null);if(!AU.findPair(this.items,X.key))this.items.push(X)}get(U,X){let q=AU.findPair(this.items,U);return!X&&VU.isPair(q)?VU.isScalar(q.key)?q.key.value:q.key:q}set(U,X){if(typeof X!=="boolean")throw Error(`Expected boolean value for set(key, value) in a YAML set, not ${typeof X}`);let q=AU.findPair(this.items,U);if(q&&!X)this.items.splice(this.items.indexOf(q),1);else if(!q&&X)this.items.push(new FU.Pair(U))}toJSON(U,X){return super.toJSON(U,X,Set)}toString(U,X,q){if(!U)return JSON.stringify(this);if(this.hasAllNullValues(!0))return super.toString(Object.assign({},U,{allNullValues:!0}),X,q);else throw Error("Set items must all have null values")}static from(U,X,q){let{replacer:Z}=q,Q=new this(U);if(X&&Symbol.iterator in Object(X))for(let G of X){if(typeof Z==="function")G=Z.call(X,G,G);Q.items.push(FU.createPair(G,null,q))}return Q}}B1.tag="tag:yaml.org,2002:set";var F$={collection:"map",identify:(U)=>U instanceof Set,nodeClass:B1,default:!1,tag:"tag:yaml.org,2002:set",createNode:(U,X,q)=>B1.from(U,X,q),resolve(U,X){if(VU.isMap(U))if(U.hasAllNullValues(!0))return Object.assign(new B1,U);else X("Set items must all have null values");else X("Expected a mapping for this tag");return U}};A$.YAMLSet=B1;A$.set=F$});var w9=D((R$)=>{var B$=r1();function P9(U,X){let q=U[0],Z=q==="-"||q==="+"?U.substring(1):U,Q=(Y)=>X?BigInt(Y):Number(Y),G=Z.replace(/_/g,"").split(":").reduce((Y,J)=>Y*Q(60)+Q(J),Q(0));return q==="-"?Q(-1)*G:G}function f3(U){let{value:X}=U,q=(Y)=>Y;if(typeof X==="bigint")q=(Y)=>BigInt(Y);else if(isNaN(X)||!isFinite(X))return B$.stringifyNumber(U);let Z="";if(X<0)Z="-",X*=q(-1);let Q=q(60),G=[X%Q];if(X<60)G.unshift(0);else if(X=(X-G[0])/Q,G.unshift(X%Q),X>=60)X=(X-G[0])/Q,G.unshift(X);return Z+G.map((Y)=>String(Y).padStart(2,"0")).join(":").replace(/000000\d*$/,"")}var T$={identify:(U)=>typeof U==="bigint"||Number.isInteger(U),default:!0,tag:"tag:yaml.org,2002:int",format:"TIME",test:/^[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+$/,resolve:(U,X,{intAsBigInt:q})=>P9(U,q),stringify:f3},D$={identify:(U)=>typeof U==="number",default:!0,tag:"tag:yaml.org,2002:float",format:"TIME",test:/^[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+\.[0-9_]*$/,resolve:(U)=>P9(U,!1),stringify:f3},y3={identify:(U)=>U instanceof Date,default:!0,tag:"tag:yaml.org,2002:timestamp",test:RegExp("^([0-9]{4})-([0-9]{1,2})-([0-9]{1,2})(?:(?:t|T|[ \\t]+)([0-9]{1,2}):([0-9]{1,2}):([0-9]{1,2}(\\.[0-9]+)?)(?:[ \\t]*(Z|[-+][012]?[0-9](?::[0-9]{2})?))?)?$"),resolve(U){let X=U.match(y3.test);if(!X)throw Error("!!timestamp expects a date, starting with yyyy-mm-dd");let[,q,Z,Q,G,Y,J]=X.map(Number),H=X[7]?Number((X[7]+"00").substr(1,3)):0,W=Date.UTC(q,Z-1,Q,G||0,Y||0,J||0,H),$=X[8];if($&&$!=="Z"){let _=P9($,!1);if(Math.abs(_)<30)_*=60;W-=60000*_}return new Date(W)},stringify:({value:U})=>U?.toISOString().replace(/(T00:00:00)?\.000Z$/,"")??""};R$.floatTime=D$;R$.intTime=T$;R$.timestamp=y3});var k3=D((g$)=>{var I$=s1(),K$=HU(),N$=o1(),C$=c2(),S$=V9(),g3=S3(),I9=E3(),OU=b3(),E$=UU(),j$=T9(),b$=LU(),f$=M9(),K9=w9(),y$=[I$.map,N$.seq,C$.string,K$.nullTag,g3.trueTag,g3.falseTag,OU.intBin,OU.intOct,OU.int,OU.intHex,I9.floatNaN,I9.floatExp,I9.float,S$.binary,E$.merge,j$.omap,b$.pairs,f$.set,K9.intTime,K9.floatTime,K9.timestamp];g$.schema=y$});var i3=D((d$)=>{var u3=s1(),v$=HU(),m3=o1(),h$=c2(),x$=H9(),N9=_9(),C9=L9(),u$=B3(),m$=D3(),p3=V9(),r2=UU(),l3=T9(),d3=LU(),v3=k3(),c3=M9(),BU=w9(),h3=new Map([["core",u$.schema],["failsafe",[u3.map,m3.seq,h$.string]],["json",m$.schema],["yaml11",v3.schema],["yaml-1.1",v3.schema]]),x3={binary:p3.binary,bool:x$.boolTag,float:N9.float,floatExp:N9.floatExp,floatNaN:N9.floatNaN,floatTime:BU.floatTime,int:C9.int,intHex:C9.intHex,intOct:C9.intOct,intTime:BU.intTime,map:u3.map,merge:r2.merge,null:v$.nullTag,omap:l3.omap,pairs:d3.pairs,seq:m3.seq,set:c3.set,timestamp:BU.timestamp},p$={"tag:yaml.org,2002:binary":p3.binary,"tag:yaml.org,2002:merge":r2.merge,"tag:yaml.org,2002:omap":l3.omap,"tag:yaml.org,2002:pairs":d3.pairs,"tag:yaml.org,2002:set":c3.set,"tag:yaml.org,2002:timestamp":BU.timestamp};function l$(U,X,q){let Z=h3.get(X);if(Z&&!U)return q&&!Z.includes(r2.merge)?Z.concat(r2.merge):Z.slice();let Q=Z;if(!Q)if(Array.isArray(U))Q=[];else{let G=Array.from(h3.keys()).filter((Y)=>Y!=="yaml11").map((Y)=>JSON.stringify(Y)).join(", ");throw Error(`Unknown schema "${X}"; use one of ${G} or define customTags array`)}if(Array.isArray(U))for(let G of U)Q=Q.concat(G);else if(typeof U==="function")Q=U(Q.slice());if(q)Q=Q.concat(r2.merge);return Q.reduce((G,Y)=>{let J=typeof Y==="string"?x3[Y]:Y;if(!J){let H=JSON.stringify(Y),W=Object.keys(x3).map(($)=>JSON.stringify($)).join(", ");throw Error(`Unknown custom tag ${H}; use one of ${W}`)}if(!G.includes(J))G.push(J);return G},[])}d$.coreKnownTags=p$;d$.getTags=l$});var j9=D((n$)=>{var S9=k(),s$=s1(),o$=o1(),r$=c2(),TU=i3(),a$=(U,X)=>U.key<X.key?-1:U.key>X.key?1:0;class E9{constructor({compat:U,customTags:X,merge:q,resolveKnownTags:Z,schema:Q,sortMapEntries:G,toStringDefaults:Y}){this.compat=Array.isArray(U)?TU.getTags(U,"compat"):U?TU.getTags(null,U):null,this.name=typeof Q==="string"&&Q||"core",this.knownTags=Z?TU.coreKnownTags:{},this.tags=TU.getTags(X,this.name,q),this.toStringOptions=Y??null,Object.defineProperty(this,S9.MAP,{value:s$.map}),Object.defineProperty(this,S9.SCALAR,{value:r$.string}),Object.defineProperty(this,S9.SEQ,{value:o$.seq}),this.sortMapEntries=typeof G==="function"?G:G===!0?a$:null}clone(){let U=Object.create(E9.prototype,Object.getOwnPropertyDescriptors(this));return U.tags=this.tags.slice(),U}}n$.Schema=E9});var s3=D((XL)=>{var e$=k(),b9=m2(),a2=h2();function UL(U,X){let q=[],Z=X.directives===!0;if(X.directives!==!1&&U.directives){let H=U.directives.toString(U);if(H)q.push(H),Z=!0;else if(U.directives.docStart)Z=!0}if(Z)q.push("---");let Q=b9.createStringifyContext(U,X),{commentString:G}=Q.options;if(U.commentBefore){if(q.length!==1)q.unshift("");let H=G(U.commentBefore);q.unshift(a2.indentComment(H,""))}let Y=!1,J=null;if(U.contents){if(e$.isNode(U.contents)){if(U.contents.spaceBefore&&Z)q.push("");if(U.contents.commentBefore){let $=G(U.contents.commentBefore);q.push(a2.indentComment($,""))}Q.forceBlockIndent=!!U.comment,J=U.contents.comment}let H=J?void 0:()=>Y=!0,W=b9.stringify(U.contents,Q,()=>J=null,H);if(J)W+=a2.lineComment(W,"",G(J));if((W[0]==="|"||W[0]===">")&&q[q.length-1]==="---")q[q.length-1]=`--- ${W}`;else q.push(W)}else q.push(b9.stringify(U.contents,Q));if(U.directives?.docEnd)if(U.comment){let H=G(U.comment);if(H.includes(`
54
+ ${G.comment}`:Z.comment}Z=Q}U.items[q]=$6.isPair(Z)?Z:new B9.Pair(Z)}else X("Expected a sequence for this tag");return U}function M3(U,X,q){let{replacer:Z}=q,Q=new v_.YAMLSeq(U);Q.tag="tag:yaml.org,2002:pairs";let G=0;if(X&&Symbol.iterator in Object(X))for(let Y of X){if(typeof Z==="function")Y=Z.call(X,String(G++),Y);let J,H;if(Array.isArray(Y))if(Y.length===2)J=Y[0],H=Y[1];else throw TypeError(`Expected [key, value] tuple: ${Y}`);else if(Y&&Y instanceof Object){let W=Object.keys(Y);if(W.length===1)J=W[0],H=Y[J];else throw TypeError(`Expected tuple with one key, not ${W.length} keys`)}else J=Y;Q.items.push(B9.createPair(J,H,q))}return Q}var h_={collection:"seq",default:!1,tag:"tag:yaml.org,2002:pairs",resolve:D3,createNode:M3};x_.createPairs=M3;x_.pairs=h_;x_.resolvePairs=D3});var V9=R((c_)=>{var P3=k(),T9=n0(),s2=q1(),l_=Z1(),w3=L6();class B1 extends l_.YAMLSeq{constructor(){super();this.add=s2.YAMLMap.prototype.add.bind(this),this.delete=s2.YAMLMap.prototype.delete.bind(this),this.get=s2.YAMLMap.prototype.get.bind(this),this.has=s2.YAMLMap.prototype.has.bind(this),this.set=s2.YAMLMap.prototype.set.bind(this),this.tag=B1.tag}toJSON(U,X){if(!X)return super.toJSON(U);let q=new Map;if(X?.onCreate)X.onCreate(q);for(let Z of this.items){let Q,G;if(P3.isPair(Z))Q=T9.toJS(Z.key,"",X),G=T9.toJS(Z.value,Q,X);else Q=T9.toJS(Z,"",X);if(q.has(Q))throw Error("Ordered maps must not include duplicate keys");q.set(Q,G)}return q}static from(U,X,q){let Z=w3.createPairs(U,X,q),Q=new this;return Q.items=Z.items,Q}}B1.tag="tag:yaml.org,2002:omap";var d_={collection:"seq",identify:(U)=>U instanceof Map,nodeClass:B1,default:!1,tag:"tag:yaml.org,2002:omap",resolve(U,X){let q=w3.resolvePairs(U,X),Z=[];for(let{key:Q}of q.items)if(P3.isScalar(Q))if(Z.includes(Q.value))X(`Ordered maps must not include duplicate keys: ${Q.value}`);else Z.push(Q.value);return Object.assign(new B1,q)},createNode:(U,X,q)=>B1.from(U,X,q)};c_.YAMLOMap=B1;c_.omap=d_});var S3=R((o_)=>{var I3=i();function K3({value:U,source:X},q){if(X&&(U?N3:C3).test.test(X))return X;return U?q.options.trueStr:q.options.falseStr}var N3={identify:(U)=>U===!0,default:!0,tag:"tag:yaml.org,2002:bool",test:/^(?:Y|y|[Yy]es|YES|[Tt]rue|TRUE|[Oo]n|ON)$/,resolve:()=>new I3.Scalar(!0),stringify:K3},C3={identify:(U)=>U===!1,default:!0,tag:"tag:yaml.org,2002:bool",test:/^(?:N|n|[Nn]o|NO|[Ff]alse|FALSE|[Oo]ff|OFF)$/,resolve:()=>new I3.Scalar(!1),stringify:K3};o_.falseTag=C3;o_.trueTag=N3});var E3=R((X$)=>{var n_=i(),R9=a1(),t_={identify:(U)=>typeof U==="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^(?:[-+]?\.(?:inf|Inf|INF)|\.nan|\.NaN|\.NAN)$/,resolve:(U)=>U.slice(-3).toLowerCase()==="nan"?NaN:U[0]==="-"?Number.NEGATIVE_INFINITY:Number.POSITIVE_INFINITY,stringify:R9.stringifyNumber},e_={identify:(U)=>typeof U==="number",default:!0,tag:"tag:yaml.org,2002:float",format:"EXP",test:/^[-+]?(?:[0-9][0-9_]*)?(?:\.[0-9_]*)?[eE][-+]?[0-9]+$/,resolve:(U)=>parseFloat(U.replace(/_/g,"")),stringify(U){let X=Number(U.value);return isFinite(X)?X.toExponential():R9.stringifyNumber(U)}},U$={identify:(U)=>typeof U==="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^[-+]?(?:[0-9][0-9_]*)?\.[0-9_]*$/,resolve(U){let X=new n_.Scalar(parseFloat(U.replace(/_/g,""))),q=U.indexOf(".");if(q!==-1){let Z=U.substring(q+1).replace(/_/g,"");if(Z[Z.length-1]==="0")X.minFractionDigits=Z.length}return X},stringify:R9.stringifyNumber};X$.float=U$;X$.floatExp=e_;X$.floatNaN=t_});var b3=R((W$)=>{var j3=a1(),o2=(U)=>typeof U==="bigint"||Number.isInteger(U);function z6(U,X,q,{intAsBigInt:Z}){let Q=U[0];if(Q==="-"||Q==="+")X+=1;if(U=U.substring(X).replace(/_/g,""),Z){switch(q){case 2:U=`0b${U}`;break;case 8:U=`0o${U}`;break;case 16:U=`0x${U}`;break}let Y=BigInt(U);return Q==="-"?BigInt(-1)*Y:Y}let G=parseInt(U,q);return Q==="-"?-1*G:G}function D9(U,X,q){let{value:Z}=U;if(o2(Z)){let Q=Z.toString(X);return Z<0?"-"+q+Q.substr(1):q+Q}return j3.stringifyNumber(U)}var G$={identify:o2,default:!0,tag:"tag:yaml.org,2002:int",format:"BIN",test:/^[-+]?0b[0-1_]+$/,resolve:(U,X,q)=>z6(U,2,2,q),stringify:(U)=>D9(U,2,"0b")},Y$={identify:o2,default:!0,tag:"tag:yaml.org,2002:int",format:"OCT",test:/^[-+]?0[0-7_]+$/,resolve:(U,X,q)=>z6(U,1,8,q),stringify:(U)=>D9(U,8,"0")},J$={identify:o2,default:!0,tag:"tag:yaml.org,2002:int",test:/^[-+]?[0-9][0-9_]*$/,resolve:(U,X,q)=>z6(U,0,10,q),stringify:j3.stringifyNumber},H$={identify:o2,default:!0,tag:"tag:yaml.org,2002:int",format:"HEX",test:/^[-+]?0x[0-9a-fA-F_]+$/,resolve:(U,X,q)=>z6(U,2,16,q),stringify:(U)=>D9(U,16,"0x")};W$.int=J$;W$.intBin=G$;W$.intHex=H$;W$.intOct=Y$});var M9=R((A$)=>{var O6=k(),F6=U1(),A6=q1();class T1 extends A6.YAMLMap{constructor(U){super(U);this.tag=T1.tag}add(U){let X;if(O6.isPair(U))X=U;else if(U&&typeof U==="object"&&"key"in U&&"value"in U&&U.value===null)X=new F6.Pair(U.key,null);else X=new F6.Pair(U,null);if(!A6.findPair(this.items,X.key))this.items.push(X)}get(U,X){let q=A6.findPair(this.items,U);return!X&&O6.isPair(q)?O6.isScalar(q.key)?q.key.value:q.key:q}set(U,X){if(typeof X!=="boolean")throw Error(`Expected boolean value for set(key, value) in a YAML set, not ${typeof X}`);let q=A6.findPair(this.items,U);if(q&&!X)this.items.splice(this.items.indexOf(q),1);else if(!q&&X)this.items.push(new F6.Pair(U))}toJSON(U,X){return super.toJSON(U,X,Set)}toString(U,X,q){if(!U)return JSON.stringify(this);if(this.hasAllNullValues(!0))return super.toString(Object.assign({},U,{allNullValues:!0}),X,q);else throw Error("Set items must all have null values")}static from(U,X,q){let{replacer:Z}=q,Q=new this(U);if(X&&Symbol.iterator in Object(X))for(let G of X){if(typeof Z==="function")G=Z.call(X,G,G);Q.items.push(F6.createPair(G,null,q))}return Q}}T1.tag="tag:yaml.org,2002:set";var F$={collection:"map",identify:(U)=>U instanceof Set,nodeClass:T1,default:!1,tag:"tag:yaml.org,2002:set",createNode:(U,X,q)=>T1.from(U,X,q),resolve(U,X){if(O6.isMap(U))if(U.hasAllNullValues(!0))return Object.assign(new T1,U);else X("Set items must all have null values");else X("Expected a mapping for this tag");return U}};A$.YAMLSet=T1;A$.set=F$});var w9=R((D$)=>{var T$=a1();function P9(U,X){let q=U[0],Z=q==="-"||q==="+"?U.substring(1):U,Q=(Y)=>X?BigInt(Y):Number(Y),G=Z.replace(/_/g,"").split(":").reduce((Y,J)=>Y*Q(60)+Q(J),Q(0));return q==="-"?Q(-1)*G:G}function f3(U){let{value:X}=U,q=(Y)=>Y;if(typeof X==="bigint")q=(Y)=>BigInt(Y);else if(isNaN(X)||!isFinite(X))return T$.stringifyNumber(U);let Z="";if(X<0)Z="-",X*=q(-1);let Q=q(60),G=[X%Q];if(X<60)G.unshift(0);else if(X=(X-G[0])/Q,G.unshift(X%Q),X>=60)X=(X-G[0])/Q,G.unshift(X);return Z+G.map((Y)=>String(Y).padStart(2,"0")).join(":").replace(/000000\d*$/,"")}var V$={identify:(U)=>typeof U==="bigint"||Number.isInteger(U),default:!0,tag:"tag:yaml.org,2002:int",format:"TIME",test:/^[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+$/,resolve:(U,X,{intAsBigInt:q})=>P9(U,q),stringify:f3},R$={identify:(U)=>typeof U==="number",default:!0,tag:"tag:yaml.org,2002:float",format:"TIME",test:/^[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+\.[0-9_]*$/,resolve:(U)=>P9(U,!1),stringify:f3},g3={identify:(U)=>U instanceof Date,default:!0,tag:"tag:yaml.org,2002:timestamp",test:RegExp("^([0-9]{4})-([0-9]{1,2})-([0-9]{1,2})(?:(?:t|T|[ \\t]+)([0-9]{1,2}):([0-9]{1,2}):([0-9]{1,2}(\\.[0-9]+)?)(?:[ \\t]*(Z|[-+][012]?[0-9](?::[0-9]{2})?))?)?$"),resolve(U){let X=U.match(g3.test);if(!X)throw Error("!!timestamp expects a date, starting with yyyy-mm-dd");let[,q,Z,Q,G,Y,J]=X.map(Number),H=X[7]?Number((X[7]+"00").substr(1,3)):0,W=Date.UTC(q,Z-1,Q,G||0,Y||0,J||0,H),$=X[8];if($&&$!=="Z"){let _=P9($,!1);if(Math.abs(_)<30)_*=60;W-=60000*_}return new Date(W)},stringify:({value:U})=>U?.toISOString().replace(/(T00:00:00)?\.000Z$/,"")??""};D$.floatTime=R$;D$.intTime=V$;D$.timestamp=g3});var k3=R((y$)=>{var I$=o1(),K$=H6(),N$=r1(),C$=c2(),S$=O9(),y3=S3(),I9=E3(),B6=b3(),E$=U6(),j$=V9(),b$=L6(),f$=M9(),K9=w9(),g$=[I$.map,N$.seq,C$.string,K$.nullTag,y3.trueTag,y3.falseTag,B6.intBin,B6.intOct,B6.int,B6.intHex,I9.floatNaN,I9.floatExp,I9.float,S$.binary,E$.merge,j$.omap,b$.pairs,f$.set,K9.intTime,K9.floatTime,K9.timestamp];y$.schema=g$});var i3=R((d$)=>{var u3=o1(),v$=H6(),m3=r1(),h$=c2(),x$=H9(),N9=_9(),C9=L9(),u$=T3(),m$=R3(),p3=O9(),r2=U6(),l3=V9(),d3=L6(),v3=k3(),c3=M9(),T6=w9(),h3=new Map([["core",u$.schema],["failsafe",[u3.map,m3.seq,h$.string]],["json",m$.schema],["yaml11",v3.schema],["yaml-1.1",v3.schema]]),x3={binary:p3.binary,bool:x$.boolTag,float:N9.float,floatExp:N9.floatExp,floatNaN:N9.floatNaN,floatTime:T6.floatTime,int:C9.int,intHex:C9.intHex,intOct:C9.intOct,intTime:T6.intTime,map:u3.map,merge:r2.merge,null:v$.nullTag,omap:l3.omap,pairs:d3.pairs,seq:m3.seq,set:c3.set,timestamp:T6.timestamp},p$={"tag:yaml.org,2002:binary":p3.binary,"tag:yaml.org,2002:merge":r2.merge,"tag:yaml.org,2002:omap":l3.omap,"tag:yaml.org,2002:pairs":d3.pairs,"tag:yaml.org,2002:set":c3.set,"tag:yaml.org,2002:timestamp":T6.timestamp};function l$(U,X,q){let Z=h3.get(X);if(Z&&!U)return q&&!Z.includes(r2.merge)?Z.concat(r2.merge):Z.slice();let Q=Z;if(!Q)if(Array.isArray(U))Q=[];else{let G=Array.from(h3.keys()).filter((Y)=>Y!=="yaml11").map((Y)=>JSON.stringify(Y)).join(", ");throw Error(`Unknown schema "${X}"; use one of ${G} or define customTags array`)}if(Array.isArray(U))for(let G of U)Q=Q.concat(G);else if(typeof U==="function")Q=U(Q.slice());if(q)Q=Q.concat(r2.merge);return Q.reduce((G,Y)=>{let J=typeof Y==="string"?x3[Y]:Y;if(!J){let H=JSON.stringify(Y),W=Object.keys(x3).map(($)=>JSON.stringify($)).join(", ");throw Error(`Unknown custom tag ${H}; use one of ${W}`)}if(!G.includes(J))G.push(J);return G},[])}d$.coreKnownTags=p$;d$.getTags=l$});var j9=R((n$)=>{var S9=k(),s$=o1(),o$=r1(),r$=c2(),V6=i3(),a$=(U,X)=>U.key<X.key?-1:U.key>X.key?1:0;class E9{constructor({compat:U,customTags:X,merge:q,resolveKnownTags:Z,schema:Q,sortMapEntries:G,toStringDefaults:Y}){this.compat=Array.isArray(U)?V6.getTags(U,"compat"):U?V6.getTags(null,U):null,this.name=typeof Q==="string"&&Q||"core",this.knownTags=Z?V6.coreKnownTags:{},this.tags=V6.getTags(X,this.name,q),this.toStringOptions=Y??null,Object.defineProperty(this,S9.MAP,{value:s$.map}),Object.defineProperty(this,S9.SCALAR,{value:r$.string}),Object.defineProperty(this,S9.SEQ,{value:o$.seq}),this.sortMapEntries=typeof G==="function"?G:G===!0?a$:null}clone(){let U=Object.create(E9.prototype,Object.getOwnPropertyDescriptors(this));return U.tags=this.tags.slice(),U}}n$.Schema=E9});var s3=R((XL)=>{var e$=k(),b9=m2(),a2=h2();function UL(U,X){let q=[],Z=X.directives===!0;if(X.directives!==!1&&U.directives){let H=U.directives.toString(U);if(H)q.push(H),Z=!0;else if(U.directives.docStart)Z=!0}if(Z)q.push("---");let Q=b9.createStringifyContext(U,X),{commentString:G}=Q.options;if(U.commentBefore){if(q.length!==1)q.unshift("");let H=G(U.commentBefore);q.unshift(a2.indentComment(H,""))}let Y=!1,J=null;if(U.contents){if(e$.isNode(U.contents)){if(U.contents.spaceBefore&&Z)q.push("");if(U.contents.commentBefore){let $=G(U.contents.commentBefore);q.push(a2.indentComment($,""))}Q.forceBlockIndent=!!U.comment,J=U.contents.comment}let H=J?void 0:()=>Y=!0,W=b9.stringify(U.contents,Q,()=>J=null,H);if(J)W+=a2.lineComment(W,"",G(J));if((W[0]==="|"||W[0]===">")&&q[q.length-1]==="---")q[q.length-1]=`--- ${W}`;else q.push(W)}else q.push(b9.stringify(U.contents,Q));if(U.directives?.docEnd)if(U.comment){let H=G(U.comment);if(H.includes(`
55
55
  `))q.push("..."),q.push(a2.indentComment(H,""));else q.push(`... ${H}`)}else q.push("...");else{let H=U.comment;if(H&&Y)H=H.replace(/^\n+/,"");if(H){if((!Y||J)&&q[q.length-1]!=="")q.push("");q.push(a2.indentComment(G(H),""))}}return q.join(`
56
56
  `)+`
57
- `}XL.stringifyDocument=UL});var n2=D((_L)=>{var ZL=k2(),a1=o6(),D0=k(),QL=U1(),GL=n0(),YL=j9(),JL=s3(),f9=c6(),HL=t4(),WL=v2(),y9=n4();class g9{constructor(U,X,q){this.commentBefore=null,this.comment=null,this.errors=[],this.warnings=[],Object.defineProperty(this,D0.NODE_TYPE,{value:D0.DOC});let Z=null;if(typeof X==="function"||Array.isArray(X))Z=X;else if(q===void 0&&X)q=X,X=void 0;let Q=Object.assign({intAsBigInt:!1,keepSourceTokens:!1,logLevel:"warn",prettyErrors:!0,strict:!0,stringKeys:!1,uniqueKeys:!0,version:"1.2"},q);this.options=Q;let{version:G}=Q;if(q?._directives){if(this.directives=q._directives.atDocument(),this.directives.yaml.explicit)G=this.directives.yaml.version}else this.directives=new y9.Directives({version:G});this.setSchema(G,q),this.contents=U===void 0?null:this.createNode(U,Z,q)}clone(){let U=Object.create(g9.prototype,{[D0.NODE_TYPE]:{value:D0.DOC}});if(U.commentBefore=this.commentBefore,U.comment=this.comment,U.errors=this.errors.slice(),U.warnings=this.warnings.slice(),U.options=Object.assign({},this.options),this.directives)U.directives=this.directives.clone();if(U.schema=this.schema.clone(),U.contents=D0.isNode(this.contents)?this.contents.clone(U.schema):this.contents,this.range)U.range=this.range.slice();return U}add(U){if(n1(this.contents))this.contents.add(U)}addIn(U,X){if(n1(this.contents))this.contents.addIn(U,X)}createAlias(U,X){if(!U.anchor){let q=f9.anchorNames(this);U.anchor=!X||q.has(X)?f9.findNewAnchor(X||"a",q):X}return new ZL.Alias(U.anchor)}createNode(U,X,q){let Z=void 0;if(typeof X==="function")U=X.call({"":U},"",U),Z=X;else if(Array.isArray(X)){let z=(R)=>typeof R==="number"||R instanceof String||R instanceof Number,O=X.filter(z).map(String);if(O.length>0)X=X.concat(O);Z=X}else if(q===void 0&&X)q=X,X=void 0;let{aliasDuplicateObjects:Q,anchorPrefix:G,flow:Y,keepUndefined:J,onTagObj:H,tag:W}=q??{},{onAnchor:$,setAnchors:_,sourceObjects:L}=f9.createNodeAnchors(this,G||"a"),A={aliasDuplicateObjects:Q??!0,keepUndefined:J??!1,onAnchor:$,onTagObj:H,replacer:Z,schema:this.schema,sourceObjects:L},T=WL.createNode(U,W,A);if(Y&&D0.isCollection(T))T.flow=!0;return _(),T}createPair(U,X,q={}){let Z=this.createNode(U,null,q),Q=this.createNode(X,null,q);return new QL.Pair(Z,Q)}delete(U){return n1(this.contents)?this.contents.delete(U):!1}deleteIn(U){if(a1.isEmptyPath(U)){if(this.contents==null)return!1;return this.contents=null,!0}return n1(this.contents)?this.contents.deleteIn(U):!1}get(U,X){return D0.isCollection(this.contents)?this.contents.get(U,X):void 0}getIn(U,X){if(a1.isEmptyPath(U))return!X&&D0.isScalar(this.contents)?this.contents.value:this.contents;return D0.isCollection(this.contents)?this.contents.getIn(U,X):void 0}has(U){return D0.isCollection(this.contents)?this.contents.has(U):!1}hasIn(U){if(a1.isEmptyPath(U))return this.contents!==void 0;return D0.isCollection(this.contents)?this.contents.hasIn(U):!1}set(U,X){if(this.contents==null)this.contents=a1.collectionFromPath(this.schema,[U],X);else if(n1(this.contents))this.contents.set(U,X)}setIn(U,X){if(a1.isEmptyPath(U))this.contents=X;else if(this.contents==null)this.contents=a1.collectionFromPath(this.schema,Array.from(U),X);else if(n1(this.contents))this.contents.setIn(U,X)}setSchema(U,X={}){if(typeof U==="number")U=String(U);let q;switch(U){case"1.1":if(this.directives)this.directives.yaml.version="1.1";else this.directives=new y9.Directives({version:"1.1"});q={resolveKnownTags:!1,schema:"yaml-1.1"};break;case"1.2":case"next":if(this.directives)this.directives.yaml.version=U;else this.directives=new y9.Directives({version:U});q={resolveKnownTags:!0,schema:"core"};break;case null:if(this.directives)delete this.directives;q=null;break;default:{let Z=JSON.stringify(U);throw Error(`Expected '1.1', '1.2' or null as first argument, but found: ${Z}`)}}if(X.schema instanceof Object)this.schema=X.schema;else if(q)this.schema=new YL.Schema(Object.assign(q,X));else throw Error("With a null YAML version, the { schema: Schema } option is required")}toJS({json:U,jsonArg:X,mapAsMap:q,maxAliasCount:Z,onAnchor:Q,reviver:G}={}){let Y={anchors:new Map,doc:this,keep:!U,mapAsMap:q===!0,mapKeyWarned:!1,maxAliasCount:typeof Z==="number"?Z:100},J=GL.toJS(this.contents,X??"",Y);if(typeof Q==="function")for(let{count:H,res:W}of Y.anchors.values())Q(W,H);return typeof G==="function"?HL.applyReviver(G,{"":J},"",J):J}toJSON(U,X){return this.toJS({json:!0,jsonArg:U,mapAsMap:!1,onAnchor:X})}toString(U={}){if(this.errors.length>0)throw Error("Document with errors cannot be stringified");if("indent"in U&&(!Number.isInteger(U.indent)||Number(U.indent)<=0)){let X=JSON.stringify(U.indent);throw Error(`"indent" option must be a positive integer, not ${X}`)}return JL.stringifyDocument(this,U)}}function n1(U){if(D0.isCollection(U))return!0;throw Error("Expected a YAML collection as document contents")}_L.Document=g9});var t2=D((zL)=>{class DU extends Error{constructor(U,X,q,Z){super();this.name=U,this.code=q,this.message=Z,this.pos=X}}class o3 extends DU{constructor(U,X,q){super("YAMLParseError",U,X,q)}}class r3 extends DU{constructor(U,X,q){super("YAMLWarning",U,X,q)}}var LL=(U,X)=>(q)=>{if(q.pos[0]===-1)return;q.linePos=q.pos.map((J)=>X.linePos(J));let{line:Z,col:Q}=q.linePos[0];q.message+=` at line ${Z}, column ${Q}`;let G=Q-1,Y=U.substring(X.lineStarts[Z-1],X.lineStarts[Z]).replace(/[\n\r]+$/,"");if(G>=60&&Y.length>80){let J=Math.min(G-39,Y.length-79);Y="…"+Y.substring(J),G-=J-1}if(Y.length>80)Y=Y.substring(0,79)+"…";if(Z>1&&/^ *$/.test(Y.substring(0,G))){let J=U.substring(X.lineStarts[Z-2],X.lineStarts[Z-1]);if(J.length>80)J=J.substring(0,79)+`…
57
+ `}XL.stringifyDocument=UL});var n2=R((_L)=>{var ZL=k2(),n1=oU(),R0=k(),QL=U1(),GL=n0(),YL=j9(),JL=s3(),f9=cU(),HL=t4(),WL=v2(),g9=n4();class y9{constructor(U,X,q){this.commentBefore=null,this.comment=null,this.errors=[],this.warnings=[],Object.defineProperty(this,R0.NODE_TYPE,{value:R0.DOC});let Z=null;if(typeof X==="function"||Array.isArray(X))Z=X;else if(q===void 0&&X)q=X,X=void 0;let Q=Object.assign({intAsBigInt:!1,keepSourceTokens:!1,logLevel:"warn",prettyErrors:!0,strict:!0,stringKeys:!1,uniqueKeys:!0,version:"1.2"},q);this.options=Q;let{version:G}=Q;if(q?._directives){if(this.directives=q._directives.atDocument(),this.directives.yaml.explicit)G=this.directives.yaml.version}else this.directives=new g9.Directives({version:G});this.setSchema(G,q),this.contents=U===void 0?null:this.createNode(U,Z,q)}clone(){let U=Object.create(y9.prototype,{[R0.NODE_TYPE]:{value:R0.DOC}});if(U.commentBefore=this.commentBefore,U.comment=this.comment,U.errors=this.errors.slice(),U.warnings=this.warnings.slice(),U.options=Object.assign({},this.options),this.directives)U.directives=this.directives.clone();if(U.schema=this.schema.clone(),U.contents=R0.isNode(this.contents)?this.contents.clone(U.schema):this.contents,this.range)U.range=this.range.slice();return U}add(U){if(t1(this.contents))this.contents.add(U)}addIn(U,X){if(t1(this.contents))this.contents.addIn(U,X)}createAlias(U,X){if(!U.anchor){let q=f9.anchorNames(this);U.anchor=!X||q.has(X)?f9.findNewAnchor(X||"a",q):X}return new ZL.Alias(U.anchor)}createNode(U,X,q){let Z=void 0;if(typeof X==="function")U=X.call({"":U},"",U),Z=X;else if(Array.isArray(X)){let z=(D)=>typeof D==="number"||D instanceof String||D instanceof Number,B=X.filter(z).map(String);if(B.length>0)X=X.concat(B);Z=X}else if(q===void 0&&X)q=X,X=void 0;let{aliasDuplicateObjects:Q,anchorPrefix:G,flow:Y,keepUndefined:J,onTagObj:H,tag:W}=q??{},{onAnchor:$,setAnchors:_,sourceObjects:L}=f9.createNodeAnchors(this,G||"a"),A={aliasDuplicateObjects:Q??!0,keepUndefined:J??!1,onAnchor:$,onTagObj:H,replacer:Z,schema:this.schema,sourceObjects:L},V=WL.createNode(U,W,A);if(Y&&R0.isCollection(V))V.flow=!0;return _(),V}createPair(U,X,q={}){let Z=this.createNode(U,null,q),Q=this.createNode(X,null,q);return new QL.Pair(Z,Q)}delete(U){return t1(this.contents)?this.contents.delete(U):!1}deleteIn(U){if(n1.isEmptyPath(U)){if(this.contents==null)return!1;return this.contents=null,!0}return t1(this.contents)?this.contents.deleteIn(U):!1}get(U,X){return R0.isCollection(this.contents)?this.contents.get(U,X):void 0}getIn(U,X){if(n1.isEmptyPath(U))return!X&&R0.isScalar(this.contents)?this.contents.value:this.contents;return R0.isCollection(this.contents)?this.contents.getIn(U,X):void 0}has(U){return R0.isCollection(this.contents)?this.contents.has(U):!1}hasIn(U){if(n1.isEmptyPath(U))return this.contents!==void 0;return R0.isCollection(this.contents)?this.contents.hasIn(U):!1}set(U,X){if(this.contents==null)this.contents=n1.collectionFromPath(this.schema,[U],X);else if(t1(this.contents))this.contents.set(U,X)}setIn(U,X){if(n1.isEmptyPath(U))this.contents=X;else if(this.contents==null)this.contents=n1.collectionFromPath(this.schema,Array.from(U),X);else if(t1(this.contents))this.contents.setIn(U,X)}setSchema(U,X={}){if(typeof U==="number")U=String(U);let q;switch(U){case"1.1":if(this.directives)this.directives.yaml.version="1.1";else this.directives=new g9.Directives({version:"1.1"});q={resolveKnownTags:!1,schema:"yaml-1.1"};break;case"1.2":case"next":if(this.directives)this.directives.yaml.version=U;else this.directives=new g9.Directives({version:U});q={resolveKnownTags:!0,schema:"core"};break;case null:if(this.directives)delete this.directives;q=null;break;default:{let Z=JSON.stringify(U);throw Error(`Expected '1.1', '1.2' or null as first argument, but found: ${Z}`)}}if(X.schema instanceof Object)this.schema=X.schema;else if(q)this.schema=new YL.Schema(Object.assign(q,X));else throw Error("With a null YAML version, the { schema: Schema } option is required")}toJS({json:U,jsonArg:X,mapAsMap:q,maxAliasCount:Z,onAnchor:Q,reviver:G}={}){let Y={anchors:new Map,doc:this,keep:!U,mapAsMap:q===!0,mapKeyWarned:!1,maxAliasCount:typeof Z==="number"?Z:100},J=GL.toJS(this.contents,X??"",Y);if(typeof Q==="function")for(let{count:H,res:W}of Y.anchors.values())Q(W,H);return typeof G==="function"?HL.applyReviver(G,{"":J},"",J):J}toJSON(U,X){return this.toJS({json:!0,jsonArg:U,mapAsMap:!1,onAnchor:X})}toString(U={}){if(this.errors.length>0)throw Error("Document with errors cannot be stringified");if("indent"in U&&(!Number.isInteger(U.indent)||Number(U.indent)<=0)){let X=JSON.stringify(U.indent);throw Error(`"indent" option must be a positive integer, not ${X}`)}return JL.stringifyDocument(this,U)}}function t1(U){if(R0.isCollection(U))return!0;throw Error("Expected a YAML collection as document contents")}_L.Document=y9});var t2=R((zL)=>{class R6 extends Error{constructor(U,X,q,Z){super();this.name=U,this.code=q,this.message=Z,this.pos=X}}class o3 extends R6{constructor(U,X,q){super("YAMLParseError",U,X,q)}}class r3 extends R6{constructor(U,X,q){super("YAMLWarning",U,X,q)}}var LL=(U,X)=>(q)=>{if(q.pos[0]===-1)return;q.linePos=q.pos.map((J)=>X.linePos(J));let{line:Z,col:Q}=q.linePos[0];q.message+=` at line ${Z}, column ${Q}`;let G=Q-1,Y=U.substring(X.lineStarts[Z-1],X.lineStarts[Z]).replace(/[\n\r]+$/,"");if(G>=60&&Y.length>80){let J=Math.min(G-39,Y.length-79);Y="…"+Y.substring(J),G-=J-1}if(Y.length>80)Y=Y.substring(0,79)+"…";if(Z>1&&/^ *$/.test(Y.substring(0,G))){let J=U.substring(X.lineStarts[Z-2],X.lineStarts[Z-1]);if(J.length>80)J=J.substring(0,79)+`…
58
58
  `;Y=J+Y}if(/[^ ]/.test(Y)){let J=1,H=q.linePos[1];if(H?.line===Z&&H.col>Q)J=Math.max(1,Math.min(H.col-Q,80-G));let W=" ".repeat(G)+"^".repeat(J);q.message+=`:
59
59
 
60
60
  ${Y}
61
61
  ${W}
62
- `}};zL.YAMLError=DU;zL.YAMLParseError=o3;zL.YAMLWarning=r3;zL.prettifyError=LL});var e2=D((TL)=>{function BL(U,{flow:X,indicator:q,next:Z,offset:Q,onError:G,parentIndent:Y,startOnNewline:J}){let H=!1,W=J,$=J,_="",L="",A=!1,T=!1,z=null,O=null,R=null,w=null,K=null,C=null,N=null;for(let P of U){if(T){if(P.type!=="space"&&P.type!=="newline"&&P.type!=="comma")G(P.offset,"MISSING_CHAR","Tags and anchors must be separated from the next token by white space");T=!1}if(z){if(W&&P.type!=="comment"&&P.type!=="newline")G(z,"TAB_AS_INDENT","Tabs are not allowed as indentation");z=null}switch(P.type){case"space":if(!X&&(q!=="doc-start"||Z?.type!=="flow-collection")&&P.source.includes("\t"))z=P;$=!0;break;case"comment":{if(!$)G(P,"MISSING_CHAR","Comments must be separated from other tokens by white space characters");let s=P.source.substring(1)||" ";if(!_)_=s;else _+=L+s;L="",W=!1;break}case"newline":if(W){if(_)_+=P.source;else if(!C||q!=="seq-item-ind")H=!0}else L+=P.source;if(W=!0,A=!0,O||R)w=P;$=!0;break;case"anchor":if(O)G(P,"MULTIPLE_ANCHORS","A node can have at most one anchor");if(P.source.endsWith(":"))G(P.offset+P.source.length-1,"BAD_ALIAS","Anchor ending in : is ambiguous",!0);O=P,N??(N=P.offset),W=!1,$=!1,T=!0;break;case"tag":{if(R)G(P,"MULTIPLE_TAGS","A node can have at most one tag");R=P,N??(N=P.offset),W=!1,$=!1,T=!0;break}case q:if(O||R)G(P,"BAD_PROP_ORDER",`Anchors and tags must be after the ${P.source} indicator`);if(C)G(P,"UNEXPECTED_TOKEN",`Unexpected ${P.source} in ${X??"collection"}`);C=P,W=q==="seq-item-ind"||q==="explicit-key-ind",$=!1;break;case"comma":if(X){if(K)G(P,"UNEXPECTED_TOKEN",`Unexpected , in ${X}`);K=P,W=!1,$=!1;break}default:G(P,"UNEXPECTED_TOKEN",`Unexpected ${P.type} token`),W=!1,$=!1}}let b=U[U.length-1],m=b?b.offset+b.source.length:Q;if(T&&Z&&Z.type!=="space"&&Z.type!=="newline"&&Z.type!=="comma"&&(Z.type!=="scalar"||Z.source!==""))G(Z.offset,"MISSING_CHAR","Tags and anchors must be separated from the next token by white space");if(z&&(W&&z.indent<=Y||Z?.type==="block-map"||Z?.type==="block-seq"))G(z,"TAB_AS_INDENT","Tabs are not allowed as indentation");return{comma:K,found:C,spaceBefore:H,comment:_,hasNewline:A,anchor:O,tag:R,newlineAfterProp:w,end:m,start:N??m}}TL.resolveProps=BL});var RU=D((RL)=>{function k9(U){if(!U)return null;switch(U.type){case"alias":case"scalar":case"double-quoted-scalar":case"single-quoted-scalar":if(U.source.includes(`
63
- `))return!0;if(U.end){for(let X of U.end)if(X.type==="newline")return!0}return!1;case"flow-collection":for(let X of U.items){for(let q of X.start)if(q.type==="newline")return!0;if(X.sep){for(let q of X.sep)if(q.type==="newline")return!0}if(k9(X.key)||k9(X.value))return!0}return!1;default:return!0}}RL.containsNewline=k9});var v9=D((IL)=>{var PL=RU();function wL(U,X,q){if(X?.type==="flow-collection"){let Z=X.end[0];if(Z.indent===U&&(Z.source==="]"||Z.source==="}")&&PL.containsNewline(X))q(Z,"BAD_INDENT","Flow end indicator should be more indented than parent",!0)}}IL.flowIndentCheck=wL});var h9=D((CL)=>{var a3=k();function NL(U,X,q){let{uniqueKeys:Z}=U.options;if(Z===!1)return!1;let Q=typeof Z==="function"?Z:(G,Y)=>G===Y||a3.isScalar(G)&&a3.isScalar(Y)&&G.value===Y.value;return X.some((G)=>Q(G.key,q))}CL.mapIncludes=NL});var XQ=D((yL)=>{var n3=U1(),EL=q1(),t3=e2(),jL=RU(),e3=v9(),bL=h9(),UQ="All mapping items must start at the same column";function fL({composeNode:U,composeEmptyNode:X},q,Z,Q,G){let J=new(G?.nodeClass??EL.YAMLMap)(q.schema);if(q.atRoot)q.atRoot=!1;let H=Z.offset,W=null;for(let $ of Z.items){let{start:_,key:L,sep:A,value:T}=$,z=t3.resolveProps(_,{indicator:"explicit-key-ind",next:L??A?.[0],offset:H,onError:Q,parentIndent:Z.indent,startOnNewline:!0}),O=!z.found;if(O){if(L){if(L.type==="block-seq")Q(H,"BLOCK_AS_IMPLICIT_KEY","A block sequence may not be used as an implicit map key");else if("indent"in L&&L.indent!==Z.indent)Q(H,"BAD_INDENT",UQ)}if(!z.anchor&&!z.tag&&!A){if(W=z.end,z.comment)if(J.comment)J.comment+=`
64
- `+z.comment;else J.comment=z.comment;continue}if(z.newlineAfterProp||jL.containsNewline(L))Q(L??_[_.length-1],"MULTILINE_IMPLICIT_KEY","Implicit keys need to be on a single line")}else if(z.found?.indent!==Z.indent)Q(H,"BAD_INDENT",UQ);q.atKey=!0;let R=z.end,w=L?U(q,L,z,Q):X(q,R,_,null,z,Q);if(q.schema.compat)e3.flowIndentCheck(Z.indent,L,Q);if(q.atKey=!1,bL.mapIncludes(q,J.items,w))Q(R,"DUPLICATE_KEY","Map keys must be unique");let K=t3.resolveProps(A??[],{indicator:"map-value-ind",next:T,offset:w.range[2],onError:Q,parentIndent:Z.indent,startOnNewline:!L||L.type==="block-scalar"});if(H=K.end,K.found){if(O){if(T?.type==="block-map"&&!K.hasNewline)Q(H,"BLOCK_AS_IMPLICIT_KEY","Nested mappings are not allowed in compact mappings");if(q.options.strict&&z.start<K.found.offset-1024)Q(w.range,"KEY_OVER_1024_CHARS","The : indicator must be at most 1024 chars after the start of an implicit block mapping key")}let C=T?U(q,T,K,Q):X(q,H,A,null,K,Q);if(q.schema.compat)e3.flowIndentCheck(Z.indent,T,Q);H=C.range[2];let N=new n3.Pair(w,C);if(q.options.keepSourceTokens)N.srcToken=$;J.items.push(N)}else{if(O)Q(w.range,"MISSING_CHAR","Implicit map keys need to be followed by map values");if(K.comment)if(w.comment)w.comment+=`
65
- `+K.comment;else w.comment=K.comment;let C=new n3.Pair(w);if(q.options.keepSourceTokens)C.srcToken=$;J.items.push(C)}}if(W&&W<H)Q(W,"IMPOSSIBLE","Map comment with trailing content");return J.range=[Z.offset,H,W??H],J}yL.resolveBlockMap=fL});var qQ=D((uL)=>{var kL=Z1(),vL=e2(),hL=v9();function xL({composeNode:U,composeEmptyNode:X},q,Z,Q,G){let J=new(G?.nodeClass??kL.YAMLSeq)(q.schema);if(q.atRoot)q.atRoot=!1;if(q.atKey)q.atKey=!1;let H=Z.offset,W=null;for(let{start:$,value:_}of Z.items){let L=vL.resolveProps($,{indicator:"seq-item-ind",next:_,offset:H,onError:Q,parentIndent:Z.indent,startOnNewline:!0});if(!L.found)if(L.anchor||L.tag||_)if(_?.type==="block-seq")Q(L.end,"BAD_INDENT","All sequence items must start at the same column");else Q(H,"MISSING_CHAR","Sequence item without - indicator");else{if(W=L.end,L.comment)J.comment=L.comment;continue}let A=_?U(q,_,L,Q):X(q,L.end,$,null,L,Q);if(q.schema.compat)hL.flowIndentCheck(Z.indent,_,Q);H=A.range[2],J.items.push(A)}return J.range=[Z.offset,H,W??H],J}uL.resolveBlockSeq=xL});var t1=D((lL)=>{function pL(U,X,q,Z){let Q="";if(U){let G=!1,Y="";for(let J of U){let{source:H,type:W}=J;switch(W){case"space":G=!0;break;case"comment":{if(q&&!G)Z(J,"MISSING_CHAR","Comments must be separated from other tokens by white space characters");let $=H.substring(1)||" ";if(!Q)Q=$;else Q+=Y+$;Y="";break}case"newline":if(Q)Y+=H;G=!0;break;default:Z(J,"UNEXPECTED_TOKEN",`Unexpected ${W} at node end`)}X+=H.length}}return{comment:Q,offset:X}}lL.resolveEnd=pL});var GQ=D((tL)=>{var cL=k(),iL=U1(),ZQ=q1(),sL=Z1(),oL=t1(),QQ=e2(),rL=RU(),aL=h9(),x9="Block collections are not allowed within flow collections",u9=(U)=>U&&(U.type==="block-map"||U.type==="block-seq");function nL({composeNode:U,composeEmptyNode:X},q,Z,Q,G){let Y=Z.start.source==="{",J=Y?"flow map":"flow sequence",W=new(G?.nodeClass??(Y?ZQ.YAMLMap:sL.YAMLSeq))(q.schema);W.flow=!0;let $=q.atRoot;if($)q.atRoot=!1;if(q.atKey)q.atKey=!1;let _=Z.offset+Z.start.source.length;for(let O=0;O<Z.items.length;++O){let R=Z.items[O],{start:w,key:K,sep:C,value:N}=R,b=QQ.resolveProps(w,{flow:J,indicator:"explicit-key-ind",next:K??C?.[0],offset:_,onError:Q,parentIndent:Z.indent,startOnNewline:!1});if(!b.found){if(!b.anchor&&!b.tag&&!C&&!N){if(O===0&&b.comma)Q(b.comma,"UNEXPECTED_TOKEN",`Unexpected , in ${J}`);else if(O<Z.items.length-1)Q(b.start,"UNEXPECTED_TOKEN",`Unexpected empty item in ${J}`);if(b.comment)if(W.comment)W.comment+=`
66
- `+b.comment;else W.comment=b.comment;_=b.end;continue}if(!Y&&q.options.strict&&rL.containsNewline(K))Q(K,"MULTILINE_IMPLICIT_KEY","Implicit keys of flow sequence pairs need to be on a single line")}if(O===0){if(b.comma)Q(b.comma,"UNEXPECTED_TOKEN",`Unexpected , in ${J}`)}else{if(!b.comma)Q(b.start,"MISSING_CHAR",`Missing , between ${J} items`);if(b.comment){let m="";U:for(let P of w)switch(P.type){case"comma":case"space":break;case"comment":m=P.source.substring(1);break U;default:break U}if(m){let P=W.items[W.items.length-1];if(cL.isPair(P))P=P.value??P.key;if(P.comment)P.comment+=`
62
+ `}};zL.YAMLError=R6;zL.YAMLParseError=o3;zL.YAMLWarning=r3;zL.prettifyError=LL});var e2=R((VL)=>{function TL(U,{flow:X,indicator:q,next:Z,offset:Q,onError:G,parentIndent:Y,startOnNewline:J}){let H=!1,W=J,$=J,_="",L="",A=!1,V=!1,z=null,B=null,D=null,w=null,K=null,C=null,N=null;for(let P of U){if(V){if(P.type!=="space"&&P.type!=="newline"&&P.type!=="comma")G(P.offset,"MISSING_CHAR","Tags and anchors must be separated from the next token by white space");V=!1}if(z){if(W&&P.type!=="comment"&&P.type!=="newline")G(z,"TAB_AS_INDENT","Tabs are not allowed as indentation");z=null}switch(P.type){case"space":if(!X&&(q!=="doc-start"||Z?.type!=="flow-collection")&&P.source.includes("\t"))z=P;$=!0;break;case"comment":{if(!$)G(P,"MISSING_CHAR","Comments must be separated from other tokens by white space characters");let s=P.source.substring(1)||" ";if(!_)_=s;else _+=L+s;L="",W=!1;break}case"newline":if(W){if(_)_+=P.source;else if(!C||q!=="seq-item-ind")H=!0}else L+=P.source;if(W=!0,A=!0,B||D)w=P;$=!0;break;case"anchor":if(B)G(P,"MULTIPLE_ANCHORS","A node can have at most one anchor");if(P.source.endsWith(":"))G(P.offset+P.source.length-1,"BAD_ALIAS","Anchor ending in : is ambiguous",!0);B=P,N??(N=P.offset),W=!1,$=!1,V=!0;break;case"tag":{if(D)G(P,"MULTIPLE_TAGS","A node can have at most one tag");D=P,N??(N=P.offset),W=!1,$=!1,V=!0;break}case q:if(B||D)G(P,"BAD_PROP_ORDER",`Anchors and tags must be after the ${P.source} indicator`);if(C)G(P,"UNEXPECTED_TOKEN",`Unexpected ${P.source} in ${X??"collection"}`);C=P,W=q==="seq-item-ind"||q==="explicit-key-ind",$=!1;break;case"comma":if(X){if(K)G(P,"UNEXPECTED_TOKEN",`Unexpected , in ${X}`);K=P,W=!1,$=!1;break}default:G(P,"UNEXPECTED_TOKEN",`Unexpected ${P.type} token`),W=!1,$=!1}}let b=U[U.length-1],m=b?b.offset+b.source.length:Q;if(V&&Z&&Z.type!=="space"&&Z.type!=="newline"&&Z.type!=="comma"&&(Z.type!=="scalar"||Z.source!==""))G(Z.offset,"MISSING_CHAR","Tags and anchors must be separated from the next token by white space");if(z&&(W&&z.indent<=Y||Z?.type==="block-map"||Z?.type==="block-seq"))G(z,"TAB_AS_INDENT","Tabs are not allowed as indentation");return{comma:K,found:C,spaceBefore:H,comment:_,hasNewline:A,anchor:B,tag:D,newlineAfterProp:w,end:m,start:N??m}}VL.resolveProps=TL});var D6=R((DL)=>{function k9(U){if(!U)return null;switch(U.type){case"alias":case"scalar":case"double-quoted-scalar":case"single-quoted-scalar":if(U.source.includes(`
63
+ `))return!0;if(U.end){for(let X of U.end)if(X.type==="newline")return!0}return!1;case"flow-collection":for(let X of U.items){for(let q of X.start)if(q.type==="newline")return!0;if(X.sep){for(let q of X.sep)if(q.type==="newline")return!0}if(k9(X.key)||k9(X.value))return!0}return!1;default:return!0}}DL.containsNewline=k9});var v9=R((IL)=>{var PL=D6();function wL(U,X,q){if(X?.type==="flow-collection"){let Z=X.end[0];if(Z.indent===U&&(Z.source==="]"||Z.source==="}")&&PL.containsNewline(X))q(Z,"BAD_INDENT","Flow end indicator should be more indented than parent",!0)}}IL.flowIndentCheck=wL});var h9=R((CL)=>{var a3=k();function NL(U,X,q){let{uniqueKeys:Z}=U.options;if(Z===!1)return!1;let Q=typeof Z==="function"?Z:(G,Y)=>G===Y||a3.isScalar(G)&&a3.isScalar(Y)&&G.value===Y.value;return X.some((G)=>Q(G.key,q))}CL.mapIncludes=NL});var XQ=R((gL)=>{var n3=U1(),EL=q1(),t3=e2(),jL=D6(),e3=v9(),bL=h9(),UQ="All mapping items must start at the same column";function fL({composeNode:U,composeEmptyNode:X},q,Z,Q,G){let J=new(G?.nodeClass??EL.YAMLMap)(q.schema);if(q.atRoot)q.atRoot=!1;let H=Z.offset,W=null;for(let $ of Z.items){let{start:_,key:L,sep:A,value:V}=$,z=t3.resolveProps(_,{indicator:"explicit-key-ind",next:L??A?.[0],offset:H,onError:Q,parentIndent:Z.indent,startOnNewline:!0}),B=!z.found;if(B){if(L){if(L.type==="block-seq")Q(H,"BLOCK_AS_IMPLICIT_KEY","A block sequence may not be used as an implicit map key");else if("indent"in L&&L.indent!==Z.indent)Q(H,"BAD_INDENT",UQ)}if(!z.anchor&&!z.tag&&!A){if(W=z.end,z.comment)if(J.comment)J.comment+=`
64
+ `+z.comment;else J.comment=z.comment;continue}if(z.newlineAfterProp||jL.containsNewline(L))Q(L??_[_.length-1],"MULTILINE_IMPLICIT_KEY","Implicit keys need to be on a single line")}else if(z.found?.indent!==Z.indent)Q(H,"BAD_INDENT",UQ);q.atKey=!0;let D=z.end,w=L?U(q,L,z,Q):X(q,D,_,null,z,Q);if(q.schema.compat)e3.flowIndentCheck(Z.indent,L,Q);if(q.atKey=!1,bL.mapIncludes(q,J.items,w))Q(D,"DUPLICATE_KEY","Map keys must be unique");let K=t3.resolveProps(A??[],{indicator:"map-value-ind",next:V,offset:w.range[2],onError:Q,parentIndent:Z.indent,startOnNewline:!L||L.type==="block-scalar"});if(H=K.end,K.found){if(B){if(V?.type==="block-map"&&!K.hasNewline)Q(H,"BLOCK_AS_IMPLICIT_KEY","Nested mappings are not allowed in compact mappings");if(q.options.strict&&z.start<K.found.offset-1024)Q(w.range,"KEY_OVER_1024_CHARS","The : indicator must be at most 1024 chars after the start of an implicit block mapping key")}let C=V?U(q,V,K,Q):X(q,H,A,null,K,Q);if(q.schema.compat)e3.flowIndentCheck(Z.indent,V,Q);H=C.range[2];let N=new n3.Pair(w,C);if(q.options.keepSourceTokens)N.srcToken=$;J.items.push(N)}else{if(B)Q(w.range,"MISSING_CHAR","Implicit map keys need to be followed by map values");if(K.comment)if(w.comment)w.comment+=`
65
+ `+K.comment;else w.comment=K.comment;let C=new n3.Pair(w);if(q.options.keepSourceTokens)C.srcToken=$;J.items.push(C)}}if(W&&W<H)Q(W,"IMPOSSIBLE","Map comment with trailing content");return J.range=[Z.offset,H,W??H],J}gL.resolveBlockMap=fL});var qQ=R((uL)=>{var kL=Z1(),vL=e2(),hL=v9();function xL({composeNode:U,composeEmptyNode:X},q,Z,Q,G){let J=new(G?.nodeClass??kL.YAMLSeq)(q.schema);if(q.atRoot)q.atRoot=!1;if(q.atKey)q.atKey=!1;let H=Z.offset,W=null;for(let{start:$,value:_}of Z.items){let L=vL.resolveProps($,{indicator:"seq-item-ind",next:_,offset:H,onError:Q,parentIndent:Z.indent,startOnNewline:!0});if(!L.found)if(L.anchor||L.tag||_)if(_?.type==="block-seq")Q(L.end,"BAD_INDENT","All sequence items must start at the same column");else Q(H,"MISSING_CHAR","Sequence item without - indicator");else{if(W=L.end,L.comment)J.comment=L.comment;continue}let A=_?U(q,_,L,Q):X(q,L.end,$,null,L,Q);if(q.schema.compat)hL.flowIndentCheck(Z.indent,_,Q);H=A.range[2],J.items.push(A)}return J.range=[Z.offset,H,W??H],J}uL.resolveBlockSeq=xL});var e1=R((lL)=>{function pL(U,X,q,Z){let Q="";if(U){let G=!1,Y="";for(let J of U){let{source:H,type:W}=J;switch(W){case"space":G=!0;break;case"comment":{if(q&&!G)Z(J,"MISSING_CHAR","Comments must be separated from other tokens by white space characters");let $=H.substring(1)||" ";if(!Q)Q=$;else Q+=Y+$;Y="";break}case"newline":if(Q)Y+=H;G=!0;break;default:Z(J,"UNEXPECTED_TOKEN",`Unexpected ${W} at node end`)}X+=H.length}}return{comment:Q,offset:X}}lL.resolveEnd=pL});var GQ=R((tL)=>{var cL=k(),iL=U1(),ZQ=q1(),sL=Z1(),oL=e1(),QQ=e2(),rL=D6(),aL=h9(),x9="Block collections are not allowed within flow collections",u9=(U)=>U&&(U.type==="block-map"||U.type==="block-seq");function nL({composeNode:U,composeEmptyNode:X},q,Z,Q,G){let Y=Z.start.source==="{",J=Y?"flow map":"flow sequence",W=new(G?.nodeClass??(Y?ZQ.YAMLMap:sL.YAMLSeq))(q.schema);W.flow=!0;let $=q.atRoot;if($)q.atRoot=!1;if(q.atKey)q.atKey=!1;let _=Z.offset+Z.start.source.length;for(let B=0;B<Z.items.length;++B){let D=Z.items[B],{start:w,key:K,sep:C,value:N}=D,b=QQ.resolveProps(w,{flow:J,indicator:"explicit-key-ind",next:K??C?.[0],offset:_,onError:Q,parentIndent:Z.indent,startOnNewline:!1});if(!b.found){if(!b.anchor&&!b.tag&&!C&&!N){if(B===0&&b.comma)Q(b.comma,"UNEXPECTED_TOKEN",`Unexpected , in ${J}`);else if(B<Z.items.length-1)Q(b.start,"UNEXPECTED_TOKEN",`Unexpected empty item in ${J}`);if(b.comment)if(W.comment)W.comment+=`
66
+ `+b.comment;else W.comment=b.comment;_=b.end;continue}if(!Y&&q.options.strict&&rL.containsNewline(K))Q(K,"MULTILINE_IMPLICIT_KEY","Implicit keys of flow sequence pairs need to be on a single line")}if(B===0){if(b.comma)Q(b.comma,"UNEXPECTED_TOKEN",`Unexpected , in ${J}`)}else{if(!b.comma)Q(b.start,"MISSING_CHAR",`Missing , between ${J} items`);if(b.comment){let m="";U:for(let P of w)switch(P.type){case"comma":case"space":break;case"comment":m=P.source.substring(1);break U;default:break U}if(m){let P=W.items[W.items.length-1];if(cL.isPair(P))P=P.value??P.key;if(P.comment)P.comment+=`
67
67
  `+m;else P.comment=m;b.comment=b.comment.substring(m.length+1)}}}if(!Y&&!C&&!b.found){let m=N?U(q,N,b,Q):X(q,b.end,C,null,b,Q);if(W.items.push(m),_=m.range[2],u9(N))Q(m.range,"BLOCK_IN_FLOW",x9)}else{q.atKey=!0;let m=b.end,P=K?U(q,K,b,Q):X(q,m,w,null,b,Q);if(u9(K))Q(P.range,"BLOCK_IN_FLOW",x9);q.atKey=!1;let s=QQ.resolveProps(C??[],{flow:J,indicator:"map-value-ind",next:N,offset:P.range[2],onError:Q,parentIndent:Z.indent,startOnNewline:!1});if(s.found){if(!Y&&!b.found&&q.options.strict){if(C)for(let o of C){if(o===s.found)break;if(o.type==="newline"){Q(o,"MULTILINE_IMPLICIT_KEY","Implicit keys of flow sequence pairs need to be on a single line");break}}if(b.start<s.found.offset-1024)Q(s.found,"KEY_OVER_1024_CHARS","The : indicator must be at most 1024 chars after the start of an implicit flow sequence key")}}else if(N)if("source"in N&&N.source?.[0]===":")Q(N,"MISSING_CHAR",`Missing space after : in ${J}`);else Q(s.start,"MISSING_CHAR",`Missing , or : between ${J} items`);let p0=N?U(q,N,s,Q):s.found?X(q,s.end,C,null,s,Q):null;if(p0){if(u9(N))Q(p0.range,"BLOCK_IN_FLOW",x9)}else if(s.comment)if(P.comment)P.comment+=`
68
- `+s.comment;else P.comment=s.comment;let R1=new iL.Pair(P,p0);if(q.options.keepSourceTokens)R1.srcToken=R;if(Y){let o=W;if(aL.mapIncludes(q,o.items,P))Q(m,"DUPLICATE_KEY","Map keys must be unique");o.items.push(R1)}else{let o=new ZQ.YAMLMap(q.schema);o.flow=!0,o.items.push(R1);let YX=(p0??P).range;o.range=[P.range[0],YX[1],YX[2]],W.items.push(o)}_=p0?p0.range[2]:s.end}}let L=Y?"}":"]",[A,...T]=Z.end,z=_;if(A?.source===L)z=A.offset+A.source.length;else{let O=J[0].toUpperCase()+J.substring(1),R=$?`${O} must end with a ${L}`:`${O} in block collection must be sufficiently indented and end with a ${L}`;if(Q(_,$?"MISSING_CHAR":"BAD_INDENT",R),A&&A.source.length!==1)T.unshift(A)}if(T.length>0){let O=oL.resolveEnd(T,z,q.options.strict,Q);if(O.comment)if(W.comment)W.comment+=`
69
- `+O.comment;else W.comment=O.comment;W.range=[Z.offset,z,O.offset]}else W.range=[Z.offset,z,z];return W}tL.resolveFlowCollection=nL});var YQ=D((Hz)=>{var Uz=k(),Xz=i(),qz=q1(),Zz=Z1(),Qz=XQ(),Gz=qQ(),Yz=GQ();function m9(U,X,q,Z,Q,G){let Y=q.type==="block-map"?Qz.resolveBlockMap(U,X,q,Z,G):q.type==="block-seq"?Gz.resolveBlockSeq(U,X,q,Z,G):Yz.resolveFlowCollection(U,X,q,Z,G),J=Y.constructor;if(Q==="!"||Q===J.tagName)return Y.tag=J.tagName,Y;if(Q)Y.tag=Q;return Y}function Jz(U,X,q,Z,Q){let G=Z.tag,Y=!G?null:X.directives.tagName(G.source,(L)=>Q(G,"TAG_RESOLVE_FAILED",L));if(q.type==="block-seq"){let{anchor:L,newlineAfterProp:A}=Z,T=L&&G?L.offset>G.offset?L:G:L??G;if(T&&(!A||A.offset<T.offset))Q(T,"MISSING_CHAR","Missing newline after block sequence props")}let J=q.type==="block-map"?"map":q.type==="block-seq"?"seq":q.start.source==="{"?"map":"seq";if(!G||!Y||Y==="!"||Y===qz.YAMLMap.tagName&&J==="map"||Y===Zz.YAMLSeq.tagName&&J==="seq")return m9(U,X,q,Q,Y);let H=X.schema.tags.find((L)=>L.tag===Y&&L.collection===J);if(!H){let L=X.schema.knownTags[Y];if(L?.collection===J)X.schema.tags.push(Object.assign({},L,{default:!1})),H=L;else{if(L)Q(G,"BAD_COLLECTION_TYPE",`${L.tag} used for ${J} collection, but expects ${L.collection??"scalar"}`,!0);else Q(G,"TAG_RESOLVE_FAILED",`Unresolved tag: ${Y}`,!0);return m9(U,X,q,Q,Y)}}let W=m9(U,X,q,Q,Y,H),$=H.resolve?.(W,(L)=>Q(G,"TAG_RESOLVE_FAILED",L),X.options)??W,_=Uz.isNode($)?$:new Xz.Scalar($);if(_.range=W.range,_.tag=Y,H?.format)_.format=H.format;return _}Hz.composeCollection=Jz});var l9=D((zz)=>{var p9=i();function _z(U,X,q){let Z=X.offset,Q=$z(X,U.options.strict,q);if(!Q)return{value:"",type:null,comment:"",range:[Z,Z,Z]};let G=Q.mode===">"?p9.Scalar.BLOCK_FOLDED:p9.Scalar.BLOCK_LITERAL,Y=X.source?Lz(X.source):[],J=Y.length;for(let z=Y.length-1;z>=0;--z){let O=Y[z][1];if(O===""||O==="\r")J=z;else break}if(J===0){let z=Q.chomp==="+"&&Y.length>0?`
70
- `.repeat(Math.max(1,Y.length-1)):"",O=Z+Q.length;if(X.source)O+=X.source.length;return{value:z,type:G,comment:Q.comment,range:[Z,O,O]}}let H=X.indent+Q.indent,W=X.offset+Q.length,$=0;for(let z=0;z<J;++z){let[O,R]=Y[z];if(R===""||R==="\r"){if(Q.indent===0&&O.length>H)H=O.length}else{if(O.length<H)q(W+O.length,"MISSING_CHAR","Block scalars with more-indented leading empty lines must use an explicit indentation indicator");if(Q.indent===0)H=O.length;if($=z,H===0&&!U.atRoot)q(W,"BAD_INDENT","Block scalar values in collections must be indented");break}W+=O.length+R.length+1}for(let z=Y.length-1;z>=J;--z)if(Y[z][0].length>H)J=z+1;let _="",L="",A=!1;for(let z=0;z<$;++z)_+=Y[z][0].slice(H)+`
71
- `;for(let z=$;z<J;++z){let[O,R]=Y[z];W+=O.length+R.length+1;let w=R[R.length-1]==="\r";if(w)R=R.slice(0,-1);if(R&&O.length<H){let C=`Block scalar lines must not be less indented than their ${Q.indent?"explicit indentation indicator":"first line"}`;q(W-R.length-(w?2:1),"BAD_INDENT",C),O=""}if(G===p9.Scalar.BLOCK_LITERAL)_+=L+O.slice(H)+R,L=`
72
- `;else if(O.length>H||R[0]==="\t"){if(L===" ")L=`
68
+ `+s.comment;else P.comment=s.comment;let D1=new iL.Pair(P,p0);if(q.options.keepSourceTokens)D1.srcToken=D;if(Y){let o=W;if(aL.mapIncludes(q,o.items,P))Q(m,"DUPLICATE_KEY","Map keys must be unique");o.items.push(D1)}else{let o=new ZQ.YAMLMap(q.schema);o.flow=!0,o.items.push(D1);let YX=(p0??P).range;o.range=[P.range[0],YX[1],YX[2]],W.items.push(o)}_=p0?p0.range[2]:s.end}}let L=Y?"}":"]",[A,...V]=Z.end,z=_;if(A?.source===L)z=A.offset+A.source.length;else{let B=J[0].toUpperCase()+J.substring(1),D=$?`${B} must end with a ${L}`:`${B} in block collection must be sufficiently indented and end with a ${L}`;if(Q(_,$?"MISSING_CHAR":"BAD_INDENT",D),A&&A.source.length!==1)V.unshift(A)}if(V.length>0){let B=oL.resolveEnd(V,z,q.options.strict,Q);if(B.comment)if(W.comment)W.comment+=`
69
+ `+B.comment;else W.comment=B.comment;W.range=[Z.offset,z,B.offset]}else W.range=[Z.offset,z,z];return W}tL.resolveFlowCollection=nL});var YQ=R((Hz)=>{var Uz=k(),Xz=i(),qz=q1(),Zz=Z1(),Qz=XQ(),Gz=qQ(),Yz=GQ();function m9(U,X,q,Z,Q,G){let Y=q.type==="block-map"?Qz.resolveBlockMap(U,X,q,Z,G):q.type==="block-seq"?Gz.resolveBlockSeq(U,X,q,Z,G):Yz.resolveFlowCollection(U,X,q,Z,G),J=Y.constructor;if(Q==="!"||Q===J.tagName)return Y.tag=J.tagName,Y;if(Q)Y.tag=Q;return Y}function Jz(U,X,q,Z,Q){let G=Z.tag,Y=!G?null:X.directives.tagName(G.source,(L)=>Q(G,"TAG_RESOLVE_FAILED",L));if(q.type==="block-seq"){let{anchor:L,newlineAfterProp:A}=Z,V=L&&G?L.offset>G.offset?L:G:L??G;if(V&&(!A||A.offset<V.offset))Q(V,"MISSING_CHAR","Missing newline after block sequence props")}let J=q.type==="block-map"?"map":q.type==="block-seq"?"seq":q.start.source==="{"?"map":"seq";if(!G||!Y||Y==="!"||Y===qz.YAMLMap.tagName&&J==="map"||Y===Zz.YAMLSeq.tagName&&J==="seq")return m9(U,X,q,Q,Y);let H=X.schema.tags.find((L)=>L.tag===Y&&L.collection===J);if(!H){let L=X.schema.knownTags[Y];if(L?.collection===J)X.schema.tags.push(Object.assign({},L,{default:!1})),H=L;else{if(L)Q(G,"BAD_COLLECTION_TYPE",`${L.tag} used for ${J} collection, but expects ${L.collection??"scalar"}`,!0);else Q(G,"TAG_RESOLVE_FAILED",`Unresolved tag: ${Y}`,!0);return m9(U,X,q,Q,Y)}}let W=m9(U,X,q,Q,Y,H),$=H.resolve?.(W,(L)=>Q(G,"TAG_RESOLVE_FAILED",L),X.options)??W,_=Uz.isNode($)?$:new Xz.Scalar($);if(_.range=W.range,_.tag=Y,H?.format)_.format=H.format;return _}Hz.composeCollection=Jz});var l9=R((zz)=>{var p9=i();function _z(U,X,q){let Z=X.offset,Q=$z(X,U.options.strict,q);if(!Q)return{value:"",type:null,comment:"",range:[Z,Z,Z]};let G=Q.mode===">"?p9.Scalar.BLOCK_FOLDED:p9.Scalar.BLOCK_LITERAL,Y=X.source?Lz(X.source):[],J=Y.length;for(let z=Y.length-1;z>=0;--z){let B=Y[z][1];if(B===""||B==="\r")J=z;else break}if(J===0){let z=Q.chomp==="+"&&Y.length>0?`
70
+ `.repeat(Math.max(1,Y.length-1)):"",B=Z+Q.length;if(X.source)B+=X.source.length;return{value:z,type:G,comment:Q.comment,range:[Z,B,B]}}let H=X.indent+Q.indent,W=X.offset+Q.length,$=0;for(let z=0;z<J;++z){let[B,D]=Y[z];if(D===""||D==="\r"){if(Q.indent===0&&B.length>H)H=B.length}else{if(B.length<H)q(W+B.length,"MISSING_CHAR","Block scalars with more-indented leading empty lines must use an explicit indentation indicator");if(Q.indent===0)H=B.length;if($=z,H===0&&!U.atRoot)q(W,"BAD_INDENT","Block scalar values in collections must be indented");break}W+=B.length+D.length+1}for(let z=Y.length-1;z>=J;--z)if(Y[z][0].length>H)J=z+1;let _="",L="",A=!1;for(let z=0;z<$;++z)_+=Y[z][0].slice(H)+`
71
+ `;for(let z=$;z<J;++z){let[B,D]=Y[z];W+=B.length+D.length+1;let w=D[D.length-1]==="\r";if(w)D=D.slice(0,-1);if(D&&B.length<H){let C=`Block scalar lines must not be less indented than their ${Q.indent?"explicit indentation indicator":"first line"}`;q(W-D.length-(w?2:1),"BAD_INDENT",C),B=""}if(G===p9.Scalar.BLOCK_LITERAL)_+=L+B.slice(H)+D,L=`
72
+ `;else if(B.length>H||D[0]==="\t"){if(L===" ")L=`
73
73
  `;else if(!A&&L===`
74
74
  `)L=`
75
75
 
76
- `;_+=L+O.slice(H)+R,L=`
77
- `,A=!0}else if(R==="")if(L===`
76
+ `;_+=L+B.slice(H)+D,L=`
77
+ `,A=!0}else if(D==="")if(L===`
78
78
  `)_+=`
79
79
  `;else L=`
80
- `;else _+=L+R,L=" ",A=!1}switch(Q.chomp){case"-":break;case"+":for(let z=J;z<Y.length;++z)_+=`
80
+ `;else _+=L+D,L=" ",A=!1}switch(Q.chomp){case"-":break;case"+":for(let z=J;z<Y.length;++z)_+=`
81
81
  `+Y[z][0].slice(H);if(_[_.length-1]!==`
82
82
  `)_+=`
83
83
  `;break;default:_+=`
84
- `}let T=Z+Q.length+X.source.length;return{value:_,type:G,comment:Q.comment,range:[Z,T,T]}}function $z({offset:U,props:X},q,Z){if(X[0].type!=="block-scalar-header")return Z(X[0],"IMPOSSIBLE","Block scalar header not found"),null;let{source:Q}=X[0],G=Q[0],Y=0,J="",H=-1;for(let L=1;L<Q.length;++L){let A=Q[L];if(!J&&(A==="-"||A==="+"))J=A;else{let T=Number(A);if(!Y&&T)Y=T;else if(H===-1)H=U+L}}if(H!==-1)Z(H,"UNEXPECTED_TOKEN",`Block scalar header includes extra characters: ${Q}`);let W=!1,$="",_=Q.length;for(let L=1;L<X.length;++L){let A=X[L];switch(A.type){case"space":W=!0;case"newline":_+=A.source.length;break;case"comment":if(q&&!W)Z(A,"MISSING_CHAR","Comments must be separated from other tokens by white space characters");_+=A.source.length,$=A.source.substring(1);break;case"error":Z(A,"UNEXPECTED_TOKEN",A.message),_+=A.source.length;break;default:{let T=`Unexpected token in block scalar header: ${A.type}`;Z(A,"UNEXPECTED_TOKEN",T);let z=A.source;if(z&&typeof z==="string")_+=z.length}}}return{mode:G,indent:Y,chomp:J,comment:$,length:_}}function Lz(U){let X=U.split(/\n( *)/),q=X[0],Z=q.match(/^( *)/),G=[Z?.[1]?[Z[1],q.slice(Z[1].length)]:["",q]];for(let Y=1;Y<X.length;Y+=2)G.push([X[Y],X[Y+1]]);return G}zz.resolveBlockScalar=_z});var c9=D((Pz)=>{var d9=i(),Az=t1();function Vz(U,X,q){let{offset:Z,type:Q,source:G,end:Y}=U,J,H,W=(L,A,T)=>q(Z+L,A,T);switch(Q){case"scalar":J=d9.Scalar.PLAIN,H=Oz(G,W);break;case"single-quoted-scalar":J=d9.Scalar.QUOTE_SINGLE,H=Bz(G,W);break;case"double-quoted-scalar":J=d9.Scalar.QUOTE_DOUBLE,H=Tz(G,W);break;default:return q(U,"UNEXPECTED_TOKEN",`Expected a flow scalar value, but found: ${Q}`),{value:"",type:null,comment:"",range:[Z,Z+G.length,Z+G.length]}}let $=Z+G.length,_=Az.resolveEnd(Y,$,X,q);return{value:H,type:J,comment:_.comment,range:[Z,$,_.offset]}}function Oz(U,X){let q="";switch(U[0]){case"\t":q="a tab character";break;case",":q="flow indicator character ,";break;case"%":q="directive indicator character %";break;case"|":case">":{q=`block scalar indicator ${U[0]}`;break}case"@":case"`":{q=`reserved character ${U[0]}`;break}}if(q)X(0,"BAD_SCALAR_START",`Plain value cannot start with ${q}`);return JQ(U)}function Bz(U,X){if(U[U.length-1]!=="'"||U.length===1)X(U.length,"MISSING_CHAR","Missing closing 'quote");return JQ(U.slice(1,-1)).replace(/''/g,"'")}function JQ(U){let X,q;try{X=new RegExp(`(.*?)(?<![ ])[ ]*\r?
84
+ `}let V=Z+Q.length+X.source.length;return{value:_,type:G,comment:Q.comment,range:[Z,V,V]}}function $z({offset:U,props:X},q,Z){if(X[0].type!=="block-scalar-header")return Z(X[0],"IMPOSSIBLE","Block scalar header not found"),null;let{source:Q}=X[0],G=Q[0],Y=0,J="",H=-1;for(let L=1;L<Q.length;++L){let A=Q[L];if(!J&&(A==="-"||A==="+"))J=A;else{let V=Number(A);if(!Y&&V)Y=V;else if(H===-1)H=U+L}}if(H!==-1)Z(H,"UNEXPECTED_TOKEN",`Block scalar header includes extra characters: ${Q}`);let W=!1,$="",_=Q.length;for(let L=1;L<X.length;++L){let A=X[L];switch(A.type){case"space":W=!0;case"newline":_+=A.source.length;break;case"comment":if(q&&!W)Z(A,"MISSING_CHAR","Comments must be separated from other tokens by white space characters");_+=A.source.length,$=A.source.substring(1);break;case"error":Z(A,"UNEXPECTED_TOKEN",A.message),_+=A.source.length;break;default:{let V=`Unexpected token in block scalar header: ${A.type}`;Z(A,"UNEXPECTED_TOKEN",V);let z=A.source;if(z&&typeof z==="string")_+=z.length}}}return{mode:G,indent:Y,chomp:J,comment:$,length:_}}function Lz(U){let X=U.split(/\n( *)/),q=X[0],Z=q.match(/^( *)/),G=[Z?.[1]?[Z[1],q.slice(Z[1].length)]:["",q]];for(let Y=1;Y<X.length;Y+=2)G.push([X[Y],X[Y+1]]);return G}zz.resolveBlockScalar=_z});var c9=R((Pz)=>{var d9=i(),Az=e1();function Oz(U,X,q){let{offset:Z,type:Q,source:G,end:Y}=U,J,H,W=(L,A,V)=>q(Z+L,A,V);switch(Q){case"scalar":J=d9.Scalar.PLAIN,H=Bz(G,W);break;case"single-quoted-scalar":J=d9.Scalar.QUOTE_SINGLE,H=Tz(G,W);break;case"double-quoted-scalar":J=d9.Scalar.QUOTE_DOUBLE,H=Vz(G,W);break;default:return q(U,"UNEXPECTED_TOKEN",`Expected a flow scalar value, but found: ${Q}`),{value:"",type:null,comment:"",range:[Z,Z+G.length,Z+G.length]}}let $=Z+G.length,_=Az.resolveEnd(Y,$,X,q);return{value:H,type:J,comment:_.comment,range:[Z,$,_.offset]}}function Bz(U,X){let q="";switch(U[0]){case"\t":q="a tab character";break;case",":q="flow indicator character ,";break;case"%":q="directive indicator character %";break;case"|":case">":{q=`block scalar indicator ${U[0]}`;break}case"@":case"`":{q=`reserved character ${U[0]}`;break}}if(q)X(0,"BAD_SCALAR_START",`Plain value cannot start with ${q}`);return JQ(U)}function Tz(U,X){if(U[U.length-1]!=="'"||U.length===1)X(U.length,"MISSING_CHAR","Missing closing 'quote");return JQ(U.slice(1,-1)).replace(/''/g,"'")}function JQ(U){let X,q;try{X=new RegExp(`(.*?)(?<![ ])[ ]*\r?
85
85
  `,"sy"),q=new RegExp(`[ ]*(.*?)(?:(?<![ ])[ ]*)?\r?
86
86
  `,"sy")}catch{X=/(.*?)[ \t]*\r?\n/sy,q=/[ \t]*(.*?)[ \t]*\r?\n/sy}let Z=X.exec(U);if(!Z)return U;let Q=Z[1],G=" ",Y=X.lastIndex;q.lastIndex=Y;while(Z=q.exec(U)){if(Z[1]==="")if(G===`
87
87
  `)Q+=G;else G=`
88
- `;else Q+=G+Z[1],G=" ";Y=q.lastIndex}let J=/[ \t]*(.*)/sy;return J.lastIndex=Y,Z=J.exec(U),Q+G+(Z?.[1]??"")}function Tz(U,X){let q="";for(let Z=1;Z<U.length-1;++Z){let Q=U[Z];if(Q==="\r"&&U[Z+1]===`
88
+ `;else Q+=G+Z[1],G=" ";Y=q.lastIndex}let J=/[ \t]*(.*)/sy;return J.lastIndex=Y,Z=J.exec(U),Q+G+(Z?.[1]??"")}function Vz(U,X){let q="";for(let Z=1;Z<U.length-1;++Z){let Q=U[Z];if(Q==="\r"&&U[Z+1]===`
89
89
  `)continue;if(Q===`
90
- `){let{fold:G,offset:Y}=Dz(U,Z);q+=G,Z=Y}else if(Q==="\\"){let G=U[++Z],Y=Rz[G];if(Y)q+=Y;else if(G===`
90
+ `){let{fold:G,offset:Y}=Rz(U,Z);q+=G,Z=Y}else if(Q==="\\"){let G=U[++Z],Y=Dz[G];if(Y)q+=Y;else if(G===`
91
91
  `){G=U[Z+1];while(G===" "||G==="\t")G=U[++Z+1]}else if(G==="\r"&&U[Z+1]===`
92
92
  `){G=U[++Z+1];while(G===" "||G==="\t")G=U[++Z+1]}else if(G==="x"||G==="u"||G==="U"){let J={x:2,u:4,U:8}[G];q+=Mz(U,Z+1,J,X),Z+=J}else{let J=U.substr(Z-1,2);X(Z-1,"BAD_DQ_ESCAPE",`Invalid escape sequence ${J}`),q+=J}}else if(Q===" "||Q==="\t"){let G=Z,Y=U[Z+1];while(Y===" "||Y==="\t")Y=U[++Z+1];if(Y!==`
93
93
  `&&!(Y==="\r"&&U[Z+2]===`
94
- `))q+=Z>G?U.slice(G,Z+1):Q}else q+=Q}if(U[U.length-1]!=='"'||U.length===1)X(U.length,"MISSING_CHAR",'Missing closing "quote');return q}function Dz(U,X){let q="",Z=U[X+1];while(Z===" "||Z==="\t"||Z===`
94
+ `))q+=Z>G?U.slice(G,Z+1):Q}else q+=Q}if(U[U.length-1]!=='"'||U.length===1)X(U.length,"MISSING_CHAR",'Missing closing "quote');return q}function Rz(U,X){let q="",Z=U[X+1];while(Z===" "||Z==="\t"||Z===`
95
95
  `||Z==="\r"){if(Z==="\r"&&U[X+2]!==`
96
96
  `)break;if(Z===`
97
97
  `)q+=`
98
- `;X+=1,Z=U[X+1]}if(!q)q=" ";return{fold:q,offset:X}}var Rz={"0":"\x00",a:"\x07",b:"\b",e:"\x1B",f:"\f",n:`
99
- `,r:"\r",t:"\t",v:"\v",N:"…",_:" ",L:"\u2028",P:"\u2029"," ":" ",'"':'"',"/":"/","\\":"\\","\t":"\t"};function Mz(U,X,q,Z){let Q=U.substr(X,q),Y=Q.length===q&&/^[0-9a-fA-F]+$/.test(Q)?parseInt(Q,16):NaN;if(isNaN(Y)){let J=U.substr(X-2,q+2);return Z(X-2,"BAD_DQ_ESCAPE",`Invalid escape sequence ${J}`),J}return String.fromCodePoint(Y)}Pz.resolveFlowScalar=Vz});var WQ=D((Ez)=>{var T1=k(),HQ=i(),Iz=l9(),Kz=c9();function Nz(U,X,q,Z){let{value:Q,type:G,comment:Y,range:J}=X.type==="block-scalar"?Iz.resolveBlockScalar(U,X,Z):Kz.resolveFlowScalar(X,U.options.strict,Z),H=q?U.directives.tagName(q.source,(_)=>Z(q,"TAG_RESOLVE_FAILED",_)):null,W;if(U.options.stringKeys&&U.atKey)W=U.schema[T1.SCALAR];else if(H)W=Cz(U.schema,Q,H,q,Z);else if(X.type==="scalar")W=Sz(U,Q,X,Z);else W=U.schema[T1.SCALAR];let $;try{let _=W.resolve(Q,(L)=>Z(q??X,"TAG_RESOLVE_FAILED",L),U.options);$=T1.isScalar(_)?_:new HQ.Scalar(_)}catch(_){let L=_ instanceof Error?_.message:String(_);Z(q??X,"TAG_RESOLVE_FAILED",L),$=new HQ.Scalar(Q)}if($.range=J,$.source=Q,G)$.type=G;if(H)$.tag=H;if(W.format)$.format=W.format;if(Y)$.comment=Y;return $}function Cz(U,X,q,Z,Q){if(q==="!")return U[T1.SCALAR];let G=[];for(let J of U.tags)if(!J.collection&&J.tag===q)if(J.default&&J.test)G.push(J);else return J;for(let J of G)if(J.test?.test(X))return J;let Y=U.knownTags[q];if(Y&&!Y.collection)return U.tags.push(Object.assign({},Y,{default:!1,test:void 0})),Y;return Q(Z,"TAG_RESOLVE_FAILED",`Unresolved tag: ${q}`,q!=="tag:yaml.org,2002:str"),U[T1.SCALAR]}function Sz({atKey:U,directives:X,schema:q},Z,Q,G){let Y=q.tags.find((J)=>(J.default===!0||U&&J.default==="key")&&J.test?.test(Z))||q[T1.SCALAR];if(q.compat){let J=q.compat.find((H)=>H.default&&H.test?.test(Z))??q[T1.SCALAR];if(Y.tag!==J.tag){let H=X.tagString(Y.tag),W=X.tagString(J.tag),$=`Value may be parsed as either ${H} or ${W}`;G(Q,"TAG_RESOLVE_FAILED",$,!0)}}return Y}Ez.composeScalar=Nz});var _Q=D((fz)=>{function bz(U,X,q){if(X){q??(q=X.length);for(let Z=q-1;Z>=0;--Z){let Q=X[Z];switch(Q.type){case"space":case"comment":case"newline":U-=Q.source.length;continue}Q=X[++Z];while(Q?.type==="space")U+=Q.source.length,Q=X[++Z];break}}return U}fz.emptyScalarPosition=bz});var zQ=D((pz)=>{var gz=k2(),kz=k(),vz=YQ(),$Q=WQ(),hz=t1(),xz=_Q(),uz={composeNode:LQ,composeEmptyNode:i9};function LQ(U,X,q,Z){let Q=U.atKey,{spaceBefore:G,comment:Y,anchor:J,tag:H}=q,W,$=!0;switch(X.type){case"alias":if(W=mz(U,X,Z),J||H)Z(X,"ALIAS_PROPS","An alias node must not specify any properties");break;case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":case"block-scalar":if(W=$Q.composeScalar(U,X,H,Z),J)W.anchor=J.source.substring(1);break;case"block-map":case"block-seq":case"flow-collection":if(W=vz.composeCollection(uz,U,X,q,Z),J)W.anchor=J.source.substring(1);break;default:{let _=X.type==="error"?X.message:`Unsupported token (type: ${X.type})`;Z(X,"UNEXPECTED_TOKEN",_),W=i9(U,X.offset,void 0,null,q,Z),$=!1}}if(J&&W.anchor==="")Z(J,"BAD_ALIAS","Anchor cannot be an empty string");if(Q&&U.options.stringKeys&&(!kz.isScalar(W)||typeof W.value!=="string"||W.tag&&W.tag!=="tag:yaml.org,2002:str"))Z(H??X,"NON_STRING_KEY","With stringKeys, all keys must be strings");if(G)W.spaceBefore=!0;if(Y)if(X.type==="scalar"&&X.source==="")W.comment=Y;else W.commentBefore=Y;if(U.options.keepSourceTokens&&$)W.srcToken=X;return W}function i9(U,X,q,Z,{spaceBefore:Q,comment:G,anchor:Y,tag:J,end:H},W){let $={type:"scalar",offset:xz.emptyScalarPosition(X,q,Z),indent:-1,source:""},_=$Q.composeScalar(U,$,J,W);if(Y){if(_.anchor=Y.source.substring(1),_.anchor==="")W(Y,"BAD_ALIAS","Anchor cannot be an empty string")}if(Q)_.spaceBefore=!0;if(G)_.comment=G,_.range[2]=H;return _}function mz({options:U},{offset:X,source:q,end:Z},Q){let G=new gz.Alias(q.substring(1));if(G.source==="")Q(X,"BAD_ALIAS","Alias cannot be an empty string");if(G.source.endsWith(":"))Q(X+q.length-1,"BAD_ALIAS","Alias ending in : is ambiguous",!0);let Y=X+q.length,J=hz.resolveEnd(Z,Y,U.strict,Q);if(G.range=[X,Y,J.offset],J.comment)G.comment=J.comment;return G}pz.composeEmptyNode=i9;pz.composeNode=LQ});var AQ=D((rz)=>{var cz=n2(),FQ=zQ(),iz=t1(),sz=e2();function oz(U,X,{offset:q,start:Z,value:Q,end:G},Y){let J=Object.assign({_directives:X},U),H=new cz.Document(void 0,J),W={atKey:!1,atRoot:!0,directives:H.directives,options:H.options,schema:H.schema},$=sz.resolveProps(Z,{indicator:"doc-start",next:Q??G?.[0],offset:q,onError:Y,parentIndent:0,startOnNewline:!0});if($.found){if(H.directives.docStart=!0,Q&&(Q.type==="block-map"||Q.type==="block-seq")&&!$.hasNewline)Y($.end,"MISSING_CHAR","Block collection cannot start on same line with directives-end marker")}H.contents=Q?FQ.composeNode(W,Q,$,Y):FQ.composeEmptyNode(W,$.end,Z,null,$,Y);let _=H.contents.range[2],L=iz.resolveEnd(G,_,!1,Y);if(L.comment)H.comment=L.comment;return H.range=[q,_,L.offset],H}rz.composeDoc=oz});var s9=D((qF)=>{var nz=M1("process"),tz=n4(),ez=n2(),U6=t2(),VQ=k(),UF=AQ(),XF=t1();function X6(U){if(typeof U==="number")return[U,U+1];if(Array.isArray(U))return U.length===2?U:[U[0],U[1]];let{offset:X,source:q}=U;return[X,X+(typeof q==="string"?q.length:1)]}function OQ(U){let X="",q=!1,Z=!1;for(let Q=0;Q<U.length;++Q){let G=U[Q];switch(G[0]){case"#":X+=(X===""?"":Z?`
98
+ `;X+=1,Z=U[X+1]}if(!q)q=" ";return{fold:q,offset:X}}var Dz={"0":"\x00",a:"\x07",b:"\b",e:"\x1B",f:"\f",n:`
99
+ `,r:"\r",t:"\t",v:"\v",N:"…",_:" ",L:"\u2028",P:"\u2029"," ":" ",'"':'"',"/":"/","\\":"\\","\t":"\t"};function Mz(U,X,q,Z){let Q=U.substr(X,q),Y=Q.length===q&&/^[0-9a-fA-F]+$/.test(Q)?parseInt(Q,16):NaN;if(isNaN(Y)){let J=U.substr(X-2,q+2);return Z(X-2,"BAD_DQ_ESCAPE",`Invalid escape sequence ${J}`),J}return String.fromCodePoint(Y)}Pz.resolveFlowScalar=Oz});var WQ=R((Ez)=>{var V1=k(),HQ=i(),Iz=l9(),Kz=c9();function Nz(U,X,q,Z){let{value:Q,type:G,comment:Y,range:J}=X.type==="block-scalar"?Iz.resolveBlockScalar(U,X,Z):Kz.resolveFlowScalar(X,U.options.strict,Z),H=q?U.directives.tagName(q.source,(_)=>Z(q,"TAG_RESOLVE_FAILED",_)):null,W;if(U.options.stringKeys&&U.atKey)W=U.schema[V1.SCALAR];else if(H)W=Cz(U.schema,Q,H,q,Z);else if(X.type==="scalar")W=Sz(U,Q,X,Z);else W=U.schema[V1.SCALAR];let $;try{let _=W.resolve(Q,(L)=>Z(q??X,"TAG_RESOLVE_FAILED",L),U.options);$=V1.isScalar(_)?_:new HQ.Scalar(_)}catch(_){let L=_ instanceof Error?_.message:String(_);Z(q??X,"TAG_RESOLVE_FAILED",L),$=new HQ.Scalar(Q)}if($.range=J,$.source=Q,G)$.type=G;if(H)$.tag=H;if(W.format)$.format=W.format;if(Y)$.comment=Y;return $}function Cz(U,X,q,Z,Q){if(q==="!")return U[V1.SCALAR];let G=[];for(let J of U.tags)if(!J.collection&&J.tag===q)if(J.default&&J.test)G.push(J);else return J;for(let J of G)if(J.test?.test(X))return J;let Y=U.knownTags[q];if(Y&&!Y.collection)return U.tags.push(Object.assign({},Y,{default:!1,test:void 0})),Y;return Q(Z,"TAG_RESOLVE_FAILED",`Unresolved tag: ${q}`,q!=="tag:yaml.org,2002:str"),U[V1.SCALAR]}function Sz({atKey:U,directives:X,schema:q},Z,Q,G){let Y=q.tags.find((J)=>(J.default===!0||U&&J.default==="key")&&J.test?.test(Z))||q[V1.SCALAR];if(q.compat){let J=q.compat.find((H)=>H.default&&H.test?.test(Z))??q[V1.SCALAR];if(Y.tag!==J.tag){let H=X.tagString(Y.tag),W=X.tagString(J.tag),$=`Value may be parsed as either ${H} or ${W}`;G(Q,"TAG_RESOLVE_FAILED",$,!0)}}return Y}Ez.composeScalar=Nz});var _Q=R((fz)=>{function bz(U,X,q){if(X){q??(q=X.length);for(let Z=q-1;Z>=0;--Z){let Q=X[Z];switch(Q.type){case"space":case"comment":case"newline":U-=Q.source.length;continue}Q=X[++Z];while(Q?.type==="space")U+=Q.source.length,Q=X[++Z];break}}return U}fz.emptyScalarPosition=bz});var zQ=R((pz)=>{var yz=k2(),kz=k(),vz=YQ(),$Q=WQ(),hz=e1(),xz=_Q(),uz={composeNode:LQ,composeEmptyNode:i9};function LQ(U,X,q,Z){let Q=U.atKey,{spaceBefore:G,comment:Y,anchor:J,tag:H}=q,W,$=!0;switch(X.type){case"alias":if(W=mz(U,X,Z),J||H)Z(X,"ALIAS_PROPS","An alias node must not specify any properties");break;case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":case"block-scalar":if(W=$Q.composeScalar(U,X,H,Z),J)W.anchor=J.source.substring(1);break;case"block-map":case"block-seq":case"flow-collection":if(W=vz.composeCollection(uz,U,X,q,Z),J)W.anchor=J.source.substring(1);break;default:{let _=X.type==="error"?X.message:`Unsupported token (type: ${X.type})`;Z(X,"UNEXPECTED_TOKEN",_),W=i9(U,X.offset,void 0,null,q,Z),$=!1}}if(J&&W.anchor==="")Z(J,"BAD_ALIAS","Anchor cannot be an empty string");if(Q&&U.options.stringKeys&&(!kz.isScalar(W)||typeof W.value!=="string"||W.tag&&W.tag!=="tag:yaml.org,2002:str"))Z(H??X,"NON_STRING_KEY","With stringKeys, all keys must be strings");if(G)W.spaceBefore=!0;if(Y)if(X.type==="scalar"&&X.source==="")W.comment=Y;else W.commentBefore=Y;if(U.options.keepSourceTokens&&$)W.srcToken=X;return W}function i9(U,X,q,Z,{spaceBefore:Q,comment:G,anchor:Y,tag:J,end:H},W){let $={type:"scalar",offset:xz.emptyScalarPosition(X,q,Z),indent:-1,source:""},_=$Q.composeScalar(U,$,J,W);if(Y){if(_.anchor=Y.source.substring(1),_.anchor==="")W(Y,"BAD_ALIAS","Anchor cannot be an empty string")}if(Q)_.spaceBefore=!0;if(G)_.comment=G,_.range[2]=H;return _}function mz({options:U},{offset:X,source:q,end:Z},Q){let G=new yz.Alias(q.substring(1));if(G.source==="")Q(X,"BAD_ALIAS","Alias cannot be an empty string");if(G.source.endsWith(":"))Q(X+q.length-1,"BAD_ALIAS","Alias ending in : is ambiguous",!0);let Y=X+q.length,J=hz.resolveEnd(Z,Y,U.strict,Q);if(G.range=[X,Y,J.offset],J.comment)G.comment=J.comment;return G}pz.composeEmptyNode=i9;pz.composeNode=LQ});var AQ=R((rz)=>{var cz=n2(),FQ=zQ(),iz=e1(),sz=e2();function oz(U,X,{offset:q,start:Z,value:Q,end:G},Y){let J=Object.assign({_directives:X},U),H=new cz.Document(void 0,J),W={atKey:!1,atRoot:!0,directives:H.directives,options:H.options,schema:H.schema},$=sz.resolveProps(Z,{indicator:"doc-start",next:Q??G?.[0],offset:q,onError:Y,parentIndent:0,startOnNewline:!0});if($.found){if(H.directives.docStart=!0,Q&&(Q.type==="block-map"||Q.type==="block-seq")&&!$.hasNewline)Y($.end,"MISSING_CHAR","Block collection cannot start on same line with directives-end marker")}H.contents=Q?FQ.composeNode(W,Q,$,Y):FQ.composeEmptyNode(W,$.end,Z,null,$,Y);let _=H.contents.range[2],L=iz.resolveEnd(G,_,!1,Y);if(L.comment)H.comment=L.comment;return H.range=[q,_,L.offset],H}rz.composeDoc=oz});var s9=R((qF)=>{var nz=M1("process"),tz=n4(),ez=n2(),UU=t2(),OQ=k(),UF=AQ(),XF=e1();function XU(U){if(typeof U==="number")return[U,U+1];if(Array.isArray(U))return U.length===2?U:[U[0],U[1]];let{offset:X,source:q}=U;return[X,X+(typeof q==="string"?q.length:1)]}function BQ(U){let X="",q=!1,Z=!1;for(let Q=0;Q<U.length;++Q){let G=U[Q];switch(G[0]){case"#":X+=(X===""?"":Z?`
100
100
 
101
101
  `:`
102
- `)+(G.substring(1)||" "),q=!0,Z=!1;break;case"%":if(U[Q+1]?.[0]!=="#")Q+=1;q=!1;break;default:if(!q)Z=!0;q=!1}}return{comment:X,afterEmptyLine:Z}}class BQ{constructor(U={}){this.doc=null,this.atDirectives=!1,this.prelude=[],this.errors=[],this.warnings=[],this.onError=(X,q,Z,Q)=>{let G=X6(X);if(Q)this.warnings.push(new U6.YAMLWarning(G,q,Z));else this.errors.push(new U6.YAMLParseError(G,q,Z))},this.directives=new tz.Directives({version:U.version||"1.2"}),this.options=U}decorate(U,X){let{comment:q,afterEmptyLine:Z}=OQ(this.prelude);if(q){let Q=U.contents;if(X)U.comment=U.comment?`${U.comment}
103
- ${q}`:q;else if(Z||U.directives.docStart||!Q)U.commentBefore=q;else if(VQ.isCollection(Q)&&!Q.flow&&Q.items.length>0){let G=Q.items[0];if(VQ.isPair(G))G=G.key;let Y=G.commentBefore;G.commentBefore=Y?`${q}
102
+ `)+(G.substring(1)||" "),q=!0,Z=!1;break;case"%":if(U[Q+1]?.[0]!=="#")Q+=1;q=!1;break;default:if(!q)Z=!0;q=!1}}return{comment:X,afterEmptyLine:Z}}class TQ{constructor(U={}){this.doc=null,this.atDirectives=!1,this.prelude=[],this.errors=[],this.warnings=[],this.onError=(X,q,Z,Q)=>{let G=XU(X);if(Q)this.warnings.push(new UU.YAMLWarning(G,q,Z));else this.errors.push(new UU.YAMLParseError(G,q,Z))},this.directives=new tz.Directives({version:U.version||"1.2"}),this.options=U}decorate(U,X){let{comment:q,afterEmptyLine:Z}=BQ(this.prelude);if(q){let Q=U.contents;if(X)U.comment=U.comment?`${U.comment}
103
+ ${q}`:q;else if(Z||U.directives.docStart||!Q)U.commentBefore=q;else if(OQ.isCollection(Q)&&!Q.flow&&Q.items.length>0){let G=Q.items[0];if(OQ.isPair(G))G=G.key;let Y=G.commentBefore;G.commentBefore=Y?`${q}
104
104
  ${Y}`:q}else{let G=Q.commentBefore;Q.commentBefore=G?`${q}
105
- ${G}`:q}}if(X)Array.prototype.push.apply(U.errors,this.errors),Array.prototype.push.apply(U.warnings,this.warnings);else U.errors=this.errors,U.warnings=this.warnings;this.prelude=[],this.errors=[],this.warnings=[]}streamInfo(){return{comment:OQ(this.prelude).comment,directives:this.directives,errors:this.errors,warnings:this.warnings}}*compose(U,X=!1,q=-1){for(let Z of U)yield*this.next(Z);yield*this.end(X,q)}*next(U){if(nz.env.LOG_STREAM)console.dir(U,{depth:null});switch(U.type){case"directive":this.directives.add(U.source,(X,q,Z)=>{let Q=X6(U);Q[0]+=X,this.onError(Q,"BAD_DIRECTIVE",q,Z)}),this.prelude.push(U.source),this.atDirectives=!0;break;case"document":{let X=UF.composeDoc(this.options,this.directives,U,this.onError);if(this.atDirectives&&!X.directives.docStart)this.onError(U,"MISSING_CHAR","Missing directives-end/doc-start indicator line");if(this.decorate(X,!1),this.doc)yield this.doc;this.doc=X,this.atDirectives=!1;break}case"byte-order-mark":case"space":break;case"comment":case"newline":this.prelude.push(U.source);break;case"error":{let X=U.source?`${U.message}: ${JSON.stringify(U.source)}`:U.message,q=new U6.YAMLParseError(X6(U),"UNEXPECTED_TOKEN",X);if(this.atDirectives||!this.doc)this.errors.push(q);else this.doc.errors.push(q);break}case"doc-end":{if(!this.doc){this.errors.push(new U6.YAMLParseError(X6(U),"UNEXPECTED_TOKEN","Unexpected doc-end without preceding document"));break}this.doc.directives.docEnd=!0;let X=XF.resolveEnd(U.end,U.offset+U.source.length,this.doc.options.strict,this.onError);if(this.decorate(this.doc,!0),X.comment){let q=this.doc.comment;this.doc.comment=q?`${q}
106
- ${X.comment}`:X.comment}this.doc.range[2]=X.offset;break}default:this.errors.push(new U6.YAMLParseError(X6(U),"UNEXPECTED_TOKEN",`Unsupported token ${U.type}`))}}*end(U=!1,X=-1){if(this.doc)this.decorate(this.doc,!0),yield this.doc,this.doc=null;else if(U){let q=Object.assign({_directives:this.directives},this.options),Z=new ez.Document(void 0,q);if(this.atDirectives)this.onError(X,"MISSING_CHAR","Missing directives-end indicator line");Z.range=[0,X,X],this.decorate(Z,!1),yield Z}}}qF.Composer=BQ});var RQ=D(($F)=>{var QF=l9(),GF=c9(),YF=t2(),TQ=u2();function JF(U,X=!0,q){if(U){let Z=(Q,G,Y)=>{let J=typeof Q==="number"?Q:Array.isArray(Q)?Q[0]:Q.offset;if(q)q(J,G,Y);else throw new YF.YAMLParseError([J,J+1],G,Y)};switch(U.type){case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":return GF.resolveFlowScalar(U,X,Z);case"block-scalar":return QF.resolveBlockScalar({options:{strict:X}},U,Z)}}return null}function HF(U,X){let{implicitKey:q=!1,indent:Z,inFlow:Q=!1,offset:G=-1,type:Y="PLAIN"}=X,J=TQ.stringifyString({type:Y,value:U},{implicitKey:q,indent:Z>0?" ".repeat(Z):"",inFlow:Q,options:{blockQuote:!0,lineWidth:-1}}),H=X.end??[{type:"newline",offset:-1,indent:Z,source:`
105
+ ${G}`:q}}if(X)Array.prototype.push.apply(U.errors,this.errors),Array.prototype.push.apply(U.warnings,this.warnings);else U.errors=this.errors,U.warnings=this.warnings;this.prelude=[],this.errors=[],this.warnings=[]}streamInfo(){return{comment:BQ(this.prelude).comment,directives:this.directives,errors:this.errors,warnings:this.warnings}}*compose(U,X=!1,q=-1){for(let Z of U)yield*this.next(Z);yield*this.end(X,q)}*next(U){if(nz.env.LOG_STREAM)console.dir(U,{depth:null});switch(U.type){case"directive":this.directives.add(U.source,(X,q,Z)=>{let Q=XU(U);Q[0]+=X,this.onError(Q,"BAD_DIRECTIVE",q,Z)}),this.prelude.push(U.source),this.atDirectives=!0;break;case"document":{let X=UF.composeDoc(this.options,this.directives,U,this.onError);if(this.atDirectives&&!X.directives.docStart)this.onError(U,"MISSING_CHAR","Missing directives-end/doc-start indicator line");if(this.decorate(X,!1),this.doc)yield this.doc;this.doc=X,this.atDirectives=!1;break}case"byte-order-mark":case"space":break;case"comment":case"newline":this.prelude.push(U.source);break;case"error":{let X=U.source?`${U.message}: ${JSON.stringify(U.source)}`:U.message,q=new UU.YAMLParseError(XU(U),"UNEXPECTED_TOKEN",X);if(this.atDirectives||!this.doc)this.errors.push(q);else this.doc.errors.push(q);break}case"doc-end":{if(!this.doc){this.errors.push(new UU.YAMLParseError(XU(U),"UNEXPECTED_TOKEN","Unexpected doc-end without preceding document"));break}this.doc.directives.docEnd=!0;let X=XF.resolveEnd(U.end,U.offset+U.source.length,this.doc.options.strict,this.onError);if(this.decorate(this.doc,!0),X.comment){let q=this.doc.comment;this.doc.comment=q?`${q}
106
+ ${X.comment}`:X.comment}this.doc.range[2]=X.offset;break}default:this.errors.push(new UU.YAMLParseError(XU(U),"UNEXPECTED_TOKEN",`Unsupported token ${U.type}`))}}*end(U=!1,X=-1){if(this.doc)this.decorate(this.doc,!0),yield this.doc,this.doc=null;else if(U){let q=Object.assign({_directives:this.directives},this.options),Z=new ez.Document(void 0,q);if(this.atDirectives)this.onError(X,"MISSING_CHAR","Missing directives-end indicator line");Z.range=[0,X,X],this.decorate(Z,!1),yield Z}}}qF.Composer=TQ});var DQ=R(($F)=>{var QF=l9(),GF=c9(),YF=t2(),VQ=u2();function JF(U,X=!0,q){if(U){let Z=(Q,G,Y)=>{let J=typeof Q==="number"?Q:Array.isArray(Q)?Q[0]:Q.offset;if(q)q(J,G,Y);else throw new YF.YAMLParseError([J,J+1],G,Y)};switch(U.type){case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":return GF.resolveFlowScalar(U,X,Z);case"block-scalar":return QF.resolveBlockScalar({options:{strict:X}},U,Z)}}return null}function HF(U,X){let{implicitKey:q=!1,indent:Z,inFlow:Q=!1,offset:G=-1,type:Y="PLAIN"}=X,J=VQ.stringifyString({type:Y,value:U},{implicitKey:q,indent:Z>0?" ".repeat(Z):"",inFlow:Q,options:{blockQuote:!0,lineWidth:-1}}),H=X.end??[{type:"newline",offset:-1,indent:Z,source:`
107
107
  `}];switch(J[0]){case"|":case">":{let W=J.indexOf(`
108
108
  `),$=J.substring(0,W),_=J.substring(W+1)+`
109
- `,L=[{type:"block-scalar-header",offset:G,indent:Z,source:$}];if(!DQ(L,H))L.push({type:"newline",offset:-1,indent:Z,source:`
110
- `});return{type:"block-scalar",offset:G,indent:Z,props:L,source:_}}case'"':return{type:"double-quoted-scalar",offset:G,indent:Z,source:J,end:H};case"'":return{type:"single-quoted-scalar",offset:G,indent:Z,source:J,end:H};default:return{type:"scalar",offset:G,indent:Z,source:J,end:H}}}function WF(U,X,q={}){let{afterKey:Z=!1,implicitKey:Q=!1,inFlow:G=!1,type:Y}=q,J="indent"in U?U.indent:null;if(Z&&typeof J==="number")J+=2;if(!Y)switch(U.type){case"single-quoted-scalar":Y="QUOTE_SINGLE";break;case"double-quoted-scalar":Y="QUOTE_DOUBLE";break;case"block-scalar":{let W=U.props[0];if(W.type!=="block-scalar-header")throw Error("Invalid block scalar header");Y=W.source[0]===">"?"BLOCK_FOLDED":"BLOCK_LITERAL";break}default:Y="PLAIN"}let H=TQ.stringifyString({type:Y,value:X},{implicitKey:Q||J===null,indent:J!==null&&J>0?" ".repeat(J):"",inFlow:G,options:{blockQuote:!0,lineWidth:-1}});switch(H[0]){case"|":case">":_F(U,H);break;case'"':o9(U,H,"double-quoted-scalar");break;case"'":o9(U,H,"single-quoted-scalar");break;default:o9(U,H,"scalar")}}function _F(U,X){let q=X.indexOf(`
109
+ `,L=[{type:"block-scalar-header",offset:G,indent:Z,source:$}];if(!RQ(L,H))L.push({type:"newline",offset:-1,indent:Z,source:`
110
+ `});return{type:"block-scalar",offset:G,indent:Z,props:L,source:_}}case'"':return{type:"double-quoted-scalar",offset:G,indent:Z,source:J,end:H};case"'":return{type:"single-quoted-scalar",offset:G,indent:Z,source:J,end:H};default:return{type:"scalar",offset:G,indent:Z,source:J,end:H}}}function WF(U,X,q={}){let{afterKey:Z=!1,implicitKey:Q=!1,inFlow:G=!1,type:Y}=q,J="indent"in U?U.indent:null;if(Z&&typeof J==="number")J+=2;if(!Y)switch(U.type){case"single-quoted-scalar":Y="QUOTE_SINGLE";break;case"double-quoted-scalar":Y="QUOTE_DOUBLE";break;case"block-scalar":{let W=U.props[0];if(W.type!=="block-scalar-header")throw Error("Invalid block scalar header");Y=W.source[0]===">"?"BLOCK_FOLDED":"BLOCK_LITERAL";break}default:Y="PLAIN"}let H=VQ.stringifyString({type:Y,value:X},{implicitKey:Q||J===null,indent:J!==null&&J>0?" ".repeat(J):"",inFlow:G,options:{blockQuote:!0,lineWidth:-1}});switch(H[0]){case"|":case">":_F(U,H);break;case'"':o9(U,H,"double-quoted-scalar");break;case"'":o9(U,H,"single-quoted-scalar");break;default:o9(U,H,"scalar")}}function _F(U,X){let q=X.indexOf(`
111
111
  `),Z=X.substring(0,q),Q=X.substring(q+1)+`
112
- `;if(U.type==="block-scalar"){let G=U.props[0];if(G.type!=="block-scalar-header")throw Error("Invalid block scalar header");G.source=Z,U.source=Q}else{let{offset:G}=U,Y="indent"in U?U.indent:-1,J=[{type:"block-scalar-header",offset:G,indent:Y,source:Z}];if(!DQ(J,"end"in U?U.end:void 0))J.push({type:"newline",offset:-1,indent:Y,source:`
113
- `});for(let H of Object.keys(U))if(H!=="type"&&H!=="offset")delete U[H];Object.assign(U,{type:"block-scalar",indent:Y,props:J,source:Q})}}function DQ(U,X){if(X)for(let q of X)switch(q.type){case"space":case"comment":U.push(q);break;case"newline":return U.push(q),!0}return!1}function o9(U,X,q){switch(U.type){case"scalar":case"double-quoted-scalar":case"single-quoted-scalar":U.type=q,U.source=X;break;case"block-scalar":{let Z=U.props.slice(1),Q=X.length;if(U.props[0].type==="block-scalar-header")Q-=U.props[0].source.length;for(let G of Z)G.offset+=Q;delete U.props,Object.assign(U,{type:q,source:X,end:Z});break}case"block-map":case"block-seq":{let Q={type:"newline",offset:U.offset+X.length,indent:U.indent,source:`
114
- `};delete U.items,Object.assign(U,{type:q,source:X,end:[Q]});break}default:{let Z="indent"in U?U.indent:-1,Q="end"in U&&Array.isArray(U.end)?U.end.filter((G)=>G.type==="space"||G.type==="comment"||G.type==="newline"):[];for(let G of Object.keys(U))if(G!=="type"&&G!=="offset")delete U[G];Object.assign(U,{type:q,indent:Z,source:X,end:Q})}}}$F.createScalarToken=HF;$F.resolveAsScalar=JF;$F.setScalarValue=WF});var MQ=D((VF)=>{var AF=(U)=>("type"in U)?PU(U):MU(U);function PU(U){switch(U.type){case"block-scalar":{let X="";for(let q of U.props)X+=PU(q);return X+U.source}case"block-map":case"block-seq":{let X="";for(let q of U.items)X+=MU(q);return X}case"flow-collection":{let X=U.start.source;for(let q of U.items)X+=MU(q);for(let q of U.end)X+=q.source;return X}case"document":{let X=MU(U);if(U.end)for(let q of U.end)X+=q.source;return X}default:{let X=U.source;if("end"in U&&U.end)for(let q of U.end)X+=q.source;return X}}}function MU({start:U,key:X,sep:q,value:Z}){let Q="";for(let G of U)Q+=G.source;if(X)Q+=PU(X);if(q)for(let G of q)Q+=G.source;if(Z)Q+=PU(Z);return Q}VF.stringify=AF});var IQ=D((TF)=>{var r9=Symbol("break visit"),BF=Symbol("skip children"),PQ=Symbol("remove item");function D1(U,X){if("type"in U&&U.type==="document")U={start:U.start,value:U.value};wQ(Object.freeze([]),U,X)}D1.BREAK=r9;D1.SKIP=BF;D1.REMOVE=PQ;D1.itemAtPath=(U,X)=>{let q=U;for(let[Z,Q]of X){let G=q?.[Z];if(G&&"items"in G)q=G.items[Q];else return}return q};D1.parentCollection=(U,X)=>{let q=D1.itemAtPath(U,X.slice(0,-1)),Z=X[X.length-1][0],Q=q?.[Z];if(Q&&"items"in Q)return Q;throw Error("Parent collection not found")};function wQ(U,X,q){let Z=q(X,U);if(typeof Z==="symbol")return Z;for(let Q of["key","value"]){let G=X[Q];if(G&&"items"in G){for(let Y=0;Y<G.items.length;++Y){let J=wQ(Object.freeze(U.concat([[Q,Y]])),G.items[Y],q);if(typeof J==="number")Y=J-1;else if(J===r9)return r9;else if(J===PQ)G.items.splice(Y,1),Y-=1}if(typeof Z==="function"&&Q==="key")Z=Z(X,U)}}return typeof Z==="function"?Z(X,U):Z}TF.visit=D1});var wU=D((NF)=>{var a9=RQ(),RF=MQ(),MF=IQ(),n9="\uFEFF",t9="\x02",e9="\x18",UX="\x1F",PF=(U)=>!!U&&("items"in U),wF=(U)=>!!U&&(U.type==="scalar"||U.type==="single-quoted-scalar"||U.type==="double-quoted-scalar"||U.type==="block-scalar");function IF(U){switch(U){case n9:return"<BOM>";case t9:return"<DOC>";case e9:return"<FLOW_END>";case UX:return"<SCALAR>";default:return JSON.stringify(U)}}function KF(U){switch(U){case n9:return"byte-order-mark";case t9:return"doc-mode";case e9:return"flow-error-end";case UX:return"scalar";case"---":return"doc-start";case"...":return"doc-end";case"":case`
112
+ `;if(U.type==="block-scalar"){let G=U.props[0];if(G.type!=="block-scalar-header")throw Error("Invalid block scalar header");G.source=Z,U.source=Q}else{let{offset:G}=U,Y="indent"in U?U.indent:-1,J=[{type:"block-scalar-header",offset:G,indent:Y,source:Z}];if(!RQ(J,"end"in U?U.end:void 0))J.push({type:"newline",offset:-1,indent:Y,source:`
113
+ `});for(let H of Object.keys(U))if(H!=="type"&&H!=="offset")delete U[H];Object.assign(U,{type:"block-scalar",indent:Y,props:J,source:Q})}}function RQ(U,X){if(X)for(let q of X)switch(q.type){case"space":case"comment":U.push(q);break;case"newline":return U.push(q),!0}return!1}function o9(U,X,q){switch(U.type){case"scalar":case"double-quoted-scalar":case"single-quoted-scalar":U.type=q,U.source=X;break;case"block-scalar":{let Z=U.props.slice(1),Q=X.length;if(U.props[0].type==="block-scalar-header")Q-=U.props[0].source.length;for(let G of Z)G.offset+=Q;delete U.props,Object.assign(U,{type:q,source:X,end:Z});break}case"block-map":case"block-seq":{let Q={type:"newline",offset:U.offset+X.length,indent:U.indent,source:`
114
+ `};delete U.items,Object.assign(U,{type:q,source:X,end:[Q]});break}default:{let Z="indent"in U?U.indent:-1,Q="end"in U&&Array.isArray(U.end)?U.end.filter((G)=>G.type==="space"||G.type==="comment"||G.type==="newline"):[];for(let G of Object.keys(U))if(G!=="type"&&G!=="offset")delete U[G];Object.assign(U,{type:q,indent:Z,source:X,end:Q})}}}$F.createScalarToken=HF;$F.resolveAsScalar=JF;$F.setScalarValue=WF});var MQ=R((OF)=>{var AF=(U)=>("type"in U)?P6(U):M6(U);function P6(U){switch(U.type){case"block-scalar":{let X="";for(let q of U.props)X+=P6(q);return X+U.source}case"block-map":case"block-seq":{let X="";for(let q of U.items)X+=M6(q);return X}case"flow-collection":{let X=U.start.source;for(let q of U.items)X+=M6(q);for(let q of U.end)X+=q.source;return X}case"document":{let X=M6(U);if(U.end)for(let q of U.end)X+=q.source;return X}default:{let X=U.source;if("end"in U&&U.end)for(let q of U.end)X+=q.source;return X}}}function M6({start:U,key:X,sep:q,value:Z}){let Q="";for(let G of U)Q+=G.source;if(X)Q+=P6(X);if(q)for(let G of q)Q+=G.source;if(Z)Q+=P6(Z);return Q}OF.stringify=AF});var IQ=R((VF)=>{var r9=Symbol("break visit"),TF=Symbol("skip children"),PQ=Symbol("remove item");function R1(U,X){if("type"in U&&U.type==="document")U={start:U.start,value:U.value};wQ(Object.freeze([]),U,X)}R1.BREAK=r9;R1.SKIP=TF;R1.REMOVE=PQ;R1.itemAtPath=(U,X)=>{let q=U;for(let[Z,Q]of X){let G=q?.[Z];if(G&&"items"in G)q=G.items[Q];else return}return q};R1.parentCollection=(U,X)=>{let q=R1.itemAtPath(U,X.slice(0,-1)),Z=X[X.length-1][0],Q=q?.[Z];if(Q&&"items"in Q)return Q;throw Error("Parent collection not found")};function wQ(U,X,q){let Z=q(X,U);if(typeof Z==="symbol")return Z;for(let Q of["key","value"]){let G=X[Q];if(G&&"items"in G){for(let Y=0;Y<G.items.length;++Y){let J=wQ(Object.freeze(U.concat([[Q,Y]])),G.items[Y],q);if(typeof J==="number")Y=J-1;else if(J===r9)return r9;else if(J===PQ)G.items.splice(Y,1),Y-=1}if(typeof Z==="function"&&Q==="key")Z=Z(X,U)}}return typeof Z==="function"?Z(X,U):Z}VF.visit=R1});var w6=R((NF)=>{var a9=DQ(),DF=MQ(),MF=IQ(),n9="\uFEFF",t9="\x02",e9="\x18",UX="\x1F",PF=(U)=>!!U&&("items"in U),wF=(U)=>!!U&&(U.type==="scalar"||U.type==="single-quoted-scalar"||U.type==="double-quoted-scalar"||U.type==="block-scalar");function IF(U){switch(U){case n9:return"<BOM>";case t9:return"<DOC>";case e9:return"<FLOW_END>";case UX:return"<SCALAR>";default:return JSON.stringify(U)}}function KF(U){switch(U){case n9:return"byte-order-mark";case t9:return"doc-mode";case e9:return"flow-error-end";case UX:return"scalar";case"---":return"doc-start";case"...":return"doc-end";case"":case`
115
115
  `:case`\r
116
- `:return"newline";case"-":return"seq-item-ind";case"?":return"explicit-key-ind";case":":return"map-value-ind";case"{":return"flow-map-start";case"}":return"flow-map-end";case"[":return"flow-seq-start";case"]":return"flow-seq-end";case",":return"comma"}switch(U[0]){case" ":case"\t":return"space";case"#":return"comment";case"%":return"directive-line";case"*":return"alias";case"&":return"anchor";case"!":return"tag";case"'":return"single-quoted-scalar";case'"':return"double-quoted-scalar";case"|":case">":return"block-scalar-header"}return null}NF.createScalarToken=a9.createScalarToken;NF.resolveAsScalar=a9.resolveAsScalar;NF.setScalarValue=a9.setScalarValue;NF.stringify=RF.stringify;NF.visit=MF.visit;NF.BOM=n9;NF.DOCUMENT=t9;NF.FLOW_END=e9;NF.SCALAR=UX;NF.isCollection=PF;NF.isScalar=wF;NF.prettyToken=IF;NF.tokenType=KF});var qX=D((lF)=>{var q6=wU();function K0(U){switch(U){case void 0:case" ":case`
117
- `:case"\r":case"\t":return!0;default:return!1}}var KQ=new Set("0123456789ABCDEFabcdef"),mF=new Set("0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-#;/?:@&=+$_.!~*'()"),IU=new Set(",[]{}"),pF=new Set(` ,[]{}
116
+ `:return"newline";case"-":return"seq-item-ind";case"?":return"explicit-key-ind";case":":return"map-value-ind";case"{":return"flow-map-start";case"}":return"flow-map-end";case"[":return"flow-seq-start";case"]":return"flow-seq-end";case",":return"comma"}switch(U[0]){case" ":case"\t":return"space";case"#":return"comment";case"%":return"directive-line";case"*":return"alias";case"&":return"anchor";case"!":return"tag";case"'":return"single-quoted-scalar";case'"':return"double-quoted-scalar";case"|":case">":return"block-scalar-header"}return null}NF.createScalarToken=a9.createScalarToken;NF.resolveAsScalar=a9.resolveAsScalar;NF.setScalarValue=a9.setScalarValue;NF.stringify=DF.stringify;NF.visit=MF.visit;NF.BOM=n9;NF.DOCUMENT=t9;NF.FLOW_END=e9;NF.SCALAR=UX;NF.isCollection=PF;NF.isScalar=wF;NF.prettyToken=IF;NF.tokenType=KF});var qX=R((lF)=>{var qU=w6();function K0(U){switch(U){case void 0:case" ":case`
117
+ `:case"\r":case"\t":return!0;default:return!1}}var KQ=new Set("0123456789ABCDEFabcdef"),mF=new Set("0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-#;/?:@&=+$_.!~*'()"),I6=new Set(",[]{}"),pF=new Set(` ,[]{}
118
118
  \r `),XX=(U)=>!U||pF.has(U);class NQ{constructor(){this.atEnd=!1,this.blockScalarIndent=-1,this.blockScalarKeep=!1,this.buffer="",this.flowKey=!1,this.flowLevel=0,this.indentNext=0,this.indentValue=0,this.lineEndPos=null,this.next=null,this.pos=0}*lex(U,X=!1){if(U){if(typeof U!=="string")throw TypeError("source is not a string");this.buffer=this.buffer?this.buffer+U:U,this.lineEndPos=null}this.atEnd=!X;let q=this.next??"stream";while(q&&(X||this.hasChars(1)))q=yield*this.parseNext(q)}atLineEnd(){let U=this.pos,X=this.buffer[U];while(X===" "||X==="\t")X=this.buffer[++U];if(!X||X==="#"||X===`
119
119
  `)return!0;if(X==="\r")return this.buffer[U+1]===`
120
120
  `;return!1}charAt(U){return this.buffer[this.pos+U]}continueScalar(U){let X=this.buffer[U];if(this.indentNext>0){let q=0;while(X===" ")X=this.buffer[++q+U];if(X==="\r"){let Z=this.buffer[q+U+1];if(Z===`
121
121
  `||!Z&&!this.atEnd)return U+q+1}return X===`
122
122
  `||q>=this.indentNext||!X&&!this.atEnd?U+q:-1}if(X==="-"||X==="."){let q=this.buffer.substr(U,3);if((q==="---"||q==="...")&&K0(this.buffer[U+3]))return-1}return U}getLine(){let U=this.lineEndPos;if(typeof U!=="number"||U!==-1&&U<this.pos)U=this.buffer.indexOf(`
123
- `,this.pos),this.lineEndPos=U;if(U===-1)return this.atEnd?this.buffer.substring(this.pos):null;if(this.buffer[U-1]==="\r")U-=1;return this.buffer.substring(this.pos,U)}hasChars(U){return this.pos+U<=this.buffer.length}setNext(U){return this.buffer=this.buffer.substring(this.pos),this.pos=0,this.lineEndPos=null,this.next=U,null}peek(U){return this.buffer.substr(this.pos,U)}*parseNext(U){switch(U){case"stream":return yield*this.parseStream();case"line-start":return yield*this.parseLineStart();case"block-start":return yield*this.parseBlockStart();case"doc":return yield*this.parseDocument();case"flow":return yield*this.parseFlowCollection();case"quoted-scalar":return yield*this.parseQuotedScalar();case"block-scalar":return yield*this.parseBlockScalar();case"plain-scalar":return yield*this.parsePlainScalar()}}*parseStream(){let U=this.getLine();if(U===null)return this.setNext("stream");if(U[0]===q6.BOM)yield*this.pushCount(1),U=U.substring(1);if(U[0]==="%"){let X=U.length,q=U.indexOf("#");while(q!==-1){let Q=U[q-1];if(Q===" "||Q==="\t"){X=q-1;break}else q=U.indexOf("#",q+1)}while(!0){let Q=U[X-1];if(Q===" "||Q==="\t")X-=1;else break}let Z=(yield*this.pushCount(X))+(yield*this.pushSpaces(!0));return yield*this.pushCount(U.length-Z),this.pushNewline(),"stream"}if(this.atLineEnd()){let X=yield*this.pushSpaces(!0);return yield*this.pushCount(U.length-X),yield*this.pushNewline(),"stream"}return yield q6.DOCUMENT,yield*this.parseLineStart()}*parseLineStart(){let U=this.charAt(0);if(!U&&!this.atEnd)return this.setNext("line-start");if(U==="-"||U==="."){if(!this.atEnd&&!this.hasChars(4))return this.setNext("line-start");let X=this.peek(3);if((X==="---"||X==="...")&&K0(this.charAt(3)))return yield*this.pushCount(3),this.indentValue=0,this.indentNext=0,X==="---"?"doc":"stream"}if(this.indentValue=yield*this.pushSpaces(!1),this.indentNext>this.indentValue&&!K0(this.charAt(1)))this.indentNext=this.indentValue;return yield*this.parseBlockStart()}*parseBlockStart(){let[U,X]=this.peek(2);if(!X&&!this.atEnd)return this.setNext("block-start");if((U==="-"||U==="?"||U===":")&&K0(X)){let q=(yield*this.pushCount(1))+(yield*this.pushSpaces(!0));return this.indentNext=this.indentValue+1,this.indentValue+=q,yield*this.parseBlockStart()}return"doc"}*parseDocument(){yield*this.pushSpaces(!0);let U=this.getLine();if(U===null)return this.setNext("doc");let X=yield*this.pushIndicators();switch(U[X]){case"#":yield*this.pushCount(U.length-X);case void 0:return yield*this.pushNewline(),yield*this.parseLineStart();case"{":case"[":return yield*this.pushCount(1),this.flowKey=!1,this.flowLevel=1,"flow";case"}":case"]":return yield*this.pushCount(1),"doc";case"*":return yield*this.pushUntil(XX),"doc";case'"':case"'":return yield*this.parseQuotedScalar();case"|":case">":return X+=yield*this.parseBlockScalarHeader(),X+=yield*this.pushSpaces(!0),yield*this.pushCount(U.length-X),yield*this.pushNewline(),yield*this.parseBlockScalar();default:return yield*this.parsePlainScalar()}}*parseFlowCollection(){let U,X,q=-1;do{if(U=yield*this.pushNewline(),U>0)X=yield*this.pushSpaces(!1),this.indentValue=q=X;else X=0;X+=yield*this.pushSpaces(!0)}while(U+X>0);let Z=this.getLine();if(Z===null)return this.setNext("flow");if(q!==-1&&q<this.indentNext&&Z[0]!=="#"||q===0&&(Z.startsWith("---")||Z.startsWith("..."))&&K0(Z[3])){if(!(q===this.indentNext-1&&this.flowLevel===1&&(Z[0]==="]"||Z[0]==="}")))return this.flowLevel=0,yield q6.FLOW_END,yield*this.parseLineStart()}let Q=0;while(Z[Q]===",")Q+=yield*this.pushCount(1),Q+=yield*this.pushSpaces(!0),this.flowKey=!1;switch(Q+=yield*this.pushIndicators(),Z[Q]){case void 0:return"flow";case"#":return yield*this.pushCount(Z.length-Q),"flow";case"{":case"[":return yield*this.pushCount(1),this.flowKey=!1,this.flowLevel+=1,"flow";case"}":case"]":return yield*this.pushCount(1),this.flowKey=!0,this.flowLevel-=1,this.flowLevel?"flow":"doc";case"*":return yield*this.pushUntil(XX),"flow";case'"':case"'":return this.flowKey=!0,yield*this.parseQuotedScalar();case":":{let G=this.charAt(1);if(this.flowKey||K0(G)||G===",")return this.flowKey=!1,yield*this.pushCount(1),yield*this.pushSpaces(!0),"flow"}default:return this.flowKey=!1,yield*this.parsePlainScalar()}}*parseQuotedScalar(){let U=this.charAt(0),X=this.buffer.indexOf(U,this.pos+1);if(U==="'")while(X!==-1&&this.buffer[X+1]==="'")X=this.buffer.indexOf("'",X+2);else while(X!==-1){let Q=0;while(this.buffer[X-1-Q]==="\\")Q+=1;if(Q%2===0)break;X=this.buffer.indexOf('"',X+1)}let q=this.buffer.substring(0,X),Z=q.indexOf(`
123
+ `,this.pos),this.lineEndPos=U;if(U===-1)return this.atEnd?this.buffer.substring(this.pos):null;if(this.buffer[U-1]==="\r")U-=1;return this.buffer.substring(this.pos,U)}hasChars(U){return this.pos+U<=this.buffer.length}setNext(U){return this.buffer=this.buffer.substring(this.pos),this.pos=0,this.lineEndPos=null,this.next=U,null}peek(U){return this.buffer.substr(this.pos,U)}*parseNext(U){switch(U){case"stream":return yield*this.parseStream();case"line-start":return yield*this.parseLineStart();case"block-start":return yield*this.parseBlockStart();case"doc":return yield*this.parseDocument();case"flow":return yield*this.parseFlowCollection();case"quoted-scalar":return yield*this.parseQuotedScalar();case"block-scalar":return yield*this.parseBlockScalar();case"plain-scalar":return yield*this.parsePlainScalar()}}*parseStream(){let U=this.getLine();if(U===null)return this.setNext("stream");if(U[0]===qU.BOM)yield*this.pushCount(1),U=U.substring(1);if(U[0]==="%"){let X=U.length,q=U.indexOf("#");while(q!==-1){let Q=U[q-1];if(Q===" "||Q==="\t"){X=q-1;break}else q=U.indexOf("#",q+1)}while(!0){let Q=U[X-1];if(Q===" "||Q==="\t")X-=1;else break}let Z=(yield*this.pushCount(X))+(yield*this.pushSpaces(!0));return yield*this.pushCount(U.length-Z),this.pushNewline(),"stream"}if(this.atLineEnd()){let X=yield*this.pushSpaces(!0);return yield*this.pushCount(U.length-X),yield*this.pushNewline(),"stream"}return yield qU.DOCUMENT,yield*this.parseLineStart()}*parseLineStart(){let U=this.charAt(0);if(!U&&!this.atEnd)return this.setNext("line-start");if(U==="-"||U==="."){if(!this.atEnd&&!this.hasChars(4))return this.setNext("line-start");let X=this.peek(3);if((X==="---"||X==="...")&&K0(this.charAt(3)))return yield*this.pushCount(3),this.indentValue=0,this.indentNext=0,X==="---"?"doc":"stream"}if(this.indentValue=yield*this.pushSpaces(!1),this.indentNext>this.indentValue&&!K0(this.charAt(1)))this.indentNext=this.indentValue;return yield*this.parseBlockStart()}*parseBlockStart(){let[U,X]=this.peek(2);if(!X&&!this.atEnd)return this.setNext("block-start");if((U==="-"||U==="?"||U===":")&&K0(X)){let q=(yield*this.pushCount(1))+(yield*this.pushSpaces(!0));return this.indentNext=this.indentValue+1,this.indentValue+=q,yield*this.parseBlockStart()}return"doc"}*parseDocument(){yield*this.pushSpaces(!0);let U=this.getLine();if(U===null)return this.setNext("doc");let X=yield*this.pushIndicators();switch(U[X]){case"#":yield*this.pushCount(U.length-X);case void 0:return yield*this.pushNewline(),yield*this.parseLineStart();case"{":case"[":return yield*this.pushCount(1),this.flowKey=!1,this.flowLevel=1,"flow";case"}":case"]":return yield*this.pushCount(1),"doc";case"*":return yield*this.pushUntil(XX),"doc";case'"':case"'":return yield*this.parseQuotedScalar();case"|":case">":return X+=yield*this.parseBlockScalarHeader(),X+=yield*this.pushSpaces(!0),yield*this.pushCount(U.length-X),yield*this.pushNewline(),yield*this.parseBlockScalar();default:return yield*this.parsePlainScalar()}}*parseFlowCollection(){let U,X,q=-1;do{if(U=yield*this.pushNewline(),U>0)X=yield*this.pushSpaces(!1),this.indentValue=q=X;else X=0;X+=yield*this.pushSpaces(!0)}while(U+X>0);let Z=this.getLine();if(Z===null)return this.setNext("flow");if(q!==-1&&q<this.indentNext&&Z[0]!=="#"||q===0&&(Z.startsWith("---")||Z.startsWith("..."))&&K0(Z[3])){if(!(q===this.indentNext-1&&this.flowLevel===1&&(Z[0]==="]"||Z[0]==="}")))return this.flowLevel=0,yield qU.FLOW_END,yield*this.parseLineStart()}let Q=0;while(Z[Q]===",")Q+=yield*this.pushCount(1),Q+=yield*this.pushSpaces(!0),this.flowKey=!1;switch(Q+=yield*this.pushIndicators(),Z[Q]){case void 0:return"flow";case"#":return yield*this.pushCount(Z.length-Q),"flow";case"{":case"[":return yield*this.pushCount(1),this.flowKey=!1,this.flowLevel+=1,"flow";case"}":case"]":return yield*this.pushCount(1),this.flowKey=!0,this.flowLevel-=1,this.flowLevel?"flow":"doc";case"*":return yield*this.pushUntil(XX),"flow";case'"':case"'":return this.flowKey=!0,yield*this.parseQuotedScalar();case":":{let G=this.charAt(1);if(this.flowKey||K0(G)||G===",")return this.flowKey=!1,yield*this.pushCount(1),yield*this.pushSpaces(!0),"flow"}default:return this.flowKey=!1,yield*this.parsePlainScalar()}}*parseQuotedScalar(){let U=this.charAt(0),X=this.buffer.indexOf(U,this.pos+1);if(U==="'")while(X!==-1&&this.buffer[X+1]==="'")X=this.buffer.indexOf("'",X+2);else while(X!==-1){let Q=0;while(this.buffer[X-1-Q]==="\\")Q+=1;if(Q%2===0)break;X=this.buffer.indexOf('"',X+1)}let q=this.buffer.substring(0,X),Z=q.indexOf(`
124
124
  `,this.pos);if(Z!==-1){while(Z!==-1){let Q=this.continueScalar(Z+1);if(Q===-1)break;Z=q.indexOf(`
125
125
  `,Q)}if(Z!==-1)X=Z-(q[Z-1]==="\r"?2:1)}if(X===-1){if(!this.atEnd)return this.setNext("quoted-scalar");X=this.buffer.length}return yield*this.pushToIndex(X+1,!1),this.flowLevel?"flow":"doc"}*parseBlockScalarHeader(){this.blockScalarIndent=-1,this.blockScalarKeep=!1;let U=this.pos;while(!0){let X=this.buffer[++U];if(X==="+")this.blockScalarKeep=!0;else if(X>"0"&&X<="9")this.blockScalarIndent=Number(X)-1;else if(X!=="-")break}return yield*this.pushUntil((X)=>K0(X)||X==="#")}*parseBlockScalar(){let U=this.pos-1,X=0,q;U:for(let Q=this.pos;q=this.buffer[Q];++Q)switch(q){case" ":X+=1;break;case`
126
126
  `:U=Q,X=0;break;case"\r":{let G=this.buffer[Q+1];if(!G&&!this.atEnd)return this.setNext("block-scalar");if(G===`
127
127
  `)break}default:break U}if(!q&&!this.atEnd)return this.setNext("block-scalar");if(X>=this.indentNext){if(this.blockScalarIndent===-1)this.indentNext=X;else this.indentNext=this.blockScalarIndent+(this.indentNext===0?1:this.indentNext);do{let Q=this.continueScalar(U+1);if(Q===-1)break;U=this.buffer.indexOf(`
128
128
  `,Q)}while(U!==-1);if(U===-1){if(!this.atEnd)return this.setNext("block-scalar");U=this.buffer.length}}let Z=U+1;q=this.buffer[Z];while(q===" ")q=this.buffer[++Z];if(q==="\t"){while(q==="\t"||q===" "||q==="\r"||q===`
129
129
  `)q=this.buffer[++Z];U=Z-1}else if(!this.blockScalarKeep)do{let Q=U-1,G=this.buffer[Q];if(G==="\r")G=this.buffer[--Q];let Y=Q;while(G===" ")G=this.buffer[--Q];if(G===`
130
- `&&Q>=this.pos&&Q+1+X>Y)U=Q;else break}while(!0);return yield q6.SCALAR,yield*this.pushToIndex(U+1,!0),yield*this.parseLineStart()}*parsePlainScalar(){let U=this.flowLevel>0,X=this.pos-1,q=this.pos-1,Z;while(Z=this.buffer[++q])if(Z===":"){let Q=this.buffer[q+1];if(K0(Q)||U&&IU.has(Q))break;X=q}else if(K0(Z)){let Q=this.buffer[q+1];if(Z==="\r")if(Q===`
130
+ `&&Q>=this.pos&&Q+1+X>Y)U=Q;else break}while(!0);return yield qU.SCALAR,yield*this.pushToIndex(U+1,!0),yield*this.parseLineStart()}*parsePlainScalar(){let U=this.flowLevel>0,X=this.pos-1,q=this.pos-1,Z;while(Z=this.buffer[++q])if(Z===":"){let Q=this.buffer[q+1];if(K0(Q)||U&&I6.has(Q))break;X=q}else if(K0(Z)){let Q=this.buffer[q+1];if(Z==="\r")if(Q===`
131
131
  `)q+=1,Z=`
132
- `,Q=this.buffer[q+1];else X=q;if(Q==="#"||U&&IU.has(Q))break;if(Z===`
133
- `){let G=this.continueScalar(q+1);if(G===-1)break;q=Math.max(q,G-2)}}else{if(U&&IU.has(Z))break;X=q}if(!Z&&!this.atEnd)return this.setNext("plain-scalar");return yield q6.SCALAR,yield*this.pushToIndex(X+1,!0),U?"flow":"doc"}*pushCount(U){if(U>0)return yield this.buffer.substr(this.pos,U),this.pos+=U,U;return 0}*pushToIndex(U,X){let q=this.buffer.slice(this.pos,U);if(q)return yield q,this.pos+=q.length,q.length;else if(X)yield"";return 0}*pushIndicators(){switch(this.charAt(0)){case"!":return(yield*this.pushTag())+(yield*this.pushSpaces(!0))+(yield*this.pushIndicators());case"&":return(yield*this.pushUntil(XX))+(yield*this.pushSpaces(!0))+(yield*this.pushIndicators());case"-":case"?":case":":{let U=this.flowLevel>0,X=this.charAt(1);if(K0(X)||U&&IU.has(X)){if(!U)this.indentNext=this.indentValue+1;else if(this.flowKey)this.flowKey=!1;return(yield*this.pushCount(1))+(yield*this.pushSpaces(!0))+(yield*this.pushIndicators())}}}return 0}*pushTag(){if(this.charAt(1)==="<"){let U=this.pos+2,X=this.buffer[U];while(!K0(X)&&X!==">")X=this.buffer[++U];return yield*this.pushToIndex(X===">"?U+1:U,!1)}else{let U=this.pos+1,X=this.buffer[U];while(X)if(mF.has(X))X=this.buffer[++U];else if(X==="%"&&KQ.has(this.buffer[U+1])&&KQ.has(this.buffer[U+2]))X=this.buffer[U+=3];else break;return yield*this.pushToIndex(U,!1)}}*pushNewline(){let U=this.buffer[this.pos];if(U===`
132
+ `,Q=this.buffer[q+1];else X=q;if(Q==="#"||U&&I6.has(Q))break;if(Z===`
133
+ `){let G=this.continueScalar(q+1);if(G===-1)break;q=Math.max(q,G-2)}}else{if(U&&I6.has(Z))break;X=q}if(!Z&&!this.atEnd)return this.setNext("plain-scalar");return yield qU.SCALAR,yield*this.pushToIndex(X+1,!0),U?"flow":"doc"}*pushCount(U){if(U>0)return yield this.buffer.substr(this.pos,U),this.pos+=U,U;return 0}*pushToIndex(U,X){let q=this.buffer.slice(this.pos,U);if(q)return yield q,this.pos+=q.length,q.length;else if(X)yield"";return 0}*pushIndicators(){switch(this.charAt(0)){case"!":return(yield*this.pushTag())+(yield*this.pushSpaces(!0))+(yield*this.pushIndicators());case"&":return(yield*this.pushUntil(XX))+(yield*this.pushSpaces(!0))+(yield*this.pushIndicators());case"-":case"?":case":":{let U=this.flowLevel>0,X=this.charAt(1);if(K0(X)||U&&I6.has(X)){if(!U)this.indentNext=this.indentValue+1;else if(this.flowKey)this.flowKey=!1;return(yield*this.pushCount(1))+(yield*this.pushSpaces(!0))+(yield*this.pushIndicators())}}}return 0}*pushTag(){if(this.charAt(1)==="<"){let U=this.pos+2,X=this.buffer[U];while(!K0(X)&&X!==">")X=this.buffer[++U];return yield*this.pushToIndex(X===">"?U+1:U,!1)}else{let U=this.pos+1,X=this.buffer[U];while(X)if(mF.has(X))X=this.buffer[++U];else if(X==="%"&&KQ.has(this.buffer[U+1])&&KQ.has(this.buffer[U+2]))X=this.buffer[U+=3];else break;return yield*this.pushToIndex(U,!1)}}*pushNewline(){let U=this.buffer[this.pos];if(U===`
134
134
  `)return yield*this.pushCount(1);else if(U==="\r"&&this.charAt(1)===`
135
- `)return yield*this.pushCount(2);else return 0}*pushSpaces(U){let X=this.pos-1,q;do q=this.buffer[++X];while(q===" "||U&&q==="\t");let Z=X-this.pos;if(Z>0)yield this.buffer.substr(this.pos,Z),this.pos=X;return Z}*pushUntil(U){let X=this.pos,q=this.buffer[X];while(!U(q))q=this.buffer[++X];return yield*this.pushToIndex(X,!1)}}lF.Lexer=NQ});var ZX=D((cF)=>{class CQ{constructor(){this.lineStarts=[],this.addNewLine=(U)=>this.lineStarts.push(U),this.linePos=(U)=>{let X=0,q=this.lineStarts.length;while(X<q){let Q=X+q>>1;if(this.lineStarts[Q]<U)X=Q+1;else q=Q}if(this.lineStarts[X]===U)return{line:X+1,col:1};if(X===0)return{line:0,col:U};let Z=this.lineStarts[X-1];return{line:X,col:U-Z+1}}}}cF.LineCounter=CQ});var QX=D((rF)=>{var sF=M1("process"),SQ=wU(),oF=qX();function Q1(U,X){for(let q=0;q<U.length;++q)if(U[q].type===X)return!0;return!1}function EQ(U){for(let X=0;X<U.length;++X)switch(U[X].type){case"space":case"comment":case"newline":break;default:return X}return-1}function bQ(U){switch(U?.type){case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":case"flow-collection":return!0;default:return!1}}function KU(U){switch(U.type){case"document":return U.start;case"block-map":{let X=U.items[U.items.length-1];return X.sep??X.start}case"block-seq":return U.items[U.items.length-1].start;default:return[]}}function e1(U){if(U.length===0)return[];let X=U.length;U:while(--X>=0)switch(U[X].type){case"doc-start":case"explicit-key-ind":case"map-value-ind":case"seq-item-ind":case"newline":break U}while(U[++X]?.type==="space");return U.splice(X,U.length)}function jQ(U){if(U.start.type==="flow-seq-start"){for(let X of U.items)if(X.sep&&!X.value&&!Q1(X.start,"explicit-key-ind")&&!Q1(X.sep,"map-value-ind")){if(X.key)X.value=X.key;if(delete X.key,bQ(X.value))if(X.value.end)Array.prototype.push.apply(X.value.end,X.sep);else X.value.end=X.sep;else Array.prototype.push.apply(X.start,X.sep);delete X.sep}}}class fQ{constructor(U){this.atNewLine=!0,this.atScalar=!1,this.indent=0,this.offset=0,this.onKeyLine=!1,this.stack=[],this.source="",this.type="",this.lexer=new oF.Lexer,this.onNewLine=U}*parse(U,X=!1){if(this.onNewLine&&this.offset===0)this.onNewLine(0);for(let q of this.lexer.lex(U,X))yield*this.next(q);if(!X)yield*this.end()}*next(U){if(this.source=U,sF.env.LOG_TOKENS)console.log("|",SQ.prettyToken(U));if(this.atScalar){this.atScalar=!1,yield*this.step(),this.offset+=U.length;return}let X=SQ.tokenType(U);if(!X){let q=`Not a YAML token: ${U}`;yield*this.pop({type:"error",offset:this.offset,message:q,source:U}),this.offset+=U.length}else if(X==="scalar")this.atNewLine=!1,this.atScalar=!0,this.type="scalar";else{switch(this.type=X,yield*this.step(),X){case"newline":if(this.atNewLine=!0,this.indent=0,this.onNewLine)this.onNewLine(this.offset+U.length);break;case"space":if(this.atNewLine&&U[0]===" ")this.indent+=U.length;break;case"explicit-key-ind":case"map-value-ind":case"seq-item-ind":if(this.atNewLine)this.indent+=U.length;break;case"doc-mode":case"flow-error-end":return;default:this.atNewLine=!1}this.offset+=U.length}}*end(){while(this.stack.length>0)yield*this.pop()}get sourceToken(){return{type:this.type,offset:this.offset,indent:this.indent,source:this.source}}*step(){let U=this.peek(1);if(this.type==="doc-end"&&U?.type!=="doc-end"){while(this.stack.length>0)yield*this.pop();this.stack.push({type:"doc-end",offset:this.offset,source:this.source});return}if(!U)return yield*this.stream();switch(U.type){case"document":return yield*this.document(U);case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":return yield*this.scalar(U);case"block-scalar":return yield*this.blockScalar(U);case"block-map":return yield*this.blockMap(U);case"block-seq":return yield*this.blockSequence(U);case"flow-collection":return yield*this.flowCollection(U);case"doc-end":return yield*this.documentEnd(U)}yield*this.pop()}peek(U){return this.stack[this.stack.length-U]}*pop(U){let X=U??this.stack.pop();if(!X)yield{type:"error",offset:this.offset,source:"",message:"Tried to pop an empty stack"};else if(this.stack.length===0)yield X;else{let q=this.peek(1);if(X.type==="block-scalar")X.indent="indent"in q?q.indent:0;else if(X.type==="flow-collection"&&q.type==="document")X.indent=0;if(X.type==="flow-collection")jQ(X);switch(q.type){case"document":q.value=X;break;case"block-scalar":q.props.push(X);break;case"block-map":{let Z=q.items[q.items.length-1];if(Z.value){q.items.push({start:[],key:X,sep:[]}),this.onKeyLine=!0;return}else if(Z.sep)Z.value=X;else{Object.assign(Z,{key:X,sep:[]}),this.onKeyLine=!Z.explicitKey;return}break}case"block-seq":{let Z=q.items[q.items.length-1];if(Z.value)q.items.push({start:[],value:X});else Z.value=X;break}case"flow-collection":{let Z=q.items[q.items.length-1];if(!Z||Z.value)q.items.push({start:[],key:X,sep:[]});else if(Z.sep)Z.value=X;else Object.assign(Z,{key:X,sep:[]});return}default:yield*this.pop(),yield*this.pop(X)}if((q.type==="document"||q.type==="block-map"||q.type==="block-seq")&&(X.type==="block-map"||X.type==="block-seq")){let Z=X.items[X.items.length-1];if(Z&&!Z.sep&&!Z.value&&Z.start.length>0&&EQ(Z.start)===-1&&(X.indent===0||Z.start.every((Q)=>Q.type!=="comment"||Q.indent<X.indent))){if(q.type==="document")q.end=Z.start;else q.items.push({start:Z.start});X.items.splice(-1,1)}}}}*stream(){switch(this.type){case"directive-line":yield{type:"directive",offset:this.offset,source:this.source};return;case"byte-order-mark":case"space":case"comment":case"newline":yield this.sourceToken;return;case"doc-mode":case"doc-start":{let U={type:"document",offset:this.offset,start:[]};if(this.type==="doc-start")U.start.push(this.sourceToken);this.stack.push(U);return}}yield{type:"error",offset:this.offset,message:`Unexpected ${this.type} token in YAML stream`,source:this.source}}*document(U){if(U.value)return yield*this.lineEnd(U);switch(this.type){case"doc-start":{if(EQ(U.start)!==-1)yield*this.pop(),yield*this.step();else U.start.push(this.sourceToken);return}case"anchor":case"tag":case"space":case"comment":case"newline":U.start.push(this.sourceToken);return}let X=this.startBlockValue(U);if(X)this.stack.push(X);else yield{type:"error",offset:this.offset,message:`Unexpected ${this.type} token in YAML document`,source:this.source}}*scalar(U){if(this.type==="map-value-ind"){let X=KU(this.peek(2)),q=e1(X),Z;if(U.end)Z=U.end,Z.push(this.sourceToken),delete U.end;else Z=[this.sourceToken];let Q={type:"block-map",offset:U.offset,indent:U.indent,items:[{start:q,key:U,sep:Z}]};this.onKeyLine=!0,this.stack[this.stack.length-1]=Q}else yield*this.lineEnd(U)}*blockScalar(U){switch(this.type){case"space":case"comment":case"newline":U.props.push(this.sourceToken);return;case"scalar":if(U.source=this.source,this.atNewLine=!0,this.indent=0,this.onNewLine){let X=this.source.indexOf(`
135
+ `)return yield*this.pushCount(2);else return 0}*pushSpaces(U){let X=this.pos-1,q;do q=this.buffer[++X];while(q===" "||U&&q==="\t");let Z=X-this.pos;if(Z>0)yield this.buffer.substr(this.pos,Z),this.pos=X;return Z}*pushUntil(U){let X=this.pos,q=this.buffer[X];while(!U(q))q=this.buffer[++X];return yield*this.pushToIndex(X,!1)}}lF.Lexer=NQ});var ZX=R((cF)=>{class CQ{constructor(){this.lineStarts=[],this.addNewLine=(U)=>this.lineStarts.push(U),this.linePos=(U)=>{let X=0,q=this.lineStarts.length;while(X<q){let Q=X+q>>1;if(this.lineStarts[Q]<U)X=Q+1;else q=Q}if(this.lineStarts[X]===U)return{line:X+1,col:1};if(X===0)return{line:0,col:U};let Z=this.lineStarts[X-1];return{line:X,col:U-Z+1}}}}cF.LineCounter=CQ});var QX=R((rF)=>{var sF=M1("process"),SQ=w6(),oF=qX();function Q1(U,X){for(let q=0;q<U.length;++q)if(U[q].type===X)return!0;return!1}function EQ(U){for(let X=0;X<U.length;++X)switch(U[X].type){case"space":case"comment":case"newline":break;default:return X}return-1}function bQ(U){switch(U?.type){case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":case"flow-collection":return!0;default:return!1}}function K6(U){switch(U.type){case"document":return U.start;case"block-map":{let X=U.items[U.items.length-1];return X.sep??X.start}case"block-seq":return U.items[U.items.length-1].start;default:return[]}}function U2(U){if(U.length===0)return[];let X=U.length;U:while(--X>=0)switch(U[X].type){case"doc-start":case"explicit-key-ind":case"map-value-ind":case"seq-item-ind":case"newline":break U}while(U[++X]?.type==="space");return U.splice(X,U.length)}function jQ(U){if(U.start.type==="flow-seq-start"){for(let X of U.items)if(X.sep&&!X.value&&!Q1(X.start,"explicit-key-ind")&&!Q1(X.sep,"map-value-ind")){if(X.key)X.value=X.key;if(delete X.key,bQ(X.value))if(X.value.end)Array.prototype.push.apply(X.value.end,X.sep);else X.value.end=X.sep;else Array.prototype.push.apply(X.start,X.sep);delete X.sep}}}class fQ{constructor(U){this.atNewLine=!0,this.atScalar=!1,this.indent=0,this.offset=0,this.onKeyLine=!1,this.stack=[],this.source="",this.type="",this.lexer=new oF.Lexer,this.onNewLine=U}*parse(U,X=!1){if(this.onNewLine&&this.offset===0)this.onNewLine(0);for(let q of this.lexer.lex(U,X))yield*this.next(q);if(!X)yield*this.end()}*next(U){if(this.source=U,sF.env.LOG_TOKENS)console.log("|",SQ.prettyToken(U));if(this.atScalar){this.atScalar=!1,yield*this.step(),this.offset+=U.length;return}let X=SQ.tokenType(U);if(!X){let q=`Not a YAML token: ${U}`;yield*this.pop({type:"error",offset:this.offset,message:q,source:U}),this.offset+=U.length}else if(X==="scalar")this.atNewLine=!1,this.atScalar=!0,this.type="scalar";else{switch(this.type=X,yield*this.step(),X){case"newline":if(this.atNewLine=!0,this.indent=0,this.onNewLine)this.onNewLine(this.offset+U.length);break;case"space":if(this.atNewLine&&U[0]===" ")this.indent+=U.length;break;case"explicit-key-ind":case"map-value-ind":case"seq-item-ind":if(this.atNewLine)this.indent+=U.length;break;case"doc-mode":case"flow-error-end":return;default:this.atNewLine=!1}this.offset+=U.length}}*end(){while(this.stack.length>0)yield*this.pop()}get sourceToken(){return{type:this.type,offset:this.offset,indent:this.indent,source:this.source}}*step(){let U=this.peek(1);if(this.type==="doc-end"&&U?.type!=="doc-end"){while(this.stack.length>0)yield*this.pop();this.stack.push({type:"doc-end",offset:this.offset,source:this.source});return}if(!U)return yield*this.stream();switch(U.type){case"document":return yield*this.document(U);case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":return yield*this.scalar(U);case"block-scalar":return yield*this.blockScalar(U);case"block-map":return yield*this.blockMap(U);case"block-seq":return yield*this.blockSequence(U);case"flow-collection":return yield*this.flowCollection(U);case"doc-end":return yield*this.documentEnd(U)}yield*this.pop()}peek(U){return this.stack[this.stack.length-U]}*pop(U){let X=U??this.stack.pop();if(!X)yield{type:"error",offset:this.offset,source:"",message:"Tried to pop an empty stack"};else if(this.stack.length===0)yield X;else{let q=this.peek(1);if(X.type==="block-scalar")X.indent="indent"in q?q.indent:0;else if(X.type==="flow-collection"&&q.type==="document")X.indent=0;if(X.type==="flow-collection")jQ(X);switch(q.type){case"document":q.value=X;break;case"block-scalar":q.props.push(X);break;case"block-map":{let Z=q.items[q.items.length-1];if(Z.value){q.items.push({start:[],key:X,sep:[]}),this.onKeyLine=!0;return}else if(Z.sep)Z.value=X;else{Object.assign(Z,{key:X,sep:[]}),this.onKeyLine=!Z.explicitKey;return}break}case"block-seq":{let Z=q.items[q.items.length-1];if(Z.value)q.items.push({start:[],value:X});else Z.value=X;break}case"flow-collection":{let Z=q.items[q.items.length-1];if(!Z||Z.value)q.items.push({start:[],key:X,sep:[]});else if(Z.sep)Z.value=X;else Object.assign(Z,{key:X,sep:[]});return}default:yield*this.pop(),yield*this.pop(X)}if((q.type==="document"||q.type==="block-map"||q.type==="block-seq")&&(X.type==="block-map"||X.type==="block-seq")){let Z=X.items[X.items.length-1];if(Z&&!Z.sep&&!Z.value&&Z.start.length>0&&EQ(Z.start)===-1&&(X.indent===0||Z.start.every((Q)=>Q.type!=="comment"||Q.indent<X.indent))){if(q.type==="document")q.end=Z.start;else q.items.push({start:Z.start});X.items.splice(-1,1)}}}}*stream(){switch(this.type){case"directive-line":yield{type:"directive",offset:this.offset,source:this.source};return;case"byte-order-mark":case"space":case"comment":case"newline":yield this.sourceToken;return;case"doc-mode":case"doc-start":{let U={type:"document",offset:this.offset,start:[]};if(this.type==="doc-start")U.start.push(this.sourceToken);this.stack.push(U);return}}yield{type:"error",offset:this.offset,message:`Unexpected ${this.type} token in YAML stream`,source:this.source}}*document(U){if(U.value)return yield*this.lineEnd(U);switch(this.type){case"doc-start":{if(EQ(U.start)!==-1)yield*this.pop(),yield*this.step();else U.start.push(this.sourceToken);return}case"anchor":case"tag":case"space":case"comment":case"newline":U.start.push(this.sourceToken);return}let X=this.startBlockValue(U);if(X)this.stack.push(X);else yield{type:"error",offset:this.offset,message:`Unexpected ${this.type} token in YAML document`,source:this.source}}*scalar(U){if(this.type==="map-value-ind"){let X=K6(this.peek(2)),q=U2(X),Z;if(U.end)Z=U.end,Z.push(this.sourceToken),delete U.end;else Z=[this.sourceToken];let Q={type:"block-map",offset:U.offset,indent:U.indent,items:[{start:q,key:U,sep:Z}]};this.onKeyLine=!0,this.stack[this.stack.length-1]=Q}else yield*this.lineEnd(U)}*blockScalar(U){switch(this.type){case"space":case"comment":case"newline":U.props.push(this.sourceToken);return;case"scalar":if(U.source=this.source,this.atNewLine=!0,this.indent=0,this.onNewLine){let X=this.source.indexOf(`
136
136
  `)+1;while(X!==0)this.onNewLine(this.offset+X),X=this.source.indexOf(`
137
- `,X)+1}yield*this.pop();break;default:yield*this.pop(),yield*this.step()}}*blockMap(U){let X=U.items[U.items.length-1];switch(this.type){case"newline":if(this.onKeyLine=!1,X.value){let q="end"in X.value?X.value.end:void 0;if((Array.isArray(q)?q[q.length-1]:void 0)?.type==="comment")q?.push(this.sourceToken);else U.items.push({start:[this.sourceToken]})}else if(X.sep)X.sep.push(this.sourceToken);else X.start.push(this.sourceToken);return;case"space":case"comment":if(X.value)U.items.push({start:[this.sourceToken]});else if(X.sep)X.sep.push(this.sourceToken);else{if(this.atIndentedComment(X.start,U.indent)){let Z=U.items[U.items.length-2]?.value?.end;if(Array.isArray(Z)){Array.prototype.push.apply(Z,X.start),Z.push(this.sourceToken),U.items.pop();return}}X.start.push(this.sourceToken)}return}if(this.indent>=U.indent){let q=!this.onKeyLine&&this.indent===U.indent,Z=q&&(X.sep||X.explicitKey)&&this.type!=="seq-item-ind",Q=[];if(Z&&X.sep&&!X.value){let G=[];for(let Y=0;Y<X.sep.length;++Y){let J=X.sep[Y];switch(J.type){case"newline":G.push(Y);break;case"space":break;case"comment":if(J.indent>U.indent)G.length=0;break;default:G.length=0}}if(G.length>=2)Q=X.sep.splice(G[1])}switch(this.type){case"anchor":case"tag":if(Z||X.value)Q.push(this.sourceToken),U.items.push({start:Q}),this.onKeyLine=!0;else if(X.sep)X.sep.push(this.sourceToken);else X.start.push(this.sourceToken);return;case"explicit-key-ind":if(!X.sep&&!X.explicitKey)X.start.push(this.sourceToken),X.explicitKey=!0;else if(Z||X.value)Q.push(this.sourceToken),U.items.push({start:Q,explicitKey:!0});else this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:[this.sourceToken],explicitKey:!0}]});this.onKeyLine=!0;return;case"map-value-ind":if(X.explicitKey)if(!X.sep)if(Q1(X.start,"newline"))Object.assign(X,{key:null,sep:[this.sourceToken]});else{let G=e1(X.start);this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:G,key:null,sep:[this.sourceToken]}]})}else if(X.value)U.items.push({start:[],key:null,sep:[this.sourceToken]});else if(Q1(X.sep,"map-value-ind"))this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:Q,key:null,sep:[this.sourceToken]}]});else if(bQ(X.key)&&!Q1(X.sep,"newline")){let G=e1(X.start),Y=X.key,J=X.sep;J.push(this.sourceToken),delete X.key,delete X.sep,this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:G,key:Y,sep:J}]})}else if(Q.length>0)X.sep=X.sep.concat(Q,this.sourceToken);else X.sep.push(this.sourceToken);else if(!X.sep)Object.assign(X,{key:null,sep:[this.sourceToken]});else if(X.value||Z)U.items.push({start:Q,key:null,sep:[this.sourceToken]});else if(Q1(X.sep,"map-value-ind"))this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:[],key:null,sep:[this.sourceToken]}]});else X.sep.push(this.sourceToken);this.onKeyLine=!0;return;case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":{let G=this.flowScalar(this.type);if(Z||X.value)U.items.push({start:Q,key:G,sep:[]}),this.onKeyLine=!0;else if(X.sep)this.stack.push(G);else Object.assign(X,{key:G,sep:[]}),this.onKeyLine=!0;return}default:{let G=this.startBlockValue(U);if(G){if(G.type==="block-seq"){if(!X.explicitKey&&X.sep&&!Q1(X.sep,"newline")){yield*this.pop({type:"error",offset:this.offset,message:"Unexpected block-seq-ind on same line with key",source:this.source});return}}else if(q)U.items.push({start:Q});this.stack.push(G);return}}}}yield*this.pop(),yield*this.step()}*blockSequence(U){let X=U.items[U.items.length-1];switch(this.type){case"newline":if(X.value){let q="end"in X.value?X.value.end:void 0;if((Array.isArray(q)?q[q.length-1]:void 0)?.type==="comment")q?.push(this.sourceToken);else U.items.push({start:[this.sourceToken]})}else X.start.push(this.sourceToken);return;case"space":case"comment":if(X.value)U.items.push({start:[this.sourceToken]});else{if(this.atIndentedComment(X.start,U.indent)){let Z=U.items[U.items.length-2]?.value?.end;if(Array.isArray(Z)){Array.prototype.push.apply(Z,X.start),Z.push(this.sourceToken),U.items.pop();return}}X.start.push(this.sourceToken)}return;case"anchor":case"tag":if(X.value||this.indent<=U.indent)break;X.start.push(this.sourceToken);return;case"seq-item-ind":if(this.indent!==U.indent)break;if(X.value||Q1(X.start,"seq-item-ind"))U.items.push({start:[this.sourceToken]});else X.start.push(this.sourceToken);return}if(this.indent>U.indent){let q=this.startBlockValue(U);if(q){this.stack.push(q);return}}yield*this.pop(),yield*this.step()}*flowCollection(U){let X=U.items[U.items.length-1];if(this.type==="flow-error-end"){let q;do yield*this.pop(),q=this.peek(1);while(q?.type==="flow-collection")}else if(U.end.length===0){switch(this.type){case"comma":case"explicit-key-ind":if(!X||X.sep)U.items.push({start:[this.sourceToken]});else X.start.push(this.sourceToken);return;case"map-value-ind":if(!X||X.value)U.items.push({start:[],key:null,sep:[this.sourceToken]});else if(X.sep)X.sep.push(this.sourceToken);else Object.assign(X,{key:null,sep:[this.sourceToken]});return;case"space":case"comment":case"newline":case"anchor":case"tag":if(!X||X.value)U.items.push({start:[this.sourceToken]});else if(X.sep)X.sep.push(this.sourceToken);else X.start.push(this.sourceToken);return;case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":{let Z=this.flowScalar(this.type);if(!X||X.value)U.items.push({start:[],key:Z,sep:[]});else if(X.sep)this.stack.push(Z);else Object.assign(X,{key:Z,sep:[]});return}case"flow-map-end":case"flow-seq-end":U.end.push(this.sourceToken);return}let q=this.startBlockValue(U);if(q)this.stack.push(q);else yield*this.pop(),yield*this.step()}else{let q=this.peek(2);if(q.type==="block-map"&&(this.type==="map-value-ind"&&q.indent===U.indent||this.type==="newline"&&!q.items[q.items.length-1].sep))yield*this.pop(),yield*this.step();else if(this.type==="map-value-ind"&&q.type!=="flow-collection"){let Z=KU(q),Q=e1(Z);jQ(U);let G=U.end.splice(1,U.end.length);G.push(this.sourceToken);let Y={type:"block-map",offset:U.offset,indent:U.indent,items:[{start:Q,key:U,sep:G}]};this.onKeyLine=!0,this.stack[this.stack.length-1]=Y}else yield*this.lineEnd(U)}}flowScalar(U){if(this.onNewLine){let X=this.source.indexOf(`
137
+ `,X)+1}yield*this.pop();break;default:yield*this.pop(),yield*this.step()}}*blockMap(U){let X=U.items[U.items.length-1];switch(this.type){case"newline":if(this.onKeyLine=!1,X.value){let q="end"in X.value?X.value.end:void 0;if((Array.isArray(q)?q[q.length-1]:void 0)?.type==="comment")q?.push(this.sourceToken);else U.items.push({start:[this.sourceToken]})}else if(X.sep)X.sep.push(this.sourceToken);else X.start.push(this.sourceToken);return;case"space":case"comment":if(X.value)U.items.push({start:[this.sourceToken]});else if(X.sep)X.sep.push(this.sourceToken);else{if(this.atIndentedComment(X.start,U.indent)){let Z=U.items[U.items.length-2]?.value?.end;if(Array.isArray(Z)){Array.prototype.push.apply(Z,X.start),Z.push(this.sourceToken),U.items.pop();return}}X.start.push(this.sourceToken)}return}if(this.indent>=U.indent){let q=!this.onKeyLine&&this.indent===U.indent,Z=q&&(X.sep||X.explicitKey)&&this.type!=="seq-item-ind",Q=[];if(Z&&X.sep&&!X.value){let G=[];for(let Y=0;Y<X.sep.length;++Y){let J=X.sep[Y];switch(J.type){case"newline":G.push(Y);break;case"space":break;case"comment":if(J.indent>U.indent)G.length=0;break;default:G.length=0}}if(G.length>=2)Q=X.sep.splice(G[1])}switch(this.type){case"anchor":case"tag":if(Z||X.value)Q.push(this.sourceToken),U.items.push({start:Q}),this.onKeyLine=!0;else if(X.sep)X.sep.push(this.sourceToken);else X.start.push(this.sourceToken);return;case"explicit-key-ind":if(!X.sep&&!X.explicitKey)X.start.push(this.sourceToken),X.explicitKey=!0;else if(Z||X.value)Q.push(this.sourceToken),U.items.push({start:Q,explicitKey:!0});else this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:[this.sourceToken],explicitKey:!0}]});this.onKeyLine=!0;return;case"map-value-ind":if(X.explicitKey)if(!X.sep)if(Q1(X.start,"newline"))Object.assign(X,{key:null,sep:[this.sourceToken]});else{let G=U2(X.start);this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:G,key:null,sep:[this.sourceToken]}]})}else if(X.value)U.items.push({start:[],key:null,sep:[this.sourceToken]});else if(Q1(X.sep,"map-value-ind"))this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:Q,key:null,sep:[this.sourceToken]}]});else if(bQ(X.key)&&!Q1(X.sep,"newline")){let G=U2(X.start),Y=X.key,J=X.sep;J.push(this.sourceToken),delete X.key,delete X.sep,this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:G,key:Y,sep:J}]})}else if(Q.length>0)X.sep=X.sep.concat(Q,this.sourceToken);else X.sep.push(this.sourceToken);else if(!X.sep)Object.assign(X,{key:null,sep:[this.sourceToken]});else if(X.value||Z)U.items.push({start:Q,key:null,sep:[this.sourceToken]});else if(Q1(X.sep,"map-value-ind"))this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:[],key:null,sep:[this.sourceToken]}]});else X.sep.push(this.sourceToken);this.onKeyLine=!0;return;case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":{let G=this.flowScalar(this.type);if(Z||X.value)U.items.push({start:Q,key:G,sep:[]}),this.onKeyLine=!0;else if(X.sep)this.stack.push(G);else Object.assign(X,{key:G,sep:[]}),this.onKeyLine=!0;return}default:{let G=this.startBlockValue(U);if(G){if(G.type==="block-seq"){if(!X.explicitKey&&X.sep&&!Q1(X.sep,"newline")){yield*this.pop({type:"error",offset:this.offset,message:"Unexpected block-seq-ind on same line with key",source:this.source});return}}else if(q)U.items.push({start:Q});this.stack.push(G);return}}}}yield*this.pop(),yield*this.step()}*blockSequence(U){let X=U.items[U.items.length-1];switch(this.type){case"newline":if(X.value){let q="end"in X.value?X.value.end:void 0;if((Array.isArray(q)?q[q.length-1]:void 0)?.type==="comment")q?.push(this.sourceToken);else U.items.push({start:[this.sourceToken]})}else X.start.push(this.sourceToken);return;case"space":case"comment":if(X.value)U.items.push({start:[this.sourceToken]});else{if(this.atIndentedComment(X.start,U.indent)){let Z=U.items[U.items.length-2]?.value?.end;if(Array.isArray(Z)){Array.prototype.push.apply(Z,X.start),Z.push(this.sourceToken),U.items.pop();return}}X.start.push(this.sourceToken)}return;case"anchor":case"tag":if(X.value||this.indent<=U.indent)break;X.start.push(this.sourceToken);return;case"seq-item-ind":if(this.indent!==U.indent)break;if(X.value||Q1(X.start,"seq-item-ind"))U.items.push({start:[this.sourceToken]});else X.start.push(this.sourceToken);return}if(this.indent>U.indent){let q=this.startBlockValue(U);if(q){this.stack.push(q);return}}yield*this.pop(),yield*this.step()}*flowCollection(U){let X=U.items[U.items.length-1];if(this.type==="flow-error-end"){let q;do yield*this.pop(),q=this.peek(1);while(q?.type==="flow-collection")}else if(U.end.length===0){switch(this.type){case"comma":case"explicit-key-ind":if(!X||X.sep)U.items.push({start:[this.sourceToken]});else X.start.push(this.sourceToken);return;case"map-value-ind":if(!X||X.value)U.items.push({start:[],key:null,sep:[this.sourceToken]});else if(X.sep)X.sep.push(this.sourceToken);else Object.assign(X,{key:null,sep:[this.sourceToken]});return;case"space":case"comment":case"newline":case"anchor":case"tag":if(!X||X.value)U.items.push({start:[this.sourceToken]});else if(X.sep)X.sep.push(this.sourceToken);else X.start.push(this.sourceToken);return;case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":{let Z=this.flowScalar(this.type);if(!X||X.value)U.items.push({start:[],key:Z,sep:[]});else if(X.sep)this.stack.push(Z);else Object.assign(X,{key:Z,sep:[]});return}case"flow-map-end":case"flow-seq-end":U.end.push(this.sourceToken);return}let q=this.startBlockValue(U);if(q)this.stack.push(q);else yield*this.pop(),yield*this.step()}else{let q=this.peek(2);if(q.type==="block-map"&&(this.type==="map-value-ind"&&q.indent===U.indent||this.type==="newline"&&!q.items[q.items.length-1].sep))yield*this.pop(),yield*this.step();else if(this.type==="map-value-ind"&&q.type!=="flow-collection"){let Z=K6(q),Q=U2(Z);jQ(U);let G=U.end.splice(1,U.end.length);G.push(this.sourceToken);let Y={type:"block-map",offset:U.offset,indent:U.indent,items:[{start:Q,key:U,sep:G}]};this.onKeyLine=!0,this.stack[this.stack.length-1]=Y}else yield*this.lineEnd(U)}}flowScalar(U){if(this.onNewLine){let X=this.source.indexOf(`
138
138
  `)+1;while(X!==0)this.onNewLine(this.offset+X),X=this.source.indexOf(`
139
- `,X)+1}return{type:U,offset:this.offset,indent:this.indent,source:this.source}}startBlockValue(U){switch(this.type){case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":return this.flowScalar(this.type);case"block-scalar-header":return{type:"block-scalar",offset:this.offset,indent:this.indent,props:[this.sourceToken],source:""};case"flow-map-start":case"flow-seq-start":return{type:"flow-collection",offset:this.offset,indent:this.indent,start:this.sourceToken,items:[],end:[]};case"seq-item-ind":return{type:"block-seq",offset:this.offset,indent:this.indent,items:[{start:[this.sourceToken]}]};case"explicit-key-ind":{this.onKeyLine=!0;let X=KU(U),q=e1(X);return q.push(this.sourceToken),{type:"block-map",offset:this.offset,indent:this.indent,items:[{start:q,explicitKey:!0}]}}case"map-value-ind":{this.onKeyLine=!0;let X=KU(U),q=e1(X);return{type:"block-map",offset:this.offset,indent:this.indent,items:[{start:q,key:null,sep:[this.sourceToken]}]}}}return null}atIndentedComment(U,X){if(this.type!=="comment")return!1;if(this.indent<=X)return!1;return U.every((q)=>q.type==="newline"||q.type==="space")}*documentEnd(U){if(this.type!=="doc-mode"){if(U.end)U.end.push(this.sourceToken);else U.end=[this.sourceToken];if(this.type==="newline")yield*this.pop()}}*lineEnd(U){switch(this.type){case"comma":case"doc-start":case"doc-end":case"flow-seq-end":case"flow-map-end":case"map-value-ind":yield*this.pop(),yield*this.step();break;case"newline":this.onKeyLine=!1;case"space":case"comment":default:if(U.end)U.end.push(this.sourceToken);else U.end=[this.sourceToken];if(this.type==="newline")yield*this.pop()}}}rF.Parser=fQ});var hQ=D((QA)=>{var yQ=s9(),nF=n2(),Z6=t2(),tF=Z9(),eF=k(),UA=ZX(),gQ=QX();function kQ(U){let X=U.prettyErrors!==!1;return{lineCounter:U.lineCounter||X&&new UA.LineCounter||null,prettyErrors:X}}function XA(U,X={}){let{lineCounter:q,prettyErrors:Z}=kQ(X),Q=new gQ.Parser(q?.addNewLine),G=new yQ.Composer(X),Y=Array.from(G.compose(Q.parse(U)));if(Z&&q)for(let J of Y)J.errors.forEach(Z6.prettifyError(U,q)),J.warnings.forEach(Z6.prettifyError(U,q));if(Y.length>0)return Y;return Object.assign([],{empty:!0},G.streamInfo())}function vQ(U,X={}){let{lineCounter:q,prettyErrors:Z}=kQ(X),Q=new gQ.Parser(q?.addNewLine),G=new yQ.Composer(X),Y=null;for(let J of G.compose(Q.parse(U),!0,U.length))if(!Y)Y=J;else if(Y.options.logLevel!=="silent"){Y.errors.push(new Z6.YAMLParseError(J.range.slice(0,2),"MULTIPLE_DOCS","Source contains multiple documents; please use YAML.parseAllDocuments()"));break}if(Z&&q)Y.errors.forEach(Z6.prettifyError(U,q)),Y.warnings.forEach(Z6.prettifyError(U,q));return Y}function qA(U,X,q){let Z=void 0;if(typeof X==="function")Z=X;else if(q===void 0&&X&&typeof X==="object")q=X;let Q=vQ(U,q);if(!Q)return null;if(Q.warnings.forEach((G)=>tF.warn(Q.options.logLevel,G)),Q.errors.length>0)if(Q.options.logLevel!=="silent")throw Q.errors[0];else Q.errors=[];return Q.toJS(Object.assign({reviver:Z},q))}function ZA(U,X,q){let Z=null;if(typeof X==="function"||Array.isArray(X))Z=X;else if(q===void 0&&X)q=X;if(typeof q==="string")q=q.length;if(typeof q==="number"){let Q=Math.round(q);q=Q<1?void 0:Q>8?{indent:8}:{indent:Q}}if(U===void 0){let{keepUndefined:Q}=q??X??{};if(!Q)return}if(eF.isDocument(U)&&!Z)return U.toString(q);return new nF.Document(U,Z,q).toString(q)}QA.parse=qA;QA.parseAllDocuments=XA;QA.parseDocument=vQ;QA.stringify=ZA});var uQ=D((RA)=>{var WA=s9(),_A=n2(),$A=j9(),GX=t2(),LA=k2(),G1=k(),zA=U1(),FA=i(),AA=q1(),VA=Z1(),OA=wU(),BA=qX(),TA=ZX(),DA=QX(),NU=hQ(),xQ=y2();RA.Composer=WA.Composer;RA.Document=_A.Document;RA.Schema=$A.Schema;RA.YAMLError=GX.YAMLError;RA.YAMLParseError=GX.YAMLParseError;RA.YAMLWarning=GX.YAMLWarning;RA.Alias=LA.Alias;RA.isAlias=G1.isAlias;RA.isCollection=G1.isCollection;RA.isDocument=G1.isDocument;RA.isMap=G1.isMap;RA.isNode=G1.isNode;RA.isPair=G1.isPair;RA.isScalar=G1.isScalar;RA.isSeq=G1.isSeq;RA.Pair=zA.Pair;RA.Scalar=FA.Scalar;RA.YAMLMap=AA.YAMLMap;RA.YAMLSeq=VA.YAMLSeq;RA.CST=OA;RA.Lexer=BA.Lexer;RA.LineCounter=TA.LineCounter;RA.Parser=DA.Parser;RA.parse=NU.parse;RA.parseAllDocuments=NU.parseAllDocuments;RA.parseDocument=NU.parseDocument;RA.stringify=NU.stringify;RA.visit=xQ.visit;RA.visitAsync=xQ.visitAsync});class sQ{queue=[];engine;config;timer=null;isProcessing=!1;constructor(U,X={maxBatchSize:10,flushIntervalMs:100}){this.engine=U,this.config=X}push(U){if(this.queue.push(U),this.queue.length>=this.config.maxBatchSize)this.processQueue();else if(!this.timer)this.timer=setTimeout(()=>this.processQueue(),this.config.flushIntervalMs)}async processQueue(){if(this.isProcessing)return;if(this.isProcessing=!0,this.timer)clearTimeout(this.timer),this.timer=null;let U=this.queue.splice(0,this.config.maxBatchSize);if(U.length===0){this.isProcessing=!1;return}console.debug(`[EventQueue] Processing batch of ${U.length} events.`);for(let X of U)try{await this.engine.evaluateContext(X)}catch(q){console.error(`[EventQueue] Error processing event ${X.event}:`,q)}if(this.queue.length>0)setTimeout(()=>this.processQueue(),0);this.isProcessing=!1}getQueueLength(){return this.queue.length}}class oQ{keyPrefix;cache=new Map;isLoaded=!1;constructor(U="trigger_system:"){this.keyPrefix=U}isAvailable(){return typeof window<"u"&&typeof window.localStorage<"u"}ensureLoaded(){if(this.isLoaded)return;if(this.isAvailable())try{let U=window.localStorage.getItem(this.keyPrefix+"state");if(U){let X=JSON.parse(U);this.cache=new Map(Object.entries(X))}}catch(U){console.error("[BrowserPersistence] Failed to load from localStorage:",U)}this.isLoaded=!0}persist(){if(this.isAvailable())try{let U=Object.fromEntries(this.cache);window.localStorage.setItem(this.keyPrefix+"state",JSON.stringify(U))}catch(U){console.error("[BrowserPersistence] Failed to save to localStorage:",U)}}async loadState(){return this.ensureLoaded(),new Map(this.cache)}async saveState(U,X){this.ensureLoaded(),this.cache.set(U,X),this.persist()}async deleteState(U){this.ensureLoaded(),this.cache.delete(U),this.persist()}async clearState(){this.cache.clear(),this.persist()}}class Q6{static getNestedValue(U,X){let q=U.split("."),Z=X;for(let Q of q){if(Z===null||Z===void 0)return;if(typeof Z==="object"&&Z!==null&&Q in Z)Z=Z[Q];else return}return Z}static interpolate(U,X){if(typeof U!=="string")return U;return U.replace(/\$\{([^}]+)\}/g,(q,Z)=>{let Q=this.getNestedValue(Z,X);if(Q!==void 0)return String(Q);return q})}static compare(U,X,q){switch(X){case"EQ":case"==":return U==q;case"NEQ":case"!=":return U!=q;case"GT":case">":return Number(U)>Number(q);case"GTE":case">=":return Number(U)>=Number(q);case"LT":case"<":return Number(U)<Number(q);case"LTE":case"<=":return Number(U)<=Number(q);case"IN":return Array.isArray(q)&&q.some((Z)=>Z===U);case"NOT_IN":return Array.isArray(q)&&!q.some((Z)=>Z===U);case"CONTAINS":if(Array.isArray(U)||typeof U==="string")return U.includes(q);return!1;case"MATCHES":if(typeof q==="string")return new RegExp(q).test(String(U));return!1;case"RANGE":if(Array.isArray(q)&&q.length===2){let Z=Number(U),Q=Number(q[0]),G=Number(q[1]);return!isNaN(Z)&&!isNaN(Q)&&!isNaN(G)&&Z>=Q&&Z<=G}return!1;default:return console.warn(`Unknown operator: ${X}`),!1}}}var G6;((G)=>{G.ENGINE_START="engine:start";G.ENGINE_DONE="engine:done";G.RULE_MATCH="rule:match";G.ACTION_SUCCESS="action:success";G.ACTION_ERROR="action:error"})(G6||={});var zX;((Z)=>{Z.RULE_ADDED="rule:added";Z.RULE_REMOVED="rule:removed";Z.RULE_UPDATED="rule:updated"})(zX||={});var QV=G6,Y6=zX;class jU{static instance;handlers=new Map;constructor(){}static getInstance(){if(!this.instance)this.instance=new jU;return this.instance}on(U,X){let q=U;if(!this.handlers.has(q))this.handlers.set(q,new Set);return this.handlers.get(q).add(X),()=>this.off(q,X)}off(U,X){let q=U,Z=this.handlers.get(q);if(Z)Z.delete(X)}emit(U,X){let q=U,Z=this.handlers.get(q);if(Z)Z.forEach((Q)=>{try{Q(X)}catch(G){console.error(`Error in event handler for ${q}:`,G)}})}}var N0=jU.getInstance();class Z2{_rules=[];actionHandlers=new Map;lastExecution=new Map;_config;constructor(U=[]){if(Array.isArray(U))this._rules=U;else this._config=U,this._rules=[...U.rules];this.sortRules()}sortRules(){this._rules.sort((U,X)=>(X.priority||0)-(U.priority||0))}registerAction(U,X){this.actionHandlers.set(U,X)}async processEvent(U){let X=[],q=this._rules.filter((Z)=>Z.enabled!==!1&&Z.on===U.event);for(let Z of q){if(Z.cooldown&&this.checkCooldown(Z.id,Z.cooldown))continue;if(this.evaluateConditions(Z.if,U)){let Q=await this.executeRuleActions(Z.do,U);if(this.lastExecution.set(Z.id,Date.now()),X.push({ruleId:Z.id,success:!0,executedActions:Q}),!this.shouldEvaluateAll())break}}return X}async processEventSimple(U,X={},q={}){let Z={event:U,data:X,globals:q,timestamp:Date.now(),state:this.getStateContext?this.getStateContext():{}};return this.processEvent(Z)}updateRules(U){let X=this.getRules(),q=new Set(X.map((Y)=>Y.id)),Z=new Set(U.map((Y)=>Y.id)),Q=U.filter((Y)=>!q.has(Y.id)),G=X.filter((Y)=>!Z.has(Y.id));this.rules=[...U],this.sortRules(),Q.forEach((Y)=>{this.emitRuleEvent(Y6.RULE_ADDED,{ruleId:Y.id,timestamp:Date.now()})}),G.forEach((Y)=>{this.emitRuleEvent(Y6.RULE_REMOVED,{ruleId:Y.id,timestamp:Date.now()})}),this.emitRuleEvent(Y6.RULE_UPDATED,{count:U.length,added:Q.length,removed:G.length,unchanged:U.length-Q.length,timestamp:Date.now()})}emitRuleEvent(U,X){try{if(N0)N0.emit(U,{...X,timestamp:Date.now()})}catch(q){console.warn(`Could not emit event ${U}:`,q)}}getRules(){return[...this.rules]}checkCooldown(U,X){let q=this.lastExecution.get(U);if(!q)return!1;return Date.now()-q<X}shouldEvaluateAll(){return this.config?.globalSettings?.evaluateAll??!0}getStateContext(){return{}}evaluateConditions(U,X){if(!U)return!0;if(Array.isArray(U))return U.every((q)=>this.evaluateSingleCondition(q,X));return this.evaluateSingleCondition(U,X)}evaluateSingleCondition(U,X){if("operator"in U&&"conditions"in U){let G=U;if(G.operator==="OR")return G.conditions.some((Y)=>this.evaluateSingleCondition(Y,X));else return G.conditions.every((Y)=>this.evaluateSingleCondition(Y,X))}let q=U,Z=e.evaluate(q.field,X),Q=q.value;if(typeof Q==="string"&&Q.includes("${"))Q=e.interpolate(Q,X);return Q6.compare(Z,q.operator,Q)}async executeRuleActions(U,X){let q=[],Z=[],Q="ALL";if(Array.isArray(U))Z=U;else if("mode"in U&&"actions"in U){let Y=U;Q=Y.mode,Z=Y.actions}else Z=[U];if(Q==="EITHER"&&Z.length>0){let Y=Z.reduce((W,$)=>W+($.probability||1),0),J=Math.random()*Y,H;for(let W of Z){let $=W.probability||1;if(J-=$,J<=0){H=W;break}}if(!H&&Z.length>0)H=Z[Z.length-1];if(H)Z=[H];else Z=[]}let G=X.lastResult;for(let Y of Z){let J={...X,lastResult:G},H=await this.executeSingleAction(Y,J);if(q.push(H),Q==="SEQUENCE")G=H.result}return q}async executeSingleAction(U,X){let q=U.probability;if(typeof q==="string"){let G=e.evaluate(q,X);q=typeof G==="number"?G:Number(G)}if(q!==void 0&&Math.random()>q)return{type:U.type,timestamp:Date.now(),result:{skipped:"probability check failed"}};let Z=U.delay;if(typeof Z==="string"){let G=e.evaluate(Z,X);Z=typeof G==="number"?G:Number(G)}if(Z&&Z>0)await new Promise((G)=>setTimeout(G,Z));let Q=this.interpolateParams(U.params||{},X);try{let G;try{let{ActionRegistry:J}=await Promise.resolve().then(() => (q2(),FX)),H=J.getInstance().get(U.type);if(H)G=(W)=>H({...U,params:W},X)}catch{G=this.actionHandlers.get(U.type)}let Y;if(G)Y=await G(Q,X);else{let J=`No handler registered for action type: ${U.type}`;console.warn(J),Y={warning:J}}return{type:U.type,result:Y,timestamp:Date.now()}}catch(G){return console.error(`Error executing action ${U.type}:`,G),{type:U.type,error:String(G),timestamp:Date.now()}}}interpolateParams(U,X){let q={};for(let[Z,Q]of Object.entries(U))if(typeof Q==="string")q[Z]=e.interpolate(Q,X);else if(typeof Q==="object"&&Q!==null&&!Array.isArray(Q))q[Z]=this.interpolateDeep(Q,X);else q[Z]=Q;return q}interpolateDeep(U,X){if(typeof U==="string")return e.interpolate(U,X);if(Array.isArray(U))return U.map((q)=>this.interpolateDeep(q,X));if(typeof U==="object"&&U!==null){let q={};for(let Z in U)q[Z]=this.interpolateDeep(U[Z],X);return q}return U}get rules(){return[...this._rules]}get config(){return this._config}set rules(U){this._rules=[...U],this.sortRules()}}q2();X2();class bU extends Z2{actionRegistry;stateManager;constructor(U){super(U);this.actionRegistry=P1.getInstance(),this.stateManager=L0.getInstance()}async processEvent(U){let X=[];if(U.state=this.stateManager.getAll(),N0.emit("engine:start",{context:U,rulesCount:this.rules.length}),this.config?.globalSettings?.debugMode)console.log(`[RuleEngine] Evaluating context with ${this.rules.length} rules for event: ${U.event}`);let q=this.rules.filter((Z)=>Z.enabled!==!1&&Z.on===U.event);for(let Z of q){if(Z.cooldown&&this.checkCooldown(Z.id,Z.cooldown)){if(this.config?.globalSettings?.debugMode)console.log(`[RuleEngine] Rule ${Z.id} in cooldown`);continue}if(this.evaluateConditions(Z.if,U)){if(this.config?.globalSettings?.debugMode)console.log(`[RuleEngine] Executing rule: ${Z.name||Z.id}`);N0.emit("rule:match",{rule:Z,context:U});let G=await this.executeRuleActionsWithRegistry(Z.do,U);if(X.push({ruleId:Z.id,executedActions:G,success:!0}),this.updateLastExecution(Z.id),!this.shouldEvaluateAll())break}}return N0.emit("engine:done",{results:X,context:U}),X}async processEventSimple(U,X={},q={}){let Z={event:U,data:X,globals:q,timestamp:Date.now(),state:this.stateManager.getAll()};return this.processEvent(Z)}async executeRuleActionsWithRegistry(U,X){let q=[],Z=[],Q="ALL";if(Array.isArray(U))Z=U;else if(this.isActionGroup(U)){let Y=U;Q=Y.mode,Z=Y.actions}else Z=[U];if(Q==="EITHER"&&Z.length>0){let Y=Z.reduce((W,$)=>W+($.probability||1),0),J=Math.random()*Y,H;for(let W of Z){let $=W.probability||1;if(J-=$,J<=0){H=W;break}}if(H)Z=[H]}let G=X.lastResult;for(let Y of Z){let J={...X,lastResult:G},H=await this.executeSingleActionWithRegistry(Y,J);if(q.push(H),Q==="SEQUENCE")G=H.result}return q}isActionGroup(U){return typeof U==="object"&&U!==null&&"mode"in U&&"actions"in U}async executeSingleActionWithRegistry(U,X){let q=U.probability;if(typeof q==="string"){let{ExpressionEngine:G}=_X(SU),Y=G.evaluate(q,X);q=typeof Y==="number"?Y:Number(Y)}if(q!==void 0&&Math.random()>q)return{type:U.type||"unknown",timestamp:Date.now(),result:{skipped:"probability check failed"}};if(U.break)return{type:"BREAK",result:"Break action",timestamp:Date.now()};if(U.continue)return{type:"CONTINUE",result:"Continue action",timestamp:Date.now()};if(!U.type)return{type:"unknown",error:"Action has no type",timestamp:Date.now()};let Z=U.delay;if(typeof Z==="string"){let{ExpressionEngine:G}=_X(SU),Y=G.evaluate(Z,X);Z=typeof Y==="number"?Y:Number(Y)}if(Z&&Z>0)await new Promise((G)=>setTimeout(G,Z));let Q=this.interpolateParams(U.params||{},X);try{let G=this.actionRegistry.get(U.type),Y;if(G)Y=await G({...U,params:Q},X);else{let J=`Generic or unknown action type: ${U.type}`;if(this.config?.globalSettings?.strictActions)throw Error(J);console.warn(J),Y={warning:`Generic action executed: ${U.type}`}}return N0.emit("action:success",{action:{...U,params:Q},context:X,result:Y}),{type:U.type,result:Y,timestamp:Date.now()}}catch(G){return console.error("Error executing action:",U,G),N0.emit("action:error",{action:U,context:X,error:String(G)}),{type:U.type,error:String(G),timestamp:Date.now()}}}updateLastExecution(U){this.lastExecution.set(U,Date.now())}getStateContext(){return this.stateManager.getAll()}shouldEvaluateAll(){return this.config?.globalSettings?.evaluateAll??!0}async executeRuleActions(U,X){return this.executeRuleActionsWithRegistry(U,X)}async executeSingleAction(U,X){return this.executeSingleActionWithRegistry(U,X)}}q2();class rQ{static create(U,X,q={}){return{event:U,timestamp:Date.now(),data:typeof X==="object"&&X!==null?X:{value:X},globals:q,helpers:this.getDefaultHelpers()}}static fromRequest(U,X,q={}){let Z=new URL(U.url);return{event:"HTTP_REQUEST",timestamp:Date.now(),data:{method:U.method,path:Z.pathname,query:Object.fromEntries(Z.searchParams),headers:(()=>{let Q={};return U.headers.forEach((G,Y)=>Q[Y]=G),Q})(),body:X||{}},globals:{...q,ip:U.headers.get("x-forwarded-for")||"unknown"},helpers:this.getDefaultHelpers()}}static fromWebhook(U,X,q,Z={}){return{event:`WEBHOOK_${U.toUpperCase()}_${X.toUpperCase()}`,timestamp:Date.now(),data:q,globals:{...Z,provider:U},helpers:this.getDefaultHelpers()}}static getDefaultHelpers(){return{now:()=>Date.now(),uuid:()=>crypto.randomUUID(),jsonParse:(U)=>typeof U==="string"?JSON.parse(U):null,jsonStringify:(U)=>JSON.stringify(U)}}}X2();q2();X2();var l0=(U)=>Array.isArray(U)?U:[U],AX=(U,X)=>{let q=[[],[]];for(let Z of U)if(X(Z))q[0].push(Z);else q[1].push(Z);return q},J6=Array,F0=(U,X)=>U.includes(X),VX=(U,X=0)=>[...Array(U)].map((q,Z)=>Z+X),y=(U,X,q)=>{if(U===void 0)return X===void 0?[]:Array.isArray(X)?X:[X];if(q?.prepend)if(Array.isArray(X))U.unshift(...X);else U.unshift(X);else if(Array.isArray(X))U.push(...X);else U.push(X);return U},y0=(U,X)=>{if(X===void 0||X===null)return U??[];if(U===void 0||U===null)return l0(X);return U.concat(X)},OX=(...U)=>U.reduce(y0,[]),C0=(U,X,q)=>{if(U===void 0)return Array.isArray(X)?X:[X];let Z=q?.isEqual??((Q,G)=>Q===G);for(let Q of l0(X))if(!U.some((G)=>Z(G,Q)))U.push(Q);return U},BX=(U,X)=>U.reduce((q,Z)=>{let Q=Z[X];return q[Q]=y(q[Q],Z),q},{}),g0=(U,X,q)=>U.length===X.length&&U.every(q?.isEqual?(Z,Q)=>q.isEqual(Z,X[Q]):(Z,Q)=>Z===X[Q]);var Q0=(U,X)=>r(U)===X,r=(U)=>{let X=typeof U;return X==="object"?U===null?"null":"object":X==="function"?"object":X},G0={boolean:"boolean",null:"null",undefined:"undefined",bigint:"a bigint",number:"a number",object:"an object",string:"a string",symbol:"a symbol"},TX={...G0,function:"a function"};class DX extends Error{}var g=(U)=>Y1(U,DX),Y1=(U,X=Error)=>{throw new X(U)};class Q2 extends Error{name="ParseError"}var F=(U)=>Y1(U,Q2),R0=(U)=>` ${U}`,RX="​";var S=(U,X)=>{let q={},Z=Array.isArray(U),Q=!1;for(let[G,Y]of Object.entries(U).entries()){let J=Z?X(G,Y[1]):X(...Y,G);Q||=typeof J[0]==="number";let H=Array.isArray(J[0])||J.length===0?J:[J];for(let[W,$]of H)if(typeof W==="object")q[W.group]=y(q[W.group],$);else q[W]=$}return Q?Object.values(q):q};var fU=Object.entries;var a=(U,X)=>(U in X),w1=(U,X)=>(X in U);class yU{constructor(U){Object.assign(this,U)}}var MX=class{};class G2 extends MX{}var aQ=(U,X)=>{let q={},Z={},Q;for(Q in U)if(Q in X)q[Q]=U[Q];else Z[Q]=U[Q];return[q,Z]};var H6=(U,X)=>aQ(U,X)[1],S0=(U)=>Object.keys(U).length===0,J1=(U)=>[...Object.entries(U),...Object.getOwnPropertySymbols(U).map((X)=>[X,U[X]])],PX=(U,X)=>Object.defineProperties(U,Object.getOwnPropertyDescriptors(X)),wX=(U)=>{let X=Object.keys(U).sort(),q={};for(let Z=0;Z<X.length;Z++)q[X[Z]]=U[X[Z]];return q};var Y0=R0(`unset${RX}`),IX=(U)=>Object.values(U).filter((X)=>{if(typeof X==="number")return!0;return typeof U[X]!=="number"});var gU={Array,Boolean,Date,Error,Function,Map,Number,Promise,RegExp,Set,String,WeakMap,WeakSet},kU=globalThis.File??Blob,vU={ArrayBuffer,Blob,File:kU,FormData,Headers,Request,Response,URL},nQ={Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array,BigInt64Array,BigUint64Array},H1={...gU,...vU,...nQ,String,Number,Boolean},Y2=(U)=>{let X=Object.getPrototypeOf(U);while(X?.constructor&&(!a(X.constructor.name,H1)||!(U instanceof H1[X.constructor.name])))X=Object.getPrototypeOf(X);let q=X?.constructor?.name;if(q===void 0||q==="Object")return;return q},J2=(U)=>typeof U==="object"&&U!==null?Y2(U)??"object":r(U);var h=Array.isArray,tQ={Array:"an array",Function:"a function",Date:"a Date",RegExp:"a RegExp",Error:"an Error",Map:"a Map",Set:"a Set",String:"a String object",Number:"a Number object",Boolean:"a Boolean object",Promise:"a Promise",WeakMap:"a WeakMap",WeakSet:"a WeakSet"},eQ={ArrayBuffer:"an ArrayBuffer instance",Blob:"a Blob instance",File:"a File instance",FormData:"a FormData instance",Headers:"a Headers instance",Request:"a Request instance",Response:"a Response instance",URL:"a URL instance"},UG={Int8Array:"an Int8Array",Uint8Array:"a Uint8Array",Uint8ClampedArray:"a Uint8ClampedArray",Int16Array:"an Int16Array",Uint16Array:"a Uint16Array",Int32Array:"an Int32Array",Uint32Array:"a Uint32Array",Float32Array:"a Float32Array",Float64Array:"a Float64Array",BigInt64Array:"a BigInt64Array",BigUint64Array:"a BigUint64Array"},KX={...tQ,...eQ,...UG},H2=(U)=>{let X=Object(U).name??null;return X&&a(X,H1)&&H1[X]===U?X:null};var hU=(U,X)=>{let q=U.prototype;while(q!==null){if(q===X.prototype)return!0;q=Object.getPrototypeOf(q)}return!1};var NX=(U)=>CX(U,new Map),CX=(U,X)=>{if(typeof U!=="object"||U===null)return U;if(X?.has(U))return X.get(U);let q=H2(U.constructor);if(q==="Date")return new Date(U.getTime());if(q&&q!=="Array")return U;let Z=Array.isArray(U)?U.slice():Object.create(Object.getPrototypeOf(U)),Q=Object.getOwnPropertyDescriptors(U);if(X){X.set(U,Z);for(let G in Q){let Y=Q[G];if("get"in Y||"set"in Y)continue;Y.value=CX(Y.value,X)}}return Object.defineProperties(Z,Q),Z};var XG=(U)=>{let X=Y0;return()=>X===Y0?X=U():X},d0=(U)=>typeof U==="function"&&U.length===0;var SX=class extends Function{constructor(...U){let X=U.slice(0,-1),q=U[U.length-1];try{super(...X,q)}catch(Z){return g(`Encountered an unexpected error while compiling your definition:
139
+ `,X)+1}return{type:U,offset:this.offset,indent:this.indent,source:this.source}}startBlockValue(U){switch(this.type){case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":return this.flowScalar(this.type);case"block-scalar-header":return{type:"block-scalar",offset:this.offset,indent:this.indent,props:[this.sourceToken],source:""};case"flow-map-start":case"flow-seq-start":return{type:"flow-collection",offset:this.offset,indent:this.indent,start:this.sourceToken,items:[],end:[]};case"seq-item-ind":return{type:"block-seq",offset:this.offset,indent:this.indent,items:[{start:[this.sourceToken]}]};case"explicit-key-ind":{this.onKeyLine=!0;let X=K6(U),q=U2(X);return q.push(this.sourceToken),{type:"block-map",offset:this.offset,indent:this.indent,items:[{start:q,explicitKey:!0}]}}case"map-value-ind":{this.onKeyLine=!0;let X=K6(U),q=U2(X);return{type:"block-map",offset:this.offset,indent:this.indent,items:[{start:q,key:null,sep:[this.sourceToken]}]}}}return null}atIndentedComment(U,X){if(this.type!=="comment")return!1;if(this.indent<=X)return!1;return U.every((q)=>q.type==="newline"||q.type==="space")}*documentEnd(U){if(this.type!=="doc-mode"){if(U.end)U.end.push(this.sourceToken);else U.end=[this.sourceToken];if(this.type==="newline")yield*this.pop()}}*lineEnd(U){switch(this.type){case"comma":case"doc-start":case"doc-end":case"flow-seq-end":case"flow-map-end":case"map-value-ind":yield*this.pop(),yield*this.step();break;case"newline":this.onKeyLine=!1;case"space":case"comment":default:if(U.end)U.end.push(this.sourceToken);else U.end=[this.sourceToken];if(this.type==="newline")yield*this.pop()}}}rF.Parser=fQ});var hQ=R((QA)=>{var gQ=s9(),nF=n2(),ZU=t2(),tF=Z9(),eF=k(),UA=ZX(),yQ=QX();function kQ(U){let X=U.prettyErrors!==!1;return{lineCounter:U.lineCounter||X&&new UA.LineCounter||null,prettyErrors:X}}function XA(U,X={}){let{lineCounter:q,prettyErrors:Z}=kQ(X),Q=new yQ.Parser(q?.addNewLine),G=new gQ.Composer(X),Y=Array.from(G.compose(Q.parse(U)));if(Z&&q)for(let J of Y)J.errors.forEach(ZU.prettifyError(U,q)),J.warnings.forEach(ZU.prettifyError(U,q));if(Y.length>0)return Y;return Object.assign([],{empty:!0},G.streamInfo())}function vQ(U,X={}){let{lineCounter:q,prettyErrors:Z}=kQ(X),Q=new yQ.Parser(q?.addNewLine),G=new gQ.Composer(X),Y=null;for(let J of G.compose(Q.parse(U),!0,U.length))if(!Y)Y=J;else if(Y.options.logLevel!=="silent"){Y.errors.push(new ZU.YAMLParseError(J.range.slice(0,2),"MULTIPLE_DOCS","Source contains multiple documents; please use YAML.parseAllDocuments()"));break}if(Z&&q)Y.errors.forEach(ZU.prettifyError(U,q)),Y.warnings.forEach(ZU.prettifyError(U,q));return Y}function qA(U,X,q){let Z=void 0;if(typeof X==="function")Z=X;else if(q===void 0&&X&&typeof X==="object")q=X;let Q=vQ(U,q);if(!Q)return null;if(Q.warnings.forEach((G)=>tF.warn(Q.options.logLevel,G)),Q.errors.length>0)if(Q.options.logLevel!=="silent")throw Q.errors[0];else Q.errors=[];return Q.toJS(Object.assign({reviver:Z},q))}function ZA(U,X,q){let Z=null;if(typeof X==="function"||Array.isArray(X))Z=X;else if(q===void 0&&X)q=X;if(typeof q==="string")q=q.length;if(typeof q==="number"){let Q=Math.round(q);q=Q<1?void 0:Q>8?{indent:8}:{indent:Q}}if(U===void 0){let{keepUndefined:Q}=q??X??{};if(!Q)return}if(eF.isDocument(U)&&!Z)return U.toString(q);return new nF.Document(U,Z,q).toString(q)}QA.parse=qA;QA.parseAllDocuments=XA;QA.parseDocument=vQ;QA.stringify=ZA});var uQ=R((DA)=>{var WA=s9(),_A=n2(),$A=j9(),GX=t2(),LA=k2(),G1=k(),zA=U1(),FA=i(),AA=q1(),OA=Z1(),BA=w6(),TA=qX(),VA=ZX(),RA=QX(),N6=hQ(),xQ=g2();DA.Composer=WA.Composer;DA.Document=_A.Document;DA.Schema=$A.Schema;DA.YAMLError=GX.YAMLError;DA.YAMLParseError=GX.YAMLParseError;DA.YAMLWarning=GX.YAMLWarning;DA.Alias=LA.Alias;DA.isAlias=G1.isAlias;DA.isCollection=G1.isCollection;DA.isDocument=G1.isDocument;DA.isMap=G1.isMap;DA.isNode=G1.isNode;DA.isPair=G1.isPair;DA.isScalar=G1.isScalar;DA.isSeq=G1.isSeq;DA.Pair=zA.Pair;DA.Scalar=FA.Scalar;DA.YAMLMap=AA.YAMLMap;DA.YAMLSeq=OA.YAMLSeq;DA.CST=BA;DA.Lexer=TA.Lexer;DA.LineCounter=VA.LineCounter;DA.Parser=RA.Parser;DA.parse=N6.parse;DA.parseAllDocuments=N6.parseAllDocuments;DA.parseDocument=N6.parseDocument;DA.stringify=N6.stringify;DA.visit=xQ.visit;DA.visitAsync=xQ.visitAsync});class sQ{queue=[];engine;config;timer=null;isProcessing=!1;constructor(U,X={maxBatchSize:10,flushIntervalMs:100}){this.engine=U,this.config=X}push(U){if(this.queue.push(U),this.queue.length>=this.config.maxBatchSize)this.processQueue();else if(!this.timer)this.timer=setTimeout(()=>this.processQueue(),this.config.flushIntervalMs)}async processQueue(){if(this.isProcessing)return;if(this.isProcessing=!0,this.timer)clearTimeout(this.timer),this.timer=null;let U=this.queue.splice(0,this.config.maxBatchSize);if(U.length===0){this.isProcessing=!1;return}console.debug(`[EventQueue] Processing batch of ${U.length} events.`);for(let X of U)try{await this.engine.evaluateContext(X)}catch(q){console.error(`[EventQueue] Error processing event ${X.event}:`,q)}if(this.queue.length>0)setTimeout(()=>this.processQueue(),0);this.isProcessing=!1}getQueueLength(){return this.queue.length}}class oQ{keyPrefix;cache=new Map;isLoaded=!1;constructor(U="trigger_system:"){this.keyPrefix=U}isAvailable(){return typeof window<"u"&&typeof window.localStorage<"u"}ensureLoaded(){if(this.isLoaded)return;if(this.isAvailable())try{let U=window.localStorage.getItem(this.keyPrefix+"state");if(U){let X=JSON.parse(U);this.cache=new Map(Object.entries(X))}}catch(U){console.error("[BrowserPersistence] Failed to load from localStorage:",U)}this.isLoaded=!0}persist(){if(this.isAvailable())try{let U=Object.fromEntries(this.cache);window.localStorage.setItem(this.keyPrefix+"state",JSON.stringify(U))}catch(U){console.error("[BrowserPersistence] Failed to save to localStorage:",U)}}async loadState(){return this.ensureLoaded(),new Map(this.cache)}async saveState(U,X){this.ensureLoaded(),this.cache.set(U,X),this.persist()}async deleteState(U){this.ensureLoaded(),this.cache.delete(U),this.persist()}async clearState(){this.cache.clear(),this.persist()}}class QU{static getNestedValue(U,X){let q=U.split("."),Z=X;for(let Q of q){if(Z===null||Z===void 0)return;if(typeof Z==="object"&&Z!==null&&Q in Z)Z=Z[Q];else return}return Z}static interpolate(U,X){if(typeof U!=="string")return U;return U.replace(/\$\{([^}]+)\}/g,(q,Z)=>{let Q=this.getNestedValue(Z,X);if(Q!==void 0)return String(Q);return q})}static compare(U,X,q){switch(X){case"EQ":case"==":return U==q;case"NEQ":case"!=":return U!=q;case"GT":case">":return Number(U)>Number(q);case"GTE":case">=":return Number(U)>=Number(q);case"LT":case"<":return Number(U)<Number(q);case"LTE":case"<=":return Number(U)<=Number(q);case"IN":return Array.isArray(q)&&q.some((Z)=>Z===U);case"NOT_IN":return Array.isArray(q)&&!q.some((Z)=>Z===U);case"CONTAINS":if(Array.isArray(U)||typeof U==="string")return U.includes(q);return!1;case"NOT_CONTAINS":if(Array.isArray(U)||typeof U==="string")return!U.includes(q);return!1;case"STARTS_WITH":if(typeof U==="string"&&typeof q==="string")return U.startsWith(q);return!1;case"ENDS_WITH":if(typeof U==="string"&&typeof q==="string")return U.endsWith(q);return!1;case"IS_EMPTY":if(typeof U==="string")return U==="";if(Array.isArray(U))return U.length===0;if(U===null||U===void 0)return!0;if(typeof U==="object")return Object.keys(U).length===0;return!1;case"IS_NULL":case"IS_NONE":return U===null||U===void 0;case"HAS_KEY":if(typeof U==="object"&&U!==null&&typeof q==="string")return q in U;return!1;case"MATCHES":if(typeof q==="string")return new RegExp(q).test(String(U));return!1;case"RANGE":if(Array.isArray(q)&&q.length===2){let Z=Number(U),Q=Number(q[0]),G=Number(q[1]);return!isNaN(Z)&&!isNaN(Q)&&!isNaN(G)&&Z>=Q&&Z<=G}return!1;default:return console.warn(`Unknown operator: ${X}`),!1}}}var GU;((G)=>{G.ENGINE_START="engine:start";G.ENGINE_DONE="engine:done";G.RULE_MATCH="rule:match";G.ACTION_SUCCESS="action:success";G.ACTION_ERROR="action:error"})(GU||={});var zX;((Z)=>{Z.RULE_ADDED="rule:added";Z.RULE_REMOVED="rule:removed";Z.RULE_UPDATED="rule:updated"})(zX||={});var QO=GU,YU=zX;class j6{static instance;handlers=new Map;constructor(){}static getInstance(){if(!this.instance)this.instance=new j6;return this.instance}on(U,X){let q=U;if(!this.handlers.has(q))this.handlers.set(q,new Set);return this.handlers.get(q).add(X),()=>this.off(q,X)}off(U,X){let q=U,Z=this.handlers.get(q);if(Z)Z.delete(X)}emit(U,X){let q=U,Z=this.handlers.get(q);if(Z)Z.forEach((Q)=>{try{Q(X)}catch(G){console.error(`Error in event handler for ${q}:`,G)}})}}var N0=j6.getInstance();class Z2{_rules=[];actionHandlers=new Map;lastExecution=new Map;_config;constructor(U=[]){if(Array.isArray(U))this._rules=U;else this._config=U,this._rules=[...U.rules];this.sortRules()}sortRules(){this._rules.sort((U,X)=>(X.priority||0)-(U.priority||0))}registerAction(U,X){this.actionHandlers.set(U,X)}async processEvent(U){let X=[];if(!U.state)U.state={};let q=this._rules.filter((Z)=>Z.enabled!==!1&&Z.on===U.event);for(let Z of q){if(Z.cooldown&&this.checkCooldown(Z.id,Z.cooldown))continue;if(this.evaluateConditions(Z.if,U)){let Q=await this.executeRuleActions(Z.do,U);if(this.lastExecution.set(Z.id,Date.now()),X.push({ruleId:Z.id,success:!0,executedActions:Q}),!this.shouldEvaluateAll())break}}return X}async processEventSimple(U,X={},q={}){let Z={event:U,data:X,vars:q,timestamp:Date.now(),state:this.getStateContext?this.getStateContext():{}};return this.processEvent(Z)}updateRules(U){let X=this.getRules(),q=new Set(X.map((Y)=>Y.id)),Z=new Set(U.map((Y)=>Y.id)),Q=U.filter((Y)=>!q.has(Y.id)),G=X.filter((Y)=>!Z.has(Y.id));this.rules=[...U],this.sortRules(),Q.forEach((Y)=>{this.emitRuleEvent(YU.RULE_ADDED,{ruleId:Y.id,timestamp:Date.now()})}),G.forEach((Y)=>{this.emitRuleEvent(YU.RULE_REMOVED,{ruleId:Y.id,timestamp:Date.now()})}),this.emitRuleEvent(YU.RULE_UPDATED,{count:U.length,added:Q.length,removed:G.length,unchanged:U.length-Q.length,timestamp:Date.now()})}emitRuleEvent(U,X){try{if(N0)N0.emit(U,{...X,timestamp:Date.now()})}catch(q){console.warn(`Could not emit event ${U}:`,q)}}getRules(){return[...this.rules]}checkCooldown(U,X){let q=this.lastExecution.get(U);if(!q)return!1;return Date.now()-q<X}shouldEvaluateAll(){return this.config?.globalSettings?.evaluateAll??!0}getStateContext(){return{}}evaluateConditions(U,X){if(!U)return!0;if(Array.isArray(U))return U.every((q)=>this.evaluateSingleCondition(q,X));return this.evaluateSingleCondition(U,X)}evaluateSingleCondition(U,X){if("operator"in U&&"conditions"in U){let G=U;if(G.operator==="OR")return G.conditions.some((Y)=>this.evaluateSingleCondition(Y,X));else return G.conditions.every((Y)=>this.evaluateSingleCondition(Y,X))}let q=U,Z=e.evaluate(q.field,X),Q=q.value;if(typeof Q==="string"&&Q.includes("${"))Q=e.interpolate(Q,X);return QU.compare(Z,q.operator,Q)}async executeRuleActions(U,X){let q=[],Z=[],Q="ALL";if(Array.isArray(U))Z=U;else if(U&&typeof U==="object"&&"mode"in U&&"actions"in U){let G=U;Q=G.mode,Z=G.actions}else Z=[U];if(Q==="EITHER"&&Z.length>0){let G=Z.reduce((H,W)=>H+(W.probability||1),0),Y=Math.random()*G,J;for(let H of Z){let W=H.probability||1;if(Y-=W,Y<=0){J=H;break}}if(!J&&Z.length>0)J=Z[Z.length-1];if(J)Z=[J];else Z=[]}for(let G of Z){let Y=await this.executeSingleAction(G,X);q.push(Y)}return q}async executeSingleAction(U,X){if(!U.type&&!U.run&&!U.break&&!U.continue){let G=["params","run","delay","probability","if","then","else","break","continue","mode","actions"],Y=Object.keys(U).filter((J)=>!G.includes(J));for(let J of Y){if(U.type=J,typeof U[J]==="string")U.params={...U.params,message:U[J],content:U[J]};else if(typeof U[J]==="object"&&U[J]!==null)U.params={...U.params,...U[J]};break}}if(U.run)try{return{type:"RUN",result:Function("context","state","data","vars","env","helpers",`with(context) { ${U.run} }`)(X,X.state,X.data,X.vars,X.env,X.helpers),timestamp:Date.now()}}catch(G){return{type:"RUN",error:String(G),timestamp:Date.now()}}let q=U.probability;if(typeof q==="string"){let G=e.evaluate(q,X);q=typeof G==="number"?G:Number(G)}if(q!==void 0&&Math.random()>q)return{type:U.type||"skipped",timestamp:Date.now(),result:{skipped:"probability check failed"}};let Z=U.delay;if(typeof Z==="string"){let G=e.evaluate(Z,X);Z=typeof G==="number"?G:Number(G)}if(Z&&Z>0)await new Promise((G)=>setTimeout(G,Z));let Q=this.interpolateParams(U.params||{},X);try{let G;try{let{ActionRegistry:J}=await Promise.resolve().then(() => (q2(),FX)),H=J.getInstance().get(U.type);if(H)G=(W)=>H({...U,params:W},X)}catch{G=this.actionHandlers.get(U.type)}let Y;if(G)Y=await G(Q,X);else{let J=`No handler registered for action type: ${U.type}`;console.warn(J),Y={warning:J}}return{type:U.type,result:Y,timestamp:Date.now()}}catch(G){return console.error(`Error executing action ${U.type}:`,G),{type:U.type,error:String(G),timestamp:Date.now()}}}interpolateParams(U,X){let q={};for(let[Z,Q]of Object.entries(U))if(typeof Q==="string")q[Z]=e.interpolate(Q,X);else if(typeof Q==="object"&&Q!==null&&!Array.isArray(Q))q[Z]=this.interpolateDeep(Q,X);else q[Z]=Q;return q}interpolateDeep(U,X){if(typeof U==="string")return e.interpolate(U,X);if(Array.isArray(U))return U.map((q)=>this.interpolateDeep(q,X));if(typeof U==="object"&&U!==null){let q={};for(let Z in U)q[Z]=this.interpolateDeep(U[Z],X);return q}return U}get rules(){return[...this._rules]}get config(){return this._config}set rules(U){this._rules=[...U],this.sortRules()}}q2();P1();class b6 extends Z2{actionRegistry;stateManager;constructor(U){super(U);this.actionRegistry=w1.getInstance(),this.stateManager=U0.getInstance()}async processEvent(U){let X=[];if(U.state=this.stateManager.getLiveProxy(),this.config?.stateConfig)await this.stateManager.applyConfig(this.config.stateConfig);if(N0.emit("engine:start",{context:U,rulesCount:this.rules.length}),this.config?.globalSettings?.debugMode)console.log(`[RuleEngine] Evaluating context with ${this.rules.length} rules for event: ${U.event}`);let q=this.rules.filter((Z)=>Z.enabled!==!1&&Z.on===U.event);for(let Z of q){if(Z.cooldown&&this.checkCooldown(Z.id,Z.cooldown)){if(this.config?.globalSettings?.debugMode)console.log(`[RuleEngine] Rule ${Z.id} in cooldown`);continue}if(this.evaluateConditions(Z.if,U)){if(this.config?.globalSettings?.debugMode)console.log(`[RuleEngine] Executing rule: ${Z.name||Z.id}`);N0.emit("rule:match",{rule:Z,context:U});let G=await this.executeRuleActionsWithRegistry(Z.do,U);if(X.push({ruleId:Z.id,executedActions:G,success:!0}),this.updateLastExecution(Z.id),!this.shouldEvaluateAll())break}}return N0.emit("engine:done",{results:X,context:U}),X}async processEventSimple(U,X={},q={}){let Z={event:U,data:X,vars:q,timestamp:Date.now(),state:this.stateManager.getLiveProxy()};return this.processEvent(Z)}async executeRuleActionsWithRegistry(U,X){let q=[],Z=[],Q="ALL";if(Array.isArray(U))Z=U;else if(this.isActionGroup(U)){let G=U;Q=G.mode,Z=G.actions}else Z=[U];if(Q==="EITHER"&&Z.length>0){let G=Z.reduce((H,W)=>H+(W.probability||1),0),Y=Math.random()*G,J;for(let H of Z){let W=H.probability||1;if(Y-=W,Y<=0){J=H;break}}if(J)Z=[J]}for(let G of Z){let Y=await this.executeSingleActionWithRegistry(G,X);q.push(Y)}return q}isActionGroup(U){return typeof U==="object"&&U!==null&&"mode"in U&&"actions"in U}async executeSingleActionWithRegistry(U,X){if(!U.type&&!U.run&&!U.break&&!U.continue){let G=Object.keys(U);for(let Y of G)if(this.actionRegistry.get(Y)){if(U.type=Y,typeof U[Y]==="string")U.params={...U.params,message:U[Y],content:U[Y]};else if(typeof U[Y]==="object"&&U[Y]!==null)U.params={...U.params,...U[Y]};break}}if(U.run)try{return{type:"RUN",result:Function("context","state","data","vars","env","helpers",`with(context) { ${U.run} }`)(X,X.state,X.data,X.vars,X.env,X.helpers),timestamp:Date.now()}}catch(G){return{type:"RUN",error:String(G),timestamp:Date.now()}}let q=U.probability;if(typeof q==="string"){let{ExpressionEngine:G}=_X(S6),Y=G.evaluate(q,X);q=typeof Y==="number"?Y:Number(Y)}if(q!==void 0&&Math.random()>q)return{type:U.type||"unknown",timestamp:Date.now(),result:{skipped:"probability check failed"}};if(U.break)return{type:"BREAK",result:"Break action",timestamp:Date.now()};if(U.continue)return{type:"CONTINUE",result:"Continue action",timestamp:Date.now()};let Z=U.delay;if(typeof Z==="string"){let{ExpressionEngine:G}=_X(S6),Y=G.evaluate(Z,X);Z=typeof Y==="number"?Y:Number(Y)}if(Z&&Z>0)await new Promise((G)=>setTimeout(G,Z));let Q=this.interpolateParams(U.params||{},X);try{let G=this.actionRegistry.get(U.type),Y;if(G)Y=await G({...U,params:Q},X);else{let J=`Generic or unknown action type: ${U.type}`;if(this.config?.globalSettings?.strictActions)throw Error(J);console.warn(J),Y={warning:`Generic action executed: ${U.type}`}}return N0.emit("action:success",{action:{...U,params:Q},context:X,result:Y}),{type:U.type,result:Y,timestamp:Date.now()}}catch(G){return console.error("Error executing action:",U,G),N0.emit("action:error",{action:U,context:X,error:String(G)}),{type:U.type,error:String(G),timestamp:Date.now()}}}updateLastExecution(U){this.lastExecution.set(U,Date.now())}getStateContext(){return this.stateManager.getAll()}shouldEvaluateAll(){return this.config?.globalSettings?.evaluateAll??!0}async executeRuleActions(U,X){return this.executeRuleActionsWithRegistry(U,X)}async executeSingleAction(U,X){return this.executeSingleActionWithRegistry(U,X)}}q2();P1();class rQ{static create(U,X,q={}){return{event:U,timestamp:Date.now(),data:typeof X==="object"&&X!==null?X:{value:X},vars:q,state:U0.getInstance().getLiveProxy(),helpers:this.getDefaultHelpers()}}static fromRequest(U,X,q={}){let Z=new URL(U.url);return{event:"HTTP_REQUEST",timestamp:Date.now(),data:{method:U.method,path:Z.pathname,query:Object.fromEntries(Z.searchParams),headers:(()=>{let Q={};return U.headers.forEach((G,Y)=>Q[Y]=G),Q})(),body:X||{}},vars:{...q,ip:U.headers.get("x-forwarded-for")||"unknown"},state:U0.getInstance().getLiveProxy(),helpers:this.getDefaultHelpers()}}static fromWebhook(U,X,q,Z={}){return{event:`WEBHOOK_${U.toUpperCase()}_${X.toUpperCase()}`,timestamp:Date.now(),data:q,vars:{...Z,provider:U},state:U0.getInstance().getLiveProxy(),helpers:this.getDefaultHelpers()}}static getDefaultHelpers(){return{now:()=>Date.now(),uuid:()=>crypto.randomUUID(),jsonParse:(U)=>typeof U==="string"?JSON.parse(U):null,jsonStringify:(U)=>JSON.stringify(U)}}}P1();q2();P1();var l0=(U)=>Array.isArray(U)?U:[U],AX=(U,X)=>{let q=[[],[]];for(let Z of U)if(X(Z))q[0].push(Z);else q[1].push(Z);return q},JU=Array,F0=(U,X)=>U.includes(X),OX=(U,X=0)=>[...Array(U)].map((q,Z)=>Z+X),g=(U,X,q)=>{if(U===void 0)return X===void 0?[]:Array.isArray(X)?X:[X];if(q?.prepend)if(Array.isArray(X))U.unshift(...X);else U.unshift(X);else if(Array.isArray(X))U.push(...X);else U.push(X);return U},g0=(U,X)=>{if(X===void 0||X===null)return U??[];if(U===void 0||U===null)return l0(X);return U.concat(X)},BX=(...U)=>U.reduce(g0,[]),C0=(U,X,q)=>{if(U===void 0)return Array.isArray(X)?X:[X];let Z=q?.isEqual??((Q,G)=>Q===G);for(let Q of l0(X))if(!U.some((G)=>Z(G,Q)))U.push(Q);return U},TX=(U,X)=>U.reduce((q,Z)=>{let Q=Z[X];return q[Q]=g(q[Q],Z),q},{}),y0=(U,X,q)=>U.length===X.length&&U.every(q?.isEqual?(Z,Q)=>q.isEqual(Z,X[Q]):(Z,Q)=>Z===X[Q]);var G0=(U,X)=>r(U)===X,r=(U)=>{let X=typeof U;return X==="object"?U===null?"null":"object":X==="function"?"object":X},Y0={boolean:"boolean",null:"null",undefined:"undefined",bigint:"a bigint",number:"a number",object:"an object",string:"a string",symbol:"a symbol"},VX={...Y0,function:"a function"};class RX extends Error{}var y=(U)=>Y1(U,RX),Y1=(U,X=Error)=>{throw new X(U)};class Q2 extends Error{name="ParseError"}var F=(U)=>Y1(U,Q2),D0=(U)=>` ${U}`,DX="​";var S=(U,X)=>{let q={},Z=Array.isArray(U),Q=!1;for(let[G,Y]of Object.entries(U).entries()){let J=Z?X(G,Y[1]):X(...Y,G);Q||=typeof J[0]==="number";let H=Array.isArray(J[0])||J.length===0?J:[J];for(let[W,$]of H)if(typeof W==="object")q[W.group]=g(q[W.group],$);else q[W]=$}return Q?Object.values(q):q};var f6=Object.entries;var a=(U,X)=>(U in X),I1=(U,X)=>(X in U);class g6{constructor(U){Object.assign(this,U)}}var MX=class{};class G2 extends MX{}var aQ=(U,X)=>{let q={},Z={},Q;for(Q in U)if(Q in X)q[Q]=U[Q];else Z[Q]=U[Q];return[q,Z]};var HU=(U,X)=>aQ(U,X)[1],S0=(U)=>Object.keys(U).length===0,J1=(U)=>[...Object.entries(U),...Object.getOwnPropertySymbols(U).map((X)=>[X,U[X]])],PX=(U,X)=>Object.defineProperties(U,Object.getOwnPropertyDescriptors(X)),wX=(U)=>{let X=Object.keys(U).sort(),q={};for(let Z=0;Z<X.length;Z++)q[X[Z]]=U[X[Z]];return q};var J0=D0(`unset${DX}`),IX=(U)=>Object.values(U).filter((X)=>{if(typeof X==="number")return!0;return typeof U[X]!=="number"});var y6={Array,Boolean,Date,Error,Function,Map,Number,Promise,RegExp,Set,String,WeakMap,WeakSet},k6=globalThis.File??Blob,v6={ArrayBuffer,Blob,File:k6,FormData,Headers,Request,Response,URL},nQ={Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array,BigInt64Array,BigUint64Array},H1={...y6,...v6,...nQ,String,Number,Boolean},Y2=(U)=>{let X=Object.getPrototypeOf(U);while(X?.constructor&&(!a(X.constructor.name,H1)||!(U instanceof H1[X.constructor.name])))X=Object.getPrototypeOf(X);let q=X?.constructor?.name;if(q===void 0||q==="Object")return;return q},J2=(U)=>typeof U==="object"&&U!==null?Y2(U)??"object":r(U);var h=Array.isArray,tQ={Array:"an array",Function:"a function",Date:"a Date",RegExp:"a RegExp",Error:"an Error",Map:"a Map",Set:"a Set",String:"a String object",Number:"a Number object",Boolean:"a Boolean object",Promise:"a Promise",WeakMap:"a WeakMap",WeakSet:"a WeakSet"},eQ={ArrayBuffer:"an ArrayBuffer instance",Blob:"a Blob instance",File:"a File instance",FormData:"a FormData instance",Headers:"a Headers instance",Request:"a Request instance",Response:"a Response instance",URL:"a URL instance"},UG={Int8Array:"an Int8Array",Uint8Array:"a Uint8Array",Uint8ClampedArray:"a Uint8ClampedArray",Int16Array:"an Int16Array",Uint16Array:"a Uint16Array",Int32Array:"an Int32Array",Uint32Array:"a Uint32Array",Float32Array:"a Float32Array",Float64Array:"a Float64Array",BigInt64Array:"a BigInt64Array",BigUint64Array:"a BigUint64Array"},KX={...tQ,...eQ,...UG},H2=(U)=>{let X=Object(U).name??null;return X&&a(X,H1)&&H1[X]===U?X:null};var h6=(U,X)=>{let q=U.prototype;while(q!==null){if(q===X.prototype)return!0;q=Object.getPrototypeOf(q)}return!1};var NX=(U)=>CX(U,new Map),CX=(U,X)=>{if(typeof U!=="object"||U===null)return U;if(X?.has(U))return X.get(U);let q=H2(U.constructor);if(q==="Date")return new Date(U.getTime());if(q&&q!=="Array")return U;let Z=Array.isArray(U)?U.slice():Object.create(Object.getPrototypeOf(U)),Q=Object.getOwnPropertyDescriptors(U);if(X){X.set(U,Z);for(let G in Q){let Y=Q[G];if("get"in Y||"set"in Y)continue;Y.value=CX(Y.value,X)}}return Object.defineProperties(Z,Q),Z};var XG=(U)=>{let X=J0;return()=>X===J0?X=U():X},d0=(U)=>typeof U==="function"&&U.length===0;var SX=class extends Function{constructor(...U){let X=U.slice(0,-1),q=U[U.length-1];try{super(...X,q)}catch(Z){return y(`Encountered an unexpected error while compiling your definition:
140
140
  Message: ${Z}
141
141
  Source: (${U.slice(0,-1)}) => {
142
142
  ${U[U.length-1]}
143
- }`)}}};class J0{constructor(U,...[X]){return Object.assign(Object.setPrototypeOf(U.bind(X?.bind??this),this.constructor.prototype),X?.attach)}}var EX=XG(()=>{try{return Function("return false")()}catch{return!0}});var HO=R0("brand");var jX=R0("arkInferred");var $O=R0("args");class U0{constructor(){}}var qG=()=>{try{return((Error().stack?.split(`
144
- `)[2]?.trim()||"").match(/\(?(.+?)(?::\d+:\d+)?\)?$/)?.[1]||"unknown").replace(/^file:\/\//,"")}catch{return"unknown"}},ZG=globalThis.process?.env??{},bX={fileName:qG,env:ZG};var fX=(U)=>U[0].toUpperCase()+U.slice(1),yX=(U)=>U[0].toLowerCase()+U.slice(1),xU=(U)=>new RegExp(QG(U),typeof U==="string"?"":U.flags);var QG=(U)=>{return`^(?:${typeof U==="string"?U:U.source})$`};var k0={negativeLookahead:(U)=>`(?!${U})`,nonCapturingGroup:(U)=>`(?:${U})`},W1="\\",c0={" ":1,"\n":1,"\t":1};var GG=/^-0\.?0*$/.source,kX=/[1-9]\d*/.source,YG=/\.\d+/.source,JG=/\.\d*[1-9]/.source,vX=(U)=>xU(k0.negativeLookahead(GG)+k0.nonCapturingGroup("-?"+k0.nonCapturingGroup(k0.nonCapturingGroup("0|"+kX)+k0.nonCapturingGroup(U.decimalPattern)+"?")+(U.allowDecimalOnly?"|"+U.decimalPattern:"")+"?")),gX=vX({decimalPattern:JG,allowDecimalOnly:!1}),HG=gX.test.bind(gX),W6=vX({decimalPattern:YG,allowDecimalOnly:!0}),BO=W6.test.bind(W6),WG=/^-?\d*\.?\d*$/,_G=(U)=>U.length!==0&&WG.test(U),W2=xU(k0.negativeLookahead("^-0$")+"-?"+k0.nonCapturingGroup(k0.nonCapturingGroup("0|"+kX))),$G=W2.test.bind(W2),uU=/^-?\d+$/,LG=uU.test.bind(uU),hX={number:"a number",bigint:"a bigint",integer:"an integer"},xX=(U,X)=>`'${U}' was parsed as ${hX[X]} but could not be narrowed to a literal value. Avoid unnecessary leading or trailing zeros and other abnormal notation`,zG=(U,X)=>X==="number"?HG(U):$G(U),FG=(U,X)=>X==="number"?Number(U):Number.parseInt(U),AG=(U,X)=>X==="number"?_G(U):LG(U),uX=(U,X)=>mU(U,"number",X),mX=(U,X)=>mU(U,"number",{...X,strict:!0}),pX=(U,X)=>mU(U,"integer",X),mU=(U,X,q)=>{let Z=FG(U,X);if(!Number.isNaN(Z)){if(AG(U,X)){if(q?.strict)return zG(U,X)?Z:F(xX(U,X));return Z}}return q?.errorOnFail?F(q?.errorOnFail===!0?`Failed to parse ${hX[X]} from '${U}'`:q?.errorOnFail):void 0},lX=(U)=>{if(U[U.length-1]!=="n")return;let X=U.slice(0,-1),q;try{q=BigInt(X)}catch{return}if(W2.test(X))return q;if(uU.test(X))return F(xX(U,"bigint"))};var VG="0.56.0",OG={version:VG,filename:bX.fileName(),FileConstructor:kU},_1=OG,dX=new Map,pU=Object.create(null),_2=(U)=>{let X=dX.get(U);if(X)return X;let q=BG(U);if(pU[q])q=`${q}${pU[q]++}`;else pU[q]=1;return _1[q]=U,dX.set(U,q),q},i0=(U)=>/^[$A-Z_a-z][\w$]*$/.test(U),BG=(U)=>{switch(typeof U){case"object":{if(U===null)break;let X=Y2(U)??"object";return X[0].toLowerCase()+X.slice(1)}case"function":return i0(U.name)?U.name:"fn";case"symbol":return U.description&&i0(U.description)?U.description:"symbol"}return g(`Unexpected attempt to register serializable value of type ${r(U)}`)};var $2=(U)=>typeof U==="string"?JSON.stringify(U):typeof U==="bigint"?`${U}n`:`${U}`;var cX=(U,X={})=>L2(U,{onUndefined:"$ark.undefined",onBigInt:(q)=>`$ark.bigint-${q}`,...X},[]);var E=(U,X)=>{switch(r(U)){case"object":let q=U,Z=q.constructor?.name??"Object";return Z==="Object"||Z==="Array"?X?.quoteKeys===!1?_6(q,X?.indent??0,""):JSON.stringify(L2(q,I1,[]),null,X?.indent):_6(q,X?.indent??0,"");case"symbol":return I1.onSymbol(U);default:return $2(U)}},_6=(U,X,q)=>{if(typeof U==="function")return I1.onFunction(U);if(typeof U!=="object"||U===null)return $2(U);let Z=q+" ".repeat(X);if(Array.isArray(U)){if(U.length===0)return"[]";let G=U.map((Y)=>_6(Y,X,Z)).join(`,
143
+ }`)}}};class H0{constructor(U,...[X]){return Object.assign(Object.setPrototypeOf(U.bind(X?.bind??this),this.constructor.prototype),X?.attach)}}var EX=XG(()=>{try{return Function("return false")()}catch{return!0}});var WB=D0("brand");var jX=D0("arkInferred");var LB=D0("args");class X0{constructor(){}}var qG=()=>{try{return((Error().stack?.split(`
144
+ `)[2]?.trim()||"").match(/\(?(.+?)(?::\d+:\d+)?\)?$/)?.[1]||"unknown").replace(/^file:\/\//,"")}catch{return"unknown"}},ZG=globalThis.process?.env??{},bX={fileName:qG,env:ZG};var fX=(U)=>U[0].toUpperCase()+U.slice(1),gX=(U)=>U[0].toLowerCase()+U.slice(1),x6=(U)=>new RegExp(QG(U),typeof U==="string"?"":U.flags);var QG=(U)=>{return`^(?:${typeof U==="string"?U:U.source})$`};var k0={negativeLookahead:(U)=>`(?!${U})`,nonCapturingGroup:(U)=>`(?:${U})`},W1="\\",c0={" ":1,"\n":1,"\t":1};var GG=/^-0\.?0*$/.source,kX=/[1-9]\d*/.source,YG=/\.\d+/.source,JG=/\.\d*[1-9]/.source,vX=(U)=>x6(k0.negativeLookahead(GG)+k0.nonCapturingGroup("-?"+k0.nonCapturingGroup(k0.nonCapturingGroup("0|"+kX)+k0.nonCapturingGroup(U.decimalPattern)+"?")+(U.allowDecimalOnly?"|"+U.decimalPattern:"")+"?")),yX=vX({decimalPattern:JG,allowDecimalOnly:!1}),HG=yX.test.bind(yX),WU=vX({decimalPattern:YG,allowDecimalOnly:!0}),VB=WU.test.bind(WU),WG=/^-?\d*\.?\d*$/,_G=(U)=>U.length!==0&&WG.test(U),W2=x6(k0.negativeLookahead("^-0$")+"-?"+k0.nonCapturingGroup(k0.nonCapturingGroup("0|"+kX))),$G=W2.test.bind(W2),u6=/^-?\d+$/,LG=u6.test.bind(u6),hX={number:"a number",bigint:"a bigint",integer:"an integer"},xX=(U,X)=>`'${U}' was parsed as ${hX[X]} but could not be narrowed to a literal value. Avoid unnecessary leading or trailing zeros and other abnormal notation`,zG=(U,X)=>X==="number"?HG(U):$G(U),FG=(U,X)=>X==="number"?Number(U):Number.parseInt(U),AG=(U,X)=>X==="number"?_G(U):LG(U),uX=(U,X)=>m6(U,"number",X),mX=(U,X)=>m6(U,"number",{...X,strict:!0}),pX=(U,X)=>m6(U,"integer",X),m6=(U,X,q)=>{let Z=FG(U,X);if(!Number.isNaN(Z)){if(AG(U,X)){if(q?.strict)return zG(U,X)?Z:F(xX(U,X));return Z}}return q?.errorOnFail?F(q?.errorOnFail===!0?`Failed to parse ${hX[X]} from '${U}'`:q?.errorOnFail):void 0},lX=(U)=>{if(U[U.length-1]!=="n")return;let X=U.slice(0,-1),q;try{q=BigInt(X)}catch{return}if(W2.test(X))return q;if(u6.test(X))return F(xX(U,"bigint"))};var OG="0.56.0",BG={version:OG,filename:bX.fileName(),FileConstructor:k6},_1=BG,dX=new Map,p6=Object.create(null),_2=(U)=>{let X=dX.get(U);if(X)return X;let q=TG(U);if(p6[q])q=`${q}${p6[q]++}`;else p6[q]=1;return _1[q]=U,dX.set(U,q),q},i0=(U)=>/^[$A-Z_a-z][\w$]*$/.test(U),TG=(U)=>{switch(typeof U){case"object":{if(U===null)break;let X=Y2(U)??"object";return X[0].toLowerCase()+X.slice(1)}case"function":return i0(U.name)?U.name:"fn";case"symbol":return U.description&&i0(U.description)?U.description:"symbol"}return y(`Unexpected attempt to register serializable value of type ${r(U)}`)};var $2=(U)=>typeof U==="string"?JSON.stringify(U):typeof U==="bigint"?`${U}n`:`${U}`;var cX=(U,X={})=>L2(U,{onUndefined:"$ark.undefined",onBigInt:(q)=>`$ark.bigint-${q}`,...X},[]);var E=(U,X)=>{switch(r(U)){case"object":let q=U,Z=q.constructor?.name??"Object";return Z==="Object"||Z==="Array"?X?.quoteKeys===!1?_U(q,X?.indent??0,""):JSON.stringify(L2(q,K1,[]),null,X?.indent):_U(q,X?.indent??0,"");case"symbol":return K1.onSymbol(U);default:return $2(U)}},_U=(U,X,q)=>{if(typeof U==="function")return K1.onFunction(U);if(typeof U!=="object"||U===null)return $2(U);let Z=q+" ".repeat(X);if(Array.isArray(U)){if(U.length===0)return"[]";let G=U.map((Y)=>_U(Y,X,Z)).join(`,
145
145
  `+Z);return X?`[
146
146
  ${Z}${G}
147
- ${q}]`:`[${G}]`}let Q=U.constructor?.name??"Object";if(Q==="Object"){let G=J1(U).map(([Y,J])=>{let H=typeof Y==="symbol"?I1.onSymbol(Y):i0(Y)?Y:JSON.stringify(Y),W=_6(J,X,Z);return`${Z}${H}: ${W}`});if(G.length===0)return"{}";return X?`{
147
+ ${q}]`:`[${G}]`}let Q=U.constructor?.name??"Object";if(Q==="Object"){let G=J1(U).map(([Y,J])=>{let H=typeof Y==="symbol"?K1.onSymbol(Y):i0(Y)?Y:JSON.stringify(Y),W=_U(J,X,Z);return`${Z}${H}: ${W}`});if(G.length===0)return"{}";return X?`{
148
148
  ${G.join(`,
149
149
  `)}
150
- ${q}}`:`{${G.join(", ")}}`}if(U instanceof Date)return $1(U);if("expression"in U&&typeof U.expression==="string")return U.expression;return Q},I1={onCycle:()=>"(cycle)",onSymbol:(U)=>`Symbol(${_2(U)})`,onFunction:(U)=>`Function(${_2(U)})`},L2=(U,X,q)=>{switch(r(U)){case"object":{let Z=U;if("toJSON"in Z&&typeof Z.toJSON==="function")return Z.toJSON();if(typeof Z==="function")return I1.onFunction(Z);if(q.includes(Z))return"(cycle)";let Q=[...q,Z];if(Array.isArray(Z))return Z.map((Y)=>L2(Y,X,Q));if(Z instanceof Date)return Z.toDateString();let G={};for(let Y in Z)G[Y]=L2(Z[Y],X,Q);for(let Y of Object.getOwnPropertySymbols(Z))G[X.onSymbol?.(Y)??Y.toString()]=L2(Z[Y],X,Q);return G}case"symbol":return I1.onSymbol(U);case"bigint":return X.onBigInt?.(U)??`${U}n`;case"undefined":return X.onUndefined??"undefined";case"string":return U.replace(/\\/g,"\\\\");default:return U}},$1=(U)=>{let X=U.getFullYear(),q=U.getMonth(),Z=U.getDate(),Q=U.getHours(),G=U.getMinutes(),Y=U.getSeconds(),J=U.getMilliseconds();if(q===0&&Z===1&&Q===0&&G===0&&Y===0&&J===0)return`${X}`;let H=`${TG[q]} ${Z}, ${X}`;if(Q===0&&G===0&&Y===0&&J===0)return H;let W=U.toLocaleTimeString(),$=W.endsWith(" AM")||W.endsWith(" PM")?W.slice(-3):"";if($)W=W.slice(0,-$.length);if(J)W+=`.${RG(J,3)}`;else if(DG.test(W))W=W.slice(0,-3);return`${W+$}, ${H}`},TG=["January","February","March","April","May","June","July","August","September","October","November","December"],DG=/:\d\d:00$/,RG=(U,X)=>String(U).padStart(X,"0");var iX=(U,X,...[q])=>{let Z=q?.stringifySymbol??E,Q=U;switch(typeof X){case"string":Q=i0(X)?U===""?X:`${U}.${X}`:`${U}[${JSON.stringify(X)}]`;break;case"number":Q=`${U}[${X}]`;break;case"symbol":Q=`${U}[${Z(X)}]`;break;default:if(q?.stringifyNonKey)Q=`${U}[${q.stringifyNonKey(X)}]`;else F(`${E(X)} must be a PropertyKey or stringifyNonKey must be passed to options`)}return Q},v0=(U,...X)=>U.reduce((q,Z)=>iX(q,Z,...X),"");class z2 extends J6{cache={};constructor(...U){super();this.push(...U)}toJSON(){if(this.cache.json)return this.cache.json;this.cache.json=[];for(let U=0;U<this.length;U++)this.cache.json.push(typeof this[U]==="symbol"?E(this[U]):this[U]);return this.cache.json}stringify(){if(this.cache.stringify)return this.cache.stringify;return this.cache.stringify=v0(this)}stringifyAncestors(){if(this.cache.stringifyAncestors)return this.cache.stringifyAncestors;let U="",X=[U];for(let q of this)U=iX(U,q),X.push(U);return this.cache.stringifyAncestors=X}}class F2{chars;i;def;constructor(U){this.def=U,this.chars=[...U],this.i=0}shift(){return this.chars[this.i++]??""}get lookahead(){return this.chars[this.i]??""}get nextLookahead(){return this.chars[this.i+1]??""}get length(){return this.chars.length}shiftUntil(U){let X="";while(this.lookahead)if(U(this,X))break;else X+=this.shift();return X}shiftUntilEscapable(U){let X="";while(this.lookahead)if(this.lookahead===W1)if(this.shift(),U(this,X))X+=this.shift();else if(this.lookahead===W1)X+=this.shift();else X+=`${W1}${this.shift()}`;else if(U(this,X))break;else X+=this.shift();return X}shiftUntilLookahead(U){return typeof U==="string"?this.shiftUntil((X)=>X.lookahead===U):this.shiftUntil((X)=>(X.lookahead in U))}shiftUntilNonWhitespace(){return this.shiftUntil(()=>!(this.lookahead in c0))}jumpToIndex(U){this.i=U<0?this.length+U:U}jumpForward(U){this.i+=U}get location(){return this.i}get unscanned(){return this.chars.slice(this.i,this.length).join("")}get scanned(){return this.chars.slice(0,this.i).join("")}sliceChars(U,X){return this.chars.slice(U,X).join("")}lookaheadIs(U){return this.lookahead===U}lookaheadIsIn(U){return this.lookahead in U}}var sX=(U,X)=>`Unmatched ${U}${X===""?"":` before ${X}`}`,$6=(U)=>`Missing ${U}`;var lO=R0("implementedTraits");var lU="$ark",MG=2;while(lU in globalThis)lU=`$ark${MG++}`;var oX=lU;globalThis[oX]=_1;var V=_1,PG=(U)=>`${oX}.${U}`,d=(U)=>PG(_2(U));class L6 extends G2{argNames;body="";constructor(...U){super();this.argNames=U;for(let X of U){if(X in this)throw Error(`Arg name '${X}' would overwrite an existing property on FunctionBody`);this[X]=X}}indentation=0;indent(){return this.indentation+=4,this}dedent(){return this.indentation-=4,this}prop(U,X=!1){return dU(U,X)}index(U,X=!1){return rX(`${U}`,X)}line(U){return this.body+=`${" ".repeat(this.indentation)}${U}
150
+ ${q}}`:`{${G.join(", ")}}`}if(U instanceof Date)return $1(U);if("expression"in U&&typeof U.expression==="string")return U.expression;return Q},K1={onCycle:()=>"(cycle)",onSymbol:(U)=>`Symbol(${_2(U)})`,onFunction:(U)=>`Function(${_2(U)})`},L2=(U,X,q)=>{switch(r(U)){case"object":{let Z=U;if("toJSON"in Z&&typeof Z.toJSON==="function")return Z.toJSON();if(typeof Z==="function")return K1.onFunction(Z);if(q.includes(Z))return"(cycle)";let Q=[...q,Z];if(Array.isArray(Z))return Z.map((Y)=>L2(Y,X,Q));if(Z instanceof Date)return Z.toDateString();let G={};for(let Y in Z)G[Y]=L2(Z[Y],X,Q);for(let Y of Object.getOwnPropertySymbols(Z))G[X.onSymbol?.(Y)??Y.toString()]=L2(Z[Y],X,Q);return G}case"symbol":return K1.onSymbol(U);case"bigint":return X.onBigInt?.(U)??`${U}n`;case"undefined":return X.onUndefined??"undefined";case"string":return U.replace(/\\/g,"\\\\");default:return U}},$1=(U)=>{let X=U.getFullYear(),q=U.getMonth(),Z=U.getDate(),Q=U.getHours(),G=U.getMinutes(),Y=U.getSeconds(),J=U.getMilliseconds();if(q===0&&Z===1&&Q===0&&G===0&&Y===0&&J===0)return`${X}`;let H=`${VG[q]} ${Z}, ${X}`;if(Q===0&&G===0&&Y===0&&J===0)return H;let W=U.toLocaleTimeString(),$=W.endsWith(" AM")||W.endsWith(" PM")?W.slice(-3):"";if($)W=W.slice(0,-$.length);if(J)W+=`.${DG(J,3)}`;else if(RG.test(W))W=W.slice(0,-3);return`${W+$}, ${H}`},VG=["January","February","March","April","May","June","July","August","September","October","November","December"],RG=/:\d\d:00$/,DG=(U,X)=>String(U).padStart(X,"0");var iX=(U,X,...[q])=>{let Z=q?.stringifySymbol??E,Q=U;switch(typeof X){case"string":Q=i0(X)?U===""?X:`${U}.${X}`:`${U}[${JSON.stringify(X)}]`;break;case"number":Q=`${U}[${X}]`;break;case"symbol":Q=`${U}[${Z(X)}]`;break;default:if(q?.stringifyNonKey)Q=`${U}[${q.stringifyNonKey(X)}]`;else F(`${E(X)} must be a PropertyKey or stringifyNonKey must be passed to options`)}return Q},v0=(U,...X)=>U.reduce((q,Z)=>iX(q,Z,...X),"");class z2 extends JU{cache={};constructor(...U){super();this.push(...U)}toJSON(){if(this.cache.json)return this.cache.json;this.cache.json=[];for(let U=0;U<this.length;U++)this.cache.json.push(typeof this[U]==="symbol"?E(this[U]):this[U]);return this.cache.json}stringify(){if(this.cache.stringify)return this.cache.stringify;return this.cache.stringify=v0(this)}stringifyAncestors(){if(this.cache.stringifyAncestors)return this.cache.stringifyAncestors;let U="",X=[U];for(let q of this)U=iX(U,q),X.push(U);return this.cache.stringifyAncestors=X}}class F2{chars;i;def;constructor(U){this.def=U,this.chars=[...U],this.i=0}shift(){return this.chars[this.i++]??""}get lookahead(){return this.chars[this.i]??""}get nextLookahead(){return this.chars[this.i+1]??""}get length(){return this.chars.length}shiftUntil(U){let X="";while(this.lookahead)if(U(this,X))break;else X+=this.shift();return X}shiftUntilEscapable(U){let X="";while(this.lookahead)if(this.lookahead===W1)if(this.shift(),U(this,X))X+=this.shift();else if(this.lookahead===W1)X+=this.shift();else X+=`${W1}${this.shift()}`;else if(U(this,X))break;else X+=this.shift();return X}shiftUntilLookahead(U){return typeof U==="string"?this.shiftUntil((X)=>X.lookahead===U):this.shiftUntil((X)=>(X.lookahead in U))}shiftUntilNonWhitespace(){return this.shiftUntil(()=>!(this.lookahead in c0))}jumpToIndex(U){this.i=U<0?this.length+U:U}jumpForward(U){this.i+=U}get location(){return this.i}get unscanned(){return this.chars.slice(this.i,this.length).join("")}get scanned(){return this.chars.slice(0,this.i).join("")}sliceChars(U,X){return this.chars.slice(U,X).join("")}lookaheadIs(U){return this.lookahead===U}lookaheadIsIn(U){return this.lookahead in U}}var sX=(U,X)=>`Unmatched ${U}${X===""?"":` before ${X}`}`,$U=(U)=>`Missing ${U}`;var dB=D0("implementedTraits");var l6="$ark",MG=2;while(l6 in globalThis)l6=`$ark${MG++}`;var oX=l6;globalThis[oX]=_1;var O=_1,PG=(U)=>`${oX}.${U}`,d=(U)=>PG(_2(U));class LU extends G2{argNames;body="";constructor(...U){super();this.argNames=U;for(let X of U){if(X in this)throw Error(`Arg name '${X}' would overwrite an existing property on FunctionBody`);this[X]=X}}indentation=0;indent(){return this.indentation+=4,this}dedent(){return this.indentation-=4,this}prop(U,X=!1){return d6(U,X)}index(U,X=!1){return rX(`${U}`,X)}line(U){return this.body+=`${" ".repeat(this.indentation)}${U}
151
151
  `,this}const(U,X){return this.line(`const ${U} = ${X}`),this}let(U,X){return this.line(`let ${U} = ${X}`)}set(U,X){return this.line(`${U} = ${X}`)}if(U,X){return this.block(`if (${U})`,X)}elseIf(U,X){return this.block(`else if (${U})`,X)}else(U){return this.block("else",U)}for(U,X,q=0){return this.block(`for (let i = ${q}; ${U}; i++)`,X)}forIn(U,X){return this.block(`for (const k in ${U})`,X)}block(U,X,q=""){return this.line(`${U} {`),this.indent(),X(this),this.dedent(),this.line(`}${q}`)}return(U=""){return this.line(`return ${U}`)}write(U="anonymous",X=0){return`${U}(${this.argNames.join(", ")}) { ${X?this.body.split(`
152
152
  `).map((q)=>" ".repeat(X)+`${q}`).join(`
153
- `):this.body} }`}compile(){return new SX(...this.argNames,this.body)}}var M0=(U)=>Q0(U,"object")||typeof U==="symbol"?d(U):$2(U),dU=(U,X=!1)=>{if(typeof U==="string"&&i0(U))return`${X?"?":""}.${U}`;return rX(wG(U),X)},wG=(U)=>typeof U==="symbol"?d(U):JSON.stringify(U),rX=(U,X=!1)=>`${X?"?.":""}[${U}]`;class A2 extends L6{traversalKind;optimistic;constructor(U){super("data","ctx");this.traversalKind=U.kind,this.optimistic=U.optimistic===!0}invoke(U,X){let q=X?.arg??this.data,Z=typeof U==="string"?!0:this.requiresContextFor(U),Q=typeof U==="string"?U:U.id;if(Z)return`${this.referenceToId(Q,X)}(${q}, ${this.ctx})`;return`${this.referenceToId(Q,X)}(${q})`}referenceToId(U,X){let q=X?.kind??this.traversalKind,Z=`this.${U}${q}`;return X?.bind?`${Z}.bind(${X?.bind})`:Z}requiresContextFor(U){return this.traversalKind==="Apply"||U.allowsRequiresContext}initializeErrorCount(){return this.const("errorCount","ctx.currentErrorCount")}returnIfFail(){return this.if("ctx.currentErrorCount > errorCount",()=>this.return())}returnIfFailFast(){return this.if("ctx.failFast && ctx.currentErrorCount > errorCount",()=>this.return())}traverseKey(U,X,q){let Z=this.requiresContextFor(q);if(Z)this.line(`${this.ctx}.path.push(${U})`);if(this.check(q,{arg:X}),Z)this.line(`${this.ctx}.path.pop()`);return this}check(U,X){return this.traversalKind==="Allows"?this.if(`!${this.invoke(U,X)}`,()=>this.return(!1)):this.line(this.invoke(U,X))}}var z6=(U)=>S(U,(X,q)=>[X,h(q)?[...q]:q]),q0=R0("arkKind"),M=(U,X)=>U?.[q0]===X,x=(U)=>M(U,"root")||M(U,"constraint");var aX=["unit","proto","domain"],K1=["required","optional","index","sequence"],cU=["pattern","divisor","exactLength","max","min","maxLength","minLength","before","after"],iU=[...cU,"structure","predicate"],F6=[...iU,...K1],N1=["alias","union","morph","unit","intersection","proto","domain"],IG=[...N1,...F6],A6=S(F6,(U,X)=>[X,1]),nX=S([...K1,"undeclared"],(U,X)=>[X,1]),tX=S(IG,(U,X)=>[X,U]),C1=(U)=>typeof U==="string"&&(U in tX);var S1=(U)=>tX[U],V6=(U)=>N1.slice(S1(U)+1),KB=[...V6("union"),"alias"],NB=[...V6("morph"),"alias"],A0=(U)=>{if(typeof U==="string"||typeof U==="boolean"||U===null)return U;if(typeof U==="number"){if(Number.isNaN(U))return"NaN";if(U===Number.POSITIVE_INFINITY)return"Infinity";if(U===Number.NEGATIVE_INFINITY)return"-Infinity";return U}return M0(U)},s0=(U)=>{let X="{ ";for(let[q,Z]of Object.entries(U))X+=`${q}: ${M0(Z)}, `;return X+" }"},j=(U)=>{let X=U;if(X.hasAssociatedError)X.defaults.expected??=(q)=>("description"in q)?q.description:X.defaults.description(q),X.defaults.actual??=(q)=>E(q),X.defaults.problem??=(q)=>`must be ${q.expected}${q.actual?` (was ${q.actual})`:""}`,X.defaults.message??=(q)=>{if(q.path.length===0)return q.problem;let Z=`${q.propString} ${q.problem}`;if(Z[0]==="[")return`value at ${Z}`;return Z};return X};class eX extends Error{name="ToJsonSchemaError";code;context;constructor(U,X){super(E(X,{quoteKeys:!1,indent:4}));this.code=U,this.context=X}hasCode(U){return this.code===U}}var KG={target:"draft-2020-12",dialect:"https://json-schema.org/draft/2020-12/schema",useRefs:!1,fallback:{arrayObject:(U)=>p.throw("arrayObject",U),arrayPostfix:(U)=>p.throw("arrayPostfix",U),defaultValue:(U)=>p.throw("defaultValue",U),domain:(U)=>p.throw("domain",U),morph:(U)=>p.throw("morph",U),patternIntersection:(U)=>p.throw("patternIntersection",U),predicate:(U)=>p.throw("predicate",U),proto:(U)=>p.throw("proto",U),symbolKey:(U)=>p.throw("symbolKey",U),unit:(U)=>p.throw("unit",U),date:(U)=>p.throw("date",U)}},p={Error:eX,throw:(...U)=>{throw new p.Error(...U)},throwInternalOperandError:(U,X)=>g(`Unexpected JSON Schema input for ${U}: ${E(X)}`),defaultConfig:KG};V.config??={};var V2=(U,X)=>{if(!X)return U;let q={...U},Z;for(Z in X){let Q={...U.keywords};if(Z==="keywords"){for(let G in X[Z]){let Y=X.keywords[G];if(Y===void 0)continue;Q[G]=typeof Y==="string"?{description:Y}:Y}q.keywords=Q}else if(Z==="toJsonSchema")q[Z]=sU(U.toJsonSchema,X.toJsonSchema);else if(C1(Z))q[Z]={...U[Z],...X[Z]};else q[Z]=X[Z]}return q},NG={"draft-2020-12":"https://json-schema.org/draft/2020-12/schema","draft-07":"http://json-schema.org/draft-07/schema#"},sU=(U,X)=>{if(!U)return Uq(X??{},void 0);if(!X)return U;let q={...U},Z;for(Z in X)if(Z==="fallback")q.fallback=CG(U.fallback,X.fallback);else q[Z]=X[Z];return Uq(q,X)},Uq=(U,X)=>{if(X?.dialect!==void 0)return U;if(X?.target!==void 0)return{...U,dialect:NG[X.target]};return U},CG=(U,X)=>{U=Xq(U),X=Xq(X);let q={},Z;for(Z in p.defaultConfig.fallback)q[Z]=X[Z]??X.default??U[Z]??U.default??p.defaultConfig.fallback[Z];return q},Xq=(U)=>typeof U==="function"?{default:U}:U??{};class o0 extends G2{[q0]="error";path;data;nodeConfig;input;ctx;constructor({prefixPath:U,relativePath:X,...q},Z){super();this.input=q,this.ctx=Z,PX(this,q);let Q=Z.data;if(q.code==="union")q.errors=q.errors.flatMap((Y)=>{let J=Y.hasCode("union")?Y.errors:[Y];if(!U&&!X)return J;return J.map((H)=>H.transform((W)=>({...W,path:OX(U,W.path,X)})))});this.nodeConfig=Z.config[this.code];let G=[...q.path??Z.path];if(X)G.push(...X);if(U)G.unshift(...U);this.path=new z2(...G),this.data="data"in q?q.data:Q}transform(U){return new o0(U({data:this.data,path:this.path,...this.input}),this.ctx)}hasCode(U){return this.code===U}get propString(){return v0(this.path)}get expected(){if(this.input.expected)return this.input.expected;let U=this.meta?.expected??this.nodeConfig.expected;return typeof U==="function"?U(this.input):U}get actual(){if(this.input.actual)return this.input.actual;let U=this.meta?.actual??this.nodeConfig.actual;return typeof U==="function"?U(this.data):U}get problem(){if(this.input.problem)return this.input.problem;let U=this.meta?.problem??this.nodeConfig.problem;return typeof U==="function"?U(this):U}get message(){if(this.input.message)return this.input.message;let U=this.meta?.message??this.nodeConfig.message;return typeof U==="function"?U(this):U}get flat(){return this.hasCode("intersection")?[...this.errors]:[this]}toJSON(){return{data:this.data,path:this.path,...this.input,expected:this.expected,actual:this.actual,problem:this.problem,message:this.message}}toString(){return this.message}throw(){throw this}}class H0 extends J6{[q0]="errors";ctx;constructor(U){super();this.ctx=U}byPath=Object.create(null);get flatByPath(){return S(this.byPath,(U,X)=>[U,X.flat])}get flatProblemsByPath(){return S(this.byPath,(U,X)=>[U,X.flat.map((q)=>q.problem)])}byAncestorPath=Object.create(null);count=0;mutable=this;throw(){throw this.toTraversalError()}toTraversalError(){return new oU(this)}add(U){let X=this.byPath[U.propString];if(X){if(U===X)return;if(X.hasCode("union")&&X.errors.length===0)return;let q=U.hasCode("union")&&U.errors.length===0?U:new o0({code:"intersection",errors:X.hasCode("intersection")?[...X.errors,U]:[X,U]},this.ctx),Z=this.indexOf(X);this.mutable[Z===-1?this.length:Z]=q,this.byPath[U.propString]=q,this.addAncestorPaths(U)}else this.byPath[U.propString]=U,this.addAncestorPaths(U),this.mutable.push(U);this.count++}transform(U){let X=new H0(this.ctx);for(let q of this)X.add(U(q));return X}merge(U){for(let X of U)this.add(new o0({...X,path:[...this.ctx.path,...X.path]},this.ctx))}affectsPath(U){if(this.length===0)return!1;return U.stringifyAncestors().some((X)=>(X in this.byPath))||U.stringify()in this.byAncestorPath}get summary(){return this.toString()}get issues(){return this}toJSON(){return[...this.map((U)=>U.toJSON())]}toString(){return this.join(`
154
- `)}addAncestorPaths(U){for(let X of U.path.stringifyAncestors())this.byAncestorPath[X]=y(this.byAncestorPath[X],U)}}class oU extends Error{name="TraversalError";constructor(U){if(U.length===1)super(U.summary);else super(`
153
+ `):this.body} }`}compile(){return new SX(...this.argNames,this.body)}}var M0=(U)=>G0(U,"object")||typeof U==="symbol"?d(U):$2(U),d6=(U,X=!1)=>{if(typeof U==="string"&&i0(U))return`${X?"?":""}.${U}`;return rX(wG(U),X)},wG=(U)=>typeof U==="symbol"?d(U):JSON.stringify(U),rX=(U,X=!1)=>`${X?"?.":""}[${U}]`;class A2 extends LU{traversalKind;optimistic;constructor(U){super("data","ctx");this.traversalKind=U.kind,this.optimistic=U.optimistic===!0}invoke(U,X){let q=X?.arg??this.data,Z=typeof U==="string"?!0:this.requiresContextFor(U),Q=typeof U==="string"?U:U.id;if(Z)return`${this.referenceToId(Q,X)}(${q}, ${this.ctx})`;return`${this.referenceToId(Q,X)}(${q})`}referenceToId(U,X){let q=X?.kind??this.traversalKind,Z=`this.${U}${q}`;return X?.bind?`${Z}.bind(${X?.bind})`:Z}requiresContextFor(U){return this.traversalKind==="Apply"||U.allowsRequiresContext}initializeErrorCount(){return this.const("errorCount","ctx.currentErrorCount")}returnIfFail(){return this.if("ctx.currentErrorCount > errorCount",()=>this.return())}returnIfFailFast(){return this.if("ctx.failFast && ctx.currentErrorCount > errorCount",()=>this.return())}traverseKey(U,X,q){let Z=this.requiresContextFor(q);if(Z)this.line(`${this.ctx}.path.push(${U})`);if(this.check(q,{arg:X}),Z)this.line(`${this.ctx}.path.pop()`);return this}check(U,X){return this.traversalKind==="Allows"?this.if(`!${this.invoke(U,X)}`,()=>this.return(!1)):this.line(this.invoke(U,X))}}var zU=(U)=>S(U,(X,q)=>[X,h(q)?[...q]:q]),Z0=D0("arkKind"),M=(U,X)=>U?.[Z0]===X,x=(U)=>M(U,"root")||M(U,"constraint");var aX=["unit","proto","domain"],N1=["required","optional","index","sequence"],c6=["pattern","divisor","exactLength","max","min","maxLength","minLength","before","after"],i6=[...c6,"structure","predicate"],FU=[...i6,...N1],C1=["alias","union","morph","unit","intersection","proto","domain"],IG=[...C1,...FU],AU=S(FU,(U,X)=>[X,1]),nX=S([...N1,"undeclared"],(U,X)=>[X,1]),tX=S(IG,(U,X)=>[X,U]),S1=(U)=>typeof U==="string"&&(U in tX);var E1=(U)=>tX[U],OU=(U)=>C1.slice(E1(U)+1),NT=[...OU("union"),"alias"],CT=[...OU("morph"),"alias"],A0=(U)=>{if(typeof U==="string"||typeof U==="boolean"||U===null)return U;if(typeof U==="number"){if(Number.isNaN(U))return"NaN";if(U===Number.POSITIVE_INFINITY)return"Infinity";if(U===Number.NEGATIVE_INFINITY)return"-Infinity";return U}return M0(U)},s0=(U)=>{let X="{ ";for(let[q,Z]of Object.entries(U))X+=`${q}: ${M0(Z)}, `;return X+" }"},j=(U)=>{let X=U;if(X.hasAssociatedError)X.defaults.expected??=(q)=>("description"in q)?q.description:X.defaults.description(q),X.defaults.actual??=(q)=>E(q),X.defaults.problem??=(q)=>`must be ${q.expected}${q.actual?` (was ${q.actual})`:""}`,X.defaults.message??=(q)=>{if(q.path.length===0)return q.problem;let Z=`${q.propString} ${q.problem}`;if(Z[0]==="[")return`value at ${Z}`;return Z};return X};class eX extends Error{name="ToJsonSchemaError";code;context;constructor(U,X){super(E(X,{quoteKeys:!1,indent:4}));this.code=U,this.context=X}hasCode(U){return this.code===U}}var KG={target:"draft-2020-12",dialect:"https://json-schema.org/draft/2020-12/schema",useRefs:!1,fallback:{arrayObject:(U)=>p.throw("arrayObject",U),arrayPostfix:(U)=>p.throw("arrayPostfix",U),defaultValue:(U)=>p.throw("defaultValue",U),domain:(U)=>p.throw("domain",U),morph:(U)=>p.throw("morph",U),patternIntersection:(U)=>p.throw("patternIntersection",U),predicate:(U)=>p.throw("predicate",U),proto:(U)=>p.throw("proto",U),symbolKey:(U)=>p.throw("symbolKey",U),unit:(U)=>p.throw("unit",U),date:(U)=>p.throw("date",U)}},p={Error:eX,throw:(...U)=>{throw new p.Error(...U)},throwInternalOperandError:(U,X)=>y(`Unexpected JSON Schema input for ${U}: ${E(X)}`),defaultConfig:KG};O.config??={};var O2=(U,X)=>{if(!X)return U;let q={...U},Z;for(Z in X){let Q={...U.keywords};if(Z==="keywords"){for(let G in X[Z]){let Y=X.keywords[G];if(Y===void 0)continue;Q[G]=typeof Y==="string"?{description:Y}:Y}q.keywords=Q}else if(Z==="toJsonSchema")q[Z]=s6(U.toJsonSchema,X.toJsonSchema);else if(S1(Z))q[Z]={...U[Z],...X[Z]};else q[Z]=X[Z]}return q},NG={"draft-2020-12":"https://json-schema.org/draft/2020-12/schema","draft-07":"http://json-schema.org/draft-07/schema#"},s6=(U,X)=>{if(!U)return Uq(X??{},void 0);if(!X)return U;let q={...U},Z;for(Z in X)if(Z==="fallback")q.fallback=CG(U.fallback,X.fallback);else q[Z]=X[Z];return Uq(q,X)},Uq=(U,X)=>{if(X?.dialect!==void 0)return U;if(X?.target!==void 0)return{...U,dialect:NG[X.target]};return U},CG=(U,X)=>{U=Xq(U),X=Xq(X);let q={},Z;for(Z in p.defaultConfig.fallback)q[Z]=X[Z]??X.default??U[Z]??U.default??p.defaultConfig.fallback[Z];return q},Xq=(U)=>typeof U==="function"?{default:U}:U??{};class o0 extends G2{[Z0]="error";path;data;nodeConfig;input;ctx;constructor({prefixPath:U,relativePath:X,...q},Z){super();this.input=q,this.ctx=Z,PX(this,q);let Q=Z.data;if(q.code==="union")q.errors=q.errors.flatMap((Y)=>{let J=Y.hasCode("union")?Y.errors:[Y];if(!U&&!X)return J;return J.map((H)=>H.transform((W)=>({...W,path:BX(U,W.path,X)})))});this.nodeConfig=Z.config[this.code];let G=[...q.path??Z.path];if(X)G.push(...X);if(U)G.unshift(...U);this.path=new z2(...G),this.data="data"in q?q.data:Q}transform(U){return new o0(U({data:this.data,path:this.path,...this.input}),this.ctx)}hasCode(U){return this.code===U}get propString(){return v0(this.path)}get expected(){if(this.input.expected)return this.input.expected;let U=this.meta?.expected??this.nodeConfig.expected;return typeof U==="function"?U(this.input):U}get actual(){if(this.input.actual)return this.input.actual;let U=this.meta?.actual??this.nodeConfig.actual;return typeof U==="function"?U(this.data):U}get problem(){if(this.input.problem)return this.input.problem;let U=this.meta?.problem??this.nodeConfig.problem;return typeof U==="function"?U(this):U}get message(){if(this.input.message)return this.input.message;let U=this.meta?.message??this.nodeConfig.message;return typeof U==="function"?U(this):U}get flat(){return this.hasCode("intersection")?[...this.errors]:[this]}toJSON(){return{data:this.data,path:this.path,...this.input,expected:this.expected,actual:this.actual,problem:this.problem,message:this.message}}toString(){return this.message}throw(){throw this}}class W0 extends JU{[Z0]="errors";ctx;constructor(U){super();this.ctx=U}byPath=Object.create(null);get flatByPath(){return S(this.byPath,(U,X)=>[U,X.flat])}get flatProblemsByPath(){return S(this.byPath,(U,X)=>[U,X.flat.map((q)=>q.problem)])}byAncestorPath=Object.create(null);count=0;mutable=this;throw(){throw this.toTraversalError()}toTraversalError(){return new o6(this)}add(U){let X=this.byPath[U.propString];if(X){if(U===X)return;if(X.hasCode("union")&&X.errors.length===0)return;let q=U.hasCode("union")&&U.errors.length===0?U:new o0({code:"intersection",errors:X.hasCode("intersection")?[...X.errors,U]:[X,U]},this.ctx),Z=this.indexOf(X);this.mutable[Z===-1?this.length:Z]=q,this.byPath[U.propString]=q,this.addAncestorPaths(U)}else this.byPath[U.propString]=U,this.addAncestorPaths(U),this.mutable.push(U);this.count++}transform(U){let X=new W0(this.ctx);for(let q of this)X.add(U(q));return X}merge(U){for(let X of U)this.add(new o0({...X,path:[...this.ctx.path,...X.path]},this.ctx))}affectsPath(U){if(this.length===0)return!1;return U.stringifyAncestors().some((X)=>(X in this.byPath))||U.stringify()in this.byAncestorPath}get summary(){return this.toString()}get issues(){return this}toJSON(){return[...this.map((U)=>U.toJSON())]}toString(){return this.join(`
154
+ `)}addAncestorPaths(U){for(let X of U.path.stringifyAncestors())this.byAncestorPath[X]=g(this.byAncestorPath[X],U)}}class o6 extends Error{name="TraversalError";constructor(U){if(U.length===1)super(U.summary);else super(`
155
155
  `+U.map((X)=>` • ${SG(X)}`).join(`
156
156
  `));Object.defineProperty(this,"arkErrors",{value:U,enumerable:!1})}}var SG=(U)=>U.toString().split(`
157
157
  `).join(`
158
- `);class P0{path=[];errors=new H0(this);root;config;queuedMorphs=[];branches=[];seen={};constructor(U,X){this.root=U,this.config=X}get data(){let U=this.root;for(let X of this.path)U=U?.[X];return U}get propString(){return v0(this.path)}reject(U){return this.error(U),!1}mustBe(U){return this.error(U),!1}error(U){let X=typeof U==="object"?U.code?U:{...U,code:"predicate"}:{code:"predicate",expected:U};return this.errorFromContext(X)}hasError(){return this.currentErrorCount!==0}get currentBranch(){return this.branches[this.branches.length-1]}queueMorphs(U){let X={path:new z2(...this.path),morphs:U};if(this.currentBranch)this.currentBranch.queuedMorphs.push(X);else this.queuedMorphs.push(X)}finalize(U){if(this.queuedMorphs.length){if(typeof this.root==="object"&&this.root!==null&&this.config.clone)this.root=this.config.clone(this.root);this.applyQueuedMorphs()}if(this.hasError())return U?U(this.errors):this.errors;return this.root}get currentErrorCount(){return this.currentBranch?this.currentBranch.error?1:0:this.errors.count}get failFast(){return this.branches.length!==0}pushBranch(){this.branches.push({error:void 0,queuedMorphs:[]})}popBranch(){return this.branches.pop()}get external(){return this}errorFromNodeContext(U){return this.errorFromContext(U)}errorFromContext(U){let X=new o0(U,this);if(this.currentBranch)this.currentBranch.error=X;else this.errors.add(X);return X}applyQueuedMorphs(){while(this.queuedMorphs.length){let U=this.queuedMorphs;this.queuedMorphs=[];for(let{path:X,morphs:q}of U){if(this.errors.affectsPath(X))continue;this.applyMorphsAtPath(X,q)}}}applyMorphsAtPath(U,X){let q=U[U.length-1],Z;if(q!==void 0){Z=this.root;for(let Q=0;Q<U.length-1;Q++)Z=Z[U[Q]]}for(let Q of X){this.path=[...U];let G=x(Q),Y=Q(Z===void 0?this.root:Z[q],this);if(Y instanceof o0){if(!this.errors.includes(Y))this.errors.add(Y);break}if(Y instanceof H0){if(!G)this.errors.merge(Y);this.queuedMorphs=[];break}if(Z===void 0)this.root=Y;else Z[q]=Y;this.applyQueuedMorphs()}}}var W0=(U,X,q)=>{if(!q)return X();q.path.push(U);let Z=X();return q.path.pop(),Z};class B2 extends J0{attachments;$;onFail;includesTransform;includesContextualPredicate;isCyclic;allowsRequiresContext;rootApplyStrategy;contextFreeMorph;rootApply;referencesById;shallowReferences;flatRefs;flatMorphs;allows;get shallowMorphs(){return[]}constructor(U,X){super((Z,Q,G=this.onFail)=>{if(Q)return this.traverseApply(Z,Q),Q.hasError()?Q.errors:Q.data;return this.rootApply(Z,G)},{attach:U});this.attachments=U,this.$=X,this.onFail=this.meta.onFail??this.$.resolvedConfig.onFail,this.includesTransform=this.hasKind("morph")||this.hasKind("structure")&&this.structuralMorph!==void 0||this.hasKind("sequence")&&this.inner.defaultables!==void 0,this.includesContextualPredicate=this.hasKind("predicate")&&this.inner.predicate.length!==1,this.isCyclic=this.kind==="alias",this.referencesById={[this.id]:this},this.shallowReferences=this.hasKind("structure")?[this,...this.children]:this.children.reduce((Z,Q)=>fG(Z,Q.shallowReferences),[this]);let q=this.isStructural();this.flatRefs=[],this.flatMorphs=[];for(let Z=0;Z<this.children.length;Z++){if(this.includesTransform||=this.children[Z].includesTransform,this.includesContextualPredicate||=this.children[Z].includesContextualPredicate,this.isCyclic||=this.children[Z].isCyclic,!q){let Q=this.children[Z].flatRefs;for(let G=0;G<Q.length;G++){let Y=Q[G];if(!this.flatRefs.some((J)=>Zq(J,Y))){this.flatRefs.push(Y);for(let J of Y.node.branches)if(J.hasKind("morph")||J.hasKind("intersection")&&J.structure?.structuralMorph!==void 0)this.flatMorphs.push({path:Y.path,propString:Y.propString,node:J})}}}Object.assign(this.referencesById,this.children[Z].referencesById)}this.flatRefs.sort((Z,Q)=>Z.path.length>Q.path.length?1:Z.path.length<Q.path.length?-1:Z.propString>Q.propString?1:Z.propString<Q.propString?-1:Z.node.expression<Q.node.expression?-1:1),this.allowsRequiresContext=this.includesContextualPredicate||this.isCyclic,this.rootApplyStrategy=!this.allowsRequiresContext&&this.flatMorphs.length===0?this.shallowMorphs.length===0?"allows":this.shallowMorphs.every((Z)=>Z.length===1||Z.name==="$arkStructuralMorph")?this.hasKind("union")?this.branches.some((Z)=>Z.shallowMorphs.length>1)?"contextual":"branchedOptimistic":this.shallowMorphs.length>1?"contextual":"optimistic":"contextual":"contextual",this.rootApply=this.createRootApply(),this.allows=this.allowsRequiresContext?(Z)=>this.traverseAllows(Z,new P0(Z,this.$.resolvedConfig)):(Z)=>this.traverseAllows(Z)}createRootApply(){switch(this.rootApplyStrategy){case"allows":return(X,q)=>{if(this.allows(X))return X;let Z=new P0(X,this.$.resolvedConfig);return this.traverseApply(X,Z),Z.finalize(q)};case"contextual":return(X,q)=>{let Z=new P0(X,this.$.resolvedConfig);return this.traverseApply(X,Z),Z.finalize(q)};case"optimistic":this.contextFreeMorph=this.shallowMorphs[0];let U=this.$.resolvedConfig.clone;return(X,q)=>{if(this.allows(X))return this.contextFreeMorph(U&&(typeof X==="object"&&X!==null||typeof X==="function")?U(X):X);let Z=new P0(X,this.$.resolvedConfig);return this.traverseApply(X,Z),Z.finalize(q)};case"branchedOptimistic":return this.createBranchedOptimisticRootApply();default:return this.rootApplyStrategy,g(`Unexpected rootApplyStrategy ${this.rootApplyStrategy}`)}}compiledMeta=bG(this.metaJson);cacheGetter(U,X){return Object.defineProperty(this,U,{value:X}),X}get description(){return this.cacheGetter("description",this.meta?.description??this.$.resolvedConfig[this.kind].description(this))}get references(){return Object.values(this.referencesById)}precedence=S1(this.kind);precompilation;assert=(U,X)=>this(U,X,(q)=>q.throw());traverse(U,X){return this(U,X,null)}get in(){return this.cacheGetter("in",this.rawIn.isRoot()?this.$.finalize(this.rawIn):this.rawIn)}get rawIn(){return this.cacheGetter("rawIn",this.getIo("in"))}get out(){return this.cacheGetter("out",this.rawOut.isRoot()?this.$.finalize(this.rawOut):this.rawOut)}get rawOut(){return this.cacheGetter("rawOut",this.getIo("out"))}getIo(U){if(!this.includesTransform)return this;let X={};for(let[q,Z]of this.innerEntries){let Q=this.impl.keys[q];if(Q.reduceIo)Q.reduceIo(U,X,Z);else if(Q.child){let G=Z;X[q]=h(G)?G.map((Y)=>U==="in"?Y.rawIn:Y.rawOut):U==="in"?G.rawIn:G.rawOut}else X[q]=Z}return this.$.node(this.kind,X)}toJSON(){return this.json}toString(){return`Type<${this.expression}>`}equals(U){let X=x(U)?U:this.$.parseDefinition(U);return this.innerHash===X.innerHash}ifEquals(U){return this.equals(U)?this:void 0}hasKind(U){return this.kind===U}assertHasKind(U){if(this.kind!==U)Y1(`${this.kind} node was not of asserted kind ${U}`);return this}hasKindIn(...U){return U.includes(this.kind)}assertHasKindIn(...U){if(!F0(U,this.kind))Y1(`${this.kind} node was not one of asserted kinds ${U}`);return this}isBasis(){return F0(aX,this.kind)}isConstraint(){return F0(F6,this.kind)}isStructural(){return F0(K1,this.kind)}isRefinement(){return F0(iU,this.kind)}isRoot(){return F0(N1,this.kind)}isUnknown(){return this.hasKind("intersection")&&this.children.length===0}isNever(){return this.hasKind("union")&&this.children.length===0}hasUnit(U){return this.hasKind("unit")&&this.allows(U)}hasOpenIntersection(){return this.impl.intersectionIsOpen}get nestableExpression(){return this.expression}select(U){let X=O2.normalize(U);return this._select(X)}_select(U){let X=O2.applyBoundary[U.boundary??"references"](this);if(U.kind)X=X.filter((q)=>q.kind===U.kind);if(U.where)X=X.filter(U.where);return O2.applyMethod[U.method??"filter"](X,this,U)}transform(U,X){return this._transform(U,this._createTransformContext(X))}_createTransformContext(U){return{root:this,selected:void 0,seen:{},path:[],parseOptions:{prereduced:U?.prereduced??!1},undeclaredKeyHandling:void 0,...U}}_transform(U,X){let q=X.bindScope??this.$;if(X.seen[this.id])return this.$.lazilyResolve(X.seen[this.id]);if(X.shouldTransform?.(this,X)===!1)return this;let Z;if(X.seen[this.id]=()=>Z,this.hasKind("structure")&&this.undeclared!==X.undeclaredKeyHandling)X={...X,undeclaredKeyHandling:this.undeclared};let Q=S(this.inner,(W,$)=>{if(!this.impl.keys[W].child)return[W,$];let _=$;if(!h(_)){let A=_._transform(U,X);return A?[W,A]:[]}if(_.length===0)return[W,$];let L=_.flatMap((A)=>{return A._transform(U,X)??[]});return L.length?[W,L]:[]});delete X.seen[this.id];let G=Object.assign(Q,{meta:this.meta}),Y=X.selected&&!X.selected.includes(this)?G:U(this.kind,G,X);if(Y===null)return null;if(x(Y))return Z=Y;let J=Object.keys(Y);if((J.length===0||J.length===1&&J[0]==="meta")&&!S0(this.inner))return null;if((this.kind==="required"||this.kind==="optional"||this.kind==="index")&&!("value"in Y))return X.undeclaredKeyHandling?{...Y,value:V.intrinsic.unknown}:null;if(this.kind==="morph")Y.in??=V.intrinsic.unknown;return Z=q.node(this.kind,Y,X.parseOptions)}configureReferences(U,X="references"){let q=O2.normalize(X),Z=typeof U==="string"?(J,H)=>({...H,meta:{...H.meta,description:U}}):typeof U==="function"?(J,H)=>({...H,meta:U(H.meta)}):(J,H)=>({...H,meta:{...H.meta,...U}});if(q.boundary==="self")return this.$.node(this.kind,Z(this.kind,{...this.inner,meta:this.meta}));let Q=this._select(q),G=Q&&l0(Q),Y=q.boundary==="child"?(J,H)=>H.root.children.includes(J):q.boundary==="shallow"?(J)=>J.kind!=="structure":()=>!0;return this.$.finalize(this.transform(Z,{shouldTransform:Y,selected:G}))}}var O2={applyBoundary:{self:(U)=>[U],child:(U)=>[...U.children],shallow:(U)=>[...U.shallowReferences],references:(U)=>[...U.references]},applyMethod:{filter:(U)=>U,assertFilter:(U,X,q)=>{if(U.length===0)Y1(qq(X,q));return U},find:(U)=>U[0],assertFind:(U,X,q)=>{if(U.length===0)Y1(qq(X,q));return U[0]}},normalize:(U)=>typeof U==="function"?{boundary:"references",method:"filter",where:U}:typeof U==="string"?a(U,O2.applyBoundary)?{method:"filter",boundary:U}:{boundary:"references",method:"filter",kind:U}:{boundary:"references",method:"filter",...U}},qq=(U,X)=>`${U} had no references matching ${E(X)}.`,EG=(U)=>v0(U,{stringifyNonKey:(X)=>X.expression}),jG=/"(\$ark\.[^"]+)"/g,bG=(U)=>JSON.stringify(U).replace(jG,"$1"),w0=(U,X)=>({path:U,node:X,propString:EG(U)}),Zq=(U,X)=>U.propString===X.propString&&U.node.equals(X.node),rU=(U,X)=>C0(U,X,{isEqual:Zq}),fG=(U,X)=>C0(U,X,{isEqual:(q,Z)=>q.equals(Z)});class B extends Array{static init(U,X,q,Z){return new B({kind:U,l:X,r:q,path:Z?.path??[],optional:Z?.optional??!1})}add(U,X,q,Z){return this.push({kind:U,l:X,r:q,path:Z?.path??[],optional:Z?.optional??!1}),this}get summary(){return this.describeReasons()}describeReasons(){if(this.length===1){let{path:U,l:X,r:q}=this[0],Z=v0(U);return nU(`Intersection${Z&&` at ${Z}`} of ${Qq(X,q)}`)}return`The following intersections result in unsatisfiable types:
158
+ `);class P0{path=[];errors=new W0(this);root;config;queuedMorphs=[];branches=[];seen={};constructor(U,X){this.root=U,this.config=X}get data(){let U=this.root;for(let X of this.path)U=U?.[X];return U}get propString(){return v0(this.path)}reject(U){return this.error(U),!1}mustBe(U){return this.error(U),!1}error(U){let X=typeof U==="object"?U.code?U:{...U,code:"predicate"}:{code:"predicate",expected:U};return this.errorFromContext(X)}hasError(){return this.currentErrorCount!==0}get currentBranch(){return this.branches[this.branches.length-1]}queueMorphs(U){let X={path:new z2(...this.path),morphs:U};if(this.currentBranch)this.currentBranch.queuedMorphs.push(X);else this.queuedMorphs.push(X)}finalize(U){if(this.queuedMorphs.length){if(typeof this.root==="object"&&this.root!==null&&this.config.clone)this.root=this.config.clone(this.root);this.applyQueuedMorphs()}if(this.hasError())return U?U(this.errors):this.errors;return this.root}get currentErrorCount(){return this.currentBranch?this.currentBranch.error?1:0:this.errors.count}get failFast(){return this.branches.length!==0}pushBranch(){this.branches.push({error:void 0,queuedMorphs:[]})}popBranch(){return this.branches.pop()}get external(){return this}errorFromNodeContext(U){return this.errorFromContext(U)}errorFromContext(U){let X=new o0(U,this);if(this.currentBranch)this.currentBranch.error=X;else this.errors.add(X);return X}applyQueuedMorphs(){while(this.queuedMorphs.length){let U=this.queuedMorphs;this.queuedMorphs=[];for(let{path:X,morphs:q}of U){if(this.errors.affectsPath(X))continue;this.applyMorphsAtPath(X,q)}}}applyMorphsAtPath(U,X){let q=U[U.length-1],Z;if(q!==void 0){Z=this.root;for(let Q=0;Q<U.length-1;Q++)Z=Z[U[Q]]}for(let Q of X){this.path=[...U];let G=x(Q),Y=Q(Z===void 0?this.root:Z[q],this);if(Y instanceof o0){if(!this.errors.includes(Y))this.errors.add(Y);break}if(Y instanceof W0){if(!G)this.errors.merge(Y);this.queuedMorphs=[];break}if(Z===void 0)this.root=Y;else Z[q]=Y;this.applyQueuedMorphs()}}}var _0=(U,X,q)=>{if(!q)return X();q.path.push(U);let Z=X();return q.path.pop(),Z};class T2 extends H0{attachments;$;onFail;includesTransform;includesContextualPredicate;isCyclic;allowsRequiresContext;rootApplyStrategy;contextFreeMorph;rootApply;referencesById;shallowReferences;flatRefs;flatMorphs;allows;get shallowMorphs(){return[]}constructor(U,X){super((Z,Q,G=this.onFail)=>{if(Q)return this.traverseApply(Z,Q),Q.hasError()?Q.errors:Q.data;return this.rootApply(Z,G)},{attach:U});this.attachments=U,this.$=X,this.onFail=this.meta.onFail??this.$.resolvedConfig.onFail,this.includesTransform=this.hasKind("morph")||this.hasKind("structure")&&this.structuralMorph!==void 0||this.hasKind("sequence")&&this.inner.defaultables!==void 0,this.includesContextualPredicate=this.hasKind("predicate")&&this.inner.predicate.length!==1,this.isCyclic=this.kind==="alias",this.referencesById={[this.id]:this},this.shallowReferences=this.hasKind("structure")?[this,...this.children]:this.children.reduce((Z,Q)=>fG(Z,Q.shallowReferences),[this]);let q=this.isStructural();this.flatRefs=[],this.flatMorphs=[];for(let Z=0;Z<this.children.length;Z++){if(this.includesTransform||=this.children[Z].includesTransform,this.includesContextualPredicate||=this.children[Z].includesContextualPredicate,this.isCyclic||=this.children[Z].isCyclic,!q){let Q=this.children[Z].flatRefs;for(let G=0;G<Q.length;G++){let Y=Q[G];if(!this.flatRefs.some((J)=>Zq(J,Y))){this.flatRefs.push(Y);for(let J of Y.node.branches)if(J.hasKind("morph")||J.hasKind("intersection")&&J.structure?.structuralMorph!==void 0)this.flatMorphs.push({path:Y.path,propString:Y.propString,node:J})}}}Object.assign(this.referencesById,this.children[Z].referencesById)}this.flatRefs.sort((Z,Q)=>Z.path.length>Q.path.length?1:Z.path.length<Q.path.length?-1:Z.propString>Q.propString?1:Z.propString<Q.propString?-1:Z.node.expression<Q.node.expression?-1:1),this.allowsRequiresContext=this.includesContextualPredicate||this.isCyclic,this.rootApplyStrategy=!this.allowsRequiresContext&&this.flatMorphs.length===0?this.shallowMorphs.length===0?"allows":this.shallowMorphs.every((Z)=>Z.length===1||Z.name==="$arkStructuralMorph")?this.hasKind("union")?this.branches.some((Z)=>Z.shallowMorphs.length>1)?"contextual":"branchedOptimistic":this.shallowMorphs.length>1?"contextual":"optimistic":"contextual":"contextual",this.rootApply=this.createRootApply(),this.allows=this.allowsRequiresContext?(Z)=>this.traverseAllows(Z,new P0(Z,this.$.resolvedConfig)):(Z)=>this.traverseAllows(Z)}createRootApply(){switch(this.rootApplyStrategy){case"allows":return(X,q)=>{if(this.allows(X))return X;let Z=new P0(X,this.$.resolvedConfig);return this.traverseApply(X,Z),Z.finalize(q)};case"contextual":return(X,q)=>{let Z=new P0(X,this.$.resolvedConfig);return this.traverseApply(X,Z),Z.finalize(q)};case"optimistic":this.contextFreeMorph=this.shallowMorphs[0];let U=this.$.resolvedConfig.clone;return(X,q)=>{if(this.allows(X))return this.contextFreeMorph(U&&(typeof X==="object"&&X!==null||typeof X==="function")?U(X):X);let Z=new P0(X,this.$.resolvedConfig);return this.traverseApply(X,Z),Z.finalize(q)};case"branchedOptimistic":return this.createBranchedOptimisticRootApply();default:return this.rootApplyStrategy,y(`Unexpected rootApplyStrategy ${this.rootApplyStrategy}`)}}compiledMeta=bG(this.metaJson);cacheGetter(U,X){return Object.defineProperty(this,U,{value:X}),X}get description(){return this.cacheGetter("description",this.meta?.description??this.$.resolvedConfig[this.kind].description(this))}get references(){return Object.values(this.referencesById)}precedence=E1(this.kind);precompilation;assert=(U,X)=>this(U,X,(q)=>q.throw());traverse(U,X){return this(U,X,null)}get in(){return this.cacheGetter("in",this.rawIn.isRoot()?this.$.finalize(this.rawIn):this.rawIn)}get rawIn(){return this.cacheGetter("rawIn",this.getIo("in"))}get out(){return this.cacheGetter("out",this.rawOut.isRoot()?this.$.finalize(this.rawOut):this.rawOut)}get rawOut(){return this.cacheGetter("rawOut",this.getIo("out"))}getIo(U){if(!this.includesTransform)return this;let X={};for(let[q,Z]of this.innerEntries){let Q=this.impl.keys[q];if(Q.reduceIo)Q.reduceIo(U,X,Z);else if(Q.child){let G=Z;X[q]=h(G)?G.map((Y)=>U==="in"?Y.rawIn:Y.rawOut):U==="in"?G.rawIn:G.rawOut}else X[q]=Z}return this.$.node(this.kind,X)}toJSON(){return this.json}toString(){return`Type<${this.expression}>`}equals(U){let X=x(U)?U:this.$.parseDefinition(U);return this.innerHash===X.innerHash}ifEquals(U){return this.equals(U)?this:void 0}hasKind(U){return this.kind===U}assertHasKind(U){if(this.kind!==U)Y1(`${this.kind} node was not of asserted kind ${U}`);return this}hasKindIn(...U){return U.includes(this.kind)}assertHasKindIn(...U){if(!F0(U,this.kind))Y1(`${this.kind} node was not one of asserted kinds ${U}`);return this}isBasis(){return F0(aX,this.kind)}isConstraint(){return F0(FU,this.kind)}isStructural(){return F0(N1,this.kind)}isRefinement(){return F0(i6,this.kind)}isRoot(){return F0(C1,this.kind)}isUnknown(){return this.hasKind("intersection")&&this.children.length===0}isNever(){return this.hasKind("union")&&this.children.length===0}hasUnit(U){return this.hasKind("unit")&&this.allows(U)}hasOpenIntersection(){return this.impl.intersectionIsOpen}get nestableExpression(){return this.expression}select(U){let X=B2.normalize(U);return this._select(X)}_select(U){let X=B2.applyBoundary[U.boundary??"references"](this);if(U.kind)X=X.filter((q)=>q.kind===U.kind);if(U.where)X=X.filter(U.where);return B2.applyMethod[U.method??"filter"](X,this,U)}transform(U,X){return this._transform(U,this._createTransformContext(X))}_createTransformContext(U){return{root:this,selected:void 0,seen:{},path:[],parseOptions:{prereduced:U?.prereduced??!1},undeclaredKeyHandling:void 0,...U}}_transform(U,X){let q=X.bindScope??this.$;if(X.seen[this.id])return this.$.lazilyResolve(X.seen[this.id]);if(X.shouldTransform?.(this,X)===!1)return this;let Z;if(X.seen[this.id]=()=>Z,this.hasKind("structure")&&this.undeclared!==X.undeclaredKeyHandling)X={...X,undeclaredKeyHandling:this.undeclared};let Q=S(this.inner,(W,$)=>{if(!this.impl.keys[W].child)return[W,$];let _=$;if(!h(_)){let A=_._transform(U,X);return A?[W,A]:[]}if(_.length===0)return[W,$];let L=_.flatMap((A)=>{return A._transform(U,X)??[]});return L.length?[W,L]:[]});delete X.seen[this.id];let G=Object.assign(Q,{meta:this.meta}),Y=X.selected&&!X.selected.includes(this)?G:U(this.kind,G,X);if(Y===null)return null;if(x(Y))return Z=Y;let J=Object.keys(Y);if((J.length===0||J.length===1&&J[0]==="meta")&&!S0(this.inner))return null;if((this.kind==="required"||this.kind==="optional"||this.kind==="index")&&!("value"in Y))return X.undeclaredKeyHandling?{...Y,value:O.intrinsic.unknown}:null;if(this.kind==="morph")Y.in??=O.intrinsic.unknown;return Z=q.node(this.kind,Y,X.parseOptions)}configureReferences(U,X="references"){let q=B2.normalize(X),Z=typeof U==="string"?(J,H)=>({...H,meta:{...H.meta,description:U}}):typeof U==="function"?(J,H)=>({...H,meta:U(H.meta)}):(J,H)=>({...H,meta:{...H.meta,...U}});if(q.boundary==="self")return this.$.node(this.kind,Z(this.kind,{...this.inner,meta:this.meta}));let Q=this._select(q),G=Q&&l0(Q),Y=q.boundary==="child"?(J,H)=>H.root.children.includes(J):q.boundary==="shallow"?(J)=>J.kind!=="structure":()=>!0;return this.$.finalize(this.transform(Z,{shouldTransform:Y,selected:G}))}}var B2={applyBoundary:{self:(U)=>[U],child:(U)=>[...U.children],shallow:(U)=>[...U.shallowReferences],references:(U)=>[...U.references]},applyMethod:{filter:(U)=>U,assertFilter:(U,X,q)=>{if(U.length===0)Y1(qq(X,q));return U},find:(U)=>U[0],assertFind:(U,X,q)=>{if(U.length===0)Y1(qq(X,q));return U[0]}},normalize:(U)=>typeof U==="function"?{boundary:"references",method:"filter",where:U}:typeof U==="string"?a(U,B2.applyBoundary)?{method:"filter",boundary:U}:{boundary:"references",method:"filter",kind:U}:{boundary:"references",method:"filter",...U}},qq=(U,X)=>`${U} had no references matching ${E(X)}.`,EG=(U)=>v0(U,{stringifyNonKey:(X)=>X.expression}),jG=/"(\$ark\.[^"]+)"/g,bG=(U)=>JSON.stringify(U).replace(jG,"$1"),w0=(U,X)=>({path:U,node:X,propString:EG(U)}),Zq=(U,X)=>U.propString===X.propString&&U.node.equals(X.node),r6=(U,X)=>C0(U,X,{isEqual:Zq}),fG=(U,X)=>C0(U,X,{isEqual:(q,Z)=>q.equals(Z)});class T extends Array{static init(U,X,q,Z){return new T({kind:U,l:X,r:q,path:Z?.path??[],optional:Z?.optional??!1})}add(U,X,q,Z){return this.push({kind:U,l:X,r:q,path:Z?.path??[],optional:Z?.optional??!1}),this}get summary(){return this.describeReasons()}describeReasons(){if(this.length===1){let{path:U,l:X,r:q}=this[0],Z=v0(U);return n6(`Intersection${Z&&` at ${Z}`} of ${Qq(X,q)}`)}return`The following intersections result in unsatisfiable types:
159
159
  • ${this.map(({path:U,l:X,r:q})=>`${U}: ${Qq(X,q)}`).join(`
160
- • `)}`}throw(){return F(this.describeReasons())}invert(){let U=this.map((X)=>({...X,l:X.r,r:X.l}));if(!(U instanceof B))return new B(...U);return U}withPrefixKey(U,X){return this.map((q)=>({...q,path:[U,...q.path],optional:q.optional||X==="optional"}))}toNeverIfDisjoint(){return V.intrinsic.never}}var Qq=(U,X)=>`${aU(U)} and ${aU(X)}`,aU=(U)=>x(U)?U.expression:h(U)?U.map(aU).join(" | ")||"never":String(U),nU=(U)=>`${U} results in an unsatisfiable type`;var E1={},_0=(U,X,q)=>u(U,X,{$:q,invert:!1,pipe:!1}),T2=(U,X,q)=>u(U,X,{$:q,invert:!1,pipe:!0}),u=(U,X,q)=>{let Z=q.pipe?"|>":"&",Q=`${U.hash}${Z}${X.hash}`;if(E1[Q]!==void 0)return E1[Q];if(!q.pipe){let J=`${X.hash}${Z}${U.hash}`;if(E1[J]!==void 0){let H=E1[J],W=H instanceof B?H.invert():H;return E1[Q]=W,W}}let G=!q.pipe||!U.includesTransform&&!X.includesTransform;if(G&&U.equals(X))return U;let Y=G?tU(U,X,q):U.hasKindIn(...N1)?yG(U,X,q):tU(U,X,q);if(x(Y)){if(U.equals(Y))Y=U;else if(X.equals(Y))Y=X}return E1[Q]=Y,Y},tU=(U,X,q)=>{let Z=U.precedence<X.precedence?U.kind:X.kind,Q=U.impl.intersections[X.kind]??X.impl.intersections[U.kind];if(Q===void 0)return null;else if(Z===U.kind)return Q(U,X,q);else{let G=Q(X,U,{...q,invert:!q.invert});if(G instanceof B)G=G.invert();return G}},yG=(U,X,q)=>U.includesTransform||X.includesTransform?q.invert?Gq(X,U,q):Gq(U,X,q):tU(U,X,q),Gq=(U,X,q)=>U.distribute((Z)=>gG(Z,X,q),(Z)=>{let Q=Z.filter(x);if(Q.length===0)return B.init("union",U.branches,X.branches);if(Q.length<U.branches.length||!U.branches.every((J,H)=>J.rawIn.equals(Q[H].rawIn)))return q.$.parseSchema(Q);let G;if(Q.length===1){let J=Q[0];if(!G)return J;return q.$.node("morph",{...J.inner,in:J.rawIn.configure(G,"self")})}let Y={branches:Q};if(G)Y.meta=G;return q.$.parseSchema(Y)}),gG=(U,X,q)=>{if(U.hasKind("morph")){let Q=[...U.morphs];if(U.lastMorphIfNode){let G=u(U.lastMorphIfNode,X,q);if(G instanceof B)return G;Q[Q.length-1]=G}else Q.push(X);return q.$.node("morph",{morphs:Q,in:U.inner.in})}if(X.hasKind("morph")){let Q=u(U,X.rawIn,q);if(Q instanceof B)return Q;return q.$.node("morph",{morphs:[X],in:Q})}return q.$.node("morph",{morphs:[X],in:U})};class V0 extends B2{constructor(U,X){super(U,X);Object.defineProperty(this,q0,{value:"constraint",enumerable:!1})}impliedSiblings;intersect(U){return _0(this,U,this.$)}}class h0 extends V0{traverseApply=(U,X)=>{if(!this.traverseAllows(U,X))X.errorFromNodeContext(this.errorContext)};compile(U){if(U.traversalKind==="Allows")U.return(this.compiledCondition);else U.if(this.compiledNegation,()=>U.line(`ctx.errorFromNodeContext(${this.compiledErrorContext})`))}get errorContext(){return{code:this.kind,description:this.description,meta:this.meta,...this.inner}}get compiledErrorContext(){return s0(this.errorContext)}}var X0=(U)=>(X,q)=>{if(h(X)){if(X.length===0)return;let Q=X.map((G)=>q.$.node(U,G));if(U==="predicate")return Q;return Q.sort((G,Y)=>G.hash<Y.hash?-1:1)}let Z=q.$.node(U,X);return Z.hasOpenIntersection()?[Z]:Z},j1=(U)=>{let X=U.r.shift();if(!X){let Z=U.l.length===0&&U.kind==="structure"?V.intrinsic.unknown.internal:U.ctx.$.node(U.kind,Object.assign(U.baseInner,kG(U.l)),{prereduced:!0});for(let Q of U.roots){if(Z instanceof B)return Z;Z=u(Q,Z,U.ctx)}return Z}let q=!1;for(let Z=0;Z<U.l.length;Z++){let Q=u(U.l[Z],X,U.ctx);if(Q===null)continue;if(Q instanceof B)return Q;if(Q.isRoot())return U.roots.push(Q),U.l.splice(Z),j1(U);if(!q)U.l[Z]=Q,q=!0;else if(!U.l.includes(Q))return g(`Unexpectedly encountered multiple distinct intersection results for refinement ${X}`)}if(!q)U.l.push(X);if(U.kind==="intersection"){if(X.impliedSiblings)for(let Z of X.impliedSiblings)C0(U.r,Z)}return j1(U)},b1=(U)=>{return Object.entries(U).flatMap(([q,Z])=>(q in A6)?Z:[]).sort((q,Z)=>q.precedence<Z.precedence?-1:q.precedence>Z.precedence?1:q.kind==="predicate"&&Z.kind==="predicate"?0:q.hash<Z.hash?-1:1)},kG=(U)=>{let X={};for(let q of U)if(q.hasOpenIntersection())X[q.kind]=y(X[q.kind],q);else{if(X[q.kind])return g(`Unexpected intersection of closed refinements of kind ${q.kind}`);X[q.kind]=q}return X},Yq=(...U)=>F(Jq(...U)),Jq=(U,X,q)=>{let Z=q.hasKind("morph")?"a morph":q.isUnknown()?"unknown":q.exclude(X).defaultShortDescription;return`${fX(U)} operand must be ${X.description} (was ${Z})`};var Hq=(U,X,q)=>new r0(U,X,q,q,null);class O6 extends J0{}class r0 extends J0{[q0]="generic";paramDefs;bodyDef;$;arg$;baseInstantiation;hkt;description;constructor(U,X,q,Z,Q){super((...G)=>{let Y=S(this.names,(J,H)=>{let W=this.arg$.parse(G[J]);if(!W.extends(this.constraints[J]))F(vG(H,this.constraints[J].expression,W.expression));return[H,W]});if(this.defIsLazy()){let J=this.bodyDef(Y);return this.$.parse(J)}return this.$.parse(X,{args:Y})});this.paramDefs=U,this.bodyDef=X,this.$=q,this.arg$=Z,this.hkt=Q,this.description=Q?new Q().description??`a generic type for ${Q.constructor.name}`:"a generic type",this.baseInstantiation=this(...this.constraints)}defIsLazy(){return this.bodyDef instanceof O6}cacheGetter(U,X){return Object.defineProperty(this,U,{value:X}),X}get json(){return this.cacheGetter("json",{params:this.params.map((U)=>U[1].isUnknown()?U[0]:[U[0],U[1].json]),body:cX(this.bodyDef)})}get params(){return this.cacheGetter("params",this.paramDefs.map((U)=>typeof U==="string"?[U,V.intrinsic.unknown]:[U[0],this.$.parse(U[1])]))}get names(){return this.cacheGetter("names",this.params.map((U)=>U[0]))}get constraints(){return this.cacheGetter("constraints",this.params.map((U)=>U[1]))}get internal(){return this}get referencesById(){return this.baseInstantiation.internal.referencesById}get references(){return this.baseInstantiation.internal.references}}var vG=(U,X,q)=>`${U} must be assignable to ${X} (was ${q})`;var hG=j({kind:"predicate",hasAssociatedError:!0,collapsibleKey:"predicate",keys:{predicate:{}},normalize:(U)=>typeof U==="function"?{predicate:U}:U,defaults:{description:(U)=>`valid according to ${U.predicate.name||"an anonymous predicate"}`},intersectionIsOpen:!0,intersections:{predicate:()=>null}});class Wq extends V0{serializedPredicate=d(this.predicate);compiledCondition=`${this.serializedPredicate}(data, ctx)`;compiledNegation=`!${this.compiledCondition}`;impliedBasis=null;expression=this.serializedPredicate;traverseAllows=this.predicate;errorContext={code:"predicate",description:this.description,meta:this.meta};compiledErrorContext=s0(this.errorContext);traverseApply=(U,X)=>{let q=X.currentErrorCount;if(!this.predicate(U,X.external)&&X.currentErrorCount===q)X.errorFromNodeContext(this.errorContext)};compile(U){if(U.traversalKind==="Allows"){U.return(this.compiledCondition);return}U.initializeErrorCount(),U.if(`${this.compiledNegation} && ctx.currentErrorCount === errorCount`,()=>U.line(`ctx.errorFromNodeContext(${this.compiledErrorContext})`))}reduceJsonSchema(U,X){return X.fallback.predicate({code:"predicate",base:U,predicate:this.predicate})}}var eU={implementation:hG,Node:Wq};var xG=j({kind:"divisor",collapsibleKey:"rule",keys:{rule:{parse:(U)=>Number.isInteger(U)?U:F(uG(U))}},normalize:(U)=>typeof U==="number"?{rule:U}:U,hasAssociatedError:!0,defaults:{description:(U)=>U.rule===1?"an integer":U.rule===2?"even":`a multiple of ${U.rule}`},intersections:{divisor:(U,X,q)=>q.$.node("divisor",{rule:Math.abs(U.rule*X.rule/mG(U.rule,X.rule))})},obviatesBasisDescription:!0});class _q extends h0{traverseAllows=(U)=>U%this.rule===0;compiledCondition=`data % ${this.rule} === 0`;compiledNegation=`data % ${this.rule} !== 0`;impliedBasis=V.intrinsic.number.internal;expression=`% ${this.rule}`;reduceJsonSchema(U){if(U.type="integer",this.rule===1)return U;return U.multipleOf=this.rule,U}}var U4={implementation:xG,Node:_q};var uG=(U)=>`divisor must be an integer (was ${U})`,mG=(U,X)=>{let q,Z=U,Q=X;while(Q!==0)q=Q,Q=Z%Q,Z=q;return Z};class z0 extends h0{boundOperandKind=cG[this.kind];compiledActual=this.boundOperandKind==="value"?"data":this.boundOperandKind==="length"?"data.length":"data.valueOf()";comparator=iG(this.kind,this.exclusive);numericLimit=this.rule.valueOf();expression=`${this.comparator} ${this.rule}`;compiledCondition=`${this.compiledActual} ${this.comparator} ${this.numericLimit}`;compiledNegation=`${this.compiledActual} ${pG[this.comparator]} ${this.numericLimit}`;stringLimit=this.boundOperandKind==="date"?sG(this.numericLimit):`${this.numericLimit}`;limitKind=this.comparator["0"]==="<"?"upper":"lower";isStricterThan(U){return(this.limitKind==="upper"?this.numericLimit<U.numericLimit:this.numericLimit>U.numericLimit)||this.numericLimit===U.numericLimit&&this.exclusive===!0&&!U.exclusive}overlapsRange(U){if(this.isStricterThan(U))return!1;if(this.numericLimit===U.numericLimit&&(this.exclusive||U.exclusive))return!1;return!0}overlapIsUnit(U){return this.numericLimit===U.numericLimit&&!this.exclusive&&!U.exclusive}}var pG={"<":">=","<=":">",">":"<=",">=":"<"},lG={min:"max",minLength:"maxLength",after:"before"},B6={parse:(U)=>U||void 0},T6=(U)=>(X)=>{if(typeof X==="number")return{rule:X};let{exclusive:q,...Z}=X;return q?{...Z,rule:U==="minLength"?Z.rule+1:Z.rule-1}:Z},D6=(U)=>(X)=>{if(typeof X==="number"||typeof X==="string"||X instanceof Date)return{rule:X};let{exclusive:q,...Z}=X;if(!q)return Z;let Q=typeof Z.rule==="number"?Z.rule:typeof Z.rule==="string"?new Date(Z.rule).valueOf():Z.rule.valueOf();return q?{...Z,rule:U==="after"?Q+1:Q-1}:Z},R6=(U)=>typeof U==="string"||typeof U==="number"?new Date(U):U,dG=(U,X)=>`${U} bound must be a positive integer (was ${X})`,f1=(U)=>(X)=>{if(!Number.isInteger(X)||X<0)F(dG(U,X));return X},cG={min:"value",max:"value",minLength:"length",maxLength:"length",after:"date",before:"date"},iG=(U,X)=>`${a(U,lG)?">":"<"}${X?"":"="}`,sG=(U)=>typeof U==="string"?U:new Date(U).toLocaleString(),$q=(U)=>`Bounded expression ${U} must be exactly one of number, string, Array, or Date`;var oG=j({kind:"after",collapsibleKey:"rule",hasAssociatedError:!0,keys:{rule:{parse:R6,serialize:(U)=>U.toISOString()}},normalize:D6("after"),defaults:{description:(U)=>`${U.collapsibleLimitString} or later`,actual:$1},intersections:{after:(U,X)=>U.isStricterThan(X)?U:X}});class Lq extends z0{impliedBasis=V.intrinsic.Date.internal;collapsibleLimitString=$1(this.rule);traverseAllows=(U)=>U>=this.rule;reduceJsonSchema(U,X){return X.fallback.date({code:"date",base:U,after:this.rule})}}var X4={implementation:oG,Node:Lq};var rG=j({kind:"before",collapsibleKey:"rule",hasAssociatedError:!0,keys:{rule:{parse:R6,serialize:(U)=>U.toISOString()}},normalize:D6("before"),defaults:{description:(U)=>`${U.collapsibleLimitString} or earlier`,actual:$1},intersections:{before:(U,X)=>U.isStricterThan(X)?U:X,after:(U,X,q)=>U.overlapsRange(X)?U.overlapIsUnit(X)?q.$.node("unit",{unit:U.rule}):null:B.init("range",U,X)}});class zq extends z0{collapsibleLimitString=$1(this.rule);traverseAllows=(U)=>U<=this.rule;impliedBasis=V.intrinsic.Date.internal;reduceJsonSchema(U,X){return X.fallback.date({code:"date",base:U,before:this.rule})}}var q4={implementation:rG,Node:zq};var aG=j({kind:"exactLength",collapsibleKey:"rule",keys:{rule:{parse:f1("exactLength")}},normalize:(U)=>typeof U==="number"?{rule:U}:U,hasAssociatedError:!0,defaults:{description:(U)=>`exactly length ${U.rule}`,actual:(U)=>`${U.length}`},intersections:{exactLength:(U,X,q)=>B.init("unit",q.$.node("unit",{unit:U.rule}),q.$.node("unit",{unit:X.rule}),{path:["length"]}),minLength:(U,X)=>U.rule>=X.rule?U:B.init("range",U,X),maxLength:(U,X)=>U.rule<=X.rule?U:B.init("range",U,X)}});class Fq extends h0{traverseAllows=(U)=>U.length===this.rule;compiledCondition=`data.length === ${this.rule}`;compiledNegation=`data.length !== ${this.rule}`;impliedBasis=V.intrinsic.lengthBoundable.internal;expression=`== ${this.rule}`;reduceJsonSchema(U){switch(U.type){case"string":return U.minLength=this.rule,U.maxLength=this.rule,U;case"array":return U.minItems=this.rule,U.maxItems=this.rule,U;default:return p.throwInternalOperandError("exactLength",U)}}}var Z4={implementation:aG,Node:Fq};var nG=j({kind:"max",collapsibleKey:"rule",hasAssociatedError:!0,keys:{rule:{},exclusive:B6},normalize:(U)=>typeof U==="number"?{rule:U}:U,defaults:{description:(U)=>{if(U.rule===0)return U.exclusive?"negative":"non-positive";return`${U.exclusive?"less than":"at most"} ${U.rule}`}},intersections:{max:(U,X)=>U.isStricterThan(X)?U:X,min:(U,X,q)=>U.overlapsRange(X)?U.overlapIsUnit(X)?q.$.node("unit",{unit:U.rule}):null:B.init("range",U,X)},obviatesBasisDescription:!0});class Aq extends z0{impliedBasis=V.intrinsic.number.internal;traverseAllows=this.exclusive?(U)=>U<this.rule:(U)=>U<=this.rule;reduceJsonSchema(U){if(this.exclusive)U.exclusiveMaximum=this.rule;else U.maximum=this.rule;return U}}var Q4={implementation:nG,Node:Aq};var tG=j({kind:"maxLength",collapsibleKey:"rule",hasAssociatedError:!0,keys:{rule:{parse:f1("maxLength")}},reduce:(U,X)=>U.rule===0?X.node("exactLength",U):void 0,normalize:T6("maxLength"),defaults:{description:(U)=>`at most length ${U.rule}`,actual:(U)=>`${U.length}`},intersections:{maxLength:(U,X)=>U.isStricterThan(X)?U:X,minLength:(U,X,q)=>U.overlapsRange(X)?U.overlapIsUnit(X)?q.$.node("exactLength",{rule:U.rule}):null:B.init("range",U,X)}});class Vq extends z0{impliedBasis=V.intrinsic.lengthBoundable.internal;traverseAllows=(U)=>U.length<=this.rule;reduceJsonSchema(U){switch(U.type){case"string":return U.maxLength=this.rule,U;case"array":return U.maxItems=this.rule,U;default:return p.throwInternalOperandError("maxLength",U)}}}var G4={implementation:tG,Node:Vq};var eG=j({kind:"min",collapsibleKey:"rule",hasAssociatedError:!0,keys:{rule:{},exclusive:B6},normalize:(U)=>typeof U==="number"?{rule:U}:U,defaults:{description:(U)=>{if(U.rule===0)return U.exclusive?"positive":"non-negative";return`${U.exclusive?"more than":"at least"} ${U.rule}`}},intersections:{min:(U,X)=>U.isStricterThan(X)?U:X},obviatesBasisDescription:!0});class Oq extends z0{impliedBasis=V.intrinsic.number.internal;traverseAllows=this.exclusive?(U)=>U>this.rule:(U)=>U>=this.rule;reduceJsonSchema(U){if(this.exclusive)U.exclusiveMinimum=this.rule;else U.minimum=this.rule;return U}}var Y4={implementation:eG,Node:Oq};var U5=j({kind:"minLength",collapsibleKey:"rule",hasAssociatedError:!0,keys:{rule:{parse:f1("minLength")}},reduce:(U)=>U.rule===0?V.intrinsic.unknown:void 0,normalize:T6("minLength"),defaults:{description:(U)=>U.rule===1?"non-empty":`at least length ${U.rule}`,actual:(U)=>U.length===0?"":`${U.length}`},intersections:{minLength:(U,X)=>U.isStricterThan(X)?U:X}});class Bq extends z0{impliedBasis=V.intrinsic.lengthBoundable.internal;traverseAllows=(U)=>U.length>=this.rule;reduceJsonSchema(U){switch(U.type){case"string":return U.minLength=this.rule,U;case"array":return U.minItems=this.rule,U;default:return p.throwInternalOperandError("minLength",U)}}}var J4={implementation:U5,Node:Bq};var Tq={min:Y4.implementation,max:Q4.implementation,minLength:J4.implementation,maxLength:G4.implementation,exactLength:Z4.implementation,after:X4.implementation,before:q4.implementation},Dq={min:Y4.Node,max:Q4.Node,minLength:J4.Node,maxLength:G4.Node,exactLength:Z4.Node,after:X4.Node,before:q4.Node};var X5=j({kind:"pattern",collapsibleKey:"rule",keys:{rule:{},flags:{}},normalize:(U)=>typeof U==="string"?{rule:U}:U instanceof RegExp?U.flags?{rule:U.source,flags:U.flags}:{rule:U.source}:U,obviatesBasisDescription:!0,obviatesBasisExpression:!0,hasAssociatedError:!0,intersectionIsOpen:!0,defaults:{description:(U)=>`matched by ${U.rule}`},intersections:{pattern:()=>null}});class Rq extends h0{instance=new RegExp(this.rule,this.flags);expression=`${this.instance}`;traverseAllows=this.instance.test.bind(this.instance);compiledCondition=`${this.expression}.test(data)`;compiledNegation=`!${this.compiledCondition}`;impliedBasis=V.intrinsic.string.internal;reduceJsonSchema(U,X){if(U.pattern)return X.fallback.patternIntersection({code:"patternIntersection",base:U,pattern:this.rule});return U.pattern=this.rule,U}}var H4={implementation:X5,Node:Rq};var D2=(U,X)=>{let q=q5(U);if(X&&!X.includes(q))return F(`Root of kind ${q} should be one of ${X}`);return q},q5=(U)=>{if(M(U,"root"))return U.kind;if(typeof U==="string")return U[0]==="$"?"alias":(U in G0)?"domain":"proto";if(typeof U==="function")return"proto";if(typeof U!=="object"||U===null)return F(Mq(U));if("morphs"in U)return"morph";if("branches"in U||h(U))return"union";if("unit"in U)return"unit";if("reference"in U)return"alias";let X=Object.keys(U);if(X.length===0||X.some((q)=>(q in A6)))return"intersection";if("proto"in U)return"proto";if("domain"in U)return"domain";return F(Mq(U))},Mq=(U)=>`${E(U)} is not a valid type schema`,Pq={},Z5=(U)=>h(U)?U.map((X)=>X.collapsibleJson):U.collapsibleJson,Z0={};V.nodesByRegisteredId=Z0;var W4=(U)=>{return Pq[U]??=0,`${U}${++Pq[U]}`},_4=(U)=>{let X=y1[U.kind],q=X.applyConfig?.(U.def,U.$.resolvedConfig)??U.def,Z={},{meta:Q,...G}=q,Y=Q===void 0?{}:typeof Q==="string"?{description:Q}:Q,J=fU(G).sort(([W],[$])=>C1(W)?C1($)?S1(W)-S1($):1:C1($)?-1:W<$?-1:1).filter(([W,$])=>{if(W.startsWith("meta.")){let _=W.slice(5);return Y[_]=$,!1}return!0});for(let W of J){let $=W[0],_=X.keys[$];if(!_)return F(`Key ${$} is not valid on ${U.kind} schema`);let L=_.parse?_.parse(W[1],U):W[1];if(L!==Y0&&(L!==void 0||_.preserveUndefined))Z[$]=L}if(X.reduce&&!U.prereduced){let W=X.reduce(Z,U.$);if(W){if(W instanceof B)return W.throw();return Q5(W,Y)}}return $4({id:U.id,kind:U.kind,inner:Z,meta:Y,$:U.$})},$4=({id:U,kind:X,inner:q,meta:Z,$:Q,ignoreCache:G})=>{let Y=y1[X],J=fU(q),H=[],W={};for(let[R,w]of J){let K=Y.keys[R],C=K.serialize??(K.child?Z5:A0);if(W[R]=C(w),K.child===!0){let N=w;if(h(N))H.push(...N);else H.push(N)}else if(typeof K.child==="function")H.push(...K.child(w))}if(Y.finalizeInnerJson)W=Y.finalizeInnerJson(W);let $={...W},_={};if(!S0(Z))_=S(Z,(R,w)=>[R,R==="examples"?w:A0(w)]),$.meta=M6(_,"description",!0);W=M6(W,Y.collapsibleKey,!1);let L=JSON.stringify({kind:X,...W});$=M6($,Y.collapsibleKey,!1);let A=M6($,Y.collapsibleKey,!0),T=JSON.stringify({kind:X,...$});if(Q.nodesByHash[T]&&!G)return Q.nodesByHash[T];let z={id:U,kind:X,impl:Y,inner:q,innerEntries:J,innerJson:W,innerHash:L,meta:Z,metaJson:_,json:$,hash:T,collapsibleJson:A,children:H};if(X!=="intersection"){for(let R in q)if(R!=="in"&&R!=="out")z[R]=q[R]}let O=new Iq[X](z,Q);return Q.nodesByHash[T]=O},wq=(U,X)=>{if(U.id===X)return U;if(x(Z0[X]))g(`Unexpected attempt to overwrite node id ${X}`);return $4({id:X,kind:U.kind,inner:U.inner,meta:U.meta,$:U.$,ignoreCache:!0})},Q5=(U,X,q)=>{if(q&&x(Z0[q]))g(`Unexpected attempt to overwrite node id ${q}`);return $4({id:q??W4(X.alias??U.kind),kind:U.kind,inner:U.inner,meta:X,$:U.$})},M6=(U,X,q)=>{let Z=Object.keys(U);if(Z.length===1&&Z[0]===X){let Q=U[X];if(q)return Q;if(Q0(Q,"object")&&(Object.keys(Q).length===1||Array.isArray(Q)))return Q}return U};var R2=(U,X,q)=>{if(U.key!==X.key)return null;let Z=U.key,Q=u(U.value,X.value,q),G=U.required||X.required?"required":"optional";if(Q instanceof B)if(G==="optional")Q=V.intrinsic.never.internal;else return Q.withPrefixKey(U.key,U.required&&X.required?"required":"optional");if(G==="required")return q.$.node("required",{key:Z,value:Q});let Y=U.hasDefault()?X.hasDefault()?U.default===X.default?U.default:F(L4(U.default,X.default)):U.default:X.hasDefault()?X.default:Y0;return q.$.node("optional",{key:Z,value:Q,default:Y})};class M2 extends V0{required=this.kind==="required";optional=this.kind==="optional";impliedBasis=V.intrinsic.object.internal;serializedKey=M0(this.key);compiledKey=typeof this.key==="string"?this.key:this.serializedKey;flatRefs=y(this.value.flatRefs.map((U)=>w0([this.key,...U.path],U.node)),w0([this.key],this.value));_transform(U,X){X.path.push(this.key);let q=super._transform(U,X);return X.path.pop(),q}hasDefault(){return"default"in this.inner}traverseAllows=(U,X)=>{if(this.key in U)return W0(this.key,()=>this.value.traverseAllows(U[this.key],X),X);return this.optional};traverseApply=(U,X)=>{if(this.key in U)W0(this.key,()=>this.value.traverseApply(U[this.key],X),X);else if(this.hasKind("required"))X.errorFromNodeContext(this.errorContext)};compile(U){if(U.if(`${this.serializedKey} in data`,()=>U.traverseKey(this.serializedKey,`data${U.prop(this.key)}`,this.value)),this.hasKind("required"))U.else(()=>U.traversalKind==="Apply"?U.line(`ctx.errorFromNodeContext(${this.compiledErrorContext})`):U.return(!1));if(U.traversalKind==="Allows")U.return(!0)}}var L4=(U,X)=>`Invalid intersection of default values ${E(U)} & ${E(X)}`;var G5=j({kind:"optional",hasAssociatedError:!1,intersectionIsOpen:!0,keys:{key:{},value:{child:!0,parse:(U,X)=>X.$.parseSchema(U)},default:{preserveUndefined:!0}},normalize:(U)=>U,reduce:(U,X)=>{if(X.resolvedConfig.exactOptionalPropertyTypes===!1){if(!U.value.allows(void 0))return X.node("optional",{...U,value:U.value.or(I.undefined)},{prereduced:!0})}},defaults:{description:(U)=>`${U.compiledKey}?: ${U.value.description}`},intersections:{optional:R2}});class Kq extends M2{constructor(...U){super(...U);if("default"in this.inner)w2(this.value,this.inner.default,this.key)}get rawIn(){let U=super.rawIn;if(!this.hasDefault())return U;return this.$.node("optional",H6(U.inner,{default:!0}),{prereduced:!0})}get outProp(){if(!this.hasDefault())return this;let{default:U,...X}=this.inner;return this.cacheGetter("outProp",this.$.node("required",X,{prereduced:!0}))}expression=this.hasDefault()?`${this.compiledKey}: ${this.value.expression} = ${E(this.inner.default)}`:`${this.compiledKey}?: ${this.value.expression}`;defaultValueMorph=J5(this);defaultValueMorphRef=this.defaultValueMorph&&d(this.defaultValueMorph)}var P2={implementation:G5,Node:Kq},Y5={},J5=(U)=>{if(!U.hasDefault())return;let X=`{${U.compiledKey}: ${U.value.id} = ${A0(U.default)}}`;return Y5[X]??=z4(U.key,U.value,U.default)},z4=(U,X,q)=>{if(typeof q==="function")return X.includesTransform?(Q,G)=>{return W0(U,()=>X(Q[U]=q(),G),G),Q}:(Q)=>{return Q[U]=q(),Q};let Z=X.includesTransform?X.assert(q):q;return Q0(Z,"object")?(Q,G)=>{return W0(U,()=>X(Q[U]=q,G),G),Q}:(Q)=>{return Q[U]=Z,Q}},w2=(U,X,q)=>{let Z=d0(X);if(Q0(X,"object")&&!Z)F(H5(q));let Q=U.in(Z?X():X);if(Q instanceof H0){if(q===null)F(`Default ${Q.summary}`);let G=Q.transform((Y)=>Y.transform((J)=>({...J,prefixPath:[q]})));F(`Default for ${G.summary}`)}return X},H5=(U)=>{return`Non-primitive default ${U===null?"":typeof U==="number"?`for value at [${U}] `:`for ${M0(U)} `}must be specified as a function like () => ({my: 'object'})`};class O0 extends B2{constructor(U,X){super(U,X);Object.defineProperty(this,q0,{value:"root",enumerable:!1})}get rawIn(){return super.rawIn}get rawOut(){return super.rawOut}get internal(){return this}get "~standard"(){return{vendor:"arktype",version:1,validate:(U)=>{let X=this(U);if(X instanceof H0)return X;return{value:X}},jsonSchema:{input:(U)=>this.rawIn.toJsonSchema({target:Nq(U.target),...U.libraryOptions}),output:(U)=>this.rawOut.toJsonSchema({target:Nq(U.target),...U.libraryOptions})}}}as(){return this}brand(U){if(U==="")return F(W5);return this}readonly(){return this}branches=this.hasKind("union")?this.inner.branches:[this];distribute(U,X){let q=this.branches.map(U);return X?.(q)??q}get shortDescription(){return this.meta.description??this.defaultShortDescription}toJsonSchema(U={}){let X=sU(this.$.resolvedConfig.toJsonSchema,U);X.useRefs||=this.isCyclic;let q=typeof X.dialect==="string"?{$schema:X.dialect}:{};if(Object.assign(q,this.toJsonSchemaRecurse(X)),X.useRefs){let Z=S(this.references,(Q,G)=>G.isRoot()&&!G.alwaysExpandJsonSchema?[G.id,G.toResolvedJsonSchema(X)]:[]);if(X.target==="draft-07")Object.assign(q,{definitions:Z});else q.$defs=Z}return q}toJsonSchemaRecurse(U){if(U.useRefs&&!this.alwaysExpandJsonSchema)return{$ref:`#/${U.target==="draft-07"?"definitions":"$defs"}/${this.id}`};return this.toResolvedJsonSchema(U)}get alwaysExpandJsonSchema(){return this.isBasis()||this.kind==="alias"||this.hasKind("union")&&this.isBoolean}toResolvedJsonSchema(U){let X=this.innerToJsonSchema(U);return Object.assign(X,this.metaJson)}intersect(U){let X=this.$.parseDefinition(U),q=this.rawIntersect(X);if(q instanceof B)return q;return this.$.finalize(q)}rawIntersect(U){return _0(this,U,this.$)}toNeverIfDisjoint(){return this}and(U){let X=this.intersect(U);return X instanceof B?X.throw():X}rawAnd(U){let X=this.rawIntersect(U);return X instanceof B?X.throw():X}or(U){let X=this.$.parseDefinition(U);return this.$.finalize(this.rawOr(X))}rawOr(U){let X=[...this.branches,...U.branches];return this.$.node("union",X)}map(U){return this.$.schema(this.applyStructuralOperation("map",[U]))}pick(...U){return this.$.schema(this.applyStructuralOperation("pick",U))}omit(...U){return this.$.schema(this.applyStructuralOperation("omit",U))}required(){return this.$.schema(this.applyStructuralOperation("required",[]))}partial(){return this.$.schema(this.applyStructuralOperation("partial",[]))}_keyof;keyof(){if(this._keyof)return this._keyof;let U=this.applyStructuralOperation("keyof",[]).reduce((X,q)=>X.intersect(q).toNeverIfDisjoint(),V.intrinsic.unknown.internal);if(U.branches.length===0)F(nU(`keyof ${this.expression}`));return this._keyof=this.$.finalize(U)}get props(){if(this.branches.length!==1)return F($5(this.expression));return[...this.applyStructuralOperation("props",[])[0]]}merge(U){let X=this.$.parseDefinition(U);return this.$.schema(X.distribute((q)=>this.applyStructuralOperation("merge",[Cq(q)??F(Sq("merge",q.expression))])))}applyStructuralOperation(U,X){return this.distribute((q)=>{if(q.equals(V.intrinsic.object)&&U!=="merge")return q;let Z=Cq(q);if(!Z)F(Sq(U,q.expression));if(U==="keyof")return Z.keyof();if(U==="get")return Z.get(...X);if(U==="props")return Z.props;let Q=U==="required"?"require":U==="partial"?"optionalize":U;return this.$.node("intersection",{domain:"object",structure:Z[Q](...X)})})}get(...U){if(U[0]===void 0)return this;return this.$.schema(this.applyStructuralOperation("get",U))}extract(U){let X=this.$.parseDefinition(U);return this.$.schema(this.branches.filter((q)=>q.extends(X)))}exclude(U){let X=this.$.parseDefinition(U);return this.$.schema(this.branches.filter((q)=>!q.extends(X)))}array(){return this.$.schema(this.isUnknown()?{proto:Array}:{proto:Array,sequence:this},{prereduced:!0})}overlaps(U){return!(this.intersect(U)instanceof B)}extends(U){if(this.isNever())return!0;let X=this.intersect(U);return!(X instanceof B)&&this.equals(X)}ifExtends(U){return this.extends(U)?this:void 0}subsumes(U){return this.$.parseDefinition(U).extends(this)}configure(U,X="shallow"){return this.configureReferences(U,X)}describe(U,X="shallow"){return this.configure({description:U},X)}optional(){return[this,"?"]}default(U){return w2(this,U,null),[this,"=",U]}from(U){return this.assert(U)}_pipe(...U){let X=U.reduce((q,Z)=>q.rawPipeOnce(Z),this);return this.$.finalize(X)}tryPipe(...U){let X=U.reduce((q,Z)=>q.rawPipeOnce(M(Z,"root")?Z:(Q,G)=>{try{return Z(Q,G)}catch(Y){return G.error({code:"predicate",predicate:Z,actual:`aborted due to error:
160
+ • `)}`}throw(){return F(this.describeReasons())}invert(){let U=this.map((X)=>({...X,l:X.r,r:X.l}));if(!(U instanceof T))return new T(...U);return U}withPrefixKey(U,X){return this.map((q)=>({...q,path:[U,...q.path],optional:q.optional||X==="optional"}))}toNeverIfDisjoint(){return O.intrinsic.never}}var Qq=(U,X)=>`${a6(U)} and ${a6(X)}`,a6=(U)=>x(U)?U.expression:h(U)?U.map(a6).join(" | ")||"never":String(U),n6=(U)=>`${U} results in an unsatisfiable type`;var j1={},$0=(U,X,q)=>u(U,X,{$:q,invert:!1,pipe:!1}),V2=(U,X,q)=>u(U,X,{$:q,invert:!1,pipe:!0}),u=(U,X,q)=>{let Z=q.pipe?"|>":"&",Q=`${U.hash}${Z}${X.hash}`;if(j1[Q]!==void 0)return j1[Q];if(!q.pipe){let J=`${X.hash}${Z}${U.hash}`;if(j1[J]!==void 0){let H=j1[J],W=H instanceof T?H.invert():H;return j1[Q]=W,W}}let G=!q.pipe||!U.includesTransform&&!X.includesTransform;if(G&&U.equals(X))return U;let Y=G?t6(U,X,q):U.hasKindIn(...C1)?gG(U,X,q):t6(U,X,q);if(x(Y)){if(U.equals(Y))Y=U;else if(X.equals(Y))Y=X}return j1[Q]=Y,Y},t6=(U,X,q)=>{let Z=U.precedence<X.precedence?U.kind:X.kind,Q=U.impl.intersections[X.kind]??X.impl.intersections[U.kind];if(Q===void 0)return null;else if(Z===U.kind)return Q(U,X,q);else{let G=Q(X,U,{...q,invert:!q.invert});if(G instanceof T)G=G.invert();return G}},gG=(U,X,q)=>U.includesTransform||X.includesTransform?q.invert?Gq(X,U,q):Gq(U,X,q):t6(U,X,q),Gq=(U,X,q)=>U.distribute((Z)=>yG(Z,X,q),(Z)=>{let Q=Z.filter(x);if(Q.length===0)return T.init("union",U.branches,X.branches);if(Q.length<U.branches.length||!U.branches.every((J,H)=>J.rawIn.equals(Q[H].rawIn)))return q.$.parseSchema(Q);let G;if(Q.length===1){let J=Q[0];if(!G)return J;return q.$.node("morph",{...J.inner,in:J.rawIn.configure(G,"self")})}let Y={branches:Q};if(G)Y.meta=G;return q.$.parseSchema(Y)}),yG=(U,X,q)=>{if(U.hasKind("morph")){let Q=[...U.morphs];if(U.lastMorphIfNode){let G=u(U.lastMorphIfNode,X,q);if(G instanceof T)return G;Q[Q.length-1]=G}else Q.push(X);return q.$.node("morph",{morphs:Q,in:U.inner.in})}if(X.hasKind("morph")){let Q=u(U,X.rawIn,q);if(Q instanceof T)return Q;return q.$.node("morph",{morphs:[X],in:Q})}return q.$.node("morph",{morphs:[X],in:U})};class O0 extends T2{constructor(U,X){super(U,X);Object.defineProperty(this,Z0,{value:"constraint",enumerable:!1})}impliedSiblings;intersect(U){return $0(this,U,this.$)}}class h0 extends O0{traverseApply=(U,X)=>{if(!this.traverseAllows(U,X))X.errorFromNodeContext(this.errorContext)};compile(U){if(U.traversalKind==="Allows")U.return(this.compiledCondition);else U.if(this.compiledNegation,()=>U.line(`ctx.errorFromNodeContext(${this.compiledErrorContext})`))}get errorContext(){return{code:this.kind,description:this.description,meta:this.meta,...this.inner}}get compiledErrorContext(){return s0(this.errorContext)}}var q0=(U)=>(X,q)=>{if(h(X)){if(X.length===0)return;let Q=X.map((G)=>q.$.node(U,G));if(U==="predicate")return Q;return Q.sort((G,Y)=>G.hash<Y.hash?-1:1)}let Z=q.$.node(U,X);return Z.hasOpenIntersection()?[Z]:Z},b1=(U)=>{let X=U.r.shift();if(!X){let Z=U.l.length===0&&U.kind==="structure"?O.intrinsic.unknown.internal:U.ctx.$.node(U.kind,Object.assign(U.baseInner,kG(U.l)),{prereduced:!0});for(let Q of U.roots){if(Z instanceof T)return Z;Z=u(Q,Z,U.ctx)}return Z}let q=!1;for(let Z=0;Z<U.l.length;Z++){let Q=u(U.l[Z],X,U.ctx);if(Q===null)continue;if(Q instanceof T)return Q;if(Q.isRoot())return U.roots.push(Q),U.l.splice(Z),b1(U);if(!q)U.l[Z]=Q,q=!0;else if(!U.l.includes(Q))return y(`Unexpectedly encountered multiple distinct intersection results for refinement ${X}`)}if(!q)U.l.push(X);if(U.kind==="intersection"){if(X.impliedSiblings)for(let Z of X.impliedSiblings)C0(U.r,Z)}return b1(U)},f1=(U)=>{return Object.entries(U).flatMap(([q,Z])=>(q in AU)?Z:[]).sort((q,Z)=>q.precedence<Z.precedence?-1:q.precedence>Z.precedence?1:q.kind==="predicate"&&Z.kind==="predicate"?0:q.hash<Z.hash?-1:1)},kG=(U)=>{let X={};for(let q of U)if(q.hasOpenIntersection())X[q.kind]=g(X[q.kind],q);else{if(X[q.kind])return y(`Unexpected intersection of closed refinements of kind ${q.kind}`);X[q.kind]=q}return X},Yq=(...U)=>F(Jq(...U)),Jq=(U,X,q)=>{let Z=q.hasKind("morph")?"a morph":q.isUnknown()?"unknown":q.exclude(X).defaultShortDescription;return`${fX(U)} operand must be ${X.description} (was ${Z})`};var Hq=(U,X,q)=>new r0(U,X,q,q,null);class BU extends H0{}class r0 extends H0{[Z0]="generic";paramDefs;bodyDef;$;arg$;baseInstantiation;hkt;description;constructor(U,X,q,Z,Q){super((...G)=>{let Y=S(this.names,(J,H)=>{let W=this.arg$.parse(G[J]);if(!W.extends(this.constraints[J]))F(vG(H,this.constraints[J].expression,W.expression));return[H,W]});if(this.defIsLazy()){let J=this.bodyDef(Y);return this.$.parse(J)}return this.$.parse(X,{args:Y})});this.paramDefs=U,this.bodyDef=X,this.$=q,this.arg$=Z,this.hkt=Q,this.description=Q?new Q().description??`a generic type for ${Q.constructor.name}`:"a generic type",this.baseInstantiation=this(...this.constraints)}defIsLazy(){return this.bodyDef instanceof BU}cacheGetter(U,X){return Object.defineProperty(this,U,{value:X}),X}get json(){return this.cacheGetter("json",{params:this.params.map((U)=>U[1].isUnknown()?U[0]:[U[0],U[1].json]),body:cX(this.bodyDef)})}get params(){return this.cacheGetter("params",this.paramDefs.map((U)=>typeof U==="string"?[U,O.intrinsic.unknown]:[U[0],this.$.parse(U[1])]))}get names(){return this.cacheGetter("names",this.params.map((U)=>U[0]))}get constraints(){return this.cacheGetter("constraints",this.params.map((U)=>U[1]))}get internal(){return this}get referencesById(){return this.baseInstantiation.internal.referencesById}get references(){return this.baseInstantiation.internal.references}}var vG=(U,X,q)=>`${U} must be assignable to ${X} (was ${q})`;var hG=j({kind:"predicate",hasAssociatedError:!0,collapsibleKey:"predicate",keys:{predicate:{}},normalize:(U)=>typeof U==="function"?{predicate:U}:U,defaults:{description:(U)=>`valid according to ${U.predicate.name||"an anonymous predicate"}`},intersectionIsOpen:!0,intersections:{predicate:()=>null}});class Wq extends O0{serializedPredicate=d(this.predicate);compiledCondition=`${this.serializedPredicate}(data, ctx)`;compiledNegation=`!${this.compiledCondition}`;impliedBasis=null;expression=this.serializedPredicate;traverseAllows=this.predicate;errorContext={code:"predicate",description:this.description,meta:this.meta};compiledErrorContext=s0(this.errorContext);traverseApply=(U,X)=>{let q=X.currentErrorCount;if(!this.predicate(U,X.external)&&X.currentErrorCount===q)X.errorFromNodeContext(this.errorContext)};compile(U){if(U.traversalKind==="Allows"){U.return(this.compiledCondition);return}U.initializeErrorCount(),U.if(`${this.compiledNegation} && ctx.currentErrorCount === errorCount`,()=>U.line(`ctx.errorFromNodeContext(${this.compiledErrorContext})`))}reduceJsonSchema(U,X){return X.fallback.predicate({code:"predicate",base:U,predicate:this.predicate})}}var e6={implementation:hG,Node:Wq};var xG=j({kind:"divisor",collapsibleKey:"rule",keys:{rule:{parse:(U)=>Number.isInteger(U)?U:F(uG(U))}},normalize:(U)=>typeof U==="number"?{rule:U}:U,hasAssociatedError:!0,defaults:{description:(U)=>U.rule===1?"an integer":U.rule===2?"even":`a multiple of ${U.rule}`},intersections:{divisor:(U,X,q)=>q.$.node("divisor",{rule:Math.abs(U.rule*X.rule/mG(U.rule,X.rule))})},obviatesBasisDescription:!0});class _q extends h0{traverseAllows=(U)=>U%this.rule===0;compiledCondition=`data % ${this.rule} === 0`;compiledNegation=`data % ${this.rule} !== 0`;impliedBasis=O.intrinsic.number.internal;expression=`% ${this.rule}`;reduceJsonSchema(U){if(U.type="integer",this.rule===1)return U;return U.multipleOf=this.rule,U}}var U4={implementation:xG,Node:_q};var uG=(U)=>`divisor must be an integer (was ${U})`,mG=(U,X)=>{let q,Z=U,Q=X;while(Q!==0)q=Q,Q=Z%Q,Z=q;return Z};class z0 extends h0{boundOperandKind=cG[this.kind];compiledActual=this.boundOperandKind==="value"?"data":this.boundOperandKind==="length"?"data.length":"data.valueOf()";comparator=iG(this.kind,this.exclusive);numericLimit=this.rule.valueOf();expression=`${this.comparator} ${this.rule}`;compiledCondition=`${this.compiledActual} ${this.comparator} ${this.numericLimit}`;compiledNegation=`${this.compiledActual} ${pG[this.comparator]} ${this.numericLimit}`;stringLimit=this.boundOperandKind==="date"?sG(this.numericLimit):`${this.numericLimit}`;limitKind=this.comparator["0"]==="<"?"upper":"lower";isStricterThan(U){return(this.limitKind==="upper"?this.numericLimit<U.numericLimit:this.numericLimit>U.numericLimit)||this.numericLimit===U.numericLimit&&this.exclusive===!0&&!U.exclusive}overlapsRange(U){if(this.isStricterThan(U))return!1;if(this.numericLimit===U.numericLimit&&(this.exclusive||U.exclusive))return!1;return!0}overlapIsUnit(U){return this.numericLimit===U.numericLimit&&!this.exclusive&&!U.exclusive}}var pG={"<":">=","<=":">",">":"<=",">=":"<"},lG={min:"max",minLength:"maxLength",after:"before"},TU={parse:(U)=>U||void 0},VU=(U)=>(X)=>{if(typeof X==="number")return{rule:X};let{exclusive:q,...Z}=X;return q?{...Z,rule:U==="minLength"?Z.rule+1:Z.rule-1}:Z},RU=(U)=>(X)=>{if(typeof X==="number"||typeof X==="string"||X instanceof Date)return{rule:X};let{exclusive:q,...Z}=X;if(!q)return Z;let Q=typeof Z.rule==="number"?Z.rule:typeof Z.rule==="string"?new Date(Z.rule).valueOf():Z.rule.valueOf();return q?{...Z,rule:U==="after"?Q+1:Q-1}:Z},DU=(U)=>typeof U==="string"||typeof U==="number"?new Date(U):U,dG=(U,X)=>`${U} bound must be a positive integer (was ${X})`,g1=(U)=>(X)=>{if(!Number.isInteger(X)||X<0)F(dG(U,X));return X},cG={min:"value",max:"value",minLength:"length",maxLength:"length",after:"date",before:"date"},iG=(U,X)=>`${a(U,lG)?">":"<"}${X?"":"="}`,sG=(U)=>typeof U==="string"?U:new Date(U).toLocaleString(),$q=(U)=>`Bounded expression ${U} must be exactly one of number, string, Array, or Date`;var oG=j({kind:"after",collapsibleKey:"rule",hasAssociatedError:!0,keys:{rule:{parse:DU,serialize:(U)=>U.toISOString()}},normalize:RU("after"),defaults:{description:(U)=>`${U.collapsibleLimitString} or later`,actual:$1},intersections:{after:(U,X)=>U.isStricterThan(X)?U:X}});class Lq extends z0{impliedBasis=O.intrinsic.Date.internal;collapsibleLimitString=$1(this.rule);traverseAllows=(U)=>U>=this.rule;reduceJsonSchema(U,X){return X.fallback.date({code:"date",base:U,after:this.rule})}}var X4={implementation:oG,Node:Lq};var rG=j({kind:"before",collapsibleKey:"rule",hasAssociatedError:!0,keys:{rule:{parse:DU,serialize:(U)=>U.toISOString()}},normalize:RU("before"),defaults:{description:(U)=>`${U.collapsibleLimitString} or earlier`,actual:$1},intersections:{before:(U,X)=>U.isStricterThan(X)?U:X,after:(U,X,q)=>U.overlapsRange(X)?U.overlapIsUnit(X)?q.$.node("unit",{unit:U.rule}):null:T.init("range",U,X)}});class zq extends z0{collapsibleLimitString=$1(this.rule);traverseAllows=(U)=>U<=this.rule;impliedBasis=O.intrinsic.Date.internal;reduceJsonSchema(U,X){return X.fallback.date({code:"date",base:U,before:this.rule})}}var q4={implementation:rG,Node:zq};var aG=j({kind:"exactLength",collapsibleKey:"rule",keys:{rule:{parse:g1("exactLength")}},normalize:(U)=>typeof U==="number"?{rule:U}:U,hasAssociatedError:!0,defaults:{description:(U)=>`exactly length ${U.rule}`,actual:(U)=>`${U.length}`},intersections:{exactLength:(U,X,q)=>T.init("unit",q.$.node("unit",{unit:U.rule}),q.$.node("unit",{unit:X.rule}),{path:["length"]}),minLength:(U,X)=>U.rule>=X.rule?U:T.init("range",U,X),maxLength:(U,X)=>U.rule<=X.rule?U:T.init("range",U,X)}});class Fq extends h0{traverseAllows=(U)=>U.length===this.rule;compiledCondition=`data.length === ${this.rule}`;compiledNegation=`data.length !== ${this.rule}`;impliedBasis=O.intrinsic.lengthBoundable.internal;expression=`== ${this.rule}`;reduceJsonSchema(U){switch(U.type){case"string":return U.minLength=this.rule,U.maxLength=this.rule,U;case"array":return U.minItems=this.rule,U.maxItems=this.rule,U;default:return p.throwInternalOperandError("exactLength",U)}}}var Z4={implementation:aG,Node:Fq};var nG=j({kind:"max",collapsibleKey:"rule",hasAssociatedError:!0,keys:{rule:{},exclusive:TU},normalize:(U)=>typeof U==="number"?{rule:U}:U,defaults:{description:(U)=>{if(U.rule===0)return U.exclusive?"negative":"non-positive";return`${U.exclusive?"less than":"at most"} ${U.rule}`}},intersections:{max:(U,X)=>U.isStricterThan(X)?U:X,min:(U,X,q)=>U.overlapsRange(X)?U.overlapIsUnit(X)?q.$.node("unit",{unit:U.rule}):null:T.init("range",U,X)},obviatesBasisDescription:!0});class Aq extends z0{impliedBasis=O.intrinsic.number.internal;traverseAllows=this.exclusive?(U)=>U<this.rule:(U)=>U<=this.rule;reduceJsonSchema(U){if(this.exclusive)U.exclusiveMaximum=this.rule;else U.maximum=this.rule;return U}}var Q4={implementation:nG,Node:Aq};var tG=j({kind:"maxLength",collapsibleKey:"rule",hasAssociatedError:!0,keys:{rule:{parse:g1("maxLength")}},reduce:(U,X)=>U.rule===0?X.node("exactLength",U):void 0,normalize:VU("maxLength"),defaults:{description:(U)=>`at most length ${U.rule}`,actual:(U)=>`${U.length}`},intersections:{maxLength:(U,X)=>U.isStricterThan(X)?U:X,minLength:(U,X,q)=>U.overlapsRange(X)?U.overlapIsUnit(X)?q.$.node("exactLength",{rule:U.rule}):null:T.init("range",U,X)}});class Oq extends z0{impliedBasis=O.intrinsic.lengthBoundable.internal;traverseAllows=(U)=>U.length<=this.rule;reduceJsonSchema(U){switch(U.type){case"string":return U.maxLength=this.rule,U;case"array":return U.maxItems=this.rule,U;default:return p.throwInternalOperandError("maxLength",U)}}}var G4={implementation:tG,Node:Oq};var eG=j({kind:"min",collapsibleKey:"rule",hasAssociatedError:!0,keys:{rule:{},exclusive:TU},normalize:(U)=>typeof U==="number"?{rule:U}:U,defaults:{description:(U)=>{if(U.rule===0)return U.exclusive?"positive":"non-negative";return`${U.exclusive?"more than":"at least"} ${U.rule}`}},intersections:{min:(U,X)=>U.isStricterThan(X)?U:X},obviatesBasisDescription:!0});class Bq extends z0{impliedBasis=O.intrinsic.number.internal;traverseAllows=this.exclusive?(U)=>U>this.rule:(U)=>U>=this.rule;reduceJsonSchema(U){if(this.exclusive)U.exclusiveMinimum=this.rule;else U.minimum=this.rule;return U}}var Y4={implementation:eG,Node:Bq};var U5=j({kind:"minLength",collapsibleKey:"rule",hasAssociatedError:!0,keys:{rule:{parse:g1("minLength")}},reduce:(U)=>U.rule===0?O.intrinsic.unknown:void 0,normalize:VU("minLength"),defaults:{description:(U)=>U.rule===1?"non-empty":`at least length ${U.rule}`,actual:(U)=>U.length===0?"":`${U.length}`},intersections:{minLength:(U,X)=>U.isStricterThan(X)?U:X}});class Tq extends z0{impliedBasis=O.intrinsic.lengthBoundable.internal;traverseAllows=(U)=>U.length>=this.rule;reduceJsonSchema(U){switch(U.type){case"string":return U.minLength=this.rule,U;case"array":return U.minItems=this.rule,U;default:return p.throwInternalOperandError("minLength",U)}}}var J4={implementation:U5,Node:Tq};var Vq={min:Y4.implementation,max:Q4.implementation,minLength:J4.implementation,maxLength:G4.implementation,exactLength:Z4.implementation,after:X4.implementation,before:q4.implementation},Rq={min:Y4.Node,max:Q4.Node,minLength:J4.Node,maxLength:G4.Node,exactLength:Z4.Node,after:X4.Node,before:q4.Node};var X5=j({kind:"pattern",collapsibleKey:"rule",keys:{rule:{},flags:{}},normalize:(U)=>typeof U==="string"?{rule:U}:U instanceof RegExp?U.flags?{rule:U.source,flags:U.flags}:{rule:U.source}:U,obviatesBasisDescription:!0,obviatesBasisExpression:!0,hasAssociatedError:!0,intersectionIsOpen:!0,defaults:{description:(U)=>`matched by ${U.rule}`},intersections:{pattern:()=>null}});class Dq extends h0{instance=new RegExp(this.rule,this.flags);expression=`${this.instance}`;traverseAllows=this.instance.test.bind(this.instance);compiledCondition=`${this.expression}.test(data)`;compiledNegation=`!${this.compiledCondition}`;impliedBasis=O.intrinsic.string.internal;reduceJsonSchema(U,X){if(U.pattern)return X.fallback.patternIntersection({code:"patternIntersection",base:U,pattern:this.rule});return U.pattern=this.rule,U}}var H4={implementation:X5,Node:Dq};var R2=(U,X)=>{let q=q5(U);if(X&&!X.includes(q))return F(`Root of kind ${q} should be one of ${X}`);return q},q5=(U)=>{if(M(U,"root"))return U.kind;if(typeof U==="string")return U[0]==="$"?"alias":(U in Y0)?"domain":"proto";if(typeof U==="function")return"proto";if(typeof U!=="object"||U===null)return F(Mq(U));if("morphs"in U)return"morph";if("branches"in U||h(U))return"union";if("unit"in U)return"unit";if("reference"in U)return"alias";let X=Object.keys(U);if(X.length===0||X.some((q)=>(q in AU)))return"intersection";if("proto"in U)return"proto";if("domain"in U)return"domain";return F(Mq(U))},Mq=(U)=>`${E(U)} is not a valid type schema`,Pq={},Z5=(U)=>h(U)?U.map((X)=>X.collapsibleJson):U.collapsibleJson,Q0={};O.nodesByRegisteredId=Q0;var W4=(U)=>{return Pq[U]??=0,`${U}${++Pq[U]}`},_4=(U)=>{let X=y1[U.kind],q=X.applyConfig?.(U.def,U.$.resolvedConfig)??U.def,Z={},{meta:Q,...G}=q,Y=Q===void 0?{}:typeof Q==="string"?{description:Q}:Q,J=f6(G).sort(([W],[$])=>S1(W)?S1($)?E1(W)-E1($):1:S1($)?-1:W<$?-1:1).filter(([W,$])=>{if(W.startsWith("meta.")){let _=W.slice(5);return Y[_]=$,!1}return!0});for(let W of J){let $=W[0],_=X.keys[$];if(!_)return F(`Key ${$} is not valid on ${U.kind} schema`);let L=_.parse?_.parse(W[1],U):W[1];if(L!==J0&&(L!==void 0||_.preserveUndefined))Z[$]=L}if(X.reduce&&!U.prereduced){let W=X.reduce(Z,U.$);if(W){if(W instanceof T)return W.throw();return Q5(W,Y)}}return $4({id:U.id,kind:U.kind,inner:Z,meta:Y,$:U.$})},$4=({id:U,kind:X,inner:q,meta:Z,$:Q,ignoreCache:G})=>{let Y=y1[X],J=f6(q),H=[],W={};for(let[D,w]of J){let K=Y.keys[D],C=K.serialize??(K.child?Z5:A0);if(W[D]=C(w),K.child===!0){let N=w;if(h(N))H.push(...N);else H.push(N)}else if(typeof K.child==="function")H.push(...K.child(w))}if(Y.finalizeInnerJson)W=Y.finalizeInnerJson(W);let $={...W},_={};if(!S0(Z))_=S(Z,(D,w)=>[D,D==="examples"?w:A0(w)]),$.meta=MU(_,"description",!0);W=MU(W,Y.collapsibleKey,!1);let L=JSON.stringify({kind:X,...W});$=MU($,Y.collapsibleKey,!1);let A=MU($,Y.collapsibleKey,!0),V=JSON.stringify({kind:X,...$});if(Q.nodesByHash[V]&&!G)return Q.nodesByHash[V];let z={id:U,kind:X,impl:Y,inner:q,innerEntries:J,innerJson:W,innerHash:L,meta:Z,metaJson:_,json:$,hash:V,collapsibleJson:A,children:H};if(X!=="intersection"){for(let D in q)if(D!=="in"&&D!=="out")z[D]=q[D]}let B=new Iq[X](z,Q);return Q.nodesByHash[V]=B},wq=(U,X)=>{if(U.id===X)return U;if(x(Q0[X]))y(`Unexpected attempt to overwrite node id ${X}`);return $4({id:X,kind:U.kind,inner:U.inner,meta:U.meta,$:U.$,ignoreCache:!0})},Q5=(U,X,q)=>{if(q&&x(Q0[q]))y(`Unexpected attempt to overwrite node id ${q}`);return $4({id:q??W4(X.alias??U.kind),kind:U.kind,inner:U.inner,meta:X,$:U.$})},MU=(U,X,q)=>{let Z=Object.keys(U);if(Z.length===1&&Z[0]===X){let Q=U[X];if(q)return Q;if(G0(Q,"object")&&(Object.keys(Q).length===1||Array.isArray(Q)))return Q}return U};var D2=(U,X,q)=>{if(U.key!==X.key)return null;let Z=U.key,Q=u(U.value,X.value,q),G=U.required||X.required?"required":"optional";if(Q instanceof T)if(G==="optional")Q=O.intrinsic.never.internal;else return Q.withPrefixKey(U.key,U.required&&X.required?"required":"optional");if(G==="required")return q.$.node("required",{key:Z,value:Q});let Y=U.hasDefault()?X.hasDefault()?U.default===X.default?U.default:F(L4(U.default,X.default)):U.default:X.hasDefault()?X.default:J0;return q.$.node("optional",{key:Z,value:Q,default:Y})};class M2 extends O0{required=this.kind==="required";optional=this.kind==="optional";impliedBasis=O.intrinsic.object.internal;serializedKey=M0(this.key);compiledKey=typeof this.key==="string"?this.key:this.serializedKey;flatRefs=g(this.value.flatRefs.map((U)=>w0([this.key,...U.path],U.node)),w0([this.key],this.value));_transform(U,X){X.path.push(this.key);let q=super._transform(U,X);return X.path.pop(),q}hasDefault(){return"default"in this.inner}traverseAllows=(U,X)=>{if(this.key in U)return _0(this.key,()=>this.value.traverseAllows(U[this.key],X),X);return this.optional};traverseApply=(U,X)=>{if(this.key in U)_0(this.key,()=>this.value.traverseApply(U[this.key],X),X);else if(this.hasKind("required"))X.errorFromNodeContext(this.errorContext)};compile(U){if(U.if(`${this.serializedKey} in data`,()=>U.traverseKey(this.serializedKey,`data${U.prop(this.key)}`,this.value)),this.hasKind("required"))U.else(()=>U.traversalKind==="Apply"?U.line(`ctx.errorFromNodeContext(${this.compiledErrorContext})`):U.return(!1));if(U.traversalKind==="Allows")U.return(!0)}}var L4=(U,X)=>`Invalid intersection of default values ${E(U)} & ${E(X)}`;var G5=j({kind:"optional",hasAssociatedError:!1,intersectionIsOpen:!0,keys:{key:{},value:{child:!0,parse:(U,X)=>X.$.parseSchema(U)},default:{preserveUndefined:!0}},normalize:(U)=>U,reduce:(U,X)=>{if(X.resolvedConfig.exactOptionalPropertyTypes===!1){if(!U.value.allows(void 0))return X.node("optional",{...U,value:U.value.or(I.undefined)},{prereduced:!0})}},defaults:{description:(U)=>`${U.compiledKey}?: ${U.value.description}`},intersections:{optional:D2}});class Kq extends M2{constructor(...U){super(...U);if("default"in this.inner)w2(this.value,this.inner.default,this.key)}get rawIn(){let U=super.rawIn;if(!this.hasDefault())return U;return this.$.node("optional",HU(U.inner,{default:!0}),{prereduced:!0})}get outProp(){if(!this.hasDefault())return this;let{default:U,...X}=this.inner;return this.cacheGetter("outProp",this.$.node("required",X,{prereduced:!0}))}expression=this.hasDefault()?`${this.compiledKey}: ${this.value.expression} = ${E(this.inner.default)}`:`${this.compiledKey}?: ${this.value.expression}`;defaultValueMorph=J5(this);defaultValueMorphRef=this.defaultValueMorph&&d(this.defaultValueMorph)}var P2={implementation:G5,Node:Kq},Y5={},J5=(U)=>{if(!U.hasDefault())return;let X=`{${U.compiledKey}: ${U.value.id} = ${A0(U.default)}}`;return Y5[X]??=z4(U.key,U.value,U.default)},z4=(U,X,q)=>{if(typeof q==="function")return X.includesTransform?(Q,G)=>{return _0(U,()=>X(Q[U]=q(),G),G),Q}:(Q)=>{return Q[U]=q(),Q};let Z=X.includesTransform?X.assert(q):q;return G0(Z,"object")?(Q,G)=>{return _0(U,()=>X(Q[U]=q,G),G),Q}:(Q)=>{return Q[U]=Z,Q}},w2=(U,X,q)=>{let Z=d0(X);if(G0(X,"object")&&!Z)F(H5(q));let Q=U.in(Z?X():X);if(Q instanceof W0){if(q===null)F(`Default ${Q.summary}`);let G=Q.transform((Y)=>Y.transform((J)=>({...J,prefixPath:[q]})));F(`Default for ${G.summary}`)}return X},H5=(U)=>{return`Non-primitive default ${U===null?"":typeof U==="number"?`for value at [${U}] `:`for ${M0(U)} `}must be specified as a function like () => ({my: 'object'})`};class B0 extends T2{constructor(U,X){super(U,X);Object.defineProperty(this,Z0,{value:"root",enumerable:!1})}get rawIn(){return super.rawIn}get rawOut(){return super.rawOut}get internal(){return this}get "~standard"(){return{vendor:"arktype",version:1,validate:(U)=>{let X=this(U);if(X instanceof W0)return X;return{value:X}},jsonSchema:{input:(U)=>this.rawIn.toJsonSchema({target:Nq(U.target),...U.libraryOptions}),output:(U)=>this.rawOut.toJsonSchema({target:Nq(U.target),...U.libraryOptions})}}}as(){return this}brand(U){if(U==="")return F(W5);return this}readonly(){return this}branches=this.hasKind("union")?this.inner.branches:[this];distribute(U,X){let q=this.branches.map(U);return X?.(q)??q}get shortDescription(){return this.meta.description??this.defaultShortDescription}toJsonSchema(U={}){let X=s6(this.$.resolvedConfig.toJsonSchema,U);X.useRefs||=this.isCyclic;let q=typeof X.dialect==="string"?{$schema:X.dialect}:{};if(Object.assign(q,this.toJsonSchemaRecurse(X)),X.useRefs){let Z=S(this.references,(Q,G)=>G.isRoot()&&!G.alwaysExpandJsonSchema?[G.id,G.toResolvedJsonSchema(X)]:[]);if(X.target==="draft-07")Object.assign(q,{definitions:Z});else q.$defs=Z}return q}toJsonSchemaRecurse(U){if(U.useRefs&&!this.alwaysExpandJsonSchema)return{$ref:`#/${U.target==="draft-07"?"definitions":"$defs"}/${this.id}`};return this.toResolvedJsonSchema(U)}get alwaysExpandJsonSchema(){return this.isBasis()||this.kind==="alias"||this.hasKind("union")&&this.isBoolean}toResolvedJsonSchema(U){let X=this.innerToJsonSchema(U);return Object.assign(X,this.metaJson)}intersect(U){let X=this.$.parseDefinition(U),q=this.rawIntersect(X);if(q instanceof T)return q;return this.$.finalize(q)}rawIntersect(U){return $0(this,U,this.$)}toNeverIfDisjoint(){return this}and(U){let X=this.intersect(U);return X instanceof T?X.throw():X}rawAnd(U){let X=this.rawIntersect(U);return X instanceof T?X.throw():X}or(U){let X=this.$.parseDefinition(U);return this.$.finalize(this.rawOr(X))}rawOr(U){let X=[...this.branches,...U.branches];return this.$.node("union",X)}map(U){return this.$.schema(this.applyStructuralOperation("map",[U]))}pick(...U){return this.$.schema(this.applyStructuralOperation("pick",U))}omit(...U){return this.$.schema(this.applyStructuralOperation("omit",U))}required(){return this.$.schema(this.applyStructuralOperation("required",[]))}partial(){return this.$.schema(this.applyStructuralOperation("partial",[]))}_keyof;keyof(){if(this._keyof)return this._keyof;let U=this.applyStructuralOperation("keyof",[]).reduce((X,q)=>X.intersect(q).toNeverIfDisjoint(),O.intrinsic.unknown.internal);if(U.branches.length===0)F(n6(`keyof ${this.expression}`));return this._keyof=this.$.finalize(U)}get props(){if(this.branches.length!==1)return F($5(this.expression));return[...this.applyStructuralOperation("props",[])[0]]}merge(U){let X=this.$.parseDefinition(U);return this.$.schema(X.distribute((q)=>this.applyStructuralOperation("merge",[Cq(q)??F(Sq("merge",q.expression))])))}applyStructuralOperation(U,X){return this.distribute((q)=>{if(q.equals(O.intrinsic.object)&&U!=="merge")return q;let Z=Cq(q);if(!Z)F(Sq(U,q.expression));if(U==="keyof")return Z.keyof();if(U==="get")return Z.get(...X);if(U==="props")return Z.props;let Q=U==="required"?"require":U==="partial"?"optionalize":U;return this.$.node("intersection",{domain:"object",structure:Z[Q](...X)})})}get(...U){if(U[0]===void 0)return this;return this.$.schema(this.applyStructuralOperation("get",U))}extract(U){let X=this.$.parseDefinition(U);return this.$.schema(this.branches.filter((q)=>q.extends(X)))}exclude(U){let X=this.$.parseDefinition(U);return this.$.schema(this.branches.filter((q)=>!q.extends(X)))}array(){return this.$.schema(this.isUnknown()?{proto:Array}:{proto:Array,sequence:this},{prereduced:!0})}overlaps(U){return!(this.intersect(U)instanceof T)}extends(U){if(this.isNever())return!0;let X=this.intersect(U);return!(X instanceof T)&&this.equals(X)}ifExtends(U){return this.extends(U)?this:void 0}subsumes(U){return this.$.parseDefinition(U).extends(this)}configure(U,X="shallow"){return this.configureReferences(U,X)}describe(U,X="shallow"){return this.configure({description:U},X)}optional(){return[this,"?"]}default(U){return w2(this,U,null),[this,"=",U]}from(U){return this.assert(U)}_pipe(...U){let X=U.reduce((q,Z)=>q.rawPipeOnce(Z),this);return this.$.finalize(X)}tryPipe(...U){let X=U.reduce((q,Z)=>q.rawPipeOnce(M(Z,"root")?Z:(Q,G)=>{try{return Z(Q,G)}catch(Y){return G.error({code:"predicate",predicate:Z,actual:`aborted due to error:
161
161
  ${Y}
162
- `})}}),this);return this.$.finalize(X)}pipe=Object.assign(this._pipe.bind(this),{try:this.tryPipe.bind(this)});to(U){return this.$.finalize(this.toNode(this.$.parseDefinition(U)))}toNode(U){let X=T2(this,U,this.$);if(X instanceof B)return X.throw();return X}rawPipeOnce(U){if(M(U,"root"))return this.toNode(U);return this.distribute((X)=>X.hasKind("morph")?this.$.node("morph",{in:X.inner.in,morphs:[...X.morphs,U]}):this.$.node("morph",{in:X,morphs:[U]}),this.$.parseSchema)}narrow(U){return this.constrainOut("predicate",U)}constrain(U,X){return this._constrain("root",U,X)}constrainIn(U,X){return this._constrain("in",U,X)}constrainOut(U,X){return this._constrain("out",U,X)}_constrain(U,X,q){let Z=this.$.node(X,q);if(Z.isRoot())return Z.isUnknown()?this:g(`Unexpected constraint node ${Z}`);let Q=U==="root"?this:U==="in"?this.rawIn:this.rawOut;if(Q.hasKind("morph")||Z.impliedBasis&&!Q.extends(Z.impliedBasis))return Yq(X,Z.impliedBasis,this);let G=this.$.node("intersection",{[Z.kind]:Z}),Y=U==="out"?T2(this,G,this.$):_0(this,G,this.$);if(Y instanceof B)Y.throw();return this.$.finalize(Y)}onUndeclaredKey(U){let X=typeof U==="string"?U:U.rule,q=typeof U==="string"?!1:U.deep;return this.$.finalize(this.transform((Z,Q)=>Z==="structure"?X==="ignore"?H6(Q,{undeclared:1}):{...Q,undeclared:X}:Q,q?void 0:{shouldTransform:(Z)=>!F0(K1,Z.kind)}))}hasEqualMorphs(U){if(!this.includesTransform&&!U.includesTransform)return!0;if(!g0(this.shallowMorphs,U.shallowMorphs))return!1;if(!g0(this.flatMorphs,U.flatMorphs,{isEqual:(X,q)=>X.propString===q.propString&&(X.node.hasKind("morph")&&q.node.hasKind("morph")?X.node.hasEqualMorphs(q.node):X.node.hasKind("intersection")&&q.node.hasKind("intersection")?X.node.structure?.structuralMorphRef===q.node.structure?.structuralMorphRef:!1)}))return!1;return!0}onDeepUndeclaredKey(U){return this.onUndeclaredKey({rule:U,deep:!0})}filter(U){return this.constrainIn("predicate",U)}divisibleBy(U){return this.constrain("divisor",U)}matching(U){return this.constrain("pattern",U)}atLeast(U){return this.constrain("min",U)}atMost(U){return this.constrain("max",U)}moreThan(U){return this.constrain("min",g1(U))}lessThan(U){return this.constrain("max",g1(U))}atLeastLength(U){return this.constrain("minLength",U)}atMostLength(U){return this.constrain("maxLength",U)}moreThanLength(U){return this.constrain("minLength",g1(U))}lessThanLength(U){return this.constrain("maxLength",g1(U))}exactlyLength(U){return this.constrain("exactLength",U)}atOrAfter(U){return this.constrain("after",U)}atOrBefore(U){return this.constrain("before",U)}laterThan(U){return this.constrain("after",g1(U))}earlierThan(U){return this.constrain("before",g1(U))}}var W5="Expected a non-empty brand name after #",Eq=["draft-2020-12","draft-07"],_5=(U)=>`JSONSchema target '${U}' is not supported (must be ${Eq.map((X)=>`"${X}"`).join(" or ")})`,Nq=(U)=>{if(!F0(Eq,U))F(_5(U));return U},g1=(U)=>typeof U==="object"&&!(U instanceof Date)?{...U,exclusive:!0}:{rule:U,exclusive:!0},I2=(U,X)=>M(X,"root")?M(U,"root")?U.extends(X):X.allows(U):M(U,"root")?U.hasUnit(X):X===U,Cq=(U)=>{if(U.hasKind("morph"))return null;if(U.hasKind("intersection"))return U.inner.structure??(U.basis?.domain==="object"?U.$.bindReference(V.intrinsic.emptyStructure):null);if(U.isBasis()&&U.domain==="object")return U.$.bindReference(V.intrinsic.emptyStructure);return null},$5=(U)=>`Props cannot be extracted from a union. Use .distribute to extract props from each branch instead. Received:
163
- ${U}`,Sq=(U,X)=>`${U} operand must be an object (was ${X})`;var E0=(U,X)=>S(V6(U),(q,Z)=>[Z,X]);var L5=(U)=>typeof U==="string"?{reference:U}:U,jq=(U)=>U instanceof B?V.intrinsic.never.internal:U,z5=j({kind:"alias",hasAssociatedError:!1,collapsibleKey:"reference",keys:{reference:{serialize:(U)=>U.startsWith("$")?U:`$ark.${U}`},resolve:{}},normalize:L5,defaults:{description:(U)=>U.reference},intersections:{alias:(U,X,q)=>q.$.lazilyResolve(()=>jq(u(U.resolution,X.resolution,q)),`${U.reference}${q.pipe?"=>":"&"}${X.reference}`),...E0("alias",(U,X,q)=>{if(X.isUnknown())return U;if(X.isNever())return X;if(X.isBasis()&&!X.overlaps(V.intrinsic.object))return B.init("assignability",V.intrinsic.object,X);return q.$.lazilyResolve(()=>jq(u(U.resolution,X,q)),`${U.reference}${q.pipe?"=>":"&"}${X.id}`)})}});class bq extends O0{expression=this.reference;structure=void 0;get resolution(){let U=this._resolve();return Z0[this.id]=U}_resolve(){if(this.resolve)return this.resolve();if(this.reference[0]==="$")return this.$.resolveRoot(this.reference.slice(1));let U=this.reference,X=Z0[U],q=[];while(M(X,"context")){if(q.includes(X.id))return F(F5(X.id,q));q.push(X.id),X=Z0[X.id]}if(!M(X,"root"))return g(`Unexpected resolution for reference ${this.reference}
162
+ `})}}),this);return this.$.finalize(X)}pipe=Object.assign(this._pipe.bind(this),{try:this.tryPipe.bind(this)});to(U){return this.$.finalize(this.toNode(this.$.parseDefinition(U)))}toNode(U){let X=V2(this,U,this.$);if(X instanceof T)return X.throw();return X}rawPipeOnce(U){if(M(U,"root"))return this.toNode(U);return this.distribute((X)=>X.hasKind("morph")?this.$.node("morph",{in:X.inner.in,morphs:[...X.morphs,U]}):this.$.node("morph",{in:X,morphs:[U]}),this.$.parseSchema)}narrow(U){return this.constrainOut("predicate",U)}constrain(U,X){return this._constrain("root",U,X)}constrainIn(U,X){return this._constrain("in",U,X)}constrainOut(U,X){return this._constrain("out",U,X)}_constrain(U,X,q){let Z=this.$.node(X,q);if(Z.isRoot())return Z.isUnknown()?this:y(`Unexpected constraint node ${Z}`);let Q=U==="root"?this:U==="in"?this.rawIn:this.rawOut;if(Q.hasKind("morph")||Z.impliedBasis&&!Q.extends(Z.impliedBasis))return Yq(X,Z.impliedBasis,this);let G=this.$.node("intersection",{[Z.kind]:Z}),Y=U==="out"?V2(this,G,this.$):$0(this,G,this.$);if(Y instanceof T)Y.throw();return this.$.finalize(Y)}onUndeclaredKey(U){let X=typeof U==="string"?U:U.rule,q=typeof U==="string"?!1:U.deep;return this.$.finalize(this.transform((Z,Q)=>Z==="structure"?X==="ignore"?HU(Q,{undeclared:1}):{...Q,undeclared:X}:Q,q?void 0:{shouldTransform:(Z)=>!F0(N1,Z.kind)}))}hasEqualMorphs(U){if(!this.includesTransform&&!U.includesTransform)return!0;if(!y0(this.shallowMorphs,U.shallowMorphs))return!1;if(!y0(this.flatMorphs,U.flatMorphs,{isEqual:(X,q)=>X.propString===q.propString&&(X.node.hasKind("morph")&&q.node.hasKind("morph")?X.node.hasEqualMorphs(q.node):X.node.hasKind("intersection")&&q.node.hasKind("intersection")?X.node.structure?.structuralMorphRef===q.node.structure?.structuralMorphRef:!1)}))return!1;return!0}onDeepUndeclaredKey(U){return this.onUndeclaredKey({rule:U,deep:!0})}filter(U){return this.constrainIn("predicate",U)}divisibleBy(U){return this.constrain("divisor",U)}matching(U){return this.constrain("pattern",U)}atLeast(U){return this.constrain("min",U)}atMost(U){return this.constrain("max",U)}moreThan(U){return this.constrain("min",k1(U))}lessThan(U){return this.constrain("max",k1(U))}atLeastLength(U){return this.constrain("minLength",U)}atMostLength(U){return this.constrain("maxLength",U)}moreThanLength(U){return this.constrain("minLength",k1(U))}lessThanLength(U){return this.constrain("maxLength",k1(U))}exactlyLength(U){return this.constrain("exactLength",U)}atOrAfter(U){return this.constrain("after",U)}atOrBefore(U){return this.constrain("before",U)}laterThan(U){return this.constrain("after",k1(U))}earlierThan(U){return this.constrain("before",k1(U))}}var W5="Expected a non-empty brand name after #",Eq=["draft-2020-12","draft-07"],_5=(U)=>`JSONSchema target '${U}' is not supported (must be ${Eq.map((X)=>`"${X}"`).join(" or ")})`,Nq=(U)=>{if(!F0(Eq,U))F(_5(U));return U},k1=(U)=>typeof U==="object"&&!(U instanceof Date)?{...U,exclusive:!0}:{rule:U,exclusive:!0},I2=(U,X)=>M(X,"root")?M(U,"root")?U.extends(X):X.allows(U):M(U,"root")?U.hasUnit(X):X===U,Cq=(U)=>{if(U.hasKind("morph"))return null;if(U.hasKind("intersection"))return U.inner.structure??(U.basis?.domain==="object"?U.$.bindReference(O.intrinsic.emptyStructure):null);if(U.isBasis()&&U.domain==="object")return U.$.bindReference(O.intrinsic.emptyStructure);return null},$5=(U)=>`Props cannot be extracted from a union. Use .distribute to extract props from each branch instead. Received:
163
+ ${U}`,Sq=(U,X)=>`${U} operand must be an object (was ${X})`;var E0=(U,X)=>S(OU(U),(q,Z)=>[Z,X]);var L5=(U)=>typeof U==="string"?{reference:U}:U,jq=(U)=>U instanceof T?O.intrinsic.never.internal:U,z5=j({kind:"alias",hasAssociatedError:!1,collapsibleKey:"reference",keys:{reference:{serialize:(U)=>U.startsWith("$")?U:`$ark.${U}`},resolve:{}},normalize:L5,defaults:{description:(U)=>U.reference},intersections:{alias:(U,X,q)=>q.$.lazilyResolve(()=>jq(u(U.resolution,X.resolution,q)),`${U.reference}${q.pipe?"=>":"&"}${X.reference}`),...E0("alias",(U,X,q)=>{if(X.isUnknown())return U;if(X.isNever())return X;if(X.isBasis()&&!X.overlaps(O.intrinsic.object))return T.init("assignability",O.intrinsic.object,X);return q.$.lazilyResolve(()=>jq(u(U.resolution,X,q)),`${U.reference}${q.pipe?"=>":"&"}${X.id}`)})}});class bq extends B0{expression=this.reference;structure=void 0;get resolution(){let U=this._resolve();return Q0[this.id]=U}_resolve(){if(this.resolve)return this.resolve();if(this.reference[0]==="$")return this.$.resolveRoot(this.reference.slice(1));let U=this.reference,X=Q0[U],q=[];while(M(X,"context")){if(q.includes(X.id))return F(F5(X.id,q));q.push(X.id),X=Q0[X.id]}if(!M(X,"root"))return y(`Unexpected resolution for reference ${this.reference}
164
164
  Seen: [${q.join("->")}]
165
- Resolution: ${E(X)}`);return X}get resolutionId(){if(this.reference.includes("&")||this.reference.includes("=>"))return this.resolution.id;if(this.reference[0]!=="$")return this.reference;let U=this.reference.slice(1),X=this.$.resolutions[U];if(typeof X==="string")return X;if(M(X,"root"))return X.id;return g(`Unexpected resolution for reference ${this.reference}: ${E(X)}`)}get defaultShortDescription(){return G0.object}innerToJsonSchema(U){return this.resolution.toJsonSchemaRecurse(U)}traverseAllows=(U,X)=>{let q=X.seen[this.reference];if(q?.includes(U))return!0;return X.seen[this.reference]=y(q,U),this.resolution.traverseAllows(U,X)};traverseApply=(U,X)=>{let q=X.seen[this.reference];if(q?.includes(U))return;X.seen[this.reference]=y(q,U),this.resolution.traverseApply(U,X)};compile(U){let X=this.resolutionId;U.if(`ctx.seen.${X} && ctx.seen.${X}.includes(data)`,()=>U.return(!0)),U.if(`!ctx.seen.${X}`,()=>U.line(`ctx.seen.${X} = []`)),U.line(`ctx.seen.${X}.push(data)`),U.return(U.invoke(X))}}var F5=(U,X)=>`Alias '${U}' has a shallow resolution cycle: ${[...X,U].join("->")}`,K2={implementation:z5,Node:bq};class L1 extends O0{traverseApply=(U,X)=>{if(!this.traverseAllows(U,X))X.errorFromNodeContext(this.errorContext)};get errorContext(){return{code:this.kind,description:this.description,meta:this.meta,...this.inner}}get compiledErrorContext(){return s0(this.errorContext)}compile(U){if(U.traversalKind==="Allows")U.return(this.compiledCondition);else U.if(this.compiledNegation,()=>U.line(`ctx.errorFromNodeContext(${this.compiledErrorContext})`))}}var A5=j({kind:"domain",hasAssociatedError:!0,collapsibleKey:"domain",keys:{domain:{},numberAllowsNaN:{}},normalize:(U)=>typeof U==="string"?{domain:U}:w1(U,"numberAllowsNaN")&&U.domain!=="number"?F(P6.writeBadAllowNanMessage(U.domain)):U,applyConfig:(U,X)=>U.numberAllowsNaN===void 0&&U.domain==="number"&&X.numberAllowsNaN?{...U,numberAllowsNaN:!0}:U,defaults:{description:(U)=>G0[U.domain],actual:(U)=>Number.isNaN(U)?"NaN":G0[r(U)]},intersections:{domain:(U,X)=>U.domain==="number"&&X.domain==="number"?U.numberAllowsNaN?X:U:B.init("domain",U,X)}});class fq extends L1{requiresNaNCheck=this.domain==="number"&&!this.numberAllowsNaN;traverseAllows=this.requiresNaNCheck?(U)=>typeof U==="number"&&!Number.isNaN(U):(U)=>r(U)===this.domain;compiledCondition=this.domain==="object"?'((typeof data === "object" && data !== null) || typeof data === "function")':`typeof data === "${this.domain}"${this.requiresNaNCheck?" && !Number.isNaN(data)":""}`;compiledNegation=this.domain==="object"?'((typeof data !== "object" || data === null) && typeof data !== "function")':`typeof data !== "${this.domain}"${this.requiresNaNCheck?" || Number.isNaN(data)":""}`;expression=this.numberAllowsNaN?"number | NaN":this.domain;get nestableExpression(){return this.numberAllowsNaN?`(${this.expression})`:this.expression}get defaultShortDescription(){return G0[this.domain]}innerToJsonSchema(U){if(this.domain==="bigint"||this.domain==="symbol")return U.fallback.domain({code:"domain",base:{},domain:this.domain});return{type:this.domain}}}var P6={implementation:A5,Node:fq,writeBadAllowNanMessage:(U)=>`numberAllowsNaN may only be specified with domain "number" (was ${U})`};var V5=j({kind:"intersection",hasAssociatedError:!0,normalize:(U)=>{if(x(U))return U;let{structure:X,...q}=U,Z=!!X,Q=X??{},G=S(q,(Y,J)=>{if(a(Y,nX)){if(Z)F(`Flattened structure key ${Y} cannot be specified alongside a root 'structure' key.`);return Q[Y]=J,[]}return[Y,J]});if(M(Q,"constraint")||!S0(Q))G.structure=Q;return G},finalizeInnerJson:({structure:U,...X})=>Q0(U,"object")?{...U,...X}:X,keys:{domain:{child:!0,parse:(U,X)=>X.$.node("domain",U)},proto:{child:!0,parse:(U,X)=>X.$.node("proto",U)},structure:{child:!0,parse:(U,X)=>X.$.node("structure",U),serialize:(U)=>{if(!U.sequence?.minLength)return U.collapsibleJson;let{sequence:X,...q}=U.collapsibleJson,{minVariadicLength:Z,...Q}=X,G=Q.variadic&&Object.keys(Q).length===1?Q.variadic:Q;return{...q,sequence:G}}},divisor:{child:!0,parse:X0("divisor")},max:{child:!0,parse:X0("max")},min:{child:!0,parse:X0("min")},maxLength:{child:!0,parse:X0("maxLength")},minLength:{child:!0,parse:X0("minLength")},exactLength:{child:!0,parse:X0("exactLength")},before:{child:!0,parse:X0("before")},after:{child:!0,parse:X0("after")},pattern:{child:!0,parse:X0("pattern")},predicate:{child:!0,parse:X0("predicate")}},reduce:(U,X)=>yq({},U,{$:X,invert:!1,pipe:!1}),defaults:{description:(U)=>{if(U.children.length===0)return"unknown";if(U.structure)return U.structure.description;let X=[];if(U.basis&&!U.prestructurals.some((q)=>q.impl.obviatesBasisDescription))X.push(U.basis.description);if(U.prestructurals.length){let q=U.prestructurals.slice().sort((Z,Q)=>Z.kind==="min"&&Q.kind==="max"?-1:0).map((Z)=>Z.description);X.push(...q)}if(U.inner.predicate)X.push(...U.inner.predicate.map((q)=>q.description));return X.join(" and ")},expected:(U)=>` ◦ ${U.errors.map((X)=>X.expected).join(`
165
+ Resolution: ${E(X)}`);return X}get resolutionId(){if(this.reference.includes("&")||this.reference.includes("=>"))return this.resolution.id;if(this.reference[0]!=="$")return this.reference;let U=this.reference.slice(1),X=this.$.resolutions[U];if(typeof X==="string")return X;if(M(X,"root"))return X.id;return y(`Unexpected resolution for reference ${this.reference}: ${E(X)}`)}get defaultShortDescription(){return Y0.object}innerToJsonSchema(U){return this.resolution.toJsonSchemaRecurse(U)}traverseAllows=(U,X)=>{let q=X.seen[this.reference];if(q?.includes(U))return!0;return X.seen[this.reference]=g(q,U),this.resolution.traverseAllows(U,X)};traverseApply=(U,X)=>{let q=X.seen[this.reference];if(q?.includes(U))return;X.seen[this.reference]=g(q,U),this.resolution.traverseApply(U,X)};compile(U){let X=this.resolutionId;U.if(`ctx.seen.${X} && ctx.seen.${X}.includes(data)`,()=>U.return(!0)),U.if(`!ctx.seen.${X}`,()=>U.line(`ctx.seen.${X} = []`)),U.line(`ctx.seen.${X}.push(data)`),U.return(U.invoke(X))}}var F5=(U,X)=>`Alias '${U}' has a shallow resolution cycle: ${[...X,U].join("->")}`,K2={implementation:z5,Node:bq};class L1 extends B0{traverseApply=(U,X)=>{if(!this.traverseAllows(U,X))X.errorFromNodeContext(this.errorContext)};get errorContext(){return{code:this.kind,description:this.description,meta:this.meta,...this.inner}}get compiledErrorContext(){return s0(this.errorContext)}compile(U){if(U.traversalKind==="Allows")U.return(this.compiledCondition);else U.if(this.compiledNegation,()=>U.line(`ctx.errorFromNodeContext(${this.compiledErrorContext})`))}}var A5=j({kind:"domain",hasAssociatedError:!0,collapsibleKey:"domain",keys:{domain:{},numberAllowsNaN:{}},normalize:(U)=>typeof U==="string"?{domain:U}:I1(U,"numberAllowsNaN")&&U.domain!=="number"?F(PU.writeBadAllowNanMessage(U.domain)):U,applyConfig:(U,X)=>U.numberAllowsNaN===void 0&&U.domain==="number"&&X.numberAllowsNaN?{...U,numberAllowsNaN:!0}:U,defaults:{description:(U)=>Y0[U.domain],actual:(U)=>Number.isNaN(U)?"NaN":Y0[r(U)]},intersections:{domain:(U,X)=>U.domain==="number"&&X.domain==="number"?U.numberAllowsNaN?X:U:T.init("domain",U,X)}});class fq extends L1{requiresNaNCheck=this.domain==="number"&&!this.numberAllowsNaN;traverseAllows=this.requiresNaNCheck?(U)=>typeof U==="number"&&!Number.isNaN(U):(U)=>r(U)===this.domain;compiledCondition=this.domain==="object"?'((typeof data === "object" && data !== null) || typeof data === "function")':`typeof data === "${this.domain}"${this.requiresNaNCheck?" && !Number.isNaN(data)":""}`;compiledNegation=this.domain==="object"?'((typeof data !== "object" || data === null) && typeof data !== "function")':`typeof data !== "${this.domain}"${this.requiresNaNCheck?" || Number.isNaN(data)":""}`;expression=this.numberAllowsNaN?"number | NaN":this.domain;get nestableExpression(){return this.numberAllowsNaN?`(${this.expression})`:this.expression}get defaultShortDescription(){return Y0[this.domain]}innerToJsonSchema(U){if(this.domain==="bigint"||this.domain==="symbol")return U.fallback.domain({code:"domain",base:{},domain:this.domain});return{type:this.domain}}}var PU={implementation:A5,Node:fq,writeBadAllowNanMessage:(U)=>`numberAllowsNaN may only be specified with domain "number" (was ${U})`};var O5=j({kind:"intersection",hasAssociatedError:!0,normalize:(U)=>{if(x(U))return U;let{structure:X,...q}=U,Z=!!X,Q=X??{},G=S(q,(Y,J)=>{if(a(Y,nX)){if(Z)F(`Flattened structure key ${Y} cannot be specified alongside a root 'structure' key.`);return Q[Y]=J,[]}return[Y,J]});if(M(Q,"constraint")||!S0(Q))G.structure=Q;return G},finalizeInnerJson:({structure:U,...X})=>G0(U,"object")?{...U,...X}:X,keys:{domain:{child:!0,parse:(U,X)=>X.$.node("domain",U)},proto:{child:!0,parse:(U,X)=>X.$.node("proto",U)},structure:{child:!0,parse:(U,X)=>X.$.node("structure",U),serialize:(U)=>{if(!U.sequence?.minLength)return U.collapsibleJson;let{sequence:X,...q}=U.collapsibleJson,{minVariadicLength:Z,...Q}=X,G=Q.variadic&&Object.keys(Q).length===1?Q.variadic:Q;return{...q,sequence:G}}},divisor:{child:!0,parse:q0("divisor")},max:{child:!0,parse:q0("max")},min:{child:!0,parse:q0("min")},maxLength:{child:!0,parse:q0("maxLength")},minLength:{child:!0,parse:q0("minLength")},exactLength:{child:!0,parse:q0("exactLength")},before:{child:!0,parse:q0("before")},after:{child:!0,parse:q0("after")},pattern:{child:!0,parse:q0("pattern")},predicate:{child:!0,parse:q0("predicate")}},reduce:(U,X)=>gq({},U,{$:X,invert:!1,pipe:!1}),defaults:{description:(U)=>{if(U.children.length===0)return"unknown";if(U.structure)return U.structure.description;let X=[];if(U.basis&&!U.prestructurals.some((q)=>q.impl.obviatesBasisDescription))X.push(U.basis.description);if(U.prestructurals.length){let q=U.prestructurals.slice().sort((Z,Q)=>Z.kind==="min"&&Q.kind==="max"?-1:0).map((Z)=>Z.description);X.push(...q)}if(U.inner.predicate)X.push(...U.inner.predicate.map((q)=>q.description));return X.join(" and ")},expected:(U)=>` ◦ ${U.errors.map((X)=>X.expected).join(`
166
166
  ◦ `)}`,problem:(U)=>`(${U.actual}) must be...
167
- ${U.expected}`},intersections:{intersection:(U,X,q)=>yq(U.inner,X.inner,q),...E0("intersection",(U,X,q)=>{if(U.children.length===0)return X;let{domain:Z,proto:Q,...G}=U.inner,Y=Q??Z,J=Y?u(Y,X,q):X;return J instanceof B?J:U?.basis?.equals(J)?U:U.$.node("intersection",{...G,[J.kind]:J},{prereduced:!0})})}});class gq extends O0{basis=this.inner.domain??this.inner.proto??null;prestructurals=[];refinements=this.children.filter((U)=>{if(!U.isRefinement())return!1;if(F0(cU,U.kind))this.prestructurals.push(U);return!0});structure=this.inner.structure;expression=O5(this);get shallowMorphs(){return this.inner.structure?.structuralMorph?[this.inner.structure.structuralMorph]:[]}get defaultShortDescription(){return this.basis?.defaultShortDescription??"present"}innerToJsonSchema(U){return this.children.reduce((X,q)=>q.isBasis()?q.toJsonSchemaRecurse(U):q.reduceJsonSchema(X,U),{})}traverseAllows=(U,X)=>this.children.every((q)=>q.traverseAllows(U,X));traverseApply=(U,X)=>{let q=X.currentErrorCount;if(this.basis){if(this.basis.traverseApply(U,X),X.currentErrorCount>q)return}if(this.prestructurals.length){for(let Z=0;Z<this.prestructurals.length-1;Z++)if(this.prestructurals[Z].traverseApply(U,X),X.failFast&&X.currentErrorCount>q)return;if(this.prestructurals[this.prestructurals.length-1].traverseApply(U,X),X.currentErrorCount>q)return}if(this.structure){if(this.structure.traverseApply(U,X),X.currentErrorCount>q)return}if(this.inner.predicate){for(let Z=0;Z<this.inner.predicate.length-1;Z++)if(this.inner.predicate[Z].traverseApply(U,X),X.failFast&&X.currentErrorCount>q)return;this.inner.predicate[this.inner.predicate.length-1].traverseApply(U,X)}};compile(U){if(U.traversalKind==="Allows"){for(let X of this.children)U.check(X);U.return(!0);return}if(U.initializeErrorCount(),this.basis){if(U.check(this.basis),this.children.length>1)U.returnIfFail()}if(this.prestructurals.length){for(let X=0;X<this.prestructurals.length-1;X++)U.check(this.prestructurals[X]),U.returnIfFailFast();if(U.check(this.prestructurals[this.prestructurals.length-1]),this.structure||this.inner.predicate)U.returnIfFail()}if(this.structure){if(U.check(this.structure),this.inner.predicate)U.returnIfFail()}if(this.inner.predicate){for(let X=0;X<this.inner.predicate.length-1;X++)U.check(this.inner.predicate[X]),U.returnIfFail();U.check(this.inner.predicate[this.inner.predicate.length-1])}}}var F4={implementation:V5,Node:gq},O5=(U)=>{if(U.structure?.expression)return U.structure.expression;let X=U.basis&&!U.prestructurals.some((Q)=>Q.impl.obviatesBasisExpression)?U.basis.nestableExpression:"",q=U.prestructurals.map((Q)=>Q.expression).join(" & "),Z=`${X}${X?" ":""}${q}`;if(Z==="Array == 0")return"[]";return Z||"unknown"},yq=(U,X,q)=>{let Z={},Q=U.proto??U.domain,G=X.proto??X.domain,Y=Q?G?u(Q,G,q):Q:G;if(Y instanceof B)return Y;if(Y)Z[Y.kind]=Y;return j1({kind:"intersection",baseInner:Z,l:b1(U),r:b1(X),roots:[],ctx:q})};var B5=j({kind:"morph",hasAssociatedError:!1,keys:{in:{child:!0,parse:(U,X)=>X.$.parseSchema(U)},morphs:{parse:l0,serialize:(U)=>U.map((X)=>M(X,"root")?X.json:d(X))},declaredIn:{child:!1,serialize:(U)=>U.json},declaredOut:{child:!1,serialize:(U)=>U.json}},normalize:(U)=>U,defaults:{description:(U)=>`a morph from ${U.rawIn.description} to ${U.rawOut?.description??"unknown"}`},intersections:{morph:(U,X,q)=>{if(!U.hasEqualMorphs(X))return F(T5(U.expression,X.expression));let Z=u(U.rawIn,X.rawIn,q);if(Z instanceof B)return Z;let Q={morphs:U.morphs};if(U.declaredIn||X.declaredIn){let G=u(U.rawIn,X.rawIn,q);if(G instanceof B)return G.throw();else Q.declaredIn=G}if(U.declaredOut||X.declaredOut){let G=u(U.rawOut,X.rawOut,q);if(G instanceof B)return G.throw();else Q.declaredOut=G}return Z.distribute((G)=>q.$.node("morph",{...Q,in:G}),q.$.parseSchema)},...E0("morph",(U,X,q)=>{let Z=U.inner.in?u(U.inner.in,X,q):X;return Z instanceof B?Z:Z.equals(U.inner.in)?U:q.$.node("morph",{...U.inner,in:Z})})}});class kq extends O0{serializedMorphs=this.morphs.map(d);compiledMorphs=`[${this.serializedMorphs}]`;lastMorph=this.inner.morphs[this.inner.morphs.length-1];lastMorphIfNode=M(this.lastMorph,"root")?this.lastMorph:void 0;introspectableIn=this.inner.in;introspectableOut=this.lastMorphIfNode?Object.assign(this.referencesById,this.lastMorphIfNode.referencesById)&&this.lastMorphIfNode.rawOut:void 0;get shallowMorphs(){return Array.isArray(this.inner.in?.shallowMorphs)?[...this.inner.in.shallowMorphs,...this.morphs]:this.morphs}get rawIn(){return this.declaredIn??this.inner.in?.rawIn??V.intrinsic.unknown.internal}get rawOut(){return this.declaredOut??this.introspectableOut??V.intrinsic.unknown.internal}declareIn(U){return this.$.node("morph",{...this.inner,declaredIn:U})}declareOut(U){return this.$.node("morph",{...this.inner,declaredOut:U})}expression=`(In: ${this.rawIn.expression}) => ${this.lastMorphIfNode?"To":"Out"}<${this.rawOut.expression}>`;get defaultShortDescription(){return this.rawIn.meta.description??this.rawIn.defaultShortDescription}innerToJsonSchema(U){return U.fallback.morph({code:"morph",base:this.rawIn.toJsonSchemaRecurse(U),out:this.introspectableOut?.toJsonSchemaRecurse(U)??null})}compile(U){if(U.traversalKind==="Allows"){if(!this.introspectableIn)return;U.return(U.invoke(this.introspectableIn));return}if(this.introspectableIn)U.line(U.invoke(this.introspectableIn));U.line(`ctx.queueMorphs(${this.compiledMorphs})`)}traverseAllows=(U,X)=>!this.introspectableIn||this.introspectableIn.traverseAllows(U,X);traverseApply=(U,X)=>{if(this.introspectableIn)this.introspectableIn.traverseApply(U,X);X.queueMorphs(this.morphs)};hasEqualMorphs(U){return g0(this.morphs,U.morphs,{isEqual:(X,q)=>X===q||M(X,"root")&&M(q,"root")&&X.equals(q)})}}var A4={implementation:B5,Node:kq},T5=(U,X)=>`The intersection of distinct morphs at a single path is indeterminate:
167
+ ${U.expected}`},intersections:{intersection:(U,X,q)=>gq(U.inner,X.inner,q),...E0("intersection",(U,X,q)=>{if(U.children.length===0)return X;let{domain:Z,proto:Q,...G}=U.inner,Y=Q??Z,J=Y?u(Y,X,q):X;return J instanceof T?J:U?.basis?.equals(J)?U:U.$.node("intersection",{...G,[J.kind]:J},{prereduced:!0})})}});class yq extends B0{basis=this.inner.domain??this.inner.proto??null;prestructurals=[];refinements=this.children.filter((U)=>{if(!U.isRefinement())return!1;if(F0(c6,U.kind))this.prestructurals.push(U);return!0});structure=this.inner.structure;expression=B5(this);get shallowMorphs(){return this.inner.structure?.structuralMorph?[this.inner.structure.structuralMorph]:[]}get defaultShortDescription(){return this.basis?.defaultShortDescription??"present"}innerToJsonSchema(U){return this.children.reduce((X,q)=>q.isBasis()?q.toJsonSchemaRecurse(U):q.reduceJsonSchema(X,U),{})}traverseAllows=(U,X)=>this.children.every((q)=>q.traverseAllows(U,X));traverseApply=(U,X)=>{let q=X.currentErrorCount;if(this.basis){if(this.basis.traverseApply(U,X),X.currentErrorCount>q)return}if(this.prestructurals.length){for(let Z=0;Z<this.prestructurals.length-1;Z++)if(this.prestructurals[Z].traverseApply(U,X),X.failFast&&X.currentErrorCount>q)return;if(this.prestructurals[this.prestructurals.length-1].traverseApply(U,X),X.currentErrorCount>q)return}if(this.structure){if(this.structure.traverseApply(U,X),X.currentErrorCount>q)return}if(this.inner.predicate){for(let Z=0;Z<this.inner.predicate.length-1;Z++)if(this.inner.predicate[Z].traverseApply(U,X),X.failFast&&X.currentErrorCount>q)return;this.inner.predicate[this.inner.predicate.length-1].traverseApply(U,X)}};compile(U){if(U.traversalKind==="Allows"){for(let X of this.children)U.check(X);U.return(!0);return}if(U.initializeErrorCount(),this.basis){if(U.check(this.basis),this.children.length>1)U.returnIfFail()}if(this.prestructurals.length){for(let X=0;X<this.prestructurals.length-1;X++)U.check(this.prestructurals[X]),U.returnIfFailFast();if(U.check(this.prestructurals[this.prestructurals.length-1]),this.structure||this.inner.predicate)U.returnIfFail()}if(this.structure){if(U.check(this.structure),this.inner.predicate)U.returnIfFail()}if(this.inner.predicate){for(let X=0;X<this.inner.predicate.length-1;X++)U.check(this.inner.predicate[X]),U.returnIfFail();U.check(this.inner.predicate[this.inner.predicate.length-1])}}}var F4={implementation:O5,Node:yq},B5=(U)=>{if(U.structure?.expression)return U.structure.expression;let X=U.basis&&!U.prestructurals.some((Q)=>Q.impl.obviatesBasisExpression)?U.basis.nestableExpression:"",q=U.prestructurals.map((Q)=>Q.expression).join(" & "),Z=`${X}${X?" ":""}${q}`;if(Z==="Array == 0")return"[]";return Z||"unknown"},gq=(U,X,q)=>{let Z={},Q=U.proto??U.domain,G=X.proto??X.domain,Y=Q?G?u(Q,G,q):Q:G;if(Y instanceof T)return Y;if(Y)Z[Y.kind]=Y;return b1({kind:"intersection",baseInner:Z,l:f1(U),r:f1(X),roots:[],ctx:q})};var T5=j({kind:"morph",hasAssociatedError:!1,keys:{in:{child:!0,parse:(U,X)=>X.$.parseSchema(U)},morphs:{parse:l0,serialize:(U)=>U.map((X)=>M(X,"root")?X.json:d(X))},declaredIn:{child:!1,serialize:(U)=>U.json},declaredOut:{child:!1,serialize:(U)=>U.json}},normalize:(U)=>U,defaults:{description:(U)=>`a morph from ${U.rawIn.description} to ${U.rawOut?.description??"unknown"}`},intersections:{morph:(U,X,q)=>{if(!U.hasEqualMorphs(X))return F(V5(U.expression,X.expression));let Z=u(U.rawIn,X.rawIn,q);if(Z instanceof T)return Z;let Q={morphs:U.morphs};if(U.declaredIn||X.declaredIn){let G=u(U.rawIn,X.rawIn,q);if(G instanceof T)return G.throw();else Q.declaredIn=G}if(U.declaredOut||X.declaredOut){let G=u(U.rawOut,X.rawOut,q);if(G instanceof T)return G.throw();else Q.declaredOut=G}return Z.distribute((G)=>q.$.node("morph",{...Q,in:G}),q.$.parseSchema)},...E0("morph",(U,X,q)=>{let Z=U.inner.in?u(U.inner.in,X,q):X;return Z instanceof T?Z:Z.equals(U.inner.in)?U:q.$.node("morph",{...U.inner,in:Z})})}});class kq extends B0{serializedMorphs=this.morphs.map(d);compiledMorphs=`[${this.serializedMorphs}]`;lastMorph=this.inner.morphs[this.inner.morphs.length-1];lastMorphIfNode=M(this.lastMorph,"root")?this.lastMorph:void 0;introspectableIn=this.inner.in;introspectableOut=this.lastMorphIfNode?Object.assign(this.referencesById,this.lastMorphIfNode.referencesById)&&this.lastMorphIfNode.rawOut:void 0;get shallowMorphs(){return Array.isArray(this.inner.in?.shallowMorphs)?[...this.inner.in.shallowMorphs,...this.morphs]:this.morphs}get rawIn(){return this.declaredIn??this.inner.in?.rawIn??O.intrinsic.unknown.internal}get rawOut(){return this.declaredOut??this.introspectableOut??O.intrinsic.unknown.internal}declareIn(U){return this.$.node("morph",{...this.inner,declaredIn:U})}declareOut(U){return this.$.node("morph",{...this.inner,declaredOut:U})}expression=`(In: ${this.rawIn.expression}) => ${this.lastMorphIfNode?"To":"Out"}<${this.rawOut.expression}>`;get defaultShortDescription(){return this.rawIn.meta.description??this.rawIn.defaultShortDescription}innerToJsonSchema(U){return U.fallback.morph({code:"morph",base:this.rawIn.toJsonSchemaRecurse(U),out:this.introspectableOut?.toJsonSchemaRecurse(U)??null})}compile(U){if(U.traversalKind==="Allows"){if(!this.introspectableIn)return;U.return(U.invoke(this.introspectableIn));return}if(this.introspectableIn)U.line(U.invoke(this.introspectableIn));U.line(`ctx.queueMorphs(${this.compiledMorphs})`)}traverseAllows=(U,X)=>!this.introspectableIn||this.introspectableIn.traverseAllows(U,X);traverseApply=(U,X)=>{if(this.introspectableIn)this.introspectableIn.traverseApply(U,X);X.queueMorphs(this.morphs)};hasEqualMorphs(U){return y0(this.morphs,U.morphs,{isEqual:(X,q)=>X===q||M(X,"root")&&M(q,"root")&&X.equals(q)})}}var A4={implementation:T5,Node:kq},V5=(U,X)=>`The intersection of distinct morphs at a single path is indeterminate:
168
168
  Left: ${U}
169
- Right: ${X}`;var D5=j({kind:"proto",hasAssociatedError:!0,collapsibleKey:"proto",keys:{proto:{serialize:(U)=>H2(U)??A0(U)},dateAllowsInvalid:{}},normalize:(U)=>{let X=typeof U==="string"?{proto:H1[U]}:typeof U==="function"?x(U)?U:{proto:U}:typeof U.proto==="string"?{...U,proto:H1[U.proto]}:U;if(typeof X.proto!=="function")F(N2.writeInvalidSchemaMessage(X.proto));if(w1(X,"dateAllowsInvalid")&&X.proto!==Date)F(N2.writeBadInvalidDateMessage(X.proto));return X},applyConfig:(U,X)=>{if(U.dateAllowsInvalid===void 0&&U.proto===Date&&X.dateAllowsInvalid)return{...U,dateAllowsInvalid:!0};return U},defaults:{description:(U)=>U.builtinName?KX[U.builtinName]:`an instance of ${U.proto.name}`,actual:(U)=>U instanceof Date&&U.toString()==="Invalid Date"?"an invalid Date":J2(U)},intersections:{proto:(U,X)=>U.proto===Date&&X.proto===Date?U.dateAllowsInvalid?X:U:hU(U.proto,X.proto)?U:hU(X.proto,U.proto)?X:B.init("proto",U,X),domain:(U,X)=>X.domain==="object"?U:B.init("domain",V.intrinsic.object.internal,X)}});class vq extends L1{builtinName=H2(this.proto);serializedConstructor=this.json.proto;requiresInvalidDateCheck=this.proto===Date&&!this.dateAllowsInvalid;traverseAllows=this.requiresInvalidDateCheck?(U)=>U instanceof Date&&U.toString()!=="Invalid Date":(U)=>U instanceof this.proto;compiledCondition=`data instanceof ${this.serializedConstructor}${this.requiresInvalidDateCheck?' && data.toString() !== "Invalid Date"':""}`;compiledNegation=`!(${this.compiledCondition})`;innerToJsonSchema(U){switch(this.builtinName){case"Array":return{type:"array"};case"Date":return U.fallback.date?.({code:"date",base:{}})??U.fallback.proto({code:"proto",base:{},proto:this.proto});default:return U.fallback.proto({code:"proto",base:{},proto:this.proto})}}expression=this.dateAllowsInvalid?"Date | InvalidDate":this.proto.name;get nestableExpression(){return this.dateAllowsInvalid?`(${this.expression})`:this.expression}domain="object";get defaultShortDescription(){return this.description}}var N2={implementation:D5,Node:vq,writeBadInvalidDateMessage:(U)=>`dateAllowsInvalid may only be specified with constructor Date (was ${U.name})`,writeInvalidSchemaMessage:(U)=>`instanceOf operand must be a function (was ${r(U)})`};var R5=j({kind:"union",hasAssociatedError:!0,collapsibleKey:"branches",keys:{ordered:{},branches:{child:!0,parse:(U,X)=>{let q=[];for(let Z of U){let Q=M(Z,"root")?Z.branches:X.$.parseSchema(Z).branches;for(let G of Q)if(G.hasKind("morph")){let Y=q.findIndex((J)=>J.hasKind("morph")&&J.hasEqualMorphs(G));if(Y===-1)q.push(G);else{let J=q[Y];q[Y]=X.$.node("morph",{...J.inner,in:J.rawIn.rawOr(G.rawIn)})}}else q.push(G)}if(!X.def.ordered)q.sort((Z,Q)=>Z.hash<Q.hash?-1:1);return q}}},normalize:(U)=>h(U)?{branches:U}:U,reduce:(U,X)=>{let q=j5(U);if(q.length===1)return q[0];if(q.length===U.branches.length)return;return X.node("union",{...U,branches:q},{prereduced:!0})},defaults:{description:(U)=>U.distribute((X)=>X.description,k1),expected:(U)=>{let X=BX(U.errors,"propString"),q=Object.entries(X).map(([Z,Q])=>{let G=[];for(let H of Q)C0(G,H.expected);let Y=k1(G),J=Q.every((H)=>H.actual===Q[0].actual)?Q[0].actual:E(Q[0].data);return`${Z&&`${Z} `}must be ${Y}${J&&` (was ${J})`}`});return k1(q)},problem:(U)=>U.expected,message:(U)=>{if(U.problem[0]==="[")return`value at ${U.problem}`;return U.problem}},intersections:{union:(U,X,q)=>{if(U.isNever!==X.isNever)return B.init("presence",U,X);let Z;if(U.ordered){if(X.ordered)F(f5(U.expression,X.expression));if(Z=V4(X.branches,U.branches,q),Z instanceof B)Z.invert()}else Z=V4(U.branches,X.branches,q);if(Z instanceof B)return Z;return q.$.parseSchema(U.ordered||X.ordered?{branches:Z,ordered:!0}:{branches:Z})},...E0("union",(U,X,q)=>{let Z=V4(U.branches,[X],q);if(Z instanceof B)return Z;if(Z.length===1)return Z[0];return q.$.parseSchema(U.ordered?{branches:Z,ordered:!0}:{branches:Z})})}});class uq extends O0{isBoolean=this.branches.length===2&&this.branches[0].hasUnit(!1)&&this.branches[1].hasUnit(!0);get branchGroups(){let U=[],X=-1;for(let q of this.branches){if(q.hasKind("unit")&&q.domain==="boolean"){if(X===-1)X=U.length,U.push(q);else U[X]=V.intrinsic.boolean;continue}U.push(q)}return U}unitBranches=this.branches.filter((U)=>U.rawIn.hasKind("unit"));discriminant=this.discriminate();discriminantJson=this.discriminant?C5(this.discriminant):null;expression=this.distribute((U)=>U.nestableExpression,E5);createBranchedOptimisticRootApply(){return(U,X)=>{let q=this.traverseOptimistic(U);if(q!==Y0)return q;let Z=new P0(U,this.$.resolvedConfig);return this.traverseApply(U,Z),Z.finalize(X)}}get shallowMorphs(){return this.branches.reduce((U,X)=>C0(U,X.shallowMorphs),[])}get defaultShortDescription(){return this.distribute((U)=>U.defaultShortDescription,k1)}innerToJsonSchema(U){if(this.branchGroups.length===1&&this.branchGroups[0].equals(V.intrinsic.boolean))return{type:"boolean"};let X=this.branchGroups.map((q)=>q.toJsonSchemaRecurse(U));if(X.every((q)=>Object.keys(q).length===1&&w1(q,"const")))return{enum:X.map((q)=>q.const)};return{anyOf:X}}traverseAllows=(U,X)=>this.branches.some((q)=>q.traverseAllows(U,X));traverseApply=(U,X)=>{let q=[];for(let Z=0;Z<this.branches.length;Z++){if(X.pushBranch(),this.branches[Z].traverseApply(U,X),!X.hasError()){if(this.branches[Z].includesTransform)return X.queuedMorphs.push(...X.popBranch().queuedMorphs);return X.popBranch()}q.push(X.popBranch().error)}X.errorFromNodeContext({code:"union",errors:q,meta:this.meta})};traverseOptimistic=(U)=>{for(let X=0;X<this.branches.length;X++){let q=this.branches[X];if(q.traverseAllows(U)){if(q.contextFreeMorph)return q.contextFreeMorph(U);return U}}return Y0};compile(U){if(!this.discriminant||this.unitBranches.length===this.branches.length&&this.branches.length===2)return this.compileIndiscriminable(U);let X=this.discriminant.optionallyChainedPropString;if(this.discriminant.kind==="domain")X=`typeof ${X} === "object" ? ${X} === null ? "null" : "object" : typeof ${X} === "function" ? "object" : typeof ${X}`;let q=this.discriminant.cases,Z=Object.keys(q),{optimistic:Q}=U;if(U.optimistic=!1,U.block(`switch(${X})`,()=>{for(let W in q){let $=q[W],_=W==="default"?W:`case ${W}`,L;if($===!0)L=Q?"data":"true";else if(Q)if($.rootApplyStrategy==="branchedOptimistic")L=U.invoke($,{kind:"Optimistic"});else if($.contextFreeMorph)L=`${U.invoke($)} ? ${d($.contextFreeMorph)}(data) : "${Y0}"`;else L=`${U.invoke($)} ? data : "${Y0}"`;else L=U.invoke($);U.line(`${_}: return ${L}`)}return U}),U.traversalKind==="Allows"){U.return(Q?`"${Y0}"`:!1);return}let G=k1(this.discriminant.kind==="domain"?Z.map((W)=>{let $=W.slice(1,-1);return $==="function"?G0.object:G0[$]}):Z),Y=this.discriminant.path.map((W)=>typeof W==="symbol"?d(W):JSON.stringify(W)),J=JSON.stringify(G),H=this.discriminant.kind==="domain"?`${K5}[${X}]`:`${N5}(${X})`;U.line(`ctx.errorFromNodeContext({
169
+ Right: ${X}`;var R5=j({kind:"proto",hasAssociatedError:!0,collapsibleKey:"proto",keys:{proto:{serialize:(U)=>H2(U)??A0(U)},dateAllowsInvalid:{}},normalize:(U)=>{let X=typeof U==="string"?{proto:H1[U]}:typeof U==="function"?x(U)?U:{proto:U}:typeof U.proto==="string"?{...U,proto:H1[U.proto]}:U;if(typeof X.proto!=="function")F(N2.writeInvalidSchemaMessage(X.proto));if(I1(X,"dateAllowsInvalid")&&X.proto!==Date)F(N2.writeBadInvalidDateMessage(X.proto));return X},applyConfig:(U,X)=>{if(U.dateAllowsInvalid===void 0&&U.proto===Date&&X.dateAllowsInvalid)return{...U,dateAllowsInvalid:!0};return U},defaults:{description:(U)=>U.builtinName?KX[U.builtinName]:`an instance of ${U.proto.name}`,actual:(U)=>U instanceof Date&&U.toString()==="Invalid Date"?"an invalid Date":J2(U)},intersections:{proto:(U,X)=>U.proto===Date&&X.proto===Date?U.dateAllowsInvalid?X:U:h6(U.proto,X.proto)?U:h6(X.proto,U.proto)?X:T.init("proto",U,X),domain:(U,X)=>X.domain==="object"?U:T.init("domain",O.intrinsic.object.internal,X)}});class vq extends L1{builtinName=H2(this.proto);serializedConstructor=this.json.proto;requiresInvalidDateCheck=this.proto===Date&&!this.dateAllowsInvalid;traverseAllows=this.requiresInvalidDateCheck?(U)=>U instanceof Date&&U.toString()!=="Invalid Date":(U)=>U instanceof this.proto;compiledCondition=`data instanceof ${this.serializedConstructor}${this.requiresInvalidDateCheck?' && data.toString() !== "Invalid Date"':""}`;compiledNegation=`!(${this.compiledCondition})`;innerToJsonSchema(U){switch(this.builtinName){case"Array":return{type:"array"};case"Date":return U.fallback.date?.({code:"date",base:{}})??U.fallback.proto({code:"proto",base:{},proto:this.proto});default:return U.fallback.proto({code:"proto",base:{},proto:this.proto})}}expression=this.dateAllowsInvalid?"Date | InvalidDate":this.proto.name;get nestableExpression(){return this.dateAllowsInvalid?`(${this.expression})`:this.expression}domain="object";get defaultShortDescription(){return this.description}}var N2={implementation:R5,Node:vq,writeBadInvalidDateMessage:(U)=>`dateAllowsInvalid may only be specified with constructor Date (was ${U.name})`,writeInvalidSchemaMessage:(U)=>`instanceOf operand must be a function (was ${r(U)})`};var D5=j({kind:"union",hasAssociatedError:!0,collapsibleKey:"branches",keys:{ordered:{},branches:{child:!0,parse:(U,X)=>{let q=[];for(let Z of U){let Q=M(Z,"root")?Z.branches:X.$.parseSchema(Z).branches;for(let G of Q)if(G.hasKind("morph")){let Y=q.findIndex((J)=>J.hasKind("morph")&&J.hasEqualMorphs(G));if(Y===-1)q.push(G);else{let J=q[Y];q[Y]=X.$.node("morph",{...J.inner,in:J.rawIn.rawOr(G.rawIn)})}}else q.push(G)}if(!X.def.ordered)q.sort((Z,Q)=>Z.hash<Q.hash?-1:1);return q}}},normalize:(U)=>h(U)?{branches:U}:U,reduce:(U,X)=>{let q=j5(U);if(q.length===1)return q[0];if(q.length===U.branches.length)return;return X.node("union",{...U,branches:q},{prereduced:!0})},defaults:{description:(U)=>U.distribute((X)=>X.description,v1),expected:(U)=>{let X=TX(U.errors,"propString"),q=Object.entries(X).map(([Z,Q])=>{let G=[];for(let H of Q)C0(G,H.expected);let Y=v1(G),J=Q.every((H)=>H.actual===Q[0].actual)?Q[0].actual:E(Q[0].data);return`${Z&&`${Z} `}must be ${Y}${J&&` (was ${J})`}`});return v1(q)},problem:(U)=>U.expected,message:(U)=>{if(U.problem[0]==="[")return`value at ${U.problem}`;return U.problem}},intersections:{union:(U,X,q)=>{if(U.isNever!==X.isNever)return T.init("presence",U,X);let Z;if(U.ordered){if(X.ordered)F(f5(U.expression,X.expression));if(Z=O4(X.branches,U.branches,q),Z instanceof T)Z.invert()}else Z=O4(U.branches,X.branches,q);if(Z instanceof T)return Z;return q.$.parseSchema(U.ordered||X.ordered?{branches:Z,ordered:!0}:{branches:Z})},...E0("union",(U,X,q)=>{let Z=O4(U.branches,[X],q);if(Z instanceof T)return Z;if(Z.length===1)return Z[0];return q.$.parseSchema(U.ordered?{branches:Z,ordered:!0}:{branches:Z})})}});class uq extends B0{isBoolean=this.branches.length===2&&this.branches[0].hasUnit(!1)&&this.branches[1].hasUnit(!0);get branchGroups(){let U=[],X=-1;for(let q of this.branches){if(q.hasKind("unit")&&q.domain==="boolean"){if(X===-1)X=U.length,U.push(q);else U[X]=O.intrinsic.boolean;continue}U.push(q)}return U}unitBranches=this.branches.filter((U)=>U.rawIn.hasKind("unit"));discriminant=this.discriminate();discriminantJson=this.discriminant?C5(this.discriminant):null;expression=this.distribute((U)=>U.nestableExpression,E5);createBranchedOptimisticRootApply(){return(U,X)=>{let q=this.traverseOptimistic(U);if(q!==J0)return q;let Z=new P0(U,this.$.resolvedConfig);return this.traverseApply(U,Z),Z.finalize(X)}}get shallowMorphs(){return this.branches.reduce((U,X)=>C0(U,X.shallowMorphs),[])}get defaultShortDescription(){return this.distribute((U)=>U.defaultShortDescription,v1)}innerToJsonSchema(U){if(this.branchGroups.length===1&&this.branchGroups[0].equals(O.intrinsic.boolean))return{type:"boolean"};let X=this.branchGroups.map((q)=>q.toJsonSchemaRecurse(U));if(X.every((q)=>Object.keys(q).length===1&&I1(q,"const")))return{enum:X.map((q)=>q.const)};return{anyOf:X}}traverseAllows=(U,X)=>this.branches.some((q)=>q.traverseAllows(U,X));traverseApply=(U,X)=>{let q=[];for(let Z=0;Z<this.branches.length;Z++){if(X.pushBranch(),this.branches[Z].traverseApply(U,X),!X.hasError()){if(this.branches[Z].includesTransform)return X.queuedMorphs.push(...X.popBranch().queuedMorphs);return X.popBranch()}q.push(X.popBranch().error)}X.errorFromNodeContext({code:"union",errors:q,meta:this.meta})};traverseOptimistic=(U)=>{for(let X=0;X<this.branches.length;X++){let q=this.branches[X];if(q.traverseAllows(U)){if(q.contextFreeMorph)return q.contextFreeMorph(U);return U}}return J0};compile(U){if(!this.discriminant||this.unitBranches.length===this.branches.length&&this.branches.length===2)return this.compileIndiscriminable(U);let X=this.discriminant.optionallyChainedPropString;if(this.discriminant.kind==="domain")X=`typeof ${X} === "object" ? ${X} === null ? "null" : "object" : typeof ${X} === "function" ? "object" : typeof ${X}`;let q=this.discriminant.cases,Z=Object.keys(q),{optimistic:Q}=U;if(U.optimistic=!1,U.block(`switch(${X})`,()=>{for(let W in q){let $=q[W],_=W==="default"?W:`case ${W}`,L;if($===!0)L=Q?"data":"true";else if(Q)if($.rootApplyStrategy==="branchedOptimistic")L=U.invoke($,{kind:"Optimistic"});else if($.contextFreeMorph)L=`${U.invoke($)} ? ${d($.contextFreeMorph)}(data) : "${J0}"`;else L=`${U.invoke($)} ? data : "${J0}"`;else L=U.invoke($);U.line(`${_}: return ${L}`)}return U}),U.traversalKind==="Allows"){U.return(Q?`"${J0}"`:!1);return}let G=v1(this.discriminant.kind==="domain"?Z.map((W)=>{let $=W.slice(1,-1);return $==="function"?Y0.object:Y0[$]}):Z),Y=this.discriminant.path.map((W)=>typeof W==="symbol"?d(W):JSON.stringify(W)),J=JSON.stringify(G),H=this.discriminant.kind==="domain"?`${K5}[${X}]`:`${N5}(${X})`;U.line(`ctx.errorFromNodeContext({
170
170
  code: "predicate",
171
171
  expected: ${J},
172
172
  actual: ${H},
173
173
  relativePath: [${Y}],
174
174
  meta: ${this.compiledMeta}
175
- })`)}compileIndiscriminable(U){if(U.traversalKind==="Apply"){U.const("errors","[]");for(let X of this.branches)U.line("ctx.pushBranch()").line(U.invoke(X)).if("!ctx.hasError()",()=>U.return(X.includesTransform?"ctx.queuedMorphs.push(...ctx.popBranch().queuedMorphs)":"ctx.popBranch()")).line("errors.push(ctx.popBranch().error)");U.line(`ctx.errorFromNodeContext({ code: "union", errors, meta: ${this.compiledMeta} })`)}else{let{optimistic:X}=U;U.optimistic=!1;for(let q of this.branches)U.if(`${U.invoke(q)}`,()=>U.return(X?q.contextFreeMorph?`${d(q.contextFreeMorph)}(data)`:"data":!0));U.return(X?`"${Y0}"`:!1)}}get nestableExpression(){return this.isBoolean?"boolean":`(${this.expression})`}discriminate(){if(this.branches.length<2||this.isCyclic)return null;if(this.unitBranches.length===this.branches.length){let Q=S(this.unitBranches,(G,Y)=>[`${Y.rawIn.serializedValue}`,Y.hasKind("morph")?Y:!0]);return{kind:"unit",path:[],optionallyChainedPropString:"data",cases:Q}}let U=[];for(let Q=0;Q<this.branches.length-1;Q++){let G=this.branches[Q];for(let Y=Q+1;Y<this.branches.length;Y++){let J=this.branches[Y],H=_0(G.rawIn,J.rawIn,G.$);if(!(H instanceof B))continue;for(let W of H){if(!W.kind||W.optional)continue;let $,_;if(W.kind==="domain"){let{l:A,r:T}=W;$=`"${typeof A==="string"?A:A.domain}"`,_=`"${typeof T==="string"?T:T.domain}"`}else if(W.kind==="unit")$=W.l.serializedValue,_=W.r.serializedValue;else continue;let L=U.find((A)=>g0(A.path,W.path)&&A.kind===W.kind);if(!L)U.push({kind:W.kind,cases:{[$]:{branchIndices:[Q],condition:W.l},[_]:{branchIndices:[Y],condition:W.r}},path:W.path});else{if(L.cases[$])L.cases[$].branchIndices=C0(L.cases[$].branchIndices,Q);else L.cases[$]??={branchIndices:[Q],condition:W.l};if(L.cases[_])L.cases[_].branchIndices=C0(L.cases[_].branchIndices,Y);else L.cases[_]??={branchIndices:[Y],condition:W.r}}}}}let X=this.ordered?w5(U,this.branches):U;if(!X.length)return null;let q=M5(X,this),Z={};for(let Q in q.best.cases){let G=P5(q,Q);if(G===null){Z[Q]=!0;continue}if(G.length===this.branches.length)return null;if(this.ordered)G.sort((H,W)=>H.originalIndex-W.originalIndex);let Y=G.map((H)=>H.branch),J=Y.length===1?Y[0]:this.$.node("union",this.ordered?{branches:Y,ordered:!0}:Y);Object.assign(this.referencesById,J.referencesById),Z[Q]=J}if(q.defaultEntries.length){let Q=q.defaultEntries.map((G)=>G.branch);Z.default=this.$.node("union",this.ordered?{branches:Q,ordered:!0}:Q,{prereduced:!0}),Object.assign(this.referencesById,Z.default.referencesById)}return Object.assign(q.location,{cases:Z})}}var M5=(U,X)=>{let Z=U.sort((Y,J)=>Y.path.length===J.path.length?Object.keys(J.cases).length-Object.keys(Y.cases).length:Y.path.length-J.path.length)[0],Q={kind:Z.kind,path:Z.path,optionallyChainedPropString:mq(Z.path)},G=X.branches.map((Y,J)=>({originalIndex:J,branch:Y}));return{best:Z,location:Q,defaultEntries:G,node:X}},P5=(U,X)=>{let q=U.best.cases[X],Z=I5(q.condition,U.location.path,U.node.$),Q=[],G=[];for(let Y=0;Y<U.defaultEntries.length;Y++){let J=U.defaultEntries[Y];if(q.branchIndices.includes(J.originalIndex)){let H=hq(U.node.branches[J.originalIndex],U.location);if(H===null)Q=null;else Q?.push({originalIndex:J.originalIndex,branch:H})}else if(J.branch.hasKind("alias")&&Z.hasKind("domain")&&Z.domain==="object")Q?.push(J);else{if(J.branch.rawIn.overlaps(Z)){let H=hq(J.branch,U.location);Q?.push({originalIndex:J.originalIndex,branch:H})}G.push(J)}}return U.defaultEntries=G,Q},w5=(U,X)=>{return U.filter((Z)=>{let Q=Object.values(Z.cases).map((G)=>G.branchIndices);for(let G=0;G<Q.length-1;G++){let Y=Q[G];for(let J=G+1;J<Q.length;J++){let H=Q[J];for(let W of Y)for(let $ of H)if(W>$){if(X[W].overlaps(X[$]))return!1}}}return!0})},I5=(U,X,q)=>{let Z=U==="undefined"?q.node("unit",{unit:void 0}):U==="null"?q.node("unit",{unit:null}):U==="boolean"?q.units([!0,!1]):U;for(let Q=X.length-1;Q>=0;Q--){let G=X[Q];Z=q.node("intersection",typeof G==="number"?{proto:"Array",sequence:[...VX(G).map((Y)=>({})),Z]}:{domain:"object",required:[{key:G,value:Z}]})}return Z},mq=(U)=>U.reduce((X,q)=>X+dU(q,!0),"data"),K5=d(TX),N5=d(E),O4={implementation:R5,Node:uq},C5=(U)=>({kind:U.kind,path:U.path.map((X)=>typeof X==="string"?X:M0(X)),cases:S(U.cases,(X,q)=>[X,q===!0?q:q.hasKind("union")&&q.discriminantJson?q.discriminantJson:q.json])}),S5={delimiter:" | ",finalDelimiter:" | "},E5=(U)=>k1(U,S5),k1=(U,X)=>{let q=X?.delimiter??", ",Z=X?.finalDelimiter??" or ";if(U.length===0)return"never";if(U.length===1)return U[0];if(U.length===2&&U[0]==="false"&&U[1]==="true"||U[0]==="true"&&U[1]==="false")return"boolean";let Q={},G=U.filter((J)=>Q[J]?!1:Q[J]=!0),Y=G.pop();return`${G.join(q)}${G.length?Z:""}${Y}`},V4=(U,X,q)=>{let Z=X.map(()=>[]);for(let G=0;G<U.length;G++){let Y={};for(let J=0;J<X.length;J++){if(Z[J]===null)continue;if(U[G].equals(X[J])){Z[J]=null,Y={};break}let H=u(U[G],X[J],q);if(H instanceof B)continue;if(H.equals(U[G])){Z[J].push(U[G]),Y={};break}if(H.equals(X[J]))Z[J]=null;else Y[J]=H}for(let J in Y)Z[J][G]=Y[J]}let Q=Z.flatMap((G,Y)=>G?.flatMap((J)=>J.branches)??X[Y]);return Q.length===0?B.init("union",U,X):Q},j5=({branches:U,ordered:X})=>{if(U.length<2)return U;let q=U.map(()=>!0);for(let Z=0;Z<U.length;Z++)for(let Q=Z+1;Q<U.length&&q[Z]&&q[Q];Q++){if(U[Z].equals(U[Q])){q[Q]=!1;continue}let G=_0(U[Z].rawIn,U[Q].rawIn,U[0].$);if(G instanceof B)continue;if(!X)b5(U[Z],U[Q]);if(G.equals(U[Z].rawIn))q[Z]=!!X;else if(G.equals(U[Q].rawIn))q[Q]=!1}return U.filter((Z,Q)=>q[Q])},b5=(U,X)=>{if(!U.includesTransform&&!X.includesTransform)return;if(!g0(U.shallowMorphs,X.shallowMorphs))F(xq(U.expression,X.expression));if(!g0(U.flatMorphs,X.flatMorphs,{isEqual:(q,Z)=>q.propString===Z.propString&&(q.node.hasKind("morph")&&Z.node.hasKind("morph")?q.node.hasEqualMorphs(Z.node):q.node.hasKind("intersection")&&Z.node.hasKind("intersection")?q.node.structure?.structuralMorphRef===Z.node.structure?.structuralMorphRef:!1)}))F(xq(U.expression,X.expression))},hq=(U,X)=>U.transform((q,Z)=>{if(q==="domain"||q==="unit")return null;return Z},{shouldTransform:(q,Z)=>{let Q=mq(Z.path);if(!X.optionallyChainedPropString.startsWith(Q))return!1;if(q.hasKind("domain")&&q.domain==="object")return!0;if((q.hasKind("domain")||X.kind==="unit")&&Q===X.optionallyChainedPropString)return!0;return q.children.length!==0&&q.kind!=="index"}}),xq=(U,X)=>`An unordered union of a type including a morph and a type with overlapping input is indeterminate:
175
+ })`)}compileIndiscriminable(U){if(U.traversalKind==="Apply"){U.const("errors","[]");for(let X of this.branches)U.line("ctx.pushBranch()").line(U.invoke(X)).if("!ctx.hasError()",()=>U.return(X.includesTransform?"ctx.queuedMorphs.push(...ctx.popBranch().queuedMorphs)":"ctx.popBranch()")).line("errors.push(ctx.popBranch().error)");U.line(`ctx.errorFromNodeContext({ code: "union", errors, meta: ${this.compiledMeta} })`)}else{let{optimistic:X}=U;U.optimistic=!1;for(let q of this.branches)U.if(`${U.invoke(q)}`,()=>U.return(X?q.contextFreeMorph?`${d(q.contextFreeMorph)}(data)`:"data":!0));U.return(X?`"${J0}"`:!1)}}get nestableExpression(){return this.isBoolean?"boolean":`(${this.expression})`}discriminate(){if(this.branches.length<2||this.isCyclic)return null;if(this.unitBranches.length===this.branches.length){let Q=S(this.unitBranches,(G,Y)=>[`${Y.rawIn.serializedValue}`,Y.hasKind("morph")?Y:!0]);return{kind:"unit",path:[],optionallyChainedPropString:"data",cases:Q}}let U=[];for(let Q=0;Q<this.branches.length-1;Q++){let G=this.branches[Q];for(let Y=Q+1;Y<this.branches.length;Y++){let J=this.branches[Y],H=$0(G.rawIn,J.rawIn,G.$);if(!(H instanceof T))continue;for(let W of H){if(!W.kind||W.optional)continue;let $,_;if(W.kind==="domain"){let{l:A,r:V}=W;$=`"${typeof A==="string"?A:A.domain}"`,_=`"${typeof V==="string"?V:V.domain}"`}else if(W.kind==="unit")$=W.l.serializedValue,_=W.r.serializedValue;else continue;let L=U.find((A)=>y0(A.path,W.path)&&A.kind===W.kind);if(!L)U.push({kind:W.kind,cases:{[$]:{branchIndices:[Q],condition:W.l},[_]:{branchIndices:[Y],condition:W.r}},path:W.path});else{if(L.cases[$])L.cases[$].branchIndices=C0(L.cases[$].branchIndices,Q);else L.cases[$]??={branchIndices:[Q],condition:W.l};if(L.cases[_])L.cases[_].branchIndices=C0(L.cases[_].branchIndices,Y);else L.cases[_]??={branchIndices:[Y],condition:W.r}}}}}let X=this.ordered?w5(U,this.branches):U;if(!X.length)return null;let q=M5(X,this),Z={};for(let Q in q.best.cases){let G=P5(q,Q);if(G===null){Z[Q]=!0;continue}if(G.length===this.branches.length)return null;if(this.ordered)G.sort((H,W)=>H.originalIndex-W.originalIndex);let Y=G.map((H)=>H.branch),J=Y.length===1?Y[0]:this.$.node("union",this.ordered?{branches:Y,ordered:!0}:Y);Object.assign(this.referencesById,J.referencesById),Z[Q]=J}if(q.defaultEntries.length){let Q=q.defaultEntries.map((G)=>G.branch);Z.default=this.$.node("union",this.ordered?{branches:Q,ordered:!0}:Q,{prereduced:!0}),Object.assign(this.referencesById,Z.default.referencesById)}return Object.assign(q.location,{cases:Z})}}var M5=(U,X)=>{let Z=U.sort((Y,J)=>Y.path.length===J.path.length?Object.keys(J.cases).length-Object.keys(Y.cases).length:Y.path.length-J.path.length)[0],Q={kind:Z.kind,path:Z.path,optionallyChainedPropString:mq(Z.path)},G=X.branches.map((Y,J)=>({originalIndex:J,branch:Y}));return{best:Z,location:Q,defaultEntries:G,node:X}},P5=(U,X)=>{let q=U.best.cases[X],Z=I5(q.condition,U.location.path,U.node.$),Q=[],G=[];for(let Y=0;Y<U.defaultEntries.length;Y++){let J=U.defaultEntries[Y];if(q.branchIndices.includes(J.originalIndex)){let H=hq(U.node.branches[J.originalIndex],U.location);if(H===null)Q=null;else Q?.push({originalIndex:J.originalIndex,branch:H})}else if(J.branch.hasKind("alias")&&Z.hasKind("domain")&&Z.domain==="object")Q?.push(J);else{if(J.branch.rawIn.overlaps(Z)){let H=hq(J.branch,U.location);Q?.push({originalIndex:J.originalIndex,branch:H})}G.push(J)}}return U.defaultEntries=G,Q},w5=(U,X)=>{return U.filter((Z)=>{let Q=Object.values(Z.cases).map((G)=>G.branchIndices);for(let G=0;G<Q.length-1;G++){let Y=Q[G];for(let J=G+1;J<Q.length;J++){let H=Q[J];for(let W of Y)for(let $ of H)if(W>$){if(X[W].overlaps(X[$]))return!1}}}return!0})},I5=(U,X,q)=>{let Z=U==="undefined"?q.node("unit",{unit:void 0}):U==="null"?q.node("unit",{unit:null}):U==="boolean"?q.units([!0,!1]):U;for(let Q=X.length-1;Q>=0;Q--){let G=X[Q];Z=q.node("intersection",typeof G==="number"?{proto:"Array",sequence:[...OX(G).map((Y)=>({})),Z]}:{domain:"object",required:[{key:G,value:Z}]})}return Z},mq=(U)=>U.reduce((X,q)=>X+d6(q,!0),"data"),K5=d(VX),N5=d(E),B4={implementation:D5,Node:uq},C5=(U)=>({kind:U.kind,path:U.path.map((X)=>typeof X==="string"?X:M0(X)),cases:S(U.cases,(X,q)=>[X,q===!0?q:q.hasKind("union")&&q.discriminantJson?q.discriminantJson:q.json])}),S5={delimiter:" | ",finalDelimiter:" | "},E5=(U)=>v1(U,S5),v1=(U,X)=>{let q=X?.delimiter??", ",Z=X?.finalDelimiter??" or ";if(U.length===0)return"never";if(U.length===1)return U[0];if(U.length===2&&U[0]==="false"&&U[1]==="true"||U[0]==="true"&&U[1]==="false")return"boolean";let Q={},G=U.filter((J)=>Q[J]?!1:Q[J]=!0),Y=G.pop();return`${G.join(q)}${G.length?Z:""}${Y}`},O4=(U,X,q)=>{let Z=X.map(()=>[]);for(let G=0;G<U.length;G++){let Y={};for(let J=0;J<X.length;J++){if(Z[J]===null)continue;if(U[G].equals(X[J])){Z[J]=null,Y={};break}let H=u(U[G],X[J],q);if(H instanceof T)continue;if(H.equals(U[G])){Z[J].push(U[G]),Y={};break}if(H.equals(X[J]))Z[J]=null;else Y[J]=H}for(let J in Y)Z[J][G]=Y[J]}let Q=Z.flatMap((G,Y)=>G?.flatMap((J)=>J.branches)??X[Y]);return Q.length===0?T.init("union",U,X):Q},j5=({branches:U,ordered:X})=>{if(U.length<2)return U;let q=U.map(()=>!0);for(let Z=0;Z<U.length;Z++)for(let Q=Z+1;Q<U.length&&q[Z]&&q[Q];Q++){if(U[Z].equals(U[Q])){q[Q]=!1;continue}let G=$0(U[Z].rawIn,U[Q].rawIn,U[0].$);if(G instanceof T)continue;if(!X)b5(U[Z],U[Q]);if(G.equals(U[Z].rawIn))q[Z]=!!X;else if(G.equals(U[Q].rawIn))q[Q]=!1}return U.filter((Z,Q)=>q[Q])},b5=(U,X)=>{if(!U.includesTransform&&!X.includesTransform)return;if(!y0(U.shallowMorphs,X.shallowMorphs))F(xq(U.expression,X.expression));if(!y0(U.flatMorphs,X.flatMorphs,{isEqual:(q,Z)=>q.propString===Z.propString&&(q.node.hasKind("morph")&&Z.node.hasKind("morph")?q.node.hasEqualMorphs(Z.node):q.node.hasKind("intersection")&&Z.node.hasKind("intersection")?q.node.structure?.structuralMorphRef===Z.node.structure?.structuralMorphRef:!1)}))F(xq(U.expression,X.expression))},hq=(U,X)=>U.transform((q,Z)=>{if(q==="domain"||q==="unit")return null;return Z},{shouldTransform:(q,Z)=>{let Q=mq(Z.path);if(!X.optionallyChainedPropString.startsWith(Q))return!1;if(q.hasKind("domain")&&q.domain==="object")return!0;if((q.hasKind("domain")||X.kind==="unit")&&Q===X.optionallyChainedPropString)return!0;return q.children.length!==0&&q.kind!=="index"}}),xq=(U,X)=>`An unordered union of a type including a morph and a type with overlapping input is indeterminate:
176
176
  Left: ${U}
177
177
  Right: ${X}`,f5=(U,X)=>`The intersection of two ordered unions is indeterminate:
178
178
  Left: ${U}
179
- Right: ${X}`;var y5=j({kind:"unit",hasAssociatedError:!0,keys:{unit:{preserveUndefined:!0,serialize:(U)=>U instanceof Date?U.toISOString():A0(U)}},normalize:(U)=>U,defaults:{description:(U)=>E(U.unit),problem:({expected:U,actual:X})=>`${U===X?`must be reference equal to ${U} (serialized to the same value)`:`must be ${U} (was ${X})`}`},intersections:{unit:(U,X)=>B.init("unit",U,X),...E0("unit",(U,X)=>{if(X.allows(U.unit))return U;let q=X.hasKind("intersection")?X.basis:X;if(q){let Z=q.hasKind("domain")?q:V.intrinsic.object;if(U.domain!==Z.domain){let Q=U.domain==="undefined"||U.domain==="null"||U.domain==="boolean"?U.domain:V.intrinsic[U.domain];return B.init("domain",Q,Z)}}return B.init("assignability",U,X.hasKind("intersection")?X.children.find((Z)=>!Z.allows(U.unit)):X)})}});class lq extends L1{compiledValue=this.json.unit;serializedValue=typeof this.unit==="string"||this.unit instanceof Date?JSON.stringify(this.compiledValue):`${this.compiledValue}`;compiledCondition=pq(this.unit,this.serializedValue);compiledNegation=pq(this.unit,this.serializedValue,"negated");expression=E(this.unit);domain=r(this.unit);get defaultShortDescription(){return this.domain==="object"?G0.object:this.description}innerToJsonSchema(U){return this.unit===null?{type:"null"}:V.intrinsic.jsonPrimitive.allows(this.unit)?{const:this.unit}:U.fallback.unit({code:"unit",base:{},unit:this.unit})}traverseAllows=this.unit instanceof Date?(U)=>U instanceof Date&&U.toISOString()===this.compiledValue:Number.isNaN(this.unit)?(U)=>Number.isNaN(U):(U)=>U===this.unit}var B4={implementation:y5,Node:lq},pq=(U,X,q)=>{if(U instanceof Date){let Z=`data instanceof Date && data.toISOString() === ${X}`;return q?`!(${Z})`:Z}if(Number.isNaN(U))return`${q?"!":""}Number.isNaN(data)`;return`data ${q?"!":"="}== ${X}`};var g5=j({kind:"index",hasAssociatedError:!1,intersectionIsOpen:!0,keys:{signature:{child:!0,parse:(U,X)=>{let q=X.$.parseSchema(U);if(!q.extends(V.intrinsic.key))return F(v5(q.expression));let Z=q.branches.filter((Q)=>Q.hasKind("unit"));if(Z.length)return F(k5(Z.map((Q)=>E(Q.unit))));return q}},value:{child:!0,parse:(U,X)=>X.$.parseSchema(U)}},normalize:(U)=>U,defaults:{description:(U)=>`[${U.signature.expression}]: ${U.value.description}`},intersections:{index:(U,X,q)=>{if(U.signature.equals(X.signature)){let Z=u(U.value,X.value,q),Q=Z instanceof B?V.intrinsic.never.internal:Z;return q.$.node("index",{signature:U.signature,value:Q})}if(U.signature.extends(X.signature)&&U.value.subsumes(X.value))return X;if(X.signature.extends(U.signature)&&X.value.subsumes(U.value))return U;return null}}});class dq extends V0{impliedBasis=V.intrinsic.object.internal;expression=`[${this.signature.expression}]: ${this.value.expression}`;flatRefs=y(this.value.flatRefs.map((U)=>w0([this.signature,...U.path],U.node)),w0([this.signature],this.value));traverseAllows=(U,X)=>J1(U).every((q)=>{if(this.signature.traverseAllows(q[0],X))return W0(q[0],()=>this.value.traverseAllows(q[1],X),X);return!0});traverseApply=(U,X)=>{for(let q of J1(U))if(this.signature.traverseAllows(q[0],X))W0(q[0],()=>this.value.traverseApply(q[1],X),X)};_transform(U,X){X.path.push(this.signature);let q=super._transform(U,X);return X.path.pop(),q}compile(){}}var T4={implementation:g5,Node:dq},k5=(U)=>`Index keys ${U.join(", ")} should be specified as named props.`,v5=(U)=>`Indexed key definition '${U}' must be a string or symbol`;var h5=j({kind:"required",hasAssociatedError:!0,intersectionIsOpen:!0,keys:{key:{},value:{child:!0,parse:(U,X)=>X.$.parseSchema(U)}},normalize:(U)=>U,defaults:{description:(U)=>`${U.compiledKey}: ${U.value.description}`,expected:(U)=>U.missingValueDescription,actual:()=>"missing"},intersections:{required:R2,optional:R2}});class cq extends M2{expression=`${this.compiledKey}: ${this.value.expression}`;errorContext=Object.freeze({code:"required",missingValueDescription:this.value.defaultShortDescription,relativePath:[this.key],meta:this.meta});compiledErrorContext=s0(this.errorContext)}var D4={implementation:h5,Node:cq};var x5=j({kind:"sequence",hasAssociatedError:!1,collapsibleKey:"variadic",keys:{prefix:{child:!0,parse:(U,X)=>{if(U.length===0)return;return U.map((q)=>X.$.parseSchema(q))}},optionals:{child:!0,parse:(U,X)=>{if(U.length===0)return;return U.map((q)=>X.$.parseSchema(q))}},defaultables:{child:(U)=>U.map((X)=>X[0]),parse:(U,X)=>{if(U.length===0)return;return U.map((q)=>{let Z=X.$.parseSchema(q[0]);return w2(Z,q[1],null),[Z,q[1]]})},serialize:(U)=>U.map((X)=>[X[0].collapsibleJson,A0(X[1])]),reduceIo:(U,X,q)=>{if(U==="in"){X.optionals=q.map((Z)=>Z[0].rawIn);return}X.prefix=q.map((Z)=>Z[0].rawOut);return}},variadic:{child:!0,parse:(U,X)=>X.$.parseSchema(U,X)},minVariadicLength:{parse:(U)=>U===0?void 0:U},postfix:{child:!0,parse:(U,X)=>{if(U.length===0)return;return U.map((q)=>X.$.parseSchema(q))}}},normalize:(U)=>{if(typeof U==="string")return{variadic:U};if("variadic"in U||"prefix"in U||"defaultables"in U||"optionals"in U||"postfix"in U||"minVariadicLength"in U){if(U.postfix?.length){if(!U.variadic)return F(l5);if(U.optionals?.length||U.defaultables?.length)return F(M4)}if(U.minVariadicLength&&!U.variadic)return F("minVariadicLength may not be specified without a variadic element");return U}return{variadic:U}},reduce:(U,X)=>{let q=U.minVariadicLength??0,Z=U.prefix?.slice()??[],Q=U.defaultables?.slice()??[],G=U.optionals?.slice()??[],Y=U.postfix?.slice()??[];if(U.variadic){while(G[G.length-1]?.equals(U.variadic))G.pop();if(G.length===0&&Q.length===0)while(Z[Z.length-1]?.equals(U.variadic))Z.pop(),q++;while(Y[0]?.equals(U.variadic))Y.shift(),q++}else if(G.length===0&&Q.length===0)Z.push(...Y.splice(0));if(q!==U.minVariadicLength||U.prefix&&U.prefix.length!==Z.length)return X.node("sequence",{...U,prefix:Z,defaultables:Q,optionals:G,postfix:Y,minVariadicLength:q},{prereduced:!0})},defaults:{description:(U)=>{if(U.isVariadicOnly)return`${U.variadic.nestableExpression}[]`;return`[${U.tuple.map((q)=>q.kind==="defaultables"?`${q.node.nestableExpression} = ${E(q.default)}`:q.kind==="optionals"?`${q.node.nestableExpression}?`:q.kind==="variadic"?`...${q.node.nestableExpression}[]`:q.node.expression).join(", ")}]`}},intersections:{sequence:(U,X,q)=>{let Z=C2({l:U.tuple,r:X.tuple,disjoint:new B,result:[],fixedVariants:[],ctx:q}),Q=Z.disjoint.length===0?[Z,...Z.fixedVariants]:Z.fixedVariants;return Q.length===0?Z.disjoint:Q.length===1?q.$.node("sequence",iq(Q[0].result)):q.$.node("union",Q.map((G)=>({proto:Array,sequence:iq(G.result)})))}}});class oq extends V0{impliedBasis=V.intrinsic.Array.internal;tuple=p5(this.inner);prefixLength=this.prefix?.length??0;defaultablesLength=this.defaultables?.length??0;optionalsLength=this.optionals?.length??0;postfixLength=this.postfix?.length??0;defaultablesAndOptionals=[];prevariadic=this.tuple.filter((U)=>{if(U.kind==="defaultables"||U.kind==="optionals")return this.defaultablesAndOptionals.push(U.node),!0;return U.kind==="prefix"});variadicOrPostfix=y0(this.variadic&&[this.variadic],this.postfix);flatRefs=this.addFlatRefs();addFlatRefs(){return rU(this.flatRefs,this.prevariadic.flatMap((U,X)=>y(U.node.flatRefs.map((q)=>w0([`${X}`,...q.path],q.node)),w0([`${X}`],U.node)))),rU(this.flatRefs,this.variadicOrPostfix.flatMap((U)=>y(U.flatRefs.map((X)=>w0([V.intrinsic.nonNegativeIntegerString.internal,...X.path],X.node)),w0([V.intrinsic.nonNegativeIntegerString.internal],U)))),this.flatRefs}isVariadicOnly=this.prevariadic.length+this.postfixLength===0;minVariadicLength=this.inner.minVariadicLength??0;minLength=this.prefixLength+this.minVariadicLength+this.postfixLength;minLengthNode=this.minLength===0?null:this.$.node("minLength",this.minLength);maxLength=this.variadic?null:this.tuple.length;maxLengthNode=this.maxLength===null?null:this.$.node("maxLength",this.maxLength);impliedSiblings=this.minLengthNode?this.maxLengthNode?[this.minLengthNode,this.maxLengthNode]:[this.minLengthNode]:this.maxLengthNode?[this.maxLengthNode]:[];defaultValueMorphs=m5(this);defaultValueMorphsReference=this.defaultValueMorphs.length?d(this.defaultValueMorphs):void 0;elementAtIndex(U,X){if(X<this.prevariadic.length)return this.tuple[X];let q=U.length-this.postfixLength;if(X>=q)return{kind:"postfix",node:this.postfix[X-q]};return{kind:"variadic",node:this.variadic??g(`Unexpected attempt to access index ${X} on ${this}`)}}traverseAllows=(U,X)=>{for(let q=0;q<U.length;q++)if(!this.elementAtIndex(U,q).node.traverseAllows(U[q],X))return!1;return!0};traverseApply=(U,X)=>{let q=0;for(;q<U.length;q++)W0(q,()=>this.elementAtIndex(U,q).node.traverseApply(U[q],X),X)};get element(){return this.cacheGetter("element",this.$.node("union",this.children))}compile(U){if(this.prefix)for(let[X,q]of this.prefix.entries())U.traverseKey(`${X}`,`data[${X}]`,q);for(let[X,q]of this.defaultablesAndOptionals.entries()){let Z=`${X+this.prefixLength}`;U.if(`${Z} >= data.length`,()=>U.traversalKind==="Allows"?U.return(!0):U.return()),U.traverseKey(Z,`data[${Z}]`,q)}if(this.variadic){if(this.postfix)U.const("firstPostfixIndex",`data.length${this.postfix?`- ${this.postfix.length}`:""}`);if(U.for(`i < ${this.postfix?"firstPostfixIndex":"data.length"}`,()=>U.traverseKey("i","data[i]",this.variadic),this.prevariadic.length),this.postfix)for(let[X,q]of this.postfix.entries()){let Z=`firstPostfixIndex + ${X}`;U.traverseKey(Z,`data[${Z}]`,q)}}if(U.traversalKind==="Allows")U.return(!0)}_transform(U,X){X.path.push(V.intrinsic.nonNegativeIntegerString.internal);let q=super._transform(U,X);return X.path.pop(),q}expression=this.description;reduceJsonSchema(U,X){let q=X.target==="draft-07";if(this.prevariadic.length){let Z=this.prevariadic.map((Q)=>{let G=Q.node.toJsonSchemaRecurse(X);if(Q.kind==="defaultables"){let Y=typeof Q.default==="function"?Q.default():Q.default;G.default=V.intrinsic.jsonData.allows(Y)?Y:X.fallback.defaultValue({code:"defaultValue",base:G,value:Y})}return G});if(q)U.items=Z;else U.prefixItems=Z}if(this.minLength)U.minItems=this.minLength;if(this.variadic){let Z=this.variadic.toJsonSchemaRecurse(X);if(q&&this.prevariadic.length)U.additionalItems=Z;else U.items=Z;if(this.maxLength)U.maxItems=this.maxLength;if(this.postfix){let Q=this.postfix.map((G)=>G.toJsonSchemaRecurse(X));U=X.fallback.arrayPostfix({code:"arrayPostfix",base:U,elements:Q})}}else{if(q)U.additionalItems=!1;else U.items=!1;delete U.maxItems}return U}}var u5={},m5=(U)=>{if(!U.defaultables)return[];let X=[],q="[",Z=U.prefixLength+U.defaultablesLength-1;for(let Q=U.prefixLength;Q<=Z;Q++){let[G,Y]=U.defaultables[Q-U.prefixLength];X.push(z4(Q,G,Y)),q+=`${Q}: ${G.id} = ${A0(Y)}, `}return q+="]",u5[q]??=X},R4={implementation:x5,Node:oq},p5=(U)=>{let X=[];if(U.prefix)for(let q of U.prefix)X.push({kind:"prefix",node:q});if(U.defaultables)for(let[q,Z]of U.defaultables)X.push({kind:"defaultables",node:q,default:Z});if(U.optionals)for(let q of U.optionals)X.push({kind:"optionals",node:q});if(U.variadic)X.push({kind:"variadic",node:U.variadic});if(U.postfix)for(let q of U.postfix)X.push({kind:"postfix",node:q});return X},iq=(U)=>U.reduce((X,q)=>{if(q.kind==="variadic")X.variadic=q.node;else if(q.kind==="defaultables")X.defaultables=y(X.defaultables,[[q.node,q.default]]);else X[q.kind]=y(X[q.kind],q.node);return X},{}),M4="A postfix required element cannot follow an optional or defaultable element",l5="A postfix element requires a variadic element",C2=(U)=>{let[X,...q]=U.l,[Z,...Q]=U.r;if(!X||!Z)return U;let G=q[q.length-1]?.kind==="postfix",Y=Q[Q.length-1]?.kind==="postfix",J=X.kind==="prefix"||Z.kind==="prefix"?"prefix":X.kind==="postfix"||Z.kind==="postfix"?"postfix":X.kind==="variadic"&&Z.kind==="variadic"?"variadic":G||Y?"prefix":X.kind==="defaultables"||Z.kind==="defaultables"?"defaultables":"optionals";if(X.kind==="prefix"&&Z.kind==="variadic"&&Y){let _=C2({...U,fixedVariants:[],r:Q.map((L)=>({...L,kind:"prefix"}))});if(_.disjoint.length===0)U.fixedVariants.push(_)}else if(Z.kind==="prefix"&&X.kind==="variadic"&&G){let _=C2({...U,fixedVariants:[],l:q.map((L)=>({...L,kind:"prefix"}))});if(_.disjoint.length===0)U.fixedVariants.push(_)}let H=u(X.node,Z.node,U.ctx);if(H instanceof B)if(J==="prefix"||J==="postfix")U.disjoint.push(...H.withPrefixKey(J==="prefix"?U.result.length:`-${q.length+1}`,sq(X)&&sq(Z)?"required":"optional")),U.result=[...U.result,{kind:J,node:V.intrinsic.never.internal}];else if(J==="optionals"||J==="defaultables")return U;else return C2({...U,fixedVariants:[],l:q.map((_)=>({..._,kind:"prefix"})),r:q.map((_)=>({..._,kind:"prefix"}))});else if(J==="defaultables"){if(X.kind==="defaultables"&&Z.kind==="defaultables"&&X.default!==Z.default)F(L4(X.default,Z.default));U.result=[...U.result,{kind:J,node:H,default:X.kind==="defaultables"?X.default:Z.kind==="defaultables"?Z.default:g(`Unexpected defaultable intersection from ${X.kind} and ${Z.kind} elements.`)}]}else U.result=[...U.result,{kind:J,node:H}];let W=U.l.length,$=U.r.length;if(X.kind!=="variadic"||W>=$&&(Z.kind==="variadic"||$===1))U.l=q;if(Z.kind!=="variadic"||$>=W&&(X.kind==="variadic"||W===1))U.r=Q;return C2(U)},sq=(U)=>U.kind==="prefix"||U.kind==="postfix";var tq=(U)=>(X)=>{if(X.props.length||X.index){let q=X.index?.map((Q)=>Q[U])??[];for(let Q of X.props)q.push(Q[U]);if(X.undeclared)q.push(`+ (undeclared): ${X.undeclared}`);let Z=`{ ${q.join(", ")} }`;return X.sequence?`${Z} & ${X.sequence.description}`:Z}return X.sequence?.description??"{}"},d5=tq("description"),c5=tq("expression"),rq=(U,X,q)=>{let Z=U.required?"required":"optional";if(!X.signature.allows(U.key))return null;let Q=_0(U.value,X.value,q);if(Q instanceof B)return Z==="optional"?q.node("optional",{key:U.key,value:V.intrinsic.never.internal}):Q.withPrefixKey(U.key,U.kind);return null},i5=j({kind:"structure",hasAssociatedError:!1,normalize:(U)=>U,applyConfig:(U,X)=>{if(!U.undeclared&&X.onUndeclaredKey!=="ignore")return{...U,undeclared:X.onUndeclaredKey};return U},keys:{required:{child:!0,parse:X0("required"),reduceIo:(U,X,q)=>{X.required=y(X.required,q.map((Z)=>U==="in"?Z.rawIn:Z.rawOut));return}},optional:{child:!0,parse:X0("optional"),reduceIo:(U,X,q)=>{if(U==="in"){X.optional=q.map((Z)=>Z.rawIn);return}for(let Z of q)X[Z.outProp.kind]=y(X[Z.outProp.kind],Z.outProp.rawOut)}},index:{child:!0,parse:X0("index")},sequence:{child:!0,parse:X0("sequence")},undeclared:{parse:(U)=>U==="ignore"?void 0:U,reduceIo:(U,X,q)=>{if(q==="reject"){X.undeclared="reject";return}if(U==="in")delete X.undeclared;else X.undeclared="reject"}}},defaults:{description:d5},intersections:{structure:(U,X,q)=>{let Z={...U.inner},Q={...X.inner},G=new B;if(U.undeclared){let H=U.keyof();for(let W of X.requiredKeys)if(!H.allows(W))G.add("presence",V.intrinsic.never.internal,X.propsByKey[W].value,{path:[W]});if(Q.optional)Q.optional=Q.optional.filter((W)=>H.allows(W.key));if(Q.index)Q.index=Q.index.flatMap((W)=>{if(W.signature.extends(H))return W;let $=_0(H,W.signature,q.$);if($ instanceof B)return[];let _=w6($,W.value,q.$);if(_.required)Q.required=y0(Q.required,_.required);if(_.optional)Q.optional=y0(Q.optional,_.optional);return _.index??[]})}if(X.undeclared){let H=X.keyof();for(let W of U.requiredKeys)if(!H.allows(W))G.add("presence",U.propsByKey[W].value,V.intrinsic.never.internal,{path:[W]});if(Z.optional)Z.optional=Z.optional.filter((W)=>H.allows(W.key));if(Z.index)Z.index=Z.index.flatMap((W)=>{if(W.signature.extends(H))return W;let $=_0(H,W.signature,q.$);if($ instanceof B)return[];let _=w6($,W.value,q.$);if(_.required)Z.required=y0(Z.required,_.required);if(_.optional)Z.optional=y0(Z.optional,_.optional);return _.index??[]})}let Y={};if(U.undeclared||X.undeclared)Y.undeclared=U.undeclared==="reject"||X.undeclared==="reject"?"reject":"delete";let J=j1({kind:"structure",baseInner:Y,l:b1(Z),r:b1(Q),roots:[],ctx:q});if(J instanceof B)G.push(...J);if(G.length)return G;return J}},reduce:(U,X)=>{if(!U.required&&!U.optional)return;let q={},Z=!1,Q=U.optional?[...U.optional]:[];if(U.required)for(let G=0;G<U.required.length;G++){let Y=U.required[G];if(Y.key in q)F(nq(Y.key));if(q[Y.key]=!0,U.index)for(let J of U.index){let H=rq(Y,J,X);if(H instanceof B)return H}}if(U.optional)for(let G=0;G<U.optional.length;G++){let Y=U.optional[G];if(Y.key in q)F(nq(Y.key));if(q[Y.key]=!0,U.index)for(let J of U.index){let H=rq(Y,J,X);if(H instanceof B)return H;if(H!==null)Q[G]=H,Z=!0}}if(Z)return X.node("structure",{...U,optional:Q},{prereduced:!0})}});class eq extends V0{impliedBasis=V.intrinsic.object.internal;impliedSiblings=this.children.flatMap((U)=>U.impliedSiblings??[]);props=y0(this.required,this.optional);propsByKey=S(this.props,(U,X)=>[X.key,X]);propsByKeyReference=d(this.propsByKey);expression=c5(this);requiredKeys=this.required?.map((U)=>U.key)??[];optionalKeys=this.optional?.map((U)=>U.key)??[];literalKeys=[...this.requiredKeys,...this.optionalKeys];_keyof;keyof(){if(this._keyof)return this._keyof;let U=this.$.units(this.literalKeys).branches;if(this.index)for(let{signature:X}of this.index)U=U.concat(X.branches);return this._keyof=this.$.node("union",U)}map(U){return this.$.node("structure",this.props.flatMap(U).reduce((X,q)=>{let Z=this.propsByKey[q.key];if(x(q)){if(q.kind!=="required"&&q.kind!=="optional")return F(`Map result must have kind "required" or "optional" (was ${q.kind})`);return X[q.kind]=y(X[q.kind],q),X}let Q=q.kind??Z?.kind??"required",G=S(q,(Y,J)=>(Y in P2.implementation.keys)?[Y,J]:[]);return X[Q]=y(X[Q],this.$.node(Q,G)),X},{}))}assertHasKeys(U){let X=U.filter((q)=>!I2(q,this.keyof()));if(X.length)return F(aq(this.expression,X))}get(U,...X){let q,Z=!1,Q=a5(U);if((typeof Q==="string"||typeof Q==="symbol")&&this.propsByKey[Q])q=this.propsByKey[Q].value,Z=this.propsByKey[Q].required;if(this.index){for(let Y of this.index)if(I2(Q,Y.signature))q=q?.and(Y.value)??Y.value}if(this.sequence&&I2(Q,V.intrinsic.nonNegativeIntegerString))if(M(Q,"root")){if(this.sequence.variadic)q=q?.and(this.sequence.element)??this.sequence.element}else{let Y=Number.parseInt(Q);if(Y<this.sequence.prevariadic.length){let J=this.sequence.prevariadic[Y].node;q=q?.and(J)??J,Z||=Y<this.sequence.prefixLength}else if(this.sequence.variadic){let J=this.$.node("union",this.sequence.variadicOrPostfix);q=q?.and(J)??J}}if(!q){if(this.sequence?.variadic&&M(Q,"root")&&Q.extends(V.intrinsic.number))return F(n5(Q.expression,this.sequence.expression));return F(aq(this.expression,[Q]))}let G=q.get(...X);return Z?G:G.or(V.intrinsic.undefined)}pick(...U){return this.assertHasKeys(U),this.$.node("structure",this.filterKeys("pick",U))}omit(...U){return this.assertHasKeys(U),this.$.node("structure",this.filterKeys("omit",U))}optionalize(){let{required:U,...X}=this.inner;return this.$.node("structure",{...X,optional:this.props.map((q)=>q.hasKind("required")?this.$.node("optional",q.inner):q)})}require(){let{optional:U,...X}=this.inner;return this.$.node("structure",{...X,required:this.props.map((q)=>q.hasKind("optional")?{key:q.key,value:q.value}:q)})}merge(U){let X=this.filterKeys("omit",[U.keyof()]);if(U.required)X.required=y(X.required,U.required);if(U.optional)X.optional=y(X.optional,U.optional);if(U.index)X.index=y(X.index,U.index);if(U.sequence)X.sequence=U.sequence;if(U.undeclared)X.undeclared=U.undeclared;else delete X.undeclared;return this.$.node("structure",X)}filterKeys(U,X){let q=z6(this.inner),Z=(Q)=>{let G=X.some((Y)=>I2(Q,Y));return U==="pick"?G:!G};if(q.required)q.required=q.required.filter((Q)=>Z(Q.key));if(q.optional)q.optional=q.optional.filter((Q)=>Z(Q.key));if(q.index)q.index=q.index.filter((Q)=>Z(Q.signature));return q}traverseAllows=(U,X)=>this._traverse("Allows",U,X);traverseApply=(U,X)=>this._traverse("Apply",U,X);_traverse=(U,X,q)=>{let Z=q?.currentErrorCount??0;for(let Q=0;Q<this.props.length;Q++)if(U==="Allows"){if(!this.props[Q].traverseAllows(X,q))return!1}else if(this.props[Q].traverseApply(X,q),q.failFast&&q.currentErrorCount>Z)return!1;if(this.sequence){if(U==="Allows"){if(!this.sequence.traverseAllows(X,q))return!1}else if(this.sequence.traverseApply(X,q),q.failFast&&q.currentErrorCount>Z)return!1}if(this.index||this.undeclared==="reject"){let Q=Object.keys(X);Q.push(...Object.getOwnPropertySymbols(X));for(let G=0;G<Q.length;G++){let Y=Q[G];if(this.index){for(let J of this.index)if(J.signature.traverseAllows(Y,q)){if(U==="Allows"){if(!W0(Y,()=>J.value.traverseAllows(X[Y],q),q))return!1}else if(W0(Y,()=>J.value.traverseApply(X[Y],q),q),q.failFast&&q.currentErrorCount>Z)return!1}}if(this.undeclared==="reject"&&!this.declaresKey(Y)){if(U==="Allows")return!1;if(q.errorFromNodeContext({code:"predicate",expected:"removed",actual:"",relativePath:[Y],meta:this.meta}),q.failFast)return!1}}}if(this.structuralMorph&&q&&!q.hasError())q.queueMorphs([this.structuralMorph]);return!0};get defaultable(){return this.cacheGetter("defaultable",this.optional?.filter((U)=>U.hasDefault())??[])}declaresKey=(U)=>(U in this.propsByKey)||this.index?.some((X)=>X.signature.allows(U))||this.sequence!==void 0&&V.intrinsic.nonNegativeIntegerString.allows(U);_compileDeclaresKey(U){let X=[];if(this.props.length)X.push(`k in ${this.propsByKeyReference}`);if(this.index)for(let q of this.index)X.push(U.invoke(q.signature,{kind:"Allows",arg:"k"}));if(this.sequence)X.push("$ark.intrinsic.nonNegativeIntegerString.allows(k)");return X.join(" || ")||"false"}get structuralMorph(){return this.cacheGetter("structuralMorph",o5(this))}structuralMorphRef=this.structuralMorph&&d(this.structuralMorph);compile(U){if(U.traversalKind==="Apply")U.initializeErrorCount();for(let X of this.props)if(U.check(X),U.traversalKind==="Apply")U.returnIfFailFast();if(this.sequence){if(U.check(this.sequence),U.traversalKind==="Apply")U.returnIfFailFast()}if(this.index||this.undeclared==="reject")U.const("keys","Object.keys(data)"),U.line("keys.push(...Object.getOwnPropertySymbols(data))"),U.for("i < keys.length",()=>this.compileExhaustiveEntry(U));if(U.traversalKind==="Allows")return U.return(!0);if(this.structuralMorphRef)U.if("ctx && !ctx.hasError()",()=>{return U.line("ctx.queueMorphs(["),r5(U,this),U.line("])")})}compileExhaustiveEntry(U){if(U.const("k","keys[i]"),this.index)for(let X of this.index)U.if(`${U.invoke(X.signature,{arg:"k",kind:"Allows"})}`,()=>U.traverseKey("k","data[k]",X.value));if(this.undeclared==="reject")U.if(`!(${this._compileDeclaresKey(U)})`,()=>{if(U.traversalKind==="Allows")return U.return(!1);return U.line(`ctx.errorFromNodeContext({ code: "predicate", expected: "removed", actual: "", relativePath: [k], meta: ${this.compiledMeta} })`).if("ctx.failFast",()=>U.return())});return U}reduceJsonSchema(U,X){switch(U.type){case"object":return this.reduceObjectJsonSchema(U,X);case"array":let q=this.sequence?.reduceJsonSchema(U,X)??U;if(this.props.length||this.index)return X.fallback.arrayObject({code:"arrayObject",base:q,object:this.reduceObjectJsonSchema({type:"object"},X)});return q;default:return p.throwInternalOperandError("structure",U)}}reduceObjectJsonSchema(U,X){if(this.props.length){U.properties={};for(let q of this.props){let Z=q.value.toJsonSchemaRecurse(X);if(typeof q.key==="symbol"){X.fallback.symbolKey({code:"symbolKey",base:U,key:q.key,value:Z,optional:q.optional});continue}if(q.hasDefault()){let Q=typeof q.default==="function"?q.default():q.default;Z.default=V.intrinsic.jsonData.allows(Q)?Q:X.fallback.defaultValue({code:"defaultValue",base:Z,value:Q})}U.properties[q.key]=Z}if(this.requiredKeys.length&&U.properties)U.required=this.requiredKeys.filter((q)=>typeof q==="string"&&(q in U.properties))}if(this.index)for(let q of this.index){let Z=q.value.toJsonSchemaRecurse(X);if(q.signature.equals(V.intrinsic.string)){U.additionalProperties=Z;continue}for(let Q of q.signature.branches){if(!Q.extends(V.intrinsic.string)){U=X.fallback.symbolKey({code:"symbolKey",base:U,key:null,value:Z,optional:!1});continue}let G={type:"string"};if(Q.hasKind("morph"))G=X.fallback.morph({code:"morph",base:Q.rawIn.toJsonSchemaRecurse(X),out:Q.rawOut.toJsonSchemaRecurse(X)});if(!Q.hasKind("intersection"))return g(`Unexpected index branch kind ${Q.kind}.`);let{pattern:Y}=Q.inner;if(Y){let J=Object.assign(G,{pattern:Y[0].rule});for(let H=1;H<Y.length;H++)G=X.fallback.patternIntersection({code:"patternIntersection",base:J,pattern:Y[H].rule});U.patternProperties??={},U.patternProperties[J.pattern]=Z}}}if(this.undeclared&&!U.additionalProperties)U.additionalProperties=!1;return U}}var P4={},s5=(U)=>{let X="";for(let q=0;q<U.defaultable.length;q++)X+=U.defaultable[q].defaultValueMorphRef;if(U.sequence?.defaultValueMorphsReference)X+=U.sequence?.defaultValueMorphsReference;if(U.undeclared==="delete"){if(X+="delete !(",U.required)for(let q of U.required)X+=q.compiledKey+" | ";if(U.optional)for(let q of U.optional)X+=q.compiledKey+" | ";if(U.index)for(let q of U.index)X+=q.signature.id+" | ";if(U.sequence)if(U.sequence.maxLength===null)X+=I.nonNegativeIntegerString.id;else for(let q=0;q<U.sequence.tuple.length;q++)X+=q+" | ";X+=")"}return X},o5=(U)=>{let X=s5(U);if(!X)return;if(P4[X])return P4[X];let q=(Z,Q)=>{for(let G=0;G<U.defaultable.length;G++)if(!(U.defaultable[G].key in Z))U.defaultable[G].defaultValueMorph(Z,Q);if(U.sequence?.defaultables)for(let G=Z.length-U.sequence.prefixLength;G<U.sequence.defaultables.length;G++)U.sequence.defaultValueMorphs[G](Z,Q);if(U.undeclared==="delete"){for(let G in Z)if(!U.declaresKey(G))delete Z[G]}return Z};return P4[X]=q},r5=(U,X)=>{let Z=`(data${X.defaultable.some((Q)=>Q.defaultValueMorph.length===2)||X.sequence?.defaultValueMorphs.some((Q)=>Q.length===2)?", ctx":""})`;return U.block(`${Z} => `,(Q)=>{for(let G=0;G<X.defaultable.length;G++){let{serializedKey:Y,defaultValueMorphRef:J}=X.defaultable[G];Q.if(`!(${Y} in data)`,(H)=>H.line(`${J}${Z}`))}if(X.sequence?.defaultables)Q.for(`i < ${X.sequence.defaultables.length}`,(G)=>G.set("data[i]",5),`data.length - ${X.sequence.prefixLength}`);if(X.undeclared==="delete")Q.forIn("data",(G)=>G.if(`!(${X._compileDeclaresKey(G)})`,(Y)=>Y.line("delete data[k]")));return Q.return("data")})},w4={implementation:i5,Node:eq},a5=(U)=>{if(M(U,"root")&&U.hasKind("unit"))U=U.unit;if(typeof U==="number")U=`${U}`;return U},n5=(U,X)=>`${U} is not allowed as an array index on ${X}. Use the 'nonNegativeIntegerString' keyword instead.`,w6=(U,X,q)=>{let[Z,Q]=AX(U.branches,(Y)=>Y.hasKind("unit"));if(!Z.length)return{index:q.node("index",{signature:U,value:X})};let G={};for(let Y of Z){let J=q.node("required",{key:Y.unit,value:X});G[J.kind]=y(G[J.kind],J)}if(Q.length)G.index=q.node("index",{signature:Q,value:X});return G},t5=(U)=>M(U,"root")?U.expression:E(U),aq=(U,X)=>`Key${X.length===1?"":"s"} ${X.map(t5).join(", ")} ${X.length===1?"does":"do"} not exist on ${U}`,nq=(U)=>`Duplicate key ${M0(U)}`;var y1={...Tq,alias:K2.implementation,domain:P6.implementation,unit:B4.implementation,proto:N2.implementation,union:O4.implementation,morph:A4.implementation,intersection:F4.implementation,divisor:U4.implementation,pattern:H4.implementation,predicate:eU.implementation,required:D4.implementation,optional:P2.implementation,index:T4.implementation,sequence:R4.implementation,structure:w4.implementation};V.defaultConfig=wX(Object.assign(S(y1,(U,X)=>[U,X.defaults]),{jitless:EX(),clone:NX,onUndeclaredKey:"ignore",exactOptionalPropertyTypes:!0,numberAllowsNaN:!1,dateAllowsInvalid:!1,onFail:null,keywords:{},toJsonSchema:p.defaultConfig}));V.resolvedConfig=V2(V.defaultConfig,V.config);var Iq={...Dq,alias:K2.Node,domain:P6.Node,unit:B4.Node,proto:N2.Node,union:O4.Node,morph:A4.Node,intersection:F4.Node,divisor:U4.Node,pattern:H4.Node,predicate:eU.Node,required:D4.Node,optional:P2.Node,index:T4.Node,sequence:R4.Node,structure:w4.Node};class v1 extends yU{get[q0](){return"module"}}var I4=(U,X)=>new v1(S(U,(q,Z)=>[q,M(Z,"module")?I4(Z,X):X.bindReference(Z)]));var e5=(U)=>h(U)?U:("branches"in U)&&h(U.branches)?U.branches:void 0,UY=(U,X)=>F(`Node of kind ${X} is not valid as a ${U} definition`),UZ=(U)=>`#${U} duplicates public alias ${U}`,K4={};V.ambient??={};var XZ,ZZ="function $",XY=(U)=>QZ(U,GZ(U)),QZ=(U,X)=>{let q=X.write(ZZ,4),Z=X.compile()();for(let Q of U){if(Q.precompilation)continue;if(Q.traverseAllows=Z[`${Q.id}Allows`].bind(Z),Q.isRoot()&&!Q.allowsRequiresContext)Q.allows=Q.traverseAllows;if(Q.traverseApply=Z[`${Q.id}Apply`].bind(Z),Z[`${Q.id}Optimistic`])Q.traverseOptimistic=Z[`${Q.id}Optimistic`].bind(Z);Q.precompilation=q}},GZ=(U)=>new L6().return(U.reduce((X,q)=>{let Z=new A2({kind:"Allows"}).indent();q.compile(Z);let Q=Z.write(`${q.id}Allows`),G=new A2({kind:"Apply"}).indent();q.compile(G);let Y=G.write(`${q.id}Apply`),J=`${X}${Q},
179
+ Right: ${X}`;var g5=j({kind:"unit",hasAssociatedError:!0,keys:{unit:{preserveUndefined:!0,serialize:(U)=>U instanceof Date?U.toISOString():A0(U)}},normalize:(U)=>U,defaults:{description:(U)=>E(U.unit),problem:({expected:U,actual:X})=>`${U===X?`must be reference equal to ${U} (serialized to the same value)`:`must be ${U} (was ${X})`}`},intersections:{unit:(U,X)=>T.init("unit",U,X),...E0("unit",(U,X)=>{if(X.allows(U.unit))return U;let q=X.hasKind("intersection")?X.basis:X;if(q){let Z=q.hasKind("domain")?q:O.intrinsic.object;if(U.domain!==Z.domain){let Q=U.domain==="undefined"||U.domain==="null"||U.domain==="boolean"?U.domain:O.intrinsic[U.domain];return T.init("domain",Q,Z)}}return T.init("assignability",U,X.hasKind("intersection")?X.children.find((Z)=>!Z.allows(U.unit)):X)})}});class lq extends L1{compiledValue=this.json.unit;serializedValue=typeof this.unit==="string"||this.unit instanceof Date?JSON.stringify(this.compiledValue):`${this.compiledValue}`;compiledCondition=pq(this.unit,this.serializedValue);compiledNegation=pq(this.unit,this.serializedValue,"negated");expression=E(this.unit);domain=r(this.unit);get defaultShortDescription(){return this.domain==="object"?Y0.object:this.description}innerToJsonSchema(U){return this.unit===null?{type:"null"}:O.intrinsic.jsonPrimitive.allows(this.unit)?{const:this.unit}:U.fallback.unit({code:"unit",base:{},unit:this.unit})}traverseAllows=this.unit instanceof Date?(U)=>U instanceof Date&&U.toISOString()===this.compiledValue:Number.isNaN(this.unit)?(U)=>Number.isNaN(U):(U)=>U===this.unit}var T4={implementation:g5,Node:lq},pq=(U,X,q)=>{if(U instanceof Date){let Z=`data instanceof Date && data.toISOString() === ${X}`;return q?`!(${Z})`:Z}if(Number.isNaN(U))return`${q?"!":""}Number.isNaN(data)`;return`data ${q?"!":"="}== ${X}`};var y5=j({kind:"index",hasAssociatedError:!1,intersectionIsOpen:!0,keys:{signature:{child:!0,parse:(U,X)=>{let q=X.$.parseSchema(U);if(!q.extends(O.intrinsic.key))return F(v5(q.expression));let Z=q.branches.filter((Q)=>Q.hasKind("unit"));if(Z.length)return F(k5(Z.map((Q)=>E(Q.unit))));return q}},value:{child:!0,parse:(U,X)=>X.$.parseSchema(U)}},normalize:(U)=>U,defaults:{description:(U)=>`[${U.signature.expression}]: ${U.value.description}`},intersections:{index:(U,X,q)=>{if(U.signature.equals(X.signature)){let Z=u(U.value,X.value,q),Q=Z instanceof T?O.intrinsic.never.internal:Z;return q.$.node("index",{signature:U.signature,value:Q})}if(U.signature.extends(X.signature)&&U.value.subsumes(X.value))return X;if(X.signature.extends(U.signature)&&X.value.subsumes(U.value))return U;return null}}});class dq extends O0{impliedBasis=O.intrinsic.object.internal;expression=`[${this.signature.expression}]: ${this.value.expression}`;flatRefs=g(this.value.flatRefs.map((U)=>w0([this.signature,...U.path],U.node)),w0([this.signature],this.value));traverseAllows=(U,X)=>J1(U).every((q)=>{if(this.signature.traverseAllows(q[0],X))return _0(q[0],()=>this.value.traverseAllows(q[1],X),X);return!0});traverseApply=(U,X)=>{for(let q of J1(U))if(this.signature.traverseAllows(q[0],X))_0(q[0],()=>this.value.traverseApply(q[1],X),X)};_transform(U,X){X.path.push(this.signature);let q=super._transform(U,X);return X.path.pop(),q}compile(){}}var V4={implementation:y5,Node:dq},k5=(U)=>`Index keys ${U.join(", ")} should be specified as named props.`,v5=(U)=>`Indexed key definition '${U}' must be a string or symbol`;var h5=j({kind:"required",hasAssociatedError:!0,intersectionIsOpen:!0,keys:{key:{},value:{child:!0,parse:(U,X)=>X.$.parseSchema(U)}},normalize:(U)=>U,defaults:{description:(U)=>`${U.compiledKey}: ${U.value.description}`,expected:(U)=>U.missingValueDescription,actual:()=>"missing"},intersections:{required:D2,optional:D2}});class cq extends M2{expression=`${this.compiledKey}: ${this.value.expression}`;errorContext=Object.freeze({code:"required",missingValueDescription:this.value.defaultShortDescription,relativePath:[this.key],meta:this.meta});compiledErrorContext=s0(this.errorContext)}var R4={implementation:h5,Node:cq};var x5=j({kind:"sequence",hasAssociatedError:!1,collapsibleKey:"variadic",keys:{prefix:{child:!0,parse:(U,X)=>{if(U.length===0)return;return U.map((q)=>X.$.parseSchema(q))}},optionals:{child:!0,parse:(U,X)=>{if(U.length===0)return;return U.map((q)=>X.$.parseSchema(q))}},defaultables:{child:(U)=>U.map((X)=>X[0]),parse:(U,X)=>{if(U.length===0)return;return U.map((q)=>{let Z=X.$.parseSchema(q[0]);return w2(Z,q[1],null),[Z,q[1]]})},serialize:(U)=>U.map((X)=>[X[0].collapsibleJson,A0(X[1])]),reduceIo:(U,X,q)=>{if(U==="in"){X.optionals=q.map((Z)=>Z[0].rawIn);return}X.prefix=q.map((Z)=>Z[0].rawOut);return}},variadic:{child:!0,parse:(U,X)=>X.$.parseSchema(U,X)},minVariadicLength:{parse:(U)=>U===0?void 0:U},postfix:{child:!0,parse:(U,X)=>{if(U.length===0)return;return U.map((q)=>X.$.parseSchema(q))}}},normalize:(U)=>{if(typeof U==="string")return{variadic:U};if("variadic"in U||"prefix"in U||"defaultables"in U||"optionals"in U||"postfix"in U||"minVariadicLength"in U){if(U.postfix?.length){if(!U.variadic)return F(l5);if(U.optionals?.length||U.defaultables?.length)return F(M4)}if(U.minVariadicLength&&!U.variadic)return F("minVariadicLength may not be specified without a variadic element");return U}return{variadic:U}},reduce:(U,X)=>{let q=U.minVariadicLength??0,Z=U.prefix?.slice()??[],Q=U.defaultables?.slice()??[],G=U.optionals?.slice()??[],Y=U.postfix?.slice()??[];if(U.variadic){while(G[G.length-1]?.equals(U.variadic))G.pop();if(G.length===0&&Q.length===0)while(Z[Z.length-1]?.equals(U.variadic))Z.pop(),q++;while(Y[0]?.equals(U.variadic))Y.shift(),q++}else if(G.length===0&&Q.length===0)Z.push(...Y.splice(0));if(q!==U.minVariadicLength||U.prefix&&U.prefix.length!==Z.length)return X.node("sequence",{...U,prefix:Z,defaultables:Q,optionals:G,postfix:Y,minVariadicLength:q},{prereduced:!0})},defaults:{description:(U)=>{if(U.isVariadicOnly)return`${U.variadic.nestableExpression}[]`;return`[${U.tuple.map((q)=>q.kind==="defaultables"?`${q.node.nestableExpression} = ${E(q.default)}`:q.kind==="optionals"?`${q.node.nestableExpression}?`:q.kind==="variadic"?`...${q.node.nestableExpression}[]`:q.node.expression).join(", ")}]`}},intersections:{sequence:(U,X,q)=>{let Z=C2({l:U.tuple,r:X.tuple,disjoint:new T,result:[],fixedVariants:[],ctx:q}),Q=Z.disjoint.length===0?[Z,...Z.fixedVariants]:Z.fixedVariants;return Q.length===0?Z.disjoint:Q.length===1?q.$.node("sequence",iq(Q[0].result)):q.$.node("union",Q.map((G)=>({proto:Array,sequence:iq(G.result)})))}}});class oq extends O0{impliedBasis=O.intrinsic.Array.internal;tuple=p5(this.inner);prefixLength=this.prefix?.length??0;defaultablesLength=this.defaultables?.length??0;optionalsLength=this.optionals?.length??0;postfixLength=this.postfix?.length??0;defaultablesAndOptionals=[];prevariadic=this.tuple.filter((U)=>{if(U.kind==="defaultables"||U.kind==="optionals")return this.defaultablesAndOptionals.push(U.node),!0;return U.kind==="prefix"});variadicOrPostfix=g0(this.variadic&&[this.variadic],this.postfix);flatRefs=this.addFlatRefs();addFlatRefs(){return r6(this.flatRefs,this.prevariadic.flatMap((U,X)=>g(U.node.flatRefs.map((q)=>w0([`${X}`,...q.path],q.node)),w0([`${X}`],U.node)))),r6(this.flatRefs,this.variadicOrPostfix.flatMap((U)=>g(U.flatRefs.map((X)=>w0([O.intrinsic.nonNegativeIntegerString.internal,...X.path],X.node)),w0([O.intrinsic.nonNegativeIntegerString.internal],U)))),this.flatRefs}isVariadicOnly=this.prevariadic.length+this.postfixLength===0;minVariadicLength=this.inner.minVariadicLength??0;minLength=this.prefixLength+this.minVariadicLength+this.postfixLength;minLengthNode=this.minLength===0?null:this.$.node("minLength",this.minLength);maxLength=this.variadic?null:this.tuple.length;maxLengthNode=this.maxLength===null?null:this.$.node("maxLength",this.maxLength);impliedSiblings=this.minLengthNode?this.maxLengthNode?[this.minLengthNode,this.maxLengthNode]:[this.minLengthNode]:this.maxLengthNode?[this.maxLengthNode]:[];defaultValueMorphs=m5(this);defaultValueMorphsReference=this.defaultValueMorphs.length?d(this.defaultValueMorphs):void 0;elementAtIndex(U,X){if(X<this.prevariadic.length)return this.tuple[X];let q=U.length-this.postfixLength;if(X>=q)return{kind:"postfix",node:this.postfix[X-q]};return{kind:"variadic",node:this.variadic??y(`Unexpected attempt to access index ${X} on ${this}`)}}traverseAllows=(U,X)=>{for(let q=0;q<U.length;q++)if(!this.elementAtIndex(U,q).node.traverseAllows(U[q],X))return!1;return!0};traverseApply=(U,X)=>{let q=0;for(;q<U.length;q++)_0(q,()=>this.elementAtIndex(U,q).node.traverseApply(U[q],X),X)};get element(){return this.cacheGetter("element",this.$.node("union",this.children))}compile(U){if(this.prefix)for(let[X,q]of this.prefix.entries())U.traverseKey(`${X}`,`data[${X}]`,q);for(let[X,q]of this.defaultablesAndOptionals.entries()){let Z=`${X+this.prefixLength}`;U.if(`${Z} >= data.length`,()=>U.traversalKind==="Allows"?U.return(!0):U.return()),U.traverseKey(Z,`data[${Z}]`,q)}if(this.variadic){if(this.postfix)U.const("firstPostfixIndex",`data.length${this.postfix?`- ${this.postfix.length}`:""}`);if(U.for(`i < ${this.postfix?"firstPostfixIndex":"data.length"}`,()=>U.traverseKey("i","data[i]",this.variadic),this.prevariadic.length),this.postfix)for(let[X,q]of this.postfix.entries()){let Z=`firstPostfixIndex + ${X}`;U.traverseKey(Z,`data[${Z}]`,q)}}if(U.traversalKind==="Allows")U.return(!0)}_transform(U,X){X.path.push(O.intrinsic.nonNegativeIntegerString.internal);let q=super._transform(U,X);return X.path.pop(),q}expression=this.description;reduceJsonSchema(U,X){let q=X.target==="draft-07";if(this.prevariadic.length){let Z=this.prevariadic.map((Q)=>{let G=Q.node.toJsonSchemaRecurse(X);if(Q.kind==="defaultables"){let Y=typeof Q.default==="function"?Q.default():Q.default;G.default=O.intrinsic.jsonData.allows(Y)?Y:X.fallback.defaultValue({code:"defaultValue",base:G,value:Y})}return G});if(q)U.items=Z;else U.prefixItems=Z}if(this.minLength)U.minItems=this.minLength;if(this.variadic){let Z=this.variadic.toJsonSchemaRecurse(X);if(q&&this.prevariadic.length)U.additionalItems=Z;else U.items=Z;if(this.maxLength)U.maxItems=this.maxLength;if(this.postfix){let Q=this.postfix.map((G)=>G.toJsonSchemaRecurse(X));U=X.fallback.arrayPostfix({code:"arrayPostfix",base:U,elements:Q})}}else{if(q)U.additionalItems=!1;else U.items=!1;delete U.maxItems}return U}}var u5={},m5=(U)=>{if(!U.defaultables)return[];let X=[],q="[",Z=U.prefixLength+U.defaultablesLength-1;for(let Q=U.prefixLength;Q<=Z;Q++){let[G,Y]=U.defaultables[Q-U.prefixLength];X.push(z4(Q,G,Y)),q+=`${Q}: ${G.id} = ${A0(Y)}, `}return q+="]",u5[q]??=X},D4={implementation:x5,Node:oq},p5=(U)=>{let X=[];if(U.prefix)for(let q of U.prefix)X.push({kind:"prefix",node:q});if(U.defaultables)for(let[q,Z]of U.defaultables)X.push({kind:"defaultables",node:q,default:Z});if(U.optionals)for(let q of U.optionals)X.push({kind:"optionals",node:q});if(U.variadic)X.push({kind:"variadic",node:U.variadic});if(U.postfix)for(let q of U.postfix)X.push({kind:"postfix",node:q});return X},iq=(U)=>U.reduce((X,q)=>{if(q.kind==="variadic")X.variadic=q.node;else if(q.kind==="defaultables")X.defaultables=g(X.defaultables,[[q.node,q.default]]);else X[q.kind]=g(X[q.kind],q.node);return X},{}),M4="A postfix required element cannot follow an optional or defaultable element",l5="A postfix element requires a variadic element",C2=(U)=>{let[X,...q]=U.l,[Z,...Q]=U.r;if(!X||!Z)return U;let G=q[q.length-1]?.kind==="postfix",Y=Q[Q.length-1]?.kind==="postfix",J=X.kind==="prefix"||Z.kind==="prefix"?"prefix":X.kind==="postfix"||Z.kind==="postfix"?"postfix":X.kind==="variadic"&&Z.kind==="variadic"?"variadic":G||Y?"prefix":X.kind==="defaultables"||Z.kind==="defaultables"?"defaultables":"optionals";if(X.kind==="prefix"&&Z.kind==="variadic"&&Y){let _=C2({...U,fixedVariants:[],r:Q.map((L)=>({...L,kind:"prefix"}))});if(_.disjoint.length===0)U.fixedVariants.push(_)}else if(Z.kind==="prefix"&&X.kind==="variadic"&&G){let _=C2({...U,fixedVariants:[],l:q.map((L)=>({...L,kind:"prefix"}))});if(_.disjoint.length===0)U.fixedVariants.push(_)}let H=u(X.node,Z.node,U.ctx);if(H instanceof T)if(J==="prefix"||J==="postfix")U.disjoint.push(...H.withPrefixKey(J==="prefix"?U.result.length:`-${q.length+1}`,sq(X)&&sq(Z)?"required":"optional")),U.result=[...U.result,{kind:J,node:O.intrinsic.never.internal}];else if(J==="optionals"||J==="defaultables")return U;else return C2({...U,fixedVariants:[],l:q.map((_)=>({..._,kind:"prefix"})),r:q.map((_)=>({..._,kind:"prefix"}))});else if(J==="defaultables"){if(X.kind==="defaultables"&&Z.kind==="defaultables"&&X.default!==Z.default)F(L4(X.default,Z.default));U.result=[...U.result,{kind:J,node:H,default:X.kind==="defaultables"?X.default:Z.kind==="defaultables"?Z.default:y(`Unexpected defaultable intersection from ${X.kind} and ${Z.kind} elements.`)}]}else U.result=[...U.result,{kind:J,node:H}];let W=U.l.length,$=U.r.length;if(X.kind!=="variadic"||W>=$&&(Z.kind==="variadic"||$===1))U.l=q;if(Z.kind!=="variadic"||$>=W&&(X.kind==="variadic"||W===1))U.r=Q;return C2(U)},sq=(U)=>U.kind==="prefix"||U.kind==="postfix";var tq=(U)=>(X)=>{if(X.props.length||X.index){let q=X.index?.map((Q)=>Q[U])??[];for(let Q of X.props)q.push(Q[U]);if(X.undeclared)q.push(`+ (undeclared): ${X.undeclared}`);let Z=`{ ${q.join(", ")} }`;return X.sequence?`${Z} & ${X.sequence.description}`:Z}return X.sequence?.description??"{}"},d5=tq("description"),c5=tq("expression"),rq=(U,X,q)=>{let Z=U.required?"required":"optional";if(!X.signature.allows(U.key))return null;let Q=$0(U.value,X.value,q);if(Q instanceof T)return Z==="optional"?q.node("optional",{key:U.key,value:O.intrinsic.never.internal}):Q.withPrefixKey(U.key,U.kind);return null},i5=j({kind:"structure",hasAssociatedError:!1,normalize:(U)=>U,applyConfig:(U,X)=>{if(!U.undeclared&&X.onUndeclaredKey!=="ignore")return{...U,undeclared:X.onUndeclaredKey};return U},keys:{required:{child:!0,parse:q0("required"),reduceIo:(U,X,q)=>{X.required=g(X.required,q.map((Z)=>U==="in"?Z.rawIn:Z.rawOut));return}},optional:{child:!0,parse:q0("optional"),reduceIo:(U,X,q)=>{if(U==="in"){X.optional=q.map((Z)=>Z.rawIn);return}for(let Z of q)X[Z.outProp.kind]=g(X[Z.outProp.kind],Z.outProp.rawOut)}},index:{child:!0,parse:q0("index")},sequence:{child:!0,parse:q0("sequence")},undeclared:{parse:(U)=>U==="ignore"?void 0:U,reduceIo:(U,X,q)=>{if(q==="reject"){X.undeclared="reject";return}if(U==="in")delete X.undeclared;else X.undeclared="reject"}}},defaults:{description:d5},intersections:{structure:(U,X,q)=>{let Z={...U.inner},Q={...X.inner},G=new T;if(U.undeclared){let H=U.keyof();for(let W of X.requiredKeys)if(!H.allows(W))G.add("presence",O.intrinsic.never.internal,X.propsByKey[W].value,{path:[W]});if(Q.optional)Q.optional=Q.optional.filter((W)=>H.allows(W.key));if(Q.index)Q.index=Q.index.flatMap((W)=>{if(W.signature.extends(H))return W;let $=$0(H,W.signature,q.$);if($ instanceof T)return[];let _=wU($,W.value,q.$);if(_.required)Q.required=g0(Q.required,_.required);if(_.optional)Q.optional=g0(Q.optional,_.optional);return _.index??[]})}if(X.undeclared){let H=X.keyof();for(let W of U.requiredKeys)if(!H.allows(W))G.add("presence",U.propsByKey[W].value,O.intrinsic.never.internal,{path:[W]});if(Z.optional)Z.optional=Z.optional.filter((W)=>H.allows(W.key));if(Z.index)Z.index=Z.index.flatMap((W)=>{if(W.signature.extends(H))return W;let $=$0(H,W.signature,q.$);if($ instanceof T)return[];let _=wU($,W.value,q.$);if(_.required)Z.required=g0(Z.required,_.required);if(_.optional)Z.optional=g0(Z.optional,_.optional);return _.index??[]})}let Y={};if(U.undeclared||X.undeclared)Y.undeclared=U.undeclared==="reject"||X.undeclared==="reject"?"reject":"delete";let J=b1({kind:"structure",baseInner:Y,l:f1(Z),r:f1(Q),roots:[],ctx:q});if(J instanceof T)G.push(...J);if(G.length)return G;return J}},reduce:(U,X)=>{if(!U.required&&!U.optional)return;let q={},Z=!1,Q=U.optional?[...U.optional]:[];if(U.required)for(let G=0;G<U.required.length;G++){let Y=U.required[G];if(Y.key in q)F(nq(Y.key));if(q[Y.key]=!0,U.index)for(let J of U.index){let H=rq(Y,J,X);if(H instanceof T)return H}}if(U.optional)for(let G=0;G<U.optional.length;G++){let Y=U.optional[G];if(Y.key in q)F(nq(Y.key));if(q[Y.key]=!0,U.index)for(let J of U.index){let H=rq(Y,J,X);if(H instanceof T)return H;if(H!==null)Q[G]=H,Z=!0}}if(Z)return X.node("structure",{...U,optional:Q},{prereduced:!0})}});class eq extends O0{impliedBasis=O.intrinsic.object.internal;impliedSiblings=this.children.flatMap((U)=>U.impliedSiblings??[]);props=g0(this.required,this.optional);propsByKey=S(this.props,(U,X)=>[X.key,X]);propsByKeyReference=d(this.propsByKey);expression=c5(this);requiredKeys=this.required?.map((U)=>U.key)??[];optionalKeys=this.optional?.map((U)=>U.key)??[];literalKeys=[...this.requiredKeys,...this.optionalKeys];_keyof;keyof(){if(this._keyof)return this._keyof;let U=this.$.units(this.literalKeys).branches;if(this.index)for(let{signature:X}of this.index)U=U.concat(X.branches);return this._keyof=this.$.node("union",U)}map(U){return this.$.node("structure",this.props.flatMap(U).reduce((X,q)=>{let Z=this.propsByKey[q.key];if(x(q)){if(q.kind!=="required"&&q.kind!=="optional")return F(`Map result must have kind "required" or "optional" (was ${q.kind})`);return X[q.kind]=g(X[q.kind],q),X}let Q=q.kind??Z?.kind??"required",G=S(q,(Y,J)=>(Y in P2.implementation.keys)?[Y,J]:[]);return X[Q]=g(X[Q],this.$.node(Q,G)),X},{}))}assertHasKeys(U){let X=U.filter((q)=>!I2(q,this.keyof()));if(X.length)return F(aq(this.expression,X))}get(U,...X){let q,Z=!1,Q=a5(U);if((typeof Q==="string"||typeof Q==="symbol")&&this.propsByKey[Q])q=this.propsByKey[Q].value,Z=this.propsByKey[Q].required;if(this.index){for(let Y of this.index)if(I2(Q,Y.signature))q=q?.and(Y.value)??Y.value}if(this.sequence&&I2(Q,O.intrinsic.nonNegativeIntegerString))if(M(Q,"root")){if(this.sequence.variadic)q=q?.and(this.sequence.element)??this.sequence.element}else{let Y=Number.parseInt(Q);if(Y<this.sequence.prevariadic.length){let J=this.sequence.prevariadic[Y].node;q=q?.and(J)??J,Z||=Y<this.sequence.prefixLength}else if(this.sequence.variadic){let J=this.$.node("union",this.sequence.variadicOrPostfix);q=q?.and(J)??J}}if(!q){if(this.sequence?.variadic&&M(Q,"root")&&Q.extends(O.intrinsic.number))return F(n5(Q.expression,this.sequence.expression));return F(aq(this.expression,[Q]))}let G=q.get(...X);return Z?G:G.or(O.intrinsic.undefined)}pick(...U){return this.assertHasKeys(U),this.$.node("structure",this.filterKeys("pick",U))}omit(...U){return this.assertHasKeys(U),this.$.node("structure",this.filterKeys("omit",U))}optionalize(){let{required:U,...X}=this.inner;return this.$.node("structure",{...X,optional:this.props.map((q)=>q.hasKind("required")?this.$.node("optional",q.inner):q)})}require(){let{optional:U,...X}=this.inner;return this.$.node("structure",{...X,required:this.props.map((q)=>q.hasKind("optional")?{key:q.key,value:q.value}:q)})}merge(U){let X=this.filterKeys("omit",[U.keyof()]);if(U.required)X.required=g(X.required,U.required);if(U.optional)X.optional=g(X.optional,U.optional);if(U.index)X.index=g(X.index,U.index);if(U.sequence)X.sequence=U.sequence;if(U.undeclared)X.undeclared=U.undeclared;else delete X.undeclared;return this.$.node("structure",X)}filterKeys(U,X){let q=zU(this.inner),Z=(Q)=>{let G=X.some((Y)=>I2(Q,Y));return U==="pick"?G:!G};if(q.required)q.required=q.required.filter((Q)=>Z(Q.key));if(q.optional)q.optional=q.optional.filter((Q)=>Z(Q.key));if(q.index)q.index=q.index.filter((Q)=>Z(Q.signature));return q}traverseAllows=(U,X)=>this._traverse("Allows",U,X);traverseApply=(U,X)=>this._traverse("Apply",U,X);_traverse=(U,X,q)=>{let Z=q?.currentErrorCount??0;for(let Q=0;Q<this.props.length;Q++)if(U==="Allows"){if(!this.props[Q].traverseAllows(X,q))return!1}else if(this.props[Q].traverseApply(X,q),q.failFast&&q.currentErrorCount>Z)return!1;if(this.sequence){if(U==="Allows"){if(!this.sequence.traverseAllows(X,q))return!1}else if(this.sequence.traverseApply(X,q),q.failFast&&q.currentErrorCount>Z)return!1}if(this.index||this.undeclared==="reject"){let Q=Object.keys(X);Q.push(...Object.getOwnPropertySymbols(X));for(let G=0;G<Q.length;G++){let Y=Q[G];if(this.index){for(let J of this.index)if(J.signature.traverseAllows(Y,q)){if(U==="Allows"){if(!_0(Y,()=>J.value.traverseAllows(X[Y],q),q))return!1}else if(_0(Y,()=>J.value.traverseApply(X[Y],q),q),q.failFast&&q.currentErrorCount>Z)return!1}}if(this.undeclared==="reject"&&!this.declaresKey(Y)){if(U==="Allows")return!1;if(q.errorFromNodeContext({code:"predicate",expected:"removed",actual:"",relativePath:[Y],meta:this.meta}),q.failFast)return!1}}}if(this.structuralMorph&&q&&!q.hasError())q.queueMorphs([this.structuralMorph]);return!0};get defaultable(){return this.cacheGetter("defaultable",this.optional?.filter((U)=>U.hasDefault())??[])}declaresKey=(U)=>(U in this.propsByKey)||this.index?.some((X)=>X.signature.allows(U))||this.sequence!==void 0&&O.intrinsic.nonNegativeIntegerString.allows(U);_compileDeclaresKey(U){let X=[];if(this.props.length)X.push(`k in ${this.propsByKeyReference}`);if(this.index)for(let q of this.index)X.push(U.invoke(q.signature,{kind:"Allows",arg:"k"}));if(this.sequence)X.push("$ark.intrinsic.nonNegativeIntegerString.allows(k)");return X.join(" || ")||"false"}get structuralMorph(){return this.cacheGetter("structuralMorph",o5(this))}structuralMorphRef=this.structuralMorph&&d(this.structuralMorph);compile(U){if(U.traversalKind==="Apply")U.initializeErrorCount();for(let X of this.props)if(U.check(X),U.traversalKind==="Apply")U.returnIfFailFast();if(this.sequence){if(U.check(this.sequence),U.traversalKind==="Apply")U.returnIfFailFast()}if(this.index||this.undeclared==="reject")U.const("keys","Object.keys(data)"),U.line("keys.push(...Object.getOwnPropertySymbols(data))"),U.for("i < keys.length",()=>this.compileExhaustiveEntry(U));if(U.traversalKind==="Allows")return U.return(!0);if(this.structuralMorphRef)U.if("ctx && !ctx.hasError()",()=>{return U.line("ctx.queueMorphs(["),r5(U,this),U.line("])")})}compileExhaustiveEntry(U){if(U.const("k","keys[i]"),this.index)for(let X of this.index)U.if(`${U.invoke(X.signature,{arg:"k",kind:"Allows"})}`,()=>U.traverseKey("k","data[k]",X.value));if(this.undeclared==="reject")U.if(`!(${this._compileDeclaresKey(U)})`,()=>{if(U.traversalKind==="Allows")return U.return(!1);return U.line(`ctx.errorFromNodeContext({ code: "predicate", expected: "removed", actual: "", relativePath: [k], meta: ${this.compiledMeta} })`).if("ctx.failFast",()=>U.return())});return U}reduceJsonSchema(U,X){switch(U.type){case"object":return this.reduceObjectJsonSchema(U,X);case"array":let q=this.sequence?.reduceJsonSchema(U,X)??U;if(this.props.length||this.index)return X.fallback.arrayObject({code:"arrayObject",base:q,object:this.reduceObjectJsonSchema({type:"object"},X)});return q;default:return p.throwInternalOperandError("structure",U)}}reduceObjectJsonSchema(U,X){if(this.props.length){U.properties={};for(let q of this.props){let Z=q.value.toJsonSchemaRecurse(X);if(typeof q.key==="symbol"){X.fallback.symbolKey({code:"symbolKey",base:U,key:q.key,value:Z,optional:q.optional});continue}if(q.hasDefault()){let Q=typeof q.default==="function"?q.default():q.default;Z.default=O.intrinsic.jsonData.allows(Q)?Q:X.fallback.defaultValue({code:"defaultValue",base:Z,value:Q})}U.properties[q.key]=Z}if(this.requiredKeys.length&&U.properties)U.required=this.requiredKeys.filter((q)=>typeof q==="string"&&(q in U.properties))}if(this.index)for(let q of this.index){let Z=q.value.toJsonSchemaRecurse(X);if(q.signature.equals(O.intrinsic.string)){U.additionalProperties=Z;continue}for(let Q of q.signature.branches){if(!Q.extends(O.intrinsic.string)){U=X.fallback.symbolKey({code:"symbolKey",base:U,key:null,value:Z,optional:!1});continue}let G={type:"string"};if(Q.hasKind("morph"))G=X.fallback.morph({code:"morph",base:Q.rawIn.toJsonSchemaRecurse(X),out:Q.rawOut.toJsonSchemaRecurse(X)});if(!Q.hasKind("intersection"))return y(`Unexpected index branch kind ${Q.kind}.`);let{pattern:Y}=Q.inner;if(Y){let J=Object.assign(G,{pattern:Y[0].rule});for(let H=1;H<Y.length;H++)G=X.fallback.patternIntersection({code:"patternIntersection",base:J,pattern:Y[H].rule});U.patternProperties??={},U.patternProperties[J.pattern]=Z}}}if(this.undeclared&&!U.additionalProperties)U.additionalProperties=!1;return U}}var P4={},s5=(U)=>{let X="";for(let q=0;q<U.defaultable.length;q++)X+=U.defaultable[q].defaultValueMorphRef;if(U.sequence?.defaultValueMorphsReference)X+=U.sequence?.defaultValueMorphsReference;if(U.undeclared==="delete"){if(X+="delete !(",U.required)for(let q of U.required)X+=q.compiledKey+" | ";if(U.optional)for(let q of U.optional)X+=q.compiledKey+" | ";if(U.index)for(let q of U.index)X+=q.signature.id+" | ";if(U.sequence)if(U.sequence.maxLength===null)X+=I.nonNegativeIntegerString.id;else for(let q=0;q<U.sequence.tuple.length;q++)X+=q+" | ";X+=")"}return X},o5=(U)=>{let X=s5(U);if(!X)return;if(P4[X])return P4[X];let q=(Z,Q)=>{for(let G=0;G<U.defaultable.length;G++)if(!(U.defaultable[G].key in Z))U.defaultable[G].defaultValueMorph(Z,Q);if(U.sequence?.defaultables)for(let G=Z.length-U.sequence.prefixLength;G<U.sequence.defaultables.length;G++)U.sequence.defaultValueMorphs[G](Z,Q);if(U.undeclared==="delete"){for(let G in Z)if(!U.declaresKey(G))delete Z[G]}return Z};return P4[X]=q},r5=(U,X)=>{let Z=`(data${X.defaultable.some((Q)=>Q.defaultValueMorph.length===2)||X.sequence?.defaultValueMorphs.some((Q)=>Q.length===2)?", ctx":""})`;return U.block(`${Z} => `,(Q)=>{for(let G=0;G<X.defaultable.length;G++){let{serializedKey:Y,defaultValueMorphRef:J}=X.defaultable[G];Q.if(`!(${Y} in data)`,(H)=>H.line(`${J}${Z}`))}if(X.sequence?.defaultables)Q.for(`i < ${X.sequence.defaultables.length}`,(G)=>G.set("data[i]",5),`data.length - ${X.sequence.prefixLength}`);if(X.undeclared==="delete")Q.forIn("data",(G)=>G.if(`!(${X._compileDeclaresKey(G)})`,(Y)=>Y.line("delete data[k]")));return Q.return("data")})},w4={implementation:i5,Node:eq},a5=(U)=>{if(M(U,"root")&&U.hasKind("unit"))U=U.unit;if(typeof U==="number")U=`${U}`;return U},n5=(U,X)=>`${U} is not allowed as an array index on ${X}. Use the 'nonNegativeIntegerString' keyword instead.`,wU=(U,X,q)=>{let[Z,Q]=AX(U.branches,(Y)=>Y.hasKind("unit"));if(!Z.length)return{index:q.node("index",{signature:U,value:X})};let G={};for(let Y of Z){let J=q.node("required",{key:Y.unit,value:X});G[J.kind]=g(G[J.kind],J)}if(Q.length)G.index=q.node("index",{signature:Q,value:X});return G},t5=(U)=>M(U,"root")?U.expression:E(U),aq=(U,X)=>`Key${X.length===1?"":"s"} ${X.map(t5).join(", ")} ${X.length===1?"does":"do"} not exist on ${U}`,nq=(U)=>`Duplicate key ${M0(U)}`;var y1={...Vq,alias:K2.implementation,domain:PU.implementation,unit:T4.implementation,proto:N2.implementation,union:B4.implementation,morph:A4.implementation,intersection:F4.implementation,divisor:U4.implementation,pattern:H4.implementation,predicate:e6.implementation,required:R4.implementation,optional:P2.implementation,index:V4.implementation,sequence:D4.implementation,structure:w4.implementation};O.defaultConfig=wX(Object.assign(S(y1,(U,X)=>[U,X.defaults]),{jitless:EX(),clone:NX,onUndeclaredKey:"ignore",exactOptionalPropertyTypes:!0,numberAllowsNaN:!1,dateAllowsInvalid:!1,onFail:null,keywords:{},toJsonSchema:p.defaultConfig}));O.resolvedConfig=O2(O.defaultConfig,O.config);var Iq={...Rq,alias:K2.Node,domain:PU.Node,unit:T4.Node,proto:N2.Node,union:B4.Node,morph:A4.Node,intersection:F4.Node,divisor:U4.Node,pattern:H4.Node,predicate:e6.Node,required:R4.Node,optional:P2.Node,index:V4.Node,sequence:D4.Node,structure:w4.Node};class h1 extends g6{get[Z0](){return"module"}}var I4=(U,X)=>new h1(S(U,(q,Z)=>[q,M(Z,"module")?I4(Z,X):X.bindReference(Z)]));var e5=(U)=>h(U)?U:("branches"in U)&&h(U.branches)?U.branches:void 0,U7=(U,X)=>F(`Node of kind ${X} is not valid as a ${U} definition`),UZ=(U)=>`#${U} duplicates public alias ${U}`,K4={};O.ambient??={};var XZ,ZZ="function $",X7=(U)=>QZ(U,GZ(U)),QZ=(U,X)=>{let q=X.write(ZZ,4),Z=X.compile()();for(let Q of U){if(Q.precompilation)continue;if(Q.traverseAllows=Z[`${Q.id}Allows`].bind(Z),Q.isRoot()&&!Q.allowsRequiresContext)Q.allows=Q.traverseAllows;if(Q.traverseApply=Z[`${Q.id}Apply`].bind(Z),Z[`${Q.id}Optimistic`])Q.traverseOptimistic=Z[`${Q.id}Optimistic`].bind(Z);Q.precompilation=q}},GZ=(U)=>new LU().return(U.reduce((X,q)=>{let Z=new A2({kind:"Allows"}).indent();q.compile(Z);let Q=Z.write(`${q.id}Allows`),G=new A2({kind:"Apply"}).indent();q.compile(G);let Y=G.write(`${q.id}Apply`),J=`${X}${Q},
180
180
  ${Y},
181
181
  `;if(!q.hasKind("union"))return J;let H=new A2({kind:"Allows",optimistic:!0}).indent();q.compile(H);let W=H.write(`${q.id}Optimistic`);return`${J}${W},
182
182
  `},`{
183
- `)+"}");class I6{config;resolvedConfig;name;get[q0](){return"scope"}referencesById={};references=[];resolutions={};exportedNames=[];aliases={};resolved=!1;nodesByHash={};intrinsic;constructor(U,X){if(this.config=V2(V.config,X),this.resolvedConfig=V2(V.resolvedConfig,X),this.name=this.resolvedConfig.name??`anonymousScope${Object.keys(K4).length}`,this.name in K4)F(`A Scope already named ${this.name} already exists`);K4[this.name]=this;let q=Object.entries(U).map((Z)=>this.preparseOwnAliasEntry(...Z));for(let[Z,Q]of q){let G=Z;if(Z[0]==="#"){if(G=Z.slice(1),G in this.aliases)F(UZ(G));this.aliases[G]=Q}else{if(G in this.aliases)F(UZ(Z));this.aliases[G]=Q,this.exportedNames.push(G)}if(!M(Q,"module")&&!M(Q,"generic")&&!d0(Q)){let Y=this.preparseOwnDefinitionFormat(Q,{alias:G});this.resolutions[G]=M(Y,"root")?this.bindReference(Y):this.createParseContext(Y).id}}XZ??=this.node("union",{branches:["string","number","object","bigint","symbol",{unit:!0},{unit:!1},{unit:void 0},{unit:null}]},{prereduced:!0}),this.nodesByHash[XZ.hash]=this.node("intersection",{},{prereduced:!0}),this.intrinsic=V.intrinsic?S(V.intrinsic,(Z,Q)=>Z.startsWith("json")?[]:[Z,this.bindReference(Q)]):{}}cacheGetter(U,X){return Object.defineProperty(this,U,{value:X}),X}get internal(){return this}_json;get json(){if(!this._json)this.export();return this._json}defineSchema(U){return U}generic=(...U)=>{let X=this;return(q,Z)=>new r0(U,Z?new O6(q):q,X,X,Z??null)};units=(U,X)=>{let q=[];for(let Q of U)if(!q.includes(Q))q.push(Q);let Z=q.map((Q)=>this.node("unit",{unit:Q},X));return this.node("union",Z,{...X,prereduced:!0})};lazyResolutions=[];lazilyResolve(U,X){let q=this.node("alias",{reference:X??"synthetic",resolve:U},{prereduced:!0});if(!this.resolved)this.lazyResolutions.push(q);return q}schema=(U,X)=>this.finalize(this.parseSchema(U,X));parseSchema=(U,X)=>this.node(D2(U),U,X);preparseNode(U,X,q){let Z=typeof U==="string"?U:D2(X,U);if(x(X)&&X.kind===Z)return X;if(Z==="alias"&&!q?.prereduced){let{reference:Y}=K2.implementation.normalize(X,this);if(Y.startsWith("$")){let J=this.resolveRoot(Y.slice(1));X=J,Z=J.kind}}else if(Z==="union"&&Q0(X,"object")){let Y=e5(X);if(Y?.length===1)X=Y[0],Z=D2(X)}if(x(X)&&X.kind===Z)return X;let G=y1[Z].normalize?.(X,this)??X;if(x(G))return G.kind===Z?G:UY(Z,G.kind);return{...q,$:this,kind:Z,def:G,prefix:q.alias??Z}}bindReference(U){let X;if(x(U))X=U.$===this?U:new U.constructor(U.attachments,this);else X=U.$===this?U:new r0(U.params,U.bodyDef,U.$,this,U.hkt);if(!this.resolved)Object.assign(this.referencesById,X.referencesById);return X}resolveRoot(U){return this.maybeResolveRoot(U)??F(S4(U))}maybeResolveRoot(U){let X=this.maybeResolve(U);if(M(X,"generic"))return;return X}maybeResolveSubalias(U){return N4(this.aliases,U)??N4(this.ambient,U)}get ambient(){return V.ambient}maybeResolve(U){let X=this.resolutions[U];if(X){if(typeof X!=="string")return this.bindReference(X);let Z=Z0[X];if(M(Z,"root"))return this.resolutions[U]=Z;if(M(Z,"context")){if(Z.phase==="resolving")return this.node("alias",{reference:`$${U}`},{prereduced:!0});if(Z.phase==="resolved")return g(`Unexpected resolved context for was uncached by its scope: ${E(Z)}`);Z.phase="resolving";let Q=this.bindReference(this.parseOwnDefinitionFormat(Z.def,Z));return Z.phase="resolved",Z0[Q.id]=Q,Z0[Z.id]=Q,this.resolutions[U]=Q}return g(`Unexpected nodesById entry for ${X}: ${E(Z)}`)}let q=this.aliases[U]??this.ambient?.[U];if(!q)return this.maybeResolveSubalias(U);if(q=this.normalizeRootScopeValue(q),M(q,"generic"))return this.resolutions[U]=this.bindReference(q);if(M(q,"module")){if(!q.root)F(HZ(U));return this.resolutions[U]=this.bindReference(q.root)}return this.resolutions[U]=this.parse(q,{alias:U})}createParseContext(U){let X=U.id??W4(U.prefix);return Z0[X]=Object.assign(U,{[q0]:"context",$:this,id:X,phase:"unresolved"})}traversal(U){return new P0(U,this.resolvedConfig)}import(...U){return new v1(S(this.export(...U),(X,q)=>[`#${X}`,q]))}precompilation;_exportedResolutions;_exports;export(...U){if(!this._exports){this._exports={};for(let q of this.exportedNames){let Z=this.aliases[q];this._exports[q]=M(Z,"module")?I4(Z,this):qZ(this.maybeResolve(q))}for(let q of this.lazyResolutions)q.resolution;if(this._exportedResolutions=JZ(this,this._exports),this._json=YZ(this._exportedResolutions),Object.assign(this.resolutions,this._exportedResolutions),this.references=Object.values(this.referencesById),!this.resolvedConfig.jitless){let q=GZ(this.references);this.precompilation=q.write(ZZ,4),QZ(this.references,q)}this.resolved=!0}let X=U.length?U:this.exportedNames;return new v1(S(X,(q,Z)=>[Z,this._exports[Z]]))}resolve(U){return this.export()[U]}node=(U,X,q={})=>{let Z=this.preparseNode(U,X,q);if(x(Z))return this.bindReference(Z);let Q=this.createParseContext(Z),G=_4(Q),Y=this.bindReference(G);return Z0[Q.id]=Y};parse=(U,X={})=>this.finalize(this.parseDefinition(U,X));parseDefinition(U,X={}){if(M(U,"root"))return this.bindReference(U);let q=this.preparseOwnDefinitionFormat(U,X);if(M(q,"root"))return this.bindReference(q);let Z=this.createParseContext(q);Z0[Z.id]=Z;let Q=this.bindReference(this.parseOwnDefinitionFormat(U,Z));if(Q.isCyclic)Q=wq(Q,Z.id);return Z0[Z.id]=Q,Q}finalize(U){if(qZ(U),!U.precompilation&&!this.resolvedConfig.jitless)XY(U.references);return U}}class C4 extends I6{parseOwnDefinitionFormat(U,X){return _4(X)}preparseOwnDefinitionFormat(U,X){return this.preparseNode(D2(U),U,X)}preparseOwnAliasEntry(U,X){return[U,X]}normalizeRootScopeValue(U){return U}}var qZ=(U)=>{let X=U.references.filter((q)=>q.hasKind("alias"));for(let q of X){Object.assign(q.referencesById,q.resolution.referencesById);for(let Z of U.references)if(q.id in Z.referencesById)Object.assign(Z.referencesById,q.referencesById)}return U},YZ=(U)=>S(U,(X,q)=>[X,M(q,"root")||M(q,"generic")?q.json:M(q,"module")?YZ(q):g(`Unexpected resolution ${E(q)}`)]),N4=(U,X)=>{let q=X.indexOf(".");if(q===-1)return;let Z=X.slice(0,q),Q=U[Z];if(Q===void 0)return;if(!M(Q,"module"))return F(qY(Z));let G=X.slice(q+1),Y=Q[G];if(Y===void 0)return N4(Q,G);if(M(Y,"root")||M(Y,"generic"))return Y;if(M(Y,"module"))return Y.root??F(HZ(X));g(`Unexpected resolution for alias '${X}': ${E(Y)}`)},K6=(U,X)=>new C4(U,X),S2=new C4({});var JZ=(U,X)=>{let q={};for(let Z in X){let Q=X[Z];if(M(Q,"module")){let G=JZ(U,Q),Y=S(G,(J,H)=>[`${Z}.${J}`,H]);Object.assign(q,Y)}else if(M(Q,"root")||M(Q,"generic"))q[Z]=Q;else g(`Unexpected scope resolution ${E(Q)}`)}return q},S4=(U)=>`'${U}' is unresolvable`,qY=(U)=>`'${U}' must reference a module to be accessed using dot syntax`,HZ=(U)=>`Reference to submodule '${U}' must specify an alias`;S2.export();var{schema:v,node:h1,defineSchema:fP,generic:B0}=S2;var E4="^(?:0|[1-9]\\d*)$",ZY=new RegExp(E4),kP=d(ZY);var WZ=K6({bigint:"bigint",boolean:[{unit:!1},{unit:!0}],false:{unit:!1},never:[],null:{unit:null},number:"number",object:"object",string:"string",symbol:"symbol",true:{unit:!0},unknown:{},undefined:{unit:void 0},Array,Date},{prereducedAliases:!0}).export();V.intrinsic={...WZ};var _Z=K6({integer:{domain:"number",divisor:1},lengthBoundable:["string",Array],key:["string","symbol"],nonNegativeIntegerString:{domain:"string",pattern:E4}},{prereducedAliases:!0}).export();Object.assign(V.intrinsic,_Z);var QY=K6({jsonPrimitive:["string","number",{unit:!0},{unit:!1},{unit:null}],jsonObject:{domain:"object",index:{signature:"string",value:"$jsonData"}},jsonData:["$jsonPrimitive","$jsonObject"]},{prereducedAliases:!0}).export(),I={...WZ,..._Z,...QY,emptyStructure:h1("structure",{},{prereduced:!0})};V.intrinsic={...I};var N6=(U,X)=>new RegExp(U,X);Object.assign(N6,{as:N6});var LZ=(U)=>typeof U==="string"&&U[0]==="d"&&(U[1]==="'"||U[1]==='"')&&U[U.length-1]===U[1],$Z=(U)=>U.toString()!=="Invalid Date",zZ=(U)=>U.slice(2,-1),j4=(U)=>`'${U}' could not be parsed by the Date constructor`,FZ=(U,X)=>GY(U,X),GY=(U,X)=>{let q=new Date(U);if($Z(q))return q;let Z=uX(U);if(Z!==void 0){let Q=new Date(Z);if($Z(Q))return Q}return X?F(X===!0?j4(U):X):void 0};var YY=v({proto:"Array",sequence:"string",required:{key:"groups",value:["object",{unit:void 0}]}}),C6=(U,X)=>{let q=U.scanner.shiftUntilEscapable(HY[OZ[X]]);if(U.scanner.lookahead==="")return U.error(_Y(q,X));if(U.scanner.shift(),X in VZ){let Z;try{Z=new RegExp(q)}catch(Q){F(String(Q))}if(U.root=U.ctx.$.node("intersection",{domain:"string",pattern:q},{prereduced:!0}),X==="x/")U.root=U.ctx.$.node("morph",{in:U.root,morphs:(Q)=>Z.exec(Q),declaredOut:YY})}else if(a(X,b4))U.root=U.ctx.$.node("unit",{unit:q});else{let Z=FZ(q,j4(q));U.root=U.ctx.$.node("unit",{meta:q,unit:Z})}},b4={"'":1,'"':1},AZ={"/":1,"'":1,'"':1},JY={"d'":"'",'d"':'"',"'":"'",'"':'"'},VZ={"/":"/","x/":"/"},OZ={...JY,...VZ},HY={"'":(U)=>U.lookahead==="'",'"':(U)=>U.lookahead==='"',"/":(U)=>U.lookahead==="/"},WY={'"':"double-quote","'":"single-quote","/":"forward slash"},_Y=(U,X)=>`${X}${U} requires a closing ${WY[OZ[X]]}`;var BZ=(U)=>`Private type references should not include '#'. Use '${U}' instead.`,S6="Optional definitions like 'string?' are only valid as properties in an object or tuple",E6="Defaultable definitions like 'number = 0' are only valid as properties in an object or tuple";var j0={"<":1,">":1,"=":1,"|":1,"&":1,")":1,"[":1,"%":1,",":1,":":1,"?":1,"#":1,...c0};var TZ=(U,X)=>U===">"?X[0]==="="?X[1]==="=":X.trimStart()===""||a(X.trimStart()[0],j0):U==="="?X[0]!=="=":U===","||U==="?";var DZ=(U,X,q)=>RZ(U,X,q,[]),RZ=(U,X,q,Z)=>{let Q=q.parseUntilFinalizer();if(Z.push(Q.root),Q.finalizer===">"){if(Z.length!==X.params.length)return q.error(f4(U,X.names,Z.map((G)=>G.expression)));return Z}if(Q.finalizer===",")return RZ(U,X,q,Z);return Q.error($6(">"))},f4=(U,X,q)=>`${U}<${X.join(", ")}> requires exactly ${X.length} args (got ${q.length}${q.length===0?"":`: ${q.join(", ")}`})`;var j6=(U)=>{let X=U.scanner.shiftUntilLookahead(j0);if(X==="keyof")U.addPrefix("keyof");else U.root=LY(U,X)},$Y=(U,X,q)=>{if(q.scanner.shiftUntilNonWhitespace(),q.scanner.shift()!=="<")return q.error(f4(U,X.names,[]));let Q=DZ(U,X,q);return X(...Q)},LY=(U,X)=>zY(U,X)??FY(U,X)??U.error(X===""?U.scanner.lookahead==="#"?BZ(U.shiftedBy(1).scanner.shiftUntilLookahead(j0)):y4(U):S4(X)),zY=(U,X)=>{if(U.ctx.args?.[X]){let Z=U.ctx.args[X];if(typeof Z!=="string")return Z;return U.ctx.$.node("alias",{reference:Z},{prereduced:!0})}let q=U.ctx.$.maybeResolve(X);if(M(q,"root"))return q;if(q===void 0)return;if(M(q,"generic"))return $Y(X,q,U);return F(`Unexpected resolution ${E(q)}`)},FY=(U,X)=>{let q=mX(X);if(q!==void 0)return U.ctx.$.node("unit",{unit:q});let Z=lX(X);if(Z!==void 0)return U.ctx.$.node("unit",{unit:Z})},y4=(U)=>{let X=U.previousOperator();return X?g4(X,U.scanner.unscanned):AY(U.scanner.unscanned)},g4=(U,X="")=>`Token '${U}' requires a right operand${X?` before '${X}'`:""}`,AY=(U)=>`Expected an expression${U?` before '${U}'`:""}`;var k4=(U)=>U.scanner.lookahead===""?U.error(y4(U)):U.scanner.lookahead==="("?U.shiftedBy(1).reduceGroupOpen():U.scanner.lookaheadIsIn(AZ)?C6(U,U.scanner.shift()):U.scanner.lookaheadIsIn(c0)?k4(U.shiftedBy(1)):U.scanner.lookahead==="d"?U.scanner.nextLookahead in b4?C6(U,`${U.scanner.shift()}${U.scanner.shift()}`):j6(U):U.scanner.lookahead==="x"?U.scanner.nextLookahead==="/"?U.shiftedBy(2)&&C6(U,"x/"):j6(U):j6(U);var MZ={">":!0,">=":!0},PZ={"<":!0,"<=":!0};var x1={"<":">",">":"<","<=":">=",">=":"<=","==":"=="},wZ=(U,X)=>`Left bounds are only valid when paired with right bounds (try ...${X}${U})`,b6=(U)=>`Left-bounded expressions must specify their limits using < or <= (was ${U})`,IZ=(U,X,q,Z)=>`An expression may have at most one left bound (parsed ${U}${x1[X]}, ${q}${x1[Z]})`;var NZ=(U,X)=>{let q=VY(U,X);if(U.root.hasKind("unit")){if(typeof U.root.unit==="number"){U.reduceLeftBound(U.root.unit,q),U.unsetRoot();return}if(U.root.unit instanceof Date){let Z=`d'${U.root.description??U.root.unit.toISOString()}'`;U.unsetRoot(),U.reduceLeftBound(Z,q);return}}return BY(U,q)},CZ={"<":1,">":1,"=":1},VY=(U,X)=>U.scanner.lookaheadIs("=")?`${X}${U.scanner.shift()}`:X;var KZ=(U,X,q,Z)=>{if(q.extends(V.intrinsic.number)){if(typeof X!=="number")return F(v4(U,X,Z));return U==="=="?["min","max"]:U[0]===">"?["min"]:["max"]}if(q.extends(V.intrinsic.lengthBoundable)){if(typeof X!=="number")return F(v4(U,X,Z));return U==="=="?["exactLength"]:U[0]===">"?["minLength"]:["maxLength"]}if(q.extends(V.intrinsic.Date))return U==="=="?["after","before"]:U[0]===">"?["after"]:["before"];return F($q(q.expression))},OY=(U)=>({rule:LZ(U.limit)?zZ(U.limit):U.limit,exclusive:U.comparator.length===1}),BY=(U,X)=>{let q=U.unsetRoot(),Z=U.scanner.location;U.parseOperand();let Q=U.unsetRoot(),G=U.scanner.sliceChars(Z,U.scanner.location);if(U.root=q,!Q.hasKind("unit")||typeof Q.unit!=="number"&&!(Q.unit instanceof Date))return U.error(v4(X,G,"right"));let Y=Q.unit,J=X.length===1,H=KZ(X,typeof Y==="number"?Y:G,q,"right");for(let $ of H)U.constrainRoot($,X==="=="?{rule:Y}:{rule:Y,exclusive:J});if(!U.branches.leftBound)return;if(!a(X,PZ))return U.error(b6(X));let W=KZ(U.branches.leftBound.comparator,U.branches.leftBound.limit,q,"left");U.constrainRoot(W[0],OY(U.branches.leftBound)),U.branches.leftBound=null},v4=(U,X,q)=>`Comparator ${q==="left"?x1[U]:U} must be ${q==="left"?"preceded":"followed"} by a corresponding literal (was ${X})`;var SZ=(U)=>{U.scanner.shiftUntilNonWhitespace();let X=U.scanner.shiftUntilLookahead(j0);U.root=U.root.brand(X)};var jZ=(U)=>{U.scanner.shiftUntilNonWhitespace();let X=U.scanner.shiftUntilLookahead(j0),q=pX(X,{errorOnFail:EZ(X)});if(q===0)U.error(EZ(0));U.root=U.root.constrain("divisor",q)},EZ=(U)=>`% operator must be followed by a non-zero integer literal (was ${U})`;var h4=(U)=>{let X=U.scanner.shift();return X===""?U.finalize(""):X==="["?U.scanner.shift()==="]"?U.setRoot(U.root.array()):U.error(TY):X==="|"?U.scanner.lookahead===">"?U.shiftedBy(1).pushRootToBranch("|>"):U.pushRootToBranch(X):X==="&"?U.pushRootToBranch(X):X===")"?U.finalizeGroup():TZ(X,U.scanner.unscanned)?U.finalize(X):a(X,CZ)?NZ(U,X):X==="%"?jZ(U):X==="#"?SZ(U):(X in c0)?h4(U):U.error(f6(X))},f6=(U,X="")=>`'${U}' is not allowed here${X&&` (should be ${X})`}`,TY="Missing expected ']'";var bZ=(U)=>{let X=U.unsetRoot();U.parseOperand();let q=U.unsetRoot();if(!q.hasKind("unit"))return U.error(DY(q.expression));let Z=q.unit instanceof Date?()=>new Date(q.unit):q.unit;return[X,"=",Z]},DY=(U)=>`Default value '${U}' must be a literal value`;var x4=(U,X)=>{let q=X.$.maybeResolveRoot(U);if(q)return q;if(U.endsWith("[]")){let G=X.$.maybeResolveRoot(U.slice(0,-2));if(G)return G.array()}let Z=new u1(new F2(U),X),Q=RY(Z);if(Z.finalizer===">")F(f6(">"));return Q},RY=(U)=>{U.parseOperand();let X=E2(U).root;if(!X)return g(`Root was unexpectedly unset after parsing string '${U.scanner.scanned}'`);if(U.finalizer==="=")X=bZ(U);else if(U.finalizer==="?")X=[X,"?"];if(U.scanner.shiftUntilNonWhitespace(),U.scanner.lookahead)F(f6(U.scanner.lookahead));return X},E2=(U)=>{while(U.finalizer===void 0)MY(U);return U},MY=(U)=>U.hasRoot()?U.parseOperator():U.parseOperand();class u1{root;branches={prefixes:[],leftBound:null,intersection:null,union:null,pipe:null};finalizer;groups=[];scanner;ctx;constructor(U,X){this.scanner=U,this.ctx=X}error(U){return F(U)}hasRoot(){return this.root!==void 0}setRoot(U){this.root=U}unsetRoot(){let U=this.root;return this.root=void 0,U}constrainRoot(...U){this.root=this.root.constrain(U[0],U[1])}finalize(U){if(this.groups.length)return this.error($6(")"));this.finalizeBranches(),this.finalizer=U}reduceLeftBound(U,X){let q=x1[X];if(!a(q,MZ))return this.error(b6(X));if(this.branches.leftBound)return this.error(IZ(this.branches.leftBound.limit,this.branches.leftBound.comparator,U,q));this.branches.leftBound={comparator:q,limit:U}}finalizeBranches(){if(this.assertRangeUnset(),this.branches.pipe){this.pushRootToBranch("|>"),this.root=this.branches.pipe;return}if(this.branches.union){this.pushRootToBranch("|"),this.root=this.branches.union;return}if(this.branches.intersection){this.pushRootToBranch("&"),this.root=this.branches.intersection;return}this.applyPrefixes()}finalizeGroup(){this.finalizeBranches();let U=this.groups.pop();if(!U)return this.error(sX(")",this.scanner.unscanned));this.branches=U}addPrefix(U){this.branches.prefixes.push(U)}applyPrefixes(){while(this.branches.prefixes.length){let U=this.branches.prefixes.pop();this.root=U==="keyof"?this.root.keyof():g(`Unexpected prefix '${U}'`)}}pushRootToBranch(U){this.assertRangeUnset(),this.applyPrefixes();let X=this.root;if(this.root=void 0,this.branches.intersection=this.branches.intersection?.rawAnd(X)??X,U==="&")return;if(this.branches.union=this.branches.union?.rawOr(this.branches.intersection)??this.branches.intersection,this.branches.intersection=null,U==="|")return;this.branches.pipe=this.branches.pipe?.rawPipeOnce(this.branches.union)??this.branches.union,this.branches.union=null}parseUntilFinalizer(){return E2(new u1(this.scanner,this.ctx))}parseOperator(){return h4(this)}parseOperand(){return k4(this)}assertRangeUnset(){if(this.branches.leftBound)return this.error(wZ(this.branches.leftBound.limit,this.branches.leftBound.comparator))}reduceGroupOpen(){this.groups.push(this.branches),this.branches={prefixes:[],leftBound:null,union:null,intersection:null,pipe:null}}previousOperator(){return this.branches.leftBound?.comparator??this.branches.prefixes[this.branches.prefixes.length-1]??(this.branches.intersection?"&":this.branches.union?"|":this.branches.pipe?"|>":void 0)}shiftedBy(U){return this.scanner.jumpForward(U),this}}var PY="An empty string is not a valid generic parameter name",y6=(U,X,q)=>{U.shiftUntilNonWhitespace();let Z=U.shiftUntilLookahead(j0);if(Z===""){if(U.lookahead===""&&X.length)return X;return F(PY)}return U.shiftUntilNonWhitespace(),wY(U,Z,X,q)},fZ="extends ",wY=(U,X,q,Z)=>{if(U.shiftUntilNonWhitespace(),U.unscanned.startsWith(fZ))U.jumpForward(fZ.length);else{if(U.lookahead===",")U.shift();return q.push(X),y6(U,q,Z)}let Q=E2(new u1(U,Z));return q.push([X,Q.root]),y6(U,q,Z)};class u4 extends J0{constructor(U){let X={$:U,raw:U.fn};super((...q)=>{let Z=q.indexOf(":"),Q=Z===-1?q.length-1:Z-1,G=q.slice(0,Q+1),Y=U.parse(G).assertHasKind("intersection"),J=U.intrinsic.unknown;if(Z!==-1){if(Z!==q.length-2)return F(IY);J=U.parse(q[Z+1])}return(H)=>new yZ(H,Y,J)},{attach:X})}}class yZ extends J0{raw;params;returns;expression;constructor(U,X,q){let Z=`typed ${U.name}`,Q={[Z]:(...Y)=>{let J=X.assert(Y),H=U(...J);return q.assert(H)}}[Z];super(Q);this.raw=U,this.params=X,this.returns=q;let G=X.expression;if(G[0]==="["&&G[G.length-1]==="]")G=G.slice(1,-1);else if(G.endsWith("[]"))G=`...${G}`;this.expression=`(${G}) => ${q?.expression??"unknown"}`}}var IY=`":" must be followed by exactly one return type e.g:
184
- fn("string", ":", "number")(s => s.length)`;class m4 extends J0{$;constructor(U){super((...X)=>new j2(U)(...X),{bind:U});this.$=U}in(U){return new j2(this.$,U===void 0?void 0:this.$.parse(U))}at(U,X){return new j2(this.$).at(U,X)}case(U,X){return new j2(this.$).case(U,X)}}class j2 extends J0{$;in;key;branches=[];constructor(U,X){super((q)=>this.caseEntries(Object.entries(q).map(([Z,Q])=>Z==="default"?[Z,Q]:[this.$.parse(Z),Q])));this.$=U,this.in=X}at(U,X){if(this.key)F(NY);if(this.branches.length)F(KY);return this.key=U,X?this.match(X):this}case(U,X){return this.caseEntry(this.$.parse(U),X)}caseEntry(U,X){let Z=(this.key?this.$.parse({[this.key]:U}):U).pipe(X);return this.branches.push(Z),this}match(U){return this(U)}strings(U){return this.caseEntries(Object.entries(U).map(([X,q])=>X==="default"?[X,q]:[this.$.node("unit",{unit:X}),q]))}caseEntries(U){for(let X=0;X<U.length;X++){let[q,Z]=U[X];if(q==="default"){if(X!==U.length-1)F("default may only be specified as the last key of a switch definition");return this.default(Z)}if(typeof Z!=="function")return F(`Value for case "${q}" must be a function (was ${r(Z)})`);this.caseEntry(q,Z)}return this}default(U){if(typeof U==="function")this.case(I.unknown,U);let X={branches:this.branches,ordered:!0};if(U==="never"||U==="assert")X.meta={onFail:gZ};let q=this.$.node("union",X);if(!this.in)return this.$.finalize(q);let Z=this.in.pipe(q);if(U==="never"||U==="assert")Z=Z.configureReferences({onFail:gZ},"self");return this.$.finalize(Z)}}var gZ=(U)=>U.throw(),KY="A key matcher must be specified before the first case i.e. match.at('foo') or match.in<object>().at('bar')",NY="At most one key matcher may be specified per expression";var g6=(U,X)=>{if(h(U)){if(U[1]==="=")return[X.$.parseOwnDefinitionFormat(U[0],X),"=",U[2]];if(U[1]==="?")return[X.$.parseOwnDefinitionFormat(U[0],X),"?"]}return k6(U,X)},kZ="Only required keys may make their values optional, e.g. { [mySymbol]: ['number', '?'] }",vZ="Only required keys may specify default values, e.g. { value: 'number = 0' }";var hZ=(U,X)=>{let q,Z={},Q=J1(U);for(let[Y,J]of Q){let H=EY(Y);if(H.kind==="spread"){if(!S0(Z))return F(SY);let A=X.$.parseOwnDefinitionFormat(J,X);if(A.equals(I.object))continue;if(!A.hasKind("intersection")||!A.basis?.equals(I.object))return F(jY(A.expression));q=A.structure;continue}if(H.kind==="undeclared"){if(J!=="reject"&&J!=="delete"&&J!=="ignore")F(CY(J));Z.undeclared=J;continue}let W=g6(J,X),$=H;if(H.kind==="required"){if(!h(W))p4(Z,"required",{key:H.normalized,value:W},X);else p4(Z,"optional",W[1]==="="?{key:H.normalized,value:W[0],default:W[2]}:{key:H.normalized,value:W[0]},X);continue}if(h(W)){if(W[1]==="?")F(kZ);if(W[1]==="=")F(vZ)}if(H.kind==="optional"){p4(Z,"optional",{key:H.normalized,value:W},X);continue}let _=X.$.parseOwnDefinitionFormat($.normalized,X),L=w6(_,W,X.$);if(L.index)Z.index=y(Z.index,L.index);if(L.required)Z.required=y(Z.required,L.required)}let G=X.$.node("structure",Z);return X.$.parseSchema({domain:"object",structure:q?.merge(G)??G})},p4=(U,X,q,Z)=>{U[X]=y(U[X],Z.$.node(X,q))},CY=(U)=>`Value of '+' key must be 'reject', 'delete', or 'ignore' (was ${E(U)})`,SY="Spread operator may only be used as the first key in an object",EY=(U)=>typeof U==="symbol"?{kind:"required",normalized:U}:U[U.length-1]==="?"?U[U.length-2]===W1?{kind:"required",normalized:`${U.slice(0,-2)}?`}:{kind:"optional",normalized:U.slice(0,-1)}:U[0]==="["&&U[U.length-1]==="]"?{kind:"index",normalized:U.slice(1,-1)}:U[0]===W1&&U[1]==="["&&U[U.length-1]==="]"?{kind:"required",normalized:U.slice(1)}:U==="..."?{kind:"spread"}:U==="+"?{kind:"undeclared"}:{kind:"required",normalized:U==="\\..."?"...":U==="\\+"?"+":U},jY=(U)=>`Spread operand must resolve to an object literal type (was ${U})`;var uZ=(U,X)=>mY(U)?dZ[U[0]](U,X):xY(U)?lZ[U[1]](U,X):null,bY=(U,X)=>X.$.parseOwnDefinitionFormat(U[1],X).keyof(),l4=(U,X)=>{if(U[2]===void 0)return F(g4(U[1],""));let q=X.$.parseOwnDefinitionFormat(U[0],X),Z=X.$.parseOwnDefinitionFormat(U[2],X);if(U[1]==="|")return X.$.node("union",{branches:[q,Z]});let Q=U[1]==="&"?_0(q,Z,X.$):T2(q,Z,X.$);if(Q instanceof B)return Q.throw();return Q},fY=(U,X)=>X.$.parseOwnDefinitionFormat(U[0],X).array(),yY=(U,X)=>{if(typeof U[2]!=="function")return F(mZ("=>",U[2]));return X.$.parseOwnDefinitionFormat(U[0],X).pipe(U[2])},mZ=(U,X)=>`${U===":"?"Narrow":"Morph"} expression requires a function following '${U}' (was ${typeof X})`,gY=(U,X)=>{if(typeof U[2]!=="function")return F(mZ(":",U[2]));return X.$.parseOwnDefinitionFormat(U[0],X).constrain("predicate",U[2])},kY=(U,X)=>X.$.parseOwnDefinitionFormat(U[0],X).configure(U[2],U[3]),pZ=(U)=>U,vY=pZ({"[]":fY,"?":()=>F(S6)}),hY=pZ({"|":l4,"&":l4,":":gY,"=>":yY,"|>":l4,"@":kY,"=":()=>F(E6)}),lZ={...vY,...hY},xY=(U)=>lZ[U[1]]!==void 0,uY=(U)=>U,dZ=uY({keyof:bY,instanceof:(U,X)=>{if(typeof U[1]!=="function")return F(xZ(J2(U[1])));let q=U.slice(1).map((Z)=>typeof Z==="function"?X.$.node("proto",{proto:Z}):F(xZ(J2(Z))));return q.length===1?q[0]:X.$.node("union",{branches:q})},"===":(U,X)=>X.$.units(U.slice(1))}),mY=(U)=>dZ[U[0]]!==void 0,xZ=(U)=>`Expected a constructor following 'instanceof' operator (was ${U})`;var sZ=(U,X)=>{let q=[{}],Z=0;while(Z<U.length){let Q=!1;if(U[Z]==="..."&&Z<U.length-1)Q=!0,Z++;let G=g6(U[Z],X),[Y,J,H]=!h(G)?[G]:G;if(Z++,Q){if(!Y.extends(V.intrinsic.Array))return F(dY(Y.expression));q=q.flatMap((W)=>Y.distribute(($)=>lY(z6(W),$)))}else q=q.map((W)=>{if(J==="?")return oZ(W,Y);if(J==="=")return pY(W,Y,H);return d4(W,Y)})}return X.$.parseSchema(q.map((Q)=>S0(Q)?{proto:Array,exactLength:0}:{proto:Array,sequence:Q}))},d4=(U,X)=>{if(U.defaultables||U.optionals)return F(U.variadic?M4:cY);if(U.variadic)U.postfix=y(U.postfix,X);else U.prefix=y(U.prefix,X);return U},oZ=(U,X)=>{if(U.variadic)return F(rZ);return U.optionals=y(U.optionals,X),U},pY=(U,X,q)=>{if(U.variadic)return F(rZ);if(U.optionals)return F(iY);return U.defaultables=y(U.defaultables,[[X,q]]),U},cZ=(U,X)=>{if(U.postfix)F(iZ);if(U.variadic){if(!U.variadic.equals(X))F(iZ)}else U.variadic=X.internal;return U},lY=(U,X)=>{let q=X.select({method:"find",kind:"sequence"});if(!q)return cZ(U,V.intrinsic.unknown);if(q.prefix)for(let Z of q.prefix)d4(U,Z);if(q.optionals)for(let Z of q.optionals)oZ(U,Z);if(q.variadic)cZ(U,q.variadic);if(q.postfix)for(let Z of q.postfix)d4(U,Z);return U},dY=(U)=>`Spread element must be an array (was ${U})`,iZ="A tuple may have at most one variadic element",cY="A required element may not follow an optional element",rZ="An optional element may not follow a variadic element";var iY="A defaultable element may not follow an optional element without a default";var sY={},k6=(U,X)=>{if(typeof U==="string"){if(X.args&&Object.keys(X.args).some((Z)=>U.includes(Z)))return x4(U,X);let q=sY[X.$.name]??={};return q[U]??=x4(U,X)}return Q0(U,"object")?oY(U,X):F(c4(r(U)))},oY=(U,X)=>{let q=Y2(U);switch(q){case void 0:if(M(U,"root"))return U;if("~standard"in U)return rY(U,X);return hZ(U,X);case"Array":return aY(U,X);case"RegExp":return X.$.node("intersection",{domain:"string",pattern:U},{prereduced:!0});case"Function":{let Z=d0(U)?U():U;if(M(Z,"root"))return Z;return F(c4("Function"))}default:return F(c4(q??E(U)))}},rY=(U,X)=>X.$.intrinsic.unknown.pipe((q,Z)=>{let Q=U["~standard"].validate(q);if(!Q.issues)return Q.value;for(let{message:G,path:Y}of Q.issues)if(Y)if(Y.length)Z.error({problem:yX(G),relativePath:Y.map((J)=>typeof J==="object"?J.key:J)});else Z.error({message:G});else Z.error({message:G})}),aY=(U,X)=>uZ(U,X)??sZ(U,X),c4=(U)=>`Type definitions must be strings or objects (was ${U})`;class i4 extends J0{constructor(U){let X=Object.assign({errors:H0,hkt:U0,$:U,raw:U.parse,module:U.constructor.module,scope:U.constructor.scope,declare:U.declare,define:U.define,match:U.match,generic:U.generic,schema:U.schema,keywords:U.ambient,unit:U.unit,enumerated:U.enumerated,instanceOf:U.instanceOf,valueOf:U.valueOf,or:U.or,and:U.and,merge:U.merge,pipe:U.pipe,fn:U.fn},U.ambientAttachments);super((...q)=>{if(q.length===1)return U.parse(q[0]);if(q.length===2&&typeof q[0]==="string"&&q[0][0]==="<"&&q[0][q[0].length-1]===">"){let Z=q[0].slice(1,-1),Q=U.parseGenericParams(Z,{});return new r0(Q,q[1],U,U,null)}return U.parse(q)},{attach:X})}}var m1=V;class v6 extends I6{get ambientAttachments(){if(!m1.typeAttachments)return;return this.cacheGetter("ambientAttachments",S(m1.typeAttachments,(U,X)=>[U,this.bindReference(X)]))}preparseOwnAliasEntry(U,X){let q=U.indexOf("<");if(q===-1){if(M(X,"module")||M(X,"generic"))return[U,X];let G=this.name==="ark"?U:U==="root"?this.name:`${this.name}.${U}`,Y=this.resolvedConfig.keywords?.[G];if(Y)X=[X,"@",Y];return[U,X]}if(U[U.length-1]!==">")F("'>' must be the last character of a generic declaration in a scope");let Z=U.slice(0,q),Q=U.slice(q+1,-1);return[Z,()=>{let G=this.parseGenericParams(Q,{alias:Z});return Hq(G,X,this)}]}parseGenericParams(U,X){return y6(new F2(U),[],this.createParseContext({...X,def:U,prefix:"generic"}))}normalizeRootScopeValue(U){if(d0(U)&&!M(U,"generic"))return U();return U}preparseOwnDefinitionFormat(U,X){return{...X,def:U,prefix:X.alias??"type"}}parseOwnDefinitionFormat(U,X){if(!(X.alias&&(X.alias in this.aliases))&&!X.args)X.args={this:X.id};let Z=k6(U,X);if(h(Z)){if(Z[1]==="=")return F(E6);if(Z[1]==="?")return F(S6)}return Z}unit=(U)=>this.units([U]);valueOf=(U)=>this.units(IX(U));enumerated=(...U)=>this.units(U);instanceOf=(U)=>this.node("proto",{proto:U},{prereduced:!0});or=(...U)=>this.schema(U.map((X)=>this.parse(X)));and=(...U)=>U.reduce((X,q)=>X.and(this.parse(q)),this.intrinsic.unknown);merge=(...U)=>U.reduce((X,q)=>X.merge(this.parse(q)),this.intrinsic.object);pipe=(...U)=>this.intrinsic.unknown.pipe(...U);fn=new u4(this);match=new m4(this);declare=()=>({type:this.type});define(U){return U}type=new i4(this);static scope=(U,X={})=>new v6(U,X);static module=(U,X={})=>this.scope(U,X).export()}var b2=Object.assign(v6.scope,{define:(U)=>U}),f=v6;class aZ extends U0{description='merge an object\'s properties onto another like `Merge(User, { isAdmin: "true" })`'}var nY=B0(["base",I.object],["props",I.object])((U)=>U.base.merge(U.props),aZ),nZ=f.module({Key:I.key,Merge:nY});class tZ extends U0{}var tY=B0("element")((U)=>{let X=U.element.exclude(I.Array),q=X.array();return X.rawOr(q).pipe(l0).distribute((Z)=>Z.assertHasKind("morph").declareOut(q),v)},tZ),eZ=f.module({root:I.Array,readonly:"root",index:I.nonNegativeIntegerString,liftFrom:tY},{name:"Array"});var s4=v(["string",_1.FileConstructor]),eY=s4.rawOr(s4.array()),U8=v({meta:"an object representing parsed form data",domain:"object",index:{signature:"string",value:eY}}),X8=f.module({root:["instanceof",FormData],value:s4,parsed:U8,parse:v({in:FormData,morphs:(U)=>{let X={};for(let[q,Z]of U)if(q in X){let Q=X[q];if(typeof Q==="string"||Q instanceof _1.FileConstructor)X[q]=[Q,Z];else Q.push(Z)}else X[q]=Z;return X},declaredOut:U8})},{name:"FormData"});var q8=f.module({Int8:["instanceof",Int8Array],Uint8:["instanceof",Uint8Array],Uint8Clamped:["instanceof",Uint8ClampedArray],Int16:["instanceof",Int16Array],Uint16:["instanceof",Uint16Array],Int32:["instanceof",Int32Array],Uint32:["instanceof",Uint32Array],Float32:["instanceof",Float32Array],Float64:["instanceof",Float64Array],BigInt64:["instanceof",BigInt64Array],BigUint64:["instanceof",BigUint64Array]},{name:"TypedArray"});var U7={Boolean:1,Number:1,String:1},Z8=f.module({...S({...gU,...vU},(U,X)=>(U in U7)?[]:[U,["instanceof",X]]),Array:eZ,TypedArray:q8,FormData:X8});var X7=v({domain:{domain:"number",meta:"a number representing a Unix timestamp"},divisor:{rule:1,meta:"an integer representing a Unix timestamp"},min:{rule:-8640000000000000,meta:"a Unix timestamp after -8640000000000000"},max:{rule:8640000000000000,meta:"a Unix timestamp before 8640000000000000"},meta:"an integer representing a safe Unix timestamp"}),q7=v({domain:"number",divisor:1}),h6=f.module({root:I.number,integer:q7,epoch:X7,safe:v({domain:{domain:"number",numberAllowsNaN:!1},min:Number.MIN_SAFE_INTEGER,max:Number.MAX_SAFE_INTEGER}),NaN:["===",Number.NaN],Infinity:["===",Number.POSITIVE_INFINITY],NegativeInfinity:["===",Number.NEGATIVE_INFINITY]},{name:"number"});var l=(U,X,q)=>{let Z={domain:"string",pattern:{rule:U.source,flags:U.flags,meta:X}};if(q)Z.meta={format:q};return h1("intersection",Z)},Q8=l(W2,"a well-formed integer string"),V8=f.module({root:Q8,parse:v({in:Q8,morphs:(U,X)=>{let q=Number.parseInt(U);return Number.isSafeInteger(q)?q:X.error("an integer in the range Number.MIN_SAFE_INTEGER to Number.MAX_SAFE_INTEGER")},declaredOut:I.integer})},{name:"string.integer"}),Z7=l(/^[\dA-Fa-f]+$/,"hex characters only"),Q7=f.module({root:l(/^(?:[\d+/A-Za-z]{4})*(?:[\d+/A-Za-z]{2}==|[\d+/A-Za-z]{3}=)?$/,"base64-encoded"),url:l(/^(?:[\w-]{4})*(?:[\w-]{2}(?:==|%3D%3D)?|[\w-]{3}(?:=|%3D)?)?$/,"base64url-encoded")},{name:"string.base64"}),G8=l(/^[A-Z].*$/,"capitalized"),G7=f.module({root:v({in:"string",morphs:(U)=>U.charAt(0).toUpperCase()+U.slice(1),declaredOut:G8}),preformatted:G8},{name:"string.capitalize"}),Y7=(U)=>{let X=U.replace(/[ -]+/g,""),q=0,Z,Q,G=!1;for(let Y=X.length-1;Y>=0;Y--){if(Z=X.substring(Y,Y+1),Q=Number.parseInt(Z,10),G)Q*=2,q+=Q>=10?Q%10+1:Q;else q+=Q;G=!G}return!!(q%10===0?X:!1)},J7=/^(?:4\d{12}(?:\d{3,6})?|5[1-5]\d{14}|(222[1-9]|22[3-9]\d|2[3-6]\d{2}|27[01]\d|2720)\d{12}|6(?:011|5\d\d)\d{12,15}|3[47]\d{13}|3(?:0[0-5]|[68]\d)\d{11}|(?:2131|1800|35\d{3})\d{11}|6[27]\d{14}|^(81\d{14,17}))$/,H7=v({domain:"string",pattern:{meta:"a credit card number",rule:J7.source},predicate:{meta:"a credit card number",predicate:Y7}});var W7=/^([+-]?\d{4}(?!\d{2}\b))((-?)((0[1-9]|1[0-2])(\3([12]\d|0[1-9]|3[01]))?|W([0-4]\d|5[0-3])(-?[1-7])?|(00[1-9]|0[1-9]\d|[12]\d{2}|3([0-5]\d|6[1-6])))(T((([01]\d|2[0-3])((:?)[0-5]\d)?|24:?00)([,.]\d+(?!:))?)?(\17[0-5]\d([,.]\d+)?)?([Zz]|([+-])([01]\d|2[0-3]):?([0-5]\d)?)?)?)?$/;var _7=(U)=>!Number.isNaN(new Date(U).valueOf()),Y8=v({domain:"string",predicate:{meta:"a parsable date",predicate:_7}}).assertHasKind("intersection"),J8=V8.root.internal.narrow((U,X)=>{let q=Number.parseInt(U),Z=h6.epoch(q);if(Z instanceof H0)return X.errors.merge(Z),!1;return!0}).configure({description:"an integer string representing a safe Unix timestamp"},"self").assertHasKind("intersection"),$7=f.module({root:J8,parse:v({in:J8,morphs:(U)=>new Date(U),declaredOut:I.Date})},{name:"string.date.epoch"}),H8=l(W7,"an ISO 8601 (YYYY-MM-DDTHH:mm:ss.sssZ) date").internal.assertHasKind("intersection"),L7=f.module({root:H8,parse:v({in:H8,morphs:(U)=>new Date(U),declaredOut:I.Date})},{name:"string.date.iso"}),z7=f.module({root:Y8,parse:v({declaredIn:Y8,in:"string",morphs:(U,X)=>{let q=new Date(U);if(Number.isNaN(q.valueOf()))return X.error("a parsable date");return q},declaredOut:I.Date}),iso:L7,epoch:$7},{name:"string.date"}),F7=l(/^[\w%+.-]+@[\d.A-Za-z-]+\.[A-Za-z]{2,}$/,"an email address","email"),W8="(?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])",a0=`(${W8}[.]){3}${W8}`,A7=new RegExp(`^${a0}$`),c="(?:[0-9a-fA-F]{1,4})",V7=new RegExp(`^((?:${c}:){7}(?:${c}|:)|(?:${c}:){6}(?:${a0}|:${c}|:)|(?:${c}:){5}(?::${a0}|(:${c}){1,2}|:)|(?:${c}:){4}(?:(:${c}){0,1}:${a0}|(:${c}){1,3}|:)|(?:${c}:){3}(?:(:${c}){0,2}:${a0}|(:${c}){1,4}|:)|(?:${c}:){2}(?:(:${c}){0,3}:${a0}|(:${c}){1,5}|:)|(?:${c}:){1}(?:(:${c}){0,4}:${a0}|(:${c}){1,6}|:)|(?::((?::${c}){0,5}:${a0}|(?::${c}){1,7}|:)))(%[0-9a-zA-Z.]{1,})?$`),O7=f.module({root:["v4 | v6","@","an IP address"],v4:l(A7,"an IPv4 address","ipv4"),v6:l(V7,"an IPv6 address","ipv6")},{name:"string.ip"}),p1="a JSON string",O8=(U)=>{if(!(U instanceof SyntaxError))throw U;return`must be ${p1} (${U})`},B7=v({meta:p1,domain:"string",predicate:{meta:p1,predicate:(U,X)=>{try{return JSON.parse(U),!0}catch(q){return X.reject({code:"predicate",expected:p1,problem:O8(q)})}}}}),T7=(U,X)=>{if(U.length===0)return X.error({code:"predicate",expected:p1,actual:"empty"});try{return JSON.parse(U)}catch(q){return X.error({code:"predicate",expected:p1,problem:O8(q)})}},D7=f.module({root:B7,parse:v({meta:"safe JSON string parser",in:"string",morphs:T7,declaredOut:I.jsonObject})},{name:"string.json"}),_8=l(/^[a-z]*$/,"only lowercase letters"),R7=f.module({root:v({in:"string",morphs:(U)=>U.toLowerCase(),declaredOut:_8}),preformatted:_8},{name:"string.lower"}),B8=["NFC","NFD","NFKC","NFKD"],f2=S(B8,(U,X)=>[X,v({domain:"string",predicate:(q)=>q.normalize(X)===q,meta:`${X}-normalized unicode`})]),x6=S(B8,(U,X)=>[X,v({in:"string",morphs:(q)=>q.normalize(X),declaredOut:f2[X]})]),M7=f.module({root:x6.NFC,preformatted:f2.NFC},{name:"string.normalize.NFC"}),P7=f.module({root:x6.NFD,preformatted:f2.NFD},{name:"string.normalize.NFD"}),w7=f.module({root:x6.NFKC,preformatted:f2.NFKC},{name:"string.normalize.NFKC"}),I7=f.module({root:x6.NFKD,preformatted:f2.NFKD},{name:"string.normalize.NFKD"}),K7=f.module({root:"NFC",NFC:M7,NFD:P7,NFKC:w7,NFKD:I7},{name:"string.normalize"}),$8=l(W6,"a well-formed numeric string"),N7=f.module({root:$8,parse:v({in:$8,morphs:(U)=>Number.parseFloat(U),declaredOut:I.number})},{name:"string.numeric"}),L8="a regex pattern",C7=v({domain:"string",predicate:{meta:L8,predicate:(U,X)=>{try{return new RegExp(U),!0}catch(q){return X.reject({code:"predicate",expected:L8,problem:String(q)})}}},meta:{format:"regex"}}),S7=/^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[A-Za-z-][\dA-Za-z-]*)(?:\.(?:0|[1-9]\d*|\d*[A-Za-z-][\dA-Za-z-]*))*))?(?:\+([\dA-Za-z-]+(?:\.[\dA-Za-z-]+)*))?$/,E7=l(S7,"a semantic version (see https://semver.org/)"),z8=l(/^\S.*\S$|^\S?$/,"trimmed"),j7=f.module({root:v({in:"string",morphs:(U)=>U.trim(),declaredOut:z8}),preformatted:z8},{name:"string.trim"}),F8=l(/^[A-Z]*$/,"only uppercase letters"),b7=f.module({root:v({in:"string",morphs:(U)=>U.toUpperCase(),declaredOut:F8}),preformatted:F8},{name:"string.upper"}),f7=(U)=>URL.canParse(U),A8=v({domain:"string",predicate:{meta:"a URL string",predicate:f7},meta:{format:"uri"}}),y7=f.module({root:A8,parse:v({declaredIn:A8,in:"string",morphs:(U,X)=>{try{return new URL(U)}catch{return X.error("a URL string")}},declaredOut:v(URL)})},{name:"string.url"}),g7=f.module({root:["versioned | nil | max","@",{description:"a UUID",format:"uuid"}],"#nil":"'00000000-0000-0000-0000-000000000000'","#max":"'ffffffff-ffff-ffff-ffff-ffffffffffff'","#versioned":/[\da-f]{8}-[\da-f]{4}-[1-8][\da-f]{3}-[89ab][\da-f]{3}-[\da-f]{12}/i,v1:l(/^[\da-f]{8}-[\da-f]{4}-1[\da-f]{3}-[89ab][\da-f]{3}-[\da-f]{12}$/i,"a UUIDv1"),v2:l(/^[\da-f]{8}-[\da-f]{4}-2[\da-f]{3}-[89ab][\da-f]{3}-[\da-f]{12}$/i,"a UUIDv2"),v3:l(/^[\da-f]{8}-[\da-f]{4}-3[\da-f]{3}-[89ab][\da-f]{3}-[\da-f]{12}$/i,"a UUIDv3"),v4:l(/^[\da-f]{8}-[\da-f]{4}-4[\da-f]{3}-[89ab][\da-f]{3}-[\da-f]{12}$/i,"a UUIDv4"),v5:l(/^[\da-f]{8}-[\da-f]{4}-5[\da-f]{3}-[89ab][\da-f]{3}-[\da-f]{12}$/i,"a UUIDv5"),v6:l(/^[\da-f]{8}-[\da-f]{4}-6[\da-f]{3}-[89ab][\da-f]{3}-[\da-f]{12}$/i,"a UUIDv6"),v7:l(/^[\da-f]{8}-[\da-f]{4}-7[\da-f]{3}-[89ab][\da-f]{3}-[\da-f]{12}$/i,"a UUIDv7"),v8:l(/^[\da-f]{8}-[\da-f]{4}-8[\da-f]{3}-[89ab][\da-f]{3}-[\da-f]{12}$/i,"a UUIDv8")},{name:"string.uuid"}),T8=f.module({root:I.string,alpha:l(/^[A-Za-z]*$/,"only letters"),alphanumeric:l(/^[\dA-Za-z]*$/,"only letters and digits 0-9"),hex:Z7,base64:Q7,capitalize:G7,creditCard:H7,date:z7,digits:l(/^\d*$/,"only digits 0-9"),email:F7,integer:V8,ip:O7,json:D7,lower:R7,normalize:K7,numeric:N7,regex:C7,semver:E7,trim:j7,upper:b7,url:y7,uuid:g7},{name:"string"});var D8=f.module({bigint:I.bigint,boolean:I.boolean,false:I.false,never:I.never,null:I.null,number:I.number,object:I.object,string:I.string,symbol:I.symbol,true:I.true,unknown:I.unknown,undefined:I.undefined}),R8=f.module({root:I.unknown,any:I.unknown},{name:"unknown"}),k7=f.module({root:I.jsonObject,stringify:h1("morph",{in:I.jsonObject,morphs:(U)=>JSON.stringify(U),declaredOut:I.string})},{name:"object.json"}),M8=f.module({root:I.object,json:k7},{name:"object"});class P8 extends U0{description='instantiate an object from an index signature and corresponding value type like `Record("string", "number")`'}var v7=B0(["K",I.key],"V")((U)=>({domain:"object",index:{signature:U.K,value:U.V}}),P8);class w8 extends U0{description='pick a set of properties from an object like `Pick(User, "name | age")`'}var h7=B0(["T",I.object],["K",I.key])((U)=>U.T.pick(U.K),w8);class I8 extends U0{description='omit a set of properties from an object like `Omit(User, "age")`'}var x7=B0(["T",I.object],["K",I.key])((U)=>U.T.omit(U.K),I8);class K8 extends U0{description="make all named properties of an object optional like `Partial(User)`"}var u7=B0(["T",I.object])((U)=>U.T.partial(),K8);class N8 extends U0{description="make all named properties of an object required like `Required(User)`"}var m7=B0(["T",I.object])((U)=>U.T.required(),N8);class C8 extends U0{description='exclude branches of a union like `Exclude("boolean", "true")`'}var p7=B0("T","U")((U)=>U.T.exclude(U.U),C8);class S8 extends U0{description='extract branches of a union like `Extract("0 | false | 1", "number")`'}var l7=B0("T","U")((U)=>U.T.extract(U.U),S8),E8=f.module({Exclude:p7,Extract:l7,Omit:x7,Partial:u7,Pick:h7,Record:v7,Required:m7});var x0=b2({...D8,...E8,...Z8,...nZ,string:T8,number:h6,object:M8,unknown:R8},{prereducedAliases:!0,name:"ark"}),n=x0.export();Object.assign(m1.ambient,n);m1.typeAttachments={string:n.string.root,number:n.number.root,bigint:n.bigint,boolean:n.boolean,symbol:n.symbol,undefined:n.undefined,null:n.null,object:n.object.root,unknown:n.unknown.root,false:n.false,true:n.true,never:n.never,arrayIndex:n.Array.index,Key:n.Key,Record:n.Record,Array:n.Array.root,Date:n.Date};var o4=Object.assign(x0.type,m1.typeAttachments),d7=x0.match,c7=x0.fn,i7=x0.generic,FN=x0.schema,s7=x0.define,o7=x0.declare;var z1=b2({Operator:"'EQ' | '==' | 'NEQ' | '!=' | 'GT' | '>' | 'GTE' | '>=' | 'LT' | '<' | 'LTE' | '<=' | 'IN' | 'NOT_IN' | 'CONTAINS' | 'MATCHES' | 'RANGE' | 'SINCE' | 'AFTER' | 'BEFORE' | 'UNTIL'",Condition:"RangeCondition | ListCondition | ContainsCondition | NumericCondition | RegexCondition | BasicCondition",RangeCondition:{field:"string > 0",operator:"'RANGE'",value:"unknown[] == 2"},ListCondition:{field:"string > 0",operator:"'IN' | 'NOT_IN'",value:"unknown[]"},ContainsCondition:{field:"string > 0",operator:"'CONTAINS'",value:"string | unknown[]"},NumericCondition:{field:"string > 0",operator:"'>' | '>=' | '<' | '<=' | 'GT' | 'GTE' | 'LT' | 'LTE'",value:"number | string"},RegexCondition:{field:"string > 0",operator:"'MATCHES'",value:"string"},BasicCondition:{field:"string > 0",operator:"Operator",value:"unknown"},ConditionGroup:{operator:"'AND' | 'OR'",conditions:"(Condition | ConditionGroup)[] >= 1"},RuleCondition:"Condition | ConditionGroup",Action:{"type?":"string > 0","params?":"object","delay?":"number.integer >= 0 | string","probability?":"0 <= number <= 1 | string","if?":"RuleCondition | RuleCondition[]","then?":"Action | ActionGroup","else?":"Action | ActionGroup","break?":"boolean","continue?":"boolean"},ActionGroup:{"mode?":"'ALL' | 'EITHER' | 'SEQUENCE'",actions:"(Action | ActionGroup)[] >= 1"},RuleAction:"Action | ActionGroup",TriggerRule:{id:"string > 0","name?":"string","description?":"string","priority?":"number.integer","enabled?":"boolean","cooldown?":"number.integer >= 0","tags?":"string[]",on:"string > 0","if?":"RuleCondition | RuleCondition[]",do:"RuleAction | RuleAction[]","comment?":"string"}}).export(),bN=z1.Operator,fN=z1.Condition,yN=z1.ConditionGroup,gN=z1.RuleCondition,kN=z1.Action,vN=z1.ActionGroup,r7=z1.TriggerRule;class a7{static validate(U){let X=r7(U);if(X instanceof o4.errors){let Q=[];for(let G of X){let Y=G.path.join("."),J=G.message,H=void 0;if(Y.endsWith("on")&&(J.includes("string")||J.includes("must be")))if(typeof U==="object"&&U!==null&&"on"in U&&U.on===!0)J="The 'on' field is incorrect (boolean true found).",H=`In YAML, 'on' is a boolean keyword (true). Quote it: "on": "EventName"`;else H="Ensure 'on' is a string event name.";Q.push({path:Y,message:J,suggestion:H,severity:"error"})}return{valid:!1,issues:Q}}let q=X,Z=[];if(this.validateConditionsRecursive(q.if,Z,"if"),Z.length>0)return{valid:!1,issues:Z};return{valid:!0,rule:q}}static validateConditionsRecursive(U,X,q){if(!U)return;if(Array.isArray(U)){U.forEach((Z,Q)=>{this.validateConditionsRecursive(Z,X,`${q}.${Q}`)});return}if(typeof U==="object"&&U!==null&&"conditions"in U&&Array.isArray(U.conditions)){U.conditions.forEach((Z,Q)=>{this.validateConditionsRecursive(Z,X,`${q}.conditions.${Q}`)});return}if(typeof U==="object"&&U!==null&&"operator"in U&&"value"in U)this.validateConditionValue(U,X,q)}static validateConditionValue(U,X,q){let{operator:Z,value:Q}=U;if(typeof Z==="string"&&["IN","NOT_IN","RANGE","CONTAINS"].includes(Z)){if(Z==="CONTAINS"){if(typeof Q!=="string"&&!Array.isArray(Q))X.push({path:`${q}.value`,message:`Incorrect value type: Operator 'CONTAINS' expects a String or List (Array), but received ${typeof Q}.`,suggestion:"Use a substring or a list of items.",severity:"error"});return}if(!Array.isArray(Q)){X.push({path:`${q}.value`,message:`Incorrect value type: Operator '${Z}' expects a List (Array), but received ${typeof Q}.`,suggestion:Z==="RANGE"?"Use format [min, max]":"Use format [item1, item2]",severity:"error"});return}if(Z==="RANGE"){if(Q.length!==2)X.push({path:`${q}.value`,message:"Invalid Range: Operator 'RANGE' requires exactly 2 values (min and max).",suggestion:"Use format [min, max], e.g. [1, 10]",severity:"error"});else if(typeof Q[0]!=="number"&&typeof Q[0]!=="string")X.push({path:`${q}.value`,message:"Incorrect range type: Range values must be numbers or expression strings.",severity:"error"})}}else if(Z==="MATCHES")if(typeof Q!=="string")X.push({path:`${q}.value`,message:`Incorrect value type: Operator 'MATCHES' expects a string (regex pattern), but received ${typeof Q}.`,severity:"error"});else try{new RegExp(Q)}catch(G){X.push({path:`${q}.value`,message:`Invalid Regex pattern: ${G.message}`,severity:"error"})}else if(typeof Z==="string"&&["GT","GTE","LT","LTE",">",">=","<","<="].includes(Z)){if(typeof Q!=="number"&&typeof Q!=="string")X.push({path:`${q}.value`,message:`Incorrect value type: Operator '${Z}' expects a number or expression string, but received ${typeof Q}.`,severity:"error"})}}}class u6{conditions=[];op="AND";constructor(U="AND"){this.op=U}where(U,X,q){return this.conditions.push({field:U,operator:X,value:q}),this}and(U){let X=new u6("AND");return this.conditions.push(U(X).build()),this}or(U){let X=new u6("OR");return this.conditions.push(U(X).build()),this}build(){if(this.conditions.length===0)throw Error("Condition group must have at least one condition");if(this.conditions.length===1&&this.op==="AND")return this.conditions[0];return{operator:this.op,conditions:this.conditions}}}class j8{actions=[];mode="ALL";setMode(U){return this.mode=U,this}add(U,X,q){return this.actions.push({type:U,params:X,...q}),this}build(){if(this.actions.length===0)throw Error("Action group must have at least one action");if(this.actions.length===1&&this.mode==="ALL")return this.actions[0];if(this.mode==="ALL")return this.actions;return{mode:this.mode,actions:this.actions}}}class n7{rule={enabled:!0,priority:0};withId(U){return this.rule.id=U,this}withName(U){return this.rule.name=U,this}withDescription(U){return this.rule.description=U,this}withPriority(U){return this.rule.priority=U,this}withCooldown(U){return this.rule.cooldown=U,this}withTags(U){return this.rule.tags=U,this}on(U){return this.rule.on=U,this}if(U,X,q){if(!this.rule.if)this.rule.if={field:U,operator:X,value:q};else if(Array.isArray(this.rule.if))this.rule.if.push({field:U,operator:X,value:q});else this.rule.if=[this.rule.if,{field:U,operator:X,value:q}];return this}ifComplex(U){let X=new u6,q=U(X).build();return this.rule.if=q,this}do(U,X,q){let Z={type:U,params:X,...q};if(!this.rule.do)this.rule.do=Z;else if(Array.isArray(this.rule.do))this.rule.do.push(Z);else if(this.rule.do&&typeof this.rule.do==="object"&&"actions"in this.rule.do)this.rule.do.actions.push(Z);else this.rule.do=[this.rule.do,Z];return this}doComplex(U){let X=new j8,q=U(X).build();return this.rule.do=q,this}build(){if(!this.rule.id)throw Error("Rule ID is required");if(!this.rule.on)throw Error("Rule 'on' event is required");if(!this.rule.do)throw Error("Rule 'do' action is required");return this.rule}}var mQ=cQ(uQ(),1);class nA{static toYaml(U){let X=Array.isArray(U)?U:[U];return mQ.default.stringify(X)}static async saveToFile(U,X){let q=this.toYaml(U);if(typeof process<"u"&&process.versions&&process.versions.node){let Z=await import("fs/promises"),G=(await import("path")).dirname(X);await Z.mkdir(G,{recursive:!0}),await Z.writeFile(X,q,"utf8")}else throw Error("saveToFile is only supported in Node.js/Bun environments")}}export{N0 as triggerEmitter,Y6 as ruleEvents,QV as engineEvents,a7 as TriggerValidator,Q6 as TriggerUtils,r7 as TriggerRuleSchema,Z2 as TriggerEngine,jU as TriggerEmitter,L0 as StateManager,nA as RuleExporter,zX as RuleEvent,bU as RuleEngine,gN as RuleConditionSchema,n7 as RuleBuilder,EU as InMemoryPersistence,e as ExpressionEngine,sQ as EventQueue,G6 as EngineEvent,Z2 as Engine,rQ as ContextAdapter,fN as ConditionSchema,yN as ConditionGroupSchema,u6 as ConditionBuilder,bN as ComparisonOperatorSchema,oQ as BrowserPersistence,bU as AdvancedRuleEngine,kN as ActionSchema,P1 as ActionRegistry,vN as ActionGroupSchema,j8 as ActionBuilder};
183
+ `)+"}");class IU{config;resolvedConfig;name;get[Z0](){return"scope"}referencesById={};references=[];resolutions={};exportedNames=[];aliases={};resolved=!1;nodesByHash={};intrinsic;constructor(U,X){if(this.config=O2(O.config,X),this.resolvedConfig=O2(O.resolvedConfig,X),this.name=this.resolvedConfig.name??`anonymousScope${Object.keys(K4).length}`,this.name in K4)F(`A Scope already named ${this.name} already exists`);K4[this.name]=this;let q=Object.entries(U).map((Z)=>this.preparseOwnAliasEntry(...Z));for(let[Z,Q]of q){let G=Z;if(Z[0]==="#"){if(G=Z.slice(1),G in this.aliases)F(UZ(G));this.aliases[G]=Q}else{if(G in this.aliases)F(UZ(Z));this.aliases[G]=Q,this.exportedNames.push(G)}if(!M(Q,"module")&&!M(Q,"generic")&&!d0(Q)){let Y=this.preparseOwnDefinitionFormat(Q,{alias:G});this.resolutions[G]=M(Y,"root")?this.bindReference(Y):this.createParseContext(Y).id}}XZ??=this.node("union",{branches:["string","number","object","bigint","symbol",{unit:!0},{unit:!1},{unit:void 0},{unit:null}]},{prereduced:!0}),this.nodesByHash[XZ.hash]=this.node("intersection",{},{prereduced:!0}),this.intrinsic=O.intrinsic?S(O.intrinsic,(Z,Q)=>Z.startsWith("json")?[]:[Z,this.bindReference(Q)]):{}}cacheGetter(U,X){return Object.defineProperty(this,U,{value:X}),X}get internal(){return this}_json;get json(){if(!this._json)this.export();return this._json}defineSchema(U){return U}generic=(...U)=>{let X=this;return(q,Z)=>new r0(U,Z?new BU(q):q,X,X,Z??null)};units=(U,X)=>{let q=[];for(let Q of U)if(!q.includes(Q))q.push(Q);let Z=q.map((Q)=>this.node("unit",{unit:Q},X));return this.node("union",Z,{...X,prereduced:!0})};lazyResolutions=[];lazilyResolve(U,X){let q=this.node("alias",{reference:X??"synthetic",resolve:U},{prereduced:!0});if(!this.resolved)this.lazyResolutions.push(q);return q}schema=(U,X)=>this.finalize(this.parseSchema(U,X));parseSchema=(U,X)=>this.node(R2(U),U,X);preparseNode(U,X,q){let Z=typeof U==="string"?U:R2(X,U);if(x(X)&&X.kind===Z)return X;if(Z==="alias"&&!q?.prereduced){let{reference:Y}=K2.implementation.normalize(X,this);if(Y.startsWith("$")){let J=this.resolveRoot(Y.slice(1));X=J,Z=J.kind}}else if(Z==="union"&&G0(X,"object")){let Y=e5(X);if(Y?.length===1)X=Y[0],Z=R2(X)}if(x(X)&&X.kind===Z)return X;let G=y1[Z].normalize?.(X,this)??X;if(x(G))return G.kind===Z?G:U7(Z,G.kind);return{...q,$:this,kind:Z,def:G,prefix:q.alias??Z}}bindReference(U){let X;if(x(U))X=U.$===this?U:new U.constructor(U.attachments,this);else X=U.$===this?U:new r0(U.params,U.bodyDef,U.$,this,U.hkt);if(!this.resolved)Object.assign(this.referencesById,X.referencesById);return X}resolveRoot(U){return this.maybeResolveRoot(U)??F(S4(U))}maybeResolveRoot(U){let X=this.maybeResolve(U);if(M(X,"generic"))return;return X}maybeResolveSubalias(U){return N4(this.aliases,U)??N4(this.ambient,U)}get ambient(){return O.ambient}maybeResolve(U){let X=this.resolutions[U];if(X){if(typeof X!=="string")return this.bindReference(X);let Z=Q0[X];if(M(Z,"root"))return this.resolutions[U]=Z;if(M(Z,"context")){if(Z.phase==="resolving")return this.node("alias",{reference:`$${U}`},{prereduced:!0});if(Z.phase==="resolved")return y(`Unexpected resolved context for was uncached by its scope: ${E(Z)}`);Z.phase="resolving";let Q=this.bindReference(this.parseOwnDefinitionFormat(Z.def,Z));return Z.phase="resolved",Q0[Q.id]=Q,Q0[Z.id]=Q,this.resolutions[U]=Q}return y(`Unexpected nodesById entry for ${X}: ${E(Z)}`)}let q=this.aliases[U]??this.ambient?.[U];if(!q)return this.maybeResolveSubalias(U);if(q=this.normalizeRootScopeValue(q),M(q,"generic"))return this.resolutions[U]=this.bindReference(q);if(M(q,"module")){if(!q.root)F(HZ(U));return this.resolutions[U]=this.bindReference(q.root)}return this.resolutions[U]=this.parse(q,{alias:U})}createParseContext(U){let X=U.id??W4(U.prefix);return Q0[X]=Object.assign(U,{[Z0]:"context",$:this,id:X,phase:"unresolved"})}traversal(U){return new P0(U,this.resolvedConfig)}import(...U){return new h1(S(this.export(...U),(X,q)=>[`#${X}`,q]))}precompilation;_exportedResolutions;_exports;export(...U){if(!this._exports){this._exports={};for(let q of this.exportedNames){let Z=this.aliases[q];this._exports[q]=M(Z,"module")?I4(Z,this):qZ(this.maybeResolve(q))}for(let q of this.lazyResolutions)q.resolution;if(this._exportedResolutions=JZ(this,this._exports),this._json=YZ(this._exportedResolutions),Object.assign(this.resolutions,this._exportedResolutions),this.references=Object.values(this.referencesById),!this.resolvedConfig.jitless){let q=GZ(this.references);this.precompilation=q.write(ZZ,4),QZ(this.references,q)}this.resolved=!0}let X=U.length?U:this.exportedNames;return new h1(S(X,(q,Z)=>[Z,this._exports[Z]]))}resolve(U){return this.export()[U]}node=(U,X,q={})=>{let Z=this.preparseNode(U,X,q);if(x(Z))return this.bindReference(Z);let Q=this.createParseContext(Z),G=_4(Q),Y=this.bindReference(G);return Q0[Q.id]=Y};parse=(U,X={})=>this.finalize(this.parseDefinition(U,X));parseDefinition(U,X={}){if(M(U,"root"))return this.bindReference(U);let q=this.preparseOwnDefinitionFormat(U,X);if(M(q,"root"))return this.bindReference(q);let Z=this.createParseContext(q);Q0[Z.id]=Z;let Q=this.bindReference(this.parseOwnDefinitionFormat(U,Z));if(Q.isCyclic)Q=wq(Q,Z.id);return Q0[Z.id]=Q,Q}finalize(U){if(qZ(U),!U.precompilation&&!this.resolvedConfig.jitless)X7(U.references);return U}}class C4 extends IU{parseOwnDefinitionFormat(U,X){return _4(X)}preparseOwnDefinitionFormat(U,X){return this.preparseNode(R2(U),U,X)}preparseOwnAliasEntry(U,X){return[U,X]}normalizeRootScopeValue(U){return U}}var qZ=(U)=>{let X=U.references.filter((q)=>q.hasKind("alias"));for(let q of X){Object.assign(q.referencesById,q.resolution.referencesById);for(let Z of U.references)if(q.id in Z.referencesById)Object.assign(Z.referencesById,q.referencesById)}return U},YZ=(U)=>S(U,(X,q)=>[X,M(q,"root")||M(q,"generic")?q.json:M(q,"module")?YZ(q):y(`Unexpected resolution ${E(q)}`)]),N4=(U,X)=>{let q=X.indexOf(".");if(q===-1)return;let Z=X.slice(0,q),Q=U[Z];if(Q===void 0)return;if(!M(Q,"module"))return F(q7(Z));let G=X.slice(q+1),Y=Q[G];if(Y===void 0)return N4(Q,G);if(M(Y,"root")||M(Y,"generic"))return Y;if(M(Y,"module"))return Y.root??F(HZ(X));y(`Unexpected resolution for alias '${X}': ${E(Y)}`)},KU=(U,X)=>new C4(U,X),S2=new C4({});var JZ=(U,X)=>{let q={};for(let Z in X){let Q=X[Z];if(M(Q,"module")){let G=JZ(U,Q),Y=S(G,(J,H)=>[`${Z}.${J}`,H]);Object.assign(q,Y)}else if(M(Q,"root")||M(Q,"generic"))q[Z]=Q;else y(`Unexpected scope resolution ${E(Q)}`)}return q},S4=(U)=>`'${U}' is unresolvable`,q7=(U)=>`'${U}' must reference a module to be accessed using dot syntax`,HZ=(U)=>`Reference to submodule '${U}' must specify an alias`;S2.export();var{schema:v,node:x1,defineSchema:gP,generic:T0}=S2;var E4="^(?:0|[1-9]\\d*)$",Z7=new RegExp(E4),vP=d(Z7);var WZ=KU({bigint:"bigint",boolean:[{unit:!1},{unit:!0}],false:{unit:!1},never:[],null:{unit:null},number:"number",object:"object",string:"string",symbol:"symbol",true:{unit:!0},unknown:{},undefined:{unit:void 0},Array,Date},{prereducedAliases:!0}).export();O.intrinsic={...WZ};var _Z=KU({integer:{domain:"number",divisor:1},lengthBoundable:["string",Array],key:["string","symbol"],nonNegativeIntegerString:{domain:"string",pattern:E4}},{prereducedAliases:!0}).export();Object.assign(O.intrinsic,_Z);var Q7=KU({jsonPrimitive:["string","number",{unit:!0},{unit:!1},{unit:null}],jsonObject:{domain:"object",index:{signature:"string",value:"$jsonData"}},jsonData:["$jsonPrimitive","$jsonObject"]},{prereducedAliases:!0}).export(),I={...WZ,..._Z,...Q7,emptyStructure:x1("structure",{},{prereduced:!0})};O.intrinsic={...I};var NU=(U,X)=>new RegExp(U,X);Object.assign(NU,{as:NU});var LZ=(U)=>typeof U==="string"&&U[0]==="d"&&(U[1]==="'"||U[1]==='"')&&U[U.length-1]===U[1],$Z=(U)=>U.toString()!=="Invalid Date",zZ=(U)=>U.slice(2,-1),j4=(U)=>`'${U}' could not be parsed by the Date constructor`,FZ=(U,X)=>G7(U,X),G7=(U,X)=>{let q=new Date(U);if($Z(q))return q;let Z=uX(U);if(Z!==void 0){let Q=new Date(Z);if($Z(Q))return Q}return X?F(X===!0?j4(U):X):void 0};var Y7=v({proto:"Array",sequence:"string",required:{key:"groups",value:["object",{unit:void 0}]}}),CU=(U,X)=>{let q=U.scanner.shiftUntilEscapable(H7[BZ[X]]);if(U.scanner.lookahead==="")return U.error(_7(q,X));if(U.scanner.shift(),X in OZ){let Z;try{Z=new RegExp(q)}catch(Q){F(String(Q))}if(U.root=U.ctx.$.node("intersection",{domain:"string",pattern:q},{prereduced:!0}),X==="x/")U.root=U.ctx.$.node("morph",{in:U.root,morphs:(Q)=>Z.exec(Q),declaredOut:Y7})}else if(a(X,b4))U.root=U.ctx.$.node("unit",{unit:q});else{let Z=FZ(q,j4(q));U.root=U.ctx.$.node("unit",{meta:q,unit:Z})}},b4={"'":1,'"':1},AZ={"/":1,"'":1,'"':1},J7={"d'":"'",'d"':'"',"'":"'",'"':'"'},OZ={"/":"/","x/":"/"},BZ={...J7,...OZ},H7={"'":(U)=>U.lookahead==="'",'"':(U)=>U.lookahead==='"',"/":(U)=>U.lookahead==="/"},W7={'"':"double-quote","'":"single-quote","/":"forward slash"},_7=(U,X)=>`${X}${U} requires a closing ${W7[BZ[X]]}`;var TZ=(U)=>`Private type references should not include '#'. Use '${U}' instead.`,SU="Optional definitions like 'string?' are only valid as properties in an object or tuple",EU="Defaultable definitions like 'number = 0' are only valid as properties in an object or tuple";var j0={"<":1,">":1,"=":1,"|":1,"&":1,")":1,"[":1,"%":1,",":1,":":1,"?":1,"#":1,...c0};var VZ=(U,X)=>U===">"?X[0]==="="?X[1]==="=":X.trimStart()===""||a(X.trimStart()[0],j0):U==="="?X[0]!=="=":U===","||U==="?";var RZ=(U,X,q)=>DZ(U,X,q,[]),DZ=(U,X,q,Z)=>{let Q=q.parseUntilFinalizer();if(Z.push(Q.root),Q.finalizer===">"){if(Z.length!==X.params.length)return q.error(f4(U,X.names,Z.map((G)=>G.expression)));return Z}if(Q.finalizer===",")return DZ(U,X,q,Z);return Q.error($U(">"))},f4=(U,X,q)=>`${U}<${X.join(", ")}> requires exactly ${X.length} args (got ${q.length}${q.length===0?"":`: ${q.join(", ")}`})`;var jU=(U)=>{let X=U.scanner.shiftUntilLookahead(j0);if(X==="keyof")U.addPrefix("keyof");else U.root=L7(U,X)},$7=(U,X,q)=>{if(q.scanner.shiftUntilNonWhitespace(),q.scanner.shift()!=="<")return q.error(f4(U,X.names,[]));let Q=RZ(U,X,q);return X(...Q)},L7=(U,X)=>z7(U,X)??F7(U,X)??U.error(X===""?U.scanner.lookahead==="#"?TZ(U.shiftedBy(1).scanner.shiftUntilLookahead(j0)):g4(U):S4(X)),z7=(U,X)=>{if(U.ctx.args?.[X]){let Z=U.ctx.args[X];if(typeof Z!=="string")return Z;return U.ctx.$.node("alias",{reference:Z},{prereduced:!0})}let q=U.ctx.$.maybeResolve(X);if(M(q,"root"))return q;if(q===void 0)return;if(M(q,"generic"))return $7(X,q,U);return F(`Unexpected resolution ${E(q)}`)},F7=(U,X)=>{let q=mX(X);if(q!==void 0)return U.ctx.$.node("unit",{unit:q});let Z=lX(X);if(Z!==void 0)return U.ctx.$.node("unit",{unit:Z})},g4=(U)=>{let X=U.previousOperator();return X?y4(X,U.scanner.unscanned):A7(U.scanner.unscanned)},y4=(U,X="")=>`Token '${U}' requires a right operand${X?` before '${X}'`:""}`,A7=(U)=>`Expected an expression${U?` before '${U}'`:""}`;var k4=(U)=>U.scanner.lookahead===""?U.error(g4(U)):U.scanner.lookahead==="("?U.shiftedBy(1).reduceGroupOpen():U.scanner.lookaheadIsIn(AZ)?CU(U,U.scanner.shift()):U.scanner.lookaheadIsIn(c0)?k4(U.shiftedBy(1)):U.scanner.lookahead==="d"?U.scanner.nextLookahead in b4?CU(U,`${U.scanner.shift()}${U.scanner.shift()}`):jU(U):U.scanner.lookahead==="x"?U.scanner.nextLookahead==="/"?U.shiftedBy(2)&&CU(U,"x/"):jU(U):jU(U);var MZ={">":!0,">=":!0},PZ={"<":!0,"<=":!0};var u1={"<":">",">":"<","<=":">=",">=":"<=","==":"=="},wZ=(U,X)=>`Left bounds are only valid when paired with right bounds (try ...${X}${U})`,bU=(U)=>`Left-bounded expressions must specify their limits using < or <= (was ${U})`,IZ=(U,X,q,Z)=>`An expression may have at most one left bound (parsed ${U}${u1[X]}, ${q}${u1[Z]})`;var NZ=(U,X)=>{let q=O7(U,X);if(U.root.hasKind("unit")){if(typeof U.root.unit==="number"){U.reduceLeftBound(U.root.unit,q),U.unsetRoot();return}if(U.root.unit instanceof Date){let Z=`d'${U.root.description??U.root.unit.toISOString()}'`;U.unsetRoot(),U.reduceLeftBound(Z,q);return}}return T7(U,q)},CZ={"<":1,">":1,"=":1},O7=(U,X)=>U.scanner.lookaheadIs("=")?`${X}${U.scanner.shift()}`:X;var KZ=(U,X,q,Z)=>{if(q.extends(O.intrinsic.number)){if(typeof X!=="number")return F(v4(U,X,Z));return U==="=="?["min","max"]:U[0]===">"?["min"]:["max"]}if(q.extends(O.intrinsic.lengthBoundable)){if(typeof X!=="number")return F(v4(U,X,Z));return U==="=="?["exactLength"]:U[0]===">"?["minLength"]:["maxLength"]}if(q.extends(O.intrinsic.Date))return U==="=="?["after","before"]:U[0]===">"?["after"]:["before"];return F($q(q.expression))},B7=(U)=>({rule:LZ(U.limit)?zZ(U.limit):U.limit,exclusive:U.comparator.length===1}),T7=(U,X)=>{let q=U.unsetRoot(),Z=U.scanner.location;U.parseOperand();let Q=U.unsetRoot(),G=U.scanner.sliceChars(Z,U.scanner.location);if(U.root=q,!Q.hasKind("unit")||typeof Q.unit!=="number"&&!(Q.unit instanceof Date))return U.error(v4(X,G,"right"));let Y=Q.unit,J=X.length===1,H=KZ(X,typeof Y==="number"?Y:G,q,"right");for(let $ of H)U.constrainRoot($,X==="=="?{rule:Y}:{rule:Y,exclusive:J});if(!U.branches.leftBound)return;if(!a(X,PZ))return U.error(bU(X));let W=KZ(U.branches.leftBound.comparator,U.branches.leftBound.limit,q,"left");U.constrainRoot(W[0],B7(U.branches.leftBound)),U.branches.leftBound=null},v4=(U,X,q)=>`Comparator ${q==="left"?u1[U]:U} must be ${q==="left"?"preceded":"followed"} by a corresponding literal (was ${X})`;var SZ=(U)=>{U.scanner.shiftUntilNonWhitespace();let X=U.scanner.shiftUntilLookahead(j0);U.root=U.root.brand(X)};var jZ=(U)=>{U.scanner.shiftUntilNonWhitespace();let X=U.scanner.shiftUntilLookahead(j0),q=pX(X,{errorOnFail:EZ(X)});if(q===0)U.error(EZ(0));U.root=U.root.constrain("divisor",q)},EZ=(U)=>`% operator must be followed by a non-zero integer literal (was ${U})`;var h4=(U)=>{let X=U.scanner.shift();return X===""?U.finalize(""):X==="["?U.scanner.shift()==="]"?U.setRoot(U.root.array()):U.error(V7):X==="|"?U.scanner.lookahead===">"?U.shiftedBy(1).pushRootToBranch("|>"):U.pushRootToBranch(X):X==="&"?U.pushRootToBranch(X):X===")"?U.finalizeGroup():VZ(X,U.scanner.unscanned)?U.finalize(X):a(X,CZ)?NZ(U,X):X==="%"?jZ(U):X==="#"?SZ(U):(X in c0)?h4(U):U.error(fU(X))},fU=(U,X="")=>`'${U}' is not allowed here${X&&` (should be ${X})`}`,V7="Missing expected ']'";var bZ=(U)=>{let X=U.unsetRoot();U.parseOperand();let q=U.unsetRoot();if(!q.hasKind("unit"))return U.error(R7(q.expression));let Z=q.unit instanceof Date?()=>new Date(q.unit):q.unit;return[X,"=",Z]},R7=(U)=>`Default value '${U}' must be a literal value`;var x4=(U,X)=>{let q=X.$.maybeResolveRoot(U);if(q)return q;if(U.endsWith("[]")){let G=X.$.maybeResolveRoot(U.slice(0,-2));if(G)return G.array()}let Z=new m1(new F2(U),X),Q=D7(Z);if(Z.finalizer===">")F(fU(">"));return Q},D7=(U)=>{U.parseOperand();let X=E2(U).root;if(!X)return y(`Root was unexpectedly unset after parsing string '${U.scanner.scanned}'`);if(U.finalizer==="=")X=bZ(U);else if(U.finalizer==="?")X=[X,"?"];if(U.scanner.shiftUntilNonWhitespace(),U.scanner.lookahead)F(fU(U.scanner.lookahead));return X},E2=(U)=>{while(U.finalizer===void 0)M7(U);return U},M7=(U)=>U.hasRoot()?U.parseOperator():U.parseOperand();class m1{root;branches={prefixes:[],leftBound:null,intersection:null,union:null,pipe:null};finalizer;groups=[];scanner;ctx;constructor(U,X){this.scanner=U,this.ctx=X}error(U){return F(U)}hasRoot(){return this.root!==void 0}setRoot(U){this.root=U}unsetRoot(){let U=this.root;return this.root=void 0,U}constrainRoot(...U){this.root=this.root.constrain(U[0],U[1])}finalize(U){if(this.groups.length)return this.error($U(")"));this.finalizeBranches(),this.finalizer=U}reduceLeftBound(U,X){let q=u1[X];if(!a(q,MZ))return this.error(bU(X));if(this.branches.leftBound)return this.error(IZ(this.branches.leftBound.limit,this.branches.leftBound.comparator,U,q));this.branches.leftBound={comparator:q,limit:U}}finalizeBranches(){if(this.assertRangeUnset(),this.branches.pipe){this.pushRootToBranch("|>"),this.root=this.branches.pipe;return}if(this.branches.union){this.pushRootToBranch("|"),this.root=this.branches.union;return}if(this.branches.intersection){this.pushRootToBranch("&"),this.root=this.branches.intersection;return}this.applyPrefixes()}finalizeGroup(){this.finalizeBranches();let U=this.groups.pop();if(!U)return this.error(sX(")",this.scanner.unscanned));this.branches=U}addPrefix(U){this.branches.prefixes.push(U)}applyPrefixes(){while(this.branches.prefixes.length){let U=this.branches.prefixes.pop();this.root=U==="keyof"?this.root.keyof():y(`Unexpected prefix '${U}'`)}}pushRootToBranch(U){this.assertRangeUnset(),this.applyPrefixes();let X=this.root;if(this.root=void 0,this.branches.intersection=this.branches.intersection?.rawAnd(X)??X,U==="&")return;if(this.branches.union=this.branches.union?.rawOr(this.branches.intersection)??this.branches.intersection,this.branches.intersection=null,U==="|")return;this.branches.pipe=this.branches.pipe?.rawPipeOnce(this.branches.union)??this.branches.union,this.branches.union=null}parseUntilFinalizer(){return E2(new m1(this.scanner,this.ctx))}parseOperator(){return h4(this)}parseOperand(){return k4(this)}assertRangeUnset(){if(this.branches.leftBound)return this.error(wZ(this.branches.leftBound.limit,this.branches.leftBound.comparator))}reduceGroupOpen(){this.groups.push(this.branches),this.branches={prefixes:[],leftBound:null,union:null,intersection:null,pipe:null}}previousOperator(){return this.branches.leftBound?.comparator??this.branches.prefixes[this.branches.prefixes.length-1]??(this.branches.intersection?"&":this.branches.union?"|":this.branches.pipe?"|>":void 0)}shiftedBy(U){return this.scanner.jumpForward(U),this}}var P7="An empty string is not a valid generic parameter name",gU=(U,X,q)=>{U.shiftUntilNonWhitespace();let Z=U.shiftUntilLookahead(j0);if(Z===""){if(U.lookahead===""&&X.length)return X;return F(P7)}return U.shiftUntilNonWhitespace(),w7(U,Z,X,q)},fZ="extends ",w7=(U,X,q,Z)=>{if(U.shiftUntilNonWhitespace(),U.unscanned.startsWith(fZ))U.jumpForward(fZ.length);else{if(U.lookahead===",")U.shift();return q.push(X),gU(U,q,Z)}let Q=E2(new m1(U,Z));return q.push([X,Q.root]),gU(U,q,Z)};class u4 extends H0{constructor(U){let X={$:U,raw:U.fn};super((...q)=>{let Z=q.indexOf(":"),Q=Z===-1?q.length-1:Z-1,G=q.slice(0,Q+1),Y=U.parse(G).assertHasKind("intersection"),J=U.intrinsic.unknown;if(Z!==-1){if(Z!==q.length-2)return F(I7);J=U.parse(q[Z+1])}return(H)=>new gZ(H,Y,J)},{attach:X})}}class gZ extends H0{raw;params;returns;expression;constructor(U,X,q){let Z=`typed ${U.name}`,Q={[Z]:(...Y)=>{let J=X.assert(Y),H=U(...J);return q.assert(H)}}[Z];super(Q);this.raw=U,this.params=X,this.returns=q;let G=X.expression;if(G[0]==="["&&G[G.length-1]==="]")G=G.slice(1,-1);else if(G.endsWith("[]"))G=`...${G}`;this.expression=`(${G}) => ${q?.expression??"unknown"}`}}var I7=`":" must be followed by exactly one return type e.g:
184
+ fn("string", ":", "number")(s => s.length)`;class m4 extends H0{$;constructor(U){super((...X)=>new j2(U)(...X),{bind:U});this.$=U}in(U){return new j2(this.$,U===void 0?void 0:this.$.parse(U))}at(U,X){return new j2(this.$).at(U,X)}case(U,X){return new j2(this.$).case(U,X)}}class j2 extends H0{$;in;key;branches=[];constructor(U,X){super((q)=>this.caseEntries(Object.entries(q).map(([Z,Q])=>Z==="default"?[Z,Q]:[this.$.parse(Z),Q])));this.$=U,this.in=X}at(U,X){if(this.key)F(N7);if(this.branches.length)F(K7);return this.key=U,X?this.match(X):this}case(U,X){return this.caseEntry(this.$.parse(U),X)}caseEntry(U,X){let Z=(this.key?this.$.parse({[this.key]:U}):U).pipe(X);return this.branches.push(Z),this}match(U){return this(U)}strings(U){return this.caseEntries(Object.entries(U).map(([X,q])=>X==="default"?[X,q]:[this.$.node("unit",{unit:X}),q]))}caseEntries(U){for(let X=0;X<U.length;X++){let[q,Z]=U[X];if(q==="default"){if(X!==U.length-1)F("default may only be specified as the last key of a switch definition");return this.default(Z)}if(typeof Z!=="function")return F(`Value for case "${q}" must be a function (was ${r(Z)})`);this.caseEntry(q,Z)}return this}default(U){if(typeof U==="function")this.case(I.unknown,U);let X={branches:this.branches,ordered:!0};if(U==="never"||U==="assert")X.meta={onFail:yZ};let q=this.$.node("union",X);if(!this.in)return this.$.finalize(q);let Z=this.in.pipe(q);if(U==="never"||U==="assert")Z=Z.configureReferences({onFail:yZ},"self");return this.$.finalize(Z)}}var yZ=(U)=>U.throw(),K7="A key matcher must be specified before the first case i.e. match.at('foo') or match.in<object>().at('bar')",N7="At most one key matcher may be specified per expression";var yU=(U,X)=>{if(h(U)){if(U[1]==="=")return[X.$.parseOwnDefinitionFormat(U[0],X),"=",U[2]];if(U[1]==="?")return[X.$.parseOwnDefinitionFormat(U[0],X),"?"]}return kU(U,X)},kZ="Only required keys may make their values optional, e.g. { [mySymbol]: ['number', '?'] }",vZ="Only required keys may specify default values, e.g. { value: 'number = 0' }";var hZ=(U,X)=>{let q,Z={},Q=J1(U);for(let[Y,J]of Q){let H=E7(Y);if(H.kind==="spread"){if(!S0(Z))return F(S7);let A=X.$.parseOwnDefinitionFormat(J,X);if(A.equals(I.object))continue;if(!A.hasKind("intersection")||!A.basis?.equals(I.object))return F(j7(A.expression));q=A.structure;continue}if(H.kind==="undeclared"){if(J!=="reject"&&J!=="delete"&&J!=="ignore")F(C7(J));Z.undeclared=J;continue}let W=yU(J,X),$=H;if(H.kind==="required"){if(!h(W))p4(Z,"required",{key:H.normalized,value:W},X);else p4(Z,"optional",W[1]==="="?{key:H.normalized,value:W[0],default:W[2]}:{key:H.normalized,value:W[0]},X);continue}if(h(W)){if(W[1]==="?")F(kZ);if(W[1]==="=")F(vZ)}if(H.kind==="optional"){p4(Z,"optional",{key:H.normalized,value:W},X);continue}let _=X.$.parseOwnDefinitionFormat($.normalized,X),L=wU(_,W,X.$);if(L.index)Z.index=g(Z.index,L.index);if(L.required)Z.required=g(Z.required,L.required)}let G=X.$.node("structure",Z);return X.$.parseSchema({domain:"object",structure:q?.merge(G)??G})},p4=(U,X,q,Z)=>{U[X]=g(U[X],Z.$.node(X,q))},C7=(U)=>`Value of '+' key must be 'reject', 'delete', or 'ignore' (was ${E(U)})`,S7="Spread operator may only be used as the first key in an object",E7=(U)=>typeof U==="symbol"?{kind:"required",normalized:U}:U[U.length-1]==="?"?U[U.length-2]===W1?{kind:"required",normalized:`${U.slice(0,-2)}?`}:{kind:"optional",normalized:U.slice(0,-1)}:U[0]==="["&&U[U.length-1]==="]"?{kind:"index",normalized:U.slice(1,-1)}:U[0]===W1&&U[1]==="["&&U[U.length-1]==="]"?{kind:"required",normalized:U.slice(1)}:U==="..."?{kind:"spread"}:U==="+"?{kind:"undeclared"}:{kind:"required",normalized:U==="\\..."?"...":U==="\\+"?"+":U},j7=(U)=>`Spread operand must resolve to an object literal type (was ${U})`;var uZ=(U,X)=>m7(U)?dZ[U[0]](U,X):x7(U)?lZ[U[1]](U,X):null,b7=(U,X)=>X.$.parseOwnDefinitionFormat(U[1],X).keyof(),l4=(U,X)=>{if(U[2]===void 0)return F(y4(U[1],""));let q=X.$.parseOwnDefinitionFormat(U[0],X),Z=X.$.parseOwnDefinitionFormat(U[2],X);if(U[1]==="|")return X.$.node("union",{branches:[q,Z]});let Q=U[1]==="&"?$0(q,Z,X.$):V2(q,Z,X.$);if(Q instanceof T)return Q.throw();return Q},f7=(U,X)=>X.$.parseOwnDefinitionFormat(U[0],X).array(),g7=(U,X)=>{if(typeof U[2]!=="function")return F(mZ("=>",U[2]));return X.$.parseOwnDefinitionFormat(U[0],X).pipe(U[2])},mZ=(U,X)=>`${U===":"?"Narrow":"Morph"} expression requires a function following '${U}' (was ${typeof X})`,y7=(U,X)=>{if(typeof U[2]!=="function")return F(mZ(":",U[2]));return X.$.parseOwnDefinitionFormat(U[0],X).constrain("predicate",U[2])},k7=(U,X)=>X.$.parseOwnDefinitionFormat(U[0],X).configure(U[2],U[3]),pZ=(U)=>U,v7=pZ({"[]":f7,"?":()=>F(SU)}),h7=pZ({"|":l4,"&":l4,":":y7,"=>":g7,"|>":l4,"@":k7,"=":()=>F(EU)}),lZ={...v7,...h7},x7=(U)=>lZ[U[1]]!==void 0,u7=(U)=>U,dZ=u7({keyof:b7,instanceof:(U,X)=>{if(typeof U[1]!=="function")return F(xZ(J2(U[1])));let q=U.slice(1).map((Z)=>typeof Z==="function"?X.$.node("proto",{proto:Z}):F(xZ(J2(Z))));return q.length===1?q[0]:X.$.node("union",{branches:q})},"===":(U,X)=>X.$.units(U.slice(1))}),m7=(U)=>dZ[U[0]]!==void 0,xZ=(U)=>`Expected a constructor following 'instanceof' operator (was ${U})`;var sZ=(U,X)=>{let q=[{}],Z=0;while(Z<U.length){let Q=!1;if(U[Z]==="..."&&Z<U.length-1)Q=!0,Z++;let G=yU(U[Z],X),[Y,J,H]=!h(G)?[G]:G;if(Z++,Q){if(!Y.extends(O.intrinsic.Array))return F(d7(Y.expression));q=q.flatMap((W)=>Y.distribute(($)=>l7(zU(W),$)))}else q=q.map((W)=>{if(J==="?")return oZ(W,Y);if(J==="=")return p7(W,Y,H);return d4(W,Y)})}return X.$.parseSchema(q.map((Q)=>S0(Q)?{proto:Array,exactLength:0}:{proto:Array,sequence:Q}))},d4=(U,X)=>{if(U.defaultables||U.optionals)return F(U.variadic?M4:c7);if(U.variadic)U.postfix=g(U.postfix,X);else U.prefix=g(U.prefix,X);return U},oZ=(U,X)=>{if(U.variadic)return F(rZ);return U.optionals=g(U.optionals,X),U},p7=(U,X,q)=>{if(U.variadic)return F(rZ);if(U.optionals)return F(i7);return U.defaultables=g(U.defaultables,[[X,q]]),U},cZ=(U,X)=>{if(U.postfix)F(iZ);if(U.variadic){if(!U.variadic.equals(X))F(iZ)}else U.variadic=X.internal;return U},l7=(U,X)=>{let q=X.select({method:"find",kind:"sequence"});if(!q)return cZ(U,O.intrinsic.unknown);if(q.prefix)for(let Z of q.prefix)d4(U,Z);if(q.optionals)for(let Z of q.optionals)oZ(U,Z);if(q.variadic)cZ(U,q.variadic);if(q.postfix)for(let Z of q.postfix)d4(U,Z);return U},d7=(U)=>`Spread element must be an array (was ${U})`,iZ="A tuple may have at most one variadic element",c7="A required element may not follow an optional element",rZ="An optional element may not follow a variadic element";var i7="A defaultable element may not follow an optional element without a default";var s7={},kU=(U,X)=>{if(typeof U==="string"){if(X.args&&Object.keys(X.args).some((Z)=>U.includes(Z)))return x4(U,X);let q=s7[X.$.name]??={};return q[U]??=x4(U,X)}return G0(U,"object")?o7(U,X):F(c4(r(U)))},o7=(U,X)=>{let q=Y2(U);switch(q){case void 0:if(M(U,"root"))return U;if("~standard"in U)return r7(U,X);return hZ(U,X);case"Array":return a7(U,X);case"RegExp":return X.$.node("intersection",{domain:"string",pattern:U},{prereduced:!0});case"Function":{let Z=d0(U)?U():U;if(M(Z,"root"))return Z;return F(c4("Function"))}default:return F(c4(q??E(U)))}},r7=(U,X)=>X.$.intrinsic.unknown.pipe((q,Z)=>{let Q=U["~standard"].validate(q);if(!Q.issues)return Q.value;for(let{message:G,path:Y}of Q.issues)if(Y)if(Y.length)Z.error({problem:gX(G),relativePath:Y.map((J)=>typeof J==="object"?J.key:J)});else Z.error({message:G});else Z.error({message:G})}),a7=(U,X)=>uZ(U,X)??sZ(U,X),c4=(U)=>`Type definitions must be strings or objects (was ${U})`;class i4 extends H0{constructor(U){let X=Object.assign({errors:W0,hkt:X0,$:U,raw:U.parse,module:U.constructor.module,scope:U.constructor.scope,declare:U.declare,define:U.define,match:U.match,generic:U.generic,schema:U.schema,keywords:U.ambient,unit:U.unit,enumerated:U.enumerated,instanceOf:U.instanceOf,valueOf:U.valueOf,or:U.or,and:U.and,merge:U.merge,pipe:U.pipe,fn:U.fn},U.ambientAttachments);super((...q)=>{if(q.length===1)return U.parse(q[0]);if(q.length===2&&typeof q[0]==="string"&&q[0][0]==="<"&&q[0][q[0].length-1]===">"){let Z=q[0].slice(1,-1),Q=U.parseGenericParams(Z,{});return new r0(Q,q[1],U,U,null)}return U.parse(q)},{attach:X})}}var p1=O;class vU extends IU{get ambientAttachments(){if(!p1.typeAttachments)return;return this.cacheGetter("ambientAttachments",S(p1.typeAttachments,(U,X)=>[U,this.bindReference(X)]))}preparseOwnAliasEntry(U,X){let q=U.indexOf("<");if(q===-1){if(M(X,"module")||M(X,"generic"))return[U,X];let G=this.name==="ark"?U:U==="root"?this.name:`${this.name}.${U}`,Y=this.resolvedConfig.keywords?.[G];if(Y)X=[X,"@",Y];return[U,X]}if(U[U.length-1]!==">")F("'>' must be the last character of a generic declaration in a scope");let Z=U.slice(0,q),Q=U.slice(q+1,-1);return[Z,()=>{let G=this.parseGenericParams(Q,{alias:Z});return Hq(G,X,this)}]}parseGenericParams(U,X){return gU(new F2(U),[],this.createParseContext({...X,def:U,prefix:"generic"}))}normalizeRootScopeValue(U){if(d0(U)&&!M(U,"generic"))return U();return U}preparseOwnDefinitionFormat(U,X){return{...X,def:U,prefix:X.alias??"type"}}parseOwnDefinitionFormat(U,X){if(!(X.alias&&(X.alias in this.aliases))&&!X.args)X.args={this:X.id};let Z=kU(U,X);if(h(Z)){if(Z[1]==="=")return F(EU);if(Z[1]==="?")return F(SU)}return Z}unit=(U)=>this.units([U]);valueOf=(U)=>this.units(IX(U));enumerated=(...U)=>this.units(U);instanceOf=(U)=>this.node("proto",{proto:U},{prereduced:!0});or=(...U)=>this.schema(U.map((X)=>this.parse(X)));and=(...U)=>U.reduce((X,q)=>X.and(this.parse(q)),this.intrinsic.unknown);merge=(...U)=>U.reduce((X,q)=>X.merge(this.parse(q)),this.intrinsic.object);pipe=(...U)=>this.intrinsic.unknown.pipe(...U);fn=new u4(this);match=new m4(this);declare=()=>({type:this.type});define(U){return U}type=new i4(this);static scope=(U,X={})=>new vU(U,X);static module=(U,X={})=>this.scope(U,X).export()}var b2=Object.assign(vU.scope,{define:(U)=>U}),f=vU;class aZ extends X0{description='merge an object\'s properties onto another like `Merge(User, { isAdmin: "true" })`'}var n7=T0(["base",I.object],["props",I.object])((U)=>U.base.merge(U.props),aZ),nZ=f.module({Key:I.key,Merge:n7});class tZ extends X0{}var t7=T0("element")((U)=>{let X=U.element.exclude(I.Array),q=X.array();return X.rawOr(q).pipe(l0).distribute((Z)=>Z.assertHasKind("morph").declareOut(q),v)},tZ),eZ=f.module({root:I.Array,readonly:"root",index:I.nonNegativeIntegerString,liftFrom:t7},{name:"Array"});var s4=v(["string",_1.FileConstructor]),e7=s4.rawOr(s4.array()),U8=v({meta:"an object representing parsed form data",domain:"object",index:{signature:"string",value:e7}}),X8=f.module({root:["instanceof",FormData],value:s4,parsed:U8,parse:v({in:FormData,morphs:(U)=>{let X={};for(let[q,Z]of U)if(q in X){let Q=X[q];if(typeof Q==="string"||Q instanceof _1.FileConstructor)X[q]=[Q,Z];else Q.push(Z)}else X[q]=Z;return X},declaredOut:U8})},{name:"FormData"});var q8=f.module({Int8:["instanceof",Int8Array],Uint8:["instanceof",Uint8Array],Uint8Clamped:["instanceof",Uint8ClampedArray],Int16:["instanceof",Int16Array],Uint16:["instanceof",Uint16Array],Int32:["instanceof",Int32Array],Uint32:["instanceof",Uint32Array],Float32:["instanceof",Float32Array],Float64:["instanceof",Float64Array],BigInt64:["instanceof",BigInt64Array],BigUint64:["instanceof",BigUint64Array]},{name:"TypedArray"});var UY={Boolean:1,Number:1,String:1},Z8=f.module({...S({...y6,...v6},(U,X)=>(U in UY)?[]:[U,["instanceof",X]]),Array:eZ,TypedArray:q8,FormData:X8});var XY=v({domain:{domain:"number",meta:"a number representing a Unix timestamp"},divisor:{rule:1,meta:"an integer representing a Unix timestamp"},min:{rule:-8640000000000000,meta:"a Unix timestamp after -8640000000000000"},max:{rule:8640000000000000,meta:"a Unix timestamp before 8640000000000000"},meta:"an integer representing a safe Unix timestamp"}),qY=v({domain:"number",divisor:1}),hU=f.module({root:I.number,integer:qY,epoch:XY,safe:v({domain:{domain:"number",numberAllowsNaN:!1},min:Number.MIN_SAFE_INTEGER,max:Number.MAX_SAFE_INTEGER}),NaN:["===",Number.NaN],Infinity:["===",Number.POSITIVE_INFINITY],NegativeInfinity:["===",Number.NEGATIVE_INFINITY]},{name:"number"});var l=(U,X,q)=>{let Z={domain:"string",pattern:{rule:U.source,flags:U.flags,meta:X}};if(q)Z.meta={format:q};return x1("intersection",Z)},Q8=l(W2,"a well-formed integer string"),O8=f.module({root:Q8,parse:v({in:Q8,morphs:(U,X)=>{let q=Number.parseInt(U);return Number.isSafeInteger(q)?q:X.error("an integer in the range Number.MIN_SAFE_INTEGER to Number.MAX_SAFE_INTEGER")},declaredOut:I.integer})},{name:"string.integer"}),ZY=l(/^[\dA-Fa-f]+$/,"hex characters only"),QY=f.module({root:l(/^(?:[\d+/A-Za-z]{4})*(?:[\d+/A-Za-z]{2}==|[\d+/A-Za-z]{3}=)?$/,"base64-encoded"),url:l(/^(?:[\w-]{4})*(?:[\w-]{2}(?:==|%3D%3D)?|[\w-]{3}(?:=|%3D)?)?$/,"base64url-encoded")},{name:"string.base64"}),G8=l(/^[A-Z].*$/,"capitalized"),GY=f.module({root:v({in:"string",morphs:(U)=>U.charAt(0).toUpperCase()+U.slice(1),declaredOut:G8}),preformatted:G8},{name:"string.capitalize"}),YY=(U)=>{let X=U.replace(/[ -]+/g,""),q=0,Z,Q,G=!1;for(let Y=X.length-1;Y>=0;Y--){if(Z=X.substring(Y,Y+1),Q=Number.parseInt(Z,10),G)Q*=2,q+=Q>=10?Q%10+1:Q;else q+=Q;G=!G}return!!(q%10===0?X:!1)},JY=/^(?:4\d{12}(?:\d{3,6})?|5[1-5]\d{14}|(222[1-9]|22[3-9]\d|2[3-6]\d{2}|27[01]\d|2720)\d{12}|6(?:011|5\d\d)\d{12,15}|3[47]\d{13}|3(?:0[0-5]|[68]\d)\d{11}|(?:2131|1800|35\d{3})\d{11}|6[27]\d{14}|^(81\d{14,17}))$/,HY=v({domain:"string",pattern:{meta:"a credit card number",rule:JY.source},predicate:{meta:"a credit card number",predicate:YY}});var WY=/^([+-]?\d{4}(?!\d{2}\b))((-?)((0[1-9]|1[0-2])(\3([12]\d|0[1-9]|3[01]))?|W([0-4]\d|5[0-3])(-?[1-7])?|(00[1-9]|0[1-9]\d|[12]\d{2}|3([0-5]\d|6[1-6])))(T((([01]\d|2[0-3])((:?)[0-5]\d)?|24:?00)([,.]\d+(?!:))?)?(\17[0-5]\d([,.]\d+)?)?([Zz]|([+-])([01]\d|2[0-3]):?([0-5]\d)?)?)?)?$/;var _Y=(U)=>!Number.isNaN(new Date(U).valueOf()),Y8=v({domain:"string",predicate:{meta:"a parsable date",predicate:_Y}}).assertHasKind("intersection"),J8=O8.root.internal.narrow((U,X)=>{let q=Number.parseInt(U),Z=hU.epoch(q);if(Z instanceof W0)return X.errors.merge(Z),!1;return!0}).configure({description:"an integer string representing a safe Unix timestamp"},"self").assertHasKind("intersection"),$Y=f.module({root:J8,parse:v({in:J8,morphs:(U)=>new Date(U),declaredOut:I.Date})},{name:"string.date.epoch"}),H8=l(WY,"an ISO 8601 (YYYY-MM-DDTHH:mm:ss.sssZ) date").internal.assertHasKind("intersection"),LY=f.module({root:H8,parse:v({in:H8,morphs:(U)=>new Date(U),declaredOut:I.Date})},{name:"string.date.iso"}),zY=f.module({root:Y8,parse:v({declaredIn:Y8,in:"string",morphs:(U,X)=>{let q=new Date(U);if(Number.isNaN(q.valueOf()))return X.error("a parsable date");return q},declaredOut:I.Date}),iso:LY,epoch:$Y},{name:"string.date"}),FY=l(/^[\w%+.-]+@[\d.A-Za-z-]+\.[A-Za-z]{2,}$/,"an email address","email"),W8="(?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])",a0=`(${W8}[.]){3}${W8}`,AY=new RegExp(`^${a0}$`),c="(?:[0-9a-fA-F]{1,4})",OY=new RegExp(`^((?:${c}:){7}(?:${c}|:)|(?:${c}:){6}(?:${a0}|:${c}|:)|(?:${c}:){5}(?::${a0}|(:${c}){1,2}|:)|(?:${c}:){4}(?:(:${c}){0,1}:${a0}|(:${c}){1,3}|:)|(?:${c}:){3}(?:(:${c}){0,2}:${a0}|(:${c}){1,4}|:)|(?:${c}:){2}(?:(:${c}){0,3}:${a0}|(:${c}){1,5}|:)|(?:${c}:){1}(?:(:${c}){0,4}:${a0}|(:${c}){1,6}|:)|(?::((?::${c}){0,5}:${a0}|(?::${c}){1,7}|:)))(%[0-9a-zA-Z.]{1,})?$`),BY=f.module({root:["v4 | v6","@","an IP address"],v4:l(AY,"an IPv4 address","ipv4"),v6:l(OY,"an IPv6 address","ipv6")},{name:"string.ip"}),l1="a JSON string",B8=(U)=>{if(!(U instanceof SyntaxError))throw U;return`must be ${l1} (${U})`},TY=v({meta:l1,domain:"string",predicate:{meta:l1,predicate:(U,X)=>{try{return JSON.parse(U),!0}catch(q){return X.reject({code:"predicate",expected:l1,problem:B8(q)})}}}}),VY=(U,X)=>{if(U.length===0)return X.error({code:"predicate",expected:l1,actual:"empty"});try{return JSON.parse(U)}catch(q){return X.error({code:"predicate",expected:l1,problem:B8(q)})}},RY=f.module({root:TY,parse:v({meta:"safe JSON string parser",in:"string",morphs:VY,declaredOut:I.jsonObject})},{name:"string.json"}),_8=l(/^[a-z]*$/,"only lowercase letters"),DY=f.module({root:v({in:"string",morphs:(U)=>U.toLowerCase(),declaredOut:_8}),preformatted:_8},{name:"string.lower"}),T8=["NFC","NFD","NFKC","NFKD"],f2=S(T8,(U,X)=>[X,v({domain:"string",predicate:(q)=>q.normalize(X)===q,meta:`${X}-normalized unicode`})]),xU=S(T8,(U,X)=>[X,v({in:"string",morphs:(q)=>q.normalize(X),declaredOut:f2[X]})]),MY=f.module({root:xU.NFC,preformatted:f2.NFC},{name:"string.normalize.NFC"}),PY=f.module({root:xU.NFD,preformatted:f2.NFD},{name:"string.normalize.NFD"}),wY=f.module({root:xU.NFKC,preformatted:f2.NFKC},{name:"string.normalize.NFKC"}),IY=f.module({root:xU.NFKD,preformatted:f2.NFKD},{name:"string.normalize.NFKD"}),KY=f.module({root:"NFC",NFC:MY,NFD:PY,NFKC:wY,NFKD:IY},{name:"string.normalize"}),$8=l(WU,"a well-formed numeric string"),NY=f.module({root:$8,parse:v({in:$8,morphs:(U)=>Number.parseFloat(U),declaredOut:I.number})},{name:"string.numeric"}),L8="a regex pattern",CY=v({domain:"string",predicate:{meta:L8,predicate:(U,X)=>{try{return new RegExp(U),!0}catch(q){return X.reject({code:"predicate",expected:L8,problem:String(q)})}}},meta:{format:"regex"}}),SY=/^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[A-Za-z-][\dA-Za-z-]*)(?:\.(?:0|[1-9]\d*|\d*[A-Za-z-][\dA-Za-z-]*))*))?(?:\+([\dA-Za-z-]+(?:\.[\dA-Za-z-]+)*))?$/,EY=l(SY,"a semantic version (see https://semver.org/)"),z8=l(/^\S.*\S$|^\S?$/,"trimmed"),jY=f.module({root:v({in:"string",morphs:(U)=>U.trim(),declaredOut:z8}),preformatted:z8},{name:"string.trim"}),F8=l(/^[A-Z]*$/,"only uppercase letters"),bY=f.module({root:v({in:"string",morphs:(U)=>U.toUpperCase(),declaredOut:F8}),preformatted:F8},{name:"string.upper"}),fY=(U)=>URL.canParse(U),A8=v({domain:"string",predicate:{meta:"a URL string",predicate:fY},meta:{format:"uri"}}),gY=f.module({root:A8,parse:v({declaredIn:A8,in:"string",morphs:(U,X)=>{try{return new URL(U)}catch{return X.error("a URL string")}},declaredOut:v(URL)})},{name:"string.url"}),yY=f.module({root:["versioned | nil | max","@",{description:"a UUID",format:"uuid"}],"#nil":"'00000000-0000-0000-0000-000000000000'","#max":"'ffffffff-ffff-ffff-ffff-ffffffffffff'","#versioned":/[\da-f]{8}-[\da-f]{4}-[1-8][\da-f]{3}-[89ab][\da-f]{3}-[\da-f]{12}/i,v1:l(/^[\da-f]{8}-[\da-f]{4}-1[\da-f]{3}-[89ab][\da-f]{3}-[\da-f]{12}$/i,"a UUIDv1"),v2:l(/^[\da-f]{8}-[\da-f]{4}-2[\da-f]{3}-[89ab][\da-f]{3}-[\da-f]{12}$/i,"a UUIDv2"),v3:l(/^[\da-f]{8}-[\da-f]{4}-3[\da-f]{3}-[89ab][\da-f]{3}-[\da-f]{12}$/i,"a UUIDv3"),v4:l(/^[\da-f]{8}-[\da-f]{4}-4[\da-f]{3}-[89ab][\da-f]{3}-[\da-f]{12}$/i,"a UUIDv4"),v5:l(/^[\da-f]{8}-[\da-f]{4}-5[\da-f]{3}-[89ab][\da-f]{3}-[\da-f]{12}$/i,"a UUIDv5"),v6:l(/^[\da-f]{8}-[\da-f]{4}-6[\da-f]{3}-[89ab][\da-f]{3}-[\da-f]{12}$/i,"a UUIDv6"),v7:l(/^[\da-f]{8}-[\da-f]{4}-7[\da-f]{3}-[89ab][\da-f]{3}-[\da-f]{12}$/i,"a UUIDv7"),v8:l(/^[\da-f]{8}-[\da-f]{4}-8[\da-f]{3}-[89ab][\da-f]{3}-[\da-f]{12}$/i,"a UUIDv8")},{name:"string.uuid"}),V8=f.module({root:I.string,alpha:l(/^[A-Za-z]*$/,"only letters"),alphanumeric:l(/^[\dA-Za-z]*$/,"only letters and digits 0-9"),hex:ZY,base64:QY,capitalize:GY,creditCard:HY,date:zY,digits:l(/^\d*$/,"only digits 0-9"),email:FY,integer:O8,ip:BY,json:RY,lower:DY,normalize:KY,numeric:NY,regex:CY,semver:EY,trim:jY,upper:bY,url:gY,uuid:yY},{name:"string"});var R8=f.module({bigint:I.bigint,boolean:I.boolean,false:I.false,never:I.never,null:I.null,number:I.number,object:I.object,string:I.string,symbol:I.symbol,true:I.true,unknown:I.unknown,undefined:I.undefined}),D8=f.module({root:I.unknown,any:I.unknown},{name:"unknown"}),kY=f.module({root:I.jsonObject,stringify:x1("morph",{in:I.jsonObject,morphs:(U)=>JSON.stringify(U),declaredOut:I.string})},{name:"object.json"}),M8=f.module({root:I.object,json:kY},{name:"object"});class P8 extends X0{description='instantiate an object from an index signature and corresponding value type like `Record("string", "number")`'}var vY=T0(["K",I.key],"V")((U)=>({domain:"object",index:{signature:U.K,value:U.V}}),P8);class w8 extends X0{description='pick a set of properties from an object like `Pick(User, "name | age")`'}var hY=T0(["T",I.object],["K",I.key])((U)=>U.T.pick(U.K),w8);class I8 extends X0{description='omit a set of properties from an object like `Omit(User, "age")`'}var xY=T0(["T",I.object],["K",I.key])((U)=>U.T.omit(U.K),I8);class K8 extends X0{description="make all named properties of an object optional like `Partial(User)`"}var uY=T0(["T",I.object])((U)=>U.T.partial(),K8);class N8 extends X0{description="make all named properties of an object required like `Required(User)`"}var mY=T0(["T",I.object])((U)=>U.T.required(),N8);class C8 extends X0{description='exclude branches of a union like `Exclude("boolean", "true")`'}var pY=T0("T","U")((U)=>U.T.exclude(U.U),C8);class S8 extends X0{description='extract branches of a union like `Extract("0 | false | 1", "number")`'}var lY=T0("T","U")((U)=>U.T.extract(U.U),S8),E8=f.module({Exclude:pY,Extract:lY,Omit:xY,Partial:uY,Pick:hY,Record:vY,Required:mY});var x0=b2({...R8,...E8,...Z8,...nZ,string:V8,number:hU,object:M8,unknown:D8},{prereducedAliases:!0,name:"ark"}),n=x0.export();Object.assign(p1.ambient,n);p1.typeAttachments={string:n.string.root,number:n.number.root,bigint:n.bigint,boolean:n.boolean,symbol:n.symbol,undefined:n.undefined,null:n.null,object:n.object.root,unknown:n.unknown.root,false:n.false,true:n.true,never:n.never,arrayIndex:n.Array.index,Key:n.Key,Record:n.Record,Array:n.Array.root,Date:n.Date};var o4=Object.assign(x0.type,p1.typeAttachments),dY=x0.match,cY=x0.fn,iY=x0.generic,AN=x0.schema,sY=x0.define,oY=x0.declare;var z1=b2({Operator:"'EQ' | '==' | 'NEQ' | '!=' | 'GT' | '>' | 'GTE' | '>=' | 'LT' | '<' | 'LTE' | '<=' | 'IN' | 'NOT_IN' | 'CONTAINS' | 'MATCHES' | 'RANGE' | 'SINCE' | 'AFTER' | 'BEFORE' | 'UNTIL'",Condition:"RangeCondition | ListCondition | ContainsCondition | NumericCondition | RegexCondition | BasicCondition",RangeCondition:{field:"string > 0",operator:"'RANGE'",value:"unknown[] == 2"},ListCondition:{field:"string > 0",operator:"'IN' | 'NOT_IN'",value:"unknown[]"},ContainsCondition:{field:"string > 0",operator:"'CONTAINS' | 'NOT_CONTAINS'",value:"string | unknown[]"},StringOperatorCondition:{field:"string > 0",operator:"'STARTS_WITH' | 'ENDS_WITH'",value:"string"},HasKeyCondition:{field:"string > 0",operator:"'HAS_KEY'",value:"string"},NullCondition:{field:"string > 0",operator:"'IS_NULL' | 'IS_NONE'",value:"null"},EmptyCondition:{field:"string > 0",operator:"'IS_EMPTY'",value:"null"},NumericCondition:{field:"string > 0",operator:"'>' | '>=' | '<' | '<=' | 'GT' | 'GTE' | 'LT' | 'LTE'",value:"number | string"},RegexCondition:{field:"string > 0",operator:"'MATCHES'",value:"string"},BasicCondition:{field:"string > 0",operator:"Operator",value:"unknown"},ConditionGroup:{operator:"'AND' | 'OR'",conditions:"(Condition | ConditionGroup)[] >= 1"},RuleCondition:"Condition | ConditionGroup",Action:{"type?":"string > 0","params?":"object","delay?":"number.integer >= 0 | string","probability?":"0 <= number <= 1 | string","if?":"RuleCondition | RuleCondition[]","then?":"Action | ActionGroup","else?":"Action | ActionGroup","break?":"boolean","continue?":"boolean"},ActionGroup:{"mode?":"'ALL' | 'EITHER' | 'SEQUENCE'",actions:"(Action | ActionGroup)[] >= 1"},RuleAction:"Action | ActionGroup",TriggerRule:{id:"string > 0","name?":"string","description?":"string","priority?":"number.integer","enabled?":"boolean","cooldown?":"number.integer >= 0","tags?":"string[]",on:"string > 0","if?":"RuleCondition | RuleCondition[]",do:"RuleAction | RuleAction[]","comment?":"string"}}).export(),fN=z1.Operator,gN=z1.Condition,yN=z1.ConditionGroup,kN=z1.RuleCondition,vN=z1.Action,hN=z1.ActionGroup,rY=z1.TriggerRule;class aY{static validate(U){let X=rY(U);if(X instanceof o4.errors){let Q=[];for(let G of X){let Y=G.path.join("."),J=G.message,H=void 0;if(Y.endsWith("on")&&(J.includes("string")||J.includes("must be")))if(typeof U==="object"&&U!==null&&"on"in U&&U.on===!0)J="The 'on' field is incorrect (boolean true found).",H=`In YAML, 'on' is a boolean keyword (true). Quote it: "on": "EventName"`;else H="Ensure 'on' is a string event name.";Q.push({path:Y,message:J,suggestion:H,severity:"error"})}return{valid:!1,issues:Q}}let q=X,Z=[];if(this.validateConditionsRecursive(q.if,Z,"if"),Z.length>0)return{valid:!1,issues:Z};return{valid:!0,rule:q}}static validateConditionsRecursive(U,X,q){if(!U)return;if(Array.isArray(U)){U.forEach((Z,Q)=>{this.validateConditionsRecursive(Z,X,`${q}.${Q}`)});return}if(typeof U==="object"&&U!==null&&"conditions"in U&&Array.isArray(U.conditions)){U.conditions.forEach((Z,Q)=>{this.validateConditionsRecursive(Z,X,`${q}.conditions.${Q}`)});return}if(typeof U==="object"&&U!==null&&"operator"in U&&"value"in U)this.validateConditionValue(U,X,q)}static validateConditionValue(U,X,q){let{operator:Z,value:Q}=U;if(typeof Z==="string"&&["IN","NOT_IN","RANGE","CONTAINS","NOT_CONTAINS"].includes(Z)){if(Z==="CONTAINS"){if(typeof Q!=="string"&&!Array.isArray(Q))X.push({path:`${q}.value`,message:`Incorrect value type: Operator 'CONTAINS' expects a String or List (Array), but received ${typeof Q}.`,suggestion:"Use a substring or a list of items.",severity:"error"});return}if(!Array.isArray(Q)){X.push({path:`${q}.value`,message:`Incorrect value type: Operator '${Z}' expects a List (Array), but received ${typeof Q}.`,suggestion:Z==="RANGE"?"Use format [min, max]":"Use format [item1, item2]",severity:"error"});return}if(Z==="RANGE"){if(Q.length!==2)X.push({path:`${q}.value`,message:"Invalid Range: Operator 'RANGE' requires exactly 2 values (min and max).",suggestion:"Use format [min, max], e.g. [1, 10]",severity:"error"});else if(typeof Q[0]!=="number"&&typeof Q[0]!=="string")X.push({path:`${q}.value`,message:"Incorrect range type: Range values must be numbers or expression strings.",severity:"error"})}}else if(Z==="MATCHES")if(typeof Q!=="string")X.push({path:`${q}.value`,message:`Incorrect value type: Operator 'MATCHES' expects a string (regex pattern), but received ${typeof Q}.`,severity:"error"});else try{new RegExp(Q)}catch(G){X.push({path:`${q}.value`,message:`Invalid Regex pattern: ${G.message}`,severity:"error"})}else if(typeof Z==="string"&&["GT","GTE","LT","LTE",">",">=","<","<="].includes(Z)){if(typeof Q!=="number"&&typeof Q!=="string")X.push({path:`${q}.value`,message:`Incorrect value type: Operator '${Z}' expects a number or expression string, but received ${typeof Q}.`,severity:"error"})}else if(typeof Z==="string"&&["STARTS_WITH","ENDS_WITH"].includes(Z)){if(typeof Q!=="string")X.push({path:`${q}.value`,message:`Incorrect value type: Operator '${Z}' expects a string, but received ${typeof Q}.`,severity:"error"})}else if(Z==="HAS_KEY"){if(typeof Q!=="string")X.push({path:`${q}.value`,message:`Incorrect value type: Operator 'HAS_KEY' expects a string (key name), but received ${typeof Q}.`,severity:"error"})}}}class uU{conditions=[];op="AND";constructor(U="AND"){this.op=U}where(U,X,q){return this.conditions.push({field:U,operator:X,value:q}),this}and(U){let X=new uU("AND");return this.conditions.push(U(X).build()),this}or(U){let X=new uU("OR");return this.conditions.push(U(X).build()),this}build(){if(this.conditions.length===0)throw Error("Condition group must have at least one condition");if(this.conditions.length===1&&this.op==="AND")return this.conditions[0];return{operator:this.op,conditions:this.conditions}}}class j8{actions=[];mode="ALL";setMode(U){return this.mode=U,this}add(U,X,q){return this.actions.push({type:U,params:X,...q}),this}build(){if(this.actions.length===0)throw Error("Action group must have at least one action");if(this.actions.length===1&&this.mode==="ALL")return this.actions[0];if(this.mode==="ALL")return this.actions;return{mode:this.mode,actions:this.actions}}}class nY{rule={enabled:!0,priority:0};withId(U){return this.rule.id=U,this}withName(U){return this.rule.name=U,this}withDescription(U){return this.rule.description=U,this}withPriority(U){return this.rule.priority=U,this}withCooldown(U){return this.rule.cooldown=U,this}withTags(U){return this.rule.tags=U,this}on(U){return this.rule.on=U,this}if(U,X,q){if(!this.rule.if)this.rule.if={field:U,operator:X,value:q};else if(Array.isArray(this.rule.if))this.rule.if.push({field:U,operator:X,value:q});else this.rule.if=[this.rule.if,{field:U,operator:X,value:q}];return this}ifComplex(U){let X=new uU,q=U(X).build();return this.rule.if=q,this}do(U,X,q){let Z={type:U,params:X,...q};if(!this.rule.do)this.rule.do=Z;else if(Array.isArray(this.rule.do))this.rule.do.push(Z);else if(this.rule.do&&typeof this.rule.do==="object"&&"actions"in this.rule.do)this.rule.do.actions.push(Z);else this.rule.do=[this.rule.do,Z];return this}doComplex(U){let X=new j8,q=U(X).build();return this.rule.do=q,this}build(){if(!this.rule.id)throw Error("Rule ID is required");if(!this.rule.on)throw Error("Rule 'on' event is required");if(!this.rule.do)throw Error("Rule 'do' action is required");return this.rule}}var mQ=cQ(uQ(),1);class nA{static toYaml(U){let X=Array.isArray(U)?U:[U];return mQ.default.stringify(X)}static async saveToFile(U,X){let q=this.toYaml(U);if(typeof process<"u"&&process.versions&&process.versions.node){let Z=await import("fs/promises"),G=(await import("path")).dirname(X);await Z.mkdir(G,{recursive:!0}),await Z.writeFile(X,q,"utf8")}else throw Error("saveToFile is only supported in Node.js/Bun environments")}}export{N0 as triggerEmitter,YU as ruleEvents,QO as engineEvents,aY as TriggerValidator,QU as TriggerUtils,rY as TriggerRuleSchema,Z2 as TriggerEngine,j6 as TriggerEmitter,U0 as StateManager,nA as RuleExporter,zX as RuleEvent,b6 as RuleEngine,kN as RuleConditionSchema,nY as RuleBuilder,E6 as InMemoryPersistence,e as ExpressionEngine,sQ as EventQueue,GU as EngineEvent,Z2 as Engine,rQ as ContextAdapter,gN as ConditionSchema,yN as ConditionGroupSchema,uU as ConditionBuilder,fN as ComparisonOperatorSchema,oQ as BrowserPersistence,b6 as AdvancedRuleEngine,vN as ActionSchema,w1 as ActionRegistry,hN as ActionGroupSchema,j8 as ActionBuilder};
185
185
 
186
- //# debugId=17B78169BB8DB11364756E2164756E21
186
+ //# debugId=EE7A6771AC1ED71264756E2164756E21