devicetree-language-server 0.6.4 → 0.6.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/THIRD_PARTY_LICENSES.txt +1 -1
- package/dist/server.js +3 -3
- package/package.json +1 -1
|
@@ -102,7 +102,7 @@ Repository: https://github.com/moxystudio/node-cross-spawn
|
|
|
102
102
|
|
|
103
103
|
----------------------------------------------------------------------
|
|
104
104
|
|
|
105
|
-
devicetree-language-server@0.6.
|
|
105
|
+
devicetree-language-server@0.6.5
|
|
106
106
|
License: Apache-2.0
|
|
107
107
|
Repository: https://github.com/kylebonnici/dts-lsp
|
|
108
108
|
|
package/dist/server.js
CHANGED
|
@@ -179,7 +179,7 @@ ${r.comment}`:r.comment}this.doc.range[2]=r.offset;break}default:this.errors.pus
|
|
|
179
179
|
|| ${o} === "boolean" || ${i} === null`).assign(a,(0,be._)`[${i}]`)}}}function zK({gen:t,parentData:e,parentDataProperty:r},n){t.if((0,be._)`${e} !== undefined`,()=>t.assign((0,be._)`${e}[${r}]`,n))}function Hb(t,e,r,n=qa.Correct){let i=n===qa.Correct?be.operators.EQ:be.operators.NEQ,s;switch(t){case"null":return(0,be._)`${e} ${i} null`;case"array":s=(0,be._)`Array.isArray(${e})`;break;case"object":s=(0,be._)`${e} && typeof ${e} == "object" && !Array.isArray(${e})`;break;case"integer":s=o((0,be._)`!(${e} % 1) && !isNaN(${e})`);break;case"number":s=o();break;default:return(0,be._)`typeof ${e} ${i} ${t}`}return n===qa.Correct?s:(0,be.not)(s);function o(a=be.nil){return(0,be.and)((0,be._)`typeof ${e} == "number"`,a,r?(0,be._)`isFinite(${e})`:be.nil)}}gr.checkDataType=Hb;function Vb(t,e,r,n){if(t.length===1)return Hb(t[0],e,r,n);let i,s=(0,rq.toHash)(t);if(s.array&&s.object){let o=(0,be._)`typeof ${e} != "object"`;i=s.null?o:(0,be._)`!${e} || ${o}`,delete s.null,delete s.array,delete s.object}else i=be.nil;s.number&&delete s.integer;for(let o in s)i=(0,be.and)(i,Hb(o,e,r,n));return i}gr.checkDataTypes=Vb;var WK={message:({schema:t})=>`must be ${t}`,params:({schema:t,schemaValue:e})=>typeof t=="string"?(0,be._)`{type: ${t}}`:(0,be._)`{type: ${e}}`};function zb(t){let e=GK(t);(0,FK.reportError)(e,WK)}gr.reportTypeError=zb;function GK(t){let{gen:e,data:r,schema:n}=t,i=(0,rq.schemaRefOrVal)(t,n,"type");return{gen:e,keyword:"type",data:r,schema:n.type,schemaCode:i,schemaValue:i,parentSchema:n,params:{},it:t}}});var oq=k(em=>{"use strict";Object.defineProperty(em,"__esModule",{value:!0});em.assignDefaults=void 0;var $a=ve(),KK=we();function YK(t,e){let{properties:r,items:n}=t.schema;if(e==="object"&&r)for(let i in r)sq(t,i,r[i].default);else e==="array"&&Array.isArray(n)&&n.forEach((i,s)=>sq(t,s,i.default))}em.assignDefaults=YK;function sq(t,e,r){let{gen:n,compositeRule:i,data:s,opts:o}=t;if(r===void 0)return;let a=(0,$a._)`${s}${(0,$a.getProperty)(e)}`;if(i){(0,KK.checkStrictMode)(t,`default is ignored for: ${a}`);return}let c=(0,$a._)`${a} === undefined`;o.useDefaults==="empty"&&(c=(0,$a._)`${c} || ${a} === null || ${a} === ""`),n.if(c,(0,$a._)`${a} = ${(0,$a.stringify)(r)}`)}});var bn=k(et=>{"use strict";Object.defineProperty(et,"__esModule",{value:!0});et.validateUnion=et.validateArray=et.usePattern=et.callValidateCode=et.schemaProperties=et.allSchemaProperties=et.noPropertyInData=et.propertyInData=et.isOwnProperty=et.hasPropFunc=et.reportMissingProp=et.checkMissingProp=et.checkReportMissingProp=void 0;var mt=ve(),Wb=we(),Ps=vn(),XK=we();function JK(t,e){let{gen:r,data:n,it:i}=t;r.if(Kb(r,n,e,i.opts.ownProperties),()=>{t.setParams({missingProperty:(0,mt._)`${e}`},!0),t.error()})}et.checkReportMissingProp=JK;function QK({gen:t,data:e,it:{opts:r}},n,i){return(0,mt.or)(...n.map(s=>(0,mt.and)(Kb(t,e,s,r.ownProperties),(0,mt._)`${i} = ${s}`)))}et.checkMissingProp=QK;function ZK(t,e){t.setParams({missingProperty:e},!0),t.error()}et.reportMissingProp=ZK;function aq(t){return t.scopeValue("func",{ref:Object.prototype.hasOwnProperty,code:(0,mt._)`Object.prototype.hasOwnProperty`})}et.hasPropFunc=aq;function Gb(t,e,r){return(0,mt._)`${aq(t)}.call(${e}, ${r})`}et.isOwnProperty=Gb;function eY(t,e,r,n){let i=(0,mt._)`${e}${(0,mt.getProperty)(r)} !== undefined`;return n?(0,mt._)`${i} && ${Gb(t,e,r)}`:i}et.propertyInData=eY;function Kb(t,e,r,n){let i=(0,mt._)`${e}${(0,mt.getProperty)(r)} === undefined`;return n?(0,mt.or)(i,(0,mt.not)(Gb(t,e,r))):i}et.noPropertyInData=Kb;function cq(t){return t?Object.keys(t).filter(e=>e!=="__proto__"):[]}et.allSchemaProperties=cq;function tY(t,e){return cq(e).filter(r=>!(0,Wb.alwaysValidSchema)(t,e[r]))}et.schemaProperties=tY;function rY({schemaCode:t,data:e,it:{gen:r,topSchemaRef:n,schemaPath:i,errorPath:s},it:o},a,c,l){let u=l?(0,mt._)`${t}, ${e}, ${n}${i}`:e,d=[[Ps.default.instancePath,(0,mt.strConcat)(Ps.default.instancePath,s)],[Ps.default.parentData,o.parentData],[Ps.default.parentDataProperty,o.parentDataProperty],[Ps.default.rootData,Ps.default.rootData]];o.opts.dynamicRef&&d.push([Ps.default.dynamicAnchors,Ps.default.dynamicAnchors]);let f=(0,mt._)`${u}, ${r.object(...d)}`;return c!==mt.nil?(0,mt._)`${a}.call(${c}, ${f})`:(0,mt._)`${a}(${f})`}et.callValidateCode=rY;var nY=(0,mt._)`new RegExp`;function iY({gen:t,it:{opts:e}},r){let n=e.unicodeRegExp?"u":"",{regExp:i}=e.code,s=i(r,n);return t.scopeValue("pattern",{key:s.toString(),ref:s,code:(0,mt._)`${i.code==="new RegExp"?nY:(0,XK.useFunc)(t,i)}(${r}, ${n})`})}et.usePattern=iY;function sY(t){let{gen:e,data:r,keyword:n,it:i}=t,s=e.name("valid");if(i.allErrors){let a=e.let("valid",!0);return o(()=>e.assign(a,!1)),a}return e.var(s,!0),o(()=>e.break()),s;function o(a){let c=e.const("len",(0,mt._)`${r}.length`);e.forRange("i",0,c,l=>{t.subschema({keyword:n,dataProp:l,dataPropType:Wb.Type.Num},s),e.if((0,mt.not)(s),a)})}}et.validateArray=sY;function oY(t){let{gen:e,schema:r,keyword:n,it:i}=t;if(!Array.isArray(r))throw new Error("ajv implementation error");if(r.some(c=>(0,Wb.alwaysValidSchema)(i,c))&&!i.opts.unevaluated)return;let o=e.let("valid",!1),a=e.name("_valid");e.block(()=>r.forEach((c,l)=>{let u=t.subschema({keyword:n,schemaProp:l,compositeRule:!0},a);e.assign(o,(0,mt._)`${o} || ${a}`),t.mergeValidEvaluated(u,a)||e.if((0,mt.not)(o))})),t.result(o,()=>t.reset(),()=>t.error(!0))}et.validateUnion=oY});var dq=k(fi=>{"use strict";Object.defineProperty(fi,"__esModule",{value:!0});fi.validateKeywordUsage=fi.validSchemaType=fi.funcKeywordCode=fi.macroKeywordCode=void 0;var kr=ve(),uo=vn(),aY=bn(),cY=Gl();function lY(t,e){let{gen:r,keyword:n,schema:i,parentSchema:s,it:o}=t,a=e.macro.call(o.self,i,s,o),c=uq(r,n,a);o.opts.validateSchema!==!1&&o.self.validateSchema(a,!0);let l=r.name("valid");t.subschema({schema:a,schemaPath:kr.nil,errSchemaPath:`${o.errSchemaPath}/${n}`,topSchemaRef:c,compositeRule:!0},l),t.pass(l,()=>t.error(!0))}fi.macroKeywordCode=lY;function uY(t,e){var r;let{gen:n,keyword:i,schema:s,parentSchema:o,$data:a,it:c}=t;fY(c,e);let l=!a&&e.compile?e.compile.call(c.self,s,o,c):e.validate,u=uq(n,i,l),d=n.let("valid");t.block$data(d,f),t.ok((r=e.valid)!==null&&r!==void 0?r:d);function f(){if(e.errors===!1)h(),e.modifying&&lq(t),T(()=>t.error());else{let S=e.async?p():g();e.modifying&&lq(t),T(()=>dY(t,S))}}function p(){let S=n.let("ruleErrs",null);return n.try(()=>h((0,kr._)`await `),_=>n.assign(d,!1).if((0,kr._)`${_} instanceof ${c.ValidationError}`,()=>n.assign(S,(0,kr._)`${_}.errors`),()=>n.throw(_))),S}function g(){let S=(0,kr._)`${u}.errors`;return n.assign(S,null),h(kr.nil),S}function h(S=e.async?(0,kr._)`await `:kr.nil){let _=c.opts.passContext?uo.default.this:uo.default.self,v=!("compile"in e&&!a||e.schema===!1);n.assign(d,(0,kr._)`${S}${(0,aY.callValidateCode)(t,u,_,v)}`,e.modifying)}function T(S){var _;n.if((0,kr.not)((_=e.valid)!==null&&_!==void 0?_:d),S)}}fi.funcKeywordCode=uY;function lq(t){let{gen:e,data:r,it:n}=t;e.if(n.parentData,()=>e.assign(r,(0,kr._)`${n.parentData}[${n.parentDataProperty}]`))}function dY(t,e){let{gen:r}=t;r.if((0,kr._)`Array.isArray(${e})`,()=>{r.assign(uo.default.vErrors,(0,kr._)`${uo.default.vErrors} === null ? ${e} : ${uo.default.vErrors}.concat(${e})`).assign(uo.default.errors,(0,kr._)`${uo.default.vErrors}.length`),(0,cY.extendErrors)(t)},()=>t.error())}function fY({schemaEnv:t},e){if(e.async&&!t.$async)throw new Error("async keyword in sync schema")}function uq(t,e,r){if(r===void 0)throw new Error(`keyword "${e}" failed to compile`);return t.scopeValue("keyword",typeof r=="function"?{ref:r}:{ref:r,code:(0,kr.stringify)(r)})}function pY(t,e,r=!1){return!e.length||e.some(n=>n==="array"?Array.isArray(t):n==="object"?t&&typeof t=="object"&&!Array.isArray(t):typeof t==n||r&&typeof t>"u")}fi.validSchemaType=pY;function hY({schema:t,opts:e,self:r,errSchemaPath:n},i,s){if(Array.isArray(i.keyword)?!i.keyword.includes(s):i.keyword!==s)throw new Error("ajv implementation error");let o=i.dependencies;if(o?.some(a=>!Object.prototype.hasOwnProperty.call(t,a)))throw new Error(`parent schema must have dependencies of ${s}: ${o.join(",")}`);if(i.validateSchema&&!i.validateSchema(t[s])){let c=`keyword "${s}" value is invalid at path "${n}": `+r.errorsText(i.validateSchema.errors);if(e.validateSchema==="log")r.logger.error(c);else throw new Error(c)}}fi.validateKeywordUsage=hY});var pq=k(ws=>{"use strict";Object.defineProperty(ws,"__esModule",{value:!0});ws.extendSubschemaMode=ws.extendSubschemaData=ws.getSubschema=void 0;var pi=ve(),fq=we();function mY(t,{keyword:e,schemaProp:r,schema:n,schemaPath:i,errSchemaPath:s,topSchemaRef:o}){if(e!==void 0&&n!==void 0)throw new Error('both "keyword" and "schema" passed, only one allowed');if(e!==void 0){let a=t.schema[e];return r===void 0?{schema:a,schemaPath:(0,pi._)`${t.schemaPath}${(0,pi.getProperty)(e)}`,errSchemaPath:`${t.errSchemaPath}/${e}`}:{schema:a[r],schemaPath:(0,pi._)`${t.schemaPath}${(0,pi.getProperty)(e)}${(0,pi.getProperty)(r)}`,errSchemaPath:`${t.errSchemaPath}/${e}/${(0,fq.escapeFragment)(r)}`}}if(n!==void 0){if(i===void 0||s===void 0||o===void 0)throw new Error('"schemaPath", "errSchemaPath" and "topSchemaRef" are required with "schema"');return{schema:n,schemaPath:i,topSchemaRef:o,errSchemaPath:s}}throw new Error('either "keyword" or "schema" must be passed')}ws.getSubschema=mY;function gY(t,e,{dataProp:r,dataPropType:n,data:i,dataTypes:s,propertyName:o}){if(i!==void 0&&r!==void 0)throw new Error('both "data" and "dataProp" passed, only one allowed');let{gen:a}=e;if(r!==void 0){let{errorPath:l,dataPathArr:u,opts:d}=e,f=a.let("data",(0,pi._)`${e.data}${(0,pi.getProperty)(r)}`,!0);c(f),t.errorPath=(0,pi.str)`${l}${(0,fq.getErrorPath)(r,n,d.jsPropertySyntax)}`,t.parentDataProperty=(0,pi._)`${r}`,t.dataPathArr=[...u,t.parentDataProperty]}if(i!==void 0){let l=i instanceof pi.Name?i:a.let("data",i,!0);c(l),o!==void 0&&(t.propertyName=o)}s&&(t.dataTypes=s);function c(l){t.data=l,t.dataLevel=e.dataLevel+1,t.dataTypes=[],e.definedProperties=new Set,t.parentData=e.data,t.dataNames=[...e.dataNames,l]}}ws.extendSubschemaData=gY;function yY(t,{jtdDiscriminator:e,jtdMetadata:r,compositeRule:n,createErrors:i,allErrors:s}){n!==void 0&&(t.compositeRule=n),i!==void 0&&(t.createErrors=i),s!==void 0&&(t.allErrors=s),t.jtdDiscriminator=e,t.jtdMetadata=r}ws.extendSubschemaMode=yY});var Yb=k((wRe,hq)=>{"use strict";hq.exports=function t(e,r){if(e===r)return!0;if(e&&r&&typeof e=="object"&&typeof r=="object"){if(e.constructor!==r.constructor)return!1;var n,i,s;if(Array.isArray(e)){if(n=e.length,n!=r.length)return!1;for(i=n;i--!==0;)if(!t(e[i],r[i]))return!1;return!0}if(e.constructor===RegExp)return e.source===r.source&&e.flags===r.flags;if(e.valueOf!==Object.prototype.valueOf)return e.valueOf()===r.valueOf();if(e.toString!==Object.prototype.toString)return e.toString()===r.toString();if(s=Object.keys(e),n=s.length,n!==Object.keys(r).length)return!1;for(i=n;i--!==0;)if(!Object.prototype.hasOwnProperty.call(r,s[i]))return!1;for(i=n;i--!==0;){var o=s[i];if(!t(e[o],r[o]))return!1}return!0}return e!==e&&r!==r}});var gq=k((ERe,mq)=>{"use strict";var Es=mq.exports=function(t,e,r){typeof e=="function"&&(r=e,e={}),r=e.cb||r;var n=typeof r=="function"?r:r.pre||function(){},i=r.post||function(){};tm(e,n,i,t,"",t)};Es.keywords={additionalItems:!0,items:!0,contains:!0,additionalProperties:!0,propertyNames:!0,not:!0,if:!0,then:!0,else:!0};Es.arrayKeywords={items:!0,allOf:!0,anyOf:!0,oneOf:!0};Es.propsKeywords={$defs:!0,definitions:!0,properties:!0,patternProperties:!0,dependencies:!0};Es.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 tm(t,e,r,n,i,s,o,a,c,l){if(n&&typeof n=="object"&&!Array.isArray(n)){e(n,i,s,o,a,c,l);for(var u in n){var d=n[u];if(Array.isArray(d)){if(u in Es.arrayKeywords)for(var f=0;f<d.length;f++)tm(t,e,r,d[f],i+"/"+u+"/"+f,s,i,u,n,f)}else if(u in Es.propsKeywords){if(d&&typeof d=="object")for(var p in d)tm(t,e,r,d[p],i+"/"+u+"/"+TY(p),s,i,u,n,p)}else(u in Es.keywords||t.allKeys&&!(u in Es.skipKeywords))&&tm(t,e,r,d,i+"/"+u,s,i,u,n)}r(n,i,s,o,a,c,l)}}function TY(t){return t.replace(/~/g,"~0").replace(/\//g,"~1")}});var Yl=k(jr=>{"use strict";Object.defineProperty(jr,"__esModule",{value:!0});jr.getSchemaRefs=jr.resolveUrl=jr.normalizeId=jr._getFullPath=jr.getFullPath=jr.inlineRef=void 0;var vY=we(),bY=Yb(),_Y=gq(),SY=new Set(["type","format","pattern","maxLength","minLength","maxProperties","minProperties","maxItems","minItems","maximum","minimum","uniqueItems","multipleOf","required","enum","const"]);function NY(t,e=!0){return typeof t=="boolean"?!0:e===!0?!Xb(t):e?yq(t)<=e:!1}jr.inlineRef=NY;var kY=new Set(["$ref","$recursiveRef","$recursiveAnchor","$dynamicRef","$dynamicAnchor"]);function Xb(t){for(let e in t){if(kY.has(e))return!0;let r=t[e];if(Array.isArray(r)&&r.some(Xb)||typeof r=="object"&&Xb(r))return!0}return!1}function yq(t){let e=0;for(let r in t){if(r==="$ref")return 1/0;if(e++,!SY.has(r)&&(typeof t[r]=="object"&&(0,vY.eachItem)(t[r],n=>e+=yq(n)),e===1/0))return 1/0}return e}function Tq(t,e="",r){r!==!1&&(e=Ba(e));let n=t.parse(e);return vq(t,n)}jr.getFullPath=Tq;function vq(t,e){return t.serialize(e).split("#")[0]+"#"}jr._getFullPath=vq;var RY=/#\/?$/;function Ba(t){return t?t.replace(RY,""):""}jr.normalizeId=Ba;function PY(t,e,r){return r=Ba(r),t.resolve(e,r)}jr.resolveUrl=PY;var wY=/^[a-z_][-a-z0-9._]*$/i;function EY(t,e){if(typeof t=="boolean")return{};let{schemaId:r,uriResolver:n}=this.opts,i=Ba(t[r]||e),s={"":i},o=Tq(n,i,!1),a={},c=new Set;return _Y(t,{allKeys:!0},(d,f,p,g)=>{if(g===void 0)return;let h=o+f,T=s[g];typeof d[r]=="string"&&(T=S.call(this,d[r])),_.call(this,d.$anchor),_.call(this,d.$dynamicAnchor),s[f]=T;function S(v){let R=this.opts.uriResolver.resolve;if(v=Ba(T?R(T,v):v),c.has(v))throw u(v);c.add(v);let D=this.refs[v];return typeof D=="string"&&(D=this.refs[D]),typeof D=="object"?l(d,D.schema,v):v!==Ba(h)&&(v[0]==="#"?(l(d,a[v],v),a[v]=d):this.refs[v]=h),v}function _(v){if(typeof v=="string"){if(!wY.test(v))throw new Error(`invalid anchor "${v}"`);S.call(this,`#${v}`)}}}),a;function l(d,f,p){if(f!==void 0&&!bY(d,f))throw u(p)}function u(d){return new Error(`reference "${d}" resolves to more than one schema`)}}jr.getSchemaRefs=EY});var Ql=k(Ds=>{"use strict";Object.defineProperty(Ds,"__esModule",{value:!0});Ds.getData=Ds.KeywordCxt=Ds.validateFunctionCode=void 0;var kq=ZL(),bq=Kl(),Qb=Ub(),rm=Kl(),DY=oq(),Jl=dq(),Jb=pq(),se=ve(),he=vn(),CY=Yl(),Li=we(),Xl=Gl();function AY(t){if(wq(t)&&(Eq(t),Pq(t))){MY(t);return}Rq(t,()=>(0,kq.topBoolOrEmptySchema)(t))}Ds.validateFunctionCode=AY;function Rq({gen:t,validateName:e,schema:r,schemaEnv:n,opts:i},s){i.code.es5?t.func(e,(0,se._)`${he.default.data}, ${he.default.valCxt}`,n.$async,()=>{t.code((0,se._)`"use strict"; ${_q(r,i)}`),OY(t,i),t.code(s)}):t.func(e,(0,se._)`${he.default.data}, ${IY(i)}`,n.$async,()=>t.code(_q(r,i)).code(s))}function IY(t){return(0,se._)`{${he.default.instancePath}="", ${he.default.parentData}, ${he.default.parentDataProperty}, ${he.default.rootData}=${he.default.data}${t.dynamicRef?(0,se._)`, ${he.default.dynamicAnchors}={}`:se.nil}}={}`}function OY(t,e){t.if(he.default.valCxt,()=>{t.var(he.default.instancePath,(0,se._)`${he.default.valCxt}.${he.default.instancePath}`),t.var(he.default.parentData,(0,se._)`${he.default.valCxt}.${he.default.parentData}`),t.var(he.default.parentDataProperty,(0,se._)`${he.default.valCxt}.${he.default.parentDataProperty}`),t.var(he.default.rootData,(0,se._)`${he.default.valCxt}.${he.default.rootData}`),e.dynamicRef&&t.var(he.default.dynamicAnchors,(0,se._)`${he.default.valCxt}.${he.default.dynamicAnchors}`)},()=>{t.var(he.default.instancePath,(0,se._)`""`),t.var(he.default.parentData,(0,se._)`undefined`),t.var(he.default.parentDataProperty,(0,se._)`undefined`),t.var(he.default.rootData,he.default.data),e.dynamicRef&&t.var(he.default.dynamicAnchors,(0,se._)`{}`)})}function MY(t){let{schema:e,opts:r,gen:n}=t;Rq(t,()=>{r.$comment&&e.$comment&&Cq(t),BY(t),n.let(he.default.vErrors,null),n.let(he.default.errors,0),r.unevaluated&&xY(t),Dq(t),UY(t)})}function xY(t){let{gen:e,validateName:r}=t;t.evaluated=e.const("evaluated",(0,se._)`${r}.evaluated`),e.if((0,se._)`${t.evaluated}.dynamicProps`,()=>e.assign((0,se._)`${t.evaluated}.props`,(0,se._)`undefined`)),e.if((0,se._)`${t.evaluated}.dynamicItems`,()=>e.assign((0,se._)`${t.evaluated}.items`,(0,se._)`undefined`))}function _q(t,e){let r=typeof t=="object"&&t[e.schemaId];return r&&(e.code.source||e.code.process)?(0,se._)`/*# sourceURL=${r} */`:se.nil}function LY(t,e){if(wq(t)&&(Eq(t),Pq(t))){qY(t,e);return}(0,kq.boolOrEmptySchema)(t,e)}function Pq({schema:t,self:e}){if(typeof t=="boolean")return!t;for(let r in t)if(e.RULES.all[r])return!0;return!1}function wq(t){return typeof t.schema!="boolean"}function qY(t,e){let{schema:r,gen:n,opts:i}=t;i.$comment&&r.$comment&&Cq(t),FY(t),jY(t);let s=n.const("_errs",he.default.errors);Dq(t,s),n.var(e,(0,se._)`${s} === ${he.default.errors}`)}function Eq(t){(0,Li.checkUnknownRules)(t),$Y(t)}function Dq(t,e){if(t.opts.jtd)return Sq(t,[],!1,e);let r=(0,bq.getSchemaTypes)(t.schema),n=(0,bq.coerceAndCheckDataType)(t,r);Sq(t,r,!n,e)}function $Y(t){let{schema:e,errSchemaPath:r,opts:n,self:i}=t;e.$ref&&n.ignoreKeywordsWithRef&&(0,Li.schemaHasRulesButRef)(e,i.RULES)&&i.logger.warn(`$ref: keywords ignored in schema at path "${r}"`)}function BY(t){let{schema:e,opts:r}=t;e.default!==void 0&&r.useDefaults&&r.strictSchema&&(0,Li.checkStrictMode)(t,"default is ignored in the schema root")}function FY(t){let e=t.schema[t.opts.schemaId];e&&(t.baseId=(0,CY.resolveUrl)(t.opts.uriResolver,t.baseId,e))}function jY(t){if(t.schema.$async&&!t.schemaEnv.$async)throw new Error("async schema in sync schema")}function Cq({gen:t,schemaEnv:e,schema:r,errSchemaPath:n,opts:i}){let s=r.$comment;if(i.$comment===!0)t.code((0,se._)`${he.default.self}.logger.log(${s})`);else if(typeof i.$comment=="function"){let o=(0,se.str)`${n}/$comment`,a=t.scopeValue("root",{ref:e.root});t.code((0,se._)`${he.default.self}.opts.$comment(${s}, ${o}, ${a}.schema)`)}}function UY(t){let{gen:e,schemaEnv:r,validateName:n,ValidationError:i,opts:s}=t;r.$async?e.if((0,se._)`${he.default.errors} === 0`,()=>e.return(he.default.data),()=>e.throw((0,se._)`new ${i}(${he.default.vErrors})`)):(e.assign((0,se._)`${n}.errors`,he.default.vErrors),s.unevaluated&&HY(t),e.return((0,se._)`${he.default.errors} === 0`))}function HY({gen:t,evaluated:e,props:r,items:n}){r instanceof se.Name&&t.assign((0,se._)`${e}.props`,r),n instanceof se.Name&&t.assign((0,se._)`${e}.items`,n)}function Sq(t,e,r,n){let{gen:i,schema:s,data:o,allErrors:a,opts:c,self:l}=t,{RULES:u}=l;if(s.$ref&&(c.ignoreKeywordsWithRef||!(0,Li.schemaHasRulesButRef)(s,u))){i.block(()=>Iq(t,"$ref",u.all.$ref.definition));return}c.jtd||VY(t,e),i.block(()=>{for(let f of u.rules)d(f);d(u.post)});function d(f){(0,Qb.shouldUseGroup)(s,f)&&(f.type?(i.if((0,rm.checkDataType)(f.type,o,c.strictNumbers)),Nq(t,f),e.length===1&&e[0]===f.type&&r&&(i.else(),(0,rm.reportTypeError)(t)),i.endIf()):Nq(t,f),a||i.if((0,se._)`${he.default.errors} === ${n||0}`))}}function Nq(t,e){let{gen:r,schema:n,opts:{useDefaults:i}}=t;i&&(0,DY.assignDefaults)(t,e.type),r.block(()=>{for(let s of e.rules)(0,Qb.shouldUseRule)(n,s)&&Iq(t,s.keyword,s.definition,e.type)})}function VY(t,e){t.schemaEnv.meta||!t.opts.strictTypes||(zY(t,e),t.opts.allowUnionTypes||WY(t,e),GY(t,t.dataTypes))}function zY(t,e){if(e.length){if(!t.dataTypes.length){t.dataTypes=e;return}e.forEach(r=>{Aq(t.dataTypes,r)||Zb(t,`type "${r}" not allowed by context "${t.dataTypes.join(",")}"`)}),YY(t,e)}}function WY(t,e){e.length>1&&!(e.length===2&&e.includes("null"))&&Zb(t,"use allowUnionTypes to allow union type keyword")}function GY(t,e){let r=t.self.RULES.all;for(let n in r){let i=r[n];if(typeof i=="object"&&(0,Qb.shouldUseRule)(t.schema,i)){let{type:s}=i.definition;s.length&&!s.some(o=>KY(e,o))&&Zb(t,`missing type "${s.join(",")}" for keyword "${n}"`)}}}function KY(t,e){return t.includes(e)||e==="number"&&t.includes("integer")}function Aq(t,e){return t.includes(e)||e==="integer"&&t.includes("number")}function YY(t,e){let r=[];for(let n of t.dataTypes)Aq(e,n)?r.push(n):e.includes("integer")&&n==="number"&&r.push("integer");t.dataTypes=r}function Zb(t,e){let r=t.schemaEnv.baseId+t.errSchemaPath;e+=` at "${r}" (strictTypes)`,(0,Li.checkStrictMode)(t,e,t.opts.strictTypes)}var nm=class{constructor(e,r,n){if((0,Jl.validateKeywordUsage)(e,r,n),this.gen=e.gen,this.allErrors=e.allErrors,this.keyword=n,this.data=e.data,this.schema=e.schema[n],this.$data=r.$data&&e.opts.$data&&this.schema&&this.schema.$data,this.schemaValue=(0,Li.schemaRefOrVal)(e,this.schema,n,this.$data),this.schemaType=r.schemaType,this.parentSchema=e.schema,this.params={},this.it=e,this.def=r,this.$data)this.schemaCode=e.gen.const("vSchema",Oq(this.$data,e));else if(this.schemaCode=this.schemaValue,!(0,Jl.validSchemaType)(this.schema,r.schemaType,r.allowUndefined))throw new Error(`${n} value must be ${JSON.stringify(r.schemaType)}`);("code"in r?r.trackErrors:r.errors!==!1)&&(this.errsCount=e.gen.const("_errs",he.default.errors))}result(e,r,n){this.failResult((0,se.not)(e),r,n)}failResult(e,r,n){this.gen.if(e),n?n():this.error(),r?(this.gen.else(),r(),this.allErrors&&this.gen.endIf()):this.allErrors?this.gen.endIf():this.gen.else()}pass(e,r){this.failResult((0,se.not)(e),void 0,r)}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:r}=this;this.fail((0,se._)`${r} !== undefined && (${(0,se.or)(this.invalid$data(),e)})`)}error(e,r,n){if(r){this.setParams(r),this._error(e,n),this.setParams({});return}this._error(e,n)}_error(e,r){(e?Xl.reportExtraError:Xl.reportError)(this,this.def.error,r)}$dataError(){(0,Xl.reportError)(this,this.def.$dataError||Xl.keyword$DataError)}reset(){if(this.errsCount===void 0)throw new Error('add "trackErrors" to keyword definition');(0,Xl.resetErrorsCount)(this.gen,this.errsCount)}ok(e){this.allErrors||this.gen.if(e)}setParams(e,r){r?Object.assign(this.params,e):this.params=e}block$data(e,r,n=se.nil){this.gen.block(()=>{this.check$data(e,n),r()})}check$data(e=se.nil,r=se.nil){if(!this.$data)return;let{gen:n,schemaCode:i,schemaType:s,def:o}=this;n.if((0,se.or)((0,se._)`${i} === undefined`,r)),e!==se.nil&&n.assign(e,!0),(s.length||o.validateSchema)&&(n.elseIf(this.invalid$data()),this.$dataError(),e!==se.nil&&n.assign(e,!1)),n.else()}invalid$data(){let{gen:e,schemaCode:r,schemaType:n,def:i,it:s}=this;return(0,se.or)(o(),a());function o(){if(n.length){if(!(r instanceof se.Name))throw new Error("ajv implementation error");let c=Array.isArray(n)?n:[n];return(0,se._)`${(0,rm.checkDataTypes)(c,r,s.opts.strictNumbers,rm.DataType.Wrong)}`}return se.nil}function a(){if(i.validateSchema){let c=e.scopeValue("validate$data",{ref:i.validateSchema});return(0,se._)`!${c}(${r})`}return se.nil}}subschema(e,r){let n=(0,Jb.getSubschema)(this.it,e);(0,Jb.extendSubschemaData)(n,this.it,e),(0,Jb.extendSubschemaMode)(n,e);let i={...this.it,...n,items:void 0,props:void 0};return LY(i,r),i}mergeEvaluated(e,r){let{it:n,gen:i}=this;n.opts.unevaluated&&(n.props!==!0&&e.props!==void 0&&(n.props=Li.mergeEvaluated.props(i,e.props,n.props,r)),n.items!==!0&&e.items!==void 0&&(n.items=Li.mergeEvaluated.items(i,e.items,n.items,r)))}mergeValidEvaluated(e,r){let{it:n,gen:i}=this;if(n.opts.unevaluated&&(n.props!==!0||n.items!==!0))return i.if(r,()=>this.mergeEvaluated(e,se.Name)),!0}};Ds.KeywordCxt=nm;function Iq(t,e,r,n){let i=new nm(t,r,e);"code"in r?r.code(i,n):i.$data&&r.validate?(0,Jl.funcKeywordCode)(i,r):"macro"in r?(0,Jl.macroKeywordCode)(i,r):(r.compile||r.validate)&&(0,Jl.funcKeywordCode)(i,r)}var XY=/^\/(?:[^~]|~0|~1)*$/,JY=/^([0-9]+)(#|\/(?:[^~]|~0|~1)*)?$/;function Oq(t,{dataLevel:e,dataNames:r,dataPathArr:n}){let i,s;if(t==="")return he.default.rootData;if(t[0]==="/"){if(!XY.test(t))throw new Error(`Invalid JSON-pointer: ${t}`);i=t,s=he.default.rootData}else{let l=JY.exec(t);if(!l)throw new Error(`Invalid JSON-pointer: ${t}`);let u=+l[1];if(i=l[2],i==="#"){if(u>=e)throw new Error(c("property/index",u));return n[e-u]}if(u>e)throw new Error(c("data",u));if(s=r[e-u],!i)return s}let o=s,a=i.split("/");for(let l of a)l&&(s=(0,se._)`${s}${(0,se.getProperty)((0,Li.unescapeJsonPointer)(l))}`,o=(0,se._)`${o} && ${s}`);return o;function c(l,u){return`Cannot access ${l} ${u} levels up, current level is ${e}`}}Ds.getData=Oq});var im=k(t_=>{"use strict";Object.defineProperty(t_,"__esModule",{value:!0});var e_=class extends Error{constructor(e){super("validation failed"),this.errors=e,this.ajv=this.validation=!0}};t_.default=e_});var Zl=k(i_=>{"use strict";Object.defineProperty(i_,"__esModule",{value:!0});var r_=Yl(),n_=class extends Error{constructor(e,r,n,i){super(i||`can't resolve reference ${n} from id ${r}`),this.missingRef=(0,r_.resolveUrl)(e,r,n),this.missingSchema=(0,r_.normalizeId)((0,r_.getFullPath)(e,this.missingRef))}};i_.default=n_});var eu=k(_n=>{"use strict";Object.defineProperty(_n,"__esModule",{value:!0});_n.resolveSchema=_n.getCompilingSchema=_n.resolveRef=_n.compileSchema=_n.SchemaEnv=void 0;var Vn=ve(),QY=im(),fo=vn(),zn=Yl(),Mq=we(),ZY=Ql(),Fa=class{constructor(e){var r;this.refs={},this.dynamicAnchors={};let n;typeof e.schema=="object"&&(n=e.schema),this.schema=e.schema,this.schemaId=e.schemaId,this.root=e.root||this,this.baseId=(r=e.baseId)!==null&&r!==void 0?r:(0,zn.normalizeId)(n?.[e.schemaId||"$id"]),this.schemaPath=e.schemaPath,this.localRefs=e.localRefs,this.meta=e.meta,this.$async=n?.$async,this.refs={}}};_n.SchemaEnv=Fa;function o_(t){let e=xq.call(this,t);if(e)return e;let r=(0,zn.getFullPath)(this.opts.uriResolver,t.root.baseId),{es5:n,lines:i}=this.opts.code,{ownProperties:s}=this.opts,o=new Vn.CodeGen(this.scope,{es5:n,lines:i,ownProperties:s}),a;t.$async&&(a=o.scopeValue("Error",{ref:QY.default,code:(0,Vn._)`require("ajv/dist/runtime/validation_error").default`}));let c=o.scopeName("validate");t.validateName=c;let l={gen:o,allErrors:this.opts.allErrors,data:fo.default.data,parentData:fo.default.parentData,parentDataProperty:fo.default.parentDataProperty,dataNames:[fo.default.data],dataPathArr:[Vn.nil],dataLevel:0,dataTypes:[],definedProperties:new Set,topSchemaRef:o.scopeValue("schema",this.opts.code.source===!0?{ref:t.schema,code:(0,Vn.stringify)(t.schema)}:{ref:t.schema}),validateName:c,ValidationError:a,schema:t.schema,schemaEnv:t,rootId:r,baseId:t.baseId||r,schemaPath:Vn.nil,errSchemaPath:t.schemaPath||(this.opts.jtd?"":"#"),errorPath:(0,Vn._)`""`,opts:this.opts,self:this},u;try{this._compilations.add(t),(0,ZY.validateFunctionCode)(l),o.optimize(this.opts.code.optimize);let d=o.toString();u=`${o.scopeRefs(fo.default.scope)}return ${d}`,this.opts.code.process&&(u=this.opts.code.process(u,t));let p=new Function(`${fo.default.self}`,`${fo.default.scope}`,u)(this,this.scope.get());if(this.scope.value(c,{ref:p}),p.errors=null,p.schema=t.schema,p.schemaEnv=t,t.$async&&(p.$async=!0),this.opts.code.source===!0&&(p.source={validateName:c,validateCode:d,scopeValues:o._values}),this.opts.unevaluated){let{props:g,items:h}=l;p.evaluated={props:g instanceof Vn.Name?void 0:g,items:h instanceof Vn.Name?void 0:h,dynamicProps:g instanceof Vn.Name,dynamicItems:h instanceof Vn.Name},p.source&&(p.source.evaluated=(0,Vn.stringify)(p.evaluated))}return t.validate=p,t}catch(d){throw delete t.validate,delete t.validateName,u&&this.logger.error("Error compiling schema, function code:",u),d}finally{this._compilations.delete(t)}}_n.compileSchema=o_;function e3(t,e,r){var n;r=(0,zn.resolveUrl)(this.opts.uriResolver,e,r);let i=t.refs[r];if(i)return i;let s=n3.call(this,t,r);if(s===void 0){let o=(n=t.localRefs)===null||n===void 0?void 0:n[r],{schemaId:a}=this.opts;o&&(s=new Fa({schema:o,schemaId:a,root:t,baseId:e}))}if(s!==void 0)return t.refs[r]=t3.call(this,s)}_n.resolveRef=e3;function t3(t){return(0,zn.inlineRef)(t.schema,this.opts.inlineRefs)?t.schema:t.validate?t:o_.call(this,t)}function xq(t){for(let e of this._compilations)if(r3(e,t))return e}_n.getCompilingSchema=xq;function r3(t,e){return t.schema===e.schema&&t.root===e.root&&t.baseId===e.baseId}function n3(t,e){let r;for(;typeof(r=this.refs[e])=="string";)e=r;return r||this.schemas[e]||sm.call(this,t,e)}function sm(t,e){let r=this.opts.uriResolver.parse(e),n=(0,zn._getFullPath)(this.opts.uriResolver,r),i=(0,zn.getFullPath)(this.opts.uriResolver,t.baseId,void 0);if(Object.keys(t.schema).length>0&&n===i)return s_.call(this,r,t);let s=(0,zn.normalizeId)(n),o=this.refs[s]||this.schemas[s];if(typeof o=="string"){let a=sm.call(this,t,o);return typeof a?.schema!="object"?void 0:s_.call(this,r,a)}if(typeof o?.schema=="object"){if(o.validate||o_.call(this,o),s===(0,zn.normalizeId)(e)){let{schema:a}=o,{schemaId:c}=this.opts,l=a[c];return l&&(i=(0,zn.resolveUrl)(this.opts.uriResolver,i,l)),new Fa({schema:a,schemaId:c,root:t,baseId:i})}return s_.call(this,r,o)}}_n.resolveSchema=sm;var i3=new Set(["properties","patternProperties","enum","dependencies","definitions"]);function s_(t,{baseId:e,schema:r,root:n}){var i;if(((i=t.fragment)===null||i===void 0?void 0:i[0])!=="/")return;for(let a of t.fragment.slice(1).split("/")){if(typeof r=="boolean")return;let c=r[(0,Mq.unescapeFragment)(a)];if(c===void 0)return;r=c;let l=typeof r=="object"&&r[this.opts.schemaId];!i3.has(a)&&l&&(e=(0,zn.resolveUrl)(this.opts.uriResolver,e,l))}let s;if(typeof r!="boolean"&&r.$ref&&!(0,Mq.schemaHasRulesButRef)(r,this.RULES)){let a=(0,zn.resolveUrl)(this.opts.uriResolver,e,r.$ref);s=sm.call(this,n,a)}let{schemaId:o}=this.opts;if(s=s||new Fa({schema:r,schemaId:o,root:n,baseId:e}),s.schema!==s.root.schema)return s}});var Lq=k((MRe,s3)=>{s3.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 $q=k((xRe,qq)=>{"use strict";var o3={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};qq.exports={HEX:o3}});var Wq=k((LRe,zq)=>{"use strict";var{HEX:a3}=$q(),c3=/^(?:(?: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 Uq(t){if(Vq(t,".")<3)return{host:t,isIPV4:!1};let e=t.match(c3)||[],[r]=e;return r?{host:u3(r,"."),isIPV4:!0}:{host:t,isIPV4:!1}}function a_(t,e=!1){let r="",n=!0;for(let i of t){if(a3[i]===void 0)return;i!=="0"&&n===!0&&(n=!1),n||(r+=i)}return e&&r.length===0&&(r="0"),r}function l3(t){let e=0,r={error:!1,address:"",zone:""},n=[],i=[],s=!1,o=!1,a=!1;function c(){if(i.length){if(s===!1){let l=a_(i);if(l!==void 0)n.push(l);else return r.error=!0,!1}i.length=0}return!0}for(let l=0;l<t.length;l++){let u=t[l];if(!(u==="["||u==="]"))if(u===":"){if(o===!0&&(a=!0),!c())break;if(e++,n.push(":"),e>7){r.error=!0;break}l-1>=0&&t[l-1]===":"&&(o=!0);continue}else if(u==="%"){if(!c())break;s=!0}else{i.push(u);continue}}return i.length&&(s?r.zone=i.join(""):a?n.push(i.join("")):n.push(a_(i))),r.address=n.join(""),r}function Hq(t){if(Vq(t,":")<2)return{host:t,isIPV6:!1};let e=l3(t);if(e.error)return{host:t,isIPV6:!1};{let r=e.address,n=e.address;return e.zone&&(r+="%"+e.zone,n+="%25"+e.zone),{host:r,escapedHost:n,isIPV6:!0}}}function u3(t,e){let r="",n=!0,i=t.length;for(let s=0;s<i;s++){let o=t[s];o==="0"&&n?(s+1<=i&&t[s+1]===e||s+1===i)&&(r+=o,n=!1):(o===e?n=!0:n=!1,r+=o)}return r}function Vq(t,e){let r=0;for(let n=0;n<t.length;n++)t[n]===e&&r++;return r}var Bq=/^\.\.?\//u,Fq=/^\/\.(?:\/|$)/u,jq=/^\/\.\.(?:\/|$)/u,d3=/^\/?(?:.|\n)*?(?=\/|$)/u;function f3(t){let e=[];for(;t.length;)if(t.match(Bq))t=t.replace(Bq,"");else if(t.match(Fq))t=t.replace(Fq,"/");else if(t.match(jq))t=t.replace(jq,"/"),e.pop();else if(t==="."||t==="..")t="";else{let r=t.match(d3);if(r){let n=r[0];t=t.slice(n.length),e.push(n)}else throw new Error("Unexpected dot segment condition")}return e.join("")}function p3(t,e){let r=e!==!0?escape:unescape;return t.scheme!==void 0&&(t.scheme=r(t.scheme)),t.userinfo!==void 0&&(t.userinfo=r(t.userinfo)),t.host!==void 0&&(t.host=r(t.host)),t.path!==void 0&&(t.path=r(t.path)),t.query!==void 0&&(t.query=r(t.query)),t.fragment!==void 0&&(t.fragment=r(t.fragment)),t}function h3(t){let e=[];if(t.userinfo!==void 0&&(e.push(t.userinfo),e.push("@")),t.host!==void 0){let r=unescape(t.host),n=Uq(r);if(n.isIPV4)r=n.host;else{let i=Hq(n.host);i.isIPV6===!0?r=`[${i.escapedHost}]`:r=t.host}e.push(r)}return(typeof t.port=="number"||typeof t.port=="string")&&(e.push(":"),e.push(String(t.port))),e.length?e.join(""):void 0}zq.exports={recomposeAuthority:h3,normalizeComponentEncoding:p3,removeDotSegments:f3,normalizeIPv4:Uq,normalizeIPv6:Hq,stringArrayToHexStripped:a_}});var Qq=k((qRe,Jq)=>{"use strict";var m3=/^[\da-f]{8}-[\da-f]{4}-[\da-f]{4}-[\da-f]{4}-[\da-f]{12}$/iu,g3=/([\da-z][\d\-a-z]{0,31}):((?:[\w!$'()*+,\-.:;=@]|%[\da-f]{2})+)/iu;function Gq(t){return typeof t.secure=="boolean"?t.secure:String(t.scheme).toLowerCase()==="wss"}function Kq(t){return t.host||(t.error=t.error||"HTTP URIs must have a host."),t}function Yq(t){let e=String(t.scheme).toLowerCase()==="https";return(t.port===(e?443:80)||t.port==="")&&(t.port=void 0),t.path||(t.path="/"),t}function y3(t){return t.secure=Gq(t),t.resourceName=(t.path||"/")+(t.query?"?"+t.query:""),t.path=void 0,t.query=void 0,t}function T3(t){if((t.port===(Gq(t)?443:80)||t.port==="")&&(t.port=void 0),typeof t.secure=="boolean"&&(t.scheme=t.secure?"wss":"ws",t.secure=void 0),t.resourceName){let[e,r]=t.resourceName.split("?");t.path=e&&e!=="/"?e:void 0,t.query=r,t.resourceName=void 0}return t.fragment=void 0,t}function v3(t,e){if(!t.path)return t.error="URN can not be parsed",t;let r=t.path.match(g3);if(r){let n=e.scheme||t.scheme||"urn";t.nid=r[1].toLowerCase(),t.nss=r[2];let i=`${n}:${e.nid||t.nid}`,s=c_[i];t.path=void 0,s&&(t=s.parse(t,e))}else t.error=t.error||"URN can not be parsed.";return t}function b3(t,e){let r=e.scheme||t.scheme||"urn",n=t.nid.toLowerCase(),i=`${r}:${e.nid||n}`,s=c_[i];s&&(t=s.serialize(t,e));let o=t,a=t.nss;return o.path=`${n||e.nid}:${a}`,e.skipEscape=!0,o}function _3(t,e){let r=t;return r.uuid=r.nss,r.nss=void 0,!e.tolerant&&(!r.uuid||!m3.test(r.uuid))&&(r.error=r.error||"UUID is not valid."),r}function S3(t){let e=t;return e.nss=(t.uuid||"").toLowerCase(),e}var Xq={scheme:"http",domainHost:!0,parse:Kq,serialize:Yq},N3={scheme:"https",domainHost:Xq.domainHost,parse:Kq,serialize:Yq},om={scheme:"ws",domainHost:!0,parse:y3,serialize:T3},k3={scheme:"wss",domainHost:om.domainHost,parse:om.parse,serialize:om.serialize},R3={scheme:"urn",parse:v3,serialize:b3,skipNormalize:!0},P3={scheme:"urn:uuid",parse:_3,serialize:S3,skipNormalize:!0},c_={http:Xq,https:N3,ws:om,wss:k3,urn:R3,"urn:uuid":P3};Jq.exports=c_});var e1=k(($Re,cm)=>{"use strict";var{normalizeIPv6:w3,normalizeIPv4:E3,removeDotSegments:tu,recomposeAuthority:D3,normalizeComponentEncoding:am}=Wq(),l_=Qq();function C3(t,e){return typeof t=="string"?t=hi(qi(t,e),e):typeof t=="object"&&(t=qi(hi(t,e),e)),t}function A3(t,e,r){let n=Object.assign({scheme:"null"},r),i=Zq(qi(t,n),qi(e,n),n,!0);return hi(i,{...n,skipEscape:!0})}function Zq(t,e,r,n){let i={};return n||(t=qi(hi(t,r),r),e=qi(hi(e,r),r)),r=r||{},!r.tolerant&&e.scheme?(i.scheme=e.scheme,i.userinfo=e.userinfo,i.host=e.host,i.port=e.port,i.path=tu(e.path||""),i.query=e.query):(e.userinfo!==void 0||e.host!==void 0||e.port!==void 0?(i.userinfo=e.userinfo,i.host=e.host,i.port=e.port,i.path=tu(e.path||""),i.query=e.query):(e.path?(e.path.charAt(0)==="/"?i.path=tu(e.path):((t.userinfo!==void 0||t.host!==void 0||t.port!==void 0)&&!t.path?i.path="/"+e.path:t.path?i.path=t.path.slice(0,t.path.lastIndexOf("/")+1)+e.path:i.path=e.path,i.path=tu(i.path)),i.query=e.query):(i.path=t.path,e.query!==void 0?i.query=e.query:i.query=t.query),i.userinfo=t.userinfo,i.host=t.host,i.port=t.port),i.scheme=t.scheme),i.fragment=e.fragment,i}function I3(t,e,r){return typeof t=="string"?(t=unescape(t),t=hi(am(qi(t,r),!0),{...r,skipEscape:!0})):typeof t=="object"&&(t=hi(am(t,!0),{...r,skipEscape:!0})),typeof e=="string"?(e=unescape(e),e=hi(am(qi(e,r),!0),{...r,skipEscape:!0})):typeof e=="object"&&(e=hi(am(e,!0),{...r,skipEscape:!0})),t.toLowerCase()===e.toLowerCase()}function hi(t,e){let r={host:t.host,scheme:t.scheme,userinfo:t.userinfo,port:t.port,path:t.path,query:t.query,nid:t.nid,nss:t.nss,uuid:t.uuid,fragment:t.fragment,reference:t.reference,resourceName:t.resourceName,secure:t.secure,error:""},n=Object.assign({},e),i=[],s=l_[(n.scheme||r.scheme||"").toLowerCase()];s&&s.serialize&&s.serialize(r,n),r.path!==void 0&&(n.skipEscape?r.path=unescape(r.path):(r.path=escape(r.path),r.scheme!==void 0&&(r.path=r.path.split("%3A").join(":")))),n.reference!=="suffix"&&r.scheme&&i.push(r.scheme,":");let o=D3(r);if(o!==void 0&&(n.reference!=="suffix"&&i.push("//"),i.push(o),r.path&&r.path.charAt(0)!=="/"&&i.push("/")),r.path!==void 0){let a=r.path;!n.absolutePath&&(!s||!s.absolutePath)&&(a=tu(a)),o===void 0&&(a=a.replace(/^\/\//u,"/%2F")),i.push(a)}return r.query!==void 0&&i.push("?",r.query),r.fragment!==void 0&&i.push("#",r.fragment),i.join("")}var O3=Array.from({length:127},(t,e)=>/[^!"$&'()*+,\-.;=_`a-z{}~]/u.test(String.fromCharCode(e)));function M3(t){let e=0;for(let r=0,n=t.length;r<n;++r)if(e=t.charCodeAt(r),e>126||O3[e])return!0;return!1}var x3=/^(?:([^#/:?]+):)?(?:\/\/((?:([^#/?@]*)@)?(\[[^#/?\]]+\]|[^#/:?]*)(?::(\d*))?))?([^#?]*)(?:\?([^#]*))?(?:#((?:.|[\n\r])*))?/u;function qi(t,e){let r=Object.assign({},e),n={scheme:void 0,userinfo:void 0,host:"",port:void 0,path:"",query:void 0,fragment:void 0},i=t.indexOf("%")!==-1,s=!1;r.reference==="suffix"&&(t=(r.scheme?r.scheme+":":"")+"//"+t);let o=t.match(x3);if(o){if(n.scheme=o[1],n.userinfo=o[3],n.host=o[4],n.port=parseInt(o[5],10),n.path=o[6]||"",n.query=o[7],n.fragment=o[8],isNaN(n.port)&&(n.port=o[5]),n.host){let c=E3(n.host);if(c.isIPV4===!1){let l=w3(c.host);n.host=l.host.toLowerCase(),s=l.isIPV6}else n.host=c.host,s=!0}n.scheme===void 0&&n.userinfo===void 0&&n.host===void 0&&n.port===void 0&&n.query===void 0&&!n.path?n.reference="same-document":n.scheme===void 0?n.reference="relative":n.fragment===void 0?n.reference="absolute":n.reference="uri",r.reference&&r.reference!=="suffix"&&r.reference!==n.reference&&(n.error=n.error||"URI is not a "+r.reference+" reference.");let a=l_[(r.scheme||n.scheme||"").toLowerCase()];if(!r.unicodeSupport&&(!a||!a.unicodeSupport)&&n.host&&(r.domainHost||a&&a.domainHost)&&s===!1&&M3(n.host))try{n.host=URL.domainToASCII(n.host.toLowerCase())}catch(c){n.error=n.error||"Host's domain name can not be converted to ASCII: "+c}(!a||a&&!a.skipNormalize)&&(i&&n.scheme!==void 0&&(n.scheme=unescape(n.scheme)),i&&n.host!==void 0&&(n.host=unescape(n.host)),n.path&&(n.path=escape(unescape(n.path))),n.fragment&&(n.fragment=encodeURI(decodeURIComponent(n.fragment)))),a&&a.parse&&a.parse(n,r)}else n.error=n.error||"URI can not be parsed.";return n}var u_={SCHEMES:l_,normalize:C3,resolve:A3,resolveComponents:Zq,equal:I3,serialize:hi,parse:qi};cm.exports=u_;cm.exports.default=u_;cm.exports.fastUri=u_});var r1=k(d_=>{"use strict";Object.defineProperty(d_,"__esModule",{value:!0});var t1=e1();t1.code='require("ajv/dist/runtime/uri").default';d_.default=t1});var u1=k(tr=>{"use strict";Object.defineProperty(tr,"__esModule",{value:!0});tr.CodeGen=tr.Name=tr.nil=tr.stringify=tr.str=tr._=tr.KeywordCxt=void 0;var L3=Ql();Object.defineProperty(tr,"KeywordCxt",{enumerable:!0,get:function(){return L3.KeywordCxt}});var ja=ve();Object.defineProperty(tr,"_",{enumerable:!0,get:function(){return ja._}});Object.defineProperty(tr,"str",{enumerable:!0,get:function(){return ja.str}});Object.defineProperty(tr,"stringify",{enumerable:!0,get:function(){return ja.stringify}});Object.defineProperty(tr,"nil",{enumerable:!0,get:function(){return ja.nil}});Object.defineProperty(tr,"Name",{enumerable:!0,get:function(){return ja.Name}});Object.defineProperty(tr,"CodeGen",{enumerable:!0,get:function(){return ja.CodeGen}});var q3=im(),a1=Zl(),$3=jb(),ru=eu(),B3=ve(),nu=Yl(),lm=Kl(),p_=we(),n1=Lq(),F3=r1(),c1=(t,e)=>new RegExp(t,e);c1.code="new RegExp";var j3=["removeAdditional","useDefaults","coerceTypes"],U3=new Set(["validate","serialize","parse","wrapper","root","schema","keyword","pattern","formats","validate$data","func","obj","Error"]),H3={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."},V3={ignoreKeywordsWithRef:"",jsPropertySyntax:"",unicode:'"minLength"/"maxLength" account for unicode characters by default.'},i1=200;function z3(t){var e,r,n,i,s,o,a,c,l,u,d,f,p,g,h,T,S,_,v,R,D,B,M,F,ge;let Xe=t.strict,Ft=(e=t.code)===null||e===void 0?void 0:e.optimize,ke=Ft===!0||Ft===void 0?1:Ft||0,Qr=(n=(r=t.code)===null||r===void 0?void 0:r.regExp)!==null&&n!==void 0?n:c1,$i=(i=t.uriResolver)!==null&&i!==void 0?i:F3.default;return{strictSchema:(o=(s=t.strictSchema)!==null&&s!==void 0?s:Xe)!==null&&o!==void 0?o:!0,strictNumbers:(c=(a=t.strictNumbers)!==null&&a!==void 0?a:Xe)!==null&&c!==void 0?c:!0,strictTypes:(u=(l=t.strictTypes)!==null&&l!==void 0?l:Xe)!==null&&u!==void 0?u:"log",strictTuples:(f=(d=t.strictTuples)!==null&&d!==void 0?d:Xe)!==null&&f!==void 0?f:"log",strictRequired:(g=(p=t.strictRequired)!==null&&p!==void 0?p:Xe)!==null&&g!==void 0?g:!1,code:t.code?{...t.code,optimize:ke,regExp:Qr}:{optimize:ke,regExp:Qr},loopRequired:(h=t.loopRequired)!==null&&h!==void 0?h:i1,loopEnum:(T=t.loopEnum)!==null&&T!==void 0?T:i1,meta:(S=t.meta)!==null&&S!==void 0?S:!0,messages:(_=t.messages)!==null&&_!==void 0?_:!0,inlineRefs:(v=t.inlineRefs)!==null&&v!==void 0?v:!0,schemaId:(R=t.schemaId)!==null&&R!==void 0?R:"$id",addUsedSchema:(D=t.addUsedSchema)!==null&&D!==void 0?D:!0,validateSchema:(B=t.validateSchema)!==null&&B!==void 0?B:!0,validateFormats:(M=t.validateFormats)!==null&&M!==void 0?M:!0,unicodeRegExp:(F=t.unicodeRegExp)!==null&&F!==void 0?F:!0,int32range:(ge=t.int32range)!==null&&ge!==void 0?ge:!0,uriResolver:$i}}var iu=class{constructor(e={}){this.schemas={},this.refs={},this.formats={},this._compilations=new Set,this._loading={},this._cache=new Map,e=this.opts={...e,...z3(e)};let{es5:r,lines:n}=this.opts.code;this.scope=new B3.ValueScope({scope:{},prefixes:U3,es5:r,lines:n}),this.logger=J3(e.logger);let i=e.validateFormats;e.validateFormats=!1,this.RULES=(0,$3.getRules)(),s1.call(this,H3,e,"NOT SUPPORTED"),s1.call(this,V3,e,"DEPRECATED","warn"),this._metaOpts=Y3.call(this),e.formats&&G3.call(this),this._addVocabularies(),this._addDefaultMetaSchema(),e.keywords&&K3.call(this,e.keywords),typeof e.meta=="object"&&this.addMetaSchema(e.meta),W3.call(this),e.validateFormats=i}_addVocabularies(){this.addKeyword("$async")}_addDefaultMetaSchema(){let{$data:e,meta:r,schemaId:n}=this.opts,i=n1;n==="id"&&(i={...n1},i.id=i.$id,delete i.$id),r&&e&&this.addMetaSchema(i,i[n],!1)}defaultMeta(){let{meta:e,schemaId:r}=this.opts;return this.opts.defaultMeta=typeof e=="object"?e[r]||e:void 0}validate(e,r){let n;if(typeof e=="string"){if(n=this.getSchema(e),!n)throw new Error(`no schema with key or ref "${e}"`)}else n=this.compile(e);let i=n(r);return"$async"in n||(this.errors=n.errors),i}compile(e,r){let n=this._addSchema(e,r);return n.validate||this._compileSchemaEnv(n)}compileAsync(e,r){if(typeof this.opts.loadSchema!="function")throw new Error("options.loadSchema should be a function");let{loadSchema:n}=this.opts;return i.call(this,e,r);async function i(u,d){await s.call(this,u.$schema);let f=this._addSchema(u,d);return f.validate||o.call(this,f)}async function s(u){u&&!this.getSchema(u)&&await i.call(this,{$ref:u},!0)}async function o(u){try{return this._compileSchemaEnv(u)}catch(d){if(!(d instanceof a1.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 s.call(this,d.$schema),this.refs[u]||this.addSchema(d,u,r)}async function l(u){let d=this._loading[u];if(d)return d;try{return await(this._loading[u]=n(u))}finally{delete this._loading[u]}}}addSchema(e,r,n,i=this.opts.validateSchema){if(Array.isArray(e)){for(let o of e)this.addSchema(o,void 0,n,i);return this}let s;if(typeof e=="object"){let{schemaId:o}=this.opts;if(s=e[o],s!==void 0&&typeof s!="string")throw new Error(`schema ${o} must be string`)}return r=(0,nu.normalizeId)(r||s),this._checkUnique(r),this.schemas[r]=this._addSchema(e,n,r,i,!0),this}addMetaSchema(e,r,n=this.opts.validateSchema){return this.addSchema(e,r,!0,n),this}validateSchema(e,r){if(typeof e=="boolean")return!0;let n;if(n=e.$schema,n!==void 0&&typeof n!="string")throw new Error("$schema must be a string");if(n=n||this.opts.defaultMeta||this.defaultMeta(),!n)return this.logger.warn("meta-schema not available"),this.errors=null,!0;let i=this.validate(n,e);if(!i&&r){let s="schema is invalid: "+this.errorsText();if(this.opts.validateSchema==="log")this.logger.error(s);else throw new Error(s)}return i}getSchema(e){let r;for(;typeof(r=o1.call(this,e))=="string";)e=r;if(r===void 0){let{schemaId:n}=this.opts,i=new ru.SchemaEnv({schema:{},schemaId:n});if(r=ru.resolveSchema.call(this,i,e),!r)return;this.refs[e]=r}return r.validate||this._compileSchemaEnv(r)}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 r=o1.call(this,e);return typeof r=="object"&&this._cache.delete(r.schema),delete this.schemas[e],delete this.refs[e],this}case"object":{let r=e;this._cache.delete(r);let n=e[this.opts.schemaId];return n&&(n=(0,nu.normalizeId)(n),delete this.schemas[n],delete this.refs[n]),this}default:throw new Error("ajv.removeSchema: invalid parameter")}}addVocabulary(e){for(let r of e)this.addKeyword(r);return this}addKeyword(e,r){let n;if(typeof e=="string")n=e,typeof r=="object"&&(this.logger.warn("these parameters are deprecated, see docs for addKeyword"),r.keyword=n);else if(typeof e=="object"&&r===void 0){if(r=e,n=r.keyword,Array.isArray(n)&&!n.length)throw new Error("addKeywords: keyword must be string or non-empty array")}else throw new Error("invalid addKeywords parameters");if(Z3.call(this,n,r),!r)return(0,p_.eachItem)(n,s=>f_.call(this,s)),this;tX.call(this,r);let i={...r,type:(0,lm.getJSONTypes)(r.type),schemaType:(0,lm.getJSONTypes)(r.schemaType)};return(0,p_.eachItem)(n,i.type.length===0?s=>f_.call(this,s,i):s=>i.type.forEach(o=>f_.call(this,s,i,o))),this}getKeyword(e){let r=this.RULES.all[e];return typeof r=="object"?r.definition:!!r}removeKeyword(e){let{RULES:r}=this;delete r.keywords[e],delete r.all[e];for(let n of r.rules){let i=n.rules.findIndex(s=>s.keyword===e);i>=0&&n.rules.splice(i,1)}return this}addFormat(e,r){return typeof r=="string"&&(r=new RegExp(r)),this.formats[e]=r,this}errorsText(e=this.errors,{separator:r=", ",dataVar:n="data"}={}){return!e||e.length===0?"No errors":e.map(i=>`${n}${i.instancePath} ${i.message}`).reduce((i,s)=>i+r+s)}$dataMetaSchema(e,r){let n=this.RULES.all;e=JSON.parse(JSON.stringify(e));for(let i of r){let s=i.split("/").slice(1),o=e;for(let a of s)o=o[a];for(let a in n){let c=n[a];if(typeof c!="object")continue;let{$data:l}=c.definition,u=o[a];l&&u&&(o[a]=l1(u))}}return e}_removeAllSchemas(e,r){for(let n in e){let i=e[n];(!r||r.test(n))&&(typeof i=="string"?delete e[n]:i&&!i.meta&&(this._cache.delete(i.schema),delete e[n]))}}_addSchema(e,r,n,i=this.opts.validateSchema,s=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;n=(0,nu.normalizeId)(o||n);let l=nu.getSchemaRefs.call(this,e,n);return c=new ru.SchemaEnv({schema:e,schemaId:a,meta:r,baseId:n,localRefs:l}),this._cache.set(c.schema,c),s&&!n.startsWith("#")&&(n&&this._checkUnique(n),this.refs[n]=c),i&&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):ru.compileSchema.call(this,e),!e.validate)throw new Error("ajv implementation error");return e.validate}_compileMetaSchema(e){let r=this.opts;this.opts=this._metaOpts;try{ru.compileSchema.call(this,e)}finally{this.opts=r}}};iu.ValidationError=q3.default;iu.MissingRefError=a1.default;tr.default=iu;function s1(t,e,r,n="error"){for(let i in t){let s=i;s in e&&this.logger[n](`${r}: option ${i}. ${t[s]}`)}}function o1(t){return t=(0,nu.normalizeId)(t),this.schemas[t]||this.refs[t]}function W3(){let t=this.opts.schemas;if(t)if(Array.isArray(t))this.addSchema(t);else for(let e in t)this.addSchema(t[e],e)}function G3(){for(let t in this.opts.formats){let e=this.opts.formats[t];e&&this.addFormat(t,e)}}function K3(t){if(Array.isArray(t)){this.addVocabulary(t);return}this.logger.warn("keywords option as map is deprecated, pass array");for(let e in t){let r=t[e];r.keyword||(r.keyword=e),this.addKeyword(r)}}function Y3(){let t={...this.opts};for(let e of j3)delete t[e];return t}var X3={log(){},warn(){},error(){}};function J3(t){if(t===!1)return X3;if(t===void 0)return console;if(t.log&&t.warn&&t.error)return t;throw new Error("logger must implement log, warn and error methods")}var Q3=/^[a-z_$][a-z0-9_$:-]*$/i;function Z3(t,e){let{RULES:r}=this;if((0,p_.eachItem)(t,n=>{if(r.keywords[n])throw new Error(`Keyword ${n} is already defined`);if(!Q3.test(n))throw new Error(`Keyword ${n} has invalid name`)}),!!e&&e.$data&&!("code"in e||"validate"in e))throw new Error('$data keyword must have "code" or "validate" function')}function f_(t,e,r){var n;let i=e?.post;if(r&&i)throw new Error('keyword with "post" flag cannot have "type"');let{RULES:s}=this,o=i?s.post:s.rules.find(({type:c})=>c===r);if(o||(o={type:r,rules:[]},s.rules.push(o)),s.keywords[t]=!0,!e)return;let a={keyword:t,definition:{...e,type:(0,lm.getJSONTypes)(e.type),schemaType:(0,lm.getJSONTypes)(e.schemaType)}};e.before?eX.call(this,o,a,e.before):o.rules.push(a),s.all[t]=a,(n=e.implements)===null||n===void 0||n.forEach(c=>this.addKeyword(c))}function eX(t,e,r){let n=t.rules.findIndex(i=>i.keyword===r);n>=0?t.rules.splice(n,0,e):(t.rules.push(e),this.logger.warn(`rule ${r} is not defined`))}function tX(t){let{metaSchema:e}=t;e!==void 0&&(t.$data&&this.opts.$data&&(e=l1(e)),t.validateSchema=this.compile(e,!0))}var rX={$ref:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#"};function l1(t){return{anyOf:[t,rX]}}});var d1=k(h_=>{"use strict";Object.defineProperty(h_,"__esModule",{value:!0});var nX={keyword:"id",code(){throw new Error('NOT SUPPORTED: keyword "id", use "$id" for schema ID')}};h_.default=nX});var fm=k(po=>{"use strict";Object.defineProperty(po,"__esModule",{value:!0});po.callRef=po.getValidate=void 0;var iX=Zl(),f1=bn(),Ur=ve(),Ua=vn(),p1=eu(),um=we(),sX={keyword:"$ref",schemaType:"string",code(t){let{gen:e,schema:r,it:n}=t,{baseId:i,schemaEnv:s,validateName:o,opts:a,self:c}=n,{root:l}=s;if((r==="#"||r==="#/")&&i===l.baseId)return d();let u=p1.resolveRef.call(c,l,i,r);if(u===void 0)throw new iX.default(n.opts.uriResolver,i,r);if(u instanceof p1.SchemaEnv)return f(u);return p(u);function d(){if(s===l)return dm(t,o,s,s.$async);let g=e.scopeValue("root",{ref:l});return dm(t,(0,Ur._)`${g}.validate`,l,l.$async)}function f(g){let h=h1(t,g);dm(t,h,g,g.$async)}function p(g){let h=e.scopeValue("schema",a.code.source===!0?{ref:g,code:(0,Ur.stringify)(g)}:{ref:g}),T=e.name("valid"),S=t.subschema({schema:g,dataTypes:[],schemaPath:Ur.nil,topSchemaRef:h,errSchemaPath:r},T);t.mergeEvaluated(S),t.ok(T)}}};function h1(t,e){let{gen:r}=t;return e.validate?r.scopeValue("validate",{ref:e.validate}):(0,Ur._)`${r.scopeValue("wrapper",{ref:e})}.validate`}po.getValidate=h1;function dm(t,e,r,n){let{gen:i,it:s}=t,{allErrors:o,schemaEnv:a,opts:c}=s,l=c.passContext?Ua.default.this:Ur.nil;n?u():d();function u(){if(!a.$async)throw new Error("async schema referenced by sync schema");let g=i.let("valid");i.try(()=>{i.code((0,Ur._)`await ${(0,f1.callValidateCode)(t,e,l)}`),p(e),o||i.assign(g,!0)},h=>{i.if((0,Ur._)`!(${h} instanceof ${s.ValidationError})`,()=>i.throw(h)),f(h),o||i.assign(g,!1)}),t.ok(g)}function d(){t.result((0,f1.callValidateCode)(t,e,l),()=>p(e),()=>f(e))}function f(g){let h=(0,Ur._)`${g}.errors`;i.assign(Ua.default.vErrors,(0,Ur._)`${Ua.default.vErrors} === null ? ${h} : ${Ua.default.vErrors}.concat(${h})`),i.assign(Ua.default.errors,(0,Ur._)`${Ua.default.vErrors}.length`)}function p(g){var h;if(!s.opts.unevaluated)return;let T=(h=r?.validate)===null||h===void 0?void 0:h.evaluated;if(s.props!==!0)if(T&&!T.dynamicProps)T.props!==void 0&&(s.props=um.mergeEvaluated.props(i,T.props,s.props));else{let S=i.var("props",(0,Ur._)`${g}.evaluated.props`);s.props=um.mergeEvaluated.props(i,S,s.props,Ur.Name)}if(s.items!==!0)if(T&&!T.dynamicItems)T.items!==void 0&&(s.items=um.mergeEvaluated.items(i,T.items,s.items));else{let S=i.var("items",(0,Ur._)`${g}.evaluated.items`);s.items=um.mergeEvaluated.items(i,S,s.items,Ur.Name)}}}po.callRef=dm;po.default=sX});var m1=k(m_=>{"use strict";Object.defineProperty(m_,"__esModule",{value:!0});var oX=d1(),aX=fm(),cX=["$schema","$id","$defs","$vocabulary",{keyword:"$comment"},"definitions",oX.default,aX.default];m_.default=cX});var g1=k(g_=>{"use strict";Object.defineProperty(g_,"__esModule",{value:!0});var pm=ve(),Cs=pm.operators,hm={maximum:{okStr:"<=",ok:Cs.LTE,fail:Cs.GT},minimum:{okStr:">=",ok:Cs.GTE,fail:Cs.LT},exclusiveMaximum:{okStr:"<",ok:Cs.LT,fail:Cs.GTE},exclusiveMinimum:{okStr:">",ok:Cs.GT,fail:Cs.LTE}},lX={message:({keyword:t,schemaCode:e})=>(0,pm.str)`must be ${hm[t].okStr} ${e}`,params:({keyword:t,schemaCode:e})=>(0,pm._)`{comparison: ${hm[t].okStr}, limit: ${e}}`},uX={keyword:Object.keys(hm),type:"number",schemaType:"number",$data:!0,error:lX,code(t){let{keyword:e,data:r,schemaCode:n}=t;t.fail$data((0,pm._)`${r} ${hm[e].fail} ${n} || isNaN(${r})`)}};g_.default=uX});var y1=k(y_=>{"use strict";Object.defineProperty(y_,"__esModule",{value:!0});var su=ve(),dX={message:({schemaCode:t})=>(0,su.str)`must be multiple of ${t}`,params:({schemaCode:t})=>(0,su._)`{multipleOf: ${t}}`},fX={keyword:"multipleOf",type:"number",schemaType:"number",$data:!0,error:dX,code(t){let{gen:e,data:r,schemaCode:n,it:i}=t,s=i.opts.multipleOfPrecision,o=e.let("res"),a=s?(0,su._)`Math.abs(Math.round(${o}) - ${o}) > 1e-${s}`:(0,su._)`${o} !== parseInt(${o})`;t.fail$data((0,su._)`(${n} === 0 || (${o} = ${r}/${n}, ${a}))`)}};y_.default=fX});var v1=k(T_=>{"use strict";Object.defineProperty(T_,"__esModule",{value:!0});function T1(t){let e=t.length,r=0,n=0,i;for(;n<e;)r++,i=t.charCodeAt(n++),i>=55296&&i<=56319&&n<e&&(i=t.charCodeAt(n),(i&64512)===56320&&n++);return r}T_.default=T1;T1.code='require("ajv/dist/runtime/ucs2length").default'});var b1=k(v_=>{"use strict";Object.defineProperty(v_,"__esModule",{value:!0});var ho=ve(),pX=we(),hX=v1(),mX={message({keyword:t,schemaCode:e}){let r=t==="maxLength"?"more":"fewer";return(0,ho.str)`must NOT have ${r} than ${e} characters`},params:({schemaCode:t})=>(0,ho._)`{limit: ${t}}`},gX={keyword:["maxLength","minLength"],type:"string",schemaType:"number",$data:!0,error:mX,code(t){let{keyword:e,data:r,schemaCode:n,it:i}=t,s=e==="maxLength"?ho.operators.GT:ho.operators.LT,o=i.opts.unicode===!1?(0,ho._)`${r}.length`:(0,ho._)`${(0,pX.useFunc)(t.gen,hX.default)}(${r})`;t.fail$data((0,ho._)`${o} ${s} ${n}`)}};v_.default=gX});var _1=k(b_=>{"use strict";Object.defineProperty(b_,"__esModule",{value:!0});var yX=bn(),mm=ve(),TX={message:({schemaCode:t})=>(0,mm.str)`must match pattern "${t}"`,params:({schemaCode:t})=>(0,mm._)`{pattern: ${t}}`},vX={keyword:"pattern",type:"string",schemaType:"string",$data:!0,error:TX,code(t){let{data:e,$data:r,schema:n,schemaCode:i,it:s}=t,o=s.opts.unicodeRegExp?"u":"",a=r?(0,mm._)`(new RegExp(${i}, ${o}))`:(0,yX.usePattern)(t,n);t.fail$data((0,mm._)`!${a}.test(${e})`)}};b_.default=vX});var S1=k(__=>{"use strict";Object.defineProperty(__,"__esModule",{value:!0});var ou=ve(),bX={message({keyword:t,schemaCode:e}){let r=t==="maxProperties"?"more":"fewer";return(0,ou.str)`must NOT have ${r} than ${e} properties`},params:({schemaCode:t})=>(0,ou._)`{limit: ${t}}`},_X={keyword:["maxProperties","minProperties"],type:"object",schemaType:"number",$data:!0,error:bX,code(t){let{keyword:e,data:r,schemaCode:n}=t,i=e==="maxProperties"?ou.operators.GT:ou.operators.LT;t.fail$data((0,ou._)`Object.keys(${r}).length ${i} ${n}`)}};__.default=_X});var N1=k(S_=>{"use strict";Object.defineProperty(S_,"__esModule",{value:!0});var au=bn(),cu=ve(),SX=we(),NX={message:({params:{missingProperty:t}})=>(0,cu.str)`must have required property '${t}'`,params:({params:{missingProperty:t}})=>(0,cu._)`{missingProperty: ${t}}`},kX={keyword:"required",type:"object",schemaType:"array",$data:!0,error:NX,code(t){let{gen:e,schema:r,schemaCode:n,data:i,$data:s,it:o}=t,{opts:a}=o;if(!s&&r.length===0)return;let c=r.length>=a.loopRequired;if(o.allErrors?l():u(),a.strictRequired){let p=t.parentSchema.properties,{definedProperties:g}=t.it;for(let h of r)if(p?.[h]===void 0&&!g.has(h)){let T=o.schemaEnv.baseId+o.errSchemaPath,S=`required property "${h}" is not defined at "${T}" (strictRequired)`;(0,SX.checkStrictMode)(o,S,o.opts.strictRequired)}}function l(){if(c||s)t.block$data(cu.nil,d);else for(let p of r)(0,au.checkReportMissingProp)(t,p)}function u(){let p=e.let("missing");if(c||s){let g=e.let("valid",!0);t.block$data(g,()=>f(p,g)),t.ok(g)}else e.if((0,au.checkMissingProp)(t,r,p)),(0,au.reportMissingProp)(t,p),e.else()}function d(){e.forOf("prop",n,p=>{t.setParams({missingProperty:p}),e.if((0,au.noPropertyInData)(e,i,p,a.ownProperties),()=>t.error())})}function f(p,g){t.setParams({missingProperty:p}),e.forOf(p,n,()=>{e.assign(g,(0,au.propertyInData)(e,i,p,a.ownProperties)),e.if((0,cu.not)(g),()=>{t.error(),e.break()})},cu.nil)}}};S_.default=kX});var k1=k(N_=>{"use strict";Object.defineProperty(N_,"__esModule",{value:!0});var lu=ve(),RX={message({keyword:t,schemaCode:e}){let r=t==="maxItems"?"more":"fewer";return(0,lu.str)`must NOT have ${r} than ${e} items`},params:({schemaCode:t})=>(0,lu._)`{limit: ${t}}`},PX={keyword:["maxItems","minItems"],type:"array",schemaType:"number",$data:!0,error:RX,code(t){let{keyword:e,data:r,schemaCode:n}=t,i=e==="maxItems"?lu.operators.GT:lu.operators.LT;t.fail$data((0,lu._)`${r}.length ${i} ${n}`)}};N_.default=PX});var gm=k(k_=>{"use strict";Object.defineProperty(k_,"__esModule",{value:!0});var R1=Yb();R1.code='require("ajv/dist/runtime/equal").default';k_.default=R1});var P1=k(P_=>{"use strict";Object.defineProperty(P_,"__esModule",{value:!0});var R_=Kl(),rr=ve(),wX=we(),EX=gm(),DX={message:({params:{i:t,j:e}})=>(0,rr.str)`must NOT have duplicate items (items ## ${e} and ${t} are identical)`,params:({params:{i:t,j:e}})=>(0,rr._)`{i: ${t}, j: ${e}}`},CX={keyword:"uniqueItems",type:"array",schemaType:"boolean",$data:!0,error:DX,code(t){let{gen:e,data:r,$data:n,schema:i,parentSchema:s,schemaCode:o,it:a}=t;if(!n&&!i)return;let c=e.let("valid"),l=s.items?(0,R_.getSchemaTypes)(s.items):[];t.block$data(c,u,(0,rr._)`${o} === false`),t.ok(c);function u(){let g=e.let("i",(0,rr._)`${r}.length`),h=e.let("j");t.setParams({i:g,j:h}),e.assign(c,!0),e.if((0,rr._)`${g} > 1`,()=>(d()?f:p)(g,h))}function d(){return l.length>0&&!l.some(g=>g==="object"||g==="array")}function f(g,h){let T=e.name("item"),S=(0,R_.checkDataTypes)(l,T,a.opts.strictNumbers,R_.DataType.Wrong),_=e.const("indices",(0,rr._)`{}`);e.for((0,rr._)`;${g}--;`,()=>{e.let(T,(0,rr._)`${r}[${g}]`),e.if(S,(0,rr._)`continue`),l.length>1&&e.if((0,rr._)`typeof ${T} == "string"`,(0,rr._)`${T} += "_"`),e.if((0,rr._)`typeof ${_}[${T}] == "number"`,()=>{e.assign(h,(0,rr._)`${_}[${T}]`),t.error(),e.assign(c,!1).break()}).code((0,rr._)`${_}[${T}] = ${g}`)})}function p(g,h){let T=(0,wX.useFunc)(e,EX.default),S=e.name("outer");e.label(S).for((0,rr._)`;${g}--;`,()=>e.for((0,rr._)`${h} = ${g}; ${h}--;`,()=>e.if((0,rr._)`${T}(${r}[${g}], ${r}[${h}])`,()=>{t.error(),e.assign(c,!1).break(S)})))}}};P_.default=CX});var w1=k(E_=>{"use strict";Object.defineProperty(E_,"__esModule",{value:!0});var w_=ve(),AX=we(),IX=gm(),OX={message:"must be equal to constant",params:({schemaCode:t})=>(0,w_._)`{allowedValue: ${t}}`},MX={keyword:"const",$data:!0,error:OX,code(t){let{gen:e,data:r,$data:n,schemaCode:i,schema:s}=t;n||s&&typeof s=="object"?t.fail$data((0,w_._)`!${(0,AX.useFunc)(e,IX.default)}(${r}, ${i})`):t.fail((0,w_._)`${s} !== ${r}`)}};E_.default=MX});var E1=k(D_=>{"use strict";Object.defineProperty(D_,"__esModule",{value:!0});var uu=ve(),xX=we(),LX=gm(),qX={message:"must be equal to one of the allowed values",params:({schemaCode:t})=>(0,uu._)`{allowedValues: ${t}}`},$X={keyword:"enum",schemaType:"array",$data:!0,error:qX,code(t){let{gen:e,data:r,$data:n,schema:i,schemaCode:s,it:o}=t;if(!n&&i.length===0)throw new Error("enum must have non-empty array");let a=i.length>=o.opts.loopEnum,c,l=()=>c??(c=(0,xX.useFunc)(e,LX.default)),u;if(a||n)u=e.let("valid"),t.block$data(u,d);else{if(!Array.isArray(i))throw new Error("ajv implementation error");let p=e.const("vSchema",s);u=(0,uu.or)(...i.map((g,h)=>f(p,h)))}t.pass(u);function d(){e.assign(u,!1),e.forOf("v",s,p=>e.if((0,uu._)`${l()}(${r}, ${p})`,()=>e.assign(u,!0).break()))}function f(p,g){let h=i[g];return typeof h=="object"&&h!==null?(0,uu._)`${l()}(${r}, ${p}[${g}])`:(0,uu._)`${r} === ${h}`}}};D_.default=$X});var D1=k(C_=>{"use strict";Object.defineProperty(C_,"__esModule",{value:!0});var BX=g1(),FX=y1(),jX=b1(),UX=_1(),HX=S1(),VX=N1(),zX=k1(),WX=P1(),GX=w1(),KX=E1(),YX=[BX.default,FX.default,jX.default,UX.default,HX.default,VX.default,zX.default,WX.default,{keyword:"type",schemaType:["string","array"]},{keyword:"nullable",schemaType:"boolean"},GX.default,KX.default];C_.default=YX});var I_=k(du=>{"use strict";Object.defineProperty(du,"__esModule",{value:!0});du.validateAdditionalItems=void 0;var mo=ve(),A_=we(),XX={message:({params:{len:t}})=>(0,mo.str)`must NOT have more than ${t} items`,params:({params:{len:t}})=>(0,mo._)`{limit: ${t}}`},JX={keyword:"additionalItems",type:"array",schemaType:["boolean","object"],before:"uniqueItems",error:XX,code(t){let{parentSchema:e,it:r}=t,{items:n}=e;if(!Array.isArray(n)){(0,A_.checkStrictMode)(r,'"additionalItems" is ignored when "items" is not an array of schemas');return}C1(t,n)}};function C1(t,e){let{gen:r,schema:n,data:i,keyword:s,it:o}=t;o.items=!0;let a=r.const("len",(0,mo._)`${i}.length`);if(n===!1)t.setParams({len:e.length}),t.pass((0,mo._)`${a} <= ${e.length}`);else if(typeof n=="object"&&!(0,A_.alwaysValidSchema)(o,n)){let l=r.var("valid",(0,mo._)`${a} <= ${e.length}`);r.if((0,mo.not)(l),()=>c(l)),t.ok(l)}function c(l){r.forRange("i",e.length,a,u=>{t.subschema({keyword:s,dataProp:u,dataPropType:A_.Type.Num},l),o.allErrors||r.if((0,mo.not)(l),()=>r.break())})}}du.validateAdditionalItems=C1;du.default=JX});var O_=k(fu=>{"use strict";Object.defineProperty(fu,"__esModule",{value:!0});fu.validateTuple=void 0;var A1=ve(),ym=we(),QX=bn(),ZX={keyword:"items",type:"array",schemaType:["object","array","boolean"],before:"uniqueItems",code(t){let{schema:e,it:r}=t;if(Array.isArray(e))return I1(t,"additionalItems",e);r.items=!0,!(0,ym.alwaysValidSchema)(r,e)&&t.ok((0,QX.validateArray)(t))}};function I1(t,e,r=t.schema){let{gen:n,parentSchema:i,data:s,keyword:o,it:a}=t;u(i),a.opts.unevaluated&&r.length&&a.items!==!0&&(a.items=ym.mergeEvaluated.items(n,r.length,a.items));let c=n.name("valid"),l=n.const("len",(0,A1._)`${s}.length`);r.forEach((d,f)=>{(0,ym.alwaysValidSchema)(a,d)||(n.if((0,A1._)`${l} > ${f}`,()=>t.subschema({keyword:o,schemaProp:f,dataProp:f},c)),t.ok(c))});function u(d){let{opts:f,errSchemaPath:p}=a,g=r.length,h=g===d.minItems&&(g===d.maxItems||d[e]===!1);if(f.strictTuples&&!h){let T=`"${o}" is ${g}-tuple, but minItems or maxItems/${e} are not specified or different at path "${p}"`;(0,ym.checkStrictMode)(a,T,f.strictTuples)}}}fu.validateTuple=I1;fu.default=ZX});var O1=k(M_=>{"use strict";Object.defineProperty(M_,"__esModule",{value:!0});var e4=O_(),t4={keyword:"prefixItems",type:"array",schemaType:["array"],before:"uniqueItems",code:t=>(0,e4.validateTuple)(t,"items")};M_.default=t4});var x1=k(x_=>{"use strict";Object.defineProperty(x_,"__esModule",{value:!0});var M1=ve(),r4=we(),n4=bn(),i4=I_(),s4={message:({params:{len:t}})=>(0,M1.str)`must NOT have more than ${t} items`,params:({params:{len:t}})=>(0,M1._)`{limit: ${t}}`},o4={keyword:"items",type:"array",schemaType:["object","boolean"],before:"uniqueItems",error:s4,code(t){let{schema:e,parentSchema:r,it:n}=t,{prefixItems:i}=r;n.items=!0,!(0,r4.alwaysValidSchema)(n,e)&&(i?(0,i4.validateAdditionalItems)(t,i):t.ok((0,n4.validateArray)(t)))}};x_.default=o4});var L1=k(L_=>{"use strict";Object.defineProperty(L_,"__esModule",{value:!0});var Sn=ve(),Tm=we(),a4={message:({params:{min:t,max:e}})=>e===void 0?(0,Sn.str)`must contain at least ${t} valid item(s)`:(0,Sn.str)`must contain at least ${t} and no more than ${e} valid item(s)`,params:({params:{min:t,max:e}})=>e===void 0?(0,Sn._)`{minContains: ${t}}`:(0,Sn._)`{minContains: ${t}, maxContains: ${e}}`},c4={keyword:"contains",type:"array",schemaType:["object","boolean"],before:"uniqueItems",trackErrors:!0,error:a4,code(t){let{gen:e,schema:r,parentSchema:n,data:i,it:s}=t,o,a,{minContains:c,maxContains:l}=n;s.opts.next?(o=c===void 0?1:c,a=l):o=1;let u=e.const("len",(0,Sn._)`${i}.length`);if(t.setParams({min:o,max:a}),a===void 0&&o===0){(0,Tm.checkStrictMode)(s,'"minContains" == 0 without "maxContains": "contains" keyword ignored');return}if(a!==void 0&&o>a){(0,Tm.checkStrictMode)(s,'"minContains" > "maxContains" is always invalid'),t.fail();return}if((0,Tm.alwaysValidSchema)(s,r)){let h=(0,Sn._)`${u} >= ${o}`;a!==void 0&&(h=(0,Sn._)`${h} && ${u} <= ${a}`),t.pass(h);return}s.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,Sn._)`${i}.length > 0`,f)):(e.let(d,!1),f()),t.result(d,()=>t.reset());function f(){let h=e.name("_valid"),T=e.let("count",0);p(h,()=>e.if(h,()=>g(T)))}function p(h,T){e.forRange("i",0,u,S=>{t.subschema({keyword:"contains",dataProp:S,dataPropType:Tm.Type.Num,compositeRule:!0},h),T()})}function g(h){e.code((0,Sn._)`${h}++`),a===void 0?e.if((0,Sn._)`${h} >= ${o}`,()=>e.assign(d,!0).break()):(e.if((0,Sn._)`${h} > ${a}`,()=>e.assign(d,!1).break()),o===1?e.assign(d,!0):e.if((0,Sn._)`${h} >= ${o}`,()=>e.assign(d,!0)))}}};L_.default=c4});var vm=k(mi=>{"use strict";Object.defineProperty(mi,"__esModule",{value:!0});mi.validateSchemaDeps=mi.validatePropertyDeps=mi.error=void 0;var q_=ve(),l4=we(),pu=bn();mi.error={message:({params:{property:t,depsCount:e,deps:r}})=>{let n=e===1?"property":"properties";return(0,q_.str)`must have ${n} ${r} when property ${t} is present`},params:({params:{property:t,depsCount:e,deps:r,missingProperty:n}})=>(0,q_._)`{property: ${t},
|
|
180
180
|
missingProperty: ${n},
|
|
181
181
|
depsCount: ${e},
|
|
182
|
-
deps: ${r}}`};var u4={keyword:"dependencies",type:"object",schemaType:"object",error:mi.error,code(t){let[e,r]=d4(t);q1(t,e),$1(t,r)}};function d4({schema:t}){let e={},r={};for(let n in t){if(n==="__proto__")continue;let i=Array.isArray(t[n])?e:r;i[n]=t[n]}return[e,r]}function q1(t,e=t.schema){let{gen:r,data:n,it:i}=t;if(Object.keys(e).length===0)return;let s=r.let("missing");for(let o in e){let a=e[o];if(a.length===0)continue;let c=(0,pu.propertyInData)(r,n,o,i.opts.ownProperties);t.setParams({property:o,depsCount:a.length,deps:a.join(", ")}),i.allErrors?r.if(c,()=>{for(let l of a)(0,pu.checkReportMissingProp)(t,l)}):(r.if((0,q_._)`${c} && (${(0,pu.checkMissingProp)(t,a,s)})`),(0,pu.reportMissingProp)(t,s),r.else())}}mi.validatePropertyDeps=q1;function $1(t,e=t.schema){let{gen:r,data:n,keyword:i,it:s}=t,o=r.name("valid");for(let a in e)(0,l4.alwaysValidSchema)(s,e[a])||(r.if((0,pu.propertyInData)(r,n,a,s.opts.ownProperties),()=>{let c=t.subschema({keyword:i,schemaProp:a},o);t.mergeValidEvaluated(c,o)},()=>r.var(o,!0)),t.ok(o))}mi.validateSchemaDeps=$1;mi.default=u4});var F1=k($_=>{"use strict";Object.defineProperty($_,"__esModule",{value:!0});var B1=ve(),f4=we(),p4={message:"property name must be valid",params:({params:t})=>(0,B1._)`{propertyName: ${t.propertyName}}`},h4={keyword:"propertyNames",type:"object",schemaType:["object","boolean"],error:p4,code(t){let{gen:e,schema:r,data:n,it:i}=t;if((0,f4.alwaysValidSchema)(i,r))return;let s=e.name("valid");e.forIn("key",n,o=>{t.setParams({propertyName:o}),t.subschema({keyword:"propertyNames",data:o,dataTypes:["string"],propertyName:o,compositeRule:!0},s),e.if((0,B1.not)(s),()=>{t.error(!0),i.allErrors||e.break()})}),t.ok(s)}};$_.default=h4});var F_=k(B_=>{"use strict";Object.defineProperty(B_,"__esModule",{value:!0});var bm=bn(),Wn=ve(),m4=vn(),_m=we(),g4={message:"must NOT have additional properties",params:({params:t})=>(0,Wn._)`{additionalProperty: ${t.additionalProperty}}`},y4={keyword:"additionalProperties",type:["object"],schemaType:["boolean","object"],allowUndefined:!0,trackErrors:!0,error:g4,code(t){let{gen:e,schema:r,parentSchema:n,data:i,errsCount:s,it:o}=t;if(!s)throw new Error("ajv implementation error");let{allErrors:a,opts:c}=o;if(o.props=!0,c.removeAdditional!=="all"&&(0,_m.alwaysValidSchema)(o,r))return;let l=(0,bm.allSchemaProperties)(n.properties),u=(0,bm.allSchemaProperties)(n.patternProperties);d(),t.ok((0,Wn._)`${s} === ${m4.default.errors}`);function d(){e.forIn("key",i,T=>{!l.length&&!u.length?g(T):e.if(f(T),()=>g(T))})}function f(T){let S;if(l.length>8){let _=(0,_m.schemaRefOrVal)(o,n.properties,"properties");S=(0,bm.isOwnProperty)(e,_,T)}else l.length?S=(0,Wn.or)(...l.map(_=>(0,Wn._)`${T} === ${_}`)):S=Wn.nil;return u.length&&(S=(0,Wn.or)(S,...u.map(_=>(0,Wn._)`${(0,bm.usePattern)(t,_)}.test(${T})`))),(0,Wn.not)(S)}function p(T){e.code((0,Wn._)`delete ${i}[${T}]`)}function g(T){if(c.removeAdditional==="all"||c.removeAdditional&&r===!1){p(T);return}if(r===!1){t.setParams({additionalProperty:T}),t.error(),a||e.break();return}if(typeof r=="object"&&!(0,_m.alwaysValidSchema)(o,r)){let S=e.name("valid");c.removeAdditional==="failing"?(h(T,S,!1),e.if((0,Wn.not)(S),()=>{t.reset(),p(T)})):(h(T,S),a||e.if((0,Wn.not)(S),()=>e.break()))}}function h(T,S,_){let v={keyword:"additionalProperties",dataProp:T,dataPropType:_m.Type.Str};_===!1&&Object.assign(v,{compositeRule:!0,createErrors:!1,allErrors:!1}),t.subschema(v,S)}}};B_.default=y4});var H1=k(U_=>{"use strict";Object.defineProperty(U_,"__esModule",{value:!0});var T4=Ql(),j1=bn(),j_=we(),U1=F_(),v4={keyword:"properties",type:"object",schemaType:"object",code(t){let{gen:e,schema:r,parentSchema:n,data:i,it:s}=t;s.opts.removeAdditional==="all"&&n.additionalProperties===void 0&&U1.default.code(new T4.KeywordCxt(s,U1.default,"additionalProperties"));let o=(0,j1.allSchemaProperties)(r);for(let d of o)s.definedProperties.add(d);s.opts.unevaluated&&o.length&&s.props!==!0&&(s.props=j_.mergeEvaluated.props(e,(0,j_.toHash)(o),s.props));let a=o.filter(d=>!(0,j_.alwaysValidSchema)(s,r[d]));if(a.length===0)return;let c=e.name("valid");for(let d of a)l(d)?u(d):(e.if((0,j1.propertyInData)(e,i,d,s.opts.ownProperties)),u(d),s.allErrors||e.else().var(c,!0),e.endIf()),t.it.definedProperties.add(d),t.ok(c);function l(d){return s.opts.useDefaults&&!s.compositeRule&&r[d].default!==void 0}function u(d){t.subschema({keyword:"properties",schemaProp:d,dataProp:d},c)}}};U_.default=v4});var G1=k(H_=>{"use strict";Object.defineProperty(H_,"__esModule",{value:!0});var V1=bn(),Sm=ve(),z1=we(),W1=we(),b4={keyword:"patternProperties",type:"object",schemaType:"object",code(t){let{gen:e,schema:r,data:n,parentSchema:i,it:s}=t,{opts:o}=s,a=(0,V1.allSchemaProperties)(r),c=a.filter(h=>(0,z1.alwaysValidSchema)(s,r[h]));if(a.length===0||c.length===a.length&&(!s.opts.unevaluated||s.props===!0))return;let l=o.strictSchema&&!o.allowMatchingProperties&&i.properties,u=e.name("valid");s.props!==!0&&!(s.props instanceof Sm.Name)&&(s.props=(0,W1.evaluatedPropsToName)(e,s.props));let{props:d}=s;f();function f(){for(let h of a)l&&p(h),s.allErrors?g(h):(e.var(u,!0),g(h),e.if(u))}function p(h){for(let T in l)new RegExp(h).test(T)&&(0,z1.checkStrictMode)(s,`property ${T} matches pattern ${h} (use allowMatchingProperties)`)}function g(h){e.forIn("key",n,T=>{e.if((0,Sm._)`${(0,V1.usePattern)(t,h)}.test(${T})`,()=>{let S=c.includes(h);S||t.subschema({keyword:"patternProperties",schemaProp:h,dataProp:T,dataPropType:W1.Type.Str},u),s.opts.unevaluated&&d!==!0?e.assign((0,Sm._)`${d}[${T}]`,!0):!S&&!s.allErrors&&e.if((0,Sm.not)(u),()=>e.break())})})}}};H_.default=b4});var K1=k(V_=>{"use strict";Object.defineProperty(V_,"__esModule",{value:!0});var _4=we(),S4={keyword:"not",schemaType:["object","boolean"],trackErrors:!0,code(t){let{gen:e,schema:r,it:n}=t;if((0,_4.alwaysValidSchema)(n,r)){t.fail();return}let i=e.name("valid");t.subschema({keyword:"not",compositeRule:!0,createErrors:!1,allErrors:!1},i),t.failResult(i,()=>t.reset(),()=>t.error())},error:{message:"must NOT be valid"}};V_.default=S4});var Y1=k(z_=>{"use strict";Object.defineProperty(z_,"__esModule",{value:!0});var N4=bn(),k4={keyword:"anyOf",schemaType:"array",trackErrors:!0,code:N4.validateUnion,error:{message:"must match a schema in anyOf"}};z_.default=k4});var X1=k(W_=>{"use strict";Object.defineProperty(W_,"__esModule",{value:!0});var Nm=ve(),R4=we(),P4={message:"must match exactly one schema in oneOf",params:({params:t})=>(0,Nm._)`{passingSchemas: ${t.passing}}`},w4={keyword:"oneOf",schemaType:"array",trackErrors:!0,error:P4,code(t){let{gen:e,schema:r,parentSchema:n,it:i}=t;if(!Array.isArray(r))throw new Error("ajv implementation error");if(i.opts.discriminator&&n.discriminator)return;let s=r,o=e.let("valid",!1),a=e.let("passing",null),c=e.name("_valid");t.setParams({passing:a}),e.block(l),t.result(o,()=>t.reset(),()=>t.error(!0));function l(){s.forEach((u,d)=>{let f;(0,R4.alwaysValidSchema)(i,u)?e.var(c,!0):f=t.subschema({keyword:"oneOf",schemaProp:d,compositeRule:!0},c),d>0&&e.if((0,Nm._)`${c} && ${o}`).assign(o,!1).assign(a,(0,Nm._)`[${a}, ${d}]`).else(),e.if(c,()=>{e.assign(o,!0),e.assign(a,d),f&&t.mergeEvaluated(f,Nm.Name)})})}}};W_.default=w4});var J1=k(G_=>{"use strict";Object.defineProperty(G_,"__esModule",{value:!0});var E4=we(),D4={keyword:"allOf",schemaType:"array",code(t){let{gen:e,schema:r,it:n}=t;if(!Array.isArray(r))throw new Error("ajv implementation error");let i=e.name("valid");r.forEach((s,o)=>{if((0,E4.alwaysValidSchema)(n,s))return;let a=t.subschema({keyword:"allOf",schemaProp:o},i);t.ok(i),t.mergeEvaluated(a)})}};G_.default=D4});var e$=k(K_=>{"use strict";Object.defineProperty(K_,"__esModule",{value:!0});var km=ve(),Z1=we(),C4={message:({params:t})=>(0,km.str)`must match "${t.ifClause}" schema`,params:({params:t})=>(0,km._)`{failingKeyword: ${t.ifClause}}`},A4={keyword:"if",schemaType:["object","boolean"],trackErrors:!0,error:C4,code(t){let{gen:e,parentSchema:r,it:n}=t;r.then===void 0&&r.else===void 0&&(0,Z1.checkStrictMode)(n,'"if" without "then" and "else" is ignored');let i=Q1(n,"then"),s=Q1(n,"else");if(!i&&!s)return;let o=e.let("valid",!0),a=e.name("_valid");if(c(),t.reset(),i&&s){let u=e.let("ifClause");t.setParams({ifClause:u}),e.if(a,l("then",u),l("else",u))}else i?e.if(a,l("then")):e.if((0,km.not)(a),l("else"));t.pass(o,()=>t.error(!0));function c(){let u=t.subschema({keyword:"if",compositeRule:!0,createErrors:!1,allErrors:!1},a);t.mergeEvaluated(u)}function l(u,d){return()=>{let f=t.subschema({keyword:u},a);e.assign(o,a),t.mergeValidEvaluated(f,o),d?e.assign(d,(0,km._)`${u}`):t.setParams({ifClause:u})}}}};function Q1(t,e){let r=t.schema[e];return r!==void 0&&!(0,Z1.alwaysValidSchema)(t,r)}K_.default=A4});var t$=k(Y_=>{"use strict";Object.defineProperty(Y_,"__esModule",{value:!0});var I4=we(),O4={keyword:["then","else"],schemaType:["object","boolean"],code({keyword:t,parentSchema:e,it:r}){e.if===void 0&&(0,I4.checkStrictMode)(r,`"${t}" without "if" is ignored`)}};Y_.default=O4});var r$=k(X_=>{"use strict";Object.defineProperty(X_,"__esModule",{value:!0});var M4=I_(),x4=O1(),L4=O_(),q4=x1(),$4=L1(),B4=vm(),F4=F1(),j4=F_(),U4=H1(),H4=G1(),V4=K1(),z4=Y1(),W4=X1(),G4=J1(),K4=e$(),Y4=t$();function X4(t=!1){let e=[V4.default,z4.default,W4.default,G4.default,K4.default,Y4.default,F4.default,j4.default,B4.default,U4.default,H4.default];return t?e.push(x4.default,q4.default):e.push(M4.default,L4.default),e.push($4.default),e}X_.default=X4});var n$=k(J_=>{"use strict";Object.defineProperty(J_,"__esModule",{value:!0});var Ot=ve(),J4={message:({schemaCode:t})=>(0,Ot.str)`must match format "${t}"`,params:({schemaCode:t})=>(0,Ot._)`{format: ${t}}`},Q4={keyword:"format",type:["number","string"],schemaType:"string",$data:!0,error:J4,code(t,e){let{gen:r,data:n,$data:i,schema:s,schemaCode:o,it:a}=t,{opts:c,errSchemaPath:l,schemaEnv:u,self:d}=a;if(!c.validateFormats)return;i?f():p();function f(){let g=r.scopeValue("formats",{ref:d.formats,code:c.code.formats}),h=r.const("fDef",(0,Ot._)`${g}[${o}]`),T=r.let("fType"),S=r.let("format");r.if((0,Ot._)`typeof ${h} == "object" && !(${h} instanceof RegExp)`,()=>r.assign(T,(0,Ot._)`${h}.type || "string"`).assign(S,(0,Ot._)`${h}.validate`),()=>r.assign(T,(0,Ot._)`"string"`).assign(S,h)),t.fail$data((0,Ot.or)(_(),v()));function _(){return c.strictSchema===!1?Ot.nil:(0,Ot._)`${o} && !${S}`}function v(){let R=u.$async?(0,Ot._)`(${h}.async ? await ${S}(${n}) : ${S}(${n}))`:(0,Ot._)`${S}(${n})`,D=(0,Ot._)`(typeof ${S} == "function" ? ${R} : ${S}.test(${n}))`;return(0,Ot._)`${S} && ${S} !== true && ${T} === ${e} && !${D}`}}function p(){let g=d.formats[s];if(!g){_();return}if(g===!0)return;let[h,T,S]=v(g);h===e&&t.pass(R());function _(){if(c.strictSchema===!1){d.logger.warn(D());return}throw new Error(D());function D(){return`unknown format "${s}" ignored in schema at path "${l}"`}}function v(D){let B=D instanceof RegExp?(0,Ot.regexpCode)(D):c.code.formats?(0,Ot._)`${c.code.formats}${(0,Ot.getProperty)(s)}`:void 0,M=r.scopeValue("formats",{key:s,ref:D,code:B});return typeof D=="object"&&!(D instanceof RegExp)?[D.type||"string",D.validate,(0,Ot._)`${M}.validate`]:["string",D,M]}function R(){if(typeof g=="object"&&!(g instanceof RegExp)&&g.async){if(!u.$async)throw new Error("async format in sync schema");return(0,Ot._)`await ${S}(${n})`}return typeof T=="function"?(0,Ot._)`${S}(${n})`:(0,Ot._)`${S}.test(${n})`}}}};J_.default=Q4});var i$=k(Q_=>{"use strict";Object.defineProperty(Q_,"__esModule",{value:!0});var Z4=n$(),e9=[Z4.default];Q_.default=e9});var s$=k(Ha=>{"use strict";Object.defineProperty(Ha,"__esModule",{value:!0});Ha.contentVocabulary=Ha.metadataVocabulary=void 0;Ha.metadataVocabulary=["title","description","default","deprecated","readOnly","writeOnly","examples"];Ha.contentVocabulary=["contentMediaType","contentEncoding","contentSchema"]});var a$=k(Z_=>{"use strict";Object.defineProperty(Z_,"__esModule",{value:!0});var t9=m1(),r9=D1(),n9=r$(),i9=i$(),o$=s$(),s9=[t9.default,r9.default,(0,n9.default)(),i9.default,o$.metadataVocabulary,o$.contentVocabulary];Z_.default=s9});var tS=k(hu=>{"use strict";Object.defineProperty(hu,"__esModule",{value:!0});hu.dynamicAnchor=void 0;var eS=ve(),o9=vn(),c$=eu(),a9=fm(),c9={keyword:"$dynamicAnchor",schemaType:"string",code:t=>l$(t,t.schema)};function l$(t,e){let{gen:r,it:n}=t;n.schemaEnv.root.dynamicAnchors[e]=!0;let i=(0,eS._)`${o9.default.dynamicAnchors}${(0,eS.getProperty)(e)}`,s=n.errSchemaPath==="#"?n.validateName:l9(t);r.if((0,eS._)`!${i}`,()=>r.assign(i,s))}hu.dynamicAnchor=l$;function l9(t){let{schemaEnv:e,schema:r,self:n}=t.it,{root:i,baseId:s,localRefs:o,meta:a}=e.root,{schemaId:c}=n.opts,l=new c$.SchemaEnv({schema:r,schemaId:c,root:i,baseId:s,localRefs:o,meta:a});return c$.compileSchema.call(n,l),(0,a9.getValidate)(t,l)}hu.default=c9});var rS=k(mu=>{"use strict";Object.defineProperty(mu,"__esModule",{value:!0});mu.dynamicRef=void 0;var u$=ve(),u9=vn(),d$=fm(),d9={keyword:"$dynamicRef",schemaType:"string",code:t=>f$(t,t.schema)};function f$(t,e){let{gen:r,keyword:n,it:i}=t;if(e[0]!=="#")throw new Error(`"${n}" only supports hash fragment reference`);let s=e.slice(1);if(i.allErrors)o();else{let c=r.let("valid",!1);o(c),t.ok(c)}function o(c){if(i.schemaEnv.root.dynamicAnchors[s]){let l=r.let("_v",(0,u$._)`${u9.default.dynamicAnchors}${(0,u$.getProperty)(s)}`);r.if(l,a(l,c),a(i.validateName,c))}else a(i.validateName,c)()}function a(c,l){return l?()=>r.block(()=>{(0,d$.callRef)(t,c),r.let(l,!0)}):()=>(0,d$.callRef)(t,c)}}mu.dynamicRef=f$;mu.default=d9});var p$=k(nS=>{"use strict";Object.defineProperty(nS,"__esModule",{value:!0});var f9=tS(),p9=we(),h9={keyword:"$recursiveAnchor",schemaType:"boolean",code(t){t.schema?(0,f9.dynamicAnchor)(t,""):(0,p9.checkStrictMode)(t.it,"$recursiveAnchor: false is ignored")}};nS.default=h9});var h$=k(iS=>{"use strict";Object.defineProperty(iS,"__esModule",{value:!0});var m9=rS(),g9={keyword:"$recursiveRef",schemaType:"string",code:t=>(0,m9.dynamicRef)(t,t.schema)};iS.default=g9});var m$=k(sS=>{"use strict";Object.defineProperty(sS,"__esModule",{value:!0});var y9=tS(),T9=rS(),v9=p$(),b9=h$(),_9=[y9.default,T9.default,v9.default,b9.default];sS.default=_9});var y$=k(oS=>{"use strict";Object.defineProperty(oS,"__esModule",{value:!0});var g$=vm(),S9={keyword:"dependentRequired",type:"object",schemaType:"object",error:g$.error,code:t=>(0,g$.validatePropertyDeps)(t)};oS.default=S9});var T$=k(aS=>{"use strict";Object.defineProperty(aS,"__esModule",{value:!0});var N9=vm(),k9={keyword:"dependentSchemas",type:"object",schemaType:"object",code:t=>(0,N9.validateSchemaDeps)(t)};aS.default=k9});var v$=k(cS=>{"use strict";Object.defineProperty(cS,"__esModule",{value:!0});var R9=we(),P9={keyword:["maxContains","minContains"],type:"array",schemaType:"number",code({keyword:t,parentSchema:e,it:r}){e.contains===void 0&&(0,R9.checkStrictMode)(r,`"${t}" without "contains" is ignored`)}};cS.default=P9});var b$=k(lS=>{"use strict";Object.defineProperty(lS,"__esModule",{value:!0});var w9=y$(),E9=T$(),D9=v$(),C9=[w9.default,E9.default,D9.default];lS.default=C9});var S$=k(uS=>{"use strict";Object.defineProperty(uS,"__esModule",{value:!0});var As=ve(),_$=we(),A9=vn(),I9={message:"must NOT have unevaluated properties",params:({params:t})=>(0,As._)`{unevaluatedProperty: ${t.unevaluatedProperty}}`},O9={keyword:"unevaluatedProperties",type:"object",schemaType:["boolean","object"],trackErrors:!0,error:I9,code(t){let{gen:e,schema:r,data:n,errsCount:i,it:s}=t;if(!i)throw new Error("ajv implementation error");let{allErrors:o,props:a}=s;a instanceof As.Name?e.if((0,As._)`${a} !== true`,()=>e.forIn("key",n,d=>e.if(l(a,d),()=>c(d)))):a!==!0&&e.forIn("key",n,d=>a===void 0?c(d):e.if(u(a,d),()=>c(d))),s.props=!0,t.ok((0,As._)`${i} === ${A9.default.errors}`);function c(d){if(r===!1){t.setParams({unevaluatedProperty:d}),t.error(),o||e.break();return}if(!(0,_$.alwaysValidSchema)(s,r)){let f=e.name("valid");t.subschema({keyword:"unevaluatedProperties",dataProp:d,dataPropType:_$.Type.Str},f),o||e.if((0,As.not)(f),()=>e.break())}}function l(d,f){return(0,As._)`!${d} || !${d}[${f}]`}function u(d,f){let p=[];for(let g in d)d[g]===!0&&p.push((0,As._)`${f} !== ${g}`);return(0,As.and)(...p)}}};uS.default=O9});var k$=k(dS=>{"use strict";Object.defineProperty(dS,"__esModule",{value:!0});var go=ve(),N$=we(),M9={message:({params:{len:t}})=>(0,go.str)`must NOT have more than ${t} items`,params:({params:{len:t}})=>(0,go._)`{limit: ${t}}`},x9={keyword:"unevaluatedItems",type:"array",schemaType:["boolean","object"],error:M9,code(t){let{gen:e,schema:r,data:n,it:i}=t,s=i.items||0;if(s===!0)return;let o=e.const("len",(0,go._)`${n}.length`);if(r===!1)t.setParams({len:s}),t.fail((0,go._)`${o} > ${s}`);else if(typeof r=="object"&&!(0,N$.alwaysValidSchema)(i,r)){let c=e.var("valid",(0,go._)`${o} <= ${s}`);e.if((0,go.not)(c),()=>a(c,s)),t.ok(c)}i.items=!0;function a(c,l){e.forRange("i",l,o,u=>{t.subschema({keyword:"unevaluatedItems",dataProp:u,dataPropType:N$.Type.Num},c),i.allErrors||e.if((0,go.not)(c),()=>e.break())})}}};dS.default=x9});var R$=k(fS=>{"use strict";Object.defineProperty(fS,"__esModule",{value:!0});var L9=S$(),q9=k$(),$9=[L9.default,q9.default];fS.default=$9});var w$=k(Rm=>{"use strict";Object.defineProperty(Rm,"__esModule",{value:!0});Rm.DiscrError=void 0;var P$;(function(t){t.Tag="tag",t.Mapping="mapping"})(P$||(Rm.DiscrError=P$={}))});var D$=k(hS=>{"use strict";Object.defineProperty(hS,"__esModule",{value:!0});var Va=ve(),pS=w$(),E$=eu(),B9=Zl(),F9=we(),j9={message:({params:{discrError:t,tagName:e}})=>t===pS.DiscrError.Tag?`tag "${e}" must be string`:`value of tag "${e}" must be in oneOf`,params:({params:{discrError:t,tag:e,tagName:r}})=>(0,Va._)`{error: ${t}, tag: ${r}, tagValue: ${e}}`},U9={keyword:"discriminator",type:"object",schemaType:"object",error:j9,code(t){let{gen:e,data:r,schema:n,parentSchema:i,it:s}=t,{oneOf:o}=i;if(!s.opts.discriminator)throw new Error("discriminator: requires discriminator option");let a=n.propertyName;if(typeof a!="string")throw new Error("discriminator: requires propertyName");if(n.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,Va._)`${r}${(0,Va.getProperty)(a)}`);e.if((0,Va._)`typeof ${l} == "string"`,()=>u(),()=>t.error(!1,{discrError:pS.DiscrError.Tag,tag:l,tagName:a})),t.ok(c);function u(){let p=f();e.if(!1);for(let g in p)e.elseIf((0,Va._)`${l} === ${g}`),e.assign(c,d(p[g]));e.else(),t.error(!1,{discrError:pS.DiscrError.Mapping,tag:l,tagName:a}),e.endIf()}function d(p){let g=e.name("valid"),h=t.subschema({keyword:"oneOf",schemaProp:p},g);return t.mergeEvaluated(h,Va.Name),g}function f(){var p;let g={},h=S(i),T=!0;for(let R=0;R<o.length;R++){let D=o[R];if(D?.$ref&&!(0,F9.schemaHasRulesButRef)(D,s.self.RULES)){let M=D.$ref;if(D=E$.resolveRef.call(s.self,s.schemaEnv.root,s.baseId,M),D instanceof E$.SchemaEnv&&(D=D.schema),D===void 0)throw new B9.default(s.opts.uriResolver,s.baseId,M)}let B=(p=D?.properties)===null||p===void 0?void 0:p[a];if(typeof B!="object")throw new Error(`discriminator: oneOf subschemas (or referenced schemas) must have "properties/${a}"`);T=T&&(h||S(D)),_(B,R)}if(!T)throw new Error(`discriminator: "${a}" must be required`);return g;function S({required:R}){return Array.isArray(R)&&R.includes(a)}function _(R,D){if(R.const)v(R.const,D);else if(R.enum)for(let B of R.enum)v(B,D);else throw new Error(`discriminator: "properties/${a}" must have "const" or "enum"`)}function v(R,D){if(typeof R!="string"||R in g)throw new Error(`discriminator: "${a}" values must be unique strings`);g[R]=D}}}};hS.default=U9});var C$=k(($Pe,H9)=>{H9.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 A$=k((BPe,V9)=>{V9.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 I$=k((FPe,z9)=>{z9.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 O$=k((jPe,W9)=>{W9.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 M$=k((UPe,G9)=>{G9.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 x$=k((HPe,K9)=>{K9.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 L$=k((VPe,Y9)=>{Y9.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 q$=k(mS=>{"use strict";Object.defineProperty(mS,"__esModule",{value:!0});var X9=C$(),J9=A$(),Q9=I$(),Z9=O$(),eJ=M$(),tJ=x$(),rJ=L$(),nJ=["/properties"];function iJ(t){return[X9,J9,Q9,Z9,e(this,eJ),tJ,e(this,rJ)].forEach(r=>this.addMetaSchema(r,void 0,!1)),this;function e(r,n){return t?r.$dataMetaSchema(n,nJ):n}}mS.default=iJ});var $$=k((gt,yS)=>{"use strict";Object.defineProperty(gt,"__esModule",{value:!0});gt.MissingRefError=gt.ValidationError=gt.CodeGen=gt.Name=gt.nil=gt.stringify=gt.str=gt._=gt.KeywordCxt=gt.Ajv2019=void 0;var sJ=u1(),oJ=a$(),aJ=m$(),cJ=b$(),lJ=R$(),uJ=D$(),dJ=q$(),gS="https://json-schema.org/draft/2019-09/schema",za=class extends sJ.default{constructor(e={}){super({...e,dynamicRef:!0,next:!0,unevaluated:!0})}_addVocabularies(){super._addVocabularies(),this.addVocabulary(aJ.default),oJ.default.forEach(e=>this.addVocabulary(e)),this.addVocabulary(cJ.default),this.addVocabulary(lJ.default),this.opts.discriminator&&this.addKeyword(uJ.default)}_addDefaultMetaSchema(){super._addDefaultMetaSchema();let{$data:e,meta:r}=this.opts;r&&(dJ.default.call(this,e),this.refs["http://json-schema.org/schema"]=gS)}defaultMeta(){return this.opts.defaultMeta=super.defaultMeta()||(this.getSchema(gS)?gS:void 0)}};gt.Ajv2019=za;yS.exports=gt=za;yS.exports.Ajv2019=za;Object.defineProperty(gt,"__esModule",{value:!0});gt.default=za;var fJ=Ql();Object.defineProperty(gt,"KeywordCxt",{enumerable:!0,get:function(){return fJ.KeywordCxt}});var Wa=ve();Object.defineProperty(gt,"_",{enumerable:!0,get:function(){return Wa._}});Object.defineProperty(gt,"str",{enumerable:!0,get:function(){return Wa.str}});Object.defineProperty(gt,"stringify",{enumerable:!0,get:function(){return Wa.stringify}});Object.defineProperty(gt,"nil",{enumerable:!0,get:function(){return Wa.nil}});Object.defineProperty(gt,"Name",{enumerable:!0,get:function(){return Wa.Name}});Object.defineProperty(gt,"CodeGen",{enumerable:!0,get:function(){return Wa.CodeGen}});var pJ=im();Object.defineProperty(gt,"ValidationError",{enumerable:!0,get:function(){return pJ.default}});var hJ=Zl();Object.defineProperty(gt,"MissingRefError",{enumerable:!0,get:function(){return hJ.default}})});var Xa=require("path"),ze=$(hw());var nf=class t{constructor(e,r,n,i){this._uri=e,this._languageId=r,this._version=n,this._content=i,this._lineOffsets=void 0}get uri(){return this._uri}get languageId(){return this._languageId}get version(){return this._version}getText(e){if(e){let r=this.offsetAt(e.start),n=this.offsetAt(e.end);return this._content.substring(r,n)}return this._content}update(e,r){for(let n of e)if(t.isIncremental(n)){let i=gw(n.range),s=this.offsetAt(i.start),o=this.offsetAt(i.end);this._content=this._content.substring(0,s)+n.text+this._content.substring(o,this._content.length);let a=Math.max(i.start.line,0),c=Math.max(i.end.line,0),l=this._lineOffsets,u=mw(n.text,!1,s);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=n.text.length-(o-s);if(d!==0)for(let f=a+1+u.length,p=l.length;f<p;f++)l[f]=l[f]+d}else if(t.isFull(n))this._content=n.text,this._lineOffsets=void 0;else throw new Error("Unknown change event received");this._version=r}getLineOffsets(){return this._lineOffsets===void 0&&(this._lineOffsets=mw(this._content,!0)),this._lineOffsets}positionAt(e){e=Math.max(Math.min(e,this._content.length),0);let r=this.getLineOffsets(),n=0,i=r.length;if(i===0)return{line:0,character:e};for(;n<i;){let o=Math.floor((n+i)/2);r[o]>e?i=o:n=o+1}let s=n-1;return{line:s,character:e-r[s]}}offsetAt(e){let r=this.getLineOffsets();if(e.line>=r.length)return this._content.length;if(e.line<0)return 0;let n=r[e.line],i=e.line+1<r.length?r[e.line+1]:this._content.length;return Math.max(Math.min(n+e.character,i),n)}get lineCount(){return this.getLineOffsets().length}static isIncremental(e){let r=e;return r!=null&&typeof r.text=="string"&&r.range!==void 0&&(r.rangeLength===void 0||typeof r.rangeLength=="number")}static isFull(e){let r=e;return r!=null&&typeof r.text=="string"&&r.range===void 0&&r.rangeLength===void 0}},Qn;(function(t){function e(i,s,o,a){return new nf(i,s,o,a)}t.create=e;function r(i,s,o){if(i instanceof nf)return i.update(s,o),i;throw new Error("TextDocument.update: document must be created by TextDocument.create")}t.update=r;function n(i,s){let o=i.getText(),a=My(s.map(Yj),(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=i.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=i.offsetAt(u.range.end)}return l.push(o.substr(c)),l.join("")}t.applyEdits=n})(Qn||(Qn={}));function My(t,e){if(t.length<=1)return t;let r=t.length/2|0,n=t.slice(0,r),i=t.slice(r);My(n,e),My(i,e);let s=0,o=0,a=0;for(;s<n.length&&o<i.length;)e(n[s],i[o])<=0?t[a++]=n[s++]:t[a++]=i[o++];for(;s<n.length;)t[a++]=n[s++];for(;o<i.length;)t[a++]=i[o++];return t}function mw(t,e,r=0){let n=e?[r]:[];for(let i=0;i<t.length;i++){let s=t.charCodeAt(i);(s===13||s===10)&&(s===13&&i+1<t.length&&t.charCodeAt(i+1)===10&&i++,n.push(r+i+1))}return n}function gw(t){let e=t.start,r=t.end;return e.line>r.line||e.line===r.line&&e.character>r.character?{start:r,end:e}:t}function Yj(t){let e=gw(t.range);return e!==t.range?{newText:t.newText,range:e}:t}var sf=["namespace","class","enum","interface","struct","typeParameter","type","parameter","variable","property","enumMember","decorator","event","function","method","macro","label","comment","string","keyword","number","regexp","operator"],of=["declaration","definition","readonly","static","deprecated","abstract","async","modification","documentation","defaultLibrary"];var Ly=$(require("url")),Tw=require("crypto"),Go=require("path"),ar=$(U());var xy=$(U());var Cr=$(U());var Q=class{constructor(e){this._children=[];this.syntaxIssues=[];this.resetableIssues=[];this._firstToken=e?.start,this._lastToken=e?.end}get issues(){return[...this.syntaxIssues,...this.resetableIssues]}resetIssues(){this.resetableIssues=[],this.children.forEach(e=>e.resetIssues())}get serializeIssues(){return this.issues.map(e=>e())}get firstToken(){return this._firstToken??this._children[0].firstToken}set firstToken(e){this._firstToken=e}get lastToken(){return this._lastToken??this._children[this._children.length-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(r=>r.getTopMostAstNodeForFile(e))}getDocumentSymbols(e){if(!this.docSymbolsMeta)return this.children.flatMap(n=>n.getDocumentSymbols(e)??[]);if(!le(this.uri,e))return[];let r=pe(this);return[{name:this.docSymbolsMeta.name?this.docSymbolsMeta.name:"__UNSET__",kind:this.docSymbolsMeta.kind,range:r,selectionRange:r,children:[...this.children.flatMap(n=>n.getDocumentSymbols(e)??[])]}]}getWorkspaceSymbols(){if(!this.docSymbolsMeta)return this.children.flatMap(i=>i.getWorkspaceSymbols()??[]);let e=this.docSymbolsMeta.kind;if(![Cr.SymbolKind.File,Cr.SymbolKind.Class,Cr.SymbolKind.Constant].some(i=>i===e))return[];let r=Ar(this.uri),n=r?.range??pe(this);return[{location:Cr.Location.create(de(r?.docUri??this.uri),n),name:this.docSymbolsMeta.name?this.docSymbolsMeta.name:"__UNSET__",kind:this.docSymbolsMeta.kind},...this.children.flatMap(i=>i.getWorkspaceSymbols()??[]).filter(i=>i.kind===Cr.SymbolKind.File||i.kind===Cr.SymbolKind.Class||i.kind===Cr.SymbolKind.Constant)]}buildSemanticTokens(e){this._children.forEach(r=>r.buildSemanticTokens(e)),!(!this.semanticTokenType||!this.semanticTokenModifiers)&&e(Si(this.semanticTokenType),Ni(this.semanticTokenModifiers),this.firstToken,this.lastToken)}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}isAncestorOf(e){return this.children.some(r=>r===e||r.isAncestorOf(e))}toPrettyString(e){return this.toString()}toString(e){return"TODO"}get range(){return Cr.Range.create(Cr.Position.create(this.firstToken.pos.line,this.firstToken.pos.col),Cr.Position.create(this.lastToken.pos.line,this.lastToken.pos.colEnd))}get serializeUri(){return de(this.uri)}serialize(e){return{uri:this.serializeUri,range:this.range,issues:this.serializeIssues}}};var Ee=class extends Q{toJson(){return-1}#e;resolve(e){return this.#e??=af(this.toString(),e),this.#e}#t;evaluate(e){return this.#t??=De(`${this.operator?this.operator.toString():""}${this.resolve(e)}`),this.#t}#n;isTrue(e){return this.#n??=De(`!!(${this.operator?this.operator.toString():""}${this.resolve(e)})`),this.#n}toPrettyString(e){let r=this.evaluate(e);return`${r.toString()} /* ${this.toString()}${typeof r=="number"?` = 0x${r.toString(16)}`:""} */`}serialize(e){return{type:"EXPRESSION",value:this.toString(),evaluated:this.evaluate(e),uri:this.serializeUri,range:this.range,issues:this.serializeIssues}}},Zn=class extends Ee{constructor(r,n,i){super();this.expression=r;this.wrapped=n;this.addChild(r),i&&(this.addChild(i.operator),this.addChild(i.expression),this.join=[],this.join?.push(i))}get firstToken(){return this.openBracket?this.openBracket:super.firstToken}get lastToken(){return this.closeBracket?this.closeBracket:super.lastToken}addExpression(r,n){this.addChild(r),this.addChild(n),this.join??=[],this.join?.push({operator:r,expression:n})}toString(){let r=this.children.map(n=>n.toString()).join(" ");return this.wrapped?`(${r})`:`${r}`}isTrue(r){let n=`(${this.children.map(i=>i instanceof Ee?i.resolve(r):i.toString()).join(" ")})`;return De(`!!(${this.operator?this.operator.toString():""}${n})`)}};var ei=class extends Ee{constructor(r,n,i){super(n);this.value=r;this.docSymbolsMeta={name:`param${i+1}`,kind:xy.SymbolKind.Variable},this.semanticTokenType="variable",this.semanticTokenModifiers="declaration"}toString(){return this.value}},In=class extends Ee{constructor(r,n){super();this.functionName=r;this.params=n;this.addChild(r),this.params.forEach(i=>this.addChild(i))}getDocumentSymbols(r){return le(this.uri,r)?[{name:this.functionName.name,kind:xy.SymbolKind.Function,range:pe(this),selectionRange:pe(this),children:this.params.flatMap(n=>n?.getDocumentSymbols(r)??[])}]:[]}toString(){return`${this.functionName.toString()}(${this.params.map(r=>r?.toString()??"<NULL>").join(",")})`}isTrue(r){if(this.functionName.name==="defined"){let n=!!(this.params.length===1&&this.params[0]&&r.has(this.params[0].value));return this.operator?De(`!!(${this.operator}${n})`):n}return super.isTrue(r)}};var Wr=(t,e,r=!0,n=!0)=>({start:{line:t?.pos.line??0,character:r?t?.pos.col??0:(t?.pos.col??0)+(t?.pos.len??0)},end:{line:e?.pos.line??0,character:n?(e?.pos.col??0)+(e?.pos.len??0):e?.pos.col??0}});var pe=t=>Wr(t.firstToken,t.lastToken),Si=t=>sf.findIndex(e=>e===t),Ni=t=>of.findIndex(e=>e===t),qy=(t,e,r)=>!le(t.uri,e)||r.line<t.pos.line?!1:r.line>t.pos.line?!0:r.character>=t.pos.colEnd,Jj=(t,e,r)=>le(t.uri,e)?r.line<t.pos.line?!0:r.line>t.pos.line?!1:r.character<t.pos.col:!1,an=(t,e,r)=>{let n=t.firstToken,i=t.lastToken;return!!((n.pos.line<r.line||n.pos.line===r.line&&n.pos.col<=r.character)&&(i.pos.line>r.line||i.pos.line===r.line&&i.pos.colEnd>=r.character)&&le(t.uri,e))},vw=(t,e)=>{let r=(i,s)=>i.line<s.line||i.line===s.line&&i.character<=s.character,n=(i,s)=>i.line>s.line||i.line===s.line&&i.character>=s.character;return r(t.start,e.start)&&n(t.end,e.end)},bw=(t,e,r)=>{let n=t.firstToken,i=t.lastToken;return!!(t.lastToken.value!==";"&&(n.pos.line===r.line||i.pos.line===r.line)&&r.character>=i.pos.colEnd&&le(t.uri,e))},_w=(t,e,r)=>{if(!t)return!1;let i=t.filter(s=>s.pos.line===r.line).at(-1);return i&&i.pos.col>=r.character?!1:e.lastToken===i};var ti=(t,e,r)=>{let n=t,i=t;for(;i;)n=i,i=[...n.children].reverse().find(s=>an(s,e,r));return n},Tc=(t,e,r)=>{let n=t,i=t;for(;i;)n=i,i=[...n.children].find(s=>Jj(s.lastToken,e,r));return n===t?void 0:n},vc=(t,e,r)=>{let n=t,i=t;for(;i;)n=i,i=[...n.children].reverse().find(s=>qy(s.firstToken,e,r));return n===t?void 0:n},uf="#virtual#",$y=t=>t.includes(uf),Ar=t=>{if(!$y(t))return;let[e,r]=t.split(uf),[n,i]=r.split("-"),[s,o]=n.split(":"),[a,c]=i.split(":");return{docUri:e,range:ar.Range.create(ar.Position.create(Number.parseInt(s),Number.parseInt(o)),ar.Position.create(Number.parseInt(a),Number.parseInt(c)))}},By=t=>{let e=Ar(t.uri);e&&(t.range=e.range,t.uri=e?.docUri,t.virtual=!0,t.linkedTo=t.linkedTo.map(({range:r,uri:n})=>{let i=Ar(n);return{range:i?.range??r,uri:i?.docUri??n,templateStrings:[]}}))},W=(t,e,r=e,n,{severity:i=ar.DiagnosticSeverity.Error,linkedTo:s=[],tags:o,templateStrings:a=[],edit:c,codeActionTitle:l,inclusiveStart:u,inclusiveEnd:d}={severity:ar.DiagnosticSeverity.Error,linkedTo:[],templateStrings:[]})=>{let f={issues:Array.isArray(t)?t:[t],range:Wr(e,r,u,d),uri:e.uri,severity:i,linkedTo:s.map(({range:h,uri:T})=>({range:h,uri:T,templateStrings:[]})),tags:o,templateStrings:a,edit:c,codeActionTitle:l};By(f);let p,g=()=>(p??={severity:f.severity,range:f.range,message:f.issues?f.issues.map(eU).join(" or "):"",source:"devicetree",tags:f.tags,data:{firstToken:{pos:e.pos,tokens:e.tokens,value:e.value},lastToken:{pos:r.pos,tokens:r.tokens,value:r.value},type:"SyntaxIssue",items:f.issues,edit:f.edit,codeActionTitle:f.codeActionTitle,virtual:!!f.virtual}},p);return n?.syntaxIssues.push(g),{raw:f,diagnostic:g}},Lt=(t,e,r,n,{severity:i=ar.DiagnosticSeverity.Error,linkedTo:s=[],tags:o,templateStrings:a=[],edit:c,codeActionTitle:l,linkedToTemplateStrings:u=[]}={severity:ar.DiagnosticSeverity.Error,linkedTo:[],templateStrings:[],linkedToTemplateStrings:[]})=>{let d={issues:Array.isArray(t)?t:[t],range:Wr(e,r),uri:e.uri,severity:i,linkedTo:s.map(({range:g,uri:h},T)=>({range:g,uri:h,templateStrings:u.at(T)??[]})),tags:o,templateStrings:a,edit:c,codeActionTitle:l};By(d);let f,p=()=>(f??={severity:d.severity,range:d.range,message:tU(d),source:"devicetree",tags:d.tags,relatedInformation:[...d.linkedTo.map(g=>({message:d.issues.map(h=>rU(h,g.templateStrings)).join(" or "),location:{uri:de(g.uri),range:g.range}}))]},f);return n?.resetableIssues.push(p),{raw:d,diagnostic:p}},j=(t,e,r,n,{severity:i=ar.DiagnosticSeverity.Error,linkedTo:s=[],tags:o,templateStrings:a=[],edit:c,codeActionTitle:l}={severity:ar.DiagnosticSeverity.Error,linkedTo:[],templateStrings:[]})=>{let u={issues:Array.isArray(t)?t:[t],range:Wr(e,r),severity:i,uri:e.uri,linkedTo:s.map(({range:p,uri:g})=>({range:p,uri:g,templateStrings:[]})),tags:o,templateStrings:a,edit:c,codeActionTitle:l};By(u);let d,f=()=>(d??={severity:u.severity,range:u.range,message:nU(u),relatedInformation:[...u.linkedTo.map(p=>({message:u.issues.map(iU).join(" or "),location:{uri:de(p.uri),range:p.range}}))],source:"devicetree",tags:u.tags,data:{type:"StandardTypeIssue",firstToken:{pos:e.pos,tokens:e.tokens,value:e.value},lastToken:{pos:r.pos,tokens:r.tokens,value:r.value},edit:u.edit,codeActionTitle:u.codeActionTitle,items:u.issues,virtual:!!u.virtual}},d);return n?.resetableIssues.push(f),{raw:u,diagnostic:f}};function Ir(t,e,r,{severity:n=ar.DiagnosticSeverity.Warning,linkedTo:i=[],tags:s,templateStrings:o=[],edit:a,codeActionTitle:c}={severity:ar.DiagnosticSeverity.Warning,linkedTo:[],templateStrings:[],edit:[],codeActionTitle:void 0},l=r){let u={issues:Array.isArray(t)?t:[t],range:ar.Range.create(r,l),severity:n,uri:e,linkedTo:i.map(({range:p,uri:g})=>({range:p,uri:g,templateStrings:[]})),tags:s,templateStrings:o,edit:a,codeActionTitle:c},d;return{raw:u,diagnostic:()=>(d??={severity:u.severity,range:u.range,message:sU(u),relatedInformation:[...u.linkedTo.map(p=>({message:u.issues.map(oU).join(" or "),location:{uri:de(p.uri),range:p.range}}))],source:"devicetree",tags:u.tags,data:{type:"FormattingIssues",items:u.issues,edit:u.edit,codeActionTitle:u.codeActionTitle,virtual:!!u.virtual}},d)}}var Sw=(t,e)=>[...t].sort((n,i)=>{let s=e.getSortKey(n),o=e.getSortKey(i);if(s===void 0||o===void 0)throw new Error("Sort keys must be set");if(s!==o)return s-o;let a=n.lastToken,c=i.lastToken;return a.pos.line!==c.pos.line?a.pos.line-c.pos.line:a.pos.col-c.pos.col});async function _t(t,e,r){let n=Se(t.textDocument.uri);if(!e)return[];let i=performance.now(),o=(await e.getRuntime()).getDeepestAstNode(n,t.position),a=e.getSortKey(o?.ast);return console.log(`search: ${performance.now()-i}ms`),r(o,l=>{let u=t.position;if(le(l.uri,n)){let d=l.lastToken;return d.pos.line<u.line||d.pos.line===u.line&&d.pos.colEnd<=u.character}return a!==void 0&&(e.getSortKey(l)??-1)<=a})}function oe(t,e){return{start:t,end:e??t}}var H=(t,e)=>t?.tokens.some(r=>r===e),Qe=(t,e)=>r=>r?.value&&(e?.caseInsensitive?t.toLowerCase()===r.value.toLowerCase():t===r.value)?"yes":e?.allowPartial?Qj(t)(r):"no",Oe=t=>e=>e?.tokens.some(r=>r===t)?"yes":"no",Qj=t=>e=>e?.value&&t.startsWith(e.value)?"partial":"no",On=(t,e)=>!!t&&!!e&&t.pos.line===e.pos.line&&le(t.uri,e.uri),qt=(t,e)=>t?.tokens[0]===21&&e?.tokens[0]===21&&(t?.prevToken&&t.prevToken.value===e?.value||e?.prevToken&&e.prevToken.value===t?.value)?!0:!!t&&!!e&&t.pos.colEnd===e.pos.col&&On(t,e),df=t=>t.map((e,r)=>({index:r,context:e,files:e.getContextFiles()})),cn=(t,e,r,n)=>{if("id"in e){let s=t?.find(o=>o.id===e.id);return s||void 0}if("name"in e){let s=t?.find(o=>o.ctxNames.includes(e.name));return s||void 0}return r?.getContextFiles().find(s=>le(s,e.uri))?r:df(t).sort(s=>s.context.id===n?-1:0).find(s=>s.files.some(o=>le(o,e.uri)))?.context},Fy=(t,e)=>df(t).filter(n=>n.files.some(i=>le(i,e))).map(n=>n.context),Nw=t=>{let e=/^(\w+)\s+(.+)$/,r=/^(\w+)\(([^)]*)\)\s+(.+)$/,n=/^(\w+)\(([^)]*),\s*\.\.\.\)\s+(.+)$/,i;if(i=n.exec(t)){let[,,s,o]=i,a=s.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(i=r.exec(t)){let[,,s,o]=i,a=s.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(i=e.exec(t)){let[,,s]=i;return s.trim()}},Zj=0,af=(t,e)=>{let r=o=>o.replace(/(\w+)\s*##\s*(\w+)/g,(a,c,l)=>c+l),n=o=>o.replace(/#(\w+)/g,(a,c)=>`"${c}"`),i=t,s;do s=i,i=r(s),i=n(i),i=i.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()).map(d=>d==="__COUNTER__"?(Zj++).toString():d);return(e.get(a)?.resolver)(...u)}else if(l&&typeof e.get(l)?.resolver=="string")return e.get(l)?.resolver;return o});while(i!==s);return i};function jy(t){return t.replace(/'(.)'/g,(e,r)=>r.charCodeAt(0).toString()).replace(/(0x[a-f\d]+|\d+)[ul]*/gi,"$1")}function De(t){try{return(0,eval)(jy(t))}catch(e){console.log(e instanceof Error?e.message:e)}return t}var de=t=>Ly.default.pathToFileURL(t).toString(),Se=t=>rt(Ly.default.fileURLToPath(t)),kw=(t,e)=>{let r=(0,Go.relative)(t,e);return!!r&&!r.startsWith("..")&&!(0,Go.isAbsolute)(r)},le=(t,e)=>!t||!e?!1:t===e,rt=t=>(0,Go.normalize)(process.platform==="win32"?t.toLowerCase():t),ki=t=>(0,Tw.createHash)("sha256").update([rt(t.dtsFile),...t.includePaths.map(rt),...t.overlays.map(rt),t.bindingType,...t.zephyrBindings.map(rt),...t.deviceOrgBindingsMetaSchema.map(rt),...t.deviceOrgTreeBindings.map(rt),`showFormattingErrorAsDiagnostics-${t.showFormattingErrorAsDiagnostics}`].join(":")).digest("hex"),eU=t=>{switch(t){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 49:return"Node name shall start with a lower or upper case character";case 50:return"Node unit address should not start with 0x";case 51:return"Node unit address should not end with with ULL";case 8:return"Expected node address";case 9:return"Expected node path";case 48:return"Expected node path reference";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 52:return"Unknown Node Address syntax";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"}},tU=t=>t.issues.map(e=>{switch(e){case 0:return`Property "${t.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 "${t.templateStrings[0]}" has been defined`;case 8:return`No node with name "${t.templateStrings[0]}" could be found in "/${t.templateStrings[1]}".`;case 4:return`Label name "${t.templateStrings[0]}" already defined`;case 6:return`Property "${t.templateStrings[0]}" was deleted`;case 7:return`Node "${t.templateStrings[0]}" was deleted`;case 9:return`The following node "${t.templateStrings[1]}" shall be present in "${t.templateStrings[0]}" node.`;case 10:return`The following node "${t.templateStrings[0]}" address range collides with another node. Address start: "${t.templateStrings[1]}", end: "${t.templateStrings[2]}".`}}).join(" or "),rU=(t,e)=>{switch(t){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";case 10:return`Node "${e[0]}". Address start: "${e[1]}", end: "${e[2]}".`;default:return"TODO"}},nU=t=>t.issues.map(e=>{switch(e){case 9:return`Only these value are allowed ${t.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 ${t.templateStrings[1]} values`;case 0:return"INTRO is required";case 11:return"INTRO should be omitted";case 27:return"INTRO name is not permitted under this node";case 34:return"INTRO name is not defined in the type binding for 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 ${t.templateStrings[1]}'`;case 18:return"INTRO value must be unique in the entire Devicetree";case 19:return`INTRO should have format ${t.templateStrings[1]}`;case 16:return`INTRO requires property "${t.templateStrings[1]}" in node path "${t.templateStrings[2]}"`;case 17:return"Unable to resolve interrupt parent node";case 20:return`INTRO should have format ${t.templateStrings[1]}`;case 21:return"Node is disabled";case 22:return"Unable to resolve handle";case 23:return`Unable to find "${t.templateStrings[0]}" in ${t.templateStrings[1]}`;case 24:return t.templateStrings[0];case 25:return t.templateStrings[0];case 26:return t.templateStrings[0];case 28:return t.templateStrings[0];case 35:return"Unable to find mapping range for address";case 29:return`INTRO exceeds address space available for this mapping. The range ends at ${t.templateStrings[2]}, the node ends at ${t.templateStrings[1]}`;case 30:return"Map entry overlaps with others entries";case 31:return"Unable to match to a nexus map entry";case 32:return`Unknown node type "${t.templateStrings[0]}"`;case 33:return`Missing name for "${t.templateStrings[0]}" index ${t.templateStrings[1]}"`;case 36:return"Node address is missing";case 37:return`Binding should be used on bus type${t.templateStrings.length?"s":""}: ${t.templateStrings.join(" or ")}`}}).join(" or ").replace("INTRO",`Property "${t.templateStrings[0]}"`).replaceAll("INTRO ",""),iU=t=>{switch(t){case 16:case 0:return"Node";case 15:return"Ignored reason";case 18:return"Conflicting properties";case 8:return"Additional value";case 21:return"Disabled by";case 29:return"Mapping range";case 30:return"Map entry";case 31:return"Nexus map entries";case 33:return"Names property";case 35:return"Range property";default:return"TODO"}},sU=t=>t.issues.map(e=>{switch(e){case 4:return"Add end of line to end of file";case 1:return`${t.codeActionTitle}. Expecting ${t.templateStrings[0]}.`;case 0:return"Move to a new line";case 3:return"Remove trailing whitespace at the end of file.";case 2:return"Remove trailing whitespace at the end of the line.";case 5:return`Fix indentation. Expecting ${t.templateStrings[0]}`;case 6:return`Move token "${t.templateStrings[0]}" next to expression`;case 7:return"Remove (...) enclosure. This expression should only be enclosed in the #define of the macro"}}).join(" or "),oU=t=>"TODO",on=(t,e)=>{let r=Math.max(t.length,e.length);for(let n=0;n<r;n++){let i=t[t.length-r+n]??0,s=e[e.length-r+n]??0;if(i<s)return-1;if(i>s)return 1}return 0},Qi=(t,e)=>{let r=Math.max(t.length,e.length),n=new Array(r).fill(0),i=0;for(let s=0;s<r;s++){let o=t[t.length-1-s]??0,a=e[e.length-1-s]??0,c=o+a+i;n[r-1-s]=c>>>0,i=c>4294967295?1:0}return i&&n.unshift(1),n},aU=(t,e)=>{let r=Math.max(t.length,e.length),n=new Array(r).fill(0),i=0;for(let s=0;s<r;s++){let o=t[t.length-1-s]??0,a=e[e.length-1-s]??0;o-=i,o<a?(o+=4294967296,i=1):i=0,n[r-1-s]=o-a>>>0}for(;n.length>1&&n[0]===0;)n.shift();return n},cU=(t,e)=>Qi(t,e),Rw=(t,e)=>{let r=[];for(let n of t){let i=n.childAddress,s=n.length,o=Qi(i,s);if(on(e,i)>=0&&on(e,o)<0){let a=aU(e,i),c=n.parentAddress,l=cU(c,a),u=Qi(c,s);r.push({start:l,end:u,range:Wr(n.rangeTokens.start,n.rangeTokens.end),uri:n.rangeTokens.start.uri})}}return r};function Pw(t){return Array.isArray(t)&&Array.isArray(t[0])}function bc(t){return!t||t instanceof In?t:bc(t.parentNode)}function ww(t,e){let r=t.getText(),n=e.slice().sort((s,o)=>{let a=t.offsetAt(s.range.start),c=t.offsetAt(o.range.start);if(a!==c)return c-a;let l=t.offsetAt(s.range.end),u=t.offsetAt(o.range.end);if(l!==u)return u-l;let d=a===l&&s.newText.length>0,f=c===u&&o.newText.length>0;return d!==f?d?1:-1:0}),i=r;for(let s of n){let o=t.offsetAt(s.range.start),a=t.offsetAt(s.range.end);i=i.slice(0,o)+s.newText+i.slice(a)}return i}function yw(t,e){return t.line<e.line?-1:t.line>e.line?1:t.character<e.character?-1:t.character>e.character?1:0}function Ew(t,e){return yw(t.end,e.start)>0&&yw(t.start,e.end)<0}var Dw=(t,e)=>{let r=Cw(t,e),n=Aw(t,e);r&&(t.topComment=r.comment),n&&(t.endComment=n.comment)},Cw=(t,e)=>{let r=e.find(i=>i.lastToken===t.firstToken.prevToken&&(i.lastToken.pos.line===t.firstToken.pos.line||i.lastToken.pos.line+1===t.firstToken.pos.line));if(!r||r.astBeforeComment)return;r.astAfterComment=t;let n=Cw(r,e);return n&&(n.comment.astAfterComment=t,r.astAfterComment=void 0),{comment:n?.comment??r,commentIsBefore:!0}},Aw=(t,e)=>{let r=e.find(i=>i.firstToken.prevToken===t.lastToken&&i.firstToken.pos.line===t.lastToken.pos.line);if(!r)return;r.astBeforeComment=t;let n=Aw(r,e);return n&&(n.comment.astBeforeComment=t,r.astBeforeComment=void 0),{comment:n?.comment??r,commentIsBefore:!1}},Ko=(t,e,r)=>{let n=[42,44,45,36];return r||n.push(52,32,8,49),t.severity===ar.DiagnosticSeverity.Error&&le(t.uri,e)&&!n.some(i=>t.issues.includes(i))};function ff(t){let e=t?.charAt(0);return!!e&&(e>="A"&&e<="Z"||e>="a"&&e<="z")}var xc=require("fs"),WD=require("path"),dT=$(U());var Mn=$(U());var Lw=$(U());var Iw=$(U());var ne=class extends Q{constructor(r,n){super(n);this.value=r;this.semanticTokenType="string",this.semanticTokenModifiers="declaration",this.docSymbolsMeta={name:this.value,kind:Iw.SymbolKind.String}}toString(){return`"${this.value.toString()}"`}toJson(){return this.value}serialize(){return{type:"STRING",value:this.value,uri:this.serializeUri,range:this.range,issues:this.serializeIssues}}};var Mw=$(U());var Ow=$(U());var cr=class extends Ee{constructor(r,n,i=10){super(n);this.value=r;this.radix=i;this.docSymbolsMeta={name:this.value.toString(),kind:Ow.SymbolKind.Number},this.semanticTokenType="number",this.semanticTokenModifiers="declaration"}resolve(r){return this.value.toString()}evaluate(r){return this.value}isTrue(r){return!!this.value}toString(r){return this.value.toString(r??this.radix)}toJson(){return this.value}toPrettyString(r){let n=this.value;return this.radix==16?`0x${n.toString(16)} /* ${typeof n=="number"?`${n.toString(10)}`:""} */`:`${n.toString(10)} /* ${typeof n=="number"?`0x${n.toString(16)}`:""} */`}serialize(){return{type:"NUMBER_VALUE",value:`${this.radix===16?"0x":""}${this.toString()}`,evaluated:this.value,uri:this.serializeUri,range:this.range,issues:this.serializeIssues}}};var jt=class extends Q{constructor(r){super();this.values=r;this.docSymbolsMeta={name:"Cell Array",kind:Mw.SymbolKind.Array},this.values.forEach(n=>this.addChild(n))}toString(){return`<${this.values.map(r=>r.toString()).join(" ")}>`}toPrettyString(r){return`<${this.values.map(n=>n.toPrettyString(r)).join(" ")}>`}toJson(){if(this.values.length===1)return this.values[0].value?.toJson();if(this.values.length===2&&this.values.every(r=>r.value instanceof cr)){let r=new ArrayBuffer(8),n=new DataView(r);return this.values.map(i=>i.value.value).forEach((i,s)=>{n.setUint32(s*4,i)}),n.getBigUint64(0)}return this.values.map(r=>r.value?.toJson()??NaN)}serialize(r){return{type:"ARRAY_VALUE",value:this.values.map(n=>n.value?.serialize(r)??null),uri:this.serializeUri,range:this.range,issues:this.serializeIssues}}};var xw=$(U());var Ri=class extends Q{constructor(r){super();this.values=r;this.docSymbolsMeta={name:"Byte String Value",kind:xw.SymbolKind.Array},this.values.forEach(n=>this.addChild(n))}toString(){return`[${this.values.map(r=>r.toString(16).padStart(2,"0")).join(" ")}]`}toJson(){return this.values.map(r=>r.value?.toJson()??NaN)}serialize(){return{type:"BYTESTRING",values:this.values.map(r=>r.value?{value:r.value.toString(16),range:r.value.range,evaluated:r.value.value}:null),uri:this.serializeUri,range:this.range,issues:this.serializeIssues}}};var Ze=class extends Q{constructor(r,n){super(n);this.name=r;this.semanticTokenType="property",this.semanticTokenModifiers="declaration"}toString(){return this.name}serialize(){return{value:this.name,uri:this.serializeUri,range:this.range,issues:this.serializeIssues}}},nt=class extends Q{constructor(r,n=[]){super();this.propertyName=r;this.labels=n;this._values=void 0;this.docSymbolsMeta={name:this.propertyName?.name??"Unknown",kind:Lw.SymbolKind.Property},this.labels.forEach(i=>this.addChild(i)),this.addChild(r)}set values(r){if(this._values)throw new Error("Only one property name is allowed");this._values=r,this.addChild(r)}get values(){return this._values}get quickValues(){return this.values?.values.map(r=>r?r.value instanceof ne?r.value.value:r.value instanceof jt?r.value.values.map(n=>n.value instanceof cr?n.value.value:NaN):r.value instanceof Ri?r.value.values.map(n=>n.value?.value??NaN):NaN:null)}getFlatAstValues(){return this.values?.values.flatMap(r=>r?r.value instanceof ne?r.value:r.value instanceof jt?r.value.values.map(n=>n.value):r.value instanceof Ri?r.value.values.map(n=>n.value):r.value:null)}toString(){return`${this.propertyName?.toString()??"__UNSET__"}${this.assignOperatorToken?` = ${this._values?.values.map(r=>r?.toString()??"NULL").join(", ")??"NULL"}`:""};`}toPrettyString(r){return`${this.propertyName?.toString()??"__UNSET__"}${this.assignOperatorToken?` = ${this._values?.values.map(n=>n?.toPrettyString(r)??"NULL").join(", ")??"NULL"}`:""};`}serialize(r){return{name:this.propertyName?.serialize()??null,values:this.values?.values.map(n=>n?.value?.serialize(r)??null)??null,uri:this.serializeUri,range:this.range,issues:this.serializeIssues}}};var qw=$(U());var vr=class extends Q{constructor(r,n){super();this.keyword=n;this.addChild(n),this.docSymbolsMeta={name:r,kind:qw.SymbolKind.Function}}};var Or=class extends vr{constructor(r){super("Delete Node",r);this._nodeNameOrRef=null}set nodeNameOrRef(r){if(this._nodeNameOrRef)throw new Error("Only one property name is allowed");this._nodeNameOrRef=r,this.addChild(r)}get nodeNameOrRef(){return this._nodeNameOrRef}};var ht=class extends vr{constructor(r){super("Delete Property",r);this._propertyName=null}set propertyName(r){if(this._propertyName)throw new Error("Only only property name is allowed");this._propertyName=r,this.addChild(r)}get propertyName(){return this._propertyName}};var $w=$(U());var ie=class extends Q{constructor(r){super();this.label=r;this.docSymbolsMeta={name:`&${this.label?.value??"NULL"}`,kind:$w.SymbolKind.Key},this.addChild(r)}get value(){return this.label?.value}toString(){return`&${this.label?.value??"NULL"}`}toJson(){return-1}serialize(){return{type:"LABEL_REF",label:this.label?.toString()??null,nodePath:this.linksTo?.pathString??null,uri:this.serializeUri,range:this.range,issues:this.serializeIssues}}};var lt=class t extends Q{constructor(){super()}get path(){if(!this.pathName)return["__UNDEFINED__"];if(!this.parentNode||this instanceof Dt)return[this.pathName];if(!(this.parentNode instanceof t))return;let e=this.parentNode.path;return e?[...e,this.pathName]:[this.pathName]}get pathName(){}get nodes(){return this.children.filter(e=>e instanceof t)}get deleteNodes(){return this.children.filter(e=>e instanceof Or)}addNodeChild(e){this.addChild(e)}},Dt=class extends lt{constructor(){super(),this.docSymbolsMeta={name:"/",kind:Mn.SymbolKind.Class}}get properties(){return this.children.filter(e=>e instanceof nt)}get name(){return new Me("/",oe(this.firstToken))}get deleteProperties(){return this.children.filter(e=>e instanceof ht)}get nodes(){return this.children.filter(e=>e instanceof Ge)}get pathName(){return"/"}serialize(e){return{type:"ROOT",properties:this.properties.map(r=>r.serialize(e)),nodes:this.nodes.map(r=>r.serialize(e)),uri:this.serializeUri,range:this.range,issues:this.serializeIssues}}},lr=class extends lt{constructor(r=[]){super();this.labels=r;this._reference=null;this.docSymbolsMeta={name:"DTC Name",kind:Mn.SymbolKind.Class},r.forEach(n=>{super.addChild(n)})}get serializeIssues(){return[...this.issues,...this.reference?.issues??[]].map(r=>r())}set reference(r){if(this._reference)throw new Error("Only on label reference is allowed");this._reference=r;let n;r instanceof ie?n=r.value:n=r?.path?.pathParts.at(-1)?.name??"DTC Name",this.docSymbolsMeta={name:n??"DTC Name",kind:Mn.SymbolKind.Class},this.addChild(r)}get path(){return this.resolveNodePath?this.resolveNodePath:super.path}get reference(){return this._reference}get nodes(){return this.children.filter(r=>r instanceof Ge)}get pathName(){if(this.reference instanceof ie&&this.reference.label?.value)return`&${this.reference.label.value}`}get properties(){return this.children.filter(r=>r instanceof nt)}get deleteProperties(){return this.children.filter(r=>r instanceof ht)}serialize(r){return{type:"REF",name:this.reference?.serialize()??null,properties:this.properties.map(n=>n.serialize(r)),nodes:this.nodes.map(n=>n.serialize(r)),uri:this.serializeUri,range:this.range,issues:this.serializeIssues}}},Ge=class t extends lt{constructor(r=[],n){super();this.labels=r;this.omitIfNoRef=n;this._name=null;this.docSymbolsMeta={name:"DTC Name",kind:Mn.SymbolKind.Class},n&&this.addChild(n),r.forEach(i=>{this.addChild(i)})}get serializeIssues(){return[...this.issues,...this.name?.issues??[]].map(r=>r())}set name(r){if(this._name)throw new Error("Only on label reference is allowed");this._name=r,this.docSymbolsMeta={name:this._name?.toString()??"DTC Name",kind:Mn.SymbolKind.Class},this.addChild(r)}get name(){return this._name}get nodes(){return this.children.filter(r=>r instanceof t)}get pathName(){return this._name?.toString()}get properties(){return this.children.filter(r=>r instanceof nt)}get deleteProperties(){return this.children.filter(r=>r instanceof ht)}serialize(r){return{type:"CHILD",name:this.name?.serialize()??null,properties:this.properties.map(n=>n.serialize(r)),nodes:this.nodes.map(n=>n.serialize(r)),uri:this.serializeUri,range:this.range,issues:this.serializeIssues}}},_c=class extends Q{constructor(r,n){super(n);this.address=r;this.semanticTokenType="variable",this.semanticTokenModifiers="declaration"}toString(){return this.address?.map((r,n)=>r.toString(16).padStart(n?8:0,"0")).join("")??"NaN"}serialize(){return{address:this.address,uri:this.serializeUri,range:this.range,issues:this.serializeIssues}}},Me=class extends Q{constructor(r,n,i){super(n);this.name=r;this._address=i;this.semanticTokenType="variable",this.semanticTokenModifiers="declaration"}get value(){return this.name}get address(){return this._address}set address(r){if(this._address)throw new Error("Address can only be set once");r&&(this.lastToken=void 0,this._address=r,r.forEach(n=>this.addChild(n)))}get fullAddress(){return this._address?[...this._address.flatMap(r=>r.address)]:void 0}toString(){return this._address!==void 0?`${this.name}@${this._address.map(r=>r.toString()).join(",")}`:this.name}buildSemanticTokens(r){let n=this.firstToken;if(!n.value)return;let i={...n,pos:{...n.pos,len:this.name.length}};r(Si("type"),Ni("declaration"),i,i),this.address!==void 0&&this.address.forEach(s=>{r(Si("decorator"),Ni("declaration"),s.firstToken,s.lastToken),s.buildSemanticTokens(r)})}get serializeIssues(){return[...this.issues,...this._address?.flatMap(r=>r.issues)??[]].map(r=>r())}serialize(){let r=this.firstToken;return{fullName:this.toString(),name:{name:this.name,uri:this.serializeUri,range:Mn.Range.create(Mn.Position.create(r.pos.line,r.pos.col),Mn.Position.create(r.pos.line,r.pos.colEnd)),issues:this.serializeIssues},address:this.address?.map(n=>n.serialize())??null,uri:this.serializeUri,range:this.range,issues:this.serializeIssues}}};var zD=require("path"),fn=$(U());var br=class extends Q{constructor(r,n,i,s){super();this.startLabels=r;this.value=n;this.endLabels=i;this.bits=s;this.startLabels.forEach(o=>{this.addChild(o)}),this.addChild(s),this.addChild(n),this.endLabels.forEach(o=>{this.addChild(o)})}toString(){return`${[this.value?.toString()??"NULL",...this.endLabels.map(r=>r.toString())].join(" ")}`}toPrettyString(r){return`${[this.value?.toPrettyString(r)??"NULL",...this.endLabels.map(n=>n.toString())].join(" ")}`}toJson(){return this.value?.toJson()}};var Ut=t=>t instanceof vr?!0:t instanceof lt?!1:t.parentNode?Ut(t.parentNode):!1;var Uy=t=>{if(t instanceof nt)return t;if(!(t instanceof lt))return t.parentNode?Uy(t.parentNode):void 0},Ws=t=>!t||t instanceof nt?!1:t instanceof br||Ws(t.parentNode),Yo=t=>[...t.map(e=>{if(e instanceof Ge||e instanceof Dt)return e.name;if(e instanceof lr)return e.reference})].filter(e=>!!e),Hy=(t,e)=>e?e.parentNode===t||Hy(t,e.parentNode):!1;var wt=$(U());var Bw=$(U());var xn=class extends Q{constructor(){super();this._pathParts=[]}addPath(r,n){this._pathParts.push(r),n&&this.addChild(n),this.addChild(r)}get pathParts(){return[...this._pathParts]}toString(){return this._pathParts.map(r=>r?.toString()??"<NULL>").join("/")}buildSemanticTokens(r){this._children.forEach(n=>{n instanceof Me?n.buildSemanticTokens(r):r(Si("operator"),Ni("declaration"),n.firstToken,n.lastToken)})}},it=class extends Q{constructor(r){super();this.path=r;this.docSymbolsMeta={name:`/${this.path?.toString()??""}`,kind:Bw.SymbolKind.Namespace},this.addChild(r)}toString(){return`&${this.path?.toString()??"NULL"}`}toJson(){return-1}serialize(){return{type:"NODE_PATH",nodePath:this.path?.toString()??null,uri:this.serializeUri,range:this.range,issues:this.serializeIssues}}};var Z=$(U());var Fw=require("path"),pf=$(U());var Pi=class extends Q{constructor(r,n){super();this.keyword=r;this.path=n;this.docSymbolsMeta={name:`Include ${n}`,kind:pf.SymbolKind.File},this.addChild(r),this.addChild(n)}get resolvedPath(){return this._resolvedPath}set resolvedPath(r){this.docSymbolsMeta={name:`Include ${r}`,kind:pf.SymbolKind.File},this._resolvedPath=r}},Xo=class extends Q{constructor(r,n,i){super(i);this._path=r;this.relative=n;this.docSymbolsMeta={name:(0,Fw.basename)(this.path),kind:pf.SymbolKind.File},this.semanticTokenType="string",this.semanticTokenModifiers="declaration"}get path(){return this.relative?this._path.slice(1,-1):this._path}};var ln=class extends Q{constructor(r){super();this.comments=r;r.forEach(this.addChild.bind(this))}toString(){return this.comments.map(r=>r.toString()).join(`
|
|
182
|
+
deps: ${r}}`};var u4={keyword:"dependencies",type:"object",schemaType:"object",error:mi.error,code(t){let[e,r]=d4(t);q1(t,e),$1(t,r)}};function d4({schema:t}){let e={},r={};for(let n in t){if(n==="__proto__")continue;let i=Array.isArray(t[n])?e:r;i[n]=t[n]}return[e,r]}function q1(t,e=t.schema){let{gen:r,data:n,it:i}=t;if(Object.keys(e).length===0)return;let s=r.let("missing");for(let o in e){let a=e[o];if(a.length===0)continue;let c=(0,pu.propertyInData)(r,n,o,i.opts.ownProperties);t.setParams({property:o,depsCount:a.length,deps:a.join(", ")}),i.allErrors?r.if(c,()=>{for(let l of a)(0,pu.checkReportMissingProp)(t,l)}):(r.if((0,q_._)`${c} && (${(0,pu.checkMissingProp)(t,a,s)})`),(0,pu.reportMissingProp)(t,s),r.else())}}mi.validatePropertyDeps=q1;function $1(t,e=t.schema){let{gen:r,data:n,keyword:i,it:s}=t,o=r.name("valid");for(let a in e)(0,l4.alwaysValidSchema)(s,e[a])||(r.if((0,pu.propertyInData)(r,n,a,s.opts.ownProperties),()=>{let c=t.subschema({keyword:i,schemaProp:a},o);t.mergeValidEvaluated(c,o)},()=>r.var(o,!0)),t.ok(o))}mi.validateSchemaDeps=$1;mi.default=u4});var F1=k($_=>{"use strict";Object.defineProperty($_,"__esModule",{value:!0});var B1=ve(),f4=we(),p4={message:"property name must be valid",params:({params:t})=>(0,B1._)`{propertyName: ${t.propertyName}}`},h4={keyword:"propertyNames",type:"object",schemaType:["object","boolean"],error:p4,code(t){let{gen:e,schema:r,data:n,it:i}=t;if((0,f4.alwaysValidSchema)(i,r))return;let s=e.name("valid");e.forIn("key",n,o=>{t.setParams({propertyName:o}),t.subschema({keyword:"propertyNames",data:o,dataTypes:["string"],propertyName:o,compositeRule:!0},s),e.if((0,B1.not)(s),()=>{t.error(!0),i.allErrors||e.break()})}),t.ok(s)}};$_.default=h4});var F_=k(B_=>{"use strict";Object.defineProperty(B_,"__esModule",{value:!0});var bm=bn(),Wn=ve(),m4=vn(),_m=we(),g4={message:"must NOT have additional properties",params:({params:t})=>(0,Wn._)`{additionalProperty: ${t.additionalProperty}}`},y4={keyword:"additionalProperties",type:["object"],schemaType:["boolean","object"],allowUndefined:!0,trackErrors:!0,error:g4,code(t){let{gen:e,schema:r,parentSchema:n,data:i,errsCount:s,it:o}=t;if(!s)throw new Error("ajv implementation error");let{allErrors:a,opts:c}=o;if(o.props=!0,c.removeAdditional!=="all"&&(0,_m.alwaysValidSchema)(o,r))return;let l=(0,bm.allSchemaProperties)(n.properties),u=(0,bm.allSchemaProperties)(n.patternProperties);d(),t.ok((0,Wn._)`${s} === ${m4.default.errors}`);function d(){e.forIn("key",i,T=>{!l.length&&!u.length?g(T):e.if(f(T),()=>g(T))})}function f(T){let S;if(l.length>8){let _=(0,_m.schemaRefOrVal)(o,n.properties,"properties");S=(0,bm.isOwnProperty)(e,_,T)}else l.length?S=(0,Wn.or)(...l.map(_=>(0,Wn._)`${T} === ${_}`)):S=Wn.nil;return u.length&&(S=(0,Wn.or)(S,...u.map(_=>(0,Wn._)`${(0,bm.usePattern)(t,_)}.test(${T})`))),(0,Wn.not)(S)}function p(T){e.code((0,Wn._)`delete ${i}[${T}]`)}function g(T){if(c.removeAdditional==="all"||c.removeAdditional&&r===!1){p(T);return}if(r===!1){t.setParams({additionalProperty:T}),t.error(),a||e.break();return}if(typeof r=="object"&&!(0,_m.alwaysValidSchema)(o,r)){let S=e.name("valid");c.removeAdditional==="failing"?(h(T,S,!1),e.if((0,Wn.not)(S),()=>{t.reset(),p(T)})):(h(T,S),a||e.if((0,Wn.not)(S),()=>e.break()))}}function h(T,S,_){let v={keyword:"additionalProperties",dataProp:T,dataPropType:_m.Type.Str};_===!1&&Object.assign(v,{compositeRule:!0,createErrors:!1,allErrors:!1}),t.subschema(v,S)}}};B_.default=y4});var H1=k(U_=>{"use strict";Object.defineProperty(U_,"__esModule",{value:!0});var T4=Ql(),j1=bn(),j_=we(),U1=F_(),v4={keyword:"properties",type:"object",schemaType:"object",code(t){let{gen:e,schema:r,parentSchema:n,data:i,it:s}=t;s.opts.removeAdditional==="all"&&n.additionalProperties===void 0&&U1.default.code(new T4.KeywordCxt(s,U1.default,"additionalProperties"));let o=(0,j1.allSchemaProperties)(r);for(let d of o)s.definedProperties.add(d);s.opts.unevaluated&&o.length&&s.props!==!0&&(s.props=j_.mergeEvaluated.props(e,(0,j_.toHash)(o),s.props));let a=o.filter(d=>!(0,j_.alwaysValidSchema)(s,r[d]));if(a.length===0)return;let c=e.name("valid");for(let d of a)l(d)?u(d):(e.if((0,j1.propertyInData)(e,i,d,s.opts.ownProperties)),u(d),s.allErrors||e.else().var(c,!0),e.endIf()),t.it.definedProperties.add(d),t.ok(c);function l(d){return s.opts.useDefaults&&!s.compositeRule&&r[d].default!==void 0}function u(d){t.subschema({keyword:"properties",schemaProp:d,dataProp:d},c)}}};U_.default=v4});var G1=k(H_=>{"use strict";Object.defineProperty(H_,"__esModule",{value:!0});var V1=bn(),Sm=ve(),z1=we(),W1=we(),b4={keyword:"patternProperties",type:"object",schemaType:"object",code(t){let{gen:e,schema:r,data:n,parentSchema:i,it:s}=t,{opts:o}=s,a=(0,V1.allSchemaProperties)(r),c=a.filter(h=>(0,z1.alwaysValidSchema)(s,r[h]));if(a.length===0||c.length===a.length&&(!s.opts.unevaluated||s.props===!0))return;let l=o.strictSchema&&!o.allowMatchingProperties&&i.properties,u=e.name("valid");s.props!==!0&&!(s.props instanceof Sm.Name)&&(s.props=(0,W1.evaluatedPropsToName)(e,s.props));let{props:d}=s;f();function f(){for(let h of a)l&&p(h),s.allErrors?g(h):(e.var(u,!0),g(h),e.if(u))}function p(h){for(let T in l)new RegExp(h).test(T)&&(0,z1.checkStrictMode)(s,`property ${T} matches pattern ${h} (use allowMatchingProperties)`)}function g(h){e.forIn("key",n,T=>{e.if((0,Sm._)`${(0,V1.usePattern)(t,h)}.test(${T})`,()=>{let S=c.includes(h);S||t.subschema({keyword:"patternProperties",schemaProp:h,dataProp:T,dataPropType:W1.Type.Str},u),s.opts.unevaluated&&d!==!0?e.assign((0,Sm._)`${d}[${T}]`,!0):!S&&!s.allErrors&&e.if((0,Sm.not)(u),()=>e.break())})})}}};H_.default=b4});var K1=k(V_=>{"use strict";Object.defineProperty(V_,"__esModule",{value:!0});var _4=we(),S4={keyword:"not",schemaType:["object","boolean"],trackErrors:!0,code(t){let{gen:e,schema:r,it:n}=t;if((0,_4.alwaysValidSchema)(n,r)){t.fail();return}let i=e.name("valid");t.subschema({keyword:"not",compositeRule:!0,createErrors:!1,allErrors:!1},i),t.failResult(i,()=>t.reset(),()=>t.error())},error:{message:"must NOT be valid"}};V_.default=S4});var Y1=k(z_=>{"use strict";Object.defineProperty(z_,"__esModule",{value:!0});var N4=bn(),k4={keyword:"anyOf",schemaType:"array",trackErrors:!0,code:N4.validateUnion,error:{message:"must match a schema in anyOf"}};z_.default=k4});var X1=k(W_=>{"use strict";Object.defineProperty(W_,"__esModule",{value:!0});var Nm=ve(),R4=we(),P4={message:"must match exactly one schema in oneOf",params:({params:t})=>(0,Nm._)`{passingSchemas: ${t.passing}}`},w4={keyword:"oneOf",schemaType:"array",trackErrors:!0,error:P4,code(t){let{gen:e,schema:r,parentSchema:n,it:i}=t;if(!Array.isArray(r))throw new Error("ajv implementation error");if(i.opts.discriminator&&n.discriminator)return;let s=r,o=e.let("valid",!1),a=e.let("passing",null),c=e.name("_valid");t.setParams({passing:a}),e.block(l),t.result(o,()=>t.reset(),()=>t.error(!0));function l(){s.forEach((u,d)=>{let f;(0,R4.alwaysValidSchema)(i,u)?e.var(c,!0):f=t.subschema({keyword:"oneOf",schemaProp:d,compositeRule:!0},c),d>0&&e.if((0,Nm._)`${c} && ${o}`).assign(o,!1).assign(a,(0,Nm._)`[${a}, ${d}]`).else(),e.if(c,()=>{e.assign(o,!0),e.assign(a,d),f&&t.mergeEvaluated(f,Nm.Name)})})}}};W_.default=w4});var J1=k(G_=>{"use strict";Object.defineProperty(G_,"__esModule",{value:!0});var E4=we(),D4={keyword:"allOf",schemaType:"array",code(t){let{gen:e,schema:r,it:n}=t;if(!Array.isArray(r))throw new Error("ajv implementation error");let i=e.name("valid");r.forEach((s,o)=>{if((0,E4.alwaysValidSchema)(n,s))return;let a=t.subschema({keyword:"allOf",schemaProp:o},i);t.ok(i),t.mergeEvaluated(a)})}};G_.default=D4});var e$=k(K_=>{"use strict";Object.defineProperty(K_,"__esModule",{value:!0});var km=ve(),Z1=we(),C4={message:({params:t})=>(0,km.str)`must match "${t.ifClause}" schema`,params:({params:t})=>(0,km._)`{failingKeyword: ${t.ifClause}}`},A4={keyword:"if",schemaType:["object","boolean"],trackErrors:!0,error:C4,code(t){let{gen:e,parentSchema:r,it:n}=t;r.then===void 0&&r.else===void 0&&(0,Z1.checkStrictMode)(n,'"if" without "then" and "else" is ignored');let i=Q1(n,"then"),s=Q1(n,"else");if(!i&&!s)return;let o=e.let("valid",!0),a=e.name("_valid");if(c(),t.reset(),i&&s){let u=e.let("ifClause");t.setParams({ifClause:u}),e.if(a,l("then",u),l("else",u))}else i?e.if(a,l("then")):e.if((0,km.not)(a),l("else"));t.pass(o,()=>t.error(!0));function c(){let u=t.subschema({keyword:"if",compositeRule:!0,createErrors:!1,allErrors:!1},a);t.mergeEvaluated(u)}function l(u,d){return()=>{let f=t.subschema({keyword:u},a);e.assign(o,a),t.mergeValidEvaluated(f,o),d?e.assign(d,(0,km._)`${u}`):t.setParams({ifClause:u})}}}};function Q1(t,e){let r=t.schema[e];return r!==void 0&&!(0,Z1.alwaysValidSchema)(t,r)}K_.default=A4});var t$=k(Y_=>{"use strict";Object.defineProperty(Y_,"__esModule",{value:!0});var I4=we(),O4={keyword:["then","else"],schemaType:["object","boolean"],code({keyword:t,parentSchema:e,it:r}){e.if===void 0&&(0,I4.checkStrictMode)(r,`"${t}" without "if" is ignored`)}};Y_.default=O4});var r$=k(X_=>{"use strict";Object.defineProperty(X_,"__esModule",{value:!0});var M4=I_(),x4=O1(),L4=O_(),q4=x1(),$4=L1(),B4=vm(),F4=F1(),j4=F_(),U4=H1(),H4=G1(),V4=K1(),z4=Y1(),W4=X1(),G4=J1(),K4=e$(),Y4=t$();function X4(t=!1){let e=[V4.default,z4.default,W4.default,G4.default,K4.default,Y4.default,F4.default,j4.default,B4.default,U4.default,H4.default];return t?e.push(x4.default,q4.default):e.push(M4.default,L4.default),e.push($4.default),e}X_.default=X4});var n$=k(J_=>{"use strict";Object.defineProperty(J_,"__esModule",{value:!0});var Ot=ve(),J4={message:({schemaCode:t})=>(0,Ot.str)`must match format "${t}"`,params:({schemaCode:t})=>(0,Ot._)`{format: ${t}}`},Q4={keyword:"format",type:["number","string"],schemaType:"string",$data:!0,error:J4,code(t,e){let{gen:r,data:n,$data:i,schema:s,schemaCode:o,it:a}=t,{opts:c,errSchemaPath:l,schemaEnv:u,self:d}=a;if(!c.validateFormats)return;i?f():p();function f(){let g=r.scopeValue("formats",{ref:d.formats,code:c.code.formats}),h=r.const("fDef",(0,Ot._)`${g}[${o}]`),T=r.let("fType"),S=r.let("format");r.if((0,Ot._)`typeof ${h} == "object" && !(${h} instanceof RegExp)`,()=>r.assign(T,(0,Ot._)`${h}.type || "string"`).assign(S,(0,Ot._)`${h}.validate`),()=>r.assign(T,(0,Ot._)`"string"`).assign(S,h)),t.fail$data((0,Ot.or)(_(),v()));function _(){return c.strictSchema===!1?Ot.nil:(0,Ot._)`${o} && !${S}`}function v(){let R=u.$async?(0,Ot._)`(${h}.async ? await ${S}(${n}) : ${S}(${n}))`:(0,Ot._)`${S}(${n})`,D=(0,Ot._)`(typeof ${S} == "function" ? ${R} : ${S}.test(${n}))`;return(0,Ot._)`${S} && ${S} !== true && ${T} === ${e} && !${D}`}}function p(){let g=d.formats[s];if(!g){_();return}if(g===!0)return;let[h,T,S]=v(g);h===e&&t.pass(R());function _(){if(c.strictSchema===!1){d.logger.warn(D());return}throw new Error(D());function D(){return`unknown format "${s}" ignored in schema at path "${l}"`}}function v(D){let B=D instanceof RegExp?(0,Ot.regexpCode)(D):c.code.formats?(0,Ot._)`${c.code.formats}${(0,Ot.getProperty)(s)}`:void 0,M=r.scopeValue("formats",{key:s,ref:D,code:B});return typeof D=="object"&&!(D instanceof RegExp)?[D.type||"string",D.validate,(0,Ot._)`${M}.validate`]:["string",D,M]}function R(){if(typeof g=="object"&&!(g instanceof RegExp)&&g.async){if(!u.$async)throw new Error("async format in sync schema");return(0,Ot._)`await ${S}(${n})`}return typeof T=="function"?(0,Ot._)`${S}(${n})`:(0,Ot._)`${S}.test(${n})`}}}};J_.default=Q4});var i$=k(Q_=>{"use strict";Object.defineProperty(Q_,"__esModule",{value:!0});var Z4=n$(),e9=[Z4.default];Q_.default=e9});var s$=k(Ha=>{"use strict";Object.defineProperty(Ha,"__esModule",{value:!0});Ha.contentVocabulary=Ha.metadataVocabulary=void 0;Ha.metadataVocabulary=["title","description","default","deprecated","readOnly","writeOnly","examples"];Ha.contentVocabulary=["contentMediaType","contentEncoding","contentSchema"]});var a$=k(Z_=>{"use strict";Object.defineProperty(Z_,"__esModule",{value:!0});var t9=m1(),r9=D1(),n9=r$(),i9=i$(),o$=s$(),s9=[t9.default,r9.default,(0,n9.default)(),i9.default,o$.metadataVocabulary,o$.contentVocabulary];Z_.default=s9});var tS=k(hu=>{"use strict";Object.defineProperty(hu,"__esModule",{value:!0});hu.dynamicAnchor=void 0;var eS=ve(),o9=vn(),c$=eu(),a9=fm(),c9={keyword:"$dynamicAnchor",schemaType:"string",code:t=>l$(t,t.schema)};function l$(t,e){let{gen:r,it:n}=t;n.schemaEnv.root.dynamicAnchors[e]=!0;let i=(0,eS._)`${o9.default.dynamicAnchors}${(0,eS.getProperty)(e)}`,s=n.errSchemaPath==="#"?n.validateName:l9(t);r.if((0,eS._)`!${i}`,()=>r.assign(i,s))}hu.dynamicAnchor=l$;function l9(t){let{schemaEnv:e,schema:r,self:n}=t.it,{root:i,baseId:s,localRefs:o,meta:a}=e.root,{schemaId:c}=n.opts,l=new c$.SchemaEnv({schema:r,schemaId:c,root:i,baseId:s,localRefs:o,meta:a});return c$.compileSchema.call(n,l),(0,a9.getValidate)(t,l)}hu.default=c9});var rS=k(mu=>{"use strict";Object.defineProperty(mu,"__esModule",{value:!0});mu.dynamicRef=void 0;var u$=ve(),u9=vn(),d$=fm(),d9={keyword:"$dynamicRef",schemaType:"string",code:t=>f$(t,t.schema)};function f$(t,e){let{gen:r,keyword:n,it:i}=t;if(e[0]!=="#")throw new Error(`"${n}" only supports hash fragment reference`);let s=e.slice(1);if(i.allErrors)o();else{let c=r.let("valid",!1);o(c),t.ok(c)}function o(c){if(i.schemaEnv.root.dynamicAnchors[s]){let l=r.let("_v",(0,u$._)`${u9.default.dynamicAnchors}${(0,u$.getProperty)(s)}`);r.if(l,a(l,c),a(i.validateName,c))}else a(i.validateName,c)()}function a(c,l){return l?()=>r.block(()=>{(0,d$.callRef)(t,c),r.let(l,!0)}):()=>(0,d$.callRef)(t,c)}}mu.dynamicRef=f$;mu.default=d9});var p$=k(nS=>{"use strict";Object.defineProperty(nS,"__esModule",{value:!0});var f9=tS(),p9=we(),h9={keyword:"$recursiveAnchor",schemaType:"boolean",code(t){t.schema?(0,f9.dynamicAnchor)(t,""):(0,p9.checkStrictMode)(t.it,"$recursiveAnchor: false is ignored")}};nS.default=h9});var h$=k(iS=>{"use strict";Object.defineProperty(iS,"__esModule",{value:!0});var m9=rS(),g9={keyword:"$recursiveRef",schemaType:"string",code:t=>(0,m9.dynamicRef)(t,t.schema)};iS.default=g9});var m$=k(sS=>{"use strict";Object.defineProperty(sS,"__esModule",{value:!0});var y9=tS(),T9=rS(),v9=p$(),b9=h$(),_9=[y9.default,T9.default,v9.default,b9.default];sS.default=_9});var y$=k(oS=>{"use strict";Object.defineProperty(oS,"__esModule",{value:!0});var g$=vm(),S9={keyword:"dependentRequired",type:"object",schemaType:"object",error:g$.error,code:t=>(0,g$.validatePropertyDeps)(t)};oS.default=S9});var T$=k(aS=>{"use strict";Object.defineProperty(aS,"__esModule",{value:!0});var N9=vm(),k9={keyword:"dependentSchemas",type:"object",schemaType:"object",code:t=>(0,N9.validateSchemaDeps)(t)};aS.default=k9});var v$=k(cS=>{"use strict";Object.defineProperty(cS,"__esModule",{value:!0});var R9=we(),P9={keyword:["maxContains","minContains"],type:"array",schemaType:"number",code({keyword:t,parentSchema:e,it:r}){e.contains===void 0&&(0,R9.checkStrictMode)(r,`"${t}" without "contains" is ignored`)}};cS.default=P9});var b$=k(lS=>{"use strict";Object.defineProperty(lS,"__esModule",{value:!0});var w9=y$(),E9=T$(),D9=v$(),C9=[w9.default,E9.default,D9.default];lS.default=C9});var S$=k(uS=>{"use strict";Object.defineProperty(uS,"__esModule",{value:!0});var As=ve(),_$=we(),A9=vn(),I9={message:"must NOT have unevaluated properties",params:({params:t})=>(0,As._)`{unevaluatedProperty: ${t.unevaluatedProperty}}`},O9={keyword:"unevaluatedProperties",type:"object",schemaType:["boolean","object"],trackErrors:!0,error:I9,code(t){let{gen:e,schema:r,data:n,errsCount:i,it:s}=t;if(!i)throw new Error("ajv implementation error");let{allErrors:o,props:a}=s;a instanceof As.Name?e.if((0,As._)`${a} !== true`,()=>e.forIn("key",n,d=>e.if(l(a,d),()=>c(d)))):a!==!0&&e.forIn("key",n,d=>a===void 0?c(d):e.if(u(a,d),()=>c(d))),s.props=!0,t.ok((0,As._)`${i} === ${A9.default.errors}`);function c(d){if(r===!1){t.setParams({unevaluatedProperty:d}),t.error(),o||e.break();return}if(!(0,_$.alwaysValidSchema)(s,r)){let f=e.name("valid");t.subschema({keyword:"unevaluatedProperties",dataProp:d,dataPropType:_$.Type.Str},f),o||e.if((0,As.not)(f),()=>e.break())}}function l(d,f){return(0,As._)`!${d} || !${d}[${f}]`}function u(d,f){let p=[];for(let g in d)d[g]===!0&&p.push((0,As._)`${f} !== ${g}`);return(0,As.and)(...p)}}};uS.default=O9});var k$=k(dS=>{"use strict";Object.defineProperty(dS,"__esModule",{value:!0});var go=ve(),N$=we(),M9={message:({params:{len:t}})=>(0,go.str)`must NOT have more than ${t} items`,params:({params:{len:t}})=>(0,go._)`{limit: ${t}}`},x9={keyword:"unevaluatedItems",type:"array",schemaType:["boolean","object"],error:M9,code(t){let{gen:e,schema:r,data:n,it:i}=t,s=i.items||0;if(s===!0)return;let o=e.const("len",(0,go._)`${n}.length`);if(r===!1)t.setParams({len:s}),t.fail((0,go._)`${o} > ${s}`);else if(typeof r=="object"&&!(0,N$.alwaysValidSchema)(i,r)){let c=e.var("valid",(0,go._)`${o} <= ${s}`);e.if((0,go.not)(c),()=>a(c,s)),t.ok(c)}i.items=!0;function a(c,l){e.forRange("i",l,o,u=>{t.subschema({keyword:"unevaluatedItems",dataProp:u,dataPropType:N$.Type.Num},c),i.allErrors||e.if((0,go.not)(c),()=>e.break())})}}};dS.default=x9});var R$=k(fS=>{"use strict";Object.defineProperty(fS,"__esModule",{value:!0});var L9=S$(),q9=k$(),$9=[L9.default,q9.default];fS.default=$9});var w$=k(Rm=>{"use strict";Object.defineProperty(Rm,"__esModule",{value:!0});Rm.DiscrError=void 0;var P$;(function(t){t.Tag="tag",t.Mapping="mapping"})(P$||(Rm.DiscrError=P$={}))});var D$=k(hS=>{"use strict";Object.defineProperty(hS,"__esModule",{value:!0});var Va=ve(),pS=w$(),E$=eu(),B9=Zl(),F9=we(),j9={message:({params:{discrError:t,tagName:e}})=>t===pS.DiscrError.Tag?`tag "${e}" must be string`:`value of tag "${e}" must be in oneOf`,params:({params:{discrError:t,tag:e,tagName:r}})=>(0,Va._)`{error: ${t}, tag: ${r}, tagValue: ${e}}`},U9={keyword:"discriminator",type:"object",schemaType:"object",error:j9,code(t){let{gen:e,data:r,schema:n,parentSchema:i,it:s}=t,{oneOf:o}=i;if(!s.opts.discriminator)throw new Error("discriminator: requires discriminator option");let a=n.propertyName;if(typeof a!="string")throw new Error("discriminator: requires propertyName");if(n.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,Va._)`${r}${(0,Va.getProperty)(a)}`);e.if((0,Va._)`typeof ${l} == "string"`,()=>u(),()=>t.error(!1,{discrError:pS.DiscrError.Tag,tag:l,tagName:a})),t.ok(c);function u(){let p=f();e.if(!1);for(let g in p)e.elseIf((0,Va._)`${l} === ${g}`),e.assign(c,d(p[g]));e.else(),t.error(!1,{discrError:pS.DiscrError.Mapping,tag:l,tagName:a}),e.endIf()}function d(p){let g=e.name("valid"),h=t.subschema({keyword:"oneOf",schemaProp:p},g);return t.mergeEvaluated(h,Va.Name),g}function f(){var p;let g={},h=S(i),T=!0;for(let R=0;R<o.length;R++){let D=o[R];if(D?.$ref&&!(0,F9.schemaHasRulesButRef)(D,s.self.RULES)){let M=D.$ref;if(D=E$.resolveRef.call(s.self,s.schemaEnv.root,s.baseId,M),D instanceof E$.SchemaEnv&&(D=D.schema),D===void 0)throw new B9.default(s.opts.uriResolver,s.baseId,M)}let B=(p=D?.properties)===null||p===void 0?void 0:p[a];if(typeof B!="object")throw new Error(`discriminator: oneOf subschemas (or referenced schemas) must have "properties/${a}"`);T=T&&(h||S(D)),_(B,R)}if(!T)throw new Error(`discriminator: "${a}" must be required`);return g;function S({required:R}){return Array.isArray(R)&&R.includes(a)}function _(R,D){if(R.const)v(R.const,D);else if(R.enum)for(let B of R.enum)v(B,D);else throw new Error(`discriminator: "properties/${a}" must have "const" or "enum"`)}function v(R,D){if(typeof R!="string"||R in g)throw new Error(`discriminator: "${a}" values must be unique strings`);g[R]=D}}}};hS.default=U9});var C$=k(($Pe,H9)=>{H9.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 A$=k((BPe,V9)=>{V9.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 I$=k((FPe,z9)=>{z9.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 O$=k((jPe,W9)=>{W9.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 M$=k((UPe,G9)=>{G9.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 x$=k((HPe,K9)=>{K9.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 L$=k((VPe,Y9)=>{Y9.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 q$=k(mS=>{"use strict";Object.defineProperty(mS,"__esModule",{value:!0});var X9=C$(),J9=A$(),Q9=I$(),Z9=O$(),eJ=M$(),tJ=x$(),rJ=L$(),nJ=["/properties"];function iJ(t){return[X9,J9,Q9,Z9,e(this,eJ),tJ,e(this,rJ)].forEach(r=>this.addMetaSchema(r,void 0,!1)),this;function e(r,n){return t?r.$dataMetaSchema(n,nJ):n}}mS.default=iJ});var $$=k((gt,yS)=>{"use strict";Object.defineProperty(gt,"__esModule",{value:!0});gt.MissingRefError=gt.ValidationError=gt.CodeGen=gt.Name=gt.nil=gt.stringify=gt.str=gt._=gt.KeywordCxt=gt.Ajv2019=void 0;var sJ=u1(),oJ=a$(),aJ=m$(),cJ=b$(),lJ=R$(),uJ=D$(),dJ=q$(),gS="https://json-schema.org/draft/2019-09/schema",za=class extends sJ.default{constructor(e={}){super({...e,dynamicRef:!0,next:!0,unevaluated:!0})}_addVocabularies(){super._addVocabularies(),this.addVocabulary(aJ.default),oJ.default.forEach(e=>this.addVocabulary(e)),this.addVocabulary(cJ.default),this.addVocabulary(lJ.default),this.opts.discriminator&&this.addKeyword(uJ.default)}_addDefaultMetaSchema(){super._addDefaultMetaSchema();let{$data:e,meta:r}=this.opts;r&&(dJ.default.call(this,e),this.refs["http://json-schema.org/schema"]=gS)}defaultMeta(){return this.opts.defaultMeta=super.defaultMeta()||(this.getSchema(gS)?gS:void 0)}};gt.Ajv2019=za;yS.exports=gt=za;yS.exports.Ajv2019=za;Object.defineProperty(gt,"__esModule",{value:!0});gt.default=za;var fJ=Ql();Object.defineProperty(gt,"KeywordCxt",{enumerable:!0,get:function(){return fJ.KeywordCxt}});var Wa=ve();Object.defineProperty(gt,"_",{enumerable:!0,get:function(){return Wa._}});Object.defineProperty(gt,"str",{enumerable:!0,get:function(){return Wa.str}});Object.defineProperty(gt,"stringify",{enumerable:!0,get:function(){return Wa.stringify}});Object.defineProperty(gt,"nil",{enumerable:!0,get:function(){return Wa.nil}});Object.defineProperty(gt,"Name",{enumerable:!0,get:function(){return Wa.Name}});Object.defineProperty(gt,"CodeGen",{enumerable:!0,get:function(){return Wa.CodeGen}});var pJ=im();Object.defineProperty(gt,"ValidationError",{enumerable:!0,get:function(){return pJ.default}});var hJ=Zl();Object.defineProperty(gt,"MissingRefError",{enumerable:!0,get:function(){return hJ.default}})});var Xa=require("path"),ze=$(hw());var nf=class t{constructor(e,r,n,i){this._uri=e,this._languageId=r,this._version=n,this._content=i,this._lineOffsets=void 0}get uri(){return this._uri}get languageId(){return this._languageId}get version(){return this._version}getText(e){if(e){let r=this.offsetAt(e.start),n=this.offsetAt(e.end);return this._content.substring(r,n)}return this._content}update(e,r){for(let n of e)if(t.isIncremental(n)){let i=gw(n.range),s=this.offsetAt(i.start),o=this.offsetAt(i.end);this._content=this._content.substring(0,s)+n.text+this._content.substring(o,this._content.length);let a=Math.max(i.start.line,0),c=Math.max(i.end.line,0),l=this._lineOffsets,u=mw(n.text,!1,s);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=n.text.length-(o-s);if(d!==0)for(let f=a+1+u.length,p=l.length;f<p;f++)l[f]=l[f]+d}else if(t.isFull(n))this._content=n.text,this._lineOffsets=void 0;else throw new Error("Unknown change event received");this._version=r}getLineOffsets(){return this._lineOffsets===void 0&&(this._lineOffsets=mw(this._content,!0)),this._lineOffsets}positionAt(e){e=Math.max(Math.min(e,this._content.length),0);let r=this.getLineOffsets(),n=0,i=r.length;if(i===0)return{line:0,character:e};for(;n<i;){let o=Math.floor((n+i)/2);r[o]>e?i=o:n=o+1}let s=n-1;return{line:s,character:e-r[s]}}offsetAt(e){let r=this.getLineOffsets();if(e.line>=r.length)return this._content.length;if(e.line<0)return 0;let n=r[e.line],i=e.line+1<r.length?r[e.line+1]:this._content.length;return Math.max(Math.min(n+e.character,i),n)}get lineCount(){return this.getLineOffsets().length}static isIncremental(e){let r=e;return r!=null&&typeof r.text=="string"&&r.range!==void 0&&(r.rangeLength===void 0||typeof r.rangeLength=="number")}static isFull(e){let r=e;return r!=null&&typeof r.text=="string"&&r.range===void 0&&r.rangeLength===void 0}},Qn;(function(t){function e(i,s,o,a){return new nf(i,s,o,a)}t.create=e;function r(i,s,o){if(i instanceof nf)return i.update(s,o),i;throw new Error("TextDocument.update: document must be created by TextDocument.create")}t.update=r;function n(i,s){let o=i.getText(),a=My(s.map(Yj),(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=i.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=i.offsetAt(u.range.end)}return l.push(o.substr(c)),l.join("")}t.applyEdits=n})(Qn||(Qn={}));function My(t,e){if(t.length<=1)return t;let r=t.length/2|0,n=t.slice(0,r),i=t.slice(r);My(n,e),My(i,e);let s=0,o=0,a=0;for(;s<n.length&&o<i.length;)e(n[s],i[o])<=0?t[a++]=n[s++]:t[a++]=i[o++];for(;s<n.length;)t[a++]=n[s++];for(;o<i.length;)t[a++]=i[o++];return t}function mw(t,e,r=0){let n=e?[r]:[];for(let i=0;i<t.length;i++){let s=t.charCodeAt(i);(s===13||s===10)&&(s===13&&i+1<t.length&&t.charCodeAt(i+1)===10&&i++,n.push(r+i+1))}return n}function gw(t){let e=t.start,r=t.end;return e.line>r.line||e.line===r.line&&e.character>r.character?{start:r,end:e}:t}function Yj(t){let e=gw(t.range);return e!==t.range?{newText:t.newText,range:e}:t}var sf=["namespace","class","enum","interface","struct","typeParameter","type","parameter","variable","property","enumMember","decorator","event","function","method","macro","label","comment","string","keyword","number","regexp","operator"],of=["declaration","definition","readonly","static","deprecated","abstract","async","modification","documentation","defaultLibrary"];var Ly=$(require("url")),Tw=require("crypto"),Go=require("path"),ar=$(U());var xy=$(U());var Cr=$(U());var Q=class{constructor(e){this._children=[];this.syntaxIssues=[];this.resetableIssues=[];this._firstToken=e?.start,this._lastToken=e?.end}get issues(){return[...this.syntaxIssues,...this.resetableIssues]}resetIssues(){this.resetableIssues=[],this.children.forEach(e=>e.resetIssues())}get serializeIssues(){return this.issues.map(e=>e())}get firstToken(){return this._firstToken??this._children[0].firstToken}set firstToken(e){this._firstToken=e}get lastToken(){return this._lastToken??this._children[this._children.length-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(r=>r.getTopMostAstNodeForFile(e))}getDocumentSymbols(e){if(!this.docSymbolsMeta)return this.children.flatMap(n=>n.getDocumentSymbols(e)??[]);if(!le(this.uri,e))return[];let r=pe(this);return[{name:this.docSymbolsMeta.name?this.docSymbolsMeta.name:"__UNSET__",kind:this.docSymbolsMeta.kind,range:r,selectionRange:r,children:[...this.children.flatMap(n=>n.getDocumentSymbols(e)??[])]}]}getWorkspaceSymbols(){if(!this.docSymbolsMeta)return this.children.flatMap(i=>i.getWorkspaceSymbols()??[]);let e=this.docSymbolsMeta.kind;if(![Cr.SymbolKind.File,Cr.SymbolKind.Class,Cr.SymbolKind.Constant].some(i=>i===e))return[];let r=Ar(this.uri),n=r?.range??pe(this);return[{location:Cr.Location.create(de(r?.docUri??this.uri),n),name:this.docSymbolsMeta.name?this.docSymbolsMeta.name:"__UNSET__",kind:this.docSymbolsMeta.kind},...this.children.flatMap(i=>i.getWorkspaceSymbols()??[]).filter(i=>i.kind===Cr.SymbolKind.File||i.kind===Cr.SymbolKind.Class||i.kind===Cr.SymbolKind.Constant)]}buildSemanticTokens(e){this._children.forEach(r=>r.buildSemanticTokens(e)),!(!this.semanticTokenType||!this.semanticTokenModifiers)&&e(Si(this.semanticTokenType),Ni(this.semanticTokenModifiers),this.firstToken,this.lastToken)}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}isAncestorOf(e){return this.children.some(r=>r===e||r.isAncestorOf(e))}toPrettyString(e){return this.toString()}toString(e){return"TODO"}get range(){return Cr.Range.create(Cr.Position.create(this.firstToken.pos.line,this.firstToken.pos.col),Cr.Position.create(this.lastToken.pos.line,this.lastToken.pos.colEnd))}get serializeUri(){return de(this.uri)}serialize(e){return{uri:this.serializeUri,range:this.range,issues:this.serializeIssues}}};var Ee=class extends Q{toJson(){return-1}#e;resolve(e){return this.#e??=af(this.toString(),e),this.#e}#t;evaluate(e){return this.#t??=De(`${this.operator?this.operator.toString():""}${this.resolve(e)}`),this.#t}#n;isTrue(e){return this.#n??=De(`!!(${this.operator?this.operator.toString():""}${this.resolve(e)})`),this.#n}toPrettyString(e){let r=this.evaluate(e);return`${r.toString()} /* ${this.toString()}${typeof r=="number"?` = 0x${r.toString(16)}`:""} */`}serialize(e){return{type:"EXPRESSION",value:this.toString(),evaluated:this.evaluate(e),uri:this.serializeUri,range:this.range,issues:this.serializeIssues}}},Zn=class extends Ee{constructor(r,n,i){super();this.expression=r;this.wrapped=n;this.addChild(r),i&&(this.addChild(i.operator),this.addChild(i.expression),this.join=[],this.join?.push(i))}get firstToken(){return this.openBracket?this.openBracket:super.firstToken}get lastToken(){return this.closeBracket?this.closeBracket:super.lastToken}addExpression(r,n){this.addChild(r),this.addChild(n),this.join??=[],this.join?.push({operator:r,expression:n})}toString(){let r=this.children.map(n=>n.toString()).join(" ");return this.wrapped?`(${r})`:`${r}`}isTrue(r){let n=`(${this.children.map(i=>i instanceof Ee?i.resolve(r):i.toString()).join(" ")})`;return De(`!!(${this.operator?this.operator.toString():""}${n})`)}};var ei=class extends Ee{constructor(r,n,i){super(n);this.value=r;this.docSymbolsMeta={name:`param${i+1}`,kind:xy.SymbolKind.Variable},this.semanticTokenType="variable",this.semanticTokenModifiers="declaration"}toString(){return this.value}},In=class extends Ee{constructor(r,n){super();this.functionName=r;this.params=n;this.addChild(r),this.params.forEach(i=>this.addChild(i))}getDocumentSymbols(r){return le(this.uri,r)?[{name:this.functionName.name,kind:xy.SymbolKind.Function,range:pe(this),selectionRange:pe(this),children:this.params.flatMap(n=>n?.getDocumentSymbols(r)??[])}]:[]}toString(){return`${this.functionName.toString()}(${this.params.map(r=>r?.toString()??"<NULL>").join(",")})`}isTrue(r){if(this.functionName.name==="defined"){let n=!!(this.params.length===1&&this.params[0]&&r.has(this.params[0].value));return this.operator?De(`!!(${this.operator}${n})`):n}return super.isTrue(r)}};var Wr=(t,e,r=!0,n=!0)=>({start:{line:t?.pos.line??0,character:r?t?.pos.col??0:(t?.pos.col??0)+(t?.pos.len??0)},end:{line:e?.pos.line??0,character:n?(e?.pos.col??0)+(e?.pos.len??0):e?.pos.col??0}});var pe=t=>Wr(t.firstToken,t.lastToken),Si=t=>sf.findIndex(e=>e===t),Ni=t=>of.findIndex(e=>e===t),qy=(t,e,r)=>!le(t.uri,e)||r.line<t.pos.line?!1:r.line>t.pos.line?!0:r.character>=t.pos.colEnd,Jj=(t,e,r)=>le(t.uri,e)?r.line<t.pos.line?!0:r.line>t.pos.line?!1:r.character<t.pos.col:!1,an=(t,e,r)=>{let n=t.firstToken,i=t.lastToken;return!!((n.pos.line<r.line||n.pos.line===r.line&&n.pos.col<=r.character)&&(i.pos.line>r.line||i.pos.line===r.line&&i.pos.colEnd>=r.character)&&le(t.uri,e))},vw=(t,e)=>{let r=(i,s)=>i.line<s.line||i.line===s.line&&i.character<=s.character,n=(i,s)=>i.line>s.line||i.line===s.line&&i.character>=s.character;return r(t.start,e.start)&&n(t.end,e.end)},bw=(t,e,r)=>{let n=t.firstToken,i=t.lastToken;return!!(t.lastToken.value!==";"&&(n.pos.line===r.line||i.pos.line===r.line)&&r.character>=i.pos.colEnd&&le(t.uri,e))},_w=(t,e,r)=>{if(!t)return!1;let i=t.filter(s=>s.pos.line===r.line).at(-1);return i&&i.pos.col>=r.character?!1:e.lastToken===i};var ti=(t,e,r)=>{let n=t,i=t;for(;i;)n=i,i=[...n.children].reverse().find(s=>an(s,e,r));return n},Tc=(t,e,r)=>{let n=t,i=t;for(;i;)n=i,i=[...n.children].find(s=>Jj(s.lastToken,e,r));return n===t?void 0:n},vc=(t,e,r)=>{let n=t,i=t;for(;i;)n=i,i=[...n.children].reverse().find(s=>qy(s.firstToken,e,r));return n===t?void 0:n},uf="#virtual#",$y=t=>t.includes(uf),Ar=t=>{if(!$y(t))return;let[e,r]=t.split(uf),[n,i]=r.split("-"),[s,o]=n.split(":"),[a,c]=i.split(":");return{docUri:e,range:ar.Range.create(ar.Position.create(Number.parseInt(s),Number.parseInt(o)),ar.Position.create(Number.parseInt(a),Number.parseInt(c)))}},By=t=>{let e=Ar(t.uri);e&&(t.range=e.range,t.uri=e?.docUri,t.virtual=!0,t.linkedTo=t.linkedTo.map(({range:r,uri:n})=>{let i=Ar(n);return{range:i?.range??r,uri:i?.docUri??n,templateStrings:[]}}))},W=(t,e,r=e,n,{severity:i=ar.DiagnosticSeverity.Error,linkedTo:s=[],tags:o,templateStrings:a=[],edit:c,codeActionTitle:l,inclusiveStart:u,inclusiveEnd:d}={severity:ar.DiagnosticSeverity.Error,linkedTo:[],templateStrings:[]})=>{let f={issues:Array.isArray(t)?t:[t],range:Wr(e,r,u,d),uri:e.uri,severity:i,linkedTo:s.map(({range:h,uri:T})=>({range:h,uri:T,templateStrings:[]})),tags:o,templateStrings:a,edit:c,codeActionTitle:l};By(f);let p,g=()=>(p??={severity:f.severity,range:f.range,message:f.issues?f.issues.map(eU).join(" or "):"",source:"devicetree",tags:f.tags,data:{firstToken:{pos:e.pos,tokens:e.tokens,value:e.value},lastToken:{pos:r.pos,tokens:r.tokens,value:r.value},type:"SyntaxIssue",items:f.issues,edit:f.edit,codeActionTitle:f.codeActionTitle,virtual:!!f.virtual}},p);return n?.syntaxIssues.push(g),{raw:f,diagnostic:g}},Lt=(t,e,r,n,{severity:i=ar.DiagnosticSeverity.Error,linkedTo:s=[],tags:o,templateStrings:a=[],edit:c,codeActionTitle:l,linkedToTemplateStrings:u=[]}={severity:ar.DiagnosticSeverity.Error,linkedTo:[],templateStrings:[],linkedToTemplateStrings:[]})=>{let d={issues:Array.isArray(t)?t:[t],range:Wr(e,r),uri:e.uri,severity:i,linkedTo:s.map(({range:g,uri:h},T)=>({range:g,uri:h,templateStrings:u.at(T)??[]})),tags:o,templateStrings:a,edit:c,codeActionTitle:l};By(d);let f,p=()=>(f??={severity:d.severity,range:d.range,message:tU(d),source:"devicetree",tags:d.tags,relatedInformation:[...d.linkedTo.map(g=>({message:d.issues.map(h=>rU(h,g.templateStrings)).join(" or "),location:{uri:de(g.uri),range:g.range}}))]},f);return n?.resetableIssues.push(p),{raw:d,diagnostic:p}},j=(t,e,r,n,{severity:i=ar.DiagnosticSeverity.Error,linkedTo:s=[],tags:o,templateStrings:a=[],edit:c,codeActionTitle:l}={severity:ar.DiagnosticSeverity.Error,linkedTo:[],templateStrings:[]})=>{let u={issues:Array.isArray(t)?t:[t],range:Wr(e,r),severity:i,uri:e.uri,linkedTo:s.map(({range:p,uri:g})=>({range:p,uri:g,templateStrings:[]})),tags:o,templateStrings:a,edit:c,codeActionTitle:l};By(u);let d,f=()=>(d??={severity:u.severity,range:u.range,message:nU(u),relatedInformation:[...u.linkedTo.map(p=>({message:u.issues.map(iU).join(" or "),location:{uri:de(p.uri),range:p.range}}))],source:"devicetree",tags:u.tags,data:{type:"StandardTypeIssue",firstToken:{pos:e.pos,tokens:e.tokens,value:e.value},lastToken:{pos:r.pos,tokens:r.tokens,value:r.value},edit:u.edit,codeActionTitle:u.codeActionTitle,items:u.issues,virtual:!!u.virtual}},d);return n?.resetableIssues.push(f),{raw:u,diagnostic:f}};function Ir(t,e,r,{severity:n=ar.DiagnosticSeverity.Warning,linkedTo:i=[],tags:s,templateStrings:o=[],edit:a,codeActionTitle:c}={severity:ar.DiagnosticSeverity.Warning,linkedTo:[],templateStrings:[],edit:[],codeActionTitle:void 0},l=r){let u={issues:Array.isArray(t)?t:[t],range:ar.Range.create(r,l),severity:n,uri:e,linkedTo:i.map(({range:p,uri:g})=>({range:p,uri:g,templateStrings:[]})),tags:s,templateStrings:o,edit:a,codeActionTitle:c},d;return{raw:u,diagnostic:()=>(d??={severity:u.severity,range:u.range,message:sU(u),relatedInformation:[...u.linkedTo.map(p=>({message:u.issues.map(oU).join(" or "),location:{uri:de(p.uri),range:p.range}}))],source:"devicetree",tags:u.tags,data:{type:"FormattingIssues",items:u.issues,edit:u.edit,codeActionTitle:u.codeActionTitle,virtual:!!u.virtual}},d)}}var Sw=(t,e)=>[...t].sort((n,i)=>{let s=e.getSortKey(n),o=e.getSortKey(i);if(s===void 0||o===void 0)throw new Error("Sort keys must be set");if(s!==o)return s-o;let a=n.lastToken,c=i.lastToken;return a.pos.line!==c.pos.line?a.pos.line-c.pos.line:a.pos.col-c.pos.col});async function _t(t,e,r){let n=Se(t.textDocument.uri);if(!e)return[];let i=performance.now(),o=(await e.getRuntime()).getDeepestAstNode(n,t.position),a=e.getSortKey(o?.ast);return console.log(`search: ${performance.now()-i}ms`),r(o,l=>{let u=t.position;if(le(l.uri,n)){let d=l.lastToken;return d.pos.line<u.line||d.pos.line===u.line&&d.pos.colEnd<=u.character}return a!==void 0&&(e.getSortKey(l)??-1)<=a})}function oe(t,e){return{start:t,end:e??t}}var H=(t,e)=>t?.tokens.some(r=>r===e),Qe=(t,e)=>r=>r?.value&&(e?.caseInsensitive?t.toLowerCase()===r.value.toLowerCase():t===r.value)?"yes":e?.allowPartial?Qj(t)(r):"no",Oe=t=>e=>e?.tokens.some(r=>r===t)?"yes":"no",Qj=t=>e=>e?.value&&t.startsWith(e.value)?"partial":"no",On=(t,e)=>!!t&&!!e&&t.pos.line===e.pos.line&&le(t.uri,e.uri),qt=(t,e)=>t?.tokens[0]===21&&e?.tokens[0]===21&&(t?.prevToken&&t.prevToken.value===e?.value||e?.prevToken&&e.prevToken.value===t?.value)?!0:!!t&&!!e&&t.pos.colEnd===e.pos.col&&On(t,e),df=t=>t.map((e,r)=>({index:r,context:e,files:e.getContextFiles()})),cn=(t,e,r,n)=>{if("id"in e){let s=t?.find(o=>o.id===e.id);return s||void 0}if("name"in e){let s=t?.find(o=>o.ctxNames.includes(e.name));return s||void 0}return r?.getContextFiles().find(s=>le(s,e.uri))?r:df(t).sort(s=>s.context.id===n?-1:0).find(s=>s.files.some(o=>le(o,e.uri)))?.context},Fy=(t,e)=>df(t).filter(n=>n.files.some(i=>le(i,e))).map(n=>n.context),Nw=t=>{let e=/^(\w+)\s+(.+)$/,r=/^(\w+)\(([^)]*)\)\s+(.+)$/,n=/^(\w+)\(([^)]*),\s*\.\.\.\)\s+(.+)$/,i;if(i=n.exec(t)){let[,,s,o]=i,a=s.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(i=r.exec(t)){let[,,s,o]=i,a=s.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(i=e.exec(t)){let[,,s]=i;return s.trim()}},Zj=0,af=(t,e)=>{let r=o=>o.replace(/(\w+)\s*##\s*(\w+)/g,(a,c,l)=>c+l),n=o=>o.replace(/#(\w+)/g,(a,c)=>`"${c}"`),i=t,s;do s=i,i=r(s),i=n(i),i=i.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()).map(d=>d==="__COUNTER__"?(Zj++).toString():d);return(e.get(a)?.resolver)(...u)}else if(l&&typeof e.get(l)?.resolver=="string")return e.get(l)?.resolver;return o});while(i!==s);return i};function jy(t){return t.replace(/'(.)'/g,(e,r)=>r.charCodeAt(0).toString()).replace(/(0x[a-f\d]+|\d+)[ul]*/gi,"$1")}function De(t){try{return(0,eval)(jy(t))}catch(e){console.log(e instanceof Error?e.message:e)}return t}var de=t=>Ly.default.pathToFileURL(t).toString(),Se=t=>rt(Ly.default.fileURLToPath(t)),kw=(t,e)=>{let r=(0,Go.relative)(t,e);return!!r&&!r.startsWith("..")&&!(0,Go.isAbsolute)(r)},le=(t,e)=>!t||!e?!1:t===e,rt=t=>(0,Go.normalize)(process.platform==="win32"?t.toLowerCase():t),ki=t=>(0,Tw.createHash)("sha256").update([rt(t.dtsFile),...t.includePaths.map(rt),...t.overlays.map(rt),t.bindingType,...t.zephyrBindings.map(rt),...t.deviceOrgBindingsMetaSchema.map(rt),...t.deviceOrgTreeBindings.map(rt),`showFormattingErrorAsDiagnostics-${t.showFormattingErrorAsDiagnostics}`].join(":")).digest("hex"),eU=t=>{switch(t){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 49:return"Node name shall start with a lower or upper case character";case 50:return"Node unit address should not start with 0x";case 51:return"Node unit address should not end with with ULL";case 8:return"Expected node address";case 9:return"Expected node path";case 48:return"Expected node path reference";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 52:return"Unknown Node Address syntax";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"}},tU=t=>t.issues.map(e=>{switch(e){case 0:return`Property "${t.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 "${t.templateStrings[0]}" has been defined`;case 8:return`No node with name "${t.templateStrings[0]}" could be found in "/${t.templateStrings[1]}".`;case 4:return`Label name "${t.templateStrings[0]}" already defined`;case 6:return`Property "${t.templateStrings[0]}" was deleted`;case 7:return`Node "${t.templateStrings[0]}" was deleted`;case 9:return`The following node "${t.templateStrings[1]}" shall be present in "${t.templateStrings[0]}" node.`;case 10:return`The following node "${t.templateStrings[0]}" address range collides with another node. Address start: "${t.templateStrings[1]}", end: "${t.templateStrings[2]}".`}}).join(" or "),rU=(t,e)=>{switch(t){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";case 10:return`Node "${e[0]}". Address start: "${e[1]}", end: "${e[2]}".`;default:return"TODO"}},nU=t=>t.issues.map(e=>{switch(e){case 9:return`Only these value are allowed ${t.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 ${t.templateStrings[1]} values`;case 0:return"INTRO is required";case 11:return"INTRO should be omitted";case 27:return"INTRO name is not permitted under this node";case 34:return"INTRO name is not defined in the type binding for 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 ${t.templateStrings[1]}'`;case 18:return"INTRO value must be unique in the entire Devicetree";case 19:return`INTRO should have format ${t.templateStrings[1]}`;case 16:return`INTRO requires property "${t.templateStrings[1]}" in node path "${t.templateStrings[2]}"`;case 17:return"Unable to resolve interrupt parent node";case 20:return`INTRO should have format ${t.templateStrings[1]}`;case 21:return"Node is disabled";case 22:return"Unable to resolve handle";case 23:return`Unable to find "${t.templateStrings[0]}" in ${t.templateStrings[1]}`;case 24:return t.templateStrings[0];case 25:return t.templateStrings[0];case 26:return t.templateStrings[0];case 28:return t.templateStrings[0];case 35:return"Unable to find mapping range for address";case 29:return`INTRO exceeds address space available for this mapping. The range ends at ${t.templateStrings[2]}, the node ends at ${t.templateStrings[1]}`;case 30:return"Map entry overlaps with others entries";case 31:return"Unable to match to a nexus map entry";case 32:return`Unknown node type "${t.templateStrings[0]}"`;case 33:return`Missing name for "${t.templateStrings[0]}" index ${t.templateStrings[1]}"`;case 36:return"Node address is missing";case 37:return`Binding should be used on bus type${t.templateStrings.length?"s":""}: ${t.templateStrings.join(" or ")}`}}).join(" or ").replace("INTRO",`Property "${t.templateStrings[0]}"`).replaceAll("INTRO ",""),iU=t=>{switch(t){case 16:case 0:return"Node";case 15:return"Ignored reason";case 18:return"Conflicting properties";case 8:return"Additional value";case 21:return"Disabled by";case 29:return"Mapping range";case 30:return"Map entry";case 31:return"Nexus map entries";case 33:return"Names property";case 35:return"Range property";default:return"TODO"}},sU=t=>t.issues.map(e=>{switch(e){case 4:return"Add end of line to end of file";case 1:return`${t.codeActionTitle}. Expecting ${t.templateStrings[0]}.`;case 0:return"Move to a new line";case 3:return"Remove trailing whitespace at the end of file.";case 2:return"Remove trailing whitespace at the end of the line.";case 5:return`Fix indentation. ${t.templateStrings.at(0)?.length===0?"No indentation expected":`Expecting ${t.templateStrings[0]}`}`;case 6:return`Move token "${t.templateStrings[0]}" next to expression`;case 7:return"Remove (...) enclosure. This expression should only be enclosed in the #define of the macro"}}).join(" or "),oU=t=>"TODO",on=(t,e)=>{let r=Math.max(t.length,e.length);for(let n=0;n<r;n++){let i=t[t.length-r+n]??0,s=e[e.length-r+n]??0;if(i<s)return-1;if(i>s)return 1}return 0},Qi=(t,e)=>{let r=Math.max(t.length,e.length),n=new Array(r).fill(0),i=0;for(let s=0;s<r;s++){let o=t[t.length-1-s]??0,a=e[e.length-1-s]??0,c=o+a+i;n[r-1-s]=c>>>0,i=c>4294967295?1:0}return i&&n.unshift(1),n},aU=(t,e)=>{let r=Math.max(t.length,e.length),n=new Array(r).fill(0),i=0;for(let s=0;s<r;s++){let o=t[t.length-1-s]??0,a=e[e.length-1-s]??0;o-=i,o<a?(o+=4294967296,i=1):i=0,n[r-1-s]=o-a>>>0}for(;n.length>1&&n[0]===0;)n.shift();return n},cU=(t,e)=>Qi(t,e),Rw=(t,e)=>{let r=[];for(let n of t){let i=n.childAddress,s=n.length,o=Qi(i,s);if(on(e,i)>=0&&on(e,o)<0){let a=aU(e,i),c=n.parentAddress,l=cU(c,a),u=Qi(c,s);r.push({start:l,end:u,range:Wr(n.rangeTokens.start,n.rangeTokens.end),uri:n.rangeTokens.start.uri})}}return r};function Pw(t){return Array.isArray(t)&&Array.isArray(t[0])}function bc(t){return!t||t instanceof In?t:bc(t.parentNode)}function ww(t,e){let r=t.getText(),n=e.slice().sort((s,o)=>{let a=t.offsetAt(s.range.start),c=t.offsetAt(o.range.start);if(a!==c)return c-a;let l=t.offsetAt(s.range.end),u=t.offsetAt(o.range.end);if(l!==u)return u-l;let d=a===l&&s.newText.length>0,f=c===u&&o.newText.length>0;return d!==f?d?1:-1:0}),i=r;for(let s of n){let o=t.offsetAt(s.range.start),a=t.offsetAt(s.range.end);i=i.slice(0,o)+s.newText+i.slice(a)}return i}function yw(t,e){return t.line<e.line?-1:t.line>e.line?1:t.character<e.character?-1:t.character>e.character?1:0}function Ew(t,e){return yw(t.end,e.start)>0&&yw(t.start,e.end)<0}var Dw=(t,e)=>{let r=Cw(t,e),n=Aw(t,e);r&&(t.topComment=r.comment),n&&(t.endComment=n.comment)},Cw=(t,e)=>{let r=e.find(i=>i.lastToken===t.firstToken.prevToken&&(i.lastToken.pos.line===t.firstToken.pos.line||i.lastToken.pos.line+1===t.firstToken.pos.line));if(!r||r.astBeforeComment)return;r.astAfterComment=t;let n=Cw(r,e);return n&&(n.comment.astAfterComment=t,r.astAfterComment=void 0),{comment:n?.comment??r,commentIsBefore:!0}},Aw=(t,e)=>{let r=e.find(i=>i.firstToken.prevToken===t.lastToken&&i.firstToken.pos.line===t.lastToken.pos.line);if(!r)return;r.astBeforeComment=t;let n=Aw(r,e);return n&&(n.comment.astBeforeComment=t,r.astBeforeComment=void 0),{comment:n?.comment??r,commentIsBefore:!1}},Ko=(t,e,r)=>{let n=[42,44,45,36];return r||n.push(52,32,8,49),t.severity===ar.DiagnosticSeverity.Error&&le(t.uri,e)&&!n.some(i=>t.issues.includes(i))};function ff(t){let e=t?.charAt(0);return!!e&&(e>="A"&&e<="Z"||e>="a"&&e<="z")}var xc=require("fs"),WD=require("path"),dT=$(U());var Mn=$(U());var Lw=$(U());var Iw=$(U());var ne=class extends Q{constructor(r,n){super(n);this.value=r;this.semanticTokenType="string",this.semanticTokenModifiers="declaration",this.docSymbolsMeta={name:this.value,kind:Iw.SymbolKind.String}}toString(){return`"${this.value.toString()}"`}toJson(){return this.value}serialize(){return{type:"STRING",value:this.value,uri:this.serializeUri,range:this.range,issues:this.serializeIssues}}};var Mw=$(U());var Ow=$(U());var cr=class extends Ee{constructor(r,n,i=10){super(n);this.value=r;this.radix=i;this.docSymbolsMeta={name:this.value.toString(),kind:Ow.SymbolKind.Number},this.semanticTokenType="number",this.semanticTokenModifiers="declaration"}resolve(r){return this.value.toString()}evaluate(r){return this.value}isTrue(r){return!!this.value}toString(r){return this.value.toString(r??this.radix)}toJson(){return this.value}toPrettyString(r){let n=this.value;return this.radix==16?`0x${n.toString(16)} /* ${typeof n=="number"?`${n.toString(10)}`:""} */`:`${n.toString(10)} /* ${typeof n=="number"?`0x${n.toString(16)}`:""} */`}serialize(){return{type:"NUMBER_VALUE",value:`${this.radix===16?"0x":""}${this.toString()}`,evaluated:this.value,uri:this.serializeUri,range:this.range,issues:this.serializeIssues}}};var jt=class extends Q{constructor(r){super();this.values=r;this.docSymbolsMeta={name:"Cell Array",kind:Mw.SymbolKind.Array},this.values.forEach(n=>this.addChild(n))}toString(){return`<${this.values.map(r=>r.toString()).join(" ")}>`}toPrettyString(r){return`<${this.values.map(n=>n.toPrettyString(r)).join(" ")}>`}toJson(){if(this.values.length===1)return this.values[0].value?.toJson();if(this.values.length===2&&this.values.every(r=>r.value instanceof cr)){let r=new ArrayBuffer(8),n=new DataView(r);return this.values.map(i=>i.value.value).forEach((i,s)=>{n.setUint32(s*4,i)}),n.getBigUint64(0)}return this.values.map(r=>r.value?.toJson()??NaN)}serialize(r){return{type:"ARRAY_VALUE",value:this.values.map(n=>n.value?.serialize(r)??null),uri:this.serializeUri,range:this.range,issues:this.serializeIssues}}};var xw=$(U());var Ri=class extends Q{constructor(r){super();this.values=r;this.docSymbolsMeta={name:"Byte String Value",kind:xw.SymbolKind.Array},this.values.forEach(n=>this.addChild(n))}toString(){return`[${this.values.map(r=>r.toString(16).padStart(2,"0")).join(" ")}]`}toJson(){return this.values.map(r=>r.value?.toJson()??NaN)}serialize(){return{type:"BYTESTRING",values:this.values.map(r=>r.value?{value:r.value.toString(16),range:r.value.range,evaluated:r.value.value}:null),uri:this.serializeUri,range:this.range,issues:this.serializeIssues}}};var Ze=class extends Q{constructor(r,n){super(n);this.name=r;this.semanticTokenType="property",this.semanticTokenModifiers="declaration"}toString(){return this.name}serialize(){return{value:this.name,uri:this.serializeUri,range:this.range,issues:this.serializeIssues}}},nt=class extends Q{constructor(r,n=[]){super();this.propertyName=r;this.labels=n;this._values=void 0;this.docSymbolsMeta={name:this.propertyName?.name??"Unknown",kind:Lw.SymbolKind.Property},this.labels.forEach(i=>this.addChild(i)),this.addChild(r)}set values(r){if(this._values)throw new Error("Only one property name is allowed");this._values=r,this.addChild(r)}get values(){return this._values}get quickValues(){return this.values?.values.map(r=>r?r.value instanceof ne?r.value.value:r.value instanceof jt?r.value.values.map(n=>n.value instanceof cr?n.value.value:NaN):r.value instanceof Ri?r.value.values.map(n=>n.value?.value??NaN):NaN:null)}getFlatAstValues(){return this.values?.values.flatMap(r=>r?r.value instanceof ne?r.value:r.value instanceof jt?r.value.values.map(n=>n.value):r.value instanceof Ri?r.value.values.map(n=>n.value):r.value:null)}toString(){return`${this.propertyName?.toString()??"__UNSET__"}${this.assignOperatorToken?` = ${this._values?.values.map(r=>r?.toString()??"NULL").join(", ")??"NULL"}`:""};`}toPrettyString(r){return`${this.propertyName?.toString()??"__UNSET__"}${this.assignOperatorToken?` = ${this._values?.values.map(n=>n?.toPrettyString(r)??"NULL").join(", ")??"NULL"}`:""};`}serialize(r){return{name:this.propertyName?.serialize()??null,values:this.values?.values.map(n=>n?.value?.serialize(r)??null)??null,uri:this.serializeUri,range:this.range,issues:this.serializeIssues}}};var qw=$(U());var vr=class extends Q{constructor(r,n){super();this.keyword=n;this.addChild(n),this.docSymbolsMeta={name:r,kind:qw.SymbolKind.Function}}};var Or=class extends vr{constructor(r){super("Delete Node",r);this._nodeNameOrRef=null}set nodeNameOrRef(r){if(this._nodeNameOrRef)throw new Error("Only one property name is allowed");this._nodeNameOrRef=r,this.addChild(r)}get nodeNameOrRef(){return this._nodeNameOrRef}};var ht=class extends vr{constructor(r){super("Delete Property",r);this._propertyName=null}set propertyName(r){if(this._propertyName)throw new Error("Only only property name is allowed");this._propertyName=r,this.addChild(r)}get propertyName(){return this._propertyName}};var $w=$(U());var ie=class extends Q{constructor(r){super();this.label=r;this.docSymbolsMeta={name:`&${this.label?.value??"NULL"}`,kind:$w.SymbolKind.Key},this.addChild(r)}get value(){return this.label?.value}toString(){return`&${this.label?.value??"NULL"}`}toJson(){return-1}serialize(){return{type:"LABEL_REF",label:this.label?.toString()??null,nodePath:this.linksTo?.pathString??null,uri:this.serializeUri,range:this.range,issues:this.serializeIssues}}};var lt=class t extends Q{constructor(){super()}get path(){if(!this.pathName)return["__UNDEFINED__"];if(!this.parentNode||this instanceof Dt)return[this.pathName];if(!(this.parentNode instanceof t))return;let e=this.parentNode.path;return e?[...e,this.pathName]:[this.pathName]}get pathName(){}get nodes(){return this.children.filter(e=>e instanceof t)}get deleteNodes(){return this.children.filter(e=>e instanceof Or)}addNodeChild(e){this.addChild(e)}},Dt=class extends lt{constructor(){super(),this.docSymbolsMeta={name:"/",kind:Mn.SymbolKind.Class}}get properties(){return this.children.filter(e=>e instanceof nt)}get name(){return new Me("/",oe(this.firstToken))}get deleteProperties(){return this.children.filter(e=>e instanceof ht)}get nodes(){return this.children.filter(e=>e instanceof Ge)}get pathName(){return"/"}serialize(e){return{type:"ROOT",properties:this.properties.map(r=>r.serialize(e)),nodes:this.nodes.map(r=>r.serialize(e)),uri:this.serializeUri,range:this.range,issues:this.serializeIssues}}},lr=class extends lt{constructor(r=[]){super();this.labels=r;this._reference=null;this.docSymbolsMeta={name:"DTC Name",kind:Mn.SymbolKind.Class},r.forEach(n=>{super.addChild(n)})}get serializeIssues(){return[...this.issues,...this.reference?.issues??[]].map(r=>r())}set reference(r){if(this._reference)throw new Error("Only on label reference is allowed");this._reference=r;let n;r instanceof ie?n=r.value:n=r?.path?.pathParts.at(-1)?.name??"DTC Name",this.docSymbolsMeta={name:n??"DTC Name",kind:Mn.SymbolKind.Class},this.addChild(r)}get path(){return this.resolveNodePath?this.resolveNodePath:super.path}get reference(){return this._reference}get nodes(){return this.children.filter(r=>r instanceof Ge)}get pathName(){if(this.reference instanceof ie&&this.reference.label?.value)return`&${this.reference.label.value}`}get properties(){return this.children.filter(r=>r instanceof nt)}get deleteProperties(){return this.children.filter(r=>r instanceof ht)}serialize(r){return{type:"REF",name:this.reference?.serialize()??null,properties:this.properties.map(n=>n.serialize(r)),nodes:this.nodes.map(n=>n.serialize(r)),uri:this.serializeUri,range:this.range,issues:this.serializeIssues}}},Ge=class t extends lt{constructor(r=[],n){super();this.labels=r;this.omitIfNoRef=n;this._name=null;this.docSymbolsMeta={name:"DTC Name",kind:Mn.SymbolKind.Class},n&&this.addChild(n),r.forEach(i=>{this.addChild(i)})}get serializeIssues(){return[...this.issues,...this.name?.issues??[]].map(r=>r())}set name(r){if(this._name)throw new Error("Only on label reference is allowed");this._name=r,this.docSymbolsMeta={name:this._name?.toString()??"DTC Name",kind:Mn.SymbolKind.Class},this.addChild(r)}get name(){return this._name}get nodes(){return this.children.filter(r=>r instanceof t)}get pathName(){return this._name?.toString()}get properties(){return this.children.filter(r=>r instanceof nt)}get deleteProperties(){return this.children.filter(r=>r instanceof ht)}serialize(r){return{type:"CHILD",name:this.name?.serialize()??null,properties:this.properties.map(n=>n.serialize(r)),nodes:this.nodes.map(n=>n.serialize(r)),uri:this.serializeUri,range:this.range,issues:this.serializeIssues}}},_c=class extends Q{constructor(r,n){super(n);this.address=r;this.semanticTokenType="variable",this.semanticTokenModifiers="declaration"}toString(){return this.address?.map((r,n)=>r.toString(16).padStart(n?8:0,"0")).join("")??"NaN"}serialize(){return{address:this.address,uri:this.serializeUri,range:this.range,issues:this.serializeIssues}}},Me=class extends Q{constructor(r,n,i){super(n);this.name=r;this._address=i;this.semanticTokenType="variable",this.semanticTokenModifiers="declaration"}get value(){return this.name}get address(){return this._address}set address(r){if(this._address)throw new Error("Address can only be set once");r&&(this.lastToken=void 0,this._address=r,r.forEach(n=>this.addChild(n)))}get fullAddress(){return this._address?[...this._address.flatMap(r=>r.address)]:void 0}toString(){return this._address!==void 0?`${this.name}@${this._address.map(r=>r.toString()).join(",")}`:this.name}buildSemanticTokens(r){let n=this.firstToken;if(!n.value)return;let i={...n,pos:{...n.pos,len:this.name.length}};r(Si("type"),Ni("declaration"),i,i),this.address!==void 0&&this.address.forEach(s=>{r(Si("decorator"),Ni("declaration"),s.firstToken,s.lastToken),s.buildSemanticTokens(r)})}get serializeIssues(){return[...this.issues,...this._address?.flatMap(r=>r.issues)??[]].map(r=>r())}serialize(){let r=this.firstToken;return{fullName:this.toString(),name:{name:this.name,uri:this.serializeUri,range:Mn.Range.create(Mn.Position.create(r.pos.line,r.pos.col),Mn.Position.create(r.pos.line,r.pos.colEnd)),issues:this.serializeIssues},address:this.address?.map(n=>n.serialize())??null,uri:this.serializeUri,range:this.range,issues:this.serializeIssues}}};var zD=require("path"),fn=$(U());var br=class extends Q{constructor(r,n,i,s){super();this.startLabels=r;this.value=n;this.endLabels=i;this.bits=s;this.startLabels.forEach(o=>{this.addChild(o)}),this.addChild(s),this.addChild(n),this.endLabels.forEach(o=>{this.addChild(o)})}toString(){return`${[this.value?.toString()??"NULL",...this.endLabels.map(r=>r.toString())].join(" ")}`}toPrettyString(r){return`${[this.value?.toPrettyString(r)??"NULL",...this.endLabels.map(n=>n.toString())].join(" ")}`}toJson(){return this.value?.toJson()}};var Ut=t=>t instanceof vr?!0:t instanceof lt?!1:t.parentNode?Ut(t.parentNode):!1;var Uy=t=>{if(t instanceof nt)return t;if(!(t instanceof lt))return t.parentNode?Uy(t.parentNode):void 0},Ws=t=>!t||t instanceof nt?!1:t instanceof br||Ws(t.parentNode),Yo=t=>[...t.map(e=>{if(e instanceof Ge||e instanceof Dt)return e.name;if(e instanceof lr)return e.reference})].filter(e=>!!e),Hy=(t,e)=>e?e.parentNode===t||Hy(t,e.parentNode):!1;var wt=$(U());var Bw=$(U());var xn=class extends Q{constructor(){super();this._pathParts=[]}addPath(r,n){this._pathParts.push(r),n&&this.addChild(n),this.addChild(r)}get pathParts(){return[...this._pathParts]}toString(){return this._pathParts.map(r=>r?.toString()??"<NULL>").join("/")}buildSemanticTokens(r){this._children.forEach(n=>{n instanceof Me?n.buildSemanticTokens(r):r(Si("operator"),Ni("declaration"),n.firstToken,n.lastToken)})}},it=class extends Q{constructor(r){super();this.path=r;this.docSymbolsMeta={name:`/${this.path?.toString()??""}`,kind:Bw.SymbolKind.Namespace},this.addChild(r)}toString(){return`&${this.path?.toString()??"NULL"}`}toJson(){return-1}serialize(){return{type:"NODE_PATH",nodePath:this.path?.toString()??null,uri:this.serializeUri,range:this.range,issues:this.serializeIssues}}};var Z=$(U());var Fw=require("path"),pf=$(U());var Pi=class extends Q{constructor(r,n){super();this.keyword=r;this.path=n;this.docSymbolsMeta={name:`Include ${n}`,kind:pf.SymbolKind.File},this.addChild(r),this.addChild(n)}get resolvedPath(){return this._resolvedPath}set resolvedPath(r){this.docSymbolsMeta={name:`Include ${r}`,kind:pf.SymbolKind.File},this._resolvedPath=r}},Xo=class extends Q{constructor(r,n,i){super(i);this._path=r;this.relative=n;this.docSymbolsMeta={name:(0,Fw.basename)(this.path),kind:pf.SymbolKind.File},this.semanticTokenType="string",this.semanticTokenModifiers="declaration"}get path(){return this.relative?this._path.slice(1,-1):this._path}};var ln=class extends Q{constructor(r){super();this.comments=r;r.forEach(this.addChild.bind(this))}toString(){return this.comments.map(r=>r.toString()).join(`
|
|
183
183
|
`)}},un=class extends Q{constructor(e){super(e),this.semanticTokenType="comment",this.semanticTokenModifiers="documentation"}toString(){let e,r=this.firstToken,n="";for(;r!==this.lastToken;)n+=r?.value.padStart(r.value.length+(e?r.pos.col-e.pos.colEnd:0)," "),e=r,r=r?.nextToken;r&&(n+=r?.value.padStart(r.value.length+(e?r.pos.col-e.pos.colEnd:0)," "));let i=n.match(/^\s*(?:(?:\/\/|\/\*+)\s*)?(.*?)\s*(?:\*\/)?\s*$/s);return i?i[1]:""}};var jw=$(U());var St=class extends Ee{constructor(r,n){super(n);this.name=r;this.docSymbolsMeta={name:this.name.toString(),kind:jw.SymbolKind.Variable},this.semanticTokenType="macro",this.semanticTokenModifiers="declaration"}toString(){return this.name}};var Rf=$(U());var Vy=$(U());var Zi=class extends Q{constructor(r,n){super(n);this.label=r;this.docSymbolsMeta={name:this.label.value,kind:Vy.SymbolKind.Constant},this.semanticTokenType="variable",this.semanticTokenModifiers="declaration",this.addChild(r)}toString(){return`${this.label.toString()}:`}},Qt=class extends Q{constructor(r,n){super(n);this.value=r;this.docSymbolsMeta={name:this.value,kind:Vy.SymbolKind.Variable},this.semanticTokenType="variable",this.semanticTokenModifiers="declaration"}buildSemanticTokens(r){let n=this.parentNode;if(!(n instanceof ie&&n.linksTo)){super.buildSemanticTokens(r);return}r(Si("type"),Ni("declaration"),this.firstToken,this.lastToken)}toString(){return`${this.value}`}};var ut=class extends Q{constructor(e){super(e),this.semanticTokenType="keyword",this.semanticTokenModifiers="declaration"}};var Uw=$(U());var hf=class extends Q{constructor(r){super();this.values=r;this.docSymbolsMeta={name:"Values",kind:Uw.SymbolKind.String},this.values.forEach(n=>this.addChild(n))}toString(){return this.values.map(r=>r?.toString()).join(",")}toJson(){return this.values.length===1?this.values[0]?.toJson():this.values.map(r=>r?.toJson())}};var Hw=$(U());var mf=class extends Q{constructor(r){super();this.keyword=r;this.addChild(r),this.docSymbolsMeta={name:"DTS Document version",kind:Hw.SymbolKind.Function}}};var ri=class extends Q{constructor(r,n){super();this.value=r;this.labels=n;this.labels.forEach(i=>{this.addChild(i)}),this.addChild(this.value)}toString(r){return`${this.labels.map(n=>n.toString()).join(" ")}${this.value?.toString(r)??"NULL"}`}toPrettyString(r){return`${this.labels.map(n=>n.toString()).join(" ")}${this.value?.toPrettyString(r)??"NULL"}`}};var gf=class extends Q{constructor(r,n){super(n);this.operator=r;this.semanticTokenType="operator",this.semanticTokenModifiers="declaration"}toString(){return this.operator}};var Vw=$(U());var Jo=class extends ut{toString(){return"..."}},ni=class extends Q{constructor(r,n){super();this.functionName=r;this.params=n;this.addChild(r),this.params.forEach(i=>this.addChild(i))}getDocumentSymbols(r){return le(this.uri,r)?[{name:this.functionName.name,kind:Vw.SymbolKind.Function,range:pe(this),selectionRange:pe(this),children:this.params.flatMap(n=>n.getDocumentSymbols(r))}]:[]}toString(){return`${this.functionName}(${this.params.map(r=>r.toString()).join(",")})`}};var es=class{constructor(){this.positionStack=[];this._issues=[];this.issueLengthPositionStack=[];this.moveEndOfLine=(e,r=!0,n=!1)=>{let i=e.pos.line;if(this.currentToken?.pos.line!==i||!le(this.currentToken?.uri,e.uri))return;let s=this.currentToken,o=s;for(;this.currentToken?.pos.line===i&&le(this.currentToken?.uri,e.uri);)o=this.moveToNextToken;return r&&this._issues.push(W(22,s,o,null)),n&&o?.value==="\\"&&o.nextToken?this.moveEndOfLine(o.nextToken,r):o};this.parsing=new Promise(e=>{setTimeout(()=>{this.parse().then(e)})})}reset(){this.issueLengthPositionStack=[],this.positionStack=[],this._issues=[]}get issues(){return this._issues}get stable(){return this.parsing}get done(){return this.peekIndex()>=this.tokens.length}get moveToNextToken(){let e=this.currentToken;if(e)return this.moveStackIndex(),e}enqueueToStack(){this.issueLengthPositionStack.push(this._issues.length),this.positionStack.push(this.peekIndex())}popStack(){let e=this.issueLengthPositionStack.pop()??0;e!==this._issues.length&&this._issues.splice(e),this.positionStack.pop()}mergeStack(){let e=this.issueLengthPositionStack.pop(),r=this.positionStack.pop();if(r===void 0||e===void 0)throw new Error("Index out of bounds");this.positionStack[this.positionStack.length-1]=r}peekIndex(e=1){let r=this.positionStack.at(-1*e);if(r===void 0)throw new Error("Index out of bounds");return r}get currentToken(){return this.tokens.at(this.peekIndex())}get prevToken(){let e=this.peekIndex()-1;if(e!==-1)return this.tokens[e]}moveStackIndex(){let e=this.positionStack.length-1;if(this.positionStack[e]===void 0)throw new Error("Index out of bounds");this.positionStack[e]!==this.tokens.length&&this.positionStack[e]++}checkConcurrentTokens(e){this.enqueueToStack();let r=[];return e.every(n=>{let i=this.currentToken,s=n(i),o=!1;return s!=="no"&&i&&(r.push(i),this.moveToNextToken,o=qt(i,this.currentToken)),s==="yes"&&o}),this.mergeStack(),r}consumeAnyConcurrentTokens(e){this.enqueueToStack();let r=[],n,i=!0;for(;e.some(s=>s(this.currentToken)==="yes"&&i);)r.push(this.currentToken),n=this.moveToNextToken,i=qt(n,this.currentToken);return this.mergeStack(),r}getDocumentSymbols(e){return this.allAstItems.flatMap(r=>r.getDocumentSymbols(e))}getWorkspaceSymbols(){return this.allAstItems.flatMap(e=>e.getWorkspaceSymbols())}buildSemanticTokens(e,r){let n=[],i=(s,o,a,c)=>{if(!a||!c||!le(a.uri,r)||!le(c.uri,r))return;let l=c.pos.colEnd-a.pos.col;n.push({line:a.pos.line,char:a.pos.col,length:c===a?c.pos.len:l,tokenType:s,tokenModifiers:o})};this.allAstItems.forEach(s=>{s.buildSemanticTokens(i)}),n.sort((s,o)=>s.line===o.line?s.char-o.char:s.line-o.line).forEach(s=>e.push(s.line,s.char,s.length,s.tokenType,s.tokenModifiers))}processCIdentifier(e,r,n=!1){this.enqueueToStack();let i=this.consumeAnyConcurrentTokens([19,47,48].map(Oe));if(!i.length){this.popStack();return}if(!i?.[0]?.value.match(/^[_A-Za-z]/)){this.popStack();return}let s=i.map(a=>a.value).join(""),o=new St(s,oe(i[0],i.at(-1)));if(n&&!e.has(o.name)){this.popStack();return}return!r&&o.name!=="defined"&&(e.get(o.name)||this._issues.push(W(42,o.firstToken,o.lastToken,o))),this.mergeStack(),o}isOperator(){this.enqueueToStack();let e=this.moveToNextToken;if(!e){this.popStack();return}let r=e,n;if(H(e,40)?(n="&",H(this.currentToken,40)&&(n="&&",r=this.moveToNextToken)):H(e,6)?(n="!",H(this.currentToken,0)&&(n="!=",r=this.moveToNextToken)):H(e,10)?n="~":H(e,8)?(n="|",H(this.currentToken,8)&&(n="||",r=this.moveToNextToken)):H(e,9)?n="^":H(e,4)?(n=">",H(this.currentToken,4)?(n="<<",r=this.moveToNextToken):H(this.currentToken,0)&&(n=">=",r=this.moveToNextToken)):H(e,5)?(n="<",H(this.currentToken,5)?(n=">>",r=this.moveToNextToken):H(this.currentToken,0)&&(n="<=",r=this.moveToNextToken)):H(e,15)?n="+":H(e,16)?n="-":H(e,17)?n="*":H(e,13)?n="/":H(e,18)?n="%":H(e,46)?H(this.currentToken,46)&&(n="##",r=this.moveToNextToken):H(e,0)&&H(this.currentToken,0)&&(n="==",r=this.moveToNextToken),n){let i=new gf(n,oe(e,r));return this.mergeStack(),i}this.popStack()}parseScopedBlock(e,r,n){this.enqueueToStack();let i=this.moveToNextToken;if(!i||!e(i)){this.popStack();return}let s=this.peekIndex(),o=()=>{this.positionStack[this.positionStack.length-1]=s},a=g=>g.flatMap(h=>"items"in h?a(h.items):h),c=[i],l=[],u=[];u[0]={rewind:o,tokens:[]};let d=this.currentToken;for(;d&&!r(d);){if(n?.(d)){let g=this.peekIndex()+1,h=()=>{this.positionStack[this.positionStack.length-1]=g};c.push(d),l.push(d),u[u.length]={rewind:h,tokens:[]}}else if(e(d)){let g=this.parseScopedBlock(e,r,n);g&&(c.push(g),u[u.length-1].tokens.push(...a(g.items))),d=this.currentToken;continue}else c.push(d),u[u.length-1].tokens.push(d);this.moveToNextToken,d=this.currentToken}let f=d;f&&r(f)&&(this.moveToNextToken,c.push(f));let p={startToken:i,items:c,splitTokens:u,endToken:f,separatorTokens:l};return this.mergeStack(),p}isFunctionCall(e){this.enqueueToStack();let r=this.processCIdentifier(e,!1);if(!r){this.popStack();return}if(!qt(r.lastToken,this.currentToken)){this.popStack();return}let n=this.processMacroCallParams();if(!n){this.popStack();return}if(r.name==="defined")n.length>1?this._issues.push(W(44,r.firstToken,r.lastToken,r)):n.length<1&&this._issues.push(W(45,r.firstToken,r.lastToken,r));else{let s=e.get(r.name)?.macro;s&&(s?.identifier instanceof ni?s.identifier.params.at(-1)instanceof Jo||(n.length>s.identifier.params.length?this._issues.push(W(44,r.firstToken,r.lastToken,r,{linkedTo:[s]})):n.length<s.identifier.params.length&&this._issues.push(W(45,r.firstToken,r.lastToken,r,{linkedTo:[s]}))):this._issues.push(W(43,r.firstToken,r.lastToken,r)))}let i=new In(r,n);return i.lastToken=this.prevToken,this.mergeStack(),i}processHex(){this.enqueueToStack();let e=this.checkConcurrentTokens([Qe("0"),Qe("x",{caseInsensitive:!0})]);if(e.length!==2){this.popStack();return}let r=this.consumeAnyConcurrentTokens([19,20].map(Oe));if(!r.length){this.popStack();return}let n=Number.parseInt(r.map(s=>s.value).join(""),16),i=new cr(n,oe(e[0],r.at(-1)),16);return this.mergeStack(),i}processDec(e=!1){this.enqueueToStack();let r;e&&(H(this.currentToken,16)||H(this.currentToken,15))&&qt(this.currentToken,this.currentToken?.nextToken)&&(r=this.moveToNextToken);let n=this.consumeAnyConcurrentTokens([19].map(Oe));if(!n.length){this.popStack();return}let i=Number.parseInt(n.map(o=>o.value).join(""),10);r&&H(r,16)&&(i=4294967295-i);let s=new cr(i,oe(r??n[0],n.at(-1)),10);return this.mergeStack(),s}processEnclosedExpression(e,r){this.enqueueToStack();let n,i;if(H(this.currentToken,42)){let s;n=this.moveToNextToken,i=n;let o=this.processExpression(e,r,!0);return o&&(s=new Zn(o,!0),o=new Zn(s,!1),s.openBracket=n),H(this.currentToken,43)?(i=this.moveToNextToken,s&&(s.closeBracket=i)):n&&this._issues.push(W(26,n,n,r)),this.mergeStack(),o}this.popStack()}processExpression(e,r,n=!1){this.enqueueToStack();let i,s;if(n&&(s=this.isOperator()),i=this.processEnclosedExpression(e,r)||this.isFunctionCall(e)||this.processCIdentifier(e,!1)||this.processHex()||this.processDec(!0),!i){this.popStack();return}if(s&&(i.operator=s),n){let o=this.isOperator();for(;o;){let a=this.processExpression(e,r,!0);a?i instanceof Zn?i.addExpression(o,a):i=new Zn(i,!1,{operator:o,expression:a}):this._issues.push(W(27,o.firstToken,o.lastToken,r)),o=this.isOperator()}}return this.mergeStack(),i}processMacroCallParams(){if(!H(this.currentToken,42))return;let e=this.parseScopedBlock(n=>!!H(n,42),n=>!!H(n,43),n=>!!H(n,24));return e?.items.length===2&&H(e.endToken,43)?[]:e?.splitTokens.map((n,i)=>{if(n.tokens.length===0)return null;let s=new ei(n.tokens.map((o,a)=>{let c=o.value;return o.pos.line===n.tokens.at(a+1)?.pos.line?c=c.padEnd(n.tokens[a+1].pos.col-o.pos.col," "):o.value==="\\"&&(c=c.slice(0,-1)),c}).join(""),oe(n.tokens[0],n.tokens.at(-1)),i);return s.splitToken=e.separatorTokens.at(i),s})}};var Gy=require("fs"),Zo=require("path"),Ec=$(U());var Nc=require("fs");var ts=class t{constructor(e,r){this.text=e;this.uri=r;this.inComment=!1;this.lineNumber=0;this.columnNumber=0;this._tokens=[];let n=this.text.replace(/\r\n/g,`
|
|
184
184
|
`).trimEnd();this.lines=n.split(`
|
|
185
185
|
`);for(let i=0;i<this.lines.length;i++)this.lines[i]+=`
|
|
@@ -190,7 +190,7 @@ ${r.comment}`:r.comment}this.doc.range[2]=r.offset;break}default:this.errors.pus
|
|
|
190
190
|
`),o=dU(e,s),a=uU(e,r),c=(await Promise.all(e.flatMap(async f=>await tE(t,f,r,a,s)))).flat();if(t.options.insertFinalNewline&&s.at(-1)?.trim()!==""){let f=Z.TextEdit.insert(Z.Position.create(s.length,s[s.length-1].length),`
|
|
191
191
|
`);c.push(Ir(4,r,Z.Position.create(s.length,0),{edit:f,codeActionTitle:"Insert new line"}))}if(t.options.trimFinalNewlines){let f=0;for(;s.at(-(1+f))?.trim()==="";)f++;if(f>1){let p=Z.TextEdit.del(Z.Range.create(Z.Position.create(s.length-f,0),Z.Position.create(s.length-1,0)));c.push(Ir(3,r,Z.Position.create(s.length,0),{edit:p,codeActionTitle:"Remove trailing EOF lines"}))}}let l=c.flatMap(f=>f.raw.edit).filter(f=>!!f);if(t.options.trimTrailingWhitespace){let f=fU(s,l,r);c.push(...f)}let u=o.length?c.filter(f=>(Array.isArray(f.raw.edit)?f.raw.edit:f.raw.edit?[f.raw.edit]:void 0)?.every(g=>!Jw(g.range.start,o)&&!Jw(g.range.end,o))):c;"range"in t&&(u=u.filter(f=>vw(t.range,f.raw.range)));let d=()=>{let f=u.flatMap(p=>p.raw.edit).filter(p=>!!p);return ww(Qn.create(r,"devicetree",0,n),f)};return i==="New Text"?d():i==="File Diagnostics"?u:{text:d(),diagnostic:u}}async function wf(t,e,r,n){let i=Se(t.textDocument.uri);e.formattingOptions=t.options;let s=await e.getRuntime(),o=s.fileTopMostAsts(i);if(s.includes.filter(c=>le(c.resolvedPath,i)).length>1){let c=[];o.forEach(l=>{c.some(u=>u.firstToken.pos.line===l.firstToken.pos.line&&u.firstToken.pos.col===l.firstToken.pos.col)||c.push(l)}),o=c}return Qw(t,o,i,r,n)}var dU=(t,e)=>{let r=Z.Position.create(e.length-1,e.at(-1)?.length??0),n=[],i;return t.filter(o=>(o instanceof ln||o instanceof un)&&/^dts-format (on|off)$/.test(o.toString().trim())).sort((o,a)=>o.firstToken.pos.line-a.firstToken.pos.line).forEach(o=>{let a=o.toString().trim();if(a==="dts-format off")i={start:Z.Position.create(o.firstToken.pos.line,o instanceof ln?o.firstToken.pos.colEnd:0)};else if(a==="dts-format on"&&i){let c=Z.Position.create(o.lastToken.pos.line,o instanceof ln?o.lastToken.pos.colEnd-1:e[o.lastToken.pos.line-1].length);n.push(Z.Range.create(i.start,c)),i=void 0}}),i&&n.push(Z.Range.create(i.start,r)),n};function Xw(t,e){return t.line<e.line?-1:t.line>e.line?1:t.character<e.character?-1:t.character>e.character?1:0}var Jw=(t,e)=>e.some(r=>Xw(t,r.start)>=0&&Xw(t,r.end)<=0),fU=(t,e,r)=>{let n=[];return t.forEach((i,s)=>{let o=i.trimEnd();if(o.length!==i.length){let a=Z.Range.create(Z.Position.create(s,o.length),Z.Position.create(s,i.length));e.some(c=>Ew(a,c.range))||n.push(Ir(2,r,a.start,{edit:Z.TextEdit.del(a),codeActionTitle:"Remove whitespace"},a.end))}}),n},Ef=(t,e,r=1,n=!1,i=t.prevToken)=>{if(i){let s=t.pos.line-i.pos.line,o=s-r;if(o&&(s!==2&&r!==0||r===0||n)){let a=Z.Position.create(i.pos.line,i.pos.colEnd),c=Z.Position.create(t.pos.line-(r?1:0),r?e[t.pos.line-(r?1:0)].length:t.pos.col),l=Z.TextEdit.replace(Z.Range.create(a,c),`
|
|
192
192
|
`.repeat(r-(n?1:0)));return Ir(1,t.uri,a,{edit:l,codeActionTitle:o<0?"Insert new lines":"Remove unnecessary new lines",templateStrings:[r.toString()]},c)}}else if(t.pos.line){let s=Z.Position.create(0,0),o=Z.Position.create(t.pos.line,0),a=Z.TextEdit.del(Z.Range.create(s,o));return Ir(1,t.uri,s,{edit:a,codeActionTitle:"Remove unnecessary new lines",templateStrings:["0"]},o)}},Zw=(t,e,r,n="",i=1)=>{let s=t.pos.line===t.prevToken?.pos.line;if(t.prevToken&&s){let o=Z.Position.create(t.prevToken.pos.line,t.prevToken.pos.colEnd),a=Z.Position.create(t.pos.line,t.pos.col),c=Z.TextEdit.replace(Z.Range.create(o,a),`${`
|
|
193
|
-
`.repeat(i)}${"".padStart(e*r.length,r)}${n}`);return Ir(0,t.uri,o,{edit:c,codeActionTitle:"Move to new line"},a)}},Xy=(t,e,r,n,i="")=>{let s=`${"".padStart(e*r.length,r)}${i}`,o=Z.Position.create(t.pos.line,0),a=Z.Position.create(t.pos.line,t.pos.col),c=Z.Range.create(o,a),l=PU(n,c);if(s===l)return[];let u=Z.TextEdit.replace(c,s);return[Ir(5,t.uri,o,{edit:u,codeActionTitle:"Fix indentation",templateStrings:[s.replaceAll(" ","\xB7").replaceAll(" ","\u2192")]},a)]},vt=(t,e,r=1,n=!1)=>{if(!t.nextToken)return[];if(t.nextToken?.pos.line!==t.pos.line){if(n)return[];let c=Ef(t.nextToken,e,0);if(!c)throw new Error("remove new LinesEdit must be defined");return r&&(c.raw.edit.newText=`${" ".repeat(r)}${c.raw.edit.newText}`),[c]}if(r===0){if(t.nextToken.pos.col===t.pos.colEnd)return[];let c=Z.Position.create(t.pos.line,t.pos.colEnd),l=Z.Position.create(t.nextToken.pos.line,t.nextToken.pos.col),u=Z.TextEdit.del(Z.Range.create(c,l));return[Ir(1,t.uri,c,{edit:u,codeActionTitle:"Remove space(s)",templateStrings:["0"]},l)]}if(t.pos.colEnd===t.nextToken.pos.col){let c=Z.Position.create(t.nextToken.pos.line,t.nextToken.pos.col),l=Z.TextEdit.insert(c," ".repeat(r));return[Ir(1,t.uri,c,{edit:l,codeActionTitle:"Insert Space(s)",templateStrings:[r.toString()]})]}
|
|
193
|
+
`.repeat(i)}${"".padStart(e*r.length,r)}${n}`);return Ir(0,t.uri,o,{edit:c,codeActionTitle:"Move to new line"},a)}},Xy=(t,e,r,n,i="")=>{let s=`${"".padStart(e*r.length,r)}${i}`,o=Z.Position.create(t.pos.line,0),a=Z.Position.create(t.pos.line,t.pos.col),c=Z.Range.create(o,a),l=PU(n,c);if(s===l)return[];let u=Z.TextEdit.replace(c,s);return[Ir(5,t.uri,o,{edit:u,codeActionTitle:"Fix indentation",templateStrings:[s.replaceAll(" ","\xB7").replaceAll(" ","\u2192")]},a)]},vt=(t,e,r=1,n=!1)=>{if(!t.nextToken)return[];if(t.nextToken?.pos.line!==t.pos.line){if(n)return[];let c=Ef(t.nextToken,e,0);if(!c)throw new Error("remove new LinesEdit must be defined");return r&&(c.raw.edit.newText=`${" ".repeat(r)}${c.raw.edit.newText}`),[c]}if(r===0){if(t.nextToken.pos.col===t.pos.colEnd)return[];let c=Z.Position.create(t.pos.line,t.pos.colEnd),l=Z.Position.create(t.nextToken.pos.line,t.nextToken.pos.col),u=Z.TextEdit.del(Z.Range.create(c,l));return[Ir(1,t.uri,c,{edit:u,codeActionTitle:"Remove space(s)",templateStrings:["0"]},l)]}if(t.pos.colEnd===t.nextToken.pos.col){let c=Z.Position.create(t.nextToken.pos.line,t.nextToken.pos.col),l=Z.TextEdit.insert(c," ".repeat(r));return[Ir(1,t.uri,c,{edit:l,codeActionTitle:"Insert Space(s)",templateStrings:[r.toString()]})]}let i=t.nextToken.pos.col-t.pos.colEnd;if(i===r&&e[t.pos.line].slice(t.pos.colEnd,t.nextToken.pos.col)===" ".repeat(r))return[];let s=Z.Position.create(t.pos.line,t.pos.colEnd),o=Z.Position.create(t.nextToken.pos.line,t.nextToken.pos.col),a=Z.TextEdit.replace(Z.Range.create(s,o)," ".repeat(r));return[Ir(1,t.uri,s,{edit:a,codeActionTitle:i>r?"Remove space(s)":"Insert space(s)",templateStrings:[r.toString()]},o)]},Dc=(t,e)=>t.slice(1).flatMap(r=>r.firstToken.prevToken?vt(r.firstToken.prevToken,e):[]),pU=async(t,e,r,n,i,s,o)=>{if(!le(e.uri,r))return[];let a=[];if(a.push(...Gr(e.firstToken,n,i,s,void 0,e.firstToken.prevToken?.value==="{"&&!e.topComment||e.topComment?1:2,!0)),e instanceof Ge||e instanceof lr)if(a.push(...Dc(e.labels,s)),e instanceof Ge){e.labels.length&&e.name&&e.name.firstToken.prevToken&&a.push(...vt(e.name.firstToken.prevToken,s));let c=e.name&&e.openScope?vt(e.name.lastToken,s):[];a.push(...c)}else{e.labels.length&&e.reference?.firstToken.prevToken&&a.push(...vt(e.reference.firstToken.prevToken,s));let c=e.reference&&e.openScope?vt(e.reference.lastToken,s):[];a.push(...c)}else e instanceof Dt&&e.firstToken.value==="/"&&e.openScope&&a.push(...vt(e.firstToken,s,1));return a.push(...(await Promise.all(e.children.flatMap(c=>tE(t,c,r,o,s,n+1)))).flat()),e.closeScope&&(e.openScope&&e.closeScope.prevToken===e.openScope?a.push(...vt(e.openScope,s,0)):a.push(...Gr(e.closeScope,n,i,s,void 0,1,!0))),e.lastToken.value===";"&&e.closeScope&&a.push(...Df(e.closeScope,e.lastToken)),a},hU=(t,e,r,n,i,s)=>{let o=[];if(o.push(...Dc(e.labels,s)),e.labels.length&&e.value?.firstToken.prevToken&&o.push(...vt(e.value.firstToken.prevToken,s)),e.firstToken.prevToken)if(e.firstToken.pos.line!==e.firstToken.prevToken?.pos.line&&e.firstToken.prevToken!==i){let a=Ef(e.firstToken,s,1,!0);a&&o.push(a),o.push(...Xy(e.firstToken,r,n.singleIndent,s,Cc(n,t+4)))}else o.push(...vt(e.firstToken.prevToken,s,i&&e.firstToken.prevToken===i?0:1));return e.value instanceof Ee&&o.push(...Pf(e.value,s,r,n,t+4)),o},mU=(t,e,r,n,i)=>{let s=[];return e instanceof jt||e instanceof Ri?e.openBracket&&e.openBracket?.nextToken===e.closeBracket?s.push(...vt(e.openBracket,i,0)):(s.push(...e.values.flatMap(o=>hU(t,o,r,n,e.openBracket,i))),e.closeBracket?.prevToken&&(e.values.at(-1)?.lastToken===e.closeBracket?.prevToken||e.closeBracket?.prevToken.value==="/"&&e.closeBracket?.prevToken?.prevToken?.value==="*"?s.push(...vt(e.closeBracket.prevToken,i,e.closeBracket.prevToken===e.values.at(-1)?.lastToken?0:1)):s.push(...Gr(e.closeBracket,r,n.singleIndent,i)))):e instanceof Ee&&s.push(...Pf(e,i,r,n,t)),s},Pf=(t,e,r,n,i)=>t instanceof In?gU(t,e):t instanceof Zn?yU(t,e,r,n,i):[],gU=(t,e)=>{let r=[];return r.push(...vt(t.functionName.lastToken,e,0)),t.lastToken.value===")"&&t.lastToken.prevToken&&r.push(...vt(t.lastToken.prevToken,e,0)),r},yU=(t,e,r,n,i)=>{let s=[];if(t.openBracket&&t.openBracket.nextToken&&s.push(...vt(t.openBracket,e,0)),s.push(...Pf(t.expression,e,r,n,i)),t.join?.forEach(o=>{o.operator.firstToken.prevToken&&s.push(...vt(o.operator.firstToken.prevToken,e)),o.expression.firstToken.prevToken?.pos.line===o.expression.firstToken.pos.line?s.push(...vt(o.expression.firstToken.prevToken,e)):s.push(...Gr(o.expression.firstToken,r,n.singleIndent,e,Cc(n,i))),s.push(...Pf(o.expression,e,r,n,i))}),!t.join?.length&&!(t.expression instanceof Zn)&&(t.expression instanceof In||t.expression instanceof St)){let o=[];if(t.openBracket){let a=Z.Position.create(t.openBracket.pos.line,t.openBracket.pos.col),c=Z.Position.create(t.openBracket.pos.line,t.openBracket.pos.colEnd);o.push(Z.TextEdit.del(Z.Range.create(a,c)))}if(t.closeBracket){let a=Z.Position.create(t.closeBracket.pos.line,t.closeBracket.pos.col),c=Z.Position.create(t.closeBracket.pos.line,t.closeBracket.pos.colEnd);o.push(Z.TextEdit.del(Z.Range.create(a,c)))}s.push(Ir(7,t.uri,o[0].range.start,{edit:o,codeActionTitle:"Remove (...)"},o[o.length-1].range.end))}return t.closeBracket&&t.closeBracket.prevToken&&s.push(...vt(t.closeBracket.prevToken,e,0)),s},TU=(t,e,r,n,i)=>{let s=[];return s.push(...Dc(e.startLabels,i)),s.push(...mU(t,e.value,r,n,i)),s.push(...Dc(e.endLabels,i)),s},Cc=(t,e)=>{if(t.insertSpaces)return"".padStart(e," ");let r=Math.floor(e/t.tabSize),n=e%t.tabSize;return`${"".padStart(r," ")}${"".padStart(n," ")}`},vU=(t,e,r,n,i,s)=>{let o=[];return e.values.forEach((a,c)=>{if(!a)return[];let l=a.firstToken.prevToken,u=c?e.values.at(c-1):void 0;if(l)if(l.pos.line===a.firstToken.pos.line)if(l.value===","&&u?.lastToken.pos.line!==a.firstToken.pos.line&&l.prevToken?.pos.line!==a.firstToken.pos.line){let d=Zw(a.firstToken,r,n.singleIndent,Cc(n,t+3));d&&o.push(d)}else o.push(...vt(l,i,1));else if(s&&a.firstToken.prevToken===s)o.push(...vt(s,i));else{let d=Ef(a.firstToken,i,1,!0);d&&o.push(d),o.push(...Xy(a.firstToken,r,n.singleIndent,i,Cc(n,t+3)))}o.push(...TU(t,a,r,n,i)),a.nextValueSeparator&&o.push(...Df(a.lastToken,a.nextValueSeparator))}),o},bU=(t,e,r,n,i)=>{if(!le(t.uri,i))return[];let s=[];return s.push(...Gr(t.firstToken,e,r.singleIndent,n,void 0,void 0,t.firstToken.prevToken?.value==="{")),s.push(...Dc(t.labels,n)),t.labels.length&&t.propertyName?.firstToken.prevToken&&s.push(...vt(t.propertyName.firstToken.prevToken,n)),t.values&&(t.propertyName&&s.push(...vt(t.propertyName?.lastToken,n)),s.push(...vU(t.propertyName?.name.length??0,t.values,e,r,n,t.assignOperatorToken))),t.lastToken.value===";"&&s.push(...Df(t.children[t.children.length-1].lastToken,t.lastToken)),s},Gr=(t,e,r,n,i,s,o)=>{let a=[],c=Zw(t,e,r,i,s);if(c)a.push(c);else{let l=Ef(t,n,s,o);l&&a.push(l),a.push(...Xy(t,e,r,n,i))}return a},Df=(t,e)=>{if(t.pos.line===e.pos.line&&t.pos.colEnd+1===e.pos.colEnd)return[];if(t.nextToken===e){let s=Z.Position.create(t.pos.line,t.pos.colEnd),o=Z.Position.create(e.pos.line,e.pos.col),a=Z.TextEdit.del(Z.Range.create(s,o));return[Ir(1,t.uri,s,{edit:a,codeActionTitle:"Remove white space",templateStrings:["0"]},o)]}let r=Z.Position.create(t.pos.line,t.pos.colEnd),n=Z.Position.create(e.pos.line,e.pos.colEnd),i=[Z.TextEdit.insert(r,e.value),Z.TextEdit.del(Z.Range.create(Z.Position.create(e.prevToken?.pos.line??e.pos.line,e.prevToken?.pos.colEnd??e.pos.col),n))];return[Ir(6,t.uri,r,{edit:i,codeActionTitle:"Move token",templateStrings:[e.value]},n)]},_U=(t,e,r,n)=>{let i=[];i.push(...Gr(t.firstToken,e,r,n));let s=vt(t.keyword.lastToken,n);return i.push(...s),t.lastToken.value===";"&&i.push(...Df(t.children[t.children.length-1].lastToken,t.lastToken)),i},SU=(t,e,r,n,i)=>{if(r===void 0)return[];if(!le(t.uri,e))return[];let s=[];s.push(...Gr(t.firstToken,r.level,n,i));let o=vt(t.keyword.lastToken,i);return s.push(...o),s},NU=(t,e,r,n,i)=>t.comments.length===1&&t.firstToken.pos.line===t.firstToken.prevToken?.pos.line?[]:t.comments.flatMap((s,o)=>kU(s,t,e,r,n,o?o===t.comments.length-1?"last":"comment":"first",i)),eE=(t,e,r="")=>{let n=e?Uy(e):void 0;if(!n)return r;let i=Ws(e),s=n.propertyName?.name.length??0;return`${`${Cc(t,s+(i?4:3)+(r.length-r.trimStart().length))}`}${r.trimStart()}`},kU=(t,e,r,n,i,s,o)=>{if(!t.firstToken.prevToken)return Gr(t.firstToken,r?.level??0,n,i);if(t.firstToken.pos.line===t.firstToken.prevToken?.pos.line)return vt(t.firstToken.prevToken,i,1);if(r===void 0)return[];let a,c;s==="first"&&!e.astBeforeComment&&e.astAfterComment instanceof lt&&(a=!0,c=e.firstToken.prevToken?.value==="{"?1:2);let l=[],u="",d=t.toString();switch(s==="last"&&d.trim()!==""&&t.lastToken.prevToken&&(s="comment",l.push(...Gr(t.lastToken.prevToken,r?.level??0,n,i," "))),s){case"comment":u=t.firstToken.value==="*"?" ":" * ";break;case"first":break;case"last":u=" ";break}return r?.inAst instanceof lt?l.push(...Gr(t.firstToken,r?.level??0,n,i,u,c,a)):l.push(...Gr(t.firstToken,r?.level??0,n,i,eE(o,r?.inAst,u),c,a)),l},RU=(t,e,r,n,i)=>{if(!t.firstToken.prevToken)return Gr(t.firstToken,e?.level??0,r,n);if(t.firstToken.pos.line===t.firstToken.prevToken.pos.line)return[];let o,a;return!t.astBeforeComment&&t.astAfterComment instanceof lt&&(o=!0,a=t.firstToken.prevToken?.value==="{"?1:2),Gr(t.firstToken,e?.level??0,r,n,eE(i,e?.inAst),a,o)},tE=async(t,e,r,n,i,s=0)=>{let o=t.options.tabSize,a=t.options.insertSpaces,c=a?" ".repeat(o):" ",l={tabSize:o,insertSpaces:a,singleIndent:c};return e instanceof lt?pU(t,e,r,s,c,i,n):e instanceof nt?bU(e,s,l,i,r):e instanceof vr?_U(e,s,c,i):e instanceof Pi?SU(e,r,await n(e),c,i):e instanceof un?RU(e,await n(e),c,i,l):e instanceof ln?NU(e,await n(e),c,i,l):[]};function PU(t,e){let r=t[e.start.line],n=t[e.end.line];if(e.start.line===e.end.line)return r.substring(e.start.character,e.end.character);let i=t.slice(e.start.line+1,e.end.line);return[r.substring(e.start.character),...i,n.substring(0,e.end.character)].join(`
|
|
194
194
|
`)}function wU(t){switch(t){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"}}var Y=class{constructor(e,r,n="optional",i=void 0,s,o){this.name=e;this.type=r;this.def=i;this.additionalTypeCheck=o;this.hideAutoComplete=!1;this.list=!1;this.onHover=()=>({kind:wt.MarkupKind.Markdown,value:["### Type","**DTS native type** ",`${this.type.map(e=>e.types.map(wU).join(" or ")).join(",")}
|
|
195
195
|
|
|
196
196
|
`,...this.bindingType?["**Binding type** ",`${this.bindingType}
|
|
@@ -303,4 +303,4 @@ ${n}`]})]:[]}else if(e.keyword==="maxItems"||e.keyword==="minItems"){let a=s.get
|
|
|
303
303
|
${JSON.stringify(e)}
|
|
304
304
|
${n}`]})];let o=i.node.definitions[0]instanceof Dt?i.node.definitions[0]:i.node.definitions[0].name??i.node.definitions[0];return[j(25,o.firstToken,o.lastToken,o,{templateStrings:[`${e.message??"NO MESSAGE"}:
|
|
305
305
|
${JSON.stringify(e)}
|
|
306
|
-
${n}`]})]},NJ=(t,e)=>B$(t,e.split("/").filter(r=>r)),B$=(t,e)=>{if(e.length===0)return{node:t,remainingInstancePath:""};let r=e[0].split("@"),n=r[0],i=r.at(1)?.split(",").map(o=>Number.parseInt(o,16)),s=t.getNode(n,i);return s?B$(s,e.slice(1)):{node:t,property:t.getProperty(e[0]),remainingInstancePath:e.slice(1).join("/")}};var SS=class t{constructor(){this.schemaIdValidators=new Map;this.ajvMap=new Map}static getNodeCompatible(e){let n=e.getProperty("compatible")?.ast.values;if(!n?.values.some(i=>!(i?.value instanceof ne)))return n?.values.map(i=>(i?.value).value)}parseMetaSchema(e,r){Js.sync("**/*.yaml",{cwd:e}).forEach(i=>{i=(0,vS.resolve)(e,i);try{let s=_S.default.parse((0,bS.readFileSync)(i,"utf-8"));r.addMetaSchema(s),this.schemaIdValidators.set(s.$id,i)}catch{}})}parseBindings(e,r){Js.sync("**/*.yaml",{cwd:e}).forEach(i=>{i=(0,vS.resolve)(e,i);try{let s=_S.default.parse((0,bS.readFileSync)(i,"utf-8"));r.addSchema(s),this.schemaIdValidators.set(s.$id,i)}catch(s){console.warn(i,s.message)}})}getNodeTypes(e,r,n){let i=`${e.join(";")}::${r.join(";")}`,s=this.ajvMap.get(i);return s||(s=new j$.default({strict:!1,strictSchema:!1,strictNumbers:!1}),s.addMetaSchema(TS),this.ajvMap.set(i,s),e.forEach(c=>this.parseMetaSchema(c,s)),r.forEach(c=>this.parseBindings(c,s))),t.getNodeCompatible(n)?.map(c=>{try{let l=Array.from(this.schemaIdValidators.keys()).find(f=>f.endsWith(`/${c}.yaml#`));if(!l)return;let u=new Pm(s,l);u.bindingsPath=this.schemaIdValidators.get(l),u.compatible=c;let d=s.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)??[]}getBindings(){return Array.from(this.schemaIdValidators.keys())}},F$,NS=()=>(F$??=new SS,F$);var gu=require("path"),K$=require("fs"),Y$=$(require("path")),X$=$(vb());var Nn=$(U());var U$=()=>{let t=new Y("nonposted-mmio",z("EMPTY"),"optional");return t.description=["Specifies that direct children of this bus should use non-posted memory accesses (i.e. a non-posted mapping mode) for MMIO ranges."],t};function H$(){let t=ur();t.noMismatchPropertiesAllowed=!0;let e=t.properties.find(n=>n.name==="compatible");e.required=()=>"required";let r=t.properties.find(n=>n.name==="ranges");return r.required=()=>"required",t.addProperty(U$()),t}var V$=t=>{switch(t){case"string":return z("STRING");case"int":return z("U32");case"boolean":return z("EMPTY");case"array":return z("PROP_ENCODED_ARRAY");case"uint8-array":return z("BYTESTRING");case"string-array":return z("STRINGLIST");case"phandle":return z("U32");case"phandles":return z("PROP_ENCODED_ARRAY");case"phandle-array":return z("PROP_ENCODED_ARRAY");case"path":return z(["STRING","U32"]);case"compound":return z("ANY");default:return z("ANY")}},z$=(t,e)=>{switch(t){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(r=>typeof r=="number")?e:void 0;case"uint8-array":return Array.isArray(e)&&e.every(r=>typeof r=="number")?e:void 0;case"string-array":return Array.isArray(e)&&e.every(r=>typeof r=="string")?e:void 0;case"phandle":return;case"phandles":return;case"phandle-array":return;case"path":return;case"compound":return}},wm=(t,e)=>{if(e.extends??=[],e=e.include.reduce((r,n)=>{let i=t.find(s=>(0,gu.basename)(s.filePath)===n.name);if(i){let s=n["property-blocklist"],o=n["property-allowlist"];return e.extends?.push(...r.include.map(a=>(0,gu.basename)(a.name,".yaml"))),r.include=r.include.filter(a=>a!==n),kJ(t,i,r,s,o)??r}return console.warn(`Unable to find ${n.name}`),r},e),e["child-binding"]&&(e["child-binding"].include=J$(e["child-binding"].include),e["child-binding"]=wm(t,e["child-binding"])),!e.include.length)return e},kJ=(t,e,r,n=[],i)=>{let s=wm(t,e),o=wm(t,r);if(!s||!o)return;let a=new Set;Object.keys(s?.properties??{}).forEach(f=>a.add(f)),Object.keys(o?.properties??{}).forEach(f=>a.add(f));let c={};Array.from(a).forEach(f=>{let p=n?.some(h=>h===f)||i&&!i.some(h=>h===f)?void 0:s.properties?.[f]??void 0,g=o.properties?.[f]??void 0;(p||g)&&(c={...c,[f]:{...p??g}})}),o.properties=c,o.extends??=[],o.extends.push(...s.extends??[]);let l=new Set;return Object.keys(s).filter(f=>f.endsWith("-cells")).forEach(f=>l.add(f)),Object.keys(s).filter(f=>f.endsWith("-cells")).forEach(f=>l.add(f)),Array.from(l).forEach(f=>{let p=s[f]??[],g=o[f]??[];o[f]=Array.from([...p,...g])}),o["on-bus"]??=s["on-bus"],o.bus?o.bus.push(...s.bus??[]):o.bus=s.bus,o},J$=t=>t?typeof t=="string"?[{name:t}]:t.map(e=>typeof e!="string"?e:{name:e}):[],kS=class t{constructor(){this.typeCache=new Map;this.processedFolders=new Set;this.zephyrBindingCache=new Map}static getCompatibleKeys(e,r){return!r||!r.nodeType?.bus?.length?[e]:[...r.nodeType.bus.map(n=>`${e}::${n}`),e]}static getNodeCompatible(e){let i=e.getProperty("compatible")?.ast.values?.values.filter(s=>s&&s.value instanceof ne);if(i?.length)return i.map(s=>s?.value?{name:s.value.value,ast:s.value}:void 0)}getNodeTypes(e,r){let n=t.getNodeCompatible(e)?.filter(a=>a);if(!n?.length){if(e.name==="zephyr,user"){let a=r.split(":"),l=Array.from(this.zephyrBindingCache.keys()).filter(d=>a.some(f=>d.startsWith(f))).flatMap(d=>this.zephyrBindingCache.get(d)).find(d=>d.filePath.endsWith("/base.yaml")),u=l?RS(l,e):void 0;if(u){u.warnMismatchProperties=!1;let d=u.properties.find(f=>f.name==="compatible");d&&(d.required=()=>"optional")}return{type:[u??ss(e)],issues:[]}}return{type:[ss(e)],issues:[]}}let i=n.flatMap(a=>t.getCompatibleKeys(a.name,e.parent).map(c=>this.typeCache.get(r)?.get(c)?.(e)).filter(c=>!!c)),s=this.getBusTypes(),o=n.flatMap(a=>{let c=t.getCompatibleKeys(a.name,e.parent).some(l=>this.typeCache.get(r)?.has(l));if(!c){let l=s.filter(u=>this.typeCache.get(r)?.has(`${a.name}::${u}`));if(l.length)return j(37,a.ast.firstToken,a.ast.lastToken,a.ast,{templateStrings:l})}return c?[]:[j(32,a.ast.firstToken,a.ast.lastToken,a.ast,{severity:Nn.DiagnosticSeverity.Hint,tags:[Nn.DiagnosticTag.Unnecessary],templateStrings:[a.name]})]});return{type:i.length?i:[ss(e)],issues:o}}loadTypeAndCache(e,r){e=Array.isArray(e)?e:[e];let n=e.filter(o=>this.processedFolders.has(o)).flatMap(o=>Array.from(this.zephyrBindingCache.entries()).flatMap(([a,c])=>a.startsWith(o)?[c]:[]));n.push(...e.filter(o=>!this.processedFolders.has(o)).flatMap(o=>(this.processedFolders.add(o),Js.sync("**/*.yaml",{cwd:o,ignore:"test/*"}).map(c=>{if(c=(0,gu.resolve)(o,c),this.zephyrBindingCache.has(c))return this.zephyrBindingCache.get(c);try{let l=X$.default.parse((0,K$.readFileSync)(c,"utf-8")),u=J$(l?.include),d={...l,bus:l.bus?Array.isArray(l.bus)?l.bus:[l.bus]:void 0,include:u,rawInclude:[...u],filePath:c};return this.zephyrBindingCache.set(c,d),d}catch(l){console.warn(l)}}).filter(c=>!!c))));let i=n.map(o=>wm(n,o)).filter(o=>!!o&&!o.include.length),s=this.typeCache.get(r);s||(s=new Map,s.set("simple-bus",()=>H$()),this.typeCache.set(r,s)),RJ(i,s)}getBindings(e){return Array.from(this.typeCache.get(e)?.keys()??[]).map(r=>r.split("::",1)[0])}getBusTypes(){let e=Array.from(this.zephyrBindingCache.values()).flatMap(r=>r.bus?.filter(n=>!!n)??[]).filter(r=>!!r);return Array.from(new Set(e))}getDocumentLinks(e,r){let n=this.zephyrBindingCache.get(Se(e.uri));if(!n)return[];let i=e.getText();return n.rawInclude.map(o=>{let c=new RegExp(o.name).exec(i);if(c){let l=e.positionAt(c.index),u=e.positionAt(c.index+c[0].length),d=Array.from(this.zephyrBindingCache.keys()).find(f=>f.endsWith(`${Y$.default.sep}${o.name}`)&&r.some(p=>f.startsWith(p)));return d?{range:Nn.Range.create(l,u),target:de(d)}:void 0}}).filter(o=>!!o)}},W$,Ga=()=>(W$??=new kS,W$),RJ=(t,e)=>t.forEach(r=>{r.compatible&&e.set(r["on-bus"]?`${r.compatible}::${r["on-bus"]}`:r.compatible,n=>RS(r,n))}),RS=(t,e)=>{let r=ss(e);r.compatible=t.compatible,r.description=t.description,r.bindingsPath=t.filePath,r.bus=typeof t.bus=="string"?[t.bus]:Array.from(new Set(t.bus)),r.onBus=t["on-bus"],t.extends?.forEach(s=>r.extends.add(s)),r.warnMismatchProperties=!0;let i=Object.keys(t).filter(s=>s.endsWith("-cells")).map(s=>({specifier:s.replace(/-cells$/,""),values:t[s]}));if(r.cellsValues=i,Object.keys(t.properties??{}).forEach(s=>{let o=t.properties[s];PJ(r,s,o)}),t["child-binding"]){let s=t["child-binding"];r.childNodeType=o=>RS(s,o)}return r},PJ=(t,e,r)=>{let n=t.properties.find(i=>i.getNameMatch(e));if(n&&typeof n.name=="string"){n.required=()=>r.required?"required":"optional",n.values=()=>r.enum??[],n.constValue=z$(r.type,r.const),n.bindingType=r.type;let i=n.additionalTypeCheck;n.additionalTypeCheck=(s,o)=>[...G$(r,e,n)(s,o),...i?.(s,o)??[]]}else{let i=r.type==="compound"?n?.type:V$(r.type);i??=V$(r.type);let s=new Y(e,i,r.required?"required":"optional",void 0,r.enum);s.additionalTypeCheck=(o,a)=>{let c=[...n?.additionalTypeCheck?.(o,a)??[],...G$(r,e,s)(o,a)];return s.signatureArgs??=n?.signatureArgs,s.signatureArgsCyclic??=!!n?.signatureArgsCyclic,c},s.description=r.description?[r.description]:n?.description,s.bindingType=r.type,s.constValue=z$(r.type,r.const),t.addProperty(s)}},G$=(t,e,r)=>{let n=t;return(i,s)=>{let o=i.parent.root,a=[];if(n.const){let l=i.ast.quickValues;if(l?.length==1){let u=Array.isArray(n.const)?n.const:[n.const];if(!(Array.isArray(l[0])&&u.length===l[0].length&&l[0].every((f,p)=>typeof f=="number"&&Number.isNaN(f)||u[p]===f))){let f=i.ast.values??i.ast;a.push(j(24,f.firstToken,f.lastToken,f,{templateStrings:[`Binding expects values to be "${n.type}" with value: ${n.const}`]}))}}}if(n.deprecated&&a.push(j(14,i.ast.firstToken,i.ast.lastToken,i.ast,{severity:Nn.DiagnosticSeverity.Warning,tags:[Nn.DiagnosticTag.Deprecated],templateStrings:[i.name]})),(n.type==="phandle"||n.type==="phandles"||n.type==="path")&&xe(i.ast.values)?.forEach(u=>{dn(u,o)||a.push(j(22,u.firstToken,u.lastToken,u))}),n.type==="path"&&i.ast.values?.values.at(0)?.value instanceof ne){let l=i.ast.values?.values.at(0)?.value,u=[];l.value.split("/").every(d=>{let f=o.getNode(d);return f?u.push(d):a.push(j(23,l.firstToken,l.lastToken,l,{templateStrings:[d,`/${u.join("/")}`]})),!f})}let c=i.name.match(/^(.*)-(\d+)$/);if(n.type==="phandles"&&c){let l="";e.endsWith("-gpios")?l="gpio":l=n["specifier-space"]??c[1];let u=Number.parseInt(c[2],10),d=i.parent.getProperty(`${l}-names`);d&&(d.ast.quickValues?.at(u)||a.push(j(33,i.ast.firstToken,i.ast.lastToken,i.ast,{severity:Nn.DiagnosticSeverity.Warning,linkedTo:[d.ast],templateStrings:[i.name,u.toString()]})))}if(n.type==="phandle-array"){let l=xe(i.ast.values),u=0,d=[],f=0;for(;l&&u<l.length;){let p=l.at(u),g=dn(p,o);if(!g){let M=p??i.ast;a.push(j(22,M.firstToken,M.lastToken,M));break}let h="";e.endsWith("-gpios")?h="gpio":h=n["specifier-space"]??e.slice(0,-1);let T=g.getProperty(`#${h}-cells`);if(!T){a.push(j(16,i.ast.firstToken,i.ast.lastToken,i.ast,{linkedTo:[...g.nodeNameOrLabelRef],templateStrings:[i.name,`#${h}-cells`,`/${g.path.slice(1).join("/")}`]}));break}let S=T?$e(T,0,0,s)??0:0,_=g.nodeType?.cellsValues?.find(M=>M.specifier===h)?.values;if(d.push([`${f}_phandle`,..._?.map(M=>`${f}_${M}`)??[],...Array.from({length:S-(_?.length??0)},(M,F)=>`${f}_cell${S-(_?.length??0)?F:""}`)]),1+S>l.length-u){let M=p??i.ast;a.push(j(19,M.firstToken,M.lastToken,M,{templateStrings:[i.name,`<${d.at(-1).join(" ")}>`]}));break}u+=1+S;let v=l.slice(u-S,u),R={mappingValuesAst:v,specifierSpace:h,target:g};i.nexusMapsTo.push(R);let D=g.getProperty(`${h}-map`);if(D){let M=g.getNexusMapEntryMatch(h,s,v);M?.match?R.mapItem=M.match:a.push(j(31,M.entry.firstToken,M.entry.lastToken,M.entry,{linkedTo:[D.ast]}))}v.every(M=>M instanceof Ee)&&g.spesifierNexusMapping.push({expressions:v,node:i.parent,property:i});let B=i.parent.getProperty(`${h}-names`);p&&B&&(B.ast.quickValues?.at(f)||a.push(j(33,p.firstToken,l[u-1]?.lastToken,i.ast,{severity:Nn.DiagnosticSeverity.Warning,linkedTo:[B.ast],templateStrings:[i.name,f.toString()]}))),f++}d.push([`${f}_phandle`,`${f}_cell...`]),r.signatureArgs=d.map(p=>p.map(g=>Nn.ParameterInformation.create(g)))}return a}};var Q$=(t,e)=>{let r=t.zephyrBindings.join(":");return e==="Zephyr"&&Ga().loadTypeAndCache(t.zephyrBindings,r),{files:t,type:e,getNodeTypes:n=>{switch(e){case"Zephyr":return Ga().getNodeTypes(n,r);case"DevicetreeOrg":return{type:NS().getNodeTypes(t.deviceOrgBindingsMetaSchema,t.deviceOrgTreeBindings,n),issues:[]}}},getBindings:()=>{switch(e){case"Zephyr":return Ga().getBindings(r);case"DevicetreeOrg":return NS().getBindings()}},getBusTypes:()=>{switch(e){case"Zephyr":return Ga().getBusTypes();case"DevicetreeOrg":return[]}},getDocumentLinks(n){if(!n)return[];switch(e){case"Zephyr":return Ga().getDocumentLinks(n,t.zephyrBindings);case"DevicetreeOrg":return[]}}}};var Em=$(U());var wJ=t=>!t.lastToken.prevToken||!t.lastToken.prevToken.prevToken?[]:[{startLine:t.firstToken.pos.line,startCharacter:t.firstToken.pos.col,endLine:t.lastToken.prevToken.prevToken.pos.line,endCharacter:t.lastToken.prevToken.prevToken.pos.col,kind:Em.FoldingRangeKind.Comment}],PS=t=>!t.openScope||!t.closeScope?.prevToken?t.nodes.flatMap(PS):[{startLine:t.openScope.pos.line,startCharacter:t.openScope.pos.col,endLine:t.closeScope.prevToken.pos.line,endCharacter:t.closeScope.prevToken.pos.col,kind:Em.FoldingRangeKind.Region},...t.nodes.flatMap(PS)],Z$=t=>{let e=[];return[...t instanceof ns?t.ifBlocks.map(r=>({start:(r.expression??r.keyword).lastToken,end:r.content?.lastToken??(r.expression??r.keyword).lastToken})):[{start:(t.ifDef.identifier??t.ifDef.keyword).lastToken,end:t.ifDef.content?.lastToken}],t.elseOption?{start:t.elseOption.keyword.lastToken,end:t.elseOption.content?.lastToken}:null].forEach(r=>{!r||!r.end||e.push({startLine:r.start.pos.line,startCharacter:r.start.pos.col,endLine:r.end.pos.line,endCharacter:r.end.pos.colEnd,kind:Em.FoldingRangeKind.Region})}),e},EJ=t=>t instanceof lt?PS(t):t instanceof rs||t instanceof ns?Z$(t):t instanceof ln?wJ(t):[];function eB(t,e){return e.allAstItems.flatMap(r=>[r,...r.allDescendants]).filter(r=>le(r.uri,t)).flatMap(EJ)}var To=$(U());function DJ(t){if(!t||!(t.ast instanceof Me)&&!(t.ast instanceof Qt))return[];let e=r=>r.nodeType?.bindingsPath?[To.Location.create(de(r.nodeType.bindingsPath),To.Range.create(To.Position.create(0,0),To.Position.create(0,0)))]:[];return t.item instanceof X&&!Ut(t.ast)?e(t.item):t.ast instanceof Qt&&t.ast.parentNode instanceof ie&&t.ast.parentNode.linksTo?e(t.ast.parentNode.linksTo):t.ast instanceof Me&&t.ast.linksTo?e(t.ast.linksTo):[]}async function tB(t,e){return _t(t,e,r=>[...DJ(r)])}var Cm=require("fs");var CJ=(t,e)=>{Mr().reset(t),Mr().requestTokens(t,!0),e(t)},Dm=class{constructor(e,r,n){this.file=e;this.cb=r;this.hasDocumentOpen=n}#e=0;watch(){if(this.count++,this.count===1){console.log("create watch for",this.file);let e=this.file,r=this.cb;this.onChange=()=>{if(this.hasDocumentOpen(e)){console.log("skipping on change document is open",e);return}console.log("onChange",e),CJ(e,r)},(0,Cm.watchFile)(e,this.onChange)}}unwatch(){this.count===1&&(console.log("dispose watch for",this.file),(0,Cm.unwatchFile)(this.file,this.onChange),this.onChange=void 0),this.count--}get count(){return this.#e}set count(e){this.#e=e,e<0&&(this.#e=0,console.warn("unwatching an un watched file",this.file))}};var Yt=$(require("path")),wS=require("fs");var Gn=t=>{if(t)return Array.isArray(t)?t:[t]},AJ=t=>({...t,deviceOrgBindingsMetaSchema:Gn(t.deviceOrgBindingsMetaSchema),deviceOrgTreeBindings:Gn(t.deviceOrgTreeBindings),includePaths:Gn(t.includePaths),lockRenameEdits:Gn(t.lockRenameEdits),zephyrBindings:Gn(t.zephyrBindings),overlays:Gn(t.overlays)}),rB=t=>({...t,defaultDeviceOrgBindingsMetaSchema:Gn(t.defaultDeviceOrgBindingsMetaSchema),defaultDeviceOrgTreeBindings:Gn(t.defaultDeviceOrgTreeBindings),defaultIncludePaths:Gn(t.defaultIncludePaths),defaultLockRenameEdits:Gn(t.defaultLockRenameEdits),defaultZephyrBindings:Gn(t.defaultZephyrBindings),contexts:t.contexts?.map(AJ)}),kn=async(t,e=[],r)=>{let n=r?e.map(s=>Se(s.uri)).find(s=>kw(s,r)):void 0;return[...e.at(0)?[{replace:"${workspaceFolder}",uri:n??Se(e[0].uri)}]:[],...e.map(s=>({replace:`\${workspaceFolder:${s.name}}`,uri:Se(s.uri)}))].forEach(s=>t=t.replaceAll(s.replace,s.uri)),t},Is={defaultBindingType:"Zephyr",defaultZephyrBindings:[],defaultIncludePaths:[],defaultDeviceOrgBindingsMetaSchema:[],defaultDeviceOrgTreeBindings:[],contexts:[],defaultLockRenameEdits:[],allowAdhocContexts:!0,autoChangeContext:!0,defaultShowFormattingErrorAsDiagnostics:!0},ES=async(t,e,r)=>{let n=await kn(t.cwd??"${workspaceFolder}",r,t.dtsFile)??e.cwd,i=await Promise.all((t.includePaths??e.defaultIncludePaths).map(p=>kn(p,r,t.dtsFile))),s=await Promise.all((t.zephyrBindings??e.defaultZephyrBindings).map(p=>kn(p,r,t.dtsFile))),o=t.bindingType??e.defaultBindingType,a=await Promise.all((t.deviceOrgTreeBindings??e.defaultDeviceOrgTreeBindings).map(p=>kn(p,r,t.dtsFile))),c=await Promise.all((t.deviceOrgBindingsMetaSchema??e.defaultDeviceOrgBindingsMetaSchema).map(p=>kn(p,r,t.dtsFile))),l=await Promise.all((t.lockRenameEdits??e.defaultLockRenameEdits).map(p=>kn(p,r,t.dtsFile)));n&&o==="Zephyr"&&(!s||s.length===0)&&(s=["./zephyr/dts/bindings"]);let u=t.dtsFile,d=t.overlays??[],f=t.compileCommands;return n&&(s=s.map(p=>(0,Yt.resolve)(n,p)).filter(p=>(0,wS.existsSync)(p)),a=a?.map(p=>(0,Yt.resolve)(n,p)),c=c.map(p=>(0,Yt.resolve)(n,p)),i=i.map(p=>(0,Yt.resolve)(n,p)),u=(0,Yt.resolve)(n,u),d=d.map(p=>(0,Yt.resolve)(n,p)),l=l.map(p=>(0,Yt.resolve)(n,p)),f=f?(0,Yt.resolve)(n,f):void 0),{ctxName:t.ctxName??(0,Yt.basename)(u),cwd:n?rt(n):void 0,includePaths:i.map(rt),zephyrBindings:s.map(rt),bindingType:o,deviceOrgTreeBindings:a.map(rt),deviceOrgBindingsMetaSchema:c.map(rt),dtsFile:rt(u),overlays:d.map(rt),lockRenameEdits:l.map(rt),compileCommands:f?rt(f):void 0,showFormattingErrorAsDiagnostics:t.showFormattingErrorAsDiagnostics??e.defaultShowFormattingErrorAsDiagnostics}},yu=async(t,e)=>{let r=t.cwd?await kn(t.cwd,e):void 0,n=t.defaultBindingType,i=t.defaultDeviceOrgBindingsMetaSchema=await Promise.all((t.defaultDeviceOrgBindingsMetaSchema??[]).map(d=>kn(d,e))),s=t.defaultDeviceOrgTreeBindings=await Promise.all((t.defaultDeviceOrgTreeBindings??[]).map(d=>kn(d,e))),o=t.defaultIncludePaths=await Promise.all((t.defaultIncludePaths??[]).map(d=>kn(d,e))),a=t.defaultZephyrBindings=await Promise.all((t.defaultZephyrBindings??[]).map(d=>kn(d,e))),c=t.defaultLockRenameEdits=await Promise.all((t.defaultLockRenameEdits??[]).map(d=>kn(d,e)));r&&(o=t.defaultIncludePaths=(t.defaultIncludePaths??[]).map(d=>(0,Yt.resolve)(r,d)),n==="Zephyr"&&!t.defaultZephyrBindings&&(a=["./zephyr/dts/bindings"]),a=a.map(d=>(0,Yt.resolve)(r,d)),i=i.map(d=>(0,Yt.resolve)(r,d)),s=(t.defaultDeviceOrgTreeBindings??[]).map(d=>(0,Yt.resolve)(r,d)),c=c.map(d=>(0,Yt.resolve)(r,d)));let l={cwd:r,defaultDeviceOrgBindingsMetaSchema:i,defaultDeviceOrgTreeBindings:s,defaultIncludePaths:o,defaultZephyrBindings:a,defaultLockRenameEdits:c,defaultBindingType:n,autoChangeContext:t.autoChangeContext??Is.autoChangeContext,allowAdhocContexts:t.allowAdhocContexts??Is.allowAdhocContexts,defaultShowFormattingErrorAsDiagnostics:t.defaultShowFormattingErrorAsDiagnostics??Is.defaultShowFormattingErrorAsDiagnostics},u=(await Promise.all(t.contexts?.map(d=>ES(d,l,e))??[])).filter(d=>[d.dtsFile,...d.overlays].every(f=>(0,wS.existsSync)(f)&&Yt.default.isAbsolute(f)));return{...l,contexts:u}};var nB=t=>`DT_PROP(${DS(t.parent)}, ${t.name.replaceAll("-","_")}))`,iB=t=>t.parent.labels.map(e=>`DT_PROP(DT_NODELABEL(${e.label.toString()}), ${t.name.replaceAll("-","_")})`);var DS=t=>`DT_PATH(${t.path.slice(1).map(e=>e.replace("@","_").replaceAll("-","_")).join(",")})`,sB=t=>t.labels.map(e=>`DT_NODELABEL(${e.label.toString()})`),oB=t=>{let e=[];return ii.getNodeFromPath(["aliases"],t.root)?.properties.filter(i=>{if(i.ast.quickValues?.at(0)===t.pathString)return!0;let s=i.ast.values?.values.at(0)?.value;if(s instanceof ie&&s.linksTo===t||s instanceof it&&s.path?.pathParts.at(-1)?.linksTo===t)return!0})?.forEach(i=>e.push(`DT_ALIAS(${i.name.replaceAll("-","_")})`)),e};function IJ(t,e){if(!t||!(t.item instanceof Ye)||!(t.ast instanceof Ze))return[];let r=[];return e.settings.bindingType==="Zephyr"&&(r.push({type:"dt_zephyr_macro_prop_node_path",data:nB(t.item)}),iB(t.item).forEach(n=>{r.push({type:"dt_zephyr_macro_prop_node_label",data:n})})),r}function OJ(t,e){if(!t||t.item===null)return[];let r;if(t.item instanceof X?r=t.item:t.ast.parentNode instanceof ie&&t.ast.parentNode.linksTo?r=t.ast.parentNode.linksTo:t.ast instanceof Me&&t.ast.linksTo&&(r=t.ast.linksTo),!r)return[];let n=[{type:"path",data:r.pathString}];return e.settings.bindingType==="Zephyr"&&(sB(r).forEach(i=>{n.push({type:"dt_zephyr_macro_node_label",data:i})}),n.push({type:"dt_zephyr_macro_node_path",data:DS(r)}),oB(r).forEach(i=>{n.push({type:"dt_zephyr_macro_prop_node_alias",data:i})})),n}async function aB(t,e){return e?_t(t,e,r=>[...OJ(r,e),...IJ(r,e)]):[]}var cB=$(U());function MJ(t){return!t||!(t.item instanceof Ye)?void 0:t.item.parent.nodeType?.getSignatureHelp?.(t.item,t.ast,t.beforeAst,t.afterAst)}async function xJ(t){let e=bc(t?.ast);if(!e||!e.params.length||!t?.ast||t.ast===e.functionName)return;let n=(await t.runtime.context.getAllParsers()).at(-1).cPreprocessorParser.macros.get(e.functionName.name)?.macro.identifier;if(!n||!(n instanceof ni))return;let i=n.params.map(o=>({label:o instanceof St?o.name:"..."})),s=e.params.find(o=>o&&(t.ast===o||o.isAncestorOf(t.ast)));return s??=t.afterAst?e.params.find(o=>o&&(t.afterAst===o||o.isAncestorOf(t.afterAst))):void 0,s??=t.beforeAst?e.params.find(o=>o&&(t.beforeAst===o||o.isAncestorOf(t.beforeAst))):void 0,{signatures:[cB.SignatureInformation.create(`${e.functionName.name}(${i.map(o=>o.label).join(", ")})`,void 0,...i.flat())],activeSignature:0,activeParameter:s?e.params.indexOf(s):void 0}}async function lB(t,e){if(e)return(await _t(t,e,async r=>[await xJ(r)||MJ(r)])).at(0)}var uB=require("timers"),dB=require("events");var CS=class extends dB.EventEmitter{constructor(e=3e3,r=1e3){super(),this.thresholdBytes=e*1024*1024,this.interval=(0,uB.setInterval)(()=>{let n=process.memoryUsage().heapUsed;n>this.thresholdBytes&&this.emit("thresholdExceeded",{usedMb:(n/1024/1024).toFixed(2),thresholdMb:e})},r)}stop(){clearInterval(this.interval)}},LJ=new CS(3e3),fB=()=>{LJ.on("thresholdExceeded",({usedMb:t,thresholdMb:e})=>{console.warn(`[HeapMonitor] Heap usage exceeded ${e}MB: ${t}MB used`),Ww(),zw()})};var He=[],ce,Ya,Am=new WeakMap,Tu=new Map;fB();var hB=t=>{t.getContextFiles().forEach(e=>{Tu.has(e)||Tu.set(e,new Dm(e,LS,r=>!!Om(r))),Tu.get(e)?.watch()})},MS=async t=>{let e=He.indexOf(t);if(e===-1)return;bu(t,void 0,!0),Am.delete(t),console.log(`(ID: ${t.id}) cleaning Context for [${t.ctxNames.join(",")}]`);let r=await Ms(t);if(te.sendNotification("devicetree/contextDeleted",{ctxNames:t.ctxNames.map(n=>n.toString()),id:t.id,...await t.getFileTree(),settings:t.settings,active:ce===t,type:r.type}),He.splice(e,1),await BS(),t===ce&&(ce=void 0,He.length)){let n=Ya?cn(He,{uri:Ya}):void 0;n??=He[0],console.log("Active context was deleted. Forcing active to",n.id),await Xt({id:n.id},!0)}t.getContextFiles().map(n=>Tu.get(n)?.unwatch())},qJ=t=>{let e=Am.get(t);if(!e?.abort.signal.aborted)return Promise.all([e?.promise,t.getRuntime()])},Fe=async()=>{await Promise.all(He.map(qJ))},xS=async t=>(await mB()).indexOf(t)!==-1,mB=async()=>{let t=await gB();return He.filter(e=>!t.some(r=>r===e))},gB=async()=>{let t=await OS();return He.filter(e=>t.contexts.find(r=>ki(r)===e.id))},$J=async()=>{let t=await VJ();return He.filter(e=>t.contexts.find(r=>ki(r)===e.id))},BJ=async t=>(await $J()).indexOf(t)!==-1,FJ=async(t,e)=>{if(t===e)return!0;let r=(await t.getAllParsers()).flatMap(i=>i.cPreprocessorParser.dtsIncludes).filter(i=>i.resolvedPath),n=(await e.getAllParsers()).flatMap(i=>i.cPreprocessorParser.dtsIncludes).filter(i=>i.resolvedPath);return n.some(i=>le(i.resolvedPath,t.parser.uri))&&r.length?r.every(i=>n.some(s=>s.resolvedPath===i.resolvedPath&&s.firstToken.pos.col===i.firstToken.pos.col&&s.firstToken.pos.len===i.firstToken.pos.len&&s.firstToken.pos.line===i.firstToken.pos.line&&s.lastToken.pos.col===i.lastToken.pos.col&&s.lastToken.pos.len===i.lastToken.pos.len&&s.lastToken.pos.line===i.lastToken.pos.line)):e.getContextFiles().some(i=>le(i,t.parser.uri))},jJ=async t=>{if(!await xS(t))return;let e=await mB(),r=await gB(),n=await df(e);if(He.indexOf(t)===-1)return;let i=await Promise.all(n.flatMap(a=>[...r,...e.filter(c=>c!==a.context)].map(async c=>({context:a.context,same:await FJ(a.context,c)})))),s=t.getContextFiles(),o=n.filter(a=>i.some(c=>c.context===a.context&&c.same)||a.context!==t&&le(a.context.parser.uri,t.parser.uri)&&s.some(c=>c&&a.files.indexOf(c)!==-1)).map(a=>a.context);o.length&&await Promise.all(o.map(MS))},te=(0,ze.createConnection)(ze.ProposedFeatures.all),yr=new ze.TextDocuments(Qn),yB=!1,Im=!1,TB=!1,vB=!1,bB=!1,AS;te.onInitialize(async t=>{AS=t.workspaceFolders??[],te.console.log(`[Server(${process.pid}) ${AS?.at(0)?.uri} Version 0.6.4 ] Started and initialize received`);let e=t.capabilities;yB=!!(e.workspace&&e.workspace.configuration),Im=!!(e.workspace&&e.workspace.workspaceFolders),TB=!!e.workspace?.diagnostics?.refreshSupport,vB=!!e.workspace?.semanticTokens?.refreshSupport,bB=!!e.workspace?.foldingRange?.refreshSupport;let r={capabilities:{typeDefinitionProvider:!0,workspaceSymbolProvider:!0,textDocumentSync:ze.TextDocumentSyncKind.Incremental,renameProvider:{prepareProvider:!0},completionProvider:{resolveProvider:!0,triggerCharacters:["&","="," ",'"',"(",","]},codeActionProvider:{codeActionKinds:[ze.CodeActionKind.QuickFix,ze.CodeActionKind.SourceFixAll]},documentSymbolProvider:!0,semanticTokensProvider:{legend:{tokenTypes:sf,tokenModifiers:of},full:!0},documentLinkProvider:{resolveProvider:!1},foldingRangeProvider:!0,definitionProvider:!0,declarationProvider:!0,referencesProvider:!0,documentFormattingProvider:!0,documentRangeFormattingProvider:!0,hoverProvider:!0,signatureHelpProvider:{triggerCharacters:["<","("],retriggerCharacters:[" ",","]}}};return Im&&(r.capabilities.workspace={workspaceFolders:{changeNotifications:!0,supported:!0}}),await kB(t.initializationOptions),r});var IS,UJ={tabSize:8,insertSpaces:!1,trimTrailingWhitespace:!0,insertFinalNewline:!0};te.onInitialized(async()=>{if(yB&&(te.client.register(ze.DidChangeConfigurationNotification.type,{}),!IS)){let t=await te.workspace.getConfiguration("editor").catch(()=>{}),e=await te.workspace.getConfiguration("[devicetree]").catch(()=>{}),r={tabSize:e?.["editor.tabSize"],insertSpaces:e?.["editor.insertSpaces"],trimFinalNewlines:e?.["editor.trimFinalNewlines"],trimTrailingWhitespace:e?.["editor.trimTrailingWhitespace"],insertFinalNewline:e?.["editor.insertFinalNewline"]};(t||r)&&(IS={...t,...r})}Im&&te.workspace.onDidChangeWorkspaceFolders(async t=>{te.console.log("Workspace folder change event received"),await Nu()})});te.onRequest("workspace/workspaceFolders",async()=>AS??null);var HJ=async()=>{let t=_B();return t={...Is,...t},yu(t,await Su())},OS=async()=>{let t=WJ();return t={...Is,...t},yu(t,await Su())},VJ=async()=>{let t=GJ();return t={...Is,...t},yu(t,await Su())},_u=async()=>{let t=zJ();return t={...Is,...t},yu(t,await Su())},Su=async()=>Im?await te.workspace.getWorkspaceFolders()??[]:[],pB=async t=>{let e=cn(He,{id:ki(t)});if(e)return e.ctxNames.includes(t.ctxName)||console.log(`(ID: ${e.id}) Adding name ${t.ctxName} for [${e.ctxNames.join(",")}]`),e.addCtxName(t.ctxName),e;let r=ki(t);console.log(`(ID: ${r}) New context [${t.ctxName}]`),console.log(`(ID: ${r}) Settings: ${JSON.stringify(t,void 0," ")}`);let n=(0,Xa.join)((0,Xa.dirname)(t.dtsFile),"dts","bindings"),i=new Ff(t,IS??UJ,t.bindingType?Q$({zephyrBindings:t.zephyrBindings?[n,...t.zephyrBindings]:[n],deviceOrgBindingsMetaSchema:t.deviceOrgBindingsMetaSchema??[],deviceOrgTreeBindings:t.deviceOrgTreeBindings??[]},t.bindingType):void 0);He.push(i),await i.stable(),hB(i);let s=await Ms(i);return te.sendNotification("devicetree/contextCreated",{ctxNames:i.ctxNames.map(o=>o.toString()),id:i.id,...await i.getFileTree(),settings:i.settings,active:i===ce,type:s.type}),await jJ(i),await BS(),i},Nu=async()=>{let t=await OS(),e=await _u();e.allowAdhocContexts||(e=await OS());let r=e.contexts.map(ki),n=He.filter(i=>!r.includes(i.id));await Promise.all(n.map(MS)),await t.contexts?.reduce((i,s)=>i.then(async()=>{await pB(s)}),Promise.resolve()),e.allowAdhocContexts&&await(await HJ()).contexts?.reduce((s,o)=>s.then(async()=>{cn(He,{uri:o.dtsFile})||await pB(o)}),Promise.resolve()),Ya?await Xt({uri:Ya}):!ce&&He.length&&(console.log(`No active context using first context (ID: ${He[0].id}) [${He[0].ctxNames.join(",")}]`),await Xt({id:He[0].id}))},Rn,Os,vu=new Map,Ka=new Map,zJ=()=>!Os&&!Rn?void 0:{...Os,...Rn,contexts:[...Rn?.contexts??[],...Array.from(Ka.values()),...Array.from(vu.values())]},_B=()=>!Os&&!Rn?void 0:{...Os,...Rn,contexts:[...Array.from(vu.values())]},WJ=()=>!Os&&!Rn?void 0:{...Os,...Rn,contexts:[...Rn?.contexts??[],...Array.from(Ka.values())]},GJ=()=>!Os&&!Rn?void 0:{...Rn,contexts:[...Rn?.contexts??[]]};function KJ(t){let e={...t};for(let r in e)e[r]===null&&delete e[r];return e}var SB=async()=>{let t=await _u();console.log("Resolved settings",JSON.stringify(t,void 0," ")),te.sendNotification("devicetree/settingsChanged",t),await Nu(),Fe().then(()=>{TB&&te.languages.diagnostics.refresh()})},YJ=async()=>{let t=ce?.getContextFiles();await Promise.all(Array.from(yr.keys()).filter(Bt).map(async e=>{t?.some(r=>le(r,Se(e)))||await te.sendDiagnostics({uri:e,version:yr.get(e)?.version,diagnostics:[{severity:ze.DiagnosticSeverity.Information,range:ze.Range.create(ze.Position.create(0,0),ze.Position.create(0,0)),message:"File not in active context",source:"devicetree"}]})}))},LS=async t=>{let e=Fy(He,t);if(e.length)e.sort((r,n)=>r===ce?-1:n===ce?1:0).forEach(r=>{Am.get(r)?.abort.abort();let n=new AbortController,i=new Promise(s=>{setTimeout(async()=>{if(n.signal.aborted){s();return}let o=performance.now(),a=ce===r,c=a?NB(r):[],l=r.getContextFiles();await r.reevaluate(t),hB(r),l.forEach(p=>Tu.get(p)?.unwatch()),a&&FS(r)?.length&&qS(r).then(p=>{let g=p.items.map(h=>({uri:h.uri,version:h.version??void 0,diagnostics:h.items}));bu(r,c.filter(h=>g.every(T=>T.uri!==h.uri))),g.forEach(h=>{te.sendDiagnostics(h)}),ku.set(r,!0)});let[u,d]=await Promise.all([Ms(r),r.getFileTree()]),f={ctxNames:r.ctxNames.map(p=>p.toString()),id:r.id,...d,settings:r.settings,active:a,type:u.type};ce===r&&te.sendNotification("devicetree/activeContextStableNotification",f),te.sendNotification("devicetree/contextStableNotification",f),s(),console.log("reevaluate",performance.now()-o)},50)});Am.set(r,{abort:n,promise:i})});else{if((await _u()).allowAdhocContexts===!1)return;await Nu(),await Xt({uri:t})}},XJ=t=>yr.keys().find(e=>le(Se(e),t)),Om=t=>{let e=XJ(t);if(e)return yr.get(e)},NB=t=>t.getContextFiles().map(e=>({uri:de(e),version:Om(e)?.version,diagnostics:[]})),ku=new WeakMap,bu=async(t,e=NB(t),r=!1)=>{if(!r&&t!==ce)return;let n=performance.now();await Promise.all(e.filter(i=>t===ce||!ce?.getContextFiles().some(s=>le(Se(i.uri),s))).map(i=>te.sendDiagnostics({uri:i.uri,version:yr.get(i.uri)?.version,diagnostics:[]}))),ku.delete(t),console.log(`(ID: ${t.id})`,"clear workspace diagnostics",`[${t.ctxNames.join(",")}]`,performance.now()-n)},qS=async t=>{await t.stable();let e=performance.now(),r=await t.getDiagnostics(),n=await Promise.all(t.getContextFiles().map(async i=>{let s=Om(i),o=[];return s&&t.settings.showFormattingErrorAsDiagnostics&&o.push(...(await wf({textDocument:s,options:t.formattingOptions},t,s?.getText(),"File Diagnostics")).map(a=>a.diagnostic())),{uri:de(i),kind:ze.DocumentDiagnosticReportKind.Full,items:[...r.get(i)??[],...o],version:s?.version??null}}));return console.log(`(ID: ${t.id})`,"workspace diagnostics",`[${t.ctxNames.join(",")}]`,performance.now()-e),{items:[...n]}},$S=async t=>{let{items:e}=await qS(t);e.map(r=>({uri:r.uri,version:r.version??void 0,diagnostics:r.items})).forEach(async r=>{te.sendDiagnostics(r)}),ku.set(t,!0)},BS=async()=>{let t=await Promise.all(He.map(Ms));console.log("======== Context List ========"),t.forEach(e=>{console.log(`(ID: ${e.ctx.id}) [${e.ctx.ctxNames.join(",")}]`,`[${e.type}]`,ce===e.ctx?" [ACTIVE]":"")}),console.log("==============================")},Ms=async t=>{let e=await xS(t),r=!e&&await BJ(t);return{ctx:t,type:e?"Ad Hoc":r?"User":"3rd Party"}},Xt=async(t,e=!1)=>{if("uri"in t){if(!Bt(t.uri))return!1;Ya=t.uri,console.log("Active File Uri",Ya)}let r=await _u();if(ce&&!e&&!r.autoChangeContext||(await Fe(),!e&&ce?.getContextFiles().find(o=>"uri"in t&&le(o,t.uri))))return!1;let n=ce,i=cn(He,t),s=n!==i;return s&&(n&&bu(n),ce=i,i?(Ms(i).then(async o=>{let a=await i.getFileTree();!i||i!==ce&&!He.includes(i)||te.sendNotification("devicetree/newActiveContext",{ctxNames:i.ctxNames.map(c=>c.toString()),id:i.id,...a,settings:i.settings,active:ce===i,type:o.type})}),FS(i)?.length&&$S(i),await BS()):te.sendNotification("devicetree/newActiveContext",void 0)),bB&&te.languages.foldingRange.refresh(),vB&&te.languages.semanticTokens.refresh(),s},Bt=t=>[".dts",".dtsi",".dtso",".overlay"].some(e=>t.endsWith(e));yr.listen(te);var FS=t=>t?.getContextFiles()?.filter(e=>Om(e));yr.onDidClose(async t=>{let e=Se(t.document.uri);if(!Bt(e))return;let r=Fy(He,e);if(r.length===0){vu.delete(e),te.sendDiagnostics({uri:t.document.uri,version:yr.get(t.document.uri)?.version,diagnostics:[]});return}await Promise.all(r.map(async n=>{!!FS(n)?.filter(s=>s!==e).length?ce?.getContextFiles().some(s=>le(s,e))?ce?.getContextFiles().some(s=>le(s,e))&&(await bu(ce),await $S(ce)):te.sendDiagnostics({uri:t.document.uri,version:yr.get(t.document.uri)?.version,diagnostics:[]}):await xS(n)?(await MS(n),vu.delete(n.settings.dtsFile)):bu(n)}))});yr.onDidOpen(async t=>{let e=Se(t.document.uri);if(!Bt(e))return;await Fe(),YJ();let r=cn(He,{uri:e});if(console.log("onDidOpen",r?.id,e),r)r!==ce?await Xt({id:r.id}):r===ce&&(!ku.get(r)||r.getContextFiles().some(n=>!le(n,e)))&&await $S(r);else{let n={ctxName:(0,Xa.basename)(e),dtsFile:e};vu.set(e,n),await LS(e)}});yr.onDidChangeContent(async t=>{let e=Se(t.document.uri);if(!Bt(e))return;let r=t.document.getText(),n=Mr();n.needsRenew(e,r)&&(console.log("Content changed"),n.renewLexer(e,r),await LS(e))});var kB=async t=>{t?.settings?.devicetree&&(Rn=rB(KJ(t.settings.devicetree)),console.log("Configuration changed",JSON.stringify(t,void 0," ")),await SB())};te.onDidChangeConfiguration(async t=>{await kB(t)});te.listen();te.languages.diagnostics.onWorkspace(async()=>{await Fe();let t=ce;return t?qS(t).finally(()=>{ku.set(t,!0)}):{items:[]}});te.onDidChangeWatchedFiles(t=>{te.console.log("We received a file change event")});te.onCompletion(async t=>{let e=Se(t.textDocument.uri);if((e.endsWith(".c")||e.endsWith(".cpp"))&&ce&&ce.bindingLoader?.type==="Zephyr")return uA(t,ce,yr.get(t.textDocument.uri));if(!Bt(e))return[];await Fe(),Xt({uri:e});let r=Tr(e);return r?[...await KD(t,r),...await wA(t,r)]:[]});te.onCompletionResolve(t=>t);var Tr=t=>{let e=_B();return cn(He,{uri:t},ce,e?.preferredContext)};te.onDocumentSymbol(async t=>{let e=Se(t.textDocument.uri);if(!Bt(e))return[];await Fe();let r=Tr(e);return r?r.getUriParser(e)?.getDocumentSymbols(e):[]});te.onWorkspaceSymbol(async()=>{await Fe();let t=ce;return t?(await t.getAllParsers()).flatMap(e=>e.getWorkspaceSymbols()):[]});te.languages.semanticTokens.on(async t=>{let e=Se(t.textDocument.uri);if(!Bt(e))return{data:[]};try{await Fe();let r=Tr(e),n=new ze.SemanticTokensBuilder,i=r?.isInContext(e);return!r||!i?{data:[]}:((await r.getAllParsers()).forEach(s=>s.buildSemanticTokens(n,e)),n.build())}catch(r){throw console.log(r),r}});te.onDocumentLinks(async t=>{await Fe();let e=Se(t.textDocument.uri);return Bt(e)?Tr(e)?.getDocumentLinks(e):e.endsWith(".yaml")&&ce?ce.bindingLoader?.getDocumentLinks?.(yr.get(t.textDocument.uri))??[]:[]});te.onPrepareRename(async t=>{let e=Se(t.textDocument.uri);if(!Bt(e))return;await Fe(),Xt({uri:e});let r=Tr(e);return gA(t,r)});te.onRenameRequest(async t=>{let e=Se(t.textDocument.uri);if(!Bt(e))return;await Fe(),Xt({uri:e});let r=Tr(e);return mA(t,r)});te.onReferences(async t=>{let e=Se(t.textDocument.uri);if(!Bt(e))return;await Fe(),Xt({uri:e});let r=Tr(e);return dA(t,r)});te.onDefinition(async t=>{let e=Se(t.textDocument.uri);if((e.endsWith(".c")||e.endsWith(".cpp"))&&ce&&ce.bindingLoader?.type==="Zephyr")return _A(t,ce,yr.get(t.textDocument.uri));if(!Bt(e))return;await Fe(),Xt({uri:e});let r=Tr(e),n=(await r?.getDocumentLinks(e,t.position))?.filter(i=>i.target).map(i=>ze.Location.create(i.target,i.range))??[];return n.length?n:vA(t,r)});te.onDeclaration(async t=>{let e=Se(t.textDocument.uri);if((e.endsWith(".c")||e.endsWith(".cpp"))&&ce&&ce.bindingLoader?.type==="Zephyr")return NA(t,ce,yr.get(t.textDocument.uri));if(!Bt(e))return;await Fe(),Xt({uri:e});let r=Tr(e);return bA(t,r)});te.onCodeAction(async t=>{let e=Se(t.textDocument.uri);if(Bt(e))return RA(t)});var RB=async t=>{let e=Se(t.textDocument.uri);if(!Bt(e))return;await Fe(),Xt({uri:e});let r=Tr(e);if(!r)return[];if((await r.getSyntaxIssues(void 0,l=>Ko(l,e,!1))).get(e)?.length)return[];let i=Mr().getDocument(e),s=i.getText(),o=await wf(t,r,s,"New Text");if(o===s)return[];let a=i.lineCount-1,c=i.getText({start:{line:a,character:0},end:{line:a+1,character:0}}).length;return[ze.TextEdit.replace(ze.Range.create(ze.Position.create(0,0),ze.Position.create(i.lineCount,c)),o)]};te.onDocumentRangeFormatting(RB);te.onDocumentFormatting(RB);te.onHover(async t=>{let e=Se(t.textDocument.uri);if((e.endsWith(".c")||e.endsWith(".cpp"))&&ce&&ce.bindingLoader?.type==="Zephyr")return XI(t,ce,yr.get(t.textDocument.uri));if(!Bt(e))return;await Fe();let r=Tr(e);return(await EA(t,r)).at(0)});te.onFoldingRanges(async t=>{let e=Se(t.textDocument.uri);if(!Bt(e))return;await Fe();let r=Tr(e),n=r?.isInContext(e);if(!r||!n)return[];let i=(await r.getAllParsers()).find(s=>s.getFiles().some(o=>o===e));return i?eB(e,i):[]});te.onTypeDefinition(async t=>{let e=Se(t.textDocument.uri);if(!Bt(e))return;await Fe(),Xt({uri:e});let r=Tr(e);return tB(t,r)});te.onSignatureHelp(async t=>{let e=Se(t.textDocument.uri);if(!Bt(e))return;await Fe(),Xt({uri:e});let r=Tr(e);return lB(t,r)});te.onRequest("devicetree/getContexts",async()=>(await Fe(),Promise.all(He.map(async t=>{let e=await Ms(t);return{ctxNames:t.ctxNames.map(r=>r.toString()),id:t.id,...await t.getFileTree(),settings:t.settings,active:ce===t,type:e.type}}))));te.onRequest("devicetree/setActive",async t=>(await Fe(),console.log("devicetree/setActive",t),await Xt(t,!0)));te.onRequest("devicetree/getActiveContext",async()=>{if(await Fe(),console.log("devicetree/getActiveContext"),!ce)return;let t=await Ms(ce);return ce?{ctxNames:ce.ctxNames.map(e=>e.toString()),id:ce.id,...await ce.getFileTree(),settings:ce.settings,active:!0,type:t.type}:void 0});te.onRequest("devicetree/setDefaultSettings",async t=>{await Fe(),Os=t,console.log("Integration Settings",t),await SB()});te.onRequest("devicetree/requestContext",async t=>{await Fe();let e=await _u(),r=await ES(t,e,await Su());console.log("devicetree/requestContext",r);let n=ki(r),i=Array.from(Ka).find(([,a])=>a.ctxName===t.ctxName);if(i){let a=i[0].split(":",1)[0];cn(He,{name:t.ctxName.toString()})?.removeCtxName(t.ctxName),console.log(`Removing integration context with ID ${a} and name ${t.ctxName}`),Ka.delete(i[0])}Ka.set(`${n}:${t.ctxName}`,t),await Nu();let s=He.find(a=>a.id===n);if(!s)throw new Error("Failed to create context");let o=await Ms(s);return{ctxNames:s.ctxNames.map(a=>a.toString()),id:n,...await s.getFileTree(),settings:s.settings,active:!0,type:o.type}});te.onRequest("devicetree/removeContext",async({id:t,name:e})=>{await Fe(),Ka.delete(`${t}:${e}`);let r=cn(He,{id:t});if(r){if(r.removeCtxName(e),r.ctxNames.length){console.log("Context will not be deleted as it is still in use by others");return}await Nu()}});te.onRequest("devicetree/compiledDtsOutput",async t=>{if(await Fe(),!t)return;let e=cn(He,{id:t});if(!e)return;let r=await e.toFullString();return Yy({textDocument:{uri:de(e.settings.dtsFile)},options:e.formattingOptions},r,"New Text")});te.onRequest("devicetree/serializedContext",async t=>(await Fe(),t?cn(He,{id:t})?.serialize():void 0));te.onRequest("devicetree/activePath",async t=>{if(await Fe(),!ce)return;let e=r=>{if(r?.item)return r.item instanceof X?{nodePath:r.item.pathString}:{nodePath:r.item.parent.pathString,propertyName:r.item.name}};return(await _t(t,ce,r=>[e(r)])).at(0)});te.onRequest("devicetree/customActions",async t=>(await Fe(),aB(t,ce)));te.onRequest("devicetree/activeFileUri",async t=>{await Fe(),Xt({uri:t})});var JJ=async(t,e,r)=>{if((await e.getSyntaxIssues(void 0,o=>Ko(o,r,!1))).get(r)?.length)throw new Error("Unable to format. Files has syntax issues.");let i=Mr().getDocument(r);return await wf(t,e,i.getText(),"New Text")};te.onRequest("devicetree/formattingText",async t=>{await Fe();let e=Se(t.textDocument.uri),r=Tr(e);if(r)return Xt({uri:e}),JJ(t,r,e);let n=Mr().getDocument(e,t.text),i=await Yy(t,n.getText(),"Both");return{text:i.text,diagnostics:i.diagnostic.map(s=>s.diagnostic())}});te.onRequest("devicetree/diagnosticIssues",async({uri:t,full:e})=>{await Fe();let r=Se(t);Xt({uri:r});let n=Tr(r);if(!n)return[];let i=e?(await n.getDiagnostics()).get(r):(await n.getSyntaxIssues(void 0,s=>Ko(s,r,!!e))).get(r);if(i?.length)return i});te.onRequest("devicetree/evalMacros",async({macros:t,ctxId:e})=>{await Fe();let r=cn(He,{id:e});return r?t.map(n=>{let i=af(n,r.macros),s=De(i);return{macro:n,evaluated:typeof s=="number"?s:i}}):[]});
|
|
306
|
+
${n}`]})]},NJ=(t,e)=>B$(t,e.split("/").filter(r=>r)),B$=(t,e)=>{if(e.length===0)return{node:t,remainingInstancePath:""};let r=e[0].split("@"),n=r[0],i=r.at(1)?.split(",").map(o=>Number.parseInt(o,16)),s=t.getNode(n,i);return s?B$(s,e.slice(1)):{node:t,property:t.getProperty(e[0]),remainingInstancePath:e.slice(1).join("/")}};var SS=class t{constructor(){this.schemaIdValidators=new Map;this.ajvMap=new Map}static getNodeCompatible(e){let n=e.getProperty("compatible")?.ast.values;if(!n?.values.some(i=>!(i?.value instanceof ne)))return n?.values.map(i=>(i?.value).value)}parseMetaSchema(e,r){Js.sync("**/*.yaml",{cwd:e}).forEach(i=>{i=(0,vS.resolve)(e,i);try{let s=_S.default.parse((0,bS.readFileSync)(i,"utf-8"));r.addMetaSchema(s),this.schemaIdValidators.set(s.$id,i)}catch{}})}parseBindings(e,r){Js.sync("**/*.yaml",{cwd:e}).forEach(i=>{i=(0,vS.resolve)(e,i);try{let s=_S.default.parse((0,bS.readFileSync)(i,"utf-8"));r.addSchema(s),this.schemaIdValidators.set(s.$id,i)}catch(s){console.warn(i,s.message)}})}getNodeTypes(e,r,n){let i=`${e.join(";")}::${r.join(";")}`,s=this.ajvMap.get(i);return s||(s=new j$.default({strict:!1,strictSchema:!1,strictNumbers:!1}),s.addMetaSchema(TS),this.ajvMap.set(i,s),e.forEach(c=>this.parseMetaSchema(c,s)),r.forEach(c=>this.parseBindings(c,s))),t.getNodeCompatible(n)?.map(c=>{try{let l=Array.from(this.schemaIdValidators.keys()).find(f=>f.endsWith(`/${c}.yaml#`));if(!l)return;let u=new Pm(s,l);u.bindingsPath=this.schemaIdValidators.get(l),u.compatible=c;let d=s.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)??[]}getBindings(){return Array.from(this.schemaIdValidators.keys())}},F$,NS=()=>(F$??=new SS,F$);var gu=require("path"),K$=require("fs"),Y$=$(require("path")),X$=$(vb());var Nn=$(U());var U$=()=>{let t=new Y("nonposted-mmio",z("EMPTY"),"optional");return t.description=["Specifies that direct children of this bus should use non-posted memory accesses (i.e. a non-posted mapping mode) for MMIO ranges."],t};function H$(){let t=ur();t.noMismatchPropertiesAllowed=!0;let e=t.properties.find(n=>n.name==="compatible");e.required=()=>"required";let r=t.properties.find(n=>n.name==="ranges");return r.required=()=>"required",t.addProperty(U$()),t}var V$=t=>{switch(t){case"string":return z("STRING");case"int":return z("U32");case"boolean":return z("EMPTY");case"array":return z("PROP_ENCODED_ARRAY");case"uint8-array":return z("BYTESTRING");case"string-array":return z("STRINGLIST");case"phandle":return z("U32");case"phandles":return z("PROP_ENCODED_ARRAY");case"phandle-array":return z("PROP_ENCODED_ARRAY");case"path":return z(["STRING","U32"]);case"compound":return z("ANY");default:return z("ANY")}},z$=(t,e)=>{switch(t){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(r=>typeof r=="number")?e:void 0;case"uint8-array":return Array.isArray(e)&&e.every(r=>typeof r=="number")?e:void 0;case"string-array":return Array.isArray(e)&&e.every(r=>typeof r=="string")?e:void 0;case"phandle":return;case"phandles":return;case"phandle-array":return;case"path":return;case"compound":return}},wm=(t,e)=>{if(e.extends??=[],e=e.include.reduce((r,n)=>{let i=t.find(s=>(0,gu.basename)(s.filePath)===n.name);if(i){let s=n["property-blocklist"],o=n["property-allowlist"];return e.extends?.push(...r.include.map(a=>(0,gu.basename)(a.name,".yaml"))),r.include=r.include.filter(a=>a!==n),kJ(t,i,r,s,o)??r}return console.warn(`Unable to find ${n.name}`),r},e),e["child-binding"]&&(e["child-binding"].include=J$(e["child-binding"].include),e["child-binding"]=wm(t,e["child-binding"])),!e.include.length)return e},kJ=(t,e,r,n=[],i)=>{let s=wm(t,e),o=wm(t,r);if(!s||!o)return;let a=new Set;Object.keys(s?.properties??{}).forEach(f=>a.add(f)),Object.keys(o?.properties??{}).forEach(f=>a.add(f));let c={};Array.from(a).forEach(f=>{let p=n?.some(h=>h===f)||i&&!i.some(h=>h===f)?void 0:s.properties?.[f]??void 0,g=o.properties?.[f]??void 0;(p||g)&&(c={...c,[f]:{...p??g}})}),o.properties=c,o.extends??=[],o.extends.push(...s.extends??[]);let l=new Set;return Object.keys(s).filter(f=>f.endsWith("-cells")).forEach(f=>l.add(f)),Object.keys(s).filter(f=>f.endsWith("-cells")).forEach(f=>l.add(f)),Array.from(l).forEach(f=>{let p=s[f]??[],g=o[f]??[];o[f]=Array.from([...p,...g])}),o["on-bus"]??=s["on-bus"],o.bus?o.bus.push(...s.bus??[]):o.bus=s.bus,o},J$=t=>t?typeof t=="string"?[{name:t}]:t.map(e=>typeof e!="string"?e:{name:e}):[],kS=class t{constructor(){this.typeCache=new Map;this.processedFolders=new Set;this.zephyrBindingCache=new Map}static getCompatibleKeys(e,r){return!r||!r.nodeType?.bus?.length?[e]:[...r.nodeType.bus.map(n=>`${e}::${n}`),e]}static getNodeCompatible(e){let i=e.getProperty("compatible")?.ast.values?.values.filter(s=>s&&s.value instanceof ne);if(i?.length)return i.map(s=>s?.value?{name:s.value.value,ast:s.value}:void 0)}getNodeTypes(e,r){let n=t.getNodeCompatible(e)?.filter(a=>a);if(!n?.length){if(e.name==="zephyr,user"){let a=r.split(":"),l=Array.from(this.zephyrBindingCache.keys()).filter(d=>a.some(f=>d.startsWith(f))).flatMap(d=>this.zephyrBindingCache.get(d)).find(d=>d.filePath.endsWith("/base.yaml")),u=l?RS(l,e):void 0;if(u){u.warnMismatchProperties=!1;let d=u.properties.find(f=>f.name==="compatible");d&&(d.required=()=>"optional")}return{type:[u??ss(e)],issues:[]}}return{type:[ss(e)],issues:[]}}let i=n.flatMap(a=>t.getCompatibleKeys(a.name,e.parent).map(c=>this.typeCache.get(r)?.get(c)?.(e)).filter(c=>!!c)),s=this.getBusTypes(),o=n.flatMap(a=>{let c=t.getCompatibleKeys(a.name,e.parent).some(l=>this.typeCache.get(r)?.has(l));if(!c){let l=s.filter(u=>this.typeCache.get(r)?.has(`${a.name}::${u}`));if(l.length)return j(37,a.ast.firstToken,a.ast.lastToken,a.ast,{templateStrings:l})}return c?[]:[j(32,a.ast.firstToken,a.ast.lastToken,a.ast,{severity:Nn.DiagnosticSeverity.Hint,tags:[Nn.DiagnosticTag.Unnecessary],templateStrings:[a.name]})]});return{type:i.length?i:[ss(e)],issues:o}}loadTypeAndCache(e,r){e=Array.isArray(e)?e:[e];let n=e.filter(o=>this.processedFolders.has(o)).flatMap(o=>Array.from(this.zephyrBindingCache.entries()).flatMap(([a,c])=>a.startsWith(o)?[c]:[]));n.push(...e.filter(o=>!this.processedFolders.has(o)).flatMap(o=>(this.processedFolders.add(o),Js.sync("**/*.yaml",{cwd:o,ignore:"test/*"}).map(c=>{if(c=(0,gu.resolve)(o,c),this.zephyrBindingCache.has(c))return this.zephyrBindingCache.get(c);try{let l=X$.default.parse((0,K$.readFileSync)(c,"utf-8")),u=J$(l?.include),d={...l,bus:l.bus?Array.isArray(l.bus)?l.bus:[l.bus]:void 0,include:u,rawInclude:[...u],filePath:c};return this.zephyrBindingCache.set(c,d),d}catch(l){console.warn(l)}}).filter(c=>!!c))));let i=n.map(o=>wm(n,o)).filter(o=>!!o&&!o.include.length),s=this.typeCache.get(r);s||(s=new Map,s.set("simple-bus",()=>H$()),this.typeCache.set(r,s)),RJ(i,s)}getBindings(e){return Array.from(this.typeCache.get(e)?.keys()??[]).map(r=>r.split("::",1)[0])}getBusTypes(){let e=Array.from(this.zephyrBindingCache.values()).flatMap(r=>r.bus?.filter(n=>!!n)??[]).filter(r=>!!r);return Array.from(new Set(e))}getDocumentLinks(e,r){let n=this.zephyrBindingCache.get(Se(e.uri));if(!n)return[];let i=e.getText();return n.rawInclude.map(o=>{let c=new RegExp(o.name).exec(i);if(c){let l=e.positionAt(c.index),u=e.positionAt(c.index+c[0].length),d=Array.from(this.zephyrBindingCache.keys()).find(f=>f.endsWith(`${Y$.default.sep}${o.name}`)&&r.some(p=>f.startsWith(p)));return d?{range:Nn.Range.create(l,u),target:de(d)}:void 0}}).filter(o=>!!o)}},W$,Ga=()=>(W$??=new kS,W$),RJ=(t,e)=>t.forEach(r=>{r.compatible&&e.set(r["on-bus"]?`${r.compatible}::${r["on-bus"]}`:r.compatible,n=>RS(r,n))}),RS=(t,e)=>{let r=ss(e);r.compatible=t.compatible,r.description=t.description,r.bindingsPath=t.filePath,r.bus=typeof t.bus=="string"?[t.bus]:Array.from(new Set(t.bus)),r.onBus=t["on-bus"],t.extends?.forEach(s=>r.extends.add(s)),r.warnMismatchProperties=!0;let i=Object.keys(t).filter(s=>s.endsWith("-cells")).map(s=>({specifier:s.replace(/-cells$/,""),values:t[s]}));if(r.cellsValues=i,Object.keys(t.properties??{}).forEach(s=>{let o=t.properties[s];PJ(r,s,o)}),t["child-binding"]){let s=t["child-binding"];r.childNodeType=o=>RS(s,o)}return r},PJ=(t,e,r)=>{let n=t.properties.find(i=>i.getNameMatch(e));if(n&&typeof n.name=="string"){n.required=()=>r.required?"required":"optional",n.values=()=>r.enum??[],n.constValue=z$(r.type,r.const),n.bindingType=r.type;let i=n.additionalTypeCheck;n.additionalTypeCheck=(s,o)=>[...G$(r,e,n)(s,o),...i?.(s,o)??[]]}else{let i=r.type==="compound"?n?.type:V$(r.type);i??=V$(r.type);let s=new Y(e,i,r.required?"required":"optional",void 0,r.enum);s.additionalTypeCheck=(o,a)=>{let c=[...n?.additionalTypeCheck?.(o,a)??[],...G$(r,e,s)(o,a)];return s.signatureArgs??=n?.signatureArgs,s.signatureArgsCyclic??=!!n?.signatureArgsCyclic,c},s.description=r.description?[r.description]:n?.description,s.bindingType=r.type,s.constValue=z$(r.type,r.const),t.addProperty(s)}},G$=(t,e,r)=>{let n=t;return(i,s)=>{let o=i.parent.root,a=[];if(n.const){let l=i.ast.quickValues;if(l?.length==1){let u=Array.isArray(n.const)?n.const:[n.const];if(!(Array.isArray(l[0])&&u.length===l[0].length&&l[0].every((f,p)=>typeof f=="number"&&Number.isNaN(f)||u[p]===f))){let f=i.ast.values??i.ast;a.push(j(24,f.firstToken,f.lastToken,f,{templateStrings:[`Binding expects values to be "${n.type}" with value: ${n.const}`]}))}}}if(n.deprecated&&a.push(j(14,i.ast.firstToken,i.ast.lastToken,i.ast,{severity:Nn.DiagnosticSeverity.Warning,tags:[Nn.DiagnosticTag.Deprecated],templateStrings:[i.name]})),(n.type==="phandle"||n.type==="phandles"||n.type==="path")&&xe(i.ast.values)?.forEach(u=>{dn(u,o)||a.push(j(22,u.firstToken,u.lastToken,u))}),n.type==="path"&&i.ast.values?.values.at(0)?.value instanceof ne){let l=i.ast.values?.values.at(0)?.value,u=[];l.value.split("/").every(d=>{let f=o.getNode(d);return f?u.push(d):a.push(j(23,l.firstToken,l.lastToken,l,{templateStrings:[d,`/${u.join("/")}`]})),!f})}let c=i.name.match(/^(.*)-(\d+)$/);if(n.type==="phandles"&&c){let l="";e.endsWith("-gpios")?l="gpio":l=n["specifier-space"]??c[1];let u=Number.parseInt(c[2],10),d=i.parent.getProperty(`${l}-names`);d&&(d.ast.quickValues?.at(u)||a.push(j(33,i.ast.firstToken,i.ast.lastToken,i.ast,{severity:Nn.DiagnosticSeverity.Warning,linkedTo:[d.ast],templateStrings:[i.name,u.toString()]})))}if(n.type==="phandle-array"){let l=xe(i.ast.values),u=0,d=[],f=0;for(;l&&u<l.length;){let p=l.at(u),g=dn(p,o);if(!g){let M=p??i.ast;a.push(j(22,M.firstToken,M.lastToken,M));break}let h="";e.endsWith("-gpios")?h="gpio":h=n["specifier-space"]??e.slice(0,-1);let T=g.getProperty(`#${h}-cells`);if(!T){a.push(j(16,i.ast.firstToken,i.ast.lastToken,i.ast,{linkedTo:[...g.nodeNameOrLabelRef],templateStrings:[i.name,`#${h}-cells`,`/${g.path.slice(1).join("/")}`]}));break}let S=T?$e(T,0,0,s)??0:0,_=g.nodeType?.cellsValues?.find(M=>M.specifier===h)?.values;if(d.push([`${f}_phandle`,..._?.map(M=>`${f}_${M}`)??[],...Array.from({length:S-(_?.length??0)},(M,F)=>`${f}_cell${S-(_?.length??0)?F:""}`)]),1+S>l.length-u){let M=p??i.ast;a.push(j(19,M.firstToken,M.lastToken,M,{templateStrings:[i.name,`<${d.at(-1).join(" ")}>`]}));break}u+=1+S;let v=l.slice(u-S,u),R={mappingValuesAst:v,specifierSpace:h,target:g};i.nexusMapsTo.push(R);let D=g.getProperty(`${h}-map`);if(D){let M=g.getNexusMapEntryMatch(h,s,v);M?.match?R.mapItem=M.match:a.push(j(31,M.entry.firstToken,M.entry.lastToken,M.entry,{linkedTo:[D.ast]}))}v.every(M=>M instanceof Ee)&&g.spesifierNexusMapping.push({expressions:v,node:i.parent,property:i});let B=i.parent.getProperty(`${h}-names`);p&&B&&(B.ast.quickValues?.at(f)||a.push(j(33,p.firstToken,l[u-1]?.lastToken,i.ast,{severity:Nn.DiagnosticSeverity.Warning,linkedTo:[B.ast],templateStrings:[i.name,f.toString()]}))),f++}d.push([`${f}_phandle`,`${f}_cell...`]),r.signatureArgs=d.map(p=>p.map(g=>Nn.ParameterInformation.create(g)))}return a}};var Q$=(t,e)=>{let r=t.zephyrBindings.join(":");return e==="Zephyr"&&Ga().loadTypeAndCache(t.zephyrBindings,r),{files:t,type:e,getNodeTypes:n=>{switch(e){case"Zephyr":return Ga().getNodeTypes(n,r);case"DevicetreeOrg":return{type:NS().getNodeTypes(t.deviceOrgBindingsMetaSchema,t.deviceOrgTreeBindings,n),issues:[]}}},getBindings:()=>{switch(e){case"Zephyr":return Ga().getBindings(r);case"DevicetreeOrg":return NS().getBindings()}},getBusTypes:()=>{switch(e){case"Zephyr":return Ga().getBusTypes();case"DevicetreeOrg":return[]}},getDocumentLinks(n){if(!n)return[];switch(e){case"Zephyr":return Ga().getDocumentLinks(n,t.zephyrBindings);case"DevicetreeOrg":return[]}}}};var Em=$(U());var wJ=t=>!t.lastToken.prevToken||!t.lastToken.prevToken.prevToken?[]:[{startLine:t.firstToken.pos.line,startCharacter:t.firstToken.pos.col,endLine:t.lastToken.prevToken.prevToken.pos.line,endCharacter:t.lastToken.prevToken.prevToken.pos.col,kind:Em.FoldingRangeKind.Comment}],PS=t=>!t.openScope||!t.closeScope?.prevToken?t.nodes.flatMap(PS):[{startLine:t.openScope.pos.line,startCharacter:t.openScope.pos.col,endLine:t.closeScope.prevToken.pos.line,endCharacter:t.closeScope.prevToken.pos.col,kind:Em.FoldingRangeKind.Region},...t.nodes.flatMap(PS)],Z$=t=>{let e=[];return[...t instanceof ns?t.ifBlocks.map(r=>({start:(r.expression??r.keyword).lastToken,end:r.content?.lastToken??(r.expression??r.keyword).lastToken})):[{start:(t.ifDef.identifier??t.ifDef.keyword).lastToken,end:t.ifDef.content?.lastToken}],t.elseOption?{start:t.elseOption.keyword.lastToken,end:t.elseOption.content?.lastToken}:null].forEach(r=>{!r||!r.end||e.push({startLine:r.start.pos.line,startCharacter:r.start.pos.col,endLine:r.end.pos.line,endCharacter:r.end.pos.colEnd,kind:Em.FoldingRangeKind.Region})}),e},EJ=t=>t instanceof lt?PS(t):t instanceof rs||t instanceof ns?Z$(t):t instanceof ln?wJ(t):[];function eB(t,e){return e.allAstItems.flatMap(r=>[r,...r.allDescendants]).filter(r=>le(r.uri,t)).flatMap(EJ)}var To=$(U());function DJ(t){if(!t||!(t.ast instanceof Me)&&!(t.ast instanceof Qt))return[];let e=r=>r.nodeType?.bindingsPath?[To.Location.create(de(r.nodeType.bindingsPath),To.Range.create(To.Position.create(0,0),To.Position.create(0,0)))]:[];return t.item instanceof X&&!Ut(t.ast)?e(t.item):t.ast instanceof Qt&&t.ast.parentNode instanceof ie&&t.ast.parentNode.linksTo?e(t.ast.parentNode.linksTo):t.ast instanceof Me&&t.ast.linksTo?e(t.ast.linksTo):[]}async function tB(t,e){return _t(t,e,r=>[...DJ(r)])}var Cm=require("fs");var CJ=(t,e)=>{Mr().reset(t),Mr().requestTokens(t,!0),e(t)},Dm=class{constructor(e,r,n){this.file=e;this.cb=r;this.hasDocumentOpen=n}#e=0;watch(){if(this.count++,this.count===1){console.log("create watch for",this.file);let e=this.file,r=this.cb;this.onChange=()=>{if(this.hasDocumentOpen(e)){console.log("skipping on change document is open",e);return}console.log("onChange",e),CJ(e,r)},(0,Cm.watchFile)(e,this.onChange)}}unwatch(){this.count===1&&(console.log("dispose watch for",this.file),(0,Cm.unwatchFile)(this.file,this.onChange),this.onChange=void 0),this.count--}get count(){return this.#e}set count(e){this.#e=e,e<0&&(this.#e=0,console.warn("unwatching an un watched file",this.file))}};var Yt=$(require("path")),wS=require("fs");var Gn=t=>{if(t)return Array.isArray(t)?t:[t]},AJ=t=>({...t,deviceOrgBindingsMetaSchema:Gn(t.deviceOrgBindingsMetaSchema),deviceOrgTreeBindings:Gn(t.deviceOrgTreeBindings),includePaths:Gn(t.includePaths),lockRenameEdits:Gn(t.lockRenameEdits),zephyrBindings:Gn(t.zephyrBindings),overlays:Gn(t.overlays)}),rB=t=>({...t,defaultDeviceOrgBindingsMetaSchema:Gn(t.defaultDeviceOrgBindingsMetaSchema),defaultDeviceOrgTreeBindings:Gn(t.defaultDeviceOrgTreeBindings),defaultIncludePaths:Gn(t.defaultIncludePaths),defaultLockRenameEdits:Gn(t.defaultLockRenameEdits),defaultZephyrBindings:Gn(t.defaultZephyrBindings),contexts:t.contexts?.map(AJ)}),kn=async(t,e=[],r)=>{let n=r?e.map(s=>Se(s.uri)).find(s=>kw(s,r)):void 0;return[...e.at(0)?[{replace:"${workspaceFolder}",uri:n??Se(e[0].uri)}]:[],...e.map(s=>({replace:`\${workspaceFolder:${s.name}}`,uri:Se(s.uri)}))].forEach(s=>t=t.replaceAll(s.replace,s.uri)),t},Is={defaultBindingType:"Zephyr",defaultZephyrBindings:[],defaultIncludePaths:[],defaultDeviceOrgBindingsMetaSchema:[],defaultDeviceOrgTreeBindings:[],contexts:[],defaultLockRenameEdits:[],allowAdhocContexts:!0,autoChangeContext:!0,defaultShowFormattingErrorAsDiagnostics:!0},ES=async(t,e,r)=>{let n=await kn(t.cwd??"${workspaceFolder}",r,t.dtsFile)??e.cwd,i=await Promise.all((t.includePaths??e.defaultIncludePaths).map(p=>kn(p,r,t.dtsFile))),s=await Promise.all((t.zephyrBindings??e.defaultZephyrBindings).map(p=>kn(p,r,t.dtsFile))),o=t.bindingType??e.defaultBindingType,a=await Promise.all((t.deviceOrgTreeBindings??e.defaultDeviceOrgTreeBindings).map(p=>kn(p,r,t.dtsFile))),c=await Promise.all((t.deviceOrgBindingsMetaSchema??e.defaultDeviceOrgBindingsMetaSchema).map(p=>kn(p,r,t.dtsFile))),l=await Promise.all((t.lockRenameEdits??e.defaultLockRenameEdits).map(p=>kn(p,r,t.dtsFile)));n&&o==="Zephyr"&&(!s||s.length===0)&&(s=["./zephyr/dts/bindings"]);let u=t.dtsFile,d=t.overlays??[],f=t.compileCommands;return n&&(s=s.map(p=>(0,Yt.resolve)(n,p)).filter(p=>(0,wS.existsSync)(p)),a=a?.map(p=>(0,Yt.resolve)(n,p)),c=c.map(p=>(0,Yt.resolve)(n,p)),i=i.map(p=>(0,Yt.resolve)(n,p)),u=(0,Yt.resolve)(n,u),d=d.map(p=>(0,Yt.resolve)(n,p)),l=l.map(p=>(0,Yt.resolve)(n,p)),f=f?(0,Yt.resolve)(n,f):void 0),{ctxName:t.ctxName??(0,Yt.basename)(u),cwd:n?rt(n):void 0,includePaths:i.map(rt),zephyrBindings:s.map(rt),bindingType:o,deviceOrgTreeBindings:a.map(rt),deviceOrgBindingsMetaSchema:c.map(rt),dtsFile:rt(u),overlays:d.map(rt),lockRenameEdits:l.map(rt),compileCommands:f?rt(f):void 0,showFormattingErrorAsDiagnostics:t.showFormattingErrorAsDiagnostics??e.defaultShowFormattingErrorAsDiagnostics}},yu=async(t,e)=>{let r=t.cwd?await kn(t.cwd,e):void 0,n=t.defaultBindingType,i=t.defaultDeviceOrgBindingsMetaSchema=await Promise.all((t.defaultDeviceOrgBindingsMetaSchema??[]).map(d=>kn(d,e))),s=t.defaultDeviceOrgTreeBindings=await Promise.all((t.defaultDeviceOrgTreeBindings??[]).map(d=>kn(d,e))),o=t.defaultIncludePaths=await Promise.all((t.defaultIncludePaths??[]).map(d=>kn(d,e))),a=t.defaultZephyrBindings=await Promise.all((t.defaultZephyrBindings??[]).map(d=>kn(d,e))),c=t.defaultLockRenameEdits=await Promise.all((t.defaultLockRenameEdits??[]).map(d=>kn(d,e)));r&&(o=t.defaultIncludePaths=(t.defaultIncludePaths??[]).map(d=>(0,Yt.resolve)(r,d)),n==="Zephyr"&&!t.defaultZephyrBindings&&(a=["./zephyr/dts/bindings"]),a=a.map(d=>(0,Yt.resolve)(r,d)),i=i.map(d=>(0,Yt.resolve)(r,d)),s=(t.defaultDeviceOrgTreeBindings??[]).map(d=>(0,Yt.resolve)(r,d)),c=c.map(d=>(0,Yt.resolve)(r,d)));let l={cwd:r,defaultDeviceOrgBindingsMetaSchema:i,defaultDeviceOrgTreeBindings:s,defaultIncludePaths:o,defaultZephyrBindings:a,defaultLockRenameEdits:c,defaultBindingType:n,autoChangeContext:t.autoChangeContext??Is.autoChangeContext,allowAdhocContexts:t.allowAdhocContexts??Is.allowAdhocContexts,defaultShowFormattingErrorAsDiagnostics:t.defaultShowFormattingErrorAsDiagnostics??Is.defaultShowFormattingErrorAsDiagnostics},u=(await Promise.all(t.contexts?.map(d=>ES(d,l,e))??[])).filter(d=>[d.dtsFile,...d.overlays].every(f=>(0,wS.existsSync)(f)&&Yt.default.isAbsolute(f)));return{...l,contexts:u}};var nB=t=>`DT_PROP(${DS(t.parent)}, ${t.name.replaceAll("-","_")}))`,iB=t=>t.parent.labels.map(e=>`DT_PROP(DT_NODELABEL(${e.label.toString()}), ${t.name.replaceAll("-","_")})`);var DS=t=>`DT_PATH(${t.path.slice(1).map(e=>e.replace("@","_").replaceAll("-","_")).join(",")})`,sB=t=>t.labels.map(e=>`DT_NODELABEL(${e.label.toString()})`),oB=t=>{let e=[];return ii.getNodeFromPath(["aliases"],t.root)?.properties.filter(i=>{if(i.ast.quickValues?.at(0)===t.pathString)return!0;let s=i.ast.values?.values.at(0)?.value;if(s instanceof ie&&s.linksTo===t||s instanceof it&&s.path?.pathParts.at(-1)?.linksTo===t)return!0})?.forEach(i=>e.push(`DT_ALIAS(${i.name.replaceAll("-","_")})`)),e};function IJ(t,e){if(!t||!(t.item instanceof Ye)||!(t.ast instanceof Ze))return[];let r=[];return e.settings.bindingType==="Zephyr"&&(r.push({type:"dt_zephyr_macro_prop_node_path",data:nB(t.item)}),iB(t.item).forEach(n=>{r.push({type:"dt_zephyr_macro_prop_node_label",data:n})})),r}function OJ(t,e){if(!t||t.item===null)return[];let r;if(t.item instanceof X?r=t.item:t.ast.parentNode instanceof ie&&t.ast.parentNode.linksTo?r=t.ast.parentNode.linksTo:t.ast instanceof Me&&t.ast.linksTo&&(r=t.ast.linksTo),!r)return[];let n=[{type:"path",data:r.pathString}];return e.settings.bindingType==="Zephyr"&&(sB(r).forEach(i=>{n.push({type:"dt_zephyr_macro_node_label",data:i})}),n.push({type:"dt_zephyr_macro_node_path",data:DS(r)}),oB(r).forEach(i=>{n.push({type:"dt_zephyr_macro_prop_node_alias",data:i})})),n}async function aB(t,e){return e?_t(t,e,r=>[...OJ(r,e),...IJ(r,e)]):[]}var cB=$(U());function MJ(t){return!t||!(t.item instanceof Ye)?void 0:t.item.parent.nodeType?.getSignatureHelp?.(t.item,t.ast,t.beforeAst,t.afterAst)}async function xJ(t){let e=bc(t?.ast);if(!e||!e.params.length||!t?.ast||t.ast===e.functionName)return;let n=(await t.runtime.context.getAllParsers()).at(-1).cPreprocessorParser.macros.get(e.functionName.name)?.macro.identifier;if(!n||!(n instanceof ni))return;let i=n.params.map(o=>({label:o instanceof St?o.name:"..."})),s=e.params.find(o=>o&&(t.ast===o||o.isAncestorOf(t.ast)));return s??=t.afterAst?e.params.find(o=>o&&(t.afterAst===o||o.isAncestorOf(t.afterAst))):void 0,s??=t.beforeAst?e.params.find(o=>o&&(t.beforeAst===o||o.isAncestorOf(t.beforeAst))):void 0,{signatures:[cB.SignatureInformation.create(`${e.functionName.name}(${i.map(o=>o.label).join(", ")})`,void 0,...i.flat())],activeSignature:0,activeParameter:s?e.params.indexOf(s):void 0}}async function lB(t,e){if(e)return(await _t(t,e,async r=>[await xJ(r)||MJ(r)])).at(0)}var uB=require("timers"),dB=require("events");var CS=class extends dB.EventEmitter{constructor(e=3e3,r=1e3){super(),this.thresholdBytes=e*1024*1024,this.interval=(0,uB.setInterval)(()=>{let n=process.memoryUsage().heapUsed;n>this.thresholdBytes&&this.emit("thresholdExceeded",{usedMb:(n/1024/1024).toFixed(2),thresholdMb:e})},r)}stop(){clearInterval(this.interval)}},LJ=new CS(3e3),fB=()=>{LJ.on("thresholdExceeded",({usedMb:t,thresholdMb:e})=>{console.warn(`[HeapMonitor] Heap usage exceeded ${e}MB: ${t}MB used`),Ww(),zw()})};var He=[],ce,Ya,Am=new WeakMap,Tu=new Map;fB();var hB=t=>{t.getContextFiles().forEach(e=>{Tu.has(e)||Tu.set(e,new Dm(e,LS,r=>!!Om(r))),Tu.get(e)?.watch()})},MS=async t=>{let e=He.indexOf(t);if(e===-1)return;bu(t,void 0,!0),Am.delete(t),console.log(`(ID: ${t.id}) cleaning Context for [${t.ctxNames.join(",")}]`);let r=await Ms(t);if(te.sendNotification("devicetree/contextDeleted",{ctxNames:t.ctxNames.map(n=>n.toString()),id:t.id,...await t.getFileTree(),settings:t.settings,active:ce===t,type:r.type}),He.splice(e,1),await BS(),t===ce&&(ce=void 0,He.length)){let n=Ya?cn(He,{uri:Ya}):void 0;n??=He[0],console.log("Active context was deleted. Forcing active to",n.id),await Xt({id:n.id},!0)}t.getContextFiles().map(n=>Tu.get(n)?.unwatch())},qJ=t=>{let e=Am.get(t);if(!e?.abort.signal.aborted)return Promise.all([e?.promise,t.getRuntime()])},Fe=async()=>{await Promise.all(He.map(qJ))},xS=async t=>(await mB()).indexOf(t)!==-1,mB=async()=>{let t=await gB();return He.filter(e=>!t.some(r=>r===e))},gB=async()=>{let t=await OS();return He.filter(e=>t.contexts.find(r=>ki(r)===e.id))},$J=async()=>{let t=await VJ();return He.filter(e=>t.contexts.find(r=>ki(r)===e.id))},BJ=async t=>(await $J()).indexOf(t)!==-1,FJ=async(t,e)=>{if(t===e)return!0;let r=(await t.getAllParsers()).flatMap(i=>i.cPreprocessorParser.dtsIncludes).filter(i=>i.resolvedPath),n=(await e.getAllParsers()).flatMap(i=>i.cPreprocessorParser.dtsIncludes).filter(i=>i.resolvedPath);return n.some(i=>le(i.resolvedPath,t.parser.uri))&&r.length?r.every(i=>n.some(s=>s.resolvedPath===i.resolvedPath&&s.firstToken.pos.col===i.firstToken.pos.col&&s.firstToken.pos.len===i.firstToken.pos.len&&s.firstToken.pos.line===i.firstToken.pos.line&&s.lastToken.pos.col===i.lastToken.pos.col&&s.lastToken.pos.len===i.lastToken.pos.len&&s.lastToken.pos.line===i.lastToken.pos.line)):e.getContextFiles().some(i=>le(i,t.parser.uri))},jJ=async t=>{if(!await xS(t))return;let e=await mB(),r=await gB(),n=await df(e);if(He.indexOf(t)===-1)return;let i=await Promise.all(n.flatMap(a=>[...r,...e.filter(c=>c!==a.context)].map(async c=>({context:a.context,same:await FJ(a.context,c)})))),s=t.getContextFiles(),o=n.filter(a=>i.some(c=>c.context===a.context&&c.same)||a.context!==t&&le(a.context.parser.uri,t.parser.uri)&&s.some(c=>c&&a.files.indexOf(c)!==-1)).map(a=>a.context);o.length&&await Promise.all(o.map(MS))},te=(0,ze.createConnection)(ze.ProposedFeatures.all),yr=new ze.TextDocuments(Qn),yB=!1,Im=!1,TB=!1,vB=!1,bB=!1,AS;te.onInitialize(async t=>{AS=t.workspaceFolders??[],te.console.log(`[Server(${process.pid}) ${AS?.at(0)?.uri} Version 0.6.5 ] Started and initialize received`);let e=t.capabilities;yB=!!(e.workspace&&e.workspace.configuration),Im=!!(e.workspace&&e.workspace.workspaceFolders),TB=!!e.workspace?.diagnostics?.refreshSupport,vB=!!e.workspace?.semanticTokens?.refreshSupport,bB=!!e.workspace?.foldingRange?.refreshSupport;let r={capabilities:{typeDefinitionProvider:!0,workspaceSymbolProvider:!0,textDocumentSync:ze.TextDocumentSyncKind.Incremental,renameProvider:{prepareProvider:!0},completionProvider:{resolveProvider:!0,triggerCharacters:["&","="," ",'"',"(",","]},codeActionProvider:{codeActionKinds:[ze.CodeActionKind.QuickFix,ze.CodeActionKind.SourceFixAll]},documentSymbolProvider:!0,semanticTokensProvider:{legend:{tokenTypes:sf,tokenModifiers:of},full:!0},documentLinkProvider:{resolveProvider:!1},foldingRangeProvider:!0,definitionProvider:!0,declarationProvider:!0,referencesProvider:!0,documentFormattingProvider:!0,documentRangeFormattingProvider:!0,hoverProvider:!0,signatureHelpProvider:{triggerCharacters:["<","("],retriggerCharacters:[" ",","]}}};return Im&&(r.capabilities.workspace={workspaceFolders:{changeNotifications:!0,supported:!0}}),await kB(t.initializationOptions),r});var IS,UJ={tabSize:8,insertSpaces:!1,trimTrailingWhitespace:!0,insertFinalNewline:!0};te.onInitialized(async()=>{if(yB&&(te.client.register(ze.DidChangeConfigurationNotification.type,{}),!IS)){let t=await te.workspace.getConfiguration("editor").catch(()=>{}),e=await te.workspace.getConfiguration("[devicetree]").catch(()=>{}),r={tabSize:e?.["editor.tabSize"],insertSpaces:e?.["editor.insertSpaces"],trimFinalNewlines:e?.["editor.trimFinalNewlines"],trimTrailingWhitespace:e?.["editor.trimTrailingWhitespace"],insertFinalNewline:e?.["editor.insertFinalNewline"]};(t||r)&&(IS={...t,...r})}Im&&te.workspace.onDidChangeWorkspaceFolders(async t=>{te.console.log("Workspace folder change event received"),await Nu()})});te.onRequest("workspace/workspaceFolders",async()=>AS??null);var HJ=async()=>{let t=_B();return t={...Is,...t},yu(t,await Su())},OS=async()=>{let t=WJ();return t={...Is,...t},yu(t,await Su())},VJ=async()=>{let t=GJ();return t={...Is,...t},yu(t,await Su())},_u=async()=>{let t=zJ();return t={...Is,...t},yu(t,await Su())},Su=async()=>Im?await te.workspace.getWorkspaceFolders()??[]:[],pB=async t=>{let e=cn(He,{id:ki(t)});if(e)return e.ctxNames.includes(t.ctxName)||console.log(`(ID: ${e.id}) Adding name ${t.ctxName} for [${e.ctxNames.join(",")}]`),e.addCtxName(t.ctxName),e;let r=ki(t);console.log(`(ID: ${r}) New context [${t.ctxName}]`),console.log(`(ID: ${r}) Settings: ${JSON.stringify(t,void 0," ")}`);let n=(0,Xa.join)((0,Xa.dirname)(t.dtsFile),"dts","bindings"),i=new Ff(t,IS??UJ,t.bindingType?Q$({zephyrBindings:t.zephyrBindings?[n,...t.zephyrBindings]:[n],deviceOrgBindingsMetaSchema:t.deviceOrgBindingsMetaSchema??[],deviceOrgTreeBindings:t.deviceOrgTreeBindings??[]},t.bindingType):void 0);He.push(i),await i.stable(),hB(i);let s=await Ms(i);return te.sendNotification("devicetree/contextCreated",{ctxNames:i.ctxNames.map(o=>o.toString()),id:i.id,...await i.getFileTree(),settings:i.settings,active:i===ce,type:s.type}),await jJ(i),await BS(),i},Nu=async()=>{let t=await OS(),e=await _u();e.allowAdhocContexts||(e=await OS());let r=e.contexts.map(ki),n=He.filter(i=>!r.includes(i.id));await Promise.all(n.map(MS)),await t.contexts?.reduce((i,s)=>i.then(async()=>{await pB(s)}),Promise.resolve()),e.allowAdhocContexts&&await(await HJ()).contexts?.reduce((s,o)=>s.then(async()=>{cn(He,{uri:o.dtsFile})||await pB(o)}),Promise.resolve()),Ya?await Xt({uri:Ya}):!ce&&He.length&&(console.log(`No active context using first context (ID: ${He[0].id}) [${He[0].ctxNames.join(",")}]`),await Xt({id:He[0].id}))},Rn,Os,vu=new Map,Ka=new Map,zJ=()=>!Os&&!Rn?void 0:{...Os,...Rn,contexts:[...Rn?.contexts??[],...Array.from(Ka.values()),...Array.from(vu.values())]},_B=()=>!Os&&!Rn?void 0:{...Os,...Rn,contexts:[...Array.from(vu.values())]},WJ=()=>!Os&&!Rn?void 0:{...Os,...Rn,contexts:[...Rn?.contexts??[],...Array.from(Ka.values())]},GJ=()=>!Os&&!Rn?void 0:{...Rn,contexts:[...Rn?.contexts??[]]};function KJ(t){let e={...t};for(let r in e)e[r]===null&&delete e[r];return e}var SB=async()=>{let t=await _u();console.log("Resolved settings",JSON.stringify(t,void 0," ")),te.sendNotification("devicetree/settingsChanged",t),await Nu(),Fe().then(()=>{TB&&te.languages.diagnostics.refresh()})},YJ=async()=>{let t=ce?.getContextFiles();await Promise.all(Array.from(yr.keys()).filter(Bt).map(async e=>{t?.some(r=>le(r,Se(e)))||await te.sendDiagnostics({uri:e,version:yr.get(e)?.version,diagnostics:[{severity:ze.DiagnosticSeverity.Information,range:ze.Range.create(ze.Position.create(0,0),ze.Position.create(0,0)),message:"File not in active context",source:"devicetree"}]})}))},LS=async t=>{let e=Fy(He,t);if(e.length)e.sort((r,n)=>r===ce?-1:n===ce?1:0).forEach(r=>{Am.get(r)?.abort.abort();let n=new AbortController,i=new Promise(s=>{setTimeout(async()=>{if(n.signal.aborted){s();return}let o=performance.now(),a=ce===r,c=a?NB(r):[],l=r.getContextFiles();await r.reevaluate(t),hB(r),l.forEach(p=>Tu.get(p)?.unwatch()),a&&FS(r)?.length&&qS(r).then(p=>{let g=p.items.map(h=>({uri:h.uri,version:h.version??void 0,diagnostics:h.items}));bu(r,c.filter(h=>g.every(T=>T.uri!==h.uri))),g.forEach(h=>{te.sendDiagnostics(h)}),ku.set(r,!0)});let[u,d]=await Promise.all([Ms(r),r.getFileTree()]),f={ctxNames:r.ctxNames.map(p=>p.toString()),id:r.id,...d,settings:r.settings,active:a,type:u.type};ce===r&&te.sendNotification("devicetree/activeContextStableNotification",f),te.sendNotification("devicetree/contextStableNotification",f),s(),console.log("reevaluate",performance.now()-o)},50)});Am.set(r,{abort:n,promise:i})});else{if((await _u()).allowAdhocContexts===!1)return;await Nu(),await Xt({uri:t})}},XJ=t=>yr.keys().find(e=>le(Se(e),t)),Om=t=>{let e=XJ(t);if(e)return yr.get(e)},NB=t=>t.getContextFiles().map(e=>({uri:de(e),version:Om(e)?.version,diagnostics:[]})),ku=new WeakMap,bu=async(t,e=NB(t),r=!1)=>{if(!r&&t!==ce)return;let n=performance.now();await Promise.all(e.filter(i=>t===ce||!ce?.getContextFiles().some(s=>le(Se(i.uri),s))).map(i=>te.sendDiagnostics({uri:i.uri,version:yr.get(i.uri)?.version,diagnostics:[]}))),ku.delete(t),console.log(`(ID: ${t.id})`,"clear workspace diagnostics",`[${t.ctxNames.join(",")}]`,performance.now()-n)},qS=async t=>{await t.stable();let e=performance.now(),r=await t.getDiagnostics(),n=await Promise.all(t.getContextFiles().map(async i=>{let s=Om(i),o=[];return s&&t.settings.showFormattingErrorAsDiagnostics&&o.push(...(await wf({textDocument:s,options:t.formattingOptions},t,s?.getText(),"File Diagnostics")).map(a=>a.diagnostic())),{uri:de(i),kind:ze.DocumentDiagnosticReportKind.Full,items:[...r.get(i)??[],...o],version:s?.version??null}}));return console.log(`(ID: ${t.id})`,"workspace diagnostics",`[${t.ctxNames.join(",")}]`,performance.now()-e),{items:[...n]}},$S=async t=>{let{items:e}=await qS(t);e.map(r=>({uri:r.uri,version:r.version??void 0,diagnostics:r.items})).forEach(async r=>{te.sendDiagnostics(r)}),ku.set(t,!0)},BS=async()=>{let t=await Promise.all(He.map(Ms));console.log("======== Context List ========"),t.forEach(e=>{console.log(`(ID: ${e.ctx.id}) [${e.ctx.ctxNames.join(",")}]`,`[${e.type}]`,ce===e.ctx?" [ACTIVE]":"")}),console.log("==============================")},Ms=async t=>{let e=await xS(t),r=!e&&await BJ(t);return{ctx:t,type:e?"Ad Hoc":r?"User":"3rd Party"}},Xt=async(t,e=!1)=>{if("uri"in t){if(!Bt(t.uri))return!1;Ya=t.uri,console.log("Active File Uri",Ya)}let r=await _u();if(ce&&!e&&!r.autoChangeContext||(await Fe(),!e&&ce?.getContextFiles().find(o=>"uri"in t&&le(o,t.uri))))return!1;let n=ce,i=cn(He,t),s=n!==i;return s&&(n&&bu(n),ce=i,i?(Ms(i).then(async o=>{let a=await i.getFileTree();!i||i!==ce&&!He.includes(i)||te.sendNotification("devicetree/newActiveContext",{ctxNames:i.ctxNames.map(c=>c.toString()),id:i.id,...a,settings:i.settings,active:ce===i,type:o.type})}),FS(i)?.length&&$S(i),await BS()):te.sendNotification("devicetree/newActiveContext",void 0)),bB&&te.languages.foldingRange.refresh(),vB&&te.languages.semanticTokens.refresh(),s},Bt=t=>[".dts",".dtsi",".dtso",".overlay"].some(e=>t.endsWith(e));yr.listen(te);var FS=t=>t?.getContextFiles()?.filter(e=>Om(e));yr.onDidClose(async t=>{let e=Se(t.document.uri);if(!Bt(e))return;let r=Fy(He,e);if(r.length===0){vu.delete(e),te.sendDiagnostics({uri:t.document.uri,version:yr.get(t.document.uri)?.version,diagnostics:[]});return}await Promise.all(r.map(async n=>{!!FS(n)?.filter(s=>s!==e).length?ce?.getContextFiles().some(s=>le(s,e))?ce?.getContextFiles().some(s=>le(s,e))&&(await bu(ce),await $S(ce)):te.sendDiagnostics({uri:t.document.uri,version:yr.get(t.document.uri)?.version,diagnostics:[]}):await xS(n)?(await MS(n),vu.delete(n.settings.dtsFile)):bu(n)}))});yr.onDidOpen(async t=>{let e=Se(t.document.uri);if(!Bt(e))return;await Fe(),YJ();let r=cn(He,{uri:e});if(console.log("onDidOpen",r?.id,e),r)r!==ce?await Xt({id:r.id}):r===ce&&(!ku.get(r)||r.getContextFiles().some(n=>!le(n,e)))&&await $S(r);else{let n={ctxName:(0,Xa.basename)(e),dtsFile:e};vu.set(e,n),await LS(e)}});yr.onDidChangeContent(async t=>{let e=Se(t.document.uri);if(!Bt(e))return;let r=t.document.getText(),n=Mr();n.needsRenew(e,r)&&(console.log("Content changed"),n.renewLexer(e,r),await LS(e))});var kB=async t=>{t?.settings?.devicetree&&(Rn=rB(KJ(t.settings.devicetree)),console.log("Configuration changed",JSON.stringify(t,void 0," ")),await SB())};te.onDidChangeConfiguration(async t=>{await kB(t)});te.listen();te.languages.diagnostics.onWorkspace(async()=>{await Fe();let t=ce;return t?qS(t).finally(()=>{ku.set(t,!0)}):{items:[]}});te.onDidChangeWatchedFiles(t=>{te.console.log("We received a file change event")});te.onCompletion(async t=>{let e=Se(t.textDocument.uri);if((e.endsWith(".c")||e.endsWith(".cpp"))&&ce&&ce.bindingLoader?.type==="Zephyr")return uA(t,ce,yr.get(t.textDocument.uri));if(!Bt(e))return[];await Fe(),Xt({uri:e});let r=Tr(e);return r?[...await KD(t,r),...await wA(t,r)]:[]});te.onCompletionResolve(t=>t);var Tr=t=>{let e=_B();return cn(He,{uri:t},ce,e?.preferredContext)};te.onDocumentSymbol(async t=>{let e=Se(t.textDocument.uri);if(!Bt(e))return[];await Fe();let r=Tr(e);return r?r.getUriParser(e)?.getDocumentSymbols(e):[]});te.onWorkspaceSymbol(async()=>{await Fe();let t=ce;return t?(await t.getAllParsers()).flatMap(e=>e.getWorkspaceSymbols()):[]});te.languages.semanticTokens.on(async t=>{let e=Se(t.textDocument.uri);if(!Bt(e))return{data:[]};try{await Fe();let r=Tr(e),n=new ze.SemanticTokensBuilder,i=r?.isInContext(e);return!r||!i?{data:[]}:((await r.getAllParsers()).forEach(s=>s.buildSemanticTokens(n,e)),n.build())}catch(r){throw console.log(r),r}});te.onDocumentLinks(async t=>{await Fe();let e=Se(t.textDocument.uri);return Bt(e)?Tr(e)?.getDocumentLinks(e):e.endsWith(".yaml")&&ce?ce.bindingLoader?.getDocumentLinks?.(yr.get(t.textDocument.uri))??[]:[]});te.onPrepareRename(async t=>{let e=Se(t.textDocument.uri);if(!Bt(e))return;await Fe(),Xt({uri:e});let r=Tr(e);return gA(t,r)});te.onRenameRequest(async t=>{let e=Se(t.textDocument.uri);if(!Bt(e))return;await Fe(),Xt({uri:e});let r=Tr(e);return mA(t,r)});te.onReferences(async t=>{let e=Se(t.textDocument.uri);if(!Bt(e))return;await Fe(),Xt({uri:e});let r=Tr(e);return dA(t,r)});te.onDefinition(async t=>{let e=Se(t.textDocument.uri);if((e.endsWith(".c")||e.endsWith(".cpp"))&&ce&&ce.bindingLoader?.type==="Zephyr")return _A(t,ce,yr.get(t.textDocument.uri));if(!Bt(e))return;await Fe(),Xt({uri:e});let r=Tr(e),n=(await r?.getDocumentLinks(e,t.position))?.filter(i=>i.target).map(i=>ze.Location.create(i.target,i.range))??[];return n.length?n:vA(t,r)});te.onDeclaration(async t=>{let e=Se(t.textDocument.uri);if((e.endsWith(".c")||e.endsWith(".cpp"))&&ce&&ce.bindingLoader?.type==="Zephyr")return NA(t,ce,yr.get(t.textDocument.uri));if(!Bt(e))return;await Fe(),Xt({uri:e});let r=Tr(e);return bA(t,r)});te.onCodeAction(async t=>{let e=Se(t.textDocument.uri);if(Bt(e))return RA(t)});var RB=async t=>{let e=Se(t.textDocument.uri);if(!Bt(e))return;await Fe(),Xt({uri:e});let r=Tr(e);if(!r)return[];if((await r.getSyntaxIssues(void 0,l=>Ko(l,e,!1))).get(e)?.length)return[];let i=Mr().getDocument(e),s=i.getText(),o=await wf(t,r,s,"New Text");if(o===s)return[];let a=i.lineCount-1,c=i.getText({start:{line:a,character:0},end:{line:a+1,character:0}}).length;return[ze.TextEdit.replace(ze.Range.create(ze.Position.create(0,0),ze.Position.create(i.lineCount,c)),o)]};te.onDocumentRangeFormatting(RB);te.onDocumentFormatting(RB);te.onHover(async t=>{let e=Se(t.textDocument.uri);if((e.endsWith(".c")||e.endsWith(".cpp"))&&ce&&ce.bindingLoader?.type==="Zephyr")return XI(t,ce,yr.get(t.textDocument.uri));if(!Bt(e))return;await Fe();let r=Tr(e);return(await EA(t,r)).at(0)});te.onFoldingRanges(async t=>{let e=Se(t.textDocument.uri);if(!Bt(e))return;await Fe();let r=Tr(e),n=r?.isInContext(e);if(!r||!n)return[];let i=(await r.getAllParsers()).find(s=>s.getFiles().some(o=>o===e));return i?eB(e,i):[]});te.onTypeDefinition(async t=>{let e=Se(t.textDocument.uri);if(!Bt(e))return;await Fe(),Xt({uri:e});let r=Tr(e);return tB(t,r)});te.onSignatureHelp(async t=>{let e=Se(t.textDocument.uri);if(!Bt(e))return;await Fe(),Xt({uri:e});let r=Tr(e);return lB(t,r)});te.onRequest("devicetree/getContexts",async()=>(await Fe(),Promise.all(He.map(async t=>{let e=await Ms(t);return{ctxNames:t.ctxNames.map(r=>r.toString()),id:t.id,...await t.getFileTree(),settings:t.settings,active:ce===t,type:e.type}}))));te.onRequest("devicetree/setActive",async t=>(await Fe(),console.log("devicetree/setActive",t),await Xt(t,!0)));te.onRequest("devicetree/getActiveContext",async()=>{if(await Fe(),console.log("devicetree/getActiveContext"),!ce)return;let t=await Ms(ce);return ce?{ctxNames:ce.ctxNames.map(e=>e.toString()),id:ce.id,...await ce.getFileTree(),settings:ce.settings,active:!0,type:t.type}:void 0});te.onRequest("devicetree/setDefaultSettings",async t=>{await Fe(),Os=t,console.log("Integration Settings",t),await SB()});te.onRequest("devicetree/requestContext",async t=>{await Fe();let e=await _u(),r=await ES(t,e,await Su());console.log("devicetree/requestContext",r);let n=ki(r),i=Array.from(Ka).find(([,a])=>a.ctxName===t.ctxName);if(i){let a=i[0].split(":",1)[0];cn(He,{name:t.ctxName.toString()})?.removeCtxName(t.ctxName),console.log(`Removing integration context with ID ${a} and name ${t.ctxName}`),Ka.delete(i[0])}Ka.set(`${n}:${t.ctxName}`,t),await Nu();let s=He.find(a=>a.id===n);if(!s)throw new Error("Failed to create context");let o=await Ms(s);return{ctxNames:s.ctxNames.map(a=>a.toString()),id:n,...await s.getFileTree(),settings:s.settings,active:!0,type:o.type}});te.onRequest("devicetree/removeContext",async({id:t,name:e})=>{await Fe(),Ka.delete(`${t}:${e}`);let r=cn(He,{id:t});if(r){if(r.removeCtxName(e),r.ctxNames.length){console.log("Context will not be deleted as it is still in use by others");return}await Nu()}});te.onRequest("devicetree/compiledDtsOutput",async t=>{if(await Fe(),!t)return;let e=cn(He,{id:t});if(!e)return;let r=await e.toFullString();return Yy({textDocument:{uri:de(e.settings.dtsFile)},options:e.formattingOptions},r,"New Text")});te.onRequest("devicetree/serializedContext",async t=>(await Fe(),t?cn(He,{id:t})?.serialize():void 0));te.onRequest("devicetree/activePath",async t=>{if(await Fe(),!ce)return;let e=r=>{if(r?.item)return r.item instanceof X?{nodePath:r.item.pathString}:{nodePath:r.item.parent.pathString,propertyName:r.item.name}};return(await _t(t,ce,r=>[e(r)])).at(0)});te.onRequest("devicetree/customActions",async t=>(await Fe(),aB(t,ce)));te.onRequest("devicetree/activeFileUri",async t=>{await Fe(),Xt({uri:t})});var JJ=async(t,e,r)=>{if((await e.getSyntaxIssues(void 0,o=>Ko(o,r,!1))).get(r)?.length)throw new Error("Unable to format. Files has syntax issues.");let i=Mr().getDocument(r);return await wf(t,e,i.getText(),"New Text")};te.onRequest("devicetree/formattingText",async t=>{await Fe();let e=Se(t.textDocument.uri),r=Tr(e);if(r)return Xt({uri:e}),JJ(t,r,e);let n=Mr().getDocument(e,t.text),i=await Yy(t,n.getText(),"Both");return{text:i.text,diagnostics:i.diagnostic.map(s=>s.diagnostic())}});te.onRequest("devicetree/diagnosticIssues",async({uri:t,full:e})=>{await Fe();let r=Se(t);Xt({uri:r});let n=Tr(r);if(!n)return[];let i=e?(await n.getDiagnostics()).get(r):(await n.getSyntaxIssues(void 0,s=>Ko(s,r,!!e))).get(r);if(i?.length)return i});te.onRequest("devicetree/evalMacros",async({macros:t,ctxId:e})=>{await Fe();let r=cn(He,{id:e});return r?t.map(n=>{let i=af(n,r.macros),s=De(i);return{macro:n,evaluated:typeof s=="number"?s:i}}):[]});
|