greybel-languageserver-browser 2.0.4 → 2.0.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/index.js +2 -2
  2. package/package.json +2 -2
package/index.js CHANGED
@@ -107,7 +107,7 @@ ${e}
107
107
  `),i=(0,kN.parseAssignDescription)(r);if(i!=null)return i.type.length>1?new TN.UnionType(this.context.typeStorage.generateId(ai.TypeKind.UnionType,e),i.type.map(s=>(0,jP.determineTypeFromMeta)(s,this.context.typeStorage,this.context.document,this.context.scope)),this.context.typeStorage,this.context.document,this.context.scope,e):(0,jP.determineTypeFromMeta)(i.type[0],this.context.typeStorage,this.context.document,this.context.scope,e)}return null}createFunctionDescription(e,n=Bt.DEFAULT_CUSTOM_FUNCTION_DESCRIPTION){let r=this.resolveRelatedCommentLines(e);return r==null?n:r.join(`
108
108
 
109
109
  `)}inferLogicalExpression(e){let n=Cn.Type.createBaseType(Jn.SignatureDefinitionBaseType.Number,this.context.typeStorage,this.context.document,this.context.scope,null);return this.path+=Bt.PathType.Number,this.completionItemKind=On.CompletionItemKind.Expression,this.value=null,n}inferIsaExpression(e){let n=Cn.Type.createBaseType(Jn.SignatureDefinitionBaseType.Number,this.context.typeStorage,this.context.document,this.context.scope,null);return this.path+=Bt.PathType.Number,this.completionItemKind=On.CompletionItemKind.Expression,this.value=null,n}inferComparisonGroupExpression(e){let n=Cn.Type.createBaseType(Jn.SignatureDefinitionBaseType.Number,this.context.typeStorage,this.context.document,this.context.scope,null);return this.path+=Bt.PathType.Number,this.completionItemKind=On.CompletionItemKind.Expression,this.value=null,n}inferSliceExpression(e){return this.path+=Bt.PathType.Slice,this.completionItemKind=On.CompletionItemKind.Expression,this.value=null,this.infer(e.base)}inferConstantIdentifier(e){let n=this.context.scope;switch(this.completionItemKind=On.CompletionItemKind.Constant,e.name){case Bt.ConstantIdentifier.Self:return n.getSelf();case Bt.ConstantIdentifier.Globals:return n.getGlobals();case Bt.ConstantIdentifier.Outer:return n.getOuter();case Bt.ConstantIdentifier.Locals:return n.getLocals();case Bt.ConstantIdentifier.Super:return n.getSuper();default:throw new Error(`Unknown constant identifier: ${e.name}`)}}inferUnaryExpression(e){if(e.operator===Bt.UnaryType.Not)return Cn.Type.createBaseType(Jn.SignatureDefinitionBaseType.Number,this.context.typeStorage,this.context.document,this.context.scope,null);e.operator===Wo.Operator.Reference&&(this.skipNextInvoke=!0);let n=this.infer(e.argument);if(n==null)return Cn.Type.createBaseType(Jn.SignatureDefinitionBaseType.Any,this.context.typeStorage,this.context.document,this.context.scope,null);if(e.operator===Wo.Operator.New&&(0,ai.isMapType)(n)){let r=new xN.MapType(this.context.typeStorage.generateId(ai.TypeKind.MapType,e),null,null,this.context.typeStorage,this.context.document,this.context.scope,null);return r.setProperty(ai.ISA_PROPERTY,new SN.EntityInfo(ai.ISA_PROPERTY,n)),r}return n}inferNilLiteral(e){let n=Cn.Type.createBaseType(ai.NIL_TYPE_ID,this.context.typeStorage,this.context.document,this.context.scope,null);return this.path+=Bt.PathType.Nil,this.completionItemKind=On.CompletionItemKind.Literal,this.value="null",n}inferStringLiteral(e){let n=Cn.Type.createBaseType(Jn.SignatureDefinitionBaseType.String,this.context.typeStorage,this.context.document,this.context.scope,null),r=e.value.length>ai.MAX_STRING_LENGTH?`"${e.value.slice(0,ai.MAX_STRING_LENGTH)}..."`:`"${e.value}"`;return this.path+=r,this.completionItemKind=On.CompletionItemKind.Literal,this.value=r,n}inferNumericLiteral(e){let n=Cn.Type.createBaseType(Jn.SignatureDefinitionBaseType.Number,this.context.typeStorage,this.context.document,this.context.scope,null);return this.path+=e.value.toString(),this.completionItemKind=On.CompletionItemKind.Literal,this.value=e.value.toString(),n}inferBooleanLiteral(e){let n=Cn.Type.createBaseType(Jn.SignatureDefinitionBaseType.Number,this.context.typeStorage,this.context.document,this.context.scope,null);return this.path+=Bt.PathType.Number,this.completionItemKind=On.CompletionItemKind.Literal,this.value=e.value.toString(),n}inferFeatureFileExpression(e){let n=Cn.Type.createBaseType(Jn.SignatureDefinitionBaseType.String,this.context.typeStorage,this.context.document,this.context.scope,null);return this.path+=Bt.PathType.String,this.completionItemKind=On.CompletionItemKind.Literal,this.value=null,n}inferFeatureLineExpression(e){let n=Cn.Type.createBaseType(Jn.SignatureDefinitionBaseType.Number,this.context.typeStorage,this.context.document,this.context.scope,null);return this.path+=Bt.PathType.Number,this.completionItemKind=On.CompletionItemKind.Literal,this.value=null,n}inferFeatureEnvarExpression(e){let n=Cn.Type.createBaseType(Jn.SignatureDefinitionBaseType.String,this.context.typeStorage,this.context.document,this.context.scope,null);return this.path+=Bt.PathType.String,this.completionItemKind=On.CompletionItemKind.Literal,this.value=null,n}inferFeatureInjectExpression(e){let n=Cn.Type.createBaseType(Jn.SignatureDefinitionBaseType.String,this.context.typeStorage,this.context.document,this.context.scope,null);return this.path+=Bt.PathType.String,this.completionItemKind=On.CompletionItemKind.Literal,this.value=null,n}inferParenthesisExpression(e){return this.infer(e.expression)}};Pd.InferBase=Fv});var Ul=T(Od=>{"use strict";Object.defineProperty(Od,"__esModule",{value:!0});Od.InferLightExpression=void 0;var Rd=Xt(),ot=Le(),at=ge(),Nv=Rn(),PN=_l(),Et=rn(),qP=zn(),Dd=yl(),on=hr(),Cd=ys(),$r=st(),EN=Ed(),$v=class t extends EN.InferBase{inferCallExpression(e){this.checkSkipNextInvoke();let n=this.infer(e.base);return n==null?Et.Type.createBaseType(ot.SignatureDefinitionBaseType.Any,this.context.typeStorage,this.context.document,this.context.scope,null):this.invoke(n)}inferBinaryExpression(e){let n=new t(this.context).infer(e.left)||Et.Type.createBaseType(ot.SignatureDefinitionBaseType.Any,this.context.typeStorage,this.context.document,this.context.scope,null),r=new t(this.context).infer(e.right)||Et.Type.createBaseType(ot.SignatureDefinitionBaseType.Any,this.context.typeStorage,this.context.document,this.context.scope,null),i=n.getKeyType(),s=r.getKeyType();return(i==null?void 0:i.id)===(s==null?void 0:s.id)?(0,$r.isMapType)(n)?Et.Type.createBaseType(ot.SignatureDefinitionBaseType.Map,this.context.typeStorage,this.context.document,this.context.scope,null):(0,$r.isListType)(n)?Et.Type.createBaseType(ot.SignatureDefinitionBaseType.List,this.context.typeStorage,this.context.document,this.context.scope,null):(0,$r.isUnionType)(n)?new qP.UnionType(this.context.typeStorage.generateId($r.TypeKind.UnionType,e),[n,r],this.context.typeStorage,this.context.document,this.context.scope,null):Et.Type.createBaseType(n.id,this.context.typeStorage,this.context.document,this.context.scope,null):n.id===ot.SignatureDefinitionBaseType.String||r.id===ot.SignatureDefinitionBaseType.String?Et.Type.createBaseType(ot.SignatureDefinitionBaseType.String,this.context.typeStorage,this.context.document,this.context.scope,null):n.id===ot.SignatureDefinitionBaseType.Number||r.id===ot.SignatureDefinitionBaseType.Number?Et.Type.createBaseType(ot.SignatureDefinitionBaseType.Number,this.context.typeStorage,this.context.document,this.context.scope,null):Et.Type.createBaseType(ot.SignatureDefinitionBaseType.Any,this.context.typeStorage,this.context.document,this.context.scope,null)}inferIndexExpression(e){this.checkSkipNextInvoke();let n=this.infer(e.base);if(n==null)return Et.Type.createBaseType(ot.SignatureDefinitionBaseType.Any,this.context.typeStorage,this.context.document,this.context.scope,null);if(e.index.type===at.ASTType.InvalidCodeExpression)return Et.Type.createBaseType(ot.SignatureDefinitionBaseType.Any,this.context.typeStorage,this.context.document,this.context.scope);if(e.index.type===at.ASTType.StringLiteral){let c=e.index.value,l=n.getProperty(c);if(this.path+=`.${c}`,this.value=null,l!=null)return this.completionItemKind=(0,$r.isFunctionType)(l.type)?on.CompletionItemKind.Function:on.CompletionItemKind.Property,l.type;this.completionItemKind=on.CompletionItemKind.Property;let u=new Dd.UnknownType(this.context.typeStorage,this.context.document,this.context.scope);return n.setProperty(c,new Nv.EntityInfo(c,u)),u}let r=new t(this.context).infer(e.index)||Et.Type.createBaseType(ot.SignatureDefinitionBaseType.Any,this.context.typeStorage,this.context.document,this.context.scope,null);if((0,$r.isUnionType)(r)){let a=r.variants.map(c=>{var l;return(l=n.getProperty(c.getKeyType()))==null?void 0:l.type}).filter(c=>c!=null);return a.length===0?Et.Type.createBaseType(ot.SignatureDefinitionBaseType.Any,this.context.typeStorage,this.context.document,this.context.scope,null):a.length===1?a[0]:new qP.UnionType(this.context.typeStorage.generateId($r.TypeKind.UnionType,e),a,this.context.typeStorage,this.context.document,this.context.scope,null)}let i=r.getKeyType()||new PN.KeyType(ot.SignatureDefinitionBaseType.Any,this.context.typeStorage,this.context.document,this.context.scope),s=n.getProperty(i);if(this.path+=`[${r.id}]`,this.value=null,s!=null)return this.completionItemKind=(0,$r.isFunctionType)(s.type)?on.CompletionItemKind.Function:on.CompletionItemKind.Property,s.type;this.completionItemKind=on.CompletionItemKind.Property;let o=new Dd.UnknownType(this.context.typeStorage,this.context.document,this.context.scope);return n.setProperty(i,new Nv.EntityInfo(i.id,o)),o}inferFunctionStatement(e){let n=Et.Type.createBaseType(ot.SignatureDefinitionBaseType.Function,this.context.typeStorage,this.context.document,this.context.scope,null);return this.path+=Cd.PathType.Function,this.completionItemKind=on.CompletionItemKind.Function,this.value=null,n}inferIdentifier(e){let n=this.checkSkipNextInvoke();if(this.path+=e.name,this.value=null,Cd.ConstantIdentifierSet.has(e.name)&&!this.context.scope.hasProperty(e.name))return this.inferConstantIdentifier(e)||Et.Type.createBaseType(ot.SignatureDefinitionBaseType.Any,this.context.typeStorage,this.context.document,this.context.scope,null);let r=e.name,i=this.context.scope.getProperty(r);if(i!=null)return this.completionItemKind=(0,$r.isFunctionType)(i.type)?on.CompletionItemKind.Function:on.CompletionItemKind.Variable,n?i.type:this.invoke(i.type);this.completionItemKind=on.CompletionItemKind.Variable;let s=new Dd.UnknownType(this.context.typeStorage,this.context.document,this.context.scope);return this.context.scope.setProperty(r,s),s}inferMemberExpression(e){let n=this.checkSkipNextInvoke(),r=this.infer(e.base);if(r==null)return Et.Type.createBaseType(ot.SignatureDefinitionBaseType.Any,this.context.typeStorage,this.context.document,this.context.scope,null);if(e.identifier.type===at.ASTType.InvalidCodeExpression)return Et.Type.createBaseType(ot.SignatureDefinitionBaseType.Any,this.context.typeStorage,this.context.document,this.context.scope);let i=e.identifier.name,s=r.getProperty(i);if(this.path+=`.${i}`,this.value=null,s!=null)return this.completionItemKind=(0,$r.isFunctionType)(s.type)?on.CompletionItemKind.Function:on.CompletionItemKind.Property,n?s.type:this.invoke(s.type);this.completionItemKind=on.CompletionItemKind.Property;let o=new Dd.UnknownType(this.context.typeStorage,this.context.document,this.context.scope);return r.setProperty(i,new Nv.EntityInfo(i,o)),o}inferMapConstructorExpression(e){let n=Et.Type.createBaseType(ot.SignatureDefinitionBaseType.Map,this.context.typeStorage,this.context.document,this.context.scope,null);return this.path+=Cd.PathType.Map,this.completionItemKind=on.CompletionItemKind.MapConstructor,this.value=null,n}inferListConstructorExpression(e){let n=Et.Type.createBaseType(ot.SignatureDefinitionBaseType.List,this.context.typeStorage,this.context.document,this.context.scope,null);return this.path+=Cd.PathType.List,this.completionItemKind=on.CompletionItemKind.ListConstructor,this.value=null,n}infer(e){if(e==null)return null;switch(e.type){case at.ASTType.ParenthesisExpression:return this.inferParenthesisExpression(e);case at.ASTType.CallExpression:return this.inferCallExpression(e);case at.ASTType.BinaryExpression:return this.inferBinaryExpression(e);case at.ASTType.LogicalExpression:return this.inferLogicalExpression(e);case at.ASTType.IsaExpression:return this.inferIsaExpression(e);case at.ASTType.ComparisonGroupExpression:return this.inferComparisonGroupExpression(e);case at.ASTType.FunctionDeclaration:return this.inferFunctionStatement(e);case at.ASTType.SliceExpression:return this.inferSliceExpression(e);case at.ASTType.IndexExpression:return this.inferIndexExpression(e);case at.ASTType.MemberExpression:return this.inferMemberExpression(e);case at.ASTType.Identifier:return this.inferIdentifier(e);case at.ASTType.MapConstructorExpression:return this.inferMapConstructorExpression(e);case at.ASTType.ListConstructorExpression:return this.inferListConstructorExpression(e);case at.ASTType.NegationExpression:case at.ASTType.BinaryNegatedExpression:case at.ASTType.UnaryExpression:return this.inferUnaryExpression(e);case at.ASTType.NilLiteral:return this.inferNilLiteral(e);case at.ASTType.StringLiteral:return this.inferStringLiteral(e);case at.ASTType.NumericLiteral:return this.inferNumericLiteral(e);case at.ASTType.BooleanLiteral:return this.inferBooleanLiteral(e);case Rd.ASTType.FeatureFileExpression:return this.inferFeatureFileExpression(e);case Rd.ASTType.FeatureLineExpression:return this.inferFeatureLineExpression(e);case Rd.ASTType.FeatureEnvarExpression:return this.inferFeatureEnvarExpression(e);case Rd.ASTType.FeatureInjectExpression:return this.inferFeatureInjectExpression(e);default:return null}}};Od.InferLightExpression=$v});var Ld=T(jd=>{"use strict";Object.defineProperty(jd,"__esModule",{value:!0});jd.InferFullExpression=void 0;var Ad=Xt(),Oe=Le(),qe=ge(),RN=fl(),Bi=Rn(),DN=bl(),FP=_l(),NP=ds(),Uv=qr(),jt=rn(),Bv=zn(),Md=yl(),Vt=hr(),Ko=ys(),et=st(),$P=qo(),CN=Mv(),UP=vl(),ON=jv(),AN=Ed(),BP=Ul(),Vv=class t extends AN.InferBase{createCustomTypeFromMap(e,n){let r=this.resolveRelatedCommentLines(e);if(r==null)return;let i=r.join(`
110
- `),s=(0,ON.parseMapDescription)(i);s!=null&&(s.properties.forEach(o=>{if(o.path===et.ISA_PROPERTY)return;let a=o.path.split("."),c=o.type.length>1?new Bv.UnionType(this.context.typeStorage.generateId(et.TypeKind.UnionType,e),o.type.map(l=>(0,$P.determineTypeFromMeta)(l,this.context.typeStorage,this.context.document,this.context.scope)),this.context.typeStorage,this.context.document,this.context.scope):(0,$P.determineTypeFromMeta)(o.type[0],this.context.typeStorage,this.context.document,this.context.scope);n.setPropertyInPath(a,new Bi.EntityInfo(a[a.length-1],c))}),this.context.typeStorage.addType(new RN.ClassType(s.type,n,s.extends||Oe.SignatureDefinitionBaseType.Map,this.context.typeStorage,this.context.document,this.context.scope,new Map)),this.context.typeStorage.addKeyType(new FP.KeyType(s.type,this.context.typeStorage,this.context.document,this.context.scope,!0)))}inferCallExpression(e){this.checkSkipNextInvoke();let n=this.infer(e.base);return n==null?jt.Type.createBaseType(Oe.SignatureDefinitionBaseType.Any,this.context.typeStorage,this.context.document,this.context.scope,null):this.invoke(n)}inferBinaryExpression(e){let n=new t(this.context).infer(e.left)||jt.Type.createBaseType(Oe.SignatureDefinitionBaseType.Any,this.context.typeStorage,this.context.document,this.context.scope,null),r=new t(this.context).infer(e.right)||jt.Type.createBaseType(Oe.SignatureDefinitionBaseType.Any,this.context.typeStorage,this.context.document,this.context.scope,null);this.path+=Ko.PathType.Expression,this.completionItemKind=Vt.CompletionItemKind.Expression,this.value=null;let i=n.getKeyType(),s=r.getKeyType();return(i==null?void 0:i.id)===(s==null?void 0:s.id)?(0,et.isMapType)(n)?(0,UP.shallowMergeMap)(n,r):(0,et.isListType)(n)?(0,UP.shallowMergeList)(n,r):(0,et.isUnionType)(n)?new Bv.UnionType(this.context.typeStorage.generateId(et.TypeKind.UnionType,e),[n,r],this.context.typeStorage,this.context.document,this.context.scope,null):jt.Type.createBaseType(n.id,this.context.typeStorage,this.context.document,this.context.scope,null):n.id===Oe.SignatureDefinitionBaseType.String||r.id===Oe.SignatureDefinitionBaseType.String?jt.Type.createBaseType(Oe.SignatureDefinitionBaseType.String,this.context.typeStorage,this.context.document,this.context.scope,null):n.id===Oe.SignatureDefinitionBaseType.Number||r.id===Oe.SignatureDefinitionBaseType.Number?jt.Type.createBaseType(Oe.SignatureDefinitionBaseType.Number,this.context.typeStorage,this.context.document,this.context.scope,null):jt.Type.createBaseType(Oe.SignatureDefinitionBaseType.Any,this.context.typeStorage,this.context.document,this.context.scope,null)}inferIndexExpression(e){this.checkSkipNextInvoke();let n=this.infer(e.base);if(n==null)return jt.Type.createBaseType(Oe.SignatureDefinitionBaseType.Any,this.context.typeStorage,this.context.document,this.context.scope,null);if(e.index.type===qe.ASTType.InvalidCodeExpression)return jt.Type.createBaseType(Oe.SignatureDefinitionBaseType.Any,this.context.typeStorage,this.context.document,this.context.scope);if(e.index.type===qe.ASTType.StringLiteral){let c=e.index.value,l=n.getProperty(c);if(this.path+=`.${c}`,this.value=null,l!=null)return this.completionItemKind=(0,et.isFunctionType)(l.type)?Vt.CompletionItemKind.Function:Vt.CompletionItemKind.Property,l.type;this.completionItemKind=Vt.CompletionItemKind.Property;let u=new Md.UnknownType(this.context.typeStorage,this.context.document,this.context.scope);return n.setProperty(c,new Bi.EntityInfo(c,u)),u}let r=new BP.InferLightExpression(this.context).infer(e.index)||jt.Type.createBaseType(Oe.SignatureDefinitionBaseType.Any,this.context.typeStorage,this.context.document,this.context.scope,null);if(this.path+=`[${r.id}]`,this.value=null,(0,et.isUnionType)(r)){let a=r.variants.map(c=>{var l;return(l=n.getProperty(c.getKeyType()))==null?void 0:l.type}).filter(c=>c!=null);return this.completionItemKind=Vt.CompletionItemKind.Property,a.length===0?jt.Type.createBaseType(Oe.SignatureDefinitionBaseType.Any,this.context.typeStorage,this.context.document,this.context.scope,null):a.length===1?a[0]:new Bv.UnionType(this.context.typeStorage.generateId(et.TypeKind.UnionType,e),a,this.context.typeStorage,this.context.document,this.context.scope,null)}let i=r.getKeyType()||new FP.KeyType(Oe.SignatureDefinitionBaseType.Any,this.context.typeStorage,this.context.document,this.context.scope),s=n.getProperty(i);if(s!=null)return this.completionItemKind=(0,et.isFunctionType)(s.type)?Vt.CompletionItemKind.Function:Vt.CompletionItemKind.Property,s.type;this.completionItemKind=Vt.CompletionItemKind.Property;let o=new Md.UnknownType(this.context.typeStorage,this.context.document,this.context.scope);return n.setProperty(i,new Bi.EntityInfo(i.id,o)),o}inferFunctionStatement(e){let n=this.createFunctionDescription(e),r=Oe.SignatureDefinitionFunction.parse(et.DEFAULT_SIGNATURE_ORIGIN,{id:this.context.typeStorage.generateId(et.TypeKind.FunctionType,e),type:Oe.SignatureDefinitionBaseType.Function,description:n,arguments:e.parameters.map(s=>{var c,l,u,p;if(s.type===qe.ASTType.Identifier)return{label:(c=s.name)!=null?c:"unknown",type:Oe.SignatureDefinitionBaseType.Any};let o=s,a=new t(this.context).infer(o.init)||jt.Type.createBaseType(Oe.SignatureDefinitionBaseType.Any,this.context.typeStorage,this.context.document,this.context.scope,null);return{label:(u=(l=o.variable)==null?void 0:l.name)!=null?u:"unknown",types:[((p=a.getKeyType())==null?void 0:p.id)||Oe.SignatureDefinitionBaseType.Any]}}),returns:[et.UNKNOWN_TYPE_ID]}),i=new DN.FunctionType(Oe.SignatureDefinitionBaseType.Function,(0,CN.enrichWithMetaInformation)(this.context.typeStorage,r),this.context.typeStorage,this.context.document,this.context.scope,null);return this.path+=Ko.PathType.Function,this.completionItemKind=Vt.CompletionItemKind.Function,this.value=null,i}inferIdentifier(e){let n=this.checkSkipNextInvoke();if(this.path+=e.name,this.value=null,Ko.ConstantIdentifierSet.has(e.name)&&!this.context.scope.hasProperty(e.name))return this.inferConstantIdentifier(e)||jt.Type.createBaseType(Oe.SignatureDefinitionBaseType.Any,this.context.typeStorage,this.context.document,this.context.scope,null);let r=e.name,i=this.context.scope.getProperty(r);if(i!=null)return this.completionItemKind=(0,et.isFunctionType)(i.type)?Vt.CompletionItemKind.Function:Vt.CompletionItemKind.Variable,n?i.type:this.invoke(i.type);this.completionItemKind=Vt.CompletionItemKind.Variable;let s=new Md.UnknownType(this.context.typeStorage,this.context.document,this.context.scope);return this.context.scope.setProperty(r,s),s}inferMemberExpression(e){let n=this.checkSkipNextInvoke(),r=this.infer(e.base);if(r==null)return jt.Type.createBaseType(Oe.SignatureDefinitionBaseType.Any,this.context.typeStorage,this.context.document,this.context.scope,null);if(e.identifier.type===qe.ASTType.InvalidCodeExpression)return jt.Type.createBaseType(Oe.SignatureDefinitionBaseType.Any,this.context.typeStorage,this.context.document,this.context.scope);let i=e.identifier.name,s=r.getProperty(i);if(this.path+=`.${i}`,this.value=null,s!=null)return this.completionItemKind=(0,et.isFunctionType)(s.type)?Vt.CompletionItemKind.Function:Vt.CompletionItemKind.Property,n?s.type:this.invoke(s.type);this.completionItemKind=Vt.CompletionItemKind.Property;let o=new Md.UnknownType(this.context.typeStorage,this.context.document,this.context.scope);return r.setProperty(i,new Bi.EntityInfo(i,o)),o}inferMapConstructorExpression(e){var r;if(this.path+=Ko.PathType.Map,this.completionItemKind=Vt.CompletionItemKind.MapConstructor,this.value="{}",e.fields.length===0)return new Uv.MapType(this.context.typeStorage.generateId(et.TypeKind.MapType,e),null,null,this.context.typeStorage,this.context.document,this.context.scope,null);let n=new Uv.MapType(this.context.typeStorage.generateId(et.TypeKind.MapType,e),null,null,this.context.typeStorage,this.context.document,this.context.scope,null);for(let i=0;i<e.fields.length;i++){let s=e.fields[i],o=(r=new t(this.context).infer(s.value))==null?void 0:r.copy(!1,!0,this.context.typeStorage,this.context.document,this.context.scope,s.value);if(o!=null)if(s.key.type===qe.ASTType.StringLiteral){let a=s.key;n.setProperty(a.value,new Bi.EntityInfo(a.value,o))}else{let a=new BP.InferLightExpression(this.context).infer(s.key);if(a==null)continue;if((0,et.isUnionType)(a))a.variants.forEach(c=>{let l=c.getKeyType();l!=null&&n.setProperty(l,new Bi.EntityInfo(l.id,o))});else{let c=a.getKeyType();if(c==null)continue;n.setProperty(c,new Bi.EntityInfo(c.id,o))}}}return n}inferListConstructorExpression(e){var r;if(this.path+=Ko.PathType.List,this.completionItemKind=Vt.CompletionItemKind.ListConstructor,this.value="[]",e.fields.length===0)return new NP.ListType(this.context.typeStorage.generateId(et.TypeKind.ListType,e),jt.Type.createBaseType(Oe.SignatureDefinitionBaseType.Any,this.context.typeStorage,this.context.document,this.context.scope),this.context.typeStorage,this.context.document,this.context.scope);let n=new NP.ListType(this.context.typeStorage.generateId(et.TypeKind.ListType,e),null,this.context.typeStorage,this.context.document,this.context.scope);for(let i=0;i<e.fields.length;i++){let s=e.fields[i],o=(r=new t(this.context).infer(s.value))==null?void 0:r.copy(!1,!0,this.context.typeStorage,this.context.document,this.context.scope,s.value);o!=null&&n.addElementType(o)}return n}inferUnaryExpression(e){if(e.operator===Ko.UnaryType.Not)return jt.Type.createBaseType(Oe.SignatureDefinitionBaseType.Number,this.context.typeStorage,this.context.document,this.context.scope,null);e.operator===qe.Operator.Reference&&(this.skipNextInvoke=!0);let n=this.infer(e.argument);if(n==null)return jt.Type.createBaseType(Oe.SignatureDefinitionBaseType.Any,this.context.typeStorage,this.context.document,this.context.scope,null);if(e.operator===qe.Operator.New&&(0,et.isMapType)(n)){let r=new Uv.MapType(this.context.typeStorage.generateId(et.TypeKind.MapType,e),null,null,this.context.typeStorage,this.context.document,this.context.scope,null);return r.setProperty(et.ISA_PROPERTY,new Bi.EntityInfo(et.ISA_PROPERTY,n)),r}return n}infer(e){if(e==null)return null;switch(e.type){case qe.ASTType.ParenthesisExpression:return this.inferParenthesisExpression(e);case qe.ASTType.CallExpression:return this.inferCallExpression(e);case qe.ASTType.BinaryExpression:return this.inferBinaryExpression(e);case qe.ASTType.LogicalExpression:return this.inferLogicalExpression(e);case qe.ASTType.IsaExpression:return this.inferIsaExpression(e);case qe.ASTType.ComparisonGroupExpression:return this.inferComparisonGroupExpression(e);case qe.ASTType.FunctionDeclaration:return this.inferFunctionStatement(e);case qe.ASTType.SliceExpression:return this.inferSliceExpression(e);case qe.ASTType.IndexExpression:return this.inferIndexExpression(e);case qe.ASTType.MemberExpression:return this.inferMemberExpression(e);case qe.ASTType.Identifier:return this.inferIdentifier(e);case qe.ASTType.MapConstructorExpression:return this.inferMapConstructorExpression(e);case qe.ASTType.ListConstructorExpression:return this.inferListConstructorExpression(e);case qe.ASTType.NegationExpression:case qe.ASTType.BinaryNegatedExpression:case qe.ASTType.UnaryExpression:return this.inferUnaryExpression(e);case qe.ASTType.NilLiteral:return this.inferNilLiteral(e);case qe.ASTType.StringLiteral:return this.inferStringLiteral(e);case qe.ASTType.NumericLiteral:return this.inferNumericLiteral(e);case qe.ASTType.BooleanLiteral:return this.inferBooleanLiteral(e);case Ad.ASTType.FeatureFileExpression:return this.inferFeatureFileExpression(e);case Ad.ASTType.FeatureLineExpression:return this.inferFeatureLineExpression(e);case Ad.ASTType.FeatureEnvarExpression:return this.inferFeatureEnvarExpression(e);case Ad.ASTType.FeatureInjectExpression:return this.inferFeatureInjectExpression(e);default:return null}}};jd.InferFullExpression=Vv});var Wv=T(gr=>{"use strict";Object.defineProperty(gr,"__esModule",{value:!0});gr.isVariableSetterContextIndex=gr.isVariableSetterContextProperty=gr.isVariableSetterContextVariable=gr.VariableSetterContextComponentKind=void 0;var qd;(function(t){t.Variable="variable",t.Property="property",t.Type="type"})(qd=gr.VariableSetterContextComponentKind||(gr.VariableSetterContextComponentKind={}));function MN(t){return t.kind===qd.Variable}gr.isVariableSetterContextVariable=MN;function jN(t){return t.kind===qd.Property}gr.isVariableSetterContextProperty=jN;function LN(t){return t.kind===qd.Type}gr.isVariableSetterContextIndex=LN});var Gv=T($d=>{"use strict";Object.defineProperty($d,"__esModule",{value:!0});$d.ASTDefinitionAggregator=void 0;var qN=Xt(),Kv=Le(),Bl=ge(),li=Rn(),Vl=qr(),VP=rn(),FN=zn(),Fd=yl(),WP=_d(),KP=Ld(),Ho=Ul(),Nd=Wv(),Hv=hr(),An=st(),zv=class{constructor(e,n,r,i,s){this.typeStorage=e,this.document=n,this.scope=r,this.block=i,this.onRequestScope=s}makeTypeCompatibleWithProperties(e,n){let r=this.document.chunkHelper.findAssignmentVariableSetterContext(e);if((0,Nd.isVariableSetterContextVariable)(r)){this.scope.setProperty(r.property,Vl.MapType.createDefault(this.typeStorage,this.document,this.scope));return}let i=new Ho.InferLightExpression(n).infer(r.resolvePath);if(i.containsOwnProperties()||(this.makeTypeCompatibleWithProperties(r.resolvePath,n),i=new Ho.InferLightExpression(n).infer(r.resolvePath)),(0,Nd.isVariableSetterContextProperty)(r)){i.setProperty(r.lastProperty,new li.EntityInfo(r.lastProperty,Vl.MapType.createDefault(this.typeStorage,this.document,this.scope)));return}let s=new Ho.InferLightExpression(n).infer(r.lastComponent);if((0,An.isUnionType)(s)){s.variants.forEach(a=>{let c=a.getKeyType();c!=null&&i.setProperty(c,new li.EntityInfo(c.id,Vl.MapType.createDefault(this.typeStorage,this.document,this.scope)))});return}let o=s.getKeyType();o!=null&&i.setProperty(o,new li.EntityInfo(o.id,Vl.MapType.createDefault(this.typeStorage,this.document,this.scope)))}aggregateAssignmentStatement(e){var u;let n=this.document.chunkHelper.findAssignmentVariableSetterContext(e.variable);if(n==null)return;let r=new WP.InferContext(this.typeStorage,this.document,this.scope,this.onRequestScope),i=new KP.InferFullExpression(r),s=i.inferCommentDefinition(e)||((u=i.infer(e.init))==null?void 0:u.copy(!1,!1,this.typeStorage,this.document,this.scope,e.init))||new Fd.UnknownType(this.typeStorage,this.document,this.scope,e);if((0,An.isFunctionType)(s)&&this.document.attachFunctionTypeToScope(s.astRef,s),(0,An.isMapType)(s)&&i.createCustomTypeFromMap(e.init,s),(0,Nd.isVariableSetterContextVariable)(n)){let p=n.property;this.scope.symbols.push({name:p,path:p,kind:i.getCompletionItemKind(),source:s.getSource(),assignmentRef:e});let d=this.scope.getProperty(p);if(d!=null&&e.init.type===Bl.ASTType.Unknown)return;if(d!=null&&(0,An.isUnknownType)(d.type)){d.type.mergeIntoType(s),this.scope.setProperty(p,s);return}else if(d!=null&&(0,An.isUnknownType)(s)){s.mergeIntoType(d.type);return}this.scope.setProperty(p,s);return}let o=new Ho.InferLightExpression(r),a=o.infer(n.resolvePath);if(a==null)throw new Error("Cannot assign property to null origin");if(a.containsOwnProperties()||(this.makeTypeCompatibleWithProperties(n.resolvePath,r),o=new Ho.InferLightExpression(r),a=o.infer(n.resolvePath)),(0,An.isFunctionType)(s)&&(s.context=a),(0,Nd.isVariableSetterContextProperty)(n)){let p=n.lastProperty;this.scope.symbols.push({name:p,path:`${o.getPath()}.${p}`,kind:i.getCompletionItemKind(),source:s.getSource(),assignmentRef:e});let d=a.getProperty(p);if(d!=null&&e.init.type===Bl.ASTType.Unknown)return;if(d!=null&&(0,An.isUnknownType)(d.type)){d.type.mergeIntoType(s),a.setProperty(p,new li.EntityInfo(p,s));return}a.setProperty(p,new li.EntityInfo(p,s));return}let c=new Ho.InferLightExpression(r).infer(n.lastComponent);if((0,An.isUnionType)(c)){c.variants.forEach(p=>{let d=p.getKeyType();d!=null&&a.setProperty(d,new li.EntityInfo(d.id,s))});return}let l=c.getKeyType();l!=null&&a.setProperty(l,new li.EntityInfo(l.id,s))}getVariableTypeFromIterator(e,n){if((0,An.isMapType)(e)){let r=new Vl.MapType(this.typeStorage.generateId(An.TypeKind.MapType,n),e.keyType.copy(!1,!0,this.typeStorage,this.document,this.scope),e.valueType.copy(!1,!0,this.typeStorage,this.document,this.scope),this.typeStorage,this.document,this.scope,null,n);return r.setProperty("key",new li.EntityInfo("key",e.keyType.copy(!1,!0,this.typeStorage,this.document,this.scope))),r.setProperty("value",new li.EntityInfo("value",e.valueType.copy(!1,!0,this.typeStorage,this.document,this.scope))),r}else{if((0,An.isListType)(e))return e.elementType.copy(!1,!0,this.typeStorage,this.document,this.scope);if((0,An.isUnionType)(e))return new FN.UnionType(this.typeStorage.generateId(An.TypeKind.UnionType,n),e.variants.map(r=>this.getVariableTypeFromIterator(r,n)),this.typeStorage,this.document,this.scope,n);if(e.id===Kv.SignatureDefinitionBaseType.String)return VP.Type.createBaseType(Kv.SignatureDefinitionBaseType.String,this.typeStorage,this.document,this.scope,n)}return new Fd.UnknownType(this.typeStorage,this.document,this.scope)}aggregateForGenericStatement(e){let n=new WP.InferContext(this.typeStorage,this.document,this.scope,this.onRequestScope),i=new KP.InferFullExpression(n).infer(e.iterator)||new Fd.UnknownType(this.typeStorage,this.document,this.scope),s=this.getVariableTypeFromIterator(i,e);if(e.variable.type!==Bl.ASTType.Identifier)return;let o=e.variable.name;this.scope.setProperty(o,s),this.scope.setProperty(`__${o}_idx`,VP.Type.createBaseType(Kv.SignatureDefinitionBaseType.Number,this.typeStorage,this.document,this.scope,e.variable)),this.scope.symbols.push({name:o,path:o,kind:Hv.CompletionItemKind.Variable,source:s.getSource(),assignmentRef:e},{name:`__${o}_idx`,path:`__${o}_idx`,kind:Hv.CompletionItemKind.Variable,source:s.getSource(),assignmentRef:e})}aggregateImportDefinition(e){let n=e.name,r=this.scope.getProperty(n.name);if(this.scope.symbols.push({name:n.name,path:n.name,kind:Hv.CompletionItemKind.Variable,source:[{document:this.document.name,astRef:e,start:n.start,end:n.end}],assignmentRef:e}),r!=null){r.type.sourceMap.add(this.document,e);return}this.scope.setProperty(n.name,new Fd.UnknownType(this.typeStorage,this.document,this.scope,e))}aggregate(){for(let e=0;e<this.block.definitions.length;e++){let n=this.block.definitions[e];switch(n.type){case Bl.ASTType.AssignmentStatement:{this.aggregateAssignmentStatement(n);break}case Bl.ASTType.ForGenericStatement:{this.aggregateForGenericStatement(n);break}case qN.ASTType.FeatureImportExpression:{this.aggregateImportDefinition(n);break}}}}};$d.ASTDefinitionAggregator=zv});var Jv=T(Ud=>{"use strict";Object.defineProperty(Ud,"__esModule",{value:!0});Ud.DocumentTypeStorage=void 0;var Mn=Le(),Wl=Rn(),Xn=jo(),NN=pd(),Yv=class extends NN.TypeStorage{constructor(e,n){super(n),this.document=e}insertDefault(){let e=this.parent;if(!e)throw new Error("Global type storage is not defined.");let n=(0,Xn.createProxyForNativeType)(Mn.SignatureDefinitionBaseType.General,this.document),r=(0,Xn.createProxyForNativeType)(Mn.SignatureDefinitionBaseType.Function,this.document),i=(0,Xn.createProxyForNativeType)(Mn.SignatureDefinitionBaseType.Map,this.document),s=(0,Xn.createProxyForNativeType)(Mn.SignatureDefinitionBaseType.List,this.document),o=(0,Xn.createProxyForNativeType)(Mn.SignatureDefinitionBaseType.Number,this.document),a=(0,Xn.createProxyForNativeType)(Mn.SignatureDefinitionBaseType.String,this.document),c=(0,Xn.createProxyForNativeType)(Mn.SignatureDefinitionBaseType.Any,this.document),l=(0,Xn.persistTypeInNativeFunction)(Mn.SignatureDefinitionBaseType.General,"funcRef",r,this.document,e),u=(0,Xn.persistTypeInNativeFunction)(Mn.SignatureDefinitionBaseType.General,"map",i,this.document,e),p=(0,Xn.persistTypeInNativeFunction)(Mn.SignatureDefinitionBaseType.General,"list",s,this.document,e),d=(0,Xn.persistTypeInNativeFunction)(Mn.SignatureDefinitionBaseType.General,"number",o,this.document,e),h=(0,Xn.persistTypeInNativeFunction)(Mn.SignatureDefinitionBaseType.General,"string",a,this.document,e);n.setProperty("funcRef",new Wl.EntityInfo("funcRef",l)),n.setProperty("map",new Wl.EntityInfo("map",u)),n.setProperty("list",new Wl.EntityInfo("list",p)),n.setProperty("number",new Wl.EntityInfo("number",d)),n.setProperty("string",new Wl.EntityInfo("string",h)),this.addType(n),this.addType(r),this.addType(i),this.addType(s),this.addType(o),this.addType(a),this.addType(c)}addToAny(e,n){if(typeof e!="string")return;let r=this.typeInterfaces.get(Mn.SignatureDefinitionBaseType.Any);r!=null&&r.properties.set(e,n)}generateId(e,n){let r=n?`<${n.type}:${n.start.toString()}-${n.end.toString()}>`:"<virtual>";return`${e}-${this.document.name}-${this.__internalHandleCounter++}-${r}`}};Ud.DocumentTypeStorage=Yv});var Xv=T(Kl=>{"use strict";Object.defineProperty(Kl,"__esModule",{value:!0});Kl.ScopeState=void 0;var $N;(function(t){t[t.Inititialized=0]="Inititialized",t[t.Pending=1]="Pending",t[t.Resolved=2]="Resolved"})($N=Kl.ScopeState||(Kl.ScopeState={}))});var Zv=T(Wd=>{"use strict";Object.defineProperty(Wd,"__esModule",{value:!0});Wd.ChunkHelper=void 0;var Bd=ge(),Vd=Wv(),Qv=class{constructor(e){this._root=e}getLastASTItemOfLine(e){let n=this._root.lines[e];if(!n||n.length===0)return null;let r=n[0];for(let i=1;i<n.length;i++){let s=n[i];(s.start.line>r.start.line||s.start.line===r.start.line&&s.start.character>r.start.character)&&(r=s)}return r}findASTItemInLine(e,n){let r=this._root.lines[e];if(r&&r.length>0){let i=r.find(s=>s.type===n);if(i)return i}return null}findAssignmentVariableSetterContext(e){switch(e.type){case Bd.ASTType.MemberExpression:{let n=e;return{resolvePath:n.base,lastProperty:n.identifier.name,kind:Vd.VariableSetterContextComponentKind.Property}}case Bd.ASTType.Identifier:return{property:e.name,kind:Vd.VariableSetterContextComponentKind.Variable};case Bd.ASTType.IndexExpression:{let n=e;return n.index.type===Bd.ASTType.StringLiteral?{resolvePath:n.base,lastProperty:n.index.value,kind:Vd.VariableSetterContextComponentKind.Property}:{resolvePath:n.base,lastComponent:n.index,kind:Vd.VariableSetterContextComponentKind.Type}}}return null}};Wd.ChunkHelper=Qv});var tw=T(Hd=>{"use strict";Object.defineProperty(Hd,"__esModule",{value:!0});Hd.Scope=void 0;var HP=Le(),Hl=hr(),an=ys(),Kd=st(),UN=Rn(),BN=qr(),ew=class{constructor(e,n){this.document=e,this.outer=n,this.locals=new BN.MapType(e.typeStorage.generateId(Kd.TypeKind.MapType),null,null,e.typeStorage,e,this,null,null,!0),this.globals=e.globals||this,this.symbols=[]}getSelf(){var e;return(e=this.associatedFunction)==null?void 0:e.context}getSuper(){var n;let e=this.getSelf();if(!(e==null||!(0,Kd.isMapType)(e)))return(n=e.getProperty(Kd.ISA_PROPERTY))==null?void 0:n.type}getOuter(){var e;return(e=this.outer)==null?void 0:e.getLocals()}getLocals(){return this.locals}getGlobals(){return this.globals.getLocals()}setProperty(e,n){typeof e=="string"&&this.locals.setProperty(e,new UN.EntityInfo(e,n))}getProperty(e){var n;return this.locals.hasProperty(e)?this.locals.getProperty(e):(n=this.outer)!=null&&n.hasProperty(e)?this.outer.locals.getProperty(e):this.globals.hasProperty(e)?this.globals.locals.getProperty(e):this.document.typeStorage.getTypePropertyById(HP.SignatureDefinitionBaseType.General,e)}getAllProperties(e=1){var i;if(e>Kd.MAX_ALL_PROPERTIES_DEPTH)return[];let n=new Map,r=[...this.locals.getAllProperties(e+1),...this.globals!==this?this.globals.getAllProperties(e+1):[],...((i=this.outer)==null?void 0:i.getAllProperties(e+1))||[],...this.document.typeStorage.getTypeById(HP.SignatureDefinitionBaseType.General).getAllProperties(e+1)];for(let s of r)n.has(s.name)||n.set(s.name,s);return!n.has(an.ConstantIdentifier.Globals)&&this.getGlobals()!=null&&n.set(an.ConstantIdentifier.Globals,{type:this.getGlobals(),name:an.ConstantIdentifier.Globals,kind:Hl.CompletionItemKind.Constant}),!n.has(an.ConstantIdentifier.Locals)&&this.getLocals()!=null&&n.set(an.ConstantIdentifier.Locals,{type:this.getLocals(),name:an.ConstantIdentifier.Locals,kind:Hl.CompletionItemKind.Constant}),!n.has(an.ConstantIdentifier.Outer)&&this.getOuter()!=null&&n.set(an.ConstantIdentifier.Outer,{type:this.getOuter(),name:an.ConstantIdentifier.Outer,kind:Hl.CompletionItemKind.Constant}),!n.has(an.ConstantIdentifier.Self)&&this.getSelf()!=null&&n.set(an.ConstantIdentifier.Self,{type:this.getSelf(),name:an.ConstantIdentifier.Self,kind:Hl.CompletionItemKind.Constant}),!n.has(an.ConstantIdentifier.Super)&&this.getSuper()!=null&&n.set(an.ConstantIdentifier.Super,{type:this.getSelf(),name:an.ConstantIdentifier.Super,kind:Hl.CompletionItemKind.Constant}),Array.from(n.values())}resolveAllAvailableWithQuery(e){let n=[this];return this.outer&&n.push(this.outer),this!==this.globals&&n.push(this.globals),n.flatMap(r=>r.symbols.filter(i=>i.path.includes(e)))}hasProperty(e){return this.locals.hasProperty(e)}};Hd.Scope=ew});var iw=T(zd=>{"use strict";Object.defineProperty(zd,"__esModule",{value:!0});zd.Document=void 0;var zP=Le(),VN=ge(),GP=Gv(),nw=_d(),YP=Ld(),WN=Ul(),KN=Jv(),zo=Xv(),zl=st(),HN=Zv(),zN=qo(),GN=vl(),JP=tw(),XP=rn(),QP=zn(),rw=class t{constructor(e,n,r,i){var s;this.scopes=[],this.name=e,this.chunk=n,this.typeManager=r,this.typeStorage=new KN.DocumentTypeStorage(this,i),this.globals=new JP.Scope(this),this.scopeRefMapping=new WeakMap,this.scopeFnMapping=new WeakMap,this.chunkHelper=new HN.ChunkHelper(n),this.typeStorage.insertDefault(),(s=r.modifyTypeStorage)==null||s.call(r,this,i)}createScope(e){if(this.scopeRefMapping.has(e))return;let n=this.scopeRefMapping.get(e.scope),i={scope:new JP.Scope(this,n.scope),astRef:e,state:zo.ScopeState.Inititialized};this.scopes.push(i),this.scopeRefMapping.set(e,i)}aggregateScopes(){let e=this.chunk;if(this.scopeRefMapping.has(e))return;let n={scope:this.globals,astRef:e,state:zo.ScopeState.Inititialized};this.scopes.push(n),this.scopeRefMapping.set(e,n);for(let r=0;r<e.scopes.length;r++){let i=e.scopes[r];this.createScope(i)}}attachFunctionTypeToScope(e,n){let r=this.scopeRefMapping.get(e);r!=null&&(r.scope.associatedFunction=n,this.scopeFnMapping.set(n,r))}assumeArgumentTypes(e,n,r){let i=r.getArguments();for(let s=0;s<i.length;s++){let o=i[s],a=o.getTypes(),c=e.parameters[s],l=a.map(p=>(0,zN.determineTypeFromMeta)(p,this.typeStorage,this,n.scope,c.type===VN.ASTType.AssignmentStatement?c.init:c)),u=new QP.UnionType(this.typeStorage.generateId(zl.TypeKind.UnionType),l,this.typeStorage,this,n.scope);n.scope.setProperty(o.getLabel(),u.variants.length===1?u.variants[0]:u)}}assumeReturnType(e,n,r){if(e.returns.length===0){let o=XP.Type.createBaseType(zl.NIL_TYPE_ID,this.typeStorage,this,n.scope);n.scope.associatedFunction.returnType=o,r._returns=o.toMeta().map(zP.SignatureDefinitionTypeMeta.parse);return}let i=new QP.UnionType(this.typeStorage.generateId(zl.TypeKind.UnionType),[],this.typeStorage,this,n.scope);for(let o=0;o<e.returns.length;o++){let a=e.returns[o];if(a.argument==null){i.addVariant(XP.Type.createBaseType(zl.NIL_TYPE_ID,this.typeStorage,this,n.scope));continue}let c=new YP.InferFullExpression(new nw.InferContext(this.typeStorage,this,n.scope)).infer(a.argument);c&&i.addVariant(c)}let s=i.variants.length===1?i.variants[0]:i;n.scope.associatedFunction.returnType=s,r._returns=s.toMeta().map(zP.SignatureDefinitionTypeMeta.parse)}aggregateDefinition(e){let n=this.scopeRefMapping.get(e);if(n.state!==zo.ScopeState.Inititialized)return;if(n.state=zo.ScopeState.Pending,n.scope.associatedFunction==null){new GP.ASTDefinitionAggregator(this.typeStorage,this,n.scope,e,a=>this.aggregateDefinition(a)).aggregate(),n.state=zo.ScopeState.Resolved;return}let r=n.scope.associatedFunction.signature;this.assumeArgumentTypes(e,n,r),new GP.ASTDefinitionAggregator(this.typeStorage,this,n.scope,e,o=>this.aggregateDefinition(o)).aggregate();let s=r.getReturns();s.length===1&&s[0].type===zl.UNKNOWN_TYPE_ID&&this.assumeReturnType(e,n,r),n.state=zo.ScopeState.Resolved}aggregateDefinitions(){let e=this.chunk;this.aggregateDefinition(e);for(let n=0;n<e.scopes.length;n++){let r=e.scopes[n];this.aggregateDefinition(r)}}resolveAllAssignmentsWithQuery(e){return[...this.scopes.flatMap(n=>n.scope.symbols.filter(r=>r.path.includes(e)))]}resolveAvailableAssignments(e){let n=new nw.InferContext(this.typeStorage,this,this.globals),r=new WN.InferLightExpression(n);r.infer(e);let i=this.scopeRefMapping.get(e.scope),s=[i.scope];i.scope.outer&&s.push(i.scope.outer),i.scope!==i.scope.globals&&s.push(i.scope.globals);let o=r.getPath();return s.flatMap(a=>a.symbols.filter(c=>c.path.includes(o)))}resolvePath(e){return this.globals.locals.getPropertyInPath(e)}resolveNamespace(e,n){let r=this.scopeRefMapping.get(e.scope);if(!r)return null;let i=new nw.InferContext(this.typeStorage,this,r.scope),s=new YP.InferFullExpression(i,n),o=s.infer(e);return o==null?null:{item:o,path:s.getPath(),value:s.getValue(),completionItemKind:s.getCompletionItemKind(),sources:o.getSource()}}merge(...e){var r,i;let n=new t(this.name,this.chunk,this.typeManager,this.typeStorage.parent);n.aggregateScopes();for(let s=0;s<e.length;s++){let o=e[s];n.typeStorage.merge(o.document.typeStorage),(i=(r=this.typeManager).modifyTypeStorageMerge)==null||i.call(r,n,o.document,this.typeStorage.parent)}for(let s=0;s<e.length;s++){let o=e[s];(0,GN.mergeScope)(n.typeStorage,n.globals,o.document.globals,o.namespaces)}return n.aggregateDefinitions(),n}};zd.Document=rw});var ZP=T(Gd=>{"use strict";Object.defineProperty(Gd,"__esModule",{value:!0});Gd.TypeManager=void 0;var YN=Y_(),JN=iw(),sw=class{constructor(e){this.documents=new Map,this.container=e.container,this.typeStorage=new YN.GlobalTypeStorage,this.modifyTypeStorage=e.modifyTypeStorage,this.modifyTypeStorageMerge=e.modifyTypeStorageMerge,this.initializeTypeStorage()}initializeTypeStorage(){this.typeStorage.insertPrimitives(this.container),this.typeStorage.insertNonPrimitives(this.container),this.typeStorage.insertAllAnyTypeMembers(this.container)}analyze(e,n){let r=new JN.Document(e,n,this,this.typeStorage);return r.aggregateScopes(),r.aggregateDefinitions(),this.documents.set(e,r),r}get(e){return this.documents.get(e)}};Gd.TypeManager=sw});var tE=T(Go=>{"use strict";Object.defineProperty(Go,"__esModule",{value:!0});Go.isSignatureDefinitionEqual=Go.isTypeMetaEqual=void 0;function eE(t,e){return t.isEqual(e)}Go.isTypeMetaEqual=eE;function XN(t,e){return t===e||t.getOrigin()===e.getOrigin()&&eE(t.getType(),e.getType())&&t.isProtected()===e.isProtected()&&t.getDescription()===e.getDescription()}Go.isSignatureDefinitionEqual=XN});var Yo=T(q=>{"use strict";Object.defineProperty(q,"__esModule",{value:!0});q.deepMerge=q.mergeScope=q.enrichWithMetaInformation=q.determineTypeFromMeta=q.createCommentBlock=q.ChunkHelper=q.CompletionItemKind=q.PathType=q.UnaryType=q.ConstantIdentifierSet=q.ConstantIdentifier=q.DEFAULT_CUSTOM_FUNCTION_DESCRIPTION=q.MAX_DEPTH=q.ScopeState=q.isUnknownType=q.isUnionType=q.isListType=q.isFunctionType=q.isClassType=q.isMapType=q.isValidKeyValue=q.isKeyType=q.BASE_TYPE_SET=q.META_DOCS_SIGNATURE_ORIGIN=q.DEFAULT_SOURCE_DOCUMENT_ID=q.DEFAULT_SIGNATURE_ORIGIN=q.ISA_PROPERTY=q.UNKNOWN_TYPE_ID=q.NIL_TYPE_ID=q.MAX_ALL_PROPERTIES_DEPTH=q.TypeKind=q.ASTDefinitionAggregator=q.InferLightExpression=q.InferFullExpression=q.InferContext=q.InferBase=q.DocumentTypeStorage=q.GlobalTypeStorage=q.TypeStorage=q.Scope=q.Document=q.KeyType=q.EntityInfo=q.UnionType=q.MapType=q.ListType=q.FunctionType=q.ClassType=q.Type=q.TypeManager=void 0;q.parseMapDescription=q.parseAssignDescription=q.normalizeText=q.persistTypeInNativeFunction=q.createProxyForNativeType=q.isSignatureDefinitionEqual=q.isTypeMetaEqual=q.SourceMap=q.shallowMergeMap=q.shallowMergeList=void 0;var QN=ZP();Object.defineProperty(q,"TypeManager",{enumerable:!0,get:function(){return QN.TypeManager}});var ZN=rn();Object.defineProperty(q,"Type",{enumerable:!0,get:function(){return ZN.Type}});var e$=fl();Object.defineProperty(q,"ClassType",{enumerable:!0,get:function(){return e$.ClassType}});var t$=bl();Object.defineProperty(q,"FunctionType",{enumerable:!0,get:function(){return t$.FunctionType}});var n$=ds();Object.defineProperty(q,"ListType",{enumerable:!0,get:function(){return n$.ListType}});var r$=qr();Object.defineProperty(q,"MapType",{enumerable:!0,get:function(){return r$.MapType}});var i$=zn();Object.defineProperty(q,"UnionType",{enumerable:!0,get:function(){return i$.UnionType}});var s$=Rn();Object.defineProperty(q,"EntityInfo",{enumerable:!0,get:function(){return s$.EntityInfo}});var o$=_l();Object.defineProperty(q,"KeyType",{enumerable:!0,get:function(){return o$.KeyType}});var a$=iw();Object.defineProperty(q,"Document",{enumerable:!0,get:function(){return a$.Document}});var l$=tw();Object.defineProperty(q,"Scope",{enumerable:!0,get:function(){return l$.Scope}});var c$=pd();Object.defineProperty(q,"TypeStorage",{enumerable:!0,get:function(){return c$.TypeStorage}});var u$=Y_();Object.defineProperty(q,"GlobalTypeStorage",{enumerable:!0,get:function(){return u$.GlobalTypeStorage}});var p$=Jv();Object.defineProperty(q,"DocumentTypeStorage",{enumerable:!0,get:function(){return p$.DocumentTypeStorage}});var d$=Ed();Object.defineProperty(q,"InferBase",{enumerable:!0,get:function(){return d$.InferBase}});var h$=_d();Object.defineProperty(q,"InferContext",{enumerable:!0,get:function(){return h$.InferContext}});var f$=Ld();Object.defineProperty(q,"InferFullExpression",{enumerable:!0,get:function(){return f$.InferFullExpression}});var m$=Ul();Object.defineProperty(q,"InferLightExpression",{enumerable:!0,get:function(){return m$.InferLightExpression}});var g$=Gv();Object.defineProperty(q,"ASTDefinitionAggregator",{enumerable:!0,get:function(){return g$.ASTDefinitionAggregator}});var Wt=st();Object.defineProperty(q,"TypeKind",{enumerable:!0,get:function(){return Wt.TypeKind}});Object.defineProperty(q,"MAX_ALL_PROPERTIES_DEPTH",{enumerable:!0,get:function(){return Wt.MAX_ALL_PROPERTIES_DEPTH}});Object.defineProperty(q,"NIL_TYPE_ID",{enumerable:!0,get:function(){return Wt.NIL_TYPE_ID}});Object.defineProperty(q,"UNKNOWN_TYPE_ID",{enumerable:!0,get:function(){return Wt.UNKNOWN_TYPE_ID}});Object.defineProperty(q,"ISA_PROPERTY",{enumerable:!0,get:function(){return Wt.ISA_PROPERTY}});Object.defineProperty(q,"DEFAULT_SIGNATURE_ORIGIN",{enumerable:!0,get:function(){return Wt.DEFAULT_SIGNATURE_ORIGIN}});Object.defineProperty(q,"DEFAULT_SOURCE_DOCUMENT_ID",{enumerable:!0,get:function(){return Wt.DEFAULT_SOURCE_DOCUMENT_ID}});Object.defineProperty(q,"META_DOCS_SIGNATURE_ORIGIN",{enumerable:!0,get:function(){return Wt.META_DOCS_SIGNATURE_ORIGIN}});Object.defineProperty(q,"BASE_TYPE_SET",{enumerable:!0,get:function(){return Wt.BASE_TYPE_SET}});Object.defineProperty(q,"isKeyType",{enumerable:!0,get:function(){return Wt.isKeyType}});Object.defineProperty(q,"isValidKeyValue",{enumerable:!0,get:function(){return Wt.isValidKeyValue}});Object.defineProperty(q,"isMapType",{enumerable:!0,get:function(){return Wt.isMapType}});Object.defineProperty(q,"isClassType",{enumerable:!0,get:function(){return Wt.isClassType}});Object.defineProperty(q,"isFunctionType",{enumerable:!0,get:function(){return Wt.isFunctionType}});Object.defineProperty(q,"isListType",{enumerable:!0,get:function(){return Wt.isListType}});Object.defineProperty(q,"isUnionType",{enumerable:!0,get:function(){return Wt.isUnionType}});Object.defineProperty(q,"isUnknownType",{enumerable:!0,get:function(){return Wt.isUnknownType}});var y$=Xv();Object.defineProperty(q,"ScopeState",{enumerable:!0,get:function(){return y$.ScopeState}});var b$=Mo();Object.defineProperty(q,"MAX_DEPTH",{enumerable:!0,get:function(){return b$.MAX_DEPTH}});var Gl=ys();Object.defineProperty(q,"DEFAULT_CUSTOM_FUNCTION_DESCRIPTION",{enumerable:!0,get:function(){return Gl.DEFAULT_CUSTOM_FUNCTION_DESCRIPTION}});Object.defineProperty(q,"ConstantIdentifier",{enumerable:!0,get:function(){return Gl.ConstantIdentifier}});Object.defineProperty(q,"ConstantIdentifierSet",{enumerable:!0,get:function(){return Gl.ConstantIdentifierSet}});Object.defineProperty(q,"UnaryType",{enumerable:!0,get:function(){return Gl.UnaryType}});Object.defineProperty(q,"PathType",{enumerable:!0,get:function(){return Gl.PathType}});var _$=hr();Object.defineProperty(q,"CompletionItemKind",{enumerable:!0,get:function(){return _$.CompletionItemKind}});var v$=Zv();Object.defineProperty(q,"ChunkHelper",{enumerable:!0,get:function(){return v$.ChunkHelper}});var w$=Nl();Object.defineProperty(q,"createCommentBlock",{enumerable:!0,get:function(){return w$.createCommentBlock}});var S$=qo();Object.defineProperty(q,"determineTypeFromMeta",{enumerable:!0,get:function(){return S$.determineTypeFromMeta}});var x$=Mv();Object.defineProperty(q,"enrichWithMetaInformation",{enumerable:!0,get:function(){return x$.enrichWithMetaInformation}});var Yd=vl();Object.defineProperty(q,"mergeScope",{enumerable:!0,get:function(){return Yd.mergeScope}});Object.defineProperty(q,"deepMerge",{enumerable:!0,get:function(){return Yd.deepMerge}});Object.defineProperty(q,"shallowMergeList",{enumerable:!0,get:function(){return Yd.shallowMergeList}});Object.defineProperty(q,"shallowMergeMap",{enumerable:!0,get:function(){return Yd.shallowMergeMap}});var T$=Jp();Object.defineProperty(q,"SourceMap",{enumerable:!0,get:function(){return T$.SourceMap}});var nE=tE();Object.defineProperty(q,"isTypeMetaEqual",{enumerable:!0,get:function(){return nE.isTypeMetaEqual}});Object.defineProperty(q,"isSignatureDefinitionEqual",{enumerable:!0,get:function(){return nE.isSignatureDefinitionEqual}});var rE=jo();Object.defineProperty(q,"createProxyForNativeType",{enumerable:!0,get:function(){return rE.createProxyForNativeType}});Object.defineProperty(q,"persistTypeInNativeFunction",{enumerable:!0,get:function(){return rE.persistTypeInNativeFunction}});var k$=Td();Object.defineProperty(q,"normalizeText",{enumerable:!0,get:function(){return k$.normalizeText}});var I$=qv();Object.defineProperty(q,"parseAssignDescription",{enumerable:!0,get:function(){return I$.parseAssignDescription}});var P$=jv();Object.defineProperty(q,"parseMapDescription",{enumerable:!0,get:function(){return P$.parseMapDescription}})});var ow=T(Jo=>{"use strict";Object.defineProperty(Jo,"__esModule",{value:!0});Jo.getSymbolItemKind=Jo.getCompletionItemKind=void 0;var tt=Yo(),E$={[tt.CompletionItemKind.Constant]:21,[tt.CompletionItemKind.Internal]:21,[tt.CompletionItemKind.InternalFunction]:21,[tt.CompletionItemKind.InternalProperty]:21,[tt.CompletionItemKind.Property]:6,[tt.CompletionItemKind.Variable]:6,[tt.CompletionItemKind.Expression]:6,[tt.CompletionItemKind.Function]:3,[tt.CompletionItemKind.ListConstructor]:12,[tt.CompletionItemKind.MapConstructor]:12,[tt.CompletionItemKind.Literal]:12,[tt.CompletionItemKind.Unknown]:12},R$=t=>{var e;return(e=E$[t])!=null?e:6};Jo.getCompletionItemKind=R$;var D$={[tt.CompletionItemKind.Constant]:14,[tt.CompletionItemKind.Internal]:14,[tt.CompletionItemKind.InternalFunction]:14,[tt.CompletionItemKind.InternalProperty]:14,[tt.CompletionItemKind.Variable]:13,[tt.CompletionItemKind.Property]:13,[tt.CompletionItemKind.Expression]:13,[tt.CompletionItemKind.Function]:12,[tt.CompletionItemKind.ListConstructor]:18,[tt.CompletionItemKind.MapConstructor]:19,[tt.CompletionItemKind.Literal]:13,[tt.CompletionItemKind.Unknown]:13},C$=t=>{var e;return(e=D$[t])!=null?e:13};Jo.getSymbolItemKind=C$});var iE=T(Jd=>{"use strict";Object.defineProperty(Jd,"__esModule",{value:!0});Jd.CompletionListBuilder=void 0;var O$=ow(),aw=class{constructor(){this.collection=new Map,this.default=[]}setDefault(e){this.default=e}addCollection(e){e!=null&&(this.collection=new Map([...this.collection,...e]))}build(){let e=[];for(let[n,r]of this.collection)e.push({label:n,kind:(0,O$.getCompletionItemKind)(r.kind)});return[...e,...this.default]}};Jd.CompletionListBuilder=aw});var Qd=T(Xo=>{"use strict";Object.defineProperty(Xo,"__esModule",{value:!0});Xo.findEx=Xo.ScraperWalker=void 0;var A$=ge(),M$=function(t){return{ParenthesisExpression:(e,n)=>{t(e.expression,n)},AssignmentStatement:function(e,n){t(e.init,n),t(e.variable,n)},MemberExpression:function(e,n){t(e.base,n),t(e.identifier,n)},FunctionDeclaration:function(e,n){for(let r=0;r<e.parameters.length;r++)t(e.parameters[r],n);for(let r=0;r<e.body.length;r++)t(e.body[r],n)},MapConstructorExpression:function(e,n){for(let r=0;r<e.fields.length;r++)t(e.fields[r],n)},ReturnStatement:function(e,n){e.argument&&t(e.argument,n)},WhileStatement:function(e,n){t(e.condition,n);for(let r=0;r<e.body.length;r++)t(e.body[r],n)},IndexExpression:function(e,n){t(e.base,n),t(e.index,n)},SliceExpression:function(e,n){t(e.base,n),t(e.left,n),t(e.right,n)},ListValue:function(e,n){t(e.value,n)},MapKeyString:function(e,n){t(e.key,n),t(e.value,n)},IfShortcutStatement:function(e,n){for(let r=0;r<e.clauses.length;r++)t(e.clauses[r],n)},IfShortcutClause:function(e,n){t(e.condition,n);for(let r=0;r<e.body.length;r++)t(e.body[r],n)},ElseifShortcutClause:function(e,n){t(e.condition,n);for(let r=0;r<e.body.length;r++)t(e.body[r],n)},ElseShortcutClause:function(e,n){for(let r=0;r<e.body.length;r++)t(e.body[r],n)},ForGenericStatement:function(e,n){t(e.variable,n),t(e.iterator,n);for(let r=0;r<e.body.length;r++)t(e.body[r],n)},IfStatement:function(e,n){for(let r=0;r<e.clauses.length;r++)t(e.clauses[r],n)},IfClause:function(e,n){t(e.condition,n);for(let r=0;r<e.body.length;r++)t(e.body[r],n)},ElseifClause:function(e,n){t(e.condition,n);for(let r=0;r<e.body.length;r++)t(e.body[r],n)},ElseClause:function(e,n){for(let r=0;r<e.body.length;r++)t(e.body[r],n)},NegationExpression:function(e,n){t(e.argument,n)},CallExpression:function(e,n){t(e.base,n);for(let r=0;r<e.arguments.length;r++)t(e.arguments[r],n)},CallStatement:function(e,n){t(e.expression,n)},ListConstructorExpression:function(e,n){for(let r=0;r<e.fields.length;r++)t(e.fields[r],n)},BinaryExpression:function(e,n){t(e.left,n),t(e.right,n)},BinaryNegatedExpression:function(e,n){t(e.argument,n)},IsaExpression:function(e,n){t(e.left,n),t(e.right,n)},LogicalExpression:function(e,n){t(e.left,n),t(e.right,n)},ComparisonGroupExpression:function(e,n){for(let r=0;r<e.expressions.length;r++)t(e.expressions[r],n)},UnaryExpression:function(e,n){t(e.argument,n)},Chunk:function(e,n){for(let r=0;r<e.body.length;r++)t(e.body[r],n)},InvalidCodeExpression:()=>{}}},Xd=class{constructor(e,n={}){this.map=Object.assign(M$(this.visit.bind(this)),n),this.callback=e,this.state={exit:!1,skip:!1}}visit(e,n=0){if(e==null)return;if(e.type==null)throw console.error("Error ast type:",e),new Error("Unexpected as type");let r=this.callback(e,n);if(r!=null&&Object.assign(this.state,r),this.state.exit||this.state.skip){this.state.skip=!1;return}let i=this.map[e.type];i!=null&&i.call(this,e,n+1)}};Xo.ScraperWalker=Xd;function j$(t,e){let n=[];return new Xd((i,s)=>{let o=t(i,s)||{};return o.valid&&i.type!==A$.ASTType.InvalidCodeExpression&&n.push(i),{exit:!!o.exit,skip:!!o.skip}}).visit(e),n}Xo.findEx=j$});var lw=T(ln=>{"use strict";Object.defineProperty(ln,"__esModule",{value:!0});ln.lookupBase=ln.lookupIdentifier=ln.lookupScopes=ln.lookupRootScope=void 0;var ci=ge(),L$=t=>{let e=t;for(;e.scope;)e=e.scope;return e};ln.lookupRootScope=L$;var q$=t=>{if(!t.scope)return[t];let e=(0,ln.lookupRootScope)(t);return e===t.scope?[t,e]:[t,t.scope,e]};ln.lookupScopes=q$;var F$=t=>{switch(t.type){case ci.ASTType.CallStatement:return(0,ln.lookupIdentifier)(t.expression);case ci.ASTType.CallExpression:return(0,ln.lookupIdentifier)(t.base);case ci.ASTType.Identifier:return t;case ci.ASTType.MemberExpression:return(0,ln.lookupIdentifier)(t.identifier);case ci.ASTType.IndexExpression:return(0,ln.lookupIdentifier)(t.index);default:return null}};ln.lookupIdentifier=F$;var N$=(t=null)=>{switch(t==null?void 0:t.type){case ci.ASTType.MemberExpression:return t.base;case ci.ASTType.IndexExpression:return t.base;case ci.ASTType.CallExpression:return t.base;case ci.ASTType.SliceExpression:return t.base;default:return null}};ln.lookupBase=N$});var sE=T(Zd=>{"use strict";Object.defineProperty(Zd,"__esModule",{value:!0});Zd.isValidIdentifierLiteral=void 0;var $$=ge(),U$=t=>{if(t.type!==$$.ASTType.StringLiteral)return!1;let e=t.value.toString();return/^[_a-z][_a-z0-9]*$/i.test(e)};Zd.isValidIdentifierLiteral=U$});var Qo=T(Ur=>{"use strict";var B$=Ur&&Ur.__createBinding||(Object.create?function(t,e,n,r){r===void 0&&(r=n);var i=Object.getOwnPropertyDescriptor(e,n);(!i||("get"in i?!e.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return e[n]}}),Object.defineProperty(t,r,i)}:function(t,e,n,r){r===void 0&&(r=n),t[r]=e[n]}),V$=Ur&&Ur.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),W$=Ur&&Ur.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var n in t)n!=="default"&&Object.prototype.hasOwnProperty.call(t,n)&&B$(e,t,n);return V$(e,t),e};Object.defineProperty(Ur,"__esModule",{value:!0});Ur.LookupHelper=void 0;var oE=ge(),K$=W$(Qd()),H$=lw(),z$=sE(),cw=class{constructor(e,n){this.document=e,this.context=n,this.mergedTypeMap=null}getTypeMap(){return N(this,null,function*(){return this.mergedTypeMap==null&&(this.mergedTypeMap=yield this.context.documentMerger.build(this.document,this.context)),this.mergedTypeMap})}findAllAssignmentsOfIdentifier(e,n){return N(this,null,function*(){let r=yield this.getTypeMap();if(r==null)return[];let i=r.scopeRefMapping.get(n);return i==null?[]:i.scope.resolveAllAvailableWithQuery(e)})}findAllAssignmentsOfItem(e){return N(this,null,function*(){let n=yield this.getTypeMap();if(n==null)return null;let r=n.resolveNamespace(e,!1);return r==null?null:r.item})}findAllAvailableIdentifierInRoot(){return N(this,null,function*(){let e=yield this.getTypeMap();return e==null?new Map:e.globals.getAllProperties().reduce((n,r)=>{let i=r.type.getSource();return n.set(r.name,{kind:r.kind,line:i&&i.length>0?i[0].start.line-1:-1}),n},new Map)})}findAllAvailableIdentifier(e){return N(this,null,function*(){let n=yield this.getTypeMap();if(n==null)return new Map;let r=n.scopeRefMapping.get(e);return r==null?new Map:r.scope.getAllProperties().reduce((i,s)=>{let o=s.type.getSource();return i.set(s.name,{kind:s.kind,line:o&&o.length>0?o[0].start.line-1:-1}),i},new Map)})}findAllAvailableIdentifierRelatedToPosition(e){return N(this,null,function*(){let n=yield this.getTypeMap(),r=new Map;if(n==null)return r;let s=n.scopeRefMapping.get(e.scope).scope.getAllProperties(),o=[],a=[];for(let c=0;c<s.length;c++){let l=s[c],u=l.type.getSource();l.type.document!=null&&l.type.document.name===n.name&&u!=null&&u.length>0?a.push(l):o.push(l)}for(let c=0;c<o.length;c++){let l=o[c];r.set(l.name,{kind:l.kind,line:-1})}a.sort((c,l)=>c.type.getSource()[0].start.line-l.type.getSource()[0].start.line);for(let c=0;c<a.length;c++){let l=a[c],u=l.type.getSource()[0];if(u.start.line>=e.end.line)break;r.set(l.name,{kind:l.kind,line:u.start.line-1})}return r})}lookupAST(e){return N(this,null,function*(){let i=this.document.parsedPayload.lines[e.line+1];if(!i)return null;for(let s=0;s<i.length;s++){let o=i[s],a=K$.findEx((l,u)=>{let p=l.start.line-1,d=l.start.character-1,h=l.end.line-1,g=l.end.character-1;return p>e.line?{exit:!0}:p<h?{valid:e.line>p&&e.line<h||e.line===p&&d<=e.character||e.line===h&&g>=e.character}:{valid:p<=e.line&&d<=e.character&&h>=e.line&&g>=e.character}},o),c=a.pop();if(c)return{closest:c,outer:a}}return null})}lookupBasePath(e){return N(this,null,function*(){let n=yield this.getTypeMap();if(n===null)return null;let r=(0,H$.lookupBase)(e);return r?n.resolveNamespace(r,!0):null})}lookupTypeInfo(r){return N(this,arguments,function*({closest:e,outer:n}){let i=yield this.getTypeMap();if(i===null)return null;let s=n.length>0?n[n.length-1]:void 0;return(s==null?void 0:s.type)===oE.ASTType.MemberExpression&&e===s.identifier||(s==null?void 0:s.type)===oE.ASTType.IndexExpression&&e===s.index&&(0,z$.isValidIdentifierLiteral)(e)?i.resolveNamespace(s,!1):i.resolveNamespace(e,!1)})}lookupType(e){return N(this,null,function*(){let n=this,r=yield n.lookupAST(e);return r?n.lookupTypeInfo(r):null})}};Ur.LookupHelper=cw});var aE=T(eh=>{"use strict";Object.defineProperty(eh,"__esModule",{value:!0});eh.AVAILABLE_CONSTANTS=void 0;eh.AVAILABLE_CONSTANTS=["true","false","null","params","globals","locals","outer"].map(t=>({label:t,kind:21}))});var th=T(Yl=>{"use strict";Object.defineProperty(Yl,"__esModule",{value:!0});Yl.GreyScriptKeyword=void 0;var G$;(function(t){t.ImportCode="import_code"})(G$=Yl.GreyScriptKeyword||(Yl.GreyScriptKeyword={}))});var dw=T(pw=>{"use strict";Object.defineProperty(pw,"__esModule",{value:!0});var lE=Xt(),Y$=ge(),J$=th(),uw=class extends lE.LexerValidator{constructor(){super(...arguments),this.isKeyword=Set.prototype.has.bind(new Set([...Object.values(Y$.Keyword),...Object.values(lE.GreybelKeyword),...Object.values(J$.GreyScriptKeyword)]))}};pw.default=uw});var fw=T(Jl=>{"use strict";var X$=Jl&&Jl.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(Jl,"__esModule",{value:!0});var Q$=Xt(),Z$=X$(dw()),hw=class extends Q$.Lexer{constructor(e,n={}){n.validator=n.validator||new Z$.default,super(e,n)}};Jl.default=hw});var gw=T(nh=>{"use strict";Object.defineProperty(nh,"__esModule",{value:!0});nh.ASTChunkGreyScript=void 0;var e2=Xt(),mw=class t extends e2.ASTChunkGreybel{constructor(e){super(e),this.nativeImports=e.nativeImports||[]}clone(){return new t({nativeImports:this.nativeImports.map(e=>e.clone()),imports:this.imports.map(e=>e.clone()),includes:this.includes.map(e=>e.clone()),literals:this.literals.map(e=>e.clone()),scopes:this.scopes.map(e=>e.clone()),lines:this.lines,start:this.start,end:this.end,range:this.range,scope:this.scope})}};nh.ASTChunkGreyScript=mw});var yw=T(Xl=>{"use strict";Object.defineProperty(Xl,"__esModule",{value:!0});Xl.ASTType=void 0;var t2;(function(t){t.ImportCodeExpression="ImportCodeExpression"})(t2=Xl.ASTType||(Xl.ASTType={}))});var _w=T(rh=>{"use strict";Object.defineProperty(rh,"__esModule",{value:!0});rh.ASTImportCodeExpression=void 0;var n2=ge(),r2=yw(),bw=class t extends n2.ASTBase{constructor(e){super(r2.ASTType.ImportCodeExpression,e),this.originalDirectory=e.originalDirectory,this.directory=e.directory,this.eval=e.eval,this.emit=e.emit}static parseMetaOptions(e){let r=e.split(";").reduce((s,o)=>{let[a,c]=o.trim().split("=");return c==null?s[a]=!0:s[a]=c,s},{}),i={eval:r["no-eval"]==null,emit:r["no-emit"]==null};return r.override!=null&&(i.directory=r.override),i}toString(){return`ImportCode[${this.start}-${this.end}][${this.directory};${this.eval};${this.emit}]`}clone(){return new t({originalDirectory:this.originalDirectory,directory:this.directory,eval:this.eval,emit:this.emit,start:this.start,end:this.end,range:this.range,scope:this.scope})}};rh.ASTImportCodeExpression=bw});var ww=T(Br=>{"use strict";Object.defineProperty(Br,"__esModule",{value:!0});Br.ASTImportCodeExpression=Br.ASTChunkGreyScript=Br.ASTType=Br.ASTProvider=void 0;var i2=Xt(),s2=gw(),o2=_w(),vw=class extends i2.ASTProvider{chunk(e){return new s2.ASTChunkGreyScript(e)}importCodeExpression(e){return new o2.ASTImportCodeExpression(e)}};Br.ASTProvider=vw;var a2=yw();Object.defineProperty(Br,"ASTType",{enumerable:!0,get:function(){return a2.ASTType}});var l2=gw();Object.defineProperty(Br,"ASTChunkGreyScript",{enumerable:!0,get:function(){return l2.ASTChunkGreyScript}});var c2=_w();Object.defineProperty(Br,"ASTImportCodeExpression",{enumerable:!0,get:function(){return c2.ASTImportCodeExpression}})});var uE=T(Ql=>{"use strict";var u2=Ql&&Ql.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(Ql,"__esModule",{value:!0});var Vi=ge(),cn=Xt(),ih=So(),Zo=Io(),cE=ww(),p2=u2(fw()),d2=th(),Sw=class extends cn.Parser{constructor(e,n={}){n.lexer=n.lexer||new p2.default(e,{unsafe:n.unsafe,tabWidth:n.tabWidth}),n.astProvider=n.astProvider||new cE.ASTProvider,super(e,n);let r=this;r.nativeImports=[]}parseStatement(){let e=this;if(e.isType(Vi.TokenType.Keyword))switch(e.token.value){case d2.GreyScriptKeyword.ImportCode:e.next();let r=e.parseNativeImportCodeStatement();e.lineRegistry.addItemToLines(r),e.backpatches.peek().body.push(r);return;default:break}return super.parseStatement()}parseFunctionDeclaration(e,n=!1,r=!1){let i=this;if(!cn.Selectors.Function(i.token))return i.parseOr(n,r);i.next();let s=i.previousToken,o=i.astProvider.functionStatement({start:s.start,end:null,range:[s.range[0],null],scope:i.currentScope,parent:i.outerScopes[i.outerScopes.length-1],assignment:i.currentAssignment}),a=[];if(i.pushScope(o),!cn.SelectorGroups.BlockEndOfLine(i.token)){for(i.requireToken(cn.Selectors.LParenthesis,s.start);!cn.SelectorGroups.FunctionDeclarationArgEnd(i.token);){let l=i.parseIdentifier(Vi.ASTIdentifierKind.Argument),u=l;if(i.consume(cn.Selectors.Assign)){let p=i.parseExpr(null),d=i.astProvider.assignmentStatement({variable:l,init:p,start:u.start,end:i.previousToken.end,range:[u.range[0],i.previousToken.range[1]],scope:i.currentScope});i.currentScope.definitions.push(d),a.push(d)}else{let p=i.astProvider.assignmentStatement({variable:l,init:i.astProvider.unknown({start:u.start,end:i.previousToken.end,range:[u.range[0],i.previousToken.range[1]],scope:i.currentScope}),start:u.start,end:i.previousToken.end,range:[u.range[0],i.previousToken.range[1]],scope:i.currentScope});i.currentScope.definitions.push(p),a.push(l)}if(cn.Selectors.RParenthesis(i.token))break;if(i.requireToken(cn.Selectors.ArgumentSeperator,s.start),cn.Selectors.RParenthesis(i.token)){i.raise("expected argument instead received right parenthesis",new Zo.Range(i.previousToken.end,i.previousToken.end));break}}i.requireToken(cn.Selectors.RParenthesis,s.start)}o.parameters=a;let c=new Vi.PendingFunction(o,e,i.lineRegistry);return i.backpatches.push(c),o}parseNativeImportCodeStatement(){var e,n,r,i;let s=this,o=s.previousToken;if(!s.consume(cn.Selectors.LParenthesis))return s.raise("expected import_code to have opening parenthesis",new Zo.Range(o.start,new ih.Position((e=s.token.lastLine)!==null&&e!==void 0?e:s.token.line,s.token.end.character))),s.parseInvalidCode();let a;if(s.isType(Vi.TokenType.StringLiteral))a=s.token.value,s.next();else return s.raise("expected import_code argument to be string literal",new Zo.Range(o.start,new ih.Position((n=s.token.lastLine)!==null&&n!==void 0?n:s.token.line,s.token.end.character))),s.parseInvalidCode();if(s.consume(cn.Selectors.ImportCodeSeperator)){if(!s.isType(Vi.TokenType.StringLiteral))return s.raise("expected import_code argument to be string literal",new Zo.Range(o.start,new ih.Position((r=s.token.lastLine)!==null&&r!==void 0?r:s.token.line,s.token.end.character))),s.parseInvalidCode();a=s.token.value,console.warn("Warning: Second import_code argument is deprecated. Use the first argument for the file system path instead."),s.next()}if(!s.consume(cn.Selectors.RParenthesis))return s.raise("expected import_code to have closing parenthesis",new Zo.Range(o.start,new ih.Position((i=s.token.lastLine)!==null&&i!==void 0?i:s.token.line,s.token.end.character))),s.parseInvalidCode();let c=s.previousToken,l=a,u=!0,p=!0;if(s.isType(Vi.TokenType.Comment)){let h=cE.ASTImportCodeExpression.parseMetaOptions(s.token.value);u=h.emit,p=h.eval,h.directory&&(l=h.directory)}let d=s.astProvider.importCodeExpression({originalDirectory:a,directory:l,emit:u,eval:p,start:o.start,end:c.end,range:[o.range[0],c.range[1]],scope:s.currentScope});return s.nativeImports.push(d),d}parseChunk(){let e=this;e.next();let n=e.token,r=e.astProvider.chunk({start:n.start,end:null,range:[n.range[0],null]}),i=new Vi.PendingChunk(r,e.lineRegistry);for(e.backpatches.setDefault(i),e.pushScope(r);!cn.Selectors.EndOfFile(e.token)&&(e.skipNewlines(),!cn.Selectors.EndOfFile(e.token));)e.lexer.recordSnapshot(),e.statementErrors=[],e.parseStatement(),e.statementErrors.length>0&&e.tryToRecover();let s=e.backpatches.pop();for(;!(0,Vi.isPendingChunk)(s);){let o=e.raise(`found open block ${s.block.type}`,new Zo.Range(s.block.start,s.block.start));if(s.complete(e.previousToken),e.errors.push(o),!e.unsafe)throw o;s=e.backpatches.pop()}return e.finishRemaingScopes(),e.popScope(),i.complete(e.token),r.literals=e.literals,r.scopes=e.scopes,r.lines=e.lineRegistry.lines,r.nativeImports=e.nativeImports,r.imports=e.imports,r.includes=e.includes,r.injects=e.injects,r}};Ql.default=Sw});var xs=T(Qt=>{"use strict";var h2=Qt&&Qt.__createBinding||(Object.create?function(t,e,n,r){r===void 0&&(r=n);var i=Object.getOwnPropertyDescriptor(e,n);(!i||("get"in i?!e.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return e[n]}}),Object.defineProperty(t,r,i)}:function(t,e,n,r){r===void 0&&(r=n),t[r]=e[n]}),pE=Qt&&Qt.__exportStar||function(t,e){for(var n in t)n!=="default"&&!Object.prototype.hasOwnProperty.call(e,n)&&h2(e,t,n)},xw=Qt&&Qt.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(Qt,"__esModule",{value:!0});Qt.Parser=Qt.LexerValidator=Qt.Lexer=void 0;var f2=fw();Object.defineProperty(Qt,"Lexer",{enumerable:!0,get:function(){return xw(f2).default}});var m2=dw();Object.defineProperty(Qt,"LexerValidator",{enumerable:!0,get:function(){return xw(m2).default}});var g2=uE();Object.defineProperty(Qt,"Parser",{enumerable:!0,get:function(){return xw(g2).default}});pE(ww(),Qt);pE(th(),Qt)});var dE=T(sh=>{"use strict";Object.defineProperty(sh,"__esModule",{value:!0});sh.AVAILABLE_KEYWORDS=void 0;var ea=Xt(),y2=xs(),Zt=ge();sh.AVAILABLE_KEYWORDS=[Zt.Keyword.If,Zt.Keyword.In,Zt.Keyword.Or,Zt.Keyword.And,Zt.Keyword.Isa,Zt.Keyword.For,Zt.Keyword.New,Zt.Keyword.Not,Zt.Keyword.End,Zt.Keyword.Then,Zt.Keyword.Else,Zt.Keyword.Break,Zt.Keyword.While,Zt.Keyword.Return,Zt.Keyword.Function,Zt.Keyword.Continue,y2.GreyScriptKeyword.ImportCode,ea.GreybelKeyword.Envar,ea.GreybelKeyword.Import,ea.GreybelKeyword.Include,ea.GreybelKeyword.Debugger,ea.GreybelKeyword.Line,ea.GreybelKeyword.File].map(t=>({label:t,kind:14}))});var hE=T(oh=>{"use strict";Object.defineProperty(oh,"__esModule",{value:!0});oh.AVAILABLE_OPERATORS=void 0;var Zl=Uo(),Lt=ge();oh.AVAILABLE_OPERATORS=[Lt.Operator.Plus,Lt.Operator.Asterik,Lt.Operator.Minus,Lt.Operator.Slash,Lt.Operator.Power,Lt.Operator.Modulo,Lt.Operator.LessThan,Lt.Operator.GreaterThan,Lt.Operator.LessThanOrEqual,Lt.Operator.GreaterThanOrEqual,Lt.Operator.NotEqual,Lt.Operator.Equal,Lt.Operator.AddShorthand,Lt.Operator.SubtractShorthand,Lt.Operator.MultiplyShorthand,Lt.Operator.DivideShorthand,Zl.Operator.BitwiseAnd,Zl.Operator.BitwiseOr,Zl.Operator.LeftShift,Zl.Operator.RightShift,Zl.Operator.UnsignedRightShift,Lt.Operator.Assign,Lt.Operator.Reference].map(t=>({label:t,kind:24}))});var mE=T(jn=>{"use strict";Object.defineProperty(jn,"__esModule",{value:!0});jn.activate=jn.getDefaultCompletionList=jn.getPropertyCompletionList=void 0;var fE=ge(),b2=iE(),_2=Qo(),v2=aE(),w2=dE(),S2=hE(),x2=(t,e)=>N(jn,null,function*(){let n=yield t.lookupBasePath(e);return n===null?null:n.item.getAllProperties().reduce((r,i)=>{let s=i.type.getSource();return r.set(i.name,{kind:i.kind,line:s&&s.length>0?s[0].start.line-1:-1}),r},new Map)});jn.getPropertyCompletionList=x2;var T2=()=>[...w2.AVAILABLE_KEYWORDS,...S2.AVAILABLE_OPERATORS,...v2.AVAILABLE_CONSTANTS];jn.getDefaultCompletionList=T2;function k2(t){t.connection.onCompletion(e=>N(this,null,function*(){if(!t.getConfiguration().autocomplete)return;let n=yield t.fs.getTextDocument(e.textDocument.uri);if(n==null)return;let r=yield t.documentManager.getLatest(n),i=new _2.LookupHelper(r,t),s=yield i.lookupAST(e.position),o=new b2.CompletionListBuilder;if(s){let{closest:a}=s;a instanceof fE.ASTMemberExpression?o.addCollection(yield(0,jn.getPropertyCompletionList)(i,a)):a instanceof fE.ASTIndexExpression?o.addCollection(yield(0,jn.getPropertyCompletionList)(i,a)):(o.setDefault((0,jn.getDefaultCompletionList)()),o.addCollection(yield i.findAllAvailableIdentifierRelatedToPosition(s.closest)))}else o.setDefault((0,jn.getDefaultCompletionList)()),o.addCollection(yield i.findAllAvailableIdentifierInRoot());return o.build()})),t.connection.onCompletionResolve(e=>e)}jn.activate=k2});var yE=T((o7,gE)=>{"use strict";gE.exports={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]}});var Tw=T((a7,_E)=>{var ec=yE(),bE={};for(let t of Object.keys(ec))bE[ec[t]]=t;var X={rgb:{channels:3,labels:"rgb"},hsl:{channels:3,labels:"hsl"},hsv:{channels:3,labels:"hsv"},hwb:{channels:3,labels:"hwb"},cmyk:{channels:4,labels:"cmyk"},xyz:{channels:3,labels:"xyz"},lab:{channels:3,labels:"lab"},lch:{channels:3,labels:"lch"},hex:{channels:1,labels:["hex"]},keyword:{channels:1,labels:["keyword"]},ansi16:{channels:1,labels:["ansi16"]},ansi256:{channels:1,labels:["ansi256"]},hcg:{channels:3,labels:["h","c","g"]},apple:{channels:3,labels:["r16","g16","b16"]},gray:{channels:1,labels:["gray"]}};_E.exports=X;for(let t of Object.keys(X)){if(!("channels"in X[t]))throw new Error("missing channels property: "+t);if(!("labels"in X[t]))throw new Error("missing channel labels property: "+t);if(X[t].labels.length!==X[t].channels)throw new Error("channel and label counts mismatch: "+t);let{channels:e,labels:n}=X[t];delete X[t].channels,delete X[t].labels,Object.defineProperty(X[t],"channels",{value:e}),Object.defineProperty(X[t],"labels",{value:n})}X.rgb.hsl=function(t){let e=t[0]/255,n=t[1]/255,r=t[2]/255,i=Math.min(e,n,r),s=Math.max(e,n,r),o=s-i,a,c;s===i?a=0:e===s?a=(n-r)/o:n===s?a=2+(r-e)/o:r===s&&(a=4+(e-n)/o),a=Math.min(a*60,360),a<0&&(a+=360);let l=(i+s)/2;return s===i?c=0:l<=.5?c=o/(s+i):c=o/(2-s-i),[a,c*100,l*100]};X.rgb.hsv=function(t){let e,n,r,i,s,o=t[0]/255,a=t[1]/255,c=t[2]/255,l=Math.max(o,a,c),u=l-Math.min(o,a,c),p=function(d){return(l-d)/6/u+1/2};return u===0?(i=0,s=0):(s=u/l,e=p(o),n=p(a),r=p(c),o===l?i=r-n:a===l?i=1/3+e-r:c===l&&(i=2/3+n-e),i<0?i+=1:i>1&&(i-=1)),[i*360,s*100,l*100]};X.rgb.hwb=function(t){let e=t[0],n=t[1],r=t[2],i=X.rgb.hsl(t)[0],s=1/255*Math.min(e,Math.min(n,r));return r=1-1/255*Math.max(e,Math.max(n,r)),[i,s*100,r*100]};X.rgb.cmyk=function(t){let e=t[0]/255,n=t[1]/255,r=t[2]/255,i=Math.min(1-e,1-n,1-r),s=(1-e-i)/(1-i)||0,o=(1-n-i)/(1-i)||0,a=(1-r-i)/(1-i)||0;return[s*100,o*100,a*100,i*100]};function I2(t,e){return wt(t[0]-e[0],2)+wt(t[1]-e[1],2)+wt(t[2]-e[2],2)}X.rgb.keyword=function(t){let e=bE[t];if(e)return e;let n=1/0,r;for(let i of Object.keys(ec)){let s=ec[i],o=I2(t,s);o<n&&(n=o,r=i)}return r};X.keyword.rgb=function(t){return ec[t]};X.rgb.xyz=function(t){let e=t[0]/255,n=t[1]/255,r=t[2]/255;e=e>.04045?wt((e+.055)/1.055,2.4):e/12.92,n=n>.04045?wt((n+.055)/1.055,2.4):n/12.92,r=r>.04045?wt((r+.055)/1.055,2.4):r/12.92;let i=e*.4124+n*.3576+r*.1805,s=e*.2126+n*.7152+r*.0722,o=e*.0193+n*.1192+r*.9505;return[i*100,s*100,o*100]};X.rgb.lab=function(t){let e=X.rgb.xyz(t),n=e[0],r=e[1],i=e[2];n/=95.047,r/=100,i/=108.883,n=n>.008856?wt(n,1/3):7.787*n+16/116,r=r>.008856?wt(r,1/3):7.787*r+16/116,i=i>.008856?wt(i,1/3):7.787*i+16/116;let s=116*r-16,o=500*(n-r),a=200*(r-i);return[s,o,a]};X.hsl.rgb=function(t){let e=t[0]/360,n=t[1]/100,r=t[2]/100,i,s,o;if(n===0)return o=r*255,[o,o,o];r<.5?i=r*(1+n):i=r+n-r*n;let a=2*r-i,c=[0,0,0];for(let l=0;l<3;l++)s=e+1/3*-(l-1),s<0&&s++,s>1&&s--,6*s<1?o=a+(i-a)*6*s:2*s<1?o=i:3*s<2?o=a+(i-a)*(2/3-s)*6:o=a,c[l]=o*255;return c};X.hsl.hsv=function(t){let e=t[0],n=t[1]/100,r=t[2]/100,i=n,s=Math.max(r,.01);r*=2,n*=r<=1?r:2-r,i*=s<=1?s:2-s;let o=(r+n)/2,a=r===0?2*i/(s+i):2*n/(r+n);return[e,a*100,o*100]};X.hsv.rgb=function(t){let e=t[0]/60,n=t[1]/100,r=t[2]/100,i=Math.floor(e)%6,s=e-Math.floor(e),o=255*r*(1-n),a=255*r*(1-n*s),c=255*r*(1-n*(1-s));switch(r*=255,i){case 0:return[r,c,o];case 1:return[a,r,o];case 2:return[o,r,c];case 3:return[o,a,r];case 4:return[c,o,r];case 5:return[r,o,a]}};X.hsv.hsl=function(t){let e=t[0],n=t[1]/100,r=t[2]/100,i=Math.max(r,.01),s,o;o=(2-n)*r;let a=(2-n)*i;return s=n*i,s/=a<=1?a:2-a,s=s||0,o/=2,[e,s*100,o*100]};X.hwb.rgb=function(t){let e=t[0]/360,n=t[1]/100,r=t[2]/100,i=n+r,s;i>1&&(n/=i,r/=i);let o=Math.floor(6*e),a=1-r;s=6*e-o,o&1&&(s=1-s);let c=n+s*(a-n),l,u,p;switch(o){default:case 6:case 0:l=a,u=c,p=n;break;case 1:l=c,u=a,p=n;break;case 2:l=n,u=a,p=c;break;case 3:l=n,u=c,p=a;break;case 4:l=c,u=n,p=a;break;case 5:l=a,u=n,p=c;break}return[l*255,u*255,p*255]};X.cmyk.rgb=function(t){let e=t[0]/100,n=t[1]/100,r=t[2]/100,i=t[3]/100,s=1-Math.min(1,e*(1-i)+i),o=1-Math.min(1,n*(1-i)+i),a=1-Math.min(1,r*(1-i)+i);return[s*255,o*255,a*255]};X.xyz.rgb=function(t){let e=t[0]/100,n=t[1]/100,r=t[2]/100,i,s,o;return i=e*3.2406+n*-1.5372+r*-.4986,s=e*-.9689+n*1.8758+r*.0415,o=e*.0557+n*-.204+r*1.057,i=i>.0031308?1.055*wt(i,1/2.4)-.055:i*12.92,s=s>.0031308?1.055*wt(s,1/2.4)-.055:s*12.92,o=o>.0031308?1.055*wt(o,1/2.4)-.055:o*12.92,i=Math.min(Math.max(0,i),1),s=Math.min(Math.max(0,s),1),o=Math.min(Math.max(0,o),1),[i*255,s*255,o*255]};X.xyz.lab=function(t){let e=t[0],n=t[1],r=t[2];e/=95.047,n/=100,r/=108.883,e=e>.008856?wt(e,1/3):7.787*e+16/116,n=n>.008856?wt(n,1/3):7.787*n+16/116,r=r>.008856?wt(r,1/3):7.787*r+16/116;let i=116*n-16,s=500*(e-n),o=200*(n-r);return[i,s,o]};X.lab.xyz=function(t){let e=t[0],n=t[1],r=t[2],i,s,o;s=(e+16)/116,i=n/500+s,o=s-r/200;let a=wt(s,3),c=wt(i,3),l=wt(o,3);return s=a>.008856?a:(s-16/116)/7.787,i=c>.008856?c:(i-16/116)/7.787,o=l>.008856?l:(o-16/116)/7.787,i*=95.047,s*=100,o*=108.883,[i,s,o]};X.lab.lch=function(t){let e=t[0],n=t[1],r=t[2],i;i=Math.atan2(r,n)*360/2/Math.PI,i<0&&(i+=360);let o=Math.sqrt(n*n+r*r);return[e,o,i]};X.lch.lab=function(t){let e=t[0],n=t[1],i=t[2]/360*2*Math.PI,s=n*Math.cos(i),o=n*Math.sin(i);return[e,s,o]};X.rgb.ansi16=function(t,e=null){let[n,r,i]=t,s=e===null?X.rgb.hsv(t)[2]:e;if(s=Math.round(s/50),s===0)return 30;let o=30+(Math.round(i/255)<<2|Math.round(r/255)<<1|Math.round(n/255));return s===2&&(o+=60),o};X.hsv.ansi16=function(t){return X.rgb.ansi16(X.hsv.rgb(t),t[2])};X.rgb.ansi256=function(t){let e=t[0],n=t[1],r=t[2];return e===n&&n===r?e<8?16:e>248?231:Math.round((e-8)/247*24)+232:16+36*Math.round(e/255*5)+6*Math.round(n/255*5)+Math.round(r/255*5)};X.ansi16.rgb=function(t){let e=t%10;if(e===0||e===7)return t>50&&(e+=3.5),e=e/10.5*255,[e,e,e];let n=(~~(t>50)+1)*.5,r=(e&1)*n*255,i=(e>>1&1)*n*255,s=(e>>2&1)*n*255;return[r,i,s]};X.ansi256.rgb=function(t){if(t>=232){let s=(t-232)*10+8;return[s,s,s]}t-=16;let e,n=Math.floor(t/36)/5*255,r=Math.floor((e=t%36)/6)/5*255,i=e%6/5*255;return[n,r,i]};X.rgb.hex=function(t){let n=(((Math.round(t[0])&255)<<16)+((Math.round(t[1])&255)<<8)+(Math.round(t[2])&255)).toString(16).toUpperCase();return"000000".substring(n.length)+n};X.hex.rgb=function(t){let e=t.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);if(!e)return[0,0,0];let n=e[0];e[0].length===3&&(n=n.split("").map(a=>a+a).join(""));let r=parseInt(n,16),i=r>>16&255,s=r>>8&255,o=r&255;return[i,s,o]};X.rgb.hcg=function(t){let e=t[0]/255,n=t[1]/255,r=t[2]/255,i=Math.max(Math.max(e,n),r),s=Math.min(Math.min(e,n),r),o=i-s,a,c;return o<1?a=s/(1-o):a=0,o<=0?c=0:i===e?c=(n-r)/o%6:i===n?c=2+(r-e)/o:c=4+(e-n)/o,c/=6,c%=1,[c*360,o*100,a*100]};X.hsl.hcg=function(t){let e=t[1]/100,n=t[2]/100,r=n<.5?2*e*n:2*e*(1-n),i=0;return r<1&&(i=(n-.5*r)/(1-r)),[t[0],r*100,i*100]};X.hsv.hcg=function(t){let e=t[1]/100,n=t[2]/100,r=e*n,i=0;return r<1&&(i=(n-r)/(1-r)),[t[0],r*100,i*100]};X.hcg.rgb=function(t){let e=t[0]/360,n=t[1]/100,r=t[2]/100;if(n===0)return[r*255,r*255,r*255];let i=[0,0,0],s=e%1*6,o=s%1,a=1-o,c=0;switch(Math.floor(s)){case 0:i[0]=1,i[1]=o,i[2]=0;break;case 1:i[0]=a,i[1]=1,i[2]=0;break;case 2:i[0]=0,i[1]=1,i[2]=o;break;case 3:i[0]=0,i[1]=a,i[2]=1;break;case 4:i[0]=o,i[1]=0,i[2]=1;break;default:i[0]=1,i[1]=0,i[2]=a}return c=(1-n)*r,[(n*i[0]+c)*255,(n*i[1]+c)*255,(n*i[2]+c)*255]};X.hcg.hsv=function(t){let e=t[1]/100,n=t[2]/100,r=e+n*(1-e),i=0;return r>0&&(i=e/r),[t[0],i*100,r*100]};X.hcg.hsl=function(t){let e=t[1]/100,r=t[2]/100*(1-e)+.5*e,i=0;return r>0&&r<.5?i=e/(2*r):r>=.5&&r<1&&(i=e/(2*(1-r))),[t[0],i*100,r*100]};X.hcg.hwb=function(t){let e=t[1]/100,n=t[2]/100,r=e+n*(1-e);return[t[0],(r-e)*100,(1-r)*100]};X.hwb.hcg=function(t){let e=t[1]/100,r=1-t[2]/100,i=r-e,s=0;return i<1&&(s=(r-i)/(1-i)),[t[0],i*100,s*100]};X.apple.rgb=function(t){return[t[0]/65535*255,t[1]/65535*255,t[2]/65535*255]};X.rgb.apple=function(t){return[t[0]/255*65535,t[1]/255*65535,t[2]/255*65535]};X.gray.rgb=function(t){return[t[0]/100*255,t[0]/100*255,t[0]/100*255]};X.gray.hsl=function(t){return[0,0,t[0]]};X.gray.hsv=X.gray.hsl;X.gray.hwb=function(t){return[0,100,t[0]]};X.gray.cmyk=function(t){return[0,0,0,t[0]]};X.gray.lab=function(t){return[t[0],0,0]};X.gray.hex=function(t){let e=Math.round(t[0]/100*255)&255,r=((e<<16)+(e<<8)+e).toString(16).toUpperCase();return"000000".substring(r.length)+r};X.rgb.gray=function(t){return[(t[0]+t[1]+t[2])/3/255*100]}});var wE=T((c7,vE)=>{var ah=Tw();function P2(){let t={},e=Object.keys(ah);for(let n=e.length,r=0;r<n;r++)t[e[r]]={distance:-1,parent:null};return t}function E2(t){let e=P2(),n=[t];for(e[t].distance=0;n.length;){let r=n.pop(),i=Object.keys(ah[r]);for(let s=i.length,o=0;o<s;o++){let a=i[o],c=e[a];c.distance===-1&&(c.distance=e[r].distance+1,c.parent=r,n.unshift(a))}}return e}function R2(t,e){return function(n){return e(t(n))}}function D2(t,e){let n=[e[t].parent,t],r=ah[e[t].parent][t],i=e[t].parent;for(;e[i].parent;)n.unshift(e[i].parent),r=R2(ah[e[i].parent][i],r),i=e[i].parent;return r.conversion=n,r}vE.exports=function(t){let e=E2(t),n={},r=Object.keys(e);for(let i=r.length,s=0;s<i;s++){let o=r[s];e[o].parent!==null&&(n[o]=D2(o,e))}return n}});var xE=T((u7,SE)=>{var kw=Tw(),C2=wE(),ta={},O2=Object.keys(kw);function A2(t){let e=function(...n){let r=n[0];return r==null?r:(r.length>1&&(n=r),t(n))};return"conversion"in t&&(e.conversion=t.conversion),e}function M2(t){let e=function(...n){let r=n[0];if(r==null)return r;r.length>1&&(n=r);let i=t(n);if(typeof i=="object")for(let s=i.length,o=0;o<s;o++)i[o]=Math.round(i[o]);return i};return"conversion"in t&&(e.conversion=t.conversion),e}O2.forEach(t=>{ta[t]={},Object.defineProperty(ta[t],"channels",{value:kw[t].channels}),Object.defineProperty(ta[t],"labels",{value:kw[t].labels});let e=C2(t);Object.keys(e).forEach(r=>{let i=e[r];ta[t][r]=M2(i),ta[t][r].raw=A2(i)})});SE.exports=ta});var kE=T(na=>{"use strict";var j2=na&&na.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(na,"__esModule",{value:!0});na.activate=void 0;var Iw=j2(xE()),L2=ge(),TE;(function(t){t.Black="black",t.Blue="blue",t.Green="green",t.Orange="orange",t.Purple="purple",t.Red="red",t.White="white",t.Yellow="yellow"})(TE||(TE={}));var Pw={black:"#000000",blue:"#0000FF",green:"#00FF00",orange:"#FF8800",purple:"#CC8899",red:"#FF0000",white:"#FFFFFF",yellow:"#FFFF00"},q2=()=>new RegExp(`(?:mark|color)=(${Object.keys(Pw).join("|")}|(?:#[0-9a-f]{6}|#[0-9a-f]{3}))`,"ig"),F2=Object.prototype.hasOwnProperty;function N2(t){t.connection.onColorPresentation(e=>[{label:`#${Iw.default.rgb.hex(e.color.red*255,e.color.green*255,e.color.blue*255)}`}]),t.connection.onDocumentColor(e=>N(this,null,function*(){let n=yield t.fs.getTextDocument(e.textDocument.uri);if(n==null)return;let s=(yield t.documentManager.getLatest(n)).parsedPayload.literals.filter(c=>c.type===L2.ASTType.StringLiteral),o=[],a=({match:c,markup:l,value:u,astPosition:p,lineIndex:d})=>{let h=c.index+l.indexOf("=")+1,g=h+u.length,f=p.line-1+d,m=h,b=g;return d===0&&(m+=p.character,b+=p.character),{start:{line:f,character:m},end:{line:f,character:b}}};for(let c=0;c<s.length;c++){let l=s[c];if(!l.start)continue;let u=l.start,p=l.value.toString().split(`
110
+ `),s=(0,ON.parseMapDescription)(i);s!=null&&(s.properties.forEach(o=>{if(o.path===et.ISA_PROPERTY)return;let a=o.path.split("."),c=o.type.length>1?new Bv.UnionType(this.context.typeStorage.generateId(et.TypeKind.UnionType,e),o.type.map(l=>(0,$P.determineTypeFromMeta)(l,this.context.typeStorage,this.context.document,this.context.scope)),this.context.typeStorage,this.context.document,this.context.scope):(0,$P.determineTypeFromMeta)(o.type[0],this.context.typeStorage,this.context.document,this.context.scope);n.setPropertyInPath(a,new Bi.EntityInfo(a[a.length-1],c))}),this.context.typeStorage.addType(new RN.ClassType(s.type,n,s.extends||Oe.SignatureDefinitionBaseType.Map,this.context.typeStorage,this.context.document,this.context.scope,new Map)),this.context.typeStorage.addKeyType(new FP.KeyType(s.type,this.context.typeStorage,this.context.document,this.context.scope,!0)))}inferCallExpression(e){this.checkSkipNextInvoke();let n=this.infer(e.base);return n==null?jt.Type.createBaseType(Oe.SignatureDefinitionBaseType.Any,this.context.typeStorage,this.context.document,this.context.scope,null):this.invoke(n)}inferBinaryExpression(e){let n=new t(this.context).infer(e.left)||jt.Type.createBaseType(Oe.SignatureDefinitionBaseType.Any,this.context.typeStorage,this.context.document,this.context.scope,null),r=new t(this.context).infer(e.right)||jt.Type.createBaseType(Oe.SignatureDefinitionBaseType.Any,this.context.typeStorage,this.context.document,this.context.scope,null);this.path+=Ko.PathType.Expression,this.completionItemKind=Vt.CompletionItemKind.Expression,this.value=null;let i=n.getKeyType(),s=r.getKeyType();return(i==null?void 0:i.id)===(s==null?void 0:s.id)?(0,et.isMapType)(n)?(0,UP.shallowMergeMap)(n,r):(0,et.isListType)(n)?(0,UP.shallowMergeList)(n,r):(0,et.isUnionType)(n)?new Bv.UnionType(this.context.typeStorage.generateId(et.TypeKind.UnionType,e),[n,r],this.context.typeStorage,this.context.document,this.context.scope,null):jt.Type.createBaseType(n.id,this.context.typeStorage,this.context.document,this.context.scope,null):n.id===Oe.SignatureDefinitionBaseType.String||r.id===Oe.SignatureDefinitionBaseType.String?jt.Type.createBaseType(Oe.SignatureDefinitionBaseType.String,this.context.typeStorage,this.context.document,this.context.scope,null):n.id===Oe.SignatureDefinitionBaseType.Number||r.id===Oe.SignatureDefinitionBaseType.Number?jt.Type.createBaseType(Oe.SignatureDefinitionBaseType.Number,this.context.typeStorage,this.context.document,this.context.scope,null):jt.Type.createBaseType(Oe.SignatureDefinitionBaseType.Any,this.context.typeStorage,this.context.document,this.context.scope,null)}inferIndexExpression(e){this.checkSkipNextInvoke();let n=this.infer(e.base);if(n==null)return jt.Type.createBaseType(Oe.SignatureDefinitionBaseType.Any,this.context.typeStorage,this.context.document,this.context.scope,null);if(e.index.type===qe.ASTType.InvalidCodeExpression)return jt.Type.createBaseType(Oe.SignatureDefinitionBaseType.Any,this.context.typeStorage,this.context.document,this.context.scope);if(e.index.type===qe.ASTType.StringLiteral){let c=e.index.value,l=n.getProperty(c);if(this.path+=`.${c}`,this.value=null,l!=null)return this.completionItemKind=(0,et.isFunctionType)(l.type)?Vt.CompletionItemKind.Function:Vt.CompletionItemKind.Property,l.type;this.completionItemKind=Vt.CompletionItemKind.Property;let u=new Md.UnknownType(this.context.typeStorage,this.context.document,this.context.scope);return n.setProperty(c,new Bi.EntityInfo(c,u)),u}let r=new BP.InferLightExpression(this.context).infer(e.index)||jt.Type.createBaseType(Oe.SignatureDefinitionBaseType.Any,this.context.typeStorage,this.context.document,this.context.scope,null);if(this.path+=`[${r.id}]`,this.value=null,(0,et.isUnionType)(r)){let a=r.variants.map(c=>{var l;return(l=n.getProperty(c.getKeyType()))==null?void 0:l.type}).filter(c=>c!=null);return this.completionItemKind=Vt.CompletionItemKind.Property,a.length===0?jt.Type.createBaseType(Oe.SignatureDefinitionBaseType.Any,this.context.typeStorage,this.context.document,this.context.scope,null):a.length===1?a[0]:new Bv.UnionType(this.context.typeStorage.generateId(et.TypeKind.UnionType,e),a,this.context.typeStorage,this.context.document,this.context.scope,null)}let i=r.getKeyType()||new FP.KeyType(Oe.SignatureDefinitionBaseType.Any,this.context.typeStorage,this.context.document,this.context.scope),s=n.getProperty(i);if(s!=null)return this.completionItemKind=(0,et.isFunctionType)(s.type)?Vt.CompletionItemKind.Function:Vt.CompletionItemKind.Property,s.type;this.completionItemKind=Vt.CompletionItemKind.Property;let o=new Md.UnknownType(this.context.typeStorage,this.context.document,this.context.scope);return n.setProperty(i,new Bi.EntityInfo(i.id,o)),o}inferFunctionStatement(e){let n=this.createFunctionDescription(e),r=Oe.SignatureDefinitionFunction.parse(et.DEFAULT_SIGNATURE_ORIGIN,{id:this.context.typeStorage.generateId(et.TypeKind.FunctionType,e),type:Oe.SignatureDefinitionBaseType.Function,description:n,arguments:e.parameters.map(s=>{var c,l,u,p;if(s.type===qe.ASTType.Identifier)return{label:(c=s.name)!=null?c:"unknown",type:Oe.SignatureDefinitionBaseType.Any};let o=s,a=new t(this.context).infer(o.init)||jt.Type.createBaseType(Oe.SignatureDefinitionBaseType.Any,this.context.typeStorage,this.context.document,this.context.scope,null);return{label:(u=(l=o.variable)==null?void 0:l.name)!=null?u:"unknown",types:[((p=a.getKeyType())==null?void 0:p.id)||Oe.SignatureDefinitionBaseType.Any]}}),returns:[et.UNKNOWN_TYPE_ID]}),i=new DN.FunctionType(Oe.SignatureDefinitionBaseType.Function,(0,CN.enrichWithMetaInformation)(this.context.typeStorage,r),this.context.typeStorage,this.context.document,this.context.scope,null);return this.path+=Ko.PathType.Function,this.completionItemKind=Vt.CompletionItemKind.Function,this.value=null,i}inferIdentifier(e){let n=this.checkSkipNextInvoke();if(this.path+=e.name,this.value=null,Ko.ConstantIdentifierSet.has(e.name)&&!this.context.scope.hasProperty(e.name))return this.inferConstantIdentifier(e)||jt.Type.createBaseType(Oe.SignatureDefinitionBaseType.Any,this.context.typeStorage,this.context.document,this.context.scope,null);let r=e.name,i=this.context.scope.getProperty(r);if(i!=null)return this.completionItemKind=(0,et.isFunctionType)(i.type)?Vt.CompletionItemKind.Function:Vt.CompletionItemKind.Variable,n?i.type:this.invoke(i.type);this.completionItemKind=Vt.CompletionItemKind.Variable;let s=new Md.UnknownType(this.context.typeStorage,this.context.document,this.context.scope);return this.context.scope.setProperty(r,s),s}inferMemberExpression(e){let n=this.checkSkipNextInvoke(),r=this.infer(e.base);if(r==null)return jt.Type.createBaseType(Oe.SignatureDefinitionBaseType.Any,this.context.typeStorage,this.context.document,this.context.scope,null);if(e.identifier.type===qe.ASTType.InvalidCodeExpression)return jt.Type.createBaseType(Oe.SignatureDefinitionBaseType.Any,this.context.typeStorage,this.context.document,this.context.scope);let i=e.identifier.name,s=r.getProperty(i);if(this.path+=`.${i}`,this.value=null,s!=null)return this.completionItemKind=(0,et.isFunctionType)(s.type)?Vt.CompletionItemKind.Function:Vt.CompletionItemKind.Property,n?s.type:this.invoke(s.type);this.completionItemKind=Vt.CompletionItemKind.Property;let o=new Md.UnknownType(this.context.typeStorage,this.context.document,this.context.scope);return r.setProperty(i,new Bi.EntityInfo(i,o)),o}inferMapConstructorExpression(e){var r;if(this.path+=Ko.PathType.Map,this.completionItemKind=Vt.CompletionItemKind.MapConstructor,this.value="{}",e.fields.length===0)return new Uv.MapType(this.context.typeStorage.generateId(et.TypeKind.MapType,e),null,null,this.context.typeStorage,this.context.document,this.context.scope,null);let n=new Uv.MapType(this.context.typeStorage.generateId(et.TypeKind.MapType,e),null,null,this.context.typeStorage,this.context.document,this.context.scope,null);for(let i=0;i<e.fields.length;i++){let s=e.fields[i],o=(r=new t(this.context).infer(s.value))==null?void 0:r.copy(!1,!0,this.context.typeStorage,this.context.document,this.context.scope,s.value);if(o!=null)if(s.key.type===qe.ASTType.StringLiteral){let a=s.key;n.setProperty(a.value,new Bi.EntityInfo(a.value,o))}else{let a=new BP.InferLightExpression(this.context).infer(s.key);if(a==null)continue;if((0,et.isUnionType)(a))a.variants.forEach(c=>{let l=c.getKeyType();l!=null&&n.setProperty(l,new Bi.EntityInfo(l.id,o))});else{let c=a.getKeyType();if(c==null)continue;n.setProperty(c,new Bi.EntityInfo(c.id,o))}}}return n}inferListConstructorExpression(e){var r;if(this.path+=Ko.PathType.List,this.completionItemKind=Vt.CompletionItemKind.ListConstructor,this.value="[]",e.fields.length===0)return new NP.ListType(this.context.typeStorage.generateId(et.TypeKind.ListType,e),jt.Type.createBaseType(Oe.SignatureDefinitionBaseType.Any,this.context.typeStorage,this.context.document,this.context.scope),this.context.typeStorage,this.context.document,this.context.scope);let n=new NP.ListType(this.context.typeStorage.generateId(et.TypeKind.ListType,e),null,this.context.typeStorage,this.context.document,this.context.scope);for(let i=0;i<e.fields.length;i++){let s=e.fields[i],o=(r=new t(this.context).infer(s.value))==null?void 0:r.copy(!1,!0,this.context.typeStorage,this.context.document,this.context.scope,s.value);o!=null&&n.addElementType(o)}return n}inferUnaryExpression(e){if(e.operator===Ko.UnaryType.Not)return jt.Type.createBaseType(Oe.SignatureDefinitionBaseType.Number,this.context.typeStorage,this.context.document,this.context.scope,null);e.operator===qe.Operator.Reference&&(this.skipNextInvoke=!0);let n=this.infer(e.argument);if(n==null)return jt.Type.createBaseType(Oe.SignatureDefinitionBaseType.Any,this.context.typeStorage,this.context.document,this.context.scope,null);if(e.operator===qe.Operator.New&&(0,et.isMapType)(n)){let r=new Uv.MapType(this.context.typeStorage.generateId(et.TypeKind.MapType,e),null,null,this.context.typeStorage,this.context.document,this.context.scope,null);return r.setProperty(et.ISA_PROPERTY,new Bi.EntityInfo(et.ISA_PROPERTY,n)),r}return n}infer(e){if(e==null)return null;switch(e.type){case qe.ASTType.ParenthesisExpression:return this.inferParenthesisExpression(e);case qe.ASTType.CallExpression:return this.inferCallExpression(e);case qe.ASTType.BinaryExpression:return this.inferBinaryExpression(e);case qe.ASTType.LogicalExpression:return this.inferLogicalExpression(e);case qe.ASTType.IsaExpression:return this.inferIsaExpression(e);case qe.ASTType.ComparisonGroupExpression:return this.inferComparisonGroupExpression(e);case qe.ASTType.FunctionDeclaration:return this.inferFunctionStatement(e);case qe.ASTType.SliceExpression:return this.inferSliceExpression(e);case qe.ASTType.IndexExpression:return this.inferIndexExpression(e);case qe.ASTType.MemberExpression:return this.inferMemberExpression(e);case qe.ASTType.Identifier:return this.inferIdentifier(e);case qe.ASTType.MapConstructorExpression:return this.inferMapConstructorExpression(e);case qe.ASTType.ListConstructorExpression:return this.inferListConstructorExpression(e);case qe.ASTType.NegationExpression:case qe.ASTType.BinaryNegatedExpression:case qe.ASTType.UnaryExpression:return this.inferUnaryExpression(e);case qe.ASTType.NilLiteral:return this.inferNilLiteral(e);case qe.ASTType.StringLiteral:return this.inferStringLiteral(e);case qe.ASTType.NumericLiteral:return this.inferNumericLiteral(e);case qe.ASTType.BooleanLiteral:return this.inferBooleanLiteral(e);case Ad.ASTType.FeatureFileExpression:return this.inferFeatureFileExpression(e);case Ad.ASTType.FeatureLineExpression:return this.inferFeatureLineExpression(e);case Ad.ASTType.FeatureEnvarExpression:return this.inferFeatureEnvarExpression(e);case Ad.ASTType.FeatureInjectExpression:return this.inferFeatureInjectExpression(e);default:return null}}};jd.InferFullExpression=Vv});var Wv=T(gr=>{"use strict";Object.defineProperty(gr,"__esModule",{value:!0});gr.isVariableSetterContextIndex=gr.isVariableSetterContextProperty=gr.isVariableSetterContextVariable=gr.VariableSetterContextComponentKind=void 0;var qd;(function(t){t.Variable="variable",t.Property="property",t.Type="type"})(qd=gr.VariableSetterContextComponentKind||(gr.VariableSetterContextComponentKind={}));function MN(t){return t.kind===qd.Variable}gr.isVariableSetterContextVariable=MN;function jN(t){return t.kind===qd.Property}gr.isVariableSetterContextProperty=jN;function LN(t){return t.kind===qd.Type}gr.isVariableSetterContextIndex=LN});var Gv=T($d=>{"use strict";Object.defineProperty($d,"__esModule",{value:!0});$d.ASTDefinitionAggregator=void 0;var qN=Xt(),Kv=Le(),Bl=ge(),li=Rn(),Vl=qr(),VP=rn(),FN=zn(),Fd=yl(),WP=_d(),KP=Ld(),Ho=Ul(),Nd=Wv(),Hv=hr(),An=st(),zv=class{constructor(e,n,r,i,s){this.typeStorage=e,this.document=n,this.scope=r,this.block=i,this.onRequestScope=s}makeTypeCompatibleWithProperties(e,n){let r=this.document.chunkHelper.findAssignmentVariableSetterContext(e);if((0,Nd.isVariableSetterContextVariable)(r)){this.scope.setProperty(r.property,Vl.MapType.createDefault(this.typeStorage,this.document,this.scope));return}let i=new Ho.InferLightExpression(n).infer(r.resolvePath);if(i.containsOwnProperties()||(this.makeTypeCompatibleWithProperties(r.resolvePath,n),i=new Ho.InferLightExpression(n).infer(r.resolvePath)),(0,Nd.isVariableSetterContextProperty)(r)){i.setProperty(r.lastProperty,new li.EntityInfo(r.lastProperty,Vl.MapType.createDefault(this.typeStorage,this.document,this.scope)));return}let s=new Ho.InferLightExpression(n).infer(r.lastComponent);if((0,An.isUnionType)(s)){s.variants.forEach(a=>{let c=a.getKeyType();c!=null&&i.setProperty(c,new li.EntityInfo(c.id,Vl.MapType.createDefault(this.typeStorage,this.document,this.scope)))});return}let o=s.getKeyType();o!=null&&i.setProperty(o,new li.EntityInfo(o.id,Vl.MapType.createDefault(this.typeStorage,this.document,this.scope)))}aggregateAssignmentStatement(e){var u;let n=this.document.chunkHelper.findAssignmentVariableSetterContext(e.variable);if(n==null)return;let r=new WP.InferContext(this.typeStorage,this.document,this.scope,this.onRequestScope),i=new KP.InferFullExpression(r),s=i.inferCommentDefinition(e)||((u=i.infer(e.init))==null?void 0:u.copy(!1,!1,this.typeStorage,this.document,this.scope,e.init))||new Fd.UnknownType(this.typeStorage,this.document,this.scope,e);if((0,An.isFunctionType)(s)&&this.document.attachFunctionTypeToScope(s.astRef,s),(0,An.isMapType)(s)&&i.createCustomTypeFromMap(e.init,s),(0,Nd.isVariableSetterContextVariable)(n)){let p=n.property;this.scope.symbols.push({name:p,path:p,kind:i.getCompletionItemKind(),source:s.getSource(),assignmentRef:e});let d=this.scope.getProperty(p);if(d!=null&&e.init.type===Bl.ASTType.Unknown)return;if(d!=null&&(0,An.isUnknownType)(d.type)){d.type.mergeIntoType(s),this.scope.setProperty(p,s);return}else if(d!=null&&(0,An.isUnknownType)(s)){s.mergeIntoType(d.type);return}this.scope.setProperty(p,s);return}let o=new Ho.InferLightExpression(r),a=o.infer(n.resolvePath);if(a==null)throw new Error("Cannot assign property to null origin");if(a.containsOwnProperties()||(this.makeTypeCompatibleWithProperties(n.resolvePath,r),o=new Ho.InferLightExpression(r),a=o.infer(n.resolvePath)),(0,An.isFunctionType)(s)&&(s.context=a),(0,Nd.isVariableSetterContextProperty)(n)){let p=n.lastProperty;this.scope.symbols.push({name:p,path:`${o.getPath()}.${p}`,kind:i.getCompletionItemKind(),source:s.getSource(),assignmentRef:e});let d=a.getProperty(p);if(d!=null&&e.init.type===Bl.ASTType.Unknown)return;if(d!=null&&(0,An.isUnknownType)(d.type)){d.type.mergeIntoType(s),a.setProperty(p,new li.EntityInfo(p,s));return}a.setProperty(p,new li.EntityInfo(p,s));return}let c=new Ho.InferLightExpression(r).infer(n.lastComponent);if((0,An.isUnionType)(c)){c.variants.forEach(p=>{let d=p.getKeyType();d!=null&&a.setProperty(d,new li.EntityInfo(d.id,s))});return}let l=c.getKeyType();l!=null&&a.setProperty(l,new li.EntityInfo(l.id,s))}getVariableTypeFromIterator(e,n){if((0,An.isMapType)(e)){let r=new Vl.MapType(this.typeStorage.generateId(An.TypeKind.MapType,n),e.keyType.copy(!1,!0,this.typeStorage,this.document,this.scope),e.valueType.copy(!1,!0,this.typeStorage,this.document,this.scope),this.typeStorage,this.document,this.scope,null,n);return r.setProperty("key",new li.EntityInfo("key",e.keyType.copy(!1,!0,this.typeStorage,this.document,this.scope))),r.setProperty("value",new li.EntityInfo("value",e.valueType.copy(!1,!0,this.typeStorage,this.document,this.scope))),r}else{if((0,An.isListType)(e))return e.elementType.copy(!1,!0,this.typeStorage,this.document,this.scope);if((0,An.isUnionType)(e))return new FN.UnionType(this.typeStorage.generateId(An.TypeKind.UnionType,n),e.variants.map(r=>this.getVariableTypeFromIterator(r,n)),this.typeStorage,this.document,this.scope,n);if(e.id===Kv.SignatureDefinitionBaseType.String)return VP.Type.createBaseType(Kv.SignatureDefinitionBaseType.String,this.typeStorage,this.document,this.scope,n)}return new Fd.UnknownType(this.typeStorage,this.document,this.scope)}aggregateForGenericStatement(e){let n=new WP.InferContext(this.typeStorage,this.document,this.scope,this.onRequestScope),i=new KP.InferFullExpression(n).infer(e.iterator)||new Fd.UnknownType(this.typeStorage,this.document,this.scope),s=this.getVariableTypeFromIterator(i,e);if(e.variable.type!==Bl.ASTType.Identifier)return;let o=e.variable.name;this.scope.setProperty(o,s),this.scope.setProperty(`__${o}_idx`,VP.Type.createBaseType(Kv.SignatureDefinitionBaseType.Number,this.typeStorage,this.document,this.scope,e.variable)),this.scope.symbols.push({name:o,path:o,kind:Hv.CompletionItemKind.Variable,source:s.getSource(),assignmentRef:e},{name:`__${o}_idx`,path:`__${o}_idx`,kind:Hv.CompletionItemKind.Variable,source:s.getSource(),assignmentRef:e})}aggregateImportDefinition(e){let n=e.name,r=this.scope.getProperty(n.name);if(this.scope.symbols.push({name:n.name,path:n.name,kind:Hv.CompletionItemKind.Variable,source:[{document:this.document.name,astRef:e,start:n.start,end:n.end}],assignmentRef:e}),r!=null){r.type.sourceMap.add(this.document,e);return}this.scope.setProperty(n.name,new Fd.UnknownType(this.typeStorage,this.document,this.scope,e))}aggregate(){for(let e=0;e<this.block.definitions.length;e++){let n=this.block.definitions[e];switch(n.type){case Bl.ASTType.AssignmentStatement:{this.aggregateAssignmentStatement(n);break}case Bl.ASTType.ForGenericStatement:{this.aggregateForGenericStatement(n);break}case qN.ASTType.FeatureImportExpression:{this.aggregateImportDefinition(n);break}}}}};$d.ASTDefinitionAggregator=zv});var Jv=T(Ud=>{"use strict";Object.defineProperty(Ud,"__esModule",{value:!0});Ud.DocumentTypeStorage=void 0;var Mn=Le(),Wl=Rn(),Xn=jo(),NN=pd(),Yv=class extends NN.TypeStorage{constructor(e,n){super(n),this.document=e}insertDefault(){let e=this.parent;if(!e)throw new Error("Global type storage is not defined.");let n=(0,Xn.createProxyForNativeType)(Mn.SignatureDefinitionBaseType.General,this.document),r=(0,Xn.createProxyForNativeType)(Mn.SignatureDefinitionBaseType.Function,this.document),i=(0,Xn.createProxyForNativeType)(Mn.SignatureDefinitionBaseType.Map,this.document),s=(0,Xn.createProxyForNativeType)(Mn.SignatureDefinitionBaseType.List,this.document),o=(0,Xn.createProxyForNativeType)(Mn.SignatureDefinitionBaseType.Number,this.document),a=(0,Xn.createProxyForNativeType)(Mn.SignatureDefinitionBaseType.String,this.document),c=(0,Xn.createProxyForNativeType)(Mn.SignatureDefinitionBaseType.Any,this.document),l=(0,Xn.persistTypeInNativeFunction)(Mn.SignatureDefinitionBaseType.General,"funcRef",r,this.document,e),u=(0,Xn.persistTypeInNativeFunction)(Mn.SignatureDefinitionBaseType.General,"map",i,this.document,e),p=(0,Xn.persistTypeInNativeFunction)(Mn.SignatureDefinitionBaseType.General,"list",s,this.document,e),d=(0,Xn.persistTypeInNativeFunction)(Mn.SignatureDefinitionBaseType.General,"number",o,this.document,e),h=(0,Xn.persistTypeInNativeFunction)(Mn.SignatureDefinitionBaseType.General,"string",a,this.document,e);n.setProperty("funcRef",new Wl.EntityInfo("funcRef",l)),n.setProperty("map",new Wl.EntityInfo("map",u)),n.setProperty("list",new Wl.EntityInfo("list",p)),n.setProperty("number",new Wl.EntityInfo("number",d)),n.setProperty("string",new Wl.EntityInfo("string",h)),this.addType(n),this.addType(r),this.addType(i),this.addType(s),this.addType(o),this.addType(a),this.addType(c)}addToAny(e,n){if(typeof e!="string")return;let r=this.typeInterfaces.get(Mn.SignatureDefinitionBaseType.Any);r!=null&&r.properties.set(e,n)}generateId(e,n){let r=n?`<${n.type}:${n.start.toString()}-${n.end.toString()}>`:"<virtual>";return`${e}-${this.document.name}-${this.__internalHandleCounter++}-${r}`}};Ud.DocumentTypeStorage=Yv});var Xv=T(Kl=>{"use strict";Object.defineProperty(Kl,"__esModule",{value:!0});Kl.ScopeState=void 0;var $N;(function(t){t[t.Inititialized=0]="Inititialized",t[t.Pending=1]="Pending",t[t.Resolved=2]="Resolved"})($N=Kl.ScopeState||(Kl.ScopeState={}))});var Zv=T(Wd=>{"use strict";Object.defineProperty(Wd,"__esModule",{value:!0});Wd.ChunkHelper=void 0;var Bd=ge(),Vd=Wv(),Qv=class{constructor(e){this._root=e}getLastASTItemOfLine(e){let n=this._root.lines[e];if(!n||n.length===0)return null;let r=n[0];for(let i=1;i<n.length;i++){let s=n[i];(s.start.line>r.start.line||s.start.line===r.start.line&&s.start.character>r.start.character)&&(r=s)}return r}findASTItemInLine(e,n){let r=this._root.lines[e];if(r&&r.length>0){let i=r.find(s=>s.type===n);if(i)return i}return null}findAssignmentVariableSetterContext(e){switch(e.type){case Bd.ASTType.MemberExpression:{let n=e;return{resolvePath:n.base,lastProperty:n.identifier.name,kind:Vd.VariableSetterContextComponentKind.Property}}case Bd.ASTType.Identifier:return{property:e.name,kind:Vd.VariableSetterContextComponentKind.Variable};case Bd.ASTType.IndexExpression:{let n=e;return n.index.type===Bd.ASTType.StringLiteral?{resolvePath:n.base,lastProperty:n.index.value,kind:Vd.VariableSetterContextComponentKind.Property}:{resolvePath:n.base,lastComponent:n.index,kind:Vd.VariableSetterContextComponentKind.Type}}}return null}};Wd.ChunkHelper=Qv});var tw=T(Hd=>{"use strict";Object.defineProperty(Hd,"__esModule",{value:!0});Hd.Scope=void 0;var HP=Le(),Hl=hr(),an=ys(),Kd=st(),UN=Rn(),BN=qr(),ew=class{constructor(e,n){this.document=e,this.outer=n,this.locals=new BN.MapType(e.typeStorage.generateId(Kd.TypeKind.MapType),null,null,e.typeStorage,e,this,null,null,!0),this.globals=e.globals||this,this.symbols=[]}getSelf(){var e;return(e=this.associatedFunction)==null?void 0:e.context}getSuper(){var n;let e=this.getSelf();if(!(e==null||!(0,Kd.isMapType)(e)))return(n=e.getProperty(Kd.ISA_PROPERTY))==null?void 0:n.type}getOuter(){var e;return(e=this.outer)==null?void 0:e.getLocals()}getLocals(){return this.locals}getGlobals(){return this.globals.getLocals()}setProperty(e,n){typeof e=="string"&&this.locals.setProperty(e,new UN.EntityInfo(e,n))}getProperty(e){var n;return this.locals.hasProperty(e)?this.locals.getProperty(e):(n=this.outer)!=null&&n.hasProperty(e)?this.outer.locals.getProperty(e):this.globals.hasProperty(e)?this.globals.locals.getProperty(e):this.document.typeStorage.getTypePropertyById(HP.SignatureDefinitionBaseType.General,e)}getAllProperties(e=1){var i;if(e>Kd.MAX_ALL_PROPERTIES_DEPTH)return[];let n=new Map,r=[...this.locals.getAllProperties(e+1),...this.globals!==this?this.globals.getAllProperties(e+1):[],...((i=this.outer)==null?void 0:i.getAllProperties(e+1))||[],...this.document.typeStorage.getTypeById(HP.SignatureDefinitionBaseType.General).getAllProperties(e+1)];for(let s of r)n.has(s.name)||n.set(s.name,s);return!n.has(an.ConstantIdentifier.Globals)&&this.getGlobals()!=null&&n.set(an.ConstantIdentifier.Globals,{type:this.getGlobals(),name:an.ConstantIdentifier.Globals,kind:Hl.CompletionItemKind.Constant}),!n.has(an.ConstantIdentifier.Locals)&&this.getLocals()!=null&&n.set(an.ConstantIdentifier.Locals,{type:this.getLocals(),name:an.ConstantIdentifier.Locals,kind:Hl.CompletionItemKind.Constant}),!n.has(an.ConstantIdentifier.Outer)&&this.getOuter()!=null&&n.set(an.ConstantIdentifier.Outer,{type:this.getOuter(),name:an.ConstantIdentifier.Outer,kind:Hl.CompletionItemKind.Constant}),!n.has(an.ConstantIdentifier.Self)&&this.getSelf()!=null&&n.set(an.ConstantIdentifier.Self,{type:this.getSelf(),name:an.ConstantIdentifier.Self,kind:Hl.CompletionItemKind.Constant}),!n.has(an.ConstantIdentifier.Super)&&this.getSuper()!=null&&n.set(an.ConstantIdentifier.Super,{type:this.getSelf(),name:an.ConstantIdentifier.Super,kind:Hl.CompletionItemKind.Constant}),Array.from(n.values())}resolveAllAvailableWithQuery(e){let n=[this];return this.outer&&n.push(this.outer),this!==this.globals&&n.push(this.globals),n.flatMap(r=>r.symbols.filter(i=>i.path.includes(e)))}hasProperty(e){return this.locals.hasProperty(e)}};Hd.Scope=ew});var iw=T(zd=>{"use strict";Object.defineProperty(zd,"__esModule",{value:!0});zd.Document=void 0;var zP=Le(),VN=ge(),GP=Gv(),nw=_d(),YP=Ld(),WN=Ul(),KN=Jv(),zo=Xv(),zl=st(),HN=Zv(),zN=qo(),GN=vl(),JP=tw(),XP=rn(),QP=zn(),rw=class t{constructor(e,n,r,i){var s;this.scopes=[],this.name=e,this.chunk=n,this.typeManager=r,this.typeStorage=new KN.DocumentTypeStorage(this,i),this.globals=new JP.Scope(this),this.scopeRefMapping=new WeakMap,this.scopeFnMapping=new WeakMap,this.chunkHelper=new HN.ChunkHelper(n),this.typeStorage.insertDefault(),(s=r.modifyTypeStorage)==null||s.call(r,this,i)}createScope(e){if(this.scopeRefMapping.has(e))return;let n=this.scopeRefMapping.get(e.scope),i={scope:new JP.Scope(this,n.scope),astRef:e,state:zo.ScopeState.Inititialized};this.scopes.push(i),this.scopeRefMapping.set(e,i)}aggregateScopes(){let e=this.chunk;if(this.scopeRefMapping.has(e))return;let n={scope:this.globals,astRef:e,state:zo.ScopeState.Inititialized};this.scopes.push(n),this.scopeRefMapping.set(e,n);for(let r=0;r<e.scopes.length;r++){let i=e.scopes[r];this.createScope(i)}}attachFunctionTypeToScope(e,n){let r=this.scopeRefMapping.get(e);r!=null&&(r.scope.associatedFunction=n,this.scopeFnMapping.set(n,r))}assumeArgumentTypes(e,n,r){let i=r.getArguments();for(let s=0;s<i.length;s++){let o=i[s],a=o.getTypes(),c=e.parameters[s],l=a.map(p=>(0,zN.determineTypeFromMeta)(p,this.typeStorage,this,n.scope,c.type===VN.ASTType.AssignmentStatement?c.init:c)),u=new QP.UnionType(this.typeStorage.generateId(zl.TypeKind.UnionType),l,this.typeStorage,this,n.scope);n.scope.setProperty(o.getLabel(),u.variants.length===1?u.variants[0]:u)}}assumeReturnType(e,n,r){if(e.returns.length===0){let o=XP.Type.createBaseType(zl.NIL_TYPE_ID,this.typeStorage,this,n.scope);n.scope.associatedFunction.returnType=o,r._returns=o.toMeta().map(zP.SignatureDefinitionTypeMeta.parse);return}let i=new QP.UnionType(this.typeStorage.generateId(zl.TypeKind.UnionType),[],this.typeStorage,this,n.scope);for(let o=0;o<e.returns.length;o++){let a=e.returns[o];if(a.argument==null){i.addVariant(XP.Type.createBaseType(zl.NIL_TYPE_ID,this.typeStorage,this,n.scope));continue}let c=new YP.InferFullExpression(new nw.InferContext(this.typeStorage,this,n.scope)).infer(a.argument);c&&i.addVariant(c)}let s=i.variants.length===1?i.variants[0]:i;n.scope.associatedFunction.returnType=s,r._returns=s.toMeta().map(zP.SignatureDefinitionTypeMeta.parse)}aggregateDefinition(e){let n=this.scopeRefMapping.get(e);if(n.state!==zo.ScopeState.Inititialized)return;if(n.state=zo.ScopeState.Pending,n.scope.associatedFunction==null){new GP.ASTDefinitionAggregator(this.typeStorage,this,n.scope,e,a=>this.aggregateDefinition(a)).aggregate(),n.state=zo.ScopeState.Resolved;return}let r=n.scope.associatedFunction.signature;this.assumeArgumentTypes(e,n,r),new GP.ASTDefinitionAggregator(this.typeStorage,this,n.scope,e,o=>this.aggregateDefinition(o)).aggregate();let s=r.getReturns();s.length===1&&s[0].type===zl.UNKNOWN_TYPE_ID&&this.assumeReturnType(e,n,r),n.state=zo.ScopeState.Resolved}aggregateDefinitions(){let e=this.chunk;this.aggregateDefinition(e);for(let n=0;n<e.scopes.length;n++){let r=e.scopes[n];this.aggregateDefinition(r)}}resolveAllAssignmentsWithQuery(e){return[...this.scopes.flatMap(n=>n.scope.symbols.filter(r=>r.path.includes(e)))]}resolveAvailableAssignments(e){let n=new nw.InferContext(this.typeStorage,this,this.globals),r=new WN.InferLightExpression(n);r.infer(e);let i=this.scopeRefMapping.get(e.scope),s=[i.scope];i.scope.outer&&s.push(i.scope.outer),i.scope!==i.scope.globals&&s.push(i.scope.globals);let o=r.getPath();return s.flatMap(a=>a.symbols.filter(c=>c.path.includes(o)))}resolvePath(e){return this.globals.locals.getPropertyInPath(e)}resolveNamespace(e,n){let r=this.scopeRefMapping.get(e.scope);if(!r)return null;let i=new nw.InferContext(this.typeStorage,this,r.scope),s=new YP.InferFullExpression(i,n),o=s.infer(e);return o==null?null:{item:o,path:s.getPath(),value:s.getValue(),completionItemKind:s.getCompletionItemKind(),sources:o.getSource()}}merge(...e){var r,i;let n=new t(this.name,this.chunk,this.typeManager,this.typeStorage.parent);n.aggregateScopes();for(let s=0;s<e.length;s++){let o=e[s];n.typeStorage.merge(o.document.typeStorage),(i=(r=this.typeManager).modifyTypeStorageMerge)==null||i.call(r,n,o.document,this.typeStorage.parent)}for(let s=0;s<e.length;s++){let o=e[s];(0,GN.mergeScope)(n.typeStorage,n.globals,o.document.globals,o.namespaces)}return n.aggregateDefinitions(),n}};zd.Document=rw});var ZP=T(Gd=>{"use strict";Object.defineProperty(Gd,"__esModule",{value:!0});Gd.TypeManager=void 0;var YN=Y_(),JN=iw(),sw=class{constructor(e){this.documents=new Map,this.container=e.container,this.typeStorage=new YN.GlobalTypeStorage,this.modifyTypeStorage=e.modifyTypeStorage,this.modifyTypeStorageMerge=e.modifyTypeStorageMerge,this.initializeTypeStorage()}initializeTypeStorage(){this.typeStorage.insertPrimitives(this.container),this.typeStorage.insertNonPrimitives(this.container),this.typeStorage.insertAllAnyTypeMembers(this.container)}analyze(e,n){let r=new JN.Document(e,n,this,this.typeStorage);return r.aggregateScopes(),r.aggregateDefinitions(),this.documents.set(e,r),r}get(e){return this.documents.get(e)}};Gd.TypeManager=sw});var tE=T(Go=>{"use strict";Object.defineProperty(Go,"__esModule",{value:!0});Go.isSignatureDefinitionEqual=Go.isTypeMetaEqual=void 0;function eE(t,e){return t.isEqual(e)}Go.isTypeMetaEqual=eE;function XN(t,e){return t===e||t.getOrigin()===e.getOrigin()&&eE(t.getType(),e.getType())&&t.isProtected()===e.isProtected()&&t.getDescription()===e.getDescription()}Go.isSignatureDefinitionEqual=XN});var Yo=T(q=>{"use strict";Object.defineProperty(q,"__esModule",{value:!0});q.deepMerge=q.mergeScope=q.enrichWithMetaInformation=q.determineTypeFromMeta=q.createCommentBlock=q.ChunkHelper=q.CompletionItemKind=q.PathType=q.UnaryType=q.ConstantIdentifierSet=q.ConstantIdentifier=q.DEFAULT_CUSTOM_FUNCTION_DESCRIPTION=q.MAX_DEPTH=q.ScopeState=q.isUnknownType=q.isUnionType=q.isListType=q.isFunctionType=q.isClassType=q.isMapType=q.isValidKeyValue=q.isKeyType=q.BASE_TYPE_SET=q.META_DOCS_SIGNATURE_ORIGIN=q.DEFAULT_SOURCE_DOCUMENT_ID=q.DEFAULT_SIGNATURE_ORIGIN=q.ISA_PROPERTY=q.UNKNOWN_TYPE_ID=q.NIL_TYPE_ID=q.MAX_ALL_PROPERTIES_DEPTH=q.TypeKind=q.ASTDefinitionAggregator=q.InferLightExpression=q.InferFullExpression=q.InferContext=q.InferBase=q.DocumentTypeStorage=q.GlobalTypeStorage=q.TypeStorage=q.Scope=q.Document=q.KeyType=q.EntityInfo=q.UnionType=q.MapType=q.ListType=q.FunctionType=q.ClassType=q.Type=q.TypeManager=void 0;q.parseMapDescription=q.parseAssignDescription=q.normalizeText=q.persistTypeInNativeFunction=q.createProxyForNativeType=q.isSignatureDefinitionEqual=q.isTypeMetaEqual=q.SourceMap=q.shallowMergeMap=q.shallowMergeList=void 0;var QN=ZP();Object.defineProperty(q,"TypeManager",{enumerable:!0,get:function(){return QN.TypeManager}});var ZN=rn();Object.defineProperty(q,"Type",{enumerable:!0,get:function(){return ZN.Type}});var e$=fl();Object.defineProperty(q,"ClassType",{enumerable:!0,get:function(){return e$.ClassType}});var t$=bl();Object.defineProperty(q,"FunctionType",{enumerable:!0,get:function(){return t$.FunctionType}});var n$=ds();Object.defineProperty(q,"ListType",{enumerable:!0,get:function(){return n$.ListType}});var r$=qr();Object.defineProperty(q,"MapType",{enumerable:!0,get:function(){return r$.MapType}});var i$=zn();Object.defineProperty(q,"UnionType",{enumerable:!0,get:function(){return i$.UnionType}});var s$=Rn();Object.defineProperty(q,"EntityInfo",{enumerable:!0,get:function(){return s$.EntityInfo}});var o$=_l();Object.defineProperty(q,"KeyType",{enumerable:!0,get:function(){return o$.KeyType}});var a$=iw();Object.defineProperty(q,"Document",{enumerable:!0,get:function(){return a$.Document}});var l$=tw();Object.defineProperty(q,"Scope",{enumerable:!0,get:function(){return l$.Scope}});var c$=pd();Object.defineProperty(q,"TypeStorage",{enumerable:!0,get:function(){return c$.TypeStorage}});var u$=Y_();Object.defineProperty(q,"GlobalTypeStorage",{enumerable:!0,get:function(){return u$.GlobalTypeStorage}});var p$=Jv();Object.defineProperty(q,"DocumentTypeStorage",{enumerable:!0,get:function(){return p$.DocumentTypeStorage}});var d$=Ed();Object.defineProperty(q,"InferBase",{enumerable:!0,get:function(){return d$.InferBase}});var h$=_d();Object.defineProperty(q,"InferContext",{enumerable:!0,get:function(){return h$.InferContext}});var f$=Ld();Object.defineProperty(q,"InferFullExpression",{enumerable:!0,get:function(){return f$.InferFullExpression}});var m$=Ul();Object.defineProperty(q,"InferLightExpression",{enumerable:!0,get:function(){return m$.InferLightExpression}});var g$=Gv();Object.defineProperty(q,"ASTDefinitionAggregator",{enumerable:!0,get:function(){return g$.ASTDefinitionAggregator}});var Wt=st();Object.defineProperty(q,"TypeKind",{enumerable:!0,get:function(){return Wt.TypeKind}});Object.defineProperty(q,"MAX_ALL_PROPERTIES_DEPTH",{enumerable:!0,get:function(){return Wt.MAX_ALL_PROPERTIES_DEPTH}});Object.defineProperty(q,"NIL_TYPE_ID",{enumerable:!0,get:function(){return Wt.NIL_TYPE_ID}});Object.defineProperty(q,"UNKNOWN_TYPE_ID",{enumerable:!0,get:function(){return Wt.UNKNOWN_TYPE_ID}});Object.defineProperty(q,"ISA_PROPERTY",{enumerable:!0,get:function(){return Wt.ISA_PROPERTY}});Object.defineProperty(q,"DEFAULT_SIGNATURE_ORIGIN",{enumerable:!0,get:function(){return Wt.DEFAULT_SIGNATURE_ORIGIN}});Object.defineProperty(q,"DEFAULT_SOURCE_DOCUMENT_ID",{enumerable:!0,get:function(){return Wt.DEFAULT_SOURCE_DOCUMENT_ID}});Object.defineProperty(q,"META_DOCS_SIGNATURE_ORIGIN",{enumerable:!0,get:function(){return Wt.META_DOCS_SIGNATURE_ORIGIN}});Object.defineProperty(q,"BASE_TYPE_SET",{enumerable:!0,get:function(){return Wt.BASE_TYPE_SET}});Object.defineProperty(q,"isKeyType",{enumerable:!0,get:function(){return Wt.isKeyType}});Object.defineProperty(q,"isValidKeyValue",{enumerable:!0,get:function(){return Wt.isValidKeyValue}});Object.defineProperty(q,"isMapType",{enumerable:!0,get:function(){return Wt.isMapType}});Object.defineProperty(q,"isClassType",{enumerable:!0,get:function(){return Wt.isClassType}});Object.defineProperty(q,"isFunctionType",{enumerable:!0,get:function(){return Wt.isFunctionType}});Object.defineProperty(q,"isListType",{enumerable:!0,get:function(){return Wt.isListType}});Object.defineProperty(q,"isUnionType",{enumerable:!0,get:function(){return Wt.isUnionType}});Object.defineProperty(q,"isUnknownType",{enumerable:!0,get:function(){return Wt.isUnknownType}});var y$=Xv();Object.defineProperty(q,"ScopeState",{enumerable:!0,get:function(){return y$.ScopeState}});var b$=Mo();Object.defineProperty(q,"MAX_DEPTH",{enumerable:!0,get:function(){return b$.MAX_DEPTH}});var Gl=ys();Object.defineProperty(q,"DEFAULT_CUSTOM_FUNCTION_DESCRIPTION",{enumerable:!0,get:function(){return Gl.DEFAULT_CUSTOM_FUNCTION_DESCRIPTION}});Object.defineProperty(q,"ConstantIdentifier",{enumerable:!0,get:function(){return Gl.ConstantIdentifier}});Object.defineProperty(q,"ConstantIdentifierSet",{enumerable:!0,get:function(){return Gl.ConstantIdentifierSet}});Object.defineProperty(q,"UnaryType",{enumerable:!0,get:function(){return Gl.UnaryType}});Object.defineProperty(q,"PathType",{enumerable:!0,get:function(){return Gl.PathType}});var _$=hr();Object.defineProperty(q,"CompletionItemKind",{enumerable:!0,get:function(){return _$.CompletionItemKind}});var v$=Zv();Object.defineProperty(q,"ChunkHelper",{enumerable:!0,get:function(){return v$.ChunkHelper}});var w$=Nl();Object.defineProperty(q,"createCommentBlock",{enumerable:!0,get:function(){return w$.createCommentBlock}});var S$=qo();Object.defineProperty(q,"determineTypeFromMeta",{enumerable:!0,get:function(){return S$.determineTypeFromMeta}});var x$=Mv();Object.defineProperty(q,"enrichWithMetaInformation",{enumerable:!0,get:function(){return x$.enrichWithMetaInformation}});var Yd=vl();Object.defineProperty(q,"mergeScope",{enumerable:!0,get:function(){return Yd.mergeScope}});Object.defineProperty(q,"deepMerge",{enumerable:!0,get:function(){return Yd.deepMerge}});Object.defineProperty(q,"shallowMergeList",{enumerable:!0,get:function(){return Yd.shallowMergeList}});Object.defineProperty(q,"shallowMergeMap",{enumerable:!0,get:function(){return Yd.shallowMergeMap}});var T$=Jp();Object.defineProperty(q,"SourceMap",{enumerable:!0,get:function(){return T$.SourceMap}});var nE=tE();Object.defineProperty(q,"isTypeMetaEqual",{enumerable:!0,get:function(){return nE.isTypeMetaEqual}});Object.defineProperty(q,"isSignatureDefinitionEqual",{enumerable:!0,get:function(){return nE.isSignatureDefinitionEqual}});var rE=jo();Object.defineProperty(q,"createProxyForNativeType",{enumerable:!0,get:function(){return rE.createProxyForNativeType}});Object.defineProperty(q,"persistTypeInNativeFunction",{enumerable:!0,get:function(){return rE.persistTypeInNativeFunction}});var k$=Td();Object.defineProperty(q,"normalizeText",{enumerable:!0,get:function(){return k$.normalizeText}});var I$=qv();Object.defineProperty(q,"parseAssignDescription",{enumerable:!0,get:function(){return I$.parseAssignDescription}});var P$=jv();Object.defineProperty(q,"parseMapDescription",{enumerable:!0,get:function(){return P$.parseMapDescription}})});var ow=T(Jo=>{"use strict";Object.defineProperty(Jo,"__esModule",{value:!0});Jo.getSymbolItemKind=Jo.getCompletionItemKind=void 0;var tt=Yo(),E$={[tt.CompletionItemKind.Constant]:21,[tt.CompletionItemKind.Internal]:21,[tt.CompletionItemKind.InternalFunction]:21,[tt.CompletionItemKind.InternalProperty]:21,[tt.CompletionItemKind.Property]:6,[tt.CompletionItemKind.Variable]:6,[tt.CompletionItemKind.Expression]:6,[tt.CompletionItemKind.Function]:3,[tt.CompletionItemKind.ListConstructor]:12,[tt.CompletionItemKind.MapConstructor]:12,[tt.CompletionItemKind.Literal]:12,[tt.CompletionItemKind.Unknown]:12},R$=t=>{var e;return(e=E$[t])!=null?e:6};Jo.getCompletionItemKind=R$;var D$={[tt.CompletionItemKind.Constant]:14,[tt.CompletionItemKind.Internal]:14,[tt.CompletionItemKind.InternalFunction]:14,[tt.CompletionItemKind.InternalProperty]:14,[tt.CompletionItemKind.Variable]:13,[tt.CompletionItemKind.Property]:13,[tt.CompletionItemKind.Expression]:13,[tt.CompletionItemKind.Function]:12,[tt.CompletionItemKind.ListConstructor]:18,[tt.CompletionItemKind.MapConstructor]:19,[tt.CompletionItemKind.Literal]:13,[tt.CompletionItemKind.Unknown]:13},C$=t=>{var e;return(e=D$[t])!=null?e:13};Jo.getSymbolItemKind=C$});var iE=T(Jd=>{"use strict";Object.defineProperty(Jd,"__esModule",{value:!0});Jd.CompletionListBuilder=void 0;var O$=ow(),aw=class{constructor(){this.collection=new Map,this.default=[]}setDefault(e){this.default=e}addCollection(e){e!=null&&(this.collection=new Map([...this.collection,...e]))}build(){let e=[];for(let[n,r]of this.collection)e.push({label:n,kind:(0,O$.getCompletionItemKind)(r.kind)});return[...e,...this.default]}};Jd.CompletionListBuilder=aw});var Qd=T(Xo=>{"use strict";Object.defineProperty(Xo,"__esModule",{value:!0});Xo.findEx=Xo.ScraperWalker=void 0;var A$=ge(),M$=function(t){return{ParenthesisExpression:(e,n)=>{t(e.expression,n)},AssignmentStatement:function(e,n){t(e.init,n),t(e.variable,n)},MemberExpression:function(e,n){t(e.base,n),t(e.identifier,n)},FunctionDeclaration:function(e,n){for(let r=0;r<e.parameters.length;r++)t(e.parameters[r],n);for(let r=0;r<e.body.length;r++)t(e.body[r],n)},MapConstructorExpression:function(e,n){for(let r=0;r<e.fields.length;r++)t(e.fields[r],n)},ReturnStatement:function(e,n){e.argument&&t(e.argument,n)},WhileStatement:function(e,n){t(e.condition,n);for(let r=0;r<e.body.length;r++)t(e.body[r],n)},IndexExpression:function(e,n){t(e.base,n),t(e.index,n)},SliceExpression:function(e,n){t(e.base,n),t(e.left,n),t(e.right,n)},ListValue:function(e,n){t(e.value,n)},MapKeyString:function(e,n){t(e.key,n),t(e.value,n)},IfShortcutStatement:function(e,n){for(let r=0;r<e.clauses.length;r++)t(e.clauses[r],n)},IfShortcutClause:function(e,n){t(e.condition,n);for(let r=0;r<e.body.length;r++)t(e.body[r],n)},ElseifShortcutClause:function(e,n){t(e.condition,n);for(let r=0;r<e.body.length;r++)t(e.body[r],n)},ElseShortcutClause:function(e,n){for(let r=0;r<e.body.length;r++)t(e.body[r],n)},ForGenericStatement:function(e,n){t(e.variable,n),t(e.iterator,n);for(let r=0;r<e.body.length;r++)t(e.body[r],n)},IfStatement:function(e,n){for(let r=0;r<e.clauses.length;r++)t(e.clauses[r],n)},IfClause:function(e,n){t(e.condition,n);for(let r=0;r<e.body.length;r++)t(e.body[r],n)},ElseifClause:function(e,n){t(e.condition,n);for(let r=0;r<e.body.length;r++)t(e.body[r],n)},ElseClause:function(e,n){for(let r=0;r<e.body.length;r++)t(e.body[r],n)},NegationExpression:function(e,n){t(e.argument,n)},CallExpression:function(e,n){t(e.base,n);for(let r=0;r<e.arguments.length;r++)t(e.arguments[r],n)},CallStatement:function(e,n){t(e.expression,n)},ListConstructorExpression:function(e,n){for(let r=0;r<e.fields.length;r++)t(e.fields[r],n)},BinaryExpression:function(e,n){t(e.left,n),t(e.right,n)},BinaryNegatedExpression:function(e,n){t(e.argument,n)},IsaExpression:function(e,n){t(e.left,n),t(e.right,n)},LogicalExpression:function(e,n){t(e.left,n),t(e.right,n)},ComparisonGroupExpression:function(e,n){for(let r=0;r<e.expressions.length;r++)t(e.expressions[r],n)},UnaryExpression:function(e,n){t(e.argument,n)},Chunk:function(e,n){for(let r=0;r<e.body.length;r++)t(e.body[r],n)},InvalidCodeExpression:()=>{}}},Xd=class{constructor(e,n={}){this.map=Object.assign(M$(this.visit.bind(this)),n),this.callback=e,this.state={exit:!1,skip:!1}}visit(e,n=0){if(e==null)return;if(e.type==null)throw console.error("Error ast type:",e),new Error("Unexpected as type");let r=this.callback(e,n);if(r!=null&&Object.assign(this.state,r),this.state.exit||this.state.skip){this.state.skip=!1;return}let i=this.map[e.type];i!=null&&i.call(this,e,n+1)}};Xo.ScraperWalker=Xd;function j$(t,e){let n=[];return new Xd((i,s)=>{let o=t(i,s)||{};return o.valid&&i.type!==A$.ASTType.InvalidCodeExpression&&n.push(i),{exit:!!o.exit,skip:!!o.skip}}).visit(e),n}Xo.findEx=j$});var lw=T(ln=>{"use strict";Object.defineProperty(ln,"__esModule",{value:!0});ln.lookupBase=ln.lookupIdentifier=ln.lookupScopes=ln.lookupRootScope=void 0;var ci=ge(),L$=t=>{let e=t;for(;e.scope;)e=e.scope;return e};ln.lookupRootScope=L$;var q$=t=>{if(!t.scope)return[t];let e=(0,ln.lookupRootScope)(t);return e===t.scope?[t,e]:[t,t.scope,e]};ln.lookupScopes=q$;var F$=t=>{switch(t.type){case ci.ASTType.CallStatement:return(0,ln.lookupIdentifier)(t.expression);case ci.ASTType.CallExpression:return(0,ln.lookupIdentifier)(t.base);case ci.ASTType.Identifier:return t;case ci.ASTType.MemberExpression:return(0,ln.lookupIdentifier)(t.identifier);case ci.ASTType.IndexExpression:return(0,ln.lookupIdentifier)(t.index);default:return null}};ln.lookupIdentifier=F$;var N$=(t=null)=>{switch(t==null?void 0:t.type){case ci.ASTType.MemberExpression:return t.base;case ci.ASTType.IndexExpression:return t.base;case ci.ASTType.CallExpression:return t.base;case ci.ASTType.SliceExpression:return t.base;default:return null}};ln.lookupBase=N$});var sE=T(Zd=>{"use strict";Object.defineProperty(Zd,"__esModule",{value:!0});Zd.isValidIdentifierLiteral=void 0;var $$=ge(),U$=t=>{if(t.type!==$$.ASTType.StringLiteral)return!1;let e=t.value.toString();return/^[_a-z][_a-z0-9]*$/i.test(e)};Zd.isValidIdentifierLiteral=U$});var Qo=T(Ur=>{"use strict";var B$=Ur&&Ur.__createBinding||(Object.create?function(t,e,n,r){r===void 0&&(r=n);var i=Object.getOwnPropertyDescriptor(e,n);(!i||("get"in i?!e.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return e[n]}}),Object.defineProperty(t,r,i)}:function(t,e,n,r){r===void 0&&(r=n),t[r]=e[n]}),V$=Ur&&Ur.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),W$=Ur&&Ur.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var n in t)n!=="default"&&Object.prototype.hasOwnProperty.call(t,n)&&B$(e,t,n);return V$(e,t),e};Object.defineProperty(Ur,"__esModule",{value:!0});Ur.LookupHelper=void 0;var oE=ge(),K$=W$(Qd()),H$=lw(),z$=sE(),cw=class{constructor(e,n){this.document=e,this.context=n,this.mergedTypeMap=null}getTypeMap(){return N(this,null,function*(){return this.mergedTypeMap==null&&(this.mergedTypeMap=yield this.context.documentMerger.build(this.document,this.context)),this.mergedTypeMap})}findAllAssignmentsOfIdentifier(e,n){return N(this,null,function*(){let r=yield this.getTypeMap();if(r==null)return[];let i=r.scopeRefMapping.get(n);return i==null?[]:i.scope.resolveAllAvailableWithQuery(e)})}findAllAssignmentsOfItem(e){return N(this,null,function*(){let n=yield this.getTypeMap();if(n==null)return null;let r=n.resolveNamespace(e,!1);return r==null?null:r.item})}findAllAvailableIdentifierInRoot(){return N(this,null,function*(){let e=yield this.getTypeMap();return e==null?new Map:e.globals.getAllProperties().reduce((n,r)=>{let i=r.type.getSource();return n.set(r.name,{kind:r.kind,line:i&&i.length>0?i[0].start.line-1:-1}),n},new Map)})}findAllAvailableIdentifier(e){return N(this,null,function*(){let n=yield this.getTypeMap();if(n==null)return new Map;let r=n.scopeRefMapping.get(e);return r==null?new Map:r.scope.getAllProperties().reduce((i,s)=>{let o=s.type.getSource();return i.set(s.name,{kind:s.kind,line:o&&o.length>0?o[0].start.line-1:-1}),i},new Map)})}findAllAvailableIdentifierRelatedToPosition(e){return N(this,null,function*(){let n=yield this.getTypeMap(),r=new Map;if(n==null)return r;let s=n.scopeRefMapping.get(e.scope).scope.getAllProperties(),o=[],a=[];for(let c=0;c<s.length;c++){let l=s[c],u=l.type.getSource();l.type.document!=null&&l.type.document.name===n.name&&u!=null&&u.length>0?a.push(l):o.push(l)}for(let c=0;c<o.length;c++){let l=o[c];r.set(l.name,{kind:l.kind,line:-1})}a.sort((c,l)=>c.type.getSource()[0].start.line-l.type.getSource()[0].start.line);for(let c=0;c<a.length;c++){let l=a[c],u=l.type.getSource()[0];if(u.start.line>=e.end.line)break;r.set(l.name,{kind:l.kind,line:u.start.line-1})}return r})}lookupAST(e){return N(this,null,function*(){let i=this.document.parsedPayload.lines[e.line+1];if(!i)return null;for(let s=0;s<i.length;s++){let o=i[s],a=K$.findEx((l,u)=>{let p=l.start.line-1,d=l.start.character-1,h=l.end.line-1,g=l.end.character-1;return p>e.line?{exit:!0}:p<h?{valid:e.line>p&&e.line<h||e.line===p&&d<=e.character||e.line===h&&g>=e.character}:{valid:p<=e.line&&d<=e.character&&h>=e.line&&g>=e.character}},o),c=a.pop();if(c)return{closest:c,outer:a}}return null})}lookupBasePath(e){return N(this,null,function*(){let n=yield this.getTypeMap();if(n===null)return null;let r=(0,H$.lookupBase)(e);return r?n.resolveNamespace(r,!0):null})}lookupTypeInfo(r){return N(this,arguments,function*({closest:e,outer:n}){let i=yield this.getTypeMap();if(i===null)return null;let s=n.length>0?n[n.length-1]:void 0;return(s==null?void 0:s.type)===oE.ASTType.MemberExpression&&e===s.identifier||(s==null?void 0:s.type)===oE.ASTType.IndexExpression&&e===s.index&&(0,z$.isValidIdentifierLiteral)(e)?i.resolveNamespace(s,!1):i.resolveNamespace(e,!1)})}lookupType(e){return N(this,null,function*(){let n=this,r=yield n.lookupAST(e);return r?n.lookupTypeInfo(r):null})}};Ur.LookupHelper=cw});var aE=T(eh=>{"use strict";Object.defineProperty(eh,"__esModule",{value:!0});eh.AVAILABLE_CONSTANTS=void 0;eh.AVAILABLE_CONSTANTS=["true","false","null"].map(t=>({label:t,kind:21}))});var th=T(Yl=>{"use strict";Object.defineProperty(Yl,"__esModule",{value:!0});Yl.GreyScriptKeyword=void 0;var G$;(function(t){t.ImportCode="import_code"})(G$=Yl.GreyScriptKeyword||(Yl.GreyScriptKeyword={}))});var dw=T(pw=>{"use strict";Object.defineProperty(pw,"__esModule",{value:!0});var lE=Xt(),Y$=ge(),J$=th(),uw=class extends lE.LexerValidator{constructor(){super(...arguments),this.isKeyword=Set.prototype.has.bind(new Set([...Object.values(Y$.Keyword),...Object.values(lE.GreybelKeyword),...Object.values(J$.GreyScriptKeyword)]))}};pw.default=uw});var fw=T(Jl=>{"use strict";var X$=Jl&&Jl.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(Jl,"__esModule",{value:!0});var Q$=Xt(),Z$=X$(dw()),hw=class extends Q$.Lexer{constructor(e,n={}){n.validator=n.validator||new Z$.default,super(e,n)}};Jl.default=hw});var gw=T(nh=>{"use strict";Object.defineProperty(nh,"__esModule",{value:!0});nh.ASTChunkGreyScript=void 0;var e2=Xt(),mw=class t extends e2.ASTChunkGreybel{constructor(e){super(e),this.nativeImports=e.nativeImports||[]}clone(){return new t({nativeImports:this.nativeImports.map(e=>e.clone()),imports:this.imports.map(e=>e.clone()),includes:this.includes.map(e=>e.clone()),literals:this.literals.map(e=>e.clone()),scopes:this.scopes.map(e=>e.clone()),lines:this.lines,start:this.start,end:this.end,range:this.range,scope:this.scope})}};nh.ASTChunkGreyScript=mw});var yw=T(Xl=>{"use strict";Object.defineProperty(Xl,"__esModule",{value:!0});Xl.ASTType=void 0;var t2;(function(t){t.ImportCodeExpression="ImportCodeExpression"})(t2=Xl.ASTType||(Xl.ASTType={}))});var _w=T(rh=>{"use strict";Object.defineProperty(rh,"__esModule",{value:!0});rh.ASTImportCodeExpression=void 0;var n2=ge(),r2=yw(),bw=class t extends n2.ASTBase{constructor(e){super(r2.ASTType.ImportCodeExpression,e),this.originalDirectory=e.originalDirectory,this.directory=e.directory,this.eval=e.eval,this.emit=e.emit}static parseMetaOptions(e){let r=e.split(";").reduce((s,o)=>{let[a,c]=o.trim().split("=");return c==null?s[a]=!0:s[a]=c,s},{}),i={eval:r["no-eval"]==null,emit:r["no-emit"]==null};return r.override!=null&&(i.directory=r.override),i}toString(){return`ImportCode[${this.start}-${this.end}][${this.directory};${this.eval};${this.emit}]`}clone(){return new t({originalDirectory:this.originalDirectory,directory:this.directory,eval:this.eval,emit:this.emit,start:this.start,end:this.end,range:this.range,scope:this.scope})}};rh.ASTImportCodeExpression=bw});var ww=T(Br=>{"use strict";Object.defineProperty(Br,"__esModule",{value:!0});Br.ASTImportCodeExpression=Br.ASTChunkGreyScript=Br.ASTType=Br.ASTProvider=void 0;var i2=Xt(),s2=gw(),o2=_w(),vw=class extends i2.ASTProvider{chunk(e){return new s2.ASTChunkGreyScript(e)}importCodeExpression(e){return new o2.ASTImportCodeExpression(e)}};Br.ASTProvider=vw;var a2=yw();Object.defineProperty(Br,"ASTType",{enumerable:!0,get:function(){return a2.ASTType}});var l2=gw();Object.defineProperty(Br,"ASTChunkGreyScript",{enumerable:!0,get:function(){return l2.ASTChunkGreyScript}});var c2=_w();Object.defineProperty(Br,"ASTImportCodeExpression",{enumerable:!0,get:function(){return c2.ASTImportCodeExpression}})});var uE=T(Ql=>{"use strict";var u2=Ql&&Ql.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(Ql,"__esModule",{value:!0});var Vi=ge(),cn=Xt(),ih=So(),Zo=Io(),cE=ww(),p2=u2(fw()),d2=th(),Sw=class extends cn.Parser{constructor(e,n={}){n.lexer=n.lexer||new p2.default(e,{unsafe:n.unsafe,tabWidth:n.tabWidth}),n.astProvider=n.astProvider||new cE.ASTProvider,super(e,n);let r=this;r.nativeImports=[]}parseStatement(){let e=this;if(e.isType(Vi.TokenType.Keyword))switch(e.token.value){case d2.GreyScriptKeyword.ImportCode:e.next();let r=e.parseNativeImportCodeStatement();e.lineRegistry.addItemToLines(r),e.backpatches.peek().body.push(r);return;default:break}return super.parseStatement()}parseFunctionDeclaration(e,n=!1,r=!1){let i=this;if(!cn.Selectors.Function(i.token))return i.parseOr(n,r);i.next();let s=i.previousToken,o=i.astProvider.functionStatement({start:s.start,end:null,range:[s.range[0],null],scope:i.currentScope,parent:i.outerScopes[i.outerScopes.length-1],assignment:i.currentAssignment}),a=[];if(i.pushScope(o),!cn.SelectorGroups.BlockEndOfLine(i.token)){for(i.requireToken(cn.Selectors.LParenthesis,s.start);!cn.SelectorGroups.FunctionDeclarationArgEnd(i.token);){let l=i.parseIdentifier(Vi.ASTIdentifierKind.Argument),u=l;if(i.consume(cn.Selectors.Assign)){let p=i.parseExpr(null),d=i.astProvider.assignmentStatement({variable:l,init:p,start:u.start,end:i.previousToken.end,range:[u.range[0],i.previousToken.range[1]],scope:i.currentScope});i.currentScope.definitions.push(d),a.push(d)}else{let p=i.astProvider.assignmentStatement({variable:l,init:i.astProvider.unknown({start:u.start,end:i.previousToken.end,range:[u.range[0],i.previousToken.range[1]],scope:i.currentScope}),start:u.start,end:i.previousToken.end,range:[u.range[0],i.previousToken.range[1]],scope:i.currentScope});i.currentScope.definitions.push(p),a.push(l)}if(cn.Selectors.RParenthesis(i.token))break;if(i.requireToken(cn.Selectors.ArgumentSeperator,s.start),cn.Selectors.RParenthesis(i.token)){i.raise("expected argument instead received right parenthesis",new Zo.Range(i.previousToken.end,i.previousToken.end));break}}i.requireToken(cn.Selectors.RParenthesis,s.start)}o.parameters=a;let c=new Vi.PendingFunction(o,e,i.lineRegistry);return i.backpatches.push(c),o}parseNativeImportCodeStatement(){var e,n,r,i;let s=this,o=s.previousToken;if(!s.consume(cn.Selectors.LParenthesis))return s.raise("expected import_code to have opening parenthesis",new Zo.Range(o.start,new ih.Position((e=s.token.lastLine)!==null&&e!==void 0?e:s.token.line,s.token.end.character))),s.parseInvalidCode();let a;if(s.isType(Vi.TokenType.StringLiteral))a=s.token.value,s.next();else return s.raise("expected import_code argument to be string literal",new Zo.Range(o.start,new ih.Position((n=s.token.lastLine)!==null&&n!==void 0?n:s.token.line,s.token.end.character))),s.parseInvalidCode();if(s.consume(cn.Selectors.ImportCodeSeperator)){if(!s.isType(Vi.TokenType.StringLiteral))return s.raise("expected import_code argument to be string literal",new Zo.Range(o.start,new ih.Position((r=s.token.lastLine)!==null&&r!==void 0?r:s.token.line,s.token.end.character))),s.parseInvalidCode();a=s.token.value,console.warn("Warning: Second import_code argument is deprecated. Use the first argument for the file system path instead."),s.next()}if(!s.consume(cn.Selectors.RParenthesis))return s.raise("expected import_code to have closing parenthesis",new Zo.Range(o.start,new ih.Position((i=s.token.lastLine)!==null&&i!==void 0?i:s.token.line,s.token.end.character))),s.parseInvalidCode();let c=s.previousToken,l=a,u=!0,p=!0;if(s.isType(Vi.TokenType.Comment)){let h=cE.ASTImportCodeExpression.parseMetaOptions(s.token.value);u=h.emit,p=h.eval,h.directory&&(l=h.directory)}let d=s.astProvider.importCodeExpression({originalDirectory:a,directory:l,emit:u,eval:p,start:o.start,end:c.end,range:[o.range[0],c.range[1]],scope:s.currentScope});return s.nativeImports.push(d),d}parseChunk(){let e=this;e.next();let n=e.token,r=e.astProvider.chunk({start:n.start,end:null,range:[n.range[0],null]}),i=new Vi.PendingChunk(r,e.lineRegistry);for(e.backpatches.setDefault(i),e.pushScope(r);!cn.Selectors.EndOfFile(e.token)&&(e.skipNewlines(),!cn.Selectors.EndOfFile(e.token));)e.lexer.recordSnapshot(),e.statementErrors=[],e.parseStatement(),e.statementErrors.length>0&&e.tryToRecover();let s=e.backpatches.pop();for(;!(0,Vi.isPendingChunk)(s);){let o=e.raise(`found open block ${s.block.type}`,new Zo.Range(s.block.start,s.block.start));if(s.complete(e.previousToken),e.errors.push(o),!e.unsafe)throw o;s=e.backpatches.pop()}return e.finishRemaingScopes(),e.popScope(),i.complete(e.token),r.literals=e.literals,r.scopes=e.scopes,r.lines=e.lineRegistry.lines,r.nativeImports=e.nativeImports,r.imports=e.imports,r.includes=e.includes,r.injects=e.injects,r}};Ql.default=Sw});var xs=T(Qt=>{"use strict";var h2=Qt&&Qt.__createBinding||(Object.create?function(t,e,n,r){r===void 0&&(r=n);var i=Object.getOwnPropertyDescriptor(e,n);(!i||("get"in i?!e.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return e[n]}}),Object.defineProperty(t,r,i)}:function(t,e,n,r){r===void 0&&(r=n),t[r]=e[n]}),pE=Qt&&Qt.__exportStar||function(t,e){for(var n in t)n!=="default"&&!Object.prototype.hasOwnProperty.call(e,n)&&h2(e,t,n)},xw=Qt&&Qt.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(Qt,"__esModule",{value:!0});Qt.Parser=Qt.LexerValidator=Qt.Lexer=void 0;var f2=fw();Object.defineProperty(Qt,"Lexer",{enumerable:!0,get:function(){return xw(f2).default}});var m2=dw();Object.defineProperty(Qt,"LexerValidator",{enumerable:!0,get:function(){return xw(m2).default}});var g2=uE();Object.defineProperty(Qt,"Parser",{enumerable:!0,get:function(){return xw(g2).default}});pE(ww(),Qt);pE(th(),Qt)});var dE=T(sh=>{"use strict";Object.defineProperty(sh,"__esModule",{value:!0});sh.AVAILABLE_KEYWORDS=void 0;var ea=Xt(),y2=xs(),Zt=ge();sh.AVAILABLE_KEYWORDS=[Zt.Keyword.If,Zt.Keyword.In,Zt.Keyword.Or,Zt.Keyword.And,Zt.Keyword.Isa,Zt.Keyword.For,Zt.Keyword.New,Zt.Keyword.Not,Zt.Keyword.End,Zt.Keyword.Then,Zt.Keyword.Else,Zt.Keyword.Break,Zt.Keyword.While,Zt.Keyword.Return,Zt.Keyword.Function,Zt.Keyword.Continue,y2.GreyScriptKeyword.ImportCode,ea.GreybelKeyword.Envar,ea.GreybelKeyword.Import,ea.GreybelKeyword.Include,ea.GreybelKeyword.Debugger,ea.GreybelKeyword.Line,ea.GreybelKeyword.File].map(t=>({label:t,kind:14}))});var hE=T(oh=>{"use strict";Object.defineProperty(oh,"__esModule",{value:!0});oh.AVAILABLE_OPERATORS=void 0;var Zl=Uo(),Lt=ge();oh.AVAILABLE_OPERATORS=[Lt.Operator.Plus,Lt.Operator.Asterik,Lt.Operator.Minus,Lt.Operator.Slash,Lt.Operator.Power,Lt.Operator.Modulo,Lt.Operator.LessThan,Lt.Operator.GreaterThan,Lt.Operator.LessThanOrEqual,Lt.Operator.GreaterThanOrEqual,Lt.Operator.NotEqual,Lt.Operator.Equal,Lt.Operator.AddShorthand,Lt.Operator.SubtractShorthand,Lt.Operator.MultiplyShorthand,Lt.Operator.DivideShorthand,Zl.Operator.BitwiseAnd,Zl.Operator.BitwiseOr,Zl.Operator.LeftShift,Zl.Operator.RightShift,Zl.Operator.UnsignedRightShift,Lt.Operator.Assign,Lt.Operator.Reference].map(t=>({label:t,kind:24}))});var mE=T(jn=>{"use strict";Object.defineProperty(jn,"__esModule",{value:!0});jn.activate=jn.getDefaultCompletionList=jn.getPropertyCompletionList=void 0;var fE=ge(),b2=iE(),_2=Qo(),v2=aE(),w2=dE(),S2=hE(),x2=(t,e)=>N(jn,null,function*(){let n=yield t.lookupBasePath(e);return n===null?null:n.item.getAllProperties().reduce((r,i)=>{let s=i.type.getSource();return r.set(i.name,{kind:i.kind,line:s&&s.length>0?s[0].start.line-1:-1}),r},new Map)});jn.getPropertyCompletionList=x2;var T2=()=>[...w2.AVAILABLE_KEYWORDS,...S2.AVAILABLE_OPERATORS,...v2.AVAILABLE_CONSTANTS];jn.getDefaultCompletionList=T2;function k2(t){t.connection.onCompletion(e=>N(this,null,function*(){if(!t.getConfiguration().autocomplete)return;let n=yield t.fs.getTextDocument(e.textDocument.uri);if(n==null)return;let r=yield t.documentManager.getLatest(n),i=new _2.LookupHelper(r,t),s=yield i.lookupAST(e.position),o=new b2.CompletionListBuilder;if(s){let{closest:a}=s;a instanceof fE.ASTMemberExpression?o.addCollection(yield(0,jn.getPropertyCompletionList)(i,a)):a instanceof fE.ASTIndexExpression?o.addCollection(yield(0,jn.getPropertyCompletionList)(i,a)):(o.setDefault((0,jn.getDefaultCompletionList)()),o.addCollection(yield i.findAllAvailableIdentifierRelatedToPosition(s.closest)))}else o.setDefault((0,jn.getDefaultCompletionList)()),o.addCollection(yield i.findAllAvailableIdentifierInRoot());return o.build()})),t.connection.onCompletionResolve(e=>e)}jn.activate=k2});var yE=T((o7,gE)=>{"use strict";gE.exports={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]}});var Tw=T((a7,_E)=>{var ec=yE(),bE={};for(let t of Object.keys(ec))bE[ec[t]]=t;var X={rgb:{channels:3,labels:"rgb"},hsl:{channels:3,labels:"hsl"},hsv:{channels:3,labels:"hsv"},hwb:{channels:3,labels:"hwb"},cmyk:{channels:4,labels:"cmyk"},xyz:{channels:3,labels:"xyz"},lab:{channels:3,labels:"lab"},lch:{channels:3,labels:"lch"},hex:{channels:1,labels:["hex"]},keyword:{channels:1,labels:["keyword"]},ansi16:{channels:1,labels:["ansi16"]},ansi256:{channels:1,labels:["ansi256"]},hcg:{channels:3,labels:["h","c","g"]},apple:{channels:3,labels:["r16","g16","b16"]},gray:{channels:1,labels:["gray"]}};_E.exports=X;for(let t of Object.keys(X)){if(!("channels"in X[t]))throw new Error("missing channels property: "+t);if(!("labels"in X[t]))throw new Error("missing channel labels property: "+t);if(X[t].labels.length!==X[t].channels)throw new Error("channel and label counts mismatch: "+t);let{channels:e,labels:n}=X[t];delete X[t].channels,delete X[t].labels,Object.defineProperty(X[t],"channels",{value:e}),Object.defineProperty(X[t],"labels",{value:n})}X.rgb.hsl=function(t){let e=t[0]/255,n=t[1]/255,r=t[2]/255,i=Math.min(e,n,r),s=Math.max(e,n,r),o=s-i,a,c;s===i?a=0:e===s?a=(n-r)/o:n===s?a=2+(r-e)/o:r===s&&(a=4+(e-n)/o),a=Math.min(a*60,360),a<0&&(a+=360);let l=(i+s)/2;return s===i?c=0:l<=.5?c=o/(s+i):c=o/(2-s-i),[a,c*100,l*100]};X.rgb.hsv=function(t){let e,n,r,i,s,o=t[0]/255,a=t[1]/255,c=t[2]/255,l=Math.max(o,a,c),u=l-Math.min(o,a,c),p=function(d){return(l-d)/6/u+1/2};return u===0?(i=0,s=0):(s=u/l,e=p(o),n=p(a),r=p(c),o===l?i=r-n:a===l?i=1/3+e-r:c===l&&(i=2/3+n-e),i<0?i+=1:i>1&&(i-=1)),[i*360,s*100,l*100]};X.rgb.hwb=function(t){let e=t[0],n=t[1],r=t[2],i=X.rgb.hsl(t)[0],s=1/255*Math.min(e,Math.min(n,r));return r=1-1/255*Math.max(e,Math.max(n,r)),[i,s*100,r*100]};X.rgb.cmyk=function(t){let e=t[0]/255,n=t[1]/255,r=t[2]/255,i=Math.min(1-e,1-n,1-r),s=(1-e-i)/(1-i)||0,o=(1-n-i)/(1-i)||0,a=(1-r-i)/(1-i)||0;return[s*100,o*100,a*100,i*100]};function I2(t,e){return wt(t[0]-e[0],2)+wt(t[1]-e[1],2)+wt(t[2]-e[2],2)}X.rgb.keyword=function(t){let e=bE[t];if(e)return e;let n=1/0,r;for(let i of Object.keys(ec)){let s=ec[i],o=I2(t,s);o<n&&(n=o,r=i)}return r};X.keyword.rgb=function(t){return ec[t]};X.rgb.xyz=function(t){let e=t[0]/255,n=t[1]/255,r=t[2]/255;e=e>.04045?wt((e+.055)/1.055,2.4):e/12.92,n=n>.04045?wt((n+.055)/1.055,2.4):n/12.92,r=r>.04045?wt((r+.055)/1.055,2.4):r/12.92;let i=e*.4124+n*.3576+r*.1805,s=e*.2126+n*.7152+r*.0722,o=e*.0193+n*.1192+r*.9505;return[i*100,s*100,o*100]};X.rgb.lab=function(t){let e=X.rgb.xyz(t),n=e[0],r=e[1],i=e[2];n/=95.047,r/=100,i/=108.883,n=n>.008856?wt(n,1/3):7.787*n+16/116,r=r>.008856?wt(r,1/3):7.787*r+16/116,i=i>.008856?wt(i,1/3):7.787*i+16/116;let s=116*r-16,o=500*(n-r),a=200*(r-i);return[s,o,a]};X.hsl.rgb=function(t){let e=t[0]/360,n=t[1]/100,r=t[2]/100,i,s,o;if(n===0)return o=r*255,[o,o,o];r<.5?i=r*(1+n):i=r+n-r*n;let a=2*r-i,c=[0,0,0];for(let l=0;l<3;l++)s=e+1/3*-(l-1),s<0&&s++,s>1&&s--,6*s<1?o=a+(i-a)*6*s:2*s<1?o=i:3*s<2?o=a+(i-a)*(2/3-s)*6:o=a,c[l]=o*255;return c};X.hsl.hsv=function(t){let e=t[0],n=t[1]/100,r=t[2]/100,i=n,s=Math.max(r,.01);r*=2,n*=r<=1?r:2-r,i*=s<=1?s:2-s;let o=(r+n)/2,a=r===0?2*i/(s+i):2*n/(r+n);return[e,a*100,o*100]};X.hsv.rgb=function(t){let e=t[0]/60,n=t[1]/100,r=t[2]/100,i=Math.floor(e)%6,s=e-Math.floor(e),o=255*r*(1-n),a=255*r*(1-n*s),c=255*r*(1-n*(1-s));switch(r*=255,i){case 0:return[r,c,o];case 1:return[a,r,o];case 2:return[o,r,c];case 3:return[o,a,r];case 4:return[c,o,r];case 5:return[r,o,a]}};X.hsv.hsl=function(t){let e=t[0],n=t[1]/100,r=t[2]/100,i=Math.max(r,.01),s,o;o=(2-n)*r;let a=(2-n)*i;return s=n*i,s/=a<=1?a:2-a,s=s||0,o/=2,[e,s*100,o*100]};X.hwb.rgb=function(t){let e=t[0]/360,n=t[1]/100,r=t[2]/100,i=n+r,s;i>1&&(n/=i,r/=i);let o=Math.floor(6*e),a=1-r;s=6*e-o,o&1&&(s=1-s);let c=n+s*(a-n),l,u,p;switch(o){default:case 6:case 0:l=a,u=c,p=n;break;case 1:l=c,u=a,p=n;break;case 2:l=n,u=a,p=c;break;case 3:l=n,u=c,p=a;break;case 4:l=c,u=n,p=a;break;case 5:l=a,u=n,p=c;break}return[l*255,u*255,p*255]};X.cmyk.rgb=function(t){let e=t[0]/100,n=t[1]/100,r=t[2]/100,i=t[3]/100,s=1-Math.min(1,e*(1-i)+i),o=1-Math.min(1,n*(1-i)+i),a=1-Math.min(1,r*(1-i)+i);return[s*255,o*255,a*255]};X.xyz.rgb=function(t){let e=t[0]/100,n=t[1]/100,r=t[2]/100,i,s,o;return i=e*3.2406+n*-1.5372+r*-.4986,s=e*-.9689+n*1.8758+r*.0415,o=e*.0557+n*-.204+r*1.057,i=i>.0031308?1.055*wt(i,1/2.4)-.055:i*12.92,s=s>.0031308?1.055*wt(s,1/2.4)-.055:s*12.92,o=o>.0031308?1.055*wt(o,1/2.4)-.055:o*12.92,i=Math.min(Math.max(0,i),1),s=Math.min(Math.max(0,s),1),o=Math.min(Math.max(0,o),1),[i*255,s*255,o*255]};X.xyz.lab=function(t){let e=t[0],n=t[1],r=t[2];e/=95.047,n/=100,r/=108.883,e=e>.008856?wt(e,1/3):7.787*e+16/116,n=n>.008856?wt(n,1/3):7.787*n+16/116,r=r>.008856?wt(r,1/3):7.787*r+16/116;let i=116*n-16,s=500*(e-n),o=200*(n-r);return[i,s,o]};X.lab.xyz=function(t){let e=t[0],n=t[1],r=t[2],i,s,o;s=(e+16)/116,i=n/500+s,o=s-r/200;let a=wt(s,3),c=wt(i,3),l=wt(o,3);return s=a>.008856?a:(s-16/116)/7.787,i=c>.008856?c:(i-16/116)/7.787,o=l>.008856?l:(o-16/116)/7.787,i*=95.047,s*=100,o*=108.883,[i,s,o]};X.lab.lch=function(t){let e=t[0],n=t[1],r=t[2],i;i=Math.atan2(r,n)*360/2/Math.PI,i<0&&(i+=360);let o=Math.sqrt(n*n+r*r);return[e,o,i]};X.lch.lab=function(t){let e=t[0],n=t[1],i=t[2]/360*2*Math.PI,s=n*Math.cos(i),o=n*Math.sin(i);return[e,s,o]};X.rgb.ansi16=function(t,e=null){let[n,r,i]=t,s=e===null?X.rgb.hsv(t)[2]:e;if(s=Math.round(s/50),s===0)return 30;let o=30+(Math.round(i/255)<<2|Math.round(r/255)<<1|Math.round(n/255));return s===2&&(o+=60),o};X.hsv.ansi16=function(t){return X.rgb.ansi16(X.hsv.rgb(t),t[2])};X.rgb.ansi256=function(t){let e=t[0],n=t[1],r=t[2];return e===n&&n===r?e<8?16:e>248?231:Math.round((e-8)/247*24)+232:16+36*Math.round(e/255*5)+6*Math.round(n/255*5)+Math.round(r/255*5)};X.ansi16.rgb=function(t){let e=t%10;if(e===0||e===7)return t>50&&(e+=3.5),e=e/10.5*255,[e,e,e];let n=(~~(t>50)+1)*.5,r=(e&1)*n*255,i=(e>>1&1)*n*255,s=(e>>2&1)*n*255;return[r,i,s]};X.ansi256.rgb=function(t){if(t>=232){let s=(t-232)*10+8;return[s,s,s]}t-=16;let e,n=Math.floor(t/36)/5*255,r=Math.floor((e=t%36)/6)/5*255,i=e%6/5*255;return[n,r,i]};X.rgb.hex=function(t){let n=(((Math.round(t[0])&255)<<16)+((Math.round(t[1])&255)<<8)+(Math.round(t[2])&255)).toString(16).toUpperCase();return"000000".substring(n.length)+n};X.hex.rgb=function(t){let e=t.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);if(!e)return[0,0,0];let n=e[0];e[0].length===3&&(n=n.split("").map(a=>a+a).join(""));let r=parseInt(n,16),i=r>>16&255,s=r>>8&255,o=r&255;return[i,s,o]};X.rgb.hcg=function(t){let e=t[0]/255,n=t[1]/255,r=t[2]/255,i=Math.max(Math.max(e,n),r),s=Math.min(Math.min(e,n),r),o=i-s,a,c;return o<1?a=s/(1-o):a=0,o<=0?c=0:i===e?c=(n-r)/o%6:i===n?c=2+(r-e)/o:c=4+(e-n)/o,c/=6,c%=1,[c*360,o*100,a*100]};X.hsl.hcg=function(t){let e=t[1]/100,n=t[2]/100,r=n<.5?2*e*n:2*e*(1-n),i=0;return r<1&&(i=(n-.5*r)/(1-r)),[t[0],r*100,i*100]};X.hsv.hcg=function(t){let e=t[1]/100,n=t[2]/100,r=e*n,i=0;return r<1&&(i=(n-r)/(1-r)),[t[0],r*100,i*100]};X.hcg.rgb=function(t){let e=t[0]/360,n=t[1]/100,r=t[2]/100;if(n===0)return[r*255,r*255,r*255];let i=[0,0,0],s=e%1*6,o=s%1,a=1-o,c=0;switch(Math.floor(s)){case 0:i[0]=1,i[1]=o,i[2]=0;break;case 1:i[0]=a,i[1]=1,i[2]=0;break;case 2:i[0]=0,i[1]=1,i[2]=o;break;case 3:i[0]=0,i[1]=a,i[2]=1;break;case 4:i[0]=o,i[1]=0,i[2]=1;break;default:i[0]=1,i[1]=0,i[2]=a}return c=(1-n)*r,[(n*i[0]+c)*255,(n*i[1]+c)*255,(n*i[2]+c)*255]};X.hcg.hsv=function(t){let e=t[1]/100,n=t[2]/100,r=e+n*(1-e),i=0;return r>0&&(i=e/r),[t[0],i*100,r*100]};X.hcg.hsl=function(t){let e=t[1]/100,r=t[2]/100*(1-e)+.5*e,i=0;return r>0&&r<.5?i=e/(2*r):r>=.5&&r<1&&(i=e/(2*(1-r))),[t[0],i*100,r*100]};X.hcg.hwb=function(t){let e=t[1]/100,n=t[2]/100,r=e+n*(1-e);return[t[0],(r-e)*100,(1-r)*100]};X.hwb.hcg=function(t){let e=t[1]/100,r=1-t[2]/100,i=r-e,s=0;return i<1&&(s=(r-i)/(1-i)),[t[0],i*100,s*100]};X.apple.rgb=function(t){return[t[0]/65535*255,t[1]/65535*255,t[2]/65535*255]};X.rgb.apple=function(t){return[t[0]/255*65535,t[1]/255*65535,t[2]/255*65535]};X.gray.rgb=function(t){return[t[0]/100*255,t[0]/100*255,t[0]/100*255]};X.gray.hsl=function(t){return[0,0,t[0]]};X.gray.hsv=X.gray.hsl;X.gray.hwb=function(t){return[0,100,t[0]]};X.gray.cmyk=function(t){return[0,0,0,t[0]]};X.gray.lab=function(t){return[t[0],0,0]};X.gray.hex=function(t){let e=Math.round(t[0]/100*255)&255,r=((e<<16)+(e<<8)+e).toString(16).toUpperCase();return"000000".substring(r.length)+r};X.rgb.gray=function(t){return[(t[0]+t[1]+t[2])/3/255*100]}});var wE=T((c7,vE)=>{var ah=Tw();function P2(){let t={},e=Object.keys(ah);for(let n=e.length,r=0;r<n;r++)t[e[r]]={distance:-1,parent:null};return t}function E2(t){let e=P2(),n=[t];for(e[t].distance=0;n.length;){let r=n.pop(),i=Object.keys(ah[r]);for(let s=i.length,o=0;o<s;o++){let a=i[o],c=e[a];c.distance===-1&&(c.distance=e[r].distance+1,c.parent=r,n.unshift(a))}}return e}function R2(t,e){return function(n){return e(t(n))}}function D2(t,e){let n=[e[t].parent,t],r=ah[e[t].parent][t],i=e[t].parent;for(;e[i].parent;)n.unshift(e[i].parent),r=R2(ah[e[i].parent][i],r),i=e[i].parent;return r.conversion=n,r}vE.exports=function(t){let e=E2(t),n={},r=Object.keys(e);for(let i=r.length,s=0;s<i;s++){let o=r[s];e[o].parent!==null&&(n[o]=D2(o,e))}return n}});var xE=T((u7,SE)=>{var kw=Tw(),C2=wE(),ta={},O2=Object.keys(kw);function A2(t){let e=function(...n){let r=n[0];return r==null?r:(r.length>1&&(n=r),t(n))};return"conversion"in t&&(e.conversion=t.conversion),e}function M2(t){let e=function(...n){let r=n[0];if(r==null)return r;r.length>1&&(n=r);let i=t(n);if(typeof i=="object")for(let s=i.length,o=0;o<s;o++)i[o]=Math.round(i[o]);return i};return"conversion"in t&&(e.conversion=t.conversion),e}O2.forEach(t=>{ta[t]={},Object.defineProperty(ta[t],"channels",{value:kw[t].channels}),Object.defineProperty(ta[t],"labels",{value:kw[t].labels});let e=C2(t);Object.keys(e).forEach(r=>{let i=e[r];ta[t][r]=M2(i),ta[t][r].raw=A2(i)})});SE.exports=ta});var kE=T(na=>{"use strict";var j2=na&&na.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(na,"__esModule",{value:!0});na.activate=void 0;var Iw=j2(xE()),L2=ge(),TE;(function(t){t.Black="black",t.Blue="blue",t.Green="green",t.Orange="orange",t.Purple="purple",t.Red="red",t.White="white",t.Yellow="yellow"})(TE||(TE={}));var Pw={black:"#000000",blue:"#0000FF",green:"#00FF00",orange:"#FF8800",purple:"#CC8899",red:"#FF0000",white:"#FFFFFF",yellow:"#FFFF00"},q2=()=>new RegExp(`(?:mark|color)=(${Object.keys(Pw).join("|")}|(?:#[0-9a-f]{6}|#[0-9a-f]{3}))`,"ig"),F2=Object.prototype.hasOwnProperty;function N2(t){t.connection.onColorPresentation(e=>[{label:`#${Iw.default.rgb.hex(e.color.red*255,e.color.green*255,e.color.blue*255)}`}]),t.connection.onDocumentColor(e=>N(this,null,function*(){let n=yield t.fs.getTextDocument(e.textDocument.uri);if(n==null)return;let s=(yield t.documentManager.getLatest(n)).parsedPayload.literals.filter(c=>c.type===L2.ASTType.StringLiteral),o=[],a=({match:c,markup:l,value:u,astPosition:p,lineIndex:d})=>{let h=c.index+l.indexOf("=")+1,g=h+u.length,f=p.line-1+d,m=h,b=g;return d===0&&(m+=p.character,b+=p.character),{start:{line:f,character:m},end:{line:f,character:b}}};for(let c=0;c<s.length;c++){let l=s[c];if(!l.start)continue;let u=l.start,p=l.value.toString().split(`
111
111
  `);for(let d=0;d<p.length;d++){let h=p[d],g=q2(),f;for(;f=g.exec(h);){let[m,b]=f,_=a({match:f,markup:m,value:b,astPosition:u,lineIndex:d});if(b.startsWith("#")){let[v,w,x]=Iw.default.hex.rgb(b.slice(1));o.push({range:_,color:{red:v/255,green:w/255,blue:x/255,alpha:1}})}else if(F2.call(Pw,b)){let[v,w,x]=Iw.default.hex.rgb(Pw[b].slice(1));o.push({range:_,color:{red:v/255,green:w/255,blue:x/255,alpha:1}})}else o.push({range:_,color:{red:0,green:0,blue:0,alpha:1}})}}}return o}))}na.activate=N2});var PE=T(tc=>{"use strict";Object.defineProperty(tc,"__esModule",{value:!0});tc.activate=void 0;var IE=ge(),$2=Qo(),U2=t=>`${t.uri}:${t.range.start.line}:${t.range.start.character}-${t.range.end.line}:${t.range.end.character}`,B2=t=>{let e=t.astRef,n,r;switch(e.type){case IE.ASTType.ForGenericStatement:{let i=e;n={line:i.variable.start.line-1,character:i.variable.start.character-1},r={line:i.variable.end.line-1,character:i.variable.end.character-1};break}default:n={line:e.start.line-1,character:e.start.character-1},r={line:e.end.line-1,character:e.end.character-1}}return{uri:t.document,range:{start:n,end:r}}},V2=(t,e)=>N(tc,null,function*(){let n=yield t.findAllAssignmentsOfItem(e),r=n==null?void 0:n.getSource();if(r==null||r.length===0)return[];let i=[],s=new Set;for(let o of r){let a=o.astRef;if(a==null||!a.start||!a.end)continue;let c=B2(o),l=U2(c);s.has(l)||(s.add(l),i.push(c))}return i});function W2(t){t.connection.onDefinition(e=>N(this,null,function*(){let n=yield t.fs.getTextDocument(e.textDocument.uri);if(n==null)return;let r=yield t.documentManager.getLatest(n),i=new $2.LookupHelper(r,t),s=yield i.lookupAST(e.position);if(!s)return;let{outer:o,closest:a}=s,c=o.length>0?o[o.length-1]:void 0,l=a;return c&&c instanceof IE.ASTMemberExpression&&c.identifier===a&&(l=c),yield V2(i,l)}))}tc.activate=W2});var EE=T(lh=>{"use strict";Object.defineProperty(lh,"__esModule",{value:!0});lh.activate=void 0;function K2(t,e){return N(this,null,function*(){let n=yield e.documentManager.getLatest(t);return n.errors.map(r=>{if(r!=null&&r.range){let i=r.range;return{range:{start:{line:i.start.line-1,character:i.start.character-1},end:{line:i.end.line-1,character:i.end.character-1}},message:r.message,severity:1}}return{range:{start:n.parsedPayload.start,end:n.parsedPayload.end},message:r.message,severity:1}})})}function H2(t){t.connection.languages.diagnostics.on(e=>N(this,null,function*(){if(!t.getConfiguration().diagnostic)return;let n=yield t.fs.getTextDocument(e.textDocument.uri);if(n==null)return;let r=yield K2(n,t);return r.length===0?{kind:"full",items:[]}:{kind:"full",items:r}}))}lh.activate=H2});function z2(){if(RE)return Ew;RE=!0;var t=Ew={},e,n;function r(){throw new Error("setTimeout has not been defined")}function i(){throw new Error("clearTimeout has not been defined")}(function(){try{typeof setTimeout=="function"?e=setTimeout:e=r}catch(f){e=r}try{typeof clearTimeout=="function"?n=clearTimeout:n=i}catch(f){n=i}})();function s(f){if(e===setTimeout)return setTimeout(f,0);if((e===r||!e)&&setTimeout)return e=setTimeout,setTimeout(f,0);try{return e(f,0)}catch(m){try{return e.call(null,f,0)}catch(b){return e.call(this||ra,f,0)}}}function o(f){if(n===clearTimeout)return clearTimeout(f);if((n===i||!n)&&clearTimeout)return n=clearTimeout,clearTimeout(f);try{return n(f)}catch(m){try{return n.call(null,f)}catch(b){return n.call(this||ra,f)}}}var a=[],c=!1,l,u=-1;function p(){!c||!l||(c=!1,l.length?a=l.concat(a):u=-1,a.length&&d())}function d(){if(!c){var f=s(p);c=!0;for(var m=a.length;m;){for(l=a,a=[];++u<m;)l&&l[u].run();u=-1,m=a.length}l=null,c=!1,o(f)}}t.nextTick=function(f){var m=new Array(arguments.length-1);if(arguments.length>1)for(var b=1;b<arguments.length;b++)m[b-1]=arguments[b];a.push(new h(f,m)),a.length===1&&!c&&s(d)};function h(f,m){(this||ra).fun=f,(this||ra).array=m}h.prototype.run=function(){(this||ra).fun.apply(null,(this||ra).array)},t.title="browser",t.browser=!0,t.env={},t.argv=[],t.version="",t.versions={};function g(){}return t.on=g,t.addListener=g,t.once=g,t.off=g,t.removeListener=g,t.removeAllListeners=g,t.emit=g,t.prependListener=g,t.prependOnceListener=g,t.listeners=function(f){return[]},t.binding=function(f){throw new Error("process.binding is not supported")},t.cwd=function(){return"/"},t.chdir=function(f){throw new Error("process.chdir is not supported")},t.umask=function(){return 0},Ew}var Ew,RE,ra,nt,Rw=xr(()=>{Ew={},RE=!1,ra=typeof globalThis!="undefined"?globalThis:typeof self!="undefined"?self:global;nt=z2();nt.platform="browser";nt.addListener;nt.argv;nt.binding;nt.browser;nt.chdir;nt.cwd;nt.emit;nt.env;nt.listeners;nt.nextTick;nt.off;nt.on;nt.once;nt.prependListener;nt.prependOnceListener;nt.removeAllListeners;nt.removeListener;nt.title;nt.umask;nt.version;nt.versions});function G2(){if(DE)return Dw;DE=!0;var t=nt;function e(s){if(typeof s!="string")throw new TypeError("Path must be a string. Received "+JSON.stringify(s))}function n(s,o){for(var a="",c=0,l=-1,u=0,p,d=0;d<=s.length;++d){if(d<s.length)p=s.charCodeAt(d);else{if(p===47)break;p=47}if(p===47){if(!(l===d-1||u===1))if(l!==d-1&&u===2){if(a.length<2||c!==2||a.charCodeAt(a.length-1)!==46||a.charCodeAt(a.length-2)!==46){if(a.length>2){var h=a.lastIndexOf("/");if(h!==a.length-1){h===-1?(a="",c=0):(a=a.slice(0,h),c=a.length-1-a.lastIndexOf("/")),l=d,u=0;continue}}else if(a.length===2||a.length===1){a="",c=0,l=d,u=0;continue}}o&&(a.length>0?a+="/..":a="..",c=2)}else a.length>0?a+="/"+s.slice(l+1,d):a=s.slice(l+1,d),c=d-l-1;l=d,u=0}else p===46&&u!==-1?++u:u=-1}return a}function r(s,o){var a=o.dir||o.root,c=o.base||(o.name||"")+(o.ext||"");return a?a===o.root?a+c:a+s+c:c}var i={resolve:function(){for(var o="",a=!1,c,l=arguments.length-1;l>=-1&&!a;l--){var u;l>=0?u=arguments[l]:(c===void 0&&(c=t.cwd()),u=c),e(u),u.length!==0&&(o=u+"/"+o,a=u.charCodeAt(0)===47)}return o=n(o,!a),a?o.length>0?"/"+o:"/":o.length>0?o:"."},normalize:function(o){if(e(o),o.length===0)return".";var a=o.charCodeAt(0)===47,c=o.charCodeAt(o.length-1)===47;return o=n(o,!a),o.length===0&&!a&&(o="."),o.length>0&&c&&(o+="/"),a?"/"+o:o},isAbsolute:function(o){return e(o),o.length>0&&o.charCodeAt(0)===47},join:function(){if(arguments.length===0)return".";for(var o,a=0;a<arguments.length;++a){var c=arguments[a];e(c),c.length>0&&(o===void 0?o=c:o+="/"+c)}return o===void 0?".":i.normalize(o)},relative:function(o,a){if(e(o),e(a),o===a||(o=i.resolve(o),a=i.resolve(a),o===a))return"";for(var c=1;c<o.length&&o.charCodeAt(c)===47;++c);for(var l=o.length,u=l-c,p=1;p<a.length&&a.charCodeAt(p)===47;++p);for(var d=a.length,h=d-p,g=u<h?u:h,f=-1,m=0;m<=g;++m){if(m===g){if(h>g){if(a.charCodeAt(p+m)===47)return a.slice(p+m+1);if(m===0)return a.slice(p+m)}else u>g&&(o.charCodeAt(c+m)===47?f=m:m===0&&(f=0));break}var b=o.charCodeAt(c+m),_=a.charCodeAt(p+m);if(b!==_)break;b===47&&(f=m)}var v="";for(m=c+f+1;m<=l;++m)(m===l||o.charCodeAt(m)===47)&&(v.length===0?v+="..":v+="/..");return v.length>0?v+a.slice(p+f):(p+=f,a.charCodeAt(p)===47&&++p,a.slice(p))},_makeLong:function(o){return o},dirname:function(o){if(e(o),o.length===0)return".";for(var a=o.charCodeAt(0),c=a===47,l=-1,u=!0,p=o.length-1;p>=1;--p)if(a=o.charCodeAt(p),a===47){if(!u){l=p;break}}else u=!1;return l===-1?c?"/":".":c&&l===1?"//":o.slice(0,l)},basename:function(o,a){if(a!==void 0&&typeof a!="string")throw new TypeError('"ext" argument must be a string');e(o);var c=0,l=-1,u=!0,p;if(a!==void 0&&a.length>0&&a.length<=o.length){if(a.length===o.length&&a===o)return"";var d=a.length-1,h=-1;for(p=o.length-1;p>=0;--p){var g=o.charCodeAt(p);if(g===47){if(!u){c=p+1;break}}else h===-1&&(u=!1,h=p+1),d>=0&&(g===a.charCodeAt(d)?--d===-1&&(l=p):(d=-1,l=h))}return c===l?l=h:l===-1&&(l=o.length),o.slice(c,l)}else{for(p=o.length-1;p>=0;--p)if(o.charCodeAt(p)===47){if(!u){c=p+1;break}}else l===-1&&(u=!1,l=p+1);return l===-1?"":o.slice(c,l)}},extname:function(o){e(o);for(var a=-1,c=0,l=-1,u=!0,p=0,d=o.length-1;d>=0;--d){var h=o.charCodeAt(d);if(h===47){if(!u){c=d+1;break}continue}l===-1&&(u=!1,l=d+1),h===46?a===-1?a=d:p!==1&&(p=1):a!==-1&&(p=-1)}return a===-1||l===-1||p===0||p===1&&a===l-1&&a===c+1?"":o.slice(a,l)},format:function(o){if(o===null||typeof o!="object")throw new TypeError('The "pathObject" argument must be of type Object. Received type '+typeof o);return r("/",o)},parse:function(o){e(o);var a={root:"",dir:"",base:"",ext:"",name:""};if(o.length===0)return a;var c=o.charCodeAt(0),l=c===47,u;l?(a.root="/",u=1):u=0;for(var p=-1,d=0,h=-1,g=!0,f=o.length-1,m=0;f>=u;--f){if(c=o.charCodeAt(f),c===47){if(!g){d=f+1;break}continue}h===-1&&(g=!1,h=f+1),c===46?p===-1?p=f:m!==1&&(m=1):p!==-1&&(m=-1)}return p===-1||h===-1||m===0||m===1&&p===h-1&&p===d+1?h!==-1&&(d===0&&l?a.base=a.name=o.slice(1,h):a.base=a.name=o.slice(d,h)):(d===0&&l?(a.name=o.slice(1,p),a.base=o.slice(1,h)):(a.name=o.slice(d,p),a.base=o.slice(d,h)),a.ext=o.slice(p,h)),d>0?a.dir=o.slice(0,d-1):l&&(a.dir="/"),a},sep:"/",delimiter:":",win32:null,posix:null};return i.posix=i,Dw=i,Dw}var Dw,DE,qt,Cw=xr(()=>{Rw();Dw={},DE=!1;qt=G2()});var ia={};$s(ia,{_makeLong:()=>Y2,basename:()=>J2,default:()=>qt,delimiter:()=>X2,dirname:()=>Q2,extname:()=>Z2,format:()=>eU,isAbsolute:()=>tU,join:()=>nU,normalize:()=>rU,parse:()=>iU,posix:()=>sU,relative:()=>oU,resolve:()=>aU,sep:()=>lU,win32:()=>cU});var Y2,J2,X2,Q2,Z2,eU,tU,nU,rU,iU,sU,oU,aU,lU,cU,sa=xr(()=>{Cw();Cw();Rw();Y2=qt._makeLong,J2=qt.basename,X2=qt.delimiter,Q2=qt.dirname,Z2=qt.extname,eU=qt.format,tU=qt.isAbsolute,nU=qt.join,rU=qt.normalize,iU=qt.parse,sU=qt.posix,oU=qt.relative,aU=qt.resolve,lU=qt.sep,cU=qt.win32});var uh=T((CE,ch)=>{(function(t){"use strict";function e(w,x){var y=(w&65535)+(x&65535),S=(w>>16)+(x>>16)+(y>>16);return S<<16|y&65535}function n(w,x){return w<<x|w>>>32-x}function r(w,x,y,S,k,D){return e(n(e(e(x,w),e(S,D)),k),y)}function i(w,x,y,S,k,D,A){return r(x&y|~x&S,w,x,k,D,A)}function s(w,x,y,S,k,D,A){return r(x&S|y&~S,w,x,k,D,A)}function o(w,x,y,S,k,D,A){return r(x^y^S,w,x,k,D,A)}function a(w,x,y,S,k,D,A){return r(y^(x|~S),w,x,k,D,A)}function c(w,x){w[x>>5]|=128<<x%32,w[(x+64>>>9<<4)+14]=x;var y,S,k,D,A,I=1732584193,C=-271733879,O=-1732584194,j=271733878;for(y=0;y<w.length;y+=16)S=I,k=C,D=O,A=j,I=i(I,C,O,j,w[y],7,-680876936),j=i(j,I,C,O,w[y+1],12,-389564586),O=i(O,j,I,C,w[y+2],17,606105819),C=i(C,O,j,I,w[y+3],22,-1044525330),I=i(I,C,O,j,w[y+4],7,-176418897),j=i(j,I,C,O,w[y+5],12,1200080426),O=i(O,j,I,C,w[y+6],17,-1473231341),C=i(C,O,j,I,w[y+7],22,-45705983),I=i(I,C,O,j,w[y+8],7,1770035416),j=i(j,I,C,O,w[y+9],12,-1958414417),O=i(O,j,I,C,w[y+10],17,-42063),C=i(C,O,j,I,w[y+11],22,-1990404162),I=i(I,C,O,j,w[y+12],7,1804603682),j=i(j,I,C,O,w[y+13],12,-40341101),O=i(O,j,I,C,w[y+14],17,-1502002290),C=i(C,O,j,I,w[y+15],22,1236535329),I=s(I,C,O,j,w[y+1],5,-165796510),j=s(j,I,C,O,w[y+6],9,-1069501632),O=s(O,j,I,C,w[y+11],14,643717713),C=s(C,O,j,I,w[y],20,-373897302),I=s(I,C,O,j,w[y+5],5,-701558691),j=s(j,I,C,O,w[y+10],9,38016083),O=s(O,j,I,C,w[y+15],14,-660478335),C=s(C,O,j,I,w[y+4],20,-405537848),I=s(I,C,O,j,w[y+9],5,568446438),j=s(j,I,C,O,w[y+14],9,-1019803690),O=s(O,j,I,C,w[y+3],14,-187363961),C=s(C,O,j,I,w[y+8],20,1163531501),I=s(I,C,O,j,w[y+13],5,-1444681467),j=s(j,I,C,O,w[y+2],9,-51403784),O=s(O,j,I,C,w[y+7],14,1735328473),C=s(C,O,j,I,w[y+12],20,-1926607734),I=o(I,C,O,j,w[y+5],4,-378558),j=o(j,I,C,O,w[y+8],11,-2022574463),O=o(O,j,I,C,w[y+11],16,1839030562),C=o(C,O,j,I,w[y+14],23,-35309556),I=o(I,C,O,j,w[y+1],4,-1530992060),j=o(j,I,C,O,w[y+4],11,1272893353),O=o(O,j,I,C,w[y+7],16,-155497632),C=o(C,O,j,I,w[y+10],23,-1094730640),I=o(I,C,O,j,w[y+13],4,681279174),j=o(j,I,C,O,w[y],11,-358537222),O=o(O,j,I,C,w[y+3],16,-722521979),C=o(C,O,j,I,w[y+6],23,76029189),I=o(I,C,O,j,w[y+9],4,-640364487),j=o(j,I,C,O,w[y+12],11,-421815835),O=o(O,j,I,C,w[y+15],16,530742520),C=o(C,O,j,I,w[y+2],23,-995338651),I=a(I,C,O,j,w[y],6,-198630844),j=a(j,I,C,O,w[y+7],10,1126891415),O=a(O,j,I,C,w[y+14],15,-1416354905),C=a(C,O,j,I,w[y+5],21,-57434055),I=a(I,C,O,j,w[y+12],6,1700485571),j=a(j,I,C,O,w[y+3],10,-1894986606),O=a(O,j,I,C,w[y+10],15,-1051523),C=a(C,O,j,I,w[y+1],21,-2054922799),I=a(I,C,O,j,w[y+8],6,1873313359),j=a(j,I,C,O,w[y+15],10,-30611744),O=a(O,j,I,C,w[y+6],15,-1560198380),C=a(C,O,j,I,w[y+13],21,1309151649),I=a(I,C,O,j,w[y+4],6,-145523070),j=a(j,I,C,O,w[y+11],10,-1120210379),O=a(O,j,I,C,w[y+2],15,718787259),C=a(C,O,j,I,w[y+9],21,-343485551),I=e(I,S),C=e(C,k),O=e(O,D),j=e(j,A);return[I,C,O,j]}function l(w){var x,y="",S=w.length*32;for(x=0;x<S;x+=8)y+=String.fromCharCode(w[x>>5]>>>x%32&255);return y}function u(w){var x,y=[];for(y[(w.length>>2)-1]=void 0,x=0;x<y.length;x+=1)y[x]=0;var S=w.length*8;for(x=0;x<S;x+=8)y[x>>5]|=(w.charCodeAt(x/8)&255)<<x%32;return y}function p(w){return l(c(u(w),w.length*8))}function d(w,x){var y,S=u(w),k=[],D=[],A;for(k[15]=D[15]=void 0,S.length>16&&(S=c(S,w.length*8)),y=0;y<16;y+=1)k[y]=S[y]^909522486,D[y]=S[y]^1549556828;return A=c(k.concat(u(x)),512+x.length*8),l(c(D.concat(A),640))}function h(w){var x="0123456789abcdef",y="",S,k;for(k=0;k<w.length;k+=1)S=w.charCodeAt(k),y+=x.charAt(S>>>4&15)+x.charAt(S&15);return y}function g(w){return unescape(encodeURIComponent(w))}function f(w){return p(g(w))}function m(w){return h(f(w))}function b(w,x){return d(g(w),g(x))}function _(w,x){return h(b(w,x))}function v(w,x,y){return x?y?b(x,w):_(x,w):y?f(w):m(w)}typeof define=="function"&&define.amd?define(function(){return v}):typeof ch=="object"&&ch.exports?ch.exports=v:t.md5=v})(CE)});var la=T(aa=>{"use strict";Object.defineProperty(aa,"__esModule",{value:!0});aa.getLiteralValue=aa.getLiteralRawValue=void 0;var oa=ge(),uU=t=>{switch(t.type){case oa.ASTType.NilLiteral:return"null";case oa.ASTType.NumericLiteral:{let e=t;return`${e.negated?"-":""}${e.raw}`}case oa.ASTType.BooleanLiteral:{let e=t;return`${e.negated?"-":""}${e.raw}`}default:return t.raw.toString()}};aa.getLiteralRawValue=uU;var pU=t=>{switch(t.type){case oa.ASTType.NilLiteral:return"null";case oa.ASTType.NumericLiteral:{let e=t;return`${e.negated?"-":""}${e.value}`}case oa.ASTType.BooleanLiteral:{let e=t;return`${e.negated?"-":""}${e.value}`}default:return t.value.toString()}};aa.getLiteralValue=pU});var Aw=T(ca=>{"use strict";var dU=ca&&ca.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(ca,"__esModule",{value:!0});ca.LiteralsMapper=void 0;var hU=dU(uh()),OE=la(),Ow=class{constructor(e){let n=this;n.mapping=new Map,n.variableNamespacesGenerator=e}reset(){let e=this;return e.mapping=new Map,e}add(e){let n=this,r=(0,OE.getLiteralRawValue)(e);if(!n.mapping.has(r))n.mapping.set(r,{literal:e,amount:1,length:r.length,namespace:null});else{let i=n.mapping.get(r),s=i.amount+1,o=i.length+r.length;i.amount=s,i.length=o,o>10&&s>2&&i.namespace==null&&(i.namespace=n.variableNamespacesGenerator.createNamespace((0,hU.default)(r)))}return n}get(e){let n=this,r=(0,OE.getLiteralRawValue)(e);return n.mapping.has(r)?n.mapping.get(r):null}getMapping(){return this.mapping}};ca.LiteralsMapper=Ow});var jw=T(ph=>{"use strict";Object.defineProperty(ph,"__esModule",{value:!0});ph.NamespaceGenerator=void 0;var Mw=class{constructor(e){let n=this;n.buffer=[0],n.mapping=new Map,n.rmapping=new Map,n.forbidden=e.forbidden||[],n.characters=e.characters||null,n.defaultNamespaces=e.defaultNamespaces||[];for(let r of n.defaultNamespaces)n.createNamespace(r)}exclude(e){let n=this;return Array.isArray(e)?n.forbidden=n.forbidden.concat(e):n.forbidden.push(e),n}setCharset(e){let n=this;return n.characters=e,n}reset(){let e=this;return e.buffer=[0],e.mapping=new Map,e.rmapping=new Map,e}get(e){let n=this.mapping;return n.has(e)?n.get(e):null}increaseBuffer(e){let n=this,r=n.buffer,i=n.characters.length;e==null&&(e=r.length-1);let s=r[e];return s=s+1,r[e]=s,s===i&&(r[e]=0,e===0?r.push(0):n.increaseBuffer(e-1)),n}generateNamespace(){let e=this,n=e.buffer,r=e.characters,i=e.forbidden,s="",o=0,a;for(;o<n.length;)a=n[o],s=s+r[a],o===n.length-1&&e.increaseBuffer(),o=o+1;return i.indexOf(s)!==-1||e.mapping.has(s)?e.generateNamespace():s}createNamespace(e,n=!1){let r=this,i=r.mapping,s=r.rmapping;if(r.forbidden.indexOf(e)!==-1)return e;if(i.has(e)&&!n)return i.get(e);let a=r.generateNamespace();if(i.set(e,a),s.set(a,e),s.has(e)){let c=s.get(e);s.delete(e),a=r.createNamespace(c,!0)}return a}};ph.NamespaceGenerator=Mw});var nc=T(Ts=>{"use strict";Object.defineProperty(Ts,"__esModule",{value:!0});Ts.Context=Ts.ContextDataProperty=void 0;var fU=ge(),mU=Aw(),AE=jw(),gU;(function(t){t.ResourceDependencyMap="resourceDependencyMap",t.DependencyCallStack="dependencyCallStack"})(gU=Ts.ContextDataProperty||(Ts.ContextDataProperty={}));var Lw=class{constructor(e){let n=this;n.modules=new AE.NamespaceGenerator({characters:e.modulesCharset}),n.variables=new AE.NamespaceGenerator({characters:e.variablesCharset,defaultNamespaces:["BACKSLASH_CODE","NEW_LINE_OPERATOR","MODULES","EXPORTED","__REQUIRE","MAIN","module","globals"],forbidden:["locals","outer","self","super","string","list","map","number","funcRef",...Object.values(fU.Keyword),...e.variablesExcluded||[]]}),n.literals=new mU.LiteralsMapper(n.variables),n.data=new Map}createModuleNamespace(e){return this.modules.createNamespace(e)}getOrCreateData(e,n){let r=this;if(r.data.has(e))return r.data.get(e);let i=n();return r.data.set(e,i),i}set(e,n){return this.data.set(e,n),this}get(e){return this.data.get(e)}};Ts.Context=Lw});var ks=T(rc=>{"use strict";Object.defineProperty(rc,"__esModule",{value:!0});rc.DependencyType=void 0;var yU;(function(t){t[t.Main=0]="Main",t[t.Import=1]="Import",t[t.Include=2]="Include"})(yU=rc.DependencyType||(rc.DependencyType={}))});var ic=T(dh=>{"use strict";Object.defineProperty(dh,"__esModule",{value:!0});dh.BuildError=void 0;var qw=class extends Error{constructor(e,n){super(e),this.target=n.target,this.range=n.range}};dh.BuildError=qw});var fh=T(hh=>{"use strict";Object.defineProperty(hh,"__esModule",{value:!0});hh.fetchNamespaces=void 0;var Fw=ge();function ME(t){if(t.type===Fw.ASTType.MemberExpression){let e=t;return e.identifier.type===Fw.ASTType.Identifier?e.identifier.name:null}else if(t.type===Fw.ASTType.Identifier)return t.name;return null}function bU(t){let e=new Set(t.namespaces.map(ME).filter(n=>n!==null));return t.scopes.reduce((n,r)=>(r.namespaces.map(ME).filter(s=>s!==null).forEach(s=>e.add(s)),n),e),Array.from(e)}hh.fetchNamespaces=bU});var sc=T(mh=>{"use strict";Object.defineProperty(mh,"__esModule",{value:!0});mh.merge=void 0;function _U(t,e,n=1e4){if(e.length<=n){Array.prototype.push.apply(t,e);return}for(let r=0;r<e.length;r+=n)Array.prototype.push.apply(t,e.slice(r,r+n))}mh.merge=_U});var pa=T(ua=>{"use strict";var vU=ua&&ua.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(ua,"__esModule",{value:!0});ua.Dependency=void 0;var jE=vU(uh()),LE=Xt(),oc=nc(),ac=ks(),wU=ic(),SU=fh(),qE=sc(),Nw=class t{static generateDependencyMappingKey(e,n){return`${n}:${e}`}constructor(e){let n=this;n.target=e.target,n.id=(0,jE.default)(e.target),n.chunk=e.chunk,n.resourceManager=e.resourceManager,n.dependencies=new Map,n.injections=new Map,n.type=e.type||ac.DependencyType.Main,n.context=e.context;let r=n.context.createModuleNamespace(n.id);n.context.getOrCreateData(oc.ContextDataProperty.ResourceDependencyMap,()=>new Map).set(r,n),n.context.getOrCreateData(oc.ContextDataProperty.DependencyCallStack,()=>[])}getId(){return this.id}getNamespace(){let e=this;return e.context.modules.get(e.id)}resolve(e,n){let r=this,i=r.context,{modules:s}=i,o=i.get(oc.ContextDataProperty.ResourceDependencyMap),a=r.resourceManager,c=a.getRelativePathMapping(r.target,e),l=(0,jE.default)(c),u=s.get(l);if(o.has(u))return o.get(u);try{let p=this.resourceManager.getResource(c).chunk;return new t({target:c,resourceManager:a,chunk:p,type:n,context:i})}catch(p){throw new wU.BuildError(p.message,{target:c,range:p.range})}}findInjections(){let e=this,{injects:n}=e.chunk,r=new Map;for(let i of n){let s=e.resourceManager.getRelativePathMapping(e.target,i.path),o=e.resourceManager.getInjection(s);r.set(i.path,o)}return e.injections=r,r}findDependencies(){let e=this,{imports:n,includes:r}=e.chunk,i=e.getNamespace(),s=e.context.get(oc.ContextDataProperty.DependencyCallStack),o=new Map;s.push(i);let a=[...n,...r];for(let c of a){let l=c instanceof LE.ASTFeatureIncludeExpression?ac.DependencyType.Include:ac.DependencyType.Import,u=e.resolve(c.path,l),p=u.getNamespace();if(s.includes(p))throw new Error(`Circular dependency from ${e.target} to ${u.target} detected.`);u.findDependencies(),o.set(t.generateDependencyMappingKey(c.path,l),u)}return this.findInjections(),e.dependencies=o,s.pop(),{dependencies:o}}findDependenciesWithMetadata(){let e=this,{imports:n,includes:r}=e.chunk,i=e.getNamespace(),s=e.context.get(oc.ContextDataProperty.DependencyCallStack),o=[...(0,SU.fetchNamespaces)(e.chunk)],a=[...e.chunk.literals],c=new Map;s.push(i);let l=[...n,...r];for(let u of l){let p=u instanceof LE.ASTFeatureIncludeExpression?ac.DependencyType.Include:ac.DependencyType.Import,d=e.resolve(u.path,p),h=d.getNamespace();if(s.includes(h))throw new Error(`Circular dependency from ${e.target} to ${d.target} detected.`);let g=d.findDependenciesWithMetadata();(0,qE.merge)(o,g.namespaces),(0,qE.merge)(a,g.literals),c.set(t.generateDependencyMappingKey(u.path,p),d)}return this.findInjections(),e.dependencies=c,s.pop(),{dependencies:c,namespaces:o,literals:a}}};ua.Dependency=Nw});var FE=T(gh=>{"use strict";Object.defineProperty(gh,"__esModule",{value:!0});gh.getStringHashCode=void 0;gh.getStringHashCode=function(){let t=new Map,e=n=>{let r,i;for(r=0,i=0;r<n.length;r++)i=Math.imul(31,i)+n.charCodeAt(r)|0;return i};return n=>{if(n.length===0)return 0;let r=t.get(n);if(r!==void 0)return r;let i=e(n);return t.set(n,i),i}}()});var $w=T(_h=>{"use strict";Object.defineProperty(_h,"__esModule",{value:!0});_h.createExpressionHash=void 0;var yh=ge(),NE=FE(),bh=(t,e)=>t.$$hash=e,xU=t=>{var e;return(e=t.$$hash)!==null&&e!==void 0?e:null};function da(t){let e=xU(t);if(e!==null)return e;let n=(0,NE.getStringHashCode)(t.type);switch(t.type){case yh.ASTType.ParenthesisExpression:return da(t.expression);case yh.ASTType.MemberExpression:{let r=t;return n^=da(r.base),n^=da(r.identifier),bh(t,n)}case yh.ASTType.IndexExpression:{let r=t;return n^=da(r.base),n^=da(r.index),bh(t,n)}case yh.ASTType.Identifier:{let r=t;return n^=(0,NE.getStringHashCode)(r.name),bh(t,n)}}return bh(t,n)}function TU(t){return da(t)}_h.createExpressionHash=TU});var Bw=T(Ps=>{"use strict";Object.defineProperty(Ps,"__esModule",{value:!0});Ps.BeautifyBodyIterator=Ps.FILLER_TYPE=void 0;var Is=ge();Ps.FILLER_TYPE="FILLER";var Uw=class{constructor(e,n){this._base=e,this._items=n.sort((r,i)=>r.range[0]-i.range[0]),this._index=0,this._freeSpaceIndex=0,this._freeSpace=0,this._lastEndLine=0,this._checkedIndexes=new Set,this._previous=null}getBlockOpenerEndLine(e){switch(e.type){case Is.ASTType.IfClause:return e.condition.end.line;case Is.ASTType.WhileStatement:return e.condition.end.line;case Is.ASTType.ForGenericStatement:return e.iterator.end.line;case Is.ASTType.Chunk:return e.start.line-1}return e.start.line}getBlockCloseEndLine(e){switch(e.type){case Is.ASTType.Chunk:return e.end.line+1}return e.end.line}getPreviousEndLine(e){if(e==null)return 0;if(e.type===Is.ASTType.IfShortcutStatement){let n=e;return n.clauses[n.clauses.length-1].body[0].end.line}return e.end.line}getFreeSpaceItem(){let e={line:this._lastEndLine+this._freeSpaceIndex+1,character:0};return this._freeSpaceIndex++,this._freeSpace===this._freeSpaceIndex&&(this._lastEndLine=0,this._freeSpaceIndex=0,this._freeSpace=0),new Is.ASTBase(Ps.FILLER_TYPE,{start:e,end:e,range:[0,0],scope:this._base.scope})}next(){if(this._freeSpace>this._freeSpaceIndex)return{value:this.getFreeSpaceItem(),done:!1};if(this._index>=this._items.length){if(!this._checkedIndexes.has(this._items.length)){let n=this._previous?this.getPreviousEndLine(this._previous):this.getBlockOpenerEndLine(this._base),r=Math.max(this.getBlockCloseEndLine(this._base)-n-1,0);if(r>0)return this._checkedIndexes.add(this._items.length),this._lastEndLine=n,this._freeSpace=r,{value:this.getFreeSpaceItem(),done:!1}}return{value:null,done:!0}}let e=this._items[this._index];if(!this._checkedIndexes.has(this._index)){let n=this._previous?this.getPreviousEndLine(this._previous):this.getBlockOpenerEndLine(this._base),r=Math.max(e.start.line-n-1,0);if(r>0)return this._checkedIndexes.add(this._index),this._lastEndLine=n,this._freeSpace=r,{value:this.getFreeSpaceItem(),done:!1}}return this._index++,this._previous=e,{value:e,done:!1}}};Ps.BeautifyBodyIterator=Uw});var Ww=T(Rs=>{"use strict";Object.defineProperty(Rs,"__esModule",{value:!0});Rs.BeautifyContext=Rs.IndentationType=void 0;var Es=ge(),$E=Bw(),UE;(function(t){t[t.Tab=0]="Tab",t[t.Whitespace=1]="Whitespace"})(UE=Rs.IndentationType||(Rs.IndentationType={}));var Vw=class{get indent(){return this._indent}get isMultilineAllowed(){return this._isMultilineAllowed}constructor(e,n){this.factory=e,this.options=n,this._indent=0,this._stack=[],this._contexts=new Map,this._isMultilineAllowed=!0,this.getIndent=n.indentation===UE.Tab?(r=0)=>" ".repeat(this._indent+r):(r=0)=>" ".repeat(n.indentationSpaces).repeat(this._indent+r)}buildChunkContext(e){let n=new Map,r=Object.keys(e.lines),i=new Set;for(let s=0;s<r.length;s++){let o=Number(r[s]),c=e.lines[o].filter(l=>l.type===Es.ASTType.Comment);for(let l=0;l<c.length;l++){let u=c[l];if(!i.has(u))if(i.add(u),u.isMultiline){let p=u.value.split(`
112
112
  `);p.forEach((d,h)=>{let g=o+h;n.has(g)||n.set(g,[]);let m=e.lines[g].filter(x=>x.type!==Es.ASTType.Comment).map(x=>x.start.character),b=m.length>0?Math.min(...m):-1,_=g===o,v=g===o+p.length-1,w=v?u.end.character<b:!1;n.get(g).push({isMultiline:!0,isStart:_,isEnd:v,isBefore:w,value:d})})}else n.has(o)||n.set(o,[]),n.get(o).push({isMultiline:!1,isStart:!1,isEnd:!1,isBefore:!1,value:u.value})}}return{commentBuckets:n}}getChunkContext(e){return this._contexts.get(e)}getCurrentChunk(){return this._stack[this._stack.length-1]}pushStack(e){this._stack.push(e),this._contexts.set(e,this.buildChunkContext(e))}popStack(){this._stack.pop()}disableMultiline(){this._isMultilineAllowed=!1}enableMultiline(){this._isMultilineAllowed=!0}incIndent(){this._indent++}decIndent(){this._indent--}getBlockOpenerEndLine(e){return e instanceof Es.ASTIfClause||e instanceof Es.ASTWhileStatement?e.condition.end.line:e instanceof Es.ASTForGenericStatement?e.iterator.end.line:e instanceof Es.ASTChunk?e.start.line-1:e.start.line}getPreviousEndLine(e){if(e==null)return 0;if(e.type===Es.ASTType.IfShortcutStatement){let n=e;return n.clauses[n.clauses.length-1].body[0].end.line}return e.end.line}buildBlock(e){let n=new $E.BeautifyBodyIterator(e,e.body),r=n.next();for(;!r.done;){let i=r.value;if(i.type===$E.FILLER_TYPE){this.factory.pushSegment(this.getIndent()),this.factory.pushComment(i.start.line),this.factory.eol(),r=n.next();continue}this.factory.pushSegment(this.getIndent()),this.factory.process(i,{isCommand:!0}),this.factory.eol(),r=n.next()}}};Rs.BeautifyContext=Vw});var Kw=T(Rt=>{"use strict";Object.defineProperty(Rt,"__esModule",{value:!0});Rt.commentToText=Rt.hasEmptyBody=Rt.containsMultilineItemInShortcutClauses=Rt.getLastComment=Rt.unwrap=Rt.countRightBinaryExpressions=Rt.SHORTHAND_OPERATORS=void 0;var gn=ge();Rt.SHORTHAND_OPERATORS=[gn.Operator.Plus,gn.Operator.Minus,gn.Operator.Asterik,gn.Operator.Slash,gn.Operator.Modulo,gn.Operator.Power];var kU=t=>{if(t=(0,Rt.unwrap)(t),t instanceof gn.ASTComparisonGroupExpression)return t.expressions.length;let e=[t],n=0;for(;e.length>0;){let r=e.pop();r instanceof gn.ASTBinaryExpression&&n++,(r instanceof gn.ASTBinaryExpression||r instanceof gn.ASTLogicalExpression||r instanceof gn.ASTIsaExpression)&&(e.push((0,Rt.unwrap)(r.left)),e.push((0,Rt.unwrap)(r.right)))}return n};Rt.countRightBinaryExpressions=kU;var IU=t=>{for(;t instanceof gn.ASTParenthesisExpression;)t=t.expression;return t};Rt.unwrap=IU;var PU=t=>{for(let e=t.length-1;e>=0;e--){let n=t[e];if(n.type===gn.ASTType.Comment)return n}return null};Rt.getLastComment=PU;var EU=(t,e)=>e.some(n=>t.line<n.body[0].end.line);Rt.containsMultilineItemInShortcutClauses=EU;var RU=t=>!t.some(e=>!(e instanceof gn.ASTComment));Rt.hasEmptyBody=RU;var DU=t=>t.isMultiline?t.isStart&&!t.isEnd?"/* "+t.value.trim():!t.isStart&&t.isEnd?t.value.trim()+" */":t.isStart&&t.isEnd?"/* "+t.value.trim()+" */":t.value.trim():"// "+t.value.trim();Rt.commentToText=DU});var zw=T(vh=>{"use strict";Object.defineProperty(vh,"__esModule",{value:!0});vh.Stack=void 0;var Hw=class{constructor(){let e=this;e.currentStack=[]}get(e){let r=this.currentStack;e==null&&(e=0);let i=r.length-e-1;return i<0?null:r[i]}depth(){return this.currentStack.filter(function(e){return Object.prototype.hasOwnProperty.call(e,"body")}).length}lookup(e){let n=this;for(let r=n.currentStack.length-2;r>=0;r--)if(e(n.currentStack[r]))return!0;return!1}push(e){let n=this;return n.currentStack.push(e),n}pop(){let e=this;return e.currentStack.pop(),e}};vh.Stack=Hw});var lc=T(wh=>{"use strict";Object.defineProperty(wh,"__esModule",{value:!0});wh.Factory=void 0;var CU=zw(),Gw=class{get activeLine(){return this._activeLine}get lines(){return this._lines}get currentStack(){return this._currentStack}get originDependency(){return this._originDependency}get activeDependency(){return this._activeDependency}set activeDependency(e){this._activeDependency=e}constructor(e){this.transformer=e,this._activeLine=this.createLine(),this._lines=[],this._originDependency=null,this._activeDependency=null,this._currentStack=new CU.Stack}pushSegment(e,n){this._activeLine.segments.push(e)}pushComment(e){throw new Error("Not implemented")}createLine(){return{segments:[]}}eol(e){this._lines.push(this._activeLine),this._activeLine=this.createLine()}reset(){this._activeLine=this.createLine(),this._lines=[]}process(e,n={}){let r=this,i=r._currentStack;if(e==null)return;if(e.type==null)throw console.error("Error AST type:",e),new Error("Unexpected AST type");let s=r.handlers[e.type];if(s==null)throw console.error("Error AST:",e),new Error("Type does not exist "+e.type);i.push(e),s.call(this,e,n),i.pop()}};wh.Factory=Gw});var Jw=T(Th=>{"use strict";Object.defineProperty(Th,"__esModule",{value:!0});Th.BeautifyFactory=void 0;var cc=ge(),OU=(sa(),xt(ia)),BE=pa(),VE=ks(),WE=$w(),Sh=la(),xh=Bw(),KE=Ww(),yr=Kw(),AU=lc(),Yw=class extends AU.Factory{constructor(e){super(e),this.handlers={ParenthesisExpression:function(o,a){this.pushSegment("(",o),this.process(o.expression,{hasLogicalIndentActive:a.hasLogicalIndentActive}),this.pushSegment(")",o)},Comment:function(o,a){},AssignmentStatement:function(o,a){let c=o.variable,l=o.init;if(this.process(c),(c instanceof cc.ASTIdentifier||c instanceof cc.ASTMemberExpression)&&l instanceof cc.ASTBinaryExpression&&(l.left instanceof cc.ASTIdentifier||l.left instanceof cc.ASTMemberExpression)&&yr.SHORTHAND_OPERATORS.includes(l.operator)&&(0,WE.createExpressionHash)(c)===(0,WE.createExpressionHash)(l.left)){this.pushSegment(" "+l.operator+"= ",o),this.process((0,yr.unwrap)(l.right));return}this.pushSegment(" = ",o),this.process(l)},MemberExpression:function(o,a){this.process(o.base),this.pushSegment(o.indexer,o),this.process(o.identifier)},FunctionDeclaration:function(o,a){if(o.parameters.length===0)this.pushSegment("function",{start:o.start,end:o.start});else{this.context.disableMultiline(),this.pushSegment("function(",{start:o.start,end:o.start});for(let c=0;c<o.parameters.length;c++){let l=o.parameters[c];this.process(l),c!==o.parameters.length-1&&this.pushSegment(", ",l)}this.pushSegment(")",{start:o.start,end:o.start}),this.context.enableMultiline()}this.eol(),this.context.incIndent(),this.context.buildBlock(o),this.context.decIndent(),this.pushSegment(this.context.getIndent()+"end function",{start:o.end,end:o.end})},MapConstructorExpression:function(o,a){if(o.fields.length===0){this.pushSegment("{}",o);return}if(o.fields.length===1){this.pushSegment("{ ",o),this.process(o.fields[0]),this.pushSegment(" }",o);return}if(this.context.isMultilineAllowed){this.context.incIndent(),this.pushSegment("{",{start:o.start,end:o.start}),this.eol();let c=new xh.BeautifyBodyIterator(o,o.fields),l=c.next();for(;!l.done;){let u=l.value;if(u.type===xh.FILLER_TYPE){this.pushSegment(this.context.getIndent()),this.pushComment(u.start.line),this.eol(),l=c.next();continue}this.pushSegment(this.context.getIndent(),u),this.process(u),this.pushSegment(",",u),this.eol(),l=c.next()}this.context.decIndent(),this.pushSegment(this.context.getIndent()+"}",{start:o.end,end:o.end});return}this.pushSegment("{ ",{start:o.start,end:o.start});for(let c=0;c<o.fields.length;c++){let l=o.fields[c];this.process(l),c!==o.fields.length-1&&this.pushSegment(", ",l)}this.context.decIndent(),this.pushSegment(" }",{start:o.end,end:o.end})},MapKeyString:function(o,a){this.process(o.key),this.pushSegment(": ",o),this.process(o.value)},Identifier:function(o,a){this.pushSegment(o.name,o)},ReturnStatement:function(o,a){this.pushSegment("return ",o),o.argument&&this.process(o.argument)},NumericLiteral:function(o,a){this.pushSegment((0,Sh.getLiteralValue)(o),o)},WhileStatement:function(o,a){this.pushSegment("while ",{start:o.start,end:o.start}),this.context.disableMultiline(),this.process(o.condition),this.context.enableMultiline(),this.eol(),this.context.incIndent(),this.context.buildBlock(o),this.context.decIndent(),this.pushSegment(this.context.getIndent()+"end while",{start:o.end,end:o.end})},CallExpression:function(o,a){let c=this.lines.length-1;if(this.process(o.base),o.arguments.length===0)return;if(o.arguments.length>3&&this.context.isMultilineAllowed){this.context.incIndent(),this.pushSegment("(",{start:o.start,end:o.start}),this.eol();for(let u=0;u<o.arguments.length;u++){let p=o.arguments[u];this.pushSegment(this.context.getIndent(),p),this.process(p),u!==o.arguments.length-1&&(this.pushSegment(",",p),this.eol())}this.context.decIndent(),this.pushSegment(")",{start:o.end,end:o.end});return}a.isCommand&&!this.transformer.buildOptions.keepParentheses?this.pushSegment(" ",{start:o.start,end:o.start}):this.pushSegment("(",{start:o.start,end:o.start});let l=this.lines.length;for(let u=0;u<o.arguments.length;u++){let p=o.arguments[u];this.process(p),u!==o.arguments.length-1&&this.pushSegment(", ",p)}a.isCommand&&!this.transformer.buildOptions.keepParentheses||this.pushSegment(")",{start:o.end,end:o.end})},StringLiteral:function(o,a){this.pushSegment((0,Sh.getLiteralRawValue)(o),{start:o.end,end:o.end})},SliceExpression:function(o,a){this.process(o.base),this.pushSegment("[",o),this.process(o.left),this.pushSegment(" : ",o),this.process(o.right),this.pushSegment("]",o)},IndexExpression:function(o,a){this.process(o.base),this.pushSegment("[",o),this.process(o.index),this.pushSegment("]",o)},UnaryExpression:function(o,a){o.operator==="new"?this.pushSegment(o.operator+" ",o):this.pushSegment(o.operator,o),this.process(o.argument)},NegationExpression:function(o,a){this.pushSegment("not ",o),this.process(o.argument)},FeatureEnvarExpression:function(o,a){if(this.transformer.buildOptions.isDevMode){this.pushSegment(`#envar ${o.name}`,o);return}let c=this.transformer.environmentVariables.get(o.name);if(!c){this.pushSegment("null",o);return}this.pushSegment(`"${c}"`,o)},IfShortcutStatement:function(o,a){for(let c=0;c<o.clauses.length;c++){let l=o.clauses[c];this.process(l),c!==o.clauses.length-1&&this.pushSegment(" ",o)}},IfShortcutClause:function(o,a){this.pushSegment("if ",o),this.process((0,yr.unwrap)(o.condition)),this.pushSegment(" then ",o),this.process(o.body[0])},ElseifShortcutClause:function(o,a){this.pushSegment("else if ",o),this.process((0,yr.unwrap)(o.condition)),this.pushSegment(" then ",o),this.process(o.body[0])},ElseShortcutClause:function(o,a){this.pushSegment("else ",o),this.process(o.body[0])},NilLiteral:function(o,a){this.pushSegment((0,Sh.getLiteralRawValue)(o),o)},ForGenericStatement:function(o,a){this.pushSegment("for ",{start:o.start,end:o.start}),this.process((0,yr.unwrap)(o.variable)),this.pushSegment(" in ",{start:o.start,end:o.start}),this.process((0,yr.unwrap)(o.iterator)),this.eol(),this.context.incIndent(),this.context.buildBlock(o),this.context.decIndent(),this.pushSegment(this.context.getIndent()+"end for",{start:o.end,end:o.end})},IfStatement:function(o,a){for(let c of o.clauses)this.process(c);this.pushSegment(this.context.getIndent()+"end if",{start:o.end,end:o.end})},IfClause:function(o,a){this.pushSegment("if ",{start:o.start,end:o.start}),this.process((0,yr.unwrap)(o.condition)),this.pushSegment(" then",{start:o.start,end:o.start}),this.eol(),this.context.incIndent(),this.context.buildBlock(o),this.context.decIndent()},ElseifClause:function(o,a){this.pushSegment(this.context.getIndent()+"else if ",{start:o.start,end:o.start}),this.process((0,yr.unwrap)(o.condition)),this.pushSegment(" then",{start:o.start,end:o.start}),this.eol(),this.context.incIndent(),this.context.buildBlock(o),this.context.decIndent()},ElseClause:function(o,a){this.pushSegment(this.context.getIndent()+"else",{start:o.start,end:o.start}),this.eol(),this.context.incIndent(),this.context.buildBlock(o),this.context.decIndent()},ContinueStatement:function(o,a){this.pushSegment("continue",o)},BreakStatement:function(o,a){this.pushSegment("break",o)},CallStatement:function(o,a){this.process(o.expression,{isCommand:!0})},FeatureInjectExpression:function(o,a){if(this.transformer.buildOptions.isDevMode){this.pushSegment(`#inject "${o.path}";`,o);return}if(this.activeDependency===null){this.pushSegment(`#inject "${o.path}";`,o);return}let c=this.activeDependency.injections.get(o.path);if(c==null){this.pushSegment("null",o);return}this.pushSegment(`"${c.replace(/"/g,()=>'""')}"`,o)},FeatureImportExpression:function(o,a){var c;if(this.transformer.buildOptions.isDevMode){this.pushSegment("#import ",o),this.process(o.name),this.pushSegment(` from "${o.path}";`,o);return}let l=(c=this.activeDependency)===null||c===void 0?void 0:c.dependencies.get(BE.Dependency.generateDependencyMappingKey(o.path,VE.DependencyType.Import));if(!l){this.pushSegment("#import ",o),this.process(o.name),this.pushSegment(` from "${o.path}";`,o);return}this.process(o.name),this.pushSegment(' = __REQUIRE("'+l.getNamespace()+'")',o)},FeatureIncludeExpression:function(o,a){var c;if(this.transformer.buildOptions.isDevMode){this.pushSegment(`#include "${o.path}";`,o);return}let l=(c=this.activeDependency)===null||c===void 0?void 0:c.dependencies.get(BE.Dependency.generateDependencyMappingKey(o.path,VE.DependencyType.Include));if(!l){this.pushSegment(`#include "${o.path}";`,o);return}let u=this.activeDependency;this.activeDependency=l,this.process(l.chunk),this.activeDependency=u},FeatureDebuggerExpression:function(o,a){if(this.transformer.buildOptions.isDevMode){this.pushSegment("debugger",o);return}this.pushSegment("//debugger",o)},FeatureLineExpression:function(o,a){if(this.transformer.buildOptions.isDevMode){this.pushSegment("#line",o);return}this.pushSegment(`${o.start.line}`,o)},FeatureFileExpression:function(o,a){if(this.transformer.buildOptions.isDevMode){this.pushSegment("#filename",o);return}this.pushSegment(`"${(0,OU.basename)(o.filename).replace(/"/g,()=>'"')}"`,o)},ListConstructorExpression:function(o,a){if(o.fields.length===0){this.pushSegment("[]",o);return}if(o.fields.length===1){this.pushSegment("[ ",o),this.process(o.fields[0]),this.pushSegment(" ]",o);return}if(this.context.isMultilineAllowed){this.context.incIndent(),this.pushSegment("[",{start:o.start,end:o.start}),this.eol();let c=new xh.BeautifyBodyIterator(o,o.fields),l=c.next();for(;!l.done;){let u=l.value;if(u.type===xh.FILLER_TYPE){this.pushSegment(this.context.getIndent()),this.pushComment(u.start.line),this.eol(),l=c.next();continue}this.pushSegment(this.context.getIndent(),u),this.process(u),this.pushSegment(",",u),this.eol(),l=c.next()}this.context.decIndent(),this.pushSegment(this.context.getIndent()+"]",{start:o.end,end:o.end});return}this.pushSegment("[ ",o);for(let c=0;c<o.fields.length;c++){let l=o.fields[c];this.process(l),c!==o.fields.length-1&&this.pushSegment(", ",l)}this.pushSegment(" ]",o)},ListValue:function(o,a){this.process(o.value)},BooleanLiteral:function(o,a){this.pushSegment((0,Sh.getLiteralRawValue)(o),o)},EmptyExpression:function(o,a){this.pushSegment("",o)},IsaExpression:function(o,a){this.process(o.left,{hasLogicalIndentActive:a.hasLogicalIndentActive}),this.pushSegment(" "+o.operator+" ",o),this.process(o.right,{hasLogicalIndentActive:a.hasLogicalIndentActive})},LogicalExpression:function(o,a){if((0,yr.countRightBinaryExpressions)(o.right)>2){a.hasLogicalIndentActive||this.context.incIndent(),this.process(o.left,{hasLogicalIndentActive:!0}),this.pushSegment(" "+o.operator+" ",o),this.eol(),this.pushSegment(this.context.getIndent(),o),this.process(o.right,{hasLogicalIndentActive:!0}),a.hasLogicalIndentActive||this.context.decIndent();return}this.process(o.left,{hasLogicalIndentActive:a.hasLogicalIndentActive}),this.pushSegment(" "+o.operator+" ",o),this.process(o.right,{hasLogicalIndentActive:a.hasLogicalIndentActive})},BinaryExpression:function(o,a){if(o.operator==="|"){this.pushSegment("bitOr(",o),this.process(o.left),this.pushSegment(", ",o),this.process(o.right),this.pushSegment(")",o);return}else if(o.operator==="&"){this.pushSegment("bitAnd(",o),this.process(o.left),this.pushSegment(", ",o),this.process(o.right),this.pushSegment(")",o);return}else if(o.operator==="<<"||o.operator===">>"||o.operator===">>>")throw new Error("Operators in binary expression are not supported");this.process(o.left),this.pushSegment(" "+o.operator+" ",o),this.process(o.right)},BinaryNegatedExpression:function(o,a){this.pushSegment(o.operator,o),this.process(o.argument)},ComparisonGroupExpression:function(o,a){this.process(o.expressions[0]);for(let c=0;c<o.operators.length;c++)this.pushSegment(" "+o.operators[c]+" ",o),this.process(o.expressions[c+1])},Chunk:function(o,a){this.context.pushStack(o),this.context.buildBlock(o),this.context.popStack()}};let{keepParentheses:n=!1,indentation:r=KE.IndentationType.Tab,indentationSpaces:i=2,isDevMode:s=!1}=e.buildOptions;this.context=new KE.BeautifyContext(this,{keepParentheses:n,indentation:r,indentationSpaces:i,isDevMode:s})}createLine(){return{segments:[],comments:[]}}pushSegment(e,n){this._activeLine.segments.push(e),n!=null&&this.pushComment(n.start.line)}pushComment(e){let n=this.context.getCurrentChunk(),r=this.context.getChunkContext(n),i=r.commentBuckets.get(e);i&&(this._activeLine.comments.push(...i),r.commentBuckets.delete(e))}transform(e,n){return this.reset(),this._originDependency=n,this._activeDependency=n,this.process(e),this._lines.map(r=>{let i=r.segments.join(""),s=i.trim();if(r.comments.length===0)return s.length===0?"":i;let o=r.comments.filter(u=>u.isBefore),a=o.map(yr.commentToText).join(""),c=r.comments.filter(u=>!u.isBefore),l=c.map(yr.commentToText).join("");return s.length===0&&o.length===0&&c.length===0?"":(s.length>0&&o.length>0&&(i=" "+i),s.length>0&&c.length>0&&(i=i+" "),a+i+l)}).join(`
113
113
  `)}generateOptimizations(){return[]}};Th.BeautifyFactory=Yw});var Qw=T(Ih=>{"use strict";Object.defineProperty(Ih,"__esModule",{value:!0});Ih.DefaultFactory=void 0;var MU=(sa(),xt(ia)),HE=pa(),zE=ks(),kh=la(),jU=lc(),Xw=class extends jU.Factory{constructor(){super(...arguments),this.handlers={ParenthesisExpression:function(e,n){this.pushSegment("("),this.process(e.expression),this.pushSegment(")")},Comment:function(e,n){if(e.isMultiline){this.pushSegment(e.value.split(`
@@ -172,4 +172,4 @@ New vulnerability found: \${vulnerability}`,"Test failed: No errors have been fo
172
172
  New vulnerability found: \${vulnerability}`,"Test failed: No errors have been found in one or more of the provided lines, or not all lines with errors have been provided."],returns:["string","null"]},payload:{id:"payload",type:"function",tags:["method"],arguments:[{label:"memZone",type:"string"},{label:"pathFile",type:"string",default:{type:"string",value:""}}],returnVariations:["Error: The file must be a library","Error: The library is patched against this vulnerability.","Failed: No vulnerabilities have been found in the specified memory area.","Error acquiring partial object file. Unable to access to resource: ${pathFile}"],returns:["string",{type:"list",valueType:"map"},"null"]}}}});var YD=T((L9,$W)=>{$W.exports={type:"trafficNet",extends:"map",definitions:{camera_link_system:{id:"camera_link_system",type:"function",tags:["method"],returnVariations:["Unknown error: Unable to access to local computer","error: No internet access.","error: This device is not registered on any police network",1],returns:["number","string"]},locate_vehicle:{id:"locate_vehicle",type:"function",tags:["method"],arguments:[{label:"licensePlate",type:"string"},{label:"password",type:"string"}],returnVariations:["Error: This user cannot access the global camera system for another 24 hours.","Error: This network has disabled access to the traffic cameras.","error: Workstation not found. Unable to get the credentials info from ${credentials}","error: Incorrect password. Access denied.","Unknown error: Unable to access to local computer","error: Invalid license plate.","Error: Unable to use the camera at this time. Too many calls.","error: No internet access.","error: This device is not registered on any police network","locate_vehicle: License plate not found.","The vehicle could not be located in the camera system at this time.",1],returns:["number","string","null"]},get_credentials_info:{id:"get_credentials_info",type:"function",tags:["method"],returnVariations:["Unknown error: Unable to access to local computer","error: No internet access.","error: This device is not registered on any police network","${job} ${name}"],returns:["string"]}}}});var JD=T((q9,UW)=>{UW.exports={type:"smartAppliance",extends:"map",definitions:{model:{id:"model",type:"function",tags:["method"],returnVariations:["Unknown error: Unable to access to local computer","error: No internet access.","error: Device hardware malfunction"],returns:["string"]},override_settings:{id:"override_settings",type:"function",tags:["method"],arguments:[{label:"power",type:"number"},{label:"temperature",type:"number"}],returnVariations:["Unknown error: Unable to access to local computer","error: No internet access.","error: Device hardware malfunction","override_settings: denied: The settings are locked for security reasons.",1],returns:["string","number","null"]},set_alarm:{id:"set_alarm",type:"function",tags:["method"],arguments:[{label:"enable",type:"number"}],returnVariations:["Unknown error: Unable to access to local computer","error: No internet access.","error: Device hardware malfunction","set_alarm: denied: The alarm settings are locked for security reasons.",1],returns:["string","number","null"]}}}});var XD=T(ue=>{"use strict";var Te=ue&&ue.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(ue,"__esModule",{value:!0});ue.getSiteDescription=ue.getSiteLanguageFile=ue.isNative=ue.greyscriptMeta=void 0;WR();var BW=Le(),VW=Te(vD()),WW=Te(wD()),KW=Te(SD()),HW=Te(xD()),zW=Te(TD()),GW=Te(kD()),YW=Te(ID()),JW=Te(PD()),XW=Te(ED()),QW=Te(RD()),ZW=Te(DD()),e3=Te(CD()),t3=Te(OD()),n3=Te(AD()),r3=Te(MD()),i3=Te(jD()),s3=Te(LD()),o3=Te(qD()),a3=Te(FD()),l3=Te(ND()),c3=Te($D()),u3=Te(UD()),p3=Te(BD()),d3=Te(VD()),h3=Te(WD()),f3=Te(KD()),m3=Te(HD()),g3=Te(zD()),y3=Te(GD()),b3=Te(YD()),_3=Te(JD());ue.greyscriptMeta=new BW.Container;ue.greyscriptMeta.addTypeSignatureFromPayload(KW.default);ue.greyscriptMeta.addTypeSignatureFromPayload(HW.default);ue.greyscriptMeta.addTypeSignatureFromPayload(zW.default);ue.greyscriptMeta.addTypeSignatureFromPayload(QW.default);ue.greyscriptMeta.addTypeSignatureFromPayload(GW.default);ue.greyscriptMeta.addTypeSignatureFromPayload(YW.default);ue.greyscriptMeta.addTypeSignatureFromPayload(JW.default);ue.greyscriptMeta.addTypeSignatureFromPayload(XW.default);ue.greyscriptMeta.addTypeSignatureFromPayload(ZW.default);ue.greyscriptMeta.addTypeSignatureFromPayload(e3.default);ue.greyscriptMeta.addTypeSignatureFromPayload(t3.default);ue.greyscriptMeta.addTypeSignatureFromPayload(n3.default);ue.greyscriptMeta.addTypeSignatureFromPayload(r3.default);ue.greyscriptMeta.addTypeSignatureFromPayload(i3.default);ue.greyscriptMeta.addTypeSignatureFromPayload(s3.default);ue.greyscriptMeta.addTypeSignatureFromPayload(o3.default);ue.greyscriptMeta.addTypeSignatureFromPayload(a3.default);ue.greyscriptMeta.addTypeSignatureFromPayload(l3.default);ue.greyscriptMeta.addTypeSignatureFromPayload(c3.default);ue.greyscriptMeta.addTypeSignatureFromPayload(u3.default);ue.greyscriptMeta.addTypeSignatureFromPayload(p3.default);ue.greyscriptMeta.addTypeSignatureFromPayload(d3.default);ue.greyscriptMeta.addTypeSignatureFromPayload(h3.default);ue.greyscriptMeta.addTypeSignatureFromPayload(f3.default);ue.greyscriptMeta.addTypeSignatureFromPayload(m3.default);ue.greyscriptMeta.addTypeSignatureFromPayload(g3.default);ue.greyscriptMeta.addTypeSignatureFromPayload(y3.default);ue.greyscriptMeta.addTypeSignatureFromPayload(b3.default);ue.greyscriptMeta.addTypeSignatureFromPayload(_3.default);ue.greyscriptMeta.addMetaFromPayload("en",VW.default);var v3=function(t,e){return!!ue.greyscriptMeta.getDefinition(t,e)};ue.isNative=v3;var w3=function(t){switch(t===void 0&&(t="en"),t){case"en":return WW.default;default:throw new Error('Language "'.concat(t,'" is unknown.'))}};ue.getSiteLanguageFile=w3;var S3=function(t,e){var n=(0,ue.getSiteLanguageFile)(e);return n==null?void 0:n[t]};ue.getSiteDescription=S3});var NS=T(Os=>{"use strict";var x3=Os&&Os.__createBinding||(Object.create?function(t,e,n,r){r===void 0&&(r=n);var i=Object.getOwnPropertyDescriptor(e,n);(!i||("get"in i?!e.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return e[n]}}),Object.defineProperty(t,r,i)}:function(t,e,n,r){r===void 0&&(r=n),t[r]=e[n]}),T3=Os&&Os.__exportStar||function(t,e){for(var n in t)n!=="default"&&!Object.prototype.hasOwnProperty.call(e,n)&&x3(e,t,n)};Object.defineProperty(Os,"__esModule",{value:!0});T3(XD(),Os)});var pf=T(bn=>{"use strict";Object.defineProperty(bn,"__esModule",{value:!0});bn.buildTokens=bn.TokenHandler=bn.semanticTokensLegend=bn.SemanticTokenModifier=bn.SemanticTokenType=void 0;var Wr=Xt(),eC=xs(),QD=NS(),oe=ge(),Ae;(function(t){t[t.Keyword=0]="Keyword",t[t.String=1]="String",t[t.Number=2]="Number",t[t.Variable=3]="Variable",t[t.Property=4]="Property",t[t.Function=5]="Function",t[t.Parameter=6]="Parameter",t[t.Operator=7]="Operator",t[t.Comment=8]="Comment",t[t.Constant=9]="Constant",t[t.Punctuator=10]="Punctuator"})(Ae=bn.SemanticTokenType||(bn.SemanticTokenType={}));var $S;(function(t){t[t.Declaration=0]="Declaration",t[t.Definition=1]="Definition",t[t.Readonly=2]="Readonly",t[t.Static=3]="Static",t[t.Deprecated=4]="Deprecated",t[t.Abstract=5]="Abstract",t[t.Async=6]="Async",t[t.Modification=7]="Modification",t[t.Documentation=8]="Documentation",t[t.DefaultLibrary=9]="DefaultLibrary"})($S=bn.SemanticTokenModifier||(bn.SemanticTokenModifier={}));bn.semanticTokensLegend={tokenTypes:["keyword","string","number","variable","property","function","parameter","operator","comment","constant","punctuator"],tokenModifiers:["declaration","definition","readonly","static","deprecated","abstract","async","modification","documentation","defaultLibrary"]};var ZD=t=>1<<t,uf=class{constructor(e,n){this._lexer=e,this._builder=n}next(){this.previousToken=this.token,this.token=this._lexer.next()}isType(e){return this.token!==null&&e===this.token.type}consume(e){return e(this.token)?(this.next(),!0):!1}consumeMany(e){return e(this.token)?(this.next(),!0):!1}processMultilineToken(e,n,r){if(n.length>1){this._builder.push(e.start.line-1,e.start.character-1,n[0].length,r,0);for(let i=1;i<n.length;i++)this._builder.push(e.start.line+i-1,0,n[i].length,r,0)}else this._builder.push(e.start.line-1,e.start.character-1,n[0].length,r,0)}processFunction(){let e=this;if(!oe.SelectorGroups.BlockEndOfLine(e.token)){if(!e.consume(oe.Selectors.LParenthesis))return;for(e._builder.push(e.previousToken.start.line-1,e.previousToken.start.character-1,e.previousToken.value.length,Ae.Punctuator,0);!oe.SelectorGroups.FunctionDeclarationArgEnd(e.token);){if(e.token.type!==oe.TokenType.Identifier)return;if(e._builder.push(e.token.start.line-1,e.token.start.character-1,e.token.value.length,Ae.Parameter,0),e.next(),e.consume(oe.Selectors.Assign))for(e._builder.push(e.previousToken.start.line-1,e.previousToken.start.character-1,e.previousToken.value.length,Ae.Operator,0);!oe.Selectors.ArgumentSeperator(e.token)&&!oe.Selectors.RParenthesis(e.token)&&!oe.Selectors.EndOfLine(e.token);)e.process();if(!oe.Selectors.RParenthesis(e.token)){if(!oe.Selectors.ArgumentSeperator(e.token))return;e._builder.push(e.token.start.line-1,e.token.start.character-1,e.token.value.length,Ae.Punctuator,0),e.next()}}e.consume(oe.Selectors.RParenthesis)&&e._builder.push(e.previousToken.start.line-1,e.previousToken.start.character-1,e.previousToken.value.length,Ae.Punctuator,0)}}processPathSegment(){let e=this;if(this.token.type===oe.ASTType.StringLiteral){let r=this.token;e._builder.push(r.start.line-1,r.start.character-1,r.raw.length,Ae.String,0),this.next();return}let n="";for(;!Wr.SelectorGroups.PathSegmentEnd(e.token);)e._builder.push(e.token.start.line-1,e.token.start.character-1,e.token.value.length,Ae.String,0),n=n+e.token.value,e.next();return e.consumeMany(Wr.SelectorGroups.PathSegmentEnd)&&e._builder.push(e.previousToken.start.line-1,e.previousToken.start.character-1,e.previousToken.value.length,Ae.Punctuator,0),n}processFeatureEnvarExpression(){let e=this;e.token.type===oe.TokenType.StringLiteral&&(e._builder.push(e.token.start.line-1,e.token.start.character-1,e.token.value.length,Ae.String,0),e.next())}processFeatureInjectExpression(){this.processPathSegment()}processFeatureImportStatement(){let e=this;e.token.type===oe.TokenType.Identifier&&(e._builder.push(e.token.start.line-1,e.token.start.character-1,e.token.value.length,Ae.Variable,0),e.next(),e.consume(Wr.Selectors.From)&&(e._builder.push(e.previousToken.start.line-1,e.previousToken.start.character-1,e.previousToken.value.length,Ae.Keyword,0),e.processPathSegment()))}processFeatureIncludeStatement(){this.processPathSegment()}processNativeImportCodeStatement(){let e=this;if(e.consume(oe.Selectors.LParenthesis)&&(e._builder.push(e.previousToken.start.line-1,e.previousToken.start.character-1,e.previousToken.value.length,Ae.Punctuator,0),oe.TokenType.StringLiteral===e.token.type)){if(e._builder.push(e.token.start.line-1,e.token.start.character-1,e.token.raw.length,Ae.String,0),e.next(),e.consume(oe.Selectors.ImportCodeSeperator)){if(e._builder.push(e.previousToken.start.line-1,e.previousToken.start.character-1,e.previousToken.value.length,Ae.Punctuator,0),!e.isType(oe.TokenType.StringLiteral))return;let n=e.token;e._builder.push(n.start.line-1,n.start.character-1,n.raw.length,Ae.String,0),e.next()}e.consume(oe.Selectors.RParenthesis)&&e._builder.push(e.previousToken.start.line-1,e.previousToken.start.character-1,e.previousToken.value.length,Ae.Punctuator,0)}}processKeyword(){let e=this.token;switch(this._builder.push(e.start.line-1,e.start.character-1,e.value.length,Ae.Keyword,0),this.next(),e.value){case oe.Keyword.Function:{this.processFunction();return}case Wr.GreybelKeyword.Include:case Wr.GreybelKeyword.IncludeWithComment:{this.processFeatureIncludeStatement();return}case Wr.GreybelKeyword.Import:case Wr.GreybelKeyword.ImportWithComment:{this.processFeatureImportStatement();return}case Wr.GreybelKeyword.Envar:{this.processFeatureEnvarExpression();return}case Wr.GreybelKeyword.Inject:{this.processFeatureInjectExpression();return}case Wr.GreybelKeyword.Debugger:return;case eC.GreyScriptKeyword.ImportCode:this.processNativeImportCodeStatement()}}processStringLiteral(){let e=this.token;this.processMultilineToken(e,e.raw.split(`
173
173
  `),Ae.String),this.next()}processNumericLiteral(){let e=this.token;this._builder.push(e.start.line-1,e.start.character-1,e.raw.length,Ae.Number,0),this.next()}processBooleanLiteral(){let e=this.token;this._builder.push(e.start.line-1,e.start.character-1,e.raw.length,Ae.Constant,0),this.next()}processNilLiteral(){let e=this.token;this._builder.push(e.start.line-1,e.start.character-1,e.raw.length,Ae.Constant,0),this.next()}processIdentifier(){let e=this.token;if(oe.Selectors.MemberSeperator(this.previousToken)){let s=(0,QD.isNative)(["any"],e.value)?ZD($S.DefaultLibrary):0;this._builder.push(e.start.line-1,e.start.character-1,e.value.length,Ae.Property,s),this.next();return}let r=(0,QD.isNative)(["general"],e.value)?ZD($S.DefaultLibrary):0;this._builder.push(e.start.line-1,e.start.character-1,e.value.length,Ae.Variable,r),this.next()}processPunctuator(){let e=this.token;switch(e.value){case oe.Operator.Plus:case oe.Operator.Asterik:case oe.Operator.Minus:case oe.Operator.Slash:case oe.Operator.Power:case oe.Operator.Modulo:case oe.Operator.LessThan:case oe.Operator.LessThanOrEqual:case oe.Operator.GreaterThan:case oe.Operator.GreaterThanOrEqual:case oe.Operator.Equal:case oe.Operator.NotEqual:case oe.Operator.Assign:case oe.Operator.AddShorthand:case oe.Operator.SubtractShorthand:case oe.Operator.MultiplyShorthand:case oe.Operator.DivideShorthand:case oe.Operator.ModuloShorthand:case oe.Operator.PowerShorthand:case oe.Operator.Reference:{this._builder.push(e.start.line-1,e.start.character-1,e.value.length,Ae.Operator,0);break}default:{this._builder.push(e.start.line-1,e.start.character-1,e.value.length,Ae.Punctuator,0);break}}this.next()}processComment(){this.token.lastLine!=null?this.processMultilineToken(this.token,`/*${this.token.value}*/`.split(`
174
174
  `),Ae.Comment):this.processMultilineToken(this.token,`//${this.token.value}`.split(`
175
- `),Ae.Comment),this.next()}process(){let e=this;switch(e.token.type){case oe.TokenType.Keyword:{this.processKeyword();break}case oe.TokenType.StringLiteral:{this.processStringLiteral();break}case oe.TokenType.Identifier:{this.processIdentifier();break}case oe.TokenType.NumericLiteral:{this.processNumericLiteral();break}case oe.TokenType.Punctuator:case oe.TokenType.SliceOperator:{this.processPunctuator();break}case oe.TokenType.BooleanLiteral:{this.processBooleanLiteral();break}case oe.TokenType.NilLiteral:{this.processNilLiteral();break}case oe.TokenType.Comment:{this.processComment();break}default:e.next()}}digest(){let e=this;for(e.next();!oe.Selectors.EndOfFile(e.token);)e.process()}};bn.TokenHandler=uf;function k3(t,e){let n=new eC.Lexer(e.textDocument.getText(),{unsafe:!0});return new uf(n,t).digest(),t}bn.buildTokens=k3});var tC=T(df=>{"use strict";Object.defineProperty(df,"__esModule",{value:!0});df.activate=void 0;var I3=pf();function P3(t){t.connection.languages.semanticTokens.on(e=>N(this,null,function*(){let n=yield t.fs.getTextDocument(e.textDocument.uri);if(n==null)return;let r=yield t.documentManager.getLatest(n);if(!r.parsedPayload)return;let i=t.createSemanticTokensBuilder();return(0,I3.buildTokens)(i,r),i.build()}))}df.activate=P3});var nC=T(hf=>{"use strict";Object.defineProperty(hf,"__esModule",{value:!0});hf.buildFoldingRanges=void 0;var Kr=ge(),US=Sy(),E3=Qd();function R3(t){let e=[];return new E3.ScraperWalker((r,i)=>{if(r.start.line===r.end.line)return null;switch(r.type){case Kr.ASTType.Comment:return e.push({startLine:r.start.line-1,endLine:r.end.line-1,kind:US.FoldingRangeKind.Comment}),null;case Kr.ASTType.MapConstructorExpression:case Kr.ASTType.ListConstructorExpression:case Kr.ASTType.StringLiteral:case Kr.ASTType.WhileStatement:case Kr.ASTType.ForGenericStatement:case Kr.ASTType.FunctionDeclaration:return e.push({startLine:r.start.line-1,endLine:r.end.line-1,kind:US.FoldingRangeKind.Region}),null;case Kr.ASTType.IfClause:case Kr.ASTType.ElseifClause:case Kr.ASTType.ElseClause:return e.push({startLine:r.start.line-1,endLine:r.end.line-2,kind:US.FoldingRangeKind.Region}),null}return null}).visit(t.parsedPayload),e}hf.buildFoldingRanges=R3});var rC=T(ff=>{"use strict";Object.defineProperty(ff,"__esModule",{value:!0});ff.activate=void 0;var D3=nC();function C3(t){t.connection.languages.foldingRange.on(e=>N(this,null,function*(){let n=yield t.fs.getTextDocument(e.textDocument.uri);if(n==null)return;let r=yield t.documentManager.getLatest(n);if(r.parsedPayload)return(0,D3.buildFoldingRanges)(r)}))}ff.activate=C3});var KS=T(mf=>{"use strict";Object.defineProperty(mf,"__esModule",{value:!0});mf.ActiveDocument=void 0;var BS=Qu(),As=lr(),VS=ef(),WS=class{constructor(e){this.context=e.context,this.version=e.version,this.textDocument=e.textDocument,this.typeDocument=e.typeDocument,this.parsedPayload=e.parsedPayload,this.errors=e.errors}getDirectory(){return BS.Utils.joinPath(BS.URI.parse(this.textDocument.uri),"..")}getNativeImportUris(e=null){return N(this,null,function*(){if(this.parsedPayload==null)return[];let n=this.parsedPayload;if(n.nativeImports.length===0)return[];let r=this.getDirectory(),i=new VS.DocumentURIBuilder(r,e),s=this.context;return(yield Promise.all(n.nativeImports.filter(a=>a.directory&&a.eval).map(a=>N(this,null,function*(){let c=yield i.getPathWithContext(a.directory,s);return c==null?null:(0,As.parseDependencyLocation)({type:As.DependencyType.NativeImport,location:c})})))).filter(a=>a!=null)})}getImportUris(e=null){return N(this,null,function*(){if(this.parsedPayload==null)return[];let n=this.parsedPayload;if(n.imports.length===0)return[];let r=this.getDirectory(),i=this.context,s=new VS.DocumentURIBuilder(r,e);return(yield Promise.all([...n.imports.filter(a=>a.path).map(a=>N(this,null,function*(){var l;let c=yield s.getPathWithContext(a.path,i);return c==null?null:(0,As.parseDependencyLocation)({type:As.DependencyType.Import,location:c,args:[(l=a.name)==null?void 0:l.name]})}))])).filter(a=>a!=null)})}getIncludeUris(e=null){return N(this,null,function*(){if(this.parsedPayload==null)return[];let n=this.parsedPayload;if(n.includes.length===0)return[];let r=this.getDirectory(),i=this.context,s=new VS.DocumentURIBuilder(r,e);return(yield Promise.all([...n.includes.filter(a=>a.path).map(a=>N(this,null,function*(){let c=yield s.getPathWithContext(a.path,i);return c==null?null:(0,As.parseDependencyLocation)({type:As.DependencyType.Include,location:c})}))])).filter(a=>a!=null)})}getDependencies(){return N(this,null,function*(){if(this.parsedPayload==null)return[];if(this.dependencies)return this.dependencies;let e=yield this.context.fs.getWorkspaceFolderUri(BS.URI.parse(this.textDocument.uri)),[n,r,i]=yield Promise.all([this.getNativeImportUris(e),this.getImportUris(e),this.getIncludeUris(e)]),s=new Set([...n,...r,...i]);return this.dependencies=Array.from(s).map(As.parseDependencyRawLocation),this.dependencies})}};mf.ActiveDocument=WS});var zS=T(di=>{"use strict";var O3=di&&di.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(di,"__esModule",{value:!0});di.DocumentScheduler=di.PROCESSING_TIMEOUT=void 0;var A3=O3((Jr(),xt(Yr)));di.PROCESSING_TIMEOUT=50;var HS=class extends A3.default{constructor(e=di.PROCESSING_TIMEOUT){super(),this._timer=null,this.scheduledItems=new Map,this.tickRef=this.tick.bind(this),this.processingTimeout=e}tick(){if(this.scheduledItems.size===0){this._timer=null;return}let e=Date.now();this.scheduledItems.forEach((n,r)=>{e-n.createdAt>this.processingTimeout&&(this.emit("process",n.document),this.scheduledItems.delete(r))}),this._timer=setTimeout(this.tickRef,0)}schedule(e){let n=e.uri;return this.scheduledItems.has(n)?!1:(this.scheduledItems.set(n,{document:e,createdAt:Date.now()}),this._timer===null&&(this._timer=setTimeout(this.tickRef,0)),!0)}isScheduled(e){return this.scheduledItems.has(e.uri)}cancel(e){return this.scheduledItems.delete(e.uri)}};di.DocumentScheduler=HS});var YS=T(gf=>{"use strict";Object.defineProperty(gf,"__esModule",{value:!0});gf.DocumentGraphBuilder=void 0;var M3=lr(),GS=class{constructor(e){this.documentManager=e.documentManager,this.entrypoint=e.entrypoint,this.nodeCache=new Map,this.pendingDocument=new Map}getDocument(e){return N(this,null,function*(){if(this.pendingDocument.has(e))return this.pendingDocument.get(e);let n=this.documentManager.getOrOpen(e);this.pendingDocument.set(e,n);let r=yield n;return this.pendingDocument.delete(e),r})}build(){return N(this,null,function*(){let e={item:{document:this.entrypoint,location:{type:M3.DependencyType.Root,location:this.entrypoint.textDocument.uri}},children:[]};if(this.entrypoint.parsedPayload===null)return e;this.nodeCache.set(this.entrypoint.textDocument.uri,e);let n=(r,i)=>N(this,null,function*(){let s=yield r.getDependencies();yield Promise.all(s.map(o=>N(this,null,function*(){let a=this.nodeCache.get(o.location);if(a!=null){i.children.push(a);return}let c=yield this.getDocument(o.location);if(c===null)return;let l={item:{document:c,location:o},children:[]};this.nodeCache.set(o.location,l),i.children.push(l),c.parsedPayload!==null&&(yield n(c,l))})))});return yield n(this.entrypoint,e),e})}};gf.DocumentGraphBuilder=GS});var uC=T((X9,cC)=>{var ZS=Object.defineProperty,j3=Object.getOwnPropertyDescriptor,L3=Object.getOwnPropertyNames,q3=Object.prototype.hasOwnProperty,F3=(t,e)=>{for(var n in e)ZS(t,n,{get:e[n],enumerable:!0})},N3=(t,e,n,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of L3(e))!q3.call(t,i)&&i!==n&&ZS(t,i,{get:()=>e[i],enumerable:!(r=j3(e,i))||r.enumerable});return t},$3=t=>N3(ZS({},"__esModule",{value:!0}),t),iC={};F3(iC,{ScheduleIntervalHelper:()=>JS,SchedulePostMessageHelper:()=>XS,ScheduleSetImmmediateHelper:()=>QS,schedule:()=>V3,scheduleProvider:()=>lC});cC.exports=$3(iC);var U3=Promise.prototype.then.bind(Promise.resolve()),Hr,ex=(Hr=class{constructor(){this.queue=[],this.sleep=0}static isApplicable(){return!1}static createCallback(){throw new Error("Cannot create callback from base schedule helper!")}tick(){let e=this.queue,n=Math.min(e.length,Hr.QUEUE_LIMIT);this.queue=this.queue.slice(Hr.QUEUE_LIMIT);for(let r=0;r<n;U3(e[r++]));if(this.queue.length>0&&(this.sleep=0),this.sleep++<=Hr.SLEEP_LIMIT){this.nextTick();return}this.endTick()}start(){this.isTickActive()||(this.sleep=0,this.startTick())}add(e){this.queue.push(e),this.start()}},Hr.SLEEP_LIMIT=512,Hr.QUEUE_LIMIT=1024,Hr),JS=class sC extends ex{constructor(){super(...arguments),this.timer=null,this.boundTick=this.tick.bind(this)}static isApplicable(){return!!globalThis.setInterval}static createCallback(){let e=new sC;return e.add.bind(e)}isTickActive(){return this.timer!==null}startTick(){this.timer=setInterval(this.boundTick,0)}nextTick(){}endTick(){clearInterval(this.timer),this.timer=null}},B3=()=>{try{return typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope}catch(t){}return!1},XS=class oC extends ex{constructor(){super(),this.id=(Math.random()+1).toString(36).substring(7),this.active=!1,self.addEventListener("message",this.onMessage.bind(this))}static isApplicable(){return!B3()&&!!self.postMessage&&!!self.addEventListener}static createCallback(){let e=new oC;return e.add.bind(e)}onMessage(e){e.source!==self||e.data!==this.id||this.tick()}isTickActive(){return this.active}startTick(){this.active=!0,self.postMessage(this.id)}nextTick(){self.postMessage(this.id)}endTick(){this.active=!1}},QS=class aC extends ex{constructor(){super(...arguments),this.immediate=null,this.boundTick=this.tick.bind(this)}static isApplicable(){return!!globalThis.setImmediate}static createCallback(){let e=new aC;return e.add.bind(e)}isTickActive(){return this.immediate!==null}startTick(){this.immediate=setImmediate(this.boundTick)}nextTick(){this.immediate=setImmediate(this.boundTick)}endTick(){clearImmediate(this.immediate),this.immediate=null}};function lC(){if(QS.isApplicable())return QS.createCallback();if(XS.isApplicable())return XS.createCallback();if(JS.isApplicable())return JS.createCallback();throw new Error("No schedule helper fulfills requirements!")}var V3=lC()});var wc=T(js=>{"use strict";Object.defineProperty(js,"__esModule",{value:!0});js.aggregateImportsWithNamespaceFromGraph=js.aggregateImportsWithNamespaceFromLocations=void 0;var Ms=Yo(),W3=NS(),tx=Le(),K3=lr();function H3(t){t.globals.hasProperty("params")||t.globals.setProperty("params",new Ms.ListType(t.typeStorage.generateId(Ms.TypeKind.ListType),Ms.Type.createBaseType(tx.SignatureDefinitionBaseType.Number,t.typeStorage,t,t.globals),t.typeStorage,t,t.globals))}function z3(t,e){let n=t.typeStorage.getTypeById(tx.SignatureDefinitionBaseType.General);if(n.hasProperty("get_custom_object"))return;let r=Ms.MapType.createDefault(t.typeStorage,t,t.globals),i=(0,Ms.persistTypeInNativeFunction)(tx.SignatureDefinitionBaseType.General,"get_custom_object",r,t,e);n.setProperty("get_custom_object",new Ms.EntityInfo("get_custom_object",i)),t.typeStorage.memory.set("$$get_custom_object",r)}var G3=new Ms.TypeManager({container:W3.greyscriptMeta,modifyTypeStorage:(t,e)=>{H3(t),z3(t,e)}});js.default=G3;function Y3(t,e){let n=[];return t==null||t.forEach(r=>{var o;let i=r.args[0];if(i==null)return;let s=(o=e.get(r.location))==null?void 0:o.typeDocument;s!=null&&n.push({namespace:i,typeDoc:s})}),n}js.aggregateImportsWithNamespaceFromLocations=Y3;function J3(t,e){let n=[];return t==null||t.children.filter(i=>i.item.location.type===K3.DependencyType.Import).map(i=>i.item.location).forEach(i=>{let s=i.args[0];if(s==null)return;let o=e.get(i.location);o!=null&&n.push({namespace:s,typeDoc:o})}),n}js.aggregateImportsWithNamespaceFromGraph=J3});var dC=T(wa=>{"use strict";var pC=wa&&wa.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(wa,"__esModule",{value:!0});wa.DocumentManager=void 0;var X3=pC((Jr(),xt(Yr))),Q3=xs(),Z3=rp(),eK=uC(),tK=KS(),nK=zS(),rK=pC(wc()),nx=class extends X3.default{get context(){return this._context}setContext(e){return this._context=e,this}constructor(e){super(),this._context=null,this._pendingFiles=new Map,this.documents=new Z3.LRUCache({ttl:1e3*60*20,ttlAutopurge:!0}),this._documentScheduler=new nK.DocumentScheduler(e),this.initEvents()}initEvents(){this._documentScheduler.on("process",e=>{this.processAndPersist(e)})}processAndPersist(e){let n=e.uri;this._documentScheduler.cancel(e);let r=this.process(e);return this.documents.set(n,r),this.emit("processed",e,r),r}process(e){this._context.documentMerger.cache.flushCacheKey(e.uri);let n=e.getText(),r=new Q3.Parser(n,{unsafe:!0}),i=r.parseChunk(),s=rK.default.analyze(e.uri,i);return new tK.ActiveDocument({context:this._context,version:e.version,textDocument:e,typeDocument:s,parsedPayload:i,errors:[...r.lexer.errors,...r.errors]})}schedule(e){var n;return((n=this.documents.get(e.uri))==null?void 0:n.version)===e.version?!1:this._documentScheduler.schedule(e)}open(e){return N(this,null,function*(){try{let n=this._pendingFiles.get(e),r;if(n)r=yield n;else{let i=this.context.fs.getTextDocument(e);this._pendingFiles.set(e,i),r=yield i}return r==null?null:this.documents.get(r.uri)||this.processAndPersist(r)}catch(n){return console.error(`Error opening document ${e}:`,n),null}finally{this._pendingFiles.delete(e)}})}getOrOpen(e){return N(this,null,function*(){let n=this.documents.get(e);return n||this.open(e)})}get(e){return this.documents.get(e.uri)||this.processAndPersist(e)}getLatest(e,n=5e3){return new Promise(r=>{(0,eK.schedule)(()=>{if(!this._documentScheduler.isScheduled(e))return r(this.get(e));let i=()=>{this.removeListener("processed",s),r(this.get(e))},s=a=>{a.uri===e.uri&&(this.removeListener("processed",s),clearTimeout(o),r(this.get(e)))},o=setTimeout(i,n);this.addListener("processed",s)})})}clear(e){this.documents.delete(e.uri),this.emit("cleared",e)}};wa.DocumentManager=nx});var fC=T(Sa=>{"use strict";Object.defineProperty(Sa,"__esModule",{value:!0});Sa.DocumentDependencyMerger=Sa.DocumentDependencyMergerJob=void 0;var hC=lr(),iK=YS(),sK=wc(),yf=class{constructor(e){this.cache=e,this.refs=new Map}mergeDocuments(e,n){let r=(0,sK.aggregateImportsWithNamespaceFromGraph)(e,this.refs),i=e.item.document;return r.length===0?i.typeDocument.merge(...n.map(s=>({document:s}))):i.typeDocument.merge(...r.map(s=>({document:s.typeDoc,namespaces:[{exportFrom:"module.exports",namespace:s.namespace}]})),...n.map(s=>({document:s})))}process(e,n){let r=e.item.document,i=r.textDocument.uri,s=this.refs.get(i);if(s!==void 0)return s;this.refs.set(i,null);let o=[],a=this.cache.createCacheKey(r,(0,hC.getAllDependencyLocationsFromGraph)(e,new Set(r.textDocument.uri)));if(this.cache.typeDocuments.has(a)){let l=this.cache.typeDocuments.get(a);return this.refs.set(i,l),l}if(this.cache.registerCacheKey(a,i),e.children.length===0)return this.refs.set(i,r.typeDocument),this.cache.typeDocuments.set(a,r.typeDocument),r.typeDocument;for(let l=0;l<e.children.length;l++){let u=e.children[l],p=this.process(u,n);if(u.item.location.type!==hC.DependencyType.Import){if(p===null)return;o.push(p)}}let c=this.mergeDocuments(e,o);return this.refs.set(i,c),this.cache.typeDocuments.set(a,c),c}};Sa.DocumentDependencyMergerJob=yf;var rx=class{constructor(e){this.cache=e,this.pendingJobs=new Map}process(e,n){return N(this,null,function*(){let i=yield new iK.DocumentGraphBuilder({documentManager:n.documentManager,entrypoint:e}).build();return new yf(this.cache).process(i,n)})}build(e,n){return N(this,null,function*(){let r=this.pendingJobs.get(e.textDocument.uri);if(r)return r;let i=this.process(e,n);this.pendingJobs.set(e.textDocument.uri,i);let s=yield i;return this.pendingJobs.delete(e.textDocument.uri),s})}};Sa.DocumentDependencyMerger=rx});var ix=T(bf=>{"use strict";Object.defineProperty(bf,"__esModule",{value:!0});bf.hash=void 0;function oK(t){let e=5381,n=t.length;for(;n;)e=e*33^t.charCodeAt(--n);return e>>>0}bf.hash=oK});var gC=T(_f=>{"use strict";Object.defineProperty(_f,"__esModule",{value:!0});_f.DocumentMergerCache=void 0;var aK=rp(),mC=ix(),sx=class{constructor(){this.typeDocuments=new aK.LRUCache({max:100,ttl:1e3*60*5}),this.keyToDocumentUriMap=new Map}createCacheKey(e,n){let r=(0,mC.hash)(`main-${e.textDocument.uri}-${e.textDocument.version}`);for(let i=0;i<n.length;i++){let s=n[i];r^=(0,mC.hash)(`${s.textDocument.uri}-${s.textDocument.version}`),r=r>>>0}return r}registerCacheKey(e,n){this.flushCacheKey(n),this.keyToDocumentUriMap.set(n,e)}flushCacheKey(e){let n=this.keyToDocumentUriMap.get(e);n&&(this.typeDocuments.delete(n),this.keyToDocumentUriMap.delete(e))}flushCache(){this.typeDocuments.clear()}};_f.DocumentMergerCache=sx});var vC=T((sY,_C)=>{var ox=Object.defineProperty,lK=Object.getOwnPropertyDescriptor,cK=Object.getOwnPropertyNames,uK=Object.prototype.hasOwnProperty,pK=(t,e)=>{for(var n in e)ox(t,n,{get:e[n],enumerable:!0})},dK=(t,e,n,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of cK(e))!uK.call(t,i)&&i!==n&&ox(t,i,{get:()=>e[i],enumerable:!(r=lK(e,i))||r.enumerable});return t},hK=t=>dK(ox({},"__esModule",{value:!0}),t),bC={};pK(bC,{toposort:()=>ax,toposortWithEdges:()=>gK,toposortWithGraph:()=>yK});_C.exports=hK(bC);function fK(t,e){let n=new Array(t.size);for(let r=0,i=t.size;r<i;r++)n[r]=new Set;for(let r=0,i=e.length;r<i;r++){let[s,o]=e[r],a=t.get(s),c=t.get(o);a==null||c==null||n[a].add(c)}return n}function mK(t){let e=new Map;for(let n=0,r=t.length;n<r;n++)e.set(t[n],n);return e}function gK(t){let e=Array.from(new Set(t.flat()));return ax(e,t)}function yK(t){let e=Array.from(new Set(Object.keys(t))),n=new Set(e),r=[];for(let i=0,s=e.length;i<s;i++){let o=e[i],a=Array.from(new Set(t[o]));for(let c=0,l=a.length;c<l;c++)r.push([o,a[c]]),n.add(a[c])}return ax(Array.from(n),r)}function yC(t,e){let n={value:e};t.first==null?t.first=n:t.last.next=n,t.last=n}function bK(t){let e=t.first;return t.first=e.next,e.value}function _K(t){return t.first==null}function ax(t,e){var a;let n=mK(t),r=fK(n,e),i=new Array(t.length).fill(0);for(let c=0,l=r.length;c<l;c++)r[c].forEach(u=>{i[u]+=1});let s={first:null,last:null};i.forEach((c,l)=>{c===0&&yC(s,l)});let o=[];for(;!_K(s);){let c=bK(s);o.push(t[c]),r[c].forEach(l=>{--i[l]===0&&yC(s,l)})}if(o.length!==r.length)throw new Error(`Cyclic dependency detected: ${(a=vK(o,n,r))==null?void 0:a.map(c=>t[c]).join(" -> ")}`);return o}function vK(t,e,n){let r=new Set(t.map(a=>e.get(a))),i=null;function s(a,c){if(c.has(a))return!0;if(r.has(a))return!1;r.add(a),c.add(a);let l=Array.from(n[a]);for(let u=0,p=l.length;u<p;u++)if(s(l[u],c))return i==null&&(i=[a,l[u]]),!0;return c.delete(a),!1}let o=Array.from(n.keys());for(let a=0,c=o.length;a<c;a++)if(!r.has(o[a])&&s(o[a],new Set))return i;return null}});var wC=T(xa=>{"use strict";Object.defineProperty(xa,"__esModule",{value:!0});xa.DocumentWorkspaceBuilder=xa.DocumentWorkspaceContext=void 0;var vf=class{constructor(){this.documents=[],this.refs=new Map,this.dependencies=new Map}loadDependencies(){return N(this,null,function*(){yield Promise.all(this.documents.map(e=>N(this,null,function*(){let n=yield e.getDependencies();this.dependencies.set(e.textDocument.uri,n)})))})}getDependencies(e){return this.dependencies.get(e)||[]}getRefMap(){return this.refs}getRef(e){return this.refs.get(e)||null}setRef(e,n){this.refs.set(e,n),this.documents.push(n)}};xa.DocumentWorkspaceContext=vf;var lx=class{constructor(e){this.context=e.context}build(){return N(this,null,function*(){let e=new vf,n=yield this.context.fs.getWorkspaceRelatedFiles();return yield Promise.all(n.map(r=>N(this,null,function*(){let i=yield this.context.documentManager.getOrOpen(r.toString());return e.setRef(i.textDocument.uri,i),i}))),e})}};xa.DocumentWorkspaceBuilder=lx});var xC=T(Ta=>{"use strict";Object.defineProperty(Ta,"__esModule",{value:!0});Ta.DocumentWorkspaceMerger=Ta.DocumentWorkspaceMergerJob=void 0;var wK=vC(),SC=wc(),SK=wC(),wf=class{constructor(e){this.cache=e}getTypeDocument(e,n){let r=n.getRef(e);if(r!=null){let i=(0,SC.aggregateImportsWithNamespaceFromLocations)(n.getDependencies(e),n.getRefMap());return i.length===0?r.typeDocument:r.typeDocument.merge(...i.map(o=>({document:o.typeDoc,namespaces:[{exportFrom:"module.exports",namespace:o.namespace}]})))}return r.typeDocument}getExternalTypeDocumentsRelatedToDocument(e,n){let r=e.textDocument.uri,i=n.documents.map(l=>l.textDocument.uri),s=n.documents.map(l=>n.getDependencies(l.textDocument.uri).map(p=>[l.textDocument.uri,p.location])),o=(0,wK.toposort)(i,s.flat()),a=new Array(o.length);for(let l=o.length-1;l>=0;l--){let u=o[l];if(u===r)continue;let p=this.getTypeDocument(u,n);p!=null&&(a[l]=p)}return a.filter(l=>l!=null)}process(e,n){return N(this,null,function*(){let r=e.textDocument.uri,i=this.cache.createCacheKey(e,n.documents);if(this.cache.typeDocuments.has(i))return this.cache.typeDocuments.get(i);this.cache.registerCacheKey(i,r),yield n.loadDependencies();let s=this.getExternalTypeDocumentsRelatedToDocument(e,n),o=(0,SC.aggregateImportsWithNamespaceFromLocations)(n.getDependencies(r),n.getRefMap()),a=e.typeDocument.merge(...o.map(c=>({document:c.typeDoc,namespaces:[{exportFrom:"module.exports",namespace:c.namespace}]})),...s.map(c=>({document:c})));return this.cache.typeDocuments.set(i,a),a})}};Ta.DocumentWorkspaceMergerJob=wf;var cx=class{constructor(e){this.cache=e,this.pendingJobs=new Map}process(e,n){return N(this,null,function*(){let i=yield new SK.DocumentWorkspaceBuilder({context:n}).build();return new wf(this.cache).process(e,i)})}build(e,n){return N(this,null,function*(){let r=this.pendingJobs.get(e.textDocument.uri);if(r)return r;let i=this.process(e,n);this.pendingJobs.set(e.textDocument.uri,i);let s=yield i;return this.pendingJobs.delete(e.textDocument.uri),s})}};Ta.DocumentWorkspaceMerger=cx});var TC=T(Sf=>{"use strict";Object.defineProperty(Sf,"__esModule",{value:!0});Sf.DocumentMerger=void 0;var xK=lr(),TK=fC(),kK=gC(),IK=xC(),ux=class{constructor(){this.cache=new kK.DocumentMergerCache,this.dependencyMerger=new TK.DocumentDependencyMerger(this.cache),this.workspaceMerger=new IK.DocumentWorkspaceMerger(this.cache)}build(e,n){return N(this,null,function*(){return n.getConfiguration().typeAnalyzer.strategy===xK.TypeAnalyzerStrategy.Workspace?this.workspaceMerger.build(e,n):this.dependencyMerger.build(e,n)})}};Sf.DocumentMerger=ux});var PC=T(ka=>{"use strict";var PK=ka&&ka.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(ka,"__esModule",{value:!0});ka.CoreContext=void 0;var EK=PK((Jr(),xt(Yr))),Sc=lr(),kC=pf();function IC(t){var e,n,r,i,s,o,a,c,l,u,p,d,h,g,f,m,b;return{fileExtensions:t!=null&&t.fileExtensions?t.fileExtensions.split(","):Sc.DefaultFileExtensions,formatter:(e=t==null?void 0:t.formatter)!=null?e:!0,autocomplete:(n=t==null?void 0:t.autocomplete)!=null?n:!0,hoverdocs:(r=t==null?void 0:t.hoverdocs)!=null?r:!0,diagnostic:(i=t==null?void 0:t.diagnostic)!=null?i:!0,transpiler:{beautify:{keepParentheses:(a=(o=(s=t==null?void 0:t.transpiler)==null?void 0:s.beautify)==null?void 0:o.keepParentheses)!=null?a:!0,indentation:(u=(l=(c=t==null?void 0:t.transpiler)==null?void 0:c.beautify)==null?void 0:l.indentation)!=null?u:Sc.IndentationType.Tab,indentationSpaces:(h=(d=(p=t==null?void 0:t.transpiler)==null?void 0:p.beautify)==null?void 0:d.indentationSpaces)!=null?h:2}},typeAnalyzer:{strategy:(f=(g=t==null?void 0:t.typeAnalyzer)==null?void 0:g.strategy)!=null?f:Sc.TypeAnalyzerStrategy.Dependency,exclude:(b=(m=t==null?void 0:t.typeAnalyzer)==null?void 0:m.exclude)!=null?b:void 0}}}var px=class extends EK.default{constructor(){super(),this._configuration=IC(),this._features={configuration:!1,workspaceFolder:!1}}get features(){return this._features}getConfiguration(){return this._configuration}syncConfiguraton(){return N(this,null,function*(){let e=yield this.connection.workspace.getConfiguration(Sc.ConfigurationNamespace),n=IC(e),r=n.typeAnalyzer,i=this._configuration.typeAnalyzer;(r.strategy!==i.strategy||r.exclude!==i.exclude)&&this.documentMerger.cache.flushCache(),this._configuration=n})}configureCapabilties(e){this._features.configuration=!!(e.workspace&&e.workspace.configuration),this._features.workspaceFolder=!!(e.workspace&&e.workspace.workspaceFolders)}onInitialize(e){return N(this,null,function*(){this.configureCapabilties(e.capabilities);let n={capabilities:{completionProvider:{triggerCharacters:["."],resolveProvider:!0},hoverProvider:!0,colorProvider:!0,definitionProvider:!0,foldingRangeProvider:!0,documentFormattingProvider:!0,signatureHelpProvider:{triggerCharacters:[",","("]},documentSymbolProvider:!0,workspaceSymbolProvider:!0,diagnosticProvider:{identifier:Sc.LanguageId,interFileDependencies:!1,workspaceDiagnostics:!1},semanticTokensProvider:{legend:{tokenTypes:kC.semanticTokensLegend.tokenTypes,tokenModifiers:kC.semanticTokensLegend.tokenModifiers},full:!0},textDocumentSync:2}};return this._features.workspaceFolder&&(n.capabilities.workspace={workspaceFolders:{supported:!0}}),this.emit("ready",this),n})}onInitialized(e){return N(this,null,function*(){this._features.configuration&&(yield this.syncConfiguraton(),this.connection.onDidChangeConfiguration(()=>N(this,null,function*(){let n=this._configuration;yield this.syncConfiguraton(),this.emit("configuration-change",this,this._configuration,n)}))),this.emit("loaded",this)})}listen(){return N(this,null,function*(){this.fs.listen(this.connection),this.connection.onInitialize(this.onInitialize.bind(this)),this.connection.onInitialized(this.onInitialized.bind(this)),this.connection.listen()})}};ka.CoreContext=px});var xf=T(U=>{"use strict";var RK=U&&U.__createBinding||(Object.create?function(t,e,n,r){r===void 0&&(r=n);var i=Object.getOwnPropertyDescriptor(e,n);(!i||("get"in i?!e.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return e[n]}}),Object.defineProperty(t,r,i)}:function(t,e,n,r){r===void 0&&(r=n),t[r]=e[n]}),DK=U&&U.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),CK=U&&U.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var n in t)n!=="default"&&Object.prototype.hasOwnProperty.call(t,n)&&RK(e,t,n);return DK(e,t),e},OK=U&&U.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(U,"__esModule",{value:!0});U.CoreContext=U.buildTokens=U.semanticTokensLegend=U.lookupBase=U.lookupIdentifier=U.typeAnalyzer=U.appendTooltipHeader=U.appendTooltipBody=U.formatTypes=U.formatDefaultValue=U.createTooltipHeader=U.createSignatureInfo=U.createHover=U.hash=U.MarkdownString=U.LookupHelper=U.DocumentMerger=U.DocumentManager=U.DocumentGraphBuilder=U.DocumentURIBuilder=U.DocumentScheduler=U.ActiveDocument=U.ASTScraper=U.activateFoldingRange=U.activateSemantic=U.activateSymbol=U.activateSubscriptions=U.activateSignature=U.activateHover=U.activateFormatter=U.activateDiagnostic=U.activateDefinition=U.activateColor=U.activateAutocomplete=U.DefaultFileExtensions=U.TypeAnalyzerStrategy=U.ConfigurationNamespace=U.LanguageId=U.IndentationType=void 0;var xc=lr();Object.defineProperty(U,"IndentationType",{enumerable:!0,get:function(){return xc.IndentationType}});Object.defineProperty(U,"LanguageId",{enumerable:!0,get:function(){return xc.LanguageId}});Object.defineProperty(U,"ConfigurationNamespace",{enumerable:!0,get:function(){return xc.ConfigurationNamespace}});Object.defineProperty(U,"TypeAnalyzerStrategy",{enumerable:!0,get:function(){return xc.TypeAnalyzerStrategy}});Object.defineProperty(U,"DefaultFileExtensions",{enumerable:!0,get:function(){return xc.DefaultFileExtensions}});var AK=mE();Object.defineProperty(U,"activateAutocomplete",{enumerable:!0,get:function(){return AK.activate}});var MK=kE();Object.defineProperty(U,"activateColor",{enumerable:!0,get:function(){return MK.activate}});var jK=PE();Object.defineProperty(U,"activateDefinition",{enumerable:!0,get:function(){return jK.activate}});var LK=EE();Object.defineProperty(U,"activateDiagnostic",{enumerable:!0,get:function(){return LK.activate}});var qK=PR();Object.defineProperty(U,"activateFormatter",{enumerable:!0,get:function(){return qK.activate}});var FK=LR();Object.defineProperty(U,"activateHover",{enumerable:!0,get:function(){return FK.activate}});var NK=FR();Object.defineProperty(U,"activateSignature",{enumerable:!0,get:function(){return NK.activate}});var $K=$R();Object.defineProperty(U,"activateSubscriptions",{enumerable:!0,get:function(){return $K.activate}});var UK=BR();Object.defineProperty(U,"activateSymbol",{enumerable:!0,get:function(){return UK.activate}});var BK=tC();Object.defineProperty(U,"activateSemantic",{enumerable:!0,get:function(){return BK.activate}});var VK=rC();Object.defineProperty(U,"activateFoldingRange",{enumerable:!0,get:function(){return VK.activate}});U.ASTScraper=CK(Qd());var WK=KS();Object.defineProperty(U,"ActiveDocument",{enumerable:!0,get:function(){return WK.ActiveDocument}});var KK=zS();Object.defineProperty(U,"DocumentScheduler",{enumerable:!0,get:function(){return KK.DocumentScheduler}});var HK=ef();Object.defineProperty(U,"DocumentURIBuilder",{enumerable:!0,get:function(){return HK.DocumentURIBuilder}});var zK=YS();Object.defineProperty(U,"DocumentGraphBuilder",{enumerable:!0,get:function(){return zK.DocumentGraphBuilder}});var GK=dC();Object.defineProperty(U,"DocumentManager",{enumerable:!0,get:function(){return GK.DocumentManager}});var YK=TC();Object.defineProperty(U,"DocumentMerger",{enumerable:!0,get:function(){return YK.DocumentMerger}});var JK=Qo();Object.defineProperty(U,"LookupHelper",{enumerable:!0,get:function(){return JK.LookupHelper}});var XK=nf();Object.defineProperty(U,"MarkdownString",{enumerable:!0,get:function(){return XK.MarkdownString}});var QK=ix();Object.defineProperty(U,"hash",{enumerable:!0,get:function(){return QK.hash}});var Ls=sf();Object.defineProperty(U,"createHover",{enumerable:!0,get:function(){return Ls.createHover}});Object.defineProperty(U,"createSignatureInfo",{enumerable:!0,get:function(){return Ls.createSignatureInfo}});Object.defineProperty(U,"createTooltipHeader",{enumerable:!0,get:function(){return Ls.createTooltipHeader}});Object.defineProperty(U,"formatDefaultValue",{enumerable:!0,get:function(){return Ls.formatDefaultValue}});Object.defineProperty(U,"formatTypes",{enumerable:!0,get:function(){return Ls.formatTypes}});Object.defineProperty(U,"appendTooltipBody",{enumerable:!0,get:function(){return Ls.appendTooltipBody}});Object.defineProperty(U,"appendTooltipHeader",{enumerable:!0,get:function(){return Ls.appendTooltipHeader}});var ZK=wc();Object.defineProperty(U,"typeAnalyzer",{enumerable:!0,get:function(){return OK(ZK).default}});var EC=lw();Object.defineProperty(U,"lookupIdentifier",{enumerable:!0,get:function(){return EC.lookupIdentifier}});Object.defineProperty(U,"lookupBase",{enumerable:!0,get:function(){return EC.lookupBase}});var RC=pf();Object.defineProperty(U,"semanticTokensLegend",{enumerable:!0,get:function(){return RC.semanticTokensLegend}});Object.defineProperty(U,"buildTokens",{enumerable:!0,get:function(){return RC.buildTokens}});var e4=PC();Object.defineProperty(U,"CoreContext",{enumerable:!0,get:function(){return e4.CoreContext}})});var CC=T(hi=>{"use strict";var t4=hi&&hi.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(hi,"__esModule",{value:!0});hi.FileSystem=hi.FileSystemRequest=void 0;var n4=xy(),DC=($1(),xt(N1)),r4=t4((Jr(),xt(Yr))),Tc=Qu(),i4=rp(),s4=xf(),dx;(function(t){t.FileContent="read-file",t.FindFiles="find-files"})(dx=hi.FileSystemRequest||(hi.FileSystemRequest={}));var hx=class extends r4.default{constructor(e){super(),this._connection=null,this._context=e,this._textDocumentManager=new n4.TextDocuments(DC.TextDocument),this._tempTextDocumentCache=new i4.LRUCache({ttl:1e3,max:100})}getWorkspaceFolderUris(){return N(this,null,function*(){var n,r;if(!this._context.features.workspaceFolder)return[];let e=yield(r=(n=this._connection)==null?void 0:n.workspace)==null?void 0:r.getWorkspaceFolders();return e==null?[]:Array.from(new Set(e.map(i=>i.uri))).map(i=>Tc.URI.parse(i))})}getWorkspaceFolderUri(e){return N(this,null,function*(){return(yield this.getWorkspaceFolderUris()).find(r=>e.path.startsWith(r.path))||null})}requestFindFiles(e,n){return N(this,null,function*(){let r=`custom/${dx.FindFiles}`;try{return yield this._context.connection.sendRequest(r,JSON.stringify({include:e,exclude:n}))}catch(i){return console.error(`Cannot fetch workspace files! Maybe the client does not support ${r}`,i),[]}})}getWorkspaceRelatedFiles(){return N(this,null,function*(){let e=this._context.getConfiguration(),n=e.fileExtensions,r=e.typeAnalyzer.exclude;return(yield this.requestFindFiles(`**/*.{${n.join(",")}}`,r)).map(s=>Tc.URI.parse(s))})}getWorkspaceFileUris(e,n){return N(this,null,function*(){return(yield this.requestFindFiles(e,n)).map(i=>Tc.URI.parse(i))})}findExistingPath(e,...n){return N(this,null,function*(){if((yield this.getTextDocument(e))!=null)return e;if(n.length===0)return null;try{let i=yield Promise.any(n.map(s=>N(this,null,function*(){if((yield this.getTextDocument(s))!=null)return s;throw new Error("Alternative path could not resolve")})));return i!=null?i:null}catch(i){return null}})}getAllTextDocuments(){return this._textDocumentManager.all()}requestFileContent(e){return N(this,null,function*(){let n=`custom/${dx.FileContent}`;try{return yield this._context.connection.sendRequest(n,JSON.stringify({uri:e.toString()}))}catch(r){return console.error(`Cannot fetch text document! Maybe the client does not support ${n}`,r),null}})}fetchTextDocument(e){return N(this,null,function*(){var o;let n=Tc.URI.parse(e),r=this._tempTextDocumentCache.get(e);if(r!=null)return r;let i=null,s=yield this.requestFileContent(n);return s!=null&&(i=DC.TextDocument.create(e,s4.LanguageId,0,s),(o=this._connection)==null||o.sendNotification("textDocument/didOpen",{textDocument:i})),this._tempTextDocumentCache.set(e,i),i})}getTextDocument(e){return N(this,null,function*(){let n=this._textDocumentManager.get(e);return n||(Tc.URI.parse(e).scheme=="file"?yield this.fetchTextDocument(e):null)})}readFile(e){return N(this,null,function*(){return(yield this.getTextDocument(e)).getText()})}listen(e){this._connection=e,this._textDocumentManager.listen(e),this._textDocumentManager.onDidOpen(n=>{this.emit("text-document-open",n.document)}),this._textDocumentManager.onDidChangeContent(n=>{this.emit("text-document-change",n.document)}),this._textDocumentManager.onDidClose(n=>{this.emit("text-document-close",n.document)})}};hi.FileSystem=hx});var OC=T(Tf=>{"use strict";Object.defineProperty(Tf,"__esModule",{value:!0});Tf.BrowserContext=void 0;var kc=xy(),o4=CC(),fx=xf(),mx=class extends fx.CoreContext{constructor(){super(),this.documentManager=new fx.DocumentManager().setContext(this),this.documentMerger=new fx.DocumentMerger,this._messageReader=new kc.BrowserMessageReader(self),this._messageWriter=new kc.BrowserMessageWriter(self),this.connection=(0,kc.createConnection)(kc.ProposedFeatures.all,this._messageReader,this._messageWriter),this.fs=new o4.FileSystem(this)}createSemanticTokensBuilder(){return new kc.SemanticTokensBuilder}};Tf.BrowserContext=mx});var l4=T(MC=>{Object.defineProperty(MC,"__esModule",{value:!0});var a4=OC(),wr=xf(),AC=new a4.BrowserContext;AC.on("ready",t=>{(0,wr.activateAutocomplete)(t),(0,wr.activateColor)(t),(0,wr.activateDefinition)(t),(0,wr.activateDiagnostic)(t),(0,wr.activateFormatter)(t),(0,wr.activateHover)(t),(0,wr.activateSignature)(t),(0,wr.activateSubscriptions)(t),(0,wr.activateSymbol)(t),(0,wr.activateSemantic)(t),(0,wr.activateFoldingRange)(t)});AC.listen()});l4();})();
175
+ `),Ae.Comment),this.next()}process(){let e=this;switch(e.token.type){case oe.TokenType.Keyword:{this.processKeyword();break}case oe.TokenType.StringLiteral:{this.processStringLiteral();break}case oe.TokenType.Identifier:{this.processIdentifier();break}case oe.TokenType.NumericLiteral:{this.processNumericLiteral();break}case oe.TokenType.Punctuator:case oe.TokenType.SliceOperator:{this.processPunctuator();break}case oe.TokenType.BooleanLiteral:{this.processBooleanLiteral();break}case oe.TokenType.NilLiteral:{this.processNilLiteral();break}case oe.TokenType.Comment:{this.processComment();break}default:e.next()}}digest(){let e=this;for(e.next();!oe.Selectors.EndOfFile(e.token);)e.process()}};bn.TokenHandler=uf;function k3(t,e){let n=new eC.Lexer(e.textDocument.getText(),{unsafe:!0});return new uf(n,t).digest(),t}bn.buildTokens=k3});var tC=T(df=>{"use strict";Object.defineProperty(df,"__esModule",{value:!0});df.activate=void 0;var I3=pf();function P3(t){t.connection.languages.semanticTokens.on(e=>N(this,null,function*(){let n=yield t.fs.getTextDocument(e.textDocument.uri);if(n==null)return;let r=yield t.documentManager.getLatest(n);if(!r.parsedPayload)return;let i=t.createSemanticTokensBuilder();return(0,I3.buildTokens)(i,r),i.build()}))}df.activate=P3});var nC=T(hf=>{"use strict";Object.defineProperty(hf,"__esModule",{value:!0});hf.buildFoldingRanges=void 0;var Kr=ge(),US=Sy(),E3=Qd();function R3(t){let e=[];return new E3.ScraperWalker((r,i)=>{if(r.start.line===r.end.line)return null;switch(r.type){case Kr.ASTType.Comment:return e.push({startLine:r.start.line-1,endLine:r.end.line-1,kind:US.FoldingRangeKind.Comment}),null;case Kr.ASTType.MapConstructorExpression:case Kr.ASTType.ListConstructorExpression:case Kr.ASTType.StringLiteral:case Kr.ASTType.WhileStatement:case Kr.ASTType.ForGenericStatement:case Kr.ASTType.FunctionDeclaration:return e.push({startLine:r.start.line-1,endLine:r.end.line-1,kind:US.FoldingRangeKind.Region}),null;case Kr.ASTType.IfClause:case Kr.ASTType.ElseifClause:case Kr.ASTType.ElseClause:return e.push({startLine:r.start.line-1,endLine:r.end.line-2,kind:US.FoldingRangeKind.Region}),null}return null}).visit(t.parsedPayload),e}hf.buildFoldingRanges=R3});var rC=T(ff=>{"use strict";Object.defineProperty(ff,"__esModule",{value:!0});ff.activate=void 0;var D3=nC();function C3(t){t.connection.languages.foldingRange.on(e=>N(this,null,function*(){let n=yield t.fs.getTextDocument(e.textDocument.uri);if(n==null)return;let r=yield t.documentManager.getLatest(n);if(r.parsedPayload)return(0,D3.buildFoldingRanges)(r)}))}ff.activate=C3});var KS=T(mf=>{"use strict";Object.defineProperty(mf,"__esModule",{value:!0});mf.ActiveDocument=void 0;var BS=Qu(),As=lr(),VS=ef(),WS=class{constructor(e){this.context=e.context,this.version=e.version,this.textDocument=e.textDocument,this.typeDocument=e.typeDocument,this.parsedPayload=e.parsedPayload,this.errors=e.errors}getDirectory(){return BS.Utils.joinPath(BS.URI.parse(this.textDocument.uri),"..")}getNativeImportUris(e=null){return N(this,null,function*(){if(this.parsedPayload==null)return[];let n=this.parsedPayload;if(n.nativeImports.length===0)return[];let r=this.getDirectory(),i=new VS.DocumentURIBuilder(r,e),s=this.context;return(yield Promise.all(n.nativeImports.filter(a=>a.directory&&a.eval).map(a=>N(this,null,function*(){let c=yield i.getPathWithContext(a.directory,s);return c==null?null:(0,As.parseDependencyLocation)({type:As.DependencyType.NativeImport,location:c})})))).filter(a=>a!=null)})}getImportUris(e=null){return N(this,null,function*(){if(this.parsedPayload==null)return[];let n=this.parsedPayload;if(n.imports.length===0)return[];let r=this.getDirectory(),i=this.context,s=new VS.DocumentURIBuilder(r,e);return(yield Promise.all([...n.imports.filter(a=>a.path).map(a=>N(this,null,function*(){var l;let c=yield s.getPathWithContext(a.path,i);return c==null?null:(0,As.parseDependencyLocation)({type:As.DependencyType.Import,location:c,args:[(l=a.name)==null?void 0:l.name]})}))])).filter(a=>a!=null)})}getIncludeUris(e=null){return N(this,null,function*(){if(this.parsedPayload==null)return[];let n=this.parsedPayload;if(n.includes.length===0)return[];let r=this.getDirectory(),i=this.context,s=new VS.DocumentURIBuilder(r,e);return(yield Promise.all([...n.includes.filter(a=>a.path).map(a=>N(this,null,function*(){let c=yield s.getPathWithContext(a.path,i);return c==null?null:(0,As.parseDependencyLocation)({type:As.DependencyType.Include,location:c})}))])).filter(a=>a!=null)})}getDependencies(){return N(this,null,function*(){if(this.parsedPayload==null)return[];if(this.dependencies)return this.dependencies;let e=yield this.context.fs.getWorkspaceFolderUri(BS.URI.parse(this.textDocument.uri)),[n,r,i]=yield Promise.all([this.getNativeImportUris(e),this.getImportUris(e),this.getIncludeUris(e)]),s=new Set([...n,...r,...i]);return this.dependencies=Array.from(s).map(As.parseDependencyRawLocation),this.dependencies})}};mf.ActiveDocument=WS});var zS=T(di=>{"use strict";var O3=di&&di.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(di,"__esModule",{value:!0});di.DocumentScheduler=di.PROCESSING_TIMEOUT=void 0;var A3=O3((Jr(),xt(Yr)));di.PROCESSING_TIMEOUT=50;var HS=class extends A3.default{constructor(e=di.PROCESSING_TIMEOUT){super(),this._timer=null,this.scheduledItems=new Map,this.tickRef=this.tick.bind(this),this.processingTimeout=e}tick(){if(this.scheduledItems.size===0){this._timer=null;return}let e=Date.now();this.scheduledItems.forEach((n,r)=>{e-n.createdAt>this.processingTimeout&&(this.emit("process",n.document),this.scheduledItems.delete(r))}),this._timer=setTimeout(this.tickRef,0)}schedule(e){let n=e.uri;return this.scheduledItems.has(n)?!1:(this.scheduledItems.set(n,{document:e,createdAt:Date.now()}),this._timer===null&&(this._timer=setTimeout(this.tickRef,0)),!0)}isScheduled(e){return this.scheduledItems.has(e.uri)}cancel(e){return this.scheduledItems.delete(e.uri)}};di.DocumentScheduler=HS});var YS=T(gf=>{"use strict";Object.defineProperty(gf,"__esModule",{value:!0});gf.DocumentGraphBuilder=void 0;var M3=lr(),GS=class{constructor(e){this.documentManager=e.documentManager,this.entrypoint=e.entrypoint,this.nodeCache=new Map,this.pendingDocument=new Map}getDocument(e){return N(this,null,function*(){if(this.pendingDocument.has(e))return this.pendingDocument.get(e);let n=this.documentManager.getOrOpen(e);this.pendingDocument.set(e,n);let r=yield n;return this.pendingDocument.delete(e),r})}build(){return N(this,null,function*(){let e={item:{document:this.entrypoint,location:{type:M3.DependencyType.Root,location:this.entrypoint.textDocument.uri}},children:[]};if(this.entrypoint.parsedPayload===null)return e;this.nodeCache.set(this.entrypoint.textDocument.uri,e);let n=(r,i)=>N(this,null,function*(){let s=yield r.getDependencies();yield Promise.all(s.map(o=>N(this,null,function*(){let a=this.nodeCache.get(o.location);if(a!=null){i.children.push(a);return}let c=yield this.getDocument(o.location);if(c===null)return;let l={item:{document:c,location:o},children:[]};this.nodeCache.set(o.location,l),i.children.push(l),c.parsedPayload!==null&&(yield n(c,l))})))});return yield n(this.entrypoint,e),e})}};gf.DocumentGraphBuilder=GS});var uC=T((X9,cC)=>{var ZS=Object.defineProperty,j3=Object.getOwnPropertyDescriptor,L3=Object.getOwnPropertyNames,q3=Object.prototype.hasOwnProperty,F3=(t,e)=>{for(var n in e)ZS(t,n,{get:e[n],enumerable:!0})},N3=(t,e,n,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of L3(e))!q3.call(t,i)&&i!==n&&ZS(t,i,{get:()=>e[i],enumerable:!(r=j3(e,i))||r.enumerable});return t},$3=t=>N3(ZS({},"__esModule",{value:!0}),t),iC={};F3(iC,{ScheduleIntervalHelper:()=>JS,SchedulePostMessageHelper:()=>XS,ScheduleSetImmmediateHelper:()=>QS,schedule:()=>V3,scheduleProvider:()=>lC});cC.exports=$3(iC);var U3=Promise.prototype.then.bind(Promise.resolve()),Hr,ex=(Hr=class{constructor(){this.queue=[],this.sleep=0}static isApplicable(){return!1}static createCallback(){throw new Error("Cannot create callback from base schedule helper!")}tick(){let e=this.queue,n=Math.min(e.length,Hr.QUEUE_LIMIT);this.queue=this.queue.slice(Hr.QUEUE_LIMIT);for(let r=0;r<n;U3(e[r++]));if(this.queue.length>0&&(this.sleep=0),this.sleep++<=Hr.SLEEP_LIMIT){this.nextTick();return}this.endTick()}start(){this.isTickActive()||(this.sleep=0,this.startTick())}add(e){this.queue.push(e),this.start()}},Hr.SLEEP_LIMIT=512,Hr.QUEUE_LIMIT=1024,Hr),JS=class sC extends ex{constructor(){super(...arguments),this.timer=null,this.boundTick=this.tick.bind(this)}static isApplicable(){return!!globalThis.setInterval}static createCallback(){let e=new sC;return e.add.bind(e)}isTickActive(){return this.timer!==null}startTick(){this.timer=setInterval(this.boundTick,0)}nextTick(){}endTick(){clearInterval(this.timer),this.timer=null}},B3=()=>{try{return typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope}catch(t){}return!1},XS=class oC extends ex{constructor(){super(),this.id=(Math.random()+1).toString(36).substring(7),this.active=!1,self.addEventListener("message",this.onMessage.bind(this))}static isApplicable(){return!B3()&&!!self.postMessage&&!!self.addEventListener}static createCallback(){let e=new oC;return e.add.bind(e)}onMessage(e){e.source!==self||e.data!==this.id||this.tick()}isTickActive(){return this.active}startTick(){this.active=!0,self.postMessage(this.id)}nextTick(){self.postMessage(this.id)}endTick(){this.active=!1}},QS=class aC extends ex{constructor(){super(...arguments),this.immediate=null,this.boundTick=this.tick.bind(this)}static isApplicable(){return!!globalThis.setImmediate}static createCallback(){let e=new aC;return e.add.bind(e)}isTickActive(){return this.immediate!==null}startTick(){this.immediate=setImmediate(this.boundTick)}nextTick(){this.immediate=setImmediate(this.boundTick)}endTick(){clearImmediate(this.immediate),this.immediate=null}};function lC(){if(QS.isApplicable())return QS.createCallback();if(XS.isApplicable())return XS.createCallback();if(JS.isApplicable())return JS.createCallback();throw new Error("No schedule helper fulfills requirements!")}var V3=lC()});var wc=T(js=>{"use strict";Object.defineProperty(js,"__esModule",{value:!0});js.aggregateImportsWithNamespaceFromGraph=js.aggregateImportsWithNamespaceFromLocations=void 0;var Ms=Yo(),W3=NS(),tx=Le(),K3=lr();function H3(t){t.globals.hasProperty("params")||t.globals.setProperty("params",new Ms.ListType(t.typeStorage.generateId(Ms.TypeKind.ListType),Ms.Type.createBaseType(tx.SignatureDefinitionBaseType.String,t.typeStorage,t,t.globals),t.typeStorage,t,t.globals))}function z3(t,e){let n=t.typeStorage.getTypeById(tx.SignatureDefinitionBaseType.General);if(n.hasProperty("get_custom_object"))return;let r=Ms.MapType.createDefault(t.typeStorage,t,t.globals),i=(0,Ms.persistTypeInNativeFunction)(tx.SignatureDefinitionBaseType.General,"get_custom_object",r,t,e);n.setProperty("get_custom_object",new Ms.EntityInfo("get_custom_object",i)),t.typeStorage.memory.set("$$get_custom_object",r)}var G3=new Ms.TypeManager({container:W3.greyscriptMeta,modifyTypeStorage:(t,e)=>{H3(t),z3(t,e)}});js.default=G3;function Y3(t,e){let n=[];return t==null||t.forEach(r=>{var o;let i=r.args[0];if(i==null)return;let s=(o=e.get(r.location))==null?void 0:o.typeDocument;s!=null&&n.push({namespace:i,typeDoc:s})}),n}js.aggregateImportsWithNamespaceFromLocations=Y3;function J3(t,e){let n=[];return t==null||t.children.filter(i=>i.item.location.type===K3.DependencyType.Import).map(i=>i.item.location).forEach(i=>{let s=i.args[0];if(s==null)return;let o=e.get(i.location);o!=null&&n.push({namespace:s,typeDoc:o})}),n}js.aggregateImportsWithNamespaceFromGraph=J3});var dC=T(wa=>{"use strict";var pC=wa&&wa.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(wa,"__esModule",{value:!0});wa.DocumentManager=void 0;var X3=pC((Jr(),xt(Yr))),Q3=xs(),Z3=rp(),eK=uC(),tK=KS(),nK=zS(),rK=pC(wc()),nx=class extends X3.default{get context(){return this._context}setContext(e){return this._context=e,this}constructor(e){super(),this._context=null,this._pendingFiles=new Map,this.documents=new Z3.LRUCache({ttl:1e3*60*20,ttlAutopurge:!0}),this._documentScheduler=new nK.DocumentScheduler(e),this.initEvents()}initEvents(){this._documentScheduler.on("process",e=>{this.processAndPersist(e)})}processAndPersist(e){let n=e.uri;this._documentScheduler.cancel(e);let r=this.process(e);return this.documents.set(n,r),this.emit("processed",e,r),r}process(e){this._context.documentMerger.cache.flushCacheKey(e.uri);let n=e.getText(),r=new Q3.Parser(n,{unsafe:!0}),i=r.parseChunk(),s=rK.default.analyze(e.uri,i);return new tK.ActiveDocument({context:this._context,version:e.version,textDocument:e,typeDocument:s,parsedPayload:i,errors:[...r.lexer.errors,...r.errors]})}schedule(e){var n;return((n=this.documents.get(e.uri))==null?void 0:n.version)===e.version?!1:this._documentScheduler.schedule(e)}open(e){return N(this,null,function*(){try{let n=this._pendingFiles.get(e),r;if(n)r=yield n;else{let i=this.context.fs.getTextDocument(e);this._pendingFiles.set(e,i),r=yield i}return r==null?null:this.documents.get(r.uri)||this.processAndPersist(r)}catch(n){return console.error(`Error opening document ${e}:`,n),null}finally{this._pendingFiles.delete(e)}})}getOrOpen(e){return N(this,null,function*(){let n=this.documents.get(e);return n||this.open(e)})}get(e){return this.documents.get(e.uri)||this.processAndPersist(e)}getLatest(e,n=5e3){return new Promise(r=>{(0,eK.schedule)(()=>{if(!this._documentScheduler.isScheduled(e))return r(this.get(e));let i=()=>{this.removeListener("processed",s),r(this.get(e))},s=a=>{a.uri===e.uri&&(this.removeListener("processed",s),clearTimeout(o),r(this.get(e)))},o=setTimeout(i,n);this.addListener("processed",s)})})}clear(e){this.documents.delete(e.uri),this.emit("cleared",e)}};wa.DocumentManager=nx});var fC=T(Sa=>{"use strict";Object.defineProperty(Sa,"__esModule",{value:!0});Sa.DocumentDependencyMerger=Sa.DocumentDependencyMergerJob=void 0;var hC=lr(),iK=YS(),sK=wc(),yf=class{constructor(e){this.cache=e,this.refs=new Map}mergeDocuments(e,n){let r=(0,sK.aggregateImportsWithNamespaceFromGraph)(e,this.refs),i=e.item.document;return r.length===0?i.typeDocument.merge(...n.map(s=>({document:s}))):i.typeDocument.merge(...r.map(s=>({document:s.typeDoc,namespaces:[{exportFrom:"module.exports",namespace:s.namespace}]})),...n.map(s=>({document:s})))}process(e,n){let r=e.item.document,i=r.textDocument.uri,s=this.refs.get(i);if(s!==void 0)return s;this.refs.set(i,null);let o=[],a=this.cache.createCacheKey(r,(0,hC.getAllDependencyLocationsFromGraph)(e,new Set(r.textDocument.uri)));if(this.cache.typeDocuments.has(a)){let l=this.cache.typeDocuments.get(a);return this.refs.set(i,l),l}if(this.cache.registerCacheKey(a,i),e.children.length===0)return this.refs.set(i,r.typeDocument),this.cache.typeDocuments.set(a,r.typeDocument),r.typeDocument;for(let l=0;l<e.children.length;l++){let u=e.children[l],p=this.process(u,n);if(u.item.location.type!==hC.DependencyType.Import){if(p===null)return;o.push(p)}}let c=this.mergeDocuments(e,o);return this.refs.set(i,c),this.cache.typeDocuments.set(a,c),c}};Sa.DocumentDependencyMergerJob=yf;var rx=class{constructor(e){this.cache=e,this.pendingJobs=new Map}process(e,n){return N(this,null,function*(){let i=yield new iK.DocumentGraphBuilder({documentManager:n.documentManager,entrypoint:e}).build();return new yf(this.cache).process(i,n)})}build(e,n){return N(this,null,function*(){let r=this.pendingJobs.get(e.textDocument.uri);if(r)return r;let i=this.process(e,n);this.pendingJobs.set(e.textDocument.uri,i);let s=yield i;return this.pendingJobs.delete(e.textDocument.uri),s})}};Sa.DocumentDependencyMerger=rx});var ix=T(bf=>{"use strict";Object.defineProperty(bf,"__esModule",{value:!0});bf.hash=void 0;function oK(t){let e=5381,n=t.length;for(;n;)e=e*33^t.charCodeAt(--n);return e>>>0}bf.hash=oK});var gC=T(_f=>{"use strict";Object.defineProperty(_f,"__esModule",{value:!0});_f.DocumentMergerCache=void 0;var aK=rp(),mC=ix(),sx=class{constructor(){this.typeDocuments=new aK.LRUCache({max:100,ttl:1e3*60*5}),this.keyToDocumentUriMap=new Map}createCacheKey(e,n){let r=(0,mC.hash)(`main-${e.textDocument.uri}-${e.textDocument.version}`);for(let i=0;i<n.length;i++){let s=n[i];r^=(0,mC.hash)(`${s.textDocument.uri}-${s.textDocument.version}`),r=r>>>0}return r}registerCacheKey(e,n){this.flushCacheKey(n),this.keyToDocumentUriMap.set(n,e)}flushCacheKey(e){let n=this.keyToDocumentUriMap.get(e);n&&(this.typeDocuments.delete(n),this.keyToDocumentUriMap.delete(e))}flushCache(){this.typeDocuments.clear()}};_f.DocumentMergerCache=sx});var vC=T((sY,_C)=>{var ox=Object.defineProperty,lK=Object.getOwnPropertyDescriptor,cK=Object.getOwnPropertyNames,uK=Object.prototype.hasOwnProperty,pK=(t,e)=>{for(var n in e)ox(t,n,{get:e[n],enumerable:!0})},dK=(t,e,n,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of cK(e))!uK.call(t,i)&&i!==n&&ox(t,i,{get:()=>e[i],enumerable:!(r=lK(e,i))||r.enumerable});return t},hK=t=>dK(ox({},"__esModule",{value:!0}),t),bC={};pK(bC,{toposort:()=>ax,toposortWithEdges:()=>gK,toposortWithGraph:()=>yK});_C.exports=hK(bC);function fK(t,e){let n=new Array(t.size);for(let r=0,i=t.size;r<i;r++)n[r]=new Set;for(let r=0,i=e.length;r<i;r++){let[s,o]=e[r],a=t.get(s),c=t.get(o);a==null||c==null||n[a].add(c)}return n}function mK(t){let e=new Map;for(let n=0,r=t.length;n<r;n++)e.set(t[n],n);return e}function gK(t){let e=Array.from(new Set(t.flat()));return ax(e,t)}function yK(t){let e=Array.from(new Set(Object.keys(t))),n=new Set(e),r=[];for(let i=0,s=e.length;i<s;i++){let o=e[i],a=Array.from(new Set(t[o]));for(let c=0,l=a.length;c<l;c++)r.push([o,a[c]]),n.add(a[c])}return ax(Array.from(n),r)}function yC(t,e){let n={value:e};t.first==null?t.first=n:t.last.next=n,t.last=n}function bK(t){let e=t.first;return t.first=e.next,e.value}function _K(t){return t.first==null}function ax(t,e){var a;let n=mK(t),r=fK(n,e),i=new Array(t.length).fill(0);for(let c=0,l=r.length;c<l;c++)r[c].forEach(u=>{i[u]+=1});let s={first:null,last:null};i.forEach((c,l)=>{c===0&&yC(s,l)});let o=[];for(;!_K(s);){let c=bK(s);o.push(t[c]),r[c].forEach(l=>{--i[l]===0&&yC(s,l)})}if(o.length!==r.length)throw new Error(`Cyclic dependency detected: ${(a=vK(o,n,r))==null?void 0:a.map(c=>t[c]).join(" -> ")}`);return o}function vK(t,e,n){let r=new Set(t.map(a=>e.get(a))),i=null;function s(a,c){if(c.has(a))return!0;if(r.has(a))return!1;r.add(a),c.add(a);let l=Array.from(n[a]);for(let u=0,p=l.length;u<p;u++)if(s(l[u],c))return i==null&&(i=[a,l[u]]),!0;return c.delete(a),!1}let o=Array.from(n.keys());for(let a=0,c=o.length;a<c;a++)if(!r.has(o[a])&&s(o[a],new Set))return i;return null}});var wC=T(xa=>{"use strict";Object.defineProperty(xa,"__esModule",{value:!0});xa.DocumentWorkspaceBuilder=xa.DocumentWorkspaceContext=void 0;var vf=class{constructor(){this.documents=[],this.refs=new Map,this.dependencies=new Map}loadDependencies(){return N(this,null,function*(){yield Promise.all(this.documents.map(e=>N(this,null,function*(){let n=yield e.getDependencies();this.dependencies.set(e.textDocument.uri,n)})))})}getDependencies(e){return this.dependencies.get(e)||[]}getRefMap(){return this.refs}getRef(e){return this.refs.get(e)||null}setRef(e,n){this.refs.set(e,n),this.documents.push(n)}};xa.DocumentWorkspaceContext=vf;var lx=class{constructor(e){this.context=e.context}build(){return N(this,null,function*(){let e=new vf,n=yield this.context.fs.getWorkspaceRelatedFiles();return yield Promise.all(n.map(r=>N(this,null,function*(){let i=yield this.context.documentManager.getOrOpen(r.toString());return e.setRef(i.textDocument.uri,i),i}))),e})}};xa.DocumentWorkspaceBuilder=lx});var xC=T(Ta=>{"use strict";Object.defineProperty(Ta,"__esModule",{value:!0});Ta.DocumentWorkspaceMerger=Ta.DocumentWorkspaceMergerJob=void 0;var wK=vC(),SC=wc(),SK=wC(),wf=class{constructor(e){this.cache=e}getTypeDocument(e,n){let r=n.getRef(e);if(r!=null){let i=(0,SC.aggregateImportsWithNamespaceFromLocations)(n.getDependencies(e),n.getRefMap());return i.length===0?r.typeDocument:r.typeDocument.merge(...i.map(o=>({document:o.typeDoc,namespaces:[{exportFrom:"module.exports",namespace:o.namespace}]})))}return r.typeDocument}getExternalTypeDocumentsRelatedToDocument(e,n){let r=e.textDocument.uri,i=n.documents.map(l=>l.textDocument.uri),s=n.documents.map(l=>n.getDependencies(l.textDocument.uri).map(p=>[l.textDocument.uri,p.location])),o=(0,wK.toposort)(i,s.flat()),a=new Array(o.length);for(let l=o.length-1;l>=0;l--){let u=o[l];if(u===r)continue;let p=this.getTypeDocument(u,n);p!=null&&(a[l]=p)}return a.filter(l=>l!=null)}process(e,n){return N(this,null,function*(){let r=e.textDocument.uri,i=this.cache.createCacheKey(e,n.documents);if(this.cache.typeDocuments.has(i))return this.cache.typeDocuments.get(i);this.cache.registerCacheKey(i,r),yield n.loadDependencies();let s=this.getExternalTypeDocumentsRelatedToDocument(e,n),o=(0,SC.aggregateImportsWithNamespaceFromLocations)(n.getDependencies(r),n.getRefMap()),a=e.typeDocument.merge(...o.map(c=>({document:c.typeDoc,namespaces:[{exportFrom:"module.exports",namespace:c.namespace}]})),...s.map(c=>({document:c})));return this.cache.typeDocuments.set(i,a),a})}};Ta.DocumentWorkspaceMergerJob=wf;var cx=class{constructor(e){this.cache=e,this.pendingJobs=new Map}process(e,n){return N(this,null,function*(){let i=yield new SK.DocumentWorkspaceBuilder({context:n}).build();return new wf(this.cache).process(e,i)})}build(e,n){return N(this,null,function*(){let r=this.pendingJobs.get(e.textDocument.uri);if(r)return r;let i=this.process(e,n);this.pendingJobs.set(e.textDocument.uri,i);let s=yield i;return this.pendingJobs.delete(e.textDocument.uri),s})}};Ta.DocumentWorkspaceMerger=cx});var TC=T(Sf=>{"use strict";Object.defineProperty(Sf,"__esModule",{value:!0});Sf.DocumentMerger=void 0;var xK=lr(),TK=fC(),kK=gC(),IK=xC(),ux=class{constructor(){this.cache=new kK.DocumentMergerCache,this.dependencyMerger=new TK.DocumentDependencyMerger(this.cache),this.workspaceMerger=new IK.DocumentWorkspaceMerger(this.cache)}build(e,n){return N(this,null,function*(){return n.getConfiguration().typeAnalyzer.strategy===xK.TypeAnalyzerStrategy.Workspace?this.workspaceMerger.build(e,n):this.dependencyMerger.build(e,n)})}};Sf.DocumentMerger=ux});var PC=T(ka=>{"use strict";var PK=ka&&ka.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(ka,"__esModule",{value:!0});ka.CoreContext=void 0;var EK=PK((Jr(),xt(Yr))),Sc=lr(),kC=pf();function IC(t){var e,n,r,i,s,o,a,c,l,u,p,d,h,g,f,m,b;return{fileExtensions:t!=null&&t.fileExtensions?t.fileExtensions.split(","):Sc.DefaultFileExtensions,formatter:(e=t==null?void 0:t.formatter)!=null?e:!0,autocomplete:(n=t==null?void 0:t.autocomplete)!=null?n:!0,hoverdocs:(r=t==null?void 0:t.hoverdocs)!=null?r:!0,diagnostic:(i=t==null?void 0:t.diagnostic)!=null?i:!0,transpiler:{beautify:{keepParentheses:(a=(o=(s=t==null?void 0:t.transpiler)==null?void 0:s.beautify)==null?void 0:o.keepParentheses)!=null?a:!0,indentation:(u=(l=(c=t==null?void 0:t.transpiler)==null?void 0:c.beautify)==null?void 0:l.indentation)!=null?u:Sc.IndentationType.Tab,indentationSpaces:(h=(d=(p=t==null?void 0:t.transpiler)==null?void 0:p.beautify)==null?void 0:d.indentationSpaces)!=null?h:2}},typeAnalyzer:{strategy:(f=(g=t==null?void 0:t.typeAnalyzer)==null?void 0:g.strategy)!=null?f:Sc.TypeAnalyzerStrategy.Dependency,exclude:(b=(m=t==null?void 0:t.typeAnalyzer)==null?void 0:m.exclude)!=null?b:void 0}}}var px=class extends EK.default{constructor(){super(),this._configuration=IC(),this._features={configuration:!1,workspaceFolder:!1}}get features(){return this._features}getConfiguration(){return this._configuration}syncConfiguraton(){return N(this,null,function*(){let e=yield this.connection.workspace.getConfiguration(Sc.ConfigurationNamespace),n=IC(e),r=n.typeAnalyzer,i=this._configuration.typeAnalyzer;(r.strategy!==i.strategy||r.exclude!==i.exclude)&&this.documentMerger.cache.flushCache(),this._configuration=n})}configureCapabilties(e){this._features.configuration=!!(e.workspace&&e.workspace.configuration),this._features.workspaceFolder=!!(e.workspace&&e.workspace.workspaceFolders)}onInitialize(e){return N(this,null,function*(){this.configureCapabilties(e.capabilities);let n={capabilities:{completionProvider:{triggerCharacters:["."],resolveProvider:!0},hoverProvider:!0,colorProvider:!0,definitionProvider:!0,foldingRangeProvider:!0,documentFormattingProvider:!0,signatureHelpProvider:{triggerCharacters:[",","("]},documentSymbolProvider:!0,workspaceSymbolProvider:!0,diagnosticProvider:{identifier:Sc.LanguageId,interFileDependencies:!1,workspaceDiagnostics:!1},semanticTokensProvider:{legend:{tokenTypes:kC.semanticTokensLegend.tokenTypes,tokenModifiers:kC.semanticTokensLegend.tokenModifiers},full:!0},textDocumentSync:2}};return this._features.workspaceFolder&&(n.capabilities.workspace={workspaceFolders:{supported:!0}}),this.emit("ready",this),n})}onInitialized(e){return N(this,null,function*(){this._features.configuration&&(yield this.syncConfiguraton(),this.connection.onDidChangeConfiguration(()=>N(this,null,function*(){let n=this._configuration;yield this.syncConfiguraton(),this.emit("configuration-change",this,this._configuration,n)}))),this.emit("loaded",this)})}listen(){return N(this,null,function*(){this.fs.listen(this.connection),this.connection.onInitialize(this.onInitialize.bind(this)),this.connection.onInitialized(this.onInitialized.bind(this)),this.connection.listen()})}};ka.CoreContext=px});var xf=T(U=>{"use strict";var RK=U&&U.__createBinding||(Object.create?function(t,e,n,r){r===void 0&&(r=n);var i=Object.getOwnPropertyDescriptor(e,n);(!i||("get"in i?!e.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return e[n]}}),Object.defineProperty(t,r,i)}:function(t,e,n,r){r===void 0&&(r=n),t[r]=e[n]}),DK=U&&U.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),CK=U&&U.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var n in t)n!=="default"&&Object.prototype.hasOwnProperty.call(t,n)&&RK(e,t,n);return DK(e,t),e},OK=U&&U.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(U,"__esModule",{value:!0});U.CoreContext=U.buildTokens=U.semanticTokensLegend=U.lookupBase=U.lookupIdentifier=U.typeAnalyzer=U.appendTooltipHeader=U.appendTooltipBody=U.formatTypes=U.formatDefaultValue=U.createTooltipHeader=U.createSignatureInfo=U.createHover=U.hash=U.MarkdownString=U.LookupHelper=U.DocumentMerger=U.DocumentManager=U.DocumentGraphBuilder=U.DocumentURIBuilder=U.DocumentScheduler=U.ActiveDocument=U.ASTScraper=U.activateFoldingRange=U.activateSemantic=U.activateSymbol=U.activateSubscriptions=U.activateSignature=U.activateHover=U.activateFormatter=U.activateDiagnostic=U.activateDefinition=U.activateColor=U.activateAutocomplete=U.DefaultFileExtensions=U.TypeAnalyzerStrategy=U.ConfigurationNamespace=U.LanguageId=U.IndentationType=void 0;var xc=lr();Object.defineProperty(U,"IndentationType",{enumerable:!0,get:function(){return xc.IndentationType}});Object.defineProperty(U,"LanguageId",{enumerable:!0,get:function(){return xc.LanguageId}});Object.defineProperty(U,"ConfigurationNamespace",{enumerable:!0,get:function(){return xc.ConfigurationNamespace}});Object.defineProperty(U,"TypeAnalyzerStrategy",{enumerable:!0,get:function(){return xc.TypeAnalyzerStrategy}});Object.defineProperty(U,"DefaultFileExtensions",{enumerable:!0,get:function(){return xc.DefaultFileExtensions}});var AK=mE();Object.defineProperty(U,"activateAutocomplete",{enumerable:!0,get:function(){return AK.activate}});var MK=kE();Object.defineProperty(U,"activateColor",{enumerable:!0,get:function(){return MK.activate}});var jK=PE();Object.defineProperty(U,"activateDefinition",{enumerable:!0,get:function(){return jK.activate}});var LK=EE();Object.defineProperty(U,"activateDiagnostic",{enumerable:!0,get:function(){return LK.activate}});var qK=PR();Object.defineProperty(U,"activateFormatter",{enumerable:!0,get:function(){return qK.activate}});var FK=LR();Object.defineProperty(U,"activateHover",{enumerable:!0,get:function(){return FK.activate}});var NK=FR();Object.defineProperty(U,"activateSignature",{enumerable:!0,get:function(){return NK.activate}});var $K=$R();Object.defineProperty(U,"activateSubscriptions",{enumerable:!0,get:function(){return $K.activate}});var UK=BR();Object.defineProperty(U,"activateSymbol",{enumerable:!0,get:function(){return UK.activate}});var BK=tC();Object.defineProperty(U,"activateSemantic",{enumerable:!0,get:function(){return BK.activate}});var VK=rC();Object.defineProperty(U,"activateFoldingRange",{enumerable:!0,get:function(){return VK.activate}});U.ASTScraper=CK(Qd());var WK=KS();Object.defineProperty(U,"ActiveDocument",{enumerable:!0,get:function(){return WK.ActiveDocument}});var KK=zS();Object.defineProperty(U,"DocumentScheduler",{enumerable:!0,get:function(){return KK.DocumentScheduler}});var HK=ef();Object.defineProperty(U,"DocumentURIBuilder",{enumerable:!0,get:function(){return HK.DocumentURIBuilder}});var zK=YS();Object.defineProperty(U,"DocumentGraphBuilder",{enumerable:!0,get:function(){return zK.DocumentGraphBuilder}});var GK=dC();Object.defineProperty(U,"DocumentManager",{enumerable:!0,get:function(){return GK.DocumentManager}});var YK=TC();Object.defineProperty(U,"DocumentMerger",{enumerable:!0,get:function(){return YK.DocumentMerger}});var JK=Qo();Object.defineProperty(U,"LookupHelper",{enumerable:!0,get:function(){return JK.LookupHelper}});var XK=nf();Object.defineProperty(U,"MarkdownString",{enumerable:!0,get:function(){return XK.MarkdownString}});var QK=ix();Object.defineProperty(U,"hash",{enumerable:!0,get:function(){return QK.hash}});var Ls=sf();Object.defineProperty(U,"createHover",{enumerable:!0,get:function(){return Ls.createHover}});Object.defineProperty(U,"createSignatureInfo",{enumerable:!0,get:function(){return Ls.createSignatureInfo}});Object.defineProperty(U,"createTooltipHeader",{enumerable:!0,get:function(){return Ls.createTooltipHeader}});Object.defineProperty(U,"formatDefaultValue",{enumerable:!0,get:function(){return Ls.formatDefaultValue}});Object.defineProperty(U,"formatTypes",{enumerable:!0,get:function(){return Ls.formatTypes}});Object.defineProperty(U,"appendTooltipBody",{enumerable:!0,get:function(){return Ls.appendTooltipBody}});Object.defineProperty(U,"appendTooltipHeader",{enumerable:!0,get:function(){return Ls.appendTooltipHeader}});var ZK=wc();Object.defineProperty(U,"typeAnalyzer",{enumerable:!0,get:function(){return OK(ZK).default}});var EC=lw();Object.defineProperty(U,"lookupIdentifier",{enumerable:!0,get:function(){return EC.lookupIdentifier}});Object.defineProperty(U,"lookupBase",{enumerable:!0,get:function(){return EC.lookupBase}});var RC=pf();Object.defineProperty(U,"semanticTokensLegend",{enumerable:!0,get:function(){return RC.semanticTokensLegend}});Object.defineProperty(U,"buildTokens",{enumerable:!0,get:function(){return RC.buildTokens}});var e4=PC();Object.defineProperty(U,"CoreContext",{enumerable:!0,get:function(){return e4.CoreContext}})});var CC=T(hi=>{"use strict";var t4=hi&&hi.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(hi,"__esModule",{value:!0});hi.FileSystem=hi.FileSystemRequest=void 0;var n4=xy(),DC=($1(),xt(N1)),r4=t4((Jr(),xt(Yr))),Tc=Qu(),i4=rp(),s4=xf(),dx;(function(t){t.FileContent="read-file",t.FindFiles="find-files"})(dx=hi.FileSystemRequest||(hi.FileSystemRequest={}));var hx=class extends r4.default{constructor(e){super(),this._connection=null,this._context=e,this._textDocumentManager=new n4.TextDocuments(DC.TextDocument),this._tempTextDocumentCache=new i4.LRUCache({ttl:1e3,max:100})}getWorkspaceFolderUris(){return N(this,null,function*(){var n,r;if(!this._context.features.workspaceFolder)return[];let e=yield(r=(n=this._connection)==null?void 0:n.workspace)==null?void 0:r.getWorkspaceFolders();return e==null?[]:Array.from(new Set(e.map(i=>i.uri))).map(i=>Tc.URI.parse(i))})}getWorkspaceFolderUri(e){return N(this,null,function*(){return(yield this.getWorkspaceFolderUris()).find(r=>e.path.startsWith(r.path))||null})}requestFindFiles(e,n){return N(this,null,function*(){let r=`custom/${dx.FindFiles}`;try{return yield this._context.connection.sendRequest(r,JSON.stringify({include:e,exclude:n}))}catch(i){return console.error(`Cannot fetch workspace files! Maybe the client does not support ${r}`,i),[]}})}getWorkspaceRelatedFiles(){return N(this,null,function*(){let e=this._context.getConfiguration(),n=e.fileExtensions,r=e.typeAnalyzer.exclude;return(yield this.requestFindFiles(`**/*.{${n.join(",")}}`,r)).map(s=>Tc.URI.parse(s))})}getWorkspaceFileUris(e,n){return N(this,null,function*(){return(yield this.requestFindFiles(e,n)).map(i=>Tc.URI.parse(i))})}findExistingPath(e,...n){return N(this,null,function*(){if((yield this.getTextDocument(e))!=null)return e;if(n.length===0)return null;try{let i=yield Promise.any(n.map(s=>N(this,null,function*(){if((yield this.getTextDocument(s))!=null)return s;throw new Error("Alternative path could not resolve")})));return i!=null?i:null}catch(i){return null}})}getAllTextDocuments(){return this._textDocumentManager.all()}requestFileContent(e){return N(this,null,function*(){let n=`custom/${dx.FileContent}`;try{return yield this._context.connection.sendRequest(n,JSON.stringify({uri:e.toString()}))}catch(r){return console.error(`Cannot fetch text document! Maybe the client does not support ${n}`,r),null}})}fetchTextDocument(e){return N(this,null,function*(){var o;let n=Tc.URI.parse(e),r=this._tempTextDocumentCache.get(e);if(r!=null)return r;let i=null,s=yield this.requestFileContent(n);return s!=null&&(i=DC.TextDocument.create(e,s4.LanguageId,0,s),(o=this._connection)==null||o.sendNotification("textDocument/didOpen",{textDocument:i})),this._tempTextDocumentCache.set(e,i),i})}getTextDocument(e){return N(this,null,function*(){let n=this._textDocumentManager.get(e);return n||(Tc.URI.parse(e).scheme=="file"?yield this.fetchTextDocument(e):null)})}readFile(e){return N(this,null,function*(){return(yield this.getTextDocument(e)).getText()})}listen(e){this._connection=e,this._textDocumentManager.listen(e),this._textDocumentManager.onDidOpen(n=>{this.emit("text-document-open",n.document)}),this._textDocumentManager.onDidChangeContent(n=>{this.emit("text-document-change",n.document)}),this._textDocumentManager.onDidClose(n=>{this.emit("text-document-close",n.document)})}};hi.FileSystem=hx});var OC=T(Tf=>{"use strict";Object.defineProperty(Tf,"__esModule",{value:!0});Tf.BrowserContext=void 0;var kc=xy(),o4=CC(),fx=xf(),mx=class extends fx.CoreContext{constructor(){super(),this.documentManager=new fx.DocumentManager().setContext(this),this.documentMerger=new fx.DocumentMerger,this._messageReader=new kc.BrowserMessageReader(self),this._messageWriter=new kc.BrowserMessageWriter(self),this.connection=(0,kc.createConnection)(kc.ProposedFeatures.all,this._messageReader,this._messageWriter),this.fs=new o4.FileSystem(this)}createSemanticTokensBuilder(){return new kc.SemanticTokensBuilder}};Tf.BrowserContext=mx});var l4=T(MC=>{Object.defineProperty(MC,"__esModule",{value:!0});var a4=OC(),wr=xf(),AC=new a4.BrowserContext;AC.on("ready",t=>{(0,wr.activateAutocomplete)(t),(0,wr.activateColor)(t),(0,wr.activateDefinition)(t),(0,wr.activateDiagnostic)(t),(0,wr.activateFormatter)(t),(0,wr.activateHover)(t),(0,wr.activateSignature)(t),(0,wr.activateSubscriptions)(t),(0,wr.activateSymbol)(t),(0,wr.activateSemantic)(t),(0,wr.activateFoldingRange)(t)});AC.listen()});l4();})();
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "greybel-languageserver-browser",
3
- "version": "2.0.4",
3
+ "version": "2.0.6",
4
4
  "description": "Language server for GreyScript",
5
5
  "main": "./index.js",
6
6
  "scripts": {
@@ -74,6 +74,6 @@
74
74
  "greyscript-meta": "~4.3.2",
75
75
  "greyscript-transpiler": "~1.8.2",
76
76
  "greybel-type-analyzer": "~1.0.6",
77
- "greybel-languageserver-core": "~2.0.2"
77
+ "greybel-languageserver-core": "~2.0.4"
78
78
  }
79
79
  }