devicetree-language-server 0.3.2 → 0.3.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/dist/server.js +2 -2
  2. package/package.json +1 -1
package/dist/server.js CHANGED
@@ -179,7 +179,7 @@ ${t.comment}`:t.comment}this.doc.range[2]=t.offset;break}default:this.errors.pus
179
179
  || ${o} === "boolean" || ${s} === null`).assign(a,(0,ue._)`[${s}]`)}}}function aU({gen:n,parentData:e,parentDataProperty:t},r){n.if((0,ue._)`${e} !== undefined`,()=>n.assign((0,ue._)`${e}[${t}]`,r))}function Bb(n,e,t,r=na.Correct){let s=r===na.Correct?ue.operators.EQ:ue.operators.NEQ,i;switch(n){case"null":return(0,ue._)`${e} ${s} null`;case"array":i=(0,ue._)`Array.isArray(${e})`;break;case"object":i=(0,ue._)`${e} && typeof ${e} == "object" && !Array.isArray(${e})`;break;case"integer":i=o((0,ue._)`!(${e} % 1) && !isNaN(${e})`);break;case"number":i=o();break;default:return(0,ue._)`typeof ${e} ${s} ${n}`}return r===na.Correct?i:(0,ue.not)(i);function o(a=ue.nil){return(0,ue.and)((0,ue._)`typeof ${e} == "number"`,a,t?(0,ue._)`isFinite(${e})`:ue.nil)}}rn.checkDataType=Bb;function Ub(n,e,t,r){if(n.length===1)return Bb(n[0],e,t,r);let s,i=(0,HD.toHash)(n);if(i.array&&i.object){let o=(0,ue._)`typeof ${e} != "object"`;s=i.null?o:(0,ue._)`!${e} || ${o}`,delete i.null,delete i.array,delete i.object}else s=ue.nil;i.number&&delete i.integer;for(let o in i)s=(0,ue.and)(s,Bb(o,e,t,r));return s}rn.checkDataTypes=Ub;var cU={message:({schema:n})=>`must be ${n}`,params:({schema:n,schemaValue:e})=>typeof n=="string"?(0,ue._)`{type: ${n}}`:(0,ue._)`{type: ${e}}`};function Vb(n){let e=lU(n);(0,nU.reportError)(e,cU)}rn.reportTypeError=Vb;function lU(n){let{gen:e,data:t,schema:r}=n,s=(0,HD.schemaRefOrVal)(n,r,"type");return{gen:e,keyword:"type",data:t,schema:r.type,schemaCode:s,schemaValue:s,parentSchema:r,params:{},it:n}}});var JD=E(Sh=>{"use strict";Object.defineProperty(Sh,"__esModule",{value:!0});Sh.assignDefaults=void 0;var ra=ce(),uU=ge();function dU(n,e){let{properties:t,items:r}=n.schema;if(e==="object"&&t)for(let s in t)YD(n,s,t[s].default);else e==="array"&&Array.isArray(r)&&r.forEach((s,i)=>YD(n,i,s.default))}Sh.assignDefaults=dU;function YD(n,e,t){let{gen:r,compositeRule:s,data:i,opts:o}=n;if(t===void 0)return;let a=(0,ra._)`${i}${(0,ra.getProperty)(e)}`;if(s){(0,uU.checkStrictMode)(n,`default is ignored for: ${a}`);return}let c=(0,ra._)`${a} === undefined`;o.useDefaults==="empty"&&(c=(0,ra._)`${c} || ${a} === null || ${a} === ""`),r.if(c,(0,ra._)`${a} = ${(0,ra.stringify)(t)}`)}});var Xn=E(Be=>{"use strict";Object.defineProperty(Be,"__esModule",{value:!0});Be.validateUnion=Be.validateArray=Be.usePattern=Be.callValidateCode=Be.schemaProperties=Be.allSchemaProperties=Be.noPropertyInData=Be.propertyInData=Be.isOwnProperty=Be.hasPropFunc=Be.reportMissingProp=Be.checkMissingProp=Be.checkReportMissingProp=void 0;var rt=ce(),Wb=ge(),zs=Jn(),fU=ge();function hU(n,e){let{gen:t,data:r,it:s}=n;t.if(Hb(t,r,e,s.opts.ownProperties),()=>{n.setParams({missingProperty:(0,rt._)`${e}`},!0),n.error()})}Be.checkReportMissingProp=hU;function pU({gen:n,data:e,it:{opts:t}},r,s){return(0,rt.or)(...r.map(i=>(0,rt.and)(Hb(n,e,i,t.ownProperties),(0,rt._)`${s} = ${i}`)))}Be.checkMissingProp=pU;function mU(n,e){n.setParams({missingProperty:e},!0),n.error()}Be.reportMissingProp=mU;function XD(n){return n.scopeValue("func",{ref:Object.prototype.hasOwnProperty,code:(0,rt._)`Object.prototype.hasOwnProperty`})}Be.hasPropFunc=XD;function zb(n,e,t){return(0,rt._)`${XD(n)}.call(${e}, ${t})`}Be.isOwnProperty=zb;function gU(n,e,t,r){let s=(0,rt._)`${e}${(0,rt.getProperty)(t)} !== undefined`;return r?(0,rt._)`${s} && ${zb(n,e,t)}`:s}Be.propertyInData=gU;function Hb(n,e,t,r){let s=(0,rt._)`${e}${(0,rt.getProperty)(t)} === undefined`;return r?(0,rt.or)(s,(0,rt.not)(zb(n,e,t))):s}Be.noPropertyInData=Hb;function QD(n){return n?Object.keys(n).filter(e=>e!=="__proto__"):[]}Be.allSchemaProperties=QD;function yU(n,e){return QD(e).filter(t=>!(0,Wb.alwaysValidSchema)(n,e[t]))}Be.schemaProperties=yU;function bU({schemaCode:n,data:e,it:{gen:t,topSchemaRef:r,schemaPath:s,errorPath:i},it:o},a,c,l){let u=l?(0,rt._)`${n}, ${e}, ${r}${s}`:e,d=[[zs.default.instancePath,(0,rt.strConcat)(zs.default.instancePath,i)],[zs.default.parentData,o.parentData],[zs.default.parentDataProperty,o.parentDataProperty],[zs.default.rootData,zs.default.rootData]];o.opts.dynamicRef&&d.push([zs.default.dynamicAnchors,zs.default.dynamicAnchors]);let f=(0,rt._)`${u}, ${t.object(...d)}`;return c!==rt.nil?(0,rt._)`${a}.call(${c}, ${f})`:(0,rt._)`${a}(${f})`}Be.callValidateCode=bU;var vU=(0,rt._)`new RegExp`;function TU({gen:n,it:{opts:e}},t){let r=e.unicodeRegExp?"u":"",{regExp:s}=e.code,i=s(t,r);return n.scopeValue("pattern",{key:i.toString(),ref:i,code:(0,rt._)`${s.code==="new RegExp"?vU:(0,fU.useFunc)(n,s)}(${t}, ${r})`})}Be.usePattern=TU;function SU(n){let{gen:e,data:t,keyword:r,it:s}=n,i=e.name("valid");if(s.allErrors){let a=e.let("valid",!0);return o(()=>e.assign(a,!1)),a}return e.var(i,!0),o(()=>e.break()),i;function o(a){let c=e.const("len",(0,rt._)`${t}.length`);e.forRange("i",0,c,l=>{n.subschema({keyword:r,dataProp:l,dataPropType:Wb.Type.Num},i),e.if((0,rt.not)(i),a)})}}Be.validateArray=SU;function _U(n){let{gen:e,schema:t,keyword:r,it:s}=n;if(!Array.isArray(t))throw new Error("ajv implementation error");if(t.some(c=>(0,Wb.alwaysValidSchema)(s,c))&&!s.opts.unevaluated)return;let o=e.let("valid",!1),a=e.name("_valid");e.block(()=>t.forEach((c,l)=>{let u=n.subschema({keyword:r,schemaProp:l,compositeRule:!0},a);e.assign(o,(0,rt._)`${o} || ${a}`),n.mergeValidEvaluated(u,a)||e.if((0,rt.not)(o))})),n.result(o,()=>n.reset(),()=>n.error(!0))}Be.validateUnion=_U});var tC=E(qr=>{"use strict";Object.defineProperty(qr,"__esModule",{value:!0});qr.validateKeywordUsage=qr.validSchemaType=qr.funcKeywordCode=qr.macroKeywordCode=void 0;var hn=ce(),Ai=Jn(),EU=Xn(),wU=Yc();function kU(n,e){let{gen:t,keyword:r,schema:s,parentSchema:i,it:o}=n,a=e.macro.call(o.self,s,i,o),c=eC(t,r,a);o.opts.validateSchema!==!1&&o.self.validateSchema(a,!0);let l=t.name("valid");n.subschema({schema:a,schemaPath:hn.nil,errSchemaPath:`${o.errSchemaPath}/${r}`,topSchemaRef:c,compositeRule:!0},l),n.pass(l,()=>n.error(!0))}qr.macroKeywordCode=kU;function NU(n,e){var t;let{gen:r,keyword:s,schema:i,parentSchema:o,$data:a,it:c}=n;RU(c,e);let l=!a&&e.compile?e.compile.call(c.self,i,o,c):e.validate,u=eC(r,s,l),d=r.let("valid");n.block$data(d,f),n.ok((t=e.valid)!==null&&t!==void 0?t:d);function f(){if(e.errors===!1)m(),e.modifying&&ZD(n),S(()=>n.error());else{let w=e.async?p():y();e.modifying&&ZD(n),S(()=>PU(n,w))}}function p(){let w=r.let("ruleErrs",null);return r.try(()=>m((0,hn._)`await `),T=>r.assign(d,!1).if((0,hn._)`${T} instanceof ${c.ValidationError}`,()=>r.assign(w,(0,hn._)`${T}.errors`),()=>r.throw(T))),w}function y(){let w=(0,hn._)`${u}.errors`;return r.assign(w,null),m(hn.nil),w}function m(w=e.async?(0,hn._)`await `:hn.nil){let T=c.opts.passContext?Ai.default.this:Ai.default.self,v=!("compile"in e&&!a||e.schema===!1);r.assign(d,(0,hn._)`${w}${(0,EU.callValidateCode)(n,u,T,v)}`,e.modifying)}function S(w){var T;r.if((0,hn.not)((T=e.valid)!==null&&T!==void 0?T:d),w)}}qr.funcKeywordCode=NU;function ZD(n){let{gen:e,data:t,it:r}=n;e.if(r.parentData,()=>e.assign(t,(0,hn._)`${r.parentData}[${r.parentDataProperty}]`))}function PU(n,e){let{gen:t}=n;t.if((0,hn._)`Array.isArray(${e})`,()=>{t.assign(Ai.default.vErrors,(0,hn._)`${Ai.default.vErrors} === null ? ${e} : ${Ai.default.vErrors}.concat(${e})`).assign(Ai.default.errors,(0,hn._)`${Ai.default.vErrors}.length`),(0,wU.extendErrors)(n)},()=>n.error())}function RU({schemaEnv:n},e){if(e.async&&!n.$async)throw new Error("async keyword in sync schema")}function eC(n,e,t){if(t===void 0)throw new Error(`keyword "${e}" failed to compile`);return n.scopeValue("keyword",typeof t=="function"?{ref:t}:{ref:t,code:(0,hn.stringify)(t)})}function DU(n,e,t=!1){return!e.length||e.some(r=>r==="array"?Array.isArray(n):r==="object"?n&&typeof n=="object"&&!Array.isArray(n):typeof n==r||t&&typeof n>"u")}qr.validSchemaType=DU;function CU({schema:n,opts:e,self:t,errSchemaPath:r},s,i){if(Array.isArray(s.keyword)?!s.keyword.includes(i):s.keyword!==i)throw new Error("ajv implementation error");let o=s.dependencies;if(o?.some(a=>!Object.prototype.hasOwnProperty.call(n,a)))throw new Error(`parent schema must have dependencies of ${i}: ${o.join(",")}`);if(s.validateSchema&&!s.validateSchema(n[i])){let c=`keyword "${i}" value is invalid at path "${r}": `+t.errorsText(s.validateSchema.errors);if(e.validateSchema==="log")t.logger.error(c);else throw new Error(c)}}qr.validateKeywordUsage=CU});var rC=E(Hs=>{"use strict";Object.defineProperty(Hs,"__esModule",{value:!0});Hs.extendSubschemaMode=Hs.extendSubschemaData=Hs.getSubschema=void 0;var jr=ce(),nC=ge();function AU(n,{keyword:e,schemaProp:t,schema:r,schemaPath:s,errSchemaPath:i,topSchemaRef:o}){if(e!==void 0&&r!==void 0)throw new Error('both "keyword" and "schema" passed, only one allowed');if(e!==void 0){let a=n.schema[e];return t===void 0?{schema:a,schemaPath:(0,jr._)`${n.schemaPath}${(0,jr.getProperty)(e)}`,errSchemaPath:`${n.errSchemaPath}/${e}`}:{schema:a[t],schemaPath:(0,jr._)`${n.schemaPath}${(0,jr.getProperty)(e)}${(0,jr.getProperty)(t)}`,errSchemaPath:`${n.errSchemaPath}/${e}/${(0,nC.escapeFragment)(t)}`}}if(r!==void 0){if(s===void 0||i===void 0||o===void 0)throw new Error('"schemaPath", "errSchemaPath" and "topSchemaRef" are required with "schema"');return{schema:r,schemaPath:s,topSchemaRef:o,errSchemaPath:i}}throw new Error('either "keyword" or "schema" must be passed')}Hs.getSubschema=AU;function OU(n,e,{dataProp:t,dataPropType:r,data:s,dataTypes:i,propertyName:o}){if(s!==void 0&&t!==void 0)throw new Error('both "data" and "dataProp" passed, only one allowed');let{gen:a}=e;if(t!==void 0){let{errorPath:l,dataPathArr:u,opts:d}=e,f=a.let("data",(0,jr._)`${e.data}${(0,jr.getProperty)(t)}`,!0);c(f),n.errorPath=(0,jr.str)`${l}${(0,nC.getErrorPath)(t,r,d.jsPropertySyntax)}`,n.parentDataProperty=(0,jr._)`${t}`,n.dataPathArr=[...u,n.parentDataProperty]}if(s!==void 0){let l=s instanceof jr.Name?s:a.let("data",s,!0);c(l),o!==void 0&&(n.propertyName=o)}i&&(n.dataTypes=i);function c(l){n.data=l,n.dataLevel=e.dataLevel+1,n.dataTypes=[],e.definedProperties=new Set,n.parentData=e.data,n.dataNames=[...e.dataNames,l]}}Hs.extendSubschemaData=OU;function IU(n,{jtdDiscriminator:e,jtdMetadata:t,compositeRule:r,createErrors:s,allErrors:i}){r!==void 0&&(n.compositeRule=r),s!==void 0&&(n.createErrors=s),i!==void 0&&(n.allErrors=i),n.jtdDiscriminator=e,n.jtdMetadata=t}Hs.extendSubschemaMode=IU});var Kb=E((jte,sC)=>{"use strict";sC.exports=function n(e,t){if(e===t)return!0;if(e&&t&&typeof e=="object"&&typeof t=="object"){if(e.constructor!==t.constructor)return!1;var r,s,i;if(Array.isArray(e)){if(r=e.length,r!=t.length)return!1;for(s=r;s--!==0;)if(!n(e[s],t[s]))return!1;return!0}if(e.constructor===RegExp)return e.source===t.source&&e.flags===t.flags;if(e.valueOf!==Object.prototype.valueOf)return e.valueOf()===t.valueOf();if(e.toString!==Object.prototype.toString)return e.toString()===t.toString();if(i=Object.keys(e),r=i.length,r!==Object.keys(t).length)return!1;for(s=r;s--!==0;)if(!Object.prototype.hasOwnProperty.call(t,i[s]))return!1;for(s=r;s--!==0;){var o=i[s];if(!n(e[o],t[o]))return!1}return!0}return e!==e&&t!==t}});var oC=E((Fte,iC)=>{"use strict";var Ks=iC.exports=function(n,e,t){typeof e=="function"&&(t=e,e={}),t=e.cb||t;var r=typeof t=="function"?t:t.pre||function(){},s=t.post||function(){};_h(e,r,s,n,"",n)};Ks.keywords={additionalItems:!0,items:!0,contains:!0,additionalProperties:!0,propertyNames:!0,not:!0,if:!0,then:!0,else:!0};Ks.arrayKeywords={items:!0,allOf:!0,anyOf:!0,oneOf:!0};Ks.propsKeywords={$defs:!0,definitions:!0,properties:!0,patternProperties:!0,dependencies:!0};Ks.skipKeywords={default:!0,enum:!0,const:!0,required:!0,maximum:!0,minimum:!0,exclusiveMaximum:!0,exclusiveMinimum:!0,multipleOf:!0,maxLength:!0,minLength:!0,pattern:!0,format:!0,maxItems:!0,minItems:!0,uniqueItems:!0,maxProperties:!0,minProperties:!0};function _h(n,e,t,r,s,i,o,a,c,l){if(r&&typeof r=="object"&&!Array.isArray(r)){e(r,s,i,o,a,c,l);for(var u in r){var d=r[u];if(Array.isArray(d)){if(u in Ks.arrayKeywords)for(var f=0;f<d.length;f++)_h(n,e,t,d[f],s+"/"+u+"/"+f,i,s,u,r,f)}else if(u in Ks.propsKeywords){if(d&&typeof d=="object")for(var p in d)_h(n,e,t,d[p],s+"/"+u+"/"+xU(p),i,s,u,r,p)}else(u in Ks.keywords||n.allKeys&&!(u in Ks.skipKeywords))&&_h(n,e,t,d,s+"/"+u,i,s,u,r)}t(r,s,i,o,a,c,l)}}function xU(n){return n.replace(/~/g,"~0").replace(/\//g,"~1")}});var Xc=E(Nn=>{"use strict";Object.defineProperty(Nn,"__esModule",{value:!0});Nn.getSchemaRefs=Nn.resolveUrl=Nn.normalizeId=Nn._getFullPath=Nn.getFullPath=Nn.inlineRef=void 0;var MU=ge(),$U=Kb(),LU=oC(),qU=new Set(["type","format","pattern","maxLength","minLength","maxProperties","minProperties","maxItems","minItems","maximum","minimum","uniqueItems","multipleOf","required","enum","const"]);function jU(n,e=!0){return typeof n=="boolean"?!0:e===!0?!Gb(n):e?aC(n)<=e:!1}Nn.inlineRef=jU;var FU=new Set(["$ref","$recursiveRef","$recursiveAnchor","$dynamicRef","$dynamicAnchor"]);function Gb(n){for(let e in n){if(FU.has(e))return!0;let t=n[e];if(Array.isArray(t)&&t.some(Gb)||typeof t=="object"&&Gb(t))return!0}return!1}function aC(n){let e=0;for(let t in n){if(t==="$ref")return 1/0;if(e++,!qU.has(t)&&(typeof n[t]=="object"&&(0,MU.eachItem)(n[t],r=>e+=aC(r)),e===1/0))return 1/0}return e}function cC(n,e="",t){t!==!1&&(e=sa(e));let r=n.parse(e);return lC(n,r)}Nn.getFullPath=cC;function lC(n,e){return n.serialize(e).split("#")[0]+"#"}Nn._getFullPath=lC;var BU=/#\/?$/;function sa(n){return n?n.replace(BU,""):""}Nn.normalizeId=sa;function UU(n,e,t){return t=sa(t),n.resolve(e,t)}Nn.resolveUrl=UU;var VU=/^[a-z_][-a-z0-9._]*$/i;function WU(n,e){if(typeof n=="boolean")return{};let{schemaId:t,uriResolver:r}=this.opts,s=sa(n[t]||e),i={"":s},o=cC(r,s,!1),a={},c=new Set;return LU(n,{allKeys:!0},(d,f,p,y)=>{if(y===void 0)return;let m=o+f,S=i[y];typeof d[t]=="string"&&(S=w.call(this,d[t])),T.call(this,d.$anchor),T.call(this,d.$dynamicAnchor),i[f]=S;function w(v){let R=this.opts.uriResolver.resolve;if(v=sa(S?R(S,v):v),c.has(v))throw u(v);c.add(v);let A=this.refs[v];return typeof A=="string"&&(A=this.refs[A]),typeof A=="object"?l(d,A.schema,v):v!==sa(m)&&(v[0]==="#"?(l(d,a[v],v),a[v]=d):this.refs[v]=m),v}function T(v){if(typeof v=="string"){if(!VU.test(v))throw new Error(`invalid anchor "${v}"`);w.call(this,`#${v}`)}}}),a;function l(d,f,p){if(f!==void 0&&!$U(d,f))throw u(p)}function u(d){return new Error(`reference "${d}" resolves to more than one schema`)}}Nn.getSchemaRefs=WU});var el=E(Gs=>{"use strict";Object.defineProperty(Gs,"__esModule",{value:!0});Gs.getData=Gs.KeywordCxt=Gs.validateFunctionCode=void 0;var pC=VD(),uC=Jc(),Jb=Fb(),Eh=Jc(),zU=JD(),Zc=tC(),Yb=rC(),J=ce(),re=Jn(),HU=Xc(),is=ge(),Qc=Yc();function KU(n){if(yC(n)&&(bC(n),gC(n))){JU(n);return}mC(n,()=>(0,pC.topBoolOrEmptySchema)(n))}Gs.validateFunctionCode=KU;function mC({gen:n,validateName:e,schema:t,schemaEnv:r,opts:s},i){s.code.es5?n.func(e,(0,J._)`${re.default.data}, ${re.default.valCxt}`,r.$async,()=>{n.code((0,J._)`"use strict"; ${dC(t,s)}`),YU(n,s),n.code(i)}):n.func(e,(0,J._)`${re.default.data}, ${GU(s)}`,r.$async,()=>n.code(dC(t,s)).code(i))}function GU(n){return(0,J._)`{${re.default.instancePath}="", ${re.default.parentData}, ${re.default.parentDataProperty}, ${re.default.rootData}=${re.default.data}${n.dynamicRef?(0,J._)`, ${re.default.dynamicAnchors}={}`:J.nil}}={}`}function YU(n,e){n.if(re.default.valCxt,()=>{n.var(re.default.instancePath,(0,J._)`${re.default.valCxt}.${re.default.instancePath}`),n.var(re.default.parentData,(0,J._)`${re.default.valCxt}.${re.default.parentData}`),n.var(re.default.parentDataProperty,(0,J._)`${re.default.valCxt}.${re.default.parentDataProperty}`),n.var(re.default.rootData,(0,J._)`${re.default.valCxt}.${re.default.rootData}`),e.dynamicRef&&n.var(re.default.dynamicAnchors,(0,J._)`${re.default.valCxt}.${re.default.dynamicAnchors}`)},()=>{n.var(re.default.instancePath,(0,J._)`""`),n.var(re.default.parentData,(0,J._)`undefined`),n.var(re.default.parentDataProperty,(0,J._)`undefined`),n.var(re.default.rootData,re.default.data),e.dynamicRef&&n.var(re.default.dynamicAnchors,(0,J._)`{}`)})}function JU(n){let{schema:e,opts:t,gen:r}=n;mC(n,()=>{t.$comment&&e.$comment&&TC(n),tV(n),r.let(re.default.vErrors,null),r.let(re.default.errors,0),t.unevaluated&&XU(n),vC(n),sV(n)})}function XU(n){let{gen:e,validateName:t}=n;n.evaluated=e.const("evaluated",(0,J._)`${t}.evaluated`),e.if((0,J._)`${n.evaluated}.dynamicProps`,()=>e.assign((0,J._)`${n.evaluated}.props`,(0,J._)`undefined`)),e.if((0,J._)`${n.evaluated}.dynamicItems`,()=>e.assign((0,J._)`${n.evaluated}.items`,(0,J._)`undefined`))}function dC(n,e){let t=typeof n=="object"&&n[e.schemaId];return t&&(e.code.source||e.code.process)?(0,J._)`/*# sourceURL=${t} */`:J.nil}function QU(n,e){if(yC(n)&&(bC(n),gC(n))){ZU(n,e);return}(0,pC.boolOrEmptySchema)(n,e)}function gC({schema:n,self:e}){if(typeof n=="boolean")return!n;for(let t in n)if(e.RULES.all[t])return!0;return!1}function yC(n){return typeof n.schema!="boolean"}function ZU(n,e){let{schema:t,gen:r,opts:s}=n;s.$comment&&t.$comment&&TC(n),nV(n),rV(n);let i=r.const("_errs",re.default.errors);vC(n,i),r.var(e,(0,J._)`${i} === ${re.default.errors}`)}function bC(n){(0,is.checkUnknownRules)(n),eV(n)}function vC(n,e){if(n.opts.jtd)return fC(n,[],!1,e);let t=(0,uC.getSchemaTypes)(n.schema),r=(0,uC.coerceAndCheckDataType)(n,t);fC(n,t,!r,e)}function eV(n){let{schema:e,errSchemaPath:t,opts:r,self:s}=n;e.$ref&&r.ignoreKeywordsWithRef&&(0,is.schemaHasRulesButRef)(e,s.RULES)&&s.logger.warn(`$ref: keywords ignored in schema at path "${t}"`)}function tV(n){let{schema:e,opts:t}=n;e.default!==void 0&&t.useDefaults&&t.strictSchema&&(0,is.checkStrictMode)(n,"default is ignored in the schema root")}function nV(n){let e=n.schema[n.opts.schemaId];e&&(n.baseId=(0,HU.resolveUrl)(n.opts.uriResolver,n.baseId,e))}function rV(n){if(n.schema.$async&&!n.schemaEnv.$async)throw new Error("async schema in sync schema")}function TC({gen:n,schemaEnv:e,schema:t,errSchemaPath:r,opts:s}){let i=t.$comment;if(s.$comment===!0)n.code((0,J._)`${re.default.self}.logger.log(${i})`);else if(typeof s.$comment=="function"){let o=(0,J.str)`${r}/$comment`,a=n.scopeValue("root",{ref:e.root});n.code((0,J._)`${re.default.self}.opts.$comment(${i}, ${o}, ${a}.schema)`)}}function sV(n){let{gen:e,schemaEnv:t,validateName:r,ValidationError:s,opts:i}=n;t.$async?e.if((0,J._)`${re.default.errors} === 0`,()=>e.return(re.default.data),()=>e.throw((0,J._)`new ${s}(${re.default.vErrors})`)):(e.assign((0,J._)`${r}.errors`,re.default.vErrors),i.unevaluated&&iV(n),e.return((0,J._)`${re.default.errors} === 0`))}function iV({gen:n,evaluated:e,props:t,items:r}){t instanceof J.Name&&n.assign((0,J._)`${e}.props`,t),r instanceof J.Name&&n.assign((0,J._)`${e}.items`,r)}function fC(n,e,t,r){let{gen:s,schema:i,data:o,allErrors:a,opts:c,self:l}=n,{RULES:u}=l;if(i.$ref&&(c.ignoreKeywordsWithRef||!(0,is.schemaHasRulesButRef)(i,u))){s.block(()=>_C(n,"$ref",u.all.$ref.definition));return}c.jtd||oV(n,e),s.block(()=>{for(let f of u.rules)d(f);d(u.post)});function d(f){(0,Jb.shouldUseGroup)(i,f)&&(f.type?(s.if((0,Eh.checkDataType)(f.type,o,c.strictNumbers)),hC(n,f),e.length===1&&e[0]===f.type&&t&&(s.else(),(0,Eh.reportTypeError)(n)),s.endIf()):hC(n,f),a||s.if((0,J._)`${re.default.errors} === ${r||0}`))}}function hC(n,e){let{gen:t,schema:r,opts:{useDefaults:s}}=n;s&&(0,zU.assignDefaults)(n,e.type),t.block(()=>{for(let i of e.rules)(0,Jb.shouldUseRule)(r,i)&&_C(n,i.keyword,i.definition,e.type)})}function oV(n,e){n.schemaEnv.meta||!n.opts.strictTypes||(aV(n,e),n.opts.allowUnionTypes||cV(n,e),lV(n,n.dataTypes))}function aV(n,e){if(e.length){if(!n.dataTypes.length){n.dataTypes=e;return}e.forEach(t=>{SC(n.dataTypes,t)||Xb(n,`type "${t}" not allowed by context "${n.dataTypes.join(",")}"`)}),dV(n,e)}}function cV(n,e){e.length>1&&!(e.length===2&&e.includes("null"))&&Xb(n,"use allowUnionTypes to allow union type keyword")}function lV(n,e){let t=n.self.RULES.all;for(let r in t){let s=t[r];if(typeof s=="object"&&(0,Jb.shouldUseRule)(n.schema,s)){let{type:i}=s.definition;i.length&&!i.some(o=>uV(e,o))&&Xb(n,`missing type "${i.join(",")}" for keyword "${r}"`)}}}function uV(n,e){return n.includes(e)||e==="number"&&n.includes("integer")}function SC(n,e){return n.includes(e)||e==="integer"&&n.includes("number")}function dV(n,e){let t=[];for(let r of n.dataTypes)SC(e,r)?t.push(r):e.includes("integer")&&r==="number"&&t.push("integer");n.dataTypes=t}function Xb(n,e){let t=n.schemaEnv.baseId+n.errSchemaPath;e+=` at "${t}" (strictTypes)`,(0,is.checkStrictMode)(n,e,n.opts.strictTypes)}var wh=class{constructor(e,t,r){if((0,Zc.validateKeywordUsage)(e,t,r),this.gen=e.gen,this.allErrors=e.allErrors,this.keyword=r,this.data=e.data,this.schema=e.schema[r],this.$data=t.$data&&e.opts.$data&&this.schema&&this.schema.$data,this.schemaValue=(0,is.schemaRefOrVal)(e,this.schema,r,this.$data),this.schemaType=t.schemaType,this.parentSchema=e.schema,this.params={},this.it=e,this.def=t,this.$data)this.schemaCode=e.gen.const("vSchema",EC(this.$data,e));else if(this.schemaCode=this.schemaValue,!(0,Zc.validSchemaType)(this.schema,t.schemaType,t.allowUndefined))throw new Error(`${r} value must be ${JSON.stringify(t.schemaType)}`);("code"in t?t.trackErrors:t.errors!==!1)&&(this.errsCount=e.gen.const("_errs",re.default.errors))}result(e,t,r){this.failResult((0,J.not)(e),t,r)}failResult(e,t,r){this.gen.if(e),r?r():this.error(),t?(this.gen.else(),t(),this.allErrors&&this.gen.endIf()):this.allErrors?this.gen.endIf():this.gen.else()}pass(e,t){this.failResult((0,J.not)(e),void 0,t)}fail(e){if(e===void 0){this.error(),this.allErrors||this.gen.if(!1);return}this.gen.if(e),this.error(),this.allErrors?this.gen.endIf():this.gen.else()}fail$data(e){if(!this.$data)return this.fail(e);let{schemaCode:t}=this;this.fail((0,J._)`${t} !== undefined && (${(0,J.or)(this.invalid$data(),e)})`)}error(e,t,r){if(t){this.setParams(t),this._error(e,r),this.setParams({});return}this._error(e,r)}_error(e,t){(e?Qc.reportExtraError:Qc.reportError)(this,this.def.error,t)}$dataError(){(0,Qc.reportError)(this,this.def.$dataError||Qc.keyword$DataError)}reset(){if(this.errsCount===void 0)throw new Error('add "trackErrors" to keyword definition');(0,Qc.resetErrorsCount)(this.gen,this.errsCount)}ok(e){this.allErrors||this.gen.if(e)}setParams(e,t){t?Object.assign(this.params,e):this.params=e}block$data(e,t,r=J.nil){this.gen.block(()=>{this.check$data(e,r),t()})}check$data(e=J.nil,t=J.nil){if(!this.$data)return;let{gen:r,schemaCode:s,schemaType:i,def:o}=this;r.if((0,J.or)((0,J._)`${s} === undefined`,t)),e!==J.nil&&r.assign(e,!0),(i.length||o.validateSchema)&&(r.elseIf(this.invalid$data()),this.$dataError(),e!==J.nil&&r.assign(e,!1)),r.else()}invalid$data(){let{gen:e,schemaCode:t,schemaType:r,def:s,it:i}=this;return(0,J.or)(o(),a());function o(){if(r.length){if(!(t instanceof J.Name))throw new Error("ajv implementation error");let c=Array.isArray(r)?r:[r];return(0,J._)`${(0,Eh.checkDataTypes)(c,t,i.opts.strictNumbers,Eh.DataType.Wrong)}`}return J.nil}function a(){if(s.validateSchema){let c=e.scopeValue("validate$data",{ref:s.validateSchema});return(0,J._)`!${c}(${t})`}return J.nil}}subschema(e,t){let r=(0,Yb.getSubschema)(this.it,e);(0,Yb.extendSubschemaData)(r,this.it,e),(0,Yb.extendSubschemaMode)(r,e);let s={...this.it,...r,items:void 0,props:void 0};return QU(s,t),s}mergeEvaluated(e,t){let{it:r,gen:s}=this;r.opts.unevaluated&&(r.props!==!0&&e.props!==void 0&&(r.props=is.mergeEvaluated.props(s,e.props,r.props,t)),r.items!==!0&&e.items!==void 0&&(r.items=is.mergeEvaluated.items(s,e.items,r.items,t)))}mergeValidEvaluated(e,t){let{it:r,gen:s}=this;if(r.opts.unevaluated&&(r.props!==!0||r.items!==!0))return s.if(t,()=>this.mergeEvaluated(e,J.Name)),!0}};Gs.KeywordCxt=wh;function _C(n,e,t,r){let s=new wh(n,t,e);"code"in t?t.code(s,r):s.$data&&t.validate?(0,Zc.funcKeywordCode)(s,t):"macro"in t?(0,Zc.macroKeywordCode)(s,t):(t.compile||t.validate)&&(0,Zc.funcKeywordCode)(s,t)}var fV=/^\/(?:[^~]|~0|~1)*$/,hV=/^([0-9]+)(#|\/(?:[^~]|~0|~1)*)?$/;function EC(n,{dataLevel:e,dataNames:t,dataPathArr:r}){let s,i;if(n==="")return re.default.rootData;if(n[0]==="/"){if(!fV.test(n))throw new Error(`Invalid JSON-pointer: ${n}`);s=n,i=re.default.rootData}else{let l=hV.exec(n);if(!l)throw new Error(`Invalid JSON-pointer: ${n}`);let u=+l[1];if(s=l[2],s==="#"){if(u>=e)throw new Error(c("property/index",u));return r[e-u]}if(u>e)throw new Error(c("data",u));if(i=t[e-u],!s)return i}let o=i,a=s.split("/");for(let l of a)l&&(i=(0,J._)`${i}${(0,J.getProperty)((0,is.unescapeJsonPointer)(l))}`,o=(0,J._)`${o} && ${i}`);return o;function c(l,u){return`Cannot access ${l} ${u} levels up, current level is ${e}`}}Gs.getData=EC});var kh=E(Zb=>{"use strict";Object.defineProperty(Zb,"__esModule",{value:!0});var Qb=class extends Error{constructor(e){super("validation failed"),this.errors=e,this.ajv=this.validation=!0}};Zb.default=Qb});var tl=E(nv=>{"use strict";Object.defineProperty(nv,"__esModule",{value:!0});var ev=Xc(),tv=class extends Error{constructor(e,t,r,s){super(s||`can't resolve reference ${r} from id ${t}`),this.missingRef=(0,ev.resolveUrl)(e,t,r),this.missingSchema=(0,ev.normalizeId)((0,ev.getFullPath)(e,this.missingRef))}};nv.default=tv});var nl=E(Qn=>{"use strict";Object.defineProperty(Qn,"__esModule",{value:!0});Qn.resolveSchema=Qn.getCompilingSchema=Qn.resolveRef=Qn.compileSchema=Qn.SchemaEnv=void 0;var Tr=ce(),pV=kh(),Oi=Jn(),Sr=Xc(),wC=ge(),mV=el(),ia=class{constructor(e){var t;this.refs={},this.dynamicAnchors={};let r;typeof e.schema=="object"&&(r=e.schema),this.schema=e.schema,this.schemaId=e.schemaId,this.root=e.root||this,this.baseId=(t=e.baseId)!==null&&t!==void 0?t:(0,Sr.normalizeId)(r?.[e.schemaId||"$id"]),this.schemaPath=e.schemaPath,this.localRefs=e.localRefs,this.meta=e.meta,this.$async=r?.$async,this.refs={}}};Qn.SchemaEnv=ia;function sv(n){let e=kC.call(this,n);if(e)return e;let t=(0,Sr.getFullPath)(this.opts.uriResolver,n.root.baseId),{es5:r,lines:s}=this.opts.code,{ownProperties:i}=this.opts,o=new Tr.CodeGen(this.scope,{es5:r,lines:s,ownProperties:i}),a;n.$async&&(a=o.scopeValue("Error",{ref:pV.default,code:(0,Tr._)`require("ajv/dist/runtime/validation_error").default`}));let c=o.scopeName("validate");n.validateName=c;let l={gen:o,allErrors:this.opts.allErrors,data:Oi.default.data,parentData:Oi.default.parentData,parentDataProperty:Oi.default.parentDataProperty,dataNames:[Oi.default.data],dataPathArr:[Tr.nil],dataLevel:0,dataTypes:[],definedProperties:new Set,topSchemaRef:o.scopeValue("schema",this.opts.code.source===!0?{ref:n.schema,code:(0,Tr.stringify)(n.schema)}:{ref:n.schema}),validateName:c,ValidationError:a,schema:n.schema,schemaEnv:n,rootId:t,baseId:n.baseId||t,schemaPath:Tr.nil,errSchemaPath:n.schemaPath||(this.opts.jtd?"":"#"),errorPath:(0,Tr._)`""`,opts:this.opts,self:this},u;try{this._compilations.add(n),(0,mV.validateFunctionCode)(l),o.optimize(this.opts.code.optimize);let d=o.toString();u=`${o.scopeRefs(Oi.default.scope)}return ${d}`,this.opts.code.process&&(u=this.opts.code.process(u,n));let p=new Function(`${Oi.default.self}`,`${Oi.default.scope}`,u)(this,this.scope.get());if(this.scope.value(c,{ref:p}),p.errors=null,p.schema=n.schema,p.schemaEnv=n,n.$async&&(p.$async=!0),this.opts.code.source===!0&&(p.source={validateName:c,validateCode:d,scopeValues:o._values}),this.opts.unevaluated){let{props:y,items:m}=l;p.evaluated={props:y instanceof Tr.Name?void 0:y,items:m instanceof Tr.Name?void 0:m,dynamicProps:y instanceof Tr.Name,dynamicItems:m instanceof Tr.Name},p.source&&(p.source.evaluated=(0,Tr.stringify)(p.evaluated))}return n.validate=p,n}catch(d){throw delete n.validate,delete n.validateName,u&&this.logger.error("Error compiling schema, function code:",u),d}finally{this._compilations.delete(n)}}Qn.compileSchema=sv;function gV(n,e,t){var r;t=(0,Sr.resolveUrl)(this.opts.uriResolver,e,t);let s=n.refs[t];if(s)return s;let i=vV.call(this,n,t);if(i===void 0){let o=(r=n.localRefs)===null||r===void 0?void 0:r[t],{schemaId:a}=this.opts;o&&(i=new ia({schema:o,schemaId:a,root:n,baseId:e}))}if(i!==void 0)return n.refs[t]=yV.call(this,i)}Qn.resolveRef=gV;function yV(n){return(0,Sr.inlineRef)(n.schema,this.opts.inlineRefs)?n.schema:n.validate?n:sv.call(this,n)}function kC(n){for(let e of this._compilations)if(bV(e,n))return e}Qn.getCompilingSchema=kC;function bV(n,e){return n.schema===e.schema&&n.root===e.root&&n.baseId===e.baseId}function vV(n,e){let t;for(;typeof(t=this.refs[e])=="string";)e=t;return t||this.schemas[e]||Nh.call(this,n,e)}function Nh(n,e){let t=this.opts.uriResolver.parse(e),r=(0,Sr._getFullPath)(this.opts.uriResolver,t),s=(0,Sr.getFullPath)(this.opts.uriResolver,n.baseId,void 0);if(Object.keys(n.schema).length>0&&r===s)return rv.call(this,t,n);let i=(0,Sr.normalizeId)(r),o=this.refs[i]||this.schemas[i];if(typeof o=="string"){let a=Nh.call(this,n,o);return typeof a?.schema!="object"?void 0:rv.call(this,t,a)}if(typeof o?.schema=="object"){if(o.validate||sv.call(this,o),i===(0,Sr.normalizeId)(e)){let{schema:a}=o,{schemaId:c}=this.opts,l=a[c];return l&&(s=(0,Sr.resolveUrl)(this.opts.uriResolver,s,l)),new ia({schema:a,schemaId:c,root:n,baseId:s})}return rv.call(this,t,o)}}Qn.resolveSchema=Nh;var TV=new Set(["properties","patternProperties","enum","dependencies","definitions"]);function rv(n,{baseId:e,schema:t,root:r}){var s;if(((s=n.fragment)===null||s===void 0?void 0:s[0])!=="/")return;for(let a of n.fragment.slice(1).split("/")){if(typeof t=="boolean")return;let c=t[(0,wC.unescapeFragment)(a)];if(c===void 0)return;t=c;let l=typeof t=="object"&&t[this.opts.schemaId];!TV.has(a)&&l&&(e=(0,Sr.resolveUrl)(this.opts.uriResolver,e,l))}let i;if(typeof t!="boolean"&&t.$ref&&!(0,wC.schemaHasRulesButRef)(t,this.RULES)){let a=(0,Sr.resolveUrl)(this.opts.uriResolver,e,t.$ref);i=Nh.call(this,r,a)}let{schemaId:o}=this.opts;if(i=i||new ia({schema:t,schemaId:o,root:r,baseId:e}),i.schema!==i.root.schema)return i}});var NC=E((Hte,SV)=>{SV.exports={$id:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#",description:"Meta-schema for $data reference (JSON AnySchema extension proposal)",type:"object",required:["$data"],properties:{$data:{type:"string",anyOf:[{format:"relative-json-pointer"},{format:"json-pointer"}]}},additionalProperties:!1}});var RC=E((Kte,PC)=>{"use strict";var _V={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9,a:10,A:10,b:11,B:11,c:12,C:12,d:13,D:13,e:14,E:14,f:15,F:15};PC.exports={HEX:_V}});var $C=E((Gte,MC)=>{"use strict";var{HEX:EV}=RC(),wV=/^(?:(?:25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)$/u;function OC(n){if(xC(n,".")<3)return{host:n,isIPV4:!1};let e=n.match(wV)||[],[t]=e;return t?{host:NV(t,"."),isIPV4:!0}:{host:n,isIPV4:!1}}function iv(n,e=!1){let t="",r=!0;for(let s of n){if(EV[s]===void 0)return;s!=="0"&&r===!0&&(r=!1),r||(t+=s)}return e&&t.length===0&&(t="0"),t}function kV(n){let e=0,t={error:!1,address:"",zone:""},r=[],s=[],i=!1,o=!1,a=!1;function c(){if(s.length){if(i===!1){let l=iv(s);if(l!==void 0)r.push(l);else return t.error=!0,!1}s.length=0}return!0}for(let l=0;l<n.length;l++){let u=n[l];if(!(u==="["||u==="]"))if(u===":"){if(o===!0&&(a=!0),!c())break;if(e++,r.push(":"),e>7){t.error=!0;break}l-1>=0&&n[l-1]===":"&&(o=!0);continue}else if(u==="%"){if(!c())break;i=!0}else{s.push(u);continue}}return s.length&&(i?t.zone=s.join(""):a?r.push(s.join("")):r.push(iv(s))),t.address=r.join(""),t}function IC(n){if(xC(n,":")<2)return{host:n,isIPV6:!1};let e=kV(n);if(e.error)return{host:n,isIPV6:!1};{let t=e.address,r=e.address;return e.zone&&(t+="%"+e.zone,r+="%25"+e.zone),{host:t,escapedHost:r,isIPV6:!0}}}function NV(n,e){let t="",r=!0,s=n.length;for(let i=0;i<s;i++){let o=n[i];o==="0"&&r?(i+1<=s&&n[i+1]===e||i+1===s)&&(t+=o,r=!1):(o===e?r=!0:r=!1,t+=o)}return t}function xC(n,e){let t=0;for(let r=0;r<n.length;r++)n[r]===e&&t++;return t}var DC=/^\.\.?\//u,CC=/^\/\.(?:\/|$)/u,AC=/^\/\.\.(?:\/|$)/u,PV=/^\/?(?:.|\n)*?(?=\/|$)/u;function RV(n){let e=[];for(;n.length;)if(n.match(DC))n=n.replace(DC,"");else if(n.match(CC))n=n.replace(CC,"/");else if(n.match(AC))n=n.replace(AC,"/"),e.pop();else if(n==="."||n==="..")n="";else{let t=n.match(PV);if(t){let r=t[0];n=n.slice(r.length),e.push(r)}else throw new Error("Unexpected dot segment condition")}return e.join("")}function DV(n,e){let t=e!==!0?escape:unescape;return n.scheme!==void 0&&(n.scheme=t(n.scheme)),n.userinfo!==void 0&&(n.userinfo=t(n.userinfo)),n.host!==void 0&&(n.host=t(n.host)),n.path!==void 0&&(n.path=t(n.path)),n.query!==void 0&&(n.query=t(n.query)),n.fragment!==void 0&&(n.fragment=t(n.fragment)),n}function CV(n){let e=[];if(n.userinfo!==void 0&&(e.push(n.userinfo),e.push("@")),n.host!==void 0){let t=unescape(n.host),r=OC(t);if(r.isIPV4)t=r.host;else{let s=IC(r.host);s.isIPV6===!0?t=`[${s.escapedHost}]`:t=n.host}e.push(t)}return(typeof n.port=="number"||typeof n.port=="string")&&(e.push(":"),e.push(String(n.port))),e.length?e.join(""):void 0}MC.exports={recomposeAuthority:CV,normalizeComponentEncoding:DV,removeDotSegments:RV,normalizeIPv4:OC,normalizeIPv6:IC,stringArrayToHexStripped:iv}});var UC=E((Yte,BC)=>{"use strict";var AV=/^[\da-f]{8}-[\da-f]{4}-[\da-f]{4}-[\da-f]{4}-[\da-f]{12}$/iu,OV=/([\da-z][\d\-a-z]{0,31}):((?:[\w!$'()*+,\-.:;=@]|%[\da-f]{2})+)/iu;function LC(n){return typeof n.secure=="boolean"?n.secure:String(n.scheme).toLowerCase()==="wss"}function qC(n){return n.host||(n.error=n.error||"HTTP URIs must have a host."),n}function jC(n){let e=String(n.scheme).toLowerCase()==="https";return(n.port===(e?443:80)||n.port==="")&&(n.port=void 0),n.path||(n.path="/"),n}function IV(n){return n.secure=LC(n),n.resourceName=(n.path||"/")+(n.query?"?"+n.query:""),n.path=void 0,n.query=void 0,n}function xV(n){if((n.port===(LC(n)?443:80)||n.port==="")&&(n.port=void 0),typeof n.secure=="boolean"&&(n.scheme=n.secure?"wss":"ws",n.secure=void 0),n.resourceName){let[e,t]=n.resourceName.split("?");n.path=e&&e!=="/"?e:void 0,n.query=t,n.resourceName=void 0}return n.fragment=void 0,n}function MV(n,e){if(!n.path)return n.error="URN can not be parsed",n;let t=n.path.match(OV);if(t){let r=e.scheme||n.scheme||"urn";n.nid=t[1].toLowerCase(),n.nss=t[2];let s=`${r}:${e.nid||n.nid}`,i=ov[s];n.path=void 0,i&&(n=i.parse(n,e))}else n.error=n.error||"URN can not be parsed.";return n}function $V(n,e){let t=e.scheme||n.scheme||"urn",r=n.nid.toLowerCase(),s=`${t}:${e.nid||r}`,i=ov[s];i&&(n=i.serialize(n,e));let o=n,a=n.nss;return o.path=`${r||e.nid}:${a}`,e.skipEscape=!0,o}function LV(n,e){let t=n;return t.uuid=t.nss,t.nss=void 0,!e.tolerant&&(!t.uuid||!AV.test(t.uuid))&&(t.error=t.error||"UUID is not valid."),t}function qV(n){let e=n;return e.nss=(n.uuid||"").toLowerCase(),e}var FC={scheme:"http",domainHost:!0,parse:qC,serialize:jC},jV={scheme:"https",domainHost:FC.domainHost,parse:qC,serialize:jC},Ph={scheme:"ws",domainHost:!0,parse:IV,serialize:xV},FV={scheme:"wss",domainHost:Ph.domainHost,parse:Ph.parse,serialize:Ph.serialize},BV={scheme:"urn",parse:MV,serialize:$V,skipNormalize:!0},UV={scheme:"urn:uuid",parse:LV,serialize:qV,skipNormalize:!0},ov={http:FC,https:jV,ws:Ph,wss:FV,urn:BV,"urn:uuid":UV};BC.exports=ov});var WC=E((Jte,Dh)=>{"use strict";var{normalizeIPv6:VV,normalizeIPv4:WV,removeDotSegments:rl,recomposeAuthority:zV,normalizeComponentEncoding:Rh}=$C(),av=UC();function HV(n,e){return typeof n=="string"?n=Fr(os(n,e),e):typeof n=="object"&&(n=os(Fr(n,e),e)),n}function KV(n,e,t){let r=Object.assign({scheme:"null"},t),s=VC(os(n,r),os(e,r),r,!0);return Fr(s,{...r,skipEscape:!0})}function VC(n,e,t,r){let s={};return r||(n=os(Fr(n,t),t),e=os(Fr(e,t),t)),t=t||{},!t.tolerant&&e.scheme?(s.scheme=e.scheme,s.userinfo=e.userinfo,s.host=e.host,s.port=e.port,s.path=rl(e.path||""),s.query=e.query):(e.userinfo!==void 0||e.host!==void 0||e.port!==void 0?(s.userinfo=e.userinfo,s.host=e.host,s.port=e.port,s.path=rl(e.path||""),s.query=e.query):(e.path?(e.path.charAt(0)==="/"?s.path=rl(e.path):((n.userinfo!==void 0||n.host!==void 0||n.port!==void 0)&&!n.path?s.path="/"+e.path:n.path?s.path=n.path.slice(0,n.path.lastIndexOf("/")+1)+e.path:s.path=e.path,s.path=rl(s.path)),s.query=e.query):(s.path=n.path,e.query!==void 0?s.query=e.query:s.query=n.query),s.userinfo=n.userinfo,s.host=n.host,s.port=n.port),s.scheme=n.scheme),s.fragment=e.fragment,s}function GV(n,e,t){return typeof n=="string"?(n=unescape(n),n=Fr(Rh(os(n,t),!0),{...t,skipEscape:!0})):typeof n=="object"&&(n=Fr(Rh(n,!0),{...t,skipEscape:!0})),typeof e=="string"?(e=unescape(e),e=Fr(Rh(os(e,t),!0),{...t,skipEscape:!0})):typeof e=="object"&&(e=Fr(Rh(e,!0),{...t,skipEscape:!0})),n.toLowerCase()===e.toLowerCase()}function Fr(n,e){let t={host:n.host,scheme:n.scheme,userinfo:n.userinfo,port:n.port,path:n.path,query:n.query,nid:n.nid,nss:n.nss,uuid:n.uuid,fragment:n.fragment,reference:n.reference,resourceName:n.resourceName,secure:n.secure,error:""},r=Object.assign({},e),s=[],i=av[(r.scheme||t.scheme||"").toLowerCase()];i&&i.serialize&&i.serialize(t,r),t.path!==void 0&&(r.skipEscape?t.path=unescape(t.path):(t.path=escape(t.path),t.scheme!==void 0&&(t.path=t.path.split("%3A").join(":")))),r.reference!=="suffix"&&t.scheme&&s.push(t.scheme,":");let o=zV(t);if(o!==void 0&&(r.reference!=="suffix"&&s.push("//"),s.push(o),t.path&&t.path.charAt(0)!=="/"&&s.push("/")),t.path!==void 0){let a=t.path;!r.absolutePath&&(!i||!i.absolutePath)&&(a=rl(a)),o===void 0&&(a=a.replace(/^\/\//u,"/%2F")),s.push(a)}return t.query!==void 0&&s.push("?",t.query),t.fragment!==void 0&&s.push("#",t.fragment),s.join("")}var YV=Array.from({length:127},(n,e)=>/[^!"$&'()*+,\-.;=_`a-z{}~]/u.test(String.fromCharCode(e)));function JV(n){let e=0;for(let t=0,r=n.length;t<r;++t)if(e=n.charCodeAt(t),e>126||YV[e])return!0;return!1}var XV=/^(?:([^#/:?]+):)?(?:\/\/((?:([^#/?@]*)@)?(\[[^#/?\]]+\]|[^#/:?]*)(?::(\d*))?))?([^#?]*)(?:\?([^#]*))?(?:#((?:.|[\n\r])*))?/u;function os(n,e){let t=Object.assign({},e),r={scheme:void 0,userinfo:void 0,host:"",port:void 0,path:"",query:void 0,fragment:void 0},s=n.indexOf("%")!==-1,i=!1;t.reference==="suffix"&&(n=(t.scheme?t.scheme+":":"")+"//"+n);let o=n.match(XV);if(o){if(r.scheme=o[1],r.userinfo=o[3],r.host=o[4],r.port=parseInt(o[5],10),r.path=o[6]||"",r.query=o[7],r.fragment=o[8],isNaN(r.port)&&(r.port=o[5]),r.host){let c=WV(r.host);if(c.isIPV4===!1){let l=VV(c.host);r.host=l.host.toLowerCase(),i=l.isIPV6}else r.host=c.host,i=!0}r.scheme===void 0&&r.userinfo===void 0&&r.host===void 0&&r.port===void 0&&r.query===void 0&&!r.path?r.reference="same-document":r.scheme===void 0?r.reference="relative":r.fragment===void 0?r.reference="absolute":r.reference="uri",t.reference&&t.reference!=="suffix"&&t.reference!==r.reference&&(r.error=r.error||"URI is not a "+t.reference+" reference.");let a=av[(t.scheme||r.scheme||"").toLowerCase()];if(!t.unicodeSupport&&(!a||!a.unicodeSupport)&&r.host&&(t.domainHost||a&&a.domainHost)&&i===!1&&JV(r.host))try{r.host=URL.domainToASCII(r.host.toLowerCase())}catch(c){r.error=r.error||"Host's domain name can not be converted to ASCII: "+c}(!a||a&&!a.skipNormalize)&&(s&&r.scheme!==void 0&&(r.scheme=unescape(r.scheme)),s&&r.host!==void 0&&(r.host=unescape(r.host)),r.path&&(r.path=escape(unescape(r.path))),r.fragment&&(r.fragment=encodeURI(decodeURIComponent(r.fragment)))),a&&a.parse&&a.parse(r,t)}else r.error=r.error||"URI can not be parsed.";return r}var cv={SCHEMES:av,normalize:HV,resolve:KV,resolveComponents:VC,equal:GV,serialize:Fr,parse:os};Dh.exports=cv;Dh.exports.default=cv;Dh.exports.fastUri=cv});var HC=E(lv=>{"use strict";Object.defineProperty(lv,"__esModule",{value:!0});var zC=WC();zC.code='require("ajv/dist/runtime/uri").default';lv.default=zC});var eA=E(zt=>{"use strict";Object.defineProperty(zt,"__esModule",{value:!0});zt.CodeGen=zt.Name=zt.nil=zt.stringify=zt.str=zt._=zt.KeywordCxt=void 0;var QV=el();Object.defineProperty(zt,"KeywordCxt",{enumerable:!0,get:function(){return QV.KeywordCxt}});var oa=ce();Object.defineProperty(zt,"_",{enumerable:!0,get:function(){return oa._}});Object.defineProperty(zt,"str",{enumerable:!0,get:function(){return oa.str}});Object.defineProperty(zt,"stringify",{enumerable:!0,get:function(){return oa.stringify}});Object.defineProperty(zt,"nil",{enumerable:!0,get:function(){return oa.nil}});Object.defineProperty(zt,"Name",{enumerable:!0,get:function(){return oa.Name}});Object.defineProperty(zt,"CodeGen",{enumerable:!0,get:function(){return oa.CodeGen}});var ZV=kh(),XC=tl(),e2=jb(),sl=nl(),t2=ce(),il=Xc(),Ch=Jc(),dv=ge(),KC=NC(),n2=HC(),QC=(n,e)=>new RegExp(n,e);QC.code="new RegExp";var r2=["removeAdditional","useDefaults","coerceTypes"],s2=new Set(["validate","serialize","parse","wrapper","root","schema","keyword","pattern","formats","validate$data","func","obj","Error"]),i2={errorDataPath:"",format:"`validateFormats: false` can be used instead.",nullable:'"nullable" keyword is supported by default.',jsonPointers:"Deprecated jsPropertySyntax can be used instead.",extendRefs:"Deprecated ignoreKeywordsWithRef can be used instead.",missingRefs:"Pass empty schema with $id that should be ignored to ajv.addSchema.",processCode:"Use option `code: {process: (code, schemaEnv: object) => string}`",sourceCode:"Use option `code: {source: true}`",strictDefaults:"It is default now, see option `strict`.",strictKeywords:"It is default now, see option `strict`.",uniqueItems:'"uniqueItems" keyword is always validated.',unknownFormats:"Disable strict mode or pass `true` to `ajv.addFormat` (or `formats` option).",cache:"Map is used as cache, schema object as key.",serialize:"Map is used as cache, schema object as key.",ajvErrors:"It is default now."},o2={ignoreKeywordsWithRef:"",jsPropertySyntax:"",unicode:'"minLength"/"maxLength" account for unicode characters by default.'},GC=200;function a2(n){var e,t,r,s,i,o,a,c,l,u,d,f,p,y,m,S,w,T,v,R,A,M,z,j,ie;let Le=n.strict,wt=(e=n.code)===null||e===void 0?void 0:e.optimize,pe=wt===!0||wt===void 0?1:wt||0,Ln=(r=(t=n.code)===null||t===void 0?void 0:t.regExp)!==null&&r!==void 0?r:QC,as=(s=n.uriResolver)!==null&&s!==void 0?s:n2.default;return{strictSchema:(o=(i=n.strictSchema)!==null&&i!==void 0?i:Le)!==null&&o!==void 0?o:!0,strictNumbers:(c=(a=n.strictNumbers)!==null&&a!==void 0?a:Le)!==null&&c!==void 0?c:!0,strictTypes:(u=(l=n.strictTypes)!==null&&l!==void 0?l:Le)!==null&&u!==void 0?u:"log",strictTuples:(f=(d=n.strictTuples)!==null&&d!==void 0?d:Le)!==null&&f!==void 0?f:"log",strictRequired:(y=(p=n.strictRequired)!==null&&p!==void 0?p:Le)!==null&&y!==void 0?y:!1,code:n.code?{...n.code,optimize:pe,regExp:Ln}:{optimize:pe,regExp:Ln},loopRequired:(m=n.loopRequired)!==null&&m!==void 0?m:GC,loopEnum:(S=n.loopEnum)!==null&&S!==void 0?S:GC,meta:(w=n.meta)!==null&&w!==void 0?w:!0,messages:(T=n.messages)!==null&&T!==void 0?T:!0,inlineRefs:(v=n.inlineRefs)!==null&&v!==void 0?v:!0,schemaId:(R=n.schemaId)!==null&&R!==void 0?R:"$id",addUsedSchema:(A=n.addUsedSchema)!==null&&A!==void 0?A:!0,validateSchema:(M=n.validateSchema)!==null&&M!==void 0?M:!0,validateFormats:(z=n.validateFormats)!==null&&z!==void 0?z:!0,unicodeRegExp:(j=n.unicodeRegExp)!==null&&j!==void 0?j:!0,int32range:(ie=n.int32range)!==null&&ie!==void 0?ie:!0,uriResolver:as}}var ol=class{constructor(e={}){this.schemas={},this.refs={},this.formats={},this._compilations=new Set,this._loading={},this._cache=new Map,e=this.opts={...e,...a2(e)};let{es5:t,lines:r}=this.opts.code;this.scope=new t2.ValueScope({scope:{},prefixes:s2,es5:t,lines:r}),this.logger=h2(e.logger);let s=e.validateFormats;e.validateFormats=!1,this.RULES=(0,e2.getRules)(),YC.call(this,i2,e,"NOT SUPPORTED"),YC.call(this,o2,e,"DEPRECATED","warn"),this._metaOpts=d2.call(this),e.formats&&l2.call(this),this._addVocabularies(),this._addDefaultMetaSchema(),e.keywords&&u2.call(this,e.keywords),typeof e.meta=="object"&&this.addMetaSchema(e.meta),c2.call(this),e.validateFormats=s}_addVocabularies(){this.addKeyword("$async")}_addDefaultMetaSchema(){let{$data:e,meta:t,schemaId:r}=this.opts,s=KC;r==="id"&&(s={...KC},s.id=s.$id,delete s.$id),t&&e&&this.addMetaSchema(s,s[r],!1)}defaultMeta(){let{meta:e,schemaId:t}=this.opts;return this.opts.defaultMeta=typeof e=="object"?e[t]||e:void 0}validate(e,t){let r;if(typeof e=="string"){if(r=this.getSchema(e),!r)throw new Error(`no schema with key or ref "${e}"`)}else r=this.compile(e);let s=r(t);return"$async"in r||(this.errors=r.errors),s}compile(e,t){let r=this._addSchema(e,t);return r.validate||this._compileSchemaEnv(r)}compileAsync(e,t){if(typeof this.opts.loadSchema!="function")throw new Error("options.loadSchema should be a function");let{loadSchema:r}=this.opts;return s.call(this,e,t);async function s(u,d){await i.call(this,u.$schema);let f=this._addSchema(u,d);return f.validate||o.call(this,f)}async function i(u){u&&!this.getSchema(u)&&await s.call(this,{$ref:u},!0)}async function o(u){try{return this._compileSchemaEnv(u)}catch(d){if(!(d instanceof XC.default))throw d;return a.call(this,d),await c.call(this,d.missingSchema),o.call(this,u)}}function a({missingSchema:u,missingRef:d}){if(this.refs[u])throw new Error(`AnySchema ${u} is loaded but ${d} cannot be resolved`)}async function c(u){let d=await l.call(this,u);this.refs[u]||await i.call(this,d.$schema),this.refs[u]||this.addSchema(d,u,t)}async function l(u){let d=this._loading[u];if(d)return d;try{return await(this._loading[u]=r(u))}finally{delete this._loading[u]}}}addSchema(e,t,r,s=this.opts.validateSchema){if(Array.isArray(e)){for(let o of e)this.addSchema(o,void 0,r,s);return this}let i;if(typeof e=="object"){let{schemaId:o}=this.opts;if(i=e[o],i!==void 0&&typeof i!="string")throw new Error(`schema ${o} must be string`)}return t=(0,il.normalizeId)(t||i),this._checkUnique(t),this.schemas[t]=this._addSchema(e,r,t,s,!0),this}addMetaSchema(e,t,r=this.opts.validateSchema){return this.addSchema(e,t,!0,r),this}validateSchema(e,t){if(typeof e=="boolean")return!0;let r;if(r=e.$schema,r!==void 0&&typeof r!="string")throw new Error("$schema must be a string");if(r=r||this.opts.defaultMeta||this.defaultMeta(),!r)return this.logger.warn("meta-schema not available"),this.errors=null,!0;let s=this.validate(r,e);if(!s&&t){let i="schema is invalid: "+this.errorsText();if(this.opts.validateSchema==="log")this.logger.error(i);else throw new Error(i)}return s}getSchema(e){let t;for(;typeof(t=JC.call(this,e))=="string";)e=t;if(t===void 0){let{schemaId:r}=this.opts,s=new sl.SchemaEnv({schema:{},schemaId:r});if(t=sl.resolveSchema.call(this,s,e),!t)return;this.refs[e]=t}return t.validate||this._compileSchemaEnv(t)}removeSchema(e){if(e instanceof RegExp)return this._removeAllSchemas(this.schemas,e),this._removeAllSchemas(this.refs,e),this;switch(typeof e){case"undefined":return this._removeAllSchemas(this.schemas),this._removeAllSchemas(this.refs),this._cache.clear(),this;case"string":{let t=JC.call(this,e);return typeof t=="object"&&this._cache.delete(t.schema),delete this.schemas[e],delete this.refs[e],this}case"object":{let t=e;this._cache.delete(t);let r=e[this.opts.schemaId];return r&&(r=(0,il.normalizeId)(r),delete this.schemas[r],delete this.refs[r]),this}default:throw new Error("ajv.removeSchema: invalid parameter")}}addVocabulary(e){for(let t of e)this.addKeyword(t);return this}addKeyword(e,t){let r;if(typeof e=="string")r=e,typeof t=="object"&&(this.logger.warn("these parameters are deprecated, see docs for addKeyword"),t.keyword=r);else if(typeof e=="object"&&t===void 0){if(t=e,r=t.keyword,Array.isArray(r)&&!r.length)throw new Error("addKeywords: keyword must be string or non-empty array")}else throw new Error("invalid addKeywords parameters");if(m2.call(this,r,t),!t)return(0,dv.eachItem)(r,i=>uv.call(this,i)),this;y2.call(this,t);let s={...t,type:(0,Ch.getJSONTypes)(t.type),schemaType:(0,Ch.getJSONTypes)(t.schemaType)};return(0,dv.eachItem)(r,s.type.length===0?i=>uv.call(this,i,s):i=>s.type.forEach(o=>uv.call(this,i,s,o))),this}getKeyword(e){let t=this.RULES.all[e];return typeof t=="object"?t.definition:!!t}removeKeyword(e){let{RULES:t}=this;delete t.keywords[e],delete t.all[e];for(let r of t.rules){let s=r.rules.findIndex(i=>i.keyword===e);s>=0&&r.rules.splice(s,1)}return this}addFormat(e,t){return typeof t=="string"&&(t=new RegExp(t)),this.formats[e]=t,this}errorsText(e=this.errors,{separator:t=", ",dataVar:r="data"}={}){return!e||e.length===0?"No errors":e.map(s=>`${r}${s.instancePath} ${s.message}`).reduce((s,i)=>s+t+i)}$dataMetaSchema(e,t){let r=this.RULES.all;e=JSON.parse(JSON.stringify(e));for(let s of t){let i=s.split("/").slice(1),o=e;for(let a of i)o=o[a];for(let a in r){let c=r[a];if(typeof c!="object")continue;let{$data:l}=c.definition,u=o[a];l&&u&&(o[a]=ZC(u))}}return e}_removeAllSchemas(e,t){for(let r in e){let s=e[r];(!t||t.test(r))&&(typeof s=="string"?delete e[r]:s&&!s.meta&&(this._cache.delete(s.schema),delete e[r]))}}_addSchema(e,t,r,s=this.opts.validateSchema,i=this.opts.addUsedSchema){let o,{schemaId:a}=this.opts;if(typeof e=="object")o=e[a];else{if(this.opts.jtd)throw new Error("schema must be object");if(typeof e!="boolean")throw new Error("schema must be object or boolean")}let c=this._cache.get(e);if(c!==void 0)return c;r=(0,il.normalizeId)(o||r);let l=il.getSchemaRefs.call(this,e,r);return c=new sl.SchemaEnv({schema:e,schemaId:a,meta:t,baseId:r,localRefs:l}),this._cache.set(c.schema,c),i&&!r.startsWith("#")&&(r&&this._checkUnique(r),this.refs[r]=c),s&&this.validateSchema(e,!0),c}_checkUnique(e){if(this.schemas[e]||this.refs[e])throw new Error(`schema with key or id "${e}" already exists`)}_compileSchemaEnv(e){if(e.meta?this._compileMetaSchema(e):sl.compileSchema.call(this,e),!e.validate)throw new Error("ajv implementation error");return e.validate}_compileMetaSchema(e){let t=this.opts;this.opts=this._metaOpts;try{sl.compileSchema.call(this,e)}finally{this.opts=t}}};ol.ValidationError=ZV.default;ol.MissingRefError=XC.default;zt.default=ol;function YC(n,e,t,r="error"){for(let s in n){let i=s;i in e&&this.logger[r](`${t}: option ${s}. ${n[i]}`)}}function JC(n){return n=(0,il.normalizeId)(n),this.schemas[n]||this.refs[n]}function c2(){let n=this.opts.schemas;if(n)if(Array.isArray(n))this.addSchema(n);else for(let e in n)this.addSchema(n[e],e)}function l2(){for(let n in this.opts.formats){let e=this.opts.formats[n];e&&this.addFormat(n,e)}}function u2(n){if(Array.isArray(n)){this.addVocabulary(n);return}this.logger.warn("keywords option as map is deprecated, pass array");for(let e in n){let t=n[e];t.keyword||(t.keyword=e),this.addKeyword(t)}}function d2(){let n={...this.opts};for(let e of r2)delete n[e];return n}var f2={log(){},warn(){},error(){}};function h2(n){if(n===!1)return f2;if(n===void 0)return console;if(n.log&&n.warn&&n.error)return n;throw new Error("logger must implement log, warn and error methods")}var p2=/^[a-z_$][a-z0-9_$:-]*$/i;function m2(n,e){let{RULES:t}=this;if((0,dv.eachItem)(n,r=>{if(t.keywords[r])throw new Error(`Keyword ${r} is already defined`);if(!p2.test(r))throw new Error(`Keyword ${r} has invalid name`)}),!!e&&e.$data&&!("code"in e||"validate"in e))throw new Error('$data keyword must have "code" or "validate" function')}function uv(n,e,t){var r;let s=e?.post;if(t&&s)throw new Error('keyword with "post" flag cannot have "type"');let{RULES:i}=this,o=s?i.post:i.rules.find(({type:c})=>c===t);if(o||(o={type:t,rules:[]},i.rules.push(o)),i.keywords[n]=!0,!e)return;let a={keyword:n,definition:{...e,type:(0,Ch.getJSONTypes)(e.type),schemaType:(0,Ch.getJSONTypes)(e.schemaType)}};e.before?g2.call(this,o,a,e.before):o.rules.push(a),i.all[n]=a,(r=e.implements)===null||r===void 0||r.forEach(c=>this.addKeyword(c))}function g2(n,e,t){let r=n.rules.findIndex(s=>s.keyword===t);r>=0?n.rules.splice(r,0,e):(n.rules.push(e),this.logger.warn(`rule ${t} is not defined`))}function y2(n){let{metaSchema:e}=n;e!==void 0&&(n.$data&&this.opts.$data&&(e=ZC(e)),n.validateSchema=this.compile(e,!0))}var b2={$ref:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#"};function ZC(n){return{anyOf:[n,b2]}}});var tA=E(fv=>{"use strict";Object.defineProperty(fv,"__esModule",{value:!0});var v2={keyword:"id",code(){throw new Error('NOT SUPPORTED: keyword "id", use "$id" for schema ID')}};fv.default=v2});var Ih=E(Ii=>{"use strict";Object.defineProperty(Ii,"__esModule",{value:!0});Ii.callRef=Ii.getValidate=void 0;var T2=tl(),nA=Xn(),Pn=ce(),aa=Jn(),rA=nl(),Ah=ge(),S2={keyword:"$ref",schemaType:"string",code(n){let{gen:e,schema:t,it:r}=n,{baseId:s,schemaEnv:i,validateName:o,opts:a,self:c}=r,{root:l}=i;if((t==="#"||t==="#/")&&s===l.baseId)return d();let u=rA.resolveRef.call(c,l,s,t);if(u===void 0)throw new T2.default(r.opts.uriResolver,s,t);if(u instanceof rA.SchemaEnv)return f(u);return p(u);function d(){if(i===l)return Oh(n,o,i,i.$async);let y=e.scopeValue("root",{ref:l});return Oh(n,(0,Pn._)`${y}.validate`,l,l.$async)}function f(y){let m=sA(n,y);Oh(n,m,y,y.$async)}function p(y){let m=e.scopeValue("schema",a.code.source===!0?{ref:y,code:(0,Pn.stringify)(y)}:{ref:y}),S=e.name("valid"),w=n.subschema({schema:y,dataTypes:[],schemaPath:Pn.nil,topSchemaRef:m,errSchemaPath:t},S);n.mergeEvaluated(w),n.ok(S)}}};function sA(n,e){let{gen:t}=n;return e.validate?t.scopeValue("validate",{ref:e.validate}):(0,Pn._)`${t.scopeValue("wrapper",{ref:e})}.validate`}Ii.getValidate=sA;function Oh(n,e,t,r){let{gen:s,it:i}=n,{allErrors:o,schemaEnv:a,opts:c}=i,l=c.passContext?aa.default.this:Pn.nil;r?u():d();function u(){if(!a.$async)throw new Error("async schema referenced by sync schema");let y=s.let("valid");s.try(()=>{s.code((0,Pn._)`await ${(0,nA.callValidateCode)(n,e,l)}`),p(e),o||s.assign(y,!0)},m=>{s.if((0,Pn._)`!(${m} instanceof ${i.ValidationError})`,()=>s.throw(m)),f(m),o||s.assign(y,!1)}),n.ok(y)}function d(){n.result((0,nA.callValidateCode)(n,e,l),()=>p(e),()=>f(e))}function f(y){let m=(0,Pn._)`${y}.errors`;s.assign(aa.default.vErrors,(0,Pn._)`${aa.default.vErrors} === null ? ${m} : ${aa.default.vErrors}.concat(${m})`),s.assign(aa.default.errors,(0,Pn._)`${aa.default.vErrors}.length`)}function p(y){var m;if(!i.opts.unevaluated)return;let S=(m=t?.validate)===null||m===void 0?void 0:m.evaluated;if(i.props!==!0)if(S&&!S.dynamicProps)S.props!==void 0&&(i.props=Ah.mergeEvaluated.props(s,S.props,i.props));else{let w=s.var("props",(0,Pn._)`${y}.evaluated.props`);i.props=Ah.mergeEvaluated.props(s,w,i.props,Pn.Name)}if(i.items!==!0)if(S&&!S.dynamicItems)S.items!==void 0&&(i.items=Ah.mergeEvaluated.items(s,S.items,i.items));else{let w=s.var("items",(0,Pn._)`${y}.evaluated.items`);i.items=Ah.mergeEvaluated.items(s,w,i.items,Pn.Name)}}}Ii.callRef=Oh;Ii.default=S2});var iA=E(hv=>{"use strict";Object.defineProperty(hv,"__esModule",{value:!0});var _2=tA(),E2=Ih(),w2=["$schema","$id","$defs","$vocabulary",{keyword:"$comment"},"definitions",_2.default,E2.default];hv.default=w2});var oA=E(pv=>{"use strict";Object.defineProperty(pv,"__esModule",{value:!0});var xh=ce(),Ys=xh.operators,Mh={maximum:{okStr:"<=",ok:Ys.LTE,fail:Ys.GT},minimum:{okStr:">=",ok:Ys.GTE,fail:Ys.LT},exclusiveMaximum:{okStr:"<",ok:Ys.LT,fail:Ys.GTE},exclusiveMinimum:{okStr:">",ok:Ys.GT,fail:Ys.LTE}},k2={message:({keyword:n,schemaCode:e})=>(0,xh.str)`must be ${Mh[n].okStr} ${e}`,params:({keyword:n,schemaCode:e})=>(0,xh._)`{comparison: ${Mh[n].okStr}, limit: ${e}}`},N2={keyword:Object.keys(Mh),type:"number",schemaType:"number",$data:!0,error:k2,code(n){let{keyword:e,data:t,schemaCode:r}=n;n.fail$data((0,xh._)`${t} ${Mh[e].fail} ${r} || isNaN(${t})`)}};pv.default=N2});var aA=E(mv=>{"use strict";Object.defineProperty(mv,"__esModule",{value:!0});var al=ce(),P2={message:({schemaCode:n})=>(0,al.str)`must be multiple of ${n}`,params:({schemaCode:n})=>(0,al._)`{multipleOf: ${n}}`},R2={keyword:"multipleOf",type:"number",schemaType:"number",$data:!0,error:P2,code(n){let{gen:e,data:t,schemaCode:r,it:s}=n,i=s.opts.multipleOfPrecision,o=e.let("res"),a=i?(0,al._)`Math.abs(Math.round(${o}) - ${o}) > 1e-${i}`:(0,al._)`${o} !== parseInt(${o})`;n.fail$data((0,al._)`(${r} === 0 || (${o} = ${t}/${r}, ${a}))`)}};mv.default=R2});var lA=E(gv=>{"use strict";Object.defineProperty(gv,"__esModule",{value:!0});function cA(n){let e=n.length,t=0,r=0,s;for(;r<e;)t++,s=n.charCodeAt(r++),s>=55296&&s<=56319&&r<e&&(s=n.charCodeAt(r),(s&64512)===56320&&r++);return t}gv.default=cA;cA.code='require("ajv/dist/runtime/ucs2length").default'});var uA=E(yv=>{"use strict";Object.defineProperty(yv,"__esModule",{value:!0});var xi=ce(),D2=ge(),C2=lA(),A2={message({keyword:n,schemaCode:e}){let t=n==="maxLength"?"more":"fewer";return(0,xi.str)`must NOT have ${t} than ${e} characters`},params:({schemaCode:n})=>(0,xi._)`{limit: ${n}}`},O2={keyword:["maxLength","minLength"],type:"string",schemaType:"number",$data:!0,error:A2,code(n){let{keyword:e,data:t,schemaCode:r,it:s}=n,i=e==="maxLength"?xi.operators.GT:xi.operators.LT,o=s.opts.unicode===!1?(0,xi._)`${t}.length`:(0,xi._)`${(0,D2.useFunc)(n.gen,C2.default)}(${t})`;n.fail$data((0,xi._)`${o} ${i} ${r}`)}};yv.default=O2});var dA=E(bv=>{"use strict";Object.defineProperty(bv,"__esModule",{value:!0});var I2=Xn(),$h=ce(),x2={message:({schemaCode:n})=>(0,$h.str)`must match pattern "${n}"`,params:({schemaCode:n})=>(0,$h._)`{pattern: ${n}}`},M2={keyword:"pattern",type:"string",schemaType:"string",$data:!0,error:x2,code(n){let{data:e,$data:t,schema:r,schemaCode:s,it:i}=n,o=i.opts.unicodeRegExp?"u":"",a=t?(0,$h._)`(new RegExp(${s}, ${o}))`:(0,I2.usePattern)(n,r);n.fail$data((0,$h._)`!${a}.test(${e})`)}};bv.default=M2});var fA=E(vv=>{"use strict";Object.defineProperty(vv,"__esModule",{value:!0});var cl=ce(),$2={message({keyword:n,schemaCode:e}){let t=n==="maxProperties"?"more":"fewer";return(0,cl.str)`must NOT have ${t} than ${e} properties`},params:({schemaCode:n})=>(0,cl._)`{limit: ${n}}`},L2={keyword:["maxProperties","minProperties"],type:"object",schemaType:"number",$data:!0,error:$2,code(n){let{keyword:e,data:t,schemaCode:r}=n,s=e==="maxProperties"?cl.operators.GT:cl.operators.LT;n.fail$data((0,cl._)`Object.keys(${t}).length ${s} ${r}`)}};vv.default=L2});var hA=E(Tv=>{"use strict";Object.defineProperty(Tv,"__esModule",{value:!0});var ll=Xn(),ul=ce(),q2=ge(),j2={message:({params:{missingProperty:n}})=>(0,ul.str)`must have required property '${n}'`,params:({params:{missingProperty:n}})=>(0,ul._)`{missingProperty: ${n}}`},F2={keyword:"required",type:"object",schemaType:"array",$data:!0,error:j2,code(n){let{gen:e,schema:t,schemaCode:r,data:s,$data:i,it:o}=n,{opts:a}=o;if(!i&&t.length===0)return;let c=t.length>=a.loopRequired;if(o.allErrors?l():u(),a.strictRequired){let p=n.parentSchema.properties,{definedProperties:y}=n.it;for(let m of t)if(p?.[m]===void 0&&!y.has(m)){let S=o.schemaEnv.baseId+o.errSchemaPath,w=`required property "${m}" is not defined at "${S}" (strictRequired)`;(0,q2.checkStrictMode)(o,w,o.opts.strictRequired)}}function l(){if(c||i)n.block$data(ul.nil,d);else for(let p of t)(0,ll.checkReportMissingProp)(n,p)}function u(){let p=e.let("missing");if(c||i){let y=e.let("valid",!0);n.block$data(y,()=>f(p,y)),n.ok(y)}else e.if((0,ll.checkMissingProp)(n,t,p)),(0,ll.reportMissingProp)(n,p),e.else()}function d(){e.forOf("prop",r,p=>{n.setParams({missingProperty:p}),e.if((0,ll.noPropertyInData)(e,s,p,a.ownProperties),()=>n.error())})}function f(p,y){n.setParams({missingProperty:p}),e.forOf(p,r,()=>{e.assign(y,(0,ll.propertyInData)(e,s,p,a.ownProperties)),e.if((0,ul.not)(y),()=>{n.error(),e.break()})},ul.nil)}}};Tv.default=F2});var pA=E(Sv=>{"use strict";Object.defineProperty(Sv,"__esModule",{value:!0});var dl=ce(),B2={message({keyword:n,schemaCode:e}){let t=n==="maxItems"?"more":"fewer";return(0,dl.str)`must NOT have ${t} than ${e} items`},params:({schemaCode:n})=>(0,dl._)`{limit: ${n}}`},U2={keyword:["maxItems","minItems"],type:"array",schemaType:"number",$data:!0,error:B2,code(n){let{keyword:e,data:t,schemaCode:r}=n,s=e==="maxItems"?dl.operators.GT:dl.operators.LT;n.fail$data((0,dl._)`${t}.length ${s} ${r}`)}};Sv.default=U2});var Lh=E(_v=>{"use strict";Object.defineProperty(_v,"__esModule",{value:!0});var mA=Kb();mA.code='require("ajv/dist/runtime/equal").default';_v.default=mA});var gA=E(wv=>{"use strict";Object.defineProperty(wv,"__esModule",{value:!0});var Ev=Jc(),Ht=ce(),V2=ge(),W2=Lh(),z2={message:({params:{i:n,j:e}})=>(0,Ht.str)`must NOT have duplicate items (items ## ${e} and ${n} are identical)`,params:({params:{i:n,j:e}})=>(0,Ht._)`{i: ${n}, j: ${e}}`},H2={keyword:"uniqueItems",type:"array",schemaType:"boolean",$data:!0,error:z2,code(n){let{gen:e,data:t,$data:r,schema:s,parentSchema:i,schemaCode:o,it:a}=n;if(!r&&!s)return;let c=e.let("valid"),l=i.items?(0,Ev.getSchemaTypes)(i.items):[];n.block$data(c,u,(0,Ht._)`${o} === false`),n.ok(c);function u(){let y=e.let("i",(0,Ht._)`${t}.length`),m=e.let("j");n.setParams({i:y,j:m}),e.assign(c,!0),e.if((0,Ht._)`${y} > 1`,()=>(d()?f:p)(y,m))}function d(){return l.length>0&&!l.some(y=>y==="object"||y==="array")}function f(y,m){let S=e.name("item"),w=(0,Ev.checkDataTypes)(l,S,a.opts.strictNumbers,Ev.DataType.Wrong),T=e.const("indices",(0,Ht._)`{}`);e.for((0,Ht._)`;${y}--;`,()=>{e.let(S,(0,Ht._)`${t}[${y}]`),e.if(w,(0,Ht._)`continue`),l.length>1&&e.if((0,Ht._)`typeof ${S} == "string"`,(0,Ht._)`${S} += "_"`),e.if((0,Ht._)`typeof ${T}[${S}] == "number"`,()=>{e.assign(m,(0,Ht._)`${T}[${S}]`),n.error(),e.assign(c,!1).break()}).code((0,Ht._)`${T}[${S}] = ${y}`)})}function p(y,m){let S=(0,V2.useFunc)(e,W2.default),w=e.name("outer");e.label(w).for((0,Ht._)`;${y}--;`,()=>e.for((0,Ht._)`${m} = ${y}; ${m}--;`,()=>e.if((0,Ht._)`${S}(${t}[${y}], ${t}[${m}])`,()=>{n.error(),e.assign(c,!1).break(w)})))}}};wv.default=H2});var yA=E(Nv=>{"use strict";Object.defineProperty(Nv,"__esModule",{value:!0});var kv=ce(),K2=ge(),G2=Lh(),Y2={message:"must be equal to constant",params:({schemaCode:n})=>(0,kv._)`{allowedValue: ${n}}`},J2={keyword:"const",$data:!0,error:Y2,code(n){let{gen:e,data:t,$data:r,schemaCode:s,schema:i}=n;r||i&&typeof i=="object"?n.fail$data((0,kv._)`!${(0,K2.useFunc)(e,G2.default)}(${t}, ${s})`):n.fail((0,kv._)`${i} !== ${t}`)}};Nv.default=J2});var bA=E(Pv=>{"use strict";Object.defineProperty(Pv,"__esModule",{value:!0});var fl=ce(),X2=ge(),Q2=Lh(),Z2={message:"must be equal to one of the allowed values",params:({schemaCode:n})=>(0,fl._)`{allowedValues: ${n}}`},eW={keyword:"enum",schemaType:"array",$data:!0,error:Z2,code(n){let{gen:e,data:t,$data:r,schema:s,schemaCode:i,it:o}=n;if(!r&&s.length===0)throw new Error("enum must have non-empty array");let a=s.length>=o.opts.loopEnum,c,l=()=>c??(c=(0,X2.useFunc)(e,Q2.default)),u;if(a||r)u=e.let("valid"),n.block$data(u,d);else{if(!Array.isArray(s))throw new Error("ajv implementation error");let p=e.const("vSchema",i);u=(0,fl.or)(...s.map((y,m)=>f(p,m)))}n.pass(u);function d(){e.assign(u,!1),e.forOf("v",i,p=>e.if((0,fl._)`${l()}(${t}, ${p})`,()=>e.assign(u,!0).break()))}function f(p,y){let m=s[y];return typeof m=="object"&&m!==null?(0,fl._)`${l()}(${t}, ${p}[${y}])`:(0,fl._)`${t} === ${m}`}}};Pv.default=eW});var vA=E(Rv=>{"use strict";Object.defineProperty(Rv,"__esModule",{value:!0});var tW=oA(),nW=aA(),rW=uA(),sW=dA(),iW=fA(),oW=hA(),aW=pA(),cW=gA(),lW=yA(),uW=bA(),dW=[tW.default,nW.default,rW.default,sW.default,iW.default,oW.default,aW.default,cW.default,{keyword:"type",schemaType:["string","array"]},{keyword:"nullable",schemaType:"boolean"},lW.default,uW.default];Rv.default=dW});var Cv=E(hl=>{"use strict";Object.defineProperty(hl,"__esModule",{value:!0});hl.validateAdditionalItems=void 0;var Mi=ce(),Dv=ge(),fW={message:({params:{len:n}})=>(0,Mi.str)`must NOT have more than ${n} items`,params:({params:{len:n}})=>(0,Mi._)`{limit: ${n}}`},hW={keyword:"additionalItems",type:"array",schemaType:["boolean","object"],before:"uniqueItems",error:fW,code(n){let{parentSchema:e,it:t}=n,{items:r}=e;if(!Array.isArray(r)){(0,Dv.checkStrictMode)(t,'"additionalItems" is ignored when "items" is not an array of schemas');return}TA(n,r)}};function TA(n,e){let{gen:t,schema:r,data:s,keyword:i,it:o}=n;o.items=!0;let a=t.const("len",(0,Mi._)`${s}.length`);if(r===!1)n.setParams({len:e.length}),n.pass((0,Mi._)`${a} <= ${e.length}`);else if(typeof r=="object"&&!(0,Dv.alwaysValidSchema)(o,r)){let l=t.var("valid",(0,Mi._)`${a} <= ${e.length}`);t.if((0,Mi.not)(l),()=>c(l)),n.ok(l)}function c(l){t.forRange("i",e.length,a,u=>{n.subschema({keyword:i,dataProp:u,dataPropType:Dv.Type.Num},l),o.allErrors||t.if((0,Mi.not)(l),()=>t.break())})}}hl.validateAdditionalItems=TA;hl.default=hW});var Av=E(pl=>{"use strict";Object.defineProperty(pl,"__esModule",{value:!0});pl.validateTuple=void 0;var SA=ce(),qh=ge(),pW=Xn(),mW={keyword:"items",type:"array",schemaType:["object","array","boolean"],before:"uniqueItems",code(n){let{schema:e,it:t}=n;if(Array.isArray(e))return _A(n,"additionalItems",e);t.items=!0,!(0,qh.alwaysValidSchema)(t,e)&&n.ok((0,pW.validateArray)(n))}};function _A(n,e,t=n.schema){let{gen:r,parentSchema:s,data:i,keyword:o,it:a}=n;u(s),a.opts.unevaluated&&t.length&&a.items!==!0&&(a.items=qh.mergeEvaluated.items(r,t.length,a.items));let c=r.name("valid"),l=r.const("len",(0,SA._)`${i}.length`);t.forEach((d,f)=>{(0,qh.alwaysValidSchema)(a,d)||(r.if((0,SA._)`${l} > ${f}`,()=>n.subschema({keyword:o,schemaProp:f,dataProp:f},c)),n.ok(c))});function u(d){let{opts:f,errSchemaPath:p}=a,y=t.length,m=y===d.minItems&&(y===d.maxItems||d[e]===!1);if(f.strictTuples&&!m){let S=`"${o}" is ${y}-tuple, but minItems or maxItems/${e} are not specified or different at path "${p}"`;(0,qh.checkStrictMode)(a,S,f.strictTuples)}}}pl.validateTuple=_A;pl.default=mW});var EA=E(Ov=>{"use strict";Object.defineProperty(Ov,"__esModule",{value:!0});var gW=Av(),yW={keyword:"prefixItems",type:"array",schemaType:["array"],before:"uniqueItems",code:n=>(0,gW.validateTuple)(n,"items")};Ov.default=yW});var kA=E(Iv=>{"use strict";Object.defineProperty(Iv,"__esModule",{value:!0});var wA=ce(),bW=ge(),vW=Xn(),TW=Cv(),SW={message:({params:{len:n}})=>(0,wA.str)`must NOT have more than ${n} items`,params:({params:{len:n}})=>(0,wA._)`{limit: ${n}}`},_W={keyword:"items",type:"array",schemaType:["object","boolean"],before:"uniqueItems",error:SW,code(n){let{schema:e,parentSchema:t,it:r}=n,{prefixItems:s}=t;r.items=!0,!(0,bW.alwaysValidSchema)(r,e)&&(s?(0,TW.validateAdditionalItems)(n,s):n.ok((0,vW.validateArray)(n)))}};Iv.default=_W});var NA=E(xv=>{"use strict";Object.defineProperty(xv,"__esModule",{value:!0});var Zn=ce(),jh=ge(),EW={message:({params:{min:n,max:e}})=>e===void 0?(0,Zn.str)`must contain at least ${n} valid item(s)`:(0,Zn.str)`must contain at least ${n} and no more than ${e} valid item(s)`,params:({params:{min:n,max:e}})=>e===void 0?(0,Zn._)`{minContains: ${n}}`:(0,Zn._)`{minContains: ${n}, maxContains: ${e}}`},wW={keyword:"contains",type:"array",schemaType:["object","boolean"],before:"uniqueItems",trackErrors:!0,error:EW,code(n){let{gen:e,schema:t,parentSchema:r,data:s,it:i}=n,o,a,{minContains:c,maxContains:l}=r;i.opts.next?(o=c===void 0?1:c,a=l):o=1;let u=e.const("len",(0,Zn._)`${s}.length`);if(n.setParams({min:o,max:a}),a===void 0&&o===0){(0,jh.checkStrictMode)(i,'"minContains" == 0 without "maxContains": "contains" keyword ignored');return}if(a!==void 0&&o>a){(0,jh.checkStrictMode)(i,'"minContains" > "maxContains" is always invalid'),n.fail();return}if((0,jh.alwaysValidSchema)(i,t)){let m=(0,Zn._)`${u} >= ${o}`;a!==void 0&&(m=(0,Zn._)`${m} && ${u} <= ${a}`),n.pass(m);return}i.items=!0;let d=e.name("valid");a===void 0&&o===1?p(d,()=>e.if(d,()=>e.break())):o===0?(e.let(d,!0),a!==void 0&&e.if((0,Zn._)`${s}.length > 0`,f)):(e.let(d,!1),f()),n.result(d,()=>n.reset());function f(){let m=e.name("_valid"),S=e.let("count",0);p(m,()=>e.if(m,()=>y(S)))}function p(m,S){e.forRange("i",0,u,w=>{n.subschema({keyword:"contains",dataProp:w,dataPropType:jh.Type.Num,compositeRule:!0},m),S()})}function y(m){e.code((0,Zn._)`${m}++`),a===void 0?e.if((0,Zn._)`${m} >= ${o}`,()=>e.assign(d,!0).break()):(e.if((0,Zn._)`${m} > ${a}`,()=>e.assign(d,!1).break()),o===1?e.assign(d,!0):e.if((0,Zn._)`${m} >= ${o}`,()=>e.assign(d,!0)))}}};xv.default=wW});var Fh=E(Br=>{"use strict";Object.defineProperty(Br,"__esModule",{value:!0});Br.validateSchemaDeps=Br.validatePropertyDeps=Br.error=void 0;var Mv=ce(),kW=ge(),ml=Xn();Br.error={message:({params:{property:n,depsCount:e,deps:t}})=>{let r=e===1?"property":"properties";return(0,Mv.str)`must have ${r} ${t} when property ${n} is present`},params:({params:{property:n,depsCount:e,deps:t,missingProperty:r}})=>(0,Mv._)`{property: ${n},
180
180
  missingProperty: ${r},
181
181
  depsCount: ${e},
182
- deps: ${t}}`};var NW={keyword:"dependencies",type:"object",schemaType:"object",error:Br.error,code(n){let[e,t]=PW(n);PA(n,e),RA(n,t)}};function PW({schema:n}){let e={},t={};for(let r in n){if(r==="__proto__")continue;let s=Array.isArray(n[r])?e:t;s[r]=n[r]}return[e,t]}function PA(n,e=n.schema){let{gen:t,data:r,it:s}=n;if(Object.keys(e).length===0)return;let i=t.let("missing");for(let o in e){let a=e[o];if(a.length===0)continue;let c=(0,ml.propertyInData)(t,r,o,s.opts.ownProperties);n.setParams({property:o,depsCount:a.length,deps:a.join(", ")}),s.allErrors?t.if(c,()=>{for(let l of a)(0,ml.checkReportMissingProp)(n,l)}):(t.if((0,Mv._)`${c} && (${(0,ml.checkMissingProp)(n,a,i)})`),(0,ml.reportMissingProp)(n,i),t.else())}}Br.validatePropertyDeps=PA;function RA(n,e=n.schema){let{gen:t,data:r,keyword:s,it:i}=n,o=t.name("valid");for(let a in e)(0,kW.alwaysValidSchema)(i,e[a])||(t.if((0,ml.propertyInData)(t,r,a,i.opts.ownProperties),()=>{let c=n.subschema({keyword:s,schemaProp:a},o);n.mergeValidEvaluated(c,o)},()=>t.var(o,!0)),n.ok(o))}Br.validateSchemaDeps=RA;Br.default=NW});var CA=E($v=>{"use strict";Object.defineProperty($v,"__esModule",{value:!0});var DA=ce(),RW=ge(),DW={message:"property name must be valid",params:({params:n})=>(0,DA._)`{propertyName: ${n.propertyName}}`},CW={keyword:"propertyNames",type:"object",schemaType:["object","boolean"],error:DW,code(n){let{gen:e,schema:t,data:r,it:s}=n;if((0,RW.alwaysValidSchema)(s,t))return;let i=e.name("valid");e.forIn("key",r,o=>{n.setParams({propertyName:o}),n.subschema({keyword:"propertyNames",data:o,dataTypes:["string"],propertyName:o,compositeRule:!0},i),e.if((0,DA.not)(i),()=>{n.error(!0),s.allErrors||e.break()})}),n.ok(i)}};$v.default=CW});var qv=E(Lv=>{"use strict";Object.defineProperty(Lv,"__esModule",{value:!0});var Bh=Xn(),_r=ce(),AW=Jn(),Uh=ge(),OW={message:"must NOT have additional properties",params:({params:n})=>(0,_r._)`{additionalProperty: ${n.additionalProperty}}`},IW={keyword:"additionalProperties",type:["object"],schemaType:["boolean","object"],allowUndefined:!0,trackErrors:!0,error:OW,code(n){let{gen:e,schema:t,parentSchema:r,data:s,errsCount:i,it:o}=n;if(!i)throw new Error("ajv implementation error");let{allErrors:a,opts:c}=o;if(o.props=!0,c.removeAdditional!=="all"&&(0,Uh.alwaysValidSchema)(o,t))return;let l=(0,Bh.allSchemaProperties)(r.properties),u=(0,Bh.allSchemaProperties)(r.patternProperties);d(),n.ok((0,_r._)`${i} === ${AW.default.errors}`);function d(){e.forIn("key",s,S=>{!l.length&&!u.length?y(S):e.if(f(S),()=>y(S))})}function f(S){let w;if(l.length>8){let T=(0,Uh.schemaRefOrVal)(o,r.properties,"properties");w=(0,Bh.isOwnProperty)(e,T,S)}else l.length?w=(0,_r.or)(...l.map(T=>(0,_r._)`${S} === ${T}`)):w=_r.nil;return u.length&&(w=(0,_r.or)(w,...u.map(T=>(0,_r._)`${(0,Bh.usePattern)(n,T)}.test(${S})`))),(0,_r.not)(w)}function p(S){e.code((0,_r._)`delete ${s}[${S}]`)}function y(S){if(c.removeAdditional==="all"||c.removeAdditional&&t===!1){p(S);return}if(t===!1){n.setParams({additionalProperty:S}),n.error(),a||e.break();return}if(typeof t=="object"&&!(0,Uh.alwaysValidSchema)(o,t)){let w=e.name("valid");c.removeAdditional==="failing"?(m(S,w,!1),e.if((0,_r.not)(w),()=>{n.reset(),p(S)})):(m(S,w),a||e.if((0,_r.not)(w),()=>e.break()))}}function m(S,w,T){let v={keyword:"additionalProperties",dataProp:S,dataPropType:Uh.Type.Str};T===!1&&Object.assign(v,{compositeRule:!0,createErrors:!1,allErrors:!1}),n.subschema(v,w)}}};Lv.default=IW});var IA=E(Fv=>{"use strict";Object.defineProperty(Fv,"__esModule",{value:!0});var xW=el(),AA=Xn(),jv=ge(),OA=qv(),MW={keyword:"properties",type:"object",schemaType:"object",code(n){let{gen:e,schema:t,parentSchema:r,data:s,it:i}=n;i.opts.removeAdditional==="all"&&r.additionalProperties===void 0&&OA.default.code(new xW.KeywordCxt(i,OA.default,"additionalProperties"));let o=(0,AA.allSchemaProperties)(t);for(let d of o)i.definedProperties.add(d);i.opts.unevaluated&&o.length&&i.props!==!0&&(i.props=jv.mergeEvaluated.props(e,(0,jv.toHash)(o),i.props));let a=o.filter(d=>!(0,jv.alwaysValidSchema)(i,t[d]));if(a.length===0)return;let c=e.name("valid");for(let d of a)l(d)?u(d):(e.if((0,AA.propertyInData)(e,s,d,i.opts.ownProperties)),u(d),i.allErrors||e.else().var(c,!0),e.endIf()),n.it.definedProperties.add(d),n.ok(c);function l(d){return i.opts.useDefaults&&!i.compositeRule&&t[d].default!==void 0}function u(d){n.subschema({keyword:"properties",schemaProp:d,dataProp:d},c)}}};Fv.default=MW});var LA=E(Bv=>{"use strict";Object.defineProperty(Bv,"__esModule",{value:!0});var xA=Xn(),Vh=ce(),MA=ge(),$A=ge(),$W={keyword:"patternProperties",type:"object",schemaType:"object",code(n){let{gen:e,schema:t,data:r,parentSchema:s,it:i}=n,{opts:o}=i,a=(0,xA.allSchemaProperties)(t),c=a.filter(m=>(0,MA.alwaysValidSchema)(i,t[m]));if(a.length===0||c.length===a.length&&(!i.opts.unevaluated||i.props===!0))return;let l=o.strictSchema&&!o.allowMatchingProperties&&s.properties,u=e.name("valid");i.props!==!0&&!(i.props instanceof Vh.Name)&&(i.props=(0,$A.evaluatedPropsToName)(e,i.props));let{props:d}=i;f();function f(){for(let m of a)l&&p(m),i.allErrors?y(m):(e.var(u,!0),y(m),e.if(u))}function p(m){for(let S in l)new RegExp(m).test(S)&&(0,MA.checkStrictMode)(i,`property ${S} matches pattern ${m} (use allowMatchingProperties)`)}function y(m){e.forIn("key",r,S=>{e.if((0,Vh._)`${(0,xA.usePattern)(n,m)}.test(${S})`,()=>{let w=c.includes(m);w||n.subschema({keyword:"patternProperties",schemaProp:m,dataProp:S,dataPropType:$A.Type.Str},u),i.opts.unevaluated&&d!==!0?e.assign((0,Vh._)`${d}[${S}]`,!0):!w&&!i.allErrors&&e.if((0,Vh.not)(u),()=>e.break())})})}}};Bv.default=$W});var qA=E(Uv=>{"use strict";Object.defineProperty(Uv,"__esModule",{value:!0});var LW=ge(),qW={keyword:"not",schemaType:["object","boolean"],trackErrors:!0,code(n){let{gen:e,schema:t,it:r}=n;if((0,LW.alwaysValidSchema)(r,t)){n.fail();return}let s=e.name("valid");n.subschema({keyword:"not",compositeRule:!0,createErrors:!1,allErrors:!1},s),n.failResult(s,()=>n.reset(),()=>n.error())},error:{message:"must NOT be valid"}};Uv.default=qW});var jA=E(Vv=>{"use strict";Object.defineProperty(Vv,"__esModule",{value:!0});var jW=Xn(),FW={keyword:"anyOf",schemaType:"array",trackErrors:!0,code:jW.validateUnion,error:{message:"must match a schema in anyOf"}};Vv.default=FW});var FA=E(Wv=>{"use strict";Object.defineProperty(Wv,"__esModule",{value:!0});var Wh=ce(),BW=ge(),UW={message:"must match exactly one schema in oneOf",params:({params:n})=>(0,Wh._)`{passingSchemas: ${n.passing}}`},VW={keyword:"oneOf",schemaType:"array",trackErrors:!0,error:UW,code(n){let{gen:e,schema:t,parentSchema:r,it:s}=n;if(!Array.isArray(t))throw new Error("ajv implementation error");if(s.opts.discriminator&&r.discriminator)return;let i=t,o=e.let("valid",!1),a=e.let("passing",null),c=e.name("_valid");n.setParams({passing:a}),e.block(l),n.result(o,()=>n.reset(),()=>n.error(!0));function l(){i.forEach((u,d)=>{let f;(0,BW.alwaysValidSchema)(s,u)?e.var(c,!0):f=n.subschema({keyword:"oneOf",schemaProp:d,compositeRule:!0},c),d>0&&e.if((0,Wh._)`${c} && ${o}`).assign(o,!1).assign(a,(0,Wh._)`[${a}, ${d}]`).else(),e.if(c,()=>{e.assign(o,!0),e.assign(a,d),f&&n.mergeEvaluated(f,Wh.Name)})})}}};Wv.default=VW});var BA=E(zv=>{"use strict";Object.defineProperty(zv,"__esModule",{value:!0});var WW=ge(),zW={keyword:"allOf",schemaType:"array",code(n){let{gen:e,schema:t,it:r}=n;if(!Array.isArray(t))throw new Error("ajv implementation error");let s=e.name("valid");t.forEach((i,o)=>{if((0,WW.alwaysValidSchema)(r,i))return;let a=n.subschema({keyword:"allOf",schemaProp:o},s);n.ok(s),n.mergeEvaluated(a)})}};zv.default=zW});var WA=E(Hv=>{"use strict";Object.defineProperty(Hv,"__esModule",{value:!0});var zh=ce(),VA=ge(),HW={message:({params:n})=>(0,zh.str)`must match "${n.ifClause}" schema`,params:({params:n})=>(0,zh._)`{failingKeyword: ${n.ifClause}}`},KW={keyword:"if",schemaType:["object","boolean"],trackErrors:!0,error:HW,code(n){let{gen:e,parentSchema:t,it:r}=n;t.then===void 0&&t.else===void 0&&(0,VA.checkStrictMode)(r,'"if" without "then" and "else" is ignored');let s=UA(r,"then"),i=UA(r,"else");if(!s&&!i)return;let o=e.let("valid",!0),a=e.name("_valid");if(c(),n.reset(),s&&i){let u=e.let("ifClause");n.setParams({ifClause:u}),e.if(a,l("then",u),l("else",u))}else s?e.if(a,l("then")):e.if((0,zh.not)(a),l("else"));n.pass(o,()=>n.error(!0));function c(){let u=n.subschema({keyword:"if",compositeRule:!0,createErrors:!1,allErrors:!1},a);n.mergeEvaluated(u)}function l(u,d){return()=>{let f=n.subschema({keyword:u},a);e.assign(o,a),n.mergeValidEvaluated(f,o),d?e.assign(d,(0,zh._)`${u}`):n.setParams({ifClause:u})}}}};function UA(n,e){let t=n.schema[e];return t!==void 0&&!(0,VA.alwaysValidSchema)(n,t)}Hv.default=KW});var zA=E(Kv=>{"use strict";Object.defineProperty(Kv,"__esModule",{value:!0});var GW=ge(),YW={keyword:["then","else"],schemaType:["object","boolean"],code({keyword:n,parentSchema:e,it:t}){e.if===void 0&&(0,GW.checkStrictMode)(t,`"${n}" without "if" is ignored`)}};Kv.default=YW});var HA=E(Gv=>{"use strict";Object.defineProperty(Gv,"__esModule",{value:!0});var JW=Cv(),XW=EA(),QW=Av(),ZW=kA(),ez=NA(),tz=Fh(),nz=CA(),rz=qv(),sz=IA(),iz=LA(),oz=qA(),az=jA(),cz=FA(),lz=BA(),uz=WA(),dz=zA();function fz(n=!1){let e=[oz.default,az.default,cz.default,lz.default,uz.default,dz.default,nz.default,rz.default,tz.default,sz.default,iz.default];return n?e.push(XW.default,ZW.default):e.push(JW.default,QW.default),e.push(ez.default),e}Gv.default=fz});var KA=E(Yv=>{"use strict";Object.defineProperty(Yv,"__esModule",{value:!0});var bt=ce(),hz={message:({schemaCode:n})=>(0,bt.str)`must match format "${n}"`,params:({schemaCode:n})=>(0,bt._)`{format: ${n}}`},pz={keyword:"format",type:["number","string"],schemaType:"string",$data:!0,error:hz,code(n,e){let{gen:t,data:r,$data:s,schema:i,schemaCode:o,it:a}=n,{opts:c,errSchemaPath:l,schemaEnv:u,self:d}=a;if(!c.validateFormats)return;s?f():p();function f(){let y=t.scopeValue("formats",{ref:d.formats,code:c.code.formats}),m=t.const("fDef",(0,bt._)`${y}[${o}]`),S=t.let("fType"),w=t.let("format");t.if((0,bt._)`typeof ${m} == "object" && !(${m} instanceof RegExp)`,()=>t.assign(S,(0,bt._)`${m}.type || "string"`).assign(w,(0,bt._)`${m}.validate`),()=>t.assign(S,(0,bt._)`"string"`).assign(w,m)),n.fail$data((0,bt.or)(T(),v()));function T(){return c.strictSchema===!1?bt.nil:(0,bt._)`${o} && !${w}`}function v(){let R=u.$async?(0,bt._)`(${m}.async ? await ${w}(${r}) : ${w}(${r}))`:(0,bt._)`${w}(${r})`,A=(0,bt._)`(typeof ${w} == "function" ? ${R} : ${w}.test(${r}))`;return(0,bt._)`${w} && ${w} !== true && ${S} === ${e} && !${A}`}}function p(){let y=d.formats[i];if(!y){T();return}if(y===!0)return;let[m,S,w]=v(y);m===e&&n.pass(R());function T(){if(c.strictSchema===!1){d.logger.warn(A());return}throw new Error(A());function A(){return`unknown format "${i}" ignored in schema at path "${l}"`}}function v(A){let M=A instanceof RegExp?(0,bt.regexpCode)(A):c.code.formats?(0,bt._)`${c.code.formats}${(0,bt.getProperty)(i)}`:void 0,z=t.scopeValue("formats",{key:i,ref:A,code:M});return typeof A=="object"&&!(A instanceof RegExp)?[A.type||"string",A.validate,(0,bt._)`${z}.validate`]:["string",A,z]}function R(){if(typeof y=="object"&&!(y instanceof RegExp)&&y.async){if(!u.$async)throw new Error("async format in sync schema");return(0,bt._)`await ${w}(${r})`}return typeof S=="function"?(0,bt._)`${w}(${r})`:(0,bt._)`${w}.test(${r})`}}}};Yv.default=pz});var GA=E(Jv=>{"use strict";Object.defineProperty(Jv,"__esModule",{value:!0});var mz=KA(),gz=[mz.default];Jv.default=gz});var YA=E(ca=>{"use strict";Object.defineProperty(ca,"__esModule",{value:!0});ca.contentVocabulary=ca.metadataVocabulary=void 0;ca.metadataVocabulary=["title","description","default","deprecated","readOnly","writeOnly","examples"];ca.contentVocabulary=["contentMediaType","contentEncoding","contentSchema"]});var XA=E(Xv=>{"use strict";Object.defineProperty(Xv,"__esModule",{value:!0});var yz=iA(),bz=vA(),vz=HA(),Tz=GA(),JA=YA(),Sz=[yz.default,bz.default,(0,vz.default)(),Tz.default,JA.metadataVocabulary,JA.contentVocabulary];Xv.default=Sz});var Zv=E(gl=>{"use strict";Object.defineProperty(gl,"__esModule",{value:!0});gl.dynamicAnchor=void 0;var Qv=ce(),_z=Jn(),QA=nl(),Ez=Ih(),wz={keyword:"$dynamicAnchor",schemaType:"string",code:n=>ZA(n,n.schema)};function ZA(n,e){let{gen:t,it:r}=n;r.schemaEnv.root.dynamicAnchors[e]=!0;let s=(0,Qv._)`${_z.default.dynamicAnchors}${(0,Qv.getProperty)(e)}`,i=r.errSchemaPath==="#"?r.validateName:kz(n);t.if((0,Qv._)`!${s}`,()=>t.assign(s,i))}gl.dynamicAnchor=ZA;function kz(n){let{schemaEnv:e,schema:t,self:r}=n.it,{root:s,baseId:i,localRefs:o,meta:a}=e.root,{schemaId:c}=r.opts,l=new QA.SchemaEnv({schema:t,schemaId:c,root:s,baseId:i,localRefs:o,meta:a});return QA.compileSchema.call(r,l),(0,Ez.getValidate)(n,l)}gl.default=wz});var eT=E(yl=>{"use strict";Object.defineProperty(yl,"__esModule",{value:!0});yl.dynamicRef=void 0;var eO=ce(),Nz=Jn(),tO=Ih(),Pz={keyword:"$dynamicRef",schemaType:"string",code:n=>nO(n,n.schema)};function nO(n,e){let{gen:t,keyword:r,it:s}=n;if(e[0]!=="#")throw new Error(`"${r}" only supports hash fragment reference`);let i=e.slice(1);if(s.allErrors)o();else{let c=t.let("valid",!1);o(c),n.ok(c)}function o(c){if(s.schemaEnv.root.dynamicAnchors[i]){let l=t.let("_v",(0,eO._)`${Nz.default.dynamicAnchors}${(0,eO.getProperty)(i)}`);t.if(l,a(l,c),a(s.validateName,c))}else a(s.validateName,c)()}function a(c,l){return l?()=>t.block(()=>{(0,tO.callRef)(n,c),t.let(l,!0)}):()=>(0,tO.callRef)(n,c)}}yl.dynamicRef=nO;yl.default=Pz});var rO=E(tT=>{"use strict";Object.defineProperty(tT,"__esModule",{value:!0});var Rz=Zv(),Dz=ge(),Cz={keyword:"$recursiveAnchor",schemaType:"boolean",code(n){n.schema?(0,Rz.dynamicAnchor)(n,""):(0,Dz.checkStrictMode)(n.it,"$recursiveAnchor: false is ignored")}};tT.default=Cz});var sO=E(nT=>{"use strict";Object.defineProperty(nT,"__esModule",{value:!0});var Az=eT(),Oz={keyword:"$recursiveRef",schemaType:"string",code:n=>(0,Az.dynamicRef)(n,n.schema)};nT.default=Oz});var iO=E(rT=>{"use strict";Object.defineProperty(rT,"__esModule",{value:!0});var Iz=Zv(),xz=eT(),Mz=rO(),$z=sO(),Lz=[Iz.default,xz.default,Mz.default,$z.default];rT.default=Lz});var aO=E(sT=>{"use strict";Object.defineProperty(sT,"__esModule",{value:!0});var oO=Fh(),qz={keyword:"dependentRequired",type:"object",schemaType:"object",error:oO.error,code:n=>(0,oO.validatePropertyDeps)(n)};sT.default=qz});var cO=E(iT=>{"use strict";Object.defineProperty(iT,"__esModule",{value:!0});var jz=Fh(),Fz={keyword:"dependentSchemas",type:"object",schemaType:"object",code:n=>(0,jz.validateSchemaDeps)(n)};iT.default=Fz});var lO=E(oT=>{"use strict";Object.defineProperty(oT,"__esModule",{value:!0});var Bz=ge(),Uz={keyword:["maxContains","minContains"],type:"array",schemaType:"number",code({keyword:n,parentSchema:e,it:t}){e.contains===void 0&&(0,Bz.checkStrictMode)(t,`"${n}" without "contains" is ignored`)}};oT.default=Uz});var uO=E(aT=>{"use strict";Object.defineProperty(aT,"__esModule",{value:!0});var Vz=aO(),Wz=cO(),zz=lO(),Hz=[Vz.default,Wz.default,zz.default];aT.default=Hz});var fO=E(cT=>{"use strict";Object.defineProperty(cT,"__esModule",{value:!0});var Js=ce(),dO=ge(),Kz=Jn(),Gz={message:"must NOT have unevaluated properties",params:({params:n})=>(0,Js._)`{unevaluatedProperty: ${n.unevaluatedProperty}}`},Yz={keyword:"unevaluatedProperties",type:"object",schemaType:["boolean","object"],trackErrors:!0,error:Gz,code(n){let{gen:e,schema:t,data:r,errsCount:s,it:i}=n;if(!s)throw new Error("ajv implementation error");let{allErrors:o,props:a}=i;a instanceof Js.Name?e.if((0,Js._)`${a} !== true`,()=>e.forIn("key",r,d=>e.if(l(a,d),()=>c(d)))):a!==!0&&e.forIn("key",r,d=>a===void 0?c(d):e.if(u(a,d),()=>c(d))),i.props=!0,n.ok((0,Js._)`${s} === ${Kz.default.errors}`);function c(d){if(t===!1){n.setParams({unevaluatedProperty:d}),n.error(),o||e.break();return}if(!(0,dO.alwaysValidSchema)(i,t)){let f=e.name("valid");n.subschema({keyword:"unevaluatedProperties",dataProp:d,dataPropType:dO.Type.Str},f),o||e.if((0,Js.not)(f),()=>e.break())}}function l(d,f){return(0,Js._)`!${d} || !${d}[${f}]`}function u(d,f){let p=[];for(let y in d)d[y]===!0&&p.push((0,Js._)`${f} !== ${y}`);return(0,Js.and)(...p)}}};cT.default=Yz});var pO=E(lT=>{"use strict";Object.defineProperty(lT,"__esModule",{value:!0});var $i=ce(),hO=ge(),Jz={message:({params:{len:n}})=>(0,$i.str)`must NOT have more than ${n} items`,params:({params:{len:n}})=>(0,$i._)`{limit: ${n}}`},Xz={keyword:"unevaluatedItems",type:"array",schemaType:["boolean","object"],error:Jz,code(n){let{gen:e,schema:t,data:r,it:s}=n,i=s.items||0;if(i===!0)return;let o=e.const("len",(0,$i._)`${r}.length`);if(t===!1)n.setParams({len:i}),n.fail((0,$i._)`${o} > ${i}`);else if(typeof t=="object"&&!(0,hO.alwaysValidSchema)(s,t)){let c=e.var("valid",(0,$i._)`${o} <= ${i}`);e.if((0,$i.not)(c),()=>a(c,i)),n.ok(c)}s.items=!0;function a(c,l){e.forRange("i",l,o,u=>{n.subschema({keyword:"unevaluatedItems",dataProp:u,dataPropType:hO.Type.Num},c),s.allErrors||e.if((0,$i.not)(c),()=>e.break())})}}};lT.default=Xz});var mO=E(uT=>{"use strict";Object.defineProperty(uT,"__esModule",{value:!0});var Qz=fO(),Zz=pO(),eH=[Qz.default,Zz.default];uT.default=eH});var yO=E(Hh=>{"use strict";Object.defineProperty(Hh,"__esModule",{value:!0});Hh.DiscrError=void 0;var gO;(function(n){n.Tag="tag",n.Mapping="mapping"})(gO||(Hh.DiscrError=gO={}))});var vO=E(fT=>{"use strict";Object.defineProperty(fT,"__esModule",{value:!0});var la=ce(),dT=yO(),bO=nl(),tH=tl(),nH=ge(),rH={message:({params:{discrError:n,tagName:e}})=>n===dT.DiscrError.Tag?`tag "${e}" must be string`:`value of tag "${e}" must be in oneOf`,params:({params:{discrError:n,tag:e,tagName:t}})=>(0,la._)`{error: ${n}, tag: ${t}, tagValue: ${e}}`},sH={keyword:"discriminator",type:"object",schemaType:"object",error:rH,code(n){let{gen:e,data:t,schema:r,parentSchema:s,it:i}=n,{oneOf:o}=s;if(!i.opts.discriminator)throw new Error("discriminator: requires discriminator option");let a=r.propertyName;if(typeof a!="string")throw new Error("discriminator: requires propertyName");if(r.mapping)throw new Error("discriminator: mapping is not supported");if(!o)throw new Error("discriminator: requires oneOf keyword");let c=e.let("valid",!1),l=e.const("tag",(0,la._)`${t}${(0,la.getProperty)(a)}`);e.if((0,la._)`typeof ${l} == "string"`,()=>u(),()=>n.error(!1,{discrError:dT.DiscrError.Tag,tag:l,tagName:a})),n.ok(c);function u(){let p=f();e.if(!1);for(let y in p)e.elseIf((0,la._)`${l} === ${y}`),e.assign(c,d(p[y]));e.else(),n.error(!1,{discrError:dT.DiscrError.Mapping,tag:l,tagName:a}),e.endIf()}function d(p){let y=e.name("valid"),m=n.subschema({keyword:"oneOf",schemaProp:p},y);return n.mergeEvaluated(m,la.Name),y}function f(){var p;let y={},m=w(s),S=!0;for(let R=0;R<o.length;R++){let A=o[R];if(A?.$ref&&!(0,nH.schemaHasRulesButRef)(A,i.self.RULES)){let z=A.$ref;if(A=bO.resolveRef.call(i.self,i.schemaEnv.root,i.baseId,z),A instanceof bO.SchemaEnv&&(A=A.schema),A===void 0)throw new tH.default(i.opts.uriResolver,i.baseId,z)}let M=(p=A?.properties)===null||p===void 0?void 0:p[a];if(typeof M!="object")throw new Error(`discriminator: oneOf subschemas (or referenced schemas) must have "properties/${a}"`);S=S&&(m||w(A)),T(M,R)}if(!S)throw new Error(`discriminator: "${a}" must be required`);return y;function w({required:R}){return Array.isArray(R)&&R.includes(a)}function T(R,A){if(R.const)v(R.const,A);else if(R.enum)for(let M of R.enum)v(M,A);else throw new Error(`discriminator: "properties/${a}" must have "const" or "enum"`)}function v(R,A){if(typeof R!="string"||R in y)throw new Error(`discriminator: "${a}" values must be unique strings`);y[R]=A}}}};fT.default=sH});var TO=E((Jne,iH)=>{iH.exports={$schema:"https://json-schema.org/draft/2019-09/schema",$id:"https://json-schema.org/draft/2019-09/schema",$vocabulary:{"https://json-schema.org/draft/2019-09/vocab/core":!0,"https://json-schema.org/draft/2019-09/vocab/applicator":!0,"https://json-schema.org/draft/2019-09/vocab/validation":!0,"https://json-schema.org/draft/2019-09/vocab/meta-data":!0,"https://json-schema.org/draft/2019-09/vocab/format":!1,"https://json-schema.org/draft/2019-09/vocab/content":!0},$recursiveAnchor:!0,title:"Core and Validation specifications meta-schema",allOf:[{$ref:"meta/core"},{$ref:"meta/applicator"},{$ref:"meta/validation"},{$ref:"meta/meta-data"},{$ref:"meta/format"},{$ref:"meta/content"}],type:["object","boolean"],properties:{definitions:{$comment:"While no longer an official keyword as it is replaced by $defs, this keyword is retained in the meta-schema to prevent incompatible extensions as it remains in common use.",type:"object",additionalProperties:{$recursiveRef:"#"},default:{}},dependencies:{$comment:'"dependencies" is no longer a keyword, but schema authors should avoid redefining it to facilitate a smooth transition to "dependentSchemas" and "dependentRequired"',type:"object",additionalProperties:{anyOf:[{$recursiveRef:"#"},{$ref:"meta/validation#/$defs/stringArray"}]}}}}});var SO=E((Xne,oH)=>{oH.exports={$schema:"https://json-schema.org/draft/2019-09/schema",$id:"https://json-schema.org/draft/2019-09/meta/applicator",$vocabulary:{"https://json-schema.org/draft/2019-09/vocab/applicator":!0},$recursiveAnchor:!0,title:"Applicator vocabulary meta-schema",type:["object","boolean"],properties:{additionalItems:{$recursiveRef:"#"},unevaluatedItems:{$recursiveRef:"#"},items:{anyOf:[{$recursiveRef:"#"},{$ref:"#/$defs/schemaArray"}]},contains:{$recursiveRef:"#"},additionalProperties:{$recursiveRef:"#"},unevaluatedProperties:{$recursiveRef:"#"},properties:{type:"object",additionalProperties:{$recursiveRef:"#"},default:{}},patternProperties:{type:"object",additionalProperties:{$recursiveRef:"#"},propertyNames:{format:"regex"},default:{}},dependentSchemas:{type:"object",additionalProperties:{$recursiveRef:"#"}},propertyNames:{$recursiveRef:"#"},if:{$recursiveRef:"#"},then:{$recursiveRef:"#"},else:{$recursiveRef:"#"},allOf:{$ref:"#/$defs/schemaArray"},anyOf:{$ref:"#/$defs/schemaArray"},oneOf:{$ref:"#/$defs/schemaArray"},not:{$recursiveRef:"#"}},$defs:{schemaArray:{type:"array",minItems:1,items:{$recursiveRef:"#"}}}}});var _O=E((Qne,aH)=>{aH.exports={$schema:"https://json-schema.org/draft/2019-09/schema",$id:"https://json-schema.org/draft/2019-09/meta/content",$vocabulary:{"https://json-schema.org/draft/2019-09/vocab/content":!0},$recursiveAnchor:!0,title:"Content vocabulary meta-schema",type:["object","boolean"],properties:{contentMediaType:{type:"string"},contentEncoding:{type:"string"},contentSchema:{$recursiveRef:"#"}}}});var EO=E((Zne,cH)=>{cH.exports={$schema:"https://json-schema.org/draft/2019-09/schema",$id:"https://json-schema.org/draft/2019-09/meta/core",$vocabulary:{"https://json-schema.org/draft/2019-09/vocab/core":!0},$recursiveAnchor:!0,title:"Core vocabulary meta-schema",type:["object","boolean"],properties:{$id:{type:"string",format:"uri-reference",$comment:"Non-empty fragments not allowed.",pattern:"^[^#]*#?$"},$schema:{type:"string",format:"uri"},$anchor:{type:"string",pattern:"^[A-Za-z][-A-Za-z0-9.:_]*$"},$ref:{type:"string",format:"uri-reference"},$recursiveRef:{type:"string",format:"uri-reference"},$recursiveAnchor:{type:"boolean",default:!1},$vocabulary:{type:"object",propertyNames:{type:"string",format:"uri"},additionalProperties:{type:"boolean"}},$comment:{type:"string"},$defs:{type:"object",additionalProperties:{$recursiveRef:"#"},default:{}}}}});var wO=E((ere,lH)=>{lH.exports={$schema:"https://json-schema.org/draft/2019-09/schema",$id:"https://json-schema.org/draft/2019-09/meta/format",$vocabulary:{"https://json-schema.org/draft/2019-09/vocab/format":!0},$recursiveAnchor:!0,title:"Format vocabulary meta-schema",type:["object","boolean"],properties:{format:{type:"string"}}}});var kO=E((tre,uH)=>{uH.exports={$schema:"https://json-schema.org/draft/2019-09/schema",$id:"https://json-schema.org/draft/2019-09/meta/meta-data",$vocabulary:{"https://json-schema.org/draft/2019-09/vocab/meta-data":!0},$recursiveAnchor:!0,title:"Meta-data vocabulary meta-schema",type:["object","boolean"],properties:{title:{type:"string"},description:{type:"string"},default:!0,deprecated:{type:"boolean",default:!1},readOnly:{type:"boolean",default:!1},writeOnly:{type:"boolean",default:!1},examples:{type:"array",items:!0}}}});var NO=E((nre,dH)=>{dH.exports={$schema:"https://json-schema.org/draft/2019-09/schema",$id:"https://json-schema.org/draft/2019-09/meta/validation",$vocabulary:{"https://json-schema.org/draft/2019-09/vocab/validation":!0},$recursiveAnchor:!0,title:"Validation vocabulary meta-schema",type:["object","boolean"],properties:{multipleOf:{type:"number",exclusiveMinimum:0},maximum:{type:"number"},exclusiveMaximum:{type:"number"},minimum:{type:"number"},exclusiveMinimum:{type:"number"},maxLength:{$ref:"#/$defs/nonNegativeInteger"},minLength:{$ref:"#/$defs/nonNegativeIntegerDefault0"},pattern:{type:"string",format:"regex"},maxItems:{$ref:"#/$defs/nonNegativeInteger"},minItems:{$ref:"#/$defs/nonNegativeIntegerDefault0"},uniqueItems:{type:"boolean",default:!1},maxContains:{$ref:"#/$defs/nonNegativeInteger"},minContains:{$ref:"#/$defs/nonNegativeInteger",default:1},maxProperties:{$ref:"#/$defs/nonNegativeInteger"},minProperties:{$ref:"#/$defs/nonNegativeIntegerDefault0"},required:{$ref:"#/$defs/stringArray"},dependentRequired:{type:"object",additionalProperties:{$ref:"#/$defs/stringArray"}},const:!0,enum:{type:"array",items:!0},type:{anyOf:[{$ref:"#/$defs/simpleTypes"},{type:"array",items:{$ref:"#/$defs/simpleTypes"},minItems:1,uniqueItems:!0}]}},$defs:{nonNegativeInteger:{type:"integer",minimum:0},nonNegativeIntegerDefault0:{$ref:"#/$defs/nonNegativeInteger",default:0},simpleTypes:{enum:["array","boolean","integer","null","number","object","string"]},stringArray:{type:"array",items:{type:"string"},uniqueItems:!0,default:[]}}}});var PO=E(hT=>{"use strict";Object.defineProperty(hT,"__esModule",{value:!0});var fH=TO(),hH=SO(),pH=_O(),mH=EO(),gH=wO(),yH=kO(),bH=NO(),vH=["/properties"];function TH(n){return[fH,hH,pH,mH,e(this,gH),yH,e(this,bH)].forEach(t=>this.addMetaSchema(t,void 0,!1)),this;function e(t,r){return n?t.$dataMetaSchema(r,vH):r}}hT.default=TH});var RO=E((st,mT)=>{"use strict";Object.defineProperty(st,"__esModule",{value:!0});st.MissingRefError=st.ValidationError=st.CodeGen=st.Name=st.nil=st.stringify=st.str=st._=st.KeywordCxt=st.Ajv2019=void 0;var SH=eA(),_H=XA(),EH=iO(),wH=uO(),kH=mO(),NH=vO(),PH=PO(),pT="https://json-schema.org/draft/2019-09/schema",ua=class extends SH.default{constructor(e={}){super({...e,dynamicRef:!0,next:!0,unevaluated:!0})}_addVocabularies(){super._addVocabularies(),this.addVocabulary(EH.default),_H.default.forEach(e=>this.addVocabulary(e)),this.addVocabulary(wH.default),this.addVocabulary(kH.default),this.opts.discriminator&&this.addKeyword(NH.default)}_addDefaultMetaSchema(){super._addDefaultMetaSchema();let{$data:e,meta:t}=this.opts;t&&(PH.default.call(this,e),this.refs["http://json-schema.org/schema"]=pT)}defaultMeta(){return this.opts.defaultMeta=super.defaultMeta()||(this.getSchema(pT)?pT:void 0)}};st.Ajv2019=ua;mT.exports=st=ua;mT.exports.Ajv2019=ua;Object.defineProperty(st,"__esModule",{value:!0});st.default=ua;var RH=el();Object.defineProperty(st,"KeywordCxt",{enumerable:!0,get:function(){return RH.KeywordCxt}});var da=ce();Object.defineProperty(st,"_",{enumerable:!0,get:function(){return da._}});Object.defineProperty(st,"str",{enumerable:!0,get:function(){return da.str}});Object.defineProperty(st,"stringify",{enumerable:!0,get:function(){return da.stringify}});Object.defineProperty(st,"nil",{enumerable:!0,get:function(){return da.nil}});Object.defineProperty(st,"Name",{enumerable:!0,get:function(){return da.Name}});Object.defineProperty(st,"CodeGen",{enumerable:!0,get:function(){return da.CodeGen}});var DH=kh();Object.defineProperty(st,"ValidationError",{enumerable:!0,get:function(){return DH.default}});var CH=tl();Object.defineProperty(st,"MissingRefError",{enumerable:!0,get:function(){return CH.default}})});var Xe=K(ak());var td=class n{constructor(e,t,r,s){this._uri=e,this._languageId=t,this._version=r,this._content=s,this._lineOffsets=void 0}get uri(){return this._uri}get languageId(){return this._languageId}get version(){return this._version}getText(e){if(e){let t=this.offsetAt(e.start),r=this.offsetAt(e.end);return this._content.substring(t,r)}return this._content}update(e,t){for(let r of e)if(n.isIncremental(r)){let s=lk(r.range),i=this.offsetAt(s.start),o=this.offsetAt(s.end);this._content=this._content.substring(0,i)+r.text+this._content.substring(o,this._content.length);let a=Math.max(s.start.line,0),c=Math.max(s.end.line,0),l=this._lineOffsets,u=ck(r.text,!1,i);if(c-a===u.length)for(let f=0,p=u.length;f<p;f++)l[f+a+1]=u[f];else u.length<1e4?l.splice(a+1,c-a,...u):this._lineOffsets=l=l.slice(0,a+1).concat(u,l.slice(c+1));let d=r.text.length-(o-i);if(d!==0)for(let f=a+1+u.length,p=l.length;f<p;f++)l[f]=l[f]+d}else if(n.isFull(r))this._content=r.text,this._lineOffsets=void 0;else throw new Error("Unknown change event received");this._version=t}getLineOffsets(){return this._lineOffsets===void 0&&(this._lineOffsets=ck(this._content,!0)),this._lineOffsets}positionAt(e){e=Math.max(Math.min(e,this._content.length),0);let t=this.getLineOffsets(),r=0,s=t.length;if(s===0)return{line:0,character:e};for(;r<s;){let o=Math.floor((r+s)/2);t[o]>e?s=o:r=o+1}let i=r-1;return{line:i,character:e-t[i]}}offsetAt(e){let t=this.getLineOffsets();if(e.line>=t.length)return this._content.length;if(e.line<0)return 0;let r=t[e.line],s=e.line+1<t.length?t[e.line+1]:this._content.length;return Math.max(Math.min(r+e.character,s),r)}get lineCount(){return this.getLineOffsets().length}static isIncremental(e){let t=e;return t!=null&&typeof t.text=="string"&&t.range!==void 0&&(t.rangeLength===void 0||typeof t.rangeLength=="number")}static isFull(e){let t=e;return t!=null&&typeof t.text=="string"&&t.range===void 0&&t.rangeLength===void 0}},nd;(function(n){function e(s,i,o,a){return new td(s,i,o,a)}n.create=e;function t(s,i,o){if(s instanceof td)return s.update(i,o),s;throw new Error("TextDocument.update: document must be created by TextDocument.create")}n.update=t;function r(s,i){let o=s.getText(),a=tg(i.map(AM),(u,d)=>{let f=u.range.start.line-d.range.start.line;return f===0?u.range.start.character-d.range.start.character:f}),c=0,l=[];for(let u of a){let d=s.offsetAt(u.range.start);if(d<c)throw new Error("Overlapping edit");d>c&&l.push(o.substring(c,d)),u.newText.length&&l.push(u.newText),c=s.offsetAt(u.range.end)}return l.push(o.substr(c)),l.join("")}n.applyEdits=r})(nd||(nd={}));function tg(n,e){if(n.length<=1)return n;let t=n.length/2|0,r=n.slice(0,t),s=n.slice(t);tg(r,e),tg(s,e);let i=0,o=0,a=0;for(;i<r.length&&o<s.length;)e(r[i],s[o])<=0?n[a++]=r[i++]:n[a++]=s[o++];for(;i<r.length;)n[a++]=r[i++];for(;o<s.length;)n[a++]=s[o++];return n}function ck(n,e,t=0){let r=e?[t]:[];for(let s=0;s<n.length;s++){let i=n.charCodeAt(s);(i===13||i===10)&&(i===13&&s+1<n.length&&n.charCodeAt(s+1)===10&&s++,r.push(t+s+1))}return r}function lk(n){let e=n.start,t=n.end;return e.line>t.line||e.line===t.line&&e.character>t.character?{start:t,end:e}:n}function AM(n){let e=lk(n.range);return e!==n.range?{newText:n.newText,range:e}:n}var rd=["namespace","class","enum","interface","struct","typeParameter","type","parameter","variable","property","enumMember","decorator","event","function","method","macro","label","comment","string","keyword","number","regexp","operator"],sd=["declaration","definition","readonly","static","deprecated","abstract","async","modification","documentation","defaultLibrary"];var ad=K(X());var ng=K(require("url")),uk=require("crypto"),dk=require("path"),li=(n,e,t=!0,r=!0)=>({start:{line:n?.pos.line??0,character:t?n?.pos.col??0:(n?.pos.col??0)+(n?.pos.len??0)},end:{line:e?.pos.line??0,character:r?(e?.pos.col??0)+(e?.pos.len??0):e?.pos.col??0}});var Z=n=>li(n.tokenIndexes.start,n.tokenIndexes.end),fk=" ",hk=n=>{fk=n},mo=()=>fk,ui=n=>rd.findIndex(e=>e===n),di=n=>sd.findIndex(e=>e===n),rg=(n,e,t)=>!le(n.uri,e)||t.line<n.pos.line?!1:t.line>n.pos.line?!0:t.character>n.pos.colEnd,OM=(n,e,t)=>le(n.uri,e)?t.line<n.pos.line?!0:t.line>n.pos.line?!1:t.character<n.pos.col:!1,On=(n,e,t)=>!!(le(n.uri,e)&&n.tokenIndexes?.start&&n.tokenIndexes?.end&&(n.tokenIndexes.start.pos.line<t.line||n.tokenIndexes.start.pos.line===t.line&&n.tokenIndexes.start.pos.col<=t.character)&&(n.tokenIndexes.end.pos.line>t.line||n.tokenIndexes.end.pos.line===t.line&&n.tokenIndexes.end.pos.colEnd>=t.character)),pk=(n,e,t)=>!!(le(n.uri,e)&&n.lastToken.value!==";"&&n.tokenIndexes?.start&&n.tokenIndexes?.end&&(n.tokenIndexes.start.pos.line===t.line||n.tokenIndexes.end.pos.line===t.line)&&t.character>=n.tokenIndexes.end.pos.colEnd),mk=(n,e,t)=>{if(!n)return!1;let s=n.filter(i=>i.pos.line===t.line).at(-1);return s&&s.pos.col>=t.character?!1:e.tokenIndexes?.end===s};var Pr=(n,e,t)=>{let r=n,s=n;for(;s;)r=s,s=[...r.children].reverse().find(i=>On(i,e,t));return r},$a=(n,e,t)=>{let r=n,s=n;for(;s;)r=s,s=[...r.children].find(i=>OM(i.lastToken,e,t));return r===n?void 0:r},La=(n,e,t)=>{let r=n,s=n;for(;s;)r=s,s=[...r.children].reverse().find(i=>rg(i.firstToken,e,t));return r===n?void 0:r},V=(n,e,t=ad.DiagnosticSeverity.Error,r=[],s=void 0,i=[],o,a)=>{let c={issues:Array.isArray(n)?n:[n],astElement:e,severity:t,linkedTo:r,tags:s,templateStrings:i,edit:o,codeActionTitle:a},l,u=()=>(l??={severity:c.severity,range:Z(c.astElement),message:c.issues?c.issues.map(xM).join(" or "):"",source:"devicetree",tags:c.tags,data:{firstToken:{pos:c.astElement.firstToken.pos,tokens:c.astElement.firstToken.tokens,value:c.astElement.firstToken.value},lastToken:{pos:c.astElement.lastToken.pos,tokens:c.astElement.lastToken.tokens,value:c.astElement.lastToken.value},issues:{type:"SyntaxIssue",items:c.issues,edit:c.edit,codeActionTitle:c.codeActionTitle}}},l);return c.astElement.issues.push(u),{raw:c,diagnostic:u}},Ot=(n,e,t=ad.DiagnosticSeverity.Error,r=[],s=void 0,i=[],o,a)=>{let c={issues:Array.isArray(n)?n:[n],astElement:e,severity:t,linkedTo:r,tags:s,templateStrings:i,edit:o,codeActionTitle:a},l,u=()=>(l??={severity:c.severity,range:Z(c.astElement),message:MM(c),source:"devicetree",tags:c.tags,relatedInformation:[...c.linkedTo.map(d=>({message:c.issues.map($M).join(" or "),location:{uri:de(d.uri),range:Z(d)}}))]},l);return c.astElement.issues.push(u),{raw:c,diagnostic:u}},F=(n,e,t=ad.DiagnosticSeverity.Error,r=[],s=void 0,i=[],o,a)=>{let c={issues:Array.isArray(n)?n:[n],astElement:e,severity:t,linkedTo:r,tags:s,templateStrings:i,edit:o,codeActionTitle:a},l,u=()=>(l??={severity:c.severity,range:Z(c.astElement),message:LM(c),relatedInformation:[...c.linkedTo.map(d=>({message:c.issues.map(qM).join(" or "),location:{uri:de(d.uri),range:Z(d)}}))],source:"devicetree",tags:c.tags,data:{firstToken:{pos:c.astElement.firstToken.pos,tokens:c.astElement.firstToken.tokens,value:c.astElement.firstToken.value},lastToken:{pos:c.astElement.lastToken.pos,tokens:c.astElement.lastToken.tokens,value:c.astElement.lastToken.value},issues:{type:"StandardTypeIssue",items:c.issues,edit:c.edit,codeActionTitle:c.codeActionTitle}}},l);return c.astElement.issues.push(u),{raw:c,diagnostic:u}},gk=(n,e)=>[...n].sort((r,s)=>{let i=e.getSortKey(r),o=e.getSortKey(s);if(i===void 0||o===void 0)throw new Error("Sort keys must be set");if(i!==o)return i-o;if(!r.tokenIndexes?.end||!s.tokenIndexes?.end)throw new Error("Must have token indexes");return r.tokenIndexes.end.pos.line!==s.tokenIndexes.end.pos.line?r.tokenIndexes.end.pos.line-s.tokenIndexes.end.pos.line:r.tokenIndexes.end.pos.col-s.tokenIndexes.end.pos.col});async function Nt(n,e,t){let r=tt(n.textDocument.uri);if(!e)return[];console.time("search");let i=(await e.getRuntime()).getDeepestAstNode(r,n.position),o=e.getSortKey(i?.ast);return console.timeEnd("search"),t(i,c=>{let l=n.position;return le(c.uri,r)?!!(c.tokenIndexes?.end&&(c.tokenIndexes.end.pos.line<l.line||c.tokenIndexes.end.pos.line===l.line&&c.tokenIndexes.end.pos.colEnd<=l.character)):o!==void 0&&(e.getSortKey(c)??-1)<=o})}function H(n,e){return{start:n,end:e??n}}var $=(n,e)=>n?.tokens.some(t=>t===e),et=n=>e=>e?.value&&n===e.value?"yes":IM(n)(e),De=n=>e=>e?.tokens.some(t=>t===n)?"yes":"no",IM=n=>e=>e?.value&&n.startsWith(e.value)?"partial":"no",Rr=(n,e)=>!!n&&!!e&&n.pos.line===e.pos.line&&le(n.uri,e.uri),an=(n,e)=>!!n&&!!e&&Rr(n,e)&&n.pos.colEnd===e.pos.col,cd=n=>n.map((e,t)=>({index:t,context:e,files:e.getContextFiles()})),cr=(n,e,t,r)=>{if("id"in e){let i=n?.find(o=>o.id===e.id);return i||void 0}if("name"in e){let i=n?.find(o=>o.ctxNames.includes(e.name));return i||void 0}return t?.getContextFiles().find(i=>le(i,e.uri))?t:cd(n).sort(i=>i.context.id===r?-1:0).find(i=>i.files.some(o=>le(o,e.uri)))?.context},sg=(n,e)=>cd(n).filter(r=>r.files.some(s=>le(s,e))).map(r=>r.context),yk=n=>{let e=/^(\w+)\s+(.+)$/,t=/^(\w+)\(([^)]*)\)\s+(.+)$/,r=/^(\w+)\(([^)]*),\s*\.\.\.\)\s+(.+)$/,s;if(s=r.exec(n)){let[,,i,o]=s,a=i.split(",").map(c=>c.trim());return(...c)=>{let l=o;return a.forEach((u,d)=>{let f=new RegExp(`\\b${u}\\b`,"g");l=l.replace(f,c[d])}),l=l.replace(/__VA_ARGS__/g,c.slice(a.length).join(", ")),l}}else if(s=t.exec(n)){let[,,i,o]=s,a=i.split(",").map(c=>c.trim());return(...c)=>{let l=o;return a.forEach((u,d)=>{let f=new RegExp(`\\b${u}\\b`,"g");l=l.replace(f,c[d])}),l}}else if(s=e.exec(n)){let[,,i]=s;return i.trim()}},bk=(n,e)=>{let t=o=>o.replace(/(\w+)\s*##\s*(\w+)/g,(a,c,l)=>c+l),r=o=>o.replace(/#(\w+)/g,(a,c)=>`"${c}"`),s=n,i;do i=s,s=t(i),s=r(s),s=s.replace(/\b(\w+)\(([^)]*)\)|\b(\w+)\b/g,(o,a,c,l)=>{if(a==="defined"){let u=c.split(",").map(d=>d.trim());return u[0]?e.get(u[0])?.resolver:u}else if(a&&typeof e.get(a)?.resolver=="function"){let u=c.split(",").map(d=>d.trim());return(e.get(a)?.resolver)(...u)}else if(l&&typeof e.get(l)?.resolver=="string")return e.get(l)?.resolver;return o});while(s!==i);return s},de=n=>ng.default.pathToFileURL(n).toString(),tt=n=>Je(ng.default.fileURLToPath(n)),le=(n,e)=>!n||!e?!1:n===e,Je=n=>(0,dk.normalize)(process.platform==="win32"?n.toLowerCase():n),Jr=n=>(0,uk.createHash)("sha256").update([Je(n.dtsFile),...n.includePaths.map(Je),...n.overlays.map(Je),n.bindingType,...n.zephyrBindings.map(Je),...n.deviceOrgBindingsMetaSchema.map(Je),...n.deviceOrgTreeBindings.map(Je)].join(":")).digest("hex"),xM=n=>{switch(n){case 0:return"Expected value";case 1:return"Expected ';'";case 2:return"Expected '{'";case 3:return"Expected '}'";case 4:return"Expected '['";case 5:return"Expected ']'";case 12:return"Expected '>'";case 13:return"Expected '<'";case 16:return`Expected '"'`;case 17:return`Expected "'"\\`;case 24:return"Missing ':'";case 21:return"Missing '/'";case 26:return'Expected ")"';case 28:return'Missing ","';case 6:return"Expected property name";case 7:return"Expected node name";case 8:return"Expected node address";case 9:return"Expected node path";case 10:return"Expected node reference";case 11:return"Expected root node name";case 14:return"Expected bytestring";case 15:return"Expected two digits for each byte in bytestring";case 20:return"Hex values are not allowed";case 18:return"Expected label name";case 19:return"Expected '/' at the start of a node path";case 23:return"Found ';' without a statement";case 25:return"Did you mean /delete-node/ or /delete-property/?";case 34:return"Did you mean /delete-node/?";case 35:return"Did you mean /delete-property/?";case 22:return"Unknown syntax";case 27:return"Expected expression";case 31:return"Expected macro identifier";case 30:return"Expected macro identifier or function like macro";case 29:return"White space is not allowed";case 32:return"Properties can only be defined in a node";case 33:return"Properties can only be deleted inside a node";case 36:return"Unable to resolve include";case 37:return"Expected start address";case 38:return"Expected end address";case 39:case 40:return"Expected 8|16|32|64";case 42:return"Unknown macro name";case 43:return"Expected function like macro";case 44:return"Macro expects less arguments";case 45:return"Macro expects more arguments";case 46:return"Missing #ENDIF";case 47:return"Block Unused";case 41:return"This syntax is not officially part of the DTS V0.4 standard"}},MM=n=>n.issues.map(e=>{switch(e){case 0:return`Property "${n.templateStrings[0]}" is replaced by a later definition`;case 1:return"Cannot delete a property before it has been defined";case 2:return"Node name already defined";case 5:return"Cannot delete a node before it has been defined";case 3:return`No node with that reference "${n.templateStrings[0]}" has been defined`;case 8:return`No node with name "${n.templateStrings[0]}" could be found in "/${n.templateStrings[1]}".`;case 4:return`Label name "${n.templateStrings[0]}" already defined`;case 6:return`Property "${n.templateStrings[0]}" was deleted`;case 7:return`Node "${n.templateStrings[0]}" was deleted`;case 9:return`The following node "${n.templateStrings[1]}" shall be present in "${n.templateStrings[0]}" node.`}}).join(" or "),$M=n=>{switch(n){case 0:return"Property name already defined.";case 2:return"Defined here";case 4:return"Defined here";case 7:case 6:return"Deleted here";case 9:return"Node";default:return"TODO"}},LM=n=>n.issues.map(e=>{switch(e){case 9:return`Only these value are allowed ${n.templateStrings[0]}`;case 1:return"INTRO should be empty";case 8:return"INTRO can only be assigned one value";case 5:return"INTRO should be assigned a U32";case 6:return"INTRO should be assigned a U64";case 7:return"INTRO should be assigned a 'property encoded array'";case 2:return"INTRO should be assigned a string";case 3:return"INTRO should be assigned a string list";case 4:return`INTRO expects ${n.templateStrings[1]} values`;case 0:return"INTRO is required";case 11:return"INTRO should be omitted";case 28:return"INTRO name is not permitted under this node";case 10:return"INTRO address value must match node address";case 12:return"INTRO should be 'cpu'";case 13:return"INTRO should be 'memory'";case 14:return"INTRO is deprecated and should not be used'";case 15:return`INTRO ${n.templateStrings[1]}'`;case 19:return"INTRO value must be unique in the entire Devicetree";case 20:return`INTRO should have format ${n.templateStrings[1]}`;case 16:return`INTRO requires property "${n.templateStrings[1]}" in node path "${n.templateStrings[2]}"`;case 18:return"Unable to resolve interrupt parent node";case 17:return`INTRO expects ${n.templateStrings[1]} interrupt cells`;case 21:return`INTRO should have format ${n.templateStrings[1]}`;case 22:return"Node is disabled";case 23:return"Unable to resolve handle";case 24:return`Unable to find "${n.templateStrings[0]}" in ${n.templateStrings[1]}`;case 25:return n.templateStrings[0];case 26:return n.templateStrings[0];case 27:return n.templateStrings[0];case 29:return n.templateStrings[0];case 31:return`INTRO exceeds address space of this node. Range: ${n.templateStrings[1]}-${n.templateStrings[2]}, reg: ${n.templateStrings[3]}-${n.templateStrings[4]}`;case 30:return`INTRO exceeds address space avalable for this mapping. The range ends at ${n.templateStrings[1]}, the node ends at ${n.templateStrings[2]}`;case 32:return`Range overlaps with other range on ${n.templateStrings[0]} address range`}}).join(" or ").replace("INTRO",`Property "${n.templateStrings[0]}"`).replaceAll("INTRO ",""),qM=n=>{switch(n){case 16:case 0:return"Node";case 17:return"Property";case 15:return"Ignored reason";case 19:return"Conflicting properties";case 8:return"Additional value";case 22:return"Disabled by";case 31:return"Address space";case 30:return"Mapping range";case 32:return"Overlapping range";default:return"TODO"}},Ft=(n,e)=>{let t=Math.max(n.length,e.length);for(let r=0;r<t;r++){let s=n[n.length-t+r]??0,i=e[e.length-t+r]??0;if(s<i)return-1;if(s>i)return 1}return 0},An=(n,e)=>{let t=Math.max(n.length,e.length),r=new Array(t).fill(0),s=0;for(let i=0;i<t;i++){let o=n[n.length-1-i]??0,a=e[e.length-1-i]??0,c=o+a+s;r[t-1-i]=c>>>0,s=c>4294967295?1:0}return s&&r.unshift(1),r},jM=(n,e)=>{let t=Math.max(n.length,e.length),r=new Array(t).fill(0),s=0;for(let i=0;i<t;i++){let o=n[n.length-1-i]??0,a=e[e.length-1-i]??0;o-=s,o<a?(o+=4294967296,s=1):s=0,r[t-1-i]=o-a>>>0}for(;r.length>1&&r[0]===0;)r.shift();return r},FM=(n,e)=>An(n,e),vk=(n,e)=>{for(let t of n){let r=t.childAddress,s=t.length,i=An(r,s);if(Ft(e,r)>=0&&Ft(e,i)<0){let o=jM(e,r),a=t.parentAddress,c=FM(a,o),l=An(a,s);return{start:c,end:l,ast:t.ast}}}return null},ld=n=>{let e=[];for(let t=0;t<n.length;t++)for(let r=t+1;r<n.length;r++){let s=n[t],i=n[r],o=s.childAddress,a=An(o,s.length),c=i.childAddress,l=An(c,i.length),u=s.parentAddress,d=An(u,s.length),f=i.parentAddress,p=An(f,i.length),y=Ft(o,l)<0&&Ft(c,a)<0,m=Ft(u,p)<0&&Ft(f,d)<0;(y||m)&&e.push({mappingA:s,mappingB:i,overlapOn:y&&m?"child and parent":y?"child":"parent"})}return e};var Xt=class{constructor(e,t,r){this.uri=e;this.range=t;this.issues=r}},ud=class extends Xt{constructor(t,r,s,i){super(r,s,i);this.value=t;this.type="STRING"}},dd=class extends Xt{constructor(t,r,s,i){super(r,s,i);this.values=t;this.type="BYTESTRING"}},fd=class extends Xt{constructor(t,r,s,i){super(r,s,i);this.value=t;this.type="ARRAY_VALUE"}},hd=class extends Xt{constructor(t,r,s,i,o){super(s,i,o);this.label=t;this.nodePath=r;this.type="LABEL_REF"}},pd=class extends Xt{constructor(t,r,s,i){super(r,s,i);this.nodePath=t;this.type="NODE_PATH"}},md=class extends Xt{constructor(t,r,s,i,o){super(s,i,o);this.value=t;this.evaluated=r}},gd=class extends md{constructor(t,r,s,i,o){super(t,r,s,i,o);this.type="NUMBER_VALUE"}},yd=class extends md{constructor(t,r,s,i,o){super(t,r,s,i,o);this.type="EXPRESSION"}},bd=class extends Xt{constructor(t,r,s,i){super(r,s,i);this.value=t}},vd=class extends Xt{constructor(t,r,s,i,o){super(s,i,o);this.name=t;this.values=r}},Td=class extends Xt{constructor(t,r,s,i){super(r,s,i);this.address=t}},Sd=class extends Xt{constructor(t,r,s,i,o,a){super(i,o,a);this.fullName=t;this.name=r;this.address=s}},_d=class extends Xt{constructor(t,r,s,i){super(r,s,i);this.name=t}};var qa=class extends Xt{constructor(t,r,s,i,o,a,c){super(o,a,c);this.type=t;this.name=r;this.properties=s;this.nodes=i}},Ed=class extends qa{constructor(e,t,r,s,i,o){super("REF",e,t,r,s,i,o)}},wd=class extends qa{constructor(e,t,r,s,i){super("ROOT",null,e,t,r,s,i)}},kd=class extends qa{constructor(e,t,r,s,i,o){super("CHILD",e,t,r,s,i,o)}};var vn=K(X()),q=class{constructor(e){this._children=[];this.issues=[];this._fisrtToken=e?.start,this._lastToken=e?.end}addIssue(e){this.issues.push(e)}get serializeIssues(){return this.issues.map(e=>e())}get firstToken(){return this._fisrtToken??this._children[0].tokenIndexes.start}set firstToken(e){this._fisrtToken=e}get lastToken(){return this._lastToken??this._children.at(-1)?.lastToken??this.firstToken}set lastToken(e){this._lastToken=e}get uri(){return this.firstToken.uri}getTopMostAstNodeForFile(e){return le(e,this.uri)?[this]:this.children.flatMap(t=>t.getTopMostAstNodeForFile(e))}get tokenIndexes(){return{start:this.firstToken,end:this.lastToken}}getDocumentSymbols(e){if(!this.docSymbolsMeta)return this.children.flatMap(r=>r.getDocumentSymbols(e)??[]);if(!le(this.uri,e))return[];let t=Z(this);return[{name:this.docSymbolsMeta.name?this.docSymbolsMeta.name:"__UNSET__",kind:this.docSymbolsMeta.kind,range:t,selectionRange:t,children:[...this.children.flatMap(r=>r.getDocumentSymbols(e)??[])]}]}getWorkspaceSymbols(){if(!this.docSymbolsMeta)return this.children.flatMap(r=>r.getWorkspaceSymbols()??[]);let e=this.docSymbolsMeta.kind;if(![vn.SymbolKind.File,vn.SymbolKind.Class,vn.SymbolKind.Namespace].some(r=>r===e))return[];let t=Z(this);return[{location:vn.Location.create(de(this.uri),t),name:this.docSymbolsMeta.name?this.docSymbolsMeta.name:"__UNSET__",kind:this.docSymbolsMeta.kind},...this.children.flatMap(r=>r.getWorkspaceSymbols()??[]).filter(r=>r.kind===vn.SymbolKind.File||r.kind===vn.SymbolKind.Class||r.kind===vn.SymbolKind.Namespace)]}buildSemanticTokens(e){this._children.forEach(t=>t.buildSemanticTokens(e)),!(!this.semanticTokenType||!this.semanticTokenModifiers)&&e(ui(this.semanticTokenType),di(this.semanticTokenModifiers),this.tokenIndexes)}get children(){return this._children}get allDescendants(){return this.allDescendantsCache??=[...this._children,...this._children.flatMap(e=>e.allDescendants)],this.allDescendantsCache}addChild(e){e&&(e.parentNode=this,this.children.push(e)),this.allDescendantsCache=void 0}toPrettyString(e){return this.toString()}toString(e){return"TODO"}get range(){return vn.Range.create(vn.Position.create(this.firstToken.pos.line,this.firstToken.pos.col),vn.Position.create(this.lastToken.pos.line,this.lastToken.pos.colEnd))}serialize(e){return new Xt(this.uri,this.range,this.serializeIssues)}};var lr=K(X());var wk=K(X());var Tk=K(X());var Ie=class extends q{constructor(t,r){super(r);this.value=t;this.semanticTokenType="string",this.semanticTokenModifiers="declaration",this.docSymbolsMeta={name:this.value,kind:Tk.SymbolKind.String}}toString(){return`"${this.value.toString()}"`}toJson(){return this.value}serialize(){return new ud(this.value,this.uri,this.range,this.serializeIssues)}};var _k=K(X());var Sk=K(X());function BM(n){return n.replace(/'(.)'/g,(e,t)=>t.charCodeAt(0).toString()).replace(/(0x[a-f\d]+|\d+)[ul]*/gi,"$1")}function ig(n){try{return(0,eval)(BM(n))}catch(e){console.log(e)}return n}var Qt=class extends q{toJson(){return-1}resolve(e){return bk(this.toString(),e)}evaluate(e){return ig(this.resolve(e))}isTrue(e){return ig(`!!(${this.resolve(e)})`)}toPrettyString(e){let t=this.evaluate(e);return`${t.toString()} /* ${this.toString()}${typeof t=="number"?` = 0x${t.toString(16)}`:""} */`}serialize(e){return new yd(this.toString(),this.evaluate(e),this.uri,this.range,this.serializeIssues)}},fi=class extends Qt{constructor(t,r,s){super();this.expression=t;this.wrapped=r;this.join=s;this.addChild(t),s&&(this.addChild(s.operator),this.addChild(s.expression))}addExpression(t,r){this.addChild(t),this.addChild(r)}toString(){let t=this.children.map(r=>r.toString()).join(" ");return this.wrapped?`(${t})`:`${t}`}isTrue(t){let r=`(${this.children.map(s=>s instanceof Qt?s.resolve(t):s.toString()).join(" ")})`;return ig(`!!${r}`)}};var It=class extends Qt{constructor(t,r){super(r);this.value=t;this.docSymbolsMeta={name:this.value.toString(),kind:Sk.SymbolKind.Number},this.semanticTokenType="number",this.semanticTokenModifiers="declaration"}toString(t){return this.value.toString(t)}toJson(){return this.value}toPrettyString(t){let r=this.evaluate(t);return`${r.toString()} /* ${typeof r=="number"?`0x${r.toString(16)}`:""} */`}serialize(){return new gd(this.value.toString(),this.value,this.uri,this.range,this.serializeIssues)}};var St=class extends q{constructor(t){super();this.values=t;this.docSymbolsMeta={name:"Cell Array",kind:_k.SymbolKind.Array},this.values.forEach(r=>this.addChild(r))}toString(){return`<${this.values.map(t=>t.toString()).join(" ")}>`}toPrettyString(t){return`<${this.values.map(r=>r.toPrettyString(t)).join(" ")}>`}toJson(){if(this.values.length===1)return this.values[0].value?.toJson();if(this.values.length===2&&this.values.every(t=>t.value instanceof It)){let t=new ArrayBuffer(8),r=new DataView(t);return this.values.map(s=>s.value.value).forEach((s,i)=>{r.setUint32(i*4,s)}),r.getBigUint64(0)}return this.values.map(t=>t.value?.toJson()??NaN)}serialize(t){let r=this.values.map(s=>s.value?.serialize(t)??null);return new fd(r,this.uri,this.range,this.serializeIssues)}};var Ek=K(X());var Ss=class extends q{constructor(t){super();this.values=t;this.docSymbolsMeta={name:"Byte String Value",kind:Ek.SymbolKind.Array},this.values.forEach(r=>this.addChild(r))}toString(){return`[${this.values.map(t=>t.toString(16).padStart(2,"0")).join(" ")}]`}toJson(){return this.values.map(t=>t.value?.toJson()??NaN)}serialize(){return new dd(this.values.map(t=>t.value?{value:t.value.toString(16),range:t.value.range,evaluated:t.value.value}:null),this.uri,this.range,this.serializeIssues)}};var je=class extends q{constructor(t,r){super(r);this.name=t;this.semanticTokenType="property",this.semanticTokenModifiers="declaration"}toString(){return this.name}serialize(){return new bd(this.name,this.uri,this.range,this.serializeIssues)}},xe=class extends q{constructor(t,r=[]){super();this.propertyName=t;this.labels=r;this._values=void 0;this.docSymbolsMeta={name:this.propertyName?.name??"Unknown",kind:wk.SymbolKind.Property},this.labels.forEach(s=>this.addChild(s)),this.addChild(t)}set values(t){if(this._values)throw new Error("Only one property name is allowed");this._values=t,this.addChild(t)}get values(){return this._values}get quickValues(){return this.values?.values.map(t=>t?t.value instanceof Ie?t.value.value:t.value instanceof St?t.value.values.map(r=>r.value instanceof It?r.value.value:NaN):t.value instanceof Ss?t.value.values.map(r=>r.value?.value??NaN):NaN:null)}toString(){return`${this.propertyName?.toString()??"__UNSET__"}${this.assignOperatorToken?` = ${this._values?.values.map(t=>t?.toString()??"NULL").join(", ")??"NULL"}`:""};`}toPrettyString(t){return`${this.propertyName?.toString()??"__UNSET__"}${this.assignOperatorToken?` = ${this._values?.values.map(r=>r?.toPrettyString(t)??"NULL").join(", ")??"NULL"}`:""};`}serialize(t){return new vd(this.propertyName?.serialize()??null,this.values?.values.map(r=>r?.value?.serialize(t)??null)??null,this.uri,this.range,this.serializeIssues)}};var kk=K(X()),cn=class extends q{constructor(t,r){super();this.keyword=r;this.addChild(r),this.docSymbolsMeta={name:t,kind:kk.SymbolKind.Function}}};var Tn=class extends cn{constructor(t){super("Delete Node",t);this._nodeNameOrRef=null}set nodeNameOrRef(t){if(this._nodeNameOrRef)throw new Error("Only one property name is allowed");this._nodeNameOrRef=t,this.addChild(t)}get nodeNameOrRef(){return this._nodeNameOrRef}};var We=class extends cn{constructor(t){super("Delete Property",t);this._propertyName=null}set propertyName(t){if(this._propertyName)throw new Error("Only only property name is allowed");this._propertyName=t,this.addChild(t)}get propertyName(){return this._propertyName}};var Fe=class n extends q{constructor(){super()}get path(){if(!this.pathName)return["__UNDEFINED__"];if(!this.parentNode||this instanceof mt)return[this.pathName];if(!(this.parentNode instanceof n))return;let e=this.parentNode.path;return e?[...e,this.pathName]:[this.pathName]}get pathName(){}get nodes(){return this.children.filter(e=>e instanceof n)}get deleteNodes(){return this.children.filter(e=>e instanceof Tn)}addNodeChild(e){this.addChild(e)}},mt=class extends Fe{constructor(){super(),this.docSymbolsMeta={name:"/",kind:lr.SymbolKind.Class}}get properties(){return this.children.filter(e=>e instanceof xe)}get name(){return new Me("/",H(this.firstToken))}get deleteProperties(){return this.children.filter(e=>e instanceof We)}get nodes(){return this.children.filter(e=>e instanceof Pe)}get pathName(){return"/"}serialize(e){return new wd(this.properties.map(t=>t.serialize(e)),this.nodes.map(t=>t.serialize(e)),this.uri,this.range,this.serializeIssues)}},xt=class extends Fe{constructor(t=[]){super();this.labels=t;this._labelReference=null;this.docSymbolsMeta={name:"DTC Name",kind:lr.SymbolKind.Class},t.forEach(r=>{super.addChild(r)})}get serializeIssues(){return[...this.issues,...this.labelReference?.issues??[]].map(t=>t())}set labelReference(t){if(this._labelReference)throw new Error("Only on label reference is allowed");this._labelReference=t,this.docSymbolsMeta={name:this.labelReference?.value??"DTC Name",kind:lr.SymbolKind.Class},this.addChild(t)}get path(){return this.resolveNodePath?this.resolveNodePath:super.path}get labelReference(){return this._labelReference}get nodes(){return this.children.filter(t=>t instanceof Pe)}get pathName(){return this.labelReference?.label?`&${this.labelReference?.label?.value}`:void 0}get properties(){return this.children.filter(t=>t instanceof xe)}get deleteProperties(){return this.children.filter(t=>t instanceof We)}serialize(t){return new Ed(this.labelReference?.serialize()??null,this.properties.map(r=>r.serialize(t)),this.nodes.map(r=>r.serialize(t)),this.uri,this.range,this.serializeIssues)}},Pe=class n extends Fe{constructor(t=[],r){super();this.labels=t;this.omitIfNoRef=r;this._name=null;this.docSymbolsMeta={name:"DTC Name",kind:lr.SymbolKind.Class},r&&this.addChild(r),t.forEach(s=>{this.addChild(s)})}get serializeIssues(){return[...this.issues,...this.name?.issues??[]].map(t=>t())}set name(t){if(this._name)throw new Error("Only on label reference is allowed");this._name=t,this.docSymbolsMeta={name:this._name?.toString()??"DTC Name",kind:lr.SymbolKind.Class},this.addChild(t)}get name(){return this._name}get nodes(){return this.children.filter(t=>t instanceof n)}get pathName(){return this._name?.toString()}get properties(){return this.children.filter(t=>t instanceof xe)}get deleteProperties(){return this.children.filter(t=>t instanceof We)}serialize(t){return new kd(this.name?.serialize()??null,this.properties.map(r=>r.serialize(t)),this.nodes.map(r=>r.serialize(t)),this.uri,this.range,this.serializeIssues)}},Nd=class extends q{constructor(t,r){super(r);this.address=t;this.semanticTokenType="variable",this.semanticTokenModifiers="declaration"}toString(){return this.address?.map((t,r)=>t.toString(16).padStart(r?8:0,"0")).join("")??"NaN"}serialize(){return new Td(this.address,this.uri,this.range,this.serializeIssues)}},Me=class extends q{constructor(t,r,s){super(r);this.name=t;this._address=s;this.semanticTokenType="variable",this.semanticTokenModifiers="declaration"}get value(){return this.name}get address(){return this._address}set address(t){if(this._address)throw new Error("Address can only be set once");t&&(this.lastToken=void 0,this._address=t,t.forEach(r=>this.addChild(r)))}get fullAddress(){return this._address?[...this._address.flatMap(t=>t.address)]:void 0}toString(){return this._address!==void 0?`${this.name}@${this._address.map(t=>t.toString()).join(",")}`:this.name}buildSemanticTokens(t){if(!this.tokenIndexes?.start||!this.tokenIndexes.start.value)return;let r={...this.tokenIndexes.start,pos:{...this.tokenIndexes.start.pos,len:this.name.length}};t(ui("type"),di("declaration"),{start:r,end:r}),this.address!==void 0&&this.address.forEach(s=>{t(ui("decorator"),di("declaration"),{start:s.lastToken.prevToken,end:s.lastToken.prevToken}),s.buildSemanticTokens(t)})}get serializeIssues(){return[...this.issues,...this._address?.flatMap(t=>t.issues)??[]].map(t=>t())}serialize(){return new Sd(this.toString(),new _d(this.name,this.uri,lr.Range.create(lr.Position.create(this.tokenIndexes.start.pos.line,this.tokenIndexes.start.pos.col),lr.Position.create(this.tokenIndexes.start.pos.line,this.tokenIndexes.start.pos.colEnd)),[]),this.address?.map(t=>t.serialize())??null,this.uri,this.range,this.serializeIssues)}};var Nk=K(X());var ye=class extends q{constructor(t){super();this.label=t;this.docSymbolsMeta={name:`&${this.label?.value??"NULL"}`,kind:Nk.SymbolKind.Key},this.addChild(t)}get value(){return this.label?.value}toString(){return`&${this.label?.value??"NULL"}`}toJson(){return-1}serialize(){return new hd(this.label?.toString()??null,this.linksTo?.pathString??null,this.uri,this.range,this.serializeIssues)}};var dr=K(X());var Pt=n=>n instanceof cn?!0:n instanceof Fe?!1:n.parentNode?Pt(n.parentNode):!1;var go=n=>[...n.map(e=>{if(e instanceof Pe||e instanceof mt)return e.name;if(e instanceof xt)return e.labelReference})].filter(e=>!!e),og=(n,e)=>e?e.parentNode===n||og(n,e.parentNode):!1;var ht=K(X());var Pk=K(X());var Xr=class extends q{constructor(){super();this._pathParts=[]}addPath(t,r){this._pathParts.push(t),r&&this.addChild(r),this.addChild(t)}get pathParts(){return[...this._pathParts]}toString(){return this._pathParts.map(t=>t?.toString()??"<NULL>").join("/")}},In=class extends q{constructor(t){super();this.path=t;this.docSymbolsMeta={name:`/${this.path?.toString()??""}`,kind:Pk.SymbolKind.Namespace},this.semanticTokenType="variable",this.semanticTokenModifiers="declaration",this.addChild(t)}toString(){return`&${this.path?.toString()??"NULL"}`}toJson(){return-1}serialize(){return new pd(this.path?.toString()??null,this.uri,this.range,this.serializeIssues)}};var lt=K(X());var Pd=K(X());var Rk=require("path"),_s=class extends q{constructor(t,r){super();this.keyword=t;this.path=r;this.docSymbolsMeta={name:`Include ${r}`,kind:Pd.SymbolKind.File},this.addChild(t),this.addChild(r)}get resolvedPath(){return this._resolvedPath}set resolvedPath(t){this.docSymbolsMeta={name:`Include ${t}`,kind:Pd.SymbolKind.File},this._resolvedPath=t}},yo=class extends q{constructor(t,r,s){super(s);this._path=t;this.relative=r;this.docSymbolsMeta={name:(0,Rk.basename)(this.path),kind:Pd.SymbolKind.File},this.semanticTokenType="string",this.semanticTokenModifiers="declaration"}get path(){return this.relative?this._path.slice(1,-1):this._path}};var Dr=class extends q{constructor(e){super(e),this.semanticTokenType="comment",this.semanticTokenModifiers="documentation"}};var UM=async(n,e,t)=>{let r=lt.Position.create(n.pos.line,n.pos.col),s=t.find(i=>On(i,e,r));if(s)return Pr(s,e,r)},ag=n=>{if(n)return n instanceof Fe?n:ag(n?.parentNode)},vo=(n,e,t=0)=>!e||!le(e.uri,n)?t:vo(n,ag(e.parentNode),t+1),VM=(n,e)=>async t=>{let r=await UM(t.firstToken,e,n);return!r||r===t||t.allDescendants.some(i=>i===r)?0:r instanceof Fe?vo(e,ag(r)):void 0};async function Dk(n,e){let t=[],r=tt(n.textDocument.uri),s=(await e.getRuntime()).fileTopMostAsts(r);return t.push(...(await Promise.all(s.flatMap(async i=>await Ck(n,i,r,VM(s,r))))).flat()),t}var hi=(n,e=1)=>{if(n.prevToken){let t=n.pos.line-n.prevToken.pos.line;if(t-e&&(t!==2&&e!==0||e===0))return lt.TextEdit.replace(lt.Range.create(lt.Position.create(n.prevToken.pos.line,n.prevToken.pos.colEnd),lt.Position.create(n.pos.line-e,n.pos.col)),"".padEnd(e-1,`
182
+ deps: ${t}}`};var NW={keyword:"dependencies",type:"object",schemaType:"object",error:Br.error,code(n){let[e,t]=PW(n);PA(n,e),RA(n,t)}};function PW({schema:n}){let e={},t={};for(let r in n){if(r==="__proto__")continue;let s=Array.isArray(n[r])?e:t;s[r]=n[r]}return[e,t]}function PA(n,e=n.schema){let{gen:t,data:r,it:s}=n;if(Object.keys(e).length===0)return;let i=t.let("missing");for(let o in e){let a=e[o];if(a.length===0)continue;let c=(0,ml.propertyInData)(t,r,o,s.opts.ownProperties);n.setParams({property:o,depsCount:a.length,deps:a.join(", ")}),s.allErrors?t.if(c,()=>{for(let l of a)(0,ml.checkReportMissingProp)(n,l)}):(t.if((0,Mv._)`${c} && (${(0,ml.checkMissingProp)(n,a,i)})`),(0,ml.reportMissingProp)(n,i),t.else())}}Br.validatePropertyDeps=PA;function RA(n,e=n.schema){let{gen:t,data:r,keyword:s,it:i}=n,o=t.name("valid");for(let a in e)(0,kW.alwaysValidSchema)(i,e[a])||(t.if((0,ml.propertyInData)(t,r,a,i.opts.ownProperties),()=>{let c=n.subschema({keyword:s,schemaProp:a},o);n.mergeValidEvaluated(c,o)},()=>t.var(o,!0)),n.ok(o))}Br.validateSchemaDeps=RA;Br.default=NW});var CA=E($v=>{"use strict";Object.defineProperty($v,"__esModule",{value:!0});var DA=ce(),RW=ge(),DW={message:"property name must be valid",params:({params:n})=>(0,DA._)`{propertyName: ${n.propertyName}}`},CW={keyword:"propertyNames",type:"object",schemaType:["object","boolean"],error:DW,code(n){let{gen:e,schema:t,data:r,it:s}=n;if((0,RW.alwaysValidSchema)(s,t))return;let i=e.name("valid");e.forIn("key",r,o=>{n.setParams({propertyName:o}),n.subschema({keyword:"propertyNames",data:o,dataTypes:["string"],propertyName:o,compositeRule:!0},i),e.if((0,DA.not)(i),()=>{n.error(!0),s.allErrors||e.break()})}),n.ok(i)}};$v.default=CW});var qv=E(Lv=>{"use strict";Object.defineProperty(Lv,"__esModule",{value:!0});var Bh=Xn(),_r=ce(),AW=Jn(),Uh=ge(),OW={message:"must NOT have additional properties",params:({params:n})=>(0,_r._)`{additionalProperty: ${n.additionalProperty}}`},IW={keyword:"additionalProperties",type:["object"],schemaType:["boolean","object"],allowUndefined:!0,trackErrors:!0,error:OW,code(n){let{gen:e,schema:t,parentSchema:r,data:s,errsCount:i,it:o}=n;if(!i)throw new Error("ajv implementation error");let{allErrors:a,opts:c}=o;if(o.props=!0,c.removeAdditional!=="all"&&(0,Uh.alwaysValidSchema)(o,t))return;let l=(0,Bh.allSchemaProperties)(r.properties),u=(0,Bh.allSchemaProperties)(r.patternProperties);d(),n.ok((0,_r._)`${i} === ${AW.default.errors}`);function d(){e.forIn("key",s,S=>{!l.length&&!u.length?y(S):e.if(f(S),()=>y(S))})}function f(S){let w;if(l.length>8){let T=(0,Uh.schemaRefOrVal)(o,r.properties,"properties");w=(0,Bh.isOwnProperty)(e,T,S)}else l.length?w=(0,_r.or)(...l.map(T=>(0,_r._)`${S} === ${T}`)):w=_r.nil;return u.length&&(w=(0,_r.or)(w,...u.map(T=>(0,_r._)`${(0,Bh.usePattern)(n,T)}.test(${S})`))),(0,_r.not)(w)}function p(S){e.code((0,_r._)`delete ${s}[${S}]`)}function y(S){if(c.removeAdditional==="all"||c.removeAdditional&&t===!1){p(S);return}if(t===!1){n.setParams({additionalProperty:S}),n.error(),a||e.break();return}if(typeof t=="object"&&!(0,Uh.alwaysValidSchema)(o,t)){let w=e.name("valid");c.removeAdditional==="failing"?(m(S,w,!1),e.if((0,_r.not)(w),()=>{n.reset(),p(S)})):(m(S,w),a||e.if((0,_r.not)(w),()=>e.break()))}}function m(S,w,T){let v={keyword:"additionalProperties",dataProp:S,dataPropType:Uh.Type.Str};T===!1&&Object.assign(v,{compositeRule:!0,createErrors:!1,allErrors:!1}),n.subschema(v,w)}}};Lv.default=IW});var IA=E(Fv=>{"use strict";Object.defineProperty(Fv,"__esModule",{value:!0});var xW=el(),AA=Xn(),jv=ge(),OA=qv(),MW={keyword:"properties",type:"object",schemaType:"object",code(n){let{gen:e,schema:t,parentSchema:r,data:s,it:i}=n;i.opts.removeAdditional==="all"&&r.additionalProperties===void 0&&OA.default.code(new xW.KeywordCxt(i,OA.default,"additionalProperties"));let o=(0,AA.allSchemaProperties)(t);for(let d of o)i.definedProperties.add(d);i.opts.unevaluated&&o.length&&i.props!==!0&&(i.props=jv.mergeEvaluated.props(e,(0,jv.toHash)(o),i.props));let a=o.filter(d=>!(0,jv.alwaysValidSchema)(i,t[d]));if(a.length===0)return;let c=e.name("valid");for(let d of a)l(d)?u(d):(e.if((0,AA.propertyInData)(e,s,d,i.opts.ownProperties)),u(d),i.allErrors||e.else().var(c,!0),e.endIf()),n.it.definedProperties.add(d),n.ok(c);function l(d){return i.opts.useDefaults&&!i.compositeRule&&t[d].default!==void 0}function u(d){n.subschema({keyword:"properties",schemaProp:d,dataProp:d},c)}}};Fv.default=MW});var LA=E(Bv=>{"use strict";Object.defineProperty(Bv,"__esModule",{value:!0});var xA=Xn(),Vh=ce(),MA=ge(),$A=ge(),$W={keyword:"patternProperties",type:"object",schemaType:"object",code(n){let{gen:e,schema:t,data:r,parentSchema:s,it:i}=n,{opts:o}=i,a=(0,xA.allSchemaProperties)(t),c=a.filter(m=>(0,MA.alwaysValidSchema)(i,t[m]));if(a.length===0||c.length===a.length&&(!i.opts.unevaluated||i.props===!0))return;let l=o.strictSchema&&!o.allowMatchingProperties&&s.properties,u=e.name("valid");i.props!==!0&&!(i.props instanceof Vh.Name)&&(i.props=(0,$A.evaluatedPropsToName)(e,i.props));let{props:d}=i;f();function f(){for(let m of a)l&&p(m),i.allErrors?y(m):(e.var(u,!0),y(m),e.if(u))}function p(m){for(let S in l)new RegExp(m).test(S)&&(0,MA.checkStrictMode)(i,`property ${S} matches pattern ${m} (use allowMatchingProperties)`)}function y(m){e.forIn("key",r,S=>{e.if((0,Vh._)`${(0,xA.usePattern)(n,m)}.test(${S})`,()=>{let w=c.includes(m);w||n.subschema({keyword:"patternProperties",schemaProp:m,dataProp:S,dataPropType:$A.Type.Str},u),i.opts.unevaluated&&d!==!0?e.assign((0,Vh._)`${d}[${S}]`,!0):!w&&!i.allErrors&&e.if((0,Vh.not)(u),()=>e.break())})})}}};Bv.default=$W});var qA=E(Uv=>{"use strict";Object.defineProperty(Uv,"__esModule",{value:!0});var LW=ge(),qW={keyword:"not",schemaType:["object","boolean"],trackErrors:!0,code(n){let{gen:e,schema:t,it:r}=n;if((0,LW.alwaysValidSchema)(r,t)){n.fail();return}let s=e.name("valid");n.subschema({keyword:"not",compositeRule:!0,createErrors:!1,allErrors:!1},s),n.failResult(s,()=>n.reset(),()=>n.error())},error:{message:"must NOT be valid"}};Uv.default=qW});var jA=E(Vv=>{"use strict";Object.defineProperty(Vv,"__esModule",{value:!0});var jW=Xn(),FW={keyword:"anyOf",schemaType:"array",trackErrors:!0,code:jW.validateUnion,error:{message:"must match a schema in anyOf"}};Vv.default=FW});var FA=E(Wv=>{"use strict";Object.defineProperty(Wv,"__esModule",{value:!0});var Wh=ce(),BW=ge(),UW={message:"must match exactly one schema in oneOf",params:({params:n})=>(0,Wh._)`{passingSchemas: ${n.passing}}`},VW={keyword:"oneOf",schemaType:"array",trackErrors:!0,error:UW,code(n){let{gen:e,schema:t,parentSchema:r,it:s}=n;if(!Array.isArray(t))throw new Error("ajv implementation error");if(s.opts.discriminator&&r.discriminator)return;let i=t,o=e.let("valid",!1),a=e.let("passing",null),c=e.name("_valid");n.setParams({passing:a}),e.block(l),n.result(o,()=>n.reset(),()=>n.error(!0));function l(){i.forEach((u,d)=>{let f;(0,BW.alwaysValidSchema)(s,u)?e.var(c,!0):f=n.subschema({keyword:"oneOf",schemaProp:d,compositeRule:!0},c),d>0&&e.if((0,Wh._)`${c} && ${o}`).assign(o,!1).assign(a,(0,Wh._)`[${a}, ${d}]`).else(),e.if(c,()=>{e.assign(o,!0),e.assign(a,d),f&&n.mergeEvaluated(f,Wh.Name)})})}}};Wv.default=VW});var BA=E(zv=>{"use strict";Object.defineProperty(zv,"__esModule",{value:!0});var WW=ge(),zW={keyword:"allOf",schemaType:"array",code(n){let{gen:e,schema:t,it:r}=n;if(!Array.isArray(t))throw new Error("ajv implementation error");let s=e.name("valid");t.forEach((i,o)=>{if((0,WW.alwaysValidSchema)(r,i))return;let a=n.subschema({keyword:"allOf",schemaProp:o},s);n.ok(s),n.mergeEvaluated(a)})}};zv.default=zW});var WA=E(Hv=>{"use strict";Object.defineProperty(Hv,"__esModule",{value:!0});var zh=ce(),VA=ge(),HW={message:({params:n})=>(0,zh.str)`must match "${n.ifClause}" schema`,params:({params:n})=>(0,zh._)`{failingKeyword: ${n.ifClause}}`},KW={keyword:"if",schemaType:["object","boolean"],trackErrors:!0,error:HW,code(n){let{gen:e,parentSchema:t,it:r}=n;t.then===void 0&&t.else===void 0&&(0,VA.checkStrictMode)(r,'"if" without "then" and "else" is ignored');let s=UA(r,"then"),i=UA(r,"else");if(!s&&!i)return;let o=e.let("valid",!0),a=e.name("_valid");if(c(),n.reset(),s&&i){let u=e.let("ifClause");n.setParams({ifClause:u}),e.if(a,l("then",u),l("else",u))}else s?e.if(a,l("then")):e.if((0,zh.not)(a),l("else"));n.pass(o,()=>n.error(!0));function c(){let u=n.subschema({keyword:"if",compositeRule:!0,createErrors:!1,allErrors:!1},a);n.mergeEvaluated(u)}function l(u,d){return()=>{let f=n.subschema({keyword:u},a);e.assign(o,a),n.mergeValidEvaluated(f,o),d?e.assign(d,(0,zh._)`${u}`):n.setParams({ifClause:u})}}}};function UA(n,e){let t=n.schema[e];return t!==void 0&&!(0,VA.alwaysValidSchema)(n,t)}Hv.default=KW});var zA=E(Kv=>{"use strict";Object.defineProperty(Kv,"__esModule",{value:!0});var GW=ge(),YW={keyword:["then","else"],schemaType:["object","boolean"],code({keyword:n,parentSchema:e,it:t}){e.if===void 0&&(0,GW.checkStrictMode)(t,`"${n}" without "if" is ignored`)}};Kv.default=YW});var HA=E(Gv=>{"use strict";Object.defineProperty(Gv,"__esModule",{value:!0});var JW=Cv(),XW=EA(),QW=Av(),ZW=kA(),ez=NA(),tz=Fh(),nz=CA(),rz=qv(),sz=IA(),iz=LA(),oz=qA(),az=jA(),cz=FA(),lz=BA(),uz=WA(),dz=zA();function fz(n=!1){let e=[oz.default,az.default,cz.default,lz.default,uz.default,dz.default,nz.default,rz.default,tz.default,sz.default,iz.default];return n?e.push(XW.default,ZW.default):e.push(JW.default,QW.default),e.push(ez.default),e}Gv.default=fz});var KA=E(Yv=>{"use strict";Object.defineProperty(Yv,"__esModule",{value:!0});var bt=ce(),hz={message:({schemaCode:n})=>(0,bt.str)`must match format "${n}"`,params:({schemaCode:n})=>(0,bt._)`{format: ${n}}`},pz={keyword:"format",type:["number","string"],schemaType:"string",$data:!0,error:hz,code(n,e){let{gen:t,data:r,$data:s,schema:i,schemaCode:o,it:a}=n,{opts:c,errSchemaPath:l,schemaEnv:u,self:d}=a;if(!c.validateFormats)return;s?f():p();function f(){let y=t.scopeValue("formats",{ref:d.formats,code:c.code.formats}),m=t.const("fDef",(0,bt._)`${y}[${o}]`),S=t.let("fType"),w=t.let("format");t.if((0,bt._)`typeof ${m} == "object" && !(${m} instanceof RegExp)`,()=>t.assign(S,(0,bt._)`${m}.type || "string"`).assign(w,(0,bt._)`${m}.validate`),()=>t.assign(S,(0,bt._)`"string"`).assign(w,m)),n.fail$data((0,bt.or)(T(),v()));function T(){return c.strictSchema===!1?bt.nil:(0,bt._)`${o} && !${w}`}function v(){let R=u.$async?(0,bt._)`(${m}.async ? await ${w}(${r}) : ${w}(${r}))`:(0,bt._)`${w}(${r})`,A=(0,bt._)`(typeof ${w} == "function" ? ${R} : ${w}.test(${r}))`;return(0,bt._)`${w} && ${w} !== true && ${S} === ${e} && !${A}`}}function p(){let y=d.formats[i];if(!y){T();return}if(y===!0)return;let[m,S,w]=v(y);m===e&&n.pass(R());function T(){if(c.strictSchema===!1){d.logger.warn(A());return}throw new Error(A());function A(){return`unknown format "${i}" ignored in schema at path "${l}"`}}function v(A){let M=A instanceof RegExp?(0,bt.regexpCode)(A):c.code.formats?(0,bt._)`${c.code.formats}${(0,bt.getProperty)(i)}`:void 0,z=t.scopeValue("formats",{key:i,ref:A,code:M});return typeof A=="object"&&!(A instanceof RegExp)?[A.type||"string",A.validate,(0,bt._)`${z}.validate`]:["string",A,z]}function R(){if(typeof y=="object"&&!(y instanceof RegExp)&&y.async){if(!u.$async)throw new Error("async format in sync schema");return(0,bt._)`await ${w}(${r})`}return typeof S=="function"?(0,bt._)`${w}(${r})`:(0,bt._)`${w}.test(${r})`}}}};Yv.default=pz});var GA=E(Jv=>{"use strict";Object.defineProperty(Jv,"__esModule",{value:!0});var mz=KA(),gz=[mz.default];Jv.default=gz});var YA=E(ca=>{"use strict";Object.defineProperty(ca,"__esModule",{value:!0});ca.contentVocabulary=ca.metadataVocabulary=void 0;ca.metadataVocabulary=["title","description","default","deprecated","readOnly","writeOnly","examples"];ca.contentVocabulary=["contentMediaType","contentEncoding","contentSchema"]});var XA=E(Xv=>{"use strict";Object.defineProperty(Xv,"__esModule",{value:!0});var yz=iA(),bz=vA(),vz=HA(),Tz=GA(),JA=YA(),Sz=[yz.default,bz.default,(0,vz.default)(),Tz.default,JA.metadataVocabulary,JA.contentVocabulary];Xv.default=Sz});var Zv=E(gl=>{"use strict";Object.defineProperty(gl,"__esModule",{value:!0});gl.dynamicAnchor=void 0;var Qv=ce(),_z=Jn(),QA=nl(),Ez=Ih(),wz={keyword:"$dynamicAnchor",schemaType:"string",code:n=>ZA(n,n.schema)};function ZA(n,e){let{gen:t,it:r}=n;r.schemaEnv.root.dynamicAnchors[e]=!0;let s=(0,Qv._)`${_z.default.dynamicAnchors}${(0,Qv.getProperty)(e)}`,i=r.errSchemaPath==="#"?r.validateName:kz(n);t.if((0,Qv._)`!${s}`,()=>t.assign(s,i))}gl.dynamicAnchor=ZA;function kz(n){let{schemaEnv:e,schema:t,self:r}=n.it,{root:s,baseId:i,localRefs:o,meta:a}=e.root,{schemaId:c}=r.opts,l=new QA.SchemaEnv({schema:t,schemaId:c,root:s,baseId:i,localRefs:o,meta:a});return QA.compileSchema.call(r,l),(0,Ez.getValidate)(n,l)}gl.default=wz});var eT=E(yl=>{"use strict";Object.defineProperty(yl,"__esModule",{value:!0});yl.dynamicRef=void 0;var eO=ce(),Nz=Jn(),tO=Ih(),Pz={keyword:"$dynamicRef",schemaType:"string",code:n=>nO(n,n.schema)};function nO(n,e){let{gen:t,keyword:r,it:s}=n;if(e[0]!=="#")throw new Error(`"${r}" only supports hash fragment reference`);let i=e.slice(1);if(s.allErrors)o();else{let c=t.let("valid",!1);o(c),n.ok(c)}function o(c){if(s.schemaEnv.root.dynamicAnchors[i]){let l=t.let("_v",(0,eO._)`${Nz.default.dynamicAnchors}${(0,eO.getProperty)(i)}`);t.if(l,a(l,c),a(s.validateName,c))}else a(s.validateName,c)()}function a(c,l){return l?()=>t.block(()=>{(0,tO.callRef)(n,c),t.let(l,!0)}):()=>(0,tO.callRef)(n,c)}}yl.dynamicRef=nO;yl.default=Pz});var rO=E(tT=>{"use strict";Object.defineProperty(tT,"__esModule",{value:!0});var Rz=Zv(),Dz=ge(),Cz={keyword:"$recursiveAnchor",schemaType:"boolean",code(n){n.schema?(0,Rz.dynamicAnchor)(n,""):(0,Dz.checkStrictMode)(n.it,"$recursiveAnchor: false is ignored")}};tT.default=Cz});var sO=E(nT=>{"use strict";Object.defineProperty(nT,"__esModule",{value:!0});var Az=eT(),Oz={keyword:"$recursiveRef",schemaType:"string",code:n=>(0,Az.dynamicRef)(n,n.schema)};nT.default=Oz});var iO=E(rT=>{"use strict";Object.defineProperty(rT,"__esModule",{value:!0});var Iz=Zv(),xz=eT(),Mz=rO(),$z=sO(),Lz=[Iz.default,xz.default,Mz.default,$z.default];rT.default=Lz});var aO=E(sT=>{"use strict";Object.defineProperty(sT,"__esModule",{value:!0});var oO=Fh(),qz={keyword:"dependentRequired",type:"object",schemaType:"object",error:oO.error,code:n=>(0,oO.validatePropertyDeps)(n)};sT.default=qz});var cO=E(iT=>{"use strict";Object.defineProperty(iT,"__esModule",{value:!0});var jz=Fh(),Fz={keyword:"dependentSchemas",type:"object",schemaType:"object",code:n=>(0,jz.validateSchemaDeps)(n)};iT.default=Fz});var lO=E(oT=>{"use strict";Object.defineProperty(oT,"__esModule",{value:!0});var Bz=ge(),Uz={keyword:["maxContains","minContains"],type:"array",schemaType:"number",code({keyword:n,parentSchema:e,it:t}){e.contains===void 0&&(0,Bz.checkStrictMode)(t,`"${n}" without "contains" is ignored`)}};oT.default=Uz});var uO=E(aT=>{"use strict";Object.defineProperty(aT,"__esModule",{value:!0});var Vz=aO(),Wz=cO(),zz=lO(),Hz=[Vz.default,Wz.default,zz.default];aT.default=Hz});var fO=E(cT=>{"use strict";Object.defineProperty(cT,"__esModule",{value:!0});var Js=ce(),dO=ge(),Kz=Jn(),Gz={message:"must NOT have unevaluated properties",params:({params:n})=>(0,Js._)`{unevaluatedProperty: ${n.unevaluatedProperty}}`},Yz={keyword:"unevaluatedProperties",type:"object",schemaType:["boolean","object"],trackErrors:!0,error:Gz,code(n){let{gen:e,schema:t,data:r,errsCount:s,it:i}=n;if(!s)throw new Error("ajv implementation error");let{allErrors:o,props:a}=i;a instanceof Js.Name?e.if((0,Js._)`${a} !== true`,()=>e.forIn("key",r,d=>e.if(l(a,d),()=>c(d)))):a!==!0&&e.forIn("key",r,d=>a===void 0?c(d):e.if(u(a,d),()=>c(d))),i.props=!0,n.ok((0,Js._)`${s} === ${Kz.default.errors}`);function c(d){if(t===!1){n.setParams({unevaluatedProperty:d}),n.error(),o||e.break();return}if(!(0,dO.alwaysValidSchema)(i,t)){let f=e.name("valid");n.subschema({keyword:"unevaluatedProperties",dataProp:d,dataPropType:dO.Type.Str},f),o||e.if((0,Js.not)(f),()=>e.break())}}function l(d,f){return(0,Js._)`!${d} || !${d}[${f}]`}function u(d,f){let p=[];for(let y in d)d[y]===!0&&p.push((0,Js._)`${f} !== ${y}`);return(0,Js.and)(...p)}}};cT.default=Yz});var pO=E(lT=>{"use strict";Object.defineProperty(lT,"__esModule",{value:!0});var $i=ce(),hO=ge(),Jz={message:({params:{len:n}})=>(0,$i.str)`must NOT have more than ${n} items`,params:({params:{len:n}})=>(0,$i._)`{limit: ${n}}`},Xz={keyword:"unevaluatedItems",type:"array",schemaType:["boolean","object"],error:Jz,code(n){let{gen:e,schema:t,data:r,it:s}=n,i=s.items||0;if(i===!0)return;let o=e.const("len",(0,$i._)`${r}.length`);if(t===!1)n.setParams({len:i}),n.fail((0,$i._)`${o} > ${i}`);else if(typeof t=="object"&&!(0,hO.alwaysValidSchema)(s,t)){let c=e.var("valid",(0,$i._)`${o} <= ${i}`);e.if((0,$i.not)(c),()=>a(c,i)),n.ok(c)}s.items=!0;function a(c,l){e.forRange("i",l,o,u=>{n.subschema({keyword:"unevaluatedItems",dataProp:u,dataPropType:hO.Type.Num},c),s.allErrors||e.if((0,$i.not)(c),()=>e.break())})}}};lT.default=Xz});var mO=E(uT=>{"use strict";Object.defineProperty(uT,"__esModule",{value:!0});var Qz=fO(),Zz=pO(),eH=[Qz.default,Zz.default];uT.default=eH});var yO=E(Hh=>{"use strict";Object.defineProperty(Hh,"__esModule",{value:!0});Hh.DiscrError=void 0;var gO;(function(n){n.Tag="tag",n.Mapping="mapping"})(gO||(Hh.DiscrError=gO={}))});var vO=E(fT=>{"use strict";Object.defineProperty(fT,"__esModule",{value:!0});var la=ce(),dT=yO(),bO=nl(),tH=tl(),nH=ge(),rH={message:({params:{discrError:n,tagName:e}})=>n===dT.DiscrError.Tag?`tag "${e}" must be string`:`value of tag "${e}" must be in oneOf`,params:({params:{discrError:n,tag:e,tagName:t}})=>(0,la._)`{error: ${n}, tag: ${t}, tagValue: ${e}}`},sH={keyword:"discriminator",type:"object",schemaType:"object",error:rH,code(n){let{gen:e,data:t,schema:r,parentSchema:s,it:i}=n,{oneOf:o}=s;if(!i.opts.discriminator)throw new Error("discriminator: requires discriminator option");let a=r.propertyName;if(typeof a!="string")throw new Error("discriminator: requires propertyName");if(r.mapping)throw new Error("discriminator: mapping is not supported");if(!o)throw new Error("discriminator: requires oneOf keyword");let c=e.let("valid",!1),l=e.const("tag",(0,la._)`${t}${(0,la.getProperty)(a)}`);e.if((0,la._)`typeof ${l} == "string"`,()=>u(),()=>n.error(!1,{discrError:dT.DiscrError.Tag,tag:l,tagName:a})),n.ok(c);function u(){let p=f();e.if(!1);for(let y in p)e.elseIf((0,la._)`${l} === ${y}`),e.assign(c,d(p[y]));e.else(),n.error(!1,{discrError:dT.DiscrError.Mapping,tag:l,tagName:a}),e.endIf()}function d(p){let y=e.name("valid"),m=n.subschema({keyword:"oneOf",schemaProp:p},y);return n.mergeEvaluated(m,la.Name),y}function f(){var p;let y={},m=w(s),S=!0;for(let R=0;R<o.length;R++){let A=o[R];if(A?.$ref&&!(0,nH.schemaHasRulesButRef)(A,i.self.RULES)){let z=A.$ref;if(A=bO.resolveRef.call(i.self,i.schemaEnv.root,i.baseId,z),A instanceof bO.SchemaEnv&&(A=A.schema),A===void 0)throw new tH.default(i.opts.uriResolver,i.baseId,z)}let M=(p=A?.properties)===null||p===void 0?void 0:p[a];if(typeof M!="object")throw new Error(`discriminator: oneOf subschemas (or referenced schemas) must have "properties/${a}"`);S=S&&(m||w(A)),T(M,R)}if(!S)throw new Error(`discriminator: "${a}" must be required`);return y;function w({required:R}){return Array.isArray(R)&&R.includes(a)}function T(R,A){if(R.const)v(R.const,A);else if(R.enum)for(let M of R.enum)v(M,A);else throw new Error(`discriminator: "properties/${a}" must have "const" or "enum"`)}function v(R,A){if(typeof R!="string"||R in y)throw new Error(`discriminator: "${a}" values must be unique strings`);y[R]=A}}}};fT.default=sH});var TO=E((Jne,iH)=>{iH.exports={$schema:"https://json-schema.org/draft/2019-09/schema",$id:"https://json-schema.org/draft/2019-09/schema",$vocabulary:{"https://json-schema.org/draft/2019-09/vocab/core":!0,"https://json-schema.org/draft/2019-09/vocab/applicator":!0,"https://json-schema.org/draft/2019-09/vocab/validation":!0,"https://json-schema.org/draft/2019-09/vocab/meta-data":!0,"https://json-schema.org/draft/2019-09/vocab/format":!1,"https://json-schema.org/draft/2019-09/vocab/content":!0},$recursiveAnchor:!0,title:"Core and Validation specifications meta-schema",allOf:[{$ref:"meta/core"},{$ref:"meta/applicator"},{$ref:"meta/validation"},{$ref:"meta/meta-data"},{$ref:"meta/format"},{$ref:"meta/content"}],type:["object","boolean"],properties:{definitions:{$comment:"While no longer an official keyword as it is replaced by $defs, this keyword is retained in the meta-schema to prevent incompatible extensions as it remains in common use.",type:"object",additionalProperties:{$recursiveRef:"#"},default:{}},dependencies:{$comment:'"dependencies" is no longer a keyword, but schema authors should avoid redefining it to facilitate a smooth transition to "dependentSchemas" and "dependentRequired"',type:"object",additionalProperties:{anyOf:[{$recursiveRef:"#"},{$ref:"meta/validation#/$defs/stringArray"}]}}}}});var SO=E((Xne,oH)=>{oH.exports={$schema:"https://json-schema.org/draft/2019-09/schema",$id:"https://json-schema.org/draft/2019-09/meta/applicator",$vocabulary:{"https://json-schema.org/draft/2019-09/vocab/applicator":!0},$recursiveAnchor:!0,title:"Applicator vocabulary meta-schema",type:["object","boolean"],properties:{additionalItems:{$recursiveRef:"#"},unevaluatedItems:{$recursiveRef:"#"},items:{anyOf:[{$recursiveRef:"#"},{$ref:"#/$defs/schemaArray"}]},contains:{$recursiveRef:"#"},additionalProperties:{$recursiveRef:"#"},unevaluatedProperties:{$recursiveRef:"#"},properties:{type:"object",additionalProperties:{$recursiveRef:"#"},default:{}},patternProperties:{type:"object",additionalProperties:{$recursiveRef:"#"},propertyNames:{format:"regex"},default:{}},dependentSchemas:{type:"object",additionalProperties:{$recursiveRef:"#"}},propertyNames:{$recursiveRef:"#"},if:{$recursiveRef:"#"},then:{$recursiveRef:"#"},else:{$recursiveRef:"#"},allOf:{$ref:"#/$defs/schemaArray"},anyOf:{$ref:"#/$defs/schemaArray"},oneOf:{$ref:"#/$defs/schemaArray"},not:{$recursiveRef:"#"}},$defs:{schemaArray:{type:"array",minItems:1,items:{$recursiveRef:"#"}}}}});var _O=E((Qne,aH)=>{aH.exports={$schema:"https://json-schema.org/draft/2019-09/schema",$id:"https://json-schema.org/draft/2019-09/meta/content",$vocabulary:{"https://json-schema.org/draft/2019-09/vocab/content":!0},$recursiveAnchor:!0,title:"Content vocabulary meta-schema",type:["object","boolean"],properties:{contentMediaType:{type:"string"},contentEncoding:{type:"string"},contentSchema:{$recursiveRef:"#"}}}});var EO=E((Zne,cH)=>{cH.exports={$schema:"https://json-schema.org/draft/2019-09/schema",$id:"https://json-schema.org/draft/2019-09/meta/core",$vocabulary:{"https://json-schema.org/draft/2019-09/vocab/core":!0},$recursiveAnchor:!0,title:"Core vocabulary meta-schema",type:["object","boolean"],properties:{$id:{type:"string",format:"uri-reference",$comment:"Non-empty fragments not allowed.",pattern:"^[^#]*#?$"},$schema:{type:"string",format:"uri"},$anchor:{type:"string",pattern:"^[A-Za-z][-A-Za-z0-9.:_]*$"},$ref:{type:"string",format:"uri-reference"},$recursiveRef:{type:"string",format:"uri-reference"},$recursiveAnchor:{type:"boolean",default:!1},$vocabulary:{type:"object",propertyNames:{type:"string",format:"uri"},additionalProperties:{type:"boolean"}},$comment:{type:"string"},$defs:{type:"object",additionalProperties:{$recursiveRef:"#"},default:{}}}}});var wO=E((ere,lH)=>{lH.exports={$schema:"https://json-schema.org/draft/2019-09/schema",$id:"https://json-schema.org/draft/2019-09/meta/format",$vocabulary:{"https://json-schema.org/draft/2019-09/vocab/format":!0},$recursiveAnchor:!0,title:"Format vocabulary meta-schema",type:["object","boolean"],properties:{format:{type:"string"}}}});var kO=E((tre,uH)=>{uH.exports={$schema:"https://json-schema.org/draft/2019-09/schema",$id:"https://json-schema.org/draft/2019-09/meta/meta-data",$vocabulary:{"https://json-schema.org/draft/2019-09/vocab/meta-data":!0},$recursiveAnchor:!0,title:"Meta-data vocabulary meta-schema",type:["object","boolean"],properties:{title:{type:"string"},description:{type:"string"},default:!0,deprecated:{type:"boolean",default:!1},readOnly:{type:"boolean",default:!1},writeOnly:{type:"boolean",default:!1},examples:{type:"array",items:!0}}}});var NO=E((nre,dH)=>{dH.exports={$schema:"https://json-schema.org/draft/2019-09/schema",$id:"https://json-schema.org/draft/2019-09/meta/validation",$vocabulary:{"https://json-schema.org/draft/2019-09/vocab/validation":!0},$recursiveAnchor:!0,title:"Validation vocabulary meta-schema",type:["object","boolean"],properties:{multipleOf:{type:"number",exclusiveMinimum:0},maximum:{type:"number"},exclusiveMaximum:{type:"number"},minimum:{type:"number"},exclusiveMinimum:{type:"number"},maxLength:{$ref:"#/$defs/nonNegativeInteger"},minLength:{$ref:"#/$defs/nonNegativeIntegerDefault0"},pattern:{type:"string",format:"regex"},maxItems:{$ref:"#/$defs/nonNegativeInteger"},minItems:{$ref:"#/$defs/nonNegativeIntegerDefault0"},uniqueItems:{type:"boolean",default:!1},maxContains:{$ref:"#/$defs/nonNegativeInteger"},minContains:{$ref:"#/$defs/nonNegativeInteger",default:1},maxProperties:{$ref:"#/$defs/nonNegativeInteger"},minProperties:{$ref:"#/$defs/nonNegativeIntegerDefault0"},required:{$ref:"#/$defs/stringArray"},dependentRequired:{type:"object",additionalProperties:{$ref:"#/$defs/stringArray"}},const:!0,enum:{type:"array",items:!0},type:{anyOf:[{$ref:"#/$defs/simpleTypes"},{type:"array",items:{$ref:"#/$defs/simpleTypes"},minItems:1,uniqueItems:!0}]}},$defs:{nonNegativeInteger:{type:"integer",minimum:0},nonNegativeIntegerDefault0:{$ref:"#/$defs/nonNegativeInteger",default:0},simpleTypes:{enum:["array","boolean","integer","null","number","object","string"]},stringArray:{type:"array",items:{type:"string"},uniqueItems:!0,default:[]}}}});var PO=E(hT=>{"use strict";Object.defineProperty(hT,"__esModule",{value:!0});var fH=TO(),hH=SO(),pH=_O(),mH=EO(),gH=wO(),yH=kO(),bH=NO(),vH=["/properties"];function TH(n){return[fH,hH,pH,mH,e(this,gH),yH,e(this,bH)].forEach(t=>this.addMetaSchema(t,void 0,!1)),this;function e(t,r){return n?t.$dataMetaSchema(r,vH):r}}hT.default=TH});var RO=E((st,mT)=>{"use strict";Object.defineProperty(st,"__esModule",{value:!0});st.MissingRefError=st.ValidationError=st.CodeGen=st.Name=st.nil=st.stringify=st.str=st._=st.KeywordCxt=st.Ajv2019=void 0;var SH=eA(),_H=XA(),EH=iO(),wH=uO(),kH=mO(),NH=vO(),PH=PO(),pT="https://json-schema.org/draft/2019-09/schema",ua=class extends SH.default{constructor(e={}){super({...e,dynamicRef:!0,next:!0,unevaluated:!0})}_addVocabularies(){super._addVocabularies(),this.addVocabulary(EH.default),_H.default.forEach(e=>this.addVocabulary(e)),this.addVocabulary(wH.default),this.addVocabulary(kH.default),this.opts.discriminator&&this.addKeyword(NH.default)}_addDefaultMetaSchema(){super._addDefaultMetaSchema();let{$data:e,meta:t}=this.opts;t&&(PH.default.call(this,e),this.refs["http://json-schema.org/schema"]=pT)}defaultMeta(){return this.opts.defaultMeta=super.defaultMeta()||(this.getSchema(pT)?pT:void 0)}};st.Ajv2019=ua;mT.exports=st=ua;mT.exports.Ajv2019=ua;Object.defineProperty(st,"__esModule",{value:!0});st.default=ua;var RH=el();Object.defineProperty(st,"KeywordCxt",{enumerable:!0,get:function(){return RH.KeywordCxt}});var da=ce();Object.defineProperty(st,"_",{enumerable:!0,get:function(){return da._}});Object.defineProperty(st,"str",{enumerable:!0,get:function(){return da.str}});Object.defineProperty(st,"stringify",{enumerable:!0,get:function(){return da.stringify}});Object.defineProperty(st,"nil",{enumerable:!0,get:function(){return da.nil}});Object.defineProperty(st,"Name",{enumerable:!0,get:function(){return da.Name}});Object.defineProperty(st,"CodeGen",{enumerable:!0,get:function(){return da.CodeGen}});var DH=kh();Object.defineProperty(st,"ValidationError",{enumerable:!0,get:function(){return DH.default}});var CH=tl();Object.defineProperty(st,"MissingRefError",{enumerable:!0,get:function(){return CH.default}})});var Xe=K(ak());var td=class n{constructor(e,t,r,s){this._uri=e,this._languageId=t,this._version=r,this._content=s,this._lineOffsets=void 0}get uri(){return this._uri}get languageId(){return this._languageId}get version(){return this._version}getText(e){if(e){let t=this.offsetAt(e.start),r=this.offsetAt(e.end);return this._content.substring(t,r)}return this._content}update(e,t){for(let r of e)if(n.isIncremental(r)){let s=lk(r.range),i=this.offsetAt(s.start),o=this.offsetAt(s.end);this._content=this._content.substring(0,i)+r.text+this._content.substring(o,this._content.length);let a=Math.max(s.start.line,0),c=Math.max(s.end.line,0),l=this._lineOffsets,u=ck(r.text,!1,i);if(c-a===u.length)for(let f=0,p=u.length;f<p;f++)l[f+a+1]=u[f];else u.length<1e4?l.splice(a+1,c-a,...u):this._lineOffsets=l=l.slice(0,a+1).concat(u,l.slice(c+1));let d=r.text.length-(o-i);if(d!==0)for(let f=a+1+u.length,p=l.length;f<p;f++)l[f]=l[f]+d}else if(n.isFull(r))this._content=r.text,this._lineOffsets=void 0;else throw new Error("Unknown change event received");this._version=t}getLineOffsets(){return this._lineOffsets===void 0&&(this._lineOffsets=ck(this._content,!0)),this._lineOffsets}positionAt(e){e=Math.max(Math.min(e,this._content.length),0);let t=this.getLineOffsets(),r=0,s=t.length;if(s===0)return{line:0,character:e};for(;r<s;){let o=Math.floor((r+s)/2);t[o]>e?s=o:r=o+1}let i=r-1;return{line:i,character:e-t[i]}}offsetAt(e){let t=this.getLineOffsets();if(e.line>=t.length)return this._content.length;if(e.line<0)return 0;let r=t[e.line],s=e.line+1<t.length?t[e.line+1]:this._content.length;return Math.max(Math.min(r+e.character,s),r)}get lineCount(){return this.getLineOffsets().length}static isIncremental(e){let t=e;return t!=null&&typeof t.text=="string"&&t.range!==void 0&&(t.rangeLength===void 0||typeof t.rangeLength=="number")}static isFull(e){let t=e;return t!=null&&typeof t.text=="string"&&t.range===void 0&&t.rangeLength===void 0}},nd;(function(n){function e(s,i,o,a){return new td(s,i,o,a)}n.create=e;function t(s,i,o){if(s instanceof td)return s.update(i,o),s;throw new Error("TextDocument.update: document must be created by TextDocument.create")}n.update=t;function r(s,i){let o=s.getText(),a=tg(i.map(AM),(u,d)=>{let f=u.range.start.line-d.range.start.line;return f===0?u.range.start.character-d.range.start.character:f}),c=0,l=[];for(let u of a){let d=s.offsetAt(u.range.start);if(d<c)throw new Error("Overlapping edit");d>c&&l.push(o.substring(c,d)),u.newText.length&&l.push(u.newText),c=s.offsetAt(u.range.end)}return l.push(o.substr(c)),l.join("")}n.applyEdits=r})(nd||(nd={}));function tg(n,e){if(n.length<=1)return n;let t=n.length/2|0,r=n.slice(0,t),s=n.slice(t);tg(r,e),tg(s,e);let i=0,o=0,a=0;for(;i<r.length&&o<s.length;)e(r[i],s[o])<=0?n[a++]=r[i++]:n[a++]=s[o++];for(;i<r.length;)n[a++]=r[i++];for(;o<s.length;)n[a++]=s[o++];return n}function ck(n,e,t=0){let r=e?[t]:[];for(let s=0;s<n.length;s++){let i=n.charCodeAt(s);(i===13||i===10)&&(i===13&&s+1<n.length&&n.charCodeAt(s+1)===10&&s++,r.push(t+s+1))}return r}function lk(n){let e=n.start,t=n.end;return e.line>t.line||e.line===t.line&&e.character>t.character?{start:t,end:e}:n}function AM(n){let e=lk(n.range);return e!==n.range?{newText:n.newText,range:e}:n}var rd=["namespace","class","enum","interface","struct","typeParameter","type","parameter","variable","property","enumMember","decorator","event","function","method","macro","label","comment","string","keyword","number","regexp","operator"],sd=["declaration","definition","readonly","static","deprecated","abstract","async","modification","documentation","defaultLibrary"];var ad=K(X());var ng=K(require("url")),uk=require("crypto"),dk=require("path"),li=(n,e,t=!0,r=!0)=>({start:{line:n?.pos.line??0,character:t?n?.pos.col??0:(n?.pos.col??0)+(n?.pos.len??0)},end:{line:e?.pos.line??0,character:r?(e?.pos.col??0)+(e?.pos.len??0):e?.pos.col??0}});var Z=n=>li(n.tokenIndexes.start,n.tokenIndexes.end),fk=" ",hk=n=>{fk=n},mo=()=>fk,ui=n=>rd.findIndex(e=>e===n),di=n=>sd.findIndex(e=>e===n),rg=(n,e,t)=>!le(n.uri,e)||t.line<n.pos.line?!1:t.line>n.pos.line?!0:t.character>n.pos.colEnd,OM=(n,e,t)=>le(n.uri,e)?t.line<n.pos.line?!0:t.line>n.pos.line?!1:t.character<n.pos.col:!1,On=(n,e,t)=>!!(le(n.uri,e)&&n.tokenIndexes?.start&&n.tokenIndexes?.end&&(n.tokenIndexes.start.pos.line<t.line||n.tokenIndexes.start.pos.line===t.line&&n.tokenIndexes.start.pos.col<=t.character)&&(n.tokenIndexes.end.pos.line>t.line||n.tokenIndexes.end.pos.line===t.line&&n.tokenIndexes.end.pos.colEnd>=t.character)),pk=(n,e,t)=>!!(le(n.uri,e)&&n.lastToken.value!==";"&&n.tokenIndexes?.start&&n.tokenIndexes?.end&&(n.tokenIndexes.start.pos.line===t.line||n.tokenIndexes.end.pos.line===t.line)&&t.character>=n.tokenIndexes.end.pos.colEnd),mk=(n,e,t)=>{if(!n)return!1;let s=n.filter(i=>i.pos.line===t.line).at(-1);return s&&s.pos.col>=t.character?!1:e.tokenIndexes?.end===s};var Pr=(n,e,t)=>{let r=n,s=n;for(;s;)r=s,s=[...r.children].reverse().find(i=>On(i,e,t));return r},$a=(n,e,t)=>{let r=n,s=n;for(;s;)r=s,s=[...r.children].find(i=>OM(i.lastToken,e,t));return r===n?void 0:r},La=(n,e,t)=>{let r=n,s=n;for(;s;)r=s,s=[...r.children].reverse().find(i=>rg(i.firstToken,e,t));return r===n?void 0:r},V=(n,e,t=ad.DiagnosticSeverity.Error,r=[],s=void 0,i=[],o,a)=>{let c={issues:Array.isArray(n)?n:[n],astElement:e,severity:t,linkedTo:r,tags:s,templateStrings:i,edit:o,codeActionTitle:a},l,u=()=>(l??={severity:c.severity,range:Z(c.astElement),message:c.issues?c.issues.map(xM).join(" or "):"",source:"devicetree",tags:c.tags,data:{firstToken:{pos:c.astElement.firstToken.pos,tokens:c.astElement.firstToken.tokens,value:c.astElement.firstToken.value},lastToken:{pos:c.astElement.lastToken.pos,tokens:c.astElement.lastToken.tokens,value:c.astElement.lastToken.value},issues:{type:"SyntaxIssue",items:c.issues,edit:c.edit,codeActionTitle:c.codeActionTitle}}},l);return c.astElement.issues.push(u),{raw:c,diagnostic:u}},Ot=(n,e,t=ad.DiagnosticSeverity.Error,r=[],s=void 0,i=[],o,a)=>{let c={issues:Array.isArray(n)?n:[n],astElement:e,severity:t,linkedTo:r,tags:s,templateStrings:i,edit:o,codeActionTitle:a},l,u=()=>(l??={severity:c.severity,range:Z(c.astElement),message:MM(c),source:"devicetree",tags:c.tags,relatedInformation:[...c.linkedTo.map(d=>({message:c.issues.map($M).join(" or "),location:{uri:de(d.uri),range:Z(d)}}))]},l);return c.astElement.issues.push(u),{raw:c,diagnostic:u}},F=(n,e,t=ad.DiagnosticSeverity.Error,r=[],s=void 0,i=[],o,a)=>{let c={issues:Array.isArray(n)?n:[n],astElement:e,severity:t,linkedTo:r,tags:s,templateStrings:i,edit:o,codeActionTitle:a},l,u=()=>(l??={severity:c.severity,range:Z(c.astElement),message:LM(c),relatedInformation:[...c.linkedTo.map(d=>({message:c.issues.map(qM).join(" or "),location:{uri:de(d.uri),range:Z(d)}}))],source:"devicetree",tags:c.tags,data:{firstToken:{pos:c.astElement.firstToken.pos,tokens:c.astElement.firstToken.tokens,value:c.astElement.firstToken.value},lastToken:{pos:c.astElement.lastToken.pos,tokens:c.astElement.lastToken.tokens,value:c.astElement.lastToken.value},issues:{type:"StandardTypeIssue",items:c.issues,edit:c.edit,codeActionTitle:c.codeActionTitle}}},l);return c.astElement.issues.push(u),{raw:c,diagnostic:u}},gk=(n,e)=>[...n].sort((r,s)=>{let i=e.getSortKey(r),o=e.getSortKey(s);if(i===void 0||o===void 0)throw new Error("Sort keys must be set");if(i!==o)return i-o;if(!r.tokenIndexes?.end||!s.tokenIndexes?.end)throw new Error("Must have token indexes");return r.tokenIndexes.end.pos.line!==s.tokenIndexes.end.pos.line?r.tokenIndexes.end.pos.line-s.tokenIndexes.end.pos.line:r.tokenIndexes.end.pos.col-s.tokenIndexes.end.pos.col});async function Nt(n,e,t){let r=tt(n.textDocument.uri);if(!e)return[];console.time("search");let i=(await e.getRuntime()).getDeepestAstNode(r,n.position),o=e.getSortKey(i?.ast);return console.timeEnd("search"),t(i,c=>{let l=n.position;return le(c.uri,r)?!!(c.tokenIndexes?.end&&(c.tokenIndexes.end.pos.line<l.line||c.tokenIndexes.end.pos.line===l.line&&c.tokenIndexes.end.pos.colEnd<=l.character)):o!==void 0&&(e.getSortKey(c)??-1)<=o})}function H(n,e){return{start:n,end:e??n}}var $=(n,e)=>n?.tokens.some(t=>t===e),et=n=>e=>e?.value&&n===e.value?"yes":IM(n)(e),De=n=>e=>e?.tokens.some(t=>t===n)?"yes":"no",IM=n=>e=>e?.value&&n.startsWith(e.value)?"partial":"no",Rr=(n,e)=>!!n&&!!e&&n.pos.line===e.pos.line&&le(n.uri,e.uri),an=(n,e)=>!!n&&!!e&&Rr(n,e)&&n.pos.colEnd===e.pos.col,cd=n=>n.map((e,t)=>({index:t,context:e,files:e.getContextFiles()})),cr=(n,e,t,r)=>{if("id"in e){let i=n?.find(o=>o.id===e.id);return i||void 0}if("name"in e){let i=n?.find(o=>o.ctxNames.includes(e.name));return i||void 0}return t?.getContextFiles().find(i=>le(i,e.uri))?t:cd(n).sort(i=>i.context.id===r?-1:0).find(i=>i.files.some(o=>le(o,e.uri)))?.context},sg=(n,e)=>cd(n).filter(r=>r.files.some(s=>le(s,e))).map(r=>r.context),yk=n=>{let e=/^(\w+)\s+(.+)$/,t=/^(\w+)\(([^)]*)\)\s+(.+)$/,r=/^(\w+)\(([^)]*),\s*\.\.\.\)\s+(.+)$/,s;if(s=r.exec(n)){let[,,i,o]=s,a=i.split(",").map(c=>c.trim());return(...c)=>{let l=o;return a.forEach((u,d)=>{let f=new RegExp(`\\b${u}\\b`,"g");l=l.replace(f,c[d])}),l=l.replace(/__VA_ARGS__/g,c.slice(a.length).join(", ")),l}}else if(s=t.exec(n)){let[,,i,o]=s,a=i.split(",").map(c=>c.trim());return(...c)=>{let l=o;return a.forEach((u,d)=>{let f=new RegExp(`\\b${u}\\b`,"g");l=l.replace(f,c[d])}),l}}else if(s=e.exec(n)){let[,,i]=s;return i.trim()}},bk=(n,e)=>{let t=o=>o.replace(/(\w+)\s*##\s*(\w+)/g,(a,c,l)=>c+l),r=o=>o.replace(/#(\w+)/g,(a,c)=>`"${c}"`),s=n,i;do i=s,s=t(i),s=r(s),s=s.replace(/\b(\w+)\(([^)]*)\)|\b(\w+)\b/g,(o,a,c,l)=>{if(a==="defined"){let u=c.split(",").map(d=>d.trim());return u[0]?e.get(u[0])?.resolver:u}else if(a&&typeof e.get(a)?.resolver=="function"){let u=c.split(",").map(d=>d.trim());return(e.get(a)?.resolver)(...u)}else if(l&&typeof e.get(l)?.resolver=="string")return e.get(l)?.resolver;return o});while(s!==i);return s},de=n=>ng.default.pathToFileURL(n).toString(),tt=n=>Je(ng.default.fileURLToPath(n)),le=(n,e)=>!n||!e?!1:n===e,Je=n=>(0,dk.normalize)(process.platform==="win32"?n.toLowerCase():n),Jr=n=>(0,uk.createHash)("sha256").update([Je(n.dtsFile),...n.includePaths.map(Je),...n.overlays.map(Je),n.bindingType,...n.zephyrBindings.map(Je),...n.deviceOrgBindingsMetaSchema.map(Je),...n.deviceOrgTreeBindings.map(Je)].join(":")).digest("hex"),xM=n=>{switch(n){case 0:return"Expected value";case 1:return"Expected ';'";case 2:return"Expected '{'";case 3:return"Expected '}'";case 4:return"Expected '['";case 5:return"Expected ']'";case 12:return"Expected '>'";case 13:return"Expected '<'";case 16:return`Expected '"'`;case 17:return`Expected "'"\\`;case 24:return"Missing ':'";case 21:return"Missing '/'";case 26:return'Expected ")"';case 28:return'Missing ","';case 6:return"Expected property name";case 7:return"Expected node name";case 8:return"Expected node address";case 9:return"Expected node path";case 10:return"Expected node reference";case 11:return"Expected root node name";case 14:return"Expected bytestring";case 15:return"Expected two digits for each byte in bytestring";case 20:return"Hex values are not allowed";case 18:return"Expected label name";case 19:return"Expected '/' at the start of a node path";case 23:return"Found ';' without a statement";case 25:return"Did you mean /delete-node/ or /delete-property/?";case 34:return"Did you mean /delete-node/?";case 35:return"Did you mean /delete-property/?";case 22:return"Unknown syntax";case 27:return"Expected expression";case 31:return"Expected macro identifier";case 30:return"Expected macro identifier or function like macro";case 29:return"White space is not allowed";case 32:return"Properties can only be defined in a node";case 33:return"Properties can only be deleted inside a node";case 36:return"Unable to resolve include";case 37:return"Expected start address";case 38:return"Expected end address";case 39:case 40:return"Expected 8|16|32|64";case 42:return"Unknown macro name";case 43:return"Expected function like macro";case 44:return"Macro expects less arguments";case 45:return"Macro expects more arguments";case 46:return"Missing #ENDIF";case 47:return"Block Unused";case 41:return"This syntax is not officially part of the DTS V0.4 standard"}},MM=n=>n.issues.map(e=>{switch(e){case 0:return`Property "${n.templateStrings[0]}" is replaced by a later definition`;case 1:return"Cannot delete a property before it has been defined";case 2:return"Node name already defined";case 5:return"Cannot delete a node before it has been defined";case 3:return`No node with that reference "${n.templateStrings[0]}" has been defined`;case 8:return`No node with name "${n.templateStrings[0]}" could be found in "/${n.templateStrings[1]}".`;case 4:return`Label name "${n.templateStrings[0]}" already defined`;case 6:return`Property "${n.templateStrings[0]}" was deleted`;case 7:return`Node "${n.templateStrings[0]}" was deleted`;case 9:return`The following node "${n.templateStrings[1]}" shall be present in "${n.templateStrings[0]}" node.`}}).join(" or "),$M=n=>{switch(n){case 0:return"Property name already defined.";case 2:return"Defined here";case 4:return"Defined here";case 7:case 6:return"Deleted here";case 9:return"Node";default:return"TODO"}},LM=n=>n.issues.map(e=>{switch(e){case 9:return`Only these value are allowed ${n.templateStrings[0]}`;case 1:return"INTRO should be empty";case 8:return"INTRO can only be assigned one value";case 5:return"INTRO should be assigned a U32";case 6:return"INTRO should be assigned a U64";case 7:return"INTRO should be assigned a 'property encoded array'";case 2:return"INTRO should be assigned a string";case 3:return"INTRO should be assigned a string list";case 4:return`INTRO expects ${n.templateStrings[1]} values`;case 0:return"INTRO is required";case 11:return"INTRO should be omitted";case 28:return"INTRO name is not permitted under this node";case 10:return"INTRO address value must match node address";case 12:return"INTRO should be 'cpu'";case 13:return"INTRO should be 'memory'";case 14:return"INTRO is deprecated and should not be used'";case 15:return`INTRO ${n.templateStrings[1]}'`;case 19:return"INTRO value must be unique in the entire Devicetree";case 20:return`INTRO should have format ${n.templateStrings[1]}`;case 16:return`INTRO requires property "${n.templateStrings[1]}" in node path "${n.templateStrings[2]}"`;case 18:return"Unable to resolve interrupt parent node";case 17:return`INTRO expects ${n.templateStrings[1]} interrupt cells`;case 21:return`INTRO should have format ${n.templateStrings[1]}`;case 22:return"Node is disabled";case 23:return"Unable to resolve handle";case 24:return`Unable to find "${n.templateStrings[0]}" in ${n.templateStrings[1]}`;case 25:return n.templateStrings[0];case 26:return n.templateStrings[0];case 27:return n.templateStrings[0];case 29:return n.templateStrings[0];case 31:return`INTRO exceeds address space of this node. Range: ${n.templateStrings[1]}-${n.templateStrings[2]}, reg: ${n.templateStrings[3]}-${n.templateStrings[4]}`;case 30:return`INTRO exceeds address space avalable for this mapping. The range ends at ${n.templateStrings[2]}, the node ends at ${n.templateStrings[1]}`;case 32:return`Range overlaps with other range on ${n.templateStrings[0]} address range`}}).join(" or ").replace("INTRO",`Property "${n.templateStrings[0]}"`).replaceAll("INTRO ",""),qM=n=>{switch(n){case 16:case 0:return"Node";case 17:return"Property";case 15:return"Ignored reason";case 19:return"Conflicting properties";case 8:return"Additional value";case 22:return"Disabled by";case 31:return"Address space";case 30:return"Mapping range";case 32:return"Overlapping range";default:return"TODO"}},Ft=(n,e)=>{let t=Math.max(n.length,e.length);for(let r=0;r<t;r++){let s=n[n.length-t+r]??0,i=e[e.length-t+r]??0;if(s<i)return-1;if(s>i)return 1}return 0},An=(n,e)=>{let t=Math.max(n.length,e.length),r=new Array(t).fill(0),s=0;for(let i=0;i<t;i++){let o=n[n.length-1-i]??0,a=e[e.length-1-i]??0,c=o+a+s;r[t-1-i]=c>>>0,s=c>4294967295?1:0}return s&&r.unshift(1),r},jM=(n,e)=>{let t=Math.max(n.length,e.length),r=new Array(t).fill(0),s=0;for(let i=0;i<t;i++){let o=n[n.length-1-i]??0,a=e[e.length-1-i]??0;o-=s,o<a?(o+=4294967296,s=1):s=0,r[t-1-i]=o-a>>>0}for(;r.length>1&&r[0]===0;)r.shift();return r},FM=(n,e)=>An(n,e),vk=(n,e)=>{for(let t of n){let r=t.childAddress,s=t.length,i=An(r,s);if(Ft(e,r)>=0&&Ft(e,i)<0){let o=jM(e,r),a=t.parentAddress,c=FM(a,o),l=An(a,s);return{start:c,end:l,ast:t.ast}}}return null},ld=n=>{let e=[];for(let t=0;t<n.length;t++)for(let r=t+1;r<n.length;r++){let s=n[t],i=n[r],o=s.childAddress,a=An(o,s.length),c=i.childAddress,l=An(c,i.length),u=s.parentAddress,d=An(u,s.length),f=i.parentAddress,p=An(f,i.length),y=Ft(o,l)<0&&Ft(c,a)<0,m=Ft(u,p)<0&&Ft(f,d)<0;(y||m)&&e.push({mappingA:s,mappingB:i,overlapOn:y&&m?"child and parent":y?"child":"parent"})}return e};var Xt=class{constructor(e,t,r){this.uri=e;this.range=t;this.issues=r}},ud=class extends Xt{constructor(t,r,s,i){super(r,s,i);this.value=t;this.type="STRING"}},dd=class extends Xt{constructor(t,r,s,i){super(r,s,i);this.values=t;this.type="BYTESTRING"}},fd=class extends Xt{constructor(t,r,s,i){super(r,s,i);this.value=t;this.type="ARRAY_VALUE"}},hd=class extends Xt{constructor(t,r,s,i,o){super(s,i,o);this.label=t;this.nodePath=r;this.type="LABEL_REF"}},pd=class extends Xt{constructor(t,r,s,i){super(r,s,i);this.nodePath=t;this.type="NODE_PATH"}},md=class extends Xt{constructor(t,r,s,i,o){super(s,i,o);this.value=t;this.evaluated=r}},gd=class extends md{constructor(t,r,s,i,o){super(t,r,s,i,o);this.type="NUMBER_VALUE"}},yd=class extends md{constructor(t,r,s,i,o){super(t,r,s,i,o);this.type="EXPRESSION"}},bd=class extends Xt{constructor(t,r,s,i){super(r,s,i);this.value=t}},vd=class extends Xt{constructor(t,r,s,i,o){super(s,i,o);this.name=t;this.values=r}},Td=class extends Xt{constructor(t,r,s,i){super(r,s,i);this.address=t}},Sd=class extends Xt{constructor(t,r,s,i,o,a){super(i,o,a);this.fullName=t;this.name=r;this.address=s}},_d=class extends Xt{constructor(t,r,s,i){super(r,s,i);this.name=t}};var qa=class extends Xt{constructor(t,r,s,i,o,a,c){super(o,a,c);this.type=t;this.name=r;this.properties=s;this.nodes=i}},Ed=class extends qa{constructor(e,t,r,s,i,o){super("REF",e,t,r,s,i,o)}},wd=class extends qa{constructor(e,t,r,s,i){super("ROOT",null,e,t,r,s,i)}},kd=class extends qa{constructor(e,t,r,s,i,o){super("CHILD",e,t,r,s,i,o)}};var vn=K(X()),q=class{constructor(e){this._children=[];this.issues=[];this._fisrtToken=e?.start,this._lastToken=e?.end}addIssue(e){this.issues.push(e)}get serializeIssues(){return this.issues.map(e=>e())}get firstToken(){return this._fisrtToken??this._children[0].tokenIndexes.start}set firstToken(e){this._fisrtToken=e}get lastToken(){return this._lastToken??this._children.at(-1)?.lastToken??this.firstToken}set lastToken(e){this._lastToken=e}get uri(){return this.firstToken.uri}getTopMostAstNodeForFile(e){return le(e,this.uri)?[this]:this.children.flatMap(t=>t.getTopMostAstNodeForFile(e))}get tokenIndexes(){return{start:this.firstToken,end:this.lastToken}}getDocumentSymbols(e){if(!this.docSymbolsMeta)return this.children.flatMap(r=>r.getDocumentSymbols(e)??[]);if(!le(this.uri,e))return[];let t=Z(this);return[{name:this.docSymbolsMeta.name?this.docSymbolsMeta.name:"__UNSET__",kind:this.docSymbolsMeta.kind,range:t,selectionRange:t,children:[...this.children.flatMap(r=>r.getDocumentSymbols(e)??[])]}]}getWorkspaceSymbols(){if(!this.docSymbolsMeta)return this.children.flatMap(r=>r.getWorkspaceSymbols()??[]);let e=this.docSymbolsMeta.kind;if(![vn.SymbolKind.File,vn.SymbolKind.Class,vn.SymbolKind.Namespace].some(r=>r===e))return[];let t=Z(this);return[{location:vn.Location.create(de(this.uri),t),name:this.docSymbolsMeta.name?this.docSymbolsMeta.name:"__UNSET__",kind:this.docSymbolsMeta.kind},...this.children.flatMap(r=>r.getWorkspaceSymbols()??[]).filter(r=>r.kind===vn.SymbolKind.File||r.kind===vn.SymbolKind.Class||r.kind===vn.SymbolKind.Namespace)]}buildSemanticTokens(e){this._children.forEach(t=>t.buildSemanticTokens(e)),!(!this.semanticTokenType||!this.semanticTokenModifiers)&&e(ui(this.semanticTokenType),di(this.semanticTokenModifiers),this.tokenIndexes)}get children(){return this._children}get allDescendants(){return this.allDescendantsCache??=[...this._children,...this._children.flatMap(e=>e.allDescendants)],this.allDescendantsCache}addChild(e){e&&(e.parentNode=this,this.children.push(e)),this.allDescendantsCache=void 0}toPrettyString(e){return this.toString()}toString(e){return"TODO"}get range(){return vn.Range.create(vn.Position.create(this.firstToken.pos.line,this.firstToken.pos.col),vn.Position.create(this.lastToken.pos.line,this.lastToken.pos.colEnd))}serialize(e){return new Xt(this.uri,this.range,this.serializeIssues)}};var lr=K(X());var wk=K(X());var Tk=K(X());var Ie=class extends q{constructor(t,r){super(r);this.value=t;this.semanticTokenType="string",this.semanticTokenModifiers="declaration",this.docSymbolsMeta={name:this.value,kind:Tk.SymbolKind.String}}toString(){return`"${this.value.toString()}"`}toJson(){return this.value}serialize(){return new ud(this.value,this.uri,this.range,this.serializeIssues)}};var _k=K(X());var Sk=K(X());function BM(n){return n.replace(/'(.)'/g,(e,t)=>t.charCodeAt(0).toString()).replace(/(0x[a-f\d]+|\d+)[ul]*/gi,"$1")}function ig(n){try{return(0,eval)(BM(n))}catch(e){console.log(e)}return n}var Qt=class extends q{toJson(){return-1}resolve(e){return bk(this.toString(),e)}evaluate(e){return ig(this.resolve(e))}isTrue(e){return ig(`!!(${this.resolve(e)})`)}toPrettyString(e){let t=this.evaluate(e);return`${t.toString()} /* ${this.toString()}${typeof t=="number"?` = 0x${t.toString(16)}`:""} */`}serialize(e){return new yd(this.toString(),this.evaluate(e),this.uri,this.range,this.serializeIssues)}},fi=class extends Qt{constructor(t,r,s){super();this.expression=t;this.wrapped=r;this.join=s;this.addChild(t),s&&(this.addChild(s.operator),this.addChild(s.expression))}addExpression(t,r){this.addChild(t),this.addChild(r)}toString(){let t=this.children.map(r=>r.toString()).join(" ");return this.wrapped?`(${t})`:`${t}`}isTrue(t){let r=`(${this.children.map(s=>s instanceof Qt?s.resolve(t):s.toString()).join(" ")})`;return ig(`!!${r}`)}};var It=class extends Qt{constructor(t,r){super(r);this.value=t;this.docSymbolsMeta={name:this.value.toString(),kind:Sk.SymbolKind.Number},this.semanticTokenType="number",this.semanticTokenModifiers="declaration"}toString(t){return this.value.toString(t)}toJson(){return this.value}toPrettyString(t){let r=this.evaluate(t);return`${r.toString()} /* ${typeof r=="number"?`0x${r.toString(16)}`:""} */`}serialize(){return new gd(this.value.toString(),this.value,this.uri,this.range,this.serializeIssues)}};var St=class extends q{constructor(t){super();this.values=t;this.docSymbolsMeta={name:"Cell Array",kind:_k.SymbolKind.Array},this.values.forEach(r=>this.addChild(r))}toString(){return`<${this.values.map(t=>t.toString()).join(" ")}>`}toPrettyString(t){return`<${this.values.map(r=>r.toPrettyString(t)).join(" ")}>`}toJson(){if(this.values.length===1)return this.values[0].value?.toJson();if(this.values.length===2&&this.values.every(t=>t.value instanceof It)){let t=new ArrayBuffer(8),r=new DataView(t);return this.values.map(s=>s.value.value).forEach((s,i)=>{r.setUint32(i*4,s)}),r.getBigUint64(0)}return this.values.map(t=>t.value?.toJson()??NaN)}serialize(t){let r=this.values.map(s=>s.value?.serialize(t)??null);return new fd(r,this.uri,this.range,this.serializeIssues)}};var Ek=K(X());var Ss=class extends q{constructor(t){super();this.values=t;this.docSymbolsMeta={name:"Byte String Value",kind:Ek.SymbolKind.Array},this.values.forEach(r=>this.addChild(r))}toString(){return`[${this.values.map(t=>t.toString(16).padStart(2,"0")).join(" ")}]`}toJson(){return this.values.map(t=>t.value?.toJson()??NaN)}serialize(){return new dd(this.values.map(t=>t.value?{value:t.value.toString(16),range:t.value.range,evaluated:t.value.value}:null),this.uri,this.range,this.serializeIssues)}};var je=class extends q{constructor(t,r){super(r);this.name=t;this.semanticTokenType="property",this.semanticTokenModifiers="declaration"}toString(){return this.name}serialize(){return new bd(this.name,this.uri,this.range,this.serializeIssues)}},xe=class extends q{constructor(t,r=[]){super();this.propertyName=t;this.labels=r;this._values=void 0;this.docSymbolsMeta={name:this.propertyName?.name??"Unknown",kind:wk.SymbolKind.Property},this.labels.forEach(s=>this.addChild(s)),this.addChild(t)}set values(t){if(this._values)throw new Error("Only one property name is allowed");this._values=t,this.addChild(t)}get values(){return this._values}get quickValues(){return this.values?.values.map(t=>t?t.value instanceof Ie?t.value.value:t.value instanceof St?t.value.values.map(r=>r.value instanceof It?r.value.value:NaN):t.value instanceof Ss?t.value.values.map(r=>r.value?.value??NaN):NaN:null)}toString(){return`${this.propertyName?.toString()??"__UNSET__"}${this.assignOperatorToken?` = ${this._values?.values.map(t=>t?.toString()??"NULL").join(", ")??"NULL"}`:""};`}toPrettyString(t){return`${this.propertyName?.toString()??"__UNSET__"}${this.assignOperatorToken?` = ${this._values?.values.map(r=>r?.toPrettyString(t)??"NULL").join(", ")??"NULL"}`:""};`}serialize(t){return new vd(this.propertyName?.serialize()??null,this.values?.values.map(r=>r?.value?.serialize(t)??null)??null,this.uri,this.range,this.serializeIssues)}};var kk=K(X()),cn=class extends q{constructor(t,r){super();this.keyword=r;this.addChild(r),this.docSymbolsMeta={name:t,kind:kk.SymbolKind.Function}}};var Tn=class extends cn{constructor(t){super("Delete Node",t);this._nodeNameOrRef=null}set nodeNameOrRef(t){if(this._nodeNameOrRef)throw new Error("Only one property name is allowed");this._nodeNameOrRef=t,this.addChild(t)}get nodeNameOrRef(){return this._nodeNameOrRef}};var We=class extends cn{constructor(t){super("Delete Property",t);this._propertyName=null}set propertyName(t){if(this._propertyName)throw new Error("Only only property name is allowed");this._propertyName=t,this.addChild(t)}get propertyName(){return this._propertyName}};var Fe=class n extends q{constructor(){super()}get path(){if(!this.pathName)return["__UNDEFINED__"];if(!this.parentNode||this instanceof mt)return[this.pathName];if(!(this.parentNode instanceof n))return;let e=this.parentNode.path;return e?[...e,this.pathName]:[this.pathName]}get pathName(){}get nodes(){return this.children.filter(e=>e instanceof n)}get deleteNodes(){return this.children.filter(e=>e instanceof Tn)}addNodeChild(e){this.addChild(e)}},mt=class extends Fe{constructor(){super(),this.docSymbolsMeta={name:"/",kind:lr.SymbolKind.Class}}get properties(){return this.children.filter(e=>e instanceof xe)}get name(){return new Me("/",H(this.firstToken))}get deleteProperties(){return this.children.filter(e=>e instanceof We)}get nodes(){return this.children.filter(e=>e instanceof Pe)}get pathName(){return"/"}serialize(e){return new wd(this.properties.map(t=>t.serialize(e)),this.nodes.map(t=>t.serialize(e)),this.uri,this.range,this.serializeIssues)}},xt=class extends Fe{constructor(t=[]){super();this.labels=t;this._labelReference=null;this.docSymbolsMeta={name:"DTC Name",kind:lr.SymbolKind.Class},t.forEach(r=>{super.addChild(r)})}get serializeIssues(){return[...this.issues,...this.labelReference?.issues??[]].map(t=>t())}set labelReference(t){if(this._labelReference)throw new Error("Only on label reference is allowed");this._labelReference=t,this.docSymbolsMeta={name:this.labelReference?.value??"DTC Name",kind:lr.SymbolKind.Class},this.addChild(t)}get path(){return this.resolveNodePath?this.resolveNodePath:super.path}get labelReference(){return this._labelReference}get nodes(){return this.children.filter(t=>t instanceof Pe)}get pathName(){return this.labelReference?.label?`&${this.labelReference?.label?.value}`:void 0}get properties(){return this.children.filter(t=>t instanceof xe)}get deleteProperties(){return this.children.filter(t=>t instanceof We)}serialize(t){return new Ed(this.labelReference?.serialize()??null,this.properties.map(r=>r.serialize(t)),this.nodes.map(r=>r.serialize(t)),this.uri,this.range,this.serializeIssues)}},Pe=class n extends Fe{constructor(t=[],r){super();this.labels=t;this.omitIfNoRef=r;this._name=null;this.docSymbolsMeta={name:"DTC Name",kind:lr.SymbolKind.Class},r&&this.addChild(r),t.forEach(s=>{this.addChild(s)})}get serializeIssues(){return[...this.issues,...this.name?.issues??[]].map(t=>t())}set name(t){if(this._name)throw new Error("Only on label reference is allowed");this._name=t,this.docSymbolsMeta={name:this._name?.toString()??"DTC Name",kind:lr.SymbolKind.Class},this.addChild(t)}get name(){return this._name}get nodes(){return this.children.filter(t=>t instanceof n)}get pathName(){return this._name?.toString()}get properties(){return this.children.filter(t=>t instanceof xe)}get deleteProperties(){return this.children.filter(t=>t instanceof We)}serialize(t){return new kd(this.name?.serialize()??null,this.properties.map(r=>r.serialize(t)),this.nodes.map(r=>r.serialize(t)),this.uri,this.range,this.serializeIssues)}},Nd=class extends q{constructor(t,r){super(r);this.address=t;this.semanticTokenType="variable",this.semanticTokenModifiers="declaration"}toString(){return this.address?.map((t,r)=>t.toString(16).padStart(r?8:0,"0")).join("")??"NaN"}serialize(){return new Td(this.address,this.uri,this.range,this.serializeIssues)}},Me=class extends q{constructor(t,r,s){super(r);this.name=t;this._address=s;this.semanticTokenType="variable",this.semanticTokenModifiers="declaration"}get value(){return this.name}get address(){return this._address}set address(t){if(this._address)throw new Error("Address can only be set once");t&&(this.lastToken=void 0,this._address=t,t.forEach(r=>this.addChild(r)))}get fullAddress(){return this._address?[...this._address.flatMap(t=>t.address)]:void 0}toString(){return this._address!==void 0?`${this.name}@${this._address.map(t=>t.toString()).join(",")}`:this.name}buildSemanticTokens(t){if(!this.tokenIndexes?.start||!this.tokenIndexes.start.value)return;let r={...this.tokenIndexes.start,pos:{...this.tokenIndexes.start.pos,len:this.name.length}};t(ui("type"),di("declaration"),{start:r,end:r}),this.address!==void 0&&this.address.forEach(s=>{t(ui("decorator"),di("declaration"),{start:s.lastToken.prevToken,end:s.lastToken.prevToken}),s.buildSemanticTokens(t)})}get serializeIssues(){return[...this.issues,...this._address?.flatMap(t=>t.issues)??[]].map(t=>t())}serialize(){return new Sd(this.toString(),new _d(this.name,this.uri,lr.Range.create(lr.Position.create(this.tokenIndexes.start.pos.line,this.tokenIndexes.start.pos.col),lr.Position.create(this.tokenIndexes.start.pos.line,this.tokenIndexes.start.pos.colEnd)),[]),this.address?.map(t=>t.serialize())??null,this.uri,this.range,this.serializeIssues)}};var Nk=K(X());var ye=class extends q{constructor(t){super();this.label=t;this.docSymbolsMeta={name:`&${this.label?.value??"NULL"}`,kind:Nk.SymbolKind.Key},this.addChild(t)}get value(){return this.label?.value}toString(){return`&${this.label?.value??"NULL"}`}toJson(){return-1}serialize(){return new hd(this.label?.toString()??null,this.linksTo?.pathString??null,this.uri,this.range,this.serializeIssues)}};var dr=K(X());var Pt=n=>n instanceof cn?!0:n instanceof Fe?!1:n.parentNode?Pt(n.parentNode):!1;var go=n=>[...n.map(e=>{if(e instanceof Pe||e instanceof mt)return e.name;if(e instanceof xt)return e.labelReference})].filter(e=>!!e),og=(n,e)=>e?e.parentNode===n||og(n,e.parentNode):!1;var ht=K(X());var Pk=K(X());var Xr=class extends q{constructor(){super();this._pathParts=[]}addPath(t,r){this._pathParts.push(t),r&&this.addChild(r),this.addChild(t)}get pathParts(){return[...this._pathParts]}toString(){return this._pathParts.map(t=>t?.toString()??"<NULL>").join("/")}},In=class extends q{constructor(t){super();this.path=t;this.docSymbolsMeta={name:`/${this.path?.toString()??""}`,kind:Pk.SymbolKind.Namespace},this.semanticTokenType="variable",this.semanticTokenModifiers="declaration",this.addChild(t)}toString(){return`&${this.path?.toString()??"NULL"}`}toJson(){return-1}serialize(){return new pd(this.path?.toString()??null,this.uri,this.range,this.serializeIssues)}};var lt=K(X());var Pd=K(X());var Rk=require("path"),_s=class extends q{constructor(t,r){super();this.keyword=t;this.path=r;this.docSymbolsMeta={name:`Include ${r}`,kind:Pd.SymbolKind.File},this.addChild(t),this.addChild(r)}get resolvedPath(){return this._resolvedPath}set resolvedPath(t){this.docSymbolsMeta={name:`Include ${t}`,kind:Pd.SymbolKind.File},this._resolvedPath=t}},yo=class extends q{constructor(t,r,s){super(s);this._path=t;this.relative=r;this.docSymbolsMeta={name:(0,Rk.basename)(this.path),kind:Pd.SymbolKind.File},this.semanticTokenType="string",this.semanticTokenModifiers="declaration"}get path(){return this.relative?this._path.slice(1,-1):this._path}};var Dr=class extends q{constructor(e){super(e),this.semanticTokenType="comment",this.semanticTokenModifiers="documentation"}};var UM=async(n,e,t)=>{let r=lt.Position.create(n.pos.line,n.pos.col),s=t.find(i=>On(i,e,r));if(s)return Pr(s,e,r)},ag=n=>{if(n)return n instanceof Fe?n:ag(n?.parentNode)},vo=(n,e,t=0)=>!e||!le(e.uri,n)?t:vo(n,ag(e.parentNode),t+1),VM=(n,e)=>async t=>{let r=await UM(t.firstToken,e,n);return!r||r===t||t.allDescendants.some(i=>i===r)?0:r instanceof Fe?vo(e,ag(r)):void 0};async function Dk(n,e){let t=[],r=tt(n.textDocument.uri),s=(await e.getRuntime()).fileTopMostAsts(r);return t.push(...(await Promise.all(s.flatMap(async i=>await Ck(n,i,r,VM(s,r))))).flat()),t}var hi=(n,e=1)=>{if(n.prevToken){let t=n.pos.line-n.prevToken.pos.line;if(t-e&&(t!==2&&e!==0||e===0))return lt.TextEdit.replace(lt.Range.create(lt.Position.create(n.prevToken.pos.line,n.prevToken.pos.colEnd),lt.Position.create(n.pos.line-e,n.pos.col)),"".padEnd(e-1,`
183
183
  `))}},bo=(n,e,t,r="")=>{if(n.pos.line===n.prevToken?.pos.line)return lt.TextEdit.replace(lt.Range.create(lt.Position.create(n.pos.line,n.pos.col),lt.Position.create(n.pos.line,n.pos.col)),`
184
184
  ${r}${"".padStart(e*t.length,t)}`)},Es=(n,e,t,r="")=>lt.TextEdit.replace(lt.Range.create(lt.Position.create(n.pos.line,0),lt.Position.create(n.pos.line,n.pos.col)),`${"".padStart(e*t.length,t)}${r}`),_t=(n,e=1)=>{if(!n.nextToken)return[];if(n.nextToken?.pos.line!==n.pos.line){let r=hi(n.nextToken,0);if(!r)throw new Error("remove new LinesEdit must be defined");return[lt.TextEdit.insert(lt.Position.create(n.pos.line,n.pos.colEnd),"".padEnd(e," ")),r]}return n.nextToken.pos.col-n.pos.colEnd===e?[]:[lt.TextEdit.replace(lt.Range.create(lt.Position.create(n.pos.line,n.pos.colEnd),lt.Position.create(n.nextToken.pos.line,n.nextToken.pos.col)),"".padEnd(e," "))]},WM=async(n,e,t,r,s,i)=>{if(!le(e.uri,t))return[];let o=[],a=bo(e.firstToken,r,s);if(a)o.push(a);else{o.push(Es(e.firstToken,r,s));let l=hi(e.firstToken);l&&o.push(l)}if(e instanceof Pe||e instanceof xt)if(o.push(...e.labels.flatMap(l=>_t(l.lastToken))),e instanceof Pe){let l=e.name&&e.openScope?_t(e.name.lastToken):[];o.push(...l)}else{let l=e.labelReference&&e.openScope?_t(e.labelReference.lastToken):[];o.push(...l)}if(o.push(...(await Promise.all(e.children.flatMap(l=>Ck(n,l,t,i,r+1)))).flat()),e.closeScope){let l=bo(e.closeScope,r,s);if(l)o.push(l);else{o.push(Es(e.closeScope,r,s));let u=hi(e.closeScope);u&&o.push(u)}}let c=e.lastToken.value===";"&&e.lastToken.prevToken?_t(e.lastToken.prevToken,0):[];return o.push(...c),o},zM=(n,e,t,r)=>{let s=[];if(s.push(..._t(n.lastToken,r?0:1)),n.firstToken.pos.line!==n.firstToken.prevToken?.pos.line){let i=hi(n.firstToken);i&&s.push(i),s.push(Es(n.firstToken,e+1,t))}return n.value,s},HM=(n,e,t,r)=>{let s=[];return n instanceof St||n instanceof Ss?(n.openBracket&&s.push(..._t(n.openBracket,0)),s.push(...n.values.flatMap((i,o)=>zM(i,e,t,o+1===n.values.length&&n.lastToken.nextToken===n.closeBracket))),n.closeBracket&&n.closeBracket?.nextToken?.value!==";"&&n.openBracket&&s.push(..._t(n.closeBracket,0))):n?.lastToken&&r&&s.push(..._t(n.lastToken,n?.lastToken.nextToken?.value===","?0:1)),s},KM=(n,e,t,r)=>{let s=[];return s.push(...n.startLabels.flatMap((i,o)=>o+1===n.startLabels.length?[]:_t(i.lastToken))),s.push(...HM(n.value,e,t,!r||n.endLabels.length>0)),s.push(...n.endLabels.flatMap((i,o)=>o+1===n.endLabels.length?[]:_t(i.lastToken))),s},GM=(n,e,t)=>{let r=[],s=i=>{if(i&&On(n,n.uri,lt.Position.create(i.pos.line,i.pos.col)))return i.value===","?i:s(i.nextToken)};return n.values.forEach((i,o)=>{if(!i)return[];let a=s(i.lastToken),c=n.values.at(o+1);if(a){if(a.pos.line===c?.firstToken?.pos.line)r.push(..._t(a,1));else if(c?.firstToken){let l=hi(c?.firstToken);l&&r.push(l),r.push(Es(c?.firstToken,e+1,t))}}}),[...r,...n.values.flatMap((i,o)=>i?KM(i,e,t,o+1===n.values.length):[])]},YM=(n,e,t)=>{let r=[],s=bo(n.firstToken,e,t);if(s)r.push(s);else{r.push(Es(n.firstToken,e,t));let o=hi(n.firstToken);o&&r.push(o)}if(r.push(...n.labels.flatMap(o=>_t(o.lastToken))),n.values){if(n.propertyName){r.push(..._t(n.propertyName?.lastToken));let o=c=>c?c.value==="="?c:o(c.nextToken):void 0,a=o(n.propertyName?.lastToken.nextToken);a&&r.push(..._t(a))}r.push(...GM(n.values,e,t))}let i=n.lastToken.value===";"&&n.lastToken.prevToken?_t(n.lastToken.prevToken,0):[];return r.push(...i),r},JM=(n,e,t)=>{let r=[],s=bo(n.firstToken,e,t);s?r.push(s):r.push(Es(n.firstToken,e,t));let i=_t(n.keyword.lastToken);r.push(...i);let o=n.lastToken.value===";"&&n.lastToken.prevToken?_t(n.lastToken.prevToken,0):[];return r.push(...o),r},XM=(n,e,t,r)=>{if(t===void 0)return[];if(!le(n.uri,e))return[];let s=[],i=bo(n.firstToken,t,r);i?s.push(i):s.push(Es(n.firstToken,t,r));let o=_t(n.keyword.lastToken);return s.push(...o),s},QM=(n,e,t)=>{let r=[];if(n.lastToken.pos.line===n.lastToken.nextToken?.pos.line&&n.lastToken.nextToken.value!==";"&&r.push(..._t(n.lastToken)),e!==void 0&&n.firstToken.pos.line===n.firstToken.prevToken?.pos.line&&n.firstToken.pos.line===n.lastToken.pos.line)return r.push(..._t(n.firstToken.prevToken)),r;if(e===void 0)return r;let s=n.firstToken.value.startsWith("*")?" ":"",i=bo(n.firstToken,e,t,s);if(i)r.push(i);else{r.push(Es(n.firstToken,e,t,s));let o=hi(n.firstToken);o&&r.push(o)}return r},Ck=async(n,e,t,r,s=0)=>{let i=n.options.tabSize,a=n.options.insertSpaces?"".padStart(i," "):" ";return hk(a),e instanceof Fe?WM(n,e,t,s,a,r):e instanceof xe?YM(e,s,a):e instanceof cn?JM(e,s,a):e instanceof _s?XM(e,t,await r(e),a):e instanceof Dr?QM(e,await r(e),a):[]};function ZM(n){switch(n){case"EMPTY":return"EMPTY";case"U32":return"U32";case"U64":return"U64";case"STRING":return"STRING";case"PROP_ENCODED_ARRAY":return"PROP_ENCODED_ARRAY";case"STRINGLIST":return"STRINGLIST";case"BYTESTRING":return"BYTESTRING";case"ANY":return"ANY";case"UNKNOWN":return"UNKNOWN"}}function e$(n){switch(n){case"EMPTY":return";";case"U32":return" = <10>";case"U64":return" = <10 20>";case"STRING":return' = "str"';case"PROP_ENCODED_ARRAY":return" = <10 20 30 ...>";case"STRINGLIST":return' = "str1" "str2"';case"BYTESTRING":return" = [10 20 .. ..]"}}var G=class{constructor(e,t,r="optional",s=void 0,i,o){this.name=e;this.type=t;this.def=s;this.additionalTypeCheck=o;this.hideAutoComplete=!1;this.list=!1;this.onHover=()=>({kind:ht.MarkupKind.Markdown,value:["### Type","**DTS native type** ",`${this.type.map(e=>e.types.map(ZM).join(" or ")).join(",")}
185
185
 
@@ -287,4 +287,4 @@ ${r}`])]:[]}else if(e.keyword==="maxItems"||e.keyword==="minItems"){let o=i.getP
287
287
  ${JSON.stringify(e)}
288
288
  ${r}`])]:[F(26,s.node.definitions[0]instanceof mt?s.node.definitions[0]:s.node.definitions[0].name??s.node.definitions[0],void 0,void 0,void 0,[`${e.message??"NO MESSAGE"}:
289
289
  ${JSON.stringify(e)}
290
- ${r}`])]},jH=(n,e)=>DO(n,e.split("/").filter(t=>t)),DO=(n,e)=>{if(e.length===0)return{node:n,remainingInstancePath:""};let t=e[0].split("@"),r=t[0],s=t.at(1)?.split(",").map(o=>Number.parseInt(o,16)),i=n.getNode(r,s);return i?DO(i,e.slice(1)):{node:n,property:n.getProperty(e[0]),remainingInstancePath:e.slice(1).join("/")}};var TT=class n{constructor(){this.schemaIdValidators=new Map;this.ajvMap=new Map}static getNodeCompatible(e){let r=e.getProperty("compatible")?.ast.values;if(!r?.values.some(s=>!(s?.value instanceof Ie)))return r?.values.map(s=>(s?.value).value)}parseMetaSchema(e,t){ki.sync("**/*.yaml",{cwd:e}).forEach(s=>{s=(0,bT.resolve)(e,s);try{let i=yT.default.parse((0,vT.readFileSync)(s,"utf-8"));t.addMetaSchema(i),this.schemaIdValidators.set(i.$id,s)}catch{}})}parseBindings(e,t){ki.sync("**/*.yaml",{cwd:e}).forEach(s=>{s=(0,bT.resolve)(e,s);try{let i=yT.default.parse((0,vT.readFileSync)(s,"utf-8"));t.addSchema(i),this.schemaIdValidators.set(i.$id,s)}catch(i){console.warn(s,i.message)}})}getNodeTypes(e,t,r){let s=`${e.join(";")}::${t.join(";")}`,i=this.ajvMap.get(s);return i||(i=new AO.default({strict:!1,strictSchema:!1,strictNumbers:!1}),i.addMetaSchema(gT),this.ajvMap.set(s,i),e.forEach(c=>this.parseMetaSchema(c,i)),t.forEach(c=>this.parseBindings(c,i))),n.getNodeCompatible(r)?.map(c=>{try{let l=Array.from(this.schemaIdValidators.keys()).find(f=>f.endsWith(`/${c}.yaml#`));if(!l)return;let u=new Kh(i,l);u.bindingsPath=this.schemaIdValidators.get(l),u.compatible=c;let d=i.getSchema(l);return u.description=(d?.schema).description,u.examples=(d?.schema).examples,u.maintainers=(d?.schema).maintainers,u}catch(l){console.warn(l.message)}}).filter(c=>c)??[]}},CO,OO=()=>(CO??=new TT,CO);var LO=K(Qy());var fa=require("path"),qO=require("fs");var Ur=K(X());var IO=n=>{switch(n){case"string":return W("STRING");case"int":return W("U32");case"boolean":return W("EMPTY");case"array":return W("PROP_ENCODED_ARRAY");case"uint8-array":return W("BYTESTRING");case"string-array":return W("STRINGLIST");case"phandle":return W("U32");case"phandles":return W("PROP_ENCODED_ARRAY");case"phandle-array":return W("PROP_ENCODED_ARRAY");case"path":return W(["STRING","U32"]);case"compound":return W("ANY")}},xO=(n,e)=>{switch(n){case"string":return typeof e=="string"?e:void 0;case"int":return typeof e=="number"?e:void 0;case"boolean":return;case"array":return Array.isArray(e)&&e.every(t=>typeof t=="number")?e:void 0;case"uint8-array":return Array.isArray(e)&&e.every(t=>typeof t=="number")?e:void 0;case"string-array":return Array.isArray(e)&&e.every(t=>typeof t=="string")?e:void 0;case"phandle":return;case"phandles":return;case"phandle-array":return;case"path":return;case"compound":return}},Gh=(n,e)=>{if(e=e.include.reduce((t,r)=>{let s=n.find(i=>(0,fa.basename)(i.filePath)===r.name);if(s){let i=r["property-blocklist"];return t.include=t.include.filter(o=>o!==r),FH(n,s,t,i)??t}return console.warn(`Unable to find ${r}`),t},e),e["child-binding"]&&(e["child-binding"].include=jO(e["child-binding"].include),e["child-binding"]=Gh(n,e["child-binding"])),!e.include.length)return e},FH=(n,e,t,r=[])=>{let s=Gh(n,e),i=Gh(n,t);if(!s||!i)return;let o=new Set;Object.keys(s?.properties??{}).forEach(d=>o.add(d)),Object.keys(i?.properties??{}).forEach(d=>o.add(d));let a={};Array.from(o).forEach(d=>{let f=r?.some(y=>y===d)?{}:s.properties?.[d]??{},p=i.properties?.[d]??{};a={...a,[d]:{...f,...p}}}),i.properties=a;let c=new Set;return Object.keys(s).filter(d=>d.endsWith("-cells")).forEach(d=>c.add(d)),Object.keys(s).filter(d=>d.endsWith("-cells")).forEach(d=>c.add(d)),Array.from(c).forEach(d=>{let f=s[d]??[],p=i[d]??[];i[d]=Array.from([...f,...p])}),i},jO=n=>n?typeof n=="string"?[{name:n}]:n.map(e=>typeof e!="string"?e:{name:e}):[],ST=class n{constructor(){this.typeCache=new Map;this.readFolders=[]}static getNodeCompatible(e){let r=e.getProperty("compatible")?.ast.values;if(!r?.values.some(s=>!(s?.value instanceof Ie)))return r?.values.map(s=>(s?.value).value)}getNodeTypes(e,t){let r=n.getNodeCompatible(t);if(!r)return[pi(t)];let s=r.map(o=>this.typeCache.get(o)?.(t)).filter(o=>o);if(s.length)return s;this.loadTypeAndCache(e);let i=r.map(o=>this.typeCache.get(o)?.(t)).filter(o=>o);return i.length?i:[pi(t)]}loadTypeAndCache(e){e=Array.isArray(e)?e:[e],e.forEach(t=>{if(this.readFolders.indexOf(t)!==-1)return;this.readFolders.push(t);let s=ki.sync("**/*.yaml",{cwd:t,ignore:"test/*"}).map(o=>{o=(0,fa.resolve)(t,o);try{let a=LO.default.parse((0,qO.readFileSync)(o,"utf-8"));return{...a,include:jO(a?.include),filePath:o}}catch(a){console.warn(a)}}).filter(o=>!!o),i=s.map(o=>Gh(s,o)).filter(o=>!!o&&!o.include.length);BH(i,this.typeCache)})}},MO,FO=()=>(MO??=new ST,MO),BH=(n,e)=>n.forEach(t=>{let r=t.compatible??(t.filePath?(0,fa.basename)(t.filePath,"yaml"):void 0);r&&e.set(r,s=>BO(t,s))}),BO=(n,e)=>{let t=pi(e);t.compatible=n.compatible??(n.filePath?(0,fa.basename)(n.filePath,"yaml"):void 0),t.description=n.description,t.bindingsPath=n.filePath,t.bus=typeof n.bus=="string"?[n.bus]:n.bus,t.onBus=n["on-bus"];let s=Object.keys(n).filter(i=>i.endsWith("-cells")).map(i=>({specifier:i.replace(/-cells$/,""),values:n[i]}));if(n.properties&&Object.keys(n.properties).forEach(i=>{let o=n.properties[i];UH(t,i,o),t.cellsValues=s}),n["child-binding"]){let i=n["child-binding"];t.childNodeType=o=>BO(i,o)}return t},UH=(n,e,t)=>{let r=n.properties.find(s=>s.getNameMatch(e));if(r&&typeof r.name=="string"){r.required=()=>t.required?"required":"optional",r.values=()=>t.enum??[],r.constValue=xO(t.type,t.const),r.bindingType=t.type;let s=r.additionalTypeCheck;r.additionalTypeCheck=(i,o)=>[...$O(t,e,r)(i,o),...s?.(i,o)??[]]}else{let s=t.type==="compound"?r?.type:IO(t.type);s??=IO(t.type);let i=new G(e,s,t.required?"required":"optional",void 0,t.enum);i.additionalTypeCheck=(o,a)=>{let c=[...r?.additionalTypeCheck?.(o,a)??[],...$O(t,e,i)(o,a)];return i.typeExample??=r?.typeExample,c},i.description=t.description?[t.description]:r?.description,i.bindingType=t.type,i.constValue=xO(t.type,t.const),n.addProperty(i)}},$O=(n,e,t)=>{let r=n;return(s,i)=>{let o=s.parent.root,a=[];if(r.const){let c=s.ast.quickValues;if(c?.length==1){let l=Array.isArray(r.const)?r.const:[r.const];Array.isArray(c[0])&&l.length===c[0].length&&c[0].every((d,f)=>typeof d=="number"&&Number.isNaN(d)||l[f]===d)||a.push(F(25,s.ast.values??s.ast,Ur.DiagnosticSeverity.Error,[],[],[`Binding expects values to be "${r.type}" with value: ${r.const}`]))}}if(r.deprecated&&a.push(F(14,s.ast,Ur.DiagnosticSeverity.Warning,[],[Ur.DiagnosticTag.Deprecated],[s.name])),(r.type==="phandle"||r.type==="phandles"||r.type==="path")&&Mt(s.ast.values)?.forEach(l=>{ur(l,o)||a.push(F(23,l,Ur.DiagnosticSeverity.Error))}),r.type==="path"&&s.ast.values?.values.at(0)?.value instanceof Ie){let c=s.ast.values?.values.at(0)?.value,l=[];c.value.split("/").every(u=>{let d=o.getNode(u);return d?l.push(u):a.push(F(24,c,Ur.DiagnosticSeverity.Error,[],[],[u,`/${l.join("/")}`])),!d})}if(r.type==="phandle-array"){let c=Mt(s.ast.values),l=0;for(;c&&l<c.length;){let u=c.at(l),d=ur(u,o);if(!d){a.push(F(23,u??s.ast,Ur.DiagnosticSeverity.Error));break}let f="";e.endsWith("-gpios")?f="gpio":f=r["specifier-space"]??e.slice(0,-1);let p=d.getProperty(`#${f}-cells`);if(!p){a.push(F(16,s.ast,Ur.DiagnosticSeverity.Error,[...d.nodeNameOrLabelRef],[],[s.name,`#${f}-cells`,`/${d.path.slice(1).join("/")}`]));break}let y=p?at(p,0,0,i)??0:0,m=d.nodeType?.cellsValues?.find(S=>S.specifier===f)?.values;if(t.typeExample=`<${["phandel",...m??[],...Array.from({length:y-(m?.length??0)},()=>"cell")].join(" ")}>`,1+y>c.length-l){a.push(F(20,u??s.ast,Ur.DiagnosticSeverity.Error,[],[],[s.name,t.typeExample]));break}l+=1+y}}return a}};var UO=(n,e)=>({files:n,type:e,getNodeTypes:async t=>{switch(e){case"Zephyr":return FO().getNodeTypes(n.zephyrBindings,t);case"DevicetreeOrg":return OO().getNodeTypes(n.deviceOrgBindingsMetaSchema,n.deviceOrgTreeBindings,t)}}});var ET=K(X());var _T=n=>!n.openScope||!n.closeScope?.prevToken?n.nodes.flatMap(_T):[{startLine:n.openScope.pos.line,startCharacter:n.openScope.pos.col,endLine:n.closeScope.prevToken.pos.line,endCharacter:n.closeScope.prevToken.pos.col,kind:ET.FoldingRangeKind.Region},...n.nodes.flatMap(_T)],VO=n=>{let e=[];return[...n instanceof Ds?n.ifBlocks.map(t=>({start:(t.expression??t.keyword).lastToken,end:t.content?.lastToken??(t.expression??t.keyword).lastToken})):[{start:(n.ifDef.identifier??n.ifDef.keyword).lastToken,end:n.ifDef.content?.lastToken}],n.elseOption?{start:n.elseOption.keyword.lastToken,end:n.elseOption.content?.lastToken}:null].forEach(t=>{!t||!t.end||e.push({startLine:t.start.pos.line,startCharacter:t.start.pos.col,endLine:t.end.pos.line,endCharacter:t.end.pos.colEnd,kind:ET.FoldingRangeKind.Region})}),e},VH=n=>n instanceof Fe?_T(n):n instanceof wo||n instanceof Ds?VO(n):[];function WO(n,e){return e.allAstItems.flatMap(t=>[t,...t.allDescendants]).filter(t=>le(t.uri,n)).flatMap(VH)}var qi=K(X());function WH(n){if(!n||!(n.ast instanceof Me)&&!(n.ast instanceof Bt))return[];let e=t=>t.nodeType?.bindingsPath?[qi.Location.create(de(t.nodeType.bindingsPath),qi.Range.create(qi.Position.create(0,0),qi.Position.create(0,0)))]:[];return n.item instanceof Se&&!Pt(n.ast)?e(n.item):n.ast instanceof Bt&&n.ast.parentNode instanceof ye&&n.ast.parentNode.linksTo?e(n.ast.parentNode.linksTo):n.ast instanceof Me&&n.ast.linksTo?e(n.ast.linksTo):[]}async function zO(n,e){return Nt(n,e,t=>[...WH(t)])}var Jh=require("fs");var zH=(n,e)=>{fr().reset(n),fr().requestTokens(n,!0),e(n)},Yh=class{constructor(e,t,r){this.file=e;this.cb=t;this.hasDocumentOpen=r;this.count=0}watch(){if(this.count++,this.count===1){console.log("create watch for",this.file);let e=this.file,t=this.cb;this.onChange=()=>{if(this.hasDocumentOpen(e)){console.log("skipping on change document is open",e);return}console.log("onChange",e),zH(e,t)},(0,Jh.watchFile)(e,this.onChange)}}unwatch(){this.count--,this.count===0&&(console.log("dispose watch for",this.file),(0,Jh.unwatchFile)(this.file,this.onChange),this.onChange=void 0)}};var sn=K(require("path")),wT=require("fs");var er=async(n,e)=>(e&&(n=n.replaceAll("${workspaceFolder}",e)),n),ji={defaultBindingType:"Zephyr",defaultZephyrBindings:[],defaultIncludePaths:[],defaultDeviceOrgBindingsMetaSchema:[],defaultDeviceOrgTreeBindings:[],contexts:[],defaultLockRenameEdits:[],allowAdhocContexts:!0,autoChangeContext:!0},kT=async(n,e,t)=>{let r=(n.cwd?await er(n.cwd,t):void 0)??e.cwd,s=await Promise.all((n.includePaths??e.defaultIncludePaths).map(f=>er(f,t))),i=await Promise.all((n.zephyrBindings??e.defaultZephyrBindings).map(f=>er(f,t))),o=n.bindingType??e.defaultBindingType,a=await Promise.all((n.deviceOrgTreeBindings??e.defaultDeviceOrgTreeBindings).map(f=>er(f,t))),c=await Promise.all((n.deviceOrgBindingsMetaSchema??e.defaultDeviceOrgBindingsMetaSchema).map(f=>er(f,t))),l=await Promise.all((n.lockRenameEdits??e.defaultLockRenameEdits).map(f=>er(f,t)));r&&o==="Zephyr"&&(!i||i.length===0)&&(i=["./zephyr/dts/bindings"]);let u=n.dtsFile,d=n.overlays??[];return r&&(i=i.map(f=>(0,sn.resolve)(r,f)).filter(f=>(0,wT.existsSync)(f)),a=a?.map(f=>(0,sn.resolve)(r,f)),c=c.map(f=>(0,sn.resolve)(r,f)),s=s.map(f=>(0,sn.resolve)(r,f)),u=(0,sn.resolve)(r,u),d=d.map(f=>(0,sn.resolve)(r,f)),l=l.map(f=>(0,sn.resolve)(r,f))),{ctxName:n.ctxName??(0,sn.basename)(u),cwd:r?Je(r):void 0,includePaths:s.map(Je),zephyrBindings:i.map(Je),bindingType:o,deviceOrgTreeBindings:a.map(Je),deviceOrgBindingsMetaSchema:c.map(Je),dtsFile:Je(u),overlays:d.map(Je),lockRenameEdits:l.map(Je)}},bl=async(n,e)=>{let t=n.cwd?await er(n.cwd,e):void 0,r=n.defaultBindingType,s=n.defaultDeviceOrgBindingsMetaSchema=await Promise.all((n.defaultDeviceOrgBindingsMetaSchema??[]).map(d=>er(d,e))),i=n.defaultDeviceOrgTreeBindings=await Promise.all((n.defaultDeviceOrgTreeBindings??[]).map(d=>er(d,e))),o=n.defaultIncludePaths=await Promise.all((n.defaultIncludePaths??[]).map(d=>er(d,e))),a=n.defaultZephyrBindings=await Promise.all((n.defaultZephyrBindings??[]).map(d=>er(d,e))),c=n.defaultLockRenameEdits=await Promise.all((n.defaultLockRenameEdits??[]).map(d=>er(d,e)));t&&(o=n.defaultIncludePaths=(n.defaultIncludePaths??[]).map(d=>(0,sn.resolve)(t,d)),r==="Zephyr"&&!n.defaultZephyrBindings&&(a=["./zephyr/dts/bindings"]),a=a.map(d=>(0,sn.resolve)(t,d)),s=s.map(d=>(0,sn.resolve)(t,d))),n.defaultDeviceOrgTreeBindings=(n.defaultDeviceOrgTreeBindings??[]).map(d=>n.cwd?(0,sn.resolve)(n.cwd,d):d);let l={cwd:t,defaultDeviceOrgBindingsMetaSchema:s,defaultDeviceOrgTreeBindings:i,defaultIncludePaths:o,defaultZephyrBindings:a,defaultLockRenameEdits:c,defaultBindingType:r,autoChangeContext:n.autoChangeContext??ji.autoChangeContext,allowAdhocContexts:n.allowAdhocContexts??ji.allowAdhocContexts},u=(await Promise.all(n.contexts?.map(d=>kT(d,l,e))??[])).filter(d=>[d.dtsFile,...d.overlays].every(f=>(0,wT.existsSync)(f)&&sn.default.isAbsolute(f)));return{...l,contexts:u}};var YO=require("path");function HH(n,e){if(!n||!(n.item instanceof ze)||!(n.ast instanceof je))return[];let t=[];if(e.settings.bindingType==="Zephyr"){t.push({type:"dt_zephyr_macro_prop_node_path",data:`DT_PROP(${HO(n.item.parent)}, ${n.item.name.replaceAll("-","_")}))`});let r=n.item;n.item.parent.labels.forEach(s=>t.push({type:"dt_zephyr_macro_prop_node_label",data:`DT_PROP(DT_NODELABEL(${s.label.toString()}), ${r.name.replaceAll("-","_")})`}))}return t}var HO=n=>`DT_PATH(${n.path.slice(1).map(e=>e.replace("@","_").replaceAll("-","_")).join(",")})`;function KH(n,e){if(!n||n.item===null)return[];let t;if(n.item instanceof Se?t=n.item:n.ast.parentNode instanceof ye&&n.ast.parentNode.linksTo?t=n.ast.parentNode.linksTo:n.ast instanceof Me&&n.ast.linksTo&&(t=n.ast.linksTo),!t)return[];let r=[{type:"path",data:t.pathString}];if(e.settings.bindingType==="Zephyr"){t.labels.forEach(o=>{r.push({type:"dt_zephyr_macro_node_label",data:`DT_NODELABEL(${o.label.toString()})`})}),r.push({type:"dt_zephyr_macro_node_path",data:HO(t)});let i=Po.getNodeFromPath(["aliases"],t.root)?.property.find(o=>{if(o.ast.quickValues?.at(0)===t.pathString)return!0;let a=o.ast.values?.values.at(0)?.value;if(a instanceof ye&&a.linksTo===t||a instanceof In&&a.path?.pathParts.at(-1)?.linksTo===t)return!0});i&&r.push({type:"dt_zephyr_macro_prop_node_alias",data:`DT_ALIAS(${i.name.replaceAll("-","_")})`})}return r}async function KO(n,e){return e?Nt(n,e,t=>[...KH(t,e),...HH(t,e)]):[]}var Ae=[],Ke,pa,Qh=new WeakMap,Xh=new Map,JO=async n=>{await n.stable(),n.getContextFiles().forEach(e=>{Xh.has(e)||Xh.set(e,new Yh(e,AT,t=>!!Zh(t))),Xh.get(e)?.watch()})},DT=async n=>{let e=Ae.indexOf(n);if(e===-1)return;ep(n),Qh.delete(n),console.log(`(ID: ${n.id}) cleaning Context for [${n.ctxNames.join(",")}]`);let t=await Fi(n);if(ee.sendNotification("devicetree/contextDeleted",{ctxNames:n.ctxNames.map(r=>r.toString()),id:n.id,...await n.getFileTree(),settings:n.settings,active:Ke===n,type:t.type}),Ae.splice(e,1),await IT(),n===Ke&&(Ke=void 0,Ae.length)){let r=pa?cr(Ae,{uri:pa}):void 0;r??=Ae[0],console.log("Active context was deleted. Forcing active to",r.id),await on({id:r.id},!0)}XO(n)},XO=async n=>{await n.stable(),n.getContextFiles().forEach(e=>Xh.get(e)?.unwatch())},GH=n=>{let e=Qh.get(n);if(!e?.abort.signal.aborted)return Promise.all([e?.promise,n.getRuntime()])},Ue=async()=>{await Promise.all(Ae.map(GH))},CT=async n=>(await QO()).indexOf(n)!==-1,QO=async()=>{let n=await ZO();return Ae.filter(e=>!n.some(t=>t===e))},ZO=async()=>{let n=await RT();return Ae.filter(e=>n.contexts.find(t=>Jr(t)===e.id))},YH=async()=>{let n=await eK();return Ae.filter(e=>n.contexts.find(t=>Jr(t)===e.id))},JH=async n=>(await YH()).indexOf(n)!==-1,XH=async(n,e)=>{if(n===e)return!0;let t=(await n.getAllParsers()).flatMap(s=>s.cPreprocessorParser.dtsIncludes).filter(s=>s.resolvedPath),r=(await e.getAllParsers()).flatMap(s=>s.cPreprocessorParser.dtsIncludes).filter(s=>s.resolvedPath);return r.some(s=>le(s.resolvedPath,n.parser.uri))&&t.length?t.every(s=>r.some(i=>i.resolvedPath===s.resolvedPath&&i.firstToken.pos.col===s.firstToken.pos.col&&i.firstToken.pos.len===s.firstToken.pos.len&&i.firstToken.pos.line===s.firstToken.pos.line&&i.lastToken.pos.col===s.lastToken.pos.col&&i.lastToken.pos.len===s.lastToken.pos.len&&i.lastToken.pos.line===s.lastToken.pos.line)):e.getContextFiles().some(s=>le(s,n.parser.uri))},QH=async n=>{if(!await CT(n))return;let e=await QO(),t=await ZO(),r=await cd(e);if(Ae.indexOf(n)===-1)return;let s=await Promise.all(r.flatMap(a=>[...t,...e.filter(c=>c!==a.context)].map(async c=>({context:a.context,same:await XH(a.context,c)})))),i=n.getContextFiles(),o=r.filter(a=>s.some(c=>c.context===a.context&&c.same)||a.context!==n&&le(a.context.parser.uri,n.parser.uri)&&i.some(c=>c&&a.files.indexOf(c)!==-1)).map(a=>a.context);o.length&&o.forEach(DT)},ee=(0,Xe.createConnection)(Xe.ProposedFeatures.all),Vr=new Xe.TextDocuments(nd),eI=!1,NT=!1,tI=!1,nI=!1,rI=!1,PT;ee.onInitialize(n=>{PT=n.workspaceFolders,ee.console.log(`[Server(${process.pid}) ${PT?.[0].uri} Version 0.3.2 ] Started and initialize received`);let e=n.capabilities;eI=!!(e.workspace&&e.workspace.configuration),NT=!!(e.workspace&&e.workspace.workspaceFolders),tI=!!e.workspace?.diagnostics?.refreshSupport,nI=!!e.workspace?.semanticTokens?.refreshSupport,rI=!!e.workspace?.foldingRange?.refreshSupport;let t={capabilities:{typeDefinitionProvider:!0,workspaceSymbolProvider:!0,textDocumentSync:Xe.TextDocumentSyncKind.Incremental,renameProvider:{prepareProvider:!0},completionProvider:{resolveProvider:!0,triggerCharacters:["&","="," "]},codeActionProvider:{codeActionKinds:[Xe.CodeActionKind.QuickFix,Xe.CodeActionKind.SourceFixAll]},documentSymbolProvider:!0,semanticTokensProvider:{legend:{tokenTypes:rd,tokenModifiers:sd},full:!0},documentLinkProvider:{resolveProvider:!1},foldingRangeProvider:!0,definitionProvider:!0,declarationProvider:!0,referencesProvider:!0,documentFormattingProvider:!0,hoverProvider:!0}};return NT&&(t.capabilities.workspace={workspaceFolders:{changeNotifications:!0,supported:!0}}),t});ee.onInitialized(()=>{eI&&ee.client.register(Xe.DidChangeConfigurationNotification.type,{}),NT&&ee.workspace.onDidChangeWorkspaceFolders(async n=>{ee.console.log("Workspace folder change event received"),await _l()})});var ZH=async()=>{let n=sI();return n={...ji,...n},bl(n,await Sl())},RT=async()=>{let n=rK();return n={...ji,...n},bl(n,await Sl())},eK=async()=>{let n=sK();return n={...ji,...n},bl(n,await Sl())},Tl=async()=>{let n=nK();return n={...ji,...n},bl(n,await Sl())},tK=new Map,Sl=async()=>(await ee.workspace.getWorkspaceFolders()??PT)?.map(e=>tt(e.uri))?.at(0),GO=async n=>{let e=cr(Ae,{id:Jr(n)});if(e)return e.ctxNames.includes(n.ctxName)||console.log(`(ID: ${e.id}) Adding name ${n.ctxName} for [${e.ctxNames.join(",")}]`),e.addCtxName(n.ctxName),e;let t=Jr(n);console.log(`(ID: ${t}) New context [${n.ctxName}]`),console.log(`(ID: ${t}) Settings: ${JSON.stringify(n,void 0," ")}`);let r=new zd(n,n.bindingType?UO({zephyrBindings:n.zephyrBindings??[],deviceOrgBindingsMetaSchema:n.deviceOrgBindingsMetaSchema??[],deviceOrgTreeBindings:n.deviceOrgTreeBindings??[]},n.bindingType):void 0);Ae.push(r),JO(r),await r.stable();let s=await Fi(r);return ee.sendNotification("devicetree/contextCreated",{ctxNames:r.ctxNames.map(i=>i.toString()),id:r.id,...await r.getFileTree(),settings:r.settings,active:r===Ke,type:s.type}),await QH(r),await IT(),r},_l=async()=>{let n=await RT(),e=await Tl();e.allowAdhocContexts||(e=await RT());let t=e.contexts.map(Jr);Ae.filter(s=>!t.includes(s.id)).forEach(DT),await n.contexts?.reduce((s,i)=>s.then(async()=>{await GO(i)}),Promise.resolve()),e.allowAdhocContexts&&await(await ZH()).contexts?.reduce((i,o)=>i.then(async()=>{cr(Ae,{uri:o.dtsFile})||await GO(o)}),Promise.resolve()),pa?await on({uri:pa}):!Ke&&Ae.length&&(console.log(`No active context using first context (ID: ${Ae[0].id}) [${Ae[0].ctxNames.join(",")}]`),await on({id:Ae[0].id}))},tr,Xs,vl=new Map,ha=new Map,nK=()=>!Xs&&!tr?void 0:{...Xs,...tr,contexts:[...tr?.contexts??[],...Array.from(ha.values()),...Array.from(vl.values())]},sI=()=>!Xs&&!tr?void 0:{...Xs,...tr,contexts:[...Array.from(vl.values())]},rK=()=>!Xs&&!tr?void 0:{...Xs,...tr,contexts:[...tr?.contexts??[],...Array.from(ha.values())]},sK=()=>!Xs&&!tr?void 0:{...tr,contexts:[...tr?.contexts??[]]};function iK(n){let e={...n};for(let t in e)e[t]===null&&delete e[t];return e}var iI=async()=>{let n=await Tl();console.log("Resolved settings",JSON.stringify(n,void 0," ")),ee.sendNotification("devicetree/settingsChanged",n),await _l(),Ue().then(()=>{tI&&ee.languages.diagnostics.refresh()})};ee.onDidChangeConfiguration(async n=>{n?.settings?.devicetree&&(tr=iK(n.settings.devicetree),console.log("Configuration changed",JSON.stringify(n,void 0," ")),await iI())});var oI=()=>{let n=Ke?.getContextFiles();Array.from(Vr.keys()).forEach(e=>{n?.some(t=>le(t,tt(e)))||ee.sendDiagnostics({uri:e,version:Vr.get(e)?.version,diagnostics:[{severity:Xe.DiagnosticSeverity.Warning,range:Xe.Range.create(Xe.Position.create(0,0),Xe.Position.create(0,0)),message:"File not in active context",source:"devicetree"}]})})},AT=async n=>{let e=sg(Ae,n);if(e.length)e.forEach(t=>{Qh.get(t)?.abort.abort();let r=new AbortController,s=new Promise(i=>{setTimeout(async()=>{if(r.signal.aborted){i();return}let o=performance.now(),a=Ke===t,c=a?aI(t):[];XO(t),await t.reevaluate(n),JO(t),a&&OT(t).then(l=>{let u=l.items.map(d=>({uri:d.uri,version:d.version??void 0,diagnostics:d.items}));ep(t,c.filter(d=>u.every(f=>f.uri!==d.uri))),u.forEach(d=>{ee.sendDiagnostics(d)})}),i(),console.log("reevaluate",performance.now()-o)},50)});Qh.set(t,{abort:r,promise:s})});else{if((await Tl()).allowAdhocContexts===!1)return;await _l(),await on({uri:n})}},oK=n=>Vr.keys().find(e=>le(tt(e),n)),Zh=n=>{let e=oK(n);if(e)return Vr.get(e)},aI=n=>n.getContextFiles().map(e=>({uri:de(e),version:Zh(e)?.version,diagnostics:[]})),ep=async(n,e=aI(n))=>{n===Ke&&await Promise.all(e.map(t=>ee.sendDiagnostics({uri:t.uri,version:Vr.get(t.uri)?.version,diagnostics:[]})))},OT=async n=>{await n.stable();let e=performance.now(),t=await n.getDiagnostics(),r=n.getContextFiles().map(s=>({uri:de(s),kind:Xe.DocumentDiagnosticReportKind.Full,items:t.get(s)??[],version:Zh(s)?.version??null}));return console.log(`(ID: ${n.id})`,"workspace diagnostics",`[${n.ctxNames.join(",")}]`,performance.now()-e),{items:[...r]}},IT=async()=>{let n=await Promise.all(Ae.map(Fi));console.log("======== Context List ========"),n.forEach(e=>{console.log(`(ID: ${e.ctx.id}) [${e.ctx.ctxNames.join(",")}]`,`[${e.type}]`,Ke===e.ctx?" [ACTIVE]":"")}),console.log("==============================")},Fi=async n=>{let e=await CT(n),t=!e&&await JH(n);return{ctx:n,type:e?"Ad Hoc":t?"User":"3rd Party"}},on=async(n,e=!1)=>{"uri"in n&&(pa=n.uri,console.log("Active File Uri",pa));let t=await Tl();if(await Ue(),Ke&&!e&&!t.autoChangeContext||!e&&Ke?.getContextFiles().find(i=>"uri"in n&&le(i,n.uri)))return!1;let r=Ke,s=cr(Ae,n);return r!==s&&(r&&ep(r),Ke=s,s?(Fi(s).then(async i=>{let o=await s.getFileTree();s!==Ke&&!Ae.includes(s)||ee.sendNotification("devicetree/newActiveContext",{ctxNames:s.ctxNames.map(a=>a.toString()),id:s.id,...o,settings:s.settings,active:Ke===s,type:i.type})}),OT(s).then(i=>{i.items.map(o=>({uri:o.uri,version:o.version??void 0,diagnostics:o.items})).forEach(o=>{ee.sendDiagnostics(o)})}),await IT()):ee.sendNotification("devicetree/newActiveContext",void 0)),rI&&ee.languages.foldingRange.refresh(),nI&&ee.languages.semanticTokens.refresh(),oI(),!0};Vr.listen(ee);Vr.onDidClose(async n=>{let e=tt(n.document.uri),t=sg(Ae,e);if(t.length===0){vl.delete(e),ee.sendDiagnostics({uri:n.document.uri,version:Vr.get(n.document.uri)?.version,diagnostics:[]});return}await Promise.all(t.map(async r=>{(r?.getContextFiles()??[]).filter(o=>o!==e).some(o=>Zh(o))||(await CT(r)?(DT(r),vl.delete(r.settings.dtsFile)):ep(r))})),tK.delete(n.document.uri)});Vr.onDidOpen(async n=>{await Ue(),oI();let e=tt(n.document.uri),t=cr(Ae,{uri:e});if(t)t!==Ke&&await on({id:t.id});else{let r={ctxName:(0,YO.basename)(e),dtsFile:e};vl.set(e,r),await AT(e)}});Vr.onDidChangeContent(async n=>{let e=tt(n.document.uri),t=n.document.getText(),r=fr();r.needsRenew(e,t)&&(console.log("Content changed"),r.renewLexer(e,t),await AT(e))});ee.listen();ee.languages.diagnostics.onWorkspace(async()=>{await Ue();let n=Ke;return n?OT(n):{items:[]}});ee.onDidChangeWatchedFiles(n=>{ee.console.log("We received a file change event")});ee.onCompletion(async n=>{await Ue();let e=tt(n.textDocument.uri);on({uri:e});let t=$n(e);return t?[...await DN(n,t),...await jN(n,t)]:[]});ee.onCompletionResolve(n=>n);var $n=n=>{let e=sI();return cr(Ae,{uri:n},Ke,e?.preferredContext)};ee.onDocumentSymbol(async n=>{await Ue();let e=tt(n.textDocument.uri),t=$n(e);return t?t.getUriParser(e)?.getDocumentSymbols(e):[]});ee.onWorkspaceSymbol(async()=>{await Ue();let n=Ke;return n?(await n.getAllParsers()).flatMap(e=>e.getWorkspaceSymbols()):[]});ee.languages.semanticTokens.on(async n=>{try{await Ue();let e=tt(n.textDocument.uri),t=$n(e),r=new Xe.SemanticTokensBuilder,s=t?.isInContext(e);return!t||!s?{data:[]}:((await t.getAllParsers()).forEach(i=>i.buildSemanticTokens(r,e)),r.build())}catch(e){throw console.log(e),e}});ee.onDocumentLinks(async n=>{await Ue();let e=tt(n.textDocument.uri);return $n(e)?.getDocumentLinks(e)});ee.onPrepareRename(async n=>{await Ue();let e=tt(n.textDocument.uri);on({uri:e});let t=$n(e);return MN(n,t)});ee.onRenameRequest(async n=>{await Ue();let e=tt(n.textDocument.uri);on({uri:e});let t=$n(e);return xN(n,t)});ee.onReferences(async n=>{await Ue();let e=tt(n.textDocument.uri);on({uri:e});let t=$n(e);return CN(n,t)});ee.onDefinition(async n=>{await Ue();let e=tt(n.textDocument.uri);on({uri:e});let t=$n(e),r=(await t?.getDocumentLinks(e,n.position))?.filter(s=>s.target).map(s=>Xe.Location.create(s.target,s.range))??[];return r.length?r:$N(n,t)});ee.onDeclaration(async n=>{await Ue();let e=tt(n.textDocument.uri);on({uri:e});let t=$n(e);return LN(n,t)});ee.onCodeAction(async n=>qN(n));ee.onDocumentFormatting(async n=>{await Ue();let e=tt(n.textDocument.uri);on({uri:e});let t=$n(e);return t?Dk(n,t):[]});ee.onHover(async n=>{await Ue();let e=tt(n.textDocument.uri),t=$n(e);return(await BN(n,t)).at(0)});ee.onFoldingRanges(async n=>{await Ue();let e=tt(n.textDocument.uri),t=$n(e),r=t?.isInContext(e);if(!t||!r)return[];let s=(await t.getAllParsers()).find(i=>i.getFiles().some(o=>o===e));return s?WO(e,s):[]});ee.onTypeDefinition(async n=>{await Ue();let e=tt(n.textDocument.uri);on({uri:e});let t=$n(e);return zO(n,t)});ee.onRequest("devicetree/getContexts",async()=>(await Ue(),Promise.all(Ae.map(async n=>{let e=await Fi(n);return{ctxNames:n.ctxNames.map(t=>t.toString()),id:n.id,...await n.getFileTree(),settings:n.settings,active:Ke===n,type:e.type}}))));ee.onRequest("devicetree/setActive",async n=>(await Ue(),console.log("devicetree/setActive",n),await on(n,!0)));ee.onRequest("devicetree/getActiveContext",async n=>{if(await Ue(),console.log("devicetree/getActiveContext",n),await on({id:n},!0),!Ke)return;let e=await Fi(Ke);return Ke?{ctxNames:Ke.ctxNames.map(t=>t.toString()),id:n,...await Ke.getFileTree(),settings:Ke.settings,active:!0,type:e.type}:void 0});ee.onRequest("devicetree/setDefaultSettings",async n=>{await Ue(),Xs=n,console.log("Integration Settings",n),await iI()});ee.onRequest("devicetree/requestContext",async n=>{await Ue();let e=await Tl(),t=await kT(n,e,await Sl());console.log("devicetree/requestContext",t);let r=Jr(t),s=Array.from(ha).find(([,a])=>a.ctxName===n.ctxName);if(s){let a=s[0].split(":",1)[0];cr(Ae,{name:n.ctxName.toString()})?.removeCtxName(n.ctxName),console.log(`Removing integration context with ID ${a} and name ${n.ctxName}`),ha.delete(s[0])}ha.set(`${r}:${n.ctxName}`,n),await _l();let i=Ae.find(a=>a.id===r);if(!i)throw new Error("Failed to create context");let o=await Fi(i);return{ctxNames:i.ctxNames.map(a=>a.toString()),id:r,...await i.getFileTree(),settings:i.settings,active:!0,type:o.type}});ee.onRequest("devicetree/removeContext",async({id:n,name:e})=>{await Ue(),ha.delete(`${n}:${e}`);let t=cr(Ae,{id:n});if(t){if(t.removeCtxName(e),t.ctxNames.length){console.log("Context will not be deleted as it is still in use by others");return}await _l()}});ee.onRequest("devicetree/compiledDtsOutput",async n=>(await Ue(),n?cr(Ae,{id:n})?.toFullString():void 0));ee.onRequest("devicetree/serializedContext",async n=>(await Ue(),n?cr(Ae,{id:n})?.serialize():void 0));ee.onRequest("devicetree/customActions",async n=>(await Ue(),KO(n,Ke)));ee.onRequest("devicetree/activeFileUri",async n=>{await Ue(),on({uri:n})});
290
+ ${r}`])]},jH=(n,e)=>DO(n,e.split("/").filter(t=>t)),DO=(n,e)=>{if(e.length===0)return{node:n,remainingInstancePath:""};let t=e[0].split("@"),r=t[0],s=t.at(1)?.split(",").map(o=>Number.parseInt(o,16)),i=n.getNode(r,s);return i?DO(i,e.slice(1)):{node:n,property:n.getProperty(e[0]),remainingInstancePath:e.slice(1).join("/")}};var TT=class n{constructor(){this.schemaIdValidators=new Map;this.ajvMap=new Map}static getNodeCompatible(e){let r=e.getProperty("compatible")?.ast.values;if(!r?.values.some(s=>!(s?.value instanceof Ie)))return r?.values.map(s=>(s?.value).value)}parseMetaSchema(e,t){ki.sync("**/*.yaml",{cwd:e}).forEach(s=>{s=(0,bT.resolve)(e,s);try{let i=yT.default.parse((0,vT.readFileSync)(s,"utf-8"));t.addMetaSchema(i),this.schemaIdValidators.set(i.$id,s)}catch{}})}parseBindings(e,t){ki.sync("**/*.yaml",{cwd:e}).forEach(s=>{s=(0,bT.resolve)(e,s);try{let i=yT.default.parse((0,vT.readFileSync)(s,"utf-8"));t.addSchema(i),this.schemaIdValidators.set(i.$id,s)}catch(i){console.warn(s,i.message)}})}getNodeTypes(e,t,r){let s=`${e.join(";")}::${t.join(";")}`,i=this.ajvMap.get(s);return i||(i=new AO.default({strict:!1,strictSchema:!1,strictNumbers:!1}),i.addMetaSchema(gT),this.ajvMap.set(s,i),e.forEach(c=>this.parseMetaSchema(c,i)),t.forEach(c=>this.parseBindings(c,i))),n.getNodeCompatible(r)?.map(c=>{try{let l=Array.from(this.schemaIdValidators.keys()).find(f=>f.endsWith(`/${c}.yaml#`));if(!l)return;let u=new Kh(i,l);u.bindingsPath=this.schemaIdValidators.get(l),u.compatible=c;let d=i.getSchema(l);return u.description=(d?.schema).description,u.examples=(d?.schema).examples,u.maintainers=(d?.schema).maintainers,u}catch(l){console.warn(l.message)}}).filter(c=>c)??[]}},CO,OO=()=>(CO??=new TT,CO);var LO=K(Qy());var fa=require("path"),qO=require("fs");var Ur=K(X());var IO=n=>{switch(n){case"string":return W("STRING");case"int":return W("U32");case"boolean":return W("EMPTY");case"array":return W("PROP_ENCODED_ARRAY");case"uint8-array":return W("BYTESTRING");case"string-array":return W("STRINGLIST");case"phandle":return W("U32");case"phandles":return W("PROP_ENCODED_ARRAY");case"phandle-array":return W("PROP_ENCODED_ARRAY");case"path":return W(["STRING","U32"]);case"compound":return W("ANY")}},xO=(n,e)=>{switch(n){case"string":return typeof e=="string"?e:void 0;case"int":return typeof e=="number"?e:void 0;case"boolean":return;case"array":return Array.isArray(e)&&e.every(t=>typeof t=="number")?e:void 0;case"uint8-array":return Array.isArray(e)&&e.every(t=>typeof t=="number")?e:void 0;case"string-array":return Array.isArray(e)&&e.every(t=>typeof t=="string")?e:void 0;case"phandle":return;case"phandles":return;case"phandle-array":return;case"path":return;case"compound":return}},Gh=(n,e)=>{if(e=e.include.reduce((t,r)=>{let s=n.find(i=>(0,fa.basename)(i.filePath)===r.name);if(s){let i=r["property-blocklist"];return t.include=t.include.filter(o=>o!==r),FH(n,s,t,i)??t}return console.warn(`Unable to find ${r}`),t},e),e["child-binding"]&&(e["child-binding"].include=jO(e["child-binding"].include),e["child-binding"]=Gh(n,e["child-binding"])),!e.include.length)return e},FH=(n,e,t,r=[])=>{let s=Gh(n,e),i=Gh(n,t);if(!s||!i)return;let o=new Set;Object.keys(s?.properties??{}).forEach(d=>o.add(d)),Object.keys(i?.properties??{}).forEach(d=>o.add(d));let a={};Array.from(o).forEach(d=>{let f=r?.some(y=>y===d)?{}:s.properties?.[d]??{},p=i.properties?.[d]??{};a={...a,[d]:{...f,...p}}}),i.properties=a;let c=new Set;return Object.keys(s).filter(d=>d.endsWith("-cells")).forEach(d=>c.add(d)),Object.keys(s).filter(d=>d.endsWith("-cells")).forEach(d=>c.add(d)),Array.from(c).forEach(d=>{let f=s[d]??[],p=i[d]??[];i[d]=Array.from([...f,...p])}),i},jO=n=>n?typeof n=="string"?[{name:n}]:n.map(e=>typeof e!="string"?e:{name:e}):[],ST=class n{constructor(){this.typeCache=new Map;this.readFolders=[]}static getNodeCompatible(e){let r=e.getProperty("compatible")?.ast.values;if(!r?.values.some(s=>!(s?.value instanceof Ie)))return r?.values.map(s=>(s?.value).value)}getNodeTypes(e,t){let r=n.getNodeCompatible(t);if(!r)return[pi(t)];let s=r.map(o=>this.typeCache.get(o)?.(t)).filter(o=>o);if(s.length)return s;this.loadTypeAndCache(e);let i=r.map(o=>this.typeCache.get(o)?.(t)).filter(o=>o);return i.length?i:[pi(t)]}loadTypeAndCache(e){e=Array.isArray(e)?e:[e],e.forEach(t=>{if(this.readFolders.indexOf(t)!==-1)return;this.readFolders.push(t);let s=ki.sync("**/*.yaml",{cwd:t,ignore:"test/*"}).map(o=>{o=(0,fa.resolve)(t,o);try{let a=LO.default.parse((0,qO.readFileSync)(o,"utf-8"));return{...a,include:jO(a?.include),filePath:o}}catch(a){console.warn(a)}}).filter(o=>!!o),i=s.map(o=>Gh(s,o)).filter(o=>!!o&&!o.include.length);BH(i,this.typeCache)})}},MO,FO=()=>(MO??=new ST,MO),BH=(n,e)=>n.forEach(t=>{let r=t.compatible??(t.filePath?(0,fa.basename)(t.filePath,"yaml"):void 0);r&&e.set(r,s=>BO(t,s))}),BO=(n,e)=>{let t=pi(e);t.compatible=n.compatible??(n.filePath?(0,fa.basename)(n.filePath,"yaml"):void 0),t.description=n.description,t.bindingsPath=n.filePath,t.bus=typeof n.bus=="string"?[n.bus]:n.bus,t.onBus=n["on-bus"];let s=Object.keys(n).filter(i=>i.endsWith("-cells")).map(i=>({specifier:i.replace(/-cells$/,""),values:n[i]}));if(n.properties&&Object.keys(n.properties).forEach(i=>{let o=n.properties[i];UH(t,i,o),t.cellsValues=s}),n["child-binding"]){let i=n["child-binding"];t.childNodeType=o=>BO(i,o)}return t},UH=(n,e,t)=>{let r=n.properties.find(s=>s.getNameMatch(e));if(r&&typeof r.name=="string"){r.required=()=>t.required?"required":"optional",r.values=()=>t.enum??[],r.constValue=xO(t.type,t.const),r.bindingType=t.type;let s=r.additionalTypeCheck;r.additionalTypeCheck=(i,o)=>[...$O(t,e,r)(i,o),...s?.(i,o)??[]]}else{let s=t.type==="compound"?r?.type:IO(t.type);s??=IO(t.type);let i=new G(e,s,t.required?"required":"optional",void 0,t.enum);i.additionalTypeCheck=(o,a)=>{let c=[...r?.additionalTypeCheck?.(o,a)??[],...$O(t,e,i)(o,a)];return i.typeExample??=r?.typeExample,c},i.description=t.description?[t.description]:r?.description,i.bindingType=t.type,i.constValue=xO(t.type,t.const),n.addProperty(i)}},$O=(n,e,t)=>{let r=n;return(s,i)=>{let o=s.parent.root,a=[];if(r.const){let c=s.ast.quickValues;if(c?.length==1){let l=Array.isArray(r.const)?r.const:[r.const];Array.isArray(c[0])&&l.length===c[0].length&&c[0].every((d,f)=>typeof d=="number"&&Number.isNaN(d)||l[f]===d)||a.push(F(25,s.ast.values??s.ast,Ur.DiagnosticSeverity.Error,[],[],[`Binding expects values to be "${r.type}" with value: ${r.const}`]))}}if(r.deprecated&&a.push(F(14,s.ast,Ur.DiagnosticSeverity.Warning,[],[Ur.DiagnosticTag.Deprecated],[s.name])),(r.type==="phandle"||r.type==="phandles"||r.type==="path")&&Mt(s.ast.values)?.forEach(l=>{ur(l,o)||a.push(F(23,l,Ur.DiagnosticSeverity.Error))}),r.type==="path"&&s.ast.values?.values.at(0)?.value instanceof Ie){let c=s.ast.values?.values.at(0)?.value,l=[];c.value.split("/").every(u=>{let d=o.getNode(u);return d?l.push(u):a.push(F(24,c,Ur.DiagnosticSeverity.Error,[],[],[u,`/${l.join("/")}`])),!d})}if(r.type==="phandle-array"){let c=Mt(s.ast.values),l=0;for(;c&&l<c.length;){let u=c.at(l),d=ur(u,o);if(!d){a.push(F(23,u??s.ast,Ur.DiagnosticSeverity.Error));break}let f="";e.endsWith("-gpios")?f="gpio":f=r["specifier-space"]??e.slice(0,-1);let p=d.getProperty(`#${f}-cells`);if(!p){a.push(F(16,s.ast,Ur.DiagnosticSeverity.Error,[...d.nodeNameOrLabelRef],[],[s.name,`#${f}-cells`,`/${d.path.slice(1).join("/")}`]));break}let y=p?at(p,0,0,i)??0:0,m=d.nodeType?.cellsValues?.find(S=>S.specifier===f)?.values;if(t.typeExample=`<${["phandel",...m??[],...Array.from({length:y-(m?.length??0)},()=>"cell")].join(" ")}>`,1+y>c.length-l){a.push(F(20,u??s.ast,Ur.DiagnosticSeverity.Error,[],[],[s.name,t.typeExample]));break}l+=1+y}}return a}};var UO=(n,e)=>({files:n,type:e,getNodeTypes:async t=>{switch(e){case"Zephyr":return FO().getNodeTypes(n.zephyrBindings,t);case"DevicetreeOrg":return OO().getNodeTypes(n.deviceOrgBindingsMetaSchema,n.deviceOrgTreeBindings,t)}}});var ET=K(X());var _T=n=>!n.openScope||!n.closeScope?.prevToken?n.nodes.flatMap(_T):[{startLine:n.openScope.pos.line,startCharacter:n.openScope.pos.col,endLine:n.closeScope.prevToken.pos.line,endCharacter:n.closeScope.prevToken.pos.col,kind:ET.FoldingRangeKind.Region},...n.nodes.flatMap(_T)],VO=n=>{let e=[];return[...n instanceof Ds?n.ifBlocks.map(t=>({start:(t.expression??t.keyword).lastToken,end:t.content?.lastToken??(t.expression??t.keyword).lastToken})):[{start:(n.ifDef.identifier??n.ifDef.keyword).lastToken,end:n.ifDef.content?.lastToken}],n.elseOption?{start:n.elseOption.keyword.lastToken,end:n.elseOption.content?.lastToken}:null].forEach(t=>{!t||!t.end||e.push({startLine:t.start.pos.line,startCharacter:t.start.pos.col,endLine:t.end.pos.line,endCharacter:t.end.pos.colEnd,kind:ET.FoldingRangeKind.Region})}),e},VH=n=>n instanceof Fe?_T(n):n instanceof wo||n instanceof Ds?VO(n):[];function WO(n,e){return e.allAstItems.flatMap(t=>[t,...t.allDescendants]).filter(t=>le(t.uri,n)).flatMap(VH)}var qi=K(X());function WH(n){if(!n||!(n.ast instanceof Me)&&!(n.ast instanceof Bt))return[];let e=t=>t.nodeType?.bindingsPath?[qi.Location.create(de(t.nodeType.bindingsPath),qi.Range.create(qi.Position.create(0,0),qi.Position.create(0,0)))]:[];return n.item instanceof Se&&!Pt(n.ast)?e(n.item):n.ast instanceof Bt&&n.ast.parentNode instanceof ye&&n.ast.parentNode.linksTo?e(n.ast.parentNode.linksTo):n.ast instanceof Me&&n.ast.linksTo?e(n.ast.linksTo):[]}async function zO(n,e){return Nt(n,e,t=>[...WH(t)])}var Jh=require("fs");var zH=(n,e)=>{fr().reset(n),fr().requestTokens(n,!0),e(n)},Yh=class{constructor(e,t,r){this.file=e;this.cb=t;this.hasDocumentOpen=r;this.count=0}watch(){if(this.count++,this.count===1){console.log("create watch for",this.file);let e=this.file,t=this.cb;this.onChange=()=>{if(this.hasDocumentOpen(e)){console.log("skipping on change document is open",e);return}console.log("onChange",e),zH(e,t)},(0,Jh.watchFile)(e,this.onChange)}}unwatch(){this.count--,this.count===0&&(console.log("dispose watch for",this.file),(0,Jh.unwatchFile)(this.file,this.onChange),this.onChange=void 0)}};var sn=K(require("path")),wT=require("fs");var er=async(n,e)=>(e&&(n=n.replaceAll("${workspaceFolder}",e)),n),ji={defaultBindingType:"Zephyr",defaultZephyrBindings:[],defaultIncludePaths:[],defaultDeviceOrgBindingsMetaSchema:[],defaultDeviceOrgTreeBindings:[],contexts:[],defaultLockRenameEdits:[],allowAdhocContexts:!0,autoChangeContext:!0},kT=async(n,e,t)=>{let r=(n.cwd?await er(n.cwd,t):void 0)??e.cwd,s=await Promise.all((n.includePaths??e.defaultIncludePaths).map(f=>er(f,t))),i=await Promise.all((n.zephyrBindings??e.defaultZephyrBindings).map(f=>er(f,t))),o=n.bindingType??e.defaultBindingType,a=await Promise.all((n.deviceOrgTreeBindings??e.defaultDeviceOrgTreeBindings).map(f=>er(f,t))),c=await Promise.all((n.deviceOrgBindingsMetaSchema??e.defaultDeviceOrgBindingsMetaSchema).map(f=>er(f,t))),l=await Promise.all((n.lockRenameEdits??e.defaultLockRenameEdits).map(f=>er(f,t)));r&&o==="Zephyr"&&(!i||i.length===0)&&(i=["./zephyr/dts/bindings"]);let u=n.dtsFile,d=n.overlays??[];return r&&(i=i.map(f=>(0,sn.resolve)(r,f)).filter(f=>(0,wT.existsSync)(f)),a=a?.map(f=>(0,sn.resolve)(r,f)),c=c.map(f=>(0,sn.resolve)(r,f)),s=s.map(f=>(0,sn.resolve)(r,f)),u=(0,sn.resolve)(r,u),d=d.map(f=>(0,sn.resolve)(r,f)),l=l.map(f=>(0,sn.resolve)(r,f))),{ctxName:n.ctxName??(0,sn.basename)(u),cwd:r?Je(r):void 0,includePaths:s.map(Je),zephyrBindings:i.map(Je),bindingType:o,deviceOrgTreeBindings:a.map(Je),deviceOrgBindingsMetaSchema:c.map(Je),dtsFile:Je(u),overlays:d.map(Je),lockRenameEdits:l.map(Je)}},bl=async(n,e)=>{let t=n.cwd?await er(n.cwd,e):void 0,r=n.defaultBindingType,s=n.defaultDeviceOrgBindingsMetaSchema=await Promise.all((n.defaultDeviceOrgBindingsMetaSchema??[]).map(d=>er(d,e))),i=n.defaultDeviceOrgTreeBindings=await Promise.all((n.defaultDeviceOrgTreeBindings??[]).map(d=>er(d,e))),o=n.defaultIncludePaths=await Promise.all((n.defaultIncludePaths??[]).map(d=>er(d,e))),a=n.defaultZephyrBindings=await Promise.all((n.defaultZephyrBindings??[]).map(d=>er(d,e))),c=n.defaultLockRenameEdits=await Promise.all((n.defaultLockRenameEdits??[]).map(d=>er(d,e)));t&&(o=n.defaultIncludePaths=(n.defaultIncludePaths??[]).map(d=>(0,sn.resolve)(t,d)),r==="Zephyr"&&!n.defaultZephyrBindings&&(a=["./zephyr/dts/bindings"]),a=a.map(d=>(0,sn.resolve)(t,d)),s=s.map(d=>(0,sn.resolve)(t,d))),n.defaultDeviceOrgTreeBindings=(n.defaultDeviceOrgTreeBindings??[]).map(d=>n.cwd?(0,sn.resolve)(n.cwd,d):d);let l={cwd:t,defaultDeviceOrgBindingsMetaSchema:s,defaultDeviceOrgTreeBindings:i,defaultIncludePaths:o,defaultZephyrBindings:a,defaultLockRenameEdits:c,defaultBindingType:r,autoChangeContext:n.autoChangeContext??ji.autoChangeContext,allowAdhocContexts:n.allowAdhocContexts??ji.allowAdhocContexts},u=(await Promise.all(n.contexts?.map(d=>kT(d,l,e))??[])).filter(d=>[d.dtsFile,...d.overlays].every(f=>(0,wT.existsSync)(f)&&sn.default.isAbsolute(f)));return{...l,contexts:u}};var YO=require("path");function HH(n,e){if(!n||!(n.item instanceof ze)||!(n.ast instanceof je))return[];let t=[];if(e.settings.bindingType==="Zephyr"){t.push({type:"dt_zephyr_macro_prop_node_path",data:`DT_PROP(${HO(n.item.parent)}, ${n.item.name.replaceAll("-","_")}))`});let r=n.item;n.item.parent.labels.forEach(s=>t.push({type:"dt_zephyr_macro_prop_node_label",data:`DT_PROP(DT_NODELABEL(${s.label.toString()}), ${r.name.replaceAll("-","_")})`}))}return t}var HO=n=>`DT_PATH(${n.path.slice(1).map(e=>e.replace("@","_").replaceAll("-","_")).join(",")})`;function KH(n,e){if(!n||n.item===null)return[];let t;if(n.item instanceof Se?t=n.item:n.ast.parentNode instanceof ye&&n.ast.parentNode.linksTo?t=n.ast.parentNode.linksTo:n.ast instanceof Me&&n.ast.linksTo&&(t=n.ast.linksTo),!t)return[];let r=[{type:"path",data:t.pathString}];if(e.settings.bindingType==="Zephyr"){t.labels.forEach(o=>{r.push({type:"dt_zephyr_macro_node_label",data:`DT_NODELABEL(${o.label.toString()})`})}),r.push({type:"dt_zephyr_macro_node_path",data:HO(t)});let i=Po.getNodeFromPath(["aliases"],t.root)?.property.find(o=>{if(o.ast.quickValues?.at(0)===t.pathString)return!0;let a=o.ast.values?.values.at(0)?.value;if(a instanceof ye&&a.linksTo===t||a instanceof In&&a.path?.pathParts.at(-1)?.linksTo===t)return!0});i&&r.push({type:"dt_zephyr_macro_prop_node_alias",data:`DT_ALIAS(${i.name.replaceAll("-","_")})`})}return r}async function KO(n,e){return e?Nt(n,e,t=>[...KH(t,e),...HH(t,e)]):[]}var Ae=[],Ke,pa,Qh=new WeakMap,Xh=new Map,JO=async n=>{await n.stable(),n.getContextFiles().forEach(e=>{Xh.has(e)||Xh.set(e,new Yh(e,AT,t=>!!Zh(t))),Xh.get(e)?.watch()})},DT=async n=>{let e=Ae.indexOf(n);if(e===-1)return;ep(n),Qh.delete(n),console.log(`(ID: ${n.id}) cleaning Context for [${n.ctxNames.join(",")}]`);let t=await Fi(n);if(ee.sendNotification("devicetree/contextDeleted",{ctxNames:n.ctxNames.map(r=>r.toString()),id:n.id,...await n.getFileTree(),settings:n.settings,active:Ke===n,type:t.type}),Ae.splice(e,1),await IT(),n===Ke&&(Ke=void 0,Ae.length)){let r=pa?cr(Ae,{uri:pa}):void 0;r??=Ae[0],console.log("Active context was deleted. Forcing active to",r.id),await on({id:r.id},!0)}XO(n)},XO=async n=>{await n.stable(),n.getContextFiles().forEach(e=>Xh.get(e)?.unwatch())},GH=n=>{let e=Qh.get(n);if(!e?.abort.signal.aborted)return Promise.all([e?.promise,n.getRuntime()])},Ue=async()=>{await Promise.all(Ae.map(GH))},CT=async n=>(await QO()).indexOf(n)!==-1,QO=async()=>{let n=await ZO();return Ae.filter(e=>!n.some(t=>t===e))},ZO=async()=>{let n=await RT();return Ae.filter(e=>n.contexts.find(t=>Jr(t)===e.id))},YH=async()=>{let n=await eK();return Ae.filter(e=>n.contexts.find(t=>Jr(t)===e.id))},JH=async n=>(await YH()).indexOf(n)!==-1,XH=async(n,e)=>{if(n===e)return!0;let t=(await n.getAllParsers()).flatMap(s=>s.cPreprocessorParser.dtsIncludes).filter(s=>s.resolvedPath),r=(await e.getAllParsers()).flatMap(s=>s.cPreprocessorParser.dtsIncludes).filter(s=>s.resolvedPath);return r.some(s=>le(s.resolvedPath,n.parser.uri))&&t.length?t.every(s=>r.some(i=>i.resolvedPath===s.resolvedPath&&i.firstToken.pos.col===s.firstToken.pos.col&&i.firstToken.pos.len===s.firstToken.pos.len&&i.firstToken.pos.line===s.firstToken.pos.line&&i.lastToken.pos.col===s.lastToken.pos.col&&i.lastToken.pos.len===s.lastToken.pos.len&&i.lastToken.pos.line===s.lastToken.pos.line)):e.getContextFiles().some(s=>le(s,n.parser.uri))},QH=async n=>{if(!await CT(n))return;let e=await QO(),t=await ZO(),r=await cd(e);if(Ae.indexOf(n)===-1)return;let s=await Promise.all(r.flatMap(a=>[...t,...e.filter(c=>c!==a.context)].map(async c=>({context:a.context,same:await XH(a.context,c)})))),i=n.getContextFiles(),o=r.filter(a=>s.some(c=>c.context===a.context&&c.same)||a.context!==n&&le(a.context.parser.uri,n.parser.uri)&&i.some(c=>c&&a.files.indexOf(c)!==-1)).map(a=>a.context);o.length&&o.forEach(DT)},ee=(0,Xe.createConnection)(Xe.ProposedFeatures.all),Vr=new Xe.TextDocuments(nd),eI=!1,NT=!1,tI=!1,nI=!1,rI=!1,PT;ee.onInitialize(n=>{PT=n.workspaceFolders,ee.console.log(`[Server(${process.pid}) ${PT?.[0].uri} Version 0.3.3 ] Started and initialize received`);let e=n.capabilities;eI=!!(e.workspace&&e.workspace.configuration),NT=!!(e.workspace&&e.workspace.workspaceFolders),tI=!!e.workspace?.diagnostics?.refreshSupport,nI=!!e.workspace?.semanticTokens?.refreshSupport,rI=!!e.workspace?.foldingRange?.refreshSupport;let t={capabilities:{typeDefinitionProvider:!0,workspaceSymbolProvider:!0,textDocumentSync:Xe.TextDocumentSyncKind.Incremental,renameProvider:{prepareProvider:!0},completionProvider:{resolveProvider:!0,triggerCharacters:["&","="," "]},codeActionProvider:{codeActionKinds:[Xe.CodeActionKind.QuickFix,Xe.CodeActionKind.SourceFixAll]},documentSymbolProvider:!0,semanticTokensProvider:{legend:{tokenTypes:rd,tokenModifiers:sd},full:!0},documentLinkProvider:{resolveProvider:!1},foldingRangeProvider:!0,definitionProvider:!0,declarationProvider:!0,referencesProvider:!0,documentFormattingProvider:!0,hoverProvider:!0}};return NT&&(t.capabilities.workspace={workspaceFolders:{changeNotifications:!0,supported:!0}}),t});ee.onInitialized(()=>{eI&&ee.client.register(Xe.DidChangeConfigurationNotification.type,{}),NT&&ee.workspace.onDidChangeWorkspaceFolders(async n=>{ee.console.log("Workspace folder change event received"),await _l()})});var ZH=async()=>{let n=sI();return n={...ji,...n},bl(n,await Sl())},RT=async()=>{let n=rK();return n={...ji,...n},bl(n,await Sl())},eK=async()=>{let n=sK();return n={...ji,...n},bl(n,await Sl())},Tl=async()=>{let n=nK();return n={...ji,...n},bl(n,await Sl())},tK=new Map,Sl=async()=>(await ee.workspace.getWorkspaceFolders()??PT)?.map(e=>tt(e.uri))?.at(0),GO=async n=>{let e=cr(Ae,{id:Jr(n)});if(e)return e.ctxNames.includes(n.ctxName)||console.log(`(ID: ${e.id}) Adding name ${n.ctxName} for [${e.ctxNames.join(",")}]`),e.addCtxName(n.ctxName),e;let t=Jr(n);console.log(`(ID: ${t}) New context [${n.ctxName}]`),console.log(`(ID: ${t}) Settings: ${JSON.stringify(n,void 0," ")}`);let r=new zd(n,n.bindingType?UO({zephyrBindings:n.zephyrBindings??[],deviceOrgBindingsMetaSchema:n.deviceOrgBindingsMetaSchema??[],deviceOrgTreeBindings:n.deviceOrgTreeBindings??[]},n.bindingType):void 0);Ae.push(r),JO(r),await r.stable();let s=await Fi(r);return ee.sendNotification("devicetree/contextCreated",{ctxNames:r.ctxNames.map(i=>i.toString()),id:r.id,...await r.getFileTree(),settings:r.settings,active:r===Ke,type:s.type}),await QH(r),await IT(),r},_l=async()=>{let n=await RT(),e=await Tl();e.allowAdhocContexts||(e=await RT());let t=e.contexts.map(Jr);Ae.filter(s=>!t.includes(s.id)).forEach(DT),await n.contexts?.reduce((s,i)=>s.then(async()=>{await GO(i)}),Promise.resolve()),e.allowAdhocContexts&&await(await ZH()).contexts?.reduce((i,o)=>i.then(async()=>{cr(Ae,{uri:o.dtsFile})||await GO(o)}),Promise.resolve()),pa?await on({uri:pa}):!Ke&&Ae.length&&(console.log(`No active context using first context (ID: ${Ae[0].id}) [${Ae[0].ctxNames.join(",")}]`),await on({id:Ae[0].id}))},tr,Xs,vl=new Map,ha=new Map,nK=()=>!Xs&&!tr?void 0:{...Xs,...tr,contexts:[...tr?.contexts??[],...Array.from(ha.values()),...Array.from(vl.values())]},sI=()=>!Xs&&!tr?void 0:{...Xs,...tr,contexts:[...Array.from(vl.values())]},rK=()=>!Xs&&!tr?void 0:{...Xs,...tr,contexts:[...tr?.contexts??[],...Array.from(ha.values())]},sK=()=>!Xs&&!tr?void 0:{...tr,contexts:[...tr?.contexts??[]]};function iK(n){let e={...n};for(let t in e)e[t]===null&&delete e[t];return e}var iI=async()=>{let n=await Tl();console.log("Resolved settings",JSON.stringify(n,void 0," ")),ee.sendNotification("devicetree/settingsChanged",n),await _l(),Ue().then(()=>{tI&&ee.languages.diagnostics.refresh()})};ee.onDidChangeConfiguration(async n=>{n?.settings?.devicetree&&(tr=iK(n.settings.devicetree),console.log("Configuration changed",JSON.stringify(n,void 0," ")),await iI())});var oI=()=>{let n=Ke?.getContextFiles();Array.from(Vr.keys()).forEach(e=>{n?.some(t=>le(t,tt(e)))||ee.sendDiagnostics({uri:e,version:Vr.get(e)?.version,diagnostics:[{severity:Xe.DiagnosticSeverity.Warning,range:Xe.Range.create(Xe.Position.create(0,0),Xe.Position.create(0,0)),message:"File not in active context",source:"devicetree"}]})})},AT=async n=>{let e=sg(Ae,n);if(e.length)e.forEach(t=>{Qh.get(t)?.abort.abort();let r=new AbortController,s=new Promise(i=>{setTimeout(async()=>{if(r.signal.aborted){i();return}let o=performance.now(),a=Ke===t,c=a?aI(t):[];XO(t),await t.reevaluate(n),JO(t),a&&OT(t).then(l=>{let u=l.items.map(d=>({uri:d.uri,version:d.version??void 0,diagnostics:d.items}));ep(t,c.filter(d=>u.every(f=>f.uri!==d.uri))),u.forEach(d=>{ee.sendDiagnostics(d)})}),i(),console.log("reevaluate",performance.now()-o)},50)});Qh.set(t,{abort:r,promise:s})});else{if((await Tl()).allowAdhocContexts===!1)return;await _l(),await on({uri:n})}},oK=n=>Vr.keys().find(e=>le(tt(e),n)),Zh=n=>{let e=oK(n);if(e)return Vr.get(e)},aI=n=>n.getContextFiles().map(e=>({uri:de(e),version:Zh(e)?.version,diagnostics:[]})),ep=async(n,e=aI(n))=>{n===Ke&&await Promise.all(e.map(t=>ee.sendDiagnostics({uri:t.uri,version:Vr.get(t.uri)?.version,diagnostics:[]})))},OT=async n=>{await n.stable();let e=performance.now(),t=await n.getDiagnostics(),r=n.getContextFiles().map(s=>({uri:de(s),kind:Xe.DocumentDiagnosticReportKind.Full,items:t.get(s)??[],version:Zh(s)?.version??null}));return console.log(`(ID: ${n.id})`,"workspace diagnostics",`[${n.ctxNames.join(",")}]`,performance.now()-e),{items:[...r]}},IT=async()=>{let n=await Promise.all(Ae.map(Fi));console.log("======== Context List ========"),n.forEach(e=>{console.log(`(ID: ${e.ctx.id}) [${e.ctx.ctxNames.join(",")}]`,`[${e.type}]`,Ke===e.ctx?" [ACTIVE]":"")}),console.log("==============================")},Fi=async n=>{let e=await CT(n),t=!e&&await JH(n);return{ctx:n,type:e?"Ad Hoc":t?"User":"3rd Party"}},on=async(n,e=!1)=>{"uri"in n&&(pa=n.uri,console.log("Active File Uri",pa));let t=await Tl();if(await Ue(),Ke&&!e&&!t.autoChangeContext||!e&&Ke?.getContextFiles().find(i=>"uri"in n&&le(i,n.uri)))return!1;let r=Ke,s=cr(Ae,n);return r!==s&&(r&&ep(r),Ke=s,s?(Fi(s).then(async i=>{let o=await s.getFileTree();s!==Ke&&!Ae.includes(s)||ee.sendNotification("devicetree/newActiveContext",{ctxNames:s.ctxNames.map(a=>a.toString()),id:s.id,...o,settings:s.settings,active:Ke===s,type:i.type})}),OT(s).then(i=>{i.items.map(o=>({uri:o.uri,version:o.version??void 0,diagnostics:o.items})).forEach(o=>{ee.sendDiagnostics(o)})}),await IT()):ee.sendNotification("devicetree/newActiveContext",void 0)),rI&&ee.languages.foldingRange.refresh(),nI&&ee.languages.semanticTokens.refresh(),oI(),!0};Vr.listen(ee);Vr.onDidClose(async n=>{let e=tt(n.document.uri),t=sg(Ae,e);if(t.length===0){vl.delete(e),ee.sendDiagnostics({uri:n.document.uri,version:Vr.get(n.document.uri)?.version,diagnostics:[]});return}await Promise.all(t.map(async r=>{(r?.getContextFiles()??[]).filter(o=>o!==e).some(o=>Zh(o))||(await CT(r)?(DT(r),vl.delete(r.settings.dtsFile)):ep(r))})),tK.delete(n.document.uri)});Vr.onDidOpen(async n=>{await Ue(),oI();let e=tt(n.document.uri),t=cr(Ae,{uri:e});if(t)t!==Ke&&await on({id:t.id});else{let r={ctxName:(0,YO.basename)(e),dtsFile:e};vl.set(e,r),await AT(e)}});Vr.onDidChangeContent(async n=>{let e=tt(n.document.uri),t=n.document.getText(),r=fr();r.needsRenew(e,t)&&(console.log("Content changed"),r.renewLexer(e,t),await AT(e))});ee.listen();ee.languages.diagnostics.onWorkspace(async()=>{await Ue();let n=Ke;return n?OT(n):{items:[]}});ee.onDidChangeWatchedFiles(n=>{ee.console.log("We received a file change event")});ee.onCompletion(async n=>{await Ue();let e=tt(n.textDocument.uri);on({uri:e});let t=$n(e);return t?[...await DN(n,t),...await jN(n,t)]:[]});ee.onCompletionResolve(n=>n);var $n=n=>{let e=sI();return cr(Ae,{uri:n},Ke,e?.preferredContext)};ee.onDocumentSymbol(async n=>{await Ue();let e=tt(n.textDocument.uri),t=$n(e);return t?t.getUriParser(e)?.getDocumentSymbols(e):[]});ee.onWorkspaceSymbol(async()=>{await Ue();let n=Ke;return n?(await n.getAllParsers()).flatMap(e=>e.getWorkspaceSymbols()):[]});ee.languages.semanticTokens.on(async n=>{try{await Ue();let e=tt(n.textDocument.uri),t=$n(e),r=new Xe.SemanticTokensBuilder,s=t?.isInContext(e);return!t||!s?{data:[]}:((await t.getAllParsers()).forEach(i=>i.buildSemanticTokens(r,e)),r.build())}catch(e){throw console.log(e),e}});ee.onDocumentLinks(async n=>{await Ue();let e=tt(n.textDocument.uri);return $n(e)?.getDocumentLinks(e)});ee.onPrepareRename(async n=>{await Ue();let e=tt(n.textDocument.uri);on({uri:e});let t=$n(e);return MN(n,t)});ee.onRenameRequest(async n=>{await Ue();let e=tt(n.textDocument.uri);on({uri:e});let t=$n(e);return xN(n,t)});ee.onReferences(async n=>{await Ue();let e=tt(n.textDocument.uri);on({uri:e});let t=$n(e);return CN(n,t)});ee.onDefinition(async n=>{await Ue();let e=tt(n.textDocument.uri);on({uri:e});let t=$n(e),r=(await t?.getDocumentLinks(e,n.position))?.filter(s=>s.target).map(s=>Xe.Location.create(s.target,s.range))??[];return r.length?r:$N(n,t)});ee.onDeclaration(async n=>{await Ue();let e=tt(n.textDocument.uri);on({uri:e});let t=$n(e);return LN(n,t)});ee.onCodeAction(async n=>qN(n));ee.onDocumentFormatting(async n=>{await Ue();let e=tt(n.textDocument.uri);on({uri:e});let t=$n(e);return t?Dk(n,t):[]});ee.onHover(async n=>{await Ue();let e=tt(n.textDocument.uri),t=$n(e);return(await BN(n,t)).at(0)});ee.onFoldingRanges(async n=>{await Ue();let e=tt(n.textDocument.uri),t=$n(e),r=t?.isInContext(e);if(!t||!r)return[];let s=(await t.getAllParsers()).find(i=>i.getFiles().some(o=>o===e));return s?WO(e,s):[]});ee.onTypeDefinition(async n=>{await Ue();let e=tt(n.textDocument.uri);on({uri:e});let t=$n(e);return zO(n,t)});ee.onRequest("devicetree/getContexts",async()=>(await Ue(),Promise.all(Ae.map(async n=>{let e=await Fi(n);return{ctxNames:n.ctxNames.map(t=>t.toString()),id:n.id,...await n.getFileTree(),settings:n.settings,active:Ke===n,type:e.type}}))));ee.onRequest("devicetree/setActive",async n=>(await Ue(),console.log("devicetree/setActive",n),await on(n,!0)));ee.onRequest("devicetree/getActiveContext",async n=>{if(await Ue(),console.log("devicetree/getActiveContext",n),await on({id:n},!0),!Ke)return;let e=await Fi(Ke);return Ke?{ctxNames:Ke.ctxNames.map(t=>t.toString()),id:n,...await Ke.getFileTree(),settings:Ke.settings,active:!0,type:e.type}:void 0});ee.onRequest("devicetree/setDefaultSettings",async n=>{await Ue(),Xs=n,console.log("Integration Settings",n),await iI()});ee.onRequest("devicetree/requestContext",async n=>{await Ue();let e=await Tl(),t=await kT(n,e,await Sl());console.log("devicetree/requestContext",t);let r=Jr(t),s=Array.from(ha).find(([,a])=>a.ctxName===n.ctxName);if(s){let a=s[0].split(":",1)[0];cr(Ae,{name:n.ctxName.toString()})?.removeCtxName(n.ctxName),console.log(`Removing integration context with ID ${a} and name ${n.ctxName}`),ha.delete(s[0])}ha.set(`${r}:${n.ctxName}`,n),await _l();let i=Ae.find(a=>a.id===r);if(!i)throw new Error("Failed to create context");let o=await Fi(i);return{ctxNames:i.ctxNames.map(a=>a.toString()),id:r,...await i.getFileTree(),settings:i.settings,active:!0,type:o.type}});ee.onRequest("devicetree/removeContext",async({id:n,name:e})=>{await Ue(),ha.delete(`${n}:${e}`);let t=cr(Ae,{id:n});if(t){if(t.removeCtxName(e),t.ctxNames.length){console.log("Context will not be deleted as it is still in use by others");return}await _l()}});ee.onRequest("devicetree/compiledDtsOutput",async n=>(await Ue(),n?cr(Ae,{id:n})?.toFullString():void 0));ee.onRequest("devicetree/serializedContext",async n=>(await Ue(),n?cr(Ae,{id:n})?.serialize():void 0));ee.onRequest("devicetree/customActions",async n=>(await Ue(),KO(n,Ke)));ee.onRequest("devicetree/activeFileUri",async n=>{await Ue(),on({uri:n})});
package/package.json CHANGED
@@ -4,7 +4,7 @@
4
4
  "author": "Kyle Micallef Bonnici",
5
5
  "package-name": "devicetree-language-server",
6
6
  "main": "dist/server.js",
7
- "version": "0.3.2",
7
+ "version": "0.3.3",
8
8
  "keywords": [
9
9
  "dts",
10
10
  "devicetree",