@nowline/embed 0.4.1 → 0.5.0
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/README.md +14 -26
- package/dist/auto-scan.d.ts +11 -0
- package/dist/auto-scan.d.ts.map +1 -1
- package/dist/auto-scan.js +28 -0
- package/dist/auto-scan.js.map +1 -1
- package/dist/index.d.ts +18 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +8 -20
- package/dist/index.js.map +1 -1
- package/dist/meta.json +116 -59
- package/dist/nowline.esm.js +1020 -133
- package/dist/nowline.esm.js.map +4 -4
- package/dist/nowline.min.js +82 -82
- package/dist/nowline.min.js.map +4 -4
- package/dist/share.d.ts +45 -0
- package/dist/share.d.ts.map +1 -0
- package/dist/share.js +75 -0
- package/dist/share.js.map +1 -0
- package/dist/theme.d.ts +3 -3
- package/dist/theme.d.ts.map +1 -1
- package/dist/theme.js +5 -3
- package/dist/theme.js.map +1 -1
- package/package.json +6 -7
- package/src/auto-scan.ts +42 -0
- package/src/index.ts +43 -31
- package/src/share.ts +108 -0
- package/src/theme.ts +7 -5
- package/dist/auth/allowlist.d.ts +0 -20
- package/dist/auth/allowlist.d.ts.map +0 -1
- package/dist/auth/allowlist.js +0 -33
- package/dist/auth/allowlist.js.map +0 -1
- package/dist/auth/env.d.ts +0 -23
- package/dist/auth/env.d.ts.map +0 -1
- package/dist/auth/env.js +0 -24
- package/dist/auth/env.js.map +0 -1
- package/dist/auth/firebase-auth.client.d.ts +0 -21
- package/dist/auth/firebase-auth.client.d.ts.map +0 -1
- package/dist/auth/firebase-auth.client.js +0 -142
- package/dist/auth/firebase-auth.client.js.map +0 -1
- package/src/auth/allowlist.ts +0 -32
- package/src/auth/env.ts +0 -37
- package/src/auth/firebase-auth.client.ts +0 -174
package/dist/nowline.min.js
CHANGED
|
@@ -1,101 +1,101 @@
|
|
|
1
|
-
/*! @nowline/embed 0.
|
|
2
|
-
"use strict";var nowline=(()=>{var UP=Object.create;var hc=Object.defineProperty;var BP=Object.getOwnPropertyDescriptor;var XP=Object.getOwnPropertyNames;var GP=Object.getPrototypeOf,HP=Object.prototype.hasOwnProperty;var jP=(t,e,r)=>e in t?hc(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r;var bE=(t,e)=>()=>(t&&(e=t(t=0)),e);var ce=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),tn=(t,e)=>{for(var r in e)hc(t,r,{get:e[r],enumerable:!0})},Wu=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of XP(e))!HP.call(t,i)&&i!==r&&hc(t,i,{get:()=>e[i],enumerable:!(n=BP(e,i))||n.enumerable});return t},Ie=(t,e,r)=>(Wu(t,e,"default"),r&&Wu(r,e,"default")),rm=(t,e,r)=>(r=t!=null?UP(GP(t)):{},Wu(e||!t||!t.__esModule?hc(r,"default",{value:t,enumerable:!0}):r,t)),qu=t=>Wu(hc({},"__esModule",{value:!0}),t);var le=(t,e,r)=>jP(t,typeof e!="symbol"?e+"":e,r);var Dd={};tn(Dd,{AnnotatedTextEdit:()=>Xn,ChangeAnnotation:()=>bo,ChangeAnnotationIdentifier:()=>Lt,CodeAction:()=>hy,CodeActionContext:()=>py,CodeActionKind:()=>dy,CodeActionTriggerKind:()=>ul,CodeDescription:()=>Hg,CodeLens:()=>my,Color:()=>vd,ColorInformation:()=>Mg,ColorPresentation:()=>Fg,Command:()=>wo,CompletionItem:()=>ey,CompletionItemKind:()=>Vg,CompletionItemLabelDetails:()=>Qg,CompletionItemTag:()=>Kg,CompletionList:()=>ty,CreateFile:()=>zs,DeleteFile:()=>Ys,Diagnostic:()=>sl,DiagnosticRelatedInformation:()=>kd,DiagnosticSeverity:()=>Xg,DiagnosticTag:()=>Gg,DocumentHighlight:()=>sy,DocumentHighlightKind:()=>oy,DocumentLink:()=>yy,DocumentSymbol:()=>fy,DocumentUri:()=>Lg,EOL:()=>iF,FoldingRange:()=>Bg,FoldingRangeKind:()=>Ug,FormattingOptions:()=>gy,Hover:()=>ry,InlayHint:()=>Iy,InlayHintKind:()=>Od,InlayHintLabelPart:()=>Ld,InlineCompletionContext:()=>Cy,InlineCompletionItem:()=>vy,InlineCompletionList:()=>ky,InlineCompletionTriggerKind:()=>Ny,InlineValueContext:()=>Ay,InlineValueEvaluatableExpression:()=>wy,InlineValueText:()=>Ry,InlineValueVariableLookup:()=>by,InsertReplaceEdit:()=>Zg,InsertTextFormat:()=>Yg,InsertTextMode:()=>Jg,Location:()=>ol,LocationLink:()=>$g,MarkedString:()=>ll,MarkupContent:()=>Ks,MarkupKind:()=>Cd,OptionalVersionedTextDocumentIdentifier:()=>cl,ParameterInformation:()=>ny,Position:()=>ke,Range:()=>_e,RenameFile:()=>Vs,SelectedCompletionInfo:()=>Py,SelectionRange:()=>xy,SemanticTokenModifiers:()=>_y,SemanticTokenTypes:()=>Ty,SemanticTokens:()=>Ey,SignatureInformation:()=>iy,StringValue:()=>Sy,SymbolInformation:()=>ly,SymbolKind:()=>ay,SymbolTag:()=>cy,TextDocument:()=>Ly,TextDocumentEdit:()=>al,TextDocumentIdentifier:()=>Wg,TextDocumentItem:()=>zg,TextEdit:()=>un,URI:()=>Sd,VersionedTextDocumentIdentifier:()=>qg,WorkspaceChange:()=>jg,WorkspaceEdit:()=>Nd,WorkspaceFolder:()=>Oy,WorkspaceSymbol:()=>uy,integer:()=>Dg,uinteger:()=>il});var Lg,Sd,Dg,il,ke,_e,ol,$g,vd,Mg,Fg,Ug,Bg,kd,Xg,Gg,Hg,sl,wo,un,bo,Lt,Xn,al,zs,Vs,Ys,Nd,qs,Pd,jg,Wg,qg,cl,zg,Cd,Ks,Vg,Yg,Kg,Zg,Jg,Qg,ey,ty,ll,ry,ny,iy,oy,sy,ay,cy,ly,uy,fy,dy,ul,py,hy,my,gy,yy,xy,Ty,_y,Ey,Ry,by,wy,Ay,Od,Ld,Iy,Sy,vy,ky,Ny,Py,Cy,Oy,iF,Ly,Dy,b,Zs=bE(()=>{"use strict";(function(t){function e(r){return typeof r=="string"}t.is=e})(Lg||(Lg={}));(function(t){function e(r){return typeof r=="string"}t.is=e})(Sd||(Sd={}));(function(t){t.MIN_VALUE=-2147483648,t.MAX_VALUE=2147483647;function e(r){return typeof r=="number"&&t.MIN_VALUE<=r&&r<=t.MAX_VALUE}t.is=e})(Dg||(Dg={}));(function(t){t.MIN_VALUE=0,t.MAX_VALUE=2147483647;function e(r){return typeof r=="number"&&t.MIN_VALUE<=r&&r<=t.MAX_VALUE}t.is=e})(il||(il={}));(function(t){function e(n,i){return n===Number.MAX_VALUE&&(n=il.MAX_VALUE),i===Number.MAX_VALUE&&(i=il.MAX_VALUE),{line:n,character:i}}t.create=e;function r(n){let i=n;return b.objectLiteral(i)&&b.uinteger(i.line)&&b.uinteger(i.character)}t.is=r})(ke||(ke={}));(function(t){function e(n,i,o,s){if(b.uinteger(n)&&b.uinteger(i)&&b.uinteger(o)&&b.uinteger(s))return{start:ke.create(n,i),end:ke.create(o,s)};if(ke.is(n)&&ke.is(i))return{start:n,end:i};throw new Error(`Range#create called with invalid arguments[${n}, ${i}, ${o}, ${s}]`)}t.create=e;function r(n){let i=n;return b.objectLiteral(i)&&ke.is(i.start)&&ke.is(i.end)}t.is=r})(_e||(_e={}));(function(t){function e(n,i){return{uri:n,range:i}}t.create=e;function r(n){let i=n;return b.objectLiteral(i)&&_e.is(i.range)&&(b.string(i.uri)||b.undefined(i.uri))}t.is=r})(ol||(ol={}));(function(t){function e(n,i,o,s){return{targetUri:n,targetRange:i,targetSelectionRange:o,originSelectionRange:s}}t.create=e;function r(n){let i=n;return b.objectLiteral(i)&&_e.is(i.targetRange)&&b.string(i.targetUri)&&_e.is(i.targetSelectionRange)&&(_e.is(i.originSelectionRange)||b.undefined(i.originSelectionRange))}t.is=r})($g||($g={}));(function(t){function e(n,i,o,s){return{red:n,green:i,blue:o,alpha:s}}t.create=e;function r(n){let i=n;return b.objectLiteral(i)&&b.numberRange(i.red,0,1)&&b.numberRange(i.green,0,1)&&b.numberRange(i.blue,0,1)&&b.numberRange(i.alpha,0,1)}t.is=r})(vd||(vd={}));(function(t){function e(n,i){return{range:n,color:i}}t.create=e;function r(n){let i=n;return b.objectLiteral(i)&&_e.is(i.range)&&vd.is(i.color)}t.is=r})(Mg||(Mg={}));(function(t){function e(n,i,o){return{label:n,textEdit:i,additionalTextEdits:o}}t.create=e;function r(n){let i=n;return b.objectLiteral(i)&&b.string(i.label)&&(b.undefined(i.textEdit)||un.is(i))&&(b.undefined(i.additionalTextEdits)||b.typedArray(i.additionalTextEdits,un.is))}t.is=r})(Fg||(Fg={}));(function(t){t.Comment="comment",t.Imports="imports",t.Region="region"})(Ug||(Ug={}));(function(t){function e(n,i,o,s,a,c){let l={startLine:n,endLine:i};return b.defined(o)&&(l.startCharacter=o),b.defined(s)&&(l.endCharacter=s),b.defined(a)&&(l.kind=a),b.defined(c)&&(l.collapsedText=c),l}t.create=e;function r(n){let i=n;return b.objectLiteral(i)&&b.uinteger(i.startLine)&&b.uinteger(i.startLine)&&(b.undefined(i.startCharacter)||b.uinteger(i.startCharacter))&&(b.undefined(i.endCharacter)||b.uinteger(i.endCharacter))&&(b.undefined(i.kind)||b.string(i.kind))}t.is=r})(Bg||(Bg={}));(function(t){function e(n,i){return{location:n,message:i}}t.create=e;function r(n){let i=n;return b.defined(i)&&ol.is(i.location)&&b.string(i.message)}t.is=r})(kd||(kd={}));(function(t){t.Error=1,t.Warning=2,t.Information=3,t.Hint=4})(Xg||(Xg={}));(function(t){t.Unnecessary=1,t.Deprecated=2})(Gg||(Gg={}));(function(t){function e(r){let n=r;return b.objectLiteral(n)&&b.string(n.href)}t.is=e})(Hg||(Hg={}));(function(t){function e(n,i,o,s,a,c){let l={range:n,message:i};return b.defined(o)&&(l.severity=o),b.defined(s)&&(l.code=s),b.defined(a)&&(l.source=a),b.defined(c)&&(l.relatedInformation=c),l}t.create=e;function r(n){var i;let o=n;return b.defined(o)&&_e.is(o.range)&&b.string(o.message)&&(b.number(o.severity)||b.undefined(o.severity))&&(b.integer(o.code)||b.string(o.code)||b.undefined(o.code))&&(b.undefined(o.codeDescription)||b.string((i=o.codeDescription)===null||i===void 0?void 0:i.href))&&(b.string(o.source)||b.undefined(o.source))&&(b.undefined(o.relatedInformation)||b.typedArray(o.relatedInformation,kd.is))}t.is=r})(sl||(sl={}));(function(t){function e(n,i,...o){let s={title:n,command:i};return b.defined(o)&&o.length>0&&(s.arguments=o),s}t.create=e;function r(n){let i=n;return b.defined(i)&&b.string(i.title)&&b.string(i.command)}t.is=r})(wo||(wo={}));(function(t){function e(o,s){return{range:o,newText:s}}t.replace=e;function r(o,s){return{range:{start:o,end:o},newText:s}}t.insert=r;function n(o){return{range:o,newText:""}}t.del=n;function i(o){let s=o;return b.objectLiteral(s)&&b.string(s.newText)&&_e.is(s.range)}t.is=i})(un||(un={}));(function(t){function e(n,i,o){let s={label:n};return i!==void 0&&(s.needsConfirmation=i),o!==void 0&&(s.description=o),s}t.create=e;function r(n){let i=n;return b.objectLiteral(i)&&b.string(i.label)&&(b.boolean(i.needsConfirmation)||i.needsConfirmation===void 0)&&(b.string(i.description)||i.description===void 0)}t.is=r})(bo||(bo={}));(function(t){function e(r){let n=r;return b.string(n)}t.is=e})(Lt||(Lt={}));(function(t){function e(o,s,a){return{range:o,newText:s,annotationId:a}}t.replace=e;function r(o,s,a){return{range:{start:o,end:o},newText:s,annotationId:a}}t.insert=r;function n(o,s){return{range:o,newText:"",annotationId:s}}t.del=n;function i(o){let s=o;return un.is(s)&&(bo.is(s.annotationId)||Lt.is(s.annotationId))}t.is=i})(Xn||(Xn={}));(function(t){function e(n,i){return{textDocument:n,edits:i}}t.create=e;function r(n){let i=n;return b.defined(i)&&cl.is(i.textDocument)&&Array.isArray(i.edits)}t.is=r})(al||(al={}));(function(t){function e(n,i,o){let s={kind:"create",uri:n};return i!==void 0&&(i.overwrite!==void 0||i.ignoreIfExists!==void 0)&&(s.options=i),o!==void 0&&(s.annotationId=o),s}t.create=e;function r(n){let i=n;return i&&i.kind==="create"&&b.string(i.uri)&&(i.options===void 0||(i.options.overwrite===void 0||b.boolean(i.options.overwrite))&&(i.options.ignoreIfExists===void 0||b.boolean(i.options.ignoreIfExists)))&&(i.annotationId===void 0||Lt.is(i.annotationId))}t.is=r})(zs||(zs={}));(function(t){function e(n,i,o,s){let a={kind:"rename",oldUri:n,newUri:i};return o!==void 0&&(o.overwrite!==void 0||o.ignoreIfExists!==void 0)&&(a.options=o),s!==void 0&&(a.annotationId=s),a}t.create=e;function r(n){let i=n;return i&&i.kind==="rename"&&b.string(i.oldUri)&&b.string(i.newUri)&&(i.options===void 0||(i.options.overwrite===void 0||b.boolean(i.options.overwrite))&&(i.options.ignoreIfExists===void 0||b.boolean(i.options.ignoreIfExists)))&&(i.annotationId===void 0||Lt.is(i.annotationId))}t.is=r})(Vs||(Vs={}));(function(t){function e(n,i,o){let s={kind:"delete",uri:n};return i!==void 0&&(i.recursive!==void 0||i.ignoreIfNotExists!==void 0)&&(s.options=i),o!==void 0&&(s.annotationId=o),s}t.create=e;function r(n){let i=n;return i&&i.kind==="delete"&&b.string(i.uri)&&(i.options===void 0||(i.options.recursive===void 0||b.boolean(i.options.recursive))&&(i.options.ignoreIfNotExists===void 0||b.boolean(i.options.ignoreIfNotExists)))&&(i.annotationId===void 0||Lt.is(i.annotationId))}t.is=r})(Ys||(Ys={}));(function(t){function e(r){let n=r;return n&&(n.changes!==void 0||n.documentChanges!==void 0)&&(n.documentChanges===void 0||n.documentChanges.every(i=>b.string(i.kind)?zs.is(i)||Vs.is(i)||Ys.is(i):al.is(i)))}t.is=e})(Nd||(Nd={}));qs=class{constructor(e,r){this.edits=e,this.changeAnnotations=r}insert(e,r,n){let i,o;if(n===void 0?i=un.insert(e,r):Lt.is(n)?(o=n,i=Xn.insert(e,r,n)):(this.assertChangeAnnotations(this.changeAnnotations),o=this.changeAnnotations.manage(n),i=Xn.insert(e,r,o)),this.edits.push(i),o!==void 0)return o}replace(e,r,n){let i,o;if(n===void 0?i=un.replace(e,r):Lt.is(n)?(o=n,i=Xn.replace(e,r,n)):(this.assertChangeAnnotations(this.changeAnnotations),o=this.changeAnnotations.manage(n),i=Xn.replace(e,r,o)),this.edits.push(i),o!==void 0)return o}delete(e,r){let n,i;if(r===void 0?n=un.del(e):Lt.is(r)?(i=r,n=Xn.del(e,r)):(this.assertChangeAnnotations(this.changeAnnotations),i=this.changeAnnotations.manage(r),n=Xn.del(e,i)),this.edits.push(n),i!==void 0)return i}add(e){this.edits.push(e)}all(){return this.edits}clear(){this.edits.splice(0,this.edits.length)}assertChangeAnnotations(e){if(e===void 0)throw new Error("Text edit change is not configured to manage change annotations.")}},Pd=class{constructor(e){this._annotations=e===void 0?Object.create(null):e,this._counter=0,this._size=0}all(){return this._annotations}get size(){return this._size}manage(e,r){let n;if(Lt.is(e)?n=e:(n=this.nextId(),r=e),this._annotations[n]!==void 0)throw new Error(`Id ${n} is already in use.`);if(r===void 0)throw new Error(`No annotation provided for id ${n}`);return this._annotations[n]=r,this._size++,n}nextId(){return this._counter++,this._counter.toString()}},jg=class{constructor(e){this._textEditChanges=Object.create(null),e!==void 0?(this._workspaceEdit=e,e.documentChanges?(this._changeAnnotations=new Pd(e.changeAnnotations),e.changeAnnotations=this._changeAnnotations.all(),e.documentChanges.forEach(r=>{if(al.is(r)){let n=new qs(r.edits,this._changeAnnotations);this._textEditChanges[r.textDocument.uri]=n}})):e.changes&&Object.keys(e.changes).forEach(r=>{let n=new qs(e.changes[r]);this._textEditChanges[r]=n})):this._workspaceEdit={}}get edit(){return this.initDocumentChanges(),this._changeAnnotations!==void 0&&(this._changeAnnotations.size===0?this._workspaceEdit.changeAnnotations=void 0:this._workspaceEdit.changeAnnotations=this._changeAnnotations.all()),this._workspaceEdit}getTextEditChange(e){if(cl.is(e)){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");let r={uri:e.uri,version:e.version},n=this._textEditChanges[r.uri];if(!n){let i=[],o={textDocument:r,edits:i};this._workspaceEdit.documentChanges.push(o),n=new qs(i,this._changeAnnotations),this._textEditChanges[r.uri]=n}return n}else{if(this.initChanges(),this._workspaceEdit.changes===void 0)throw new Error("Workspace edit is not configured for normal text edit changes.");let r=this._textEditChanges[e];if(!r){let n=[];this._workspaceEdit.changes[e]=n,r=new qs(n),this._textEditChanges[e]=r}return r}}initDocumentChanges(){this._workspaceEdit.documentChanges===void 0&&this._workspaceEdit.changes===void 0&&(this._changeAnnotations=new Pd,this._workspaceEdit.documentChanges=[],this._workspaceEdit.changeAnnotations=this._changeAnnotations.all())}initChanges(){this._workspaceEdit.documentChanges===void 0&&this._workspaceEdit.changes===void 0&&(this._workspaceEdit.changes=Object.create(null))}createFile(e,r,n){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");let i;bo.is(r)||Lt.is(r)?i=r:n=r;let o,s;if(i===void 0?o=zs.create(e,n):(s=Lt.is(i)?i:this._changeAnnotations.manage(i),o=zs.create(e,n,s)),this._workspaceEdit.documentChanges.push(o),s!==void 0)return s}renameFile(e,r,n,i){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");let o;bo.is(n)||Lt.is(n)?o=n:i=n;let s,a;if(o===void 0?s=Vs.create(e,r,i):(a=Lt.is(o)?o:this._changeAnnotations.manage(o),s=Vs.create(e,r,i,a)),this._workspaceEdit.documentChanges.push(s),a!==void 0)return a}deleteFile(e,r,n){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");let i;bo.is(r)||Lt.is(r)?i=r:n=r;let o,s;if(i===void 0?o=Ys.create(e,n):(s=Lt.is(i)?i:this._changeAnnotations.manage(i),o=Ys.create(e,n,s)),this._workspaceEdit.documentChanges.push(o),s!==void 0)return s}};(function(t){function e(n){return{uri:n}}t.create=e;function r(n){let i=n;return b.defined(i)&&b.string(i.uri)}t.is=r})(Wg||(Wg={}));(function(t){function e(n,i){return{uri:n,version:i}}t.create=e;function r(n){let i=n;return b.defined(i)&&b.string(i.uri)&&b.integer(i.version)}t.is=r})(qg||(qg={}));(function(t){function e(n,i){return{uri:n,version:i}}t.create=e;function r(n){let i=n;return b.defined(i)&&b.string(i.uri)&&(i.version===null||b.integer(i.version))}t.is=r})(cl||(cl={}));(function(t){function e(n,i,o,s){return{uri:n,languageId:i,version:o,text:s}}t.create=e;function r(n){let i=n;return b.defined(i)&&b.string(i.uri)&&b.string(i.languageId)&&b.integer(i.version)&&b.string(i.text)}t.is=r})(zg||(zg={}));(function(t){t.PlainText="plaintext",t.Markdown="markdown";function e(r){let n=r;return n===t.PlainText||n===t.Markdown}t.is=e})(Cd||(Cd={}));(function(t){function e(r){let n=r;return b.objectLiteral(r)&&Cd.is(n.kind)&&b.string(n.value)}t.is=e})(Ks||(Ks={}));(function(t){t.Text=1,t.Method=2,t.Function=3,t.Constructor=4,t.Field=5,t.Variable=6,t.Class=7,t.Interface=8,t.Module=9,t.Property=10,t.Unit=11,t.Value=12,t.Enum=13,t.Keyword=14,t.Snippet=15,t.Color=16,t.File=17,t.Reference=18,t.Folder=19,t.EnumMember=20,t.Constant=21,t.Struct=22,t.Event=23,t.Operator=24,t.TypeParameter=25})(Vg||(Vg={}));(function(t){t.PlainText=1,t.Snippet=2})(Yg||(Yg={}));(function(t){t.Deprecated=1})(Kg||(Kg={}));(function(t){function e(n,i,o){return{newText:n,insert:i,replace:o}}t.create=e;function r(n){let i=n;return i&&b.string(i.newText)&&_e.is(i.insert)&&_e.is(i.replace)}t.is=r})(Zg||(Zg={}));(function(t){t.asIs=1,t.adjustIndentation=2})(Jg||(Jg={}));(function(t){function e(r){let n=r;return n&&(b.string(n.detail)||n.detail===void 0)&&(b.string(n.description)||n.description===void 0)}t.is=e})(Qg||(Qg={}));(function(t){function e(r){return{label:r}}t.create=e})(ey||(ey={}));(function(t){function e(r,n){return{items:r||[],isIncomplete:!!n}}t.create=e})(ty||(ty={}));(function(t){function e(n){return n.replace(/[\\`*_{}[\]()#+\-.!]/g,"\\$&")}t.fromPlainText=e;function r(n){let i=n;return b.string(i)||b.objectLiteral(i)&&b.string(i.language)&&b.string(i.value)}t.is=r})(ll||(ll={}));(function(t){function e(r){let n=r;return!!n&&b.objectLiteral(n)&&(Ks.is(n.contents)||ll.is(n.contents)||b.typedArray(n.contents,ll.is))&&(r.range===void 0||_e.is(r.range))}t.is=e})(ry||(ry={}));(function(t){function e(r,n){return n?{label:r,documentation:n}:{label:r}}t.create=e})(ny||(ny={}));(function(t){function e(r,n,...i){let o={label:r};return b.defined(n)&&(o.documentation=n),b.defined(i)?o.parameters=i:o.parameters=[],o}t.create=e})(iy||(iy={}));(function(t){t.Text=1,t.Read=2,t.Write=3})(oy||(oy={}));(function(t){function e(r,n){let i={range:r};return b.number(n)&&(i.kind=n),i}t.create=e})(sy||(sy={}));(function(t){t.File=1,t.Module=2,t.Namespace=3,t.Package=4,t.Class=5,t.Method=6,t.Property=7,t.Field=8,t.Constructor=9,t.Enum=10,t.Interface=11,t.Function=12,t.Variable=13,t.Constant=14,t.String=15,t.Number=16,t.Boolean=17,t.Array=18,t.Object=19,t.Key=20,t.Null=21,t.EnumMember=22,t.Struct=23,t.Event=24,t.Operator=25,t.TypeParameter=26})(ay||(ay={}));(function(t){t.Deprecated=1})(cy||(cy={}));(function(t){function e(r,n,i,o,s){let a={name:r,kind:n,location:{uri:o,range:i}};return s&&(a.containerName=s),a}t.create=e})(ly||(ly={}));(function(t){function e(r,n,i,o){return o!==void 0?{name:r,kind:n,location:{uri:i,range:o}}:{name:r,kind:n,location:{uri:i}}}t.create=e})(uy||(uy={}));(function(t){function e(n,i,o,s,a,c){let l={name:n,detail:i,kind:o,range:s,selectionRange:a};return c!==void 0&&(l.children=c),l}t.create=e;function r(n){let i=n;return i&&b.string(i.name)&&b.number(i.kind)&&_e.is(i.range)&&_e.is(i.selectionRange)&&(i.detail===void 0||b.string(i.detail))&&(i.deprecated===void 0||b.boolean(i.deprecated))&&(i.children===void 0||Array.isArray(i.children))&&(i.tags===void 0||Array.isArray(i.tags))}t.is=r})(fy||(fy={}));(function(t){t.Empty="",t.QuickFix="quickfix",t.Refactor="refactor",t.RefactorExtract="refactor.extract",t.RefactorInline="refactor.inline",t.RefactorRewrite="refactor.rewrite",t.Source="source",t.SourceOrganizeImports="source.organizeImports",t.SourceFixAll="source.fixAll"})(dy||(dy={}));(function(t){t.Invoked=1,t.Automatic=2})(ul||(ul={}));(function(t){function e(n,i,o){let s={diagnostics:n};return i!=null&&(s.only=i),o!=null&&(s.triggerKind=o),s}t.create=e;function r(n){let i=n;return b.defined(i)&&b.typedArray(i.diagnostics,sl.is)&&(i.only===void 0||b.typedArray(i.only,b.string))&&(i.triggerKind===void 0||i.triggerKind===ul.Invoked||i.triggerKind===ul.Automatic)}t.is=r})(py||(py={}));(function(t){function e(n,i,o){let s={title:n},a=!0;return typeof i=="string"?(a=!1,s.kind=i):wo.is(i)?s.command=i:s.edit=i,a&&o!==void 0&&(s.kind=o),s}t.create=e;function r(n){let i=n;return i&&b.string(i.title)&&(i.diagnostics===void 0||b.typedArray(i.diagnostics,sl.is))&&(i.kind===void 0||b.string(i.kind))&&(i.edit!==void 0||i.command!==void 0)&&(i.command===void 0||wo.is(i.command))&&(i.isPreferred===void 0||b.boolean(i.isPreferred))&&(i.edit===void 0||Nd.is(i.edit))}t.is=r})(hy||(hy={}));(function(t){function e(n,i){let o={range:n};return b.defined(i)&&(o.data=i),o}t.create=e;function r(n){let i=n;return b.defined(i)&&_e.is(i.range)&&(b.undefined(i.command)||wo.is(i.command))}t.is=r})(my||(my={}));(function(t){function e(n,i){return{tabSize:n,insertSpaces:i}}t.create=e;function r(n){let i=n;return b.defined(i)&&b.uinteger(i.tabSize)&&b.boolean(i.insertSpaces)}t.is=r})(gy||(gy={}));(function(t){function e(n,i,o){return{range:n,target:i,data:o}}t.create=e;function r(n){let i=n;return b.defined(i)&&_e.is(i.range)&&(b.undefined(i.target)||b.string(i.target))}t.is=r})(yy||(yy={}));(function(t){function e(n,i){return{range:n,parent:i}}t.create=e;function r(n){let i=n;return b.objectLiteral(i)&&_e.is(i.range)&&(i.parent===void 0||t.is(i.parent))}t.is=r})(xy||(xy={}));(function(t){t.namespace="namespace",t.type="type",t.class="class",t.enum="enum",t.interface="interface",t.struct="struct",t.typeParameter="typeParameter",t.parameter="parameter",t.variable="variable",t.property="property",t.enumMember="enumMember",t.event="event",t.function="function",t.method="method",t.macro="macro",t.keyword="keyword",t.modifier="modifier",t.comment="comment",t.string="string",t.number="number",t.regexp="regexp",t.operator="operator",t.decorator="decorator"})(Ty||(Ty={}));(function(t){t.declaration="declaration",t.definition="definition",t.readonly="readonly",t.static="static",t.deprecated="deprecated",t.abstract="abstract",t.async="async",t.modification="modification",t.documentation="documentation",t.defaultLibrary="defaultLibrary"})(_y||(_y={}));(function(t){function e(r){let n=r;return b.objectLiteral(n)&&(n.resultId===void 0||typeof n.resultId=="string")&&Array.isArray(n.data)&&(n.data.length===0||typeof n.data[0]=="number")}t.is=e})(Ey||(Ey={}));(function(t){function e(n,i){return{range:n,text:i}}t.create=e;function r(n){let i=n;return i!=null&&_e.is(i.range)&&b.string(i.text)}t.is=r})(Ry||(Ry={}));(function(t){function e(n,i,o){return{range:n,variableName:i,caseSensitiveLookup:o}}t.create=e;function r(n){let i=n;return i!=null&&_e.is(i.range)&&b.boolean(i.caseSensitiveLookup)&&(b.string(i.variableName)||i.variableName===void 0)}t.is=r})(by||(by={}));(function(t){function e(n,i){return{range:n,expression:i}}t.create=e;function r(n){let i=n;return i!=null&&_e.is(i.range)&&(b.string(i.expression)||i.expression===void 0)}t.is=r})(wy||(wy={}));(function(t){function e(n,i){return{frameId:n,stoppedLocation:i}}t.create=e;function r(n){let i=n;return b.defined(i)&&_e.is(n.stoppedLocation)}t.is=r})(Ay||(Ay={}));(function(t){t.Type=1,t.Parameter=2;function e(r){return r===1||r===2}t.is=e})(Od||(Od={}));(function(t){function e(n){return{value:n}}t.create=e;function r(n){let i=n;return b.objectLiteral(i)&&(i.tooltip===void 0||b.string(i.tooltip)||Ks.is(i.tooltip))&&(i.location===void 0||ol.is(i.location))&&(i.command===void 0||wo.is(i.command))}t.is=r})(Ld||(Ld={}));(function(t){function e(n,i,o){let s={position:n,label:i};return o!==void 0&&(s.kind=o),s}t.create=e;function r(n){let i=n;return b.objectLiteral(i)&&ke.is(i.position)&&(b.string(i.label)||b.typedArray(i.label,Ld.is))&&(i.kind===void 0||Od.is(i.kind))&&i.textEdits===void 0||b.typedArray(i.textEdits,un.is)&&(i.tooltip===void 0||b.string(i.tooltip)||Ks.is(i.tooltip))&&(i.paddingLeft===void 0||b.boolean(i.paddingLeft))&&(i.paddingRight===void 0||b.boolean(i.paddingRight))}t.is=r})(Iy||(Iy={}));(function(t){function e(r){return{kind:"snippet",value:r}}t.createSnippet=e})(Sy||(Sy={}));(function(t){function e(r,n,i,o){return{insertText:r,filterText:n,range:i,command:o}}t.create=e})(vy||(vy={}));(function(t){function e(r){return{items:r}}t.create=e})(ky||(ky={}));(function(t){t.Invoked=0,t.Automatic=1})(Ny||(Ny={}));(function(t){function e(r,n){return{range:r,text:n}}t.create=e})(Py||(Py={}));(function(t){function e(r,n){return{triggerKind:r,selectedCompletionInfo:n}}t.create=e})(Cy||(Cy={}));(function(t){function e(r){let n=r;return b.objectLiteral(n)&&Sd.is(n.uri)&&b.string(n.name)}t.is=e})(Oy||(Oy={}));iF=[`
|
|
1
|
+
/*! @nowline/embed 0.5.0 sha=04bdff9 built=2026-06-01T06:46:51Z */
|
|
2
|
+
"use strict";var nowline=(()=>{var NC=Object.create;var vc=Object.defineProperty;var PC=Object.getOwnPropertyDescriptor;var CC=Object.getOwnPropertyNames;var OC=Object.getPrototypeOf,LC=Object.prototype.hasOwnProperty;var DC=(t,e,r)=>e in t?vc(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r;var ZE=(t,e)=>()=>(t&&(e=t(t=0)),e);var fe=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),sn=(t,e)=>{for(var r in e)vc(t,r,{get:e[r],enumerable:!0})},of=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of CC(e))!LC.call(t,i)&&i!==r&&vc(t,i,{get:()=>e[i],enumerable:!(n=PC(e,i))||n.enumerable});return t},Se=(t,e,r)=>(of(t,e,"default"),r&&of(r,e,"default")),mm=(t,e,r)=>(r=t!=null?NC(OC(t)):{},of(e||!t||!t.__esModule?vc(r,"default",{value:t,enumerable:!0}):r,t)),sf=t=>of(vc({},"__esModule",{value:!0}),t);var de=(t,e,r)=>DC(t,typeof e!="symbol"?e+"":e,r);var Vd={};sn(Vd,{AnnotatedTextEdit:()=>qn,ChangeAnnotation:()=>No,ChangeAnnotationIdentifier:()=>Dt,CodeAction:()=>Ny,CodeActionContext:()=>ky,CodeActionKind:()=>Iy,CodeActionTriggerKind:()=>xl,CodeDescription:()=>oy,CodeLens:()=>Py,Color:()=>Gd,ColorInformation:()=>Qg,ColorPresentation:()=>ey,Command:()=>Po,CompletionItem:()=>gy,CompletionItemKind:()=>uy,CompletionItemLabelDetails:()=>my,CompletionItemTag:()=>dy,CompletionList:()=>yy,CreateFile:()=>ra,DeleteFile:()=>ia,Diagnostic:()=>hl,DiagnosticRelatedInformation:()=>Xd,DiagnosticSeverity:()=>ny,DiagnosticTag:()=>iy,DocumentHighlight:()=>vy,DocumentHighlightKind:()=>Ey,DocumentLink:()=>Oy,DocumentSymbol:()=>Sy,DocumentUri:()=>Kg,EOL:()=>qF,FoldingRange:()=>ry,FoldingRangeKind:()=>ty,FormattingOptions:()=>Cy,Hover:()=>xy,InlayHint:()=>Xy,InlayHintKind:()=>qd,InlayHintLabelPart:()=>Wd,InlineCompletionContext:()=>Vy,InlineCompletionItem:()=>jy,InlineCompletionList:()=>zy,InlineCompletionTriggerKind:()=>qy,InlineValueContext:()=>Gy,InlineValueEvaluatableExpression:()=>By,InlineValueText:()=>Fy,InlineValueVariableLookup:()=>Uy,InsertReplaceEdit:()=>py,InsertTextFormat:()=>fy,InsertTextMode:()=>hy,Location:()=>pl,LocationLink:()=>Jg,MarkedString:()=>yl,MarkupContent:()=>oa,MarkupKind:()=>zd,OptionalVersionedTextDocumentIdentifier:()=>gl,ParameterInformation:()=>Ty,Position:()=>Ie,Range:()=>Ee,RenameFile:()=>na,SelectedCompletionInfo:()=>Wy,SelectionRange:()=>Ly,SemanticTokenModifiers:()=>$y,SemanticTokenTypes:()=>Dy,SemanticTokens:()=>My,SignatureInformation:()=>_y,StringValue:()=>Hy,SymbolInformation:()=>wy,SymbolKind:()=>Ry,SymbolTag:()=>by,TextDocument:()=>Ky,TextDocumentEdit:()=>ml,TextDocumentIdentifier:()=>ay,TextDocumentItem:()=>ly,TextEdit:()=>hn,URI:()=>Bd,VersionedTextDocumentIdentifier:()=>cy,WorkspaceChange:()=>sy,WorkspaceEdit:()=>Hd,WorkspaceFolder:()=>Yy,WorkspaceSymbol:()=>Ay,integer:()=>Zg,uinteger:()=>dl});var Kg,Bd,Zg,dl,Ie,Ee,pl,Jg,Gd,Qg,ey,ty,ry,Xd,ny,iy,oy,hl,Po,hn,No,Dt,qn,ml,ra,na,ia,Hd,ta,jd,sy,ay,cy,gl,ly,zd,oa,uy,fy,dy,py,hy,my,gy,yy,yl,xy,Ty,_y,Ey,vy,Ry,by,wy,Ay,Sy,Iy,xl,ky,Ny,Py,Cy,Oy,Ly,Dy,$y,My,Fy,Uy,By,Gy,qd,Wd,Xy,Hy,jy,zy,qy,Wy,Vy,Yy,qF,Ky,Zy,b,sa=ZE(()=>{"use strict";(function(t){function e(r){return typeof r=="string"}t.is=e})(Kg||(Kg={}));(function(t){function e(r){return typeof r=="string"}t.is=e})(Bd||(Bd={}));(function(t){t.MIN_VALUE=-2147483648,t.MAX_VALUE=2147483647;function e(r){return typeof r=="number"&&t.MIN_VALUE<=r&&r<=t.MAX_VALUE}t.is=e})(Zg||(Zg={}));(function(t){t.MIN_VALUE=0,t.MAX_VALUE=2147483647;function e(r){return typeof r=="number"&&t.MIN_VALUE<=r&&r<=t.MAX_VALUE}t.is=e})(dl||(dl={}));(function(t){function e(n,i){return n===Number.MAX_VALUE&&(n=dl.MAX_VALUE),i===Number.MAX_VALUE&&(i=dl.MAX_VALUE),{line:n,character:i}}t.create=e;function r(n){let i=n;return b.objectLiteral(i)&&b.uinteger(i.line)&&b.uinteger(i.character)}t.is=r})(Ie||(Ie={}));(function(t){function e(n,i,o,s){if(b.uinteger(n)&&b.uinteger(i)&&b.uinteger(o)&&b.uinteger(s))return{start:Ie.create(n,i),end:Ie.create(o,s)};if(Ie.is(n)&&Ie.is(i))return{start:n,end:i};throw new Error(`Range#create called with invalid arguments[${n}, ${i}, ${o}, ${s}]`)}t.create=e;function r(n){let i=n;return b.objectLiteral(i)&&Ie.is(i.start)&&Ie.is(i.end)}t.is=r})(Ee||(Ee={}));(function(t){function e(n,i){return{uri:n,range:i}}t.create=e;function r(n){let i=n;return b.objectLiteral(i)&&Ee.is(i.range)&&(b.string(i.uri)||b.undefined(i.uri))}t.is=r})(pl||(pl={}));(function(t){function e(n,i,o,s){return{targetUri:n,targetRange:i,targetSelectionRange:o,originSelectionRange:s}}t.create=e;function r(n){let i=n;return b.objectLiteral(i)&&Ee.is(i.targetRange)&&b.string(i.targetUri)&&Ee.is(i.targetSelectionRange)&&(Ee.is(i.originSelectionRange)||b.undefined(i.originSelectionRange))}t.is=r})(Jg||(Jg={}));(function(t){function e(n,i,o,s){return{red:n,green:i,blue:o,alpha:s}}t.create=e;function r(n){let i=n;return b.objectLiteral(i)&&b.numberRange(i.red,0,1)&&b.numberRange(i.green,0,1)&&b.numberRange(i.blue,0,1)&&b.numberRange(i.alpha,0,1)}t.is=r})(Gd||(Gd={}));(function(t){function e(n,i){return{range:n,color:i}}t.create=e;function r(n){let i=n;return b.objectLiteral(i)&&Ee.is(i.range)&&Gd.is(i.color)}t.is=r})(Qg||(Qg={}));(function(t){function e(n,i,o){return{label:n,textEdit:i,additionalTextEdits:o}}t.create=e;function r(n){let i=n;return b.objectLiteral(i)&&b.string(i.label)&&(b.undefined(i.textEdit)||hn.is(i))&&(b.undefined(i.additionalTextEdits)||b.typedArray(i.additionalTextEdits,hn.is))}t.is=r})(ey||(ey={}));(function(t){t.Comment="comment",t.Imports="imports",t.Region="region"})(ty||(ty={}));(function(t){function e(n,i,o,s,a,c){let l={startLine:n,endLine:i};return b.defined(o)&&(l.startCharacter=o),b.defined(s)&&(l.endCharacter=s),b.defined(a)&&(l.kind=a),b.defined(c)&&(l.collapsedText=c),l}t.create=e;function r(n){let i=n;return b.objectLiteral(i)&&b.uinteger(i.startLine)&&b.uinteger(i.startLine)&&(b.undefined(i.startCharacter)||b.uinteger(i.startCharacter))&&(b.undefined(i.endCharacter)||b.uinteger(i.endCharacter))&&(b.undefined(i.kind)||b.string(i.kind))}t.is=r})(ry||(ry={}));(function(t){function e(n,i){return{location:n,message:i}}t.create=e;function r(n){let i=n;return b.defined(i)&&pl.is(i.location)&&b.string(i.message)}t.is=r})(Xd||(Xd={}));(function(t){t.Error=1,t.Warning=2,t.Information=3,t.Hint=4})(ny||(ny={}));(function(t){t.Unnecessary=1,t.Deprecated=2})(iy||(iy={}));(function(t){function e(r){let n=r;return b.objectLiteral(n)&&b.string(n.href)}t.is=e})(oy||(oy={}));(function(t){function e(n,i,o,s,a,c){let l={range:n,message:i};return b.defined(o)&&(l.severity=o),b.defined(s)&&(l.code=s),b.defined(a)&&(l.source=a),b.defined(c)&&(l.relatedInformation=c),l}t.create=e;function r(n){var i;let o=n;return b.defined(o)&&Ee.is(o.range)&&b.string(o.message)&&(b.number(o.severity)||b.undefined(o.severity))&&(b.integer(o.code)||b.string(o.code)||b.undefined(o.code))&&(b.undefined(o.codeDescription)||b.string((i=o.codeDescription)===null||i===void 0?void 0:i.href))&&(b.string(o.source)||b.undefined(o.source))&&(b.undefined(o.relatedInformation)||b.typedArray(o.relatedInformation,Xd.is))}t.is=r})(hl||(hl={}));(function(t){function e(n,i,...o){let s={title:n,command:i};return b.defined(o)&&o.length>0&&(s.arguments=o),s}t.create=e;function r(n){let i=n;return b.defined(i)&&b.string(i.title)&&b.string(i.command)}t.is=r})(Po||(Po={}));(function(t){function e(o,s){return{range:o,newText:s}}t.replace=e;function r(o,s){return{range:{start:o,end:o},newText:s}}t.insert=r;function n(o){return{range:o,newText:""}}t.del=n;function i(o){let s=o;return b.objectLiteral(s)&&b.string(s.newText)&&Ee.is(s.range)}t.is=i})(hn||(hn={}));(function(t){function e(n,i,o){let s={label:n};return i!==void 0&&(s.needsConfirmation=i),o!==void 0&&(s.description=o),s}t.create=e;function r(n){let i=n;return b.objectLiteral(i)&&b.string(i.label)&&(b.boolean(i.needsConfirmation)||i.needsConfirmation===void 0)&&(b.string(i.description)||i.description===void 0)}t.is=r})(No||(No={}));(function(t){function e(r){let n=r;return b.string(n)}t.is=e})(Dt||(Dt={}));(function(t){function e(o,s,a){return{range:o,newText:s,annotationId:a}}t.replace=e;function r(o,s,a){return{range:{start:o,end:o},newText:s,annotationId:a}}t.insert=r;function n(o,s){return{range:o,newText:"",annotationId:s}}t.del=n;function i(o){let s=o;return hn.is(s)&&(No.is(s.annotationId)||Dt.is(s.annotationId))}t.is=i})(qn||(qn={}));(function(t){function e(n,i){return{textDocument:n,edits:i}}t.create=e;function r(n){let i=n;return b.defined(i)&&gl.is(i.textDocument)&&Array.isArray(i.edits)}t.is=r})(ml||(ml={}));(function(t){function e(n,i,o){let s={kind:"create",uri:n};return i!==void 0&&(i.overwrite!==void 0||i.ignoreIfExists!==void 0)&&(s.options=i),o!==void 0&&(s.annotationId=o),s}t.create=e;function r(n){let i=n;return i&&i.kind==="create"&&b.string(i.uri)&&(i.options===void 0||(i.options.overwrite===void 0||b.boolean(i.options.overwrite))&&(i.options.ignoreIfExists===void 0||b.boolean(i.options.ignoreIfExists)))&&(i.annotationId===void 0||Dt.is(i.annotationId))}t.is=r})(ra||(ra={}));(function(t){function e(n,i,o,s){let a={kind:"rename",oldUri:n,newUri:i};return o!==void 0&&(o.overwrite!==void 0||o.ignoreIfExists!==void 0)&&(a.options=o),s!==void 0&&(a.annotationId=s),a}t.create=e;function r(n){let i=n;return i&&i.kind==="rename"&&b.string(i.oldUri)&&b.string(i.newUri)&&(i.options===void 0||(i.options.overwrite===void 0||b.boolean(i.options.overwrite))&&(i.options.ignoreIfExists===void 0||b.boolean(i.options.ignoreIfExists)))&&(i.annotationId===void 0||Dt.is(i.annotationId))}t.is=r})(na||(na={}));(function(t){function e(n,i,o){let s={kind:"delete",uri:n};return i!==void 0&&(i.recursive!==void 0||i.ignoreIfNotExists!==void 0)&&(s.options=i),o!==void 0&&(s.annotationId=o),s}t.create=e;function r(n){let i=n;return i&&i.kind==="delete"&&b.string(i.uri)&&(i.options===void 0||(i.options.recursive===void 0||b.boolean(i.options.recursive))&&(i.options.ignoreIfNotExists===void 0||b.boolean(i.options.ignoreIfNotExists)))&&(i.annotationId===void 0||Dt.is(i.annotationId))}t.is=r})(ia||(ia={}));(function(t){function e(r){let n=r;return n&&(n.changes!==void 0||n.documentChanges!==void 0)&&(n.documentChanges===void 0||n.documentChanges.every(i=>b.string(i.kind)?ra.is(i)||na.is(i)||ia.is(i):ml.is(i)))}t.is=e})(Hd||(Hd={}));ta=class{constructor(e,r){this.edits=e,this.changeAnnotations=r}insert(e,r,n){let i,o;if(n===void 0?i=hn.insert(e,r):Dt.is(n)?(o=n,i=qn.insert(e,r,n)):(this.assertChangeAnnotations(this.changeAnnotations),o=this.changeAnnotations.manage(n),i=qn.insert(e,r,o)),this.edits.push(i),o!==void 0)return o}replace(e,r,n){let i,o;if(n===void 0?i=hn.replace(e,r):Dt.is(n)?(o=n,i=qn.replace(e,r,n)):(this.assertChangeAnnotations(this.changeAnnotations),o=this.changeAnnotations.manage(n),i=qn.replace(e,r,o)),this.edits.push(i),o!==void 0)return o}delete(e,r){let n,i;if(r===void 0?n=hn.del(e):Dt.is(r)?(i=r,n=qn.del(e,r)):(this.assertChangeAnnotations(this.changeAnnotations),i=this.changeAnnotations.manage(r),n=qn.del(e,i)),this.edits.push(n),i!==void 0)return i}add(e){this.edits.push(e)}all(){return this.edits}clear(){this.edits.splice(0,this.edits.length)}assertChangeAnnotations(e){if(e===void 0)throw new Error("Text edit change is not configured to manage change annotations.")}},jd=class{constructor(e){this._annotations=e===void 0?Object.create(null):e,this._counter=0,this._size=0}all(){return this._annotations}get size(){return this._size}manage(e,r){let n;if(Dt.is(e)?n=e:(n=this.nextId(),r=e),this._annotations[n]!==void 0)throw new Error(`Id ${n} is already in use.`);if(r===void 0)throw new Error(`No annotation provided for id ${n}`);return this._annotations[n]=r,this._size++,n}nextId(){return this._counter++,this._counter.toString()}},sy=class{constructor(e){this._textEditChanges=Object.create(null),e!==void 0?(this._workspaceEdit=e,e.documentChanges?(this._changeAnnotations=new jd(e.changeAnnotations),e.changeAnnotations=this._changeAnnotations.all(),e.documentChanges.forEach(r=>{if(ml.is(r)){let n=new ta(r.edits,this._changeAnnotations);this._textEditChanges[r.textDocument.uri]=n}})):e.changes&&Object.keys(e.changes).forEach(r=>{let n=new ta(e.changes[r]);this._textEditChanges[r]=n})):this._workspaceEdit={}}get edit(){return this.initDocumentChanges(),this._changeAnnotations!==void 0&&(this._changeAnnotations.size===0?this._workspaceEdit.changeAnnotations=void 0:this._workspaceEdit.changeAnnotations=this._changeAnnotations.all()),this._workspaceEdit}getTextEditChange(e){if(gl.is(e)){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");let r={uri:e.uri,version:e.version},n=this._textEditChanges[r.uri];if(!n){let i=[],o={textDocument:r,edits:i};this._workspaceEdit.documentChanges.push(o),n=new ta(i,this._changeAnnotations),this._textEditChanges[r.uri]=n}return n}else{if(this.initChanges(),this._workspaceEdit.changes===void 0)throw new Error("Workspace edit is not configured for normal text edit changes.");let r=this._textEditChanges[e];if(!r){let n=[];this._workspaceEdit.changes[e]=n,r=new ta(n),this._textEditChanges[e]=r}return r}}initDocumentChanges(){this._workspaceEdit.documentChanges===void 0&&this._workspaceEdit.changes===void 0&&(this._changeAnnotations=new jd,this._workspaceEdit.documentChanges=[],this._workspaceEdit.changeAnnotations=this._changeAnnotations.all())}initChanges(){this._workspaceEdit.documentChanges===void 0&&this._workspaceEdit.changes===void 0&&(this._workspaceEdit.changes=Object.create(null))}createFile(e,r,n){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");let i;No.is(r)||Dt.is(r)?i=r:n=r;let o,s;if(i===void 0?o=ra.create(e,n):(s=Dt.is(i)?i:this._changeAnnotations.manage(i),o=ra.create(e,n,s)),this._workspaceEdit.documentChanges.push(o),s!==void 0)return s}renameFile(e,r,n,i){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");let o;No.is(n)||Dt.is(n)?o=n:i=n;let s,a;if(o===void 0?s=na.create(e,r,i):(a=Dt.is(o)?o:this._changeAnnotations.manage(o),s=na.create(e,r,i,a)),this._workspaceEdit.documentChanges.push(s),a!==void 0)return a}deleteFile(e,r,n){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");let i;No.is(r)||Dt.is(r)?i=r:n=r;let o,s;if(i===void 0?o=ia.create(e,n):(s=Dt.is(i)?i:this._changeAnnotations.manage(i),o=ia.create(e,n,s)),this._workspaceEdit.documentChanges.push(o),s!==void 0)return s}};(function(t){function e(n){return{uri:n}}t.create=e;function r(n){let i=n;return b.defined(i)&&b.string(i.uri)}t.is=r})(ay||(ay={}));(function(t){function e(n,i){return{uri:n,version:i}}t.create=e;function r(n){let i=n;return b.defined(i)&&b.string(i.uri)&&b.integer(i.version)}t.is=r})(cy||(cy={}));(function(t){function e(n,i){return{uri:n,version:i}}t.create=e;function r(n){let i=n;return b.defined(i)&&b.string(i.uri)&&(i.version===null||b.integer(i.version))}t.is=r})(gl||(gl={}));(function(t){function e(n,i,o,s){return{uri:n,languageId:i,version:o,text:s}}t.create=e;function r(n){let i=n;return b.defined(i)&&b.string(i.uri)&&b.string(i.languageId)&&b.integer(i.version)&&b.string(i.text)}t.is=r})(ly||(ly={}));(function(t){t.PlainText="plaintext",t.Markdown="markdown";function e(r){let n=r;return n===t.PlainText||n===t.Markdown}t.is=e})(zd||(zd={}));(function(t){function e(r){let n=r;return b.objectLiteral(r)&&zd.is(n.kind)&&b.string(n.value)}t.is=e})(oa||(oa={}));(function(t){t.Text=1,t.Method=2,t.Function=3,t.Constructor=4,t.Field=5,t.Variable=6,t.Class=7,t.Interface=8,t.Module=9,t.Property=10,t.Unit=11,t.Value=12,t.Enum=13,t.Keyword=14,t.Snippet=15,t.Color=16,t.File=17,t.Reference=18,t.Folder=19,t.EnumMember=20,t.Constant=21,t.Struct=22,t.Event=23,t.Operator=24,t.TypeParameter=25})(uy||(uy={}));(function(t){t.PlainText=1,t.Snippet=2})(fy||(fy={}));(function(t){t.Deprecated=1})(dy||(dy={}));(function(t){function e(n,i,o){return{newText:n,insert:i,replace:o}}t.create=e;function r(n){let i=n;return i&&b.string(i.newText)&&Ee.is(i.insert)&&Ee.is(i.replace)}t.is=r})(py||(py={}));(function(t){t.asIs=1,t.adjustIndentation=2})(hy||(hy={}));(function(t){function e(r){let n=r;return n&&(b.string(n.detail)||n.detail===void 0)&&(b.string(n.description)||n.description===void 0)}t.is=e})(my||(my={}));(function(t){function e(r){return{label:r}}t.create=e})(gy||(gy={}));(function(t){function e(r,n){return{items:r||[],isIncomplete:!!n}}t.create=e})(yy||(yy={}));(function(t){function e(n){return n.replace(/[\\`*_{}[\]()#+\-.!]/g,"\\$&")}t.fromPlainText=e;function r(n){let i=n;return b.string(i)||b.objectLiteral(i)&&b.string(i.language)&&b.string(i.value)}t.is=r})(yl||(yl={}));(function(t){function e(r){let n=r;return!!n&&b.objectLiteral(n)&&(oa.is(n.contents)||yl.is(n.contents)||b.typedArray(n.contents,yl.is))&&(r.range===void 0||Ee.is(r.range))}t.is=e})(xy||(xy={}));(function(t){function e(r,n){return n?{label:r,documentation:n}:{label:r}}t.create=e})(Ty||(Ty={}));(function(t){function e(r,n,...i){let o={label:r};return b.defined(n)&&(o.documentation=n),b.defined(i)?o.parameters=i:o.parameters=[],o}t.create=e})(_y||(_y={}));(function(t){t.Text=1,t.Read=2,t.Write=3})(Ey||(Ey={}));(function(t){function e(r,n){let i={range:r};return b.number(n)&&(i.kind=n),i}t.create=e})(vy||(vy={}));(function(t){t.File=1,t.Module=2,t.Namespace=3,t.Package=4,t.Class=5,t.Method=6,t.Property=7,t.Field=8,t.Constructor=9,t.Enum=10,t.Interface=11,t.Function=12,t.Variable=13,t.Constant=14,t.String=15,t.Number=16,t.Boolean=17,t.Array=18,t.Object=19,t.Key=20,t.Null=21,t.EnumMember=22,t.Struct=23,t.Event=24,t.Operator=25,t.TypeParameter=26})(Ry||(Ry={}));(function(t){t.Deprecated=1})(by||(by={}));(function(t){function e(r,n,i,o,s){let a={name:r,kind:n,location:{uri:o,range:i}};return s&&(a.containerName=s),a}t.create=e})(wy||(wy={}));(function(t){function e(r,n,i,o){return o!==void 0?{name:r,kind:n,location:{uri:i,range:o}}:{name:r,kind:n,location:{uri:i}}}t.create=e})(Ay||(Ay={}));(function(t){function e(n,i,o,s,a,c){let l={name:n,detail:i,kind:o,range:s,selectionRange:a};return c!==void 0&&(l.children=c),l}t.create=e;function r(n){let i=n;return i&&b.string(i.name)&&b.number(i.kind)&&Ee.is(i.range)&&Ee.is(i.selectionRange)&&(i.detail===void 0||b.string(i.detail))&&(i.deprecated===void 0||b.boolean(i.deprecated))&&(i.children===void 0||Array.isArray(i.children))&&(i.tags===void 0||Array.isArray(i.tags))}t.is=r})(Sy||(Sy={}));(function(t){t.Empty="",t.QuickFix="quickfix",t.Refactor="refactor",t.RefactorExtract="refactor.extract",t.RefactorInline="refactor.inline",t.RefactorRewrite="refactor.rewrite",t.Source="source",t.SourceOrganizeImports="source.organizeImports",t.SourceFixAll="source.fixAll"})(Iy||(Iy={}));(function(t){t.Invoked=1,t.Automatic=2})(xl||(xl={}));(function(t){function e(n,i,o){let s={diagnostics:n};return i!=null&&(s.only=i),o!=null&&(s.triggerKind=o),s}t.create=e;function r(n){let i=n;return b.defined(i)&&b.typedArray(i.diagnostics,hl.is)&&(i.only===void 0||b.typedArray(i.only,b.string))&&(i.triggerKind===void 0||i.triggerKind===xl.Invoked||i.triggerKind===xl.Automatic)}t.is=r})(ky||(ky={}));(function(t){function e(n,i,o){let s={title:n},a=!0;return typeof i=="string"?(a=!1,s.kind=i):Po.is(i)?s.command=i:s.edit=i,a&&o!==void 0&&(s.kind=o),s}t.create=e;function r(n){let i=n;return i&&b.string(i.title)&&(i.diagnostics===void 0||b.typedArray(i.diagnostics,hl.is))&&(i.kind===void 0||b.string(i.kind))&&(i.edit!==void 0||i.command!==void 0)&&(i.command===void 0||Po.is(i.command))&&(i.isPreferred===void 0||b.boolean(i.isPreferred))&&(i.edit===void 0||Hd.is(i.edit))}t.is=r})(Ny||(Ny={}));(function(t){function e(n,i){let o={range:n};return b.defined(i)&&(o.data=i),o}t.create=e;function r(n){let i=n;return b.defined(i)&&Ee.is(i.range)&&(b.undefined(i.command)||Po.is(i.command))}t.is=r})(Py||(Py={}));(function(t){function e(n,i){return{tabSize:n,insertSpaces:i}}t.create=e;function r(n){let i=n;return b.defined(i)&&b.uinteger(i.tabSize)&&b.boolean(i.insertSpaces)}t.is=r})(Cy||(Cy={}));(function(t){function e(n,i,o){return{range:n,target:i,data:o}}t.create=e;function r(n){let i=n;return b.defined(i)&&Ee.is(i.range)&&(b.undefined(i.target)||b.string(i.target))}t.is=r})(Oy||(Oy={}));(function(t){function e(n,i){return{range:n,parent:i}}t.create=e;function r(n){let i=n;return b.objectLiteral(i)&&Ee.is(i.range)&&(i.parent===void 0||t.is(i.parent))}t.is=r})(Ly||(Ly={}));(function(t){t.namespace="namespace",t.type="type",t.class="class",t.enum="enum",t.interface="interface",t.struct="struct",t.typeParameter="typeParameter",t.parameter="parameter",t.variable="variable",t.property="property",t.enumMember="enumMember",t.event="event",t.function="function",t.method="method",t.macro="macro",t.keyword="keyword",t.modifier="modifier",t.comment="comment",t.string="string",t.number="number",t.regexp="regexp",t.operator="operator",t.decorator="decorator"})(Dy||(Dy={}));(function(t){t.declaration="declaration",t.definition="definition",t.readonly="readonly",t.static="static",t.deprecated="deprecated",t.abstract="abstract",t.async="async",t.modification="modification",t.documentation="documentation",t.defaultLibrary="defaultLibrary"})($y||($y={}));(function(t){function e(r){let n=r;return b.objectLiteral(n)&&(n.resultId===void 0||typeof n.resultId=="string")&&Array.isArray(n.data)&&(n.data.length===0||typeof n.data[0]=="number")}t.is=e})(My||(My={}));(function(t){function e(n,i){return{range:n,text:i}}t.create=e;function r(n){let i=n;return i!=null&&Ee.is(i.range)&&b.string(i.text)}t.is=r})(Fy||(Fy={}));(function(t){function e(n,i,o){return{range:n,variableName:i,caseSensitiveLookup:o}}t.create=e;function r(n){let i=n;return i!=null&&Ee.is(i.range)&&b.boolean(i.caseSensitiveLookup)&&(b.string(i.variableName)||i.variableName===void 0)}t.is=r})(Uy||(Uy={}));(function(t){function e(n,i){return{range:n,expression:i}}t.create=e;function r(n){let i=n;return i!=null&&Ee.is(i.range)&&(b.string(i.expression)||i.expression===void 0)}t.is=r})(By||(By={}));(function(t){function e(n,i){return{frameId:n,stoppedLocation:i}}t.create=e;function r(n){let i=n;return b.defined(i)&&Ee.is(n.stoppedLocation)}t.is=r})(Gy||(Gy={}));(function(t){t.Type=1,t.Parameter=2;function e(r){return r===1||r===2}t.is=e})(qd||(qd={}));(function(t){function e(n){return{value:n}}t.create=e;function r(n){let i=n;return b.objectLiteral(i)&&(i.tooltip===void 0||b.string(i.tooltip)||oa.is(i.tooltip))&&(i.location===void 0||pl.is(i.location))&&(i.command===void 0||Po.is(i.command))}t.is=r})(Wd||(Wd={}));(function(t){function e(n,i,o){let s={position:n,label:i};return o!==void 0&&(s.kind=o),s}t.create=e;function r(n){let i=n;return b.objectLiteral(i)&&Ie.is(i.position)&&(b.string(i.label)||b.typedArray(i.label,Wd.is))&&(i.kind===void 0||qd.is(i.kind))&&i.textEdits===void 0||b.typedArray(i.textEdits,hn.is)&&(i.tooltip===void 0||b.string(i.tooltip)||oa.is(i.tooltip))&&(i.paddingLeft===void 0||b.boolean(i.paddingLeft))&&(i.paddingRight===void 0||b.boolean(i.paddingRight))}t.is=r})(Xy||(Xy={}));(function(t){function e(r){return{kind:"snippet",value:r}}t.createSnippet=e})(Hy||(Hy={}));(function(t){function e(r,n,i,o){return{insertText:r,filterText:n,range:i,command:o}}t.create=e})(jy||(jy={}));(function(t){function e(r){return{items:r}}t.create=e})(zy||(zy={}));(function(t){t.Invoked=0,t.Automatic=1})(qy||(qy={}));(function(t){function e(r,n){return{range:r,text:n}}t.create=e})(Wy||(Wy={}));(function(t){function e(r,n){return{triggerKind:r,selectedCompletionInfo:n}}t.create=e})(Vy||(Vy={}));(function(t){function e(r){let n=r;return b.objectLiteral(n)&&Bd.is(n.uri)&&b.string(n.name)}t.is=e})(Yy||(Yy={}));qF=[`
|
|
3
3
|
`,`\r
|
|
4
|
-
`,"\r"];(function(t){function e(o,s,a,c){return new
|
|
4
|
+
`,"\r"];(function(t){function e(o,s,a,c){return new Zy(o,s,a,c)}t.create=e;function r(o){let s=o;return!!(b.defined(s)&&b.string(s.uri)&&(b.undefined(s.languageId)||b.string(s.languageId))&&b.uinteger(s.lineCount)&&b.func(s.getText)&&b.func(s.positionAt)&&b.func(s.offsetAt))}t.is=r;function n(o,s){let a=o.getText(),c=i(s,(u,f)=>{let d=u.range.start.line-f.range.start.line;return d===0?u.range.start.character-f.range.start.character:d}),l=a.length;for(let u=c.length-1;u>=0;u--){let f=c[u],d=o.offsetAt(f.range.start),p=o.offsetAt(f.range.end);if(p<=l)a=a.substring(0,d)+f.newText+a.substring(p,a.length);else throw new Error("Overlapping edit");l=d}return a}t.applyEdits=n;function i(o,s){if(o.length<=1)return o;let a=o.length/2|0,c=o.slice(0,a),l=o.slice(a);i(c,s),i(l,s);let u=0,f=0,d=0;for(;u<c.length&&f<l.length;)s(c[u],l[f])<=0?o[d++]=c[u++]:o[d++]=l[f++];for(;u<c.length;)o[d++]=c[u++];for(;f<l.length;)o[d++]=l[f++];return o}})(Ky||(Ky={}));Zy=class{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){this._content=e.text,this._version=r,this._lineOffsets=void 0}getLineOffsets(){if(this._lineOffsets===void 0){let e=[],r=this._content,n=!0;for(let i=0;i<r.length;i++){n&&(e.push(i),n=!1);let o=r.charAt(i);n=o==="\r"||o===`
|
|
5
5
|
`,o==="\r"&&i+1<r.length&&r.charAt(i+1)===`
|
|
6
|
-
`&&i++}n&&r.length>0&&e.push(r.length),this._lineOffsets=e}return 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 ke.create(0,e);for(;n<i;){let s=Math.floor((n+i)/2);r[s]>e?i=s:n=s+1}let o=n-1;return ke.create(o,e-r[o])}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}};(function(t){let e=Object.prototype.toString;function r(p){return typeof p<"u"}t.defined=r;function n(p){return typeof p>"u"}t.undefined=n;function i(p){return p===!0||p===!1}t.boolean=i;function o(p){return e.call(p)==="[object String]"}t.string=o;function s(p){return e.call(p)==="[object Number]"}t.number=s;function a(p,m,y){return e.call(p)==="[object Number]"&&m<=p&&p<=y}t.numberRange=a;function c(p){return e.call(p)==="[object Number]"&&-2147483648<=p&&p<=2147483647}t.integer=c;function l(p){return e.call(p)==="[object Number]"&&0<=p&&p<=2147483647}t.uinteger=l;function u(p){return e.call(p)==="[object Function]"}t.func=u;function f(p){return p!==null&&typeof p=="object"}t.objectLiteral=f;function d(p,m){return Array.isArray(p)&&p.every(m)}t.typedArray=d})(b||(b={}))});var qy=ce(Wy=>{"use strict";Object.defineProperty(Wy,"__esModule",{value:!0});var Hy;function jy(){if(Hy===void 0)throw new Error("No runtime abstraction layer installed");return Hy}(function(t){function e(r){if(r===void 0)throw new Error("No runtime abstraction layer provided");Hy=r}t.install=e})(jy||(jy={}));Wy.default=jy});var NA=ce(Ut=>{"use strict";Object.defineProperty(Ut,"__esModule",{value:!0});Ut.stringArray=Ut.array=Ut.func=Ut.error=Ut.number=Ut.string=Ut.boolean=void 0;function gF(t){return t===!0||t===!1}Ut.boolean=gF;function vA(t){return typeof t=="string"||t instanceof String}Ut.string=vA;function yF(t){return typeof t=="number"||t instanceof Number}Ut.number=yF;function xF(t){return t instanceof Error}Ut.error=xF;function TF(t){return typeof t=="function"}Ut.func=TF;function kA(t){return Array.isArray(t)}Ut.array=kA;function _F(t){return kA(t)&&t.every(e=>vA(e))}Ut.stringArray=_F});var Vy=ce(ea=>{"use strict";Object.defineProperty(ea,"__esModule",{value:!0});ea.Emitter=ea.Event=void 0;var EF=qy(),PA;(function(t){let e={dispose(){}};t.None=function(){return e}})(PA||(ea.Event=PA={}));var zy=class{add(e,r=null,n){this._callbacks||(this._callbacks=[],this._contexts=[]),this._callbacks.push(e),this._contexts.push(r),Array.isArray(n)&&n.push({dispose:()=>this.remove(e,r)})}remove(e,r=null){if(!this._callbacks)return;let n=!1;for(let i=0,o=this._callbacks.length;i<o;i++)if(this._callbacks[i]===e)if(this._contexts[i]===r){this._callbacks.splice(i,1),this._contexts.splice(i,1);return}else n=!0;if(n)throw new Error("When adding a listener with a context, you should remove it with the same context")}invoke(...e){if(!this._callbacks)return[];let r=[],n=this._callbacks.slice(0),i=this._contexts.slice(0);for(let o=0,s=n.length;o<s;o++)try{r.push(n[o].apply(i[o],e))}catch(a){(0,EF.default)().console.error(a)}return r}isEmpty(){return!this._callbacks||this._callbacks.length===0}dispose(){this._callbacks=void 0,this._contexts=void 0}},Bd=class t{constructor(e){this._options=e}get event(){return this._event||(this._event=(e,r,n)=>{this._callbacks||(this._callbacks=new zy),this._options&&this._options.onFirstListenerAdd&&this._callbacks.isEmpty()&&this._options.onFirstListenerAdd(this),this._callbacks.add(e,r);let i={dispose:()=>{this._callbacks&&(this._callbacks.remove(e,r),i.dispose=t._noop,this._options&&this._options.onLastListenerRemove&&this._callbacks.isEmpty()&&this._options.onLastListenerRemove(this))}};return Array.isArray(n)&&n.push(i),i}),this._event}fire(e){this._callbacks&&this._callbacks.invoke.call(this._callbacks,e)}dispose(){this._callbacks&&(this._callbacks.dispose(),this._callbacks=void 0)}};ea.Emitter=Bd;Bd._noop=function(){}});var CA=ce(ta=>{"use strict";Object.defineProperty(ta,"__esModule",{value:!0});ta.CancellationTokenSource=ta.CancellationToken=void 0;var RF=qy(),bF=NA(),Yy=Vy(),Xd;(function(t){t.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:Yy.Event.None}),t.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:Yy.Event.None});function e(r){let n=r;return n&&(n===t.None||n===t.Cancelled||bF.boolean(n.isCancellationRequested)&&!!n.onCancellationRequested)}t.is=e})(Xd||(ta.CancellationToken=Xd={}));var wF=Object.freeze(function(t,e){let r=(0,RF.default)().timer.setTimeout(t.bind(e),0);return{dispose(){r.dispose()}}}),Gd=class{constructor(){this._isCancelled=!1}cancel(){this._isCancelled||(this._isCancelled=!0,this._emitter&&(this._emitter.fire(void 0),this.dispose()))}get isCancellationRequested(){return this._isCancelled}get onCancellationRequested(){return this._isCancelled?wF:(this._emitter||(this._emitter=new Yy.Emitter),this._emitter.event)}dispose(){this._emitter&&(this._emitter.dispose(),this._emitter=void 0)}},Ky=class{get token(){return this._token||(this._token=new Gd),this._token}cancel(){this._token?this._token.cancel():this._token=Xd.Cancelled}dispose(){this._token?this._token instanceof Gd&&this._token.dispose():this._token=Xd.None}};ta.CancellationTokenSource=Ky});var ca=ce(Xt=>{"use strict";Object.defineProperty(Xt,"__esModule",{value:!0});Xt.stringArray=Xt.array=Xt.func=Xt.error=Xt.number=Xt.string=Xt.boolean=void 0;function SF(t){return t===!0||t===!1}Xt.boolean=SF;function jA(t){return typeof t=="string"||t instanceof String}Xt.string=jA;function vF(t){return typeof t=="number"||t instanceof Number}Xt.number=vF;function kF(t){return t instanceof Error}Xt.error=kF;function NF(t){return typeof t=="function"}Xt.func=NF;function WA(t){return Array.isArray(t)}Xt.array=WA;function PF(t){return WA(t)&&t.every(e=>jA(e))}Xt.stringArray=PF});var Ax=ce(Q=>{"use strict";Object.defineProperty(Q,"__esModule",{value:!0});Q.Message=Q.NotificationType9=Q.NotificationType8=Q.NotificationType7=Q.NotificationType6=Q.NotificationType5=Q.NotificationType4=Q.NotificationType3=Q.NotificationType2=Q.NotificationType1=Q.NotificationType0=Q.NotificationType=Q.RequestType9=Q.RequestType8=Q.RequestType7=Q.RequestType6=Q.RequestType5=Q.RequestType4=Q.RequestType3=Q.RequestType2=Q.RequestType1=Q.RequestType=Q.RequestType0=Q.AbstractMessageSignature=Q.ParameterStructures=Q.ResponseError=Q.ErrorCodes=void 0;var Lo=ca(),tx;(function(t){t.ParseError=-32700,t.InvalidRequest=-32600,t.MethodNotFound=-32601,t.InvalidParams=-32602,t.InternalError=-32603,t.jsonrpcReservedErrorRangeStart=-32099,t.serverErrorStart=-32099,t.MessageWriteError=-32099,t.MessageReadError=-32098,t.PendingResponseRejected=-32097,t.ConnectionInactive=-32096,t.ServerNotInitialized=-32002,t.UnknownErrorCode=-32001,t.jsonrpcReservedErrorRangeEnd=-32e3,t.serverErrorEnd=-32e3})(tx||(Q.ErrorCodes=tx={}));var rx=class t extends Error{constructor(e,r,n){super(r),this.code=Lo.number(e)?e:tx.UnknownErrorCode,this.data=n,Object.setPrototypeOf(this,t.prototype)}toJson(){let e={code:this.code,message:this.message};return this.data!==void 0&&(e.data=this.data),e}};Q.ResponseError=rx;var rr=class t{constructor(e){this.kind=e}static is(e){return e===t.auto||e===t.byName||e===t.byPosition}toString(){return this.kind}};Q.ParameterStructures=rr;rr.auto=new rr("auto");rr.byPosition=new rr("byPosition");rr.byName=new rr("byName");var nt=class{constructor(e,r){this.method=e,this.numberOfParams=r}get parameterStructures(){return rr.auto}};Q.AbstractMessageSignature=nt;var nx=class extends nt{constructor(e){super(e,0)}};Q.RequestType0=nx;var ix=class extends nt{constructor(e,r=rr.auto){super(e,1),this._parameterStructures=r}get parameterStructures(){return this._parameterStructures}};Q.RequestType=ix;var ox=class extends nt{constructor(e,r=rr.auto){super(e,1),this._parameterStructures=r}get parameterStructures(){return this._parameterStructures}};Q.RequestType1=ox;var sx=class extends nt{constructor(e){super(e,2)}};Q.RequestType2=sx;var ax=class extends nt{constructor(e){super(e,3)}};Q.RequestType3=ax;var cx=class extends nt{constructor(e){super(e,4)}};Q.RequestType4=cx;var lx=class extends nt{constructor(e){super(e,5)}};Q.RequestType5=lx;var ux=class extends nt{constructor(e){super(e,6)}};Q.RequestType6=ux;var fx=class extends nt{constructor(e){super(e,7)}};Q.RequestType7=fx;var dx=class extends nt{constructor(e){super(e,8)}};Q.RequestType8=dx;var px=class extends nt{constructor(e){super(e,9)}};Q.RequestType9=px;var hx=class extends nt{constructor(e,r=rr.auto){super(e,1),this._parameterStructures=r}get parameterStructures(){return this._parameterStructures}};Q.NotificationType=hx;var mx=class extends nt{constructor(e){super(e,0)}};Q.NotificationType0=mx;var gx=class extends nt{constructor(e,r=rr.auto){super(e,1),this._parameterStructures=r}get parameterStructures(){return this._parameterStructures}};Q.NotificationType1=gx;var yx=class extends nt{constructor(e){super(e,2)}};Q.NotificationType2=yx;var xx=class extends nt{constructor(e){super(e,3)}};Q.NotificationType3=xx;var Tx=class extends nt{constructor(e){super(e,4)}};Q.NotificationType4=Tx;var _x=class extends nt{constructor(e){super(e,5)}};Q.NotificationType5=_x;var Ex=class extends nt{constructor(e){super(e,6)}};Q.NotificationType6=Ex;var Rx=class extends nt{constructor(e){super(e,7)}};Q.NotificationType7=Rx;var bx=class extends nt{constructor(e){super(e,8)}};Q.NotificationType8=bx;var wx=class extends nt{constructor(e){super(e,9)}};Q.NotificationType9=wx;var qA;(function(t){function e(i){let o=i;return o&&Lo.string(o.method)&&(Lo.string(o.id)||Lo.number(o.id))}t.isRequest=e;function r(i){let o=i;return o&&Lo.string(o.method)&&i.id===void 0}t.isNotification=r;function n(i){let o=i;return o&&(o.result!==void 0||!!o.error)&&(Lo.string(o.id)||Lo.number(o.id)||o.id===null)}t.isResponse=n})(qA||(Q.Message=qA={}))});var Sx=ce(bi=>{"use strict";var zA;Object.defineProperty(bi,"__esModule",{value:!0});bi.LRUCache=bi.LinkedMap=bi.Touch=void 0;var Gt;(function(t){t.None=0,t.First=1,t.AsOld=t.First,t.Last=2,t.AsNew=t.Last})(Gt||(bi.Touch=Gt={}));var Yd=class{constructor(){this[zA]="LinkedMap",this._map=new Map,this._head=void 0,this._tail=void 0,this._size=0,this._state=0}clear(){this._map.clear(),this._head=void 0,this._tail=void 0,this._size=0,this._state++}isEmpty(){return!this._head&&!this._tail}get size(){return this._size}get first(){return this._head?.value}get last(){return this._tail?.value}has(e){return this._map.has(e)}get(e,r=Gt.None){let n=this._map.get(e);if(n)return r!==Gt.None&&this.touch(n,r),n.value}set(e,r,n=Gt.None){let i=this._map.get(e);if(i)i.value=r,n!==Gt.None&&this.touch(i,n);else{switch(i={key:e,value:r,next:void 0,previous:void 0},n){case Gt.None:this.addItemLast(i);break;case Gt.First:this.addItemFirst(i);break;case Gt.Last:this.addItemLast(i);break;default:this.addItemLast(i);break}this._map.set(e,i),this._size++}return this}delete(e){return!!this.remove(e)}remove(e){let r=this._map.get(e);if(r)return this._map.delete(e),this.removeItem(r),this._size--,r.value}shift(){if(!this._head&&!this._tail)return;if(!this._head||!this._tail)throw new Error("Invalid list");let e=this._head;return this._map.delete(e.key),this.removeItem(e),this._size--,e.value}forEach(e,r){let n=this._state,i=this._head;for(;i;){if(r?e.bind(r)(i.value,i.key,this):e(i.value,i.key,this),this._state!==n)throw new Error("LinkedMap got modified during iteration.");i=i.next}}keys(){let e=this._state,r=this._head,n={[Symbol.iterator]:()=>n,next:()=>{if(this._state!==e)throw new Error("LinkedMap got modified during iteration.");if(r){let i={value:r.key,done:!1};return r=r.next,i}else return{value:void 0,done:!0}}};return n}values(){let e=this._state,r=this._head,n={[Symbol.iterator]:()=>n,next:()=>{if(this._state!==e)throw new Error("LinkedMap got modified during iteration.");if(r){let i={value:r.value,done:!1};return r=r.next,i}else return{value:void 0,done:!0}}};return n}entries(){let e=this._state,r=this._head,n={[Symbol.iterator]:()=>n,next:()=>{if(this._state!==e)throw new Error("LinkedMap got modified during iteration.");if(r){let i={value:[r.key,r.value],done:!1};return r=r.next,i}else return{value:void 0,done:!0}}};return n}[(zA=Symbol.toStringTag,Symbol.iterator)](){return this.entries()}trimOld(e){if(e>=this.size)return;if(e===0){this.clear();return}let r=this._head,n=this.size;for(;r&&n>e;)this._map.delete(r.key),r=r.next,n--;this._head=r,this._size=n,r&&(r.previous=void 0),this._state++}addItemFirst(e){if(!this._head&&!this._tail)this._tail=e;else if(this._head)e.next=this._head,this._head.previous=e;else throw new Error("Invalid list");this._head=e,this._state++}addItemLast(e){if(!this._head&&!this._tail)this._head=e;else if(this._tail)e.previous=this._tail,this._tail.next=e;else throw new Error("Invalid list");this._tail=e,this._state++}removeItem(e){if(e===this._head&&e===this._tail)this._head=void 0,this._tail=void 0;else if(e===this._head){if(!e.next)throw new Error("Invalid list");e.next.previous=void 0,this._head=e.next}else if(e===this._tail){if(!e.previous)throw new Error("Invalid list");e.previous.next=void 0,this._tail=e.previous}else{let r=e.next,n=e.previous;if(!r||!n)throw new Error("Invalid list");r.previous=n,n.next=r}e.next=void 0,e.previous=void 0,this._state++}touch(e,r){if(!this._head||!this._tail)throw new Error("Invalid list");if(!(r!==Gt.First&&r!==Gt.Last)){if(r===Gt.First){if(e===this._head)return;let n=e.next,i=e.previous;e===this._tail?(i.next=void 0,this._tail=i):(n.previous=i,i.next=n),e.previous=void 0,e.next=this._head,this._head.previous=e,this._head=e,this._state++}else if(r===Gt.Last){if(e===this._tail)return;let n=e.next,i=e.previous;e===this._head?(n.previous=void 0,this._head=n):(n.previous=i,i.next=n),e.next=void 0,e.previous=this._tail,this._tail.next=e,this._tail=e,this._state++}}}toJSON(){let e=[];return this.forEach((r,n)=>{e.push([n,r])}),e}fromJSON(e){this.clear();for(let[r,n]of e)this.set(r,n)}};bi.LinkedMap=Yd;var Ix=class extends Yd{constructor(e,r=1){super(),this._limit=e,this._ratio=Math.min(Math.max(0,r),1)}get limit(){return this._limit}set limit(e){this._limit=e,this.checkTrim()}get ratio(){return this._ratio}set ratio(e){this._ratio=Math.min(Math.max(0,e),1),this.checkTrim()}get(e,r=Gt.AsNew){return super.get(e,r)}peek(e){return super.get(e,Gt.None)}set(e,r){return super.set(e,r,Gt.Last),this.checkTrim(),this}checkTrim(){this.size>this._limit&&this.trimOld(Math.round(this._limit*this._ratio))}};bi.LRUCache=Ix});var YA=ce(Kd=>{"use strict";Object.defineProperty(Kd,"__esModule",{value:!0});Kd.Disposable=void 0;var VA;(function(t){function e(r){return{dispose:r}}t.create=e})(VA||(Kd.Disposable=VA={}))});var wi=ce(Nx=>{"use strict";Object.defineProperty(Nx,"__esModule",{value:!0});var vx;function kx(){if(vx===void 0)throw new Error("No runtime abstraction layer installed");return vx}(function(t){function e(r){if(r===void 0)throw new Error("No runtime abstraction layer provided");vx=r}t.install=e})(kx||(kx={}));Nx.default=kx});var ua=ce(la=>{"use strict";Object.defineProperty(la,"__esModule",{value:!0});la.Emitter=la.Event=void 0;var CF=wi(),KA;(function(t){let e={dispose(){}};t.None=function(){return e}})(KA||(la.Event=KA={}));var Px=class{add(e,r=null,n){this._callbacks||(this._callbacks=[],this._contexts=[]),this._callbacks.push(e),this._contexts.push(r),Array.isArray(n)&&n.push({dispose:()=>this.remove(e,r)})}remove(e,r=null){if(!this._callbacks)return;let n=!1;for(let i=0,o=this._callbacks.length;i<o;i++)if(this._callbacks[i]===e)if(this._contexts[i]===r){this._callbacks.splice(i,1),this._contexts.splice(i,1);return}else n=!0;if(n)throw new Error("When adding a listener with a context, you should remove it with the same context")}invoke(...e){if(!this._callbacks)return[];let r=[],n=this._callbacks.slice(0),i=this._contexts.slice(0);for(let o=0,s=n.length;o<s;o++)try{r.push(n[o].apply(i[o],e))}catch(a){(0,CF.default)().console.error(a)}return r}isEmpty(){return!this._callbacks||this._callbacks.length===0}dispose(){this._callbacks=void 0,this._contexts=void 0}},Zd=class t{constructor(e){this._options=e}get event(){return this._event||(this._event=(e,r,n)=>{this._callbacks||(this._callbacks=new Px),this._options&&this._options.onFirstListenerAdd&&this._callbacks.isEmpty()&&this._options.onFirstListenerAdd(this),this._callbacks.add(e,r);let i={dispose:()=>{this._callbacks&&(this._callbacks.remove(e,r),i.dispose=t._noop,this._options&&this._options.onLastListenerRemove&&this._callbacks.isEmpty()&&this._options.onLastListenerRemove(this))}};return Array.isArray(n)&&n.push(i),i}),this._event}fire(e){this._callbacks&&this._callbacks.invoke.call(this._callbacks,e)}dispose(){this._callbacks&&(this._callbacks.dispose(),this._callbacks=void 0)}};la.Emitter=Zd;Zd._noop=function(){}});var ep=ce(fa=>{"use strict";Object.defineProperty(fa,"__esModule",{value:!0});fa.CancellationTokenSource=fa.CancellationToken=void 0;var OF=wi(),LF=ca(),Cx=ua(),Jd;(function(t){t.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:Cx.Event.None}),t.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:Cx.Event.None});function e(r){let n=r;return n&&(n===t.None||n===t.Cancelled||LF.boolean(n.isCancellationRequested)&&!!n.onCancellationRequested)}t.is=e})(Jd||(fa.CancellationToken=Jd={}));var DF=Object.freeze(function(t,e){let r=(0,OF.default)().timer.setTimeout(t.bind(e),0);return{dispose(){r.dispose()}}}),Qd=class{constructor(){this._isCancelled=!1}cancel(){this._isCancelled||(this._isCancelled=!0,this._emitter&&(this._emitter.fire(void 0),this.dispose()))}get isCancellationRequested(){return this._isCancelled}get onCancellationRequested(){return this._isCancelled?DF:(this._emitter||(this._emitter=new Cx.Emitter),this._emitter.event)}dispose(){this._emitter&&(this._emitter.dispose(),this._emitter=void 0)}},Ox=class{get token(){return this._token||(this._token=new Qd),this._token}cancel(){this._token?this._token.cancel():this._token=Jd.Cancelled}dispose(){this._token?this._token instanceof Qd&&this._token.dispose():this._token=Jd.None}};fa.CancellationTokenSource=Ox});var ZA=ce(da=>{"use strict";Object.defineProperty(da,"__esModule",{value:!0});da.SharedArrayReceiverStrategy=da.SharedArraySenderStrategy=void 0;var $F=ep(),Ll;(function(t){t.Continue=0,t.Cancelled=1})(Ll||(Ll={}));var Lx=class{constructor(){this.buffers=new Map}enableCancellation(e){if(e.id===null)return;let r=new SharedArrayBuffer(4),n=new Int32Array(r,0,1);n[0]=Ll.Continue,this.buffers.set(e.id,r),e.$cancellationData=r}async sendCancellation(e,r){let n=this.buffers.get(r);if(n===void 0)return;let i=new Int32Array(n,0,1);Atomics.store(i,0,Ll.Cancelled)}cleanup(e){this.buffers.delete(e)}dispose(){this.buffers.clear()}};da.SharedArraySenderStrategy=Lx;var Dx=class{constructor(e){this.data=new Int32Array(e,0,1)}get isCancellationRequested(){return Atomics.load(this.data,0)===Ll.Cancelled}get onCancellationRequested(){throw new Error("Cancellation over SharedArrayBuffer doesn't support cancellation events")}},$x=class{constructor(e){this.token=new Dx(e)}cancel(){}dispose(){}},Mx=class{constructor(){this.kind="request"}createCancellationTokenSource(e){let r=e.$cancellationData;return r===void 0?new $F.CancellationTokenSource:new $x(r)}};da.SharedArrayReceiverStrategy=Mx});var Ux=ce(tp=>{"use strict";Object.defineProperty(tp,"__esModule",{value:!0});tp.Semaphore=void 0;var MF=wi(),Fx=class{constructor(e=1){if(e<=0)throw new Error("Capacity must be greater than 0");this._capacity=e,this._active=0,this._waiting=[]}lock(e){return new Promise((r,n)=>{this._waiting.push({thunk:e,resolve:r,reject:n}),this.runNext()})}get active(){return this._active}runNext(){this._waiting.length===0||this._active===this._capacity||(0,MF.default)().timer.setImmediate(()=>this.doRunNext())}doRunNext(){if(this._waiting.length===0||this._active===this._capacity)return;let e=this._waiting.shift();if(this._active++,this._active>this._capacity)throw new Error("To many thunks active");try{let r=e.thunk();r instanceof Promise?r.then(n=>{this._active--,e.resolve(n),this.runNext()},n=>{this._active--,e.reject(n),this.runNext()}):(this._active--,e.resolve(r),this.runNext())}catch(r){this._active--,e.reject(r),this.runNext()}}};tp.Semaphore=Fx});var QA=ce(Ai=>{"use strict";Object.defineProperty(Ai,"__esModule",{value:!0});Ai.ReadableStreamMessageReader=Ai.AbstractMessageReader=Ai.MessageReader=void 0;var Xx=wi(),pa=ca(),Bx=ua(),FF=Ux(),JA;(function(t){function e(r){let n=r;return n&&pa.func(n.listen)&&pa.func(n.dispose)&&pa.func(n.onError)&&pa.func(n.onClose)&&pa.func(n.onPartialMessage)}t.is=e})(JA||(Ai.MessageReader=JA={}));var rp=class{constructor(){this.errorEmitter=new Bx.Emitter,this.closeEmitter=new Bx.Emitter,this.partialMessageEmitter=new Bx.Emitter}dispose(){this.errorEmitter.dispose(),this.closeEmitter.dispose()}get onError(){return this.errorEmitter.event}fireError(e){this.errorEmitter.fire(this.asError(e))}get onClose(){return this.closeEmitter.event}fireClose(){this.closeEmitter.fire(void 0)}get onPartialMessage(){return this.partialMessageEmitter.event}firePartialMessage(e){this.partialMessageEmitter.fire(e)}asError(e){return e instanceof Error?e:new Error(`Reader received error. Reason: ${pa.string(e.message)?e.message:"unknown"}`)}};Ai.AbstractMessageReader=rp;var Gx;(function(t){function e(r){let n,i,o,s=new Map,a,c=new Map;if(r===void 0||typeof r=="string")n=r??"utf-8";else{if(n=r.charset??"utf-8",r.contentDecoder!==void 0&&(o=r.contentDecoder,s.set(o.name,o)),r.contentDecoders!==void 0)for(let l of r.contentDecoders)s.set(l.name,l);if(r.contentTypeDecoder!==void 0&&(a=r.contentTypeDecoder,c.set(a.name,a)),r.contentTypeDecoders!==void 0)for(let l of r.contentTypeDecoders)c.set(l.name,l)}return a===void 0&&(a=(0,Xx.default)().applicationJson.decoder,c.set(a.name,a)),{charset:n,contentDecoder:o,contentDecoders:s,contentTypeDecoder:a,contentTypeDecoders:c}}t.fromOptions=e})(Gx||(Gx={}));var Hx=class extends rp{constructor(e,r){super(),this.readable=e,this.options=Gx.fromOptions(r),this.buffer=(0,Xx.default)().messageBuffer.create(this.options.charset),this._partialMessageTimeout=1e4,this.nextMessageLength=-1,this.messageToken=0,this.readSemaphore=new FF.Semaphore(1)}set partialMessageTimeout(e){this._partialMessageTimeout=e}get partialMessageTimeout(){return this._partialMessageTimeout}listen(e){this.nextMessageLength=-1,this.messageToken=0,this.partialMessageTimer=void 0,this.callback=e;let r=this.readable.onData(n=>{this.onData(n)});return this.readable.onError(n=>this.fireError(n)),this.readable.onClose(()=>this.fireClose()),r}onData(e){try{for(this.buffer.append(e);;){if(this.nextMessageLength===-1){let n=this.buffer.tryReadHeaders(!0);if(!n)return;let i=n.get("content-length");if(!i){this.fireError(new Error(`Header must provide a Content-Length property.
|
|
7
|
-
${JSON.stringify(Object.fromEntries(n))}`));return}let o=parseInt(i);if(isNaN(o)){this.fireError(new Error(`Content-Length value must be a number. Got ${i}`));return}this.nextMessageLength=o}let r=this.buffer.tryReadBody(this.nextMessageLength);if(r===void 0){this.setPartialMessageTimer();return}this.clearPartialMessageTimer(),this.nextMessageLength=-1,this.readSemaphore.lock(async()=>{let n=this.options.contentDecoder!==void 0?await this.options.contentDecoder.decode(r):r,i=await this.options.contentTypeDecoder.decode(n,this.options);this.callback(i)}).catch(n=>{this.fireError(n)})}}catch(r){this.fireError(r)}}clearPartialMessageTimer(){this.partialMessageTimer&&(this.partialMessageTimer.dispose(),this.partialMessageTimer=void 0)}setPartialMessageTimer(){this.clearPartialMessageTimer(),!(this._partialMessageTimeout<=0)&&(this.partialMessageTimer=(0,
|
|
8
|
-
`,
|
|
9
|
-
`,
|
|
10
|
-
${u}`);let d=u.substr(0,f),p=u.substr(f+1).trim();a.set(e?d.toLowerCase():d,p)}return a}tryReadBody(e){if(!(this._totalLength<e))return this._read(e)}get numberOfBytes(){return this._totalLength}_read(e){if(e===0)return this.emptyBuffer();if(e>this._totalLength)throw new Error("Cannot read so many bytes!");if(this._chunks[0].byteLength===e){let o=this._chunks[0];return this._chunks.shift(),this._totalLength-=e,this.asNative(o)}if(this._chunks[0].byteLength>e){let o=this._chunks[0],s=this.asNative(o,e);return this._chunks[0]=o.slice(e),this._totalLength-=e,s}let r=this.allocNative(e),n=0,i=0;for(;e>0;){let o=this._chunks[i];if(o.byteLength>e){let s=o.slice(0,e);r.set(s,n),n+=e,this._chunks[i]=o.slice(e),this._totalLength-=e,e-=e}else r.set(o,n),n+=o.byteLength,this._chunks.shift(),this._totalLength-=o.byteLength,e-=o.byteLength}return r}};
|
|
11
|
-
${JSON.stringify(x.error,void 0,4)}`):i.error("Received response message without id. No further error information provided.");else{let
|
|
12
|
-
${JSON.stringify(x,null,4)}`);let
|
|
6
|
+
`&&i++}n&&r.length>0&&e.push(r.length),this._lineOffsets=e}return 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 Ie.create(0,e);for(;n<i;){let s=Math.floor((n+i)/2);r[s]>e?i=s:n=s+1}let o=n-1;return Ie.create(o,e-r[o])}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}};(function(t){let e=Object.prototype.toString;function r(p){return typeof p<"u"}t.defined=r;function n(p){return typeof p>"u"}t.undefined=n;function i(p){return p===!0||p===!1}t.boolean=i;function o(p){return e.call(p)==="[object String]"}t.string=o;function s(p){return e.call(p)==="[object Number]"}t.number=s;function a(p,m,g){return e.call(p)==="[object Number]"&&m<=p&&p<=g}t.numberRange=a;function c(p){return e.call(p)==="[object Number]"&&-2147483648<=p&&p<=2147483647}t.integer=c;function l(p){return e.call(p)==="[object Number]"&&0<=p&&p<=2147483647}t.uinteger=l;function u(p){return e.call(p)==="[object Function]"}t.func=u;function f(p){return p!==null&&typeof p=="object"}t.objectLiteral=f;function d(p,m){return Array.isArray(p)&&p.every(m)}t.typedArray=d})(b||(b={}))});var cx=fe(ax=>{"use strict";Object.defineProperty(ax,"__esModule",{value:!0});var ox;function sx(){if(ox===void 0)throw new Error("No runtime abstraction layer installed");return ox}(function(t){function e(r){if(r===void 0)throw new Error("No runtime abstraction layer provided");ox=r}t.install=e})(sx||(sx={}));ax.default=sx});var Qb=fe(Ut=>{"use strict";Object.defineProperty(Ut,"__esModule",{value:!0});Ut.stringArray=Ut.array=Ut.func=Ut.error=Ut.number=Ut.string=Ut.boolean=void 0;function i2(t){return t===!0||t===!1}Ut.boolean=i2;function Zb(t){return typeof t=="string"||t instanceof String}Ut.string=Zb;function o2(t){return typeof t=="number"||t instanceof Number}Ut.number=o2;function s2(t){return t instanceof Error}Ut.error=s2;function a2(t){return typeof t=="function"}Ut.func=a2;function Jb(t){return Array.isArray(t)}Ut.array=Jb;function c2(t){return Jb(t)&&t.every(e=>Zb(e))}Ut.stringArray=c2});var ux=fe(la=>{"use strict";Object.defineProperty(la,"__esModule",{value:!0});la.Emitter=la.Event=void 0;var l2=cx(),ew;(function(t){let e={dispose(){}};t.None=function(){return e}})(ew||(la.Event=ew={}));var lx=class{add(e,r=null,n){this._callbacks||(this._callbacks=[],this._contexts=[]),this._callbacks.push(e),this._contexts.push(r),Array.isArray(n)&&n.push({dispose:()=>this.remove(e,r)})}remove(e,r=null){if(!this._callbacks)return;let n=!1;for(let i=0,o=this._callbacks.length;i<o;i++)if(this._callbacks[i]===e)if(this._contexts[i]===r){this._callbacks.splice(i,1),this._contexts.splice(i,1);return}else n=!0;if(n)throw new Error("When adding a listener with a context, you should remove it with the same context")}invoke(...e){if(!this._callbacks)return[];let r=[],n=this._callbacks.slice(0),i=this._contexts.slice(0);for(let o=0,s=n.length;o<s;o++)try{r.push(n[o].apply(i[o],e))}catch(a){(0,l2.default)().console.error(a)}return r}isEmpty(){return!this._callbacks||this._callbacks.length===0}dispose(){this._callbacks=void 0,this._contexts=void 0}},Qd=class t{constructor(e){this._options=e}get event(){return this._event||(this._event=(e,r,n)=>{this._callbacks||(this._callbacks=new lx),this._options&&this._options.onFirstListenerAdd&&this._callbacks.isEmpty()&&this._options.onFirstListenerAdd(this),this._callbacks.add(e,r);let i={dispose:()=>{this._callbacks&&(this._callbacks.remove(e,r),i.dispose=t._noop,this._options&&this._options.onLastListenerRemove&&this._callbacks.isEmpty()&&this._options.onLastListenerRemove(this))}};return Array.isArray(n)&&n.push(i),i}),this._event}fire(e){this._callbacks&&this._callbacks.invoke.call(this._callbacks,e)}dispose(){this._callbacks&&(this._callbacks.dispose(),this._callbacks=void 0)}};la.Emitter=Qd;Qd._noop=function(){}});var tw=fe(ua=>{"use strict";Object.defineProperty(ua,"__esModule",{value:!0});ua.CancellationTokenSource=ua.CancellationToken=void 0;var u2=cx(),f2=Qb(),fx=ux(),ep;(function(t){t.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:fx.Event.None}),t.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:fx.Event.None});function e(r){let n=r;return n&&(n===t.None||n===t.Cancelled||f2.boolean(n.isCancellationRequested)&&!!n.onCancellationRequested)}t.is=e})(ep||(ua.CancellationToken=ep={}));var d2=Object.freeze(function(t,e){let r=(0,u2.default)().timer.setTimeout(t.bind(e),0);return{dispose(){r.dispose()}}}),tp=class{constructor(){this._isCancelled=!1}cancel(){this._isCancelled||(this._isCancelled=!0,this._emitter&&(this._emitter.fire(void 0),this.dispose()))}get isCancellationRequested(){return this._isCancelled}get onCancellationRequested(){return this._isCancelled?d2:(this._emitter||(this._emitter=new fx.Emitter),this._emitter.event)}dispose(){this._emitter&&(this._emitter.dispose(),this._emitter=void 0)}},dx=class{get token(){return this._token||(this._token=new tp),this._token}cancel(){this._token?this._token.cancel():this._token=ep.Cancelled}dispose(){this._token?this._token instanceof tp&&this._token.dispose():this._token=ep.None}};ua.CancellationTokenSource=dx});var ya=fe(Gt=>{"use strict";Object.defineProperty(Gt,"__esModule",{value:!0});Gt.stringArray=Gt.array=Gt.func=Gt.error=Gt.number=Gt.string=Gt.boolean=void 0;function m2(t){return t===!0||t===!1}Gt.boolean=m2;function pw(t){return typeof t=="string"||t instanceof String}Gt.string=pw;function g2(t){return typeof t=="number"||t instanceof Number}Gt.number=g2;function y2(t){return t instanceof Error}Gt.error=y2;function x2(t){return typeof t=="function"}Gt.func=x2;function hw(t){return Array.isArray(t)}Gt.array=hw;function T2(t){return hw(t)&&t.every(e=>pw(e))}Gt.stringArray=T2});var Gx=fe(ee=>{"use strict";Object.defineProperty(ee,"__esModule",{value:!0});ee.Message=ee.NotificationType9=ee.NotificationType8=ee.NotificationType7=ee.NotificationType6=ee.NotificationType5=ee.NotificationType4=ee.NotificationType3=ee.NotificationType2=ee.NotificationType1=ee.NotificationType0=ee.NotificationType=ee.RequestType9=ee.RequestType8=ee.RequestType7=ee.RequestType6=ee.RequestType5=ee.RequestType4=ee.RequestType3=ee.RequestType2=ee.RequestType1=ee.RequestType=ee.RequestType0=ee.AbstractMessageSignature=ee.ParameterStructures=ee.ResponseError=ee.ErrorCodes=void 0;var Go=ya(),yx;(function(t){t.ParseError=-32700,t.InvalidRequest=-32600,t.MethodNotFound=-32601,t.InvalidParams=-32602,t.InternalError=-32603,t.jsonrpcReservedErrorRangeStart=-32099,t.serverErrorStart=-32099,t.MessageWriteError=-32099,t.MessageReadError=-32098,t.PendingResponseRejected=-32097,t.ConnectionInactive=-32096,t.ServerNotInitialized=-32002,t.UnknownErrorCode=-32001,t.jsonrpcReservedErrorRangeEnd=-32e3,t.serverErrorEnd=-32e3})(yx||(ee.ErrorCodes=yx={}));var xx=class t extends Error{constructor(e,r,n){super(r),this.code=Go.number(e)?e:yx.UnknownErrorCode,this.data=n,Object.setPrototypeOf(this,t.prototype)}toJson(){let e={code:this.code,message:this.message};return this.data!==void 0&&(e.data=this.data),e}};ee.ResponseError=xx;var ir=class t{constructor(e){this.kind=e}static is(e){return e===t.auto||e===t.byName||e===t.byPosition}toString(){return this.kind}};ee.ParameterStructures=ir;ir.auto=new ir("auto");ir.byPosition=new ir("byPosition");ir.byName=new ir("byName");var ot=class{constructor(e,r){this.method=e,this.numberOfParams=r}get parameterStructures(){return ir.auto}};ee.AbstractMessageSignature=ot;var Tx=class extends ot{constructor(e){super(e,0)}};ee.RequestType0=Tx;var _x=class extends ot{constructor(e,r=ir.auto){super(e,1),this._parameterStructures=r}get parameterStructures(){return this._parameterStructures}};ee.RequestType=_x;var Ex=class extends ot{constructor(e,r=ir.auto){super(e,1),this._parameterStructures=r}get parameterStructures(){return this._parameterStructures}};ee.RequestType1=Ex;var vx=class extends ot{constructor(e){super(e,2)}};ee.RequestType2=vx;var Rx=class extends ot{constructor(e){super(e,3)}};ee.RequestType3=Rx;var bx=class extends ot{constructor(e){super(e,4)}};ee.RequestType4=bx;var wx=class extends ot{constructor(e){super(e,5)}};ee.RequestType5=wx;var Ax=class extends ot{constructor(e){super(e,6)}};ee.RequestType6=Ax;var Sx=class extends ot{constructor(e){super(e,7)}};ee.RequestType7=Sx;var Ix=class extends ot{constructor(e){super(e,8)}};ee.RequestType8=Ix;var kx=class extends ot{constructor(e){super(e,9)}};ee.RequestType9=kx;var Nx=class extends ot{constructor(e,r=ir.auto){super(e,1),this._parameterStructures=r}get parameterStructures(){return this._parameterStructures}};ee.NotificationType=Nx;var Px=class extends ot{constructor(e){super(e,0)}};ee.NotificationType0=Px;var Cx=class extends ot{constructor(e,r=ir.auto){super(e,1),this._parameterStructures=r}get parameterStructures(){return this._parameterStructures}};ee.NotificationType1=Cx;var Ox=class extends ot{constructor(e){super(e,2)}};ee.NotificationType2=Ox;var Lx=class extends ot{constructor(e){super(e,3)}};ee.NotificationType3=Lx;var Dx=class extends ot{constructor(e){super(e,4)}};ee.NotificationType4=Dx;var $x=class extends ot{constructor(e){super(e,5)}};ee.NotificationType5=$x;var Mx=class extends ot{constructor(e){super(e,6)}};ee.NotificationType6=Mx;var Fx=class extends ot{constructor(e){super(e,7)}};ee.NotificationType7=Fx;var Ux=class extends ot{constructor(e){super(e,8)}};ee.NotificationType8=Ux;var Bx=class extends ot{constructor(e){super(e,9)}};ee.NotificationType9=Bx;var mw;(function(t){function e(i){let o=i;return o&&Go.string(o.method)&&(Go.string(o.id)||Go.number(o.id))}t.isRequest=e;function r(i){let o=i;return o&&Go.string(o.method)&&i.id===void 0}t.isNotification=r;function n(i){let o=i;return o&&(o.result!==void 0||!!o.error)&&(Go.string(o.id)||Go.number(o.id)||o.id===null)}t.isResponse=n})(mw||(ee.Message=mw={}))});var Hx=fe(Pi=>{"use strict";var gw;Object.defineProperty(Pi,"__esModule",{value:!0});Pi.LRUCache=Pi.LinkedMap=Pi.Touch=void 0;var Xt;(function(t){t.None=0,t.First=1,t.AsOld=t.First,t.Last=2,t.AsNew=t.Last})(Xt||(Pi.Touch=Xt={}));var cp=class{constructor(){this[gw]="LinkedMap",this._map=new Map,this._head=void 0,this._tail=void 0,this._size=0,this._state=0}clear(){this._map.clear(),this._head=void 0,this._tail=void 0,this._size=0,this._state++}isEmpty(){return!this._head&&!this._tail}get size(){return this._size}get first(){return this._head?.value}get last(){return this._tail?.value}has(e){return this._map.has(e)}get(e,r=Xt.None){let n=this._map.get(e);if(n)return r!==Xt.None&&this.touch(n,r),n.value}set(e,r,n=Xt.None){let i=this._map.get(e);if(i)i.value=r,n!==Xt.None&&this.touch(i,n);else{switch(i={key:e,value:r,next:void 0,previous:void 0},n){case Xt.None:this.addItemLast(i);break;case Xt.First:this.addItemFirst(i);break;case Xt.Last:this.addItemLast(i);break;default:this.addItemLast(i);break}this._map.set(e,i),this._size++}return this}delete(e){return!!this.remove(e)}remove(e){let r=this._map.get(e);if(r)return this._map.delete(e),this.removeItem(r),this._size--,r.value}shift(){if(!this._head&&!this._tail)return;if(!this._head||!this._tail)throw new Error("Invalid list");let e=this._head;return this._map.delete(e.key),this.removeItem(e),this._size--,e.value}forEach(e,r){let n=this._state,i=this._head;for(;i;){if(r?e.bind(r)(i.value,i.key,this):e(i.value,i.key,this),this._state!==n)throw new Error("LinkedMap got modified during iteration.");i=i.next}}keys(){let e=this._state,r=this._head,n={[Symbol.iterator]:()=>n,next:()=>{if(this._state!==e)throw new Error("LinkedMap got modified during iteration.");if(r){let i={value:r.key,done:!1};return r=r.next,i}else return{value:void 0,done:!0}}};return n}values(){let e=this._state,r=this._head,n={[Symbol.iterator]:()=>n,next:()=>{if(this._state!==e)throw new Error("LinkedMap got modified during iteration.");if(r){let i={value:r.value,done:!1};return r=r.next,i}else return{value:void 0,done:!0}}};return n}entries(){let e=this._state,r=this._head,n={[Symbol.iterator]:()=>n,next:()=>{if(this._state!==e)throw new Error("LinkedMap got modified during iteration.");if(r){let i={value:[r.key,r.value],done:!1};return r=r.next,i}else return{value:void 0,done:!0}}};return n}[(gw=Symbol.toStringTag,Symbol.iterator)](){return this.entries()}trimOld(e){if(e>=this.size)return;if(e===0){this.clear();return}let r=this._head,n=this.size;for(;r&&n>e;)this._map.delete(r.key),r=r.next,n--;this._head=r,this._size=n,r&&(r.previous=void 0),this._state++}addItemFirst(e){if(!this._head&&!this._tail)this._tail=e;else if(this._head)e.next=this._head,this._head.previous=e;else throw new Error("Invalid list");this._head=e,this._state++}addItemLast(e){if(!this._head&&!this._tail)this._head=e;else if(this._tail)e.previous=this._tail,this._tail.next=e;else throw new Error("Invalid list");this._tail=e,this._state++}removeItem(e){if(e===this._head&&e===this._tail)this._head=void 0,this._tail=void 0;else if(e===this._head){if(!e.next)throw new Error("Invalid list");e.next.previous=void 0,this._head=e.next}else if(e===this._tail){if(!e.previous)throw new Error("Invalid list");e.previous.next=void 0,this._tail=e.previous}else{let r=e.next,n=e.previous;if(!r||!n)throw new Error("Invalid list");r.previous=n,n.next=r}e.next=void 0,e.previous=void 0,this._state++}touch(e,r){if(!this._head||!this._tail)throw new Error("Invalid list");if(!(r!==Xt.First&&r!==Xt.Last)){if(r===Xt.First){if(e===this._head)return;let n=e.next,i=e.previous;e===this._tail?(i.next=void 0,this._tail=i):(n.previous=i,i.next=n),e.previous=void 0,e.next=this._head,this._head.previous=e,this._head=e,this._state++}else if(r===Xt.Last){if(e===this._tail)return;let n=e.next,i=e.previous;e===this._head?(n.previous=void 0,this._head=n):(n.previous=i,i.next=n),e.next=void 0,e.previous=this._tail,this._tail.next=e,this._tail=e,this._state++}}}toJSON(){let e=[];return this.forEach((r,n)=>{e.push([n,r])}),e}fromJSON(e){this.clear();for(let[r,n]of e)this.set(r,n)}};Pi.LinkedMap=cp;var Xx=class extends cp{constructor(e,r=1){super(),this._limit=e,this._ratio=Math.min(Math.max(0,r),1)}get limit(){return this._limit}set limit(e){this._limit=e,this.checkTrim()}get ratio(){return this._ratio}set ratio(e){this._ratio=Math.min(Math.max(0,e),1),this.checkTrim()}get(e,r=Xt.AsNew){return super.get(e,r)}peek(e){return super.get(e,Xt.None)}set(e,r){return super.set(e,r,Xt.Last),this.checkTrim(),this}checkTrim(){this.size>this._limit&&this.trimOld(Math.round(this._limit*this._ratio))}};Pi.LRUCache=Xx});var xw=fe(lp=>{"use strict";Object.defineProperty(lp,"__esModule",{value:!0});lp.Disposable=void 0;var yw;(function(t){function e(r){return{dispose:r}}t.create=e})(yw||(lp.Disposable=yw={}))});var Ci=fe(qx=>{"use strict";Object.defineProperty(qx,"__esModule",{value:!0});var jx;function zx(){if(jx===void 0)throw new Error("No runtime abstraction layer installed");return jx}(function(t){function e(r){if(r===void 0)throw new Error("No runtime abstraction layer provided");jx=r}t.install=e})(zx||(zx={}));qx.default=zx});var Ta=fe(xa=>{"use strict";Object.defineProperty(xa,"__esModule",{value:!0});xa.Emitter=xa.Event=void 0;var _2=Ci(),Tw;(function(t){let e={dispose(){}};t.None=function(){return e}})(Tw||(xa.Event=Tw={}));var Wx=class{add(e,r=null,n){this._callbacks||(this._callbacks=[],this._contexts=[]),this._callbacks.push(e),this._contexts.push(r),Array.isArray(n)&&n.push({dispose:()=>this.remove(e,r)})}remove(e,r=null){if(!this._callbacks)return;let n=!1;for(let i=0,o=this._callbacks.length;i<o;i++)if(this._callbacks[i]===e)if(this._contexts[i]===r){this._callbacks.splice(i,1),this._contexts.splice(i,1);return}else n=!0;if(n)throw new Error("When adding a listener with a context, you should remove it with the same context")}invoke(...e){if(!this._callbacks)return[];let r=[],n=this._callbacks.slice(0),i=this._contexts.slice(0);for(let o=0,s=n.length;o<s;o++)try{r.push(n[o].apply(i[o],e))}catch(a){(0,_2.default)().console.error(a)}return r}isEmpty(){return!this._callbacks||this._callbacks.length===0}dispose(){this._callbacks=void 0,this._contexts=void 0}},up=class t{constructor(e){this._options=e}get event(){return this._event||(this._event=(e,r,n)=>{this._callbacks||(this._callbacks=new Wx),this._options&&this._options.onFirstListenerAdd&&this._callbacks.isEmpty()&&this._options.onFirstListenerAdd(this),this._callbacks.add(e,r);let i={dispose:()=>{this._callbacks&&(this._callbacks.remove(e,r),i.dispose=t._noop,this._options&&this._options.onLastListenerRemove&&this._callbacks.isEmpty()&&this._options.onLastListenerRemove(this))}};return Array.isArray(n)&&n.push(i),i}),this._event}fire(e){this._callbacks&&this._callbacks.invoke.call(this._callbacks,e)}dispose(){this._callbacks&&(this._callbacks.dispose(),this._callbacks=void 0)}};xa.Emitter=up;up._noop=function(){}});var pp=fe(_a=>{"use strict";Object.defineProperty(_a,"__esModule",{value:!0});_a.CancellationTokenSource=_a.CancellationToken=void 0;var E2=Ci(),v2=ya(),Vx=Ta(),fp;(function(t){t.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:Vx.Event.None}),t.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:Vx.Event.None});function e(r){let n=r;return n&&(n===t.None||n===t.Cancelled||v2.boolean(n.isCancellationRequested)&&!!n.onCancellationRequested)}t.is=e})(fp||(_a.CancellationToken=fp={}));var R2=Object.freeze(function(t,e){let r=(0,E2.default)().timer.setTimeout(t.bind(e),0);return{dispose(){r.dispose()}}}),dp=class{constructor(){this._isCancelled=!1}cancel(){this._isCancelled||(this._isCancelled=!0,this._emitter&&(this._emitter.fire(void 0),this.dispose()))}get isCancellationRequested(){return this._isCancelled}get onCancellationRequested(){return this._isCancelled?R2:(this._emitter||(this._emitter=new Vx.Emitter),this._emitter.event)}dispose(){this._emitter&&(this._emitter.dispose(),this._emitter=void 0)}},Yx=class{get token(){return this._token||(this._token=new dp),this._token}cancel(){this._token?this._token.cancel():this._token=fp.Cancelled}dispose(){this._token?this._token instanceof dp&&this._token.dispose():this._token=fp.None}};_a.CancellationTokenSource=Yx});var _w=fe(Ea=>{"use strict";Object.defineProperty(Ea,"__esModule",{value:!0});Ea.SharedArrayReceiverStrategy=Ea.SharedArraySenderStrategy=void 0;var b2=pp(),Xl;(function(t){t.Continue=0,t.Cancelled=1})(Xl||(Xl={}));var Kx=class{constructor(){this.buffers=new Map}enableCancellation(e){if(e.id===null)return;let r=new SharedArrayBuffer(4),n=new Int32Array(r,0,1);n[0]=Xl.Continue,this.buffers.set(e.id,r),e.$cancellationData=r}async sendCancellation(e,r){let n=this.buffers.get(r);if(n===void 0)return;let i=new Int32Array(n,0,1);Atomics.store(i,0,Xl.Cancelled)}cleanup(e){this.buffers.delete(e)}dispose(){this.buffers.clear()}};Ea.SharedArraySenderStrategy=Kx;var Zx=class{constructor(e){this.data=new Int32Array(e,0,1)}get isCancellationRequested(){return Atomics.load(this.data,0)===Xl.Cancelled}get onCancellationRequested(){throw new Error("Cancellation over SharedArrayBuffer doesn't support cancellation events")}},Jx=class{constructor(e){this.token=new Zx(e)}cancel(){}dispose(){}},Qx=class{constructor(){this.kind="request"}createCancellationTokenSource(e){let r=e.$cancellationData;return r===void 0?new b2.CancellationTokenSource:new Jx(r)}};Ea.SharedArrayReceiverStrategy=Qx});var tT=fe(hp=>{"use strict";Object.defineProperty(hp,"__esModule",{value:!0});hp.Semaphore=void 0;var w2=Ci(),eT=class{constructor(e=1){if(e<=0)throw new Error("Capacity must be greater than 0");this._capacity=e,this._active=0,this._waiting=[]}lock(e){return new Promise((r,n)=>{this._waiting.push({thunk:e,resolve:r,reject:n}),this.runNext()})}get active(){return this._active}runNext(){this._waiting.length===0||this._active===this._capacity||(0,w2.default)().timer.setImmediate(()=>this.doRunNext())}doRunNext(){if(this._waiting.length===0||this._active===this._capacity)return;let e=this._waiting.shift();if(this._active++,this._active>this._capacity)throw new Error("To many thunks active");try{let r=e.thunk();r instanceof Promise?r.then(n=>{this._active--,e.resolve(n),this.runNext()},n=>{this._active--,e.reject(n),this.runNext()}):(this._active--,e.resolve(r),this.runNext())}catch(r){this._active--,e.reject(r),this.runNext()}}};hp.Semaphore=eT});var vw=fe(Oi=>{"use strict";Object.defineProperty(Oi,"__esModule",{value:!0});Oi.ReadableStreamMessageReader=Oi.AbstractMessageReader=Oi.MessageReader=void 0;var nT=Ci(),va=ya(),rT=Ta(),A2=tT(),Ew;(function(t){function e(r){let n=r;return n&&va.func(n.listen)&&va.func(n.dispose)&&va.func(n.onError)&&va.func(n.onClose)&&va.func(n.onPartialMessage)}t.is=e})(Ew||(Oi.MessageReader=Ew={}));var mp=class{constructor(){this.errorEmitter=new rT.Emitter,this.closeEmitter=new rT.Emitter,this.partialMessageEmitter=new rT.Emitter}dispose(){this.errorEmitter.dispose(),this.closeEmitter.dispose()}get onError(){return this.errorEmitter.event}fireError(e){this.errorEmitter.fire(this.asError(e))}get onClose(){return this.closeEmitter.event}fireClose(){this.closeEmitter.fire(void 0)}get onPartialMessage(){return this.partialMessageEmitter.event}firePartialMessage(e){this.partialMessageEmitter.fire(e)}asError(e){return e instanceof Error?e:new Error(`Reader received error. Reason: ${va.string(e.message)?e.message:"unknown"}`)}};Oi.AbstractMessageReader=mp;var iT;(function(t){function e(r){let n,i,o,s=new Map,a,c=new Map;if(r===void 0||typeof r=="string")n=r??"utf-8";else{if(n=r.charset??"utf-8",r.contentDecoder!==void 0&&(o=r.contentDecoder,s.set(o.name,o)),r.contentDecoders!==void 0)for(let l of r.contentDecoders)s.set(l.name,l);if(r.contentTypeDecoder!==void 0&&(a=r.contentTypeDecoder,c.set(a.name,a)),r.contentTypeDecoders!==void 0)for(let l of r.contentTypeDecoders)c.set(l.name,l)}return a===void 0&&(a=(0,nT.default)().applicationJson.decoder,c.set(a.name,a)),{charset:n,contentDecoder:o,contentDecoders:s,contentTypeDecoder:a,contentTypeDecoders:c}}t.fromOptions=e})(iT||(iT={}));var oT=class extends mp{constructor(e,r){super(),this.readable=e,this.options=iT.fromOptions(r),this.buffer=(0,nT.default)().messageBuffer.create(this.options.charset),this._partialMessageTimeout=1e4,this.nextMessageLength=-1,this.messageToken=0,this.readSemaphore=new A2.Semaphore(1)}set partialMessageTimeout(e){this._partialMessageTimeout=e}get partialMessageTimeout(){return this._partialMessageTimeout}listen(e){this.nextMessageLength=-1,this.messageToken=0,this.partialMessageTimer=void 0,this.callback=e;let r=this.readable.onData(n=>{this.onData(n)});return this.readable.onError(n=>this.fireError(n)),this.readable.onClose(()=>this.fireClose()),r}onData(e){try{for(this.buffer.append(e);;){if(this.nextMessageLength===-1){let n=this.buffer.tryReadHeaders(!0);if(!n)return;let i=n.get("content-length");if(!i){this.fireError(new Error(`Header must provide a Content-Length property.
|
|
7
|
+
${JSON.stringify(Object.fromEntries(n))}`));return}let o=parseInt(i);if(isNaN(o)){this.fireError(new Error(`Content-Length value must be a number. Got ${i}`));return}this.nextMessageLength=o}let r=this.buffer.tryReadBody(this.nextMessageLength);if(r===void 0){this.setPartialMessageTimer();return}this.clearPartialMessageTimer(),this.nextMessageLength=-1,this.readSemaphore.lock(async()=>{let n=this.options.contentDecoder!==void 0?await this.options.contentDecoder.decode(r):r,i=await this.options.contentTypeDecoder.decode(n,this.options);this.callback(i)}).catch(n=>{this.fireError(n)})}}catch(r){this.fireError(r)}}clearPartialMessageTimer(){this.partialMessageTimer&&(this.partialMessageTimer.dispose(),this.partialMessageTimer=void 0)}setPartialMessageTimer(){this.clearPartialMessageTimer(),!(this._partialMessageTimeout<=0)&&(this.partialMessageTimer=(0,nT.default)().timer.setTimeout((e,r)=>{this.partialMessageTimer=void 0,e===this.messageToken&&(this.firePartialMessage({messageToken:e,waitingTime:r}),this.setPartialMessageTimer())},this._partialMessageTimeout,this.messageToken,this._partialMessageTimeout))}};Oi.ReadableStreamMessageReader=oT});var Sw=fe(Li=>{"use strict";Object.defineProperty(Li,"__esModule",{value:!0});Li.WriteableStreamMessageWriter=Li.AbstractMessageWriter=Li.MessageWriter=void 0;var Rw=Ci(),Hl=ya(),S2=tT(),bw=Ta(),I2="Content-Length: ",ww=`\r
|
|
8
|
+
`,Aw;(function(t){function e(r){let n=r;return n&&Hl.func(n.dispose)&&Hl.func(n.onClose)&&Hl.func(n.onError)&&Hl.func(n.write)}t.is=e})(Aw||(Li.MessageWriter=Aw={}));var gp=class{constructor(){this.errorEmitter=new bw.Emitter,this.closeEmitter=new bw.Emitter}dispose(){this.errorEmitter.dispose(),this.closeEmitter.dispose()}get onError(){return this.errorEmitter.event}fireError(e,r,n){this.errorEmitter.fire([this.asError(e),r,n])}get onClose(){return this.closeEmitter.event}fireClose(){this.closeEmitter.fire(void 0)}asError(e){return e instanceof Error?e:new Error(`Writer received error. Reason: ${Hl.string(e.message)?e.message:"unknown"}`)}};Li.AbstractMessageWriter=gp;var sT;(function(t){function e(r){return r===void 0||typeof r=="string"?{charset:r??"utf-8",contentTypeEncoder:(0,Rw.default)().applicationJson.encoder}:{charset:r.charset??"utf-8",contentEncoder:r.contentEncoder,contentTypeEncoder:r.contentTypeEncoder??(0,Rw.default)().applicationJson.encoder}}t.fromOptions=e})(sT||(sT={}));var aT=class extends gp{constructor(e,r){super(),this.writable=e,this.options=sT.fromOptions(r),this.errorCount=0,this.writeSemaphore=new S2.Semaphore(1),this.writable.onError(n=>this.fireError(n)),this.writable.onClose(()=>this.fireClose())}async write(e){return this.writeSemaphore.lock(async()=>this.options.contentTypeEncoder.encode(e,this.options).then(n=>this.options.contentEncoder!==void 0?this.options.contentEncoder.encode(n):n).then(n=>{let i=[];return i.push(I2,n.byteLength.toString(),ww),i.push(ww),this.doWrite(e,i,n)},n=>{throw this.fireError(n),n}))}async doWrite(e,r,n){try{return await this.writable.write(r.join(""),"ascii"),this.writable.write(n)}catch(i){return this.handleError(i,e),Promise.reject(i)}}handleError(e,r){this.errorCount++,this.fireError(e,r,this.errorCount)}end(){this.writable.end()}};Li.WriteableStreamMessageWriter=aT});var Iw=fe(yp=>{"use strict";Object.defineProperty(yp,"__esModule",{value:!0});yp.AbstractMessageBuffer=void 0;var k2=13,N2=10,P2=`\r
|
|
9
|
+
`,cT=class{constructor(e="utf-8"){this._encoding=e,this._chunks=[],this._totalLength=0}get encoding(){return this._encoding}append(e){let r=typeof e=="string"?this.fromString(e,this._encoding):e;this._chunks.push(r),this._totalLength+=r.byteLength}tryReadHeaders(e=!1){if(this._chunks.length===0)return;let r=0,n=0,i=0,o=0;e:for(;n<this._chunks.length;){let l=this._chunks[n];for(i=0;i<l.length;){switch(l[i]){case k2:switch(r){case 0:r=1;break;case 2:r=3;break;default:r=0}break;case N2:switch(r){case 1:r=2;break;case 3:r=4,i++;break e;default:r=0}break;default:r=0}i++}o+=l.byteLength,n++}if(r!==4)return;let s=this._read(o+i),a=new Map,c=this.toString(s,"ascii").split(P2);if(c.length<2)return a;for(let l=0;l<c.length-2;l++){let u=c[l],f=u.indexOf(":");if(f===-1)throw new Error(`Message header must separate key and value using ':'
|
|
10
|
+
${u}`);let d=u.substr(0,f),p=u.substr(f+1).trim();a.set(e?d.toLowerCase():d,p)}return a}tryReadBody(e){if(!(this._totalLength<e))return this._read(e)}get numberOfBytes(){return this._totalLength}_read(e){if(e===0)return this.emptyBuffer();if(e>this._totalLength)throw new Error("Cannot read so many bytes!");if(this._chunks[0].byteLength===e){let o=this._chunks[0];return this._chunks.shift(),this._totalLength-=e,this.asNative(o)}if(this._chunks[0].byteLength>e){let o=this._chunks[0],s=this.asNative(o,e);return this._chunks[0]=o.slice(e),this._totalLength-=e,s}let r=this.allocNative(e),n=0,i=0;for(;e>0;){let o=this._chunks[i];if(o.byteLength>e){let s=o.slice(0,e);r.set(s,n),n+=e,this._chunks[i]=o.slice(e),this._totalLength-=e,e-=e}else r.set(o,n),n+=o.byteLength,this._chunks.shift(),this._totalLength-=o.byteLength,e-=o.byteLength}return r}};yp.AbstractMessageBuffer=cT});var Ow=fe(he=>{"use strict";Object.defineProperty(he,"__esModule",{value:!0});he.createMessageConnection=he.ConnectionOptions=he.MessageStrategy=he.CancellationStrategy=he.CancellationSenderStrategy=he.CancellationReceiverStrategy=he.RequestCancellationReceiverStrategy=he.IdCancellationReceiverStrategy=he.ConnectionStrategy=he.ConnectionError=he.ConnectionErrors=he.LogTraceNotification=he.SetTraceNotification=he.TraceFormat=he.TraceValues=he.Trace=he.NullLogger=he.ProgressType=he.ProgressToken=void 0;var kw=Ci(),mt=ya(),ce=Gx(),Nw=Hx(),jl=Ta(),lT=pp(),Wl;(function(t){t.type=new ce.NotificationType("$/cancelRequest")})(Wl||(Wl={}));var uT;(function(t){function e(r){return typeof r=="string"||typeof r=="number"}t.is=e})(uT||(he.ProgressToken=uT={}));var zl;(function(t){t.type=new ce.NotificationType("$/progress")})(zl||(zl={}));var fT=class{constructor(){}};he.ProgressType=fT;var dT;(function(t){function e(r){return mt.func(r)}t.is=e})(dT||(dT={}));he.NullLogger=Object.freeze({error:()=>{},warn:()=>{},info:()=>{},log:()=>{}});var Me;(function(t){t[t.Off=0]="Off",t[t.Messages=1]="Messages",t[t.Compact=2]="Compact",t[t.Verbose=3]="Verbose"})(Me||(he.Trace=Me={}));var Pw;(function(t){t.Off="off",t.Messages="messages",t.Compact="compact",t.Verbose="verbose"})(Pw||(he.TraceValues=Pw={}));(function(t){function e(n){if(!mt.string(n))return t.Off;switch(n=n.toLowerCase(),n){case"off":return t.Off;case"messages":return t.Messages;case"compact":return t.Compact;case"verbose":return t.Verbose;default:return t.Off}}t.fromString=e;function r(n){switch(n){case t.Off:return"off";case t.Messages:return"messages";case t.Compact:return"compact";case t.Verbose:return"verbose";default:return"off"}}t.toString=r})(Me||(he.Trace=Me={}));var mr;(function(t){t.Text="text",t.JSON="json"})(mr||(he.TraceFormat=mr={}));(function(t){function e(r){return mt.string(r)?(r=r.toLowerCase(),r==="json"?t.JSON:t.Text):t.Text}t.fromString=e})(mr||(he.TraceFormat=mr={}));var pT;(function(t){t.type=new ce.NotificationType("$/setTrace")})(pT||(he.SetTraceNotification=pT={}));var xp;(function(t){t.type=new ce.NotificationType("$/logTrace")})(xp||(he.LogTraceNotification=xp={}));var ql;(function(t){t[t.Closed=1]="Closed",t[t.Disposed=2]="Disposed",t[t.AlreadyListening=3]="AlreadyListening"})(ql||(he.ConnectionErrors=ql={}));var Ra=class t extends Error{constructor(e,r){super(r),this.code=e,Object.setPrototypeOf(this,t.prototype)}};he.ConnectionError=Ra;var hT;(function(t){function e(r){let n=r;return n&&mt.func(n.cancelUndispatched)}t.is=e})(hT||(he.ConnectionStrategy=hT={}));var Tp;(function(t){function e(r){let n=r;return n&&(n.kind===void 0||n.kind==="id")&&mt.func(n.createCancellationTokenSource)&&(n.dispose===void 0||mt.func(n.dispose))}t.is=e})(Tp||(he.IdCancellationReceiverStrategy=Tp={}));var mT;(function(t){function e(r){let n=r;return n&&n.kind==="request"&&mt.func(n.createCancellationTokenSource)&&(n.dispose===void 0||mt.func(n.dispose))}t.is=e})(mT||(he.RequestCancellationReceiverStrategy=mT={}));var _p;(function(t){t.Message=Object.freeze({createCancellationTokenSource(r){return new lT.CancellationTokenSource}});function e(r){return Tp.is(r)||mT.is(r)}t.is=e})(_p||(he.CancellationReceiverStrategy=_p={}));var Ep;(function(t){t.Message=Object.freeze({sendCancellation(r,n){return r.sendNotification(Wl.type,{id:n})},cleanup(r){}});function e(r){let n=r;return n&&mt.func(n.sendCancellation)&&mt.func(n.cleanup)}t.is=e})(Ep||(he.CancellationSenderStrategy=Ep={}));var vp;(function(t){t.Message=Object.freeze({receiver:_p.Message,sender:Ep.Message});function e(r){let n=r;return n&&_p.is(n.receiver)&&Ep.is(n.sender)}t.is=e})(vp||(he.CancellationStrategy=vp={}));var Rp;(function(t){function e(r){let n=r;return n&&mt.func(n.handleMessage)}t.is=e})(Rp||(he.MessageStrategy=Rp={}));var Cw;(function(t){function e(r){let n=r;return n&&(vp.is(n.cancellationStrategy)||hT.is(n.connectionStrategy)||Rp.is(n.messageStrategy))}t.is=e})(Cw||(he.ConnectionOptions=Cw={}));var zr;(function(t){t[t.New=1]="New",t[t.Listening=2]="Listening",t[t.Closed=3]="Closed",t[t.Disposed=4]="Disposed"})(zr||(zr={}));function C2(t,e,r,n){let i=r!==void 0?r:he.NullLogger,o=0,s=0,a=0,c="2.0",l,u=new Map,f,d=new Map,p=new Map,m,g=new Nw.LinkedMap,v=new Map,T=new Set,_=new Map,E=Me.Off,I=mr.Text,D,k=zr.New,B=new jl.Emitter,U=new jl.Emitter,z=new jl.Emitter,le=new jl.Emitter,O=new jl.Emitter,R=n&&n.cancellationStrategy?n.cancellationStrategy:vp.Message;function L(x){if(x===null)throw new Error("Can't send requests with id null since the response can't be correlated.");return"req-"+x.toString()}function $(x){return x===null?"res-unknown-"+(++a).toString():"res-"+x.toString()}function w(){return"not-"+(++s).toString()}function A(x,C){ce.Message.isRequest(C)?x.set(L(C.id),C):ce.Message.isResponse(C)?x.set($(C.id),C):x.set(w(),C)}function S(x){}function M(){return k===zr.Listening}function X(){return k===zr.Closed}function F(){return k===zr.Disposed}function W(){(k===zr.New||k===zr.Listening)&&(k=zr.Closed,U.fire(void 0))}function Z(x){B.fire([x,void 0,void 0])}function pe(x){B.fire(x)}t.onClose(W),t.onError(Z),e.onClose(W),e.onError(pe);function V(){m||g.size===0||(m=(0,kw.default)().timer.setImmediate(()=>{m=void 0,De()}))}function te(x){ce.Message.isRequest(x)?Xe(x):ce.Message.isNotification(x)?J(x):ce.Message.isResponse(x)?q(x):re(x)}function De(){if(g.size===0)return;let x=g.shift();try{let C=n?.messageStrategy;Rp.is(C)?C.handleMessage(x,te):te(x)}finally{V()}}let Ne=x=>{try{if(ce.Message.isNotification(x)&&x.method===Wl.type.method){let C=x.params.id,j=L(C),Y=g.get(j);if(ce.Message.isRequest(Y)){let Pe=n?.connectionStrategy,qe=Pe&&Pe.cancelUndispatched?Pe.cancelUndispatched(Y,S):void 0;if(qe&&(qe.error!==void 0||qe.result!==void 0)){g.delete(j),_.delete(C),qe.id=Y.id,ve(qe,x.method,Date.now()),e.write(qe).catch(()=>i.error("Sending response for canceled message failed."));return}}let $e=_.get(C);if($e!==void 0){$e.cancel(),H(x);return}else T.add(C)}A(g,x)}finally{V()}};function Xe(x){if(F())return;function C(ge,Ue,Ae){let Je={jsonrpc:c,id:x.id};ge instanceof ce.ResponseError?Je.error=ge.toJson():Je.result=ge===void 0?null:ge,ve(Je,Ue,Ae),e.write(Je).catch(()=>i.error("Sending response failed."))}function j(ge,Ue,Ae){let Je={jsonrpc:c,id:x.id,error:ge.toJson()};ve(Je,Ue,Ae),e.write(Je).catch(()=>i.error("Sending response failed."))}function Y(ge,Ue,Ae){ge===void 0&&(ge=null);let Je={jsonrpc:c,id:x.id,result:ge};ve(Je,Ue,Ae),e.write(Je).catch(()=>i.error("Sending response failed."))}_t(x);let $e=u.get(x.method),Pe,qe;$e&&(Pe=$e.type,qe=$e.handler);let Ze=Date.now();if(qe||l){let ge=x.id??String(Date.now()),Ue=Tp.is(R.receiver)?R.receiver.createCancellationTokenSource(ge):R.receiver.createCancellationTokenSource(x);x.id!==null&&T.has(x.id)&&Ue.cancel(),x.id!==null&&_.set(ge,Ue);try{let Ae;if(qe)if(x.params===void 0){if(Pe!==void 0&&Pe.numberOfParams!==0){j(new ce.ResponseError(ce.ErrorCodes.InvalidParams,`Request ${x.method} defines ${Pe.numberOfParams} params but received none.`),x.method,Ze);return}Ae=qe(Ue.token)}else if(Array.isArray(x.params)){if(Pe!==void 0&&Pe.parameterStructures===ce.ParameterStructures.byName){j(new ce.ResponseError(ce.ErrorCodes.InvalidParams,`Request ${x.method} defines parameters by name but received parameters by position`),x.method,Ze);return}Ae=qe(...x.params,Ue.token)}else{if(Pe!==void 0&&Pe.parameterStructures===ce.ParameterStructures.byPosition){j(new ce.ResponseError(ce.ErrorCodes.InvalidParams,`Request ${x.method} defines parameters by position but received parameters by name`),x.method,Ze);return}Ae=qe(x.params,Ue.token)}else l&&(Ae=l(x.method,x.params,Ue.token));let Je=Ae;Ae?Je.then?Je.then(st=>{_.delete(ge),C(st,x.method,Ze)},st=>{_.delete(ge),st instanceof ce.ResponseError?j(st,x.method,Ze):st&&mt.string(st.message)?j(new ce.ResponseError(ce.ErrorCodes.InternalError,`Request ${x.method} failed with message: ${st.message}`),x.method,Ze):j(new ce.ResponseError(ce.ErrorCodes.InternalError,`Request ${x.method} failed unexpectedly without providing any details.`),x.method,Ze)}):(_.delete(ge),C(Ae,x.method,Ze)):(_.delete(ge),Y(Ae,x.method,Ze))}catch(Ae){_.delete(ge),Ae instanceof ce.ResponseError?C(Ae,x.method,Ze):Ae&&mt.string(Ae.message)?j(new ce.ResponseError(ce.ErrorCodes.InternalError,`Request ${x.method} failed with message: ${Ae.message}`),x.method,Ze):j(new ce.ResponseError(ce.ErrorCodes.InternalError,`Request ${x.method} failed unexpectedly without providing any details.`),x.method,Ze)}}else j(new ce.ResponseError(ce.ErrorCodes.MethodNotFound,`Unhandled method ${x.method}`),x.method,Ze)}function q(x){if(!F())if(x.id===null)x.error?i.error(`Received response message without id: Error is:
|
|
11
|
+
${JSON.stringify(x.error,void 0,4)}`):i.error("Received response message without id. No further error information provided.");else{let C=x.id,j=v.get(C);if(Cr(x,j),j!==void 0){v.delete(C);try{if(x.error){let Y=x.error;j.reject(new ce.ResponseError(Y.code,Y.message,Y.data))}else if(x.result!==void 0)j.resolve(x.result);else throw new Error("Should never happen.")}catch(Y){Y.message?i.error(`Response handler '${j.method}' failed with message: ${Y.message}`):i.error(`Response handler '${j.method}' failed unexpectedly.`)}}}}function J(x){if(F())return;let C,j;if(x.method===Wl.type.method){let Y=x.params.id;T.delete(Y),H(x);return}else{let Y=d.get(x.method);Y&&(j=Y.handler,C=Y.type)}if(j||f)try{if(H(x),j)if(x.params===void 0)C!==void 0&&C.numberOfParams!==0&&C.parameterStructures!==ce.ParameterStructures.byName&&i.error(`Notification ${x.method} defines ${C.numberOfParams} params but received none.`),j();else if(Array.isArray(x.params)){let Y=x.params;x.method===zl.type.method&&Y.length===2&&uT.is(Y[0])?j({token:Y[0],value:Y[1]}):(C!==void 0&&(C.parameterStructures===ce.ParameterStructures.byName&&i.error(`Notification ${x.method} defines parameters by name but received parameters by position`),C.numberOfParams!==x.params.length&&i.error(`Notification ${x.method} defines ${C.numberOfParams} params but received ${Y.length} arguments`)),j(...Y))}else C!==void 0&&C.parameterStructures===ce.ParameterStructures.byPosition&&i.error(`Notification ${x.method} defines parameters by position but received parameters by name`),j(x.params);else f&&f(x.method,x.params)}catch(Y){Y.message?i.error(`Notification handler '${x.method}' failed with message: ${Y.message}`):i.error(`Notification handler '${x.method}' failed unexpectedly.`)}else z.fire(x)}function re(x){if(!x){i.error("Received empty message.");return}i.error(`Received message which is neither a response nor a notification message:
|
|
12
|
+
${JSON.stringify(x,null,4)}`);let C=x;if(mt.string(C.id)||mt.number(C.id)){let j=C.id,Y=v.get(j);Y&&Y.reject(new Error("The received response has neither a result nor an error property."))}}function P(x){if(x!=null)switch(E){case Me.Verbose:return JSON.stringify(x,null,4);case Me.Compact:return JSON.stringify(x);default:return}}function we(x){if(!(E===Me.Off||!D))if(I===mr.Text){let C;(E===Me.Verbose||E===Me.Compact)&&x.params&&(C=`Params: ${P(x.params)}
|
|
13
13
|
|
|
14
|
-
`),D.log(`Sending request '${x.method} - (${x.id})'.`,
|
|
14
|
+
`),D.log(`Sending request '${x.method} - (${x.id})'.`,C)}else _r("send-request",x)}function me(x){if(!(E===Me.Off||!D))if(I===mr.Text){let C;(E===Me.Verbose||E===Me.Compact)&&(x.params?C=`Params: ${P(x.params)}
|
|
15
15
|
|
|
16
|
-
`:
|
|
16
|
+
`:C=`No parameters provided.
|
|
17
17
|
|
|
18
|
-
`),D.log(`Sending notification '${x.method}'.`,
|
|
18
|
+
`),D.log(`Sending notification '${x.method}'.`,C)}else _r("send-notification",x)}function ve(x,C,j){if(!(E===Me.Off||!D))if(I===mr.Text){let Y;(E===Me.Verbose||E===Me.Compact)&&(x.error&&x.error.data?Y=`Error data: ${P(x.error.data)}
|
|
19
19
|
|
|
20
|
-
`:x.result?
|
|
20
|
+
`:x.result?Y=`Result: ${P(x.result)}
|
|
21
21
|
|
|
22
|
-
`:x.error===void 0&&(
|
|
22
|
+
`:x.error===void 0&&(Y=`No result returned.
|
|
23
23
|
|
|
24
|
-
`)),D.log(`Sending response '${
|
|
24
|
+
`)),D.log(`Sending response '${C} - (${x.id})'. Processing request took ${Date.now()-j}ms`,Y)}else _r("send-response",x)}function _t(x){if(!(E===Me.Off||!D))if(I===mr.Text){let C;(E===Me.Verbose||E===Me.Compact)&&x.params&&(C=`Params: ${P(x.params)}
|
|
25
25
|
|
|
26
|
-
`),D.log(`Received request '${x.method} - (${x.id})'.`,
|
|
26
|
+
`),D.log(`Received request '${x.method} - (${x.id})'.`,C)}else _r("receive-request",x)}function H(x){if(!(E===Me.Off||!D||x.method===xp.type.method))if(I===mr.Text){let C;(E===Me.Verbose||E===Me.Compact)&&(x.params?C=`Params: ${P(x.params)}
|
|
27
27
|
|
|
28
|
-
`:
|
|
28
|
+
`:C=`No parameters provided.
|
|
29
29
|
|
|
30
|
-
`),D.log(`Received notification '${x.method}'.`,
|
|
30
|
+
`),D.log(`Received notification '${x.method}'.`,C)}else _r("receive-notification",x)}function Cr(x,C){if(!(E===Me.Off||!D))if(I===mr.Text){let j;if((E===Me.Verbose||E===Me.Compact)&&(x.error&&x.error.data?j=`Error data: ${P(x.error.data)}
|
|
31
31
|
|
|
32
|
-
`:x.result?
|
|
32
|
+
`:x.result?j=`Result: ${P(x.result)}
|
|
33
33
|
|
|
34
|
-
`:x.error===void 0&&(
|
|
34
|
+
`:x.error===void 0&&(j=`No result returned.
|
|
35
35
|
|
|
36
|
-
`)),N){let z=x.error?` Request failed: ${x.error.message} (${x.error.code}).`:"";D.log(`Received response '${N.method} - (${x.id})' in ${Date.now()-N.timerStart}ms.${z}`,X)}else D.log(`Received response ${x.id} without active response promise.`,X)}else Pr("receive-response",x)}function Pr(x,N){if(!D||_===De.Off)return;let X={isLSPMessage:!0,type:x,message:N,timestamp:Date.now()};D.log(X)}function de(){if(H())throw new ha(Fl.Closed,"Connection is closed.");if($())throw new ha(Fl.Disposed,"Connection is disposed.")}function Wi(){if(B())throw new ha(Fl.AlreadyListening,"Connection is already listening")}function qi(){if(!B())throw new Error("Call listen() first.")}function Cr(x){return x===void 0?null:x}function es(x){if(x!==null)return x}function xr(x){return x!=null&&!Array.isArray(x)&&typeof x=="object"}function Ot(x,N){switch(x){case ae.ParameterStructures.auto:return xr(N)?es(N):[Cr(N)];case ae.ParameterStructures.byName:if(!xr(N))throw new Error("Received parameters by name but param is not an object literal.");return es(N);case ae.ParameterStructures.byPosition:return[Cr(N)];default:throw new Error(`Unknown parameter structure ${x.toString()}`)}}function en(x,N){let X,z=x.numberOfParams;switch(z){case 0:X=void 0;break;case 1:X=Ot(x.parameterStructures,N[0]);break;default:X=[];for(let Be=0;Be<N.length&&Be<z;Be++)X.push(Cr(N[Be]));if(N.length<z)for(let Be=N.length;Be<z;Be++)X.push(null);break}return X}let jt={sendNotification:(x,...N)=>{de();let X,z;if(gt.string(x)){X=x;let Se=N[0],Le=0,je=ae.ParameterStructures.auto;ae.ParameterStructures.is(Se)&&(Le=1,je=Se);let ye=N.length,$e=ye-Le;switch($e){case 0:z=void 0;break;case 1:z=Ot(je,N[Le]);break;default:if(je===ae.ParameterStructures.byName)throw new Error(`Received ${$e} parameters for 'by Name' notification parameter structure.`);z=N.slice(Le,ye).map(ve=>Cr(ve));break}}else{let Se=N;X=x.method,z=en(x,Se)}let Be={jsonrpc:c,method:X,params:z};return Ee(Be),e.write(Be).catch(Se=>{throw i.error("Sending notification failed."),Se})},onNotification:(x,N)=>{de();let X;return gt.func(x)?f=x:N&&(gt.string(x)?(X=x,d.set(x,{type:void 0,handler:N})):(X=x.method,d.set(x.method,{type:x,handler:N}))),{dispose:()=>{X!==void 0?d.delete(X):f=void 0}}},onProgress:(x,N,X)=>{if(p.has(N))throw new Error(`Progress handler for token ${N} already registered`);return p.set(N,X),{dispose:()=>{p.delete(N)}}},sendProgress:(x,N,X)=>jt.sendNotification(Ml.type,{token:N,value:X}),onUnhandledProgress:Ae.event,sendRequest:(x,...N)=>{de(),qi();let X,z,Be;if(gt.string(x)){X=x;let ye=N[0],$e=N[N.length-1],ve=0,dt=ae.ParameterStructures.auto;ae.ParameterStructures.is(ye)&&(ve=1,dt=ye);let et=N.length;zx.CancellationToken.is($e)&&(et=et-1,Be=$e);let cr=et-ve;switch(cr){case 0:z=void 0;break;case 1:z=Ot(dt,N[ve]);break;default:if(dt===ae.ParameterStructures.byName)throw new Error(`Received ${cr} parameters for 'by Name' request parameter structure.`);z=N.slice(ve,et).map($t=>Cr($t));break}}else{let ye=N;X=x.method,z=en(x,ye);let $e=x.numberOfParams;Be=zx.CancellationToken.is(ye[$e])?ye[$e]:void 0}let Se=o++,Le;Be&&(Le=Be.onCancellationRequested(()=>{let ye=w.sender.sendCancellation(jt,Se);return ye===void 0?(i.log(`Received no promise from cancellation strategy when cancelling id ${Se}`),Promise.resolve()):ye.catch(()=>{i.log(`Sending cancellation messages for id ${Se} failed`)})}));let je={jsonrpc:c,id:Se,method:X,params:z};return Te(je),typeof w.sender.enableCancellation=="function"&&w.sender.enableCancellation(je),new Promise(async(ye,$e)=>{let ve=cr=>{ye(cr),w.sender.cleanup(Se),Le?.dispose()},dt=cr=>{$e(cr),w.sender.cleanup(Se),Le?.dispose()},et={method:X,timerStart:Date.now(),resolve:ve,reject:dt};try{await e.write(je),R.set(Se,et)}catch(cr){throw i.error("Sending request failed."),et.reject(new ae.ResponseError(ae.ErrorCodes.MessageWriteError,cr.message?cr.message:"Unknown reason")),cr}})},onRequest:(x,N)=>{de();let X=null;return Kx.is(x)?(X=void 0,l=x):gt.string(x)?(X=null,N!==void 0&&(X=x,u.set(x,{handler:N,type:void 0}))):N!==void 0&&(X=x.method,u.set(x.method,{type:x,handler:N})),{dispose:()=>{X!==null&&(X!==void 0?u.delete(X):l=void 0)}}},hasPendingResponse:()=>R.size>0,trace:async(x,N,X)=>{let z=!1,Be=hr.Text;X!==void 0&&(gt.boolean(X)?z=X:(z=X.sendNotification||!1,Be=X.traceFormat||hr.Text)),_=x,k=Be,_===De.Off?D=void 0:D=N,z&&!H()&&!$()&&await jt.sendNotification(Zx.type,{value:De.toString(x)})},onError:j.event,onClose:V.event,onUnhandledNotification:ie.event,onDispose:O.event,end:()=>{e.end()},dispose:()=>{if($())return;C=Gr.Disposed,O.fire(void 0);let x=new ae.ResponseError(ae.ErrorCodes.PendingResponseRejected,"Pending response rejected since connection got disposed");for(let N of R.values())N.reject(x);R=new Map,E=new Map,T=new Set,y=new a0.LinkedMap,gt.func(e.dispose)&&e.dispose(),gt.func(t.dispose)&&t.dispose()},listen:()=>{de(),Wi(),C=Gr.Listening,t.listen(We)},inspect:()=>{(0,s0.default)().console.log("inspect")}};return jt.onNotification(op.type,x=>{if(_===De.Off||!D)return;let N=_===De.Verbose||_===De.Compact;D.log(x.message,N?x.verbose:void 0)}),jt.onNotification(Ml.type,x=>{let N=p.get(x.token);N?N(x.value):Ae.fire(x)}),jt}fe.createMessageConnection=jF});var fp=ce(v=>{"use strict";Object.defineProperty(v,"__esModule",{value:!0});v.ProgressType=v.ProgressToken=v.createMessageConnection=v.NullLogger=v.ConnectionOptions=v.ConnectionStrategy=v.AbstractMessageBuffer=v.WriteableStreamMessageWriter=v.AbstractMessageWriter=v.MessageWriter=v.ReadableStreamMessageReader=v.AbstractMessageReader=v.MessageReader=v.SharedArrayReceiverStrategy=v.SharedArraySenderStrategy=v.CancellationToken=v.CancellationTokenSource=v.Emitter=v.Event=v.Disposable=v.LRUCache=v.Touch=v.LinkedMap=v.ParameterStructures=v.NotificationType9=v.NotificationType8=v.NotificationType7=v.NotificationType6=v.NotificationType5=v.NotificationType4=v.NotificationType3=v.NotificationType2=v.NotificationType1=v.NotificationType0=v.NotificationType=v.ErrorCodes=v.ResponseError=v.RequestType9=v.RequestType8=v.RequestType7=v.RequestType6=v.RequestType5=v.RequestType4=v.RequestType3=v.RequestType2=v.RequestType1=v.RequestType0=v.RequestType=v.Message=v.RAL=void 0;v.MessageStrategy=v.CancellationStrategy=v.CancellationSenderStrategy=v.CancellationReceiverStrategy=v.ConnectionError=v.ConnectionErrors=v.LogTraceNotification=v.SetTraceNotification=v.TraceFormat=v.TraceValues=v.Trace=void 0;var Qe=Ax();Object.defineProperty(v,"Message",{enumerable:!0,get:function(){return Qe.Message}});Object.defineProperty(v,"RequestType",{enumerable:!0,get:function(){return Qe.RequestType}});Object.defineProperty(v,"RequestType0",{enumerable:!0,get:function(){return Qe.RequestType0}});Object.defineProperty(v,"RequestType1",{enumerable:!0,get:function(){return Qe.RequestType1}});Object.defineProperty(v,"RequestType2",{enumerable:!0,get:function(){return Qe.RequestType2}});Object.defineProperty(v,"RequestType3",{enumerable:!0,get:function(){return Qe.RequestType3}});Object.defineProperty(v,"RequestType4",{enumerable:!0,get:function(){return Qe.RequestType4}});Object.defineProperty(v,"RequestType5",{enumerable:!0,get:function(){return Qe.RequestType5}});Object.defineProperty(v,"RequestType6",{enumerable:!0,get:function(){return Qe.RequestType6}});Object.defineProperty(v,"RequestType7",{enumerable:!0,get:function(){return Qe.RequestType7}});Object.defineProperty(v,"RequestType8",{enumerable:!0,get:function(){return Qe.RequestType8}});Object.defineProperty(v,"RequestType9",{enumerable:!0,get:function(){return Qe.RequestType9}});Object.defineProperty(v,"ResponseError",{enumerable:!0,get:function(){return Qe.ResponseError}});Object.defineProperty(v,"ErrorCodes",{enumerable:!0,get:function(){return Qe.ErrorCodes}});Object.defineProperty(v,"NotificationType",{enumerable:!0,get:function(){return Qe.NotificationType}});Object.defineProperty(v,"NotificationType0",{enumerable:!0,get:function(){return Qe.NotificationType0}});Object.defineProperty(v,"NotificationType1",{enumerable:!0,get:function(){return Qe.NotificationType1}});Object.defineProperty(v,"NotificationType2",{enumerable:!0,get:function(){return Qe.NotificationType2}});Object.defineProperty(v,"NotificationType3",{enumerable:!0,get:function(){return Qe.NotificationType3}});Object.defineProperty(v,"NotificationType4",{enumerable:!0,get:function(){return Qe.NotificationType4}});Object.defineProperty(v,"NotificationType5",{enumerable:!0,get:function(){return Qe.NotificationType5}});Object.defineProperty(v,"NotificationType6",{enumerable:!0,get:function(){return Qe.NotificationType6}});Object.defineProperty(v,"NotificationType7",{enumerable:!0,get:function(){return Qe.NotificationType7}});Object.defineProperty(v,"NotificationType8",{enumerable:!0,get:function(){return Qe.NotificationType8}});Object.defineProperty(v,"NotificationType9",{enumerable:!0,get:function(){return Qe.NotificationType9}});Object.defineProperty(v,"ParameterStructures",{enumerable:!0,get:function(){return Qe.ParameterStructures}});var eT=Sx();Object.defineProperty(v,"LinkedMap",{enumerable:!0,get:function(){return eT.LinkedMap}});Object.defineProperty(v,"LRUCache",{enumerable:!0,get:function(){return eT.LRUCache}});Object.defineProperty(v,"Touch",{enumerable:!0,get:function(){return eT.Touch}});var WF=YA();Object.defineProperty(v,"Disposable",{enumerable:!0,get:function(){return WF.Disposable}});var f0=ua();Object.defineProperty(v,"Event",{enumerable:!0,get:function(){return f0.Event}});Object.defineProperty(v,"Emitter",{enumerable:!0,get:function(){return f0.Emitter}});var d0=ep();Object.defineProperty(v,"CancellationTokenSource",{enumerable:!0,get:function(){return d0.CancellationTokenSource}});Object.defineProperty(v,"CancellationToken",{enumerable:!0,get:function(){return d0.CancellationToken}});var p0=ZA();Object.defineProperty(v,"SharedArraySenderStrategy",{enumerable:!0,get:function(){return p0.SharedArraySenderStrategy}});Object.defineProperty(v,"SharedArrayReceiverStrategy",{enumerable:!0,get:function(){return p0.SharedArrayReceiverStrategy}});var tT=QA();Object.defineProperty(v,"MessageReader",{enumerable:!0,get:function(){return tT.MessageReader}});Object.defineProperty(v,"AbstractMessageReader",{enumerable:!0,get:function(){return tT.AbstractMessageReader}});Object.defineProperty(v,"ReadableStreamMessageReader",{enumerable:!0,get:function(){return tT.ReadableStreamMessageReader}});var rT=i0();Object.defineProperty(v,"MessageWriter",{enumerable:!0,get:function(){return rT.MessageWriter}});Object.defineProperty(v,"AbstractMessageWriter",{enumerable:!0,get:function(){return rT.AbstractMessageWriter}});Object.defineProperty(v,"WriteableStreamMessageWriter",{enumerable:!0,get:function(){return rT.WriteableStreamMessageWriter}});var qF=o0();Object.defineProperty(v,"AbstractMessageBuffer",{enumerable:!0,get:function(){return qF.AbstractMessageBuffer}});var Dt=u0();Object.defineProperty(v,"ConnectionStrategy",{enumerable:!0,get:function(){return Dt.ConnectionStrategy}});Object.defineProperty(v,"ConnectionOptions",{enumerable:!0,get:function(){return Dt.ConnectionOptions}});Object.defineProperty(v,"NullLogger",{enumerable:!0,get:function(){return Dt.NullLogger}});Object.defineProperty(v,"createMessageConnection",{enumerable:!0,get:function(){return Dt.createMessageConnection}});Object.defineProperty(v,"ProgressToken",{enumerable:!0,get:function(){return Dt.ProgressToken}});Object.defineProperty(v,"ProgressType",{enumerable:!0,get:function(){return Dt.ProgressType}});Object.defineProperty(v,"Trace",{enumerable:!0,get:function(){return Dt.Trace}});Object.defineProperty(v,"TraceValues",{enumerable:!0,get:function(){return Dt.TraceValues}});Object.defineProperty(v,"TraceFormat",{enumerable:!0,get:function(){return Dt.TraceFormat}});Object.defineProperty(v,"SetTraceNotification",{enumerable:!0,get:function(){return Dt.SetTraceNotification}});Object.defineProperty(v,"LogTraceNotification",{enumerable:!0,get:function(){return Dt.LogTraceNotification}});Object.defineProperty(v,"ConnectionErrors",{enumerable:!0,get:function(){return Dt.ConnectionErrors}});Object.defineProperty(v,"ConnectionError",{enumerable:!0,get:function(){return Dt.ConnectionError}});Object.defineProperty(v,"CancellationReceiverStrategy",{enumerable:!0,get:function(){return Dt.CancellationReceiverStrategy}});Object.defineProperty(v,"CancellationSenderStrategy",{enumerable:!0,get:function(){return Dt.CancellationSenderStrategy}});Object.defineProperty(v,"CancellationStrategy",{enumerable:!0,get:function(){return Dt.CancellationStrategy}});Object.defineProperty(v,"MessageStrategy",{enumerable:!0,get:function(){return Dt.MessageStrategy}});var zF=wi();v.RAL=zF.default});var m0=ce(sT=>{"use strict";Object.defineProperty(sT,"__esModule",{value:!0});var hn=fp(),dp=class t extends hn.AbstractMessageBuffer{constructor(e="utf-8"){super(e),this.asciiDecoder=new TextDecoder("ascii")}emptyBuffer(){return t.emptyBuffer}fromString(e,r){return new TextEncoder().encode(e)}toString(e,r){return r==="ascii"?this.asciiDecoder.decode(e):new TextDecoder(r).decode(e)}asNative(e,r){return r===void 0?e:e.slice(0,r)}allocNative(e){return new Uint8Array(e)}};dp.emptyBuffer=new Uint8Array(0);var nT=class{constructor(e){this.socket=e,this._onData=new hn.Emitter,this._messageListener=r=>{r.data.arrayBuffer().then(i=>{this._onData.fire(new Uint8Array(i))},()=>{(0,hn.RAL)().console.error("Converting blob to array buffer failed.")})},this.socket.addEventListener("message",this._messageListener)}onClose(e){return this.socket.addEventListener("close",e),hn.Disposable.create(()=>this.socket.removeEventListener("close",e))}onError(e){return this.socket.addEventListener("error",e),hn.Disposable.create(()=>this.socket.removeEventListener("error",e))}onEnd(e){return this.socket.addEventListener("end",e),hn.Disposable.create(()=>this.socket.removeEventListener("end",e))}onData(e){return this._onData.event(e)}},iT=class{constructor(e){this.socket=e}onClose(e){return this.socket.addEventListener("close",e),hn.Disposable.create(()=>this.socket.removeEventListener("close",e))}onError(e){return this.socket.addEventListener("error",e),hn.Disposable.create(()=>this.socket.removeEventListener("error",e))}onEnd(e){return this.socket.addEventListener("end",e),hn.Disposable.create(()=>this.socket.removeEventListener("end",e))}write(e,r){if(typeof e=="string"){if(r!==void 0&&r!=="utf-8")throw new Error(`In a Browser environments only utf-8 text encoding is supported. But got encoding: ${r}`);this.socket.send(e)}else this.socket.send(e);return Promise.resolve()}end(){this.socket.close()}},VF=new TextEncoder,h0=Object.freeze({messageBuffer:Object.freeze({create:t=>new dp(t)}),applicationJson:Object.freeze({encoder:Object.freeze({name:"application/json",encode:(t,e)=>{if(e.charset!=="utf-8")throw new Error(`In a Browser environments only utf-8 text encoding is supported. But got encoding: ${e.charset}`);return Promise.resolve(VF.encode(JSON.stringify(t,void 0,0)))}}),decoder:Object.freeze({name:"application/json",decode:(t,e)=>{if(!(t instanceof Uint8Array))throw new Error("In a Browser environments only Uint8Arrays are supported.");return Promise.resolve(JSON.parse(new TextDecoder(e.charset).decode(t)))}})}),stream:Object.freeze({asReadableStream:t=>new nT(t),asWritableStream:t=>new iT(t)}),console,timer:Object.freeze({setTimeout(t,e,...r){let n=setTimeout(t,e,...r);return{dispose:()=>clearTimeout(n)}},setImmediate(t,...e){let r=setTimeout(t,0,...e);return{dispose:()=>clearTimeout(r)}},setInterval(t,e,...r){let n=setInterval(t,e,...r);return{dispose:()=>clearInterval(n)}}})});function oT(){return h0}(function(t){function e(){hn.RAL.install(h0)}t.install=e})(oT||(oT={}));sT.default=oT});var Do=ce(mr=>{"use strict";var YF=mr&&mr.__createBinding||(Object.create?(function(t,e,r,n){n===void 0&&(n=r);var i=Object.getOwnPropertyDescriptor(e,r);(!i||("get"in i?!e.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,i)}):(function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]})),KF=mr&&mr.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&YF(e,t,r)};Object.defineProperty(mr,"__esModule",{value:!0});mr.createMessageConnection=mr.BrowserMessageWriter=mr.BrowserMessageReader=void 0;var ZF=m0();ZF.default.install();var ma=fp();KF(fp(),mr);var aT=class extends ma.AbstractMessageReader{constructor(e){super(),this._onData=new ma.Emitter,this._messageListener=r=>{this._onData.fire(r.data)},e.addEventListener("error",r=>this.fireError(r)),e.onmessage=this._messageListener}listen(e){return this._onData.event(e)}};mr.BrowserMessageReader=aT;var cT=class extends ma.AbstractMessageWriter{constructor(e){super(),this.port=e,this.errorCount=0,e.addEventListener("error",r=>this.fireError(r))}write(e){try{return this.port.postMessage(e),Promise.resolve()}catch(r){return this.handleError(r,e),Promise.reject(r)}}handleError(e,r){this.errorCount++,this.fireError(e,r,this.errorCount)}end(){}};mr.BrowserMessageWriter=cT;function JF(t,e,r,n){return r===void 0&&(r=ma.NullLogger),ma.ConnectionStrategy.is(n)&&(n={connectionStrategy:n}),(0,ma.createMessageConnection)(t,e,r,n)}mr.createMessageConnection=JF});var lT=ce((J9,g0)=>{"use strict";g0.exports=Do()});var ut=ce(nr=>{"use strict";Object.defineProperty(nr,"__esModule",{value:!0});nr.ProtocolNotificationType=nr.ProtocolNotificationType0=nr.ProtocolRequestType=nr.ProtocolRequestType0=nr.RegistrationType=nr.MessageDirection=void 0;var ga=Do(),y0;(function(t){t.clientToServer="clientToServer",t.serverToClient="serverToClient",t.both="both"})(y0||(nr.MessageDirection=y0={}));var uT=class{constructor(e){this.method=e}};nr.RegistrationType=uT;var fT=class extends ga.RequestType0{constructor(e){super(e)}};nr.ProtocolRequestType0=fT;var dT=class extends ga.RequestType{constructor(e){super(e,ga.ParameterStructures.byName)}};nr.ProtocolRequestType=dT;var pT=class extends ga.NotificationType0{constructor(e){super(e)}};nr.ProtocolNotificationType0=pT;var hT=class extends ga.NotificationType{constructor(e){super(e,ga.ParameterStructures.byName)}};nr.ProtocolNotificationType=hT});var pp=ce(bt=>{"use strict";Object.defineProperty(bt,"__esModule",{value:!0});bt.objectLiteral=bt.typedArray=bt.stringArray=bt.array=bt.func=bt.error=bt.number=bt.string=bt.boolean=void 0;function QF(t){return t===!0||t===!1}bt.boolean=QF;function x0(t){return typeof t=="string"||t instanceof String}bt.string=x0;function eU(t){return typeof t=="number"||t instanceof Number}bt.number=eU;function tU(t){return t instanceof Error}bt.error=tU;function rU(t){return typeof t=="function"}bt.func=rU;function T0(t){return Array.isArray(t)}bt.array=T0;function nU(t){return T0(t)&&t.every(e=>x0(e))}bt.stringArray=nU;function iU(t,e){return Array.isArray(t)&&t.every(e)}bt.typedArray=iU;function oU(t){return t!==null&&typeof t=="object"}bt.objectLiteral=oU});var R0=ce(hp=>{"use strict";Object.defineProperty(hp,"__esModule",{value:!0});hp.ImplementationRequest=void 0;var _0=ut(),E0;(function(t){t.method="textDocument/implementation",t.messageDirection=_0.MessageDirection.clientToServer,t.type=new _0.ProtocolRequestType(t.method)})(E0||(hp.ImplementationRequest=E0={}))});var A0=ce(mp=>{"use strict";Object.defineProperty(mp,"__esModule",{value:!0});mp.TypeDefinitionRequest=void 0;var b0=ut(),w0;(function(t){t.method="textDocument/typeDefinition",t.messageDirection=b0.MessageDirection.clientToServer,t.type=new b0.ProtocolRequestType(t.method)})(w0||(mp.TypeDefinitionRequest=w0={}))});var v0=ce(ya=>{"use strict";Object.defineProperty(ya,"__esModule",{value:!0});ya.DidChangeWorkspaceFoldersNotification=ya.WorkspaceFoldersRequest=void 0;var gp=ut(),I0;(function(t){t.method="workspace/workspaceFolders",t.messageDirection=gp.MessageDirection.serverToClient,t.type=new gp.ProtocolRequestType0(t.method)})(I0||(ya.WorkspaceFoldersRequest=I0={}));var S0;(function(t){t.method="workspace/didChangeWorkspaceFolders",t.messageDirection=gp.MessageDirection.clientToServer,t.type=new gp.ProtocolNotificationType(t.method)})(S0||(ya.DidChangeWorkspaceFoldersNotification=S0={}))});var P0=ce(yp=>{"use strict";Object.defineProperty(yp,"__esModule",{value:!0});yp.ConfigurationRequest=void 0;var k0=ut(),N0;(function(t){t.method="workspace/configuration",t.messageDirection=k0.MessageDirection.serverToClient,t.type=new k0.ProtocolRequestType(t.method)})(N0||(yp.ConfigurationRequest=N0={}))});var L0=ce(xa=>{"use strict";Object.defineProperty(xa,"__esModule",{value:!0});xa.ColorPresentationRequest=xa.DocumentColorRequest=void 0;var xp=ut(),C0;(function(t){t.method="textDocument/documentColor",t.messageDirection=xp.MessageDirection.clientToServer,t.type=new xp.ProtocolRequestType(t.method)})(C0||(xa.DocumentColorRequest=C0={}));var O0;(function(t){t.method="textDocument/colorPresentation",t.messageDirection=xp.MessageDirection.clientToServer,t.type=new xp.ProtocolRequestType(t.method)})(O0||(xa.ColorPresentationRequest=O0={}))});var M0=ce(Ta=>{"use strict";Object.defineProperty(Ta,"__esModule",{value:!0});Ta.FoldingRangeRefreshRequest=Ta.FoldingRangeRequest=void 0;var Tp=ut(),D0;(function(t){t.method="textDocument/foldingRange",t.messageDirection=Tp.MessageDirection.clientToServer,t.type=new Tp.ProtocolRequestType(t.method)})(D0||(Ta.FoldingRangeRequest=D0={}));var $0;(function(t){t.method="workspace/foldingRange/refresh",t.messageDirection=Tp.MessageDirection.serverToClient,t.type=new Tp.ProtocolRequestType0(t.method)})($0||(Ta.FoldingRangeRefreshRequest=$0={}))});var B0=ce(_p=>{"use strict";Object.defineProperty(_p,"__esModule",{value:!0});_p.DeclarationRequest=void 0;var F0=ut(),U0;(function(t){t.method="textDocument/declaration",t.messageDirection=F0.MessageDirection.clientToServer,t.type=new F0.ProtocolRequestType(t.method)})(U0||(_p.DeclarationRequest=U0={}))});var H0=ce(Ep=>{"use strict";Object.defineProperty(Ep,"__esModule",{value:!0});Ep.SelectionRangeRequest=void 0;var X0=ut(),G0;(function(t){t.method="textDocument/selectionRange",t.messageDirection=X0.MessageDirection.clientToServer,t.type=new X0.ProtocolRequestType(t.method)})(G0||(Ep.SelectionRangeRequest=G0={}))});var z0=ce(Si=>{"use strict";Object.defineProperty(Si,"__esModule",{value:!0});Si.WorkDoneProgressCancelNotification=Si.WorkDoneProgressCreateRequest=Si.WorkDoneProgress=void 0;var sU=Do(),Rp=ut(),j0;(function(t){t.type=new sU.ProgressType;function e(r){return r===t.type}t.is=e})(j0||(Si.WorkDoneProgress=j0={}));var W0;(function(t){t.method="window/workDoneProgress/create",t.messageDirection=Rp.MessageDirection.serverToClient,t.type=new Rp.ProtocolRequestType(t.method)})(W0||(Si.WorkDoneProgressCreateRequest=W0={}));var q0;(function(t){t.method="window/workDoneProgress/cancel",t.messageDirection=Rp.MessageDirection.clientToServer,t.type=new Rp.ProtocolNotificationType(t.method)})(q0||(Si.WorkDoneProgressCancelNotification=q0={}))});var Z0=ce(vi=>{"use strict";Object.defineProperty(vi,"__esModule",{value:!0});vi.CallHierarchyOutgoingCallsRequest=vi.CallHierarchyIncomingCallsRequest=vi.CallHierarchyPrepareRequest=void 0;var _a=ut(),V0;(function(t){t.method="textDocument/prepareCallHierarchy",t.messageDirection=_a.MessageDirection.clientToServer,t.type=new _a.ProtocolRequestType(t.method)})(V0||(vi.CallHierarchyPrepareRequest=V0={}));var Y0;(function(t){t.method="callHierarchy/incomingCalls",t.messageDirection=_a.MessageDirection.clientToServer,t.type=new _a.ProtocolRequestType(t.method)})(Y0||(vi.CallHierarchyIncomingCallsRequest=Y0={}));var K0;(function(t){t.method="callHierarchy/outgoingCalls",t.messageDirection=_a.MessageDirection.clientToServer,t.type=new _a.ProtocolRequestType(t.method)})(K0||(vi.CallHierarchyOutgoingCallsRequest=K0={}))});var nI=ce(ir=>{"use strict";Object.defineProperty(ir,"__esModule",{value:!0});ir.SemanticTokensRefreshRequest=ir.SemanticTokensRangeRequest=ir.SemanticTokensDeltaRequest=ir.SemanticTokensRequest=ir.SemanticTokensRegistrationType=ir.TokenFormat=void 0;var Gn=ut(),J0;(function(t){t.Relative="relative"})(J0||(ir.TokenFormat=J0={}));var Bl;(function(t){t.method="textDocument/semanticTokens",t.type=new Gn.RegistrationType(t.method)})(Bl||(ir.SemanticTokensRegistrationType=Bl={}));var Q0;(function(t){t.method="textDocument/semanticTokens/full",t.messageDirection=Gn.MessageDirection.clientToServer,t.type=new Gn.ProtocolRequestType(t.method),t.registrationMethod=Bl.method})(Q0||(ir.SemanticTokensRequest=Q0={}));var eI;(function(t){t.method="textDocument/semanticTokens/full/delta",t.messageDirection=Gn.MessageDirection.clientToServer,t.type=new Gn.ProtocolRequestType(t.method),t.registrationMethod=Bl.method})(eI||(ir.SemanticTokensDeltaRequest=eI={}));var tI;(function(t){t.method="textDocument/semanticTokens/range",t.messageDirection=Gn.MessageDirection.clientToServer,t.type=new Gn.ProtocolRequestType(t.method),t.registrationMethod=Bl.method})(tI||(ir.SemanticTokensRangeRequest=tI={}));var rI;(function(t){t.method="workspace/semanticTokens/refresh",t.messageDirection=Gn.MessageDirection.serverToClient,t.type=new Gn.ProtocolRequestType0(t.method)})(rI||(ir.SemanticTokensRefreshRequest=rI={}))});var sI=ce(bp=>{"use strict";Object.defineProperty(bp,"__esModule",{value:!0});bp.ShowDocumentRequest=void 0;var iI=ut(),oI;(function(t){t.method="window/showDocument",t.messageDirection=iI.MessageDirection.serverToClient,t.type=new iI.ProtocolRequestType(t.method)})(oI||(bp.ShowDocumentRequest=oI={}))});var lI=ce(wp=>{"use strict";Object.defineProperty(wp,"__esModule",{value:!0});wp.LinkedEditingRangeRequest=void 0;var aI=ut(),cI;(function(t){t.method="textDocument/linkedEditingRange",t.messageDirection=aI.MessageDirection.clientToServer,t.type=new aI.ProtocolRequestType(t.method)})(cI||(wp.LinkedEditingRangeRequest=cI={}))});var yI=ce(Ht=>{"use strict";Object.defineProperty(Ht,"__esModule",{value:!0});Ht.WillDeleteFilesRequest=Ht.DidDeleteFilesNotification=Ht.DidRenameFilesNotification=Ht.WillRenameFilesRequest=Ht.DidCreateFilesNotification=Ht.WillCreateFilesRequest=Ht.FileOperationPatternKind=void 0;var Ar=ut(),uI;(function(t){t.file="file",t.folder="folder"})(uI||(Ht.FileOperationPatternKind=uI={}));var fI;(function(t){t.method="workspace/willCreateFiles",t.messageDirection=Ar.MessageDirection.clientToServer,t.type=new Ar.ProtocolRequestType(t.method)})(fI||(Ht.WillCreateFilesRequest=fI={}));var dI;(function(t){t.method="workspace/didCreateFiles",t.messageDirection=Ar.MessageDirection.clientToServer,t.type=new Ar.ProtocolNotificationType(t.method)})(dI||(Ht.DidCreateFilesNotification=dI={}));var pI;(function(t){t.method="workspace/willRenameFiles",t.messageDirection=Ar.MessageDirection.clientToServer,t.type=new Ar.ProtocolRequestType(t.method)})(pI||(Ht.WillRenameFilesRequest=pI={}));var hI;(function(t){t.method="workspace/didRenameFiles",t.messageDirection=Ar.MessageDirection.clientToServer,t.type=new Ar.ProtocolNotificationType(t.method)})(hI||(Ht.DidRenameFilesNotification=hI={}));var mI;(function(t){t.method="workspace/didDeleteFiles",t.messageDirection=Ar.MessageDirection.clientToServer,t.type=new Ar.ProtocolNotificationType(t.method)})(mI||(Ht.DidDeleteFilesNotification=mI={}));var gI;(function(t){t.method="workspace/willDeleteFiles",t.messageDirection=Ar.MessageDirection.clientToServer,t.type=new Ar.ProtocolRequestType(t.method)})(gI||(Ht.WillDeleteFilesRequest=gI={}))});var RI=ce(ki=>{"use strict";Object.defineProperty(ki,"__esModule",{value:!0});ki.MonikerRequest=ki.MonikerKind=ki.UniquenessLevel=void 0;var xI=ut(),TI;(function(t){t.document="document",t.project="project",t.group="group",t.scheme="scheme",t.global="global"})(TI||(ki.UniquenessLevel=TI={}));var _I;(function(t){t.$import="import",t.$export="export",t.local="local"})(_I||(ki.MonikerKind=_I={}));var EI;(function(t){t.method="textDocument/moniker",t.messageDirection=xI.MessageDirection.clientToServer,t.type=new xI.ProtocolRequestType(t.method)})(EI||(ki.MonikerRequest=EI={}))});var II=ce(Ni=>{"use strict";Object.defineProperty(Ni,"__esModule",{value:!0});Ni.TypeHierarchySubtypesRequest=Ni.TypeHierarchySupertypesRequest=Ni.TypeHierarchyPrepareRequest=void 0;var Ea=ut(),bI;(function(t){t.method="textDocument/prepareTypeHierarchy",t.messageDirection=Ea.MessageDirection.clientToServer,t.type=new Ea.ProtocolRequestType(t.method)})(bI||(Ni.TypeHierarchyPrepareRequest=bI={}));var wI;(function(t){t.method="typeHierarchy/supertypes",t.messageDirection=Ea.MessageDirection.clientToServer,t.type=new Ea.ProtocolRequestType(t.method)})(wI||(Ni.TypeHierarchySupertypesRequest=wI={}));var AI;(function(t){t.method="typeHierarchy/subtypes",t.messageDirection=Ea.MessageDirection.clientToServer,t.type=new Ea.ProtocolRequestType(t.method)})(AI||(Ni.TypeHierarchySubtypesRequest=AI={}))});var kI=ce(Ra=>{"use strict";Object.defineProperty(Ra,"__esModule",{value:!0});Ra.InlineValueRefreshRequest=Ra.InlineValueRequest=void 0;var Ap=ut(),SI;(function(t){t.method="textDocument/inlineValue",t.messageDirection=Ap.MessageDirection.clientToServer,t.type=new Ap.ProtocolRequestType(t.method)})(SI||(Ra.InlineValueRequest=SI={}));var vI;(function(t){t.method="workspace/inlineValue/refresh",t.messageDirection=Ap.MessageDirection.serverToClient,t.type=new Ap.ProtocolRequestType0(t.method)})(vI||(Ra.InlineValueRefreshRequest=vI={}))});var OI=ce(Pi=>{"use strict";Object.defineProperty(Pi,"__esModule",{value:!0});Pi.InlayHintRefreshRequest=Pi.InlayHintResolveRequest=Pi.InlayHintRequest=void 0;var ba=ut(),NI;(function(t){t.method="textDocument/inlayHint",t.messageDirection=ba.MessageDirection.clientToServer,t.type=new ba.ProtocolRequestType(t.method)})(NI||(Pi.InlayHintRequest=NI={}));var PI;(function(t){t.method="inlayHint/resolve",t.messageDirection=ba.MessageDirection.clientToServer,t.type=new ba.ProtocolRequestType(t.method)})(PI||(Pi.InlayHintResolveRequest=PI={}));var CI;(function(t){t.method="workspace/inlayHint/refresh",t.messageDirection=ba.MessageDirection.serverToClient,t.type=new ba.ProtocolRequestType0(t.method)})(CI||(Pi.InlayHintRefreshRequest=CI={}))});var BI=ce(Ir=>{"use strict";Object.defineProperty(Ir,"__esModule",{value:!0});Ir.DiagnosticRefreshRequest=Ir.WorkspaceDiagnosticRequest=Ir.DocumentDiagnosticRequest=Ir.DocumentDiagnosticReportKind=Ir.DiagnosticServerCancellationData=void 0;var UI=Do(),aU=pp(),wa=ut(),LI;(function(t){function e(r){let n=r;return n&&aU.boolean(n.retriggerRequest)}t.is=e})(LI||(Ir.DiagnosticServerCancellationData=LI={}));var DI;(function(t){t.Full="full",t.Unchanged="unchanged"})(DI||(Ir.DocumentDiagnosticReportKind=DI={}));var $I;(function(t){t.method="textDocument/diagnostic",t.messageDirection=wa.MessageDirection.clientToServer,t.type=new wa.ProtocolRequestType(t.method),t.partialResult=new UI.ProgressType})($I||(Ir.DocumentDiagnosticRequest=$I={}));var MI;(function(t){t.method="workspace/diagnostic",t.messageDirection=wa.MessageDirection.clientToServer,t.type=new wa.ProtocolRequestType(t.method),t.partialResult=new UI.ProgressType})(MI||(Ir.WorkspaceDiagnosticRequest=MI={}));var FI;(function(t){t.method="workspace/diagnostic/refresh",t.messageDirection=wa.MessageDirection.serverToClient,t.type=new wa.ProtocolRequestType0(t.method)})(FI||(Ir.DiagnosticRefreshRequest=FI={}))});var zI=ce(Tt=>{"use strict";Object.defineProperty(Tt,"__esModule",{value:!0});Tt.DidCloseNotebookDocumentNotification=Tt.DidSaveNotebookDocumentNotification=Tt.DidChangeNotebookDocumentNotification=Tt.NotebookCellArrayChange=Tt.DidOpenNotebookDocumentNotification=Tt.NotebookDocumentSyncRegistrationType=Tt.NotebookDocument=Tt.NotebookCell=Tt.ExecutionSummary=Tt.NotebookCellKind=void 0;var Xl=(Zs(),qu(Dd)),Hr=pp(),mn=ut(),mT;(function(t){t.Markup=1,t.Code=2;function e(r){return r===1||r===2}t.is=e})(mT||(Tt.NotebookCellKind=mT={}));var gT;(function(t){function e(i,o){let s={executionOrder:i};return(o===!0||o===!1)&&(s.success=o),s}t.create=e;function r(i){let o=i;return Hr.objectLiteral(o)&&Xl.uinteger.is(o.executionOrder)&&(o.success===void 0||Hr.boolean(o.success))}t.is=r;function n(i,o){return i===o?!0:i==null||o===null||o===void 0?!1:i.executionOrder===o.executionOrder&&i.success===o.success}t.equals=n})(gT||(Tt.ExecutionSummary=gT={}));var Ip;(function(t){function e(o,s){return{kind:o,document:s}}t.create=e;function r(o){let s=o;return Hr.objectLiteral(s)&&mT.is(s.kind)&&Xl.DocumentUri.is(s.document)&&(s.metadata===void 0||Hr.objectLiteral(s.metadata))}t.is=r;function n(o,s){let a=new Set;return o.document!==s.document&&a.add("document"),o.kind!==s.kind&&a.add("kind"),o.executionSummary!==s.executionSummary&&a.add("executionSummary"),(o.metadata!==void 0||s.metadata!==void 0)&&!i(o.metadata,s.metadata)&&a.add("metadata"),(o.executionSummary!==void 0||s.executionSummary!==void 0)&&!gT.equals(o.executionSummary,s.executionSummary)&&a.add("executionSummary"),a}t.diff=n;function i(o,s){if(o===s)return!0;if(o==null||s===null||s===void 0||typeof o!=typeof s||typeof o!="object")return!1;let a=Array.isArray(o),c=Array.isArray(s);if(a!==c)return!1;if(a&&c){if(o.length!==s.length)return!1;for(let l=0;l<o.length;l++)if(!i(o[l],s[l]))return!1}if(Hr.objectLiteral(o)&&Hr.objectLiteral(s)){let l=Object.keys(o),u=Object.keys(s);if(l.length!==u.length||(l.sort(),u.sort(),!i(l,u)))return!1;for(let f=0;f<l.length;f++){let d=l[f];if(!i(o[d],s[d]))return!1}}return!0}})(Ip||(Tt.NotebookCell=Ip={}));var XI;(function(t){function e(n,i,o,s){return{uri:n,notebookType:i,version:o,cells:s}}t.create=e;function r(n){let i=n;return Hr.objectLiteral(i)&&Hr.string(i.uri)&&Xl.integer.is(i.version)&&Hr.typedArray(i.cells,Ip.is)}t.is=r})(XI||(Tt.NotebookDocument=XI={}));var Aa;(function(t){t.method="notebookDocument/sync",t.messageDirection=mn.MessageDirection.clientToServer,t.type=new mn.RegistrationType(t.method)})(Aa||(Tt.NotebookDocumentSyncRegistrationType=Aa={}));var GI;(function(t){t.method="notebookDocument/didOpen",t.messageDirection=mn.MessageDirection.clientToServer,t.type=new mn.ProtocolNotificationType(t.method),t.registrationMethod=Aa.method})(GI||(Tt.DidOpenNotebookDocumentNotification=GI={}));var HI;(function(t){function e(n){let i=n;return Hr.objectLiteral(i)&&Xl.uinteger.is(i.start)&&Xl.uinteger.is(i.deleteCount)&&(i.cells===void 0||Hr.typedArray(i.cells,Ip.is))}t.is=e;function r(n,i,o){let s={start:n,deleteCount:i};return o!==void 0&&(s.cells=o),s}t.create=r})(HI||(Tt.NotebookCellArrayChange=HI={}));var jI;(function(t){t.method="notebookDocument/didChange",t.messageDirection=mn.MessageDirection.clientToServer,t.type=new mn.ProtocolNotificationType(t.method),t.registrationMethod=Aa.method})(jI||(Tt.DidChangeNotebookDocumentNotification=jI={}));var WI;(function(t){t.method="notebookDocument/didSave",t.messageDirection=mn.MessageDirection.clientToServer,t.type=new mn.ProtocolNotificationType(t.method),t.registrationMethod=Aa.method})(WI||(Tt.DidSaveNotebookDocumentNotification=WI={}));var qI;(function(t){t.method="notebookDocument/didClose",t.messageDirection=mn.MessageDirection.clientToServer,t.type=new mn.ProtocolNotificationType(t.method),t.registrationMethod=Aa.method})(qI||(Tt.DidCloseNotebookDocumentNotification=qI={}))});var KI=ce(Sp=>{"use strict";Object.defineProperty(Sp,"__esModule",{value:!0});Sp.InlineCompletionRequest=void 0;var VI=ut(),YI;(function(t){t.method="textDocument/inlineCompletion",t.messageDirection=VI.MessageDirection.clientToServer,t.type=new VI.ProtocolRequestType(t.method)})(YI||(Sp.InlineCompletionRequest=YI={}))});var lv=ce(g=>{"use strict";Object.defineProperty(g,"__esModule",{value:!0});g.WorkspaceSymbolRequest=g.CodeActionResolveRequest=g.CodeActionRequest=g.DocumentSymbolRequest=g.DocumentHighlightRequest=g.ReferencesRequest=g.DefinitionRequest=g.SignatureHelpRequest=g.SignatureHelpTriggerKind=g.HoverRequest=g.CompletionResolveRequest=g.CompletionRequest=g.CompletionTriggerKind=g.PublishDiagnosticsNotification=g.WatchKind=g.RelativePattern=g.FileChangeType=g.DidChangeWatchedFilesNotification=g.WillSaveTextDocumentWaitUntilRequest=g.WillSaveTextDocumentNotification=g.TextDocumentSaveReason=g.DidSaveTextDocumentNotification=g.DidCloseTextDocumentNotification=g.DidChangeTextDocumentNotification=g.TextDocumentContentChangeEvent=g.DidOpenTextDocumentNotification=g.TextDocumentSyncKind=g.TelemetryEventNotification=g.LogMessageNotification=g.ShowMessageRequest=g.ShowMessageNotification=g.MessageType=g.DidChangeConfigurationNotification=g.ExitNotification=g.ShutdownRequest=g.InitializedNotification=g.InitializeErrorCodes=g.InitializeRequest=g.WorkDoneProgressOptions=g.TextDocumentRegistrationOptions=g.StaticRegistrationOptions=g.PositionEncodingKind=g.FailureHandlingKind=g.ResourceOperationKind=g.UnregistrationRequest=g.RegistrationRequest=g.DocumentSelector=g.NotebookCellTextDocumentFilter=g.NotebookDocumentFilter=g.TextDocumentFilter=void 0;g.MonikerRequest=g.MonikerKind=g.UniquenessLevel=g.WillDeleteFilesRequest=g.DidDeleteFilesNotification=g.WillRenameFilesRequest=g.DidRenameFilesNotification=g.WillCreateFilesRequest=g.DidCreateFilesNotification=g.FileOperationPatternKind=g.LinkedEditingRangeRequest=g.ShowDocumentRequest=g.SemanticTokensRegistrationType=g.SemanticTokensRefreshRequest=g.SemanticTokensRangeRequest=g.SemanticTokensDeltaRequest=g.SemanticTokensRequest=g.TokenFormat=g.CallHierarchyPrepareRequest=g.CallHierarchyOutgoingCallsRequest=g.CallHierarchyIncomingCallsRequest=g.WorkDoneProgressCancelNotification=g.WorkDoneProgressCreateRequest=g.WorkDoneProgress=g.SelectionRangeRequest=g.DeclarationRequest=g.FoldingRangeRefreshRequest=g.FoldingRangeRequest=g.ColorPresentationRequest=g.DocumentColorRequest=g.ConfigurationRequest=g.DidChangeWorkspaceFoldersNotification=g.WorkspaceFoldersRequest=g.TypeDefinitionRequest=g.ImplementationRequest=g.ApplyWorkspaceEditRequest=g.ExecuteCommandRequest=g.PrepareRenameRequest=g.RenameRequest=g.PrepareSupportDefaultBehavior=g.DocumentOnTypeFormattingRequest=g.DocumentRangesFormattingRequest=g.DocumentRangeFormattingRequest=g.DocumentFormattingRequest=g.DocumentLinkResolveRequest=g.DocumentLinkRequest=g.CodeLensRefreshRequest=g.CodeLensResolveRequest=g.CodeLensRequest=g.WorkspaceSymbolResolveRequest=void 0;g.InlineCompletionRequest=g.DidCloseNotebookDocumentNotification=g.DidSaveNotebookDocumentNotification=g.DidChangeNotebookDocumentNotification=g.NotebookCellArrayChange=g.DidOpenNotebookDocumentNotification=g.NotebookDocumentSyncRegistrationType=g.NotebookDocument=g.NotebookCell=g.ExecutionSummary=g.NotebookCellKind=g.DiagnosticRefreshRequest=g.WorkspaceDiagnosticRequest=g.DocumentDiagnosticRequest=g.DocumentDiagnosticReportKind=g.DiagnosticServerCancellationData=g.InlayHintRefreshRequest=g.InlayHintResolveRequest=g.InlayHintRequest=g.InlineValueRefreshRequest=g.InlineValueRequest=g.TypeHierarchySupertypesRequest=g.TypeHierarchySubtypesRequest=g.TypeHierarchyPrepareRequest=void 0;var F=ut(),ZI=(Zs(),qu(Dd)),Nt=pp(),cU=R0();Object.defineProperty(g,"ImplementationRequest",{enumerable:!0,get:function(){return cU.ImplementationRequest}});var lU=A0();Object.defineProperty(g,"TypeDefinitionRequest",{enumerable:!0,get:function(){return lU.TypeDefinitionRequest}});var ov=v0();Object.defineProperty(g,"WorkspaceFoldersRequest",{enumerable:!0,get:function(){return ov.WorkspaceFoldersRequest}});Object.defineProperty(g,"DidChangeWorkspaceFoldersNotification",{enumerable:!0,get:function(){return ov.DidChangeWorkspaceFoldersNotification}});var uU=P0();Object.defineProperty(g,"ConfigurationRequest",{enumerable:!0,get:function(){return uU.ConfigurationRequest}});var sv=L0();Object.defineProperty(g,"DocumentColorRequest",{enumerable:!0,get:function(){return sv.DocumentColorRequest}});Object.defineProperty(g,"ColorPresentationRequest",{enumerable:!0,get:function(){return sv.ColorPresentationRequest}});var av=M0();Object.defineProperty(g,"FoldingRangeRequest",{enumerable:!0,get:function(){return av.FoldingRangeRequest}});Object.defineProperty(g,"FoldingRangeRefreshRequest",{enumerable:!0,get:function(){return av.FoldingRangeRefreshRequest}});var fU=B0();Object.defineProperty(g,"DeclarationRequest",{enumerable:!0,get:function(){return fU.DeclarationRequest}});var dU=H0();Object.defineProperty(g,"SelectionRangeRequest",{enumerable:!0,get:function(){return dU.SelectionRangeRequest}});var ET=z0();Object.defineProperty(g,"WorkDoneProgress",{enumerable:!0,get:function(){return ET.WorkDoneProgress}});Object.defineProperty(g,"WorkDoneProgressCreateRequest",{enumerable:!0,get:function(){return ET.WorkDoneProgressCreateRequest}});Object.defineProperty(g,"WorkDoneProgressCancelNotification",{enumerable:!0,get:function(){return ET.WorkDoneProgressCancelNotification}});var RT=Z0();Object.defineProperty(g,"CallHierarchyIncomingCallsRequest",{enumerable:!0,get:function(){return RT.CallHierarchyIncomingCallsRequest}});Object.defineProperty(g,"CallHierarchyOutgoingCallsRequest",{enumerable:!0,get:function(){return RT.CallHierarchyOutgoingCallsRequest}});Object.defineProperty(g,"CallHierarchyPrepareRequest",{enumerable:!0,get:function(){return RT.CallHierarchyPrepareRequest}});var Ia=nI();Object.defineProperty(g,"TokenFormat",{enumerable:!0,get:function(){return Ia.TokenFormat}});Object.defineProperty(g,"SemanticTokensRequest",{enumerable:!0,get:function(){return Ia.SemanticTokensRequest}});Object.defineProperty(g,"SemanticTokensDeltaRequest",{enumerable:!0,get:function(){return Ia.SemanticTokensDeltaRequest}});Object.defineProperty(g,"SemanticTokensRangeRequest",{enumerable:!0,get:function(){return Ia.SemanticTokensRangeRequest}});Object.defineProperty(g,"SemanticTokensRefreshRequest",{enumerable:!0,get:function(){return Ia.SemanticTokensRefreshRequest}});Object.defineProperty(g,"SemanticTokensRegistrationType",{enumerable:!0,get:function(){return Ia.SemanticTokensRegistrationType}});var pU=sI();Object.defineProperty(g,"ShowDocumentRequest",{enumerable:!0,get:function(){return pU.ShowDocumentRequest}});var hU=lI();Object.defineProperty(g,"LinkedEditingRangeRequest",{enumerable:!0,get:function(){return hU.LinkedEditingRangeRequest}});var $o=yI();Object.defineProperty(g,"FileOperationPatternKind",{enumerable:!0,get:function(){return $o.FileOperationPatternKind}});Object.defineProperty(g,"DidCreateFilesNotification",{enumerable:!0,get:function(){return $o.DidCreateFilesNotification}});Object.defineProperty(g,"WillCreateFilesRequest",{enumerable:!0,get:function(){return $o.WillCreateFilesRequest}});Object.defineProperty(g,"DidRenameFilesNotification",{enumerable:!0,get:function(){return $o.DidRenameFilesNotification}});Object.defineProperty(g,"WillRenameFilesRequest",{enumerable:!0,get:function(){return $o.WillRenameFilesRequest}});Object.defineProperty(g,"DidDeleteFilesNotification",{enumerable:!0,get:function(){return $o.DidDeleteFilesNotification}});Object.defineProperty(g,"WillDeleteFilesRequest",{enumerable:!0,get:function(){return $o.WillDeleteFilesRequest}});var bT=RI();Object.defineProperty(g,"UniquenessLevel",{enumerable:!0,get:function(){return bT.UniquenessLevel}});Object.defineProperty(g,"MonikerKind",{enumerable:!0,get:function(){return bT.MonikerKind}});Object.defineProperty(g,"MonikerRequest",{enumerable:!0,get:function(){return bT.MonikerRequest}});var wT=II();Object.defineProperty(g,"TypeHierarchyPrepareRequest",{enumerable:!0,get:function(){return wT.TypeHierarchyPrepareRequest}});Object.defineProperty(g,"TypeHierarchySubtypesRequest",{enumerable:!0,get:function(){return wT.TypeHierarchySubtypesRequest}});Object.defineProperty(g,"TypeHierarchySupertypesRequest",{enumerable:!0,get:function(){return wT.TypeHierarchySupertypesRequest}});var cv=kI();Object.defineProperty(g,"InlineValueRequest",{enumerable:!0,get:function(){return cv.InlineValueRequest}});Object.defineProperty(g,"InlineValueRefreshRequest",{enumerable:!0,get:function(){return cv.InlineValueRefreshRequest}});var AT=OI();Object.defineProperty(g,"InlayHintRequest",{enumerable:!0,get:function(){return AT.InlayHintRequest}});Object.defineProperty(g,"InlayHintResolveRequest",{enumerable:!0,get:function(){return AT.InlayHintResolveRequest}});Object.defineProperty(g,"InlayHintRefreshRequest",{enumerable:!0,get:function(){return AT.InlayHintRefreshRequest}});var Gl=BI();Object.defineProperty(g,"DiagnosticServerCancellationData",{enumerable:!0,get:function(){return Gl.DiagnosticServerCancellationData}});Object.defineProperty(g,"DocumentDiagnosticReportKind",{enumerable:!0,get:function(){return Gl.DocumentDiagnosticReportKind}});Object.defineProperty(g,"DocumentDiagnosticRequest",{enumerable:!0,get:function(){return Gl.DocumentDiagnosticRequest}});Object.defineProperty(g,"WorkspaceDiagnosticRequest",{enumerable:!0,get:function(){return Gl.WorkspaceDiagnosticRequest}});Object.defineProperty(g,"DiagnosticRefreshRequest",{enumerable:!0,get:function(){return Gl.DiagnosticRefreshRequest}});var gn=zI();Object.defineProperty(g,"NotebookCellKind",{enumerable:!0,get:function(){return gn.NotebookCellKind}});Object.defineProperty(g,"ExecutionSummary",{enumerable:!0,get:function(){return gn.ExecutionSummary}});Object.defineProperty(g,"NotebookCell",{enumerable:!0,get:function(){return gn.NotebookCell}});Object.defineProperty(g,"NotebookDocument",{enumerable:!0,get:function(){return gn.NotebookDocument}});Object.defineProperty(g,"NotebookDocumentSyncRegistrationType",{enumerable:!0,get:function(){return gn.NotebookDocumentSyncRegistrationType}});Object.defineProperty(g,"DidOpenNotebookDocumentNotification",{enumerable:!0,get:function(){return gn.DidOpenNotebookDocumentNotification}});Object.defineProperty(g,"NotebookCellArrayChange",{enumerable:!0,get:function(){return gn.NotebookCellArrayChange}});Object.defineProperty(g,"DidChangeNotebookDocumentNotification",{enumerable:!0,get:function(){return gn.DidChangeNotebookDocumentNotification}});Object.defineProperty(g,"DidSaveNotebookDocumentNotification",{enumerable:!0,get:function(){return gn.DidSaveNotebookDocumentNotification}});Object.defineProperty(g,"DidCloseNotebookDocumentNotification",{enumerable:!0,get:function(){return gn.DidCloseNotebookDocumentNotification}});var mU=KI();Object.defineProperty(g,"InlineCompletionRequest",{enumerable:!0,get:function(){return mU.InlineCompletionRequest}});var yT;(function(t){function e(r){let n=r;return Nt.string(n)||Nt.string(n.language)||Nt.string(n.scheme)||Nt.string(n.pattern)}t.is=e})(yT||(g.TextDocumentFilter=yT={}));var xT;(function(t){function e(r){let n=r;return Nt.objectLiteral(n)&&(Nt.string(n.notebookType)||Nt.string(n.scheme)||Nt.string(n.pattern))}t.is=e})(xT||(g.NotebookDocumentFilter=xT={}));var TT;(function(t){function e(r){let n=r;return Nt.objectLiteral(n)&&(Nt.string(n.notebook)||xT.is(n.notebook))&&(n.language===void 0||Nt.string(n.language))}t.is=e})(TT||(g.NotebookCellTextDocumentFilter=TT={}));var _T;(function(t){function e(r){if(!Array.isArray(r))return!1;for(let n of r)if(!Nt.string(n)&&!yT.is(n)&&!TT.is(n))return!1;return!0}t.is=e})(_T||(g.DocumentSelector=_T={}));var JI;(function(t){t.method="client/registerCapability",t.messageDirection=F.MessageDirection.serverToClient,t.type=new F.ProtocolRequestType(t.method)})(JI||(g.RegistrationRequest=JI={}));var QI;(function(t){t.method="client/unregisterCapability",t.messageDirection=F.MessageDirection.serverToClient,t.type=new F.ProtocolRequestType(t.method)})(QI||(g.UnregistrationRequest=QI={}));var eS;(function(t){t.Create="create",t.Rename="rename",t.Delete="delete"})(eS||(g.ResourceOperationKind=eS={}));var tS;(function(t){t.Abort="abort",t.Transactional="transactional",t.TextOnlyTransactional="textOnlyTransactional",t.Undo="undo"})(tS||(g.FailureHandlingKind=tS={}));var rS;(function(t){t.UTF8="utf-8",t.UTF16="utf-16",t.UTF32="utf-32"})(rS||(g.PositionEncodingKind=rS={}));var nS;(function(t){function e(r){let n=r;return n&&Nt.string(n.id)&&n.id.length>0}t.hasId=e})(nS||(g.StaticRegistrationOptions=nS={}));var iS;(function(t){function e(r){let n=r;return n&&(n.documentSelector===null||_T.is(n.documentSelector))}t.is=e})(iS||(g.TextDocumentRegistrationOptions=iS={}));var oS;(function(t){function e(n){let i=n;return Nt.objectLiteral(i)&&(i.workDoneProgress===void 0||Nt.boolean(i.workDoneProgress))}t.is=e;function r(n){let i=n;return i&&Nt.boolean(i.workDoneProgress)}t.hasWorkDoneProgress=r})(oS||(g.WorkDoneProgressOptions=oS={}));var sS;(function(t){t.method="initialize",t.messageDirection=F.MessageDirection.clientToServer,t.type=new F.ProtocolRequestType(t.method)})(sS||(g.InitializeRequest=sS={}));var aS;(function(t){t.unknownProtocolVersion=1})(aS||(g.InitializeErrorCodes=aS={}));var cS;(function(t){t.method="initialized",t.messageDirection=F.MessageDirection.clientToServer,t.type=new F.ProtocolNotificationType(t.method)})(cS||(g.InitializedNotification=cS={}));var lS;(function(t){t.method="shutdown",t.messageDirection=F.MessageDirection.clientToServer,t.type=new F.ProtocolRequestType0(t.method)})(lS||(g.ShutdownRequest=lS={}));var uS;(function(t){t.method="exit",t.messageDirection=F.MessageDirection.clientToServer,t.type=new F.ProtocolNotificationType0(t.method)})(uS||(g.ExitNotification=uS={}));var fS;(function(t){t.method="workspace/didChangeConfiguration",t.messageDirection=F.MessageDirection.clientToServer,t.type=new F.ProtocolNotificationType(t.method)})(fS||(g.DidChangeConfigurationNotification=fS={}));var dS;(function(t){t.Error=1,t.Warning=2,t.Info=3,t.Log=4,t.Debug=5})(dS||(g.MessageType=dS={}));var pS;(function(t){t.method="window/showMessage",t.messageDirection=F.MessageDirection.serverToClient,t.type=new F.ProtocolNotificationType(t.method)})(pS||(g.ShowMessageNotification=pS={}));var hS;(function(t){t.method="window/showMessageRequest",t.messageDirection=F.MessageDirection.serverToClient,t.type=new F.ProtocolRequestType(t.method)})(hS||(g.ShowMessageRequest=hS={}));var mS;(function(t){t.method="window/logMessage",t.messageDirection=F.MessageDirection.serverToClient,t.type=new F.ProtocolNotificationType(t.method)})(mS||(g.LogMessageNotification=mS={}));var gS;(function(t){t.method="telemetry/event",t.messageDirection=F.MessageDirection.serverToClient,t.type=new F.ProtocolNotificationType(t.method)})(gS||(g.TelemetryEventNotification=gS={}));var yS;(function(t){t.None=0,t.Full=1,t.Incremental=2})(yS||(g.TextDocumentSyncKind=yS={}));var xS;(function(t){t.method="textDocument/didOpen",t.messageDirection=F.MessageDirection.clientToServer,t.type=new F.ProtocolNotificationType(t.method)})(xS||(g.DidOpenTextDocumentNotification=xS={}));var TS;(function(t){function e(n){let i=n;return i!=null&&typeof i.text=="string"&&i.range!==void 0&&(i.rangeLength===void 0||typeof i.rangeLength=="number")}t.isIncremental=e;function r(n){let i=n;return i!=null&&typeof i.text=="string"&&i.range===void 0&&i.rangeLength===void 0}t.isFull=r})(TS||(g.TextDocumentContentChangeEvent=TS={}));var _S;(function(t){t.method="textDocument/didChange",t.messageDirection=F.MessageDirection.clientToServer,t.type=new F.ProtocolNotificationType(t.method)})(_S||(g.DidChangeTextDocumentNotification=_S={}));var ES;(function(t){t.method="textDocument/didClose",t.messageDirection=F.MessageDirection.clientToServer,t.type=new F.ProtocolNotificationType(t.method)})(ES||(g.DidCloseTextDocumentNotification=ES={}));var RS;(function(t){t.method="textDocument/didSave",t.messageDirection=F.MessageDirection.clientToServer,t.type=new F.ProtocolNotificationType(t.method)})(RS||(g.DidSaveTextDocumentNotification=RS={}));var bS;(function(t){t.Manual=1,t.AfterDelay=2,t.FocusOut=3})(bS||(g.TextDocumentSaveReason=bS={}));var wS;(function(t){t.method="textDocument/willSave",t.messageDirection=F.MessageDirection.clientToServer,t.type=new F.ProtocolNotificationType(t.method)})(wS||(g.WillSaveTextDocumentNotification=wS={}));var AS;(function(t){t.method="textDocument/willSaveWaitUntil",t.messageDirection=F.MessageDirection.clientToServer,t.type=new F.ProtocolRequestType(t.method)})(AS||(g.WillSaveTextDocumentWaitUntilRequest=AS={}));var IS;(function(t){t.method="workspace/didChangeWatchedFiles",t.messageDirection=F.MessageDirection.clientToServer,t.type=new F.ProtocolNotificationType(t.method)})(IS||(g.DidChangeWatchedFilesNotification=IS={}));var SS;(function(t){t.Created=1,t.Changed=2,t.Deleted=3})(SS||(g.FileChangeType=SS={}));var vS;(function(t){function e(r){let n=r;return Nt.objectLiteral(n)&&(ZI.URI.is(n.baseUri)||ZI.WorkspaceFolder.is(n.baseUri))&&Nt.string(n.pattern)}t.is=e})(vS||(g.RelativePattern=vS={}));var kS;(function(t){t.Create=1,t.Change=2,t.Delete=4})(kS||(g.WatchKind=kS={}));var NS;(function(t){t.method="textDocument/publishDiagnostics",t.messageDirection=F.MessageDirection.serverToClient,t.type=new F.ProtocolNotificationType(t.method)})(NS||(g.PublishDiagnosticsNotification=NS={}));var PS;(function(t){t.Invoked=1,t.TriggerCharacter=2,t.TriggerForIncompleteCompletions=3})(PS||(g.CompletionTriggerKind=PS={}));var CS;(function(t){t.method="textDocument/completion",t.messageDirection=F.MessageDirection.clientToServer,t.type=new F.ProtocolRequestType(t.method)})(CS||(g.CompletionRequest=CS={}));var OS;(function(t){t.method="completionItem/resolve",t.messageDirection=F.MessageDirection.clientToServer,t.type=new F.ProtocolRequestType(t.method)})(OS||(g.CompletionResolveRequest=OS={}));var LS;(function(t){t.method="textDocument/hover",t.messageDirection=F.MessageDirection.clientToServer,t.type=new F.ProtocolRequestType(t.method)})(LS||(g.HoverRequest=LS={}));var DS;(function(t){t.Invoked=1,t.TriggerCharacter=2,t.ContentChange=3})(DS||(g.SignatureHelpTriggerKind=DS={}));var $S;(function(t){t.method="textDocument/signatureHelp",t.messageDirection=F.MessageDirection.clientToServer,t.type=new F.ProtocolRequestType(t.method)})($S||(g.SignatureHelpRequest=$S={}));var MS;(function(t){t.method="textDocument/definition",t.messageDirection=F.MessageDirection.clientToServer,t.type=new F.ProtocolRequestType(t.method)})(MS||(g.DefinitionRequest=MS={}));var FS;(function(t){t.method="textDocument/references",t.messageDirection=F.MessageDirection.clientToServer,t.type=new F.ProtocolRequestType(t.method)})(FS||(g.ReferencesRequest=FS={}));var US;(function(t){t.method="textDocument/documentHighlight",t.messageDirection=F.MessageDirection.clientToServer,t.type=new F.ProtocolRequestType(t.method)})(US||(g.DocumentHighlightRequest=US={}));var BS;(function(t){t.method="textDocument/documentSymbol",t.messageDirection=F.MessageDirection.clientToServer,t.type=new F.ProtocolRequestType(t.method)})(BS||(g.DocumentSymbolRequest=BS={}));var XS;(function(t){t.method="textDocument/codeAction",t.messageDirection=F.MessageDirection.clientToServer,t.type=new F.ProtocolRequestType(t.method)})(XS||(g.CodeActionRequest=XS={}));var GS;(function(t){t.method="codeAction/resolve",t.messageDirection=F.MessageDirection.clientToServer,t.type=new F.ProtocolRequestType(t.method)})(GS||(g.CodeActionResolveRequest=GS={}));var HS;(function(t){t.method="workspace/symbol",t.messageDirection=F.MessageDirection.clientToServer,t.type=new F.ProtocolRequestType(t.method)})(HS||(g.WorkspaceSymbolRequest=HS={}));var jS;(function(t){t.method="workspaceSymbol/resolve",t.messageDirection=F.MessageDirection.clientToServer,t.type=new F.ProtocolRequestType(t.method)})(jS||(g.WorkspaceSymbolResolveRequest=jS={}));var WS;(function(t){t.method="textDocument/codeLens",t.messageDirection=F.MessageDirection.clientToServer,t.type=new F.ProtocolRequestType(t.method)})(WS||(g.CodeLensRequest=WS={}));var qS;(function(t){t.method="codeLens/resolve",t.messageDirection=F.MessageDirection.clientToServer,t.type=new F.ProtocolRequestType(t.method)})(qS||(g.CodeLensResolveRequest=qS={}));var zS;(function(t){t.method="workspace/codeLens/refresh",t.messageDirection=F.MessageDirection.serverToClient,t.type=new F.ProtocolRequestType0(t.method)})(zS||(g.CodeLensRefreshRequest=zS={}));var VS;(function(t){t.method="textDocument/documentLink",t.messageDirection=F.MessageDirection.clientToServer,t.type=new F.ProtocolRequestType(t.method)})(VS||(g.DocumentLinkRequest=VS={}));var YS;(function(t){t.method="documentLink/resolve",t.messageDirection=F.MessageDirection.clientToServer,t.type=new F.ProtocolRequestType(t.method)})(YS||(g.DocumentLinkResolveRequest=YS={}));var KS;(function(t){t.method="textDocument/formatting",t.messageDirection=F.MessageDirection.clientToServer,t.type=new F.ProtocolRequestType(t.method)})(KS||(g.DocumentFormattingRequest=KS={}));var ZS;(function(t){t.method="textDocument/rangeFormatting",t.messageDirection=F.MessageDirection.clientToServer,t.type=new F.ProtocolRequestType(t.method)})(ZS||(g.DocumentRangeFormattingRequest=ZS={}));var JS;(function(t){t.method="textDocument/rangesFormatting",t.messageDirection=F.MessageDirection.clientToServer,t.type=new F.ProtocolRequestType(t.method)})(JS||(g.DocumentRangesFormattingRequest=JS={}));var QS;(function(t){t.method="textDocument/onTypeFormatting",t.messageDirection=F.MessageDirection.clientToServer,t.type=new F.ProtocolRequestType(t.method)})(QS||(g.DocumentOnTypeFormattingRequest=QS={}));var ev;(function(t){t.Identifier=1})(ev||(g.PrepareSupportDefaultBehavior=ev={}));var tv;(function(t){t.method="textDocument/rename",t.messageDirection=F.MessageDirection.clientToServer,t.type=new F.ProtocolRequestType(t.method)})(tv||(g.RenameRequest=tv={}));var rv;(function(t){t.method="textDocument/prepareRename",t.messageDirection=F.MessageDirection.clientToServer,t.type=new F.ProtocolRequestType(t.method)})(rv||(g.PrepareRenameRequest=rv={}));var nv;(function(t){t.method="workspace/executeCommand",t.messageDirection=F.MessageDirection.clientToServer,t.type=new F.ProtocolRequestType(t.method)})(nv||(g.ExecuteCommandRequest=nv={}));var iv;(function(t){t.method="workspace/applyEdit",t.messageDirection=F.MessageDirection.serverToClient,t.type=new F.ProtocolRequestType("workspace/applyEdit")})(iv||(g.ApplyWorkspaceEditRequest=iv={}))});var fv=ce(vp=>{"use strict";Object.defineProperty(vp,"__esModule",{value:!0});vp.createProtocolConnection=void 0;var uv=Do();function gU(t,e,r,n){return uv.ConnectionStrategy.is(n)&&(n={connectionStrategy:n}),(0,uv.createMessageConnection)(t,e,r,n)}vp.createProtocolConnection=gU});var pv=ce(or=>{"use strict";var yU=or&&or.__createBinding||(Object.create?(function(t,e,r,n){n===void 0&&(n=r);var i=Object.getOwnPropertyDescriptor(e,r);(!i||("get"in i?!e.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,i)}):(function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]})),kp=or&&or.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&yU(e,t,r)};Object.defineProperty(or,"__esModule",{value:!0});or.LSPErrorCodes=or.createProtocolConnection=void 0;kp(Do(),or);kp((Zs(),qu(Dd)),or);kp(ut(),or);kp(lv(),or);var xU=fv();Object.defineProperty(or,"createProtocolConnection",{enumerable:!0,get:function(){return xU.createProtocolConnection}});var dv;(function(t){t.lspReservedErrorRangeStart=-32899,t.RequestFailed=-32803,t.ServerCancelled=-32802,t.ContentModified=-32801,t.RequestCancelled=-32800,t.lspReservedErrorRangeEnd=-32800})(dv||(or.LSPErrorCodes=dv={}))});var mv=ce(yn=>{"use strict";var TU=yn&&yn.__createBinding||(Object.create?(function(t,e,r,n){n===void 0&&(n=r);var i=Object.getOwnPropertyDescriptor(e,r);(!i||("get"in i?!e.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,i)}):(function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]})),hv=yn&&yn.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&TU(e,t,r)};Object.defineProperty(yn,"__esModule",{value:!0});yn.createProtocolConnection=void 0;var _U=lT();hv(lT(),yn);hv(pv(),yn);function EU(t,e,r,n){return(0,_U.createMessageConnection)(t,e,r,n)}yn.createProtocolConnection=EU});var Hv={};tn(Hv,{nodeReadFile:()=>HU});async function HU(){throw new Error("nowline: filesystem readers are unavailable in the browser embed")}var jv=bE(()=>{});var VH={};tn(VH,{EmbedRenderError:()=>Hu,__resetForTests:()=>zH,init:()=>_E,initialize:()=>HH,parse:()=>WH,render:()=>jH,run:()=>qH,sha:()=>XH,version:()=>BH});var wE="0.4.1",AE="b28a065";var WP=/did you mean ['"]?([^'"?]+)['"]?\??/i;function IE(t,e){return{severity:t.severity===2?"warning":"error",code:qP(t),message:t.message,suggestion:VP(t.message),file:e,line:(t.range?.start.line??0)+1,column:(t.range?.start.character??0)+1}}function SE(t,e){return{severity:"error",code:"parse-error",message:t.message,file:e,line:t.token?.startLine??1,column:t.token?.startColumn??1}}function vE(t,e){return{severity:"error",code:"lex-error",message:t.message,file:e,line:t.line??1,column:t.column??1}}function kE(t){return{severity:t.severity,code:"include",message:t.message,file:t.sourcePath,line:t.line!==void 0?t.line+1:1,column:1}}function NE(t,e,r="warning"){return{severity:r,code:"render.warning",message:t,file:e,line:1,column:1}}function qP(t){return typeof t.code=="string"&&t.code!==""?t.code:typeof t.code=="number"?String(t.code):zP(t.message)}function zP(t){let e=t.toLowerCase();return e.includes("duplicate identifier")?"duplicate-identifier":e.includes("unknown reference")||e.includes("did you mean")?"unknown-reference":e.includes("circular")?"circular-dependency":e.includes("requires")&&e.includes("date:")?"missing-date":e.includes("duration")?"duration":e.includes("include")?"include":e.includes("indent")?"indentation":"validation"}function VP(t){let e=t.match(WP);return e?e[1].trim():void 0}var PE="__nowline_browser_noop_include__";async function CE(t){throw new Error(`${PE}: include "${t}" was skipped \u2014 running in single-file mode.`)}function OE(t){return t.includes(PE)}var lt={};tn(lt,{AbstractAstReflection:()=>zi,AbstractCstNode:()=>dl,AbstractLangiumParser:()=>pl,AbstractParserErrorMessageProvider:()=>Md,AbstractThreadedAsyncParser:()=>OT,AstUtils:()=>Yu,BiMap:()=>Po,Cancellation:()=>ne,CompositeCstNodeImpl:()=>Io,ContextCache:()=>Co,CstNodeBuilder:()=>fl,CstUtils:()=>gf,DEFAULT_TOKENIZE_OPTIONS:()=>Np,DONE_RESULT:()=>Mt,DatatypeSymbol:()=>$d,DefaultAstNodeDescriptionProvider:()=>Nl,DefaultAstNodeLocator:()=>Cl,DefaultAsyncParser:()=>Zl,DefaultCommentProvider:()=>Kl,DefaultConfigurationProvider:()=>Ol,DefaultDocumentBuilder:()=>Hl,DefaultDocumentValidator:()=>kl,DefaultHydrator:()=>Ql,DefaultIndexManager:()=>jl,DefaultJsonSerializer:()=>Il,DefaultLangiumDocumentFactory:()=>yl,DefaultLangiumDocuments:()=>xl,DefaultLangiumProfiler:()=>MT,DefaultLexer:()=>Mo,DefaultLexerErrorMessageProvider:()=>ql,DefaultLinker:()=>Tl,DefaultNameProvider:()=>_l,DefaultReferenceDescriptionProvider:()=>Pl,DefaultReferences:()=>El,DefaultScopeComputation:()=>Rl,DefaultScopeProvider:()=>Al,DefaultServiceRegistry:()=>Sl,DefaultTokenBuilder:()=>vo,DefaultValueConverter:()=>ko,DefaultWorkspaceLock:()=>Jl,DefaultWorkspaceManager:()=>Wl,Deferred:()=>Jt,Disposable:()=>Ci,DisposableCache:()=>sa,DocumentCache:()=>qd,DocumentState:()=>he,DocumentValidator:()=>wr,EMPTY_SCOPE:()=>IF,EMPTY_STREAM:()=>Zn,EmptyFileSystem:()=>iu,EmptyFileSystemProvider:()=>Lp,ErrorWithLocation:()=>co,GrammarAST:()=>Sc,GrammarUtils:()=>gs,IndentationAwareLexer:()=>nu,IndentationAwareTokenBuilder:()=>va,JSDocDocumentationProvider:()=>Yl,LangiumCompletionParser:()=>ml,LangiumParser:()=>hl,LangiumParserErrorMessageProvider:()=>Qs,LeafCstNodeImpl:()=>Ao,LexingMode:()=>Uo,MapScope:()=>Qy,Module:()=>DT,MultiMap:()=>Bt,MultiMapScope:()=>bl,OperationCancelled:()=>br,ParserWorker:()=>LT,ProfilingTask:()=>$p,Reduction:()=>ts,RefResolving:()=>No,RegExpUtils:()=>Tf,RootCstNodeImpl:()=>Js,SimpleCache:()=>wl,StreamImpl:()=>ur,StreamScope:()=>oa,TextDocument:()=>ra,TreeStreamImpl:()=>rn,URI:()=>mt,UriTrie:()=>ia,UriUtils:()=>_t,VALIDATE_EACH_NODE:()=>XA,ValidationCategory:()=>zd,ValidationRegistry:()=>vl,ValueConverter:()=>dn,WorkspaceCache:()=>aa,assertCondition:()=>BE,assertUnreachable:()=>sn,createCompletionParser:()=>Xy,createDefaultCoreModule:()=>eu,createDefaultSharedCoreModule:()=>tu,createGrammarConfig:()=>zm,createLangiumParser:()=>Gy,createParser:()=>gl,delayNextTick:()=>Zy,diagnosticData:()=>Oo,eagerLoad:()=>Av,getDiagnosticRange:()=>GA,indentationBuilderDefaultOptions:()=>$T,inject:()=>Fo,interruptAndCheck:()=>ht,isAstNode:()=>pt,isAstNodeDescription:()=>nm,isAstNodeWithComment:()=>ex,isCompositeCstNode:()=>Or,isIMultiModeLexerDefinition:()=>ST,isJSDoc:()=>PT,isLeafCstNode:()=>Kn,isLinkingError:()=>Vi,isMultiReference:()=>lr,isNamed:()=>UA,isOperationCancelled:()=>pn,isReference:()=>wt,isRootCstNode:()=>mc,isTokenTypeArray:()=>Pp,isTokenTypeDictionary:()=>IT,loadGrammarFromJson:()=>Dp,parseJSDoc:()=>NT,prepareLangiumParser:()=>SA,setInterruptionPeriod:()=>LA,startCancelableOperation:()=>jd,stream:()=>me,toDiagnosticData:()=>HA,toDiagnosticSeverity:()=>Vd});var gf={};tn(gf,{DefaultNameRegexp:()=>mf,RangeComparison:()=>on,compareRange:()=>$E,findCommentNode:()=>vm,findDeclarationNodeAtOffset:()=>yC,findLeafNodeAtOffset:()=>km,findLeafNodeBeforeOffset:()=>ME,flattenCst:()=>gC,getDatatypeNode:()=>mC,getInteriorNodes:()=>_C,getNextNode:()=>xC,getPreviousNode:()=>UE,getStartlineNode:()=>TC,inRange:()=>am,isChildNode:()=>Sm,isCommentNode:()=>Im,streamCst:()=>so,toDocumentSegment:()=>ao,tokenToRange:()=>ds});function pt(t){return typeof t=="object"&&t!==null&&typeof t.$type=="string"}function wt(t){return typeof t=="object"&&t!==null&&typeof t.$refText=="string"&&"ref"in t}function lr(t){return typeof t=="object"&&t!==null&&typeof t.$refText=="string"&&"items"in t}function nm(t){return typeof t=="object"&&t!==null&&typeof t.name=="string"&&typeof t.type=="string"&&typeof t.path=="string"}function Vi(t){return typeof t=="object"&&t!==null&&typeof t.info=="object"&&typeof t.message=="string"}var zi=class{constructor(){this.subtypes={},this.allSubtypes={}}getAllTypes(){return Object.keys(this.types)}getReferenceType(e){let r=this.types[e.container.$type];if(!r)throw new Error(`Type ${e.container.$type||"undefined"} not found.`);let n=r.properties[e.property]?.referenceType;if(!n)throw new Error(`Property ${e.property||"undefined"} of type ${e.container.$type} is not a reference.`);return n}getTypeMetaData(e){let r=this.types[e];return r||{name:e,properties:{},superTypes:[]}}isInstance(e,r){return pt(e)&&this.isSubtype(e.$type,r)}isSubtype(e,r){if(e===r)return!0;let n=this.subtypes[e];n||(n=this.subtypes[e]={});let i=n[r];if(i!==void 0)return i;{let o=this.types[e],s=o?o.superTypes.some(a=>this.isSubtype(a,r)):!1;return n[r]=s,s}}getAllSubTypes(e){let r=this.allSubtypes[e];if(r)return r;{let n=this.getAllTypes(),i=[];for(let o of n)this.isSubtype(o,e)&&i.push(o);return this.allSubtypes[e]=i,i}}};function Or(t){return typeof t=="object"&&t!==null&&Array.isArray(t.content)}function Kn(t){return typeof t=="object"&&t!==null&&typeof t.tokenType=="object"}function mc(t){return Or(t)&&typeof t.fullText=="string"}var ur=class t{constructor(e,r){this.startFn=e,this.nextFn=r}iterator(){let e={state:this.startFn(),next:()=>this.nextFn(e.state),[Symbol.iterator]:()=>e};return e}[Symbol.iterator](){return this.iterator()}isEmpty(){return!!this.iterator().next().done}count(){let e=this.iterator(),r=0,n=e.next();for(;!n.done;)r++,n=e.next();return r}toArray(){let e=[],r=this.iterator(),n;do n=r.next(),n.value!==void 0&&e.push(n.value);while(!n.done);return e}toSet(){return new Set(this)}toMap(e,r){let n=this.map(i=>[e?e(i):i,r?r(i):i]);return new Map(n)}toString(){return this.join()}concat(e){return new t(()=>({first:this.startFn(),firstDone:!1,iterator:e[Symbol.iterator]()}),r=>{let n;if(!r.firstDone){do if(n=this.nextFn(r.first),!n.done)return n;while(!n.done);r.firstDone=!0}do if(n=r.iterator.next(),!n.done)return n;while(!n.done);return Mt})}join(e=","){let r=this.iterator(),n="",i,o=!1;do i=r.next(),i.done||(o&&(n+=e),n+=KP(i.value)),o=!0;while(!i.done);return n}indexOf(e,r=0){let n=this.iterator(),i=0,o=n.next();for(;!o.done;){if(i>=r&&o.value===e)return i;o=n.next(),i++}return-1}every(e){let r=this.iterator(),n=r.next();for(;!n.done;){if(!e(n.value))return!1;n=r.next()}return!0}some(e){let r=this.iterator(),n=r.next();for(;!n.done;){if(e(n.value))return!0;n=r.next()}return!1}forEach(e){let r=this.iterator(),n=0,i=r.next();for(;!i.done;)e(i.value,n),i=r.next(),n++}map(e){return new t(this.startFn,r=>{let{done:n,value:i}=this.nextFn(r);return n?Mt:{done:!1,value:e(i)}})}filter(e){return new t(this.startFn,r=>{let n;do if(n=this.nextFn(r),!n.done&&e(n.value))return n;while(!n.done);return Mt})}nonNullable(){return this.filter(e=>e!=null)}reduce(e,r){let n=this.iterator(),i=r,o=n.next();for(;!o.done;)i===void 0?i=o.value:i=e(i,o.value),o=n.next();return i}reduceRight(e,r){return this.recursiveReduce(this.iterator(),e,r)}recursiveReduce(e,r,n){let i=e.next();if(i.done)return n;let o=this.recursiveReduce(e,r,n);return o===void 0?i.value:r(o,i.value)}find(e){let r=this.iterator(),n=r.next();for(;!n.done;){if(e(n.value))return n.value;n=r.next()}}findIndex(e){let r=this.iterator(),n=0,i=r.next();for(;!i.done;){if(e(i.value))return n;i=r.next(),n++}return-1}includes(e){let r=this.iterator(),n=r.next();for(;!n.done;){if(n.value===e)return!0;n=r.next()}return!1}flatMap(e){return new t(()=>({this:this.startFn()}),r=>{do{if(r.iterator){let o=r.iterator.next();if(o.done)r.iterator=void 0;else return o}let{done:n,value:i}=this.nextFn(r.this);if(!n){let o=e(i);if(zu(o))r.iterator=o[Symbol.iterator]();else return{done:!1,value:o}}}while(r.iterator);return Mt})}flat(e){if(e===void 0&&(e=1),e<=0)return this;let r=e>1?this.flat(e-1):this;return new t(()=>({this:r.startFn()}),n=>{do{if(n.iterator){let s=n.iterator.next();if(s.done)n.iterator=void 0;else return s}let{done:i,value:o}=r.nextFn(n.this);if(!i)if(zu(o))n.iterator=o[Symbol.iterator]();else return{done:!1,value:o}}while(n.iterator);return Mt})}head(){let r=this.iterator().next();if(!r.done)return r.value}tail(e=1){return new t(()=>{let r=this.startFn();for(let n=0;n<e;n++)if(this.nextFn(r).done)return r;return r},this.nextFn)}limit(e){return new t(()=>({size:0,state:this.startFn()}),r=>(r.size++,r.size>e?Mt:this.nextFn(r.state)))}distinct(e){return new t(()=>({set:new Set,internalState:this.startFn()}),r=>{let n;do if(n=this.nextFn(r.internalState),!n.done){let i=e?e(n.value):n.value;if(!r.set.has(i))return r.set.add(i),n}while(!n.done);return Mt})}exclude(e,r){let n=new Set;for(let i of e){let o=r?r(i):i;n.add(o)}return this.filter(i=>{let o=r?r(i):i;return!n.has(o)})}};function KP(t){return typeof t=="string"?t:typeof t>"u"?"undefined":typeof t.toString=="function"?t.toString():Object.prototype.toString.call(t)}function zu(t){return!!t&&typeof t[Symbol.iterator]=="function"}var Zn=new ur(()=>{},()=>Mt),Mt=Object.freeze({done:!0,value:void 0});function me(...t){if(t.length===1){let e=t[0];if(e instanceof ur)return e;if(zu(e))return new ur(()=>e[Symbol.iterator](),r=>r.next());if(typeof e.length=="number")return new ur(()=>({index:0}),r=>r.index<e.length?{done:!1,value:e[r.index++]}:Mt)}return t.length>1?new ur(()=>({collIndex:0,arrIndex:0}),e=>{do{if(e.iterator){let r=e.iterator.next();if(!r.done)return r;e.iterator=void 0}if(e.array){if(e.arrIndex<e.array.length)return{done:!1,value:e.array[e.arrIndex++]};e.array=void 0,e.arrIndex=0}if(e.collIndex<t.length){let r=t[e.collIndex++];zu(r)?e.iterator=r[Symbol.iterator]():r&&typeof r.length=="number"&&(e.array=r)}}while(e.iterator||e.array||e.collIndex<t.length);return Mt}):Zn}var rn=class extends ur{constructor(e,r,n){super(()=>({iterators:n?.includeRoot?[[e][Symbol.iterator]()]:[r(e)[Symbol.iterator]()],pruned:!1}),i=>{for(i.pruned&&(i.iterators.pop(),i.pruned=!1);i.iterators.length>0;){let s=i.iterators[i.iterators.length-1].next();if(s.done)i.iterators.pop();else return i.iterators.push(r(s.value)[Symbol.iterator]()),s}return Mt})}iterator(){let e={state:this.startFn(),next:()=>this.nextFn(e.state),prune:()=>{e.state.pruned=!0},[Symbol.iterator]:()=>e};return e}},ts;(function(t){function e(o){return o.reduce((s,a)=>s+a,0)}t.sum=e;function r(o){return o.reduce((s,a)=>s*a,0)}t.product=r;function n(o){return o.reduce((s,a)=>Math.min(s,a))}t.min=n;function i(o){return o.reduce((s,a)=>Math.max(s,a))}t.max=i})(ts||(ts={}));var Yu={};tn(Yu,{assignMandatoryProperties:()=>sm,copyAstNode:()=>om,findRootNode:()=>ns,getContainerOfType:()=>An,getDocument:()=>Ft,getReferenceNodes:()=>Vu,hasContainerOfType:()=>ZP,linkContentToContainer:()=>rs,streamAllContents:()=>Lr,streamAst:()=>Wt,streamContents:()=>gc,streamReferences:()=>Jn});function rs(t,e={}){for(let[r,n]of Object.entries(t))r.startsWith("$")||(Array.isArray(n)?n.forEach((i,o)=>{pt(i)&&(i.$container=t,i.$containerProperty=r,i.$containerIndex=o,e.deep&&rs(i,e))}):pt(n)&&(n.$container=t,n.$containerProperty=r,e.deep&&rs(n,e)))}function An(t,e){let r=t;for(;r;){if(e(r))return r;r=r.$container}}function ZP(t,e){let r=t;for(;r;){if(e(r))return!0;r=r.$container}return!1}function Ft(t){let r=ns(t).$document;if(!r)throw new Error("AST node has no document.");return r}function ns(t){for(;t.$container;)t=t.$container;return t}function Vu(t){return wt(t)?t.ref?[t.ref]:[]:lr(t)?t.items.map(e=>e.ref):[]}function gc(t,e){if(!t)throw new Error("Node must be an AstNode.");let r=e?.range;return new ur(()=>({keys:Object.keys(t),keyIndex:0,arrayIndex:0}),n=>{for(;n.keyIndex<n.keys.length;){let i=n.keys[n.keyIndex];if(!i.startsWith("$")){let o=t[i];if(pt(o)){if(n.keyIndex++,im(o,r))return{done:!1,value:o}}else if(Array.isArray(o)){for(;n.arrayIndex<o.length;){let s=n.arrayIndex++,a=o[s];if(pt(a)&&im(a,r))return{done:!1,value:a}}n.arrayIndex=0}}n.keyIndex++}return Mt})}function Lr(t,e){if(!t)throw new Error("Root node must be an AstNode.");return new rn(t,r=>gc(r,e))}function Wt(t,e){if(t){if(e?.range&&!im(t,e.range))return new rn(t,()=>[])}else throw new Error("Root node must be an AstNode.");return new rn(t,r=>gc(r,e),{includeRoot:!0})}function im(t,e){if(!e)return!0;let r=t.$cstNode?.range;return r?am(r,e):!1}function Jn(t){return new ur(()=>({keys:Object.keys(t),keyIndex:0,arrayIndex:0}),e=>{for(;e.keyIndex<e.keys.length;){let r=e.keys[e.keyIndex];if(!r.startsWith("$")){let n=t[r];if(wt(n)||lr(n))return e.keyIndex++,{done:!1,value:{reference:n,container:t,property:r}};if(Array.isArray(n)){for(;e.arrayIndex<n.length;){let i=e.arrayIndex++,o=n[i];if(wt(o)||lr(n))return{done:!1,value:{reference:o,container:t,property:r,index:i}}}e.arrayIndex=0}}e.keyIndex++}return Mt})}function sm(t,e){let r=t.getTypeMetaData(e.$type),n=e;for(let i of Object.values(r.properties))i.defaultValue!==void 0&&n[i.name]===void 0&&(n[i.name]=LE(i.defaultValue))}function LE(t){return Array.isArray(t)?[...t.map(LE)]:t}function om(t,e,r){let n={$type:t.$type};r&&(r.set(t,n),r.set(n,t));for(let[i,o]of Object.entries(t))if(!i.startsWith("$"))if(pt(o))n[i]=om(o,e,r);else if(wt(o))n[i]=e(n,i,o.$refNode,o.$refText,o);else if(Array.isArray(o)){let s=[];for(let a of o)pt(a)?s.push(om(a,e,r)):wt(a)?s.push(e(n,i,a.$refNode,a.$refText,a)):s.push(a);n[i]=s}else n[i]=o;return rs(n,{deep:!0}),n}var Sc={};tn(Sc,{AbstractElement:()=>Qt,AbstractParserRule:()=>yc,AbstractRule:()=>is,AbstractType:()=>fr,Action:()=>Qn,Alternatives:()=>xc,ArrayLiteral:()=>Ku,ArrayType:()=>Zu,Assignment:()=>ei,BooleanLiteral:()=>Ju,CharacterRange:()=>ti,Condition:()=>ri,Conjunction:()=>Tc,CrossReference:()=>ni,Disjunction:()=>_c,EndOfFile:()=>Qu,Grammar:()=>In,GrammarImport:()=>ef,Group:()=>Yi,InferredType:()=>tf,InfixRule:()=>nn,InfixRuleOperatorList:()=>Ec,InfixRuleOperators:()=>rf,Interface:()=>os,Keyword:()=>ss,LangiumGrammarAstReflection:()=>fs,LangiumGrammarTerminals:()=>JP,NamedArgument:()=>as,NegatedToken:()=>Ki,Negation:()=>nf,NumberLiteral:()=>of,Parameter:()=>cs,ParameterReference:()=>sf,ParserRule:()=>Dr,ReferenceType:()=>Rc,RegexToken:()=>Zi,ReturnType:()=>af,RuleCall:()=>Ji,SimpleType:()=>ls,StringLiteral:()=>cf,TerminalAlternatives:()=>Qi,TerminalElement:()=>er,TerminalGroup:()=>eo,TerminalRule:()=>Sn,TerminalRuleCall:()=>to,Type:()=>bc,TypeAttribute:()=>ro,TypeDefinition:()=>no,UnionType:()=>lf,UnorderedGroup:()=>wc,UntilToken:()=>io,ValueLiteral:()=>oo,Wildcard:()=>us,isAbstractElement:()=>Ac,isAbstractParserRule:()=>vn,isAbstractRule:()=>QP,isAbstractType:()=>eC,isAction:()=>kn,isAlternatives:()=>uf,isArrayLiteral:()=>tC,isArrayType:()=>cm,isAssignment:()=>$r,isBooleanLiteral:()=>lm,isCharacterRange:()=>um,isCondition:()=>rC,isConjunction:()=>fm,isCrossReference:()=>Mr,isDisjunction:()=>dm,isEndOfFile:()=>pm,isGrammar:()=>nC,isGrammarImport:()=>iC,isGroup:()=>ii,isInferredType:()=>Ic,isInfixRule:()=>oi,isInfixRuleOperatorList:()=>oC,isInfixRuleOperators:()=>sC,isInterface:()=>hm,isKeyword:()=>Er,isNamedArgument:()=>aC,isNegatedToken:()=>mm,isNegation:()=>gm,isNumberLiteral:()=>cC,isParameter:()=>lC,isParameterReference:()=>ym,isParserRule:()=>St,isReferenceType:()=>xm,isRegexToken:()=>Tm,isReturnType:()=>_m,isRuleCall:()=>Fr,isSimpleType:()=>ff,isStringLiteral:()=>uC,isTerminalAlternatives:()=>Em,isTerminalElement:()=>fC,isTerminalGroup:()=>Rm,isTerminalRule:()=>qt,isTerminalRuleCall:()=>df,isType:()=>pf,isTypeAttribute:()=>dC,isTypeDefinition:()=>pC,isUnionType:()=>bm,isUnorderedGroup:()=>hf,isUntilToken:()=>wm,isValueLiteral:()=>hC,isWildcard:()=>Am,reflection:()=>re});var JP={ID:/\^?[_a-zA-Z][\w_]*/,STRING:/"(\\.|[^"\\])*"|'(\\.|[^'\\])*'/,NUMBER:/NaN|-?((\d*\.\d+|\d+)([Ee][+-]?\d+)?|Infinity)/,RegexLiteral:/\/(?![*+?])(?:[^\r\n\[/\\]|\\.|\[(?:[^\r\n\]\\]|\\.)*\])+\/[a-z]*/,WS:/\s+/,ML_COMMENT:/\/\*[\s\S]*?\*\//,SL_COMMENT:/\/\/[^\n\r]*/},Qt={$type:"AbstractElement",cardinality:"cardinality"};function Ac(t){return re.isInstance(t,Qt.$type)}var yc={$type:"AbstractParserRule"};function vn(t){return re.isInstance(t,yc.$type)}var is={$type:"AbstractRule"};function QP(t){return re.isInstance(t,is.$type)}var fr={$type:"AbstractType"};function eC(t){return re.isInstance(t,fr.$type)}var Qn={$type:"Action",cardinality:"cardinality",feature:"feature",inferredType:"inferredType",operator:"operator",type:"type"};function kn(t){return re.isInstance(t,Qn.$type)}var xc={$type:"Alternatives",cardinality:"cardinality",elements:"elements"};function uf(t){return re.isInstance(t,xc.$type)}var Ku={$type:"ArrayLiteral",elements:"elements"};function tC(t){return re.isInstance(t,Ku.$type)}var Zu={$type:"ArrayType",elementType:"elementType"};function cm(t){return re.isInstance(t,Zu.$type)}var ei={$type:"Assignment",cardinality:"cardinality",feature:"feature",operator:"operator",predicate:"predicate",terminal:"terminal"};function $r(t){return re.isInstance(t,ei.$type)}var Ju={$type:"BooleanLiteral",true:"true"};function lm(t){return re.isInstance(t,Ju.$type)}var ti={$type:"CharacterRange",cardinality:"cardinality",left:"left",lookahead:"lookahead",parenthesized:"parenthesized",right:"right"};function um(t){return re.isInstance(t,ti.$type)}var ri={$type:"Condition"};function rC(t){return re.isInstance(t,ri.$type)}var Tc={$type:"Conjunction",left:"left",right:"right"};function fm(t){return re.isInstance(t,Tc.$type)}var ni={$type:"CrossReference",cardinality:"cardinality",deprecatedSyntax:"deprecatedSyntax",isMulti:"isMulti",terminal:"terminal",type:"type"};function Mr(t){return re.isInstance(t,ni.$type)}var _c={$type:"Disjunction",left:"left",right:"right"};function dm(t){return re.isInstance(t,_c.$type)}var Qu={$type:"EndOfFile",cardinality:"cardinality"};function pm(t){return re.isInstance(t,Qu.$type)}var In={$type:"Grammar",imports:"imports",interfaces:"interfaces",isDeclared:"isDeclared",name:"name",rules:"rules",types:"types"};function nC(t){return re.isInstance(t,In.$type)}var ef={$type:"GrammarImport",path:"path"};function iC(t){return re.isInstance(t,ef.$type)}var Yi={$type:"Group",cardinality:"cardinality",elements:"elements",guardCondition:"guardCondition",predicate:"predicate"};function ii(t){return re.isInstance(t,Yi.$type)}var tf={$type:"InferredType",name:"name"};function Ic(t){return re.isInstance(t,tf.$type)}var nn={$type:"InfixRule",call:"call",dataType:"dataType",inferredType:"inferredType",name:"name",operators:"operators",parameters:"parameters",returnType:"returnType"};function oi(t){return re.isInstance(t,nn.$type)}var Ec={$type:"InfixRuleOperatorList",associativity:"associativity",operators:"operators"};function oC(t){return re.isInstance(t,Ec.$type)}var rf={$type:"InfixRuleOperators",precedences:"precedences"};function sC(t){return re.isInstance(t,rf.$type)}var os={$type:"Interface",attributes:"attributes",name:"name",superTypes:"superTypes"};function hm(t){return re.isInstance(t,os.$type)}var ss={$type:"Keyword",cardinality:"cardinality",predicate:"predicate",value:"value"};function Er(t){return re.isInstance(t,ss.$type)}var as={$type:"NamedArgument",calledByName:"calledByName",parameter:"parameter",value:"value"};function aC(t){return re.isInstance(t,as.$type)}var Ki={$type:"NegatedToken",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized",terminal:"terminal"};function mm(t){return re.isInstance(t,Ki.$type)}var nf={$type:"Negation",value:"value"};function gm(t){return re.isInstance(t,nf.$type)}var of={$type:"NumberLiteral",value:"value"};function cC(t){return re.isInstance(t,of.$type)}var cs={$type:"Parameter",name:"name"};function lC(t){return re.isInstance(t,cs.$type)}var sf={$type:"ParameterReference",parameter:"parameter"};function ym(t){return re.isInstance(t,sf.$type)}var Dr={$type:"ParserRule",dataType:"dataType",definition:"definition",entry:"entry",fragment:"fragment",inferredType:"inferredType",name:"name",parameters:"parameters",returnType:"returnType"};function St(t){return re.isInstance(t,Dr.$type)}var Rc={$type:"ReferenceType",isMulti:"isMulti",referenceType:"referenceType"};function xm(t){return re.isInstance(t,Rc.$type)}var Zi={$type:"RegexToken",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized",regex:"regex"};function Tm(t){return re.isInstance(t,Zi.$type)}var af={$type:"ReturnType",name:"name"};function _m(t){return re.isInstance(t,af.$type)}var Ji={$type:"RuleCall",arguments:"arguments",cardinality:"cardinality",predicate:"predicate",rule:"rule"};function Fr(t){return re.isInstance(t,Ji.$type)}var ls={$type:"SimpleType",primitiveType:"primitiveType",stringType:"stringType",typeRef:"typeRef"};function ff(t){return re.isInstance(t,ls.$type)}var cf={$type:"StringLiteral",value:"value"};function uC(t){return re.isInstance(t,cf.$type)}var Qi={$type:"TerminalAlternatives",cardinality:"cardinality",elements:"elements",lookahead:"lookahead",parenthesized:"parenthesized"};function Em(t){return re.isInstance(t,Qi.$type)}var er={$type:"TerminalElement",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized"};function fC(t){return re.isInstance(t,er.$type)}var eo={$type:"TerminalGroup",cardinality:"cardinality",elements:"elements",lookahead:"lookahead",parenthesized:"parenthesized"};function Rm(t){return re.isInstance(t,eo.$type)}var Sn={$type:"TerminalRule",definition:"definition",fragment:"fragment",hidden:"hidden",name:"name",type:"type"};function qt(t){return re.isInstance(t,Sn.$type)}var to={$type:"TerminalRuleCall",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized",rule:"rule"};function df(t){return re.isInstance(t,to.$type)}var bc={$type:"Type",name:"name",type:"type"};function pf(t){return re.isInstance(t,bc.$type)}var ro={$type:"TypeAttribute",defaultValue:"defaultValue",isOptional:"isOptional",name:"name",type:"type"};function dC(t){return re.isInstance(t,ro.$type)}var no={$type:"TypeDefinition"};function pC(t){return re.isInstance(t,no.$type)}var lf={$type:"UnionType",types:"types"};function bm(t){return re.isInstance(t,lf.$type)}var wc={$type:"UnorderedGroup",cardinality:"cardinality",elements:"elements"};function hf(t){return re.isInstance(t,wc.$type)}var io={$type:"UntilToken",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized",terminal:"terminal"};function wm(t){return re.isInstance(t,io.$type)}var oo={$type:"ValueLiteral"};function hC(t){return re.isInstance(t,oo.$type)}var us={$type:"Wildcard",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized"};function Am(t){return re.isInstance(t,us.$type)}var fs=class extends zi{constructor(){super(...arguments),this.types={AbstractElement:{name:Qt.$type,properties:{cardinality:{name:Qt.cardinality}},superTypes:[]},AbstractParserRule:{name:yc.$type,properties:{},superTypes:[is.$type,fr.$type]},AbstractRule:{name:is.$type,properties:{},superTypes:[]},AbstractType:{name:fr.$type,properties:{},superTypes:[]},Action:{name:Qn.$type,properties:{cardinality:{name:Qn.cardinality},feature:{name:Qn.feature},inferredType:{name:Qn.inferredType},operator:{name:Qn.operator},type:{name:Qn.type,referenceType:fr.$type}},superTypes:[Qt.$type]},Alternatives:{name:xc.$type,properties:{cardinality:{name:xc.cardinality},elements:{name:xc.elements,defaultValue:[]}},superTypes:[Qt.$type]},ArrayLiteral:{name:Ku.$type,properties:{elements:{name:Ku.elements,defaultValue:[]}},superTypes:[oo.$type]},ArrayType:{name:Zu.$type,properties:{elementType:{name:Zu.elementType}},superTypes:[no.$type]},Assignment:{name:ei.$type,properties:{cardinality:{name:ei.cardinality},feature:{name:ei.feature},operator:{name:ei.operator},predicate:{name:ei.predicate},terminal:{name:ei.terminal}},superTypes:[Qt.$type]},BooleanLiteral:{name:Ju.$type,properties:{true:{name:Ju.true,defaultValue:!1}},superTypes:[ri.$type,oo.$type]},CharacterRange:{name:ti.$type,properties:{cardinality:{name:ti.cardinality},left:{name:ti.left},lookahead:{name:ti.lookahead},parenthesized:{name:ti.parenthesized,defaultValue:!1},right:{name:ti.right}},superTypes:[er.$type]},Condition:{name:ri.$type,properties:{},superTypes:[]},Conjunction:{name:Tc.$type,properties:{left:{name:Tc.left},right:{name:Tc.right}},superTypes:[ri.$type]},CrossReference:{name:ni.$type,properties:{cardinality:{name:ni.cardinality},deprecatedSyntax:{name:ni.deprecatedSyntax,defaultValue:!1},isMulti:{name:ni.isMulti,defaultValue:!1},terminal:{name:ni.terminal},type:{name:ni.type,referenceType:fr.$type}},superTypes:[Qt.$type]},Disjunction:{name:_c.$type,properties:{left:{name:_c.left},right:{name:_c.right}},superTypes:[ri.$type]},EndOfFile:{name:Qu.$type,properties:{cardinality:{name:Qu.cardinality}},superTypes:[Qt.$type]},Grammar:{name:In.$type,properties:{imports:{name:In.imports,defaultValue:[]},interfaces:{name:In.interfaces,defaultValue:[]},isDeclared:{name:In.isDeclared,defaultValue:!1},name:{name:In.name},rules:{name:In.rules,defaultValue:[]},types:{name:In.types,defaultValue:[]}},superTypes:[]},GrammarImport:{name:ef.$type,properties:{path:{name:ef.path}},superTypes:[]},Group:{name:Yi.$type,properties:{cardinality:{name:Yi.cardinality},elements:{name:Yi.elements,defaultValue:[]},guardCondition:{name:Yi.guardCondition},predicate:{name:Yi.predicate}},superTypes:[Qt.$type]},InferredType:{name:tf.$type,properties:{name:{name:tf.name}},superTypes:[fr.$type]},InfixRule:{name:nn.$type,properties:{call:{name:nn.call},dataType:{name:nn.dataType},inferredType:{name:nn.inferredType},name:{name:nn.name},operators:{name:nn.operators},parameters:{name:nn.parameters,defaultValue:[]},returnType:{name:nn.returnType,referenceType:fr.$type}},superTypes:[yc.$type]},InfixRuleOperatorList:{name:Ec.$type,properties:{associativity:{name:Ec.associativity},operators:{name:Ec.operators,defaultValue:[]}},superTypes:[]},InfixRuleOperators:{name:rf.$type,properties:{precedences:{name:rf.precedences,defaultValue:[]}},superTypes:[]},Interface:{name:os.$type,properties:{attributes:{name:os.attributes,defaultValue:[]},name:{name:os.name},superTypes:{name:os.superTypes,defaultValue:[],referenceType:fr.$type}},superTypes:[fr.$type]},Keyword:{name:ss.$type,properties:{cardinality:{name:ss.cardinality},predicate:{name:ss.predicate},value:{name:ss.value}},superTypes:[Qt.$type]},NamedArgument:{name:as.$type,properties:{calledByName:{name:as.calledByName,defaultValue:!1},parameter:{name:as.parameter,referenceType:cs.$type},value:{name:as.value}},superTypes:[]},NegatedToken:{name:Ki.$type,properties:{cardinality:{name:Ki.cardinality},lookahead:{name:Ki.lookahead},parenthesized:{name:Ki.parenthesized,defaultValue:!1},terminal:{name:Ki.terminal}},superTypes:[er.$type]},Negation:{name:nf.$type,properties:{value:{name:nf.value}},superTypes:[ri.$type]},NumberLiteral:{name:of.$type,properties:{value:{name:of.value}},superTypes:[oo.$type]},Parameter:{name:cs.$type,properties:{name:{name:cs.name}},superTypes:[]},ParameterReference:{name:sf.$type,properties:{parameter:{name:sf.parameter,referenceType:cs.$type}},superTypes:[ri.$type]},ParserRule:{name:Dr.$type,properties:{dataType:{name:Dr.dataType},definition:{name:Dr.definition},entry:{name:Dr.entry,defaultValue:!1},fragment:{name:Dr.fragment,defaultValue:!1},inferredType:{name:Dr.inferredType},name:{name:Dr.name},parameters:{name:Dr.parameters,defaultValue:[]},returnType:{name:Dr.returnType,referenceType:fr.$type}},superTypes:[yc.$type]},ReferenceType:{name:Rc.$type,properties:{isMulti:{name:Rc.isMulti,defaultValue:!1},referenceType:{name:Rc.referenceType}},superTypes:[no.$type]},RegexToken:{name:Zi.$type,properties:{cardinality:{name:Zi.cardinality},lookahead:{name:Zi.lookahead},parenthesized:{name:Zi.parenthesized,defaultValue:!1},regex:{name:Zi.regex}},superTypes:[er.$type]},ReturnType:{name:af.$type,properties:{name:{name:af.name}},superTypes:[]},RuleCall:{name:Ji.$type,properties:{arguments:{name:Ji.arguments,defaultValue:[]},cardinality:{name:Ji.cardinality},predicate:{name:Ji.predicate},rule:{name:Ji.rule,referenceType:is.$type}},superTypes:[Qt.$type]},SimpleType:{name:ls.$type,properties:{primitiveType:{name:ls.primitiveType},stringType:{name:ls.stringType},typeRef:{name:ls.typeRef,referenceType:fr.$type}},superTypes:[no.$type]},StringLiteral:{name:cf.$type,properties:{value:{name:cf.value}},superTypes:[oo.$type]},TerminalAlternatives:{name:Qi.$type,properties:{cardinality:{name:Qi.cardinality},elements:{name:Qi.elements,defaultValue:[]},lookahead:{name:Qi.lookahead},parenthesized:{name:Qi.parenthesized,defaultValue:!1}},superTypes:[er.$type]},TerminalElement:{name:er.$type,properties:{cardinality:{name:er.cardinality},lookahead:{name:er.lookahead},parenthesized:{name:er.parenthesized,defaultValue:!1}},superTypes:[Qt.$type]},TerminalGroup:{name:eo.$type,properties:{cardinality:{name:eo.cardinality},elements:{name:eo.elements,defaultValue:[]},lookahead:{name:eo.lookahead},parenthesized:{name:eo.parenthesized,defaultValue:!1}},superTypes:[er.$type]},TerminalRule:{name:Sn.$type,properties:{definition:{name:Sn.definition},fragment:{name:Sn.fragment,defaultValue:!1},hidden:{name:Sn.hidden,defaultValue:!1},name:{name:Sn.name},type:{name:Sn.type}},superTypes:[is.$type]},TerminalRuleCall:{name:to.$type,properties:{cardinality:{name:to.cardinality},lookahead:{name:to.lookahead},parenthesized:{name:to.parenthesized,defaultValue:!1},rule:{name:to.rule,referenceType:Sn.$type}},superTypes:[er.$type]},Type:{name:bc.$type,properties:{name:{name:bc.name},type:{name:bc.type}},superTypes:[fr.$type]},TypeAttribute:{name:ro.$type,properties:{defaultValue:{name:ro.defaultValue},isOptional:{name:ro.isOptional,defaultValue:!1},name:{name:ro.name},type:{name:ro.type}},superTypes:[]},TypeDefinition:{name:no.$type,properties:{},superTypes:[]},UnionType:{name:lf.$type,properties:{types:{name:lf.types,defaultValue:[]}},superTypes:[no.$type]},UnorderedGroup:{name:wc.$type,properties:{cardinality:{name:wc.cardinality},elements:{name:wc.elements,defaultValue:[]}},superTypes:[Qt.$type]},UntilToken:{name:io.$type,properties:{cardinality:{name:io.cardinality},lookahead:{name:io.lookahead},parenthesized:{name:io.parenthesized,defaultValue:!1},terminal:{name:io.terminal}},superTypes:[er.$type]},ValueLiteral:{name:oo.$type,properties:{},superTypes:[]},Wildcard:{name:us.$type,properties:{cardinality:{name:us.cardinality},lookahead:{name:us.lookahead},parenthesized:{name:us.parenthesized,defaultValue:!1}},superTypes:[er.$type]}}}},re=new fs;function mC(t){let e=t,r=!1;for(;e;){let n=An(e.grammarSource,St);if(n&&n.dataType)e=e.container,r=!0;else return r?e:void 0}}function so(t){return new rn(t,e=>Or(e)?e.content:[],{includeRoot:!0})}function gC(t){return so(t).filter(Kn)}function Sm(t,e){for(;t.container;)if(t=t.container,t===e)return!0;return!1}function ds(t){return{start:{character:t.startColumn-1,line:t.startLine-1},end:{character:t.endColumn,line:t.endLine-1}}}function ao(t){if(!t)return;let{offset:e,end:r,range:n}=t;return{range:n,offset:e,end:r,length:r-e}}var on;(function(t){t[t.Before=0]="Before",t[t.After=1]="After",t[t.OverlapFront=2]="OverlapFront",t[t.OverlapBack=3]="OverlapBack",t[t.Inside=4]="Inside",t[t.Outside=5]="Outside"})(on||(on={}));function $E(t,e){if(t.end.line<e.start.line||t.end.line===e.start.line&&t.end.character<=e.start.character)return on.Before;if(t.start.line>e.end.line||t.start.line===e.end.line&&t.start.character>=e.end.character)return on.After;let r=t.start.line>e.start.line||t.start.line===e.start.line&&t.start.character>=e.start.character,n=t.end.line<e.end.line||t.end.line===e.end.line&&t.end.character<=e.end.character;return r&&n?on.Inside:r?on.OverlapBack:n?on.OverlapFront:on.Outside}function am(t,e){return $E(t,e)>on.After}var mf=/^[\w\p{L}]$/u;function yC(t,e,r=mf){if(t){if(e>0){let n=e-t.offset,i=t.text.charAt(n);r.test(i)||e--}return km(t,e)}}function vm(t,e){if(t){let r=UE(t,!0);if(r&&Im(r,e))return r;if(mc(t)){let n=t.content.findIndex(i=>!i.hidden);for(let i=n-1;i>=0;i--){let o=t.content[i];if(Im(o,e))return o}}}}function Im(t,e){return Kn(t)&&e.includes(t.tokenType.name)}function km(t,e){if(Kn(t))return t;if(Or(t)){let r=FE(t,e,!1);if(r)return km(r,e)}}function ME(t,e){if(Kn(t))return t;if(Or(t)){let r=FE(t,e,!0);if(r)return ME(r,e)}}function FE(t,e,r){let n=0,i=t.content.length-1,o;for(;n<=i;){let s=Math.floor((n+i)/2),a=t.content[s];if(a.offset<=e&&a.end>e)return a;a.end<=e?(o=r?a:void 0,n=s+1):i=s-1}return o}function UE(t,e=!0){for(;t.container;){let r=t.container,n=r.content.indexOf(t);for(;n>0;){n--;let i=r.content[n];if(e||!i.hidden)return i}t=r}}function xC(t,e=!0){for(;t.container;){let r=t.container,n=r.content.indexOf(t),i=r.content.length-1;for(;n<i;){n++;let o=r.content[n];if(e||!o.hidden)return o}t=r}}function TC(t){if(t.range.start.character===0)return t;let e=t.range.start.line,r=t,n;for(;t.container;){let i=t.container,o=n??i.content.indexOf(t);if(o===0?(t=i,n=void 0):(n=o-1,t=i.content[n]),t.range.start.line!==e)break;r=t}return r}function _C(t,e){let r=EC(t,e);return r?r.parent.content.slice(r.a+1,r.b):[]}function EC(t,e){let r=DE(t),n=DE(e),i;for(let o=0;o<r.length&&o<n.length;o++){let s=r[o],a=n[o];if(s.parent===a.parent)i={parent:s.parent,a:s.index,b:a.index};else break}return i}function DE(t){let e=[];for(;t.container;){let r=t.container,n=r.content.indexOf(t);e.push({parent:r,index:n}),t=r}return e.reverse()}var gs={};tn(gs,{findAssignment:()=>jm,findNameAssignment:()=>_f,findNodeForKeyword:()=>Gm,findNodeForProperty:()=>Oc,findNodesForKeyword:()=>IC,findNodesForKeywordInternal:()=>Hm,findNodesForProperty:()=>Bm,getActionAtElement:()=>VE,getActionType:()=>KE,getAllReachableRules:()=>Cc,getAllRulesUsedForCrossReferences:()=>AC,getCrossReferenceTerminal:()=>Fm,getEntryRule:()=>jE,getExplicitRuleType:()=>Ef,getHiddenRules:()=>WE,getRuleType:()=>Wm,getRuleTypeName:()=>PC,getTypeName:()=>ai,isArrayCardinality:()=>vC,isArrayOperator:()=>kC,isCommentTerminal:()=>Um,isDataType:()=>NC,isDataTypeRule:()=>Lc,isOptionalCardinality:()=>SC,terminalRegex:()=>hs});var co=class extends Error{constructor(e,r){super(e?`${r} at ${e.range.start.line}:${e.range.start.character}`:r)}};function sn(t,e="Error: Got unexpected value."){throw new Error(e)}function BE(t,e="Error: Condition is violated."){if(!t)throw new Error(e)}var Tf={};tn(Tf,{NEWLINE_REGEXP:()=>Om,escapeRegExp:()=>si,getTerminalParts:()=>wC,isMultilineComment:()=>Lm,isWhitespace:()=>Pc,partialMatches:()=>Dm,partialRegExp:()=>HE,whitespaceCharacters:()=>GE});function oe(t){return t.charCodeAt(0)}function yf(t,e){Array.isArray(t)?t.forEach(function(r){e.push(r)}):e.push(t)}function ps(t,e){if(t[e]===!0)throw"duplicate flag "+e;let r=t[e];t[e]=!0}function lo(t){if(t===void 0)throw Error("Internal Error - Should never get here!");return!0}function vc(){throw Error("Internal Error - Should never get here!")}function Nm(t){return t.type==="Character"}var kc=[];for(let t=oe("0");t<=oe("9");t++)kc.push(t);var Nc=[oe("_")].concat(kc);for(let t=oe("a");t<=oe("z");t++)Nc.push(t);for(let t=oe("A");t<=oe("Z");t++)Nc.push(t);var Pm=[oe(" "),oe("\f"),oe(`
|
|
37
|
-
`),
|
|
38
|
-
`),
|
|
39
|
-
`);break;case"r":e=
|
|
40
|
-
`:case"\r":case"\u2028":case"\u2029":case"\\":case"]":throw Error("TBD");default:let e=this.popChar();return{type:"Character",value:
|
|
41
|
-
`:case"\r":case"\u2028":case"\u2029":throw Error("TBD");case"\\":return this.classEscape();default:return this.classPatternCharacterAtom()}}classEscape(){switch(this.consumeChar("\\"),this.peekChar()){case"b":return this.consumeChar("b"),{type:"Character",value:
|
|
42
|
-
`:case"\r":case"\u2028":case"\u2029":case"^":case"$":case"\\":case".":case"*":case"+":case"?":case"(":case")":case"[":case"|":throw Error("TBD");default:return{type:"Character",value:
|
|
36
|
+
`)),C){let Y=x.error?` Request failed: ${x.error.message} (${x.error.code}).`:"";D.log(`Received response '${C.method} - (${x.id})' in ${Date.now()-C.timerStart}ms.${Y}`,j)}else D.log(`Received response ${x.id} without active response promise.`,j)}else _r("receive-response",x)}function _r(x,C){if(!D||E===Me.Off)return;let j={isLSPMessage:!0,type:x,message:C,timestamp:Date.now()};D.log(j)}function Or(){if(X())throw new Ra(ql.Closed,"Connection is closed.");if(F())throw new Ra(ql.Disposed,"Connection is disposed.")}function cs(){if(M())throw new Ra(ql.AlreadyListening,"Connection is already listening")}function _e(){if(!M())throw new Error("Call listen() first.")}function Lr(x){return x===void 0?null:x}function Qi(x){if(x!==null)return x}function In(x){return x!=null&&!Array.isArray(x)&&typeof x=="object"}function Er(x,C){switch(x){case ce.ParameterStructures.auto:return In(C)?Qi(C):[Lr(C)];case ce.ParameterStructures.byName:if(!In(C))throw new Error("Received parameters by name but param is not an object literal.");return Qi(C);case ce.ParameterStructures.byPosition:return[Lr(C)];default:throw new Error(`Unknown parameter structure ${x.toString()}`)}}function jt(x,C){let j,Y=x.numberOfParams;switch(Y){case 0:j=void 0;break;case 1:j=Er(x.parameterStructures,C[0]);break;default:j=[];for(let $e=0;$e<C.length&&$e<Y;$e++)j.push(Lr(C[$e]));if(C.length<Y)for(let $e=C.length;$e<Y;$e++)j.push(null);break}return j}let At={sendNotification:(x,...C)=>{Or();let j,Y;if(mt.string(x)){j=x;let Pe=C[0],qe=0,Ze=ce.ParameterStructures.auto;ce.ParameterStructures.is(Pe)&&(qe=1,Ze=Pe);let ge=C.length,Ue=ge-qe;switch(Ue){case 0:Y=void 0;break;case 1:Y=Er(Ze,C[qe]);break;default:if(Ze===ce.ParameterStructures.byName)throw new Error(`Received ${Ue} parameters for 'by Name' notification parameter structure.`);Y=C.slice(qe,ge).map(Ae=>Lr(Ae));break}}else{let Pe=C;j=x.method,Y=jt(x,Pe)}let $e={jsonrpc:c,method:j,params:Y};return me($e),e.write($e).catch(Pe=>{throw i.error("Sending notification failed."),Pe})},onNotification:(x,C)=>{Or();let j;return mt.func(x)?f=x:C&&(mt.string(x)?(j=x,d.set(x,{type:void 0,handler:C})):(j=x.method,d.set(x.method,{type:x,handler:C}))),{dispose:()=>{j!==void 0?d.delete(j):f=void 0}}},onProgress:(x,C,j)=>{if(p.has(C))throw new Error(`Progress handler for token ${C} already registered`);return p.set(C,j),{dispose:()=>{p.delete(C)}}},sendProgress:(x,C,j)=>At.sendNotification(zl.type,{token:C,value:j}),onUnhandledProgress:le.event,sendRequest:(x,...C)=>{Or(),_e();let j,Y,$e;if(mt.string(x)){j=x;let ge=C[0],Ue=C[C.length-1],Ae=0,Je=ce.ParameterStructures.auto;ce.ParameterStructures.is(ge)&&(Ae=1,Je=ge);let st=C.length;lT.CancellationToken.is(Ue)&&(st=st-1,$e=Ue);let Qt=st-Ae;switch(Qt){case 0:Y=void 0;break;case 1:Y=Er(Je,C[Ae]);break;default:if(Je===ce.ParameterStructures.byName)throw new Error(`Received ${Qt} parameters for 'by Name' request parameter structure.`);Y=C.slice(Ae,st).map(ls=>Lr(ls));break}}else{let ge=C;j=x.method,Y=jt(x,ge);let Ue=x.numberOfParams;$e=lT.CancellationToken.is(ge[Ue])?ge[Ue]:void 0}let Pe=o++,qe;$e&&(qe=$e.onCancellationRequested(()=>{let ge=R.sender.sendCancellation(At,Pe);return ge===void 0?(i.log(`Received no promise from cancellation strategy when cancelling id ${Pe}`),Promise.resolve()):ge.catch(()=>{i.log(`Sending cancellation messages for id ${Pe} failed`)})}));let Ze={jsonrpc:c,id:Pe,method:j,params:Y};return we(Ze),typeof R.sender.enableCancellation=="function"&&R.sender.enableCancellation(Ze),new Promise(async(ge,Ue)=>{let Ae=Qt=>{ge(Qt),R.sender.cleanup(Pe),qe?.dispose()},Je=Qt=>{Ue(Qt),R.sender.cleanup(Pe),qe?.dispose()},st={method:j,timerStart:Date.now(),resolve:Ae,reject:Je};try{await e.write(Ze),v.set(Pe,st)}catch(Qt){throw i.error("Sending request failed."),st.reject(new ce.ResponseError(ce.ErrorCodes.MessageWriteError,Qt.message?Qt.message:"Unknown reason")),Qt}})},onRequest:(x,C)=>{Or();let j=null;return dT.is(x)?(j=void 0,l=x):mt.string(x)?(j=null,C!==void 0&&(j=x,u.set(x,{handler:C,type:void 0}))):C!==void 0&&(j=x.method,u.set(x.method,{type:x,handler:C})),{dispose:()=>{j!==null&&(j!==void 0?u.delete(j):l=void 0)}}},hasPendingResponse:()=>v.size>0,trace:async(x,C,j)=>{let Y=!1,$e=mr.Text;j!==void 0&&(mt.boolean(j)?Y=j:(Y=j.sendNotification||!1,$e=j.traceFormat||mr.Text)),E=x,I=$e,E===Me.Off?D=void 0:D=C,Y&&!X()&&!F()&&await At.sendNotification(pT.type,{value:Me.toString(x)})},onError:B.event,onClose:U.event,onUnhandledNotification:z.event,onDispose:O.event,end:()=>{e.end()},dispose:()=>{if(F())return;k=zr.Disposed,O.fire(void 0);let x=new ce.ResponseError(ce.ErrorCodes.PendingResponseRejected,"Pending response rejected since connection got disposed");for(let C of v.values())C.reject(x);v=new Map,_=new Map,T=new Set,g=new Nw.LinkedMap,mt.func(e.dispose)&&e.dispose(),mt.func(t.dispose)&&t.dispose()},listen:()=>{Or(),cs(),k=zr.Listening,t.listen(Ne)},inspect:()=>{(0,kw.default)().console.log("inspect")}};return At.onNotification(xp.type,x=>{if(E===Me.Off||!D)return;let C=E===Me.Verbose||E===Me.Compact;D.log(x.message,C?x.verbose:void 0)}),At.onNotification(zl.type,x=>{let C=p.get(x.token);C?C(x.value):le.fire(x)}),At}he.createMessageConnection=C2});var bp=fe(N=>{"use strict";Object.defineProperty(N,"__esModule",{value:!0});N.ProgressType=N.ProgressToken=N.createMessageConnection=N.NullLogger=N.ConnectionOptions=N.ConnectionStrategy=N.AbstractMessageBuffer=N.WriteableStreamMessageWriter=N.AbstractMessageWriter=N.MessageWriter=N.ReadableStreamMessageReader=N.AbstractMessageReader=N.MessageReader=N.SharedArrayReceiverStrategy=N.SharedArraySenderStrategy=N.CancellationToken=N.CancellationTokenSource=N.Emitter=N.Event=N.Disposable=N.LRUCache=N.Touch=N.LinkedMap=N.ParameterStructures=N.NotificationType9=N.NotificationType8=N.NotificationType7=N.NotificationType6=N.NotificationType5=N.NotificationType4=N.NotificationType3=N.NotificationType2=N.NotificationType1=N.NotificationType0=N.NotificationType=N.ErrorCodes=N.ResponseError=N.RequestType9=N.RequestType8=N.RequestType7=N.RequestType6=N.RequestType5=N.RequestType4=N.RequestType3=N.RequestType2=N.RequestType1=N.RequestType0=N.RequestType=N.Message=N.RAL=void 0;N.MessageStrategy=N.CancellationStrategy=N.CancellationSenderStrategy=N.CancellationReceiverStrategy=N.ConnectionError=N.ConnectionErrors=N.LogTraceNotification=N.SetTraceNotification=N.TraceFormat=N.TraceValues=N.Trace=void 0;var rt=Gx();Object.defineProperty(N,"Message",{enumerable:!0,get:function(){return rt.Message}});Object.defineProperty(N,"RequestType",{enumerable:!0,get:function(){return rt.RequestType}});Object.defineProperty(N,"RequestType0",{enumerable:!0,get:function(){return rt.RequestType0}});Object.defineProperty(N,"RequestType1",{enumerable:!0,get:function(){return rt.RequestType1}});Object.defineProperty(N,"RequestType2",{enumerable:!0,get:function(){return rt.RequestType2}});Object.defineProperty(N,"RequestType3",{enumerable:!0,get:function(){return rt.RequestType3}});Object.defineProperty(N,"RequestType4",{enumerable:!0,get:function(){return rt.RequestType4}});Object.defineProperty(N,"RequestType5",{enumerable:!0,get:function(){return rt.RequestType5}});Object.defineProperty(N,"RequestType6",{enumerable:!0,get:function(){return rt.RequestType6}});Object.defineProperty(N,"RequestType7",{enumerable:!0,get:function(){return rt.RequestType7}});Object.defineProperty(N,"RequestType8",{enumerable:!0,get:function(){return rt.RequestType8}});Object.defineProperty(N,"RequestType9",{enumerable:!0,get:function(){return rt.RequestType9}});Object.defineProperty(N,"ResponseError",{enumerable:!0,get:function(){return rt.ResponseError}});Object.defineProperty(N,"ErrorCodes",{enumerable:!0,get:function(){return rt.ErrorCodes}});Object.defineProperty(N,"NotificationType",{enumerable:!0,get:function(){return rt.NotificationType}});Object.defineProperty(N,"NotificationType0",{enumerable:!0,get:function(){return rt.NotificationType0}});Object.defineProperty(N,"NotificationType1",{enumerable:!0,get:function(){return rt.NotificationType1}});Object.defineProperty(N,"NotificationType2",{enumerable:!0,get:function(){return rt.NotificationType2}});Object.defineProperty(N,"NotificationType3",{enumerable:!0,get:function(){return rt.NotificationType3}});Object.defineProperty(N,"NotificationType4",{enumerable:!0,get:function(){return rt.NotificationType4}});Object.defineProperty(N,"NotificationType5",{enumerable:!0,get:function(){return rt.NotificationType5}});Object.defineProperty(N,"NotificationType6",{enumerable:!0,get:function(){return rt.NotificationType6}});Object.defineProperty(N,"NotificationType7",{enumerable:!0,get:function(){return rt.NotificationType7}});Object.defineProperty(N,"NotificationType8",{enumerable:!0,get:function(){return rt.NotificationType8}});Object.defineProperty(N,"NotificationType9",{enumerable:!0,get:function(){return rt.NotificationType9}});Object.defineProperty(N,"ParameterStructures",{enumerable:!0,get:function(){return rt.ParameterStructures}});var gT=Hx();Object.defineProperty(N,"LinkedMap",{enumerable:!0,get:function(){return gT.LinkedMap}});Object.defineProperty(N,"LRUCache",{enumerable:!0,get:function(){return gT.LRUCache}});Object.defineProperty(N,"Touch",{enumerable:!0,get:function(){return gT.Touch}});var O2=xw();Object.defineProperty(N,"Disposable",{enumerable:!0,get:function(){return O2.Disposable}});var Lw=Ta();Object.defineProperty(N,"Event",{enumerable:!0,get:function(){return Lw.Event}});Object.defineProperty(N,"Emitter",{enumerable:!0,get:function(){return Lw.Emitter}});var Dw=pp();Object.defineProperty(N,"CancellationTokenSource",{enumerable:!0,get:function(){return Dw.CancellationTokenSource}});Object.defineProperty(N,"CancellationToken",{enumerable:!0,get:function(){return Dw.CancellationToken}});var $w=_w();Object.defineProperty(N,"SharedArraySenderStrategy",{enumerable:!0,get:function(){return $w.SharedArraySenderStrategy}});Object.defineProperty(N,"SharedArrayReceiverStrategy",{enumerable:!0,get:function(){return $w.SharedArrayReceiverStrategy}});var yT=vw();Object.defineProperty(N,"MessageReader",{enumerable:!0,get:function(){return yT.MessageReader}});Object.defineProperty(N,"AbstractMessageReader",{enumerable:!0,get:function(){return yT.AbstractMessageReader}});Object.defineProperty(N,"ReadableStreamMessageReader",{enumerable:!0,get:function(){return yT.ReadableStreamMessageReader}});var xT=Sw();Object.defineProperty(N,"MessageWriter",{enumerable:!0,get:function(){return xT.MessageWriter}});Object.defineProperty(N,"AbstractMessageWriter",{enumerable:!0,get:function(){return xT.AbstractMessageWriter}});Object.defineProperty(N,"WriteableStreamMessageWriter",{enumerable:!0,get:function(){return xT.WriteableStreamMessageWriter}});var L2=Iw();Object.defineProperty(N,"AbstractMessageBuffer",{enumerable:!0,get:function(){return L2.AbstractMessageBuffer}});var $t=Ow();Object.defineProperty(N,"ConnectionStrategy",{enumerable:!0,get:function(){return $t.ConnectionStrategy}});Object.defineProperty(N,"ConnectionOptions",{enumerable:!0,get:function(){return $t.ConnectionOptions}});Object.defineProperty(N,"NullLogger",{enumerable:!0,get:function(){return $t.NullLogger}});Object.defineProperty(N,"createMessageConnection",{enumerable:!0,get:function(){return $t.createMessageConnection}});Object.defineProperty(N,"ProgressToken",{enumerable:!0,get:function(){return $t.ProgressToken}});Object.defineProperty(N,"ProgressType",{enumerable:!0,get:function(){return $t.ProgressType}});Object.defineProperty(N,"Trace",{enumerable:!0,get:function(){return $t.Trace}});Object.defineProperty(N,"TraceValues",{enumerable:!0,get:function(){return $t.TraceValues}});Object.defineProperty(N,"TraceFormat",{enumerable:!0,get:function(){return $t.TraceFormat}});Object.defineProperty(N,"SetTraceNotification",{enumerable:!0,get:function(){return $t.SetTraceNotification}});Object.defineProperty(N,"LogTraceNotification",{enumerable:!0,get:function(){return $t.LogTraceNotification}});Object.defineProperty(N,"ConnectionErrors",{enumerable:!0,get:function(){return $t.ConnectionErrors}});Object.defineProperty(N,"ConnectionError",{enumerable:!0,get:function(){return $t.ConnectionError}});Object.defineProperty(N,"CancellationReceiverStrategy",{enumerable:!0,get:function(){return $t.CancellationReceiverStrategy}});Object.defineProperty(N,"CancellationSenderStrategy",{enumerable:!0,get:function(){return $t.CancellationSenderStrategy}});Object.defineProperty(N,"CancellationStrategy",{enumerable:!0,get:function(){return $t.CancellationStrategy}});Object.defineProperty(N,"MessageStrategy",{enumerable:!0,get:function(){return $t.MessageStrategy}});var D2=Ci();N.RAL=D2.default});var Fw=fe(vT=>{"use strict";Object.defineProperty(vT,"__esModule",{value:!0});var xn=bp(),wp=class t extends xn.AbstractMessageBuffer{constructor(e="utf-8"){super(e),this.asciiDecoder=new TextDecoder("ascii")}emptyBuffer(){return t.emptyBuffer}fromString(e,r){return new TextEncoder().encode(e)}toString(e,r){return r==="ascii"?this.asciiDecoder.decode(e):new TextDecoder(r).decode(e)}asNative(e,r){return r===void 0?e:e.slice(0,r)}allocNative(e){return new Uint8Array(e)}};wp.emptyBuffer=new Uint8Array(0);var TT=class{constructor(e){this.socket=e,this._onData=new xn.Emitter,this._messageListener=r=>{r.data.arrayBuffer().then(i=>{this._onData.fire(new Uint8Array(i))},()=>{(0,xn.RAL)().console.error("Converting blob to array buffer failed.")})},this.socket.addEventListener("message",this._messageListener)}onClose(e){return this.socket.addEventListener("close",e),xn.Disposable.create(()=>this.socket.removeEventListener("close",e))}onError(e){return this.socket.addEventListener("error",e),xn.Disposable.create(()=>this.socket.removeEventListener("error",e))}onEnd(e){return this.socket.addEventListener("end",e),xn.Disposable.create(()=>this.socket.removeEventListener("end",e))}onData(e){return this._onData.event(e)}},_T=class{constructor(e){this.socket=e}onClose(e){return this.socket.addEventListener("close",e),xn.Disposable.create(()=>this.socket.removeEventListener("close",e))}onError(e){return this.socket.addEventListener("error",e),xn.Disposable.create(()=>this.socket.removeEventListener("error",e))}onEnd(e){return this.socket.addEventListener("end",e),xn.Disposable.create(()=>this.socket.removeEventListener("end",e))}write(e,r){if(typeof e=="string"){if(r!==void 0&&r!=="utf-8")throw new Error(`In a Browser environments only utf-8 text encoding is supported. But got encoding: ${r}`);this.socket.send(e)}else this.socket.send(e);return Promise.resolve()}end(){this.socket.close()}},$2=new TextEncoder,Mw=Object.freeze({messageBuffer:Object.freeze({create:t=>new wp(t)}),applicationJson:Object.freeze({encoder:Object.freeze({name:"application/json",encode:(t,e)=>{if(e.charset!=="utf-8")throw new Error(`In a Browser environments only utf-8 text encoding is supported. But got encoding: ${e.charset}`);return Promise.resolve($2.encode(JSON.stringify(t,void 0,0)))}}),decoder:Object.freeze({name:"application/json",decode:(t,e)=>{if(!(t instanceof Uint8Array))throw new Error("In a Browser environments only Uint8Arrays are supported.");return Promise.resolve(JSON.parse(new TextDecoder(e.charset).decode(t)))}})}),stream:Object.freeze({asReadableStream:t=>new TT(t),asWritableStream:t=>new _T(t)}),console,timer:Object.freeze({setTimeout(t,e,...r){let n=setTimeout(t,e,...r);return{dispose:()=>clearTimeout(n)}},setImmediate(t,...e){let r=setTimeout(t,0,...e);return{dispose:()=>clearTimeout(r)}},setInterval(t,e,...r){let n=setInterval(t,e,...r);return{dispose:()=>clearInterval(n)}}})});function ET(){return Mw}(function(t){function e(){xn.RAL.install(Mw)}t.install=e})(ET||(ET={}));vT.default=ET});var Xo=fe(gr=>{"use strict";var M2=gr&&gr.__createBinding||(Object.create?(function(t,e,r,n){n===void 0&&(n=r);var i=Object.getOwnPropertyDescriptor(e,r);(!i||("get"in i?!e.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,i)}):(function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]})),F2=gr&&gr.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&M2(e,t,r)};Object.defineProperty(gr,"__esModule",{value:!0});gr.createMessageConnection=gr.BrowserMessageWriter=gr.BrowserMessageReader=void 0;var U2=Fw();U2.default.install();var ba=bp();F2(bp(),gr);var RT=class extends ba.AbstractMessageReader{constructor(e){super(),this._onData=new ba.Emitter,this._messageListener=r=>{this._onData.fire(r.data)},e.addEventListener("error",r=>this.fireError(r)),e.onmessage=this._messageListener}listen(e){return this._onData.event(e)}};gr.BrowserMessageReader=RT;var bT=class extends ba.AbstractMessageWriter{constructor(e){super(),this.port=e,this.errorCount=0,e.addEventListener("error",r=>this.fireError(r))}write(e){try{return this.port.postMessage(e),Promise.resolve()}catch(r){return this.handleError(r,e),Promise.reject(r)}}handleError(e,r){this.errorCount++,this.fireError(e,r,this.errorCount)}end(){}};gr.BrowserMessageWriter=bT;function B2(t,e,r,n){return r===void 0&&(r=ba.NullLogger),ba.ConnectionStrategy.is(n)&&(n={connectionStrategy:n}),(0,ba.createMessageConnection)(t,e,r,n)}gr.createMessageConnection=B2});var wT=fe((KZ,Uw)=>{"use strict";Uw.exports=Xo()});var ft=fe(or=>{"use strict";Object.defineProperty(or,"__esModule",{value:!0});or.ProtocolNotificationType=or.ProtocolNotificationType0=or.ProtocolRequestType=or.ProtocolRequestType0=or.RegistrationType=or.MessageDirection=void 0;var wa=Xo(),Bw;(function(t){t.clientToServer="clientToServer",t.serverToClient="serverToClient",t.both="both"})(Bw||(or.MessageDirection=Bw={}));var AT=class{constructor(e){this.method=e}};or.RegistrationType=AT;var ST=class extends wa.RequestType0{constructor(e){super(e)}};or.ProtocolRequestType0=ST;var IT=class extends wa.RequestType{constructor(e){super(e,wa.ParameterStructures.byName)}};or.ProtocolRequestType=IT;var kT=class extends wa.NotificationType0{constructor(e){super(e)}};or.ProtocolNotificationType0=kT;var NT=class extends wa.NotificationType{constructor(e){super(e,wa.ParameterStructures.byName)}};or.ProtocolNotificationType=NT});var Ap=fe(wt=>{"use strict";Object.defineProperty(wt,"__esModule",{value:!0});wt.objectLiteral=wt.typedArray=wt.stringArray=wt.array=wt.func=wt.error=wt.number=wt.string=wt.boolean=void 0;function G2(t){return t===!0||t===!1}wt.boolean=G2;function Gw(t){return typeof t=="string"||t instanceof String}wt.string=Gw;function X2(t){return typeof t=="number"||t instanceof Number}wt.number=X2;function H2(t){return t instanceof Error}wt.error=H2;function j2(t){return typeof t=="function"}wt.func=j2;function Xw(t){return Array.isArray(t)}wt.array=Xw;function z2(t){return Xw(t)&&t.every(e=>Gw(e))}wt.stringArray=z2;function q2(t,e){return Array.isArray(t)&&t.every(e)}wt.typedArray=q2;function W2(t){return t!==null&&typeof t=="object"}wt.objectLiteral=W2});var zw=fe(Sp=>{"use strict";Object.defineProperty(Sp,"__esModule",{value:!0});Sp.ImplementationRequest=void 0;var Hw=ft(),jw;(function(t){t.method="textDocument/implementation",t.messageDirection=Hw.MessageDirection.clientToServer,t.type=new Hw.ProtocolRequestType(t.method)})(jw||(Sp.ImplementationRequest=jw={}))});var Vw=fe(Ip=>{"use strict";Object.defineProperty(Ip,"__esModule",{value:!0});Ip.TypeDefinitionRequest=void 0;var qw=ft(),Ww;(function(t){t.method="textDocument/typeDefinition",t.messageDirection=qw.MessageDirection.clientToServer,t.type=new qw.ProtocolRequestType(t.method)})(Ww||(Ip.TypeDefinitionRequest=Ww={}))});var Zw=fe(Aa=>{"use strict";Object.defineProperty(Aa,"__esModule",{value:!0});Aa.DidChangeWorkspaceFoldersNotification=Aa.WorkspaceFoldersRequest=void 0;var kp=ft(),Yw;(function(t){t.method="workspace/workspaceFolders",t.messageDirection=kp.MessageDirection.serverToClient,t.type=new kp.ProtocolRequestType0(t.method)})(Yw||(Aa.WorkspaceFoldersRequest=Yw={}));var Kw;(function(t){t.method="workspace/didChangeWorkspaceFolders",t.messageDirection=kp.MessageDirection.clientToServer,t.type=new kp.ProtocolNotificationType(t.method)})(Kw||(Aa.DidChangeWorkspaceFoldersNotification=Kw={}))});var eA=fe(Np=>{"use strict";Object.defineProperty(Np,"__esModule",{value:!0});Np.ConfigurationRequest=void 0;var Jw=ft(),Qw;(function(t){t.method="workspace/configuration",t.messageDirection=Jw.MessageDirection.serverToClient,t.type=new Jw.ProtocolRequestType(t.method)})(Qw||(Np.ConfigurationRequest=Qw={}))});var nA=fe(Sa=>{"use strict";Object.defineProperty(Sa,"__esModule",{value:!0});Sa.ColorPresentationRequest=Sa.DocumentColorRequest=void 0;var Pp=ft(),tA;(function(t){t.method="textDocument/documentColor",t.messageDirection=Pp.MessageDirection.clientToServer,t.type=new Pp.ProtocolRequestType(t.method)})(tA||(Sa.DocumentColorRequest=tA={}));var rA;(function(t){t.method="textDocument/colorPresentation",t.messageDirection=Pp.MessageDirection.clientToServer,t.type=new Pp.ProtocolRequestType(t.method)})(rA||(Sa.ColorPresentationRequest=rA={}))});var sA=fe(Ia=>{"use strict";Object.defineProperty(Ia,"__esModule",{value:!0});Ia.FoldingRangeRefreshRequest=Ia.FoldingRangeRequest=void 0;var Cp=ft(),iA;(function(t){t.method="textDocument/foldingRange",t.messageDirection=Cp.MessageDirection.clientToServer,t.type=new Cp.ProtocolRequestType(t.method)})(iA||(Ia.FoldingRangeRequest=iA={}));var oA;(function(t){t.method="workspace/foldingRange/refresh",t.messageDirection=Cp.MessageDirection.serverToClient,t.type=new Cp.ProtocolRequestType0(t.method)})(oA||(Ia.FoldingRangeRefreshRequest=oA={}))});var lA=fe(Op=>{"use strict";Object.defineProperty(Op,"__esModule",{value:!0});Op.DeclarationRequest=void 0;var aA=ft(),cA;(function(t){t.method="textDocument/declaration",t.messageDirection=aA.MessageDirection.clientToServer,t.type=new aA.ProtocolRequestType(t.method)})(cA||(Op.DeclarationRequest=cA={}))});var dA=fe(Lp=>{"use strict";Object.defineProperty(Lp,"__esModule",{value:!0});Lp.SelectionRangeRequest=void 0;var uA=ft(),fA;(function(t){t.method="textDocument/selectionRange",t.messageDirection=uA.MessageDirection.clientToServer,t.type=new uA.ProtocolRequestType(t.method)})(fA||(Lp.SelectionRangeRequest=fA={}))});var gA=fe(Di=>{"use strict";Object.defineProperty(Di,"__esModule",{value:!0});Di.WorkDoneProgressCancelNotification=Di.WorkDoneProgressCreateRequest=Di.WorkDoneProgress=void 0;var V2=Xo(),Dp=ft(),pA;(function(t){t.type=new V2.ProgressType;function e(r){return r===t.type}t.is=e})(pA||(Di.WorkDoneProgress=pA={}));var hA;(function(t){t.method="window/workDoneProgress/create",t.messageDirection=Dp.MessageDirection.serverToClient,t.type=new Dp.ProtocolRequestType(t.method)})(hA||(Di.WorkDoneProgressCreateRequest=hA={}));var mA;(function(t){t.method="window/workDoneProgress/cancel",t.messageDirection=Dp.MessageDirection.clientToServer,t.type=new Dp.ProtocolNotificationType(t.method)})(mA||(Di.WorkDoneProgressCancelNotification=mA={}))});var _A=fe($i=>{"use strict";Object.defineProperty($i,"__esModule",{value:!0});$i.CallHierarchyOutgoingCallsRequest=$i.CallHierarchyIncomingCallsRequest=$i.CallHierarchyPrepareRequest=void 0;var ka=ft(),yA;(function(t){t.method="textDocument/prepareCallHierarchy",t.messageDirection=ka.MessageDirection.clientToServer,t.type=new ka.ProtocolRequestType(t.method)})(yA||($i.CallHierarchyPrepareRequest=yA={}));var xA;(function(t){t.method="callHierarchy/incomingCalls",t.messageDirection=ka.MessageDirection.clientToServer,t.type=new ka.ProtocolRequestType(t.method)})(xA||($i.CallHierarchyIncomingCallsRequest=xA={}));var TA;(function(t){t.method="callHierarchy/outgoingCalls",t.messageDirection=ka.MessageDirection.clientToServer,t.type=new ka.ProtocolRequestType(t.method)})(TA||($i.CallHierarchyOutgoingCallsRequest=TA={}))});var AA=fe(sr=>{"use strict";Object.defineProperty(sr,"__esModule",{value:!0});sr.SemanticTokensRefreshRequest=sr.SemanticTokensRangeRequest=sr.SemanticTokensDeltaRequest=sr.SemanticTokensRequest=sr.SemanticTokensRegistrationType=sr.TokenFormat=void 0;var Wn=ft(),EA;(function(t){t.Relative="relative"})(EA||(sr.TokenFormat=EA={}));var Vl;(function(t){t.method="textDocument/semanticTokens",t.type=new Wn.RegistrationType(t.method)})(Vl||(sr.SemanticTokensRegistrationType=Vl={}));var vA;(function(t){t.method="textDocument/semanticTokens/full",t.messageDirection=Wn.MessageDirection.clientToServer,t.type=new Wn.ProtocolRequestType(t.method),t.registrationMethod=Vl.method})(vA||(sr.SemanticTokensRequest=vA={}));var RA;(function(t){t.method="textDocument/semanticTokens/full/delta",t.messageDirection=Wn.MessageDirection.clientToServer,t.type=new Wn.ProtocolRequestType(t.method),t.registrationMethod=Vl.method})(RA||(sr.SemanticTokensDeltaRequest=RA={}));var bA;(function(t){t.method="textDocument/semanticTokens/range",t.messageDirection=Wn.MessageDirection.clientToServer,t.type=new Wn.ProtocolRequestType(t.method),t.registrationMethod=Vl.method})(bA||(sr.SemanticTokensRangeRequest=bA={}));var wA;(function(t){t.method="workspace/semanticTokens/refresh",t.messageDirection=Wn.MessageDirection.serverToClient,t.type=new Wn.ProtocolRequestType0(t.method)})(wA||(sr.SemanticTokensRefreshRequest=wA={}))});var kA=fe($p=>{"use strict";Object.defineProperty($p,"__esModule",{value:!0});$p.ShowDocumentRequest=void 0;var SA=ft(),IA;(function(t){t.method="window/showDocument",t.messageDirection=SA.MessageDirection.serverToClient,t.type=new SA.ProtocolRequestType(t.method)})(IA||($p.ShowDocumentRequest=IA={}))});var CA=fe(Mp=>{"use strict";Object.defineProperty(Mp,"__esModule",{value:!0});Mp.LinkedEditingRangeRequest=void 0;var NA=ft(),PA;(function(t){t.method="textDocument/linkedEditingRange",t.messageDirection=NA.MessageDirection.clientToServer,t.type=new NA.ProtocolRequestType(t.method)})(PA||(Mp.LinkedEditingRangeRequest=PA={}))});var BA=fe(Ht=>{"use strict";Object.defineProperty(Ht,"__esModule",{value:!0});Ht.WillDeleteFilesRequest=Ht.DidDeleteFilesNotification=Ht.DidRenameFilesNotification=Ht.WillRenameFilesRequest=Ht.DidCreateFilesNotification=Ht.WillCreateFilesRequest=Ht.FileOperationPatternKind=void 0;var Sr=ft(),OA;(function(t){t.file="file",t.folder="folder"})(OA||(Ht.FileOperationPatternKind=OA={}));var LA;(function(t){t.method="workspace/willCreateFiles",t.messageDirection=Sr.MessageDirection.clientToServer,t.type=new Sr.ProtocolRequestType(t.method)})(LA||(Ht.WillCreateFilesRequest=LA={}));var DA;(function(t){t.method="workspace/didCreateFiles",t.messageDirection=Sr.MessageDirection.clientToServer,t.type=new Sr.ProtocolNotificationType(t.method)})(DA||(Ht.DidCreateFilesNotification=DA={}));var $A;(function(t){t.method="workspace/willRenameFiles",t.messageDirection=Sr.MessageDirection.clientToServer,t.type=new Sr.ProtocolRequestType(t.method)})($A||(Ht.WillRenameFilesRequest=$A={}));var MA;(function(t){t.method="workspace/didRenameFiles",t.messageDirection=Sr.MessageDirection.clientToServer,t.type=new Sr.ProtocolNotificationType(t.method)})(MA||(Ht.DidRenameFilesNotification=MA={}));var FA;(function(t){t.method="workspace/didDeleteFiles",t.messageDirection=Sr.MessageDirection.clientToServer,t.type=new Sr.ProtocolNotificationType(t.method)})(FA||(Ht.DidDeleteFilesNotification=FA={}));var UA;(function(t){t.method="workspace/willDeleteFiles",t.messageDirection=Sr.MessageDirection.clientToServer,t.type=new Sr.ProtocolRequestType(t.method)})(UA||(Ht.WillDeleteFilesRequest=UA={}))});var zA=fe(Mi=>{"use strict";Object.defineProperty(Mi,"__esModule",{value:!0});Mi.MonikerRequest=Mi.MonikerKind=Mi.UniquenessLevel=void 0;var GA=ft(),XA;(function(t){t.document="document",t.project="project",t.group="group",t.scheme="scheme",t.global="global"})(XA||(Mi.UniquenessLevel=XA={}));var HA;(function(t){t.$import="import",t.$export="export",t.local="local"})(HA||(Mi.MonikerKind=HA={}));var jA;(function(t){t.method="textDocument/moniker",t.messageDirection=GA.MessageDirection.clientToServer,t.type=new GA.ProtocolRequestType(t.method)})(jA||(Mi.MonikerRequest=jA={}))});var YA=fe(Fi=>{"use strict";Object.defineProperty(Fi,"__esModule",{value:!0});Fi.TypeHierarchySubtypesRequest=Fi.TypeHierarchySupertypesRequest=Fi.TypeHierarchyPrepareRequest=void 0;var Na=ft(),qA;(function(t){t.method="textDocument/prepareTypeHierarchy",t.messageDirection=Na.MessageDirection.clientToServer,t.type=new Na.ProtocolRequestType(t.method)})(qA||(Fi.TypeHierarchyPrepareRequest=qA={}));var WA;(function(t){t.method="typeHierarchy/supertypes",t.messageDirection=Na.MessageDirection.clientToServer,t.type=new Na.ProtocolRequestType(t.method)})(WA||(Fi.TypeHierarchySupertypesRequest=WA={}));var VA;(function(t){t.method="typeHierarchy/subtypes",t.messageDirection=Na.MessageDirection.clientToServer,t.type=new Na.ProtocolRequestType(t.method)})(VA||(Fi.TypeHierarchySubtypesRequest=VA={}))});var JA=fe(Pa=>{"use strict";Object.defineProperty(Pa,"__esModule",{value:!0});Pa.InlineValueRefreshRequest=Pa.InlineValueRequest=void 0;var Fp=ft(),KA;(function(t){t.method="textDocument/inlineValue",t.messageDirection=Fp.MessageDirection.clientToServer,t.type=new Fp.ProtocolRequestType(t.method)})(KA||(Pa.InlineValueRequest=KA={}));var ZA;(function(t){t.method="workspace/inlineValue/refresh",t.messageDirection=Fp.MessageDirection.serverToClient,t.type=new Fp.ProtocolRequestType0(t.method)})(ZA||(Pa.InlineValueRefreshRequest=ZA={}))});var rS=fe(Ui=>{"use strict";Object.defineProperty(Ui,"__esModule",{value:!0});Ui.InlayHintRefreshRequest=Ui.InlayHintResolveRequest=Ui.InlayHintRequest=void 0;var Ca=ft(),QA;(function(t){t.method="textDocument/inlayHint",t.messageDirection=Ca.MessageDirection.clientToServer,t.type=new Ca.ProtocolRequestType(t.method)})(QA||(Ui.InlayHintRequest=QA={}));var eS;(function(t){t.method="inlayHint/resolve",t.messageDirection=Ca.MessageDirection.clientToServer,t.type=new Ca.ProtocolRequestType(t.method)})(eS||(Ui.InlayHintResolveRequest=eS={}));var tS;(function(t){t.method="workspace/inlayHint/refresh",t.messageDirection=Ca.MessageDirection.serverToClient,t.type=new Ca.ProtocolRequestType0(t.method)})(tS||(Ui.InlayHintRefreshRequest=tS={}))});var lS=fe(Ir=>{"use strict";Object.defineProperty(Ir,"__esModule",{value:!0});Ir.DiagnosticRefreshRequest=Ir.WorkspaceDiagnosticRequest=Ir.DocumentDiagnosticRequest=Ir.DocumentDiagnosticReportKind=Ir.DiagnosticServerCancellationData=void 0;var cS=Xo(),Y2=Ap(),Oa=ft(),nS;(function(t){function e(r){let n=r;return n&&Y2.boolean(n.retriggerRequest)}t.is=e})(nS||(Ir.DiagnosticServerCancellationData=nS={}));var iS;(function(t){t.Full="full",t.Unchanged="unchanged"})(iS||(Ir.DocumentDiagnosticReportKind=iS={}));var oS;(function(t){t.method="textDocument/diagnostic",t.messageDirection=Oa.MessageDirection.clientToServer,t.type=new Oa.ProtocolRequestType(t.method),t.partialResult=new cS.ProgressType})(oS||(Ir.DocumentDiagnosticRequest=oS={}));var sS;(function(t){t.method="workspace/diagnostic",t.messageDirection=Oa.MessageDirection.clientToServer,t.type=new Oa.ProtocolRequestType(t.method),t.partialResult=new cS.ProgressType})(sS||(Ir.WorkspaceDiagnosticRequest=sS={}));var aS;(function(t){t.method="workspace/diagnostic/refresh",t.messageDirection=Oa.MessageDirection.serverToClient,t.type=new Oa.ProtocolRequestType0(t.method)})(aS||(Ir.DiagnosticRefreshRequest=aS={}))});var gS=fe(xt=>{"use strict";Object.defineProperty(xt,"__esModule",{value:!0});xt.DidCloseNotebookDocumentNotification=xt.DidSaveNotebookDocumentNotification=xt.DidChangeNotebookDocumentNotification=xt.NotebookCellArrayChange=xt.DidOpenNotebookDocumentNotification=xt.NotebookDocumentSyncRegistrationType=xt.NotebookDocument=xt.NotebookCell=xt.ExecutionSummary=xt.NotebookCellKind=void 0;var Yl=(sa(),sf(Vd)),qr=Ap(),Tn=ft(),PT;(function(t){t.Markup=1,t.Code=2;function e(r){return r===1||r===2}t.is=e})(PT||(xt.NotebookCellKind=PT={}));var CT;(function(t){function e(i,o){let s={executionOrder:i};return(o===!0||o===!1)&&(s.success=o),s}t.create=e;function r(i){let o=i;return qr.objectLiteral(o)&&Yl.uinteger.is(o.executionOrder)&&(o.success===void 0||qr.boolean(o.success))}t.is=r;function n(i,o){return i===o?!0:i==null||o===null||o===void 0?!1:i.executionOrder===o.executionOrder&&i.success===o.success}t.equals=n})(CT||(xt.ExecutionSummary=CT={}));var Up;(function(t){function e(o,s){return{kind:o,document:s}}t.create=e;function r(o){let s=o;return qr.objectLiteral(s)&&PT.is(s.kind)&&Yl.DocumentUri.is(s.document)&&(s.metadata===void 0||qr.objectLiteral(s.metadata))}t.is=r;function n(o,s){let a=new Set;return o.document!==s.document&&a.add("document"),o.kind!==s.kind&&a.add("kind"),o.executionSummary!==s.executionSummary&&a.add("executionSummary"),(o.metadata!==void 0||s.metadata!==void 0)&&!i(o.metadata,s.metadata)&&a.add("metadata"),(o.executionSummary!==void 0||s.executionSummary!==void 0)&&!CT.equals(o.executionSummary,s.executionSummary)&&a.add("executionSummary"),a}t.diff=n;function i(o,s){if(o===s)return!0;if(o==null||s===null||s===void 0||typeof o!=typeof s||typeof o!="object")return!1;let a=Array.isArray(o),c=Array.isArray(s);if(a!==c)return!1;if(a&&c){if(o.length!==s.length)return!1;for(let l=0;l<o.length;l++)if(!i(o[l],s[l]))return!1}if(qr.objectLiteral(o)&&qr.objectLiteral(s)){let l=Object.keys(o),u=Object.keys(s);if(l.length!==u.length||(l.sort(),u.sort(),!i(l,u)))return!1;for(let f=0;f<l.length;f++){let d=l[f];if(!i(o[d],s[d]))return!1}}return!0}})(Up||(xt.NotebookCell=Up={}));var uS;(function(t){function e(n,i,o,s){return{uri:n,notebookType:i,version:o,cells:s}}t.create=e;function r(n){let i=n;return qr.objectLiteral(i)&&qr.string(i.uri)&&Yl.integer.is(i.version)&&qr.typedArray(i.cells,Up.is)}t.is=r})(uS||(xt.NotebookDocument=uS={}));var La;(function(t){t.method="notebookDocument/sync",t.messageDirection=Tn.MessageDirection.clientToServer,t.type=new Tn.RegistrationType(t.method)})(La||(xt.NotebookDocumentSyncRegistrationType=La={}));var fS;(function(t){t.method="notebookDocument/didOpen",t.messageDirection=Tn.MessageDirection.clientToServer,t.type=new Tn.ProtocolNotificationType(t.method),t.registrationMethod=La.method})(fS||(xt.DidOpenNotebookDocumentNotification=fS={}));var dS;(function(t){function e(n){let i=n;return qr.objectLiteral(i)&&Yl.uinteger.is(i.start)&&Yl.uinteger.is(i.deleteCount)&&(i.cells===void 0||qr.typedArray(i.cells,Up.is))}t.is=e;function r(n,i,o){let s={start:n,deleteCount:i};return o!==void 0&&(s.cells=o),s}t.create=r})(dS||(xt.NotebookCellArrayChange=dS={}));var pS;(function(t){t.method="notebookDocument/didChange",t.messageDirection=Tn.MessageDirection.clientToServer,t.type=new Tn.ProtocolNotificationType(t.method),t.registrationMethod=La.method})(pS||(xt.DidChangeNotebookDocumentNotification=pS={}));var hS;(function(t){t.method="notebookDocument/didSave",t.messageDirection=Tn.MessageDirection.clientToServer,t.type=new Tn.ProtocolNotificationType(t.method),t.registrationMethod=La.method})(hS||(xt.DidSaveNotebookDocumentNotification=hS={}));var mS;(function(t){t.method="notebookDocument/didClose",t.messageDirection=Tn.MessageDirection.clientToServer,t.type=new Tn.ProtocolNotificationType(t.method),t.registrationMethod=La.method})(mS||(xt.DidCloseNotebookDocumentNotification=mS={}))});var TS=fe(Bp=>{"use strict";Object.defineProperty(Bp,"__esModule",{value:!0});Bp.InlineCompletionRequest=void 0;var yS=ft(),xS;(function(t){t.method="textDocument/inlineCompletion",t.messageDirection=yS.MessageDirection.clientToServer,t.type=new yS.ProtocolRequestType(t.method)})(xS||(Bp.InlineCompletionRequest=xS={}))});var CI=fe(y=>{"use strict";Object.defineProperty(y,"__esModule",{value:!0});y.WorkspaceSymbolRequest=y.CodeActionResolveRequest=y.CodeActionRequest=y.DocumentSymbolRequest=y.DocumentHighlightRequest=y.ReferencesRequest=y.DefinitionRequest=y.SignatureHelpRequest=y.SignatureHelpTriggerKind=y.HoverRequest=y.CompletionResolveRequest=y.CompletionRequest=y.CompletionTriggerKind=y.PublishDiagnosticsNotification=y.WatchKind=y.RelativePattern=y.FileChangeType=y.DidChangeWatchedFilesNotification=y.WillSaveTextDocumentWaitUntilRequest=y.WillSaveTextDocumentNotification=y.TextDocumentSaveReason=y.DidSaveTextDocumentNotification=y.DidCloseTextDocumentNotification=y.DidChangeTextDocumentNotification=y.TextDocumentContentChangeEvent=y.DidOpenTextDocumentNotification=y.TextDocumentSyncKind=y.TelemetryEventNotification=y.LogMessageNotification=y.ShowMessageRequest=y.ShowMessageNotification=y.MessageType=y.DidChangeConfigurationNotification=y.ExitNotification=y.ShutdownRequest=y.InitializedNotification=y.InitializeErrorCodes=y.InitializeRequest=y.WorkDoneProgressOptions=y.TextDocumentRegistrationOptions=y.StaticRegistrationOptions=y.PositionEncodingKind=y.FailureHandlingKind=y.ResourceOperationKind=y.UnregistrationRequest=y.RegistrationRequest=y.DocumentSelector=y.NotebookCellTextDocumentFilter=y.NotebookDocumentFilter=y.TextDocumentFilter=void 0;y.MonikerRequest=y.MonikerKind=y.UniquenessLevel=y.WillDeleteFilesRequest=y.DidDeleteFilesNotification=y.WillRenameFilesRequest=y.DidRenameFilesNotification=y.WillCreateFilesRequest=y.DidCreateFilesNotification=y.FileOperationPatternKind=y.LinkedEditingRangeRequest=y.ShowDocumentRequest=y.SemanticTokensRegistrationType=y.SemanticTokensRefreshRequest=y.SemanticTokensRangeRequest=y.SemanticTokensDeltaRequest=y.SemanticTokensRequest=y.TokenFormat=y.CallHierarchyPrepareRequest=y.CallHierarchyOutgoingCallsRequest=y.CallHierarchyIncomingCallsRequest=y.WorkDoneProgressCancelNotification=y.WorkDoneProgressCreateRequest=y.WorkDoneProgress=y.SelectionRangeRequest=y.DeclarationRequest=y.FoldingRangeRefreshRequest=y.FoldingRangeRequest=y.ColorPresentationRequest=y.DocumentColorRequest=y.ConfigurationRequest=y.DidChangeWorkspaceFoldersNotification=y.WorkspaceFoldersRequest=y.TypeDefinitionRequest=y.ImplementationRequest=y.ApplyWorkspaceEditRequest=y.ExecuteCommandRequest=y.PrepareRenameRequest=y.RenameRequest=y.PrepareSupportDefaultBehavior=y.DocumentOnTypeFormattingRequest=y.DocumentRangesFormattingRequest=y.DocumentRangeFormattingRequest=y.DocumentFormattingRequest=y.DocumentLinkResolveRequest=y.DocumentLinkRequest=y.CodeLensRefreshRequest=y.CodeLensResolveRequest=y.CodeLensRequest=y.WorkspaceSymbolResolveRequest=void 0;y.InlineCompletionRequest=y.DidCloseNotebookDocumentNotification=y.DidSaveNotebookDocumentNotification=y.DidChangeNotebookDocumentNotification=y.NotebookCellArrayChange=y.DidOpenNotebookDocumentNotification=y.NotebookDocumentSyncRegistrationType=y.NotebookDocument=y.NotebookCell=y.ExecutionSummary=y.NotebookCellKind=y.DiagnosticRefreshRequest=y.WorkspaceDiagnosticRequest=y.DocumentDiagnosticRequest=y.DocumentDiagnosticReportKind=y.DiagnosticServerCancellationData=y.InlayHintRefreshRequest=y.InlayHintResolveRequest=y.InlayHintRequest=y.InlineValueRefreshRequest=y.InlineValueRequest=y.TypeHierarchySupertypesRequest=y.TypeHierarchySubtypesRequest=y.TypeHierarchyPrepareRequest=void 0;var G=ft(),_S=(sa(),sf(Vd)),Ot=Ap(),K2=zw();Object.defineProperty(y,"ImplementationRequest",{enumerable:!0,get:function(){return K2.ImplementationRequest}});var Z2=Vw();Object.defineProperty(y,"TypeDefinitionRequest",{enumerable:!0,get:function(){return Z2.TypeDefinitionRequest}});var II=Zw();Object.defineProperty(y,"WorkspaceFoldersRequest",{enumerable:!0,get:function(){return II.WorkspaceFoldersRequest}});Object.defineProperty(y,"DidChangeWorkspaceFoldersNotification",{enumerable:!0,get:function(){return II.DidChangeWorkspaceFoldersNotification}});var J2=eA();Object.defineProperty(y,"ConfigurationRequest",{enumerable:!0,get:function(){return J2.ConfigurationRequest}});var kI=nA();Object.defineProperty(y,"DocumentColorRequest",{enumerable:!0,get:function(){return kI.DocumentColorRequest}});Object.defineProperty(y,"ColorPresentationRequest",{enumerable:!0,get:function(){return kI.ColorPresentationRequest}});var NI=sA();Object.defineProperty(y,"FoldingRangeRequest",{enumerable:!0,get:function(){return NI.FoldingRangeRequest}});Object.defineProperty(y,"FoldingRangeRefreshRequest",{enumerable:!0,get:function(){return NI.FoldingRangeRefreshRequest}});var Q2=lA();Object.defineProperty(y,"DeclarationRequest",{enumerable:!0,get:function(){return Q2.DeclarationRequest}});var eU=dA();Object.defineProperty(y,"SelectionRangeRequest",{enumerable:!0,get:function(){return eU.SelectionRangeRequest}});var MT=gA();Object.defineProperty(y,"WorkDoneProgress",{enumerable:!0,get:function(){return MT.WorkDoneProgress}});Object.defineProperty(y,"WorkDoneProgressCreateRequest",{enumerable:!0,get:function(){return MT.WorkDoneProgressCreateRequest}});Object.defineProperty(y,"WorkDoneProgressCancelNotification",{enumerable:!0,get:function(){return MT.WorkDoneProgressCancelNotification}});var FT=_A();Object.defineProperty(y,"CallHierarchyIncomingCallsRequest",{enumerable:!0,get:function(){return FT.CallHierarchyIncomingCallsRequest}});Object.defineProperty(y,"CallHierarchyOutgoingCallsRequest",{enumerable:!0,get:function(){return FT.CallHierarchyOutgoingCallsRequest}});Object.defineProperty(y,"CallHierarchyPrepareRequest",{enumerable:!0,get:function(){return FT.CallHierarchyPrepareRequest}});var Da=AA();Object.defineProperty(y,"TokenFormat",{enumerable:!0,get:function(){return Da.TokenFormat}});Object.defineProperty(y,"SemanticTokensRequest",{enumerable:!0,get:function(){return Da.SemanticTokensRequest}});Object.defineProperty(y,"SemanticTokensDeltaRequest",{enumerable:!0,get:function(){return Da.SemanticTokensDeltaRequest}});Object.defineProperty(y,"SemanticTokensRangeRequest",{enumerable:!0,get:function(){return Da.SemanticTokensRangeRequest}});Object.defineProperty(y,"SemanticTokensRefreshRequest",{enumerable:!0,get:function(){return Da.SemanticTokensRefreshRequest}});Object.defineProperty(y,"SemanticTokensRegistrationType",{enumerable:!0,get:function(){return Da.SemanticTokensRegistrationType}});var tU=kA();Object.defineProperty(y,"ShowDocumentRequest",{enumerable:!0,get:function(){return tU.ShowDocumentRequest}});var rU=CA();Object.defineProperty(y,"LinkedEditingRangeRequest",{enumerable:!0,get:function(){return rU.LinkedEditingRangeRequest}});var Ho=BA();Object.defineProperty(y,"FileOperationPatternKind",{enumerable:!0,get:function(){return Ho.FileOperationPatternKind}});Object.defineProperty(y,"DidCreateFilesNotification",{enumerable:!0,get:function(){return Ho.DidCreateFilesNotification}});Object.defineProperty(y,"WillCreateFilesRequest",{enumerable:!0,get:function(){return Ho.WillCreateFilesRequest}});Object.defineProperty(y,"DidRenameFilesNotification",{enumerable:!0,get:function(){return Ho.DidRenameFilesNotification}});Object.defineProperty(y,"WillRenameFilesRequest",{enumerable:!0,get:function(){return Ho.WillRenameFilesRequest}});Object.defineProperty(y,"DidDeleteFilesNotification",{enumerable:!0,get:function(){return Ho.DidDeleteFilesNotification}});Object.defineProperty(y,"WillDeleteFilesRequest",{enumerable:!0,get:function(){return Ho.WillDeleteFilesRequest}});var UT=zA();Object.defineProperty(y,"UniquenessLevel",{enumerable:!0,get:function(){return UT.UniquenessLevel}});Object.defineProperty(y,"MonikerKind",{enumerable:!0,get:function(){return UT.MonikerKind}});Object.defineProperty(y,"MonikerRequest",{enumerable:!0,get:function(){return UT.MonikerRequest}});var BT=YA();Object.defineProperty(y,"TypeHierarchyPrepareRequest",{enumerable:!0,get:function(){return BT.TypeHierarchyPrepareRequest}});Object.defineProperty(y,"TypeHierarchySubtypesRequest",{enumerable:!0,get:function(){return BT.TypeHierarchySubtypesRequest}});Object.defineProperty(y,"TypeHierarchySupertypesRequest",{enumerable:!0,get:function(){return BT.TypeHierarchySupertypesRequest}});var PI=JA();Object.defineProperty(y,"InlineValueRequest",{enumerable:!0,get:function(){return PI.InlineValueRequest}});Object.defineProperty(y,"InlineValueRefreshRequest",{enumerable:!0,get:function(){return PI.InlineValueRefreshRequest}});var GT=rS();Object.defineProperty(y,"InlayHintRequest",{enumerable:!0,get:function(){return GT.InlayHintRequest}});Object.defineProperty(y,"InlayHintResolveRequest",{enumerable:!0,get:function(){return GT.InlayHintResolveRequest}});Object.defineProperty(y,"InlayHintRefreshRequest",{enumerable:!0,get:function(){return GT.InlayHintRefreshRequest}});var Kl=lS();Object.defineProperty(y,"DiagnosticServerCancellationData",{enumerable:!0,get:function(){return Kl.DiagnosticServerCancellationData}});Object.defineProperty(y,"DocumentDiagnosticReportKind",{enumerable:!0,get:function(){return Kl.DocumentDiagnosticReportKind}});Object.defineProperty(y,"DocumentDiagnosticRequest",{enumerable:!0,get:function(){return Kl.DocumentDiagnosticRequest}});Object.defineProperty(y,"WorkspaceDiagnosticRequest",{enumerable:!0,get:function(){return Kl.WorkspaceDiagnosticRequest}});Object.defineProperty(y,"DiagnosticRefreshRequest",{enumerable:!0,get:function(){return Kl.DiagnosticRefreshRequest}});var _n=gS();Object.defineProperty(y,"NotebookCellKind",{enumerable:!0,get:function(){return _n.NotebookCellKind}});Object.defineProperty(y,"ExecutionSummary",{enumerable:!0,get:function(){return _n.ExecutionSummary}});Object.defineProperty(y,"NotebookCell",{enumerable:!0,get:function(){return _n.NotebookCell}});Object.defineProperty(y,"NotebookDocument",{enumerable:!0,get:function(){return _n.NotebookDocument}});Object.defineProperty(y,"NotebookDocumentSyncRegistrationType",{enumerable:!0,get:function(){return _n.NotebookDocumentSyncRegistrationType}});Object.defineProperty(y,"DidOpenNotebookDocumentNotification",{enumerable:!0,get:function(){return _n.DidOpenNotebookDocumentNotification}});Object.defineProperty(y,"NotebookCellArrayChange",{enumerable:!0,get:function(){return _n.NotebookCellArrayChange}});Object.defineProperty(y,"DidChangeNotebookDocumentNotification",{enumerable:!0,get:function(){return _n.DidChangeNotebookDocumentNotification}});Object.defineProperty(y,"DidSaveNotebookDocumentNotification",{enumerable:!0,get:function(){return _n.DidSaveNotebookDocumentNotification}});Object.defineProperty(y,"DidCloseNotebookDocumentNotification",{enumerable:!0,get:function(){return _n.DidCloseNotebookDocumentNotification}});var nU=TS();Object.defineProperty(y,"InlineCompletionRequest",{enumerable:!0,get:function(){return nU.InlineCompletionRequest}});var OT;(function(t){function e(r){let n=r;return Ot.string(n)||Ot.string(n.language)||Ot.string(n.scheme)||Ot.string(n.pattern)}t.is=e})(OT||(y.TextDocumentFilter=OT={}));var LT;(function(t){function e(r){let n=r;return Ot.objectLiteral(n)&&(Ot.string(n.notebookType)||Ot.string(n.scheme)||Ot.string(n.pattern))}t.is=e})(LT||(y.NotebookDocumentFilter=LT={}));var DT;(function(t){function e(r){let n=r;return Ot.objectLiteral(n)&&(Ot.string(n.notebook)||LT.is(n.notebook))&&(n.language===void 0||Ot.string(n.language))}t.is=e})(DT||(y.NotebookCellTextDocumentFilter=DT={}));var $T;(function(t){function e(r){if(!Array.isArray(r))return!1;for(let n of r)if(!Ot.string(n)&&!OT.is(n)&&!DT.is(n))return!1;return!0}t.is=e})($T||(y.DocumentSelector=$T={}));var ES;(function(t){t.method="client/registerCapability",t.messageDirection=G.MessageDirection.serverToClient,t.type=new G.ProtocolRequestType(t.method)})(ES||(y.RegistrationRequest=ES={}));var vS;(function(t){t.method="client/unregisterCapability",t.messageDirection=G.MessageDirection.serverToClient,t.type=new G.ProtocolRequestType(t.method)})(vS||(y.UnregistrationRequest=vS={}));var RS;(function(t){t.Create="create",t.Rename="rename",t.Delete="delete"})(RS||(y.ResourceOperationKind=RS={}));var bS;(function(t){t.Abort="abort",t.Transactional="transactional",t.TextOnlyTransactional="textOnlyTransactional",t.Undo="undo"})(bS||(y.FailureHandlingKind=bS={}));var wS;(function(t){t.UTF8="utf-8",t.UTF16="utf-16",t.UTF32="utf-32"})(wS||(y.PositionEncodingKind=wS={}));var AS;(function(t){function e(r){let n=r;return n&&Ot.string(n.id)&&n.id.length>0}t.hasId=e})(AS||(y.StaticRegistrationOptions=AS={}));var SS;(function(t){function e(r){let n=r;return n&&(n.documentSelector===null||$T.is(n.documentSelector))}t.is=e})(SS||(y.TextDocumentRegistrationOptions=SS={}));var IS;(function(t){function e(n){let i=n;return Ot.objectLiteral(i)&&(i.workDoneProgress===void 0||Ot.boolean(i.workDoneProgress))}t.is=e;function r(n){let i=n;return i&&Ot.boolean(i.workDoneProgress)}t.hasWorkDoneProgress=r})(IS||(y.WorkDoneProgressOptions=IS={}));var kS;(function(t){t.method="initialize",t.messageDirection=G.MessageDirection.clientToServer,t.type=new G.ProtocolRequestType(t.method)})(kS||(y.InitializeRequest=kS={}));var NS;(function(t){t.unknownProtocolVersion=1})(NS||(y.InitializeErrorCodes=NS={}));var PS;(function(t){t.method="initialized",t.messageDirection=G.MessageDirection.clientToServer,t.type=new G.ProtocolNotificationType(t.method)})(PS||(y.InitializedNotification=PS={}));var CS;(function(t){t.method="shutdown",t.messageDirection=G.MessageDirection.clientToServer,t.type=new G.ProtocolRequestType0(t.method)})(CS||(y.ShutdownRequest=CS={}));var OS;(function(t){t.method="exit",t.messageDirection=G.MessageDirection.clientToServer,t.type=new G.ProtocolNotificationType0(t.method)})(OS||(y.ExitNotification=OS={}));var LS;(function(t){t.method="workspace/didChangeConfiguration",t.messageDirection=G.MessageDirection.clientToServer,t.type=new G.ProtocolNotificationType(t.method)})(LS||(y.DidChangeConfigurationNotification=LS={}));var DS;(function(t){t.Error=1,t.Warning=2,t.Info=3,t.Log=4,t.Debug=5})(DS||(y.MessageType=DS={}));var $S;(function(t){t.method="window/showMessage",t.messageDirection=G.MessageDirection.serverToClient,t.type=new G.ProtocolNotificationType(t.method)})($S||(y.ShowMessageNotification=$S={}));var MS;(function(t){t.method="window/showMessageRequest",t.messageDirection=G.MessageDirection.serverToClient,t.type=new G.ProtocolRequestType(t.method)})(MS||(y.ShowMessageRequest=MS={}));var FS;(function(t){t.method="window/logMessage",t.messageDirection=G.MessageDirection.serverToClient,t.type=new G.ProtocolNotificationType(t.method)})(FS||(y.LogMessageNotification=FS={}));var US;(function(t){t.method="telemetry/event",t.messageDirection=G.MessageDirection.serverToClient,t.type=new G.ProtocolNotificationType(t.method)})(US||(y.TelemetryEventNotification=US={}));var BS;(function(t){t.None=0,t.Full=1,t.Incremental=2})(BS||(y.TextDocumentSyncKind=BS={}));var GS;(function(t){t.method="textDocument/didOpen",t.messageDirection=G.MessageDirection.clientToServer,t.type=new G.ProtocolNotificationType(t.method)})(GS||(y.DidOpenTextDocumentNotification=GS={}));var XS;(function(t){function e(n){let i=n;return i!=null&&typeof i.text=="string"&&i.range!==void 0&&(i.rangeLength===void 0||typeof i.rangeLength=="number")}t.isIncremental=e;function r(n){let i=n;return i!=null&&typeof i.text=="string"&&i.range===void 0&&i.rangeLength===void 0}t.isFull=r})(XS||(y.TextDocumentContentChangeEvent=XS={}));var HS;(function(t){t.method="textDocument/didChange",t.messageDirection=G.MessageDirection.clientToServer,t.type=new G.ProtocolNotificationType(t.method)})(HS||(y.DidChangeTextDocumentNotification=HS={}));var jS;(function(t){t.method="textDocument/didClose",t.messageDirection=G.MessageDirection.clientToServer,t.type=new G.ProtocolNotificationType(t.method)})(jS||(y.DidCloseTextDocumentNotification=jS={}));var zS;(function(t){t.method="textDocument/didSave",t.messageDirection=G.MessageDirection.clientToServer,t.type=new G.ProtocolNotificationType(t.method)})(zS||(y.DidSaveTextDocumentNotification=zS={}));var qS;(function(t){t.Manual=1,t.AfterDelay=2,t.FocusOut=3})(qS||(y.TextDocumentSaveReason=qS={}));var WS;(function(t){t.method="textDocument/willSave",t.messageDirection=G.MessageDirection.clientToServer,t.type=new G.ProtocolNotificationType(t.method)})(WS||(y.WillSaveTextDocumentNotification=WS={}));var VS;(function(t){t.method="textDocument/willSaveWaitUntil",t.messageDirection=G.MessageDirection.clientToServer,t.type=new G.ProtocolRequestType(t.method)})(VS||(y.WillSaveTextDocumentWaitUntilRequest=VS={}));var YS;(function(t){t.method="workspace/didChangeWatchedFiles",t.messageDirection=G.MessageDirection.clientToServer,t.type=new G.ProtocolNotificationType(t.method)})(YS||(y.DidChangeWatchedFilesNotification=YS={}));var KS;(function(t){t.Created=1,t.Changed=2,t.Deleted=3})(KS||(y.FileChangeType=KS={}));var ZS;(function(t){function e(r){let n=r;return Ot.objectLiteral(n)&&(_S.URI.is(n.baseUri)||_S.WorkspaceFolder.is(n.baseUri))&&Ot.string(n.pattern)}t.is=e})(ZS||(y.RelativePattern=ZS={}));var JS;(function(t){t.Create=1,t.Change=2,t.Delete=4})(JS||(y.WatchKind=JS={}));var QS;(function(t){t.method="textDocument/publishDiagnostics",t.messageDirection=G.MessageDirection.serverToClient,t.type=new G.ProtocolNotificationType(t.method)})(QS||(y.PublishDiagnosticsNotification=QS={}));var eI;(function(t){t.Invoked=1,t.TriggerCharacter=2,t.TriggerForIncompleteCompletions=3})(eI||(y.CompletionTriggerKind=eI={}));var tI;(function(t){t.method="textDocument/completion",t.messageDirection=G.MessageDirection.clientToServer,t.type=new G.ProtocolRequestType(t.method)})(tI||(y.CompletionRequest=tI={}));var rI;(function(t){t.method="completionItem/resolve",t.messageDirection=G.MessageDirection.clientToServer,t.type=new G.ProtocolRequestType(t.method)})(rI||(y.CompletionResolveRequest=rI={}));var nI;(function(t){t.method="textDocument/hover",t.messageDirection=G.MessageDirection.clientToServer,t.type=new G.ProtocolRequestType(t.method)})(nI||(y.HoverRequest=nI={}));var iI;(function(t){t.Invoked=1,t.TriggerCharacter=2,t.ContentChange=3})(iI||(y.SignatureHelpTriggerKind=iI={}));var oI;(function(t){t.method="textDocument/signatureHelp",t.messageDirection=G.MessageDirection.clientToServer,t.type=new G.ProtocolRequestType(t.method)})(oI||(y.SignatureHelpRequest=oI={}));var sI;(function(t){t.method="textDocument/definition",t.messageDirection=G.MessageDirection.clientToServer,t.type=new G.ProtocolRequestType(t.method)})(sI||(y.DefinitionRequest=sI={}));var aI;(function(t){t.method="textDocument/references",t.messageDirection=G.MessageDirection.clientToServer,t.type=new G.ProtocolRequestType(t.method)})(aI||(y.ReferencesRequest=aI={}));var cI;(function(t){t.method="textDocument/documentHighlight",t.messageDirection=G.MessageDirection.clientToServer,t.type=new G.ProtocolRequestType(t.method)})(cI||(y.DocumentHighlightRequest=cI={}));var lI;(function(t){t.method="textDocument/documentSymbol",t.messageDirection=G.MessageDirection.clientToServer,t.type=new G.ProtocolRequestType(t.method)})(lI||(y.DocumentSymbolRequest=lI={}));var uI;(function(t){t.method="textDocument/codeAction",t.messageDirection=G.MessageDirection.clientToServer,t.type=new G.ProtocolRequestType(t.method)})(uI||(y.CodeActionRequest=uI={}));var fI;(function(t){t.method="codeAction/resolve",t.messageDirection=G.MessageDirection.clientToServer,t.type=new G.ProtocolRequestType(t.method)})(fI||(y.CodeActionResolveRequest=fI={}));var dI;(function(t){t.method="workspace/symbol",t.messageDirection=G.MessageDirection.clientToServer,t.type=new G.ProtocolRequestType(t.method)})(dI||(y.WorkspaceSymbolRequest=dI={}));var pI;(function(t){t.method="workspaceSymbol/resolve",t.messageDirection=G.MessageDirection.clientToServer,t.type=new G.ProtocolRequestType(t.method)})(pI||(y.WorkspaceSymbolResolveRequest=pI={}));var hI;(function(t){t.method="textDocument/codeLens",t.messageDirection=G.MessageDirection.clientToServer,t.type=new G.ProtocolRequestType(t.method)})(hI||(y.CodeLensRequest=hI={}));var mI;(function(t){t.method="codeLens/resolve",t.messageDirection=G.MessageDirection.clientToServer,t.type=new G.ProtocolRequestType(t.method)})(mI||(y.CodeLensResolveRequest=mI={}));var gI;(function(t){t.method="workspace/codeLens/refresh",t.messageDirection=G.MessageDirection.serverToClient,t.type=new G.ProtocolRequestType0(t.method)})(gI||(y.CodeLensRefreshRequest=gI={}));var yI;(function(t){t.method="textDocument/documentLink",t.messageDirection=G.MessageDirection.clientToServer,t.type=new G.ProtocolRequestType(t.method)})(yI||(y.DocumentLinkRequest=yI={}));var xI;(function(t){t.method="documentLink/resolve",t.messageDirection=G.MessageDirection.clientToServer,t.type=new G.ProtocolRequestType(t.method)})(xI||(y.DocumentLinkResolveRequest=xI={}));var TI;(function(t){t.method="textDocument/formatting",t.messageDirection=G.MessageDirection.clientToServer,t.type=new G.ProtocolRequestType(t.method)})(TI||(y.DocumentFormattingRequest=TI={}));var _I;(function(t){t.method="textDocument/rangeFormatting",t.messageDirection=G.MessageDirection.clientToServer,t.type=new G.ProtocolRequestType(t.method)})(_I||(y.DocumentRangeFormattingRequest=_I={}));var EI;(function(t){t.method="textDocument/rangesFormatting",t.messageDirection=G.MessageDirection.clientToServer,t.type=new G.ProtocolRequestType(t.method)})(EI||(y.DocumentRangesFormattingRequest=EI={}));var vI;(function(t){t.method="textDocument/onTypeFormatting",t.messageDirection=G.MessageDirection.clientToServer,t.type=new G.ProtocolRequestType(t.method)})(vI||(y.DocumentOnTypeFormattingRequest=vI={}));var RI;(function(t){t.Identifier=1})(RI||(y.PrepareSupportDefaultBehavior=RI={}));var bI;(function(t){t.method="textDocument/rename",t.messageDirection=G.MessageDirection.clientToServer,t.type=new G.ProtocolRequestType(t.method)})(bI||(y.RenameRequest=bI={}));var wI;(function(t){t.method="textDocument/prepareRename",t.messageDirection=G.MessageDirection.clientToServer,t.type=new G.ProtocolRequestType(t.method)})(wI||(y.PrepareRenameRequest=wI={}));var AI;(function(t){t.method="workspace/executeCommand",t.messageDirection=G.MessageDirection.clientToServer,t.type=new G.ProtocolRequestType(t.method)})(AI||(y.ExecuteCommandRequest=AI={}));var SI;(function(t){t.method="workspace/applyEdit",t.messageDirection=G.MessageDirection.serverToClient,t.type=new G.ProtocolRequestType("workspace/applyEdit")})(SI||(y.ApplyWorkspaceEditRequest=SI={}))});var LI=fe(Gp=>{"use strict";Object.defineProperty(Gp,"__esModule",{value:!0});Gp.createProtocolConnection=void 0;var OI=Xo();function iU(t,e,r,n){return OI.ConnectionStrategy.is(n)&&(n={connectionStrategy:n}),(0,OI.createMessageConnection)(t,e,r,n)}Gp.createProtocolConnection=iU});var $I=fe(ar=>{"use strict";var oU=ar&&ar.__createBinding||(Object.create?(function(t,e,r,n){n===void 0&&(n=r);var i=Object.getOwnPropertyDescriptor(e,r);(!i||("get"in i?!e.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,i)}):(function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]})),Xp=ar&&ar.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&oU(e,t,r)};Object.defineProperty(ar,"__esModule",{value:!0});ar.LSPErrorCodes=ar.createProtocolConnection=void 0;Xp(Xo(),ar);Xp((sa(),sf(Vd)),ar);Xp(ft(),ar);Xp(CI(),ar);var sU=LI();Object.defineProperty(ar,"createProtocolConnection",{enumerable:!0,get:function(){return sU.createProtocolConnection}});var DI;(function(t){t.lspReservedErrorRangeStart=-32899,t.RequestFailed=-32803,t.ServerCancelled=-32802,t.ContentModified=-32801,t.RequestCancelled=-32800,t.lspReservedErrorRangeEnd=-32800})(DI||(ar.LSPErrorCodes=DI={}))});var FI=fe(En=>{"use strict";var aU=En&&En.__createBinding||(Object.create?(function(t,e,r,n){n===void 0&&(n=r);var i=Object.getOwnPropertyDescriptor(e,r);(!i||("get"in i?!e.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,i)}):(function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]})),MI=En&&En.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&aU(e,t,r)};Object.defineProperty(En,"__esModule",{value:!0});En.createProtocolConnection=void 0;var cU=wT();MI(wT(),En);MI($I(),En);function lU(t,e,r,n){return(0,cU.createMessageConnection)(t,e,r,n)}En.createProtocolConnection=lU});var dk={};sn(dk,{nodeReadFile:()=>PU});async function PU(){throw new Error("nowline: filesystem readers are unavailable in the browser embed")}var pk=ZE(()=>{});var VX={};sn(VX,{EmbedRenderError:()=>Zu,__resetForTests:()=>WX,init:()=>VE,initialize:()=>HX,parse:()=>zX,render:()=>jX,run:()=>qX,sha:()=>GX,version:()=>BX});var JE="lexing-error",QE="parsing-error";function e0(t){if(!t||typeof t!="object")return!1;let e=t.code;return e===JE||e===QE}function gm(t){let e=[];for(let r of t.parseResult.lexerErrors)e.push({origin:"lexer",error:r});for(let r of t.parseResult.parserErrors)e.push({origin:"parser",error:r});for(let r of t.diagnostics??[]){let n=r;e0(n.data)||e.push({origin:"validation",diagnostic:n})}return e}var $C=/did you mean ['"]?([^'"?]+)['"]?\??/i;function ym(t){let e=t.match($C);return e?e[1].trim():void 0}function t0(t){let e=t.toLowerCase();return e.includes("duplicate identifier")?"duplicate-identifier":e.includes("unknown reference")||e.includes("did you mean")?"unknown-reference":e.includes("circular")?"circular-dependency":e.includes("requires")&&e.includes("date:")?"missing-date":e.includes("duration")?"duration":e.includes("include")?"include":e.includes("indent")?"indentation":"validation"}function r0(t){if(!t||typeof t!="object")return;let e=t;if(typeof e.code=="string"&&Array.isArray(e.args))return e.code}function xm(t){let e=r0(t.data);return e||(typeof t.code=="string"&&t.code!==""?t.code:typeof t.code=="number"?String(t.code):t0(t.message))}var ut={};sn(ut,{AbstractAstReflection:()=>eo,AbstractCstNode:()=>_l,AbstractLangiumParser:()=>El,AbstractParserErrorMessageProvider:()=>Kd,AbstractThreadedAsyncParser:()=>YT,AstUtils:()=>lf,BiMap:()=>Fo,Cancellation:()=>oe,CompositeCstNodeImpl:()=>Oo,ContextCache:()=>Uo,CstNodeBuilder:()=>Tl,CstUtils:()=>kf,DEFAULT_TOKENIZE_OPTIONS:()=>Hp,DONE_RESULT:()=>Mt,DatatypeSymbol:()=>Yd,DefaultAstNodeDescriptionProvider:()=>Fl,DefaultAstNodeLocator:()=>Bl,DefaultAsyncParser:()=>ou,DefaultCommentProvider:()=>iu,DefaultConfigurationProvider:()=>Gl,DefaultDocumentBuilder:()=>Zl,DefaultDocumentValidator:()=>Ml,DefaultHydrator:()=>au,DefaultIndexManager:()=>Jl,DefaultJsonSerializer:()=>Ll,DefaultLangiumDocumentFactory:()=>wl,DefaultLangiumDocuments:()=>Al,DefaultLangiumProfiler:()=>QT,DefaultLexer:()=>jo,DefaultLexerErrorMessageProvider:()=>eu,DefaultLinker:()=>Sl,DefaultNameProvider:()=>Il,DefaultReferenceDescriptionProvider:()=>Ul,DefaultReferences:()=>kl,DefaultScopeComputation:()=>Nl,DefaultScopeProvider:()=>Ol,DefaultServiceRegistry:()=>Dl,DefaultTokenBuilder:()=>Do,DefaultValueConverter:()=>$o,DefaultWorkspaceLock:()=>su,DefaultWorkspaceManager:()=>Ql,Deferred:()=>Jt,Disposable:()=>Bi,DisposableCache:()=>ma,DocumentCache:()=>op,DocumentState:()=>ye,DocumentValidator:()=>Ar,EMPTY_SCOPE:()=>h2,EMPTY_STREAM:()=>oi,EmptyFileSystem:()=>du,EmptyFileSystemProvider:()=>Wp,ErrorWithLocation:()=>go,GrammarAST:()=>Dc,GrammarUtils:()=>ws,IndentationAwareLexer:()=>fu,IndentationAwareTokenBuilder:()=>Ma,JSDocDocumentationProvider:()=>nu,LangiumCompletionParser:()=>Rl,LangiumParser:()=>vl,LangiumParserErrorMessageProvider:()=>ca,LeafCstNodeImpl:()=>Co,LexingMode:()=>qo,MapScope:()=>mx,Module:()=>ZT,MultiMap:()=>Bt,MultiMapScope:()=>Pl,OperationCancelled:()=>wr,ParserWorker:()=>KT,ProfilingTask:()=>Yp,Reduction:()=>us,RefResolving:()=>Mo,RegExpUtils:()=>Cf,RootCstNodeImpl:()=>aa,SimpleCache:()=>Cl,StreamImpl:()=>fr,StreamScope:()=>ha,TextDocument:()=>fa,TreeStreamImpl:()=>an,URI:()=>ht,UriTrie:()=>pa,UriUtils:()=>vt,VALIDATE_EACH_NODE:()=>uw,ValidationCategory:()=>sp,ValidationRegistry:()=>$l,ValueConverter:()=>gn,WorkspaceCache:()=>ga,assertCondition:()=>l0,assertUnreachable:()=>un,createCompletionParser:()=>nx,createDefaultCoreModule:()=>cu,createDefaultSharedCoreModule:()=>lu,createGrammarConfig:()=>lg,createLangiumParser:()=>ix,createParser:()=>bl,delayNextTick:()=>px,diagnosticData:()=>Bo,eagerLoad:()=>VI,getDiagnosticRange:()=>fw,indentationBuilderDefaultOptions:()=>JT,inject:()=>zo,interruptAndCheck:()=>pt,isAstNode:()=>dt,isAstNodeDescription:()=>Tm,isAstNodeWithComment:()=>gx,isCompositeCstNode:()=>$r,isIMultiModeLexerDefinition:()=>HT,isJSDoc:()=>WT,isLeafCstNode:()=>ii,isLinkingError:()=>to,isMultiReference:()=>ur,isNamed:()=>cw,isOperationCancelled:()=>yn,isReference:()=>St,isRootCstNode:()=>Rc,isTokenTypeArray:()=>jp,isTokenTypeDictionary:()=>XT,loadGrammarFromJson:()=>Vp,parseJSDoc:()=>qT,prepareLangiumParser:()=>Kb,setInterruptionPeriod:()=>nw,startCancelableOperation:()=>np,stream:()=>xe,toDiagnosticData:()=>dw,toDiagnosticSeverity:()=>ap});var kf={};sn(kf,{DefaultNameRegexp:()=>If,RangeComparison:()=>ln,compareRange:()=>o0,findCommentNode:()=>jm,findDeclarationNodeAtOffset:()=>oO,findLeafNodeAtOffset:()=>zm,findLeafNodeBeforeOffset:()=>s0,flattenCst:()=>iO,getDatatypeNode:()=>nO,getInteriorNodes:()=>cO,getNextNode:()=>sO,getPreviousNode:()=>c0,getStartlineNode:()=>aO,inRange:()=>Rm,isChildNode:()=>Hm,isCommentNode:()=>Xm,streamCst:()=>ho,toDocumentSegment:()=>mo,tokenToRange:()=>Es});function dt(t){return typeof t=="object"&&t!==null&&typeof t.$type=="string"}function St(t){return typeof t=="object"&&t!==null&&typeof t.$refText=="string"&&"ref"in t}function ur(t){return typeof t=="object"&&t!==null&&typeof t.$refText=="string"&&"items"in t}function Tm(t){return typeof t=="object"&&t!==null&&typeof t.name=="string"&&typeof t.type=="string"&&typeof t.path=="string"}function to(t){return typeof t=="object"&&t!==null&&typeof t.info=="object"&&typeof t.message=="string"}var eo=class{constructor(){this.subtypes={},this.allSubtypes={}}getAllTypes(){return Object.keys(this.types)}getReferenceType(e){let r=this.types[e.container.$type];if(!r)throw new Error(`Type ${e.container.$type||"undefined"} not found.`);let n=r.properties[e.property]?.referenceType;if(!n)throw new Error(`Property ${e.property||"undefined"} of type ${e.container.$type} is not a reference.`);return n}getTypeMetaData(e){let r=this.types[e];return r||{name:e,properties:{},superTypes:[]}}isInstance(e,r){return dt(e)&&this.isSubtype(e.$type,r)}isSubtype(e,r){if(e===r)return!0;let n=this.subtypes[e];n||(n=this.subtypes[e]={});let i=n[r];if(i!==void 0)return i;{let o=this.types[e],s=o?o.superTypes.some(a=>this.isSubtype(a,r)):!1;return n[r]=s,s}}getAllSubTypes(e){let r=this.allSubtypes[e];if(r)return r;{let n=this.getAllTypes(),i=[];for(let o of n)this.isSubtype(o,e)&&i.push(o);return this.allSubtypes[e]=i,i}}};function $r(t){return typeof t=="object"&&t!==null&&Array.isArray(t.content)}function ii(t){return typeof t=="object"&&t!==null&&typeof t.tokenType=="object"}function Rc(t){return $r(t)&&typeof t.fullText=="string"}var fr=class t{constructor(e,r){this.startFn=e,this.nextFn=r}iterator(){let e={state:this.startFn(),next:()=>this.nextFn(e.state),[Symbol.iterator]:()=>e};return e}[Symbol.iterator](){return this.iterator()}isEmpty(){return!!this.iterator().next().done}count(){let e=this.iterator(),r=0,n=e.next();for(;!n.done;)r++,n=e.next();return r}toArray(){let e=[],r=this.iterator(),n;do n=r.next(),n.value!==void 0&&e.push(n.value);while(!n.done);return e}toSet(){return new Set(this)}toMap(e,r){let n=this.map(i=>[e?e(i):i,r?r(i):i]);return new Map(n)}toString(){return this.join()}concat(e){return new t(()=>({first:this.startFn(),firstDone:!1,iterator:e[Symbol.iterator]()}),r=>{let n;if(!r.firstDone){do if(n=this.nextFn(r.first),!n.done)return n;while(!n.done);r.firstDone=!0}do if(n=r.iterator.next(),!n.done)return n;while(!n.done);return Mt})}join(e=","){let r=this.iterator(),n="",i,o=!1;do i=r.next(),i.done||(o&&(n+=e),n+=FC(i.value)),o=!0;while(!i.done);return n}indexOf(e,r=0){let n=this.iterator(),i=0,o=n.next();for(;!o.done;){if(i>=r&&o.value===e)return i;o=n.next(),i++}return-1}every(e){let r=this.iterator(),n=r.next();for(;!n.done;){if(!e(n.value))return!1;n=r.next()}return!0}some(e){let r=this.iterator(),n=r.next();for(;!n.done;){if(e(n.value))return!0;n=r.next()}return!1}forEach(e){let r=this.iterator(),n=0,i=r.next();for(;!i.done;)e(i.value,n),i=r.next(),n++}map(e){return new t(this.startFn,r=>{let{done:n,value:i}=this.nextFn(r);return n?Mt:{done:!1,value:e(i)}})}filter(e){return new t(this.startFn,r=>{let n;do if(n=this.nextFn(r),!n.done&&e(n.value))return n;while(!n.done);return Mt})}nonNullable(){return this.filter(e=>e!=null)}reduce(e,r){let n=this.iterator(),i=r,o=n.next();for(;!o.done;)i===void 0?i=o.value:i=e(i,o.value),o=n.next();return i}reduceRight(e,r){return this.recursiveReduce(this.iterator(),e,r)}recursiveReduce(e,r,n){let i=e.next();if(i.done)return n;let o=this.recursiveReduce(e,r,n);return o===void 0?i.value:r(o,i.value)}find(e){let r=this.iterator(),n=r.next();for(;!n.done;){if(e(n.value))return n.value;n=r.next()}}findIndex(e){let r=this.iterator(),n=0,i=r.next();for(;!i.done;){if(e(i.value))return n;i=r.next(),n++}return-1}includes(e){let r=this.iterator(),n=r.next();for(;!n.done;){if(n.value===e)return!0;n=r.next()}return!1}flatMap(e){return new t(()=>({this:this.startFn()}),r=>{do{if(r.iterator){let o=r.iterator.next();if(o.done)r.iterator=void 0;else return o}let{done:n,value:i}=this.nextFn(r.this);if(!n){let o=e(i);if(af(o))r.iterator=o[Symbol.iterator]();else return{done:!1,value:o}}}while(r.iterator);return Mt})}flat(e){if(e===void 0&&(e=1),e<=0)return this;let r=e>1?this.flat(e-1):this;return new t(()=>({this:r.startFn()}),n=>{do{if(n.iterator){let s=n.iterator.next();if(s.done)n.iterator=void 0;else return s}let{done:i,value:o}=r.nextFn(n.this);if(!i)if(af(o))n.iterator=o[Symbol.iterator]();else return{done:!1,value:o}}while(n.iterator);return Mt})}head(){let r=this.iterator().next();if(!r.done)return r.value}tail(e=1){return new t(()=>{let r=this.startFn();for(let n=0;n<e;n++)if(this.nextFn(r).done)return r;return r},this.nextFn)}limit(e){return new t(()=>({size:0,state:this.startFn()}),r=>(r.size++,r.size>e?Mt:this.nextFn(r.state)))}distinct(e){return new t(()=>({set:new Set,internalState:this.startFn()}),r=>{let n;do if(n=this.nextFn(r.internalState),!n.done){let i=e?e(n.value):n.value;if(!r.set.has(i))return r.set.add(i),n}while(!n.done);return Mt})}exclude(e,r){let n=new Set;for(let i of e){let o=r?r(i):i;n.add(o)}return this.filter(i=>{let o=r?r(i):i;return!n.has(o)})}};function FC(t){return typeof t=="string"?t:typeof t>"u"?"undefined":typeof t.toString=="function"?t.toString():Object.prototype.toString.call(t)}function af(t){return!!t&&typeof t[Symbol.iterator]=="function"}var oi=new fr(()=>{},()=>Mt),Mt=Object.freeze({done:!0,value:void 0});function xe(...t){if(t.length===1){let e=t[0];if(e instanceof fr)return e;if(af(e))return new fr(()=>e[Symbol.iterator](),r=>r.next());if(typeof e.length=="number")return new fr(()=>({index:0}),r=>r.index<e.length?{done:!1,value:e[r.index++]}:Mt)}return t.length>1?new fr(()=>({collIndex:0,arrIndex:0}),e=>{do{if(e.iterator){let r=e.iterator.next();if(!r.done)return r;e.iterator=void 0}if(e.array){if(e.arrIndex<e.array.length)return{done:!1,value:e.array[e.arrIndex++]};e.array=void 0,e.arrIndex=0}if(e.collIndex<t.length){let r=t[e.collIndex++];af(r)?e.iterator=r[Symbol.iterator]():r&&typeof r.length=="number"&&(e.array=r)}}while(e.iterator||e.array||e.collIndex<t.length);return Mt}):oi}var an=class extends fr{constructor(e,r,n){super(()=>({iterators:n?.includeRoot?[[e][Symbol.iterator]()]:[r(e)[Symbol.iterator]()],pruned:!1}),i=>{for(i.pruned&&(i.iterators.pop(),i.pruned=!1);i.iterators.length>0;){let s=i.iterators[i.iterators.length-1].next();if(s.done)i.iterators.pop();else return i.iterators.push(r(s.value)[Symbol.iterator]()),s}return Mt})}iterator(){let e={state:this.startFn(),next:()=>this.nextFn(e.state),prune:()=>{e.state.pruned=!0},[Symbol.iterator]:()=>e};return e}},us;(function(t){function e(o){return o.reduce((s,a)=>s+a,0)}t.sum=e;function r(o){return o.reduce((s,a)=>s*a,0)}t.product=r;function n(o){return o.reduce((s,a)=>Math.min(s,a))}t.min=n;function i(o){return o.reduce((s,a)=>Math.max(s,a))}t.max=i})(us||(us={}));var lf={};sn(lf,{assignMandatoryProperties:()=>vm,copyAstNode:()=>Em,findRootNode:()=>ds,getContainerOfType:()=>Nn,getDocument:()=>Ft,getReferenceNodes:()=>cf,hasContainerOfType:()=>UC,linkContentToContainer:()=>fs,streamAllContents:()=>Mr,streamAst:()=>zt,streamContents:()=>bc,streamReferences:()=>si});function fs(t,e={}){for(let[r,n]of Object.entries(t))r.startsWith("$")||(Array.isArray(n)?n.forEach((i,o)=>{dt(i)&&(i.$container=t,i.$containerProperty=r,i.$containerIndex=o,e.deep&&fs(i,e))}):dt(n)&&(n.$container=t,n.$containerProperty=r,e.deep&&fs(n,e)))}function Nn(t,e){let r=t;for(;r;){if(e(r))return r;r=r.$container}}function UC(t,e){let r=t;for(;r;){if(e(r))return!0;r=r.$container}return!1}function Ft(t){let r=ds(t).$document;if(!r)throw new Error("AST node has no document.");return r}function ds(t){for(;t.$container;)t=t.$container;return t}function cf(t){return St(t)?t.ref?[t.ref]:[]:ur(t)?t.items.map(e=>e.ref):[]}function bc(t,e){if(!t)throw new Error("Node must be an AstNode.");let r=e?.range;return new fr(()=>({keys:Object.keys(t),keyIndex:0,arrayIndex:0}),n=>{for(;n.keyIndex<n.keys.length;){let i=n.keys[n.keyIndex];if(!i.startsWith("$")){let o=t[i];if(dt(o)){if(n.keyIndex++,_m(o,r))return{done:!1,value:o}}else if(Array.isArray(o)){for(;n.arrayIndex<o.length;){let s=n.arrayIndex++,a=o[s];if(dt(a)&&_m(a,r))return{done:!1,value:a}}n.arrayIndex=0}}n.keyIndex++}return Mt})}function Mr(t,e){if(!t)throw new Error("Root node must be an AstNode.");return new an(t,r=>bc(r,e))}function zt(t,e){if(t){if(e?.range&&!_m(t,e.range))return new an(t,()=>[])}else throw new Error("Root node must be an AstNode.");return new an(t,r=>bc(r,e),{includeRoot:!0})}function _m(t,e){if(!e)return!0;let r=t.$cstNode?.range;return r?Rm(r,e):!1}function si(t){return new fr(()=>({keys:Object.keys(t),keyIndex:0,arrayIndex:0}),e=>{for(;e.keyIndex<e.keys.length;){let r=e.keys[e.keyIndex];if(!r.startsWith("$")){let n=t[r];if(St(n)||ur(n))return e.keyIndex++,{done:!1,value:{reference:n,container:t,property:r}};if(Array.isArray(n)){for(;e.arrayIndex<n.length;){let i=e.arrayIndex++,o=n[i];if(St(o)||ur(n))return{done:!1,value:{reference:o,container:t,property:r,index:i}}}e.arrayIndex=0}}e.keyIndex++}return Mt})}function vm(t,e){let r=t.getTypeMetaData(e.$type),n=e;for(let i of Object.values(r.properties))i.defaultValue!==void 0&&n[i.name]===void 0&&(n[i.name]=n0(i.defaultValue))}function n0(t){return Array.isArray(t)?[...t.map(n0)]:t}function Em(t,e,r){let n={$type:t.$type};r&&(r.set(t,n),r.set(n,t));for(let[i,o]of Object.entries(t))if(!i.startsWith("$"))if(dt(o))n[i]=Em(o,e,r);else if(St(o))n[i]=e(n,i,o.$refNode,o.$refText,o);else if(Array.isArray(o)){let s=[];for(let a of o)dt(a)?s.push(Em(a,e,r)):St(a)?s.push(e(n,i,a.$refNode,a.$refText,a)):s.push(a);n[i]=s}else n[i]=o;return fs(n,{deep:!0}),n}var Dc={};sn(Dc,{AbstractElement:()=>tr,AbstractParserRule:()=>wc,AbstractRule:()=>ps,AbstractType:()=>dr,Action:()=>ai,Alternatives:()=>Ac,ArrayLiteral:()=>uf,ArrayType:()=>ff,Assignment:()=>ci,BooleanLiteral:()=>df,CharacterRange:()=>li,Condition:()=>ui,Conjunction:()=>Sc,CrossReference:()=>fi,Disjunction:()=>Ic,EndOfFile:()=>pf,Grammar:()=>Pn,GrammarImport:()=>hf,Group:()=>ro,InferredType:()=>mf,InfixRule:()=>cn,InfixRuleOperatorList:()=>kc,InfixRuleOperators:()=>gf,Interface:()=>hs,Keyword:()=>ms,LangiumGrammarAstReflection:()=>_s,LangiumGrammarTerminals:()=>BC,NamedArgument:()=>gs,NegatedToken:()=>no,Negation:()=>yf,NumberLiteral:()=>xf,Parameter:()=>ys,ParameterReference:()=>Tf,ParserRule:()=>Fr,ReferenceType:()=>Nc,RegexToken:()=>io,ReturnType:()=>_f,RuleCall:()=>oo,SimpleType:()=>xs,StringLiteral:()=>Ef,TerminalAlternatives:()=>so,TerminalElement:()=>rr,TerminalGroup:()=>ao,TerminalRule:()=>Cn,TerminalRuleCall:()=>co,Type:()=>Pc,TypeAttribute:()=>lo,TypeDefinition:()=>uo,UnionType:()=>vf,UnorderedGroup:()=>Cc,UntilToken:()=>fo,ValueLiteral:()=>po,Wildcard:()=>Ts,isAbstractElement:()=>Oc,isAbstractParserRule:()=>On,isAbstractRule:()=>GC,isAbstractType:()=>XC,isAction:()=>Ln,isAlternatives:()=>Rf,isArrayLiteral:()=>HC,isArrayType:()=>bm,isAssignment:()=>Ur,isBooleanLiteral:()=>wm,isCharacterRange:()=>Am,isCondition:()=>jC,isConjunction:()=>Sm,isCrossReference:()=>Br,isDisjunction:()=>Im,isEndOfFile:()=>km,isGrammar:()=>zC,isGrammarImport:()=>qC,isGroup:()=>di,isInferredType:()=>Lc,isInfixRule:()=>pi,isInfixRuleOperatorList:()=>WC,isInfixRuleOperators:()=>VC,isInterface:()=>Nm,isKeyword:()=>Rr,isNamedArgument:()=>YC,isNegatedToken:()=>Pm,isNegation:()=>Cm,isNumberLiteral:()=>KC,isParameter:()=>ZC,isParameterReference:()=>Om,isParserRule:()=>Nt,isReferenceType:()=>Lm,isRegexToken:()=>Dm,isReturnType:()=>$m,isRuleCall:()=>Gr,isSimpleType:()=>bf,isStringLiteral:()=>JC,isTerminalAlternatives:()=>Mm,isTerminalElement:()=>QC,isTerminalGroup:()=>Fm,isTerminalRule:()=>qt,isTerminalRuleCall:()=>wf,isType:()=>Af,isTypeAttribute:()=>eO,isTypeDefinition:()=>tO,isUnionType:()=>Um,isUnorderedGroup:()=>Sf,isUntilToken:()=>Bm,isValueLiteral:()=>rO,isWildcard:()=>Gm,reflection:()=>ie});var BC={ID:/\^?[_a-zA-Z][\w_]*/,STRING:/"(\\.|[^"\\])*"|'(\\.|[^'\\])*'/,NUMBER:/NaN|-?((\d*\.\d+|\d+)([Ee][+-]?\d+)?|Infinity)/,RegexLiteral:/\/(?![*+?])(?:[^\r\n\[/\\]|\\.|\[(?:[^\r\n\]\\]|\\.)*\])+\/[a-z]*/,WS:/\s+/,ML_COMMENT:/\/\*[\s\S]*?\*\//,SL_COMMENT:/\/\/[^\n\r]*/},tr={$type:"AbstractElement",cardinality:"cardinality"};function Oc(t){return ie.isInstance(t,tr.$type)}var wc={$type:"AbstractParserRule"};function On(t){return ie.isInstance(t,wc.$type)}var ps={$type:"AbstractRule"};function GC(t){return ie.isInstance(t,ps.$type)}var dr={$type:"AbstractType"};function XC(t){return ie.isInstance(t,dr.$type)}var ai={$type:"Action",cardinality:"cardinality",feature:"feature",inferredType:"inferredType",operator:"operator",type:"type"};function Ln(t){return ie.isInstance(t,ai.$type)}var Ac={$type:"Alternatives",cardinality:"cardinality",elements:"elements"};function Rf(t){return ie.isInstance(t,Ac.$type)}var uf={$type:"ArrayLiteral",elements:"elements"};function HC(t){return ie.isInstance(t,uf.$type)}var ff={$type:"ArrayType",elementType:"elementType"};function bm(t){return ie.isInstance(t,ff.$type)}var ci={$type:"Assignment",cardinality:"cardinality",feature:"feature",operator:"operator",predicate:"predicate",terminal:"terminal"};function Ur(t){return ie.isInstance(t,ci.$type)}var df={$type:"BooleanLiteral",true:"true"};function wm(t){return ie.isInstance(t,df.$type)}var li={$type:"CharacterRange",cardinality:"cardinality",left:"left",lookahead:"lookahead",parenthesized:"parenthesized",right:"right"};function Am(t){return ie.isInstance(t,li.$type)}var ui={$type:"Condition"};function jC(t){return ie.isInstance(t,ui.$type)}var Sc={$type:"Conjunction",left:"left",right:"right"};function Sm(t){return ie.isInstance(t,Sc.$type)}var fi={$type:"CrossReference",cardinality:"cardinality",deprecatedSyntax:"deprecatedSyntax",isMulti:"isMulti",terminal:"terminal",type:"type"};function Br(t){return ie.isInstance(t,fi.$type)}var Ic={$type:"Disjunction",left:"left",right:"right"};function Im(t){return ie.isInstance(t,Ic.$type)}var pf={$type:"EndOfFile",cardinality:"cardinality"};function km(t){return ie.isInstance(t,pf.$type)}var Pn={$type:"Grammar",imports:"imports",interfaces:"interfaces",isDeclared:"isDeclared",name:"name",rules:"rules",types:"types"};function zC(t){return ie.isInstance(t,Pn.$type)}var hf={$type:"GrammarImport",path:"path"};function qC(t){return ie.isInstance(t,hf.$type)}var ro={$type:"Group",cardinality:"cardinality",elements:"elements",guardCondition:"guardCondition",predicate:"predicate"};function di(t){return ie.isInstance(t,ro.$type)}var mf={$type:"InferredType",name:"name"};function Lc(t){return ie.isInstance(t,mf.$type)}var cn={$type:"InfixRule",call:"call",dataType:"dataType",inferredType:"inferredType",name:"name",operators:"operators",parameters:"parameters",returnType:"returnType"};function pi(t){return ie.isInstance(t,cn.$type)}var kc={$type:"InfixRuleOperatorList",associativity:"associativity",operators:"operators"};function WC(t){return ie.isInstance(t,kc.$type)}var gf={$type:"InfixRuleOperators",precedences:"precedences"};function VC(t){return ie.isInstance(t,gf.$type)}var hs={$type:"Interface",attributes:"attributes",name:"name",superTypes:"superTypes"};function Nm(t){return ie.isInstance(t,hs.$type)}var ms={$type:"Keyword",cardinality:"cardinality",predicate:"predicate",value:"value"};function Rr(t){return ie.isInstance(t,ms.$type)}var gs={$type:"NamedArgument",calledByName:"calledByName",parameter:"parameter",value:"value"};function YC(t){return ie.isInstance(t,gs.$type)}var no={$type:"NegatedToken",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized",terminal:"terminal"};function Pm(t){return ie.isInstance(t,no.$type)}var yf={$type:"Negation",value:"value"};function Cm(t){return ie.isInstance(t,yf.$type)}var xf={$type:"NumberLiteral",value:"value"};function KC(t){return ie.isInstance(t,xf.$type)}var ys={$type:"Parameter",name:"name"};function ZC(t){return ie.isInstance(t,ys.$type)}var Tf={$type:"ParameterReference",parameter:"parameter"};function Om(t){return ie.isInstance(t,Tf.$type)}var Fr={$type:"ParserRule",dataType:"dataType",definition:"definition",entry:"entry",fragment:"fragment",inferredType:"inferredType",name:"name",parameters:"parameters",returnType:"returnType"};function Nt(t){return ie.isInstance(t,Fr.$type)}var Nc={$type:"ReferenceType",isMulti:"isMulti",referenceType:"referenceType"};function Lm(t){return ie.isInstance(t,Nc.$type)}var io={$type:"RegexToken",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized",regex:"regex"};function Dm(t){return ie.isInstance(t,io.$type)}var _f={$type:"ReturnType",name:"name"};function $m(t){return ie.isInstance(t,_f.$type)}var oo={$type:"RuleCall",arguments:"arguments",cardinality:"cardinality",predicate:"predicate",rule:"rule"};function Gr(t){return ie.isInstance(t,oo.$type)}var xs={$type:"SimpleType",primitiveType:"primitiveType",stringType:"stringType",typeRef:"typeRef"};function bf(t){return ie.isInstance(t,xs.$type)}var Ef={$type:"StringLiteral",value:"value"};function JC(t){return ie.isInstance(t,Ef.$type)}var so={$type:"TerminalAlternatives",cardinality:"cardinality",elements:"elements",lookahead:"lookahead",parenthesized:"parenthesized"};function Mm(t){return ie.isInstance(t,so.$type)}var rr={$type:"TerminalElement",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized"};function QC(t){return ie.isInstance(t,rr.$type)}var ao={$type:"TerminalGroup",cardinality:"cardinality",elements:"elements",lookahead:"lookahead",parenthesized:"parenthesized"};function Fm(t){return ie.isInstance(t,ao.$type)}var Cn={$type:"TerminalRule",definition:"definition",fragment:"fragment",hidden:"hidden",name:"name",type:"type"};function qt(t){return ie.isInstance(t,Cn.$type)}var co={$type:"TerminalRuleCall",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized",rule:"rule"};function wf(t){return ie.isInstance(t,co.$type)}var Pc={$type:"Type",name:"name",type:"type"};function Af(t){return ie.isInstance(t,Pc.$type)}var lo={$type:"TypeAttribute",defaultValue:"defaultValue",isOptional:"isOptional",name:"name",type:"type"};function eO(t){return ie.isInstance(t,lo.$type)}var uo={$type:"TypeDefinition"};function tO(t){return ie.isInstance(t,uo.$type)}var vf={$type:"UnionType",types:"types"};function Um(t){return ie.isInstance(t,vf.$type)}var Cc={$type:"UnorderedGroup",cardinality:"cardinality",elements:"elements"};function Sf(t){return ie.isInstance(t,Cc.$type)}var fo={$type:"UntilToken",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized",terminal:"terminal"};function Bm(t){return ie.isInstance(t,fo.$type)}var po={$type:"ValueLiteral"};function rO(t){return ie.isInstance(t,po.$type)}var Ts={$type:"Wildcard",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized"};function Gm(t){return ie.isInstance(t,Ts.$type)}var _s=class extends eo{constructor(){super(...arguments),this.types={AbstractElement:{name:tr.$type,properties:{cardinality:{name:tr.cardinality}},superTypes:[]},AbstractParserRule:{name:wc.$type,properties:{},superTypes:[ps.$type,dr.$type]},AbstractRule:{name:ps.$type,properties:{},superTypes:[]},AbstractType:{name:dr.$type,properties:{},superTypes:[]},Action:{name:ai.$type,properties:{cardinality:{name:ai.cardinality},feature:{name:ai.feature},inferredType:{name:ai.inferredType},operator:{name:ai.operator},type:{name:ai.type,referenceType:dr.$type}},superTypes:[tr.$type]},Alternatives:{name:Ac.$type,properties:{cardinality:{name:Ac.cardinality},elements:{name:Ac.elements,defaultValue:[]}},superTypes:[tr.$type]},ArrayLiteral:{name:uf.$type,properties:{elements:{name:uf.elements,defaultValue:[]}},superTypes:[po.$type]},ArrayType:{name:ff.$type,properties:{elementType:{name:ff.elementType}},superTypes:[uo.$type]},Assignment:{name:ci.$type,properties:{cardinality:{name:ci.cardinality},feature:{name:ci.feature},operator:{name:ci.operator},predicate:{name:ci.predicate},terminal:{name:ci.terminal}},superTypes:[tr.$type]},BooleanLiteral:{name:df.$type,properties:{true:{name:df.true,defaultValue:!1}},superTypes:[ui.$type,po.$type]},CharacterRange:{name:li.$type,properties:{cardinality:{name:li.cardinality},left:{name:li.left},lookahead:{name:li.lookahead},parenthesized:{name:li.parenthesized,defaultValue:!1},right:{name:li.right}},superTypes:[rr.$type]},Condition:{name:ui.$type,properties:{},superTypes:[]},Conjunction:{name:Sc.$type,properties:{left:{name:Sc.left},right:{name:Sc.right}},superTypes:[ui.$type]},CrossReference:{name:fi.$type,properties:{cardinality:{name:fi.cardinality},deprecatedSyntax:{name:fi.deprecatedSyntax,defaultValue:!1},isMulti:{name:fi.isMulti,defaultValue:!1},terminal:{name:fi.terminal},type:{name:fi.type,referenceType:dr.$type}},superTypes:[tr.$type]},Disjunction:{name:Ic.$type,properties:{left:{name:Ic.left},right:{name:Ic.right}},superTypes:[ui.$type]},EndOfFile:{name:pf.$type,properties:{cardinality:{name:pf.cardinality}},superTypes:[tr.$type]},Grammar:{name:Pn.$type,properties:{imports:{name:Pn.imports,defaultValue:[]},interfaces:{name:Pn.interfaces,defaultValue:[]},isDeclared:{name:Pn.isDeclared,defaultValue:!1},name:{name:Pn.name},rules:{name:Pn.rules,defaultValue:[]},types:{name:Pn.types,defaultValue:[]}},superTypes:[]},GrammarImport:{name:hf.$type,properties:{path:{name:hf.path}},superTypes:[]},Group:{name:ro.$type,properties:{cardinality:{name:ro.cardinality},elements:{name:ro.elements,defaultValue:[]},guardCondition:{name:ro.guardCondition},predicate:{name:ro.predicate}},superTypes:[tr.$type]},InferredType:{name:mf.$type,properties:{name:{name:mf.name}},superTypes:[dr.$type]},InfixRule:{name:cn.$type,properties:{call:{name:cn.call},dataType:{name:cn.dataType},inferredType:{name:cn.inferredType},name:{name:cn.name},operators:{name:cn.operators},parameters:{name:cn.parameters,defaultValue:[]},returnType:{name:cn.returnType,referenceType:dr.$type}},superTypes:[wc.$type]},InfixRuleOperatorList:{name:kc.$type,properties:{associativity:{name:kc.associativity},operators:{name:kc.operators,defaultValue:[]}},superTypes:[]},InfixRuleOperators:{name:gf.$type,properties:{precedences:{name:gf.precedences,defaultValue:[]}},superTypes:[]},Interface:{name:hs.$type,properties:{attributes:{name:hs.attributes,defaultValue:[]},name:{name:hs.name},superTypes:{name:hs.superTypes,defaultValue:[],referenceType:dr.$type}},superTypes:[dr.$type]},Keyword:{name:ms.$type,properties:{cardinality:{name:ms.cardinality},predicate:{name:ms.predicate},value:{name:ms.value}},superTypes:[tr.$type]},NamedArgument:{name:gs.$type,properties:{calledByName:{name:gs.calledByName,defaultValue:!1},parameter:{name:gs.parameter,referenceType:ys.$type},value:{name:gs.value}},superTypes:[]},NegatedToken:{name:no.$type,properties:{cardinality:{name:no.cardinality},lookahead:{name:no.lookahead},parenthesized:{name:no.parenthesized,defaultValue:!1},terminal:{name:no.terminal}},superTypes:[rr.$type]},Negation:{name:yf.$type,properties:{value:{name:yf.value}},superTypes:[ui.$type]},NumberLiteral:{name:xf.$type,properties:{value:{name:xf.value}},superTypes:[po.$type]},Parameter:{name:ys.$type,properties:{name:{name:ys.name}},superTypes:[]},ParameterReference:{name:Tf.$type,properties:{parameter:{name:Tf.parameter,referenceType:ys.$type}},superTypes:[ui.$type]},ParserRule:{name:Fr.$type,properties:{dataType:{name:Fr.dataType},definition:{name:Fr.definition},entry:{name:Fr.entry,defaultValue:!1},fragment:{name:Fr.fragment,defaultValue:!1},inferredType:{name:Fr.inferredType},name:{name:Fr.name},parameters:{name:Fr.parameters,defaultValue:[]},returnType:{name:Fr.returnType,referenceType:dr.$type}},superTypes:[wc.$type]},ReferenceType:{name:Nc.$type,properties:{isMulti:{name:Nc.isMulti,defaultValue:!1},referenceType:{name:Nc.referenceType}},superTypes:[uo.$type]},RegexToken:{name:io.$type,properties:{cardinality:{name:io.cardinality},lookahead:{name:io.lookahead},parenthesized:{name:io.parenthesized,defaultValue:!1},regex:{name:io.regex}},superTypes:[rr.$type]},ReturnType:{name:_f.$type,properties:{name:{name:_f.name}},superTypes:[]},RuleCall:{name:oo.$type,properties:{arguments:{name:oo.arguments,defaultValue:[]},cardinality:{name:oo.cardinality},predicate:{name:oo.predicate},rule:{name:oo.rule,referenceType:ps.$type}},superTypes:[tr.$type]},SimpleType:{name:xs.$type,properties:{primitiveType:{name:xs.primitiveType},stringType:{name:xs.stringType},typeRef:{name:xs.typeRef,referenceType:dr.$type}},superTypes:[uo.$type]},StringLiteral:{name:Ef.$type,properties:{value:{name:Ef.value}},superTypes:[po.$type]},TerminalAlternatives:{name:so.$type,properties:{cardinality:{name:so.cardinality},elements:{name:so.elements,defaultValue:[]},lookahead:{name:so.lookahead},parenthesized:{name:so.parenthesized,defaultValue:!1}},superTypes:[rr.$type]},TerminalElement:{name:rr.$type,properties:{cardinality:{name:rr.cardinality},lookahead:{name:rr.lookahead},parenthesized:{name:rr.parenthesized,defaultValue:!1}},superTypes:[tr.$type]},TerminalGroup:{name:ao.$type,properties:{cardinality:{name:ao.cardinality},elements:{name:ao.elements,defaultValue:[]},lookahead:{name:ao.lookahead},parenthesized:{name:ao.parenthesized,defaultValue:!1}},superTypes:[rr.$type]},TerminalRule:{name:Cn.$type,properties:{definition:{name:Cn.definition},fragment:{name:Cn.fragment,defaultValue:!1},hidden:{name:Cn.hidden,defaultValue:!1},name:{name:Cn.name},type:{name:Cn.type}},superTypes:[ps.$type]},TerminalRuleCall:{name:co.$type,properties:{cardinality:{name:co.cardinality},lookahead:{name:co.lookahead},parenthesized:{name:co.parenthesized,defaultValue:!1},rule:{name:co.rule,referenceType:Cn.$type}},superTypes:[rr.$type]},Type:{name:Pc.$type,properties:{name:{name:Pc.name},type:{name:Pc.type}},superTypes:[dr.$type]},TypeAttribute:{name:lo.$type,properties:{defaultValue:{name:lo.defaultValue},isOptional:{name:lo.isOptional,defaultValue:!1},name:{name:lo.name},type:{name:lo.type}},superTypes:[]},TypeDefinition:{name:uo.$type,properties:{},superTypes:[]},UnionType:{name:vf.$type,properties:{types:{name:vf.types,defaultValue:[]}},superTypes:[uo.$type]},UnorderedGroup:{name:Cc.$type,properties:{cardinality:{name:Cc.cardinality},elements:{name:Cc.elements,defaultValue:[]}},superTypes:[tr.$type]},UntilToken:{name:fo.$type,properties:{cardinality:{name:fo.cardinality},lookahead:{name:fo.lookahead},parenthesized:{name:fo.parenthesized,defaultValue:!1},terminal:{name:fo.terminal}},superTypes:[rr.$type]},ValueLiteral:{name:po.$type,properties:{},superTypes:[]},Wildcard:{name:Ts.$type,properties:{cardinality:{name:Ts.cardinality},lookahead:{name:Ts.lookahead},parenthesized:{name:Ts.parenthesized,defaultValue:!1}},superTypes:[rr.$type]}}}},ie=new _s;function nO(t){let e=t,r=!1;for(;e;){let n=Nn(e.grammarSource,Nt);if(n&&n.dataType)e=e.container,r=!0;else return r?e:void 0}}function ho(t){return new an(t,e=>$r(e)?e.content:[],{includeRoot:!0})}function iO(t){return ho(t).filter(ii)}function Hm(t,e){for(;t.container;)if(t=t.container,t===e)return!0;return!1}function Es(t){return{start:{character:t.startColumn-1,line:t.startLine-1},end:{character:t.endColumn,line:t.endLine-1}}}function mo(t){if(!t)return;let{offset:e,end:r,range:n}=t;return{range:n,offset:e,end:r,length:r-e}}var ln;(function(t){t[t.Before=0]="Before",t[t.After=1]="After",t[t.OverlapFront=2]="OverlapFront",t[t.OverlapBack=3]="OverlapBack",t[t.Inside=4]="Inside",t[t.Outside=5]="Outside"})(ln||(ln={}));function o0(t,e){if(t.end.line<e.start.line||t.end.line===e.start.line&&t.end.character<=e.start.character)return ln.Before;if(t.start.line>e.end.line||t.start.line===e.end.line&&t.start.character>=e.end.character)return ln.After;let r=t.start.line>e.start.line||t.start.line===e.start.line&&t.start.character>=e.start.character,n=t.end.line<e.end.line||t.end.line===e.end.line&&t.end.character<=e.end.character;return r&&n?ln.Inside:r?ln.OverlapBack:n?ln.OverlapFront:ln.Outside}function Rm(t,e){return o0(t,e)>ln.After}var If=/^[\w\p{L}]$/u;function oO(t,e,r=If){if(t){if(e>0){let n=e-t.offset,i=t.text.charAt(n);r.test(i)||e--}return zm(t,e)}}function jm(t,e){if(t){let r=c0(t,!0);if(r&&Xm(r,e))return r;if(Rc(t)){let n=t.content.findIndex(i=>!i.hidden);for(let i=n-1;i>=0;i--){let o=t.content[i];if(Xm(o,e))return o}}}}function Xm(t,e){return ii(t)&&e.includes(t.tokenType.name)}function zm(t,e){if(ii(t))return t;if($r(t)){let r=a0(t,e,!1);if(r)return zm(r,e)}}function s0(t,e){if(ii(t))return t;if($r(t)){let r=a0(t,e,!0);if(r)return s0(r,e)}}function a0(t,e,r){let n=0,i=t.content.length-1,o;for(;n<=i;){let s=Math.floor((n+i)/2),a=t.content[s];if(a.offset<=e&&a.end>e)return a;a.end<=e?(o=r?a:void 0,n=s+1):i=s-1}return o}function c0(t,e=!0){for(;t.container;){let r=t.container,n=r.content.indexOf(t);for(;n>0;){n--;let i=r.content[n];if(e||!i.hidden)return i}t=r}}function sO(t,e=!0){for(;t.container;){let r=t.container,n=r.content.indexOf(t),i=r.content.length-1;for(;n<i;){n++;let o=r.content[n];if(e||!o.hidden)return o}t=r}}function aO(t){if(t.range.start.character===0)return t;let e=t.range.start.line,r=t,n;for(;t.container;){let i=t.container,o=n??i.content.indexOf(t);if(o===0?(t=i,n=void 0):(n=o-1,t=i.content[n]),t.range.start.line!==e)break;r=t}return r}function cO(t,e){let r=lO(t,e);return r?r.parent.content.slice(r.a+1,r.b):[]}function lO(t,e){let r=i0(t),n=i0(e),i;for(let o=0;o<r.length&&o<n.length;o++){let s=r[o],a=n[o];if(s.parent===a.parent)i={parent:s.parent,a:s.index,b:a.index};else break}return i}function i0(t){let e=[];for(;t.container;){let r=t.container,n=r.content.indexOf(t);e.push({parent:r,index:n}),t=r}return e.reverse()}var ws={};sn(ws,{findAssignment:()=>sg,findNameAssignment:()=>Of,findNodeForKeyword:()=>ig,findNodeForProperty:()=>Gc,findNodesForKeyword:()=>hO,findNodesForKeywordInternal:()=>og,findNodesForProperty:()=>rg,getActionAtElement:()=>y0,getActionType:()=>T0,getAllReachableRules:()=>Bc,getAllRulesUsedForCrossReferences:()=>pO,getCrossReferenceTerminal:()=>eg,getEntryRule:()=>p0,getExplicitRuleType:()=>Lf,getHiddenRules:()=>h0,getRuleType:()=>ag,getRuleTypeName:()=>TO,getTypeName:()=>mi,isArrayCardinality:()=>gO,isArrayOperator:()=>yO,isCommentTerminal:()=>tg,isDataType:()=>xO,isDataTypeRule:()=>Xc,isOptionalCardinality:()=>mO,terminalRegex:()=>Rs});var go=class extends Error{constructor(e,r){super(e?`${r} at ${e.range.start.line}:${e.range.start.character}`:r)}};function un(t,e="Error: Got unexpected value."){throw new Error(e)}function l0(t,e="Error: Condition is violated."){if(!t)throw new Error(e)}var Cf={};sn(Cf,{NEWLINE_REGEXP:()=>Ym,escapeRegExp:()=>hi,getTerminalParts:()=>dO,isMultilineComment:()=>Km,isWhitespace:()=>Uc,partialMatches:()=>Zm,partialRegExp:()=>d0,whitespaceCharacters:()=>f0});function se(t){return t.charCodeAt(0)}function Nf(t,e){Array.isArray(t)?t.forEach(function(r){e.push(r)}):e.push(t)}function vs(t,e){if(t[e]===!0)throw"duplicate flag "+e;let r=t[e];t[e]=!0}function yo(t){if(t===void 0)throw Error("Internal Error - Should never get here!");return!0}function $c(){throw Error("Internal Error - Should never get here!")}function qm(t){return t.type==="Character"}var Mc=[];for(let t=se("0");t<=se("9");t++)Mc.push(t);var Fc=[se("_")].concat(Mc);for(let t=se("a");t<=se("z");t++)Fc.push(t);for(let t=se("A");t<=se("Z");t++)Fc.push(t);var Wm=[se(" "),se("\f"),se(`
|
|
37
|
+
`),se("\r"),se(" "),se("\v"),se(" "),se("\xA0"),se("\u1680"),se("\u2000"),se("\u2001"),se("\u2002"),se("\u2003"),se("\u2004"),se("\u2005"),se("\u2006"),se("\u2007"),se("\u2008"),se("\u2009"),se("\u200A"),se("\u2028"),se("\u2029"),se("\u202F"),se("\u205F"),se("\u3000"),se("\uFEFF")];var uO=/[0-9a-fA-F]/,Pf=/[0-9]/,fO=/[1-9]/,xo=class{constructor(){this.idx=0,this.input="",this.groupIdx=0}saveState(){return{idx:this.idx,input:this.input,groupIdx:this.groupIdx}}restoreState(e){this.idx=e.idx,this.input=e.input,this.groupIdx=e.groupIdx}pattern(e){this.idx=0,this.input=e,this.groupIdx=0,this.consumeChar("/");let r=this.disjunction();this.consumeChar("/");let n={type:"Flags",loc:{begin:this.idx,end:e.length},global:!1,ignoreCase:!1,multiLine:!1,unicode:!1,sticky:!1};for(;this.isRegExpFlag();)switch(this.popChar()){case"g":vs(n,"global");break;case"i":vs(n,"ignoreCase");break;case"m":vs(n,"multiLine");break;case"u":vs(n,"unicode");break;case"y":vs(n,"sticky");break}if(this.idx!==this.input.length)throw Error("Redundant input: "+this.input.substring(this.idx));return{type:"Pattern",flags:n,value:r,loc:this.loc(0)}}disjunction(){let e=[],r=this.idx;for(e.push(this.alternative());this.peekChar()==="|";)this.consumeChar("|"),e.push(this.alternative());return{type:"Disjunction",value:e,loc:this.loc(r)}}alternative(){let e=[],r=this.idx;for(;this.isTerm();)e.push(this.term());return{type:"Alternative",value:e,loc:this.loc(r)}}term(){return this.isAssertion()?this.assertion():this.atom()}assertion(){let e=this.idx;switch(this.popChar()){case"^":return{type:"StartAnchor",loc:this.loc(e)};case"$":return{type:"EndAnchor",loc:this.loc(e)};case"\\":switch(this.popChar()){case"b":return{type:"WordBoundary",loc:this.loc(e)};case"B":return{type:"NonWordBoundary",loc:this.loc(e)}}throw Error("Invalid Assertion Escape");case"(":this.consumeChar("?");let r;switch(this.popChar()){case"=":r="Lookahead";break;case"!":r="NegativeLookahead";break;case"<":{switch(this.popChar()){case"=":r="Lookbehind";break;case"!":r="NegativeLookbehind"}break}}yo(r);let n=this.disjunction();return this.consumeChar(")"),{type:r,value:n,loc:this.loc(e)}}return $c()}quantifier(e=!1){let r,n=this.idx;switch(this.popChar()){case"*":r={atLeast:0,atMost:1/0};break;case"+":r={atLeast:1,atMost:1/0};break;case"?":r={atLeast:0,atMost:1};break;case"{":let i=this.integerIncludingZero();switch(this.popChar()){case"}":r={atLeast:i,atMost:i};break;case",":let o;this.isDigit()?(o=this.integerIncludingZero(),r={atLeast:i,atMost:o}):r={atLeast:i,atMost:1/0},this.consumeChar("}");break}if(e===!0&&r===void 0)return;yo(r);break}if(!(e===!0&&r===void 0)&&yo(r))return this.peekChar(0)==="?"?(this.consumeChar("?"),r.greedy=!1):r.greedy=!0,r.type="Quantifier",r.loc=this.loc(n),r}atom(){let e,r=this.idx;switch(this.peekChar()){case".":e=this.dotAll();break;case"\\":e=this.atomEscape();break;case"[":e=this.characterClass();break;case"(":e=this.group();break}return e===void 0&&this.isPatternCharacter()&&(e=this.patternCharacter()),yo(e)?(e.loc=this.loc(r),this.isQuantifier()&&(e.quantifier=this.quantifier()),e):$c()}dotAll(){return this.consumeChar("."),{type:"Set",complement:!0,value:[se(`
|
|
38
|
+
`),se("\r"),se("\u2028"),se("\u2029")]}}atomEscape(){switch(this.consumeChar("\\"),this.peekChar()){case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":return this.decimalEscapeAtom();case"d":case"D":case"s":case"S":case"w":case"W":return this.characterClassEscape();case"f":case"n":case"r":case"t":case"v":return this.controlEscapeAtom();case"c":return this.controlLetterEscapeAtom();case"0":return this.nulCharacterAtom();case"x":return this.hexEscapeSequenceAtom();case"u":return this.regExpUnicodeEscapeSequenceAtom();default:return this.identityEscapeAtom()}}decimalEscapeAtom(){return{type:"GroupBackReference",value:this.positiveInteger()}}characterClassEscape(){let e,r=!1;switch(this.popChar()){case"d":e=Mc;break;case"D":e=Mc,r=!0;break;case"s":e=Wm;break;case"S":e=Wm,r=!0;break;case"w":e=Fc;break;case"W":e=Fc,r=!0;break}return yo(e)?{type:"Set",value:e,complement:r}:$c()}controlEscapeAtom(){let e;switch(this.popChar()){case"f":e=se("\f");break;case"n":e=se(`
|
|
39
|
+
`);break;case"r":e=se("\r");break;case"t":e=se(" ");break;case"v":e=se("\v");break}return yo(e)?{type:"Character",value:e}:$c()}controlLetterEscapeAtom(){this.consumeChar("c");let e=this.popChar();if(/[a-zA-Z]/.test(e)===!1)throw Error("Invalid ");return{type:"Character",value:e.toUpperCase().charCodeAt(0)-64}}nulCharacterAtom(){return this.consumeChar("0"),{type:"Character",value:se("\0")}}hexEscapeSequenceAtom(){return this.consumeChar("x"),this.parseHexDigits(2)}regExpUnicodeEscapeSequenceAtom(){return this.consumeChar("u"),this.parseHexDigits(4)}identityEscapeAtom(){let e=this.popChar();return{type:"Character",value:se(e)}}classPatternCharacterAtom(){switch(this.peekChar()){case`
|
|
40
|
+
`:case"\r":case"\u2028":case"\u2029":case"\\":case"]":throw Error("TBD");default:let e=this.popChar();return{type:"Character",value:se(e)}}}characterClass(){let e=[],r=!1;for(this.consumeChar("["),this.peekChar(0)==="^"&&(this.consumeChar("^"),r=!0);this.isClassAtom();){let n=this.classAtom(),i=n.type==="Character";if(qm(n)&&this.isRangeDash()){this.consumeChar("-");let o=this.classAtom(),s=o.type==="Character";if(qm(o)){if(o.value<n.value)throw Error("Range out of order in character class");e.push({from:n.value,to:o.value})}else Nf(n.value,e),e.push(se("-")),Nf(o.value,e)}else Nf(n.value,e)}return this.consumeChar("]"),{type:"Set",complement:r,value:e}}classAtom(){switch(this.peekChar()){case"]":case`
|
|
41
|
+
`:case"\r":case"\u2028":case"\u2029":throw Error("TBD");case"\\":return this.classEscape();default:return this.classPatternCharacterAtom()}}classEscape(){switch(this.consumeChar("\\"),this.peekChar()){case"b":return this.consumeChar("b"),{type:"Character",value:se("\b")};case"d":case"D":case"s":case"S":case"w":case"W":return this.characterClassEscape();case"f":case"n":case"r":case"t":case"v":return this.controlEscapeAtom();case"c":return this.controlLetterEscapeAtom();case"0":return this.nulCharacterAtom();case"x":return this.hexEscapeSequenceAtom();case"u":return this.regExpUnicodeEscapeSequenceAtom();default:return this.identityEscapeAtom()}}group(){let e=!0;this.consumeChar("("),this.peekChar(0)==="?"?(this.consumeChar("?"),this.consumeChar(":"),e=!1):this.groupIdx++;let r=this.disjunction();this.consumeChar(")");let n={type:"Group",capturing:e,value:r};return e&&(n.idx=this.groupIdx),n}positiveInteger(){let e=this.popChar();if(fO.test(e)===!1)throw Error("Expecting a positive integer");for(;Pf.test(this.peekChar(0));)e+=this.popChar();return parseInt(e,10)}integerIncludingZero(){let e=this.popChar();if(Pf.test(e)===!1)throw Error("Expecting an integer");for(;Pf.test(this.peekChar(0));)e+=this.popChar();return parseInt(e,10)}patternCharacter(){let e=this.popChar();switch(e){case`
|
|
42
|
+
`:case"\r":case"\u2028":case"\u2029":case"^":case"$":case"\\":case".":case"*":case"+":case"?":case"(":case")":case"[":case"|":throw Error("TBD");default:return{type:"Character",value:se(e)}}}isRegExpFlag(){switch(this.peekChar(0)){case"g":case"i":case"m":case"u":case"y":return!0;default:return!1}}isRangeDash(){return this.peekChar()==="-"&&this.isClassAtom(1)}isDigit(){return Pf.test(this.peekChar(0))}isClassAtom(e=0){switch(this.peekChar(e)){case"]":case`
|
|
43
43
|
`:case"\r":case"\u2028":case"\u2029":return!1;default:return!0}}isTerm(){return this.isAtom()||this.isAssertion()}isAtom(){if(this.isPatternCharacter())return!0;switch(this.peekChar(0)){case".":case"\\":case"[":case"(":return!0;default:return!1}}isAssertion(){switch(this.peekChar(0)){case"^":case"$":return!0;case"\\":switch(this.peekChar(1)){case"b":case"B":return!0;default:return!1}case"(":return this.peekChar(1)==="?"&&(this.peekChar(2)==="="||this.peekChar(2)==="!"||this.peekChar(2)==="<"&&(this.peekChar(3)==="="||this.peekChar(3)==="!"));default:return!1}}isQuantifier(){let e=this.saveState();try{return this.quantifier(!0)!==void 0}catch{return!1}finally{this.restoreState(e)}}isPatternCharacter(){switch(this.peekChar()){case"^":case"$":case"\\":case".":case"*":case"+":case"?":case"(":case")":case"[":case"|":case"/":case`
|
|
44
|
-
`:case"\r":case"\u2028":case"\u2029":return!1;default:return!0}}parseHexDigits(e){let r="";for(let i=0;i<e;i++){let o=this.popChar();if(
|
|
45
|
-
`&&(this.multiline=!0),e.quantifier)this.isStarting=!1,this.endRegexpStack=[];else{let n=
|
|
46
|
-
`.match(n)}if(e.quantifier)this.isStarting=!1,this.endRegexpStack=[];else{let r=this.regex.substring(e.loc.begin,e.loc.end);this.endRegexpStack.push(r),this.isStarting&&(this.startRegexp+=r)}}visitChildren(e){e.type==="Group"&&e.quantifier||super.visitChildren(e)}},
|
|
47
|
-
\r \v \xA0\u1680\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u2028\u2029\u202F\u205F\u3000\uFEFF`.split("");function Pc(t){let e=typeof t=="string"?new RegExp(t):t;return GE.some(r=>e.test(r))}function si(t){return t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function Dm(t,e){let r=HE(t),n=e.match(r);return!!n&&n[0].length>0}function HE(t){typeof t=="string"&&(t=new RegExp(t));let e=t,r=t.source,n=0;function i(){let o="",s;function a(l){o+=r.substr(n,l),n+=l}function c(l){o+="(?:"+r.substr(n,l)+"|$)",n+=l}for(;n<r.length;)switch(r[n]){case"\\":switch(r[n+1]){case"c":c(3);break;case"x":c(4);break;case"u":e.unicode?r[n+2]==="{"?c(r.indexOf("}",n)-n+1):c(6):c(2);break;case"p":case"P":e.unicode?c(r.indexOf("}",n)-n+1):c(2);break;case"k":c(r.indexOf(">",n)-n+1);break;default:c(2);break}break;case"[":s=/\[(?:\\.|.)*?\]/g,s.lastIndex=n,s=s.exec(r)||[],c(s[0].length);break;case"|":case"^":case"$":case"*":case"+":case"?":a(1);break;case"{":s=/\{\d+,?\d*\}/g,s.lastIndex=n,s=s.exec(r),s?a(s[0].length):c(1);break;case"(":if(r[n+1]==="?")switch(r[n+2]){case":":o+="(?:",n+=3,o+=i()+"|$)";break;case"=":o+="(?=",n+=3,o+=i()+")";break;case"!":s=n,n+=3,i(),o+=r.substr(s,n-s);break;case"<":switch(r[n+3]){case"=":case"!":s=n,n+=4,i(),o+=r.substr(s,n-s);break;default:a(r.indexOf(">",n)-n+1),o+=i()+"|$)";break}break}else a(1),o+=i()+"|$)";break;case")":return++n,o;default:c(1);break}return o}return new RegExp(i(),t.flags)}function jE(t){return t.rules.find(e=>St(e)&&e.entry)}function WE(t){return t.rules.filter(e=>qt(e)&&e.hidden)}function Cc(t,e){let r=new Set,n=jE(t);if(!n)return new Set(t.rules);let i=[n].concat(WE(t));for(let s of i)qE(s,r,e);let o=new Set;for(let s of t.rules)(r.has(s.name)||qt(s)&&s.hidden)&&o.add(s);return o}function qE(t,e,r){e.add(t.name),Lr(t).forEach(n=>{if(Fr(n)||r&&df(n)){let i=n.rule.ref;i&&!e.has(i.name)&&qE(i,e,r)}})}function AC(t){let e=new Set;return Lr(t).forEach(r=>{Mr(r)&&(St(r.type.ref)&&e.add(r.type.ref),Ic(r.type.ref)&&St(r.type.ref.$container)&&e.add(r.type.ref.$container))}),e}function Fm(t){if(t.terminal)return t.terminal;if(t.type.ref)return _f(t.type.ref)?.terminal}function Um(t){return t.hidden&&!Pc(hs(t))}function Bm(t,e){return!t||!e?[]:Xm(t,e,t.astNode,!0)}function Oc(t,e,r){if(!t||!e)return;let n=Xm(t,e,t.astNode,!0);if(n.length!==0)return r!==void 0?r=Math.max(0,Math.min(r,n.length-1)):r=0,n[r]}function Xm(t,e,r,n){if(!n){let i=An(t.grammarSource,$r);if(i&&i.feature===e)return[t]}return Or(t)&&t.astNode===r?t.content.flatMap(i=>Xm(i,e,r,!1)):[]}function IC(t,e){return t?Hm(t,e,t?.astNode):[]}function Gm(t,e,r){if(!t)return;let n=Hm(t,e,t?.astNode);if(n.length!==0)return r!==void 0?r=Math.max(0,Math.min(r,n.length-1)):r=0,n[r]}function Hm(t,e,r){if(t.astNode!==r)return[];if(Er(t.grammarSource)&&t.grammarSource.value===e)return[t];let n=so(t).iterator(),i,o=[];do if(i=n.next(),!i.done){let s=i.value;s.astNode===r?Er(s.grammarSource)&&s.grammarSource.value===e&&o.push(s):n.prune()}while(!i.done);return o}function jm(t){let e=t.astNode;for(;e===t.container?.astNode;){let r=An(t.grammarSource,$r);if(r)return r;t=t.container}}function _f(t){let e=t;return Ic(e)&&(kn(e.$container)?e=e.$container.$container:vn(e.$container)?e=e.$container:sn(e.$container)),zE(t,e,new Map)}function zE(t,e,r){function n(i,o){let s;return An(i,$r)||(s=zE(o,o,r)),r.set(t,s),s}if(r.has(t))return r.get(t);r.set(t,void 0);for(let i of Lr(e)){if($r(i)&&i.feature.toLowerCase()==="name")return r.set(t,i),i;if(Fr(i)&&St(i.rule.ref))return n(i,i.rule.ref);if(ff(i)&&i.typeRef?.ref)return n(i,i.typeRef.ref)}}function VE(t){let e=t.$container;if(ii(e)){let r=e.elements,n=r.indexOf(t);for(let i=n-1;i>=0;i--){let o=r[i];if(kn(o))return o;{let s=Lr(r[i]).find(kn);if(s)return s}}}if(Ac(e))return VE(e)}function SC(t,e){return t==="?"||t==="*"||ii(e)&&!!e.guardCondition}function vC(t){return t==="*"||t==="+"}function kC(t){return t==="+="}function Lc(t){return YE(t,new Set)}function YE(t,e){if(e.has(t))return!0;e.add(t);for(let r of Lr(t))if(Fr(r)){if(!r.rule.ref||St(r.rule.ref)&&!YE(r.rule.ref,e)||oi(r.rule.ref))return!1}else{if($r(r))return!1;if(kn(r))return!1}return!!t.definition}function NC(t){return Mm(t.type,new Set)}function Mm(t,e){if(e.has(t))return!0;if(e.add(t),cm(t))return!1;if(xm(t))return!1;if(bm(t))return t.types.every(r=>Mm(r,e));if(ff(t)){if(t.primitiveType!==void 0)return!0;if(t.stringType!==void 0)return!0;if(t.typeRef!==void 0){let r=t.typeRef.ref;return pf(r)?Mm(r.type,e):!1}else return!1}else return!1}function Ef(t){if(!qt(t)){if(t.inferredType)return t.inferredType.name;if(t.dataType)return t.dataType;if(t.returnType){let e=t.returnType.ref;if(e)return e.name}}}function ai(t){if(vn(t))return St(t)&&Lc(t)?t.name:Ef(t)??t.name;if(hm(t)||pf(t)||_m(t))return t.name;if(kn(t)){let e=KE(t);if(e)return e}else if(Ic(t))return t.name;throw new Error("Cannot get name of Unknown Type")}function KE(t){if(t.inferredType)return t.inferredType.name;if(t.type?.ref)return ai(t.type.ref)}function PC(t){return qt(t)?t.type?.name??"string":St(t)&&Lc(t)?t.name:Ef(t)??t.name}function Wm(t){return qt(t)?t.type?.name??"string":Ef(t)??t.name}function hs(t){let e={s:!1,i:!1,u:!1},r=ms(t.definition,e),n=Object.entries(e).filter(([,i])=>i).map(([i])=>i).join("");return new RegExp(r,n)}var qm=/[\s\S]/.source;function ms(t,e){if(Em(t))return CC(t);if(Rm(t))return OC(t);if(um(t))return $C(t);if(df(t)){let r=t.rule.ref;if(!r)throw new Error("Missing rule reference.");return Nn(ms(r.definition),{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized})}else{if(mm(t))return DC(t);if(wm(t))return LC(t);if(Tm(t)){let r=t.regex.lastIndexOf("/"),n=t.regex.substring(1,r),i=t.regex.substring(r+1);return e&&(e.i=i.includes("i"),e.s=i.includes("s"),e.u=i.includes("u")),Nn(n,{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized,wrap:!1})}else{if(Am(t))return Nn(qm,{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized});throw new Error(`Invalid terminal element: ${t?.$type}, ${t?.$cstNode?.text}`)}}}function CC(t){return Nn(t.elements.map(e=>ms(e)).join("|"),{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized,wrap:!1})}function OC(t){return Nn(t.elements.map(e=>ms(e)).join(""),{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized,wrap:!1})}function LC(t){return Nn(`${qm}*?${ms(t.terminal)}`,{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized})}function DC(t){return Nn(`(?!${ms(t.terminal)})${qm}*?`,{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized})}function $C(t){return t.right?Nn(`[${$m(t.left)}-${$m(t.right)}]`,{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized,wrap:!1}):Nn($m(t.left),{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized,wrap:!1})}function $m(t){return si(t.value)}function Nn(t,e){return(e.parenthesized||e.lookahead||e.wrap!==!1)&&(t=`(${e.lookahead??(e.parenthesized?"":"?:")}${t})`),e.cardinality?`${t}${e.cardinality}`:t}function zm(t){let e=[],r=t.Grammar;for(let n of r.rules)qt(n)&&Um(n)&&Lm(hs(n))&&e.push(n.name);return{multilineCommentRules:e,nameRegexp:mf}}function ys(t){console&&console.error&&console.error(`Error: ${t}`)}function Dc(t){console&&console.warn&&console.warn(`Warning: ${t}`)}function $c(t){let e=new Date().getTime(),r=t();return{time:new Date().getTime()-e,value:r}}function Mc(t){function e(){}e.prototype=t;let r=new e;function n(){return typeof r.bar}return n(),n(),t;(0,eval)(t)}function MC(t){return FC(t)?t.LABEL:t.name}function FC(t){return typeof t.LABEL=="string"&&t.LABEL!==""}var dr=class{get definition(){return this._definition}set definition(e){this._definition=e}constructor(e){this._definition=e}accept(e){e.visit(this),this.definition.forEach(r=>{r.accept(e)})}},Me=class extends dr{constructor(e){super([]),this.idx=1,Object.assign(this,cn(e))}set definition(e){}get definition(){return this.referencedRule!==void 0?this.referencedRule.definition:[]}accept(e){e.visit(this)}},zt=class extends dr{constructor(e){super(e.definition),this.orgText="",Object.assign(this,cn(e))}},Ke=class extends dr{constructor(e){super(e.definition),this.ignoreAmbiguities=!1,Object.assign(this,cn(e))}},Fe=class extends dr{constructor(e){super(e.definition),this.idx=1,Object.assign(this,cn(e))}},Ze=class extends dr{constructor(e){super(e.definition),this.idx=1,Object.assign(this,cn(e))}},Je=class extends dr{constructor(e){super(e.definition),this.idx=1,Object.assign(this,cn(e))}},be=class extends dr{constructor(e){super(e.definition),this.idx=1,Object.assign(this,cn(e))}},qe=class extends dr{constructor(e){super(e.definition),this.idx=1,Object.assign(this,cn(e))}},ze=class extends dr{get definition(){return this._definition}set definition(e){this._definition=e}constructor(e){super(e.definition),this.idx=1,this.ignoreAmbiguities=!1,this.hasPredicates=!1,Object.assign(this,cn(e))}},ge=class{constructor(e){this.idx=1,Object.assign(this,cn(e))}accept(e){e.visit(this)}};function Rf(t){return t.map(xs)}function xs(t){function e(r){return r.map(xs)}if(t instanceof Me){let r={type:"NonTerminal",name:t.nonTerminalName,idx:t.idx};return typeof t.label=="string"&&(r.label=t.label),r}else{if(t instanceof Ke)return{type:"Alternative",definition:e(t.definition)};if(t instanceof Fe)return{type:"Option",idx:t.idx,definition:e(t.definition)};if(t instanceof Ze)return{type:"RepetitionMandatory",idx:t.idx,definition:e(t.definition)};if(t instanceof Je)return{type:"RepetitionMandatoryWithSeparator",idx:t.idx,separator:xs(new ge({terminalType:t.separator})),definition:e(t.definition)};if(t instanceof qe)return{type:"RepetitionWithSeparator",idx:t.idx,separator:xs(new ge({terminalType:t.separator})),definition:e(t.definition)};if(t instanceof be)return{type:"Repetition",idx:t.idx,definition:e(t.definition)};if(t instanceof ze)return{type:"Alternation",idx:t.idx,definition:e(t.definition)};if(t instanceof ge){let r={type:"Terminal",name:t.terminalType.name,label:MC(t.terminalType),idx:t.idx};typeof t.label=="string"&&(r.terminalLabel=t.label);let n=t.terminalType.PATTERN;return t.terminalType.PATTERN&&(r.pattern=n instanceof RegExp?n.source:n),r}else{if(t instanceof zt)return{type:"Rule",name:t.name,orgText:t.orgText,definition:e(t.definition)};throw Error("non exhaustive match")}}}function cn(t){return Object.fromEntries(Object.entries(t).filter(([,e])=>e!==void 0))}var Vt=class{visit(e){let r=e;switch(r.constructor){case Me:return this.visitNonTerminal(r);case Ke:return this.visitAlternative(r);case Fe:return this.visitOption(r);case Ze:return this.visitRepetitionMandatory(r);case Je:return this.visitRepetitionMandatoryWithSeparator(r);case qe:return this.visitRepetitionWithSeparator(r);case be:return this.visitRepetition(r);case ze:return this.visitAlternation(r);case ge:return this.visitTerminal(r);case zt:return this.visitRule(r);default:throw Error("non exhaustive match")}}visitNonTerminal(e){}visitAlternative(e){}visitOption(e){}visitRepetition(e){}visitRepetitionMandatory(e){}visitRepetitionMandatoryWithSeparator(e){}visitRepetitionWithSeparator(e){}visitAlternation(e){}visitTerminal(e){}visitRule(e){}};function Vm(t){return t instanceof Ke||t instanceof Fe||t instanceof be||t instanceof Ze||t instanceof Je||t instanceof qe||t instanceof ge||t instanceof zt}function po(t,e=[]){return t instanceof Fe||t instanceof be||t instanceof qe?!0:t instanceof ze?t.definition.some(n=>po(n,e)):t instanceof Me&&e.includes(t)?!1:t instanceof dr?(t instanceof Me&&e.push(t),t.definition.every(n=>po(n,e))):!1}function Ym(t){return t instanceof ze}function tr(t){if(t instanceof Me)return"SUBRULE";if(t instanceof Fe)return"OPTION";if(t instanceof ze)return"OR";if(t instanceof Ze)return"AT_LEAST_ONE";if(t instanceof Je)return"AT_LEAST_ONE_SEP";if(t instanceof qe)return"MANY_SEP";if(t instanceof be)return"MANY";if(t instanceof ge)return"CONSUME";throw Error("non exhaustive match")}var Pn=class{walk(e,r=[]){e.definition.forEach((n,i)=>{let o=e.definition.slice(i+1);if(n instanceof Me)this.walkProdRef(n,o,r);else if(n instanceof ge)this.walkTerminal(n,o,r);else if(n instanceof Ke)this.walkFlat(n,o,r);else if(n instanceof Fe)this.walkOption(n,o,r);else if(n instanceof Ze)this.walkAtLeastOne(n,o,r);else if(n instanceof Je)this.walkAtLeastOneSep(n,o,r);else if(n instanceof qe)this.walkManySep(n,o,r);else if(n instanceof be)this.walkMany(n,o,r);else if(n instanceof ze)this.walkOr(n,o,r);else throw Error("non exhaustive match")})}walkTerminal(e,r,n){}walkProdRef(e,r,n){}walkFlat(e,r,n){let i=r.concat(n);this.walk(e,i)}walkOption(e,r,n){let i=r.concat(n);this.walk(e,i)}walkAtLeastOne(e,r,n){let i=[new Fe({definition:e.definition})].concat(r,n);this.walk(e,i)}walkAtLeastOneSep(e,r,n){let i=ZE(e,r,n);this.walk(e,i)}walkMany(e,r,n){let i=[new Fe({definition:e.definition})].concat(r,n);this.walk(e,i)}walkManySep(e,r,n){let i=ZE(e,r,n);this.walk(e,i)}walkOr(e,r,n){let i=r.concat(n);e.definition.forEach(o=>{let s=new Ke({definition:[o]});this.walk(s,i)})}};function ZE(t,e,r){return[new Fe({definition:[new ge({terminalType:t.separator})].concat(t.definition)})].concat(e,r)}function ho(t){if(t instanceof Me)return ho(t.referencedRule);if(t instanceof ge)return XC(t);if(Vm(t))return UC(t);if(Ym(t))return BC(t);throw Error("non exhaustive match")}function UC(t){let e=[],r=t.definition,n=0,i=r.length>n,o,s=!0;for(;i&&s;)o=r[n],s=po(o),e=e.concat(ho(o)),n=n+1,i=r.length>n;return[...new Set(e)]}function BC(t){let e=t.definition.map(r=>ho(r));return[...new Set(e.flat())]}function XC(t){return[t.terminalType]}var bf="_~IN~_";var Km=class extends Pn{constructor(e){super(),this.topProd=e,this.follows={}}startWalking(){return this.walk(this.topProd),this.follows}walkTerminal(e,r,n){}walkProdRef(e,r,n){let i=GC(e.referencedRule,e.idx)+this.topProd.name,o=r.concat(n),s=new Ke({definition:o}),a=ho(s);this.follows[i]=a}};function JE(t){let e={};return t.forEach(r=>{let n=new Km(r).startWalking();Object.assign(e,n)}),e}function GC(t,e){return t.name+e+bf}var wf={},HC=new uo;function Ts(t){let e=t.toString();if(wf.hasOwnProperty(e))return wf[e];{let r=HC.pattern(e);return wf[e]=r,r}}function QE(){wf={}}var tR="Complement Sets are not supported for first char optimization",Fc=`Unable to use "first char" lexer optimizations:
|
|
48
|
-
`;function
|
|
44
|
+
`:case"\r":case"\u2028":case"\u2029":return!1;default:return!0}}parseHexDigits(e){let r="";for(let i=0;i<e;i++){let o=this.popChar();if(uO.test(o)===!1)throw Error("Expecting a HexDecimal digits");r+=o}return{type:"Character",value:parseInt(r,16)}}peekChar(e=0){return this.input[this.idx+e]}popChar(){let e=this.peekChar(0);return this.consumeChar(void 0),e}consumeChar(e){if(e!==void 0&&this.input[this.idx]!==e)throw Error("Expected: '"+e+"' but found: '"+this.input[this.idx]+"' at offset: "+this.idx);if(this.idx>=this.input.length)throw Error("Unexpected end of input");this.idx++}loc(e){return{begin:e,end:this.idx}}};var fn=class{visitChildren(e){for(let r in e){let n=e[r];e.hasOwnProperty(r)&&(n.type!==void 0?this.visit(n):Array.isArray(n)&&n.forEach(i=>{this.visit(i)},this))}}visit(e){switch(e.type){case"Pattern":this.visitPattern(e);break;case"Flags":this.visitFlags(e);break;case"Disjunction":this.visitDisjunction(e);break;case"Alternative":this.visitAlternative(e);break;case"StartAnchor":this.visitStartAnchor(e);break;case"EndAnchor":this.visitEndAnchor(e);break;case"WordBoundary":this.visitWordBoundary(e);break;case"NonWordBoundary":this.visitNonWordBoundary(e);break;case"Lookahead":this.visitLookahead(e);break;case"NegativeLookahead":this.visitNegativeLookahead(e);break;case"Lookbehind":this.visitLookbehind(e);break;case"NegativeLookbehind":this.visitNegativeLookbehind(e);break;case"Character":this.visitCharacter(e);break;case"Set":this.visitSet(e);break;case"Group":this.visitGroup(e);break;case"GroupBackReference":this.visitGroupBackReference(e);break;case"Quantifier":this.visitQuantifier(e);break}this.visitChildren(e)}visitPattern(e){}visitFlags(e){}visitDisjunction(e){}visitAlternative(e){}visitStartAnchor(e){}visitEndAnchor(e){}visitWordBoundary(e){}visitNonWordBoundary(e){}visitLookahead(e){}visitNegativeLookahead(e){}visitLookbehind(e){}visitNegativeLookbehind(e){}visitCharacter(e){}visitSet(e){}visitGroup(e){}visitGroupBackReference(e){}visitQuantifier(e){}};var Ym=/\r?\n/gm,u0=new xo,Vm=class extends fn{constructor(){super(...arguments),this.isStarting=!0,this.endRegexpStack=[],this.multiline=!1}get endRegex(){return this.endRegexpStack.join("")}reset(e){this.multiline=!1,this.regex=e,this.startRegexp="",this.isStarting=!0,this.endRegexpStack=[]}visitGroup(e){e.quantifier&&(this.isStarting=!1,this.endRegexpStack=[])}visitCharacter(e){let r=String.fromCharCode(e.value);if(!this.multiline&&r===`
|
|
45
|
+
`&&(this.multiline=!0),e.quantifier)this.isStarting=!1,this.endRegexpStack=[];else{let n=hi(r);this.endRegexpStack.push(n),this.isStarting&&(this.startRegexp+=n)}}visitSet(e){if(!this.multiline){let r=this.regex.substring(e.loc.begin,e.loc.end),n=new RegExp(r);this.multiline=!!`
|
|
46
|
+
`.match(n)}if(e.quantifier)this.isStarting=!1,this.endRegexpStack=[];else{let r=this.regex.substring(e.loc.begin,e.loc.end);this.endRegexpStack.push(r),this.isStarting&&(this.startRegexp+=r)}}visitChildren(e){e.type==="Group"&&e.quantifier||super.visitChildren(e)}},To=new Vm;function dO(t){try{typeof t!="string"&&(t=t.source),t=`/${t}/`;let e=u0.pattern(t),r=[];for(let n of e.value.value)To.reset(t),To.visit(n),r.push({start:To.startRegexp,end:To.endRegex});return r}catch{return[]}}function Km(t){try{return typeof t=="string"&&(t=new RegExp(t)),t=t.toString(),To.reset(t),To.visit(u0.pattern(t)),To.multiline}catch{return!1}}var f0=`\f
|
|
47
|
+
\r \v \xA0\u1680\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u2028\u2029\u202F\u205F\u3000\uFEFF`.split("");function Uc(t){let e=typeof t=="string"?new RegExp(t):t;return f0.some(r=>e.test(r))}function hi(t){return t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function Zm(t,e){let r=d0(t),n=e.match(r);return!!n&&n[0].length>0}function d0(t){typeof t=="string"&&(t=new RegExp(t));let e=t,r=t.source,n=0;function i(){let o="",s;function a(l){o+=r.substr(n,l),n+=l}function c(l){o+="(?:"+r.substr(n,l)+"|$)",n+=l}for(;n<r.length;)switch(r[n]){case"\\":switch(r[n+1]){case"c":c(3);break;case"x":c(4);break;case"u":e.unicode?r[n+2]==="{"?c(r.indexOf("}",n)-n+1):c(6):c(2);break;case"p":case"P":e.unicode?c(r.indexOf("}",n)-n+1):c(2);break;case"k":c(r.indexOf(">",n)-n+1);break;default:c(2);break}break;case"[":s=/\[(?:\\.|.)*?\]/g,s.lastIndex=n,s=s.exec(r)||[],c(s[0].length);break;case"|":case"^":case"$":case"*":case"+":case"?":a(1);break;case"{":s=/\{\d+,?\d*\}/g,s.lastIndex=n,s=s.exec(r),s?a(s[0].length):c(1);break;case"(":if(r[n+1]==="?")switch(r[n+2]){case":":o+="(?:",n+=3,o+=i()+"|$)";break;case"=":o+="(?=",n+=3,o+=i()+")";break;case"!":s=n,n+=3,i(),o+=r.substr(s,n-s);break;case"<":switch(r[n+3]){case"=":case"!":s=n,n+=4,i(),o+=r.substr(s,n-s);break;default:a(r.indexOf(">",n)-n+1),o+=i()+"|$)";break}break}else a(1),o+=i()+"|$)";break;case")":return++n,o;default:c(1);break}return o}return new RegExp(i(),t.flags)}function p0(t){return t.rules.find(e=>Nt(e)&&e.entry)}function h0(t){return t.rules.filter(e=>qt(e)&&e.hidden)}function Bc(t,e){let r=new Set,n=p0(t);if(!n)return new Set(t.rules);let i=[n].concat(h0(t));for(let s of i)m0(s,r,e);let o=new Set;for(let s of t.rules)(r.has(s.name)||qt(s)&&s.hidden)&&o.add(s);return o}function m0(t,e,r){e.add(t.name),Mr(t).forEach(n=>{if(Gr(n)||r&&wf(n)){let i=n.rule.ref;i&&!e.has(i.name)&&m0(i,e,r)}})}function pO(t){let e=new Set;return Mr(t).forEach(r=>{Br(r)&&(Nt(r.type.ref)&&e.add(r.type.ref),Lc(r.type.ref)&&Nt(r.type.ref.$container)&&e.add(r.type.ref.$container))}),e}function eg(t){if(t.terminal)return t.terminal;if(t.type.ref)return Of(t.type.ref)?.terminal}function tg(t){return t.hidden&&!Uc(Rs(t))}function rg(t,e){return!t||!e?[]:ng(t,e,t.astNode,!0)}function Gc(t,e,r){if(!t||!e)return;let n=ng(t,e,t.astNode,!0);if(n.length!==0)return r!==void 0?r=Math.max(0,Math.min(r,n.length-1)):r=0,n[r]}function ng(t,e,r,n){if(!n){let i=Nn(t.grammarSource,Ur);if(i&&i.feature===e)return[t]}return $r(t)&&t.astNode===r?t.content.flatMap(i=>ng(i,e,r,!1)):[]}function hO(t,e){return t?og(t,e,t?.astNode):[]}function ig(t,e,r){if(!t)return;let n=og(t,e,t?.astNode);if(n.length!==0)return r!==void 0?r=Math.max(0,Math.min(r,n.length-1)):r=0,n[r]}function og(t,e,r){if(t.astNode!==r)return[];if(Rr(t.grammarSource)&&t.grammarSource.value===e)return[t];let n=ho(t).iterator(),i,o=[];do if(i=n.next(),!i.done){let s=i.value;s.astNode===r?Rr(s.grammarSource)&&s.grammarSource.value===e&&o.push(s):n.prune()}while(!i.done);return o}function sg(t){let e=t.astNode;for(;e===t.container?.astNode;){let r=Nn(t.grammarSource,Ur);if(r)return r;t=t.container}}function Of(t){let e=t;return Lc(e)&&(Ln(e.$container)?e=e.$container.$container:On(e.$container)?e=e.$container:un(e.$container)),g0(t,e,new Map)}function g0(t,e,r){function n(i,o){let s;return Nn(i,Ur)||(s=g0(o,o,r)),r.set(t,s),s}if(r.has(t))return r.get(t);r.set(t,void 0);for(let i of Mr(e)){if(Ur(i)&&i.feature.toLowerCase()==="name")return r.set(t,i),i;if(Gr(i)&&Nt(i.rule.ref))return n(i,i.rule.ref);if(bf(i)&&i.typeRef?.ref)return n(i,i.typeRef.ref)}}function y0(t){let e=t.$container;if(di(e)){let r=e.elements,n=r.indexOf(t);for(let i=n-1;i>=0;i--){let o=r[i];if(Ln(o))return o;{let s=Mr(r[i]).find(Ln);if(s)return s}}}if(Oc(e))return y0(e)}function mO(t,e){return t==="?"||t==="*"||di(e)&&!!e.guardCondition}function gO(t){return t==="*"||t==="+"}function yO(t){return t==="+="}function Xc(t){return x0(t,new Set)}function x0(t,e){if(e.has(t))return!0;e.add(t);for(let r of Mr(t))if(Gr(r)){if(!r.rule.ref||Nt(r.rule.ref)&&!x0(r.rule.ref,e)||pi(r.rule.ref))return!1}else{if(Ur(r))return!1;if(Ln(r))return!1}return!!t.definition}function xO(t){return Qm(t.type,new Set)}function Qm(t,e){if(e.has(t))return!0;if(e.add(t),bm(t))return!1;if(Lm(t))return!1;if(Um(t))return t.types.every(r=>Qm(r,e));if(bf(t)){if(t.primitiveType!==void 0)return!0;if(t.stringType!==void 0)return!0;if(t.typeRef!==void 0){let r=t.typeRef.ref;return Af(r)?Qm(r.type,e):!1}else return!1}else return!1}function Lf(t){if(!qt(t)){if(t.inferredType)return t.inferredType.name;if(t.dataType)return t.dataType;if(t.returnType){let e=t.returnType.ref;if(e)return e.name}}}function mi(t){if(On(t))return Nt(t)&&Xc(t)?t.name:Lf(t)??t.name;if(Nm(t)||Af(t)||$m(t))return t.name;if(Ln(t)){let e=T0(t);if(e)return e}else if(Lc(t))return t.name;throw new Error("Cannot get name of Unknown Type")}function T0(t){if(t.inferredType)return t.inferredType.name;if(t.type?.ref)return mi(t.type.ref)}function TO(t){return qt(t)?t.type?.name??"string":Nt(t)&&Xc(t)?t.name:Lf(t)??t.name}function ag(t){return qt(t)?t.type?.name??"string":Lf(t)??t.name}function Rs(t){let e={s:!1,i:!1,u:!1},r=bs(t.definition,e),n=Object.entries(e).filter(([,i])=>i).map(([i])=>i).join("");return new RegExp(r,n)}var cg=/[\s\S]/.source;function bs(t,e){if(Mm(t))return _O(t);if(Fm(t))return EO(t);if(Am(t))return bO(t);if(wf(t)){let r=t.rule.ref;if(!r)throw new Error("Missing rule reference.");return Dn(bs(r.definition),{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized})}else{if(Pm(t))return RO(t);if(Bm(t))return vO(t);if(Dm(t)){let r=t.regex.lastIndexOf("/"),n=t.regex.substring(1,r),i=t.regex.substring(r+1);return e&&(e.i=i.includes("i"),e.s=i.includes("s"),e.u=i.includes("u")),Dn(n,{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized,wrap:!1})}else{if(Gm(t))return Dn(cg,{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized});throw new Error(`Invalid terminal element: ${t?.$type}, ${t?.$cstNode?.text}`)}}}function _O(t){return Dn(t.elements.map(e=>bs(e)).join("|"),{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized,wrap:!1})}function EO(t){return Dn(t.elements.map(e=>bs(e)).join(""),{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized,wrap:!1})}function vO(t){return Dn(`${cg}*?${bs(t.terminal)}`,{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized})}function RO(t){return Dn(`(?!${bs(t.terminal)})${cg}*?`,{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized})}function bO(t){return t.right?Dn(`[${Jm(t.left)}-${Jm(t.right)}]`,{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized,wrap:!1}):Dn(Jm(t.left),{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized,wrap:!1})}function Jm(t){return hi(t.value)}function Dn(t,e){return(e.parenthesized||e.lookahead||e.wrap!==!1)&&(t=`(${e.lookahead??(e.parenthesized?"":"?:")}${t})`),e.cardinality?`${t}${e.cardinality}`:t}function lg(t){let e=[],r=t.Grammar;for(let n of r.rules)qt(n)&&tg(n)&&Km(Rs(n))&&e.push(n.name);return{multilineCommentRules:e,nameRegexp:If}}function As(t){console&&console.error&&console.error(`Error: ${t}`)}function Hc(t){console&&console.warn&&console.warn(`Warning: ${t}`)}function jc(t){let e=new Date().getTime(),r=t();return{time:new Date().getTime()-e,value:r}}function zc(t){function e(){}e.prototype=t;let r=new e;function n(){return typeof r.bar}return n(),n(),t;(0,eval)(t)}function wO(t){return AO(t)?t.LABEL:t.name}function AO(t){return typeof t.LABEL=="string"&&t.LABEL!==""}var pr=class{get definition(){return this._definition}set definition(e){this._definition=e}constructor(e){this._definition=e}accept(e){e.visit(this),this.definition.forEach(r=>{r.accept(e)})}},Be=class extends pr{constructor(e){super([]),this.idx=1,Object.assign(this,dn(e))}set definition(e){}get definition(){return this.referencedRule!==void 0?this.referencedRule.definition:[]}accept(e){e.visit(this)}},Wt=class extends pr{constructor(e){super(e.definition),this.orgText="",Object.assign(this,dn(e))}},Qe=class extends pr{constructor(e){super(e.definition),this.ignoreAmbiguities=!1,Object.assign(this,dn(e))}},Ge=class extends pr{constructor(e){super(e.definition),this.idx=1,Object.assign(this,dn(e))}},et=class extends pr{constructor(e){super(e.definition),this.idx=1,Object.assign(this,dn(e))}},tt=class extends pr{constructor(e){super(e.definition),this.idx=1,Object.assign(this,dn(e))}},Re=class extends pr{constructor(e){super(e.definition),this.idx=1,Object.assign(this,dn(e))}},Ve=class extends pr{constructor(e){super(e.definition),this.idx=1,Object.assign(this,dn(e))}},Ye=class extends pr{get definition(){return this._definition}set definition(e){this._definition=e}constructor(e){super(e.definition),this.idx=1,this.ignoreAmbiguities=!1,this.hasPredicates=!1,Object.assign(this,dn(e))}},Te=class{constructor(e){this.idx=1,Object.assign(this,dn(e))}accept(e){e.visit(this)}};function Df(t){return t.map(Ss)}function Ss(t){function e(r){return r.map(Ss)}if(t instanceof Be){let r={type:"NonTerminal",name:t.nonTerminalName,idx:t.idx};return typeof t.label=="string"&&(r.label=t.label),r}else{if(t instanceof Qe)return{type:"Alternative",definition:e(t.definition)};if(t instanceof Ge)return{type:"Option",idx:t.idx,definition:e(t.definition)};if(t instanceof et)return{type:"RepetitionMandatory",idx:t.idx,definition:e(t.definition)};if(t instanceof tt)return{type:"RepetitionMandatoryWithSeparator",idx:t.idx,separator:Ss(new Te({terminalType:t.separator})),definition:e(t.definition)};if(t instanceof Ve)return{type:"RepetitionWithSeparator",idx:t.idx,separator:Ss(new Te({terminalType:t.separator})),definition:e(t.definition)};if(t instanceof Re)return{type:"Repetition",idx:t.idx,definition:e(t.definition)};if(t instanceof Ye)return{type:"Alternation",idx:t.idx,definition:e(t.definition)};if(t instanceof Te){let r={type:"Terminal",name:t.terminalType.name,label:wO(t.terminalType),idx:t.idx};typeof t.label=="string"&&(r.terminalLabel=t.label);let n=t.terminalType.PATTERN;return t.terminalType.PATTERN&&(r.pattern=n instanceof RegExp?n.source:n),r}else{if(t instanceof Wt)return{type:"Rule",name:t.name,orgText:t.orgText,definition:e(t.definition)};throw Error("non exhaustive match")}}}function dn(t){return Object.fromEntries(Object.entries(t).filter(([,e])=>e!==void 0))}var Vt=class{visit(e){let r=e;switch(r.constructor){case Be:return this.visitNonTerminal(r);case Qe:return this.visitAlternative(r);case Ge:return this.visitOption(r);case et:return this.visitRepetitionMandatory(r);case tt:return this.visitRepetitionMandatoryWithSeparator(r);case Ve:return this.visitRepetitionWithSeparator(r);case Re:return this.visitRepetition(r);case Ye:return this.visitAlternation(r);case Te:return this.visitTerminal(r);case Wt:return this.visitRule(r);default:throw Error("non exhaustive match")}}visitNonTerminal(e){}visitAlternative(e){}visitOption(e){}visitRepetition(e){}visitRepetitionMandatory(e){}visitRepetitionMandatoryWithSeparator(e){}visitRepetitionWithSeparator(e){}visitAlternation(e){}visitTerminal(e){}visitRule(e){}};function ug(t){return t instanceof Qe||t instanceof Ge||t instanceof Re||t instanceof et||t instanceof tt||t instanceof Ve||t instanceof Te||t instanceof Wt}function _o(t,e=[]){return t instanceof Ge||t instanceof Re||t instanceof Ve?!0:t instanceof Ye?t.definition.some(n=>_o(n,e)):t instanceof Be&&e.includes(t)?!1:t instanceof pr?(t instanceof Be&&e.push(t),t.definition.every(n=>_o(n,e))):!1}function fg(t){return t instanceof Ye}function nr(t){if(t instanceof Be)return"SUBRULE";if(t instanceof Ge)return"OPTION";if(t instanceof Ye)return"OR";if(t instanceof et)return"AT_LEAST_ONE";if(t instanceof tt)return"AT_LEAST_ONE_SEP";if(t instanceof Ve)return"MANY_SEP";if(t instanceof Re)return"MANY";if(t instanceof Te)return"CONSUME";throw Error("non exhaustive match")}var $n=class{walk(e,r=[]){e.definition.forEach((n,i)=>{let o=e.definition.slice(i+1);if(n instanceof Be)this.walkProdRef(n,o,r);else if(n instanceof Te)this.walkTerminal(n,o,r);else if(n instanceof Qe)this.walkFlat(n,o,r);else if(n instanceof Ge)this.walkOption(n,o,r);else if(n instanceof et)this.walkAtLeastOne(n,o,r);else if(n instanceof tt)this.walkAtLeastOneSep(n,o,r);else if(n instanceof Ve)this.walkManySep(n,o,r);else if(n instanceof Re)this.walkMany(n,o,r);else if(n instanceof Ye)this.walkOr(n,o,r);else throw Error("non exhaustive match")})}walkTerminal(e,r,n){}walkProdRef(e,r,n){}walkFlat(e,r,n){let i=r.concat(n);this.walk(e,i)}walkOption(e,r,n){let i=r.concat(n);this.walk(e,i)}walkAtLeastOne(e,r,n){let i=[new Ge({definition:e.definition})].concat(r,n);this.walk(e,i)}walkAtLeastOneSep(e,r,n){let i=_0(e,r,n);this.walk(e,i)}walkMany(e,r,n){let i=[new Ge({definition:e.definition})].concat(r,n);this.walk(e,i)}walkManySep(e,r,n){let i=_0(e,r,n);this.walk(e,i)}walkOr(e,r,n){let i=r.concat(n);e.definition.forEach(o=>{let s=new Qe({definition:[o]});this.walk(s,i)})}};function _0(t,e,r){return[new Ge({definition:[new Te({terminalType:t.separator})].concat(t.definition)})].concat(e,r)}function Eo(t){if(t instanceof Be)return Eo(t.referencedRule);if(t instanceof Te)return kO(t);if(ug(t))return SO(t);if(fg(t))return IO(t);throw Error("non exhaustive match")}function SO(t){let e=[],r=t.definition,n=0,i=r.length>n,o,s=!0;for(;i&&s;)o=r[n],s=_o(o),e=e.concat(Eo(o)),n=n+1,i=r.length>n;return[...new Set(e)]}function IO(t){let e=t.definition.map(r=>Eo(r));return[...new Set(e.flat())]}function kO(t){return[t.terminalType]}var $f="_~IN~_";var dg=class extends $n{constructor(e){super(),this.topProd=e,this.follows={}}startWalking(){return this.walk(this.topProd),this.follows}walkTerminal(e,r,n){}walkProdRef(e,r,n){let i=NO(e.referencedRule,e.idx)+this.topProd.name,o=r.concat(n),s=new Qe({definition:o}),a=Eo(s);this.follows[i]=a}};function E0(t){let e={};return t.forEach(r=>{let n=new dg(r).startWalking();Object.assign(e,n)}),e}function NO(t,e){return t.name+e+$f}var Mf={},PO=new xo;function Is(t){let e=t.toString();if(Mf.hasOwnProperty(e))return Mf[e];{let r=PO.pattern(e);return Mf[e]=r,r}}function v0(){Mf={}}var b0="Complement Sets are not supported for first char optimization",qc=`Unable to use "first char" lexer optimizations:
|
|
48
|
+
`;function w0(t,e=!1){try{let r=Is(t);return pg(r.value,{},r.flags.ignoreCase)}catch(r){if(r.message===b0)e&&Hc(`${qc} Unable to optimize: < ${t.toString()} >
|
|
49
49
|
Complement Sets cannot be automatically optimized.
|
|
50
50
|
This will disable the lexer's first char optimizations.
|
|
51
51
|
See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#COMPLEMENT for details.`);else{let n="";e&&(n=`
|
|
52
52
|
This will disable the lexer's first char optimizations.
|
|
53
|
-
See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#REGEXP_PARSING for details.`),
|
|
53
|
+
See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#REGEXP_PARSING for details.`),As(`${qc}
|
|
54
54
|
Failed parsing: < ${t.toString()} >
|
|
55
55
|
Using the @chevrotain/regexp-to-ast library
|
|
56
|
-
Please open an issue at: https://github.com/chevrotain/chevrotain/issues`+n)}}return[]}function
|
|
57
|
-
`],tracer:(E
|
|
56
|
+
Please open an issue at: https://github.com/chevrotain/chevrotain/issues`+n)}}return[]}function pg(t,e,r){switch(t.type){case"Disjunction":for(let i=0;i<t.value.length;i++)pg(t.value[i],e,r);break;case"Alternative":let n=t.value;for(let i=0;i<n.length;i++){let o=n[i];switch(o.type){case"EndAnchor":case"GroupBackReference":case"Lookahead":case"NegativeLookahead":case"Lookbehind":case"NegativeLookbehind":case"StartAnchor":case"WordBoundary":case"NonWordBoundary":continue}let s=o;switch(s.type){case"Character":Ff(s.value,e,r);break;case"Set":if(s.complement===!0)throw Error(b0);s.value.forEach(c=>{if(typeof c=="number")Ff(c,e,r);else{let l=c;if(r===!0)for(let u=l.from;u<=l.to;u++)Ff(u,e,r);else{for(let u=l.from;u<=l.to&&u<ks;u++)Ff(u,e,r);if(l.to>=ks){let u=l.from>=ks?l.from:ks,f=l.to,d=pn(u),p=pn(f);for(let m=d;m<=p;m++)e[m]=m}}}});break;case"Group":pg(s.value,e,r);break;default:throw Error("Non Exhaustive Match")}let a=s.quantifier!==void 0&&s.quantifier.atLeast===0;if(s.type==="Group"&&hg(s)===!1||s.type!=="Group"&&a===!1)break}break;default:throw Error("non exhaustive match!")}return Object.values(e)}function Ff(t,e,r){let n=pn(t);e[n]=n,r===!0&&CO(t,e)}function CO(t,e){let r=String.fromCharCode(t),n=r.toUpperCase();if(n!==r){let i=pn(n.charCodeAt(0));e[i]=i}else{let i=r.toLowerCase();if(i!==r){let o=pn(i.charCodeAt(0));e[o]=o}}}function R0(t,e){return t.value.find(r=>{if(typeof r=="number")return e.includes(r);{let n=r;return e.find(i=>n.from<=i&&i<=n.to)!==void 0}})}function hg(t){let e=t.quantifier;return e&&e.atLeast===0?!0:t.value?Array.isArray(t.value)?t.value.every(hg):hg(t.value):!1}var mg=class extends fn{constructor(e){super(),this.targetCharCodes=e,this.found=!1}visitChildren(e){if(this.found!==!0){switch(e.type){case"Lookahead":this.visitLookahead(e);return;case"NegativeLookahead":this.visitNegativeLookahead(e);return;case"Lookbehind":this.visitLookbehind(e);return;case"NegativeLookbehind":this.visitNegativeLookbehind(e);return}super.visitChildren(e)}}visitCharacter(e){this.targetCharCodes.includes(e.value)&&(this.found=!0)}visitSet(e){e.complement?R0(e,this.targetCharCodes)===void 0&&(this.found=!0):R0(e,this.targetCharCodes)!==void 0&&(this.found=!0)}};function Uf(t,e){if(e instanceof RegExp){let r=Is(e),n=new mg(t);return n.visit(r),n.found}else{for(let r of e){let n=r.charCodeAt(0);if(t.includes(n))return!0}return!1}}var vo="PATTERN",Ns="defaultMode",Bf="modes";function S0(t,e){e=Object.assign({safeMode:!1,positionTracking:"full",lineTerminatorCharacters:["\r",`
|
|
57
|
+
`],tracer:(_,E)=>E()},e);let r=e.tracer;r("initCharCodeToOptimizedIndexMap",()=>{ZO()});let n;r("Reject Lexer.NA",()=>{n=t.filter(_=>_[vo]!==ct.NA)});let i=!1,o;r("Transform Patterns",()=>{i=!1,o=n.map(_=>{let E=_[vo];if(E instanceof RegExp){let I=E.source;return I.length===1&&I!=="^"&&I!=="$"&&I!=="."&&!E.ignoreCase?I:I.length===2&&I[0]==="\\"&&!["d","D","s","S","t","r","n","t","0","c","b","B","f","v","w","W"].includes(I[1])?I[1]:A0(E)}else{if(typeof E=="function")return i=!0,{exec:E};if(typeof E=="object")return i=!0,E;if(typeof E=="string"){if(E.length===1)return E;{let I=E.replace(/[\\^$.*+?()[\]{}|]/g,"\\$&"),D=new RegExp(I);return A0(D)}}else throw Error("non exhaustive match")}})});let s,a,c,l,u;r("misc mapping",()=>{s=n.map(_=>_.tokenTypeIdx),a=n.map(_=>{let E=_.GROUP;if(E!==ct.SKIPPED){if(typeof E=="string")return E;if(E===void 0)return!1;throw Error("non exhaustive match")}}),c=n.map(_=>{let E=_.LONGER_ALT;if(E)return Array.isArray(E)?E.map(D=>n.indexOf(D)):[n.indexOf(E)]}),l=n.map(_=>_.PUSH_MODE),u=n.map(_=>Object.hasOwn(_,"POP_MODE"))});let f;r("Line Terminator Handling",()=>{let _=D0(e.lineTerminatorCharacters);f=n.map(E=>!1),e.positionTracking!=="onlyOffset"&&(f=n.map(E=>Object.hasOwn(E,"LINE_BREAKS")?!!E.LINE_BREAKS:L0(E,_)===!1&&Uf(_,E.PATTERN)))});let d,p,m,g;r("Misc Mapping #2",()=>{d=n.map(C0),p=o.map(YO),m=n.reduce((_,E)=>{let I=E.GROUP;return typeof I=="string"&&I!==ct.SKIPPED&&(_[I]=[]),_},{}),g=o.map((_,E)=>({pattern:o[E],longerAlt:c[E],canLineTerminator:f[E],isCustom:d[E],short:p[E],group:a[E],push:l[E],pop:u[E],tokenTypeIdx:s[E],tokenType:n[E]}))});let v=!0,T=[];return e.safeMode||r("First Char Optimization",()=>{T=n.reduce((_,E,I)=>{if(typeof E.PATTERN=="string"){let D=E.PATTERN.charCodeAt(0),k=pn(D);gg(_,k,g[I])}else if(Array.isArray(E.START_CHARS_HINT)){let D;E.START_CHARS_HINT.forEach(k=>{let B=typeof k=="string"?k.charCodeAt(0):k,U=pn(B);D!==U&&(D=U,gg(_,U,g[I]))})}else if(E.PATTERN instanceof RegExp)if(E.PATTERN.unicode)v=!1,e.ensureOptimizations&&As(`${qc} Unable to analyze < ${E.PATTERN.toString()} > pattern.
|
|
58
58
|
The regexp unicode flag is not currently supported by the regexp-to-ast library.
|
|
59
59
|
This will disable the lexer's first char optimizations.
|
|
60
|
-
For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#UNICODE_OPTIMIZE`);else{let D=
|
|
60
|
+
For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#UNICODE_OPTIMIZE`);else{let D=w0(E.PATTERN,e.ensureOptimizations);D.length===0&&(v=!1),D.forEach(k=>{gg(_,k,g[I])})}else e.ensureOptimizations&&As(`${qc} TokenType: <${E.name}> is using a custom token pattern without providing <start_chars_hint> parameter.
|
|
61
61
|
This will disable the lexer's first char optimizations.
|
|
62
|
-
For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#CUSTOM_OPTIMIZE`),
|
|
62
|
+
For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#CUSTOM_OPTIMIZE`),v=!1;return _},[])}),{emptyGroups:m,patternIdxToConfig:g,charCodeToPatternIdxToConfig:T,hasCustom:i,canBeOptimized:v}}function I0(t,e){let r=[],n=LO(t);r=r.concat(n.errors);let i=DO(n.valid),o=i.valid;return r=r.concat(i.errors),r=r.concat(OO(o)),r=r.concat(HO(o)),r=r.concat(jO(o,e)),r=r.concat(zO(o)),r}function OO(t){let e=[],r=t.filter(n=>n[vo]instanceof RegExp);return e=e.concat(MO(r)),e=e.concat(BO(r)),e=e.concat(GO(r)),e=e.concat(XO(r)),e=e.concat(FO(r)),e}function LO(t){let e=t.filter(i=>!Object.hasOwn(i,vo)),r=e.map(i=>({message:"Token Type: ->"+i.name+"<- missing static 'PATTERN' property",type:at.MISSING_PATTERN,tokenTypes:[i]})),n=t.filter(i=>!e.includes(i));return{errors:r,valid:n}}function DO(t){let e=t.filter(i=>{let o=i[vo];return!(o instanceof RegExp)&&typeof o!="function"&&!Object.hasOwn(o,"exec")&&typeof o!="string"}),r=e.map(i=>({message:"Token Type: ->"+i.name+"<- static 'PATTERN' can only be a RegExp, a Function matching the {CustomPatternMatcherFunc} type or an Object matching the {ICustomPattern} interface.",type:at.INVALID_PATTERN,tokenTypes:[i]})),n=t.filter(i=>!e.includes(i));return{errors:r,valid:n}}var $O=/[^\\][$]/;function MO(t){class e extends fn{constructor(){super(...arguments),this.found=!1}visitEndAnchor(o){this.found=!0}}return t.filter(i=>{let o=i.PATTERN;try{let s=Is(o),a=new e;return a.visit(s),a.found}catch{return $O.test(o.source)}}).map(i=>({message:`Unexpected RegExp Anchor Error:
|
|
63
63
|
Token Type: ->`+i.name+`<- static 'PATTERN' cannot contain end of input anchor '$'
|
|
64
|
-
See chevrotain.io/docs/guide/resolving_lexer_errors.html#ANCHORS for details.`,type:
|
|
64
|
+
See chevrotain.io/docs/guide/resolving_lexer_errors.html#ANCHORS for details.`,type:at.EOI_ANCHOR_FOUND,tokenTypes:[i]}))}function FO(t){return t.filter(n=>n.PATTERN.test("")).map(n=>({message:"Token Type: ->"+n.name+"<- static 'PATTERN' must not match an empty string",type:at.EMPTY_MATCH_PATTERN,tokenTypes:[n]}))}var UO=/[^\\[][\^]|^\^/;function BO(t){class e extends fn{constructor(){super(...arguments),this.found=!1}visitStartAnchor(o){this.found=!0}}return t.filter(i=>{let o=i.PATTERN;try{let s=Is(o),a=new e;return a.visit(s),a.found}catch{return UO.test(o.source)}}).map(i=>({message:`Unexpected RegExp Anchor Error:
|
|
65
65
|
Token Type: ->`+i.name+`<- static 'PATTERN' cannot contain start of input anchor '^'
|
|
66
|
-
See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#ANCHORS for details.`,type:
|
|
66
|
+
See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#ANCHORS for details.`,type:at.SOI_ANCHOR_FOUND,tokenTypes:[i]}))}function GO(t){return t.filter(n=>{let i=n[vo];return i instanceof RegExp&&(i.multiline||i.global)}).map(n=>({message:"Token Type: ->"+n.name+"<- static 'PATTERN' may NOT contain global('g') or multiline('m')",type:at.UNSUPPORTED_FLAGS_FOUND,tokenTypes:[n]}))}function XO(t){let e=[],r=t.map(o=>t.reduce((s,a)=>(o.PATTERN.source===a.PATTERN.source&&!e.includes(a)&&a.PATTERN!==ct.NA&&(e.push(a),s.push(a)),s),[]));return r=r.filter(Boolean),r.filter(o=>o.length>1).map(o=>{let s=o.map(c=>c.name);return{message:`The same RegExp pattern ->${o[0].PATTERN}<-has been used in all of the following Token Types: ${s.join(", ")} <-`,type:at.DUPLICATE_PATTERNS_FOUND,tokenTypes:o}})}function HO(t){return t.filter(n=>{if(!Object.hasOwn(n,"GROUP"))return!1;let i=n.GROUP;return i!==ct.SKIPPED&&i!==ct.NA&&typeof i!="string"}).map(n=>({message:"Token Type: ->"+n.name+"<- static 'GROUP' can only be Lexer.SKIPPED/Lexer.NA/A String",type:at.INVALID_GROUP_TYPE_FOUND,tokenTypes:[n]}))}function jO(t,e){return t.filter(i=>i.PUSH_MODE!==void 0&&!e.includes(i.PUSH_MODE)).map(i=>({message:`Token Type: ->${i.name}<- static 'PUSH_MODE' value cannot refer to a Lexer Mode ->${i.PUSH_MODE}<-which does not exist`,type:at.PUSH_MODE_DOES_NOT_EXIST,tokenTypes:[i]}))}function zO(t){let e=[],r=t.reduce((n,i,o)=>{let s=i.PATTERN;return s===ct.NA||(typeof s=="string"?n.push({str:s,idx:o,tokenType:i}):s instanceof RegExp&&WO(s)&&n.push({str:s.source,idx:o,tokenType:i})),n},[]);return t.forEach((n,i)=>{r.forEach(({str:o,idx:s,tokenType:a})=>{if(i<s&&qO(o,n.PATTERN)){let c=`Token: ->${a.name}<- can never be matched.
|
|
67
67
|
Because it appears AFTER the Token Type ->${n.name}<-in the lexer's definition.
|
|
68
|
-
See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#UNREACHABLE`;e.push({message:c,type:
|
|
69
|
-
`,type:
|
|
70
|
-
`,type:
|
|
71
|
-
`,type:
|
|
72
|
-
`,type:
|
|
73
|
-
`,type:
|
|
68
|
+
See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#UNREACHABLE`;e.push({message:c,type:at.UNREACHABLE_PATTERN,tokenTypes:[n,a]})}})}),e}function qO(t,e){if(e instanceof RegExp){if(VO(e))return!1;let r=e.exec(t);return r!==null&&r.index===0}else{if(typeof e=="function")return e(t,0,[],{});if(Object.hasOwn(e,"exec"))return e.exec(t,0,[],{});if(typeof e=="string")return e===t;throw Error("non exhaustive match")}}function WO(t){return[".","\\","[","]","|","^","$","(",")","?","*","+","{"].find(r=>t.source.indexOf(r)!==-1)===void 0}function VO(t){return/(\(\?=)|(\(\?!)|(\(\?<=)|(\(\?<!)/.test(t.source)}function A0(t){let e=t.ignoreCase?"iy":"y";return new RegExp(`${t.source}`,e)}function k0(t,e,r){let n=[];return Object.hasOwn(t,Ns)||n.push({message:"A MultiMode Lexer cannot be initialized without a <"+Ns+`> property in its definition
|
|
69
|
+
`,type:at.MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE}),Object.hasOwn(t,Bf)||n.push({message:"A MultiMode Lexer cannot be initialized without a <"+Bf+`> property in its definition
|
|
70
|
+
`,type:at.MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY}),Object.hasOwn(t,Bf)&&Object.hasOwn(t,Ns)&&!Object.hasOwn(t.modes,t.defaultMode)&&n.push({message:`A MultiMode Lexer cannot be initialized with a ${Ns}: <${t.defaultMode}>which does not exist
|
|
71
|
+
`,type:at.MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST}),Object.hasOwn(t,Bf)&&Object.keys(t.modes).forEach(i=>{let o=t.modes[i];o.forEach((s,a)=>{s===void 0?n.push({message:`A Lexer cannot be initialized using an undefined Token Type. Mode:<${i}> at index: <${a}>
|
|
72
|
+
`,type:at.LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED}):Object.hasOwn(s,"LONGER_ALT")&&(Array.isArray(s.LONGER_ALT)?s.LONGER_ALT:[s.LONGER_ALT]).forEach(l=>{l!==void 0&&!o.includes(l)&&n.push({message:`A MultiMode Lexer cannot be initialized with a longer_alt <${l.name}> on token <${s.name}> outside of mode <${i}>
|
|
73
|
+
`,type:at.MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE})})})}),n}function N0(t,e,r){let n=[],i=!1,s=Object.values(t.modes||{}).flat().filter(Boolean).filter(c=>c[vo]!==ct.NA),a=D0(r);return e&&s.forEach(c=>{let l=L0(c,a);if(l!==!1){let f={message:KO(c,l),type:l.issue,tokenType:c};n.push(f)}else Object.hasOwn(c,"LINE_BREAKS")?c.LINE_BREAKS===!0&&(i=!0):Uf(a,c.PATTERN)&&(i=!0)}),e&&!i&&n.push({message:`Warning: No LINE_BREAKS Found.
|
|
74
74
|
This Lexer has been defined to track line and column information,
|
|
75
75
|
But none of the Token Types can be identified as matching a line terminator.
|
|
76
76
|
See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#LINE_BREAKS
|
|
77
|
-
for details.`,type:
|
|
77
|
+
for details.`,type:at.NO_LINE_BREAKS_FLAGS}),n}function P0(t){let e={};return Object.keys(t).forEach(n=>{let i=t[n];if(Array.isArray(i))e[n]=[];else throw Error("non exhaustive match")}),e}function C0(t){let e=t.PATTERN;if(e instanceof RegExp)return!1;if(typeof e=="function")return!0;if(Object.hasOwn(e,"exec"))return!0;if(typeof e=="string")return!1;throw Error("non exhaustive match")}function YO(t){return typeof t=="string"&&t.length===1?t.charCodeAt(0):!1}var O0={test:function(t){let e=t.length;for(let r=this.lastIndex;r<e;r++){let n=t.charCodeAt(r);if(n===10)return this.lastIndex=r+1,!0;if(n===13)return t.charCodeAt(r+1)===10?this.lastIndex=r+2:this.lastIndex=r+1,!0}return!1},lastIndex:0};function L0(t,e){if(Object.hasOwn(t,"LINE_BREAKS"))return!1;if(t.PATTERN instanceof RegExp){try{Uf(e,t.PATTERN)}catch(r){return{issue:at.IDENTIFY_TERMINATOR,errMsg:r.message}}return!1}else{if(typeof t.PATTERN=="string")return!1;if(C0(t))return{issue:at.CUSTOM_LINE_BREAK};throw Error("non exhaustive match")}}function KO(t,e){if(e.issue===at.IDENTIFY_TERMINATOR)return`Warning: unable to identify line terminator usage in pattern.
|
|
78
78
|
The problem is in the <${t.name}> Token Type
|
|
79
79
|
Root cause: ${e.errMsg}.
|
|
80
|
-
For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#IDENTIFY_TERMINATOR`;if(e.issue===
|
|
80
|
+
For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#IDENTIFY_TERMINATOR`;if(e.issue===at.CUSTOM_LINE_BREAK)return`Warning: A Custom Token Pattern should specify the <line_breaks> option.
|
|
81
81
|
The problem is in the <${t.name}> Token Type
|
|
82
|
-
For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#CUSTOM_LINE_BREAK`;throw Error("non exhaustive match")}function
|
|
83
|
-
`,"\r"],ensureOptimizations:!1,safeMode:!1,errorMessageProvider:
|
|
84
|
-
a boolean 2nd argument is no longer supported`);this.config=Object.assign({},
|
|
85
|
-
For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#MISSING_LINE_TERM_CHARS`);if(r.safeMode&&r.ensureOptimizations)throw Error('"safeMode" and "ensureOptimizations" flags are mutually exclusive.');this.trackStartLines=/full|onlyStart/i.test(this.config.positionTracking),this.trackEndLines=/full/i.test(this.config.positionTracking),Array.isArray(e)?i={modes:{defaultMode:[...e]},defaultMode:
|
|
82
|
+
For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#CUSTOM_LINE_BREAK`;throw Error("non exhaustive match")}function D0(t){return t.map(r=>typeof r=="string"?r.charCodeAt(0):r)}function gg(t,e,r){t[e]===void 0?t[e]=[r]:t[e].push(r)}var ks=256,Gf=[];function pn(t){return t<ks?t:Gf[t]}function ZO(){if(Gf.length===0){Gf=new Array(65536);for(let t=0;t<65536;t++)Gf[t]=t>255?255+~~(t/255):t}}function Mn(t,e){let r=t.tokenTypeIdx;return r===e.tokenTypeIdx?!0:e.isParent===!0&&e.categoryMatchesMap[r]===!0}function Ps(t,e){return t.tokenTypeIdx===e.tokenTypeIdx}var $0=1,F0={};function Fn(t){let e=JO(t);QO(e),tL(e),eL(e),e.forEach(r=>{r.isParent=r.categoryMatches.length>0})}function JO(t){let e=[...t],r=t,n=!0;for(;n;){r=r.map(o=>o.CATEGORIES).flat().filter(Boolean);let i=r.filter(o=>!e.includes(o));e=e.concat(i),i.length===0?n=!1:r=i}return e}function QO(t){t.forEach(e=>{yg(e)||(F0[$0]=e,e.tokenTypeIdx=$0++),M0(e)&&!Array.isArray(e.CATEGORIES)&&(e.CATEGORIES=[e.CATEGORIES]),M0(e)||(e.CATEGORIES=[]),rL(e)||(e.categoryMatches=[]),nL(e)||(e.categoryMatchesMap={})})}function eL(t){t.forEach(e=>{e.categoryMatches=[],Object.keys(e.categoryMatchesMap).forEach(r=>{e.categoryMatches.push(F0[r].tokenTypeIdx)})})}function tL(t){t.forEach(e=>{U0([],e)})}function U0(t,e){t.forEach(r=>{e.categoryMatchesMap[r.tokenTypeIdx]=!0}),e.CATEGORIES.forEach(r=>{let n=t.concat(e);n.includes(r)||U0(n,r)})}function yg(t){return Object.hasOwn(t??{},"tokenTypeIdx")}function M0(t){return Object.hasOwn(t??{},"CATEGORIES")}function rL(t){return Object.hasOwn(t??{},"categoryMatches")}function nL(t){return Object.hasOwn(t??{},"categoryMatchesMap")}function B0(t){return Object.hasOwn(t??{},"tokenTypeIdx")}var Cs={buildUnableToPopLexerModeMessage(t){return`Unable to pop Lexer Mode after encountering Token ->${t.image}<- The Mode Stack is empty`},buildUnexpectedCharactersMessage(t,e,r,n,i,o){return`unexpected character: ->${t.charAt(e)}<- at offset: ${e}, skipped ${r} characters.`}};var at;(function(t){t[t.MISSING_PATTERN=0]="MISSING_PATTERN",t[t.INVALID_PATTERN=1]="INVALID_PATTERN",t[t.EOI_ANCHOR_FOUND=2]="EOI_ANCHOR_FOUND",t[t.UNSUPPORTED_FLAGS_FOUND=3]="UNSUPPORTED_FLAGS_FOUND",t[t.DUPLICATE_PATTERNS_FOUND=4]="DUPLICATE_PATTERNS_FOUND",t[t.INVALID_GROUP_TYPE_FOUND=5]="INVALID_GROUP_TYPE_FOUND",t[t.PUSH_MODE_DOES_NOT_EXIST=6]="PUSH_MODE_DOES_NOT_EXIST",t[t.MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE=7]="MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE",t[t.MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY=8]="MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY",t[t.MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST=9]="MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST",t[t.LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED=10]="LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED",t[t.SOI_ANCHOR_FOUND=11]="SOI_ANCHOR_FOUND",t[t.EMPTY_MATCH_PATTERN=12]="EMPTY_MATCH_PATTERN",t[t.NO_LINE_BREAKS_FLAGS=13]="NO_LINE_BREAKS_FLAGS",t[t.UNREACHABLE_PATTERN=14]="UNREACHABLE_PATTERN",t[t.IDENTIFY_TERMINATOR=15]="IDENTIFY_TERMINATOR",t[t.CUSTOM_LINE_BREAK=16]="CUSTOM_LINE_BREAK",t[t.MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE=17]="MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE"})(at||(at={}));var Wc={deferDefinitionErrorsHandling:!1,positionTracking:"full",lineTerminatorsPattern:/\n|\r\n?/g,lineTerminatorCharacters:[`
|
|
83
|
+
`,"\r"],ensureOptimizations:!1,safeMode:!1,errorMessageProvider:Cs,traceInitPerf:!1,skipValidations:!1,recoveryEnabled:!0};Object.freeze(Wc);var ct=class{constructor(e,r=Wc){if(this.lexerDefinition=e,this.lexerDefinitionErrors=[],this.lexerDefinitionWarning=[],this.patternIdxToConfig={},this.charCodeToPatternIdxToConfig={},this.modes=[],this.emptyGroups={},this.trackStartLines=!0,this.trackEndLines=!0,this.hasCustom=!1,this.canModeBeOptimized={},this.TRACE_INIT=(i,o)=>{if(this.traceInitPerf===!0){this.traceInitIndent++;let s=new Array(this.traceInitIndent+1).join(" ");this.traceInitIndent<this.traceInitMaxIdent&&console.log(`${s}--> <${i}>`);let{time:a,value:c}=jc(o),l=a>10?console.warn:console.log;return this.traceInitIndent<this.traceInitMaxIdent&&l(`${s}<-- <${i}> time: ${a}ms`),this.traceInitIndent--,c}else return o()},typeof r=="boolean")throw Error(`The second argument to the Lexer constructor is now an ILexerConfig Object.
|
|
84
|
+
a boolean 2nd argument is no longer supported`);this.config=Object.assign({},Wc,r);let n=this.config.traceInitPerf;n===!0?(this.traceInitMaxIdent=1/0,this.traceInitPerf=!0):typeof n=="number"&&(this.traceInitMaxIdent=n,this.traceInitPerf=!0),this.traceInitIndent=-1,this.TRACE_INIT("Lexer Constructor",()=>{let i,o=!0;this.TRACE_INIT("Lexer Config handling",()=>{if(this.config.lineTerminatorsPattern===Wc.lineTerminatorsPattern)this.config.lineTerminatorsPattern=O0;else if(this.config.lineTerminatorCharacters===Wc.lineTerminatorCharacters)throw Error(`Error: Missing <lineTerminatorCharacters> property on the Lexer config.
|
|
85
|
+
For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#MISSING_LINE_TERM_CHARS`);if(r.safeMode&&r.ensureOptimizations)throw Error('"safeMode" and "ensureOptimizations" flags are mutually exclusive.');this.trackStartLines=/full|onlyStart/i.test(this.config.positionTracking),this.trackEndLines=/full/i.test(this.config.positionTracking),Array.isArray(e)?i={modes:{defaultMode:[...e]},defaultMode:Ns}:(o=!1,i=Object.assign({},e))}),this.config.skipValidations===!1&&(this.TRACE_INIT("performRuntimeChecks",()=>{this.lexerDefinitionErrors=this.lexerDefinitionErrors.concat(k0(i,this.trackStartLines,this.config.lineTerminatorCharacters))}),this.TRACE_INIT("performWarningRuntimeChecks",()=>{this.lexerDefinitionWarning=this.lexerDefinitionWarning.concat(N0(i,this.trackStartLines,this.config.lineTerminatorCharacters))})),i.modes=i.modes?i.modes:{},Object.entries(i.modes).forEach(([a,c])=>{i.modes[a]=c.filter(l=>l!==void 0)});let s=Object.keys(i.modes);if(Object.entries(i.modes).forEach(([a,c])=>{this.TRACE_INIT(`Mode: <${a}> processing`,()=>{if(this.modes.push(a),this.config.skipValidations===!1&&this.TRACE_INIT("validatePatterns",()=>{this.lexerDefinitionErrors=this.lexerDefinitionErrors.concat(I0(c,s))}),this.lexerDefinitionErrors.length===0){Fn(c);let l;this.TRACE_INIT("analyzeTokenTypes",()=>{l=S0(c,{lineTerminatorCharacters:this.config.lineTerminatorCharacters,positionTracking:r.positionTracking,ensureOptimizations:r.ensureOptimizations,safeMode:r.safeMode,tracer:this.TRACE_INIT})}),this.patternIdxToConfig[a]=l.patternIdxToConfig,this.charCodeToPatternIdxToConfig[a]=l.charCodeToPatternIdxToConfig,this.emptyGroups=Object.assign({},this.emptyGroups,l.emptyGroups),this.hasCustom=l.hasCustom||this.hasCustom,this.canModeBeOptimized[a]=l.canBeOptimized}})}),this.defaultMode=i.defaultMode,this.lexerDefinitionErrors.length>0&&!this.config.deferDefinitionErrorsHandling){let c=this.lexerDefinitionErrors.map(l=>l.message).join(`-----------------------
|
|
86
86
|
`);throw new Error(`Errors detected in definition of Lexer:
|
|
87
|
-
`+c)}this.lexerDefinitionWarning.forEach(a=>{
|
|
87
|
+
`+c)}this.lexerDefinitionWarning.forEach(a=>{Hc(a.message)}),this.TRACE_INIT("Choosing sub-methods implementations",()=>{if(o&&(this.handleModes=()=>{}),this.trackStartLines===!1&&(this.computeNewColumn=a=>a),this.trackEndLines===!1&&(this.updateTokenEndLineColumnLocation=()=>{}),/full/i.test(this.config.positionTracking))this.createTokenInstance=this.createFullToken;else if(/onlyStart/i.test(this.config.positionTracking))this.createTokenInstance=this.createStartOnlyToken;else if(/onlyOffset/i.test(this.config.positionTracking))this.createTokenInstance=this.createOffsetOnlyToken;else throw Error(`Invalid <positionTracking> config option: "${this.config.positionTracking}"`);this.hasCustom?(this.addToken=this.addTokenUsingPush,this.handlePayload=this.handlePayloadWithCustom):(this.addToken=this.addTokenUsingMemberAccess,this.handlePayload=this.handlePayloadNoCustom)}),this.TRACE_INIT("Failed Optimization Warnings",()=>{let a=Object.entries(this.canModeBeOptimized).reduce((c,[l,u])=>(u===!1&&c.push(l),c),[]);if(r.ensureOptimizations&&a.length>0)throw Error(`Lexer Modes: < ${a.join(", ")} > cannot be optimized.
|
|
88
88
|
Disable the "ensureOptimizations" lexer config flag to silently ignore this and run the lexer in an un-optimized mode.
|
|
89
|
-
Or inspect the console log for details on how to resolve these issues.`)}),this.TRACE_INIT("clearRegExpParserCache",()=>{
|
|
89
|
+
Or inspect the console log for details on how to resolve these issues.`)}),this.TRACE_INIT("clearRegExpParserCache",()=>{v0()}),this.TRACE_INIT("toFastProperties",()=>{zc(this)})})}tokenize(e,r=this.defaultMode){if(this.lexerDefinitionErrors.length>0){let i=this.lexerDefinitionErrors.map(o=>o.message).join(`-----------------------
|
|
90
90
|
`);throw new Error(`Unable to Tokenize because Errors detected in definition of Lexer:
|
|
91
|
-
`+i)}return this.tokenizeInternal(e,r)}tokenizeInternal(e,r){let n,i,o,s,a,c,l,u,f,d,p,m,
|
|
92
|
-
See: https://github.com/chevrotain/chevrotain/issues/564#issuecomment-349062346 for details.`;return Object.hasOwn(t,
|
|
91
|
+
`+i)}return this.tokenizeInternal(e,r)}tokenizeInternal(e,r){let n,i,o,s,a,c,l,u,f,d,p,m,g,v,T,_=e,E=_.length,I=0,D=0,k=this.hasCustom?0:Math.floor(e.length/10),B=new Array(k),U=[],z=this.trackStartLines?1:void 0,le=this.trackStartLines?1:void 0,O=P0(this.emptyGroups),R=this.trackStartLines,L=this.config.lineTerminatorsPattern,$=0,w=[],A=[],S=[],M=[];Object.freeze(M);let X=!1,F=V=>{if(S.length===1&&V.tokenType.PUSH_MODE===void 0){let te=this.config.errorMessageProvider.buildUnableToPopLexerModeMessage(V);U.push({offset:V.startOffset,line:V.startLine,column:V.startColumn,length:V.image.length,message:te})}else{S.pop();let te=S.at(-1);w=this.patternIdxToConfig[te],A=this.charCodeToPatternIdxToConfig[te],$=w.length;let De=this.canModeBeOptimized[te]&&this.config.safeMode===!1;A&&De?X=!0:X=!1}};function W(V){S.push(V),A=this.charCodeToPatternIdxToConfig[V],w=this.patternIdxToConfig[V],$=w.length,$=w.length;let te=this.canModeBeOptimized[V]&&this.config.safeMode===!1;A&&te?X=!0:X=!1}W.call(this,r);let Z,pe=this.config.recoveryEnabled;for(;I<E;){c=null,f=-1;let V=_.charCodeAt(I),te;if(X){let Ne=pn(V),Xe=A[Ne];te=Xe!==void 0?Xe:M}else te=w;let De=te.length;for(n=0;n<De;n++){Z=te[n];let Ne=Z.pattern;l=null;let Xe=Z.short;if(Xe!==!1?V===Xe&&(f=1,c=Ne):Z.isCustom===!0?(T=Ne.exec(_,I,B,O),T!==null?(c=T[0],f=c.length,T.payload!==void 0&&(l=T.payload)):c=null):(Ne.lastIndex=I,f=this.matchLength(Ne,e,I)),f!==-1){if(a=Z.longerAlt,a!==void 0){c=e.substring(I,I+f);let q=a.length;for(o=0;o<q;o++){let J=w[a[o]],re=J.pattern;if(u=null,J.isCustom===!0?(T=re.exec(_,I,B,O),T!==null?(s=T[0],T.payload!==void 0&&(u=T.payload)):s=null):(re.lastIndex=I,s=this.match(re,e,I)),s&&s.length>c.length){c=s,f=s.length,l=u,Z=J;break}}}break}}if(f!==-1){if(d=Z.group,d!==void 0&&(c=c!==null?c:e.substring(I,I+f),p=Z.tokenTypeIdx,m=this.createTokenInstance(c,I,p,Z.tokenType,z,le,f),this.handlePayload(m,l),d===!1?D=this.addToken(B,D,m):O[d].push(m)),R===!0&&Z.canLineTerminator===!0){let Ne=0,Xe,q;L.lastIndex=0;do c=c!==null?c:e.substring(I,I+f),Xe=L.test(c),Xe===!0&&(q=L.lastIndex-1,Ne++);while(Xe===!0);Ne!==0?(z=z+Ne,le=f-q,this.updateTokenEndLineColumnLocation(m,d,q,Ne,z,le,f)):le=this.computeNewColumn(le,f)}else le=this.computeNewColumn(le,f);I=I+f,this.handleModes(Z,F,W,m)}else{let Ne=I,Xe=z,q=le,J=pe===!1;for(;J===!1&&I<E;)for(I++,i=0;i<$;i++){let re=w[i],P=re.pattern,we=re.short;if(we!==!1?_.charCodeAt(I)===we&&(J=!0):re.isCustom===!0?J=P.exec(_,I,B,O)!==null:(P.lastIndex=I,J=P.exec(e)!==null),J===!0)break}if(g=I-Ne,le=this.computeNewColumn(le,g),v=this.config.errorMessageProvider.buildUnexpectedCharactersMessage(_,Ne,g,Xe,q,S.at(-1)),U.push({offset:Ne,line:Xe,column:q,length:g,message:v}),pe===!1)break}}return this.hasCustom||(B.length=D),{tokens:B,groups:O,errors:U}}handleModes(e,r,n,i){if(e.pop===!0){let o=e.push;r(i),o!==void 0&&n.call(this,o)}else e.push!==void 0&&n.call(this,e.push)}updateTokenEndLineColumnLocation(e,r,n,i,o,s,a){let c,l;r!==void 0&&(c=n===a-1,l=c?-1:0,i===1&&c===!0||(e.endLine=o+l,e.endColumn=s-1+-l))}computeNewColumn(e,r){return e+r}createOffsetOnlyToken(e,r,n,i){return{image:e,startOffset:r,tokenTypeIdx:n,tokenType:i}}createStartOnlyToken(e,r,n,i,o,s){return{image:e,startOffset:r,startLine:o,startColumn:s,tokenTypeIdx:n,tokenType:i}}createFullToken(e,r,n,i,o,s,a){return{image:e,startOffset:r,endOffset:r+a-1,startLine:o,endLine:o,startColumn:s,endColumn:s+a-1,tokenTypeIdx:n,tokenType:i}}addTokenUsingPush(e,r,n){return e.push(n),r}addTokenUsingMemberAccess(e,r,n){return e[r]=n,r++,r}handlePayloadNoCustom(e,r){}handlePayloadWithCustom(e,r){r!==null&&(e.payload=r)}match(e,r,n){return e.test(r)===!0?r.substring(n,e.lastIndex):null}matchLength(e,r,n){return e.test(r)===!0?e.lastIndex-n:-1}};ct.SKIPPED="This marks a skipped Token pattern, this means each token identified by it will be consumed and then thrown into oblivion, this can be used to for example to completely ignore whitespace.";ct.NA=/NOT_APPLICABLE/;function Un(t){return xg(t)?t.LABEL:t.name}function xg(t){return typeof t.LABEL=="string"&&t.LABEL!==""}var iL="parent",G0="categories",X0="label",H0="group",j0="push_mode",z0="pop_mode",q0="longer_alt",W0="line_breaks",V0="start_chars_hint";function gi(t){return oL(t)}function oL(t){let e=t.pattern,r={};if(r.name=t.name,e!==void 0&&(r.PATTERN=e),Object.hasOwn(t,iL))throw`The parent property is no longer supported.
|
|
92
|
+
See: https://github.com/chevrotain/chevrotain/issues/564#issuecomment-349062346 for details.`;return Object.hasOwn(t,G0)&&(r.CATEGORIES=t[G0]),Fn([r]),Object.hasOwn(t,X0)&&(r.LABEL=t[X0]),Object.hasOwn(t,H0)&&(r.GROUP=t[H0]),Object.hasOwn(t,z0)&&(r.POP_MODE=t[z0]),Object.hasOwn(t,j0)&&(r.PUSH_MODE=t[j0]),Object.hasOwn(t,q0)&&(r.LONGER_ALT=t[q0]),Object.hasOwn(t,W0)&&(r.LINE_BREAKS=t[W0]),Object.hasOwn(t,V0)&&(r.START_CHARS_HINT=t[V0]),r}var Yt=gi({name:"EOF",pattern:ct.NA});Fn([Yt]);function Bn(t,e,r,n,i,o,s,a){return{image:e,startOffset:r,endOffset:n,startLine:i,endLine:o,startColumn:s,endColumn:a,tokenTypeIdx:t.tokenTypeIdx,tokenType:t}}function Os(t,e){return Mn(t,e)}var Gn={buildMismatchTokenMessage({expected:t,actual:e,previous:r,ruleName:n}){return`Expecting ${xg(t)?`--> ${Un(t)} <--`:`token of type --> ${t.name} <--`} but found --> '${e.image}' <--`},buildNotAllInputParsedMessage({firstRedundant:t,ruleName:e}){return"Redundant input, expecting EOF but found: "+t.image},buildNoViableAltMessage({expectedPathsPerAlt:t,actual:e,previous:r,customUserDescription:n,ruleName:i}){let o="Expecting: ",a=`
|
|
93
93
|
but found: '`+e[0].image+"'";if(n)return o+n+a;{let f=`one of these possible Token sequences:
|
|
94
|
-
${t.reduce((d,p)=>d.concat(p),[]).map(d=>`[${d.map(p=>
|
|
94
|
+
${t.reduce((d,p)=>d.concat(p),[]).map(d=>`[${d.map(p=>Un(p)).join(", ")}]`).map((d,p)=>` ${p+1}. ${d}`).join(`
|
|
95
95
|
`)}`;return o+f+a}},buildEarlyExitMessage({expectedIterationPaths:t,actual:e,customUserDescription:r,ruleName:n}){let i="Expecting: ",s=`
|
|
96
96
|
but found: '`+e[0].image+"'";if(r)return i+r+s;{let c=`expecting at least one iteration which starts with one of these possible Token sequences::
|
|
97
|
-
<${t.map(l=>`[${l.map(u=>
|
|
98
|
-
inside top level rule: ->`+t.name+"<-"}},
|
|
97
|
+
<${t.map(l=>`[${l.map(u=>Un(u)).join(",")}]`).join(" ,")}>`;return i+c+s}}};Object.freeze(Gn);var Y0={buildRuleNotFoundError(t,e){return"Invalid grammar, reference to a rule which is not defined: ->"+e.nonTerminalName+`<-
|
|
98
|
+
inside top level rule: ->`+t.name+"<-"}},Xr={buildDuplicateFoundError(t,e){function r(u){return u instanceof Te?u.terminalType.name:u instanceof Be?u.nonTerminalName:""}let n=t.name,i=e[0],o=i.idx,s=nr(i),a=r(i),c=o>0,l=`->${s}${c?o:""}<- ${a?`with argument: ->${a}<-`:""}
|
|
99
99
|
appears more than once (${e.length} times) in the top level rule: ->${n}<-.
|
|
100
100
|
For further details see: https://chevrotain.io/docs/FAQ.html#NUMERICAL_SUFFIXES
|
|
101
101
|
`;return l=l.replace(/[ \t]+/g," "),l=l.replace(/\s\s+/g,`
|
|
@@ -103,16 +103,16 @@ inside top level rule: ->`+t.name+"<-"}},Ur={buildDuplicateFoundError(t,e){funct
|
|
|
103
103
|
The grammar has both a Terminal(Token) and a Non-Terminal(Rule) named: <${t.name}>.
|
|
104
104
|
To resolve this make sure each Terminal and Non-Terminal names are unique
|
|
105
105
|
This is easy to accomplish by using the convention that Terminal names start with an uppercase letter
|
|
106
|
-
and Non-Terminal names start with a lower case letter.`},buildAlternationPrefixAmbiguityError(t){let e=t.prefixPath.map(i=>
|
|
106
|
+
and Non-Terminal names start with a lower case letter.`},buildAlternationPrefixAmbiguityError(t){let e=t.prefixPath.map(i=>Un(i)).join(", "),r=t.alternation.idx===0?"":t.alternation.idx;return`Ambiguous alternatives: <${t.ambiguityIndices.join(" ,")}> due to common lookahead prefix
|
|
107
107
|
in <OR${r}> inside <${t.topLevelRule.name}> Rule,
|
|
108
108
|
<${e}> may appears as a prefix path in all these alternatives.
|
|
109
109
|
See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#COMMON_PREFIX
|
|
110
110
|
For Further details.`},buildAlternationAmbiguityError(t){let e=t.alternation.idx===0?"":t.alternation.idx,r=t.prefixPath.length===0,n=`Ambiguous Alternatives Detected: <${t.ambiguityIndices.join(" ,")}> in <OR${e}> inside <${t.topLevelRule.name}> Rule,
|
|
111
111
|
`;if(r)n+=`These alternatives are all empty (match no tokens), making them indistinguishable.
|
|
112
112
|
Only the last alternative may be empty.
|
|
113
|
-
`;else{let i=t.prefixPath.map(o=>
|
|
113
|
+
`;else{let i=t.prefixPath.map(o=>Un(o)).join(", ");n+=`<${i}> may appears as a prefix path in all these alternatives.
|
|
114
114
|
`}return n+=`See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#AMBIGUOUS_ALTERNATIVES
|
|
115
|
-
For Further details.`,n},buildEmptyRepetitionError(t){let e=
|
|
115
|
+
For Further details.`,n},buildEmptyRepetitionError(t){let e=nr(t.repetition);return t.repetition.idx!==0&&(e+=t.repetition.idx),`The repetition <${e}> within Rule <${t.topLevelRule.name}> can never consume any tokens.
|
|
116
116
|
This could lead to an infinite loop.`},buildTokenNameError(t){return"deprecated"},buildEmptyAlternationError(t){return`Ambiguous empty alternative: <${t.emptyChoiceIdx+1}> in <OR${t.alternation.idx}> inside <${t.topLevelRule.name}> Rule.
|
|
117
117
|
Only the last alternative may be an empty alternative.`},buildTooManyAlternativesError(t){return`An Alternation cannot have more than 256 alternatives:
|
|
118
118
|
<OR${t.alternation.idx}> inside <${t.topLevelRule.name}> Rule.
|
|
@@ -121,44 +121,44 @@ rule: <${e}> can be invoked from itself (directly or indirectly)
|
|
|
121
121
|
without consuming any Tokens. The grammar path that causes this is:
|
|
122
122
|
${n}
|
|
123
123
|
To fix this refactor your grammar to remove the left recursion.
|
|
124
|
-
see: https://en.wikipedia.org/wiki/LL_parser#Left_factoring.`},buildInvalidRuleNameError(t){return"deprecated"},buildDuplicateRuleNameError(t){let e;return t.topLevelRule instanceof zt?e=t.topLevelRule.name:e=t.topLevelRule,`Duplicate definition, rule: ->${e}<- is already defined in the grammar: ->${t.grammarName}<-`}};function SR(t,e){let r=new ng(t,e);return r.resolveRefs(),r.errors}var ng=class extends Vt{constructor(e,r){super(),this.nameToTopRule=e,this.errMsgProvider=r,this.errors=[]}resolveRefs(){Object.values(this.nameToTopRule).forEach(e=>{this.currTopLevel=e,e.accept(this)})}visitNonTerminal(e){let r=this.nameToTopRule[e.nonTerminalName];if(r)e.referencedRule=r;else{let n=this.errMsgProvider.buildRuleNotFoundError(this.currTopLevel,e);this.errors.push({message:n,type:At.UNRESOLVED_SUBRULE_REF,ruleName:this.currTopLevel.name,unresolvedRefName:e.nonTerminalName})}}};var ig=class extends Pn{constructor(e,r){super(),this.topProd=e,this.path=r,this.possibleTokTypes=[],this.nextProductionName="",this.nextProductionOccurrence=0,this.found=!1,this.isAtEndOfPath=!1}startWalking(){if(this.found=!1,this.path.ruleStack[0]!==this.topProd.name)throw Error("The path does not start with the walker's top Rule!");return this.ruleStack=[...this.path.ruleStack].reverse(),this.occurrenceStack=[...this.path.occurrenceStack].reverse(),this.ruleStack.pop(),this.occurrenceStack.pop(),this.updateExpectedNext(),this.walk(this.topProd),this.possibleTokTypes}walk(e,r=[]){this.found||super.walk(e,r)}walkProdRef(e,r,n){if(e.referencedRule.name===this.nextProductionName&&e.idx===this.nextProductionOccurrence){let i=r.concat(n);this.updateExpectedNext(),this.walk(e.referencedRule,i)}}updateExpectedNext(){this.ruleStack.length===0?(this.nextProductionName="",this.nextProductionOccurrence=0,this.isAtEndOfPath=!0):(this.nextProductionName=this.ruleStack.pop(),this.nextProductionOccurrence=this.occurrenceStack.pop())}},kf=class extends ig{constructor(e,r){super(e,r),this.path=r,this.nextTerminalName="",this.nextTerminalOccurrence=0,this.nextTerminalName=this.path.lastTok.name,this.nextTerminalOccurrence=this.path.lastTokOccurrence}walkTerminal(e,r,n){if(this.isAtEndOfPath&&e.terminalType.name===this.nextTerminalName&&e.idx===this.nextTerminalOccurrence&&!this.found){let i=r.concat(n),o=new Ke({definition:i});this.possibleTokTypes=ho(o),this.found=!0}}},As=class extends Pn{constructor(e,r){super(),this.topRule=e,this.occurrence=r,this.result={token:void 0,occurrence:void 0,isEndOfRule:void 0}}startWalking(){return this.walk(this.topRule),this.result}},Nf=class extends As{walkMany(e,r,n){if(e.idx===this.occurrence){let i=r.concat(n)[0];this.result.isEndOfRule=i===void 0,i instanceof ge&&(this.result.token=i.terminalType,this.result.occurrence=i.idx)}else super.walkMany(e,r,n)}},Bc=class extends As{walkManySep(e,r,n){if(e.idx===this.occurrence){let i=r.concat(n)[0];this.result.isEndOfRule=i===void 0,i instanceof ge&&(this.result.token=i.terminalType,this.result.occurrence=i.idx)}else super.walkManySep(e,r,n)}},Pf=class extends As{walkAtLeastOne(e,r,n){if(e.idx===this.occurrence){let i=r.concat(n)[0];this.result.isEndOfRule=i===void 0,i instanceof ge&&(this.result.token=i.terminalType,this.result.occurrence=i.idx)}else super.walkAtLeastOne(e,r,n)}},Xc=class extends As{walkAtLeastOneSep(e,r,n){if(e.idx===this.occurrence){let i=r.concat(n)[0];this.result.isEndOfRule=i===void 0,i instanceof ge&&(this.result.token=i.terminalType,this.result.occurrence=i.idx)}else super.walkAtLeastOneSep(e,r,n)}};function Cf(t,e,r=[]){r=[...r];let n=[],i=0;function o(a){return a.concat(t.slice(i+1))}function s(a){let c=Cf(o(a),e,r);return n.concat(c)}for(;r.length<e&&i<t.length;){let a=t[i];if(a instanceof Ke)return s(a.definition);if(a instanceof Me)return s(a.definition);if(a instanceof Fe)n=s(a.definition);else if(a instanceof Ze){let c=a.definition.concat([new be({definition:a.definition})]);return s(c)}else if(a instanceof Je){let c=[new Ke({definition:a.definition}),new be({definition:[new ge({terminalType:a.separator})].concat(a.definition)})];return s(c)}else if(a instanceof qe){let c=a.definition.concat([new be({definition:[new ge({terminalType:a.separator})].concat(a.definition)})]);n=s(c)}else if(a instanceof be){let c=a.definition.concat([new be({definition:a.definition})]);n=s(c)}else{if(a instanceof ze)return a.definition.forEach(c=>{c.definition.length!==0&&(n=s(c.definition))}),n;if(a instanceof ge)r.push(a.terminalType);else throw Error("non exhaustive match")}i++}return n.push({partialPath:r,suffixDef:t.slice(i)}),n}function vR(t,e,r,n){let i="EXIT_NONE_TERMINAL",o=[i],s="EXIT_ALTERNATIVE",a=!1,c=e.length,l=c-n-1,u=[],f=[];for(f.push({idx:-1,def:t,ruleStack:[],occurrenceStack:[]});f.length!==0;){let d=f.pop();if(d===s){a&&f.at(-1).idx<=l&&f.pop();continue}let p=d.def,m=d.idx,y=d.ruleStack,R=d.occurrenceStack;if(p.length===0)continue;let T=p[0];if(T===i){let E={idx:m,def:p.slice(1),ruleStack:y.slice(0,-1),occurrenceStack:R.slice(0,-1)};f.push(E)}else if(T instanceof ge)if(m<c-1){let E=m+1,_=e[E];if(r(_,T.terminalType)){let k={idx:E,def:p.slice(1),ruleStack:y,occurrenceStack:R};f.push(k)}}else if(m===c-1)u.push({nextTokenType:T.terminalType,nextTokenOccurrence:T.idx,ruleStack:y,occurrenceStack:R}),a=!0;else throw Error("non exhaustive match");else if(T instanceof Me){let E=[...y];E.push(T.nonTerminalName);let _=[...R];_.push(T.idx);let k={idx:m,def:T.definition.concat(o,p.slice(1)),ruleStack:E,occurrenceStack:_};f.push(k)}else if(T instanceof Fe){let E={idx:m,def:p.slice(1),ruleStack:y,occurrenceStack:R};f.push(E),f.push(s);let _={idx:m,def:T.definition.concat(p.slice(1)),ruleStack:y,occurrenceStack:R};f.push(_)}else if(T instanceof Ze){let E=new be({definition:T.definition,idx:T.idx}),_=T.definition.concat([E],p.slice(1)),k={idx:m,def:_,ruleStack:y,occurrenceStack:R};f.push(k)}else if(T instanceof Je){let E=new ge({terminalType:T.separator}),_=new be({definition:[E].concat(T.definition),idx:T.idx}),k=T.definition.concat([_],p.slice(1)),D={idx:m,def:k,ruleStack:y,occurrenceStack:R};f.push(D)}else if(T instanceof qe){let E={idx:m,def:p.slice(1),ruleStack:y,occurrenceStack:R};f.push(E),f.push(s);let _=new ge({terminalType:T.separator}),k=new be({definition:[_].concat(T.definition),idx:T.idx}),D=T.definition.concat([k],p.slice(1)),C={idx:m,def:D,ruleStack:y,occurrenceStack:R};f.push(C)}else if(T instanceof be){let E={idx:m,def:p.slice(1),ruleStack:y,occurrenceStack:R};f.push(E),f.push(s);let _=new be({definition:T.definition,idx:T.idx}),k=T.definition.concat([_],p.slice(1)),D={idx:m,def:k,ruleStack:y,occurrenceStack:R};f.push(D)}else if(T instanceof ze)for(let E=T.definition.length-1;E>=0;E--){let _=T.definition[E],k={idx:m,def:_.definition.concat(p.slice(1)),ruleStack:y,occurrenceStack:R};f.push(k),f.push(s)}else if(T instanceof Ke)f.push({idx:m,def:T.definition.concat(p.slice(1)),ruleStack:y,occurrenceStack:R});else if(T instanceof zt)f.push(xO(T,m,y,R));else throw Error("non exhaustive match")}return u}function xO(t,e,r,n){let i=[...r];i.push(t.name);let o=[...n];return o.push(1),{idx:e,def:t.definition,ruleStack:i,occurrenceStack:o}}var ct;(function(t){t[t.OPTION=0]="OPTION",t[t.REPETITION=1]="REPETITION",t[t.REPETITION_MANDATORY=2]="REPETITION_MANDATORY",t[t.REPETITION_MANDATORY_WITH_SEPARATOR=3]="REPETITION_MANDATORY_WITH_SEPARATOR",t[t.REPETITION_WITH_SEPARATOR=4]="REPETITION_WITH_SEPARATOR",t[t.ALTERNATION=5]="ALTERNATION"})(ct||(ct={}));function Gc(t){if(t instanceof Fe||t==="Option")return ct.OPTION;if(t instanceof be||t==="Repetition")return ct.REPETITION;if(t instanceof Ze||t==="RepetitionMandatory")return ct.REPETITION_MANDATORY;if(t instanceof Je||t==="RepetitionMandatoryWithSeparator")return ct.REPETITION_MANDATORY_WITH_SEPARATOR;if(t instanceof qe||t==="RepetitionWithSeparator")return ct.REPETITION_WITH_SEPARATOR;if(t instanceof ze||t==="Alternation")return ct.ALTERNATION;throw Error("non exhaustive match")}function Lf(t){let{occurrence:e,rule:r,prodType:n,maxLookahead:i}=t,o=Gc(n);return o===ct.ALTERNATION?Is(e,r,i):Ss(e,r,o,i)}function NR(t,e,r,n,i,o){let s=Is(t,e,r),a=$R(s)?Rs:Cn;return o(s,n,a,i)}function PR(t,e,r,n,i,o){let s=Ss(t,e,i,r),a=$R(s)?Rs:Cn;return o(s[0],a,n)}function CR(t,e,r,n){let i=t.length,o=t.every(s=>s.every(a=>a.length===1));if(e)return function(s){let a=s.map(c=>c.GATE);for(let c=0;c<i;c++){let l=t[c],u=l.length,f=a[c];if(!(f!==void 0&&f.call(this)===!1))e:for(let d=0;d<u;d++){let p=l[d],m=p.length;for(let y=0;y<m;y++){let R=this.LA_FAST(y+1);if(r(R,p[y])===!1)continue e}return c}}};if(o&&!n){let a=t.map(c=>c.flat()).reduce((c,l,u)=>(l.forEach(f=>{f.tokenTypeIdx in c||(c[f.tokenTypeIdx]=u),f.categoryMatches.forEach(d=>{Object.hasOwn(c,d)||(c[d]=u)})}),c),{});return function(){let c=this.LA_FAST(1);return a[c.tokenTypeIdx]}}else return function(){for(let s=0;s<i;s++){let a=t[s],c=a.length;e:for(let l=0;l<c;l++){let u=a[l],f=u.length;for(let d=0;d<f;d++){let p=this.LA_FAST(d+1);if(r(p,u[d])===!1)continue e}return s}}}}function OR(t,e,r){let n=t.every(o=>o.length===1),i=t.length;if(n&&!r){let o=t.flat();if(o.length===1&&o[0].categoryMatches.length===0){let a=o[0].tokenTypeIdx;return function(){return this.LA_FAST(1).tokenTypeIdx===a}}else{let s=o.reduce((a,c,l)=>(a[c.tokenTypeIdx]=!0,c.categoryMatches.forEach(u=>{a[u]=!0}),a),[]);return function(){let a=this.LA_FAST(1);return s[a.tokenTypeIdx]===!0}}}else return function(){e:for(let o=0;o<i;o++){let s=t[o],a=s.length;for(let c=0;c<a;c++){let l=this.LA_FAST(c+1);if(e(l,s[c])===!1)continue e}return!0}return!1}}var sg=class extends Pn{constructor(e,r,n){super(),this.topProd=e,this.targetOccurrence=r,this.targetProdType=n}startWalking(){return this.walk(this.topProd),this.restDef}checkIsTarget(e,r,n,i){return e.idx===this.targetOccurrence&&this.targetProdType===r?(this.restDef=n.concat(i),!0):!1}walkOption(e,r,n){this.checkIsTarget(e,ct.OPTION,r,n)||super.walkOption(e,r,n)}walkAtLeastOne(e,r,n){this.checkIsTarget(e,ct.REPETITION_MANDATORY,r,n)||super.walkOption(e,r,n)}walkAtLeastOneSep(e,r,n){this.checkIsTarget(e,ct.REPETITION_MANDATORY_WITH_SEPARATOR,r,n)||super.walkOption(e,r,n)}walkMany(e,r,n){this.checkIsTarget(e,ct.REPETITION,r,n)||super.walkOption(e,r,n)}walkManySep(e,r,n){this.checkIsTarget(e,ct.REPETITION_WITH_SEPARATOR,r,n)||super.walkOption(e,r,n)}},Of=class extends Vt{constructor(e,r,n){super(),this.targetOccurrence=e,this.targetProdType=r,this.targetRef=n,this.result=[]}checkIsTarget(e,r){e.idx===this.targetOccurrence&&this.targetProdType===r&&(this.targetRef===void 0||e===this.targetRef)&&(this.result=e.definition)}visitOption(e){this.checkIsTarget(e,ct.OPTION)}visitRepetition(e){this.checkIsTarget(e,ct.REPETITION)}visitRepetitionMandatory(e){this.checkIsTarget(e,ct.REPETITION_MANDATORY)}visitRepetitionMandatoryWithSeparator(e){this.checkIsTarget(e,ct.REPETITION_MANDATORY_WITH_SEPARATOR)}visitRepetitionWithSeparator(e){this.checkIsTarget(e,ct.REPETITION_WITH_SEPARATOR)}visitAlternation(e){this.checkIsTarget(e,ct.ALTERNATION)}};function kR(t){let e=new Array(t);for(let r=0;r<t;r++)e[r]=[];return e}function og(t){let e=[""];for(let r=0;r<t.length;r++){let n=t[r],i=[];for(let o=0;o<e.length;o++){let s=e[o];i.push(s+"_"+n.tokenTypeIdx);for(let a=0;a<n.categoryMatches.length;a++){let c="_"+n.categoryMatches[a];i.push(s+c)}}e=i}return e}function TO(t,e,r){for(let n=0;n<t.length;n++){if(n===r)continue;let i=t[n];for(let o=0;o<e.length;o++){let s=e[o];if(i[s]===!0)return!1}}return!0}function LR(t,e){let r=t.map(s=>Cf([s],1)),n=kR(r.length),i=r.map(s=>{let a={};return s.forEach(c=>{og(c.partialPath).forEach(u=>{a[u]=!0})}),a}),o=r;for(let s=1;s<=e;s++){let a=o;o=kR(a.length);for(let c=0;c<a.length;c++){let l=a[c];for(let u=0;u<l.length;u++){let f=l[u].partialPath,d=l[u].suffixDef,p=og(f);if(TO(i,p,c)||d.length===0||f.length===e){let y=n[c];if(Df(y,f)===!1){y.push(f);for(let R=0;R<p.length;R++){let T=p[R];i[c][T]=!0}}}else{let y=Cf(d,s+1,f);o[c]=o[c].concat(y),y.forEach(R=>{og(R.partialPath).forEach(E=>{i[c][E]=!0})})}}}}return n}function Is(t,e,r,n){let i=new Of(t,ct.ALTERNATION,n);return e.accept(i),LR(i.result,r)}function Ss(t,e,r,n){let i=new Of(t,r);e.accept(i);let o=i.result,a=new sg(e,t,r).startWalking(),c=new Ke({definition:o}),l=new Ke({definition:a});return LR([c,l],n)}function Df(t,e){e:for(let r=0;r<t.length;r++){let n=t[r];if(n.length===e.length){for(let i=0;i<n.length;i++){let o=e[i],s=n[i];if((o===s||s.categoryMatchesMap[o.tokenTypeIdx]!==void 0)===!1)continue e}return!0}}return!1}function DR(t,e){return t.length<e.length&&t.every((r,n)=>{let i=e[n];return r===i||i.categoryMatchesMap[r.tokenTypeIdx]})}function $R(t){return t.every(e=>e.every(r=>r.every(n=>n.categoryMatches.length===0)))}function MR(t){return t.lookaheadStrategy.validate({rules:t.rules,tokenTypes:t.tokenTypes,grammarName:t.grammarName}).map(r=>Object.assign({type:At.CUSTOM_LOOKAHEAD_VALIDATION},r))}function FR(t,e,r,n){let i=t.flatMap(c=>_O(c,r)),o=IO(t,e,r),s=t.flatMap(c=>bO(c,r)),a=t.flatMap(c=>RO(c,t,n,r));return i.concat(o,s,a)}function _O(t,e){let r=new ag;t.accept(r);let n=r.allProductions,i=Object.groupBy(n,EO),o=Object.fromEntries(Object.entries(i).filter(([a,c])=>c.length>1));return Object.values(o).map(a=>{let c=a[0],l=e.buildDuplicateFoundError(t,a),u=tr(c),f={message:l,type:At.DUPLICATE_PRODUCTIONS,ruleName:t.name,dslName:u,occurrence:c.idx},d=UR(c);return d&&(f.parameter=d),f})}function EO(t){return`${tr(t)}_#_${t.idx}_#_${UR(t)}`}function UR(t){return t instanceof ge?t.terminalType.name:t instanceof Me?t.nonTerminalName:""}var ag=class extends Vt{constructor(){super(...arguments),this.allProductions=[]}visitNonTerminal(e){this.allProductions.push(e)}visitOption(e){this.allProductions.push(e)}visitRepetitionWithSeparator(e){this.allProductions.push(e)}visitRepetitionMandatory(e){this.allProductions.push(e)}visitRepetitionMandatoryWithSeparator(e){this.allProductions.push(e)}visitRepetition(e){this.allProductions.push(e)}visitAlternation(e){this.allProductions.push(e)}visitTerminal(e){this.allProductions.push(e)}};function RO(t,e,r,n){let i=[];if(e.reduce((s,a)=>a.name===t.name?s+1:s,0)>1){let s=n.buildDuplicateRuleNameError({topLevelRule:t,grammarName:r});i.push({message:s,type:At.DUPLICATE_RULE_NAME,ruleName:t.name})}return i}function BR(t,e,r){let n=[],i;return e.includes(t)||(i=`Invalid rule override, rule: ->${t}<- cannot be overridden in the grammar: ->${r}<-as it is not defined in any of the super grammars `,n.push({message:i,type:At.INVALID_RULE_OVERRIDE,ruleName:t})),n}function lg(t,e,r,n=[]){let i=[],o=$f(e.definition);if(o.length===0)return[];{let s=t.name;o.includes(t)&&i.push({message:r.buildLeftRecursionError({topLevelRule:t,leftRecursionPath:n}),type:At.LEFT_RECURSION,ruleName:s});let c=n.concat([t]),u=o.filter(f=>!c.includes(f)).flatMap(f=>{let d=[...n];return d.push(f),lg(t,f,r,d)});return i.concat(u)}}function $f(t){let e=[];if(t.length===0)return e;let r=t[0];if(r instanceof Me)e.push(r.referencedRule);else if(r instanceof Ke||r instanceof Fe||r instanceof Ze||r instanceof Je||r instanceof qe||r instanceof be)e=e.concat($f(r.definition));else if(r instanceof ze)e=r.definition.map(o=>$f(o.definition)).flat();else if(!(r instanceof ge))throw Error("non exhaustive match");let n=po(r),i=t.length>1;if(n&&i){let o=t.slice(1);return e.concat($f(o))}else return e}var Hc=class extends Vt{constructor(){super(...arguments),this.alternations=[]}visitAlternation(e){this.alternations.push(e)}};function XR(t,e){let r=new Hc;return t.accept(r),r.alternations.flatMap(o=>o.definition.slice(0,-1).flatMap((a,c)=>vR([a],[],Cn,1).length===0?[{message:e.buildEmptyAlternationError({topLevelRule:t,alternation:o,emptyChoiceIdx:c}),type:At.NONE_LAST_EMPTY_ALT,ruleName:t.name,occurrence:o.idx,alternative:c+1}]:[]))}function GR(t,e,r){let n=new Hc;t.accept(n);let i=n.alternations;return i=i.filter(s=>s.ignoreAmbiguities!==!0),i.flatMap(s=>{let a=s.idx,c=s.maxLookahead||e,l=Is(a,t,c,s),u=wO(l,s,t,r),f=AO(l,s,t,r);return u.concat(f)})}var cg=class extends Vt{constructor(){super(...arguments),this.allProductions=[]}visitRepetitionWithSeparator(e){this.allProductions.push(e)}visitRepetitionMandatory(e){this.allProductions.push(e)}visitRepetitionMandatoryWithSeparator(e){this.allProductions.push(e)}visitRepetition(e){this.allProductions.push(e)}};function bO(t,e){let r=new Hc;return t.accept(r),r.alternations.flatMap(o=>o.definition.length>255?[{message:e.buildTooManyAlternativesError({topLevelRule:t,alternation:o}),type:At.TOO_MANY_ALTS,ruleName:t.name,occurrence:o.idx}]:[])}function HR(t,e,r){let n=[];return t.forEach(i=>{let o=new cg;i.accept(o),o.allProductions.forEach(a=>{let c=Gc(a),l=a.maxLookahead||e,u=a.idx;if(Ss(u,i,c,l)[0].flat().length===0){let p=r.buildEmptyRepetitionError({topLevelRule:i,repetition:a});n.push({message:p,type:At.NO_NON_EMPTY_LOOKAHEAD,ruleName:i.name})}})}),n}function wO(t,e,r,n){let i=[];return t.reduce((a,c,l)=>(e.definition[l].ignoreAmbiguities===!0||c.forEach(u=>{let f=[l];t.forEach((d,p)=>{l!==p&&Df(d,u)&&e.definition[p].ignoreAmbiguities!==!0&&f.push(p)}),f.length>1&&!Df(i,u)&&(i.push(u),a.push({alts:f,path:u}))}),a),[]).map(a=>{let c=a.alts.map(u=>u+1);return{message:n.buildAlternationAmbiguityError({topLevelRule:r,alternation:e,ambiguityIndices:c,prefixPath:a.path}),type:At.AMBIGUOUS_ALTS,ruleName:r.name,occurrence:e.idx,alternatives:a.alts}})}function AO(t,e,r,n){let i=t.reduce((s,a,c)=>{let l=a.map(u=>({idx:c,path:u}));return s.concat(l)},[]);return i.flatMap(s=>{if(e.definition[s.idx].ignoreAmbiguities===!0)return[];let c=s.idx,l=s.path;return i.filter(d=>e.definition[d.idx].ignoreAmbiguities!==!0&&d.idx<c&&DR(d.path,l)).map(d=>{let p=[d.idx+1,c+1],m=e.idx===0?"":e.idx;return{message:n.buildAlternationPrefixAmbiguityError({topLevelRule:r,alternation:e,ambiguityIndices:p,prefixPath:d.path}),type:At.AMBIGUOUS_PREFIX_ALTS,ruleName:r.name,occurrence:m,alternatives:p}})})}function IO(t,e,r){let n=[],i=e.map(o=>o.name);return t.forEach(o=>{let s=o.name;if(i.includes(s)){let a=r.buildNamespaceConflictError(o);n.push({message:a,type:At.CONFLICT_TOKENS_RULES_NAMESPACE,ruleName:s})}}),n}function jR(t){let e=Object.assign({errMsgProvider:IR},t),r={};return t.rules.forEach(n=>{r[n.name]=n}),SR(r,e.errMsgProvider)}function WR(t){var e;let r=(e=t.errMsgProvider)!==null&&e!==void 0?e:Ur;return FR(t.rules,t.tokenTypes,r,t.grammarName)}var qR="MismatchedTokenException",zR="NoViableAltException",VR="EarlyExitException",YR="NotAllInputParsedException",KR=[qR,zR,VR,YR];Object.freeze(KR);function li(t){return KR.includes(t.name)}var vs=class extends Error{constructor(e,r){super(e),this.token=r,this.resyncedTokens=[],Object.setPrototypeOf(this,new.target.prototype),Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor)}},go=class extends vs{constructor(e,r,n){super(e,r),this.previousToken=n,this.name=qR}},jc=class extends vs{constructor(e,r,n){super(e,r),this.previousToken=n,this.name=zR}},Wc=class extends vs{constructor(e,r){super(e,r),this.name=YR}},qc=class extends vs{constructor(e,r,n){super(e,r),this.previousToken=n,this.name=VR}};var ug={},dg="InRuleRecoveryException",fg=class extends Error{constructor(e){super(e),this.name=dg}},Mf=class{initRecoverable(e){this.firstAfterRepMap={},this.resyncFollows={},this.recoveryEnabled=Object.hasOwn(e,"recoveryEnabled")?e.recoveryEnabled:Kt.recoveryEnabled,this.recoveryEnabled&&(this.attemptInRepetitionRecovery=SO)}getTokenToInsert(e){let r=Dn(e,"",NaN,NaN,NaN,NaN,NaN,NaN);return r.isInsertedInRecovery=!0,r}canTokenTypeBeInsertedInRecovery(e){return!0}canTokenTypeBeDeletedInRecovery(e){return!0}tryInRepetitionRecovery(e,r,n,i){let o=this.findReSyncTokenType(),s=this.exportLexerState(),a=[],c=!1,l=this.LA_FAST(1),u=this.LA_FAST(1),f=()=>{let d=this.LA(0),p=this.errorMessageProvider.buildMismatchTokenMessage({expected:i,actual:l,previous:d,ruleName:this.getCurrRuleFullName()}),m=new go(p,l,this.LA(0));m.resyncedTokens=a.slice(0,-1),this.SAVE_ERROR(m)};for(;!c;)if(this.tokenMatcher(u,i)){f();return}else if(n.call(this)){f(),e.apply(this,r);return}else this.tokenMatcher(u,o)?c=!0:(u=this.SKIP_TOKEN(),this.addToResyncTokens(u,a));this.importLexerState(s)}shouldInRepetitionRecoveryBeTried(e,r,n){return!(n===!1||this.tokenMatcher(this.LA_FAST(1),e)||this.isBackTracking()||this.canPerformInRuleRecovery(e,this.getFollowsForInRuleRecovery(e,r)))}getNextPossibleTokenTypes(e){let r=e.ruleStack[0],i=this.getGAstProductions()[r];return new kf(i,e).startWalking()}getFollowsForInRuleRecovery(e,r){let n=this.getCurrentGrammarPath(e,r);return this.getNextPossibleTokenTypes(n)}tryInRuleRecovery(e,r){if(this.canRecoverWithSingleTokenInsertion(e,r))return this.getTokenToInsert(e);if(this.canRecoverWithSingleTokenDeletion(e)){let n=this.SKIP_TOKEN();return this.consumeToken(),n}throw new fg("sad sad panda")}canPerformInRuleRecovery(e,r){return this.canRecoverWithSingleTokenInsertion(e,r)||this.canRecoverWithSingleTokenDeletion(e)}canRecoverWithSingleTokenInsertion(e,r){if(!this.canTokenTypeBeInsertedInRecovery(e)||r.length===0)return!1;let n=this.LA_FAST(1);return r.find(o=>this.tokenMatcher(n,o))!==void 0}canRecoverWithSingleTokenDeletion(e){return this.canTokenTypeBeDeletedInRecovery(e)?this.tokenMatcher(this.LA(2),e):!1}isInCurrentRuleReSyncSet(e){let r=this.getCurrFollowKey();return this.getFollowSetFromFollowKey(r).includes(e)}findReSyncTokenType(){let e=this.flattenFollowSet(),r=this.LA_FAST(1),n=2;for(;;){let i=e.find(o=>ws(r,o));if(i!==void 0)return i;r=this.LA(n),n++}}getCurrFollowKey(){if(this.RULE_STACK_IDX===0)return ug;let e=this.currRuleShortName,r=this.getLastExplicitRuleOccurrenceIndex(),n=this.getPreviousExplicitRuleShortName();return{ruleName:this.shortRuleNameToFullName(e),idxInCallingRule:r,inRule:this.shortRuleNameToFullName(n)}}buildFullFollowKeyStack(){let e=this.RULE_STACK,r=this.RULE_OCCURRENCE_STACK,n=this.RULE_STACK_IDX+1,i=new Array(n);for(let o=0;o<n;o++)o===0?i[o]=ug:i[o]={ruleName:this.shortRuleNameToFullName(e[o]),idxInCallingRule:r[o],inRule:this.shortRuleNameToFullName(e[o-1])};return i}flattenFollowSet(){return this.buildFullFollowKeyStack().map(r=>this.getFollowSetFromFollowKey(r)).flat()}getFollowSetFromFollowKey(e){if(e===ug)return[Yt];let r=e.ruleName+e.idxInCallingRule+bf+e.inRule;return this.resyncFollows[r]}addToResyncTokens(e,r){return this.tokenMatcher(e,Yt)||r.push(e),r}reSyncTo(e){let r=[],n=this.LA_FAST(1);for(;this.tokenMatcher(n,e)===!1;)n=this.SKIP_TOKEN(),this.addToResyncTokens(n,r);return r.slice(0,-1)}attemptInRepetitionRecovery(e,r,n,i,o,s,a){}getCurrentGrammarPath(e,r){let n=this.getHumanReadableRuleStack(),i=this.RULE_OCCURRENCE_STACK.slice(0,this.RULE_OCCURRENCE_STACK_IDX+1);return{ruleStack:n,occurrenceStack:i,lastTok:e,lastTokOccurrence:r}}getHumanReadableRuleStack(){let e=this.RULE_STACK_IDX+1,r=new Array(e);for(let n=0;n<e;n++)r[n]=this.shortRuleNameToFullName(this.RULE_STACK[n]);return r}};function SO(t,e,r,n,i,o,s){let a=this.getKeyForAutomaticLookahead(n,i),c=this.firstAfterRepMap[a];if(c===void 0){let d=this.getCurrRuleFullName(),p=this.getGAstProductions()[d];c=new o(p,i).startWalking(),this.firstAfterRepMap[a]=c}let l=c.token,u=c.occurrence,f=c.isEndOfRule;this.RULE_STACK_IDX===0&&f&&l===void 0&&(l=Yt,u=1),!(l===void 0||u===void 0)&&this.shouldInRepetitionRecoveryBeTried(l,u,s)&&this.tryInRepetitionRecovery(t,e,r,l)}function Ff(t,e,r){return r|e|t}var Mn=class{constructor(e){var r;this.maxLookahead=(r=e?.maxLookahead)!==null&&r!==void 0?r:Kt.maxLookahead}validate(e){let r=this.validateNoLeftRecursion(e.rules);if(r.length===0){let n=this.validateEmptyOrAlternatives(e.rules),i=this.validateAmbiguousAlternationAlternatives(e.rules,this.maxLookahead),o=this.validateSomeNonEmptyLookaheadPath(e.rules,this.maxLookahead);return[...r,...n,...i,...o]}return r}validateNoLeftRecursion(e){return e.flatMap(r=>lg(r,r,Ur))}validateEmptyOrAlternatives(e){return e.flatMap(r=>XR(r,Ur))}validateAmbiguousAlternationAlternatives(e,r){return e.flatMap(n=>GR(n,r,Ur))}validateSomeNonEmptyLookaheadPath(e,r){return HR(e,r,Ur)}buildLookaheadForAlternation(e){return NR(e.prodOccurrence,e.rule,e.maxLookahead,e.hasPredicates,e.dynamicTokensEnabled,CR)}buildLookaheadForOptional(e){return PR(e.prodOccurrence,e.rule,e.maxLookahead,e.dynamicTokensEnabled,Gc(e.prodType),OR)}};var Bf=class{initLooksAhead(e){this.dynamicTokensEnabled=Object.hasOwn(e,"dynamicTokensEnabled")?e.dynamicTokensEnabled:Kt.dynamicTokensEnabled,this.maxLookahead=Object.hasOwn(e,"maxLookahead")?e.maxLookahead:Kt.maxLookahead,this.lookaheadStrategy=Object.hasOwn(e,"lookaheadStrategy")?e.lookaheadStrategy:new Mn({maxLookahead:this.maxLookahead}),this.lookAheadFuncsCache=new Map}preComputeLookaheadFunctions(e){e.forEach(r=>{this.TRACE_INIT(`${r.name} Rule Lookahead`,()=>{let{alternation:n,repetition:i,option:o,repetitionMandatory:s,repetitionMandatoryWithSeparator:a,repetitionWithSeparator:c}=vO(r);n.forEach(l=>{let u=l.idx===0?"":l.idx;this.TRACE_INIT(`${tr(l)}${u}`,()=>{let f=this.lookaheadStrategy.buildLookaheadForAlternation({prodOccurrence:l.idx,rule:r,maxLookahead:l.maxLookahead||this.maxLookahead,hasPredicates:l.hasPredicates,dynamicTokensEnabled:this.dynamicTokensEnabled}),d=Ff(this.fullRuleNameToShort[r.name],256,l.idx);this.setLaFuncCache(d,f)})}),i.forEach(l=>{this.computeLookaheadFunc(r,l.idx,768,"Repetition",l.maxLookahead,tr(l))}),o.forEach(l=>{this.computeLookaheadFunc(r,l.idx,512,"Option",l.maxLookahead,tr(l))}),s.forEach(l=>{this.computeLookaheadFunc(r,l.idx,1024,"RepetitionMandatory",l.maxLookahead,tr(l))}),a.forEach(l=>{this.computeLookaheadFunc(r,l.idx,1536,"RepetitionMandatoryWithSeparator",l.maxLookahead,tr(l))}),c.forEach(l=>{this.computeLookaheadFunc(r,l.idx,1280,"RepetitionWithSeparator",l.maxLookahead,tr(l))})})})}computeLookaheadFunc(e,r,n,i,o,s){this.TRACE_INIT(`${s}${r===0?"":r}`,()=>{let a=this.lookaheadStrategy.buildLookaheadForOptional({prodOccurrence:r,rule:e,maxLookahead:o||this.maxLookahead,dynamicTokensEnabled:this.dynamicTokensEnabled,prodType:i}),c=Ff(this.fullRuleNameToShort[e.name],n,r);this.setLaFuncCache(c,a)})}getKeyForAutomaticLookahead(e,r){return Ff(this.currRuleShortName,e,r)}getLaFuncFromCache(e){return this.lookAheadFuncsCache.get(e)}setLaFuncCache(e,r){this.lookAheadFuncsCache.set(e,r)}},pg=class extends Vt{constructor(){super(...arguments),this.dslMethods={option:[],alternation:[],repetition:[],repetitionWithSeparator:[],repetitionMandatory:[],repetitionMandatoryWithSeparator:[]}}reset(){this.dslMethods={option:[],alternation:[],repetition:[],repetitionWithSeparator:[],repetitionMandatory:[],repetitionMandatoryWithSeparator:[]}}visitOption(e){this.dslMethods.option.push(e)}visitRepetitionWithSeparator(e){this.dslMethods.repetitionWithSeparator.push(e)}visitRepetitionMandatory(e){this.dslMethods.repetitionMandatory.push(e)}visitRepetitionMandatoryWithSeparator(e){this.dslMethods.repetitionMandatoryWithSeparator.push(e)}visitRepetition(e){this.dslMethods.repetition.push(e)}visitAlternation(e){this.dslMethods.alternation.push(e)}},Uf=new pg;function vO(t){Uf.reset(),t.accept(Uf);let e=Uf.dslMethods;return Uf.reset(),e}function gg(t,e){isNaN(t.startOffset)===!0?(t.startOffset=e.startOffset,t.endOffset=e.endOffset):t.endOffset<e.endOffset&&(t.endOffset=e.endOffset)}function yg(t,e){isNaN(t.startOffset)===!0?(t.startOffset=e.startOffset,t.startColumn=e.startColumn,t.startLine=e.startLine,t.endOffset=e.endOffset,t.endColumn=e.endColumn,t.endLine=e.endLine):t.endOffset<e.endOffset&&(t.endOffset=e.endOffset,t.endColumn=e.endColumn,t.endLine=e.endLine)}function ZR(t,e,r){t.children[r]===void 0?t.children[r]=[e]:t.children[r].push(e)}function JR(t,e,r){t.children[e]===void 0?t.children[e]=[r]:t.children[e].push(r)}var kO="name";function xg(t,e){Object.defineProperty(t,kO,{enumerable:!1,configurable:!0,writable:!1,value:e})}function NO(t,e){let r=Object.keys(t),n=r.length;for(let i=0;i<n;i++){let o=r[i],s=t[o],a=s.length;for(let c=0;c<a;c++){let l=s[c];l.tokenTypeIdx===void 0&&this[l.name](l.children,e)}}}function QR(t,e){let r=function(){};xg(r,t+"BaseSemantics");let n={visit:function(i,o){if(Array.isArray(i)&&(i=i[0]),i!==void 0)return this[i.name](i.children,o)},validateVisitor:function(){let i=PO(this,e);if(i.length!==0){let o=i.map(s=>s.msg);throw Error(`Errors Detected in CST Visitor <${this.constructor.name}>:
|
|
124
|
+
see: https://en.wikipedia.org/wiki/LL_parser#Left_factoring.`},buildInvalidRuleNameError(t){return"deprecated"},buildDuplicateRuleNameError(t){let e;return t.topLevelRule instanceof Wt?e=t.topLevelRule.name:e=t.topLevelRule,`Duplicate definition, rule: ->${e}<- is already defined in the grammar: ->${t.grammarName}<-`}};function K0(t,e){let r=new Tg(t,e);return r.resolveRefs(),r.errors}var Tg=class extends Vt{constructor(e,r){super(),this.nameToTopRule=e,this.errMsgProvider=r,this.errors=[]}resolveRefs(){Object.values(this.nameToTopRule).forEach(e=>{this.currTopLevel=e,e.accept(this)})}visitNonTerminal(e){let r=this.nameToTopRule[e.nonTerminalName];if(r)e.referencedRule=r;else{let n=this.errMsgProvider.buildRuleNotFoundError(this.currTopLevel,e);this.errors.push({message:n,type:It.UNRESOLVED_SUBRULE_REF,ruleName:this.currTopLevel.name,unresolvedRefName:e.nonTerminalName})}}};var _g=class extends $n{constructor(e,r){super(),this.topProd=e,this.path=r,this.possibleTokTypes=[],this.nextProductionName="",this.nextProductionOccurrence=0,this.found=!1,this.isAtEndOfPath=!1}startWalking(){if(this.found=!1,this.path.ruleStack[0]!==this.topProd.name)throw Error("The path does not start with the walker's top Rule!");return this.ruleStack=[...this.path.ruleStack].reverse(),this.occurrenceStack=[...this.path.occurrenceStack].reverse(),this.ruleStack.pop(),this.occurrenceStack.pop(),this.updateExpectedNext(),this.walk(this.topProd),this.possibleTokTypes}walk(e,r=[]){this.found||super.walk(e,r)}walkProdRef(e,r,n){if(e.referencedRule.name===this.nextProductionName&&e.idx===this.nextProductionOccurrence){let i=r.concat(n);this.updateExpectedNext(),this.walk(e.referencedRule,i)}}updateExpectedNext(){this.ruleStack.length===0?(this.nextProductionName="",this.nextProductionOccurrence=0,this.isAtEndOfPath=!0):(this.nextProductionName=this.ruleStack.pop(),this.nextProductionOccurrence=this.occurrenceStack.pop())}},Xf=class extends _g{constructor(e,r){super(e,r),this.path=r,this.nextTerminalName="",this.nextTerminalOccurrence=0,this.nextTerminalName=this.path.lastTok.name,this.nextTerminalOccurrence=this.path.lastTokOccurrence}walkTerminal(e,r,n){if(this.isAtEndOfPath&&e.terminalType.name===this.nextTerminalName&&e.idx===this.nextTerminalOccurrence&&!this.found){let i=r.concat(n),o=new Qe({definition:i});this.possibleTokTypes=Eo(o),this.found=!0}}},Ls=class extends $n{constructor(e,r){super(),this.topRule=e,this.occurrence=r,this.result={token:void 0,occurrence:void 0,isEndOfRule:void 0}}startWalking(){return this.walk(this.topRule),this.result}},Hf=class extends Ls{walkMany(e,r,n){if(e.idx===this.occurrence){let i=r.concat(n)[0];this.result.isEndOfRule=i===void 0,i instanceof Te&&(this.result.token=i.terminalType,this.result.occurrence=i.idx)}else super.walkMany(e,r,n)}},Vc=class extends Ls{walkManySep(e,r,n){if(e.idx===this.occurrence){let i=r.concat(n)[0];this.result.isEndOfRule=i===void 0,i instanceof Te&&(this.result.token=i.terminalType,this.result.occurrence=i.idx)}else super.walkManySep(e,r,n)}},jf=class extends Ls{walkAtLeastOne(e,r,n){if(e.idx===this.occurrence){let i=r.concat(n)[0];this.result.isEndOfRule=i===void 0,i instanceof Te&&(this.result.token=i.terminalType,this.result.occurrence=i.idx)}else super.walkAtLeastOne(e,r,n)}},Yc=class extends Ls{walkAtLeastOneSep(e,r,n){if(e.idx===this.occurrence){let i=r.concat(n)[0];this.result.isEndOfRule=i===void 0,i instanceof Te&&(this.result.token=i.terminalType,this.result.occurrence=i.idx)}else super.walkAtLeastOneSep(e,r,n)}};function zf(t,e,r=[]){r=[...r];let n=[],i=0;function o(a){return a.concat(t.slice(i+1))}function s(a){let c=zf(o(a),e,r);return n.concat(c)}for(;r.length<e&&i<t.length;){let a=t[i];if(a instanceof Qe)return s(a.definition);if(a instanceof Be)return s(a.definition);if(a instanceof Ge)n=s(a.definition);else if(a instanceof et){let c=a.definition.concat([new Re({definition:a.definition})]);return s(c)}else if(a instanceof tt){let c=[new Qe({definition:a.definition}),new Re({definition:[new Te({terminalType:a.separator})].concat(a.definition)})];return s(c)}else if(a instanceof Ve){let c=a.definition.concat([new Re({definition:[new Te({terminalType:a.separator})].concat(a.definition)})]);n=s(c)}else if(a instanceof Re){let c=a.definition.concat([new Re({definition:a.definition})]);n=s(c)}else{if(a instanceof Ye)return a.definition.forEach(c=>{c.definition.length!==0&&(n=s(c.definition))}),n;if(a instanceof Te)r.push(a.terminalType);else throw Error("non exhaustive match")}i++}return n.push({partialPath:r,suffixDef:t.slice(i)}),n}function Z0(t,e,r,n){let i="EXIT_NONE_TERMINAL",o=[i],s="EXIT_ALTERNATIVE",a=!1,c=e.length,l=c-n-1,u=[],f=[];for(f.push({idx:-1,def:t,ruleStack:[],occurrenceStack:[]});f.length!==0;){let d=f.pop();if(d===s){a&&f.at(-1).idx<=l&&f.pop();continue}let p=d.def,m=d.idx,g=d.ruleStack,v=d.occurrenceStack;if(p.length===0)continue;let T=p[0];if(T===i){let _={idx:m,def:p.slice(1),ruleStack:g.slice(0,-1),occurrenceStack:v.slice(0,-1)};f.push(_)}else if(T instanceof Te)if(m<c-1){let _=m+1,E=e[_];if(r(E,T.terminalType)){let I={idx:_,def:p.slice(1),ruleStack:g,occurrenceStack:v};f.push(I)}}else if(m===c-1)u.push({nextTokenType:T.terminalType,nextTokenOccurrence:T.idx,ruleStack:g,occurrenceStack:v}),a=!0;else throw Error("non exhaustive match");else if(T instanceof Be){let _=[...g];_.push(T.nonTerminalName);let E=[...v];E.push(T.idx);let I={idx:m,def:T.definition.concat(o,p.slice(1)),ruleStack:_,occurrenceStack:E};f.push(I)}else if(T instanceof Ge){let _={idx:m,def:p.slice(1),ruleStack:g,occurrenceStack:v};f.push(_),f.push(s);let E={idx:m,def:T.definition.concat(p.slice(1)),ruleStack:g,occurrenceStack:v};f.push(E)}else if(T instanceof et){let _=new Re({definition:T.definition,idx:T.idx}),E=T.definition.concat([_],p.slice(1)),I={idx:m,def:E,ruleStack:g,occurrenceStack:v};f.push(I)}else if(T instanceof tt){let _=new Te({terminalType:T.separator}),E=new Re({definition:[_].concat(T.definition),idx:T.idx}),I=T.definition.concat([E],p.slice(1)),D={idx:m,def:I,ruleStack:g,occurrenceStack:v};f.push(D)}else if(T instanceof Ve){let _={idx:m,def:p.slice(1),ruleStack:g,occurrenceStack:v};f.push(_),f.push(s);let E=new Te({terminalType:T.separator}),I=new Re({definition:[E].concat(T.definition),idx:T.idx}),D=T.definition.concat([I],p.slice(1)),k={idx:m,def:D,ruleStack:g,occurrenceStack:v};f.push(k)}else if(T instanceof Re){let _={idx:m,def:p.slice(1),ruleStack:g,occurrenceStack:v};f.push(_),f.push(s);let E=new Re({definition:T.definition,idx:T.idx}),I=T.definition.concat([E],p.slice(1)),D={idx:m,def:I,ruleStack:g,occurrenceStack:v};f.push(D)}else if(T instanceof Ye)for(let _=T.definition.length-1;_>=0;_--){let E=T.definition[_],I={idx:m,def:E.definition.concat(p.slice(1)),ruleStack:g,occurrenceStack:v};f.push(I),f.push(s)}else if(T instanceof Qe)f.push({idx:m,def:T.definition.concat(p.slice(1)),ruleStack:g,occurrenceStack:v});else if(T instanceof Wt)f.push(sL(T,m,g,v));else throw Error("non exhaustive match")}return u}function sL(t,e,r,n){let i=[...r];i.push(t.name);let o=[...n];return o.push(1),{idx:e,def:t.definition,ruleStack:i,occurrenceStack:o}}var lt;(function(t){t[t.OPTION=0]="OPTION",t[t.REPETITION=1]="REPETITION",t[t.REPETITION_MANDATORY=2]="REPETITION_MANDATORY",t[t.REPETITION_MANDATORY_WITH_SEPARATOR=3]="REPETITION_MANDATORY_WITH_SEPARATOR",t[t.REPETITION_WITH_SEPARATOR=4]="REPETITION_WITH_SEPARATOR",t[t.ALTERNATION=5]="ALTERNATION"})(lt||(lt={}));function Kc(t){if(t instanceof Ge||t==="Option")return lt.OPTION;if(t instanceof Re||t==="Repetition")return lt.REPETITION;if(t instanceof et||t==="RepetitionMandatory")return lt.REPETITION_MANDATORY;if(t instanceof tt||t==="RepetitionMandatoryWithSeparator")return lt.REPETITION_MANDATORY_WITH_SEPARATOR;if(t instanceof Ve||t==="RepetitionWithSeparator")return lt.REPETITION_WITH_SEPARATOR;if(t instanceof Ye||t==="Alternation")return lt.ALTERNATION;throw Error("non exhaustive match")}function Wf(t){let{occurrence:e,rule:r,prodType:n,maxLookahead:i}=t,o=Kc(n);return o===lt.ALTERNATION?Ds(e,r,i):$s(e,r,o,i)}function Q0(t,e,r,n,i,o){let s=Ds(t,e,r),a=ov(s)?Ps:Mn;return o(s,n,a,i)}function ev(t,e,r,n,i,o){let s=$s(t,e,i,r),a=ov(s)?Ps:Mn;return o(s[0],a,n)}function tv(t,e,r,n){let i=t.length,o=t.every(s=>s.every(a=>a.length===1));if(e)return function(s){let a=s.map(c=>c.GATE);for(let c=0;c<i;c++){let l=t[c],u=l.length,f=a[c];if(!(f!==void 0&&f.call(this)===!1))e:for(let d=0;d<u;d++){let p=l[d],m=p.length;for(let g=0;g<m;g++){let v=this.LA_FAST(g+1);if(r(v,p[g])===!1)continue e}return c}}};if(o&&!n){let a=t.map(c=>c.flat()).reduce((c,l,u)=>(l.forEach(f=>{f.tokenTypeIdx in c||(c[f.tokenTypeIdx]=u),f.categoryMatches.forEach(d=>{Object.hasOwn(c,d)||(c[d]=u)})}),c),{});return function(){let c=this.LA_FAST(1);return a[c.tokenTypeIdx]}}else return function(){for(let s=0;s<i;s++){let a=t[s],c=a.length;e:for(let l=0;l<c;l++){let u=a[l],f=u.length;for(let d=0;d<f;d++){let p=this.LA_FAST(d+1);if(r(p,u[d])===!1)continue e}return s}}}}function rv(t,e,r){let n=t.every(o=>o.length===1),i=t.length;if(n&&!r){let o=t.flat();if(o.length===1&&o[0].categoryMatches.length===0){let a=o[0].tokenTypeIdx;return function(){return this.LA_FAST(1).tokenTypeIdx===a}}else{let s=o.reduce((a,c,l)=>(a[c.tokenTypeIdx]=!0,c.categoryMatches.forEach(u=>{a[u]=!0}),a),[]);return function(){let a=this.LA_FAST(1);return s[a.tokenTypeIdx]===!0}}}else return function(){e:for(let o=0;o<i;o++){let s=t[o],a=s.length;for(let c=0;c<a;c++){let l=this.LA_FAST(c+1);if(e(l,s[c])===!1)continue e}return!0}return!1}}var vg=class extends $n{constructor(e,r,n){super(),this.topProd=e,this.targetOccurrence=r,this.targetProdType=n}startWalking(){return this.walk(this.topProd),this.restDef}checkIsTarget(e,r,n,i){return e.idx===this.targetOccurrence&&this.targetProdType===r?(this.restDef=n.concat(i),!0):!1}walkOption(e,r,n){this.checkIsTarget(e,lt.OPTION,r,n)||super.walkOption(e,r,n)}walkAtLeastOne(e,r,n){this.checkIsTarget(e,lt.REPETITION_MANDATORY,r,n)||super.walkOption(e,r,n)}walkAtLeastOneSep(e,r,n){this.checkIsTarget(e,lt.REPETITION_MANDATORY_WITH_SEPARATOR,r,n)||super.walkOption(e,r,n)}walkMany(e,r,n){this.checkIsTarget(e,lt.REPETITION,r,n)||super.walkOption(e,r,n)}walkManySep(e,r,n){this.checkIsTarget(e,lt.REPETITION_WITH_SEPARATOR,r,n)||super.walkOption(e,r,n)}},qf=class extends Vt{constructor(e,r,n){super(),this.targetOccurrence=e,this.targetProdType=r,this.targetRef=n,this.result=[]}checkIsTarget(e,r){e.idx===this.targetOccurrence&&this.targetProdType===r&&(this.targetRef===void 0||e===this.targetRef)&&(this.result=e.definition)}visitOption(e){this.checkIsTarget(e,lt.OPTION)}visitRepetition(e){this.checkIsTarget(e,lt.REPETITION)}visitRepetitionMandatory(e){this.checkIsTarget(e,lt.REPETITION_MANDATORY)}visitRepetitionMandatoryWithSeparator(e){this.checkIsTarget(e,lt.REPETITION_MANDATORY_WITH_SEPARATOR)}visitRepetitionWithSeparator(e){this.checkIsTarget(e,lt.REPETITION_WITH_SEPARATOR)}visitAlternation(e){this.checkIsTarget(e,lt.ALTERNATION)}};function J0(t){let e=new Array(t);for(let r=0;r<t;r++)e[r]=[];return e}function Eg(t){let e=[""];for(let r=0;r<t.length;r++){let n=t[r],i=[];for(let o=0;o<e.length;o++){let s=e[o];i.push(s+"_"+n.tokenTypeIdx);for(let a=0;a<n.categoryMatches.length;a++){let c="_"+n.categoryMatches[a];i.push(s+c)}}e=i}return e}function aL(t,e,r){for(let n=0;n<t.length;n++){if(n===r)continue;let i=t[n];for(let o=0;o<e.length;o++){let s=e[o];if(i[s]===!0)return!1}}return!0}function nv(t,e){let r=t.map(s=>zf([s],1)),n=J0(r.length),i=r.map(s=>{let a={};return s.forEach(c=>{Eg(c.partialPath).forEach(u=>{a[u]=!0})}),a}),o=r;for(let s=1;s<=e;s++){let a=o;o=J0(a.length);for(let c=0;c<a.length;c++){let l=a[c];for(let u=0;u<l.length;u++){let f=l[u].partialPath,d=l[u].suffixDef,p=Eg(f);if(aL(i,p,c)||d.length===0||f.length===e){let g=n[c];if(Vf(g,f)===!1){g.push(f);for(let v=0;v<p.length;v++){let T=p[v];i[c][T]=!0}}}else{let g=zf(d,s+1,f);o[c]=o[c].concat(g),g.forEach(v=>{Eg(v.partialPath).forEach(_=>{i[c][_]=!0})})}}}}return n}function Ds(t,e,r,n){let i=new qf(t,lt.ALTERNATION,n);return e.accept(i),nv(i.result,r)}function $s(t,e,r,n){let i=new qf(t,r);e.accept(i);let o=i.result,a=new vg(e,t,r).startWalking(),c=new Qe({definition:o}),l=new Qe({definition:a});return nv([c,l],n)}function Vf(t,e){e:for(let r=0;r<t.length;r++){let n=t[r];if(n.length===e.length){for(let i=0;i<n.length;i++){let o=e[i],s=n[i];if((o===s||s.categoryMatchesMap[o.tokenTypeIdx]!==void 0)===!1)continue e}return!0}}return!1}function iv(t,e){return t.length<e.length&&t.every((r,n)=>{let i=e[n];return r===i||i.categoryMatchesMap[r.tokenTypeIdx]})}function ov(t){return t.every(e=>e.every(r=>r.every(n=>n.categoryMatches.length===0)))}function sv(t){return t.lookaheadStrategy.validate({rules:t.rules,tokenTypes:t.tokenTypes,grammarName:t.grammarName}).map(r=>Object.assign({type:It.CUSTOM_LOOKAHEAD_VALIDATION},r))}function av(t,e,r,n){let i=t.flatMap(c=>cL(c,r)),o=hL(t,e,r),s=t.flatMap(c=>fL(c,r)),a=t.flatMap(c=>uL(c,t,n,r));return i.concat(o,s,a)}function cL(t,e){let r=new Rg;t.accept(r);let n=r.allProductions,i=Object.groupBy(n,lL),o=Object.fromEntries(Object.entries(i).filter(([a,c])=>c.length>1));return Object.values(o).map(a=>{let c=a[0],l=e.buildDuplicateFoundError(t,a),u=nr(c),f={message:l,type:It.DUPLICATE_PRODUCTIONS,ruleName:t.name,dslName:u,occurrence:c.idx},d=cv(c);return d&&(f.parameter=d),f})}function lL(t){return`${nr(t)}_#_${t.idx}_#_${cv(t)}`}function cv(t){return t instanceof Te?t.terminalType.name:t instanceof Be?t.nonTerminalName:""}var Rg=class extends Vt{constructor(){super(...arguments),this.allProductions=[]}visitNonTerminal(e){this.allProductions.push(e)}visitOption(e){this.allProductions.push(e)}visitRepetitionWithSeparator(e){this.allProductions.push(e)}visitRepetitionMandatory(e){this.allProductions.push(e)}visitRepetitionMandatoryWithSeparator(e){this.allProductions.push(e)}visitRepetition(e){this.allProductions.push(e)}visitAlternation(e){this.allProductions.push(e)}visitTerminal(e){this.allProductions.push(e)}};function uL(t,e,r,n){let i=[];if(e.reduce((s,a)=>a.name===t.name?s+1:s,0)>1){let s=n.buildDuplicateRuleNameError({topLevelRule:t,grammarName:r});i.push({message:s,type:It.DUPLICATE_RULE_NAME,ruleName:t.name})}return i}function lv(t,e,r){let n=[],i;return e.includes(t)||(i=`Invalid rule override, rule: ->${t}<- cannot be overridden in the grammar: ->${r}<-as it is not defined in any of the super grammars `,n.push({message:i,type:It.INVALID_RULE_OVERRIDE,ruleName:t})),n}function wg(t,e,r,n=[]){let i=[],o=Yf(e.definition);if(o.length===0)return[];{let s=t.name;o.includes(t)&&i.push({message:r.buildLeftRecursionError({topLevelRule:t,leftRecursionPath:n}),type:It.LEFT_RECURSION,ruleName:s});let c=n.concat([t]),u=o.filter(f=>!c.includes(f)).flatMap(f=>{let d=[...n];return d.push(f),wg(t,f,r,d)});return i.concat(u)}}function Yf(t){let e=[];if(t.length===0)return e;let r=t[0];if(r instanceof Be)e.push(r.referencedRule);else if(r instanceof Qe||r instanceof Ge||r instanceof et||r instanceof tt||r instanceof Ve||r instanceof Re)e=e.concat(Yf(r.definition));else if(r instanceof Ye)e=r.definition.map(o=>Yf(o.definition)).flat();else if(!(r instanceof Te))throw Error("non exhaustive match");let n=_o(r),i=t.length>1;if(n&&i){let o=t.slice(1);return e.concat(Yf(o))}else return e}var Zc=class extends Vt{constructor(){super(...arguments),this.alternations=[]}visitAlternation(e){this.alternations.push(e)}};function uv(t,e){let r=new Zc;return t.accept(r),r.alternations.flatMap(o=>o.definition.slice(0,-1).flatMap((a,c)=>Z0([a],[],Mn,1).length===0?[{message:e.buildEmptyAlternationError({topLevelRule:t,alternation:o,emptyChoiceIdx:c}),type:It.NONE_LAST_EMPTY_ALT,ruleName:t.name,occurrence:o.idx,alternative:c+1}]:[]))}function fv(t,e,r){let n=new Zc;t.accept(n);let i=n.alternations;return i=i.filter(s=>s.ignoreAmbiguities!==!0),i.flatMap(s=>{let a=s.idx,c=s.maxLookahead||e,l=Ds(a,t,c,s),u=dL(l,s,t,r),f=pL(l,s,t,r);return u.concat(f)})}var bg=class extends Vt{constructor(){super(...arguments),this.allProductions=[]}visitRepetitionWithSeparator(e){this.allProductions.push(e)}visitRepetitionMandatory(e){this.allProductions.push(e)}visitRepetitionMandatoryWithSeparator(e){this.allProductions.push(e)}visitRepetition(e){this.allProductions.push(e)}};function fL(t,e){let r=new Zc;return t.accept(r),r.alternations.flatMap(o=>o.definition.length>255?[{message:e.buildTooManyAlternativesError({topLevelRule:t,alternation:o}),type:It.TOO_MANY_ALTS,ruleName:t.name,occurrence:o.idx}]:[])}function dv(t,e,r){let n=[];return t.forEach(i=>{let o=new bg;i.accept(o),o.allProductions.forEach(a=>{let c=Kc(a),l=a.maxLookahead||e,u=a.idx;if($s(u,i,c,l)[0].flat().length===0){let p=r.buildEmptyRepetitionError({topLevelRule:i,repetition:a});n.push({message:p,type:It.NO_NON_EMPTY_LOOKAHEAD,ruleName:i.name})}})}),n}function dL(t,e,r,n){let i=[];return t.reduce((a,c,l)=>(e.definition[l].ignoreAmbiguities===!0||c.forEach(u=>{let f=[l];t.forEach((d,p)=>{l!==p&&Vf(d,u)&&e.definition[p].ignoreAmbiguities!==!0&&f.push(p)}),f.length>1&&!Vf(i,u)&&(i.push(u),a.push({alts:f,path:u}))}),a),[]).map(a=>{let c=a.alts.map(u=>u+1);return{message:n.buildAlternationAmbiguityError({topLevelRule:r,alternation:e,ambiguityIndices:c,prefixPath:a.path}),type:It.AMBIGUOUS_ALTS,ruleName:r.name,occurrence:e.idx,alternatives:a.alts}})}function pL(t,e,r,n){let i=t.reduce((s,a,c)=>{let l=a.map(u=>({idx:c,path:u}));return s.concat(l)},[]);return i.flatMap(s=>{if(e.definition[s.idx].ignoreAmbiguities===!0)return[];let c=s.idx,l=s.path;return i.filter(d=>e.definition[d.idx].ignoreAmbiguities!==!0&&d.idx<c&&iv(d.path,l)).map(d=>{let p=[d.idx+1,c+1],m=e.idx===0?"":e.idx;return{message:n.buildAlternationPrefixAmbiguityError({topLevelRule:r,alternation:e,ambiguityIndices:p,prefixPath:d.path}),type:It.AMBIGUOUS_PREFIX_ALTS,ruleName:r.name,occurrence:m,alternatives:p}})})}function hL(t,e,r){let n=[],i=e.map(o=>o.name);return t.forEach(o=>{let s=o.name;if(i.includes(s)){let a=r.buildNamespaceConflictError(o);n.push({message:a,type:It.CONFLICT_TOKENS_RULES_NAMESPACE,ruleName:s})}}),n}function pv(t){let e=Object.assign({errMsgProvider:Y0},t),r={};return t.rules.forEach(n=>{r[n.name]=n}),K0(r,e.errMsgProvider)}function hv(t){var e;let r=(e=t.errMsgProvider)!==null&&e!==void 0?e:Xr;return av(t.rules,t.tokenTypes,r,t.grammarName)}var mv="MismatchedTokenException",gv="NoViableAltException",yv="EarlyExitException",xv="NotAllInputParsedException",Tv=[mv,gv,yv,xv];Object.freeze(Tv);function yi(t){return Tv.includes(t.name)}var Ms=class extends Error{constructor(e,r){super(e),this.token=r,this.resyncedTokens=[],Object.setPrototypeOf(this,new.target.prototype),Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor)}},Ro=class extends Ms{constructor(e,r,n){super(e,r),this.previousToken=n,this.name=mv}},Jc=class extends Ms{constructor(e,r,n){super(e,r),this.previousToken=n,this.name=gv}},Qc=class extends Ms{constructor(e,r){super(e,r),this.name=xv}},el=class extends Ms{constructor(e,r,n){super(e,r),this.previousToken=n,this.name=yv}};var Ag={},Ig="InRuleRecoveryException",Sg=class extends Error{constructor(e){super(e),this.name=Ig}},Kf=class{initRecoverable(e){this.firstAfterRepMap={},this.resyncFollows={},this.recoveryEnabled=Object.hasOwn(e,"recoveryEnabled")?e.recoveryEnabled:Kt.recoveryEnabled,this.recoveryEnabled&&(this.attemptInRepetitionRecovery=mL)}getTokenToInsert(e){let r=Bn(e,"",NaN,NaN,NaN,NaN,NaN,NaN);return r.isInsertedInRecovery=!0,r}canTokenTypeBeInsertedInRecovery(e){return!0}canTokenTypeBeDeletedInRecovery(e){return!0}tryInRepetitionRecovery(e,r,n,i){let o=this.findReSyncTokenType(),s=this.exportLexerState(),a=[],c=!1,l=this.LA_FAST(1),u=this.LA_FAST(1),f=()=>{let d=this.LA(0),p=this.errorMessageProvider.buildMismatchTokenMessage({expected:i,actual:l,previous:d,ruleName:this.getCurrRuleFullName()}),m=new Ro(p,l,this.LA(0));m.resyncedTokens=a.slice(0,-1),this.SAVE_ERROR(m)};for(;!c;)if(this.tokenMatcher(u,i)){f();return}else if(n.call(this)){f(),e.apply(this,r);return}else this.tokenMatcher(u,o)?c=!0:(u=this.SKIP_TOKEN(),this.addToResyncTokens(u,a));this.importLexerState(s)}shouldInRepetitionRecoveryBeTried(e,r,n){return!(n===!1||this.tokenMatcher(this.LA_FAST(1),e)||this.isBackTracking()||this.canPerformInRuleRecovery(e,this.getFollowsForInRuleRecovery(e,r)))}getNextPossibleTokenTypes(e){let r=e.ruleStack[0],i=this.getGAstProductions()[r];return new Xf(i,e).startWalking()}getFollowsForInRuleRecovery(e,r){let n=this.getCurrentGrammarPath(e,r);return this.getNextPossibleTokenTypes(n)}tryInRuleRecovery(e,r){if(this.canRecoverWithSingleTokenInsertion(e,r))return this.getTokenToInsert(e);if(this.canRecoverWithSingleTokenDeletion(e)){let n=this.SKIP_TOKEN();return this.consumeToken(),n}throw new Sg("sad sad panda")}canPerformInRuleRecovery(e,r){return this.canRecoverWithSingleTokenInsertion(e,r)||this.canRecoverWithSingleTokenDeletion(e)}canRecoverWithSingleTokenInsertion(e,r){if(!this.canTokenTypeBeInsertedInRecovery(e)||r.length===0)return!1;let n=this.LA_FAST(1);return r.find(o=>this.tokenMatcher(n,o))!==void 0}canRecoverWithSingleTokenDeletion(e){return this.canTokenTypeBeDeletedInRecovery(e)?this.tokenMatcher(this.LA(2),e):!1}isInCurrentRuleReSyncSet(e){let r=this.getCurrFollowKey();return this.getFollowSetFromFollowKey(r).includes(e)}findReSyncTokenType(){let e=this.flattenFollowSet(),r=this.LA_FAST(1),n=2;for(;;){let i=e.find(o=>Os(r,o));if(i!==void 0)return i;r=this.LA(n),n++}}getCurrFollowKey(){if(this.RULE_STACK_IDX===0)return Ag;let e=this.currRuleShortName,r=this.getLastExplicitRuleOccurrenceIndex(),n=this.getPreviousExplicitRuleShortName();return{ruleName:this.shortRuleNameToFullName(e),idxInCallingRule:r,inRule:this.shortRuleNameToFullName(n)}}buildFullFollowKeyStack(){let e=this.RULE_STACK,r=this.RULE_OCCURRENCE_STACK,n=this.RULE_STACK_IDX+1,i=new Array(n);for(let o=0;o<n;o++)o===0?i[o]=Ag:i[o]={ruleName:this.shortRuleNameToFullName(e[o]),idxInCallingRule:r[o],inRule:this.shortRuleNameToFullName(e[o-1])};return i}flattenFollowSet(){return this.buildFullFollowKeyStack().map(r=>this.getFollowSetFromFollowKey(r)).flat()}getFollowSetFromFollowKey(e){if(e===Ag)return[Yt];let r=e.ruleName+e.idxInCallingRule+$f+e.inRule;return this.resyncFollows[r]}addToResyncTokens(e,r){return this.tokenMatcher(e,Yt)||r.push(e),r}reSyncTo(e){let r=[],n=this.LA_FAST(1);for(;this.tokenMatcher(n,e)===!1;)n=this.SKIP_TOKEN(),this.addToResyncTokens(n,r);return r.slice(0,-1)}attemptInRepetitionRecovery(e,r,n,i,o,s,a){}getCurrentGrammarPath(e,r){let n=this.getHumanReadableRuleStack(),i=this.RULE_OCCURRENCE_STACK.slice(0,this.RULE_OCCURRENCE_STACK_IDX+1);return{ruleStack:n,occurrenceStack:i,lastTok:e,lastTokOccurrence:r}}getHumanReadableRuleStack(){let e=this.RULE_STACK_IDX+1,r=new Array(e);for(let n=0;n<e;n++)r[n]=this.shortRuleNameToFullName(this.RULE_STACK[n]);return r}};function mL(t,e,r,n,i,o,s){let a=this.getKeyForAutomaticLookahead(n,i),c=this.firstAfterRepMap[a];if(c===void 0){let d=this.getCurrRuleFullName(),p=this.getGAstProductions()[d];c=new o(p,i).startWalking(),this.firstAfterRepMap[a]=c}let l=c.token,u=c.occurrence,f=c.isEndOfRule;this.RULE_STACK_IDX===0&&f&&l===void 0&&(l=Yt,u=1),!(l===void 0||u===void 0)&&this.shouldInRepetitionRecoveryBeTried(l,u,s)&&this.tryInRepetitionRecovery(t,e,r,l)}function Zf(t,e,r){return r|e|t}var Xn=class{constructor(e){var r;this.maxLookahead=(r=e?.maxLookahead)!==null&&r!==void 0?r:Kt.maxLookahead}validate(e){let r=this.validateNoLeftRecursion(e.rules);if(r.length===0){let n=this.validateEmptyOrAlternatives(e.rules),i=this.validateAmbiguousAlternationAlternatives(e.rules,this.maxLookahead),o=this.validateSomeNonEmptyLookaheadPath(e.rules,this.maxLookahead);return[...r,...n,...i,...o]}return r}validateNoLeftRecursion(e){return e.flatMap(r=>wg(r,r,Xr))}validateEmptyOrAlternatives(e){return e.flatMap(r=>uv(r,Xr))}validateAmbiguousAlternationAlternatives(e,r){return e.flatMap(n=>fv(n,r,Xr))}validateSomeNonEmptyLookaheadPath(e,r){return dv(e,r,Xr)}buildLookaheadForAlternation(e){return Q0(e.prodOccurrence,e.rule,e.maxLookahead,e.hasPredicates,e.dynamicTokensEnabled,tv)}buildLookaheadForOptional(e){return ev(e.prodOccurrence,e.rule,e.maxLookahead,e.dynamicTokensEnabled,Kc(e.prodType),rv)}};var Qf=class{initLooksAhead(e){this.dynamicTokensEnabled=Object.hasOwn(e,"dynamicTokensEnabled")?e.dynamicTokensEnabled:Kt.dynamicTokensEnabled,this.maxLookahead=Object.hasOwn(e,"maxLookahead")?e.maxLookahead:Kt.maxLookahead,this.lookaheadStrategy=Object.hasOwn(e,"lookaheadStrategy")?e.lookaheadStrategy:new Xn({maxLookahead:this.maxLookahead}),this.lookAheadFuncsCache=new Map}preComputeLookaheadFunctions(e){e.forEach(r=>{this.TRACE_INIT(`${r.name} Rule Lookahead`,()=>{let{alternation:n,repetition:i,option:o,repetitionMandatory:s,repetitionMandatoryWithSeparator:a,repetitionWithSeparator:c}=gL(r);n.forEach(l=>{let u=l.idx===0?"":l.idx;this.TRACE_INIT(`${nr(l)}${u}`,()=>{let f=this.lookaheadStrategy.buildLookaheadForAlternation({prodOccurrence:l.idx,rule:r,maxLookahead:l.maxLookahead||this.maxLookahead,hasPredicates:l.hasPredicates,dynamicTokensEnabled:this.dynamicTokensEnabled}),d=Zf(this.fullRuleNameToShort[r.name],256,l.idx);this.setLaFuncCache(d,f)})}),i.forEach(l=>{this.computeLookaheadFunc(r,l.idx,768,"Repetition",l.maxLookahead,nr(l))}),o.forEach(l=>{this.computeLookaheadFunc(r,l.idx,512,"Option",l.maxLookahead,nr(l))}),s.forEach(l=>{this.computeLookaheadFunc(r,l.idx,1024,"RepetitionMandatory",l.maxLookahead,nr(l))}),a.forEach(l=>{this.computeLookaheadFunc(r,l.idx,1536,"RepetitionMandatoryWithSeparator",l.maxLookahead,nr(l))}),c.forEach(l=>{this.computeLookaheadFunc(r,l.idx,1280,"RepetitionWithSeparator",l.maxLookahead,nr(l))})})})}computeLookaheadFunc(e,r,n,i,o,s){this.TRACE_INIT(`${s}${r===0?"":r}`,()=>{let a=this.lookaheadStrategy.buildLookaheadForOptional({prodOccurrence:r,rule:e,maxLookahead:o||this.maxLookahead,dynamicTokensEnabled:this.dynamicTokensEnabled,prodType:i}),c=Zf(this.fullRuleNameToShort[e.name],n,r);this.setLaFuncCache(c,a)})}getKeyForAutomaticLookahead(e,r){return Zf(this.currRuleShortName,e,r)}getLaFuncFromCache(e){return this.lookAheadFuncsCache.get(e)}setLaFuncCache(e,r){this.lookAheadFuncsCache.set(e,r)}},kg=class extends Vt{constructor(){super(...arguments),this.dslMethods={option:[],alternation:[],repetition:[],repetitionWithSeparator:[],repetitionMandatory:[],repetitionMandatoryWithSeparator:[]}}reset(){this.dslMethods={option:[],alternation:[],repetition:[],repetitionWithSeparator:[],repetitionMandatory:[],repetitionMandatoryWithSeparator:[]}}visitOption(e){this.dslMethods.option.push(e)}visitRepetitionWithSeparator(e){this.dslMethods.repetitionWithSeparator.push(e)}visitRepetitionMandatory(e){this.dslMethods.repetitionMandatory.push(e)}visitRepetitionMandatoryWithSeparator(e){this.dslMethods.repetitionMandatoryWithSeparator.push(e)}visitRepetition(e){this.dslMethods.repetition.push(e)}visitAlternation(e){this.dslMethods.alternation.push(e)}},Jf=new kg;function gL(t){Jf.reset(),t.accept(Jf);let e=Jf.dslMethods;return Jf.reset(),e}function Cg(t,e){isNaN(t.startOffset)===!0?(t.startOffset=e.startOffset,t.endOffset=e.endOffset):t.endOffset<e.endOffset&&(t.endOffset=e.endOffset)}function Og(t,e){isNaN(t.startOffset)===!0?(t.startOffset=e.startOffset,t.startColumn=e.startColumn,t.startLine=e.startLine,t.endOffset=e.endOffset,t.endColumn=e.endColumn,t.endLine=e.endLine):t.endOffset<e.endOffset&&(t.endOffset=e.endOffset,t.endColumn=e.endColumn,t.endLine=e.endLine)}function _v(t,e,r){t.children[r]===void 0?t.children[r]=[e]:t.children[r].push(e)}function Ev(t,e,r){t.children[e]===void 0?t.children[e]=[r]:t.children[e].push(r)}var yL="name";function Lg(t,e){Object.defineProperty(t,yL,{enumerable:!1,configurable:!0,writable:!1,value:e})}function xL(t,e){let r=Object.keys(t),n=r.length;for(let i=0;i<n;i++){let o=r[i],s=t[o],a=s.length;for(let c=0;c<a;c++){let l=s[c];l.tokenTypeIdx===void 0&&this[l.name](l.children,e)}}}function vv(t,e){let r=function(){};Lg(r,t+"BaseSemantics");let n={visit:function(i,o){if(Array.isArray(i)&&(i=i[0]),i!==void 0)return this[i.name](i.children,o)},validateVisitor:function(){let i=TL(this,e);if(i.length!==0){let o=i.map(s=>s.msg);throw Error(`Errors Detected in CST Visitor <${this.constructor.name}>:
|
|
125
125
|
${o.join(`
|
|
126
126
|
|
|
127
127
|
`).replace(/\n/g,`
|
|
128
|
-
`)}`)}}};return r.prototype=n,r.prototype.constructor=r,r._RULE_NAMES=e,r}function eb(t,e,r){let n=function(){};xg(n,t+"BaseSemanticsWithDefaults");let i=Object.create(r.prototype);return e.forEach(o=>{i[o]=NO}),n.prototype=i,n.prototype.constructor=n,n}var Tg;(function(t){t[t.REDUNDANT_METHOD=0]="REDUNDANT_METHOD",t[t.MISSING_METHOD=1]="MISSING_METHOD"})(Tg||(Tg={}));function PO(t,e){return CO(t,e)}function CO(t,e){return e.filter(i=>typeof t[i]!="function").map(i=>({msg:`Missing visitor method: <${i}> on ${t.constructor.name} CST Visitor.`,type:Tg.MISSING_METHOD,methodName:i})).filter(Boolean)}var jf=class{initTreeBuilder(e){if(this.CST_STACK=[],this.outputCst=e.outputCst,this.nodeLocationTracking=Object.hasOwn(e,"nodeLocationTracking")?e.nodeLocationTracking:Kt.nodeLocationTracking,!this.outputCst)this.cstInvocationStateUpdate=()=>{},this.cstFinallyStateUpdate=()=>{},this.cstPostTerminal=()=>{},this.cstPostNonTerminal=()=>{},this.cstPostRule=()=>{};else if(/full/i.test(this.nodeLocationTracking))this.recoveryEnabled?(this.setNodeLocationFromToken=yg,this.setNodeLocationFromNode=yg,this.cstPostRule=()=>{},this.setInitialNodeLocation=this.setInitialNodeLocationFullRecovery):(this.setNodeLocationFromToken=()=>{},this.setNodeLocationFromNode=()=>{},this.cstPostRule=this.cstPostRuleFull,this.setInitialNodeLocation=this.setInitialNodeLocationFullRegular);else if(/onlyOffset/i.test(this.nodeLocationTracking))this.recoveryEnabled?(this.setNodeLocationFromToken=gg,this.setNodeLocationFromNode=gg,this.cstPostRule=()=>{},this.setInitialNodeLocation=this.setInitialNodeLocationOnlyOffsetRecovery):(this.setNodeLocationFromToken=()=>{},this.setNodeLocationFromNode=()=>{},this.cstPostRule=this.cstPostRuleOnlyOffset,this.setInitialNodeLocation=this.setInitialNodeLocationOnlyOffsetRegular);else if(/none/i.test(this.nodeLocationTracking))this.setNodeLocationFromToken=()=>{},this.setNodeLocationFromNode=()=>{},this.cstPostRule=()=>{},this.setInitialNodeLocation=()=>{};else throw Error(`Invalid <nodeLocationTracking> config option: "${e.nodeLocationTracking}"`)}setInitialNodeLocationOnlyOffsetRecovery(e){e.location={startOffset:NaN,endOffset:NaN}}setInitialNodeLocationOnlyOffsetRegular(e){e.location={startOffset:this.LA_FAST(1).startOffset,endOffset:NaN}}setInitialNodeLocationFullRecovery(e){e.location={startOffset:NaN,startLine:NaN,startColumn:NaN,endOffset:NaN,endLine:NaN,endColumn:NaN}}setInitialNodeLocationFullRegular(e){let r=this.LA_FAST(1);e.location={startOffset:r.startOffset,startLine:r.startLine,startColumn:r.startColumn,endOffset:NaN,endLine:NaN,endColumn:NaN}}cstInvocationStateUpdate(e){let r={name:e,children:Object.create(null)};this.setInitialNodeLocation(r),this.CST_STACK.push(r)}cstFinallyStateUpdate(){this.CST_STACK.pop()}cstPostRuleFull(e){let r=this.LA(0),n=e.location;n.startOffset<=r.startOffset?(n.endOffset=r.endOffset,n.endLine=r.endLine,n.endColumn=r.endColumn):(n.startOffset=NaN,n.startLine=NaN,n.startColumn=NaN)}cstPostRuleOnlyOffset(e){let r=this.LA(0),n=e.location;n.startOffset<=r.startOffset?n.endOffset=r.endOffset:n.startOffset=NaN}cstPostTerminal(e,r){let n=this.CST_STACK[this.CST_STACK.length-1];ZR(n,r,e),this.setNodeLocationFromToken(n.location,r)}cstPostNonTerminal(e,r){let n=this.CST_STACK[this.CST_STACK.length-1];JR(n,r,e),this.setNodeLocationFromNode(n.location,e.location)}getBaseCstVisitorConstructor(){if(this.baseCstVisitorConstructor===void 0){let e=QR(this.className,Object.keys(this.gastProductionsCache));return this.baseCstVisitorConstructor=e,e}return this.baseCstVisitorConstructor}getBaseCstVisitorConstructorWithDefaults(){if(this.baseCstVisitorWithDefaultsConstructor===void 0){let e=eb(this.className,Object.keys(this.gastProductionsCache),this.getBaseCstVisitorConstructor());return this.baseCstVisitorWithDefaultsConstructor=e,e}return this.baseCstVisitorWithDefaultsConstructor}getPreviousExplicitRuleShortName(){return this.RULE_STACK[this.RULE_STACK_IDX-1]}getLastExplicitRuleOccurrenceIndex(){return this.RULE_OCCURRENCE_STACK[this.RULE_OCCURRENCE_STACK_IDX]}};var Wf=class{initLexerAdapter(){this.tokVector=[],this.tokVectorLength=0,this.currIdx=-1}set input(e){if(this.selfAnalysisDone!==!0)throw Error("Missing <performSelfAnalysis> invocation at the end of the Parser's constructor.");this.reset(),this.tokVector=e,this.tokVectorLength=e.length}get input(){return this.tokVector}SKIP_TOKEN(){return this.currIdx<=this.tokVectorLength-2?(this.consumeToken(),this.LA_FAST(1)):Fn}LA_FAST(e){let r=this.currIdx+e;return this.tokVector[r]}LA(e){let r=this.currIdx+e;return r<0||this.tokVectorLength<=r?Fn:this.tokVector[r]}consumeToken(){this.currIdx++}exportLexerState(){return this.currIdx}importLexerState(e){this.currIdx=e}resetLexerState(){this.currIdx=-1}moveToTerminatedState(){this.currIdx=this.tokVectorLength-1}getLexerPosition(){return this.exportLexerState()}};var qf=class{ACTION(e){return e.call(this)}consume(e,r,n){return this.consumeInternal(r,e,n)}subrule(e,r,n){return this.subruleInternal(r,e,n)}option(e,r){return this.optionInternal(r,e)}or(e,r){return this.orInternal(r,e)}many(e,r){return this.manyInternal(e,r)}atLeastOne(e,r){return this.atLeastOneInternal(e,r)}CONSUME(e,r){return this.consumeInternal(e,0,r)}CONSUME1(e,r){return this.consumeInternal(e,1,r)}CONSUME2(e,r){return this.consumeInternal(e,2,r)}CONSUME3(e,r){return this.consumeInternal(e,3,r)}CONSUME4(e,r){return this.consumeInternal(e,4,r)}CONSUME5(e,r){return this.consumeInternal(e,5,r)}CONSUME6(e,r){return this.consumeInternal(e,6,r)}CONSUME7(e,r){return this.consumeInternal(e,7,r)}CONSUME8(e,r){return this.consumeInternal(e,8,r)}CONSUME9(e,r){return this.consumeInternal(e,9,r)}SUBRULE(e,r){return this.subruleInternal(e,0,r)}SUBRULE1(e,r){return this.subruleInternal(e,1,r)}SUBRULE2(e,r){return this.subruleInternal(e,2,r)}SUBRULE3(e,r){return this.subruleInternal(e,3,r)}SUBRULE4(e,r){return this.subruleInternal(e,4,r)}SUBRULE5(e,r){return this.subruleInternal(e,5,r)}SUBRULE6(e,r){return this.subruleInternal(e,6,r)}SUBRULE7(e,r){return this.subruleInternal(e,7,r)}SUBRULE8(e,r){return this.subruleInternal(e,8,r)}SUBRULE9(e,r){return this.subruleInternal(e,9,r)}OPTION(e){return this.optionInternal(e,0)}OPTION1(e){return this.optionInternal(e,1)}OPTION2(e){return this.optionInternal(e,2)}OPTION3(e){return this.optionInternal(e,3)}OPTION4(e){return this.optionInternal(e,4)}OPTION5(e){return this.optionInternal(e,5)}OPTION6(e){return this.optionInternal(e,6)}OPTION7(e){return this.optionInternal(e,7)}OPTION8(e){return this.optionInternal(e,8)}OPTION9(e){return this.optionInternal(e,9)}OR(e){return this.orInternal(e,0)}OR1(e){return this.orInternal(e,1)}OR2(e){return this.orInternal(e,2)}OR3(e){return this.orInternal(e,3)}OR4(e){return this.orInternal(e,4)}OR5(e){return this.orInternal(e,5)}OR6(e){return this.orInternal(e,6)}OR7(e){return this.orInternal(e,7)}OR8(e){return this.orInternal(e,8)}OR9(e){return this.orInternal(e,9)}MANY(e){this.manyInternal(0,e)}MANY1(e){this.manyInternal(1,e)}MANY2(e){this.manyInternal(2,e)}MANY3(e){this.manyInternal(3,e)}MANY4(e){this.manyInternal(4,e)}MANY5(e){this.manyInternal(5,e)}MANY6(e){this.manyInternal(6,e)}MANY7(e){this.manyInternal(7,e)}MANY8(e){this.manyInternal(8,e)}MANY9(e){this.manyInternal(9,e)}MANY_SEP(e){this.manySepFirstInternal(0,e)}MANY_SEP1(e){this.manySepFirstInternal(1,e)}MANY_SEP2(e){this.manySepFirstInternal(2,e)}MANY_SEP3(e){this.manySepFirstInternal(3,e)}MANY_SEP4(e){this.manySepFirstInternal(4,e)}MANY_SEP5(e){this.manySepFirstInternal(5,e)}MANY_SEP6(e){this.manySepFirstInternal(6,e)}MANY_SEP7(e){this.manySepFirstInternal(7,e)}MANY_SEP8(e){this.manySepFirstInternal(8,e)}MANY_SEP9(e){this.manySepFirstInternal(9,e)}AT_LEAST_ONE(e){this.atLeastOneInternal(0,e)}AT_LEAST_ONE1(e){return this.atLeastOneInternal(1,e)}AT_LEAST_ONE2(e){this.atLeastOneInternal(2,e)}AT_LEAST_ONE3(e){this.atLeastOneInternal(3,e)}AT_LEAST_ONE4(e){this.atLeastOneInternal(4,e)}AT_LEAST_ONE5(e){this.atLeastOneInternal(5,e)}AT_LEAST_ONE6(e){this.atLeastOneInternal(6,e)}AT_LEAST_ONE7(e){this.atLeastOneInternal(7,e)}AT_LEAST_ONE8(e){this.atLeastOneInternal(8,e)}AT_LEAST_ONE9(e){this.atLeastOneInternal(9,e)}AT_LEAST_ONE_SEP(e){this.atLeastOneSepFirstInternal(0,e)}AT_LEAST_ONE_SEP1(e){this.atLeastOneSepFirstInternal(1,e)}AT_LEAST_ONE_SEP2(e){this.atLeastOneSepFirstInternal(2,e)}AT_LEAST_ONE_SEP3(e){this.atLeastOneSepFirstInternal(3,e)}AT_LEAST_ONE_SEP4(e){this.atLeastOneSepFirstInternal(4,e)}AT_LEAST_ONE_SEP5(e){this.atLeastOneSepFirstInternal(5,e)}AT_LEAST_ONE_SEP6(e){this.atLeastOneSepFirstInternal(6,e)}AT_LEAST_ONE_SEP7(e){this.atLeastOneSepFirstInternal(7,e)}AT_LEAST_ONE_SEP8(e){this.atLeastOneSepFirstInternal(8,e)}AT_LEAST_ONE_SEP9(e){this.atLeastOneSepFirstInternal(9,e)}RULE(e,r,n=ks){if(this.definedRulesNames.includes(e)){let s={message:Ur.buildDuplicateRuleNameError({topLevelRule:e,grammarName:this.className}),type:At.DUPLICATE_RULE_NAME,ruleName:e};this.definitionErrors.push(s)}this.definedRulesNames.push(e);let i=this.defineRule(e,r,n);return this[e]=i,i}OVERRIDE_RULE(e,r,n=ks){let i=BR(e,this.definedRulesNames,this.className);this.definitionErrors=this.definitionErrors.concat(i);let o=this.defineRule(e,r,n);return this[e]=o,o}BACKTRACK(e,r){var n;let i=(n=e.coreRule)!==null&&n!==void 0?n:e;return function(){this.isBackTrackingStack.push(1);let o=this.saveRecogState();try{return i.apply(this,r),!0}catch(s){if(li(s))return!1;throw s}finally{this.reloadRecogState(o),this.isBackTrackingStack.pop()}}}getGAstProductions(){return this.gastProductionsCache}getSerializedGastProductions(){return Rf(Object.values(this.gastProductionsCache))}};var zf=class{initRecognizerEngine(e,r){if(this.className=this.constructor.name,this.shortRuleNameToFull={},this.fullRuleNameToShort={},this.ruleShortNameIdx=256,this.tokenMatcher=Rs,this.subruleIdx=0,this.currRuleShortName=0,this.definedRulesNames=[],this.tokensMap={},this.isBackTrackingStack=[],this.RULE_STACK=[],this.RULE_STACK_IDX=-1,this.RULE_OCCURRENCE_STACK=[],this.RULE_OCCURRENCE_STACK_IDX=-1,this.gastProductionsCache={},Object.hasOwn(r,"serializedGrammar"))throw Error(`The Parser's configuration can no longer contain a <serializedGrammar> property.
|
|
128
|
+
`)}`)}}};return r.prototype=n,r.prototype.constructor=r,r._RULE_NAMES=e,r}function Rv(t,e,r){let n=function(){};Lg(n,t+"BaseSemanticsWithDefaults");let i=Object.create(r.prototype);return e.forEach(o=>{i[o]=xL}),n.prototype=i,n.prototype.constructor=n,n}var Dg;(function(t){t[t.REDUNDANT_METHOD=0]="REDUNDANT_METHOD",t[t.MISSING_METHOD=1]="MISSING_METHOD"})(Dg||(Dg={}));function TL(t,e){return _L(t,e)}function _L(t,e){return e.filter(i=>typeof t[i]!="function").map(i=>({msg:`Missing visitor method: <${i}> on ${t.constructor.name} CST Visitor.`,type:Dg.MISSING_METHOD,methodName:i})).filter(Boolean)}var nd=class{initTreeBuilder(e){if(this.CST_STACK=[],this.outputCst=e.outputCst,this.nodeLocationTracking=Object.hasOwn(e,"nodeLocationTracking")?e.nodeLocationTracking:Kt.nodeLocationTracking,!this.outputCst)this.cstInvocationStateUpdate=()=>{},this.cstFinallyStateUpdate=()=>{},this.cstPostTerminal=()=>{},this.cstPostNonTerminal=()=>{},this.cstPostRule=()=>{};else if(/full/i.test(this.nodeLocationTracking))this.recoveryEnabled?(this.setNodeLocationFromToken=Og,this.setNodeLocationFromNode=Og,this.cstPostRule=()=>{},this.setInitialNodeLocation=this.setInitialNodeLocationFullRecovery):(this.setNodeLocationFromToken=()=>{},this.setNodeLocationFromNode=()=>{},this.cstPostRule=this.cstPostRuleFull,this.setInitialNodeLocation=this.setInitialNodeLocationFullRegular);else if(/onlyOffset/i.test(this.nodeLocationTracking))this.recoveryEnabled?(this.setNodeLocationFromToken=Cg,this.setNodeLocationFromNode=Cg,this.cstPostRule=()=>{},this.setInitialNodeLocation=this.setInitialNodeLocationOnlyOffsetRecovery):(this.setNodeLocationFromToken=()=>{},this.setNodeLocationFromNode=()=>{},this.cstPostRule=this.cstPostRuleOnlyOffset,this.setInitialNodeLocation=this.setInitialNodeLocationOnlyOffsetRegular);else if(/none/i.test(this.nodeLocationTracking))this.setNodeLocationFromToken=()=>{},this.setNodeLocationFromNode=()=>{},this.cstPostRule=()=>{},this.setInitialNodeLocation=()=>{};else throw Error(`Invalid <nodeLocationTracking> config option: "${e.nodeLocationTracking}"`)}setInitialNodeLocationOnlyOffsetRecovery(e){e.location={startOffset:NaN,endOffset:NaN}}setInitialNodeLocationOnlyOffsetRegular(e){e.location={startOffset:this.LA_FAST(1).startOffset,endOffset:NaN}}setInitialNodeLocationFullRecovery(e){e.location={startOffset:NaN,startLine:NaN,startColumn:NaN,endOffset:NaN,endLine:NaN,endColumn:NaN}}setInitialNodeLocationFullRegular(e){let r=this.LA_FAST(1);e.location={startOffset:r.startOffset,startLine:r.startLine,startColumn:r.startColumn,endOffset:NaN,endLine:NaN,endColumn:NaN}}cstInvocationStateUpdate(e){let r={name:e,children:Object.create(null)};this.setInitialNodeLocation(r),this.CST_STACK.push(r)}cstFinallyStateUpdate(){this.CST_STACK.pop()}cstPostRuleFull(e){let r=this.LA(0),n=e.location;n.startOffset<=r.startOffset?(n.endOffset=r.endOffset,n.endLine=r.endLine,n.endColumn=r.endColumn):(n.startOffset=NaN,n.startLine=NaN,n.startColumn=NaN)}cstPostRuleOnlyOffset(e){let r=this.LA(0),n=e.location;n.startOffset<=r.startOffset?n.endOffset=r.endOffset:n.startOffset=NaN}cstPostTerminal(e,r){let n=this.CST_STACK[this.CST_STACK.length-1];_v(n,r,e),this.setNodeLocationFromToken(n.location,r)}cstPostNonTerminal(e,r){let n=this.CST_STACK[this.CST_STACK.length-1];Ev(n,r,e),this.setNodeLocationFromNode(n.location,e.location)}getBaseCstVisitorConstructor(){if(this.baseCstVisitorConstructor===void 0){let e=vv(this.className,Object.keys(this.gastProductionsCache));return this.baseCstVisitorConstructor=e,e}return this.baseCstVisitorConstructor}getBaseCstVisitorConstructorWithDefaults(){if(this.baseCstVisitorWithDefaultsConstructor===void 0){let e=Rv(this.className,Object.keys(this.gastProductionsCache),this.getBaseCstVisitorConstructor());return this.baseCstVisitorWithDefaultsConstructor=e,e}return this.baseCstVisitorWithDefaultsConstructor}getPreviousExplicitRuleShortName(){return this.RULE_STACK[this.RULE_STACK_IDX-1]}getLastExplicitRuleOccurrenceIndex(){return this.RULE_OCCURRENCE_STACK[this.RULE_OCCURRENCE_STACK_IDX]}};var id=class{initLexerAdapter(){this.tokVector=[],this.tokVectorLength=0,this.currIdx=-1}set input(e){if(this.selfAnalysisDone!==!0)throw Error("Missing <performSelfAnalysis> invocation at the end of the Parser's constructor.");this.reset(),this.tokVector=e,this.tokVectorLength=e.length}get input(){return this.tokVector}SKIP_TOKEN(){return this.currIdx<=this.tokVectorLength-2?(this.consumeToken(),this.LA_FAST(1)):Hn}LA_FAST(e){let r=this.currIdx+e;return this.tokVector[r]}LA(e){let r=this.currIdx+e;return r<0||this.tokVectorLength<=r?Hn:this.tokVector[r]}consumeToken(){this.currIdx++}exportLexerState(){return this.currIdx}importLexerState(e){this.currIdx=e}resetLexerState(){this.currIdx=-1}moveToTerminatedState(){this.currIdx=this.tokVectorLength-1}getLexerPosition(){return this.exportLexerState()}};var od=class{ACTION(e){return e.call(this)}consume(e,r,n){return this.consumeInternal(r,e,n)}subrule(e,r,n){return this.subruleInternal(r,e,n)}option(e,r){return this.optionInternal(r,e)}or(e,r){return this.orInternal(r,e)}many(e,r){return this.manyInternal(e,r)}atLeastOne(e,r){return this.atLeastOneInternal(e,r)}CONSUME(e,r){return this.consumeInternal(e,0,r)}CONSUME1(e,r){return this.consumeInternal(e,1,r)}CONSUME2(e,r){return this.consumeInternal(e,2,r)}CONSUME3(e,r){return this.consumeInternal(e,3,r)}CONSUME4(e,r){return this.consumeInternal(e,4,r)}CONSUME5(e,r){return this.consumeInternal(e,5,r)}CONSUME6(e,r){return this.consumeInternal(e,6,r)}CONSUME7(e,r){return this.consumeInternal(e,7,r)}CONSUME8(e,r){return this.consumeInternal(e,8,r)}CONSUME9(e,r){return this.consumeInternal(e,9,r)}SUBRULE(e,r){return this.subruleInternal(e,0,r)}SUBRULE1(e,r){return this.subruleInternal(e,1,r)}SUBRULE2(e,r){return this.subruleInternal(e,2,r)}SUBRULE3(e,r){return this.subruleInternal(e,3,r)}SUBRULE4(e,r){return this.subruleInternal(e,4,r)}SUBRULE5(e,r){return this.subruleInternal(e,5,r)}SUBRULE6(e,r){return this.subruleInternal(e,6,r)}SUBRULE7(e,r){return this.subruleInternal(e,7,r)}SUBRULE8(e,r){return this.subruleInternal(e,8,r)}SUBRULE9(e,r){return this.subruleInternal(e,9,r)}OPTION(e){return this.optionInternal(e,0)}OPTION1(e){return this.optionInternal(e,1)}OPTION2(e){return this.optionInternal(e,2)}OPTION3(e){return this.optionInternal(e,3)}OPTION4(e){return this.optionInternal(e,4)}OPTION5(e){return this.optionInternal(e,5)}OPTION6(e){return this.optionInternal(e,6)}OPTION7(e){return this.optionInternal(e,7)}OPTION8(e){return this.optionInternal(e,8)}OPTION9(e){return this.optionInternal(e,9)}OR(e){return this.orInternal(e,0)}OR1(e){return this.orInternal(e,1)}OR2(e){return this.orInternal(e,2)}OR3(e){return this.orInternal(e,3)}OR4(e){return this.orInternal(e,4)}OR5(e){return this.orInternal(e,5)}OR6(e){return this.orInternal(e,6)}OR7(e){return this.orInternal(e,7)}OR8(e){return this.orInternal(e,8)}OR9(e){return this.orInternal(e,9)}MANY(e){this.manyInternal(0,e)}MANY1(e){this.manyInternal(1,e)}MANY2(e){this.manyInternal(2,e)}MANY3(e){this.manyInternal(3,e)}MANY4(e){this.manyInternal(4,e)}MANY5(e){this.manyInternal(5,e)}MANY6(e){this.manyInternal(6,e)}MANY7(e){this.manyInternal(7,e)}MANY8(e){this.manyInternal(8,e)}MANY9(e){this.manyInternal(9,e)}MANY_SEP(e){this.manySepFirstInternal(0,e)}MANY_SEP1(e){this.manySepFirstInternal(1,e)}MANY_SEP2(e){this.manySepFirstInternal(2,e)}MANY_SEP3(e){this.manySepFirstInternal(3,e)}MANY_SEP4(e){this.manySepFirstInternal(4,e)}MANY_SEP5(e){this.manySepFirstInternal(5,e)}MANY_SEP6(e){this.manySepFirstInternal(6,e)}MANY_SEP7(e){this.manySepFirstInternal(7,e)}MANY_SEP8(e){this.manySepFirstInternal(8,e)}MANY_SEP9(e){this.manySepFirstInternal(9,e)}AT_LEAST_ONE(e){this.atLeastOneInternal(0,e)}AT_LEAST_ONE1(e){return this.atLeastOneInternal(1,e)}AT_LEAST_ONE2(e){this.atLeastOneInternal(2,e)}AT_LEAST_ONE3(e){this.atLeastOneInternal(3,e)}AT_LEAST_ONE4(e){this.atLeastOneInternal(4,e)}AT_LEAST_ONE5(e){this.atLeastOneInternal(5,e)}AT_LEAST_ONE6(e){this.atLeastOneInternal(6,e)}AT_LEAST_ONE7(e){this.atLeastOneInternal(7,e)}AT_LEAST_ONE8(e){this.atLeastOneInternal(8,e)}AT_LEAST_ONE9(e){this.atLeastOneInternal(9,e)}AT_LEAST_ONE_SEP(e){this.atLeastOneSepFirstInternal(0,e)}AT_LEAST_ONE_SEP1(e){this.atLeastOneSepFirstInternal(1,e)}AT_LEAST_ONE_SEP2(e){this.atLeastOneSepFirstInternal(2,e)}AT_LEAST_ONE_SEP3(e){this.atLeastOneSepFirstInternal(3,e)}AT_LEAST_ONE_SEP4(e){this.atLeastOneSepFirstInternal(4,e)}AT_LEAST_ONE_SEP5(e){this.atLeastOneSepFirstInternal(5,e)}AT_LEAST_ONE_SEP6(e){this.atLeastOneSepFirstInternal(6,e)}AT_LEAST_ONE_SEP7(e){this.atLeastOneSepFirstInternal(7,e)}AT_LEAST_ONE_SEP8(e){this.atLeastOneSepFirstInternal(8,e)}AT_LEAST_ONE_SEP9(e){this.atLeastOneSepFirstInternal(9,e)}RULE(e,r,n=Fs){if(this.definedRulesNames.includes(e)){let s={message:Xr.buildDuplicateRuleNameError({topLevelRule:e,grammarName:this.className}),type:It.DUPLICATE_RULE_NAME,ruleName:e};this.definitionErrors.push(s)}this.definedRulesNames.push(e);let i=this.defineRule(e,r,n);return this[e]=i,i}OVERRIDE_RULE(e,r,n=Fs){let i=lv(e,this.definedRulesNames,this.className);this.definitionErrors=this.definitionErrors.concat(i);let o=this.defineRule(e,r,n);return this[e]=o,o}BACKTRACK(e,r){var n;let i=(n=e.coreRule)!==null&&n!==void 0?n:e;return function(){this.isBackTrackingStack.push(1);let o=this.saveRecogState();try{return i.apply(this,r),!0}catch(s){if(yi(s))return!1;throw s}finally{this.reloadRecogState(o),this.isBackTrackingStack.pop()}}}getGAstProductions(){return this.gastProductionsCache}getSerializedGastProductions(){return Df(Object.values(this.gastProductionsCache))}};var sd=class{initRecognizerEngine(e,r){if(this.className=this.constructor.name,this.shortRuleNameToFull={},this.fullRuleNameToShort={},this.ruleShortNameIdx=256,this.tokenMatcher=Ps,this.subruleIdx=0,this.currRuleShortName=0,this.definedRulesNames=[],this.tokensMap={},this.isBackTrackingStack=[],this.RULE_STACK=[],this.RULE_STACK_IDX=-1,this.RULE_OCCURRENCE_STACK=[],this.RULE_OCCURRENCE_STACK_IDX=-1,this.gastProductionsCache={},Object.hasOwn(r,"serializedGrammar"))throw Error(`The Parser's configuration can no longer contain a <serializedGrammar> property.
|
|
129
129
|
See: https://chevrotain.io/docs/changes/BREAKING_CHANGES.html#_6-0-0
|
|
130
130
|
For Further details.`);if(Array.isArray(e)){if(e.length===0)throw Error(`A Token Vocabulary cannot be empty.
|
|
131
131
|
Note that the first argument for the parser constructor
|
|
132
132
|
is no longer a Token vector (since v4.0).`);if(typeof e[0].startOffset=="number")throw Error(`The Parser constructor no longer accepts a token vector as the first argument.
|
|
133
133
|
See: https://chevrotain.io/docs/changes/BREAKING_CHANGES.html#_4-0-0
|
|
134
|
-
For Further details.`)}if(Array.isArray(e))this.tokensMap=e.reduce((o,s)=>(o[s.name]=s,o),{});else if(Object.hasOwn(e,"modes")&&Object.values(e.modes).flat().every(
|
|
135
|
-
Make sure that all grammar rule definitions are done before 'performSelfAnalysis' is called.`);let i=Object.hasOwn(n,"resyncEnabled")?n.resyncEnabled:
|
|
136
|
-
See: https://chevrotain.io/docs/guide/internals.html#grammar-recording for details`,-1,-1,-1,-1,-1,-1);Object.freeze(
|
|
137
|
-
See: https://chevrotain.io/docs/guide/internals.html#grammar-recording for details`,children:{}},
|
|
134
|
+
For Further details.`)}if(Array.isArray(e))this.tokensMap=e.reduce((o,s)=>(o[s.name]=s,o),{});else if(Object.hasOwn(e,"modes")&&Object.values(e.modes).flat().every(B0)){let o=Object.values(e.modes).flat(),s=[...new Set(o)];this.tokensMap=s.reduce((a,c)=>(a[c.name]=c,a),{})}else if(typeof e=="object"&&e!==null)this.tokensMap=Object.assign({},e);else throw new Error("<tokensDictionary> argument must be An Array of Token constructors, A dictionary of Token constructors or an IMultiModeLexerDefinition");this.tokensMap.EOF=Yt;let i=(Object.hasOwn(e,"modes")?Object.values(e.modes).flat():Object.values(e)).every(o=>{var s;return((s=o.categoryMatches)===null||s===void 0?void 0:s.length)==0});this.tokenMatcher=i?Ps:Mn,Fn(Object.values(this.tokensMap))}defineRule(e,r,n){if(this.selfAnalysisDone)throw Error(`Grammar rule <${e}> may not be defined after the 'performSelfAnalysis' method has been called'
|
|
135
|
+
Make sure that all grammar rule definitions are done before 'performSelfAnalysis' is called.`);let i=Object.hasOwn(n,"resyncEnabled")?n.resyncEnabled:Fs.resyncEnabled,o=Object.hasOwn(n,"recoveryValueFunc")?n.recoveryValueFunc:Fs.recoveryValueFunc,s=this.ruleShortNameIdx<<12;this.ruleShortNameIdx++,this.shortRuleNameToFull[s]=e,this.fullRuleNameToShort[e]=s;let a;return this.outputCst===!0?a=function(...f){try{this.ruleInvocationStateUpdate(s,e,this.subruleIdx),r.apply(this,f);let d=this.CST_STACK[this.CST_STACK.length-1];return this.cstPostRule(d),d}catch(d){return this.invokeRuleCatch(d,i,o)}finally{this.ruleFinallyStateUpdate()}}:a=function(...f){try{return this.ruleInvocationStateUpdate(s,e,this.subruleIdx),r.apply(this,f)}catch(d){return this.invokeRuleCatch(d,i,o)}finally{this.ruleFinallyStateUpdate()}},Object.assign(function(...f){this.onBeforeParse(e);try{return a.apply(this,f)}finally{this.onAfterParse(e)}},{ruleName:e,originalGrammarAction:r,coreRule:a})}invokeRuleCatch(e,r,n){let i=this.RULE_STACK_IDX===0,o=r&&!this.isBackTracking()&&this.recoveryEnabled;if(yi(e)){let s=e;if(o){let a=this.findReSyncTokenType();if(this.isInCurrentRuleReSyncSet(a))if(s.resyncedTokens=this.reSyncTo(a),this.outputCst){let c=this.CST_STACK[this.CST_STACK.length-1];return c.recoveredNode=!0,c}else return n(e);else{if(this.outputCst){let c=this.CST_STACK[this.CST_STACK.length-1];c.recoveredNode=!0,s.partialCstResult=c}throw s}}else{if(i)return this.moveToTerminatedState(),n(e);throw s}}else throw e}optionInternal(e,r){let n=this.getKeyForAutomaticLookahead(512,r);return this.optionInternalLogic(e,r,n)}optionInternalLogic(e,r,n){let i=this.getLaFuncFromCache(n),o;if(typeof e!="function"){o=e.DEF;let s=e.GATE;if(s!==void 0){let a=i;i=()=>s.call(this)&&a.call(this)}}else o=e;if(i.call(this)===!0)return o.call(this)}atLeastOneInternal(e,r){let n=this.getKeyForAutomaticLookahead(1024,e);return this.atLeastOneInternalLogic(e,r,n)}atLeastOneInternalLogic(e,r,n){let i=this.getLaFuncFromCache(n),o;if(typeof r!="function"){o=r.DEF;let s=r.GATE;if(s!==void 0){let a=i;i=()=>s.call(this)&&a.call(this)}}else o=r;if(i.call(this)===!0){let s=this.doSingleRepetition(o);for(;i.call(this)===!0&&s===!0;)s=this.doSingleRepetition(o)}else throw this.raiseEarlyExitException(e,lt.REPETITION_MANDATORY,r.ERR_MSG);this.attemptInRepetitionRecovery(this.atLeastOneInternal,[e,r],i,1024,e,jf)}atLeastOneSepFirstInternal(e,r){let n=this.getKeyForAutomaticLookahead(1536,e);this.atLeastOneSepFirstInternalLogic(e,r,n)}atLeastOneSepFirstInternalLogic(e,r,n){let i=r.DEF,o=r.SEP;if(this.getLaFuncFromCache(n).call(this)===!0){i.call(this);let a=()=>this.tokenMatcher(this.LA_FAST(1),o);for(;this.tokenMatcher(this.LA_FAST(1),o)===!0;)this.CONSUME(o),i.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,o,a,i,Yc],a,1536,e,Yc)}else throw this.raiseEarlyExitException(e,lt.REPETITION_MANDATORY_WITH_SEPARATOR,r.ERR_MSG)}manyInternal(e,r){let n=this.getKeyForAutomaticLookahead(768,e);return this.manyInternalLogic(e,r,n)}manyInternalLogic(e,r,n){let i=this.getLaFuncFromCache(n),o;if(typeof r!="function"){o=r.DEF;let a=r.GATE;if(a!==void 0){let c=i;i=()=>a.call(this)&&c.call(this)}}else o=r;let s=!0;for(;i.call(this)===!0&&s===!0;)s=this.doSingleRepetition(o);this.attemptInRepetitionRecovery(this.manyInternal,[e,r],i,768,e,Hf,s)}manySepFirstInternal(e,r){let n=this.getKeyForAutomaticLookahead(1280,e);this.manySepFirstInternalLogic(e,r,n)}manySepFirstInternalLogic(e,r,n){let i=r.DEF,o=r.SEP;if(this.getLaFuncFromCache(n).call(this)===!0){i.call(this);let a=()=>this.tokenMatcher(this.LA_FAST(1),o);for(;this.tokenMatcher(this.LA_FAST(1),o)===!0;)this.CONSUME(o),i.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,o,a,i,Vc],a,1280,e,Vc)}}repetitionSepSecondInternal(e,r,n,i,o){for(;n();)this.CONSUME(r),i.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,r,n,i,o],n,1536,e,o)}doSingleRepetition(e){let r=this.getLexerPosition();return e.call(this),this.getLexerPosition()>r}orInternal(e,r){let n=this.getKeyForAutomaticLookahead(256,r),i=Array.isArray(e)?e:e.DEF,s=this.getLaFuncFromCache(n).call(this,i);if(s!==void 0)return i[s].ALT.call(this);this.raiseNoAltException(r,e.ERR_MSG)}ruleFinallyStateUpdate(){this.RULE_STACK_IDX--,this.RULE_OCCURRENCE_STACK_IDX--,this.RULE_STACK_IDX>=0&&(this.currRuleShortName=this.RULE_STACK[this.RULE_STACK_IDX]),this.cstFinallyStateUpdate()}subruleInternal(e,r,n){let i;try{let o=n!==void 0?n.ARGS:void 0;return this.subruleIdx=r,i=e.coreRule.apply(this,o),this.cstPostNonTerminal(i,n!==void 0&&n.LABEL!==void 0?n.LABEL:e.ruleName),i}catch(o){throw this.subruleInternalError(o,n,e.ruleName)}}subruleInternalError(e,r,n){throw yi(e)&&e.partialCstResult!==void 0&&(this.cstPostNonTerminal(e.partialCstResult,r!==void 0&&r.LABEL!==void 0?r.LABEL:n),delete e.partialCstResult),e}consumeInternal(e,r,n){let i;try{let o=this.LA_FAST(1);this.tokenMatcher(o,e)===!0?(this.consumeToken(),i=o):this.consumeInternalError(e,o,n)}catch(o){i=this.consumeInternalRecovery(e,r,o)}return this.cstPostTerminal(n!==void 0&&n.LABEL!==void 0?n.LABEL:e.name,i),i}consumeInternalError(e,r,n){let i,o=this.LA(0);throw n!==void 0&&n.ERR_MSG?i=n.ERR_MSG:i=this.errorMessageProvider.buildMismatchTokenMessage({expected:e,actual:r,previous:o,ruleName:this.getCurrRuleFullName()}),this.SAVE_ERROR(new Ro(i,r,o))}consumeInternalRecovery(e,r,n){if(this.recoveryEnabled&&n.name==="MismatchedTokenException"&&!this.isBackTracking()){let i=this.getFollowsForInRuleRecovery(e,r);try{return this.tryInRuleRecovery(e,i)}catch(o){throw o.name===Ig?n:o}}else throw n}saveRecogState(){let e=this.errors,r=this.RULE_STACK.slice(0,this.RULE_STACK_IDX+1);return{errors:e,lexerState:this.exportLexerState(),RULE_STACK:r,CST_STACK:this.CST_STACK}}reloadRecogState(e){this.errors=e.errors,this.importLexerState(e.lexerState);let r=e.RULE_STACK;for(let n=0;n<r.length;n++)this.RULE_STACK[n]=r[n];this.RULE_STACK_IDX=r.length-1,this.RULE_STACK_IDX>=0&&(this.currRuleShortName=this.RULE_STACK[this.RULE_STACK_IDX])}ruleInvocationStateUpdate(e,r,n){this.RULE_OCCURRENCE_STACK[++this.RULE_OCCURRENCE_STACK_IDX]=n,this.RULE_STACK[++this.RULE_STACK_IDX]=e,this.currRuleShortName=e,this.cstInvocationStateUpdate(r)}isBackTracking(){return this.isBackTrackingStack.length!==0}getCurrRuleFullName(){let e=this.currRuleShortName;return this.shortRuleNameToFull[e]}shortRuleNameToFullName(e){return this.shortRuleNameToFull[e]}isAtEndOfInput(){return this.tokenMatcher(this.LA(1),Yt)}reset(){this.resetLexerState(),this.subruleIdx=0,this.currRuleShortName=0,this.isBackTrackingStack=[],this.errors=[],this.RULE_STACK_IDX=-1,this.RULE_OCCURRENCE_STACK_IDX=-1,this.CST_STACK=[]}onBeforeParse(e){for(let r=0;r<this.maxLookahead+1;r++)this.tokVector.push(Hn)}onAfterParse(e){if(this.isAtEndOfInput()===!1){let r=this.LA(1),n=this.errorMessageProvider.buildNotAllInputParsedMessage({firstRedundant:r,ruleName:this.getCurrRuleFullName()});this.SAVE_ERROR(new Qc(n,r))}for(;this.tokVector.at(-1)===Hn;)this.tokVector.pop()}};var ad=class{initErrorHandler(e){this._errors=[],this.errorMessageProvider=Object.hasOwn(e,"errorMessageProvider")?e.errorMessageProvider:Kt.errorMessageProvider}SAVE_ERROR(e){if(yi(e))return e.context={ruleStack:this.getHumanReadableRuleStack(),ruleOccurrenceStack:this.RULE_OCCURRENCE_STACK.slice(0,this.RULE_OCCURRENCE_STACK_IDX+1)},this._errors.push(e),e;throw Error("Trying to save an Error which is not a RecognitionException")}get errors(){return[...this._errors]}set errors(e){this._errors=e}raiseEarlyExitException(e,r,n){let i=this.getCurrRuleFullName(),o=this.getGAstProductions()[i],a=$s(e,o,r,this.maxLookahead)[0],c=[];for(let u=1;u<=this.maxLookahead;u++)c.push(this.LA(u));let l=this.errorMessageProvider.buildEarlyExitMessage({expectedIterationPaths:a,actual:c,previous:this.LA(0),customUserDescription:n,ruleName:i});throw this.SAVE_ERROR(new el(l,this.LA(1),this.LA(0)))}raiseNoAltException(e,r){let n=this.getCurrRuleFullName(),i=this.getGAstProductions()[n],o=Ds(e,i,this.maxLookahead),s=[];for(let l=1;l<=this.maxLookahead;l++)s.push(this.LA(l));let a=this.LA(0),c=this.errorMessageProvider.buildNoViableAltMessage({expectedPathsPerAlt:o,actual:s,previous:a,customUserDescription:r,ruleName:this.getCurrRuleFullName()});throw this.SAVE_ERROR(new Jc(c,this.LA(1),a))}};var ud={description:"This Object indicates the Parser is during Recording Phase"};Object.freeze(ud);var bv=!0,wv=Math.pow(2,8)-1,Sv=gi({name:"RECORDING_PHASE_TOKEN",pattern:ct.NA});Fn([Sv]);var Iv=Bn(Sv,`This IToken indicates the Parser is in Recording Phase
|
|
136
|
+
See: https://chevrotain.io/docs/guide/internals.html#grammar-recording for details`,-1,-1,-1,-1,-1,-1);Object.freeze(Iv);var vL={name:`This CSTNode indicates the Parser is in Recording Phase
|
|
137
|
+
See: https://chevrotain.io/docs/guide/internals.html#grammar-recording for details`,children:{}},cd=class{initGastRecorder(e){this.recordingProdStack=[],this.RECORDING_PHASE=!1}enableRecording(){this.RECORDING_PHASE=!0,this.TRACE_INIT("Enable Recording",()=>{for(let e=0;e<10;e++){let r=e>0?e:"";this[`CONSUME${r}`]=function(n,i){return this.consumeInternalRecord(n,e,i)},this[`SUBRULE${r}`]=function(n,i){return this.subruleInternalRecord(n,e,i)},this[`OPTION${r}`]=function(n){return this.optionInternalRecord(n,e)},this[`OR${r}`]=function(n){return this.orInternalRecord(n,e)},this[`MANY${r}`]=function(n){this.manyInternalRecord(e,n)},this[`MANY_SEP${r}`]=function(n){this.manySepFirstInternalRecord(e,n)},this[`AT_LEAST_ONE${r}`]=function(n){this.atLeastOneInternalRecord(e,n)},this[`AT_LEAST_ONE_SEP${r}`]=function(n){this.atLeastOneSepFirstInternalRecord(e,n)}}this.consume=function(e,r,n){return this.consumeInternalRecord(r,e,n)},this.subrule=function(e,r,n){return this.subruleInternalRecord(r,e,n)},this.option=function(e,r){return this.optionInternalRecord(r,e)},this.or=function(e,r){return this.orInternalRecord(r,e)},this.many=function(e,r){this.manyInternalRecord(e,r)},this.atLeastOne=function(e,r){this.atLeastOneInternalRecord(e,r)},this.ACTION=this.ACTION_RECORD,this.BACKTRACK=this.BACKTRACK_RECORD,this.LA=this.LA_RECORD})}disableRecording(){this.RECORDING_PHASE=!1,this.TRACE_INIT("Deleting Recording methods",()=>{let e=this;for(let r=0;r<10;r++){let n=r>0?r:"";delete e[`CONSUME${n}`],delete e[`SUBRULE${n}`],delete e[`OPTION${n}`],delete e[`OR${n}`],delete e[`MANY${n}`],delete e[`MANY_SEP${n}`],delete e[`AT_LEAST_ONE${n}`],delete e[`AT_LEAST_ONE_SEP${n}`]}delete e.consume,delete e.subrule,delete e.option,delete e.or,delete e.many,delete e.atLeastOne,delete e.ACTION,delete e.BACKTRACK,delete e.LA})}ACTION_RECORD(e){}BACKTRACK_RECORD(e,r){return()=>!0}LA_RECORD(e){return Hn}topLevelRuleRecord(e,r){try{let n=new Wt({definition:[],name:e});return n.name=e,this.recordingProdStack.push(n),r.call(this),this.recordingProdStack.pop(),n}catch(n){if(n.KNOWN_RECORDER_ERROR!==!0)try{n.message=n.message+`
|
|
138
138
|
This error was thrown during the "grammar recording phase" For more info see:
|
|
139
|
-
https://chevrotain.io/docs/guide/internals.html#grammar-recording`}catch{throw n}throw n}}optionInternalRecord(e,r){return
|
|
140
|
-
inside top level rule: <${this.recordingProdStack[0].name}>`);throw a.KNOWN_RECORDER_ERROR=!0,a}let i=this.recordingProdStack.at(-1),o=e.ruleName,s=new
|
|
141
|
-
inside top level rule: <${this.recordingProdStack[0].name}>`);throw s.KNOWN_RECORDER_ERROR=!0,s}let i=this.recordingProdStack.at(-1),o=new
|
|
142
|
-
Idx value must be a none negative value smaller than ${
|
|
139
|
+
https://chevrotain.io/docs/guide/internals.html#grammar-recording`}catch{throw n}throw n}}optionInternalRecord(e,r){return rl.call(this,Ge,e,r)}atLeastOneInternalRecord(e,r){rl.call(this,et,r,e)}atLeastOneSepFirstInternalRecord(e,r){rl.call(this,tt,r,e,bv)}manyInternalRecord(e,r){rl.call(this,Re,r,e)}manySepFirstInternalRecord(e,r){rl.call(this,Ve,r,e,bv)}orInternalRecord(e,r){return RL.call(this,e,r)}subruleInternalRecord(e,r,n){if(ld(r),!e||!Object.hasOwn(e,"ruleName")){let a=new Error(`<SUBRULE${Av(r)}> argument is invalid expecting a Parser method reference but got: <${JSON.stringify(e)}>
|
|
140
|
+
inside top level rule: <${this.recordingProdStack[0].name}>`);throw a.KNOWN_RECORDER_ERROR=!0,a}let i=this.recordingProdStack.at(-1),o=e.ruleName,s=new Be({idx:r,nonTerminalName:o,label:n?.LABEL,referencedRule:void 0});return i.definition.push(s),this.outputCst?vL:ud}consumeInternalRecord(e,r,n){if(ld(r),!yg(e)){let s=new Error(`<CONSUME${Av(r)}> argument is invalid expecting a TokenType reference but got: <${JSON.stringify(e)}>
|
|
141
|
+
inside top level rule: <${this.recordingProdStack[0].name}>`);throw s.KNOWN_RECORDER_ERROR=!0,s}let i=this.recordingProdStack.at(-1),o=new Te({idx:r,terminalType:e,label:n?.LABEL});return i.definition.push(o),Iv}};function rl(t,e,r,n=!1){ld(r);let i=this.recordingProdStack.at(-1),o=typeof e=="function"?e:e.DEF,s=new t({definition:[],idx:r});return n&&(s.separator=e.SEP),Object.hasOwn(e,"MAX_LOOKAHEAD")&&(s.maxLookahead=e.MAX_LOOKAHEAD),this.recordingProdStack.push(s),o.call(this),i.definition.push(s),this.recordingProdStack.pop(),ud}function RL(t,e){ld(e);let r=this.recordingProdStack.at(-1),n=Array.isArray(t)===!1,i=n===!1?t:t.DEF,o=new Ye({definition:[],idx:e,ignoreAmbiguities:n&&t.IGNORE_AMBIGUITIES===!0});Object.hasOwn(t,"MAX_LOOKAHEAD")&&(o.maxLookahead=t.MAX_LOOKAHEAD);let s=i.some(a=>typeof a.GATE=="function");return o.hasPredicates=s,r.definition.push(o),i.forEach(a=>{let c=new Qe({definition:[]});o.definition.push(c),Object.hasOwn(a,"IGNORE_AMBIGUITIES")?c.ignoreAmbiguities=a.IGNORE_AMBIGUITIES:Object.hasOwn(a,"GATE")&&(c.ignoreAmbiguities=!0),this.recordingProdStack.push(c),a.ALT.call(this),this.recordingProdStack.pop()}),ud}function Av(t){return t===0?"":`${t}`}function ld(t){if(t<0||t>wv){let e=new Error(`Invalid DSL Method idx value: <${t}>
|
|
142
|
+
Idx value must be a none negative value smaller than ${wv+1}`);throw e.KNOWN_RECORDER_ERROR=!0,e}}var fd=class{initPerformanceTracer(e){if(Object.hasOwn(e,"traceInitPerf")){let r=e.traceInitPerf,n=typeof r=="number";this.traceInitMaxIdent=n?r:1/0,this.traceInitPerf=n?r>0:r}else this.traceInitMaxIdent=0,this.traceInitPerf=Kt.traceInitPerf;this.traceInitIndent=-1}TRACE_INIT(e,r){if(this.traceInitPerf===!0){this.traceInitIndent++;let n=new Array(this.traceInitIndent+1).join(" ");this.traceInitIndent<this.traceInitMaxIdent&&console.log(`${n}--> <${e}>`);let{time:i,value:o}=jc(r),s=i>10?console.warn:console.log;return this.traceInitIndent<this.traceInitMaxIdent&&s(`${n}<-- <${e}> time: ${i}ms`),this.traceInitIndent--,o}else return r()}};function kv(t,e){e.forEach(r=>{let n=r.prototype;Object.getOwnPropertyNames(n).forEach(i=>{if(i==="constructor")return;let o=Object.getOwnPropertyDescriptor(n,i);o&&(o.get||o.set)?Object.defineProperty(t.prototype,i,o):t.prototype[i]=r.prototype[i]})})}var Hn=Bn(Yt,"",NaN,NaN,NaN,NaN,NaN,NaN);Object.freeze(Hn);var Kt=Object.freeze({recoveryEnabled:!1,maxLookahead:3,dynamicTokensEnabled:!1,outputCst:!0,errorMessageProvider:Gn,nodeLocationTracking:"none",traceInitPerf:!1,skipValidations:!1}),Fs=Object.freeze({recoveryValueFunc:()=>{},resyncEnabled:!0}),It;(function(t){t[t.INVALID_RULE_NAME=0]="INVALID_RULE_NAME",t[t.DUPLICATE_RULE_NAME=1]="DUPLICATE_RULE_NAME",t[t.INVALID_RULE_OVERRIDE=2]="INVALID_RULE_OVERRIDE",t[t.DUPLICATE_PRODUCTIONS=3]="DUPLICATE_PRODUCTIONS",t[t.UNRESOLVED_SUBRULE_REF=4]="UNRESOLVED_SUBRULE_REF",t[t.LEFT_RECURSION=5]="LEFT_RECURSION",t[t.NONE_LAST_EMPTY_ALT=6]="NONE_LAST_EMPTY_ALT",t[t.AMBIGUOUS_ALTS=7]="AMBIGUOUS_ALTS",t[t.CONFLICT_TOKENS_RULES_NAMESPACE=8]="CONFLICT_TOKENS_RULES_NAMESPACE",t[t.INVALID_TOKEN_NAME=9]="INVALID_TOKEN_NAME",t[t.NO_NON_EMPTY_LOOKAHEAD=10]="NO_NON_EMPTY_LOOKAHEAD",t[t.AMBIGUOUS_PREFIX_ALTS=11]="AMBIGUOUS_PREFIX_ALTS",t[t.TOO_MANY_ALTS=12]="TOO_MANY_ALTS",t[t.CUSTOM_LOOKAHEAD_VALIDATION=13]="CUSTOM_LOOKAHEAD_VALIDATION"})(It||(It={}));function dd(t=void 0){return function(){return t}}var nl=class t{static performSelfAnalysis(e){throw Error("The **static** `performSelfAnalysis` method has been deprecated. \nUse the **instance** method with the same name instead.")}performSelfAnalysis(){this.TRACE_INIT("performSelfAnalysis",()=>{let e;this.selfAnalysisDone=!0;let r=this.className;this.TRACE_INIT("toFastProps",()=>{zc(this)}),this.TRACE_INIT("Grammar Recording",()=>{try{this.enableRecording(),this.definedRulesNames.forEach(i=>{let s=this[i].originalGrammarAction,a;this.TRACE_INIT(`${i} Rule`,()=>{a=this.topLevelRuleRecord(i,s)}),this.gastProductionsCache[i]=a})}finally{this.disableRecording()}});let n=[];if(this.TRACE_INIT("Grammar Resolving",()=>{n=pv({rules:Object.values(this.gastProductionsCache)}),this.definitionErrors=this.definitionErrors.concat(n)}),this.TRACE_INIT("Grammar Validations",()=>{if(n.length===0&&this.skipValidations===!1){let i=hv({rules:Object.values(this.gastProductionsCache),tokenTypes:Object.values(this.tokensMap),errMsgProvider:Xr,grammarName:r}),o=sv({lookaheadStrategy:this.lookaheadStrategy,rules:Object.values(this.gastProductionsCache),tokenTypes:Object.values(this.tokensMap),grammarName:r});this.definitionErrors=this.definitionErrors.concat(i,o)}}),this.definitionErrors.length===0&&(this.recoveryEnabled&&this.TRACE_INIT("computeAllProdsFollows",()=>{let i=E0(Object.values(this.gastProductionsCache));this.resyncFollows=i}),this.TRACE_INIT("ComputeLookaheadFunctions",()=>{var i,o;(o=(i=this.lookaheadStrategy).initialize)===null||o===void 0||o.call(i,{rules:Object.values(this.gastProductionsCache)}),this.preComputeLookaheadFunctions(Object.values(this.gastProductionsCache))})),!t.DEFER_DEFINITION_ERRORS_HANDLING&&this.definitionErrors.length!==0)throw e=this.definitionErrors.map(i=>i.message),new Error(`Parser Definition Errors detected:
|
|
143
143
|
${e.join(`
|
|
144
144
|
-------------------------------
|
|
145
145
|
`)}`)})}constructor(e,r){this.definitionErrors=[],this.selfAnalysisDone=!1;let n=this;if(n.initErrorHandler(r),n.initLexerAdapter(),n.initLooksAhead(r),n.initRecognizerEngine(e,r),n.initRecoverable(r),n.initTreeBuilder(r),n.initGastRecorder(r),n.initPerformanceTracer(r),Object.hasOwn(r,"ignoredIssues"))throw new Error(`The <ignoredIssues> IParserConfig property has been deprecated.
|
|
146
146
|
Please use the <IGNORE_AMBIGUITIES> flag on the relevant DSL method instead.
|
|
147
147
|
See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#IGNORING_AMBIGUITIES
|
|
148
|
-
For further details.`);this.skipValidations=Object.hasOwn(r,"skipValidations")?r.skipValidations:Kt.skipValidations}};Yc.DEFER_DEFINITION_ERRORS_HANDLING=!1;sb(Yc,[Mf,Bf,jf,Wf,zf,qf,Vf,Yf,Jf]);var Kc=class extends Yc{constructor(e,r=Kt){let n=Object.assign({},r);n.outputCst=!1,super(e,n)}};function MO(t,e){for(var r=-1,n=t==null?0:t.length,i=Array(n);++r<n;)i[r]=e(t[r],r,t);return i}var ed=MO;function FO(){this.__data__=[],this.size=0}var ab=FO;function UO(t,e){return t===e||t!==t&&e!==e}var td=UO;function BO(t,e){for(var r=t.length;r--;)if(td(t[r][0],e))return r;return-1}var ui=BO;var XO=Array.prototype,GO=XO.splice;function HO(t){var e=this.__data__,r=ui(e,t);if(r<0)return!1;var n=e.length-1;return r==n?e.pop():GO.call(e,r,1),--this.size,!0}var cb=HO;function jO(t){var e=this.__data__,r=ui(e,t);return r<0?void 0:e[r][1]}var lb=jO;function WO(t){return ui(this.__data__,t)>-1}var ub=WO;function qO(t,e){var r=this.__data__,n=ui(r,t);return n<0?(++this.size,r.push([t,e])):r[n][1]=e,this}var fb=qO;function Ns(t){var e=-1,r=t==null?0:t.length;for(this.clear();++e<r;){var n=t[e];this.set(n[0],n[1])}}Ns.prototype.clear=ab;Ns.prototype.delete=cb;Ns.prototype.get=lb;Ns.prototype.has=ub;Ns.prototype.set=fb;var fi=Ns;function zO(){this.__data__=new fi,this.size=0}var db=zO;function VO(t){var e=this.__data__,r=e.delete(t);return this.size=e.size,r}var pb=VO;function YO(t){return this.__data__.get(t)}var hb=YO;function KO(t){return this.__data__.has(t)}var mb=KO;var ZO=typeof global=="object"&&global&&global.Object===Object&&global,rd=ZO;var JO=typeof self=="object"&&self&&self.Object===Object&&self,QO=rd||JO||Function("return this")(),vt=QO;var eL=vt.Symbol,Zt=eL;var gb=Object.prototype,tL=gb.hasOwnProperty,rL=gb.toString,Zc=Zt?Zt.toStringTag:void 0;function nL(t){var e=tL.call(t,Zc),r=t[Zc];try{t[Zc]=void 0;var n=!0}catch{}var i=rL.call(t);return n&&(e?t[Zc]=r:delete t[Zc]),i}var yb=nL;var iL=Object.prototype,oL=iL.toString;function sL(t){return oL.call(t)}var xb=sL;var aL="[object Null]",cL="[object Undefined]",Tb=Zt?Zt.toStringTag:void 0;function lL(t){return t==null?t===void 0?cL:aL:Tb&&Tb in Object(t)?yb(t):xb(t)}var Br=lL;function uL(t){var e=typeof t;return t!=null&&(e=="object"||e=="function")}var Ps=uL;var fL="[object AsyncFunction]",dL="[object Function]",pL="[object GeneratorFunction]",hL="[object Proxy]";function mL(t){if(!Ps(t))return!1;var e=Br(t);return e==dL||e==pL||e==fL||e==hL}var nd=mL;var gL=vt["__core-js_shared__"],id=gL;var _b=(function(){var t=/[^.]+$/.exec(id&&id.keys&&id.keys.IE_PROTO||"");return t?"Symbol(src)_1."+t:""})();function yL(t){return!!_b&&_b in t}var Eb=yL;var xL=Function.prototype,TL=xL.toString;function _L(t){if(t!=null){try{return TL.call(t)}catch{}try{return t+""}catch{}}return""}var Un=_L;var EL=/[\\^$.*+?()[\]{}|]/g,RL=/^\[object .+?Constructor\]$/,bL=Function.prototype,wL=Object.prototype,AL=bL.toString,IL=wL.hasOwnProperty,SL=RegExp("^"+AL.call(IL).replace(EL,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function vL(t){if(!Ps(t)||Eb(t))return!1;var e=nd(t)?SL:RL;return e.test(Un(t))}var Rb=vL;function kL(t,e){return t?.[e]}var bb=kL;function NL(t,e){var r=bb(t,e);return Rb(r)?r:void 0}var Rr=NL;var PL=Rr(vt,"Map"),di=PL;var CL=Rr(Object,"create"),Bn=CL;function OL(){this.__data__=Bn?Bn(null):{},this.size=0}var wb=OL;function LL(t){var e=this.has(t)&&delete this.__data__[t];return this.size-=e?1:0,e}var Ab=LL;var DL="__lodash_hash_undefined__",$L=Object.prototype,ML=$L.hasOwnProperty;function FL(t){var e=this.__data__;if(Bn){var r=e[t];return r===DL?void 0:r}return ML.call(e,t)?e[t]:void 0}var Ib=FL;var UL=Object.prototype,BL=UL.hasOwnProperty;function XL(t){var e=this.__data__;return Bn?e[t]!==void 0:BL.call(e,t)}var Sb=XL;var GL="__lodash_hash_undefined__";function HL(t,e){var r=this.__data__;return this.size+=this.has(t)?0:1,r[t]=Bn&&e===void 0?GL:e,this}var vb=HL;function Cs(t){var e=-1,r=t==null?0:t.length;for(this.clear();++e<r;){var n=t[e];this.set(n[0],n[1])}}Cs.prototype.clear=wb;Cs.prototype.delete=Ab;Cs.prototype.get=Ib;Cs.prototype.has=Sb;Cs.prototype.set=vb;var Eg=Cs;function jL(){this.size=0,this.__data__={hash:new Eg,map:new(di||fi),string:new Eg}}var kb=jL;function WL(t){var e=typeof t;return e=="string"||e=="number"||e=="symbol"||e=="boolean"?t!=="__proto__":t===null}var Nb=WL;function qL(t,e){var r=t.__data__;return Nb(e)?r[typeof e=="string"?"string":"hash"]:r.map}var pi=qL;function zL(t){var e=pi(this,t).delete(t);return this.size-=e?1:0,e}var Pb=zL;function VL(t){return pi(this,t).get(t)}var Cb=VL;function YL(t){return pi(this,t).has(t)}var Ob=YL;function KL(t,e){var r=pi(this,t),n=r.size;return r.set(t,e),this.size+=r.size==n?0:1,this}var Lb=KL;function Os(t){var e=-1,r=t==null?0:t.length;for(this.clear();++e<r;){var n=t[e];this.set(n[0],n[1])}}Os.prototype.clear=kb;Os.prototype.delete=Pb;Os.prototype.get=Cb;Os.prototype.has=Ob;Os.prototype.set=Lb;var yo=Os;var ZL=200;function JL(t,e){var r=this.__data__;if(r instanceof fi){var n=r.__data__;if(!di||n.length<ZL-1)return n.push([t,e]),this.size=++r.size,this;r=this.__data__=new yo(n)}return r.set(t,e),this.size=r.size,this}var Db=JL;function Ls(t){var e=this.__data__=new fi(t);this.size=e.size}Ls.prototype.clear=db;Ls.prototype.delete=pb;Ls.prototype.get=hb;Ls.prototype.has=mb;Ls.prototype.set=Db;var Ds=Ls;var QL="__lodash_hash_undefined__";function eD(t){return this.__data__.set(t,QL),this}var $b=eD;function tD(t){return this.__data__.has(t)}var Mb=tD;function od(t){var e=-1,r=t==null?0:t.length;for(this.__data__=new yo;++e<r;)this.add(t[e])}od.prototype.add=od.prototype.push=$b;od.prototype.has=Mb;var sd=od;function rD(t,e){for(var r=-1,n=t==null?0:t.length;++r<n;)if(e(t[r],r,t))return!0;return!1}var Fb=rD;function nD(t,e){return t.has(e)}var ad=nD;var iD=1,oD=2;function sD(t,e,r,n,i,o){var s=r&iD,a=t.length,c=e.length;if(a!=c&&!(s&&c>a))return!1;var l=o.get(t),u=o.get(e);if(l&&u)return l==e&&u==t;var f=-1,d=!0,p=r&oD?new sd:void 0;for(o.set(t,e),o.set(e,t);++f<a;){var m=t[f],y=e[f];if(n)var R=s?n(y,m,f,e,t,o):n(m,y,f,t,e,o);if(R!==void 0){if(R)continue;d=!1;break}if(p){if(!Fb(e,function(T,E){if(!ad(p,E)&&(m===T||i(m,T,r,n,o)))return p.push(E)})){d=!1;break}}else if(!(m===y||i(m,y,r,n,o))){d=!1;break}}return o.delete(t),o.delete(e),d}var cd=sD;var aD=vt.Uint8Array,Rg=aD;function cD(t){var e=-1,r=Array(t.size);return t.forEach(function(n,i){r[++e]=[i,n]}),r}var Ub=cD;function lD(t){var e=-1,r=Array(t.size);return t.forEach(function(n){r[++e]=n}),r}var $s=lD;var uD=1,fD=2,dD="[object Boolean]",pD="[object Date]",hD="[object Error]",mD="[object Map]",gD="[object Number]",yD="[object RegExp]",xD="[object Set]",TD="[object String]",_D="[object Symbol]",ED="[object ArrayBuffer]",RD="[object DataView]",Bb=Zt?Zt.prototype:void 0,bg=Bb?Bb.valueOf:void 0;function bD(t,e,r,n,i,o,s){switch(r){case RD:if(t.byteLength!=e.byteLength||t.byteOffset!=e.byteOffset)return!1;t=t.buffer,e=e.buffer;case ED:return!(t.byteLength!=e.byteLength||!o(new Rg(t),new Rg(e)));case dD:case pD:case gD:return td(+t,+e);case hD:return t.name==e.name&&t.message==e.message;case yD:case TD:return t==e+"";case mD:var a=Ub;case xD:var c=n&uD;if(a||(a=$s),t.size!=e.size&&!c)return!1;var l=s.get(t);if(l)return l==e;n|=fD,s.set(t,e);var u=cd(a(t),a(e),n,i,o,s);return s.delete(t),u;case _D:if(bg)return bg.call(t)==bg.call(e)}return!1}var Xb=bD;function wD(t,e){for(var r=-1,n=e.length,i=t.length;++r<n;)t[i+r]=e[r];return t}var ld=wD;var AD=Array.isArray,Ge=AD;function ID(t,e,r){var n=e(t);return Ge(t)?n:ld(n,r(t))}var Gb=ID;function SD(t,e){for(var r=-1,n=t==null?0:t.length,i=0,o=[];++r<n;){var s=t[r];e(s,r,t)&&(o[i++]=s)}return o}var ud=SD;function vD(){return[]}var Hb=vD;var kD=Object.prototype,ND=kD.propertyIsEnumerable,jb=Object.getOwnPropertySymbols,PD=jb?function(t){return t==null?[]:(t=Object(t),ud(jb(t),function(e){return ND.call(t,e)}))}:Hb,Wb=PD;function CD(t,e){for(var r=-1,n=Array(t);++r<t;)n[r]=e(r);return n}var qb=CD;function OD(t){return t!=null&&typeof t=="object"}var Xr=OD;var LD="[object Arguments]";function DD(t){return Xr(t)&&Br(t)==LD}var wg=DD;var zb=Object.prototype,$D=zb.hasOwnProperty,MD=zb.propertyIsEnumerable,FD=wg((function(){return arguments})())?wg:function(t){return Xr(t)&&$D.call(t,"callee")&&!MD.call(t,"callee")},hi=FD;function UD(){return!1}var Vb=UD;var Zb=typeof exports=="object"&&exports&&!exports.nodeType&&exports,Yb=Zb&&typeof module=="object"&&module&&!module.nodeType&&module,BD=Yb&&Yb.exports===Zb,Kb=BD?vt.Buffer:void 0,XD=Kb?Kb.isBuffer:void 0,GD=XD||Vb,xo=GD;var HD=9007199254740991,jD=/^(?:0|[1-9]\d*)$/;function WD(t,e){var r=typeof t;return e=e??HD,!!e&&(r=="number"||r!="symbol"&&jD.test(t))&&t>-1&&t%1==0&&t<e}var fd=WD;var qD=9007199254740991;function zD(t){return typeof t=="number"&&t>-1&&t%1==0&&t<=qD}var Ms=zD;var VD="[object Arguments]",YD="[object Array]",KD="[object Boolean]",ZD="[object Date]",JD="[object Error]",QD="[object Function]",e$="[object Map]",t$="[object Number]",r$="[object Object]",n$="[object RegExp]",i$="[object Set]",o$="[object String]",s$="[object WeakMap]",a$="[object ArrayBuffer]",c$="[object DataView]",l$="[object Float32Array]",u$="[object Float64Array]",f$="[object Int8Array]",d$="[object Int16Array]",p$="[object Int32Array]",h$="[object Uint8Array]",m$="[object Uint8ClampedArray]",g$="[object Uint16Array]",y$="[object Uint32Array]",tt={};tt[l$]=tt[u$]=tt[f$]=tt[d$]=tt[p$]=tt[h$]=tt[m$]=tt[g$]=tt[y$]=!0;tt[VD]=tt[YD]=tt[a$]=tt[KD]=tt[c$]=tt[ZD]=tt[JD]=tt[QD]=tt[e$]=tt[t$]=tt[r$]=tt[n$]=tt[i$]=tt[o$]=tt[s$]=!1;function x$(t){return Xr(t)&&Ms(t.length)&&!!tt[Br(t)]}var Jb=x$;function T$(t){return function(e){return t(e)}}var Qb=T$;var ew=typeof exports=="object"&&exports&&!exports.nodeType&&exports,Jc=ew&&typeof module=="object"&&module&&!module.nodeType&&module,_$=Jc&&Jc.exports===ew,Ag=_$&&rd.process,E$=(function(){try{var t=Jc&&Jc.require&&Jc.require("util").types;return t||Ag&&Ag.binding&&Ag.binding("util")}catch{}})(),Ig=E$;var tw=Ig&&Ig.isTypedArray,R$=tw?Qb(tw):Jb,Fs=R$;var b$=Object.prototype,w$=b$.hasOwnProperty;function A$(t,e){var r=Ge(t),n=!r&&hi(t),i=!r&&!n&&xo(t),o=!r&&!n&&!i&&Fs(t),s=r||n||i||o,a=s?qb(t.length,String):[],c=a.length;for(var l in t)(e||w$.call(t,l))&&!(s&&(l=="length"||i&&(l=="offset"||l=="parent")||o&&(l=="buffer"||l=="byteLength"||l=="byteOffset")||fd(l,c)))&&a.push(l);return a}var rw=A$;var I$=Object.prototype;function S$(t){var e=t&&t.constructor,r=typeof e=="function"&&e.prototype||I$;return t===r}var dd=S$;function v$(t,e){return function(r){return t(e(r))}}var nw=v$;var k$=nw(Object.keys,Object),iw=k$;var N$=Object.prototype,P$=N$.hasOwnProperty;function C$(t){if(!dd(t))return iw(t);var e=[];for(var r in Object(t))P$.call(t,r)&&r!="constructor"&&e.push(r);return e}var pd=C$;function O$(t){return t!=null&&Ms(t.length)&&!nd(t)}var mi=O$;function L$(t){return mi(t)?rw(t):pd(t)}var Us=L$;function D$(t){return Gb(t,Us,Wb)}var Sg=D$;var $$=1,M$=Object.prototype,F$=M$.hasOwnProperty;function U$(t,e,r,n,i,o){var s=r&$$,a=Sg(t),c=a.length,l=Sg(e),u=l.length;if(c!=u&&!s)return!1;for(var f=c;f--;){var d=a[f];if(!(s?d in e:F$.call(e,d)))return!1}var p=o.get(t),m=o.get(e);if(p&&m)return p==e&&m==t;var y=!0;o.set(t,e),o.set(e,t);for(var R=s;++f<c;){d=a[f];var T=t[d],E=e[d];if(n)var _=s?n(E,T,d,e,t,o):n(T,E,d,t,e,o);if(!(_===void 0?T===E||i(T,E,r,n,o):_)){y=!1;break}R||(R=d=="constructor")}if(y&&!R){var k=t.constructor,D=e.constructor;k!=D&&"constructor"in t&&"constructor"in e&&!(typeof k=="function"&&k instanceof k&&typeof D=="function"&&D instanceof D)&&(y=!1)}return o.delete(t),o.delete(e),y}var ow=U$;var B$=Rr(vt,"DataView"),hd=B$;var X$=Rr(vt,"Promise"),md=X$;var G$=Rr(vt,"Set"),gi=G$;var H$=Rr(vt,"WeakMap"),gd=H$;var sw="[object Map]",j$="[object Object]",aw="[object Promise]",cw="[object Set]",lw="[object WeakMap]",uw="[object DataView]",W$=Un(hd),q$=Un(di),z$=Un(md),V$=Un(gi),Y$=Un(gd),To=Br;(hd&&To(new hd(new ArrayBuffer(1)))!=uw||di&&To(new di)!=sw||md&&To(md.resolve())!=aw||gi&&To(new gi)!=cw||gd&&To(new gd)!=lw)&&(To=function(t){var e=Br(t),r=e==j$?t.constructor:void 0,n=r?Un(r):"";if(n)switch(n){case W$:return uw;case q$:return sw;case z$:return aw;case V$:return cw;case Y$:return lw}return e});var Qc=To;var K$=1,fw="[object Arguments]",dw="[object Array]",yd="[object Object]",Z$=Object.prototype,pw=Z$.hasOwnProperty;function J$(t,e,r,n,i,o){var s=Ge(t),a=Ge(e),c=s?dw:Qc(t),l=a?dw:Qc(e);c=c==fw?yd:c,l=l==fw?yd:l;var u=c==yd,f=l==yd,d=c==l;if(d&&xo(t)){if(!xo(e))return!1;s=!0,u=!1}if(d&&!u)return o||(o=new Ds),s||Fs(t)?cd(t,e,r,n,i,o):Xb(t,e,c,r,n,i,o);if(!(r&K$)){var p=u&&pw.call(t,"__wrapped__"),m=f&&pw.call(e,"__wrapped__");if(p||m){var y=p?t.value():t,R=m?e.value():e;return o||(o=new Ds),i(y,R,r,n,o)}}return d?(o||(o=new Ds),ow(t,e,r,n,i,o)):!1}var hw=J$;function mw(t,e,r,n,i){return t===e?!0:t==null||e==null||!Xr(t)&&!Xr(e)?t!==t&&e!==e:hw(t,e,r,n,mw,i)}var xd=mw;var Q$=1,eM=2;function tM(t,e,r,n){var i=r.length,o=i,s=!n;if(t==null)return!o;for(t=Object(t);i--;){var a=r[i];if(s&&a[2]?a[1]!==t[a[0]]:!(a[0]in t))return!1}for(;++i<o;){a=r[i];var c=a[0],l=t[c],u=a[1];if(s&&a[2]){if(l===void 0&&!(c in t))return!1}else{var f=new Ds;if(n)var d=n(l,u,c,t,e,f);if(!(d===void 0?xd(u,l,Q$|eM,n,f):d))return!1}}return!0}var gw=tM;function rM(t){return t===t&&!Ps(t)}var Td=rM;function nM(t){for(var e=Us(t),r=e.length;r--;){var n=e[r],i=t[n];e[r]=[n,i,Td(i)]}return e}var yw=nM;function iM(t,e){return function(r){return r==null?!1:r[t]===e&&(e!==void 0||t in Object(r))}}var _d=iM;function oM(t){var e=yw(t);return e.length==1&&e[0][2]?_d(e[0][0],e[0][1]):function(r){return r===t||gw(r,t,e)}}var xw=oM;var sM="[object Symbol]";function aM(t){return typeof t=="symbol"||Xr(t)&&Br(t)==sM}var yi=aM;var cM=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,lM=/^\w*$/;function uM(t,e){if(Ge(t))return!1;var r=typeof t;return r=="number"||r=="symbol"||r=="boolean"||t==null||yi(t)?!0:lM.test(t)||!cM.test(t)||e!=null&&t in Object(e)}var Bs=uM;var fM="Expected a function";function vg(t,e){if(typeof t!="function"||e!=null&&typeof e!="function")throw new TypeError(fM);var r=function(){var n=arguments,i=e?e.apply(this,n):n[0],o=r.cache;if(o.has(i))return o.get(i);var s=t.apply(this,n);return r.cache=o.set(i,s)||o,s};return r.cache=new(vg.Cache||yo),r}vg.Cache=yo;var Tw=vg;var dM=500;function pM(t){var e=Tw(t,function(n){return r.size===dM&&r.clear(),n}),r=e.cache;return e}var _w=pM;var hM=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,mM=/\\(\\)?/g,gM=_w(function(t){var e=[];return t.charCodeAt(0)===46&&e.push(""),t.replace(hM,function(r,n,i,o){e.push(i?o.replace(mM,"$1"):n||r)}),e}),Ew=gM;var yM=1/0,Rw=Zt?Zt.prototype:void 0,bw=Rw?Rw.toString:void 0;function ww(t){if(typeof t=="string")return t;if(Ge(t))return ed(t,ww)+"";if(yi(t))return bw?bw.call(t):"";var e=t+"";return e=="0"&&1/t==-yM?"-0":e}var Aw=ww;function xM(t){return t==null?"":Aw(t)}var Iw=xM;function TM(t,e){return Ge(t)?t:Bs(t,e)?[t]:Ew(Iw(t))}var Ed=TM;var _M=1/0;function EM(t){if(typeof t=="string"||yi(t))return t;var e=t+"";return e=="0"&&1/t==-_M?"-0":e}var xi=EM;function RM(t,e){e=Ed(e,t);for(var r=0,n=e.length;t!=null&&r<n;)t=t[xi(e[r++])];return r&&r==n?t:void 0}var Rd=RM;function bM(t,e,r){var n=t==null?void 0:Rd(t,e);return n===void 0?r:n}var Sw=bM;function wM(t,e){return t!=null&&e in Object(t)}var vw=wM;function AM(t,e,r){e=Ed(e,t);for(var n=-1,i=e.length,o=!1;++n<i;){var s=xi(e[n]);if(!(o=t!=null&&r(t,s)))break;t=t[s]}return o||++n!=i?o:(i=t==null?0:t.length,!!i&&Ms(i)&&fd(s,i)&&(Ge(t)||hi(t)))}var kw=AM;function IM(t,e){return t!=null&&kw(t,e,vw)}var Nw=IM;var SM=1,vM=2;function kM(t,e){return Bs(t)&&Td(e)?_d(xi(t),e):function(r){var n=Sw(r,t);return n===void 0&&n===e?Nw(r,t):xd(e,n,SM|vM)}}var Pw=kM;function NM(t){return t}var Xs=NM;function PM(t){return function(e){return e?.[t]}}var Cw=PM;function CM(t){return function(e){return Rd(e,t)}}var Ow=CM;function OM(t){return Bs(t)?Cw(xi(t)):Ow(t)}var Lw=OM;function LM(t){return typeof t=="function"?t:t==null?Xs:typeof t=="object"?Ge(t)?Pw(t[0],t[1]):xw(t):Lw(t)}var Ti=LM;function DM(t){return function(e,r,n){for(var i=-1,o=Object(e),s=n(e),a=s.length;a--;){var c=s[t?a:++i];if(r(o[c],c,o)===!1)break}return e}}var Dw=DM;var $M=Dw(),$w=$M;function MM(t,e){return t&&$w(t,e,Us)}var Mw=MM;function FM(t,e){return function(r,n){if(r==null)return r;if(!mi(r))return t(r,n);for(var i=r.length,o=e?i:-1,s=Object(r);(e?o--:++o<i)&&n(s[o],o,s)!==!1;);return r}}var Fw=FM;var UM=Fw(Mw),_i=UM;function BM(t,e){var r=-1,n=mi(t)?Array(t.length):[];return _i(t,function(i,o,s){n[++r]=e(i,o,s)}),n}var Uw=BM;function XM(t,e){var r=Ge(t)?ed:Uw;return r(t,Ti(e,3))}var pr=XM;function GM(t,e){var r=[];return _i(t,function(n,i,o){e(n,i,o)&&r.push(n)}),r}var Bw=GM;function HM(t,e){var r=Ge(t)?ud:Bw;return r(t,Ti(e,3))}var Xw=HM;function _o(t,e,r){return`${t.name}_${e}_${r}`}var Ei=1,jM=2,Gw=4,Hw=5;var Eo=7,WM=8,qM=9,zM=10,VM=11,jw=12,el=class{constructor(e){this.target=e}isEpsilon(){return!1}},Gs=class extends el{constructor(e,r){super(e),this.tokenType=r}},tl=class extends el{constructor(e){super(e)}isEpsilon(){return!0}},Hs=class extends el{constructor(e,r,n){super(e),this.rule=r,this.followState=n}isEpsilon(){return!0}};function Ww(t){let e={decisionMap:{},decisionStates:[],ruleToStartState:new Map,ruleToStopState:new Map,states:[]};YM(e,t);let r=t.length;for(let n=0;n<r;n++){let i=t[n],o=Ro(e,i,i);o!==void 0&&s1(e,i,o)}return e}function YM(t,e){let r=e.length;for(let n=0;n<r;n++){let i=e[n],o=kt(t,i,void 0,{type:jM}),s=kt(t,i,void 0,{type:Eo});o.stop=s,t.ruleToStartState.set(i,o),t.ruleToStopState.set(i,s)}}function qw(t,e,r){return r instanceof ge?kg(t,e,r.terminalType,r):r instanceof Me?o1(t,e,r):r instanceof ze?e1(t,e,r):r instanceof Fe?t1(t,e,r):r instanceof be?KM(t,e,r):r instanceof qe?ZM(t,e,r):r instanceof Ze?JM(t,e,r):r instanceof Je?QM(t,e,r):Ro(t,e,r)}function KM(t,e,r){let n=kt(t,e,r,{type:Hw});Ri(t,n);let i=js(t,e,n,r,Ro(t,e,r));return Vw(t,e,r,i)}function ZM(t,e,r){let n=kt(t,e,r,{type:Hw});Ri(t,n);let i=js(t,e,n,r,Ro(t,e,r)),o=kg(t,e,r.separator,r);return Vw(t,e,r,i,o)}function JM(t,e,r){let n=kt(t,e,r,{type:Gw});Ri(t,n);let i=js(t,e,n,r,Ro(t,e,r));return zw(t,e,r,i)}function QM(t,e,r){let n=kt(t,e,r,{type:Gw});Ri(t,n);let i=js(t,e,n,r,Ro(t,e,r)),o=kg(t,e,r.separator,r);return zw(t,e,r,i,o)}function e1(t,e,r){let n=kt(t,e,r,{type:Ei});Ri(t,n);let i=pr(r.definition,s=>qw(t,e,s));return js(t,e,n,r,...i)}function t1(t,e,r){let n=kt(t,e,r,{type:Ei});Ri(t,n);let i=js(t,e,n,r,Ro(t,e,r));return r1(t,e,r,i)}function Ro(t,e,r){let n=Xw(pr(r.definition,i=>qw(t,e,i)),i=>i!==void 0);return n.length===1?n[0]:n.length===0?void 0:i1(t,n)}function zw(t,e,r,n,i){let o=n.left,s=n.right,a=kt(t,e,r,{type:VM});Ri(t,a);let c=kt(t,e,r,{type:jw});return o.loopback=a,c.loopback=a,t.decisionMap[_o(e,i?"RepetitionMandatoryWithSeparator":"RepetitionMandatory",r.idx)]=a,Rt(s,a),i===void 0?(Rt(a,o),Rt(a,c)):(Rt(a,c),Rt(a,i.left),Rt(i.right,o)),{left:o,right:c}}function Vw(t,e,r,n,i){let o=n.left,s=n.right,a=kt(t,e,r,{type:zM});Ri(t,a);let c=kt(t,e,r,{type:jw}),l=kt(t,e,r,{type:qM});return a.loopback=l,c.loopback=l,Rt(a,o),Rt(a,c),Rt(s,l),i!==void 0?(Rt(l,c),Rt(l,i.left),Rt(i.right,o)):Rt(l,a),t.decisionMap[_o(e,i?"RepetitionWithSeparator":"Repetition",r.idx)]=a,{left:a,right:c}}function r1(t,e,r,n){let i=n.left,o=n.right;return Rt(i,o),t.decisionMap[_o(e,"Option",r.idx)]=i,n}function Ri(t,e){return t.decisionStates.push(e),e.decision=t.decisionStates.length-1,e.decision}function js(t,e,r,n,...i){let o=kt(t,e,n,{type:WM,start:r});r.end=o;for(let a of i)a!==void 0?(Rt(r,a.left),Rt(a.right,o)):Rt(r,o);let s={left:r,right:o};return t.decisionMap[_o(e,n1(n),n.idx)]=r,s}function n1(t){if(t instanceof ze)return"Alternation";if(t instanceof Fe)return"Option";if(t instanceof be)return"Repetition";if(t instanceof qe)return"RepetitionWithSeparator";if(t instanceof Ze)return"RepetitionMandatory";if(t instanceof Je)return"RepetitionMandatoryWithSeparator";throw new Error("Invalid production type encountered")}function i1(t,e){let r=e.length;for(let o=0;o<r-1;o++){let s=e[o],a;s.left.transitions.length===1&&(a=s.left.transitions[0]);let c=a instanceof Hs,l=a,u=e[o+1].left;s.left.type===Ei&&s.right.type===Ei&&a!==void 0&&(c&&l.followState===s.right||a.target===s.right)?(c?l.followState=u:a.target=u,a1(t,s.right)):Rt(s.right,u)}let n=e[0],i=e[r-1];return{left:n.left,right:i.right}}function kg(t,e,r,n){let i=kt(t,e,n,{type:Ei}),o=kt(t,e,n,{type:Ei});return Ng(i,new Gs(o,r)),{left:i,right:o}}function o1(t,e,r){let n=r.referencedRule,i=t.ruleToStartState.get(n),o=kt(t,e,r,{type:Ei}),s=kt(t,e,r,{type:Ei}),a=new Hs(i,n,s);return Ng(o,a),{left:o,right:s}}function s1(t,e,r){let n=t.ruleToStartState.get(e);Rt(n,r.left);let i=t.ruleToStopState.get(e);return Rt(r.right,i),{left:n,right:i}}function Rt(t,e){let r=new tl(e);Ng(t,r)}function kt(t,e,r,n){let i=Object.assign({atn:t,production:r,epsilonOnlyTransitions:!1,rule:e,transitions:[],nextTokenWithinRule:[],stateNumber:t.states.length},n);return t.states.push(i),i}function Ng(t,e){t.transitions.length===0&&(t.epsilonOnlyTransitions=e.isEpsilon()),t.transitions.push(e)}function a1(t,e){t.states.splice(t.states.indexOf(e),1)}var rl={},Ws=class{constructor(){this.map={},this.configs=[]}get size(){return this.configs.length}finalize(){this.map={}}add(e){let r=Pg(e);r in this.map||(this.map[r]=this.configs.length,this.configs.push(e))}get elements(){return this.configs}get alts(){return pr(this.configs,e=>e.alt)}get key(){let e="";for(let r in this.map)e+=r+":";return e}};function Pg(t,e=!0){return`${e?`a${t.alt}`:""}s${t.state.stateNumber}:${t.stack.map(r=>r.stateNumber.toString()).join("_")}`}function c1(t,e,r){for(var n=-1,i=t.length;++n<i;){var o=t[n],s=e(o);if(s!=null&&(a===void 0?s===s&&!yi(s):r(s,a)))var a=s,c=o}return c}var Yw=c1;function l1(t,e){return t<e}var Kw=l1;function u1(t){return t&&t.length?Yw(t,Xs,Kw):void 0}var Zw=u1;var Jw=Zt?Zt.isConcatSpreadable:void 0;function f1(t){return Ge(t)||hi(t)||!!(Jw&&t&&t[Jw])}var Qw=f1;function eA(t,e,r,n,i){var o=-1,s=t.length;for(r||(r=Qw),i||(i=[]);++o<s;){var a=t[o];e>0&&r(a)?e>1?eA(a,e-1,r,n,i):ld(i,a):n||(i[i.length]=a)}return i}var bd=eA;function d1(t,e){return bd(pr(t,e),1)}var tA=d1;function p1(t,e,r,n){for(var i=t.length,o=r+(n?1:-1);n?o--:++o<i;)if(e(t[o],o,t))return o;return-1}var rA=p1;function h1(t){return t!==t}var nA=h1;function m1(t,e,r){for(var n=r-1,i=t.length;++n<i;)if(t[n]===e)return n;return-1}var iA=m1;function g1(t,e,r){return e===e?iA(t,e,r):rA(t,nA,r)}var oA=g1;function y1(t,e){var r=t==null?0:t.length;return!!r&&oA(t,e,0)>-1}var sA=y1;function x1(t,e,r){for(var n=-1,i=t==null?0:t.length;++n<i;)if(r(e,t[n]))return!0;return!1}var aA=x1;function T1(){}var cA=T1;var _1=1/0,E1=gi&&1/$s(new gi([,-0]))[1]==_1?function(t){return new gi(t)}:cA,lA=E1;var R1=200;function b1(t,e,r){var n=-1,i=sA,o=t.length,s=!0,a=[],c=a;if(r)s=!1,i=aA;else if(o>=R1){var l=e?null:lA(t);if(l)return $s(l);s=!1,i=ad,c=new sd}else c=e?[]:a;e:for(;++n<o;){var u=t[n],f=e?e(u):u;if(u=r||u!==0?u:0,s&&f===f){for(var d=c.length;d--;)if(c[d]===f)continue e;e&&c.push(f),a.push(u)}else i(c,f,r)||(c!==a&&c.push(f),a.push(u))}return a}var uA=b1;function w1(t,e){return t&&t.length?uA(t,Ti(e,2)):[]}var fA=w1;function A1(t){var e=t==null?0:t.length;return e?bd(t,1):[]}var dA=A1;function I1(t,e){for(var r=-1,n=t==null?0:t.length;++r<n&&e(t[r],r,t)!==!1;);return t}var pA=I1;function S1(t){return typeof t=="function"?t:Xs}var hA=S1;function v1(t,e){var r=Ge(t)?pA:_i;return r(t,hA(e))}var wd=v1;var k1="[object Map]",N1="[object Set]",P1=Object.prototype,C1=P1.hasOwnProperty;function O1(t){if(t==null)return!0;if(mi(t)&&(Ge(t)||typeof t=="string"||typeof t.splice=="function"||xo(t)||Fs(t)||hi(t)))return!t.length;var e=Qc(t);if(e==k1||e==N1)return!t.size;if(dd(t))return!pd(t).length;for(var r in t)if(C1.call(t,r))return!1;return!0}var mA=O1;function L1(t,e,r,n){var i=-1,o=t==null?0:t.length;for(n&&o&&(r=t[++i]);++i<o;)r=e(r,t[i],i,t);return r}var gA=L1;function D1(t,e,r,n,i){return i(t,function(o,s,a){r=n?(n=!1,o):e(r,o,s,a)}),r}var yA=D1;function $1(t,e,r){var n=Ge(t)?gA:yA,i=arguments.length<3;return n(t,Ti(e,4),r,i,_i)}var Cg=$1;function M1(t,e){let r={};return n=>{let i=n.toString(),o=r[i];return o!==void 0||(o={atnStartState:t,decision:e,states:{}},r[i]=o),o}}var Ad=class{constructor(){this.predicates=[]}is(e){return e>=this.predicates.length||this.predicates[e]}set(e,r){this.predicates[e]=r}toString(){let e="",r=this.predicates.length;for(let n=0;n<r;n++)e+=this.predicates[n]===!0?"1":"0";return e}},xA=new Ad,nl=class extends Mn{constructor(e){var r,n;super(),this.logging=(r=e?.logging)!==null&&r!==void 0?r:(i=>console.log(i)),this.incomplete=(n=e?.incomplete)!==null&&n!==void 0?n:!1}initialize(e){this.atn=Ww(e.rules),this.dfas=F1(this.atn)}validateAmbiguousAlternationAlternatives(){return[]}validateEmptyOrAlternatives(){return[]}buildLookaheadForAlternation(e){let{prodOccurrence:r,rule:n,hasPredicates:i,dynamicTokensEnabled:o}=e,s=this.dfas,a=this.logging,c=this.incomplete,l=_o(n,"Alternation",r),f=this.atn.decisionMap[l].decision,d=pr(Lf({maxLookahead:1,occurrence:r,prodType:"Alternation",rule:n}),p=>pr(p,m=>m[0]));if(TA(d,!1)&&!o){let p=Cg(d,(m,y,R)=>(wd(y,T=>{T&&(m[T.tokenTypeIdx]=R,wd(T.categoryMatches,E=>{m[E]=R}))}),m),{});return i?function(m){var y;let R=this.LA_FAST(1),T=p[R.tokenTypeIdx];if(m!==void 0&&T!==void 0){let E=(y=m[T])===null||y===void 0?void 0:y.GATE;if(E!==void 0&&E.call(this)===!1)return}return T}:function(){let m=this.LA_FAST(1);return p[m.tokenTypeIdx]}}else return i?function(p){let m=new Ad,y=p===void 0?0:p.length;for(let T=0;T<y;T++){let E=p?.[T].GATE;m.set(T,E===void 0||E.call(this))}let R=Og.call(this,s,f,m,a,c);return typeof R=="number"?R:void 0}:function(){let p=Og.call(this,s,f,xA,a,c);return typeof p=="number"?p:void 0}}buildLookaheadForOptional(e){let{prodOccurrence:r,rule:n,prodType:i,dynamicTokensEnabled:o}=e,s=this.dfas,a=this.logging,c=this.incomplete,l=_o(n,i,r),f=this.atn.decisionMap[l].decision,d=pr(Lf({maxLookahead:1,occurrence:r,prodType:i,rule:n}),p=>pr(p,m=>m[0]));if(TA(d)&&d[0][0]&&!o){let p=d[0],m=dA(p);if(m.length===1&&mA(m[0].categoryMatches)){let R=m[0].tokenTypeIdx;return function(){return this.LA_FAST(1).tokenTypeIdx===R}}else{let y=Cg(m,(R,T)=>(T!==void 0&&(R[T.tokenTypeIdx]=!0,wd(T.categoryMatches,E=>{R[E]=!0})),R),{});return function(){let R=this.LA_FAST(1);return y[R.tokenTypeIdx]===!0}}}return function(){let p=Og.call(this,s,f,xA,a,c);return typeof p=="object"?!1:p===0}}};function TA(t,e=!0){let r=new Set;for(let n of t){let i=new Set;for(let o of n){if(o===void 0){if(e)break;return!1}let s=[o.tokenTypeIdx].concat(o.categoryMatches);for(let a of s)if(r.has(a)){if(!i.has(a))return!1}else r.add(a),i.add(a)}}return!0}function F1(t){let e=t.decisionStates.length,r=Array(e);for(let n=0;n<e;n++)r[n]=M1(t.decisionStates[n],n);return r}function Og(t,e,r,n,i){let o=t[e](r),s=o.start;if(s===void 0){let c=Y1(o.atnStartState);s=RA(o,EA(c)),o.start=s}return U1.apply(this,[o,s,r,n,i])}function U1(t,e,r,n,i){let o=e,s=1,a=[],c=this.LA_FAST(s++);for(;;){let l=W1(o,c);if(l===void 0&&(l=B1.apply(this,[t,o,c,s,r,n])),l===rl)return j1(a,o,c);if(l.isAcceptState===!0){if(i===!0&&ws(c,Yt)){let u=nF(o,r);if(u!==void 0)return u}return l.prediction}o=l,a.push(c),c=this.LA(s++)}}function B1(t,e,r,n,i,o){let s=q1(e.configs,r,i);if(s.size===0)return _A(t,e,r,rl),rl;let a=EA(s),c=V1(s,i);if(c!==void 0)a.isAcceptState=!0,a.prediction=c,a.configs.uniqueAlt=c;else if(Q1(s)){let l=Zw(s.alts);a.isAcceptState=!0,a.prediction=l,a.configs.uniqueAlt=l,X1.apply(this,[t,n,s.alts,o])}return a=_A(t,e,r,a),a}function X1(t,e,r,n){let i=[];for(let l=1;l<=e;l++)i.push(this.LA(l).tokenType);let o=t.atnStartState,s=o.rule,a=o.production,c=G1({topLevelRule:s,ambiguityIndices:r,production:a,prefixPath:i});n(c)}function G1(t){let e=pr(t.prefixPath,i=>Ln(i)).join(", "),r=t.production.idx===0?"":t.production.idx,n=`Ambiguous Alternatives Detected: <${t.ambiguityIndices.join(", ")}> in <${H1(t.production)}${r}> inside <${t.topLevelRule.name}> Rule,
|
|
148
|
+
For further details.`);this.skipValidations=Object.hasOwn(r,"skipValidations")?r.skipValidations:Kt.skipValidations}};nl.DEFER_DEFINITION_ERRORS_HANDLING=!1;kv(nl,[Kf,Qf,nd,id,sd,od,ad,cd,fd]);var il=class extends nl{constructor(e,r=Kt){let n=Object.assign({},r);n.outputCst=!1,super(e,n)}};function wL(t,e){for(var r=-1,n=t==null?0:t.length,i=Array(n);++r<n;)i[r]=e(t[r],r,t);return i}var pd=wL;function AL(){this.__data__=[],this.size=0}var Nv=AL;function SL(t,e){return t===e||t!==t&&e!==e}var hd=SL;function IL(t,e){for(var r=t.length;r--;)if(hd(t[r][0],e))return r;return-1}var xi=IL;var kL=Array.prototype,NL=kL.splice;function PL(t){var e=this.__data__,r=xi(e,t);if(r<0)return!1;var n=e.length-1;return r==n?e.pop():NL.call(e,r,1),--this.size,!0}var Pv=PL;function CL(t){var e=this.__data__,r=xi(e,t);return r<0?void 0:e[r][1]}var Cv=CL;function OL(t){return xi(this.__data__,t)>-1}var Ov=OL;function LL(t,e){var r=this.__data__,n=xi(r,t);return n<0?(++this.size,r.push([t,e])):r[n][1]=e,this}var Lv=LL;function Us(t){var e=-1,r=t==null?0:t.length;for(this.clear();++e<r;){var n=t[e];this.set(n[0],n[1])}}Us.prototype.clear=Nv;Us.prototype.delete=Pv;Us.prototype.get=Cv;Us.prototype.has=Ov;Us.prototype.set=Lv;var Ti=Us;function DL(){this.__data__=new Ti,this.size=0}var Dv=DL;function $L(t){var e=this.__data__,r=e.delete(t);return this.size=e.size,r}var $v=$L;function ML(t){return this.__data__.get(t)}var Mv=ML;function FL(t){return this.__data__.has(t)}var Fv=FL;var UL=typeof global=="object"&&global&&global.Object===Object&&global,md=UL;var BL=typeof self=="object"&&self&&self.Object===Object&&self,GL=md||BL||Function("return this")(),Pt=GL;var XL=Pt.Symbol,Zt=XL;var Uv=Object.prototype,HL=Uv.hasOwnProperty,jL=Uv.toString,ol=Zt?Zt.toStringTag:void 0;function zL(t){var e=HL.call(t,ol),r=t[ol];try{t[ol]=void 0;var n=!0}catch{}var i=jL.call(t);return n&&(e?t[ol]=r:delete t[ol]),i}var Bv=zL;var qL=Object.prototype,WL=qL.toString;function VL(t){return WL.call(t)}var Gv=VL;var YL="[object Null]",KL="[object Undefined]",Xv=Zt?Zt.toStringTag:void 0;function ZL(t){return t==null?t===void 0?KL:YL:Xv&&Xv in Object(t)?Bv(t):Gv(t)}var Hr=ZL;function JL(t){var e=typeof t;return t!=null&&(e=="object"||e=="function")}var Bs=JL;var QL="[object AsyncFunction]",e1="[object Function]",t1="[object GeneratorFunction]",r1="[object Proxy]";function n1(t){if(!Bs(t))return!1;var e=Hr(t);return e==e1||e==t1||e==QL||e==r1}var gd=n1;var i1=Pt["__core-js_shared__"],yd=i1;var Hv=(function(){var t=/[^.]+$/.exec(yd&&yd.keys&&yd.keys.IE_PROTO||"");return t?"Symbol(src)_1."+t:""})();function o1(t){return!!Hv&&Hv in t}var jv=o1;var s1=Function.prototype,a1=s1.toString;function c1(t){if(t!=null){try{return a1.call(t)}catch{}try{return t+""}catch{}}return""}var jn=c1;var l1=/[\\^$.*+?()[\]{}|]/g,u1=/^\[object .+?Constructor\]$/,f1=Function.prototype,d1=Object.prototype,p1=f1.toString,h1=d1.hasOwnProperty,m1=RegExp("^"+p1.call(h1).replace(l1,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function g1(t){if(!Bs(t)||jv(t))return!1;var e=gd(t)?m1:u1;return e.test(jn(t))}var zv=g1;function y1(t,e){return t?.[e]}var qv=y1;function x1(t,e){var r=qv(t,e);return zv(r)?r:void 0}var br=x1;var T1=br(Pt,"Map"),_i=T1;var _1=br(Object,"create"),zn=_1;function E1(){this.__data__=zn?zn(null):{},this.size=0}var Wv=E1;function v1(t){var e=this.has(t)&&delete this.__data__[t];return this.size-=e?1:0,e}var Vv=v1;var R1="__lodash_hash_undefined__",b1=Object.prototype,w1=b1.hasOwnProperty;function A1(t){var e=this.__data__;if(zn){var r=e[t];return r===R1?void 0:r}return w1.call(e,t)?e[t]:void 0}var Yv=A1;var S1=Object.prototype,I1=S1.hasOwnProperty;function k1(t){var e=this.__data__;return zn?e[t]!==void 0:I1.call(e,t)}var Kv=k1;var N1="__lodash_hash_undefined__";function P1(t,e){var r=this.__data__;return this.size+=this.has(t)?0:1,r[t]=zn&&e===void 0?N1:e,this}var Zv=P1;function Gs(t){var e=-1,r=t==null?0:t.length;for(this.clear();++e<r;){var n=t[e];this.set(n[0],n[1])}}Gs.prototype.clear=Wv;Gs.prototype.delete=Vv;Gs.prototype.get=Yv;Gs.prototype.has=Kv;Gs.prototype.set=Zv;var Mg=Gs;function C1(){this.size=0,this.__data__={hash:new Mg,map:new(_i||Ti),string:new Mg}}var Jv=C1;function O1(t){var e=typeof t;return e=="string"||e=="number"||e=="symbol"||e=="boolean"?t!=="__proto__":t===null}var Qv=O1;function L1(t,e){var r=t.__data__;return Qv(e)?r[typeof e=="string"?"string":"hash"]:r.map}var Ei=L1;function D1(t){var e=Ei(this,t).delete(t);return this.size-=e?1:0,e}var eR=D1;function $1(t){return Ei(this,t).get(t)}var tR=$1;function M1(t){return Ei(this,t).has(t)}var rR=M1;function F1(t,e){var r=Ei(this,t),n=r.size;return r.set(t,e),this.size+=r.size==n?0:1,this}var nR=F1;function Xs(t){var e=-1,r=t==null?0:t.length;for(this.clear();++e<r;){var n=t[e];this.set(n[0],n[1])}}Xs.prototype.clear=Jv;Xs.prototype.delete=eR;Xs.prototype.get=tR;Xs.prototype.has=rR;Xs.prototype.set=nR;var bo=Xs;var U1=200;function B1(t,e){var r=this.__data__;if(r instanceof Ti){var n=r.__data__;if(!_i||n.length<U1-1)return n.push([t,e]),this.size=++r.size,this;r=this.__data__=new bo(n)}return r.set(t,e),this.size=r.size,this}var iR=B1;function Hs(t){var e=this.__data__=new Ti(t);this.size=e.size}Hs.prototype.clear=Dv;Hs.prototype.delete=$v;Hs.prototype.get=Mv;Hs.prototype.has=Fv;Hs.prototype.set=iR;var js=Hs;var G1="__lodash_hash_undefined__";function X1(t){return this.__data__.set(t,G1),this}var oR=X1;function H1(t){return this.__data__.has(t)}var sR=H1;function xd(t){var e=-1,r=t==null?0:t.length;for(this.__data__=new bo;++e<r;)this.add(t[e])}xd.prototype.add=xd.prototype.push=oR;xd.prototype.has=sR;var Td=xd;function j1(t,e){for(var r=-1,n=t==null?0:t.length;++r<n;)if(e(t[r],r,t))return!0;return!1}var aR=j1;function z1(t,e){return t.has(e)}var _d=z1;var q1=1,W1=2;function V1(t,e,r,n,i,o){var s=r&q1,a=t.length,c=e.length;if(a!=c&&!(s&&c>a))return!1;var l=o.get(t),u=o.get(e);if(l&&u)return l==e&&u==t;var f=-1,d=!0,p=r&W1?new Td:void 0;for(o.set(t,e),o.set(e,t);++f<a;){var m=t[f],g=e[f];if(n)var v=s?n(g,m,f,e,t,o):n(m,g,f,t,e,o);if(v!==void 0){if(v)continue;d=!1;break}if(p){if(!aR(e,function(T,_){if(!_d(p,_)&&(m===T||i(m,T,r,n,o)))return p.push(_)})){d=!1;break}}else if(!(m===g||i(m,g,r,n,o))){d=!1;break}}return o.delete(t),o.delete(e),d}var Ed=V1;var Y1=Pt.Uint8Array,Fg=Y1;function K1(t){var e=-1,r=Array(t.size);return t.forEach(function(n,i){r[++e]=[i,n]}),r}var cR=K1;function Z1(t){var e=-1,r=Array(t.size);return t.forEach(function(n){r[++e]=n}),r}var zs=Z1;var J1=1,Q1=2,eD="[object Boolean]",tD="[object Date]",rD="[object Error]",nD="[object Map]",iD="[object Number]",oD="[object RegExp]",sD="[object Set]",aD="[object String]",cD="[object Symbol]",lD="[object ArrayBuffer]",uD="[object DataView]",lR=Zt?Zt.prototype:void 0,Ug=lR?lR.valueOf:void 0;function fD(t,e,r,n,i,o,s){switch(r){case uD:if(t.byteLength!=e.byteLength||t.byteOffset!=e.byteOffset)return!1;t=t.buffer,e=e.buffer;case lD:return!(t.byteLength!=e.byteLength||!o(new Fg(t),new Fg(e)));case eD:case tD:case iD:return hd(+t,+e);case rD:return t.name==e.name&&t.message==e.message;case oD:case aD:return t==e+"";case nD:var a=cR;case sD:var c=n&J1;if(a||(a=zs),t.size!=e.size&&!c)return!1;var l=s.get(t);if(l)return l==e;n|=Q1,s.set(t,e);var u=Ed(a(t),a(e),n,i,o,s);return s.delete(t),u;case cD:if(Ug)return Ug.call(t)==Ug.call(e)}return!1}var uR=fD;function dD(t,e){for(var r=-1,n=e.length,i=t.length;++r<n;)t[i+r]=e[r];return t}var vd=dD;var pD=Array.isArray,He=pD;function hD(t,e,r){var n=e(t);return He(t)?n:vd(n,r(t))}var fR=hD;function mD(t,e){for(var r=-1,n=t==null?0:t.length,i=0,o=[];++r<n;){var s=t[r];e(s,r,t)&&(o[i++]=s)}return o}var Rd=mD;function gD(){return[]}var dR=gD;var yD=Object.prototype,xD=yD.propertyIsEnumerable,pR=Object.getOwnPropertySymbols,TD=pR?function(t){return t==null?[]:(t=Object(t),Rd(pR(t),function(e){return xD.call(t,e)}))}:dR,hR=TD;function _D(t,e){for(var r=-1,n=Array(t);++r<t;)n[r]=e(r);return n}var mR=_D;function ED(t){return t!=null&&typeof t=="object"}var jr=ED;var vD="[object Arguments]";function RD(t){return jr(t)&&Hr(t)==vD}var Bg=RD;var gR=Object.prototype,bD=gR.hasOwnProperty,wD=gR.propertyIsEnumerable,AD=Bg((function(){return arguments})())?Bg:function(t){return jr(t)&&bD.call(t,"callee")&&!wD.call(t,"callee")},vi=AD;function SD(){return!1}var yR=SD;var _R=typeof exports=="object"&&exports&&!exports.nodeType&&exports,xR=_R&&typeof module=="object"&&module&&!module.nodeType&&module,ID=xR&&xR.exports===_R,TR=ID?Pt.Buffer:void 0,kD=TR?TR.isBuffer:void 0,ND=kD||yR,wo=ND;var PD=9007199254740991,CD=/^(?:0|[1-9]\d*)$/;function OD(t,e){var r=typeof t;return e=e??PD,!!e&&(r=="number"||r!="symbol"&&CD.test(t))&&t>-1&&t%1==0&&t<e}var bd=OD;var LD=9007199254740991;function DD(t){return typeof t=="number"&&t>-1&&t%1==0&&t<=LD}var qs=DD;var $D="[object Arguments]",MD="[object Array]",FD="[object Boolean]",UD="[object Date]",BD="[object Error]",GD="[object Function]",XD="[object Map]",HD="[object Number]",jD="[object Object]",zD="[object RegExp]",qD="[object Set]",WD="[object String]",VD="[object WeakMap]",YD="[object ArrayBuffer]",KD="[object DataView]",ZD="[object Float32Array]",JD="[object Float64Array]",QD="[object Int8Array]",e$="[object Int16Array]",t$="[object Int32Array]",r$="[object Uint8Array]",n$="[object Uint8ClampedArray]",i$="[object Uint16Array]",o$="[object Uint32Array]",nt={};nt[ZD]=nt[JD]=nt[QD]=nt[e$]=nt[t$]=nt[r$]=nt[n$]=nt[i$]=nt[o$]=!0;nt[$D]=nt[MD]=nt[YD]=nt[FD]=nt[KD]=nt[UD]=nt[BD]=nt[GD]=nt[XD]=nt[HD]=nt[jD]=nt[zD]=nt[qD]=nt[WD]=nt[VD]=!1;function s$(t){return jr(t)&&qs(t.length)&&!!nt[Hr(t)]}var ER=s$;function a$(t){return function(e){return t(e)}}var vR=a$;var RR=typeof exports=="object"&&exports&&!exports.nodeType&&exports,sl=RR&&typeof module=="object"&&module&&!module.nodeType&&module,c$=sl&&sl.exports===RR,Gg=c$&&md.process,l$=(function(){try{var t=sl&&sl.require&&sl.require("util").types;return t||Gg&&Gg.binding&&Gg.binding("util")}catch{}})(),Xg=l$;var bR=Xg&&Xg.isTypedArray,u$=bR?vR(bR):ER,Ws=u$;var f$=Object.prototype,d$=f$.hasOwnProperty;function p$(t,e){var r=He(t),n=!r&&vi(t),i=!r&&!n&&wo(t),o=!r&&!n&&!i&&Ws(t),s=r||n||i||o,a=s?mR(t.length,String):[],c=a.length;for(var l in t)(e||d$.call(t,l))&&!(s&&(l=="length"||i&&(l=="offset"||l=="parent")||o&&(l=="buffer"||l=="byteLength"||l=="byteOffset")||bd(l,c)))&&a.push(l);return a}var wR=p$;var h$=Object.prototype;function m$(t){var e=t&&t.constructor,r=typeof e=="function"&&e.prototype||h$;return t===r}var wd=m$;function g$(t,e){return function(r){return t(e(r))}}var AR=g$;var y$=AR(Object.keys,Object),SR=y$;var x$=Object.prototype,T$=x$.hasOwnProperty;function _$(t){if(!wd(t))return SR(t);var e=[];for(var r in Object(t))T$.call(t,r)&&r!="constructor"&&e.push(r);return e}var Ad=_$;function E$(t){return t!=null&&qs(t.length)&&!gd(t)}var Ri=E$;function v$(t){return Ri(t)?wR(t):Ad(t)}var Vs=v$;function R$(t){return fR(t,Vs,hR)}var Hg=R$;var b$=1,w$=Object.prototype,A$=w$.hasOwnProperty;function S$(t,e,r,n,i,o){var s=r&b$,a=Hg(t),c=a.length,l=Hg(e),u=l.length;if(c!=u&&!s)return!1;for(var f=c;f--;){var d=a[f];if(!(s?d in e:A$.call(e,d)))return!1}var p=o.get(t),m=o.get(e);if(p&&m)return p==e&&m==t;var g=!0;o.set(t,e),o.set(e,t);for(var v=s;++f<c;){d=a[f];var T=t[d],_=e[d];if(n)var E=s?n(_,T,d,e,t,o):n(T,_,d,t,e,o);if(!(E===void 0?T===_||i(T,_,r,n,o):E)){g=!1;break}v||(v=d=="constructor")}if(g&&!v){var I=t.constructor,D=e.constructor;I!=D&&"constructor"in t&&"constructor"in e&&!(typeof I=="function"&&I instanceof I&&typeof D=="function"&&D instanceof D)&&(g=!1)}return o.delete(t),o.delete(e),g}var IR=S$;var I$=br(Pt,"DataView"),Sd=I$;var k$=br(Pt,"Promise"),Id=k$;var N$=br(Pt,"Set"),bi=N$;var P$=br(Pt,"WeakMap"),kd=P$;var kR="[object Map]",C$="[object Object]",NR="[object Promise]",PR="[object Set]",CR="[object WeakMap]",OR="[object DataView]",O$=jn(Sd),L$=jn(_i),D$=jn(Id),$$=jn(bi),M$=jn(kd),Ao=Hr;(Sd&&Ao(new Sd(new ArrayBuffer(1)))!=OR||_i&&Ao(new _i)!=kR||Id&&Ao(Id.resolve())!=NR||bi&&Ao(new bi)!=PR||kd&&Ao(new kd)!=CR)&&(Ao=function(t){var e=Hr(t),r=e==C$?t.constructor:void 0,n=r?jn(r):"";if(n)switch(n){case O$:return OR;case L$:return kR;case D$:return NR;case $$:return PR;case M$:return CR}return e});var al=Ao;var F$=1,LR="[object Arguments]",DR="[object Array]",Nd="[object Object]",U$=Object.prototype,$R=U$.hasOwnProperty;function B$(t,e,r,n,i,o){var s=He(t),a=He(e),c=s?DR:al(t),l=a?DR:al(e);c=c==LR?Nd:c,l=l==LR?Nd:l;var u=c==Nd,f=l==Nd,d=c==l;if(d&&wo(t)){if(!wo(e))return!1;s=!0,u=!1}if(d&&!u)return o||(o=new js),s||Ws(t)?Ed(t,e,r,n,i,o):uR(t,e,c,r,n,i,o);if(!(r&F$)){var p=u&&$R.call(t,"__wrapped__"),m=f&&$R.call(e,"__wrapped__");if(p||m){var g=p?t.value():t,v=m?e.value():e;return o||(o=new js),i(g,v,r,n,o)}}return d?(o||(o=new js),IR(t,e,r,n,i,o)):!1}var MR=B$;function FR(t,e,r,n,i){return t===e?!0:t==null||e==null||!jr(t)&&!jr(e)?t!==t&&e!==e:MR(t,e,r,n,FR,i)}var Pd=FR;var G$=1,X$=2;function H$(t,e,r,n){var i=r.length,o=i,s=!n;if(t==null)return!o;for(t=Object(t);i--;){var a=r[i];if(s&&a[2]?a[1]!==t[a[0]]:!(a[0]in t))return!1}for(;++i<o;){a=r[i];var c=a[0],l=t[c],u=a[1];if(s&&a[2]){if(l===void 0&&!(c in t))return!1}else{var f=new js;if(n)var d=n(l,u,c,t,e,f);if(!(d===void 0?Pd(u,l,G$|X$,n,f):d))return!1}}return!0}var UR=H$;function j$(t){return t===t&&!Bs(t)}var Cd=j$;function z$(t){for(var e=Vs(t),r=e.length;r--;){var n=e[r],i=t[n];e[r]=[n,i,Cd(i)]}return e}var BR=z$;function q$(t,e){return function(r){return r==null?!1:r[t]===e&&(e!==void 0||t in Object(r))}}var Od=q$;function W$(t){var e=BR(t);return e.length==1&&e[0][2]?Od(e[0][0],e[0][1]):function(r){return r===t||UR(r,t,e)}}var GR=W$;var V$="[object Symbol]";function Y$(t){return typeof t=="symbol"||jr(t)&&Hr(t)==V$}var wi=Y$;var K$=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,Z$=/^\w*$/;function J$(t,e){if(He(t))return!1;var r=typeof t;return r=="number"||r=="symbol"||r=="boolean"||t==null||wi(t)?!0:Z$.test(t)||!K$.test(t)||e!=null&&t in Object(e)}var Ys=J$;var Q$="Expected a function";function jg(t,e){if(typeof t!="function"||e!=null&&typeof e!="function")throw new TypeError(Q$);var r=function(){var n=arguments,i=e?e.apply(this,n):n[0],o=r.cache;if(o.has(i))return o.get(i);var s=t.apply(this,n);return r.cache=o.set(i,s)||o,s};return r.cache=new(jg.Cache||bo),r}jg.Cache=bo;var XR=jg;var eM=500;function tM(t){var e=XR(t,function(n){return r.size===eM&&r.clear(),n}),r=e.cache;return e}var HR=tM;var rM=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,nM=/\\(\\)?/g,iM=HR(function(t){var e=[];return t.charCodeAt(0)===46&&e.push(""),t.replace(rM,function(r,n,i,o){e.push(i?o.replace(nM,"$1"):n||r)}),e}),jR=iM;var oM=1/0,zR=Zt?Zt.prototype:void 0,qR=zR?zR.toString:void 0;function WR(t){if(typeof t=="string")return t;if(He(t))return pd(t,WR)+"";if(wi(t))return qR?qR.call(t):"";var e=t+"";return e=="0"&&1/t==-oM?"-0":e}var VR=WR;function sM(t){return t==null?"":VR(t)}var YR=sM;function aM(t,e){return He(t)?t:Ys(t,e)?[t]:jR(YR(t))}var Ld=aM;var cM=1/0;function lM(t){if(typeof t=="string"||wi(t))return t;var e=t+"";return e=="0"&&1/t==-cM?"-0":e}var Ai=lM;function uM(t,e){e=Ld(e,t);for(var r=0,n=e.length;t!=null&&r<n;)t=t[Ai(e[r++])];return r&&r==n?t:void 0}var Dd=uM;function fM(t,e,r){var n=t==null?void 0:Dd(t,e);return n===void 0?r:n}var KR=fM;function dM(t,e){return t!=null&&e in Object(t)}var ZR=dM;function pM(t,e,r){e=Ld(e,t);for(var n=-1,i=e.length,o=!1;++n<i;){var s=Ai(e[n]);if(!(o=t!=null&&r(t,s)))break;t=t[s]}return o||++n!=i?o:(i=t==null?0:t.length,!!i&&qs(i)&&bd(s,i)&&(He(t)||vi(t)))}var JR=pM;function hM(t,e){return t!=null&&JR(t,e,ZR)}var QR=hM;var mM=1,gM=2;function yM(t,e){return Ys(t)&&Cd(e)?Od(Ai(t),e):function(r){var n=KR(r,t);return n===void 0&&n===e?QR(r,t):Pd(e,n,mM|gM)}}var eb=yM;function xM(t){return t}var Ks=xM;function TM(t){return function(e){return e?.[t]}}var tb=TM;function _M(t){return function(e){return Dd(e,t)}}var rb=_M;function EM(t){return Ys(t)?tb(Ai(t)):rb(t)}var nb=EM;function vM(t){return typeof t=="function"?t:t==null?Ks:typeof t=="object"?He(t)?eb(t[0],t[1]):GR(t):nb(t)}var Si=vM;function RM(t){return function(e,r,n){for(var i=-1,o=Object(e),s=n(e),a=s.length;a--;){var c=s[t?a:++i];if(r(o[c],c,o)===!1)break}return e}}var ib=RM;var bM=ib(),ob=bM;function wM(t,e){return t&&ob(t,e,Vs)}var sb=wM;function AM(t,e){return function(r,n){if(r==null)return r;if(!Ri(r))return t(r,n);for(var i=r.length,o=e?i:-1,s=Object(r);(e?o--:++o<i)&&n(s[o],o,s)!==!1;);return r}}var ab=AM;var SM=ab(sb),Ii=SM;function IM(t,e){var r=-1,n=Ri(t)?Array(t.length):[];return Ii(t,function(i,o,s){n[++r]=e(i,o,s)}),n}var cb=IM;function kM(t,e){var r=He(t)?pd:cb;return r(t,Si(e,3))}var hr=kM;function NM(t,e){var r=[];return Ii(t,function(n,i,o){e(n,i,o)&&r.push(n)}),r}var lb=NM;function PM(t,e){var r=He(t)?Rd:lb;return r(t,Si(e,3))}var ub=PM;function So(t,e,r){return`${t.name}_${e}_${r}`}var ki=1,CM=2,fb=4,db=5;var Io=7,OM=8,LM=9,DM=10,$M=11,pb=12,cl=class{constructor(e){this.target=e}isEpsilon(){return!1}},Zs=class extends cl{constructor(e,r){super(e),this.tokenType=r}},ll=class extends cl{constructor(e){super(e)}isEpsilon(){return!0}},Js=class extends cl{constructor(e,r,n){super(e),this.rule=r,this.followState=n}isEpsilon(){return!0}};function hb(t){let e={decisionMap:{},decisionStates:[],ruleToStartState:new Map,ruleToStopState:new Map,states:[]};MM(e,t);let r=t.length;for(let n=0;n<r;n++){let i=t[n],o=ko(e,i,i);o!==void 0&&VM(e,i,o)}return e}function MM(t,e){let r=e.length;for(let n=0;n<r;n++){let i=e[n],o=Ct(t,i,void 0,{type:CM}),s=Ct(t,i,void 0,{type:Io});o.stop=s,t.ruleToStartState.set(i,o),t.ruleToStopState.set(i,s)}}function mb(t,e,r){return r instanceof Te?zg(t,e,r.terminalType,r):r instanceof Be?WM(t,e,r):r instanceof Ye?XM(t,e,r):r instanceof Ge?HM(t,e,r):r instanceof Re?FM(t,e,r):r instanceof Ve?UM(t,e,r):r instanceof et?BM(t,e,r):r instanceof tt?GM(t,e,r):ko(t,e,r)}function FM(t,e,r){let n=Ct(t,e,r,{type:db});Ni(t,n);let i=Qs(t,e,n,r,ko(t,e,r));return yb(t,e,r,i)}function UM(t,e,r){let n=Ct(t,e,r,{type:db});Ni(t,n);let i=Qs(t,e,n,r,ko(t,e,r)),o=zg(t,e,r.separator,r);return yb(t,e,r,i,o)}function BM(t,e,r){let n=Ct(t,e,r,{type:fb});Ni(t,n);let i=Qs(t,e,n,r,ko(t,e,r));return gb(t,e,r,i)}function GM(t,e,r){let n=Ct(t,e,r,{type:fb});Ni(t,n);let i=Qs(t,e,n,r,ko(t,e,r)),o=zg(t,e,r.separator,r);return gb(t,e,r,i,o)}function XM(t,e,r){let n=Ct(t,e,r,{type:ki});Ni(t,n);let i=hr(r.definition,s=>mb(t,e,s));return Qs(t,e,n,r,...i)}function HM(t,e,r){let n=Ct(t,e,r,{type:ki});Ni(t,n);let i=Qs(t,e,n,r,ko(t,e,r));return jM(t,e,r,i)}function ko(t,e,r){let n=ub(hr(r.definition,i=>mb(t,e,i)),i=>i!==void 0);return n.length===1?n[0]:n.length===0?void 0:qM(t,n)}function gb(t,e,r,n,i){let o=n.left,s=n.right,a=Ct(t,e,r,{type:$M});Ni(t,a);let c=Ct(t,e,r,{type:pb});return o.loopback=a,c.loopback=a,t.decisionMap[So(e,i?"RepetitionMandatoryWithSeparator":"RepetitionMandatory",r.idx)]=a,bt(s,a),i===void 0?(bt(a,o),bt(a,c)):(bt(a,c),bt(a,i.left),bt(i.right,o)),{left:o,right:c}}function yb(t,e,r,n,i){let o=n.left,s=n.right,a=Ct(t,e,r,{type:DM});Ni(t,a);let c=Ct(t,e,r,{type:pb}),l=Ct(t,e,r,{type:LM});return a.loopback=l,c.loopback=l,bt(a,o),bt(a,c),bt(s,l),i!==void 0?(bt(l,c),bt(l,i.left),bt(i.right,o)):bt(l,a),t.decisionMap[So(e,i?"RepetitionWithSeparator":"Repetition",r.idx)]=a,{left:a,right:c}}function jM(t,e,r,n){let i=n.left,o=n.right;return bt(i,o),t.decisionMap[So(e,"Option",r.idx)]=i,n}function Ni(t,e){return t.decisionStates.push(e),e.decision=t.decisionStates.length-1,e.decision}function Qs(t,e,r,n,...i){let o=Ct(t,e,n,{type:OM,start:r});r.end=o;for(let a of i)a!==void 0?(bt(r,a.left),bt(a.right,o)):bt(r,o);let s={left:r,right:o};return t.decisionMap[So(e,zM(n),n.idx)]=r,s}function zM(t){if(t instanceof Ye)return"Alternation";if(t instanceof Ge)return"Option";if(t instanceof Re)return"Repetition";if(t instanceof Ve)return"RepetitionWithSeparator";if(t instanceof et)return"RepetitionMandatory";if(t instanceof tt)return"RepetitionMandatoryWithSeparator";throw new Error("Invalid production type encountered")}function qM(t,e){let r=e.length;for(let o=0;o<r-1;o++){let s=e[o],a;s.left.transitions.length===1&&(a=s.left.transitions[0]);let c=a instanceof Js,l=a,u=e[o+1].left;s.left.type===ki&&s.right.type===ki&&a!==void 0&&(c&&l.followState===s.right||a.target===s.right)?(c?l.followState=u:a.target=u,YM(t,s.right)):bt(s.right,u)}let n=e[0],i=e[r-1];return{left:n.left,right:i.right}}function zg(t,e,r,n){let i=Ct(t,e,n,{type:ki}),o=Ct(t,e,n,{type:ki});return qg(i,new Zs(o,r)),{left:i,right:o}}function WM(t,e,r){let n=r.referencedRule,i=t.ruleToStartState.get(n),o=Ct(t,e,r,{type:ki}),s=Ct(t,e,r,{type:ki}),a=new Js(i,n,s);return qg(o,a),{left:o,right:s}}function VM(t,e,r){let n=t.ruleToStartState.get(e);bt(n,r.left);let i=t.ruleToStopState.get(e);return bt(r.right,i),{left:n,right:i}}function bt(t,e){let r=new ll(e);qg(t,r)}function Ct(t,e,r,n){let i=Object.assign({atn:t,production:r,epsilonOnlyTransitions:!1,rule:e,transitions:[],nextTokenWithinRule:[],stateNumber:t.states.length},n);return t.states.push(i),i}function qg(t,e){t.transitions.length===0&&(t.epsilonOnlyTransitions=e.isEpsilon()),t.transitions.push(e)}function YM(t,e){t.states.splice(t.states.indexOf(e),1)}var ul={},ea=class{constructor(){this.map={},this.configs=[]}get size(){return this.configs.length}finalize(){this.map={}}add(e){let r=Wg(e);r in this.map||(this.map[r]=this.configs.length,this.configs.push(e))}get elements(){return this.configs}get alts(){return hr(this.configs,e=>e.alt)}get key(){let e="";for(let r in this.map)e+=r+":";return e}};function Wg(t,e=!0){return`${e?`a${t.alt}`:""}s${t.state.stateNumber}:${t.stack.map(r=>r.stateNumber.toString()).join("_")}`}function KM(t,e,r){for(var n=-1,i=t.length;++n<i;){var o=t[n],s=e(o);if(s!=null&&(a===void 0?s===s&&!wi(s):r(s,a)))var a=s,c=o}return c}var xb=KM;function ZM(t,e){return t<e}var Tb=ZM;function JM(t){return t&&t.length?xb(t,Ks,Tb):void 0}var _b=JM;var Eb=Zt?Zt.isConcatSpreadable:void 0;function QM(t){return He(t)||vi(t)||!!(Eb&&t&&t[Eb])}var vb=QM;function Rb(t,e,r,n,i){var o=-1,s=t.length;for(r||(r=vb),i||(i=[]);++o<s;){var a=t[o];e>0&&r(a)?e>1?Rb(a,e-1,r,n,i):vd(i,a):n||(i[i.length]=a)}return i}var $d=Rb;function eF(t,e){return $d(hr(t,e),1)}var bb=eF;function tF(t,e,r,n){for(var i=t.length,o=r+(n?1:-1);n?o--:++o<i;)if(e(t[o],o,t))return o;return-1}var wb=tF;function rF(t){return t!==t}var Ab=rF;function nF(t,e,r){for(var n=r-1,i=t.length;++n<i;)if(t[n]===e)return n;return-1}var Sb=nF;function iF(t,e,r){return e===e?Sb(t,e,r):wb(t,Ab,r)}var Ib=iF;function oF(t,e){var r=t==null?0:t.length;return!!r&&Ib(t,e,0)>-1}var kb=oF;function sF(t,e,r){for(var n=-1,i=t==null?0:t.length;++n<i;)if(r(e,t[n]))return!0;return!1}var Nb=sF;function aF(){}var Pb=aF;var cF=1/0,lF=bi&&1/zs(new bi([,-0]))[1]==cF?function(t){return new bi(t)}:Pb,Cb=lF;var uF=200;function fF(t,e,r){var n=-1,i=kb,o=t.length,s=!0,a=[],c=a;if(r)s=!1,i=Nb;else if(o>=uF){var l=e?null:Cb(t);if(l)return zs(l);s=!1,i=_d,c=new Td}else c=e?[]:a;e:for(;++n<o;){var u=t[n],f=e?e(u):u;if(u=r||u!==0?u:0,s&&f===f){for(var d=c.length;d--;)if(c[d]===f)continue e;e&&c.push(f),a.push(u)}else i(c,f,r)||(c!==a&&c.push(f),a.push(u))}return a}var Ob=fF;function dF(t,e){return t&&t.length?Ob(t,Si(e,2)):[]}var Lb=dF;function pF(t){var e=t==null?0:t.length;return e?$d(t,1):[]}var Db=pF;function hF(t,e){for(var r=-1,n=t==null?0:t.length;++r<n&&e(t[r],r,t)!==!1;);return t}var $b=hF;function mF(t){return typeof t=="function"?t:Ks}var Mb=mF;function gF(t,e){var r=He(t)?$b:Ii;return r(t,Mb(e))}var Md=gF;var yF="[object Map]",xF="[object Set]",TF=Object.prototype,_F=TF.hasOwnProperty;function EF(t){if(t==null)return!0;if(Ri(t)&&(He(t)||typeof t=="string"||typeof t.splice=="function"||wo(t)||Ws(t)||vi(t)))return!t.length;var e=al(t);if(e==yF||e==xF)return!t.size;if(wd(t))return!Ad(t).length;for(var r in t)if(_F.call(t,r))return!1;return!0}var Fb=EF;function vF(t,e,r,n){var i=-1,o=t==null?0:t.length;for(n&&o&&(r=t[++i]);++i<o;)r=e(r,t[i],i,t);return r}var Ub=vF;function RF(t,e,r,n,i){return i(t,function(o,s,a){r=n?(n=!1,o):e(r,o,s,a)}),r}var Bb=RF;function bF(t,e,r){var n=He(t)?Ub:Bb,i=arguments.length<3;return n(t,Si(e,4),r,i,Ii)}var Vg=bF;function wF(t,e){let r={};return n=>{let i=n.toString(),o=r[i];return o!==void 0||(o={atnStartState:t,decision:e,states:{}},r[i]=o),o}}var Fd=class{constructor(){this.predicates=[]}is(e){return e>=this.predicates.length||this.predicates[e]}set(e,r){this.predicates[e]=r}toString(){let e="",r=this.predicates.length;for(let n=0;n<r;n++)e+=this.predicates[n]===!0?"1":"0";return e}},Gb=new Fd,fl=class extends Xn{constructor(e){var r,n;super(),this.logging=(r=e?.logging)!==null&&r!==void 0?r:(i=>console.log(i)),this.incomplete=(n=e?.incomplete)!==null&&n!==void 0?n:!1}initialize(e){this.atn=hb(e.rules),this.dfas=AF(this.atn)}validateAmbiguousAlternationAlternatives(){return[]}validateEmptyOrAlternatives(){return[]}buildLookaheadForAlternation(e){let{prodOccurrence:r,rule:n,hasPredicates:i,dynamicTokensEnabled:o}=e,s=this.dfas,a=this.logging,c=this.incomplete,l=So(n,"Alternation",r),f=this.atn.decisionMap[l].decision,d=hr(Wf({maxLookahead:1,occurrence:r,prodType:"Alternation",rule:n}),p=>hr(p,m=>m[0]));if(Xb(d,!1)&&!o){let p=Vg(d,(m,g,v)=>(Md(g,T=>{T&&(m[T.tokenTypeIdx]=v,Md(T.categoryMatches,_=>{m[_]=v}))}),m),{});return i?function(m){var g;let v=this.LA_FAST(1),T=p[v.tokenTypeIdx];if(m!==void 0&&T!==void 0){let _=(g=m[T])===null||g===void 0?void 0:g.GATE;if(_!==void 0&&_.call(this)===!1)return}return T}:function(){let m=this.LA_FAST(1);return p[m.tokenTypeIdx]}}else return i?function(p){let m=new Fd,g=p===void 0?0:p.length;for(let T=0;T<g;T++){let _=p?.[T].GATE;m.set(T,_===void 0||_.call(this))}let v=Yg.call(this,s,f,m,a,c);return typeof v=="number"?v:void 0}:function(){let p=Yg.call(this,s,f,Gb,a,c);return typeof p=="number"?p:void 0}}buildLookaheadForOptional(e){let{prodOccurrence:r,rule:n,prodType:i,dynamicTokensEnabled:o}=e,s=this.dfas,a=this.logging,c=this.incomplete,l=So(n,i,r),f=this.atn.decisionMap[l].decision,d=hr(Wf({maxLookahead:1,occurrence:r,prodType:i,rule:n}),p=>hr(p,m=>m[0]));if(Xb(d)&&d[0][0]&&!o){let p=d[0],m=Db(p);if(m.length===1&&Fb(m[0].categoryMatches)){let v=m[0].tokenTypeIdx;return function(){return this.LA_FAST(1).tokenTypeIdx===v}}else{let g=Vg(m,(v,T)=>(T!==void 0&&(v[T.tokenTypeIdx]=!0,Md(T.categoryMatches,_=>{v[_]=!0})),v),{});return function(){let v=this.LA_FAST(1);return g[v.tokenTypeIdx]===!0}}}return function(){let p=Yg.call(this,s,f,Gb,a,c);return typeof p=="object"?!1:p===0}}};function Xb(t,e=!0){let r=new Set;for(let n of t){let i=new Set;for(let o of n){if(o===void 0){if(e)break;return!1}let s=[o.tokenTypeIdx].concat(o.categoryMatches);for(let a of s)if(r.has(a)){if(!i.has(a))return!1}else r.add(a),i.add(a)}}return!0}function AF(t){let e=t.decisionStates.length,r=Array(e);for(let n=0;n<e;n++)r[n]=wF(t.decisionStates[n],n);return r}function Yg(t,e,r,n,i){let o=t[e](r),s=o.start;if(s===void 0){let c=MF(o.atnStartState);s=zb(o,jb(c)),o.start=s}return SF.apply(this,[o,s,r,n,i])}function SF(t,e,r,n,i){let o=e,s=1,a=[],c=this.LA_FAST(s++);for(;;){let l=OF(o,c);if(l===void 0&&(l=IF.apply(this,[t,o,c,s,r,n])),l===ul)return CF(a,o,c);if(l.isAcceptState===!0){if(i===!0&&Os(c,Yt)){let u=zF(o,r);if(u!==void 0)return u}return l.prediction}o=l,a.push(c),c=this.LA(s++)}}function IF(t,e,r,n,i,o){let s=LF(e.configs,r,i);if(s.size===0)return Hb(t,e,r,ul),ul;let a=jb(s),c=$F(s,i);if(c!==void 0)a.isAcceptState=!0,a.prediction=c,a.configs.uniqueAlt=c;else if(GF(s)){let l=_b(s.alts);a.isAcceptState=!0,a.prediction=l,a.configs.uniqueAlt=l,kF.apply(this,[t,n,s.alts,o])}return a=Hb(t,e,r,a),a}function kF(t,e,r,n){let i=[];for(let l=1;l<=e;l++)i.push(this.LA(l).tokenType);let o=t.atnStartState,s=o.rule,a=o.production,c=NF({topLevelRule:s,ambiguityIndices:r,production:a,prefixPath:i});n(c)}function NF(t){let e=hr(t.prefixPath,i=>Un(i)).join(", "),r=t.production.idx===0?"":t.production.idx,n=`Ambiguous Alternatives Detected: <${t.ambiguityIndices.join(", ")}> in <${PF(t.production)}${r}> inside <${t.topLevelRule.name}> Rule,
|
|
149
149
|
<${e}> may appears as a prefix path in all these alternatives.
|
|
150
150
|
`;return n=n+`See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#AMBIGUOUS_ALTERNATIVES
|
|
151
|
-
For Further details.`,n}function H1(t){if(t instanceof Me)return"SUBRULE";if(t instanceof Fe)return"OPTION";if(t instanceof ze)return"OR";if(t instanceof Ze)return"AT_LEAST_ONE";if(t instanceof Je)return"AT_LEAST_ONE_SEP";if(t instanceof qe)return"MANY_SEP";if(t instanceof be)return"MANY";if(t instanceof ge)return"CONSUME";throw Error("non exhaustive match")}function j1(t,e,r){let n=tA(e.configs.elements,o=>o.state.transitions),i=fA(n.filter(o=>o instanceof Gs).map(o=>o.tokenType),o=>o.tokenTypeIdx);return{actualToken:r,possibleTokenTypes:i,tokenPath:t}}function W1(t,e){return t.edges[e.tokenTypeIdx]}function q1(t,e,r){let n=new Ws,i=[];for(let s of t.elements){if(r.is(s.alt)===!1)continue;if(s.state.type===Eo){i.push(s);continue}let a=s.state.transitions.length;for(let c=0;c<a;c++){let l=s.state.transitions[c],u=z1(l,e);u!==void 0&&n.add({state:u,alt:s.alt,stack:s.stack})}}let o;if(i.length===0&&n.size===1&&(o=n),o===void 0){o=new Ws;for(let s of n.elements)Id(s,o)}if(i.length>0&&!Z1(o))for(let s of i)o.add(s);return o}function z1(t,e){if(t instanceof Gs&&ws(e,t.tokenType))return t.target}function V1(t,e){let r;for(let n of t.elements)if(e.is(n.alt)===!0){if(r===void 0)r=n.alt;else if(r!==n.alt)return}return r}function EA(t){return{configs:t,edges:{},isAcceptState:!1,prediction:-1}}function _A(t,e,r,n){return n=RA(t,n),e.edges[r.tokenTypeIdx]=n,n}function RA(t,e){if(e===rl)return e;let r=e.configs.key,n=t.states[r];return n!==void 0?n:(e.configs.finalize(),t.states[r]=e,e)}function Y1(t){let e=new Ws,r=t.transitions.length;for(let n=0;n<r;n++){let o={state:t.transitions[n].target,alt:n,stack:[]};Id(o,e)}return e}function Id(t,e){let r=t.state;if(r.type===Eo){if(t.stack.length>0){let i=[...t.stack],s={state:i.pop(),alt:t.alt,stack:i};Id(s,e)}else e.add(t);return}r.epsilonOnlyTransitions||e.add(t);let n=r.transitions.length;for(let i=0;i<n;i++){let o=r.transitions[i],s=K1(t,o);s!==void 0&&Id(s,e)}}function K1(t,e){if(e instanceof tl)return{state:e.target,alt:t.alt,stack:t.stack};if(e instanceof Hs){let r=[...t.stack,e.followState];return{state:e.target,alt:t.alt,stack:r}}}function Z1(t){for(let e of t.elements)if(e.state.type===Eo)return!0;return!1}function J1(t){for(let e of t.elements)if(e.state.type!==Eo)return!1;return!0}function Q1(t){if(J1(t))return!0;let e=eF(t.elements);return tF(e)&&!rF(e)}function eF(t){let e=new Map;for(let r of t){let n=Pg(r,!1),i=e.get(n);i===void 0&&(i={},e.set(n,i)),i[r.alt]=!0}return e}function tF(t){for(let e of Array.from(t.values()))if(Object.keys(e).length>1)return!0;return!1}function rF(t){for(let e of Array.from(t.values()))if(Object.keys(e).length===1)return!0;return!1}function nF(t,e){let r;for(let n of t.configs.elements)if(!(e.is(n.alt)===!1||n.state.type===Eo)){if(r===void 0)r=n.alt;else if(r!==n.alt)return}return r}Zs();var fl=class{constructor(){this.nodeStack=[]}get current(){return this.nodeStack[this.nodeStack.length-1]??this.rootNode}buildRootNode(e){return this.rootNode=new Js(e),this.rootNode.root=this.rootNode,this.nodeStack=[this.rootNode],this.rootNode}buildCompositeNode(e){let r=new Io;return r.grammarSource=e,r.root=this.rootNode,this.current.content.push(r),this.nodeStack.push(r),r}buildLeafNode(e,r){let n=new Ao(e.startOffset,e.image.length,ds(e),e.tokenType,!r);return n.grammarSource=r,n.root=this.rootNode,this.current.content.push(n),n}removeNode(e){let r=e.container;if(r){let n=r.content.indexOf(e);n>=0&&r.content.splice(n,1)}}addHiddenNodes(e){let r=[];for(let o of e){let s=new Ao(o.startOffset,o.image.length,ds(o),o.tokenType,!0);s.root=this.rootNode,r.push(s)}let n=this.current,i=!1;if(n.content.length>0){n.content.push(...r);return}for(;n.container;){let o=n.container.content.indexOf(n);if(o>0){n.container.content.splice(o,0,...r),i=!0;break}n=n.container}i||this.rootNode.content.unshift(...r)}construct(e){let r=this.current;typeof e.$type=="string"&&!e.$infixName&&(this.current.astNode=e),e.$cstNode=r;let n=this.nodeStack.pop();n?.content.length===0&&this.removeNode(n)}},dl=class{get hidden(){return!1}get astNode(){let e=typeof this._astNode?.$type=="string"?this._astNode:this.container?.astNode;if(!e)throw new Error("This node has no associated AST element");return e}set astNode(e){this._astNode=e}get text(){return this.root.fullText.substring(this.offset,this.end)}},Ao=class extends dl{get offset(){return this._offset}get length(){return this._length}get end(){return this._offset+this._length}get hidden(){return this._hidden}get tokenType(){return this._tokenType}get range(){return this._range}constructor(e,r,n,i,o=!1){super(),this._hidden=o,this._offset=e,this._tokenType=i,this._length=r,this._range=n}},Io=class extends dl{constructor(){super(...arguments),this.content=new $y(this)}get offset(){return this.firstNonHiddenNode?.offset??0}get length(){return this.end-this.offset}get end(){return this.lastNonHiddenNode?.end??0}get range(){let e=this.firstNonHiddenNode,r=this.lastNonHiddenNode;if(e&&r){if(this._rangeCache===void 0){let{range:n}=e,{range:i}=r;this._rangeCache={start:n.start,end:i.end.line<n.start.line?n.start:i.end}}return this._rangeCache}else return{start:ke.create(0,0),end:ke.create(0,0)}}get firstNonHiddenNode(){for(let e of this.content)if(!e.hidden)return e;return this.content[0]}get lastNonHiddenNode(){for(let e=this.content.length-1;e>=0;e--){let r=this.content[e];if(!r.hidden)return r}return this.content[this.content.length-1]}},$y=class t extends Array{constructor(e){super(),this.parent=e,Object.setPrototypeOf(this,t.prototype)}push(...e){return this.addParents(e),super.push(...e)}unshift(...e){return this.addParents(e),super.unshift(...e)}splice(e,r,...n){return this.addParents(n),super.splice(e,r,...n)}addParents(e){for(let r of e)r.container=this.parent}},Js=class extends Io{get text(){return this._text.substring(this.offset,this.end)}get fullText(){return this._text}constructor(e){super(),this._text="",this._text=e??""}};var $d=Symbol("Datatype");function My(t){return t.$type===$d}var bA="\u200B",wA=t=>t.endsWith(bA)?t:t+bA,pl=class{constructor(e,r){this._unorderedGroups=new Map,this.allRules=new Map,this.lexer=e.parser.Lexer;let n=this.lexer.definition,i=e.LanguageMetaData.mode==="production";e.shared.profilers.LangiumProfiler?.isActive("parsing")?this.wrapper=new Fy(n,{...e.parser.ParserConfig,skipValidations:i,errorMessageProvider:e.parser.ParserErrorMessageProvider},r,e.shared.profilers.LangiumProfiler.createTask("parsing",e.LanguageMetaData.languageId)):this.wrapper=new Fd(n,{...e.parser.ParserConfig,skipValidations:i,errorMessageProvider:e.parser.ParserErrorMessageProvider},r)}alternatives(e,r){this.wrapper.wrapOr(e,r)}optional(e,r){this.wrapper.wrapOption(e,r)}many(e,r){this.wrapper.wrapMany(e,r)}atLeastOne(e,r){this.wrapper.wrapAtLeastOne(e,r)}getRule(e){return this.allRules.get(e)}isRecording(){return this.wrapper.IS_RECORDING}get unorderedGroups(){return this._unorderedGroups}getRuleStack(){return this.wrapper.RULE_STACK}finalize(){this.wrapper.wrapSelfAnalysis()}},hl=class extends pl{get current(){return this.stack[this.stack.length-1]}constructor(e){super(e,!1),this.nodeBuilder=new fl,this.stack=[],this.assignmentMap=new Map,this.operatorPrecedence=new Map,this.linker=e.references.Linker,this.converter=e.parser.ValueConverter,this.astReflection=e.shared.AstReflection}rule(e,r){let n=this.computeRuleType(e),i;oi(e)&&(i=e.name,this.registerPrecedenceMap(e));let o=this.wrapper.DEFINE_RULE(wA(e.name),this.startImplementation(n,i,r).bind(this));return this.allRules.set(e.name,o),St(e)&&e.entry&&(this.mainRule=o),o}registerPrecedenceMap(e){let r=e.name,n=new Map;for(let i=0;i<e.operators.precedences.length;i++){let o=e.operators.precedences[i];for(let s of o.operators)n.set(s.value,{precedence:i,rightAssoc:o.associativity==="right"})}this.operatorPrecedence.set(r,n)}computeRuleType(e){return oi(e)?ai(e):e.fragment?void 0:Lc(e)?$d:ai(e)}parse(e,r={}){this.nodeBuilder.buildRootNode(e);let n=this.lexerResult=this.lexer.tokenize(e);this.wrapper.input=n.tokens;let i=r.rule?this.allRules.get(r.rule):this.mainRule;if(!i)throw new Error(r.rule?`No rule found with name '${r.rule}'`:"No main rule available.");let o=this.doParse(i);return this.nodeBuilder.addHiddenNodes(n.hidden),this.unorderedGroups.clear(),this.lexerResult=void 0,rs(o,{deep:!0}),{value:o,lexerErrors:n.errors,lexerReport:n.report,parserErrors:this.wrapper.errors}}doParse(e){let r=this.wrapper.rule(e);if(this.stack.length>0&&(r=this.construct()),r===void 0)throw new Error("No result from parser");if(this.stack.length>0)throw new Error("Parser stack is not empty after parsing");return r}startImplementation(e,r,n){return i=>{let o=!this.isRecording()&&e!==void 0;if(o){let s={$type:e};this.stack.push(s),e===$d?s.value="":r!==void 0&&(s.$infixName=r)}return n(i),o?this.construct():void 0}}extractHiddenTokens(e){let r=this.lexerResult.hidden;if(!r.length)return[];let n=e.startOffset;for(let i=0;i<r.length;i++)if(r[i].startOffset>n)return r.splice(0,i);return r.splice(0,r.length)}consume(e,r,n){let i=this.wrapper.wrapConsume(e,r);if(!this.isRecording()&&this.isValidToken(i)){let o=this.extractHiddenTokens(i);this.nodeBuilder.addHiddenNodes(o);let s=this.nodeBuilder.buildLeafNode(i,n),{assignment:a,crossRef:c}=this.getAssignment(n),l=this.current;if(a){let u=Er(n)?i.image:this.converter.convert(i.image,s);this.assign(a.operator,a.feature,u,s,c)}else if(My(l)){let u=i.image;Er(n)||(u=this.converter.convert(u,s).toString()),l.value+=u}}}isValidToken(e){return!e.isInsertedInRecovery&&!isNaN(e.startOffset)&&typeof e.endOffset=="number"&&!isNaN(e.endOffset)}subrule(e,r,n,i,o){let s;!this.isRecording()&&!n&&(s=this.nodeBuilder.buildCompositeNode(i));let a;try{a=this.wrapper.wrapSubrule(e,r,o)}finally{this.isRecording()||(a===void 0&&!n&&(a=this.construct()),a!==void 0&&s&&s.length>0&&this.performSubruleAssignment(a,i,s))}}performSubruleAssignment(e,r,n){let{assignment:i,crossRef:o}=this.getAssignment(r);if(i)this.assign(i.operator,i.feature,e,n,o);else if(!i){let s=this.current;if(My(s))s.value+=e.toString();else if(typeof e=="object"&&e){let c=this.assignWithoutOverride(e,s);this.stack.pop(),this.stack.push(c)}}}action(e,r){if(!this.isRecording()){let n=this.current;if(r.feature&&r.operator){n=this.construct(),this.nodeBuilder.removeNode(n.$cstNode),this.nodeBuilder.buildCompositeNode(r).content.push(n.$cstNode);let o={$type:e};this.stack.push(o),this.assign(r.operator,r.feature,n,n.$cstNode)}else n.$type=e}}construct(){if(this.isRecording())return;let e=this.stack.pop();return this.nodeBuilder.construct(e),"$infixName"in e?this.constructInfix(e,this.operatorPrecedence.get(e.$infixName)):My(e)?this.converter.convert(e.value,e.$cstNode):(sm(this.astReflection,e),e)}constructInfix(e,r){let n=e.parts;if(!Array.isArray(n)||n.length===0)return;let i=e.operators;if(!Array.isArray(i)||n.length<2)return n[0];let o=0,s=-1;for(let y=0;y<i.length;y++){let R=i[y],T=r.get(R)??{precedence:1/0,rightAssoc:!1};T.precedence>s?(s=T.precedence,o=y):T.precedence===s&&(T.rightAssoc||(o=y))}let a=i.slice(0,o),c=i.slice(o+1),l=n.slice(0,o+1),u=n.slice(o+1),f={$infixName:e.$infixName,$type:e.$type,$cstNode:e.$cstNode,parts:l,operators:a},d={$infixName:e.$infixName,$type:e.$type,$cstNode:e.$cstNode,parts:u,operators:c},p=this.constructInfix(f,r),m=this.constructInfix(d,r);return{$type:e.$type,$cstNode:e.$cstNode,left:p,operator:i[o],right:m}}getAssignment(e){if(!this.assignmentMap.has(e)){let r=An(e,$r);this.assignmentMap.set(e,{assignment:r,crossRef:r&&Mr(r.terminal)?r.terminal.isMulti?"multi":"single":void 0})}return this.assignmentMap.get(e)}assign(e,r,n,i,o){let s=this.current,a;switch(o==="single"&&typeof n=="string"?a=this.linker.buildReference(s,r,i,n):o==="multi"&&typeof n=="string"?a=this.linker.buildMultiReference(s,r,i,n):a=n,e){case"=":{s[r]=a;break}case"?=":{s[r]=!0;break}case"+=":Array.isArray(s[r])||(s[r]=[]),s[r].push(a)}}assignWithoutOverride(e,r){for(let[i,o]of Object.entries(r)){let s=e[i];s===void 0?e[i]=o:Array.isArray(s)&&Array.isArray(o)&&(o.push(...s),e[i]=o)}let n=e.$cstNode;return n&&(n.astNode=void 0,e.$cstNode=void 0),e}get definitionErrors(){return this.wrapper.definitionErrors}},Md=class{buildMismatchTokenMessage(e){return $n.buildMismatchTokenMessage(e)}buildNotAllInputParsedMessage(e){return $n.buildNotAllInputParsedMessage(e)}buildNoViableAltMessage(e){return $n.buildNoViableAltMessage(e)}buildEarlyExitMessage(e){return $n.buildEarlyExitMessage(e)}},Qs=class extends Md{buildMismatchTokenMessage({expected:e,actual:r}){return`Expecting ${e.LABEL?"`"+e.LABEL+"`":e.name.endsWith(":KW")?`keyword '${e.name.substring(0,e.name.length-3)}'`:`token of type '${e.name}'`} but found \`${r.image}\`.`}buildNotAllInputParsedMessage({firstRedundant:e}){return`Expecting end of file but found \`${e.image}\`.`}},ml=class extends pl{constructor(e){super(e,!0),this.tokens=[],this.elementStack=[],this.lastElementStack=[],this.nextTokenIndex=0,this.stackSize=0}action(){}construct(){}parse(e){this.resetState();let r=this.lexer.tokenize(e,{mode:"partial"});return this.tokens=r.tokens,this.wrapper.input=[...this.tokens],this.mainRule.call(this.wrapper,{}),this.unorderedGroups.clear(),{tokens:this.tokens,elementStack:[...this.lastElementStack],tokenIndex:this.nextTokenIndex}}rule(e,r){let n=this.wrapper.DEFINE_RULE(wA(e.name),this.startImplementation(r).bind(this));return this.allRules.set(e.name,n),e.entry&&(this.mainRule=n),n}resetState(){this.elementStack=[],this.lastElementStack=[],this.nextTokenIndex=0,this.stackSize=0}startImplementation(e){return r=>{let n=this.keepStackSize();try{e(r)}finally{this.resetStackSize(n)}}}removeUnexpectedElements(){this.elementStack.splice(this.stackSize)}keepStackSize(){let e=this.elementStack.length;return this.stackSize=e,e}resetStackSize(e){this.removeUnexpectedElements(),this.stackSize=e}consume(e,r,n){this.wrapper.wrapConsume(e,r),this.isRecording()||(this.lastElementStack=[...this.elementStack,n],this.nextTokenIndex=this.currIdx+1)}subrule(e,r,n,i,o){this.before(i),this.wrapper.wrapSubrule(e,r,o),this.after(i)}before(e){this.isRecording()||this.elementStack.push(e)}after(e){if(!this.isRecording()){let r=this.elementStack.lastIndexOf(e);r>=0&&this.elementStack.splice(r)}}get currIdx(){return this.wrapper.currIdx}},oF={recoveryEnabled:!0,nodeLocationTracking:"full",skipValidations:!0,errorMessageProvider:new Qs},Fd=class extends Kc{constructor(e,r,n){let i=r&&"maxLookahead"in r;super(e,{...oF,lookaheadStrategy:i?new Mn({maxLookahead:r.maxLookahead}):new nl({logging:r.skipValidations?()=>{}:void 0,incomplete:n}),...r})}get IS_RECORDING(){return this.RECORDING_PHASE}DEFINE_RULE(e,r,n){return this.RULE(e,r,n)}wrapSelfAnalysis(){this.performSelfAnalysis()}wrapConsume(e,r){return this.consume(e,r,void 0)}wrapSubrule(e,r,n){return this.subrule(e,r,{ARGS:[n]})}wrapOr(e,r){this.or(e,r)}wrapOption(e,r){this.option(e,r)}wrapMany(e,r){this.many(e,r)}wrapAtLeastOne(e,r){this.atLeastOne(e,r)}rule(e){return e.call(this,{})}},Fy=class extends Fd{constructor(e,r,n,i){super(e,r,n),this.task=i}rule(e){this.task.start(),this.task.startSubTask(this.ruleName(e));try{return super.rule(e)}finally{this.task.stopSubTask(this.ruleName(e)),this.task.stop()}}ruleName(e){return e.ruleName}subrule(e,r,n){this.task.startSubTask(this.ruleName(r));try{return super.subrule(e,r,n)}finally{this.task.stopSubTask(this.ruleName(r))}}};function gl(t,e,r){return sF({parser:e,tokens:r,ruleNames:new Map},t),e}function sF(t,e){let r=Cc(e,!1),n=me(e.rules).filter(St).filter(o=>r.has(o));for(let o of n){let s={...t,consume:1,optional:1,subrule:1,many:1,or:1};t.parser.rule(o,So(s,o.definition))}let i=me(e.rules).filter(oi).filter(o=>r.has(o));for(let o of i)t.parser.rule(o,aF(t,o))}function aF(t,e){let r=e.call.rule.ref;if(!r)throw new Error("Could not resolve reference to infix operator rule: "+e.call.rule.$refText);if(qt(r))throw new Error("Cannot use terminal rule in infix expression");let n=e.operators.precedences.flatMap(p=>p.operators),i={$type:"Group",elements:[]},o={$container:i,$type:"Assignment",feature:"parts",operator:"+=",terminal:e.call},s={$container:i,$type:"Group",elements:[],cardinality:"*"};i.elements.push(o,s);let c={$container:s,$type:"Assignment",feature:"operators",operator:"+=",terminal:{$type:"Alternatives",elements:n}},l={...o,$container:s};s.elements.push(c,l);let f=n.map(p=>t.tokens[p.value]).map((p,m)=>({ALT:()=>t.parser.consume(m,p,c)})),d;return p=>{d??(d=By(t,r)),t.parser.subrule(0,d,!1,o,p),t.parser.many(0,{DEF:()=>{t.parser.alternatives(0,f),t.parser.subrule(1,d,!1,l,p)}})}}function So(t,e,r=!1){let n;if(Er(e))n=hF(t,e);else if(kn(e))n=cF(t,e);else if($r(e))n=So(t,e.terminal);else if(Mr(e))n=AA(t,e);else if(Fr(e))n=lF(t,e);else if(uf(e))n=fF(t,e);else if(hf(e))n=dF(t,e);else if(ii(e))n=pF(t,e);else if(pm(e)){let i=t.consume++;n=()=>t.parser.consume(i,Yt,e)}else throw new co(e.$cstNode,`Unexpected element type: ${e.$type}`);return IA(t,r?void 0:Ud(e),n,e.cardinality)}function cF(t,e){let r=ai(e);return()=>t.parser.action(r,e)}function lF(t,e){let r=e.rule.ref;if(vn(r)){let n=t.subrule++,i=St(r)&&r.fragment,o=e.arguments.length>0?uF(r,e.arguments):()=>({}),s;return a=>{s??(s=By(t,r)),t.parser.subrule(n,s,i,e,o(a))}}else if(qt(r)){let n=t.consume++,i=Uy(t,r.name);return()=>t.parser.consume(n,i,e)}else if(r)sn(r);else throw new co(e.$cstNode,`Undefined rule: ${e.rule.$refText}`)}function uF(t,e){if(e.some(n=>n.calledByName)){let n=e.map(i=>({parameterName:i.parameter?.ref?.name,predicate:fn(i.value)}));return i=>{let o={};for(let{parameterName:s,predicate:a}of n)s&&(o[s]=a(i));return o}}else{let n=e.map(i=>fn(i.value));return i=>{let o={};for(let s=0;s<n.length;s++)if(s<t.parameters.length){let a=t.parameters[s].name,c=n[s];o[a]=c(i)}return o}}}function fn(t){if(dm(t)){let e=fn(t.left),r=fn(t.right);return n=>e(n)||r(n)}else if(fm(t)){let e=fn(t.left),r=fn(t.right);return n=>e(n)&&r(n)}else if(gm(t)){let e=fn(t.value);return r=>!e(r)}else if(ym(t)){let e=t.parameter.ref.name;return r=>r!==void 0&&r[e]===!0}else if(lm(t)){let e=!!t.true;return()=>e}sn(t)}function fF(t,e){if(e.elements.length===1)return So(t,e.elements[0]);{let r=[];for(let i of e.elements){let o={ALT:So(t,i,!0)},s=Ud(i);s&&(o.GATE=fn(s)),r.push(o)}let n=t.or++;return i=>t.parser.alternatives(n,r.map(o=>{let s={ALT:()=>o.ALT(i)},a=o.GATE;return a&&(s.GATE=()=>a(i)),s}))}}function dF(t,e){if(e.elements.length===1)return So(t,e.elements[0]);let r=[];for(let a of e.elements){let c={ALT:So(t,a,!0)},l=Ud(a);l&&(c.GATE=fn(l)),r.push(c)}let n=t.or++,i=(a,c)=>{let l=c.getRuleStack().join("-");return`uGroup_${a}_${l}`},o=a=>t.parser.alternatives(n,r.map((c,l)=>{let u={ALT:()=>!0},f=t.parser;u.ALT=()=>{if(c.ALT(a),!f.isRecording()){let p=i(n,f);f.unorderedGroups.get(p)||f.unorderedGroups.set(p,[]);let m=f.unorderedGroups.get(p);typeof m?.[l]>"u"&&(m[l]=!0)}};let d=c.GATE;return d?u.GATE=()=>d(a):u.GATE=()=>!f.unorderedGroups.get(i(n,f))?.[l],u})),s=IA(t,Ud(e),o,"*");return a=>{s(a),t.parser.isRecording()||t.parser.unorderedGroups.delete(i(n,t.parser))}}function pF(t,e){let r=e.elements.map(n=>So(t,n));return n=>r.forEach(i=>i(n))}function Ud(t){if(ii(t))return t.guardCondition}function AA(t,e,r=e.terminal){if(r)if(Fr(r)&&St(r.rule.ref)){let n=r.rule.ref,i=t.subrule++,o;return s=>{o??(o=By(t,n)),t.parser.subrule(i,o,!1,e,s)}}else if(Fr(r)&&qt(r.rule.ref)){let n=t.consume++,i=Uy(t,r.rule.ref.name);return()=>t.parser.consume(n,i,e)}else if(Er(r)){let n=t.consume++,i=Uy(t,r.value);return()=>t.parser.consume(n,i,e)}else throw new Error("Could not build cross reference parser");else{if(!e.type.ref)throw new Error("Could not resolve reference to type: "+e.type.$refText);let i=_f(e.type.ref)?.terminal;if(!i)throw new Error("Could not find name assignment for type: "+ai(e.type.ref));return AA(t,e,i)}}function hF(t,e){let r=t.consume++,n=t.tokens[e.value];if(!n)throw new Error("Could not find token for keyword: "+e.value);return()=>t.parser.consume(r,n,e)}function IA(t,e,r,n){let i=e&&fn(e);if(!n)if(i){let o=t.or++;return s=>t.parser.alternatives(o,[{ALT:()=>r(s),GATE:()=>i(s)},{ALT:Qf(),GATE:()=>!i(s)}])}else return r;if(n==="*"){let o=t.many++;return s=>t.parser.many(o,{DEF:()=>r(s),GATE:i?()=>i(s):void 0})}else if(n==="+"){let o=t.many++;if(i){let s=t.or++;return a=>t.parser.alternatives(s,[{ALT:()=>t.parser.atLeastOne(o,{DEF:()=>r(a)}),GATE:()=>i(a)},{ALT:Qf(),GATE:()=>!i(a)}])}else return s=>t.parser.atLeastOne(o,{DEF:()=>r(s)})}else if(n==="?"){let o=t.optional++;return s=>t.parser.optional(o,{DEF:()=>r(s),GATE:i?()=>i(s):void 0})}else sn(n)}function By(t,e){let r=mF(t,e),n=t.parser.getRule(r);if(!n)throw new Error(`Rule "${r}" not found."`);return n}function mF(t,e){if(vn(e))return e.name;if(t.ruleNames.has(e))return t.ruleNames.get(e);{let r=e,n=r.$container,i=e.$type;for(;!St(n);)(ii(n)||uf(n)||hf(n))&&(i=n.elements.indexOf(r).toString()+":"+i),r=n,n=n.$container;return i=n.name+":"+i,t.ruleNames.set(e,i),i}}function Uy(t,e){let r=t.tokens[e];if(!r)throw new Error(`Token "${e}" not found."`);return r}function Xy(t){let e=t.Grammar,r=t.parser.Lexer,n=new ml(t);return gl(e,n,r.definition),n.finalize(),n}function Gy(t){let e=SA(t);return e.finalize(),e}function SA(t){let e=t.Grammar,r=t.parser.Lexer,n=new hl(t);return gl(e,n,r.definition)}var vo=class{constructor(){this.diagnostics=[]}buildTokens(e,r){let n=me(Cc(e,!1)),i=this.buildTerminalTokens(n),o=this.buildKeywordTokens(n,i,r);return o.push(...i),o}flushLexingReport(e){return{diagnostics:this.popDiagnostics()}}popDiagnostics(){let e=[...this.diagnostics];return this.diagnostics=[],e}buildTerminalTokens(e){return e.filter(qt).filter(r=>!r.fragment).map(r=>this.buildTerminalToken(r)).toArray()}buildTerminalToken(e){let r=hs(e),n=this.requiresCustomPattern(r)?this.regexPatternFunction(r):r,i={name:e.name,PATTERN:n};return typeof n=="function"&&(i.LINE_BREAKS=!0),e.hidden&&(i.GROUP=Pc(r)?at.SKIPPED:"hidden"),i}requiresCustomPattern(e){return!!(e.flags.includes("u")||e.flags.includes("s"))}regexPatternFunction(e){let r=new RegExp(e,e.flags+"y");return(n,i)=>(r.lastIndex=i,r.exec(n))}buildKeywordTokens(e,r,n){return e.filter(vn).flatMap(i=>Lr(i).filter(Er)).distinct(i=>i.value).toArray().sort((i,o)=>o.value.length-i.value.length).map(i=>this.buildKeywordToken(i,r,!!n?.caseInsensitive))}buildKeywordToken(e,r,n){let i=this.buildKeywordPattern(e,n),o={name:e.value,PATTERN:i,LONGER_ALT:this.findLongerAlt(e,r)};return typeof i=="function"&&(o.LINE_BREAKS=!0),o}buildKeywordPattern(e,r){return r?new RegExp(si(e.value),"i"):e.value}findLongerAlt(e,r){return r.reduce((n,i)=>{let o=i?.PATTERN;return o?.source&&Dm("^"+o.source+"$",e.value)&&n.push(i),n},[])}};var ko=class{convert(e,r){let n=r.grammarSource;if(Mr(n)&&(n=Fm(n)),Fr(n)){let i=n.rule.ref;if(!i)throw new Error("This cst node was not parsed by a rule.");return this.runConverter(i,e,r)}return e}runConverter(e,r,n){switch(e.name.toUpperCase()){case"INT":return dn.convertInt(r);case"STRING":return dn.convertString(r);case"ID":return dn.convertID(r)}switch(Wm(e)?.toLowerCase()){case"number":return dn.convertNumber(r);case"boolean":return dn.convertBoolean(r);case"bigint":return dn.convertBigint(r);case"date":return dn.convertDate(r);default:return r}}},dn;(function(t){function e(l){let u="";for(let f=1;f<l.length-1;f++){let d=l.charAt(f);if(d==="\\"){let p=l.charAt(++f);u+=r(p)}else u+=d}return u}t.convertString=e;function r(l){switch(l){case"b":return"\b";case"f":return"\f";case"n":return`
|
|
152
|
-
`;case"r":return"\r";case"t":return" ";case"v":return"\v";case"0":return"\0";default:return l}}function n(l){return l.charAt(0)==="^"?l.substring(1):l}t.convertID=n;function i(l){return parseInt(l)}t.convertInt=i;function o(l){return BigInt(l)}t.convertBigint=o;function s(l){return new Date(l)}t.convertDate=s;function a(l){return Number(l)}t.convertNumber=a;function c(l){return l.toLowerCase()==="true"}t.convertBoolean=c})(dn||(dn={}));var ne={};Ie(ne,rm(CA(),1));function Zy(){return new Promise(t=>{typeof setImmediate>"u"?setTimeout(t,0):setImmediate(t)})}var Hd=0,OA=10;function jd(){return Hd=performance.now(),new ne.CancellationTokenSource}function LA(t){OA=t}var br=Symbol("OperationCancelled");function pn(t){return t===br}async function ht(t){if(t===ne.CancellationToken.None)return;let e=performance.now();if(e-Hd>=OA&&(Hd=e,await Zy(),Hd=performance.now()),t.isCancellationRequested)throw br}var Jt=class{constructor(){this.promise=new Promise((e,r)=>{this.resolve=n=>(e(n),this),this.reject=n=>(r(n),this)})}};var Wd=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=MA(n.range),o=this.offsetAt(i.start),s=this.offsetAt(i.end);this._content=this._content.substring(0,o)+n.text+this._content.substring(s,this._content.length);let a=Math.max(i.start.line,0),c=Math.max(i.end.line,0),l=this._lineOffsets,u=DA(n.text,!1,o);if(c-a===u.length)for(let d=0,p=u.length;d<p;d++)l[d+a+1]=u[d];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 f=n.text.length-(s-o);if(f!==0)for(let d=a+1+u.length,p=l.length;d<p;d++)l[d]=l[d]+f}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=DA(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 s=Math.floor((n+i)/2);r[s]>e?i=s:n=s+1}let o=n-1;return e=this.ensureBeforeEOL(e,r[o]),{line:o,character:e-r[o]}}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];if(e.character<=0)return n;let i=e.line+1<r.length?r[e.line+1]:this._content.length,o=Math.min(n+e.character,i);return this.ensureBeforeEOL(o,n)}ensureBeforeEOL(e,r){for(;e>r&&$A(this._content.charCodeAt(e-1));)e--;return e}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}},ra;(function(t){function e(i,o,s,a){return new Wd(i,o,s,a)}t.create=e;function r(i,o,s){if(i instanceof Wd)return i.update(o,s),i;throw new Error("TextDocument.update: document must be created by TextDocument.create")}t.update=r;function n(i,o){let s=i.getText(),a=Jy(o.map(AF),(u,f)=>{let d=u.range.start.line-f.range.start.line;return d===0?u.range.start.character-f.range.start.character:d}),c=0,l=[];for(let u of a){let f=i.offsetAt(u.range.start);if(f<c)throw new Error("Overlapping edit");f>c&&l.push(s.substring(c,f)),u.newText.length&&l.push(u.newText),c=i.offsetAt(u.range.end)}return l.push(s.substr(c)),l.join("")}t.applyEdits=n})(ra||(ra={}));function Jy(t,e){if(t.length<=1)return t;let r=t.length/2|0,n=t.slice(0,r),i=t.slice(r);Jy(n,e),Jy(i,e);let o=0,s=0,a=0;for(;o<n.length&&s<i.length;)e(n[o],i[s])<=0?t[a++]=n[o++]:t[a++]=i[s++];for(;o<n.length;)t[a++]=n[o++];for(;s<i.length;)t[a++]=i[s++];return t}function DA(t,e,r=0){let n=e?[r]:[];for(let i=0;i<t.length;i++){let o=t.charCodeAt(i);$A(o)&&(o===13&&i+1<t.length&&t.charCodeAt(i+1)===10&&i++,n.push(r+i+1))}return n}function $A(t){return t===13||t===10}function MA(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 AF(t){let e=MA(t.range);return e!==t.range?{newText:t.newText,range:e}:t}var FA;(()=>{"use strict";var t={975:O=>{function w(A){if(typeof A!="string")throw new TypeError("Path must be a string. Received "+JSON.stringify(A))}function L(A,I){for(var S,B="",H=0,$=-1,q=0,K=0;K<=A.length;++K){if(K<A.length)S=A.charCodeAt(K);else{if(S===47)break;S=47}if(S===47){if(!($===K-1||q===1))if($!==K-1&&q===2){if(B.length<2||H!==2||B.charCodeAt(B.length-1)!==46||B.charCodeAt(B.length-2)!==46){if(B.length>2){var xe=B.lastIndexOf("/");if(xe!==B.length-1){xe===-1?(B="",H=0):H=(B=B.slice(0,xe)).length-1-B.lastIndexOf("/"),$=K,q=0;continue}}else if(B.length===2||B.length===1){B="",H=0,$=K,q=0;continue}}I&&(B.length>0?B+="/..":B="..",H=2)}else B.length>0?B+="/"+A.slice($+1,K):B=A.slice($+1,K),H=K-$-1;$=K,q=0}else S===46&&q!==-1?++q:q=-1}return B}var M={resolve:function(){for(var A,I="",S=!1,B=arguments.length-1;B>=-1&&!S;B--){var H;B>=0?H=arguments[B]:(A===void 0&&(A=process.cwd()),H=A),w(H),H.length!==0&&(I=H+"/"+I,S=H.charCodeAt(0)===47)}return I=L(I,!S),S?I.length>0?"/"+I:"/":I.length>0?I:"."},normalize:function(A){if(w(A),A.length===0)return".";var I=A.charCodeAt(0)===47,S=A.charCodeAt(A.length-1)===47;return(A=L(A,!I)).length!==0||I||(A="."),A.length>0&&S&&(A+="/"),I?"/"+A:A},isAbsolute:function(A){return w(A),A.length>0&&A.charCodeAt(0)===47},join:function(){if(arguments.length===0)return".";for(var A,I=0;I<arguments.length;++I){var S=arguments[I];w(S),S.length>0&&(A===void 0?A=S:A+="/"+S)}return A===void 0?".":M.normalize(A)},relative:function(A,I){if(w(A),w(I),A===I||(A=M.resolve(A))===(I=M.resolve(I)))return"";for(var S=1;S<A.length&&A.charCodeAt(S)===47;++S);for(var B=A.length,H=B-S,$=1;$<I.length&&I.charCodeAt($)===47;++$);for(var q=I.length-$,K=H<q?H:q,xe=-1,Y=0;Y<=K;++Y){if(Y===K){if(q>K){if(I.charCodeAt($+Y)===47)return I.slice($+Y+1);if(Y===0)return I.slice($+Y)}else H>K&&(A.charCodeAt(S+Y)===47?xe=Y:Y===0&&(xe=0));break}var pe=A.charCodeAt(S+Y);if(pe!==I.charCodeAt($+Y))break;pe===47&&(xe=Y)}var it="";for(Y=S+xe+1;Y<=B;++Y)Y!==B&&A.charCodeAt(Y)!==47||(it.length===0?it+="..":it+="/..");return it.length>0?it+I.slice($+xe):($+=xe,I.charCodeAt($)===47&&++$,I.slice($))},_makeLong:function(A){return A},dirname:function(A){if(w(A),A.length===0)return".";for(var I=A.charCodeAt(0),S=I===47,B=-1,H=!0,$=A.length-1;$>=1;--$)if((I=A.charCodeAt($))===47){if(!H){B=$;break}}else H=!1;return B===-1?S?"/":".":S&&B===1?"//":A.slice(0,B)},basename:function(A,I){if(I!==void 0&&typeof I!="string")throw new TypeError('"ext" argument must be a string');w(A);var S,B=0,H=-1,$=!0;if(I!==void 0&&I.length>0&&I.length<=A.length){if(I.length===A.length&&I===A)return"";var q=I.length-1,K=-1;for(S=A.length-1;S>=0;--S){var xe=A.charCodeAt(S);if(xe===47){if(!$){B=S+1;break}}else K===-1&&($=!1,K=S+1),q>=0&&(xe===I.charCodeAt(q)?--q==-1&&(H=S):(q=-1,H=K))}return B===H?H=K:H===-1&&(H=A.length),A.slice(B,H)}for(S=A.length-1;S>=0;--S)if(A.charCodeAt(S)===47){if(!$){B=S+1;break}}else H===-1&&($=!1,H=S+1);return H===-1?"":A.slice(B,H)},extname:function(A){w(A);for(var I=-1,S=0,B=-1,H=!0,$=0,q=A.length-1;q>=0;--q){var K=A.charCodeAt(q);if(K!==47)B===-1&&(H=!1,B=q+1),K===46?I===-1?I=q:$!==1&&($=1):I!==-1&&($=-1);else if(!H){S=q+1;break}}return I===-1||B===-1||$===0||$===1&&I===B-1&&I===S+1?"":A.slice(I,B)},format:function(A){if(A===null||typeof A!="object")throw new TypeError('The "pathObject" argument must be of type Object. Received type '+typeof A);return(function(I,S){var B=S.dir||S.root,H=S.base||(S.name||"")+(S.ext||"");return B?B===S.root?B+H:B+"/"+H:H})(0,A)},parse:function(A){w(A);var I={root:"",dir:"",base:"",ext:"",name:""};if(A.length===0)return I;var S,B=A.charCodeAt(0),H=B===47;H?(I.root="/",S=1):S=0;for(var $=-1,q=0,K=-1,xe=!0,Y=A.length-1,pe=0;Y>=S;--Y)if((B=A.charCodeAt(Y))!==47)K===-1&&(xe=!1,K=Y+1),B===46?$===-1?$=Y:pe!==1&&(pe=1):$!==-1&&(pe=-1);else if(!xe){q=Y+1;break}return $===-1||K===-1||pe===0||pe===1&&$===K-1&&$===q+1?K!==-1&&(I.base=I.name=q===0&&H?A.slice(1,K):A.slice(q,K)):(q===0&&H?(I.name=A.slice(1,$),I.base=A.slice(1,K)):(I.name=A.slice(q,$),I.base=A.slice(q,K)),I.ext=A.slice($,K)),q>0?I.dir=A.slice(0,q-1):H&&(I.dir="/"),I},sep:"/",delimiter:":",win32:null,posix:null};M.posix=M,O.exports=M}},e={};function r(O){var w=e[O];if(w!==void 0)return w.exports;var L=e[O]={exports:{}};return t[O](L,L.exports,r),L.exports}r.d=(O,w)=>{for(var L in w)r.o(w,L)&&!r.o(O,L)&&Object.defineProperty(O,L,{enumerable:!0,get:w[L]})},r.o=(O,w)=>Object.prototype.hasOwnProperty.call(O,w),r.r=O=>{typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(O,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(O,"__esModule",{value:!0})};var n={};let i;r.r(n),r.d(n,{URI:()=>d,Utils:()=>Ae}),typeof process=="object"?i=process.platform==="win32":typeof navigator=="object"&&(i=navigator.userAgent.indexOf("Windows")>=0);let o=/^\w[\w\d+.-]*$/,s=/^\//,a=/^\/\//;function c(O,w){if(!O.scheme&&w)throw new Error(`[UriError]: Scheme is missing: {scheme: "", authority: "${O.authority}", path: "${O.path}", query: "${O.query}", fragment: "${O.fragment}"}`);if(O.scheme&&!o.test(O.scheme))throw new Error("[UriError]: Scheme contains illegal characters.");if(O.path){if(O.authority){if(!s.test(O.path))throw new Error('[UriError]: If a URI contains an authority component, then the path component must either be empty or begin with a slash ("/") character')}else if(a.test(O.path))throw new Error('[UriError]: If a URI does not contain an authority component, then the path cannot begin with two slash characters ("//")')}}let l="",u="/",f=/^(([^:/?#]+?):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/;class d{constructor(w,L,M,A,I,S=!1){le(this,"scheme");le(this,"authority");le(this,"path");le(this,"query");le(this,"fragment");typeof w=="object"?(this.scheme=w.scheme||l,this.authority=w.authority||l,this.path=w.path||l,this.query=w.query||l,this.fragment=w.fragment||l):(this.scheme=(function(B,H){return B||H?B:"file"})(w,S),this.authority=L||l,this.path=(function(B,H){switch(B){case"https":case"http":case"file":H?H[0]!==u&&(H=u+H):H=u}return H})(this.scheme,M||l),this.query=A||l,this.fragment=I||l,c(this,S))}static isUri(w){return w instanceof d||!!w&&typeof w.authority=="string"&&typeof w.fragment=="string"&&typeof w.path=="string"&&typeof w.query=="string"&&typeof w.scheme=="string"&&typeof w.fsPath=="string"&&typeof w.with=="function"&&typeof w.toString=="function"}get fsPath(){return E(this,!1)}with(w){if(!w)return this;let{scheme:L,authority:M,path:A,query:I,fragment:S}=w;return L===void 0?L=this.scheme:L===null&&(L=l),M===void 0?M=this.authority:M===null&&(M=l),A===void 0?A=this.path:A===null&&(A=l),I===void 0?I=this.query:I===null&&(I=l),S===void 0?S=this.fragment:S===null&&(S=l),L===this.scheme&&M===this.authority&&A===this.path&&I===this.query&&S===this.fragment?this:new m(L,M,A,I,S)}static parse(w,L=!1){let M=f.exec(w);return M?new m(M[2]||l,C(M[4]||l),C(M[5]||l),C(M[7]||l),C(M[9]||l),L):new m(l,l,l,l,l)}static file(w){let L=l;if(i&&(w=w.replace(/\\/g,u)),w[0]===u&&w[1]===u){let M=w.indexOf(u,2);M===-1?(L=w.substring(2),w=u):(L=w.substring(2,M),w=w.substring(M)||u)}return new m("file",L,w,l,l)}static from(w){let L=new m(w.scheme,w.authority,w.path,w.query,w.fragment);return c(L,!0),L}toString(w=!1){return _(this,w)}toJSON(){return this}static revive(w){if(w){if(w instanceof d)return w;{let L=new m(w);return L._formatted=w.external,L._fsPath=w._sep===p?w.fsPath:null,L}}return w}}let p=i?1:void 0;class m extends d{constructor(){super(...arguments);le(this,"_formatted",null);le(this,"_fsPath",null)}get fsPath(){return this._fsPath||(this._fsPath=E(this,!1)),this._fsPath}toString(L=!1){return L?_(this,!0):(this._formatted||(this._formatted=_(this,!1)),this._formatted)}toJSON(){let L={$mid:1};return this._fsPath&&(L.fsPath=this._fsPath,L._sep=p),this._formatted&&(L.external=this._formatted),this.path&&(L.path=this.path),this.scheme&&(L.scheme=this.scheme),this.authority&&(L.authority=this.authority),this.query&&(L.query=this.query),this.fragment&&(L.fragment=this.fragment),L}}let y={58:"%3A",47:"%2F",63:"%3F",35:"%23",91:"%5B",93:"%5D",64:"%40",33:"%21",36:"%24",38:"%26",39:"%27",40:"%28",41:"%29",42:"%2A",43:"%2B",44:"%2C",59:"%3B",61:"%3D",32:"%20"};function R(O,w,L){let M,A=-1;for(let I=0;I<O.length;I++){let S=O.charCodeAt(I);if(S>=97&&S<=122||S>=65&&S<=90||S>=48&&S<=57||S===45||S===46||S===95||S===126||w&&S===47||L&&S===91||L&&S===93||L&&S===58)A!==-1&&(M+=encodeURIComponent(O.substring(A,I)),A=-1),M!==void 0&&(M+=O.charAt(I));else{M===void 0&&(M=O.substr(0,I));let B=y[S];B!==void 0?(A!==-1&&(M+=encodeURIComponent(O.substring(A,I)),A=-1),M+=B):A===-1&&(A=I)}}return A!==-1&&(M+=encodeURIComponent(O.substring(A))),M!==void 0?M:O}function T(O){let w;for(let L=0;L<O.length;L++){let M=O.charCodeAt(L);M===35||M===63?(w===void 0&&(w=O.substr(0,L)),w+=y[M]):w!==void 0&&(w+=O[L])}return w!==void 0?w:O}function E(O,w){let L;return L=O.authority&&O.path.length>1&&O.scheme==="file"?`//${O.authority}${O.path}`:O.path.charCodeAt(0)===47&&(O.path.charCodeAt(1)>=65&&O.path.charCodeAt(1)<=90||O.path.charCodeAt(1)>=97&&O.path.charCodeAt(1)<=122)&&O.path.charCodeAt(2)===58?w?O.path.substr(1):O.path[1].toLowerCase()+O.path.substr(2):O.path,i&&(L=L.replace(/\//g,"\\")),L}function _(O,w){let L=w?T:R,M="",{scheme:A,authority:I,path:S,query:B,fragment:H}=O;if(A&&(M+=A,M+=":"),(I||A==="file")&&(M+=u,M+=u),I){let $=I.indexOf("@");if($!==-1){let q=I.substr(0,$);I=I.substr($+1),$=q.lastIndexOf(":"),$===-1?M+=L(q,!1,!1):(M+=L(q.substr(0,$),!1,!1),M+=":",M+=L(q.substr($+1),!1,!0)),M+="@"}I=I.toLowerCase(),$=I.lastIndexOf(":"),$===-1?M+=L(I,!1,!0):(M+=L(I.substr(0,$),!1,!0),M+=I.substr($))}if(S){if(S.length>=3&&S.charCodeAt(0)===47&&S.charCodeAt(2)===58){let $=S.charCodeAt(1);$>=65&&$<=90&&(S=`/${String.fromCharCode($+32)}:${S.substr(3)}`)}else if(S.length>=2&&S.charCodeAt(1)===58){let $=S.charCodeAt(0);$>=65&&$<=90&&(S=`${String.fromCharCode($+32)}:${S.substr(2)}`)}M+=L(S,!0,!1)}return B&&(M+="?",M+=L(B,!1,!1)),H&&(M+="#",M+=w?H:R(H,!1,!1)),M}function k(O){try{return decodeURIComponent(O)}catch{return O.length>3?O.substr(0,3)+k(O.substr(3)):O}}let D=/(%[0-9A-Za-z][0-9A-Za-z])+/g;function C(O){return O.match(D)?O.replace(D,(w=>k(w))):O}var j=r(975);let V=j.posix||j,ie="/";var Ae;(function(O){O.joinPath=function(w,...L){return w.with({path:V.join(w.path,...L)})},O.resolvePath=function(w,...L){let M=w.path,A=!1;M[0]!==ie&&(M=ie+M,A=!0);let I=V.resolve(M,...L);return A&&I[0]===ie&&!w.authority&&(I=I.substring(1)),w.with({path:I})},O.dirname=function(w){if(w.path.length===0||w.path===ie)return w;let L=V.dirname(w.path);return L.length===1&&L.charCodeAt(0)===46&&(L=""),w.with({path:L})},O.basename=function(w){return V.basename(w.path)},O.extname=function(w){return V.extname(w.path)}})(Ae||(Ae={})),FA=n})();var{URI:mt,Utils:na}=FA;var _t;(function(t){t.basename=na.basename,t.dirname=na.dirname,t.extname=na.extname,t.joinPath=na.joinPath,t.resolvePath=na.resolvePath;let e=typeof process=="object"&&process?.platform==="win32";function r(s,a){return s?.toString()===a?.toString()}t.equals=r;function n(s,a){let c=typeof s=="string"?mt.parse(s).path:s.path,l=typeof a=="string"?mt.parse(a).path:a.path,u=c.split("/").filter(y=>y.length>0),f=l.split("/").filter(y=>y.length>0);if(e){let y=/^[A-Z]:$/;if(u[0]&&y.test(u[0])&&(u[0]=u[0].toLowerCase()),f[0]&&y.test(f[0])&&(f[0]=f[0].toLowerCase()),u[0]!==f[0])return l.substring(1)}let d=0;for(;d<u.length&&u[d]===f[d];d++);let p="../".repeat(u.length-d),m=f.slice(d).join("/");return p+m}t.relative=n;function i(s){return mt.parse(s.toString()).toString()}t.normalize=i;function o(s,a){let c=typeof s=="string"?s:s.path,l=typeof a=="string"?a:a.path;return l.charAt(l.length-1)==="/"&&(l=l.slice(0,-1)),c.charAt(c.length-1)==="/"&&(c=c.slice(0,-1)),l===c?!0:l.length<c.length||l.charAt(c.length)!=="/"?!1:l.startsWith(c)}t.contains=o})(_t||(_t={}));var ia=class{constructor(){this.root={name:"",children:new Map}}normalizeUri(e){return _t.normalize(e)}clear(){this.root.children.clear()}insert(e,r){let n=this.getNode(this.normalizeUri(e),!0);n.element=r}delete(e){let r=this.getNode(this.normalizeUri(e),!1);r?.parent&&r.parent.children.delete(r.name)}has(e){return this.getNode(this.normalizeUri(e),!1)?.element!==void 0}hasNode(e){return this.getNode(this.normalizeUri(e),!1)!==void 0}find(e){return this.getNode(this.normalizeUri(e),!1)?.element}findNode(e){let r=this.normalizeUri(e),n=this.getNode(r,!1);if(n)return{name:n.name,uri:_t.joinPath(mt.parse(r),n.name).toString(),element:n.element}}findChildren(e){let r=this.normalizeUri(e),n=this.getNode(r,!1);return n?Array.from(n.children.values()).map(i=>({name:i.name,uri:_t.joinPath(mt.parse(r),i.name).toString(),element:i.element})):[]}all(){return this.collectValues(this.root)}findAll(e){let r=this.getNode(_t.normalize(e),!1);return r?this.collectValues(r):[]}getNode(e,r){let n=e.split("/");e.charAt(e.length-1)==="/"&&n.pop();let i=this.root;for(let o of n){let s=i.children.get(o);if(!s)if(r)s={name:o,children:new Map,parent:i},i.children.set(o,s);else return;i=s}return i}collectValues(e){let r=[];e.element&&r.push(e.element);for(let n of e.children.values())r.push(...this.collectValues(n));return r}};var he;(function(t){t[t.Changed=0]="Changed",t[t.Parsed=1]="Parsed",t[t.IndexedContent=2]="IndexedContent",t[t.ComputedScopes=3]="ComputedScopes",t[t.Linked=4]="Linked",t[t.IndexedReferences=5]="IndexedReferences",t[t.Validated=6]="Validated"})(he||(he={}));var yl=class{constructor(e){this.serviceRegistry=e.ServiceRegistry,this.textDocuments=e.workspace.TextDocuments,this.fileSystemProvider=e.workspace.FileSystemProvider}async fromUri(e,r=ne.CancellationToken.None){let n=await this.fileSystemProvider.readFile(e);return this.createAsync(e,n,r)}fromTextDocument(e,r,n){return r=r??mt.parse(e.uri),ne.CancellationToken.is(n)?this.createAsync(r,e,n):this.create(r,e,n)}fromString(e,r,n){return ne.CancellationToken.is(n)?this.createAsync(r,e,n):this.create(r,e,n)}fromModel(e,r){return this.create(r,{$model:e})}create(e,r,n){if(typeof r=="string"){let i=this.parse(e,r,n);return this.createLangiumDocument(i,e,void 0,r)}else if("$model"in r){let i={value:r.$model,parserErrors:[],lexerErrors:[]};return this.createLangiumDocument(i,e)}else{let i=this.parse(e,r.getText(),n);return this.createLangiumDocument(i,e,r)}}async createAsync(e,r,n){if(typeof r=="string"){let i=await this.parseAsync(e,r,n);return this.createLangiumDocument(i,e,void 0,r)}else{let i=await this.parseAsync(e,r.getText(),n);return this.createLangiumDocument(i,e,r)}}createLangiumDocument(e,r,n,i){let o;if(n)o={parseResult:e,uri:r,state:he.Parsed,references:[],textDocument:n};else{let s=this.createTextDocumentGetter(r,i);o={parseResult:e,uri:r,state:he.Parsed,references:[],get textDocument(){return s()}}}return e.value.$document=o,o}async update(e,r){let n=e.parseResult.value.$cstNode?.root.fullText,i=this.textDocuments?.get(e.uri.toString()),o=i?i.getText():await this.fileSystemProvider.readFile(e.uri);if(i)Object.defineProperty(e,"textDocument",{value:i});else{let s=this.createTextDocumentGetter(e.uri,o);Object.defineProperty(e,"textDocument",{get:s})}return n!==o&&(e.parseResult=await this.parseAsync(e.uri,o,r),e.parseResult.value.$document=e),e.state=he.Parsed,e}parse(e,r,n){return this.serviceRegistry.getServices(e).parser.LangiumParser.parse(r,n)}parseAsync(e,r,n){return this.serviceRegistry.getServices(e).parser.AsyncParser.parse(r,n)}createTextDocumentGetter(e,r){let n=this.serviceRegistry,i;return()=>i??(i=ra.create(e.toString(),n.getServices(e).LanguageMetaData.languageId,0,r??""))}},xl=class{constructor(e){this.documentTrie=new ia,this.services=e,this.langiumDocumentFactory=e.workspace.LangiumDocumentFactory,this.documentBuilder=()=>e.workspace.DocumentBuilder}get all(){return me(this.documentTrie.all())}addDocument(e){let r=e.uri.toString();if(this.documentTrie.has(r))throw new Error(`A document with the URI '${r}' is already present.`);this.documentTrie.insert(r,e)}getDocument(e){let r=e.toString();return this.documentTrie.find(r)}getDocuments(e){let r=e.toString();return this.documentTrie.findAll(r)}async getOrCreateDocument(e,r){let n=this.getDocument(e);return n||(n=await this.langiumDocumentFactory.fromUri(e,r),this.addDocument(n),n)}createDocument(e,r,n){if(n)return this.langiumDocumentFactory.fromString(r,e,n).then(i=>(this.addDocument(i),i));{let i=this.langiumDocumentFactory.fromString(r,e);return this.addDocument(i),i}}hasDocument(e){return this.documentTrie.has(e.toString())}invalidateDocument(e){let r=e.toString(),n=this.documentTrie.find(r);return n&&this.documentBuilder().resetToState(n,he.Changed),n}deleteDocument(e){let r=e.toString(),n=this.documentTrie.find(r);return n&&(n.state=he.Changed,this.documentTrie.delete(r)),n}deleteDocuments(e){let r=e.toString(),n=this.documentTrie.findAll(r);for(let i of n)i.state=he.Changed;return this.documentTrie.delete(r),n}};var No=Symbol("RefResolving"),Tl=class{constructor(e){this.reflection=e.shared.AstReflection,this.langiumDocuments=()=>e.shared.workspace.LangiumDocuments,this.scopeProvider=e.references.ScopeProvider,this.astNodeLocator=e.workspace.AstNodeLocator,this.profiler=e.shared.profilers.LangiumProfiler,this.languageId=e.LanguageMetaData.languageId}async link(e,r=ne.CancellationToken.None){if(this.profiler?.isActive("linking")){let n=this.profiler.createTask("linking",this.languageId);n.start();try{for(let i of Wt(e.parseResult.value))await ht(r),Jn(i).forEach(o=>{let s=`${i.$type}:${o.property}`;n.startSubTask(s);try{this.doLink(o,e)}finally{n.stopSubTask(s)}})}finally{n.stop()}}else for(let n of Wt(e.parseResult.value))await ht(r),Jn(n).forEach(i=>this.doLink(i,e))}doLink(e,r){let n=e.reference;if("_ref"in n&&n._ref===void 0){n._ref=No;try{let i=this.getCandidate(e);if(Vi(i))n._ref=i;else{n._nodeDescription=i;let o=this.loadAstNode(i);n._ref=o??this.createLinkingError(e,i)}}catch(i){console.error(`An error occurred while resolving reference to '${n.$refText}':`,i);let o=i.message??String(i);n._ref={info:e,message:`An error occurred while resolving reference to '${n.$refText}': ${o}`}}r.references.push(n)}else if("_items"in n&&n._items===void 0){n._items=No;try{let i=this.getCandidates(e),o=[];if(Vi(i))n._linkingError=i;else for(let s of i){let a=this.loadAstNode(s);a&&o.push({ref:a,$nodeDescription:s})}n._items=o}catch(i){n._linkingError={info:e,message:`An error occurred while resolving reference to '${n.$refText}': ${i}`},n._items=[]}r.references.push(n)}}unlink(e){for(let r of e.references)"_ref"in r?(r._ref=void 0,delete r._nodeDescription):"_items"in r&&(r._items=void 0,delete r._linkingError);e.references=[]}getCandidate(e){return this.scopeProvider.getScope(e).getElement(e.reference.$refText)??this.createLinkingError(e)}getCandidates(e){let n=this.scopeProvider.getScope(e).getElements(e.reference.$refText).distinct(i=>`${i.documentUri}#${i.path}`).toArray();return n.length>0?n:this.createLinkingError(e)}buildReference(e,r,n,i){let o=this,s={$refNode:n,$refText:i,_ref:void 0,get ref(){if(pt(this._ref))return this._ref;if(nm(this._nodeDescription)){let a=o.loadAstNode(this._nodeDescription);this._ref=a??o.createLinkingError({reference:s,container:e,property:r},this._nodeDescription)}else if(this._ref===void 0){this._ref=No;let a=ns(e).$document,c=o.getLinkedNode({reference:s,container:e,property:r});if(c.error&&a&&a.state<he.ComputedScopes)return this._ref=void 0;this._ref=c.node??c.error,this._nodeDescription=c.descr,a?.references.push(this)}else this._ref===No&&o.throwCyclicReferenceError(e,r,i);return pt(this._ref)?this._ref:void 0},get $nodeDescription(){return this._nodeDescription},get error(){return Vi(this._ref)?this._ref:void 0}};return s}buildMultiReference(e,r,n,i){let o=this,s={$refNode:n,$refText:i,_items:void 0,get items(){if(Array.isArray(this._items))return this._items;if(this._items===void 0){this._items=No;let a=ns(e).$document,c=o.getCandidates({reference:s,container:e,property:r}),l=[];if(Vi(c))this._linkingError=c;else for(let u of c){let f=o.loadAstNode(u);f&&l.push({ref:f,$nodeDescription:u})}this._items=l,a?.references.push(this)}else this._items===No&&o.throwCyclicReferenceError(e,r,i);return Array.isArray(this._items)?this._items:[]},get error(){if(this._linkingError)return this._linkingError;if(!(this.items.length>0))return this._linkingError=o.createLinkingError({reference:s,container:e,property:r})}};return s}throwCyclicReferenceError(e,r,n){throw new Error(`Cyclic reference resolution detected: ${this.astNodeLocator.getAstNodePath(e)}/${r} (symbol '${n}')`)}getLinkedNode(e){try{let r=this.getCandidate(e);if(Vi(r))return{error:r};let n=this.loadAstNode(r);return n?{node:n,descr:r}:{descr:r,error:this.createLinkingError(e,r)}}catch(r){console.error(`An error occurred while resolving reference to '${e.reference.$refText}':`,r);let n=r.message??String(r);return{error:{info:e,message:`An error occurred while resolving reference to '${e.reference.$refText}': ${n}`}}}}loadAstNode(e){if(e.node)return e.node;let r=this.langiumDocuments().getDocument(e.documentUri);if(r)return this.astNodeLocator.getAstNode(r.parseResult.value,e.path)}createLinkingError(e,r){let n=ns(e.container).$document;n&&n.state<he.ComputedScopes&&console.warn(`Attempted reference resolution before document reached ComputedScopes state (${n.uri}).`);let i=this.reflection.getReferenceType(e);return{info:e,message:`Could not resolve reference to ${i} named '${e.reference.$refText}'.`,targetDescription:r}}};function UA(t){return typeof t.name=="string"}var _l=class{getName(e){if(UA(e))return e.name}getNameNode(e){return Oc(e.$cstNode,"name")}};var El=class{constructor(e){this.nameProvider=e.references.NameProvider,this.index=e.shared.workspace.IndexManager,this.nodeLocator=e.workspace.AstNodeLocator,this.documents=e.shared.workspace.LangiumDocuments,this.hasMultiReference=Wt(e.Grammar).some(r=>Mr(r)&&r.isMulti)}findDeclarations(e){if(e){let r=jm(e),n=e.astNode;if(r&&n){let i=n[r.feature];if(wt(i)||lr(i))return Vu(i);if(Array.isArray(i)){for(let o of i)if((wt(o)||lr(o))&&o.$refNode&&o.$refNode.offset<=e.offset&&o.$refNode.end>=e.end)return Vu(o)}}if(n){let i=this.nameProvider.getNameNode(n);if(i&&(i===e||Sm(e,i)))return this.getSelfNodes(n)}}return[]}getSelfNodes(e){if(this.hasMultiReference){let r=this.index.findAllReferences(e,this.nodeLocator.getAstNodePath(e)),n=this.getNodeFromReferenceDescription(r.head());if(n){for(let i of Jn(n))if(lr(i.reference)&&i.reference.items.some(o=>o.ref===e))return i.reference.items.map(o=>o.ref)}return[e]}else return[e]}getNodeFromReferenceDescription(e){if(!e)return;let r=this.documents.getDocument(e.sourceUri);if(r)return this.nodeLocator.getAstNode(r.parseResult.value,e.sourcePath)}findDeclarationNodes(e){let r=this.findDeclarations(e),n=[];for(let i of r){let o=this.nameProvider.getNameNode(i)??i.$cstNode;o&&n.push(o)}return n}findReferences(e,r){let n=[];r.includeDeclaration&&n.push(...this.getSelfReferences(e));let i=this.index.findAllReferences(e,this.nodeLocator.getAstNodePath(e));return r.documentUri&&(i=i.filter(o=>_t.equals(o.sourceUri,r.documentUri))),n.push(...i),me(n)}getSelfReferences(e){let r=this.getSelfNodes(e),n=[];for(let i of r){let o=this.nameProvider.getNameNode(i);if(o){let s=Ft(i),a=this.nodeLocator.getAstNodePath(i);n.push({sourceUri:s.uri,sourcePath:a,targetUri:s.uri,targetPath:a,segment:ao(o),local:!0})}}return n}};var Bt=class{constructor(e){if(this.map=new Map,e)for(let[r,n]of e)this.add(r,n)}get size(){return ts.sum(me(this.map.values()).map(e=>e.length))}clear(){this.map.clear()}delete(e,r){if(r===void 0)return this.map.delete(e);{let n=this.map.get(e);if(n){let i=n.indexOf(r);if(i>=0)return n.length===1?this.map.delete(e):n.splice(i,1),!0}return!1}}get(e){return this.map.get(e)??[]}getStream(e){let r=this.map.get(e);return r?me(r):Zn}has(e,r){if(r===void 0)return this.map.has(e);{let n=this.map.get(e);return n?n.indexOf(r)>=0:!1}}add(e,r){return this.map.has(e)?this.map.get(e).push(r):this.map.set(e,[r]),this}addAll(e,r){return this.map.has(e)?this.map.get(e).push(...r):this.map.set(e,Array.from(r)),this}forEach(e){this.map.forEach((r,n)=>r.forEach(i=>e(i,n,this)))}[Symbol.iterator](){return this.entries().iterator()}entries(){return me(this.map.entries()).flatMap(([e,r])=>r.map(n=>[e,n]))}keys(){return me(this.map.keys())}values(){return me(this.map.values()).flat()}entriesGroupedByKey(){return me(this.map.entries())}},Po=class{get size(){return this.map.size}constructor(e){if(this.map=new Map,this.inverse=new Map,e)for(let[r,n]of e)this.set(r,n)}clear(){this.map.clear(),this.inverse.clear()}set(e,r){return this.map.set(e,r),this.inverse.set(r,e),this}get(e){return this.map.get(e)}getKey(e){return this.inverse.get(e)}delete(e){let r=this.map.get(e);return r!==void 0?(this.map.delete(e),this.inverse.delete(r),!0):!1}};var Rl=class{constructor(e){this.nameProvider=e.references.NameProvider,this.descriptions=e.workspace.AstNodeDescriptionProvider}async collectExportedSymbols(e,r=ne.CancellationToken.None){return this.collectExportedSymbolsForNode(e.parseResult.value,e,void 0,r)}async collectExportedSymbolsForNode(e,r,n=gc,i=ne.CancellationToken.None){let o=[];this.addExportedSymbol(e,o,r);for(let s of n(e))await ht(i),this.addExportedSymbol(s,o,r);return o}addExportedSymbol(e,r,n){let i=this.nameProvider.getName(e);i&&r.push(this.descriptions.createDescription(e,i,n))}async collectLocalSymbols(e,r=ne.CancellationToken.None){let n=e.parseResult.value,i=new Bt;for(let o of Lr(n))await ht(r),this.addLocalSymbol(o,e,i);return i}addLocalSymbol(e,r,n){let i=e.$container;if(i){let o=this.nameProvider.getName(e);o&&n.add(i,this.descriptions.createDescription(e,o,r))}}};var oa=class{constructor(e,r,n){this.elements=e,this.outerScope=r,this.caseInsensitive=n?.caseInsensitive??!1,this.concatOuterScope=n?.concatOuterScope??!0}getAllElements(){return this.outerScope?this.elements.concat(this.outerScope.getAllElements()):this.elements}getElement(e){let r=this.caseInsensitive?e.toLowerCase():e,n=this.caseInsensitive?this.elements.find(i=>i.name.toLowerCase()===r):this.elements.find(i=>i.name===e);if(n)return n;if(this.outerScope)return this.outerScope.getElement(e)}getElements(e){let r=this.caseInsensitive?e.toLowerCase():e,n=this.caseInsensitive?this.elements.filter(i=>i.name.toLowerCase()===r):this.elements.filter(i=>i.name===e);return(this.concatOuterScope||n.isEmpty())&&this.outerScope?n.concat(this.outerScope.getElements(e)):n}},Qy=class{constructor(e,r,n){this.elements=new Map,this.caseInsensitive=n?.caseInsensitive??!1,this.concatOuterScope=n?.concatOuterScope??!0;for(let i of e){let o=this.caseInsensitive?i.name.toLowerCase():i.name;this.elements.set(o,i)}this.outerScope=r}getElement(e){let r=this.caseInsensitive?e.toLowerCase():e,n=this.elements.get(r);if(n)return n;if(this.outerScope)return this.outerScope.getElement(e)}getElements(e){let r=this.caseInsensitive?e.toLowerCase():e,n=this.elements.get(r),i=n?[n]:[];return(this.concatOuterScope||i.length>0)&&this.outerScope?me(i).concat(this.outerScope.getElements(e)):me(i)}getAllElements(){let e=me(this.elements.values());return this.outerScope&&(e=e.concat(this.outerScope.getAllElements())),e}},bl=class{constructor(e,r,n){this.elements=new Bt,this.caseInsensitive=n?.caseInsensitive??!1,this.concatOuterScope=n?.concatOuterScope??!0;for(let i of e){let o=this.caseInsensitive?i.name.toLowerCase():i.name;this.elements.add(o,i)}this.outerScope=r}getElement(e){let r=this.caseInsensitive?e.toLowerCase():e,n=this.elements.get(r)[0];if(n)return n;if(this.outerScope)return this.outerScope.getElement(e)}getElements(e){let r=this.caseInsensitive?e.toLowerCase():e,n=this.elements.get(r);return(this.concatOuterScope||n.length===0)&&this.outerScope?me(n).concat(this.outerScope.getElements(e)):me(n)}getAllElements(){let e=me(this.elements.values());return this.outerScope&&(e=e.concat(this.outerScope.getAllElements())),e}},IF={getElement(){},getElements(){return Zn},getAllElements(){return Zn}};var sa=class{constructor(){this.toDispose=[],this.isDisposed=!1}onDispose(e){this.toDispose.push(e)}dispose(){this.throwIfDisposed(),this.clear(),this.isDisposed=!0,this.toDispose.forEach(e=>e.dispose())}throwIfDisposed(){if(this.isDisposed)throw new Error("This cache has already been disposed")}},wl=class extends sa{constructor(){super(...arguments),this.cache=new Map}has(e){return this.throwIfDisposed(),this.cache.has(e)}set(e,r){this.throwIfDisposed(),this.cache.set(e,r)}get(e,r){if(this.throwIfDisposed(),this.cache.has(e))return this.cache.get(e);if(r){let n=r();return this.cache.set(e,n),n}else return}delete(e){return this.throwIfDisposed(),this.cache.delete(e)}clear(){this.throwIfDisposed(),this.cache.clear()}},Co=class extends sa{constructor(e){super(),this.cache=new Map,this.converter=e??(r=>r)}has(e,r){return this.throwIfDisposed(),this.cacheForContext(e).has(r)}set(e,r,n){this.throwIfDisposed(),this.cacheForContext(e).set(r,n)}get(e,r,n){this.throwIfDisposed();let i=this.cacheForContext(e);if(i.has(r))return i.get(r);if(n){let o=n();return i.set(r,o),o}else return}delete(e,r){return this.throwIfDisposed(),this.cacheForContext(e).delete(r)}clear(e){if(this.throwIfDisposed(),e){let r=this.converter(e);this.cache.delete(r)}else this.cache.clear()}cacheForContext(e){let r=this.converter(e),n=this.cache.get(r);return n||(n=new Map,this.cache.set(r,n)),n}},qd=class extends Co{constructor(e,r){super(n=>n.toString()),r?(this.toDispose.push(e.workspace.DocumentBuilder.onDocumentPhase(r,n=>{this.clear(n.uri.toString())})),this.toDispose.push(e.workspace.DocumentBuilder.onUpdate((n,i)=>{for(let o of i)this.clear(o)}))):this.toDispose.push(e.workspace.DocumentBuilder.onUpdate((n,i)=>{let o=n.concat(i);for(let s of o)this.clear(s)}))}},aa=class extends wl{constructor(e,r){super(),r?(this.toDispose.push(e.workspace.DocumentBuilder.onBuildPhase(r,()=>{this.clear()})),this.toDispose.push(e.workspace.DocumentBuilder.onUpdate((n,i)=>{i.length>0&&this.clear()}))):this.toDispose.push(e.workspace.DocumentBuilder.onUpdate(()=>{this.clear()}))}};var Al=class{constructor(e){this.reflection=e.shared.AstReflection,this.nameProvider=e.references.NameProvider,this.descriptions=e.workspace.AstNodeDescriptionProvider,this.indexManager=e.shared.workspace.IndexManager,this.globalScopeCache=new aa(e.shared)}getScope(e){let r=[],n=this.reflection.getReferenceType(e),i=Ft(e.container).localSymbols;if(i){let s=e.container;do i.has(s)&&r.push(i.getStream(s).filter(a=>this.reflection.isSubtype(a.type,n))),s=s.$container;while(s)}let o=this.getGlobalScope(n,e);for(let s=r.length-1;s>=0;s--)o=this.createScope(r[s],o);return o}createScope(e,r,n){return new oa(me(e),r,n)}createScopeForNodes(e,r,n){let i=me(e).map(o=>{let s=this.nameProvider.getName(o);if(s)return this.descriptions.createDescription(o,s)}).nonNullable();return new oa(i,r,n)}getGlobalScope(e,r){return this.globalScopeCache.get(e,()=>new bl(this.indexManager.allElements(e)))}};function ex(t){return typeof t.$comment=="string"}function BA(t){return typeof t=="object"&&!!t&&("$ref"in t||"$error"in t)}var Il=class{constructor(e){this.ignoreProperties=new Set(["$container","$containerProperty","$containerIndex","$document","$cstNode"]),this.langiumDocuments=e.shared.workspace.LangiumDocuments,this.astNodeLocator=e.workspace.AstNodeLocator,this.nameProvider=e.references.NameProvider,this.commentProvider=e.documentation.CommentProvider}serialize(e,r){let n=r??{},i=r?.replacer,o=(a,c)=>this.replacer(a,c,n),s=i?(a,c)=>i(a,c,o):o;try{return this.currentDocument=Ft(e),JSON.stringify(e,s,r?.space)}finally{this.currentDocument=void 0}}deserialize(e,r){let n=r??{},i=JSON.parse(e);return this.linkNode(i,i,n),i}replacer(e,r,{refText:n,sourceText:i,textRegions:o,comments:s,uriConverter:a}){if(!this.ignoreProperties.has(e))if(wt(r)){let c=r.ref,l=n?r.$refText:void 0;if(c){let u=Ft(c),f="";this.currentDocument&&this.currentDocument!==u&&(a?f=a(u.uri,c):f=u.uri.toString());let d=this.astNodeLocator.getAstNodePath(c);return{$ref:`${f}#${d}`,$refText:l}}else return{$error:r.error?.message??"Could not resolve reference",$refText:l}}else if(lr(r)){let c=n?r.$refText:void 0,l=[];for(let u of r.items){let f=u.ref,d=Ft(u.ref),p="";this.currentDocument&&this.currentDocument!==d&&(a?p=a(d.uri,f):p=d.uri.toString());let m=this.astNodeLocator.getAstNodePath(f);l.push(`${p}#${m}`)}return{$refs:l,$refText:c}}else if(pt(r)){let c;if(o&&(c=this.addAstNodeRegionWithAssignmentsTo({...r}),(!e||r.$document)&&c?.$textRegion&&(c.$textRegion.documentURI=this.currentDocument?.uri.toString())),i&&!e&&(c??(c={...r}),c.$sourceText=r.$cstNode?.text),s){c??(c={...r});let l=this.commentProvider.getComment(r);l&&(c.$comment=l.replace(/\r/g,""))}return c??r}else return r}addAstNodeRegionWithAssignmentsTo(e){let r=n=>({offset:n.offset,end:n.end,length:n.length,range:n.range});if(e.$cstNode){let n=e.$textRegion=r(e.$cstNode),i=n.assignments={};return Object.keys(e).filter(o=>!o.startsWith("$")).forEach(o=>{let s=Bm(e.$cstNode,o).map(r);s.length!==0&&(i[o]=s)}),e}}linkNode(e,r,n,i,o,s){for(let[c,l]of Object.entries(e))if(Array.isArray(l))for(let u=0;u<l.length;u++){let f=l[u];BA(f)?l[u]=this.reviveReference(e,c,r,f,n):pt(f)&&this.linkNode(f,r,n,e,c,u)}else BA(l)?e[c]=this.reviveReference(e,c,r,l,n):pt(l)&&this.linkNode(l,r,n,e,c);let a=e;a.$container=i,a.$containerProperty=o,a.$containerIndex=s}reviveReference(e,r,n,i,o){let s=i.$refText,a=i.$error,c;if(i.$ref){let l=this.getRefNode(n,i.$ref,o.uriConverter);if(pt(l))return s||(s=this.nameProvider.getName(l)),{$refText:s??"",ref:l};a=l}else if(i.$refs){let l=[];for(let u of i.$refs){let f=this.getRefNode(n,u,o.uriConverter);pt(f)&&l.push({ref:f})}if(l.length===0)c={$refText:s??"",items:l},a??(a="Could not resolve multi-reference");else return{$refText:s??"",items:l}}if(a)return c??(c={$refText:s??"",ref:void 0}),c.error={info:{container:e,property:r,reference:c},message:a},c}getRefNode(e,r,n){try{let i=r.indexOf("#");if(i===0){let c=this.astNodeLocator.getAstNode(e,r.substring(1));return c||"Could not resolve path: "+r}if(i<0){let c=n?n(r):mt.parse(r),l=this.langiumDocuments.getDocument(c);return l?l.parseResult.value:"Could not find document for URI: "+r}let o=n?n(r.substring(0,i)):mt.parse(r.substring(0,i)),s=this.langiumDocuments.getDocument(o);if(!s)return"Could not find document for URI: "+r;if(i===r.length-1)return s.parseResult.value;let a=this.astNodeLocator.getAstNode(s.parseResult.value,r.substring(i+1));return a||"Could not resolve URI: "+r}catch(i){return String(i)}}};var Sl=class{get map(){return this.fileExtensionMap}constructor(e){this.languageIdMap=new Map,this.fileExtensionMap=new Map,this.fileNameMap=new Map,this.textDocuments=e?.workspace.TextDocuments}register(e){let r=e.LanguageMetaData;for(let n of r.fileExtensions)this.fileExtensionMap.has(n)&&console.warn(`The file extension ${n} is used by multiple languages. It is now assigned to '${r.languageId}'.`),this.fileExtensionMap.set(n,e);if(r.fileNames)for(let n of r.fileNames)this.fileNameMap.has(n)&&console.warn(`The file name ${n} is used by multiple languages. It is now assigned to '${r.languageId}'.`),this.fileNameMap.set(n,e);this.languageIdMap.set(r.languageId,e)}getServices(e){if(this.languageIdMap.size===0)throw new Error("The service registry is empty. Use `register` to register the services of a language.");let r=this.textDocuments?.get(e)?.languageId;if(r!==void 0){let s=this.languageIdMap.get(r);if(s)return s}let n=_t.extname(e),i=_t.basename(e),o=this.fileNameMap.get(i)??this.fileExtensionMap.get(n);if(!o)throw r?new Error(`The service registry contains no services for the extension '${n}' for language '${r}'.`):new Error(`The service registry contains no services for the extension '${n}'.`);return o}hasServices(e){try{return this.getServices(e),!0}catch{return!1}}get all(){return Array.from(this.languageIdMap.values())}};function Oo(t){return{code:t}}var zd;(function(t){t.defaults=["fast","slow","built-in"],t.all=t.defaults})(zd||(zd={}));var vl=class{constructor(e){this.entries=new Bt,this.knownCategories=new Set(zd.defaults),this.entriesBefore=[],this.entriesAfter=[],this.reflection=e.shared.AstReflection}register(e,r=this,n="fast"){if(n==="built-in")throw new Error("The 'built-in' category is reserved for lexer, parser, and linker errors.");this.knownCategories.add(n);for(let[i,o]of Object.entries(e)){let s=o;if(Array.isArray(s))for(let a of s){let c={check:this.wrapValidationException(a,r),category:n};this.addEntry(i,c)}else if(typeof s=="function"){let a={check:this.wrapValidationException(s,r),category:n};this.addEntry(i,a)}else sn(s)}}wrapValidationException(e,r){return async(n,i,o)=>{await this.handleException(()=>e.call(r,n,i,o),"An error occurred during validation",i,n)}}async handleException(e,r,n,i){try{await e()}catch(o){if(pn(o))throw o;console.error(`${r}:`,o),o instanceof Error&&o.stack&&console.error(o.stack);let s=o instanceof Error?o.message:String(o);n("error",`${r}: ${s}`,{node:i})}}addEntry(e,r){if(e==="AstNode"){this.entries.add("AstNode",r);return}for(let n of this.reflection.getAllSubTypes(e))this.entries.add(n,r)}getChecks(e,r){let n=me(this.entries.get(e)).concat(this.entries.get("AstNode"));return r&&(n=n.filter(i=>r.includes(i.category))),n.map(i=>i.check)}registerBeforeDocument(e,r=this){this.entriesBefore.push(this.wrapPreparationException(e,"An error occurred during set-up of the validation",r))}registerAfterDocument(e,r=this){this.entriesAfter.push(this.wrapPreparationException(e,"An error occurred during tear-down of the validation",r))}wrapPreparationException(e,r,n){return async(i,o,s,a)=>{await this.handleException(()=>e.call(n,i,o,s,a),r,o,i)}}get checksBefore(){return this.entriesBefore}get checksAfter(){return this.entriesAfter}getAllValidationCategories(e){return this.knownCategories}};var XA=Object.freeze({validateNode:!0,validateChildren:!0}),kl=class{constructor(e){this.validationRegistry=e.validation.ValidationRegistry,this.metadata=e.LanguageMetaData,this.profiler=e.shared.profilers.LangiumProfiler,this.languageId=e.LanguageMetaData.languageId}async validateDocument(e,r={},n=ne.CancellationToken.None){let i=e.parseResult,o=[];if(await ht(n),(!r.categories||r.categories.includes("built-in"))&&(this.processLexingErrors(i,o,r),r.stopAfterLexingErrors&&o.some(s=>s.data?.code===wr.LexingError)||(this.processParsingErrors(i,o,r),r.stopAfterParsingErrors&&o.some(s=>s.data?.code===wr.ParsingError))||(this.processLinkingErrors(e,o,r),r.stopAfterLinkingErrors&&o.some(s=>s.data?.code===wr.LinkingError))))return o;try{o.push(...await this.validateAst(i.value,r,n))}catch(s){if(pn(s))throw s;console.error("An error occurred during validation:",s)}return await ht(n),o}processLexingErrors(e,r,n){let i=[...e.lexerErrors,...e.lexerReport?.diagnostics??[]];for(let o of i){let s=o.severity??"error",a={severity:Vd(s),range:{start:{line:o.line-1,character:o.column-1},end:{line:o.line-1,character:o.column+o.length-1}},message:o.message,data:HA(s),source:this.getSource()};r.push(a)}}processParsingErrors(e,r,n){for(let i of e.parserErrors){let o;if(isNaN(i.token.startOffset)){if("previousToken"in i){let s=i.previousToken;if(isNaN(s.startOffset)){let a={line:0,character:0};o={start:a,end:a}}else{let a={line:s.endLine-1,character:s.endColumn};o={start:a,end:a}}}}else o=ds(i.token);if(o){let s={severity:Vd("error"),range:o,message:i.message,data:Oo(wr.ParsingError),source:this.getSource()};r.push(s)}}}processLinkingErrors(e,r,n){for(let i of e.references){let o=i.error;if(o){let s={node:o.info.container,range:i.$refNode?.range,property:o.info.property,index:o.info.index,data:{code:wr.LinkingError,containerType:o.info.container.$type,property:o.info.property,refText:o.info.reference.$refText}};r.push(this.toDiagnostic("error",o.message,s))}}}async validateAst(e,r,n=ne.CancellationToken.None){let i=[],o=(s,a,c)=>{i.push(this.toDiagnostic(s,a,c))};return await this.validateAstBefore(e,r,o,n),await this.validateAstNodes(e,r,o,n),await this.validateAstAfter(e,r,o,n),i}async validateAstBefore(e,r,n,i=ne.CancellationToken.None){let o=this.validationRegistry.checksBefore;for(let s of o)await ht(i),await s(e,n,r.categories??[],i)}async validateAstNodes(e,r,n,i=ne.CancellationToken.None){if(this.profiler?.isActive("validating")){let o=this.profiler.createTask("validating",this.languageId);o.start();try{let s=Wt(e).iterator();for(let a of s){o.startSubTask(a.$type);let c=this.validateSingleNodeOptions(a,r);if(c.validateNode)try{let l=this.validationRegistry.getChecks(a.$type,r.categories);for(let u of l)await u(a,n,i)}finally{o.stopSubTask(a.$type)}c.validateChildren||s.prune()}}finally{o.stop()}}else{let o=Wt(e).iterator();for(let s of o){await ht(i);let a=this.validateSingleNodeOptions(s,r);if(a.validateNode){let c=this.validationRegistry.getChecks(s.$type,r.categories);for(let l of c)await l(s,n,i)}a.validateChildren||o.prune()}}}validateSingleNodeOptions(e,r){return XA}async validateAstAfter(e,r,n,i=ne.CancellationToken.None){let o=this.validationRegistry.checksAfter;for(let s of o)await ht(i),await s(e,n,r.categories??[],i)}toDiagnostic(e,r,n){return{message:r,range:GA(n),severity:Vd(e),code:n.code,codeDescription:n.codeDescription,tags:n.tags,relatedInformation:n.relatedInformation,data:n.data,source:this.getSource()}}getSource(){return this.metadata.languageId}};function GA(t){if(t.range)return t.range;let e;return typeof t.property=="string"?e=Oc(t.node.$cstNode,t.property,t.index):typeof t.keyword=="string"&&(e=Gm(t.node.$cstNode,t.keyword,t.index)),e??(e=t.node.$cstNode),e?e.range:{start:{line:0,character:0},end:{line:0,character:0}}}function Vd(t){switch(t){case"error":return 1;case"warning":return 2;case"info":return 3;case"hint":return 4;default:throw new Error("Invalid diagnostic severity: "+t)}}function HA(t){switch(t){case"error":return Oo(wr.LexingError);case"warning":return Oo(wr.LexingWarning);case"info":return Oo(wr.LexingInfo);case"hint":return Oo(wr.LexingHint);default:throw new Error("Invalid diagnostic severity: "+t)}}var wr;(function(t){t.LexingError="lexing-error",t.LexingWarning="lexing-warning",t.LexingInfo="lexing-info",t.LexingHint="lexing-hint",t.ParsingError="parsing-error",t.LinkingError="linking-error"})(wr||(wr={}));var Nl=class{constructor(e){this.astNodeLocator=e.workspace.AstNodeLocator,this.nameProvider=e.references.NameProvider}createDescription(e,r,n){let i=n??Ft(e);r??(r=this.nameProvider.getName(e));let o=this.astNodeLocator.getAstNodePath(e);if(!r)throw new Error(`Node at path ${o} has no name.`);let s,a=()=>s??(s=ao(this.nameProvider.getNameNode(e)??e.$cstNode));return{node:e,name:r,get nameSegment(){return a()},selectionSegment:ao(e.$cstNode),type:e.$type,documentUri:i.uri,path:o}}},Pl=class{constructor(e){this.nodeLocator=e.workspace.AstNodeLocator}async createDescriptions(e,r=ne.CancellationToken.None){let n=[],i=e.parseResult.value;for(let o of Wt(i))await ht(r),Jn(o).forEach(s=>{s.reference.error||n.push(...this.createInfoDescriptions(s))});return n}createInfoDescriptions(e){let r=e.reference;if(r.error||!r.$refNode)return[];let n=[];wt(r)&&r.$nodeDescription?n=[r.$nodeDescription]:lr(r)&&(n=r.items.map(c=>c.$nodeDescription).filter(c=>c!==void 0));let i=Ft(e.container).uri,o=this.nodeLocator.getAstNodePath(e.container),s=[],a=ao(r.$refNode);for(let c of n)s.push({sourceUri:i,sourcePath:o,targetUri:c.documentUri,targetPath:c.path,segment:a,local:_t.equals(c.documentUri,i)});return s}};var Cl=class{constructor(){this.segmentSeparator="/",this.indexSeparator="@"}getAstNodePath(e){if(e.$container){let r=this.getAstNodePath(e.$container),n=this.getPathSegment(e);return r+this.segmentSeparator+n}return""}getPathSegment({$containerProperty:e,$containerIndex:r}){if(!e)throw new Error("Missing '$containerProperty' in AST node.");return r!==void 0?e+this.indexSeparator+r:e}getAstNode(e,r){return r.split(this.segmentSeparator).reduce((i,o)=>{if(!i||o.length===0)return i;let s=o.indexOf(this.indexSeparator);if(s>0){let a=o.substring(0,s),c=parseInt(o.substring(s+1));return i[a]?.[c]}return i[o]},e)}};var rt={};Ie(rt,rm(Vy(),1));var Ol=class{constructor(e){this._ready=new Jt,this.onConfigurationSectionUpdateEmitter=new rt.Emitter,this.settings={},this.workspaceConfig=!1,this.serviceRegistry=e.ServiceRegistry}get ready(){return this._ready.promise}initialize(e){this.workspaceConfig=e.capabilities.workspace?.configuration??!1}async initialized(e){if(this.workspaceConfig){if(e.register){let r=this.serviceRegistry.all;e.register({section:r.map(n=>this.toSectionName(n.LanguageMetaData.languageId))})}if(e.fetchConfiguration){let r=this.serviceRegistry.all.map(i=>({section:this.toSectionName(i.LanguageMetaData.languageId)})),n=await e.fetchConfiguration(r);r.forEach((i,o)=>{this.updateSectionConfiguration(i.section,n[o])})}}this._ready.resolve()}updateConfiguration(e){typeof e.settings!="object"||e.settings===null||Object.entries(e.settings).forEach(([r,n])=>{this.updateSectionConfiguration(r,n),this.onConfigurationSectionUpdateEmitter.fire({section:r,configuration:n})})}updateSectionConfiguration(e,r){this.settings[e]=r}async getConfiguration(e,r){await this.ready;let n=this.toSectionName(e);if(this.settings[n])return this.settings[n][r]}toSectionName(e){return`${e}`}get onConfigurationSectionUpdate(){return this.onConfigurationSectionUpdateEmitter.event}};var Sa=rm(mv(),1);var Ci;(function(t){function e(r){return{dispose:async()=>await r()}}t.create=e})(Ci||(Ci={}));var Hl=class{constructor(e){this.updateBuildOptions={validation:{categories:["built-in","fast"]}},this.updateListeners=[],this.buildPhaseListeners=new Bt,this.documentPhaseListeners=new Bt,this.buildState=new Map,this.documentBuildWaiters=new Map,this.currentState=he.Changed,this.langiumDocuments=e.workspace.LangiumDocuments,this.langiumDocumentFactory=e.workspace.LangiumDocumentFactory,this.textDocuments=e.workspace.TextDocuments,this.indexManager=e.workspace.IndexManager,this.fileSystemProvider=e.workspace.FileSystemProvider,this.workspaceManager=()=>e.workspace.WorkspaceManager,this.serviceRegistry=e.ServiceRegistry}async build(e,r={},n=ne.CancellationToken.None){for(let i of e){let o=i.uri.toString();if(i.state===he.Validated){if(typeof r.validation=="boolean"&&r.validation)this.resetToState(i,he.IndexedReferences);else if(typeof r.validation=="object"){let s=this.findMissingValidationCategories(i,r);s.length>0&&(this.buildState.set(o,{completed:!1,options:{validation:{categories:s}},result:this.buildState.get(o)?.result}),i.state=he.IndexedReferences)}}else this.buildState.delete(o)}this.currentState=he.Changed,await this.emitUpdate(e.map(i=>i.uri),[]),await this.buildDocuments(e,r,n)}async update(e,r,n=ne.CancellationToken.None){this.currentState=he.Changed;let i=[];for(let c of r){let l=this.langiumDocuments.deleteDocuments(c);for(let u of l)i.push(u.uri),this.cleanUpDeleted(u)}let o=(await Promise.all(e.map(c=>this.findChangedUris(c)))).flat();for(let c of o){let l=this.langiumDocuments.getDocument(c);l===void 0&&(l=this.langiumDocumentFactory.fromModel({$type:"INVALID"},c),l.state=he.Changed,this.langiumDocuments.addDocument(l)),this.resetToState(l,he.Changed)}let s=me(o).concat(i).map(c=>c.toString()).toSet();this.langiumDocuments.all.filter(c=>!s.has(c.uri.toString())&&this.shouldRelink(c,s)).forEach(c=>this.resetToState(c,he.ComputedScopes)),await this.emitUpdate(o,i),await ht(n);let a=this.sortDocuments(this.langiumDocuments.all.filter(c=>c.state<he.Validated||!this.buildState.get(c.uri.toString())?.completed||this.resultsAreIncomplete(c,this.updateBuildOptions)).toArray());await this.buildDocuments(a,this.updateBuildOptions,n)}resultsAreIncomplete(e,r){return this.findMissingValidationCategories(e,r).length>=1}findMissingValidationCategories(e,r){let n=this.buildState.get(e.uri.toString()),i=this.serviceRegistry.getServices(e.uri).validation.ValidationRegistry.getAllValidationCategories(e),o=n?.result?.validationChecks?new Set(n?.result?.validationChecks):n?.completed?i:new Set,s=r===void 0||r.validation===!0?i:typeof r.validation=="object"?r.validation.categories??i:[];return me(s).filter(a=>!o.has(a)).toArray()}async findChangedUris(e){if(this.langiumDocuments.getDocument(e)??this.textDocuments?.get(e))return[e];try{let n=await this.fileSystemProvider.stat(e);if(n.isDirectory)return await this.workspaceManager().searchFolder(e);if(this.workspaceManager().shouldIncludeEntry(n))return[e]}catch{}return[]}async emitUpdate(e,r){await Promise.all(this.updateListeners.map(n=>n(e,r)))}sortDocuments(e){let r=0,n=e.length-1;for(;r<n;){for(;r<e.length&&this.hasTextDocument(e[r]);)r++;for(;n>=0&&!this.hasTextDocument(e[n]);)n--;r<n&&([e[r],e[n]]=[e[n],e[r]])}return e}hasTextDocument(e){return!!this.textDocuments?.get(e.uri)}shouldRelink(e,r){return e.references.some(n=>n.error!==void 0)?!0:this.indexManager.isAffected(e,r)}onUpdate(e){return this.updateListeners.push(e),Ci.create(()=>{let r=this.updateListeners.indexOf(e);r>=0&&this.updateListeners.splice(r,1)})}resetToState(e,r){switch(r){case he.Changed:case he.Parsed:this.indexManager.removeContent(e.uri);case he.IndexedContent:e.localSymbols=void 0;case he.ComputedScopes:this.serviceRegistry.getServices(e.uri).references.Linker.unlink(e);case he.Linked:this.indexManager.removeReferences(e.uri);case he.IndexedReferences:e.diagnostics=void 0,this.buildState.delete(e.uri.toString());case he.Validated:}e.state>r&&(e.state=r)}cleanUpDeleted(e){this.buildState.delete(e.uri.toString()),this.indexManager.remove(e.uri),e.state=he.Changed}async buildDocuments(e,r,n){this.prepareBuild(e,r),await this.runCancelable(e,he.Parsed,n,s=>this.langiumDocumentFactory.update(s,n)),await this.runCancelable(e,he.IndexedContent,n,s=>this.indexManager.updateContent(s,n)),await this.runCancelable(e,he.ComputedScopes,n,async s=>{let a=this.serviceRegistry.getServices(s.uri).references.ScopeComputation;s.localSymbols=await a.collectLocalSymbols(s,n)});let i=e.filter(s=>this.shouldLink(s));await this.runCancelable(i,he.Linked,n,s=>this.serviceRegistry.getServices(s.uri).references.Linker.link(s,n)),await this.runCancelable(i,he.IndexedReferences,n,s=>this.indexManager.updateReferences(s,n));let o=e.filter(s=>this.shouldValidate(s)?!0:(this.markAsCompleted(s),!1));await this.runCancelable(o,he.Validated,n,async s=>{await this.validate(s,n),this.markAsCompleted(s)})}markAsCompleted(e){let r=this.buildState.get(e.uri.toString());r&&(r.completed=!0)}prepareBuild(e,r){for(let n of e){let i=n.uri.toString(),o=this.buildState.get(i);(!o||o.completed)&&this.buildState.set(i,{completed:!1,options:r,result:o?.result})}}async runCancelable(e,r,n,i){for(let s of e)s.state<r&&(await ht(n),await i(s),s.state=r,await this.notifyDocumentPhase(s,r,n));let o=e.filter(s=>s.state===r);await this.notifyBuildPhase(o,r,n),this.currentState=r}onBuildPhase(e,r){return this.buildPhaseListeners.add(e,r),Ci.create(()=>{this.buildPhaseListeners.delete(e,r)})}onDocumentPhase(e,r){return this.documentPhaseListeners.add(e,r),Ci.create(()=>{this.documentPhaseListeners.delete(e,r)})}waitUntil(e,r,n){let i;return r&&"path"in r?i=r:n=r,n??(n=ne.CancellationToken.None),i?this.awaitDocumentState(e,i,n):this.awaitBuilderState(e,n)}awaitDocumentState(e,r,n){let i=this.langiumDocuments.getDocument(r);if(i){if(i.state>=e)return Promise.resolve(r);if(n.isCancellationRequested)return Promise.reject(br);if(this.currentState>=e&&e>i.state)return Promise.reject(new Sa.ResponseError(Sa.LSPErrorCodes.RequestFailed,`Document state of ${r.toString()} is ${he[i.state]}, requiring ${he[e]}, but workspace state is already ${he[this.currentState]}. Returning undefined.`))}else return Promise.reject(new Sa.ResponseError(Sa.LSPErrorCodes.ServerCancelled,`No document found for URI: ${r.toString()}`));return new Promise((o,s)=>{let a=this.onDocumentPhase(e,l=>{_t.equals(l.uri,r)&&(a.dispose(),c.dispose(),o(l.uri))}),c=n.onCancellationRequested(()=>{a.dispose(),c.dispose(),s(br)})})}awaitBuilderState(e,r){return this.currentState>=e?Promise.resolve():r.isCancellationRequested?Promise.reject(br):new Promise((n,i)=>{let o=this.onBuildPhase(e,()=>{o.dispose(),s.dispose(),n()}),s=r.onCancellationRequested(()=>{o.dispose(),s.dispose(),i(br)})})}async notifyDocumentPhase(e,r,n){let o=this.documentPhaseListeners.get(r).slice();for(let s of o)try{await ht(n),await s(e,n)}catch(a){if(!pn(a))throw a}}async notifyBuildPhase(e,r,n){if(e.length===0)return;let o=this.buildPhaseListeners.get(r).slice();for(let s of o)await ht(n),await s(e,n)}shouldLink(e){return this.getBuildOptions(e).eagerLinking??!0}shouldValidate(e){return!!this.getBuildOptions(e).validation}async validate(e,r){let n=this.serviceRegistry.getServices(e.uri).validation.DocumentValidator,i=this.getBuildOptions(e),o=typeof i.validation=="object"?{...i.validation}:{};o.categories=this.findMissingValidationCategories(e,i);let s=await n.validateDocument(e,o,r);e.diagnostics?e.diagnostics.push(...s):e.diagnostics=s;let a=this.buildState.get(e.uri.toString());a&&(a.result??(a.result={}),a.result.validationChecks?a.result.validationChecks=me(a.result.validationChecks).concat(o.categories).distinct().toArray():a.result.validationChecks=[...o.categories])}getBuildOptions(e){return this.buildState.get(e.uri.toString())?.options??{}}};var jl=class{constructor(e){this.symbolIndex=new Map,this.symbolByTypeIndex=new Co,this.referenceIndex=new Map,this.documents=e.workspace.LangiumDocuments,this.serviceRegistry=e.ServiceRegistry,this.astReflection=e.AstReflection}findAllReferences(e,r){let n=Ft(e).uri,i=[];return this.referenceIndex.forEach(o=>{o.forEach(s=>{_t.equals(s.targetUri,n)&&s.targetPath===r&&i.push(s)})}),me(i)}allElements(e,r){let n=me(this.symbolIndex.keys());return r&&(n=n.filter(i=>!r||r.has(i))),n.map(i=>this.getFileDescriptions(i,e)).flat()}getFileDescriptions(e,r){return r?this.symbolByTypeIndex.get(e,r,()=>(this.symbolIndex.get(e)??[]).filter(o=>this.astReflection.isSubtype(o.type,r))):this.symbolIndex.get(e)??[]}remove(e){this.removeContent(e),this.removeReferences(e)}removeContent(e){let r=e.toString();this.symbolIndex.delete(r),this.symbolByTypeIndex.clear(r)}removeReferences(e){let r=e.toString();this.referenceIndex.delete(r)}async updateContent(e,r=ne.CancellationToken.None){let i=await this.serviceRegistry.getServices(e.uri).references.ScopeComputation.collectExportedSymbols(e,r),o=e.uri.toString();this.symbolIndex.set(o,i),this.symbolByTypeIndex.clear(o)}async updateReferences(e,r=ne.CancellationToken.None){let i=await this.serviceRegistry.getServices(e.uri).workspace.ReferenceDescriptionProvider.createDescriptions(e,r);this.referenceIndex.set(e.uri.toString(),i)}isAffected(e,r){let n=this.referenceIndex.get(e.uri.toString());return n?n.some(i=>!i.local&&r.has(i.targetUri.toString())):!1}};var Wl=class{constructor(e){this.initialBuildOptions={},this._ready=new Jt,this.serviceRegistry=e.ServiceRegistry,this.langiumDocuments=e.workspace.LangiumDocuments,this.documentBuilder=e.workspace.DocumentBuilder,this.fileSystemProvider=e.workspace.FileSystemProvider,this.mutex=e.workspace.WorkspaceLock}get ready(){return this._ready.promise}get workspaceFolders(){return this.folders}initialize(e){this.folders=e.workspaceFolders??void 0}initialized(e){return this.mutex.write(r=>this.initializeWorkspace(this.folders??[],r))}async initializeWorkspace(e,r=ne.CancellationToken.None){let n=await this.performStartup(e);await ht(r),await this.documentBuilder.build(n,this.initialBuildOptions,r)}async performStartup(e){let r=[],n=s=>{r.push(s),this.langiumDocuments.hasDocument(s.uri)||this.langiumDocuments.addDocument(s)};await this.loadAdditionalDocuments(e,n);let i=[];await Promise.all(e.map(s=>this.getRootFolder(s)).map(async s=>this.traverseFolder(s,i)));let o=me(i).distinct(s=>s.toString()).filter(s=>!this.langiumDocuments.hasDocument(s));return await this.loadWorkspaceDocuments(o,n),this._ready.resolve(),r}async loadWorkspaceDocuments(e,r){await Promise.all(e.map(async n=>{let i=await this.langiumDocuments.getOrCreateDocument(n);r(i)}))}loadAdditionalDocuments(e,r){return Promise.resolve()}getRootFolder(e){return mt.parse(e.uri)}async traverseFolder(e,r){try{let n=await this.fileSystemProvider.readDirectory(e);await Promise.all(n.map(async i=>{this.shouldIncludeEntry(i)&&(i.isDirectory?await this.traverseFolder(i.uri,r):i.isFile&&r.push(i.uri))}))}catch(n){console.error("Failure to read directory content of "+e.toString(!0),n)}}async searchFolder(e){let r=[];return await this.traverseFolder(e,r),r}shouldIncludeEntry(e){let r=_t.basename(e.uri);return r.startsWith(".")?!1:e.isDirectory?r!=="node_modules"&&r!=="out":e.isFile?this.serviceRegistry.hasServices(e.uri):!1}};var ql=class{buildUnexpectedCharactersMessage(e,r,n,i,o){return bs.buildUnexpectedCharactersMessage(e,r,n,i,o)}buildUnableToPopLexerModeMessage(e){return bs.buildUnableToPopLexerModeMessage(e)}},Np={mode:"full"},Mo=class{constructor(e){this.errorMessageProvider=e.parser.LexerErrorMessageProvider,this.tokenBuilder=e.parser.TokenBuilder;let r=this.tokenBuilder.buildTokens(e.Grammar,{caseInsensitive:e.LanguageMetaData.caseInsensitive});this.tokenTypes=this.toTokenTypeDictionary(r);let n=IT(r)?Object.values(r):r,i=e.LanguageMetaData.mode==="production";this.chevrotainLexer=new at(n,{positionTracking:"full",skipValidations:i,errorMessageProvider:this.errorMessageProvider})}get definition(){return this.tokenTypes}tokenize(e,r=Np){let n=this.chevrotainLexer.tokenize(e);return{tokens:n.tokens,errors:n.errors,hidden:n.groups.hidden??[],report:this.tokenBuilder.flushLexingReport?.(e)}}toTokenTypeDictionary(e){if(IT(e))return e;let r=ST(e)?Object.values(e.modes).flat():e,n={};return r.forEach(i=>n[i.name]=i),n}};function Pp(t){return Array.isArray(t)&&(t.length===0||"name"in t[0])}function ST(t){return t&&"modes"in t&&"defaultMode"in t}function IT(t){return!Pp(t)&&!ST(t)}Zs();function NT(t,e,r){let n,i;typeof t=="string"?(i=e,n=r):(i=t.range.start,n=e),i||(i=ke.create(0,0));let o=xv(t),s=CT(n),a=bU({lines:o,position:i,options:s});return vU({index:0,tokens:a,position:i})}function PT(t,e){let r=CT(e),n=xv(t);if(n.length===0)return!1;let i=n[0],o=n[n.length-1],s=r.start,a=r.end;return!!s?.exec(i)&&!!a?.exec(o)}function xv(t){let e="";return typeof t=="string"?e=t:e=t.text,e.split(Om)}var gv=/\s*(@([\p{L}][\p{L}\p{N}]*)?)/uy,RU=/\{(@[\p{L}][\p{L}\p{N}]*)(\s*)([^\r\n}]+)?\}/gu;function bU(t){let e=[],r=t.position.line,n=t.position.character;for(let i=0;i<t.lines.length;i++){let o=i===0,s=i===t.lines.length-1,a=t.lines[i],c=0;if(o&&t.options.start){let u=t.options.start?.exec(a);u&&(c=u.index+u[0].length)}else{let u=t.options.line?.exec(a);u&&(c=u.index+u[0].length)}if(s){let u=t.options.end?.exec(a);u&&(a=a.substring(0,u.index))}if(a=a.substring(0,SU(a)),kT(a,c)>=a.length){if(e.length>0){let u=ke.create(r,n);e.push({type:"break",content:"",range:_e.create(u,u)})}}else{gv.lastIndex=c;let u=gv.exec(a);if(u){let f=u[0],d=u[1],p=ke.create(r,n+c),m=ke.create(r,n+c+f.length);e.push({type:"tag",content:d,range:_e.create(p,m)}),c+=f.length,c=kT(a,c)}if(c<a.length){let f=a.substring(c),d=Array.from(f.matchAll(RU));e.push(...wU(d,f,r,n+c))}}r++,n=0}return e.length>0&&e[e.length-1].type==="break"?e.slice(0,-1):e}function wU(t,e,r,n){let i=[];if(t.length===0){let o=ke.create(r,n),s=ke.create(r,n+e.length);i.push({type:"text",content:e,range:_e.create(o,s)})}else{let o=0;for(let a of t){let c=a.index,l=e.substring(o,c);l.length>0&&i.push({type:"text",content:e.substring(o,c),range:_e.create(ke.create(r,o+n),ke.create(r,c+n))});let u=l.length+1,f=a[1];if(i.push({type:"inline-tag",content:f,range:_e.create(ke.create(r,o+u+n),ke.create(r,o+u+f.length+n))}),u+=f.length,a.length===4){u+=a[2].length;let d=a[3];i.push({type:"text",content:d,range:_e.create(ke.create(r,o+u+n),ke.create(r,o+u+d.length+n))})}else i.push({type:"text",content:"",range:_e.create(ke.create(r,o+u+n),ke.create(r,o+u+n))});o=c+a[0].length}let s=e.substring(o);s.length>0&&i.push({type:"text",content:s,range:_e.create(ke.create(r,o+n),ke.create(r,o+n+s.length))})}return i}var AU=/\S/,IU=/\s*$/;function kT(t,e){let r=t.substring(e).match(AU);return r?e+r.index:t.length}function SU(t){let e=t.match(IU);if(e&&typeof e.index=="number")return e.index}function vU(t){let e=ke.create(t.position.line,t.position.character);if(t.tokens.length===0)return new Cp([],_e.create(e,e));let r=[];for(;t.index<t.tokens.length;){let o=kU(t,r[r.length-1]);o&&r.push(o)}let n=r[0]?.range.start??e,i=r[r.length-1]?.range.end??e;return new Cp(r,_e.create(n,i))}function kU(t,e){let r=t.tokens[t.index];if(r.type==="tag")return _v(t,!1);if(r.type==="text"||r.type==="inline-tag")return Tv(t);NU(r,e),t.index++}function NU(t,e){if(e){let r=new Op("",t.range);"inlines"in e?e.inlines.push(r):e.content.inlines.push(r)}}function Tv(t){let e=t.tokens[t.index],r=e,n=e,i=[];for(;e&&e.type!=="break"&&e.type!=="tag";)i.push(PU(t)),n=e,e=t.tokens[t.index];return new Vl(i,_e.create(r.range.start,n.range.end))}function PU(t){return t.tokens[t.index].type==="inline-tag"?_v(t,!0):Ev(t)}function _v(t,e){let r=t.tokens[t.index++],n=r.content.substring(1);if(t.tokens[t.index]?.type==="text")if(e){let o=Ev(t);return new zl(n,new Vl([o],o.range),e,_e.create(r.range.start,o.range.end))}else{let o=Tv(t);return new zl(n,o,e,_e.create(r.range.start,o.range.end))}else{let o=r.range;return new zl(n,new Vl([],o),e,o)}}function Ev(t){let e=t.tokens[t.index++];return new Op(e.content,e.range)}function CT(t){if(!t)return CT({start:"/**",end:"*/",line:"*"});let{start:e,end:r,line:n}=t;return{start:vT(e,!0),end:vT(r,!1),line:vT(n,!0)}}function vT(t,e){if(typeof t=="string"||typeof t=="object"){let r=typeof t=="string"?si(t):t.source;return e?new RegExp(`^\\s*${r}`):new RegExp(`\\s*${r}\\s*$`)}else return t}var Cp=class{constructor(e,r){this.elements=e,this.range=r}getTag(e){return this.getAllTags().find(r=>r.name===e)}getTags(e){return this.getAllTags().filter(r=>r.name===e)}getAllTags(){return this.elements.filter(e=>"name"in e)}toString(){let e="";for(let r of this.elements)if(e.length===0)e=r.toString();else{let n=r.toString();e+=yv(e)+n}return e.trim()}toMarkdown(e){let r="";for(let n of this.elements)if(r.length===0)r=n.toMarkdown(e);else{let i=n.toMarkdown(e);r+=yv(r)+i}return r.trim()}},zl=class{constructor(e,r,n,i){this.name=e,this.content=r,this.inline=n,this.range=i}toString(){let e=`@${this.name}`,r=this.content.toString();return this.content.inlines.length===1?e=`${e} ${r}`:this.content.inlines.length>1&&(e=`${e}
|
|
153
|
-
${r}`),this.inline?`{${e}}`:e}toMarkdown(e){return e?.renderTag?.(this)??this.toMarkdownDefault(e)}toMarkdownDefault(e){let r=this.content.toMarkdown(e);if(this.inline){let o=
|
|
154
|
-
${r}`),this.inline?`{${i}}`:i}};function
|
|
151
|
+
For Further details.`,n}function PF(t){if(t instanceof Be)return"SUBRULE";if(t instanceof Ge)return"OPTION";if(t instanceof Ye)return"OR";if(t instanceof et)return"AT_LEAST_ONE";if(t instanceof tt)return"AT_LEAST_ONE_SEP";if(t instanceof Ve)return"MANY_SEP";if(t instanceof Re)return"MANY";if(t instanceof Te)return"CONSUME";throw Error("non exhaustive match")}function CF(t,e,r){let n=bb(e.configs.elements,o=>o.state.transitions),i=Lb(n.filter(o=>o instanceof Zs).map(o=>o.tokenType),o=>o.tokenTypeIdx);return{actualToken:r,possibleTokenTypes:i,tokenPath:t}}function OF(t,e){return t.edges[e.tokenTypeIdx]}function LF(t,e,r){let n=new ea,i=[];for(let s of t.elements){if(r.is(s.alt)===!1)continue;if(s.state.type===Io){i.push(s);continue}let a=s.state.transitions.length;for(let c=0;c<a;c++){let l=s.state.transitions[c],u=DF(l,e);u!==void 0&&n.add({state:u,alt:s.alt,stack:s.stack})}}let o;if(i.length===0&&n.size===1&&(o=n),o===void 0){o=new ea;for(let s of n.elements)Ud(s,o)}if(i.length>0&&!UF(o))for(let s of i)o.add(s);return o}function DF(t,e){if(t instanceof Zs&&Os(e,t.tokenType))return t.target}function $F(t,e){let r;for(let n of t.elements)if(e.is(n.alt)===!0){if(r===void 0)r=n.alt;else if(r!==n.alt)return}return r}function jb(t){return{configs:t,edges:{},isAcceptState:!1,prediction:-1}}function Hb(t,e,r,n){return n=zb(t,n),e.edges[r.tokenTypeIdx]=n,n}function zb(t,e){if(e===ul)return e;let r=e.configs.key,n=t.states[r];return n!==void 0?n:(e.configs.finalize(),t.states[r]=e,e)}function MF(t){let e=new ea,r=t.transitions.length;for(let n=0;n<r;n++){let o={state:t.transitions[n].target,alt:n,stack:[]};Ud(o,e)}return e}function Ud(t,e){let r=t.state;if(r.type===Io){if(t.stack.length>0){let i=[...t.stack],s={state:i.pop(),alt:t.alt,stack:i};Ud(s,e)}else e.add(t);return}r.epsilonOnlyTransitions||e.add(t);let n=r.transitions.length;for(let i=0;i<n;i++){let o=r.transitions[i],s=FF(t,o);s!==void 0&&Ud(s,e)}}function FF(t,e){if(e instanceof ll)return{state:e.target,alt:t.alt,stack:t.stack};if(e instanceof Js){let r=[...t.stack,e.followState];return{state:e.target,alt:t.alt,stack:r}}}function UF(t){for(let e of t.elements)if(e.state.type===Io)return!0;return!1}function BF(t){for(let e of t.elements)if(e.state.type!==Io)return!1;return!0}function GF(t){if(BF(t))return!0;let e=XF(t.elements);return HF(e)&&!jF(e)}function XF(t){let e=new Map;for(let r of t){let n=Wg(r,!1),i=e.get(n);i===void 0&&(i={},e.set(n,i)),i[r.alt]=!0}return e}function HF(t){for(let e of Array.from(t.values()))if(Object.keys(e).length>1)return!0;return!1}function jF(t){for(let e of Array.from(t.values()))if(Object.keys(e).length===1)return!0;return!1}function zF(t,e){let r;for(let n of t.configs.elements)if(!(e.is(n.alt)===!1||n.state.type===Io)){if(r===void 0)r=n.alt;else if(r!==n.alt)return}return r}sa();var Tl=class{constructor(){this.nodeStack=[]}get current(){return this.nodeStack[this.nodeStack.length-1]??this.rootNode}buildRootNode(e){return this.rootNode=new aa(e),this.rootNode.root=this.rootNode,this.nodeStack=[this.rootNode],this.rootNode}buildCompositeNode(e){let r=new Oo;return r.grammarSource=e,r.root=this.rootNode,this.current.content.push(r),this.nodeStack.push(r),r}buildLeafNode(e,r){let n=new Co(e.startOffset,e.image.length,Es(e),e.tokenType,!r);return n.grammarSource=r,n.root=this.rootNode,this.current.content.push(n),n}removeNode(e){let r=e.container;if(r){let n=r.content.indexOf(e);n>=0&&r.content.splice(n,1)}}addHiddenNodes(e){let r=[];for(let o of e){let s=new Co(o.startOffset,o.image.length,Es(o),o.tokenType,!0);s.root=this.rootNode,r.push(s)}let n=this.current,i=!1;if(n.content.length>0){n.content.push(...r);return}for(;n.container;){let o=n.container.content.indexOf(n);if(o>0){n.container.content.splice(o,0,...r),i=!0;break}n=n.container}i||this.rootNode.content.unshift(...r)}construct(e){let r=this.current;typeof e.$type=="string"&&!e.$infixName&&(this.current.astNode=e),e.$cstNode=r;let n=this.nodeStack.pop();n?.content.length===0&&this.removeNode(n)}},_l=class{get hidden(){return!1}get astNode(){let e=typeof this._astNode?.$type=="string"?this._astNode:this.container?.astNode;if(!e)throw new Error("This node has no associated AST element");return e}set astNode(e){this._astNode=e}get text(){return this.root.fullText.substring(this.offset,this.end)}},Co=class extends _l{get offset(){return this._offset}get length(){return this._length}get end(){return this._offset+this._length}get hidden(){return this._hidden}get tokenType(){return this._tokenType}get range(){return this._range}constructor(e,r,n,i,o=!1){super(),this._hidden=o,this._offset=e,this._tokenType=i,this._length=r,this._range=n}},Oo=class extends _l{constructor(){super(...arguments),this.content=new Jy(this)}get offset(){return this.firstNonHiddenNode?.offset??0}get length(){return this.end-this.offset}get end(){return this.lastNonHiddenNode?.end??0}get range(){let e=this.firstNonHiddenNode,r=this.lastNonHiddenNode;if(e&&r){if(this._rangeCache===void 0){let{range:n}=e,{range:i}=r;this._rangeCache={start:n.start,end:i.end.line<n.start.line?n.start:i.end}}return this._rangeCache}else return{start:Ie.create(0,0),end:Ie.create(0,0)}}get firstNonHiddenNode(){for(let e of this.content)if(!e.hidden)return e;return this.content[0]}get lastNonHiddenNode(){for(let e=this.content.length-1;e>=0;e--){let r=this.content[e];if(!r.hidden)return r}return this.content[this.content.length-1]}},Jy=class t extends Array{constructor(e){super(),this.parent=e,Object.setPrototypeOf(this,t.prototype)}push(...e){return this.addParents(e),super.push(...e)}unshift(...e){return this.addParents(e),super.unshift(...e)}splice(e,r,...n){return this.addParents(n),super.splice(e,r,...n)}addParents(e){for(let r of e)r.container=this.parent}},aa=class extends Oo{get text(){return this._text.substring(this.offset,this.end)}get fullText(){return this._text}constructor(e){super(),this._text="",this._text=e??""}};var Yd=Symbol("Datatype");function Qy(t){return t.$type===Yd}var qb="\u200B",Wb=t=>t.endsWith(qb)?t:t+qb,El=class{constructor(e,r){this._unorderedGroups=new Map,this.allRules=new Map,this.lexer=e.parser.Lexer;let n=this.lexer.definition,i=e.LanguageMetaData.mode==="production";e.shared.profilers.LangiumProfiler?.isActive("parsing")?this.wrapper=new ex(n,{...e.parser.ParserConfig,skipValidations:i,errorMessageProvider:e.parser.ParserErrorMessageProvider},r,e.shared.profilers.LangiumProfiler.createTask("parsing",e.LanguageMetaData.languageId)):this.wrapper=new Zd(n,{...e.parser.ParserConfig,skipValidations:i,errorMessageProvider:e.parser.ParserErrorMessageProvider},r)}alternatives(e,r){this.wrapper.wrapOr(e,r)}optional(e,r){this.wrapper.wrapOption(e,r)}many(e,r){this.wrapper.wrapMany(e,r)}atLeastOne(e,r){this.wrapper.wrapAtLeastOne(e,r)}getRule(e){return this.allRules.get(e)}isRecording(){return this.wrapper.IS_RECORDING}get unorderedGroups(){return this._unorderedGroups}getRuleStack(){return this.wrapper.RULE_STACK}finalize(){this.wrapper.wrapSelfAnalysis()}},vl=class extends El{get current(){return this.stack[this.stack.length-1]}constructor(e){super(e,!1),this.nodeBuilder=new Tl,this.stack=[],this.assignmentMap=new Map,this.operatorPrecedence=new Map,this.linker=e.references.Linker,this.converter=e.parser.ValueConverter,this.astReflection=e.shared.AstReflection}rule(e,r){let n=this.computeRuleType(e),i;pi(e)&&(i=e.name,this.registerPrecedenceMap(e));let o=this.wrapper.DEFINE_RULE(Wb(e.name),this.startImplementation(n,i,r).bind(this));return this.allRules.set(e.name,o),Nt(e)&&e.entry&&(this.mainRule=o),o}registerPrecedenceMap(e){let r=e.name,n=new Map;for(let i=0;i<e.operators.precedences.length;i++){let o=e.operators.precedences[i];for(let s of o.operators)n.set(s.value,{precedence:i,rightAssoc:o.associativity==="right"})}this.operatorPrecedence.set(r,n)}computeRuleType(e){return pi(e)?mi(e):e.fragment?void 0:Xc(e)?Yd:mi(e)}parse(e,r={}){this.nodeBuilder.buildRootNode(e);let n=this.lexerResult=this.lexer.tokenize(e);this.wrapper.input=n.tokens;let i=r.rule?this.allRules.get(r.rule):this.mainRule;if(!i)throw new Error(r.rule?`No rule found with name '${r.rule}'`:"No main rule available.");let o=this.doParse(i);return this.nodeBuilder.addHiddenNodes(n.hidden),this.unorderedGroups.clear(),this.lexerResult=void 0,fs(o,{deep:!0}),{value:o,lexerErrors:n.errors,lexerReport:n.report,parserErrors:this.wrapper.errors}}doParse(e){let r=this.wrapper.rule(e);if(this.stack.length>0&&(r=this.construct()),r===void 0)throw new Error("No result from parser");if(this.stack.length>0)throw new Error("Parser stack is not empty after parsing");return r}startImplementation(e,r,n){return i=>{let o=!this.isRecording()&&e!==void 0;if(o){let s={$type:e};this.stack.push(s),e===Yd?s.value="":r!==void 0&&(s.$infixName=r)}return n(i),o?this.construct():void 0}}extractHiddenTokens(e){let r=this.lexerResult.hidden;if(!r.length)return[];let n=e.startOffset;for(let i=0;i<r.length;i++)if(r[i].startOffset>n)return r.splice(0,i);return r.splice(0,r.length)}consume(e,r,n){let i=this.wrapper.wrapConsume(e,r);if(!this.isRecording()&&this.isValidToken(i)){let o=this.extractHiddenTokens(i);this.nodeBuilder.addHiddenNodes(o);let s=this.nodeBuilder.buildLeafNode(i,n),{assignment:a,crossRef:c}=this.getAssignment(n),l=this.current;if(a){let u=Rr(n)?i.image:this.converter.convert(i.image,s);this.assign(a.operator,a.feature,u,s,c)}else if(Qy(l)){let u=i.image;Rr(n)||(u=this.converter.convert(u,s).toString()),l.value+=u}}}isValidToken(e){return!e.isInsertedInRecovery&&!isNaN(e.startOffset)&&typeof e.endOffset=="number"&&!isNaN(e.endOffset)}subrule(e,r,n,i,o){let s;!this.isRecording()&&!n&&(s=this.nodeBuilder.buildCompositeNode(i));let a;try{a=this.wrapper.wrapSubrule(e,r,o)}finally{this.isRecording()||(a===void 0&&!n&&(a=this.construct()),a!==void 0&&s&&s.length>0&&this.performSubruleAssignment(a,i,s))}}performSubruleAssignment(e,r,n){let{assignment:i,crossRef:o}=this.getAssignment(r);if(i)this.assign(i.operator,i.feature,e,n,o);else if(!i){let s=this.current;if(Qy(s))s.value+=e.toString();else if(typeof e=="object"&&e){let c=this.assignWithoutOverride(e,s);this.stack.pop(),this.stack.push(c)}}}action(e,r){if(!this.isRecording()){let n=this.current;if(r.feature&&r.operator){n=this.construct(),this.nodeBuilder.removeNode(n.$cstNode),this.nodeBuilder.buildCompositeNode(r).content.push(n.$cstNode);let o={$type:e};this.stack.push(o),this.assign(r.operator,r.feature,n,n.$cstNode)}else n.$type=e}}construct(){if(this.isRecording())return;let e=this.stack.pop();return this.nodeBuilder.construct(e),"$infixName"in e?this.constructInfix(e,this.operatorPrecedence.get(e.$infixName)):Qy(e)?this.converter.convert(e.value,e.$cstNode):(vm(this.astReflection,e),e)}constructInfix(e,r){let n=e.parts;if(!Array.isArray(n)||n.length===0)return;let i=e.operators;if(!Array.isArray(i)||n.length<2)return n[0];let o=0,s=-1;for(let g=0;g<i.length;g++){let v=i[g],T=r.get(v)??{precedence:1/0,rightAssoc:!1};T.precedence>s?(s=T.precedence,o=g):T.precedence===s&&(T.rightAssoc||(o=g))}let a=i.slice(0,o),c=i.slice(o+1),l=n.slice(0,o+1),u=n.slice(o+1),f={$infixName:e.$infixName,$type:e.$type,$cstNode:e.$cstNode,parts:l,operators:a},d={$infixName:e.$infixName,$type:e.$type,$cstNode:e.$cstNode,parts:u,operators:c},p=this.constructInfix(f,r),m=this.constructInfix(d,r);return{$type:e.$type,$cstNode:e.$cstNode,left:p,operator:i[o],right:m}}getAssignment(e){if(!this.assignmentMap.has(e)){let r=Nn(e,Ur);this.assignmentMap.set(e,{assignment:r,crossRef:r&&Br(r.terminal)?r.terminal.isMulti?"multi":"single":void 0})}return this.assignmentMap.get(e)}assign(e,r,n,i,o){let s=this.current,a;switch(o==="single"&&typeof n=="string"?a=this.linker.buildReference(s,r,i,n):o==="multi"&&typeof n=="string"?a=this.linker.buildMultiReference(s,r,i,n):a=n,e){case"=":{s[r]=a;break}case"?=":{s[r]=!0;break}case"+=":Array.isArray(s[r])||(s[r]=[]),s[r].push(a)}}assignWithoutOverride(e,r){for(let[i,o]of Object.entries(r)){let s=e[i];s===void 0?e[i]=o:Array.isArray(s)&&Array.isArray(o)&&(o.push(...s),e[i]=o)}let n=e.$cstNode;return n&&(n.astNode=void 0,e.$cstNode=void 0),e}get definitionErrors(){return this.wrapper.definitionErrors}},Kd=class{buildMismatchTokenMessage(e){return Gn.buildMismatchTokenMessage(e)}buildNotAllInputParsedMessage(e){return Gn.buildNotAllInputParsedMessage(e)}buildNoViableAltMessage(e){return Gn.buildNoViableAltMessage(e)}buildEarlyExitMessage(e){return Gn.buildEarlyExitMessage(e)}},ca=class extends Kd{buildMismatchTokenMessage({expected:e,actual:r}){return`Expecting ${e.LABEL?"`"+e.LABEL+"`":e.name.endsWith(":KW")?`keyword '${e.name.substring(0,e.name.length-3)}'`:`token of type '${e.name}'`} but found \`${r.image}\`.`}buildNotAllInputParsedMessage({firstRedundant:e}){return`Expecting end of file but found \`${e.image}\`.`}},Rl=class extends El{constructor(e){super(e,!0),this.tokens=[],this.elementStack=[],this.lastElementStack=[],this.nextTokenIndex=0,this.stackSize=0}action(){}construct(){}parse(e){this.resetState();let r=this.lexer.tokenize(e,{mode:"partial"});return this.tokens=r.tokens,this.wrapper.input=[...this.tokens],this.mainRule.call(this.wrapper,{}),this.unorderedGroups.clear(),{tokens:this.tokens,elementStack:[...this.lastElementStack],tokenIndex:this.nextTokenIndex}}rule(e,r){let n=this.wrapper.DEFINE_RULE(Wb(e.name),this.startImplementation(r).bind(this));return this.allRules.set(e.name,n),e.entry&&(this.mainRule=n),n}resetState(){this.elementStack=[],this.lastElementStack=[],this.nextTokenIndex=0,this.stackSize=0}startImplementation(e){return r=>{let n=this.keepStackSize();try{e(r)}finally{this.resetStackSize(n)}}}removeUnexpectedElements(){this.elementStack.splice(this.stackSize)}keepStackSize(){let e=this.elementStack.length;return this.stackSize=e,e}resetStackSize(e){this.removeUnexpectedElements(),this.stackSize=e}consume(e,r,n){this.wrapper.wrapConsume(e,r),this.isRecording()||(this.lastElementStack=[...this.elementStack,n],this.nextTokenIndex=this.currIdx+1)}subrule(e,r,n,i,o){this.before(i),this.wrapper.wrapSubrule(e,r,o),this.after(i)}before(e){this.isRecording()||this.elementStack.push(e)}after(e){if(!this.isRecording()){let r=this.elementStack.lastIndexOf(e);r>=0&&this.elementStack.splice(r)}}get currIdx(){return this.wrapper.currIdx}},WF={recoveryEnabled:!0,nodeLocationTracking:"full",skipValidations:!0,errorMessageProvider:new ca},Zd=class extends il{constructor(e,r,n){let i=r&&"maxLookahead"in r;super(e,{...WF,lookaheadStrategy:i?new Xn({maxLookahead:r.maxLookahead}):new fl({logging:r.skipValidations?()=>{}:void 0,incomplete:n}),...r})}get IS_RECORDING(){return this.RECORDING_PHASE}DEFINE_RULE(e,r,n){return this.RULE(e,r,n)}wrapSelfAnalysis(){this.performSelfAnalysis()}wrapConsume(e,r){return this.consume(e,r,void 0)}wrapSubrule(e,r,n){return this.subrule(e,r,{ARGS:[n]})}wrapOr(e,r){this.or(e,r)}wrapOption(e,r){this.option(e,r)}wrapMany(e,r){this.many(e,r)}wrapAtLeastOne(e,r){this.atLeastOne(e,r)}rule(e){return e.call(this,{})}},ex=class extends Zd{constructor(e,r,n,i){super(e,r,n),this.task=i}rule(e){this.task.start(),this.task.startSubTask(this.ruleName(e));try{return super.rule(e)}finally{this.task.stopSubTask(this.ruleName(e)),this.task.stop()}}ruleName(e){return e.ruleName}subrule(e,r,n){this.task.startSubTask(this.ruleName(r));try{return super.subrule(e,r,n)}finally{this.task.stopSubTask(this.ruleName(r))}}};function bl(t,e,r){return VF({parser:e,tokens:r,ruleNames:new Map},t),e}function VF(t,e){let r=Bc(e,!1),n=xe(e.rules).filter(Nt).filter(o=>r.has(o));for(let o of n){let s={...t,consume:1,optional:1,subrule:1,many:1,or:1};t.parser.rule(o,Lo(s,o.definition))}let i=xe(e.rules).filter(pi).filter(o=>r.has(o));for(let o of i)t.parser.rule(o,YF(t,o))}function YF(t,e){let r=e.call.rule.ref;if(!r)throw new Error("Could not resolve reference to infix operator rule: "+e.call.rule.$refText);if(qt(r))throw new Error("Cannot use terminal rule in infix expression");let n=e.operators.precedences.flatMap(p=>p.operators),i={$type:"Group",elements:[]},o={$container:i,$type:"Assignment",feature:"parts",operator:"+=",terminal:e.call},s={$container:i,$type:"Group",elements:[],cardinality:"*"};i.elements.push(o,s);let c={$container:s,$type:"Assignment",feature:"operators",operator:"+=",terminal:{$type:"Alternatives",elements:n}},l={...o,$container:s};s.elements.push(c,l);let f=n.map(p=>t.tokens[p.value]).map((p,m)=>({ALT:()=>t.parser.consume(m,p,c)})),d;return p=>{d??(d=rx(t,r)),t.parser.subrule(0,d,!1,o,p),t.parser.many(0,{DEF:()=>{t.parser.alternatives(0,f),t.parser.subrule(1,d,!1,l,p)}})}}function Lo(t,e,r=!1){let n;if(Rr(e))n=r2(t,e);else if(Ln(e))n=KF(t,e);else if(Ur(e))n=Lo(t,e.terminal);else if(Br(e))n=Vb(t,e);else if(Gr(e))n=ZF(t,e);else if(Rf(e))n=QF(t,e);else if(Sf(e))n=e2(t,e);else if(di(e))n=t2(t,e);else if(km(e)){let i=t.consume++;n=()=>t.parser.consume(i,Yt,e)}else throw new go(e.$cstNode,`Unexpected element type: ${e.$type}`);return Yb(t,r?void 0:Jd(e),n,e.cardinality)}function KF(t,e){let r=mi(e);return()=>t.parser.action(r,e)}function ZF(t,e){let r=e.rule.ref;if(On(r)){let n=t.subrule++,i=Nt(r)&&r.fragment,o=e.arguments.length>0?JF(r,e.arguments):()=>({}),s;return a=>{s??(s=rx(t,r)),t.parser.subrule(n,s,i,e,o(a))}}else if(qt(r)){let n=t.consume++,i=tx(t,r.name);return()=>t.parser.consume(n,i,e)}else if(r)un(r);else throw new go(e.$cstNode,`Undefined rule: ${e.rule.$refText}`)}function JF(t,e){if(e.some(n=>n.calledByName)){let n=e.map(i=>({parameterName:i.parameter?.ref?.name,predicate:mn(i.value)}));return i=>{let o={};for(let{parameterName:s,predicate:a}of n)s&&(o[s]=a(i));return o}}else{let n=e.map(i=>mn(i.value));return i=>{let o={};for(let s=0;s<n.length;s++)if(s<t.parameters.length){let a=t.parameters[s].name,c=n[s];o[a]=c(i)}return o}}}function mn(t){if(Im(t)){let e=mn(t.left),r=mn(t.right);return n=>e(n)||r(n)}else if(Sm(t)){let e=mn(t.left),r=mn(t.right);return n=>e(n)&&r(n)}else if(Cm(t)){let e=mn(t.value);return r=>!e(r)}else if(Om(t)){let e=t.parameter.ref.name;return r=>r!==void 0&&r[e]===!0}else if(wm(t)){let e=!!t.true;return()=>e}un(t)}function QF(t,e){if(e.elements.length===1)return Lo(t,e.elements[0]);{let r=[];for(let i of e.elements){let o={ALT:Lo(t,i,!0)},s=Jd(i);s&&(o.GATE=mn(s)),r.push(o)}let n=t.or++;return i=>t.parser.alternatives(n,r.map(o=>{let s={ALT:()=>o.ALT(i)},a=o.GATE;return a&&(s.GATE=()=>a(i)),s}))}}function e2(t,e){if(e.elements.length===1)return Lo(t,e.elements[0]);let r=[];for(let a of e.elements){let c={ALT:Lo(t,a,!0)},l=Jd(a);l&&(c.GATE=mn(l)),r.push(c)}let n=t.or++,i=(a,c)=>{let l=c.getRuleStack().join("-");return`uGroup_${a}_${l}`},o=a=>t.parser.alternatives(n,r.map((c,l)=>{let u={ALT:()=>!0},f=t.parser;u.ALT=()=>{if(c.ALT(a),!f.isRecording()){let p=i(n,f);f.unorderedGroups.get(p)||f.unorderedGroups.set(p,[]);let m=f.unorderedGroups.get(p);typeof m?.[l]>"u"&&(m[l]=!0)}};let d=c.GATE;return d?u.GATE=()=>d(a):u.GATE=()=>!f.unorderedGroups.get(i(n,f))?.[l],u})),s=Yb(t,Jd(e),o,"*");return a=>{s(a),t.parser.isRecording()||t.parser.unorderedGroups.delete(i(n,t.parser))}}function t2(t,e){let r=e.elements.map(n=>Lo(t,n));return n=>r.forEach(i=>i(n))}function Jd(t){if(di(t))return t.guardCondition}function Vb(t,e,r=e.terminal){if(r)if(Gr(r)&&Nt(r.rule.ref)){let n=r.rule.ref,i=t.subrule++,o;return s=>{o??(o=rx(t,n)),t.parser.subrule(i,o,!1,e,s)}}else if(Gr(r)&&qt(r.rule.ref)){let n=t.consume++,i=tx(t,r.rule.ref.name);return()=>t.parser.consume(n,i,e)}else if(Rr(r)){let n=t.consume++,i=tx(t,r.value);return()=>t.parser.consume(n,i,e)}else throw new Error("Could not build cross reference parser");else{if(!e.type.ref)throw new Error("Could not resolve reference to type: "+e.type.$refText);let i=Of(e.type.ref)?.terminal;if(!i)throw new Error("Could not find name assignment for type: "+mi(e.type.ref));return Vb(t,e,i)}}function r2(t,e){let r=t.consume++,n=t.tokens[e.value];if(!n)throw new Error("Could not find token for keyword: "+e.value);return()=>t.parser.consume(r,n,e)}function Yb(t,e,r,n){let i=e&&mn(e);if(!n)if(i){let o=t.or++;return s=>t.parser.alternatives(o,[{ALT:()=>r(s),GATE:()=>i(s)},{ALT:dd(),GATE:()=>!i(s)}])}else return r;if(n==="*"){let o=t.many++;return s=>t.parser.many(o,{DEF:()=>r(s),GATE:i?()=>i(s):void 0})}else if(n==="+"){let o=t.many++;if(i){let s=t.or++;return a=>t.parser.alternatives(s,[{ALT:()=>t.parser.atLeastOne(o,{DEF:()=>r(a)}),GATE:()=>i(a)},{ALT:dd(),GATE:()=>!i(a)}])}else return s=>t.parser.atLeastOne(o,{DEF:()=>r(s)})}else if(n==="?"){let o=t.optional++;return s=>t.parser.optional(o,{DEF:()=>r(s),GATE:i?()=>i(s):void 0})}else un(n)}function rx(t,e){let r=n2(t,e),n=t.parser.getRule(r);if(!n)throw new Error(`Rule "${r}" not found."`);return n}function n2(t,e){if(On(e))return e.name;if(t.ruleNames.has(e))return t.ruleNames.get(e);{let r=e,n=r.$container,i=e.$type;for(;!Nt(n);)(di(n)||Rf(n)||Sf(n))&&(i=n.elements.indexOf(r).toString()+":"+i),r=n,n=n.$container;return i=n.name+":"+i,t.ruleNames.set(e,i),i}}function tx(t,e){let r=t.tokens[e];if(!r)throw new Error(`Token "${e}" not found."`);return r}function nx(t){let e=t.Grammar,r=t.parser.Lexer,n=new Rl(t);return bl(e,n,r.definition),n.finalize(),n}function ix(t){let e=Kb(t);return e.finalize(),e}function Kb(t){let e=t.Grammar,r=t.parser.Lexer,n=new vl(t);return bl(e,n,r.definition)}var Do=class{constructor(){this.diagnostics=[]}buildTokens(e,r){let n=xe(Bc(e,!1)),i=this.buildTerminalTokens(n),o=this.buildKeywordTokens(n,i,r);return o.push(...i),o}flushLexingReport(e){return{diagnostics:this.popDiagnostics()}}popDiagnostics(){let e=[...this.diagnostics];return this.diagnostics=[],e}buildTerminalTokens(e){return e.filter(qt).filter(r=>!r.fragment).map(r=>this.buildTerminalToken(r)).toArray()}buildTerminalToken(e){let r=Rs(e),n=this.requiresCustomPattern(r)?this.regexPatternFunction(r):r,i={name:e.name,PATTERN:n};return typeof n=="function"&&(i.LINE_BREAKS=!0),e.hidden&&(i.GROUP=Uc(r)?ct.SKIPPED:"hidden"),i}requiresCustomPattern(e){return!!(e.flags.includes("u")||e.flags.includes("s"))}regexPatternFunction(e){let r=new RegExp(e,e.flags+"y");return(n,i)=>(r.lastIndex=i,r.exec(n))}buildKeywordTokens(e,r,n){return e.filter(On).flatMap(i=>Mr(i).filter(Rr)).distinct(i=>i.value).toArray().sort((i,o)=>o.value.length-i.value.length).map(i=>this.buildKeywordToken(i,r,!!n?.caseInsensitive))}buildKeywordToken(e,r,n){let i=this.buildKeywordPattern(e,n),o={name:e.value,PATTERN:i,LONGER_ALT:this.findLongerAlt(e,r)};return typeof i=="function"&&(o.LINE_BREAKS=!0),o}buildKeywordPattern(e,r){return r?new RegExp(hi(e.value),"i"):e.value}findLongerAlt(e,r){return r.reduce((n,i)=>{let o=i?.PATTERN;return o?.source&&Zm("^"+o.source+"$",e.value)&&n.push(i),n},[])}};var $o=class{convert(e,r){let n=r.grammarSource;if(Br(n)&&(n=eg(n)),Gr(n)){let i=n.rule.ref;if(!i)throw new Error("This cst node was not parsed by a rule.");return this.runConverter(i,e,r)}return e}runConverter(e,r,n){switch(e.name.toUpperCase()){case"INT":return gn.convertInt(r);case"STRING":return gn.convertString(r);case"ID":return gn.convertID(r)}switch(ag(e)?.toLowerCase()){case"number":return gn.convertNumber(r);case"boolean":return gn.convertBoolean(r);case"bigint":return gn.convertBigint(r);case"date":return gn.convertDate(r);default:return r}}},gn;(function(t){function e(l){let u="";for(let f=1;f<l.length-1;f++){let d=l.charAt(f);if(d==="\\"){let p=l.charAt(++f);u+=r(p)}else u+=d}return u}t.convertString=e;function r(l){switch(l){case"b":return"\b";case"f":return"\f";case"n":return`
|
|
152
|
+
`;case"r":return"\r";case"t":return" ";case"v":return"\v";case"0":return"\0";default:return l}}function n(l){return l.charAt(0)==="^"?l.substring(1):l}t.convertID=n;function i(l){return parseInt(l)}t.convertInt=i;function o(l){return BigInt(l)}t.convertBigint=o;function s(l){return new Date(l)}t.convertDate=s;function a(l){return Number(l)}t.convertNumber=a;function c(l){return l.toLowerCase()==="true"}t.convertBoolean=c})(gn||(gn={}));var oe={};Se(oe,mm(tw(),1));function px(){return new Promise(t=>{typeof setImmediate>"u"?setTimeout(t,0):setImmediate(t)})}var rp=0,rw=10;function np(){return rp=performance.now(),new oe.CancellationTokenSource}function nw(t){rw=t}var wr=Symbol("OperationCancelled");function yn(t){return t===wr}async function pt(t){if(t===oe.CancellationToken.None)return;let e=performance.now();if(e-rp>=rw&&(rp=e,await px(),rp=performance.now()),t.isCancellationRequested)throw wr}var Jt=class{constructor(){this.promise=new Promise((e,r)=>{this.resolve=n=>(e(n),this),this.reject=n=>(r(n),this)})}};var ip=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=sw(n.range),o=this.offsetAt(i.start),s=this.offsetAt(i.end);this._content=this._content.substring(0,o)+n.text+this._content.substring(s,this._content.length);let a=Math.max(i.start.line,0),c=Math.max(i.end.line,0),l=this._lineOffsets,u=iw(n.text,!1,o);if(c-a===u.length)for(let d=0,p=u.length;d<p;d++)l[d+a+1]=u[d];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 f=n.text.length-(s-o);if(f!==0)for(let d=a+1+u.length,p=l.length;d<p;d++)l[d]=l[d]+f}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=iw(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 s=Math.floor((n+i)/2);r[s]>e?i=s:n=s+1}let o=n-1;return e=this.ensureBeforeEOL(e,r[o]),{line:o,character:e-r[o]}}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];if(e.character<=0)return n;let i=e.line+1<r.length?r[e.line+1]:this._content.length,o=Math.min(n+e.character,i);return this.ensureBeforeEOL(o,n)}ensureBeforeEOL(e,r){for(;e>r&&ow(this._content.charCodeAt(e-1));)e--;return e}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}},fa;(function(t){function e(i,o,s,a){return new ip(i,o,s,a)}t.create=e;function r(i,o,s){if(i instanceof ip)return i.update(o,s),i;throw new Error("TextDocument.update: document must be created by TextDocument.create")}t.update=r;function n(i,o){let s=i.getText(),a=hx(o.map(p2),(u,f)=>{let d=u.range.start.line-f.range.start.line;return d===0?u.range.start.character-f.range.start.character:d}),c=0,l=[];for(let u of a){let f=i.offsetAt(u.range.start);if(f<c)throw new Error("Overlapping edit");f>c&&l.push(s.substring(c,f)),u.newText.length&&l.push(u.newText),c=i.offsetAt(u.range.end)}return l.push(s.substr(c)),l.join("")}t.applyEdits=n})(fa||(fa={}));function hx(t,e){if(t.length<=1)return t;let r=t.length/2|0,n=t.slice(0,r),i=t.slice(r);hx(n,e),hx(i,e);let o=0,s=0,a=0;for(;o<n.length&&s<i.length;)e(n[o],i[s])<=0?t[a++]=n[o++]:t[a++]=i[s++];for(;o<n.length;)t[a++]=n[o++];for(;s<i.length;)t[a++]=i[s++];return t}function iw(t,e,r=0){let n=e?[r]:[];for(let i=0;i<t.length;i++){let o=t.charCodeAt(i);ow(o)&&(o===13&&i+1<t.length&&t.charCodeAt(i+1)===10&&i++,n.push(r+i+1))}return n}function ow(t){return t===13||t===10}function sw(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 p2(t){let e=sw(t.range);return e!==t.range?{newText:t.newText,range:e}:t}var aw;(()=>{"use strict";var t={975:O=>{function R(w){if(typeof w!="string")throw new TypeError("Path must be a string. Received "+JSON.stringify(w))}function L(w,A){for(var S,M="",X=0,F=-1,W=0,Z=0;Z<=w.length;++Z){if(Z<w.length)S=w.charCodeAt(Z);else{if(S===47)break;S=47}if(S===47){if(!(F===Z-1||W===1))if(F!==Z-1&&W===2){if(M.length<2||X!==2||M.charCodeAt(M.length-1)!==46||M.charCodeAt(M.length-2)!==46){if(M.length>2){var pe=M.lastIndexOf("/");if(pe!==M.length-1){pe===-1?(M="",X=0):X=(M=M.slice(0,pe)).length-1-M.lastIndexOf("/"),F=Z,W=0;continue}}else if(M.length===2||M.length===1){M="",X=0,F=Z,W=0;continue}}A&&(M.length>0?M+="/..":M="..",X=2)}else M.length>0?M+="/"+w.slice(F+1,Z):M=w.slice(F+1,Z),X=Z-F-1;F=Z,W=0}else S===46&&W!==-1?++W:W=-1}return M}var $={resolve:function(){for(var w,A="",S=!1,M=arguments.length-1;M>=-1&&!S;M--){var X;M>=0?X=arguments[M]:(w===void 0&&(w=process.cwd()),X=w),R(X),X.length!==0&&(A=X+"/"+A,S=X.charCodeAt(0)===47)}return A=L(A,!S),S?A.length>0?"/"+A:"/":A.length>0?A:"."},normalize:function(w){if(R(w),w.length===0)return".";var A=w.charCodeAt(0)===47,S=w.charCodeAt(w.length-1)===47;return(w=L(w,!A)).length!==0||A||(w="."),w.length>0&&S&&(w+="/"),A?"/"+w:w},isAbsolute:function(w){return R(w),w.length>0&&w.charCodeAt(0)===47},join:function(){if(arguments.length===0)return".";for(var w,A=0;A<arguments.length;++A){var S=arguments[A];R(S),S.length>0&&(w===void 0?w=S:w+="/"+S)}return w===void 0?".":$.normalize(w)},relative:function(w,A){if(R(w),R(A),w===A||(w=$.resolve(w))===(A=$.resolve(A)))return"";for(var S=1;S<w.length&&w.charCodeAt(S)===47;++S);for(var M=w.length,X=M-S,F=1;F<A.length&&A.charCodeAt(F)===47;++F);for(var W=A.length-F,Z=X<W?X:W,pe=-1,V=0;V<=Z;++V){if(V===Z){if(W>Z){if(A.charCodeAt(F+V)===47)return A.slice(F+V+1);if(V===0)return A.slice(F+V)}else X>Z&&(w.charCodeAt(S+V)===47?pe=V:V===0&&(pe=0));break}var te=w.charCodeAt(S+V);if(te!==A.charCodeAt(F+V))break;te===47&&(pe=V)}var De="";for(V=S+pe+1;V<=M;++V)V!==M&&w.charCodeAt(V)!==47||(De.length===0?De+="..":De+="/..");return De.length>0?De+A.slice(F+pe):(F+=pe,A.charCodeAt(F)===47&&++F,A.slice(F))},_makeLong:function(w){return w},dirname:function(w){if(R(w),w.length===0)return".";for(var A=w.charCodeAt(0),S=A===47,M=-1,X=!0,F=w.length-1;F>=1;--F)if((A=w.charCodeAt(F))===47){if(!X){M=F;break}}else X=!1;return M===-1?S?"/":".":S&&M===1?"//":w.slice(0,M)},basename:function(w,A){if(A!==void 0&&typeof A!="string")throw new TypeError('"ext" argument must be a string');R(w);var S,M=0,X=-1,F=!0;if(A!==void 0&&A.length>0&&A.length<=w.length){if(A.length===w.length&&A===w)return"";var W=A.length-1,Z=-1;for(S=w.length-1;S>=0;--S){var pe=w.charCodeAt(S);if(pe===47){if(!F){M=S+1;break}}else Z===-1&&(F=!1,Z=S+1),W>=0&&(pe===A.charCodeAt(W)?--W==-1&&(X=S):(W=-1,X=Z))}return M===X?X=Z:X===-1&&(X=w.length),w.slice(M,X)}for(S=w.length-1;S>=0;--S)if(w.charCodeAt(S)===47){if(!F){M=S+1;break}}else X===-1&&(F=!1,X=S+1);return X===-1?"":w.slice(M,X)},extname:function(w){R(w);for(var A=-1,S=0,M=-1,X=!0,F=0,W=w.length-1;W>=0;--W){var Z=w.charCodeAt(W);if(Z!==47)M===-1&&(X=!1,M=W+1),Z===46?A===-1?A=W:F!==1&&(F=1):A!==-1&&(F=-1);else if(!X){S=W+1;break}}return A===-1||M===-1||F===0||F===1&&A===M-1&&A===S+1?"":w.slice(A,M)},format:function(w){if(w===null||typeof w!="object")throw new TypeError('The "pathObject" argument must be of type Object. Received type '+typeof w);return(function(A,S){var M=S.dir||S.root,X=S.base||(S.name||"")+(S.ext||"");return M?M===S.root?M+X:M+"/"+X:X})(0,w)},parse:function(w){R(w);var A={root:"",dir:"",base:"",ext:"",name:""};if(w.length===0)return A;var S,M=w.charCodeAt(0),X=M===47;X?(A.root="/",S=1):S=0;for(var F=-1,W=0,Z=-1,pe=!0,V=w.length-1,te=0;V>=S;--V)if((M=w.charCodeAt(V))!==47)Z===-1&&(pe=!1,Z=V+1),M===46?F===-1?F=V:te!==1&&(te=1):F!==-1&&(te=-1);else if(!pe){W=V+1;break}return F===-1||Z===-1||te===0||te===1&&F===Z-1&&F===W+1?Z!==-1&&(A.base=A.name=W===0&&X?w.slice(1,Z):w.slice(W,Z)):(W===0&&X?(A.name=w.slice(1,F),A.base=w.slice(1,Z)):(A.name=w.slice(W,F),A.base=w.slice(W,Z)),A.ext=w.slice(F,Z)),W>0?A.dir=w.slice(0,W-1):X&&(A.dir="/"),A},sep:"/",delimiter:":",win32:null,posix:null};$.posix=$,O.exports=$}},e={};function r(O){var R=e[O];if(R!==void 0)return R.exports;var L=e[O]={exports:{}};return t[O](L,L.exports,r),L.exports}r.d=(O,R)=>{for(var L in R)r.o(R,L)&&!r.o(O,L)&&Object.defineProperty(O,L,{enumerable:!0,get:R[L]})},r.o=(O,R)=>Object.prototype.hasOwnProperty.call(O,R),r.r=O=>{typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(O,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(O,"__esModule",{value:!0})};var n={};let i;r.r(n),r.d(n,{URI:()=>d,Utils:()=>le}),typeof process=="object"?i=process.platform==="win32":typeof navigator=="object"&&(i=navigator.userAgent.indexOf("Windows")>=0);let o=/^\w[\w\d+.-]*$/,s=/^\//,a=/^\/\//;function c(O,R){if(!O.scheme&&R)throw new Error(`[UriError]: Scheme is missing: {scheme: "", authority: "${O.authority}", path: "${O.path}", query: "${O.query}", fragment: "${O.fragment}"}`);if(O.scheme&&!o.test(O.scheme))throw new Error("[UriError]: Scheme contains illegal characters.");if(O.path){if(O.authority){if(!s.test(O.path))throw new Error('[UriError]: If a URI contains an authority component, then the path component must either be empty or begin with a slash ("/") character')}else if(a.test(O.path))throw new Error('[UriError]: If a URI does not contain an authority component, then the path cannot begin with two slash characters ("//")')}}let l="",u="/",f=/^(([^:/?#]+?):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/;class d{constructor(R,L,$,w,A,S=!1){de(this,"scheme");de(this,"authority");de(this,"path");de(this,"query");de(this,"fragment");typeof R=="object"?(this.scheme=R.scheme||l,this.authority=R.authority||l,this.path=R.path||l,this.query=R.query||l,this.fragment=R.fragment||l):(this.scheme=(function(M,X){return M||X?M:"file"})(R,S),this.authority=L||l,this.path=(function(M,X){switch(M){case"https":case"http":case"file":X?X[0]!==u&&(X=u+X):X=u}return X})(this.scheme,$||l),this.query=w||l,this.fragment=A||l,c(this,S))}static isUri(R){return R instanceof d||!!R&&typeof R.authority=="string"&&typeof R.fragment=="string"&&typeof R.path=="string"&&typeof R.query=="string"&&typeof R.scheme=="string"&&typeof R.fsPath=="string"&&typeof R.with=="function"&&typeof R.toString=="function"}get fsPath(){return _(this,!1)}with(R){if(!R)return this;let{scheme:L,authority:$,path:w,query:A,fragment:S}=R;return L===void 0?L=this.scheme:L===null&&(L=l),$===void 0?$=this.authority:$===null&&($=l),w===void 0?w=this.path:w===null&&(w=l),A===void 0?A=this.query:A===null&&(A=l),S===void 0?S=this.fragment:S===null&&(S=l),L===this.scheme&&$===this.authority&&w===this.path&&A===this.query&&S===this.fragment?this:new m(L,$,w,A,S)}static parse(R,L=!1){let $=f.exec(R);return $?new m($[2]||l,k($[4]||l),k($[5]||l),k($[7]||l),k($[9]||l),L):new m(l,l,l,l,l)}static file(R){let L=l;if(i&&(R=R.replace(/\\/g,u)),R[0]===u&&R[1]===u){let $=R.indexOf(u,2);$===-1?(L=R.substring(2),R=u):(L=R.substring(2,$),R=R.substring($)||u)}return new m("file",L,R,l,l)}static from(R){let L=new m(R.scheme,R.authority,R.path,R.query,R.fragment);return c(L,!0),L}toString(R=!1){return E(this,R)}toJSON(){return this}static revive(R){if(R){if(R instanceof d)return R;{let L=new m(R);return L._formatted=R.external,L._fsPath=R._sep===p?R.fsPath:null,L}}return R}}let p=i?1:void 0;class m extends d{constructor(){super(...arguments);de(this,"_formatted",null);de(this,"_fsPath",null)}get fsPath(){return this._fsPath||(this._fsPath=_(this,!1)),this._fsPath}toString(L=!1){return L?E(this,!0):(this._formatted||(this._formatted=E(this,!1)),this._formatted)}toJSON(){let L={$mid:1};return this._fsPath&&(L.fsPath=this._fsPath,L._sep=p),this._formatted&&(L.external=this._formatted),this.path&&(L.path=this.path),this.scheme&&(L.scheme=this.scheme),this.authority&&(L.authority=this.authority),this.query&&(L.query=this.query),this.fragment&&(L.fragment=this.fragment),L}}let g={58:"%3A",47:"%2F",63:"%3F",35:"%23",91:"%5B",93:"%5D",64:"%40",33:"%21",36:"%24",38:"%26",39:"%27",40:"%28",41:"%29",42:"%2A",43:"%2B",44:"%2C",59:"%3B",61:"%3D",32:"%20"};function v(O,R,L){let $,w=-1;for(let A=0;A<O.length;A++){let S=O.charCodeAt(A);if(S>=97&&S<=122||S>=65&&S<=90||S>=48&&S<=57||S===45||S===46||S===95||S===126||R&&S===47||L&&S===91||L&&S===93||L&&S===58)w!==-1&&($+=encodeURIComponent(O.substring(w,A)),w=-1),$!==void 0&&($+=O.charAt(A));else{$===void 0&&($=O.substr(0,A));let M=g[S];M!==void 0?(w!==-1&&($+=encodeURIComponent(O.substring(w,A)),w=-1),$+=M):w===-1&&(w=A)}}return w!==-1&&($+=encodeURIComponent(O.substring(w))),$!==void 0?$:O}function T(O){let R;for(let L=0;L<O.length;L++){let $=O.charCodeAt(L);$===35||$===63?(R===void 0&&(R=O.substr(0,L)),R+=g[$]):R!==void 0&&(R+=O[L])}return R!==void 0?R:O}function _(O,R){let L;return L=O.authority&&O.path.length>1&&O.scheme==="file"?`//${O.authority}${O.path}`:O.path.charCodeAt(0)===47&&(O.path.charCodeAt(1)>=65&&O.path.charCodeAt(1)<=90||O.path.charCodeAt(1)>=97&&O.path.charCodeAt(1)<=122)&&O.path.charCodeAt(2)===58?R?O.path.substr(1):O.path[1].toLowerCase()+O.path.substr(2):O.path,i&&(L=L.replace(/\//g,"\\")),L}function E(O,R){let L=R?T:v,$="",{scheme:w,authority:A,path:S,query:M,fragment:X}=O;if(w&&($+=w,$+=":"),(A||w==="file")&&($+=u,$+=u),A){let F=A.indexOf("@");if(F!==-1){let W=A.substr(0,F);A=A.substr(F+1),F=W.lastIndexOf(":"),F===-1?$+=L(W,!1,!1):($+=L(W.substr(0,F),!1,!1),$+=":",$+=L(W.substr(F+1),!1,!0)),$+="@"}A=A.toLowerCase(),F=A.lastIndexOf(":"),F===-1?$+=L(A,!1,!0):($+=L(A.substr(0,F),!1,!0),$+=A.substr(F))}if(S){if(S.length>=3&&S.charCodeAt(0)===47&&S.charCodeAt(2)===58){let F=S.charCodeAt(1);F>=65&&F<=90&&(S=`/${String.fromCharCode(F+32)}:${S.substr(3)}`)}else if(S.length>=2&&S.charCodeAt(1)===58){let F=S.charCodeAt(0);F>=65&&F<=90&&(S=`${String.fromCharCode(F+32)}:${S.substr(2)}`)}$+=L(S,!0,!1)}return M&&($+="?",$+=L(M,!1,!1)),X&&($+="#",$+=R?X:v(X,!1,!1)),$}function I(O){try{return decodeURIComponent(O)}catch{return O.length>3?O.substr(0,3)+I(O.substr(3)):O}}let D=/(%[0-9A-Za-z][0-9A-Za-z])+/g;function k(O){return O.match(D)?O.replace(D,(R=>I(R))):O}var B=r(975);let U=B.posix||B,z="/";var le;(function(O){O.joinPath=function(R,...L){return R.with({path:U.join(R.path,...L)})},O.resolvePath=function(R,...L){let $=R.path,w=!1;$[0]!==z&&($=z+$,w=!0);let A=U.resolve($,...L);return w&&A[0]===z&&!R.authority&&(A=A.substring(1)),R.with({path:A})},O.dirname=function(R){if(R.path.length===0||R.path===z)return R;let L=U.dirname(R.path);return L.length===1&&L.charCodeAt(0)===46&&(L=""),R.with({path:L})},O.basename=function(R){return U.basename(R.path)},O.extname=function(R){return U.extname(R.path)}})(le||(le={})),aw=n})();var{URI:ht,Utils:da}=aw;var vt;(function(t){t.basename=da.basename,t.dirname=da.dirname,t.extname=da.extname,t.joinPath=da.joinPath,t.resolvePath=da.resolvePath;let e=typeof process=="object"&&process?.platform==="win32";function r(s,a){return s?.toString()===a?.toString()}t.equals=r;function n(s,a){let c=typeof s=="string"?ht.parse(s).path:s.path,l=typeof a=="string"?ht.parse(a).path:a.path,u=c.split("/").filter(g=>g.length>0),f=l.split("/").filter(g=>g.length>0);if(e){let g=/^[A-Z]:$/;if(u[0]&&g.test(u[0])&&(u[0]=u[0].toLowerCase()),f[0]&&g.test(f[0])&&(f[0]=f[0].toLowerCase()),u[0]!==f[0])return l.substring(1)}let d=0;for(;d<u.length&&u[d]===f[d];d++);let p="../".repeat(u.length-d),m=f.slice(d).join("/");return p+m}t.relative=n;function i(s){return ht.parse(s.toString()).toString()}t.normalize=i;function o(s,a){let c=typeof s=="string"?s:s.path,l=typeof a=="string"?a:a.path;return l.charAt(l.length-1)==="/"&&(l=l.slice(0,-1)),c.charAt(c.length-1)==="/"&&(c=c.slice(0,-1)),l===c?!0:l.length<c.length||l.charAt(c.length)!=="/"?!1:l.startsWith(c)}t.contains=o})(vt||(vt={}));var pa=class{constructor(){this.root={name:"",children:new Map}}normalizeUri(e){return vt.normalize(e)}clear(){this.root.children.clear()}insert(e,r){let n=this.getNode(this.normalizeUri(e),!0);n.element=r}delete(e){let r=this.getNode(this.normalizeUri(e),!1);r?.parent&&r.parent.children.delete(r.name)}has(e){return this.getNode(this.normalizeUri(e),!1)?.element!==void 0}hasNode(e){return this.getNode(this.normalizeUri(e),!1)!==void 0}find(e){return this.getNode(this.normalizeUri(e),!1)?.element}findNode(e){let r=this.normalizeUri(e),n=this.getNode(r,!1);if(n)return{name:n.name,uri:vt.joinPath(ht.parse(r),n.name).toString(),element:n.element}}findChildren(e){let r=this.normalizeUri(e),n=this.getNode(r,!1);return n?Array.from(n.children.values()).map(i=>({name:i.name,uri:vt.joinPath(ht.parse(r),i.name).toString(),element:i.element})):[]}all(){return this.collectValues(this.root)}findAll(e){let r=this.getNode(vt.normalize(e),!1);return r?this.collectValues(r):[]}getNode(e,r){let n=e.split("/");e.charAt(e.length-1)==="/"&&n.pop();let i=this.root;for(let o of n){let s=i.children.get(o);if(!s)if(r)s={name:o,children:new Map,parent:i},i.children.set(o,s);else return;i=s}return i}collectValues(e){let r=[];e.element&&r.push(e.element);for(let n of e.children.values())r.push(...this.collectValues(n));return r}};var ye;(function(t){t[t.Changed=0]="Changed",t[t.Parsed=1]="Parsed",t[t.IndexedContent=2]="IndexedContent",t[t.ComputedScopes=3]="ComputedScopes",t[t.Linked=4]="Linked",t[t.IndexedReferences=5]="IndexedReferences",t[t.Validated=6]="Validated"})(ye||(ye={}));var wl=class{constructor(e){this.serviceRegistry=e.ServiceRegistry,this.textDocuments=e.workspace.TextDocuments,this.fileSystemProvider=e.workspace.FileSystemProvider}async fromUri(e,r=oe.CancellationToken.None){let n=await this.fileSystemProvider.readFile(e);return this.createAsync(e,n,r)}fromTextDocument(e,r,n){return r=r??ht.parse(e.uri),oe.CancellationToken.is(n)?this.createAsync(r,e,n):this.create(r,e,n)}fromString(e,r,n){return oe.CancellationToken.is(n)?this.createAsync(r,e,n):this.create(r,e,n)}fromModel(e,r){return this.create(r,{$model:e})}create(e,r,n){if(typeof r=="string"){let i=this.parse(e,r,n);return this.createLangiumDocument(i,e,void 0,r)}else if("$model"in r){let i={value:r.$model,parserErrors:[],lexerErrors:[]};return this.createLangiumDocument(i,e)}else{let i=this.parse(e,r.getText(),n);return this.createLangiumDocument(i,e,r)}}async createAsync(e,r,n){if(typeof r=="string"){let i=await this.parseAsync(e,r,n);return this.createLangiumDocument(i,e,void 0,r)}else{let i=await this.parseAsync(e,r.getText(),n);return this.createLangiumDocument(i,e,r)}}createLangiumDocument(e,r,n,i){let o;if(n)o={parseResult:e,uri:r,state:ye.Parsed,references:[],textDocument:n};else{let s=this.createTextDocumentGetter(r,i);o={parseResult:e,uri:r,state:ye.Parsed,references:[],get textDocument(){return s()}}}return e.value.$document=o,o}async update(e,r){let n=e.parseResult.value.$cstNode?.root.fullText,i=this.textDocuments?.get(e.uri.toString()),o=i?i.getText():await this.fileSystemProvider.readFile(e.uri);if(i)Object.defineProperty(e,"textDocument",{value:i});else{let s=this.createTextDocumentGetter(e.uri,o);Object.defineProperty(e,"textDocument",{get:s})}return n!==o&&(e.parseResult=await this.parseAsync(e.uri,o,r),e.parseResult.value.$document=e),e.state=ye.Parsed,e}parse(e,r,n){return this.serviceRegistry.getServices(e).parser.LangiumParser.parse(r,n)}parseAsync(e,r,n){return this.serviceRegistry.getServices(e).parser.AsyncParser.parse(r,n)}createTextDocumentGetter(e,r){let n=this.serviceRegistry,i;return()=>i??(i=fa.create(e.toString(),n.getServices(e).LanguageMetaData.languageId,0,r??""))}},Al=class{constructor(e){this.documentTrie=new pa,this.services=e,this.langiumDocumentFactory=e.workspace.LangiumDocumentFactory,this.documentBuilder=()=>e.workspace.DocumentBuilder}get all(){return xe(this.documentTrie.all())}addDocument(e){let r=e.uri.toString();if(this.documentTrie.has(r))throw new Error(`A document with the URI '${r}' is already present.`);this.documentTrie.insert(r,e)}getDocument(e){let r=e.toString();return this.documentTrie.find(r)}getDocuments(e){let r=e.toString();return this.documentTrie.findAll(r)}async getOrCreateDocument(e,r){let n=this.getDocument(e);return n||(n=await this.langiumDocumentFactory.fromUri(e,r),this.addDocument(n),n)}createDocument(e,r,n){if(n)return this.langiumDocumentFactory.fromString(r,e,n).then(i=>(this.addDocument(i),i));{let i=this.langiumDocumentFactory.fromString(r,e);return this.addDocument(i),i}}hasDocument(e){return this.documentTrie.has(e.toString())}invalidateDocument(e){let r=e.toString(),n=this.documentTrie.find(r);return n&&this.documentBuilder().resetToState(n,ye.Changed),n}deleteDocument(e){let r=e.toString(),n=this.documentTrie.find(r);return n&&(n.state=ye.Changed,this.documentTrie.delete(r)),n}deleteDocuments(e){let r=e.toString(),n=this.documentTrie.findAll(r);for(let i of n)i.state=ye.Changed;return this.documentTrie.delete(r),n}};var Mo=Symbol("RefResolving"),Sl=class{constructor(e){this.reflection=e.shared.AstReflection,this.langiumDocuments=()=>e.shared.workspace.LangiumDocuments,this.scopeProvider=e.references.ScopeProvider,this.astNodeLocator=e.workspace.AstNodeLocator,this.profiler=e.shared.profilers.LangiumProfiler,this.languageId=e.LanguageMetaData.languageId}async link(e,r=oe.CancellationToken.None){if(this.profiler?.isActive("linking")){let n=this.profiler.createTask("linking",this.languageId);n.start();try{for(let i of zt(e.parseResult.value))await pt(r),si(i).forEach(o=>{let s=`${i.$type}:${o.property}`;n.startSubTask(s);try{this.doLink(o,e)}finally{n.stopSubTask(s)}})}finally{n.stop()}}else for(let n of zt(e.parseResult.value))await pt(r),si(n).forEach(i=>this.doLink(i,e))}doLink(e,r){let n=e.reference;if("_ref"in n&&n._ref===void 0){n._ref=Mo;try{let i=this.getCandidate(e);if(to(i))n._ref=i;else{n._nodeDescription=i;let o=this.loadAstNode(i);n._ref=o??this.createLinkingError(e,i)}}catch(i){console.error(`An error occurred while resolving reference to '${n.$refText}':`,i);let o=i.message??String(i);n._ref={info:e,message:`An error occurred while resolving reference to '${n.$refText}': ${o}`}}r.references.push(n)}else if("_items"in n&&n._items===void 0){n._items=Mo;try{let i=this.getCandidates(e),o=[];if(to(i))n._linkingError=i;else for(let s of i){let a=this.loadAstNode(s);a&&o.push({ref:a,$nodeDescription:s})}n._items=o}catch(i){n._linkingError={info:e,message:`An error occurred while resolving reference to '${n.$refText}': ${i}`},n._items=[]}r.references.push(n)}}unlink(e){for(let r of e.references)"_ref"in r?(r._ref=void 0,delete r._nodeDescription):"_items"in r&&(r._items=void 0,delete r._linkingError);e.references=[]}getCandidate(e){return this.scopeProvider.getScope(e).getElement(e.reference.$refText)??this.createLinkingError(e)}getCandidates(e){let n=this.scopeProvider.getScope(e).getElements(e.reference.$refText).distinct(i=>`${i.documentUri}#${i.path}`).toArray();return n.length>0?n:this.createLinkingError(e)}buildReference(e,r,n,i){let o=this,s={$refNode:n,$refText:i,_ref:void 0,get ref(){if(dt(this._ref))return this._ref;if(Tm(this._nodeDescription)){let a=o.loadAstNode(this._nodeDescription);this._ref=a??o.createLinkingError({reference:s,container:e,property:r},this._nodeDescription)}else if(this._ref===void 0){this._ref=Mo;let a=ds(e).$document,c=o.getLinkedNode({reference:s,container:e,property:r});if(c.error&&a&&a.state<ye.ComputedScopes)return this._ref=void 0;this._ref=c.node??c.error,this._nodeDescription=c.descr,a?.references.push(this)}else this._ref===Mo&&o.throwCyclicReferenceError(e,r,i);return dt(this._ref)?this._ref:void 0},get $nodeDescription(){return this._nodeDescription},get error(){return to(this._ref)?this._ref:void 0}};return s}buildMultiReference(e,r,n,i){let o=this,s={$refNode:n,$refText:i,_items:void 0,get items(){if(Array.isArray(this._items))return this._items;if(this._items===void 0){this._items=Mo;let a=ds(e).$document,c=o.getCandidates({reference:s,container:e,property:r}),l=[];if(to(c))this._linkingError=c;else for(let u of c){let f=o.loadAstNode(u);f&&l.push({ref:f,$nodeDescription:u})}this._items=l,a?.references.push(this)}else this._items===Mo&&o.throwCyclicReferenceError(e,r,i);return Array.isArray(this._items)?this._items:[]},get error(){if(this._linkingError)return this._linkingError;if(!(this.items.length>0))return this._linkingError=o.createLinkingError({reference:s,container:e,property:r})}};return s}throwCyclicReferenceError(e,r,n){throw new Error(`Cyclic reference resolution detected: ${this.astNodeLocator.getAstNodePath(e)}/${r} (symbol '${n}')`)}getLinkedNode(e){try{let r=this.getCandidate(e);if(to(r))return{error:r};let n=this.loadAstNode(r);return n?{node:n,descr:r}:{descr:r,error:this.createLinkingError(e,r)}}catch(r){console.error(`An error occurred while resolving reference to '${e.reference.$refText}':`,r);let n=r.message??String(r);return{error:{info:e,message:`An error occurred while resolving reference to '${e.reference.$refText}': ${n}`}}}}loadAstNode(e){if(e.node)return e.node;let r=this.langiumDocuments().getDocument(e.documentUri);if(r)return this.astNodeLocator.getAstNode(r.parseResult.value,e.path)}createLinkingError(e,r){let n=ds(e.container).$document;n&&n.state<ye.ComputedScopes&&console.warn(`Attempted reference resolution before document reached ComputedScopes state (${n.uri}).`);let i=this.reflection.getReferenceType(e);return{info:e,message:`Could not resolve reference to ${i} named '${e.reference.$refText}'.`,targetDescription:r}}};function cw(t){return typeof t.name=="string"}var Il=class{getName(e){if(cw(e))return e.name}getNameNode(e){return Gc(e.$cstNode,"name")}};var kl=class{constructor(e){this.nameProvider=e.references.NameProvider,this.index=e.shared.workspace.IndexManager,this.nodeLocator=e.workspace.AstNodeLocator,this.documents=e.shared.workspace.LangiumDocuments,this.hasMultiReference=zt(e.Grammar).some(r=>Br(r)&&r.isMulti)}findDeclarations(e){if(e){let r=sg(e),n=e.astNode;if(r&&n){let i=n[r.feature];if(St(i)||ur(i))return cf(i);if(Array.isArray(i)){for(let o of i)if((St(o)||ur(o))&&o.$refNode&&o.$refNode.offset<=e.offset&&o.$refNode.end>=e.end)return cf(o)}}if(n){let i=this.nameProvider.getNameNode(n);if(i&&(i===e||Hm(e,i)))return this.getSelfNodes(n)}}return[]}getSelfNodes(e){if(this.hasMultiReference){let r=this.index.findAllReferences(e,this.nodeLocator.getAstNodePath(e)),n=this.getNodeFromReferenceDescription(r.head());if(n){for(let i of si(n))if(ur(i.reference)&&i.reference.items.some(o=>o.ref===e))return i.reference.items.map(o=>o.ref)}return[e]}else return[e]}getNodeFromReferenceDescription(e){if(!e)return;let r=this.documents.getDocument(e.sourceUri);if(r)return this.nodeLocator.getAstNode(r.parseResult.value,e.sourcePath)}findDeclarationNodes(e){let r=this.findDeclarations(e),n=[];for(let i of r){let o=this.nameProvider.getNameNode(i)??i.$cstNode;o&&n.push(o)}return n}findReferences(e,r){let n=[];r.includeDeclaration&&n.push(...this.getSelfReferences(e));let i=this.index.findAllReferences(e,this.nodeLocator.getAstNodePath(e));return r.documentUri&&(i=i.filter(o=>vt.equals(o.sourceUri,r.documentUri))),n.push(...i),xe(n)}getSelfReferences(e){let r=this.getSelfNodes(e),n=[];for(let i of r){let o=this.nameProvider.getNameNode(i);if(o){let s=Ft(i),a=this.nodeLocator.getAstNodePath(i);n.push({sourceUri:s.uri,sourcePath:a,targetUri:s.uri,targetPath:a,segment:mo(o),local:!0})}}return n}};var Bt=class{constructor(e){if(this.map=new Map,e)for(let[r,n]of e)this.add(r,n)}get size(){return us.sum(xe(this.map.values()).map(e=>e.length))}clear(){this.map.clear()}delete(e,r){if(r===void 0)return this.map.delete(e);{let n=this.map.get(e);if(n){let i=n.indexOf(r);if(i>=0)return n.length===1?this.map.delete(e):n.splice(i,1),!0}return!1}}get(e){return this.map.get(e)??[]}getStream(e){let r=this.map.get(e);return r?xe(r):oi}has(e,r){if(r===void 0)return this.map.has(e);{let n=this.map.get(e);return n?n.indexOf(r)>=0:!1}}add(e,r){return this.map.has(e)?this.map.get(e).push(r):this.map.set(e,[r]),this}addAll(e,r){return this.map.has(e)?this.map.get(e).push(...r):this.map.set(e,Array.from(r)),this}forEach(e){this.map.forEach((r,n)=>r.forEach(i=>e(i,n,this)))}[Symbol.iterator](){return this.entries().iterator()}entries(){return xe(this.map.entries()).flatMap(([e,r])=>r.map(n=>[e,n]))}keys(){return xe(this.map.keys())}values(){return xe(this.map.values()).flat()}entriesGroupedByKey(){return xe(this.map.entries())}},Fo=class{get size(){return this.map.size}constructor(e){if(this.map=new Map,this.inverse=new Map,e)for(let[r,n]of e)this.set(r,n)}clear(){this.map.clear(),this.inverse.clear()}set(e,r){return this.map.set(e,r),this.inverse.set(r,e),this}get(e){return this.map.get(e)}getKey(e){return this.inverse.get(e)}delete(e){let r=this.map.get(e);return r!==void 0?(this.map.delete(e),this.inverse.delete(r),!0):!1}};var Nl=class{constructor(e){this.nameProvider=e.references.NameProvider,this.descriptions=e.workspace.AstNodeDescriptionProvider}async collectExportedSymbols(e,r=oe.CancellationToken.None){return this.collectExportedSymbolsForNode(e.parseResult.value,e,void 0,r)}async collectExportedSymbolsForNode(e,r,n=bc,i=oe.CancellationToken.None){let o=[];this.addExportedSymbol(e,o,r);for(let s of n(e))await pt(i),this.addExportedSymbol(s,o,r);return o}addExportedSymbol(e,r,n){let i=this.nameProvider.getName(e);i&&r.push(this.descriptions.createDescription(e,i,n))}async collectLocalSymbols(e,r=oe.CancellationToken.None){let n=e.parseResult.value,i=new Bt;for(let o of Mr(n))await pt(r),this.addLocalSymbol(o,e,i);return i}addLocalSymbol(e,r,n){let i=e.$container;if(i){let o=this.nameProvider.getName(e);o&&n.add(i,this.descriptions.createDescription(e,o,r))}}};var ha=class{constructor(e,r,n){this.elements=e,this.outerScope=r,this.caseInsensitive=n?.caseInsensitive??!1,this.concatOuterScope=n?.concatOuterScope??!0}getAllElements(){return this.outerScope?this.elements.concat(this.outerScope.getAllElements()):this.elements}getElement(e){let r=this.caseInsensitive?e.toLowerCase():e,n=this.caseInsensitive?this.elements.find(i=>i.name.toLowerCase()===r):this.elements.find(i=>i.name===e);if(n)return n;if(this.outerScope)return this.outerScope.getElement(e)}getElements(e){let r=this.caseInsensitive?e.toLowerCase():e,n=this.caseInsensitive?this.elements.filter(i=>i.name.toLowerCase()===r):this.elements.filter(i=>i.name===e);return(this.concatOuterScope||n.isEmpty())&&this.outerScope?n.concat(this.outerScope.getElements(e)):n}},mx=class{constructor(e,r,n){this.elements=new Map,this.caseInsensitive=n?.caseInsensitive??!1,this.concatOuterScope=n?.concatOuterScope??!0;for(let i of e){let o=this.caseInsensitive?i.name.toLowerCase():i.name;this.elements.set(o,i)}this.outerScope=r}getElement(e){let r=this.caseInsensitive?e.toLowerCase():e,n=this.elements.get(r);if(n)return n;if(this.outerScope)return this.outerScope.getElement(e)}getElements(e){let r=this.caseInsensitive?e.toLowerCase():e,n=this.elements.get(r),i=n?[n]:[];return(this.concatOuterScope||i.length>0)&&this.outerScope?xe(i).concat(this.outerScope.getElements(e)):xe(i)}getAllElements(){let e=xe(this.elements.values());return this.outerScope&&(e=e.concat(this.outerScope.getAllElements())),e}},Pl=class{constructor(e,r,n){this.elements=new Bt,this.caseInsensitive=n?.caseInsensitive??!1,this.concatOuterScope=n?.concatOuterScope??!0;for(let i of e){let o=this.caseInsensitive?i.name.toLowerCase():i.name;this.elements.add(o,i)}this.outerScope=r}getElement(e){let r=this.caseInsensitive?e.toLowerCase():e,n=this.elements.get(r)[0];if(n)return n;if(this.outerScope)return this.outerScope.getElement(e)}getElements(e){let r=this.caseInsensitive?e.toLowerCase():e,n=this.elements.get(r);return(this.concatOuterScope||n.length===0)&&this.outerScope?xe(n).concat(this.outerScope.getElements(e)):xe(n)}getAllElements(){let e=xe(this.elements.values());return this.outerScope&&(e=e.concat(this.outerScope.getAllElements())),e}},h2={getElement(){},getElements(){return oi},getAllElements(){return oi}};var ma=class{constructor(){this.toDispose=[],this.isDisposed=!1}onDispose(e){this.toDispose.push(e)}dispose(){this.throwIfDisposed(),this.clear(),this.isDisposed=!0,this.toDispose.forEach(e=>e.dispose())}throwIfDisposed(){if(this.isDisposed)throw new Error("This cache has already been disposed")}},Cl=class extends ma{constructor(){super(...arguments),this.cache=new Map}has(e){return this.throwIfDisposed(),this.cache.has(e)}set(e,r){this.throwIfDisposed(),this.cache.set(e,r)}get(e,r){if(this.throwIfDisposed(),this.cache.has(e))return this.cache.get(e);if(r){let n=r();return this.cache.set(e,n),n}else return}delete(e){return this.throwIfDisposed(),this.cache.delete(e)}clear(){this.throwIfDisposed(),this.cache.clear()}},Uo=class extends ma{constructor(e){super(),this.cache=new Map,this.converter=e??(r=>r)}has(e,r){return this.throwIfDisposed(),this.cacheForContext(e).has(r)}set(e,r,n){this.throwIfDisposed(),this.cacheForContext(e).set(r,n)}get(e,r,n){this.throwIfDisposed();let i=this.cacheForContext(e);if(i.has(r))return i.get(r);if(n){let o=n();return i.set(r,o),o}else return}delete(e,r){return this.throwIfDisposed(),this.cacheForContext(e).delete(r)}clear(e){if(this.throwIfDisposed(),e){let r=this.converter(e);this.cache.delete(r)}else this.cache.clear()}cacheForContext(e){let r=this.converter(e),n=this.cache.get(r);return n||(n=new Map,this.cache.set(r,n)),n}},op=class extends Uo{constructor(e,r){super(n=>n.toString()),r?(this.toDispose.push(e.workspace.DocumentBuilder.onDocumentPhase(r,n=>{this.clear(n.uri.toString())})),this.toDispose.push(e.workspace.DocumentBuilder.onUpdate((n,i)=>{for(let o of i)this.clear(o)}))):this.toDispose.push(e.workspace.DocumentBuilder.onUpdate((n,i)=>{let o=n.concat(i);for(let s of o)this.clear(s)}))}},ga=class extends Cl{constructor(e,r){super(),r?(this.toDispose.push(e.workspace.DocumentBuilder.onBuildPhase(r,()=>{this.clear()})),this.toDispose.push(e.workspace.DocumentBuilder.onUpdate((n,i)=>{i.length>0&&this.clear()}))):this.toDispose.push(e.workspace.DocumentBuilder.onUpdate(()=>{this.clear()}))}};var Ol=class{constructor(e){this.reflection=e.shared.AstReflection,this.nameProvider=e.references.NameProvider,this.descriptions=e.workspace.AstNodeDescriptionProvider,this.indexManager=e.shared.workspace.IndexManager,this.globalScopeCache=new ga(e.shared)}getScope(e){let r=[],n=this.reflection.getReferenceType(e),i=Ft(e.container).localSymbols;if(i){let s=e.container;do i.has(s)&&r.push(i.getStream(s).filter(a=>this.reflection.isSubtype(a.type,n))),s=s.$container;while(s)}let o=this.getGlobalScope(n,e);for(let s=r.length-1;s>=0;s--)o=this.createScope(r[s],o);return o}createScope(e,r,n){return new ha(xe(e),r,n)}createScopeForNodes(e,r,n){let i=xe(e).map(o=>{let s=this.nameProvider.getName(o);if(s)return this.descriptions.createDescription(o,s)}).nonNullable();return new ha(i,r,n)}getGlobalScope(e,r){return this.globalScopeCache.get(e,()=>new Pl(this.indexManager.allElements(e)))}};function gx(t){return typeof t.$comment=="string"}function lw(t){return typeof t=="object"&&!!t&&("$ref"in t||"$error"in t)}var Ll=class{constructor(e){this.ignoreProperties=new Set(["$container","$containerProperty","$containerIndex","$document","$cstNode"]),this.langiumDocuments=e.shared.workspace.LangiumDocuments,this.astNodeLocator=e.workspace.AstNodeLocator,this.nameProvider=e.references.NameProvider,this.commentProvider=e.documentation.CommentProvider}serialize(e,r){let n=r??{},i=r?.replacer,o=(a,c)=>this.replacer(a,c,n),s=i?(a,c)=>i(a,c,o):o;try{return this.currentDocument=Ft(e),JSON.stringify(e,s,r?.space)}finally{this.currentDocument=void 0}}deserialize(e,r){let n=r??{},i=JSON.parse(e);return this.linkNode(i,i,n),i}replacer(e,r,{refText:n,sourceText:i,textRegions:o,comments:s,uriConverter:a}){if(!this.ignoreProperties.has(e))if(St(r)){let c=r.ref,l=n?r.$refText:void 0;if(c){let u=Ft(c),f="";this.currentDocument&&this.currentDocument!==u&&(a?f=a(u.uri,c):f=u.uri.toString());let d=this.astNodeLocator.getAstNodePath(c);return{$ref:`${f}#${d}`,$refText:l}}else return{$error:r.error?.message??"Could not resolve reference",$refText:l}}else if(ur(r)){let c=n?r.$refText:void 0,l=[];for(let u of r.items){let f=u.ref,d=Ft(u.ref),p="";this.currentDocument&&this.currentDocument!==d&&(a?p=a(d.uri,f):p=d.uri.toString());let m=this.astNodeLocator.getAstNodePath(f);l.push(`${p}#${m}`)}return{$refs:l,$refText:c}}else if(dt(r)){let c;if(o&&(c=this.addAstNodeRegionWithAssignmentsTo({...r}),(!e||r.$document)&&c?.$textRegion&&(c.$textRegion.documentURI=this.currentDocument?.uri.toString())),i&&!e&&(c??(c={...r}),c.$sourceText=r.$cstNode?.text),s){c??(c={...r});let l=this.commentProvider.getComment(r);l&&(c.$comment=l.replace(/\r/g,""))}return c??r}else return r}addAstNodeRegionWithAssignmentsTo(e){let r=n=>({offset:n.offset,end:n.end,length:n.length,range:n.range});if(e.$cstNode){let n=e.$textRegion=r(e.$cstNode),i=n.assignments={};return Object.keys(e).filter(o=>!o.startsWith("$")).forEach(o=>{let s=rg(e.$cstNode,o).map(r);s.length!==0&&(i[o]=s)}),e}}linkNode(e,r,n,i,o,s){for(let[c,l]of Object.entries(e))if(Array.isArray(l))for(let u=0;u<l.length;u++){let f=l[u];lw(f)?l[u]=this.reviveReference(e,c,r,f,n):dt(f)&&this.linkNode(f,r,n,e,c,u)}else lw(l)?e[c]=this.reviveReference(e,c,r,l,n):dt(l)&&this.linkNode(l,r,n,e,c);let a=e;a.$container=i,a.$containerProperty=o,a.$containerIndex=s}reviveReference(e,r,n,i,o){let s=i.$refText,a=i.$error,c;if(i.$ref){let l=this.getRefNode(n,i.$ref,o.uriConverter);if(dt(l))return s||(s=this.nameProvider.getName(l)),{$refText:s??"",ref:l};a=l}else if(i.$refs){let l=[];for(let u of i.$refs){let f=this.getRefNode(n,u,o.uriConverter);dt(f)&&l.push({ref:f})}if(l.length===0)c={$refText:s??"",items:l},a??(a="Could not resolve multi-reference");else return{$refText:s??"",items:l}}if(a)return c??(c={$refText:s??"",ref:void 0}),c.error={info:{container:e,property:r,reference:c},message:a},c}getRefNode(e,r,n){try{let i=r.indexOf("#");if(i===0){let c=this.astNodeLocator.getAstNode(e,r.substring(1));return c||"Could not resolve path: "+r}if(i<0){let c=n?n(r):ht.parse(r),l=this.langiumDocuments.getDocument(c);return l?l.parseResult.value:"Could not find document for URI: "+r}let o=n?n(r.substring(0,i)):ht.parse(r.substring(0,i)),s=this.langiumDocuments.getDocument(o);if(!s)return"Could not find document for URI: "+r;if(i===r.length-1)return s.parseResult.value;let a=this.astNodeLocator.getAstNode(s.parseResult.value,r.substring(i+1));return a||"Could not resolve URI: "+r}catch(i){return String(i)}}};var Dl=class{get map(){return this.fileExtensionMap}constructor(e){this.languageIdMap=new Map,this.fileExtensionMap=new Map,this.fileNameMap=new Map,this.textDocuments=e?.workspace.TextDocuments}register(e){let r=e.LanguageMetaData;for(let n of r.fileExtensions)this.fileExtensionMap.has(n)&&console.warn(`The file extension ${n} is used by multiple languages. It is now assigned to '${r.languageId}'.`),this.fileExtensionMap.set(n,e);if(r.fileNames)for(let n of r.fileNames)this.fileNameMap.has(n)&&console.warn(`The file name ${n} is used by multiple languages. It is now assigned to '${r.languageId}'.`),this.fileNameMap.set(n,e);this.languageIdMap.set(r.languageId,e)}getServices(e){if(this.languageIdMap.size===0)throw new Error("The service registry is empty. Use `register` to register the services of a language.");let r=this.textDocuments?.get(e)?.languageId;if(r!==void 0){let s=this.languageIdMap.get(r);if(s)return s}let n=vt.extname(e),i=vt.basename(e),o=this.fileNameMap.get(i)??this.fileExtensionMap.get(n);if(!o)throw r?new Error(`The service registry contains no services for the extension '${n}' for language '${r}'.`):new Error(`The service registry contains no services for the extension '${n}'.`);return o}hasServices(e){try{return this.getServices(e),!0}catch{return!1}}get all(){return Array.from(this.languageIdMap.values())}};function Bo(t){return{code:t}}var sp;(function(t){t.defaults=["fast","slow","built-in"],t.all=t.defaults})(sp||(sp={}));var $l=class{constructor(e){this.entries=new Bt,this.knownCategories=new Set(sp.defaults),this.entriesBefore=[],this.entriesAfter=[],this.reflection=e.shared.AstReflection}register(e,r=this,n="fast"){if(n==="built-in")throw new Error("The 'built-in' category is reserved for lexer, parser, and linker errors.");this.knownCategories.add(n);for(let[i,o]of Object.entries(e)){let s=o;if(Array.isArray(s))for(let a of s){let c={check:this.wrapValidationException(a,r),category:n};this.addEntry(i,c)}else if(typeof s=="function"){let a={check:this.wrapValidationException(s,r),category:n};this.addEntry(i,a)}else un(s)}}wrapValidationException(e,r){return async(n,i,o)=>{await this.handleException(()=>e.call(r,n,i,o),"An error occurred during validation",i,n)}}async handleException(e,r,n,i){try{await e()}catch(o){if(yn(o))throw o;console.error(`${r}:`,o),o instanceof Error&&o.stack&&console.error(o.stack);let s=o instanceof Error?o.message:String(o);n("error",`${r}: ${s}`,{node:i})}}addEntry(e,r){if(e==="AstNode"){this.entries.add("AstNode",r);return}for(let n of this.reflection.getAllSubTypes(e))this.entries.add(n,r)}getChecks(e,r){let n=xe(this.entries.get(e)).concat(this.entries.get("AstNode"));return r&&(n=n.filter(i=>r.includes(i.category))),n.map(i=>i.check)}registerBeforeDocument(e,r=this){this.entriesBefore.push(this.wrapPreparationException(e,"An error occurred during set-up of the validation",r))}registerAfterDocument(e,r=this){this.entriesAfter.push(this.wrapPreparationException(e,"An error occurred during tear-down of the validation",r))}wrapPreparationException(e,r,n){return async(i,o,s,a)=>{await this.handleException(()=>e.call(n,i,o,s,a),r,o,i)}}get checksBefore(){return this.entriesBefore}get checksAfter(){return this.entriesAfter}getAllValidationCategories(e){return this.knownCategories}};var uw=Object.freeze({validateNode:!0,validateChildren:!0}),Ml=class{constructor(e){this.validationRegistry=e.validation.ValidationRegistry,this.metadata=e.LanguageMetaData,this.profiler=e.shared.profilers.LangiumProfiler,this.languageId=e.LanguageMetaData.languageId}async validateDocument(e,r={},n=oe.CancellationToken.None){let i=e.parseResult,o=[];if(await pt(n),(!r.categories||r.categories.includes("built-in"))&&(this.processLexingErrors(i,o,r),r.stopAfterLexingErrors&&o.some(s=>s.data?.code===Ar.LexingError)||(this.processParsingErrors(i,o,r),r.stopAfterParsingErrors&&o.some(s=>s.data?.code===Ar.ParsingError))||(this.processLinkingErrors(e,o,r),r.stopAfterLinkingErrors&&o.some(s=>s.data?.code===Ar.LinkingError))))return o;try{o.push(...await this.validateAst(i.value,r,n))}catch(s){if(yn(s))throw s;console.error("An error occurred during validation:",s)}return await pt(n),o}processLexingErrors(e,r,n){let i=[...e.lexerErrors,...e.lexerReport?.diagnostics??[]];for(let o of i){let s=o.severity??"error",a={severity:ap(s),range:{start:{line:o.line-1,character:o.column-1},end:{line:o.line-1,character:o.column+o.length-1}},message:o.message,data:dw(s),source:this.getSource()};r.push(a)}}processParsingErrors(e,r,n){for(let i of e.parserErrors){let o;if(isNaN(i.token.startOffset)){if("previousToken"in i){let s=i.previousToken;if(isNaN(s.startOffset)){let a={line:0,character:0};o={start:a,end:a}}else{let a={line:s.endLine-1,character:s.endColumn};o={start:a,end:a}}}}else o=Es(i.token);if(o){let s={severity:ap("error"),range:o,message:i.message,data:Bo(Ar.ParsingError),source:this.getSource()};r.push(s)}}}processLinkingErrors(e,r,n){for(let i of e.references){let o=i.error;if(o){let s={node:o.info.container,range:i.$refNode?.range,property:o.info.property,index:o.info.index,data:{code:Ar.LinkingError,containerType:o.info.container.$type,property:o.info.property,refText:o.info.reference.$refText}};r.push(this.toDiagnostic("error",o.message,s))}}}async validateAst(e,r,n=oe.CancellationToken.None){let i=[],o=(s,a,c)=>{i.push(this.toDiagnostic(s,a,c))};return await this.validateAstBefore(e,r,o,n),await this.validateAstNodes(e,r,o,n),await this.validateAstAfter(e,r,o,n),i}async validateAstBefore(e,r,n,i=oe.CancellationToken.None){let o=this.validationRegistry.checksBefore;for(let s of o)await pt(i),await s(e,n,r.categories??[],i)}async validateAstNodes(e,r,n,i=oe.CancellationToken.None){if(this.profiler?.isActive("validating")){let o=this.profiler.createTask("validating",this.languageId);o.start();try{let s=zt(e).iterator();for(let a of s){o.startSubTask(a.$type);let c=this.validateSingleNodeOptions(a,r);if(c.validateNode)try{let l=this.validationRegistry.getChecks(a.$type,r.categories);for(let u of l)await u(a,n,i)}finally{o.stopSubTask(a.$type)}c.validateChildren||s.prune()}}finally{o.stop()}}else{let o=zt(e).iterator();for(let s of o){await pt(i);let a=this.validateSingleNodeOptions(s,r);if(a.validateNode){let c=this.validationRegistry.getChecks(s.$type,r.categories);for(let l of c)await l(s,n,i)}a.validateChildren||o.prune()}}}validateSingleNodeOptions(e,r){return uw}async validateAstAfter(e,r,n,i=oe.CancellationToken.None){let o=this.validationRegistry.checksAfter;for(let s of o)await pt(i),await s(e,n,r.categories??[],i)}toDiagnostic(e,r,n){return{message:r,range:fw(n),severity:ap(e),code:n.code,codeDescription:n.codeDescription,tags:n.tags,relatedInformation:n.relatedInformation,data:n.data,source:this.getSource()}}getSource(){return this.metadata.languageId}};function fw(t){if(t.range)return t.range;let e;return typeof t.property=="string"?e=Gc(t.node.$cstNode,t.property,t.index):typeof t.keyword=="string"&&(e=ig(t.node.$cstNode,t.keyword,t.index)),e??(e=t.node.$cstNode),e?e.range:{start:{line:0,character:0},end:{line:0,character:0}}}function ap(t){switch(t){case"error":return 1;case"warning":return 2;case"info":return 3;case"hint":return 4;default:throw new Error("Invalid diagnostic severity: "+t)}}function dw(t){switch(t){case"error":return Bo(Ar.LexingError);case"warning":return Bo(Ar.LexingWarning);case"info":return Bo(Ar.LexingInfo);case"hint":return Bo(Ar.LexingHint);default:throw new Error("Invalid diagnostic severity: "+t)}}var Ar;(function(t){t.LexingError="lexing-error",t.LexingWarning="lexing-warning",t.LexingInfo="lexing-info",t.LexingHint="lexing-hint",t.ParsingError="parsing-error",t.LinkingError="linking-error"})(Ar||(Ar={}));var Fl=class{constructor(e){this.astNodeLocator=e.workspace.AstNodeLocator,this.nameProvider=e.references.NameProvider}createDescription(e,r,n){let i=n??Ft(e);r??(r=this.nameProvider.getName(e));let o=this.astNodeLocator.getAstNodePath(e);if(!r)throw new Error(`Node at path ${o} has no name.`);let s,a=()=>s??(s=mo(this.nameProvider.getNameNode(e)??e.$cstNode));return{node:e,name:r,get nameSegment(){return a()},selectionSegment:mo(e.$cstNode),type:e.$type,documentUri:i.uri,path:o}}},Ul=class{constructor(e){this.nodeLocator=e.workspace.AstNodeLocator}async createDescriptions(e,r=oe.CancellationToken.None){let n=[],i=e.parseResult.value;for(let o of zt(i))await pt(r),si(o).forEach(s=>{s.reference.error||n.push(...this.createInfoDescriptions(s))});return n}createInfoDescriptions(e){let r=e.reference;if(r.error||!r.$refNode)return[];let n=[];St(r)&&r.$nodeDescription?n=[r.$nodeDescription]:ur(r)&&(n=r.items.map(c=>c.$nodeDescription).filter(c=>c!==void 0));let i=Ft(e.container).uri,o=this.nodeLocator.getAstNodePath(e.container),s=[],a=mo(r.$refNode);for(let c of n)s.push({sourceUri:i,sourcePath:o,targetUri:c.documentUri,targetPath:c.path,segment:a,local:vt.equals(c.documentUri,i)});return s}};var Bl=class{constructor(){this.segmentSeparator="/",this.indexSeparator="@"}getAstNodePath(e){if(e.$container){let r=this.getAstNodePath(e.$container),n=this.getPathSegment(e);return r+this.segmentSeparator+n}return""}getPathSegment({$containerProperty:e,$containerIndex:r}){if(!e)throw new Error("Missing '$containerProperty' in AST node.");return r!==void 0?e+this.indexSeparator+r:e}getAstNode(e,r){return r.split(this.segmentSeparator).reduce((i,o)=>{if(!i||o.length===0)return i;let s=o.indexOf(this.indexSeparator);if(s>0){let a=o.substring(0,s),c=parseInt(o.substring(s+1));return i[a]?.[c]}return i[o]},e)}};var it={};Se(it,mm(ux(),1));var Gl=class{constructor(e){this._ready=new Jt,this.onConfigurationSectionUpdateEmitter=new it.Emitter,this.settings={},this.workspaceConfig=!1,this.serviceRegistry=e.ServiceRegistry}get ready(){return this._ready.promise}initialize(e){this.workspaceConfig=e.capabilities.workspace?.configuration??!1}async initialized(e){if(this.workspaceConfig){if(e.register){let r=this.serviceRegistry.all;e.register({section:r.map(n=>this.toSectionName(n.LanguageMetaData.languageId))})}if(e.fetchConfiguration){let r=this.serviceRegistry.all.map(i=>({section:this.toSectionName(i.LanguageMetaData.languageId)})),n=await e.fetchConfiguration(r);r.forEach((i,o)=>{this.updateSectionConfiguration(i.section,n[o])})}}this._ready.resolve()}updateConfiguration(e){typeof e.settings!="object"||e.settings===null||Object.entries(e.settings).forEach(([r,n])=>{this.updateSectionConfiguration(r,n),this.onConfigurationSectionUpdateEmitter.fire({section:r,configuration:n})})}updateSectionConfiguration(e,r){this.settings[e]=r}async getConfiguration(e,r){await this.ready;let n=this.toSectionName(e);if(this.settings[n])return this.settings[n][r]}toSectionName(e){return`${e}`}get onConfigurationSectionUpdate(){return this.onConfigurationSectionUpdateEmitter.event}};var $a=mm(FI(),1);var Bi;(function(t){function e(r){return{dispose:async()=>await r()}}t.create=e})(Bi||(Bi={}));var Zl=class{constructor(e){this.updateBuildOptions={validation:{categories:["built-in","fast"]}},this.updateListeners=[],this.buildPhaseListeners=new Bt,this.documentPhaseListeners=new Bt,this.buildState=new Map,this.documentBuildWaiters=new Map,this.currentState=ye.Changed,this.langiumDocuments=e.workspace.LangiumDocuments,this.langiumDocumentFactory=e.workspace.LangiumDocumentFactory,this.textDocuments=e.workspace.TextDocuments,this.indexManager=e.workspace.IndexManager,this.fileSystemProvider=e.workspace.FileSystemProvider,this.workspaceManager=()=>e.workspace.WorkspaceManager,this.serviceRegistry=e.ServiceRegistry}async build(e,r={},n=oe.CancellationToken.None){for(let i of e){let o=i.uri.toString();if(i.state===ye.Validated){if(typeof r.validation=="boolean"&&r.validation)this.resetToState(i,ye.IndexedReferences);else if(typeof r.validation=="object"){let s=this.findMissingValidationCategories(i,r);s.length>0&&(this.buildState.set(o,{completed:!1,options:{validation:{categories:s}},result:this.buildState.get(o)?.result}),i.state=ye.IndexedReferences)}}else this.buildState.delete(o)}this.currentState=ye.Changed,await this.emitUpdate(e.map(i=>i.uri),[]),await this.buildDocuments(e,r,n)}async update(e,r,n=oe.CancellationToken.None){this.currentState=ye.Changed;let i=[];for(let c of r){let l=this.langiumDocuments.deleteDocuments(c);for(let u of l)i.push(u.uri),this.cleanUpDeleted(u)}let o=(await Promise.all(e.map(c=>this.findChangedUris(c)))).flat();for(let c of o){let l=this.langiumDocuments.getDocument(c);l===void 0&&(l=this.langiumDocumentFactory.fromModel({$type:"INVALID"},c),l.state=ye.Changed,this.langiumDocuments.addDocument(l)),this.resetToState(l,ye.Changed)}let s=xe(o).concat(i).map(c=>c.toString()).toSet();this.langiumDocuments.all.filter(c=>!s.has(c.uri.toString())&&this.shouldRelink(c,s)).forEach(c=>this.resetToState(c,ye.ComputedScopes)),await this.emitUpdate(o,i),await pt(n);let a=this.sortDocuments(this.langiumDocuments.all.filter(c=>c.state<ye.Validated||!this.buildState.get(c.uri.toString())?.completed||this.resultsAreIncomplete(c,this.updateBuildOptions)).toArray());await this.buildDocuments(a,this.updateBuildOptions,n)}resultsAreIncomplete(e,r){return this.findMissingValidationCategories(e,r).length>=1}findMissingValidationCategories(e,r){let n=this.buildState.get(e.uri.toString()),i=this.serviceRegistry.getServices(e.uri).validation.ValidationRegistry.getAllValidationCategories(e),o=n?.result?.validationChecks?new Set(n?.result?.validationChecks):n?.completed?i:new Set,s=r===void 0||r.validation===!0?i:typeof r.validation=="object"?r.validation.categories??i:[];return xe(s).filter(a=>!o.has(a)).toArray()}async findChangedUris(e){if(this.langiumDocuments.getDocument(e)??this.textDocuments?.get(e))return[e];try{let n=await this.fileSystemProvider.stat(e);if(n.isDirectory)return await this.workspaceManager().searchFolder(e);if(this.workspaceManager().shouldIncludeEntry(n))return[e]}catch{}return[]}async emitUpdate(e,r){await Promise.all(this.updateListeners.map(n=>n(e,r)))}sortDocuments(e){let r=0,n=e.length-1;for(;r<n;){for(;r<e.length&&this.hasTextDocument(e[r]);)r++;for(;n>=0&&!this.hasTextDocument(e[n]);)n--;r<n&&([e[r],e[n]]=[e[n],e[r]])}return e}hasTextDocument(e){return!!this.textDocuments?.get(e.uri)}shouldRelink(e,r){return e.references.some(n=>n.error!==void 0)?!0:this.indexManager.isAffected(e,r)}onUpdate(e){return this.updateListeners.push(e),Bi.create(()=>{let r=this.updateListeners.indexOf(e);r>=0&&this.updateListeners.splice(r,1)})}resetToState(e,r){switch(r){case ye.Changed:case ye.Parsed:this.indexManager.removeContent(e.uri);case ye.IndexedContent:e.localSymbols=void 0;case ye.ComputedScopes:this.serviceRegistry.getServices(e.uri).references.Linker.unlink(e);case ye.Linked:this.indexManager.removeReferences(e.uri);case ye.IndexedReferences:e.diagnostics=void 0,this.buildState.delete(e.uri.toString());case ye.Validated:}e.state>r&&(e.state=r)}cleanUpDeleted(e){this.buildState.delete(e.uri.toString()),this.indexManager.remove(e.uri),e.state=ye.Changed}async buildDocuments(e,r,n){this.prepareBuild(e,r),await this.runCancelable(e,ye.Parsed,n,s=>this.langiumDocumentFactory.update(s,n)),await this.runCancelable(e,ye.IndexedContent,n,s=>this.indexManager.updateContent(s,n)),await this.runCancelable(e,ye.ComputedScopes,n,async s=>{let a=this.serviceRegistry.getServices(s.uri).references.ScopeComputation;s.localSymbols=await a.collectLocalSymbols(s,n)});let i=e.filter(s=>this.shouldLink(s));await this.runCancelable(i,ye.Linked,n,s=>this.serviceRegistry.getServices(s.uri).references.Linker.link(s,n)),await this.runCancelable(i,ye.IndexedReferences,n,s=>this.indexManager.updateReferences(s,n));let o=e.filter(s=>this.shouldValidate(s)?!0:(this.markAsCompleted(s),!1));await this.runCancelable(o,ye.Validated,n,async s=>{await this.validate(s,n),this.markAsCompleted(s)})}markAsCompleted(e){let r=this.buildState.get(e.uri.toString());r&&(r.completed=!0)}prepareBuild(e,r){for(let n of e){let i=n.uri.toString(),o=this.buildState.get(i);(!o||o.completed)&&this.buildState.set(i,{completed:!1,options:r,result:o?.result})}}async runCancelable(e,r,n,i){for(let s of e)s.state<r&&(await pt(n),await i(s),s.state=r,await this.notifyDocumentPhase(s,r,n));let o=e.filter(s=>s.state===r);await this.notifyBuildPhase(o,r,n),this.currentState=r}onBuildPhase(e,r){return this.buildPhaseListeners.add(e,r),Bi.create(()=>{this.buildPhaseListeners.delete(e,r)})}onDocumentPhase(e,r){return this.documentPhaseListeners.add(e,r),Bi.create(()=>{this.documentPhaseListeners.delete(e,r)})}waitUntil(e,r,n){let i;return r&&"path"in r?i=r:n=r,n??(n=oe.CancellationToken.None),i?this.awaitDocumentState(e,i,n):this.awaitBuilderState(e,n)}awaitDocumentState(e,r,n){let i=this.langiumDocuments.getDocument(r);if(i){if(i.state>=e)return Promise.resolve(r);if(n.isCancellationRequested)return Promise.reject(wr);if(this.currentState>=e&&e>i.state)return Promise.reject(new $a.ResponseError($a.LSPErrorCodes.RequestFailed,`Document state of ${r.toString()} is ${ye[i.state]}, requiring ${ye[e]}, but workspace state is already ${ye[this.currentState]}. Returning undefined.`))}else return Promise.reject(new $a.ResponseError($a.LSPErrorCodes.ServerCancelled,`No document found for URI: ${r.toString()}`));return new Promise((o,s)=>{let a=this.onDocumentPhase(e,l=>{vt.equals(l.uri,r)&&(a.dispose(),c.dispose(),o(l.uri))}),c=n.onCancellationRequested(()=>{a.dispose(),c.dispose(),s(wr)})})}awaitBuilderState(e,r){return this.currentState>=e?Promise.resolve():r.isCancellationRequested?Promise.reject(wr):new Promise((n,i)=>{let o=this.onBuildPhase(e,()=>{o.dispose(),s.dispose(),n()}),s=r.onCancellationRequested(()=>{o.dispose(),s.dispose(),i(wr)})})}async notifyDocumentPhase(e,r,n){let o=this.documentPhaseListeners.get(r).slice();for(let s of o)try{await pt(n),await s(e,n)}catch(a){if(!yn(a))throw a}}async notifyBuildPhase(e,r,n){if(e.length===0)return;let o=this.buildPhaseListeners.get(r).slice();for(let s of o)await pt(n),await s(e,n)}shouldLink(e){return this.getBuildOptions(e).eagerLinking??!0}shouldValidate(e){return!!this.getBuildOptions(e).validation}async validate(e,r){let n=this.serviceRegistry.getServices(e.uri).validation.DocumentValidator,i=this.getBuildOptions(e),o=typeof i.validation=="object"?{...i.validation}:{};o.categories=this.findMissingValidationCategories(e,i);let s=await n.validateDocument(e,o,r);e.diagnostics?e.diagnostics.push(...s):e.diagnostics=s;let a=this.buildState.get(e.uri.toString());a&&(a.result??(a.result={}),a.result.validationChecks?a.result.validationChecks=xe(a.result.validationChecks).concat(o.categories).distinct().toArray():a.result.validationChecks=[...o.categories])}getBuildOptions(e){return this.buildState.get(e.uri.toString())?.options??{}}};var Jl=class{constructor(e){this.symbolIndex=new Map,this.symbolByTypeIndex=new Uo,this.referenceIndex=new Map,this.documents=e.workspace.LangiumDocuments,this.serviceRegistry=e.ServiceRegistry,this.astReflection=e.AstReflection}findAllReferences(e,r){let n=Ft(e).uri,i=[];return this.referenceIndex.forEach(o=>{o.forEach(s=>{vt.equals(s.targetUri,n)&&s.targetPath===r&&i.push(s)})}),xe(i)}allElements(e,r){let n=xe(this.symbolIndex.keys());return r&&(n=n.filter(i=>!r||r.has(i))),n.map(i=>this.getFileDescriptions(i,e)).flat()}getFileDescriptions(e,r){return r?this.symbolByTypeIndex.get(e,r,()=>(this.symbolIndex.get(e)??[]).filter(o=>this.astReflection.isSubtype(o.type,r))):this.symbolIndex.get(e)??[]}remove(e){this.removeContent(e),this.removeReferences(e)}removeContent(e){let r=e.toString();this.symbolIndex.delete(r),this.symbolByTypeIndex.clear(r)}removeReferences(e){let r=e.toString();this.referenceIndex.delete(r)}async updateContent(e,r=oe.CancellationToken.None){let i=await this.serviceRegistry.getServices(e.uri).references.ScopeComputation.collectExportedSymbols(e,r),o=e.uri.toString();this.symbolIndex.set(o,i),this.symbolByTypeIndex.clear(o)}async updateReferences(e,r=oe.CancellationToken.None){let i=await this.serviceRegistry.getServices(e.uri).workspace.ReferenceDescriptionProvider.createDescriptions(e,r);this.referenceIndex.set(e.uri.toString(),i)}isAffected(e,r){let n=this.referenceIndex.get(e.uri.toString());return n?n.some(i=>!i.local&&r.has(i.targetUri.toString())):!1}};var Ql=class{constructor(e){this.initialBuildOptions={},this._ready=new Jt,this.serviceRegistry=e.ServiceRegistry,this.langiumDocuments=e.workspace.LangiumDocuments,this.documentBuilder=e.workspace.DocumentBuilder,this.fileSystemProvider=e.workspace.FileSystemProvider,this.mutex=e.workspace.WorkspaceLock}get ready(){return this._ready.promise}get workspaceFolders(){return this.folders}initialize(e){this.folders=e.workspaceFolders??void 0}initialized(e){return this.mutex.write(r=>this.initializeWorkspace(this.folders??[],r))}async initializeWorkspace(e,r=oe.CancellationToken.None){let n=await this.performStartup(e);await pt(r),await this.documentBuilder.build(n,this.initialBuildOptions,r)}async performStartup(e){let r=[],n=s=>{r.push(s),this.langiumDocuments.hasDocument(s.uri)||this.langiumDocuments.addDocument(s)};await this.loadAdditionalDocuments(e,n);let i=[];await Promise.all(e.map(s=>this.getRootFolder(s)).map(async s=>this.traverseFolder(s,i)));let o=xe(i).distinct(s=>s.toString()).filter(s=>!this.langiumDocuments.hasDocument(s));return await this.loadWorkspaceDocuments(o,n),this._ready.resolve(),r}async loadWorkspaceDocuments(e,r){await Promise.all(e.map(async n=>{let i=await this.langiumDocuments.getOrCreateDocument(n);r(i)}))}loadAdditionalDocuments(e,r){return Promise.resolve()}getRootFolder(e){return ht.parse(e.uri)}async traverseFolder(e,r){try{let n=await this.fileSystemProvider.readDirectory(e);await Promise.all(n.map(async i=>{this.shouldIncludeEntry(i)&&(i.isDirectory?await this.traverseFolder(i.uri,r):i.isFile&&r.push(i.uri))}))}catch(n){console.error("Failure to read directory content of "+e.toString(!0),n)}}async searchFolder(e){let r=[];return await this.traverseFolder(e,r),r}shouldIncludeEntry(e){let r=vt.basename(e.uri);return r.startsWith(".")?!1:e.isDirectory?r!=="node_modules"&&r!=="out":e.isFile?this.serviceRegistry.hasServices(e.uri):!1}};var eu=class{buildUnexpectedCharactersMessage(e,r,n,i,o){return Cs.buildUnexpectedCharactersMessage(e,r,n,i,o)}buildUnableToPopLexerModeMessage(e){return Cs.buildUnableToPopLexerModeMessage(e)}},Hp={mode:"full"},jo=class{constructor(e){this.errorMessageProvider=e.parser.LexerErrorMessageProvider,this.tokenBuilder=e.parser.TokenBuilder;let r=this.tokenBuilder.buildTokens(e.Grammar,{caseInsensitive:e.LanguageMetaData.caseInsensitive});this.tokenTypes=this.toTokenTypeDictionary(r);let n=XT(r)?Object.values(r):r,i=e.LanguageMetaData.mode==="production";this.chevrotainLexer=new ct(n,{positionTracking:"full",skipValidations:i,errorMessageProvider:this.errorMessageProvider})}get definition(){return this.tokenTypes}tokenize(e,r=Hp){let n=this.chevrotainLexer.tokenize(e);return{tokens:n.tokens,errors:n.errors,hidden:n.groups.hidden??[],report:this.tokenBuilder.flushLexingReport?.(e)}}toTokenTypeDictionary(e){if(XT(e))return e;let r=HT(e)?Object.values(e.modes).flat():e,n={};return r.forEach(i=>n[i.name]=i),n}};function jp(t){return Array.isArray(t)&&(t.length===0||"name"in t[0])}function HT(t){return t&&"modes"in t&&"defaultMode"in t}function XT(t){return!jp(t)&&!HT(t)}sa();function qT(t,e,r){let n,i;typeof t=="string"?(i=e,n=r):(i=t.range.start,n=e),i||(i=Ie.create(0,0));let o=GI(t),s=VT(n),a=fU({lines:o,position:i,options:s});return gU({index:0,tokens:a,position:i})}function WT(t,e){let r=VT(e),n=GI(t);if(n.length===0)return!1;let i=n[0],o=n[n.length-1],s=r.start,a=r.end;return!!s?.exec(i)&&!!a?.exec(o)}function GI(t){let e="";return typeof t=="string"?e=t:e=t.text,e.split(Ym)}var UI=/\s*(@([\p{L}][\p{L}\p{N}]*)?)/uy,uU=/\{(@[\p{L}][\p{L}\p{N}]*)(\s*)([^\r\n}]+)?\}/gu;function fU(t){let e=[],r=t.position.line,n=t.position.character;for(let i=0;i<t.lines.length;i++){let o=i===0,s=i===t.lines.length-1,a=t.lines[i],c=0;if(o&&t.options.start){let u=t.options.start?.exec(a);u&&(c=u.index+u[0].length)}else{let u=t.options.line?.exec(a);u&&(c=u.index+u[0].length)}if(s){let u=t.options.end?.exec(a);u&&(a=a.substring(0,u.index))}if(a=a.substring(0,mU(a)),zT(a,c)>=a.length){if(e.length>0){let u=Ie.create(r,n);e.push({type:"break",content:"",range:Ee.create(u,u)})}}else{UI.lastIndex=c;let u=UI.exec(a);if(u){let f=u[0],d=u[1],p=Ie.create(r,n+c),m=Ie.create(r,n+c+f.length);e.push({type:"tag",content:d,range:Ee.create(p,m)}),c+=f.length,c=zT(a,c)}if(c<a.length){let f=a.substring(c),d=Array.from(f.matchAll(uU));e.push(...dU(d,f,r,n+c))}}r++,n=0}return e.length>0&&e[e.length-1].type==="break"?e.slice(0,-1):e}function dU(t,e,r,n){let i=[];if(t.length===0){let o=Ie.create(r,n),s=Ie.create(r,n+e.length);i.push({type:"text",content:e,range:Ee.create(o,s)})}else{let o=0;for(let a of t){let c=a.index,l=e.substring(o,c);l.length>0&&i.push({type:"text",content:e.substring(o,c),range:Ee.create(Ie.create(r,o+n),Ie.create(r,c+n))});let u=l.length+1,f=a[1];if(i.push({type:"inline-tag",content:f,range:Ee.create(Ie.create(r,o+u+n),Ie.create(r,o+u+f.length+n))}),u+=f.length,a.length===4){u+=a[2].length;let d=a[3];i.push({type:"text",content:d,range:Ee.create(Ie.create(r,o+u+n),Ie.create(r,o+u+d.length+n))})}else i.push({type:"text",content:"",range:Ee.create(Ie.create(r,o+u+n),Ie.create(r,o+u+n))});o=c+a[0].length}let s=e.substring(o);s.length>0&&i.push({type:"text",content:s,range:Ee.create(Ie.create(r,o+n),Ie.create(r,o+n+s.length))})}return i}var pU=/\S/,hU=/\s*$/;function zT(t,e){let r=t.substring(e).match(pU);return r?e+r.index:t.length}function mU(t){let e=t.match(hU);if(e&&typeof e.index=="number")return e.index}function gU(t){let e=Ie.create(t.position.line,t.position.character);if(t.tokens.length===0)return new zp([],Ee.create(e,e));let r=[];for(;t.index<t.tokens.length;){let o=yU(t,r[r.length-1]);o&&r.push(o)}let n=r[0]?.range.start??e,i=r[r.length-1]?.range.end??e;return new zp(r,Ee.create(n,i))}function yU(t,e){let r=t.tokens[t.index];if(r.type==="tag")return HI(t,!1);if(r.type==="text"||r.type==="inline-tag")return XI(t);xU(r,e),t.index++}function xU(t,e){if(e){let r=new qp("",t.range);"inlines"in e?e.inlines.push(r):e.content.inlines.push(r)}}function XI(t){let e=t.tokens[t.index],r=e,n=e,i=[];for(;e&&e.type!=="break"&&e.type!=="tag";)i.push(TU(t)),n=e,e=t.tokens[t.index];return new ru(i,Ee.create(r.range.start,n.range.end))}function TU(t){return t.tokens[t.index].type==="inline-tag"?HI(t,!0):jI(t)}function HI(t,e){let r=t.tokens[t.index++],n=r.content.substring(1);if(t.tokens[t.index]?.type==="text")if(e){let o=jI(t);return new tu(n,new ru([o],o.range),e,Ee.create(r.range.start,o.range.end))}else{let o=XI(t);return new tu(n,o,e,Ee.create(r.range.start,o.range.end))}else{let o=r.range;return new tu(n,new ru([],o),e,o)}}function jI(t){let e=t.tokens[t.index++];return new qp(e.content,e.range)}function VT(t){if(!t)return VT({start:"/**",end:"*/",line:"*"});let{start:e,end:r,line:n}=t;return{start:jT(e,!0),end:jT(r,!1),line:jT(n,!0)}}function jT(t,e){if(typeof t=="string"||typeof t=="object"){let r=typeof t=="string"?hi(t):t.source;return e?new RegExp(`^\\s*${r}`):new RegExp(`\\s*${r}\\s*$`)}else return t}var zp=class{constructor(e,r){this.elements=e,this.range=r}getTag(e){return this.getAllTags().find(r=>r.name===e)}getTags(e){return this.getAllTags().filter(r=>r.name===e)}getAllTags(){return this.elements.filter(e=>"name"in e)}toString(){let e="";for(let r of this.elements)if(e.length===0)e=r.toString();else{let n=r.toString();e+=BI(e)+n}return e.trim()}toMarkdown(e){let r="";for(let n of this.elements)if(r.length===0)r=n.toMarkdown(e);else{let i=n.toMarkdown(e);r+=BI(r)+i}return r.trim()}},tu=class{constructor(e,r,n,i){this.name=e,this.content=r,this.inline=n,this.range=i}toString(){let e=`@${this.name}`,r=this.content.toString();return this.content.inlines.length===1?e=`${e} ${r}`:this.content.inlines.length>1&&(e=`${e}
|
|
153
|
+
${r}`),this.inline?`{${e}}`:e}toMarkdown(e){return e?.renderTag?.(this)??this.toMarkdownDefault(e)}toMarkdownDefault(e){let r=this.content.toMarkdown(e);if(this.inline){let o=_U(this.name,r,e??{});if(typeof o=="string")return o}let n="";e?.tag==="italic"||e?.tag===void 0?n="*":e?.tag==="bold"?n="**":e?.tag==="bold-italic"&&(n="***");let i=`${n}@${this.name}${n}`;return this.content.inlines.length===1?i=`${i} \u2014 ${r}`:this.content.inlines.length>1&&(i=`${i}
|
|
154
|
+
${r}`),this.inline?`{${i}}`:i}};function _U(t,e,r){if(t==="linkplain"||t==="linkcode"||t==="link"){let n=e.indexOf(" "),i=e;if(n>0){let s=zT(e,n);i=e.substring(s),e=e.substring(0,n)}return(t==="linkcode"||t==="link"&&r.link==="code")&&(i=`\`${i}\``),r.renderLink?.(e,i)??EU(e,i)}}function EU(t,e){try{return ht.parse(t,!0),`[${e}](${t})`}catch{return t}}var ru=class{constructor(e,r){this.inlines=e,this.range=r}toString(){let e="";for(let r=0;r<this.inlines.length;r++){let n=this.inlines[r],i=this.inlines[r+1];e+=n.toString(),i&&i.range.start.line>n.range.start.line&&(e+=`
|
|
155
155
|
`)}return e}toMarkdown(e){let r="";for(let n=0;n<this.inlines.length;n++){let i=this.inlines[n],o=this.inlines[n+1];r+=i.toMarkdown(e),o&&o.range.start.line>i.range.start.line&&(r+=`
|
|
156
|
-
`)}return r}},
|
|
156
|
+
`)}return r}},qp=class{constructor(e,r){this.text=e,this.range=r}toString(){return this.text}toMarkdown(){return this.text}};function BI(t){return t.endsWith(`
|
|
157
157
|
`)?`
|
|
158
158
|
`:`
|
|
159
159
|
|
|
160
|
-
`}var Yl=class{constructor(e){this.indexManager=e.shared.workspace.IndexManager,this.commentProvider=e.documentation.CommentProvider}getDocumentation(e){let r=this.commentProvider.getComment(e);if(r&&PT(r))return NT(r).toMarkdown({renderLink:(i,o)=>this.documentationLinkRenderer(e,i,o),renderTag:i=>this.documentationTagRenderer(e,i)})}documentationLinkRenderer(e,r,n){let i=this.findNameInLocalSymbols(e,r)??this.findNameInGlobalScope(e,r);if(i&&i.nameSegment){let o=i.nameSegment.range.start.line+1,s=i.nameSegment.range.start.character+1,a=i.documentUri.with({fragment:`L${o},${s}`});return`[${n}](${a.toString()})`}else return}documentationTagRenderer(e,r){}findNameInLocalSymbols(e,r){let i=Ft(e).localSymbols;if(!i)return;let o=e;do{let a=i.getStream(o).find(c=>c.name===r);if(a)return a;o=o.$container}while(o)}findNameInGlobalScope(e,r){return this.indexManager.allElements().find(i=>i.name===r)}};var Kl=class{constructor(e){this.grammarConfig=()=>e.parser.GrammarConfig}getComment(e){return ex(e)?e.$comment:vm(e.$cstNode,this.grammarConfig().multilineCommentRules)?.text}};var Zl=class{constructor(e){this.syncParser=e.parser.LangiumParser}parse(e,r){return Promise.resolve(this.syncParser.parse(e))}},OT=class{constructor(e){this.threadCount=8,this.terminationDelay=200,this.workerPool=[],this.queue=[],this.hydrator=e.serializer.Hydrator}initializeWorkers(){for(;this.workerPool.length<this.threadCount;){let e=this.createWorker();e.onReady(()=>{if(this.queue.length>0){let r=this.queue.shift();r&&(e.lock(),r.resolve(e))}}),this.workerPool.push(e)}}async parse(e,r){let n=await this.acquireParserWorker(r),i=new Jt,o,s=r.onCancellationRequested(()=>{o=setTimeout(()=>{this.terminateWorker(n)},this.terminationDelay)});return n.parse(e).then(a=>{let c=this.hydrator.hydrate(a);i.resolve(c)}).catch(a=>{i.reject(a)}).finally(()=>{s.dispose(),clearTimeout(o)}),i.promise}terminateWorker(e){e.terminate();let r=this.workerPool.indexOf(e);r>=0&&this.workerPool.splice(r,1)}async acquireParserWorker(e){this.initializeWorkers();for(let n of this.workerPool)if(n.ready)return n.lock(),n;let r=new Jt;return e.onCancellationRequested(()=>{let n=this.queue.indexOf(r);n>=0&&this.queue.splice(n,1),r.reject(br)}),this.queue.push(r),r.promise}},LT=class{get ready(){return this._ready}get onReady(){return this.onReadyEmitter.event}constructor(e,r,n,i){this.onReadyEmitter=new rt.Emitter,this.deferred=new Jt,this._ready=!0,this._parsing=!1,this.sendMessage=e,this._terminate=i,r(o=>{let s=o;this.deferred.resolve(s),this.unlock()}),n(o=>{this.deferred.reject(o),this.unlock()})}terminate(){this.deferred.reject(br),this._terminate()}lock(){this._ready=!1}unlock(){this._parsing=!1,this._ready=!0,this.onReadyEmitter.fire()}parse(e){if(this._parsing)throw new Error("Parser worker is busy");return this._parsing=!0,this.deferred=new Jt,this.sendMessage(e),this.deferred.promise}};var Jl=class{constructor(){this.previousTokenSource=new ne.CancellationTokenSource,this.writeQueue=[],this.readQueue=[],this.done=!0}write(e){this.cancelWrite();let r=jd();return this.previousTokenSource=r,this.enqueue(this.writeQueue,e,r.token)}read(e){return this.enqueue(this.readQueue,e)}enqueue(e,r,n=ne.CancellationToken.None){let i=new Jt,o={action:r,deferred:i,cancellationToken:n};return e.push(o),this.performNextOperation(),i.promise}async performNextOperation(){if(!this.done)return;let e=[];if(this.writeQueue.length>0)e.push(this.writeQueue.shift());else if(this.readQueue.length>0)e.push(...this.readQueue.splice(0,this.readQueue.length));else return;this.done=!1,await Promise.all(e.map(async({action:r,deferred:n,cancellationToken:i})=>{try{let o=await Promise.resolve().then(()=>r(i));n.resolve(o)}catch(o){pn(o)?n.resolve(void 0):n.reject(o)}})),this.done=!0,this.performNextOperation()}cancelWrite(){this.previousTokenSource.cancel()}};var Ql=class{constructor(e){this.grammarElementIdMap=new Po,this.tokenTypeIdMap=new Po,this.grammar=e.Grammar,this.lexer=e.parser.Lexer,this.linker=e.references.Linker}dehydrate(e){return{lexerErrors:e.lexerErrors,lexerReport:e.lexerReport?this.dehydrateLexerReport(e.lexerReport):void 0,parserErrors:e.parserErrors.map(r=>({...r,message:r.message})),value:this.dehydrateAstNode(e.value,this.createDehyrationContext(e.value))}}dehydrateLexerReport(e){return e}createDehyrationContext(e){let r=new Map,n=new Map;for(let i of Wt(e))r.set(i,{});if(e.$cstNode)for(let i of so(e.$cstNode))n.set(i,{});return{astNodes:r,cstNodes:n}}dehydrateAstNode(e,r){let n=r.astNodes.get(e);n.$type=e.$type,n.$containerIndex=e.$containerIndex,n.$containerProperty=e.$containerProperty,e.$cstNode!==void 0&&(n.$cstNode=this.dehydrateCstNode(e.$cstNode,r));for(let[i,o]of Object.entries(e))if(!i.startsWith("$"))if(Array.isArray(o)){let s=[];n[i]=s;for(let a of o)pt(a)?s.push(this.dehydrateAstNode(a,r)):wt(a)?s.push(this.dehydrateReference(a,r)):s.push(a)}else pt(o)?n[i]=this.dehydrateAstNode(o,r):wt(o)?n[i]=this.dehydrateReference(o,r):o!==void 0&&(n[i]=o);return n}dehydrateReference(e,r){let n={};return n.$refText=e.$refText,e.$refNode&&(n.$refNode=r.cstNodes.get(e.$refNode)),n}dehydrateCstNode(e,r){let n=r.cstNodes.get(e);return mc(e)?n.fullText=e.fullText:n.grammarSource=this.getGrammarElementId(e.grammarSource),n.hidden=e.hidden,n.astNode=r.astNodes.get(e.astNode),Or(e)?n.content=e.content.map(i=>this.dehydrateCstNode(i,r)):Kn(e)&&(n.tokenType=e.tokenType.name,n.offset=e.offset,n.length=e.length,n.startLine=e.range.start.line,n.startColumn=e.range.start.character,n.endLine=e.range.end.line,n.endColumn=e.range.end.character),n}hydrate(e){let r=e.value,n=this.createHydrationContext(r);return"$cstNode"in r&&this.hydrateCstNode(r.$cstNode,n),{lexerErrors:e.lexerErrors,lexerReport:e.lexerReport,parserErrors:e.parserErrors,value:this.hydrateAstNode(r,n)}}createHydrationContext(e){let r=new Map,n=new Map;for(let o of Wt(e))r.set(o,{});let i;if(e.$cstNode)for(let o of so(e.$cstNode)){let s;"fullText"in o?(s=new Js(o.fullText),i=s):"content"in o?s=new Io:"tokenType"in o&&(s=this.hydrateCstLeafNode(o)),s&&(n.set(o,s),s.root=i)}return{astNodes:r,cstNodes:n}}hydrateAstNode(e,r){let n=r.astNodes.get(e);n.$type=e.$type,n.$containerIndex=e.$containerIndex,n.$containerProperty=e.$containerProperty,e.$cstNode&&(n.$cstNode=r.cstNodes.get(e.$cstNode));for(let[i,o]of Object.entries(e))if(!i.startsWith("$"))if(Array.isArray(o)){let s=[];n[i]=s;for(let a of o)pt(a)?s.push(this.setParent(this.hydrateAstNode(a,r),n)):wt(a)?s.push(this.hydrateReference(a,n,i,r)):s.push(a)}else pt(o)?n[i]=this.setParent(this.hydrateAstNode(o,r),n):wt(o)?n[i]=this.hydrateReference(o,n,i,r):o!==void 0&&(n[i]=o);return n}setParent(e,r){return e.$container=r,e}hydrateReference(e,r,n,i){return this.linker.buildReference(r,n,i.cstNodes.get(e.$refNode),e.$refText)}hydrateCstNode(e,r,n=0){let i=r.cstNodes.get(e);if(typeof e.grammarSource=="number"&&(i.grammarSource=this.getGrammarElement(e.grammarSource)),i.astNode=r.astNodes.get(e.astNode),Or(i))for(let o of e.content){let s=this.hydrateCstNode(o,r,n++);i.content.push(s)}return i}hydrateCstLeafNode(e){let r=this.getTokenType(e.tokenType),n=e.offset,i=e.length,o=e.startLine,s=e.startColumn,a=e.endLine,c=e.endColumn,l=e.hidden;return new Ao(n,i,{start:{line:o,character:s},end:{line:a,character:c}},r,l)}getTokenType(e){return this.lexer.definition[e]}getGrammarElementId(e){if(e)return this.grammarElementIdMap.size===0&&this.createGrammarElementIdMap(),this.grammarElementIdMap.get(e)}getGrammarElement(e){return this.grammarElementIdMap.size===0&&this.createGrammarElementIdMap(),this.grammarElementIdMap.getKey(e)}createGrammarElementIdMap(){let e=0;for(let r of Wt(this.grammar))Ac(r)&&this.grammarElementIdMap.set(r,e++)}};function eu(t){return{documentation:{CommentProvider:e=>new Kl(e),DocumentationProvider:e=>new Yl(e)},parser:{AsyncParser:e=>new Zl(e),GrammarConfig:e=>zm(e),LangiumParser:e=>Gy(e),CompletionParser:e=>Xy(e),ValueConverter:()=>new ko,TokenBuilder:()=>new vo,Lexer:e=>new Mo(e),ParserErrorMessageProvider:()=>new Qs,LexerErrorMessageProvider:()=>new ql},workspace:{AstNodeLocator:()=>new Cl,AstNodeDescriptionProvider:e=>new Nl(e),ReferenceDescriptionProvider:e=>new Pl(e)},references:{Linker:e=>new Tl(e),NameProvider:()=>new _l,ScopeProvider:e=>new Al(e),ScopeComputation:e=>new Rl(e),References:e=>new El(e)},serializer:{Hydrator:e=>new Ql(e),JsonSerializer:e=>new Il(e)},validation:{DocumentValidator:e=>new kl(e),ValidationRegistry:e=>new vl(e)},shared:()=>t.shared}}function tu(t){return{ServiceRegistry:e=>new Sl(e),workspace:{LangiumDocuments:e=>new xl(e),LangiumDocumentFactory:e=>new yl(e),DocumentBuilder:e=>new Hl(e),IndexManager:e=>new jl(e),WorkspaceManager:e=>new Wl(e),FileSystemProvider:e=>t.fileSystemProvider(e),WorkspaceLock:()=>new Jl,ConfigurationProvider:e=>new Ol(e)},profilers:{}}}var DT;(function(t){t.merge=(e,r)=>ru(ru({},e),r)})(DT||(DT={}));function Fo(t,e,r,n,i,o,s,a,c){let l=[t,e,r,n,i,o,s,a,c].reduce(ru,{});return Iv(l)}var wv=Symbol("isProxy");function Av(t){if(t&&t[wv])for(let e of Object.values(t))Av(e);return t}function Iv(t,e){let r=new Proxy({},{deleteProperty:()=>!1,set:()=>{throw new Error("Cannot set property on injected service container")},get:(n,i)=>i===wv?!0:bv(n,i,t,e||r),getOwnPropertyDescriptor:(n,i)=>(bv(n,i,t,e||r),Object.getOwnPropertyDescriptor(n,i)),has:(n,i)=>i in t,ownKeys:()=>[...Object.getOwnPropertyNames(t)]});return r}var Rv=Symbol();function bv(t,e,r,n){if(e in t){if(t[e]instanceof Error)throw new Error("Construction failure. Please make sure that your dependencies are constructable. Cause: "+t[e]);if(t[e]===Rv)throw new Error('Cycle detected. Please make "'+String(e)+'" lazy. Visit https://langium.org/docs/reference/configuration-services/#resolving-cyclic-dependencies');return t[e]}else if(e in r){let i=r[e];t[e]=Rv;try{t[e]=typeof i=="function"?i(n):Iv(i,n)}catch(o){throw t[e]=o instanceof Error?o:void 0,o}return t[e]}else return}function ru(t,e){if(e){for(let[r,n]of Object.entries(e))if(n!=null)if(typeof n=="object"){let i=t[r];typeof i=="object"&&i!==null?t[r]=ru(i,n):t[r]=ru({},n)}else t[r]=n}return t}var $T={indentTokenName:"INDENT",dedentTokenName:"DEDENT",whitespaceTokenName:"WS",ignoreIndentationDelimiters:[]},Uo;(function(t){t.REGULAR="indentation-sensitive",t.IGNORE_INDENTATION="ignore-indentation"})(Uo||(Uo={}));var va=class extends vo{constructor(e=$T){super(),this.indentationStack=[0],this.whitespaceRegExp=/[ \t]+/y,this.options={...$T,...e},this.indentTokenType=ci({name:this.options.indentTokenName,pattern:this.indentMatcher.bind(this),line_breaks:!1}),this.dedentTokenType=ci({name:this.options.dedentTokenName,pattern:this.dedentMatcher.bind(this),line_breaks:!1})}buildTokens(e,r){let n=super.buildTokens(e,r);if(!Pp(n))throw new Error("Invalid tokens built by default builder");let{indentTokenName:i,dedentTokenName:o,whitespaceTokenName:s,ignoreIndentationDelimiters:a}=this.options,c,l,u,f=[];for(let d of n){for(let[p,m]of a)d.name===p?d.PUSH_MODE=Uo.IGNORE_INDENTATION:d.name===m&&(d.POP_MODE=!0);d.name===o?c=d:d.name===i?l=d:d.name===s?u=d:f.push(d)}if(!c||!l||!u)throw new Error("Some indentation/whitespace tokens not found!");return a.length>0?{modes:{[Uo.REGULAR]:[c,l,...f,u],[Uo.IGNORE_INDENTATION]:[...f,u]},defaultMode:Uo.REGULAR}:[c,l,u,...f]}flushLexingReport(e){return{...super.flushLexingReport(e),remainingDedents:this.flushRemainingDedents(e)}}isStartOfLine(e,r){return r===0||`\r
|
|
161
|
-
`.includes(e[r-1])}matchWhitespace(e,r,n,i){this.whitespaceRegExp.lastIndex=r;let o=this.whitespaceRegExp.exec(e);return{currIndentLevel:o?.[0].length??0,prevIndentLevel:this.indentationStack.at(-1),match:o}}createIndentationTokenInstance(e,r,n,i){let o=this.getLineNumber(r,i);return Dn(e,n,i,i+n.length,o,o,1,n.length)}getLineNumber(e,r){return e.substring(0,r).split(/\r\n|\r|\n/).length}indentMatcher(e,r,n,i){if(!this.isStartOfLine(e,r))return null;let{currIndentLevel:o,prevIndentLevel:s,match:a}=this.matchWhitespace(e,r,n,i);return o<=s?null:(this.indentationStack.push(o),a)}dedentMatcher(e,r,n,i){if(!this.isStartOfLine(e,r))return null;let{currIndentLevel:o,prevIndentLevel:s,match:a}=this.matchWhitespace(e,r,n,i);if(o>=s)return null;let c=this.indentationStack.lastIndexOf(o);if(c===-1)return this.diagnostics.push({severity:"error",message:`Invalid dedent level ${o} at offset: ${r}. Current indentation stack: ${this.indentationStack}`,offset:r,length:a?.[0]?.length??0,line:this.getLineNumber(e,r),column:1}),null;let l=this.indentationStack.length-c-1,u=e.substring(0,r).match(/[\r\n]+$/)?.[0].length??1;for(let f=0;f<l;f++){let d=this.createIndentationTokenInstance(this.dedentTokenType,e,"",r-(u-1));n.push(d),this.indentationStack.pop()}return null}buildTerminalToken(e){let r=super.buildTerminalToken(e),{indentTokenName:n,dedentTokenName:i,whitespaceTokenName:o}=this.options;return r.name===n?this.indentTokenType:r.name===i?this.dedentTokenType:r.name===o?ci({name:o,pattern:this.whitespaceRegExp,group:at.SKIPPED}):r}flushRemainingDedents(e){let r=[];for(;this.indentationStack.length>1;)r.push(this.createIndentationTokenInstance(this.dedentTokenType,e,"",e.length)),this.indentationStack.pop();return this.indentationStack=[0],r}},nu=class extends Mo{constructor(e){if(super(e),e.parser.TokenBuilder instanceof va)this.indentationTokenBuilder=e.parser.TokenBuilder;else throw new Error("IndentationAwareLexer requires an accompanying IndentationAwareTokenBuilder")}tokenize(e,r=Np){let n=super.tokenize(e),i=n.report;r?.mode==="full"&&n.tokens.push(...i.remainingDedents),i.remainingDedents=[];let{indentTokenType:o,dedentTokenType:s}=this.indentationTokenBuilder,a=o.tokenTypeIdx,c=s.tokenTypeIdx,l=[],u=n.tokens.length-1;for(let f=0;f<u;f++){let d=n.tokens[f],p=n.tokens[f+1];if(d.tokenTypeIdx===a&&p.tokenTypeIdx===c){f++;continue}l.push(d)}return u>=0&&l.push(n.tokens[u]),n.tokens=l,n}};var Pe={};tn(Pe,{AstUtils:()=>Yu,BiMap:()=>Po,Cancellation:()=>ne,ContextCache:()=>Co,CstUtils:()=>gf,DONE_RESULT:()=>Mt,Deferred:()=>Jt,Disposable:()=>Ci,DisposableCache:()=>sa,DocumentCache:()=>qd,EMPTY_STREAM:()=>Zn,ErrorWithLocation:()=>co,GrammarUtils:()=>gs,MultiMap:()=>Bt,OperationCancelled:()=>br,Reduction:()=>ts,RegExpUtils:()=>Tf,SimpleCache:()=>wl,StreamImpl:()=>ur,TreeStreamImpl:()=>rn,URI:()=>mt,UriTrie:()=>ia,UriUtils:()=>_t,WorkspaceCache:()=>aa,assertCondition:()=>BE,assertUnreachable:()=>sn,delayNextTick:()=>Zy,interruptAndCheck:()=>ht,isOperationCancelled:()=>pn,loadGrammarFromJson:()=>Dp,setInterruptionPeriod:()=>LA,startCancelableOperation:()=>jd,stream:()=>me});Ie(Pe,rt);var Lp=class{stat(e){throw new Error("No file system is available.")}statSync(e){throw new Error("No file system is available.")}async exists(){return!1}existsSync(){return!1}readBinary(){throw new Error("No file system is available.")}readBinarySync(){throw new Error("No file system is available.")}readFile(){throw new Error("No file system is available.")}readFileSync(){throw new Error("No file system is available.")}async readDirectory(){return[]}readDirectorySync(){return[]}},iu={fileSystemProvider:()=>new Lp};var LU={Grammar:()=>{},LanguageMetaData:()=>({caseInsensitive:!1,fileExtensions:[".langium"],languageId:"langium"})},DU={AstReflection:()=>new fs};function $U(){let t=Fo(tu(iu),DU),e=Fo(eu({shared:t}),LU);return t.ServiceRegistry.register(e),e}function Dp(t){let e=$U(),r=e.serializer.JsonSerializer.deserialize(t);return e.shared.workspace.LangiumDocumentFactory.fromModel(r,mt.parse(`memory:/${r.name??"grammar"}.langium`)),r}Ie(lt,Pe);var MT=class{constructor(e){this.activeCategories=new Set,this.allCategories=new Set(["validating","parsing","linking"]),this.activeCategories=e??new Set(this.allCategories),this.records=new Bt}isActive(e){return this.activeCategories.has(e)}start(...e){e?e.forEach(r=>this.activeCategories.add(r)):this.activeCategories=new Set(this.allCategories)}stop(...e){e?e.forEach(r=>this.activeCategories.delete(r)):this.activeCategories.clear()}createTask(e,r){if(!this.isActive(e))throw new Error(`Category "${e}" is not active.`);return console.log(`Creating profiling task for '${e}.${r}'.`),new $p(n=>this.records.add(e,this.dumpRecord(e,n)),r)}dumpRecord(e,r){console.info(`Task ${e}.${r.identifier} executed in ${r.duration.toFixed(2)}ms and ended at ${r.date.toISOString()}`);let n=[];for(let s of r.entries.keys()){let a=r.entries.get(s),c=a.reduce((l,u)=>l+u);n.push({name:`${r.identifier}.${s}`,count:a.length,duration:c})}let i=r.duration-n.map(s=>s.duration).reduce((s,a)=>s+a,0);n.push({name:r.identifier,count:1,duration:i}),n.sort((s,a)=>a.duration-s.duration);function o(s){return Math.round(100*s)/100}return console.table(n.map(s=>({Element:s.name,Count:s.count,"Self %":o(100*s.duration/r.duration),"Time (ms)":o(s.duration)}))),r}getRecords(...e){return e.length===0?this.records.values():this.records.entries().filter(r=>e.some(n=>n===r[0])).flatMap(r=>r[1])}},$p=class{constructor(e,r){this.stack=[],this.entries=new Bt,this.addRecord=e,this.identifier=r}start(){if(this.startTime!==void 0)throw new Error(`Task "${this.identifier}" is already started.`);this.startTime=performance.now()}stop(){if(this.startTime===void 0)throw new Error(`Task "${this.identifier}" was not started.`);if(this.stack.length!==0)throw new Error(`Task "${this.identifier}" cannot be stopped before sub-task(s): ${this.stack.map(r=>r.id).join(", ")}.`);let e={identifier:this.identifier,date:new Date,duration:performance.now()-this.startTime,entries:this.entries};this.addRecord(e),this.startTime=void 0,this.entries.clear()}startSubTask(e){this.stack.push({id:e,start:performance.now(),content:0})}stopSubTask(e){let r=this.stack.pop();if(!r)throw new Error(`Task "${this.identifier}.${e}" was not started.`);if(r.id!==e)throw new Error(`Sub-Task "${r.id}" is not already stopped.`);let n=performance.now()-r.start;this.stack.at(-1)!==void 0&&(this.stack[this.stack.length-1].content+=n);let i=n-r.content;this.entries.add(e,i)}};var Na={$type:"AnchorDeclaration",description:"description",name:"name",properties:"properties",title:"title"};function Gp(t){return It.isInstance(t,Na.$type)}var FT={$type:"BlockProperty",key:"key",value:"value"};var HT={$type:"CalendarBlock",properties:"properties"};function Hp(t){return It.isInstance(t,HT.$type)}var ka={$type:"ConfigEntry"};var Xp={$type:"DefaultDeclaration",entityType:"entityType",properties:"properties"};function Oi(t){return It.isInstance(t,Xp.$type)}var jT={$type:"DescriptionDirective",text:"text"};function zT(t){return It.isInstance(t,jT.$type)}var Mp={$type:"EntityProperty",key:"key",value:"value",values:"values"};var Pa={$type:"FootnoteDeclaration",description:"description",name:"name",properties:"properties",title:"title"};function jp(t){return It.isInstance(t,Pa.$type)}var Ca={$type:"GroupBlock",content:"content",name:"name",properties:"properties",title:"title"};function jr(t){return It.isInstance(t,Ca.$type)}var ou={$type:"GroupContent"};var UT={$type:"IncludeDeclaration",options:"options",path:"path"};var BT={$type:"IncludeOption",key:"key",value:"value"};var Oa={$type:"ItemDeclaration",description:"description",name:"name",properties:"properties",title:"title"};function gr(t){return It.isInstance(t,Oa.$type)}var La={$type:"LabelDeclaration",description:"description",name:"name",properties:"properties",title:"title"};function Wp(t){return It.isInstance(t,La.$type)}var Da={$type:"MilestoneDeclaration",description:"description",name:"name",properties:"properties",title:"title"};function qp(t){return It.isInstance(t,Da.$type)}var XT={$type:"NowlineDirective",properties:"properties",version:"version"};var Bo={$type:"NowlineFile",configEntries:"configEntries",directive:"directive",hasConfig:"hasConfig",includes:"includes",roadmapDecl:"roadmapDecl",roadmapEntries:"roadmapEntries"};var $a={$type:"ParallelBlock",content:"content",name:"name",properties:"properties",title:"title"};function Wr(t){return It.isInstance(t,$a.$type)}var Fp={$type:"ParallelContent"};var Ma={$type:"PersonDeclaration",description:"description",name:"name",properties:"properties",title:"title"};function Li(t){return It.isInstance(t,Ma.$type)}var WT={$type:"PersonMemberRef",ref:"ref"};function Sv(t){return It.isInstance(t,WT.$type)}var Up={$type:"RoadmapDeclaration",name:"name",properties:"properties",title:"title"};var xn={$type:"RoadmapEntry"};var qT={$type:"ScaleBlock",properties:"properties"};function vv(t){return It.isInstance(t,qT.$type)}var Fa={$type:"SizeDeclaration",description:"description",name:"name",properties:"properties",title:"title"};function Ha(t){return It.isInstance(t,Fa.$type)}var Ua={$type:"StatusDeclaration",description:"description",name:"name",properties:"properties",title:"title"};function lu(t){return It.isInstance(t,Ua.$type)}var au={$type:"StyleDeclaration",name:"name",properties:"properties",title:"title"};function uu(t){return It.isInstance(t,au.$type)}var GT={$type:"StyleProperty",key:"key",value:"value"};var su={$type:"SwimlaneContent"};var Ba={$type:"SwimlaneDeclaration",content:"content",name:"name",properties:"properties",title:"title"};function qr(t){return It.isInstance(t,Ba.$type)}var Xa={$type:"SymbolDeclaration",description:"description",name:"name",properties:"properties",title:"title"};function fu(t){return It.isInstance(t,Xa.$type)}var Bp={$type:"TeamContent"};var Ga={$type:"TeamDeclaration",content:"content",name:"name",properties:"properties",title:"title"};function zr(t){return It.isInstance(t,Ga.$type)}var cu=class extends zi{constructor(){super(...arguments);le(this,"types",{AnchorDeclaration:{name:Na.$type,properties:{description:{name:Na.description},name:{name:Na.name},properties:{name:Na.properties,defaultValue:[]},title:{name:Na.title}},superTypes:[xn.$type]},BlockProperty:{name:FT.$type,properties:{key:{name:FT.key},value:{name:FT.value}},superTypes:[]},CalendarBlock:{name:HT.$type,properties:{properties:{name:HT.properties,defaultValue:[]}},superTypes:[ka.$type]},ConfigEntry:{name:ka.$type,properties:{},superTypes:[]},DefaultDeclaration:{name:Xp.$type,properties:{entityType:{name:Xp.entityType},properties:{name:Xp.properties,defaultValue:[]}},superTypes:[ka.$type]},DescriptionDirective:{name:jT.$type,properties:{text:{name:jT.text}},superTypes:[ou.$type,Fp.$type,su.$type,Bp.$type]},EntityProperty:{name:Mp.$type,properties:{key:{name:Mp.key},value:{name:Mp.value},values:{name:Mp.values,defaultValue:[]}},superTypes:[]},FootnoteDeclaration:{name:Pa.$type,properties:{description:{name:Pa.description},name:{name:Pa.name},properties:{name:Pa.properties,defaultValue:[]},title:{name:Pa.title}},superTypes:[xn.$type]},GroupBlock:{name:Ca.$type,properties:{content:{name:Ca.content,defaultValue:[]},name:{name:Ca.name},properties:{name:Ca.properties,defaultValue:[]},title:{name:Ca.title}},superTypes:[ou.$type,Fp.$type,su.$type]},GroupContent:{name:ou.$type,properties:{},superTypes:[]},IncludeDeclaration:{name:UT.$type,properties:{options:{name:UT.options,defaultValue:[]},path:{name:UT.path}},superTypes:[]},IncludeOption:{name:BT.$type,properties:{key:{name:BT.key},value:{name:BT.value}},superTypes:[]},ItemDeclaration:{name:Oa.$type,properties:{description:{name:Oa.description},name:{name:Oa.name},properties:{name:Oa.properties,defaultValue:[]},title:{name:Oa.title}},superTypes:[ou.$type,Fp.$type,su.$type]},LabelDeclaration:{name:La.$type,properties:{description:{name:La.description},name:{name:La.name},properties:{name:La.properties,defaultValue:[]},title:{name:La.title}},superTypes:[xn.$type]},MilestoneDeclaration:{name:Da.$type,properties:{description:{name:Da.description},name:{name:Da.name},properties:{name:Da.properties,defaultValue:[]},title:{name:Da.title}},superTypes:[xn.$type]},NowlineDirective:{name:XT.$type,properties:{properties:{name:XT.properties,defaultValue:[]},version:{name:XT.version}},superTypes:[]},NowlineFile:{name:Bo.$type,properties:{configEntries:{name:Bo.configEntries,defaultValue:[]},directive:{name:Bo.directive},hasConfig:{name:Bo.hasConfig,defaultValue:!1},includes:{name:Bo.includes,defaultValue:[]},roadmapDecl:{name:Bo.roadmapDecl},roadmapEntries:{name:Bo.roadmapEntries,defaultValue:[]}},superTypes:[]},ParallelBlock:{name:$a.$type,properties:{content:{name:$a.content,defaultValue:[]},name:{name:$a.name},properties:{name:$a.properties,defaultValue:[]},title:{name:$a.title}},superTypes:[ou.$type,su.$type]},ParallelContent:{name:Fp.$type,properties:{},superTypes:[]},PersonDeclaration:{name:Ma.$type,properties:{description:{name:Ma.description},name:{name:Ma.name},properties:{name:Ma.properties,defaultValue:[]},title:{name:Ma.title}},superTypes:[xn.$type]},PersonMemberRef:{name:WT.$type,properties:{ref:{name:WT.ref}},superTypes:[Bp.$type]},RoadmapDeclaration:{name:Up.$type,properties:{name:{name:Up.name},properties:{name:Up.properties,defaultValue:[]},title:{name:Up.title}},superTypes:[]},RoadmapEntry:{name:xn.$type,properties:{},superTypes:[]},ScaleBlock:{name:qT.$type,properties:{properties:{name:qT.properties,defaultValue:[]}},superTypes:[ka.$type]},SizeDeclaration:{name:Fa.$type,properties:{description:{name:Fa.description},name:{name:Fa.name},properties:{name:Fa.properties,defaultValue:[]},title:{name:Fa.title}},superTypes:[xn.$type]},StatusDeclaration:{name:Ua.$type,properties:{description:{name:Ua.description},name:{name:Ua.name},properties:{name:Ua.properties,defaultValue:[]},title:{name:Ua.title}},superTypes:[xn.$type]},StyleDeclaration:{name:au.$type,properties:{name:{name:au.name},properties:{name:au.properties,defaultValue:[]},title:{name:au.title}},superTypes:[ka.$type]},StyleProperty:{name:GT.$type,properties:{key:{name:GT.key},value:{name:GT.value}},superTypes:[]},SwimlaneContent:{name:su.$type,properties:{},superTypes:[]},SwimlaneDeclaration:{name:Ba.$type,properties:{content:{name:Ba.content,defaultValue:[]},name:{name:Ba.name},properties:{name:Ba.properties,defaultValue:[]},title:{name:Ba.title}},superTypes:[xn.$type]},SymbolDeclaration:{name:Xa.$type,properties:{description:{name:Xa.description},name:{name:Xa.name},properties:{name:Xa.properties,defaultValue:[]},title:{name:Xa.title}},superTypes:[ka.$type]},TeamContent:{name:Bp.$type,properties:{},superTypes:[]},TeamDeclaration:{name:Ga.$type,properties:{content:{name:Ga.content,defaultValue:[]},name:{name:Ga.name},properties:{name:Ga.properties,defaultValue:[]},title:{name:Ga.title}},superTypes:[xn.$type,Bp.$type]}})}},It=new cu;var kv,Nv=()=>kv??(kv=Dp(`{
|
|
160
|
+
`}var nu=class{constructor(e){this.indexManager=e.shared.workspace.IndexManager,this.commentProvider=e.documentation.CommentProvider}getDocumentation(e){let r=this.commentProvider.getComment(e);if(r&&WT(r))return qT(r).toMarkdown({renderLink:(i,o)=>this.documentationLinkRenderer(e,i,o),renderTag:i=>this.documentationTagRenderer(e,i)})}documentationLinkRenderer(e,r,n){let i=this.findNameInLocalSymbols(e,r)??this.findNameInGlobalScope(e,r);if(i&&i.nameSegment){let o=i.nameSegment.range.start.line+1,s=i.nameSegment.range.start.character+1,a=i.documentUri.with({fragment:`L${o},${s}`});return`[${n}](${a.toString()})`}else return}documentationTagRenderer(e,r){}findNameInLocalSymbols(e,r){let i=Ft(e).localSymbols;if(!i)return;let o=e;do{let a=i.getStream(o).find(c=>c.name===r);if(a)return a;o=o.$container}while(o)}findNameInGlobalScope(e,r){return this.indexManager.allElements().find(i=>i.name===r)}};var iu=class{constructor(e){this.grammarConfig=()=>e.parser.GrammarConfig}getComment(e){return gx(e)?e.$comment:jm(e.$cstNode,this.grammarConfig().multilineCommentRules)?.text}};var ou=class{constructor(e){this.syncParser=e.parser.LangiumParser}parse(e,r){return Promise.resolve(this.syncParser.parse(e))}},YT=class{constructor(e){this.threadCount=8,this.terminationDelay=200,this.workerPool=[],this.queue=[],this.hydrator=e.serializer.Hydrator}initializeWorkers(){for(;this.workerPool.length<this.threadCount;){let e=this.createWorker();e.onReady(()=>{if(this.queue.length>0){let r=this.queue.shift();r&&(e.lock(),r.resolve(e))}}),this.workerPool.push(e)}}async parse(e,r){let n=await this.acquireParserWorker(r),i=new Jt,o,s=r.onCancellationRequested(()=>{o=setTimeout(()=>{this.terminateWorker(n)},this.terminationDelay)});return n.parse(e).then(a=>{let c=this.hydrator.hydrate(a);i.resolve(c)}).catch(a=>{i.reject(a)}).finally(()=>{s.dispose(),clearTimeout(o)}),i.promise}terminateWorker(e){e.terminate();let r=this.workerPool.indexOf(e);r>=0&&this.workerPool.splice(r,1)}async acquireParserWorker(e){this.initializeWorkers();for(let n of this.workerPool)if(n.ready)return n.lock(),n;let r=new Jt;return e.onCancellationRequested(()=>{let n=this.queue.indexOf(r);n>=0&&this.queue.splice(n,1),r.reject(wr)}),this.queue.push(r),r.promise}},KT=class{get ready(){return this._ready}get onReady(){return this.onReadyEmitter.event}constructor(e,r,n,i){this.onReadyEmitter=new it.Emitter,this.deferred=new Jt,this._ready=!0,this._parsing=!1,this.sendMessage=e,this._terminate=i,r(o=>{let s=o;this.deferred.resolve(s),this.unlock()}),n(o=>{this.deferred.reject(o),this.unlock()})}terminate(){this.deferred.reject(wr),this._terminate()}lock(){this._ready=!1}unlock(){this._parsing=!1,this._ready=!0,this.onReadyEmitter.fire()}parse(e){if(this._parsing)throw new Error("Parser worker is busy");return this._parsing=!0,this.deferred=new Jt,this.sendMessage(e),this.deferred.promise}};var su=class{constructor(){this.previousTokenSource=new oe.CancellationTokenSource,this.writeQueue=[],this.readQueue=[],this.done=!0}write(e){this.cancelWrite();let r=np();return this.previousTokenSource=r,this.enqueue(this.writeQueue,e,r.token)}read(e){return this.enqueue(this.readQueue,e)}enqueue(e,r,n=oe.CancellationToken.None){let i=new Jt,o={action:r,deferred:i,cancellationToken:n};return e.push(o),this.performNextOperation(),i.promise}async performNextOperation(){if(!this.done)return;let e=[];if(this.writeQueue.length>0)e.push(this.writeQueue.shift());else if(this.readQueue.length>0)e.push(...this.readQueue.splice(0,this.readQueue.length));else return;this.done=!1,await Promise.all(e.map(async({action:r,deferred:n,cancellationToken:i})=>{try{let o=await Promise.resolve().then(()=>r(i));n.resolve(o)}catch(o){yn(o)?n.resolve(void 0):n.reject(o)}})),this.done=!0,this.performNextOperation()}cancelWrite(){this.previousTokenSource.cancel()}};var au=class{constructor(e){this.grammarElementIdMap=new Fo,this.tokenTypeIdMap=new Fo,this.grammar=e.Grammar,this.lexer=e.parser.Lexer,this.linker=e.references.Linker}dehydrate(e){return{lexerErrors:e.lexerErrors,lexerReport:e.lexerReport?this.dehydrateLexerReport(e.lexerReport):void 0,parserErrors:e.parserErrors.map(r=>({...r,message:r.message})),value:this.dehydrateAstNode(e.value,this.createDehyrationContext(e.value))}}dehydrateLexerReport(e){return e}createDehyrationContext(e){let r=new Map,n=new Map;for(let i of zt(e))r.set(i,{});if(e.$cstNode)for(let i of ho(e.$cstNode))n.set(i,{});return{astNodes:r,cstNodes:n}}dehydrateAstNode(e,r){let n=r.astNodes.get(e);n.$type=e.$type,n.$containerIndex=e.$containerIndex,n.$containerProperty=e.$containerProperty,e.$cstNode!==void 0&&(n.$cstNode=this.dehydrateCstNode(e.$cstNode,r));for(let[i,o]of Object.entries(e))if(!i.startsWith("$"))if(Array.isArray(o)){let s=[];n[i]=s;for(let a of o)dt(a)?s.push(this.dehydrateAstNode(a,r)):St(a)?s.push(this.dehydrateReference(a,r)):s.push(a)}else dt(o)?n[i]=this.dehydrateAstNode(o,r):St(o)?n[i]=this.dehydrateReference(o,r):o!==void 0&&(n[i]=o);return n}dehydrateReference(e,r){let n={};return n.$refText=e.$refText,e.$refNode&&(n.$refNode=r.cstNodes.get(e.$refNode)),n}dehydrateCstNode(e,r){let n=r.cstNodes.get(e);return Rc(e)?n.fullText=e.fullText:n.grammarSource=this.getGrammarElementId(e.grammarSource),n.hidden=e.hidden,n.astNode=r.astNodes.get(e.astNode),$r(e)?n.content=e.content.map(i=>this.dehydrateCstNode(i,r)):ii(e)&&(n.tokenType=e.tokenType.name,n.offset=e.offset,n.length=e.length,n.startLine=e.range.start.line,n.startColumn=e.range.start.character,n.endLine=e.range.end.line,n.endColumn=e.range.end.character),n}hydrate(e){let r=e.value,n=this.createHydrationContext(r);return"$cstNode"in r&&this.hydrateCstNode(r.$cstNode,n),{lexerErrors:e.lexerErrors,lexerReport:e.lexerReport,parserErrors:e.parserErrors,value:this.hydrateAstNode(r,n)}}createHydrationContext(e){let r=new Map,n=new Map;for(let o of zt(e))r.set(o,{});let i;if(e.$cstNode)for(let o of ho(e.$cstNode)){let s;"fullText"in o?(s=new aa(o.fullText),i=s):"content"in o?s=new Oo:"tokenType"in o&&(s=this.hydrateCstLeafNode(o)),s&&(n.set(o,s),s.root=i)}return{astNodes:r,cstNodes:n}}hydrateAstNode(e,r){let n=r.astNodes.get(e);n.$type=e.$type,n.$containerIndex=e.$containerIndex,n.$containerProperty=e.$containerProperty,e.$cstNode&&(n.$cstNode=r.cstNodes.get(e.$cstNode));for(let[i,o]of Object.entries(e))if(!i.startsWith("$"))if(Array.isArray(o)){let s=[];n[i]=s;for(let a of o)dt(a)?s.push(this.setParent(this.hydrateAstNode(a,r),n)):St(a)?s.push(this.hydrateReference(a,n,i,r)):s.push(a)}else dt(o)?n[i]=this.setParent(this.hydrateAstNode(o,r),n):St(o)?n[i]=this.hydrateReference(o,n,i,r):o!==void 0&&(n[i]=o);return n}setParent(e,r){return e.$container=r,e}hydrateReference(e,r,n,i){return this.linker.buildReference(r,n,i.cstNodes.get(e.$refNode),e.$refText)}hydrateCstNode(e,r,n=0){let i=r.cstNodes.get(e);if(typeof e.grammarSource=="number"&&(i.grammarSource=this.getGrammarElement(e.grammarSource)),i.astNode=r.astNodes.get(e.astNode),$r(i))for(let o of e.content){let s=this.hydrateCstNode(o,r,n++);i.content.push(s)}return i}hydrateCstLeafNode(e){let r=this.getTokenType(e.tokenType),n=e.offset,i=e.length,o=e.startLine,s=e.startColumn,a=e.endLine,c=e.endColumn,l=e.hidden;return new Co(n,i,{start:{line:o,character:s},end:{line:a,character:c}},r,l)}getTokenType(e){return this.lexer.definition[e]}getGrammarElementId(e){if(e)return this.grammarElementIdMap.size===0&&this.createGrammarElementIdMap(),this.grammarElementIdMap.get(e)}getGrammarElement(e){return this.grammarElementIdMap.size===0&&this.createGrammarElementIdMap(),this.grammarElementIdMap.getKey(e)}createGrammarElementIdMap(){let e=0;for(let r of zt(this.grammar))Oc(r)&&this.grammarElementIdMap.set(r,e++)}};function cu(t){return{documentation:{CommentProvider:e=>new iu(e),DocumentationProvider:e=>new nu(e)},parser:{AsyncParser:e=>new ou(e),GrammarConfig:e=>lg(e),LangiumParser:e=>ix(e),CompletionParser:e=>nx(e),ValueConverter:()=>new $o,TokenBuilder:()=>new Do,Lexer:e=>new jo(e),ParserErrorMessageProvider:()=>new ca,LexerErrorMessageProvider:()=>new eu},workspace:{AstNodeLocator:()=>new Bl,AstNodeDescriptionProvider:e=>new Fl(e),ReferenceDescriptionProvider:e=>new Ul(e)},references:{Linker:e=>new Sl(e),NameProvider:()=>new Il,ScopeProvider:e=>new Ol(e),ScopeComputation:e=>new Nl(e),References:e=>new kl(e)},serializer:{Hydrator:e=>new au(e),JsonSerializer:e=>new Ll(e)},validation:{DocumentValidator:e=>new Ml(e),ValidationRegistry:e=>new $l(e)},shared:()=>t.shared}}function lu(t){return{ServiceRegistry:e=>new Dl(e),workspace:{LangiumDocuments:e=>new Al(e),LangiumDocumentFactory:e=>new wl(e),DocumentBuilder:e=>new Zl(e),IndexManager:e=>new Jl(e),WorkspaceManager:e=>new Ql(e),FileSystemProvider:e=>t.fileSystemProvider(e),WorkspaceLock:()=>new su,ConfigurationProvider:e=>new Gl(e)},profilers:{}}}var ZT;(function(t){t.merge=(e,r)=>uu(uu({},e),r)})(ZT||(ZT={}));function zo(t,e,r,n,i,o,s,a,c){let l=[t,e,r,n,i,o,s,a,c].reduce(uu,{});return YI(l)}var WI=Symbol("isProxy");function VI(t){if(t&&t[WI])for(let e of Object.values(t))VI(e);return t}function YI(t,e){let r=new Proxy({},{deleteProperty:()=>!1,set:()=>{throw new Error("Cannot set property on injected service container")},get:(n,i)=>i===WI?!0:qI(n,i,t,e||r),getOwnPropertyDescriptor:(n,i)=>(qI(n,i,t,e||r),Object.getOwnPropertyDescriptor(n,i)),has:(n,i)=>i in t,ownKeys:()=>[...Object.getOwnPropertyNames(t)]});return r}var zI=Symbol();function qI(t,e,r,n){if(e in t){if(t[e]instanceof Error)throw new Error("Construction failure. Please make sure that your dependencies are constructable. Cause: "+t[e]);if(t[e]===zI)throw new Error('Cycle detected. Please make "'+String(e)+'" lazy. Visit https://langium.org/docs/reference/configuration-services/#resolving-cyclic-dependencies');return t[e]}else if(e in r){let i=r[e];t[e]=zI;try{t[e]=typeof i=="function"?i(n):YI(i,n)}catch(o){throw t[e]=o instanceof Error?o:void 0,o}return t[e]}else return}function uu(t,e){if(e){for(let[r,n]of Object.entries(e))if(n!=null)if(typeof n=="object"){let i=t[r];typeof i=="object"&&i!==null?t[r]=uu(i,n):t[r]=uu({},n)}else t[r]=n}return t}var JT={indentTokenName:"INDENT",dedentTokenName:"DEDENT",whitespaceTokenName:"WS",ignoreIndentationDelimiters:[]},qo;(function(t){t.REGULAR="indentation-sensitive",t.IGNORE_INDENTATION="ignore-indentation"})(qo||(qo={}));var Ma=class extends Do{constructor(e=JT){super(),this.indentationStack=[0],this.whitespaceRegExp=/[ \t]+/y,this.options={...JT,...e},this.indentTokenType=gi({name:this.options.indentTokenName,pattern:this.indentMatcher.bind(this),line_breaks:!1}),this.dedentTokenType=gi({name:this.options.dedentTokenName,pattern:this.dedentMatcher.bind(this),line_breaks:!1})}buildTokens(e,r){let n=super.buildTokens(e,r);if(!jp(n))throw new Error("Invalid tokens built by default builder");let{indentTokenName:i,dedentTokenName:o,whitespaceTokenName:s,ignoreIndentationDelimiters:a}=this.options,c,l,u,f=[];for(let d of n){for(let[p,m]of a)d.name===p?d.PUSH_MODE=qo.IGNORE_INDENTATION:d.name===m&&(d.POP_MODE=!0);d.name===o?c=d:d.name===i?l=d:d.name===s?u=d:f.push(d)}if(!c||!l||!u)throw new Error("Some indentation/whitespace tokens not found!");return a.length>0?{modes:{[qo.REGULAR]:[c,l,...f,u],[qo.IGNORE_INDENTATION]:[...f,u]},defaultMode:qo.REGULAR}:[c,l,u,...f]}flushLexingReport(e){return{...super.flushLexingReport(e),remainingDedents:this.flushRemainingDedents(e)}}isStartOfLine(e,r){return r===0||`\r
|
|
161
|
+
`.includes(e[r-1])}matchWhitespace(e,r,n,i){this.whitespaceRegExp.lastIndex=r;let o=this.whitespaceRegExp.exec(e);return{currIndentLevel:o?.[0].length??0,prevIndentLevel:this.indentationStack.at(-1),match:o}}createIndentationTokenInstance(e,r,n,i){let o=this.getLineNumber(r,i);return Bn(e,n,i,i+n.length,o,o,1,n.length)}getLineNumber(e,r){return e.substring(0,r).split(/\r\n|\r|\n/).length}indentMatcher(e,r,n,i){if(!this.isStartOfLine(e,r))return null;let{currIndentLevel:o,prevIndentLevel:s,match:a}=this.matchWhitespace(e,r,n,i);return o<=s?null:(this.indentationStack.push(o),a)}dedentMatcher(e,r,n,i){if(!this.isStartOfLine(e,r))return null;let{currIndentLevel:o,prevIndentLevel:s,match:a}=this.matchWhitespace(e,r,n,i);if(o>=s)return null;let c=this.indentationStack.lastIndexOf(o);if(c===-1)return this.diagnostics.push({severity:"error",message:`Invalid dedent level ${o} at offset: ${r}. Current indentation stack: ${this.indentationStack}`,offset:r,length:a?.[0]?.length??0,line:this.getLineNumber(e,r),column:1}),null;let l=this.indentationStack.length-c-1,u=e.substring(0,r).match(/[\r\n]+$/)?.[0].length??1;for(let f=0;f<l;f++){let d=this.createIndentationTokenInstance(this.dedentTokenType,e,"",r-(u-1));n.push(d),this.indentationStack.pop()}return null}buildTerminalToken(e){let r=super.buildTerminalToken(e),{indentTokenName:n,dedentTokenName:i,whitespaceTokenName:o}=this.options;return r.name===n?this.indentTokenType:r.name===i?this.dedentTokenType:r.name===o?gi({name:o,pattern:this.whitespaceRegExp,group:ct.SKIPPED}):r}flushRemainingDedents(e){let r=[];for(;this.indentationStack.length>1;)r.push(this.createIndentationTokenInstance(this.dedentTokenType,e,"",e.length)),this.indentationStack.pop();return this.indentationStack=[0],r}},fu=class extends jo{constructor(e){if(super(e),e.parser.TokenBuilder instanceof Ma)this.indentationTokenBuilder=e.parser.TokenBuilder;else throw new Error("IndentationAwareLexer requires an accompanying IndentationAwareTokenBuilder")}tokenize(e,r=Hp){let n=super.tokenize(e),i=n.report;r?.mode==="full"&&n.tokens.push(...i.remainingDedents),i.remainingDedents=[];let{indentTokenType:o,dedentTokenType:s}=this.indentationTokenBuilder,a=o.tokenTypeIdx,c=s.tokenTypeIdx,l=[],u=n.tokens.length-1;for(let f=0;f<u;f++){let d=n.tokens[f],p=n.tokens[f+1];if(d.tokenTypeIdx===a&&p.tokenTypeIdx===c){f++;continue}l.push(d)}return u>=0&&l.push(n.tokens[u]),n.tokens=l,n}};var Ce={};sn(Ce,{AstUtils:()=>lf,BiMap:()=>Fo,Cancellation:()=>oe,ContextCache:()=>Uo,CstUtils:()=>kf,DONE_RESULT:()=>Mt,Deferred:()=>Jt,Disposable:()=>Bi,DisposableCache:()=>ma,DocumentCache:()=>op,EMPTY_STREAM:()=>oi,ErrorWithLocation:()=>go,GrammarUtils:()=>ws,MultiMap:()=>Bt,OperationCancelled:()=>wr,Reduction:()=>us,RegExpUtils:()=>Cf,SimpleCache:()=>Cl,StreamImpl:()=>fr,TreeStreamImpl:()=>an,URI:()=>ht,UriTrie:()=>pa,UriUtils:()=>vt,WorkspaceCache:()=>ga,assertCondition:()=>l0,assertUnreachable:()=>un,delayNextTick:()=>px,interruptAndCheck:()=>pt,isOperationCancelled:()=>yn,loadGrammarFromJson:()=>Vp,setInterruptionPeriod:()=>nw,startCancelableOperation:()=>np,stream:()=>xe});Se(Ce,it);var Wp=class{stat(e){throw new Error("No file system is available.")}statSync(e){throw new Error("No file system is available.")}async exists(){return!1}existsSync(){return!1}readBinary(){throw new Error("No file system is available.")}readBinarySync(){throw new Error("No file system is available.")}readFile(){throw new Error("No file system is available.")}readFileSync(){throw new Error("No file system is available.")}async readDirectory(){return[]}readDirectorySync(){return[]}},du={fileSystemProvider:()=>new Wp};var vU={Grammar:()=>{},LanguageMetaData:()=>({caseInsensitive:!1,fileExtensions:[".langium"],languageId:"langium"})},RU={AstReflection:()=>new _s};function bU(){let t=zo(lu(du),RU),e=zo(cu({shared:t}),vU);return t.ServiceRegistry.register(e),e}function Vp(t){let e=bU(),r=e.serializer.JsonSerializer.deserialize(t);return e.shared.workspace.LangiumDocumentFactory.fromModel(r,ht.parse(`memory:/${r.name??"grammar"}.langium`)),r}Se(ut,Ce);var QT=class{constructor(e){this.activeCategories=new Set,this.allCategories=new Set(["validating","parsing","linking"]),this.activeCategories=e??new Set(this.allCategories),this.records=new Bt}isActive(e){return this.activeCategories.has(e)}start(...e){e?e.forEach(r=>this.activeCategories.add(r)):this.activeCategories=new Set(this.allCategories)}stop(...e){e?e.forEach(r=>this.activeCategories.delete(r)):this.activeCategories.clear()}createTask(e,r){if(!this.isActive(e))throw new Error(`Category "${e}" is not active.`);return console.log(`Creating profiling task for '${e}.${r}'.`),new Yp(n=>this.records.add(e,this.dumpRecord(e,n)),r)}dumpRecord(e,r){console.info(`Task ${e}.${r.identifier} executed in ${r.duration.toFixed(2)}ms and ended at ${r.date.toISOString()}`);let n=[];for(let s of r.entries.keys()){let a=r.entries.get(s),c=a.reduce((l,u)=>l+u);n.push({name:`${r.identifier}.${s}`,count:a.length,duration:c})}let i=r.duration-n.map(s=>s.duration).reduce((s,a)=>s+a,0);n.push({name:r.identifier,count:1,duration:i}),n.sort((s,a)=>a.duration-s.duration);function o(s){return Math.round(100*s)/100}return console.table(n.map(s=>({Element:s.name,Count:s.count,"Self %":o(100*s.duration/r.duration),"Time (ms)":o(s.duration)}))),r}getRecords(...e){return e.length===0?this.records.values():this.records.entries().filter(r=>e.some(n=>n===r[0])).flatMap(r=>r[1])}},Yp=class{constructor(e,r){this.stack=[],this.entries=new Bt,this.addRecord=e,this.identifier=r}start(){if(this.startTime!==void 0)throw new Error(`Task "${this.identifier}" is already started.`);this.startTime=performance.now()}stop(){if(this.startTime===void 0)throw new Error(`Task "${this.identifier}" was not started.`);if(this.stack.length!==0)throw new Error(`Task "${this.identifier}" cannot be stopped before sub-task(s): ${this.stack.map(r=>r.id).join(", ")}.`);let e={identifier:this.identifier,date:new Date,duration:performance.now()-this.startTime,entries:this.entries};this.addRecord(e),this.startTime=void 0,this.entries.clear()}startSubTask(e){this.stack.push({id:e,start:performance.now(),content:0})}stopSubTask(e){let r=this.stack.pop();if(!r)throw new Error(`Task "${this.identifier}.${e}" was not started.`);if(r.id!==e)throw new Error(`Sub-Task "${r.id}" is not already stopped.`);let n=performance.now()-r.start;this.stack.at(-1)!==void 0&&(this.stack[this.stack.length-1].content+=n);let i=n-r.content;this.entries.add(e,i)}};var Ua={$type:"AnchorDeclaration",description:"description",name:"name",properties:"properties",title:"title"};function th(t){return kt.isInstance(t,Ua.$type)}var e_={$type:"BlockProperty",key:"key",value:"value"};var o_={$type:"CalendarBlock",properties:"properties"};function rh(t){return kt.isInstance(t,o_.$type)}var Fa={$type:"ConfigEntry"};var eh={$type:"DefaultDeclaration",entityType:"entityType",properties:"properties"};function Gi(t){return kt.isInstance(t,eh.$type)}var s_={$type:"DescriptionDirective",text:"text"};function l_(t){return kt.isInstance(t,s_.$type)}var Kp={$type:"EntityProperty",key:"key",value:"value",values:"values"};var Ba={$type:"FootnoteDeclaration",description:"description",name:"name",properties:"properties",title:"title"};function nh(t){return kt.isInstance(t,Ba.$type)}var Ga={$type:"GroupBlock",content:"content",name:"name",properties:"properties",title:"title"};function Wr(t){return kt.isInstance(t,Ga.$type)}var pu={$type:"GroupContent"};var t_={$type:"IncludeDeclaration",options:"options",path:"path"};var r_={$type:"IncludeOption",key:"key",value:"value"};var Xa={$type:"ItemDeclaration",description:"description",name:"name",properties:"properties",title:"title"};function yr(t){return kt.isInstance(t,Xa.$type)}var Ha={$type:"LabelDeclaration",description:"description",name:"name",properties:"properties",title:"title"};function ih(t){return kt.isInstance(t,Ha.$type)}var ja={$type:"MilestoneDeclaration",description:"description",name:"name",properties:"properties",title:"title"};function oh(t){return kt.isInstance(t,ja.$type)}var n_={$type:"NowlineDirective",properties:"properties",version:"version"};var Wo={$type:"NowlineFile",configEntries:"configEntries",directive:"directive",hasConfig:"hasConfig",includes:"includes",roadmapDecl:"roadmapDecl",roadmapEntries:"roadmapEntries"};var za={$type:"ParallelBlock",content:"content",name:"name",properties:"properties",title:"title"};function Vr(t){return kt.isInstance(t,za.$type)}var Zp={$type:"ParallelContent"};var qa={$type:"PersonDeclaration",description:"description",name:"name",properties:"properties",title:"title"};function Xi(t){return kt.isInstance(t,qa.$type)}var a_={$type:"PersonMemberRef",ref:"ref"};function KI(t){return kt.isInstance(t,a_.$type)}var Jp={$type:"RoadmapDeclaration",name:"name",properties:"properties",title:"title"};var vn={$type:"RoadmapEntry"};var c_={$type:"ScaleBlock",properties:"properties"};function ZI(t){return kt.isInstance(t,c_.$type)}var Wa={$type:"SizeDeclaration",description:"description",name:"name",properties:"properties",title:"title"};function Ja(t){return kt.isInstance(t,Wa.$type)}var Va={$type:"StatusDeclaration",description:"description",name:"name",properties:"properties",title:"title"};function yu(t){return kt.isInstance(t,Va.$type)}var mu={$type:"StyleDeclaration",name:"name",properties:"properties",title:"title"};function xu(t){return kt.isInstance(t,mu.$type)}var i_={$type:"StyleProperty",key:"key",value:"value"};var hu={$type:"SwimlaneContent"};var Ya={$type:"SwimlaneDeclaration",content:"content",name:"name",properties:"properties",title:"title"};function Yr(t){return kt.isInstance(t,Ya.$type)}var Ka={$type:"SymbolDeclaration",description:"description",name:"name",properties:"properties",title:"title"};function Tu(t){return kt.isInstance(t,Ka.$type)}var Qp={$type:"TeamContent"};var Za={$type:"TeamDeclaration",content:"content",name:"name",properties:"properties",title:"title"};function Kr(t){return kt.isInstance(t,Za.$type)}var gu=class extends eo{constructor(){super(...arguments);de(this,"types",{AnchorDeclaration:{name:Ua.$type,properties:{description:{name:Ua.description},name:{name:Ua.name},properties:{name:Ua.properties,defaultValue:[]},title:{name:Ua.title}},superTypes:[vn.$type]},BlockProperty:{name:e_.$type,properties:{key:{name:e_.key},value:{name:e_.value}},superTypes:[]},CalendarBlock:{name:o_.$type,properties:{properties:{name:o_.properties,defaultValue:[]}},superTypes:[Fa.$type]},ConfigEntry:{name:Fa.$type,properties:{},superTypes:[]},DefaultDeclaration:{name:eh.$type,properties:{entityType:{name:eh.entityType},properties:{name:eh.properties,defaultValue:[]}},superTypes:[Fa.$type]},DescriptionDirective:{name:s_.$type,properties:{text:{name:s_.text}},superTypes:[pu.$type,Zp.$type,hu.$type,Qp.$type]},EntityProperty:{name:Kp.$type,properties:{key:{name:Kp.key},value:{name:Kp.value},values:{name:Kp.values,defaultValue:[]}},superTypes:[]},FootnoteDeclaration:{name:Ba.$type,properties:{description:{name:Ba.description},name:{name:Ba.name},properties:{name:Ba.properties,defaultValue:[]},title:{name:Ba.title}},superTypes:[vn.$type]},GroupBlock:{name:Ga.$type,properties:{content:{name:Ga.content,defaultValue:[]},name:{name:Ga.name},properties:{name:Ga.properties,defaultValue:[]},title:{name:Ga.title}},superTypes:[pu.$type,Zp.$type,hu.$type]},GroupContent:{name:pu.$type,properties:{},superTypes:[]},IncludeDeclaration:{name:t_.$type,properties:{options:{name:t_.options,defaultValue:[]},path:{name:t_.path}},superTypes:[]},IncludeOption:{name:r_.$type,properties:{key:{name:r_.key},value:{name:r_.value}},superTypes:[]},ItemDeclaration:{name:Xa.$type,properties:{description:{name:Xa.description},name:{name:Xa.name},properties:{name:Xa.properties,defaultValue:[]},title:{name:Xa.title}},superTypes:[pu.$type,Zp.$type,hu.$type]},LabelDeclaration:{name:Ha.$type,properties:{description:{name:Ha.description},name:{name:Ha.name},properties:{name:Ha.properties,defaultValue:[]},title:{name:Ha.title}},superTypes:[vn.$type]},MilestoneDeclaration:{name:ja.$type,properties:{description:{name:ja.description},name:{name:ja.name},properties:{name:ja.properties,defaultValue:[]},title:{name:ja.title}},superTypes:[vn.$type]},NowlineDirective:{name:n_.$type,properties:{properties:{name:n_.properties,defaultValue:[]},version:{name:n_.version}},superTypes:[]},NowlineFile:{name:Wo.$type,properties:{configEntries:{name:Wo.configEntries,defaultValue:[]},directive:{name:Wo.directive},hasConfig:{name:Wo.hasConfig,defaultValue:!1},includes:{name:Wo.includes,defaultValue:[]},roadmapDecl:{name:Wo.roadmapDecl},roadmapEntries:{name:Wo.roadmapEntries,defaultValue:[]}},superTypes:[]},ParallelBlock:{name:za.$type,properties:{content:{name:za.content,defaultValue:[]},name:{name:za.name},properties:{name:za.properties,defaultValue:[]},title:{name:za.title}},superTypes:[pu.$type,hu.$type]},ParallelContent:{name:Zp.$type,properties:{},superTypes:[]},PersonDeclaration:{name:qa.$type,properties:{description:{name:qa.description},name:{name:qa.name},properties:{name:qa.properties,defaultValue:[]},title:{name:qa.title}},superTypes:[vn.$type]},PersonMemberRef:{name:a_.$type,properties:{ref:{name:a_.ref}},superTypes:[Qp.$type]},RoadmapDeclaration:{name:Jp.$type,properties:{name:{name:Jp.name},properties:{name:Jp.properties,defaultValue:[]},title:{name:Jp.title}},superTypes:[]},RoadmapEntry:{name:vn.$type,properties:{},superTypes:[]},ScaleBlock:{name:c_.$type,properties:{properties:{name:c_.properties,defaultValue:[]}},superTypes:[Fa.$type]},SizeDeclaration:{name:Wa.$type,properties:{description:{name:Wa.description},name:{name:Wa.name},properties:{name:Wa.properties,defaultValue:[]},title:{name:Wa.title}},superTypes:[vn.$type]},StatusDeclaration:{name:Va.$type,properties:{description:{name:Va.description},name:{name:Va.name},properties:{name:Va.properties,defaultValue:[]},title:{name:Va.title}},superTypes:[vn.$type]},StyleDeclaration:{name:mu.$type,properties:{name:{name:mu.name},properties:{name:mu.properties,defaultValue:[]},title:{name:mu.title}},superTypes:[Fa.$type]},StyleProperty:{name:i_.$type,properties:{key:{name:i_.key},value:{name:i_.value}},superTypes:[]},SwimlaneContent:{name:hu.$type,properties:{},superTypes:[]},SwimlaneDeclaration:{name:Ya.$type,properties:{content:{name:Ya.content,defaultValue:[]},name:{name:Ya.name},properties:{name:Ya.properties,defaultValue:[]},title:{name:Ya.title}},superTypes:[vn.$type]},SymbolDeclaration:{name:Ka.$type,properties:{description:{name:Ka.description},name:{name:Ka.name},properties:{name:Ka.properties,defaultValue:[]},title:{name:Ka.title}},superTypes:[Fa.$type]},TeamContent:{name:Qp.$type,properties:{},superTypes:[]},TeamDeclaration:{name:Za.$type,properties:{content:{name:Za.content,defaultValue:[]},name:{name:Za.name},properties:{name:Za.properties,defaultValue:[]},title:{name:Za.title}},superTypes:[vn.$type,Qp.$type]}})}},kt=new gu;var JI,QI=()=>JI??(JI=Vp(`{
|
|
162
162
|
"$type": "Grammar",
|
|
163
163
|
"isDeclared": true,
|
|
164
164
|
"name": "Nowline",
|
|
@@ -2659,6 +2659,6 @@ ${r}`),this.inline?`{${i}}`:i}};function CU(t,e,r){if(t==="linkplain"||t==="link
|
|
|
2659
2659
|
"imports": [],
|
|
2660
2660
|
"interfaces": [],
|
|
2661
2661
|
"types": []
|
|
2662
|
-
}`));var MU={languageId:"nowline",fileExtensions:[".nowline"],caseInsensitive:!1,mode:"development"},Pv={AstReflection:()=>new cu},Cv={Grammar:()=>Nv(),LanguageMetaData:()=>MU,parser:{}};var Ov={"NL.E0001":()=>"Config section must appear before roadmap.","NL.E0002":()=>"Include declarations must appear before the config section.","NL.E0003":()=>"Include declarations must appear before the roadmap section.","NL.E0004":()=>"At least one swimlane is required.","NL.E0005":t=>`Line ${t.line}: mixed tabs and spaces in indentation. Use either tabs or spaces consistently.`,"NL.E0100":t=>`Invalid version format "${t.version}". Expected format: v1, v2, etc.`,"NL.E0101":t=>`This file requires Nowline ${t.version}, but the parser only supports up to ${t.supported}.`,"NL.E0102":t=>`Unknown directive property "${t.key}". Allowed: ${t.allowed}.`,"NL.E0103":t=>`Duplicate directive property "${t.key}".`,"NL.E0104":t=>`Invalid locale "${t.value}". Use a BCP-47 tag like "en-US", "fr", or "fr-CA".`,"NL.E0200":t=>`Invalid include mode "${t.value}". Must be merge, ignore, or isolate.`,"NL.E0201":t=>`Duplicate "${t.key}" option on include.`,"NL.E0300":t=>`Duplicate identifier "${t.name}". First declared at ${t.location}.`,"NL.E0301":t=>`${t.type} must have an identifier, a title, or both.`,"NL.E0400":t=>`Invalid duration "${t.value}". Use a raw duration literal like 0.5d, 2w, 1m, 2q. Use "size:NAME" to reference a declared size.`,"NL.E0401":t=>`Invalid size "${t.value}". Use the id of a declared size (e.g. xs, m, lg).`,"NL.E0402":t=>`Invalid effort "${t.value}". Use a raw duration literal like 0.5d, 2w, 1m, 2q.`,"NL.E0403":t=>`Invalid remaining value "${t.value}". Use a percentage like 30% or a duration literal like 1w, 0.5d.`,"NL.E0404":t=>`Remaining must be between 0% and 100%, got ${t.value}.`,"NL.E0405":t=>`Invalid ${t.key} "${t.value}". Use ISO 8601 format: YYYY-MM-DD.`,"NL.E0406":t=>`Invalid scale "${t.value}". Use a raw duration literal like 1w, 2w, 1q (no name lookup).`,"NL.E0407":t=>`Invalid calendar "${t.value}". Must be business, full, or custom.`,"NL.E0408":t=>`Property "${t.key}" requires at least one reference.`,"NL.E0410":t=>`"${t.key}:" accepts at most one inline date per direction; collapse the multiple dates to a single binding date or use a declared anchor.`,"NL.E0411":t=>`Inline date in "${t.key}:" is not allowed on ${t.type}. Allowed only on item, parallel, and group; for a milestone use "date:" instead.`,"NL.E0412":t=>`Inline date "${t.date}" in "${t.key}:" requires the roadmap to declare "start:". Add start:YYYY-MM-DD to the roadmap.`,"NL.E0413":t=>`Inline date "${t.date}" in "${t.key}:" is before roadmap start ${t.start}.`,"NL.E0500":t=>`Anchor "${t.name}" requires a "date:" property.`,"NL.E0501":t=>`Anchor "${t.name}" has a date but the roadmap is missing "start:". Add start:YYYY-MM-DD to the roadmap.`,"NL.E0502":t=>`Anchor "${t.name}" date ${t.date} is before roadmap start ${t.start}.`,"NL.E0503":t=>`Milestone "${t.name}" requires at least one of "date:" or "after:".`,"NL.E0504":t=>`Milestone "${t.name}" date ${t.date} is before roadmap start ${t.start}.`,"NL.E0505":()=>'Footnote requires an "on:" property referencing one or more entities.',"NL.E0600":t=>`Item "${t.name}" requires a "size:" or "duration:" property.`,"NL.W0700":t=>`Unknown property "${t.key}" on ${t.entity}. The renderer ignores it.${t.suggested?` Did you mean "${t.suggested}"?`:""}`};var Lv={"NL.E0001":()=>"La section config doit pr\xE9c\xE9der la section roadmap.","NL.E0002":()=>"Les d\xE9clarations include doivent pr\xE9c\xE9der la section config.","NL.E0003":()=>"Les d\xE9clarations include doivent pr\xE9c\xE9der la section roadmap.","NL.E0004":()=>"Au moins une swimlane est requise.","NL.E0005":t=>`Ligne ${t.line}\xA0: tabulations et espaces m\xE9lang\xE9s dans l'indentation. Utilisez l'un ou l'autre, mais pas les deux.`,"NL.E0100":t=>`Format de version invalide \xAB\xA0${t.version}\xA0\xBB. Format attendu\xA0: v1, v2, etc.`,"NL.E0101":t=>`Ce fichier requiert Nowline ${t.version}, mais l'analyseur ne prend en charge que jusqu'\xE0 ${t.supported}.`,"NL.E0102":t=>`Propri\xE9t\xE9 de directive inconnue \xAB\xA0${t.key}\xA0\xBB. Valeurs admises\xA0: ${t.allowed}.`,"NL.E0103":t=>`Propri\xE9t\xE9 de directive \xAB\xA0${t.key}\xA0\xBB en double.`,"NL.E0104":t=>`Locale invalide \xAB\xA0${t.value}\xA0\xBB. Utilisez une \xE9tiquette BCP-47 telle que \xAB\xA0en-US\xA0\xBB, \xAB\xA0fr\xA0\xBB ou \xAB\xA0fr-CA\xA0\xBB.`,"NL.E0200":t=>`Mode d'include invalide \xAB\xA0${t.value}\xA0\xBB. Doit \xEAtre merge, ignore ou isolate.`,"NL.E0201":t=>`Option \xAB\xA0${t.key}\xA0\xBB en double sur include.`,"NL.E0300":t=>`Identifiant en double \xAB\xA0${t.name}\xA0\xBB. Premi\xE8re d\xE9claration \xE0 ${t.location}.`,"NL.E0301":t=>`${t.type} doit comporter un identifiant, un titre, ou les deux.`,"NL.E0400":t=>`Dur\xE9e invalide \xAB\xA0${t.value}\xA0\xBB. Utilisez un litt\xE9ral de dur\xE9e brut comme 0.5d, 2w, 1m, 2q. Utilisez \xAB\xA0size:NOM\xA0\xBB pour r\xE9f\xE9rencer une taille d\xE9clar\xE9e.`,"NL.E0401":t=>`Taille invalide \xAB\xA0${t.value}\xA0\xBB. Utilisez l'identifiant d'une taille d\xE9clar\xE9e (p.\xA0ex. xs, m, lg).`,"NL.E0402":t=>`Effort invalide \xAB\xA0${t.value}\xA0\xBB. Utilisez un litt\xE9ral de dur\xE9e brut comme 0.5d, 2w, 1m, 2q.`,"NL.E0403":t=>`Valeur restante invalide \xAB\xA0${t.value}\xA0\xBB. Utilisez un pourcentage tel que 30% ou un litt\xE9ral de dur\xE9e comme 1w, 0.5d.`,"NL.E0404":t=>`La valeur restante doit \xEAtre comprise entre 0 % et 100 %, re\xE7u ${t.value}.`,"NL.E0405":t=>`${t.key} invalide \xAB\xA0${t.value}\xA0\xBB. Utilisez le format ISO 8601\xA0: AAAA-MM-JJ.`,"NL.E0406":t=>`\xC9chelle invalide \xAB\xA0${t.value}\xA0\xBB. Utilisez un litt\xE9ral de dur\xE9e brut comme 1w, 2w, 1q (pas de recherche par nom).`,"NL.E0407":t=>`Calendrier invalide \xAB\xA0${t.value}\xA0\xBB. Doit \xEAtre business, full ou custom.`,"NL.E0408":t=>`La propri\xE9t\xE9 \xAB\xA0${t.key}\xA0\xBB exige au moins une r\xE9f\xE9rence.`,"NL.E0410":t=>`\xAB\xA0${t.key}:\xA0\xBB n'accepte qu'une seule date inline par direction\xA0; regroupez les dates en une seule date contraignante ou utilisez une ancre d\xE9clar\xE9e.`,"NL.E0411":t=>`Une date inline dans \xAB\xA0${t.key}:\xA0\xBB n'est pas autoris\xE9e sur ${t.type}. Autoris\xE9e seulement sur item, parallel et group\xA0; pour un milestone utilisez \xAB\xA0date:\xA0\xBB \xE0 la place.`,"NL.E0412":t=>`La date inline \xAB\xA0${t.date}\xA0\xBB dans \xAB\xA0${t.key}:\xA0\xBB exige que la roadmap d\xE9clare \xAB\xA0start:\xA0\xBB. Ajoutez start:AAAA-MM-JJ \xE0 la roadmap.`,"NL.E0413":t=>`La date inline \xAB\xA0${t.date}\xA0\xBB dans \xAB\xA0${t.key}:\xA0\xBB pr\xE9c\xE8de le d\xE9but de la roadmap (${t.start}).`,"NL.E0500":t=>`L'ancre \xAB\xA0${t.name}\xA0\xBB exige une propri\xE9t\xE9 \xAB\xA0date:\xA0\xBB.`,"NL.E0501":t=>`L'ancre \xAB\xA0${t.name}\xA0\xBB a une date, mais \xAB\xA0start:\xA0\xBB manque sur la roadmap. Ajoutez start:AAAA-MM-JJ \xE0 la roadmap.`,"NL.E0502":t=>`La date ${t.date} de l'ancre \xAB\xA0${t.name}\xA0\xBB pr\xE9c\xE8de le d\xE9but de la roadmap (${t.start}).`,"NL.E0503":t=>`Le jalon \xAB\xA0${t.name}\xA0\xBB exige au moins l'une des propri\xE9t\xE9s \xAB\xA0date:\xA0\xBB ou \xAB\xA0after:\xA0\xBB.`,"NL.E0504":t=>`La date ${t.date} du jalon \xAB\xA0${t.name}\xA0\xBB pr\xE9c\xE8de le d\xE9but de la roadmap (${t.start}).`,"NL.E0505":()=>"Une note de bas de page exige une propri\xE9t\xE9 \xAB\xA0on:\xA0\xBB r\xE9f\xE9ren\xE7ant au moins une entit\xE9.","NL.E0600":t=>`L'\xE9l\xE9ment \xAB\xA0${t.name}\xA0\xBB exige une propri\xE9t\xE9 \xAB\xA0size:\xA0\xBB ou \xAB\xA0duration:\xA0\xBB.`,"NL.W0700":t=>`Propri\xE9t\xE9 inconnue \xAB\xA0${t.key}\xA0\xBB sur ${t.entity}. Le moteur de rendu l'ignore.${t.suggested?` Vouliez-vous dire \xAB\xA0${t.suggested}\xA0\xBB\xA0?`:""}`};var Dv={};var $v={};var FU=new Map([["en-US",Ov],["fr",Lv],["fr-CA",Dv],["fr-FR",$v]]);function Fv(t,e,...r){for(let n of UU(t)){let o=FU.get(n)?.[e];if(o)return o(...r)}return e}var Mv="en-US";function UU(t){let e=[],r=BU(t);for(;r.length>0;){e.includes(r)||e.push(r);let n=r.lastIndexOf("-");if(n<=0)break;r=r.slice(0,n)}return e.includes(Mv)||e.push(Mv),e}function BU(t){return t.split("-").map((r,n)=>n===0?r.toLowerCase():/^[a-zA-Z]{2}$/.test(r)?r.toUpperCase():r).join("-")}var XU=/[\\/]/;function Xv(t){for(let e=t.length-1;e>=0;e--){let r=t.charCodeAt(e);if(r===47||r===92)return e}return-1}function Uv(...t){for(let e of t)if(e){if(e.includes("\\")&&!e.includes("/"))return"\\";if(e.includes("/"))return"/"}return"/"}function GU(t){return t?t[0]==="/"||t[0]==="\\"?!0:t.length>=3&&/^[A-Za-z]:[\\/]/.test(t):!1}function Gv(t){let e=Xv(t);return e<0?".":e===0?t[0]:e===2&&/^[A-Za-z]:[\\/]/.test(t)?t.slice(0,3):t.slice(0,e)}function zp(t){let e=Xv(t);return e<0?t:t.slice(e+1)}function VT(t,e){if(GU(e))return Bv(e,Uv(e));let r=Uv(t,e);return Bv(`${t}${r}${e}`,r)}function Bv(t,e){let r="",n=t,i=/^([A-Za-z]:)([\\/])?/.exec(n);i?(r=i[1]+(i[2]?e:""),n=n.slice(i[0].length)):(n[0]==="/"||n[0]==="\\")&&(r=e,n=n.replace(/^[\\/]+/,""));let o=[];for(let s of n.split(XU))if(!(s===""||s===".")){if(s===".."){o.length>0&&o[o.length-1]!==".."?o.pop():r||o.push("..");continue}o.push(s)}return r+o.join(e)}var jU=/^\d{4}-\d{2}-\d{2}$/;function Wv(t){let e=t?.properties.find(r=>r.key==="start");if(e?.value&&jU.test(e.value)&&!Number.isNaN(new Date(e.value).getTime()))return e.value}function WU(t,e,r){return e&&r?`Included "${t}" declares start:${r}, which doesn't match this file's start:${e}. Both files must declare the same start date, or neither should.`:e?`Included "${t}" has no start:, but this file declares start:${e}. Both files must declare the same start date, or neither should.`:`Included "${t}" declares start:${r}, but this file has no start:. Both files must declare the same start date, or neither should.`}function qv(){return{styles:new Map,defaults:new Map,symbols:new Map}}function zv(){return{persons:new Map,teams:new Map,anchors:new Map,labels:new Map,sizes:new Map,statuses:new Map,swimlanes:new Map,milestones:new Map,footnotes:new Map,isolatedRegions:[]}}async function YT(t,e,r){let n=r.readFile??(async c=>{let{nodeReadFile:l}=await Promise.resolve().then(()=>(jv(),Hv));return l(c)}),i={services:r.services,diagnostics:[],resolving:[],processed:new Map,readFile:n},o=VT("",e),{config:s,content:a}=await Yv(t,o,i);return{config:s,content:a,diagnostics:i.diagnostics,processedFiles:new Set(i.processed.keys())}}async function Yv(t,e,r){if(r.processed.has(e))return r.processed.get(e);if(r.resolving.includes(e)){r.diagnostics.push({severity:"error",message:`Circular include detected: ${[...r.resolving,e].join(" \u2192 ")}`,sourcePath:e});let a={config:qv(),content:zv()};return r.processed.set(e,a),a}r.resolving.push(e);let n=qv(),i=zv();YU(n,t),ZU(i,t);let o=new Set;for(let a of t.includes){let c=a.path,l=VT(Gv(e),c);if(o.has(l)){r.diagnostics.push({severity:"error",message:`Duplicate include "${c}" in ${zp(e)}.`,sourcePath:e,line:a.$cstNode?.range.start.line});continue}o.add(l);let u=Vv(a,"config")??"merge",f=Vv(a,"roadmap")??"merge",d;try{let y=await r.readFile(l);d=await qU(r.services,y,l)}catch(y){r.diagnostics.push({severity:"error",message:`Could not read include "${c}": ${y.message}`,sourcePath:e,line:a.$cstNode?.range.start.line});continue}let{config:p,content:m}=await Yv(d,l,r);if(zU(n,p,u,l,r.diagnostics),VU(i,m,p,f,l,c,r.diagnostics),f==="isolate"&&!m.roadmap&&r.diagnostics.push({severity:"error",message:`Cannot isolate "${c}": it has no roadmap declaration.`,sourcePath:e,line:a.$cstNode?.range.start.line}),f!=="ignore"&&d.roadmapDecl){let y=Wv(t.roadmapDecl),R=Wv(d.roadmapDecl);y!==R&&r.diagnostics.push({severity:"error",message:WU(c,y,R),sourcePath:e,line:a.$cstNode?.range.start.line})}}r.resolving.pop();let s={config:n,content:i};return r.processed.set(e,s),s}function Vv(t,e){let r=t.options.find(n=>n.key===e);if(r&&(r.value==="merge"||r.value==="ignore"||r.value==="isolate"))return r.value}async function qU(t,e,r){let n=mt.file(r),o=t.shared.workspace.LangiumDocumentFactory.fromString(e,n);return await t.shared.workspace.DocumentBuilder.build([o],{validation:!1}),o.parseResult.value}function zU(t,e,r,n,i){if(r==="ignore"||r==="isolate")return;let o=(s,a)=>i.push({severity:"warning",message:`${a} "${s}" from ${zp(n)} is shadowed by the parent's definition.`,sourcePath:n});Sr(t.styles,e.styles,s=>o(s,"Style")),Sr(t.defaults,e.defaults,s=>o(s,"Default")),Sr(t.symbols,e.symbols,s=>o(s,"Symbol")),e.scale&&!t.scale&&(t.scale=e.scale),e.calendar&&!t.calendar&&(t.calendar=e.calendar)}function VU(t,e,r,n,i,o,s){if(n==="ignore")return;if(n==="isolate"){e.roadmap&&t.isolatedRegions.push({sourcePath:o,config:r,content:e});return}let a=(c,l)=>s.push({severity:"warning",message:`${l} "${c}" from ${zp(i)} is shadowed by the parent's definition.`,sourcePath:i});Sr(t.persons,e.persons,c=>a(c,"Person")),Sr(t.teams,e.teams,c=>a(c,"Team")),Sr(t.anchors,e.anchors,c=>a(c,"Anchor")),Sr(t.labels,e.labels,c=>a(c,"Label")),Sr(t.sizes,e.sizes,c=>a(c,"Size")),Sr(t.statuses,e.statuses,c=>a(c,"Status")),Sr(t.swimlanes,e.swimlanes,c=>a(c,"Swimlane")),Sr(t.milestones,e.milestones,c=>a(c,"Milestone")),Sr(t.footnotes,e.footnotes,c=>a(c,"Footnote")),e.roadmap&&!t.roadmap&&(t.roadmap=e.roadmap)}function Sr(t,e,r){for(let[n,i]of e){if(t.has(n)){r(n);continue}t.set(n,i)}}function YU(t,e){for(let r of e.configEntries)KU(t,r)}function KU(t,e){vv(e)?t.scale||(t.scale=e):Hp(e)?t.calendar||(t.calendar=e):uu(e)?e.name&&!t.styles.has(e.name)&&t.styles.set(e.name,e):fu(e)?e.name&&!t.symbols.has(e.name)&&t.symbols.set(e.name,e):Oi(e)&&(t.defaults.has(e.entityType)||t.defaults.set(e.entityType,e))}function ZU(t,e){e.roadmapDecl&&!t.roadmap&&(t.roadmap=e.roadmapDecl);for(let r of e.roadmapEntries)JU(t,r)}function JU(t,e){qr(e)?e.name&&!t.swimlanes.has(e.name)&&t.swimlanes.set(e.name,e):Li(e)?e.name&&!t.persons.has(e.name)&&t.persons.set(e.name,e):zr(e)?e.name&&!t.teams.has(e.name)&&t.teams.set(e.name,e):Gp(e)?e.name&&!t.anchors.has(e.name)&&t.anchors.set(e.name,e):Wp(e)?e.name&&!t.labels.has(e.name)&&t.labels.set(e.name,e):Ha(e)?e.name&&!t.sizes.has(e.name)&&t.sizes.set(e.name,e):lu(e)?e.name&&!t.statuses.has(e.name)&&t.statuses.set(e.name,e):qp(e)?e.name&&!t.milestones.has(e.name)&&t.milestones.set(e.name,e):jp(e)&&e.name&&!t.footnotes.has(e.name)&&t.footnotes.set(e.name,e)}var Kv="v1",KT=new Set(["planned","in-progress","active","done","completed","at-risk","blocked"]),Vp=new Set(["bg","fg","text","border","icon","shadow","font","weight","italic","text-size","padding","spacing","header-height","corner-radius","bracket","header-position","capacity-icon","timeline-position","minor-grid"]),t_=new Set(["none","multiplier","person","people","points","time"]),Yp=new Set([...t_,"shield","warning","lock","calendar"]),sk="none",Kp={border:new Set(["solid","dashed","dotted"]),shadow:new Set(["none","subtle","soft","hard"]),font:new Set(["sans","serif","mono"]),weight:new Set(["thin","light","normal","bold"]),italic:new Set(["true","false"]),"text-size":new Set(["none","xs","sm","md","lg","xl"]),padding:new Set(["none","xs","sm","md","lg","xl"]),spacing:new Set(["none","xs","sm","md","lg","xl"]),"header-height":new Set(["none","xs","sm","md","lg","xl"]),"corner-radius":new Set(["none","xs","sm","md","lg","xl","full"]),bracket:new Set(["none","solid","dashed"]),"header-position":new Set(["beside","above"]),"timeline-position":new Set(["top","bottom","both"]),"minor-grid":new Set(["true","false"])},QU=new Set(["red","blue","yellow","green","orange","purple","violet","gray","grey","navy","white","none"]),eB=new Set(["business","full","custom"]),ZT=new Set(["days-per-week","days-per-month","days-per-quarter","days-per-year"]),Zv=new Set(["name","label-every","label"]),Jv=new Set(["item","label","swimlane","roadmap","milestone","footnote","anchor","parallel","group"]),tB={item:new Set(["size","duration","after","before","remaining","link","description","owner"]),milestone:new Set(["date","after","link","description"]),anchor:new Set(["date","link","description"]),footnote:new Set(["on","link","description"]),label:new Set(["link","description"]),swimlane:new Set(["capacity"]),roadmap:new Set,parallel:new Set,group:new Set},Qv=new Set(["labels","link","style","description"]),rB={RoadmapDeclaration:new Set(["author","start","length","scale","calendar","logo","logo-size"]),AnchorDeclaration:new Set(["date"]),SwimlaneDeclaration:new Set(["owner","capacity","utilization-warn-at","utilization-over-at","status","after","before"]),ItemDeclaration:new Set(["size","duration","status","owner","after","before","remaining","capacity","date","start"]),ParallelBlock:new Set(["owner","after","before","status"]),GroupBlock:new Set(["owner","after","before","status"]),MilestoneDeclaration:new Set(["date","after"]),FootnoteDeclaration:new Set(["on"]),PersonDeclaration:new Set,TeamDeclaration:new Set,LabelDeclaration:new Set,SizeDeclaration:new Set(["effort"]),StatusDeclaration:new Set};function nB(t,e,r){if(t===e)return 0;let n=t.length,i=e.length;if(Math.abs(n-i)>r)return r+1;if(n===0)return i;if(i===0)return n;let o=new Array(i+1),s=new Array(i+1);for(let a=0;a<=i;a++)o[a]=a;for(let a=1;a<=n;a++){s[0]=a;let c=a;for(let u=1;u<=i;u++){let f=t.charCodeAt(a-1)===e.charCodeAt(u-1)?0:1;s[u]=Math.min(o[u]+1,s[u-1]+1,o[u-1]+f),s[u]<c&&(c=s[u])}if(c>r)return r+1;let l=o;o=s,s=l}return o[i]}function iB(t,e,r=2){let n,i=r+1;for(let o of e){let s=nB(t,o,r);if(s<i&&(n=o,i=s,s===0))break}return n}function Ne(t){return t.key.endsWith(":")?t.key.slice(0,-1):t.key}var du=/^\d+(?:\.\d+)?[dwmqy]$/,oB=/^\d+%$/,Di=/^\d{4}-\d{2}-\d{2}$/,sB=/^#[0-9a-fA-F]{3,8}$/,aB=/^v\d+$/,ek=/^\d+$/,cB=/^[dwmqy]$/,tk=/^\d+(\.\d+)?$/,r_=/^\d+(\.\d+)?%$/,ak=/^\d+\.\d+$/,lB=/^\d+$/,uB=/^[\x20-\x7E]{1,3}$/,fB=/^[a-zA-Z]{2,3}(-[a-zA-Z]{2}|-\d{3})?$/,dB=new Set(["merge","ignore","isolate"]),rk=new Set(["locale"]);function JT(t){let e=t?.roadmapDecl?.properties.find(i=>Ne(i)==="start");if(!e)return{kind:"missing"};let r=e.value;if(!r||!Di.test(r))return{kind:"invalid"};let n=new Date(r);return Number.isNaN(n.getTime())?{kind:"invalid"}:{kind:"valid",iso:r,date:n}}function Vr(t){return t.name??t.title??"<unnamed>"}function pB(t){return t.$type.replace(/Declaration$|Block$/,"").toLowerCase()}function we(t,e,r,n,...i){t(e,Fv("en-US",n,...i),{...r,data:{code:n,args:i}})}function ck(t){let e=t.validation.ValidationRegistry,r=t.validation.NowlineValidator,n={NowlineFile:[r.checkFileStructure,r.checkUniqueIdentifiers,r.checkSwimlaneRequired,r.checkIndentationConsistency,r.checkRoadmapOnlyKeywordsPosition,r.checkForwardReferences,r.checkReferenceResolution,r.checkInlineDatePins,r.checkCircularDependencies,r.checkDuplicateSizeIds,r.checkCalendarBlockConsistency,r.checkPersonDeclarations,r.checkDuplicateSymbolIds,r.checkSymbolReferences],NowlineDirective:[r.checkDirectiveVersion,r.checkDirectiveProperties],IncludeOption:[r.checkIncludeMode],IncludeDeclaration:[r.checkIncludeDuplicateOptions],EntityProperty:[r.checkPropertyValues],RoadmapDeclaration:[r.checkEntityIdOrTitle,r.checkRoadmapProperties,r.checkNoRawStyleProperties,r.checkUnknownEntityProperties],AnchorDeclaration:[r.checkEntityIdOrTitle,r.checkAnchorRequiredDate,r.checkAnchorAgainstStart,r.checkNoRawStyleProperties,r.checkNoFootnoteProperty,r.checkUnknownEntityProperties],SwimlaneDeclaration:[r.checkEntityIdOrTitle,r.checkNoRawStyleProperties,r.checkUtilizationOrdering,r.checkNoFootnoteProperty,r.checkUnknownEntityProperties],ItemDeclaration:[r.checkEntityIdOrTitle,r.checkItemRequiredDuration,r.checkNoRawStyleProperties,r.checkNoFootnoteProperty,r.checkUnknownEntityProperties],ParallelBlock:[r.checkParallelMinChildren,r.checkNoComputedProperties,r.checkNoRawStyleProperties,r.checkNoFootnoteProperty,r.checkUnknownEntityProperties],GroupBlock:[r.checkGroupMinChildren,r.checkNoComputedProperties,r.checkNoRawStyleProperties,r.checkNoFootnoteProperty,r.checkUnknownEntityProperties],MilestoneDeclaration:[r.checkEntityIdOrTitle,r.checkMilestoneRequirement,r.checkMilestoneAgainstStart,r.checkNoRawStyleProperties,r.checkNoFootnoteProperty,r.checkUnknownEntityProperties],FootnoteDeclaration:[r.checkEntityIdOrTitle,r.checkFootnoteOn,r.checkNoRawStyleProperties,r.checkUnknownEntityProperties],PersonDeclaration:[r.checkEntityIdOrTitle,r.checkNoRawStyleProperties,r.checkNoFootnoteProperty,r.checkUnknownEntityProperties],TeamDeclaration:[r.checkEntityIdOrTitle,r.checkNoRawStyleProperties,r.checkNoFootnoteProperty,r.checkUnknownEntityProperties],StyleDeclaration:[r.checkEntityIdOrTitle],StyleProperty:[r.checkStylePropertyEnum],SymbolDeclaration:[r.checkEntityIdOrTitle,r.checkSymbolDeclaration],LabelDeclaration:[r.checkEntityIdOrTitle,r.checkNoRawStyleProperties,r.checkUnknownEntityProperties],SizeDeclaration:[r.checkEntityIdOrTitle,r.checkSizeDeclaration,r.checkNoRawStyleProperties,r.checkUnknownEntityProperties],StatusDeclaration:[r.checkEntityIdOrTitle,r.checkStatusDeclaration,r.checkNoRawStyleProperties,r.checkUnknownEntityProperties],DefaultDeclaration:[r.checkDefaultDeclaration,r.checkUtilizationOrdering],CalendarBlock:[r.checkCalendarBlock],ScaleBlock:[r.checkScaleBlock]};e.register(n,r)}var Jp=class{checkFileStructure(e,r){let n=e.hasConfig?gs.findNodeForKeyword(e.$cstNode,"config")?.offset:void 0,i=e.roadmapDecl?.$cstNode?.offset;n!==void 0&&i!==void 0&&n>i&&we(r,"error",{node:e,property:"hasConfig"},"NL.E0001");for(let o of e.includes){let s=o.$cstNode?.offset??0;n!==void 0&&s>n&&we(r,"error",{node:o},"NL.E0002"),i!==void 0&&s>i&&we(r,"error",{node:o},"NL.E0003")}}checkRoadmapOnlyKeywordsPosition(e,r){}checkDirectiveVersion(e,r){if(!aB.test(e.version)){we(r,"error",{node:e,property:"version"},"NL.E0100",{version:e.version});return}let n=parseInt(e.version.slice(1),10),i=parseInt(Kv.slice(1),10);n>i&&we(r,"error",{node:e,property:"version"},"NL.E0101",{version:e.version,supported:Kv})}checkDirectiveProperties(e,r){let n=new Set;for(let i of e.properties){let o=Ne(i);if(!rk.has(o)){we(r,"error",{node:i,property:"key"},"NL.E0102",{key:o,allowed:[...rk].join(", ")});continue}if(n.has(o)&&we(r,"error",{node:i,property:"key"},"NL.E0103",{key:o}),n.add(o),o==="locale"){let s=i.value;fB.test(s)||we(r,"error",{node:i,property:"value"},"NL.E0104",{value:s})}}}checkEntityIdOrTitle(e,r){!e.name&&!e.title&&we(r,"error",{node:e},"NL.E0301",{type:e.$type})}checkUniqueIdentifiers(e,r){let n=new Map,i=(o,s)=>{if(!o)return;let a=n.get(o);a?we(r,"error",{node:s},"NL.E0300",{name:o,location:Zp(a)}):n.set(o,s)};e.roadmapDecl?.name&&i(e.roadmapDecl.name,e.roadmapDecl);for(let o of e.roadmapEntries)gB(o,i);for(let o of e.configEntries)uu(o)&&o.name&&i(o.name,o)}checkIndentationConsistency(e,r){let n=e.$document?.textDocument.getText()??e.$cstNode?.text;if(!n)return;let i=n.split(/\r?\n/);for(let o=0;o<i.length;o++){let s=i[o];if(s.length===0)continue;let a=s.match(/^([\t ]+)/);if(!a)continue;let c=a[1];if(c.includes(" ")&&c.includes(" ")){we(r,"error",{node:e},"NL.E0005",{line:o+1});return}}}checkSwimlaneRequired(e,r){let n=e.roadmapEntries.some(qr);e.roadmapDecl&&!n&&we(r,"error",{node:e.roadmapDecl},"NL.E0004")}checkIncludeMode(e,r){dB.has(e.value)||we(r,"error",{node:e,property:"value"},"NL.E0200",{value:e.value})}checkIncludeDuplicateOptions(e,r){let n=new Set;for(let i of e.options){let o=i.key.replace(/:$/,"");n.has(o)&&we(r,"error",{node:i},"NL.E0201",{key:o}),n.add(o)}}checkPropertyValues(e,r){let n=Ne(e),i=e.value,o=e.values,s=i?[i]:o;switch(n){case"status":break;case"duration":i&&!du.test(i)&&we(r,"error",{node:e,property:"value"},"NL.E0400",{value:i});break;case"size":i&&!nk(i)&&we(r,"error",{node:e,property:"value"},"NL.E0401",{value:i});break;case"effort":i&&!du.test(i)&&we(r,"error",{node:e,property:"value"},"NL.E0402",{value:i});break;case"remaining":{if(i)if(oB.test(i)){let a=parseFloat(i);(a<0||a>100)&&we(r,"error",{node:e,property:"value"},"NL.E0404",{value:i})}else du.test(i)||we(r,"error",{node:e,property:"value"},"NL.E0403",{value:i});break}case"date":case"start":i&&(!Di.test(i)||Number.isNaN(new Date(i).getTime()))&&we(r,"error",{node:e,property:"value"},"NL.E0405",{key:n,value:i});break;case"scale":i&&!du.test(i)&&we(r,"error",{node:e,property:"value"},"NL.E0406",{value:i});break;case"calendar":i&&!eB.has(i)&&we(r,"error",{node:e,property:"value"},"NL.E0407",{value:i});break;case"on":case"after":case"before":s.length===0&&we(r,"error",{node:e},"NL.E0408",{key:n});break;case"capacity":{if(!i)break;let a=e.$container,c=hB(a);if(c==="invalid")break;c==="lane"?(!tk.test(i)||parseFloat(i)<=0)&&r("error",`Invalid swimlane capacity "${i}". Use a positive integer (e.g. capacity:5) or decimal (e.g. capacity:1.5). Percent literals are not allowed on swimlanes.`,{node:e,property:"value"}):r_.test(i)?parseFloat(i)<=0&&r("error",`Item capacity "${i}" must be positive.`,{node:e,property:"value"}):tk.test(i)?parseFloat(i)<=0&&r("error",`Item capacity "${i}" must be positive.`,{node:e,property:"value"}):r("error",`Invalid item capacity "${i}". Use a positive integer (capacity:2), decimal (capacity:0.5), or percent literal (capacity:50%).`,{node:e,property:"value"});break}case"overcapacity":{r("error",'"overcapacity:" was removed. Use "utilization-over-at:none" (and/or "utilization-warn-at:none") to suppress the lane utilization underline.',{node:e});break}case"utilization-warn-at":case"utilization-over-at":{if(!i)break;if(!mB(e.$container)){r("error",`"${n}:" is only valid on "swimlane" or "default swimlane".`,{node:e});break}if(i===sk)break;if(r_.test(i)){parseFloat(i)<=0&&r("error",`${n} value "${i}" must be positive.`,{node:e,property:"value"});break}if(ak.test(i)){parseFloat(i)<=0&&r("error",`${n} value "${i}" must be positive.`,{node:e,property:"value"});break}if(lB.test(i)){r("error",`Ambiguous ${n} value "${i}". Use the percent form ("${i}%") or the decimal-fraction form ("0.${i}") to make the intent explicit.`,{node:e,property:"value"});break}r("error",`Invalid ${n} value "${i}". Use a positive percent (e.g. 80%), a positive decimal fraction (e.g. 0.8), or "none" to opt out.`,{node:e,property:"value"});break}case"capacity-icon":break;case"icon":break;default:if(Vp.has(n)){if(n==="bg"||n==="fg"||n==="text")i&&!QT(i)&&r("error",`Invalid color "${i}" for "${n}". Use a named color, hex value, or "none".`,{node:e,property:"value"});else if(n in Kp){let a=Kp[n];i&&!a.has(i)&&!QT(i)&&r("error",`Invalid value "${i}" for "${n}". Allowed: ${[...a].join(", ")}.`,{node:e,property:"value"})}}break}}checkAnchorRequiredDate(e,r){e.properties.find(i=>Ne(i)==="date")||we(r,"error",{node:e},"NL.E0500",{name:Vr(e)})}checkAnchorAgainstStart(e,r){let n=e.properties.find(a=>Ne(a)==="date");if(!n?.value)return;let i=n.value;if(!Di.test(i))return;let o=new Date(i);if(Number.isNaN(o.getTime()))return;let s=JT(e.$container);switch(s.kind){case"invalid":return;case"missing":we(r,"error",{node:n,property:"value"},"NL.E0501",{name:Vr(e)});return;case"valid":o<s.date&&we(r,"error",{node:n,property:"value"},"NL.E0502",{name:Vr(e),date:i,start:s.iso});return}}checkMilestoneRequirement(e,r){let n=e.properties.some(o=>Ne(o)==="date"),i=e.properties.some(o=>Ne(o)==="after");!n&&!i&&we(r,"error",{node:e},"NL.E0503",{name:Vr(e)})}checkMilestoneAgainstStart(e,r){let n=e.properties.find(a=>Ne(a)==="date");if(!n?.value)return;let i=n.value;if(!Di.test(i))return;let o=new Date(i);if(Number.isNaN(o.getTime()))return;let s=JT(e.$container);switch(s.kind){case"invalid":return;case"missing":r("error",`Milestone "${Vr(e)}" has a date but the roadmap is missing "start:". Add start:YYYY-MM-DD to the roadmap.`,{node:n,property:"value"});return;case"valid":o<s.date&&we(r,"error",{node:n,property:"value"},"NL.E0504",{name:Vr(e),date:i,start:s.iso});return}}checkFootnoteOn(e,r){e.properties.some(i=>Ne(i)==="on")||we(r,"error",{node:e},"NL.E0505")}checkNoFootnoteProperty(e,r){for(let n of e.properties)Ne(n)==="footnote"&&r("error",`Property "footnote:" is not valid on ${e_(e)}. Footnotes attach via "on:" on the footnote declaration \u2014 declare \`footnote <id> on:<target-id>\` instead.`,{node:n})}checkItemRequiredDuration(e,r){let n=e.properties.some(o=>Ne(o)==="duration"),i=e.properties.some(o=>Ne(o)==="size");!n&&!i&&we(r,"error",{node:e},"NL.E0600",{name:Vr(e)})}checkNoComputedProperties(e,r){for(let n of e.properties){let i=Ne(n);(i==="size"||i==="duration"||i==="remaining"||i==="capacity")&&r("error",`"${i}" is not valid on ${e.$type==="ParallelBlock"?"parallel":"group"} (computed from children).`,{node:n})}}checkParallelMinChildren(e,r){let n=e.content.filter(i=>!zT(i));n.length===0?r("error","Parallel block must contain at least 2 children.",{node:e}):n.length===1&&r("warning","Parallel block has only 1 child. Use at least 2 for parallel execution.",{node:e})}checkGroupMinChildren(e,r){e.content.filter(i=>!zT(i)).length===0&&r("error","Group must contain at least 1 child.",{node:e})}checkNoRawStyleProperties(e,r){for(let n of e.properties){let i=Ne(n);Vp.has(i)&&r("error",`Raw style property "${i}" is not allowed on ${e_(e)}. Declare a named style in config and reference it via "style:id".`,{node:n})}}checkUnknownEntityProperties(e,r){let n=rB[e.$type];if(!n)return;let i=e.$type==="ParallelBlock"||e.$type==="GroupBlock"?new Set(["size","duration","remaining","capacity"]):null;for(let o of e.properties){let s=Ne(o);if(n.has(s)||Qv.has(s)||Vp.has(s)||s==="footnote"||i?.has(s))continue;let a=[...n,...Qv],c=iB(s,a)??"";we(r,"warning",{node:o,property:"key"},"NL.W0700",{key:s,entity:e_(e),suggested:c})}}checkRoadmapProperties(e,r){}checkStylePropertyEnum(e,r){let n=Ne(e),i=e.value;if(n==="bg"||n==="fg"||n==="text")QT(i)||r("error",`Invalid color "${i}" for "${n}". Use a named color, hex value, or "none".`,{node:e,property:"value"});else if(n in Kp){let o=Kp[n];o.has(i)||r("error",`Invalid value "${i}" for "${n}". Allowed: ${[...o].join(", ")}.`,{node:e,property:"value"})}else Vp.has(n)||r("error",`Unknown style property "${n}".`,{node:e,property:"key"})}checkSizeDeclaration(e,r){e.properties.find(i=>Ne(i)==="effort")||r("error",`Size "${Vr(e)}" requires an "effort:" property.`,{node:e}),e.name&&(du.test(e.name)||cB.test(e.name))&&r("error",`Size id "${e.name}" collides with the raw duration pattern. Choose a different name (e.g. "xs", "small", "quarter").`,{node:e,property:"name"})}checkStatusDeclaration(e,r){e.name&&KT.has(e.name)&&r("error",`Status id "${e.name}" collides with the built-in status value. Built-ins: ${[...KT].join(", ")}.`,{node:e,property:"name"})}checkDuplicateSizeIds(e,r){let n=new Map;for(let i of e.roadmapEntries)if(Ha(i)&&i.name){let o=n.get(i.name);o?r("error",`Duplicate size id "${i.name}". First declared at ${Zp(o)}.`,{node:i,property:"name"}):n.set(i.name,i)}}checkUtilizationOrdering(e,r){if(Oi(e)&&e.entityType!=="swimlane")return;let n=e.properties.find(a=>Ne(a)==="utilization-warn-at"),i=e.properties.find(a=>Ne(a)==="utilization-over-at");if(!n||!i)return;let o=ik(n.value),s=ik(i.value);o===null||s===null||o>s&&r("error",`utilization-warn-at (${n.value}) must be \u2264 utilization-over-at (${i.value}). Warn fires below over; if both fire at the same point, the warn band collapses to zero.`,{node:n,property:"value"})}checkDefaultDeclaration(e,r){if(!Jv.has(e.entityType)){r("error",`"${e.entityType}" is not a supported entity type for default. Allowed: ${[...Jv].join(", ")}.`,{node:e,property:"entityType"});return}let n=e.$container,i=-1;for(let s=0;s<n.configEntries.length;s++){let a=n.configEntries[s];if(Oi(a)&&a.entityType===e.entityType){if(i<0)i=s;else if(a===e){r("error",`Duplicate "default ${e.entityType}" declaration. Only one is allowed per entity type per file.`,{node:e});break}}}let o=tB[e.entityType];if(o)for(let s of e.properties){let a=Ne(s);o.has(a)&&r("error",`"${a}" cannot be set on "default ${e.entityType}". Identity-defining, sizing, sequencing, reference, and prose properties must be explicit on each entity.`,{node:s})}}checkCalendarBlockConsistency(e,r){let n=e.configEntries.filter(Hp),o=e.roadmapDecl?.properties.find(s=>Ne(s)==="calendar")?.value;if(n.length>0&&o!=="custom")for(let s of n)r("error",'A "calendar" config block is only valid when the roadmap declares calendar:custom.',{node:s});if(o==="custom"&&n.length===0&&r("error",'calendar:custom requires a "calendar" config block with days-per-week, days-per-month, days-per-quarter, and days-per-year.',{node:e.roadmapDecl,property:"properties"}),o==="custom"&&n.length>0)for(let s of n){let a=new Set(s.properties.map(c=>Ne(c)));for(let c of ZT)a.has(c)||r("error",`calendar:custom requires "${c}" in the calendar config block.`,{node:s})}}checkCalendarBlock(e,r){let n=new Set;for(let i of e.properties){let o=Ne(i);if(!ZT.has(o)){r("error",`Unknown calendar property "${o}". Allowed: ${[...ZT].join(", ")}.`,{node:i,property:"key"});continue}n.has(o)&&r("error",`Duplicate calendar property "${o}".`,{node:i,property:"key"}),n.add(o),(!ek.test(i.value)||parseInt(i.value,10)<=0)&&r("error",`"${o}" must be a positive integer, got "${i.value}".`,{node:i,property:"value"})}}checkScaleBlock(e,r){let n=new Set;for(let i of e.properties){let o=Ne(i);if(!Zv.has(o)){r("error",`Unknown scale property "${o}". Allowed: ${[...Zv].join(", ")}.`,{node:i,property:"key"});continue}n.has(o)&&r("error",`Duplicate scale property "${o}".`,{node:i,property:"key"}),n.add(o),o==="label-every"&&(!ek.test(i.value)||parseInt(i.value,10)<=0)&&r("error",`"label-every" must be a positive integer, got "${i.value}".`,{node:i,property:"value"})}}checkForwardReferences(e,r){let n=new Map,i=new Map;for(let o=0;o<e.roadmapEntries.length;o++){let s=e.roadmapEntries[o];Ha(s)&&s.name?n.has(s.name)||n.set(s.name,o):lu(s)&&s.name&&(i.has(s.name)||i.set(s.name,o))}for(let o=0;o<e.roadmapEntries.length;o++){let s=e.roadmapEntries[o];ok(s,a=>{let c=Ne(a);if(c==="size"&&a.value){let l=a.value,u=n.get(l);u===void 0?r("error",`Size "${l}" is not declared. Add "size ${l} effort:<literal>" earlier in the roadmap section.`,{node:a,property:"value"}):u>=o&&r("error",`Size "${l}" is referenced before its declaration. Move "size ${l}" above this entity.`,{node:a,property:"value"})}else if(c==="status"&&a.value){let l=a.value;if(KT.has(l))return;let u=i.get(l);u===void 0?r("error",`Status "${l}" is not a built-in and has no declaration. Add "status ${l}" earlier in the roadmap section.`,{node:a,property:"value"}):u>=o&&r("error",`Status "${l}" is referenced before its declaration. Move "status ${l}" above this entity.`,{node:a,property:"value"})}})}}checkReferenceResolution(e,r){let n=yB(e),i=o=>{ok(o,s=>{let a=Ne(s);if(a!=="after"&&a!=="before"&&a!=="on")return;let c=s.value?[s.value]:s.values;for(let l of c)l&&((a==="after"||a==="before")&&Di.test(l)||n.has(l)||r("error",`${a}: reference "${l}" does not resolve to any declared entity in this file.`,{node:s}))})};for(let o of e.roadmapEntries)i(o)}checkInlineDatePins(e,r){let n=JT(e),i=o=>{let s=o.properties??[],a=gr(o)||Wr(o)||jr(o);for(let c of s){let l=Ne(c);if(l!=="after"&&l!=="before")continue;let f=(c.value?[c.value]:c.values).filter(d=>!!d&&Di.test(d));if(f.length!==0){if(!a){we(r,"error",{node:c},"NL.E0411",{key:l,type:pB(o)});continue}f.length>1&&we(r,"error",{node:c},"NL.E0410",{key:l});for(let d of f)switch(n.kind){case"invalid":continue;case"missing":we(r,"error",{node:c},"NL.E0412",{key:l,date:d});continue;case"valid":{let p=new Date(d);if(Number.isNaN(p.getTime()))continue;p<n.date&&we(r,"error",{node:c},"NL.E0413",{key:l,date:d,start:n.iso})}}}}if(qr(o))for(let c of o.content)i(c);else if(Wr(o)||jr(o))for(let c of o.content)i(c)};for(let o of e.roadmapEntries)i(o)}checkCircularDependencies(e,r){let n=new Map,i=(p,m)=>{n.has(p)||n.set(p,new Set),n.get(p).add(m)},o=(p,m,y)=>{if(p)for(let R of m){let T=Ne(R);if(T==="after"){let E=R.value?[R.value]:R.values;for(let _ of E)_&&(Di.test(_)||i(p,_))}else if(T==="before"){let E=R.value?[R.value]:R.values;for(let _ of E)_&&(Di.test(_)||i(_,p))}}},s=p=>{let m=p.name,y=p.properties??[];if(o(m,y,e),qr(p))for(let R of p.content)s(R);else if(Wr(p)||jr(p))for(let R of p.content)s(R)};for(let p of e.roadmapEntries)s(p);let a=0,c=1,l=2,u=new Map;for(let p of n.keys())u.set(p,a);let f=new Set,d=(p,m)=>{u.set(p,c),m.push(p);for(let y of n.get(p)??[]){let R=u.get(y)??a;if(R===c){let T=m.indexOf(y),E=m.slice(T).concat(y),_=[...E].sort().join("\u2192");f.has(_)||(f.add(_),r("error",`Circular dependency detected: ${E.join(" \u2192 ")}.`,{node:e.roadmapDecl??e}))}else R===a&&d(y,m)}m.pop(),u.set(p,l)};for(let p of n.keys())(u.get(p)??a)===a&&d(p,[])}checkPersonDeclarations(e,r){let n=new Map,i=a=>!!a.title||a.properties.length>0||a.description!==void 0,o=a=>{if(!a.name)return;let c=i(a);n.has(a.name)||n.set(a.name,[]),n.get(a.name).push({node:a,isDeclaration:c}),!c&&a.$container.$type==="NowlineFile"&&r("warning",`Bare "person ${a.name}" at roadmap top level has no declaration. Either add properties (title, link, etc.) or remove the line.`,{node:a})},s=a=>{for(let c of a.content)Li(c)?o(c):zr(c)&&s(c)};for(let a of e.roadmapEntries)Li(a)?o(a):zr(a)&&s(a);for(let[a,c]of n){let l=c.filter(u=>u.isDeclaration);if(l.length>1)for(let u=1;u<l.length;u++)r("error",`Person "${a}" is declared more than once. First declaration at ${Zp(l[0].node)}.`,{node:l[u].node})}}checkSymbolDeclaration(e,r){e.name&&Yp.has(e.name)&&r("error",`Symbol id "${e.name}" collides with a built-in icon name. Reserved built-ins: ${[...Yp].sort().join(", ")}.`,{node:e,property:"name"});let n=e.properties.find(o=>Ne(o)==="unicode");n?(!n.value||n.value.length===0)&&r("error",`Symbol "${Vr(e)}" unicode: must be a non-empty value.`,{node:n,property:"value"}):r("error",`Symbol "${Vr(e)}" requires a "unicode:" property (e.g. unicode:"\u{1F4B0}" or unicode:"\\u{1F464}").`,{node:e});let i=e.properties.find(o=>Ne(o)==="ascii");if(i){let o=i.value??"";uB.test(o)||r("error",`Symbol "${Vr(e)}" ascii: must be 1-3 ASCII characters (got ${o.length} character${o.length===1?"":"s"}).`,{node:i,property:"value"})}for(let o of e.properties){let s=Ne(o);s!=="unicode"&&s!=="ascii"&&s!=="link"&&s!=="description"&&r("error",`Unknown symbol property "${s}". Allowed: unicode, ascii, link, description.`,{node:o,property:"key"})}}checkDuplicateSymbolIds(e,r){let n=new Map;for(let i of e.configEntries)if(fu(i)&&i.name){let o=n.get(i.name);o?r("error",`Duplicate symbol id "${i.name}". First declared at ${Zp(o)}.`,{node:i,property:"name"}):n.set(i.name,i)}}checkSymbolReferences(e,r){let n=new Map;for(let o=0;o<e.configEntries.length;o++){let s=e.configEntries[o];fu(s)&&s.name&&(n.has(s.name)||n.set(s.name,o))}let i=(o,s,a,c)=>{if(s!=="icon"&&s!=="capacity-icon"||!a||!nk(a)||s==="capacity-icon"&&t_.has(a)||s==="icon"&&Yp.has(a))return;let l=n.get(a);if(l===void 0){let u=s==="capacity-icon"?[...t_].sort().join(", "):[...Yp].sort().join(", ");r("error",`${s}: "${a}" is neither a built-in (${u}) nor a declared symbol. Add "symbol ${a} unicode:..." earlier in config or use a quoted Unicode literal.`,{node:c,property:"value"})}else l>=o&&r("error",`${s}: symbol "${a}" is referenced before its declaration. Move "symbol ${a}" above this entry.`,{node:c,property:"value"})};for(let o=0;o<e.configEntries.length;o++){let s=e.configEntries[o];if(uu(s))for(let a of s.properties)i(o,Ne(a),a.value,a);else if(Oi(s))for(let a of s.properties)i(o,Ne(a),a.value,a)}}};function QT(t){return QU.has(t)||sB.test(t)}function nk(t){return/^[a-zA-Z_][a-zA-Z0-9_-]*$/.test(t)}function hB(t){return t?qr(t)?"lane":gr(t)?"item":Oi(t)?t.entityType==="swimlane"?"lane":"item":"invalid":"invalid"}function mB(t){return t?!!(qr(t)||Oi(t)&&t.entityType==="swimlane"):!1}function ik(t){if(!t||t===sk)return null;if(r_.test(t)){let e=parseFloat(t);return Number.isFinite(e)&&e>0?e/100:null}if(ak.test(t)){let e=parseFloat(t);return Number.isFinite(e)&&e>0?e:null}return null}function Zp(t){let e=t.$cstNode;return e?`line ${e.range.start.line+1}`:"unknown location"}function e_(t){let e=t.$type.replace(/Declaration$|Block$/,"").toLowerCase(),r=t.name??t.title;return r?`${e} "${r}"`:e}function gB(t,e){if(qr(t)){e(t.name,t);for(let r of t.content)n_(r,e)}else Li(t)?e(t.name,t):zr(t)?lk(t,e):(Gp(t)||qp(t)||jp(t)||Wp(t)||Ha(t)||lu(t))&&e(t.name,t)}function lk(t,e){e(t.name,t);for(let r of t.content)zr(r)&&lk(r,e)}function n_(t,e){if(gr(t))e(t.name,t);else if(Wr(t)){e(t.name,t);for(let r of t.content)n_(r,e)}else if(jr(t)){e(t.name,t);for(let r of t.content)n_(r,e)}}function ok(t,e){let r=n=>{let i=n.properties;if(Array.isArray(i))for(let o of i)e(o);if(qr(n))for(let o of n.content)r(o);else if(Wr(n)||jr(n))for(let o of n.content)r(o);else if(zr(n))for(let o of n.content)(zr(o)||Li(o))&&r(o)};r(t)}function yB(t){let e=new Set;t.roadmapDecl?.name&&e.add(t.roadmapDecl.name);let r=n=>{let i=n.name;if(i&&e.add(i),qr(n))for(let o of n.content)r(o);else if(Wr(n)||jr(n))for(let o of n.content)r(o);else if(zr(n))for(let o of n.content)zr(o)||Li(o)?r(o):Sv(o)};for(let n of t.roadmapEntries)r(n);return e}var i_=class extends ko{runConverter(e,r,n){return e.name==="PROPERTY_KEY_WITH_COLON"||e.name==="INCLUDE_OPTION_KEY"?r.endsWith(":")?r.slice(0,-1):r:super.runConverter(e,r,n)}},o_=class extends va{isStartOfLine(e,r){if(!super.isStartOfLine(e,r))return!1;let n=r-1;for(;n>=0&&(e[n]===" "||e[n]===" ");)n--;for(;n>=0&&(e[n]==="\r"||e[n]===`
|
|
2663
|
-
`);)n--;for(;n>=0&&(e[n]===" "||e[n]===" ");)n--;return n<0||e[n]!=="\\"}},uk={parser:{TokenBuilder:()=>new o_({indentTokenName:"INDENT",dedentTokenName:"DEDENT",whitespaceTokenName:"WS",ignoreIndentationDelimiters:[["[","]"]]}),Lexer:t=>new nu(t),ParserConfig:()=>({maxLookahead:4}),ValueConverter:()=>new i_},validation:{NowlineValidator:()=>new Jp}};function s_(t={}){let e=t.shared??Fo(tu(iu),Pv),r=Fo(eu({shared:e}),Cv,uk);return e.ServiceRegistry.register(r),ck(r),{shared:e,Nowline:r}}var xB=new Set(["none","multiplier","person","people","points","time"]),TB=/^\d+$/,_B=/^\d+\.\d+$/,EB=/^\d+(?:\.\d+)?%$/;function $i(t){if(!t)return null;if(TB.test(t)){let e=parseInt(t,10);return e>0?e:null}if(_B.test(t)){let e=parseFloat(t);return Number.isFinite(e)&&e>0?e:null}if(EB.test(t)){let e=parseFloat(t.slice(0,-1))/100;return Number.isFinite(e)&&e>0?e:null}return null}function pu(t){if(Number.isInteger(t))return String(t);let e=t.toFixed(6);return e=e.replace(/0+$/,""),e=e.replace(/\.$/,""),e}function RB(t){return t.key.endsWith(":")?t.key.slice(0,-1):t.key}function bB(t){for(let e of t.properties)if(RB(e)==="unicode"&&e.value)return e.value}function hu(t,e){if(t==="none")return null;if(xB.has(t))return{kind:"builtin",name:t};let r=e.get(t);return r?{kind:"literal",text:bB(r)??t}:{kind:"literal",text:t}}function Xo(t,e,r){return e?e.kind==="builtin"&&e.name==="multiplier"?(t.length+1)*r*.58:t.length*r*.58+(.1+1)*r:t.length*r*.58}function mu(t,e,r,n=0,i=0){let o=t+10,s=o+12,a=e.length*6.5,c=s+a,l=0,u=0;r&&(l=`owner: ${r}`.length*5,u=c+6,c=u+l);let f=0;n>0&&(f=c+6,c=f+n);let d=0;i>0&&(d=c+6+i,c=d);let p=c-o+12,m=Math.max(56,p);return{titleTextWidth:a,ownerTextWidth:l,capacityBadgeWidth:n,footnoteIndicatorWidth:i,titleX:s,ownerX:u,badgeX:f,footnoteRightX:d,tabX:o,tabW:m,rightX:o+m}}function gu(t,e,r){let n=t+24,i=n+10,o=e.length*6,s=Math.max(60,o+10+10),a=n+s+6,c=a+18,l=0,u=0,f=0,d=0,p=c;return r&&(u=c+6,l=r.length*5.5,f=u-3,d=l+6,p=f+d),{labelTextWidth:o,sourceTextWidth:l,tabX:n,tabWidth:s,tabLabelX:i,badgeX:a,badgeSize:18,sourceHaloX:f,sourceHaloWidth:d,sourceTextX:u,chromeRightX:p}}function a_(t,e){if(t.length===0)return{rows:[[]],expanded:!1};let r=[[]],n=0,i=e,o=!1;for(let s of t){let a=r[r.length-1],c=(a.length===0?0:4)+s.width,l=n+c;if(l<=i){a.push(s),n=l;continue}if(a.length===0){a.push(s),n=s.width;continue}let u=l-i,f=s.width*.25;if(!o&&u<=f){a.push(s),n=l,i=l,o=!0;continue}r.push([s]),n=s.width,i=e}return{rows:r,expanded:o}}function fk(t){return t.endsWith(":")?t.slice(0,-1):t}function se(t,e){return t.find(r=>fk(r.key)===e)?.value}function yt(t,e){let r=t.find(n=>fk(n.key)===e);return r?r.value!==void 0?[r.value]:[...r.values]:[]}function Et(t){if(!t)return null;let e=/^(\d{4})-(\d{2})-(\d{2})$/.exec(t);if(!e)return null;let r=new Date(Date.UTC(parseInt(e[1],10),parseInt(e[2],10)-1,parseInt(e[3],10)));return Number.isNaN(r.getTime())?null:r}var ja={mode:"business",daysPerWeek:5,daysPerMonth:22,daysPerQuarter:65,daysPerYear:260},wB={mode:"full",daysPerWeek:7,daysPerMonth:30,daysPerQuarter:91,daysPerYear:365};function dk(t,e){let n=t.roadmapDecl?.properties.find(i=>c_(i.key)==="calendar")?.value??"business";if(n==="business")return{...ja};if(n==="full")return{...wB};if(e){let i=(o,s)=>{let a=e.properties.find(l=>c_(l.key)===o),c=a?parseInt(a.value,10):NaN;return Number.isFinite(c)&&c>0?c:s};return{mode:"custom",daysPerWeek:i("days-per-week",ja.daysPerWeek),daysPerMonth:i("days-per-month",ja.daysPerMonth),daysPerQuarter:i("days-per-quarter",ja.daysPerQuarter),daysPerYear:i("days-per-year",ja.daysPerYear)}}return{...ja}}var Qp=/^(\d+(?:\.\d+)?)([dwmqy])$/;function eh(t,e){let r=Qp.exec(t);if(!r)return 0;let n=parseFloat(r[1]);switch(r[2]){case"d":return n;case"w":return n*e.daysPerWeek;case"m":return n*e.daysPerMonth;case"q":return n*e.daysPerQuarter;case"y":return n*e.daysPerYear;default:return 0}}function pk(t,e,r){return t?Qp.test(t)?eh(t,r):e.get(t)?.effortDays??0:0}function Mi(t,e,r){let n=se(t,"duration");if(n&&Qp.test(n))return eh(n,r);let i=se(t,"size"),o=i?e.get(i):void 0;if(!o)return 0;let s=$i(se(t,"capacity"))??1;return o.effortDays/s}function hk(t,e,r){let n=se(t,"size"),i=n?e.get(n):void 0;if(i)return i.effortDays;let o=se(t,"duration");if(o&&Qp.test(o)){let s=$i(se(t,"capacity"))??1;return eh(o,r)*s}return 0}function th(t,e){let r=new Map;for(let[n,i]of t){let s=i.properties.find(c=>c_(c.key)==="effort")?.value;if(!s)continue;let a=eh(s,e);a<=0||r.set(n,{name:n,title:i.title||void 0,effortDays:a,effortLiteral:s})}return r}function c_(t){return t.endsWith(":")?t.slice(0,-1):t}function vr(t,e){return Math.round((e.getTime()-t.getTime())/864e5)}function Go(t,e){let r=new Date(t.getTime());return r.setUTCDate(r.getUTCDate()+e),r}var rh=class{constructor(e){le(this,"items");le(this,"brackets");this.items=e.itemBars,this.brackets=e.brackets}hasObstacle(e,r,n){let i=Math.min(r,n),o=Math.max(r,n);for(let s of this.items)if(!(e<=s.x||e>=s.x+s.width)&&!(s.y+s.height<=i||s.y>=o))return!0;return!1}bracketsNear(e,r,n,i){let o=Math.min(r,n),s=Math.max(r,n),a=[];for(let c of this.brackets)Math.abs(c.x-e)>i||c.yBottom<=o||c.yTop>=s||a.push(c);return a}};function mk(t,e){let r=[],n=[],i=s=>{if(s.kind==="item"){r.push(s.box);return}if(s.kind==="parallel"){if(s.style.bracket==="solid"||s.style.bracket==="dashed"){let l=s.box.y-12,u=s.box.y+s.box.height+12,f=s.box.x,d=s.box.x+s.box.width;n.push({x:f,yTop:l,yBottom:u}),n.push({x:d,yTop:l,yBottom:u}),n.push({x:f+4,yTop:l-1,yBottom:l+1}),n.push({x:f+4,yTop:u-1,yBottom:u+1}),n.push({x:d-4,yTop:l-1,yBottom:l+1}),n.push({x:d-4,yTop:u-1,yBottom:u+1})}for(let a of s.children)i(a);return}if(s.kind==="group"){!(s.style.bg!=="none"&&s.style.bg!=="#ffffff")&&s.style.bracket&&s.style.bracket!=="none"&&n.push({x:s.box.x,yTop:s.box.y,yBottom:s.box.y+s.box.height});for(let c of s.children)i(c);return}},o=s=>{for(let a of s.children)i(a);for(let a of s.nested)o(a)};for(let s of t)o(s);for(let s of e)for(let a of s.nestedSwimlanes)o(a);return{itemBars:r,brackets:n}}function AB(t,e){let{from:r,to:n}=t;if(Math.abs(r.y-n.y)<.5)return{x:(r.x+n.x)/2,underBar:!1,range:null};let i=Math.min(r.y,n.y),o=Math.max(r.y,n.y);if(r.x<=n.x){let a=r.x+6,c=n.x-6;if(a>c)return{x:n.x-6,underBar:!0,range:null};let l={minX:a,maxX:c},u=(r.x+n.x)/2,f=Math.max(a,Math.min(c,u));if(!e.hasObstacle(f,i,o))return{x:f,underBar:!1,range:l};let d=c-a;for(let p=1;p<=d;p++){let m=f-p;if(m>=a&&!e.hasObstacle(m,i,o))return{x:m,underBar:!1,range:l};let y=f+p;if(y<=c&&!e.hasObstacle(y,i,o))return{x:y,underBar:!1,range:l}}return{x:f,underBar:!0,range:l}}let s=[r.x+10,n.x-10];for(let a of s)if(a>0&&!e.hasObstacle(a,i,o))return{x:a,underBar:!1,range:null};return{x:r.x+10,underBar:!0,range:null}}function IB(t,e,r,n){let i=Math.min(r.from.y,r.to.y),o=Math.max(r.from.y,r.to.y),s=n.bracketsNear(t,i,o,4);if(s.length===0)return{x:t,forceUnderBar:!1};let a=s[0],c=Math.abs(s[0].x-t);for(let d=1;d<s.length;d++){let p=Math.abs(s[d].x-t);p<c&&(a=s[d],c=p)}let l=[a.x+4,a.x-4],u=4-.01;for(let d of l){if(e&&(d<e.minX||d>e.maxX))continue;let p=e?d:Math.max(Math.min(r.from.x,r.to.x)+1,Math.min(Math.max(r.from.x,r.to.x)-1,d));if(n.bracketsNear(p,i,o,u).length===0)return{x:p,forceUnderBar:!1}}return{x:e?Math.min(Math.max(t,e.minX),e.maxX):t,forceUnderBar:!0}}function SB(t){let e=[...t].sort((i,o)=>Math.abs(i.channelX-o.channelX)>=1?i.channelX-o.channelX:i.orderIndex-o.orderIndex),r=new Map,n=0;for(;n<e.length;){let i=n+1;for(;i<e.length&&Math.abs(e[i].channelX-e[n].channelX)<1;)i++;let s=[...e.slice(n,i)].sort((c,l)=>{let u=Math.min(c.req.from.y,c.req.to.y),f=Math.min(l.req.from.y,l.req.to.y);return Math.abs(u-f)>.5?u-f:c.orderIndex-l.orderIndex}),a=[];for(let c of s){let l=Math.min(c.req.from.y,c.req.to.y),u=Math.max(c.req.from.y,c.req.to.y),f=-1;for(let d=0;d<a.length;d++)if(a[d]<=l){f=d,a[d]=u;break}f===-1&&(f=a.length,a.push(u)),r.set(c.orderIndex,f)}n=i}return r}function vB(t){if(t===0||t>4)return 0;let e=Math.ceil(t/2);return(t%2===1?1:-1)*e*3}function kB(t){let e=t.from.x>=t.to.x?{x:t.to.x-1,y:t.from.y}:t.from;return{fromId:t.fromId,toId:t.toId,waypoints:[e,t.to],underBar:!1}}function gk(t,e){let r=new Array(t.length),n=[];for(let o=0;o<t.length;o++){let s=t[o];if(s.isMarkerSource){r[o]=kB(s);continue}if(Math.abs(s.from.y-s.to.y)<.5&&s.to.x-s.from.x<20){r[o]={fromId:s.fromId,toId:s.toId,waypoints:[s.from,s.to],underBar:!1};continue}let{x:a,underBar:c,range:l}=AB(s,e),{x:u,forceUnderBar:f}=IB(a,l,s,e),d=c||f;n.push({req:s,channelX:u,underBar:d,orderIndex:o})}let i=SB(n);for(let o of n){let s=vB(i.get(o.orderIndex)??0),a=o.channelX+s;r[o.orderIndex]={fromId:o.req.fromId,toId:o.req.toId,waypoints:NB(o.req.from,o.req.to,a),underBar:o.underBar}}return r}function NB(t,e,r){return Math.abs(t.y-e.y)<.5?[t,e]:[t,{x:r,y:t.y},{x:r,y:e.y},e]}var yu="en-US",PB={"en-US":{nowLabel:"now",quarterPrefix:"Q"},fr:{nowLabel:"maint.",quarterPrefix:"T"}};function yk(t,e){return e??t??yu}function nh(t){let e={};for(let r of CB(t)){let n=PB[r];if(n)for(let i of Object.keys(n))e[i]===void 0&&n[i]!==void 0&&(e[i]=n[i])}return e}function CB(t){let e=[],r=OB(t);for(;r.length>0;){e.includes(r)||e.push(r);let n=r.lastIndexOf("-");if(n<=0)break;r=r.slice(0,n)}return e.includes(yu)||e.push(yu),e}function OB(t){return t.split("-").map((r,n)=>n===0?r.toLowerCase():/^[a-zA-Z]{2}$/.test(r)?r.toUpperCase():r).join("-")}function Ek(t){let{box:e,afterDate:r,beforeDate:n,hasLinkIcon:i,footnoteCount:o}=t;if(!r&&!n)return[];let s=[],a=12,c=e.y+5,l=e.width<40;if(r){let u=i?e.x+6+14+4:e.x+6,f=l?{x:e.x-6-a,y:c}:{x:u,y:c};s.push({side:"after",isoDate:r,glyphTopLeft:f,glyphSize:a,spilled:l})}if(n){let u=e.x+e.width,f;o>0?f=u-22-(o-1)*8-4:f=u-12-5-4;let d=f-a,p=l?{x:u+6,y:c}:{x:d,y:c};s.push({side:"before",isoDate:n,glyphTopLeft:p,glyphSize:a,spilled:l})}return s}function oh(t){let{box:e,afterDate:r,beforeDate:n}=t;if(!r&&!n)return[];let i=[],o=12,s=e.y+5;return r&&i.push({side:"after",isoDate:r,glyphTopLeft:{x:e.x+6,y:s},glyphSize:o,spilled:!1}),n&&i.push({side:"before",isoDate:n,glyphTopLeft:{x:e.x+e.width-6-o,y:s},glyphSize:o,spilled:!1}),i}function Hn(t){for(let e of t)if(/^\d{4}-\d{2}-\d{2}$/.test(e))return e}function sh(t,e){return{x:t,y:e,height:0,maxX:t}}var za=class{constructor(e){le(this,"rows");le(this,"opts");this.opts=e,this.rows=[{y:e.originY,height:e.minRowHeight,rightEdge:e.laneLeftX,spillX:e.laneLeftX,placedChildren:[]}]}placeItem(e){for(let n=0;n<this.rows.length;n+=1){let i=this.rows[n];if(!(e.desiredStart<i.rightEdge)&&!(e.desiredStart<i.spillX)&&!this.rowIntersectsCorridor(i,e))return{rowIndex:n,y:i.y}}let r=this.appendRow(Math.max(this.opts.minRowHeight,e.predictedHeight));return{rowIndex:this.rows.length-1,y:r.y}}placeBlock(){let e=this.rows[this.rows.length-1];if(e.rightEdge>this.opts.laneLeftX){let r=this.appendRow(this.opts.minRowHeight);return{rowIndex:this.rows.length-1,y:r.y}}return{rowIndex:this.rows.length-1,y:e.y}}commitItem(e){let r=this.rows[e.rowIndex],n=Math.max(e.placed.box.height,e.rowHeight??0);this.growRowHeight(e.rowIndex,n),r.rightEdge=e.logicalEnd,r.spillX=e.spillReservation??this.opts.laneLeftX,r.placedChildren.push(e.placed)}commitBlock(e){let r=this.rows[e.rowIndex];this.growRowHeight(e.rowIndex,e.blockHeight),r.rightEdge=e.blockEnd,r.spillX=this.opts.laneLeftX,r.placedChildren.push(e.placed)}usedHeight(){let e=this.rows[this.rows.length-1];return e.y+e.height-this.opts.originY}usedRightX(){let e=this.opts.laneLeftX;for(let r of this.rows)r.rightEdge>e&&(e=r.rightEdge),r.spillX>e&&(e=r.spillX);return e}rowIntersectsCorridor(e,r){return this.opts.slackCorridors.some(n=>n.y>=e.y&&n.y<e.y+e.height&&r.desiredStart<n.xEnd&&r.desiredEnd>n.xStart&&n.slackPredId!==r.childId)}appendRow(e){let r=this.rows[this.rows.length-1],n={y:r.y+r.height,height:e,rightEdge:this.opts.laneLeftX,spillX:this.opts.laneLeftX,placedChildren:[]};return this.rows.push(n),n}growRowHeight(e,r){let n=this.rows[e],i=r-n.height;if(!(i<=0)){n.height=r;for(let o=e+1;o<this.rows.length;o+=1){let s=this.rows[o];s.y+=i;for(let a of s.placedChildren)Rk(a,i)}}}};function Rk(t,e){if(t.box.y+=e,t.kind==="item"){for(let r of t.labelChips)r.box.y+=e;t.overflowBox&&(t.overflowBox.y+=e);return}for(let r of t.children)Rk(r,e)}var bk={red:"#f87171",blue:"#60a5fa",yellow:"#facc15",green:"#34d399",orange:"#fb923c",purple:"#a78bfa",gray:"#94a3b8",navy:"#818cf8",white:"#e2e8f0"},jn={bg:"none",fg:"#e2e8f0",text:"#e2e8f0",border:"solid",icon:"none",shadow:"none",font:"sans",weight:"normal",italic:!1,textSize:"md",padding:"sm",spacing:"sm",headerHeight:"sm",cornerRadius:"sm",bracket:"none",capacityIcon:"multiplier"},wk={name:"dark",surface:{page:"#0b1220",chart:"#111827",headerBox:"#1e293b"},entities:{roadmap:{...jn,headerHeight:"md",padding:"md"},swimlane:{...jn,fg:"#e2e8f0",text:"#e2e8f0",padding:"sm",spacing:"none",textSize:"sm"},item:{...jn,bg:"#0f172a",fg:"#94a3b8",text:"#e2e8f0",shadow:"subtle",cornerRadius:"sm"},parallel:{...jn,bracket:"none",padding:"xs"},group:{...jn,bracket:"solid",padding:"xs",fg:"#94a3b8"},anchor:{...jn,bg:"#0b1220",fg:"#cbd5e1",text:"#cbd5e1",cornerRadius:"sm"},milestone:{...jn,bg:"#e2e8f0",fg:"#e2e8f0",text:"#0b1220",border:"solid"},footnote:{...jn,bg:"none",fg:"#94a3b8",text:"#e2e8f0",textSize:"sm"},label:{...jn,bg:"#1e293b",fg:"#94a3b8",text:"#e2e8f0",textSize:"xs",padding:"xs",cornerRadius:"full"}},swimlane:{bandEven:"#111827",bandOdd:"#0f172a",separator:"#1f2937",frameTabText:"#e2e8f0",frameTabMuted:"#94a3b8",border:"#334155",tabFill:"#1e293b",tabStroke:"#475569",tabText:"#e2e8f0",ownerText:"#94a3b8",footnoteIndicator:"#f87171",rowTintEven:"#0f172a",rowTintOdd:"#1e293b",utilizationOk:"#34d399",utilizationWarn:"#fbbf24",utilizationOver:"#f87171"},timeline:{gridLine:"#475569",minorGridLine:"#334155",tickMark:"#334155",labelText:"#cbd5e1",panelFill:"#0f172a",border:"#334155"},header:{cardBorder:"#475569",author:"#94a3b8"},item:{overflowX:"#f87171",linkIconFg:"#94a3b8",overflowTailFill:"#7f1d1d",overflowTailStroke:"#f87171",overflowCaption:"#fecaca"},parallel:{bracketStroke:"#cbd5e1"},anchorDiamond:{fill:"#0f172a",stroke:"#cbd5e1",label:"#cbd5e1",cutLine:"#94a3b8"},milestoneDiamond:{fill:"#e2e8f0",label:"#e2e8f0",cutLineNormal:"#a5b4fc",cutLineOverrun:"#ef4444",slack:"#cbd5e1"},footnotePanel:{fill:"#0f172a",border:"#334155",header:"#e2e8f0",title:"#e2e8f0",description:"#94a3b8",number:"#f87171"},nowline:{stroke:"#f87171",labelText:"#0b1220",labelBg:"#f87171"},milestone:{dashedInk:"#a5b4fc",overrun:"#ef4444"},anchor:{predecessorLine:"#94a3b8"},dependency:{edgeStroke:"#cbd5e1",overflowStroke:"#ef5350"},footnote:{indicatorText:"#f87171",descriptionMuted:"#94a3b8"},includeRegion:{border:"#475569",label:"#cbd5e1",badge:"#94a3b8",fill:"#0b1220",tabFill:"#111827",tabStroke:"#475569",tabText:"#e2e8f0",badgeFill:"#1e293b",badgeStroke:"#475569",badgeText:"#94a3b8"},arrowhead:{neutral:"#94a3b8",light:"#64748b",dark:"#e2e8f0"},status:{done:"#34d399",inProgress:"#60a5fa",atRisk:"#facc15",blocked:"#ef4444",planned:"#94a3b8",neutral:"#94a3b8"},statusDot:{onLight:{done:"#065f46",inProgress:"#1e3a8a",atRisk:"#92400e",blocked:"#991b1b",planned:"#334155",neutral:"#334155"},onDark:{done:"#d1fae5",inProgress:"#dbeafe",atRisk:"#fef3c7",blocked:"#fee2e2",planned:"#e2e8f0",neutral:"#e2e8f0"}},attribution:{mark:"#cbd5e1",link:"#f87171"},diagnostic:{overlayBg:"#7f1d1d",errorText:"#fecaca"}};var Ak={red:"#e53935",blue:"#1e88e5",yellow:"#fdd835",green:"#43a047",orange:"#fb8c00",purple:"#8e24aa",gray:"#9e9e9e",navy:"#0d47a1",white:"#ffffff"},Wn={bg:"none",fg:"#0f172a",text:"#0f172a",border:"solid",icon:"none",shadow:"none",font:"sans",weight:"normal",italic:!1,textSize:"md",padding:"sm",spacing:"sm",headerHeight:"sm",cornerRadius:"sm",bracket:"none",capacityIcon:"multiplier"},Ik={name:"light",surface:{page:"#f8fafc",chart:"#ffffff",headerBox:"#ffffff"},entities:{roadmap:{...Wn,headerHeight:"md",padding:"md"},swimlane:{...Wn,fg:"#334155",text:"#334155",padding:"sm",spacing:"none",textSize:"sm"},item:{...Wn,bg:"#ffffff",fg:"#94a3b8",text:"#0f172a",shadow:"subtle",cornerRadius:"sm"},parallel:{...Wn,bracket:"none",padding:"xs"},group:{...Wn,bracket:"solid",padding:"xs",fg:"#475569"},anchor:{...Wn,bg:"#0f172a",fg:"#0f172a",text:"#0f172a",cornerRadius:"sm"},milestone:{...Wn,bg:"#312e81",fg:"#312e81",text:"#ffffff",border:"solid"},footnote:{...Wn,bg:"none",fg:"#475569",text:"#475569",textSize:"sm"},label:{...Wn,bg:"#f1f5f9",fg:"#475569",text:"#475569",textSize:"xs",padding:"xs",cornerRadius:"full"}},swimlane:{bandEven:"#ffffff",bandOdd:"#f8fafc",separator:"#e2e8f0",frameTabText:"#334155",frameTabMuted:"#64748b",border:"#e2e8f0",tabFill:"#f1f5f9",tabStroke:"#cbd5e1",tabText:"#334155",ownerText:"#64748b",footnoteIndicator:"#dc2626",rowTintEven:"#ffffff",rowTintOdd:"#f8fafc",utilizationOk:"#10b981",utilizationWarn:"#f59e0b",utilizationOver:"#ef4444"},timeline:{gridLine:"#cbd5e1",minorGridLine:"#e2e8f0",tickMark:"#cbd5e1",labelText:"#64748b",panelFill:"#ffffff",border:"#e2e8f0"},header:{cardBorder:"#e2e8f0",author:"#64748b"},item:{overflowX:"#dc2626",linkIconFg:"#0f172a",overflowTailFill:"#fee2e2",overflowTailStroke:"#ef4444",overflowCaption:"#b91c1c"},parallel:{bracketStroke:"#334155"},anchorDiamond:{fill:"#ffffff",stroke:"#334155",label:"#334155",cutLine:"#64748b"},milestoneDiamond:{fill:"#0f172a",label:"#0f172a",cutLineNormal:"#1e1b4b",cutLineOverrun:"#b91c1c",slack:"#0f172a"},footnotePanel:{fill:"#ffffff",border:"#e2e8f0",header:"#0f172a",title:"#0f172a",description:"#64748b",number:"#dc2626"},nowline:{stroke:"#e53e3e",labelText:"#ffffff",labelBg:"#e53e3e"},milestone:{dashedInk:"#94a3b8",overrun:"#ef4444"},anchor:{predecessorLine:"#94a3b8"},dependency:{edgeStroke:"#475569",overflowStroke:"#d32f2f"},footnote:{indicatorText:"#e53e3e",descriptionMuted:"#64748b"},includeRegion:{border:"#94a3b8",label:"#334155",badge:"#64748b",fill:"#f8fafc",tabFill:"#ffffff",tabStroke:"#cbd5e1",tabText:"#0f172a",badgeFill:"#e2e8f0",badgeStroke:"#cbd5e1",badgeText:"#475569"},arrowhead:{neutral:"#475569",light:"#94a3b8",dark:"#0f172a"},status:{done:"#10b981",inProgress:"#3b82f6",atRisk:"#f59e0b",blocked:"#ef4444",planned:"#94a3b8",neutral:"#94a3b8"},statusDot:{onLight:{done:"#065f46",inProgress:"#1e3a8a",atRisk:"#92400e",blocked:"#991b1b",planned:"#334155",neutral:"#334155"},onDark:{done:"#d1fae5",inProgress:"#dbeafe",atRisk:"#fef3c7",blocked:"#fee2e2",planned:"#e2e8f0",neutral:"#e2e8f0"}},attribution:{mark:"#94a3b8",link:"#e53e3e"},diagnostic:{overlayBg:"#fee2e2",errorText:"#991b1b"}};var Sk={light:Ik,dark:wk};var MB={grey:"gray",violet:"purple"};function Ho(t,e){if(t==="none")return"none";if(t.startsWith("#"))return t;let r=e.name==="dark"?bk:Ak,n=MB[t]??t,i=r[n];return typeof i=="string"?i:t}function Va(t){return t.key.endsWith(":")?t.key.slice(0,-1):t.key}function FB(t,e){return{bg:Ho(t.bg,e),fg:Ho(t.fg,e),text:Ho(t.text,e),border:t.border,icon:t.icon,shadow:t.shadow,font:t.font,weight:t.weight,italic:t.italic,textSize:t.textSize,padding:t.padding,spacing:t.spacing,headerHeight:t.headerHeight,cornerRadius:t.cornerRadius,bracket:t.bracket,headerPosition:"beside",capacityIcon:t.capacityIcon,timelinePosition:"top",minorGrid:!1}}function l_(t,e,r,n){switch(e){case"bg":t.bg=Ho(r,n);break;case"fg":t.fg=Ho(r,n);break;case"text":t.text=Ho(r,n);break;case"border":(r==="solid"||r==="dashed"||r==="dotted")&&(t.border=r);break;case"icon":t.icon=r;break;case"shadow":(r==="none"||r==="subtle"||r==="soft"||r==="hard")&&(t.shadow=r);break;case"font":(r==="sans"||r==="serif"||r==="mono")&&(t.font=r);break;case"weight":(r==="thin"||r==="light"||r==="normal"||r==="bold")&&(t.weight=r);break;case"italic":t.italic=r==="true";break;case"text-size":t.textSize=_u(r,"xl");break;case"padding":t.padding=_u(r,"xl");break;case"spacing":t.spacing=_u(r,"xl");break;case"header-height":t.headerHeight=_u(r,"xl");break;case"corner-radius":t.cornerRadius=_u(r,"full");break;case"bracket":(r==="none"||r==="solid"||r==="dashed")&&(t.bracket=r);break;case"header-position":(r==="beside"||r==="above")&&(t.headerPosition=r);break;case"capacity-icon":t.capacityIcon=r;break;case"timeline-position":(r==="top"||r==="bottom"||r==="both")&&(t.timelinePosition=r);break;case"minor-grid":t.minorGrid=r==="true";break;default:break}}function _u(t,e){let r=["none","xs","sm","md","lg","xl","full"],n=r.indexOf(e),i=r.indexOf(t);return i<0?"md":i>n?r[n]:r[i]}function vk(t,e,r){if(e)for(let n of e.properties)l_(t,Va(n),n.value,r)}function UB(t,e,r){for(let n of e){let i=Va(n);n.value!==void 0&&l_(t,i,n.value,r)}}function BB(t,e,r){let n=e.find(o=>Va(o)==="labels");if(!n)return;let i=n.value?[n.value]:n.values;for(let o of i){let s=r.labels.get(o);if(!s)continue;let a=s.properties.find(c=>Va(c)==="style");a?.value&&vk(t,r.styles.get(a.value),r.theme)}}function XB(t,e,r){let n=e.find(i=>Va(i)==="style");n?.value&&vk(t,r.styles.get(n.value),r.theme)}function xt(t,e,r){let n=r.theme.entities[t],i=FB(n,r.theme),o=r.defaults.get(t);if(o)for(let s of o.properties)s.value!==void 0&&l_(i,Va(s),s.value,r.theme);return BB(i,e,r),XB(i,e,r),UB(i,e,r.theme),i}function kk(t,e){return xt("label",t.properties,e)}var Nk={none:0,xs:2,sm:4,md:8,lg:16,xl:24},Pk={none:0,xs:4,sm:8,md:12,lg:20,xl:32};var Ya={none:0,xs:10,sm:12,md:14,lg:18,xl:24},ah={none:0,xs:2,sm:4,md:8,lg:12,xl:20,full:9999};var kr=8,Tn=4,Eu=24,ch=15,Ru=8,lh=22,uh=15,bu=16,fh=6,u_=4,f_=11,d_=9,p_=5.5,h_=4,Ka=12,dh="6 4",m_=36,Fi=16,g_=Fi/2,wu=10,y_=Fi-4,Za=6,ph=2.25,Yr=6,Kr=2*Yr,Ck=5,Ok=120,x_=240,hh=72,Au=28,Zr=16,T_=22,Iu=18,mh="Powered by",__="https://nowline.io",Su=.22,Ui=40,gh=32,Lk=.58,GB=mh.length*gh*Lk,HB=10,vu=GB+HB,E_=vu+74,R_=5,yh=vu+81,jB=3*Ui*Lk,WB=yh+jB,qB=12+Ui,b_=WB*Su,Dk=qB*Su,w_=4;var He={sans:'system-ui, -apple-system, "Segoe UI", Roboto, sans-serif',serif:'Georgia, "Times New Roman", serif',mono:"ui-monospace, SFMono-Regular, Menlo, Consolas, monospace"},$k={days:7,weeks:4,months:3,quarters:4,years:5};var xh=class{constructor(e,r){le(this,"node");le(this,"deps");this.node=e,this.deps=r}get id(){return this.node.name??""}place(e,r){let{node:n}=this,{deps:i}=this,o=xt("group",n.properties,r.styleCtx),s=e.x,a=n.title??n.name,c=r.currentFlowKey;r.currentFlowKey=`${c}/group:${n.name??"g"}`;let l=o.bg!=="none"&&o.bg!=="#ffffff"&&!!a,u=l?bu+u_:0,f=l?h_:0,d=!l&&a?Ka:0,p=e.y+d,m=r.bandScale.step(),y=s,R=new za({laneLeftX:y,originY:p+u,minRowHeight:m,slackCorridors:r.slackCorridors}),T=y,E=[];for(let ie of n.content){if(ie.$type==="DescriptionDirective")continue;if(!gr(ie)){let pe=ie.properties??[],it=i.resolveChildStart(pe,T,y,r),{rowIndex:We,y:Ye}=R.placeBlock(),G=i.newCursor(it,Ye),Z=i.sequenceOne(ie,G,r);E.push(Z);let ee=Z.box.x+Z.box.width,P=Math.max(m,G.height);R.commitBlock({rowIndex:We,placed:Z,blockHeight:P,blockEnd:ee}),T=Math.max(T,ee);continue}let Ae=ie.properties,O=i.resolveChildStart(Ae,T,y,r),w=Mi(Ae,r.sizes,r.cal),L=Math.max(kr,w*r.timeline.pixelsPerDay),M=O+L,A=ie.name??"",I=i.predictItemChipExtraHeight(ie,r),S=m+I,{rowIndex:B,y:H}=R.placeItem({childId:A,desiredStart:O,desiredEnd:M,predictedHeight:S}),$=i.newCursor(O,H),q=i.sequenceItem(ie,$,r);E.push(q);let K=q.box.x+q.box.width+Yr;T=Math.max(T,K);let xe=null;(q.textSpills||q.chipsOutside||q.dotSpills||q.iconSpills||q.footnoteSpills)&&(xe=Math.max(q.decorationsRightX,q.chipsOutside?q.chipsRightX:0)+6),R.commitItem({rowIndex:B,placed:q,logicalEnd:K,spillReservation:xe,rowHeight:S})}let _=Math.max(m,R.usedHeight()),k=Math.max(T,R.usedRightX()),D={x:s,y:p,width:k-s,height:u+_+f};e.x=T+Ru,e.maxX=Math.max(e.maxX,e.x);let C=r.bandScale.step()-r.bandScale.bandwidth();e.height=Math.max(e.height,d+D.height+C);let j=n.name;j&&(r.entityLeftEdges.set(j,D.x),r.entityRightEdges.set(j,D.x+D.width)),r.currentFlowKey=c;let V=oh({box:D,afterDate:Hn(yt(n.properties,"after")),beforeDate:Hn(yt(n.properties,"before"))});return{kind:"group",id:j,title:a,box:D,children:E,style:o,inlineDatePins:V.length>0?V:void 0}}};var A_=12,zB=4,VB=13,YB=11;function Mk(t,e){return t.length*e*.58}var Th=class{constructor(e){le(this,"input");this.input=e}get id(){return this.input.id}measure(e){return{width:Math.max(kr,this.input.logicalRightX-this.input.logicalLeftX),height:e.bands.bandwidth()}}place(e,r){let n=this.measure(r),i=Math.max(kr,n.width-2*Yr),o=e.x+Yr,s={x:o,y:e.y,width:i,height:n.height},a=this.input.hasLinkIcon?20+KB-A_:0,c=A_+Math.max(0,a),l=Math.max(0,i-c-A_),u=this.input.title,f=u?Mk(u,VB):0,d=this.input.metaText?Mk(this.input.metaText,YB):0,p=this.input.metaTrailingWidth??0,m=d+p,y=this.input.metaText!==void 0||p>0,R=u.length>0&&f>l||y&&m>l,T=R?o+i+zB:o+c;return{id:this.input.id,box:s,textX:T,textSpills:R}}},KB=4;var _h=class{constructor(e,r){le(this,"node");le(this,"deps");this.node=e,this.deps=r}get id(){return this.node.name??""}place(e,r){let{node:n}=this,{deps:i}=this,o=xt("parallel",n.properties,r.styleCtx),s=e.x,a=e.y,c=[],l=s,u=0,f=r.currentFlowKey,d=n.name??"p",p=0;for(let T of n.content){if(T.$type==="DescriptionDirective")continue;r.currentFlowKey=`${f}/par:${d}#${p}`;let E=i.newCursor(s,a+u),_=i.sequenceOne(T,E,r);c.push(_),u+=Math.max(r.bandScale.step(),E.height),l=Math.max(l,E.maxX),p++}r.currentFlowKey=f;let m={x:s,y:a,width:l-s,height:u};e.x=l+Ru,e.maxX=Math.max(e.maxX,e.x),e.height=Math.max(e.height,u);let y=n.name;y&&(r.entityLeftEdges.set(y,m.x),r.entityRightEdges.set(y,m.x+m.width));let R=oh({box:m,afterDate:Hn(yt(n.properties,"after")),beforeDate:Hn(yt(n.properties,"before"))});return{kind:"parallel",id:y,title:n.title??n.name,box:m,children:c,style:o,inlineDatePins:R.length>0?R:void 0}}};function jo(t,e){return t==null||e==null?NaN:t<e?-1:t>e?1:t>=e?0:NaN}function I_(t,e){return t==null||e==null?NaN:e<t?-1:e>t?1:e>=t?0:NaN}function Wo(t){let e,r,n;t.length!==2?(e=jo,r=(a,c)=>jo(t(a),c),n=(a,c)=>t(a)-c):(e=t===jo||t===I_?t:ZB,r=t,n=t);function i(a,c,l=0,u=a.length){if(l<u){if(e(c,c)!==0)return u;do{let f=l+u>>>1;r(a[f],c)<0?l=f+1:u=f}while(l<u)}return l}function o(a,c,l=0,u=a.length){if(l<u){if(e(c,c)!==0)return u;do{let f=l+u>>>1;r(a[f],c)<=0?l=f+1:u=f}while(l<u)}return l}function s(a,c,l=0,u=a.length){let f=i(a,c,l,u-1);return f>l&&n(a[f-1],c)>-n(a[f],c)?f-1:f}return{left:i,center:s,right:o}}function ZB(){return 0}function S_(t){return t===null?NaN:+t}var Fk=Wo(jo),Uk=Fk.right,JB=Fk.left,QB=Wo(S_).center,v_=Uk;var Ja=class extends Map{constructor(e,r=r2){if(super(),Object.defineProperties(this,{_intern:{value:new Map},_key:{value:r}}),e!=null)for(let[n,i]of e)this.set(n,i)}get(e){return super.get(Bk(this,e))}has(e){return super.has(Bk(this,e))}set(e,r){return super.set(e2(this,e),r)}delete(e){return super.delete(t2(this,e))}};function Bk({_intern:t,_key:e},r){let n=e(r);return t.has(n)?t.get(n):r}function e2({_intern:t,_key:e},r){let n=e(r);return t.has(n)?t.get(n):(t.set(n,r),r)}function t2({_intern:t,_key:e},r){let n=e(r);return t.has(n)&&(r=t.get(n),t.delete(n)),r}function r2(t){return t!==null&&typeof t=="object"?t.valueOf():t}var n2=Math.sqrt(50),i2=Math.sqrt(10),o2=Math.sqrt(2);function Xk(t,e,r){let n=(e-t)/Math.max(0,r),i=Math.floor(Math.log10(n)),o=n/Math.pow(10,i),s=o>=n2?10:o>=i2?5:o>=o2?2:1,a,c,l;return i<0?(l=Math.pow(10,-i)/s,a=Math.round(t*l),c=Math.round(e*l),a/l<t&&++a,c/l>e&&--c,l=-l):(l=Math.pow(10,i)*s,a=Math.round(t/l),c=Math.round(e/l),a*l<t&&++a,c*l>e&&--c),c<a&&.5<=r&&r<2?Xk(t,e,r*2):[a,c,l]}function k_(t,e,r){return e=+e,t=+t,r=+r,Xk(t,e,r)[2]}function Eh(t,e,r){e=+e,t=+t,r=+r;let n=e<t,i=n?k_(e,t,r):k_(t,e,r);return(n?-1:1)*(i<0?1/-i:i)}function Rh(t,e,r){t=+t,e=+e,r=(i=arguments.length)<2?(e=t,t=0,1):i<3?1:+r;for(var n=-1,i=Math.max(0,Math.ceil((e-t)/r))|0,o=new Array(i);++n<i;)o[n]=t+n*r;return o}function Qa(t,e){switch(arguments.length){case 0:break;case 1:this.range(t);break;default:this.range(e).domain(t);break}return this}var Gk=Symbol("implicit");function bh(){var t=new Ja,e=[],r=[],n=Gk;function i(o){let s=t.get(o);if(s===void 0){if(n!==Gk)return n;t.set(o,s=e.push(o)-1)}return r[s%r.length]}return i.domain=function(o){if(!arguments.length)return e.slice();e=[],t=new Ja;for(let s of o)t.has(s)||t.set(s,e.push(s)-1);return i},i.range=function(o){return arguments.length?(r=Array.from(o),i):r.slice()},i.unknown=function(o){return arguments.length?(n=o,i):n},i.copy=function(){return bh(e,r).unknown(n)},Qa.apply(i,arguments),i}function ku(){var t=bh().unknown(void 0),e=t.domain,r=t.range,n=0,i=1,o,s,a=!1,c=0,l=0,u=.5;delete t.unknown;function f(){var d=e().length,p=i<n,m=p?i:n,y=p?n:i;o=(y-m)/Math.max(1,d-c+l*2),a&&(o=Math.floor(o)),m+=(y-m-o*(d-c))*u,s=o*(1-c),a&&(m=Math.round(m),s=Math.round(s));var R=Rh(d).map(function(T){return m+o*T});return r(p?R.reverse():R)}return t.domain=function(d){return arguments.length?(e(d),f()):e()},t.range=function(d){return arguments.length?([n,i]=d,n=+n,i=+i,f()):[n,i]},t.rangeRound=function(d){return[n,i]=d,n=+n,i=+i,a=!0,f()},t.bandwidth=function(){return s},t.step=function(){return o},t.round=function(d){return arguments.length?(a=!!d,f()):a},t.padding=function(d){return arguments.length?(c=Math.min(1,l=+d),f()):c},t.paddingInner=function(d){return arguments.length?(c=Math.min(1,d),f()):c},t.paddingOuter=function(d){return arguments.length?(l=+d,f()):l},t.align=function(d){return arguments.length?(u=Math.max(0,Math.min(1,d)),f()):u},t.copy=function(){return ku(e(),[n,i]).round(a).paddingInner(c).paddingOuter(l).align(u)},Qa.apply(f(),arguments)}function wh(t,e,r){t.prototype=e.prototype=r,r.constructor=t}function N_(t,e){var r=Object.create(t.prototype);for(var n in e)r[n]=e[n];return r}function Cu(){}var Nu=.7,Sh=1/Nu,ec="\\s*([+-]?\\d+)\\s*",Pu="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",_n="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",s2=/^#([0-9a-f]{3,8})$/,a2=new RegExp(`^rgb\\(${ec},${ec},${ec}\\)$`),c2=new RegExp(`^rgb\\(${_n},${_n},${_n}\\)$`),l2=new RegExp(`^rgba\\(${ec},${ec},${ec},${Pu}\\)$`),u2=new RegExp(`^rgba\\(${_n},${_n},${_n},${Pu}\\)$`),f2=new RegExp(`^hsl\\(${Pu},${_n},${_n}\\)$`),d2=new RegExp(`^hsla\\(${Pu},${_n},${_n},${Pu}\\)$`),Hk={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};wh(Cu,Bi,{copy(t){return Object.assign(new this.constructor,this,t)},displayable(){return this.rgb().displayable()},hex:jk,formatHex:jk,formatHex8:p2,formatHsl:h2,formatRgb:Wk,toString:Wk});function jk(){return this.rgb().formatHex()}function p2(){return this.rgb().formatHex8()}function h2(){return Zk(this).formatHsl()}function Wk(){return this.rgb().formatRgb()}function Bi(t){var e,r;return t=(t+"").trim().toLowerCase(),(e=s2.exec(t))?(r=e[1].length,e=parseInt(e[1],16),r===6?qk(e):r===3?new sr(e>>8&15|e>>4&240,e>>4&15|e&240,(e&15)<<4|e&15,1):r===8?Ah(e>>24&255,e>>16&255,e>>8&255,(e&255)/255):r===4?Ah(e>>12&15|e>>8&240,e>>8&15|e>>4&240,e>>4&15|e&240,((e&15)<<4|e&15)/255):null):(e=a2.exec(t))?new sr(e[1],e[2],e[3],1):(e=c2.exec(t))?new sr(e[1]*255/100,e[2]*255/100,e[3]*255/100,1):(e=l2.exec(t))?Ah(e[1],e[2],e[3],e[4]):(e=u2.exec(t))?Ah(e[1]*255/100,e[2]*255/100,e[3]*255/100,e[4]):(e=f2.exec(t))?Yk(e[1],e[2]/100,e[3]/100,1):(e=d2.exec(t))?Yk(e[1],e[2]/100,e[3]/100,e[4]):Hk.hasOwnProperty(t)?qk(Hk[t]):t==="transparent"?new sr(NaN,NaN,NaN,0):null}function qk(t){return new sr(t>>16&255,t>>8&255,t&255,1)}function Ah(t,e,r,n){return n<=0&&(t=e=r=NaN),new sr(t,e,r,n)}function m2(t){return t instanceof Cu||(t=Bi(t)),t?(t=t.rgb(),new sr(t.r,t.g,t.b,t.opacity)):new sr}function tc(t,e,r,n){return arguments.length===1?m2(t):new sr(t,e,r,n??1)}function sr(t,e,r,n){this.r=+t,this.g=+e,this.b=+r,this.opacity=+n}wh(sr,tc,N_(Cu,{brighter(t){return t=t==null?Sh:Math.pow(Sh,t),new sr(this.r*t,this.g*t,this.b*t,this.opacity)},darker(t){return t=t==null?Nu:Math.pow(Nu,t),new sr(this.r*t,this.g*t,this.b*t,this.opacity)},rgb(){return this},clamp(){return new sr(zo(this.r),zo(this.g),zo(this.b),vh(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:zk,formatHex:zk,formatHex8:g2,formatRgb:Vk,toString:Vk}));function zk(){return`#${qo(this.r)}${qo(this.g)}${qo(this.b)}`}function g2(){return`#${qo(this.r)}${qo(this.g)}${qo(this.b)}${qo((isNaN(this.opacity)?1:this.opacity)*255)}`}function Vk(){let t=vh(this.opacity);return`${t===1?"rgb(":"rgba("}${zo(this.r)}, ${zo(this.g)}, ${zo(this.b)}${t===1?")":`, ${t})`}`}function vh(t){return isNaN(t)?1:Math.max(0,Math.min(1,t))}function zo(t){return Math.max(0,Math.min(255,Math.round(t)||0))}function qo(t){return t=zo(t),(t<16?"0":"")+t.toString(16)}function Yk(t,e,r,n){return n<=0?t=e=r=NaN:r<=0||r>=1?t=e=NaN:e<=0&&(t=NaN),new Jr(t,e,r,n)}function Zk(t){if(t instanceof Jr)return new Jr(t.h,t.s,t.l,t.opacity);if(t instanceof Cu||(t=Bi(t)),!t)return new Jr;if(t instanceof Jr)return t;t=t.rgb();var e=t.r/255,r=t.g/255,n=t.b/255,i=Math.min(e,r,n),o=Math.max(e,r,n),s=NaN,a=o-i,c=(o+i)/2;return a?(e===o?s=(r-n)/a+(r<n)*6:r===o?s=(n-e)/a+2:s=(e-r)/a+4,a/=c<.5?o+i:2-o-i,s*=60):a=c>0&&c<1?0:s,new Jr(s,a,c,t.opacity)}function Jk(t,e,r,n){return arguments.length===1?Zk(t):new Jr(t,e,r,n??1)}function Jr(t,e,r,n){this.h=+t,this.s=+e,this.l=+r,this.opacity=+n}wh(Jr,Jk,N_(Cu,{brighter(t){return t=t==null?Sh:Math.pow(Sh,t),new Jr(this.h,this.s,this.l*t,this.opacity)},darker(t){return t=t==null?Nu:Math.pow(Nu,t),new Jr(this.h,this.s,this.l*t,this.opacity)},rgb(){var t=this.h%360+(this.h<0)*360,e=isNaN(t)||isNaN(this.s)?0:this.s,r=this.l,n=r+(r<.5?r:1-r)*e,i=2*r-n;return new sr(P_(t>=240?t-240:t+120,i,n),P_(t,i,n),P_(t<120?t+240:t-120,i,n),this.opacity)},clamp(){return new Jr(Kk(this.h),Ih(this.s),Ih(this.l),vh(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){let t=vh(this.opacity);return`${t===1?"hsl(":"hsla("}${Kk(this.h)}, ${Ih(this.s)*100}%, ${Ih(this.l)*100}%${t===1?")":`, ${t})`}`}}));function Kk(t){return t=(t||0)%360,t<0?t+360:t}function Ih(t){return Math.max(0,Math.min(1,t||0))}function P_(t,e,r){return(t<60?e+(r-e)*t/60:t<180?r:t<240?e+(r-e)*(240-t)/60:e)*255}function C_(t,e,r,n,i){var o=t*t,s=o*t;return((1-3*t+3*o-s)*e+(4-6*o+3*s)*r+(1+3*t+3*o-3*s)*n+s*i)/6}function Qk(t){var e=t.length-1;return function(r){var n=r<=0?r=0:r>=1?(r=1,e-1):Math.floor(r*e),i=t[n],o=t[n+1],s=n>0?t[n-1]:2*i-o,a=n<e-1?t[n+2]:2*o-i;return C_((r-n/e)*e,s,i,o,a)}}function eN(t){var e=t.length;return function(r){var n=Math.floor(((r%=1)<0?++r:r)*e),i=t[(n+e-1)%e],o=t[n%e],s=t[(n+1)%e],a=t[(n+2)%e];return C_((r-n/e)*e,i,o,s,a)}}var Ou=t=>()=>t;function y2(t,e){return function(r){return t+r*e}}function x2(t,e,r){return t=Math.pow(t,r),e=Math.pow(e,r)-t,r=1/r,function(n){return Math.pow(t+n*e,r)}}function tN(t){return(t=+t)==1?kh:function(e,r){return r-e?x2(e,r,t):Ou(isNaN(e)?r:e)}}function kh(t,e){var r=e-t;return r?y2(t,r):Ou(isNaN(t)?e:t)}var O_=(function t(e){var r=tN(e);function n(i,o){var s=r((i=tc(i)).r,(o=tc(o)).r),a=r(i.g,o.g),c=r(i.b,o.b),l=kh(i.opacity,o.opacity);return function(u){return i.r=s(u),i.g=a(u),i.b=c(u),i.opacity=l(u),i+""}}return n.gamma=t,n})(1);function rN(t){return function(e){var r=e.length,n=new Array(r),i=new Array(r),o=new Array(r),s,a;for(s=0;s<r;++s)a=tc(e[s]),n[s]=a.r||0,i[s]=a.g||0,o[s]=a.b||0;return n=t(n),i=t(i),o=t(o),a.opacity=1,function(c){return a.r=n(c),a.g=i(c),a.b=o(c),a+""}}}var Bte=rN(Qk),Xte=rN(eN);function nN(t,e){e||(e=[]);var r=t?Math.min(e.length,t.length):0,n=e.slice(),i;return function(o){for(i=0;i<r;++i)n[i]=t[i]*(1-o)+e[i]*o;return n}}function iN(t){return ArrayBuffer.isView(t)&&!(t instanceof DataView)}function oN(t,e){var r=e?e.length:0,n=t?Math.min(r,t.length):0,i=new Array(n),o=new Array(r),s;for(s=0;s<n;++s)i[s]=Vo(t[s],e[s]);for(;s<r;++s)o[s]=e[s];return function(a){for(s=0;s<n;++s)o[s]=i[s](a);return o}}function sN(t,e){var r=new Date;return t=+t,e=+e,function(n){return r.setTime(t*(1-n)+e*n),r}}function Xi(t,e){return t=+t,e=+e,function(r){return t*(1-r)+e*r}}function aN(t,e){var r={},n={},i;(t===null||typeof t!="object")&&(t={}),(e===null||typeof e!="object")&&(e={});for(i in e)i in t?r[i]=Vo(t[i],e[i]):n[i]=e[i];return function(o){for(i in r)n[i]=r[i](o);return n}}var D_=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,L_=new RegExp(D_.source,"g");function T2(t){return function(){return t}}function _2(t){return function(e){return t(e)+""}}function cN(t,e){var r=D_.lastIndex=L_.lastIndex=0,n,i,o,s=-1,a=[],c=[];for(t=t+"",e=e+"";(n=D_.exec(t))&&(i=L_.exec(e));)(o=i.index)>r&&(o=e.slice(r,o),a[s]?a[s]+=o:a[++s]=o),(n=n[0])===(i=i[0])?a[s]?a[s]+=i:a[++s]=i:(a[++s]=null,c.push({i:s,x:Xi(n,i)})),r=L_.lastIndex;return r<e.length&&(o=e.slice(r),a[s]?a[s]+=o:a[++s]=o),a.length<2?c[0]?_2(c[0].x):T2(e):(e=c.length,function(l){for(var u=0,f;u<e;++u)a[(f=c[u]).i]=f.x(l);return a.join("")})}function Vo(t,e){var r=typeof e,n;return e==null||r==="boolean"?Ou(e):(r==="number"?Xi:r==="string"?(n=Bi(e))?(e=n,O_):cN:e instanceof Bi?O_:e instanceof Date?sN:iN(e)?nN:Array.isArray(e)?oN:typeof e.valueOf!="function"&&typeof e.toString!="function"||isNaN(e)?aN:Xi)(t,e)}function $_(t,e){return t=+t,e=+e,function(r){return Math.round(t*(1-r)+e*r)}}function M_(t){return function(){return t}}function F_(t){return+t}var lN=[0,1];function rc(t){return t}function U_(t,e){return(e-=t=+t)?function(r){return(r-t)/e}:M_(isNaN(e)?NaN:.5)}function E2(t,e){var r;return t>e&&(r=t,t=e,e=r),function(n){return Math.max(t,Math.min(e,n))}}function R2(t,e,r){var n=t[0],i=t[1],o=e[0],s=e[1];return i<n?(n=U_(i,n),o=r(s,o)):(n=U_(n,i),o=r(o,s)),function(a){return o(n(a))}}function b2(t,e,r){var n=Math.min(t.length,e.length)-1,i=new Array(n),o=new Array(n),s=-1;for(t[n]<t[0]&&(t=t.slice().reverse(),e=e.slice().reverse());++s<n;)i[s]=U_(t[s],t[s+1]),o[s]=r(e[s],e[s+1]);return function(a){var c=v_(t,a,1,n)-1;return o[c](i[c](a))}}function uN(t,e){return e.domain(t.domain()).range(t.range()).interpolate(t.interpolate()).clamp(t.clamp()).unknown(t.unknown())}function w2(){var t=lN,e=lN,r=Vo,n,i,o,s=rc,a,c,l;function u(){var d=Math.min(t.length,e.length);return s!==rc&&(s=E2(t[0],t[d-1])),a=d>2?b2:R2,c=l=null,f}function f(d){return d==null||isNaN(d=+d)?o:(c||(c=a(t.map(n),e,r)))(n(s(d)))}return f.invert=function(d){return s(i((l||(l=a(e,t.map(n),Xi)))(d)))},f.domain=function(d){return arguments.length?(t=Array.from(d,F_),u()):t.slice()},f.range=function(d){return arguments.length?(e=Array.from(d),u()):e.slice()},f.rangeRound=function(d){return e=Array.from(d),r=$_,u()},f.clamp=function(d){return arguments.length?(s=d?!0:rc,u()):s!==rc},f.interpolate=function(d){return arguments.length?(r=d,u()):r},f.unknown=function(d){return arguments.length?(o=d,f):o},function(d,p){return n=d,i=p,u()}}function B_(){return w2()(rc,rc)}function X_(t,e){t=t.slice();var r=0,n=t.length-1,i=t[r],o=t[n],s;return o<i&&(s=r,r=n,n=s,s=i,i=o,o=s),t[r]=e.floor(i),t[n]=e.ceil(o),t}var G_=new Date,H_=new Date;function Ve(t,e,r,n){function i(o){return t(o=arguments.length===0?new Date:new Date(+o)),o}return i.floor=o=>(t(o=new Date(+o)),o),i.ceil=o=>(t(o=new Date(o-1)),e(o,1),t(o),o),i.round=o=>{let s=i(o),a=i.ceil(o);return o-s<a-o?s:a},i.offset=(o,s)=>(e(o=new Date(+o),s==null?1:Math.floor(s)),o),i.range=(o,s,a)=>{let c=[];if(o=i.ceil(o),a=a==null?1:Math.floor(a),!(o<s)||!(a>0))return c;let l;do c.push(l=new Date(+o)),e(o,a),t(o);while(l<o&&o<s);return c},i.filter=o=>Ve(s=>{if(s>=s)for(;t(s),!o(s);)s.setTime(s-1)},(s,a)=>{if(s>=s)if(a<0)for(;++a<=0;)for(;e(s,-1),!o(s););else for(;--a>=0;)for(;e(s,1),!o(s););}),r&&(i.count=(o,s)=>(G_.setTime(+o),H_.setTime(+s),t(G_),t(H_),Math.floor(r(G_,H_))),i.every=o=>(o=Math.floor(o),!isFinite(o)||!(o>0)?null:o>1?i.filter(n?s=>n(s)%o===0:s=>i.count(0,s)%o===0):i)),i}var Lu=Ve(()=>{},(t,e)=>{t.setTime(+t+e)},(t,e)=>e-t);Lu.every=t=>(t=Math.floor(t),!isFinite(t)||!(t>0)?null:t>1?Ve(e=>{e.setTime(Math.floor(e/t)*t)},(e,r)=>{e.setTime(+e+r*t)},(e,r)=>(r-e)/t):Lu);var bre=Lu.range;var En=Ve(t=>{t.setTime(t-t.getMilliseconds())},(t,e)=>{t.setTime(+t+e*1e3)},(t,e)=>(e-t)/1e3,t=>t.getUTCSeconds()),fN=En.range;var nc=Ve(t=>{t.setTime(t-t.getMilliseconds()-t.getSeconds()*1e3)},(t,e)=>{t.setTime(+t+e*6e4)},(t,e)=>(e-t)/6e4,t=>t.getMinutes()),A2=nc.range,Nh=Ve(t=>{t.setUTCSeconds(0,0)},(t,e)=>{t.setTime(+t+e*6e4)},(t,e)=>(e-t)/6e4,t=>t.getUTCMinutes()),I2=Nh.range;var ic=Ve(t=>{t.setTime(t-t.getMilliseconds()-t.getSeconds()*1e3-t.getMinutes()*6e4)},(t,e)=>{t.setTime(+t+e*36e5)},(t,e)=>(e-t)/36e5,t=>t.getHours()),S2=ic.range,Ph=Ve(t=>{t.setUTCMinutes(0,0,0)},(t,e)=>{t.setTime(+t+e*36e5)},(t,e)=>(e-t)/36e5,t=>t.getUTCHours()),v2=Ph.range;var qn=Ve(t=>t.setHours(0,0,0,0),(t,e)=>t.setDate(t.getDate()+e),(t,e)=>(e-t-(e.getTimezoneOffset()-t.getTimezoneOffset())*6e4)/864e5,t=>t.getDate()-1),k2=qn.range,$u=Ve(t=>{t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCDate(t.getUTCDate()+e)},(t,e)=>(e-t)/864e5,t=>t.getUTCDate()-1),N2=$u.range,Ch=Ve(t=>{t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCDate(t.getUTCDate()+e)},(t,e)=>(e-t)/864e5,t=>Math.floor(t/864e5)),P2=Ch.range;function Zo(t){return Ve(e=>{e.setDate(e.getDate()-(e.getDay()+7-t)%7),e.setHours(0,0,0,0)},(e,r)=>{e.setDate(e.getDate()+r*7)},(e,r)=>(r-e-(r.getTimezoneOffset()-e.getTimezoneOffset())*6e4)/6048e5)}var zn=Zo(0),oc=Zo(1),pN=Zo(2),hN=Zo(3),Gi=Zo(4),mN=Zo(5),gN=Zo(6),yN=zn.range,C2=oc.range,O2=pN.range,L2=hN.range,D2=Gi.range,$2=mN.range,M2=gN.range;function Jo(t){return Ve(e=>{e.setUTCDate(e.getUTCDate()-(e.getUTCDay()+7-t)%7),e.setUTCHours(0,0,0,0)},(e,r)=>{e.setUTCDate(e.getUTCDate()+r*7)},(e,r)=>(r-e)/6048e5)}var Qo=Jo(0),sc=Jo(1),xN=Jo(2),TN=Jo(3),Hi=Jo(4),_N=Jo(5),EN=Jo(6),RN=Qo.range,F2=sc.range,U2=xN.range,B2=TN.range,X2=Hi.range,G2=_N.range,H2=EN.range;var ac=Ve(t=>{t.setDate(1),t.setHours(0,0,0,0)},(t,e)=>{t.setMonth(t.getMonth()+e)},(t,e)=>e.getMonth()-t.getMonth()+(e.getFullYear()-t.getFullYear())*12,t=>t.getMonth()),j2=ac.range,Oh=Ve(t=>{t.setUTCDate(1),t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCMonth(t.getUTCMonth()+e)},(t,e)=>e.getUTCMonth()-t.getUTCMonth()+(e.getUTCFullYear()-t.getUTCFullYear())*12,t=>t.getUTCMonth()),W2=Oh.range;var yr=Ve(t=>{t.setMonth(0,1),t.setHours(0,0,0,0)},(t,e)=>{t.setFullYear(t.getFullYear()+e)},(t,e)=>e.getFullYear()-t.getFullYear(),t=>t.getFullYear());yr.every=t=>!isFinite(t=Math.floor(t))||!(t>0)?null:Ve(e=>{e.setFullYear(Math.floor(e.getFullYear()/t)*t),e.setMonth(0,1),e.setHours(0,0,0,0)},(e,r)=>{e.setFullYear(e.getFullYear()+r*t)});var q2=yr.range,Qr=Ve(t=>{t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCFullYear(t.getUTCFullYear()+e)},(t,e)=>e.getUTCFullYear()-t.getUTCFullYear(),t=>t.getUTCFullYear());Qr.every=t=>!isFinite(t=Math.floor(t))||!(t>0)?null:Ve(e=>{e.setUTCFullYear(Math.floor(e.getUTCFullYear()/t)*t),e.setUTCMonth(0,1),e.setUTCHours(0,0,0,0)},(e,r)=>{e.setUTCFullYear(e.getUTCFullYear()+r*t)});var z2=Qr.range;function wN(t,e,r,n,i,o){let s=[[En,1,1e3],[En,5,5*1e3],[En,15,15*1e3],[En,30,30*1e3],[o,1,6e4],[o,5,5*6e4],[o,15,15*6e4],[o,30,30*6e4],[i,1,36e5],[i,3,3*36e5],[i,6,6*36e5],[i,12,12*36e5],[n,1,864e5],[n,2,2*864e5],[r,1,6048e5],[e,1,2592e6],[e,3,3*2592e6],[t,1,31536e6]];function a(l,u,f){let d=u<l;d&&([l,u]=[u,l]);let p=f&&typeof f.range=="function"?f:c(l,u,f),m=p?p.range(l,+u+1):[];return d?m.reverse():m}function c(l,u,f){let d=Math.abs(u-l)/f,p=Wo(([,,R])=>R).right(s,d);if(p===s.length)return t.every(Eh(l/31536e6,u/31536e6,f));if(p===0)return Lu.every(Math.max(Eh(l,u,f),1));let[m,y]=s[d/s[p-1][2]<s[p][2]/d?p-1:p];return m.every(y)}return[a,c]}var[Y2,K2]=wN(Qr,Oh,Qo,Ch,Ph,Nh),[j_,W_]=wN(yr,ac,zn,qn,ic,nc);function q_(t){if(0<=t.y&&t.y<100){var e=new Date(-1,t.m,t.d,t.H,t.M,t.S,t.L);return e.setFullYear(t.y),e}return new Date(t.y,t.m,t.d,t.H,t.M,t.S,t.L)}function z_(t){if(0<=t.y&&t.y<100){var e=new Date(Date.UTC(-1,t.m,t.d,t.H,t.M,t.S,t.L));return e.setUTCFullYear(t.y),e}return new Date(Date.UTC(t.y,t.m,t.d,t.H,t.M,t.S,t.L))}function Mu(t,e,r){return{y:t,m:e,d:r,H:0,M:0,S:0,L:0}}function V_(t){var e=t.dateTime,r=t.date,n=t.time,i=t.periods,o=t.days,s=t.shortDays,a=t.months,c=t.shortMonths,l=Fu(i),u=Uu(i),f=Fu(o),d=Uu(o),p=Fu(s),m=Uu(s),y=Fu(a),R=Uu(a),T=Fu(c),E=Uu(c),_={a:S,A:B,b:H,B:$,c:null,d:NN,e:NN,f:TX,g:kX,G:PX,H:gX,I:yX,j:xX,L:DN,m:_X,M:EX,p:q,q:K,Q:ON,s:LN,S:RX,u:bX,U:wX,V:AX,w:IX,W:SX,x:null,X:null,y:vX,Y:NX,Z:CX,"%":CN},k={a:xe,A:Y,b:pe,B:it,c:null,d:PN,e:PN,f:$X,g:qX,G:VX,H:OX,I:LX,j:DX,L:MN,m:MX,M:FX,p:We,q:Ye,Q:ON,s:LN,S:UX,u:BX,U:XX,V:GX,w:HX,W:jX,x:null,X:null,y:WX,Y:zX,Z:YX,"%":CN},D={a:Ae,A:O,b:w,B:L,c:M,d:vN,e:vN,f:dX,g:SN,G:IN,H:kN,I:kN,j:cX,L:fX,m:aX,M:lX,p:ie,q:sX,Q:hX,s:mX,S:uX,u:tX,U:rX,V:nX,w:eX,W:iX,x:A,X:I,y:SN,Y:IN,Z:oX,"%":pX};_.x=C(r,_),_.X=C(n,_),_.c=C(e,_),k.x=C(r,k),k.X=C(n,k),k.c=C(e,k);function C(G,Z){return function(ee){var P=[],Te=-1,Ee=0,Ue=G.length,ft,U,Nr;for(ee instanceof Date||(ee=new Date(+ee));++Te<Ue;)G.charCodeAt(Te)===37&&(P.push(G.slice(Ee,Te)),(U=AN[ft=G.charAt(++Te)])!=null?ft=G.charAt(++Te):U=ft==="e"?" ":"0",(Nr=Z[ft])&&(ft=Nr(ee,U)),P.push(ft),Ee=Te+1);return P.push(G.slice(Ee,Te)),P.join("")}}function j(G,Z){return function(ee){var P=Mu(1900,void 0,1),Te=V(P,G,ee+="",0),Ee,Ue;if(Te!=ee.length)return null;if("Q"in P)return new Date(P.Q);if("s"in P)return new Date(P.s*1e3+("L"in P?P.L:0));if(Z&&!("Z"in P)&&(P.Z=0),"p"in P&&(P.H=P.H%12+P.p*12),P.m===void 0&&(P.m="q"in P?P.q:0),"V"in P){if(P.V<1||P.V>53)return null;"w"in P||(P.w=1),"Z"in P?(Ee=z_(Mu(P.y,0,1)),Ue=Ee.getUTCDay(),Ee=Ue>4||Ue===0?sc.ceil(Ee):sc(Ee),Ee=$u.offset(Ee,(P.V-1)*7),P.y=Ee.getUTCFullYear(),P.m=Ee.getUTCMonth(),P.d=Ee.getUTCDate()+(P.w+6)%7):(Ee=q_(Mu(P.y,0,1)),Ue=Ee.getDay(),Ee=Ue>4||Ue===0?oc.ceil(Ee):oc(Ee),Ee=qn.offset(Ee,(P.V-1)*7),P.y=Ee.getFullYear(),P.m=Ee.getMonth(),P.d=Ee.getDate()+(P.w+6)%7)}else("W"in P||"U"in P)&&("w"in P||(P.w="u"in P?P.u%7:"W"in P?1:0),Ue="Z"in P?z_(Mu(P.y,0,1)).getUTCDay():q_(Mu(P.y,0,1)).getDay(),P.m=0,P.d="W"in P?(P.w+6)%7+P.W*7-(Ue+5)%7:P.w+P.U*7-(Ue+6)%7);return"Z"in P?(P.H+=P.Z/100|0,P.M+=P.Z%100,z_(P)):q_(P)}}function V(G,Z,ee,P){for(var Te=0,Ee=Z.length,Ue=ee.length,ft,U;Te<Ee;){if(P>=Ue)return-1;if(ft=Z.charCodeAt(Te++),ft===37){if(ft=Z.charAt(Te++),U=D[ft in AN?Z.charAt(Te++):ft],!U||(P=U(G,ee,P))<0)return-1}else if(ft!=ee.charCodeAt(P++))return-1}return P}function ie(G,Z,ee){var P=l.exec(Z.slice(ee));return P?(G.p=u.get(P[0].toLowerCase()),ee+P[0].length):-1}function Ae(G,Z,ee){var P=p.exec(Z.slice(ee));return P?(G.w=m.get(P[0].toLowerCase()),ee+P[0].length):-1}function O(G,Z,ee){var P=f.exec(Z.slice(ee));return P?(G.w=d.get(P[0].toLowerCase()),ee+P[0].length):-1}function w(G,Z,ee){var P=T.exec(Z.slice(ee));return P?(G.m=E.get(P[0].toLowerCase()),ee+P[0].length):-1}function L(G,Z,ee){var P=y.exec(Z.slice(ee));return P?(G.m=R.get(P[0].toLowerCase()),ee+P[0].length):-1}function M(G,Z,ee){return V(G,e,Z,ee)}function A(G,Z,ee){return V(G,r,Z,ee)}function I(G,Z,ee){return V(G,n,Z,ee)}function S(G){return s[G.getDay()]}function B(G){return o[G.getDay()]}function H(G){return c[G.getMonth()]}function $(G){return a[G.getMonth()]}function q(G){return i[+(G.getHours()>=12)]}function K(G){return 1+~~(G.getMonth()/3)}function xe(G){return s[G.getUTCDay()]}function Y(G){return o[G.getUTCDay()]}function pe(G){return c[G.getUTCMonth()]}function it(G){return a[G.getUTCMonth()]}function We(G){return i[+(G.getUTCHours()>=12)]}function Ye(G){return 1+~~(G.getUTCMonth()/3)}return{format:function(G){var Z=C(G+="",_);return Z.toString=function(){return G},Z},parse:function(G){var Z=j(G+="",!1);return Z.toString=function(){return G},Z},utcFormat:function(G){var Z=C(G+="",k);return Z.toString=function(){return G},Z},utcParse:function(G){var Z=j(G+="",!0);return Z.toString=function(){return G},Z}}}var AN={"-":"",_:" ",0:"0"},Pt=/^\s*\d+/,Z2=/^%/,J2=/[\\^$*+?|[\]().{}]/g;function Ce(t,e,r){var n=t<0?"-":"",i=(n?-t:t)+"",o=i.length;return n+(o<r?new Array(r-o+1).join(e)+i:i)}function Q2(t){return t.replace(J2,"\\$&")}function Fu(t){return new RegExp("^(?:"+t.map(Q2).join("|")+")","i")}function Uu(t){return new Map(t.map((e,r)=>[e.toLowerCase(),r]))}function eX(t,e,r){var n=Pt.exec(e.slice(r,r+1));return n?(t.w=+n[0],r+n[0].length):-1}function tX(t,e,r){var n=Pt.exec(e.slice(r,r+1));return n?(t.u=+n[0],r+n[0].length):-1}function rX(t,e,r){var n=Pt.exec(e.slice(r,r+2));return n?(t.U=+n[0],r+n[0].length):-1}function nX(t,e,r){var n=Pt.exec(e.slice(r,r+2));return n?(t.V=+n[0],r+n[0].length):-1}function iX(t,e,r){var n=Pt.exec(e.slice(r,r+2));return n?(t.W=+n[0],r+n[0].length):-1}function IN(t,e,r){var n=Pt.exec(e.slice(r,r+4));return n?(t.y=+n[0],r+n[0].length):-1}function SN(t,e,r){var n=Pt.exec(e.slice(r,r+2));return n?(t.y=+n[0]+(+n[0]>68?1900:2e3),r+n[0].length):-1}function oX(t,e,r){var n=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(e.slice(r,r+6));return n?(t.Z=n[1]?0:-(n[2]+(n[3]||"00")),r+n[0].length):-1}function sX(t,e,r){var n=Pt.exec(e.slice(r,r+1));return n?(t.q=n[0]*3-3,r+n[0].length):-1}function aX(t,e,r){var n=Pt.exec(e.slice(r,r+2));return n?(t.m=n[0]-1,r+n[0].length):-1}function vN(t,e,r){var n=Pt.exec(e.slice(r,r+2));return n?(t.d=+n[0],r+n[0].length):-1}function cX(t,e,r){var n=Pt.exec(e.slice(r,r+3));return n?(t.m=0,t.d=+n[0],r+n[0].length):-1}function kN(t,e,r){var n=Pt.exec(e.slice(r,r+2));return n?(t.H=+n[0],r+n[0].length):-1}function lX(t,e,r){var n=Pt.exec(e.slice(r,r+2));return n?(t.M=+n[0],r+n[0].length):-1}function uX(t,e,r){var n=Pt.exec(e.slice(r,r+2));return n?(t.S=+n[0],r+n[0].length):-1}function fX(t,e,r){var n=Pt.exec(e.slice(r,r+3));return n?(t.L=+n[0],r+n[0].length):-1}function dX(t,e,r){var n=Pt.exec(e.slice(r,r+6));return n?(t.L=Math.floor(n[0]/1e3),r+n[0].length):-1}function pX(t,e,r){var n=Z2.exec(e.slice(r,r+1));return n?r+n[0].length:-1}function hX(t,e,r){var n=Pt.exec(e.slice(r));return n?(t.Q=+n[0],r+n[0].length):-1}function mX(t,e,r){var n=Pt.exec(e.slice(r));return n?(t.s=+n[0],r+n[0].length):-1}function NN(t,e){return Ce(t.getDate(),e,2)}function gX(t,e){return Ce(t.getHours(),e,2)}function yX(t,e){return Ce(t.getHours()%12||12,e,2)}function xX(t,e){return Ce(1+qn.count(yr(t),t),e,3)}function DN(t,e){return Ce(t.getMilliseconds(),e,3)}function TX(t,e){return DN(t,e)+"000"}function _X(t,e){return Ce(t.getMonth()+1,e,2)}function EX(t,e){return Ce(t.getMinutes(),e,2)}function RX(t,e){return Ce(t.getSeconds(),e,2)}function bX(t){var e=t.getDay();return e===0?7:e}function wX(t,e){return Ce(zn.count(yr(t)-1,t),e,2)}function $N(t){var e=t.getDay();return e>=4||e===0?Gi(t):Gi.ceil(t)}function AX(t,e){return t=$N(t),Ce(Gi.count(yr(t),t)+(yr(t).getDay()===4),e,2)}function IX(t){return t.getDay()}function SX(t,e){return Ce(oc.count(yr(t)-1,t),e,2)}function vX(t,e){return Ce(t.getFullYear()%100,e,2)}function kX(t,e){return t=$N(t),Ce(t.getFullYear()%100,e,2)}function NX(t,e){return Ce(t.getFullYear()%1e4,e,4)}function PX(t,e){var r=t.getDay();return t=r>=4||r===0?Gi(t):Gi.ceil(t),Ce(t.getFullYear()%1e4,e,4)}function CX(t){var e=t.getTimezoneOffset();return(e>0?"-":(e*=-1,"+"))+Ce(e/60|0,"0",2)+Ce(e%60,"0",2)}function PN(t,e){return Ce(t.getUTCDate(),e,2)}function OX(t,e){return Ce(t.getUTCHours(),e,2)}function LX(t,e){return Ce(t.getUTCHours()%12||12,e,2)}function DX(t,e){return Ce(1+$u.count(Qr(t),t),e,3)}function MN(t,e){return Ce(t.getUTCMilliseconds(),e,3)}function $X(t,e){return MN(t,e)+"000"}function MX(t,e){return Ce(t.getUTCMonth()+1,e,2)}function FX(t,e){return Ce(t.getUTCMinutes(),e,2)}function UX(t,e){return Ce(t.getUTCSeconds(),e,2)}function BX(t){var e=t.getUTCDay();return e===0?7:e}function XX(t,e){return Ce(Qo.count(Qr(t)-1,t),e,2)}function FN(t){var e=t.getUTCDay();return e>=4||e===0?Hi(t):Hi.ceil(t)}function GX(t,e){return t=FN(t),Ce(Hi.count(Qr(t),t)+(Qr(t).getUTCDay()===4),e,2)}function HX(t){return t.getUTCDay()}function jX(t,e){return Ce(sc.count(Qr(t)-1,t),e,2)}function WX(t,e){return Ce(t.getUTCFullYear()%100,e,2)}function qX(t,e){return t=FN(t),Ce(t.getUTCFullYear()%100,e,2)}function zX(t,e){return Ce(t.getUTCFullYear()%1e4,e,4)}function VX(t,e){var r=t.getUTCDay();return t=r>=4||r===0?Hi(t):Hi.ceil(t),Ce(t.getUTCFullYear()%1e4,e,4)}function YX(){return"+0000"}function CN(){return"%"}function ON(t){return+t}function LN(t){return Math.floor(+t/1e3)}var cc,Lh,UN,BN,XN;Y_({dateTime:"%x, %X",date:"%-m/%-d/%Y",time:"%-I:%M:%S %p",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]});function Y_(t){return cc=V_(t),Lh=cc.format,UN=cc.parse,BN=cc.utcFormat,XN=cc.utcParse,cc}function KX(t){return new Date(t)}function ZX(t){return t instanceof Date?+t:+new Date(+t)}function GN(t,e,r,n,i,o,s,a,c,l){var u=B_(),f=u.invert,d=u.domain,p=l(".%L"),m=l(":%S"),y=l("%I:%M"),R=l("%I %p"),T=l("%a %d"),E=l("%b %d"),_=l("%B"),k=l("%Y");function D(C){return(c(C)<C?p:a(C)<C?m:s(C)<C?y:o(C)<C?R:n(C)<C?i(C)<C?T:E:r(C)<C?_:k)(C)}return u.invert=function(C){return new Date(f(C))},u.domain=function(C){return arguments.length?d(Array.from(C,ZX)):d().map(KX)},u.ticks=function(C){var j=d();return t(j[0],j[j.length-1],C??10)},u.tickFormat=function(C,j){return j==null?D:l(j)},u.nice=function(C){var j=d();return(!C||typeof C.range!="function")&&(C=e(j[0],j[j.length-1],C??10)),C?d(X_(j,C)):u},u.copy=function(){return uN(u,GN(t,e,r,n,i,o,s,a,c,l))},u}function Dh(){return Qa.apply(GN(j_,W_,yr,ac,zn,qn,ic,nc,En,Lh).domain([new Date(2e3,0,1),new Date(2e3,0,2)]),arguments)}var K_=class t{constructor(e,r,n){le(this,"bandwidthPx");le(this,"stepPx");le(this,"d3");this.bandwidthPx=e,this.stepPx=r,this.d3=n}static fixedRow(e){return new t(e.bandwidth,e.step)}static forRows(e){let r=Array.from({length:e.count},(i,o)=>String(o)),n=ku().domain(r).range(e.range).paddingInner(e.paddingInner??0).paddingOuter(e.paddingOuter??0);return new t(n.bandwidth(),n.step(),n)}bandwidth(){return this.bandwidthPx}step(){return this.stepPx}forward(e){if(!this.d3)throw new Error("BandScale.forward is only available on closed-domain bands (BandScale.forRows)");let r=this.d3(e);if(r===void 0)throw new Error(`BandScale: unknown band id "${e}"`);return r}},JX={bandwidth:56,step:64};function HN(){return K_.fixedRow(JX)}var $h=class{constructor(e){le(this,"domain");le(this,"range");le(this,"pixelsPerDay");le(this,"calendar");le(this,"d3");this.domain=e.domain,this.range=e.range,this.calendar=e.calendar;let r=Math.max(1,vr(e.domain[0],e.domain[1]));this.pixelsPerDay=(e.range[1]-e.range[0])/r,this.d3=Dh().domain(e.domain).range(e.range)}forward(e){let r=vr(this.domain[0],e);return this.range[0]+r*this.pixelsPerDay}forwardWithinDomain(e){return e<this.domain[0]||e>this.domain[1]?null:this.forward(e)}invert(e){return this.d3.invert(e)}get originX(){return this.range[0]}get widthPx(){return this.range[1]-this.range[0]}};function Mh(t){return t.endsWith(":")?t.slice(0,-1):t}function jN(t,e){let n=t.roadmapDecl?.properties.find(c=>Mh(c.key)==="scale")?.value,i="weeks",o,s;if(n)if(n==="days"||n==="weeks"||n==="months"||n==="quarters"||n==="years")i=n;else{let c=/^(\d+)([dwmqy])$/.exec(n);if(c){let l=Math.max(1,parseInt(c[1],10));switch(c[2]){case"d":i="days";break;case"w":i="weeks";break;case"m":i="months";break;case"q":i="quarters";break;case"y":i="years";break}o=Fh(i)*l,s=1}}let a=s??$k[i]??4;if(e){let l=e.properties.find(m=>Mh(m.key)==="unit")?.value??i,u=e.properties.find(m=>Mh(m.key)==="label-every"),f=e.properties.find(m=>Mh(m.key)==="pixels-per-unit"),d=u?Math.max(1,parseInt(u.value,10)||a):a,p=f?Math.max(1,parseInt(f.value,10)||Fh(l)):o??Fh(l);return{unit:l,labelEvery:d,pixelsPerUnit:p}}return{unit:i,labelEvery:a,pixelsPerUnit:o??Fh(i)}}function Fh(t){switch(t){case"days":return Ck;case"weeks":return 40;case"months":return 80;case"quarters":return 160;case"years":return 320}}function WN(t,e,r,n=yu){let i=r.daysPerUnit(e.unit),o=i*t.pixelsPerDay,s=Math.max(1,Math.round(t.widthPx/t.pixelsPerDay)),a=Math.floor(s/i)+1,c=[];for(let l=0;l<a;l++){let u=l*i,f=t.originX+u*t.pixelsPerDay,d=l%e.labelEvery===0,p=l===a-1;c.push({x:f,labelX:p?void 0:f+o/2,major:d,label:d&&!p?QX(e.unit,Go(t.domain[0],u),l,n):void 0})}return c}function QX(t,e,r,n){switch(t){case"days":return`${e.getUTCMonth()+1}/${e.getUTCDate()}`;case"weeks":{let i=e.toLocaleString(n,{month:"short",timeZone:"UTC"}),o=e.getUTCDate().toString().padStart(2,"0");return`${i} ${o}`}case"months":return e.toLocaleString(n,{month:"short",timeZone:"UTC"});case"quarters":{let i=Math.floor(e.getUTCMonth()/3)+1;return`${nh(n).quarterPrefix}${i} ${e.getUTCFullYear()}`}case"years":return`${e.getUTCFullYear()}`}}function qN(t){return{daysPerUnit:e=>Z_(e,t),addUnits:(e,r,n)=>Go(e,r*Z_(n,t)),isWorkingDay:()=>!0}}function zN(t,e){return Z_(t,e)}function Z_(t,e){switch(t){case"days":return 1;case"weeks":return e.daysPerWeek;case"months":return e.daysPerMonth;case"quarters":return e.daysPerQuarter;case"years":return e.daysPerYear}}var J_=class{constructor(e,r){le(this,"id");le(this,"anchor");this.id=e,this.anchor=r}place(e,r){let n=se(this.anchor.properties,"date"),i=Et(n);if(!i)return null;let o=e.scale.forwardWithinDomain(i);if(o===null)return null;let s=xt("anchor",this.anchor.properties,e.styleCtx),a=e.markerRowPlacements.get(this.id),c=a?.centerY??e.timeline.markerRow.y,l={x:o,y:c},u=a?.labelBox??{x:o+6+6,y:c-4,width:0,height:12},f=a?.labelSide??"right";return e.entityLeftEdges.set(this.id,o),e.entityRightEdges.set(this.id,o),e.entityMidpoints.set(this.id,l),{id:this.id,title:this.anchor.title??this.id,center:l,radius:6,style:s,predecessorPoints:[],cutTopY:e.chartTopY,cutBottomY:e.swimlaneBottomY,bumpedUp:(a?.rowIndex??0)>0,labelBox:u,labelSide:f}}};function YN(t,e,r){let n=[];for(let[i,o]of t){let s=new J_(i,o).place(e,r);s&&n.push(s)}return n}function Q_(t,e,r){let n=[],i=new Map,o=new Map;return[...t.entries()].sort(([c],[l])=>c.localeCompare(l)).forEach(([c,l],u)=>{let f=u+1;i.set(c,f),o.set(c,yt(l.properties,"on")),n.push({number:f,title:l.title??c,description:l.description?.text,style:xt("footnote",l.properties,e.styleCtx)})}),{area:{box:{x:Zr,y:r+Zr,width:e.chartRightX-2*Zr,height:n.length===0?0:Au+n.length*Iu+Zr},entries:n},index:i,hosts:o}}var eG=.8,tG=1;function rG(t){let e=[];return ZN(t,e),e}function ZN(t,e){for(let r of t)if(r.kind==="item"){let n=nG(r);n>0&&r.box.width>0&&e.push({startX:r.box.x,endX:r.box.x+r.box.width,load:n})}else(r.kind==="parallel"||r.kind==="group")&&ZN(r.children,e)}function nG(t){return t.capacity?t.capacity.value:t.size?1:0}function JN(t){if(t.capacityValue<=0||t.warnFraction===null&&t.overFraction===null)return null;let e=rG(t.children);if(e.length===0)return null;let r=new Set;for(let s of e)r.add(s.startX),r.add(s.endX);let n=Array.from(r).sort((s,a)=>s-a);if(n.length<2)return null;let i=[];for(let s=0;s<n.length-1;s++){let a=n[s],c=n[s+1],l=(a+c)/2,u=0;for(let f of e)f.startX<=l&&l<f.endX&&(u+=f.load);i.push({startX:a,endX:c,load:u,classification:iG(u,t.capacityValue,t.warnFraction,t.overFraction)})}let o=[];for(let s of i){let a=o[o.length-1];a&&a.classification===s.classification&&a.endX===s.startX?a.endX=s.endX:o.push({...s})}return{segments:o,capacityValue:t.capacityValue,warnFraction:t.warnFraction,overFraction:t.overFraction}}function iG(t,e,r,n){let i=t/e;return n!==null&&i>=n?"red":r!==null&&i>=r?"yellow":"green"}function QN(t,e){let r=e.get("swimlane"),n=KN(se(t.properties,"utilization-warn-at"),r?se(r.properties,"utilization-warn-at"):void 0,eG),i=KN(se(t.properties,"utilization-over-at"),r?se(r.properties,"utilization-over-at"):void 0,tG);return{warn:n,over:i}}function KN(t,e,r){let i=aG(t??e);return i.kind==="unset"?r:i.kind==="none"?null:i.value}var oG=/^\d+(?:\.\d+)?%$/,sG=/^\d+\.\d+$/;function aG(t){if(t===void 0)return{kind:"unset"};if(t==="none")return{kind:"none"};if(oG.test(t)){let e=parseFloat(t)/100;return Number.isFinite(e)&&e>0?{kind:"number",value:e}:{kind:"unset"}}if(sG.test(t)){let e=parseFloat(t);return Number.isFinite(e)&&e>0?{kind:"number",value:e}:{kind:"unset"}}return{kind:"unset"}}var eP=10;function cG(t,e,r){let n=se(t.properties,"capacity"),i=$i(n);if(i===null)return{capacity:null,badgeWidthPx:0};let o=pu(i),s=hu(e.capacityIcon,r),a=Xo(o,s,eP);return{capacity:{value:i,text:o,icon:s},badgeWidthPx:a}}var lG=10,uG=38,fG=8;function dG(t,e,r){let n=t.title??t.name??"";if(!n)return 0;let i=se(t.properties,"owner");return mu(0,n,i??void 0,e,r).rightX}function pG(t,e){if(!t.name)return[];let r=[];for(let[n,i]of e.footnoteHosts.entries())if(i.includes(t.name)){let o=e.footnoteIndex.get(n);o!==void 0&&r.push(o)}return r.sort((n,i)=>n-i),r}function hG(t,e,r,n){for(let i of t.content){if(i.$type==="DescriptionDirective")continue;let o=gr(i)?i.properties:i.properties??[];return n.resolveChildStart(o,e,e,r)}}var lc=class{constructor(e,r){le(this,"input");le(this,"deps");this.input=e,this.deps=r}get id(){return this.input.lane.name??""}place(e,r){let{lane:n,bandIndex:i}=this.input,{deps:o}=this,s=xt("swimlane",n.properties,r.styleCtx),a=e.x,c=r.bandScale.step(),l=r.currentFlowKey;r.currentFlowKey=`lane:${n.name??i}`;let{capacity:u,badgeWidthPx:f}=cG(n,s,r.symbols),d=pG(n,r),p=d.length>0?o.estimateTextWidth(d.join(","),eP):0,m=dG(n,f,p),y=hG(n,a,r,o),R=!n.title||y===void 0||y>=m+fG,T=e.y+(R?lG:uG),E=new za({laneLeftX:a,originY:T,minRowHeight:c,slackCorridors:r.slackCorridors}),_=a,k=[];for(let w of n.content){if(w.$type==="DescriptionDirective")continue;if(!gr(w)){let Ye=w.properties??[],G=o.resolveChildStart(Ye,_,a,r),{rowIndex:Z,y:ee}=E.placeBlock(),P=o.newCursor(G,ee),Te=o.sequenceOne(w,P,r);k.push(Te);let Ee=Te.box.x+Te.box.width,Ue=Math.max(c,P.height);E.commitBlock({rowIndex:Z,placed:Te,blockHeight:Ue,blockEnd:Ee}),_=Math.max(_,Ee);continue}let L=w.properties,M=o.resolveChildStart(L,_,a,r),A=Mi(L,r.sizes,r.cal),I=Math.max(kr,A*r.timeline.pixelsPerDay),S=M+I,B=w.name??"",H=o.predictItemChipExtraHeight(w,r),$=c+H,{rowIndex:q,y:K}=E.placeItem({childId:B,desiredStart:M,desiredEnd:S,predictedHeight:$}),xe=o.newCursor(M,K),Y=o.sequenceItem(w,xe,r);k.push(Y);let pe=Y.box.x+Y.box.width+Yr;_=Math.max(_,pe);let it=null;(Y.textSpills||Y.chipsOutside||Y.dotSpills||Y.iconSpills||Y.footnoteSpills)&&(it=Math.max(Y.decorationsRightX,Y.chipsOutside?Y.chipsRightX:0)+6),E.commitItem({rowIndex:q,placed:Y,logicalEnd:pe,spillReservation:it,rowHeight:$})}let D=T-e.y,C=Math.max(c+32,D+E.usedHeight()+16),j=Math.max(E.usedRightX(),m),V={x:0,y:e.y,width:r.chartRightX,height:C},ie=se(n.properties,"owner"),Ae;if(ie){let w=r.teams.get(ie),L=r.persons.get(ie);Ae=w?.title??L?.title??ie}let O=u?(()=>{let{warn:w,over:L}=QN(n,r.styleCtx.defaults);return JN({children:k,capacityValue:u.value,warnFraction:w,overFraction:L})})():null;return r.currentFlowKey=l,{positioned:{id:n.name,title:n.title??n.name??"",box:V,bandIndex:i,children:k,nested:[],style:s,owner:Ae,footnoteIndicators:d,capacity:u,utilization:O},usedHeight:C,usedRightX:j}}};var mG=18,gG=14,yG=14,xG=16,TG=32;function tP(t,e,r,n){let i=r+mG,o=[],s=!0;for(let a of t){s||(i+=xG),s=!1;let c=a.content.roadmap?.title??a.sourcePath,l=i+gG,u={cal:e.cal,styleCtx:{theme:e.styleCtx.theme,styles:a.config.styles,defaults:a.config.defaults,labels:a.content.labels},sizes:th(a.content.sizes,e.cal),labels:a.content.labels,teams:a.content.teams,persons:a.content.persons,symbols:a.config.symbols,footnoteIndex:new Map,footnoteHosts:new Map,timeline:e.timeline,scale:e.scale,calendar:e.calendar,bandScale:e.bandScale,entityLeftEdges:new Map,entityRightEdges:new Map,entityMidpoints:new Map,entityVisualLeftX:new Map,entityVisualRightX:new Map,itemArrowSource:new Map,itemFlowKey:new Map,currentFlowKey:"",itemSlackAttachY:new Map,slackCorridors:[],markerRowPlacements:new Map,chartTopY:l,chartBottomY:l,swimlaneBottomY:l,chartRightX:e.chartRightX},f=[],d=l,p=0,m=u.timeline.originX;for(let C of a.content.swimlanes.values()){let{positioned:j,usedHeight:V,usedRightX:ie}=new lc({lane:C,bandIndex:p},n).place({x:u.timeline.originX,y:d},u);f.push(j),d+=V,p++,ie>m&&(m=ie)}let y=d,R=Math.max(e.bandScale.bandwidth(),y-i+yG),T=0,{chromeRightX:E}=gu(T,c,a.sourcePath),_=Math.max(E,m)+TG,k=Math.min(e.chartRightX-T,_-T),D={x:T,y:i,width:k,height:R};for(let C of f)C.box.width=k;o.push({sourcePath:a.sourcePath,label:c,box:D,nestedSwimlanes:f,style:xt("swimlane",[],e.styleCtx)}),i+=R}return{regions:o,endY:i}}function Xh(t,e){let r=[];for(let n of t){let o=e.entityVisualRightX.get(n)??e.entityRightEdges.get(n);if(o===void 0)continue;let s=e.itemSlackAttachY.get(n)??e.entityMidpoints.get(n)?.y??0,a=e.itemFlowKey.get(n)??`marker:${n}`;r.push({ref:n,x:o,y:s,flowKey:a})}return r}function Gh(t){let e=new Map;for(let r of t){let n=e.get(r.flowKey);(!n||r.x>n.x)&&e.set(r.flowKey,r)}return Array.from(e.values())}function rP(t,e,r,n,i,o,s,a){let c=n.length*i*.58*(o?1.05:1),l=t+r+6,u=t-r-6-c,f=l+c<=a,d=u>=s,p=f?"right":d?"left":"right";return{box:{x:p==="right"?l:u,y:e-4,width:c,height:12},side:p}}var eE=class{constructor(e,r){le(this,"id");le(this,"milestone");this.id=e,this.milestone=r}place(e){let r=this.milestone,n=xt("milestone",r.properties,e.styleCtx),i=se(r.properties,"date"),o=yt(r.properties,"after"),s=Et(i),a=e.timeline.markerRow.y,c=6,l=r.title??this.id,u=null,f=a,d=null,p="right",m=!1,y,R=!1;if(s){let E=e.scale.forwardWithinDomain(s);if(E===null)return null;u=E,m=!0;let _=e.markerRowPlacements.get(this.id);_&&(f=_.centerY,d=_.labelBox,p=_.labelSide);let k=Xh(o,e),D=Gh(k),C=null;for(let j of D)(!C||j.x>C.x)&&(C=j);C&&C.x>E&&(R=!0,y=[{x:C.x,y:C.y>0?C.y:f}])}else if(o.length>0){let E=Xh(o,e),_=Gh(E);_.sort((j,V)=>V.x-j.x);let k=_[0]?.x??e.timeline.originX;u=k,m=!1;let D=rP(u,a,c,l,10,!0,e.timeline.box.x,e.chartRightX);f=a,d=D.box,p=D.side,e.markerRowPlacements.set(this.id,{rowIndex:0,centerY:f,labelBox:d,labelSide:p});let C=[];for(let j=1;j<_.length;j++){let V=_[j];V.x<k&&V.y>0&&C.push({x:V.x,y:V.y})}C.length>0&&(y=C)}if(u===null)return null;if(!d){let E=rP(u,f,c,l,10,!0,e.timeline.box.x,e.chartRightX);d=E.box,p=E.side}let T={x:u,y:f};return e.entityLeftEdges.set(this.id,T.x),e.entityRightEdges.set(this.id,T.x),e.entityMidpoints.set(this.id,T),{id:this.id,title:l,center:T,radius:c,fixed:m,slackArrows:y,isOverrun:R,style:n,cutTopY:e.chartTopY,cutBottomY:e.swimlaneBottomY,labelBox:d,labelSide:p}}};function nP(t,e){let r=[];for(let[n,i]of t){let o=new eE(n,i).place(e);o&&r.push(o)}return r}var EG=4;function RG(t,e){e>t.chartRightX&&(t.chartRightX=e)}var jh=class{place(e,r,n,i){let o=n.theme??"light",s=Sk[o],a=n.width??1280,c=yk(n.locale,AG(e)),l=dk(e,r.config.calendar),u=jN(e,r.config.scale),f=th(r.content.sizes,l),d={theme:s,styles:r.config.styles,defaults:r.config.defaults,labels:r.content.labels},{startDate:p,endDate:m}=i.computeDateWindow(e,{cal:l,sizes:f},r,n.today,u),y=xt("roadmap",e.roadmapDecl?.properties??[],d),R=y.headerPosition==="beside",T=y.timelinePosition!=="bottom",E=y.timelinePosition==="bottom"||y.timelinePosition==="both",_=e.roadmapDecl?.title??e.roadmapDecl?.name??"",k=se(e.roadmapDecl?.properties??[],"author"),D=i.sizeBesideHeader(_,k),C=R?{x:0,y:0,width:D.boxWidth,height:0}:{x:0,y:0,width:0,height:hh},j=R?D.boxWidth:0,V=R?8:hh+8,ie=qN(l),Ae=u.pixelsPerUnit/ie.daysPerUnit(u.unit),w=Math.max(1,vr(p,m))*Ae,L=j+Kr,M=w,A=j+Kr+M+Kr,I=Math.min(a,A),S=n.today!==void 0&&n.today>=p&&n.today<=m,B=r.content.anchors.size+r.content.milestones.size>0,H=S?Fi:0,$=T?Eu:0,q=new $h({domain:[p,m],range:[L,L+w],calendar:ie}),K=Math.max(I,L+M+Kr),xe=[];for(let[W,ue]of r.content.anchors){let Re=Et(se(ue.properties,"date"));if(!Re)continue;let _r=q.forwardWithinDomain(Re);_r!==null&&xe.push({id:W,centerX:_r,radius:6,title:ue.title??W,fontSize:10,bold:!1,date:Re,isMilestone:!1})}for(let[W,ue]of r.content.milestones){let Re=Et(se(ue.properties,"date"));if(!Re)continue;let _r=q.forwardWithinDomain(Re);_r!==null&&xe.push({id:W,centerX:_r,radius:6,title:ue.title??W,fontSize:10,bold:!0,date:Re,isMilestone:!0})}let Y=oP(xe,j,K,i.estimateTextWidth),pe=B?Math.max(1,Y.rowCount):0,it=pe*26,We=H+$+it,Ye=We+8,G=R?D.cardHeight+EG:0,Z=Math.max(V,G-We),ee=Z+H,P=ee+$,Te=P+it,Ee=WN(q,u,ie,c),Ue={box:{x:L,y:Z,width:w,height:0},ticks:Ee,pixelsPerDay:Ae,originX:L,startDate:p,endDate:m,labelStyle:xt("roadmap",[],d),pillRowHeight:H,tickPanelY:ee,tickPanelHeight:$,markerRow:{y:P+13,height:it,collisionY:P-8},minorGrid:y.minorGrid},ft=new Map;for(let[W,ue]of Y.placements){let Re=P+13+ue.rowIndex*26;ft.set(W,{rowIndex:ue.rowIndex,centerY:Re,labelBox:{...ue.labelBox,y:Re-4},labelSide:ue.labelSide})}let U={cal:l,styleCtx:d,sizes:f,labels:r.content.labels,teams:r.content.teams,persons:r.content.persons,symbols:r.config.symbols,footnoteIndex:new Map,footnoteHosts:new Map,timeline:Ue,scale:q,calendar:ie,bandScale:HN(),entityLeftEdges:new Map,entityRightEdges:new Map,entityMidpoints:new Map,entityVisualLeftX:new Map,entityVisualRightX:new Map,itemArrowSource:new Map,itemFlowKey:new Map,currentFlowKey:"",itemSlackAttachY:new Map,slackCorridors:[],markerRowPlacements:ft,chartTopY:Z+Ye,chartBottomY:0,swimlaneBottomY:0,chartRightX:K};for(let W of xe){let ue=ft.get(W.id);ue&&(U.entityLeftEdges.set(W.id,W.centerX),U.entityRightEdges.set(W.id,W.centerX),U.entityMidpoints.set(W.id,{x:W.centerX,y:ue.centerY}))}let Nr=Q_(r.content.footnotes,U,0);U.footnoteIndex=Nr.index,U.footnoteHosts=Nr.hosts;let Pr=new Map(U.entityLeftEdges),de=new Map(U.entityRightEdges),Wi=new Map(U.entityMidpoints),qi=[...r.content.swimlanes.values()],Cr=xt("swimlane",[],d),es=Nk[Cr.spacing]??0,xr=()=>{let W=[],ue=U.chartTopY,Re=0,_r=U.timeline.originX;for(let EE of qi){Re>0&&(ue+=es);let{positioned:te,usedHeight:Xe,usedRightX:ot}=new lc({lane:EE,bandIndex:Re},i).place({x:U.timeline.originX,y:ue},U);W.push(te),ue+=Xe,ot>_r&&(_r=ot),Re++}return{swimlanes:W,nextY:ue,maxRightX:_r}},Ot=xr(),en=Ot.swimlanes,jt=Ot.nextY,x=bG(r.content.milestones,U);x.length>0&&(U.entityLeftEdges=new Map(Pr),U.entityRightEdges=new Map(de),U.entityMidpoints=new Map(Wi),U.itemSlackAttachY=new Map,U.entityVisualLeftX=new Map,U.entityVisualRightX=new Map,U.itemArrowSource=new Map,U.itemFlowKey=new Map,U.currentFlowKey="",U.slackCorridors=x,Ot=xr(),en=Ot.swimlanes,jt=Ot.nextY),RG(U,Ot.maxRightX+Kr);for(let W of en)W.box.width=U.chartRightX;let N=r.content.isolatedRegions,X=[];if(N.length>0){let W=tP(N,U,jt+8,i);X=W.regions,jt=W.endY}U.chartBottomY=jt,U.swimlaneBottomY=jt,Ue.box.height=U.chartBottomY-Ue.box.y;let z=nP(r.content.milestones,U),Be=xe.map(W=>({id:W.id,centerX:W.centerX,radius:W.radius,title:W.title,fontSize:W.fontSize,bold:W.bold}));for(let W of z)W.fixed||Be.push({id:W.id??"",centerX:W.center.x,radius:W.radius,title:W.title,fontSize:10,bold:!0});let Se=oP(Be,j,U.chartRightX,i.estimateTextWidth);U.markerRowPlacements.clear();for(let[W,ue]of Se.placements){let Re=P+13+ue.rowIndex*26;U.markerRowPlacements.set(W,{rowIndex:ue.rowIndex,centerY:Re,labelBox:{...ue.labelBox,y:Re-4},labelSide:ue.labelSide})}for(let W of z){let ue=U.markerRowPlacements.get(W.id??"");ue&&(W.center={x:W.center.x,y:ue.centerY},W.labelBox=ue.labelBox,W.labelSide=ue.labelSide)}for(let W of xe){let ue=U.markerRowPlacements.get(W.id);ue&&U.entityMidpoints.set(W.id,{x:W.centerX,y:ue.centerY})}for(let W of z)W.fixed||U.entityMidpoints.set(W.id??"",{x:W.center.x,y:W.center.y});let Le=B?Math.max(1,Se.rowCount):0;if(Le>pe){let W=(Le-pe)*26;U.timeline.markerRow.height=Le*26,U.timeline.box.height+=W,U.chartTopY+=W,U.chartBottomY+=W,U.swimlaneBottomY+=W;for(let ue of en)tE(ue,W);for(let ue of X)wG(ue,W);for(let[ue,Re]of U.entityMidpoints)U.markerRowPlacements.has(ue)||U.entityMidpoints.set(ue,{x:Re.x,y:Re.y+W});for(let[ue,Re]of U.itemSlackAttachY)U.itemSlackAttachY.set(ue,Re+W);for(let ue of z)if(ue.cutTopY=U.chartTopY,ue.cutBottomY=U.swimlaneBottomY,ue.slackArrows)for(let Re of ue.slackArrows)Re.y+=W}E&&(U.timeline.bottomTickPanelY=U.chartBottomY+8,U.timeline.bottomTickPanelHeight=Eu,U.chartBottomY+=8+Eu);let je=new Set(z.map(W=>W.center.x)),ye=YN(r.content.anchors,U,je),$e=i.collectItems(qi),ve=i.buildDependencies($e,en,X,U),dt=i.buildNowline(n.today,U,c),et=Q_(r.content.footnotes,U,U.chartBottomY);U.footnoteIndex=et.index,U.footnoteHosts=et.hosts,C.height=C.height||U.chartBottomY,R||(C.width=U.chartRightX);let cr=R?{x:6,y:Te-D.cardHeight,width:D.cardWidth,height:D.cardHeight}:{x:0,y:0,width:U.chartRightX,height:hh},$t=et.area.entries.length>0?et.area.box.y+et.area.box.height:U.chartBottomY,Tr={x:U.chartRightX-Kr-b_,y:$t+Kr,width:b_,height:Dk},pc=Tr.y+Tr.height+Kr,ju={box:C,position:y.headerPosition,title:_,author:k,titleLines:D.titleLines,authorLines:D.authorLines,cardBox:cr,logo:void 0,style:y,attributionBox:Tr};return{width:U.chartRightX,height:pc,theme:o,palette:s,backgroundColor:s.surface.page,header:ju,timeline:Ue,nowline:dt,swimlanes:en,anchors:ye,milestones:z,edges:ve,footnotes:et.area,includes:X,chartBox:{x:j,y:U.chartTopY,width:U.chartRightX-j,height:U.chartBottomY-U.chartTopY}}}};function bG(t,e){let r=[];for(let[n,i]of t){let o=se(i.properties,"date"),s=yt(i.properties,"after"),a=Et(o),c=Xh(s,e),l=Gh(c);if(a){let f=e.scale.forwardWithinDomain(a);if(f===null)continue;let d=null;for(let p of l)(!d||p.x>d.x)&&(d=p);d&&d.x>f&&d.y>0&&r.push({xStart:Math.min(d.x,f),xEnd:Math.max(d.x,f),y:d.y,slackPredId:d.ref,milestoneId:n});continue}if(l.length===0)continue;l.sort((f,d)=>d.x-f.x);let u=l[0].x;for(let f=1;f<l.length;f++){let d=l[f];d.x<u&&d.y>0&&r.push({xStart:d.x,xEnd:u,y:d.y,slackPredId:d.ref,milestoneId:n})}}return r}function tE(t,e){t.box.y+=e;for(let r of t.children)sP(r,e);for(let r of t.nested)tE(r,e)}function sP(t,e){if(t.box.y+=e,t.kind==="item"){t.overflowBox&&(t.overflowBox.y+=e);for(let r of t.labelChips)r.box.y+=e;return}for(let r of t.children)sP(r,e)}function wG(t,e){t.box.y+=e;for(let r of t.nestedSwimlanes)tE(r,e)}function oP(t,e,r,n){let i=[...t].sort((a,c)=>a.centerX-c.centerX),o=new Map,s=[];for(let a of i){let c=n(a.title,a.fontSize)*(a.bold?1.05:1),l=a.centerX+a.radius+6,u=a.centerX-a.radius-6-c,f=l+c<=r,d=u>=e,p=a.centerX-a.radius,m=a.centerX+a.radius,y=j=>j==="right"?l:u,R=j=>j==="right"?f:d,T=(j,V)=>{let ie=Math.min(p,j),Ae=Math.max(m,j+c);return s[V].some(O=>O.left<Ae&&O.right>ie)},E=-1,_="right",k=l;e:for(let j=s.length-1;j>=0;j--)for(let V of["right","left"]){if(!R(V))continue;let ie=y(V);if(!T(ie,j)){E=j,_=V,k=ie;break e}}if(E===-1){for(let[j,V]of o)o.set(j,{...V,rowIndex:V.rowIndex+1});s=[[],...s],E=0,_=f?"right":"left",k=y(_)}let D=Math.min(p,k),C=Math.max(m,k+c);s[E].push({left:D,right:C}),o.set(a.id,{rowIndex:E,labelBox:{x:k,y:0,width:c,height:12},labelSide:_})}return{placements:o,rowCount:s.length}}function AG(t){return t.directive?.properties.find(r=>IG(r.key)==="locale")?.value}function IG(t){return t.endsWith(":")?t.slice(0,-1):t}function NG(t){switch(t){case"done":case"completed":return"done";case"in-progress":case"active":return"in-progress";case"at-risk":case"blocked":case"planned":return t;case void 0:return"planned";default:return"neutral"}}function PG(t){if(!t)return 0;let e=/^(\d{1,3})%$/.exec(t);return e?Math.max(0,Math.min(100,parseInt(e[1],10)))/100:0}function CG(t,e){if(t)return/^\d+(?:\.\d+)?[dwmqy]$/.test(t)||/^\d+%$/.test(t)?t:e.sizes.get(t)?.effortLiteral??t}function OG(t,e){if(t)return e.teams.get(t)?.title??e.persons.get(t)?.title??t}function LG(t){if(!t)return{icon:"none"};let e=t.toLowerCase();return e.includes("linear.app")?{icon:"linear",href:t}:e.includes("github.com")?{icon:"github",href:t}:e.includes("atlassian.net")||e.includes("jira.")?{icon:"jira",href:t}:{icon:"generic",href:t}}function Wh(t,e,r,n,i){let o=kk(t,e),s=t.name??t.title??"",a=o.padding==="none"?"xs":o.padding,c=Pk[a],l=Math.max(20,Math.round(s.length*5.5+c*2));return i!==void 0&&(l=Math.min(l,i)),{text:s,style:o,box:{x:r,y:n,width:l,height:13}}}function aE(t,e,r,n){let i=t.properties,o=xt("item",i,r.styleCtx),s=se(i,"size"),a=s?r.sizes.get(s)??null:null,c=Mi(i,r.sizes,r.cal),l=hk(i,r.sizes,r.cal),u=yt(i,"after"),f=yt(i,"before"),d=se(i,"date"),p=pk(se(i,"remaining"),r.sizes,r.cal),m=e.x,y=Et(d);if(y){let te=r.scale.forwardWithinDomain(y);te!==null&&(m=te)}else if(u.length>0){let te=e.x;for(let Xe of u){let ot=Et(Xe);if(ot){let Yn=r.scale.forwardWithinDomain(ot);Yn!==null&&(te=Math.max(te,Yn));continue}let wn=r.entityRightEdges.get(Xe);wn!==void 0&&(te=Math.max(te,wn))}m=Math.max(e.x,te)}let R=Math.max(kr,c*r.timeline.pixelsPerDay),T=m,E=m+R,_=se(i,"link"),k=LG(_),D=k.icon!=="none",C=Math.max(kr,R-2*Yr),j=yt(i,"labels"),V=[];for(let te of j){let Xe=r.labels.get(te);if(!Xe)continue;let ot=Wh(Xe,r.styleCtx,0,0);V.push({id:Xe,width:ot.box.width})}let ie=0;for(let te=0;te<V.length;te+=1)te>0&&(ie+=4),ie+=V[te].width;let Ae=Math.max(0,C-24),O=V.length>0&&ie>Ae,w=!1,L,M;if(f.length>0){let te,Xe;for(let ot of f){let wn=Et(ot),Yn=wn?r.scale.forwardWithinDomain(wn)??void 0:r.entityLeftEdges.get(ot);Yn!==void 0&&(te===void 0||Yn<te)&&(te=Yn,Xe=ot)}te!==void 0&&E>te&&(w=!0,L={x:te,y:e.y,width:E-te,height:r.bandScale.bandwidth()},M=Xe)}let A=se(i,"status"),I=NG(A),S=PG(A);S===0&&I==="done"&&(S=1);let B=/^(\d{1,3})%$/.exec(se(i,"remaining")??"");S===0&&I==="in-progress"&&B&&(S=1-Math.max(0,Math.min(100,parseInt(B[1],10)))/100),S===0&&I==="in-progress"&&p>0&&l>0&&(S=Math.max(0,Math.min(1,1-p/l)));let H={done:"#ecfdf5","in-progress":"#eff6ff","at-risk":"#fffbeb",blocked:"#fee2e2",planned:"#f8fafc",neutral:"#f8fafc"},$={done:"#052e16","in-progress":"#172554","at-risk":"#422006",blocked:"#7f1d1d",planned:"#1e293b",neutral:"#1e293b"},q={done:r.styleCtx.theme.status.done,"in-progress":r.styleCtx.theme.status.inProgress,"at-risk":r.styleCtx.theme.status.atRisk,blocked:r.styleCtx.theme.status.blocked,planned:r.styleCtx.theme.status.planned,neutral:r.styleCtx.theme.status.neutral},K=r.styleCtx.theme.name==="light",xe=K?"#ffffff":"#0f172a",Y="#94a3b8";o.bg===xe&&(o.bg=K?H[I]:$[I]),o.fg===Y&&(o.fg=q[I]);let pe=se(i,"duration"),it=!!pe&&/^\d+(?:\.\d+)?[dwmqy]$/.test(pe),We=a?a.title??a.name:"",Ye=it?pe:We||void 0,G=se(i,"remaining"),Z=CG(G,r),ee=OG(n??se(i,"owner"),r),P=()=>[Ye,ee].filter(Boolean).join(" "),Te;if(I==="in-progress"&&Z){let te=P();Te=te?`${te} \u2014 ${Z} remaining`:`${Z} remaining`}else if(I==="in-progress"&&S>0&&S<1){let te=Math.round((1-S)*100),Xe=P();Te=Xe?`${Xe} \u2014 ${te}% remaining`:`${te}% remaining`}else(ee||Ye)&&(Te=P()||void 0);let Ee=se(i,"capacity"),Ue=$i(Ee),ft=null,U=0;if(Ue!==null){let te=pu(Ue),Xe=hu(o.capacityIcon,r.symbols);ft={value:Ue,text:te,icon:Xe};let ot=11;U=(Te?bn(" ",ot):0)+Xo(te,Xe,ot)}let Nr=t.title??t.name??"",Pr=new Th({id:t.name??"",title:Nr,logicalLeftX:T,logicalRightX:E,metaText:Te,metaTrailingWidth:U,hasLinkIcon:D}).place({x:T,y:e.y},{time:r.scale,bands:r.bandScale,style:o}),de=Pr.box,Wi=r.bandScale.bandwidth(),qi=de.width<17,Cr=D&&de.width<41,es=de.width<23,xr=Pr.textSpills||Cr,Ot=null;O&&(Ot=a_(V,de.width));let en=Ot?Ot.rows.length:V.length>0?1:0,jt=Te!==void 0||ft!==null,x=fP(O,xr,en,Wi,jt);x>0&&(de.height=Wi+x);let N=[],X=de.y+Wi-Tn-13-3,z=de.y+38+3,Se=O&&xr||!O&&jt&&V.length>0?Math.max(X,z):X,Le=O?de.x+de.width+6:de.x+12,je=Le;if(Ot)for(let te=0;te<Ot.rows.length;te+=1){let Xe=Se+te*17,ot=Le;for(let Yn of Ot.rows[te]){let RE=Wh(Yn.id,r.styleCtx,ot,Xe);N.push(RE),ot+=RE.box.width+4}let wn=ot-4;wn>je&&(je=wn)}else{let te=Le;for(let Xe of V){let ot=Wh(Xe.id,r.styleCtx,te,Se);N.push(ot),te+=ot.box.width+4}je=V.length>0?te-4:Le}let ye=new Set;if(t.name){for(let[te,Xe]of r.footnoteHosts.entries())if(Xe.includes(t.name)){let ot=r.footnoteIndex.get(te);ot!==void 0&&ye.add(ot)}}let $e=[...ye].sort((te,Xe)=>te-Xe),ve=ee??n??se(i,"owner"),dt=t.description?.text,et=$e.length>0&&es,$t=de.x+de.width+6,Tr=!1,pc=null;Cr&&(Tr&&($t+=4),pc=$t,$t=pc+14,Tr=!0);let ju=0;if(xr){Tr&&($t+=4);let te=bn(Nr,13),Xe=(Te?bn(Te,11):0)+U;ju=Math.max(te,Xe),$t+=ju,Tr=!0}let tm=null;et&&(Tr&&($t+=4),tm=$t,$t+=$e.length*8,Tr=!0);let W=null;qi&&(Tr&&($t+=4),W=$t+5,$t=W+5,Tr=!0);let ue=Math.max(de.x+de.width,$t),Re=t.name;if(Re){r.entityLeftEdges.set(Re,T),r.entityRightEdges.set(Re,E),r.entityMidpoints.set(Re,{x:(T+E)/2,y:de.y+de.height/2}),r.entityVisualLeftX.set(Re,de.x),r.entityVisualRightX.set(Re,de.x+de.width);let te=xr?{x:de.x+de.width,y:de.y+de.height-Tn/2}:{x:de.x+de.width,y:de.y+de.height/2};r.itemArrowSource.set(Re,te),r.itemFlowKey.set(Re,r.currentFlowKey);let Xe=xr?de.y+de.height-Tn/2:de.y+de.height/2;r.itemSlackAttachY.set(Re,Xe)}e.x=E,e.maxX=Math.max(e.maxX,e.x),e.height=Math.max(e.height,r.bandScale.step()+x);let _r=Ek({box:de,afterDate:Hn(u),beforeDate:Hn(f),hasLinkIcon:D,footnoteCount:$e.length});return{kind:"item",id:Re,title:Nr,box:de,status:I,progressFraction:S,footnoteIndicators:$e,labelChips:N,chipsOutside:O,chipsRightX:je,linkIcon:k.icon,linkHref:k.href,hasOverflow:w,overflowBox:L,overflowAnchorId:M,owner:ve,description:dt,metaText:Te,textSpills:xr,dotSpills:qi,iconSpills:Cr,footnoteSpills:et,dotSpillCx:W,iconSpillX:pc,footnoteSpillStartX:tm,decorationsRightX:ue,capacity:ft,size:a,style:o,inlineDatePins:_r.length>0?_r:void 0}}function DG(t,e,r){return new _h(t,{sequenceOne:cE,newCursor:sh}).place(e,r)}function $G(t,e,r){return new xh(t,{sequenceItem:aE,sequenceOne:cE,resolveChildStart:pP,newCursor:sh,estimateTextWidth:bn,predictItemChipExtraHeight:dP}).place(e,r)}function cE(t,e,r){if(gr(t))return aE(t,e,r);if(Wr(t))return DG(t,e,r);if(jr(t))return $G(t,e,r);throw new Error(`Unknown swimlane child type: ${t.$type??"unknown"}`)}function bn(t,e){return t.length*e*.58}function fP(t,e,r,n,i){if(r===0)return 0;let o=n-Tn-13-3,s=41,a;t&&e?a=s:!t&&i?a=Math.max(o,s):a=o;let l=a+(r-1)*17+13+3+Tn;return Math.max(0,l-n)}function dP(t,e){let r=t.properties,n=yt(r,"labels");if(n.length===0)return 0;let i=Mi(r,e.sizes,e.cal),o=Math.max(kr,i*e.timeline.pixelsPerDay),s=Math.max(kr,o-2*Yr),a=[];for(let T of n){let E=e.labels.get(T);if(!E)continue;let _=Wh(E,e.styleCtx,0,0);a.push({id:E,width:_.box.width})}if(a.length===0)return 0;let c=0;for(let T=0;T<a.length;T+=1)T>0&&(c+=4),c+=a[T].width;let l=Math.max(0,s-24),u=c>l,f=se(r,"duration")!==void 0||se(r,"size")!==void 0||se(r,"owner")!==void 0||se(r,"remaining")!==void 0||se(r,"capacity")!==void 0,d=t.title??t.name??"",m=(d?bn(d,13):0)>l,y=u?a_(a,s):null,R=y?y.rows.length:a.length>0?1:0;return fP(u,m,R,e.bandScale.bandwidth(),f)}function pP(t,e,r,n){let i=Et(se(t,"date"))??Et(se(t,"start"));if(i){let s=n.scale.forwardWithinDomain(i);if(s!==null)return s}let o=yt(t,"after");if(o.length>0){let s=r;for(let a of o){let c=Et(a);if(c){let u=n.scale.forwardWithinDomain(c);u!==null&&(s=Math.max(s,u));continue}let l=n.entityRightEdges.get(a);l!==void 0&&(s=Math.max(s,l))}return Math.max(r,s)}return e}var rE=6;function aP(t,e,r){if(!t)return[];let n=t.split(/\s+/).filter(s=>s.length>0);if(n.length===0)return[];let i=[],o="";for(let s of n){let a=o?`${o} ${s}`:s;o&&bn(a,r)>e?(i.push(o),o=s):o=a}return o&&i.push(o),i}function MG(t,e){let r=x_-32,n=aP(t,r,16),i=aP(e??"",r,11),o=0;for(let d of n)o=Math.max(o,bn(d,16));for(let d of i)o=Math.max(o,bn(d,11));let s=o+32,a=Math.max(Ok-rE,Math.min(x_-rE,s)),c=n.length>0?(n.length-1)*20:0,l=i.length>0?18+(i.length-1)*14:0,u=26+c+l+14,f=a+rE;return{titleLines:n,authorLines:i,cardWidth:a,cardHeight:u,boxWidth:f}}function FG(t,e,r,n,i){let s=t.roadmapDecl?.properties??[],a=se(s,"start"),c=Et(a)??UG(n),l=se(s,"length");if(l){let p=BG(l,e.cal);if(p>0)return{startDate:c,endDate:Go(c,p)}}let u=hP(r,e,c,n),f=zN(i.unit,e.cal),d=u>0?Math.ceil(u/f)*f:4*e.cal.daysPerWeek;return{startDate:c,endDate:Go(c,Math.max(1,d))}}function UG(t){let e=t??new Date;return new Date(Date.UTC(e.getUTCFullYear(),e.getUTCMonth(),e.getUTCDate()))}function BG(t,e){let r=/^(\d+(?:\.\d+)?)([dwmqy])$/.exec(t);if(!r)return 0;let n=parseFloat(r[1]);switch(r[2]){case"d":return n;case"w":return n*e.daysPerWeek;case"m":return n*e.daysPerMonth;case"q":return n*e.daysPerQuarter;case"y":return n*e.daysPerYear;default:return 0}}function hP(t,e,r,n){let i=new Map,o=new Map,s=new Map,a=0,c=f=>{let d=Et(f);return d?vr(r,d):i.has(f)?i.get(f):o.has(f)?o.get(f):s.has(f)?s.get(f):0};for(let f of t.content.anchors.values()){let d=Et(se(f.properties,"date"));if(d&&f.name){let p=vr(r,d);o.set(f.name,p),a=Math.max(a,p)}}let l=(f,d)=>{let p=d;for(let m of f)m.$type!=="DescriptionDirective"&&(p=u(m,p),a=Math.max(a,p));return p},u=(f,d)=>{if(gr(f)){let p=Mi(f.properties,e.sizes,e.cal),m=Et(se(f.properties,"date")),y=Et(se(f.properties,"start")),R=yt(f.properties,"after"),T=d;m?T=vr(r,m):y?T=vr(r,y):R.length>0&&(T=Math.max(d,...R.map(c)));let E=T+p;return f.name&&i.set(f.name,E),E}if(Wr(f)){let p=yt(f.properties,"after"),m=p.length>0?Math.max(d,...p.map(c)):d,y=m;for(let R of f.content){if(R.$type==="DescriptionDirective")continue;let T=u(R,m);y=Math.max(y,T)}return y}if(jr(f)){let p=yt(f.properties,"after"),m=p.length>0?Math.max(d,...p.map(c)):d;return l(f.content,m)}return d};for(let f of t.content.swimlanes.values())l(f.content,0);for(let f of t.content.milestones.values()){let d=Et(se(f.properties,"date"));if(d){let m=vr(r,d);f.name&&s.set(f.name,m),a=Math.max(a,m);continue}let p=yt(f.properties,"after");if(p.length>0){let m=Math.max(0,...p.map(c));f.name&&s.set(f.name,m),a=Math.max(a,m)}}for(let f of t.content.isolatedRegions){let d=hP({config:f.config,content:f.content,diagnostics:[],processedFiles:new Set},e,r,void 0);a=Math.max(a,d)}if(n){let f=vr(r,n);f>0&&(a=Math.max(a,f))}return a}function XG(t,e,r,n){let i=new rh(mk(e,r)),o=[],s=[];for(let[l,u]of t){let f=yt(u.properties,"after"),d=n.entityMidpoints.get(l),p=n.entityVisualLeftX.get(l);if(!d||p===void 0)continue;let m={x:p,y:d.y};for(let y of f){let R=n.itemArrowSource.get(y),T,E=R===void 0;if(R)T=R;else{let _=n.entityMidpoints.get(y);if(!_)continue;T={x:_.x,y:d.y}}!E&&Math.abs(T.y-m.y)<.5&&m.x-T.x<20||(o.push({fromId:y,toId:l,from:T,to:m,isMarkerSource:E}),s.push({fromId:y,toId:l}))}}let a=gk(o,i),c=[];for(let l=0;l<a.length;l++){let u=a[l];c.push({fromId:s[l].fromId,toId:s[l].toId,waypoints:u.waypoints,kind:u.underBar?"underBar":"normal",style:xt("item",[],n.styleCtx)})}return c}function GG(t,e,r){if(!t)return null;let n=e.scale.forwardWithinDomain(t);if(n===null)return null;let i=e.timeline.box.y,o=e.timeline.tickPanelY,s=nh(r).nowLabel,a=bn(s,wu),c=Math.max(m_,Math.ceil(a+2*Za)),l=e.timeline.originX-Kr,u=c/2,f;n-u<l?f="flag-right":n+u>e.chartRightX?f="flag-left":f="center";let d=e.timeline.bottomTickPanelY,p=e.timeline.bottomTickPanelHeight??0,m=d!==void 0&&p>0?d+p:e.swimlaneBottomY;return{x:n,topY:o,bottomY:m,pillTopY:i,pillMode:f,label:s,pillWidth:c,style:xt("item",[],e.styleCtx)}}function HG(t){let e=new Map,r=n=>{if(gr(n)){n.name&&e.set(n.name,n);return}if(Wr(n)){for(let i of n.content)i.$type!=="DescriptionDirective"&&r(i);return}if(jr(n)){for(let i of n.content)i.$type!=="DescriptionDirective"&&r(i);return}};for(let n of t)for(let i of n.content)i.$type!=="DescriptionDirective"&&r(i);return e}function lE(t,e,r={}){return new jh().place(t,e,r,{sequenceItem:aE,sequenceOne:cE,resolveChildStart:pP,newCursor:sh,estimateTextWidth:bn,predictItemChipExtraHeight:dP,computeDateWindow:FG,sizeBesideHeader:MG,collectItems:HG,buildDependencies:XG,buildNowline:GG})}var ji={person:{viewBox:"0 0 24 24",body:'<circle cx="12" cy="8" r="4" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/><path d="M4 21a8 8 0 0 1 16 0" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>',ascii:"p"},people:{viewBox:"0 0 24 24",body:'<path d="M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/><circle cx="9" cy="7" r="4" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/><path d="M22 21v-2a4 4 0 0 0-3-3.87" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/><path d="M16 3.13a4 4 0 0 1 0 7.75" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>',ascii:"P"},points:{viewBox:"0 0 24 24",body:'<polygon points="12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2" fill="currentColor" stroke="currentColor" stroke-width="1" stroke-linejoin="round"/>',ascii:"*"},time:{viewBox:"0 0 24 24",body:'<line x1="10" x2="14" y1="2" y2="2" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/><line x1="12" x2="15" y1="14" y2="11" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/><circle cx="12" cy="14" r="8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>',ascii:"t"}},jG={calendar:{viewBox:"0 0 24 24",body:'<rect x="3" y="4" width="18" height="18" rx="2" ry="2" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/><line x1="16" x2="16" y1="2" y2="6" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/><line x1="8" x2="8" y1="2" y2="6" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/><line x1="3" x2="21" y1="10" y2="10" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>',ascii:"d"}},mP={...ji,...jG};var poe={none:"",multiplier:"x",person:ji.person.ascii,people:ji.people.ascii,points:ji.points.ascii,time:ji.time.ascii};var Kh=class{constructor(e="nl"){le(this,"prefix");le(this,"counter",0);this.prefix=e}next(e){let r=`${this.prefix}-${this.counter++}`;return e?`${r}-${e}`:r}};var WG=new Set(["svg","g","defs","symbol","use","path","rect","circle","ellipse","line","polyline","polygon","text","tspan","title","desc","linearGradient","radialGradient","stop","clipPath","mask","pattern","filter","feGaussianBlur","feColorMatrix","feOffset","feMerge","feMergeNode","feFlood","feComposite","feBlend","feDropShadow","image"]),qG=new Set(["d","x","y","x1","y1","x2","y2","cx","cy","r","rx","ry","width","height","viewBox","preserveAspectRatio","fill","fill-opacity","fill-rule","stroke","stroke-width","stroke-opacity","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-dasharray","stroke-dashoffset","opacity","transform","points","id","class","clip-path","mask","filter","font-family","font-size","font-weight","font-style","text-anchor","dx","dy","rotate","letter-spacing","word-spacing","style","xmlns","href","xlink:href","offset","stop-color","stop-opacity","gradientUnits","gradientTransform","spreadMethod","maskUnits","maskContentUnits","stdDeviation","values","in","in2","mode","type","result","flood-color","flood-opacity","patternUnits","patternContentUnits","role","aria-label"]);function zG(t){let e=[],r=0,n=t.length;for(;r<n;){if(t[r]!=="<"){let u=r;for(;r<n&&t[r]!=="<";)r++;let f=t.slice(u,r);f.trim().length>0?e.push({kind:"text",text:f}):f.length>0&&e.push({kind:"text",text:f});continue}if(t.startsWith("<!--",r)){let u=t.indexOf("-->",r+4);if(u<0)break;e.push({kind:"comment",text:t.slice(r+4,u)}),r=u+3;continue}if(t.startsWith("<![CDATA[",r)){let u=t.indexOf("]]>",r+9);if(u<0)break;e.push({kind:"cdata",text:t.slice(r+9,u)}),r=u+3;continue}if(t.startsWith("<?",r)){let u=t.indexOf("?>",r+2);if(u<0)break;e.push({kind:"decl",text:t.slice(r+2,u)}),r=u+2;continue}if(t.startsWith("<!",r)){let u=t.indexOf(">",r+2);if(u<0)break;e.push({kind:"decl",text:t.slice(r+2,u)}),r=u+1;continue}if(t[r+1]==="/"){let u=t.indexOf(">",r+2);if(u<0)break;let f=t.slice(r+2,u).trim();e.push({kind:"close",name:f}),r=u+1;continue}let i=VG(t,r);if(i<0)break;let o=t.slice(r+1,i).trim(),s=o.endsWith("/"),a=s?o.slice(0,-1).trim():o,{name:c,attrs:l}=YG(a);e.push({kind:s?"self":"open",name:c,attrs:l}),r=i+1}return e}function VG(t,e){let r=e+1,n=null;for(;r<t.length;){let i=t[r];if(n)i===n&&(n=null);else if(i==='"'||i==="'")n=i;else if(i===">")return r;r++}return-1}function YG(t){let e=0;for(;e<t.length&&/\s/.test(t[e]);)e++;let r=e;for(;e<t.length&&!/\s/.test(t[e]);)e++;let n=t.slice(r,e),i={};for(;e<t.length;){for(;e<t.length&&/\s/.test(t[e]);)e++;if(e>=t.length)break;let o=e;for(;e<t.length&&t[e]!=="="&&!/\s/.test(t[e]);)e++;let s=t.slice(o,e);if(e>=t.length||t[e]!=="="){s&&(i[s]="");continue}if(e++,e>=t.length)break;let a=t[e];if(a!=='"'&&a!=="'"){let l=e;for(;e<t.length&&!/\s/.test(t[e]);)e++;i[s]=t.slice(l,e);continue}e++;let c=e;for(;e<t.length&&t[e]!==a;)e++;i[s]=t.slice(c,e),e<t.length&&e++}return{name:n,attrs:i}}function Gu(t){return t.replace(/&/g,"&").replace(/"/g,""").replace(/</g,"<").replace(/>/g,">")}function KG(t,e){if(t.startsWith("#")){let r=e.get(t.slice(1));return r?`#${r}`:null}if(/^url\(#[^)]+\)$/.test(t)){let r=t.slice(5,-1),n=e.get(r);return n?`url(#${n})`:null}return null}function gP(t,e={}){let r=e.idPrefix??"nl-logo",n=e.onWarn??(()=>{}),i=zG(t),o=new Map,s=0;for(let l of i)if((l.kind==="open"||l.kind==="self")&&l.attrs&&"id"in l.attrs){let u=l.attrs.id;u&&!o.has(u)&&o.set(u,`${r}-${s++}`)}let a=[],c=[];for(let l of i)if(l.kind!=="comment"&&l.kind!=="decl"){if(l.kind==="cdata"){c[c.length-1]&&a.push(Gu(l.text??""));continue}if(l.kind==="text"){if(c.length===0||c[c.length-1]){let u=(l.text??"").replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">");a.push(u)}continue}if(l.kind==="open"||l.kind==="self"){let u=l.name??"";if(u==="script"||u==="foreignObject"||u==="animate"||u==="animateTransform"||u==="animateMotion"||u==="set"){n(`sanitizer: dropping <${u}>`),l.kind==="open"&&c.push(!1);continue}if(!WG.has(u)){n(`sanitizer: dropping unknown element <${u}>`),l.kind==="open"&&c.push(!1);continue}let f=[`<${u}`],d=Object.keys(l.attrs??{}).sort();for(let p of d){let m=l.attrs[p];if(/^on/i.test(p)){n(`sanitizer: dropping event handler ${p}`);continue}if(!qG.has(p)){n(`sanitizer: dropping attribute ${p}`);continue}if(p==="href"||p==="xlink:href"){let y=KG(m,o);if(y===null){n(`sanitizer: dropping external href ${m}`);continue}f.push(` ${p}="${Gu(y)}"`);continue}if(p==="style"){n("sanitizer: dropping inline style");continue}if(p==="id"){let y=o.get(m);y&&f.push(` id="${Gu(y)}"`);continue}if(/\burl\(#/i.test(m)){let y=m.replace(/url\(#([^)]+)\)/gi,(R,T)=>{let E=o.get(T);return E?`url(#${E})`:"none"});f.push(` ${p}="${Gu(y)}"`);continue}if(/data:|javascript:|vbscript:/i.test(m)){n(`sanitizer: dropping suspicious value at ${p}`);continue}f.push(` ${p}="${Gu(m)}"`)}f.push(l.kind==="self"?"/>":">"),a.push(f.join("")),l.kind==="open"&&c.push(!0);continue}l.kind==="close"&&c.pop()&&a.push(`</${l.name}>`)}return a.join("")}var yP=/&/g,xP=/</g,TP=/>/g,ZG=/"/g,JG=/'/g;function ar(t){return t.replace(yP,"&").replace(xP,"<").replace(TP,">")}function Vn(t){return t.replace(yP,"&").replace(xP,"<").replace(TP,">").replace(ZG,""").replace(JG,"'")}function dc(t){let e=Object.keys(t).sort(),r=[];for(let n of e){let i=t[n];i==null||i===!1||(i===!0?r.push(n):r.push(`${n}="${Vn(String(i))}"`))}return r.length?` ${r.join(" ")}`:""}function J(t,e,r){return r===void 0||r===""?`<${t}${dc(e)}/>`:`<${t}${dc(e)}>${r}</${t}>`}function Oe(t,e){return`<text${dc(t)}>${ar(e)}</text>`}function h(t){return Number.isFinite(t)?Number.isInteger(t)?t.toString():(Math.round(t*100)/100).toString():"0"}var QG={none:{dx:0,dy:0,stdDeviation:0,opacity:0},subtle:{dx:0,dy:1,stdDeviation:1.5,opacity:.2},soft:{dx:0,dy:3,stdDeviation:5,opacity:.3},hard:{dx:2,dy:2,stdDeviation:0,opacity:.45}};function eH(t,e){let r=`${t}-shadow-${e}`,n=QG[e],i=`<feGaussianBlur in="SourceAlpha" stdDeviation="${n.stdDeviation}"/><feOffset dx="${n.dx}" dy="${n.dy}" result="offsetblur"/><feComponentTransfer><feFuncA type="linear" slope="${n.opacity}"/></feComponentTransfer><feMerge><feMergeNode/><feMergeNode in="SourceGraphic"/></feMerge>`;return J("filter",{id:r,x:"-50%",y:"-50%",width:"200%",height:"200%"},i)}function _P(t,e){return e==="none"?null:`url(#${t}-shadow-${e})`}function EP(t){return["subtle","soft","hard"].map(e=>eH(t,e)).join("")}var oH={thin:100,light:300,normal:400,bold:700};function sH(t){return Ya[t]??14}function fE(t,e){return{"font-family":He[t.font],"font-size":e??sH(t.textSize),"font-weight":oH[t.weight]??400,"font-style":t.italic?"italic":"normal",fill:t.text}}function aH(t){if(t.border==="dashed")return"4 3";if(t.border==="dotted")return"1 3"}function cH(t){if(!t||t==="none"||t==="transparent")return 1;let e=t.startsWith("#")?t.slice(1):t;if(e.length===3&&(e=e.split("").map(s=>s+s).join("")),e.length!==6)return 1;let r=parseInt(e.slice(0,2),16)/255,n=parseInt(e.slice(2,4),16)/255,i=parseInt(e.slice(4,6),16)/255,o=s=>s<=.03928?s/12.92:((s+.055)/1.055)**2.4;return .2126*o(r)+.7152*o(n)+.0722*o(i)}function lH(t,e){return cH(t)>=.24?e.statusDot.onLight:e.statusDot.onDark}function uE(t,e){return t.length*e*.58}function AP(t,e,r,n,i,o,s){let a=i*.58,c=e?uE(e,i):0,l=e?a:0,u=r+c+l,{text:f,icon:d}=t,p=uE(f,i),m={"font-family":o,"font-size":i,fill:s};if(!d)return Oe({x:h(u),y:h(n),...m},f);if(d.kind==="builtin"&&d.name==="multiplier")return Oe({x:h(u),y:h(n),...m},`${f}\xD7`);if(d.kind==="builtin"){let R=ji[d.name],T=Oe({x:h(u),y:h(n),...m},f),E=i*.1,_=i,k=u+p+E,D=n-i*.85,C=`<svg x="${h(k)}" y="${h(D)}" width="${h(_)}" height="${h(_)}" viewBox="${R.viewBox}" style="color:${Vn(s)}" aria-hidden="true">${R.body}</svg>`;return T+C}let y=h(i*.1);return`<text x="${h(u)}" y="${h(n)}" font-family="${Vn(o)}" font-size="${i}" fill="${Vn(s)}">${ar(f)}<tspan dx="${y}">${ar(d.text)}</tspan></text>`}var RP=.6,uH=.5;function fH(t){let{metaText:e,capacity:r,x:n,baselineY:i,fontSize:o,fontFamily:s,color:a}=t;if(!e&&!r)return"";let c={"font-family":s,"font-size":o,fill:a};if(!r)return Oe({x:h(n),y:h(i),...c},e);if(!e)return AP(r,void 0,n,i,o,s,a);let l=h(o*RP),u=`<text x="${h(n)}" y="${h(i)}" font-family="${Vn(s)}" font-size="${o}" fill="${Vn(a)}">`,{text:f,icon:d}=r;if(!d)return u+ar(e)+`<tspan dx="${l}">${ar(f)}</tspan></text>`;if(d.kind==="builtin"&&d.name==="multiplier")return u+ar(e)+`<tspan dx="${l}">${ar(f)}\xD7</tspan></text>`;if(d.kind==="literal"){let C=h(o*.1);return u+ar(e)+`<tspan dx="${l}">${ar(f)}</tspan><tspan dx="${C}">${ar(d.text)}</tspan></text>`}let p=ji[d.name],m=C=>C.length*o*uH,y=n+m(e)+o*RP,R=o*.1,T=o,E=y+m(f)+R,_=i-o*.85,k=u+ar(e)+`<tspan dx="${l}">${ar(f)}</tspan></text>`,D=`<svg x="${h(E)}" y="${h(_)}" width="${h(T)}" height="${h(T)}" viewBox="${p.viewBox}" style="color:${Vn(a)}" aria-hidden="true">${p.body}</svg>`;return k+D}function dH(t,e){let r=mP.calendar,n=`<svg x="${h(t.glyphTopLeft.x)}" y="${h(t.glyphTopLeft.y)}" width="${h(t.glyphSize)}" height="${h(t.glyphSize)}" viewBox="${r.viewBox}" style="color:${Vn(e)}" aria-hidden="true">${r.body}</svg>`,i=`<title>${ar(t.isoDate)}</title>`;return J("g",{"data-layer":"inline-date-pin","data-side":t.side,"data-date":t.isoDate,"data-spilled":t.spilled?"true":null},i+n)}function dE(t,e){return!t||t.length===0?"":t.map(r=>dH(r,e)).join("")}function pH(t,e,r,n,i,o={}){let s=Math.min(ah[i.cornerRadius]??4,n/2);return J("rect",{x:h(t),y:h(e),width:h(r),height:h(n),rx:h(s),ry:h(s),fill:i.bg==="none"?"transparent":i.bg,stroke:i.fg,"stroke-width":1,"stroke-dasharray":aH(i)??null,...o})}function hH(t,e,r){let n=t.box.x+t.cardBox.x,i=t.box.y+t.cardBox.y,o=t.cardBox.width,s=t.cardBox.height,a=t.style.bg==="none"?r.surface.headerBox:t.style.bg,c=r.header.cardBorder,l=J("rect",{x:h(n),y:h(i),width:h(o),height:h(s),rx:6,ry:6,fill:a,stroke:c,"stroke-width":1,filter:`url(#${e}-shadow-subtle)`}),u=[];t.titleLines.forEach((R,T)=>{u.push(Oe({x:h(n+16),y:h(i+26+T*20),"font-family":He[t.style.font],"font-size":16,"font-weight":600,fill:t.style.text},R))});let f=u.join(""),d=i+26+Math.max(0,t.titleLines.length-1)*20,p=r.header.author,m=[];t.authorLines.forEach((R,T)=>{m.push(Oe({x:h(n+16),y:h(d+18+T*14),"font-family":He[t.style.font],"font-size":11,fill:p},R))});let y=m.join("");return J("g",{"data-layer":"header","data-id":`${e}-header`},l+f+y)}function mH(t,e,r){let n=r.timeline.gridLine,i=r.timeline.minorGridLine,o=t.bottomTickPanelHeight??0,s=t.bottomTickPanelY!==void 0&&o>0,a=t.tickPanelY,c=s?t.bottomTickPanelY+o:t.box.y+t.box.height,l=e,u=t.box.y+t.box.height,f=[];for(let d of t.ticks)if(d.major)f.push(J("line",{x1:h(d.x),y1:h(a),x2:h(d.x),y2:h(c),stroke:n,"stroke-width":1}));else if(t.minorGrid){if(d.labelX===void 0)continue;f.push(J("line",{x1:h(d.x),y1:h(l),x2:h(d.x),y2:h(u),stroke:i,"stroke-width":1}))}return J("g",{"data-layer":"grid"},f.join(""))}function gH(t,e){let r=e.timeline.panelFill,n=e.timeline.border,i=e.timeline.labelText,o=[],s=t.tickPanelY,a=t.tickPanelHeight,c=a>0,l=t.markerRow.height>0,u=s+a,f=t.markerRow.height,d=t.bottomTickPanelY,p=t.bottomTickPanelHeight??0,m=d!==void 0&&p>0;c&&o.push(J("rect",{x:h(t.box.x),y:h(s),width:h(t.box.width),height:h(a),rx:4,ry:4,fill:r,stroke:n,"stroke-width":1})),l&&o.push(J("rect",{x:h(t.box.x),y:h(u),width:h(t.box.width),height:h(f),rx:4,ry:4,fill:r,stroke:n,"stroke-width":1})),m&&o.push(J("rect",{x:h(t.box.x),y:h(d),width:h(t.box.width),height:h(p),rx:4,ry:4,fill:r,stroke:n,"stroke-width":1}));for(let y of t.ticks)y.major&&(!y.label||y.labelX===void 0||(c&&o.push(Oe({x:h(y.labelX),y:h(s+ch),"font-family":He.sans,"font-size":10,fill:i,"text-anchor":"middle"},y.label)),m&&o.push(Oe({x:h(y.labelX),y:h(d+ch),"font-family":He.sans,"font-size":10,fill:i,"text-anchor":"middle"},y.label))));return J("g",{"data-layer":"timeline"},o.join(""))}function yH(t,e){if(!t)return"";let r=e.nowline.stroke,n=e.nowline.labelText,i=J("line",{x1:h(t.x),y1:h(t.topY),x2:h(t.x),y2:h(t.bottomY),stroke:r,"stroke-width":ph}),o=xH(t,r),s=TH(t,n);return J("g",{"data-layer":"nowline"},i+o+s)}function IP(t){let e=ph/2;return t.pillMode==="flag-right"?t.x-e:t.pillMode==="flag-left"?t.x+e:t.x}function xH(t,e){let r=t.pillTopY,n=t.pillTopY+Fi,i=g_,o=t.pillWidth;if(t.pillMode==="center")return J("rect",{x:h(t.x-o/2),y:h(r),width:h(o),height:h(Fi),rx:i,ry:i,fill:e});let s=IP(t);if(t.pillMode==="flag-right"){let l=s+o,u=[`M ${h(s)} ${h(r)}`,`L ${h(l-i)} ${h(r)}`,`A ${i} ${i} 0 0 1 ${h(l)} ${h(r+i)}`,`L ${h(l)} ${h(n-i)}`,`A ${i} ${i} 0 0 1 ${h(l-i)} ${h(n)}`,`L ${h(s)} ${h(n)}`,"Z"].join(" ");return J("path",{d:u,fill:e})}let a=s-o,c=[`M ${h(s)} ${h(r)}`,`L ${h(a+i)} ${h(r)}`,`A ${i} ${i} 0 0 0 ${h(a)} ${h(r+i)}`,`L ${h(a)} ${h(n-i)}`,`A ${i} ${i} 0 0 0 ${h(a+i)} ${h(n)}`,`L ${h(s)} ${h(n)}`,"Z"].join(" ");return J("path",{d:c,fill:e})}function TH(t,e){let r=t.pillTopY+y_,n=IP(t),i,o;return t.pillMode==="center"?(i=t.x,o="middle"):t.pillMode==="flag-right"?(i=n+Za,o="start"):(i=n-Za,o="end"),Oe({x:h(i),y:h(r),"font-family":He.sans,"font-size":wu,"font-weight":700,fill:e,"text-anchor":o},t.label)}function _H(t,e,r,n){let i=[],o=_P(r,t.style.shadow);i.push(pH(t.box.x,t.box.y,t.box.width,t.box.height,t.style,{filter:o??null}));let s=lH(t.style.bg,n),a={done:s.done,"in-progress":s.inProgress,"at-risk":s.atRisk,blocked:s.blocked,planned:s.planned,neutral:s.neutral},c=a[t.status]??a.neutral;if(t.progressFraction>0){let y=Math.max(0,Math.min(t.box.width,t.box.width*t.progressFraction));i.push(J("rect",{x:h(t.box.x),y:h(t.box.y+t.box.height-Tn),width:h(y),height:Tn,fill:t.style.fg,opacity:.55}))}let l=t.dotSpills&&t.dotSpillCx!==null?t.dotSpillCx:t.box.x+t.box.width-12;i.push(J("circle",{cx:h(l),cy:h(t.box.y+12),r:5,fill:c})),i.push(dE(t.inlineDatePins,t.style.fg));let u;t.textSpills?(u=t.box.x+t.box.width+6,t.iconSpills&&(u+=18)):u=t.box.x+12;let f=t.style.text,d=n.entities.item.text,p=t.textSpills?d:f,m=t.textSpills?d:t.style.fg;if(t.title&&i.push(Oe({x:h(u),y:h(t.box.y+20),"font-family":He[t.style.font],"font-size":13,"font-weight":600,fill:p},t.title)),(t.metaText||t.capacity)&&i.push(fH({metaText:t.metaText,capacity:t.capacity,x:u,baselineY:t.box.y+38,fontSize:11,fontFamily:He[t.style.font],color:m})),t.footnoteIndicators.length>0){let y=t.box.y+14;if(t.footnoteSpills&&t.footnoteSpillStartX!==null){let R=t.footnoteSpillStartX;for(let T=0;T<t.footnoteIndicators.length;T++){let E=t.footnoteIndicators[T];i.push(Oe({x:h(R),y:h(y),"font-family":He.sans,"font-size":10,"font-weight":700,fill:d},String(E))),R+=8}}else{let R=t.box.x+t.box.width-22;for(let T=t.footnoteIndicators.length-1;T>=0;T--){let E=t.footnoteIndicators[T];i.push(Oe({x:h(R),y:h(y),"font-family":He.sans,"font-size":10,"font-weight":700,fill:t.style.text,"text-anchor":"end"},String(E))),R-=8}}}if(!e.noLinks&&t.linkIcon&&t.linkIcon!=="none"){let y={linear:"#5e6ad2",github:"#0f172a",jira:"#0052cc",generic:n.item.linkIconFg},R=y[t.linkIcon]??y.generic,T=14,E=t.iconSpills&&t.iconSpillX!==null?t.iconSpillX:t.box.x+6,_=t.box.y+6,k=J("rect",{x:h(E),y:h(_),width:T,height:T,rx:2,ry:2,fill:R}),D=E,C=_,j=J("path",{d:`M${h(D+4)} ${h(C+10)} L${h(D+10)} ${h(C+4)} M${h(D+6)} ${h(C+4)} H${h(D+10)} V${h(C+8)}`,stroke:"#ffffff",fill:"none","stroke-width":1.1,"stroke-linecap":"round","stroke-linejoin":"round"}),V=k+j,ie=t.linkHref?J("a",{href:t.linkHref,target:"_blank",rel:"noopener"},V):V;i.push(ie)}if(t.hasOverflow&&t.overflowBox){let y=n.item.overflowTailFill,R=n.item.overflowTailStroke,T=n.item.overflowCaption;i.push(J("rect",{x:h(t.overflowBox.x),y:h(t.overflowBox.y),width:h(t.overflowBox.width),height:h(t.overflowBox.height),fill:y,stroke:R,"stroke-width":1})),t.overflowAnchorId&&t.overflowBox.width>60&&i.push(Oe({x:h(t.overflowBox.x+t.overflowBox.width/2),y:h(t.overflowBox.y+t.overflowBox.height/2+3),"font-family":He.sans,"font-size":9,"font-weight":700,fill:T,"text-anchor":"middle"},`past ${t.overflowAnchorId}`))}for(let y of t.labelChips){let R=Math.min(ah[y.style.cornerRadius]??8,y.box.height/2);i.push(J("rect",{x:h(y.box.x),y:h(y.box.y),width:h(y.box.width),height:h(y.box.height),rx:h(R),ry:h(R),fill:y.style.bg==="none"?"transparent":y.style.bg,stroke:y.style.fg,"stroke-width":.5})),i.push(Oe({x:h(y.box.x+y.box.width/2),y:h(y.box.y+y.box.height/2+3),...fE(y.style,Ya.xs),"text-anchor":"middle"},y.text))}return J("g",{"data-layer":"item","data-id":t.id??null},i.join(""))}function EH(t,e,r,n){let i=[];if(t.style.bg!=="none"&&t.style.bg!=="#ffffff"){if(i.push(J("rect",{x:h(t.box.x),y:h(t.box.y),width:h(t.box.width),height:h(t.box.height),rx:6,ry:6,fill:t.style.bg,stroke:t.style.fg,"stroke-width":1,"fill-opacity":.18,filter:`url(#${r}-shadow-subtle)`})),t.title){let s=t.title.length*p_+2*fh,a=t.box.x,c=t.box.y,l=bu,u=6,f=`M${h(a+u)} ${h(c)}H${h(a+s)}V${h(c+l-u)}A${u} ${u} 0 0 1 ${h(a+s-u)} ${h(c+l)}H${h(a)}V${h(c+u)}A${u} ${u} 0 0 1 ${h(a+u)} ${h(c)}Z`;i.push(J("path",{d:f,fill:t.style.fg})),i.push(Oe({x:h(a+fh),y:h(c+f_),"font-family":He[t.style.font],"font-size":d_,"font-weight":600,fill:"#ffffff"},t.title))}}else{let s=t.style.fg;if(t.style.bracket!=="none"){let c=t.box.y+t.box.height,l=t.style.bracket==="dashed"?"3 2":null,u=t.title?`M${h(t.box.x+4)} ${h(t.box.y-Ka)} L${h(t.box.x)} ${h(t.box.y-Ka)} L${h(t.box.x)} ${h(c)} L${h(t.box.x+4)} ${h(c)}`:`M${h(t.box.x)} ${h(t.box.y)} L${h(t.box.x)} ${h(c)} L${h(t.box.x+4)} ${h(c)}`;i.push(J("path",{d:u,fill:"none",stroke:s,"stroke-width":1,"stroke-dasharray":l}))}t.title&&i.push(Oe({x:h(t.box.x+6),y:h(t.box.y-2),...fE(t.style,Ya.xs),"fill-opacity":.7},t.title))}i.push(dE(t.inlineDatePins,t.style.fg));for(let s of t.children)i.push(pE(s,e,r,n));return J("g",{"data-layer":"group","data-id":t.id??null},i.join(""))}function RH(t,e,r,n){let i=[];if(t.style.bracket==="solid"||t.style.bracket==="dashed"){let a=t.box.y-12,c=t.box.y+t.box.height+12,l=t.box.x,u=t.box.x+t.box.width,f=n.parallel.bracketStroke;i.push(J("path",{d:`M${h(l+4)} ${h(a)} H${h(l)} V${h(c)} H${h(l+4)}`,fill:"none",stroke:f,"stroke-width":1.25,"stroke-dasharray":t.style.bracket==="dashed"?"3 3":null,"stroke-linejoin":"round"})),i.push(J("path",{d:`M${h(u-4)} ${h(a)} H${h(u)} V${h(c)} H${h(u-4)}`,fill:"none",stroke:f,"stroke-width":1.25,"stroke-dasharray":t.style.bracket==="dashed"?"3 3":null,"stroke-linejoin":"round"}))}t.title&&i.push(Oe({x:h(t.box.x+4),y:h(t.box.y-2),...fE(t.style,Ya.xs),"fill-opacity":.7},t.title)),i.push(dE(t.inlineDatePins,t.style.fg));for(let o of t.children)i.push(pE(o,e,r,n));return J("g",{"data-layer":"parallel","data-id":t.id??null},i.join(""))}function pE(t,e,r,n){return t.kind==="item"?_H(t,e,r,n):t.kind==="group"?EH(t,e,r,n):RH(t,e,r,n)}var bP=2;function bH(t,e){switch(t){case"green":return e.swimlane.utilizationOk;case"yellow":return e.swimlane.utilizationWarn;case"red":return e.swimlane.utilizationOver}}function wH(t,e){if(!t.utilization||t.utilization.segments.length===0)return"";let r=t.box.y+t.box.height-bP,n=t.utilization.segments.map(i=>{let o=i.endX-i.startX;return o<=0?"":J("rect",{x:h(i.startX),y:h(r),width:h(o),height:bP,fill:bH(i.classification,e),"data-utilization":i.classification,"data-load":h(i.load)})});return J("g",{"data-layer":"lane-utilization","data-id":t.id??null},n.join(""))}function AH(t,e){let r=t.bandIndex%2===0?e.swimlane.rowTintEven:e.swimlane.rowTintOdd,n=e.swimlane.border;return J("g",{"data-layer":"swimlane-bg","data-id":t.id??null},J("rect",{x:h(t.box.x),y:h(t.box.y),width:h(t.box.width),height:h(t.box.height),fill:r,stroke:n,"stroke-width":1}))}function SP(t,e,r,n){let i=n.swimlane.tabFill,o=n.swimlane.tabStroke,s=n.swimlane.tabText,a=n.swimlane.ownerText,c=n.swimlane.footnoteIndicator,l=[];if(t.title){let f=t.capacity?Xo(t.capacity.text,t.capacity.icon,10):0,d=t.footnoteIndicators.length>0?t.footnoteIndicators.join(","):"",p=d?uE(d,10):0,m=mu(t.box.x,t.title,t.owner,f,p),y=lh,R=t.box.y+10,T=R+uh;l.push(J("rect",{x:h(m.tabX),y:h(R),width:h(m.tabW),height:h(y),rx:4,ry:4,fill:i,stroke:o,"stroke-width":1})),l.push(Oe({x:h(m.titleX),y:h(T),"font-family":He[t.style.font],"font-size":12,"font-weight":600,fill:s},t.title)),t.owner&&l.push(Oe({x:h(m.ownerX),y:h(T),"font-family":He[t.style.font],"font-size":10,fill:a},`owner: ${t.owner}`)),t.capacity&&l.push(AP(t.capacity,void 0,m.badgeX,T,10,He[t.style.font],a)),d&&l.push(Oe({x:h(m.footnoteRightX),y:h(R+14),"font-family":He.sans,"font-size":10,"font-weight":700,fill:c,"text-anchor":"end"},d))}for(let u of t.children)l.push(pE(u,e,r,n));return l.push(wH(t,n)),J("g",{"data-layer":"swimlane","data-id":t.id??null},l.join(""))}function IH(t,e){let r=t.radius,n=t.center.x,i=t.center.y,o=e.anchorDiamond.fill,s=e.anchorDiamond.stroke,a=J("path",{d:`M${h(n)} ${h(i-r)} L${h(n+r)} ${h(i)} L${h(n)} ${h(i+r)} L${h(n-r)} ${h(i)} Z`,fill:o,stroke:s,"stroke-width":1.25}),c=e.anchorDiamond.label,l=t.labelSide==="left"?t.labelBox.x+t.labelBox.width:t.labelBox.x,u={x:h(l),y:h(i+4),"font-family":He.sans,"font-size":10,fill:c};t.labelSide==="left"&&(u["text-anchor"]="end");let f=t.title?Oe(u,t.title):"";return J("g",{"data-layer":"anchor","data-id":t.id??null},a+f)}function SH(t,e){let r=e.anchorDiamond.cutLine;return J("line",{x1:h(t.center.x),y1:h(t.center.y+t.radius+1),x2:h(t.center.x),y2:h(t.cutBottomY),stroke:r,"stroke-width":1,"stroke-dasharray":"1 3"})}function vH(t,e){let r=t.center.x,n=t.center.y,i=t.radius,o=e.milestoneDiamond.fill,s=J("path",{d:`M${h(r)} ${h(n-i)} L${h(r+i)} ${h(n)} L${h(r)} ${h(n+i)} L${h(r-i)} ${h(n)} Z`,fill:o,stroke:o,"stroke-width":1}),a=e.milestoneDiamond.label,c=t.labelSide==="left"?t.labelBox.x+t.labelBox.width:t.labelBox.x,l={x:h(c),y:h(n+4),"font-family":He.sans,"font-size":10,"font-weight":600,fill:a};t.labelSide==="left"&&(l["text-anchor"]="end");let u=t.title?Oe(l,t.title):"";return J("g",{"data-layer":"milestone","data-id":t.id??null},s+u)}function kH(t,e){let r=t.isOverrun?e.milestoneDiamond.cutLineOverrun:e.milestoneDiamond.cutLineNormal,n=[];if(n.push(J("line",{x1:h(t.center.x),y1:h(t.center.y+t.radius+1),x2:h(t.center.x),y2:h(t.cutBottomY),stroke:r,"stroke-width":2,"stroke-dasharray":dh,"stroke-linecap":"round"})),t.slackArrows&&t.slackArrows.length>0){let i=e.milestoneDiamond.slack;for(let o of t.slackArrows)n.push(J("path",{d:`M${h(o.x)} ${h(o.y)} H${h(t.center.x-6)}`,fill:"none",stroke:i,"stroke-width":1.1,"stroke-dasharray":"3 3","stroke-linecap":"round","marker-end":"url(#nl-arrow-dark)"}))}return n.join("")}function wP(t,e){let r=t.kind==="overflow"?e.dependency.overflowStroke:e.dependency.edgeStroke,n=t.waypoints;if(n.length<2)return"";let i=t.kind==="underBar"?.8:1.1;return J("path",{d:NH(n,w_),fill:"none",stroke:r,"stroke-width":i,"stroke-dasharray":t.kind==="overflow"?"4 2":null,"stroke-linejoin":"round","marker-end":"url(#nl-arrow)"})}function NH(t,e){if(t.length<2)return"";let r=[`M${h(t[0].x)} ${h(t[0].y)}`];for(let n=1;n<t.length;n++){let i=t[n-1],o=t[n];if(n===t.length-1){r.push(`L${h(o.x)} ${h(o.y)}`);continue}let s=t[n+1],a=Math.sign(o.x-i.x),c=Math.sign(o.y-i.y),l=Math.sign(s.x-o.x),u=Math.sign(s.y-o.y),f=Math.hypot(o.x-i.x,o.y-i.y),d=Math.hypot(s.x-o.x,s.y-o.y),p=Math.min(e,f/2,d/2);if(p<=0||a!==0&&l!==0||c!==0&&u!==0){r.push(`L${h(o.x)} ${h(o.y)}`);continue}let m={x:o.x-a*p,y:o.y-c*p},y={x:o.x+l*p,y:o.y+u*p};r.push(`L${h(m.x)} ${h(m.y)}`),r.push(`Q${h(o.x)} ${h(o.y)} ${h(y.x)} ${h(y.y)}`)}return r.join(" ")}function PH(t,e,r){if(t.entries.length===0)return"";let n=r.footnotePanel.fill,i=r.footnotePanel.border,o=r.footnotePanel.header,s=r.footnotePanel.title,a=r.footnotePanel.description,c=r.footnotePanel.number,l=[];l.push(J("rect",{x:h(t.box.x),y:h(t.box.y),width:h(t.box.width),height:h(t.box.height),rx:6,ry:6,fill:n,stroke:i,"stroke-width":1,filter:`url(#${e}-shadow-subtle)`})),l.push(Oe({x:h(t.box.x+Zr),y:h(t.box.y+T_),"font-family":He.sans,"font-size":12,"font-weight":700,fill:o},"Footnotes"));let u=t.box.y+Au+Zr,f=t.box.x+Zr,d=f+Zr;return t.entries.forEach((p,m)=>{let y=u+m*Iu;l.push(Oe({x:h(f),y:h(y),"font-family":He.sans,"font-size":10,"font-weight":700,fill:c},String(p.number))),l.push(Oe({x:h(d),y:h(y),"font-family":He.sans,"font-size":11,"font-weight":600,fill:s},p.title)),p.description&&l.push(Oe({x:h(d+Math.max(120,p.title.length*6)),y:h(y),"font-family":He.sans,"font-size":11,fill:a},`\u2014 ${p.description}`))}),J("g",{"data-layer":"footnotes"},l.join(""))}function CH(t,e,r,n){let i=n.includeRegion.border,o=n.includeRegion.fill,s=n.includeRegion.tabFill,a=n.includeRegion.tabStroke,c=n.includeRegion.tabText,l=n.includeRegion.badgeFill,u=n.includeRegion.badgeStroke,f=n.includeRegion.badgeText,d=t.box.x+8,p=t.box.y,m=t.box.width-16,y=t.box.height,R=J("rect",{x:h(d),y:h(p),width:h(m),height:h(y),rx:8,ry:8,fill:o,stroke:i,"stroke-width":1,"stroke-dasharray":dh}),T=lh,E=gu(t.box.x,t.label,t.sourcePath),_=p-T/2,k=J("rect",{x:h(E.tabX),y:h(_),width:h(E.tabWidth),height:T,rx:4,ry:4,fill:s,stroke:a,"stroke-width":1}),D=Oe({x:h(E.tabLabelX),y:h(_+uh),"font-family":He.sans,"font-size":11,"font-weight":600,fill:c},t.label),C=E.badgeX,j=E.badgeSize,V=p-j/2,ie=J("rect",{x:h(C),y:h(V),width:j,height:j,rx:4,ry:4,fill:l,stroke:u,"stroke-width":1}),Ae=J("path",{d:`M${h(C+7)} ${h(V+4)} H${h(C+14)} V${h(V+11)} M${h(C+4)} ${h(V+7)} H${h(C+11)} V${h(V+14)} H${h(C+4)} Z`,stroke:f,"stroke-width":1.4,fill:"none","stroke-linecap":"round","stroke-linejoin":"round"}),O=9,w=p+4,L=J("rect",{x:h(E.sourceHaloX),y:h(w-O),width:h(E.sourceHaloWidth),height:O+6,fill:o}),M=Oe({x:h(E.sourceTextX),y:h(w),"font-family":He.mono,"font-size":O,fill:f},t.sourcePath),A=t.nestedSwimlanes.map(I=>SP(I,e,r,n)).join("");return J("g",{"data-layer":"include"},R+A+k+D+ie+Ae+L+M)}function OH(t){let e=t.palette.attribution.mark,r=t.palette.attribution.link;if(t.swimlanes.length===0)return"";let n=t.header.attributionBox.x,i=t.header.attributionBox.y,o=Ui,s=Oe({x:"0",y:o,"font-family":He.sans,"font-size":gh,"font-weight":400,fill:e},mh)+Oe({x:vu,y:o,"font-family":He.sans,"font-size":Ui,"font-weight":700,fill:e},"now")+J("rect",{x:E_,y:12,width:R_,height:Ui,fill:r})+Oe({x:yh,y:o,"font-family":He.sans,"font-size":Ui,"font-weight":400,fill:e},"ine"),a=J("g",{transform:`translate(${h(n)} ${h(i)}) scale(${h(Su)})`},s);return J("a",{href:__,target:"_blank",rel:"noopener","aria-label":"Powered by nowline"},J("g",{"data-layer":"attribution"},a))}async function LH(t,e,r,n,i,o,s){if(!e)return"";let a;try{a=await e(t)}catch(u){let f=`logo: failed to load ${t}: ${u instanceof Error?u.message:String(u)}`;if(n.strict)throw u;return n.warn?.(f),""}let c=(a.mime??"").toLowerCase();if(c==="image/svg+xml"){let u=new TextDecoder().decode(a.bytes),f=gP(u,{idPrefix:`${r}-logo`,onWarn:n.warn});return J("g",{transform:`translate(${h(i)} ${h(o)})`},f)}if(c==="image/png"||c==="image/jpeg"||c==="image/jpg"||c==="image/webp"){let u=DH(a.bytes);return J("image",{href:`data:${c};base64,${u}`,x:h(i),y:h(o),width:h(s),height:h(s),preserveAspectRatio:"xMidYMid meet"})}let l=`logo: unsupported mime ${c} for ${t}`;if(n.strict)throw new Error(l);return n.warn?.(l),""}function DH(t){if(typeof btoa<"u"){let r="";for(let n=0;n<t.length;n++)r+=String.fromCharCode(t[n]);return btoa(r)}let e=globalThis;if(e.Buffer)return e.Buffer.from(t).toString("base64");throw new Error("renderer: no base64 encoder available")}async function hE(t,e={}){let n=new Kh(e.idPrefix??"nl").next("root"),i=t.palette,o=[],s=i.arrowhead.neutral,a=i.arrowhead.light,c=i.arrowhead.dark,l=(d,p)=>`<marker id="${d}" viewBox="0 0 10 10" refX="9" refY="5" markerWidth="7" markerHeight="7" orient="auto"><path d="M 0 0 L 10 5 L 0 10 z" fill="${p}"/></marker>`,u=`<defs>${EP(n)}`+l("nl-arrow",s)+l("nl-arrow-light",a)+l("nl-arrow-dark",c)+"</defs>";o.push(u),o.push(J("rect",{x:0,y:0,width:h(t.width),height:h(t.height),fill:t.backgroundColor})),o.push(gH(t.timeline,i));for(let d of t.swimlanes)o.push(AH(d,i));o.push(mH(t.timeline,t.chartBox.y,i));for(let d of t.edges)d.kind==="underBar"&&o.push(wP(d,i));for(let d of t.swimlanes)o.push(SP(d,e,n,i));for(let d of t.includes)o.push(CH(d,e,n,i));for(let d of t.edges)d.kind!=="underBar"&&o.push(wP(d,i));for(let d of t.anchors)o.push(SH(d,i));for(let d of t.milestones)o.push(kH(d,i));for(let d of t.anchors)o.push(IH(d,i));for(let d of t.milestones)o.push(vH(d,i));if(o.push(yH(t.nowline,i)),o.push(PH(t.footnotes,n,i)),o.push(hH(t.header,n,i)),o.push(OH(t)),t.header.logo&&e.assetResolver){let d=await LH(t.header.logo.assetRef??"",e.assetResolver,n,e,t.header.logo.box.x,t.header.logo.box.y,Math.max(t.header.logo.box.width,t.header.logo.box.height));d&&o.push(d)}return`<svg${dc({xmlns:"http://www.w3.org/2000/svg",viewBox:`0 0 ${h(t.width)} ${h(t.height)}`,width:h(t.width),height:h(t.height),"data-theme":t.theme,"data-generator":"nowline"})}>${o.join("")}</svg>`}var mE="/browser-source.nowline",Zh,vP=0;function kP(){return Zh||(Zh=s_()),Zh}function $H(){return mt.parse(`memory:///nowline-browser-${++vP}.nowline`)}async function Jh(t,e={}){let r=e.filePath??mE,n=kP(),o=n.shared.workspace.LangiumDocumentFactory.fromString(t,$H());await n.shared.workspace.DocumentBuilder.build([o],{validation:!0});let s=[];for(let a of o.parseResult.lexerErrors)s.push(vE(a,r));for(let a of o.parseResult.parserErrors)s.push(SE(a,r));for(let a of o.diagnostics??[])s.push(IE(a,r));return{ast:o.parseResult.value,diagnostics:s}}async function gE(t,e={}){let r=e.filePath??mE,n=await Jh(t,{filePath:r});if(n.diagnostics.some(y=>y.severity==="error"))return{kind:"diagnostics",diagnostics:n.diagnostics};let i=kP(),o=e.readFile??CE,s=await YT(n.ast,r,{services:i.Nowline,readFile:o}),a=[...n.diagnostics];for(let y of s.diagnostics){if(y.severity==="error"&&OE(y.message)){e.onSkippedInclude?.({sourcePath:y.sourcePath,message:y.message});continue}a.push(kE(y))}if(a.some(y=>y.severity==="error"))return{kind:"diagnostics",diagnostics:a};let c=e.today===null?void 0:e.today,l=lE(n.ast,s,{theme:e.theme,today:c,locale:e.locale,width:e.width}),u=e.showLinks!==!1,f=e.strict===!0,d=[],p=await hE(l,{idPrefix:e.idPrefix,assetResolver:e.assetResolver,noLinks:!u,strict:f,warn:y=>d.push(y)}),m=d.map(y=>NE(y,r,f?"error":"warning"));return f&&m.length>0?{kind:"diagnostics",diagnostics:[...a,...m]}:{kind:"svg",svg:p,warnings:m}}function yE(){Zh=void 0,vP=0}var NP="/embed.nowline",xE=!1;async function PP(t){let{ast:e,diagnostics:r}=await Jh(t,{filePath:NP});return{ast:e,errors:r.filter(n=>n.severity==="error").map(n=>n.message)}}async function Qh(t,e={}){let r={filePath:NP,theme:e.theme,today:e.today,locale:e.locale,width:e.width,idPrefix:e.idPrefix,onSkippedInclude:()=>{xE||(xE=!0,console.warn("nowline: `include` directives are skipped in the browser embed (single-file mode). Render multi-file roadmaps with the CLI or the GitHub Action."))}},n=await gE(t,r);if(n.kind==="svg")return n.svg;let i=n.diagnostics.filter(o=>o.severity==="error").map(o=>o.message);throw new Hu(`Failed to render Nowline source: ${i.join("; ")}`,i)}var Hu=class extends Error{constructor(r,n){super(r);le(this,"details",n);this.name="EmbedRenderError"}};function CP(){xE=!1,yE()}var OP=0;async function LP(t){let e=t.document??globalThis.document;if(!e)return{rendered:0,failed:0};let r=e.querySelectorAll(t.selector),n=0,i=0,o=++OP,s=[],a=0;for(let c of Array.from(r)){let l=MH(c);if(!l)continue;let u=FH(c),f=`nl-r${o}-${a++}`,d={theme:t.theme,locale:t.locale,width:t.width,today:t.today,idPrefix:f};s.push(Qh(u,d).then(p=>{UH(l,p),n++},p=>{i++,console.error("nowline: render failed",p)}))}return await Promise.all(s),{rendered:n,failed:i}}function MH(t){let e=t.parentElement;return e&&e.tagName.toUpperCase()==="PRE"?e:t}function FH(t){return t.textContent??""}function UH(t,e){t.outerHTML=e}function DP(){OP=0}function em(){if(typeof globalThis>"u")return"light";let t=globalThis.matchMedia;if(typeof t!="function")return"light";try{return t("(prefers-color-scheme: dark)").matches?"dark":"light"}catch{return"light"}}function $P(t,e){return t==="light"||t==="dark"?t:e}var BH=wE,XH=AE,GH="pre code.language-nowline, code.language-nowline",MP={theme:"auto",startOnLoad:!0,selector:GH,systemTheme:em()},Ct={...MP},TE=!1;function HH(t={}){Ct={theme:t.theme??Ct.theme,startOnLoad:t.startOnLoad??Ct.startOnLoad,selector:t.selector??Ct.selector,locale:t.locale??Ct.locale,width:t.width??Ct.width,today:t.today??Ct.today,systemTheme:em()}}function FP(){return{theme:$P(Ct.theme,Ct.systemTheme),locale:Ct.locale,width:Ct.width,today:Ct.today}}async function jH(t,e={}){let r={...FP(),...e};return Qh(t,r)}async function WH(t){return PP(t)}async function _E(t){let e={selector:t?.selector??Ct.selector,theme:t?.theme??FP().theme,locale:t?.locale??Ct.locale,width:t?.width??Ct.width,today:t?.today??Ct.today,document:t?.document};return LP(e)}var qH=_E;if(typeof document<"u"&&!TE){TE=!0;let t=()=>{Ct.startOnLoad&&_E()};document.readyState==="loading"?document.addEventListener("DOMContentLoaded",t,{once:!0}):queueMicrotask(t)}function zH(){Ct={...MP,systemTheme:em()},TE=!1,CP(),DP()}return qu(VH);})();
|
|
2662
|
+
}`));var wU={languageId:"nowline",fileExtensions:[".nowline"],caseInsensitive:!1,mode:"development"},ek={AstReflection:()=>new gu},tk={Grammar:()=>QI(),LanguageMetaData:()=>wU,parser:{}};var rk={"NL.E0001":()=>"Config section must appear before roadmap.","NL.E0002":()=>"Include declarations must appear before the config section.","NL.E0003":()=>"Include declarations must appear before the roadmap section.","NL.E0004":()=>"At least one swimlane is required.","NL.E0005":t=>`Line ${t.line}: mixed tabs and spaces in indentation. Use either tabs or spaces consistently.`,"NL.E0100":t=>`Invalid version format "${t.version}". Expected format: v1, v2, etc.`,"NL.E0101":t=>`This file requires Nowline ${t.version}, but the parser only supports up to ${t.supported}.`,"NL.E0102":t=>`Unknown directive property "${t.key}". Allowed: ${t.allowed}.`,"NL.E0103":t=>`Duplicate directive property "${t.key}".`,"NL.E0104":t=>`Invalid locale "${t.value}". Use a BCP-47 tag like "en-US", "fr", or "fr-CA".`,"NL.E0200":t=>`Invalid include mode "${t.value}". Must be merge, ignore, or isolate.`,"NL.E0201":t=>`Duplicate "${t.key}" option on include.`,"NL.E0300":t=>`Duplicate identifier "${t.name}". First declared at ${t.location}.`,"NL.E0301":t=>`${t.type} must have an identifier, a title, or both.`,"NL.E0400":t=>`Invalid duration "${t.value}". Use a raw duration literal like 0.5d, 2w, 1m, 2q. Use "size:NAME" to reference a declared size.`,"NL.E0401":t=>`Invalid size "${t.value}". Use the id of a declared size (e.g. xs, m, lg).`,"NL.E0402":t=>`Invalid effort "${t.value}". Use a raw duration literal like 0.5d, 2w, 1m, 2q.`,"NL.E0403":t=>`Invalid remaining value "${t.value}". Use a percentage like 30% or a duration literal like 1w, 0.5d.`,"NL.E0404":t=>`Remaining must be between 0% and 100%, got ${t.value}.`,"NL.E0405":t=>`Invalid ${t.key} "${t.value}". Use ISO 8601 format: YYYY-MM-DD.`,"NL.E0406":t=>`Invalid scale "${t.value}". Use a raw duration literal like 1w, 2w, 1q (no name lookup).`,"NL.E0407":t=>`Invalid calendar "${t.value}". Must be business, full, or custom.`,"NL.E0408":t=>`Property "${t.key}" requires at least one reference.`,"NL.E0410":t=>`"${t.key}:" accepts at most one inline date per direction; collapse the multiple dates to a single binding date or use a declared anchor.`,"NL.E0411":t=>`Inline date in "${t.key}:" is not allowed on ${t.type}. Allowed only on item, parallel, and group; for a milestone use "date:" instead.`,"NL.E0412":t=>`Inline date "${t.date}" in "${t.key}:" requires the roadmap to declare "start:". Add start:YYYY-MM-DD to the roadmap.`,"NL.E0413":t=>`Inline date "${t.date}" in "${t.key}:" is before roadmap start ${t.start}.`,"NL.E0500":t=>`Anchor "${t.name}" requires a "date:" property.`,"NL.E0501":t=>`Anchor "${t.name}" has a date but the roadmap is missing "start:". Add start:YYYY-MM-DD to the roadmap.`,"NL.E0502":t=>`Anchor "${t.name}" date ${t.date} is before roadmap start ${t.start}.`,"NL.E0503":t=>`Milestone "${t.name}" requires at least one of "date:" or "after:".`,"NL.E0504":t=>`Milestone "${t.name}" date ${t.date} is before roadmap start ${t.start}.`,"NL.E0505":()=>'Footnote requires an "on:" property referencing one or more entities.',"NL.E0600":t=>`Item "${t.name}" requires a "size:" or "duration:" property.`,"NL.W0700":t=>`Unknown property "${t.key}" on ${t.entity}. The renderer ignores it.${t.suggested?` Did you mean "${t.suggested}"?`:""}`};var nk={"NL.E0001":()=>"La section config doit pr\xE9c\xE9der la section roadmap.","NL.E0002":()=>"Les d\xE9clarations include doivent pr\xE9c\xE9der la section config.","NL.E0003":()=>"Les d\xE9clarations include doivent pr\xE9c\xE9der la section roadmap.","NL.E0004":()=>"Au moins une swimlane est requise.","NL.E0005":t=>`Ligne ${t.line}\xA0: tabulations et espaces m\xE9lang\xE9s dans l'indentation. Utilisez l'un ou l'autre, mais pas les deux.`,"NL.E0100":t=>`Format de version invalide \xAB\xA0${t.version}\xA0\xBB. Format attendu\xA0: v1, v2, etc.`,"NL.E0101":t=>`Ce fichier requiert Nowline ${t.version}, mais l'analyseur ne prend en charge que jusqu'\xE0 ${t.supported}.`,"NL.E0102":t=>`Propri\xE9t\xE9 de directive inconnue \xAB\xA0${t.key}\xA0\xBB. Valeurs admises\xA0: ${t.allowed}.`,"NL.E0103":t=>`Propri\xE9t\xE9 de directive \xAB\xA0${t.key}\xA0\xBB en double.`,"NL.E0104":t=>`Locale invalide \xAB\xA0${t.value}\xA0\xBB. Utilisez une \xE9tiquette BCP-47 telle que \xAB\xA0en-US\xA0\xBB, \xAB\xA0fr\xA0\xBB ou \xAB\xA0fr-CA\xA0\xBB.`,"NL.E0200":t=>`Mode d'include invalide \xAB\xA0${t.value}\xA0\xBB. Doit \xEAtre merge, ignore ou isolate.`,"NL.E0201":t=>`Option \xAB\xA0${t.key}\xA0\xBB en double sur include.`,"NL.E0300":t=>`Identifiant en double \xAB\xA0${t.name}\xA0\xBB. Premi\xE8re d\xE9claration \xE0 ${t.location}.`,"NL.E0301":t=>`${t.type} doit comporter un identifiant, un titre, ou les deux.`,"NL.E0400":t=>`Dur\xE9e invalide \xAB\xA0${t.value}\xA0\xBB. Utilisez un litt\xE9ral de dur\xE9e brut comme 0.5d, 2w, 1m, 2q. Utilisez \xAB\xA0size:NOM\xA0\xBB pour r\xE9f\xE9rencer une taille d\xE9clar\xE9e.`,"NL.E0401":t=>`Taille invalide \xAB\xA0${t.value}\xA0\xBB. Utilisez l'identifiant d'une taille d\xE9clar\xE9e (p.\xA0ex. xs, m, lg).`,"NL.E0402":t=>`Effort invalide \xAB\xA0${t.value}\xA0\xBB. Utilisez un litt\xE9ral de dur\xE9e brut comme 0.5d, 2w, 1m, 2q.`,"NL.E0403":t=>`Valeur restante invalide \xAB\xA0${t.value}\xA0\xBB. Utilisez un pourcentage tel que 30% ou un litt\xE9ral de dur\xE9e comme 1w, 0.5d.`,"NL.E0404":t=>`La valeur restante doit \xEAtre comprise entre 0 % et 100 %, re\xE7u ${t.value}.`,"NL.E0405":t=>`${t.key} invalide \xAB\xA0${t.value}\xA0\xBB. Utilisez le format ISO 8601\xA0: AAAA-MM-JJ.`,"NL.E0406":t=>`\xC9chelle invalide \xAB\xA0${t.value}\xA0\xBB. Utilisez un litt\xE9ral de dur\xE9e brut comme 1w, 2w, 1q (pas de recherche par nom).`,"NL.E0407":t=>`Calendrier invalide \xAB\xA0${t.value}\xA0\xBB. Doit \xEAtre business, full ou custom.`,"NL.E0408":t=>`La propri\xE9t\xE9 \xAB\xA0${t.key}\xA0\xBB exige au moins une r\xE9f\xE9rence.`,"NL.E0410":t=>`\xAB\xA0${t.key}:\xA0\xBB n'accepte qu'une seule date inline par direction\xA0; regroupez les dates en une seule date contraignante ou utilisez une ancre d\xE9clar\xE9e.`,"NL.E0411":t=>`Une date inline dans \xAB\xA0${t.key}:\xA0\xBB n'est pas autoris\xE9e sur ${t.type}. Autoris\xE9e seulement sur item, parallel et group\xA0; pour un milestone utilisez \xAB\xA0date:\xA0\xBB \xE0 la place.`,"NL.E0412":t=>`La date inline \xAB\xA0${t.date}\xA0\xBB dans \xAB\xA0${t.key}:\xA0\xBB exige que la roadmap d\xE9clare \xAB\xA0start:\xA0\xBB. Ajoutez start:AAAA-MM-JJ \xE0 la roadmap.`,"NL.E0413":t=>`La date inline \xAB\xA0${t.date}\xA0\xBB dans \xAB\xA0${t.key}:\xA0\xBB pr\xE9c\xE8de le d\xE9but de la roadmap (${t.start}).`,"NL.E0500":t=>`L'ancre \xAB\xA0${t.name}\xA0\xBB exige une propri\xE9t\xE9 \xAB\xA0date:\xA0\xBB.`,"NL.E0501":t=>`L'ancre \xAB\xA0${t.name}\xA0\xBB a une date, mais \xAB\xA0start:\xA0\xBB manque sur la roadmap. Ajoutez start:AAAA-MM-JJ \xE0 la roadmap.`,"NL.E0502":t=>`La date ${t.date} de l'ancre \xAB\xA0${t.name}\xA0\xBB pr\xE9c\xE8de le d\xE9but de la roadmap (${t.start}).`,"NL.E0503":t=>`Le jalon \xAB\xA0${t.name}\xA0\xBB exige au moins l'une des propri\xE9t\xE9s \xAB\xA0date:\xA0\xBB ou \xAB\xA0after:\xA0\xBB.`,"NL.E0504":t=>`La date ${t.date} du jalon \xAB\xA0${t.name}\xA0\xBB pr\xE9c\xE8de le d\xE9but de la roadmap (${t.start}).`,"NL.E0505":()=>"Une note de bas de page exige une propri\xE9t\xE9 \xAB\xA0on:\xA0\xBB r\xE9f\xE9ren\xE7ant au moins une entit\xE9.","NL.E0600":t=>`L'\xE9l\xE9ment \xAB\xA0${t.name}\xA0\xBB exige une propri\xE9t\xE9 \xAB\xA0size:\xA0\xBB ou \xAB\xA0duration:\xA0\xBB.`,"NL.W0700":t=>`Propri\xE9t\xE9 inconnue \xAB\xA0${t.key}\xA0\xBB sur ${t.entity}. Le moteur de rendu l'ignore.${t.suggested?` Vouliez-vous dire \xAB\xA0${t.suggested}\xA0\xBB\xA0?`:""}`};var ik={};var ok={};var AU=new Map([["en-US",rk],["fr",nk],["fr-CA",ik],["fr-FR",ok]]);function ak(t,e,...r){for(let n of SU(t)){let o=AU.get(n)?.[e];if(o)return o(...r)}return e}var sk="en-US";function SU(t){let e=[],r=IU(t);for(;r.length>0;){e.includes(r)||e.push(r);let n=r.lastIndexOf("-");if(n<=0)break;r=r.slice(0,n)}return e.includes(sk)||e.push(sk),e}function IU(t){return t.split("-").map((r,n)=>n===0?r.toLowerCase():/^[a-zA-Z]{2}$/.test(r)?r.toUpperCase():r).join("-")}var kU=/[\\/]/;function uk(t){for(let e=t.length-1;e>=0;e--){let r=t.charCodeAt(e);if(r===47||r===92)return e}return-1}function ck(...t){for(let e of t)if(e){if(e.includes("\\")&&!e.includes("/"))return"\\";if(e.includes("/"))return"/"}return"/"}function NU(t){return t?t[0]==="/"||t[0]==="\\"?!0:t.length>=3&&/^[A-Za-z]:[\\/]/.test(t):!1}function fk(t){let e=uk(t);return e<0?".":e===0?t[0]:e===2&&/^[A-Za-z]:[\\/]/.test(t)?t.slice(0,3):t.slice(0,e)}function sh(t){let e=uk(t);return e<0?t:t.slice(e+1)}function u_(t,e){if(NU(e))return lk(e,ck(e));let r=ck(t,e);return lk(`${t}${r}${e}`,r)}function lk(t,e){let r="",n=t,i=/^([A-Za-z]:)([\\/])?/.exec(n);i?(r=i[1]+(i[2]?e:""),n=n.slice(i[0].length)):(n[0]==="/"||n[0]==="\\")&&(r=e,n=n.replace(/^[\\/]+/,""));let o=[];for(let s of n.split(kU))if(!(s===""||s===".")){if(s===".."){o.length>0&&o[o.length-1]!==".."?o.pop():r||o.push("..");continue}o.push(s)}return r+o.join(e)}var CU=/^\d{4}-\d{2}-\d{2}$/;function hk(t){let e=t?.properties.find(r=>r.key==="start");if(e?.value&&CU.test(e.value)&&!Number.isNaN(new Date(e.value).getTime()))return e.value}function OU(t,e,r){return e&&r?`Included "${t}" declares start:${r}, which doesn't match this file's start:${e}. Both files must declare the same start date, or neither should.`:e?`Included "${t}" has no start:, but this file declares start:${e}. Both files must declare the same start date, or neither should.`:`Included "${t}" declares start:${r}, but this file has no start:. Both files must declare the same start date, or neither should.`}function mk(){return{styles:new Map,defaults:new Map,symbols:new Map}}function gk(){return{persons:new Map,teams:new Map,anchors:new Map,labels:new Map,sizes:new Map,statuses:new Map,swimlanes:new Map,milestones:new Map,footnotes:new Map,isolatedRegions:[]}}async function f_(t,e,r){let n=r.readFile??(async c=>{let{nodeReadFile:l}=await Promise.resolve().then(()=>(pk(),dk));return l(c)}),i={services:r.services,diagnostics:[],resolving:[],processed:new Map,readFile:n},o=u_("",e),{config:s,content:a}=await xk(t,o,i);return{config:s,content:a,diagnostics:i.diagnostics,processedFiles:new Set(i.processed.keys())}}async function xk(t,e,r){if(r.processed.has(e))return r.processed.get(e);if(r.resolving.includes(e)){r.diagnostics.push({severity:"error",message:`Circular include detected: ${[...r.resolving,e].join(" \u2192 ")}`,sourcePath:e});let a={config:mk(),content:gk()};return r.processed.set(e,a),a}r.resolving.push(e);let n=mk(),i=gk();MU(n,t),UU(i,t);let o=new Set;for(let a of t.includes){let c=a.path,l=u_(fk(e),c);if(o.has(l)){r.diagnostics.push({severity:"error",message:`Duplicate include "${c}" in ${sh(e)}.`,sourcePath:e,line:a.$cstNode?.range.start.line});continue}o.add(l);let u=yk(a,"config")??"merge",f=yk(a,"roadmap")??"merge",d;try{let g=await r.readFile(l);d=await LU(r.services,g,l)}catch(g){r.diagnostics.push({severity:"error",message:`Could not read include "${c}": ${g.message}`,sourcePath:e,line:a.$cstNode?.range.start.line});continue}let{config:p,content:m}=await xk(d,l,r);if(DU(n,p,u,l,r.diagnostics),$U(i,m,p,f,l,c,r.diagnostics),f==="isolate"&&!m.roadmap&&r.diagnostics.push({severity:"error",message:`Cannot isolate "${c}": it has no roadmap declaration.`,sourcePath:e,line:a.$cstNode?.range.start.line}),f!=="ignore"&&d.roadmapDecl){let g=hk(t.roadmapDecl),v=hk(d.roadmapDecl);g!==v&&r.diagnostics.push({severity:"error",message:OU(c,g,v),sourcePath:e,line:a.$cstNode?.range.start.line})}}r.resolving.pop();let s={config:n,content:i};return r.processed.set(e,s),s}function yk(t,e){let r=t.options.find(n=>n.key===e);if(r&&(r.value==="merge"||r.value==="ignore"||r.value==="isolate"))return r.value}async function LU(t,e,r){let n=ht.file(r),o=t.shared.workspace.LangiumDocumentFactory.fromString(e,n);return await t.shared.workspace.DocumentBuilder.build([o],{validation:!1}),o.parseResult.value}function DU(t,e,r,n,i){if(r==="ignore"||r==="isolate")return;let o=(s,a)=>i.push({severity:"warning",message:`${a} "${s}" from ${sh(n)} is shadowed by the parent's definition.`,sourcePath:n});kr(t.styles,e.styles,s=>o(s,"Style")),kr(t.defaults,e.defaults,s=>o(s,"Default")),kr(t.symbols,e.symbols,s=>o(s,"Symbol")),e.scale&&!t.scale&&(t.scale=e.scale),e.calendar&&!t.calendar&&(t.calendar=e.calendar)}function $U(t,e,r,n,i,o,s){if(n==="ignore")return;if(n==="isolate"){e.roadmap&&t.isolatedRegions.push({sourcePath:o,config:r,content:e});return}let a=(c,l)=>s.push({severity:"warning",message:`${l} "${c}" from ${sh(i)} is shadowed by the parent's definition.`,sourcePath:i});kr(t.persons,e.persons,c=>a(c,"Person")),kr(t.teams,e.teams,c=>a(c,"Team")),kr(t.anchors,e.anchors,c=>a(c,"Anchor")),kr(t.labels,e.labels,c=>a(c,"Label")),kr(t.sizes,e.sizes,c=>a(c,"Size")),kr(t.statuses,e.statuses,c=>a(c,"Status")),kr(t.swimlanes,e.swimlanes,c=>a(c,"Swimlane")),kr(t.milestones,e.milestones,c=>a(c,"Milestone")),kr(t.footnotes,e.footnotes,c=>a(c,"Footnote")),e.roadmap&&!t.roadmap&&(t.roadmap=e.roadmap)}function kr(t,e,r){for(let[n,i]of e){if(t.has(n)){r(n);continue}t.set(n,i)}}function MU(t,e){for(let r of e.configEntries)FU(t,r)}function FU(t,e){ZI(e)?t.scale||(t.scale=e):rh(e)?t.calendar||(t.calendar=e):xu(e)?e.name&&!t.styles.has(e.name)&&t.styles.set(e.name,e):Tu(e)?e.name&&!t.symbols.has(e.name)&&t.symbols.set(e.name,e):Gi(e)&&(t.defaults.has(e.entityType)||t.defaults.set(e.entityType,e))}function UU(t,e){e.roadmapDecl&&!t.roadmap&&(t.roadmap=e.roadmapDecl);for(let r of e.roadmapEntries)BU(t,r)}function BU(t,e){Yr(e)?e.name&&!t.swimlanes.has(e.name)&&t.swimlanes.set(e.name,e):Xi(e)?e.name&&!t.persons.has(e.name)&&t.persons.set(e.name,e):Kr(e)?e.name&&!t.teams.has(e.name)&&t.teams.set(e.name,e):th(e)?e.name&&!t.anchors.has(e.name)&&t.anchors.set(e.name,e):ih(e)?e.name&&!t.labels.has(e.name)&&t.labels.set(e.name,e):Ja(e)?e.name&&!t.sizes.has(e.name)&&t.sizes.set(e.name,e):yu(e)?e.name&&!t.statuses.has(e.name)&&t.statuses.set(e.name,e):oh(e)?e.name&&!t.milestones.has(e.name)&&t.milestones.set(e.name,e):nh(e)&&e.name&&!t.footnotes.has(e.name)&&t.footnotes.set(e.name,e)}var Tk="v1",d_=new Set(["planned","in-progress","active","done","completed","at-risk","blocked"]),ah=new Set(["bg","fg","text","border","icon","shadow","font","weight","italic","text-size","padding","spacing","header-height","corner-radius","bracket","header-position","capacity-icon","timeline-position","minor-grid"]),y_=new Set(["none","multiplier","person","people","points","time"]),ch=new Set([...y_,"shield","warning","lock","calendar"]),kk="none",lh={border:new Set(["solid","dashed","dotted"]),shadow:new Set(["none","subtle","soft","hard"]),font:new Set(["sans","serif","mono"]),weight:new Set(["thin","light","normal","bold"]),italic:new Set(["true","false"]),"text-size":new Set(["none","xs","sm","md","lg","xl"]),padding:new Set(["none","xs","sm","md","lg","xl"]),spacing:new Set(["none","xs","sm","md","lg","xl"]),"header-height":new Set(["none","xs","sm","md","lg","xl"]),"corner-radius":new Set(["none","xs","sm","md","lg","xl","full"]),bracket:new Set(["none","solid","dashed"]),"header-position":new Set(["beside","above"]),"timeline-position":new Set(["top","bottom","both"]),"minor-grid":new Set(["true","false"])},GU=new Set(["red","blue","yellow","green","orange","purple","violet","gray","grey","navy","white","none"]),XU=new Set(["business","full","custom"]),p_=new Set(["days-per-week","days-per-month","days-per-quarter","days-per-year"]),_k=new Set(["name","label-every","label"]),Ek=new Set(["item","label","swimlane","roadmap","milestone","footnote","anchor","parallel","group"]),HU={item:new Set(["size","duration","after","before","remaining","link","description","owner"]),milestone:new Set(["date","after","link","description"]),anchor:new Set(["date","link","description"]),footnote:new Set(["on","link","description"]),label:new Set(["link","description"]),swimlane:new Set(["capacity"]),roadmap:new Set,parallel:new Set,group:new Set},vk=new Set(["labels","link","style","description"]),jU={RoadmapDeclaration:new Set(["author","start","length","scale","calendar","logo","logo-size"]),AnchorDeclaration:new Set(["date"]),SwimlaneDeclaration:new Set(["owner","capacity","utilization-warn-at","utilization-over-at","status","after","before"]),ItemDeclaration:new Set(["size","duration","status","owner","after","before","remaining","capacity","date","start"]),ParallelBlock:new Set(["owner","after","before","status"]),GroupBlock:new Set(["owner","after","before","status"]),MilestoneDeclaration:new Set(["date","after"]),FootnoteDeclaration:new Set(["on"]),PersonDeclaration:new Set,TeamDeclaration:new Set,LabelDeclaration:new Set,SizeDeclaration:new Set(["effort"]),StatusDeclaration:new Set};function zU(t,e,r){if(t===e)return 0;let n=t.length,i=e.length;if(Math.abs(n-i)>r)return r+1;if(n===0)return i;if(i===0)return n;let o=new Array(i+1),s=new Array(i+1);for(let a=0;a<=i;a++)o[a]=a;for(let a=1;a<=n;a++){s[0]=a;let c=a;for(let u=1;u<=i;u++){let f=t.charCodeAt(a-1)===e.charCodeAt(u-1)?0:1;s[u]=Math.min(o[u]+1,s[u-1]+1,o[u-1]+f),s[u]<c&&(c=s[u])}if(c>r)return r+1;let l=o;o=s,s=l}return o[i]}function qU(t,e,r=2){let n,i=r+1;for(let o of e){let s=zU(t,o,r);if(s<i&&(n=o,i=s,s===0))break}return n}function ke(t){return t.key.endsWith(":")?t.key.slice(0,-1):t.key}var _u=/^\d+(?:\.\d+)?[dwmqy]$/,WU=/^\d+%$/,Hi=/^\d{4}-\d{2}-\d{2}$/,VU=/^#[0-9a-fA-F]{3,8}$/,YU=/^v\d+$/,Rk=/^\d+$/,KU=/^[dwmqy]$/,bk=/^\d+(\.\d+)?$/,x_=/^\d+(\.\d+)?%$/,Nk=/^\d+\.\d+$/,ZU=/^\d+$/,JU=/^[\x20-\x7E]{1,3}$/,QU=/^[a-zA-Z]{2,3}(-[a-zA-Z]{2}|-\d{3})?$/,eB=new Set(["merge","ignore","isolate"]),wk=new Set(["locale"]);function h_(t){let e=t?.roadmapDecl?.properties.find(i=>ke(i)==="start");if(!e)return{kind:"missing"};let r=e.value;if(!r||!Hi.test(r))return{kind:"invalid"};let n=new Date(r);return Number.isNaN(n.getTime())?{kind:"invalid"}:{kind:"valid",iso:r,date:n}}function Zr(t){return t.name??t.title??"<unnamed>"}function tB(t){return t.$type.replace(/Declaration$|Block$/,"").toLowerCase()}function be(t,e,r,n,...i){t(e,ak("en-US",n,...i),{...r,data:{code:n,args:i}})}function Pk(t){let e=t.validation.ValidationRegistry,r=t.validation.NowlineValidator,n={NowlineFile:[r.checkFileStructure,r.checkUniqueIdentifiers,r.checkSwimlaneRequired,r.checkIndentationConsistency,r.checkRoadmapOnlyKeywordsPosition,r.checkForwardReferences,r.checkReferenceResolution,r.checkInlineDatePins,r.checkCircularDependencies,r.checkDuplicateSizeIds,r.checkCalendarBlockConsistency,r.checkPersonDeclarations,r.checkDuplicateSymbolIds,r.checkSymbolReferences],NowlineDirective:[r.checkDirectiveVersion,r.checkDirectiveProperties],IncludeOption:[r.checkIncludeMode],IncludeDeclaration:[r.checkIncludeDuplicateOptions],EntityProperty:[r.checkPropertyValues],RoadmapDeclaration:[r.checkEntityIdOrTitle,r.checkRoadmapProperties,r.checkNoRawStyleProperties,r.checkUnknownEntityProperties],AnchorDeclaration:[r.checkEntityIdOrTitle,r.checkAnchorRequiredDate,r.checkAnchorAgainstStart,r.checkNoRawStyleProperties,r.checkNoFootnoteProperty,r.checkUnknownEntityProperties],SwimlaneDeclaration:[r.checkEntityIdOrTitle,r.checkNoRawStyleProperties,r.checkUtilizationOrdering,r.checkNoFootnoteProperty,r.checkUnknownEntityProperties],ItemDeclaration:[r.checkEntityIdOrTitle,r.checkItemRequiredDuration,r.checkNoRawStyleProperties,r.checkNoFootnoteProperty,r.checkUnknownEntityProperties],ParallelBlock:[r.checkParallelMinChildren,r.checkNoComputedProperties,r.checkNoRawStyleProperties,r.checkNoFootnoteProperty,r.checkUnknownEntityProperties],GroupBlock:[r.checkGroupMinChildren,r.checkNoComputedProperties,r.checkNoRawStyleProperties,r.checkNoFootnoteProperty,r.checkUnknownEntityProperties],MilestoneDeclaration:[r.checkEntityIdOrTitle,r.checkMilestoneRequirement,r.checkMilestoneAgainstStart,r.checkNoRawStyleProperties,r.checkNoFootnoteProperty,r.checkUnknownEntityProperties],FootnoteDeclaration:[r.checkEntityIdOrTitle,r.checkFootnoteOn,r.checkNoRawStyleProperties,r.checkUnknownEntityProperties],PersonDeclaration:[r.checkEntityIdOrTitle,r.checkNoRawStyleProperties,r.checkNoFootnoteProperty,r.checkUnknownEntityProperties],TeamDeclaration:[r.checkEntityIdOrTitle,r.checkNoRawStyleProperties,r.checkNoFootnoteProperty,r.checkUnknownEntityProperties],StyleDeclaration:[r.checkEntityIdOrTitle],StyleProperty:[r.checkStylePropertyEnum],SymbolDeclaration:[r.checkEntityIdOrTitle,r.checkSymbolDeclaration],LabelDeclaration:[r.checkEntityIdOrTitle,r.checkNoRawStyleProperties,r.checkUnknownEntityProperties],SizeDeclaration:[r.checkEntityIdOrTitle,r.checkSizeDeclaration,r.checkNoRawStyleProperties,r.checkUnknownEntityProperties],StatusDeclaration:[r.checkEntityIdOrTitle,r.checkStatusDeclaration,r.checkNoRawStyleProperties,r.checkUnknownEntityProperties],DefaultDeclaration:[r.checkDefaultDeclaration,r.checkUtilizationOrdering],CalendarBlock:[r.checkCalendarBlock],ScaleBlock:[r.checkScaleBlock]};e.register(n,r)}var fh=class{checkFileStructure(e,r){let n=e.hasConfig?ws.findNodeForKeyword(e.$cstNode,"config")?.offset:void 0,i=e.roadmapDecl?.$cstNode?.offset;n!==void 0&&i!==void 0&&n>i&&be(r,"error",{node:e,property:"hasConfig"},"NL.E0001");for(let o of e.includes){let s=o.$cstNode?.offset??0;n!==void 0&&s>n&&be(r,"error",{node:o},"NL.E0002"),i!==void 0&&s>i&&be(r,"error",{node:o},"NL.E0003")}}checkRoadmapOnlyKeywordsPosition(e,r){}checkDirectiveVersion(e,r){if(!YU.test(e.version)){be(r,"error",{node:e,property:"version"},"NL.E0100",{version:e.version});return}let n=parseInt(e.version.slice(1),10),i=parseInt(Tk.slice(1),10);n>i&&be(r,"error",{node:e,property:"version"},"NL.E0101",{version:e.version,supported:Tk})}checkDirectiveProperties(e,r){let n=new Set;for(let i of e.properties){let o=ke(i);if(!wk.has(o)){be(r,"error",{node:i,property:"key"},"NL.E0102",{key:o,allowed:[...wk].join(", ")});continue}if(n.has(o)&&be(r,"error",{node:i,property:"key"},"NL.E0103",{key:o}),n.add(o),o==="locale"){let s=i.value;QU.test(s)||be(r,"error",{node:i,property:"value"},"NL.E0104",{value:s})}}}checkEntityIdOrTitle(e,r){!e.name&&!e.title&&be(r,"error",{node:e},"NL.E0301",{type:e.$type})}checkUniqueIdentifiers(e,r){let n=new Map,i=(o,s)=>{if(!o)return;let a=n.get(o);a?be(r,"error",{node:s},"NL.E0300",{name:o,location:uh(a)}):n.set(o,s)};e.roadmapDecl?.name&&i(e.roadmapDecl.name,e.roadmapDecl);for(let o of e.roadmapEntries)iB(o,i);for(let o of e.configEntries)xu(o)&&o.name&&i(o.name,o)}checkIndentationConsistency(e,r){let n=e.$document?.textDocument.getText()??e.$cstNode?.text;if(!n)return;let i=n.split(/\r?\n/);for(let o=0;o<i.length;o++){let s=i[o];if(s.length===0)continue;let a=s.match(/^([\t ]+)/);if(!a)continue;let c=a[1];if(c.includes(" ")&&c.includes(" ")){be(r,"error",{node:e},"NL.E0005",{line:o+1});return}}}checkSwimlaneRequired(e,r){let n=e.roadmapEntries.some(Yr);e.roadmapDecl&&!n&&be(r,"error",{node:e.roadmapDecl},"NL.E0004")}checkIncludeMode(e,r){eB.has(e.value)||be(r,"error",{node:e,property:"value"},"NL.E0200",{value:e.value})}checkIncludeDuplicateOptions(e,r){let n=new Set;for(let i of e.options){let o=i.key.replace(/:$/,"");n.has(o)&&be(r,"error",{node:i},"NL.E0201",{key:o}),n.add(o)}}checkPropertyValues(e,r){let n=ke(e),i=e.value,o=e.values,s=i?[i]:o;switch(n){case"status":break;case"duration":i&&!_u.test(i)&&be(r,"error",{node:e,property:"value"},"NL.E0400",{value:i});break;case"size":i&&!Ak(i)&&be(r,"error",{node:e,property:"value"},"NL.E0401",{value:i});break;case"effort":i&&!_u.test(i)&&be(r,"error",{node:e,property:"value"},"NL.E0402",{value:i});break;case"remaining":{if(i)if(WU.test(i)){let a=parseFloat(i);(a<0||a>100)&&be(r,"error",{node:e,property:"value"},"NL.E0404",{value:i})}else _u.test(i)||be(r,"error",{node:e,property:"value"},"NL.E0403",{value:i});break}case"date":case"start":i&&(!Hi.test(i)||Number.isNaN(new Date(i).getTime()))&&be(r,"error",{node:e,property:"value"},"NL.E0405",{key:n,value:i});break;case"scale":i&&!_u.test(i)&&be(r,"error",{node:e,property:"value"},"NL.E0406",{value:i});break;case"calendar":i&&!XU.has(i)&&be(r,"error",{node:e,property:"value"},"NL.E0407",{value:i});break;case"on":case"after":case"before":s.length===0&&be(r,"error",{node:e},"NL.E0408",{key:n});break;case"capacity":{if(!i)break;let a=e.$container,c=rB(a);if(c==="invalid")break;c==="lane"?(!bk.test(i)||parseFloat(i)<=0)&&r("error",`Invalid swimlane capacity "${i}". Use a positive integer (e.g. capacity:5) or decimal (e.g. capacity:1.5). Percent literals are not allowed on swimlanes.`,{node:e,property:"value"}):x_.test(i)?parseFloat(i)<=0&&r("error",`Item capacity "${i}" must be positive.`,{node:e,property:"value"}):bk.test(i)?parseFloat(i)<=0&&r("error",`Item capacity "${i}" must be positive.`,{node:e,property:"value"}):r("error",`Invalid item capacity "${i}". Use a positive integer (capacity:2), decimal (capacity:0.5), or percent literal (capacity:50%).`,{node:e,property:"value"});break}case"overcapacity":{r("error",'"overcapacity:" was removed. Use "utilization-over-at:none" (and/or "utilization-warn-at:none") to suppress the lane utilization underline.',{node:e});break}case"utilization-warn-at":case"utilization-over-at":{if(!i)break;if(!nB(e.$container)){r("error",`"${n}:" is only valid on "swimlane" or "default swimlane".`,{node:e});break}if(i===kk)break;if(x_.test(i)){parseFloat(i)<=0&&r("error",`${n} value "${i}" must be positive.`,{node:e,property:"value"});break}if(Nk.test(i)){parseFloat(i)<=0&&r("error",`${n} value "${i}" must be positive.`,{node:e,property:"value"});break}if(ZU.test(i)){r("error",`Ambiguous ${n} value "${i}". Use the percent form ("${i}%") or the decimal-fraction form ("0.${i}") to make the intent explicit.`,{node:e,property:"value"});break}r("error",`Invalid ${n} value "${i}". Use a positive percent (e.g. 80%), a positive decimal fraction (e.g. 0.8), or "none" to opt out.`,{node:e,property:"value"});break}case"capacity-icon":break;case"icon":break;default:if(ah.has(n)){if(n==="bg"||n==="fg"||n==="text")i&&!m_(i)&&r("error",`Invalid color "${i}" for "${n}". Use a named color, hex value, or "none".`,{node:e,property:"value"});else if(n in lh){let a=lh[n];i&&!a.has(i)&&!m_(i)&&r("error",`Invalid value "${i}" for "${n}". Allowed: ${[...a].join(", ")}.`,{node:e,property:"value"})}}break}}checkAnchorRequiredDate(e,r){e.properties.find(i=>ke(i)==="date")||be(r,"error",{node:e},"NL.E0500",{name:Zr(e)})}checkAnchorAgainstStart(e,r){let n=e.properties.find(a=>ke(a)==="date");if(!n?.value)return;let i=n.value;if(!Hi.test(i))return;let o=new Date(i);if(Number.isNaN(o.getTime()))return;let s=h_(e.$container);switch(s.kind){case"invalid":return;case"missing":be(r,"error",{node:n,property:"value"},"NL.E0501",{name:Zr(e)});return;case"valid":o<s.date&&be(r,"error",{node:n,property:"value"},"NL.E0502",{name:Zr(e),date:i,start:s.iso});return}}checkMilestoneRequirement(e,r){let n=e.properties.some(o=>ke(o)==="date"),i=e.properties.some(o=>ke(o)==="after");!n&&!i&&be(r,"error",{node:e},"NL.E0503",{name:Zr(e)})}checkMilestoneAgainstStart(e,r){let n=e.properties.find(a=>ke(a)==="date");if(!n?.value)return;let i=n.value;if(!Hi.test(i))return;let o=new Date(i);if(Number.isNaN(o.getTime()))return;let s=h_(e.$container);switch(s.kind){case"invalid":return;case"missing":r("error",`Milestone "${Zr(e)}" has a date but the roadmap is missing "start:". Add start:YYYY-MM-DD to the roadmap.`,{node:n,property:"value"});return;case"valid":o<s.date&&be(r,"error",{node:n,property:"value"},"NL.E0504",{name:Zr(e),date:i,start:s.iso});return}}checkFootnoteOn(e,r){e.properties.some(i=>ke(i)==="on")||be(r,"error",{node:e},"NL.E0505")}checkNoFootnoteProperty(e,r){for(let n of e.properties)ke(n)==="footnote"&&r("error",`Property "footnote:" is not valid on ${g_(e)}. Footnotes attach via "on:" on the footnote declaration \u2014 declare \`footnote <id> on:<target-id>\` instead.`,{node:n})}checkItemRequiredDuration(e,r){let n=e.properties.some(o=>ke(o)==="duration"),i=e.properties.some(o=>ke(o)==="size");!n&&!i&&be(r,"error",{node:e},"NL.E0600",{name:Zr(e)})}checkNoComputedProperties(e,r){for(let n of e.properties){let i=ke(n);(i==="size"||i==="duration"||i==="remaining"||i==="capacity")&&r("error",`"${i}" is not valid on ${e.$type==="ParallelBlock"?"parallel":"group"} (computed from children).`,{node:n})}}checkParallelMinChildren(e,r){let n=e.content.filter(i=>!l_(i));n.length===0?r("error","Parallel block must contain at least 2 children.",{node:e}):n.length===1&&r("warning","Parallel block has only 1 child. Use at least 2 for parallel execution.",{node:e})}checkGroupMinChildren(e,r){e.content.filter(i=>!l_(i)).length===0&&r("error","Group must contain at least 1 child.",{node:e})}checkNoRawStyleProperties(e,r){for(let n of e.properties){let i=ke(n);ah.has(i)&&r("error",`Raw style property "${i}" is not allowed on ${g_(e)}. Declare a named style in config and reference it via "style:id".`,{node:n})}}checkUnknownEntityProperties(e,r){let n=jU[e.$type];if(!n)return;let i=e.$type==="ParallelBlock"||e.$type==="GroupBlock"?new Set(["size","duration","remaining","capacity"]):null;for(let o of e.properties){let s=ke(o);if(n.has(s)||vk.has(s)||ah.has(s)||s==="footnote"||i?.has(s))continue;let a=[...n,...vk],c=qU(s,a)??"";be(r,"warning",{node:o,property:"key"},"NL.W0700",{key:s,entity:g_(e),suggested:c})}}checkRoadmapProperties(e,r){}checkStylePropertyEnum(e,r){let n=ke(e),i=e.value;if(n==="bg"||n==="fg"||n==="text")m_(i)||r("error",`Invalid color "${i}" for "${n}". Use a named color, hex value, or "none".`,{node:e,property:"value"});else if(n in lh){let o=lh[n];o.has(i)||r("error",`Invalid value "${i}" for "${n}". Allowed: ${[...o].join(", ")}.`,{node:e,property:"value"})}else ah.has(n)||r("error",`Unknown style property "${n}".`,{node:e,property:"key"})}checkSizeDeclaration(e,r){e.properties.find(i=>ke(i)==="effort")||r("error",`Size "${Zr(e)}" requires an "effort:" property.`,{node:e}),e.name&&(_u.test(e.name)||KU.test(e.name))&&r("error",`Size id "${e.name}" collides with the raw duration pattern. Choose a different name (e.g. "xs", "small", "quarter").`,{node:e,property:"name"})}checkStatusDeclaration(e,r){e.name&&d_.has(e.name)&&r("error",`Status id "${e.name}" collides with the built-in status value. Built-ins: ${[...d_].join(", ")}.`,{node:e,property:"name"})}checkDuplicateSizeIds(e,r){let n=new Map;for(let i of e.roadmapEntries)if(Ja(i)&&i.name){let o=n.get(i.name);o?r("error",`Duplicate size id "${i.name}". First declared at ${uh(o)}.`,{node:i,property:"name"}):n.set(i.name,i)}}checkUtilizationOrdering(e,r){if(Gi(e)&&e.entityType!=="swimlane")return;let n=e.properties.find(a=>ke(a)==="utilization-warn-at"),i=e.properties.find(a=>ke(a)==="utilization-over-at");if(!n||!i)return;let o=Sk(n.value),s=Sk(i.value);o===null||s===null||o>s&&r("error",`utilization-warn-at (${n.value}) must be \u2264 utilization-over-at (${i.value}). Warn fires below over; if both fire at the same point, the warn band collapses to zero.`,{node:n,property:"value"})}checkDefaultDeclaration(e,r){if(!Ek.has(e.entityType)){r("error",`"${e.entityType}" is not a supported entity type for default. Allowed: ${[...Ek].join(", ")}.`,{node:e,property:"entityType"});return}let n=e.$container,i=-1;for(let s=0;s<n.configEntries.length;s++){let a=n.configEntries[s];if(Gi(a)&&a.entityType===e.entityType){if(i<0)i=s;else if(a===e){r("error",`Duplicate "default ${e.entityType}" declaration. Only one is allowed per entity type per file.`,{node:e});break}}}let o=HU[e.entityType];if(o)for(let s of e.properties){let a=ke(s);o.has(a)&&r("error",`"${a}" cannot be set on "default ${e.entityType}". Identity-defining, sizing, sequencing, reference, and prose properties must be explicit on each entity.`,{node:s})}}checkCalendarBlockConsistency(e,r){let n=e.configEntries.filter(rh),o=e.roadmapDecl?.properties.find(s=>ke(s)==="calendar")?.value;if(n.length>0&&o!=="custom")for(let s of n)r("error",'A "calendar" config block is only valid when the roadmap declares calendar:custom.',{node:s});if(o==="custom"&&n.length===0&&r("error",'calendar:custom requires a "calendar" config block with days-per-week, days-per-month, days-per-quarter, and days-per-year.',{node:e.roadmapDecl,property:"properties"}),o==="custom"&&n.length>0)for(let s of n){let a=new Set(s.properties.map(c=>ke(c)));for(let c of p_)a.has(c)||r("error",`calendar:custom requires "${c}" in the calendar config block.`,{node:s})}}checkCalendarBlock(e,r){let n=new Set;for(let i of e.properties){let o=ke(i);if(!p_.has(o)){r("error",`Unknown calendar property "${o}". Allowed: ${[...p_].join(", ")}.`,{node:i,property:"key"});continue}n.has(o)&&r("error",`Duplicate calendar property "${o}".`,{node:i,property:"key"}),n.add(o),(!Rk.test(i.value)||parseInt(i.value,10)<=0)&&r("error",`"${o}" must be a positive integer, got "${i.value}".`,{node:i,property:"value"})}}checkScaleBlock(e,r){let n=new Set;for(let i of e.properties){let o=ke(i);if(!_k.has(o)){r("error",`Unknown scale property "${o}". Allowed: ${[..._k].join(", ")}.`,{node:i,property:"key"});continue}n.has(o)&&r("error",`Duplicate scale property "${o}".`,{node:i,property:"key"}),n.add(o),o==="label-every"&&(!Rk.test(i.value)||parseInt(i.value,10)<=0)&&r("error",`"label-every" must be a positive integer, got "${i.value}".`,{node:i,property:"value"})}}checkForwardReferences(e,r){let n=new Map,i=new Map;for(let o=0;o<e.roadmapEntries.length;o++){let s=e.roadmapEntries[o];Ja(s)&&s.name?n.has(s.name)||n.set(s.name,o):yu(s)&&s.name&&(i.has(s.name)||i.set(s.name,o))}for(let o=0;o<e.roadmapEntries.length;o++){let s=e.roadmapEntries[o];Ik(s,a=>{let c=ke(a);if(c==="size"&&a.value){let l=a.value,u=n.get(l);u===void 0?r("error",`Size "${l}" is not declared. Add "size ${l} effort:<literal>" earlier in the roadmap section.`,{node:a,property:"value"}):u>=o&&r("error",`Size "${l}" is referenced before its declaration. Move "size ${l}" above this entity.`,{node:a,property:"value"})}else if(c==="status"&&a.value){let l=a.value;if(d_.has(l))return;let u=i.get(l);u===void 0?r("error",`Status "${l}" is not a built-in and has no declaration. Add "status ${l}" earlier in the roadmap section.`,{node:a,property:"value"}):u>=o&&r("error",`Status "${l}" is referenced before its declaration. Move "status ${l}" above this entity.`,{node:a,property:"value"})}})}}checkReferenceResolution(e,r){let n=oB(e),i=o=>{Ik(o,s=>{let a=ke(s);if(a!=="after"&&a!=="before"&&a!=="on")return;let c=s.value?[s.value]:s.values;for(let l of c)l&&((a==="after"||a==="before")&&Hi.test(l)||n.has(l)||r("error",`${a}: reference "${l}" does not resolve to any declared entity in this file.`,{node:s}))})};for(let o of e.roadmapEntries)i(o)}checkInlineDatePins(e,r){let n=h_(e),i=o=>{let s=o.properties??[],a=yr(o)||Vr(o)||Wr(o);for(let c of s){let l=ke(c);if(l!=="after"&&l!=="before")continue;let f=(c.value?[c.value]:c.values).filter(d=>!!d&&Hi.test(d));if(f.length!==0){if(!a){be(r,"error",{node:c},"NL.E0411",{key:l,type:tB(o)});continue}f.length>1&&be(r,"error",{node:c},"NL.E0410",{key:l});for(let d of f)switch(n.kind){case"invalid":continue;case"missing":be(r,"error",{node:c},"NL.E0412",{key:l,date:d});continue;case"valid":{let p=new Date(d);if(Number.isNaN(p.getTime()))continue;p<n.date&&be(r,"error",{node:c},"NL.E0413",{key:l,date:d,start:n.iso})}}}}if(Yr(o))for(let c of o.content)i(c);else if(Vr(o)||Wr(o))for(let c of o.content)i(c)};for(let o of e.roadmapEntries)i(o)}checkCircularDependencies(e,r){let n=new Map,i=(p,m)=>{n.has(p)||n.set(p,new Set),n.get(p).add(m)},o=(p,m,g)=>{if(p)for(let v of m){let T=ke(v);if(T==="after"){let _=v.value?[v.value]:v.values;for(let E of _)E&&(Hi.test(E)||i(p,E))}else if(T==="before"){let _=v.value?[v.value]:v.values;for(let E of _)E&&(Hi.test(E)||i(E,p))}}},s=p=>{let m=p.name,g=p.properties??[];if(o(m,g,e),Yr(p))for(let v of p.content)s(v);else if(Vr(p)||Wr(p))for(let v of p.content)s(v)};for(let p of e.roadmapEntries)s(p);let a=0,c=1,l=2,u=new Map;for(let p of n.keys())u.set(p,a);let f=new Set,d=(p,m)=>{u.set(p,c),m.push(p);for(let g of n.get(p)??[]){let v=u.get(g)??a;if(v===c){let T=m.indexOf(g),_=m.slice(T).concat(g),E=[..._].sort().join("\u2192");f.has(E)||(f.add(E),r("error",`Circular dependency detected: ${_.join(" \u2192 ")}.`,{node:e.roadmapDecl??e}))}else v===a&&d(g,m)}m.pop(),u.set(p,l)};for(let p of n.keys())(u.get(p)??a)===a&&d(p,[])}checkPersonDeclarations(e,r){let n=new Map,i=a=>!!a.title||a.properties.length>0||a.description!==void 0,o=a=>{if(!a.name)return;let c=i(a);n.has(a.name)||n.set(a.name,[]),n.get(a.name).push({node:a,isDeclaration:c}),!c&&a.$container.$type==="NowlineFile"&&r("warning",`Bare "person ${a.name}" at roadmap top level has no declaration. Either add properties (title, link, etc.) or remove the line.`,{node:a})},s=a=>{for(let c of a.content)Xi(c)?o(c):Kr(c)&&s(c)};for(let a of e.roadmapEntries)Xi(a)?o(a):Kr(a)&&s(a);for(let[a,c]of n){let l=c.filter(u=>u.isDeclaration);if(l.length>1)for(let u=1;u<l.length;u++)r("error",`Person "${a}" is declared more than once. First declaration at ${uh(l[0].node)}.`,{node:l[u].node})}}checkSymbolDeclaration(e,r){e.name&&ch.has(e.name)&&r("error",`Symbol id "${e.name}" collides with a built-in icon name. Reserved built-ins: ${[...ch].sort().join(", ")}.`,{node:e,property:"name"});let n=e.properties.find(o=>ke(o)==="unicode");n?(!n.value||n.value.length===0)&&r("error",`Symbol "${Zr(e)}" unicode: must be a non-empty value.`,{node:n,property:"value"}):r("error",`Symbol "${Zr(e)}" requires a "unicode:" property (e.g. unicode:"\u{1F4B0}" or unicode:"\\u{1F464}").`,{node:e});let i=e.properties.find(o=>ke(o)==="ascii");if(i){let o=i.value??"";JU.test(o)||r("error",`Symbol "${Zr(e)}" ascii: must be 1-3 ASCII characters (got ${o.length} character${o.length===1?"":"s"}).`,{node:i,property:"value"})}for(let o of e.properties){let s=ke(o);s!=="unicode"&&s!=="ascii"&&s!=="link"&&s!=="description"&&r("error",`Unknown symbol property "${s}". Allowed: unicode, ascii, link, description.`,{node:o,property:"key"})}}checkDuplicateSymbolIds(e,r){let n=new Map;for(let i of e.configEntries)if(Tu(i)&&i.name){let o=n.get(i.name);o?r("error",`Duplicate symbol id "${i.name}". First declared at ${uh(o)}.`,{node:i,property:"name"}):n.set(i.name,i)}}checkSymbolReferences(e,r){let n=new Map;for(let o=0;o<e.configEntries.length;o++){let s=e.configEntries[o];Tu(s)&&s.name&&(n.has(s.name)||n.set(s.name,o))}let i=(o,s,a,c)=>{if(s!=="icon"&&s!=="capacity-icon"||!a||!Ak(a)||s==="capacity-icon"&&y_.has(a)||s==="icon"&&ch.has(a))return;let l=n.get(a);if(l===void 0){let u=s==="capacity-icon"?[...y_].sort().join(", "):[...ch].sort().join(", ");r("error",`${s}: "${a}" is neither a built-in (${u}) nor a declared symbol. Add "symbol ${a} unicode:..." earlier in config or use a quoted Unicode literal.`,{node:c,property:"value"})}else l>=o&&r("error",`${s}: symbol "${a}" is referenced before its declaration. Move "symbol ${a}" above this entry.`,{node:c,property:"value"})};for(let o=0;o<e.configEntries.length;o++){let s=e.configEntries[o];if(xu(s))for(let a of s.properties)i(o,ke(a),a.value,a);else if(Gi(s))for(let a of s.properties)i(o,ke(a),a.value,a)}}};function m_(t){return GU.has(t)||VU.test(t)}function Ak(t){return/^[a-zA-Z_][a-zA-Z0-9_-]*$/.test(t)}function rB(t){return t?Yr(t)?"lane":yr(t)?"item":Gi(t)?t.entityType==="swimlane"?"lane":"item":"invalid":"invalid"}function nB(t){return t?!!(Yr(t)||Gi(t)&&t.entityType==="swimlane"):!1}function Sk(t){if(!t||t===kk)return null;if(x_.test(t)){let e=parseFloat(t);return Number.isFinite(e)&&e>0?e/100:null}if(Nk.test(t)){let e=parseFloat(t);return Number.isFinite(e)&&e>0?e:null}return null}function uh(t){let e=t.$cstNode;return e?`line ${e.range.start.line+1}`:"unknown location"}function g_(t){let e=t.$type.replace(/Declaration$|Block$/,"").toLowerCase(),r=t.name??t.title;return r?`${e} "${r}"`:e}function iB(t,e){if(Yr(t)){e(t.name,t);for(let r of t.content)T_(r,e)}else Xi(t)?e(t.name,t):Kr(t)?Ck(t,e):(th(t)||oh(t)||nh(t)||ih(t)||Ja(t)||yu(t))&&e(t.name,t)}function Ck(t,e){e(t.name,t);for(let r of t.content)Kr(r)&&Ck(r,e)}function T_(t,e){if(yr(t))e(t.name,t);else if(Vr(t)){e(t.name,t);for(let r of t.content)T_(r,e)}else if(Wr(t)){e(t.name,t);for(let r of t.content)T_(r,e)}}function Ik(t,e){let r=n=>{let i=n.properties;if(Array.isArray(i))for(let o of i)e(o);if(Yr(n))for(let o of n.content)r(o);else if(Vr(n)||Wr(n))for(let o of n.content)r(o);else if(Kr(n))for(let o of n.content)(Kr(o)||Xi(o))&&r(o)};r(t)}function oB(t){let e=new Set;t.roadmapDecl?.name&&e.add(t.roadmapDecl.name);let r=n=>{let i=n.name;if(i&&e.add(i),Yr(n))for(let o of n.content)r(o);else if(Vr(n)||Wr(n))for(let o of n.content)r(o);else if(Kr(n))for(let o of n.content)Kr(o)||Xi(o)?r(o):KI(o)};for(let n of t.roadmapEntries)r(n);return e}var __=class extends $o{runConverter(e,r,n){return e.name==="PROPERTY_KEY_WITH_COLON"||e.name==="INCLUDE_OPTION_KEY"?r.endsWith(":")?r.slice(0,-1):r:super.runConverter(e,r,n)}},E_=class extends Ma{isStartOfLine(e,r){if(!super.isStartOfLine(e,r))return!1;let n=r-1;for(;n>=0&&(e[n]===" "||e[n]===" ");)n--;for(;n>=0&&(e[n]==="\r"||e[n]===`
|
|
2663
|
+
`);)n--;for(;n>=0&&(e[n]===" "||e[n]===" ");)n--;return n<0||e[n]!=="\\"}},Ok={parser:{TokenBuilder:()=>new E_({indentTokenName:"INDENT",dedentTokenName:"DEDENT",whitespaceTokenName:"WS",ignoreIndentationDelimiters:[["[","]"]]}),Lexer:t=>new fu(t),ParserConfig:()=>({maxLookahead:4}),ValueConverter:()=>new __},validation:{NowlineValidator:()=>new fh}};function v_(t={}){let e=t.shared??zo(lu(du),ek),r=zo(cu({shared:e}),tk,Ok);return e.ServiceRegistry.register(r),Pk(r),{shared:e,Nowline:r}}function Lk(t,e){return{severity:t.severity===2?"warning":"error",code:xm(t),message:t.message,suggestion:ym(t.message),file:e,line:(t.range?.start.line??0)+1,column:(t.range?.start.character??0)+1}}function Dk(t,e){return{severity:"error",code:"parse-error",message:t.message,file:e,line:t.token?.startLine??1,column:t.token?.startColumn??1}}function $k(t,e){return{severity:"error",code:"lex-error",message:t.message,file:e,line:t.line??1,column:t.column??1}}function Mk(t){return{severity:t.severity,code:"include",message:t.message,file:t.sourcePath,line:t.line!==void 0?t.line+1:1,column:1}}function Fk(t,e,r="warning"){return{severity:r,code:"render.warning",message:t,file:e,line:1,column:1}}var Uk="__nowline_browser_noop_include__";async function Bk(t){throw new Error(`${Uk}: include "${t}" was skipped \u2014 running in single-file mode.`)}function Gk(t){return t.includes(Uk)}var sB=new Set(["none","multiplier","person","people","points","time"]),aB=/^\d+$/,cB=/^\d+\.\d+$/,lB=/^\d+(?:\.\d+)?%$/;function ji(t){if(!t)return null;if(aB.test(t)){let e=parseInt(t,10);return e>0?e:null}if(cB.test(t)){let e=parseFloat(t);return Number.isFinite(e)&&e>0?e:null}if(lB.test(t)){let e=parseFloat(t.slice(0,-1))/100;return Number.isFinite(e)&&e>0?e:null}return null}function Eu(t){if(Number.isInteger(t))return String(t);let e=t.toFixed(6);return e=e.replace(/0+$/,""),e=e.replace(/\.$/,""),e}function uB(t){return t.key.endsWith(":")?t.key.slice(0,-1):t.key}function fB(t){for(let e of t.properties)if(uB(e)==="unicode"&&e.value)return e.value}function vu(t,e){if(t==="none")return null;if(sB.has(t))return{kind:"builtin",name:t};let r=e.get(t);return r?{kind:"literal",text:fB(r)??t}:{kind:"literal",text:t}}function Vo(t,e,r){return e?e.kind==="builtin"&&e.name==="multiplier"?(t.length+1)*r*.58:t.length*r*.58+(.1+1)*r:t.length*r*.58}function Ru(t,e,r,n=0,i=0){let o=t+10,s=o+12,a=e.length*6.5,c=s+a,l=0,u=0;r&&(l=`owner: ${r}`.length*5,u=c+6,c=u+l);let f=0;n>0&&(f=c+6,c=f+n);let d=0;i>0&&(d=c+6+i,c=d);let p=c-o+12,m=Math.max(56,p);return{titleTextWidth:a,ownerTextWidth:l,capacityBadgeWidth:n,footnoteIndicatorWidth:i,titleX:s,ownerX:u,badgeX:f,footnoteRightX:d,tabX:o,tabW:m,rightX:o+m}}function bu(t,e,r){let n=t+24,i=n+10,o=e.length*6,s=Math.max(60,o+10+10),a=n+s+6,c=a+18,l=0,u=0,f=0,d=0,p=c;return r&&(u=c+6,l=r.length*5.5,f=u-3,d=l+6,p=f+d),{labelTextWidth:o,sourceTextWidth:l,tabX:n,tabWidth:s,tabLabelX:i,badgeX:a,badgeSize:18,sourceHaloX:f,sourceHaloWidth:d,sourceTextX:u,chromeRightX:p}}function R_(t,e){if(t.length===0)return{rows:[[]],expanded:!1};let r=[[]],n=0,i=e,o=!1;for(let s of t){let a=r[r.length-1],c=(a.length===0?0:4)+s.width,l=n+c;if(l<=i){a.push(s),n=l;continue}if(a.length===0){a.push(s),n=s.width;continue}let u=l-i,f=s.width*.25;if(!o&&u<=f){a.push(s),n=l,i=l,o=!0;continue}r.push([s]),n=s.width,i=e}return{rows:r,expanded:o}}function Xk(t){return t.endsWith(":")?t.slice(0,-1):t}function ae(t,e){return t.find(r=>Xk(r.key)===e)?.value}function gt(t,e){let r=t.find(n=>Xk(n.key)===e);return r?r.value!==void 0?[r.value]:[...r.values]:[]}function Rt(t){if(!t)return null;let e=/^(\d{4})-(\d{2})-(\d{2})$/.exec(t);if(!e)return null;let r=new Date(Date.UTC(parseInt(e[1],10),parseInt(e[2],10)-1,parseInt(e[3],10)));return Number.isNaN(r.getTime())?null:r}var Qa={mode:"business",daysPerWeek:5,daysPerMonth:22,daysPerQuarter:65,daysPerYear:260},dB={mode:"full",daysPerWeek:7,daysPerMonth:30,daysPerQuarter:91,daysPerYear:365};function Hk(t,e){let n=t.roadmapDecl?.properties.find(i=>b_(i.key)==="calendar")?.value??"business";if(n==="business")return{...Qa};if(n==="full")return{...dB};if(e){let i=(o,s)=>{let a=e.properties.find(l=>b_(l.key)===o),c=a?parseInt(a.value,10):NaN;return Number.isFinite(c)&&c>0?c:s};return{mode:"custom",daysPerWeek:i("days-per-week",Qa.daysPerWeek),daysPerMonth:i("days-per-month",Qa.daysPerMonth),daysPerQuarter:i("days-per-quarter",Qa.daysPerQuarter),daysPerYear:i("days-per-year",Qa.daysPerYear)}}return{...Qa}}var dh=/^(\d+(?:\.\d+)?)([dwmqy])$/;function ph(t,e){let r=dh.exec(t);if(!r)return 0;let n=parseFloat(r[1]);switch(r[2]){case"d":return n;case"w":return n*e.daysPerWeek;case"m":return n*e.daysPerMonth;case"q":return n*e.daysPerQuarter;case"y":return n*e.daysPerYear;default:return 0}}function jk(t,e,r){return t?dh.test(t)?ph(t,r):e.get(t)?.effortDays??0:0}function zi(t,e,r){let n=ae(t,"duration");if(n&&dh.test(n))return ph(n,r);let i=ae(t,"size"),o=i?e.get(i):void 0;if(!o)return 0;let s=ji(ae(t,"capacity"))??1;return o.effortDays/s}function zk(t,e,r){let n=ae(t,"size"),i=n?e.get(n):void 0;if(i)return i.effortDays;let o=ae(t,"duration");if(o&&dh.test(o)){let s=ji(ae(t,"capacity"))??1;return ph(o,r)*s}return 0}function hh(t,e){let r=new Map;for(let[n,i]of t){let s=i.properties.find(c=>b_(c.key)==="effort")?.value;if(!s)continue;let a=ph(s,e);a<=0||r.set(n,{name:n,title:i.title||void 0,effortDays:a,effortLiteral:s})}return r}function b_(t){return t.endsWith(":")?t.slice(0,-1):t}function Nr(t,e){return Math.round((e.getTime()-t.getTime())/864e5)}function Yo(t,e){let r=new Date(t.getTime());return r.setUTCDate(r.getUTCDate()+e),r}var mh=class{constructor(e){de(this,"items");de(this,"brackets");this.items=e.itemBars,this.brackets=e.brackets}hasObstacle(e,r,n){let i=Math.min(r,n),o=Math.max(r,n);for(let s of this.items)if(!(e<=s.x||e>=s.x+s.width)&&!(s.y+s.height<=i||s.y>=o))return!0;return!1}bracketsNear(e,r,n,i){let o=Math.min(r,n),s=Math.max(r,n),a=[];for(let c of this.brackets)Math.abs(c.x-e)>i||c.yBottom<=o||c.yTop>=s||a.push(c);return a}};function qk(t,e){let r=[],n=[],i=s=>{if(s.kind==="item"){r.push(s.box);return}if(s.kind==="parallel"){if(s.style.bracket==="solid"||s.style.bracket==="dashed"){let l=s.box.y-12,u=s.box.y+s.box.height+12,f=s.box.x,d=s.box.x+s.box.width;n.push({x:f,yTop:l,yBottom:u}),n.push({x:d,yTop:l,yBottom:u}),n.push({x:f+4,yTop:l-1,yBottom:l+1}),n.push({x:f+4,yTop:u-1,yBottom:u+1}),n.push({x:d-4,yTop:l-1,yBottom:l+1}),n.push({x:d-4,yTop:u-1,yBottom:u+1})}for(let a of s.children)i(a);return}if(s.kind==="group"){!(s.style.bg!=="none"&&s.style.bg!=="#ffffff")&&s.style.bracket&&s.style.bracket!=="none"&&n.push({x:s.box.x,yTop:s.box.y,yBottom:s.box.y+s.box.height});for(let c of s.children)i(c);return}},o=s=>{for(let a of s.children)i(a);for(let a of s.nested)o(a)};for(let s of t)o(s);for(let s of e)for(let a of s.nestedSwimlanes)o(a);return{itemBars:r,brackets:n}}function pB(t,e){let{from:r,to:n}=t;if(Math.abs(r.y-n.y)<.5)return{x:(r.x+n.x)/2,underBar:!1,range:null};let i=Math.min(r.y,n.y),o=Math.max(r.y,n.y);if(r.x<=n.x){let a=r.x+6,c=n.x-6;if(a>c)return{x:n.x-6,underBar:!0,range:null};let l={minX:a,maxX:c},u=(r.x+n.x)/2,f=Math.max(a,Math.min(c,u));if(!e.hasObstacle(f,i,o))return{x:f,underBar:!1,range:l};let d=c-a;for(let p=1;p<=d;p++){let m=f-p;if(m>=a&&!e.hasObstacle(m,i,o))return{x:m,underBar:!1,range:l};let g=f+p;if(g<=c&&!e.hasObstacle(g,i,o))return{x:g,underBar:!1,range:l}}return{x:f,underBar:!0,range:l}}let s=[r.x+10,n.x-10];for(let a of s)if(a>0&&!e.hasObstacle(a,i,o))return{x:a,underBar:!1,range:null};return{x:r.x+10,underBar:!0,range:null}}function hB(t,e,r,n){let i=Math.min(r.from.y,r.to.y),o=Math.max(r.from.y,r.to.y),s=n.bracketsNear(t,i,o,4);if(s.length===0)return{x:t,forceUnderBar:!1};let a=s[0],c=Math.abs(s[0].x-t);for(let d=1;d<s.length;d++){let p=Math.abs(s[d].x-t);p<c&&(a=s[d],c=p)}let l=[a.x+4,a.x-4],u=4-.01;for(let d of l){if(e&&(d<e.minX||d>e.maxX))continue;let p=e?d:Math.max(Math.min(r.from.x,r.to.x)+1,Math.min(Math.max(r.from.x,r.to.x)-1,d));if(n.bracketsNear(p,i,o,u).length===0)return{x:p,forceUnderBar:!1}}return{x:e?Math.min(Math.max(t,e.minX),e.maxX):t,forceUnderBar:!0}}function mB(t){let e=[...t].sort((i,o)=>Math.abs(i.channelX-o.channelX)>=1?i.channelX-o.channelX:i.orderIndex-o.orderIndex),r=new Map,n=0;for(;n<e.length;){let i=n+1;for(;i<e.length&&Math.abs(e[i].channelX-e[n].channelX)<1;)i++;let s=[...e.slice(n,i)].sort((c,l)=>{let u=Math.min(c.req.from.y,c.req.to.y),f=Math.min(l.req.from.y,l.req.to.y);return Math.abs(u-f)>.5?u-f:c.orderIndex-l.orderIndex}),a=[];for(let c of s){let l=Math.min(c.req.from.y,c.req.to.y),u=Math.max(c.req.from.y,c.req.to.y),f=-1;for(let d=0;d<a.length;d++)if(a[d]<=l){f=d,a[d]=u;break}f===-1&&(f=a.length,a.push(u)),r.set(c.orderIndex,f)}n=i}return r}function gB(t){if(t===0||t>4)return 0;let e=Math.ceil(t/2);return(t%2===1?1:-1)*e*3}function yB(t){let e=t.from.x>=t.to.x?{x:t.to.x-1,y:t.from.y}:t.from;return{fromId:t.fromId,toId:t.toId,waypoints:[e,t.to],underBar:!1}}function Wk(t,e){let r=new Array(t.length),n=[];for(let o=0;o<t.length;o++){let s=t[o];if(s.isMarkerSource){r[o]=yB(s);continue}if(Math.abs(s.from.y-s.to.y)<.5&&s.to.x-s.from.x<20){r[o]={fromId:s.fromId,toId:s.toId,waypoints:[s.from,s.to],underBar:!1};continue}let{x:a,underBar:c,range:l}=pB(s,e),{x:u,forceUnderBar:f}=hB(a,l,s,e),d=c||f;n.push({req:s,channelX:u,underBar:d,orderIndex:o})}let i=mB(n);for(let o of n){let s=gB(i.get(o.orderIndex)??0),a=o.channelX+s;r[o.orderIndex]={fromId:o.req.fromId,toId:o.req.toId,waypoints:xB(o.req.from,o.req.to,a),underBar:o.underBar}}return r}function xB(t,e,r){return Math.abs(t.y-e.y)<.5?[t,e]:[t,{x:r,y:t.y},{x:r,y:e.y},e]}var wu="en-US",TB={"en-US":{nowLabel:"now",quarterPrefix:"Q"},fr:{nowLabel:"maint.",quarterPrefix:"T"}};function Vk(t,e){return e??t??wu}function gh(t){let e={};for(let r of _B(t)){let n=TB[r];if(n)for(let i of Object.keys(n))e[i]===void 0&&n[i]!==void 0&&(e[i]=n[i])}return e}function _B(t){let e=[],r=EB(t);for(;r.length>0;){e.includes(r)||e.push(r);let n=r.lastIndexOf("-");if(n<=0)break;r=r.slice(0,n)}return e.includes(wu)||e.push(wu),e}function EB(t){return t.split("-").map((r,n)=>n===0?r.toLowerCase():/^[a-zA-Z]{2}$/.test(r)?r.toUpperCase():r).join("-")}function Jk(t){let{box:e,afterDate:r,beforeDate:n,hasLinkIcon:i,footnoteCount:o}=t;if(!r&&!n)return[];let s=[],a=12,c=e.y+5,l=e.width<40;if(r){let u=i?e.x+6+14+4:e.x+6,f=l?{x:e.x-6-a,y:c}:{x:u,y:c};s.push({side:"after",isoDate:r,glyphTopLeft:f,glyphSize:a,spilled:l})}if(n){let u=e.x+e.width,f;o>0?f=u-22-(o-1)*8-4:f=u-12-5-4;let d=f-a,p=l?{x:u+6,y:c}:{x:d,y:c};s.push({side:"before",isoDate:n,glyphTopLeft:p,glyphSize:a,spilled:l})}return s}function xh(t){let{box:e,afterDate:r,beforeDate:n}=t;if(!r&&!n)return[];let i=[],o=12,s=e.y+5;return r&&i.push({side:"after",isoDate:r,glyphTopLeft:{x:e.x+6,y:s},glyphSize:o,spilled:!1}),n&&i.push({side:"before",isoDate:n,glyphTopLeft:{x:e.x+e.width-6-o,y:s},glyphSize:o,spilled:!1}),i}function Vn(t){for(let e of t)if(/^\d{4}-\d{2}-\d{2}$/.test(e))return e}function Th(t,e){return{x:t,y:e,height:0,maxX:t}}var rc=class{constructor(e){de(this,"rows");de(this,"opts");this.opts=e,this.rows=[{y:e.originY,height:e.minRowHeight,rightEdge:e.laneLeftX,spillX:e.laneLeftX,placedChildren:[]}]}placeItem(e){for(let n=0;n<this.rows.length;n+=1){let i=this.rows[n];if(!(e.desiredStart<i.rightEdge)&&!(e.desiredStart<i.spillX)&&!this.rowIntersectsCorridor(i,e))return{rowIndex:n,y:i.y}}let r=this.appendRow(Math.max(this.opts.minRowHeight,e.predictedHeight));return{rowIndex:this.rows.length-1,y:r.y}}placeBlock(){let e=this.rows[this.rows.length-1];if(e.rightEdge>this.opts.laneLeftX){let r=this.appendRow(this.opts.minRowHeight);return{rowIndex:this.rows.length-1,y:r.y}}return{rowIndex:this.rows.length-1,y:e.y}}commitItem(e){let r=this.rows[e.rowIndex],n=Math.max(e.placed.box.height,e.rowHeight??0);this.growRowHeight(e.rowIndex,n),r.rightEdge=e.logicalEnd,r.spillX=e.spillReservation??this.opts.laneLeftX,r.placedChildren.push(e.placed)}commitBlock(e){let r=this.rows[e.rowIndex];this.growRowHeight(e.rowIndex,e.blockHeight),r.rightEdge=e.blockEnd,r.spillX=this.opts.laneLeftX,r.placedChildren.push(e.placed)}usedHeight(){let e=this.rows[this.rows.length-1];return e.y+e.height-this.opts.originY}usedRightX(){let e=this.opts.laneLeftX;for(let r of this.rows)r.rightEdge>e&&(e=r.rightEdge),r.spillX>e&&(e=r.spillX);return e}rowIntersectsCorridor(e,r){return this.opts.slackCorridors.some(n=>n.y>=e.y&&n.y<e.y+e.height&&r.desiredStart<n.xEnd&&r.desiredEnd>n.xStart&&n.slackPredId!==r.childId)}appendRow(e){let r=this.rows[this.rows.length-1],n={y:r.y+r.height,height:e,rightEdge:this.opts.laneLeftX,spillX:this.opts.laneLeftX,placedChildren:[]};return this.rows.push(n),n}growRowHeight(e,r){let n=this.rows[e],i=r-n.height;if(!(i<=0)){n.height=r;for(let o=e+1;o<this.rows.length;o+=1){let s=this.rows[o];s.y+=i;for(let a of s.placedChildren)Qk(a,i)}}}};function Qk(t,e){if(t.box.y+=e,t.kind==="item"){for(let r of t.labelChips)r.box.y+=e;t.overflowBox&&(t.overflowBox.y+=e);return}for(let r of t.children)Qk(r,e)}var eN={red:"#f87171",blue:"#60a5fa",yellow:"#facc15",green:"#34d399",orange:"#fb923c",purple:"#a78bfa",gray:"#94a3b8",navy:"#818cf8",white:"#e2e8f0"},Yn={bg:"none",fg:"#e2e8f0",text:"#e2e8f0",border:"solid",icon:"none",shadow:"none",font:"sans",weight:"normal",italic:!1,textSize:"md",padding:"sm",spacing:"sm",headerHeight:"sm",cornerRadius:"sm",bracket:"none",capacityIcon:"multiplier"},w_={name:"dark",surface:{page:"#0b1220",chart:"#111827",headerBox:"#1e293b"},entities:{roadmap:{...Yn,headerHeight:"md",padding:"md"},swimlane:{...Yn,fg:"#e2e8f0",text:"#e2e8f0",padding:"sm",spacing:"none",textSize:"sm"},item:{...Yn,bg:"#0f172a",fg:"#94a3b8",text:"#e2e8f0",shadow:"subtle",cornerRadius:"sm"},parallel:{...Yn,bracket:"none",padding:"xs"},group:{...Yn,bracket:"solid",padding:"xs",fg:"#94a3b8"},anchor:{...Yn,bg:"#0b1220",fg:"#cbd5e1",text:"#cbd5e1",cornerRadius:"sm"},milestone:{...Yn,bg:"#e2e8f0",fg:"#e2e8f0",text:"#0b1220",border:"solid"},footnote:{...Yn,bg:"none",fg:"#94a3b8",text:"#e2e8f0",textSize:"sm"},label:{...Yn,bg:"#1e293b",fg:"#94a3b8",text:"#e2e8f0",textSize:"xs",padding:"xs",cornerRadius:"full"}},swimlane:{bandEven:"#111827",bandOdd:"#0f172a",separator:"#1f2937",frameTabText:"#e2e8f0",frameTabMuted:"#94a3b8",border:"#334155",tabFill:"#1e293b",tabStroke:"#475569",tabText:"#e2e8f0",ownerText:"#94a3b8",footnoteIndicator:"#f87171",rowTintEven:"#0f172a",rowTintOdd:"#1e293b",utilizationOk:"#34d399",utilizationWarn:"#fbbf24",utilizationOver:"#f87171"},timeline:{gridLine:"#475569",minorGridLine:"#334155",tickMark:"#334155",labelText:"#cbd5e1",panelFill:"#0f172a",border:"#334155"},header:{cardBorder:"#475569",author:"#94a3b8"},item:{overflowX:"#f87171",linkIconFg:"#94a3b8",overflowTailFill:"#7f1d1d",overflowTailStroke:"#f87171",overflowCaption:"#fecaca"},parallel:{bracketStroke:"#cbd5e1"},anchorDiamond:{fill:"#0f172a",stroke:"#cbd5e1",label:"#cbd5e1",cutLine:"#94a3b8"},milestoneDiamond:{fill:"#e2e8f0",label:"#e2e8f0",cutLineNormal:"#a5b4fc",cutLineOverrun:"#ef4444",slack:"#cbd5e1"},footnotePanel:{fill:"#0f172a",border:"#334155",header:"#e2e8f0",title:"#e2e8f0",description:"#94a3b8",number:"#f87171"},nowline:{stroke:"#f87171",labelText:"#0b1220",labelBg:"#f87171"},milestone:{dashedInk:"#a5b4fc",overrun:"#ef4444"},anchor:{predecessorLine:"#94a3b8"},dependency:{edgeStroke:"#cbd5e1",overflowStroke:"#ef5350"},footnote:{indicatorText:"#f87171",descriptionMuted:"#94a3b8"},includeRegion:{border:"#475569",label:"#cbd5e1",badge:"#94a3b8",fill:"#0b1220",tabFill:"#111827",tabStroke:"#475569",tabText:"#e2e8f0",badgeFill:"#1e293b",badgeStroke:"#475569",badgeText:"#94a3b8"},arrowhead:{neutral:"#94a3b8",light:"#64748b",dark:"#e2e8f0"},status:{done:"#34d399",inProgress:"#60a5fa",atRisk:"#facc15",blocked:"#ef4444",planned:"#94a3b8",neutral:"#94a3b8"},statusDot:{onLight:{done:"#065f46",inProgress:"#1e3a8a",atRisk:"#92400e",blocked:"#991b1b",planned:"#334155",neutral:"#334155"},onDark:{done:"#d1fae5",inProgress:"#dbeafe",atRisk:"#fef3c7",blocked:"#fee2e2",planned:"#e2e8f0",neutral:"#e2e8f0"}},attribution:{mark:"#cbd5e1",link:"#f87171"},diagnostic:{overlayBg:"#7f1d1d",errorText:"#fecaca"}};var tN={red:"#4a4a4a",blue:"#6b6b6b",green:"#8a8a8a",yellow:"#c8c8c8",orange:"#5c5c5c",purple:"#3a3a3a",gray:"#9e9e9e",navy:"#2a2a2a",white:"#ffffff"},Kn={bg:"none",fg:"#1a1a1a",text:"#1a1a1a",border:"solid",icon:"none",shadow:"none",font:"sans",weight:"normal",italic:!1,textSize:"md",padding:"sm",spacing:"sm",headerHeight:"sm",cornerRadius:"sm",bracket:"none",capacityIcon:"multiplier"},A_={name:"grayscale",surface:{page:"#f5f5f5",chart:"#ffffff",headerBox:"#ffffff"},entities:{roadmap:{...Kn,headerHeight:"md",padding:"md"},swimlane:{...Kn,fg:"#3a3a3a",text:"#3a3a3a",padding:"sm",spacing:"none",textSize:"sm"},item:{...Kn,bg:"#ffffff",fg:"#9e9e9e",text:"#1a1a1a",shadow:"subtle",cornerRadius:"sm"},parallel:{...Kn,bracket:"none",padding:"xs"},group:{...Kn,bracket:"solid",padding:"xs",fg:"#595959"},anchor:{...Kn,bg:"#1a1a1a",fg:"#1a1a1a",text:"#1a1a1a",cornerRadius:"sm"},milestone:{...Kn,bg:"#2a2a2a",fg:"#2a2a2a",text:"#ffffff",border:"solid"},footnote:{...Kn,bg:"none",fg:"#595959",text:"#595959",textSize:"sm"},label:{...Kn,bg:"#e8e8e8",fg:"#595959",text:"#595959",textSize:"xs",padding:"xs",cornerRadius:"full"}},swimlane:{bandEven:"#ffffff",bandOdd:"#f5f5f5",separator:"#d4d4d4",frameTabText:"#3a3a3a",frameTabMuted:"#737373",border:"#d4d4d4",tabFill:"#e8e8e8",tabStroke:"#bdbdbd",tabText:"#3a3a3a",ownerText:"#737373",footnoteIndicator:"#4a4a4a",rowTintEven:"#ffffff",rowTintOdd:"#f5f5f5",utilizationOk:"#8a8a8a",utilizationWarn:"#595959",utilizationOver:"#1a1a1a"},timeline:{gridLine:"#bdbdbd",minorGridLine:"#d4d4d4",tickMark:"#bdbdbd",labelText:"#737373",panelFill:"#ffffff",border:"#d4d4d4"},header:{cardBorder:"#d4d4d4",author:"#737373"},item:{overflowX:"#1a1a1a",linkIconFg:"#1a1a1a",overflowTailFill:"#e8e8e8",overflowTailStroke:"#4a4a4a",overflowCaption:"#3a3a3a"},parallel:{bracketStroke:"#3a3a3a"},anchorDiamond:{fill:"#ffffff",stroke:"#3a3a3a",label:"#3a3a3a",cutLine:"#737373"},milestoneDiamond:{fill:"#1a1a1a",label:"#1a1a1a",cutLineNormal:"#2a2a2a",cutLineOverrun:"#4a4a4a",slack:"#1a1a1a"},footnotePanel:{fill:"#ffffff",border:"#d4d4d4",header:"#1a1a1a",title:"#1a1a1a",description:"#737373",number:"#4a4a4a"},nowline:{stroke:"#1a1a1a",labelText:"#ffffff",labelBg:"#1a1a1a"},milestone:{dashedInk:"#9e9e9e",overrun:"#4a4a4a"},anchor:{predecessorLine:"#9e9e9e"},dependency:{edgeStroke:"#595959",overflowStroke:"#1a1a1a"},footnote:{indicatorText:"#4a4a4a",descriptionMuted:"#737373"},includeRegion:{border:"#9e9e9e",label:"#3a3a3a",badge:"#737373",fill:"#f5f5f5",tabFill:"#ffffff",tabStroke:"#bdbdbd",tabText:"#1a1a1a",badgeFill:"#e8e8e8",badgeStroke:"#bdbdbd",badgeText:"#595959"},arrowhead:{neutral:"#595959",light:"#9e9e9e",dark:"#1a1a1a"},status:{done:"#8a8a8a",inProgress:"#595959",atRisk:"#737373",blocked:"#3a3a3a",planned:"#bdbdbd",neutral:"#bdbdbd"},statusDot:{onLight:{done:"#3a3a3a",inProgress:"#2a2a2a",atRisk:"#4a4a4a",blocked:"#1a1a1a",planned:"#595959",neutral:"#595959"},onDark:{done:"#d4d4d4",inProgress:"#e8e8e8",atRisk:"#c8c8c8",blocked:"#f0f0f0",planned:"#d4d4d4",neutral:"#d4d4d4"}},attribution:{mark:"#9e9e9e",link:"#1a1a1a"},diagnostic:{overlayBg:"#e8e8e8",errorText:"#1a1a1a"}};var rN={red:"#e53935",blue:"#1e88e5",yellow:"#fdd835",green:"#43a047",orange:"#fb8c00",purple:"#8e24aa",gray:"#9e9e9e",navy:"#0d47a1",white:"#ffffff"},Zn={bg:"none",fg:"#0f172a",text:"#0f172a",border:"solid",icon:"none",shadow:"none",font:"sans",weight:"normal",italic:!1,textSize:"md",padding:"sm",spacing:"sm",headerHeight:"sm",cornerRadius:"sm",bracket:"none",capacityIcon:"multiplier"},S_={name:"light",surface:{page:"#f8fafc",chart:"#ffffff",headerBox:"#ffffff"},entities:{roadmap:{...Zn,headerHeight:"md",padding:"md"},swimlane:{...Zn,fg:"#334155",text:"#334155",padding:"sm",spacing:"none",textSize:"sm"},item:{...Zn,bg:"#ffffff",fg:"#94a3b8",text:"#0f172a",shadow:"subtle",cornerRadius:"sm"},parallel:{...Zn,bracket:"none",padding:"xs"},group:{...Zn,bracket:"solid",padding:"xs",fg:"#475569"},anchor:{...Zn,bg:"#0f172a",fg:"#0f172a",text:"#0f172a",cornerRadius:"sm"},milestone:{...Zn,bg:"#312e81",fg:"#312e81",text:"#ffffff",border:"solid"},footnote:{...Zn,bg:"none",fg:"#475569",text:"#475569",textSize:"sm"},label:{...Zn,bg:"#f1f5f9",fg:"#475569",text:"#475569",textSize:"xs",padding:"xs",cornerRadius:"full"}},swimlane:{bandEven:"#ffffff",bandOdd:"#f8fafc",separator:"#e2e8f0",frameTabText:"#334155",frameTabMuted:"#64748b",border:"#e2e8f0",tabFill:"#f1f5f9",tabStroke:"#cbd5e1",tabText:"#334155",ownerText:"#64748b",footnoteIndicator:"#dc2626",rowTintEven:"#ffffff",rowTintOdd:"#f8fafc",utilizationOk:"#10b981",utilizationWarn:"#f59e0b",utilizationOver:"#ef4444"},timeline:{gridLine:"#cbd5e1",minorGridLine:"#e2e8f0",tickMark:"#cbd5e1",labelText:"#64748b",panelFill:"#ffffff",border:"#e2e8f0"},header:{cardBorder:"#e2e8f0",author:"#64748b"},item:{overflowX:"#dc2626",linkIconFg:"#0f172a",overflowTailFill:"#fee2e2",overflowTailStroke:"#ef4444",overflowCaption:"#b91c1c"},parallel:{bracketStroke:"#334155"},anchorDiamond:{fill:"#ffffff",stroke:"#334155",label:"#334155",cutLine:"#64748b"},milestoneDiamond:{fill:"#0f172a",label:"#0f172a",cutLineNormal:"#1e1b4b",cutLineOverrun:"#b91c1c",slack:"#0f172a"},footnotePanel:{fill:"#ffffff",border:"#e2e8f0",header:"#0f172a",title:"#0f172a",description:"#64748b",number:"#dc2626"},nowline:{stroke:"#e53e3e",labelText:"#ffffff",labelBg:"#e53e3e"},milestone:{dashedInk:"#94a3b8",overrun:"#ef4444"},anchor:{predecessorLine:"#94a3b8"},dependency:{edgeStroke:"#475569",overflowStroke:"#d32f2f"},footnote:{indicatorText:"#e53e3e",descriptionMuted:"#64748b"},includeRegion:{border:"#94a3b8",label:"#334155",badge:"#64748b",fill:"#f8fafc",tabFill:"#ffffff",tabStroke:"#cbd5e1",tabText:"#0f172a",badgeFill:"#e2e8f0",badgeStroke:"#cbd5e1",badgeText:"#475569"},arrowhead:{neutral:"#475569",light:"#94a3b8",dark:"#0f172a"},status:{done:"#10b981",inProgress:"#3b82f6",atRisk:"#f59e0b",blocked:"#ef4444",planned:"#94a3b8",neutral:"#94a3b8"},statusDot:{onLight:{done:"#065f46",inProgress:"#1e3a8a",atRisk:"#92400e",blocked:"#991b1b",planned:"#334155",neutral:"#334155"},onDark:{done:"#d1fae5",inProgress:"#dbeafe",atRisk:"#fef3c7",blocked:"#fee2e2",planned:"#e2e8f0",neutral:"#e2e8f0"}},attribution:{mark:"#94a3b8",link:"#e53e3e"},diagnostic:{overlayBg:"#fee2e2",errorText:"#991b1b"}};var I_={light:S_,dark:w_,grayscale:A_};var wB={greyscale:"grayscale"};function k_(t){let e=t.toLowerCase(),r=wB[e]??e;if(r==="light"||r==="dark"||r==="grayscale")return r}var AB={grey:"gray",violet:"purple"};function Ko(t,e){if(t==="none")return"none";if(t.startsWith("#"))return t;let r=e.name==="dark"?eN:e.name==="grayscale"?tN:rN,n=AB[t]??t,i=r[n];return typeof i=="string"?i:t}function nc(t){return t.key.endsWith(":")?t.key.slice(0,-1):t.key}function SB(t,e){return{bg:Ko(t.bg,e),fg:Ko(t.fg,e),text:Ko(t.text,e),border:t.border,icon:t.icon,shadow:t.shadow,font:t.font,weight:t.weight,italic:t.italic,textSize:t.textSize,padding:t.padding,spacing:t.spacing,headerHeight:t.headerHeight,cornerRadius:t.cornerRadius,bracket:t.bracket,headerPosition:"beside",capacityIcon:t.capacityIcon,timelinePosition:"top",minorGrid:!1}}function N_(t,e,r,n){switch(e){case"bg":t.bg=Ko(r,n);break;case"fg":t.fg=Ko(r,n);break;case"text":t.text=Ko(r,n);break;case"border":(r==="solid"||r==="dashed"||r==="dotted")&&(t.border=r);break;case"icon":t.icon=r;break;case"shadow":(r==="none"||r==="subtle"||r==="soft"||r==="hard")&&(t.shadow=r);break;case"font":(r==="sans"||r==="serif"||r==="mono")&&(t.font=r);break;case"weight":(r==="thin"||r==="light"||r==="normal"||r==="bold")&&(t.weight=r);break;case"italic":t.italic=r==="true";break;case"text-size":t.textSize=Iu(r,"xl");break;case"padding":t.padding=Iu(r,"xl");break;case"spacing":t.spacing=Iu(r,"xl");break;case"header-height":t.headerHeight=Iu(r,"xl");break;case"corner-radius":t.cornerRadius=Iu(r,"full");break;case"bracket":(r==="none"||r==="solid"||r==="dashed")&&(t.bracket=r);break;case"header-position":(r==="beside"||r==="above")&&(t.headerPosition=r);break;case"capacity-icon":t.capacityIcon=r;break;case"timeline-position":(r==="top"||r==="bottom"||r==="both")&&(t.timelinePosition=r);break;case"minor-grid":t.minorGrid=r==="true";break;default:break}}function Iu(t,e){let r=["none","xs","sm","md","lg","xl","full"],n=r.indexOf(e),i=r.indexOf(t);return i<0?"md":i>n?r[n]:r[i]}function nN(t,e,r){if(e)for(let n of e.properties)N_(t,nc(n),n.value,r)}function IB(t,e,r){for(let n of e){let i=nc(n);n.value!==void 0&&N_(t,i,n.value,r)}}function kB(t,e,r){let n=e.find(o=>nc(o)==="labels");if(!n)return;let i=n.value?[n.value]:n.values;for(let o of i){let s=r.labels.get(o);if(!s)continue;let a=s.properties.find(c=>nc(c)==="style");a?.value&&nN(t,r.styles.get(a.value),r.theme)}}function NB(t,e,r){let n=e.find(i=>nc(i)==="style");n?.value&&nN(t,r.styles.get(n.value),r.theme)}function yt(t,e,r){let n=r.theme.entities[t],i=SB(n,r.theme),o=r.defaults.get(t);if(o)for(let s of o.properties)s.value!==void 0&&N_(i,nc(s),s.value,r.theme);return kB(i,e,r),NB(i,e,r),IB(i,e,r.theme),i}function iN(t,e){return yt("label",t.properties,e)}var oN={none:0,xs:2,sm:4,md:8,lg:16,xl:24},sN={none:0,xs:4,sm:8,md:12,lg:20,xl:32};var ic={none:0,xs:10,sm:12,md:14,lg:18,xl:24},_h={none:0,xs:2,sm:4,md:8,lg:12,xl:20,full:9999};var Pr=8,Rn=4,ku=24,Eh=15,Nu=8,vh=22,Rh=15,Pu=16,bh=6,P_=4,C_=11,O_=9,L_=5.5,D_=4,oc=12,wh="6 4",$_=36,qi=16,M_=qi/2,Cu=10,F_=qi-4,sc=6,Ah=2.25,Jr=6,Qr=2*Jr,aN=5,cN=120,U_=240,Sh=72,Ou=28,en=16,B_=22,Lu=18,Ih="Powered by",G_="https://nowline.io",Du=.22,Wi=40,kh=32,lN=.58,PB=Ih.length*kh*lN,CB=10,$u=PB+CB,X_=$u+74,H_=5,Nh=$u+81,OB=3*Wi*lN,LB=Nh+OB,DB=12+Wi,j_=LB*Du,uN=DB*Du,z_=4;var je={sans:'system-ui, -apple-system, "Segoe UI", Roboto, sans-serif',serif:'Georgia, "Times New Roman", serif',mono:"ui-monospace, SFMono-Regular, Menlo, Consolas, monospace"},fN={days:7,weeks:4,months:3,quarters:4,years:5};var Ph=class{constructor(e,r){de(this,"node");de(this,"deps");this.node=e,this.deps=r}get id(){return this.node.name??""}place(e,r){let{node:n}=this,{deps:i}=this,o=yt("group",n.properties,r.styleCtx),s=e.x,a=n.title??n.name,c=r.currentFlowKey;r.currentFlowKey=`${c}/group:${n.name??"g"}`;let l=o.bg!=="none"&&o.bg!=="#ffffff"&&!!a,u=l?Pu+P_:0,f=l?D_:0,d=!l&&a?oc:0,p=e.y+d,m=r.bandScale.step(),g=s,v=new rc({laneLeftX:g,originY:p+u,minRowHeight:m,slackCorridors:r.slackCorridors}),T=g,_=[];for(let z of n.content){if(z.$type==="DescriptionDirective")continue;if(!yr(z)){let te=z.properties??[],De=i.resolveChildStart(te,T,g,r),{rowIndex:Ne,y:Xe}=v.placeBlock(),q=i.newCursor(De,Xe),J=i.sequenceOne(z,q,r);_.push(J);let re=J.box.x+J.box.width,P=Math.max(m,q.height);v.commitBlock({rowIndex:Ne,placed:J,blockHeight:P,blockEnd:re}),T=Math.max(T,re);continue}let le=z.properties,O=i.resolveChildStart(le,T,g,r),R=zi(le,r.sizes,r.cal),L=Math.max(Pr,R*r.timeline.pixelsPerDay),$=O+L,w=z.name??"",A=i.predictItemChipExtraHeight(z,r),S=m+A,{rowIndex:M,y:X}=v.placeItem({childId:w,desiredStart:O,desiredEnd:$,predictedHeight:S}),F=i.newCursor(O,X),W=i.sequenceItem(z,F,r);_.push(W);let Z=W.box.x+W.box.width+Jr;T=Math.max(T,Z);let pe=null;(W.textSpills||W.chipsOutside||W.dotSpills||W.iconSpills||W.footnoteSpills)&&(pe=Math.max(W.decorationsRightX,W.chipsOutside?W.chipsRightX:0)+6),v.commitItem({rowIndex:M,placed:W,logicalEnd:Z,spillReservation:pe,rowHeight:S})}let E=Math.max(m,v.usedHeight()),I=Math.max(T,v.usedRightX()),D={x:s,y:p,width:I-s,height:u+E+f};e.x=T+Nu,e.maxX=Math.max(e.maxX,e.x);let k=r.bandScale.step()-r.bandScale.bandwidth();e.height=Math.max(e.height,d+D.height+k);let B=n.name;B&&(r.entityLeftEdges.set(B,D.x),r.entityRightEdges.set(B,D.x+D.width)),r.currentFlowKey=c;let U=xh({box:D,afterDate:Vn(gt(n.properties,"after")),beforeDate:Vn(gt(n.properties,"before"))});return{kind:"group",id:B,title:a,box:D,children:_,style:o,inlineDatePins:U.length>0?U:void 0}}};var q_=12,$B=4,MB=13,FB=11;function dN(t,e){return t.length*e*.58}var Ch=class{constructor(e){de(this,"input");this.input=e}get id(){return this.input.id}measure(e){return{width:Math.max(Pr,this.input.logicalRightX-this.input.logicalLeftX),height:e.bands.bandwidth()}}place(e,r){let n=this.measure(r),i=Math.max(Pr,n.width-2*Jr),o=e.x+Jr,s={x:o,y:e.y,width:i,height:n.height},a=this.input.hasLinkIcon?20+UB-q_:0,c=q_+Math.max(0,a),l=Math.max(0,i-c-q_),u=this.input.title,f=u?dN(u,MB):0,d=this.input.metaText?dN(this.input.metaText,FB):0,p=this.input.metaTrailingWidth??0,m=d+p,g=this.input.metaText!==void 0||p>0,v=u.length>0&&f>l||g&&m>l,T=v?o+i+$B:o+c;return{id:this.input.id,box:s,textX:T,textSpills:v}}},UB=4;var Oh=class{constructor(e,r){de(this,"node");de(this,"deps");this.node=e,this.deps=r}get id(){return this.node.name??""}place(e,r){let{node:n}=this,{deps:i}=this,o=yt("parallel",n.properties,r.styleCtx),s=e.x,a=e.y,c=[],l=s,u=0,f=r.currentFlowKey,d=n.name??"p",p=0;for(let T of n.content){if(T.$type==="DescriptionDirective")continue;r.currentFlowKey=`${f}/par:${d}#${p}`;let _=i.newCursor(s,a+u),E=i.sequenceOne(T,_,r);c.push(E),u+=Math.max(r.bandScale.step(),_.height),l=Math.max(l,_.maxX),p++}r.currentFlowKey=f;let m={x:s,y:a,width:l-s,height:u};e.x=l+Nu,e.maxX=Math.max(e.maxX,e.x),e.height=Math.max(e.height,u);let g=n.name;g&&(r.entityLeftEdges.set(g,m.x),r.entityRightEdges.set(g,m.x+m.width));let v=xh({box:m,afterDate:Vn(gt(n.properties,"after")),beforeDate:Vn(gt(n.properties,"before"))});return{kind:"parallel",id:g,title:n.title??n.name,box:m,children:c,style:o,inlineDatePins:v.length>0?v:void 0}}};function Zo(t,e){return t==null||e==null?NaN:t<e?-1:t>e?1:t>=e?0:NaN}function W_(t,e){return t==null||e==null?NaN:e<t?-1:e>t?1:e>=t?0:NaN}function Jo(t){let e,r,n;t.length!==2?(e=Zo,r=(a,c)=>Zo(t(a),c),n=(a,c)=>t(a)-c):(e=t===Zo||t===W_?t:BB,r=t,n=t);function i(a,c,l=0,u=a.length){if(l<u){if(e(c,c)!==0)return u;do{let f=l+u>>>1;r(a[f],c)<0?l=f+1:u=f}while(l<u)}return l}function o(a,c,l=0,u=a.length){if(l<u){if(e(c,c)!==0)return u;do{let f=l+u>>>1;r(a[f],c)<=0?l=f+1:u=f}while(l<u)}return l}function s(a,c,l=0,u=a.length){let f=i(a,c,l,u-1);return f>l&&n(a[f-1],c)>-n(a[f],c)?f-1:f}return{left:i,center:s,right:o}}function BB(){return 0}function V_(t){return t===null?NaN:+t}var pN=Jo(Zo),hN=pN.right,GB=pN.left,XB=Jo(V_).center,Y_=hN;var ac=class extends Map{constructor(e,r=zB){if(super(),Object.defineProperties(this,{_intern:{value:new Map},_key:{value:r}}),e!=null)for(let[n,i]of e)this.set(n,i)}get(e){return super.get(mN(this,e))}has(e){return super.has(mN(this,e))}set(e,r){return super.set(HB(this,e),r)}delete(e){return super.delete(jB(this,e))}};function mN({_intern:t,_key:e},r){let n=e(r);return t.has(n)?t.get(n):r}function HB({_intern:t,_key:e},r){let n=e(r);return t.has(n)?t.get(n):(t.set(n,r),r)}function jB({_intern:t,_key:e},r){let n=e(r);return t.has(n)&&(r=t.get(n),t.delete(n)),r}function zB(t){return t!==null&&typeof t=="object"?t.valueOf():t}var qB=Math.sqrt(50),WB=Math.sqrt(10),VB=Math.sqrt(2);function gN(t,e,r){let n=(e-t)/Math.max(0,r),i=Math.floor(Math.log10(n)),o=n/Math.pow(10,i),s=o>=qB?10:o>=WB?5:o>=VB?2:1,a,c,l;return i<0?(l=Math.pow(10,-i)/s,a=Math.round(t*l),c=Math.round(e*l),a/l<t&&++a,c/l>e&&--c,l=-l):(l=Math.pow(10,i)*s,a=Math.round(t/l),c=Math.round(e/l),a*l<t&&++a,c*l>e&&--c),c<a&&.5<=r&&r<2?gN(t,e,r*2):[a,c,l]}function K_(t,e,r){return e=+e,t=+t,r=+r,gN(t,e,r)[2]}function Lh(t,e,r){e=+e,t=+t,r=+r;let n=e<t,i=n?K_(e,t,r):K_(t,e,r);return(n?-1:1)*(i<0?1/-i:i)}function Dh(t,e,r){t=+t,e=+e,r=(i=arguments.length)<2?(e=t,t=0,1):i<3?1:+r;for(var n=-1,i=Math.max(0,Math.ceil((e-t)/r))|0,o=new Array(i);++n<i;)o[n]=t+n*r;return o}function cc(t,e){switch(arguments.length){case 0:break;case 1:this.range(t);break;default:this.range(e).domain(t);break}return this}var yN=Symbol("implicit");function $h(){var t=new ac,e=[],r=[],n=yN;function i(o){let s=t.get(o);if(s===void 0){if(n!==yN)return n;t.set(o,s=e.push(o)-1)}return r[s%r.length]}return i.domain=function(o){if(!arguments.length)return e.slice();e=[],t=new ac;for(let s of o)t.has(s)||t.set(s,e.push(s)-1);return i},i.range=function(o){return arguments.length?(r=Array.from(o),i):r.slice()},i.unknown=function(o){return arguments.length?(n=o,i):n},i.copy=function(){return $h(e,r).unknown(n)},cc.apply(i,arguments),i}function Mu(){var t=$h().unknown(void 0),e=t.domain,r=t.range,n=0,i=1,o,s,a=!1,c=0,l=0,u=.5;delete t.unknown;function f(){var d=e().length,p=i<n,m=p?i:n,g=p?n:i;o=(g-m)/Math.max(1,d-c+l*2),a&&(o=Math.floor(o)),m+=(g-m-o*(d-c))*u,s=o*(1-c),a&&(m=Math.round(m),s=Math.round(s));var v=Dh(d).map(function(T){return m+o*T});return r(p?v.reverse():v)}return t.domain=function(d){return arguments.length?(e(d),f()):e()},t.range=function(d){return arguments.length?([n,i]=d,n=+n,i=+i,f()):[n,i]},t.rangeRound=function(d){return[n,i]=d,n=+n,i=+i,a=!0,f()},t.bandwidth=function(){return s},t.step=function(){return o},t.round=function(d){return arguments.length?(a=!!d,f()):a},t.padding=function(d){return arguments.length?(c=Math.min(1,l=+d),f()):c},t.paddingInner=function(d){return arguments.length?(c=Math.min(1,d),f()):c},t.paddingOuter=function(d){return arguments.length?(l=+d,f()):l},t.align=function(d){return arguments.length?(u=Math.max(0,Math.min(1,d)),f()):u},t.copy=function(){return Mu(e(),[n,i]).round(a).paddingInner(c).paddingOuter(l).align(u)},cc.apply(f(),arguments)}function Mh(t,e,r){t.prototype=e.prototype=r,r.constructor=t}function Z_(t,e){var r=Object.create(t.prototype);for(var n in e)r[n]=e[n];return r}function Bu(){}var Fu=.7,Bh=1/Fu,lc="\\s*([+-]?\\d+)\\s*",Uu="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",bn="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",YB=/^#([0-9a-f]{3,8})$/,KB=new RegExp(`^rgb\\(${lc},${lc},${lc}\\)$`),ZB=new RegExp(`^rgb\\(${bn},${bn},${bn}\\)$`),JB=new RegExp(`^rgba\\(${lc},${lc},${lc},${Uu}\\)$`),QB=new RegExp(`^rgba\\(${bn},${bn},${bn},${Uu}\\)$`),e4=new RegExp(`^hsl\\(${Uu},${bn},${bn}\\)$`),t4=new RegExp(`^hsla\\(${Uu},${bn},${bn},${Uu}\\)$`),xN={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};Mh(Bu,Vi,{copy(t){return Object.assign(new this.constructor,this,t)},displayable(){return this.rgb().displayable()},hex:TN,formatHex:TN,formatHex8:r4,formatHsl:n4,formatRgb:_N,toString:_N});function TN(){return this.rgb().formatHex()}function r4(){return this.rgb().formatHex8()}function n4(){return AN(this).formatHsl()}function _N(){return this.rgb().formatRgb()}function Vi(t){var e,r;return t=(t+"").trim().toLowerCase(),(e=YB.exec(t))?(r=e[1].length,e=parseInt(e[1],16),r===6?EN(e):r===3?new cr(e>>8&15|e>>4&240,e>>4&15|e&240,(e&15)<<4|e&15,1):r===8?Fh(e>>24&255,e>>16&255,e>>8&255,(e&255)/255):r===4?Fh(e>>12&15|e>>8&240,e>>8&15|e>>4&240,e>>4&15|e&240,((e&15)<<4|e&15)/255):null):(e=KB.exec(t))?new cr(e[1],e[2],e[3],1):(e=ZB.exec(t))?new cr(e[1]*255/100,e[2]*255/100,e[3]*255/100,1):(e=JB.exec(t))?Fh(e[1],e[2],e[3],e[4]):(e=QB.exec(t))?Fh(e[1]*255/100,e[2]*255/100,e[3]*255/100,e[4]):(e=e4.exec(t))?bN(e[1],e[2]/100,e[3]/100,1):(e=t4.exec(t))?bN(e[1],e[2]/100,e[3]/100,e[4]):xN.hasOwnProperty(t)?EN(xN[t]):t==="transparent"?new cr(NaN,NaN,NaN,0):null}function EN(t){return new cr(t>>16&255,t>>8&255,t&255,1)}function Fh(t,e,r,n){return n<=0&&(t=e=r=NaN),new cr(t,e,r,n)}function i4(t){return t instanceof Bu||(t=Vi(t)),t?(t=t.rgb(),new cr(t.r,t.g,t.b,t.opacity)):new cr}function uc(t,e,r,n){return arguments.length===1?i4(t):new cr(t,e,r,n??1)}function cr(t,e,r,n){this.r=+t,this.g=+e,this.b=+r,this.opacity=+n}Mh(cr,uc,Z_(Bu,{brighter(t){return t=t==null?Bh:Math.pow(Bh,t),new cr(this.r*t,this.g*t,this.b*t,this.opacity)},darker(t){return t=t==null?Fu:Math.pow(Fu,t),new cr(this.r*t,this.g*t,this.b*t,this.opacity)},rgb(){return this},clamp(){return new cr(es(this.r),es(this.g),es(this.b),Gh(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:vN,formatHex:vN,formatHex8:o4,formatRgb:RN,toString:RN}));function vN(){return`#${Qo(this.r)}${Qo(this.g)}${Qo(this.b)}`}function o4(){return`#${Qo(this.r)}${Qo(this.g)}${Qo(this.b)}${Qo((isNaN(this.opacity)?1:this.opacity)*255)}`}function RN(){let t=Gh(this.opacity);return`${t===1?"rgb(":"rgba("}${es(this.r)}, ${es(this.g)}, ${es(this.b)}${t===1?")":`, ${t})`}`}function Gh(t){return isNaN(t)?1:Math.max(0,Math.min(1,t))}function es(t){return Math.max(0,Math.min(255,Math.round(t)||0))}function Qo(t){return t=es(t),(t<16?"0":"")+t.toString(16)}function bN(t,e,r,n){return n<=0?t=e=r=NaN:r<=0||r>=1?t=e=NaN:e<=0&&(t=NaN),new tn(t,e,r,n)}function AN(t){if(t instanceof tn)return new tn(t.h,t.s,t.l,t.opacity);if(t instanceof Bu||(t=Vi(t)),!t)return new tn;if(t instanceof tn)return t;t=t.rgb();var e=t.r/255,r=t.g/255,n=t.b/255,i=Math.min(e,r,n),o=Math.max(e,r,n),s=NaN,a=o-i,c=(o+i)/2;return a?(e===o?s=(r-n)/a+(r<n)*6:r===o?s=(n-e)/a+2:s=(e-r)/a+4,a/=c<.5?o+i:2-o-i,s*=60):a=c>0&&c<1?0:s,new tn(s,a,c,t.opacity)}function SN(t,e,r,n){return arguments.length===1?AN(t):new tn(t,e,r,n??1)}function tn(t,e,r,n){this.h=+t,this.s=+e,this.l=+r,this.opacity=+n}Mh(tn,SN,Z_(Bu,{brighter(t){return t=t==null?Bh:Math.pow(Bh,t),new tn(this.h,this.s,this.l*t,this.opacity)},darker(t){return t=t==null?Fu:Math.pow(Fu,t),new tn(this.h,this.s,this.l*t,this.opacity)},rgb(){var t=this.h%360+(this.h<0)*360,e=isNaN(t)||isNaN(this.s)?0:this.s,r=this.l,n=r+(r<.5?r:1-r)*e,i=2*r-n;return new cr(J_(t>=240?t-240:t+120,i,n),J_(t,i,n),J_(t<120?t+240:t-120,i,n),this.opacity)},clamp(){return new tn(wN(this.h),Uh(this.s),Uh(this.l),Gh(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){let t=Gh(this.opacity);return`${t===1?"hsl(":"hsla("}${wN(this.h)}, ${Uh(this.s)*100}%, ${Uh(this.l)*100}%${t===1?")":`, ${t})`}`}}));function wN(t){return t=(t||0)%360,t<0?t+360:t}function Uh(t){return Math.max(0,Math.min(1,t||0))}function J_(t,e,r){return(t<60?e+(r-e)*t/60:t<180?r:t<240?e+(r-e)*(240-t)/60:e)*255}function Q_(t,e,r,n,i){var o=t*t,s=o*t;return((1-3*t+3*o-s)*e+(4-6*o+3*s)*r+(1+3*t+3*o-3*s)*n+s*i)/6}function IN(t){var e=t.length-1;return function(r){var n=r<=0?r=0:r>=1?(r=1,e-1):Math.floor(r*e),i=t[n],o=t[n+1],s=n>0?t[n-1]:2*i-o,a=n<e-1?t[n+2]:2*o-i;return Q_((r-n/e)*e,s,i,o,a)}}function kN(t){var e=t.length;return function(r){var n=Math.floor(((r%=1)<0?++r:r)*e),i=t[(n+e-1)%e],o=t[n%e],s=t[(n+1)%e],a=t[(n+2)%e];return Q_((r-n/e)*e,i,o,s,a)}}var Gu=t=>()=>t;function s4(t,e){return function(r){return t+r*e}}function a4(t,e,r){return t=Math.pow(t,r),e=Math.pow(e,r)-t,r=1/r,function(n){return Math.pow(t+n*e,r)}}function NN(t){return(t=+t)==1?Xh:function(e,r){return r-e?a4(e,r,t):Gu(isNaN(e)?r:e)}}function Xh(t,e){var r=e-t;return r?s4(t,r):Gu(isNaN(t)?e:t)}var eE=(function t(e){var r=NN(e);function n(i,o){var s=r((i=uc(i)).r,(o=uc(o)).r),a=r(i.g,o.g),c=r(i.b,o.b),l=Xh(i.opacity,o.opacity);return function(u){return i.r=s(u),i.g=a(u),i.b=c(u),i.opacity=l(u),i+""}}return n.gamma=t,n})(1);function PN(t){return function(e){var r=e.length,n=new Array(r),i=new Array(r),o=new Array(r),s,a;for(s=0;s<r;++s)a=uc(e[s]),n[s]=a.r||0,i[s]=a.g||0,o[s]=a.b||0;return n=t(n),i=t(i),o=t(o),a.opacity=1,function(c){return a.r=n(c),a.g=i(c),a.b=o(c),a+""}}}var jre=PN(IN),zre=PN(kN);function CN(t,e){e||(e=[]);var r=t?Math.min(e.length,t.length):0,n=e.slice(),i;return function(o){for(i=0;i<r;++i)n[i]=t[i]*(1-o)+e[i]*o;return n}}function ON(t){return ArrayBuffer.isView(t)&&!(t instanceof DataView)}function LN(t,e){var r=e?e.length:0,n=t?Math.min(r,t.length):0,i=new Array(n),o=new Array(r),s;for(s=0;s<n;++s)i[s]=ts(t[s],e[s]);for(;s<r;++s)o[s]=e[s];return function(a){for(s=0;s<n;++s)o[s]=i[s](a);return o}}function DN(t,e){var r=new Date;return t=+t,e=+e,function(n){return r.setTime(t*(1-n)+e*n),r}}function Yi(t,e){return t=+t,e=+e,function(r){return t*(1-r)+e*r}}function $N(t,e){var r={},n={},i;(t===null||typeof t!="object")&&(t={}),(e===null||typeof e!="object")&&(e={});for(i in e)i in t?r[i]=ts(t[i],e[i]):n[i]=e[i];return function(o){for(i in r)n[i]=r[i](o);return n}}var rE=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,tE=new RegExp(rE.source,"g");function c4(t){return function(){return t}}function l4(t){return function(e){return t(e)+""}}function MN(t,e){var r=rE.lastIndex=tE.lastIndex=0,n,i,o,s=-1,a=[],c=[];for(t=t+"",e=e+"";(n=rE.exec(t))&&(i=tE.exec(e));)(o=i.index)>r&&(o=e.slice(r,o),a[s]?a[s]+=o:a[++s]=o),(n=n[0])===(i=i[0])?a[s]?a[s]+=i:a[++s]=i:(a[++s]=null,c.push({i:s,x:Yi(n,i)})),r=tE.lastIndex;return r<e.length&&(o=e.slice(r),a[s]?a[s]+=o:a[++s]=o),a.length<2?c[0]?l4(c[0].x):c4(e):(e=c.length,function(l){for(var u=0,f;u<e;++u)a[(f=c[u]).i]=f.x(l);return a.join("")})}function ts(t,e){var r=typeof e,n;return e==null||r==="boolean"?Gu(e):(r==="number"?Yi:r==="string"?(n=Vi(e))?(e=n,eE):MN:e instanceof Vi?eE:e instanceof Date?DN:ON(e)?CN:Array.isArray(e)?LN:typeof e.valueOf!="function"&&typeof e.toString!="function"||isNaN(e)?$N:Yi)(t,e)}function nE(t,e){return t=+t,e=+e,function(r){return Math.round(t*(1-r)+e*r)}}function iE(t){return function(){return t}}function oE(t){return+t}var FN=[0,1];function fc(t){return t}function sE(t,e){return(e-=t=+t)?function(r){return(r-t)/e}:iE(isNaN(e)?NaN:.5)}function u4(t,e){var r;return t>e&&(r=t,t=e,e=r),function(n){return Math.max(t,Math.min(e,n))}}function f4(t,e,r){var n=t[0],i=t[1],o=e[0],s=e[1];return i<n?(n=sE(i,n),o=r(s,o)):(n=sE(n,i),o=r(o,s)),function(a){return o(n(a))}}function d4(t,e,r){var n=Math.min(t.length,e.length)-1,i=new Array(n),o=new Array(n),s=-1;for(t[n]<t[0]&&(t=t.slice().reverse(),e=e.slice().reverse());++s<n;)i[s]=sE(t[s],t[s+1]),o[s]=r(e[s],e[s+1]);return function(a){var c=Y_(t,a,1,n)-1;return o[c](i[c](a))}}function UN(t,e){return e.domain(t.domain()).range(t.range()).interpolate(t.interpolate()).clamp(t.clamp()).unknown(t.unknown())}function p4(){var t=FN,e=FN,r=ts,n,i,o,s=fc,a,c,l;function u(){var d=Math.min(t.length,e.length);return s!==fc&&(s=u4(t[0],t[d-1])),a=d>2?d4:f4,c=l=null,f}function f(d){return d==null||isNaN(d=+d)?o:(c||(c=a(t.map(n),e,r)))(n(s(d)))}return f.invert=function(d){return s(i((l||(l=a(e,t.map(n),Yi)))(d)))},f.domain=function(d){return arguments.length?(t=Array.from(d,oE),u()):t.slice()},f.range=function(d){return arguments.length?(e=Array.from(d),u()):e.slice()},f.rangeRound=function(d){return e=Array.from(d),r=nE,u()},f.clamp=function(d){return arguments.length?(s=d?!0:fc,u()):s!==fc},f.interpolate=function(d){return arguments.length?(r=d,u()):r},f.unknown=function(d){return arguments.length?(o=d,f):o},function(d,p){return n=d,i=p,u()}}function aE(){return p4()(fc,fc)}function cE(t,e){t=t.slice();var r=0,n=t.length-1,i=t[r],o=t[n],s;return o<i&&(s=r,r=n,n=s,s=i,i=o,o=s),t[r]=e.floor(i),t[n]=e.ceil(o),t}var lE=new Date,uE=new Date;function Ke(t,e,r,n){function i(o){return t(o=arguments.length===0?new Date:new Date(+o)),o}return i.floor=o=>(t(o=new Date(+o)),o),i.ceil=o=>(t(o=new Date(o-1)),e(o,1),t(o),o),i.round=o=>{let s=i(o),a=i.ceil(o);return o-s<a-o?s:a},i.offset=(o,s)=>(e(o=new Date(+o),s==null?1:Math.floor(s)),o),i.range=(o,s,a)=>{let c=[];if(o=i.ceil(o),a=a==null?1:Math.floor(a),!(o<s)||!(a>0))return c;let l;do c.push(l=new Date(+o)),e(o,a),t(o);while(l<o&&o<s);return c},i.filter=o=>Ke(s=>{if(s>=s)for(;t(s),!o(s);)s.setTime(s-1)},(s,a)=>{if(s>=s)if(a<0)for(;++a<=0;)for(;e(s,-1),!o(s););else for(;--a>=0;)for(;e(s,1),!o(s););}),r&&(i.count=(o,s)=>(lE.setTime(+o),uE.setTime(+s),t(lE),t(uE),Math.floor(r(lE,uE))),i.every=o=>(o=Math.floor(o),!isFinite(o)||!(o>0)?null:o>1?i.filter(n?s=>n(s)%o===0:s=>i.count(0,s)%o===0):i)),i}var Xu=Ke(()=>{},(t,e)=>{t.setTime(+t+e)},(t,e)=>e-t);Xu.every=t=>(t=Math.floor(t),!isFinite(t)||!(t>0)?null:t>1?Ke(e=>{e.setTime(Math.floor(e/t)*t)},(e,r)=>{e.setTime(+e+r*t)},(e,r)=>(r-e)/t):Xu);var Sne=Xu.range;var wn=Ke(t=>{t.setTime(t-t.getMilliseconds())},(t,e)=>{t.setTime(+t+e*1e3)},(t,e)=>(e-t)/1e3,t=>t.getUTCSeconds()),BN=wn.range;var dc=Ke(t=>{t.setTime(t-t.getMilliseconds()-t.getSeconds()*1e3)},(t,e)=>{t.setTime(+t+e*6e4)},(t,e)=>(e-t)/6e4,t=>t.getMinutes()),h4=dc.range,Hh=Ke(t=>{t.setUTCSeconds(0,0)},(t,e)=>{t.setTime(+t+e*6e4)},(t,e)=>(e-t)/6e4,t=>t.getUTCMinutes()),m4=Hh.range;var pc=Ke(t=>{t.setTime(t-t.getMilliseconds()-t.getSeconds()*1e3-t.getMinutes()*6e4)},(t,e)=>{t.setTime(+t+e*36e5)},(t,e)=>(e-t)/36e5,t=>t.getHours()),g4=pc.range,jh=Ke(t=>{t.setUTCMinutes(0,0,0)},(t,e)=>{t.setTime(+t+e*36e5)},(t,e)=>(e-t)/36e5,t=>t.getUTCHours()),y4=jh.range;var Jn=Ke(t=>t.setHours(0,0,0,0),(t,e)=>t.setDate(t.getDate()+e),(t,e)=>(e-t-(e.getTimezoneOffset()-t.getTimezoneOffset())*6e4)/864e5,t=>t.getDate()-1),x4=Jn.range,ju=Ke(t=>{t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCDate(t.getUTCDate()+e)},(t,e)=>(e-t)/864e5,t=>t.getUTCDate()-1),T4=ju.range,zh=Ke(t=>{t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCDate(t.getUTCDate()+e)},(t,e)=>(e-t)/864e5,t=>Math.floor(t/864e5)),_4=zh.range;function is(t){return Ke(e=>{e.setDate(e.getDate()-(e.getDay()+7-t)%7),e.setHours(0,0,0,0)},(e,r)=>{e.setDate(e.getDate()+r*7)},(e,r)=>(r-e-(r.getTimezoneOffset()-e.getTimezoneOffset())*6e4)/6048e5)}var Qn=is(0),hc=is(1),XN=is(2),HN=is(3),Ki=is(4),jN=is(5),zN=is(6),qN=Qn.range,E4=hc.range,v4=XN.range,R4=HN.range,b4=Ki.range,w4=jN.range,A4=zN.range;function os(t){return Ke(e=>{e.setUTCDate(e.getUTCDate()-(e.getUTCDay()+7-t)%7),e.setUTCHours(0,0,0,0)},(e,r)=>{e.setUTCDate(e.getUTCDate()+r*7)},(e,r)=>(r-e)/6048e5)}var ss=os(0),mc=os(1),WN=os(2),VN=os(3),Zi=os(4),YN=os(5),KN=os(6),ZN=ss.range,S4=mc.range,I4=WN.range,k4=VN.range,N4=Zi.range,P4=YN.range,C4=KN.range;var gc=Ke(t=>{t.setDate(1),t.setHours(0,0,0,0)},(t,e)=>{t.setMonth(t.getMonth()+e)},(t,e)=>e.getMonth()-t.getMonth()+(e.getFullYear()-t.getFullYear())*12,t=>t.getMonth()),O4=gc.range,qh=Ke(t=>{t.setUTCDate(1),t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCMonth(t.getUTCMonth()+e)},(t,e)=>e.getUTCMonth()-t.getUTCMonth()+(e.getUTCFullYear()-t.getUTCFullYear())*12,t=>t.getUTCMonth()),L4=qh.range;var xr=Ke(t=>{t.setMonth(0,1),t.setHours(0,0,0,0)},(t,e)=>{t.setFullYear(t.getFullYear()+e)},(t,e)=>e.getFullYear()-t.getFullYear(),t=>t.getFullYear());xr.every=t=>!isFinite(t=Math.floor(t))||!(t>0)?null:Ke(e=>{e.setFullYear(Math.floor(e.getFullYear()/t)*t),e.setMonth(0,1),e.setHours(0,0,0,0)},(e,r)=>{e.setFullYear(e.getFullYear()+r*t)});var D4=xr.range,rn=Ke(t=>{t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCFullYear(t.getUTCFullYear()+e)},(t,e)=>e.getUTCFullYear()-t.getUTCFullYear(),t=>t.getUTCFullYear());rn.every=t=>!isFinite(t=Math.floor(t))||!(t>0)?null:Ke(e=>{e.setUTCFullYear(Math.floor(e.getUTCFullYear()/t)*t),e.setUTCMonth(0,1),e.setUTCHours(0,0,0,0)},(e,r)=>{e.setUTCFullYear(e.getUTCFullYear()+r*t)});var $4=rn.range;function QN(t,e,r,n,i,o){let s=[[wn,1,1e3],[wn,5,5*1e3],[wn,15,15*1e3],[wn,30,30*1e3],[o,1,6e4],[o,5,5*6e4],[o,15,15*6e4],[o,30,30*6e4],[i,1,36e5],[i,3,3*36e5],[i,6,6*36e5],[i,12,12*36e5],[n,1,864e5],[n,2,2*864e5],[r,1,6048e5],[e,1,2592e6],[e,3,3*2592e6],[t,1,31536e6]];function a(l,u,f){let d=u<l;d&&([l,u]=[u,l]);let p=f&&typeof f.range=="function"?f:c(l,u,f),m=p?p.range(l,+u+1):[];return d?m.reverse():m}function c(l,u,f){let d=Math.abs(u-l)/f,p=Jo(([,,v])=>v).right(s,d);if(p===s.length)return t.every(Lh(l/31536e6,u/31536e6,f));if(p===0)return Xu.every(Math.max(Lh(l,u,f),1));let[m,g]=s[d/s[p-1][2]<s[p][2]/d?p-1:p];return m.every(g)}return[a,c]}var[F4,U4]=QN(rn,qh,ss,zh,jh,Hh),[fE,dE]=QN(xr,gc,Qn,Jn,pc,dc);function pE(t){if(0<=t.y&&t.y<100){var e=new Date(-1,t.m,t.d,t.H,t.M,t.S,t.L);return e.setFullYear(t.y),e}return new Date(t.y,t.m,t.d,t.H,t.M,t.S,t.L)}function hE(t){if(0<=t.y&&t.y<100){var e=new Date(Date.UTC(-1,t.m,t.d,t.H,t.M,t.S,t.L));return e.setUTCFullYear(t.y),e}return new Date(Date.UTC(t.y,t.m,t.d,t.H,t.M,t.S,t.L))}function zu(t,e,r){return{y:t,m:e,d:r,H:0,M:0,S:0,L:0}}function mE(t){var e=t.dateTime,r=t.date,n=t.time,i=t.periods,o=t.days,s=t.shortDays,a=t.months,c=t.shortMonths,l=qu(i),u=Wu(i),f=qu(o),d=Wu(o),p=qu(s),m=Wu(s),g=qu(a),v=Wu(a),T=qu(c),_=Wu(c),E={a:S,A:M,b:X,B:F,c:null,d:oP,e:oP,f:c3,g:x3,G:_3,H:o3,I:s3,j:a3,L:uP,m:l3,M:u3,p:W,q:Z,Q:cP,s:lP,S:f3,u:d3,U:p3,V:h3,w:m3,W:g3,x:null,X:null,y:y3,Y:T3,Z:E3,"%":aP},I={a:pe,A:V,b:te,B:De,c:null,d:sP,e:sP,f:w3,g:D3,G:M3,H:v3,I:R3,j:b3,L:dP,m:A3,M:S3,p:Ne,q:Xe,Q:cP,s:lP,S:I3,u:k3,U:N3,V:P3,w:C3,W:O3,x:null,X:null,y:L3,Y:$3,Z:F3,"%":aP},D={a:le,A:O,b:R,B:L,c:$,d:nP,e:nP,f:t3,g:rP,G:tP,H:iP,I:iP,j:Z4,L:e3,m:K4,M:J4,p:z,q:Y4,Q:n3,s:i3,S:Q4,u:j4,U:z4,V:q4,w:H4,W:W4,x:w,X:A,y:rP,Y:tP,Z:V4,"%":r3};E.x=k(r,E),E.X=k(n,E),E.c=k(e,E),I.x=k(r,I),I.X=k(n,I),I.c=k(e,I);function k(q,J){return function(re){var P=[],we=-1,me=0,ve=q.length,_t,H,Cr;for(re instanceof Date||(re=new Date(+re));++we<ve;)q.charCodeAt(we)===37&&(P.push(q.slice(me,we)),(H=eP[_t=q.charAt(++we)])!=null?_t=q.charAt(++we):H=_t==="e"?" ":"0",(Cr=J[_t])&&(_t=Cr(re,H)),P.push(_t),me=we+1);return P.push(q.slice(me,we)),P.join("")}}function B(q,J){return function(re){var P=zu(1900,void 0,1),we=U(P,q,re+="",0),me,ve;if(we!=re.length)return null;if("Q"in P)return new Date(P.Q);if("s"in P)return new Date(P.s*1e3+("L"in P?P.L:0));if(J&&!("Z"in P)&&(P.Z=0),"p"in P&&(P.H=P.H%12+P.p*12),P.m===void 0&&(P.m="q"in P?P.q:0),"V"in P){if(P.V<1||P.V>53)return null;"w"in P||(P.w=1),"Z"in P?(me=hE(zu(P.y,0,1)),ve=me.getUTCDay(),me=ve>4||ve===0?mc.ceil(me):mc(me),me=ju.offset(me,(P.V-1)*7),P.y=me.getUTCFullYear(),P.m=me.getUTCMonth(),P.d=me.getUTCDate()+(P.w+6)%7):(me=pE(zu(P.y,0,1)),ve=me.getDay(),me=ve>4||ve===0?hc.ceil(me):hc(me),me=Jn.offset(me,(P.V-1)*7),P.y=me.getFullYear(),P.m=me.getMonth(),P.d=me.getDate()+(P.w+6)%7)}else("W"in P||"U"in P)&&("w"in P||(P.w="u"in P?P.u%7:"W"in P?1:0),ve="Z"in P?hE(zu(P.y,0,1)).getUTCDay():pE(zu(P.y,0,1)).getDay(),P.m=0,P.d="W"in P?(P.w+6)%7+P.W*7-(ve+5)%7:P.w+P.U*7-(ve+6)%7);return"Z"in P?(P.H+=P.Z/100|0,P.M+=P.Z%100,hE(P)):pE(P)}}function U(q,J,re,P){for(var we=0,me=J.length,ve=re.length,_t,H;we<me;){if(P>=ve)return-1;if(_t=J.charCodeAt(we++),_t===37){if(_t=J.charAt(we++),H=D[_t in eP?J.charAt(we++):_t],!H||(P=H(q,re,P))<0)return-1}else if(_t!=re.charCodeAt(P++))return-1}return P}function z(q,J,re){var P=l.exec(J.slice(re));return P?(q.p=u.get(P[0].toLowerCase()),re+P[0].length):-1}function le(q,J,re){var P=p.exec(J.slice(re));return P?(q.w=m.get(P[0].toLowerCase()),re+P[0].length):-1}function O(q,J,re){var P=f.exec(J.slice(re));return P?(q.w=d.get(P[0].toLowerCase()),re+P[0].length):-1}function R(q,J,re){var P=T.exec(J.slice(re));return P?(q.m=_.get(P[0].toLowerCase()),re+P[0].length):-1}function L(q,J,re){var P=g.exec(J.slice(re));return P?(q.m=v.get(P[0].toLowerCase()),re+P[0].length):-1}function $(q,J,re){return U(q,e,J,re)}function w(q,J,re){return U(q,r,J,re)}function A(q,J,re){return U(q,n,J,re)}function S(q){return s[q.getDay()]}function M(q){return o[q.getDay()]}function X(q){return c[q.getMonth()]}function F(q){return a[q.getMonth()]}function W(q){return i[+(q.getHours()>=12)]}function Z(q){return 1+~~(q.getMonth()/3)}function pe(q){return s[q.getUTCDay()]}function V(q){return o[q.getUTCDay()]}function te(q){return c[q.getUTCMonth()]}function De(q){return a[q.getUTCMonth()]}function Ne(q){return i[+(q.getUTCHours()>=12)]}function Xe(q){return 1+~~(q.getUTCMonth()/3)}return{format:function(q){var J=k(q+="",E);return J.toString=function(){return q},J},parse:function(q){var J=B(q+="",!1);return J.toString=function(){return q},J},utcFormat:function(q){var J=k(q+="",I);return J.toString=function(){return q},J},utcParse:function(q){var J=B(q+="",!0);return J.toString=function(){return q},J}}}var eP={"-":"",_:" ",0:"0"},Lt=/^\s*\d+/,B4=/^%/,G4=/[\\^$*+?|[\]().{}]/g;function Oe(t,e,r){var n=t<0?"-":"",i=(n?-t:t)+"",o=i.length;return n+(o<r?new Array(r-o+1).join(e)+i:i)}function X4(t){return t.replace(G4,"\\$&")}function qu(t){return new RegExp("^(?:"+t.map(X4).join("|")+")","i")}function Wu(t){return new Map(t.map((e,r)=>[e.toLowerCase(),r]))}function H4(t,e,r){var n=Lt.exec(e.slice(r,r+1));return n?(t.w=+n[0],r+n[0].length):-1}function j4(t,e,r){var n=Lt.exec(e.slice(r,r+1));return n?(t.u=+n[0],r+n[0].length):-1}function z4(t,e,r){var n=Lt.exec(e.slice(r,r+2));return n?(t.U=+n[0],r+n[0].length):-1}function q4(t,e,r){var n=Lt.exec(e.slice(r,r+2));return n?(t.V=+n[0],r+n[0].length):-1}function W4(t,e,r){var n=Lt.exec(e.slice(r,r+2));return n?(t.W=+n[0],r+n[0].length):-1}function tP(t,e,r){var n=Lt.exec(e.slice(r,r+4));return n?(t.y=+n[0],r+n[0].length):-1}function rP(t,e,r){var n=Lt.exec(e.slice(r,r+2));return n?(t.y=+n[0]+(+n[0]>68?1900:2e3),r+n[0].length):-1}function V4(t,e,r){var n=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(e.slice(r,r+6));return n?(t.Z=n[1]?0:-(n[2]+(n[3]||"00")),r+n[0].length):-1}function Y4(t,e,r){var n=Lt.exec(e.slice(r,r+1));return n?(t.q=n[0]*3-3,r+n[0].length):-1}function K4(t,e,r){var n=Lt.exec(e.slice(r,r+2));return n?(t.m=n[0]-1,r+n[0].length):-1}function nP(t,e,r){var n=Lt.exec(e.slice(r,r+2));return n?(t.d=+n[0],r+n[0].length):-1}function Z4(t,e,r){var n=Lt.exec(e.slice(r,r+3));return n?(t.m=0,t.d=+n[0],r+n[0].length):-1}function iP(t,e,r){var n=Lt.exec(e.slice(r,r+2));return n?(t.H=+n[0],r+n[0].length):-1}function J4(t,e,r){var n=Lt.exec(e.slice(r,r+2));return n?(t.M=+n[0],r+n[0].length):-1}function Q4(t,e,r){var n=Lt.exec(e.slice(r,r+2));return n?(t.S=+n[0],r+n[0].length):-1}function e3(t,e,r){var n=Lt.exec(e.slice(r,r+3));return n?(t.L=+n[0],r+n[0].length):-1}function t3(t,e,r){var n=Lt.exec(e.slice(r,r+6));return n?(t.L=Math.floor(n[0]/1e3),r+n[0].length):-1}function r3(t,e,r){var n=B4.exec(e.slice(r,r+1));return n?r+n[0].length:-1}function n3(t,e,r){var n=Lt.exec(e.slice(r));return n?(t.Q=+n[0],r+n[0].length):-1}function i3(t,e,r){var n=Lt.exec(e.slice(r));return n?(t.s=+n[0],r+n[0].length):-1}function oP(t,e){return Oe(t.getDate(),e,2)}function o3(t,e){return Oe(t.getHours(),e,2)}function s3(t,e){return Oe(t.getHours()%12||12,e,2)}function a3(t,e){return Oe(1+Jn.count(xr(t),t),e,3)}function uP(t,e){return Oe(t.getMilliseconds(),e,3)}function c3(t,e){return uP(t,e)+"000"}function l3(t,e){return Oe(t.getMonth()+1,e,2)}function u3(t,e){return Oe(t.getMinutes(),e,2)}function f3(t,e){return Oe(t.getSeconds(),e,2)}function d3(t){var e=t.getDay();return e===0?7:e}function p3(t,e){return Oe(Qn.count(xr(t)-1,t),e,2)}function fP(t){var e=t.getDay();return e>=4||e===0?Ki(t):Ki.ceil(t)}function h3(t,e){return t=fP(t),Oe(Ki.count(xr(t),t)+(xr(t).getDay()===4),e,2)}function m3(t){return t.getDay()}function g3(t,e){return Oe(hc.count(xr(t)-1,t),e,2)}function y3(t,e){return Oe(t.getFullYear()%100,e,2)}function x3(t,e){return t=fP(t),Oe(t.getFullYear()%100,e,2)}function T3(t,e){return Oe(t.getFullYear()%1e4,e,4)}function _3(t,e){var r=t.getDay();return t=r>=4||r===0?Ki(t):Ki.ceil(t),Oe(t.getFullYear()%1e4,e,4)}function E3(t){var e=t.getTimezoneOffset();return(e>0?"-":(e*=-1,"+"))+Oe(e/60|0,"0",2)+Oe(e%60,"0",2)}function sP(t,e){return Oe(t.getUTCDate(),e,2)}function v3(t,e){return Oe(t.getUTCHours(),e,2)}function R3(t,e){return Oe(t.getUTCHours()%12||12,e,2)}function b3(t,e){return Oe(1+ju.count(rn(t),t),e,3)}function dP(t,e){return Oe(t.getUTCMilliseconds(),e,3)}function w3(t,e){return dP(t,e)+"000"}function A3(t,e){return Oe(t.getUTCMonth()+1,e,2)}function S3(t,e){return Oe(t.getUTCMinutes(),e,2)}function I3(t,e){return Oe(t.getUTCSeconds(),e,2)}function k3(t){var e=t.getUTCDay();return e===0?7:e}function N3(t,e){return Oe(ss.count(rn(t)-1,t),e,2)}function pP(t){var e=t.getUTCDay();return e>=4||e===0?Zi(t):Zi.ceil(t)}function P3(t,e){return t=pP(t),Oe(Zi.count(rn(t),t)+(rn(t).getUTCDay()===4),e,2)}function C3(t){return t.getUTCDay()}function O3(t,e){return Oe(mc.count(rn(t)-1,t),e,2)}function L3(t,e){return Oe(t.getUTCFullYear()%100,e,2)}function D3(t,e){return t=pP(t),Oe(t.getUTCFullYear()%100,e,2)}function $3(t,e){return Oe(t.getUTCFullYear()%1e4,e,4)}function M3(t,e){var r=t.getUTCDay();return t=r>=4||r===0?Zi(t):Zi.ceil(t),Oe(t.getUTCFullYear()%1e4,e,4)}function F3(){return"+0000"}function aP(){return"%"}function cP(t){return+t}function lP(t){return Math.floor(+t/1e3)}var yc,Wh,hP,mP,gP;gE({dateTime:"%x, %X",date:"%-m/%-d/%Y",time:"%-I:%M:%S %p",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]});function gE(t){return yc=mE(t),Wh=yc.format,hP=yc.parse,mP=yc.utcFormat,gP=yc.utcParse,yc}function U3(t){return new Date(t)}function B3(t){return t instanceof Date?+t:+new Date(+t)}function yP(t,e,r,n,i,o,s,a,c,l){var u=aE(),f=u.invert,d=u.domain,p=l(".%L"),m=l(":%S"),g=l("%I:%M"),v=l("%I %p"),T=l("%a %d"),_=l("%b %d"),E=l("%B"),I=l("%Y");function D(k){return(c(k)<k?p:a(k)<k?m:s(k)<k?g:o(k)<k?v:n(k)<k?i(k)<k?T:_:r(k)<k?E:I)(k)}return u.invert=function(k){return new Date(f(k))},u.domain=function(k){return arguments.length?d(Array.from(k,B3)):d().map(U3)},u.ticks=function(k){var B=d();return t(B[0],B[B.length-1],k??10)},u.tickFormat=function(k,B){return B==null?D:l(B)},u.nice=function(k){var B=d();return(!k||typeof k.range!="function")&&(k=e(B[0],B[B.length-1],k??10)),k?d(cE(B,k)):u},u.copy=function(){return UN(u,yP(t,e,r,n,i,o,s,a,c,l))},u}function Vh(){return cc.apply(yP(fE,dE,xr,gc,Qn,Jn,pc,dc,wn,Wh).domain([new Date(2e3,0,1),new Date(2e3,0,2)]),arguments)}var yE=class t{constructor(e,r,n){de(this,"bandwidthPx");de(this,"stepPx");de(this,"d3");this.bandwidthPx=e,this.stepPx=r,this.d3=n}static fixedRow(e){return new t(e.bandwidth,e.step)}static forRows(e){let r=Array.from({length:e.count},(i,o)=>String(o)),n=Mu().domain(r).range(e.range).paddingInner(e.paddingInner??0).paddingOuter(e.paddingOuter??0);return new t(n.bandwidth(),n.step(),n)}bandwidth(){return this.bandwidthPx}step(){return this.stepPx}forward(e){if(!this.d3)throw new Error("BandScale.forward is only available on closed-domain bands (BandScale.forRows)");let r=this.d3(e);if(r===void 0)throw new Error(`BandScale: unknown band id "${e}"`);return r}},G3={bandwidth:56,step:64};function xP(){return yE.fixedRow(G3)}var Yh=class{constructor(e){de(this,"domain");de(this,"range");de(this,"pixelsPerDay");de(this,"calendar");de(this,"d3");this.domain=e.domain,this.range=e.range,this.calendar=e.calendar;let r=Math.max(1,Nr(e.domain[0],e.domain[1]));this.pixelsPerDay=(e.range[1]-e.range[0])/r,this.d3=Vh().domain(e.domain).range(e.range)}forward(e){let r=Nr(this.domain[0],e);return this.range[0]+r*this.pixelsPerDay}forwardWithinDomain(e){return e<this.domain[0]||e>this.domain[1]?null:this.forward(e)}invert(e){return this.d3.invert(e)}get originX(){return this.range[0]}get widthPx(){return this.range[1]-this.range[0]}};function Kh(t){return t.endsWith(":")?t.slice(0,-1):t}function TP(t,e){let n=t.roadmapDecl?.properties.find(c=>Kh(c.key)==="scale")?.value,i="weeks",o,s;if(n)if(n==="days"||n==="weeks"||n==="months"||n==="quarters"||n==="years")i=n;else{let c=/^(\d+)([dwmqy])$/.exec(n);if(c){let l=Math.max(1,parseInt(c[1],10));switch(c[2]){case"d":i="days";break;case"w":i="weeks";break;case"m":i="months";break;case"q":i="quarters";break;case"y":i="years";break}o=Zh(i)*l,s=1}}let a=s??fN[i]??4;if(e){let l=e.properties.find(m=>Kh(m.key)==="unit")?.value??i,u=e.properties.find(m=>Kh(m.key)==="label-every"),f=e.properties.find(m=>Kh(m.key)==="pixels-per-unit"),d=u?Math.max(1,parseInt(u.value,10)||a):a,p=f?Math.max(1,parseInt(f.value,10)||Zh(l)):o??Zh(l);return{unit:l,labelEvery:d,pixelsPerUnit:p}}return{unit:i,labelEvery:a,pixelsPerUnit:o??Zh(i)}}function Zh(t){switch(t){case"days":return aN;case"weeks":return 40;case"months":return 80;case"quarters":return 160;case"years":return 320}}function _P(t,e,r,n=wu){let i=r.daysPerUnit(e.unit),o=i*t.pixelsPerDay,s=Math.max(1,Math.round(t.widthPx/t.pixelsPerDay)),a=Math.floor(s/i)+1,c=[];for(let l=0;l<a;l++){let u=l*i,f=t.originX+u*t.pixelsPerDay,d=l%e.labelEvery===0,p=l===a-1;c.push({x:f,labelX:p?void 0:f+o/2,major:d,label:d&&!p?X3(e.unit,Yo(t.domain[0],u),l,n):void 0})}return c}function X3(t,e,r,n){switch(t){case"days":return`${e.getUTCMonth()+1}/${e.getUTCDate()}`;case"weeks":{let i=e.toLocaleString(n,{month:"short",timeZone:"UTC"}),o=e.getUTCDate().toString().padStart(2,"0");return`${i} ${o}`}case"months":return e.toLocaleString(n,{month:"short",timeZone:"UTC"});case"quarters":{let i=Math.floor(e.getUTCMonth()/3)+1;return`${gh(n).quarterPrefix}${i} ${e.getUTCFullYear()}`}case"years":return`${e.getUTCFullYear()}`}}function EP(t){return{daysPerUnit:e=>xE(e,t),addUnits:(e,r,n)=>Yo(e,r*xE(n,t)),isWorkingDay:()=>!0}}function vP(t,e){return xE(t,e)}function xE(t,e){switch(t){case"days":return 1;case"weeks":return e.daysPerWeek;case"months":return e.daysPerMonth;case"quarters":return e.daysPerQuarter;case"years":return e.daysPerYear}}var TE=class{constructor(e,r){de(this,"id");de(this,"anchor");this.id=e,this.anchor=r}place(e,r){let n=ae(this.anchor.properties,"date"),i=Rt(n);if(!i)return null;let o=e.scale.forwardWithinDomain(i);if(o===null)return null;let s=yt("anchor",this.anchor.properties,e.styleCtx),a=e.markerRowPlacements.get(this.id),c=a?.centerY??e.timeline.markerRow.y,l={x:o,y:c},u=a?.labelBox??{x:o+6+6,y:c-4,width:0,height:12},f=a?.labelSide??"right";return e.entityLeftEdges.set(this.id,o),e.entityRightEdges.set(this.id,o),e.entityMidpoints.set(this.id,l),{id:this.id,title:this.anchor.title??this.id,center:l,radius:6,style:s,predecessorPoints:[],cutTopY:e.chartTopY,cutBottomY:e.swimlaneBottomY,bumpedUp:(a?.rowIndex??0)>0,labelBox:u,labelSide:f}}};function bP(t,e,r){let n=[];for(let[i,o]of t){let s=new TE(i,o).place(e,r);s&&n.push(s)}return n}function _E(t,e,r){let n=[],i=new Map,o=new Map;return[...t.entries()].sort(([c],[l])=>c.localeCompare(l)).forEach(([c,l],u)=>{let f=u+1;i.set(c,f),o.set(c,gt(l.properties,"on")),n.push({number:f,title:l.title??c,description:l.description?.text,style:yt("footnote",l.properties,e.styleCtx)})}),{area:{box:{x:en,y:r+en,width:e.chartRightX-2*en,height:n.length===0?0:Ou+n.length*Lu+en},entries:n},index:i,hosts:o}}var H3=.8,j3=1;function z3(t){let e=[];return AP(t,e),e}function AP(t,e){for(let r of t)if(r.kind==="item"){let n=q3(r);n>0&&r.box.width>0&&e.push({startX:r.box.x,endX:r.box.x+r.box.width,load:n})}else(r.kind==="parallel"||r.kind==="group")&&AP(r.children,e)}function q3(t){return t.capacity?t.capacity.value:t.size?1:0}function SP(t){if(t.capacityValue<=0||t.warnFraction===null&&t.overFraction===null)return null;let e=z3(t.children);if(e.length===0)return null;let r=new Set;for(let s of e)r.add(s.startX),r.add(s.endX);let n=Array.from(r).sort((s,a)=>s-a);if(n.length<2)return null;let i=[];for(let s=0;s<n.length-1;s++){let a=n[s],c=n[s+1],l=(a+c)/2,u=0;for(let f of e)f.startX<=l&&l<f.endX&&(u+=f.load);i.push({startX:a,endX:c,load:u,classification:W3(u,t.capacityValue,t.warnFraction,t.overFraction)})}let o=[];for(let s of i){let a=o[o.length-1];a&&a.classification===s.classification&&a.endX===s.startX?a.endX=s.endX:o.push({...s})}return{segments:o,capacityValue:t.capacityValue,warnFraction:t.warnFraction,overFraction:t.overFraction}}function W3(t,e,r,n){let i=t/e;return n!==null&&i>=n?"red":r!==null&&i>=r?"yellow":"green"}function IP(t,e){let r=e.get("swimlane"),n=wP(ae(t.properties,"utilization-warn-at"),r?ae(r.properties,"utilization-warn-at"):void 0,H3),i=wP(ae(t.properties,"utilization-over-at"),r?ae(r.properties,"utilization-over-at"):void 0,j3);return{warn:n,over:i}}function wP(t,e,r){let i=K3(t??e);return i.kind==="unset"?r:i.kind==="none"?null:i.value}var V3=/^\d+(?:\.\d+)?%$/,Y3=/^\d+\.\d+$/;function K3(t){if(t===void 0)return{kind:"unset"};if(t==="none")return{kind:"none"};if(V3.test(t)){let e=parseFloat(t)/100;return Number.isFinite(e)&&e>0?{kind:"number",value:e}:{kind:"unset"}}if(Y3.test(t)){let e=parseFloat(t);return Number.isFinite(e)&&e>0?{kind:"number",value:e}:{kind:"unset"}}return{kind:"unset"}}var kP=10;function Z3(t,e,r){let n=ae(t.properties,"capacity"),i=ji(n);if(i===null)return{capacity:null,badgeWidthPx:0};let o=Eu(i),s=vu(e.capacityIcon,r),a=Vo(o,s,kP);return{capacity:{value:i,text:o,icon:s},badgeWidthPx:a}}var J3=10,Q3=38,eG=8;function tG(t,e,r){let n=t.title??t.name??"";if(!n)return 0;let i=ae(t.properties,"owner");return Ru(0,n,i??void 0,e,r).rightX}function rG(t,e){if(!t.name)return[];let r=[];for(let[n,i]of e.footnoteHosts.entries())if(i.includes(t.name)){let o=e.footnoteIndex.get(n);o!==void 0&&r.push(o)}return r.sort((n,i)=>n-i),r}function nG(t,e,r,n){for(let i of t.content){if(i.$type==="DescriptionDirective")continue;let o=yr(i)?i.properties:i.properties??[];return n.resolveChildStart(o,e,e,r)}}var xc=class{constructor(e,r){de(this,"input");de(this,"deps");this.input=e,this.deps=r}get id(){return this.input.lane.name??""}place(e,r){let{lane:n,bandIndex:i}=this.input,{deps:o}=this,s=yt("swimlane",n.properties,r.styleCtx),a=e.x,c=r.bandScale.step(),l=r.currentFlowKey;r.currentFlowKey=`lane:${n.name??i}`;let{capacity:u,badgeWidthPx:f}=Z3(n,s,r.symbols),d=rG(n,r),p=d.length>0?o.estimateTextWidth(d.join(","),kP):0,m=tG(n,f,p),g=nG(n,a,r,o),v=!n.title||g===void 0||g>=m+eG,T=e.y+(v?J3:Q3),_=new rc({laneLeftX:a,originY:T,minRowHeight:c,slackCorridors:r.slackCorridors}),E=a,I=[];for(let R of n.content){if(R.$type==="DescriptionDirective")continue;if(!yr(R)){let Xe=R.properties??[],q=o.resolveChildStart(Xe,E,a,r),{rowIndex:J,y:re}=_.placeBlock(),P=o.newCursor(q,re),we=o.sequenceOne(R,P,r);I.push(we);let me=we.box.x+we.box.width,ve=Math.max(c,P.height);_.commitBlock({rowIndex:J,placed:we,blockHeight:ve,blockEnd:me}),E=Math.max(E,me);continue}let L=R.properties,$=o.resolveChildStart(L,E,a,r),w=zi(L,r.sizes,r.cal),A=Math.max(Pr,w*r.timeline.pixelsPerDay),S=$+A,M=R.name??"",X=o.predictItemChipExtraHeight(R,r),F=c+X,{rowIndex:W,y:Z}=_.placeItem({childId:M,desiredStart:$,desiredEnd:S,predictedHeight:F}),pe=o.newCursor($,Z),V=o.sequenceItem(R,pe,r);I.push(V);let te=V.box.x+V.box.width+Jr;E=Math.max(E,te);let De=null;(V.textSpills||V.chipsOutside||V.dotSpills||V.iconSpills||V.footnoteSpills)&&(De=Math.max(V.decorationsRightX,V.chipsOutside?V.chipsRightX:0)+6),_.commitItem({rowIndex:W,placed:V,logicalEnd:te,spillReservation:De,rowHeight:F})}let D=T-e.y,k=Math.max(c+32,D+_.usedHeight()+16),B=Math.max(_.usedRightX(),m),U={x:0,y:e.y,width:r.chartRightX,height:k},z=ae(n.properties,"owner"),le;if(z){let R=r.teams.get(z),L=r.persons.get(z);le=R?.title??L?.title??z}let O=u?(()=>{let{warn:R,over:L}=IP(n,r.styleCtx.defaults);return SP({children:I,capacityValue:u.value,warnFraction:R,overFraction:L})})():null;return r.currentFlowKey=l,{positioned:{id:n.name,title:n.title??n.name??"",box:U,bandIndex:i,children:I,nested:[],style:s,owner:le,footnoteIndicators:d,capacity:u,utilization:O},usedHeight:k,usedRightX:B}}};var iG=18,oG=14,sG=14,aG=16,cG=32;function NP(t,e,r,n){let i=r+iG,o=[],s=!0;for(let a of t){s||(i+=aG),s=!1;let c=a.content.roadmap?.title??a.sourcePath,l=i+oG,u={cal:e.cal,styleCtx:{theme:e.styleCtx.theme,styles:a.config.styles,defaults:a.config.defaults,labels:a.content.labels},sizes:hh(a.content.sizes,e.cal),labels:a.content.labels,teams:a.content.teams,persons:a.content.persons,symbols:a.config.symbols,footnoteIndex:new Map,footnoteHosts:new Map,timeline:e.timeline,scale:e.scale,calendar:e.calendar,bandScale:e.bandScale,entityLeftEdges:new Map,entityRightEdges:new Map,entityMidpoints:new Map,entityVisualLeftX:new Map,entityVisualRightX:new Map,itemArrowSource:new Map,itemFlowKey:new Map,currentFlowKey:"",itemSlackAttachY:new Map,slackCorridors:[],markerRowPlacements:new Map,chartTopY:l,chartBottomY:l,swimlaneBottomY:l,chartRightX:e.chartRightX},f=[],d=l,p=0,m=u.timeline.originX;for(let k of a.content.swimlanes.values()){let{positioned:B,usedHeight:U,usedRightX:z}=new xc({lane:k,bandIndex:p},n).place({x:u.timeline.originX,y:d},u);f.push(B),d+=U,p++,z>m&&(m=z)}let g=d,v=Math.max(e.bandScale.bandwidth(),g-i+sG),T=0,{chromeRightX:_}=bu(T,c,a.sourcePath),E=Math.max(_,m)+cG,I=Math.min(e.chartRightX-T,E-T),D={x:T,y:i,width:I,height:v};for(let k of f)k.box.width=I;o.push({sourcePath:a.sourcePath,label:c,box:D,nestedSwimlanes:f,style:yt("swimlane",[],e.styleCtx)}),i+=v}return{regions:o,endY:i}}function em(t,e){let r=[];for(let n of t){let o=e.entityVisualRightX.get(n)??e.entityRightEdges.get(n);if(o===void 0)continue;let s=e.itemSlackAttachY.get(n)??e.entityMidpoints.get(n)?.y??0,a=e.itemFlowKey.get(n)??`marker:${n}`;r.push({ref:n,x:o,y:s,flowKey:a})}return r}function tm(t){let e=new Map;for(let r of t){let n=e.get(r.flowKey);(!n||r.x>n.x)&&e.set(r.flowKey,r)}return Array.from(e.values())}function PP(t,e,r,n,i,o,s,a){let c=n.length*i*.58*(o?1.05:1),l=t+r+6,u=t-r-6-c,f=l+c<=a,d=u>=s,p=f?"right":d?"left":"right";return{box:{x:p==="right"?l:u,y:e-4,width:c,height:12},side:p}}var EE=class{constructor(e,r){de(this,"id");de(this,"milestone");this.id=e,this.milestone=r}place(e){let r=this.milestone,n=yt("milestone",r.properties,e.styleCtx),i=ae(r.properties,"date"),o=gt(r.properties,"after"),s=Rt(i),a=e.timeline.markerRow.y,c=6,l=r.title??this.id,u=null,f=a,d=null,p="right",m=!1,g,v=!1;if(s){let _=e.scale.forwardWithinDomain(s);if(_===null)return null;u=_,m=!0;let E=e.markerRowPlacements.get(this.id);E&&(f=E.centerY,d=E.labelBox,p=E.labelSide);let I=em(o,e),D=tm(I),k=null;for(let B of D)(!k||B.x>k.x)&&(k=B);k&&k.x>_&&(v=!0,g=[{x:k.x,y:k.y>0?k.y:f}])}else if(o.length>0){let _=em(o,e),E=tm(_);E.sort((B,U)=>U.x-B.x);let I=E[0]?.x??e.timeline.originX;u=I,m=!1;let D=PP(u,a,c,l,10,!0,e.timeline.box.x,e.chartRightX);f=a,d=D.box,p=D.side,e.markerRowPlacements.set(this.id,{rowIndex:0,centerY:f,labelBox:d,labelSide:p});let k=[];for(let B=1;B<E.length;B++){let U=E[B];U.x<I&&U.y>0&&k.push({x:U.x,y:U.y})}k.length>0&&(g=k)}if(u===null)return null;if(!d){let _=PP(u,f,c,l,10,!0,e.timeline.box.x,e.chartRightX);d=_.box,p=_.side}let T={x:u,y:f};return e.entityLeftEdges.set(this.id,T.x),e.entityRightEdges.set(this.id,T.x),e.entityMidpoints.set(this.id,T),{id:this.id,title:l,center:T,radius:c,fixed:m,slackArrows:g,isOverrun:v,style:n,cutTopY:e.chartTopY,cutBottomY:e.swimlaneBottomY,labelBox:d,labelSide:p}}};function CP(t,e){let r=[];for(let[n,i]of t){let o=new EE(n,i).place(e);o&&r.push(o)}return r}var uG=4;function fG(t,e){e>t.chartRightX&&(t.chartRightX=e)}var nm=class{place(e,r,n,i){let o=n.theme??"light",s=I_[o],a=n.width??1280,c=Vk(n.locale,hG(e)),l=Hk(e,r.config.calendar),u=TP(e,r.config.scale),f=hh(r.content.sizes,l),d={theme:s,styles:r.config.styles,defaults:r.config.defaults,labels:r.content.labels},{startDate:p,endDate:m}=i.computeDateWindow(e,{cal:l,sizes:f},r,n.today,u),g=yt("roadmap",e.roadmapDecl?.properties??[],d),v=g.headerPosition==="beside",T=g.timelinePosition!=="bottom",_=g.timelinePosition==="bottom"||g.timelinePosition==="both",E=e.roadmapDecl?.title??e.roadmapDecl?.name??"",I=ae(e.roadmapDecl?.properties??[],"author"),D=i.sizeBesideHeader(E,I),k=v?{x:0,y:0,width:D.boxWidth,height:0}:{x:0,y:0,width:0,height:Sh},B=v?D.boxWidth:0,U=v?8:Sh+8,z=EP(l),le=u.pixelsPerUnit/z.daysPerUnit(u.unit),R=Math.max(1,Nr(p,m))*le,L=B+Qr,$=R,w=B+Qr+$+Qr,A=Math.min(a,w),S=n.today!==void 0&&n.today>=p&&n.today<=m,M=r.content.anchors.size+r.content.milestones.size>0,X=S?qi:0,F=T?ku:0,W=new Yh({domain:[p,m],range:[L,L+R],calendar:z}),Z=Math.max(A,L+$+Qr),pe=[];for(let[K,ue]of r.content.anchors){let ze=Rt(ae(ue.properties,"date"));if(!ze)continue;let Dr=W.forwardWithinDomain(ze);Dr!==null&&pe.push({id:K,centerX:Dr,radius:6,title:ue.title??K,fontSize:10,bold:!1,date:ze,isMilestone:!1})}for(let[K,ue]of r.content.milestones){let ze=Rt(ae(ue.properties,"date"));if(!ze)continue;let Dr=W.forwardWithinDomain(ze);Dr!==null&&pe.push({id:K,centerX:Dr,radius:6,title:ue.title??K,fontSize:10,bold:!0,date:ze,isMilestone:!0})}let V=LP(pe,B,Z,i.estimateTextWidth),te=M?Math.max(1,V.rowCount):0,De=te*26,Ne=X+F+De,Xe=Ne+8,q=v?D.cardHeight+uG:0,J=Math.max(U,q-Ne),re=J+X,P=re+F,we=P+De,me=_P(W,u,z,c),ve={box:{x:L,y:J,width:R,height:0},ticks:me,pixelsPerDay:le,originX:L,startDate:p,endDate:m,labelStyle:yt("roadmap",[],d),pillRowHeight:X,tickPanelY:re,tickPanelHeight:F,markerRow:{y:P+13,height:De,collisionY:P-8},minorGrid:g.minorGrid},_t=new Map;for(let[K,ue]of V.placements){let ze=P+13+ue.rowIndex*26;_t.set(K,{rowIndex:ue.rowIndex,centerY:ze,labelBox:{...ue.labelBox,y:ze-4},labelSide:ue.labelSide})}let H={cal:l,styleCtx:d,sizes:f,labels:r.content.labels,teams:r.content.teams,persons:r.content.persons,symbols:r.config.symbols,footnoteIndex:new Map,footnoteHosts:new Map,timeline:ve,scale:W,calendar:z,bandScale:xP(),entityLeftEdges:new Map,entityRightEdges:new Map,entityMidpoints:new Map,entityVisualLeftX:new Map,entityVisualRightX:new Map,itemArrowSource:new Map,itemFlowKey:new Map,currentFlowKey:"",itemSlackAttachY:new Map,slackCorridors:[],markerRowPlacements:_t,chartTopY:J+Xe,chartBottomY:0,swimlaneBottomY:0,chartRightX:Z};for(let K of pe){let ue=_t.get(K.id);ue&&(H.entityLeftEdges.set(K.id,K.centerX),H.entityRightEdges.set(K.id,K.centerX),H.entityMidpoints.set(K.id,{x:K.centerX,y:ue.centerY}))}let Cr=_E(r.content.footnotes,H,0);H.footnoteIndex=Cr.index,H.footnoteHosts=Cr.hosts;let _r=new Map(H.entityLeftEdges),Or=new Map(H.entityRightEdges),cs=new Map(H.entityMidpoints),_e=[...r.content.swimlanes.values()],Lr=yt("swimlane",[],d),Qi=oN[Lr.spacing]??0,In=()=>{let K=[],ue=H.chartTopY,ze=0,Dr=H.timeline.originX;for(let vr of _e){ze>0&&(ue+=Qi);let{positioned:nf,usedHeight:YE,usedRightX:ne}=new xc({lane:vr,bandIndex:ze},i).place({x:H.timeline.originX,y:ue},H);K.push(nf),ue+=YE,ne>Dr&&(Dr=ne),ze++}return{swimlanes:K,nextY:ue,maxRightX:Dr}},Er=In(),jt=Er.swimlanes,At=Er.nextY,x=dG(r.content.milestones,H);x.length>0&&(H.entityLeftEdges=new Map(_r),H.entityRightEdges=new Map(Or),H.entityMidpoints=new Map(cs),H.itemSlackAttachY=new Map,H.entityVisualLeftX=new Map,H.entityVisualRightX=new Map,H.itemArrowSource=new Map,H.itemFlowKey=new Map,H.currentFlowKey="",H.slackCorridors=x,Er=In(),jt=Er.swimlanes,At=Er.nextY),fG(H,Er.maxRightX+Qr);for(let K of jt)K.box.width=H.chartRightX;let C=r.content.isolatedRegions,j=[];if(C.length>0){let K=NP(C,H,At+8,i);j=K.regions,At=K.endY}H.chartBottomY=At,H.swimlaneBottomY=At,ve.box.height=H.chartBottomY-ve.box.y;let Y=CP(r.content.milestones,H),$e=pe.map(K=>({id:K.id,centerX:K.centerX,radius:K.radius,title:K.title,fontSize:K.fontSize,bold:K.bold}));for(let K of Y)K.fixed||$e.push({id:K.id??"",centerX:K.center.x,radius:K.radius,title:K.title,fontSize:10,bold:!0});let Pe=LP($e,B,H.chartRightX,i.estimateTextWidth);H.markerRowPlacements.clear();for(let[K,ue]of Pe.placements){let ze=P+13+ue.rowIndex*26;H.markerRowPlacements.set(K,{rowIndex:ue.rowIndex,centerY:ze,labelBox:{...ue.labelBox,y:ze-4},labelSide:ue.labelSide})}for(let K of Y){let ue=H.markerRowPlacements.get(K.id??"");ue&&(K.center={x:K.center.x,y:ue.centerY},K.labelBox=ue.labelBox,K.labelSide=ue.labelSide)}for(let K of pe){let ue=H.markerRowPlacements.get(K.id);ue&&H.entityMidpoints.set(K.id,{x:K.centerX,y:ue.centerY})}for(let K of Y)K.fixed||H.entityMidpoints.set(K.id??"",{x:K.center.x,y:K.center.y});let qe=M?Math.max(1,Pe.rowCount):0;if(qe>te){let K=(qe-te)*26;H.timeline.markerRow.height=qe*26,H.timeline.box.height+=K,H.chartTopY+=K,H.chartBottomY+=K,H.swimlaneBottomY+=K;for(let ue of jt)vE(ue,K);for(let ue of j)pG(ue,K);for(let[ue,ze]of H.entityMidpoints)H.markerRowPlacements.has(ue)||H.entityMidpoints.set(ue,{x:ze.x,y:ze.y+K});for(let[ue,ze]of H.itemSlackAttachY)H.itemSlackAttachY.set(ue,ze+K);for(let ue of Y)if(ue.cutTopY=H.chartTopY,ue.cutBottomY=H.swimlaneBottomY,ue.slackArrows)for(let ze of ue.slackArrows)ze.y+=K}_&&(H.timeline.bottomTickPanelY=H.chartBottomY+8,H.timeline.bottomTickPanelHeight=ku,H.chartBottomY+=8+ku);let Ze=new Set(Y.map(K=>K.center.x)),ge=bP(r.content.anchors,H,Ze),Ue=i.collectItems(_e),Ae=i.buildDependencies(Ue,jt,j,H),Je=i.buildNowline(n.today,H,c),st=_E(r.content.footnotes,H,H.chartBottomY);H.footnoteIndex=st.index,H.footnoteHosts=st.hosts,k.height=k.height||H.chartBottomY,v||(k.width=H.chartRightX);let Qt=v?{x:6,y:we-D.cardHeight,width:D.cardWidth,height:D.cardHeight}:{x:0,y:0,width:H.chartRightX,height:Sh},ls=st.area.entries.length>0?st.area.box.y+st.area.box.height:H.chartBottomY,tf={x:H.chartRightX-Qr-j_,y:ls+Qr,width:j_,height:uN},er=tf.y+tf.height+Qr,on={box:k,position:g.headerPosition,title:E,author:I,titleLines:D.titleLines,authorLines:D.authorLines,cardBox:Qt,logo:void 0,style:g,attributionBox:tf};return{width:H.chartRightX,height:er,theme:o,palette:s,backgroundColor:s.surface.page,header:on,timeline:ve,nowline:Je,swimlanes:jt,anchors:ge,milestones:Y,edges:Ae,footnotes:st.area,includes:j,chartBox:{x:B,y:H.chartTopY,width:H.chartRightX-B,height:H.chartBottomY-H.chartTopY}}}};function dG(t,e){let r=[];for(let[n,i]of t){let o=ae(i.properties,"date"),s=gt(i.properties,"after"),a=Rt(o),c=em(s,e),l=tm(c);if(a){let f=e.scale.forwardWithinDomain(a);if(f===null)continue;let d=null;for(let p of l)(!d||p.x>d.x)&&(d=p);d&&d.x>f&&d.y>0&&r.push({xStart:Math.min(d.x,f),xEnd:Math.max(d.x,f),y:d.y,slackPredId:d.ref,milestoneId:n});continue}if(l.length===0)continue;l.sort((f,d)=>d.x-f.x);let u=l[0].x;for(let f=1;f<l.length;f++){let d=l[f];d.x<u&&d.y>0&&r.push({xStart:d.x,xEnd:u,y:d.y,slackPredId:d.ref,milestoneId:n})}}return r}function vE(t,e){t.box.y+=e;for(let r of t.children)DP(r,e);for(let r of t.nested)vE(r,e)}function DP(t,e){if(t.box.y+=e,t.kind==="item"){t.overflowBox&&(t.overflowBox.y+=e);for(let r of t.labelChips)r.box.y+=e;return}for(let r of t.children)DP(r,e)}function pG(t,e){t.box.y+=e;for(let r of t.nestedSwimlanes)vE(r,e)}function LP(t,e,r,n){let i=[...t].sort((a,c)=>a.centerX-c.centerX),o=new Map,s=[];for(let a of i){let c=n(a.title,a.fontSize)*(a.bold?1.05:1),l=a.centerX+a.radius+6,u=a.centerX-a.radius-6-c,f=l+c<=r,d=u>=e,p=a.centerX-a.radius,m=a.centerX+a.radius,g=B=>B==="right"?l:u,v=B=>B==="right"?f:d,T=(B,U)=>{let z=Math.min(p,B),le=Math.max(m,B+c);return s[U].some(O=>O.left<le&&O.right>z)},_=-1,E="right",I=l;e:for(let B=s.length-1;B>=0;B--)for(let U of["right","left"]){if(!v(U))continue;let z=g(U);if(!T(z,B)){_=B,E=U,I=z;break e}}if(_===-1){for(let[B,U]of o)o.set(B,{...U,rowIndex:U.rowIndex+1});s=[[],...s],_=0,E=f?"right":"left",I=g(E)}let D=Math.min(p,I),k=Math.max(m,I+c);s[_].push({left:D,right:k}),o.set(a.id,{rowIndex:_,labelBox:{x:I,y:0,width:c,height:12},labelSide:E})}return{placements:o,rowCount:s.length}}function hG(t){return t.directive?.properties.find(r=>mG(r.key)==="locale")?.value}function mG(t){return t.endsWith(":")?t.slice(0,-1):t}function TG(t){switch(t){case"done":case"completed":return"done";case"in-progress":case"active":return"in-progress";case"at-risk":case"blocked":case"planned":return t;case void 0:return"planned";default:return"neutral"}}function _G(t){if(!t)return 0;let e=/^(\d{1,3})%$/.exec(t);return e?Math.max(0,Math.min(100,parseInt(e[1],10)))/100:0}function EG(t,e){if(t)return/^\d+(?:\.\d+)?[dwmqy]$/.test(t)||/^\d+%$/.test(t)?t:e.sizes.get(t)?.effortLiteral??t}function vG(t,e){if(t)return e.teams.get(t)?.title??e.persons.get(t)?.title??t}function RG(t){if(!t)return{icon:"none"};let e=t.toLowerCase();return e.includes("linear.app")?{icon:"linear",href:t}:e.includes("github.com")?{icon:"github",href:t}:e.includes("atlassian.net")||e.includes("jira.")?{icon:"jira",href:t}:{icon:"generic",href:t}}function im(t,e,r,n,i){let o=iN(t,e),s=t.name??t.title??"",a=o.padding==="none"?"xs":o.padding,c=sN[a],l=Math.max(20,Math.round(s.length*5.5+c*2));return i!==void 0&&(l=Math.min(l,i)),{text:s,style:o,box:{x:r,y:n,width:l,height:13}}}function IE(t,e,r,n){let i=t.properties,o=yt("item",i,r.styleCtx),s=ae(i,"size"),a=s?r.sizes.get(s)??null:null,c=zi(i,r.sizes,r.cal),l=zk(i,r.sizes,r.cal),u=gt(i,"after"),f=gt(i,"before"),d=ae(i,"date"),p=jk(ae(i,"remaining"),r.sizes,r.cal),m=e.x,g=Rt(d);if(g){let ne=r.scale.forwardWithinDomain(g);ne!==null&&(m=ne)}else if(u.length>0){let ne=e.x;for(let We of u){let Et=Rt(We);if(Et){let ni=r.scale.forwardWithinDomain(Et);ni!==null&&(ne=Math.max(ne,ni));continue}let kn=r.entityRightEdges.get(We);kn!==void 0&&(ne=Math.max(ne,kn))}m=Math.max(e.x,ne)}let v=Math.max(Pr,c*r.timeline.pixelsPerDay),T=m,_=m+v,E=ae(i,"link"),I=RG(E),D=I.icon!=="none",k=Math.max(Pr,v-2*Jr),B=gt(i,"labels"),U=[];for(let ne of B){let We=r.labels.get(ne);if(!We)continue;let Et=im(We,r.styleCtx,0,0);U.push({id:We,width:Et.box.width})}let z=0;for(let ne=0;ne<U.length;ne+=1)ne>0&&(z+=4),z+=U[ne].width;let le=Math.max(0,k-24),O=U.length>0&&z>le,R=!1,L,$;if(f.length>0){let ne,We;for(let Et of f){let kn=Rt(Et),ni=kn?r.scale.forwardWithinDomain(kn)??void 0:r.entityLeftEdges.get(Et);ni!==void 0&&(ne===void 0||ni<ne)&&(ne=ni,We=Et)}ne!==void 0&&_>ne&&(R=!0,L={x:ne,y:e.y,width:_-ne,height:r.bandScale.bandwidth()},$=We)}let w=ae(i,"status"),A=TG(w),S=_G(w);S===0&&A==="done"&&(S=1);let M=/^(\d{1,3})%$/.exec(ae(i,"remaining")??"");S===0&&A==="in-progress"&&M&&(S=1-Math.max(0,Math.min(100,parseInt(M[1],10)))/100),S===0&&A==="in-progress"&&p>0&&l>0&&(S=Math.max(0,Math.min(1,1-p/l)));let X={done:"#ecfdf5","in-progress":"#eff6ff","at-risk":"#fffbeb",blocked:"#fee2e2",planned:"#f8fafc",neutral:"#f8fafc"},F={done:"#052e16","in-progress":"#172554","at-risk":"#422006",blocked:"#7f1d1d",planned:"#1e293b",neutral:"#1e293b"},W={done:"#ebebeb","in-progress":"#e4e4e4","at-risk":"#eeeeee",blocked:"#dcdcdc",planned:"#f5f5f5",neutral:"#f5f5f5"},Z={done:r.styleCtx.theme.status.done,"in-progress":r.styleCtx.theme.status.inProgress,"at-risk":r.styleCtx.theme.status.atRisk,blocked:r.styleCtx.theme.status.blocked,planned:r.styleCtx.theme.status.planned,neutral:r.styleCtx.theme.status.neutral},pe=r.styleCtx.theme.name,V=pe==="dark",te=V?"#0f172a":"#ffffff",De=pe==="grayscale"?"#9e9e9e":"#94a3b8";o.bg===te&&(o.bg=pe==="grayscale"?W[A]:V?F[A]:X[A]),o.fg===De&&(o.fg=Z[A]);let Ne=ae(i,"duration"),Xe=!!Ne&&/^\d+(?:\.\d+)?[dwmqy]$/.test(Ne),q=a?a.title??a.name:"",J=Xe?Ne:q||void 0,re=ae(i,"remaining"),P=EG(re,r),we=vG(n??ae(i,"owner"),r),me=()=>[J,we].filter(Boolean).join(" "),ve;if(A==="in-progress"&&P){let ne=me();ve=ne?`${ne} \u2014 ${P} remaining`:`${P} remaining`}else if(A==="in-progress"&&S>0&&S<1){let ne=Math.round((1-S)*100),We=me();ve=We?`${We} \u2014 ${ne}% remaining`:`${ne}% remaining`}else(we||J)&&(ve=me()||void 0);let _t=ae(i,"capacity"),H=ji(_t),Cr=null,_r=0;if(H!==null){let ne=Eu(H),We=vu(o.capacityIcon,r.symbols);Cr={value:H,text:ne,icon:We};let Et=11;_r=(ve?Sn(" ",Et):0)+Vo(ne,We,Et)}let Or=t.title??t.name??"",cs=new Ch({id:t.name??"",title:Or,logicalLeftX:T,logicalRightX:_,metaText:ve,metaTrailingWidth:_r,hasLinkIcon:D}).place({x:T,y:e.y},{time:r.scale,bands:r.bandScale,style:o}),_e=cs.box,Lr=r.bandScale.bandwidth(),Qi=_e.width<17,In=D&&_e.width<41,Er=_e.width<23,jt=cs.textSpills||In,At=null;O&&(At=R_(U,_e.width));let x=At?At.rows.length:U.length>0?1:0,C=ve!==void 0||Cr!==null,j=BP(O,jt,x,Lr,C);j>0&&(_e.height=Lr+j);let Y=[],$e=_e.y+Lr-Rn-13-3,Pe=_e.y+38+3,Ze=O&&jt||!O&&C&&U.length>0?Math.max($e,Pe):$e,ge=O?_e.x+_e.width+6:_e.x+12,Ue=ge;if(At)for(let ne=0;ne<At.rows.length;ne+=1){let We=Ze+ne*17,Et=ge;for(let ni of At.rows[ne]){let KE=im(ni.id,r.styleCtx,Et,We);Y.push(KE),Et+=KE.box.width+4}let kn=Et-4;kn>Ue&&(Ue=kn)}else{let ne=ge;for(let We of U){let Et=im(We.id,r.styleCtx,ne,Ze);Y.push(Et),ne+=Et.box.width+4}Ue=U.length>0?ne-4:ge}let Ae=new Set;if(t.name){for(let[ne,We]of r.footnoteHosts.entries())if(We.includes(t.name)){let Et=r.footnoteIndex.get(ne);Et!==void 0&&Ae.add(Et)}}let Je=[...Ae].sort((ne,We)=>ne-We),st=we??n??ae(i,"owner"),Qt=t.description?.text,ls=Je.length>0&&Er,er=_e.x+_e.width+6,on=!1,rf=null;In&&(on&&(er+=4),rf=er,er=rf+14,on=!0);let K=0;if(jt){on&&(er+=4);let ne=Sn(Or,13),We=(ve?Sn(ve,11):0)+_r;K=Math.max(ne,We),er+=K,on=!0}let ue=null;ls&&(on&&(er+=4),ue=er,er+=Je.length*8,on=!0);let ze=null;Qi&&(on&&(er+=4),ze=er+5,er=ze+5,on=!0);let Dr=Math.max(_e.x+_e.width,er),vr=t.name;if(vr){r.entityLeftEdges.set(vr,T),r.entityRightEdges.set(vr,_),r.entityMidpoints.set(vr,{x:(T+_)/2,y:_e.y+_e.height/2}),r.entityVisualLeftX.set(vr,_e.x),r.entityVisualRightX.set(vr,_e.x+_e.width);let ne=jt?{x:_e.x+_e.width,y:_e.y+_e.height-Rn/2}:{x:_e.x+_e.width,y:_e.y+_e.height/2};r.itemArrowSource.set(vr,ne),r.itemFlowKey.set(vr,r.currentFlowKey);let We=jt?_e.y+_e.height-Rn/2:_e.y+_e.height/2;r.itemSlackAttachY.set(vr,We)}e.x=_,e.maxX=Math.max(e.maxX,e.x),e.height=Math.max(e.height,r.bandScale.step()+j);let nf=Jk({box:_e,afterDate:Vn(u),beforeDate:Vn(f),hasLinkIcon:D,footnoteCount:Je.length});return{kind:"item",id:vr,title:Or,box:_e,status:A,progressFraction:S,footnoteIndicators:Je,labelChips:Y,chipsOutside:O,chipsRightX:Ue,linkIcon:I.icon,linkHref:I.href,hasOverflow:R,overflowBox:L,overflowAnchorId:$,owner:st,description:Qt,metaText:ve,textSpills:jt,dotSpills:Qi,iconSpills:In,footnoteSpills:ls,dotSpillCx:ze,iconSpillX:rf,footnoteSpillStartX:ue,decorationsRightX:Dr,capacity:Cr,size:a,style:o,inlineDatePins:nf.length>0?nf:void 0}}function bG(t,e,r){return new Oh(t,{sequenceOne:kE,newCursor:Th}).place(e,r)}function wG(t,e,r){return new Ph(t,{sequenceItem:IE,sequenceOne:kE,resolveChildStart:XP,newCursor:Th,estimateTextWidth:Sn,predictItemChipExtraHeight:GP}).place(e,r)}function kE(t,e,r){if(yr(t))return IE(t,e,r);if(Vr(t))return bG(t,e,r);if(Wr(t))return wG(t,e,r);throw new Error(`Unknown swimlane child type: ${t.$type??"unknown"}`)}function Sn(t,e){return t.length*e*.58}function BP(t,e,r,n,i){if(r===0)return 0;let o=n-Rn-13-3,s=41,a;t&&e?a=s:!t&&i?a=Math.max(o,s):a=o;let l=a+(r-1)*17+13+3+Rn;return Math.max(0,l-n)}function GP(t,e){let r=t.properties,n=gt(r,"labels");if(n.length===0)return 0;let i=zi(r,e.sizes,e.cal),o=Math.max(Pr,i*e.timeline.pixelsPerDay),s=Math.max(Pr,o-2*Jr),a=[];for(let T of n){let _=e.labels.get(T);if(!_)continue;let E=im(_,e.styleCtx,0,0);a.push({id:_,width:E.box.width})}if(a.length===0)return 0;let c=0;for(let T=0;T<a.length;T+=1)T>0&&(c+=4),c+=a[T].width;let l=Math.max(0,s-24),u=c>l,f=ae(r,"duration")!==void 0||ae(r,"size")!==void 0||ae(r,"owner")!==void 0||ae(r,"remaining")!==void 0||ae(r,"capacity")!==void 0,d=t.title??t.name??"",m=(d?Sn(d,13):0)>l,g=u?R_(a,s):null,v=g?g.rows.length:a.length>0?1:0;return BP(u,m,v,e.bandScale.bandwidth(),f)}function XP(t,e,r,n){let i=Rt(ae(t,"date"))??Rt(ae(t,"start"));if(i){let s=n.scale.forwardWithinDomain(i);if(s!==null)return s}let o=gt(t,"after");if(o.length>0){let s=r;for(let a of o){let c=Rt(a);if(c){let u=n.scale.forwardWithinDomain(c);u!==null&&(s=Math.max(s,u));continue}let l=n.entityRightEdges.get(a);l!==void 0&&(s=Math.max(s,l))}return Math.max(r,s)}return e}var RE=6;function $P(t,e,r){if(!t)return[];let n=t.split(/\s+/).filter(s=>s.length>0);if(n.length===0)return[];let i=[],o="";for(let s of n){let a=o?`${o} ${s}`:s;o&&Sn(a,r)>e?(i.push(o),o=s):o=a}return o&&i.push(o),i}function AG(t,e){let r=U_-32,n=$P(t,r,16),i=$P(e??"",r,11),o=0;for(let d of n)o=Math.max(o,Sn(d,16));for(let d of i)o=Math.max(o,Sn(d,11));let s=o+32,a=Math.max(cN-RE,Math.min(U_-RE,s)),c=n.length>0?(n.length-1)*20:0,l=i.length>0?18+(i.length-1)*14:0,u=26+c+l+14,f=a+RE;return{titleLines:n,authorLines:i,cardWidth:a,cardHeight:u,boxWidth:f}}function SG(t,e,r,n,i){let s=t.roadmapDecl?.properties??[],a=ae(s,"start"),c=Rt(a)??IG(n),l=ae(s,"length");if(l){let p=kG(l,e.cal);if(p>0)return{startDate:c,endDate:Yo(c,p)}}let u=HP(r,e,c,n),f=vP(i.unit,e.cal),d=u>0?Math.ceil(u/f)*f:4*e.cal.daysPerWeek;return{startDate:c,endDate:Yo(c,Math.max(1,d))}}function IG(t){let e=t??new Date;return new Date(Date.UTC(e.getUTCFullYear(),e.getUTCMonth(),e.getUTCDate()))}function kG(t,e){let r=/^(\d+(?:\.\d+)?)([dwmqy])$/.exec(t);if(!r)return 0;let n=parseFloat(r[1]);switch(r[2]){case"d":return n;case"w":return n*e.daysPerWeek;case"m":return n*e.daysPerMonth;case"q":return n*e.daysPerQuarter;case"y":return n*e.daysPerYear;default:return 0}}function HP(t,e,r,n){let i=new Map,o=new Map,s=new Map,a=0,c=f=>{let d=Rt(f);return d?Nr(r,d):i.has(f)?i.get(f):o.has(f)?o.get(f):s.has(f)?s.get(f):0};for(let f of t.content.anchors.values()){let d=Rt(ae(f.properties,"date"));if(d&&f.name){let p=Nr(r,d);o.set(f.name,p),a=Math.max(a,p)}}let l=(f,d)=>{let p=d;for(let m of f)m.$type!=="DescriptionDirective"&&(p=u(m,p),a=Math.max(a,p));return p},u=(f,d)=>{if(yr(f)){let p=zi(f.properties,e.sizes,e.cal),m=Rt(ae(f.properties,"date")),g=Rt(ae(f.properties,"start")),v=gt(f.properties,"after"),T=d;m?T=Nr(r,m):g?T=Nr(r,g):v.length>0&&(T=Math.max(d,...v.map(c)));let _=T+p;return f.name&&i.set(f.name,_),_}if(Vr(f)){let p=gt(f.properties,"after"),m=p.length>0?Math.max(d,...p.map(c)):d,g=m;for(let v of f.content){if(v.$type==="DescriptionDirective")continue;let T=u(v,m);g=Math.max(g,T)}return g}if(Wr(f)){let p=gt(f.properties,"after"),m=p.length>0?Math.max(d,...p.map(c)):d;return l(f.content,m)}return d};for(let f of t.content.swimlanes.values())l(f.content,0);for(let f of t.content.milestones.values()){let d=Rt(ae(f.properties,"date"));if(d){let m=Nr(r,d);f.name&&s.set(f.name,m),a=Math.max(a,m);continue}let p=gt(f.properties,"after");if(p.length>0){let m=Math.max(0,...p.map(c));f.name&&s.set(f.name,m),a=Math.max(a,m)}}for(let f of t.content.isolatedRegions){let d=HP({config:f.config,content:f.content,diagnostics:[],processedFiles:new Set},e,r,void 0);a=Math.max(a,d)}if(n){let f=Nr(r,n);f>0&&(a=Math.max(a,f))}return a}function NG(t,e,r,n){let i=new mh(qk(e,r)),o=[],s=[];for(let[l,u]of t){let f=gt(u.properties,"after"),d=n.entityMidpoints.get(l),p=n.entityVisualLeftX.get(l);if(!d||p===void 0)continue;let m={x:p,y:d.y};for(let g of f){let v=n.itemArrowSource.get(g),T,_=v===void 0;if(v)T=v;else{let E=n.entityMidpoints.get(g);if(!E)continue;T={x:E.x,y:d.y}}!_&&Math.abs(T.y-m.y)<.5&&m.x-T.x<20||(o.push({fromId:g,toId:l,from:T,to:m,isMarkerSource:_}),s.push({fromId:g,toId:l}))}}let a=Wk(o,i),c=[];for(let l=0;l<a.length;l++){let u=a[l];c.push({fromId:s[l].fromId,toId:s[l].toId,waypoints:u.waypoints,kind:u.underBar?"underBar":"normal",style:yt("item",[],n.styleCtx)})}return c}function PG(t,e,r){if(!t)return null;let n=e.scale.forwardWithinDomain(t);if(n===null)return null;let i=e.timeline.box.y,o=e.timeline.tickPanelY,s=gh(r).nowLabel,a=Sn(s,Cu),c=Math.max($_,Math.ceil(a+2*sc)),l=e.timeline.originX-Qr,u=c/2,f;n-u<l?f="flag-right":n+u>e.chartRightX?f="flag-left":f="center";let d=e.timeline.bottomTickPanelY,p=e.timeline.bottomTickPanelHeight??0,m=d!==void 0&&p>0?d+p:e.swimlaneBottomY;return{x:n,topY:o,bottomY:m,pillTopY:i,pillMode:f,label:s,pillWidth:c,style:yt("item",[],e.styleCtx)}}function CG(t){let e=new Map,r=n=>{if(yr(n)){n.name&&e.set(n.name,n);return}if(Vr(n)){for(let i of n.content)i.$type!=="DescriptionDirective"&&r(i);return}if(Wr(n)){for(let i of n.content)i.$type!=="DescriptionDirective"&&r(i);return}};for(let n of t)for(let i of n.content)i.$type!=="DescriptionDirective"&&r(i);return e}function NE(t,e,r={}){return new nm().place(t,e,r,{sequenceItem:IE,sequenceOne:kE,resolveChildStart:XP,newCursor:Th,estimateTextWidth:Sn,predictItemChipExtraHeight:GP,computeDateWindow:SG,sizeBesideHeader:AG,collectItems:CG,buildDependencies:NG,buildNowline:PG})}var Ji={person:{viewBox:"0 0 24 24",body:'<circle cx="12" cy="8" r="4" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/><path d="M4 21a8 8 0 0 1 16 0" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>',ascii:"p"},people:{viewBox:"0 0 24 24",body:'<path d="M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/><circle cx="9" cy="7" r="4" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/><path d="M22 21v-2a4 4 0 0 0-3-3.87" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/><path d="M16 3.13a4 4 0 0 1 0 7.75" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>',ascii:"P"},points:{viewBox:"0 0 24 24",body:'<polygon points="12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2" fill="currentColor" stroke="currentColor" stroke-width="1" stroke-linejoin="round"/>',ascii:"*"},time:{viewBox:"0 0 24 24",body:'<line x1="10" x2="14" y1="2" y2="2" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/><line x1="12" x2="15" y1="14" y2="11" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/><circle cx="12" cy="14" r="8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>',ascii:"t"}},OG={calendar:{viewBox:"0 0 24 24",body:'<rect x="3" y="4" width="18" height="18" rx="2" ry="2" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/><line x1="16" x2="16" y1="2" y2="6" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/><line x1="8" x2="8" y1="2" y2="6" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/><line x1="3" x2="21" y1="10" y2="10" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>',ascii:"d"}},jP={...Ji,...OG};var xse={none:"",multiplier:"x",person:Ji.person.ascii,people:Ji.people.ascii,points:Ji.points.ascii,time:Ji.time.ascii};var lm=class{constructor(e="nl"){de(this,"prefix");de(this,"counter",0);this.prefix=e}next(e){let r=`${this.prefix}-${this.counter++}`;return e?`${r}-${e}`:r}};var LG=new Set(["svg","g","defs","symbol","use","path","rect","circle","ellipse","line","polyline","polygon","text","tspan","title","desc","linearGradient","radialGradient","stop","clipPath","mask","pattern","filter","feGaussianBlur","feColorMatrix","feOffset","feMerge","feMergeNode","feFlood","feComposite","feBlend","feDropShadow","image"]),DG=new Set(["d","x","y","x1","y1","x2","y2","cx","cy","r","rx","ry","width","height","viewBox","preserveAspectRatio","fill","fill-opacity","fill-rule","stroke","stroke-width","stroke-opacity","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-dasharray","stroke-dashoffset","opacity","transform","points","id","class","clip-path","mask","filter","font-family","font-size","font-weight","font-style","text-anchor","dx","dy","rotate","letter-spacing","word-spacing","style","xmlns","href","xlink:href","offset","stop-color","stop-opacity","gradientUnits","gradientTransform","spreadMethod","maskUnits","maskContentUnits","stdDeviation","values","in","in2","mode","type","result","flood-color","flood-opacity","patternUnits","patternContentUnits","role","aria-label"]);function $G(t){let e=[],r=0,n=t.length;for(;r<n;){if(t[r]!=="<"){let u=r;for(;r<n&&t[r]!=="<";)r++;let f=t.slice(u,r);f.trim().length>0?e.push({kind:"text",text:f}):f.length>0&&e.push({kind:"text",text:f});continue}if(t.startsWith("<!--",r)){let u=t.indexOf("-->",r+4);if(u<0)break;e.push({kind:"comment",text:t.slice(r+4,u)}),r=u+3;continue}if(t.startsWith("<![CDATA[",r)){let u=t.indexOf("]]>",r+9);if(u<0)break;e.push({kind:"cdata",text:t.slice(r+9,u)}),r=u+3;continue}if(t.startsWith("<?",r)){let u=t.indexOf("?>",r+2);if(u<0)break;e.push({kind:"decl",text:t.slice(r+2,u)}),r=u+2;continue}if(t.startsWith("<!",r)){let u=t.indexOf(">",r+2);if(u<0)break;e.push({kind:"decl",text:t.slice(r+2,u)}),r=u+1;continue}if(t[r+1]==="/"){let u=t.indexOf(">",r+2);if(u<0)break;let f=t.slice(r+2,u).trim();e.push({kind:"close",name:f}),r=u+1;continue}let i=MG(t,r);if(i<0)break;let o=t.slice(r+1,i).trim(),s=o.endsWith("/"),a=s?o.slice(0,-1).trim():o,{name:c,attrs:l}=FG(a);e.push({kind:s?"self":"open",name:c,attrs:l}),r=i+1}return e}function MG(t,e){let r=e+1,n=null;for(;r<t.length;){let i=t[r];if(n)i===n&&(n=null);else if(i==='"'||i==="'")n=i;else if(i===">")return r;r++}return-1}function FG(t){let e=0;for(;e<t.length&&/\s/.test(t[e]);)e++;let r=e;for(;e<t.length&&!/\s/.test(t[e]);)e++;let n=t.slice(r,e),i={};for(;e<t.length;){for(;e<t.length&&/\s/.test(t[e]);)e++;if(e>=t.length)break;let o=e;for(;e<t.length&&t[e]!=="="&&!/\s/.test(t[e]);)e++;let s=t.slice(o,e);if(e>=t.length||t[e]!=="="){s&&(i[s]="");continue}if(e++,e>=t.length)break;let a=t[e];if(a!=='"'&&a!=="'"){let l=e;for(;e<t.length&&!/\s/.test(t[e]);)e++;i[s]=t.slice(l,e);continue}e++;let c=e;for(;e<t.length&&t[e]!==a;)e++;i[s]=t.slice(c,e),e<t.length&&e++}return{name:n,attrs:i}}function Ku(t){return t.replace(/&/g,"&").replace(/"/g,""").replace(/</g,"<").replace(/>/g,">")}function UG(t,e){if(t.startsWith("#")){let r=e.get(t.slice(1));return r?`#${r}`:null}if(/^url\(#[^)]+\)$/.test(t)){let r=t.slice(5,-1),n=e.get(r);return n?`url(#${n})`:null}return null}function zP(t,e={}){let r=e.idPrefix??"nl-logo",n=e.onWarn??(()=>{}),i=$G(t),o=new Map,s=0;for(let l of i)if((l.kind==="open"||l.kind==="self")&&l.attrs&&"id"in l.attrs){let u=l.attrs.id;u&&!o.has(u)&&o.set(u,`${r}-${s++}`)}let a=[],c=[];for(let l of i)if(l.kind!=="comment"&&l.kind!=="decl"){if(l.kind==="cdata"){c[c.length-1]&&a.push(Ku(l.text??""));continue}if(l.kind==="text"){if(c.length===0||c[c.length-1]){let u=(l.text??"").replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">");a.push(u)}continue}if(l.kind==="open"||l.kind==="self"){let u=l.name??"";if(u==="script"||u==="foreignObject"||u==="animate"||u==="animateTransform"||u==="animateMotion"||u==="set"){n(`sanitizer: dropping <${u}>`),l.kind==="open"&&c.push(!1);continue}if(!LG.has(u)){n(`sanitizer: dropping unknown element <${u}>`),l.kind==="open"&&c.push(!1);continue}let f=[`<${u}`],d=Object.keys(l.attrs??{}).sort();for(let p of d){let m=l.attrs[p];if(/^on/i.test(p)){n(`sanitizer: dropping event handler ${p}`);continue}if(!DG.has(p)){n(`sanitizer: dropping attribute ${p}`);continue}if(p==="href"||p==="xlink:href"){let g=UG(m,o);if(g===null){n(`sanitizer: dropping external href ${m}`);continue}f.push(` ${p}="${Ku(g)}"`);continue}if(p==="style"){n("sanitizer: dropping inline style");continue}if(p==="id"){let g=o.get(m);g&&f.push(` id="${Ku(g)}"`);continue}if(/\burl\(#/i.test(m)){let g=m.replace(/url\(#([^)]+)\)/gi,(v,T)=>{let _=o.get(T);return _?`url(#${_})`:"none"});f.push(` ${p}="${Ku(g)}"`);continue}if(/data:|javascript:|vbscript:/i.test(m)){n(`sanitizer: dropping suspicious value at ${p}`);continue}f.push(` ${p}="${Ku(m)}"`)}f.push(l.kind==="self"?"/>":">"),a.push(f.join("")),l.kind==="open"&&c.push(!0);continue}l.kind==="close"&&c.pop()&&a.push(`</${l.name}>`)}return a.join("")}var qP=/&/g,WP=/</g,VP=/>/g,BG=/"/g,GG=/'/g;function lr(t){return t.replace(qP,"&").replace(WP,"<").replace(VP,">")}function ei(t){return t.replace(qP,"&").replace(WP,"<").replace(VP,">").replace(BG,""").replace(GG,"'")}function Ec(t){let e=Object.keys(t).sort(),r=[];for(let n of e){let i=t[n];i==null||i===!1||(i===!0?r.push(n):r.push(`${n}="${ei(String(i))}"`))}return r.length?` ${r.join(" ")}`:""}function Q(t,e,r){return r===void 0||r===""?`<${t}${Ec(e)}/>`:`<${t}${Ec(e)}>${r}</${t}>`}function Le(t,e){return`<text${Ec(t)}>${lr(e)}</text>`}function h(t){return Number.isFinite(t)?Number.isInteger(t)?t.toString():(Math.round(t*100)/100).toString():"0"}var XG={none:{dx:0,dy:0,stdDeviation:0,opacity:0},subtle:{dx:0,dy:1,stdDeviation:1.5,opacity:.2},soft:{dx:0,dy:3,stdDeviation:5,opacity:.3},hard:{dx:2,dy:2,stdDeviation:0,opacity:.45}};function HG(t,e){let r=`${t}-shadow-${e}`,n=XG[e],i=`<feGaussianBlur in="SourceAlpha" stdDeviation="${n.stdDeviation}"/><feOffset dx="${n.dx}" dy="${n.dy}" result="offsetblur"/><feComponentTransfer><feFuncA type="linear" slope="${n.opacity}"/></feComponentTransfer><feMerge><feMergeNode/><feMergeNode in="SourceGraphic"/></feMerge>`;return Q("filter",{id:r,x:"-50%",y:"-50%",width:"200%",height:"200%"},i)}function YP(t,e){return e==="none"?null:`url(#${t}-shadow-${e})`}function KP(t){return["subtle","soft","hard"].map(e=>HG(t,e)).join("")}var VG={thin:100,light:300,normal:400,bold:700};function YG(t){return ic[t]??14}function CE(t,e){return{"font-family":je[t.font],"font-size":e??YG(t.textSize),"font-weight":VG[t.weight]??400,"font-style":t.italic?"italic":"normal",fill:t.text}}function KG(t){if(t.border==="dashed")return"4 3";if(t.border==="dotted")return"1 3"}function ZG(t){if(!t||t==="none"||t==="transparent")return 1;let e=t.startsWith("#")?t.slice(1):t;if(e.length===3&&(e=e.split("").map(s=>s+s).join("")),e.length!==6)return 1;let r=parseInt(e.slice(0,2),16)/255,n=parseInt(e.slice(2,4),16)/255,i=parseInt(e.slice(4,6),16)/255,o=s=>s<=.03928?s/12.92:((s+.055)/1.055)**2.4;return .2126*o(r)+.7152*o(n)+.0722*o(i)}function JG(t,e){return ZG(t)>=.24?e.statusDot.onLight:e.statusDot.onDark}function PE(t,e){return t.length*e*.58}function eC(t,e,r,n,i,o,s){let a=i*.58,c=e?PE(e,i):0,l=e?a:0,u=r+c+l,{text:f,icon:d}=t,p=PE(f,i),m={"font-family":o,"font-size":i,fill:s};if(!d)return Le({x:h(u),y:h(n),...m},f);if(d.kind==="builtin"&&d.name==="multiplier")return Le({x:h(u),y:h(n),...m},`${f}\xD7`);if(d.kind==="builtin"){let v=Ji[d.name],T=Le({x:h(u),y:h(n),...m},f),_=i*.1,E=i,I=u+p+_,D=n-i*.85,k=`<svg x="${h(I)}" y="${h(D)}" width="${h(E)}" height="${h(E)}" viewBox="${v.viewBox}" style="color:${ei(s)}" aria-hidden="true">${v.body}</svg>`;return T+k}let g=h(i*.1);return`<text x="${h(u)}" y="${h(n)}" font-family="${ei(o)}" font-size="${i}" fill="${ei(s)}">${lr(f)}<tspan dx="${g}">${lr(d.text)}</tspan></text>`}var ZP=.6,QG=.5;function eX(t){let{metaText:e,capacity:r,x:n,baselineY:i,fontSize:o,fontFamily:s,color:a}=t;if(!e&&!r)return"";let c={"font-family":s,"font-size":o,fill:a};if(!r)return Le({x:h(n),y:h(i),...c},e);if(!e)return eC(r,void 0,n,i,o,s,a);let l=h(o*ZP),u=`<text x="${h(n)}" y="${h(i)}" font-family="${ei(s)}" font-size="${o}" fill="${ei(a)}">`,{text:f,icon:d}=r;if(!d)return u+lr(e)+`<tspan dx="${l}">${lr(f)}</tspan></text>`;if(d.kind==="builtin"&&d.name==="multiplier")return u+lr(e)+`<tspan dx="${l}">${lr(f)}\xD7</tspan></text>`;if(d.kind==="literal"){let k=h(o*.1);return u+lr(e)+`<tspan dx="${l}">${lr(f)}</tspan><tspan dx="${k}">${lr(d.text)}</tspan></text>`}let p=Ji[d.name],m=k=>k.length*o*QG,g=n+m(e)+o*ZP,v=o*.1,T=o,_=g+m(f)+v,E=i-o*.85,I=u+lr(e)+`<tspan dx="${l}">${lr(f)}</tspan></text>`,D=`<svg x="${h(_)}" y="${h(E)}" width="${h(T)}" height="${h(T)}" viewBox="${p.viewBox}" style="color:${ei(a)}" aria-hidden="true">${p.body}</svg>`;return I+D}function tX(t,e){let r=jP.calendar,n=`<svg x="${h(t.glyphTopLeft.x)}" y="${h(t.glyphTopLeft.y)}" width="${h(t.glyphSize)}" height="${h(t.glyphSize)}" viewBox="${r.viewBox}" style="color:${ei(e)}" aria-hidden="true">${r.body}</svg>`,i=`<title>${lr(t.isoDate)}</title>`;return Q("g",{"data-layer":"inline-date-pin","data-side":t.side,"data-date":t.isoDate,"data-spilled":t.spilled?"true":null},i+n)}function OE(t,e){return!t||t.length===0?"":t.map(r=>tX(r,e)).join("")}function rX(t,e,r,n,i,o={}){let s=Math.min(_h[i.cornerRadius]??4,n/2);return Q("rect",{x:h(t),y:h(e),width:h(r),height:h(n),rx:h(s),ry:h(s),fill:i.bg==="none"?"transparent":i.bg,stroke:i.fg,"stroke-width":1,"stroke-dasharray":KG(i)??null,...o})}function nX(t,e,r){let n=t.box.x+t.cardBox.x,i=t.box.y+t.cardBox.y,o=t.cardBox.width,s=t.cardBox.height,a=t.style.bg==="none"?r.surface.headerBox:t.style.bg,c=r.header.cardBorder,l=Q("rect",{x:h(n),y:h(i),width:h(o),height:h(s),rx:6,ry:6,fill:a,stroke:c,"stroke-width":1,filter:`url(#${e}-shadow-subtle)`}),u=[];t.titleLines.forEach((v,T)=>{u.push(Le({x:h(n+16),y:h(i+26+T*20),"font-family":je[t.style.font],"font-size":16,"font-weight":600,fill:t.style.text},v))});let f=u.join(""),d=i+26+Math.max(0,t.titleLines.length-1)*20,p=r.header.author,m=[];t.authorLines.forEach((v,T)=>{m.push(Le({x:h(n+16),y:h(d+18+T*14),"font-family":je[t.style.font],"font-size":11,fill:p},v))});let g=m.join("");return Q("g",{"data-layer":"header","data-id":`${e}-header`},l+f+g)}function iX(t,e,r){let n=r.timeline.gridLine,i=r.timeline.minorGridLine,o=t.bottomTickPanelHeight??0,s=t.bottomTickPanelY!==void 0&&o>0,a=t.tickPanelY,c=s?t.bottomTickPanelY+o:t.box.y+t.box.height,l=e,u=t.box.y+t.box.height,f=[];for(let d of t.ticks)if(d.major)f.push(Q("line",{x1:h(d.x),y1:h(a),x2:h(d.x),y2:h(c),stroke:n,"stroke-width":1}));else if(t.minorGrid){if(d.labelX===void 0)continue;f.push(Q("line",{x1:h(d.x),y1:h(l),x2:h(d.x),y2:h(u),stroke:i,"stroke-width":1}))}return Q("g",{"data-layer":"grid"},f.join(""))}function oX(t,e){let r=e.timeline.panelFill,n=e.timeline.border,i=e.timeline.labelText,o=[],s=t.tickPanelY,a=t.tickPanelHeight,c=a>0,l=t.markerRow.height>0,u=s+a,f=t.markerRow.height,d=t.bottomTickPanelY,p=t.bottomTickPanelHeight??0,m=d!==void 0&&p>0;c&&o.push(Q("rect",{x:h(t.box.x),y:h(s),width:h(t.box.width),height:h(a),rx:4,ry:4,fill:r,stroke:n,"stroke-width":1})),l&&o.push(Q("rect",{x:h(t.box.x),y:h(u),width:h(t.box.width),height:h(f),rx:4,ry:4,fill:r,stroke:n,"stroke-width":1})),m&&o.push(Q("rect",{x:h(t.box.x),y:h(d),width:h(t.box.width),height:h(p),rx:4,ry:4,fill:r,stroke:n,"stroke-width":1}));for(let g of t.ticks)g.major&&(!g.label||g.labelX===void 0||(c&&o.push(Le({x:h(g.labelX),y:h(s+Eh),"font-family":je.sans,"font-size":10,fill:i,"text-anchor":"middle"},g.label)),m&&o.push(Le({x:h(g.labelX),y:h(d+Eh),"font-family":je.sans,"font-size":10,fill:i,"text-anchor":"middle"},g.label))));return Q("g",{"data-layer":"timeline"},o.join(""))}function sX(t,e){if(!t)return"";let r=e.nowline.stroke,n=e.nowline.labelText,i=Q("line",{x1:h(t.x),y1:h(t.topY),x2:h(t.x),y2:h(t.bottomY),stroke:r,"stroke-width":Ah}),o=aX(t,r),s=cX(t,n);return Q("g",{"data-layer":"nowline"},i+o+s)}function tC(t){let e=Ah/2;return t.pillMode==="flag-right"?t.x-e:t.pillMode==="flag-left"?t.x+e:t.x}function aX(t,e){let r=t.pillTopY,n=t.pillTopY+qi,i=M_,o=t.pillWidth;if(t.pillMode==="center")return Q("rect",{x:h(t.x-o/2),y:h(r),width:h(o),height:h(qi),rx:i,ry:i,fill:e});let s=tC(t);if(t.pillMode==="flag-right"){let l=s+o,u=[`M ${h(s)} ${h(r)}`,`L ${h(l-i)} ${h(r)}`,`A ${i} ${i} 0 0 1 ${h(l)} ${h(r+i)}`,`L ${h(l)} ${h(n-i)}`,`A ${i} ${i} 0 0 1 ${h(l-i)} ${h(n)}`,`L ${h(s)} ${h(n)}`,"Z"].join(" ");return Q("path",{d:u,fill:e})}let a=s-o,c=[`M ${h(s)} ${h(r)}`,`L ${h(a+i)} ${h(r)}`,`A ${i} ${i} 0 0 0 ${h(a)} ${h(r+i)}`,`L ${h(a)} ${h(n-i)}`,`A ${i} ${i} 0 0 0 ${h(a+i)} ${h(n)}`,`L ${h(s)} ${h(n)}`,"Z"].join(" ");return Q("path",{d:c,fill:e})}function cX(t,e){let r=t.pillTopY+F_,n=tC(t),i,o;return t.pillMode==="center"?(i=t.x,o="middle"):t.pillMode==="flag-right"?(i=n+sc,o="start"):(i=n-sc,o="end"),Le({x:h(i),y:h(r),"font-family":je.sans,"font-size":Cu,"font-weight":700,fill:e,"text-anchor":o},t.label)}function lX(t,e,r,n){let i=[],o=YP(r,t.style.shadow);i.push(rX(t.box.x,t.box.y,t.box.width,t.box.height,t.style,{filter:o??null}));let s=JG(t.style.bg,n),a={done:s.done,"in-progress":s.inProgress,"at-risk":s.atRisk,blocked:s.blocked,planned:s.planned,neutral:s.neutral},c=a[t.status]??a.neutral;if(t.progressFraction>0){let g=Math.max(0,Math.min(t.box.width,t.box.width*t.progressFraction));i.push(Q("rect",{x:h(t.box.x),y:h(t.box.y+t.box.height-Rn),width:h(g),height:Rn,fill:t.style.fg,opacity:.55}))}let l=t.dotSpills&&t.dotSpillCx!==null?t.dotSpillCx:t.box.x+t.box.width-12;i.push(Q("circle",{cx:h(l),cy:h(t.box.y+12),r:5,fill:c})),i.push(OE(t.inlineDatePins,t.style.fg));let u;t.textSpills?(u=t.box.x+t.box.width+6,t.iconSpills&&(u+=18)):u=t.box.x+12;let f=t.style.text,d=n.entities.item.text,p=t.textSpills?d:f,m=t.textSpills?d:t.style.fg;if(t.title&&i.push(Le({x:h(u),y:h(t.box.y+20),"font-family":je[t.style.font],"font-size":13,"font-weight":600,fill:p},t.title)),(t.metaText||t.capacity)&&i.push(eX({metaText:t.metaText,capacity:t.capacity,x:u,baselineY:t.box.y+38,fontSize:11,fontFamily:je[t.style.font],color:m})),t.footnoteIndicators.length>0){let g=t.box.y+14;if(t.footnoteSpills&&t.footnoteSpillStartX!==null){let v=t.footnoteSpillStartX;for(let T=0;T<t.footnoteIndicators.length;T++){let _=t.footnoteIndicators[T];i.push(Le({x:h(v),y:h(g),"font-family":je.sans,"font-size":10,"font-weight":700,fill:d},String(_))),v+=8}}else{let v=t.box.x+t.box.width-22;for(let T=t.footnoteIndicators.length-1;T>=0;T--){let _=t.footnoteIndicators[T];i.push(Le({x:h(v),y:h(g),"font-family":je.sans,"font-size":10,"font-weight":700,fill:t.style.text,"text-anchor":"end"},String(_))),v-=8}}}if(!e.noLinks&&t.linkIcon&&t.linkIcon!=="none"){let g={linear:"#5e6ad2",github:"#0f172a",jira:"#0052cc",generic:n.item.linkIconFg},v=g[t.linkIcon]??g.generic,T=14,_=t.iconSpills&&t.iconSpillX!==null?t.iconSpillX:t.box.x+6,E=t.box.y+6,I=Q("rect",{x:h(_),y:h(E),width:T,height:T,rx:2,ry:2,fill:v}),D=_,k=E,B=Q("path",{d:`M${h(D+4)} ${h(k+10)} L${h(D+10)} ${h(k+4)} M${h(D+6)} ${h(k+4)} H${h(D+10)} V${h(k+8)}`,stroke:"#ffffff",fill:"none","stroke-width":1.1,"stroke-linecap":"round","stroke-linejoin":"round"}),U=I+B,z=t.linkHref?Q("a",{href:t.linkHref,target:"_blank",rel:"noopener"},U):U;i.push(z)}if(t.hasOverflow&&t.overflowBox){let g=n.item.overflowTailFill,v=n.item.overflowTailStroke,T=n.item.overflowCaption;i.push(Q("rect",{x:h(t.overflowBox.x),y:h(t.overflowBox.y),width:h(t.overflowBox.width),height:h(t.overflowBox.height),fill:g,stroke:v,"stroke-width":1})),t.overflowAnchorId&&t.overflowBox.width>60&&i.push(Le({x:h(t.overflowBox.x+t.overflowBox.width/2),y:h(t.overflowBox.y+t.overflowBox.height/2+3),"font-family":je.sans,"font-size":9,"font-weight":700,fill:T,"text-anchor":"middle"},`past ${t.overflowAnchorId}`))}for(let g of t.labelChips){let v=Math.min(_h[g.style.cornerRadius]??8,g.box.height/2);i.push(Q("rect",{x:h(g.box.x),y:h(g.box.y),width:h(g.box.width),height:h(g.box.height),rx:h(v),ry:h(v),fill:g.style.bg==="none"?"transparent":g.style.bg,stroke:g.style.fg,"stroke-width":.5})),i.push(Le({x:h(g.box.x+g.box.width/2),y:h(g.box.y+g.box.height/2+3),...CE(g.style,ic.xs),"text-anchor":"middle"},g.text))}return Q("g",{"data-layer":"item","data-id":t.id??null},i.join(""))}function uX(t,e,r,n){let i=[];if(t.style.bg!=="none"&&t.style.bg!=="#ffffff"){if(i.push(Q("rect",{x:h(t.box.x),y:h(t.box.y),width:h(t.box.width),height:h(t.box.height),rx:6,ry:6,fill:t.style.bg,stroke:t.style.fg,"stroke-width":1,"fill-opacity":.18,filter:`url(#${r}-shadow-subtle)`})),t.title){let s=t.title.length*L_+2*bh,a=t.box.x,c=t.box.y,l=Pu,u=6,f=`M${h(a+u)} ${h(c)}H${h(a+s)}V${h(c+l-u)}A${u} ${u} 0 0 1 ${h(a+s-u)} ${h(c+l)}H${h(a)}V${h(c+u)}A${u} ${u} 0 0 1 ${h(a+u)} ${h(c)}Z`;i.push(Q("path",{d:f,fill:t.style.fg})),i.push(Le({x:h(a+bh),y:h(c+C_),"font-family":je[t.style.font],"font-size":O_,"font-weight":600,fill:"#ffffff"},t.title))}}else{let s=t.style.fg;if(t.style.bracket!=="none"){let c=t.box.y+t.box.height,l=t.style.bracket==="dashed"?"3 2":null,u=t.title?`M${h(t.box.x+4)} ${h(t.box.y-oc)} L${h(t.box.x)} ${h(t.box.y-oc)} L${h(t.box.x)} ${h(c)} L${h(t.box.x+4)} ${h(c)}`:`M${h(t.box.x)} ${h(t.box.y)} L${h(t.box.x)} ${h(c)} L${h(t.box.x+4)} ${h(c)}`;i.push(Q("path",{d:u,fill:"none",stroke:s,"stroke-width":1,"stroke-dasharray":l}))}t.title&&i.push(Le({x:h(t.box.x+6),y:h(t.box.y-2),...CE(t.style,ic.xs),"fill-opacity":.7},t.title))}i.push(OE(t.inlineDatePins,t.style.fg));for(let s of t.children)i.push(LE(s,e,r,n));return Q("g",{"data-layer":"group","data-id":t.id??null},i.join(""))}function fX(t,e,r,n){let i=[];if(t.style.bracket==="solid"||t.style.bracket==="dashed"){let a=t.box.y-12,c=t.box.y+t.box.height+12,l=t.box.x,u=t.box.x+t.box.width,f=n.parallel.bracketStroke;i.push(Q("path",{d:`M${h(l+4)} ${h(a)} H${h(l)} V${h(c)} H${h(l+4)}`,fill:"none",stroke:f,"stroke-width":1.25,"stroke-dasharray":t.style.bracket==="dashed"?"3 3":null,"stroke-linejoin":"round"})),i.push(Q("path",{d:`M${h(u-4)} ${h(a)} H${h(u)} V${h(c)} H${h(u-4)}`,fill:"none",stroke:f,"stroke-width":1.25,"stroke-dasharray":t.style.bracket==="dashed"?"3 3":null,"stroke-linejoin":"round"}))}t.title&&i.push(Le({x:h(t.box.x+4),y:h(t.box.y-2),...CE(t.style,ic.xs),"fill-opacity":.7},t.title)),i.push(OE(t.inlineDatePins,t.style.fg));for(let o of t.children)i.push(LE(o,e,r,n));return Q("g",{"data-layer":"parallel","data-id":t.id??null},i.join(""))}function LE(t,e,r,n){return t.kind==="item"?lX(t,e,r,n):t.kind==="group"?uX(t,e,r,n):fX(t,e,r,n)}var JP=2;function dX(t,e){switch(t){case"green":return e.swimlane.utilizationOk;case"yellow":return e.swimlane.utilizationWarn;case"red":return e.swimlane.utilizationOver}}function pX(t,e){if(!t.utilization||t.utilization.segments.length===0)return"";let r=t.box.y+t.box.height-JP,n=t.utilization.segments.map(i=>{let o=i.endX-i.startX;return o<=0?"":Q("rect",{x:h(i.startX),y:h(r),width:h(o),height:JP,fill:dX(i.classification,e),"data-utilization":i.classification,"data-load":h(i.load)})});return Q("g",{"data-layer":"lane-utilization","data-id":t.id??null},n.join(""))}function hX(t,e){let r=t.bandIndex%2===0?e.swimlane.rowTintEven:e.swimlane.rowTintOdd,n=e.swimlane.border;return Q("g",{"data-layer":"swimlane-bg","data-id":t.id??null},Q("rect",{x:h(t.box.x),y:h(t.box.y),width:h(t.box.width),height:h(t.box.height),fill:r,stroke:n,"stroke-width":1}))}function rC(t,e,r,n){let i=n.swimlane.tabFill,o=n.swimlane.tabStroke,s=n.swimlane.tabText,a=n.swimlane.ownerText,c=n.swimlane.footnoteIndicator,l=[];if(t.title){let f=t.capacity?Vo(t.capacity.text,t.capacity.icon,10):0,d=t.footnoteIndicators.length>0?t.footnoteIndicators.join(","):"",p=d?PE(d,10):0,m=Ru(t.box.x,t.title,t.owner,f,p),g=vh,v=t.box.y+10,T=v+Rh;l.push(Q("rect",{x:h(m.tabX),y:h(v),width:h(m.tabW),height:h(g),rx:4,ry:4,fill:i,stroke:o,"stroke-width":1})),l.push(Le({x:h(m.titleX),y:h(T),"font-family":je[t.style.font],"font-size":12,"font-weight":600,fill:s},t.title)),t.owner&&l.push(Le({x:h(m.ownerX),y:h(T),"font-family":je[t.style.font],"font-size":10,fill:a},`owner: ${t.owner}`)),t.capacity&&l.push(eC(t.capacity,void 0,m.badgeX,T,10,je[t.style.font],a)),d&&l.push(Le({x:h(m.footnoteRightX),y:h(v+14),"font-family":je.sans,"font-size":10,"font-weight":700,fill:c,"text-anchor":"end"},d))}for(let u of t.children)l.push(LE(u,e,r,n));return l.push(pX(t,n)),Q("g",{"data-layer":"swimlane","data-id":t.id??null},l.join(""))}function mX(t,e){let r=t.radius,n=t.center.x,i=t.center.y,o=e.anchorDiamond.fill,s=e.anchorDiamond.stroke,a=Q("path",{d:`M${h(n)} ${h(i-r)} L${h(n+r)} ${h(i)} L${h(n)} ${h(i+r)} L${h(n-r)} ${h(i)} Z`,fill:o,stroke:s,"stroke-width":1.25}),c=e.anchorDiamond.label,l=t.labelSide==="left"?t.labelBox.x+t.labelBox.width:t.labelBox.x,u={x:h(l),y:h(i+4),"font-family":je.sans,"font-size":10,fill:c};t.labelSide==="left"&&(u["text-anchor"]="end");let f=t.title?Le(u,t.title):"";return Q("g",{"data-layer":"anchor","data-id":t.id??null},a+f)}function gX(t,e){let r=e.anchorDiamond.cutLine;return Q("line",{x1:h(t.center.x),y1:h(t.center.y+t.radius+1),x2:h(t.center.x),y2:h(t.cutBottomY),stroke:r,"stroke-width":1,"stroke-dasharray":"1 3"})}function yX(t,e){let r=t.center.x,n=t.center.y,i=t.radius,o=e.milestoneDiamond.fill,s=Q("path",{d:`M${h(r)} ${h(n-i)} L${h(r+i)} ${h(n)} L${h(r)} ${h(n+i)} L${h(r-i)} ${h(n)} Z`,fill:o,stroke:o,"stroke-width":1}),a=e.milestoneDiamond.label,c=t.labelSide==="left"?t.labelBox.x+t.labelBox.width:t.labelBox.x,l={x:h(c),y:h(n+4),"font-family":je.sans,"font-size":10,"font-weight":600,fill:a};t.labelSide==="left"&&(l["text-anchor"]="end");let u=t.title?Le(l,t.title):"";return Q("g",{"data-layer":"milestone","data-id":t.id??null},s+u)}function xX(t,e){let r=t.isOverrun?e.milestoneDiamond.cutLineOverrun:e.milestoneDiamond.cutLineNormal,n=[];if(n.push(Q("line",{x1:h(t.center.x),y1:h(t.center.y+t.radius+1),x2:h(t.center.x),y2:h(t.cutBottomY),stroke:r,"stroke-width":2,"stroke-dasharray":wh,"stroke-linecap":"round"})),t.slackArrows&&t.slackArrows.length>0){let i=e.milestoneDiamond.slack;for(let o of t.slackArrows)n.push(Q("path",{d:`M${h(o.x)} ${h(o.y)} H${h(t.center.x-6)}`,fill:"none",stroke:i,"stroke-width":1.1,"stroke-dasharray":"3 3","stroke-linecap":"round","marker-end":"url(#nl-arrow-dark)"}))}return n.join("")}function QP(t,e){let r=t.kind==="overflow"?e.dependency.overflowStroke:e.dependency.edgeStroke,n=t.waypoints;if(n.length<2)return"";let i=t.kind==="underBar"?.8:1.1;return Q("path",{d:TX(n,z_),fill:"none",stroke:r,"stroke-width":i,"stroke-dasharray":t.kind==="overflow"?"4 2":null,"stroke-linejoin":"round","marker-end":"url(#nl-arrow)"})}function TX(t,e){if(t.length<2)return"";let r=[`M${h(t[0].x)} ${h(t[0].y)}`];for(let n=1;n<t.length;n++){let i=t[n-1],o=t[n];if(n===t.length-1){r.push(`L${h(o.x)} ${h(o.y)}`);continue}let s=t[n+1],a=Math.sign(o.x-i.x),c=Math.sign(o.y-i.y),l=Math.sign(s.x-o.x),u=Math.sign(s.y-o.y),f=Math.hypot(o.x-i.x,o.y-i.y),d=Math.hypot(s.x-o.x,s.y-o.y),p=Math.min(e,f/2,d/2);if(p<=0||a!==0&&l!==0||c!==0&&u!==0){r.push(`L${h(o.x)} ${h(o.y)}`);continue}let m={x:o.x-a*p,y:o.y-c*p},g={x:o.x+l*p,y:o.y+u*p};r.push(`L${h(m.x)} ${h(m.y)}`),r.push(`Q${h(o.x)} ${h(o.y)} ${h(g.x)} ${h(g.y)}`)}return r.join(" ")}function _X(t,e,r){if(t.entries.length===0)return"";let n=r.footnotePanel.fill,i=r.footnotePanel.border,o=r.footnotePanel.header,s=r.footnotePanel.title,a=r.footnotePanel.description,c=r.footnotePanel.number,l=[];l.push(Q("rect",{x:h(t.box.x),y:h(t.box.y),width:h(t.box.width),height:h(t.box.height),rx:6,ry:6,fill:n,stroke:i,"stroke-width":1,filter:`url(#${e}-shadow-subtle)`})),l.push(Le({x:h(t.box.x+en),y:h(t.box.y+B_),"font-family":je.sans,"font-size":12,"font-weight":700,fill:o},"Footnotes"));let u=t.box.y+Ou+en,f=t.box.x+en,d=f+en;return t.entries.forEach((p,m)=>{let g=u+m*Lu;l.push(Le({x:h(f),y:h(g),"font-family":je.sans,"font-size":10,"font-weight":700,fill:c},String(p.number))),l.push(Le({x:h(d),y:h(g),"font-family":je.sans,"font-size":11,"font-weight":600,fill:s},p.title)),p.description&&l.push(Le({x:h(d+Math.max(120,p.title.length*6)),y:h(g),"font-family":je.sans,"font-size":11,fill:a},`\u2014 ${p.description}`))}),Q("g",{"data-layer":"footnotes"},l.join(""))}function EX(t,e,r,n){let i=n.includeRegion.border,o=n.includeRegion.fill,s=n.includeRegion.tabFill,a=n.includeRegion.tabStroke,c=n.includeRegion.tabText,l=n.includeRegion.badgeFill,u=n.includeRegion.badgeStroke,f=n.includeRegion.badgeText,d=t.box.x+8,p=t.box.y,m=t.box.width-16,g=t.box.height,v=Q("rect",{x:h(d),y:h(p),width:h(m),height:h(g),rx:8,ry:8,fill:o,stroke:i,"stroke-width":1,"stroke-dasharray":wh}),T=vh,_=bu(t.box.x,t.label,t.sourcePath),E=p-T/2,I=Q("rect",{x:h(_.tabX),y:h(E),width:h(_.tabWidth),height:T,rx:4,ry:4,fill:s,stroke:a,"stroke-width":1}),D=Le({x:h(_.tabLabelX),y:h(E+Rh),"font-family":je.sans,"font-size":11,"font-weight":600,fill:c},t.label),k=_.badgeX,B=_.badgeSize,U=p-B/2,z=Q("rect",{x:h(k),y:h(U),width:B,height:B,rx:4,ry:4,fill:l,stroke:u,"stroke-width":1}),le=Q("path",{d:`M${h(k+7)} ${h(U+4)} H${h(k+14)} V${h(U+11)} M${h(k+4)} ${h(U+7)} H${h(k+11)} V${h(U+14)} H${h(k+4)} Z`,stroke:f,"stroke-width":1.4,fill:"none","stroke-linecap":"round","stroke-linejoin":"round"}),O=9,R=p+4,L=Q("rect",{x:h(_.sourceHaloX),y:h(R-O),width:h(_.sourceHaloWidth),height:O+6,fill:o}),$=Le({x:h(_.sourceTextX),y:h(R),"font-family":je.mono,"font-size":O,fill:f},t.sourcePath),w=t.nestedSwimlanes.map(A=>rC(A,e,r,n)).join("");return Q("g",{"data-layer":"include"},v+w+I+D+z+le+L+$)}function vX(t){let e=t.palette.attribution.mark,r=t.palette.attribution.link;if(t.swimlanes.length===0)return"";let n=t.header.attributionBox.x,i=t.header.attributionBox.y,o=Wi,s=Le({x:"0",y:o,"font-family":je.sans,"font-size":kh,"font-weight":400,fill:e},Ih)+Le({x:$u,y:o,"font-family":je.sans,"font-size":Wi,"font-weight":700,fill:e},"now")+Q("rect",{x:X_,y:12,width:H_,height:Wi,fill:r})+Le({x:Nh,y:o,"font-family":je.sans,"font-size":Wi,"font-weight":400,fill:e},"ine"),a=Q("g",{transform:`translate(${h(n)} ${h(i)}) scale(${h(Du)})`},s);return Q("a",{href:G_,target:"_blank",rel:"noopener","aria-label":"Powered by nowline"},Q("g",{"data-layer":"attribution"},a))}async function RX(t,e,r,n,i,o,s){if(!e)return"";let a;try{a=await e(t)}catch(u){let f=`logo: failed to load ${t}: ${u instanceof Error?u.message:String(u)}`;if(n.strict)throw u;return n.warn?.(f),""}let c=(a.mime??"").toLowerCase();if(c==="image/svg+xml"){let u=new TextDecoder().decode(a.bytes),f=zP(u,{idPrefix:`${r}-logo`,onWarn:n.warn});return Q("g",{transform:`translate(${h(i)} ${h(o)})`},f)}if(c==="image/png"||c==="image/jpeg"||c==="image/jpg"||c==="image/webp"){let u=bX(a.bytes);return Q("image",{href:`data:${c};base64,${u}`,x:h(i),y:h(o),width:h(s),height:h(s),preserveAspectRatio:"xMidYMid meet"})}let l=`logo: unsupported mime ${c} for ${t}`;if(n.strict)throw new Error(l);return n.warn?.(l),""}function bX(t){if(typeof btoa<"u"){let r="";for(let n=0;n<t.length;n++)r+=String.fromCharCode(t[n]);return btoa(r)}let e=globalThis;if(e.Buffer)return e.Buffer.from(t).toString("base64");throw new Error("renderer: no base64 encoder available")}async function DE(t,e={}){let n=new lm(e.idPrefix??"nl").next("root"),i=t.palette,o=[],s=i.arrowhead.neutral,a=i.arrowhead.light,c=i.arrowhead.dark,l=(d,p)=>`<marker id="${d}" viewBox="0 0 10 10" refX="9" refY="5" markerWidth="7" markerHeight="7" orient="auto"><path d="M 0 0 L 10 5 L 0 10 z" fill="${p}"/></marker>`,u=`<defs>${KP(n)}`+l("nl-arrow",s)+l("nl-arrow-light",a)+l("nl-arrow-dark",c)+"</defs>";o.push(u),o.push(Q("rect",{x:0,y:0,width:h(t.width),height:h(t.height),fill:t.backgroundColor})),o.push(oX(t.timeline,i));for(let d of t.swimlanes)o.push(hX(d,i));o.push(iX(t.timeline,t.chartBox.y,i));for(let d of t.edges)d.kind==="underBar"&&o.push(QP(d,i));for(let d of t.swimlanes)o.push(rC(d,e,n,i));for(let d of t.includes)o.push(EX(d,e,n,i));for(let d of t.edges)d.kind!=="underBar"&&o.push(QP(d,i));for(let d of t.anchors)o.push(gX(d,i));for(let d of t.milestones)o.push(xX(d,i));for(let d of t.anchors)o.push(mX(d,i));for(let d of t.milestones)o.push(yX(d,i));if(o.push(sX(t.nowline,i)),o.push(_X(t.footnotes,n,i)),o.push(nX(t.header,n,i)),o.push(vX(t)),t.header.logo&&e.assetResolver){let d=await RX(t.header.logo.assetRef??"",e.assetResolver,n,e,t.header.logo.box.x,t.header.logo.box.y,Math.max(t.header.logo.box.width,t.header.logo.box.height));d&&o.push(d)}return`<svg${Ec({xmlns:"http://www.w3.org/2000/svg",viewBox:`0 0 ${h(t.width)} ${h(t.height)}`,width:h(t.width),height:h(t.height),"data-theme":t.theme,"data-generator":"nowline"})}>${o.join("")}</svg>`}var $E="/browser-source.nowline",um,nC=0;function iC(){return um||(um=v_()),um}function wX(){return ht.parse(`memory:///nowline-browser-${++nC}.nowline`)}async function fm(t,e={}){let r=e.filePath??$E,n=iC(),o=n.shared.workspace.LangiumDocumentFactory.fromString(t,wX());await n.shared.workspace.DocumentBuilder.build([o],{validation:!0});let s=[];for(let a of gm(o))a.origin==="lexer"?s.push($k(a.error,r)):a.origin==="parser"?s.push(Dk(a.error,r)):s.push(Lk(a.diagnostic,r));return{ast:o.parseResult.value,diagnostics:s}}async function ME(t,e={}){let r=e.filePath??$E,n=await fm(t,{filePath:r});if(n.diagnostics.some(g=>g.severity==="error"))return{kind:"diagnostics",diagnostics:n.diagnostics};let i=iC(),o=e.readFile??Bk,s=await f_(n.ast,r,{services:i.Nowline,readFile:o}),a=[...n.diagnostics];for(let g of s.diagnostics){if(g.severity==="error"&&Gk(g.message)){e.onSkippedInclude?.({sourcePath:g.sourcePath,message:g.message});continue}a.push(Mk(g))}if(a.some(g=>g.severity==="error"))return{kind:"diagnostics",diagnostics:a};let c=e.today===null?void 0:e.today,l=NE(n.ast,s,{theme:e.theme,today:c,locale:e.locale,width:e.width}),u=e.showLinks!==!1,f=e.strict===!0,d=[],p=await DE(l,{idPrefix:e.idPrefix,assetResolver:e.assetResolver,noLinks:!u,strict:f,warn:g=>d.push(g)}),m=d.map(g=>Fk(g,r,f?"error":"warning"));return f&&m.length>0?{kind:"diagnostics",diagnostics:[...a,...m]}:{kind:"svg",svg:p,warnings:m}}function FE(){um=void 0,nC=0}var oC="/embed.nowline",UE=!1;async function sC(t){let{ast:e,diagnostics:r}=await fm(t,{filePath:oC});return{ast:e,errors:r.filter(n=>n.severity==="error").map(n=>n.message)}}async function dm(t,e={}){let r={filePath:oC,theme:e.theme,today:e.today,locale:e.locale,width:e.width,idPrefix:e.idPrefix,onSkippedInclude:()=>{UE||(UE=!0,console.warn("nowline: `include` directives are skipped in the browser embed (single-file mode). Render multi-file roadmaps with the CLI or the GitHub Action."))}},n=await ME(t,r);if(n.kind==="svg")return n.svg;let i=n.diagnostics.filter(o=>o.severity==="error").map(o=>o.message);throw new Zu(`Failed to render Nowline source: ${i.join("; ")}`,i)}var Zu=class extends Error{constructor(r,n){super(r);de(this,"details",n);this.name="EmbedRenderError"}};function aC(){UE=!1,FE()}var nn=Uint8Array,Tr=Uint16Array,jE=Int32Array,zE=new nn([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,0,0,0]),qE=new nn([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,0,0]),cC=new nn([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),dC=function(t,e){for(var r=new Tr(31),n=0;n<31;++n)r[n]=e+=1<<t[n-1];for(var i=new jE(r[30]),n=1;n<30;++n)for(var o=r[n];o<r[n+1];++o)i[o]=o-r[n]<<5|n;return{b:r,r:i}},pC=dC(zE,2),AX=pC.b,GE=pC.r;AX[28]=258,GE[258]=28;var hC=dC(qE,0),Wse=hC.b,lC=hC.r,XE=new Tr(32768);for(Fe=0;Fe<32768;++Fe)ti=(Fe&43690)>>1|(Fe&21845)<<1,ti=(ti&52428)>>2|(ti&13107)<<2,ti=(ti&61680)>>4|(ti&3855)<<4,XE[Fe]=((ti&65280)>>8|(ti&255)<<8)>>1;var ti,Fe,ef=(function(t,e,r){for(var n=t.length,i=0,o=new Tr(e);i<n;++i)t[i]&&++o[t[i]-1];var s=new Tr(e);for(i=1;i<e;++i)s[i]=s[i-1]+o[i-1]<<1;var a;if(r){a=new Tr(1<<e);var c=15-e;for(i=0;i<n;++i)if(t[i])for(var l=i<<4|t[i],u=e-t[i],f=s[t[i]-1]++<<u,d=f|(1<<u)-1;f<=d;++f)a[XE[f]>>c]=l}else for(a=new Tr(n),i=0;i<n;++i)t[i]&&(a[i]=XE[s[t[i]-1]++]>>15-t[i]);return a}),as=new nn(288);for(Fe=0;Fe<144;++Fe)as[Fe]=8;var Fe;for(Fe=144;Fe<256;++Fe)as[Fe]=9;var Fe;for(Fe=256;Fe<280;++Fe)as[Fe]=7;var Fe;for(Fe=280;Fe<288;++Fe)as[Fe]=8;var Fe,pm=new nn(32);for(Fe=0;Fe<32;++Fe)pm[Fe]=5;var Fe,SX=ef(as,9,0);var IX=ef(pm,5,0);var mC=function(t){return(t+7)/8|0},kX=function(t,e,r){return(e==null||e<0)&&(e=0),(r==null||r>t.length)&&(r=t.length),new nn(t.subarray(e,r))};var ri=function(t,e,r){r<<=e&7;var n=e/8|0;t[n]|=r,t[n+1]|=r>>8},Ju=function(t,e,r){r<<=e&7;var n=e/8|0;t[n]|=r,t[n+1]|=r>>8,t[n+2]|=r>>16},BE=function(t,e){for(var r=[],n=0;n<t.length;++n)t[n]&&r.push({s:n,f:t[n]});var i=r.length,o=r.slice();if(!i)return{t:yC,l:0};if(i==1){var s=new nn(r[0].s+1);return s[r[0].s]=1,{t:s,l:1}}r.sort(function(D,k){return D.f-k.f}),r.push({s:-1,f:25001});var a=r[0],c=r[1],l=0,u=1,f=2;for(r[0]={s:-1,f:a.f+c.f,l:a,r:c};u!=i-1;)a=r[r[l].f<r[f].f?l++:f++],c=r[l!=u&&r[l].f<r[f].f?l++:f++],r[u++]={s:-1,f:a.f+c.f,l:a,r:c};for(var d=o[0].s,n=1;n<i;++n)o[n].s>d&&(d=o[n].s);var p=new Tr(d+1),m=HE(r[u-1],p,0);if(m>e){var n=0,g=0,v=m-e,T=1<<v;for(o.sort(function(k,B){return p[B.s]-p[k.s]||k.f-B.f});n<i;++n){var _=o[n].s;if(p[_]>e)g+=T-(1<<m-p[_]),p[_]=e;else break}for(g>>=v;g>0;){var E=o[n].s;p[E]<e?g-=1<<e-p[E]++-1:++n}for(;n>=0&&g;--n){var I=o[n].s;p[I]==e&&(--p[I],++g)}m=e}return{t:new nn(p),l:m}},HE=function(t,e,r){return t.s==-1?Math.max(HE(t.l,e,r+1),HE(t.r,e,r+1)):e[t.s]=r},uC=function(t){for(var e=t.length;e&&!t[--e];);for(var r=new Tr(++e),n=0,i=t[0],o=1,s=function(c){r[n++]=c},a=1;a<=e;++a)if(t[a]==i&&a!=e)++o;else{if(!i&&o>2){for(;o>138;o-=138)s(32754);o>2&&(s(o>10?o-11<<5|28690:o-3<<5|12305),o=0)}else if(o>3){for(s(i),--o;o>6;o-=6)s(8304);o>2&&(s(o-3<<5|8208),o=0)}for(;o--;)s(i);o=1,i=t[a]}return{c:r.subarray(0,n),n:e}},Qu=function(t,e){for(var r=0,n=0;n<e.length;++n)r+=t[n]*e[n];return r},gC=function(t,e,r){var n=r.length,i=mC(e+2);t[i]=n&255,t[i+1]=n>>8,t[i+2]=t[i]^255,t[i+3]=t[i+1]^255;for(var o=0;o<n;++o)t[i+o+4]=r[o];return(i+4+n)*8},fC=function(t,e,r,n,i,o,s,a,c,l,u){ri(e,u++,r),++i[256];for(var f=BE(i,15),d=f.t,p=f.l,m=BE(o,15),g=m.t,v=m.l,T=uC(d),_=T.c,E=T.n,I=uC(g),D=I.c,k=I.n,B=new Tr(19),U=0;U<_.length;++U)++B[_[U]&31];for(var U=0;U<D.length;++U)++B[D[U]&31];for(var z=BE(B,7),le=z.t,O=z.l,R=19;R>4&&!le[cC[R-1]];--R);var L=l+5<<3,$=Qu(i,as)+Qu(o,pm)+s,w=Qu(i,d)+Qu(o,g)+s+14+3*R+Qu(B,le)+2*B[16]+3*B[17]+7*B[18];if(c>=0&&L<=$&&L<=w)return gC(e,u,t.subarray(c,c+l));var A,S,M,X;if(ri(e,u,1+(w<$)),u+=2,w<$){A=ef(d,p,0),S=d,M=ef(g,v,0),X=g;var F=ef(le,O,0);ri(e,u,E-257),ri(e,u+5,k-1),ri(e,u+10,R-4),u+=14;for(var U=0;U<R;++U)ri(e,u+3*U,le[cC[U]]);u+=3*R;for(var W=[_,D],Z=0;Z<2;++Z)for(var pe=W[Z],U=0;U<pe.length;++U){var V=pe[U]&31;ri(e,u,F[V]),u+=le[V],V>15&&(ri(e,u,pe[U]>>5&127),u+=pe[U]>>12)}}else A=SX,S=as,M=IX,X=pm;for(var U=0;U<a;++U){var te=n[U];if(te>255){var V=te>>18&31;Ju(e,u,A[V+257]),u+=S[V+257],V>7&&(ri(e,u,te>>23&31),u+=zE[V]);var De=te&31;Ju(e,u,M[De]),u+=X[De],De>3&&(Ju(e,u,te>>5&8191),u+=qE[De])}else Ju(e,u,A[te]),u+=S[te]}return Ju(e,u,A[256]),u+S[256]},NX=new jE([65540,131080,131088,131104,262176,1048704,1048832,2114560,2117632]),yC=new nn(0),PX=function(t,e,r,n,i,o){var s=o.z||t.length,a=new nn(n+s+5*(1+Math.ceil(s/7e3))+i),c=a.subarray(n,a.length-i),l=o.l,u=(o.r||0)&7;if(e){u&&(c[0]=o.r>>3);for(var f=NX[e-1],d=f>>13,p=f&8191,m=(1<<r)-1,g=o.p||new Tr(32768),v=o.h||new Tr(m+1),T=Math.ceil(r/3),_=2*T,E=function(me){return(t[me]^t[me+1]<<T^t[me+2]<<_)&m},I=new jE(25e3),D=new Tr(288),k=new Tr(32),B=0,U=0,z=o.i||0,le=0,O=o.w||0,R=0;z+2<s;++z){var L=E(z),$=z&32767,w=v[L];if(g[$]=w,v[L]=$,O<=z){var A=s-z;if((B>7e3||le>24576)&&(A>423||!l)){u=fC(t,c,0,I,D,k,U,le,R,z-R,u),le=B=U=0,R=z;for(var S=0;S<286;++S)D[S]=0;for(var S=0;S<30;++S)k[S]=0}var M=2,X=0,F=p,W=$-w&32767;if(A>2&&L==E(z-W))for(var Z=Math.min(d,A)-1,pe=Math.min(32767,z),V=Math.min(258,A);W<=pe&&--F&&$!=w;){if(t[z+M]==t[z+M-W]){for(var te=0;te<V&&t[z+te]==t[z+te-W];++te);if(te>M){if(M=te,X=W,te>Z)break;for(var De=Math.min(W,te-2),Ne=0,S=0;S<De;++S){var Xe=z-W+S&32767,q=g[Xe],J=Xe-q&32767;J>Ne&&(Ne=J,w=Xe)}}}$=w,w=g[$],W+=$-w&32767}if(X){I[le++]=268435456|GE[M]<<18|lC[X];var re=GE[M]&31,P=lC[X]&31;U+=zE[re]+qE[P],++D[257+re],++k[P],O=z+M,++B}else I[le++]=t[z],++D[t[z]]}}for(z=Math.max(z,O);z<s;++z)I[le++]=t[z],++D[t[z]];u=fC(t,c,l,I,D,k,U,le,R,z-R,u),l||(o.r=u&7|c[u/8|0]<<3,u-=7,o.h=v,o.p=g,o.i=z,o.w=O)}else{for(var z=o.w||0;z<s+l;z+=65535){var we=z+65535;we>=s&&(c[u/8|0]=l,we=s),u=gC(c,u+1,t.subarray(z,we))}o.i=s}return kX(a,0,n+mC(u)+i)};var xC=function(){var t=1,e=0;return{p:function(r){for(var n=t,i=e,o=r.length|0,s=0;s!=o;){for(var a=Math.min(s+2655,o);s<a;++s)i+=n+=r[s];n=(n&65535)+15*(n>>16),i=(i&65535)+15*(i>>16)}t=n,e=i},d:function(){return t%=65521,e%=65521,(t&255)<<24|(t&65280)<<8|(e&255)<<8|e>>8}}},CX=function(t,e,r,n,i){if(!i&&(i={l:1},e.dictionary)){var o=e.dictionary.subarray(-32768),s=new nn(o.length+t.length);s.set(o),s.set(t,o.length),t=s,i.w=o.length}return PX(t,e.level==null?6:e.level,e.mem==null?i.l?Math.ceil(Math.max(8,Math.min(13,Math.log(t.length)))*1.5):20:12+e.mem,r,n,i)};var TC=function(t,e,r){for(;r;++e)t[e]=r,r>>>=8};var OX=function(t,e){var r=e.level,n=r==0?0:r<6?1:r==9?3:2;if(t[0]=120,t[1]=n<<6|(e.dictionary&&32),t[1]|=31-(t[0]<<8|t[1])%31,e.dictionary){var i=xC();i.p(e.dictionary),TC(t,2,i.d())}};function _C(t,e){e||(e={});var r=xC();r.p(t);var n=CX(t,e,e.dictionary?6:2,4);return OX(n,e),TC(n,n.length-4,r.d()),n}var LX=typeof TextDecoder<"u"&&new TextDecoder,DX=0;try{LX.decode(yC,{stream:!0}),DX=1}catch{}var $X="https://free.nowline.io/open";function EC(t){let e=new TextEncoder().encode(t),r=_C(e),n=32768,i="";for(let o=0;o<r.length;o+=n)i+=String.fromCharCode(...r.subarray(o,o+n));return btoa(i).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,"")}function RC({source:t,sourceUrl:e,share:r}){if(r===!1||r==="none")return null;if(typeof r=="object")return e!==void 0&&vC(e)?r.remoteUrl.replace("{url}",encodeURIComponent(e)):r.textUrl.replace("{text}",EC(t));let n=r===!0?$X:r,i=new URL(n);return e!==void 0&&vC(e)?i.hash=`url=${encodeURIComponent(e)}`:i.hash=`text=${EC(t)}`,i.toString()}function vC(t){try{return new URL(t).protocol==="https:"}catch{return!1}}var bC=0;async function wC(t){let e=t.document??globalThis.document;if(!e)return{rendered:0,failed:0};let r=e.querySelectorAll(t.selector),n=0,i=0,o=++bC,s=t.share??!0,a=[],c=0;for(let l of Array.from(r)){let u=MX(l);if(!u)continue;let f=FX(l),d=`nl-r${o}-${c++}`,p={theme:t.theme,locale:t.locale,width:t.width,today:t.today,idPrefix:d},m=u.parentElement,g=u.nextSibling,T=l.getAttribute("data-nowline-source-url")??void 0??t.sourceUrl;a.push(dm(f,p).then(_=>{if(UX(u,_),n++,m!==null){let E=RC({source:f,sourceUrl:T,share:s});if(E!==null){let I=e.createElement("a");I.className="nowline-share",I.href=E,I.target="_blank",I.rel="noopener noreferrer",I.textContent="Share on Nowline",m.insertBefore(I,g)}}},_=>{i++,console.error("nowline: render failed",_)}))}return await Promise.all(a),{rendered:n,failed:i}}function MX(t){let e=t.parentElement;return e&&e.tagName.toUpperCase()==="PRE"?e:t}function FX(t){return t.textContent??""}function UX(t,e){t.outerHTML=e}function AC(){bC=0}function hm(){if(typeof globalThis>"u")return"light";let t=globalThis.matchMedia;if(typeof t!="function")return"light";try{return t("(prefers-color-scheme: dark)").matches?"dark":"light"}catch{return"light"}}function SC(t,e){return t&&t!=="auto"?k_(t)??e:e}var BX="0.5.0",GX="04bdff9",XX="pre code.language-nowline, code.language-nowline",IC={theme:"auto",startOnLoad:!0,selector:XX,systemTheme:hm(),share:!0},Tt={...IC},WE=!1;function HX(t={}){Tt={theme:t.theme??Tt.theme,startOnLoad:t.startOnLoad??Tt.startOnLoad,selector:t.selector??Tt.selector,locale:t.locale??Tt.locale,width:t.width??Tt.width,today:t.today??Tt.today,share:t.share??Tt.share,sourceUrl:t.sourceUrl??Tt.sourceUrl,systemTheme:hm()}}function kC(){return{theme:SC(Tt.theme,Tt.systemTheme),locale:Tt.locale,width:Tt.width,today:Tt.today}}async function jX(t,e={}){let r={...kC(),...e};return dm(t,r)}async function zX(t){return sC(t)}async function VE(t){let e={selector:t?.selector??Tt.selector,theme:t?.theme??kC().theme,locale:t?.locale??Tt.locale,width:t?.width??Tt.width,today:t?.today??Tt.today,share:t?.share??Tt.share,sourceUrl:t?.sourceUrl??Tt.sourceUrl,document:t?.document};return wC(e)}var qX=VE;if(typeof document<"u"&&!WE){WE=!0;let t=()=>{Tt.startOnLoad&&VE()};document.readyState==="loading"?document.addEventListener("DOMContentLoaded",t,{once:!0}):queueMicrotask(t)}function WX(){Tt={...IC,systemTheme:hm()},WE=!1,aC(),AC()}return sf(VX);})();
|
|
2664
2664
|
//# sourceMappingURL=nowline.min.js.map
|