@fincity/kirun-js 2.2.0 → 2.2.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/__tests__/engine/json/schema/validator/ArraySchemaAdapterTypeTest.ts +26 -1
- package/__tests__/engine/runtime/expression/ExpressionEvaluationTest.ts +27 -19
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/module.js +1 -1
- package/dist/module.js.map +1 -1
- package/dist/types.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/engine/json/schema/Schema.ts +6 -4
- package/src/engine/json/schema/type/TypeUtil.ts +17 -2
- package/src/engine/runtime/expression/ExpressionEvaluator.ts +0 -3
- package/src/engine/runtime/expression/tokenextractor/LiteralTokenValueExtractor.ts +2 -1
package/dist/module.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
function e(e,t,r,s){Object.defineProperty(e,t,{get:r,set:s,enumerable:!0,configurable:!0})}function t(e,t){return Object.keys(t).forEach(function(r){"default"===r||"__esModule"===r||e.hasOwnProperty(r)||Object.defineProperty(e,r,{enumerable:!0,get:function(){return t[r]}})}),e}e({},"KIRunSchemaRepository",()=>x);var r,s,n,a,i,o={};e(o,"AdditionalType",()=>M),e(o,"Schema",()=>O),e({},"Namespaces",()=>E);class E{static #e=(()=>{this.SYSTEM="System"})();static #t=(()=>{this.SYSTEM_CTX="System.Context"})();static #r=(()=>{this.SYSTEM_LOOP="System.Loop"})();static #s=(()=>{this.SYSTEM_ARRAY="System.Array"})();static #n=(()=>{this.SYSTEM_OBJECT="System.Object"})();static #a=(()=>{this.MATH="System.Math"})();static #i=(()=>{this.STRING="System.String"})();constructor(){}}function u(e){return null==e}e({},"ArraySchemaType",()=>A),e({},"isNullValue",()=>u);class A{constructor(e){if(!e)return;this.singleSchema=e.singleSchema?new O(e.singleSchema):void 0,this.tupleSchema=e.tupleSchema?e.tupleSchema.map(e=>new O(e)):void 0}setSingleSchema(e){return this.singleSchema=e,this}setTupleSchema(e){return this.tupleSchema=e,this}getSingleSchema(){return this.singleSchema}getTupleSchema(){return this.tupleSchema}isSingleType(){return!u(this.singleSchema)}static of(...e){return 1==e.length?new A().setSingleSchema(e[0]):new A().setTupleSchema(e)}static from(e){if(!e)return;if(Array.isArray(e))return new A().setTupleSchema(O.fromListOfSchemas(e));let t=Object.keys(e);if(-1!=t.indexOf("singleSchema"))return new A().setSingleSchema(O.from(e.singleSchema));if(-1!=t.indexOf("tupleSchema"))return new A().setTupleSchema(O.fromListOfSchemas(e.tupleSchema));let r=O.from(e);if(r)return new A().setSingleSchema(r)}}e({},"SchemaType",()=>r),function(e){e.INTEGER="Integer",e.LONG="Long",e.FLOAT="Float",e.DOUBLE="Double",e.STRING="String",e.OBJECT="Object",e.ARRAY="Array",e.BOOLEAN="Boolean",e.NULL="Null"}(r||(r={})),e({},"TypeUtil",()=>g),e({},"MultipleType",()=>l),e({},"Type",()=>c);class c{}class l extends c{constructor(e){super(),e instanceof l?this.type=new Set(Array.from(e.type)):this.type=new Set(Array.from(e))}getType(){return this.type}setType(e){return this.type=e,this}getAllowedSchemaTypes(){return this.type}contains(e){return this.type?.has(e)}}e({},"SingleType",()=>h);class h extends c{constructor(e){super(),e instanceof h?this.type=e.type:this.type=e}getType(){return this.type}getAllowedSchemaTypes(){return new Set([this.type])}contains(e){return this.type==e}}class g{static of(...e){return 1==e.length?new h(e[0]):new l(new Set(e))}static from(e){return"string"==typeof e?new h(r[e]):Array.isArray(e)?new l(new Set(e.map(e=>e).map(e=>r[e]))):void 0}}let p="additionalProperty",R="additionalItems",m="enums",T="items",f="System.Schema",N="required",_="version",S="namespace";class M{constructor(e){if(!e||(this.booleanValue=e.booleanValue,!e.schemaValue))return;this.schemaValue=new O(e.schemaValue)}getBooleanValue(){return this.booleanValue}getSchemaValue(){return this.schemaValue}setBooleanValue(e){return this.booleanValue=e,this}setSchemaValue(e){return this.schemaValue=e,this}static from(e){if(u(e))return;let t=new M;if("boolean"==typeof e)t.booleanValue=e;else{let r=Object.keys(e);-1!=r.indexOf("booleanValue")?t.booleanValue=e.booleanValue:-1!=r.indexOf("schemaValue")?t.schemaValue=O.from(e.schemaValue):t.schemaValue=O.from(e)}return t}}class O{static #e=(()=>{this.NULL=new O().setNamespace(E.SYSTEM).setName("Null").setType(g.of(r.NULL)).setConstant(void 0)})();static #t=(()=>{this.TYPE_SCHEMA=new O().setType(g.of(r.STRING)).setEnums(["INTEGER","LONG","FLOAT","DOUBLE","STRING","OBJECT","ARRAY","BOOLEAN","NULL"])})();static #r=(()=>{this.SCHEMA=new O().setNamespace(E.SYSTEM).setName("Schema").setType(g.of(r.OBJECT)).setProperties(new Map([[S,O.of(S,r.STRING).setDefaultValue("_")],["name",O.ofString("name")],[_,O.of(_,r.INTEGER).setDefaultValue(1)],["ref",O.ofString("ref")],["type",new O().setAnyOf([O.TYPE_SCHEMA,O.ofArray("type",O.TYPE_SCHEMA)])],["anyOf",O.ofArray("anyOf",O.ofRef(f))],["allOf",O.ofArray("allOf",O.ofRef(f))],["oneOf",O.ofArray("oneOf",O.ofRef(f))],["not",O.ofRef(f)],["title",O.ofString("title")],["description",O.ofString("description")],["id",O.ofString("id")],["examples",O.ofAny("examples")],["defaultValue",O.ofAny("defaultValue")],["comment",O.ofString("comment")],[m,O.ofArray(m,O.ofString(m))],["constant",O.ofAny("constant")],["pattern",O.ofString("pattern")],["format",O.of("format",r.STRING).setEnums(["DATETIME","TIME","DATE","EMAIL","REGEX"])],["minLength",O.ofInteger("minLength")],["maxLength",O.ofInteger("maxLength")],["multipleOf",O.ofLong("multipleOf")],["minimum",O.ofNumber("minimum")],["maximum",O.ofNumber("maximum")],["exclusiveMinimum",O.ofNumber("exclusiveMinimum")],["exclusiveMaximum",O.ofNumber("exclusiveMaximum")],["properties",O.of("properties",r.OBJECT).setAdditionalProperties(new M().setSchemaValue(O.ofRef(f)))],["additionalProperties",new O().setName(p).setNamespace(E.SYSTEM).setAnyOf([O.ofBoolean(p),O.ofObject(p).setRef(f)]).setDefaultValue(!0)],[N,O.ofArray(N,O.ofString(N)).setDefaultValue([])],["propertyNames",O.ofRef(f)],["minProperties",O.ofInteger("minProperties")],["maxProperties",O.ofInteger("maxProperties")],["patternProperties",O.of("patternProperties",r.OBJECT).setAdditionalProperties(new M().setSchemaValue(O.ofRef(f)))],[T,new O().setName(T).setAnyOf([O.ofRef(f).setName("item"),O.ofArray("tuple",O.ofRef(f))])],["contains",O.ofRef(f)],["minContains",O.ofInteger("minContains")],["maxContains",O.ofInteger("maxContains")],["minItems",O.ofInteger("minItems")],["maxItems",O.ofInteger("maxItems")],["uniqueItems",O.ofBoolean("uniqueItems")],["additionalItems",new O().setName(R).setNamespace(E.SYSTEM).setAnyOf([O.ofBoolean(R),O.ofObject(R).setRef(f)])],["$defs",O.of("$defs",r.OBJECT).setAdditionalProperties(new M().setSchemaValue(O.ofRef(f)))],["permission",O.ofString("permission")]])).setRequired([])})();static ofString(e){return new O().setType(g.of(r.STRING)).setName(e)}static ofInteger(e){return new O().setType(g.of(r.INTEGER)).setName(e)}static ofFloat(e){return new O().setType(g.of(r.FLOAT)).setName(e)}static ofLong(e){return new O().setType(g.of(r.LONG)).setName(e)}static ofDouble(e){return new O().setType(g.of(r.DOUBLE)).setName(e)}static ofAny(e){return new O().setType(g.of(r.INTEGER,r.LONG,r.FLOAT,r.DOUBLE,r.STRING,r.BOOLEAN,r.ARRAY,r.NULL,r.OBJECT)).setName(e)}static ofAnyNotNull(e){return new O().setType(g.of(r.INTEGER,r.LONG,r.FLOAT,r.DOUBLE,r.STRING,r.BOOLEAN,r.ARRAY,r.OBJECT)).setName(e)}static ofNumber(e){return new O().setType(g.of(r.INTEGER,r.LONG,r.FLOAT,r.DOUBLE)).setName(e)}static ofBoolean(e){return new O().setType(g.of(r.BOOLEAN)).setName(e)}static of(e,...t){return new O().setType(g.of(...t)).setName(e)}static ofObject(e){return new O().setType(g.of(r.OBJECT)).setName(e)}static ofRef(e){return new O().setRef(e)}static ofArray(e,...t){return new O().setType(g.of(r.ARRAY)).setName(e).setItems(A.of(...t))}static fromListOfSchemas(e){if(u(e)&&!Array.isArray(e))return;let t=[];for(let r of Array.from(e)){let e=O.from(r);e&&t.push(e)}return t}static fromMapOfSchemas(e){if(u(e))return;let t=new Map;return Object.entries(e).forEach(([e,r])=>{let s=O.from(r);s&&t.set(e,s)}),t}static from(e,t=!1){if(u(e))return;let s=new O;return s.namespace=e.namespace??"_",s.name=e.name,s.version=e.version??1,s.ref=e.ref,t?s.type=new h(r.STRING):s.type=g.from(e.type),s.anyOf=O.fromListOfSchemas(e.anyOf),s.allOf=O.fromListOfSchemas(e.allOf),s.oneOf=O.fromListOfSchemas(e.oneOf),s.not=O.from(e.not),s.description=e.description,s.examples=e.examples?[...e.examples]:void 0,s.defaultValue=e.defaultValue,s.comment=e.comment,s.enums=e.enums?[...e.enums]:void 0,s.constant=e.constant,s.pattern=e.pattern,s.format=e.format,s.minLength=e.minLength,s.maxLength=e.maxLength,s.multipleOf=e.multipleOf,s.minimum=e.minimum,s.maximum=e.maximum,s.exclusiveMinimum=e.exclusiveMinimum,s.exclusiveMaximum=e.exclusiveMaximum,s.properties=O.fromMapOfSchemas(e.properties),s.additionalProperties=M.from(e.additionalProperties),s.required=e.required,s.propertyNames=O.from(e.propertyNames,!0),s.minProperties=e.minProperties,s.maxProperties=e.maxProperties,s.patternProperties=O.fromMapOfSchemas(e.patternProperties),s.items=A.from(e.items),s.additionalItems=M.from(e.additionalItems),s.contains=O.from(e.contains),s.minContains=e.minContains,s.maxContains=e.maxContains,s.minItems=e.minItems,s.maxItems=e.maxItems,s.uniqueItems=e.uniqueItems,s.$defs=O.fromMapOfSchemas(e.$defs),s.permission=e.permission,s}constructor(e){if(this.namespace="_",this.version=1,!e)return;this.namespace=e.namespace,this.name=e.name,this.version=e.version,this.ref=e.ref,this.type=e.type instanceof h?new h(e.type):new l(e.type),this.anyOf=e.anyOf?.map(e=>new O(e)),this.allOf=e.allOf?.map(e=>new O(e)),this.oneOf=e.oneOf?.map(e=>new O(e)),this.not=this.not?new O(this.not):void 0,this.description=e.description,this.examples=e.examples?JSON.parse(JSON.stringify(e.examples)):void 0,this.defaultValue=e.defaultValue?JSON.parse(JSON.stringify(e.defaultValue)):void 0,this.comment=e.comment,this.enums=e.enums?[...e.enums]:void 0,this.constant=e.constant?JSON.parse(JSON.stringify(e.constant)):void 0,this.pattern=e.pattern,this.format=e.format,this.minLength=e.minLength,this.maxLength=e.maxLength,this.multipleOf=e.multipleOf,this.minimum=e.minimum,this.maximum=e.maximum,this.exclusiveMinimum=e.exclusiveMinimum,this.exclusiveMaximum=e.exclusiveMaximum,this.properties=e.properties?new Map(Array.from(e.properties.entries()).map(e=>[e[0],new O(e[1])])):void 0,this.additionalProperties=e.additionalProperties?new M(e.additionalProperties):void 0,this.required=e.required?[...e.required]:void 0,this.propertyNames=e.propertyNames?new O(e.propertyNames):void 0,this.minProperties=e.minProperties,this.maxProperties=e.maxProperties,this.patternProperties=e.patternProperties?new Map(Array.from(e.patternProperties.entries()).map(e=>[e[0],new O(e[1])])):void 0,this.items=e.items?new A(e.items):void 0,this.contains=e.contains?new O(this.contains):void 0,this.minContains=e.minContains,this.maxContains=e.maxContains,this.minItems=e.minItems,this.maxItems=e.maxItems,this.uniqueItems=e.uniqueItems,this.additionalItems=e.additionalItems?new M(e.additionalItems):void 0,this.$defs=e.$defs?new Map(Array.from(e.$defs.entries()).map(e=>[e[0],new O(e[1])])):void 0,this.permission=e.permission}getTitle(){return this.namespace&&"_"!=this.namespace?this.namespace+"."+this.name:this.name}getFullName(){return this.namespace+"."+this.name}get$defs(){return this.$defs}set$defs(e){return this.$defs=e,this}getNamespace(){return this.namespace}setNamespace(e){return this.namespace=e,this}getName(){return this.name}setName(e){return this.name=e,this}getVersion(){return this.version}setVersion(e){return this.version=e,this}getRef(){return this.ref}setRef(e){return this.ref=e,this}getType(){return this.type}setType(e){return this.type=e,this}getAnyOf(){return this.anyOf}setAnyOf(e){return this.anyOf=e,this}getAllOf(){return this.allOf}setAllOf(e){return this.allOf=e,this}getOneOf(){return this.oneOf}setOneOf(e){return this.oneOf=e,this}getNot(){return this.not}setNot(e){return this.not=e,this}getDescription(){return this.description}setDescription(e){return this.description=e,this}getExamples(){return this.examples}setExamples(e){return this.examples=e,this}getDefaultValue(){return this.defaultValue}setDefaultValue(e){return this.defaultValue=e,this}getComment(){return this.comment}setComment(e){return this.comment=e,this}getEnums(){return this.enums}setEnums(e){return this.enums=e,this}getConstant(){return this.constant}setConstant(e){return this.constant=e,this}getPattern(){return this.pattern}setPattern(e){return this.pattern=e,this}getFormat(){return this.format}setFormat(e){return this.format=e,this}getMinLength(){return this.minLength}setMinLength(e){return this.minLength=e,this}getMaxLength(){return this.maxLength}setMaxLength(e){return this.maxLength=e,this}getMultipleOf(){return this.multipleOf}setMultipleOf(e){return this.multipleOf=e,this}getMinimum(){return this.minimum}setMinimum(e){return this.minimum=e,this}getMaximum(){return this.maximum}setMaximum(e){return this.maximum=e,this}getExclusiveMinimum(){return this.exclusiveMinimum}setExclusiveMinimum(e){return this.exclusiveMinimum=e,this}getExclusiveMaximum(){return this.exclusiveMaximum}setExclusiveMaximum(e){return this.exclusiveMaximum=e,this}getProperties(){return this.properties}setProperties(e){return this.properties=e,this}getAdditionalProperties(){return this.additionalProperties}setAdditionalProperties(e){return this.additionalProperties=e,this}getAdditionalItems(){return this.additionalItems}setAdditionalItems(e){return this.additionalItems=e,this}getRequired(){return this.required}setRequired(e){return this.required=e,this}getPropertyNames(){return this.propertyNames}setPropertyNames(e){return this.propertyNames=e,this.propertyNames.type=new h(r.STRING),this}getMinProperties(){return this.minProperties}setMinProperties(e){return this.minProperties=e,this}getMaxProperties(){return this.maxProperties}setMaxProperties(e){return this.maxProperties=e,this}getPatternProperties(){return this.patternProperties}setPatternProperties(e){return this.patternProperties=e,this}getItems(){return this.items}setItems(e){return this.items=e,this}getContains(){return this.contains}setContains(e){return this.contains=e,this}getMinContains(){return this.minContains}setMinContains(e){return this.minContains=e,this}getMaxContains(){return this.maxContains}setMaxContains(e){return this.maxContains=e,this}getMinItems(){return this.minItems}setMinItems(e){return this.minItems=e,this}getMaxItems(){return this.maxItems}setMaxItems(e){return this.maxItems=e,this}getUniqueItems(){return this.uniqueItems}setUniqueItems(e){return this.uniqueItems=e,this}getPermission(){return this.permission}setPermission(e){return this.permission=e,this}}e({},"Parameter",()=>I),e({},"SchemaReferenceException",()=>d);class d extends Error{constructor(e,t,r){super(e.trim()?e+"-"+t:t),this.schemaPath=e,this.cause=r}getSchemaPath(){return this.schemaPath}getCause(){return this.cause}}e({},"ParameterType",()=>s),function(e){e.CONSTANT="CONSTANT",e.EXPRESSION="EXPRESSION"}(s||(s={}));let w="value";class I{static #e=(()=>{this.SCHEMA_NAME="Parameter"})();static #t=(()=>{this.SCHEMA=new O().setNamespace(E.SYSTEM).setName(I.SCHEMA_NAME).setProperties(new Map([["schema",O.SCHEMA],["parameterName",O.ofString("parameterName")],["variableArgument",O.of("variableArgument",r.BOOLEAN).setDefaultValue(!1)],["type",O.ofString("type").setEnums(["EXPRESSION","CONSTANT"])]]))})();static #r=(()=>{this.EXPRESSION=new O().setNamespace(E.SYSTEM).setName("ParameterExpression").setType(g.of(r.OBJECT)).setProperties(new Map([["isExpression",O.ofBoolean("isExpression").setDefaultValue(!0)],[w,O.ofAny(w)]]))})();constructor(e,t){if(this.variableArgument=!1,this.type=s.EXPRESSION,e instanceof I)this.schema=new O(e.schema),this.parameterName=e.parameterName,this.variableArgument=e.variableArgument,this.type=e.type;else{if(!t)throw Error("Unknown constructor signature");this.schema=t,this.parameterName=e}}getSchema(){return this.schema}setSchema(e){return this.schema=e,this}getParameterName(){return this.parameterName}setParameterName(e){return this.parameterName=e,this}isVariableArgument(){return this.variableArgument}setVariableArgument(e){return this.variableArgument=e,this}getType(){return this.type}setType(e){return this.type=e,this}static ofEntry(e,t,r=!1,n=s.EXPRESSION){return[e,new I(e,t).setType(n).setVariableArgument(r)]}static of(e,t,r=!1,n=s.EXPRESSION){return new I(e,t).setType(n).setVariableArgument(r)}static from(e){let t=O.from(e.schema);if(!t)throw new d("","Parameter requires Schema");return new I(e.parameterName,t).setVariableArgument(!!e.variableArgument).setType(e.type??s.EXPRESSION)}}let P=new Map([["any",O.ofAny("any").setNamespace(E.SYSTEM)],["boolean",O.ofBoolean("boolean").setNamespace(E.SYSTEM)],["double",O.ofDouble("double").setNamespace(E.SYSTEM)],["float",O.ofFloat("float").setNamespace(E.SYSTEM)],["integer",O.ofInteger("integer").setNamespace(E.SYSTEM)],["long",O.ofLong("long").setNamespace(E.SYSTEM)],["number",O.ofNumber("number").setNamespace(E.SYSTEM)],["string",O.ofString("string").setNamespace(E.SYSTEM)],[I.EXPRESSION.getName(),I.EXPRESSION],[O.NULL.getName(),O.NULL],[O.SCHEMA.getName(),O.SCHEMA]]),y=Array.from(P.values()).map(e=>e.getFullName());class x{async find(e,t){return E.SYSTEM!=e?Promise.resolve(void 0):Promise.resolve(P.get(t))}async filter(e){return Promise.resolve(y.filter(t=>-1!==t.toLowerCase().indexOf(e.toLowerCase())))}}function L(e){return[e.getSignature().getName(),e]}e({},"KIRunFunctionRepository",()=>sp);var U={};e(U,"MapUtil",()=>v),e(U,"MapEntry",()=>b);class v{static of(e,t,r,s,n,a,i,o,E,A,c,l,h,g,p,R,m,T,f,N){let _=new Map;return u(e)||u(t)||_.set(e,t),u(r)||u(s)||_.set(r,s),u(n)||u(a)||_.set(n,a),u(i)||u(o)||_.set(i,o),u(E)||u(A)||_.set(E,A),u(c)||u(l)||_.set(c,l),u(h)||u(g)||_.set(h,g),u(p)||u(R)||_.set(p,R),u(m)||u(T)||_.set(m,T),u(f)||u(N)||_.set(f,N),_}static ofArrayEntries(...e){let t=new Map;for(let[r,s]of e)t.set(r,s);return t}static entry(e,t){return new b(e,t)}static ofEntries(...e){let t=new Map;for(let r of e)t.set(r.k,r.v);return t}static ofEntriesArray(...e){let t=new Map;for(let r=0;r<e.length;r++)t.set(e[r][0],e[r][1]);return t}constructor(){}}class b{constructor(e,t){this.k=e,this.v=t}}e({},"EventResult",()=>C),e({},"Event",()=>V);class V{static #e=(()=>{this.OUTPUT="output"})();static #t=(()=>{this.ERROR="error"})();static #r=(()=>{this.ITERATION="iteration"})();static #s=(()=>{this.TRUE="true"})();static #n=(()=>{this.FALSE="false"})();static #a=(()=>{this.SCHEMA_NAME="Event"})();static #i=(()=>{this.SCHEMA=new O().setNamespace(E.SYSTEM).setName(V.SCHEMA_NAME).setType(g.of(r.OBJECT)).setProperties(new Map([["name",O.ofString("name")],["parameters",O.ofObject("parameter").setAdditionalProperties(new M().setSchemaValue(O.SCHEMA))]]))})();constructor(e,t){if(e instanceof V)this.name=e.name,this.parameters=new Map(Array.from(e.parameters.entries()).map(e=>[e[0],new O(e[1])]));else{if(this.name=e,!t)throw Error("Unknown constructor format");this.parameters=t}}getName(){return this.name}setName(e){return this.name=e,this}getParameters(){return this.parameters}setParameters(e){return this.parameters=e,this}static outputEventMapEntry(e){return V.eventMapEntry(V.OUTPUT,e)}static eventMapEntry(e,t){return[e,new V(e,t)]}static from(e){return new V(e.name,new Map(Object.entries(e.parameters??{}).map(e=>{let t=O.from(e[1]);if(!t)throw new d("","Event expects a schema");return[e[0],t]})))}}class C{constructor(e,t){this.name=e,this.result=t}getName(){return this.name}setName(e){return this.name=e,this}getResult(){return this.result}setResult(e){return this.result=e,this}static outputOf(e){return C.of(V.OUTPUT,e)}static of(e,t){return new C(e,t)}}e({},"FunctionOutput",()=>G),e({},"KIRuntimeException",()=>$);class $ extends Error{constructor(e,t){super(e),this.cause=t}getCause(){return this.cause}}class G{constructor(e){if(this.index=0,u(e))throw new $("Function output is generating null");Array.isArray(e)&&e.length&&e[0]instanceof C?this.fo=e:(this.fo=[],Array.isArray(e)||(this.generator=e))}next(){if(!this.generator)return this.index<this.fo.length?this.fo[this.index++]:void 0;let e=this.generator.next();return e&&this.fo.push(e),e}allResults(){return this.fo}}e({},"FunctionSignature",()=>D);class D{static #e=(()=>{this.SCHEMA_NAME="FunctionSignature"})();static #t=(()=>{this.SCHEMA=new O().setNamespace(E.SYSTEM).setName(D.SCHEMA_NAME).setProperties(new Map([["name",O.ofString("name")],["namespace",O.ofString("namespace")],["parameters",O.ofObject("parameters").setAdditionalProperties(new M().setSchemaValue(I.SCHEMA))],["events",O.ofObject("events").setAdditionalProperties(new M().setSchemaValue(V.SCHEMA))]]))})();constructor(e){this.namespace="_",this.parameters=new Map,this.events=new Map,e instanceof D?(this.name=e.name,this.namespace=e.namespace,this.parameters=new Map(Array.from(e.parameters.entries()).map(e=>[e[0],new I(e[1])])),this.events=new Map(Array.from(e.events.entries()).map(e=>[e[0],new V(e[1])]))):this.name=e}getNamespace(){return this.namespace}setNamespace(e){return this.namespace=e,this}getName(){return this.name}setName(e){return this.name=e,this}getParameters(){return this.parameters}setParameters(e){return this.parameters=e,this}getEvents(){return this.events}setEvents(e){return this.events=e,this}getFullName(){return this.namespace+"."+this.name}}e({},"AbstractFunction",()=>ei),e({},"SchemaValidator",()=>ea),e({},"deepEqual",()=>k),e({},"LinkedList",()=>Y),e({},"StringFormatter",()=>F);class F{static format(e,...t){if(!t||0==t.length)return e;let r="",s=0,n="",a=n,i=e.length;for(let o=0;o<i;o++)"$"==(n=e.charAt(o))&&"\\"==a?r=r.substring(0,o-1)+n:"$"==n&&s<t.length?r+=t[s++]:r+=n,a=n;return r.toString()}constructor(){}}class Y{constructor(e){if(this.head=void 0,this.tail=void 0,this.length=0,e?.length){for(let t of e)if(this.head){let e=new B(t,this.tail);this.tail.next=e,this.tail=e}else this.tail=this.head=new B(t);this.length=e.length}}push(e){let t=new B(e,void 0,this.head);this.head?(this.head.previous=t,this.head=t):this.tail=this.head=t,this.length++}pop(){if(!this.head)throw Error("List is empty and cannot pop further.");let e=this.head.value;if(this.length--,this.head==this.tail)return this.head=this.tail=void 0,e;let t=this.head;return this.head=t.next,t.next=void 0,t.previous=void 0,this.head.previous=void 0,e}isEmpty(){return!this.length}size(){return this.length}get(e){if(e<0||e>=this.length)throw Error(`${e} is out of bounds [0,${this.length}]`);let t=this.head;for(;e>0;)t=this.head.next,--e;return t.value}set(e,t){if(e<0||e>=this.length)throw new $(F.format("Index $ out of bound to set the value in linked list.",e));let r=this.head;for(;e>0;)r=this.head.next,--e;return r.value=t,this}toString(){let e=this.head,t="";for(;e;)t+=e.value,(e=e.next)&&(t+=", ");return`[${t}]`}toArray(){let e=[],t=this.head;for(;t;)e.push(t.value),t=t.next;return e}peek(){if(!this.head)throw Error("List is empty so cannot peak");return this.head.value}peekLast(){if(!this.tail)throw Error("List is empty so cannot peak");return this.tail.value}getFirst(){if(!this.head)throw Error("List is empty so cannot get first");return this.head.value}removeFirst(){return this.pop()}removeLast(){if(!this.tail)throw Error("List is empty so cannot remove");--this.length;let e=this.tail.value;if(0==this.length)this.head=this.tail=void 0;else{let e=this.tail.previous;e.next=void 0,this.tail.previous=void 0,this.tail=e}return e}addAll(e){return e&&e.length&&e.forEach(this.add.bind(this)),this}add(e){return++this.length,this.tail||this.head?this.head===this.tail?(this.tail=new B(e,this.head),this.head.next=this.tail):(this.tail=new B(e,this.tail),this.tail.previous.next=this.tail):this.head=this.tail=new B(e),this}map(e,t){let r=new Y,s=this.head,n=0;for(;s;)r.add(e(s.value,n)),s=s.next,++n;return r}indexOf(e){let t=this.head,r=0;for(;t;){if(k(t.value,e))return r;t=t.next,++r}return -1}forEach(e,t){let r=this.head,s=0;for(;r;)e(r.value,s),r=r.next,++s}}class B{constructor(e,t,r){this.value=e,this.next=r,this.previous=t}toString(){return""+this.value}}function k(e,t){let r=new Y;r.push(e);let s=new Y;for(s.push(t);!r.isEmpty()&&!s.isEmpty();){let e=r.pop(),t=s.pop();if(e===t)continue;let n=typeof e,a=typeof t;if("undefined"===n||"undefined"===a){if(!e&&!t)continue;return!1}if(n!==a)return!1;if(Array.isArray(e)){if(!Array.isArray(t)||e.length!=t.length)return!1;for(let n=0;n<e.length;n++)r.push(e[n]),s.push(t[n]);continue}if("object"===n){if("object"!==a||null===e||null===t)return!1;let n=Object.entries(e),i=Object.entries(t);if(n.length!==i.length)return!1;for(let[e,a]of n)r.push(a),s.push(t[e]);continue}return!1}return!0}e({},"StringUtil",()=>H);class H{constructor(){}static nthIndex(e,t,r=0,s){if(!e)throw new $("String cannot be null");if(r<0||r>=e.length)throw new $(F.format("Cannot search from index : $",r));if(s<=0||s>e.length)throw new $(F.format("Cannot search for occurance : $",s));for(;r<e.length;){if(e.charAt(r)==t&&0==--s)return r;++r}return -1}static splitAtFirstOccurance(e,t){if(!e)return[void 0,void 0];let r=e.indexOf(t);return -1==r?[e,void 0]:[e.substring(0,r),e.substring(r+1)]}static isNullOrBlank(e){return!e||""==e.trim()}}e({},"SchemaUtil",()=>z);var j={};e(j,"Tuple2",()=>X),e(j,"Tuple3",()=>W),e(j,"Tuple4",()=>q);class X{constructor(e,t){this.f=e,this.s=t}getT1(){return this.f}getT2(){return this.s}setT1(e){return this.f=e,this}setT2(e){return this.s=e,this}}class W extends X{constructor(e,t,r){super(e,t),this.t=r}getT3(){return this.t}setT1(e){return this.f=e,this}setT2(e){return this.s=e,this}setT3(e){return this.t=e,this}}class q extends W{constructor(e,t,r,s){super(e,t,r),this.fr=s}getT4(){return this.fr}setT1(e){return this.f=e,this}setT2(e){return this.s=e,this}setT3(e){return this.t=e,this}setT4(e){return this.fr=e,this}}e({},"SchemaValidationException",()=>J);class J extends Error{constructor(e,t,r=[],s){super(t+(r?r.map(e=>e.message).reduce((e,t)=>e+"\n"+t,""):"")),this.schemaPath=e,this.cause=s}getSchemaPath(){return this.schemaPath}getCause(){return this.cause}}class z{static #e=(()=>{this.UNABLE_TO_RETRIVE_SCHEMA_FROM_REFERENCED_PATH="Unable to retrive schema from referenced path"})();static #t=(()=>{this.CYCLIC_REFERENCE_LIMIT_COUNTER=20})();static async getDefaultValue(e,t){if(e)return e.getConstant()?e.getConstant():u(e.getDefaultValue())?z.getDefaultValue(await z.getSchemaFromRef(e,t,e.getRef()),t):e.getDefaultValue()}static async hasDefaultValueOrNullSchemaType(e,t){return e?e.getConstant()||!u(e.getDefaultValue())?Promise.resolve(!0):u(e.getRef())?e.getType()?.getAllowedSchemaTypes().has(r.NULL)?Promise.resolve(!0):Promise.resolve(!1):this.hasDefaultValueOrNullSchemaType(await z.getSchemaFromRef(e,t,e.getRef()),t):Promise.resolve(!1)}static async getSchemaFromRef(e,t,r,s=0){if(++s==z.CYCLIC_REFERENCE_LIMIT_COUNTER)throw new J(r??"","Schema has a cyclic reference");if(!e||!r||H.isNullOrBlank(r))return Promise.resolve(void 0);if(!r.startsWith("#")){var n=await z.resolveExternalSchema(e,t,r);n&&(e=n.getT1(),r=n.getT2())}let a=r.split("/");return 1===a.length?Promise.resolve(e):Promise.resolve(z.resolveInternalSchema(e,t,r,s,a,1))}static async resolveInternalSchema(e,t,s,n,a,i){let o=e;if(i!==a.length){for(;i<a.length;){if("$defs"===a[i]){if(++i>=a.length||!o.get$defs())throw new d(s,z.UNABLE_TO_RETRIVE_SCHEMA_FROM_REFERENCED_PATH);o=o.get$defs()?.get(a[i])}else{if(o&&(!o.getType()?.contains(r.OBJECT)||!o.getProperties()))throw new d(s,"Cannot retrievie schema from non Object type schemas");o=o.getProperties()?.get(a[i])}if(i++,!o||!H.isNullOrBlank(o.getRef())&&!(o=await z.getSchemaFromRef(o,t,o.getRef(),n)))throw new d(s,z.UNABLE_TO_RETRIVE_SCHEMA_FROM_REFERENCED_PATH)}return Promise.resolve(o)}}static async resolveExternalSchema(e,t,r){if(!t)return Promise.resolve(void 0);let s=H.splitAtFirstOccurance(r??"","/");if(!s[0])return Promise.resolve(void 0);let n=H.splitAtFirstOccurance(s[0],".");if(!n[0]||!n[1])return Promise.resolve(void 0);let a=await t.find(n[0],n[1]);if(!a)return Promise.resolve(void 0);if(!s[1]||""===s[1])return Promise.resolve(new X(a,r));if(r="#/"+s[1],!a)throw new d(r,z.UNABLE_TO_RETRIVE_SCHEMA_FROM_REFERENCED_PATH);return Promise.resolve(new X(a,r))}constructor(){}}e({},"AnyOfAllOfOneOfValidator",()=>K);class K{static validate(e,t,r,s){let n=[];return t.getOneOf()&&!t.getOneOf()?K.oneOf(e,t,r,s,n):t.getAllOf()&&!t.getAllOf()?K.allOf(e,t,r,s,n):t.getAnyOf()&&!t.getAnyOf()&&K.anyOf(e,t,r,s,n),s}static anyOf(e,t,r,s,n){let a=!1;for(let i of t.getAnyOf()??[])try{K.validate(e,i,r,s),a=!0;break}catch(e){a=!1,n.push(e)}if(!a)throw new J(ea.path(e),"The value don't satisfy any of the schemas.",n)}static allOf(e,t,r,s,n){let a=0;for(let i of t.getAllOf()??[])try{K.validate(e,i,r,s),a++}catch(e){n.push(e)}if(a!==t.getAllOf()?.length)throw new J(ea.path(e),"The value doesn't satisfy some of the schemas.",n)}static oneOf(e,t,r,s,n){let a=0;for(let i of t.getOneOf()??[])try{K.validate(e,i,r,s),a++}catch(e){n.push(e)}if(1!=a)throw new J(ea.path(e),0==a?"The value does not satisfy any schema":"The value satisfy more than one schema",n)}constructor(){}}e({},"TypeValidator",()=>en),e({},"ArrayValidator",()=>Q);class Q{static async validate(e,t,r,s){if(u(s))throw new J(ea.path(e),"Expected an array but found null");if(!Array.isArray(s))throw new J(ea.path(e),s.toString()+" is not an Array");return Q.checkMinMaxItems(e,t,s),await Q.checkItems(e,t,r,s),Q.checkUniqueItems(e,t,s),await Q.checkContains(t,e,r,s),s}static async checkContains(e,t,r,s){if(u(e.getContains()))return;let n=await Q.countContains(t,e,r,s,u(e.getMinContains())&&u(e.getMaxContains()));if(0===n)throw new J(ea.path(t),"None of the items are of type contains schema");if(!u(e.getMinContains())&&e.getMinContains()>n)throw new J(ea.path(t),"The minimum number of the items of type contains schema should be "+e.getMinContains()+" but found "+n);if(!u(e.getMaxContains())&&e.getMaxContains()<n)throw new J(ea.path(t),"The maximum number of the items of type contains schema should be "+e.getMaxContains()+" but found "+n)}static async countContains(e,t,r,s,n){let a=0;for(let i=0;i<s.length;i++){let o=e?[...e]:[];try{if(await ea.validate(o,t.getContains(),r,s[i]),a++,n)break}catch(e){}}return a}static checkUniqueItems(e,t,r){if(t.getUniqueItems()&&t.getUniqueItems()&&new Set(r).size!==r.length)throw new J(ea.path(e),"Items on the array are not unique")}static checkMinMaxItems(e,t,r){if(t.getMinItems()&&t.getMinItems()>r.length)throw new J(ea.path(e),"Array should have minimum of "+t.getMinItems()+" elements");if(t.getMaxItems()&&t.getMaxItems()<r.length)throw new J(ea.path(e),"Array can have maximum of "+t.getMaxItems()+" elements")}static async checkItems(e,t,r,s){if(!t.getItems())return;let n=t.getItems();if(n.getSingleSchema())for(let t=0;t<s.length;t++){let a=e?[...e]:[],i=await ea.validate(a,n.getSingleSchema(),r,s[t]);s[t]=i}if(n.getTupleSchema()){if(n.getTupleSchema().length!==s.length&&u(t?.getAdditionalItems()))throw new J(ea.path(e),"Expected an array with only "+n.getTupleSchema().length+" but found "+s.length);await this.checkItemsInTupleSchema(e,r,s,n),await this.checkAdditionalItems(e,t,r,s,n)}}static async checkItemsInTupleSchema(e,t,r,s){for(let n=0;n<s.getTupleSchema()?.length;n++){let a=e?[...e]:[],i=await ea.validate(a,s.getTupleSchema()[n],t,r[n]);r[n]=i}}static async checkAdditionalItems(e,t,r,s,n){if(!u(t.getAdditionalItems())){let a=t.getAdditionalItems();if(a?.getBooleanValue()){let i=O.ofAny("item");if(a?.getBooleanValue()===!1&&s.length>n.getTupleSchema()?.length)throw new J(ea.path(e),"No Additional Items are defined");await this.checkEachItemInAdditionalItems(e,t,r,s,n,i)}else if(a?.getSchemaValue()){let i=a.getSchemaValue();await this.checkEachItemInAdditionalItems(e,t,r,s,n,i)}}}static async checkEachItemInAdditionalItems(e,t,r,s,n,a){for(let t=n.getTupleSchema()?.length;t<s.length;t++){let n=e?[...e]:[],i=await ea.validate(n,a,r,s[t]);s[t]=i}}constructor(){}}e({},"BooleanValidator",()=>Z);class Z{static validate(e,t,r){if(u(r))throw new J(ea.path(e),"Expected a boolean but found null");if("boolean"!=typeof r)throw new J(ea.path(e),r.toString()+" is not a boolean");return r}constructor(){}}e({},"NullValidator",()=>ee);class ee{static validate(e,t,r){if(u(r))return r;throw new J(ea.path(e),"Expected a null but found "+r)}constructor(){}}e({},"NumberValidator",()=>et);class et{static validate(e,t,r,s){if(u(s))throw new J(ea.path(t),"Expected a number but found null");if("number"!=typeof s)throw new J(ea.path(t),s.toString()+" is not a "+e);let n=et.extractNumber(e,t,r,s);return et.checkRange(t,r,s,n),et.checkMultipleOf(t,r,s,n),s}static extractNumber(e,t,s,n){let a=n;try{(e==r.LONG||e==r.INTEGER)&&(a=Math.round(a))}catch(r){throw new J(ea.path(t),n+" is not a number of type "+e,r)}if(u(a)||(e==r.LONG||e==r.INTEGER)&&a!=n)throw new J(ea.path(t),n.toString()+" is not a number of type "+e);return a}static checkMultipleOf(e,t,r,s){if(t.getMultipleOf()&&s%t.getMultipleOf()!=0)throw new J(ea.path(e),r.toString()+" is not multiple of "+t.getMultipleOf())}static checkRange(e,t,r,s){if(!u(t.getMinimum())&&0>et.numberCompare(s,t.getMinimum()))throw new J(ea.path(e),r.toString()+" should be greater than or equal to "+t.getMinimum());if(!u(t.getMaximum())&&et.numberCompare(s,t.getMaximum())>0)throw new J(ea.path(e),r.toString()+" should be less than or equal to "+t.getMaximum());if(!u(t.getExclusiveMinimum())&&0>=et.numberCompare(s,t.getExclusiveMinimum()))throw new J(ea.path(e),r.toString()+" should be greater than "+t.getExclusiveMinimum());if(!u(t.getExclusiveMaximum())&&et.numberCompare(s,t.getExclusiveMaximum())>0)throw new J(ea.path(e),r.toString()+" should be less than "+t.getExclusiveMaximum())}static numberCompare(e,t){return e-t}constructor(){}}e({},"ObjectValidator",()=>er);class er{static async validate(e,t,r,s){if(u(s))throw new J(ea.path(e),"Expected an object but found null");if("object"!=typeof s||Array.isArray(s))throw new J(ea.path(e),s.toString()+" is not an Object");let n=new Set(Object.keys(s));er.checkMinMaxProperties(e,t,n),t.getPropertyNames()&&await er.checkPropertyNameSchema(e,t,r,n),t.getRequired()&&er.checkRequired(e,t,s),t.getProperties()&&await er.checkProperties(e,t,r,s,n),t.getPatternProperties()&&await er.checkPatternProperties(e,t,r,s,n),t.getAdditionalProperties()&&await er.checkAddtionalProperties(e,t,r,s,n)}static async checkPropertyNameSchema(e,t,r,s){for(let n of Array.from(s.values()))try{await ea.validate(e,t.getPropertyNames(),r,n)}catch(t){throw new J(ea.path(e),"Property name '"+n+"' does not fit the property schema")}}static checkRequired(e,t,r){for(let s of t.getRequired()??[])if(u(r[s]))throw new J(ea.path(e),s+" is mandatory")}static async checkAddtionalProperties(e,t,r,s,n){let a=t.getAdditionalProperties();if(a.getSchemaValue())for(let t of Array.from(n.values())){let n=e?[...e]:[],i=await ea.validate(n,a.getSchemaValue(),r,s[t]);s[t]=i}else if(!1===a.getBooleanValue()&&n.size)throw new J(ea.path(e),Array.from(n)+" is/are additional properties which are not allowed.")}static async checkPatternProperties(e,t,r,s,n){let a=new Map;for(let e of Array.from(t.getPatternProperties().keys()))a.set(e,new RegExp(e));for(let i of Array.from(n.values())){let o=e?[...e]:[];for(let e of Array.from(a.entries()))if(e[1].test(i)){let a=await ea.validate(o,t.getPatternProperties().get(e[0]),r,s[i]);s[i]=a,n.delete(i);break}}}static async checkProperties(e,t,r,s,n){for(let a of Array.from(t.getProperties())){let t=s[a[0]];if(!s.hasOwnProperty(a[0])&&u(t)){let e=await z.getDefaultValue(a[1],r);if(u(e))continue}let i=e?[...e]:[],o=await ea.validate(i,a[1],r,t);s[a[0]]=o,n.delete(a[0])}}static checkMinMaxProperties(e,t,r){if(t.getMinProperties()&&r.size<t.getMinProperties())throw new J(ea.path(e),"Object should have minimum of "+t.getMinProperties()+" properties");if(t.getMaxProperties()&&r.size>t.getMaxProperties())throw new J(ea.path(e),"Object can have maximum of "+t.getMaxProperties()+" properties")}constructor(){}}e({},"StringValidator",()=>es),e({},"StringFormat",()=>n),function(e){e.DATETIME="DATETIME",e.TIME="TIME",e.DATE="DATE",e.EMAIL="EMAIL",e.REGEX="REGEX"}(n||(n={}));class es{static #e=(()=>{this.TIME=/^([01]?[0-9]|2[0-3]):[0-5][0-9](:[0-5][0-9])?([+-][01][0-9]:[0-5][0-9])?$/})();static #t=(()=>{this.DATE=/^[0-9]{4,4}-([0][0-9]|[1][0-2])-(0[1-9]|[1-2][1-9]|3[01])$/})();static #r=(()=>{this.DATETIME=/^[0-9]{4,4}-([0][0-9]|[1][0-2])-(0[1-9]|[1-2][1-9]|3[01])T([01]?[0-9]|2[0-3]):[0-5][0-9](:[0-5][0-9])?([+-][01][0-9]:[0-5][0-9])?$/})();static #s=(()=>{this.EMAIL=/^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)*$/})();static validate(e,t,r){if(u(r))throw new J(ea.path(e),"Expected a string but found "+r);if("string"!=typeof r)throw new J(ea.path(e),r.toString()+" is not String");t.getFormat()==n.TIME?es.patternMatcher(e,t,r,es.TIME,"time pattern"):t.getFormat()==n.DATE?es.patternMatcher(e,t,r,es.DATE,"date pattern"):t.getFormat()==n.DATETIME?es.patternMatcher(e,t,r,es.DATETIME,"date time pattern"):t.getFormat()==n.EMAIL?es.patternMatcher(e,t,r,es.EMAIL,"email pattern"):t.getPattern()&&es.patternMatcher(e,t,r,new RegExp(t.getPattern()),"pattern "+t.getPattern());let s=r.length;if(t.getMinLength()&&s<t.getMinLength())throw new J(ea.path(e),"Expected a minimum of "+t.getMinLength()+" characters");if(t.getMaxLength()&&s>t.getMaxLength())throw new J(ea.path(e),"Expected a maximum of "+t.getMaxLength()+" characters");return r}static patternMatcher(e,t,r,s,n){if(!s.test(r))throw new J(ea.path(e),r.toString()+" is not matched with the "+n)}constructor(){}}class en{static async validate(e,t,s,n,a){if(t==r.STRING)es.validate(e,s,a);else if(t==r.LONG||t==r.INTEGER||t==r.DOUBLE||t==r.FLOAT)et.validate(t,e,s,a);else if(t==r.BOOLEAN)Z.validate(e,s,a);else if(t==r.OBJECT)await er.validate(e,s,n,a);else if(t==r.ARRAY)await Q.validate(e,s,n,a);else if(t==r.NULL)ee.validate(e,s,a);else throw new J(ea.path(e),t+" is not a valid type.");return a}constructor(){}}class ea{static path(e){return e?e.map(e=>e.getTitle()??"").filter(e=>!!e).reduce((e,t,r)=>e+(0===r?"":".")+t,""):""}static async validate(e,t,r,s){if(!t)throw new J(ea.path(e),"No schema found to validate");if(e||(e=[]),e.push(t),u(s)&&!u(t.getDefaultValue()))return JSON.parse(JSON.stringify(t.getDefaultValue()));if(!u(t.getConstant()))return ea.constantValidation(e,t,s);if(t.getEnums()&&!t.getEnums()?.length)return ea.enumCheck(e,t,s);if(t.getFormat()&&u(t.getType()))throw new J(this.path(e),"Type is missing in schema for declared "+t.getFormat()?.toString()+" format.");if(t.getType()&&await ea.typeValidation(e,t,r,s),!H.isNullOrBlank(t.getRef()))return await ea.validate(e,await z.getSchemaFromRef(e[0],r,t.getRef()),r,s);if((t.getOneOf()||t.getAllOf()||t.getAnyOf())&&K.validate(e,t,r,s),t.getNot()){let n=!1;try{await ea.validate(e,t.getNot(),r,s),n=!0}catch(e){n=!1}if(n)throw new J(ea.path(e),"Schema validated value in not condition.")}return s}static constantValidation(e,t,r){if(!k(t.getConstant(),r))throw new J(ea.path(e),"Expecting a constant value : "+r);return r}static enumCheck(e,t,r){let s=!1;for(let e of t.getEnums()??[])if(e===r){s=!0;break}if(s)return r;throw new J(ea.path(e),"Value is not one of "+t.getEnums())}static async typeValidation(e,t,r,s){let n,a=!1,i=[];for(n of Array.from(t.getType()?.getAllowedSchemaTypes()?.values()??[]))try{await en.validate(e,n,t,r,s),a=!0;break}catch(e){a=!1,i.push(e)}if(!a)throw new J(ea.path(e),"Value "+JSON.stringify(s)+" is not of valid type(s)",i)}constructor(){}}class ei{async validateArguments(e,t,r){let s=new Map;for(let n of Array.from(this.getSignature().getParameters().entries())){let a=n[1];try{let r=await this.validateArgument(e,t,n,a);s.set(r.getT1(),r.getT2())}catch(t){let e=this.getSignature();throw new $(`Error while executing the function ${e.getNamespace()}.${e.getName()}'s parameter ${a.getParameterName()} with step name '${r?.getStatement().getStatementName()??"Unknown Step"}' with error : ${t?.message}`)}}return s}async validateArgument(e,t,r,s){let n,a=r[0],i=e.get(r[0]);if(u(i)&&!s.isVariableArgument())return new X(a,await ea.validate(void 0,s.getSchema(),t,void 0));if(!s?.isVariableArgument())return new X(a,await ea.validate(void 0,s.getSchema(),t,i));Array.isArray(i)?n=i:(n=[],u(i)?u(s.getSchema().getDefaultValue())||n.push(s.getSchema().getDefaultValue()):n.push(i));for(let e=0;e<n.length;e++)n[e]=await ea.validate(void 0,s.getSchema(),t,n[e]);return new X(a,n)}async execute(e){let t=await this.validateArguments(e.getArguments()??new Map,e.getSchemaRepository(),e.getStatementExecution());e.setArguments(t);try{return this.internalExecute(e)}catch(r){let t=this.getSignature();throw new $(`Error while executing the function ${t.getNamespace()}.${t.getName()} with step name '${e.getStatementExecution()?.getStatement().getStatementName()??"Unknown Step"}' with error : ${r?.message}`)}}getProbableEventSignature(e){return this.getSignature().getEvents()}}class eo extends ei{static #e=(()=>{this.EVENT_INDEX_NAME="index"})();static #t=(()=>{this.EVENT_RESULT_NAME="result"})();static #r=(()=>{this.EVENT_INDEX=new V(V.OUTPUT,v.of(eo.EVENT_INDEX_NAME,O.ofInteger(eo.EVENT_INDEX_NAME)))})();static #s=(()=>{this.EVENT_RESULT_INTEGER=new V(V.OUTPUT,v.of(eo.EVENT_RESULT_NAME,O.ofInteger(eo.EVENT_RESULT_NAME)))})();static #n=(()=>{this.EVENT_RESULT_BOOLEAN=new V(V.OUTPUT,v.of(eo.EVENT_RESULT_NAME,O.ofBoolean(eo.EVENT_RESULT_NAME)))})();static #a=(()=>{this.EVENT_RESULT_ARRAY=new V(V.OUTPUT,v.of(eo.EVENT_RESULT_NAME,O.ofArray(eo.EVENT_RESULT_NAME,O.ofAny(eo.EVENT_RESULT_NAME))))})();static #i=(()=>{this.EVENT_RESULT_EMPTY=new V(V.OUTPUT,v.of())})();static #o=(()=>{this.EVENT_RESULT_ANY=new V(V.OUTPUT,v.of(this.EVENT_RESULT_NAME,O.ofAny(this.EVENT_RESULT_NAME)))})();static #E=(()=>{this.EVENT_RESULT_OBJECT=new V(V.OUTPUT,v.of(this.EVENT_RESULT_NAME,O.ofObject(this.EVENT_RESULT_NAME)))})();static #u=(()=>{this.PARAMETER_INT_LENGTH=I.of("length",O.ofInteger("length").setDefaultValue(-1))})();static #A=(()=>{this.PARAMETER_ARRAY_FIND=I.of("find",O.ofArray("eachFind",O.ofAny("eachFind")))})();static #c=(()=>{this.PARAMETER_INT_SOURCE_FROM=I.of("srcFrom",O.ofInteger("srcFrom").setDefaultValue(0).setMinimum(0))})();static #l=(()=>{this.PARAMETER_INT_SECOND_SOURCE_FROM=I.of("secondSrcFrom",O.ofInteger("secondSrcFrom").setDefaultValue(0))})();static #h=(()=>{this.PARAMETER_INT_FIND_FROM=I.of("findFrom",O.ofInteger("findFrom").setDefaultValue(0))})();static #g=(()=>{this.PARAMETER_INT_OFFSET=I.of("offset",O.ofInteger("offset").setDefaultValue(0))})();static #p=(()=>{this.PARAMETER_ROTATE_LENGTH=I.of("rotateLength",O.ofInteger("rotateLength").setDefaultValue(1).setMinimum(1))})();static #R=(()=>{this.PARAMETER_BOOLEAN_ASCENDING=I.of("ascending",O.ofBoolean("ascending").setDefaultValue(!0))})();static #m=(()=>{this.PARAMETER_KEY_PATH=I.of("keyPath",O.ofString("keyPath").setDefaultValue(""))})();static #T=(()=>{this.PARAMETER_FIND_PRIMITIVE=I.of("findPrimitive",O.of("findPrimitive",r.STRING,r.DOUBLE,r.FLOAT,r.INTEGER,r.LONG))})();static #f=(()=>{this.PARAMETER_ARRAY_SOURCE=I.of("source",O.ofArray("eachSource",O.ofAny("eachSource")))})();static #N=(()=>{this.PARAMETER_ARRAY_SECOND_SOURCE=I.of("secondSource",O.ofArray("eachSecondSource",O.ofAny("eachSecondSource")))})();static #_=(()=>{this.PARAMETER_ARRAY_SOURCE_PRIMITIVE=I.of("source",O.ofArray("eachSource",new O().setName("eachSource").setType(g.of(r.STRING,r.NULL,r.INTEGER,r.FLOAT,r.DOUBLE,r.LONG))))})();static #S=(()=>{this.PARAMETER_BOOLEAN_DEEP_COPY=I.of("deepCopy",O.ofBoolean("deepCopy").setDefaultValue(!0))})();static #M=(()=>{this.PARAMETER_ANY=I.of("element",O.ofAny("element"))})();static #O=(()=>{this.PARAMETER_ANY_NOT_NULL=I.of("elementObject",O.ofAnyNotNull("elementObject"))})();static #d=(()=>{this.PARAMETER_ANY_VAR_ARGS=I.of("element",O.ofAny("element")).setVariableArgument(!0)})();static #w=(()=>{this.PARAMETER_ARRAY_RESULT=I.of(eo.EVENT_RESULT_NAME,O.ofArray("eachResult",O.ofAny("eachResult")))})();constructor(e,t,r){super();let s=new Map;for(let e of t)s.set(e.getParameterName(),e);this.signature=new D(e).setNamespace(E.SYSTEM_ARRAY).setParameters(s).setEvents(v.of(r.getName(),r))}getSignature(){return this.signature}}class eE extends eo{constructor(){super("Concatenate",[eo.PARAMETER_ARRAY_SOURCE,eo.PARAMETER_ARRAY_SECOND_SOURCE],eo.EVENT_RESULT_ARRAY)}async internalExecute(e){let t=e?.getArguments()?.get(eo.PARAMETER_ARRAY_SOURCE.getParameterName()),r=e?.getArguments()?.get(eo.PARAMETER_ARRAY_SECOND_SOURCE.getParameterName());return new G([C.outputOf(new Map([[eo.EVENT_RESULT_NAME,[...t,...r]]]))])}}class eu extends eo{constructor(){super("AddFirst",[eo.PARAMETER_ARRAY_SOURCE,eo.PARAMETER_ANY],eo.EVENT_RESULT_ARRAY)}async internalExecute(e){let t=e?.getArguments()?.get(eo.PARAMETER_ARRAY_SOURCE.getParameterName()),r=e?.getArguments()?.get(eo.PARAMETER_ANY.getParameterName());if(0==(t=[...t]).length)return t.push(r),new G([C.outputOf(new Map([]))]);t.push(r);let s=t.length-1;for(;s>0;){let e=t[s-1];t[s-1]=t[s],t[s--]=e}return new G([C.outputOf(new Map([[eo.EVENT_RESULT_NAME,t]]))])}}let eA="keyName";class ec extends eo{constructor(){super("ArrayToArrayOfObjects",[eo.PARAMETER_ARRAY_SOURCE,I.of(eA,O.ofString(eA),!0)],eo.EVENT_RESULT_ARRAY)}async internalExecute(e){let t=e?.getArguments()?.get(ec.PARAMETER_ARRAY_SOURCE.getParameterName()),r=e?.getArguments()?.get(eA);if(!t?.length)return new G([C.outputOf(new Map([[eo.EVENT_RESULT_NAME,[]]]))]);let s=t.map(e=>{let t={};if(Array.isArray(e)){if(r.length)r.forEach((r,s)=>{t[r]=e[s]});else for(let r=0;r<e.length;r++)t[`value${r+1}`]=e[r]}else t[r.length?r[0]:"value"]=e;return t});return new G([C.outputOf(new Map([[eo.EVENT_RESULT_NAME,s]]))])}}e({},"PrimitiveUtil",()=>eh),e({},"ExecutionException",()=>el);class el extends Error{constructor(e,t){super(e),this.cause=t}getCause(){return this.cause}}class eh{static findPrimitiveNullAsBoolean(e){if(u(e))return new X(r.BOOLEAN,!1);let t=typeof e;if("object"===t)throw new el(F.format("$ is not a primitive type",e));return"boolean"===t?new X(r.BOOLEAN,e):"string"===t?new X(r.STRING,e):eh.findPrimitiveNumberType(e)}static findPrimitive(e){if(u(e))return new X(r.NULL,void 0);let t=typeof e;if("object"===t)throw new el(F.format("$ is not a primitive type",e));return"boolean"===t?new X(r.BOOLEAN,e):"string"===t?new X(r.STRING,e):eh.findPrimitiveNumberType(e)}static findPrimitiveNumberType(e){if(u(e)||Array.isArray(e)||"object"==typeof e)throw new el(F.format("Unable to convert $ to a number.",e));try{if(Number.isInteger(e))return new X(r.LONG,e);return new X(r.DOUBLE,e)}catch(t){throw new el(F.format("Unable to convert $ to a number.",e),t)}}static compare(e,t){if(e==t)return 0;if(u(e)||u(t))return u(e)?-1:1;if(Array.isArray(e)||Array.isArray(t)){if(Array.isArray(e)&&Array.isArray(t)){if(e.length!=t.length)return e.length-t.length;for(let r=0;r<e.length;r++){let s=this.compare(e[r],t[r]);if(0!=s)return s}return 0}return Array.isArray(e)?-1:1}let r=typeof e,s=typeof t;return"object"===r||"object"===s?("object"===r&&"object"===s&&Object.keys(e).forEach(r=>{let s=this.compare(e[r],t[r]);if(0!=s)return s}),"object"===r?-1:1):this.comparePrimitive(e,t)}static comparePrimitive(e,t){return u(e)||u(t)?u(e)&&u(t)?0:u(e)?-1:1:e==t?0:"boolean"==typeof e||"boolean"==typeof t?e?-1:1:"string"==typeof e||"string"==typeof t?e+""<t+""?-1:1:"number"==typeof e||"number"==typeof t?e-t:0}static baseNumberType(e){return Number.isInteger(e)?r.LONG:r.DOUBLE}static toPrimitiveType(e){return e}constructor(){}}class eg extends eo{constructor(){super("BinarySearch",[eg.PARAMETER_ARRAY_SOURCE_PRIMITIVE,eg.PARAMETER_INT_SOURCE_FROM,eg.PARAMETER_FIND_PRIMITIVE,eg.PARAMETER_INT_LENGTH],eg.EVENT_INDEX)}async internalExecute(e){let t=e?.getArguments()?.get(eg.PARAMETER_ARRAY_SOURCE.getParameterName()),r=e?.getArguments()?.get(eg.PARAMETER_INT_SOURCE_FROM.getParameterName()),s=e?.getArguments()?.get(eg.PARAMETER_FIND_PRIMITIVE.getParameterName()),n=e?.getArguments()?.get(eg.PARAMETER_INT_LENGTH.getParameterName());if(0==t.length||r<0||r>t.length)throw new $("Search source array cannot be empty");if(-1==n&&(n=t.length-r),(n=r+n)>t.length)throw new $("End point for array cannot be more than the size of the source array");let a=-1;for(;r<=n;){let e=Math.floor((r+n)/2);if(0==eh.compare(t[e],s)){a=e;break}eh.compare(t[e],s)>0?n=e-1:r=e+1}return new G([C.outputOf(new Map([[eg.EVENT_INDEX_NAME,a]]))])}}e({},"ArrayUtil",()=>ep);class ep{static removeAListFrom(e,t){if(!t||!e||!e.length||!t.length)return;let r=new Set(t);for(let t=0;t<e.length;t++)r.has(e[t])&&(e.splice(t,1),t--)}static of(...e){let t=Array(e.length);for(let r=0;r<e.length;r++)t[r]=e[r];return t}constructor(){}}class eR extends eo{constructor(){super("Compare",ep.of(eR.PARAMETER_ARRAY_SOURCE,eR.PARAMETER_INT_SOURCE_FROM,eR.PARAMETER_ARRAY_FIND,eR.PARAMETER_INT_FIND_FROM,eR.PARAMETER_INT_LENGTH),eR.EVENT_RESULT_INTEGER)}async internalExecute(e){var t=e?.getArguments()?.get(eR.PARAMETER_ARRAY_SOURCE.getParameterName()),r=e?.getArguments()?.get(eR.PARAMETER_INT_SOURCE_FROM.getParameterName()),s=e?.getArguments()?.get(eR.PARAMETER_ARRAY_FIND.getParameterName()),n=e?.getArguments()?.get(eR.PARAMETER_INT_FIND_FROM.getParameterName()),a=e?.getArguments()?.get(eR.PARAMETER_INT_LENGTH.getParameterName());if(0==t.length)throw new $("Compare source array cannot be empty");if(0==s.length)throw new $("Compare find array cannot be empty");if(-1==a&&(a=t.length-r),r+a>t.length)throw new $(F.format("Source array size $ is less than comparing size $",t.length,r+a));if(n+a>s.length)throw new $(F.format("Find array size $ is less than comparing size $",s.length,n+a));return new G(ep.of(C.outputOf(v.of(eR.EVENT_RESULT_NAME,this.compare(t,r,r+a,s,n,n+a)))))}compare(e,t,r,s,n,a){if(r<t){let e=t;t=r,r=e}if(a<n){let e=n;n=a,a=e}if(r-t!=a-n)throw new $(F.format("Cannot compare uneven arrays from $ to $ in source array with $ to $ in find array",r,t,a,n));for(let a=t,i=n;a<r;a++,i++){let t=1;if(u(e[a])||u(s[i])){let r=u(e[a]);r==u(s[i])?t=0:r&&(t=-1)}else{let r=typeof e[a],n=typeof s[i];if("object"===r||"object"===n)t=1;else if("string"===r||"string"===n){let r=""+e[a],n=""+s[i];r===n?t=0:r<n&&(t=-1)}else"boolean"===r||"boolean"===n?t=r==n?0:1:"number"===r&&"number"===n&&(t=e[a]-s[i])}if(0!=t)return t}return 0}}function em(e){return e?globalThis.structuredClone?globalThis.structuredClone(e):JSON.parse(JSON.stringify(e)):e}e({},"duplicate",()=>em);class eT extends eo{constructor(){super("Copy",[eT.PARAMETER_ARRAY_SOURCE,eT.PARAMETER_INT_SOURCE_FROM,eT.PARAMETER_INT_LENGTH,eT.PARAMETER_BOOLEAN_DEEP_COPY],eT.EVENT_RESULT_ARRAY)}async internalExecute(e){var t=e?.getArguments()?.get(eT.PARAMETER_ARRAY_SOURCE.getParameterName()),r=e?.getArguments()?.get(eT.PARAMETER_INT_SOURCE_FROM.getParameterName()),s=e?.getArguments()?.get(eT.PARAMETER_INT_LENGTH.getParameterName());if(-1==s&&(s=t.length-r),r+s>t.length)throw new $(F.format("Array has no elements from $ to $ as the array size is $",r,r+s,t.length));var n=e?.getArguments()?.get(eT.PARAMETER_BOOLEAN_DEEP_COPY.getParameterName());let a=Array(s);for(let e=r;e<r+s;e++)u(t[e])||(a[e-r]=n?em(t[e]):t[e]);return new G([C.outputOf(v.of(eT.EVENT_RESULT_NAME,a))])}}class ef extends eo{constructor(){super("Delete",[eo.PARAMETER_ARRAY_SOURCE,eo.PARAMETER_ANY_VAR_ARGS],eo.EVENT_RESULT_ARRAY)}async internalExecute(e){let t=e?.getArguments()?.get(ef.PARAMETER_ARRAY_SOURCE.getParameterName()),r=e?.getArguments()?.get(ef.PARAMETER_ANY_VAR_ARGS.getParameterName());if(null==r)throw new $("The deletable var args are empty. So cannot be proceeded further.");if(0==t.length||0==r.length)throw new $("Expected a source or deletable for an array but not found any");let s=new Set;for(let e=t.length-1;e>=0;e--)for(let n=0;n<r.length;n++)s.has(e)||0!=eh.compare(t[e],r[n])||s.add(t[e]);return new G([C.outputOf(new Map([[eo.EVENT_RESULT_NAME,t.filter(e=>!s.has(e))]]))])}}class eN extends eo{constructor(){super("DeleteFirst",[eN.PARAMETER_ARRAY_SOURCE],eN.EVENT_RESULT_ARRAY)}async internalExecute(e){let t=e?.getArguments()?.get(eN.PARAMETER_ARRAY_SOURCE.getParameterName());if(0==t.length)throw new $("Given source array is empty");return(t=[...t]).shift(),new G([C.outputOf(new Map([[eo.EVENT_RESULT_NAME,t]]))])}}class e_ extends eo{constructor(){super("DeleteFrom",[e_.PARAMETER_ARRAY_SOURCE,e_.PARAMETER_INT_SOURCE_FROM,e_.PARAMETER_INT_LENGTH],e_.EVENT_RESULT_ARRAY)}async internalExecute(e){let t=e?.getArguments()?.get(e_.PARAMETER_ARRAY_SOURCE.getParameterName()),r=e?.getArguments()?.get(e_.PARAMETER_INT_SOURCE_FROM.getParameterName()),s=e?.getArguments()?.get(e_.PARAMETER_INT_LENGTH.getParameterName());if(0==t.length)throw new $("There are no elements to be deleted");if(r>=(t=[...t]).length||r<0)throw new $("The int source for the array should be in between 0 and length of the array ");if(-1==s&&(s=t.length-r),r+s>t.length)throw new $("Requested length to be deleted is more than the size of array ");return t.splice(r,s),new G([C.outputOf(new Map([[eo.EVENT_RESULT_NAME,t]]))])}}class eS extends eo{constructor(){super("DeleteLast",[eS.PARAMETER_ARRAY_SOURCE],eS.EVENT_RESULT_ARRAY)}async internalExecute(e){let t=e?.getArguments()?.get(eS.PARAMETER_ARRAY_SOURCE.getParameterName());if(0==t.length)throw new $("Given source array is empty");return(t=[...t]).pop(),new G([C.outputOf(new Map([[eo.EVENT_RESULT_NAME,t]]))])}}class eM extends eo{constructor(){super("Disjoint",[eM.PARAMETER_ARRAY_SOURCE,eM.PARAMETER_INT_SOURCE_FROM,eM.PARAMETER_ARRAY_SECOND_SOURCE,eM.PARAMETER_INT_SECOND_SOURCE_FROM,eM.PARAMETER_INT_LENGTH],eM.EVENT_RESULT_ARRAY)}async internalExecute(e){let t=e?.getArguments()?.get(eM.PARAMETER_ARRAY_SOURCE.getParameterName()),r=e?.getArguments()?.get(eM.PARAMETER_INT_SOURCE_FROM.getParameterName()),s=e?.getArguments()?.get(eM.PARAMETER_ARRAY_SECOND_SOURCE.getParameterName()),n=e?.getArguments()?.get(eM.PARAMETER_INT_SECOND_SOURCE_FROM.getParameterName()),a=e?.getArguments()?.get(eM.PARAMETER_INT_LENGTH.getParameterName());if(-1==a&&(a=t.length<=s.length?t.length-r:s.length-n),a>t.length||a>s.length||r+a>t.length||n+a>s.length)throw new $("The length which was being requested is more than than the size either source array or second source array");let i=new Set,o=new Set;for(let e=0;e<a;e++)i.add(t[e+r]);for(let e=0;e<a;e++)o.add(s[e+n]);let E=new Set;return i.forEach(e=>{o.has(e)?o.delete(e):E.add(e)}),o.forEach(e=>{i.has(e)||E.add(e)}),new G([C.outputOf(new Map([[eM.EVENT_RESULT_NAME,[...E]]]))])}}class eO extends eo{constructor(){super("Equals",[eO.PARAMETER_ARRAY_SOURCE,eO.PARAMETER_INT_SOURCE_FROM,eO.PARAMETER_ARRAY_FIND,eO.PARAMETER_INT_FIND_FROM,eO.PARAMETER_INT_LENGTH],eO.EVENT_RESULT_BOOLEAN)}async internalExecute(e){let t=new eR,r=(await t.execute(e)).allResults()[0].getResult().get(eO.EVENT_RESULT_NAME);return new G([C.outputOf(v.of(eO.EVENT_RESULT_NAME,0==r))])}}class ed extends eo{constructor(){super("Fill",[ed.PARAMETER_ARRAY_SOURCE,ed.PARAMETER_INT_SOURCE_FROM,ed.PARAMETER_INT_LENGTH,ed.PARAMETER_ANY],ed.EVENT_RESULT_EMPTY)}async internalExecute(e){var t=e?.getArguments()?.get(ed.PARAMETER_ARRAY_SOURCE.getParameterName()),r=e?.getArguments()?.get(ed.PARAMETER_INT_SOURCE_FROM.getParameterName()),s=e?.getArguments()?.get(ed.PARAMETER_INT_LENGTH.getParameterName()),n=e?.getArguments()?.get(ed.PARAMETER_ANY.getParameterName());if(r<0)throw new $(F.format("Arrays out of bound trying to access $ index",r));-1==s&&(s=t.length-r);let a=r+s-t.length;if(t=[...t],a>0)for(let e=0;e<a;e++)t.push();for(let e=r;e<r+s;e++)t[e]=u(n)?n:em(n);return new G([C.outputOf(v.of(eo.EVENT_RESULT_NAME,t))])}}class ew extends eo{constructor(){super("Frequency",[ew.PARAMETER_ARRAY_SOURCE,ew.PARAMETER_ANY,ew.PARAMETER_INT_SOURCE_FROM,ew.PARAMETER_INT_LENGTH],ew.EVENT_RESULT_INTEGER)}async internalExecute(e){let t=e?.getArguments()?.get(ew.PARAMETER_ARRAY_SOURCE.getParameterName()),r=e?.getArguments()?.get(ew.PARAMETER_ANY.getParameterName()),s=e?.getArguments()?.get(ew.PARAMETER_INT_SOURCE_FROM.getParameterName()),n=e?.getArguments()?.get(ew.PARAMETER_INT_LENGTH.getParameterName());if(0==t.length)return new G([C.outputOf(new Map([[ew.EVENT_RESULT_NAME,0]]))]);if(s>t.length)throw new $("Given start point is more than the size of source");let a=s+n;if(-1==n&&(a=t.length-s),a>t.length)throw new $("Given length is more than the size of source");let i=0;for(let e=s;e<a&&e<t.length;e++)0==eh.compare(t[e],r)&&i++;return new G([C.outputOf(new Map([[ew.EVENT_RESULT_NAME,i]]))])}}class eI extends eo{constructor(){super("IndexOf",[eI.PARAMETER_ARRAY_SOURCE,eI.PARAMETER_ANY_NOT_NULL,eI.PARAMETER_INT_FIND_FROM],eI.EVENT_RESULT_INTEGER)}async internalExecute(e){let t=e?.getArguments()?.get(eI.PARAMETER_ARRAY_SOURCE.getParameterName());var r=e?.getArguments()?.get(eI.PARAMETER_ANY_NOT_NULL.getParameterName());let s=e?.getArguments()?.get(eI.PARAMETER_INT_FIND_FROM.getParameterName());if(0==t.length)return new G([C.outputOf(new Map([[eI.EVENT_RESULT_NAME,-1]]))]);if(s<0||s>t.length)throw new $("The size of the search index of the array is greater than the size of the array");let n=-1;for(let e=s;e<t.length;e++)if(0==eh.compare(t[e],r)){n=e;break}return new G([C.outputOf(new Map([[eI.EVENT_RESULT_NAME,n]]))])}}class eP extends eo{constructor(){super("IndexOfArray",[eP.PARAMETER_ARRAY_SOURCE,eP.PARAMETER_ARRAY_SECOND_SOURCE,eP.PARAMETER_INT_FIND_FROM],eP.EVENT_RESULT_INTEGER)}async internalExecute(e){let t=e?.getArguments()?.get(eP.PARAMETER_ARRAY_SOURCE.getParameterName()),r=e?.getArguments()?.get(eP.PARAMETER_ARRAY_SECOND_SOURCE.getParameterName()),s=e?.getArguments()?.get(eP.PARAMETER_INT_FIND_FROM.getParameterName());if(0==t.length||0==r.length)return new G([C.outputOf(new Map([[eP.EVENT_RESULT_NAME,-1]]))]);if(s<0||s>t.length||t.length<r.length)throw new $("Given from second source is more than the size of the source array");let n=r.length,a=-1;for(let e=s;e<t.length;e++){let s=0;if(0==eh.compare(t[e],r[s])){for(;s<n&&0==eh.compare(t[e+s],r[s]);)s++;if(s==n){a=e;break}}}return new G([C.outputOf(new Map([[eP.EVENT_RESULT_NAME,a]]))])}}class ey extends eo{constructor(){super("LastIndexOf",[ey.PARAMETER_ARRAY_SOURCE,ey.PARAMETER_ANY_NOT_NULL,ey.PARAMETER_INT_FIND_FROM],ey.EVENT_RESULT_INTEGER)}async internalExecute(e){let t=e?.getArguments()?.get(ey.PARAMETER_ARRAY_SOURCE.getParameterName());var r=e?.getArguments()?.get(ey.PARAMETER_ANY_NOT_NULL.getParameterName());let s=e?.getArguments()?.get(ey.PARAMETER_INT_FIND_FROM.getParameterName());if(0==t.length)return new G([C.outputOf(new Map([[ey.EVENT_RESULT_NAME,-1]]))]);if(s<0||s>t.length)throw new $("The value of length shouldn't the exceed the size of the array or shouldn't be in terms");let n=-1;for(let e=t.length-1;e>=s;e--)if(0==eh.compare(t[e],r)){n=e;break}return new G([C.outputOf(new Map([[ey.EVENT_RESULT_NAME,n]]))])}}class ex extends eo{constructor(){super("LastIndexOfArray",[ex.PARAMETER_ARRAY_SOURCE,ex.PARAMETER_ARRAY_SECOND_SOURCE,ex.PARAMETER_INT_FIND_FROM],ex.EVENT_RESULT_INTEGER)}async internalExecute(e){let t=e?.getArguments()?.get(ex.PARAMETER_ARRAY_SOURCE.getParameterName()),r=e?.getArguments()?.get(ex.PARAMETER_ARRAY_SECOND_SOURCE.getParameterName()),s=e?.getArguments()?.get(ex.PARAMETER_INT_FIND_FROM.getParameterName());if(0==t.length)return new G([C.outputOf(new Map([[ex.EVENT_RESULT_NAME,-1]]))]);if(s<0||s>t.length||r.length>t.length)throw new $("Given from index is more than the size of the source array");let n=r.length,a=-1;for(let e=s;e<t.length;e++){let s=0;if(0==eh.compare(t[e],r[s])){for(;s<n&&0==eh.compare(t[e+s],r[s]);)s++;s==n&&(a=e)}}return new G([C.outputOf(new Map([[ex.EVENT_RESULT_NAME,a]]))])}}class eL extends eo{constructor(){super("Max",[eL.PARAMETER_ARRAY_SOURCE_PRIMITIVE],eL.EVENT_RESULT_ANY)}async internalExecute(e){let t=e?.getArguments()?.get(eL.PARAMETER_ARRAY_SOURCE_PRIMITIVE.getParameterName());if(0==t.length)throw new $("Search source array cannot be empty");let r=t[0];for(let e=1;e<t.length;e++){let s=t[e];eh.comparePrimitive(r,s)>=0||(r=s)}return new G([C.outputOf(new Map([[eL.EVENT_RESULT_NAME,r]]))])}}class eU extends eo{constructor(){super("Min",[eU.PARAMETER_ARRAY_SOURCE_PRIMITIVE],eU.EVENT_RESULT_ANY)}async internalExecute(e){let t,r=e?.getArguments()?.get(eU.PARAMETER_ARRAY_SOURCE_PRIMITIVE.getParameterName());if(0==r.length)throw new $("Search source array cannot be empty");for(let e=0;e<r.length;e++)!u(r[e])&&(void 0===t||0>eh.comparePrimitive(r[e],t))&&(t=r[e]);return new G([C.outputOf(new Map([[eU.EVENT_RESULT_NAME,t]]))])}}class ev extends eo{constructor(){super("MisMatch",[ev.PARAMETER_ARRAY_SOURCE,ev.PARAMETER_INT_FIND_FROM,ev.PARAMETER_ARRAY_SECOND_SOURCE,ev.PARAMETER_INT_SECOND_SOURCE_FROM,ev.PARAMETER_INT_LENGTH],ev.EVENT_RESULT_INTEGER)}async internalExecute(e){let t=e?.getArguments()?.get(ev.PARAMETER_ARRAY_SOURCE.getParameterName()),r=e?.getArguments()?.get(ev.PARAMETER_INT_FIND_FROM.getParameterName()),s=e?.getArguments()?.get(ev.PARAMETER_ARRAY_SECOND_SOURCE.getParameterName()),n=e?.getArguments()?.get(ev.PARAMETER_INT_SECOND_SOURCE_FROM.getParameterName()),a=e?.getArguments()?.get(ev.PARAMETER_INT_LENGTH.getParameterName()),i=r<t.length&&r>0?r:0,o=n<s.length&&n>0?n:0;if(i+a>=t.length||o+a>s.length)throw new $("The size of the array for first and second which was being requested is more than size of the given array");let E=-1;for(let e=0;e<a;e++)if(t[i+e]!=s[o+e]){E=e;break}return new G([C.outputOf(new Map([[ev.EVENT_RESULT_NAME,E]]))])}}class eb extends eo{constructor(){super("Reverse",[eb.PARAMETER_ARRAY_SOURCE,eb.PARAMETER_INT_SOURCE_FROM,eb.PARAMETER_INT_LENGTH],eb.EVENT_RESULT_ARRAY)}async internalExecute(e){let t=e?.getArguments()?.get(eb.PARAMETER_ARRAY_SOURCE.getParameterName()),r=e?.getArguments()?.get(eb.PARAMETER_INT_SOURCE_FROM.getParameterName()),s=e?.getArguments()?.get(eb.PARAMETER_INT_LENGTH.getParameterName());if(-1==s&&(s=t.length-r),s>=t.length||s<0||r<0)throw new $("Please provide start point between the start and end indexes or provide the length which was less than the source size ");t=[...t];let n=r+s-1;for(;r<=n;){let e=t[r],s=t[n];t[r++]=s,t[n--]=e}return new G([C.outputOf(new Map([[eb.EVENT_RESULT_NAME,t]]))])}}class eV extends eo{constructor(){super("Rotate",[eV.PARAMETER_ARRAY_SOURCE,eV.PARAMETER_ROTATE_LENGTH],eV.EVENT_RESULT_ANY)}async internalExecute(e){let t=e?.getArguments()?.get(eV.PARAMETER_ARRAY_SOURCE.getParameterName()),r=e?.getArguments()?.get(eV.PARAMETER_ROTATE_LENGTH.getParameterName());if(0==t.length)return new G([C.outputOf(new Map([[eo.EVENT_RESULT_NAME,t]]))]);let s=(t=[...t]).length;return r%=s,this.rotate(t,0,r-1),this.rotate(t,r,s-1),this.rotate(t,0,s-1),new G([C.outputOf(new Map([[eo.EVENT_RESULT_NAME,t]]))])}rotate(e,t,r){for(;t<r;){let s=e[t];e[t++]=e[r],e[r--]=s}}}class eC extends eo{constructor(){super("Shuffle",[eC.PARAMETER_ARRAY_SOURCE],eC.EVENT_RESULT_ANY)}async internalExecute(e){let t=e?.getArguments()?.get(eC.PARAMETER_ARRAY_SOURCE.getParameterName());if(t.length<=1)return new G([C.outputOf(new Map([[eo.EVENT_RESULT_NAME,t]]))]);let r=0,s=(t=[...t]).length;for(let e=0;e<s;e++){let e=Math.floor(Math.random()*s)%s,n=t[r];t[r]=t[e],t[e]=n,r=e}return new G([C.outputOf(new Map([[eo.EVENT_RESULT_NAME,t]]))])}}e({},"ObjectValueSetterExtractor",()=>eH),e({},"Expression",()=>eB),e({},"StringBuilder",()=>e$);class e${constructor(e){this.str=e??""}append(e){return this.str+=e,this}toString(){return""+this.str}trim(){return this.str=this.str.trim(),this}setLength(e){return this.str=this.str.substring(0,e),this}length(){return this.str.length}charAt(e){return this.str.charAt(e)}deleteCharAt(e){return this.checkIndex(e),this.str=this.str.substring(0,e)+this.str.substring(e+1),this}insert(e,t){return this.str=this.str.substring(0,e)+t+this.str.substring(e),this}checkIndex(e){if(e>=this.str.length)throw new $(`Index ${e} is greater than or equal to ${this.str.length}`)}substring(e,t){return this.str.substring(e,t)}}e({},"ExpressionEvaluationException",()=>eG);class eG extends Error{constructor(e,t,r){super(F.format("$ : $",e,t)),this.cause=r}getCause(){return this.cause}}e({},"ExpressionToken",()=>eD);class eD{constructor(e){this.expression=e}getExpression(){return this.expression}toString(){return this.expression}}e({},"ExpressionTokenValue",()=>eF);class eF extends eD{constructor(e,t){super(e),this.element=t}getTokenValue(){return this.element}getElement(){return this.element}toString(){return F.format("$: $",this.expression,this.element)}}e({},"Operation",()=>eY);class eY{static #e=(()=>{this.MULTIPLICATION=new eY("*")})();static #t=(()=>{this.DIVISION=new eY("/")})();static #r=(()=>{this.INTEGER_DIVISION=new eY("//")})();static #s=(()=>{this.MOD=new eY("%")})();static #n=(()=>{this.ADDITION=new eY("+")})();static #a=(()=>{this.SUBTRACTION=new eY("-")})();static #i=(()=>{this.NOT=new eY("not",void 0,!0)})();static #o=(()=>{this.AND=new eY("and",void 0,!0)})();static #E=(()=>{this.OR=new eY("or",void 0,!0)})();static #u=(()=>{this.LESS_THAN=new eY("<")})();static #A=(()=>{this.LESS_THAN_EQUAL=new eY("<=")})();static #c=(()=>{this.GREATER_THAN=new eY(">")})();static #l=(()=>{this.GREATER_THAN_EQUAL=new eY(">=")})();static #h=(()=>{this.EQUAL=new eY("=")})();static #g=(()=>{this.NOT_EQUAL=new eY("!=")})();static #p=(()=>{this.BITWISE_AND=new eY("&")})();static #R=(()=>{this.BITWISE_OR=new eY("|")})();static #m=(()=>{this.BITWISE_XOR=new eY("^")})();static #T=(()=>{this.BITWISE_COMPLEMENT=new eY("~")})();static #f=(()=>{this.BITWISE_LEFT_SHIFT=new eY("<<")})();static #N=(()=>{this.BITWISE_RIGHT_SHIFT=new eY(">>")})();static #_=(()=>{this.BITWISE_UNSIGNED_RIGHT_SHIFT=new eY(">>>")})();static #S=(()=>{this.UNARY_PLUS=new eY("UN: +","+")})();static #M=(()=>{this.UNARY_MINUS=new eY("UN: -","-")})();static #O=(()=>{this.UNARY_LOGICAL_NOT=new eY("UN: not","not")})();static #d=(()=>{this.UNARY_BITWISE_COMPLEMENT=new eY("UN: ~","~")})();static #w=(()=>{this.ARRAY_OPERATOR=new eY("[")})();static #I=(()=>{this.OBJECT_OPERATOR=new eY(".")})();static #P=(()=>{this.NULLISH_COALESCING_OPERATOR=new eY("??")})();static #y=(()=>{this.CONDITIONAL_TERNARY_OPERATOR=new eY("?")})();static #x=(()=>{this.VALUE_OF=new Map([["MULTIPLICATION",eY.MULTIPLICATION],["DIVISION",eY.DIVISION],["INTEGER_DIVISON",eY.INTEGER_DIVISION],["MOD",eY.MOD],["ADDITION",eY.ADDITION],["SUBTRACTION",eY.SUBTRACTION],["NOT",eY.NOT],["AND",eY.AND],["OR",eY.OR],["LESS_THAN",eY.LESS_THAN],["LESS_THAN_EQUAL",eY.LESS_THAN_EQUAL],["GREATER_THAN",eY.GREATER_THAN],["GREATER_THAN_EQUAL",eY.GREATER_THAN_EQUAL],["EQUAL",eY.EQUAL],["NOT_EQUAL",eY.NOT_EQUAL],["BITWISE_AND",eY.BITWISE_AND],["BITWISE_OR",eY.BITWISE_OR],["BITWISE_XOR",eY.BITWISE_XOR],["BITWISE_COMPLEMENT",eY.BITWISE_COMPLEMENT],["BITWISE_LEFT_SHIFT",eY.BITWISE_LEFT_SHIFT],["BITWISE_RIGHT_SHIFT",eY.BITWISE_RIGHT_SHIFT],["BITWISE_UNSIGNED_RIGHT_SHIFT",eY.BITWISE_UNSIGNED_RIGHT_SHIFT],["UNARY_PLUS",eY.UNARY_PLUS],["UNARY_MINUS",eY.UNARY_MINUS],["UNARY_LOGICAL_NOT",eY.UNARY_LOGICAL_NOT],["UNARY_BITWISE_COMPLEMENT",eY.UNARY_BITWISE_COMPLEMENT],["ARRAY_OPERATOR",eY.ARRAY_OPERATOR],["OBJECT_OPERATOR",eY.OBJECT_OPERATOR],["NULLISH_COALESCING_OPERATOR",eY.NULLISH_COALESCING_OPERATOR],["CONDITIONAL_TERNARY_OPERATOR",eY.CONDITIONAL_TERNARY_OPERATOR]])})();static #L=(()=>{this.UNARY_OPERATORS=new Set([eY.ADDITION,eY.SUBTRACTION,eY.NOT,eY.BITWISE_COMPLEMENT,eY.UNARY_PLUS,eY.UNARY_MINUS,eY.UNARY_LOGICAL_NOT,eY.UNARY_BITWISE_COMPLEMENT])})();static #U=(()=>{this.ARITHMETIC_OPERATORS=new Set([eY.MULTIPLICATION,eY.DIVISION,eY.INTEGER_DIVISION,eY.MOD,eY.ADDITION,eY.SUBTRACTION])})();static #v=(()=>{this.LOGICAL_OPERATORS=new Set([eY.NOT,eY.AND,eY.OR,eY.LESS_THAN,eY.LESS_THAN_EQUAL,eY.GREATER_THAN,eY.GREATER_THAN_EQUAL,eY.EQUAL,eY.NOT_EQUAL,eY.NULLISH_COALESCING_OPERATOR])})();static #b=(()=>{this.BITWISE_OPERATORS=new Set([eY.BITWISE_AND,eY.BITWISE_COMPLEMENT,eY.BITWISE_LEFT_SHIFT,eY.BITWISE_OR,eY.BITWISE_RIGHT_SHIFT,eY.BITWISE_UNSIGNED_RIGHT_SHIFT,eY.BITWISE_XOR])})();static #V=(()=>{this.CONDITIONAL_OPERATORS=new Set([eY.CONDITIONAL_TERNARY_OPERATOR])})();static #C=(()=>{this.OPERATOR_PRIORITY=new Map([[eY.UNARY_PLUS,1],[eY.UNARY_MINUS,1],[eY.UNARY_LOGICAL_NOT,1],[eY.UNARY_BITWISE_COMPLEMENT,1],[eY.ARRAY_OPERATOR,1],[eY.OBJECT_OPERATOR,1],[eY.MULTIPLICATION,2],[eY.DIVISION,2],[eY.INTEGER_DIVISION,2],[eY.MOD,2],[eY.ADDITION,3],[eY.SUBTRACTION,3],[eY.BITWISE_LEFT_SHIFT,4],[eY.BITWISE_RIGHT_SHIFT,4],[eY.BITWISE_UNSIGNED_RIGHT_SHIFT,4],[eY.LESS_THAN,5],[eY.LESS_THAN_EQUAL,5],[eY.GREATER_THAN,5],[eY.GREATER_THAN_EQUAL,5],[eY.EQUAL,6],[eY.NOT_EQUAL,6],[eY.BITWISE_AND,7],[eY.BITWISE_XOR,8],[eY.BITWISE_OR,9],[eY.AND,10],[eY.OR,11],[eY.NULLISH_COALESCING_OPERATOR,11],[eY.CONDITIONAL_TERNARY_OPERATOR,12]])})();static #$=(()=>{this.OPERATORS=new Set([...Array.from(eY.ARITHMETIC_OPERATORS),...Array.from(eY.LOGICAL_OPERATORS),...Array.from(eY.BITWISE_OPERATORS),eY.ARRAY_OPERATOR,eY.OBJECT_OPERATOR,...Array.from(eY.CONDITIONAL_OPERATORS)].map(e=>e.getOperator()))})();static #G=(()=>{this.OPERATORS_WITHOUT_SPACE_WRAP=new Set([...Array.from(eY.ARITHMETIC_OPERATORS),...Array.from(eY.LOGICAL_OPERATORS),...Array.from(eY.BITWISE_OPERATORS),eY.ARRAY_OPERATOR,eY.OBJECT_OPERATOR,...Array.from(eY.CONDITIONAL_OPERATORS)].filter(e=>!e.shouldBeWrappedInSpace()).map(e=>e.getOperator()))})();static #D=(()=>{this.OPERATION_VALUE_OF=new Map(Array.from(eY.VALUE_OF.entries()).map(([e,t])=>[t.getOperator(),t]))})();static #F=(()=>{this.UNARY_MAP=new Map([[eY.ADDITION,eY.UNARY_PLUS],[eY.SUBTRACTION,eY.UNARY_MINUS],[eY.NOT,eY.UNARY_LOGICAL_NOT],[eY.BITWISE_COMPLEMENT,eY.UNARY_BITWISE_COMPLEMENT],[eY.UNARY_PLUS,eY.UNARY_PLUS],[eY.UNARY_MINUS,eY.UNARY_MINUS],[eY.UNARY_LOGICAL_NOT,eY.UNARY_LOGICAL_NOT],[eY.UNARY_BITWISE_COMPLEMENT,eY.UNARY_BITWISE_COMPLEMENT]])})();static #Y=(()=>{this.BIGGEST_OPERATOR_SIZE=Array.from(eY.VALUE_OF.values()).map(e=>e.getOperator()).filter(e=>!e.startsWith("UN: ")).map(e=>e.length).reduce((e,t)=>e>t?e:t,0)})();constructor(e,t,r=!1){this.operator=e,this.operatorName=t??e,this._shouldBeWrappedInSpace=r}getOperator(){return this.operator}getOperatorName(){return this.operatorName}shouldBeWrappedInSpace(){return this._shouldBeWrappedInSpace}valueOf(e){return eY.VALUE_OF.get(e)}toString(){return this.operator}}class eB extends eD{constructor(e,t,r,s){super(e||""),this.tokens=new Y,this.ops=new Y,t&&this.tokens.push(t),r&&this.tokens.push(r),s&&this.ops.push(s),this.evaluate()}getTokens(){return this.tokens}getOperations(){return this.ops}evaluate(){let e;let t=this.expression.length,r="",s=new e$(""),n=0,a=!1;for(;n<t;){switch(r=this.expression[n],e=s.toString(),r){case" ":a=this.processTokenSepearator(s,e,a);break;case"(":n=this.processSubExpression(t,s,e,n,a),a=!1;break;case")":throw new eG(this.expression,"Extra closing parenthesis found");case"]":throw new eG(this.expression,"Extra closing square bracket found");case"'":case'"':{let e=this.processStringLiteral(t,r,n);n=e.getT1(),a=e.getT2();break}case"?":if(n+1<t&&"?"!=this.expression.charAt(n+1)&&0!=n&&"?"!=this.expression.charAt(n-1))n=this.processTernaryOperator(t,s,e,n,a);else{let i=this.processOthers(r,t,s,e,n,a);n=i.getT1(),(a=i.getT2())&&this.ops.peek()==eY.ARRAY_OPERATOR&&(n=(i=this.process(t,s,n)).getT1(),a=i.getT2())}break;default:let i=this.processOthers(r,t,s,e,n,a);n=i.getT1(),(a=i.getT2())&&this.ops.peek()==eY.ARRAY_OPERATOR&&(n=(i=this.process(t,s,n)).getT1(),a=i.getT2())}++n}if(e=s.toString(),!H.isNullOrBlank(e)){if(eY.OPERATORS.has(e))throw new eG(this.expression,"Expression is ending with an operator");this.tokens.push(new eD(e))}}processStringLiteral(e,t,r){let s="",n=r+1;for(;n<e;n++){let e=this.expression.charAt(n);if(e==t&&"\\"!=this.expression.charAt(n-1))break;s+=e}if(n==e&&this.expression.charAt(n-1)!=t)throw new eG(this.expression,"Missing string ending marker "+t);let a=new X(n,!1);return this.tokens.push(new eF(s,s)),a}process(e,t,r){let s=1;for(++r;r<e&&0!=s;){let e=this.expression.charAt(r);"]"==e?--s:"["==e&&++s,0!=s&&(t.append(e),r++)}return this.tokens.push(new eB(t.toString())),t.setLength(0),new X(r,!1)}processOthers(e,t,r,s,n,a){let i=t-n;i=i<eY.BIGGEST_OPERATOR_SIZE?i:eY.BIGGEST_OPERATOR_SIZE;for(let e=i;e>0;e--){let t=this.expression.substring(n,n+e);if(eY.OPERATORS_WITHOUT_SPACE_WRAP.has(t))return H.isNullOrBlank(s)||(this.tokens.push(new eD(s)),a=!1),this.checkUnaryOperator(this.tokens,this.ops,eY.OPERATION_VALUE_OF.get(t),a),a=!0,r.setLength(0),new X(n+e-1,a)}return r.append(e),new X(n,!1)}processTernaryOperator(e,t,r,s,n){if(n)throw new eG(this.expression,"Ternary operator is followed by an operator");""!=r.trim()&&(this.tokens.push(new eB(r)),t.setLength(0)),++s;let a=1,i="",o=s;for(;s<e&&a>0;)"?"==(i=this.expression.charAt(s))?++a:":"==i&&--a,++s;if(":"!=i)throw new eG(this.expression,"':' operater is missing");if(s>=e)throw new eG(this.expression,"Third part of the ternary expression is missing");for(;!this.ops.isEmpty()&&this.hasPrecedence(eY.CONDITIONAL_TERNARY_OPERATOR,this.ops.peek());){let e=this.ops.pop();if(eY.UNARY_OPERATORS.has(e)){let t=this.tokens.pop();this.tokens.push(new eB("",t,void 0,e))}else{let t=this.tokens.pop(),r=this.tokens.pop();this.tokens.push(new eB("",r,t,e))}}this.ops.push(eY.CONDITIONAL_TERNARY_OPERATOR),this.tokens.push(new eB(this.expression.substring(o,s-1)));let E=this.expression.substring(s);if(""===E.trim())throw new eG(this.expression,"Third part of the ternary expression is missing");return this.tokens.push(new eB(E)),e-1}processSubExpression(e,t,r,s,n){if(eY.OPERATORS.has(r))this.checkUnaryOperator(this.tokens,this.ops,eY.OPERATION_VALUE_OF.get(r),n),t.setLength(0);else if(!H.isNullOrBlank(r))throw new eG(this.expression,F.format("Unkown token : $ found.",r));let a=1,i=new e$,o=this.expression.charAt(s);for(s++;s<e&&a>0;)"("==(o=this.expression.charAt(s))?a++:")"==o&&a--,0!=a&&(i.append(o),s++);if(")"!=o)throw new eG(this.expression,"Missing a closed parenthesis");for(;i.length()>2&&"("==i.charAt(0)&&")"==i.charAt(i.length()-1);)i.deleteCharAt(0),i.setLength(i.length()-1);return this.tokens.push(new eB(i.toString().trim())),s}processTokenSepearator(e,t,r){return H.isNullOrBlank(t)||(eY.OPERATORS.has(t)?(this.checkUnaryOperator(this.tokens,this.ops,eY.OPERATION_VALUE_OF.get(t),r),r=!0):(this.tokens.push(new eD(t)),r=!1)),e.setLength(0),r}checkUnaryOperator(e,t,r,s){if(r){if(s||e.isEmpty()){if(eY.UNARY_OPERATORS.has(r)){let e=eY.UNARY_MAP.get(r);e&&t.push(e)}else throw new eG(this.expression,F.format("Extra operator $ found.",r))}else{for(;!t.isEmpty()&&this.hasPrecedence(r,t.peek());){let r=t.pop();if(eY.UNARY_OPERATORS.has(r)){let t=e.pop();e.push(new eB("",t,void 0,r))}else{let t=e.pop(),s=e.pop();e.push(new eB("",s,t,r))}}t.push(r)}}}hasPrecedence(e,t){let r=eY.OPERATOR_PRIORITY.get(e),s=eY.OPERATOR_PRIORITY.get(t);if(!r||!s)throw Error("Unknown operators provided");return s<r}toString(){if(this.ops.isEmpty())return 1==this.tokens.size()?this.tokens.get(0).toString():"Error: No tokens";let e=new e$,t=0,r=this.ops.toArray(),s=this.tokens.toArray();for(let n=0;n<r.length;n++)if(r[n].getOperator().startsWith("UN: "))e.append("(").append(r[n].getOperator().substring(4)).append(s[t]instanceof eB?s[t].toString():s[t]).append(")"),t++;else if(r[n]==eY.CONDITIONAL_TERNARY_OPERATOR){let r=s[t++];e.insert(0,r.toString()),e.insert(0,":"),r=s[t++],e.insert(0,r.toString()),e.insert(0,"?"),r=s[t++],e.insert(0,r.toString()).append(")"),e.insert(0,"(")}else{if(0==t){let r=s[t++];e.insert(0,r.toString())}let a=s[t++];e.insert(0,r[n].getOperator()).insert(0,a.toString()).insert(0,"(").append(")")}return e.toString()}equals(e){return this.expression==e.expression}}e({},"TokenValueExtractor",()=>ek);class ek{static #e=(()=>{this.REGEX_SQUARE_BRACKETS=/[\[\]]/})();static #t=(()=>{this.REGEX_DOT=/\./})();getValue(e){let t=this.getPrefix();if(!e.startsWith(t))throw new $(F.format("Token $ doesn't start with $",e,t));return this.getValueInternal(e)}retrieveElementFrom(e,t,r,s){if(u(s))return;if(t.length==r)return s;let n=t[r].split(ek.REGEX_SQUARE_BRACKETS).map(e=>e.trim()).filter(e=>!H.isNullOrBlank(e)).reduce((s,n,a)=>this.resolveForEachPartOfTokenWithBrackets(e,t,r,n,s,a),s);return this.retrieveElementFrom(e,t,r+1,n)}resolveForEachPartOfTokenWithBrackets(e,t,r,s,n,a){if(!u(n)){if(0===a){if("length"===s){let e=typeof n;if("string"===e||Array.isArray(n))return n.length;if("object"===e)return Object.keys(n).length}if(Array.isArray(n))try{let e=parseInt(s);if(isNaN(e))throw Error(F.format("$ is not a number",e));if(e>=n.length)return;return n[e]}catch(t){throw new eG(e,F.format("$ couldn't be parsed into integer in $",s,e),t)}return this.checkIfObject(e,t,r,n),n[s]}if(s?.startsWith('"')){if(!s.endsWith('"')||1==s.length||2==s.length)throw new eG(e,F.format("$ is missing a double quote or empty key found",e));return this.checkIfObject(e,t,r,n),n[s.substring(1,s.length-1)]}try{let t=parseInt(s);if(isNaN(t))throw Error(F.format("$ is not a number",t));if(!Array.isArray(n))throw new eG(e,F.format("Expecting an array with index $ while processing the expression",t,e));if(t>=n.length)return;return n[t]}catch(t){throw new eG(e,F.format("$ couldn't be parsed into integer in $",s,e),t)}}}checkIfObject(e,t,r,s){if("object"!=typeof s||Array.isArray(s))throw new eG(e,F.format("Unable to retrive $ from $ in the path $",t[r],s.toString(),e))}}class eH extends ek{constructor(e,t){super(),this.store=e,this.prefix=t}getValueInternal(e){let t=e.split(ek.REGEX_DOT);return this.retrieveElementFrom(e,t,1,this.store)}getStore(){return this.store}setStore(e){return this.store=e,this}setValue(e,t,r=!0,s=!1){this.store=em(this.store),this.modifyStore(e,t,r,s)}modifyStore(e,t,r,s){let n=new eB(e),a=n.getTokens();a.removeLast();let i=n.getOperations(),o=i.removeLast(),E=a.removeLast(),u=E instanceof eF?E.getElement():E.getExpression(),A=this.store;for(;!i.isEmpty();)A=o==eY.OBJECT_OPERATOR?this.getDataFromObject(A,u,i.peekLast()):this.getDataFromArray(A,u,i.peekLast()),o=i.removeLast(),u=(E=a.removeLast())instanceof eF?E.getElement():E.getExpression();o==eY.OBJECT_OPERATOR?this.putDataInObject(A,u,t,r,s):this.putDataInArray(A,u,t,r,s)}getDataFromArray(e,t,r){if(!Array.isArray(e))throw new $(F.format("Expected an array but found $",e));let s=parseInt(t);if(isNaN(s))throw new $(F.format("Expected an array index but found $",t));if(s<0)throw new $(F.format("Array index is out of bound - $",t));let n=e[s];return u(n)&&(n=r==eY.OBJECT_OPERATOR?{}:[],e[s]=n),n}getDataFromObject(e,t,r){if(Array.isArray(e)||"object"!=typeof e)throw new $(F.format("Expected an object but found $",e));let s=e[t];return u(s)&&(s=r==eY.OBJECT_OPERATOR?{}:[],e[t]=s),s}putDataInArray(e,t,r,s,n){if(!Array.isArray(e))throw new $(F.format("Expected an array but found $",e));let a=parseInt(t);if(isNaN(a))throw new $(F.format("Expected an array index but found $",t));if(a<0)throw new $(F.format("Array index is out of bound - $",t));(s||u(e[a]))&&(n&&u(r)?e.splice(a,1):e[a]=r)}putDataInObject(e,t,r,s,n){if(Array.isArray(e)||"object"!=typeof e)throw new $(F.format("Expected an object but found $",e));(s||u(e[t]))&&(n&&u(r)?delete e[t]:e[t]=r)}getPrefix(){return this.prefix}}class ej extends eo{constructor(){super("Sort",[ej.PARAMETER_ARRAY_SOURCE,ej.PARAMETER_INT_FIND_FROM,ej.PARAMETER_INT_LENGTH,ej.PARAMETER_BOOLEAN_ASCENDING,ej.PARAMETER_KEY_PATH],ej.EVENT_RESULT_ANY)}async internalExecute(e){let t=e?.getArguments()?.get(ej.PARAMETER_ARRAY_SOURCE.getParameterName()),r=e?.getArguments()?.get(ej.PARAMETER_INT_FIND_FROM.getParameterName()),s=e?.getArguments()?.get(ej.PARAMETER_INT_LENGTH.getParameterName()),n=e?.getArguments()?.get(ej.PARAMETER_BOOLEAN_ASCENDING.getParameterName()),a=e?.getArguments()?.get(ej.PARAMETER_KEY_PATH.getParameterName());if(0==t.length)return new G([C.outputOf(new Map([[eo.EVENT_RESULT_NAME,t]]))]);if(t=[...t],-1==s&&(s=t.length-r),r<0||r>=t.length||r+s>t.length)throw new $("Given start point is more than the size of the array or not available at that point");let i=t.slice(r,r+s+1),o=new eH({},"Data.");return i.sort((e,t)=>{if("object"==typeof e&&"object"==typeof t&&a.length){o.setStore({a:e,b:t});let r=o.getValue("Data.a."+a),s=o.getValue("Data.b."+a);return eX(r,s,n)}return eX(e,t,n)}),t.splice(r,s,...i),new G([C.outputOf(new Map([[eo.EVENT_RESULT_NAME,t]]))])}}function eX(e,t,r){return e===t?0:null===e?1:null===t?-1:r?e<t?-1:1:e<t?1:-1}class eW extends eo{constructor(){super("SubArray",[eW.PARAMETER_ARRAY_SOURCE,eW.PARAMETER_INT_FIND_FROM,eW.PARAMETER_INT_LENGTH],eW.EVENT_RESULT_ARRAY)}async internalExecute(e){let t=e?.getArguments()?.get(eW.PARAMETER_ARRAY_SOURCE.getParameterName()),r=e?.getArguments()?.get(eW.PARAMETER_INT_FIND_FROM.getParameterName()),s=e?.getArguments()?.get(eW.PARAMETER_INT_LENGTH.getParameterName());if(-1==s&&(s=t.length-r),s<=0)return new G([C.outputOf(new Map([]))]);if(!(r>=0&&r<t.length)||r+s>t.length)throw new $("Given find from point is more than the source size array or the Requested length for the subarray was more than the source size");let n=t.slice(r,r+s);return new G([C.outputOf(new Map([[eW.EVENT_RESULT_NAME,n]]))])}}class eq extends eo{constructor(){super("Insert",[eq.PARAMETER_ARRAY_SOURCE,eq.PARAMETER_INT_OFFSET,eq.PARAMETER_ANY],eq.EVENT_RESULT_ARRAY)}async internalExecute(e){let t=e?.getArguments()?.get(eq.PARAMETER_ARRAY_SOURCE.getParameterName()),r=e?.getArguments()?.get(eq.PARAMETER_INT_OFFSET.getParameterName());var s=e?.getArguments()?.get(eq.PARAMETER_ANY.getParameterName());if(u(s)||u(r)||r>t.length)throw new $("Please valid resouces to insert at the correct location");if(0==(t=[...t]).length)return 0==r&&t.push(s),new G([C.outputOf(new Map([[eo.EVENT_RESULT_NAME,t]]))]);t.push(s);let n=t.length-1;for(r++;n>=r;){let e=t[n-1];t[n-1]=t[n],t[n--]=e}return new G([C.outputOf(new Map([[eo.EVENT_RESULT_NAME,t]]))])}}class eJ extends eo{constructor(){super("InsertLast",[eJ.PARAMETER_ARRAY_SOURCE,eJ.PARAMETER_ANY],eJ.EVENT_RESULT_ARRAY)}async internalExecute(e){let t=e?.getArguments()?.get(eJ.PARAMETER_ARRAY_SOURCE.getParameterName());var r=e?.getArguments()?.get(eJ.PARAMETER_ANY.getParameterName());return(t=[...t]).push(r),new G([C.outputOf(new Map([[eo.EVENT_RESULT_NAME,t]]))])}}class ez extends eo{constructor(){super("RemoveDuplicates",[ez.PARAMETER_ARRAY_SOURCE,ez.PARAMETER_INT_SOURCE_FROM,ez.PARAMETER_INT_LENGTH],ez.EVENT_RESULT_ARRAY)}async internalExecute(e){var t=e?.getArguments()?.get(ez.PARAMETER_ARRAY_SOURCE.getParameterName()),r=e?.getArguments()?.get(ez.PARAMETER_INT_SOURCE_FROM.getParameterName()),s=e?.getArguments()?.get(ez.PARAMETER_INT_LENGTH.getParameterName());if(-1==s&&(s=t.length-r),r+s>t.length)throw new $(F.format("Array has no elements from $ to $ as the array size is $",r,r+s,t.length));let n=[...t],a=r+s;for(let e=a-1;e>=r;e--)for(let t=e-1;t>=r;t--)if(k(n[e],n[t])){n.splice(e,1);break}return new G([C.outputOf(v.of(ez.EVENT_RESULT_NAME,n))])}}let eK="keyPath",eQ="valuePath",eZ="ignoreNullValues",e0="ignoreNullKeys",e1="ignoreDuplicateKeys";class e2 extends eo{constructor(){super("ArrayToObjects",[eo.PARAMETER_ARRAY_SOURCE,I.of(eK,O.ofString(eK)),I.of(eQ,O.of(eQ,r.STRING,r.NULL)),I.of(eZ,O.ofBoolean(eZ).setDefaultValue(!1)),I.of(e0,O.ofBoolean(e0).setDefaultValue(!0)),I.of(e1,O.ofBoolean(e1).setDefaultValue(!1))],eo.EVENT_RESULT_ANY)}async internalExecute(e){let t=e?.getArguments()?.get(eo.PARAMETER_ARRAY_SOURCE.getParameterName()),r=e?.getArguments()?.get(eK),s=e?.getArguments()?.get(eQ)??"",n=e?.getArguments()?.get(eZ),a=e?.getArguments()?.get(e0),i=e?.getArguments()?.get(e1),o=new eH({},"Data."),E=t.filter(e=>!u(e)).reduce((e,t)=>{o.setStore(t);let E=o.getValue("Data."+r);if(a&&u(E))return e;let A=s?o.getValue("Data."+s):t;return n&&u(A)||i&&e.hasOwnProperty(E)||(e[E]=A),e},{});return new G([C.outputOf(new Map([[eo.EVENT_RESULT_NAME,E]]))])}}class e5{static #e=(()=>{this.repoMap=v.ofArrayEntries(L(new eE),L(new eu),L(new eg),L(new eR),L(new eT),L(new ef),L(new eN),L(new e_),L(new eS),L(new eM),L(new eO),L(new ed),L(new ew),L(new eI),L(new eP),L(new ey),L(new ex),L(new eL),L(new eU),L(new ev),L(new eb),L(new eV),L(new eC),L(new ej),L(new eW),L(new ec),L(new eq),L(new eJ),L(new ez),L(new e2))})();static #t=(()=>{this.filterableNames=Array.from(e5.repoMap.values()).map(e=>e.getSignature().getFullName())})();async find(e,t){return e!=E.SYSTEM_ARRAY?Promise.resolve(void 0):Promise.resolve(e5.repoMap.get(t))}async filter(e){return Promise.resolve(e5.filterableNames.filter(t=>-1!==t.toLowerCase().indexOf(e.toLowerCase())))}}e({},"ContextElement",()=>e7);class e7{static #e=(()=>{this.NULL=new e7(O.NULL,void 0)})();constructor(e,t){this.schema=e,this.element=t}getSchema(){return this.schema}setSchema(e){return this.schema=e,this}getElement(){return this.element}setElement(e){return this.element=e,this}}let e4="name",e6="schema",e9=new D("Create").setNamespace(E.SYSTEM_CTX).setParameters(new Map([I.ofEntry(e4,new O().setName(e4).setType(g.of(r.STRING)).setMinLength(1).setFormat(n.REGEX).setPattern("^[a-zA-Z_$][a-zA-Z_$0-9]*$"),!1,s.CONSTANT),I.ofEntry(e6,O.SCHEMA,!1,s.CONSTANT)])).setEvents(new Map([V.outputEventMapEntry(new Map)])),e8="name",e3="value",te=new D("Get").setNamespace(E.SYSTEM_CTX).setParameters(new Map([I.ofEntry(e8,new O().setName(e8).setType(g.of(r.STRING)).setMinLength(1).setFormat(n.REGEX).setPattern("^[a-zA-Z_$][a-zA-Z_$0-9]*$"),!1,s.CONSTANT)])).setEvents(new Map([V.outputEventMapEntry(new Map([[e3,O.ofAny(e3)]]))]));e({},"ExpressionEvaluator",()=>rt);var tt={};e(tt,"LogicalNullishCoalescingOperator",()=>tn);var tr={};e(tr,"BinaryOperator",()=>ts);class ts{nullCheck(e,t,r){if(u(e)||u(t))throw new el(F.format("$ cannot be applied to a null value",r.getOperatorName()))}}class tn extends ts{apply(e,t){return u(e)?t:e}}var ta={};e(ta,"ArithmeticAdditionOperator",()=>ti);class ti extends ts{apply(e,t){return u(e)?t:u(t)?e:e+t}}var to={};e(to,"ArithmeticDivisionOperator",()=>tE);class tE extends ts{apply(e,t){return this.nullCheck(e,t,eY.DIVISION),e/t}}var tu={};e(tu,"ArithmeticIntegerDivisionOperator",()=>tA);class tA extends ts{apply(e,t){return this.nullCheck(e,t,eY.DIVISION),Math.floor(e/t)}}var tc={};e(tc,"ArithmeticModulusOperator",()=>tl);class tl extends ts{apply(e,t){return this.nullCheck(e,t,eY.MOD),e%t}}var th={};e(th,"ArithmeticMultiplicationOperator",()=>tg);class tg extends ts{apply(e,t){this.nullCheck(e,t,eY.MULTIPLICATION);let r="string"==typeof e,s=typeof t;if(r||"string"===s){let s=r?e:t,n=r?t:e,a="",i=n<0,o=Math.floor(n=Math.abs(n));for(;o-- >0;)a+=s;let E=Math.floor(s.length*(n-Math.floor(n)));if(E<0&&(E=-E),0!=E&&(a+=s.substring(0,E)),i){let e="";for(let t=a.length-1;t>=0;t--)e+=a[t];return e}return a}return e*t}}var tp={};e(tp,"ArithmeticSubtractionOperator",()=>tR);class tR extends ts{apply(e,t){return this.nullCheck(e,t,eY.SUBTRACTION),e-t}}var tm={};e(tm,"ArrayOperator",()=>tT);class tT extends ts{apply(e,t){if(!e)throw new el("Cannot apply array operator on a null value");if(!t)throw new el("Cannot retrive null index value");if(!Array.isArray(e)&&"string"!=typeof e)throw new el(F.format("Cannot retrieve value from a primitive value $",e));if(t>=e.length)throw new el(F.format("Cannot retrieve index $ from the array of length $",t,e.length));return e[t]}}var tf={};e(tf,"BitwiseAndOperator",()=>tN);class tN extends ts{apply(e,t){return this.nullCheck(e,t,eY.BITWISE_AND),e&t}}var t_={};e(t_,"BitwiseLeftShiftOperator",()=>tS);class tS extends ts{apply(e,t){return this.nullCheck(e,t,eY.BITWISE_LEFT_SHIFT),e<<t}}var tM={};e(tM,"BitwiseOrOperator",()=>tO);class tO extends ts{apply(e,t){return this.nullCheck(e,t,eY.BITWISE_OR),e|t}}var td={};e(td,"BitwiseRightShiftOperator",()=>tw);class tw extends ts{apply(e,t){return this.nullCheck(e,t,eY.BITWISE_RIGHT_SHIFT),e>>t}}var tI={};e(tI,"BitwiseUnsignedRightShiftOperator",()=>tP);class tP extends ts{apply(e,t){return this.nullCheck(e,t,eY.BITWISE_UNSIGNED_RIGHT_SHIFT),e>>>t}}var ty={};e(ty,"BitwiseXorOperator",()=>tx);class tx extends ts{apply(e,t){return this.nullCheck(e,t,eY.BITWISE_XOR),e^t}}var tL={};e(tL,"LogicalAndOperator",()=>tU);class tU extends ts{apply(e,t){return!!e&&""!==e&&!!t&&""!==t}}var tv={};e(tv,"LogicalEqualOperator",()=>tb);class tb extends ts{apply(e,t){return k(e,t)}}var tV={};e(tV,"LogicalGreaterThanEqualOperator",()=>tC);class tC extends ts{apply(e,t){let s=eh.findPrimitiveNullAsBoolean(e),n=eh.findPrimitiveNullAsBoolean(t);if(s.getT1()==r.BOOLEAN||n.getT1()==r.BOOLEAN)throw new el(F.format("Cannot compare >= with the values $ and $",s.getT2(),n.getT2()));return s.getT2()>=n.getT2()}}var t$={};e(t$,"LogicalGreaterThanOperator",()=>tG);class tG extends ts{apply(e,t){let s=eh.findPrimitiveNullAsBoolean(e),n=eh.findPrimitiveNullAsBoolean(t);if(s.getT1()==r.BOOLEAN||n.getT1()==r.BOOLEAN)throw new el(F.format("Cannot compare > with the values $ and $",s.getT2(),n.getT2()));return s.getT2()>n.getT2()}}var tD={};e(tD,"LogicalLessThanEqualOperator",()=>tF);class tF extends ts{apply(e,t){let s=eh.findPrimitiveNullAsBoolean(e),n=eh.findPrimitiveNullAsBoolean(t);if(s.getT1()==r.BOOLEAN||n.getT1()==r.BOOLEAN)throw new el(F.format("Cannot compare <= with the values $ and $",s.getT2(),n.getT2()));return s.getT2()<=n.getT2()}}var tY={};e(tY,"LogicalLessThanOperator",()=>tB);class tB extends ts{apply(e,t){let s=eh.findPrimitiveNullAsBoolean(e),n=eh.findPrimitiveNullAsBoolean(t);if(s.getT1()==r.BOOLEAN||n.getT1()==r.BOOLEAN)throw new el(F.format("Cannot compare < with the values $ and $",s.getT2(),n.getT2()));return s.getT2()<n.getT2()}}var tk={};e(tk,"LogicalNotEqualOperator",()=>tH);class tH extends ts{apply(e,t){return!k(e,t)}}var tj={};e(tj,"LogicalOrOperator",()=>tX);class tX extends ts{apply(e,t){return!!e&&""!==e||!!t&&""!==t}}var tW={};e(tW,"ObjectOperator",()=>tq);class tq extends ts{apply(e,t){if(!e)throw new el("Cannot apply array operator on a null value");if(!t)throw new el("Cannot retrive null property value");let r=typeof e;if(!Array.isArray(e)&&"string"!=r&&"object"!=r)throw new el(F.format("Cannot retrieve value from a primitive value $",e));return e[t]}}var tJ={};e(tJ,"ArithmeticUnaryMinusOperator",()=>tQ);var tz={};e(tz,"UnaryOperator",()=>tK);class tK{nullCheck(e,t){if(u(e))throw new el(F.format("$ cannot be applied to a null value",t.getOperatorName()))}}class tQ extends tK{apply(e){return this.nullCheck(e,eY.UNARY_MINUS),eh.findPrimitiveNumberType(e),-e}}var tZ={};e(tZ,"ArithmeticUnaryPlusOperator",()=>t0);class t0 extends tK{apply(e){return this.nullCheck(e,eY.UNARY_PLUS),eh.findPrimitiveNumberType(e),e}}var t1={};e(t1,"BitwiseComplementOperator",()=>t2);class t2 extends tK{apply(e){this.nullCheck(e,eY.UNARY_BITWISE_COMPLEMENT);let t=eh.findPrimitiveNumberType(e);if(t.getT1()!=r.INTEGER&&t.getT1()!=r.LONG)throw new el(F.format("Unable to apply bitwise operator on $",e));return~e}}var t5={};e(t5,"LogicalNotOperator",()=>t7);class t7 extends tK{apply(e){return!e&&""!==e}}e({},"LiteralTokenValueExtractor",()=>t6);let t4=new Map([["true",!0],["false",!1],["null",void 0],["undefined",void 0]]);class t6 extends ek{static #e=(()=>{this.INSTANCE=new t6})();getValueInternal(e){if(!H.isNullOrBlank(e))return(e=e.trim(),t4.has(e))?t4.get(e):e.startsWith('"')?this.processString(e):this.processNumbers(e)}processNumbers(e){try{let t=Number(e);if(isNaN(t))throw Error("Parse number error");return t}catch(t){throw new eG(e,F.format("Unable to parse the literal or expression $",e),t)}}processString(e){if(!e.endsWith('"'))throw new eG(e,F.format("String literal $ is not closed properly",e));return e.substring(1,e.length-1)}getPrefix(){return""}getStore(){}getValueFromExtractors(e,t){return t.get(e+".")?.getStore()??this.getValue(e)}}var t9={};e(t9,"ConditionalTernaryOperator",()=>t3);class t8{nullCheck(e,t,r,s){if(u(e)||u(t)||u(r))throw new el(F.format("$ cannot be applied to a null value",s.getOperatorName()))}}class t3 extends t8{apply(e,t,r){return e?t:r}}t({},t9);class re extends ek{static #e=(()=>{this.PREFIX="_internal."})();addValue(e,t){this.values.set(e,t)}getValueInternal(e){let t=e.split(ek.REGEX_DOT),r=t[1],s=r.indexOf("["),n=2;return -1!=s&&(r=t[1].substring(0,s),t[1]=t[1].substring(s),n=1),this.retrieveElementFrom(e,t,n,this.values.get(r))}getPrefix(){return re.PREFIX}getStore(){}constructor(...e){super(...e),this.values=new Map}}class rt{static #e=(()=>{this.UNARY_OPERATORS_MAP=new Map([[eY.UNARY_BITWISE_COMPLEMENT,new t2],[eY.UNARY_LOGICAL_NOT,new t7],[eY.UNARY_MINUS,new tQ],[eY.UNARY_PLUS,new t0]])})();static #t=(()=>{this.TERNARY_OPERATORS_MAP=new Map([[eY.CONDITIONAL_TERNARY_OPERATOR,new t3]])})();static #r=(()=>{this.BINARY_OPERATORS_MAP=new Map([[eY.ADDITION,new ti],[eY.DIVISION,new tE],[eY.INTEGER_DIVISION,new tA],[eY.MOD,new tl],[eY.MULTIPLICATION,new tg],[eY.SUBTRACTION,new tR],[eY.BITWISE_AND,new tN],[eY.BITWISE_LEFT_SHIFT,new tS],[eY.BITWISE_OR,new tO],[eY.BITWISE_RIGHT_SHIFT,new tw],[eY.BITWISE_UNSIGNED_RIGHT_SHIFT,new tP],[eY.BITWISE_XOR,new tx],[eY.AND,new tU],[eY.EQUAL,new tb],[eY.GREATER_THAN,new tG],[eY.GREATER_THAN_EQUAL,new tC],[eY.LESS_THAN,new tB],[eY.LESS_THAN_EQUAL,new tF],[eY.OR,new tX],[eY.NOT_EQUAL,new tH],[eY.NULLISH_COALESCING_OPERATOR,new tn],[eY.ARRAY_OPERATOR,new tT],[eY.OBJECT_OPERATOR,new tq]])})();static #s=(()=>{this.UNARY_OPERATORS_MAP_KEY_SET=new Set(rt.UNARY_OPERATORS_MAP.keys())})();constructor(e){this.internalTokenValueExtractor=new re,e instanceof eB?(this.exp=e,this.expression=this.exp.getExpression()):this.expression=e}evaluate(e){let t=this.processNestingExpression(this.expression,e);return this.expression=t.getT1(),this.exp=t.getT2(),(e=new Map(e.entries())).set(this.internalTokenValueExtractor.getPrefix(),this.internalTokenValueExtractor),this.evaluateExpression(this.exp,e)}processNestingExpression(e,t){let r=0,s=0,n=new Y;for(;s<e.length-1;){if("{"==e.charAt(s)&&"{"==e.charAt(s+1))0==r&&n.push(new X(s+2,-1)),r++,s++;else if("}"==e.charAt(s)&&"}"==e.charAt(s+1)){if(--r<0)throw new eG(e,"Expecting {{ nesting path operator to be started before closing");0==r&&n.push(n.pop().setT2(s)),s++}s++}let a=this.replaceNestingExpression(e,t,n);return new X(a,new eB(a))}replaceNestingExpression(e,t,r){let s=e;for(var n of r.toArray()){if(-1==n.getT2())throw new eG(e,"Expecting }} nesting path operator to be closed");let r=new rt(s.substring(n.getT1(),n.getT2())).evaluate(t);s=s.substring(0,n.getT1()-2)+r+s.substring(n.getT2()+2)}return s}getExpression(){return this.exp||(this.exp=new eB(this.expression)),this.exp}getExpressionString(){return this.expression}evaluateExpression(e,t){let r=e.getOperations(),s=e.getTokens();for(;!r.isEmpty();){let e=r.pop(),o=s.pop();if(rt.UNARY_OPERATORS_MAP_KEY_SET.has(e))s.push(this.applyUnaryOperation(e,this.getValueFromToken(t,o)));else if(e==eY.OBJECT_OPERATOR||e==eY.ARRAY_OPERATOR)this.processObjectOrArrayOperator(t,r,s,e,o);else if(e==eY.CONDITIONAL_TERNARY_OPERATOR){let r=s.pop(),E=s.pop();var n=this.getValueFromToken(t,E),a=this.getValueFromToken(t,r),i=this.getValueFromToken(t,o);s.push(this.applyTernaryOperation(e,n,a,i))}else{let r=s.pop();var n=this.getValueFromToken(t,r),a=this.getValueFromToken(t,o);s.push(this.applyBinaryOperation(e,n,a))}}if(s.isEmpty())throw new el(F.format("Expression : $ evaluated to null",e));if(1!=s.size())throw new el(F.format("Expression : $ evaluated multiple values $",e,s));let o=s.get(0);if(o instanceof eF)return o.getElement();if(!(o instanceof eB))return this.getValueFromToken(t,o);throw new el(F.format("Expression : $ evaluated to $",e,s.get(0)))}processObjectOrArrayOperator(e,t,r,s,n){let a=new Y,i=new Y;if(!s||!n)return;do i.push(s),n instanceof eB?a.push(new eF(n.toString(),this.evaluateExpression(n,e))):n&&a.push(n),n=r.isEmpty()?void 0:r.pop(),s=t.isEmpty()?void 0:t.pop();while(s==eY.OBJECT_OPERATOR||s==eY.ARRAY_OPERATOR)n&&(n instanceof eB?a.push(new eF(n.toString(),this.evaluateExpression(n,e))):a.push(n)),s&&t.push(s);let o=a.pop();if(o instanceof eF&&"object"==typeof o.getTokenValue()){let e=new Date().getTime()+""+Math.round(1e3*Math.random());this.internalTokenValueExtractor.addValue(e,o.getTokenValue()),o=new eD(re.PREFIX+e)}let E=new e$(o instanceof eF?o.getTokenValue():o.toString());for(;!a.isEmpty();)o=a.pop(),s=i.pop(),E.append(s.getOperator()).append(o instanceof eF?o.getTokenValue():o.toString()),s==eY.ARRAY_OPERATOR&&E.append("]");let u=E.toString(),A=u.substring(0,u.indexOf(".")+1);if(A.length>2&&e.has(A))r.push(new eF(u,this.getValue(u,e)));else{let e;try{e=t6.INSTANCE.getValue(u)}catch(t){e=u}r.push(new eF(u,e))}}applyTernaryOperation(e,t,r,s){let n=rt.TERNARY_OPERATORS_MAP.get(e);if(!n)throw new eG(this.expression,F.format("No operator found to evaluate $",this.getExpression()));return new eF(e.toString(),n.apply(t,r,s))}applyBinaryOperation(e,t,r){let s=typeof t,n=typeof r,a=rt.BINARY_OPERATORS_MAP.get(e);if(("object"===s||"object"===n)&&e!==eY.EQUAL&&e!==eY.NOT_EQUAL&&e!==eY.NULLISH_COALESCING_OPERATOR&&e!==eY.AND&&e!==eY.OR)throw new eG(this.expression,F.format("Cannot evaluate expression $ $ $",t,e.getOperator(),r));if(!a)throw new eG(this.expression,F.format("No operator found to evaluate $ $ $",t,e.getOperator(),r));return new eF(e.toString(),a.apply(t,r))}applyUnaryOperation(e,t){let r=typeof t;if(e.getOperator()!=eY.NOT.getOperator()&&e.getOperator()!=eY.UNARY_LOGICAL_NOT.getOperator()&&("object"===r||Array.isArray(t)))throw new eG(this.expression,F.format("The operator $ cannot be applied to $",e.getOperator(),t));let s=rt.UNARY_OPERATORS_MAP.get(e);if(!s)throw new eG(this.expression,F.format("No Unary operator $ is found to apply on $",e.getOperator(),t));return new eF(e.toString(),s.apply(t))}getValueFromToken(e,t){return t instanceof eB?this.evaluateExpression(t,e):t instanceof eF?t.getElement():this.getValue(t.getExpression(),e)}getValue(e,t){if(e.length<=5)return t6.INSTANCE.getValueFromExtractors(e,t);let r=e.substring(0,e.indexOf(".")+1);return t.has(r)?t.get(r).getValue(e):t6.INSTANCE.getValueFromExtractors(e,t)}}let rr="name",rs="value",rn=new D("Set").setNamespace(E.SYSTEM_CTX).setParameters(new Map([I.ofEntry(rr,new O().setName(rr).setType(g.of(r.STRING)).setMinLength(1),!1),I.ofEntry(rs,O.ofAny(rs))])).setEvents(new Map([V.outputEventMapEntry(new Map)])),ra="value",ri="eventName",ro="results",rE=new D("GenerateEvent").setNamespace(E.SYSTEM).setParameters(new Map([I.ofEntry(ri,O.ofString(ri).setDefaultValue("output")),I.ofEntry(ro,O.ofObject(ro).setProperties(new Map([["name",O.ofString("name")],[ra,I.EXPRESSION]])),!0)])).setEvents(new Map([V.outputEventMapEntry(new Map)]));class ru extends ei{static #e=(()=>{this.CONDITION="condition"})();static #t=(()=>{this.SIGNATURE=new D("If").setNamespace(E.SYSTEM).setParameters(new Map([I.ofEntry(ru.CONDITION,O.ofAny(ru.CONDITION))])).setEvents(new Map([V.eventMapEntry(V.TRUE,new Map),V.eventMapEntry(V.FALSE,new Map),V.outputEventMapEntry(new Map)]))})();getSignature(){return ru.SIGNATURE}async internalExecute(e){let t=e.getArguments()?.get(ru.CONDITION);return new G([C.of(t||""===t?V.TRUE:V.FALSE,new Map),C.outputOf(new Map)])}}let rA="stepName",rc=new D("Break").setNamespace(E.SYSTEM_LOOP).setParameters(new Map([I.ofEntry(rA,O.of(rA,r.STRING))])).setEvents(new Map([V.outputEventMapEntry(new Map([]))])),rl="count",rh="value",rg="index",rp=new D("CountLoop").setNamespace(E.SYSTEM_LOOP).setParameters(new Map([I.ofEntry(rl,O.of(rl,r.INTEGER))])).setEvents(new Map([V.eventMapEntry(V.ITERATION,new Map([[rg,O.of(rg,r.INTEGER)]])),V.outputEventMapEntry(new Map([[rh,O.of(rh,r.INTEGER)]]))])),rR="source",rm="each",rT="index",rf="value",rN=new D("ForEachLoop").setNamespace(E.SYSTEM_LOOP).setParameters(new Map([I.ofEntry(rR,O.ofArray(rR,O.ofAny(rR)))])).setEvents(new Map([V.eventMapEntry(V.ITERATION,new Map([[rT,O.of(rT,r.INTEGER)],[rm,O.ofAny(rm)]])),V.outputEventMapEntry(new Map([[rf,O.of(rf,r.INTEGER)]]))])),r_="from",rS="step",rM="value",rO="index",rd=new D("RangeLoop").setNamespace(E.SYSTEM_LOOP).setParameters(new Map([I.ofEntry(r_,O.of(r_,r.INTEGER,r.LONG,r.FLOAT,r.DOUBLE).setDefaultValue(0)),I.ofEntry("to",O.of("to",r.INTEGER,r.LONG,r.FLOAT,r.DOUBLE).setDefaultValue(1)),I.ofEntry(rS,O.of(rS,r.INTEGER,r.LONG,r.FLOAT,r.DOUBLE).setDefaultValue(1).setNot(new O().setConstant(0)))])).setEvents(new Map([V.eventMapEntry(V.ITERATION,new Map([[rO,O.of(rO,r.INTEGER,r.LONG,r.FLOAT,r.DOUBLE)]])),V.outputEventMapEntry(new Map([[rM,O.of(rM,r.INTEGER,r.LONG,r.FLOAT,r.DOUBLE)]]))])),rw="value",rI=new D("Add").setNamespace(E.MATH).setParameters(new Map([[rw,new I(rw,O.ofNumber(rw)).setVariableArgument(!0)]])).setEvents(new Map([V.outputEventMapEntry(new Map([[rw,O.ofNumber(rw)]]))])),rP="value",ry="value1",rx="value2",rL=[()=>new Map([[rP,new I(rP,O.ofNumber(rP))]]),()=>new Map([[ry,new I(ry,O.ofNumber(ry))],[rx,new I(rx,O.ofNumber(rx))]])];class rU extends ei{constructor(e,t,s=1,...n){super(),n&&n.length||(n=[r.DOUBLE]),this.parametersNumber=s,this.mathFunction=t,this.signature=new D(e).setNamespace(E.MATH).setParameters(rL[s-1]()).setEvents(new Map([V.outputEventMapEntry(new Map([[rP,new O().setType(g.of(...n)).setName(rP)]]))]))}getSignature(){return this.signature}async internalExecute(e){let t,r=eh.findPrimitiveNumberType(e.getArguments()?.get(1==this.parametersNumber?rP:ry)).getT2();return 2==this.parametersNumber&&(t=eh.findPrimitiveNumberType(e.getArguments()?.get(rx)).getT2()),new G([C.outputOf(new Map([[rP,this.mathFunction.call(this,r,t)]]))])}}let rv="value";class rb extends ei{static #e=(()=>{this.SIGNATURE=new D("Hypotenuse").setNamespace(E.MATH).setParameters(new Map([[rv,new I(rv,O.ofNumber(rv)).setVariableArgument(!0)]])).setEvents(new Map([V.outputEventMapEntry(new Map([[rv,new O().setType(g.of(r.DOUBLE)).setName(rv)]]))]))})();constructor(){super()}getSignature(){return rb.SIGNATURE}async internalExecute(e){let t=e.getArguments()?.get(rv);return new G([C.outputOf(new Map([[rv,Math.sqrt(t.reduce((e,t)=>e+=t*t,0))]]))])}}let rV="value",rC=new D("Maximum").setNamespace(E.MATH).setParameters(new Map([[rV,new I(rV,O.ofNumber(rV)).setVariableArgument(!0)]])).setEvents(new Map([V.outputEventMapEntry(new Map([[rV,O.ofNumber(rV)]]))])),r$="value",rG=new D("Minimum").setNamespace(E.MATH).setParameters(new Map([[r$,new I(r$,O.ofNumber(r$)).setVariableArgument(!0)]])).setEvents(new Map([V.outputEventMapEntry(new Map([[r$,O.ofNumber(r$)]]))])),rD="value";class rF extends ei{static #e=(()=>{this.SIGNATURE=new D("Random").setNamespace(E.MATH).setEvents(new Map([V.outputEventMapEntry(v.of(rD,O.ofDouble(rD)))]))})();getSignature(){return rF.SIGNATURE}async internalExecute(e){return new G([C.outputOf(new Map([[rD,Math.random()]]))])}}class rY extends ei{static #e=(()=>{this.MIN_VALUE="minValue"})();static #t=(()=>{this.MAX_VALUE="maxValue"})();static #r=(()=>{this.VALUE="value"})();static #s=(()=>{this.SIGNATURE=new D("RandomFloat").setParameters(v.of(rY.MIN_VALUE,I.of(rY.MIN_VALUE,O.ofFloat(rY.MIN_VALUE).setDefaultValue(0)),rY.MAX_VALUE,I.of(rY.MAX_VALUE,O.ofFloat(rY.MAX_VALUE).setDefaultValue(2147483647)))).setNamespace(E.MATH).setEvents(new Map([V.outputEventMapEntry(v.of(rY.VALUE,O.ofFloat(rY.VALUE)))]))})();getSignature(){return rY.SIGNATURE}async internalExecute(e){let t=e.getArguments()?.get(rY.MIN_VALUE),r=e.getArguments()?.get(rY.MAX_VALUE);return new G([C.outputOf(new Map([[rY.VALUE,Math.random()*(r-t)+t]]))])}}class rB extends ei{static #e=(()=>{this.MIN_VALUE="minValue"})();static #t=(()=>{this.MAX_VALUE="maxValue"})();static #r=(()=>{this.VALUE="value"})();static #s=(()=>{this.SIGNATURE=new D("RandomInt").setParameters(v.of(rB.MIN_VALUE,I.of(rB.MIN_VALUE,O.ofInteger(rB.MIN_VALUE).setDefaultValue(0)),rB.MAX_VALUE,I.of(rB.MAX_VALUE,O.ofInteger(rB.MAX_VALUE).setDefaultValue(2147483647)))).setNamespace(E.MATH).setEvents(new Map([V.outputEventMapEntry(v.of(rB.VALUE,O.ofInteger(rB.VALUE)))]))})();getSignature(){return rB.SIGNATURE}async internalExecute(e){let t=e.getArguments()?.get(rB.MIN_VALUE),r=e.getArguments()?.get(rB.MAX_VALUE);return new G([C.outputOf(new Map([[rB.VALUE,Math.floor(Math.random()*(r-t)+t)]]))])}}let rk={Absolute:new rU("Absolute",e=>Math.abs(e),1,r.INTEGER,r.LONG,r.FLOAT,r.DOUBLE),ACosine:new rU("ArcCosine",e=>Math.acos(e)),ASine:new rU("ArcSine",e=>Math.asin(e)),ATangent:new rU("ArcTangent",e=>Math.atan(e)),Ceiling:new rU("Ceiling",e=>Math.ceil(e)),Cosine:new rU("Cosine",e=>Math.cos(e)),CosineH:new rU("HyperbolicCosine",e=>Math.cosh(e)),CubeRoot:new rU("CubeRoot",e=>Math.cbrt(e)),Exponential:new rU("Exponential",e=>Math.exp(e)),Expm1:new rU("ExponentialMinus1",e=>Math.expm1(e)),Floor:new rU("Floor",e=>Math.floor(e)),Log:new rU("LogNatural",e=>Math.log(e)),Log10:new rU("Log10",e=>Math.log10(e)),Round:new rU("Round",e=>Math.round(e),1,r.INTEGER,r.LONG),Sine:new rU("Sine",e=>Math.sin(e)),SineH:new rU("HyperbolicSine",e=>Math.sinh(e)),Tangent:new rU("Tangent",e=>Math.tan(e)),TangentH:new rU("HyperbolicTangent",e=>Math.tanh(e)),ToDegrees:new rU("ToDegrees",e=>e*(Math.PI/180)),ToRadians:new rU("ToRadians",e=>e*(180/Math.PI)),SquareRoot:new rU("SquareRoot",e=>Math.sqrt(e)),ArcTangent:new rU("ArcTangent2",(e,t)=>Math.atan2(e,t),2),Power:new rU("Power",(e,t)=>Math.pow(e,t),2),Add:new class extends ei{getSignature(){return rI}async internalExecute(e){let t=e.getArguments()?.get(rw);return new G([C.outputOf(new Map([[rw,t.reduce((e,t)=>e+=t,0)]]))])}},Hypotenuse:new rb,Maximum:new class extends ei{getSignature(){return rC}async internalExecute(e){let t=e.getArguments()?.get(rV);return new G([C.outputOf(new Map([[rV,t.reduce((e,t)=>!e&&0!==e||t>e?t:e)]]))])}},Minimum:new class extends ei{getSignature(){return rG}async internalExecute(e){let t=e.getArguments()?.get(r$);return new G([C.outputOf(new Map([[r$,t.reduce((e,t)=>!e&&0!==e||t<e?t:e)]]))])}},Random:new rF,RandomFloat:new rY,RandomInt:new rB},rH=Object.values(rk).map(e=>e.getSignature().getFullName());class rj{async find(e,t){return e!=E.MATH?Promise.resolve(void 0):Promise.resolve(rk[t])}async filter(e){return Promise.resolve(rH.filter(t=>-1!==t.toLowerCase().indexOf(e.toLowerCase())))}}let rX="value",rW="source",rq="source";class rJ extends ei{constructor(e,t){super(),this.signature=new D(e).setNamespace(E.SYSTEM_OBJECT).setParameters(new Map([I.ofEntry(rq,O.ofAny(rq))])).setEvents(new Map([V.outputEventMapEntry(new Map([["value",t]]))]))}getSignature(){return this.signature}}let rz="value",rK="value",rQ="value",rZ="source",r0="overwrite",r1="deleteKeyOnNull",r2="value",r5={ObjectValues:new class extends rJ{constructor(){super("ObjectValues",O.ofArray(r2,O.ofAny(r2)))}async internalExecute(e){var t=e.getArguments()?.get("source");if(u(t))return new G([C.outputOf(new Map([[r2,[]]]))]);let r=Object.entries(em(t)).sort((e,t)=>e[0].localeCompare(t[0])).map(e=>e[1]);return new G([C.outputOf(new Map([[r2,r]]))])}},ObjectKeys:new class extends rJ{constructor(){super("ObjectKeys",O.ofArray(rK,O.ofString(rK)))}async internalExecute(e){var t=e.getArguments()?.get("source");if(u(t))return new G([C.outputOf(new Map([[rK,[]]]))]);let r=Object.keys(em(t)).sort((e,t)=>e.localeCompare(t));return new G([C.outputOf(new Map([[rK,r]]))])}},ObjectEntries:new class extends rJ{constructor(){super("ObjectEntries",O.ofArray(rz,O.ofArray("tuple",O.ofString("key"),O.ofAny("value"))))}async internalExecute(e){var t=e.getArguments()?.get("source");if(u(t))return new G([C.outputOf(new Map([[rz,[]]]))]);let r=Object.entries(em(t)).sort((e,t)=>e[0].localeCompare(t[0]));return new G([C.outputOf(new Map([[rz,r]]))])}},ObjectDeleteKey:new class extends ei{constructor(){super(),this.signature=new D("ObjectDeleteKey").setNamespace(E.SYSTEM_OBJECT).setParameters(new Map([I.ofEntry(rW,O.ofAny(rW)),I.ofEntry("key",O.ofString("key"))])).setEvents(new Map([V.outputEventMapEntry(new Map([[rX,O.ofAny(rX)]]))]))}getSignature(){return this.signature}async internalExecute(e){let t=e.getArguments()?.get(rW),r=e.getArguments()?.get("key");return u(t)?new G([C.outputOf(new Map([[rX,void 0]]))]):(t=em(t),delete t[r],new G([C.outputOf(new Map([[rX,t]]))]))}},ObjectPutValue:new class extends ei{constructor(){super(),this.signature=new D("ObjectPutValue").setNamespace(E.SYSTEM_OBJECT).setParameters(new Map([I.ofEntry(rZ,O.ofObject(rZ)),I.ofEntry("key",O.ofString("key")),I.ofEntry(rQ,O.ofAny(rQ)),I.ofEntry(r0,O.ofBoolean(r0).setDefaultValue(!0)),I.ofEntry(r1,O.ofBoolean(r1).setDefaultValue(!1))])).setEvents(new Map([V.outputEventMapEntry(new Map([[rQ,O.ofObject(rQ)]]))]))}getSignature(){return this.signature}async internalExecute(e){let t=e.getArguments()?.get(rZ),r=e.getArguments()?.get("key"),s=e.getArguments()?.get(rQ),n=e.getArguments()?.get(r0),a=e.getArguments()?.get(r1),i=new eH(t,"Data.");return i.setValue(r,s,n,a),new G([C.outputOf(new Map([[rQ,i.getStore()]]))])}}},r7=Object.values(r5).map(e=>e.getSignature().getFullName());class r4{async find(e,t){return e!=E.SYSTEM_OBJECT?Promise.resolve(void 0):Promise.resolve(r5[t])}async filter(e){return Promise.resolve(r7.filter(t=>-1!==t.toLowerCase().indexOf(e.toLowerCase())))}}class r6 extends ei{static #e=(()=>{this.VALUES="values"})();static #t=(()=>{this.SIGNATURE=new D("Print").setNamespace(E.SYSTEM).setParameters(new Map([I.ofEntry(r6.VALUES,O.ofAny(r6.VALUES),!0)]))})();getSignature(){return r6.SIGNATURE}async internalExecute(e){var t=e.getArguments()?.get(r6.VALUES);return console?.log(...t),new G([C.outputOf(new Map)])}}class r9 extends ei{static #e=(()=>{this.PARAMETER_STRING_NAME="string"})();static #t=(()=>{this.PARAMETER_SEARCH_STRING_NAME="searchString"})();static #r=(()=>{this.PARAMETER_SECOND_STRING_NAME="secondString"})();static #s=(()=>{this.PARAMETER_THIRD_STRING_NAME="thirdString"})();static #n=(()=>{this.PARAMETER_INDEX_NAME="index"})();static #a=(()=>{this.PARAMETER_SECOND_INDEX_NAME="secondIndex"})();static #i=(()=>{this.EVENT_RESULT_NAME="result"})();static #o=(()=>{this.PARAMETER_STRING=new I(r9.PARAMETER_STRING_NAME,O.ofString(r9.PARAMETER_STRING_NAME))})();static #E=(()=>{this.PARAMETER_SECOND_STRING=new I(r9.PARAMETER_SECOND_STRING_NAME,O.ofString(r9.PARAMETER_SECOND_STRING_NAME))})();static #u=(()=>{this.PARAMETER_THIRD_STRING=new I(r9.PARAMETER_THIRD_STRING_NAME,O.ofString(r9.PARAMETER_THIRD_STRING_NAME))})();static #A=(()=>{this.PARAMETER_INDEX=new I(r9.PARAMETER_INDEX_NAME,O.ofInteger(r9.PARAMETER_INDEX_NAME))})();static #c=(()=>{this.PARAMETER_SECOND_INDEX=new I(r9.PARAMETER_SECOND_INDEX_NAME,O.ofInteger(r9.PARAMETER_SECOND_INDEX_NAME))})();static #l=(()=>{this.PARAMETER_SEARCH_STRING=new I(r9.PARAMETER_SEARCH_STRING_NAME,O.ofString(r9.PARAMETER_STRING_NAME))})();static #h=(()=>{this.EVENT_STRING=new V(V.OUTPUT,v.of(r9.EVENT_RESULT_NAME,O.ofString(r9.EVENT_RESULT_NAME)))})();static #g=(()=>{this.EVENT_BOOLEAN=new V(V.OUTPUT,v.of(r9.EVENT_RESULT_NAME,O.ofBoolean(r9.EVENT_RESULT_NAME)))})();static #p=(()=>{this.EVENT_INT=new V(V.OUTPUT,v.of(r9.EVENT_RESULT_NAME,O.ofInteger(r9.EVENT_RESULT_NAME)))})();static #R=(()=>{this.EVENT_ARRAY=new V(V.OUTPUT,v.of(r9.EVENT_RESULT_NAME,O.ofArray(r9.EVENT_RESULT_NAME)))})();constructor(e,t,r,...s){super();let n=new Map;s.forEach(e=>n.set(e.getParameterName(),e)),this.signature=new D(t).setNamespace(e).setParameters(n).setEvents(v.of(r.getName(),r))}getSignature(){return this.signature}static ofEntryAsStringBooleanOutput(e,t){return[e,new class extends r9{constructor(e,t,r,...s){super(e,t,r,...s)}async internalExecute(e){let r=e?.getArguments()?.get(r9.PARAMETER_STRING_NAME),s=e?.getArguments()?.get(r9.PARAMETER_SEARCH_STRING_NAME);return new G([C.outputOf(v.of(r9.EVENT_RESULT_NAME,t(r,s)))])}}(E.STRING,e,r9.EVENT_BOOLEAN,r9.PARAMETER_STRING,r9.PARAMETER_SEARCH_STRING)]}static ofEntryAsStringAndIntegerStringOutput(e,t){return[e,new class extends r9{constructor(e,t,r,...s){super(e,t,r,...s)}async internalExecute(e){let r=e?.getArguments()?.get(r9.PARAMETER_STRING_NAME),s=e?.getArguments()?.get(r9.PARAMETER_INDEX_NAME);return new G([C.outputOf(v.of(r9.EVENT_RESULT_NAME,t(r,s)))])}}(E.STRING,e,r9.EVENT_STRING,r9.PARAMETER_STRING,r9.PARAMETER_INDEX)]}static ofEntryAsStringIntegerOutput(e,t){return[e,new class extends r9{constructor(e,t,r,...s){super(e,t,r,...s)}async internalExecute(e){let r=e?.getArguments()?.get(r9.PARAMETER_STRING_NAME),s=e?.getArguments()?.get(r9.PARAMETER_SEARCH_STRING_NAME);return new G([C.outputOf(v.of(r9.EVENT_RESULT_NAME,t(r,s)))])}}(E.STRING,e,r9.EVENT_INT,r9.PARAMETER_STRING,r9.PARAMETER_SEARCH_STRING)]}static ofEntryString(e,t){return[e,new class extends r9{constructor(e,t,r,...s){super(e,t,r,...s)}async internalExecute(e){let r=e?.getArguments()?.get(r9.PARAMETER_STRING_NAME);return new G([C.outputOf(v.of(r9.EVENT_RESULT_NAME,t(r)))])}}(E.STRING,e,r9.EVENT_STRING,r9.PARAMETER_STRING)]}static ofEntryStringBooleanOutput(e,t){return[e,new class extends r9{constructor(e,t,r,...s){super(e,t,r,...s)}async internalExecute(e){let r=e?.getArguments()?.get(r9.PARAMETER_STRING_NAME);return new G([C.outputOf(v.of(r9.EVENT_RESULT_NAME,t(r)))])}}(E.STRING,e,r9.EVENT_BOOLEAN,r9.PARAMETER_STRING)]}static ofEntryAsStringStringIntegerIntegerOutput(e,t){return[e,new class extends r9{constructor(e,t,r,...s){super(e,t,r,...s)}async internalExecute(e){let r=e?.getArguments()?.get(r9.PARAMETER_STRING_NAME),s=e?.getArguments()?.get(r9.PARAMETER_SEARCH_STRING_NAME),n=e?.getArguments()?.get(r9.PARAMETER_INDEX_NAME);return new G([C.outputOf(v.of(r9.EVENT_RESULT_NAME,t(r,s,n)))])}}(E.STRING,e,r9.EVENT_INT,r9.PARAMETER_STRING,r9.PARAMETER_SEARCH_STRING,r9.PARAMETER_INDEX)]}static ofEntryAsStringIntegerIntegerStringOutput(e,t){return[e,new class extends r9{constructor(e,t,r,...s){super(e,t,r,...s)}async internalExecute(e){let r=e?.getArguments()?.get(r9.PARAMETER_STRING_NAME),s=e?.getArguments()?.get(r9.PARAMETER_INDEX_NAME),n=e?.getArguments()?.get(r9.PARAMETER_SECOND_INDEX_NAME);return new G([C.outputOf(v.of(r9.EVENT_RESULT_NAME,t(r,s,n)))])}}(E.STRING,e,r9.EVENT_INT,r9.PARAMETER_STRING,r9.PARAMETER_INDEX,r9.PARAMETER_SECOND_INDEX)]}static ofEntryAsStringStringStringStringOutput(e,t){return[e,new class extends r9{constructor(e,t,r,...s){super(e,t,r,...s)}async internalExecute(e){let r=e?.getArguments()?.get(r9.PARAMETER_STRING_NAME),s=e?.getArguments()?.get(r9.PARAMETER_SECOND_STRING_NAME),n=e?.getArguments()?.get(r9.PARAMETER_THIRD_STRING_NAME);return new G([C.outputOf(v.of(r9.EVENT_RESULT_NAME,t(r,s,n)))])}}(E.STRING,e,r9.EVENT_STRING,r9.PARAMETER_STRING,r9.PARAMETER_SECOND_STRING,r9.PARAMETER_THIRD_STRING)]}}class r8 extends ei{static #e=(()=>{this.VALUE="value"})();static #t=(()=>{this.SCHEMA=new O().setName(r8.VALUE).setType(new h(r.STRING))})();static #r=(()=>{this.SIGNATURE=new D("Concatenate").setNamespace(E.STRING).setParameters(new Map([[r8.VALUE,new I(r8.VALUE,r8.SCHEMA).setVariableArgument(!0)]])).setEvents(new Map([V.outputEventMapEntry(new Map([[r8.VALUE,O.ofString(r8.VALUE)]]))]))})();constructor(){super()}getSignature(){return r8.SIGNATURE}async internalExecute(e){let t=e.getArguments()?.get(r8.VALUE),r="";return t.reduce((e,t)=>r=e+t,r),new G([C.outputOf(new Map([[r8.VALUE,r]]))])}}class r3 extends ei{static #e=(()=>{this.PARAMETER_STRING_NAME="string"})();static #t=(()=>{this.PARAMETER_AT_START_NAME="startPosition"})();static #r=(()=>{this.PARAMETER_AT_END_NAME="endPosition"})();static #s=(()=>{this.EVENT_RESULT_NAME="result"})();constructor(){super(),this.PARAMETER_STRING=new I(r3.PARAMETER_STRING_NAME,O.ofString(r3.PARAMETER_STRING_NAME)),this.PARAMETER_AT_START=new I(r3.PARAMETER_AT_START_NAME,O.ofInteger(r3.PARAMETER_AT_START_NAME)),this.PARAMETER_AT_END=new I(r3.PARAMETER_AT_END_NAME,O.ofInteger(r3.PARAMETER_AT_END_NAME)),this.EVENT_STRING=new V(V.OUTPUT,new Map([[r3.EVENT_RESULT_NAME,O.ofString(r3.EVENT_RESULT_NAME)]])),this.signature=new D("DeleteForGivenLength").setNamespace(E.STRING).setParameters(new Map([[this.PARAMETER_STRING.getParameterName(),this.PARAMETER_STRING],[this.PARAMETER_AT_START.getParameterName(),this.PARAMETER_AT_START],[this.PARAMETER_AT_END.getParameterName(),this.PARAMETER_AT_END]])).setEvents(new Map([[this.EVENT_STRING.getName(),this.EVENT_STRING]]))}getSignature(){return this.signature}async internalExecute(e){let t=e?.getArguments()?.get(r3.PARAMETER_STRING_NAME),r=e?.getArguments()?.get(r3.PARAMETER_AT_START_NAME),s=e?.getArguments()?.get(r3.PARAMETER_AT_END_NAME);if(s>=r){let e="";return e+=t.substring(0,r)+t.substring(s),new G([C.outputOf(new Map([[r3.EVENT_RESULT_NAME,e.toString()]]))])}return new G([C.outputOf(new Map([[r3.EVENT_RESULT_NAME,t]]))])}}class se extends ei{static #e=(()=>{this.PARAMETER_STRING_NAME="string"})();static #t=(()=>{this.PARAMETER_AT_POSITION_NAME="position"})();static #r=(()=>{this.PARAMETER_INSERT_STRING_NAME="insertString"})();getSignature(){return this.signature}async internalExecute(e){let t=e?.getArguments()?.get(se.PARAMETER_STRING_NAME),r=e?.getArguments()?.get(se.PARAMETER_AT_POSITION_NAME),s=e?.getArguments()?.get(se.PARAMETER_INSERT_STRING_NAME),n="";return n+=t.substring(0,r)+s+t.substring(r),new G([C.outputOf(new Map([[this.EVENT_RESULT_NAME,n]]))])}constructor(...e){super(...e),this.EVENT_RESULT_NAME="result",this.PARAMETER_STRING=new I(se.PARAMETER_STRING_NAME,O.ofString(se.PARAMETER_STRING_NAME)),this.PARAMETER_AT_POSITION=new I(se.PARAMETER_AT_POSITION_NAME,O.ofInteger(se.PARAMETER_AT_POSITION_NAME)),this.PARAMETER_INSERT_STRING=new I(se.PARAMETER_INSERT_STRING_NAME,O.ofString(se.PARAMETER_INSERT_STRING_NAME)),this.EVENT_STRING=new V(V.OUTPUT,new Map([[this.EVENT_RESULT_NAME,O.ofString(this.EVENT_RESULT_NAME)]])),this.signature=new D("InsertAtGivenPosition").setNamespace(E.STRING).setParameters(new Map([[this.PARAMETER_STRING.getParameterName(),this.PARAMETER_STRING],[this.PARAMETER_AT_POSITION.getParameterName(),this.PARAMETER_AT_POSITION],[this.PARAMETER_INSERT_STRING.getParameterName(),this.PARAMETER_INSERT_STRING]])).setEvents(new Map([V.outputEventMapEntry(new Map([[this.EVENT_RESULT_NAME,O.ofString(this.EVENT_RESULT_NAME)]]))]))}}class st extends ei{static #e=(()=>{this.PARAMETER_REGEX_NAME="regex"})();static #t=(()=>{this.PARAMETER_STRING_NAME="string"})();static #r=(()=>{this.EVENT_RESULT_NAME="result"})();static #s=(()=>{this.signature=new D("Matches").setNamespace(E.STRING).setParameters(v.ofEntries(v.entry(...I.ofEntry(st.PARAMETER_REGEX_NAME,O.ofString(st.PARAMETER_REGEX_NAME))),v.entry(...I.ofEntry(st.PARAMETER_STRING_NAME,O.ofString(st.PARAMETER_STRING_NAME))))).setEvents(v.ofEntries(v.entry(...V.outputEventMapEntry(new Map([[st.EVENT_RESULT_NAME,O.ofBoolean(st.EVENT_RESULT_NAME)]])))))})();getSignature(){return st.signature}async internalExecute(e){let t=e.getArguments()?.get(st.PARAMETER_REGEX_NAME),r=e.getArguments()?.get(st.PARAMETER_STRING_NAME);return new G([C.outputOf(new Map([[st.EVENT_RESULT_NAME,!!r.match(t)?.length]]))])}}class sr extends ei{static #e=(()=>{this.PARAMETER_STRING_NAME="string"})();static #t=(()=>{this.PARAMETER_POSTPAD_STRING_NAME="postpadString"})();static #r=(()=>{this.PARAMETER_LENGTH_NAME="length"})();static #s=(()=>{this.EVENT_RESULT_NAME="result"})();static #n=(()=>{this.PARAMETER_STRING=new I(sr.PARAMETER_STRING_NAME,O.ofString(sr.PARAMETER_STRING_NAME))})();static #a=(()=>{this.PARAMETER_POSTPAD_STRING=new I(sr.PARAMETER_POSTPAD_STRING_NAME,O.ofString(sr.PARAMETER_POSTPAD_STRING_NAME))})();static #i=(()=>{this.PARAMETER_LENGTH=new I(sr.PARAMETER_LENGTH_NAME,O.ofInteger(sr.PARAMETER_LENGTH_NAME))})();static #o=(()=>{this.EVENT_STRING=new V(V.OUTPUT,new Map([[sr.EVENT_RESULT_NAME,O.ofString(sr.EVENT_RESULT_NAME)]]))})();constructor(){super(),this.signature=new D("PostPad").setNamespace(E.STRING).setParameters(new Map([[sr.PARAMETER_STRING.getParameterName(),sr.PARAMETER_STRING],[sr.PARAMETER_POSTPAD_STRING.getParameterName(),sr.PARAMETER_POSTPAD_STRING],[sr.PARAMETER_LENGTH.getParameterName(),sr.PARAMETER_LENGTH]])).setEvents(new Map([[sr.EVENT_STRING.getName(),sr.EVENT_STRING]]))}getSignature(){return this.signature}async internalExecute(e){let t=e.getArguments()?.get(sr.PARAMETER_STRING_NAME),r=e?.getArguments()?.get(sr.PARAMETER_POSTPAD_STRING_NAME),s=e.getArguments()?.get(sr.PARAMETER_LENGTH_NAME),n="",a=r.length;for(n+=t;a<=s;)n+=r,a+=r.length;return n.length-t.length<s&&(n+=r.substring(0,s-(n.length-t.length))),new G([C.outputOf(new Map([[sr.EVENT_RESULT_NAME,n.toString()]]))])}}class ss extends ei{static #e=(()=>{this.PARAMETER_STRING_NAME="string"})();static #t=(()=>{this.PARAMETER_PREPAD_STRING_NAME="prepadString"})();static #r=(()=>{this.PARAMETER_LENGTH_NAME="length"})();static #s=(()=>{this.EVENT_RESULT_NAME="result"})();static #n=(()=>{this.PARAMETER_STRING=new I(ss.PARAMETER_STRING_NAME,O.ofString(ss.PARAMETER_STRING_NAME))})();static #a=(()=>{this.PARAMETER_PREPAD_STRING=new I(ss.PARAMETER_PREPAD_STRING_NAME,O.ofString(ss.PARAMETER_PREPAD_STRING_NAME))})();static #i=(()=>{this.PARAMETER_LENGTH=new I(ss.PARAMETER_LENGTH_NAME,O.ofInteger(ss.PARAMETER_LENGTH_NAME))})();static #o=(()=>{this.EVENT_STRING=new V(V.OUTPUT,new Map([[ss.EVENT_RESULT_NAME,O.ofString(ss.EVENT_RESULT_NAME)]]))})();getSignature(){return this.signature}constructor(){super(),this.signature=new D("PrePad").setNamespace(E.STRING).setParameters(new Map([[ss.PARAMETER_STRING.getParameterName(),ss.PARAMETER_STRING],[ss.PARAMETER_PREPAD_STRING.getParameterName(),ss.PARAMETER_PREPAD_STRING],[ss.PARAMETER_LENGTH.getParameterName(),ss.PARAMETER_LENGTH]])).setEvents(new Map([[ss.EVENT_STRING.getName(),ss.EVENT_STRING]]))}async internalExecute(e){let t=e.getArguments()?.get(ss.PARAMETER_STRING_NAME),r=e.getArguments()?.get(ss.PARAMETER_PREPAD_STRING_NAME),s=e.getArguments()?.get(ss.PARAMETER_LENGTH_NAME),n="",a=r.length;for(;a<=s;)n+=r,a+=r.length;return n.length<s&&(n+=r.substring(0,s-n.length)),n+=t,new G([C.outputOf(new Map([[ss.EVENT_RESULT_NAME,n]]))])}}class sn extends ei{static #e=(()=>{this.PARAMETER_STRING_NAME="string"})();static #t=(()=>{this.PARAMETER_BOOLEAN_NAME="boolean"})();static #r=(()=>{this.PARAMETER_FIRST_OFFSET_NAME="firstOffset"})();static #s=(()=>{this.PARAMETER_OTHER_STRING_NAME="otherString"})();static #n=(()=>{this.PARAMETER_SECOND_OFFSET_NAME="secondOffset"})();static #a=(()=>{this.PARAMETER_INTEGER_NAME="length"})();static #i=(()=>{this.EVENT_RESULT_NAME="result"})();static #o=(()=>{this.PARAMETER_STRING=new I(sn.PARAMETER_STRING_NAME,O.ofString(sn.PARAMETER_STRING_NAME))})();static #E=(()=>{this.PARAMETER_OTHER_STRING=new I(sn.PARAMETER_OTHER_STRING_NAME,O.ofString(sn.PARAMETER_OTHER_STRING_NAME))})();static #u=(()=>{this.PARAMETER_FIRST_OFFSET=new I(sn.PARAMETER_FIRST_OFFSET_NAME,O.ofInteger(sn.PARAMETER_FIRST_OFFSET_NAME))})();static #A=(()=>{this.PARAMETER_SECOND_OFFSET=new I(sn.PARAMETER_SECOND_OFFSET_NAME,O.ofInteger(sn.PARAMETER_SECOND_OFFSET_NAME))})();static #c=(()=>{this.PARAMETER_INTEGER=new I(sn.PARAMETER_INTEGER_NAME,O.ofInteger(sn.PARAMETER_INTEGER_NAME))})();static #l=(()=>{this.PARAMETER_BOOLEAN=new I(sn.PARAMETER_BOOLEAN_NAME,O.ofBoolean(sn.PARAMETER_BOOLEAN_NAME))})();static #h=(()=>{this.EVENT_BOOLEAN=new V(V.OUTPUT,new Map([[sn.EVENT_RESULT_NAME,O.ofBoolean(sn.EVENT_RESULT_NAME)]]))})();getSignature(){return this.signature}constructor(){super(),this.signature=new D("RegionMatches").setNamespace(E.STRING).setParameters(new Map([[sn.PARAMETER_STRING.getParameterName(),sn.PARAMETER_STRING],[sn.PARAMETER_BOOLEAN.getParameterName(),sn.PARAMETER_BOOLEAN],[sn.PARAMETER_FIRST_OFFSET.getParameterName(),sn.PARAMETER_FIRST_OFFSET],[sn.PARAMETER_OTHER_STRING.getParameterName(),sn.PARAMETER_OTHER_STRING],[sn.PARAMETER_SECOND_OFFSET.getParameterName(),sn.PARAMETER_SECOND_OFFSET],[sn.PARAMETER_INTEGER.getParameterName(),sn.PARAMETER_INTEGER]])).setEvents(new Map([[sn.EVENT_BOOLEAN.getName(),sn.EVENT_BOOLEAN]]))}async internalExecute(e){let t=e.getArguments()?.get(sn.PARAMETER_STRING_NAME),r=e.getArguments()?.get(sn.PARAMETER_BOOLEAN_NAME),s=e.getArguments()?.get(sn.PARAMETER_FIRST_OFFSET_NAME),n=e?.getArguments()?.get(sn.PARAMETER_OTHER_STRING_NAME),a=e?.getArguments()?.get(sn.PARAMETER_SECOND_OFFSET_NAME),i=e.getArguments()?.get(sn.PARAMETER_INTEGER_NAME),o=!1;return o=!(s<0)&&!(a<0)&&!(s+i>t.length)&&!(a+i>n.length)&&(r?(t=t.substring(s,s+i).toUpperCase())==n.substring(a,a+i).toUpperCase():(t=t.substring(s,s+i))==n.substring(a,i)),new G([C.outputOf(new Map([[sn.EVENT_RESULT_NAME,o]]))])}}class sa extends ei{static #e=(()=>{this.PARAMETER_STRING_NAME="string"})();static #t=(()=>{this.PARAMETER_AT_START_NAME="startPosition"})();static #r=(()=>{this.PARAMETER_AT_LENGTH_NAME="lengthPosition"})();static #s=(()=>{this.PARAMETER_REPLACE_STRING_NAME="replaceString"})();static #n=(()=>{this.EVENT_RESULT_NAME="result"})();static #a=(()=>{this.PARAMETER_STRING=new I(sa.PARAMETER_STRING_NAME,O.ofString(sa.PARAMETER_STRING_NAME))})();static #i=(()=>{this.PARAMETER_AT_START=new I(sa.PARAMETER_AT_START_NAME,O.ofInteger(sa.PARAMETER_AT_START_NAME))})();static #o=(()=>{this.PARAMETER_AT_LENGTH=new I(sa.PARAMETER_AT_LENGTH_NAME,O.ofInteger(sa.PARAMETER_AT_LENGTH_NAME))})();static #E=(()=>{this.PARAMETER_REPLACE_STRING=new I(sa.PARAMETER_REPLACE_STRING_NAME,O.ofString(sa.PARAMETER_REPLACE_STRING_NAME))})();static #u=(()=>{this.EVENT_STRING=new V(V.OUTPUT,new Map([[sa.EVENT_RESULT_NAME,O.ofString(sa.EVENT_RESULT_NAME)]]))})();constructor(){super(),this.signature=new D("ReplaceAtGivenPosition").setNamespace(E.STRING).setParameters(new Map([[sa.PARAMETER_STRING.getParameterName(),sa.PARAMETER_STRING],[sa.PARAMETER_AT_START.getParameterName(),sa.PARAMETER_AT_START],[sa.PARAMETER_AT_LENGTH.getParameterName(),sa.PARAMETER_AT_LENGTH],[sa.PARAMETER_REPLACE_STRING.getParameterName(),sa.PARAMETER_REPLACE_STRING]])).setEvents(new Map([[sa.EVENT_STRING.getName(),sa.EVENT_STRING]]))}getSignature(){return this.signature}async internalExecute(e){let t=e?.getArguments()?.get(sa.PARAMETER_STRING_NAME),r=e?.getArguments()?.get(sa.PARAMETER_AT_START_NAME),s=e?.getArguments()?.get(sa.PARAMETER_AT_LENGTH_NAME);return e?.getArguments()?.get(sa.PARAMETER_REPLACE_STRING_NAME),t.length,r<s&&(t.substring(0,r),t.substring(r+s)),new G([C.outputOf(new Map([[sa.EVENT_RESULT_NAME,t]]))])}}class si extends ei{constructor(){super(),this.VALUE="value",this.SIGNATURE=new D("Reverse").setNamespace(E.STRING).setParameters(new Map([[this.VALUE,new I(this.VALUE,O.ofString(this.VALUE)).setVariableArgument(!1)]])).setEvents(new Map([V.outputEventMapEntry(new Map([[this.VALUE,new O().setType(g.of(r.STRING)).setName(this.VALUE)]]))]))}getSignature(){return this.SIGNATURE}async internalExecute(e){let t=e.getArguments()?.get(this.VALUE),r=t.length-1,s="";for(;r>=0;)s+=t.charAt(r--);return new G([C.outputOf(v.of(this.VALUE,s))])}}class so extends ei{getSignature(){return new D("Split").setNamespace(E.STRING).setParameters(new Map([[this.PARAMETER_STRING_NAME,this.PARAMETER_STRING],[this.PARAMETER_SPLIT_STRING_NAME,this.PARAMETER_SPLIT_STRING]])).setEvents(new Map([V.outputEventMapEntry(new Map([[this.EVENT_RESULT_NAME,O.ofArray(this.EVENT_RESULT_NAME)]]))]))}constructor(){super(),this.PARAMETER_STRING_NAME="string",this.PARAMETER_SPLIT_STRING_NAME="searchString",this.EVENT_RESULT_NAME="result",this.PARAMETER_STRING=new I(this.PARAMETER_STRING_NAME,O.ofString(this.PARAMETER_STRING_NAME)),this.PARAMETER_SPLIT_STRING=new I(this.PARAMETER_SPLIT_STRING_NAME,O.ofString(this.PARAMETER_SPLIT_STRING_NAME)),this.EVENT_ARRAY=new V(V.OUTPUT,v.of(this.EVENT_RESULT_NAME,O.ofArray(this.EVENT_RESULT_NAME)))}async internalExecute(e){let t=e.getArguments()?.get(this.PARAMETER_STRING_NAME),r=e.getArguments()?.get(this.PARAMETER_SPLIT_STRING_NAME);return new G([C.outputOf(v.of(this.EVENT_RESULT_NAME,t.split(r)))])}}class sE extends ei{getSignature(){return new D("ToString").setNamespace(E.STRING).setParameters(new Map([[this.PARAMETER_INPUT_ANYTYPE.getParameterName(),this.PARAMETER_INPUT_ANYTYPE]])).setEvents(new Map([[this.EVENT_STRING.getName(),this.EVENT_STRING]]))}constructor(){super(),this.PARAMETER_INPUT_ANYTYPE_NAME="anytype",this.EVENT_RESULT_NAME="result",this.PARAMETER_INPUT_ANYTYPE=new I(this.PARAMETER_INPUT_ANYTYPE_NAME,O.ofAny(this.PARAMETER_INPUT_ANYTYPE_NAME)),this.EVENT_STRING=new V(V.OUTPUT,new Map([[this.EVENT_RESULT_NAME,O.ofString(this.EVENT_RESULT_NAME)]]))}async internalExecute(e){let t=e.getArguments()?.get(this.PARAMETER_INPUT_ANYTYPE_NAME),r="";return r="object"==typeof t?JSON.stringify(t,void 0,2):""+t,new G([C.outputOf(new Map([[this.EVENT_RESULT_NAME,r]]))])}}class su extends ei{static #e=(()=>{this.PARAMETER_STRING_NAME="string"})();static #t=(()=>{this.PARAMETER_LENGTH_NAME="length"})();static #r=(()=>{this.EVENT_RESULT_NAME="result"})();static #s=(()=>{this.PARAMETER_STRING=new I(su.PARAMETER_STRING_NAME,O.ofString(su.PARAMETER_STRING_NAME))})();static #n=(()=>{this.PARAMETER_LENGTH=new I(su.PARAMETER_LENGTH_NAME,O.ofInteger(su.PARAMETER_LENGTH_NAME))})();static #a=(()=>{this.EVENT_STRING=new V(V.OUTPUT,new Map([[su.EVENT_RESULT_NAME,O.ofString(su.EVENT_RESULT_NAME)]]))})();getSignature(){return this.signature}constructor(){super(),this.signature=new D("TrimTo").setNamespace(E.STRING).setParameters(new Map([[su.PARAMETER_STRING.getParameterName(),su.PARAMETER_STRING],[su.PARAMETER_LENGTH.getParameterName(),su.PARAMETER_LENGTH]])).setEvents(new Map([[su.EVENT_STRING.getName(),su.EVENT_STRING]]))}async internalExecute(e){let t=e.getArguments()?.get(su.PARAMETER_STRING_NAME),r=e.getArguments()?.get(su.PARAMETER_LENGTH_NAME);return new G([C.outputOf(new Map([[su.EVENT_RESULT_NAME,t.substring(0,r)]]))])}}class sA{static #e=(()=>{this.repoMap=v.ofArrayEntries(r9.ofEntryString("Trim",e=>e.trim()),r9.ofEntryString("LowerCase",e=>e.toLocaleLowerCase()),r9.ofEntryString("UpperCase",e=>e.toUpperCase()),r9.ofEntryStringBooleanOutput("IsBlank",e=>""===e.trim()),r9.ofEntryStringBooleanOutput("IsEmpty",e=>""===e),r9.ofEntryAsStringBooleanOutput("Contains",(e,t)=>-1!=e.indexOf(t)),r9.ofEntryAsStringBooleanOutput("EndsWith",(e,t)=>e.endsWith(t)),r9.ofEntryAsStringBooleanOutput("StartsWith",(e,t)=>e.startsWith(t)),r9.ofEntryAsStringBooleanOutput("EqualsIgnoreCase",(e,t)=>e.toUpperCase()==t.toUpperCase()),r9.ofEntryAsStringBooleanOutput("Matches",(e,t)=>new RegExp(t).test(e)),r9.ofEntryAsStringIntegerOutput("IndexOf",(e,t)=>e.indexOf(t)),r9.ofEntryAsStringIntegerOutput("LastIndexOf",(e,t)=>e.lastIndexOf(t)),r9.ofEntryAsStringAndIntegerStringOutput("Repeat",(e,t)=>e.repeat(t)),r9.ofEntryAsStringStringIntegerIntegerOutput("IndexOfWithStartPoint",(e,t,r)=>e.indexOf(t,r)),r9.ofEntryAsStringStringIntegerIntegerOutput("LastIndexOfWithStartPoint",(e,t,r)=>e.lastIndexOf(t,r)),r9.ofEntryAsStringStringStringStringOutput("Replace",(e,t,r)=>e.replaceAll(t,r)),r9.ofEntryAsStringStringStringStringOutput("ReplaceFirst",(e,t,r)=>e.replace(t,r)),r9.ofEntryAsStringIntegerIntegerStringOutput("SubString",(e,t,r)=>e.substring(t,r)),L(new r8),L(new r3),L(new se),L(new sr),L(new ss),L(new sn),L(new sa),L(new si),L(new so),L(new sE),L(new su),L(new st))})();static #t=(()=>{this.filterableNames=Array.from(sA.repoMap.values()).map(e=>e.getSignature().getFullName())})();async find(e,t){return e!=E.STRING?Promise.resolve(void 0):Promise.resolve(sA.repoMap.get(t))}async filter(e){return Promise.resolve(sA.filterableNames.filter(t=>-1!==t.toLowerCase().indexOf(e.toLowerCase())))}}class sc extends ei{static #e=(()=>{this.MILLIS="millis"})();static #t=(()=>{this.SIGNATURE=new D("Wait").setNamespace(E.SYSTEM).setParameters(new Map([I.ofEntry(sc.MILLIS,O.ofNumber(sc.MILLIS).setMinimum(0).setDefaultValue(0))])).setEvents(new Map([V.outputEventMapEntry(new Map)]))})();getSignature(){return sc.SIGNATURE}async internalExecute(e){var t=e.getArguments()?.get(sc.MILLIS);return await new Promise(e=>setTimeout(e,t)),new G([C.outputOf(new Map)])}}e({},"HybridRepository",()=>sl);class sl{constructor(...e){this.repos=e}async find(e,t){for(let r of this.repos){let s=await r.find(e,t);if(s)return s}}async filter(e){let t=new Set;for(let r of this.repos)(await r.filter(e)).forEach(e=>t.add(e));return Array.from(t)}}let sh=new Map([[E.SYSTEM_CTX,new Map([L(new class extends ei{getSignature(){return e9}async internalExecute(e){let t=e?.getArguments()?.get(e4);if(e?.getContext()?.has(t))throw new $(F.format("Context already has an element for '$' ",t));let r=O.from(e?.getArguments()?.get(e6));if(!r)throw new $("Schema is not supplied.");return e.getContext().set(t,new e7(r,u(r.getDefaultValue())?void 0:r.getDefaultValue())),new G([C.outputOf(new Map)])}}),L(new class extends ei{getSignature(){return te}async internalExecute(e){let t=e?.getArguments()?.get(e8);if(!e.getContext()?.has(t))throw new $(F.format("Context don't have an element for '$' ",t));return new G([C.outputOf(new Map([e3,e.getContext()?.get(t)?.getElement()]))])}}),L(new class extends ei{getSignature(){return rn}async internalExecute(e){let t=e?.getArguments()?.get(rr);if(H.isNullOrBlank(t))throw new $("Empty string is not a valid name for the context element");let r=e?.getArguments()?.get(rs),s=new eB(t),n=s.getTokens().peekLast();if(!n.getExpression().startsWith("Context")||n instanceof eB||n instanceof eF&&!n.getElement().toString().startsWith("Context"))throw new el(F.format("The context path $ is not a valid path in context",t));for(let e of s.getOperations().toArray())if(e!=eY.ARRAY_OPERATOR&&e!=eY.OBJECT_OPERATOR)throw new el(F.format("Expected a reference to the context location, but found an expression $",t));for(let r=0;r<s.getTokens().size();r++){let n=s.getTokens().get(r);n instanceof eB&&s.getTokens().set(r,new eF(t,new rt(n).evaluate(e.getValuesMap())))}return this.modifyContext(e,t,r,s)}modifyContext(e,t,r,s){let n=s.getTokens();n.removeLast();let a=s.getOperations();a.removeLast();let i=e.getContext()?.get(n.removeLast().getExpression());if(u(i))throw new $(F.format("Context doesn't have any element with name '$' ",t));if(a.isEmpty())return i.setElement(r),new G([C.outputOf(new Map)]);let o=i.getElement(),E=a.removeLast(),A=n.removeLast(),c=A instanceof eF?A.getElement():A.getExpression();for(u(o)&&(o=E==eY.OBJECT_OPERATOR?{}:[],i.setElement(o));!a.isEmpty();)o=E==eY.OBJECT_OPERATOR?this.getDataFromObject(o,c,a.peekLast()):this.getDataFromArray(o,c,a.peekLast()),E=a.removeLast(),c=(A=n.removeLast())instanceof eF?A.getElement():A.getExpression();return E==eY.OBJECT_OPERATOR?this.putDataInObject(o,c,r):this.putDataInArray(o,c,r),new G([C.outputOf(new Map)])}getDataFromArray(e,t,r){if(!Array.isArray(e))throw new $(F.format("Expected an array but found $",e));let s=parseInt(t);if(isNaN(s))throw new $(F.format("Expected an array index but found $",t));if(s<0)throw new $(F.format("Array index is out of bound - $",t));let n=e[s];return u(n)&&(n=r==eY.OBJECT_OPERATOR?{}:[],e[s]=n),n}getDataFromObject(e,t,r){if(Array.isArray(e)||"object"!=typeof e)throw new $(F.format("Expected an object but found $",e));let s=e[t];return u(s)&&(s=r==eY.OBJECT_OPERATOR?{}:[],e[t]=s),s}putDataInArray(e,t,r){if(!Array.isArray(e))throw new $(F.format("Expected an array but found $",e));let s=parseInt(t);if(isNaN(s))throw new $(F.format("Expected an array index but found $",t));if(s<0)throw new $(F.format("Array index is out of bound - $",t));e[s]=r}putDataInObject(e,t,r){if(Array.isArray(e)||"object"!=typeof e)throw new $(F.format("Expected an object but found $",e));e[t]=r}})])],[E.SYSTEM_LOOP,new Map([L(new class extends ei{getSignature(){return rd}async internalExecute(e){let t=e.getArguments()?.get(r_),r=e.getArguments()?.get("to"),s=e.getArguments()?.get(rS),n=s>0,a=t,i=!1,o=e.getStatementExecution()?.getStatement()?.getStatementName();return new G({next(){if(i)return;if(n&&a>=r||!n&&a<=r||o&&e.getExecutionContext()?.get(o))return i=!0,o&&e.getExecutionContext()?.delete(o),C.outputOf(new Map([[rM,a]]));let t=C.of(V.ITERATION,new Map([[rO,a]]));return a+=s,t}})}}),L(new class extends ei{getSignature(){return rp}async internalExecute(e){let t=e.getArguments()?.get(rl),r=0,s=e.getStatementExecution()?.getStatement()?.getStatementName();return new G({next(){if(r>=t||s&&e.getExecutionContext()?.get(s))return s&&e.getExecutionContext()?.delete(s),C.outputOf(new Map([[rh,r]]));let n=C.of(V.ITERATION,new Map([[rg,r]]));return++r,n}})}}),L(new class extends ei{getSignature(){return rc}async internalExecute(e){let t=e.getArguments()?.get(rA);return e.getExecutionContext().set(t,!0),new G([C.outputOf(new Map)])}}),L(new class extends ei{getSignature(){return rN}async internalExecute(e){let t=e.getArguments()?.get(rR),r=0,s=e.getStatementExecution()?.getStatement()?.getStatementName();return new G({next(){if(r>=t.length||s&&e.getExecutionContext()?.get(s))return s&&e.getExecutionContext()?.delete(s),C.outputOf(new Map([[rf,r]]));let n=C.of(V.ITERATION,new Map([[rT,r],[rm,t[r]]]));return++r,n}})}})])],[E.SYSTEM,new Map([L(new ru),L(new class extends ei{getSignature(){return rE}async internalExecute(e){let t=e.getEvents(),r=e.getArguments(),s=r?.get(ri),n=e?.getArguments()?.get(ro).map(t=>{let r=t[ra];if(u(r))throw new $("Expect a value object");let s=r.value;return r.isExpression&&(s=new rt(s).evaluate(e.getValuesMap())),[t.name,s]}).reduce((e,t)=>(e.set(t[0],t[1]),e),new Map);return t?.has(s)||t?.set(s,[]),t?.get(s)?.push(n),new G([C.outputOf(new Map)])}}),L(new r6),L(new sc)])]]),sg=Array.from(sh.values()).flatMap(e=>Array.from(e.values())).map(e=>e.getSignature().getFullName());class sp extends sl{constructor(){super({find:async(e,t)=>sh.get(e)?.get(t),filter:async e=>Array.from(sg).filter(t=>-1!==t.toLowerCase().indexOf(e.toLowerCase()))},new rj,new sA,new e5,new r4)}}e({},"StatementExecution",()=>sm),e({},"StatementMessage",()=>sR);class sR{constructor(e,t){this.message=t,this.messageType=e}getMessageType(){return this.messageType}setMessageType(e){return this.messageType=e,this}getMessage(){return this.message}setMessage(e){return this.message=e,this}toString(){return`${this.messageType} : ${this.message}`}}class sm{constructor(e){this.messages=[],this.dependencies=new Set,this.statement=e}getStatement(){return this.statement}setStatement(e){return this.statement=e,this}getMessages(){return this.messages}setMessages(e){return this.messages=e,this}getDependencies(){return this.dependencies}setDependencies(e){return this.dependencies=e,this}getUniqueKey(){return this.statement.getStatementName()}addMessage(e,t){this.messages.push(new sR(e,t))}addDependency(e){this.dependencies.add(e)}getDepenedencies(){return this.dependencies}equals(e){return e instanceof sm&&e.statement.equals(this.statement)}}e({},"ContextTokenValueExtractor",()=>sT);class sT extends ek{static #e=(()=>{this.PREFIX="Context."})();constructor(e){super(),this.context=e}getValueInternal(e){let t=e.split(ek.REGEX_DOT),r=t[1],s=r.indexOf("["),n=2;return -1!=s&&(r=t[1].substring(0,s),t[1]=t[1].substring(s),n=1),this.retrieveElementFrom(e,t,n,this.context.get(r)?.getElement())}getPrefix(){return sT.PREFIX}getStore(){return u(this.context)?this.context:Array.from(this.context.entries()).reduce((e,[t,r])=>(u(r)||(e[t]=r.getElement()),e),{})}}e({},"OutputMapTokenValueExtractor",()=>sf);class sf extends ek{static #e=(()=>{this.PREFIX="Steps."})();constructor(e){super(),this.output=e}getValueInternal(e){let t=e.split(ek.REGEX_DOT),r=1,s=this.output.get(t[r++]);if(!s||r>=t.length)return;let n=s.get(t[r++]);if(!n||r>t.length)return;if(r===t.length)return n;let a=t[r].indexOf("[");if(-1===a){let s=n.get(t[r++]);return this.retrieveElementFrom(e,t,r,s)}let i=t[r].substring(0,a),o=n.get(i);return this.retrieveElementFrom(e,t,r,{[i]:o})}getPrefix(){return sf.PREFIX}getStore(){return this.convertMapToObj(this.output)}convertMapToObj(e){return 0===e.size?{}:Array.from(e.entries()).reduce((e,[t,r])=>(e[t]=r instanceof Map?this.convertMapToObj(r):r,e),{})}}e({},"ArgumentsTokenValueExtractor",()=>sN);class sN extends ek{static #e=(()=>{this.PREFIX="Arguments."})();constructor(e){super(),this.args=e}getValueInternal(e){let t=e.split(ek.REGEX_DOT),r=t[1],s=r.indexOf("["),n=2;return -1!=s&&(r=t[1].substring(0,s),t[1]=t[1].substring(s),n=1),this.retrieveElementFrom(e,t,n,this.args.get(r))}getPrefix(){return sN.PREFIX}getStore(){return u(this.args)?this.args:Array.from(this.args.entries()).reduce((e,[t,r])=>(e[t]=r,e),{})}}e({},"GraphVertex",()=>sS),e({},"ExecutionGraph",()=>s_);class s_{constructor(e=!1){this.nodeMap=new Map,this.isSubGrph=e}getVerticesData(){return Array.from(this.nodeMap.values()).map(e=>e.getData())}addVertex(e){if(!this.nodeMap.has(e.getUniqueKey())){let t=new sS(this,e);this.nodeMap.set(e.getUniqueKey(),t)}return this.nodeMap.get(e.getUniqueKey())}getVertex(e){return this.nodeMap.get(e)}getVertexData(e){if(this.nodeMap.has(e))return this.nodeMap.get(e).getData()}getVerticesWithNoIncomingEdges(){return Array.from(this.nodeMap.values()).filter(e=>!e.hasIncomingEdges())}isCyclic(){let e,t=new Y(this.getVerticesWithNoIncomingEdges()),r=new Set;for(;!t.isEmpty();){if(r.has(t.getFirst().getKey()))return!0;e=t.removeFirst(),r.add(e.getKey()),e.hasOutgoingEdges()&&t.addAll(Array.from(e.getOutVertices().values()).flatMap(e=>Array.from(e)))}return!1}addVertices(e){for(let t of e)this.addVertex(t)}getNodeMap(){return this.nodeMap}isSubGraph(){return this.isSubGrph}toString(){return"Execution Graph : \n"+Array.from(this.nodeMap.values()).map(e=>e.toString()).join("\n")}}class sS{constructor(e,t){this.outVertices=new Map,this.inVertices=new Set,this.data=t,this.graph=e}getData(){return this.data}setData(e){return this.data=e,this}getOutVertices(){return this.outVertices}setOutVertices(e){return this.outVertices=e,this}getInVertices(){return this.inVertices}setInVertices(e){return this.inVertices=e,this}getGraph(){return this.graph}setGraph(e){return this.graph=e,this}getKey(){return this.data.getUniqueKey()}addOutEdgeTo(e,t){return this.outVertices.has(e)||this.outVertices.set(e,new Set),this.outVertices.get(e).add(t),t.inVertices.add(new X(this,e)),t}addInEdgeTo(e,t){return this.inVertices.add(new X(e,t)),e.outVertices.has(t)||e.outVertices.set(t,new Set),e.outVertices.get(t).add(this),e}hasIncomingEdges(){return!!this.inVertices.size}hasOutgoingEdges(){return!!this.outVertices.size}getSubGraphOfType(e){let t=new s_(!0);var r=new Y(Array.from(this.outVertices.get(e)??[]));for(r.map(e=>e.getData()).forEach(e=>t.addVertex(e));!r.isEmpty();)Array.from(r.pop().outVertices.values()).flatMap(e=>Array.from(e)).forEach(e=>{t.addVertex(e.getData()),r.add(e)});return t}toString(){var e=Array.from(this.getInVertices()).map(e=>e.getT1().getKey()+"("+e.getT2()+")").join(", "),t=Array.from(this.outVertices.entries()).map(([e,t])=>e+": "+Array.from(t).map(e=>e.getKey()).join(",")).join("\n ");return this.getKey()+":\n In: "+e+"\n Out: \n "+t}}e({},"KIRuntime",()=>sw),e({},"JsonExpression",()=>sM);class sM{constructor(e){this.expression=e}getExpression(){return this.expression}}function sO(){var e=new Date().getTime();return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(t){var r=(e+16*Math.random())%16|0;return e=Math.floor(e/16),("x"==t?r:3&r|8).toString(16)})}e({},"ParameterReferenceType",()=>a),function(e){e.VALUE="VALUE",e.EXPRESSION="EXPRESSION"}(a||(a={})),e({},"FunctionExecutionParameters",()=>sd);class sd{constructor(e,t,r){this.count=0,this.executionContext=new Map,this.valueExtractors=new Map,this.functionRepository=e,this.schemaRepository=t,this.executionId=r??sO()}getExecutionId(){return this.executionId}getContext(){return this.context}setContext(e){this.context=e;let t=new sT(e);return this.valueExtractors.set(t.getPrefix(),t),this}getArguments(){return this.args}setArguments(e){return this.args=e,this}getEvents(){return this.events}setEvents(e){return this.events=e,this}getStatementExecution(){return this.statementExecution}setStatementExecution(e){return this.statementExecution=e,this}getSteps(){return this.steps}setSteps(e){this.steps=e;let t=new sf(e);return this.valueExtractors.set(t.getPrefix(),t),this}getCount(){return this.count}setCount(e){return this.count=e,this}getValuesMap(){return this.valueExtractors}getFunctionRepository(){return this.functionRepository}setFunctionRepository(e){return this.functionRepository=e,this}getSchemaRepository(){return this.schemaRepository}setSchemaRepository(e){return this.schemaRepository=e,this}addTokenValueExtractor(...e){for(let t of e)this.valueExtractors.set(t.getPrefix(),t);return this}setValuesMap(e){for(let[t,r]of e.entries())this.valueExtractors.set(t,r);return this}setExecutionContext(e){return this.executionContext=e,this}getExecutionContext(){return this.executionContext}}e({},"StatementMessageType",()=>i),function(e){e.ERROR="ERROR",e.WARNING="WARNING",e.MESSAGE="MESSAGE"}(i||(i={}));class sw extends ei{static #e=(()=>{this.PARAMETER_NEEDS_A_VALUE='Parameter "$" needs a value'})();static #t=(()=>{this.STEP_REGEX_PATTERN=RegExp("Steps\\.([a-zA-Z0-9\\\\-]{1,})\\.([a-zA-Z0-9\\\\-]{1,})","g")})();static #r=(()=>{this.VERSION=1})();static #s=(()=>{this.MAX_EXECUTION_ITERATIONS=1e7})();constructor(e,t=!1){if(super(),this.debugMode=!1,this.debugMode=t,this.fd=e,this.fd.getVersion()>sw.VERSION)throw new $("Runtime is at a lower version "+sw.VERSION+" and trying to run code from version "+this.fd.getVersion()+".")}getSignature(){return this.fd}async getExecutionPlan(e,t){let r=new s_;for(let s of Array.from(this.fd.getSteps().values()))r.addVertex(await this.prepareStatementExecution(s,e,t));return Array.from(this.makeEdges(r).getT2().entries()).forEach(e=>{let t=r.getNodeMap().get(e[0])?.getData();t&&t.addMessage(i.ERROR,e[1])}),r}async internalExecute(e){e.getContext()||e.setContext(new Map),e.getEvents()||e.setEvents(new Map),e.getSteps()||e.setSteps(new Map),e.getArguments()&&e.addTokenValueExtractor(new sN(e.getArguments())),this.debugMode&&(console.log(`EID: ${e.getExecutionId()} Executing: ${this.fd.getNamespace()}.${this.fd.getName()}`),console.log(`EID: ${e.getExecutionId()} Parameters: `,e));let t=await this.getExecutionPlan(e.getFunctionRepository(),e.getSchemaRepository());this.debugMode&&console.log(`EID: ${e.getExecutionId()} ${t?.toString()}`);let r=t.getVerticesData().filter(e=>e.getMessages().length).map(e=>e.getStatement().getStatementName()+": \n"+e.getMessages().join(","));if(r?.length)throw new $("Please fix the errors in the function definition before execution : \n"+r.join(",\n"));return await this.executeGraph(t,e)}async executeGraph(e,t){let r=new Y;r.addAll(e.getVerticesWithNoIncomingEdges());let s=new Y;for(;(!r.isEmpty()||!s.isEmpty())&&!t.getEvents()?.has(V.OUTPUT);)if(await this.processBranchQue(t,r,s),await this.processExecutionQue(t,r,s),t.setCount(t.getCount()+1),t.getCount()==sw.MAX_EXECUTION_ITERATIONS)throw new $("Execution locked in an infinite loop");if(!e.isSubGraph()&&!t.getEvents()?.size){let e=this.getSignature().getEvents();if(e.size&&e.get(V.OUTPUT)?.getParameters()?.size)throw new $("No events raised")}let n=Array.from(t.getEvents()?.entries()??[]).flatMap(e=>e[1].map(t=>C.of(e[0],t)));return new G(n.length||e.isSubGraph()?n:[C.of(V.OUTPUT,new Map)])}async processExecutionQue(e,t,r){if(!t.isEmpty()){let s=t.pop();await this.allDependenciesResolvedVertex(s,e.getSteps())?await this.executeVertex(s,e,r,t,e.getFunctionRepository()):t.add(s)}}async processBranchQue(e,t,r){if(r.length){let s=r.pop();await this.allDependenciesResolvedTuples(s.getT2(),e.getSteps())?await this.executeBranch(e,t,s):r.add(s)}}async executeBranch(e,t,r){let s,n=r.getT4();do if(r.getT1().getVerticesData().map(e=>e.getStatement().getStatementName()).forEach(t=>e.getSteps()?.delete(t)),await this.executeGraph(r.getT1(),e),(s=r.getT3().next())&&(e.getSteps()?.has(n.getData().getStatement().getStatementName())||e.getSteps()?.set(n.getData().getStatement().getStatementName(),new Map),e.getSteps()?.get(n.getData().getStatement().getStatementName())?.set(s.getName(),this.resolveInternalExpressions(s.getResult(),e)),this.debugMode)){let t=n.getData().getStatement();console.log(`EID: ${e.getExecutionId()} Step : ${t.getStatementName()} => ${t.getNamespace()}.${t.getName()}`),console.log(`EID: ${e.getExecutionId()} Event : ${s.getName()} : `,e.getSteps().get(t.getStatementName()).get(s.getName()))}while(s&&s.getName()!=V.OUTPUT)s?.getName()==V.OUTPUT&&n.getOutVertices().has(V.OUTPUT)&&(n?.getOutVertices()?.get(V.OUTPUT)??[]).forEach(async r=>{await this.allDependenciesResolvedVertex(r,e.getSteps())&&t.add(r)})}async executeVertex(e,t,r,s,n){let a,i=e.getData().getStatement();if(i.getExecuteIftrue().size){let e=(Array.from(i.getExecuteIftrue().entries())??[]).filter(e=>e[1]).map(([e])=>{let r=new rt(e).evaluate(t.getValuesMap());return r}).every(e=>!u(e)&&!1!==e);if(!e)return}let o=await n.find(i.getNamespace(),i.getName());if(!o)throw new $(F.format("$.$ function is not found.",i.getNamespace(),i.getName()));let E=o?.getSignature().getParameters(),A=this.getArgumentsFromParametersMap(t,i,E??new Map);this.debugMode&&(console.log(`EID: ${t.getExecutionId()} Step : ${i.getStatementName()} => ${i.getNamespace()}.${i.getName()}`),console.log(`EID: ${t.getExecutionId()} Arguments : `,A));let c=t.getContext();a=o instanceof sw?new sd(t.getFunctionRepository(),t.getSchemaRepository(),`${t.getExecutionId()}_${i.getStatementName()}`).setArguments(A).setValuesMap(new Map(Array.from(t.getValuesMap().values()).filter(e=>e.getPrefix()!==sN.PREFIX&&e.getPrefix()!==sf.PREFIX&&e.getPrefix()!==sT.PREFIX).map(e=>[e.getPrefix(),e]))):new sd(t.getFunctionRepository(),t.getSchemaRepository(),t.getExecutionId()).setValuesMap(t.getValuesMap()).setContext(c).setArguments(A).setEvents(t.getEvents()).setSteps(t.getSteps()).setStatementExecution(e.getData()).setCount(t.getCount()).setExecutionContext(t.getExecutionContext());let l=await o.execute(a),h=l.next();if(!h)throw new $(F.format("Executing $ returned no events",i.getStatementName()));let g=h.getName()==V.OUTPUT;if(t.getSteps()?.has(i.getStatementName())||t.getSteps().set(i.getStatementName(),new Map),t.getSteps().get(i.getStatementName()).set(h.getName(),this.resolveInternalExpressions(h.getResult(),t)),this.debugMode&&(console.log(`EID: ${t.getExecutionId()} Step : ${i.getStatementName()} => ${i.getNamespace()}.${i.getName()}`),console.log(`EID: ${t.getExecutionId()} Event : ${h.getName()} : `,t.getSteps().get(i.getStatementName()).get(h.getName()))),g){let r=e.getOutVertices().get(V.OUTPUT);r&&r.forEach(async e=>{await this.allDependenciesResolvedVertex(e,t.getSteps())&&s.add(e)})}else{let t=e.getSubGraphOfType(h.getName()),s=this.makeEdges(t).getT1();r.push(new q(t,s,l,e))}}resolveInternalExpressions(e,t){return e?Array.from(e.entries()).map(e=>new X(e[0],this.resolveInternalExpression(e[1],t))).reduce((e,t)=>(e.set(t.getT1(),t.getT2()),e),new Map):e}resolveInternalExpression(e,t){if(u(e)||"object"!=typeof e)return e;if(e instanceof sM)return new rt(e.getExpression()).evaluate(t.getValuesMap());if(Array.isArray(e)){let r=[];for(let s of e)r.push(this.resolveInternalExpression(s,t));return r}if("object"==typeof e){let r={};for(let s of Object.entries(e))r[s[0]]=this.resolveInternalExpression(s[1],t);return r}}allDependenciesResolvedTuples(e,t){for(let r of e)if(!t.has(r.getT1())||!t.get(r.getT1())?.get(r.getT2()))return!1;return!0}allDependenciesResolvedVertex(e,t){return!e.getInVertices().size||0==Array.from(e.getInVertices()).filter(e=>{let r=e.getT1().getData().getStatement().getStatementName(),s=e.getT2();return!(t.has(r)&&t.get(r)?.has(s))}).length}getArgumentsFromParametersMap(e,t,r){return Array.from(t.getParameterMap().entries()).map(t=>{let s,n=Array.from(t[1]?.values()??[]);if(!n?.length)return new X(t[0],s);let a=r.get(t[0]);return a?(s=a.isVariableArgument()?n.sort((e,t)=>(e.getOrder()??0)-(t.getOrder()??0)).filter(e=>!u(e)).map(t=>this.parameterReferenceEvaluation(e,t)).flatMap(e=>Array.isArray(e)?e:[e]):this.parameterReferenceEvaluation(e,n[0]),new X(t[0],s)):new X(t[0],void 0)}).filter(e=>!u(e.getT2())).reduce((e,t)=>(e.set(t.getT1(),t.getT2()),e),new Map)}parameterReferenceEvaluation(e,t){let r;return t.getType()==a.VALUE?r=this.resolveInternalExpression(t.getValue(),e):t.getType()!=a.EXPRESSION||H.isNullOrBlank(t.getExpression())||(r=new rt(t.getExpression()??"").evaluate(e.getValuesMap())),r}async prepareStatementExecution(e,t,r){let s=new sm(e),n=await t.find(e.getNamespace(),e.getName());if(!n)return s.addMessage(i.ERROR,F.format("$.$ is not available",e.getNamespace(),e.getName())),Promise.resolve(s);let a=new Map(n.getSignature().getParameters());if(!e.getParameterMap())return Promise.resolve(s);for(let t of Array.from(e.getParameterMap().entries())){let e=a.get(t[0]);if(!e)continue;let n=Array.from(t[1]?.values()??[]);if(!n.length&&!e.isVariableArgument()){await z.hasDefaultValueOrNullSchemaType(e.getSchema(),r)||s.addMessage(i.ERROR,F.format(sw.PARAMETER_NEEDS_A_VALUE,e.getParameterName())),a.delete(e.getParameterName());continue}if(e.isVariableArgument())for(let t of(n.sort((e,t)=>(e.getOrder()??0)-(t.getOrder()??0)),n))this.parameterReferenceValidation(s,e,t,r);else if(n.length){let t=n[0];this.parameterReferenceValidation(s,e,t,r)}a.delete(e.getParameterName())}if(!u(s.getStatement().getDependentStatements()))for(let e of Array.from(s.getStatement().getDependentStatements().entries()))e[1]&&s.addDependency(e[0]);if(!u(s.getStatement().getExecuteIftrue()))for(let e of Array.from(s.getStatement().getExecuteIftrue().entries()))e[1]&&this.addDependencies(s,e[0]);if(a.size)for(let e of Array.from(a.values()))e.isVariableArgument()||await z.hasDefaultValueOrNullSchemaType(e.getSchema(),r)||s.addMessage(i.ERROR,F.format(sw.PARAMETER_NEEDS_A_VALUE,e.getParameterName()));return Promise.resolve(s)}async parameterReferenceValidation(e,t,s,n){if(s){if(s.getType()==a.VALUE){if(u(s.getValue())&&!await z.hasDefaultValueOrNullSchemaType(t.getSchema(),n)&&e.addMessage(i.ERROR,F.format(sw.PARAMETER_NEEDS_A_VALUE,t.getParameterName())),u(s.getValue()))return;let a=new Y;for(a.push(new X(t.getSchema(),s.getValue()));!a.isEmpty();){let t=a.pop();if(t.getT2() instanceof sM)this.addDependencies(e,t.getT2().getExpression());else{if(u(t.getT1())||u(t.getT1().getType()))continue;if(t.getT1().getType()?.contains(r.ARRAY)&&Array.isArray(t.getT2())){let e=t.getT1().getItems();if(!e)continue;if(e.isSingleType())for(let r of t.getT2())a.push(new X(e.getSingleSchema(),r));else{let r=t.getT2();for(let t=0;t<r.length;t++)a.push(new X(e.getTupleSchema()[t],r[t]))}}else if(t.getT1().getType()?.contains(r.OBJECT)&&"object"==typeof t.getT2()){let r=t.getT1();if(r.getName()===I.EXPRESSION.getName()&&r.getNamespace()===I.EXPRESSION.getNamespace()){let r=t.getT2();r.isExpression&&this.addDependencies(e,r.value)}else if(r.getProperties())for(let e of Object.entries(t.getT2()))r.getProperties().has(e[0])&&a.push(new X(r.getProperties().get(e[0]),e[1]))}}}}else if(s.getType()==a.EXPRESSION){if(H.isNullOrBlank(s.getExpression()))u(z.getDefaultValue(t.getSchema(),n))&&e.addMessage(i.ERROR,F.format(sw.PARAMETER_NEEDS_A_VALUE,t.getParameterName()));else try{this.addDependencies(e,s.getExpression())}catch(t){e.addMessage(i.ERROR,F.format("Error evaluating $ : $",s.getExpression(),t))}}}else u(await z.getDefaultValue(t.getSchema(),n))&&e.addMessage(i.ERROR,F.format(sw.PARAMETER_NEEDS_A_VALUE,t.getParameterName()))}addDependencies(e,t){t&&Array.from(t.match(sw.STEP_REGEX_PATTERN)??[]).forEach(t=>e.addDependency(t))}makeEdges(e){let t=e.getNodeMap().values(),r=[],s=new Map;for(let n of Array.from(t))for(let t of Array.from(n.getData().getDependencies())){let a=t.indexOf(".",6),i=t.substring(6,a),o=t.indexOf(".",a+1),E=-1==o?t.substring(a+1):t.substring(a+1,o);e.getNodeMap().has(i)?n.addInEdgeTo(e.getNodeMap().get(i),E):(r.push(new X(i,E)),s.set(n.getData().getStatement().getStatementName(),F.format("Unable to find the step with name $",i)))}return new X(r,s)}}e({},"KIRunConstants",()=>sI);class sI{static #e=(()=>{this.NAMESPACE="namespace"})();static #t=(()=>{this.NAME="name"})();static #r=(()=>{this.ID="id"})();constructor(){}}e({},"Position",()=>sP);class sP{static #e=(()=>{this.SCHEMA_NAME="Position"})();static #t=(()=>{this.SCHEMA=new O().setNamespace(E.SYSTEM).setName(sP.SCHEMA_NAME).setType(g.of(r.OBJECT)).setProperties(new Map([["left",O.ofFloat("left")],["top",O.ofFloat("top")]]))})();constructor(e,t){this.left=e,this.top=t}getLeft(){return this.left}setLeft(e){return this.left=e,this}getTop(){return this.top}setTop(e){return this.top=e,this}static from(e){if(e)return new sP(e.left,e.top)}}e({},"FunctionDefinition",()=>sb),e({},"Statement",()=>sL),e({},"AbstractStatement",()=>sy);class sy{constructor(e){if(this.override=!1,!e)return;this.comment=e.comment,this.description=e.description,this.position=e.position?new sP(e.position.getLeft(),e.position.getTop()):void 0,this.override=e.override}getComment(){return this.comment}setComment(e){return this.comment=e,this}isOverride(){return this.override}setOverride(e){return this.override=e,this}getDescription(){return this.description}setDescription(e){return this.description=e,this}getPosition(){return this.position}setPosition(e){return this.position=e,this}}e({},"ParameterReference",()=>sx);class sx{static #e=(()=>{this.SCHEMA_NAME="ParameterReference"})();static #t=(()=>{this.SCHEMA=new O().setNamespace(E.SYSTEM).setName(sx.SCHEMA_NAME).setType(g.of(r.OBJECT)).setProperties(new Map([["key",O.ofString("key")],["value",O.ofAny("value")],["expression",O.ofString("expression")],["type",O.ofString("type").setEnums(["EXPRESSION","VALUE"])],["order",O.ofInteger("order")]]))})();constructor(e){e instanceof sx?(this.key=e.key,this.type=e.type,this.value=u(e.value)?void 0:JSON.parse(JSON.stringify(e.value)),this.expression=e.expression,this.order=e.order):(this.type=e,this.key=sO())}getType(){return this.type}setType(e){return this.type=e,this}getKey(){return this.key}setKey(e){return this.key=e,this}getValue(){return this.value}setValue(e){return this.value=e,this}getExpression(){return this.expression}setExpression(e){return this.expression=e,this}setOrder(e){return this.order=e,this}getOrder(){return this.order}static ofExpression(e){let t=new sx(a.EXPRESSION).setExpression(e);return[t.getKey(),t]}static ofValue(e){let t=new sx(a.VALUE).setValue(e);return[t.getKey(),t]}static from(e){return new sx(e.type).setValue(e.value).setExpression(e.expression).setKey(e.key).setOrder(e.order)}}class sL extends sy{static #e=(()=>{this.SCHEMA_NAME="Statement"})();static #t=(()=>{this.SCHEMA=new O().setNamespace(E.SYSTEM).setName(sL.SCHEMA_NAME).setType(g.of(r.OBJECT)).setProperties(new Map([["statementName",O.ofString("statementName")],["comment",O.ofString("comment")],["description",O.ofString("description")],["namespace",O.ofString("namespace")],["name",O.ofString("name")],["dependentStatements",O.ofObject("dependentstatement").setAdditionalProperties(new M().setSchemaValue(O.ofBoolean("exists"))).setDefaultValue({})],["executeIftrue",O.ofObject("executeIftrue").setAdditionalProperties(new M().setSchemaValue(O.ofBoolean("exists"))).setDefaultValue({})],["parameterMap",new O().setName("parameterMap").setAdditionalProperties(new M().setSchemaValue(O.ofObject("parameterReference").setAdditionalProperties(new M().setSchemaValue(sx.SCHEMA))))],["position",sP.SCHEMA]]))})();constructor(e,t,r){if(super(e instanceof sL?e:void 0),e instanceof sL)this.statementName=e.statementName,this.name=e.name,this.namespace=e.namespace,e.parameterMap&&(this.parameterMap=new Map(Array.from(e.parameterMap.entries()).map(e=>[e[0],new Map(Array.from(e[1].entries()).map(e=>[e[0],new sx(e[1])]))]))),e.dependentStatements&&(this.dependentStatements=new Map(Array.from(e.dependentStatements.entries())));else{if(this.statementName=e,!r||!t)throw Error("Unknown constructor");this.namespace=t,this.name=r}}getStatementName(){return this.statementName}setStatementName(e){return this.statementName=e,this}getNamespace(){return this.namespace}setNamespace(e){return this.namespace=e,this}getName(){return this.name}setName(e){return this.name=e,this}getParameterMap(){return this.parameterMap||(this.parameterMap=new Map),this.parameterMap}setParameterMap(e){return this.parameterMap=e,this}getDependentStatements(){return this.dependentStatements??new Map}setDependentStatements(e){return this.dependentStatements=e,this}getExecuteIftrue(){return this.executeIftrue??new Map}setExecuteIftrue(e){return this.executeIftrue=e,this}equals(e){return e instanceof sL&&e.statementName==this.statementName}static ofEntry(e){return[e.statementName,e]}static from(e){return new sL(e.statementName,e.namespace,e.name).setParameterMap(new Map(Object.entries(e.parameterMap??{}).map(([e,t])=>[e,new Map(Object.entries(t??{}).map(([e,t])=>sx.from(t)).map(e=>[e.getKey(),e]))]))).setDependentStatements(new Map(Object.entries(e.dependentStatements??{}))).setExecuteIftrue(new Map(Object.entries(e.executeIftrue??{}))).setPosition(sP.from(e.position)).setComment(e.comment).setDescription(e.description)}}e({},"StatementGroup",()=>sU);class sU extends sy{static #e=(()=>{this.SCHEMA_NAME="StatementGroup"})();static #t=(()=>{this.SCHEMA=new O().setNamespace(E.SYSTEM).setName(sU.SCHEMA_NAME).setType(g.of(r.OBJECT)).setProperties(new Map([["statementGroupName",O.ofString("statementGroupName")],["comment",O.ofString("comment")],["description",O.ofString("description")],["position",sP.SCHEMA]]))})();constructor(e,t=new Map){super(),this.statementGroupName=e,this.statements=t}getStatementGroupName(){return this.statementGroupName}setStatementGroupName(e){return this.statementGroupName=e,this}getStatements(){return this.statements}setStatements(e){return this.statements=e,this}static from(e){return new sU(e.statementGroupName,new Map(Object.entries(e.statements||{}).map(([e,t])=>[e,(""+t)?.toLowerCase()=="true"]))).setPosition(sP.from(e.position)).setComment(e.comment).setDescription(e.description)}}let sv=new O().setNamespace(E.SYSTEM).setName("FunctionDefinition").setProperties(new Map([["name",O.ofString("name")],["namespace",O.ofString("namespace")],["parameters",O.ofArray("parameters",I.SCHEMA)],["events",O.ofObject("events").setAdditionalProperties(new M().setSchemaValue(V.SCHEMA))],["steps",O.ofObject("steps").setAdditionalProperties(new M().setSchemaValue(sL.SCHEMA))]]));sv.getProperties()?.set("parts",O.ofArray("parts",sv));class sb extends D{static #e=(()=>{this.SCHEMA=sv})();constructor(e){super(e),this.version=1}getVersion(){return this.version}setVersion(e){return this.version=e,this}getSteps(){return this.steps??new Map}setSteps(e){return this.steps=e,this}getStepGroups(){return this.stepGroups}setStepGroups(e){return this.stepGroups=e,this}getParts(){return this.parts}setParts(e){return this.parts=e,this}static from(e){return e?new sb(e.name).setSteps(new Map(Object.values(e.steps??{}).filter(e=>!!e).map(e=>[e.statementName,sL.from(e)]))).setStepGroups(new Map(Object.values(e.stepGroups??{}).filter(e=>!!e).map(e=>[e.statementGroupName,sU.from(e)]))).setParts(Array.from(e.parts??[]).filter(e=>!!e).map(e=>sb.from(e))).setVersion(e.version??1).setEvents(new Map(Object.values(e.events??{}).filter(e=>!!e).map(e=>[e.name,V.from(e)]))).setParameters(new Map(Object.values(e.parameters??{}).filter(e=>!!e).map(e=>[e.parameterName,I.from(e)]))).setNamespace(e.namespace):new sb("unknown")}}e({},"Argument",()=>sV);class sV{constructor(e,t,r){this.argumentIndex=0,this.argumentIndex=e,this.name=t,this.value=r}getArgumentIndex(){return this.argumentIndex}setArgumentIndex(e){return this.argumentIndex=e,this}getName(){return this.name}setName(e){return this.name=e,this}getValue(){return this.value}setValue(e){return this.value=e,this}static of(e,t){return new sV(0,e,t)}}var sC={};t(sC,tJ),t(sC,tZ),t(sC,t1),t(sC,t5),t(sC,tz);var s$={};t(s$,ta),t(s$,to),t(s$,tu),t(s$,tc),t(s$,th),t(s$,tp),t(s$,tm),t(s$,tr),t(s$,tf),t(s$,t_),t(s$,tM),t(s$,td),t(s$,tI),t(s$,ty),t(s$,tL),t(s$,tv),t(s$,tV),t(s$,t$),t(s$,tD),t(s$,tk),t(s$,tY),t(s$,tj),t(s$,tW),t(s$,tt);export{x as KIRunSchemaRepository,sp as KIRunFunctionRepository,eh as PrimitiveUtil,v as MapUtil,b as MapEntry,u as isNullValue,Y as LinkedList,e$ as StringBuilder,F as StringFormatter,H as StringUtil,X as Tuple2,W as Tuple3,q as Tuple4,ep as ArrayUtil,k as deepEqual,em as duplicate,sm as StatementExecution,sR as StatementMessage,e7 as ContextElement,sT as ContextTokenValueExtractor,sf as OutputMapTokenValueExtractor,sN as ArgumentsTokenValueExtractor,sS as GraphVertex,s_ as ExecutionGraph,sw as KIRuntime,i as StatementMessageType,sd as FunctionExecutionParameters,eB as Expression,ek as TokenValueExtractor,t6 as LiteralTokenValueExtractor,eH as ObjectValueSetterExtractor,rt as ExpressionEvaluator,eY as Operation,eD as ExpressionToken,eG as ExpressionEvaluationException,eF as ExpressionTokenValue,ei as AbstractFunction,E as Namespaces,sM as JsonExpression,M as AdditionalType,O as Schema,et as NumberValidator,Z as BooleanValidator,ee as NullValidator,Q as ArrayValidator,K as AnyOfAllOfOneOfValidator,es as StringValidator,er as ObjectValidator,ea as SchemaValidator,J as SchemaValidationException,d as SchemaReferenceException,en as TypeValidator,A as ArraySchemaType,h as SingleType,g as TypeUtil,l as MultipleType,c as Type,r as SchemaType,z as SchemaUtil,n as StringFormat,sl as HybridRepository,sI as KIRunConstants,I as Parameter,G as FunctionOutput,sP as Position,sb as FunctionDefinition,a as ParameterReferenceType,C as EventResult,sy as AbstractStatement,sL as Statement,sU as StatementGroup,D as FunctionSignature,V as Event,s as ParameterType,sV as Argument,sx as ParameterReference,el as ExecutionException,$ as KIRuntimeException,tQ as ArithmeticUnaryMinusOperator,t0 as ArithmeticUnaryPlusOperator,t2 as BitwiseComplementOperator,t7 as LogicalNotOperator,tK as UnaryOperator,ti as ArithmeticAdditionOperator,tE as ArithmeticDivisionOperator,tA as ArithmeticIntegerDivisionOperator,tl as ArithmeticModulusOperator,tg as ArithmeticMultiplicationOperator,tR as ArithmeticSubtractionOperator,tT as ArrayOperator,ts as BinaryOperator,tN as BitwiseAndOperator,tS as BitwiseLeftShiftOperator,tO as BitwiseOrOperator,tw as BitwiseRightShiftOperator,tP as BitwiseUnsignedRightShiftOperator,tx as BitwiseXorOperator,tU as LogicalAndOperator,tb as LogicalEqualOperator,tC as LogicalGreaterThanEqualOperator,tG as LogicalGreaterThanOperator,tF as LogicalLessThanEqualOperator,tH as LogicalNotEqualOperator,tB as LogicalLessThanOperator,tX as LogicalOrOperator,tq as ObjectOperator,tn as LogicalNullishCoalescingOperator,t3 as ConditionalTernaryOperator};
|
|
1
|
+
function e(e,t,r,s){Object.defineProperty(e,t,{get:r,set:s,enumerable:!0,configurable:!0})}function t(e,t){return Object.keys(t).forEach(function(r){"default"===r||"__esModule"===r||e.hasOwnProperty(r)||Object.defineProperty(e,r,{enumerable:!0,get:function(){return t[r]}})}),e}e({},"KIRunSchemaRepository",()=>x);var r,s,n,a,i,o={};e(o,"AdditionalType",()=>M),e(o,"Schema",()=>O),e({},"Namespaces",()=>E);class E{static #e=(()=>{this.SYSTEM="System"})();static #t=(()=>{this.SYSTEM_CTX="System.Context"})();static #r=(()=>{this.SYSTEM_LOOP="System.Loop"})();static #s=(()=>{this.SYSTEM_ARRAY="System.Array"})();static #n=(()=>{this.SYSTEM_OBJECT="System.Object"})();static #a=(()=>{this.MATH="System.Math"})();static #i=(()=>{this.STRING="System.String"})();constructor(){}}function u(e){return null==e}e({},"ArraySchemaType",()=>A),e({},"isNullValue",()=>u);class A{constructor(e){if(!e)return;this.singleSchema=e.singleSchema?new O(e.singleSchema):void 0,this.tupleSchema=e.tupleSchema?e.tupleSchema.map(e=>new O(e)):void 0}setSingleSchema(e){return this.singleSchema=e,this}setTupleSchema(e){return this.tupleSchema=e,this}getSingleSchema(){return this.singleSchema}getTupleSchema(){return this.tupleSchema}isSingleType(){return!u(this.singleSchema)}static of(...e){return 1==e.length?new A().setSingleSchema(e[0]):new A().setTupleSchema(e)}static from(e){if(!e)return;if(Array.isArray(e))return new A().setTupleSchema(O.fromListOfSchemas(e));let t=Object.keys(e);if(-1!=t.indexOf("singleSchema"))return new A().setSingleSchema(O.from(e.singleSchema));if(-1!=t.indexOf("tupleSchema"))return new A().setTupleSchema(O.fromListOfSchemas(e.tupleSchema));let r=O.from(e);if(r)return new A().setSingleSchema(r)}}e({},"SchemaType",()=>r),function(e){e.INTEGER="Integer",e.LONG="Long",e.FLOAT="Float",e.DOUBLE="Double",e.STRING="String",e.OBJECT="Object",e.ARRAY="Array",e.BOOLEAN="Boolean",e.NULL="Null"}(r||(r={})),e({},"TypeUtil",()=>g),e({},"MultipleType",()=>h),e({},"Type",()=>c);class c{}class h extends c{constructor(e){super(),e instanceof h?this.type=new Set(Array.from(e.type)):this.type=new Set(Array.from(e))}getType(){return this.type}setType(e){return this.type=e,this}getAllowedSchemaTypes(){return this.type}contains(e){return this.type?.has(e)}}e({},"SingleType",()=>l);class l extends c{constructor(e){super(),e instanceof l?this.type=e.type:this.type=e}getType(){return this.type}getAllowedSchemaTypes(){return new Set([this.type])}contains(e){return this.type==e}}class g{static of(...e){return 1==e.length?new l(e[0]):new h(new Set(e))}static from(e){return"string"==typeof e?new l(r[g.fromJSONType(e)]):Array.isArray(e)?new h(new Set(e.map(g.fromJSONType).map(e=>e).map(e=>r[e]))):void 0}static fromJSONType(e){let t=e.toUpperCase();return"NUMBER"===t?"DOUBLE":t}}let p="additionalProperty",R="additionalItems",m="enums",T="items",f="System.Schema",N="required",_="version",S="namespace";class M{constructor(e){if(!e||(this.booleanValue=e.booleanValue,!e.schemaValue))return;this.schemaValue=new O(e.schemaValue)}getBooleanValue(){return this.booleanValue}getSchemaValue(){return this.schemaValue}setBooleanValue(e){return this.booleanValue=e,this}setSchemaValue(e){return this.schemaValue=e,this}static from(e){if(u(e))return;let t=new M;if("boolean"==typeof e)t.booleanValue=e;else{let r=Object.keys(e);-1!=r.indexOf("booleanValue")?t.booleanValue=e.booleanValue:-1!=r.indexOf("schemaValue")?t.schemaValue=O.from(e.schemaValue):t.schemaValue=O.from(e)}return t}}class O{static #e=(()=>{this.NULL=new O().setNamespace(E.SYSTEM).setName("Null").setType(g.of(r.NULL)).setConstant(void 0)})();static #t=(()=>{this.TYPE_SCHEMA=new O().setType(g.of(r.STRING)).setEnums(["INTEGER","LONG","FLOAT","DOUBLE","STRING","OBJECT","ARRAY","BOOLEAN","NULL"])})();static #r=(()=>{this.SCHEMA=new O().setNamespace(E.SYSTEM).setName("Schema").setType(g.of(r.OBJECT)).setProperties(new Map([[S,O.of(S,r.STRING).setDefaultValue("_")],["name",O.ofString("name")],[_,O.of(_,r.INTEGER).setDefaultValue(1)],["ref",O.ofString("ref")],["type",new O().setAnyOf([O.TYPE_SCHEMA,O.ofArray("type",O.TYPE_SCHEMA)])],["anyOf",O.ofArray("anyOf",O.ofRef(f))],["allOf",O.ofArray("allOf",O.ofRef(f))],["oneOf",O.ofArray("oneOf",O.ofRef(f))],["not",O.ofRef(f)],["title",O.ofString("title")],["description",O.ofString("description")],["id",O.ofString("id")],["examples",O.ofAny("examples")],["defaultValue",O.ofAny("defaultValue")],["comment",O.ofString("comment")],[m,O.ofArray(m,O.ofString(m))],["constant",O.ofAny("constant")],["pattern",O.ofString("pattern")],["format",O.of("format",r.STRING).setEnums(["DATETIME","TIME","DATE","EMAIL","REGEX"])],["minLength",O.ofInteger("minLength")],["maxLength",O.ofInteger("maxLength")],["multipleOf",O.ofLong("multipleOf")],["minimum",O.ofNumber("minimum")],["maximum",O.ofNumber("maximum")],["exclusiveMinimum",O.ofNumber("exclusiveMinimum")],["exclusiveMaximum",O.ofNumber("exclusiveMaximum")],["properties",O.of("properties",r.OBJECT).setAdditionalProperties(new M().setSchemaValue(O.ofRef(f)))],["additionalProperties",new O().setName(p).setNamespace(E.SYSTEM).setAnyOf([O.ofBoolean(p),O.ofObject(p).setRef(f)]).setDefaultValue(!0)],[N,O.ofArray(N,O.ofString(N)).setDefaultValue([])],["propertyNames",O.ofRef(f)],["minProperties",O.ofInteger("minProperties")],["maxProperties",O.ofInteger("maxProperties")],["patternProperties",O.of("patternProperties",r.OBJECT).setAdditionalProperties(new M().setSchemaValue(O.ofRef(f)))],[T,new O().setName(T).setAnyOf([O.ofRef(f).setName("item"),O.ofArray("tuple",O.ofRef(f))])],["contains",O.ofRef(f)],["minContains",O.ofInteger("minContains")],["maxContains",O.ofInteger("maxContains")],["minItems",O.ofInteger("minItems")],["maxItems",O.ofInteger("maxItems")],["uniqueItems",O.ofBoolean("uniqueItems")],["additionalItems",new O().setName(R).setNamespace(E.SYSTEM).setAnyOf([O.ofBoolean(R),O.ofObject(R).setRef(f)])],["$defs",O.of("$defs",r.OBJECT).setAdditionalProperties(new M().setSchemaValue(O.ofRef(f)))],["permission",O.ofString("permission")]])).setRequired([])})();static ofString(e){return new O().setType(g.of(r.STRING)).setName(e)}static ofInteger(e){return new O().setType(g.of(r.INTEGER)).setName(e)}static ofFloat(e){return new O().setType(g.of(r.FLOAT)).setName(e)}static ofLong(e){return new O().setType(g.of(r.LONG)).setName(e)}static ofDouble(e){return new O().setType(g.of(r.DOUBLE)).setName(e)}static ofAny(e){return new O().setType(g.of(r.INTEGER,r.LONG,r.FLOAT,r.DOUBLE,r.STRING,r.BOOLEAN,r.ARRAY,r.NULL,r.OBJECT)).setName(e)}static ofAnyNotNull(e){return new O().setType(g.of(r.INTEGER,r.LONG,r.FLOAT,r.DOUBLE,r.STRING,r.BOOLEAN,r.ARRAY,r.OBJECT)).setName(e)}static ofNumber(e){return new O().setType(g.of(r.INTEGER,r.LONG,r.FLOAT,r.DOUBLE)).setName(e)}static ofBoolean(e){return new O().setType(g.of(r.BOOLEAN)).setName(e)}static of(e,...t){return new O().setType(g.of(...t)).setName(e)}static ofObject(e){return new O().setType(g.of(r.OBJECT)).setName(e)}static ofRef(e){return new O().setRef(e)}static ofArray(e,...t){return new O().setType(g.of(r.ARRAY)).setName(e).setItems(A.of(...t))}static fromListOfSchemas(e){if(u(e)&&!Array.isArray(e))return;let t=[];for(let r of Array.from(e)){let e=O.from(r);e&&t.push(e)}return t}static fromMapOfSchemas(e){if(u(e))return;let t=new Map;return Object.entries(e).forEach(([e,r])=>{let s=O.from(r);s&&t.set(e,s)}),t}static from(e,t=!1){if(u(e))return;let s=new O;return s.namespace=e.namespace??"_",s.name=e.name,s.version=e.version??1,s.ref=e.ref,t?s.type=new l(r.STRING):s.type=g.from(e.type),s.anyOf=O.fromListOfSchemas(e.anyOf),s.allOf=O.fromListOfSchemas(e.allOf),s.oneOf=O.fromListOfSchemas(e.oneOf),s.not=O.from(e.not),s.description=e.description,s.examples=e.examples?[...e.examples]:void 0,s.defaultValue=e.defaultValue,s.comment=e.comment,s.enums=e.enums?[...e.enums]:void 0,s.constant=e.constant,s.pattern=e.pattern,s.format=e.format,s.minLength=e.minLength,s.maxLength=e.maxLength,s.multipleOf=e.multipleOf,s.minimum=e.minimum,s.maximum=e.maximum,s.exclusiveMinimum=e.exclusiveMinimum,s.exclusiveMaximum=e.exclusiveMaximum,s.properties=O.fromMapOfSchemas(e.properties),s.additionalProperties=M.from(e.additionalProperties),s.required=e.required,s.propertyNames=O.from(e.propertyNames,!0),s.minProperties=e.minProperties,s.maxProperties=e.maxProperties,s.patternProperties=O.fromMapOfSchemas(e.patternProperties),s.items=A.from(e.items),s.additionalItems=M.from(e.additionalItems),s.contains=O.from(e.contains),s.minContains=e.minContains,s.maxContains=e.maxContains,s.minItems=e.minItems,s.maxItems=e.maxItems,s.uniqueItems=e.uniqueItems,s.$defs=O.fromMapOfSchemas(e.$defs),s.permission=e.permission,s}constructor(e){if(this.namespace="_",this.version=1,!e)return;this.namespace=e.namespace,this.name=e.name,this.version=e.version,this.ref=e.ref,u(e.type)||(this.type=e.type instanceof l?new l(e.type):new h(e.type)),this.anyOf=e.anyOf?.map(e=>new O(e)),this.allOf=e.allOf?.map(e=>new O(e)),this.oneOf=e.oneOf?.map(e=>new O(e)),this.not=this.not?new O(this.not):void 0,this.description=e.description,this.examples=e.examples?JSON.parse(JSON.stringify(e.examples)):void 0,this.defaultValue=e.defaultValue?JSON.parse(JSON.stringify(e.defaultValue)):void 0,this.comment=e.comment,this.enums=e.enums?[...e.enums]:void 0,this.constant=e.constant?JSON.parse(JSON.stringify(e.constant)):void 0,this.pattern=e.pattern,this.format=e.format,this.minLength=e.minLength,this.maxLength=e.maxLength,this.multipleOf=e.multipleOf,this.minimum=e.minimum,this.maximum=e.maximum,this.exclusiveMinimum=e.exclusiveMinimum,this.exclusiveMaximum=e.exclusiveMaximum,this.properties=e.properties?new Map(Array.from(e.properties.entries()).map(e=>[e[0],new O(e[1])])):void 0,this.additionalProperties=e.additionalProperties?new M(e.additionalProperties):void 0,this.required=e.required?[...e.required]:void 0,this.propertyNames=e.propertyNames?new O(e.propertyNames):void 0,this.minProperties=e.minProperties,this.maxProperties=e.maxProperties,this.patternProperties=e.patternProperties?new Map(Array.from(e.patternProperties.entries()).map(e=>[e[0],new O(e[1])])):void 0,this.items=e.items?new A(e.items):void 0,this.contains=e.contains?new O(this.contains):void 0,this.minContains=e.minContains,this.maxContains=e.maxContains,this.minItems=e.minItems,this.maxItems=e.maxItems,this.uniqueItems=e.uniqueItems,this.additionalItems=e.additionalItems?new M(e.additionalItems):void 0,this.$defs=e.$defs?new Map(Array.from(e.$defs.entries()).map(e=>[e[0],new O(e[1])])):void 0,this.permission=e.permission}getTitle(){return this.namespace&&"_"!=this.namespace?this.namespace+"."+this.name:this.name}getFullName(){return this.namespace+"."+this.name}get$defs(){return this.$defs}set$defs(e){return this.$defs=e,this}getNamespace(){return this.namespace}setNamespace(e){return this.namespace=e,this}getName(){return this.name}setName(e){return this.name=e,this}getVersion(){return this.version}setVersion(e){return this.version=e,this}getRef(){return this.ref}setRef(e){return this.ref=e,this}getType(){return this.type}setType(e){return this.type=e,this}getAnyOf(){return this.anyOf}setAnyOf(e){return this.anyOf=e,this}getAllOf(){return this.allOf}setAllOf(e){return this.allOf=e,this}getOneOf(){return this.oneOf}setOneOf(e){return this.oneOf=e,this}getNot(){return this.not}setNot(e){return this.not=e,this}getDescription(){return this.description}setDescription(e){return this.description=e,this}getExamples(){return this.examples}setExamples(e){return this.examples=e,this}getDefaultValue(){return this.defaultValue}setDefaultValue(e){return this.defaultValue=e,this}getComment(){return this.comment}setComment(e){return this.comment=e,this}getEnums(){return this.enums}setEnums(e){return this.enums=e,this}getConstant(){return this.constant}setConstant(e){return this.constant=e,this}getPattern(){return this.pattern}setPattern(e){return this.pattern=e,this}getFormat(){return this.format}setFormat(e){return this.format=e,this}getMinLength(){return this.minLength}setMinLength(e){return this.minLength=e,this}getMaxLength(){return this.maxLength}setMaxLength(e){return this.maxLength=e,this}getMultipleOf(){return this.multipleOf}setMultipleOf(e){return this.multipleOf=e,this}getMinimum(){return this.minimum}setMinimum(e){return this.minimum=e,this}getMaximum(){return this.maximum}setMaximum(e){return this.maximum=e,this}getExclusiveMinimum(){return this.exclusiveMinimum}setExclusiveMinimum(e){return this.exclusiveMinimum=e,this}getExclusiveMaximum(){return this.exclusiveMaximum}setExclusiveMaximum(e){return this.exclusiveMaximum=e,this}getProperties(){return this.properties}setProperties(e){return this.properties=e,this}getAdditionalProperties(){return this.additionalProperties}setAdditionalProperties(e){return this.additionalProperties=e,this}getAdditionalItems(){return this.additionalItems}setAdditionalItems(e){return this.additionalItems=e,this}getRequired(){return this.required}setRequired(e){return this.required=e,this}getPropertyNames(){return this.propertyNames}setPropertyNames(e){return this.propertyNames=e,this.propertyNames.type=new l(r.STRING),this}getMinProperties(){return this.minProperties}setMinProperties(e){return this.minProperties=e,this}getMaxProperties(){return this.maxProperties}setMaxProperties(e){return this.maxProperties=e,this}getPatternProperties(){return this.patternProperties}setPatternProperties(e){return this.patternProperties=e,this}getItems(){return this.items}setItems(e){return this.items=e,this}getContains(){return this.contains}setContains(e){return this.contains=e,this}getMinContains(){return this.minContains}setMinContains(e){return this.minContains=e,this}getMaxContains(){return this.maxContains}setMaxContains(e){return this.maxContains=e,this}getMinItems(){return this.minItems}setMinItems(e){return this.minItems=e,this}getMaxItems(){return this.maxItems}setMaxItems(e){return this.maxItems=e,this}getUniqueItems(){return this.uniqueItems}setUniqueItems(e){return this.uniqueItems=e,this}getPermission(){return this.permission}setPermission(e){return this.permission=e,this}}e({},"Parameter",()=>I),e({},"SchemaReferenceException",()=>d);class d extends Error{constructor(e,t,r){super(e.trim()?e+"-"+t:t),this.schemaPath=e,this.cause=r}getSchemaPath(){return this.schemaPath}getCause(){return this.cause}}e({},"ParameterType",()=>s),function(e){e.CONSTANT="CONSTANT",e.EXPRESSION="EXPRESSION"}(s||(s={}));let w="value";class I{static #e=(()=>{this.SCHEMA_NAME="Parameter"})();static #t=(()=>{this.SCHEMA=new O().setNamespace(E.SYSTEM).setName(I.SCHEMA_NAME).setProperties(new Map([["schema",O.SCHEMA],["parameterName",O.ofString("parameterName")],["variableArgument",O.of("variableArgument",r.BOOLEAN).setDefaultValue(!1)],["type",O.ofString("type").setEnums(["EXPRESSION","CONSTANT"])]]))})();static #r=(()=>{this.EXPRESSION=new O().setNamespace(E.SYSTEM).setName("ParameterExpression").setType(g.of(r.OBJECT)).setProperties(new Map([["isExpression",O.ofBoolean("isExpression").setDefaultValue(!0)],[w,O.ofAny(w)]]))})();constructor(e,t){if(this.variableArgument=!1,this.type=s.EXPRESSION,e instanceof I)this.schema=new O(e.schema),this.parameterName=e.parameterName,this.variableArgument=e.variableArgument,this.type=e.type;else{if(!t)throw Error("Unknown constructor signature");this.schema=t,this.parameterName=e}}getSchema(){return this.schema}setSchema(e){return this.schema=e,this}getParameterName(){return this.parameterName}setParameterName(e){return this.parameterName=e,this}isVariableArgument(){return this.variableArgument}setVariableArgument(e){return this.variableArgument=e,this}getType(){return this.type}setType(e){return this.type=e,this}static ofEntry(e,t,r=!1,n=s.EXPRESSION){return[e,new I(e,t).setType(n).setVariableArgument(r)]}static of(e,t,r=!1,n=s.EXPRESSION){return new I(e,t).setType(n).setVariableArgument(r)}static from(e){let t=O.from(e.schema);if(!t)throw new d("","Parameter requires Schema");return new I(e.parameterName,t).setVariableArgument(!!e.variableArgument).setType(e.type??s.EXPRESSION)}}let P=new Map([["any",O.ofAny("any").setNamespace(E.SYSTEM)],["boolean",O.ofBoolean("boolean").setNamespace(E.SYSTEM)],["double",O.ofDouble("double").setNamespace(E.SYSTEM)],["float",O.ofFloat("float").setNamespace(E.SYSTEM)],["integer",O.ofInteger("integer").setNamespace(E.SYSTEM)],["long",O.ofLong("long").setNamespace(E.SYSTEM)],["number",O.ofNumber("number").setNamespace(E.SYSTEM)],["string",O.ofString("string").setNamespace(E.SYSTEM)],[I.EXPRESSION.getName(),I.EXPRESSION],[O.NULL.getName(),O.NULL],[O.SCHEMA.getName(),O.SCHEMA]]),y=Array.from(P.values()).map(e=>e.getFullName());class x{async find(e,t){return E.SYSTEM!=e?Promise.resolve(void 0):Promise.resolve(P.get(t))}async filter(e){return Promise.resolve(y.filter(t=>-1!==t.toLowerCase().indexOf(e.toLowerCase())))}}function L(e){return[e.getSignature().getName(),e]}e({},"KIRunFunctionRepository",()=>sp);var U={};e(U,"MapUtil",()=>v),e(U,"MapEntry",()=>b);class v{static of(e,t,r,s,n,a,i,o,E,A,c,h,l,g,p,R,m,T,f,N){let _=new Map;return u(e)||u(t)||_.set(e,t),u(r)||u(s)||_.set(r,s),u(n)||u(a)||_.set(n,a),u(i)||u(o)||_.set(i,o),u(E)||u(A)||_.set(E,A),u(c)||u(h)||_.set(c,h),u(l)||u(g)||_.set(l,g),u(p)||u(R)||_.set(p,R),u(m)||u(T)||_.set(m,T),u(f)||u(N)||_.set(f,N),_}static ofArrayEntries(...e){let t=new Map;for(let[r,s]of e)t.set(r,s);return t}static entry(e,t){return new b(e,t)}static ofEntries(...e){let t=new Map;for(let r of e)t.set(r.k,r.v);return t}static ofEntriesArray(...e){let t=new Map;for(let r=0;r<e.length;r++)t.set(e[r][0],e[r][1]);return t}constructor(){}}class b{constructor(e,t){this.k=e,this.v=t}}e({},"EventResult",()=>C),e({},"Event",()=>V);class V{static #e=(()=>{this.OUTPUT="output"})();static #t=(()=>{this.ERROR="error"})();static #r=(()=>{this.ITERATION="iteration"})();static #s=(()=>{this.TRUE="true"})();static #n=(()=>{this.FALSE="false"})();static #a=(()=>{this.SCHEMA_NAME="Event"})();static #i=(()=>{this.SCHEMA=new O().setNamespace(E.SYSTEM).setName(V.SCHEMA_NAME).setType(g.of(r.OBJECT)).setProperties(new Map([["name",O.ofString("name")],["parameters",O.ofObject("parameter").setAdditionalProperties(new M().setSchemaValue(O.SCHEMA))]]))})();constructor(e,t){if(e instanceof V)this.name=e.name,this.parameters=new Map(Array.from(e.parameters.entries()).map(e=>[e[0],new O(e[1])]));else{if(this.name=e,!t)throw Error("Unknown constructor format");this.parameters=t}}getName(){return this.name}setName(e){return this.name=e,this}getParameters(){return this.parameters}setParameters(e){return this.parameters=e,this}static outputEventMapEntry(e){return V.eventMapEntry(V.OUTPUT,e)}static eventMapEntry(e,t){return[e,new V(e,t)]}static from(e){return new V(e.name,new Map(Object.entries(e.parameters??{}).map(e=>{let t=O.from(e[1]);if(!t)throw new d("","Event expects a schema");return[e[0],t]})))}}class C{constructor(e,t){this.name=e,this.result=t}getName(){return this.name}setName(e){return this.name=e,this}getResult(){return this.result}setResult(e){return this.result=e,this}static outputOf(e){return C.of(V.OUTPUT,e)}static of(e,t){return new C(e,t)}}e({},"FunctionOutput",()=>G),e({},"KIRuntimeException",()=>$);class $ extends Error{constructor(e,t){super(e),this.cause=t}getCause(){return this.cause}}class G{constructor(e){if(this.index=0,u(e))throw new $("Function output is generating null");Array.isArray(e)&&e.length&&e[0]instanceof C?this.fo=e:(this.fo=[],Array.isArray(e)||(this.generator=e))}next(){if(!this.generator)return this.index<this.fo.length?this.fo[this.index++]:void 0;let e=this.generator.next();return e&&this.fo.push(e),e}allResults(){return this.fo}}e({},"FunctionSignature",()=>D);class D{static #e=(()=>{this.SCHEMA_NAME="FunctionSignature"})();static #t=(()=>{this.SCHEMA=new O().setNamespace(E.SYSTEM).setName(D.SCHEMA_NAME).setProperties(new Map([["name",O.ofString("name")],["namespace",O.ofString("namespace")],["parameters",O.ofObject("parameters").setAdditionalProperties(new M().setSchemaValue(I.SCHEMA))],["events",O.ofObject("events").setAdditionalProperties(new M().setSchemaValue(V.SCHEMA))]]))})();constructor(e){this.namespace="_",this.parameters=new Map,this.events=new Map,e instanceof D?(this.name=e.name,this.namespace=e.namespace,this.parameters=new Map(Array.from(e.parameters.entries()).map(e=>[e[0],new I(e[1])])),this.events=new Map(Array.from(e.events.entries()).map(e=>[e[0],new V(e[1])]))):this.name=e}getNamespace(){return this.namespace}setNamespace(e){return this.namespace=e,this}getName(){return this.name}setName(e){return this.name=e,this}getParameters(){return this.parameters}setParameters(e){return this.parameters=e,this}getEvents(){return this.events}setEvents(e){return this.events=e,this}getFullName(){return this.namespace+"."+this.name}}e({},"AbstractFunction",()=>ei),e({},"SchemaValidator",()=>ea),e({},"deepEqual",()=>k),e({},"LinkedList",()=>Y),e({},"StringFormatter",()=>F);class F{static format(e,...t){if(!t||0==t.length)return e;let r="",s=0,n="",a=n,i=e.length;for(let o=0;o<i;o++)"$"==(n=e.charAt(o))&&"\\"==a?r=r.substring(0,o-1)+n:"$"==n&&s<t.length?r+=t[s++]:r+=n,a=n;return r.toString()}constructor(){}}class Y{constructor(e){if(this.head=void 0,this.tail=void 0,this.length=0,e?.length){for(let t of e)if(this.head){let e=new B(t,this.tail);this.tail.next=e,this.tail=e}else this.tail=this.head=new B(t);this.length=e.length}}push(e){let t=new B(e,void 0,this.head);this.head?(this.head.previous=t,this.head=t):this.tail=this.head=t,this.length++}pop(){if(!this.head)throw Error("List is empty and cannot pop further.");let e=this.head.value;if(this.length--,this.head==this.tail)return this.head=this.tail=void 0,e;let t=this.head;return this.head=t.next,t.next=void 0,t.previous=void 0,this.head.previous=void 0,e}isEmpty(){return!this.length}size(){return this.length}get(e){if(e<0||e>=this.length)throw Error(`${e} is out of bounds [0,${this.length}]`);let t=this.head;for(;e>0;)t=this.head.next,--e;return t.value}set(e,t){if(e<0||e>=this.length)throw new $(F.format("Index $ out of bound to set the value in linked list.",e));let r=this.head;for(;e>0;)r=this.head.next,--e;return r.value=t,this}toString(){let e=this.head,t="";for(;e;)t+=e.value,(e=e.next)&&(t+=", ");return`[${t}]`}toArray(){let e=[],t=this.head;for(;t;)e.push(t.value),t=t.next;return e}peek(){if(!this.head)throw Error("List is empty so cannot peak");return this.head.value}peekLast(){if(!this.tail)throw Error("List is empty so cannot peak");return this.tail.value}getFirst(){if(!this.head)throw Error("List is empty so cannot get first");return this.head.value}removeFirst(){return this.pop()}removeLast(){if(!this.tail)throw Error("List is empty so cannot remove");--this.length;let e=this.tail.value;if(0==this.length)this.head=this.tail=void 0;else{let e=this.tail.previous;e.next=void 0,this.tail.previous=void 0,this.tail=e}return e}addAll(e){return e&&e.length&&e.forEach(this.add.bind(this)),this}add(e){return++this.length,this.tail||this.head?this.head===this.tail?(this.tail=new B(e,this.head),this.head.next=this.tail):(this.tail=new B(e,this.tail),this.tail.previous.next=this.tail):this.head=this.tail=new B(e),this}map(e,t){let r=new Y,s=this.head,n=0;for(;s;)r.add(e(s.value,n)),s=s.next,++n;return r}indexOf(e){let t=this.head,r=0;for(;t;){if(k(t.value,e))return r;t=t.next,++r}return -1}forEach(e,t){let r=this.head,s=0;for(;r;)e(r.value,s),r=r.next,++s}}class B{constructor(e,t,r){this.value=e,this.next=r,this.previous=t}toString(){return""+this.value}}function k(e,t){let r=new Y;r.push(e);let s=new Y;for(s.push(t);!r.isEmpty()&&!s.isEmpty();){let e=r.pop(),t=s.pop();if(e===t)continue;let n=typeof e,a=typeof t;if("undefined"===n||"undefined"===a){if(!e&&!t)continue;return!1}if(n!==a)return!1;if(Array.isArray(e)){if(!Array.isArray(t)||e.length!=t.length)return!1;for(let n=0;n<e.length;n++)r.push(e[n]),s.push(t[n]);continue}if("object"===n){if("object"!==a||null===e||null===t)return!1;let n=Object.entries(e),i=Object.entries(t);if(n.length!==i.length)return!1;for(let[e,a]of n)r.push(a),s.push(t[e]);continue}return!1}return!0}e({},"StringUtil",()=>H);class H{constructor(){}static nthIndex(e,t,r=0,s){if(!e)throw new $("String cannot be null");if(r<0||r>=e.length)throw new $(F.format("Cannot search from index : $",r));if(s<=0||s>e.length)throw new $(F.format("Cannot search for occurance : $",s));for(;r<e.length;){if(e.charAt(r)==t&&0==--s)return r;++r}return -1}static splitAtFirstOccurance(e,t){if(!e)return[void 0,void 0];let r=e.indexOf(t);return -1==r?[e,void 0]:[e.substring(0,r),e.substring(r+1)]}static isNullOrBlank(e){return!e||""==e.trim()}}e({},"SchemaUtil",()=>z);var j={};e(j,"Tuple2",()=>X),e(j,"Tuple3",()=>W),e(j,"Tuple4",()=>q);class X{constructor(e,t){this.f=e,this.s=t}getT1(){return this.f}getT2(){return this.s}setT1(e){return this.f=e,this}setT2(e){return this.s=e,this}}class W extends X{constructor(e,t,r){super(e,t),this.t=r}getT3(){return this.t}setT1(e){return this.f=e,this}setT2(e){return this.s=e,this}setT3(e){return this.t=e,this}}class q extends W{constructor(e,t,r,s){super(e,t,r),this.fr=s}getT4(){return this.fr}setT1(e){return this.f=e,this}setT2(e){return this.s=e,this}setT3(e){return this.t=e,this}setT4(e){return this.fr=e,this}}e({},"SchemaValidationException",()=>J);class J extends Error{constructor(e,t,r=[],s){super(t+(r?r.map(e=>e.message).reduce((e,t)=>e+"\n"+t,""):"")),this.schemaPath=e,this.cause=s}getSchemaPath(){return this.schemaPath}getCause(){return this.cause}}class z{static #e=(()=>{this.UNABLE_TO_RETRIVE_SCHEMA_FROM_REFERENCED_PATH="Unable to retrive schema from referenced path"})();static #t=(()=>{this.CYCLIC_REFERENCE_LIMIT_COUNTER=20})();static async getDefaultValue(e,t){if(e)return e.getConstant()?e.getConstant():u(e.getDefaultValue())?z.getDefaultValue(await z.getSchemaFromRef(e,t,e.getRef()),t):e.getDefaultValue()}static async hasDefaultValueOrNullSchemaType(e,t){return e?e.getConstant()||!u(e.getDefaultValue())?Promise.resolve(!0):u(e.getRef())?e.getType()?.getAllowedSchemaTypes().has(r.NULL)?Promise.resolve(!0):Promise.resolve(!1):this.hasDefaultValueOrNullSchemaType(await z.getSchemaFromRef(e,t,e.getRef()),t):Promise.resolve(!1)}static async getSchemaFromRef(e,t,r,s=0){if(++s==z.CYCLIC_REFERENCE_LIMIT_COUNTER)throw new J(r??"","Schema has a cyclic reference");if(!e||!r||H.isNullOrBlank(r))return Promise.resolve(void 0);if(!r.startsWith("#")){var n=await z.resolveExternalSchema(e,t,r);n&&(e=n.getT1(),r=n.getT2())}let a=r.split("/");return 1===a.length?Promise.resolve(e):Promise.resolve(z.resolveInternalSchema(e,t,r,s,a,1))}static async resolveInternalSchema(e,t,s,n,a,i){let o=e;if(i!==a.length){for(;i<a.length;){if("$defs"===a[i]){if(++i>=a.length||!o.get$defs())throw new d(s,z.UNABLE_TO_RETRIVE_SCHEMA_FROM_REFERENCED_PATH);o=o.get$defs()?.get(a[i])}else{if(o&&(!o.getType()?.contains(r.OBJECT)||!o.getProperties()))throw new d(s,"Cannot retrievie schema from non Object type schemas");o=o.getProperties()?.get(a[i])}if(i++,!o||!H.isNullOrBlank(o.getRef())&&!(o=await z.getSchemaFromRef(o,t,o.getRef(),n)))throw new d(s,z.UNABLE_TO_RETRIVE_SCHEMA_FROM_REFERENCED_PATH)}return Promise.resolve(o)}}static async resolveExternalSchema(e,t,r){if(!t)return Promise.resolve(void 0);let s=H.splitAtFirstOccurance(r??"","/");if(!s[0])return Promise.resolve(void 0);let n=H.splitAtFirstOccurance(s[0],".");if(!n[0]||!n[1])return Promise.resolve(void 0);let a=await t.find(n[0],n[1]);if(!a)return Promise.resolve(void 0);if(!s[1]||""===s[1])return Promise.resolve(new X(a,r));if(r="#/"+s[1],!a)throw new d(r,z.UNABLE_TO_RETRIVE_SCHEMA_FROM_REFERENCED_PATH);return Promise.resolve(new X(a,r))}constructor(){}}e({},"AnyOfAllOfOneOfValidator",()=>K);class K{static validate(e,t,r,s){let n=[];return t.getOneOf()&&!t.getOneOf()?K.oneOf(e,t,r,s,n):t.getAllOf()&&!t.getAllOf()?K.allOf(e,t,r,s,n):t.getAnyOf()&&!t.getAnyOf()&&K.anyOf(e,t,r,s,n),s}static anyOf(e,t,r,s,n){let a=!1;for(let i of t.getAnyOf()??[])try{K.validate(e,i,r,s),a=!0;break}catch(e){a=!1,n.push(e)}if(!a)throw new J(ea.path(e),"The value don't satisfy any of the schemas.",n)}static allOf(e,t,r,s,n){let a=0;for(let i of t.getAllOf()??[])try{K.validate(e,i,r,s),a++}catch(e){n.push(e)}if(a!==t.getAllOf()?.length)throw new J(ea.path(e),"The value doesn't satisfy some of the schemas.",n)}static oneOf(e,t,r,s,n){let a=0;for(let i of t.getOneOf()??[])try{K.validate(e,i,r,s),a++}catch(e){n.push(e)}if(1!=a)throw new J(ea.path(e),0==a?"The value does not satisfy any schema":"The value satisfy more than one schema",n)}constructor(){}}e({},"TypeValidator",()=>en),e({},"ArrayValidator",()=>Q);class Q{static async validate(e,t,r,s){if(u(s))throw new J(ea.path(e),"Expected an array but found null");if(!Array.isArray(s))throw new J(ea.path(e),s.toString()+" is not an Array");return Q.checkMinMaxItems(e,t,s),await Q.checkItems(e,t,r,s),Q.checkUniqueItems(e,t,s),await Q.checkContains(t,e,r,s),s}static async checkContains(e,t,r,s){if(u(e.getContains()))return;let n=await Q.countContains(t,e,r,s,u(e.getMinContains())&&u(e.getMaxContains()));if(0===n)throw new J(ea.path(t),"None of the items are of type contains schema");if(!u(e.getMinContains())&&e.getMinContains()>n)throw new J(ea.path(t),"The minimum number of the items of type contains schema should be "+e.getMinContains()+" but found "+n);if(!u(e.getMaxContains())&&e.getMaxContains()<n)throw new J(ea.path(t),"The maximum number of the items of type contains schema should be "+e.getMaxContains()+" but found "+n)}static async countContains(e,t,r,s,n){let a=0;for(let i=0;i<s.length;i++){let o=e?[...e]:[];try{if(await ea.validate(o,t.getContains(),r,s[i]),a++,n)break}catch(e){}}return a}static checkUniqueItems(e,t,r){if(t.getUniqueItems()&&t.getUniqueItems()&&new Set(r).size!==r.length)throw new J(ea.path(e),"Items on the array are not unique")}static checkMinMaxItems(e,t,r){if(t.getMinItems()&&t.getMinItems()>r.length)throw new J(ea.path(e),"Array should have minimum of "+t.getMinItems()+" elements");if(t.getMaxItems()&&t.getMaxItems()<r.length)throw new J(ea.path(e),"Array can have maximum of "+t.getMaxItems()+" elements")}static async checkItems(e,t,r,s){if(!t.getItems())return;let n=t.getItems();if(n.getSingleSchema())for(let t=0;t<s.length;t++){let a=e?[...e]:[],i=await ea.validate(a,n.getSingleSchema(),r,s[t]);s[t]=i}if(n.getTupleSchema()){if(n.getTupleSchema().length!==s.length&&u(t?.getAdditionalItems()))throw new J(ea.path(e),"Expected an array with only "+n.getTupleSchema().length+" but found "+s.length);await this.checkItemsInTupleSchema(e,r,s,n),await this.checkAdditionalItems(e,t,r,s,n)}}static async checkItemsInTupleSchema(e,t,r,s){for(let n=0;n<s.getTupleSchema()?.length;n++){let a=e?[...e]:[],i=await ea.validate(a,s.getTupleSchema()[n],t,r[n]);r[n]=i}}static async checkAdditionalItems(e,t,r,s,n){if(!u(t.getAdditionalItems())){let a=t.getAdditionalItems();if(a?.getBooleanValue()){let i=O.ofAny("item");if(a?.getBooleanValue()===!1&&s.length>n.getTupleSchema()?.length)throw new J(ea.path(e),"No Additional Items are defined");await this.checkEachItemInAdditionalItems(e,t,r,s,n,i)}else if(a?.getSchemaValue()){let i=a.getSchemaValue();await this.checkEachItemInAdditionalItems(e,t,r,s,n,i)}}}static async checkEachItemInAdditionalItems(e,t,r,s,n,a){for(let t=n.getTupleSchema()?.length;t<s.length;t++){let n=e?[...e]:[],i=await ea.validate(n,a,r,s[t]);s[t]=i}}constructor(){}}e({},"BooleanValidator",()=>Z);class Z{static validate(e,t,r){if(u(r))throw new J(ea.path(e),"Expected a boolean but found null");if("boolean"!=typeof r)throw new J(ea.path(e),r.toString()+" is not a boolean");return r}constructor(){}}e({},"NullValidator",()=>ee);class ee{static validate(e,t,r){if(u(r))return r;throw new J(ea.path(e),"Expected a null but found "+r)}constructor(){}}e({},"NumberValidator",()=>et);class et{static validate(e,t,r,s){if(u(s))throw new J(ea.path(t),"Expected a number but found null");if("number"!=typeof s)throw new J(ea.path(t),s.toString()+" is not a "+e);let n=et.extractNumber(e,t,r,s);return et.checkRange(t,r,s,n),et.checkMultipleOf(t,r,s,n),s}static extractNumber(e,t,s,n){let a=n;try{(e==r.LONG||e==r.INTEGER)&&(a=Math.round(a))}catch(r){throw new J(ea.path(t),n+" is not a number of type "+e,r)}if(u(a)||(e==r.LONG||e==r.INTEGER)&&a!=n)throw new J(ea.path(t),n.toString()+" is not a number of type "+e);return a}static checkMultipleOf(e,t,r,s){if(t.getMultipleOf()&&s%t.getMultipleOf()!=0)throw new J(ea.path(e),r.toString()+" is not multiple of "+t.getMultipleOf())}static checkRange(e,t,r,s){if(!u(t.getMinimum())&&0>et.numberCompare(s,t.getMinimum()))throw new J(ea.path(e),r.toString()+" should be greater than or equal to "+t.getMinimum());if(!u(t.getMaximum())&&et.numberCompare(s,t.getMaximum())>0)throw new J(ea.path(e),r.toString()+" should be less than or equal to "+t.getMaximum());if(!u(t.getExclusiveMinimum())&&0>=et.numberCompare(s,t.getExclusiveMinimum()))throw new J(ea.path(e),r.toString()+" should be greater than "+t.getExclusiveMinimum());if(!u(t.getExclusiveMaximum())&&et.numberCompare(s,t.getExclusiveMaximum())>0)throw new J(ea.path(e),r.toString()+" should be less than "+t.getExclusiveMaximum())}static numberCompare(e,t){return e-t}constructor(){}}e({},"ObjectValidator",()=>er);class er{static async validate(e,t,r,s){if(u(s))throw new J(ea.path(e),"Expected an object but found null");if("object"!=typeof s||Array.isArray(s))throw new J(ea.path(e),s.toString()+" is not an Object");let n=new Set(Object.keys(s));er.checkMinMaxProperties(e,t,n),t.getPropertyNames()&&await er.checkPropertyNameSchema(e,t,r,n),t.getRequired()&&er.checkRequired(e,t,s),t.getProperties()&&await er.checkProperties(e,t,r,s,n),t.getPatternProperties()&&await er.checkPatternProperties(e,t,r,s,n),t.getAdditionalProperties()&&await er.checkAddtionalProperties(e,t,r,s,n)}static async checkPropertyNameSchema(e,t,r,s){for(let n of Array.from(s.values()))try{await ea.validate(e,t.getPropertyNames(),r,n)}catch(t){throw new J(ea.path(e),"Property name '"+n+"' does not fit the property schema")}}static checkRequired(e,t,r){for(let s of t.getRequired()??[])if(u(r[s]))throw new J(ea.path(e),s+" is mandatory")}static async checkAddtionalProperties(e,t,r,s,n){let a=t.getAdditionalProperties();if(a.getSchemaValue())for(let t of Array.from(n.values())){let n=e?[...e]:[],i=await ea.validate(n,a.getSchemaValue(),r,s[t]);s[t]=i}else if(!1===a.getBooleanValue()&&n.size)throw new J(ea.path(e),Array.from(n)+" is/are additional properties which are not allowed.")}static async checkPatternProperties(e,t,r,s,n){let a=new Map;for(let e of Array.from(t.getPatternProperties().keys()))a.set(e,new RegExp(e));for(let i of Array.from(n.values())){let o=e?[...e]:[];for(let e of Array.from(a.entries()))if(e[1].test(i)){let a=await ea.validate(o,t.getPatternProperties().get(e[0]),r,s[i]);s[i]=a,n.delete(i);break}}}static async checkProperties(e,t,r,s,n){for(let a of Array.from(t.getProperties())){let t=s[a[0]];if(!s.hasOwnProperty(a[0])&&u(t)){let e=await z.getDefaultValue(a[1],r);if(u(e))continue}let i=e?[...e]:[],o=await ea.validate(i,a[1],r,t);s[a[0]]=o,n.delete(a[0])}}static checkMinMaxProperties(e,t,r){if(t.getMinProperties()&&r.size<t.getMinProperties())throw new J(ea.path(e),"Object should have minimum of "+t.getMinProperties()+" properties");if(t.getMaxProperties()&&r.size>t.getMaxProperties())throw new J(ea.path(e),"Object can have maximum of "+t.getMaxProperties()+" properties")}constructor(){}}e({},"StringValidator",()=>es),e({},"StringFormat",()=>n),function(e){e.DATETIME="DATETIME",e.TIME="TIME",e.DATE="DATE",e.EMAIL="EMAIL",e.REGEX="REGEX"}(n||(n={}));class es{static #e=(()=>{this.TIME=/^([01]?[0-9]|2[0-3]):[0-5][0-9](:[0-5][0-9])?([+-][01][0-9]:[0-5][0-9])?$/})();static #t=(()=>{this.DATE=/^[0-9]{4,4}-([0][0-9]|[1][0-2])-(0[1-9]|[1-2][1-9]|3[01])$/})();static #r=(()=>{this.DATETIME=/^[0-9]{4,4}-([0][0-9]|[1][0-2])-(0[1-9]|[1-2][1-9]|3[01])T([01]?[0-9]|2[0-3]):[0-5][0-9](:[0-5][0-9])?([+-][01][0-9]:[0-5][0-9])?$/})();static #s=(()=>{this.EMAIL=/^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)*$/})();static validate(e,t,r){if(u(r))throw new J(ea.path(e),"Expected a string but found "+r);if("string"!=typeof r)throw new J(ea.path(e),r.toString()+" is not String");t.getFormat()==n.TIME?es.patternMatcher(e,t,r,es.TIME,"time pattern"):t.getFormat()==n.DATE?es.patternMatcher(e,t,r,es.DATE,"date pattern"):t.getFormat()==n.DATETIME?es.patternMatcher(e,t,r,es.DATETIME,"date time pattern"):t.getFormat()==n.EMAIL?es.patternMatcher(e,t,r,es.EMAIL,"email pattern"):t.getPattern()&&es.patternMatcher(e,t,r,new RegExp(t.getPattern()),"pattern "+t.getPattern());let s=r.length;if(t.getMinLength()&&s<t.getMinLength())throw new J(ea.path(e),"Expected a minimum of "+t.getMinLength()+" characters");if(t.getMaxLength()&&s>t.getMaxLength())throw new J(ea.path(e),"Expected a maximum of "+t.getMaxLength()+" characters");return r}static patternMatcher(e,t,r,s,n){if(!s.test(r))throw new J(ea.path(e),r.toString()+" is not matched with the "+n)}constructor(){}}class en{static async validate(e,t,s,n,a){if(t==r.STRING)es.validate(e,s,a);else if(t==r.LONG||t==r.INTEGER||t==r.DOUBLE||t==r.FLOAT)et.validate(t,e,s,a);else if(t==r.BOOLEAN)Z.validate(e,s,a);else if(t==r.OBJECT)await er.validate(e,s,n,a);else if(t==r.ARRAY)await Q.validate(e,s,n,a);else if(t==r.NULL)ee.validate(e,s,a);else throw new J(ea.path(e),t+" is not a valid type.");return a}constructor(){}}class ea{static path(e){return e?e.map(e=>e.getTitle()??"").filter(e=>!!e).reduce((e,t,r)=>e+(0===r?"":".")+t,""):""}static async validate(e,t,r,s){if(!t)throw new J(ea.path(e),"No schema found to validate");if(e||(e=[]),e.push(t),u(s)&&!u(t.getDefaultValue()))return JSON.parse(JSON.stringify(t.getDefaultValue()));if(!u(t.getConstant()))return ea.constantValidation(e,t,s);if(t.getEnums()&&!t.getEnums()?.length)return ea.enumCheck(e,t,s);if(t.getFormat()&&u(t.getType()))throw new J(this.path(e),"Type is missing in schema for declared "+t.getFormat()?.toString()+" format.");if(t.getType()&&await ea.typeValidation(e,t,r,s),!H.isNullOrBlank(t.getRef()))return await ea.validate(e,await z.getSchemaFromRef(e[0],r,t.getRef()),r,s);if((t.getOneOf()||t.getAllOf()||t.getAnyOf())&&K.validate(e,t,r,s),t.getNot()){let n=!1;try{await ea.validate(e,t.getNot(),r,s),n=!0}catch(e){n=!1}if(n)throw new J(ea.path(e),"Schema validated value in not condition.")}return s}static constantValidation(e,t,r){if(!k(t.getConstant(),r))throw new J(ea.path(e),"Expecting a constant value : "+r);return r}static enumCheck(e,t,r){let s=!1;for(let e of t.getEnums()??[])if(e===r){s=!0;break}if(s)return r;throw new J(ea.path(e),"Value is not one of "+t.getEnums())}static async typeValidation(e,t,r,s){let n,a=!1,i=[];for(n of Array.from(t.getType()?.getAllowedSchemaTypes()?.values()??[]))try{await en.validate(e,n,t,r,s),a=!0;break}catch(e){a=!1,i.push(e)}if(!a)throw new J(ea.path(e),"Value "+JSON.stringify(s)+" is not of valid type(s)",i)}constructor(){}}class ei{async validateArguments(e,t,r){let s=new Map;for(let n of Array.from(this.getSignature().getParameters().entries())){let a=n[1];try{let r=await this.validateArgument(e,t,n,a);s.set(r.getT1(),r.getT2())}catch(t){let e=this.getSignature();throw new $(`Error while executing the function ${e.getNamespace()}.${e.getName()}'s parameter ${a.getParameterName()} with step name '${r?.getStatement().getStatementName()??"Unknown Step"}' with error : ${t?.message}`)}}return s}async validateArgument(e,t,r,s){let n,a=r[0],i=e.get(r[0]);if(u(i)&&!s.isVariableArgument())return new X(a,await ea.validate(void 0,s.getSchema(),t,void 0));if(!s?.isVariableArgument())return new X(a,await ea.validate(void 0,s.getSchema(),t,i));Array.isArray(i)?n=i:(n=[],u(i)?u(s.getSchema().getDefaultValue())||n.push(s.getSchema().getDefaultValue()):n.push(i));for(let e=0;e<n.length;e++)n[e]=await ea.validate(void 0,s.getSchema(),t,n[e]);return new X(a,n)}async execute(e){let t=await this.validateArguments(e.getArguments()??new Map,e.getSchemaRepository(),e.getStatementExecution());e.setArguments(t);try{return this.internalExecute(e)}catch(r){let t=this.getSignature();throw new $(`Error while executing the function ${t.getNamespace()}.${t.getName()} with step name '${e.getStatementExecution()?.getStatement().getStatementName()??"Unknown Step"}' with error : ${r?.message}`)}}getProbableEventSignature(e){return this.getSignature().getEvents()}}class eo extends ei{static #e=(()=>{this.EVENT_INDEX_NAME="index"})();static #t=(()=>{this.EVENT_RESULT_NAME="result"})();static #r=(()=>{this.EVENT_INDEX=new V(V.OUTPUT,v.of(eo.EVENT_INDEX_NAME,O.ofInteger(eo.EVENT_INDEX_NAME)))})();static #s=(()=>{this.EVENT_RESULT_INTEGER=new V(V.OUTPUT,v.of(eo.EVENT_RESULT_NAME,O.ofInteger(eo.EVENT_RESULT_NAME)))})();static #n=(()=>{this.EVENT_RESULT_BOOLEAN=new V(V.OUTPUT,v.of(eo.EVENT_RESULT_NAME,O.ofBoolean(eo.EVENT_RESULT_NAME)))})();static #a=(()=>{this.EVENT_RESULT_ARRAY=new V(V.OUTPUT,v.of(eo.EVENT_RESULT_NAME,O.ofArray(eo.EVENT_RESULT_NAME,O.ofAny(eo.EVENT_RESULT_NAME))))})();static #i=(()=>{this.EVENT_RESULT_EMPTY=new V(V.OUTPUT,v.of())})();static #o=(()=>{this.EVENT_RESULT_ANY=new V(V.OUTPUT,v.of(this.EVENT_RESULT_NAME,O.ofAny(this.EVENT_RESULT_NAME)))})();static #E=(()=>{this.EVENT_RESULT_OBJECT=new V(V.OUTPUT,v.of(this.EVENT_RESULT_NAME,O.ofObject(this.EVENT_RESULT_NAME)))})();static #u=(()=>{this.PARAMETER_INT_LENGTH=I.of("length",O.ofInteger("length").setDefaultValue(-1))})();static #A=(()=>{this.PARAMETER_ARRAY_FIND=I.of("find",O.ofArray("eachFind",O.ofAny("eachFind")))})();static #c=(()=>{this.PARAMETER_INT_SOURCE_FROM=I.of("srcFrom",O.ofInteger("srcFrom").setDefaultValue(0).setMinimum(0))})();static #h=(()=>{this.PARAMETER_INT_SECOND_SOURCE_FROM=I.of("secondSrcFrom",O.ofInteger("secondSrcFrom").setDefaultValue(0))})();static #l=(()=>{this.PARAMETER_INT_FIND_FROM=I.of("findFrom",O.ofInteger("findFrom").setDefaultValue(0))})();static #g=(()=>{this.PARAMETER_INT_OFFSET=I.of("offset",O.ofInteger("offset").setDefaultValue(0))})();static #p=(()=>{this.PARAMETER_ROTATE_LENGTH=I.of("rotateLength",O.ofInteger("rotateLength").setDefaultValue(1).setMinimum(1))})();static #R=(()=>{this.PARAMETER_BOOLEAN_ASCENDING=I.of("ascending",O.ofBoolean("ascending").setDefaultValue(!0))})();static #m=(()=>{this.PARAMETER_KEY_PATH=I.of("keyPath",O.ofString("keyPath").setDefaultValue(""))})();static #T=(()=>{this.PARAMETER_FIND_PRIMITIVE=I.of("findPrimitive",O.of("findPrimitive",r.STRING,r.DOUBLE,r.FLOAT,r.INTEGER,r.LONG))})();static #f=(()=>{this.PARAMETER_ARRAY_SOURCE=I.of("source",O.ofArray("eachSource",O.ofAny("eachSource")))})();static #N=(()=>{this.PARAMETER_ARRAY_SECOND_SOURCE=I.of("secondSource",O.ofArray("eachSecondSource",O.ofAny("eachSecondSource")))})();static #_=(()=>{this.PARAMETER_ARRAY_SOURCE_PRIMITIVE=I.of("source",O.ofArray("eachSource",new O().setName("eachSource").setType(g.of(r.STRING,r.NULL,r.INTEGER,r.FLOAT,r.DOUBLE,r.LONG))))})();static #S=(()=>{this.PARAMETER_BOOLEAN_DEEP_COPY=I.of("deepCopy",O.ofBoolean("deepCopy").setDefaultValue(!0))})();static #M=(()=>{this.PARAMETER_ANY=I.of("element",O.ofAny("element"))})();static #O=(()=>{this.PARAMETER_ANY_NOT_NULL=I.of("elementObject",O.ofAnyNotNull("elementObject"))})();static #d=(()=>{this.PARAMETER_ANY_VAR_ARGS=I.of("element",O.ofAny("element")).setVariableArgument(!0)})();static #w=(()=>{this.PARAMETER_ARRAY_RESULT=I.of(eo.EVENT_RESULT_NAME,O.ofArray("eachResult",O.ofAny("eachResult")))})();constructor(e,t,r){super();let s=new Map;for(let e of t)s.set(e.getParameterName(),e);this.signature=new D(e).setNamespace(E.SYSTEM_ARRAY).setParameters(s).setEvents(v.of(r.getName(),r))}getSignature(){return this.signature}}class eE extends eo{constructor(){super("Concatenate",[eo.PARAMETER_ARRAY_SOURCE,eo.PARAMETER_ARRAY_SECOND_SOURCE],eo.EVENT_RESULT_ARRAY)}async internalExecute(e){let t=e?.getArguments()?.get(eo.PARAMETER_ARRAY_SOURCE.getParameterName()),r=e?.getArguments()?.get(eo.PARAMETER_ARRAY_SECOND_SOURCE.getParameterName());return new G([C.outputOf(new Map([[eo.EVENT_RESULT_NAME,[...t,...r]]]))])}}class eu extends eo{constructor(){super("AddFirst",[eo.PARAMETER_ARRAY_SOURCE,eo.PARAMETER_ANY],eo.EVENT_RESULT_ARRAY)}async internalExecute(e){let t=e?.getArguments()?.get(eo.PARAMETER_ARRAY_SOURCE.getParameterName()),r=e?.getArguments()?.get(eo.PARAMETER_ANY.getParameterName());if(0==(t=[...t]).length)return t.push(r),new G([C.outputOf(new Map([]))]);t.push(r);let s=t.length-1;for(;s>0;){let e=t[s-1];t[s-1]=t[s],t[s--]=e}return new G([C.outputOf(new Map([[eo.EVENT_RESULT_NAME,t]]))])}}let eA="keyName";class ec extends eo{constructor(){super("ArrayToArrayOfObjects",[eo.PARAMETER_ARRAY_SOURCE,I.of(eA,O.ofString(eA),!0)],eo.EVENT_RESULT_ARRAY)}async internalExecute(e){let t=e?.getArguments()?.get(ec.PARAMETER_ARRAY_SOURCE.getParameterName()),r=e?.getArguments()?.get(eA);if(!t?.length)return new G([C.outputOf(new Map([[eo.EVENT_RESULT_NAME,[]]]))]);let s=t.map(e=>{let t={};if(Array.isArray(e)){if(r.length)r.forEach((r,s)=>{t[r]=e[s]});else for(let r=0;r<e.length;r++)t[`value${r+1}`]=e[r]}else t[r.length?r[0]:"value"]=e;return t});return new G([C.outputOf(new Map([[eo.EVENT_RESULT_NAME,s]]))])}}e({},"PrimitiveUtil",()=>el),e({},"ExecutionException",()=>eh);class eh extends Error{constructor(e,t){super(e),this.cause=t}getCause(){return this.cause}}class el{static findPrimitiveNullAsBoolean(e){if(u(e))return new X(r.BOOLEAN,!1);let t=typeof e;if("object"===t)throw new eh(F.format("$ is not a primitive type",e));return"boolean"===t?new X(r.BOOLEAN,e):"string"===t?new X(r.STRING,e):el.findPrimitiveNumberType(e)}static findPrimitive(e){if(u(e))return new X(r.NULL,void 0);let t=typeof e;if("object"===t)throw new eh(F.format("$ is not a primitive type",e));return"boolean"===t?new X(r.BOOLEAN,e):"string"===t?new X(r.STRING,e):el.findPrimitiveNumberType(e)}static findPrimitiveNumberType(e){if(u(e)||Array.isArray(e)||"object"==typeof e)throw new eh(F.format("Unable to convert $ to a number.",e));try{if(Number.isInteger(e))return new X(r.LONG,e);return new X(r.DOUBLE,e)}catch(t){throw new eh(F.format("Unable to convert $ to a number.",e),t)}}static compare(e,t){if(e==t)return 0;if(u(e)||u(t))return u(e)?-1:1;if(Array.isArray(e)||Array.isArray(t)){if(Array.isArray(e)&&Array.isArray(t)){if(e.length!=t.length)return e.length-t.length;for(let r=0;r<e.length;r++){let s=this.compare(e[r],t[r]);if(0!=s)return s}return 0}return Array.isArray(e)?-1:1}let r=typeof e,s=typeof t;return"object"===r||"object"===s?("object"===r&&"object"===s&&Object.keys(e).forEach(r=>{let s=this.compare(e[r],t[r]);if(0!=s)return s}),"object"===r?-1:1):this.comparePrimitive(e,t)}static comparePrimitive(e,t){return u(e)||u(t)?u(e)&&u(t)?0:u(e)?-1:1:e==t?0:"boolean"==typeof e||"boolean"==typeof t?e?-1:1:"string"==typeof e||"string"==typeof t?e+""<t+""?-1:1:"number"==typeof e||"number"==typeof t?e-t:0}static baseNumberType(e){return Number.isInteger(e)?r.LONG:r.DOUBLE}static toPrimitiveType(e){return e}constructor(){}}class eg extends eo{constructor(){super("BinarySearch",[eg.PARAMETER_ARRAY_SOURCE_PRIMITIVE,eg.PARAMETER_INT_SOURCE_FROM,eg.PARAMETER_FIND_PRIMITIVE,eg.PARAMETER_INT_LENGTH],eg.EVENT_INDEX)}async internalExecute(e){let t=e?.getArguments()?.get(eg.PARAMETER_ARRAY_SOURCE.getParameterName()),r=e?.getArguments()?.get(eg.PARAMETER_INT_SOURCE_FROM.getParameterName()),s=e?.getArguments()?.get(eg.PARAMETER_FIND_PRIMITIVE.getParameterName()),n=e?.getArguments()?.get(eg.PARAMETER_INT_LENGTH.getParameterName());if(0==t.length||r<0||r>t.length)throw new $("Search source array cannot be empty");if(-1==n&&(n=t.length-r),(n=r+n)>t.length)throw new $("End point for array cannot be more than the size of the source array");let a=-1;for(;r<=n;){let e=Math.floor((r+n)/2);if(0==el.compare(t[e],s)){a=e;break}el.compare(t[e],s)>0?n=e-1:r=e+1}return new G([C.outputOf(new Map([[eg.EVENT_INDEX_NAME,a]]))])}}e({},"ArrayUtil",()=>ep);class ep{static removeAListFrom(e,t){if(!t||!e||!e.length||!t.length)return;let r=new Set(t);for(let t=0;t<e.length;t++)r.has(e[t])&&(e.splice(t,1),t--)}static of(...e){let t=Array(e.length);for(let r=0;r<e.length;r++)t[r]=e[r];return t}constructor(){}}class eR extends eo{constructor(){super("Compare",ep.of(eR.PARAMETER_ARRAY_SOURCE,eR.PARAMETER_INT_SOURCE_FROM,eR.PARAMETER_ARRAY_FIND,eR.PARAMETER_INT_FIND_FROM,eR.PARAMETER_INT_LENGTH),eR.EVENT_RESULT_INTEGER)}async internalExecute(e){var t=e?.getArguments()?.get(eR.PARAMETER_ARRAY_SOURCE.getParameterName()),r=e?.getArguments()?.get(eR.PARAMETER_INT_SOURCE_FROM.getParameterName()),s=e?.getArguments()?.get(eR.PARAMETER_ARRAY_FIND.getParameterName()),n=e?.getArguments()?.get(eR.PARAMETER_INT_FIND_FROM.getParameterName()),a=e?.getArguments()?.get(eR.PARAMETER_INT_LENGTH.getParameterName());if(0==t.length)throw new $("Compare source array cannot be empty");if(0==s.length)throw new $("Compare find array cannot be empty");if(-1==a&&(a=t.length-r),r+a>t.length)throw new $(F.format("Source array size $ is less than comparing size $",t.length,r+a));if(n+a>s.length)throw new $(F.format("Find array size $ is less than comparing size $",s.length,n+a));return new G(ep.of(C.outputOf(v.of(eR.EVENT_RESULT_NAME,this.compare(t,r,r+a,s,n,n+a)))))}compare(e,t,r,s,n,a){if(r<t){let e=t;t=r,r=e}if(a<n){let e=n;n=a,a=e}if(r-t!=a-n)throw new $(F.format("Cannot compare uneven arrays from $ to $ in source array with $ to $ in find array",r,t,a,n));for(let a=t,i=n;a<r;a++,i++){let t=1;if(u(e[a])||u(s[i])){let r=u(e[a]);r==u(s[i])?t=0:r&&(t=-1)}else{let r=typeof e[a],n=typeof s[i];if("object"===r||"object"===n)t=1;else if("string"===r||"string"===n){let r=""+e[a],n=""+s[i];r===n?t=0:r<n&&(t=-1)}else"boolean"===r||"boolean"===n?t=r==n?0:1:"number"===r&&"number"===n&&(t=e[a]-s[i])}if(0!=t)return t}return 0}}function em(e){return e?globalThis.structuredClone?globalThis.structuredClone(e):JSON.parse(JSON.stringify(e)):e}e({},"duplicate",()=>em);class eT extends eo{constructor(){super("Copy",[eT.PARAMETER_ARRAY_SOURCE,eT.PARAMETER_INT_SOURCE_FROM,eT.PARAMETER_INT_LENGTH,eT.PARAMETER_BOOLEAN_DEEP_COPY],eT.EVENT_RESULT_ARRAY)}async internalExecute(e){var t=e?.getArguments()?.get(eT.PARAMETER_ARRAY_SOURCE.getParameterName()),r=e?.getArguments()?.get(eT.PARAMETER_INT_SOURCE_FROM.getParameterName()),s=e?.getArguments()?.get(eT.PARAMETER_INT_LENGTH.getParameterName());if(-1==s&&(s=t.length-r),r+s>t.length)throw new $(F.format("Array has no elements from $ to $ as the array size is $",r,r+s,t.length));var n=e?.getArguments()?.get(eT.PARAMETER_BOOLEAN_DEEP_COPY.getParameterName());let a=Array(s);for(let e=r;e<r+s;e++)u(t[e])||(a[e-r]=n?em(t[e]):t[e]);return new G([C.outputOf(v.of(eT.EVENT_RESULT_NAME,a))])}}class ef extends eo{constructor(){super("Delete",[eo.PARAMETER_ARRAY_SOURCE,eo.PARAMETER_ANY_VAR_ARGS],eo.EVENT_RESULT_ARRAY)}async internalExecute(e){let t=e?.getArguments()?.get(ef.PARAMETER_ARRAY_SOURCE.getParameterName()),r=e?.getArguments()?.get(ef.PARAMETER_ANY_VAR_ARGS.getParameterName());if(null==r)throw new $("The deletable var args are empty. So cannot be proceeded further.");if(0==t.length||0==r.length)throw new $("Expected a source or deletable for an array but not found any");let s=new Set;for(let e=t.length-1;e>=0;e--)for(let n=0;n<r.length;n++)s.has(e)||0!=el.compare(t[e],r[n])||s.add(t[e]);return new G([C.outputOf(new Map([[eo.EVENT_RESULT_NAME,t.filter(e=>!s.has(e))]]))])}}class eN extends eo{constructor(){super("DeleteFirst",[eN.PARAMETER_ARRAY_SOURCE],eN.EVENT_RESULT_ARRAY)}async internalExecute(e){let t=e?.getArguments()?.get(eN.PARAMETER_ARRAY_SOURCE.getParameterName());if(0==t.length)throw new $("Given source array is empty");return(t=[...t]).shift(),new G([C.outputOf(new Map([[eo.EVENT_RESULT_NAME,t]]))])}}class e_ extends eo{constructor(){super("DeleteFrom",[e_.PARAMETER_ARRAY_SOURCE,e_.PARAMETER_INT_SOURCE_FROM,e_.PARAMETER_INT_LENGTH],e_.EVENT_RESULT_ARRAY)}async internalExecute(e){let t=e?.getArguments()?.get(e_.PARAMETER_ARRAY_SOURCE.getParameterName()),r=e?.getArguments()?.get(e_.PARAMETER_INT_SOURCE_FROM.getParameterName()),s=e?.getArguments()?.get(e_.PARAMETER_INT_LENGTH.getParameterName());if(0==t.length)throw new $("There are no elements to be deleted");if(r>=(t=[...t]).length||r<0)throw new $("The int source for the array should be in between 0 and length of the array ");if(-1==s&&(s=t.length-r),r+s>t.length)throw new $("Requested length to be deleted is more than the size of array ");return t.splice(r,s),new G([C.outputOf(new Map([[eo.EVENT_RESULT_NAME,t]]))])}}class eS extends eo{constructor(){super("DeleteLast",[eS.PARAMETER_ARRAY_SOURCE],eS.EVENT_RESULT_ARRAY)}async internalExecute(e){let t=e?.getArguments()?.get(eS.PARAMETER_ARRAY_SOURCE.getParameterName());if(0==t.length)throw new $("Given source array is empty");return(t=[...t]).pop(),new G([C.outputOf(new Map([[eo.EVENT_RESULT_NAME,t]]))])}}class eM extends eo{constructor(){super("Disjoint",[eM.PARAMETER_ARRAY_SOURCE,eM.PARAMETER_INT_SOURCE_FROM,eM.PARAMETER_ARRAY_SECOND_SOURCE,eM.PARAMETER_INT_SECOND_SOURCE_FROM,eM.PARAMETER_INT_LENGTH],eM.EVENT_RESULT_ARRAY)}async internalExecute(e){let t=e?.getArguments()?.get(eM.PARAMETER_ARRAY_SOURCE.getParameterName()),r=e?.getArguments()?.get(eM.PARAMETER_INT_SOURCE_FROM.getParameterName()),s=e?.getArguments()?.get(eM.PARAMETER_ARRAY_SECOND_SOURCE.getParameterName()),n=e?.getArguments()?.get(eM.PARAMETER_INT_SECOND_SOURCE_FROM.getParameterName()),a=e?.getArguments()?.get(eM.PARAMETER_INT_LENGTH.getParameterName());if(-1==a&&(a=t.length<=s.length?t.length-r:s.length-n),a>t.length||a>s.length||r+a>t.length||n+a>s.length)throw new $("The length which was being requested is more than than the size either source array or second source array");let i=new Set,o=new Set;for(let e=0;e<a;e++)i.add(t[e+r]);for(let e=0;e<a;e++)o.add(s[e+n]);let E=new Set;return i.forEach(e=>{o.has(e)?o.delete(e):E.add(e)}),o.forEach(e=>{i.has(e)||E.add(e)}),new G([C.outputOf(new Map([[eM.EVENT_RESULT_NAME,[...E]]]))])}}class eO extends eo{constructor(){super("Equals",[eO.PARAMETER_ARRAY_SOURCE,eO.PARAMETER_INT_SOURCE_FROM,eO.PARAMETER_ARRAY_FIND,eO.PARAMETER_INT_FIND_FROM,eO.PARAMETER_INT_LENGTH],eO.EVENT_RESULT_BOOLEAN)}async internalExecute(e){let t=new eR,r=(await t.execute(e)).allResults()[0].getResult().get(eO.EVENT_RESULT_NAME);return new G([C.outputOf(v.of(eO.EVENT_RESULT_NAME,0==r))])}}class ed extends eo{constructor(){super("Fill",[ed.PARAMETER_ARRAY_SOURCE,ed.PARAMETER_INT_SOURCE_FROM,ed.PARAMETER_INT_LENGTH,ed.PARAMETER_ANY],ed.EVENT_RESULT_EMPTY)}async internalExecute(e){var t=e?.getArguments()?.get(ed.PARAMETER_ARRAY_SOURCE.getParameterName()),r=e?.getArguments()?.get(ed.PARAMETER_INT_SOURCE_FROM.getParameterName()),s=e?.getArguments()?.get(ed.PARAMETER_INT_LENGTH.getParameterName()),n=e?.getArguments()?.get(ed.PARAMETER_ANY.getParameterName());if(r<0)throw new $(F.format("Arrays out of bound trying to access $ index",r));-1==s&&(s=t.length-r);let a=r+s-t.length;if(t=[...t],a>0)for(let e=0;e<a;e++)t.push();for(let e=r;e<r+s;e++)t[e]=u(n)?n:em(n);return new G([C.outputOf(v.of(eo.EVENT_RESULT_NAME,t))])}}class ew extends eo{constructor(){super("Frequency",[ew.PARAMETER_ARRAY_SOURCE,ew.PARAMETER_ANY,ew.PARAMETER_INT_SOURCE_FROM,ew.PARAMETER_INT_LENGTH],ew.EVENT_RESULT_INTEGER)}async internalExecute(e){let t=e?.getArguments()?.get(ew.PARAMETER_ARRAY_SOURCE.getParameterName()),r=e?.getArguments()?.get(ew.PARAMETER_ANY.getParameterName()),s=e?.getArguments()?.get(ew.PARAMETER_INT_SOURCE_FROM.getParameterName()),n=e?.getArguments()?.get(ew.PARAMETER_INT_LENGTH.getParameterName());if(0==t.length)return new G([C.outputOf(new Map([[ew.EVENT_RESULT_NAME,0]]))]);if(s>t.length)throw new $("Given start point is more than the size of source");let a=s+n;if(-1==n&&(a=t.length-s),a>t.length)throw new $("Given length is more than the size of source");let i=0;for(let e=s;e<a&&e<t.length;e++)0==el.compare(t[e],r)&&i++;return new G([C.outputOf(new Map([[ew.EVENT_RESULT_NAME,i]]))])}}class eI extends eo{constructor(){super("IndexOf",[eI.PARAMETER_ARRAY_SOURCE,eI.PARAMETER_ANY_NOT_NULL,eI.PARAMETER_INT_FIND_FROM],eI.EVENT_RESULT_INTEGER)}async internalExecute(e){let t=e?.getArguments()?.get(eI.PARAMETER_ARRAY_SOURCE.getParameterName());var r=e?.getArguments()?.get(eI.PARAMETER_ANY_NOT_NULL.getParameterName());let s=e?.getArguments()?.get(eI.PARAMETER_INT_FIND_FROM.getParameterName());if(0==t.length)return new G([C.outputOf(new Map([[eI.EVENT_RESULT_NAME,-1]]))]);if(s<0||s>t.length)throw new $("The size of the search index of the array is greater than the size of the array");let n=-1;for(let e=s;e<t.length;e++)if(0==el.compare(t[e],r)){n=e;break}return new G([C.outputOf(new Map([[eI.EVENT_RESULT_NAME,n]]))])}}class eP extends eo{constructor(){super("IndexOfArray",[eP.PARAMETER_ARRAY_SOURCE,eP.PARAMETER_ARRAY_SECOND_SOURCE,eP.PARAMETER_INT_FIND_FROM],eP.EVENT_RESULT_INTEGER)}async internalExecute(e){let t=e?.getArguments()?.get(eP.PARAMETER_ARRAY_SOURCE.getParameterName()),r=e?.getArguments()?.get(eP.PARAMETER_ARRAY_SECOND_SOURCE.getParameterName()),s=e?.getArguments()?.get(eP.PARAMETER_INT_FIND_FROM.getParameterName());if(0==t.length||0==r.length)return new G([C.outputOf(new Map([[eP.EVENT_RESULT_NAME,-1]]))]);if(s<0||s>t.length||t.length<r.length)throw new $("Given from second source is more than the size of the source array");let n=r.length,a=-1;for(let e=s;e<t.length;e++){let s=0;if(0==el.compare(t[e],r[s])){for(;s<n&&0==el.compare(t[e+s],r[s]);)s++;if(s==n){a=e;break}}}return new G([C.outputOf(new Map([[eP.EVENT_RESULT_NAME,a]]))])}}class ey extends eo{constructor(){super("LastIndexOf",[ey.PARAMETER_ARRAY_SOURCE,ey.PARAMETER_ANY_NOT_NULL,ey.PARAMETER_INT_FIND_FROM],ey.EVENT_RESULT_INTEGER)}async internalExecute(e){let t=e?.getArguments()?.get(ey.PARAMETER_ARRAY_SOURCE.getParameterName());var r=e?.getArguments()?.get(ey.PARAMETER_ANY_NOT_NULL.getParameterName());let s=e?.getArguments()?.get(ey.PARAMETER_INT_FIND_FROM.getParameterName());if(0==t.length)return new G([C.outputOf(new Map([[ey.EVENT_RESULT_NAME,-1]]))]);if(s<0||s>t.length)throw new $("The value of length shouldn't the exceed the size of the array or shouldn't be in terms");let n=-1;for(let e=t.length-1;e>=s;e--)if(0==el.compare(t[e],r)){n=e;break}return new G([C.outputOf(new Map([[ey.EVENT_RESULT_NAME,n]]))])}}class ex extends eo{constructor(){super("LastIndexOfArray",[ex.PARAMETER_ARRAY_SOURCE,ex.PARAMETER_ARRAY_SECOND_SOURCE,ex.PARAMETER_INT_FIND_FROM],ex.EVENT_RESULT_INTEGER)}async internalExecute(e){let t=e?.getArguments()?.get(ex.PARAMETER_ARRAY_SOURCE.getParameterName()),r=e?.getArguments()?.get(ex.PARAMETER_ARRAY_SECOND_SOURCE.getParameterName()),s=e?.getArguments()?.get(ex.PARAMETER_INT_FIND_FROM.getParameterName());if(0==t.length)return new G([C.outputOf(new Map([[ex.EVENT_RESULT_NAME,-1]]))]);if(s<0||s>t.length||r.length>t.length)throw new $("Given from index is more than the size of the source array");let n=r.length,a=-1;for(let e=s;e<t.length;e++){let s=0;if(0==el.compare(t[e],r[s])){for(;s<n&&0==el.compare(t[e+s],r[s]);)s++;s==n&&(a=e)}}return new G([C.outputOf(new Map([[ex.EVENT_RESULT_NAME,a]]))])}}class eL extends eo{constructor(){super("Max",[eL.PARAMETER_ARRAY_SOURCE_PRIMITIVE],eL.EVENT_RESULT_ANY)}async internalExecute(e){let t=e?.getArguments()?.get(eL.PARAMETER_ARRAY_SOURCE_PRIMITIVE.getParameterName());if(0==t.length)throw new $("Search source array cannot be empty");let r=t[0];for(let e=1;e<t.length;e++){let s=t[e];el.comparePrimitive(r,s)>=0||(r=s)}return new G([C.outputOf(new Map([[eL.EVENT_RESULT_NAME,r]]))])}}class eU extends eo{constructor(){super("Min",[eU.PARAMETER_ARRAY_SOURCE_PRIMITIVE],eU.EVENT_RESULT_ANY)}async internalExecute(e){let t,r=e?.getArguments()?.get(eU.PARAMETER_ARRAY_SOURCE_PRIMITIVE.getParameterName());if(0==r.length)throw new $("Search source array cannot be empty");for(let e=0;e<r.length;e++)!u(r[e])&&(void 0===t||0>el.comparePrimitive(r[e],t))&&(t=r[e]);return new G([C.outputOf(new Map([[eU.EVENT_RESULT_NAME,t]]))])}}class ev extends eo{constructor(){super("MisMatch",[ev.PARAMETER_ARRAY_SOURCE,ev.PARAMETER_INT_FIND_FROM,ev.PARAMETER_ARRAY_SECOND_SOURCE,ev.PARAMETER_INT_SECOND_SOURCE_FROM,ev.PARAMETER_INT_LENGTH],ev.EVENT_RESULT_INTEGER)}async internalExecute(e){let t=e?.getArguments()?.get(ev.PARAMETER_ARRAY_SOURCE.getParameterName()),r=e?.getArguments()?.get(ev.PARAMETER_INT_FIND_FROM.getParameterName()),s=e?.getArguments()?.get(ev.PARAMETER_ARRAY_SECOND_SOURCE.getParameterName()),n=e?.getArguments()?.get(ev.PARAMETER_INT_SECOND_SOURCE_FROM.getParameterName()),a=e?.getArguments()?.get(ev.PARAMETER_INT_LENGTH.getParameterName()),i=r<t.length&&r>0?r:0,o=n<s.length&&n>0?n:0;if(i+a>=t.length||o+a>s.length)throw new $("The size of the array for first and second which was being requested is more than size of the given array");let E=-1;for(let e=0;e<a;e++)if(t[i+e]!=s[o+e]){E=e;break}return new G([C.outputOf(new Map([[ev.EVENT_RESULT_NAME,E]]))])}}class eb extends eo{constructor(){super("Reverse",[eb.PARAMETER_ARRAY_SOURCE,eb.PARAMETER_INT_SOURCE_FROM,eb.PARAMETER_INT_LENGTH],eb.EVENT_RESULT_ARRAY)}async internalExecute(e){let t=e?.getArguments()?.get(eb.PARAMETER_ARRAY_SOURCE.getParameterName()),r=e?.getArguments()?.get(eb.PARAMETER_INT_SOURCE_FROM.getParameterName()),s=e?.getArguments()?.get(eb.PARAMETER_INT_LENGTH.getParameterName());if(-1==s&&(s=t.length-r),s>=t.length||s<0||r<0)throw new $("Please provide start point between the start and end indexes or provide the length which was less than the source size ");t=[...t];let n=r+s-1;for(;r<=n;){let e=t[r],s=t[n];t[r++]=s,t[n--]=e}return new G([C.outputOf(new Map([[eb.EVENT_RESULT_NAME,t]]))])}}class eV extends eo{constructor(){super("Rotate",[eV.PARAMETER_ARRAY_SOURCE,eV.PARAMETER_ROTATE_LENGTH],eV.EVENT_RESULT_ANY)}async internalExecute(e){let t=e?.getArguments()?.get(eV.PARAMETER_ARRAY_SOURCE.getParameterName()),r=e?.getArguments()?.get(eV.PARAMETER_ROTATE_LENGTH.getParameterName());if(0==t.length)return new G([C.outputOf(new Map([[eo.EVENT_RESULT_NAME,t]]))]);let s=(t=[...t]).length;return r%=s,this.rotate(t,0,r-1),this.rotate(t,r,s-1),this.rotate(t,0,s-1),new G([C.outputOf(new Map([[eo.EVENT_RESULT_NAME,t]]))])}rotate(e,t,r){for(;t<r;){let s=e[t];e[t++]=e[r],e[r--]=s}}}class eC extends eo{constructor(){super("Shuffle",[eC.PARAMETER_ARRAY_SOURCE],eC.EVENT_RESULT_ANY)}async internalExecute(e){let t=e?.getArguments()?.get(eC.PARAMETER_ARRAY_SOURCE.getParameterName());if(t.length<=1)return new G([C.outputOf(new Map([[eo.EVENT_RESULT_NAME,t]]))]);let r=0,s=(t=[...t]).length;for(let e=0;e<s;e++){let e=Math.floor(Math.random()*s)%s,n=t[r];t[r]=t[e],t[e]=n,r=e}return new G([C.outputOf(new Map([[eo.EVENT_RESULT_NAME,t]]))])}}e({},"ObjectValueSetterExtractor",()=>eH),e({},"Expression",()=>eB),e({},"StringBuilder",()=>e$);class e${constructor(e){this.str=e??""}append(e){return this.str+=e,this}toString(){return""+this.str}trim(){return this.str=this.str.trim(),this}setLength(e){return this.str=this.str.substring(0,e),this}length(){return this.str.length}charAt(e){return this.str.charAt(e)}deleteCharAt(e){return this.checkIndex(e),this.str=this.str.substring(0,e)+this.str.substring(e+1),this}insert(e,t){return this.str=this.str.substring(0,e)+t+this.str.substring(e),this}checkIndex(e){if(e>=this.str.length)throw new $(`Index ${e} is greater than or equal to ${this.str.length}`)}substring(e,t){return this.str.substring(e,t)}}e({},"ExpressionEvaluationException",()=>eG);class eG extends Error{constructor(e,t,r){super(F.format("$ : $",e,t)),this.cause=r}getCause(){return this.cause}}e({},"ExpressionToken",()=>eD);class eD{constructor(e){this.expression=e}getExpression(){return this.expression}toString(){return this.expression}}e({},"ExpressionTokenValue",()=>eF);class eF extends eD{constructor(e,t){super(e),this.element=t}getTokenValue(){return this.element}getElement(){return this.element}toString(){return F.format("$: $",this.expression,this.element)}}e({},"Operation",()=>eY);class eY{static #e=(()=>{this.MULTIPLICATION=new eY("*")})();static #t=(()=>{this.DIVISION=new eY("/")})();static #r=(()=>{this.INTEGER_DIVISION=new eY("//")})();static #s=(()=>{this.MOD=new eY("%")})();static #n=(()=>{this.ADDITION=new eY("+")})();static #a=(()=>{this.SUBTRACTION=new eY("-")})();static #i=(()=>{this.NOT=new eY("not",void 0,!0)})();static #o=(()=>{this.AND=new eY("and",void 0,!0)})();static #E=(()=>{this.OR=new eY("or",void 0,!0)})();static #u=(()=>{this.LESS_THAN=new eY("<")})();static #A=(()=>{this.LESS_THAN_EQUAL=new eY("<=")})();static #c=(()=>{this.GREATER_THAN=new eY(">")})();static #h=(()=>{this.GREATER_THAN_EQUAL=new eY(">=")})();static #l=(()=>{this.EQUAL=new eY("=")})();static #g=(()=>{this.NOT_EQUAL=new eY("!=")})();static #p=(()=>{this.BITWISE_AND=new eY("&")})();static #R=(()=>{this.BITWISE_OR=new eY("|")})();static #m=(()=>{this.BITWISE_XOR=new eY("^")})();static #T=(()=>{this.BITWISE_COMPLEMENT=new eY("~")})();static #f=(()=>{this.BITWISE_LEFT_SHIFT=new eY("<<")})();static #N=(()=>{this.BITWISE_RIGHT_SHIFT=new eY(">>")})();static #_=(()=>{this.BITWISE_UNSIGNED_RIGHT_SHIFT=new eY(">>>")})();static #S=(()=>{this.UNARY_PLUS=new eY("UN: +","+")})();static #M=(()=>{this.UNARY_MINUS=new eY("UN: -","-")})();static #O=(()=>{this.UNARY_LOGICAL_NOT=new eY("UN: not","not")})();static #d=(()=>{this.UNARY_BITWISE_COMPLEMENT=new eY("UN: ~","~")})();static #w=(()=>{this.ARRAY_OPERATOR=new eY("[")})();static #I=(()=>{this.OBJECT_OPERATOR=new eY(".")})();static #P=(()=>{this.NULLISH_COALESCING_OPERATOR=new eY("??")})();static #y=(()=>{this.CONDITIONAL_TERNARY_OPERATOR=new eY("?")})();static #x=(()=>{this.VALUE_OF=new Map([["MULTIPLICATION",eY.MULTIPLICATION],["DIVISION",eY.DIVISION],["INTEGER_DIVISON",eY.INTEGER_DIVISION],["MOD",eY.MOD],["ADDITION",eY.ADDITION],["SUBTRACTION",eY.SUBTRACTION],["NOT",eY.NOT],["AND",eY.AND],["OR",eY.OR],["LESS_THAN",eY.LESS_THAN],["LESS_THAN_EQUAL",eY.LESS_THAN_EQUAL],["GREATER_THAN",eY.GREATER_THAN],["GREATER_THAN_EQUAL",eY.GREATER_THAN_EQUAL],["EQUAL",eY.EQUAL],["NOT_EQUAL",eY.NOT_EQUAL],["BITWISE_AND",eY.BITWISE_AND],["BITWISE_OR",eY.BITWISE_OR],["BITWISE_XOR",eY.BITWISE_XOR],["BITWISE_COMPLEMENT",eY.BITWISE_COMPLEMENT],["BITWISE_LEFT_SHIFT",eY.BITWISE_LEFT_SHIFT],["BITWISE_RIGHT_SHIFT",eY.BITWISE_RIGHT_SHIFT],["BITWISE_UNSIGNED_RIGHT_SHIFT",eY.BITWISE_UNSIGNED_RIGHT_SHIFT],["UNARY_PLUS",eY.UNARY_PLUS],["UNARY_MINUS",eY.UNARY_MINUS],["UNARY_LOGICAL_NOT",eY.UNARY_LOGICAL_NOT],["UNARY_BITWISE_COMPLEMENT",eY.UNARY_BITWISE_COMPLEMENT],["ARRAY_OPERATOR",eY.ARRAY_OPERATOR],["OBJECT_OPERATOR",eY.OBJECT_OPERATOR],["NULLISH_COALESCING_OPERATOR",eY.NULLISH_COALESCING_OPERATOR],["CONDITIONAL_TERNARY_OPERATOR",eY.CONDITIONAL_TERNARY_OPERATOR]])})();static #L=(()=>{this.UNARY_OPERATORS=new Set([eY.ADDITION,eY.SUBTRACTION,eY.NOT,eY.BITWISE_COMPLEMENT,eY.UNARY_PLUS,eY.UNARY_MINUS,eY.UNARY_LOGICAL_NOT,eY.UNARY_BITWISE_COMPLEMENT])})();static #U=(()=>{this.ARITHMETIC_OPERATORS=new Set([eY.MULTIPLICATION,eY.DIVISION,eY.INTEGER_DIVISION,eY.MOD,eY.ADDITION,eY.SUBTRACTION])})();static #v=(()=>{this.LOGICAL_OPERATORS=new Set([eY.NOT,eY.AND,eY.OR,eY.LESS_THAN,eY.LESS_THAN_EQUAL,eY.GREATER_THAN,eY.GREATER_THAN_EQUAL,eY.EQUAL,eY.NOT_EQUAL,eY.NULLISH_COALESCING_OPERATOR])})();static #b=(()=>{this.BITWISE_OPERATORS=new Set([eY.BITWISE_AND,eY.BITWISE_COMPLEMENT,eY.BITWISE_LEFT_SHIFT,eY.BITWISE_OR,eY.BITWISE_RIGHT_SHIFT,eY.BITWISE_UNSIGNED_RIGHT_SHIFT,eY.BITWISE_XOR])})();static #V=(()=>{this.CONDITIONAL_OPERATORS=new Set([eY.CONDITIONAL_TERNARY_OPERATOR])})();static #C=(()=>{this.OPERATOR_PRIORITY=new Map([[eY.UNARY_PLUS,1],[eY.UNARY_MINUS,1],[eY.UNARY_LOGICAL_NOT,1],[eY.UNARY_BITWISE_COMPLEMENT,1],[eY.ARRAY_OPERATOR,1],[eY.OBJECT_OPERATOR,1],[eY.MULTIPLICATION,2],[eY.DIVISION,2],[eY.INTEGER_DIVISION,2],[eY.MOD,2],[eY.ADDITION,3],[eY.SUBTRACTION,3],[eY.BITWISE_LEFT_SHIFT,4],[eY.BITWISE_RIGHT_SHIFT,4],[eY.BITWISE_UNSIGNED_RIGHT_SHIFT,4],[eY.LESS_THAN,5],[eY.LESS_THAN_EQUAL,5],[eY.GREATER_THAN,5],[eY.GREATER_THAN_EQUAL,5],[eY.EQUAL,6],[eY.NOT_EQUAL,6],[eY.BITWISE_AND,7],[eY.BITWISE_XOR,8],[eY.BITWISE_OR,9],[eY.AND,10],[eY.OR,11],[eY.NULLISH_COALESCING_OPERATOR,11],[eY.CONDITIONAL_TERNARY_OPERATOR,12]])})();static #$=(()=>{this.OPERATORS=new Set([...Array.from(eY.ARITHMETIC_OPERATORS),...Array.from(eY.LOGICAL_OPERATORS),...Array.from(eY.BITWISE_OPERATORS),eY.ARRAY_OPERATOR,eY.OBJECT_OPERATOR,...Array.from(eY.CONDITIONAL_OPERATORS)].map(e=>e.getOperator()))})();static #G=(()=>{this.OPERATORS_WITHOUT_SPACE_WRAP=new Set([...Array.from(eY.ARITHMETIC_OPERATORS),...Array.from(eY.LOGICAL_OPERATORS),...Array.from(eY.BITWISE_OPERATORS),eY.ARRAY_OPERATOR,eY.OBJECT_OPERATOR,...Array.from(eY.CONDITIONAL_OPERATORS)].filter(e=>!e.shouldBeWrappedInSpace()).map(e=>e.getOperator()))})();static #D=(()=>{this.OPERATION_VALUE_OF=new Map(Array.from(eY.VALUE_OF.entries()).map(([e,t])=>[t.getOperator(),t]))})();static #F=(()=>{this.UNARY_MAP=new Map([[eY.ADDITION,eY.UNARY_PLUS],[eY.SUBTRACTION,eY.UNARY_MINUS],[eY.NOT,eY.UNARY_LOGICAL_NOT],[eY.BITWISE_COMPLEMENT,eY.UNARY_BITWISE_COMPLEMENT],[eY.UNARY_PLUS,eY.UNARY_PLUS],[eY.UNARY_MINUS,eY.UNARY_MINUS],[eY.UNARY_LOGICAL_NOT,eY.UNARY_LOGICAL_NOT],[eY.UNARY_BITWISE_COMPLEMENT,eY.UNARY_BITWISE_COMPLEMENT]])})();static #Y=(()=>{this.BIGGEST_OPERATOR_SIZE=Array.from(eY.VALUE_OF.values()).map(e=>e.getOperator()).filter(e=>!e.startsWith("UN: ")).map(e=>e.length).reduce((e,t)=>e>t?e:t,0)})();constructor(e,t,r=!1){this.operator=e,this.operatorName=t??e,this._shouldBeWrappedInSpace=r}getOperator(){return this.operator}getOperatorName(){return this.operatorName}shouldBeWrappedInSpace(){return this._shouldBeWrappedInSpace}valueOf(e){return eY.VALUE_OF.get(e)}toString(){return this.operator}}class eB extends eD{constructor(e,t,r,s){super(e||""),this.tokens=new Y,this.ops=new Y,t&&this.tokens.push(t),r&&this.tokens.push(r),s&&this.ops.push(s),this.evaluate()}getTokens(){return this.tokens}getOperations(){return this.ops}evaluate(){let e;let t=this.expression.length,r="",s=new e$(""),n=0,a=!1;for(;n<t;){switch(r=this.expression[n],e=s.toString(),r){case" ":a=this.processTokenSepearator(s,e,a);break;case"(":n=this.processSubExpression(t,s,e,n,a),a=!1;break;case")":throw new eG(this.expression,"Extra closing parenthesis found");case"]":throw new eG(this.expression,"Extra closing square bracket found");case"'":case'"':{let e=this.processStringLiteral(t,r,n);n=e.getT1(),a=e.getT2();break}case"?":if(n+1<t&&"?"!=this.expression.charAt(n+1)&&0!=n&&"?"!=this.expression.charAt(n-1))n=this.processTernaryOperator(t,s,e,n,a);else{let i=this.processOthers(r,t,s,e,n,a);n=i.getT1(),(a=i.getT2())&&this.ops.peek()==eY.ARRAY_OPERATOR&&(n=(i=this.process(t,s,n)).getT1(),a=i.getT2())}break;default:let i=this.processOthers(r,t,s,e,n,a);n=i.getT1(),(a=i.getT2())&&this.ops.peek()==eY.ARRAY_OPERATOR&&(n=(i=this.process(t,s,n)).getT1(),a=i.getT2())}++n}if(e=s.toString(),!H.isNullOrBlank(e)){if(eY.OPERATORS.has(e))throw new eG(this.expression,"Expression is ending with an operator");this.tokens.push(new eD(e))}}processStringLiteral(e,t,r){let s="",n=r+1;for(;n<e;n++){let e=this.expression.charAt(n);if(e==t&&"\\"!=this.expression.charAt(n-1))break;s+=e}if(n==e&&this.expression.charAt(n-1)!=t)throw new eG(this.expression,"Missing string ending marker "+t);let a=new X(n,!1);return this.tokens.push(new eF(s,s)),a}process(e,t,r){let s=1;for(++r;r<e&&0!=s;){let e=this.expression.charAt(r);"]"==e?--s:"["==e&&++s,0!=s&&(t.append(e),r++)}return this.tokens.push(new eB(t.toString())),t.setLength(0),new X(r,!1)}processOthers(e,t,r,s,n,a){let i=t-n;i=i<eY.BIGGEST_OPERATOR_SIZE?i:eY.BIGGEST_OPERATOR_SIZE;for(let e=i;e>0;e--){let t=this.expression.substring(n,n+e);if(eY.OPERATORS_WITHOUT_SPACE_WRAP.has(t))return H.isNullOrBlank(s)||(this.tokens.push(new eD(s)),a=!1),this.checkUnaryOperator(this.tokens,this.ops,eY.OPERATION_VALUE_OF.get(t),a),a=!0,r.setLength(0),new X(n+e-1,a)}return r.append(e),new X(n,!1)}processTernaryOperator(e,t,r,s,n){if(n)throw new eG(this.expression,"Ternary operator is followed by an operator");""!=r.trim()&&(this.tokens.push(new eB(r)),t.setLength(0)),++s;let a=1,i="",o=s;for(;s<e&&a>0;)"?"==(i=this.expression.charAt(s))?++a:":"==i&&--a,++s;if(":"!=i)throw new eG(this.expression,"':' operater is missing");if(s>=e)throw new eG(this.expression,"Third part of the ternary expression is missing");for(;!this.ops.isEmpty()&&this.hasPrecedence(eY.CONDITIONAL_TERNARY_OPERATOR,this.ops.peek());){let e=this.ops.pop();if(eY.UNARY_OPERATORS.has(e)){let t=this.tokens.pop();this.tokens.push(new eB("",t,void 0,e))}else{let t=this.tokens.pop(),r=this.tokens.pop();this.tokens.push(new eB("",r,t,e))}}this.ops.push(eY.CONDITIONAL_TERNARY_OPERATOR),this.tokens.push(new eB(this.expression.substring(o,s-1)));let E=this.expression.substring(s);if(""===E.trim())throw new eG(this.expression,"Third part of the ternary expression is missing");return this.tokens.push(new eB(E)),e-1}processSubExpression(e,t,r,s,n){if(eY.OPERATORS.has(r))this.checkUnaryOperator(this.tokens,this.ops,eY.OPERATION_VALUE_OF.get(r),n),t.setLength(0);else if(!H.isNullOrBlank(r))throw new eG(this.expression,F.format("Unkown token : $ found.",r));let a=1,i=new e$,o=this.expression.charAt(s);for(s++;s<e&&a>0;)"("==(o=this.expression.charAt(s))?a++:")"==o&&a--,0!=a&&(i.append(o),s++);if(")"!=o)throw new eG(this.expression,"Missing a closed parenthesis");for(;i.length()>2&&"("==i.charAt(0)&&")"==i.charAt(i.length()-1);)i.deleteCharAt(0),i.setLength(i.length()-1);return this.tokens.push(new eB(i.toString().trim())),s}processTokenSepearator(e,t,r){return H.isNullOrBlank(t)||(eY.OPERATORS.has(t)?(this.checkUnaryOperator(this.tokens,this.ops,eY.OPERATION_VALUE_OF.get(t),r),r=!0):(this.tokens.push(new eD(t)),r=!1)),e.setLength(0),r}checkUnaryOperator(e,t,r,s){if(r){if(s||e.isEmpty()){if(eY.UNARY_OPERATORS.has(r)){let e=eY.UNARY_MAP.get(r);e&&t.push(e)}else throw new eG(this.expression,F.format("Extra operator $ found.",r))}else{for(;!t.isEmpty()&&this.hasPrecedence(r,t.peek());){let r=t.pop();if(eY.UNARY_OPERATORS.has(r)){let t=e.pop();e.push(new eB("",t,void 0,r))}else{let t=e.pop(),s=e.pop();e.push(new eB("",s,t,r))}}t.push(r)}}}hasPrecedence(e,t){let r=eY.OPERATOR_PRIORITY.get(e),s=eY.OPERATOR_PRIORITY.get(t);if(!r||!s)throw Error("Unknown operators provided");return s<r}toString(){if(this.ops.isEmpty())return 1==this.tokens.size()?this.tokens.get(0).toString():"Error: No tokens";let e=new e$,t=0,r=this.ops.toArray(),s=this.tokens.toArray();for(let n=0;n<r.length;n++)if(r[n].getOperator().startsWith("UN: "))e.append("(").append(r[n].getOperator().substring(4)).append(s[t]instanceof eB?s[t].toString():s[t]).append(")"),t++;else if(r[n]==eY.CONDITIONAL_TERNARY_OPERATOR){let r=s[t++];e.insert(0,r.toString()),e.insert(0,":"),r=s[t++],e.insert(0,r.toString()),e.insert(0,"?"),r=s[t++],e.insert(0,r.toString()).append(")"),e.insert(0,"(")}else{if(0==t){let r=s[t++];e.insert(0,r.toString())}let a=s[t++];e.insert(0,r[n].getOperator()).insert(0,a.toString()).insert(0,"(").append(")")}return e.toString()}equals(e){return this.expression==e.expression}}e({},"TokenValueExtractor",()=>ek);class ek{static #e=(()=>{this.REGEX_SQUARE_BRACKETS=/[\[\]]/})();static #t=(()=>{this.REGEX_DOT=/\./})();getValue(e){let t=this.getPrefix();if(!e.startsWith(t))throw new $(F.format("Token $ doesn't start with $",e,t));return this.getValueInternal(e)}retrieveElementFrom(e,t,r,s){if(u(s))return;if(t.length==r)return s;let n=t[r].split(ek.REGEX_SQUARE_BRACKETS).map(e=>e.trim()).filter(e=>!H.isNullOrBlank(e)).reduce((s,n,a)=>this.resolveForEachPartOfTokenWithBrackets(e,t,r,n,s,a),s);return this.retrieveElementFrom(e,t,r+1,n)}resolveForEachPartOfTokenWithBrackets(e,t,r,s,n,a){if(!u(n)){if(0===a){if("length"===s){let e=typeof n;if("string"===e||Array.isArray(n))return n.length;if("object"===e)return Object.keys(n).length}if(Array.isArray(n))try{let e=parseInt(s);if(isNaN(e))throw Error(F.format("$ is not a number",e));if(e>=n.length)return;return n[e]}catch(t){throw new eG(e,F.format("$ couldn't be parsed into integer in $",s,e),t)}return this.checkIfObject(e,t,r,n),n[s]}if(s?.startsWith('"')){if(!s.endsWith('"')||1==s.length||2==s.length)throw new eG(e,F.format("$ is missing a double quote or empty key found",e));return this.checkIfObject(e,t,r,n),n[s.substring(1,s.length-1)]}try{let t=parseInt(s);if(isNaN(t))throw Error(F.format("$ is not a number",t));if(!Array.isArray(n))throw new eG(e,F.format("Expecting an array with index $ while processing the expression",t,e));if(t>=n.length)return;return n[t]}catch(t){throw new eG(e,F.format("$ couldn't be parsed into integer in $",s,e),t)}}}checkIfObject(e,t,r,s){if("object"!=typeof s||Array.isArray(s))throw new eG(e,F.format("Unable to retrive $ from $ in the path $",t[r],s.toString(),e))}}class eH extends ek{constructor(e,t){super(),this.store=e,this.prefix=t}getValueInternal(e){let t=e.split(ek.REGEX_DOT);return this.retrieveElementFrom(e,t,1,this.store)}getStore(){return this.store}setStore(e){return this.store=e,this}setValue(e,t,r=!0,s=!1){this.store=em(this.store),this.modifyStore(e,t,r,s)}modifyStore(e,t,r,s){let n=new eB(e),a=n.getTokens();a.removeLast();let i=n.getOperations(),o=i.removeLast(),E=a.removeLast(),u=E instanceof eF?E.getElement():E.getExpression(),A=this.store;for(;!i.isEmpty();)A=o==eY.OBJECT_OPERATOR?this.getDataFromObject(A,u,i.peekLast()):this.getDataFromArray(A,u,i.peekLast()),o=i.removeLast(),u=(E=a.removeLast())instanceof eF?E.getElement():E.getExpression();o==eY.OBJECT_OPERATOR?this.putDataInObject(A,u,t,r,s):this.putDataInArray(A,u,t,r,s)}getDataFromArray(e,t,r){if(!Array.isArray(e))throw new $(F.format("Expected an array but found $",e));let s=parseInt(t);if(isNaN(s))throw new $(F.format("Expected an array index but found $",t));if(s<0)throw new $(F.format("Array index is out of bound - $",t));let n=e[s];return u(n)&&(n=r==eY.OBJECT_OPERATOR?{}:[],e[s]=n),n}getDataFromObject(e,t,r){if(Array.isArray(e)||"object"!=typeof e)throw new $(F.format("Expected an object but found $",e));let s=e[t];return u(s)&&(s=r==eY.OBJECT_OPERATOR?{}:[],e[t]=s),s}putDataInArray(e,t,r,s,n){if(!Array.isArray(e))throw new $(F.format("Expected an array but found $",e));let a=parseInt(t);if(isNaN(a))throw new $(F.format("Expected an array index but found $",t));if(a<0)throw new $(F.format("Array index is out of bound - $",t));(s||u(e[a]))&&(n&&u(r)?e.splice(a,1):e[a]=r)}putDataInObject(e,t,r,s,n){if(Array.isArray(e)||"object"!=typeof e)throw new $(F.format("Expected an object but found $",e));(s||u(e[t]))&&(n&&u(r)?delete e[t]:e[t]=r)}getPrefix(){return this.prefix}}class ej extends eo{constructor(){super("Sort",[ej.PARAMETER_ARRAY_SOURCE,ej.PARAMETER_INT_FIND_FROM,ej.PARAMETER_INT_LENGTH,ej.PARAMETER_BOOLEAN_ASCENDING,ej.PARAMETER_KEY_PATH],ej.EVENT_RESULT_ANY)}async internalExecute(e){let t=e?.getArguments()?.get(ej.PARAMETER_ARRAY_SOURCE.getParameterName()),r=e?.getArguments()?.get(ej.PARAMETER_INT_FIND_FROM.getParameterName()),s=e?.getArguments()?.get(ej.PARAMETER_INT_LENGTH.getParameterName()),n=e?.getArguments()?.get(ej.PARAMETER_BOOLEAN_ASCENDING.getParameterName()),a=e?.getArguments()?.get(ej.PARAMETER_KEY_PATH.getParameterName());if(0==t.length)return new G([C.outputOf(new Map([[eo.EVENT_RESULT_NAME,t]]))]);if(t=[...t],-1==s&&(s=t.length-r),r<0||r>=t.length||r+s>t.length)throw new $("Given start point is more than the size of the array or not available at that point");let i=t.slice(r,r+s+1),o=new eH({},"Data.");return i.sort((e,t)=>{if("object"==typeof e&&"object"==typeof t&&a.length){o.setStore({a:e,b:t});let r=o.getValue("Data.a."+a),s=o.getValue("Data.b."+a);return eX(r,s,n)}return eX(e,t,n)}),t.splice(r,s,...i),new G([C.outputOf(new Map([[eo.EVENT_RESULT_NAME,t]]))])}}function eX(e,t,r){return e===t?0:null===e?1:null===t?-1:r?e<t?-1:1:e<t?1:-1}class eW extends eo{constructor(){super("SubArray",[eW.PARAMETER_ARRAY_SOURCE,eW.PARAMETER_INT_FIND_FROM,eW.PARAMETER_INT_LENGTH],eW.EVENT_RESULT_ARRAY)}async internalExecute(e){let t=e?.getArguments()?.get(eW.PARAMETER_ARRAY_SOURCE.getParameterName()),r=e?.getArguments()?.get(eW.PARAMETER_INT_FIND_FROM.getParameterName()),s=e?.getArguments()?.get(eW.PARAMETER_INT_LENGTH.getParameterName());if(-1==s&&(s=t.length-r),s<=0)return new G([C.outputOf(new Map([]))]);if(!(r>=0&&r<t.length)||r+s>t.length)throw new $("Given find from point is more than the source size array or the Requested length for the subarray was more than the source size");let n=t.slice(r,r+s);return new G([C.outputOf(new Map([[eW.EVENT_RESULT_NAME,n]]))])}}class eq extends eo{constructor(){super("Insert",[eq.PARAMETER_ARRAY_SOURCE,eq.PARAMETER_INT_OFFSET,eq.PARAMETER_ANY],eq.EVENT_RESULT_ARRAY)}async internalExecute(e){let t=e?.getArguments()?.get(eq.PARAMETER_ARRAY_SOURCE.getParameterName()),r=e?.getArguments()?.get(eq.PARAMETER_INT_OFFSET.getParameterName());var s=e?.getArguments()?.get(eq.PARAMETER_ANY.getParameterName());if(u(s)||u(r)||r>t.length)throw new $("Please valid resouces to insert at the correct location");if(0==(t=[...t]).length)return 0==r&&t.push(s),new G([C.outputOf(new Map([[eo.EVENT_RESULT_NAME,t]]))]);t.push(s);let n=t.length-1;for(r++;n>=r;){let e=t[n-1];t[n-1]=t[n],t[n--]=e}return new G([C.outputOf(new Map([[eo.EVENT_RESULT_NAME,t]]))])}}class eJ extends eo{constructor(){super("InsertLast",[eJ.PARAMETER_ARRAY_SOURCE,eJ.PARAMETER_ANY],eJ.EVENT_RESULT_ARRAY)}async internalExecute(e){let t=e?.getArguments()?.get(eJ.PARAMETER_ARRAY_SOURCE.getParameterName());var r=e?.getArguments()?.get(eJ.PARAMETER_ANY.getParameterName());return(t=[...t]).push(r),new G([C.outputOf(new Map([[eo.EVENT_RESULT_NAME,t]]))])}}class ez extends eo{constructor(){super("RemoveDuplicates",[ez.PARAMETER_ARRAY_SOURCE,ez.PARAMETER_INT_SOURCE_FROM,ez.PARAMETER_INT_LENGTH],ez.EVENT_RESULT_ARRAY)}async internalExecute(e){var t=e?.getArguments()?.get(ez.PARAMETER_ARRAY_SOURCE.getParameterName()),r=e?.getArguments()?.get(ez.PARAMETER_INT_SOURCE_FROM.getParameterName()),s=e?.getArguments()?.get(ez.PARAMETER_INT_LENGTH.getParameterName());if(-1==s&&(s=t.length-r),r+s>t.length)throw new $(F.format("Array has no elements from $ to $ as the array size is $",r,r+s,t.length));let n=[...t],a=r+s;for(let e=a-1;e>=r;e--)for(let t=e-1;t>=r;t--)if(k(n[e],n[t])){n.splice(e,1);break}return new G([C.outputOf(v.of(ez.EVENT_RESULT_NAME,n))])}}let eK="keyPath",eQ="valuePath",eZ="ignoreNullValues",e0="ignoreNullKeys",e1="ignoreDuplicateKeys";class e2 extends eo{constructor(){super("ArrayToObjects",[eo.PARAMETER_ARRAY_SOURCE,I.of(eK,O.ofString(eK)),I.of(eQ,O.of(eQ,r.STRING,r.NULL)),I.of(eZ,O.ofBoolean(eZ).setDefaultValue(!1)),I.of(e0,O.ofBoolean(e0).setDefaultValue(!0)),I.of(e1,O.ofBoolean(e1).setDefaultValue(!1))],eo.EVENT_RESULT_ANY)}async internalExecute(e){let t=e?.getArguments()?.get(eo.PARAMETER_ARRAY_SOURCE.getParameterName()),r=e?.getArguments()?.get(eK),s=e?.getArguments()?.get(eQ)??"",n=e?.getArguments()?.get(eZ),a=e?.getArguments()?.get(e0),i=e?.getArguments()?.get(e1),o=new eH({},"Data."),E=t.filter(e=>!u(e)).reduce((e,t)=>{o.setStore(t);let E=o.getValue("Data."+r);if(a&&u(E))return e;let A=s?o.getValue("Data."+s):t;return n&&u(A)||i&&e.hasOwnProperty(E)||(e[E]=A),e},{});return new G([C.outputOf(new Map([[eo.EVENT_RESULT_NAME,E]]))])}}class e5{static #e=(()=>{this.repoMap=v.ofArrayEntries(L(new eE),L(new eu),L(new eg),L(new eR),L(new eT),L(new ef),L(new eN),L(new e_),L(new eS),L(new eM),L(new eO),L(new ed),L(new ew),L(new eI),L(new eP),L(new ey),L(new ex),L(new eL),L(new eU),L(new ev),L(new eb),L(new eV),L(new eC),L(new ej),L(new eW),L(new ec),L(new eq),L(new eJ),L(new ez),L(new e2))})();static #t=(()=>{this.filterableNames=Array.from(e5.repoMap.values()).map(e=>e.getSignature().getFullName())})();async find(e,t){return e!=E.SYSTEM_ARRAY?Promise.resolve(void 0):Promise.resolve(e5.repoMap.get(t))}async filter(e){return Promise.resolve(e5.filterableNames.filter(t=>-1!==t.toLowerCase().indexOf(e.toLowerCase())))}}e({},"ContextElement",()=>e7);class e7{static #e=(()=>{this.NULL=new e7(O.NULL,void 0)})();constructor(e,t){this.schema=e,this.element=t}getSchema(){return this.schema}setSchema(e){return this.schema=e,this}getElement(){return this.element}setElement(e){return this.element=e,this}}let e4="name",e6="schema",e9=new D("Create").setNamespace(E.SYSTEM_CTX).setParameters(new Map([I.ofEntry(e4,new O().setName(e4).setType(g.of(r.STRING)).setMinLength(1).setFormat(n.REGEX).setPattern("^[a-zA-Z_$][a-zA-Z_$0-9]*$"),!1,s.CONSTANT),I.ofEntry(e6,O.SCHEMA,!1,s.CONSTANT)])).setEvents(new Map([V.outputEventMapEntry(new Map)])),e8="name",e3="value",te=new D("Get").setNamespace(E.SYSTEM_CTX).setParameters(new Map([I.ofEntry(e8,new O().setName(e8).setType(g.of(r.STRING)).setMinLength(1).setFormat(n.REGEX).setPattern("^[a-zA-Z_$][a-zA-Z_$0-9]*$"),!1,s.CONSTANT)])).setEvents(new Map([V.outputEventMapEntry(new Map([[e3,O.ofAny(e3)]]))]));e({},"ExpressionEvaluator",()=>rt);var tt={};e(tt,"LogicalNullishCoalescingOperator",()=>tn);var tr={};e(tr,"BinaryOperator",()=>ts);class ts{nullCheck(e,t,r){if(u(e)||u(t))throw new eh(F.format("$ cannot be applied to a null value",r.getOperatorName()))}}class tn extends ts{apply(e,t){return u(e)?t:e}}var ta={};e(ta,"ArithmeticAdditionOperator",()=>ti);class ti extends ts{apply(e,t){return u(e)?t:u(t)?e:e+t}}var to={};e(to,"ArithmeticDivisionOperator",()=>tE);class tE extends ts{apply(e,t){return this.nullCheck(e,t,eY.DIVISION),e/t}}var tu={};e(tu,"ArithmeticIntegerDivisionOperator",()=>tA);class tA extends ts{apply(e,t){return this.nullCheck(e,t,eY.DIVISION),Math.floor(e/t)}}var tc={};e(tc,"ArithmeticModulusOperator",()=>th);class th extends ts{apply(e,t){return this.nullCheck(e,t,eY.MOD),e%t}}var tl={};e(tl,"ArithmeticMultiplicationOperator",()=>tg);class tg extends ts{apply(e,t){this.nullCheck(e,t,eY.MULTIPLICATION);let r="string"==typeof e,s=typeof t;if(r||"string"===s){let s=r?e:t,n=r?t:e,a="",i=n<0,o=Math.floor(n=Math.abs(n));for(;o-- >0;)a+=s;let E=Math.floor(s.length*(n-Math.floor(n)));if(E<0&&(E=-E),0!=E&&(a+=s.substring(0,E)),i){let e="";for(let t=a.length-1;t>=0;t--)e+=a[t];return e}return a}return e*t}}var tp={};e(tp,"ArithmeticSubtractionOperator",()=>tR);class tR extends ts{apply(e,t){return this.nullCheck(e,t,eY.SUBTRACTION),e-t}}var tm={};e(tm,"ArrayOperator",()=>tT);class tT extends ts{apply(e,t){if(!e)throw new eh("Cannot apply array operator on a null value");if(!t)throw new eh("Cannot retrive null index value");if(!Array.isArray(e)&&"string"!=typeof e)throw new eh(F.format("Cannot retrieve value from a primitive value $",e));if(t>=e.length)throw new eh(F.format("Cannot retrieve index $ from the array of length $",t,e.length));return e[t]}}var tf={};e(tf,"BitwiseAndOperator",()=>tN);class tN extends ts{apply(e,t){return this.nullCheck(e,t,eY.BITWISE_AND),e&t}}var t_={};e(t_,"BitwiseLeftShiftOperator",()=>tS);class tS extends ts{apply(e,t){return this.nullCheck(e,t,eY.BITWISE_LEFT_SHIFT),e<<t}}var tM={};e(tM,"BitwiseOrOperator",()=>tO);class tO extends ts{apply(e,t){return this.nullCheck(e,t,eY.BITWISE_OR),e|t}}var td={};e(td,"BitwiseRightShiftOperator",()=>tw);class tw extends ts{apply(e,t){return this.nullCheck(e,t,eY.BITWISE_RIGHT_SHIFT),e>>t}}var tI={};e(tI,"BitwiseUnsignedRightShiftOperator",()=>tP);class tP extends ts{apply(e,t){return this.nullCheck(e,t,eY.BITWISE_UNSIGNED_RIGHT_SHIFT),e>>>t}}var ty={};e(ty,"BitwiseXorOperator",()=>tx);class tx extends ts{apply(e,t){return this.nullCheck(e,t,eY.BITWISE_XOR),e^t}}var tL={};e(tL,"LogicalAndOperator",()=>tU);class tU extends ts{apply(e,t){return!!e&&""!==e&&!!t&&""!==t}}var tv={};e(tv,"LogicalEqualOperator",()=>tb);class tb extends ts{apply(e,t){return k(e,t)}}var tV={};e(tV,"LogicalGreaterThanEqualOperator",()=>tC);class tC extends ts{apply(e,t){let s=el.findPrimitiveNullAsBoolean(e),n=el.findPrimitiveNullAsBoolean(t);if(s.getT1()==r.BOOLEAN||n.getT1()==r.BOOLEAN)throw new eh(F.format("Cannot compare >= with the values $ and $",s.getT2(),n.getT2()));return s.getT2()>=n.getT2()}}var t$={};e(t$,"LogicalGreaterThanOperator",()=>tG);class tG extends ts{apply(e,t){let s=el.findPrimitiveNullAsBoolean(e),n=el.findPrimitiveNullAsBoolean(t);if(s.getT1()==r.BOOLEAN||n.getT1()==r.BOOLEAN)throw new eh(F.format("Cannot compare > with the values $ and $",s.getT2(),n.getT2()));return s.getT2()>n.getT2()}}var tD={};e(tD,"LogicalLessThanEqualOperator",()=>tF);class tF extends ts{apply(e,t){let s=el.findPrimitiveNullAsBoolean(e),n=el.findPrimitiveNullAsBoolean(t);if(s.getT1()==r.BOOLEAN||n.getT1()==r.BOOLEAN)throw new eh(F.format("Cannot compare <= with the values $ and $",s.getT2(),n.getT2()));return s.getT2()<=n.getT2()}}var tY={};e(tY,"LogicalLessThanOperator",()=>tB);class tB extends ts{apply(e,t){let s=el.findPrimitiveNullAsBoolean(e),n=el.findPrimitiveNullAsBoolean(t);if(s.getT1()==r.BOOLEAN||n.getT1()==r.BOOLEAN)throw new eh(F.format("Cannot compare < with the values $ and $",s.getT2(),n.getT2()));return s.getT2()<n.getT2()}}var tk={};e(tk,"LogicalNotEqualOperator",()=>tH);class tH extends ts{apply(e,t){return!k(e,t)}}var tj={};e(tj,"LogicalOrOperator",()=>tX);class tX extends ts{apply(e,t){return!!e&&""!==e||!!t&&""!==t}}var tW={};e(tW,"ObjectOperator",()=>tq);class tq extends ts{apply(e,t){if(!e)throw new eh("Cannot apply array operator on a null value");if(!t)throw new eh("Cannot retrive null property value");let r=typeof e;if(!Array.isArray(e)&&"string"!=r&&"object"!=r)throw new eh(F.format("Cannot retrieve value from a primitive value $",e));return e[t]}}var tJ={};e(tJ,"ArithmeticUnaryMinusOperator",()=>tQ);var tz={};e(tz,"UnaryOperator",()=>tK);class tK{nullCheck(e,t){if(u(e))throw new eh(F.format("$ cannot be applied to a null value",t.getOperatorName()))}}class tQ extends tK{apply(e){return this.nullCheck(e,eY.UNARY_MINUS),el.findPrimitiveNumberType(e),-e}}var tZ={};e(tZ,"ArithmeticUnaryPlusOperator",()=>t0);class t0 extends tK{apply(e){return this.nullCheck(e,eY.UNARY_PLUS),el.findPrimitiveNumberType(e),e}}var t1={};e(t1,"BitwiseComplementOperator",()=>t2);class t2 extends tK{apply(e){this.nullCheck(e,eY.UNARY_BITWISE_COMPLEMENT);let t=el.findPrimitiveNumberType(e);if(t.getT1()!=r.INTEGER&&t.getT1()!=r.LONG)throw new eh(F.format("Unable to apply bitwise operator on $",e));return~e}}var t5={};e(t5,"LogicalNotOperator",()=>t7);class t7 extends tK{apply(e){return!e&&""!==e}}e({},"LiteralTokenValueExtractor",()=>t6);let t4=new Map([["true",!0],["false",!1],["null",void 0],["undefined",void 0]]);class t6 extends ek{static #e=(()=>{this.INSTANCE=new t6})();getValueInternal(e){if(!H.isNullOrBlank(e))return(e=e.trim(),t4.has(e))?t4.get(e):e.startsWith('"')?this.processString(e):this.processNumbers(e)}processNumbers(e){try{let t=Number(e);if(isNaN(t))throw Error("Parse number error");return t}catch(t){throw new eG(e,F.format("Unable to parse the literal or expression $",e),t)}}processString(e){if(!e.endsWith('"'))throw new eG(e,F.format("String literal $ is not closed properly",e));return e.substring(1,e.length-1)}getPrefix(){return""}getStore(){}getValueFromExtractors(e,t){return t.has(e+".")?t.get(e+".")?.getStore():this.getValue(e)}}var t9={};e(t9,"ConditionalTernaryOperator",()=>t3);class t8{nullCheck(e,t,r,s){if(u(e)||u(t)||u(r))throw new eh(F.format("$ cannot be applied to a null value",s.getOperatorName()))}}class t3 extends t8{apply(e,t,r){return e?t:r}}t({},t9);class re extends ek{static #e=(()=>{this.PREFIX="_internal."})();addValue(e,t){this.values.set(e,t)}getValueInternal(e){let t=e.split(ek.REGEX_DOT),r=t[1],s=r.indexOf("["),n=2;return -1!=s&&(r=t[1].substring(0,s),t[1]=t[1].substring(s),n=1),this.retrieveElementFrom(e,t,n,this.values.get(r))}getPrefix(){return re.PREFIX}getStore(){}constructor(...e){super(...e),this.values=new Map}}class rt{static #e=(()=>{this.UNARY_OPERATORS_MAP=new Map([[eY.UNARY_BITWISE_COMPLEMENT,new t2],[eY.UNARY_LOGICAL_NOT,new t7],[eY.UNARY_MINUS,new tQ],[eY.UNARY_PLUS,new t0]])})();static #t=(()=>{this.TERNARY_OPERATORS_MAP=new Map([[eY.CONDITIONAL_TERNARY_OPERATOR,new t3]])})();static #r=(()=>{this.BINARY_OPERATORS_MAP=new Map([[eY.ADDITION,new ti],[eY.DIVISION,new tE],[eY.INTEGER_DIVISION,new tA],[eY.MOD,new th],[eY.MULTIPLICATION,new tg],[eY.SUBTRACTION,new tR],[eY.BITWISE_AND,new tN],[eY.BITWISE_LEFT_SHIFT,new tS],[eY.BITWISE_OR,new tO],[eY.BITWISE_RIGHT_SHIFT,new tw],[eY.BITWISE_UNSIGNED_RIGHT_SHIFT,new tP],[eY.BITWISE_XOR,new tx],[eY.AND,new tU],[eY.EQUAL,new tb],[eY.GREATER_THAN,new tG],[eY.GREATER_THAN_EQUAL,new tC],[eY.LESS_THAN,new tB],[eY.LESS_THAN_EQUAL,new tF],[eY.OR,new tX],[eY.NOT_EQUAL,new tH],[eY.NULLISH_COALESCING_OPERATOR,new tn],[eY.ARRAY_OPERATOR,new tT],[eY.OBJECT_OPERATOR,new tq]])})();static #s=(()=>{this.UNARY_OPERATORS_MAP_KEY_SET=new Set(rt.UNARY_OPERATORS_MAP.keys())})();constructor(e){this.internalTokenValueExtractor=new re,e instanceof eB?(this.exp=e,this.expression=this.exp.getExpression()):this.expression=e}evaluate(e){let t=this.processNestingExpression(this.expression,e);return this.expression=t.getT1(),this.exp=t.getT2(),(e=new Map(e.entries())).set(this.internalTokenValueExtractor.getPrefix(),this.internalTokenValueExtractor),this.evaluateExpression(this.exp,e)}processNestingExpression(e,t){let r=0,s=0,n=new Y;for(;s<e.length-1;){if("{"==e.charAt(s)&&"{"==e.charAt(s+1))0==r&&n.push(new X(s+2,-1)),r++,s++;else if("}"==e.charAt(s)&&"}"==e.charAt(s+1)){if(--r<0)throw new eG(e,"Expecting {{ nesting path operator to be started before closing");0==r&&n.push(n.pop().setT2(s)),s++}s++}let a=this.replaceNestingExpression(e,t,n);return new X(a,new eB(a))}replaceNestingExpression(e,t,r){let s=e;for(var n of r.toArray()){if(-1==n.getT2())throw new eG(e,"Expecting }} nesting path operator to be closed");let r=new rt(s.substring(n.getT1(),n.getT2())).evaluate(t);s=s.substring(0,n.getT1()-2)+r+s.substring(n.getT2()+2)}return s}getExpression(){return this.exp||(this.exp=new eB(this.expression)),this.exp}getExpressionString(){return this.expression}evaluateExpression(e,t){let r=e.getOperations(),s=e.getTokens();for(;!r.isEmpty();){let e=r.pop(),o=s.pop();if(rt.UNARY_OPERATORS_MAP_KEY_SET.has(e))s.push(this.applyUnaryOperation(e,this.getValueFromToken(t,o)));else if(e==eY.OBJECT_OPERATOR||e==eY.ARRAY_OPERATOR)this.processObjectOrArrayOperator(t,r,s,e,o);else if(e==eY.CONDITIONAL_TERNARY_OPERATOR){let r=s.pop(),E=s.pop();var n=this.getValueFromToken(t,E),a=this.getValueFromToken(t,r),i=this.getValueFromToken(t,o);s.push(this.applyTernaryOperation(e,n,a,i))}else{let r=s.pop();var n=this.getValueFromToken(t,r),a=this.getValueFromToken(t,o);s.push(this.applyBinaryOperation(e,n,a))}}if(s.isEmpty())throw new eh(F.format("Expression : $ evaluated to null",e));if(1!=s.size())throw new eh(F.format("Expression : $ evaluated multiple values $",e,s));let o=s.get(0);if(o instanceof eF)return o.getElement();if(!(o instanceof eB))return this.getValueFromToken(t,o);throw new eh(F.format("Expression : $ evaluated to $",e,s.get(0)))}processObjectOrArrayOperator(e,t,r,s,n){let a=new Y,i=new Y;if(!s||!n)return;do i.push(s),n instanceof eB?a.push(new eF(n.toString(),this.evaluateExpression(n,e))):n&&a.push(n),n=r.isEmpty()?void 0:r.pop(),s=t.isEmpty()?void 0:t.pop();while(s==eY.OBJECT_OPERATOR||s==eY.ARRAY_OPERATOR)n&&(n instanceof eB?a.push(new eF(n.toString(),this.evaluateExpression(n,e))):a.push(n)),s&&t.push(s);let o=a.pop();if(o instanceof eF&&"object"==typeof o.getTokenValue()){let e=new Date().getTime()+""+Math.round(1e3*Math.random());this.internalTokenValueExtractor.addValue(e,o.getTokenValue()),o=new eD(re.PREFIX+e)}let E=new e$(o instanceof eF?o.getTokenValue():o.toString());for(;!a.isEmpty();)o=a.pop(),s=i.pop(),E.append(s.getOperator()).append(o instanceof eF?o.getTokenValue():o.toString()),s==eY.ARRAY_OPERATOR&&E.append("]");let u=E.toString(),A=u.substring(0,u.indexOf(".")+1);if(A.length>2&&e.has(A))r.push(new eF(u,this.getValue(u,e)));else{let e;try{e=t6.INSTANCE.getValue(u)}catch(t){e=u}r.push(new eF(u,e))}}applyTernaryOperation(e,t,r,s){let n=rt.TERNARY_OPERATORS_MAP.get(e);if(!n)throw new eG(this.expression,F.format("No operator found to evaluate $",this.getExpression()));return new eF(e.toString(),n.apply(t,r,s))}applyBinaryOperation(e,t,r){let s=typeof t,n=typeof r,a=rt.BINARY_OPERATORS_MAP.get(e);if(("object"===s||"object"===n)&&e!==eY.EQUAL&&e!==eY.NOT_EQUAL&&e!==eY.NULLISH_COALESCING_OPERATOR&&e!==eY.AND&&e!==eY.OR)throw new eG(this.expression,F.format("Cannot evaluate expression $ $ $",t,e.getOperator(),r));if(!a)throw new eG(this.expression,F.format("No operator found to evaluate $ $ $",t,e.getOperator(),r));return new eF(e.toString(),a.apply(t,r))}applyUnaryOperation(e,t){let r=typeof t;if(e.getOperator()!=eY.NOT.getOperator()&&e.getOperator()!=eY.UNARY_LOGICAL_NOT.getOperator()&&("object"===r||Array.isArray(t)))throw new eG(this.expression,F.format("The operator $ cannot be applied to $",e.getOperator(),t));let s=rt.UNARY_OPERATORS_MAP.get(e);if(!s)throw new eG(this.expression,F.format("No Unary operator $ is found to apply on $",e.getOperator(),t));return new eF(e.toString(),s.apply(t))}getValueFromToken(e,t){return t instanceof eB?this.evaluateExpression(t,e):t instanceof eF?t.getElement():this.getValue(t.getExpression(),e)}getValue(e,t){let r=e.substring(0,e.indexOf(".")+1);return t.has(r)?t.get(r).getValue(e):t6.INSTANCE.getValueFromExtractors(e,t)}}let rr="name",rs="value",rn=new D("Set").setNamespace(E.SYSTEM_CTX).setParameters(new Map([I.ofEntry(rr,new O().setName(rr).setType(g.of(r.STRING)).setMinLength(1),!1),I.ofEntry(rs,O.ofAny(rs))])).setEvents(new Map([V.outputEventMapEntry(new Map)])),ra="value",ri="eventName",ro="results",rE=new D("GenerateEvent").setNamespace(E.SYSTEM).setParameters(new Map([I.ofEntry(ri,O.ofString(ri).setDefaultValue("output")),I.ofEntry(ro,O.ofObject(ro).setProperties(new Map([["name",O.ofString("name")],[ra,I.EXPRESSION]])),!0)])).setEvents(new Map([V.outputEventMapEntry(new Map)]));class ru extends ei{static #e=(()=>{this.CONDITION="condition"})();static #t=(()=>{this.SIGNATURE=new D("If").setNamespace(E.SYSTEM).setParameters(new Map([I.ofEntry(ru.CONDITION,O.ofAny(ru.CONDITION))])).setEvents(new Map([V.eventMapEntry(V.TRUE,new Map),V.eventMapEntry(V.FALSE,new Map),V.outputEventMapEntry(new Map)]))})();getSignature(){return ru.SIGNATURE}async internalExecute(e){let t=e.getArguments()?.get(ru.CONDITION);return new G([C.of(t||""===t?V.TRUE:V.FALSE,new Map),C.outputOf(new Map)])}}let rA="stepName",rc=new D("Break").setNamespace(E.SYSTEM_LOOP).setParameters(new Map([I.ofEntry(rA,O.of(rA,r.STRING))])).setEvents(new Map([V.outputEventMapEntry(new Map([]))])),rh="count",rl="value",rg="index",rp=new D("CountLoop").setNamespace(E.SYSTEM_LOOP).setParameters(new Map([I.ofEntry(rh,O.of(rh,r.INTEGER))])).setEvents(new Map([V.eventMapEntry(V.ITERATION,new Map([[rg,O.of(rg,r.INTEGER)]])),V.outputEventMapEntry(new Map([[rl,O.of(rl,r.INTEGER)]]))])),rR="source",rm="each",rT="index",rf="value",rN=new D("ForEachLoop").setNamespace(E.SYSTEM_LOOP).setParameters(new Map([I.ofEntry(rR,O.ofArray(rR,O.ofAny(rR)))])).setEvents(new Map([V.eventMapEntry(V.ITERATION,new Map([[rT,O.of(rT,r.INTEGER)],[rm,O.ofAny(rm)]])),V.outputEventMapEntry(new Map([[rf,O.of(rf,r.INTEGER)]]))])),r_="from",rS="step",rM="value",rO="index",rd=new D("RangeLoop").setNamespace(E.SYSTEM_LOOP).setParameters(new Map([I.ofEntry(r_,O.of(r_,r.INTEGER,r.LONG,r.FLOAT,r.DOUBLE).setDefaultValue(0)),I.ofEntry("to",O.of("to",r.INTEGER,r.LONG,r.FLOAT,r.DOUBLE).setDefaultValue(1)),I.ofEntry(rS,O.of(rS,r.INTEGER,r.LONG,r.FLOAT,r.DOUBLE).setDefaultValue(1).setNot(new O().setConstant(0)))])).setEvents(new Map([V.eventMapEntry(V.ITERATION,new Map([[rO,O.of(rO,r.INTEGER,r.LONG,r.FLOAT,r.DOUBLE)]])),V.outputEventMapEntry(new Map([[rM,O.of(rM,r.INTEGER,r.LONG,r.FLOAT,r.DOUBLE)]]))])),rw="value",rI=new D("Add").setNamespace(E.MATH).setParameters(new Map([[rw,new I(rw,O.ofNumber(rw)).setVariableArgument(!0)]])).setEvents(new Map([V.outputEventMapEntry(new Map([[rw,O.ofNumber(rw)]]))])),rP="value",ry="value1",rx="value2",rL=[()=>new Map([[rP,new I(rP,O.ofNumber(rP))]]),()=>new Map([[ry,new I(ry,O.ofNumber(ry))],[rx,new I(rx,O.ofNumber(rx))]])];class rU extends ei{constructor(e,t,s=1,...n){super(),n&&n.length||(n=[r.DOUBLE]),this.parametersNumber=s,this.mathFunction=t,this.signature=new D(e).setNamespace(E.MATH).setParameters(rL[s-1]()).setEvents(new Map([V.outputEventMapEntry(new Map([[rP,new O().setType(g.of(...n)).setName(rP)]]))]))}getSignature(){return this.signature}async internalExecute(e){let t,r=el.findPrimitiveNumberType(e.getArguments()?.get(1==this.parametersNumber?rP:ry)).getT2();return 2==this.parametersNumber&&(t=el.findPrimitiveNumberType(e.getArguments()?.get(rx)).getT2()),new G([C.outputOf(new Map([[rP,this.mathFunction.call(this,r,t)]]))])}}let rv="value";class rb extends ei{static #e=(()=>{this.SIGNATURE=new D("Hypotenuse").setNamespace(E.MATH).setParameters(new Map([[rv,new I(rv,O.ofNumber(rv)).setVariableArgument(!0)]])).setEvents(new Map([V.outputEventMapEntry(new Map([[rv,new O().setType(g.of(r.DOUBLE)).setName(rv)]]))]))})();constructor(){super()}getSignature(){return rb.SIGNATURE}async internalExecute(e){let t=e.getArguments()?.get(rv);return new G([C.outputOf(new Map([[rv,Math.sqrt(t.reduce((e,t)=>e+=t*t,0))]]))])}}let rV="value",rC=new D("Maximum").setNamespace(E.MATH).setParameters(new Map([[rV,new I(rV,O.ofNumber(rV)).setVariableArgument(!0)]])).setEvents(new Map([V.outputEventMapEntry(new Map([[rV,O.ofNumber(rV)]]))])),r$="value",rG=new D("Minimum").setNamespace(E.MATH).setParameters(new Map([[r$,new I(r$,O.ofNumber(r$)).setVariableArgument(!0)]])).setEvents(new Map([V.outputEventMapEntry(new Map([[r$,O.ofNumber(r$)]]))])),rD="value";class rF extends ei{static #e=(()=>{this.SIGNATURE=new D("Random").setNamespace(E.MATH).setEvents(new Map([V.outputEventMapEntry(v.of(rD,O.ofDouble(rD)))]))})();getSignature(){return rF.SIGNATURE}async internalExecute(e){return new G([C.outputOf(new Map([[rD,Math.random()]]))])}}class rY extends ei{static #e=(()=>{this.MIN_VALUE="minValue"})();static #t=(()=>{this.MAX_VALUE="maxValue"})();static #r=(()=>{this.VALUE="value"})();static #s=(()=>{this.SIGNATURE=new D("RandomFloat").setParameters(v.of(rY.MIN_VALUE,I.of(rY.MIN_VALUE,O.ofFloat(rY.MIN_VALUE).setDefaultValue(0)),rY.MAX_VALUE,I.of(rY.MAX_VALUE,O.ofFloat(rY.MAX_VALUE).setDefaultValue(2147483647)))).setNamespace(E.MATH).setEvents(new Map([V.outputEventMapEntry(v.of(rY.VALUE,O.ofFloat(rY.VALUE)))]))})();getSignature(){return rY.SIGNATURE}async internalExecute(e){let t=e.getArguments()?.get(rY.MIN_VALUE),r=e.getArguments()?.get(rY.MAX_VALUE);return new G([C.outputOf(new Map([[rY.VALUE,Math.random()*(r-t)+t]]))])}}class rB extends ei{static #e=(()=>{this.MIN_VALUE="minValue"})();static #t=(()=>{this.MAX_VALUE="maxValue"})();static #r=(()=>{this.VALUE="value"})();static #s=(()=>{this.SIGNATURE=new D("RandomInt").setParameters(v.of(rB.MIN_VALUE,I.of(rB.MIN_VALUE,O.ofInteger(rB.MIN_VALUE).setDefaultValue(0)),rB.MAX_VALUE,I.of(rB.MAX_VALUE,O.ofInteger(rB.MAX_VALUE).setDefaultValue(2147483647)))).setNamespace(E.MATH).setEvents(new Map([V.outputEventMapEntry(v.of(rB.VALUE,O.ofInteger(rB.VALUE)))]))})();getSignature(){return rB.SIGNATURE}async internalExecute(e){let t=e.getArguments()?.get(rB.MIN_VALUE),r=e.getArguments()?.get(rB.MAX_VALUE);return new G([C.outputOf(new Map([[rB.VALUE,Math.floor(Math.random()*(r-t)+t)]]))])}}let rk={Absolute:new rU("Absolute",e=>Math.abs(e),1,r.INTEGER,r.LONG,r.FLOAT,r.DOUBLE),ACosine:new rU("ArcCosine",e=>Math.acos(e)),ASine:new rU("ArcSine",e=>Math.asin(e)),ATangent:new rU("ArcTangent",e=>Math.atan(e)),Ceiling:new rU("Ceiling",e=>Math.ceil(e)),Cosine:new rU("Cosine",e=>Math.cos(e)),CosineH:new rU("HyperbolicCosine",e=>Math.cosh(e)),CubeRoot:new rU("CubeRoot",e=>Math.cbrt(e)),Exponential:new rU("Exponential",e=>Math.exp(e)),Expm1:new rU("ExponentialMinus1",e=>Math.expm1(e)),Floor:new rU("Floor",e=>Math.floor(e)),Log:new rU("LogNatural",e=>Math.log(e)),Log10:new rU("Log10",e=>Math.log10(e)),Round:new rU("Round",e=>Math.round(e),1,r.INTEGER,r.LONG),Sine:new rU("Sine",e=>Math.sin(e)),SineH:new rU("HyperbolicSine",e=>Math.sinh(e)),Tangent:new rU("Tangent",e=>Math.tan(e)),TangentH:new rU("HyperbolicTangent",e=>Math.tanh(e)),ToDegrees:new rU("ToDegrees",e=>e*(Math.PI/180)),ToRadians:new rU("ToRadians",e=>e*(180/Math.PI)),SquareRoot:new rU("SquareRoot",e=>Math.sqrt(e)),ArcTangent:new rU("ArcTangent2",(e,t)=>Math.atan2(e,t),2),Power:new rU("Power",(e,t)=>Math.pow(e,t),2),Add:new class extends ei{getSignature(){return rI}async internalExecute(e){let t=e.getArguments()?.get(rw);return new G([C.outputOf(new Map([[rw,t.reduce((e,t)=>e+=t,0)]]))])}},Hypotenuse:new rb,Maximum:new class extends ei{getSignature(){return rC}async internalExecute(e){let t=e.getArguments()?.get(rV);return new G([C.outputOf(new Map([[rV,t.reduce((e,t)=>!e&&0!==e||t>e?t:e)]]))])}},Minimum:new class extends ei{getSignature(){return rG}async internalExecute(e){let t=e.getArguments()?.get(r$);return new G([C.outputOf(new Map([[r$,t.reduce((e,t)=>!e&&0!==e||t<e?t:e)]]))])}},Random:new rF,RandomFloat:new rY,RandomInt:new rB},rH=Object.values(rk).map(e=>e.getSignature().getFullName());class rj{async find(e,t){return e!=E.MATH?Promise.resolve(void 0):Promise.resolve(rk[t])}async filter(e){return Promise.resolve(rH.filter(t=>-1!==t.toLowerCase().indexOf(e.toLowerCase())))}}let rX="value",rW="source",rq="source";class rJ extends ei{constructor(e,t){super(),this.signature=new D(e).setNamespace(E.SYSTEM_OBJECT).setParameters(new Map([I.ofEntry(rq,O.ofAny(rq))])).setEvents(new Map([V.outputEventMapEntry(new Map([["value",t]]))]))}getSignature(){return this.signature}}let rz="value",rK="value",rQ="value",rZ="source",r0="overwrite",r1="deleteKeyOnNull",r2="value",r5={ObjectValues:new class extends rJ{constructor(){super("ObjectValues",O.ofArray(r2,O.ofAny(r2)))}async internalExecute(e){var t=e.getArguments()?.get("source");if(u(t))return new G([C.outputOf(new Map([[r2,[]]]))]);let r=Object.entries(em(t)).sort((e,t)=>e[0].localeCompare(t[0])).map(e=>e[1]);return new G([C.outputOf(new Map([[r2,r]]))])}},ObjectKeys:new class extends rJ{constructor(){super("ObjectKeys",O.ofArray(rK,O.ofString(rK)))}async internalExecute(e){var t=e.getArguments()?.get("source");if(u(t))return new G([C.outputOf(new Map([[rK,[]]]))]);let r=Object.keys(em(t)).sort((e,t)=>e.localeCompare(t));return new G([C.outputOf(new Map([[rK,r]]))])}},ObjectEntries:new class extends rJ{constructor(){super("ObjectEntries",O.ofArray(rz,O.ofArray("tuple",O.ofString("key"),O.ofAny("value"))))}async internalExecute(e){var t=e.getArguments()?.get("source");if(u(t))return new G([C.outputOf(new Map([[rz,[]]]))]);let r=Object.entries(em(t)).sort((e,t)=>e[0].localeCompare(t[0]));return new G([C.outputOf(new Map([[rz,r]]))])}},ObjectDeleteKey:new class extends ei{constructor(){super(),this.signature=new D("ObjectDeleteKey").setNamespace(E.SYSTEM_OBJECT).setParameters(new Map([I.ofEntry(rW,O.ofAny(rW)),I.ofEntry("key",O.ofString("key"))])).setEvents(new Map([V.outputEventMapEntry(new Map([[rX,O.ofAny(rX)]]))]))}getSignature(){return this.signature}async internalExecute(e){let t=e.getArguments()?.get(rW),r=e.getArguments()?.get("key");return u(t)?new G([C.outputOf(new Map([[rX,void 0]]))]):(t=em(t),delete t[r],new G([C.outputOf(new Map([[rX,t]]))]))}},ObjectPutValue:new class extends ei{constructor(){super(),this.signature=new D("ObjectPutValue").setNamespace(E.SYSTEM_OBJECT).setParameters(new Map([I.ofEntry(rZ,O.ofObject(rZ)),I.ofEntry("key",O.ofString("key")),I.ofEntry(rQ,O.ofAny(rQ)),I.ofEntry(r0,O.ofBoolean(r0).setDefaultValue(!0)),I.ofEntry(r1,O.ofBoolean(r1).setDefaultValue(!1))])).setEvents(new Map([V.outputEventMapEntry(new Map([[rQ,O.ofObject(rQ)]]))]))}getSignature(){return this.signature}async internalExecute(e){let t=e.getArguments()?.get(rZ),r=e.getArguments()?.get("key"),s=e.getArguments()?.get(rQ),n=e.getArguments()?.get(r0),a=e.getArguments()?.get(r1),i=new eH(t,"Data.");return i.setValue(r,s,n,a),new G([C.outputOf(new Map([[rQ,i.getStore()]]))])}}},r7=Object.values(r5).map(e=>e.getSignature().getFullName());class r4{async find(e,t){return e!=E.SYSTEM_OBJECT?Promise.resolve(void 0):Promise.resolve(r5[t])}async filter(e){return Promise.resolve(r7.filter(t=>-1!==t.toLowerCase().indexOf(e.toLowerCase())))}}class r6 extends ei{static #e=(()=>{this.VALUES="values"})();static #t=(()=>{this.SIGNATURE=new D("Print").setNamespace(E.SYSTEM).setParameters(new Map([I.ofEntry(r6.VALUES,O.ofAny(r6.VALUES),!0)]))})();getSignature(){return r6.SIGNATURE}async internalExecute(e){var t=e.getArguments()?.get(r6.VALUES);return console?.log(...t),new G([C.outputOf(new Map)])}}class r9 extends ei{static #e=(()=>{this.PARAMETER_STRING_NAME="string"})();static #t=(()=>{this.PARAMETER_SEARCH_STRING_NAME="searchString"})();static #r=(()=>{this.PARAMETER_SECOND_STRING_NAME="secondString"})();static #s=(()=>{this.PARAMETER_THIRD_STRING_NAME="thirdString"})();static #n=(()=>{this.PARAMETER_INDEX_NAME="index"})();static #a=(()=>{this.PARAMETER_SECOND_INDEX_NAME="secondIndex"})();static #i=(()=>{this.EVENT_RESULT_NAME="result"})();static #o=(()=>{this.PARAMETER_STRING=new I(r9.PARAMETER_STRING_NAME,O.ofString(r9.PARAMETER_STRING_NAME))})();static #E=(()=>{this.PARAMETER_SECOND_STRING=new I(r9.PARAMETER_SECOND_STRING_NAME,O.ofString(r9.PARAMETER_SECOND_STRING_NAME))})();static #u=(()=>{this.PARAMETER_THIRD_STRING=new I(r9.PARAMETER_THIRD_STRING_NAME,O.ofString(r9.PARAMETER_THIRD_STRING_NAME))})();static #A=(()=>{this.PARAMETER_INDEX=new I(r9.PARAMETER_INDEX_NAME,O.ofInteger(r9.PARAMETER_INDEX_NAME))})();static #c=(()=>{this.PARAMETER_SECOND_INDEX=new I(r9.PARAMETER_SECOND_INDEX_NAME,O.ofInteger(r9.PARAMETER_SECOND_INDEX_NAME))})();static #h=(()=>{this.PARAMETER_SEARCH_STRING=new I(r9.PARAMETER_SEARCH_STRING_NAME,O.ofString(r9.PARAMETER_STRING_NAME))})();static #l=(()=>{this.EVENT_STRING=new V(V.OUTPUT,v.of(r9.EVENT_RESULT_NAME,O.ofString(r9.EVENT_RESULT_NAME)))})();static #g=(()=>{this.EVENT_BOOLEAN=new V(V.OUTPUT,v.of(r9.EVENT_RESULT_NAME,O.ofBoolean(r9.EVENT_RESULT_NAME)))})();static #p=(()=>{this.EVENT_INT=new V(V.OUTPUT,v.of(r9.EVENT_RESULT_NAME,O.ofInteger(r9.EVENT_RESULT_NAME)))})();static #R=(()=>{this.EVENT_ARRAY=new V(V.OUTPUT,v.of(r9.EVENT_RESULT_NAME,O.ofArray(r9.EVENT_RESULT_NAME)))})();constructor(e,t,r,...s){super();let n=new Map;s.forEach(e=>n.set(e.getParameterName(),e)),this.signature=new D(t).setNamespace(e).setParameters(n).setEvents(v.of(r.getName(),r))}getSignature(){return this.signature}static ofEntryAsStringBooleanOutput(e,t){return[e,new class extends r9{constructor(e,t,r,...s){super(e,t,r,...s)}async internalExecute(e){let r=e?.getArguments()?.get(r9.PARAMETER_STRING_NAME),s=e?.getArguments()?.get(r9.PARAMETER_SEARCH_STRING_NAME);return new G([C.outputOf(v.of(r9.EVENT_RESULT_NAME,t(r,s)))])}}(E.STRING,e,r9.EVENT_BOOLEAN,r9.PARAMETER_STRING,r9.PARAMETER_SEARCH_STRING)]}static ofEntryAsStringAndIntegerStringOutput(e,t){return[e,new class extends r9{constructor(e,t,r,...s){super(e,t,r,...s)}async internalExecute(e){let r=e?.getArguments()?.get(r9.PARAMETER_STRING_NAME),s=e?.getArguments()?.get(r9.PARAMETER_INDEX_NAME);return new G([C.outputOf(v.of(r9.EVENT_RESULT_NAME,t(r,s)))])}}(E.STRING,e,r9.EVENT_STRING,r9.PARAMETER_STRING,r9.PARAMETER_INDEX)]}static ofEntryAsStringIntegerOutput(e,t){return[e,new class extends r9{constructor(e,t,r,...s){super(e,t,r,...s)}async internalExecute(e){let r=e?.getArguments()?.get(r9.PARAMETER_STRING_NAME),s=e?.getArguments()?.get(r9.PARAMETER_SEARCH_STRING_NAME);return new G([C.outputOf(v.of(r9.EVENT_RESULT_NAME,t(r,s)))])}}(E.STRING,e,r9.EVENT_INT,r9.PARAMETER_STRING,r9.PARAMETER_SEARCH_STRING)]}static ofEntryString(e,t){return[e,new class extends r9{constructor(e,t,r,...s){super(e,t,r,...s)}async internalExecute(e){let r=e?.getArguments()?.get(r9.PARAMETER_STRING_NAME);return new G([C.outputOf(v.of(r9.EVENT_RESULT_NAME,t(r)))])}}(E.STRING,e,r9.EVENT_STRING,r9.PARAMETER_STRING)]}static ofEntryStringBooleanOutput(e,t){return[e,new class extends r9{constructor(e,t,r,...s){super(e,t,r,...s)}async internalExecute(e){let r=e?.getArguments()?.get(r9.PARAMETER_STRING_NAME);return new G([C.outputOf(v.of(r9.EVENT_RESULT_NAME,t(r)))])}}(E.STRING,e,r9.EVENT_BOOLEAN,r9.PARAMETER_STRING)]}static ofEntryAsStringStringIntegerIntegerOutput(e,t){return[e,new class extends r9{constructor(e,t,r,...s){super(e,t,r,...s)}async internalExecute(e){let r=e?.getArguments()?.get(r9.PARAMETER_STRING_NAME),s=e?.getArguments()?.get(r9.PARAMETER_SEARCH_STRING_NAME),n=e?.getArguments()?.get(r9.PARAMETER_INDEX_NAME);return new G([C.outputOf(v.of(r9.EVENT_RESULT_NAME,t(r,s,n)))])}}(E.STRING,e,r9.EVENT_INT,r9.PARAMETER_STRING,r9.PARAMETER_SEARCH_STRING,r9.PARAMETER_INDEX)]}static ofEntryAsStringIntegerIntegerStringOutput(e,t){return[e,new class extends r9{constructor(e,t,r,...s){super(e,t,r,...s)}async internalExecute(e){let r=e?.getArguments()?.get(r9.PARAMETER_STRING_NAME),s=e?.getArguments()?.get(r9.PARAMETER_INDEX_NAME),n=e?.getArguments()?.get(r9.PARAMETER_SECOND_INDEX_NAME);return new G([C.outputOf(v.of(r9.EVENT_RESULT_NAME,t(r,s,n)))])}}(E.STRING,e,r9.EVENT_INT,r9.PARAMETER_STRING,r9.PARAMETER_INDEX,r9.PARAMETER_SECOND_INDEX)]}static ofEntryAsStringStringStringStringOutput(e,t){return[e,new class extends r9{constructor(e,t,r,...s){super(e,t,r,...s)}async internalExecute(e){let r=e?.getArguments()?.get(r9.PARAMETER_STRING_NAME),s=e?.getArguments()?.get(r9.PARAMETER_SECOND_STRING_NAME),n=e?.getArguments()?.get(r9.PARAMETER_THIRD_STRING_NAME);return new G([C.outputOf(v.of(r9.EVENT_RESULT_NAME,t(r,s,n)))])}}(E.STRING,e,r9.EVENT_STRING,r9.PARAMETER_STRING,r9.PARAMETER_SECOND_STRING,r9.PARAMETER_THIRD_STRING)]}}class r8 extends ei{static #e=(()=>{this.VALUE="value"})();static #t=(()=>{this.SCHEMA=new O().setName(r8.VALUE).setType(new l(r.STRING))})();static #r=(()=>{this.SIGNATURE=new D("Concatenate").setNamespace(E.STRING).setParameters(new Map([[r8.VALUE,new I(r8.VALUE,r8.SCHEMA).setVariableArgument(!0)]])).setEvents(new Map([V.outputEventMapEntry(new Map([[r8.VALUE,O.ofString(r8.VALUE)]]))]))})();constructor(){super()}getSignature(){return r8.SIGNATURE}async internalExecute(e){let t=e.getArguments()?.get(r8.VALUE),r="";return t.reduce((e,t)=>r=e+t,r),new G([C.outputOf(new Map([[r8.VALUE,r]]))])}}class r3 extends ei{static #e=(()=>{this.PARAMETER_STRING_NAME="string"})();static #t=(()=>{this.PARAMETER_AT_START_NAME="startPosition"})();static #r=(()=>{this.PARAMETER_AT_END_NAME="endPosition"})();static #s=(()=>{this.EVENT_RESULT_NAME="result"})();constructor(){super(),this.PARAMETER_STRING=new I(r3.PARAMETER_STRING_NAME,O.ofString(r3.PARAMETER_STRING_NAME)),this.PARAMETER_AT_START=new I(r3.PARAMETER_AT_START_NAME,O.ofInteger(r3.PARAMETER_AT_START_NAME)),this.PARAMETER_AT_END=new I(r3.PARAMETER_AT_END_NAME,O.ofInteger(r3.PARAMETER_AT_END_NAME)),this.EVENT_STRING=new V(V.OUTPUT,new Map([[r3.EVENT_RESULT_NAME,O.ofString(r3.EVENT_RESULT_NAME)]])),this.signature=new D("DeleteForGivenLength").setNamespace(E.STRING).setParameters(new Map([[this.PARAMETER_STRING.getParameterName(),this.PARAMETER_STRING],[this.PARAMETER_AT_START.getParameterName(),this.PARAMETER_AT_START],[this.PARAMETER_AT_END.getParameterName(),this.PARAMETER_AT_END]])).setEvents(new Map([[this.EVENT_STRING.getName(),this.EVENT_STRING]]))}getSignature(){return this.signature}async internalExecute(e){let t=e?.getArguments()?.get(r3.PARAMETER_STRING_NAME),r=e?.getArguments()?.get(r3.PARAMETER_AT_START_NAME),s=e?.getArguments()?.get(r3.PARAMETER_AT_END_NAME);if(s>=r){let e="";return e+=t.substring(0,r)+t.substring(s),new G([C.outputOf(new Map([[r3.EVENT_RESULT_NAME,e.toString()]]))])}return new G([C.outputOf(new Map([[r3.EVENT_RESULT_NAME,t]]))])}}class se extends ei{static #e=(()=>{this.PARAMETER_STRING_NAME="string"})();static #t=(()=>{this.PARAMETER_AT_POSITION_NAME="position"})();static #r=(()=>{this.PARAMETER_INSERT_STRING_NAME="insertString"})();getSignature(){return this.signature}async internalExecute(e){let t=e?.getArguments()?.get(se.PARAMETER_STRING_NAME),r=e?.getArguments()?.get(se.PARAMETER_AT_POSITION_NAME),s=e?.getArguments()?.get(se.PARAMETER_INSERT_STRING_NAME),n="";return n+=t.substring(0,r)+s+t.substring(r),new G([C.outputOf(new Map([[this.EVENT_RESULT_NAME,n]]))])}constructor(...e){super(...e),this.EVENT_RESULT_NAME="result",this.PARAMETER_STRING=new I(se.PARAMETER_STRING_NAME,O.ofString(se.PARAMETER_STRING_NAME)),this.PARAMETER_AT_POSITION=new I(se.PARAMETER_AT_POSITION_NAME,O.ofInteger(se.PARAMETER_AT_POSITION_NAME)),this.PARAMETER_INSERT_STRING=new I(se.PARAMETER_INSERT_STRING_NAME,O.ofString(se.PARAMETER_INSERT_STRING_NAME)),this.EVENT_STRING=new V(V.OUTPUT,new Map([[this.EVENT_RESULT_NAME,O.ofString(this.EVENT_RESULT_NAME)]])),this.signature=new D("InsertAtGivenPosition").setNamespace(E.STRING).setParameters(new Map([[this.PARAMETER_STRING.getParameterName(),this.PARAMETER_STRING],[this.PARAMETER_AT_POSITION.getParameterName(),this.PARAMETER_AT_POSITION],[this.PARAMETER_INSERT_STRING.getParameterName(),this.PARAMETER_INSERT_STRING]])).setEvents(new Map([V.outputEventMapEntry(new Map([[this.EVENT_RESULT_NAME,O.ofString(this.EVENT_RESULT_NAME)]]))]))}}class st extends ei{static #e=(()=>{this.PARAMETER_REGEX_NAME="regex"})();static #t=(()=>{this.PARAMETER_STRING_NAME="string"})();static #r=(()=>{this.EVENT_RESULT_NAME="result"})();static #s=(()=>{this.signature=new D("Matches").setNamespace(E.STRING).setParameters(v.ofEntries(v.entry(...I.ofEntry(st.PARAMETER_REGEX_NAME,O.ofString(st.PARAMETER_REGEX_NAME))),v.entry(...I.ofEntry(st.PARAMETER_STRING_NAME,O.ofString(st.PARAMETER_STRING_NAME))))).setEvents(v.ofEntries(v.entry(...V.outputEventMapEntry(new Map([[st.EVENT_RESULT_NAME,O.ofBoolean(st.EVENT_RESULT_NAME)]])))))})();getSignature(){return st.signature}async internalExecute(e){let t=e.getArguments()?.get(st.PARAMETER_REGEX_NAME),r=e.getArguments()?.get(st.PARAMETER_STRING_NAME);return new G([C.outputOf(new Map([[st.EVENT_RESULT_NAME,!!r.match(t)?.length]]))])}}class sr extends ei{static #e=(()=>{this.PARAMETER_STRING_NAME="string"})();static #t=(()=>{this.PARAMETER_POSTPAD_STRING_NAME="postpadString"})();static #r=(()=>{this.PARAMETER_LENGTH_NAME="length"})();static #s=(()=>{this.EVENT_RESULT_NAME="result"})();static #n=(()=>{this.PARAMETER_STRING=new I(sr.PARAMETER_STRING_NAME,O.ofString(sr.PARAMETER_STRING_NAME))})();static #a=(()=>{this.PARAMETER_POSTPAD_STRING=new I(sr.PARAMETER_POSTPAD_STRING_NAME,O.ofString(sr.PARAMETER_POSTPAD_STRING_NAME))})();static #i=(()=>{this.PARAMETER_LENGTH=new I(sr.PARAMETER_LENGTH_NAME,O.ofInteger(sr.PARAMETER_LENGTH_NAME))})();static #o=(()=>{this.EVENT_STRING=new V(V.OUTPUT,new Map([[sr.EVENT_RESULT_NAME,O.ofString(sr.EVENT_RESULT_NAME)]]))})();constructor(){super(),this.signature=new D("PostPad").setNamespace(E.STRING).setParameters(new Map([[sr.PARAMETER_STRING.getParameterName(),sr.PARAMETER_STRING],[sr.PARAMETER_POSTPAD_STRING.getParameterName(),sr.PARAMETER_POSTPAD_STRING],[sr.PARAMETER_LENGTH.getParameterName(),sr.PARAMETER_LENGTH]])).setEvents(new Map([[sr.EVENT_STRING.getName(),sr.EVENT_STRING]]))}getSignature(){return this.signature}async internalExecute(e){let t=e.getArguments()?.get(sr.PARAMETER_STRING_NAME),r=e?.getArguments()?.get(sr.PARAMETER_POSTPAD_STRING_NAME),s=e.getArguments()?.get(sr.PARAMETER_LENGTH_NAME),n="",a=r.length;for(n+=t;a<=s;)n+=r,a+=r.length;return n.length-t.length<s&&(n+=r.substring(0,s-(n.length-t.length))),new G([C.outputOf(new Map([[sr.EVENT_RESULT_NAME,n.toString()]]))])}}class ss extends ei{static #e=(()=>{this.PARAMETER_STRING_NAME="string"})();static #t=(()=>{this.PARAMETER_PREPAD_STRING_NAME="prepadString"})();static #r=(()=>{this.PARAMETER_LENGTH_NAME="length"})();static #s=(()=>{this.EVENT_RESULT_NAME="result"})();static #n=(()=>{this.PARAMETER_STRING=new I(ss.PARAMETER_STRING_NAME,O.ofString(ss.PARAMETER_STRING_NAME))})();static #a=(()=>{this.PARAMETER_PREPAD_STRING=new I(ss.PARAMETER_PREPAD_STRING_NAME,O.ofString(ss.PARAMETER_PREPAD_STRING_NAME))})();static #i=(()=>{this.PARAMETER_LENGTH=new I(ss.PARAMETER_LENGTH_NAME,O.ofInteger(ss.PARAMETER_LENGTH_NAME))})();static #o=(()=>{this.EVENT_STRING=new V(V.OUTPUT,new Map([[ss.EVENT_RESULT_NAME,O.ofString(ss.EVENT_RESULT_NAME)]]))})();getSignature(){return this.signature}constructor(){super(),this.signature=new D("PrePad").setNamespace(E.STRING).setParameters(new Map([[ss.PARAMETER_STRING.getParameterName(),ss.PARAMETER_STRING],[ss.PARAMETER_PREPAD_STRING.getParameterName(),ss.PARAMETER_PREPAD_STRING],[ss.PARAMETER_LENGTH.getParameterName(),ss.PARAMETER_LENGTH]])).setEvents(new Map([[ss.EVENT_STRING.getName(),ss.EVENT_STRING]]))}async internalExecute(e){let t=e.getArguments()?.get(ss.PARAMETER_STRING_NAME),r=e.getArguments()?.get(ss.PARAMETER_PREPAD_STRING_NAME),s=e.getArguments()?.get(ss.PARAMETER_LENGTH_NAME),n="",a=r.length;for(;a<=s;)n+=r,a+=r.length;return n.length<s&&(n+=r.substring(0,s-n.length)),n+=t,new G([C.outputOf(new Map([[ss.EVENT_RESULT_NAME,n]]))])}}class sn extends ei{static #e=(()=>{this.PARAMETER_STRING_NAME="string"})();static #t=(()=>{this.PARAMETER_BOOLEAN_NAME="boolean"})();static #r=(()=>{this.PARAMETER_FIRST_OFFSET_NAME="firstOffset"})();static #s=(()=>{this.PARAMETER_OTHER_STRING_NAME="otherString"})();static #n=(()=>{this.PARAMETER_SECOND_OFFSET_NAME="secondOffset"})();static #a=(()=>{this.PARAMETER_INTEGER_NAME="length"})();static #i=(()=>{this.EVENT_RESULT_NAME="result"})();static #o=(()=>{this.PARAMETER_STRING=new I(sn.PARAMETER_STRING_NAME,O.ofString(sn.PARAMETER_STRING_NAME))})();static #E=(()=>{this.PARAMETER_OTHER_STRING=new I(sn.PARAMETER_OTHER_STRING_NAME,O.ofString(sn.PARAMETER_OTHER_STRING_NAME))})();static #u=(()=>{this.PARAMETER_FIRST_OFFSET=new I(sn.PARAMETER_FIRST_OFFSET_NAME,O.ofInteger(sn.PARAMETER_FIRST_OFFSET_NAME))})();static #A=(()=>{this.PARAMETER_SECOND_OFFSET=new I(sn.PARAMETER_SECOND_OFFSET_NAME,O.ofInteger(sn.PARAMETER_SECOND_OFFSET_NAME))})();static #c=(()=>{this.PARAMETER_INTEGER=new I(sn.PARAMETER_INTEGER_NAME,O.ofInteger(sn.PARAMETER_INTEGER_NAME))})();static #h=(()=>{this.PARAMETER_BOOLEAN=new I(sn.PARAMETER_BOOLEAN_NAME,O.ofBoolean(sn.PARAMETER_BOOLEAN_NAME))})();static #l=(()=>{this.EVENT_BOOLEAN=new V(V.OUTPUT,new Map([[sn.EVENT_RESULT_NAME,O.ofBoolean(sn.EVENT_RESULT_NAME)]]))})();getSignature(){return this.signature}constructor(){super(),this.signature=new D("RegionMatches").setNamespace(E.STRING).setParameters(new Map([[sn.PARAMETER_STRING.getParameterName(),sn.PARAMETER_STRING],[sn.PARAMETER_BOOLEAN.getParameterName(),sn.PARAMETER_BOOLEAN],[sn.PARAMETER_FIRST_OFFSET.getParameterName(),sn.PARAMETER_FIRST_OFFSET],[sn.PARAMETER_OTHER_STRING.getParameterName(),sn.PARAMETER_OTHER_STRING],[sn.PARAMETER_SECOND_OFFSET.getParameterName(),sn.PARAMETER_SECOND_OFFSET],[sn.PARAMETER_INTEGER.getParameterName(),sn.PARAMETER_INTEGER]])).setEvents(new Map([[sn.EVENT_BOOLEAN.getName(),sn.EVENT_BOOLEAN]]))}async internalExecute(e){let t=e.getArguments()?.get(sn.PARAMETER_STRING_NAME),r=e.getArguments()?.get(sn.PARAMETER_BOOLEAN_NAME),s=e.getArguments()?.get(sn.PARAMETER_FIRST_OFFSET_NAME),n=e?.getArguments()?.get(sn.PARAMETER_OTHER_STRING_NAME),a=e?.getArguments()?.get(sn.PARAMETER_SECOND_OFFSET_NAME),i=e.getArguments()?.get(sn.PARAMETER_INTEGER_NAME),o=!1;return o=!(s<0)&&!(a<0)&&!(s+i>t.length)&&!(a+i>n.length)&&(r?(t=t.substring(s,s+i).toUpperCase())==n.substring(a,a+i).toUpperCase():(t=t.substring(s,s+i))==n.substring(a,i)),new G([C.outputOf(new Map([[sn.EVENT_RESULT_NAME,o]]))])}}class sa extends ei{static #e=(()=>{this.PARAMETER_STRING_NAME="string"})();static #t=(()=>{this.PARAMETER_AT_START_NAME="startPosition"})();static #r=(()=>{this.PARAMETER_AT_LENGTH_NAME="lengthPosition"})();static #s=(()=>{this.PARAMETER_REPLACE_STRING_NAME="replaceString"})();static #n=(()=>{this.EVENT_RESULT_NAME="result"})();static #a=(()=>{this.PARAMETER_STRING=new I(sa.PARAMETER_STRING_NAME,O.ofString(sa.PARAMETER_STRING_NAME))})();static #i=(()=>{this.PARAMETER_AT_START=new I(sa.PARAMETER_AT_START_NAME,O.ofInteger(sa.PARAMETER_AT_START_NAME))})();static #o=(()=>{this.PARAMETER_AT_LENGTH=new I(sa.PARAMETER_AT_LENGTH_NAME,O.ofInteger(sa.PARAMETER_AT_LENGTH_NAME))})();static #E=(()=>{this.PARAMETER_REPLACE_STRING=new I(sa.PARAMETER_REPLACE_STRING_NAME,O.ofString(sa.PARAMETER_REPLACE_STRING_NAME))})();static #u=(()=>{this.EVENT_STRING=new V(V.OUTPUT,new Map([[sa.EVENT_RESULT_NAME,O.ofString(sa.EVENT_RESULT_NAME)]]))})();constructor(){super(),this.signature=new D("ReplaceAtGivenPosition").setNamespace(E.STRING).setParameters(new Map([[sa.PARAMETER_STRING.getParameterName(),sa.PARAMETER_STRING],[sa.PARAMETER_AT_START.getParameterName(),sa.PARAMETER_AT_START],[sa.PARAMETER_AT_LENGTH.getParameterName(),sa.PARAMETER_AT_LENGTH],[sa.PARAMETER_REPLACE_STRING.getParameterName(),sa.PARAMETER_REPLACE_STRING]])).setEvents(new Map([[sa.EVENT_STRING.getName(),sa.EVENT_STRING]]))}getSignature(){return this.signature}async internalExecute(e){let t=e?.getArguments()?.get(sa.PARAMETER_STRING_NAME),r=e?.getArguments()?.get(sa.PARAMETER_AT_START_NAME),s=e?.getArguments()?.get(sa.PARAMETER_AT_LENGTH_NAME);return e?.getArguments()?.get(sa.PARAMETER_REPLACE_STRING_NAME),t.length,r<s&&(t.substring(0,r),t.substring(r+s)),new G([C.outputOf(new Map([[sa.EVENT_RESULT_NAME,t]]))])}}class si extends ei{constructor(){super(),this.VALUE="value",this.SIGNATURE=new D("Reverse").setNamespace(E.STRING).setParameters(new Map([[this.VALUE,new I(this.VALUE,O.ofString(this.VALUE)).setVariableArgument(!1)]])).setEvents(new Map([V.outputEventMapEntry(new Map([[this.VALUE,new O().setType(g.of(r.STRING)).setName(this.VALUE)]]))]))}getSignature(){return this.SIGNATURE}async internalExecute(e){let t=e.getArguments()?.get(this.VALUE),r=t.length-1,s="";for(;r>=0;)s+=t.charAt(r--);return new G([C.outputOf(v.of(this.VALUE,s))])}}class so extends ei{getSignature(){return new D("Split").setNamespace(E.STRING).setParameters(new Map([[this.PARAMETER_STRING_NAME,this.PARAMETER_STRING],[this.PARAMETER_SPLIT_STRING_NAME,this.PARAMETER_SPLIT_STRING]])).setEvents(new Map([V.outputEventMapEntry(new Map([[this.EVENT_RESULT_NAME,O.ofArray(this.EVENT_RESULT_NAME)]]))]))}constructor(){super(),this.PARAMETER_STRING_NAME="string",this.PARAMETER_SPLIT_STRING_NAME="searchString",this.EVENT_RESULT_NAME="result",this.PARAMETER_STRING=new I(this.PARAMETER_STRING_NAME,O.ofString(this.PARAMETER_STRING_NAME)),this.PARAMETER_SPLIT_STRING=new I(this.PARAMETER_SPLIT_STRING_NAME,O.ofString(this.PARAMETER_SPLIT_STRING_NAME)),this.EVENT_ARRAY=new V(V.OUTPUT,v.of(this.EVENT_RESULT_NAME,O.ofArray(this.EVENT_RESULT_NAME)))}async internalExecute(e){let t=e.getArguments()?.get(this.PARAMETER_STRING_NAME),r=e.getArguments()?.get(this.PARAMETER_SPLIT_STRING_NAME);return new G([C.outputOf(v.of(this.EVENT_RESULT_NAME,t.split(r)))])}}class sE extends ei{getSignature(){return new D("ToString").setNamespace(E.STRING).setParameters(new Map([[this.PARAMETER_INPUT_ANYTYPE.getParameterName(),this.PARAMETER_INPUT_ANYTYPE]])).setEvents(new Map([[this.EVENT_STRING.getName(),this.EVENT_STRING]]))}constructor(){super(),this.PARAMETER_INPUT_ANYTYPE_NAME="anytype",this.EVENT_RESULT_NAME="result",this.PARAMETER_INPUT_ANYTYPE=new I(this.PARAMETER_INPUT_ANYTYPE_NAME,O.ofAny(this.PARAMETER_INPUT_ANYTYPE_NAME)),this.EVENT_STRING=new V(V.OUTPUT,new Map([[this.EVENT_RESULT_NAME,O.ofString(this.EVENT_RESULT_NAME)]]))}async internalExecute(e){let t=e.getArguments()?.get(this.PARAMETER_INPUT_ANYTYPE_NAME),r="";return r="object"==typeof t?JSON.stringify(t,void 0,2):""+t,new G([C.outputOf(new Map([[this.EVENT_RESULT_NAME,r]]))])}}class su extends ei{static #e=(()=>{this.PARAMETER_STRING_NAME="string"})();static #t=(()=>{this.PARAMETER_LENGTH_NAME="length"})();static #r=(()=>{this.EVENT_RESULT_NAME="result"})();static #s=(()=>{this.PARAMETER_STRING=new I(su.PARAMETER_STRING_NAME,O.ofString(su.PARAMETER_STRING_NAME))})();static #n=(()=>{this.PARAMETER_LENGTH=new I(su.PARAMETER_LENGTH_NAME,O.ofInteger(su.PARAMETER_LENGTH_NAME))})();static #a=(()=>{this.EVENT_STRING=new V(V.OUTPUT,new Map([[su.EVENT_RESULT_NAME,O.ofString(su.EVENT_RESULT_NAME)]]))})();getSignature(){return this.signature}constructor(){super(),this.signature=new D("TrimTo").setNamespace(E.STRING).setParameters(new Map([[su.PARAMETER_STRING.getParameterName(),su.PARAMETER_STRING],[su.PARAMETER_LENGTH.getParameterName(),su.PARAMETER_LENGTH]])).setEvents(new Map([[su.EVENT_STRING.getName(),su.EVENT_STRING]]))}async internalExecute(e){let t=e.getArguments()?.get(su.PARAMETER_STRING_NAME),r=e.getArguments()?.get(su.PARAMETER_LENGTH_NAME);return new G([C.outputOf(new Map([[su.EVENT_RESULT_NAME,t.substring(0,r)]]))])}}class sA{static #e=(()=>{this.repoMap=v.ofArrayEntries(r9.ofEntryString("Trim",e=>e.trim()),r9.ofEntryString("LowerCase",e=>e.toLocaleLowerCase()),r9.ofEntryString("UpperCase",e=>e.toUpperCase()),r9.ofEntryStringBooleanOutput("IsBlank",e=>""===e.trim()),r9.ofEntryStringBooleanOutput("IsEmpty",e=>""===e),r9.ofEntryAsStringBooleanOutput("Contains",(e,t)=>-1!=e.indexOf(t)),r9.ofEntryAsStringBooleanOutput("EndsWith",(e,t)=>e.endsWith(t)),r9.ofEntryAsStringBooleanOutput("StartsWith",(e,t)=>e.startsWith(t)),r9.ofEntryAsStringBooleanOutput("EqualsIgnoreCase",(e,t)=>e.toUpperCase()==t.toUpperCase()),r9.ofEntryAsStringBooleanOutput("Matches",(e,t)=>new RegExp(t).test(e)),r9.ofEntryAsStringIntegerOutput("IndexOf",(e,t)=>e.indexOf(t)),r9.ofEntryAsStringIntegerOutput("LastIndexOf",(e,t)=>e.lastIndexOf(t)),r9.ofEntryAsStringAndIntegerStringOutput("Repeat",(e,t)=>e.repeat(t)),r9.ofEntryAsStringStringIntegerIntegerOutput("IndexOfWithStartPoint",(e,t,r)=>e.indexOf(t,r)),r9.ofEntryAsStringStringIntegerIntegerOutput("LastIndexOfWithStartPoint",(e,t,r)=>e.lastIndexOf(t,r)),r9.ofEntryAsStringStringStringStringOutput("Replace",(e,t,r)=>e.replaceAll(t,r)),r9.ofEntryAsStringStringStringStringOutput("ReplaceFirst",(e,t,r)=>e.replace(t,r)),r9.ofEntryAsStringIntegerIntegerStringOutput("SubString",(e,t,r)=>e.substring(t,r)),L(new r8),L(new r3),L(new se),L(new sr),L(new ss),L(new sn),L(new sa),L(new si),L(new so),L(new sE),L(new su),L(new st))})();static #t=(()=>{this.filterableNames=Array.from(sA.repoMap.values()).map(e=>e.getSignature().getFullName())})();async find(e,t){return e!=E.STRING?Promise.resolve(void 0):Promise.resolve(sA.repoMap.get(t))}async filter(e){return Promise.resolve(sA.filterableNames.filter(t=>-1!==t.toLowerCase().indexOf(e.toLowerCase())))}}class sc extends ei{static #e=(()=>{this.MILLIS="millis"})();static #t=(()=>{this.SIGNATURE=new D("Wait").setNamespace(E.SYSTEM).setParameters(new Map([I.ofEntry(sc.MILLIS,O.ofNumber(sc.MILLIS).setMinimum(0).setDefaultValue(0))])).setEvents(new Map([V.outputEventMapEntry(new Map)]))})();getSignature(){return sc.SIGNATURE}async internalExecute(e){var t=e.getArguments()?.get(sc.MILLIS);return await new Promise(e=>setTimeout(e,t)),new G([C.outputOf(new Map)])}}e({},"HybridRepository",()=>sh);class sh{constructor(...e){this.repos=e}async find(e,t){for(let r of this.repos){let s=await r.find(e,t);if(s)return s}}async filter(e){let t=new Set;for(let r of this.repos)(await r.filter(e)).forEach(e=>t.add(e));return Array.from(t)}}let sl=new Map([[E.SYSTEM_CTX,new Map([L(new class extends ei{getSignature(){return e9}async internalExecute(e){let t=e?.getArguments()?.get(e4);if(e?.getContext()?.has(t))throw new $(F.format("Context already has an element for '$' ",t));let r=O.from(e?.getArguments()?.get(e6));if(!r)throw new $("Schema is not supplied.");return e.getContext().set(t,new e7(r,u(r.getDefaultValue())?void 0:r.getDefaultValue())),new G([C.outputOf(new Map)])}}),L(new class extends ei{getSignature(){return te}async internalExecute(e){let t=e?.getArguments()?.get(e8);if(!e.getContext()?.has(t))throw new $(F.format("Context don't have an element for '$' ",t));return new G([C.outputOf(new Map([e3,e.getContext()?.get(t)?.getElement()]))])}}),L(new class extends ei{getSignature(){return rn}async internalExecute(e){let t=e?.getArguments()?.get(rr);if(H.isNullOrBlank(t))throw new $("Empty string is not a valid name for the context element");let r=e?.getArguments()?.get(rs),s=new eB(t),n=s.getTokens().peekLast();if(!n.getExpression().startsWith("Context")||n instanceof eB||n instanceof eF&&!n.getElement().toString().startsWith("Context"))throw new eh(F.format("The context path $ is not a valid path in context",t));for(let e of s.getOperations().toArray())if(e!=eY.ARRAY_OPERATOR&&e!=eY.OBJECT_OPERATOR)throw new eh(F.format("Expected a reference to the context location, but found an expression $",t));for(let r=0;r<s.getTokens().size();r++){let n=s.getTokens().get(r);n instanceof eB&&s.getTokens().set(r,new eF(t,new rt(n).evaluate(e.getValuesMap())))}return this.modifyContext(e,t,r,s)}modifyContext(e,t,r,s){let n=s.getTokens();n.removeLast();let a=s.getOperations();a.removeLast();let i=e.getContext()?.get(n.removeLast().getExpression());if(u(i))throw new $(F.format("Context doesn't have any element with name '$' ",t));if(a.isEmpty())return i.setElement(r),new G([C.outputOf(new Map)]);let o=i.getElement(),E=a.removeLast(),A=n.removeLast(),c=A instanceof eF?A.getElement():A.getExpression();for(u(o)&&(o=E==eY.OBJECT_OPERATOR?{}:[],i.setElement(o));!a.isEmpty();)o=E==eY.OBJECT_OPERATOR?this.getDataFromObject(o,c,a.peekLast()):this.getDataFromArray(o,c,a.peekLast()),E=a.removeLast(),c=(A=n.removeLast())instanceof eF?A.getElement():A.getExpression();return E==eY.OBJECT_OPERATOR?this.putDataInObject(o,c,r):this.putDataInArray(o,c,r),new G([C.outputOf(new Map)])}getDataFromArray(e,t,r){if(!Array.isArray(e))throw new $(F.format("Expected an array but found $",e));let s=parseInt(t);if(isNaN(s))throw new $(F.format("Expected an array index but found $",t));if(s<0)throw new $(F.format("Array index is out of bound - $",t));let n=e[s];return u(n)&&(n=r==eY.OBJECT_OPERATOR?{}:[],e[s]=n),n}getDataFromObject(e,t,r){if(Array.isArray(e)||"object"!=typeof e)throw new $(F.format("Expected an object but found $",e));let s=e[t];return u(s)&&(s=r==eY.OBJECT_OPERATOR?{}:[],e[t]=s),s}putDataInArray(e,t,r){if(!Array.isArray(e))throw new $(F.format("Expected an array but found $",e));let s=parseInt(t);if(isNaN(s))throw new $(F.format("Expected an array index but found $",t));if(s<0)throw new $(F.format("Array index is out of bound - $",t));e[s]=r}putDataInObject(e,t,r){if(Array.isArray(e)||"object"!=typeof e)throw new $(F.format("Expected an object but found $",e));e[t]=r}})])],[E.SYSTEM_LOOP,new Map([L(new class extends ei{getSignature(){return rd}async internalExecute(e){let t=e.getArguments()?.get(r_),r=e.getArguments()?.get("to"),s=e.getArguments()?.get(rS),n=s>0,a=t,i=!1,o=e.getStatementExecution()?.getStatement()?.getStatementName();return new G({next(){if(i)return;if(n&&a>=r||!n&&a<=r||o&&e.getExecutionContext()?.get(o))return i=!0,o&&e.getExecutionContext()?.delete(o),C.outputOf(new Map([[rM,a]]));let t=C.of(V.ITERATION,new Map([[rO,a]]));return a+=s,t}})}}),L(new class extends ei{getSignature(){return rp}async internalExecute(e){let t=e.getArguments()?.get(rh),r=0,s=e.getStatementExecution()?.getStatement()?.getStatementName();return new G({next(){if(r>=t||s&&e.getExecutionContext()?.get(s))return s&&e.getExecutionContext()?.delete(s),C.outputOf(new Map([[rl,r]]));let n=C.of(V.ITERATION,new Map([[rg,r]]));return++r,n}})}}),L(new class extends ei{getSignature(){return rc}async internalExecute(e){let t=e.getArguments()?.get(rA);return e.getExecutionContext().set(t,!0),new G([C.outputOf(new Map)])}}),L(new class extends ei{getSignature(){return rN}async internalExecute(e){let t=e.getArguments()?.get(rR),r=0,s=e.getStatementExecution()?.getStatement()?.getStatementName();return new G({next(){if(r>=t.length||s&&e.getExecutionContext()?.get(s))return s&&e.getExecutionContext()?.delete(s),C.outputOf(new Map([[rf,r]]));let n=C.of(V.ITERATION,new Map([[rT,r],[rm,t[r]]]));return++r,n}})}})])],[E.SYSTEM,new Map([L(new ru),L(new class extends ei{getSignature(){return rE}async internalExecute(e){let t=e.getEvents(),r=e.getArguments(),s=r?.get(ri),n=e?.getArguments()?.get(ro).map(t=>{let r=t[ra];if(u(r))throw new $("Expect a value object");let s=r.value;return r.isExpression&&(s=new rt(s).evaluate(e.getValuesMap())),[t.name,s]}).reduce((e,t)=>(e.set(t[0],t[1]),e),new Map);return t?.has(s)||t?.set(s,[]),t?.get(s)?.push(n),new G([C.outputOf(new Map)])}}),L(new r6),L(new sc)])]]),sg=Array.from(sl.values()).flatMap(e=>Array.from(e.values())).map(e=>e.getSignature().getFullName());class sp extends sh{constructor(){super({find:async(e,t)=>sl.get(e)?.get(t),filter:async e=>Array.from(sg).filter(t=>-1!==t.toLowerCase().indexOf(e.toLowerCase()))},new rj,new sA,new e5,new r4)}}e({},"StatementExecution",()=>sm),e({},"StatementMessage",()=>sR);class sR{constructor(e,t){this.message=t,this.messageType=e}getMessageType(){return this.messageType}setMessageType(e){return this.messageType=e,this}getMessage(){return this.message}setMessage(e){return this.message=e,this}toString(){return`${this.messageType} : ${this.message}`}}class sm{constructor(e){this.messages=[],this.dependencies=new Set,this.statement=e}getStatement(){return this.statement}setStatement(e){return this.statement=e,this}getMessages(){return this.messages}setMessages(e){return this.messages=e,this}getDependencies(){return this.dependencies}setDependencies(e){return this.dependencies=e,this}getUniqueKey(){return this.statement.getStatementName()}addMessage(e,t){this.messages.push(new sR(e,t))}addDependency(e){this.dependencies.add(e)}getDepenedencies(){return this.dependencies}equals(e){return e instanceof sm&&e.statement.equals(this.statement)}}e({},"ContextTokenValueExtractor",()=>sT);class sT extends ek{static #e=(()=>{this.PREFIX="Context."})();constructor(e){super(),this.context=e}getValueInternal(e){let t=e.split(ek.REGEX_DOT),r=t[1],s=r.indexOf("["),n=2;return -1!=s&&(r=t[1].substring(0,s),t[1]=t[1].substring(s),n=1),this.retrieveElementFrom(e,t,n,this.context.get(r)?.getElement())}getPrefix(){return sT.PREFIX}getStore(){return u(this.context)?this.context:Array.from(this.context.entries()).reduce((e,[t,r])=>(u(r)||(e[t]=r.getElement()),e),{})}}e({},"OutputMapTokenValueExtractor",()=>sf);class sf extends ek{static #e=(()=>{this.PREFIX="Steps."})();constructor(e){super(),this.output=e}getValueInternal(e){let t=e.split(ek.REGEX_DOT),r=1,s=this.output.get(t[r++]);if(!s||r>=t.length)return;let n=s.get(t[r++]);if(!n||r>t.length)return;if(r===t.length)return n;let a=t[r].indexOf("[");if(-1===a){let s=n.get(t[r++]);return this.retrieveElementFrom(e,t,r,s)}let i=t[r].substring(0,a),o=n.get(i);return this.retrieveElementFrom(e,t,r,{[i]:o})}getPrefix(){return sf.PREFIX}getStore(){return this.convertMapToObj(this.output)}convertMapToObj(e){return 0===e.size?{}:Array.from(e.entries()).reduce((e,[t,r])=>(e[t]=r instanceof Map?this.convertMapToObj(r):r,e),{})}}e({},"ArgumentsTokenValueExtractor",()=>sN);class sN extends ek{static #e=(()=>{this.PREFIX="Arguments."})();constructor(e){super(),this.args=e}getValueInternal(e){let t=e.split(ek.REGEX_DOT),r=t[1],s=r.indexOf("["),n=2;return -1!=s&&(r=t[1].substring(0,s),t[1]=t[1].substring(s),n=1),this.retrieveElementFrom(e,t,n,this.args.get(r))}getPrefix(){return sN.PREFIX}getStore(){return u(this.args)?this.args:Array.from(this.args.entries()).reduce((e,[t,r])=>(e[t]=r,e),{})}}e({},"GraphVertex",()=>sS),e({},"ExecutionGraph",()=>s_);class s_{constructor(e=!1){this.nodeMap=new Map,this.isSubGrph=e}getVerticesData(){return Array.from(this.nodeMap.values()).map(e=>e.getData())}addVertex(e){if(!this.nodeMap.has(e.getUniqueKey())){let t=new sS(this,e);this.nodeMap.set(e.getUniqueKey(),t)}return this.nodeMap.get(e.getUniqueKey())}getVertex(e){return this.nodeMap.get(e)}getVertexData(e){if(this.nodeMap.has(e))return this.nodeMap.get(e).getData()}getVerticesWithNoIncomingEdges(){return Array.from(this.nodeMap.values()).filter(e=>!e.hasIncomingEdges())}isCyclic(){let e,t=new Y(this.getVerticesWithNoIncomingEdges()),r=new Set;for(;!t.isEmpty();){if(r.has(t.getFirst().getKey()))return!0;e=t.removeFirst(),r.add(e.getKey()),e.hasOutgoingEdges()&&t.addAll(Array.from(e.getOutVertices().values()).flatMap(e=>Array.from(e)))}return!1}addVertices(e){for(let t of e)this.addVertex(t)}getNodeMap(){return this.nodeMap}isSubGraph(){return this.isSubGrph}toString(){return"Execution Graph : \n"+Array.from(this.nodeMap.values()).map(e=>e.toString()).join("\n")}}class sS{constructor(e,t){this.outVertices=new Map,this.inVertices=new Set,this.data=t,this.graph=e}getData(){return this.data}setData(e){return this.data=e,this}getOutVertices(){return this.outVertices}setOutVertices(e){return this.outVertices=e,this}getInVertices(){return this.inVertices}setInVertices(e){return this.inVertices=e,this}getGraph(){return this.graph}setGraph(e){return this.graph=e,this}getKey(){return this.data.getUniqueKey()}addOutEdgeTo(e,t){return this.outVertices.has(e)||this.outVertices.set(e,new Set),this.outVertices.get(e).add(t),t.inVertices.add(new X(this,e)),t}addInEdgeTo(e,t){return this.inVertices.add(new X(e,t)),e.outVertices.has(t)||e.outVertices.set(t,new Set),e.outVertices.get(t).add(this),e}hasIncomingEdges(){return!!this.inVertices.size}hasOutgoingEdges(){return!!this.outVertices.size}getSubGraphOfType(e){let t=new s_(!0);var r=new Y(Array.from(this.outVertices.get(e)??[]));for(r.map(e=>e.getData()).forEach(e=>t.addVertex(e));!r.isEmpty();)Array.from(r.pop().outVertices.values()).flatMap(e=>Array.from(e)).forEach(e=>{t.addVertex(e.getData()),r.add(e)});return t}toString(){var e=Array.from(this.getInVertices()).map(e=>e.getT1().getKey()+"("+e.getT2()+")").join(", "),t=Array.from(this.outVertices.entries()).map(([e,t])=>e+": "+Array.from(t).map(e=>e.getKey()).join(",")).join("\n ");return this.getKey()+":\n In: "+e+"\n Out: \n "+t}}e({},"KIRuntime",()=>sw),e({},"JsonExpression",()=>sM);class sM{constructor(e){this.expression=e}getExpression(){return this.expression}}function sO(){var e=new Date().getTime();return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(t){var r=(e+16*Math.random())%16|0;return e=Math.floor(e/16),("x"==t?r:3&r|8).toString(16)})}e({},"ParameterReferenceType",()=>a),function(e){e.VALUE="VALUE",e.EXPRESSION="EXPRESSION"}(a||(a={})),e({},"FunctionExecutionParameters",()=>sd);class sd{constructor(e,t,r){this.count=0,this.executionContext=new Map,this.valueExtractors=new Map,this.functionRepository=e,this.schemaRepository=t,this.executionId=r??sO()}getExecutionId(){return this.executionId}getContext(){return this.context}setContext(e){this.context=e;let t=new sT(e);return this.valueExtractors.set(t.getPrefix(),t),this}getArguments(){return this.args}setArguments(e){return this.args=e,this}getEvents(){return this.events}setEvents(e){return this.events=e,this}getStatementExecution(){return this.statementExecution}setStatementExecution(e){return this.statementExecution=e,this}getSteps(){return this.steps}setSteps(e){this.steps=e;let t=new sf(e);return this.valueExtractors.set(t.getPrefix(),t),this}getCount(){return this.count}setCount(e){return this.count=e,this}getValuesMap(){return this.valueExtractors}getFunctionRepository(){return this.functionRepository}setFunctionRepository(e){return this.functionRepository=e,this}getSchemaRepository(){return this.schemaRepository}setSchemaRepository(e){return this.schemaRepository=e,this}addTokenValueExtractor(...e){for(let t of e)this.valueExtractors.set(t.getPrefix(),t);return this}setValuesMap(e){for(let[t,r]of e.entries())this.valueExtractors.set(t,r);return this}setExecutionContext(e){return this.executionContext=e,this}getExecutionContext(){return this.executionContext}}e({},"StatementMessageType",()=>i),function(e){e.ERROR="ERROR",e.WARNING="WARNING",e.MESSAGE="MESSAGE"}(i||(i={}));class sw extends ei{static #e=(()=>{this.PARAMETER_NEEDS_A_VALUE='Parameter "$" needs a value'})();static #t=(()=>{this.STEP_REGEX_PATTERN=RegExp("Steps\\.([a-zA-Z0-9\\\\-]{1,})\\.([a-zA-Z0-9\\\\-]{1,})","g")})();static #r=(()=>{this.VERSION=1})();static #s=(()=>{this.MAX_EXECUTION_ITERATIONS=1e7})();constructor(e,t=!1){if(super(),this.debugMode=!1,this.debugMode=t,this.fd=e,this.fd.getVersion()>sw.VERSION)throw new $("Runtime is at a lower version "+sw.VERSION+" and trying to run code from version "+this.fd.getVersion()+".")}getSignature(){return this.fd}async getExecutionPlan(e,t){let r=new s_;for(let s of Array.from(this.fd.getSteps().values()))r.addVertex(await this.prepareStatementExecution(s,e,t));return Array.from(this.makeEdges(r).getT2().entries()).forEach(e=>{let t=r.getNodeMap().get(e[0])?.getData();t&&t.addMessage(i.ERROR,e[1])}),r}async internalExecute(e){e.getContext()||e.setContext(new Map),e.getEvents()||e.setEvents(new Map),e.getSteps()||e.setSteps(new Map),e.getArguments()&&e.addTokenValueExtractor(new sN(e.getArguments())),this.debugMode&&(console.log(`EID: ${e.getExecutionId()} Executing: ${this.fd.getNamespace()}.${this.fd.getName()}`),console.log(`EID: ${e.getExecutionId()} Parameters: `,e));let t=await this.getExecutionPlan(e.getFunctionRepository(),e.getSchemaRepository());this.debugMode&&console.log(`EID: ${e.getExecutionId()} ${t?.toString()}`);let r=t.getVerticesData().filter(e=>e.getMessages().length).map(e=>e.getStatement().getStatementName()+": \n"+e.getMessages().join(","));if(r?.length)throw new $("Please fix the errors in the function definition before execution : \n"+r.join(",\n"));return await this.executeGraph(t,e)}async executeGraph(e,t){let r=new Y;r.addAll(e.getVerticesWithNoIncomingEdges());let s=new Y;for(;(!r.isEmpty()||!s.isEmpty())&&!t.getEvents()?.has(V.OUTPUT);)if(await this.processBranchQue(t,r,s),await this.processExecutionQue(t,r,s),t.setCount(t.getCount()+1),t.getCount()==sw.MAX_EXECUTION_ITERATIONS)throw new $("Execution locked in an infinite loop");if(!e.isSubGraph()&&!t.getEvents()?.size){let e=this.getSignature().getEvents();if(e.size&&e.get(V.OUTPUT)?.getParameters()?.size)throw new $("No events raised")}let n=Array.from(t.getEvents()?.entries()??[]).flatMap(e=>e[1].map(t=>C.of(e[0],t)));return new G(n.length||e.isSubGraph()?n:[C.of(V.OUTPUT,new Map)])}async processExecutionQue(e,t,r){if(!t.isEmpty()){let s=t.pop();await this.allDependenciesResolvedVertex(s,e.getSteps())?await this.executeVertex(s,e,r,t,e.getFunctionRepository()):t.add(s)}}async processBranchQue(e,t,r){if(r.length){let s=r.pop();await this.allDependenciesResolvedTuples(s.getT2(),e.getSteps())?await this.executeBranch(e,t,s):r.add(s)}}async executeBranch(e,t,r){let s,n=r.getT4();do if(r.getT1().getVerticesData().map(e=>e.getStatement().getStatementName()).forEach(t=>e.getSteps()?.delete(t)),await this.executeGraph(r.getT1(),e),(s=r.getT3().next())&&(e.getSteps()?.has(n.getData().getStatement().getStatementName())||e.getSteps()?.set(n.getData().getStatement().getStatementName(),new Map),e.getSteps()?.get(n.getData().getStatement().getStatementName())?.set(s.getName(),this.resolveInternalExpressions(s.getResult(),e)),this.debugMode)){let t=n.getData().getStatement();console.log(`EID: ${e.getExecutionId()} Step : ${t.getStatementName()} => ${t.getNamespace()}.${t.getName()}`),console.log(`EID: ${e.getExecutionId()} Event : ${s.getName()} : `,e.getSteps().get(t.getStatementName()).get(s.getName()))}while(s&&s.getName()!=V.OUTPUT)s?.getName()==V.OUTPUT&&n.getOutVertices().has(V.OUTPUT)&&(n?.getOutVertices()?.get(V.OUTPUT)??[]).forEach(async r=>{await this.allDependenciesResolvedVertex(r,e.getSteps())&&t.add(r)})}async executeVertex(e,t,r,s,n){let a,i=e.getData().getStatement();if(i.getExecuteIftrue().size){let e=(Array.from(i.getExecuteIftrue().entries())??[]).filter(e=>e[1]).map(([e])=>{let r=new rt(e).evaluate(t.getValuesMap());return r}).every(e=>!u(e)&&!1!==e);if(!e)return}let o=await n.find(i.getNamespace(),i.getName());if(!o)throw new $(F.format("$.$ function is not found.",i.getNamespace(),i.getName()));let E=o?.getSignature().getParameters(),A=this.getArgumentsFromParametersMap(t,i,E??new Map);this.debugMode&&(console.log(`EID: ${t.getExecutionId()} Step : ${i.getStatementName()} => ${i.getNamespace()}.${i.getName()}`),console.log(`EID: ${t.getExecutionId()} Arguments : `,A));let c=t.getContext();a=o instanceof sw?new sd(t.getFunctionRepository(),t.getSchemaRepository(),`${t.getExecutionId()}_${i.getStatementName()}`).setArguments(A).setValuesMap(new Map(Array.from(t.getValuesMap().values()).filter(e=>e.getPrefix()!==sN.PREFIX&&e.getPrefix()!==sf.PREFIX&&e.getPrefix()!==sT.PREFIX).map(e=>[e.getPrefix(),e]))):new sd(t.getFunctionRepository(),t.getSchemaRepository(),t.getExecutionId()).setValuesMap(t.getValuesMap()).setContext(c).setArguments(A).setEvents(t.getEvents()).setSteps(t.getSteps()).setStatementExecution(e.getData()).setCount(t.getCount()).setExecutionContext(t.getExecutionContext());let h=await o.execute(a),l=h.next();if(!l)throw new $(F.format("Executing $ returned no events",i.getStatementName()));let g=l.getName()==V.OUTPUT;if(t.getSteps()?.has(i.getStatementName())||t.getSteps().set(i.getStatementName(),new Map),t.getSteps().get(i.getStatementName()).set(l.getName(),this.resolveInternalExpressions(l.getResult(),t)),this.debugMode&&(console.log(`EID: ${t.getExecutionId()} Step : ${i.getStatementName()} => ${i.getNamespace()}.${i.getName()}`),console.log(`EID: ${t.getExecutionId()} Event : ${l.getName()} : `,t.getSteps().get(i.getStatementName()).get(l.getName()))),g){let r=e.getOutVertices().get(V.OUTPUT);r&&r.forEach(async e=>{await this.allDependenciesResolvedVertex(e,t.getSteps())&&s.add(e)})}else{let t=e.getSubGraphOfType(l.getName()),s=this.makeEdges(t).getT1();r.push(new q(t,s,h,e))}}resolveInternalExpressions(e,t){return e?Array.from(e.entries()).map(e=>new X(e[0],this.resolveInternalExpression(e[1],t))).reduce((e,t)=>(e.set(t.getT1(),t.getT2()),e),new Map):e}resolveInternalExpression(e,t){if(u(e)||"object"!=typeof e)return e;if(e instanceof sM)return new rt(e.getExpression()).evaluate(t.getValuesMap());if(Array.isArray(e)){let r=[];for(let s of e)r.push(this.resolveInternalExpression(s,t));return r}if("object"==typeof e){let r={};for(let s of Object.entries(e))r[s[0]]=this.resolveInternalExpression(s[1],t);return r}}allDependenciesResolvedTuples(e,t){for(let r of e)if(!t.has(r.getT1())||!t.get(r.getT1())?.get(r.getT2()))return!1;return!0}allDependenciesResolvedVertex(e,t){return!e.getInVertices().size||0==Array.from(e.getInVertices()).filter(e=>{let r=e.getT1().getData().getStatement().getStatementName(),s=e.getT2();return!(t.has(r)&&t.get(r)?.has(s))}).length}getArgumentsFromParametersMap(e,t,r){return Array.from(t.getParameterMap().entries()).map(t=>{let s,n=Array.from(t[1]?.values()??[]);if(!n?.length)return new X(t[0],s);let a=r.get(t[0]);return a?(s=a.isVariableArgument()?n.sort((e,t)=>(e.getOrder()??0)-(t.getOrder()??0)).filter(e=>!u(e)).map(t=>this.parameterReferenceEvaluation(e,t)).flatMap(e=>Array.isArray(e)?e:[e]):this.parameterReferenceEvaluation(e,n[0]),new X(t[0],s)):new X(t[0],void 0)}).filter(e=>!u(e.getT2())).reduce((e,t)=>(e.set(t.getT1(),t.getT2()),e),new Map)}parameterReferenceEvaluation(e,t){let r;return t.getType()==a.VALUE?r=this.resolveInternalExpression(t.getValue(),e):t.getType()!=a.EXPRESSION||H.isNullOrBlank(t.getExpression())||(r=new rt(t.getExpression()??"").evaluate(e.getValuesMap())),r}async prepareStatementExecution(e,t,r){let s=new sm(e),n=await t.find(e.getNamespace(),e.getName());if(!n)return s.addMessage(i.ERROR,F.format("$.$ is not available",e.getNamespace(),e.getName())),Promise.resolve(s);let a=new Map(n.getSignature().getParameters());if(!e.getParameterMap())return Promise.resolve(s);for(let t of Array.from(e.getParameterMap().entries())){let e=a.get(t[0]);if(!e)continue;let n=Array.from(t[1]?.values()??[]);if(!n.length&&!e.isVariableArgument()){await z.hasDefaultValueOrNullSchemaType(e.getSchema(),r)||s.addMessage(i.ERROR,F.format(sw.PARAMETER_NEEDS_A_VALUE,e.getParameterName())),a.delete(e.getParameterName());continue}if(e.isVariableArgument())for(let t of(n.sort((e,t)=>(e.getOrder()??0)-(t.getOrder()??0)),n))this.parameterReferenceValidation(s,e,t,r);else if(n.length){let t=n[0];this.parameterReferenceValidation(s,e,t,r)}a.delete(e.getParameterName())}if(!u(s.getStatement().getDependentStatements()))for(let e of Array.from(s.getStatement().getDependentStatements().entries()))e[1]&&s.addDependency(e[0]);if(!u(s.getStatement().getExecuteIftrue()))for(let e of Array.from(s.getStatement().getExecuteIftrue().entries()))e[1]&&this.addDependencies(s,e[0]);if(a.size)for(let e of Array.from(a.values()))e.isVariableArgument()||await z.hasDefaultValueOrNullSchemaType(e.getSchema(),r)||s.addMessage(i.ERROR,F.format(sw.PARAMETER_NEEDS_A_VALUE,e.getParameterName()));return Promise.resolve(s)}async parameterReferenceValidation(e,t,s,n){if(s){if(s.getType()==a.VALUE){if(u(s.getValue())&&!await z.hasDefaultValueOrNullSchemaType(t.getSchema(),n)&&e.addMessage(i.ERROR,F.format(sw.PARAMETER_NEEDS_A_VALUE,t.getParameterName())),u(s.getValue()))return;let a=new Y;for(a.push(new X(t.getSchema(),s.getValue()));!a.isEmpty();){let t=a.pop();if(t.getT2() instanceof sM)this.addDependencies(e,t.getT2().getExpression());else{if(u(t.getT1())||u(t.getT1().getType()))continue;if(t.getT1().getType()?.contains(r.ARRAY)&&Array.isArray(t.getT2())){let e=t.getT1().getItems();if(!e)continue;if(e.isSingleType())for(let r of t.getT2())a.push(new X(e.getSingleSchema(),r));else{let r=t.getT2();for(let t=0;t<r.length;t++)a.push(new X(e.getTupleSchema()[t],r[t]))}}else if(t.getT1().getType()?.contains(r.OBJECT)&&"object"==typeof t.getT2()){let r=t.getT1();if(r.getName()===I.EXPRESSION.getName()&&r.getNamespace()===I.EXPRESSION.getNamespace()){let r=t.getT2();r.isExpression&&this.addDependencies(e,r.value)}else if(r.getProperties())for(let e of Object.entries(t.getT2()))r.getProperties().has(e[0])&&a.push(new X(r.getProperties().get(e[0]),e[1]))}}}}else if(s.getType()==a.EXPRESSION){if(H.isNullOrBlank(s.getExpression()))u(z.getDefaultValue(t.getSchema(),n))&&e.addMessage(i.ERROR,F.format(sw.PARAMETER_NEEDS_A_VALUE,t.getParameterName()));else try{this.addDependencies(e,s.getExpression())}catch(t){e.addMessage(i.ERROR,F.format("Error evaluating $ : $",s.getExpression(),t))}}}else u(await z.getDefaultValue(t.getSchema(),n))&&e.addMessage(i.ERROR,F.format(sw.PARAMETER_NEEDS_A_VALUE,t.getParameterName()))}addDependencies(e,t){t&&Array.from(t.match(sw.STEP_REGEX_PATTERN)??[]).forEach(t=>e.addDependency(t))}makeEdges(e){let t=e.getNodeMap().values(),r=[],s=new Map;for(let n of Array.from(t))for(let t of Array.from(n.getData().getDependencies())){let a=t.indexOf(".",6),i=t.substring(6,a),o=t.indexOf(".",a+1),E=-1==o?t.substring(a+1):t.substring(a+1,o);e.getNodeMap().has(i)?n.addInEdgeTo(e.getNodeMap().get(i),E):(r.push(new X(i,E)),s.set(n.getData().getStatement().getStatementName(),F.format("Unable to find the step with name $",i)))}return new X(r,s)}}e({},"KIRunConstants",()=>sI);class sI{static #e=(()=>{this.NAMESPACE="namespace"})();static #t=(()=>{this.NAME="name"})();static #r=(()=>{this.ID="id"})();constructor(){}}e({},"Position",()=>sP);class sP{static #e=(()=>{this.SCHEMA_NAME="Position"})();static #t=(()=>{this.SCHEMA=new O().setNamespace(E.SYSTEM).setName(sP.SCHEMA_NAME).setType(g.of(r.OBJECT)).setProperties(new Map([["left",O.ofFloat("left")],["top",O.ofFloat("top")]]))})();constructor(e,t){this.left=e,this.top=t}getLeft(){return this.left}setLeft(e){return this.left=e,this}getTop(){return this.top}setTop(e){return this.top=e,this}static from(e){if(e)return new sP(e.left,e.top)}}e({},"FunctionDefinition",()=>sb),e({},"Statement",()=>sL),e({},"AbstractStatement",()=>sy);class sy{constructor(e){if(this.override=!1,!e)return;this.comment=e.comment,this.description=e.description,this.position=e.position?new sP(e.position.getLeft(),e.position.getTop()):void 0,this.override=e.override}getComment(){return this.comment}setComment(e){return this.comment=e,this}isOverride(){return this.override}setOverride(e){return this.override=e,this}getDescription(){return this.description}setDescription(e){return this.description=e,this}getPosition(){return this.position}setPosition(e){return this.position=e,this}}e({},"ParameterReference",()=>sx);class sx{static #e=(()=>{this.SCHEMA_NAME="ParameterReference"})();static #t=(()=>{this.SCHEMA=new O().setNamespace(E.SYSTEM).setName(sx.SCHEMA_NAME).setType(g.of(r.OBJECT)).setProperties(new Map([["key",O.ofString("key")],["value",O.ofAny("value")],["expression",O.ofString("expression")],["type",O.ofString("type").setEnums(["EXPRESSION","VALUE"])],["order",O.ofInteger("order")]]))})();constructor(e){e instanceof sx?(this.key=e.key,this.type=e.type,this.value=u(e.value)?void 0:JSON.parse(JSON.stringify(e.value)),this.expression=e.expression,this.order=e.order):(this.type=e,this.key=sO())}getType(){return this.type}setType(e){return this.type=e,this}getKey(){return this.key}setKey(e){return this.key=e,this}getValue(){return this.value}setValue(e){return this.value=e,this}getExpression(){return this.expression}setExpression(e){return this.expression=e,this}setOrder(e){return this.order=e,this}getOrder(){return this.order}static ofExpression(e){let t=new sx(a.EXPRESSION).setExpression(e);return[t.getKey(),t]}static ofValue(e){let t=new sx(a.VALUE).setValue(e);return[t.getKey(),t]}static from(e){return new sx(e.type).setValue(e.value).setExpression(e.expression).setKey(e.key).setOrder(e.order)}}class sL extends sy{static #e=(()=>{this.SCHEMA_NAME="Statement"})();static #t=(()=>{this.SCHEMA=new O().setNamespace(E.SYSTEM).setName(sL.SCHEMA_NAME).setType(g.of(r.OBJECT)).setProperties(new Map([["statementName",O.ofString("statementName")],["comment",O.ofString("comment")],["description",O.ofString("description")],["namespace",O.ofString("namespace")],["name",O.ofString("name")],["dependentStatements",O.ofObject("dependentstatement").setAdditionalProperties(new M().setSchemaValue(O.ofBoolean("exists"))).setDefaultValue({})],["executeIftrue",O.ofObject("executeIftrue").setAdditionalProperties(new M().setSchemaValue(O.ofBoolean("exists"))).setDefaultValue({})],["parameterMap",new O().setName("parameterMap").setAdditionalProperties(new M().setSchemaValue(O.ofObject("parameterReference").setAdditionalProperties(new M().setSchemaValue(sx.SCHEMA))))],["position",sP.SCHEMA]]))})();constructor(e,t,r){if(super(e instanceof sL?e:void 0),e instanceof sL)this.statementName=e.statementName,this.name=e.name,this.namespace=e.namespace,e.parameterMap&&(this.parameterMap=new Map(Array.from(e.parameterMap.entries()).map(e=>[e[0],new Map(Array.from(e[1].entries()).map(e=>[e[0],new sx(e[1])]))]))),e.dependentStatements&&(this.dependentStatements=new Map(Array.from(e.dependentStatements.entries())));else{if(this.statementName=e,!r||!t)throw Error("Unknown constructor");this.namespace=t,this.name=r}}getStatementName(){return this.statementName}setStatementName(e){return this.statementName=e,this}getNamespace(){return this.namespace}setNamespace(e){return this.namespace=e,this}getName(){return this.name}setName(e){return this.name=e,this}getParameterMap(){return this.parameterMap||(this.parameterMap=new Map),this.parameterMap}setParameterMap(e){return this.parameterMap=e,this}getDependentStatements(){return this.dependentStatements??new Map}setDependentStatements(e){return this.dependentStatements=e,this}getExecuteIftrue(){return this.executeIftrue??new Map}setExecuteIftrue(e){return this.executeIftrue=e,this}equals(e){return e instanceof sL&&e.statementName==this.statementName}static ofEntry(e){return[e.statementName,e]}static from(e){return new sL(e.statementName,e.namespace,e.name).setParameterMap(new Map(Object.entries(e.parameterMap??{}).map(([e,t])=>[e,new Map(Object.entries(t??{}).map(([e,t])=>sx.from(t)).map(e=>[e.getKey(),e]))]))).setDependentStatements(new Map(Object.entries(e.dependentStatements??{}))).setExecuteIftrue(new Map(Object.entries(e.executeIftrue??{}))).setPosition(sP.from(e.position)).setComment(e.comment).setDescription(e.description)}}e({},"StatementGroup",()=>sU);class sU extends sy{static #e=(()=>{this.SCHEMA_NAME="StatementGroup"})();static #t=(()=>{this.SCHEMA=new O().setNamespace(E.SYSTEM).setName(sU.SCHEMA_NAME).setType(g.of(r.OBJECT)).setProperties(new Map([["statementGroupName",O.ofString("statementGroupName")],["comment",O.ofString("comment")],["description",O.ofString("description")],["position",sP.SCHEMA]]))})();constructor(e,t=new Map){super(),this.statementGroupName=e,this.statements=t}getStatementGroupName(){return this.statementGroupName}setStatementGroupName(e){return this.statementGroupName=e,this}getStatements(){return this.statements}setStatements(e){return this.statements=e,this}static from(e){return new sU(e.statementGroupName,new Map(Object.entries(e.statements||{}).map(([e,t])=>[e,(""+t)?.toLowerCase()=="true"]))).setPosition(sP.from(e.position)).setComment(e.comment).setDescription(e.description)}}let sv=new O().setNamespace(E.SYSTEM).setName("FunctionDefinition").setProperties(new Map([["name",O.ofString("name")],["namespace",O.ofString("namespace")],["parameters",O.ofArray("parameters",I.SCHEMA)],["events",O.ofObject("events").setAdditionalProperties(new M().setSchemaValue(V.SCHEMA))],["steps",O.ofObject("steps").setAdditionalProperties(new M().setSchemaValue(sL.SCHEMA))]]));sv.getProperties()?.set("parts",O.ofArray("parts",sv));class sb extends D{static #e=(()=>{this.SCHEMA=sv})();constructor(e){super(e),this.version=1}getVersion(){return this.version}setVersion(e){return this.version=e,this}getSteps(){return this.steps??new Map}setSteps(e){return this.steps=e,this}getStepGroups(){return this.stepGroups}setStepGroups(e){return this.stepGroups=e,this}getParts(){return this.parts}setParts(e){return this.parts=e,this}static from(e){return e?new sb(e.name).setSteps(new Map(Object.values(e.steps??{}).filter(e=>!!e).map(e=>[e.statementName,sL.from(e)]))).setStepGroups(new Map(Object.values(e.stepGroups??{}).filter(e=>!!e).map(e=>[e.statementGroupName,sU.from(e)]))).setParts(Array.from(e.parts??[]).filter(e=>!!e).map(e=>sb.from(e))).setVersion(e.version??1).setEvents(new Map(Object.values(e.events??{}).filter(e=>!!e).map(e=>[e.name,V.from(e)]))).setParameters(new Map(Object.values(e.parameters??{}).filter(e=>!!e).map(e=>[e.parameterName,I.from(e)]))).setNamespace(e.namespace):new sb("unknown")}}e({},"Argument",()=>sV);class sV{constructor(e,t,r){this.argumentIndex=0,this.argumentIndex=e,this.name=t,this.value=r}getArgumentIndex(){return this.argumentIndex}setArgumentIndex(e){return this.argumentIndex=e,this}getName(){return this.name}setName(e){return this.name=e,this}getValue(){return this.value}setValue(e){return this.value=e,this}static of(e,t){return new sV(0,e,t)}}var sC={};t(sC,tJ),t(sC,tZ),t(sC,t1),t(sC,t5),t(sC,tz);var s$={};t(s$,ta),t(s$,to),t(s$,tu),t(s$,tc),t(s$,tl),t(s$,tp),t(s$,tm),t(s$,tr),t(s$,tf),t(s$,t_),t(s$,tM),t(s$,td),t(s$,tI),t(s$,ty),t(s$,tL),t(s$,tv),t(s$,tV),t(s$,t$),t(s$,tD),t(s$,tk),t(s$,tY),t(s$,tj),t(s$,tW),t(s$,tt);export{x as KIRunSchemaRepository,sp as KIRunFunctionRepository,el as PrimitiveUtil,v as MapUtil,b as MapEntry,u as isNullValue,Y as LinkedList,e$ as StringBuilder,F as StringFormatter,H as StringUtil,X as Tuple2,W as Tuple3,q as Tuple4,ep as ArrayUtil,k as deepEqual,em as duplicate,sm as StatementExecution,sR as StatementMessage,e7 as ContextElement,sT as ContextTokenValueExtractor,sf as OutputMapTokenValueExtractor,sN as ArgumentsTokenValueExtractor,sS as GraphVertex,s_ as ExecutionGraph,sw as KIRuntime,i as StatementMessageType,sd as FunctionExecutionParameters,eB as Expression,ek as TokenValueExtractor,t6 as LiteralTokenValueExtractor,eH as ObjectValueSetterExtractor,rt as ExpressionEvaluator,eY as Operation,eD as ExpressionToken,eG as ExpressionEvaluationException,eF as ExpressionTokenValue,ei as AbstractFunction,E as Namespaces,sM as JsonExpression,M as AdditionalType,O as Schema,et as NumberValidator,Z as BooleanValidator,ee as NullValidator,Q as ArrayValidator,K as AnyOfAllOfOneOfValidator,es as StringValidator,er as ObjectValidator,ea as SchemaValidator,J as SchemaValidationException,d as SchemaReferenceException,en as TypeValidator,A as ArraySchemaType,l as SingleType,g as TypeUtil,h as MultipleType,c as Type,r as SchemaType,z as SchemaUtil,n as StringFormat,sh as HybridRepository,sI as KIRunConstants,I as Parameter,G as FunctionOutput,sP as Position,sb as FunctionDefinition,a as ParameterReferenceType,C as EventResult,sy as AbstractStatement,sL as Statement,sU as StatementGroup,D as FunctionSignature,V as Event,s as ParameterType,sV as Argument,sx as ParameterReference,eh as ExecutionException,$ as KIRuntimeException,tQ as ArithmeticUnaryMinusOperator,t0 as ArithmeticUnaryPlusOperator,t2 as BitwiseComplementOperator,t7 as LogicalNotOperator,tK as UnaryOperator,ti as ArithmeticAdditionOperator,tE as ArithmeticDivisionOperator,tA as ArithmeticIntegerDivisionOperator,th as ArithmeticModulusOperator,tg as ArithmeticMultiplicationOperator,tR as ArithmeticSubtractionOperator,tT as ArrayOperator,ts as BinaryOperator,tN as BitwiseAndOperator,tS as BitwiseLeftShiftOperator,tO as BitwiseOrOperator,tw as BitwiseRightShiftOperator,tP as BitwiseUnsignedRightShiftOperator,tx as BitwiseXorOperator,tU as LogicalAndOperator,tb as LogicalEqualOperator,tC as LogicalGreaterThanEqualOperator,tG as LogicalGreaterThanOperator,tF as LogicalLessThanEqualOperator,tH as LogicalNotEqualOperator,tB as LogicalLessThanOperator,tX as LogicalOrOperator,tq as ObjectOperator,tn as LogicalNullishCoalescingOperator,t3 as ConditionalTernaryOperator};
|
|
2
2
|
//# sourceMappingURL=module.js.map
|