@batijs/core 0.0.254 → 0.0.257

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.
Files changed (2) hide show
  1. package/dist/index.js +2 -2
  2. package/package.json +2 -2
package/dist/index.js CHANGED
@@ -971,7 +971,7 @@ ${l.messages.map(p=>`${n}:${p.line}:${p.column} => ${p.message}`).join(`
971
971
 
972
972
  `+a.message+`
973
973
  `+Array(a.message.length+1).join("=")+`
974
- `+YUr(t,n)):a}}var abt=ks("fs"),tbt=ks("path"),mns=/^\uFEFF/;function rbt(t,e,n){var s=tbt.resolve(n?e:tbt.dirname(e),t),a=tbt.extname(t);return a||(s+=".sqrl"),s}function hns(t,e){var n,s,a=e.views,l=/^[A-Za-z]+:\\|^\//.exec(t);if(l&&l.length)n=rbt(t.replace(/^\/*/,""),e.root||"/",!0);else if(e.filename&&(s=rbt(t,e.filename),abt.existsSync(s)&&(n=s)),n||Array.isArray(a)&&a.some(function(p){return s=rbt(t,p,!0),abt.existsSync(s)})&&(n=s),!n)throw zT('Could not find the include file "'+t+'"');return n}function ZUr(t){return abt.readFileSync(t).toString().replace(mns,"")}function gns(t,e){var n=Z8e(e),s=ZUr(t);try{var a=cbt(s,n);return n.storage.templates.define(n.filename,a),a}catch{throw zT("Loading file: "+t+" failed")}}function yns(t){var e=t.filename;if(t.cache){var n=t.storage.templates.get(e);return n||gns(e,t)}return cbt(ZUr(e),t)}function eqr(t,e){var n=Z8e({filename:hns(t,e)},e);return yns(n)}function bns(t,e,n){if(e&&e.length>0)throw zT("Helper 'includeFile' doesn't accept blocks");return eqr(t.params[0],n)(t.params[1],n)}function vns(t,e,n){var s=t.params[1]||{};s.content=t.exec();for(var a=0;a<e.length;a++){var l=e[a];s[l.name]=l.exec()}return eqr(t.params[0],n)(s,n)}function nbt(t,e){var n;return e.cache&&e.name&&e.storage.templates.get(e.name)?e.storage.templates.get(e.name):(typeof t=="function"?n=t:n=cbt(t,e),e.cache&&e.name&&e.storage.templates.define(e.name,n),n)}function tqr(t,e,n,s){var a=Z8e(n||{});if(a.async){var l;if(s)try{nbt(t,a)(e,a,s)}catch(p){return s(p)}else{if(typeof WUr=="function")return new WUr(function(p,f){try{l=nbt(t,a)(e,a),p(l)}catch(d){f(d)}});throw zT("Please provide a callback function, this env doesn't support Promises")}}else return nbt(t,a)(e,a)}obt.define("includeFile",bns);obt.define("extendsFile",vns);var lbt=["/*{","}*/"];function rqr(t,e){return tqr(t,e,{tags:lbt})}function Tns(t){return{eslint:t.includes("BATI.has")||t.includes("BATI_TEST")||t.includes("/*# BATI ")||t.includes("@batijs/"),squirelly:t.includes(lbt[0])}}async function Sns(t,e,n){let{eslint:s,squirelly:a}=Tns(t),l=t,p,f=!1;if(a&&(l=rqr(l,e),f=!0),s){let d=$Ur(l,n.filepath,e);l=d.code,p=d.context,f=!0}return{code:f?await xrt(l,n):l,context:p}}import{dirname as hps,join as gps}from"node:path";import{fileURLToPath as yps}from"node:url";import{promises as pss}from"node:fs";var kLe=e2(Sbt(),1),yVr=e2(svt(),1);function Mw(t){var e=t.use(o1),n=e.Type,s=e.builtInTypes,a=s.number;function l(g){return n.from(y=>a.check(y)&&y>=g,a+" >= "+g)}let p={null:function(){return null},emptyArray:function(){return[]},false:function(){return!1},true:function(){return!0},undefined:function(){},"use strict":function(){return"use strict"}};var f=n.or(s.string,s.number,s.boolean,s.null,s.undefined);let d=n.from(g=>{if(g===null)return!0;var y=typeof g;return!(y==="object"||y==="function")},f.toString());return{geq:l,defaults:p,isPrimitive:d}}function Wh(t){try{var e=t(),n=e.exports,s=n.default}catch{return}s&&s!==n&&typeof n=="object"&&(Object.assign(s,n,{default:s}),n.__esModule&&Object.defineProperty(s,"__esModule",{value:!0}),e.exports=s)}var fss=Object.defineProperty,_ss=(t,e,n)=>e in t?fss(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,B2=(t,e,n)=>(_ss(t,typeof e!="symbol"?e+"":e,n),n),bVr=Object.prototype,xLe=bVr.toString,mN=bVr.hasOwnProperty,iG=class{assert(e,n){if(!this.check(e,n)){var s=yvt(e);throw new Error(s+" does not match type "+this)}return!0}arrayOf(){let e=this;return new rye(e)}},rye=class extends iG{constructor(e){super(),this.elemType=e,B2(this,"kind","ArrayType")}toString(){return"["+this.elemType+"]"}check(e,n){return Array.isArray(e)&&e.every(s=>this.elemType.check(s,n))}},ELe=class extends iG{constructor(e){super(),this.value=e,B2(this,"kind","IdentityType")}toString(){return String(this.value)}check(e,n){let s=e===this.value;return!s&&typeof n=="function"&&n(this,e),s}},CLe=class extends iG{constructor(e){super(),this.fields=e,B2(this,"kind","ObjectType")}toString(){return"{ "+this.fields.join(", ")+" }"}check(e,n){return xLe.call(e)===xLe.call({})&&this.fields.every(s=>s.type.check(e[s.name],n))}},ALe=class extends iG{constructor(e){super(),this.types=e,B2(this,"kind","OrType")}toString(){return this.types.join(" | ")}check(e,n){return this.types.some(s=>s.check(e,!!n))?!0:(typeof n=="function"&&n(this,e),!1)}},nG=class extends iG{constructor(e,n){super(),this.name=e,this.predicate=n,B2(this,"kind","PredicateType")}toString(){return this.name}check(e,n){let s=this.predicate(e,n);return!s&&typeof n=="function"&&n(this,e),s}},eye=class t{constructor(e,n){this.type=e,this.typeName=n,B2(this,"baseNames",[]),B2(this,"ownFields",Object.create(null)),B2(this,"allSupertypes",Object.create(null)),B2(this,"supertypeList",[]),B2(this,"allFields",Object.create(null)),B2(this,"fieldNames",[]),B2(this,"finalized",!1),B2(this,"buildable",!1),B2(this,"buildParams",[])}isSupertypeOf(e){if(e instanceof t){if(this.finalized!==!0||e.finalized!==!0)throw new Error("");return mN.call(e.allSupertypes,this.typeName)}else throw new Error(e+" is not a Def")}checkAllFields(e,n){var s=this.allFields;if(this.finalized!==!0)throw new Error(""+this.typeName);function a(l){var p=s[l],f=p.type,d=p.getValue(e);return f.check(d,n)}return e!==null&&typeof e=="object"&&Object.keys(s).every(a)}bases(...e){var n=this.baseNames;if(this.finalized){if(e.length!==n.length)throw new Error("");for(var s=0;s<e.length;s++)if(e[s]!==n[s])throw new Error("");return this}return e.forEach(a=>{n.indexOf(a)<0&&n.push(a)}),this}},PLe=class{constructor(e,n,s,a){this.name=e,this.type=n,this.defaultFn=s,B2(this,"hidden"),this.hidden=!!a}toString(){return JSON.stringify(this.name)+": "+this.type}getValue(e){var n=e[this.name];return typeof n<"u"||typeof this.defaultFn=="function"&&(n=this.defaultFn.call(e)),n}};function yvt(t){return Array.isArray(t)?"["+t.map(yvt).join(", ")+"]":t&&typeof t=="object"?"{ "+Object.keys(t).map(function(e){return e+": "+t[e]}).join(", ")+" }":JSON.stringify(t)}function o1(t){let e={or(...ht){return new ALe(ht.map(Jr=>e.from(Jr)))},from(ht,Jr){if(ht instanceof rye||ht instanceof ELe||ht instanceof CLe||ht instanceof ALe||ht instanceof nG)return ht;if(ht instanceof eye)return ht.type;if(f.check(ht)){if(ht.length!==1)throw new Error("only one element type is permitted for typed arrays");return new rye(e.from(ht[0]))}if(d.check(ht))return new CLe(Object.keys(ht).map(ki=>new PLe(ki,e.from(ht[ki],ki))));if(typeof ht=="function"){var bn=n.indexOf(ht);if(bn>=0)return s[bn];if(typeof Jr!="string")throw new Error("missing name");return new nG(Jr,ht)}return new ELe(ht)},def(ht){return mN.call(B,ht)?B[ht]:B[ht]=new W(ht)},hasDef(ht){return mN.call(B,ht)}};var n=[],s=[];function a(ht,Jr){let bn=xLe.call(Jr),ki=new nG(ht,qn=>xLe.call(qn)===bn);return Jr&&typeof Jr.constructor=="function"&&(n.push(Jr.constructor),s.push(ki)),ki}let l=a("string","truthy"),p=a("function",function(){}),f=a("array",[]),d=a("object",{}),g=a("RegExp",/./),y=a("Date",new Date),T=a("number",3),v=a("boolean",!0),x=a("null",null),P=a("undefined",void 0),w=typeof BigInt=="function"?a("BigInt",BigInt(1234)):new nG("BigInt",()=>!1),I={string:l,function:p,array:f,object:d,RegExp:g,Date:y,number:T,boolean:v,null:x,undefined:P,BigInt:w};var B=Object.create(null);function M(ht){if(ht&&typeof ht=="object"){var Jr=ht.type;if(typeof Jr=="string"&&mN.call(B,Jr)){var bn=B[Jr];if(bn.finalized)return bn}}return null}class W extends eye{constructor(Jr){super(new nG(Jr,(bn,ki)=>this.check(bn,ki)),Jr)}check(Jr,bn){if(this.finalized!==!0)throw new Error("prematurely checking unfinalized type "+this.typeName);if(Jr===null||typeof Jr!="object")return!1;var ki=M(Jr);return ki?bn&&ki===this?this.checkAllFields(Jr,bn):this.isSupertypeOf(ki)?bn?ki.checkAllFields(Jr,bn)&&this.checkAllFields(Jr,!1):!0:!1:this.typeName==="SourceLocation"||this.typeName==="Position"?this.checkAllFields(Jr,bn):!1}build(...Jr){if(this.buildParams=Jr,this.buildable)return this;this.field("type",String,()=>this.typeName),this.buildable=!0;let bn=(qn,qa,mi,ri)=>{if(!mN.call(qn,qa)){var xi=this.allFields;if(!mN.call(xi,qa))throw new Error(""+qa);var gr=xi[qa],Os=gr.type,Oi;if(ri)Oi=mi;else if(gr.defaultFn)Oi=gr.defaultFn.call(qn);else{var pa="no value or default function given for field "+JSON.stringify(qa)+" of "+this.typeName+"("+this.buildParams.map(function(Vo){return xi[Vo]}).join(", ")+")";throw new Error(pa)}if(!Os.check(Oi))throw new Error(yvt(Oi)+" does not match field "+gr+" of type "+this.typeName);qn[qa]=Oi}},ki=(...qn)=>{var qa=qn.length;if(!this.finalized)throw new Error("attempting to instantiate unfinalized type "+this.typeName);var mi=Object.create(ce);if(this.buildParams.forEach(function(ri,xi){xi<qa?bn(mi,ri,qn[xi],!0):bn(mi,ri,null,!1)}),Object.keys(this.allFields).forEach(function(ri){bn(mi,ri,null,!1)}),mi.type!==this.typeName)throw new Error("");return mi};return ki.from=qn=>{if(!this.finalized)throw new Error("attempting to instantiate unfinalized type "+this.typeName);var qa=Object.create(ce);if(Object.keys(this.allFields).forEach(function(mi){mN.call(qn,mi)?bn(qa,mi,qn[mi],!0):bn(qa,mi,null,!1)}),qa.type!==this.typeName)throw new Error("");return qa},Object.defineProperty(ne,De(this.typeName),{enumerable:!0,value:ki}),this}field(Jr,bn,ki,qn){return this.finalized?(console.error("Ignoring attempt to redefine field "+JSON.stringify(Jr)+" of finalized type "+JSON.stringify(this.typeName)),this):(this.ownFields[Jr]=new PLe(Jr,e.from(bn),ki,qn),this)}finalize(){if(!this.finalized){var Jr=this.allFields,bn=this.allSupertypes;this.baseNames.forEach(qn=>{var qa=B[qn];if(qa instanceof eye)qa.finalize(),Ht(Jr,qa.allFields),Ht(bn,qa.allSupertypes);else{var mi="unknown supertype name "+JSON.stringify(qn)+" for subtype "+JSON.stringify(this.typeName);throw new Error(mi)}}),Ht(Jr,this.ownFields),bn[this.typeName]=this,this.fieldNames.length=0;for(var ki in Jr)mN.call(Jr,ki)&&!Jr[ki].hidden&&this.fieldNames.push(ki);Object.defineProperty(Be,this.typeName,{enumerable:!0,value:this.type}),this.finalized=!0,Ge(this.typeName,this.supertypeList),this.buildable&&this.supertypeList.lastIndexOf("Expression")>=0&&yt(this.typeName)}}}function Y(ht){if(!mN.call(B,ht))throw new Error("");var Jr=B[ht];if(Jr.finalized!==!0)throw new Error("");return Jr.supertypeList.slice(1)}function G(ht){for(var Jr={},bn=Object.keys(B),ki=bn.length,qn=0;qn<ki;++qn){var qa=bn[qn],mi=B[qa];if(mi.finalized!==!0)throw new Error(""+qa);for(var ri=0;ri<mi.supertypeList.length;++ri){var xi=mi.supertypeList[ri];if(mN.call(ht,xi)){Jr[qa]=xi;break}}}return Jr}var ne=Object.create(null),ce={};function pe(ht,Jr){var bn=ce[ht];return P.check(Jr)?delete ce[ht]:(p.assert(Jr),Object.defineProperty(ce,ht,{enumerable:!0,configurable:!0,value:Jr})),bn}function De(ht){return ht.replace(/^[A-Z]+/,function(Jr){var bn=Jr.length;switch(bn){case 0:return"";case 1:return Jr.toLowerCase();default:return Jr.slice(0,bn-1).toLowerCase()+Jr.charAt(bn-1)}})}function ke(ht){return ht=De(ht),ht.replace(/(Expression)?$/,"Statement")}var Be={};function $e(ht){var Jr=M(ht);if(Jr)return Jr.fieldNames.slice(0);if("type"in ht)throw new Error("did not recognize object of type "+JSON.stringify(ht.type));return Object.keys(ht)}function ze(ht,Jr){var bn=M(ht);if(bn){var ki=bn.allFields[Jr];if(ki)return ki.getValue(ht)}return ht&&ht[Jr]}function Le(ht,Jr,bn){$e(ht).forEach(function(ki){Jr.call(this,ki,ze(ht,ki))},bn)}function He(ht,Jr,bn){return $e(ht).some(function(ki){return Jr.call(this,ki,ze(ht,ki))},bn)}function yt(ht){var Jr=ke(ht);if(ne[Jr])return;var bn=ne[De(ht)];if(!bn)return;let ki=function(...qn){return ne.expressionStatement(bn.apply(ne,qn))};ki.from=function(...qn){return ne.expressionStatement(bn.from.apply(ne,qn))},ne[Jr]=ki}function Ge(ht,Jr){Jr.length=0,Jr.push(ht);for(var bn=Object.create(null),ki=0;ki<Jr.length;++ki){ht=Jr[ki];var qn=B[ht];if(qn.finalized!==!0)throw new Error("");mN.call(bn,ht)&&delete Jr[bn[ht]],bn[ht]=ki,Jr.push.apply(Jr,qn.baseNames)}for(var qa=0,mi=qa,ri=Jr.length;mi<ri;++mi)mN.call(Jr,mi)&&(Jr[qa++]=Jr[mi]);Jr.length=qa}function Ht(ht,Jr){return Object.keys(Jr).forEach(function(bn){ht[bn]=Jr[bn]}),ht}function Fr(){Object.keys(B).forEach(function(ht){B[ht].finalize()})}return{Type:e,builtInTypes:I,getSupertypeNames:Y,computeSupertypeLookupTable:G,builders:ne,defineMethod:pe,getBuilderName:De,getStatementBuilderName:ke,namedTypes:Be,getFieldNames:$e,getFieldValue:ze,eachField:Le,someField:He,finalize:Fr}}Wh(()=>module);var dss=Object.prototype,dLe=dss.hasOwnProperty;function vVr(t){var e=t.use(o1),n=e.builtInTypes.array,s=e.builtInTypes.number;let a=function T(v,x,P){if(!(this instanceof T))throw new Error("Path constructor cannot be invoked without 'new'");if(x){if(!(x instanceof T))throw new Error("")}else x=null,P=null;this.value=v,this.parentPath=x,this.name=P,this.__childCache=null};var l=a.prototype;function p(T){return T.__childCache||(T.__childCache=Object.create(null))}function f(T,v){var x=p(T),P=T.getValueProperty(v),w=x[v];return(!dLe.call(x,v)||w.value!==P)&&(w=x[v]=new T.constructor(P,T,v)),w}l.getValueProperty=function(v){return this.value[v]},l.get=function(...v){for(var x=this,P=v.length,w=0;w<P;++w)x=f(x,v[w]);return x},l.each=function(v,x){for(var P=[],w=this.value.length,I=0,I=0;I<w;++I)dLe.call(this.value,I)&&(P[I]=this.get(I));for(x=x||this,I=0;I<w;++I)dLe.call(P,I)&&v.call(x,P[I])},l.map=function(v,x){var P=[];return this.each(function(w){P.push(v.call(this,w))},x),P},l.filter=function(v,x){var P=[];return this.each(function(w){v.call(this,w)&&P.push(w)},x),P};function d(){}function g(T,v,x,P){if(n.assert(T.value),v===0)return d;var w=T.value.length;if(w<1)return d;var I=arguments.length;I===2?(x=0,P=w):I===3?(x=Math.max(x,0),P=w):(x=Math.max(x,0),P=Math.min(P,w)),s.assert(x),s.assert(P);for(var B=Object.create(null),M=p(T),W=x;W<P;++W)if(dLe.call(T.value,W)){var Y=T.get(W);if(Y.name!==W)throw new Error("");var G=W+v;Y.name=G,B[G]=Y,delete M[W]}return delete M.length,function(){for(var ne in B){var ce=B[ne];if(ce.name!==+ne)throw new Error("");M[ne]=ce,T.value[ne]=ce.value}}}l.shift=function(){var v=g(this,-1),x=this.value.shift();return v(),x},l.unshift=function(...v){var x=g(this,v.length),P=this.value.unshift.apply(this.value,v);return x(),P},l.push=function(...v){return n.assert(this.value),delete p(this).length,this.value.push.apply(this.value,v)},l.pop=function(){n.assert(this.value);var v=p(this);return delete v[this.value.length-1],delete v.length,this.value.pop()},l.insertAt=function(v){var x=arguments.length,P=g(this,x-1,v);if(P===d&&x<=1)return this;v=Math.max(v,0);for(var w=1;w<x;++w)this.value[v+w-1]=arguments[w];return P(),this},l.insertBefore=function(...v){for(var x=this.parentPath,P=v.length,w=[this.name],I=0;I<P;++I)w.push(v[I]);return x.insertAt.apply(x,w)},l.insertAfter=function(...v){for(var x=this.parentPath,P=v.length,w=[this.name+1],I=0;I<P;++I)w.push(v[I]);return x.insertAt.apply(x,w)};function y(T){if(!(T instanceof a))throw new Error("");var v=T.parentPath;if(!v)return T;var x=v.value,P=p(v);if(x[T.name]===T.value)P[T.name]=T;else if(n.check(x)){var w=x.indexOf(T.value);w>=0&&(P[T.name=w]=T)}else x[T.name]=T.value,P[T.name]=T;if(x[T.name]!==T.value)throw new Error("");if(T.parentPath.get(T.name)!==T)throw new Error("");return T}return l.replace=function(v){var x=[],P=this.parentPath.value,w=p(this.parentPath),I=arguments.length;if(y(this),n.check(P)){for(var B=P.length,M=g(this.parentPath,I-1,this.name+1),W=[this.name,1],Y=0;Y<I;++Y)W.push(arguments[Y]);var G=P.splice.apply(P,W);if(G[0]!==this.value)throw new Error("");if(P.length!==B-1+I)throw new Error("");if(M(),I===0)delete this.value,delete w[this.name],this.__childCache=null;else{if(P[this.name]!==v)throw new Error("");for(this.value!==v&&(this.value=v,this.__childCache=null),Y=0;Y<I;++Y)x.push(this.parentPath.get(this.name+Y));if(x[0]!==this)throw new Error("")}}else if(I===1)this.value!==v&&(this.__childCache=null),this.value=P[this.name]=v,x.push(this);else if(I===0)delete P[this.name],delete this.value,this.__childCache=null;else throw new Error("Could not replace path");return x},a}Wh(()=>module);var wie=Object.prototype.hasOwnProperty;function mss(t){var e=t.use(o1),n=e.Type,s=e.namedTypes,a=s.Node,l=s.Expression,p=e.builtInTypes.array,f=e.builders;let d=function Y(G,ne){if(!(this instanceof Y))throw new Error("Scope constructor cannot be invoked without 'new'");y.check(G.value)||g.assert(G.value);var ce;if(ne){if(!(ne instanceof Y))throw new Error("");ce=ne.depth+1}else ne=null,ce=0;Object.defineProperties(this,{path:{value:G},node:{value:G.value},isGlobal:{value:!ne,enumerable:!0},depth:{value:ce},parent:{value:ne},bindings:{value:{}},types:{value:{}}})};var g=n.or(s.Program,s.Function,s.CatchClause),y=n.or(s.Function,s.ClassDeclaration,s.ClassExpression,s.InterfaceDeclaration,s.TSInterfaceDeclaration,s.TypeAlias,s.TSTypeAliasDeclaration),T=n.or(s.TypeParameter,s.TSTypeParameter);d.isEstablishedBy=function(Y){return g.check(Y)||y.check(Y)};var v=d.prototype;v.didScan=!1,v.declares=function(Y){return this.scan(),wie.call(this.bindings,Y)},v.declaresType=function(Y){return this.scan(),wie.call(this.types,Y)},v.declareTemporary=function(Y){if(Y){if(!/^[a-z$_]/i.test(Y))throw new Error("")}else Y="t$";Y+=this.depth.toString(36)+"$",this.scan();for(var G=0;this.declares(Y+G);)++G;var ne=Y+G;return this.bindings[ne]=e.builders.identifier(ne)},v.injectTemporary=function(Y,G){Y||(Y=this.declareTemporary());var ne=this.path.get("body");return s.BlockStatement.check(ne.value)&&(ne=ne.get("body")),ne.unshift(f.variableDeclaration("var",[f.variableDeclarator(Y,G||null)])),Y},v.scan=function(Y){if(Y||!this.didScan){for(var G in this.bindings)delete this.bindings[G];for(var G in this.types)delete this.types[G];x(this.path,this.bindings,this.types),this.didScan=!0}},v.getBindings=function(){return this.scan(),this.bindings},v.getTypes=function(){return this.scan(),this.types};function x(Y,G,ne){var ce=Y.value;if(y.check(ce)){let pe=Y.get("typeParameters","params");p.check(pe.value)&&pe.each(De=>{W(De,ne)})}g.check(ce)&&(s.CatchClause.check(ce)?B(Y.get("param"),G):P(Y,G,ne))}function P(Y,G,ne){var ce=Y.value;Y.parent&&s.FunctionExpression.check(Y.parent.node)&&Y.parent.node.id&&B(Y.parent.get("id"),G),ce&&(p.check(ce)?Y.each(pe=>{I(pe,G,ne)}):s.Function.check(ce)?(Y.get("params").each(pe=>{B(pe,G)}),I(Y.get("body"),G,ne),P(Y.get("typeParameters"),G,ne)):s.TypeAlias&&s.TypeAlias.check(ce)||s.InterfaceDeclaration&&s.InterfaceDeclaration.check(ce)||s.TSTypeAliasDeclaration&&s.TSTypeAliasDeclaration.check(ce)||s.TSInterfaceDeclaration&&s.TSInterfaceDeclaration.check(ce)?M(Y.get("id"),ne):s.VariableDeclarator.check(ce)?(B(Y.get("id"),G),I(Y.get("init"),G,ne)):ce.type==="ImportSpecifier"||ce.type==="ImportNamespaceSpecifier"||ce.type==="ImportDefaultSpecifier"?B(Y.get(ce.local?"local":ce.name?"name":"id"),G):a.check(ce)&&!l.check(ce)&&e.eachField(ce,function(pe,De){var ke=Y.get(pe);if(!w(ke,De))throw new Error("");I(ke,G,ne)}))}function w(Y,G){return!!(Y.value===G||Array.isArray(Y.value)&&Y.value.length===0&&Array.isArray(G)&&G.length===0)}function I(Y,G,ne){var ce=Y.value;if(!(!ce||l.check(ce)))if(s.FunctionDeclaration.check(ce)&&ce.id!==null)B(Y.get("id"),G);else if(s.ClassDeclaration&&s.ClassDeclaration.check(ce)&&ce.id!==null)B(Y.get("id"),G),P(Y.get("typeParameters"),G,ne);else if(s.InterfaceDeclaration&&s.InterfaceDeclaration.check(ce)||s.TSInterfaceDeclaration&&s.TSInterfaceDeclaration.check(ce))M(Y.get("id"),ne);else if(g.check(ce)){if(s.CatchClause.check(ce)&&s.Identifier.check(ce.param)){var pe=ce.param.name,De=wie.call(G,pe);P(Y.get("body"),G,ne),De||delete G[pe]}}else P(Y,G,ne)}function B(Y,G){var ne=Y.value;s.Pattern.assert(ne),s.Identifier.check(ne)?wie.call(G,ne.name)?G[ne.name].push(Y):G[ne.name]=[Y]:s.AssignmentPattern&&s.AssignmentPattern.check(ne)?B(Y.get("left"),G):s.ObjectPattern&&s.ObjectPattern.check(ne)?Y.get("properties").each(function(ce){var pe=ce.value;s.Pattern.check(pe)?B(ce,G):s.Property.check(pe)||s.ObjectProperty&&s.ObjectProperty.check(pe)?B(ce.get("value"),G):s.SpreadProperty&&s.SpreadProperty.check(pe)&&B(ce.get("argument"),G)}):s.ArrayPattern&&s.ArrayPattern.check(ne)?Y.get("elements").each(function(ce){var pe=ce.value;s.Pattern.check(pe)?B(ce,G):s.SpreadElement&&s.SpreadElement.check(pe)&&B(ce.get("argument"),G)}):s.PropertyPattern&&s.PropertyPattern.check(ne)?B(Y.get("pattern"),G):(s.SpreadElementPattern&&s.SpreadElementPattern.check(ne)||s.RestElement&&s.RestElement.check(ne)||s.SpreadPropertyPattern&&s.SpreadPropertyPattern.check(ne))&&B(Y.get("argument"),G)}function M(Y,G){var ne=Y.value;s.Pattern.assert(ne),s.Identifier.check(ne)&&(wie.call(G,ne.name)?G[ne.name].push(Y):G[ne.name]=[Y])}function W(Y,G){var ne=Y.value;T.assert(ne),wie.call(G,ne.name)?G[ne.name].push(Y):G[ne.name]=[Y]}return v.lookup=function(Y){for(var G=this;G&&!G.declares(Y);G=G.parent);return G},v.lookupType=function(Y){for(var G=this;G&&!G.declaresType(Y);G=G.parent);return G},v.getGlobalScope=function(){for(var Y=this;!Y.isGlobal;)Y=Y.parent;return Y},d}Wh(()=>module);function TVr(t){var e=t.use(o1),n=e.namedTypes,s=e.builders,a=e.builtInTypes.number,l=e.builtInTypes.array,p=t.use(vVr),f=t.use(mss);let d=function I(B,M,W){if(!(this instanceof I))throw new Error("NodePath constructor cannot be invoked without 'new'");p.call(this,B,M,W)};var g=d.prototype=Object.create(p.prototype,{constructor:{value:d,enumerable:!1,writable:!0,configurable:!0}});Object.defineProperties(g,{node:{get:function(){return Object.defineProperty(this,"node",{configurable:!0,value:this._computeNode()}),this.node}},parent:{get:function(){return Object.defineProperty(this,"parent",{configurable:!0,value:this._computeParent()}),this.parent}},scope:{get:function(){return Object.defineProperty(this,"scope",{configurable:!0,value:this._computeScope()}),this.scope}}}),g.replace=function(){return delete this.node,delete this.parent,delete this.scope,p.prototype.replace.apply(this,arguments)},g.prune=function(){var I=this.parent;return this.replace(),P(I)},g._computeNode=function(){var I=this.value;if(n.Node.check(I))return I;var B=this.parentPath;return B&&B.node||null},g._computeParent=function(){var I=this.value,B=this.parentPath;if(!n.Node.check(I)){for(;B&&!n.Node.check(B.value);)B=B.parentPath;B&&(B=B.parentPath)}for(;B&&!n.Node.check(B.value);)B=B.parentPath;return B||null},g._computeScope=function(){var I=this.value,B=this.parentPath,M=B&&B.scope;return n.Node.check(I)&&f.isEstablishedBy(I)&&(M=new f(this,M)),M||null},g.getValueProperty=function(I){return e.getFieldValue(this.value,I)},g.needsParens=function(I){var B=this.parentPath;if(!B)return!1;var M=this.value;if(!n.Expression.check(M)||M.type==="Identifier")return!1;for(;!n.Node.check(B.value);)if(B=B.parentPath,!B)return!1;var W=B.value;switch(M.type){case"UnaryExpression":case"SpreadElement":case"SpreadProperty":return W.type==="MemberExpression"&&this.name==="object"&&W.object===M;case"BinaryExpression":case"LogicalExpression":switch(W.type){case"CallExpression":return this.name==="callee"&&W.callee===M;case"UnaryExpression":case"SpreadElement":case"SpreadProperty":return!0;case"MemberExpression":return this.name==="object"&&W.object===M;case"BinaryExpression":case"LogicalExpression":{let Y=M,G=W.operator,ne=T[G],ce=Y.operator,pe=T[ce];if(ne>pe)return!0;if(ne===pe&&this.name==="right"){if(W.right!==Y)throw new Error("Nodes must be equal");return!0}}default:return!1}case"SequenceExpression":switch(W.type){case"ForStatement":return!1;case"ExpressionStatement":return this.name!=="expression";default:return!0}case"YieldExpression":switch(W.type){case"BinaryExpression":case"LogicalExpression":case"UnaryExpression":case"SpreadElement":case"SpreadProperty":case"CallExpression":case"MemberExpression":case"NewExpression":case"ConditionalExpression":case"YieldExpression":return!0;default:return!1}case"Literal":return W.type==="MemberExpression"&&a.check(M.value)&&this.name==="object"&&W.object===M;case"AssignmentExpression":case"ConditionalExpression":switch(W.type){case"UnaryExpression":case"SpreadElement":case"SpreadProperty":case"BinaryExpression":case"LogicalExpression":return!0;case"CallExpression":return this.name==="callee"&&W.callee===M;case"ConditionalExpression":return this.name==="test"&&W.test===M;case"MemberExpression":return this.name==="object"&&W.object===M;default:return!1}default:if(W.type==="NewExpression"&&this.name==="callee"&&W.callee===M)return v(M)}return!!(I!==!0&&!this.canBeFirstInStatement()&&this.firstInStatement())};function y(I){return n.BinaryExpression.check(I)||n.LogicalExpression.check(I)}var T={};[["||"],["&&"],["|"],["^"],["&"],["==","===","!=","!=="],["<",">","<=",">=","in","instanceof"],[">>","<<",">>>"],["+","-"],["*","/","%"]].forEach(function(I,B){I.forEach(function(M){T[M]=B})});function v(I){return n.CallExpression.check(I)?!0:l.check(I)?I.some(v):n.Node.check(I)?e.someField(I,function(B,M){return v(M)}):!1}g.canBeFirstInStatement=function(){var I=this.node;return!n.FunctionExpression.check(I)&&!n.ObjectExpression.check(I)},g.firstInStatement=function(){return x(this)};function x(I){for(var B,M;I.parent;I=I.parent){if(B=I.node,M=I.parent.node,n.BlockStatement.check(M)&&I.parent.name==="body"&&I.name===0){if(M.body[0]!==B)throw new Error("Nodes must be equal");return!0}if(n.ExpressionStatement.check(M)&&I.name==="expression"){if(M.expression!==B)throw new Error("Nodes must be equal");return!0}if(n.SequenceExpression.check(M)&&I.parent.name==="expressions"&&I.name===0){if(M.expressions[0]!==B)throw new Error("Nodes must be equal");continue}if(n.CallExpression.check(M)&&I.name==="callee"){if(M.callee!==B)throw new Error("Nodes must be equal");continue}if(n.MemberExpression.check(M)&&I.name==="object"){if(M.object!==B)throw new Error("Nodes must be equal");continue}if(n.ConditionalExpression.check(M)&&I.name==="test"){if(M.test!==B)throw new Error("Nodes must be equal");continue}if(y(M)&&I.name==="left"){if(M.left!==B)throw new Error("Nodes must be equal");continue}if(n.UnaryExpression.check(M)&&!M.prefix&&I.name==="argument"){if(M.argument!==B)throw new Error("Nodes must be equal");continue}return!1}return!0}function P(I){if(n.VariableDeclaration.check(I.node)){var B=I.get("declarations").value;if(!B||B.length===0)return I.prune()}else if(n.ExpressionStatement.check(I.node)){if(!I.get("expression").value)return I.prune()}else n.IfStatement.check(I.node)&&w(I);return I}function w(I){var B=I.get("test").value,M=I.get("alternate").value,W=I.get("consequent").value;if(!W&&!M){var Y=s.expressionStatement(B);I.replace(Y)}else if(!W&&M){var G=s.unaryExpression("!",B,!0);n.UnaryExpression.check(B)&&B.operator==="!"&&(G=B.argument),I.get("test").replace(G),I.get("consequent").replace(M),I.get("alternate").replace()}}return d}Wh(()=>module);var mLe=Object.prototype.hasOwnProperty;function hss(t){var e=t.use(o1),n=t.use(TVr),s=e.builtInTypes.array,a=e.builtInTypes.object,l=e.builtInTypes.function,p;let f=function P(){if(!(this instanceof P))throw new Error("PathVisitor constructor cannot be invoked without 'new'");this._reusableContextStack=[],this._methodNameTable=d(this),this._shouldVisitComments=mLe.call(this._methodNameTable,"Block")||mLe.call(this._methodNameTable,"Line"),this.Context=v(this),this._visiting=!1,this._changeReported=!1};function d(P){var w=Object.create(null);for(var I in P)/^visit[A-Z]/.test(I)&&(w[I.slice(5)]=!0);for(var B=e.computeSupertypeLookupTable(w),M=Object.create(null),W=Object.keys(B),Y=W.length,G=0;G<Y;++G){var ne=W[G];I="visit"+B[ne],l.check(P[I])&&(M[ne]=I)}return M}f.fromMethodsObject=function(w){if(w instanceof f)return w;if(!a.check(w))return new f;let I=function M(){if(!(this instanceof M))throw new Error("Visitor constructor cannot be invoked without 'new'");f.call(this)};var B=I.prototype=Object.create(y);return B.constructor=I,g(B,w),g(I,f),l.assert(I.fromMethodsObject),l.assert(I.visit),new I};function g(P,w){for(var I in w)mLe.call(w,I)&&(P[I]=w[I]);return P}f.visit=function(w,I){return f.fromMethodsObject(I).visit(w)};var y=f.prototype;y.visit=function(){if(this._visiting)throw new Error("Recursively calling visitor.visit(path) resets visitor state. Try this.visit(path) or this.traverse(path) instead.");this._visiting=!0,this._changeReported=!1,this._abortRequested=!1;for(var P=arguments.length,w=new Array(P),I=0;I<P;++I)w[I]=arguments[I];w[0]instanceof n||(w[0]=new n({root:w[0]}).get("root")),this.reset.apply(this,w);var B;try{var M=this.visitWithoutReset(w[0]);B=!0}finally{if(this._visiting=!1,!B&&this._abortRequested)return w[0].value}return M},y.AbortRequest=function(){},y.abort=function(){var P=this;P._abortRequested=!0;var w=new P.AbortRequest;throw w.cancel=function(){P._abortRequested=!1},w},y.reset=function(P){},y.visitWithoutReset=function(P){if(this instanceof this.Context)return this.visitor.visitWithoutReset(P);if(!(P instanceof n))throw new Error("");var w=P.value,I=w&&typeof w=="object"&&typeof w.type=="string"&&this._methodNameTable[w.type];if(I){var B=this.acquireContext(P);try{return B.invokeVisitorMethod(I)}finally{this.releaseContext(B)}}else return T(P,this)};function T(P,w){if(!(P instanceof n))throw new Error("");if(!(w instanceof f))throw new Error("");var I=P.value;if(s.check(I))P.each(w.visitWithoutReset,w);else if(a.check(I)){var B=e.getFieldNames(I);w._shouldVisitComments&&I.comments&&B.indexOf("comments")<0&&B.push("comments");for(var M=B.length,W=[],Y=0;Y<M;++Y){var G=B[Y];mLe.call(I,G)||(I[G]=e.getFieldValue(I,G)),W.push(P.get(G))}for(var Y=0;Y<M;++Y)w.visitWithoutReset(W[Y])}return P.value}y.acquireContext=function(P){return this._reusableContextStack.length===0?new this.Context(P):this._reusableContextStack.pop().reset(P)},y.releaseContext=function(P){if(!(P instanceof this.Context))throw new Error("");this._reusableContextStack.push(P),P.currentPath=null},y.reportChanged=function(){this._changeReported=!0},y.wasChangeReported=function(){return this._changeReported};function v(P){function w(B){if(!(this instanceof w))throw new Error("");if(!(this instanceof f))throw new Error("");if(!(B instanceof n))throw new Error("");Object.defineProperty(this,"visitor",{value:P,writable:!1,enumerable:!0,configurable:!1}),this.currentPath=B,this.needToCallTraverse=!0,Object.seal(this)}if(!(P instanceof f))throw new Error("");var I=w.prototype=Object.create(P);return I.constructor=w,g(I,x),w}var x=Object.create(null);return x.reset=function(w){if(!(this instanceof this.Context))throw new Error("");if(!(w instanceof n))throw new Error("");return this.currentPath=w,this.needToCallTraverse=!0,this},x.invokeVisitorMethod=function(w){if(!(this instanceof this.Context))throw new Error("");if(!(this.currentPath instanceof n))throw new Error("");var I=this.visitor[w].call(this,this.currentPath);if(I===!1?this.needToCallTraverse=!1:I!==p&&(this.currentPath=this.currentPath.replace(I)[0],this.needToCallTraverse&&this.traverse(this.currentPath)),this.needToCallTraverse!==!1)throw new Error("Must either call this.traverse or return false in "+w);var B=this.currentPath;return B&&B.value},x.traverse=function(w,I){if(!(this instanceof this.Context))throw new Error("");if(!(w instanceof n))throw new Error("");if(!(this.currentPath instanceof n))throw new Error("");return this.needToCallTraverse=!1,T(w,f.fromMethodsObject(I||this.visitor))},x.visit=function(w,I){if(!(this instanceof this.Context))throw new Error("");if(!(w instanceof n))throw new Error("");if(!(this.currentPath instanceof n))throw new Error("");return this.needToCallTraverse=!1,f.fromMethodsObject(I||this.visitor).visitWithoutReset(w)},x.reportChanged=function(){this.visitor.reportChanged()},x.abort=function(){this.needToCallTraverse=!1,this.visitor.abort()},f}Wh(()=>module);function gss(t){var e=t.use(o1),n=e.getFieldNames,s=e.getFieldValue,a=e.builtInTypes.array,l=e.builtInTypes.object,p=e.builtInTypes.Date,f=e.builtInTypes.RegExp,d=Object.prototype.hasOwnProperty;function g(P,w,I){return a.check(I)?I.length=0:I=null,T(P,w,I)}g.assert=function(P,w){var I=[];if(!g(P,w,I))if(I.length===0){if(P!==w)throw new Error("Nodes must be equal")}else throw new Error("Nodes differ in the following path: "+I.map(y).join(""))};function y(P){return/[_$a-z][_$a-z0-9]*/i.test(P)?"."+P:"["+JSON.stringify(P)+"]"}function T(P,w,I){return P===w?!0:a.check(P)?v(P,w,I):l.check(P)?x(P,w,I):p.check(P)?p.check(w)&&+P==+w:f.check(P)?f.check(w)&&P.source===w.source&&P.global===w.global&&P.multiline===w.multiline&&P.ignoreCase===w.ignoreCase:P==w}function v(P,w,I){a.assert(P);var B=P.length;if(!a.check(w)||w.length!==B)return I&&I.push("length"),!1;for(var M=0;M<B;++M){if(I&&I.push(M),M in P!=M in w||!T(P[M],w[M],I))return!1;if(I){var W=I.pop();if(W!==M)throw new Error(""+W)}}return!0}function x(P,w,I){if(l.assert(P),!l.check(w))return!1;if(P.type!==w.type)return I&&I.push("type"),!1;var B=n(P),M=B.length,W=n(w),Y=W.length;if(M===Y){for(var G=0;G<M;++G){var ne=B[G],ce=s(P,ne),pe=s(w,ne);if(I&&I.push(ne),!T(ce,pe,I))return!1;if(I){var De=I.pop();if(De!==ne)throw new Error(""+De)}}return!0}if(!I)return!1;var ke=Object.create(null);for(G=0;G<M;++G)ke[B[G]]=!0;for(G=0;G<Y;++G){if(ne=W[G],!d.call(ke,ne))return I.push(ne),!1;delete ke[ne]}for(ne in ke){I.push(ne);break}return!1}return g}Wh(()=>module);function yss(t){let e=bss(),n=e.use(o1);t.forEach(e.use),n.finalize();let s=e.use(hss);return{Type:n.Type,builtInTypes:n.builtInTypes,namedTypes:n.namedTypes,builders:n.builders,defineMethod:n.defineMethod,getFieldNames:n.getFieldNames,getFieldValue:n.getFieldValue,eachField:n.eachField,someField:n.someField,getSupertypeNames:n.getSupertypeNames,getBuilderName:n.getBuilderName,astNodesAreEquivalent:e.use(gss),finalize:n.finalize,Path:e.use(vVr),NodePath:e.use(TVr),PathVisitor:s,use:e.use,visit:s.visit}}function bss(){let t=[],e=[];function n(a){var l=t.indexOf(a);return l===-1&&(l=t.length,t.push(a),e[l]=a(s)),e[l]}var s={use:n};return s}Wh(()=>module);function SVr(){return{BinaryOperators:["==","!=","===","!==","<","<=",">",">=","<<",">>",">>>","+","-","*","/","%","&","|","^","in","instanceof"],AssignmentOperators:["=","+=","-=","*=","/=","%=","<<=",">>=",">>>=","|=","^=","&="],LogicalOperators:["||","&&"]}}Wh(()=>module);function xVr(t){let e=t.use(SVr);return e.BinaryOperators.indexOf("**")<0&&e.BinaryOperators.push("**"),e.AssignmentOperators.indexOf("**=")<0&&e.AssignmentOperators.push("**="),e}Wh(()=>module);function EVr(t){let e=t.use(xVr);return e.LogicalOperators.indexOf("??")<0&&e.LogicalOperators.push("??"),e}Wh(()=>module);function vss(t){let e=t.use(EVr);return e.LogicalOperators.forEach(n=>{let s=n+"=";e.AssignmentOperators.indexOf(s)<0&&e.AssignmentOperators.push(s)}),e}Wh(()=>module);function Tss(t){var e=t.use(o1),n=e.Type,s=n.def,a=n.or,l=t.use(Mw),p=l.defaults,f=l.geq;let{BinaryOperators:d,AssignmentOperators:g,LogicalOperators:y}=t.use(SVr);s("Printable").field("loc",a(s("SourceLocation"),null),p.null,!0),s("Node").bases("Printable").field("type",String).field("comments",a([s("Comment")],null),p.null,!0),s("SourceLocation").field("start",s("Position")).field("end",s("Position")).field("source",a(String,null),p.null),s("Position").field("line",f(1)).field("column",f(0)),s("File").bases("Node").build("program","name").field("program",s("Program")).field("name",a(String,null),p.null),s("Program").bases("Node").build("body").field("body",[s("Statement")]),s("Function").bases("Node").field("id",a(s("Identifier"),null),p.null).field("params",[s("Pattern")]).field("body",s("BlockStatement")).field("generator",Boolean,p.false).field("async",Boolean,p.false),s("Statement").bases("Node"),s("EmptyStatement").bases("Statement").build(),s("BlockStatement").bases("Statement").build("body").field("body",[s("Statement")]),s("ExpressionStatement").bases("Statement").build("expression").field("expression",s("Expression")),s("IfStatement").bases("Statement").build("test","consequent","alternate").field("test",s("Expression")).field("consequent",s("Statement")).field("alternate",a(s("Statement"),null),p.null),s("LabeledStatement").bases("Statement").build("label","body").field("label",s("Identifier")).field("body",s("Statement")),s("BreakStatement").bases("Statement").build("label").field("label",a(s("Identifier"),null),p.null),s("ContinueStatement").bases("Statement").build("label").field("label",a(s("Identifier"),null),p.null),s("WithStatement").bases("Statement").build("object","body").field("object",s("Expression")).field("body",s("Statement")),s("SwitchStatement").bases("Statement").build("discriminant","cases","lexical").field("discriminant",s("Expression")).field("cases",[s("SwitchCase")]).field("lexical",Boolean,p.false),s("ReturnStatement").bases("Statement").build("argument").field("argument",a(s("Expression"),null)),s("ThrowStatement").bases("Statement").build("argument").field("argument",s("Expression")),s("TryStatement").bases("Statement").build("block","handler","finalizer").field("block",s("BlockStatement")).field("handler",a(s("CatchClause"),null),function(){return this.handlers&&this.handlers[0]||null}).field("handlers",[s("CatchClause")],function(){return this.handler?[this.handler]:[]},!0).field("guardedHandlers",[s("CatchClause")],p.emptyArray).field("finalizer",a(s("BlockStatement"),null),p.null),s("CatchClause").bases("Node").build("param","guard","body").field("param",s("Pattern")).field("guard",a(s("Expression"),null),p.null).field("body",s("BlockStatement")),s("WhileStatement").bases("Statement").build("test","body").field("test",s("Expression")).field("body",s("Statement")),s("DoWhileStatement").bases("Statement").build("body","test").field("body",s("Statement")).field("test",s("Expression")),s("ForStatement").bases("Statement").build("init","test","update","body").field("init",a(s("VariableDeclaration"),s("Expression"),null)).field("test",a(s("Expression"),null)).field("update",a(s("Expression"),null)).field("body",s("Statement")),s("ForInStatement").bases("Statement").build("left","right","body").field("left",a(s("VariableDeclaration"),s("Expression"))).field("right",s("Expression")).field("body",s("Statement")),s("DebuggerStatement").bases("Statement").build(),s("Declaration").bases("Statement"),s("FunctionDeclaration").bases("Function","Declaration").build("id","params","body").field("id",s("Identifier")),s("FunctionExpression").bases("Function","Expression").build("id","params","body"),s("VariableDeclaration").bases("Declaration").build("kind","declarations").field("kind",a("var","let","const")).field("declarations",[s("VariableDeclarator")]),s("VariableDeclarator").bases("Node").build("id","init").field("id",s("Pattern")).field("init",a(s("Expression"),null),p.null),s("Expression").bases("Node"),s("ThisExpression").bases("Expression").build(),s("ArrayExpression").bases("Expression").build("elements").field("elements",[a(s("Expression"),null)]),s("ObjectExpression").bases("Expression").build("properties").field("properties",[s("Property")]),s("Property").bases("Node").build("kind","key","value").field("kind",a("init","get","set")).field("key",a(s("Literal"),s("Identifier"))).field("value",s("Expression")),s("SequenceExpression").bases("Expression").build("expressions").field("expressions",[s("Expression")]);var T=a("-","+","!","~","typeof","void","delete");s("UnaryExpression").bases("Expression").build("operator","argument","prefix").field("operator",T).field("argument",s("Expression")).field("prefix",Boolean,p.true);let v=a(...d);s("BinaryExpression").bases("Expression").build("operator","left","right").field("operator",v).field("left",s("Expression")).field("right",s("Expression"));let x=a(...g);s("AssignmentExpression").bases("Expression").build("operator","left","right").field("operator",x).field("left",a(s("Pattern"),s("MemberExpression"))).field("right",s("Expression"));var P=a("++","--");s("UpdateExpression").bases("Expression").build("operator","argument","prefix").field("operator",P).field("argument",s("Expression")).field("prefix",Boolean);var w=a(...y);s("LogicalExpression").bases("Expression").build("operator","left","right").field("operator",w).field("left",s("Expression")).field("right",s("Expression")),s("ConditionalExpression").bases("Expression").build("test","consequent","alternate").field("test",s("Expression")).field("consequent",s("Expression")).field("alternate",s("Expression")),s("NewExpression").bases("Expression").build("callee","arguments").field("callee",s("Expression")).field("arguments",[s("Expression")]),s("CallExpression").bases("Expression").build("callee","arguments").field("callee",s("Expression")).field("arguments",[s("Expression")]),s("MemberExpression").bases("Expression").build("object","property","computed").field("object",s("Expression")).field("property",a(s("Identifier"),s("Expression"))).field("computed",Boolean,function(){var I=this.property.type;return I==="Literal"||I==="MemberExpression"||I==="BinaryExpression"}),s("Pattern").bases("Node"),s("SwitchCase").bases("Node").build("test","consequent").field("test",a(s("Expression"),null)).field("consequent",[s("Statement")]),s("Identifier").bases("Expression","Pattern").build("name").field("name",String).field("optional",Boolean,p.false),s("Literal").bases("Expression").build("value").field("value",a(String,Boolean,null,Number,RegExp,BigInt)),s("Comment").bases("Printable").field("value",String).field("leading",Boolean,p.true).field("trailing",Boolean,p.false)}Wh(()=>module);function Sss(t){t.use(Tss);let e=t.use(o1),n=e.Type.def,s=e.Type.or,a=t.use(Mw).defaults;n("Function").field("generator",Boolean,a.false).field("expression",Boolean,a.false).field("defaults",[s(n("Expression"),null)],a.emptyArray).field("rest",s(n("Identifier"),null),a.null),n("RestElement").bases("Pattern").build("argument").field("argument",n("Pattern")).field("typeAnnotation",s(n("TypeAnnotation"),n("TSTypeAnnotation"),null),a.null),n("SpreadElementPattern").bases("Pattern").build("argument").field("argument",n("Pattern")),n("FunctionDeclaration").build("id","params","body","generator","expression").field("id",s(n("Identifier"),null)),n("FunctionExpression").build("id","params","body","generator","expression"),n("ArrowFunctionExpression").bases("Function","Expression").build("params","body","expression").field("id",null,a.null).field("body",s(n("BlockStatement"),n("Expression"))).field("generator",!1,a.false),n("ForOfStatement").bases("Statement").build("left","right","body").field("left",s(n("VariableDeclaration"),n("Pattern"))).field("right",n("Expression")).field("body",n("Statement")),n("YieldExpression").bases("Expression").build("argument","delegate").field("argument",s(n("Expression"),null)).field("delegate",Boolean,a.false),n("GeneratorExpression").bases("Expression").build("body","blocks","filter").field("body",n("Expression")).field("blocks",[n("ComprehensionBlock")]).field("filter",s(n("Expression"),null)),n("ComprehensionExpression").bases("Expression").build("body","blocks","filter").field("body",n("Expression")).field("blocks",[n("ComprehensionBlock")]).field("filter",s(n("Expression"),null)),n("ComprehensionBlock").bases("Node").build("left","right","each").field("left",n("Pattern")).field("right",n("Expression")).field("each",Boolean),n("Property").field("key",s(n("Literal"),n("Identifier"),n("Expression"))).field("value",s(n("Expression"),n("Pattern"))).field("method",Boolean,a.false).field("shorthand",Boolean,a.false).field("computed",Boolean,a.false),n("ObjectProperty").field("shorthand",Boolean,a.false),n("PropertyPattern").bases("Pattern").build("key","pattern").field("key",s(n("Literal"),n("Identifier"),n("Expression"))).field("pattern",n("Pattern")).field("computed",Boolean,a.false),n("ObjectPattern").bases("Pattern").build("properties").field("properties",[s(n("PropertyPattern"),n("Property"))]),n("ArrayPattern").bases("Pattern").build("elements").field("elements",[s(n("Pattern"),null)]),n("SpreadElement").bases("Node").build("argument").field("argument",n("Expression")),n("ArrayExpression").field("elements",[s(n("Expression"),n("SpreadElement"),n("RestElement"),null)]),n("NewExpression").field("arguments",[s(n("Expression"),n("SpreadElement"))]),n("CallExpression").field("arguments",[s(n("Expression"),n("SpreadElement"))]),n("AssignmentPattern").bases("Pattern").build("left","right").field("left",n("Pattern")).field("right",n("Expression")),n("MethodDefinition").bases("Declaration").build("kind","key","value","static").field("kind",s("constructor","method","get","set")).field("key",n("Expression")).field("value",n("Function")).field("computed",Boolean,a.false).field("static",Boolean,a.false);let l=s(n("MethodDefinition"),n("VariableDeclarator"),n("ClassPropertyDefinition"),n("ClassProperty"),n("StaticBlock"));n("ClassProperty").bases("Declaration").build("key").field("key",s(n("Literal"),n("Identifier"),n("Expression"))).field("computed",Boolean,a.false),n("ClassPropertyDefinition").bases("Declaration").build("definition").field("definition",l),n("ClassBody").bases("Declaration").build("body").field("body",[l]),n("ClassDeclaration").bases("Declaration").build("id","body","superClass").field("id",s(n("Identifier"),null)).field("body",n("ClassBody")).field("superClass",s(n("Expression"),null),a.null),n("ClassExpression").bases("Expression").build("id","body","superClass").field("id",s(n("Identifier"),null),a.null).field("body",n("ClassBody")).field("superClass",s(n("Expression"),null),a.null),n("Super").bases("Expression").build(),n("Specifier").bases("Node"),n("ModuleSpecifier").bases("Specifier").field("local",s(n("Identifier"),null),a.null).field("id",s(n("Identifier"),null),a.null).field("name",s(n("Identifier"),null),a.null),n("ImportSpecifier").bases("ModuleSpecifier").build("imported","local").field("imported",n("Identifier")),n("ImportDefaultSpecifier").bases("ModuleSpecifier").build("local"),n("ImportNamespaceSpecifier").bases("ModuleSpecifier").build("local"),n("ImportDeclaration").bases("Declaration").build("specifiers","source","importKind").field("specifiers",[s(n("ImportSpecifier"),n("ImportNamespaceSpecifier"),n("ImportDefaultSpecifier"))],a.emptyArray).field("source",n("Literal")).field("importKind",s("value","type"),function(){return"value"}),n("ExportNamedDeclaration").bases("Declaration").build("declaration","specifiers","source").field("declaration",s(n("Declaration"),null)).field("specifiers",[n("ExportSpecifier")],a.emptyArray).field("source",s(n("Literal"),null),a.null),n("ExportSpecifier").bases("ModuleSpecifier").build("local","exported").field("exported",n("Identifier")),n("ExportDefaultDeclaration").bases("Declaration").build("declaration").field("declaration",s(n("Declaration"),n("Expression"))),n("ExportAllDeclaration").bases("Declaration").build("source").field("source",n("Literal")),n("TaggedTemplateExpression").bases("Expression").build("tag","quasi").field("tag",n("Expression")).field("quasi",n("TemplateLiteral")),n("TemplateLiteral").bases("Expression").build("quasis","expressions").field("quasis",[n("TemplateElement")]).field("expressions",[n("Expression")]),n("TemplateElement").bases("Node").build("value","tail").field("value",{cooked:String,raw:String}).field("tail",Boolean),n("MetaProperty").bases("Expression").build("meta","property").field("meta",n("Identifier")).field("property",n("Identifier"))}Wh(()=>module);function xss(t){t.use(xVr),t.use(Sss)}Wh(()=>module);function Ess(t){t.use(xss);let n=t.use(o1).Type.def,s=t.use(Mw).defaults;n("Function").field("async",Boolean,s.false),n("AwaitExpression").bases("Expression").build("argument").field("argument",n("Expression"))}Wh(()=>module);function Css(t){t.use(Ess);let e=t.use(o1),n=e.Type.def,s=e.Type.or,a=t.use(Mw).defaults;n("ForOfStatement").field("await",Boolean,a.false),n("SpreadProperty").bases("Node").build("argument").field("argument",n("Expression")),n("ObjectExpression").field("properties",[s(n("Property"),n("SpreadProperty"),n("SpreadElement"))]),n("TemplateElement").field("value",{cooked:s(String,null),raw:String}),n("SpreadPropertyPattern").bases("Pattern").build("argument").field("argument",n("Pattern")),n("ObjectPattern").field("properties",[s(n("PropertyPattern"),n("Property"),n("RestElement"),n("SpreadPropertyPattern"))])}Wh(()=>module);function Ass(t){t.use(Css);let e=t.use(o1),n=e.Type.def,s=e.Type.or,a=t.use(Mw).defaults;n("CatchClause").field("param",s(n("Pattern"),null),a.null)}Wh(()=>module);function Pss(t){t.use(EVr),t.use(Ass);let e=t.use(o1),n=e.Type.def,s=e.Type.or,l=t.use(Mw).defaults;n("ImportExpression").bases("Expression").build("source").field("source",n("Expression")),n("ExportAllDeclaration").bases("Declaration").build("source","exported").field("source",n("Literal")).field("exported",s(n("Identifier"),null,void 0),l.null),n("ChainElement").bases("Node").field("optional",Boolean,l.false),n("CallExpression").bases("Expression","ChainElement"),n("MemberExpression").bases("Expression","ChainElement"),n("ChainExpression").bases("Expression").build("expression").field("expression",n("ChainElement")),n("OptionalCallExpression").bases("CallExpression").build("callee","arguments","optional").field("optional",Boolean,l.true),n("OptionalMemberExpression").bases("MemberExpression").build("object","property","computed","optional").field("optional",Boolean,l.true)}Wh(()=>module);function wss(t){t.use(vss),t.use(Pss)}Wh(()=>module);function Dss(t){t.use(wss);let n=t.use(o1).Type.def;n("StaticBlock").bases("Declaration").build("body").field("body",[n("Statement")])}Wh(()=>module);function aye(t){t.use(Dss);let e=t.use(o1),n=e.Type,s=e.Type.def,a=n.or,p=t.use(Mw).defaults;s("AwaitExpression").build("argument","all").field("argument",a(s("Expression"),null)).field("all",Boolean,p.false),s("Decorator").bases("Node").build("expression").field("expression",s("Expression")),s("Property").field("decorators",a([s("Decorator")],null),p.null),s("MethodDefinition").field("decorators",a([s("Decorator")],null),p.null),s("PrivateName").bases("Expression","Pattern").build("id").field("id",s("Identifier")),s("ClassPrivateProperty").bases("ClassProperty").build("key","value").field("key",s("PrivateName")).field("value",a(s("Expression"),null),p.null),s("ImportAttribute").bases("Node").build("key","value").field("key",a(s("Identifier"),s("Literal"))).field("value",s("Expression")),["ImportDeclaration","ExportAllDeclaration","ExportNamedDeclaration"].forEach(f=>{s(f).field("assertions",[s("ImportAttribute")],p.emptyArray)}),s("RecordExpression").bases("Expression").build("properties").field("properties",[a(s("ObjectProperty"),s("ObjectMethod"),s("SpreadElement"))]),s("TupleExpression").bases("Expression").build("elements").field("elements",[a(s("Expression"),s("SpreadElement"),null)]),s("ModuleExpression").bases("Node").build("body").field("body",s("Program"))}Wh(()=>module);function kss(t){t.use(aye);let e=t.use(o1),n=e.Type.def,s=e.Type.or,a=t.use(Mw).defaults;n("JSXAttribute").bases("Node").build("name","value").field("name",s(n("JSXIdentifier"),n("JSXNamespacedName"))).field("value",s(n("Literal"),n("JSXExpressionContainer"),n("JSXElement"),n("JSXFragment"),null),a.null),n("JSXIdentifier").bases("Identifier").build("name").field("name",String),n("JSXNamespacedName").bases("Node").build("namespace","name").field("namespace",n("JSXIdentifier")).field("name",n("JSXIdentifier")),n("JSXMemberExpression").bases("MemberExpression").build("object","property").field("object",s(n("JSXIdentifier"),n("JSXMemberExpression"))).field("property",n("JSXIdentifier")).field("computed",Boolean,a.false);let l=s(n("JSXIdentifier"),n("JSXNamespacedName"),n("JSXMemberExpression"));n("JSXSpreadAttribute").bases("Node").build("argument").field("argument",n("Expression"));let p=[s(n("JSXAttribute"),n("JSXSpreadAttribute"))];n("JSXExpressionContainer").bases("Expression").build("expression").field("expression",s(n("Expression"),n("JSXEmptyExpression")));let f=[s(n("JSXText"),n("JSXExpressionContainer"),n("JSXSpreadChild"),n("JSXElement"),n("JSXFragment"),n("Literal"))];n("JSXElement").bases("Expression").build("openingElement","closingElement","children").field("openingElement",n("JSXOpeningElement")).field("closingElement",s(n("JSXClosingElement"),null),a.null).field("children",f,a.emptyArray).field("name",l,function(){return this.openingElement.name},!0).field("selfClosing",Boolean,function(){return this.openingElement.selfClosing},!0).field("attributes",p,function(){return this.openingElement.attributes},!0),n("JSXOpeningElement").bases("Node").build("name","attributes","selfClosing").field("name",l).field("attributes",p,a.emptyArray).field("selfClosing",Boolean,a.false),n("JSXClosingElement").bases("Node").build("name").field("name",l),n("JSXFragment").bases("Expression").build("openingFragment","closingFragment","children").field("openingFragment",n("JSXOpeningFragment")).field("closingFragment",n("JSXClosingFragment")).field("children",f,a.emptyArray),n("JSXOpeningFragment").bases("Node").build(),n("JSXClosingFragment").bases("Node").build(),n("JSXText").bases("Literal").build("value","raw").field("value",String).field("raw",String,function(){return this.value}),n("JSXEmptyExpression").bases("Node").build(),n("JSXSpreadChild").bases("Node").build("expression").field("expression",n("Expression"))}Wh(()=>module);function CVr(t){var e=t.use(o1),n=e.Type.def,s=e.Type.or,a=t.use(Mw).defaults,l=s(n("TypeAnnotation"),n("TSTypeAnnotation"),null),p=s(n("TypeParameterDeclaration"),n("TSTypeParameterDeclaration"),null);n("Identifier").field("typeAnnotation",l,a.null),n("ObjectPattern").field("typeAnnotation",l,a.null),n("Function").field("returnType",l,a.null).field("typeParameters",p,a.null),n("ClassProperty").build("key","value","typeAnnotation","static").field("value",s(n("Expression"),null)).field("static",Boolean,a.false).field("typeAnnotation",l,a.null),["ClassDeclaration","ClassExpression"].forEach(f=>{n(f).field("typeParameters",p,a.null).field("superTypeParameters",s(n("TypeParameterInstantiation"),n("TSTypeParameterInstantiation"),null),a.null).field("implements",s([n("ClassImplements")],[n("TSExpressionWithTypeArguments")]),a.emptyArray)})}Wh(()=>module);function AVr(t){t.use(aye),t.use(CVr);let e=t.use(o1),n=e.Type.def,s=e.Type.or,a=t.use(Mw).defaults;n("Flow").bases("Node"),n("FlowType").bases("Flow"),n("AnyTypeAnnotation").bases("FlowType").build(),n("EmptyTypeAnnotation").bases("FlowType").build(),n("MixedTypeAnnotation").bases("FlowType").build(),n("VoidTypeAnnotation").bases("FlowType").build(),n("SymbolTypeAnnotation").bases("FlowType").build(),n("NumberTypeAnnotation").bases("FlowType").build(),n("BigIntTypeAnnotation").bases("FlowType").build(),n("NumberLiteralTypeAnnotation").bases("FlowType").build("value","raw").field("value",Number).field("raw",String),n("NumericLiteralTypeAnnotation").bases("FlowType").build("value","raw").field("value",Number).field("raw",String),n("BigIntLiteralTypeAnnotation").bases("FlowType").build("value","raw").field("value",null).field("raw",String),n("StringTypeAnnotation").bases("FlowType").build(),n("StringLiteralTypeAnnotation").bases("FlowType").build("value","raw").field("value",String).field("raw",String),n("BooleanTypeAnnotation").bases("FlowType").build(),n("BooleanLiteralTypeAnnotation").bases("FlowType").build("value","raw").field("value",Boolean).field("raw",String),n("TypeAnnotation").bases("Node").build("typeAnnotation").field("typeAnnotation",n("FlowType")),n("NullableTypeAnnotation").bases("FlowType").build("typeAnnotation").field("typeAnnotation",n("FlowType")),n("NullLiteralTypeAnnotation").bases("FlowType").build(),n("NullTypeAnnotation").bases("FlowType").build(),n("ThisTypeAnnotation").bases("FlowType").build(),n("ExistsTypeAnnotation").bases("FlowType").build(),n("ExistentialTypeParam").bases("FlowType").build(),n("FunctionTypeAnnotation").bases("FlowType").build("params","returnType","rest","typeParameters").field("params",[n("FunctionTypeParam")]).field("returnType",n("FlowType")).field("rest",s(n("FunctionTypeParam"),null)).field("typeParameters",s(n("TypeParameterDeclaration"),null)),n("FunctionTypeParam").bases("Node").build("name","typeAnnotation","optional").field("name",s(n("Identifier"),null)).field("typeAnnotation",n("FlowType")).field("optional",Boolean),n("ArrayTypeAnnotation").bases("FlowType").build("elementType").field("elementType",n("FlowType")),n("ObjectTypeAnnotation").bases("FlowType").build("properties","indexers","callProperties").field("properties",[s(n("ObjectTypeProperty"),n("ObjectTypeSpreadProperty"))]).field("indexers",[n("ObjectTypeIndexer")],a.emptyArray).field("callProperties",[n("ObjectTypeCallProperty")],a.emptyArray).field("inexact",s(Boolean,void 0),a.undefined).field("exact",Boolean,a.false).field("internalSlots",[n("ObjectTypeInternalSlot")],a.emptyArray),n("Variance").bases("Node").build("kind").field("kind",s("plus","minus"));let l=s(n("Variance"),"plus","minus",null);n("ObjectTypeProperty").bases("Node").build("key","value","optional").field("key",s(n("Literal"),n("Identifier"))).field("value",n("FlowType")).field("optional",Boolean).field("variance",l,a.null),n("ObjectTypeIndexer").bases("Node").build("id","key","value").field("id",n("Identifier")).field("key",n("FlowType")).field("value",n("FlowType")).field("variance",l,a.null).field("static",Boolean,a.false),n("ObjectTypeCallProperty").bases("Node").build("value").field("value",n("FunctionTypeAnnotation")).field("static",Boolean,a.false),n("QualifiedTypeIdentifier").bases("Node").build("qualification","id").field("qualification",s(n("Identifier"),n("QualifiedTypeIdentifier"))).field("id",n("Identifier")),n("GenericTypeAnnotation").bases("FlowType").build("id","typeParameters").field("id",s(n("Identifier"),n("QualifiedTypeIdentifier"))).field("typeParameters",s(n("TypeParameterInstantiation"),null)),n("MemberTypeAnnotation").bases("FlowType").build("object","property").field("object",n("Identifier")).field("property",s(n("MemberTypeAnnotation"),n("GenericTypeAnnotation"))),n("IndexedAccessType").bases("FlowType").build("objectType","indexType").field("objectType",n("FlowType")).field("indexType",n("FlowType")),n("OptionalIndexedAccessType").bases("FlowType").build("objectType","indexType","optional").field("objectType",n("FlowType")).field("indexType",n("FlowType")).field("optional",Boolean),n("UnionTypeAnnotation").bases("FlowType").build("types").field("types",[n("FlowType")]),n("IntersectionTypeAnnotation").bases("FlowType").build("types").field("types",[n("FlowType")]),n("TypeofTypeAnnotation").bases("FlowType").build("argument").field("argument",n("FlowType")),n("ObjectTypeSpreadProperty").bases("Node").build("argument").field("argument",n("FlowType")),n("ObjectTypeInternalSlot").bases("Node").build("id","value","optional","static","method").field("id",n("Identifier")).field("value",n("FlowType")).field("optional",Boolean).field("static",Boolean).field("method",Boolean),n("TypeParameterDeclaration").bases("Node").build("params").field("params",[n("TypeParameter")]),n("TypeParameterInstantiation").bases("Node").build("params").field("params",[n("FlowType")]),n("TypeParameter").bases("FlowType").build("name","variance","bound","default").field("name",String).field("variance",l,a.null).field("bound",s(n("TypeAnnotation"),null),a.null).field("default",s(n("FlowType"),null),a.null),n("ClassProperty").field("variance",l,a.null),n("ClassImplements").bases("Node").build("id").field("id",n("Identifier")).field("superClass",s(n("Expression"),null),a.null).field("typeParameters",s(n("TypeParameterInstantiation"),null),a.null),n("InterfaceTypeAnnotation").bases("FlowType").build("body","extends").field("body",n("ObjectTypeAnnotation")).field("extends",s([n("InterfaceExtends")],null),a.null),n("InterfaceDeclaration").bases("Declaration").build("id","body","extends").field("id",n("Identifier")).field("typeParameters",s(n("TypeParameterDeclaration"),null),a.null).field("body",n("ObjectTypeAnnotation")).field("extends",[n("InterfaceExtends")]),n("DeclareInterface").bases("InterfaceDeclaration").build("id","body","extends"),n("InterfaceExtends").bases("Node").build("id").field("id",n("Identifier")).field("typeParameters",s(n("TypeParameterInstantiation"),null),a.null),n("TypeAlias").bases("Declaration").build("id","typeParameters","right").field("id",n("Identifier")).field("typeParameters",s(n("TypeParameterDeclaration"),null)).field("right",n("FlowType")),n("DeclareTypeAlias").bases("TypeAlias").build("id","typeParameters","right"),n("OpaqueType").bases("Declaration").build("id","typeParameters","impltype","supertype").field("id",n("Identifier")).field("typeParameters",s(n("TypeParameterDeclaration"),null)).field("impltype",n("FlowType")).field("supertype",s(n("FlowType"),null)),n("DeclareOpaqueType").bases("OpaqueType").build("id","typeParameters","supertype").field("impltype",s(n("FlowType"),null)),n("TypeCastExpression").bases("Expression").build("expression","typeAnnotation").field("expression",n("Expression")).field("typeAnnotation",n("TypeAnnotation")),n("TupleTypeAnnotation").bases("FlowType").build("types").field("types",[n("FlowType")]),n("DeclareVariable").bases("Statement").build("id").field("id",n("Identifier")),n("DeclareFunction").bases("Statement").build("id").field("id",n("Identifier")).field("predicate",s(n("FlowPredicate"),null),a.null),n("DeclareClass").bases("InterfaceDeclaration").build("id"),n("DeclareModule").bases("Statement").build("id","body").field("id",s(n("Identifier"),n("Literal"))).field("body",n("BlockStatement")),n("DeclareModuleExports").bases("Statement").build("typeAnnotation").field("typeAnnotation",n("TypeAnnotation")),n("DeclareExportDeclaration").bases("Declaration").build("default","declaration","specifiers","source").field("default",Boolean).field("declaration",s(n("DeclareVariable"),n("DeclareFunction"),n("DeclareClass"),n("FlowType"),n("TypeAlias"),n("DeclareOpaqueType"),n("InterfaceDeclaration"),null)).field("specifiers",[s(n("ExportSpecifier"),n("ExportBatchSpecifier"))],a.emptyArray).field("source",s(n("Literal"),null),a.null),n("DeclareExportAllDeclaration").bases("Declaration").build("source").field("source",s(n("Literal"),null),a.null),n("ImportDeclaration").field("importKind",s("value","type","typeof"),()=>"value"),n("FlowPredicate").bases("Flow"),n("InferredPredicate").bases("FlowPredicate").build(),n("DeclaredPredicate").bases("FlowPredicate").build("value").field("value",n("Expression")),n("Function").field("predicate",s(n("FlowPredicate"),null),a.null),n("CallExpression").field("typeArguments",s(null,n("TypeParameterInstantiation")),a.null),n("NewExpression").field("typeArguments",s(null,n("TypeParameterInstantiation")),a.null),n("EnumDeclaration").bases("Declaration").build("id","body").field("id",n("Identifier")).field("body",s(n("EnumBooleanBody"),n("EnumNumberBody"),n("EnumStringBody"),n("EnumSymbolBody"))),n("EnumBooleanBody").build("members","explicitType").field("members",[n("EnumBooleanMember")]).field("explicitType",Boolean),n("EnumNumberBody").build("members","explicitType").field("members",[n("EnumNumberMember")]).field("explicitType",Boolean),n("EnumStringBody").build("members","explicitType").field("members",s([n("EnumStringMember")],[n("EnumDefaultedMember")])).field("explicitType",Boolean),n("EnumSymbolBody").build("members").field("members",[n("EnumDefaultedMember")]),n("EnumBooleanMember").build("id","init").field("id",n("Identifier")).field("init",s(n("Literal"),Boolean)),n("EnumNumberMember").build("id","init").field("id",n("Identifier")).field("init",n("Literal")),n("EnumStringMember").build("id","init").field("id",n("Identifier")).field("init",n("Literal")),n("EnumDefaultedMember").build("id").field("id",n("Identifier"))}Wh(()=>module);function Nss(t){t.use(aye);var e=t.use(o1),n=t.use(Mw).defaults,s=e.Type.def,a=e.Type.or;s("VariableDeclaration").field("declarations",[a(s("VariableDeclarator"),s("Identifier"))]),s("Property").field("value",a(s("Expression"),s("Pattern"))),s("ArrayPattern").field("elements",[a(s("Pattern"),s("SpreadElement"),null)]),s("ObjectPattern").field("properties",[a(s("Property"),s("PropertyPattern"),s("SpreadPropertyPattern"),s("SpreadProperty"))]),s("ExportSpecifier").bases("ModuleSpecifier").build("id","name"),s("ExportBatchSpecifier").bases("Specifier").build(),s("ExportDeclaration").bases("Declaration").build("default","declaration","specifiers","source").field("default",Boolean).field("declaration",a(s("Declaration"),s("Expression"),null)).field("specifiers",[a(s("ExportSpecifier"),s("ExportBatchSpecifier"))],n.emptyArray).field("source",a(s("Literal"),null),n.null),s("Block").bases("Comment").build("value","leading","trailing"),s("Line").bases("Comment").build("value","leading","trailing")}Wh(()=>module);function PVr(t){t.use(aye);let e=t.use(o1),n=t.use(Mw).defaults,s=e.Type.def,a=e.Type.or,{undefined:l}=e.builtInTypes;s("Noop").bases("Statement").build(),s("DoExpression").bases("Expression").build("body").field("body",[s("Statement")]),s("BindExpression").bases("Expression").build("object","callee").field("object",a(s("Expression"),null)).field("callee",s("Expression")),s("ParenthesizedExpression").bases("Expression").build("expression").field("expression",s("Expression")),s("ExportNamespaceSpecifier").bases("Specifier").build("exported").field("exported",s("Identifier")),s("ExportDefaultSpecifier").bases("Specifier").build("exported").field("exported",s("Identifier")),s("CommentBlock").bases("Comment").build("value","leading","trailing"),s("CommentLine").bases("Comment").build("value","leading","trailing"),s("Directive").bases("Node").build("value").field("value",s("DirectiveLiteral")),s("DirectiveLiteral").bases("Node","Expression").build("value").field("value",String,n["use strict"]),s("InterpreterDirective").bases("Node").build("value").field("value",String),s("BlockStatement").bases("Statement").build("body").field("body",[s("Statement")]).field("directives",[s("Directive")],n.emptyArray),s("Program").bases("Node").build("body").field("body",[s("Statement")]).field("directives",[s("Directive")],n.emptyArray).field("interpreter",a(s("InterpreterDirective"),null),n.null);function p(y=String,T){return["extra",{rawValue:y,raw:String},function(){let x=e.getFieldValue(this,"value");return{rawValue:x,raw:T?T(x):String(x)}}]}s("StringLiteral").bases("Literal").build("value").field("value",String).field(...p(String,y=>JSON.stringify(y))),s("NumericLiteral").bases("Literal").build("value").field("value",Number).field("raw",a(String,null),n.null).field(...p(Number)),s("BigIntLiteral").bases("Literal").build("value").field("value",a(String,Number)).field(...p(String,y=>y+"n")),s("DecimalLiteral").bases("Literal").build("value").field("value",String).field(...p(String,y=>y+"m")),s("NullLiteral").bases("Literal").build().field("value",null,n.null),s("BooleanLiteral").bases("Literal").build("value").field("value",Boolean),s("RegExpLiteral").bases("Literal").build("pattern","flags").field("pattern",String).field("flags",String).field("value",RegExp,function(){return new RegExp(this.pattern,this.flags)}).field(...p(a(RegExp,l),y=>`/${y.pattern}/${y.flags||""}`)).field("regex",{pattern:String,flags:String},function(){return{pattern:this.pattern,flags:this.flags}});var f=a(s("Property"),s("ObjectMethod"),s("ObjectProperty"),s("SpreadProperty"),s("SpreadElement"));s("ObjectExpression").bases("Expression").build("properties").field("properties",[f]),s("ObjectMethod").bases("Node","Function").build("kind","key","params","body","computed").field("kind",a("method","get","set")).field("key",a(s("Literal"),s("Identifier"),s("Expression"))).field("params",[s("Pattern")]).field("body",s("BlockStatement")).field("computed",Boolean,n.false).field("generator",Boolean,n.false).field("async",Boolean,n.false).field("accessibility",a(s("Literal"),null),n.null).field("decorators",a([s("Decorator")],null),n.null),s("ObjectProperty").bases("Node").build("key","value").field("key",a(s("Literal"),s("Identifier"),s("Expression"))).field("value",a(s("Expression"),s("Pattern"))).field("accessibility",a(s("Literal"),null),n.null).field("computed",Boolean,n.false);var d=a(s("MethodDefinition"),s("VariableDeclarator"),s("ClassPropertyDefinition"),s("ClassProperty"),s("ClassPrivateProperty"),s("ClassMethod"),s("ClassPrivateMethod"),s("ClassAccessorProperty"),s("StaticBlock"));s("ClassBody").bases("Declaration").build("body").field("body",[d]),s("ClassMethod").bases("Declaration","Function").build("kind","key","params","body","computed","static").field("key",a(s("Literal"),s("Identifier"),s("Expression"))),s("ClassPrivateMethod").bases("Declaration","Function").build("key","params","body","kind","computed","static").field("key",s("PrivateName")),s("ClassAccessorProperty").bases("Declaration").build("key","value","decorators","computed","static").field("key",a(s("Literal"),s("Identifier"),s("PrivateName"),s("Expression"))).field("value",a(s("Expression"),null),n.null),["ClassMethod","ClassPrivateMethod"].forEach(y=>{s(y).field("kind",a("get","set","method","constructor"),()=>"method").field("body",s("BlockStatement")).field("access",a("public","private","protected",null),n.null)}),["ClassMethod","ClassPrivateMethod","ClassAccessorProperty"].forEach(y=>{s(y).field("computed",Boolean,n.false).field("static",Boolean,n.false).field("abstract",Boolean,n.false).field("accessibility",a("public","private","protected",null),n.null).field("decorators",a([s("Decorator")],null),n.null).field("definite",Boolean,n.false).field("optional",Boolean,n.false).field("override",Boolean,n.false).field("readonly",Boolean,n.false)});var g=a(s("Property"),s("PropertyPattern"),s("SpreadPropertyPattern"),s("SpreadProperty"),s("ObjectProperty"),s("RestProperty"),s("RestElement"));s("ObjectPattern").bases("Pattern").build("properties").field("properties",[g]).field("decorators",a([s("Decorator")],null),n.null),s("SpreadProperty").bases("Node").build("argument").field("argument",s("Expression")),s("RestProperty").bases("Node").build("argument").field("argument",s("Expression")),s("ForAwaitStatement").bases("Statement").build("left","right","body").field("left",a(s("VariableDeclaration"),s("Expression"))).field("right",s("Expression")).field("body",s("Statement")),s("Import").bases("Expression").build()}Wh(()=>module);function Iss(t){let n=t.use(o1).Type.def;t.use(PVr),t.use(AVr),n("V8IntrinsicIdentifier").bases("Expression").build("name").field("name",String),n("TopicReference").bases("Expression").build()}Wh(()=>module);function Fss(t){t.use(PVr),t.use(CVr);var e=t.use(o1),n=e.namedTypes,s=e.Type.def,a=e.Type.or,l=t.use(Mw).defaults,p=e.Type.from(function(y,T){return!!(n.StringLiteral&&n.StringLiteral.check(y,T)||n.Literal&&n.Literal.check(y,T)&&typeof y.value=="string")},"StringLiteral");s("TSType").bases("Node");var f=a(s("Identifier"),s("TSQualifiedName"));s("TSTypeReference").bases("TSType","TSHasOptionalTypeParameterInstantiation").build("typeName","typeParameters").field("typeName",f),s("TSHasOptionalTypeParameterInstantiation").field("typeParameters",a(s("TSTypeParameterInstantiation"),null),l.null),s("TSHasOptionalTypeParameters").field("typeParameters",a(s("TSTypeParameterDeclaration"),null,void 0),l.null),s("TSHasOptionalTypeAnnotation").field("typeAnnotation",a(s("TSTypeAnnotation"),null),l.null),s("TSQualifiedName").bases("Node").build("left","right").field("left",f).field("right",f),s("TSAsExpression").bases("Expression","Pattern").build("expression","typeAnnotation").field("expression",s("Expression")).field("typeAnnotation",s("TSType")).field("extra",a({parenthesized:Boolean},null),l.null),s("TSTypeCastExpression").bases("Expression").build("expression","typeAnnotation").field("expression",s("Expression")).field("typeAnnotation",s("TSType")),s("TSSatisfiesExpression").bases("Expression","Pattern").build("expression","typeAnnotation").field("expression",s("Expression")).field("typeAnnotation",s("TSType")),s("TSNonNullExpression").bases("Expression","Pattern").build("expression").field("expression",s("Expression")),["TSAnyKeyword","TSBigIntKeyword","TSBooleanKeyword","TSNeverKeyword","TSNullKeyword","TSNumberKeyword","TSObjectKeyword","TSStringKeyword","TSSymbolKeyword","TSUndefinedKeyword","TSUnknownKeyword","TSVoidKeyword","TSIntrinsicKeyword","TSThisType"].forEach(y=>{s(y).bases("TSType").build()}),s("TSArrayType").bases("TSType").build("elementType").field("elementType",s("TSType")),s("TSLiteralType").bases("TSType").build("literal").field("literal",a(s("NumericLiteral"),s("StringLiteral"),s("BooleanLiteral"),s("TemplateLiteral"),s("UnaryExpression"),s("BigIntLiteral"))),s("TemplateLiteral").field("expressions",a([s("Expression")],[s("TSType")])),["TSUnionType","TSIntersectionType"].forEach(y=>{s(y).bases("TSType").build("types").field("types",[s("TSType")])}),s("TSConditionalType").bases("TSType").build("checkType","extendsType","trueType","falseType").field("checkType",s("TSType")).field("extendsType",s("TSType")).field("trueType",s("TSType")).field("falseType",s("TSType")),s("TSInferType").bases("TSType").build("typeParameter").field("typeParameter",s("TSTypeParameter")),s("TSParenthesizedType").bases("TSType").build("typeAnnotation").field("typeAnnotation",s("TSType"));var d=[a(s("Identifier"),s("RestElement"),s("ArrayPattern"),s("ObjectPattern"))];["TSFunctionType","TSConstructorType"].forEach(y=>{s(y).bases("TSType","TSHasOptionalTypeParameters","TSHasOptionalTypeAnnotation").build("parameters").field("parameters",d)}),s("TSDeclareFunction").bases("Declaration","TSHasOptionalTypeParameters").build("id","params","returnType").field("declare",Boolean,l.false).field("async",Boolean,l.false).field("generator",Boolean,l.false).field("id",a(s("Identifier"),null),l.null).field("params",[s("Pattern")]).field("returnType",a(s("TSTypeAnnotation"),s("Noop"),null),l.null),s("TSDeclareMethod").bases("Declaration","TSHasOptionalTypeParameters").build("key","params","returnType").field("async",Boolean,l.false).field("generator",Boolean,l.false).field("params",[s("Pattern")]).field("abstract",Boolean,l.false).field("accessibility",a("public","private","protected",void 0),l.undefined).field("static",Boolean,l.false).field("computed",Boolean,l.false).field("optional",Boolean,l.false).field("key",a(s("Identifier"),s("StringLiteral"),s("NumericLiteral"),s("Expression"))).field("kind",a("get","set","method","constructor"),function(){return"method"}).field("access",a("public","private","protected",void 0),l.undefined).field("decorators",a([s("Decorator")],null),l.null).field("returnType",a(s("TSTypeAnnotation"),s("Noop"),null),l.null),s("TSMappedType").bases("TSType").build("typeParameter","typeAnnotation").field("readonly",a(Boolean,"+","-"),l.false).field("typeParameter",s("TSTypeParameter")).field("optional",a(Boolean,"+","-"),l.false).field("typeAnnotation",a(s("TSType"),null),l.null),s("TSTupleType").bases("TSType").build("elementTypes").field("elementTypes",[a(s("TSType"),s("TSNamedTupleMember"))]),s("TSNamedTupleMember").bases("TSType").build("label","elementType","optional").field("label",s("Identifier")).field("optional",Boolean,l.false).field("elementType",s("TSType")),s("TSRestType").bases("TSType").build("typeAnnotation").field("typeAnnotation",s("TSType")),s("TSOptionalType").bases("TSType").build("typeAnnotation").field("typeAnnotation",s("TSType")),s("TSIndexedAccessType").bases("TSType").build("objectType","indexType").field("objectType",s("TSType")).field("indexType",s("TSType")),s("TSTypeOperator").bases("TSType").build("operator").field("operator",String).field("typeAnnotation",s("TSType")),s("TSTypeAnnotation").bases("Node").build("typeAnnotation").field("typeAnnotation",a(s("TSType"),s("TSTypeAnnotation"))),s("TSIndexSignature").bases("Declaration","TSHasOptionalTypeAnnotation").build("parameters","typeAnnotation").field("parameters",[s("Identifier")]).field("readonly",Boolean,l.false),s("TSPropertySignature").bases("Declaration","TSHasOptionalTypeAnnotation").build("key","typeAnnotation","optional").field("key",s("Expression")).field("computed",Boolean,l.false).field("readonly",Boolean,l.false).field("optional",Boolean,l.false).field("initializer",a(s("Expression"),null),l.null),s("TSMethodSignature").bases("Declaration","TSHasOptionalTypeParameters","TSHasOptionalTypeAnnotation").build("key","parameters","typeAnnotation").field("key",s("Expression")).field("computed",Boolean,l.false).field("optional",Boolean,l.false).field("parameters",d),s("TSTypePredicate").bases("TSTypeAnnotation","TSType").build("parameterName","typeAnnotation","asserts").field("parameterName",a(s("Identifier"),s("TSThisType"))).field("typeAnnotation",a(s("TSTypeAnnotation"),null),l.null).field("asserts",Boolean,l.false),["TSCallSignatureDeclaration","TSConstructSignatureDeclaration"].forEach(y=>{s(y).bases("Declaration","TSHasOptionalTypeParameters","TSHasOptionalTypeAnnotation").build("parameters","typeAnnotation").field("parameters",d)}),s("TSEnumMember").bases("Node").build("id","initializer").field("id",a(s("Identifier"),p)).field("initializer",a(s("Expression"),null),l.null),s("TSTypeQuery").bases("TSType").build("exprName").field("exprName",a(f,s("TSImportType")));var g=a(s("TSCallSignatureDeclaration"),s("TSConstructSignatureDeclaration"),s("TSIndexSignature"),s("TSMethodSignature"),s("TSPropertySignature"));s("TSTypeLiteral").bases("TSType").build("members").field("members",[g]),s("TSTypeParameter").bases("Identifier").build("name","constraint","default").field("name",a(s("Identifier"),String)).field("constraint",a(s("TSType"),void 0),l.undefined).field("default",a(s("TSType"),void 0),l.undefined),s("TSTypeAssertion").bases("Expression","Pattern").build("typeAnnotation","expression").field("typeAnnotation",s("TSType")).field("expression",s("Expression")).field("extra",a({parenthesized:Boolean},null),l.null),s("TSTypeParameterDeclaration").bases("Declaration").build("params").field("params",[s("TSTypeParameter")]),s("TSInstantiationExpression").bases("Expression","TSHasOptionalTypeParameterInstantiation").build("expression","typeParameters").field("expression",s("Expression")),s("TSTypeParameterInstantiation").bases("Node").build("params").field("params",[s("TSType")]),s("TSEnumDeclaration").bases("Declaration").build("id","members").field("id",s("Identifier")).field("const",Boolean,l.false).field("declare",Boolean,l.false).field("members",[s("TSEnumMember")]).field("initializer",a(s("Expression"),null),l.null),s("TSTypeAliasDeclaration").bases("Declaration","TSHasOptionalTypeParameters").build("id","typeAnnotation").field("id",s("Identifier")).field("declare",Boolean,l.false).field("typeAnnotation",s("TSType")),s("TSModuleBlock").bases("Node").build("body").field("body",[s("Statement")]),s("TSModuleDeclaration").bases("Declaration").build("id","body").field("id",a(p,f)).field("declare",Boolean,l.false).field("global",Boolean,l.false).field("body",a(s("TSModuleBlock"),s("TSModuleDeclaration"),null),l.null),s("TSImportType").bases("TSType","TSHasOptionalTypeParameterInstantiation").build("argument","qualifier","typeParameters").field("argument",p).field("qualifier",a(f,void 0),l.undefined),s("TSImportEqualsDeclaration").bases("Declaration").build("id","moduleReference").field("id",s("Identifier")).field("isExport",Boolean,l.false).field("moduleReference",a(f,s("TSExternalModuleReference"))),s("TSExternalModuleReference").bases("Declaration").build("expression").field("expression",p),s("TSExportAssignment").bases("Statement").build("expression").field("expression",s("Expression")),s("TSNamespaceExportDeclaration").bases("Declaration").build("id").field("id",s("Identifier")),s("TSInterfaceBody").bases("Node").build("body").field("body",[g]),s("TSExpressionWithTypeArguments").bases("TSType","TSHasOptionalTypeParameterInstantiation").build("expression","typeParameters").field("expression",f),s("TSInterfaceDeclaration").bases("Declaration","TSHasOptionalTypeParameters").build("id","body").field("id",f).field("declare",Boolean,l.false).field("extends",a([s("TSExpressionWithTypeArguments")],null),l.null).field("body",s("TSInterfaceBody")),s("TSParameterProperty").bases("Pattern").build("parameter").field("accessibility",a("public","private","protected",void 0),l.undefined).field("readonly",Boolean,l.false).field("parameter",a(s("Identifier"),s("AssignmentPattern"))),s("ClassProperty").field("access",a("public","private","protected",void 0),l.undefined),s("ClassAccessorProperty").bases("Declaration","TSHasOptionalTypeAnnotation"),s("ClassBody").field("body",[a(s("MethodDefinition"),s("VariableDeclarator"),s("ClassPropertyDefinition"),s("ClassProperty"),s("ClassPrivateProperty"),s("ClassAccessorProperty"),s("ClassMethod"),s("ClassPrivateMethod"),s("StaticBlock"),s("TSDeclareMethod"),g)])}Wh(()=>module);var d3;d3||(d3={});var{astNodesAreEquivalent:A8s,builders:Lie,builtInTypes:m3,defineMethod:P8s,eachField:w8s,finalize:D8s,getBuilderName:k8s,getFieldNames:Oss,getFieldValue:y9,getSupertypeNames:N8s,namedTypes:Lss,NodePath:Rss,Path:I8s,PathVisitor:F8s,someField:Mss,Type:O8s,use:L8s,visit:R8s}=yss([aye,kss,AVr,Nss,Iss,Fss]);Object.assign(d3,Lss);var hLe=d3,iVr=kLe.default.SourceMapConsumer,Bss=kLe.default.SourceMapGenerator,wVr=Object.prototype.hasOwnProperty;function jss(){return`
974
+ `+YUr(t,n)):a}}var abt=ks("fs"),tbt=ks("path"),mns=/^\uFEFF/;function rbt(t,e,n){var s=tbt.resolve(n?e:tbt.dirname(e),t),a=tbt.extname(t);return a||(s+=".sqrl"),s}function hns(t,e){var n,s,a=e.views,l=/^[A-Za-z]+:\\|^\//.exec(t);if(l&&l.length)n=rbt(t.replace(/^\/*/,""),e.root||"/",!0);else if(e.filename&&(s=rbt(t,e.filename),abt.existsSync(s)&&(n=s)),n||Array.isArray(a)&&a.some(function(p){return s=rbt(t,p,!0),abt.existsSync(s)})&&(n=s),!n)throw zT('Could not find the include file "'+t+'"');return n}function ZUr(t){return abt.readFileSync(t).toString().replace(mns,"")}function gns(t,e){var n=Z8e(e),s=ZUr(t);try{var a=cbt(s,n);return n.storage.templates.define(n.filename,a),a}catch{throw zT("Loading file: "+t+" failed")}}function yns(t){var e=t.filename;if(t.cache){var n=t.storage.templates.get(e);return n||gns(e,t)}return cbt(ZUr(e),t)}function eqr(t,e){var n=Z8e({filename:hns(t,e)},e);return yns(n)}function bns(t,e,n){if(e&&e.length>0)throw zT("Helper 'includeFile' doesn't accept blocks");return eqr(t.params[0],n)(t.params[1],n)}function vns(t,e,n){var s=t.params[1]||{};s.content=t.exec();for(var a=0;a<e.length;a++){var l=e[a];s[l.name]=l.exec()}return eqr(t.params[0],n)(s,n)}function nbt(t,e){var n;return e.cache&&e.name&&e.storage.templates.get(e.name)?e.storage.templates.get(e.name):(typeof t=="function"?n=t:n=cbt(t,e),e.cache&&e.name&&e.storage.templates.define(e.name,n),n)}function tqr(t,e,n,s){var a=Z8e(n||{});if(a.async){var l;if(s)try{nbt(t,a)(e,a,s)}catch(p){return s(p)}else{if(typeof WUr=="function")return new WUr(function(p,f){try{l=nbt(t,a)(e,a),p(l)}catch(d){f(d)}});throw zT("Please provide a callback function, this env doesn't support Promises")}}else return nbt(t,a)(e,a)}obt.define("includeFile",bns);obt.define("extendsFile",vns);var lbt=["/*{","}*/"];function rqr(t,e){return tqr(t,e,{tags:lbt})}function Tns(t,e){return{eslint:t.includes("BATI.has")||t.includes("BATI_TEST")||t.includes("/*# BATI ")||t.includes("@batijs/")||e.endsWith(".ts")||e.endsWith(".tsx"),squirelly:t.includes(lbt[0])}}async function Sns(t,e,n){let{eslint:s,squirelly:a}=Tns(t,n.filepath),l=t,p,f=!1;if(a&&(l=rqr(l,e),f=!0),s){let d=$Ur(l,n.filepath,e);l=d.code,p=d.context,f=!0}return{code:f?await xrt(l,n):l,context:p}}import{dirname as hps,join as gps}from"node:path";import{fileURLToPath as yps}from"node:url";import{promises as pss}from"node:fs";var kLe=e2(Sbt(),1),yVr=e2(svt(),1);function Mw(t){var e=t.use(o1),n=e.Type,s=e.builtInTypes,a=s.number;function l(g){return n.from(y=>a.check(y)&&y>=g,a+" >= "+g)}let p={null:function(){return null},emptyArray:function(){return[]},false:function(){return!1},true:function(){return!0},undefined:function(){},"use strict":function(){return"use strict"}};var f=n.or(s.string,s.number,s.boolean,s.null,s.undefined);let d=n.from(g=>{if(g===null)return!0;var y=typeof g;return!(y==="object"||y==="function")},f.toString());return{geq:l,defaults:p,isPrimitive:d}}function Wh(t){try{var e=t(),n=e.exports,s=n.default}catch{return}s&&s!==n&&typeof n=="object"&&(Object.assign(s,n,{default:s}),n.__esModule&&Object.defineProperty(s,"__esModule",{value:!0}),e.exports=s)}var fss=Object.defineProperty,_ss=(t,e,n)=>e in t?fss(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,B2=(t,e,n)=>(_ss(t,typeof e!="symbol"?e+"":e,n),n),bVr=Object.prototype,xLe=bVr.toString,mN=bVr.hasOwnProperty,iG=class{assert(e,n){if(!this.check(e,n)){var s=yvt(e);throw new Error(s+" does not match type "+this)}return!0}arrayOf(){let e=this;return new rye(e)}},rye=class extends iG{constructor(e){super(),this.elemType=e,B2(this,"kind","ArrayType")}toString(){return"["+this.elemType+"]"}check(e,n){return Array.isArray(e)&&e.every(s=>this.elemType.check(s,n))}},ELe=class extends iG{constructor(e){super(),this.value=e,B2(this,"kind","IdentityType")}toString(){return String(this.value)}check(e,n){let s=e===this.value;return!s&&typeof n=="function"&&n(this,e),s}},CLe=class extends iG{constructor(e){super(),this.fields=e,B2(this,"kind","ObjectType")}toString(){return"{ "+this.fields.join(", ")+" }"}check(e,n){return xLe.call(e)===xLe.call({})&&this.fields.every(s=>s.type.check(e[s.name],n))}},ALe=class extends iG{constructor(e){super(),this.types=e,B2(this,"kind","OrType")}toString(){return this.types.join(" | ")}check(e,n){return this.types.some(s=>s.check(e,!!n))?!0:(typeof n=="function"&&n(this,e),!1)}},nG=class extends iG{constructor(e,n){super(),this.name=e,this.predicate=n,B2(this,"kind","PredicateType")}toString(){return this.name}check(e,n){let s=this.predicate(e,n);return!s&&typeof n=="function"&&n(this,e),s}},eye=class t{constructor(e,n){this.type=e,this.typeName=n,B2(this,"baseNames",[]),B2(this,"ownFields",Object.create(null)),B2(this,"allSupertypes",Object.create(null)),B2(this,"supertypeList",[]),B2(this,"allFields",Object.create(null)),B2(this,"fieldNames",[]),B2(this,"finalized",!1),B2(this,"buildable",!1),B2(this,"buildParams",[])}isSupertypeOf(e){if(e instanceof t){if(this.finalized!==!0||e.finalized!==!0)throw new Error("");return mN.call(e.allSupertypes,this.typeName)}else throw new Error(e+" is not a Def")}checkAllFields(e,n){var s=this.allFields;if(this.finalized!==!0)throw new Error(""+this.typeName);function a(l){var p=s[l],f=p.type,d=p.getValue(e);return f.check(d,n)}return e!==null&&typeof e=="object"&&Object.keys(s).every(a)}bases(...e){var n=this.baseNames;if(this.finalized){if(e.length!==n.length)throw new Error("");for(var s=0;s<e.length;s++)if(e[s]!==n[s])throw new Error("");return this}return e.forEach(a=>{n.indexOf(a)<0&&n.push(a)}),this}},PLe=class{constructor(e,n,s,a){this.name=e,this.type=n,this.defaultFn=s,B2(this,"hidden"),this.hidden=!!a}toString(){return JSON.stringify(this.name)+": "+this.type}getValue(e){var n=e[this.name];return typeof n<"u"||typeof this.defaultFn=="function"&&(n=this.defaultFn.call(e)),n}};function yvt(t){return Array.isArray(t)?"["+t.map(yvt).join(", ")+"]":t&&typeof t=="object"?"{ "+Object.keys(t).map(function(e){return e+": "+t[e]}).join(", ")+" }":JSON.stringify(t)}function o1(t){let e={or(...ht){return new ALe(ht.map(Jr=>e.from(Jr)))},from(ht,Jr){if(ht instanceof rye||ht instanceof ELe||ht instanceof CLe||ht instanceof ALe||ht instanceof nG)return ht;if(ht instanceof eye)return ht.type;if(f.check(ht)){if(ht.length!==1)throw new Error("only one element type is permitted for typed arrays");return new rye(e.from(ht[0]))}if(d.check(ht))return new CLe(Object.keys(ht).map(ki=>new PLe(ki,e.from(ht[ki],ki))));if(typeof ht=="function"){var bn=n.indexOf(ht);if(bn>=0)return s[bn];if(typeof Jr!="string")throw new Error("missing name");return new nG(Jr,ht)}return new ELe(ht)},def(ht){return mN.call(B,ht)?B[ht]:B[ht]=new W(ht)},hasDef(ht){return mN.call(B,ht)}};var n=[],s=[];function a(ht,Jr){let bn=xLe.call(Jr),ki=new nG(ht,qn=>xLe.call(qn)===bn);return Jr&&typeof Jr.constructor=="function"&&(n.push(Jr.constructor),s.push(ki)),ki}let l=a("string","truthy"),p=a("function",function(){}),f=a("array",[]),d=a("object",{}),g=a("RegExp",/./),y=a("Date",new Date),T=a("number",3),v=a("boolean",!0),x=a("null",null),P=a("undefined",void 0),w=typeof BigInt=="function"?a("BigInt",BigInt(1234)):new nG("BigInt",()=>!1),I={string:l,function:p,array:f,object:d,RegExp:g,Date:y,number:T,boolean:v,null:x,undefined:P,BigInt:w};var B=Object.create(null);function M(ht){if(ht&&typeof ht=="object"){var Jr=ht.type;if(typeof Jr=="string"&&mN.call(B,Jr)){var bn=B[Jr];if(bn.finalized)return bn}}return null}class W extends eye{constructor(Jr){super(new nG(Jr,(bn,ki)=>this.check(bn,ki)),Jr)}check(Jr,bn){if(this.finalized!==!0)throw new Error("prematurely checking unfinalized type "+this.typeName);if(Jr===null||typeof Jr!="object")return!1;var ki=M(Jr);return ki?bn&&ki===this?this.checkAllFields(Jr,bn):this.isSupertypeOf(ki)?bn?ki.checkAllFields(Jr,bn)&&this.checkAllFields(Jr,!1):!0:!1:this.typeName==="SourceLocation"||this.typeName==="Position"?this.checkAllFields(Jr,bn):!1}build(...Jr){if(this.buildParams=Jr,this.buildable)return this;this.field("type",String,()=>this.typeName),this.buildable=!0;let bn=(qn,qa,mi,ri)=>{if(!mN.call(qn,qa)){var xi=this.allFields;if(!mN.call(xi,qa))throw new Error(""+qa);var gr=xi[qa],Os=gr.type,Oi;if(ri)Oi=mi;else if(gr.defaultFn)Oi=gr.defaultFn.call(qn);else{var pa="no value or default function given for field "+JSON.stringify(qa)+" of "+this.typeName+"("+this.buildParams.map(function(Vo){return xi[Vo]}).join(", ")+")";throw new Error(pa)}if(!Os.check(Oi))throw new Error(yvt(Oi)+" does not match field "+gr+" of type "+this.typeName);qn[qa]=Oi}},ki=(...qn)=>{var qa=qn.length;if(!this.finalized)throw new Error("attempting to instantiate unfinalized type "+this.typeName);var mi=Object.create(ce);if(this.buildParams.forEach(function(ri,xi){xi<qa?bn(mi,ri,qn[xi],!0):bn(mi,ri,null,!1)}),Object.keys(this.allFields).forEach(function(ri){bn(mi,ri,null,!1)}),mi.type!==this.typeName)throw new Error("");return mi};return ki.from=qn=>{if(!this.finalized)throw new Error("attempting to instantiate unfinalized type "+this.typeName);var qa=Object.create(ce);if(Object.keys(this.allFields).forEach(function(mi){mN.call(qn,mi)?bn(qa,mi,qn[mi],!0):bn(qa,mi,null,!1)}),qa.type!==this.typeName)throw new Error("");return qa},Object.defineProperty(ne,De(this.typeName),{enumerable:!0,value:ki}),this}field(Jr,bn,ki,qn){return this.finalized?(console.error("Ignoring attempt to redefine field "+JSON.stringify(Jr)+" of finalized type "+JSON.stringify(this.typeName)),this):(this.ownFields[Jr]=new PLe(Jr,e.from(bn),ki,qn),this)}finalize(){if(!this.finalized){var Jr=this.allFields,bn=this.allSupertypes;this.baseNames.forEach(qn=>{var qa=B[qn];if(qa instanceof eye)qa.finalize(),Ht(Jr,qa.allFields),Ht(bn,qa.allSupertypes);else{var mi="unknown supertype name "+JSON.stringify(qn)+" for subtype "+JSON.stringify(this.typeName);throw new Error(mi)}}),Ht(Jr,this.ownFields),bn[this.typeName]=this,this.fieldNames.length=0;for(var ki in Jr)mN.call(Jr,ki)&&!Jr[ki].hidden&&this.fieldNames.push(ki);Object.defineProperty(Be,this.typeName,{enumerable:!0,value:this.type}),this.finalized=!0,Ge(this.typeName,this.supertypeList),this.buildable&&this.supertypeList.lastIndexOf("Expression")>=0&&yt(this.typeName)}}}function Y(ht){if(!mN.call(B,ht))throw new Error("");var Jr=B[ht];if(Jr.finalized!==!0)throw new Error("");return Jr.supertypeList.slice(1)}function G(ht){for(var Jr={},bn=Object.keys(B),ki=bn.length,qn=0;qn<ki;++qn){var qa=bn[qn],mi=B[qa];if(mi.finalized!==!0)throw new Error(""+qa);for(var ri=0;ri<mi.supertypeList.length;++ri){var xi=mi.supertypeList[ri];if(mN.call(ht,xi)){Jr[qa]=xi;break}}}return Jr}var ne=Object.create(null),ce={};function pe(ht,Jr){var bn=ce[ht];return P.check(Jr)?delete ce[ht]:(p.assert(Jr),Object.defineProperty(ce,ht,{enumerable:!0,configurable:!0,value:Jr})),bn}function De(ht){return ht.replace(/^[A-Z]+/,function(Jr){var bn=Jr.length;switch(bn){case 0:return"";case 1:return Jr.toLowerCase();default:return Jr.slice(0,bn-1).toLowerCase()+Jr.charAt(bn-1)}})}function ke(ht){return ht=De(ht),ht.replace(/(Expression)?$/,"Statement")}var Be={};function $e(ht){var Jr=M(ht);if(Jr)return Jr.fieldNames.slice(0);if("type"in ht)throw new Error("did not recognize object of type "+JSON.stringify(ht.type));return Object.keys(ht)}function ze(ht,Jr){var bn=M(ht);if(bn){var ki=bn.allFields[Jr];if(ki)return ki.getValue(ht)}return ht&&ht[Jr]}function Le(ht,Jr,bn){$e(ht).forEach(function(ki){Jr.call(this,ki,ze(ht,ki))},bn)}function He(ht,Jr,bn){return $e(ht).some(function(ki){return Jr.call(this,ki,ze(ht,ki))},bn)}function yt(ht){var Jr=ke(ht);if(ne[Jr])return;var bn=ne[De(ht)];if(!bn)return;let ki=function(...qn){return ne.expressionStatement(bn.apply(ne,qn))};ki.from=function(...qn){return ne.expressionStatement(bn.from.apply(ne,qn))},ne[Jr]=ki}function Ge(ht,Jr){Jr.length=0,Jr.push(ht);for(var bn=Object.create(null),ki=0;ki<Jr.length;++ki){ht=Jr[ki];var qn=B[ht];if(qn.finalized!==!0)throw new Error("");mN.call(bn,ht)&&delete Jr[bn[ht]],bn[ht]=ki,Jr.push.apply(Jr,qn.baseNames)}for(var qa=0,mi=qa,ri=Jr.length;mi<ri;++mi)mN.call(Jr,mi)&&(Jr[qa++]=Jr[mi]);Jr.length=qa}function Ht(ht,Jr){return Object.keys(Jr).forEach(function(bn){ht[bn]=Jr[bn]}),ht}function Fr(){Object.keys(B).forEach(function(ht){B[ht].finalize()})}return{Type:e,builtInTypes:I,getSupertypeNames:Y,computeSupertypeLookupTable:G,builders:ne,defineMethod:pe,getBuilderName:De,getStatementBuilderName:ke,namedTypes:Be,getFieldNames:$e,getFieldValue:ze,eachField:Le,someField:He,finalize:Fr}}Wh(()=>module);var dss=Object.prototype,dLe=dss.hasOwnProperty;function vVr(t){var e=t.use(o1),n=e.builtInTypes.array,s=e.builtInTypes.number;let a=function T(v,x,P){if(!(this instanceof T))throw new Error("Path constructor cannot be invoked without 'new'");if(x){if(!(x instanceof T))throw new Error("")}else x=null,P=null;this.value=v,this.parentPath=x,this.name=P,this.__childCache=null};var l=a.prototype;function p(T){return T.__childCache||(T.__childCache=Object.create(null))}function f(T,v){var x=p(T),P=T.getValueProperty(v),w=x[v];return(!dLe.call(x,v)||w.value!==P)&&(w=x[v]=new T.constructor(P,T,v)),w}l.getValueProperty=function(v){return this.value[v]},l.get=function(...v){for(var x=this,P=v.length,w=0;w<P;++w)x=f(x,v[w]);return x},l.each=function(v,x){for(var P=[],w=this.value.length,I=0,I=0;I<w;++I)dLe.call(this.value,I)&&(P[I]=this.get(I));for(x=x||this,I=0;I<w;++I)dLe.call(P,I)&&v.call(x,P[I])},l.map=function(v,x){var P=[];return this.each(function(w){P.push(v.call(this,w))},x),P},l.filter=function(v,x){var P=[];return this.each(function(w){v.call(this,w)&&P.push(w)},x),P};function d(){}function g(T,v,x,P){if(n.assert(T.value),v===0)return d;var w=T.value.length;if(w<1)return d;var I=arguments.length;I===2?(x=0,P=w):I===3?(x=Math.max(x,0),P=w):(x=Math.max(x,0),P=Math.min(P,w)),s.assert(x),s.assert(P);for(var B=Object.create(null),M=p(T),W=x;W<P;++W)if(dLe.call(T.value,W)){var Y=T.get(W);if(Y.name!==W)throw new Error("");var G=W+v;Y.name=G,B[G]=Y,delete M[W]}return delete M.length,function(){for(var ne in B){var ce=B[ne];if(ce.name!==+ne)throw new Error("");M[ne]=ce,T.value[ne]=ce.value}}}l.shift=function(){var v=g(this,-1),x=this.value.shift();return v(),x},l.unshift=function(...v){var x=g(this,v.length),P=this.value.unshift.apply(this.value,v);return x(),P},l.push=function(...v){return n.assert(this.value),delete p(this).length,this.value.push.apply(this.value,v)},l.pop=function(){n.assert(this.value);var v=p(this);return delete v[this.value.length-1],delete v.length,this.value.pop()},l.insertAt=function(v){var x=arguments.length,P=g(this,x-1,v);if(P===d&&x<=1)return this;v=Math.max(v,0);for(var w=1;w<x;++w)this.value[v+w-1]=arguments[w];return P(),this},l.insertBefore=function(...v){for(var x=this.parentPath,P=v.length,w=[this.name],I=0;I<P;++I)w.push(v[I]);return x.insertAt.apply(x,w)},l.insertAfter=function(...v){for(var x=this.parentPath,P=v.length,w=[this.name+1],I=0;I<P;++I)w.push(v[I]);return x.insertAt.apply(x,w)};function y(T){if(!(T instanceof a))throw new Error("");var v=T.parentPath;if(!v)return T;var x=v.value,P=p(v);if(x[T.name]===T.value)P[T.name]=T;else if(n.check(x)){var w=x.indexOf(T.value);w>=0&&(P[T.name=w]=T)}else x[T.name]=T.value,P[T.name]=T;if(x[T.name]!==T.value)throw new Error("");if(T.parentPath.get(T.name)!==T)throw new Error("");return T}return l.replace=function(v){var x=[],P=this.parentPath.value,w=p(this.parentPath),I=arguments.length;if(y(this),n.check(P)){for(var B=P.length,M=g(this.parentPath,I-1,this.name+1),W=[this.name,1],Y=0;Y<I;++Y)W.push(arguments[Y]);var G=P.splice.apply(P,W);if(G[0]!==this.value)throw new Error("");if(P.length!==B-1+I)throw new Error("");if(M(),I===0)delete this.value,delete w[this.name],this.__childCache=null;else{if(P[this.name]!==v)throw new Error("");for(this.value!==v&&(this.value=v,this.__childCache=null),Y=0;Y<I;++Y)x.push(this.parentPath.get(this.name+Y));if(x[0]!==this)throw new Error("")}}else if(I===1)this.value!==v&&(this.__childCache=null),this.value=P[this.name]=v,x.push(this);else if(I===0)delete P[this.name],delete this.value,this.__childCache=null;else throw new Error("Could not replace path");return x},a}Wh(()=>module);var wie=Object.prototype.hasOwnProperty;function mss(t){var e=t.use(o1),n=e.Type,s=e.namedTypes,a=s.Node,l=s.Expression,p=e.builtInTypes.array,f=e.builders;let d=function Y(G,ne){if(!(this instanceof Y))throw new Error("Scope constructor cannot be invoked without 'new'");y.check(G.value)||g.assert(G.value);var ce;if(ne){if(!(ne instanceof Y))throw new Error("");ce=ne.depth+1}else ne=null,ce=0;Object.defineProperties(this,{path:{value:G},node:{value:G.value},isGlobal:{value:!ne,enumerable:!0},depth:{value:ce},parent:{value:ne},bindings:{value:{}},types:{value:{}}})};var g=n.or(s.Program,s.Function,s.CatchClause),y=n.or(s.Function,s.ClassDeclaration,s.ClassExpression,s.InterfaceDeclaration,s.TSInterfaceDeclaration,s.TypeAlias,s.TSTypeAliasDeclaration),T=n.or(s.TypeParameter,s.TSTypeParameter);d.isEstablishedBy=function(Y){return g.check(Y)||y.check(Y)};var v=d.prototype;v.didScan=!1,v.declares=function(Y){return this.scan(),wie.call(this.bindings,Y)},v.declaresType=function(Y){return this.scan(),wie.call(this.types,Y)},v.declareTemporary=function(Y){if(Y){if(!/^[a-z$_]/i.test(Y))throw new Error("")}else Y="t$";Y+=this.depth.toString(36)+"$",this.scan();for(var G=0;this.declares(Y+G);)++G;var ne=Y+G;return this.bindings[ne]=e.builders.identifier(ne)},v.injectTemporary=function(Y,G){Y||(Y=this.declareTemporary());var ne=this.path.get("body");return s.BlockStatement.check(ne.value)&&(ne=ne.get("body")),ne.unshift(f.variableDeclaration("var",[f.variableDeclarator(Y,G||null)])),Y},v.scan=function(Y){if(Y||!this.didScan){for(var G in this.bindings)delete this.bindings[G];for(var G in this.types)delete this.types[G];x(this.path,this.bindings,this.types),this.didScan=!0}},v.getBindings=function(){return this.scan(),this.bindings},v.getTypes=function(){return this.scan(),this.types};function x(Y,G,ne){var ce=Y.value;if(y.check(ce)){let pe=Y.get("typeParameters","params");p.check(pe.value)&&pe.each(De=>{W(De,ne)})}g.check(ce)&&(s.CatchClause.check(ce)?B(Y.get("param"),G):P(Y,G,ne))}function P(Y,G,ne){var ce=Y.value;Y.parent&&s.FunctionExpression.check(Y.parent.node)&&Y.parent.node.id&&B(Y.parent.get("id"),G),ce&&(p.check(ce)?Y.each(pe=>{I(pe,G,ne)}):s.Function.check(ce)?(Y.get("params").each(pe=>{B(pe,G)}),I(Y.get("body"),G,ne),P(Y.get("typeParameters"),G,ne)):s.TypeAlias&&s.TypeAlias.check(ce)||s.InterfaceDeclaration&&s.InterfaceDeclaration.check(ce)||s.TSTypeAliasDeclaration&&s.TSTypeAliasDeclaration.check(ce)||s.TSInterfaceDeclaration&&s.TSInterfaceDeclaration.check(ce)?M(Y.get("id"),ne):s.VariableDeclarator.check(ce)?(B(Y.get("id"),G),I(Y.get("init"),G,ne)):ce.type==="ImportSpecifier"||ce.type==="ImportNamespaceSpecifier"||ce.type==="ImportDefaultSpecifier"?B(Y.get(ce.local?"local":ce.name?"name":"id"),G):a.check(ce)&&!l.check(ce)&&e.eachField(ce,function(pe,De){var ke=Y.get(pe);if(!w(ke,De))throw new Error("");I(ke,G,ne)}))}function w(Y,G){return!!(Y.value===G||Array.isArray(Y.value)&&Y.value.length===0&&Array.isArray(G)&&G.length===0)}function I(Y,G,ne){var ce=Y.value;if(!(!ce||l.check(ce)))if(s.FunctionDeclaration.check(ce)&&ce.id!==null)B(Y.get("id"),G);else if(s.ClassDeclaration&&s.ClassDeclaration.check(ce)&&ce.id!==null)B(Y.get("id"),G),P(Y.get("typeParameters"),G,ne);else if(s.InterfaceDeclaration&&s.InterfaceDeclaration.check(ce)||s.TSInterfaceDeclaration&&s.TSInterfaceDeclaration.check(ce))M(Y.get("id"),ne);else if(g.check(ce)){if(s.CatchClause.check(ce)&&s.Identifier.check(ce.param)){var pe=ce.param.name,De=wie.call(G,pe);P(Y.get("body"),G,ne),De||delete G[pe]}}else P(Y,G,ne)}function B(Y,G){var ne=Y.value;s.Pattern.assert(ne),s.Identifier.check(ne)?wie.call(G,ne.name)?G[ne.name].push(Y):G[ne.name]=[Y]:s.AssignmentPattern&&s.AssignmentPattern.check(ne)?B(Y.get("left"),G):s.ObjectPattern&&s.ObjectPattern.check(ne)?Y.get("properties").each(function(ce){var pe=ce.value;s.Pattern.check(pe)?B(ce,G):s.Property.check(pe)||s.ObjectProperty&&s.ObjectProperty.check(pe)?B(ce.get("value"),G):s.SpreadProperty&&s.SpreadProperty.check(pe)&&B(ce.get("argument"),G)}):s.ArrayPattern&&s.ArrayPattern.check(ne)?Y.get("elements").each(function(ce){var pe=ce.value;s.Pattern.check(pe)?B(ce,G):s.SpreadElement&&s.SpreadElement.check(pe)&&B(ce.get("argument"),G)}):s.PropertyPattern&&s.PropertyPattern.check(ne)?B(Y.get("pattern"),G):(s.SpreadElementPattern&&s.SpreadElementPattern.check(ne)||s.RestElement&&s.RestElement.check(ne)||s.SpreadPropertyPattern&&s.SpreadPropertyPattern.check(ne))&&B(Y.get("argument"),G)}function M(Y,G){var ne=Y.value;s.Pattern.assert(ne),s.Identifier.check(ne)&&(wie.call(G,ne.name)?G[ne.name].push(Y):G[ne.name]=[Y])}function W(Y,G){var ne=Y.value;T.assert(ne),wie.call(G,ne.name)?G[ne.name].push(Y):G[ne.name]=[Y]}return v.lookup=function(Y){for(var G=this;G&&!G.declares(Y);G=G.parent);return G},v.lookupType=function(Y){for(var G=this;G&&!G.declaresType(Y);G=G.parent);return G},v.getGlobalScope=function(){for(var Y=this;!Y.isGlobal;)Y=Y.parent;return Y},d}Wh(()=>module);function TVr(t){var e=t.use(o1),n=e.namedTypes,s=e.builders,a=e.builtInTypes.number,l=e.builtInTypes.array,p=t.use(vVr),f=t.use(mss);let d=function I(B,M,W){if(!(this instanceof I))throw new Error("NodePath constructor cannot be invoked without 'new'");p.call(this,B,M,W)};var g=d.prototype=Object.create(p.prototype,{constructor:{value:d,enumerable:!1,writable:!0,configurable:!0}});Object.defineProperties(g,{node:{get:function(){return Object.defineProperty(this,"node",{configurable:!0,value:this._computeNode()}),this.node}},parent:{get:function(){return Object.defineProperty(this,"parent",{configurable:!0,value:this._computeParent()}),this.parent}},scope:{get:function(){return Object.defineProperty(this,"scope",{configurable:!0,value:this._computeScope()}),this.scope}}}),g.replace=function(){return delete this.node,delete this.parent,delete this.scope,p.prototype.replace.apply(this,arguments)},g.prune=function(){var I=this.parent;return this.replace(),P(I)},g._computeNode=function(){var I=this.value;if(n.Node.check(I))return I;var B=this.parentPath;return B&&B.node||null},g._computeParent=function(){var I=this.value,B=this.parentPath;if(!n.Node.check(I)){for(;B&&!n.Node.check(B.value);)B=B.parentPath;B&&(B=B.parentPath)}for(;B&&!n.Node.check(B.value);)B=B.parentPath;return B||null},g._computeScope=function(){var I=this.value,B=this.parentPath,M=B&&B.scope;return n.Node.check(I)&&f.isEstablishedBy(I)&&(M=new f(this,M)),M||null},g.getValueProperty=function(I){return e.getFieldValue(this.value,I)},g.needsParens=function(I){var B=this.parentPath;if(!B)return!1;var M=this.value;if(!n.Expression.check(M)||M.type==="Identifier")return!1;for(;!n.Node.check(B.value);)if(B=B.parentPath,!B)return!1;var W=B.value;switch(M.type){case"UnaryExpression":case"SpreadElement":case"SpreadProperty":return W.type==="MemberExpression"&&this.name==="object"&&W.object===M;case"BinaryExpression":case"LogicalExpression":switch(W.type){case"CallExpression":return this.name==="callee"&&W.callee===M;case"UnaryExpression":case"SpreadElement":case"SpreadProperty":return!0;case"MemberExpression":return this.name==="object"&&W.object===M;case"BinaryExpression":case"LogicalExpression":{let Y=M,G=W.operator,ne=T[G],ce=Y.operator,pe=T[ce];if(ne>pe)return!0;if(ne===pe&&this.name==="right"){if(W.right!==Y)throw new Error("Nodes must be equal");return!0}}default:return!1}case"SequenceExpression":switch(W.type){case"ForStatement":return!1;case"ExpressionStatement":return this.name!=="expression";default:return!0}case"YieldExpression":switch(W.type){case"BinaryExpression":case"LogicalExpression":case"UnaryExpression":case"SpreadElement":case"SpreadProperty":case"CallExpression":case"MemberExpression":case"NewExpression":case"ConditionalExpression":case"YieldExpression":return!0;default:return!1}case"Literal":return W.type==="MemberExpression"&&a.check(M.value)&&this.name==="object"&&W.object===M;case"AssignmentExpression":case"ConditionalExpression":switch(W.type){case"UnaryExpression":case"SpreadElement":case"SpreadProperty":case"BinaryExpression":case"LogicalExpression":return!0;case"CallExpression":return this.name==="callee"&&W.callee===M;case"ConditionalExpression":return this.name==="test"&&W.test===M;case"MemberExpression":return this.name==="object"&&W.object===M;default:return!1}default:if(W.type==="NewExpression"&&this.name==="callee"&&W.callee===M)return v(M)}return!!(I!==!0&&!this.canBeFirstInStatement()&&this.firstInStatement())};function y(I){return n.BinaryExpression.check(I)||n.LogicalExpression.check(I)}var T={};[["||"],["&&"],["|"],["^"],["&"],["==","===","!=","!=="],["<",">","<=",">=","in","instanceof"],[">>","<<",">>>"],["+","-"],["*","/","%"]].forEach(function(I,B){I.forEach(function(M){T[M]=B})});function v(I){return n.CallExpression.check(I)?!0:l.check(I)?I.some(v):n.Node.check(I)?e.someField(I,function(B,M){return v(M)}):!1}g.canBeFirstInStatement=function(){var I=this.node;return!n.FunctionExpression.check(I)&&!n.ObjectExpression.check(I)},g.firstInStatement=function(){return x(this)};function x(I){for(var B,M;I.parent;I=I.parent){if(B=I.node,M=I.parent.node,n.BlockStatement.check(M)&&I.parent.name==="body"&&I.name===0){if(M.body[0]!==B)throw new Error("Nodes must be equal");return!0}if(n.ExpressionStatement.check(M)&&I.name==="expression"){if(M.expression!==B)throw new Error("Nodes must be equal");return!0}if(n.SequenceExpression.check(M)&&I.parent.name==="expressions"&&I.name===0){if(M.expressions[0]!==B)throw new Error("Nodes must be equal");continue}if(n.CallExpression.check(M)&&I.name==="callee"){if(M.callee!==B)throw new Error("Nodes must be equal");continue}if(n.MemberExpression.check(M)&&I.name==="object"){if(M.object!==B)throw new Error("Nodes must be equal");continue}if(n.ConditionalExpression.check(M)&&I.name==="test"){if(M.test!==B)throw new Error("Nodes must be equal");continue}if(y(M)&&I.name==="left"){if(M.left!==B)throw new Error("Nodes must be equal");continue}if(n.UnaryExpression.check(M)&&!M.prefix&&I.name==="argument"){if(M.argument!==B)throw new Error("Nodes must be equal");continue}return!1}return!0}function P(I){if(n.VariableDeclaration.check(I.node)){var B=I.get("declarations").value;if(!B||B.length===0)return I.prune()}else if(n.ExpressionStatement.check(I.node)){if(!I.get("expression").value)return I.prune()}else n.IfStatement.check(I.node)&&w(I);return I}function w(I){var B=I.get("test").value,M=I.get("alternate").value,W=I.get("consequent").value;if(!W&&!M){var Y=s.expressionStatement(B);I.replace(Y)}else if(!W&&M){var G=s.unaryExpression("!",B,!0);n.UnaryExpression.check(B)&&B.operator==="!"&&(G=B.argument),I.get("test").replace(G),I.get("consequent").replace(M),I.get("alternate").replace()}}return d}Wh(()=>module);var mLe=Object.prototype.hasOwnProperty;function hss(t){var e=t.use(o1),n=t.use(TVr),s=e.builtInTypes.array,a=e.builtInTypes.object,l=e.builtInTypes.function,p;let f=function P(){if(!(this instanceof P))throw new Error("PathVisitor constructor cannot be invoked without 'new'");this._reusableContextStack=[],this._methodNameTable=d(this),this._shouldVisitComments=mLe.call(this._methodNameTable,"Block")||mLe.call(this._methodNameTable,"Line"),this.Context=v(this),this._visiting=!1,this._changeReported=!1};function d(P){var w=Object.create(null);for(var I in P)/^visit[A-Z]/.test(I)&&(w[I.slice(5)]=!0);for(var B=e.computeSupertypeLookupTable(w),M=Object.create(null),W=Object.keys(B),Y=W.length,G=0;G<Y;++G){var ne=W[G];I="visit"+B[ne],l.check(P[I])&&(M[ne]=I)}return M}f.fromMethodsObject=function(w){if(w instanceof f)return w;if(!a.check(w))return new f;let I=function M(){if(!(this instanceof M))throw new Error("Visitor constructor cannot be invoked without 'new'");f.call(this)};var B=I.prototype=Object.create(y);return B.constructor=I,g(B,w),g(I,f),l.assert(I.fromMethodsObject),l.assert(I.visit),new I};function g(P,w){for(var I in w)mLe.call(w,I)&&(P[I]=w[I]);return P}f.visit=function(w,I){return f.fromMethodsObject(I).visit(w)};var y=f.prototype;y.visit=function(){if(this._visiting)throw new Error("Recursively calling visitor.visit(path) resets visitor state. Try this.visit(path) or this.traverse(path) instead.");this._visiting=!0,this._changeReported=!1,this._abortRequested=!1;for(var P=arguments.length,w=new Array(P),I=0;I<P;++I)w[I]=arguments[I];w[0]instanceof n||(w[0]=new n({root:w[0]}).get("root")),this.reset.apply(this,w);var B;try{var M=this.visitWithoutReset(w[0]);B=!0}finally{if(this._visiting=!1,!B&&this._abortRequested)return w[0].value}return M},y.AbortRequest=function(){},y.abort=function(){var P=this;P._abortRequested=!0;var w=new P.AbortRequest;throw w.cancel=function(){P._abortRequested=!1},w},y.reset=function(P){},y.visitWithoutReset=function(P){if(this instanceof this.Context)return this.visitor.visitWithoutReset(P);if(!(P instanceof n))throw new Error("");var w=P.value,I=w&&typeof w=="object"&&typeof w.type=="string"&&this._methodNameTable[w.type];if(I){var B=this.acquireContext(P);try{return B.invokeVisitorMethod(I)}finally{this.releaseContext(B)}}else return T(P,this)};function T(P,w){if(!(P instanceof n))throw new Error("");if(!(w instanceof f))throw new Error("");var I=P.value;if(s.check(I))P.each(w.visitWithoutReset,w);else if(a.check(I)){var B=e.getFieldNames(I);w._shouldVisitComments&&I.comments&&B.indexOf("comments")<0&&B.push("comments");for(var M=B.length,W=[],Y=0;Y<M;++Y){var G=B[Y];mLe.call(I,G)||(I[G]=e.getFieldValue(I,G)),W.push(P.get(G))}for(var Y=0;Y<M;++Y)w.visitWithoutReset(W[Y])}return P.value}y.acquireContext=function(P){return this._reusableContextStack.length===0?new this.Context(P):this._reusableContextStack.pop().reset(P)},y.releaseContext=function(P){if(!(P instanceof this.Context))throw new Error("");this._reusableContextStack.push(P),P.currentPath=null},y.reportChanged=function(){this._changeReported=!0},y.wasChangeReported=function(){return this._changeReported};function v(P){function w(B){if(!(this instanceof w))throw new Error("");if(!(this instanceof f))throw new Error("");if(!(B instanceof n))throw new Error("");Object.defineProperty(this,"visitor",{value:P,writable:!1,enumerable:!0,configurable:!1}),this.currentPath=B,this.needToCallTraverse=!0,Object.seal(this)}if(!(P instanceof f))throw new Error("");var I=w.prototype=Object.create(P);return I.constructor=w,g(I,x),w}var x=Object.create(null);return x.reset=function(w){if(!(this instanceof this.Context))throw new Error("");if(!(w instanceof n))throw new Error("");return this.currentPath=w,this.needToCallTraverse=!0,this},x.invokeVisitorMethod=function(w){if(!(this instanceof this.Context))throw new Error("");if(!(this.currentPath instanceof n))throw new Error("");var I=this.visitor[w].call(this,this.currentPath);if(I===!1?this.needToCallTraverse=!1:I!==p&&(this.currentPath=this.currentPath.replace(I)[0],this.needToCallTraverse&&this.traverse(this.currentPath)),this.needToCallTraverse!==!1)throw new Error("Must either call this.traverse or return false in "+w);var B=this.currentPath;return B&&B.value},x.traverse=function(w,I){if(!(this instanceof this.Context))throw new Error("");if(!(w instanceof n))throw new Error("");if(!(this.currentPath instanceof n))throw new Error("");return this.needToCallTraverse=!1,T(w,f.fromMethodsObject(I||this.visitor))},x.visit=function(w,I){if(!(this instanceof this.Context))throw new Error("");if(!(w instanceof n))throw new Error("");if(!(this.currentPath instanceof n))throw new Error("");return this.needToCallTraverse=!1,f.fromMethodsObject(I||this.visitor).visitWithoutReset(w)},x.reportChanged=function(){this.visitor.reportChanged()},x.abort=function(){this.needToCallTraverse=!1,this.visitor.abort()},f}Wh(()=>module);function gss(t){var e=t.use(o1),n=e.getFieldNames,s=e.getFieldValue,a=e.builtInTypes.array,l=e.builtInTypes.object,p=e.builtInTypes.Date,f=e.builtInTypes.RegExp,d=Object.prototype.hasOwnProperty;function g(P,w,I){return a.check(I)?I.length=0:I=null,T(P,w,I)}g.assert=function(P,w){var I=[];if(!g(P,w,I))if(I.length===0){if(P!==w)throw new Error("Nodes must be equal")}else throw new Error("Nodes differ in the following path: "+I.map(y).join(""))};function y(P){return/[_$a-z][_$a-z0-9]*/i.test(P)?"."+P:"["+JSON.stringify(P)+"]"}function T(P,w,I){return P===w?!0:a.check(P)?v(P,w,I):l.check(P)?x(P,w,I):p.check(P)?p.check(w)&&+P==+w:f.check(P)?f.check(w)&&P.source===w.source&&P.global===w.global&&P.multiline===w.multiline&&P.ignoreCase===w.ignoreCase:P==w}function v(P,w,I){a.assert(P);var B=P.length;if(!a.check(w)||w.length!==B)return I&&I.push("length"),!1;for(var M=0;M<B;++M){if(I&&I.push(M),M in P!=M in w||!T(P[M],w[M],I))return!1;if(I){var W=I.pop();if(W!==M)throw new Error(""+W)}}return!0}function x(P,w,I){if(l.assert(P),!l.check(w))return!1;if(P.type!==w.type)return I&&I.push("type"),!1;var B=n(P),M=B.length,W=n(w),Y=W.length;if(M===Y){for(var G=0;G<M;++G){var ne=B[G],ce=s(P,ne),pe=s(w,ne);if(I&&I.push(ne),!T(ce,pe,I))return!1;if(I){var De=I.pop();if(De!==ne)throw new Error(""+De)}}return!0}if(!I)return!1;var ke=Object.create(null);for(G=0;G<M;++G)ke[B[G]]=!0;for(G=0;G<Y;++G){if(ne=W[G],!d.call(ke,ne))return I.push(ne),!1;delete ke[ne]}for(ne in ke){I.push(ne);break}return!1}return g}Wh(()=>module);function yss(t){let e=bss(),n=e.use(o1);t.forEach(e.use),n.finalize();let s=e.use(hss);return{Type:n.Type,builtInTypes:n.builtInTypes,namedTypes:n.namedTypes,builders:n.builders,defineMethod:n.defineMethod,getFieldNames:n.getFieldNames,getFieldValue:n.getFieldValue,eachField:n.eachField,someField:n.someField,getSupertypeNames:n.getSupertypeNames,getBuilderName:n.getBuilderName,astNodesAreEquivalent:e.use(gss),finalize:n.finalize,Path:e.use(vVr),NodePath:e.use(TVr),PathVisitor:s,use:e.use,visit:s.visit}}function bss(){let t=[],e=[];function n(a){var l=t.indexOf(a);return l===-1&&(l=t.length,t.push(a),e[l]=a(s)),e[l]}var s={use:n};return s}Wh(()=>module);function SVr(){return{BinaryOperators:["==","!=","===","!==","<","<=",">",">=","<<",">>",">>>","+","-","*","/","%","&","|","^","in","instanceof"],AssignmentOperators:["=","+=","-=","*=","/=","%=","<<=",">>=",">>>=","|=","^=","&="],LogicalOperators:["||","&&"]}}Wh(()=>module);function xVr(t){let e=t.use(SVr);return e.BinaryOperators.indexOf("**")<0&&e.BinaryOperators.push("**"),e.AssignmentOperators.indexOf("**=")<0&&e.AssignmentOperators.push("**="),e}Wh(()=>module);function EVr(t){let e=t.use(xVr);return e.LogicalOperators.indexOf("??")<0&&e.LogicalOperators.push("??"),e}Wh(()=>module);function vss(t){let e=t.use(EVr);return e.LogicalOperators.forEach(n=>{let s=n+"=";e.AssignmentOperators.indexOf(s)<0&&e.AssignmentOperators.push(s)}),e}Wh(()=>module);function Tss(t){var e=t.use(o1),n=e.Type,s=n.def,a=n.or,l=t.use(Mw),p=l.defaults,f=l.geq;let{BinaryOperators:d,AssignmentOperators:g,LogicalOperators:y}=t.use(SVr);s("Printable").field("loc",a(s("SourceLocation"),null),p.null,!0),s("Node").bases("Printable").field("type",String).field("comments",a([s("Comment")],null),p.null,!0),s("SourceLocation").field("start",s("Position")).field("end",s("Position")).field("source",a(String,null),p.null),s("Position").field("line",f(1)).field("column",f(0)),s("File").bases("Node").build("program","name").field("program",s("Program")).field("name",a(String,null),p.null),s("Program").bases("Node").build("body").field("body",[s("Statement")]),s("Function").bases("Node").field("id",a(s("Identifier"),null),p.null).field("params",[s("Pattern")]).field("body",s("BlockStatement")).field("generator",Boolean,p.false).field("async",Boolean,p.false),s("Statement").bases("Node"),s("EmptyStatement").bases("Statement").build(),s("BlockStatement").bases("Statement").build("body").field("body",[s("Statement")]),s("ExpressionStatement").bases("Statement").build("expression").field("expression",s("Expression")),s("IfStatement").bases("Statement").build("test","consequent","alternate").field("test",s("Expression")).field("consequent",s("Statement")).field("alternate",a(s("Statement"),null),p.null),s("LabeledStatement").bases("Statement").build("label","body").field("label",s("Identifier")).field("body",s("Statement")),s("BreakStatement").bases("Statement").build("label").field("label",a(s("Identifier"),null),p.null),s("ContinueStatement").bases("Statement").build("label").field("label",a(s("Identifier"),null),p.null),s("WithStatement").bases("Statement").build("object","body").field("object",s("Expression")).field("body",s("Statement")),s("SwitchStatement").bases("Statement").build("discriminant","cases","lexical").field("discriminant",s("Expression")).field("cases",[s("SwitchCase")]).field("lexical",Boolean,p.false),s("ReturnStatement").bases("Statement").build("argument").field("argument",a(s("Expression"),null)),s("ThrowStatement").bases("Statement").build("argument").field("argument",s("Expression")),s("TryStatement").bases("Statement").build("block","handler","finalizer").field("block",s("BlockStatement")).field("handler",a(s("CatchClause"),null),function(){return this.handlers&&this.handlers[0]||null}).field("handlers",[s("CatchClause")],function(){return this.handler?[this.handler]:[]},!0).field("guardedHandlers",[s("CatchClause")],p.emptyArray).field("finalizer",a(s("BlockStatement"),null),p.null),s("CatchClause").bases("Node").build("param","guard","body").field("param",s("Pattern")).field("guard",a(s("Expression"),null),p.null).field("body",s("BlockStatement")),s("WhileStatement").bases("Statement").build("test","body").field("test",s("Expression")).field("body",s("Statement")),s("DoWhileStatement").bases("Statement").build("body","test").field("body",s("Statement")).field("test",s("Expression")),s("ForStatement").bases("Statement").build("init","test","update","body").field("init",a(s("VariableDeclaration"),s("Expression"),null)).field("test",a(s("Expression"),null)).field("update",a(s("Expression"),null)).field("body",s("Statement")),s("ForInStatement").bases("Statement").build("left","right","body").field("left",a(s("VariableDeclaration"),s("Expression"))).field("right",s("Expression")).field("body",s("Statement")),s("DebuggerStatement").bases("Statement").build(),s("Declaration").bases("Statement"),s("FunctionDeclaration").bases("Function","Declaration").build("id","params","body").field("id",s("Identifier")),s("FunctionExpression").bases("Function","Expression").build("id","params","body"),s("VariableDeclaration").bases("Declaration").build("kind","declarations").field("kind",a("var","let","const")).field("declarations",[s("VariableDeclarator")]),s("VariableDeclarator").bases("Node").build("id","init").field("id",s("Pattern")).field("init",a(s("Expression"),null),p.null),s("Expression").bases("Node"),s("ThisExpression").bases("Expression").build(),s("ArrayExpression").bases("Expression").build("elements").field("elements",[a(s("Expression"),null)]),s("ObjectExpression").bases("Expression").build("properties").field("properties",[s("Property")]),s("Property").bases("Node").build("kind","key","value").field("kind",a("init","get","set")).field("key",a(s("Literal"),s("Identifier"))).field("value",s("Expression")),s("SequenceExpression").bases("Expression").build("expressions").field("expressions",[s("Expression")]);var T=a("-","+","!","~","typeof","void","delete");s("UnaryExpression").bases("Expression").build("operator","argument","prefix").field("operator",T).field("argument",s("Expression")).field("prefix",Boolean,p.true);let v=a(...d);s("BinaryExpression").bases("Expression").build("operator","left","right").field("operator",v).field("left",s("Expression")).field("right",s("Expression"));let x=a(...g);s("AssignmentExpression").bases("Expression").build("operator","left","right").field("operator",x).field("left",a(s("Pattern"),s("MemberExpression"))).field("right",s("Expression"));var P=a("++","--");s("UpdateExpression").bases("Expression").build("operator","argument","prefix").field("operator",P).field("argument",s("Expression")).field("prefix",Boolean);var w=a(...y);s("LogicalExpression").bases("Expression").build("operator","left","right").field("operator",w).field("left",s("Expression")).field("right",s("Expression")),s("ConditionalExpression").bases("Expression").build("test","consequent","alternate").field("test",s("Expression")).field("consequent",s("Expression")).field("alternate",s("Expression")),s("NewExpression").bases("Expression").build("callee","arguments").field("callee",s("Expression")).field("arguments",[s("Expression")]),s("CallExpression").bases("Expression").build("callee","arguments").field("callee",s("Expression")).field("arguments",[s("Expression")]),s("MemberExpression").bases("Expression").build("object","property","computed").field("object",s("Expression")).field("property",a(s("Identifier"),s("Expression"))).field("computed",Boolean,function(){var I=this.property.type;return I==="Literal"||I==="MemberExpression"||I==="BinaryExpression"}),s("Pattern").bases("Node"),s("SwitchCase").bases("Node").build("test","consequent").field("test",a(s("Expression"),null)).field("consequent",[s("Statement")]),s("Identifier").bases("Expression","Pattern").build("name").field("name",String).field("optional",Boolean,p.false),s("Literal").bases("Expression").build("value").field("value",a(String,Boolean,null,Number,RegExp,BigInt)),s("Comment").bases("Printable").field("value",String).field("leading",Boolean,p.true).field("trailing",Boolean,p.false)}Wh(()=>module);function Sss(t){t.use(Tss);let e=t.use(o1),n=e.Type.def,s=e.Type.or,a=t.use(Mw).defaults;n("Function").field("generator",Boolean,a.false).field("expression",Boolean,a.false).field("defaults",[s(n("Expression"),null)],a.emptyArray).field("rest",s(n("Identifier"),null),a.null),n("RestElement").bases("Pattern").build("argument").field("argument",n("Pattern")).field("typeAnnotation",s(n("TypeAnnotation"),n("TSTypeAnnotation"),null),a.null),n("SpreadElementPattern").bases("Pattern").build("argument").field("argument",n("Pattern")),n("FunctionDeclaration").build("id","params","body","generator","expression").field("id",s(n("Identifier"),null)),n("FunctionExpression").build("id","params","body","generator","expression"),n("ArrowFunctionExpression").bases("Function","Expression").build("params","body","expression").field("id",null,a.null).field("body",s(n("BlockStatement"),n("Expression"))).field("generator",!1,a.false),n("ForOfStatement").bases("Statement").build("left","right","body").field("left",s(n("VariableDeclaration"),n("Pattern"))).field("right",n("Expression")).field("body",n("Statement")),n("YieldExpression").bases("Expression").build("argument","delegate").field("argument",s(n("Expression"),null)).field("delegate",Boolean,a.false),n("GeneratorExpression").bases("Expression").build("body","blocks","filter").field("body",n("Expression")).field("blocks",[n("ComprehensionBlock")]).field("filter",s(n("Expression"),null)),n("ComprehensionExpression").bases("Expression").build("body","blocks","filter").field("body",n("Expression")).field("blocks",[n("ComprehensionBlock")]).field("filter",s(n("Expression"),null)),n("ComprehensionBlock").bases("Node").build("left","right","each").field("left",n("Pattern")).field("right",n("Expression")).field("each",Boolean),n("Property").field("key",s(n("Literal"),n("Identifier"),n("Expression"))).field("value",s(n("Expression"),n("Pattern"))).field("method",Boolean,a.false).field("shorthand",Boolean,a.false).field("computed",Boolean,a.false),n("ObjectProperty").field("shorthand",Boolean,a.false),n("PropertyPattern").bases("Pattern").build("key","pattern").field("key",s(n("Literal"),n("Identifier"),n("Expression"))).field("pattern",n("Pattern")).field("computed",Boolean,a.false),n("ObjectPattern").bases("Pattern").build("properties").field("properties",[s(n("PropertyPattern"),n("Property"))]),n("ArrayPattern").bases("Pattern").build("elements").field("elements",[s(n("Pattern"),null)]),n("SpreadElement").bases("Node").build("argument").field("argument",n("Expression")),n("ArrayExpression").field("elements",[s(n("Expression"),n("SpreadElement"),n("RestElement"),null)]),n("NewExpression").field("arguments",[s(n("Expression"),n("SpreadElement"))]),n("CallExpression").field("arguments",[s(n("Expression"),n("SpreadElement"))]),n("AssignmentPattern").bases("Pattern").build("left","right").field("left",n("Pattern")).field("right",n("Expression")),n("MethodDefinition").bases("Declaration").build("kind","key","value","static").field("kind",s("constructor","method","get","set")).field("key",n("Expression")).field("value",n("Function")).field("computed",Boolean,a.false).field("static",Boolean,a.false);let l=s(n("MethodDefinition"),n("VariableDeclarator"),n("ClassPropertyDefinition"),n("ClassProperty"),n("StaticBlock"));n("ClassProperty").bases("Declaration").build("key").field("key",s(n("Literal"),n("Identifier"),n("Expression"))).field("computed",Boolean,a.false),n("ClassPropertyDefinition").bases("Declaration").build("definition").field("definition",l),n("ClassBody").bases("Declaration").build("body").field("body",[l]),n("ClassDeclaration").bases("Declaration").build("id","body","superClass").field("id",s(n("Identifier"),null)).field("body",n("ClassBody")).field("superClass",s(n("Expression"),null),a.null),n("ClassExpression").bases("Expression").build("id","body","superClass").field("id",s(n("Identifier"),null),a.null).field("body",n("ClassBody")).field("superClass",s(n("Expression"),null),a.null),n("Super").bases("Expression").build(),n("Specifier").bases("Node"),n("ModuleSpecifier").bases("Specifier").field("local",s(n("Identifier"),null),a.null).field("id",s(n("Identifier"),null),a.null).field("name",s(n("Identifier"),null),a.null),n("ImportSpecifier").bases("ModuleSpecifier").build("imported","local").field("imported",n("Identifier")),n("ImportDefaultSpecifier").bases("ModuleSpecifier").build("local"),n("ImportNamespaceSpecifier").bases("ModuleSpecifier").build("local"),n("ImportDeclaration").bases("Declaration").build("specifiers","source","importKind").field("specifiers",[s(n("ImportSpecifier"),n("ImportNamespaceSpecifier"),n("ImportDefaultSpecifier"))],a.emptyArray).field("source",n("Literal")).field("importKind",s("value","type"),function(){return"value"}),n("ExportNamedDeclaration").bases("Declaration").build("declaration","specifiers","source").field("declaration",s(n("Declaration"),null)).field("specifiers",[n("ExportSpecifier")],a.emptyArray).field("source",s(n("Literal"),null),a.null),n("ExportSpecifier").bases("ModuleSpecifier").build("local","exported").field("exported",n("Identifier")),n("ExportDefaultDeclaration").bases("Declaration").build("declaration").field("declaration",s(n("Declaration"),n("Expression"))),n("ExportAllDeclaration").bases("Declaration").build("source").field("source",n("Literal")),n("TaggedTemplateExpression").bases("Expression").build("tag","quasi").field("tag",n("Expression")).field("quasi",n("TemplateLiteral")),n("TemplateLiteral").bases("Expression").build("quasis","expressions").field("quasis",[n("TemplateElement")]).field("expressions",[n("Expression")]),n("TemplateElement").bases("Node").build("value","tail").field("value",{cooked:String,raw:String}).field("tail",Boolean),n("MetaProperty").bases("Expression").build("meta","property").field("meta",n("Identifier")).field("property",n("Identifier"))}Wh(()=>module);function xss(t){t.use(xVr),t.use(Sss)}Wh(()=>module);function Ess(t){t.use(xss);let n=t.use(o1).Type.def,s=t.use(Mw).defaults;n("Function").field("async",Boolean,s.false),n("AwaitExpression").bases("Expression").build("argument").field("argument",n("Expression"))}Wh(()=>module);function Css(t){t.use(Ess);let e=t.use(o1),n=e.Type.def,s=e.Type.or,a=t.use(Mw).defaults;n("ForOfStatement").field("await",Boolean,a.false),n("SpreadProperty").bases("Node").build("argument").field("argument",n("Expression")),n("ObjectExpression").field("properties",[s(n("Property"),n("SpreadProperty"),n("SpreadElement"))]),n("TemplateElement").field("value",{cooked:s(String,null),raw:String}),n("SpreadPropertyPattern").bases("Pattern").build("argument").field("argument",n("Pattern")),n("ObjectPattern").field("properties",[s(n("PropertyPattern"),n("Property"),n("RestElement"),n("SpreadPropertyPattern"))])}Wh(()=>module);function Ass(t){t.use(Css);let e=t.use(o1),n=e.Type.def,s=e.Type.or,a=t.use(Mw).defaults;n("CatchClause").field("param",s(n("Pattern"),null),a.null)}Wh(()=>module);function Pss(t){t.use(EVr),t.use(Ass);let e=t.use(o1),n=e.Type.def,s=e.Type.or,l=t.use(Mw).defaults;n("ImportExpression").bases("Expression").build("source").field("source",n("Expression")),n("ExportAllDeclaration").bases("Declaration").build("source","exported").field("source",n("Literal")).field("exported",s(n("Identifier"),null,void 0),l.null),n("ChainElement").bases("Node").field("optional",Boolean,l.false),n("CallExpression").bases("Expression","ChainElement"),n("MemberExpression").bases("Expression","ChainElement"),n("ChainExpression").bases("Expression").build("expression").field("expression",n("ChainElement")),n("OptionalCallExpression").bases("CallExpression").build("callee","arguments","optional").field("optional",Boolean,l.true),n("OptionalMemberExpression").bases("MemberExpression").build("object","property","computed","optional").field("optional",Boolean,l.true)}Wh(()=>module);function wss(t){t.use(vss),t.use(Pss)}Wh(()=>module);function Dss(t){t.use(wss);let n=t.use(o1).Type.def;n("StaticBlock").bases("Declaration").build("body").field("body",[n("Statement")])}Wh(()=>module);function aye(t){t.use(Dss);let e=t.use(o1),n=e.Type,s=e.Type.def,a=n.or,p=t.use(Mw).defaults;s("AwaitExpression").build("argument","all").field("argument",a(s("Expression"),null)).field("all",Boolean,p.false),s("Decorator").bases("Node").build("expression").field("expression",s("Expression")),s("Property").field("decorators",a([s("Decorator")],null),p.null),s("MethodDefinition").field("decorators",a([s("Decorator")],null),p.null),s("PrivateName").bases("Expression","Pattern").build("id").field("id",s("Identifier")),s("ClassPrivateProperty").bases("ClassProperty").build("key","value").field("key",s("PrivateName")).field("value",a(s("Expression"),null),p.null),s("ImportAttribute").bases("Node").build("key","value").field("key",a(s("Identifier"),s("Literal"))).field("value",s("Expression")),["ImportDeclaration","ExportAllDeclaration","ExportNamedDeclaration"].forEach(f=>{s(f).field("assertions",[s("ImportAttribute")],p.emptyArray)}),s("RecordExpression").bases("Expression").build("properties").field("properties",[a(s("ObjectProperty"),s("ObjectMethod"),s("SpreadElement"))]),s("TupleExpression").bases("Expression").build("elements").field("elements",[a(s("Expression"),s("SpreadElement"),null)]),s("ModuleExpression").bases("Node").build("body").field("body",s("Program"))}Wh(()=>module);function kss(t){t.use(aye);let e=t.use(o1),n=e.Type.def,s=e.Type.or,a=t.use(Mw).defaults;n("JSXAttribute").bases("Node").build("name","value").field("name",s(n("JSXIdentifier"),n("JSXNamespacedName"))).field("value",s(n("Literal"),n("JSXExpressionContainer"),n("JSXElement"),n("JSXFragment"),null),a.null),n("JSXIdentifier").bases("Identifier").build("name").field("name",String),n("JSXNamespacedName").bases("Node").build("namespace","name").field("namespace",n("JSXIdentifier")).field("name",n("JSXIdentifier")),n("JSXMemberExpression").bases("MemberExpression").build("object","property").field("object",s(n("JSXIdentifier"),n("JSXMemberExpression"))).field("property",n("JSXIdentifier")).field("computed",Boolean,a.false);let l=s(n("JSXIdentifier"),n("JSXNamespacedName"),n("JSXMemberExpression"));n("JSXSpreadAttribute").bases("Node").build("argument").field("argument",n("Expression"));let p=[s(n("JSXAttribute"),n("JSXSpreadAttribute"))];n("JSXExpressionContainer").bases("Expression").build("expression").field("expression",s(n("Expression"),n("JSXEmptyExpression")));let f=[s(n("JSXText"),n("JSXExpressionContainer"),n("JSXSpreadChild"),n("JSXElement"),n("JSXFragment"),n("Literal"))];n("JSXElement").bases("Expression").build("openingElement","closingElement","children").field("openingElement",n("JSXOpeningElement")).field("closingElement",s(n("JSXClosingElement"),null),a.null).field("children",f,a.emptyArray).field("name",l,function(){return this.openingElement.name},!0).field("selfClosing",Boolean,function(){return this.openingElement.selfClosing},!0).field("attributes",p,function(){return this.openingElement.attributes},!0),n("JSXOpeningElement").bases("Node").build("name","attributes","selfClosing").field("name",l).field("attributes",p,a.emptyArray).field("selfClosing",Boolean,a.false),n("JSXClosingElement").bases("Node").build("name").field("name",l),n("JSXFragment").bases("Expression").build("openingFragment","closingFragment","children").field("openingFragment",n("JSXOpeningFragment")).field("closingFragment",n("JSXClosingFragment")).field("children",f,a.emptyArray),n("JSXOpeningFragment").bases("Node").build(),n("JSXClosingFragment").bases("Node").build(),n("JSXText").bases("Literal").build("value","raw").field("value",String).field("raw",String,function(){return this.value}),n("JSXEmptyExpression").bases("Node").build(),n("JSXSpreadChild").bases("Node").build("expression").field("expression",n("Expression"))}Wh(()=>module);function CVr(t){var e=t.use(o1),n=e.Type.def,s=e.Type.or,a=t.use(Mw).defaults,l=s(n("TypeAnnotation"),n("TSTypeAnnotation"),null),p=s(n("TypeParameterDeclaration"),n("TSTypeParameterDeclaration"),null);n("Identifier").field("typeAnnotation",l,a.null),n("ObjectPattern").field("typeAnnotation",l,a.null),n("Function").field("returnType",l,a.null).field("typeParameters",p,a.null),n("ClassProperty").build("key","value","typeAnnotation","static").field("value",s(n("Expression"),null)).field("static",Boolean,a.false).field("typeAnnotation",l,a.null),["ClassDeclaration","ClassExpression"].forEach(f=>{n(f).field("typeParameters",p,a.null).field("superTypeParameters",s(n("TypeParameterInstantiation"),n("TSTypeParameterInstantiation"),null),a.null).field("implements",s([n("ClassImplements")],[n("TSExpressionWithTypeArguments")]),a.emptyArray)})}Wh(()=>module);function AVr(t){t.use(aye),t.use(CVr);let e=t.use(o1),n=e.Type.def,s=e.Type.or,a=t.use(Mw).defaults;n("Flow").bases("Node"),n("FlowType").bases("Flow"),n("AnyTypeAnnotation").bases("FlowType").build(),n("EmptyTypeAnnotation").bases("FlowType").build(),n("MixedTypeAnnotation").bases("FlowType").build(),n("VoidTypeAnnotation").bases("FlowType").build(),n("SymbolTypeAnnotation").bases("FlowType").build(),n("NumberTypeAnnotation").bases("FlowType").build(),n("BigIntTypeAnnotation").bases("FlowType").build(),n("NumberLiteralTypeAnnotation").bases("FlowType").build("value","raw").field("value",Number).field("raw",String),n("NumericLiteralTypeAnnotation").bases("FlowType").build("value","raw").field("value",Number).field("raw",String),n("BigIntLiteralTypeAnnotation").bases("FlowType").build("value","raw").field("value",null).field("raw",String),n("StringTypeAnnotation").bases("FlowType").build(),n("StringLiteralTypeAnnotation").bases("FlowType").build("value","raw").field("value",String).field("raw",String),n("BooleanTypeAnnotation").bases("FlowType").build(),n("BooleanLiteralTypeAnnotation").bases("FlowType").build("value","raw").field("value",Boolean).field("raw",String),n("TypeAnnotation").bases("Node").build("typeAnnotation").field("typeAnnotation",n("FlowType")),n("NullableTypeAnnotation").bases("FlowType").build("typeAnnotation").field("typeAnnotation",n("FlowType")),n("NullLiteralTypeAnnotation").bases("FlowType").build(),n("NullTypeAnnotation").bases("FlowType").build(),n("ThisTypeAnnotation").bases("FlowType").build(),n("ExistsTypeAnnotation").bases("FlowType").build(),n("ExistentialTypeParam").bases("FlowType").build(),n("FunctionTypeAnnotation").bases("FlowType").build("params","returnType","rest","typeParameters").field("params",[n("FunctionTypeParam")]).field("returnType",n("FlowType")).field("rest",s(n("FunctionTypeParam"),null)).field("typeParameters",s(n("TypeParameterDeclaration"),null)),n("FunctionTypeParam").bases("Node").build("name","typeAnnotation","optional").field("name",s(n("Identifier"),null)).field("typeAnnotation",n("FlowType")).field("optional",Boolean),n("ArrayTypeAnnotation").bases("FlowType").build("elementType").field("elementType",n("FlowType")),n("ObjectTypeAnnotation").bases("FlowType").build("properties","indexers","callProperties").field("properties",[s(n("ObjectTypeProperty"),n("ObjectTypeSpreadProperty"))]).field("indexers",[n("ObjectTypeIndexer")],a.emptyArray).field("callProperties",[n("ObjectTypeCallProperty")],a.emptyArray).field("inexact",s(Boolean,void 0),a.undefined).field("exact",Boolean,a.false).field("internalSlots",[n("ObjectTypeInternalSlot")],a.emptyArray),n("Variance").bases("Node").build("kind").field("kind",s("plus","minus"));let l=s(n("Variance"),"plus","minus",null);n("ObjectTypeProperty").bases("Node").build("key","value","optional").field("key",s(n("Literal"),n("Identifier"))).field("value",n("FlowType")).field("optional",Boolean).field("variance",l,a.null),n("ObjectTypeIndexer").bases("Node").build("id","key","value").field("id",n("Identifier")).field("key",n("FlowType")).field("value",n("FlowType")).field("variance",l,a.null).field("static",Boolean,a.false),n("ObjectTypeCallProperty").bases("Node").build("value").field("value",n("FunctionTypeAnnotation")).field("static",Boolean,a.false),n("QualifiedTypeIdentifier").bases("Node").build("qualification","id").field("qualification",s(n("Identifier"),n("QualifiedTypeIdentifier"))).field("id",n("Identifier")),n("GenericTypeAnnotation").bases("FlowType").build("id","typeParameters").field("id",s(n("Identifier"),n("QualifiedTypeIdentifier"))).field("typeParameters",s(n("TypeParameterInstantiation"),null)),n("MemberTypeAnnotation").bases("FlowType").build("object","property").field("object",n("Identifier")).field("property",s(n("MemberTypeAnnotation"),n("GenericTypeAnnotation"))),n("IndexedAccessType").bases("FlowType").build("objectType","indexType").field("objectType",n("FlowType")).field("indexType",n("FlowType")),n("OptionalIndexedAccessType").bases("FlowType").build("objectType","indexType","optional").field("objectType",n("FlowType")).field("indexType",n("FlowType")).field("optional",Boolean),n("UnionTypeAnnotation").bases("FlowType").build("types").field("types",[n("FlowType")]),n("IntersectionTypeAnnotation").bases("FlowType").build("types").field("types",[n("FlowType")]),n("TypeofTypeAnnotation").bases("FlowType").build("argument").field("argument",n("FlowType")),n("ObjectTypeSpreadProperty").bases("Node").build("argument").field("argument",n("FlowType")),n("ObjectTypeInternalSlot").bases("Node").build("id","value","optional","static","method").field("id",n("Identifier")).field("value",n("FlowType")).field("optional",Boolean).field("static",Boolean).field("method",Boolean),n("TypeParameterDeclaration").bases("Node").build("params").field("params",[n("TypeParameter")]),n("TypeParameterInstantiation").bases("Node").build("params").field("params",[n("FlowType")]),n("TypeParameter").bases("FlowType").build("name","variance","bound","default").field("name",String).field("variance",l,a.null).field("bound",s(n("TypeAnnotation"),null),a.null).field("default",s(n("FlowType"),null),a.null),n("ClassProperty").field("variance",l,a.null),n("ClassImplements").bases("Node").build("id").field("id",n("Identifier")).field("superClass",s(n("Expression"),null),a.null).field("typeParameters",s(n("TypeParameterInstantiation"),null),a.null),n("InterfaceTypeAnnotation").bases("FlowType").build("body","extends").field("body",n("ObjectTypeAnnotation")).field("extends",s([n("InterfaceExtends")],null),a.null),n("InterfaceDeclaration").bases("Declaration").build("id","body","extends").field("id",n("Identifier")).field("typeParameters",s(n("TypeParameterDeclaration"),null),a.null).field("body",n("ObjectTypeAnnotation")).field("extends",[n("InterfaceExtends")]),n("DeclareInterface").bases("InterfaceDeclaration").build("id","body","extends"),n("InterfaceExtends").bases("Node").build("id").field("id",n("Identifier")).field("typeParameters",s(n("TypeParameterInstantiation"),null),a.null),n("TypeAlias").bases("Declaration").build("id","typeParameters","right").field("id",n("Identifier")).field("typeParameters",s(n("TypeParameterDeclaration"),null)).field("right",n("FlowType")),n("DeclareTypeAlias").bases("TypeAlias").build("id","typeParameters","right"),n("OpaqueType").bases("Declaration").build("id","typeParameters","impltype","supertype").field("id",n("Identifier")).field("typeParameters",s(n("TypeParameterDeclaration"),null)).field("impltype",n("FlowType")).field("supertype",s(n("FlowType"),null)),n("DeclareOpaqueType").bases("OpaqueType").build("id","typeParameters","supertype").field("impltype",s(n("FlowType"),null)),n("TypeCastExpression").bases("Expression").build("expression","typeAnnotation").field("expression",n("Expression")).field("typeAnnotation",n("TypeAnnotation")),n("TupleTypeAnnotation").bases("FlowType").build("types").field("types",[n("FlowType")]),n("DeclareVariable").bases("Statement").build("id").field("id",n("Identifier")),n("DeclareFunction").bases("Statement").build("id").field("id",n("Identifier")).field("predicate",s(n("FlowPredicate"),null),a.null),n("DeclareClass").bases("InterfaceDeclaration").build("id"),n("DeclareModule").bases("Statement").build("id","body").field("id",s(n("Identifier"),n("Literal"))).field("body",n("BlockStatement")),n("DeclareModuleExports").bases("Statement").build("typeAnnotation").field("typeAnnotation",n("TypeAnnotation")),n("DeclareExportDeclaration").bases("Declaration").build("default","declaration","specifiers","source").field("default",Boolean).field("declaration",s(n("DeclareVariable"),n("DeclareFunction"),n("DeclareClass"),n("FlowType"),n("TypeAlias"),n("DeclareOpaqueType"),n("InterfaceDeclaration"),null)).field("specifiers",[s(n("ExportSpecifier"),n("ExportBatchSpecifier"))],a.emptyArray).field("source",s(n("Literal"),null),a.null),n("DeclareExportAllDeclaration").bases("Declaration").build("source").field("source",s(n("Literal"),null),a.null),n("ImportDeclaration").field("importKind",s("value","type","typeof"),()=>"value"),n("FlowPredicate").bases("Flow"),n("InferredPredicate").bases("FlowPredicate").build(),n("DeclaredPredicate").bases("FlowPredicate").build("value").field("value",n("Expression")),n("Function").field("predicate",s(n("FlowPredicate"),null),a.null),n("CallExpression").field("typeArguments",s(null,n("TypeParameterInstantiation")),a.null),n("NewExpression").field("typeArguments",s(null,n("TypeParameterInstantiation")),a.null),n("EnumDeclaration").bases("Declaration").build("id","body").field("id",n("Identifier")).field("body",s(n("EnumBooleanBody"),n("EnumNumberBody"),n("EnumStringBody"),n("EnumSymbolBody"))),n("EnumBooleanBody").build("members","explicitType").field("members",[n("EnumBooleanMember")]).field("explicitType",Boolean),n("EnumNumberBody").build("members","explicitType").field("members",[n("EnumNumberMember")]).field("explicitType",Boolean),n("EnumStringBody").build("members","explicitType").field("members",s([n("EnumStringMember")],[n("EnumDefaultedMember")])).field("explicitType",Boolean),n("EnumSymbolBody").build("members").field("members",[n("EnumDefaultedMember")]),n("EnumBooleanMember").build("id","init").field("id",n("Identifier")).field("init",s(n("Literal"),Boolean)),n("EnumNumberMember").build("id","init").field("id",n("Identifier")).field("init",n("Literal")),n("EnumStringMember").build("id","init").field("id",n("Identifier")).field("init",n("Literal")),n("EnumDefaultedMember").build("id").field("id",n("Identifier"))}Wh(()=>module);function Nss(t){t.use(aye);var e=t.use(o1),n=t.use(Mw).defaults,s=e.Type.def,a=e.Type.or;s("VariableDeclaration").field("declarations",[a(s("VariableDeclarator"),s("Identifier"))]),s("Property").field("value",a(s("Expression"),s("Pattern"))),s("ArrayPattern").field("elements",[a(s("Pattern"),s("SpreadElement"),null)]),s("ObjectPattern").field("properties",[a(s("Property"),s("PropertyPattern"),s("SpreadPropertyPattern"),s("SpreadProperty"))]),s("ExportSpecifier").bases("ModuleSpecifier").build("id","name"),s("ExportBatchSpecifier").bases("Specifier").build(),s("ExportDeclaration").bases("Declaration").build("default","declaration","specifiers","source").field("default",Boolean).field("declaration",a(s("Declaration"),s("Expression"),null)).field("specifiers",[a(s("ExportSpecifier"),s("ExportBatchSpecifier"))],n.emptyArray).field("source",a(s("Literal"),null),n.null),s("Block").bases("Comment").build("value","leading","trailing"),s("Line").bases("Comment").build("value","leading","trailing")}Wh(()=>module);function PVr(t){t.use(aye);let e=t.use(o1),n=t.use(Mw).defaults,s=e.Type.def,a=e.Type.or,{undefined:l}=e.builtInTypes;s("Noop").bases("Statement").build(),s("DoExpression").bases("Expression").build("body").field("body",[s("Statement")]),s("BindExpression").bases("Expression").build("object","callee").field("object",a(s("Expression"),null)).field("callee",s("Expression")),s("ParenthesizedExpression").bases("Expression").build("expression").field("expression",s("Expression")),s("ExportNamespaceSpecifier").bases("Specifier").build("exported").field("exported",s("Identifier")),s("ExportDefaultSpecifier").bases("Specifier").build("exported").field("exported",s("Identifier")),s("CommentBlock").bases("Comment").build("value","leading","trailing"),s("CommentLine").bases("Comment").build("value","leading","trailing"),s("Directive").bases("Node").build("value").field("value",s("DirectiveLiteral")),s("DirectiveLiteral").bases("Node","Expression").build("value").field("value",String,n["use strict"]),s("InterpreterDirective").bases("Node").build("value").field("value",String),s("BlockStatement").bases("Statement").build("body").field("body",[s("Statement")]).field("directives",[s("Directive")],n.emptyArray),s("Program").bases("Node").build("body").field("body",[s("Statement")]).field("directives",[s("Directive")],n.emptyArray).field("interpreter",a(s("InterpreterDirective"),null),n.null);function p(y=String,T){return["extra",{rawValue:y,raw:String},function(){let x=e.getFieldValue(this,"value");return{rawValue:x,raw:T?T(x):String(x)}}]}s("StringLiteral").bases("Literal").build("value").field("value",String).field(...p(String,y=>JSON.stringify(y))),s("NumericLiteral").bases("Literal").build("value").field("value",Number).field("raw",a(String,null),n.null).field(...p(Number)),s("BigIntLiteral").bases("Literal").build("value").field("value",a(String,Number)).field(...p(String,y=>y+"n")),s("DecimalLiteral").bases("Literal").build("value").field("value",String).field(...p(String,y=>y+"m")),s("NullLiteral").bases("Literal").build().field("value",null,n.null),s("BooleanLiteral").bases("Literal").build("value").field("value",Boolean),s("RegExpLiteral").bases("Literal").build("pattern","flags").field("pattern",String).field("flags",String).field("value",RegExp,function(){return new RegExp(this.pattern,this.flags)}).field(...p(a(RegExp,l),y=>`/${y.pattern}/${y.flags||""}`)).field("regex",{pattern:String,flags:String},function(){return{pattern:this.pattern,flags:this.flags}});var f=a(s("Property"),s("ObjectMethod"),s("ObjectProperty"),s("SpreadProperty"),s("SpreadElement"));s("ObjectExpression").bases("Expression").build("properties").field("properties",[f]),s("ObjectMethod").bases("Node","Function").build("kind","key","params","body","computed").field("kind",a("method","get","set")).field("key",a(s("Literal"),s("Identifier"),s("Expression"))).field("params",[s("Pattern")]).field("body",s("BlockStatement")).field("computed",Boolean,n.false).field("generator",Boolean,n.false).field("async",Boolean,n.false).field("accessibility",a(s("Literal"),null),n.null).field("decorators",a([s("Decorator")],null),n.null),s("ObjectProperty").bases("Node").build("key","value").field("key",a(s("Literal"),s("Identifier"),s("Expression"))).field("value",a(s("Expression"),s("Pattern"))).field("accessibility",a(s("Literal"),null),n.null).field("computed",Boolean,n.false);var d=a(s("MethodDefinition"),s("VariableDeclarator"),s("ClassPropertyDefinition"),s("ClassProperty"),s("ClassPrivateProperty"),s("ClassMethod"),s("ClassPrivateMethod"),s("ClassAccessorProperty"),s("StaticBlock"));s("ClassBody").bases("Declaration").build("body").field("body",[d]),s("ClassMethod").bases("Declaration","Function").build("kind","key","params","body","computed","static").field("key",a(s("Literal"),s("Identifier"),s("Expression"))),s("ClassPrivateMethod").bases("Declaration","Function").build("key","params","body","kind","computed","static").field("key",s("PrivateName")),s("ClassAccessorProperty").bases("Declaration").build("key","value","decorators","computed","static").field("key",a(s("Literal"),s("Identifier"),s("PrivateName"),s("Expression"))).field("value",a(s("Expression"),null),n.null),["ClassMethod","ClassPrivateMethod"].forEach(y=>{s(y).field("kind",a("get","set","method","constructor"),()=>"method").field("body",s("BlockStatement")).field("access",a("public","private","protected",null),n.null)}),["ClassMethod","ClassPrivateMethod","ClassAccessorProperty"].forEach(y=>{s(y).field("computed",Boolean,n.false).field("static",Boolean,n.false).field("abstract",Boolean,n.false).field("accessibility",a("public","private","protected",null),n.null).field("decorators",a([s("Decorator")],null),n.null).field("definite",Boolean,n.false).field("optional",Boolean,n.false).field("override",Boolean,n.false).field("readonly",Boolean,n.false)});var g=a(s("Property"),s("PropertyPattern"),s("SpreadPropertyPattern"),s("SpreadProperty"),s("ObjectProperty"),s("RestProperty"),s("RestElement"));s("ObjectPattern").bases("Pattern").build("properties").field("properties",[g]).field("decorators",a([s("Decorator")],null),n.null),s("SpreadProperty").bases("Node").build("argument").field("argument",s("Expression")),s("RestProperty").bases("Node").build("argument").field("argument",s("Expression")),s("ForAwaitStatement").bases("Statement").build("left","right","body").field("left",a(s("VariableDeclaration"),s("Expression"))).field("right",s("Expression")).field("body",s("Statement")),s("Import").bases("Expression").build()}Wh(()=>module);function Iss(t){let n=t.use(o1).Type.def;t.use(PVr),t.use(AVr),n("V8IntrinsicIdentifier").bases("Expression").build("name").field("name",String),n("TopicReference").bases("Expression").build()}Wh(()=>module);function Fss(t){t.use(PVr),t.use(CVr);var e=t.use(o1),n=e.namedTypes,s=e.Type.def,a=e.Type.or,l=t.use(Mw).defaults,p=e.Type.from(function(y,T){return!!(n.StringLiteral&&n.StringLiteral.check(y,T)||n.Literal&&n.Literal.check(y,T)&&typeof y.value=="string")},"StringLiteral");s("TSType").bases("Node");var f=a(s("Identifier"),s("TSQualifiedName"));s("TSTypeReference").bases("TSType","TSHasOptionalTypeParameterInstantiation").build("typeName","typeParameters").field("typeName",f),s("TSHasOptionalTypeParameterInstantiation").field("typeParameters",a(s("TSTypeParameterInstantiation"),null),l.null),s("TSHasOptionalTypeParameters").field("typeParameters",a(s("TSTypeParameterDeclaration"),null,void 0),l.null),s("TSHasOptionalTypeAnnotation").field("typeAnnotation",a(s("TSTypeAnnotation"),null),l.null),s("TSQualifiedName").bases("Node").build("left","right").field("left",f).field("right",f),s("TSAsExpression").bases("Expression","Pattern").build("expression","typeAnnotation").field("expression",s("Expression")).field("typeAnnotation",s("TSType")).field("extra",a({parenthesized:Boolean},null),l.null),s("TSTypeCastExpression").bases("Expression").build("expression","typeAnnotation").field("expression",s("Expression")).field("typeAnnotation",s("TSType")),s("TSSatisfiesExpression").bases("Expression","Pattern").build("expression","typeAnnotation").field("expression",s("Expression")).field("typeAnnotation",s("TSType")),s("TSNonNullExpression").bases("Expression","Pattern").build("expression").field("expression",s("Expression")),["TSAnyKeyword","TSBigIntKeyword","TSBooleanKeyword","TSNeverKeyword","TSNullKeyword","TSNumberKeyword","TSObjectKeyword","TSStringKeyword","TSSymbolKeyword","TSUndefinedKeyword","TSUnknownKeyword","TSVoidKeyword","TSIntrinsicKeyword","TSThisType"].forEach(y=>{s(y).bases("TSType").build()}),s("TSArrayType").bases("TSType").build("elementType").field("elementType",s("TSType")),s("TSLiteralType").bases("TSType").build("literal").field("literal",a(s("NumericLiteral"),s("StringLiteral"),s("BooleanLiteral"),s("TemplateLiteral"),s("UnaryExpression"),s("BigIntLiteral"))),s("TemplateLiteral").field("expressions",a([s("Expression")],[s("TSType")])),["TSUnionType","TSIntersectionType"].forEach(y=>{s(y).bases("TSType").build("types").field("types",[s("TSType")])}),s("TSConditionalType").bases("TSType").build("checkType","extendsType","trueType","falseType").field("checkType",s("TSType")).field("extendsType",s("TSType")).field("trueType",s("TSType")).field("falseType",s("TSType")),s("TSInferType").bases("TSType").build("typeParameter").field("typeParameter",s("TSTypeParameter")),s("TSParenthesizedType").bases("TSType").build("typeAnnotation").field("typeAnnotation",s("TSType"));var d=[a(s("Identifier"),s("RestElement"),s("ArrayPattern"),s("ObjectPattern"))];["TSFunctionType","TSConstructorType"].forEach(y=>{s(y).bases("TSType","TSHasOptionalTypeParameters","TSHasOptionalTypeAnnotation").build("parameters").field("parameters",d)}),s("TSDeclareFunction").bases("Declaration","TSHasOptionalTypeParameters").build("id","params","returnType").field("declare",Boolean,l.false).field("async",Boolean,l.false).field("generator",Boolean,l.false).field("id",a(s("Identifier"),null),l.null).field("params",[s("Pattern")]).field("returnType",a(s("TSTypeAnnotation"),s("Noop"),null),l.null),s("TSDeclareMethod").bases("Declaration","TSHasOptionalTypeParameters").build("key","params","returnType").field("async",Boolean,l.false).field("generator",Boolean,l.false).field("params",[s("Pattern")]).field("abstract",Boolean,l.false).field("accessibility",a("public","private","protected",void 0),l.undefined).field("static",Boolean,l.false).field("computed",Boolean,l.false).field("optional",Boolean,l.false).field("key",a(s("Identifier"),s("StringLiteral"),s("NumericLiteral"),s("Expression"))).field("kind",a("get","set","method","constructor"),function(){return"method"}).field("access",a("public","private","protected",void 0),l.undefined).field("decorators",a([s("Decorator")],null),l.null).field("returnType",a(s("TSTypeAnnotation"),s("Noop"),null),l.null),s("TSMappedType").bases("TSType").build("typeParameter","typeAnnotation").field("readonly",a(Boolean,"+","-"),l.false).field("typeParameter",s("TSTypeParameter")).field("optional",a(Boolean,"+","-"),l.false).field("typeAnnotation",a(s("TSType"),null),l.null),s("TSTupleType").bases("TSType").build("elementTypes").field("elementTypes",[a(s("TSType"),s("TSNamedTupleMember"))]),s("TSNamedTupleMember").bases("TSType").build("label","elementType","optional").field("label",s("Identifier")).field("optional",Boolean,l.false).field("elementType",s("TSType")),s("TSRestType").bases("TSType").build("typeAnnotation").field("typeAnnotation",s("TSType")),s("TSOptionalType").bases("TSType").build("typeAnnotation").field("typeAnnotation",s("TSType")),s("TSIndexedAccessType").bases("TSType").build("objectType","indexType").field("objectType",s("TSType")).field("indexType",s("TSType")),s("TSTypeOperator").bases("TSType").build("operator").field("operator",String).field("typeAnnotation",s("TSType")),s("TSTypeAnnotation").bases("Node").build("typeAnnotation").field("typeAnnotation",a(s("TSType"),s("TSTypeAnnotation"))),s("TSIndexSignature").bases("Declaration","TSHasOptionalTypeAnnotation").build("parameters","typeAnnotation").field("parameters",[s("Identifier")]).field("readonly",Boolean,l.false),s("TSPropertySignature").bases("Declaration","TSHasOptionalTypeAnnotation").build("key","typeAnnotation","optional").field("key",s("Expression")).field("computed",Boolean,l.false).field("readonly",Boolean,l.false).field("optional",Boolean,l.false).field("initializer",a(s("Expression"),null),l.null),s("TSMethodSignature").bases("Declaration","TSHasOptionalTypeParameters","TSHasOptionalTypeAnnotation").build("key","parameters","typeAnnotation").field("key",s("Expression")).field("computed",Boolean,l.false).field("optional",Boolean,l.false).field("parameters",d),s("TSTypePredicate").bases("TSTypeAnnotation","TSType").build("parameterName","typeAnnotation","asserts").field("parameterName",a(s("Identifier"),s("TSThisType"))).field("typeAnnotation",a(s("TSTypeAnnotation"),null),l.null).field("asserts",Boolean,l.false),["TSCallSignatureDeclaration","TSConstructSignatureDeclaration"].forEach(y=>{s(y).bases("Declaration","TSHasOptionalTypeParameters","TSHasOptionalTypeAnnotation").build("parameters","typeAnnotation").field("parameters",d)}),s("TSEnumMember").bases("Node").build("id","initializer").field("id",a(s("Identifier"),p)).field("initializer",a(s("Expression"),null),l.null),s("TSTypeQuery").bases("TSType").build("exprName").field("exprName",a(f,s("TSImportType")));var g=a(s("TSCallSignatureDeclaration"),s("TSConstructSignatureDeclaration"),s("TSIndexSignature"),s("TSMethodSignature"),s("TSPropertySignature"));s("TSTypeLiteral").bases("TSType").build("members").field("members",[g]),s("TSTypeParameter").bases("Identifier").build("name","constraint","default").field("name",a(s("Identifier"),String)).field("constraint",a(s("TSType"),void 0),l.undefined).field("default",a(s("TSType"),void 0),l.undefined),s("TSTypeAssertion").bases("Expression","Pattern").build("typeAnnotation","expression").field("typeAnnotation",s("TSType")).field("expression",s("Expression")).field("extra",a({parenthesized:Boolean},null),l.null),s("TSTypeParameterDeclaration").bases("Declaration").build("params").field("params",[s("TSTypeParameter")]),s("TSInstantiationExpression").bases("Expression","TSHasOptionalTypeParameterInstantiation").build("expression","typeParameters").field("expression",s("Expression")),s("TSTypeParameterInstantiation").bases("Node").build("params").field("params",[s("TSType")]),s("TSEnumDeclaration").bases("Declaration").build("id","members").field("id",s("Identifier")).field("const",Boolean,l.false).field("declare",Boolean,l.false).field("members",[s("TSEnumMember")]).field("initializer",a(s("Expression"),null),l.null),s("TSTypeAliasDeclaration").bases("Declaration","TSHasOptionalTypeParameters").build("id","typeAnnotation").field("id",s("Identifier")).field("declare",Boolean,l.false).field("typeAnnotation",s("TSType")),s("TSModuleBlock").bases("Node").build("body").field("body",[s("Statement")]),s("TSModuleDeclaration").bases("Declaration").build("id","body").field("id",a(p,f)).field("declare",Boolean,l.false).field("global",Boolean,l.false).field("body",a(s("TSModuleBlock"),s("TSModuleDeclaration"),null),l.null),s("TSImportType").bases("TSType","TSHasOptionalTypeParameterInstantiation").build("argument","qualifier","typeParameters").field("argument",p).field("qualifier",a(f,void 0),l.undefined),s("TSImportEqualsDeclaration").bases("Declaration").build("id","moduleReference").field("id",s("Identifier")).field("isExport",Boolean,l.false).field("moduleReference",a(f,s("TSExternalModuleReference"))),s("TSExternalModuleReference").bases("Declaration").build("expression").field("expression",p),s("TSExportAssignment").bases("Statement").build("expression").field("expression",s("Expression")),s("TSNamespaceExportDeclaration").bases("Declaration").build("id").field("id",s("Identifier")),s("TSInterfaceBody").bases("Node").build("body").field("body",[g]),s("TSExpressionWithTypeArguments").bases("TSType","TSHasOptionalTypeParameterInstantiation").build("expression","typeParameters").field("expression",f),s("TSInterfaceDeclaration").bases("Declaration","TSHasOptionalTypeParameters").build("id","body").field("id",f).field("declare",Boolean,l.false).field("extends",a([s("TSExpressionWithTypeArguments")],null),l.null).field("body",s("TSInterfaceBody")),s("TSParameterProperty").bases("Pattern").build("parameter").field("accessibility",a("public","private","protected",void 0),l.undefined).field("readonly",Boolean,l.false).field("parameter",a(s("Identifier"),s("AssignmentPattern"))),s("ClassProperty").field("access",a("public","private","protected",void 0),l.undefined),s("ClassAccessorProperty").bases("Declaration","TSHasOptionalTypeAnnotation"),s("ClassBody").field("body",[a(s("MethodDefinition"),s("VariableDeclarator"),s("ClassPropertyDefinition"),s("ClassProperty"),s("ClassPrivateProperty"),s("ClassAccessorProperty"),s("ClassMethod"),s("ClassPrivateMethod"),s("StaticBlock"),s("TSDeclareMethod"),g)])}Wh(()=>module);var d3;d3||(d3={});var{astNodesAreEquivalent:A8s,builders:Lie,builtInTypes:m3,defineMethod:P8s,eachField:w8s,finalize:D8s,getBuilderName:k8s,getFieldNames:Oss,getFieldValue:y9,getSupertypeNames:N8s,namedTypes:Lss,NodePath:Rss,Path:I8s,PathVisitor:F8s,someField:Mss,Type:O8s,use:L8s,visit:R8s}=yss([aye,kss,AVr,Nss,Iss,Fss]);Object.assign(d3,Lss);var hLe=d3,iVr=kLe.default.SourceMapConsumer,Bss=kLe.default.SourceMapGenerator,wVr=Object.prototype.hasOwnProperty;function jss(){return`
975
975
  `}function sVr(t,e,n){return t&&wVr.call(t,e)?t[e]:n}function Uss(...t){let e={},n=t.length;for(let s=0;s<n;++s){let a=Object.keys(t[s]),l=a.length;for(let p=0;p<l;++p)e[a[p]]=!0}return e}function ym(t,e){return t.line-e.line||t.column-e.column}function $q(t){return{line:t.line,column:t.column}}function qss(t,e){if(t){if(!e)return t}else return e||null;let n=new iVr(t),s=new iVr(e),a=new Bss({file:e.file,sourceRoot:e.sourceRoot}),l={};return s.eachMapping(function(p){let f=n.originalPositionFor({line:p.originalLine,column:p.originalColumn}),d=f.source;if(d===null)return;a.addMapping({source:d,original:$q(f),generated:{line:p.generatedLine,column:p.generatedColumn},name:p.name});let g=n.sourceContentFor(d);g&&!wVr.call(l,d)&&(l[d]=g,a.setSourceContent(d,g))}),a.toJSON()}function DVr(t,e){if(!t.loc)return null;let n={start:t.loc.start,end:t.loc.end};function s(a){lvt(n,a.loc)}return t.declaration&&t.declaration.decorators&&NLe(t)&&t.declaration.decorators.forEach(s),ym(n.start,n.end)<0&&(n.start=$q(n.start),e.skipSpaces(n.start,!1,!0),ym(n.start,n.end)<0&&(n.end=$q(n.end),e.skipSpaces(n.end,!0,!0))),t.comments&&t.comments.forEach(s),n}function lvt(t,e){t&&e&&(ym(e.start,t.start)<0&&(t.start=e.start),ym(t.end,e.end)<0&&(t.end=e.end))}function bvt(t,e){let n=t.loc;if(n&&(n.start.line<1&&(n.start.line=1),n.end.line<1&&(n.end.line=1)),t.type==="File"&&(n.start=e.firstPos(),n.end=e.lastPos()),Vss(t,e),Jss(t,e),n&&t.decorators)t.decorators.forEach(function(s){lvt(n,s.loc)});else if(t.declaration&&NLe(t)){t.declaration.loc=null;let s=t.declaration.decorators;s&&s.forEach(function(a){lvt(n,a.loc)})}else if(hLe.MethodDefinition&&hLe.MethodDefinition.check(t)||hLe.Property.check(t)&&(t.method||t.shorthand))t.value.loc=null,hLe.FunctionExpression.check(t.value)&&(t.value.id=null);else if(t.type==="ObjectTypeProperty"){let s=t.loc,a=s&&s.end;a&&(a=$q(a),e.prevPos(a)&&e.charAt(a)===","&&(a=e.skipSpaces(a,!0,!0))&&(s.end=a))}}function Vss(t,e){if(t.type!=="ForStatement")return;function n(s){let a=s&&s.loc,l=a&&a.start,p=a&&$q(a.end);for(;l&&p&&ym(l,p)<0&&(e.prevPos(p),e.charAt(p)===";");)a.end.line=p.line,a.end.column=p.column}n(t.init),n(t.test),n(t.update)}function Jss(t,e){if(t.type==="TemplateLiteral"&&t.quasis.length!==0){if(t.loc){let n=$q(t.loc.start),s=t.quasis[0];ym(s.loc.start,n)<0&&(s.loc.start=n);let a=$q(t.loc.end),l=t.quasis[t.quasis.length-1];ym(a,l.loc.end)<0&&(l.loc.end=a)}t.expressions.forEach(function(n,s){let a=e.skipSpaces(n.loc.start,!0,!1);if(e.prevPos(a)&&e.charAt(a)==="{"&&e.prevPos(a)&&e.charAt(a)==="$"){let p=t.quasis[s];ym(a,p.loc.end)<0&&(p.loc.end=a)}let l=e.skipSpaces(n.loc.end,!1,!1);if(e.charAt(l)==="}"){let p=t.quasis[s+1];ym(p.loc.start,l)<0&&(p.loc.start=l)}})}}function NLe(t){if(t)switch(t.type){case"ExportDeclaration":case"ExportDefaultDeclaration":case"ExportDefaultSpecifier":case"DeclareExportDeclaration":case"ExportNamedDeclaration":case"ExportAllDeclaration":return!0}return!1}function kVr(t){let e=t.getParentNode();return t.getName()==="declaration"&&NLe(e)?e:null}function tye(t,e){let n=t.trailingComma;return typeof n=="object"?!!n[e]:!!n}var uvt={tabWidth:4,useTabs:!1,reuseWhitespace:!0,lineTerminator:jss(),wrapColumn:74,sourceFileName:null,sourceMapName:null,sourceRoot:null,inputSourceMap:null,range:!1,tolerant:!0,quote:null,trailingComma:!1,arrayBracketSpacing:!1,objectCurlySpacing:!0,arrowParensAlways:!1,flowObjectCommas:!0,tokens:!0},$ss=uvt.hasOwnProperty;function ILe(t){let e=t||uvt;function n(s){return $ss.call(e,s)?e[s]:uvt[s]}return{tabWidth:+n("tabWidth"),useTabs:!!n("useTabs"),reuseWhitespace:!!n("reuseWhitespace"),lineTerminator:n("lineTerminator"),wrapColumn:Math.max(n("wrapColumn"),0),sourceFileName:n("sourceFileName"),sourceMapName:n("sourceMapName"),sourceRoot:n("sourceRoot"),inputSourceMap:n("inputSourceMap"),parser:n("esprima")||n("parser"),range:n("range"),tolerant:n("tolerant"),quote:n("quote"),trailingComma:n("trailingComma"),arrayBracketSpacing:n("arrayBracketSpacing"),objectCurlySpacing:n("objectCurlySpacing"),arrowParensAlways:n("arrowParensAlways"),flowObjectCommas:n("flowObjectCommas"),tokens:!!n("tokens")}}var pvt=class t{constructor(e,n,s=n){this.sourceLines=e,this.sourceLoc=n,this.targetLoc=s}slice(e,n,s=e.lastPos()){let a=this.sourceLines,l=this.sourceLoc,p=this.targetLoc;function f(d){let g=l[d],y=p[d],T=n;return d==="end"&&(T=s),Wss(a,g,e,y,T)}if(ym(n,p.start)<=0)if(ym(p.end,s)<=0)p={start:Jq(p.start,n.line,n.column),end:Jq(p.end,n.line,n.column)};else{if(ym(s,p.start)<=0)return null;l={start:l.start,end:f("end")},p={start:Jq(p.start,n.line,n.column),end:Jq(s,n.line,n.column)}}else{if(ym(p.end,n)<=0)return null;ym(p.end,s)<=0?(l={start:f("start"),end:l.end},p={start:{line:1,column:0},end:Jq(p.end,n.line,n.column)}):(l={start:f("start"),end:f("end")},p={start:{line:1,column:0},end:Jq(s,n.line,n.column)})}return new t(this.sourceLines,l,p)}add(e,n){return new t(this.sourceLines,this.sourceLoc,{start:aVr(this.targetLoc.start,e,n),end:aVr(this.targetLoc.end,e,n)})}subtract(e,n){return new t(this.sourceLines,this.sourceLoc,{start:Jq(this.targetLoc.start,e,n),end:Jq(this.targetLoc.end,e,n)})}indent(e,n=!1,s=!1){if(e===0)return this;let a=this.targetLoc,l=a.start.line,p=a.end.line;if(n&&l===1&&p===1)return this;if(a={start:a.start,end:a.end},!n||l>1){let f=a.start.column+e;a.start={line:l,column:s?Math.max(0,f):f}}if(!n||p>1){let f=a.end.column+e;a.end={line:p,column:s?Math.max(0,f):f}}return new t(this.sourceLines,this.sourceLoc,a)}};function aVr(t,e,n){return{line:t.line+e-1,column:t.line===1?t.column+n:t.column}}function Jq(t,e,n){return{line:t.line-e+1,column:t.line===e?t.column-n:t.column}}function Wss(t,e,n,s,a){let l=ym(s,a);if(l===0)return e;let p,f;if(l<0){p=t.skipSpaces(e)||t.lastPos(),f=n.skipSpaces(s)||n.lastPos();let d=a.line-f.line;for(p.line+=d,f.line+=d,d>0&&(p.column=0,f.column=0);ym(f,a)<0&&n.nextPos(f,!0););}else{p=t.skipSpaces(e,!0)||t.firstPos(),f=n.skipSpaces(s,!0)||n.firstPos();let d=a.line-f.line;for(p.line+=d,f.line+=d,d<0&&(p.column=t.getLineLength(p.line),f.column=n.getLineLength(f.line));ym(a,f)<0&&n.prevPos(f,!0););}return p}var zss=Object.defineProperty,Yss=(t,e,n)=>e in t?zss(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,Kge=(t,e,n)=>(Yss(t,typeof e!="symbol"?e+"":e,n),n),Fie=class t{constructor(e,n=null){this.infos=e,Kge(this,"length"),Kge(this,"name"),Kge(this,"mappings",[]),Kge(this,"cachedSourceMap",null),Kge(this,"cachedTabWidth"),this.length=e.length,this.name=n||null,this.name&&this.mappings.push(new pvt(this,{start:this.firstPos(),end:this.lastPos()}))}toString(e){return this.sliceString(this.firstPos(),this.lastPos(),e)}getSourceMap(e,n){if(!e)return null;let s=this;function a(f){return f=f||{},f.file=e,n&&(f.sourceRoot=n),f}if(s.cachedSourceMap)return a(s.cachedSourceMap.toJSON());let l=new kLe.default.SourceMapGenerator(a()),p={};return s.mappings.forEach(function(f){let d=f.sourceLines.skipSpaces(f.sourceLoc.start)||f.sourceLines.lastPos(),g=s.skipSpaces(f.targetLoc.start)||s.lastPos();for(;ym(d,f.sourceLoc.end)<0&&ym(g,f.targetLoc.end)<0;){f.sourceLines.charAt(d),s.charAt(g);let y=f.sourceLines.name;if(l.addMapping({source:y,original:{line:d.line,column:d.column},generated:{line:g.line,column:g.column}}),!fvt.call(p,y)){let T=f.sourceLines.toString();l.setSourceContent(y,T),p[y]=T}s.nextPos(g,!0),f.sourceLines.nextPos(d,!0)}}),s.cachedSourceMap=l,l.toJSON()}bootstrapCharAt(e){let n=e.line,s=e.column,a=this.toString().split(_vt),l=a[n-1];return typeof l>"u"?"":s===l.length&&n<a.length?`
976
976
  `:s>=l.length?"":l.charAt(s)}charAt(e){let n=e.line,s=e.column,a=this,l=a.infos,p=l[n-1],f=s;if(typeof p>"u"||f<0)return"";let d=this.getIndentAt(n);return f<d?" ":(f+=p.sliceStart-d,f===p.sliceEnd&&n<this.length?`
977
977
  `:f>=p.sliceEnd?"":p.line.charAt(f))}stripMargin(e,n){if(e===0)return this;if(n&&this.length===1)return this;let s=new t(this.infos.map(function(a,l){return a.line&&(l>0||!n)&&(a={...a,indent:Math.max(0,a.indent-e)}),a}));if(this.mappings.length>0){let a=s.mappings;this.mappings.forEach(function(l){a.push(l.indent(e,n,!0))})}return s}indent(e){if(e===0)return this;let n=new t(this.infos.map(function(s){return s.line&&!s.locked&&(s={...s,indent:s.indent+e}),s}));if(this.mappings.length>0){let s=n.mappings;this.mappings.forEach(function(a){s.push(a.indent(e))})}return n}indentTail(e){if(e===0)return this;if(this.length<2)return this;let n=new t(this.infos.map(function(s,a){return a>0&&s.line&&!s.locked&&(s={...s,indent:s.indent+e}),s}));if(this.mappings.length>0){let s=n.mappings;this.mappings.forEach(function(a){s.push(a.indent(e,!0))})}return n}lockIndentTail(){return this.length<2?this:new t(this.infos.map((e,n)=>({...e,locked:n>0})))}getIndentAt(e){return Math.max(this.infos[e-1].indent,0)}guessTabWidth(){if(typeof this.cachedTabWidth=="number")return this.cachedTabWidth;let e=[],n=0;for(let l=1,p=this.length;l<=p;++l){let f=this.infos[l-1],d=f.line.slice(f.sliceStart,f.sliceEnd);if(Die(d))continue;let g=Math.abs(f.indent-n);e[g]=~~e[g]+1,n=f.indent}let s=-1,a=2;for(let l=1;l<e.length;l+=1)fvt.call(e,l)&&e[l]>s&&(s=e[l],a=l);return this.cachedTabWidth=a}startsWithComment(){if(this.infos.length===0)return!1;let e=this.infos[0],n=e.sliceStart,s=e.sliceEnd,a=e.line.slice(n,s).trim();return a.length===0||a.slice(0,2)==="//"||a.slice(0,2)==="/*"}isOnlyWhitespace(){return Die(this.toString())}isPrecededOnlyByWhitespace(e){let n=this.infos[e.line-1],s=Math.max(n.indent,0),a=e.column-s;if(a<=0)return!0;let l=n.sliceStart,p=Math.min(l+a,n.sliceEnd),f=n.line.slice(l,p);return Die(f)}getLineLength(e){let n=this.infos[e-1];return this.getIndentAt(e)+n.sliceEnd-n.sliceStart}nextPos(e,n=!1){let s=Math.max(e.line,0);return Math.max(e.column,0)<this.getLineLength(s)?(e.column+=1,n?!!this.skipSpaces(e,!1,!0):!0):s<this.length?(e.line+=1,e.column=0,n?!!this.skipSpaces(e,!1,!0):!0):!1}prevPos(e,n=!1){let s=e.line,a=e.column;if(a<1){if(s-=1,s<1)return!1;a=this.getLineLength(s)}else a=Math.min(a-1,this.getLineLength(s));return e.line=s,e.column=a,n?!!this.skipSpaces(e,!0,!0):!0}firstPos(){return{line:1,column:0}}lastPos(){return{line:this.length,column:this.getLineLength(this.length)}}skipSpaces(e,n=!1,s=!1){if(e?e=s?e:{line:e.line,column:e.column}:n?e=this.lastPos():e=this.firstPos(),n){for(;this.prevPos(e);)if(!Die(this.charAt(e))&&this.nextPos(e))return e;return null}else{for(;Die(this.charAt(e));)if(!this.nextPos(e))return null;return e}}trimLeft(){let e=this.skipSpaces(this.firstPos(),!1,!0);return e?this.slice(e):rG}trimRight(){let e=this.skipSpaces(this.lastPos(),!0,!0);return e?this.slice(this.firstPos(),e):rG}trim(){let e=this.skipSpaces(this.firstPos(),!1,!0);if(e===null)return rG;let n=this.skipSpaces(this.lastPos(),!0,!0);return n===null?rG:this.slice(e,n)}eachPos(e,n=this.firstPos(),s=!1){let a=this.firstPos();if(n&&(a.line=n.line,a.column=n.column),!(s&&!this.skipSpaces(a,!1,!0)))do e.call(this,a);while(this.nextPos(a,s))}bootstrapSlice(e,n){let s=this.toString().split(_vt).slice(e.line-1,n.line);return s.length>0&&(s.push(s.pop().slice(0,n.column)),s[0]=s[0].slice(e.column)),Oa(s.join(`
@@ -1086,7 +1086,7 @@ ${t}
1086
1086
 
1087
1087
  `));let a=s?s.replace(/^(.+)/gm,"# $1")+`
1088
1088
  `:"",l=`${e}=${Ops(n)}
1089
- `;return t+a+l}function Ops(t){let e="";switch(typeof t){case"string":t&&(e=JSON.stringify(t));break;case"boolean":case"number":e=String(t);break;case"undefined":e="";break;case"object":t!==null&&(e=JSON.stringify(t));break}return e}var efs=e2(gzr(),1);import{randomBytes as x5s}from"node:crypto";var oSt={name:"@batijs/core",version:"0.0.254",description:"",type:"module",types:"./dist/index.d.ts",scripts:{"check-types":"tsc --noEmit",vue:"tsx src/parse/linters/vue.ts",test:"vitest run","test:ci":"vitest run",build:"tsup"},keywords:[],author:"Jo\xEBl Charles <joel.charles91@gmail.com>",repository:"https://github.com/vikejs/bati",license:"MIT",devDependencies:{"@batijs/features":"workspace:*","@types/eslint":"^9.6.1","@types/estree":"^1.0.5","@types/node":"^18.19.14","@types/which":"^3.0.4","@typescript-eslint/parser":"^8.2.0","@typescript-eslint/utils":"^8.2.0",colorette:"^2.0.20",esbuild:"^0.23.1",eslint:"^9.9.1","eslint-plugin-solid":"^0.14.2","eslint-rule-composer":"^0.3.0",espree:"^10.1.0",magicast:"^0.3.4",prettier:"^3.3.3",squirrelly:"^9.1.0",tsup:"^8.2.4",tsx:"^4.18.0",typescript:"^5.5.4","unplugin-purge-polyfills":"^0.0.5",vitest:"^2.0.5","vue-eslint-parser":"^9.4.3",which:"^4.0.0",yaml:"^2.5.0"},exports:{".":"./dist/index.js","./types":{types:"./global.d.ts"}},typesVersions:{"*":{types:["./global.d.ts"]}},files:["dist/"]};function rfs(){if(process.env.npm_config_user_agent)return nfs(process.env.npm_config_user_agent)}function nfs(t){let e=t.split(" ")[0],n=e.lastIndexOf("/"),s=e.substring(0,n);return{name:s==="npminstall"?"cnpm":s,version:e.substring(n+1)}}function P5s(){switch(rfs()?.name){case"pnpm":return"pnpm create bati";case"yarn":return"yarn dlx @batijs/cli";case"bun":return"bun create bati";default:return"npm create bati --"}}function w5s(){let t=oSt.version.split("."),e=t[0],n=t[1],s=t.slice(2).join(".");return{version:oSt.version,semver:[e,n,s]}}var export_which=efs.default;export{Cvt as Readme,p5s as addDependency,Tps as addVitePlugin,d5s as appendToEnv,xrt as formatCode,Wq as generateCode,P5s as getArgs,w5s as getVersion,u7s as loadAsJson,p7s as loadAsMagicast,Evt as loadFile,l7s as loadReadme,f7s as loadRelativeFileAsMagicast,_7s as loadYaml,j8s as markdown,rfs as packageManager,OLe as parseModule,QVr as parseReadme,x5s as randomBytes,f5s as setScripts,Sns as transformAndFormat,export_which as which,zWr as withIcon};
1089
+ `;return t+a+l}function Ops(t){let e="";switch(typeof t){case"string":t&&(e=JSON.stringify(t));break;case"boolean":case"number":e=String(t);break;case"undefined":e="";break;case"object":t!==null&&(e=JSON.stringify(t));break}return e}var efs=e2(gzr(),1);import{randomBytes as x5s}from"node:crypto";var oSt={name:"@batijs/core",version:"0.0.257",description:"",type:"module",types:"./dist/index.d.ts",scripts:{"check-types":"tsc --noEmit",vue:"tsx src/parse/linters/vue.ts",test:"vitest run","test:ci":"vitest run",build:"tsup"},keywords:[],author:"Jo\xEBl Charles <joel.charles91@gmail.com>",repository:"https://github.com/vikejs/bati",license:"MIT",devDependencies:{"@batijs/features":"workspace:*","@types/eslint":"^9.6.1","@types/estree":"^1.0.5","@types/node":"^18.19.14","@types/which":"^3.0.4","@typescript-eslint/parser":"^8.2.0","@typescript-eslint/utils":"^8.2.0",colorette:"^2.0.20",esbuild:"^0.23.1",eslint:"^9.9.1","eslint-plugin-solid":"^0.14.2","eslint-rule-composer":"^0.3.0",espree:"^10.1.0",magicast:"^0.3.4",prettier:"^3.3.3",squirrelly:"^9.1.0",tsup:"^8.2.4",tsx:"^4.18.0",typescript:"^5.5.4","unplugin-purge-polyfills":"^0.0.5",vitest:"^2.0.5","vue-eslint-parser":"^9.4.3",which:"^4.0.0",yaml:"^2.5.0"},exports:{".":"./dist/index.js","./types":{types:"./global.d.ts"}},typesVersions:{"*":{types:["./global.d.ts"]}},files:["dist/"]};function rfs(){if(process.env.npm_config_user_agent)return nfs(process.env.npm_config_user_agent)}function nfs(t){let e=t.split(" ")[0],n=e.lastIndexOf("/"),s=e.substring(0,n);return{name:s==="npminstall"?"cnpm":s,version:e.substring(n+1)}}function P5s(){switch(rfs()?.name){case"pnpm":return"pnpm create bati";case"yarn":return"yarn dlx @batijs/cli";case"bun":return"bun create bati";default:return"npm create bati --"}}function w5s(){let t=oSt.version.split("."),e=t[0],n=t[1],s=t.slice(2).join(".");return{version:oSt.version,semver:[e,n,s]}}var export_which=efs.default;export{Cvt as Readme,p5s as addDependency,Tps as addVitePlugin,d5s as appendToEnv,xrt as formatCode,Wq as generateCode,P5s as getArgs,w5s as getVersion,u7s as loadAsJson,p7s as loadAsMagicast,Evt as loadFile,l7s as loadReadme,f7s as loadRelativeFileAsMagicast,_7s as loadYaml,j8s as markdown,rfs as packageManager,OLe as parseModule,QVr as parseReadme,x5s as randomBytes,f5s as setScripts,Sns as transformAndFormat,export_which as which,zWr as withIcon};
1090
1090
  /*! Bundled license information:
1091
1091
 
1092
1092
  uri-js/dist/es5/uri.all.js:
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@batijs/core",
3
- "version": "0.0.254",
3
+ "version": "0.0.257",
4
4
  "description": "",
5
5
  "type": "module",
6
6
  "types": "./dist/index.d.ts",
@@ -32,7 +32,7 @@
32
32
  "vue-eslint-parser": "^9.4.3",
33
33
  "which": "^4.0.0",
34
34
  "yaml": "^2.5.0",
35
- "@batijs/features": "0.0.254"
35
+ "@batijs/features": "0.0.257"
36
36
  },
37
37
  "exports": {
38
38
  ".": "./dist/index.js",