dotfiles/vscode/.vscode/extensions/ms-azuretools.vscode-docker-1.29.1/dist/dockerfile-language-server-nodejs/lib/server.js
2024-08-02 10:42:24 -06:00

1 line
429 KiB
JavaScript

(()=>{var e={12447:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Argument=void 0;t.Argument=class Argument{constructor(e,t){this.value=e,this.range=t}toString(){return this.value}getRange(){return this.range}getValue(){return this.value}isAfter(e){return!(this.range.end.line<e.line)&&(this.range.start.line>e.line||this.range.start.character>e.character)}isBefore(e){return this.range.start.line<e.line||!(this.range.end.line>e.line)&&this.range.end.character<e.character}}},42179:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Comment=void 0;const r=n(28661),i=n(47119),o=n(98707);class Comment extends i.Line{constructor(e,t){super(e,t)}toString(){const e=this.getContent();return e?"# "+e:"#"}getContent(){let e=this.getContentRange();return null===e?"":this.document.getText().substring(this.document.offsetAt(e.start),this.document.offsetAt(e.end))}getContentRange(){let e=this.getRange();const t=this.document.offsetAt(e.start);let n=this.document.getText().substring(t,this.document.offsetAt(e.end)),i=-1,a=-1;for(let e=1;e<n.length;e++)if(!o.Util.isWhitespace(n.charAt(e))){i=e;break}if(-1===i)return null;for(let e=n.length-1;e>=1;e--)if(!o.Util.isWhitespace(n.charAt(e))){a=e+1;break}return r.Range.create(this.document.positionAt(t+i),this.document.positionAt(t+a))}}t.Comment=Comment},71513:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Dockerfile=void 0;const r=n(28661),i=n(243),o=n(30791),a=n(98654),s=n(98707),c=n(243);class Dockerfile extends o.ImageTemplate{constructor(e){super(),this.initialInstructions=new o.ImageTemplate,this.buildStages=[],this.directives=[],this.foundFrom=!1,this.document=e}getEscapeCharacter(){for(const e of this.directives)if(e.getDirective()===i.Directive.escape){const t=e.getValue();if("\\"===t||"`"===t)return t}return"\\"}getInitialARGs(){return this.initialInstructions.getARGs()}getContainingImage(e){let t=r.Range.create(r.Position.create(0,0),this.document.positionAt(this.document.getText().length));if(!s.Util.isInsideRange(e,t))return null;if((this.initialInstructions.getComments().length>0||this.initialInstructions.getInstructions().length>0)&&s.Util.isInsideRange(e,this.initialInstructions.getRange()))return this.initialInstructions;for(const t of this.buildStages)if(s.Util.isInsideRange(e,t.getRange()))return t;return this}addInstruction(e){e.getKeyword()===c.Keyword.FROM?(this.currentBuildStage=new o.ImageTemplate,this.buildStages.push(this.currentBuildStage),this.foundFrom=!0):this.foundFrom||this.initialInstructions.addInstruction(e),this.foundFrom&&this.currentBuildStage.addInstruction(e),super.addInstruction(e)}setDirectives(e){this.directives=e}getDirective(){return 0===this.directives.length?null:this.directives[0]}getDirectives(){return this.directives}resolveVariable(e,t){for(let n of this.getFROMs()){let r=n.getRange();if(r.start.line<=t&&t<=r.end.line){let n=new o.ImageTemplate;for(let e of this.initialInstructions.getARGs())n.addInstruction(e);return n.resolveVariable(e,t)}}let n=this.getContainingImage(r.Position.create(t,0));if(null===n)return;let i=n.resolveVariable(e,t);if(null===i){let n=new o.ImageTemplate;for(let e of this.initialInstructions.getARGs())n.addInstruction(e);return n.resolveVariable(e,t)}return i}getAvailableVariables(e){if(this.getInstructionAt(e)instanceof a.From){let e=[];for(let t of this.getInitialARGs()){let n=t.getProperty();n&&e.push(n.getName())}return e}let t=this.getContainingImage(r.Position.create(e,0));return t?t.getAvailableVariables(e):[]}getParentStage(e){const t=e.getFROM(),n=null===t?null:t.getImageName();if(null===n)return null;for(const e of this.getFROMs())if(e.getBuildStage()===n){const n=e.getRange();return n.start.line===t.getRange().start.line?null:this.getContainingImage(n.start)}return null}getStageHierarchy(e){const t=this.getContainingImage(r.Position.create(e,0));if(null===t)return[];const n=[t];let i=this.getParentStage(t);for(;null!==i;)n.splice(0,0,i),i=this.getParentStage(i);return n}getAvailableWorkingDirectories(e){const t=new Set;for(const n of this.getStageHierarchy(e))for(const r of n.getWORKDIRs())if(r.getRange().end.line<e){let e=r.getAbsolutePath();null!=e&&(e.endsWith("/")||(e+="/"),t.add(e))}return Array.from(t)}organizeComments(){const e=this.getComments();for(let t=0;t<e.length;t++)if(s.Util.isInsideRange(e[t].getRange().end,this.initialInstructions.getRange()))this.initialInstructions.addComment(e[t]);else for(const n of this.buildStages)s.Util.isInsideRange(e[t].getRange().start,n.getRange())&&n.addComment(e[t])}getRange(){const e=this.getComments(),t=this.getInstructions();let n=null;if(0===e.length)t.length>0&&(n=r.Range.create(t[0].getRange().start,t[t.length-1].getRange().end));else if(0===t.length)n=r.Range.create(e[0].getRange().start,e[e.length-1].getRange().end);else{const i=e[0].getRange().start,o=e[e.length-1].getRange().end,a=t[0].getRange().start,s=t[t.length-1].getRange().end;i.line<a.line?(o.line<s.line&&(n=r.Range.create(i,s)),n=r.Range.create(i,o)):n=o.line<s.line?r.Range.create(a,s):r.Range.create(a,o)}return null===n?0===this.directives.length?null:this.directives[0].getRange():0===this.directives.length?n:r.Range.create(this.directives[0].getRange().start,n.end)}}t.Dockerfile=Dockerfile},11170:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Flag=void 0;const r=n(28661),i=n(29571);t.Flag=class Flag{constructor(e,t,n,r,i,o){if(this.options=[],this.range=t,this.name=n,this.nameRange=r,this.value=i,this.valueRange=o,null!==this.value){let t=e.offsetAt(o.start),n=-1,r=-1,a=!1;for(let o=0;o<i.length;o++)switch(i.charAt(o)){case"=":if(a=!0,-1===r){r=o+1;break}break;case",":this.options.push(this.createFlagOption(e,i,t,n,r,o)),n=-1,r=-1;break;default:-1===n&&(n=o)}a&&-1!==n&&this.options.push(this.createFlagOption(e,i,t,n,r,i.length))}}createFlagOption(e,t,n,o,a,s){const c=r.Range.create(e.positionAt(n+o),e.positionAt(n+s));return-1===a?new i.FlagOption(c,t.substring(o,s),c,null,null):new i.FlagOption(c,t.substring(o,a-1),r.Range.create(e.positionAt(n+o),e.positionAt(n+a-1)),t.substring(a,s),r.Range.create(e.positionAt(n+a),e.positionAt(n+s)))}toString(){return this.valueRange?"--"+this.name+"="+this.value:"--"+this.name}getRange(){return this.range}getName(){return this.name}getNameRange(){return this.nameRange}getValue(){return this.value}getValueRange(){return this.valueRange}getOption(e){for(const t of this.options)if(t.getName()===e)return t;return null}getOptions(){return this.options}hasOptions(){return this.options.length>0}}},29571:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.FlagOption=void 0;t.FlagOption=class FlagOption{constructor(e,t,n,r,i){this.range=e,this.name=t,this.nameRange=n,this.value=r,this.valueRange=i}toString(){return null!==this.valueRange?this.name+"="+this.value:this.name}getRange(){return this.range}getName(){return this.name}getNameRange(){return this.nameRange}getValue(){return this.value}getValueRange(){return this.valueRange}}},8701:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Heredoc=void 0;t.Heredoc=class Heredoc{constructor(e,t,n,r,i){this.startRange=e,this.name=t,this.nameRange=n,this.contentRange=r,this.endRange=i}getName(){return this.name}getStartRange(){return this.startRange}getNameRange(){return this.nameRange}getContentRange(){return this.contentRange}getDelimiterRange(){return this.endRange}}},30791:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ImageTemplate=void 0;const r=n(28661),i=n(60904),o=n(85450),a=n(84361),s=n(22474),c=n(75822),u=n(98654),l=n(43355),g=n(46319),d=n(98707),h=n(99377);t.ImageTemplate=class ImageTemplate{constructor(){this.comments=[],this.instructions=[]}addComment(e){this.comments.push(e)}getComments(){return this.comments}addInstruction(e){this.instructions.push(e)}getInstructions(){return this.instructions}getInstructionAt(e){for(let t of this.instructions)if(d.Util.isInsideRange(r.Position.create(e,0),t.getRange()))return t;return null}getARGs(){let e=[];for(let t of this.instructions)t instanceof i.Arg&&e.push(t);return e}getCMDs(){let e=[];for(let t of this.instructions)t instanceof o.Cmd&&e.push(t);return e}getCOPYs(){let e=[];for(let t of this.instructions)t instanceof a.Copy&&e.push(t);return e}getENTRYPOINTs(){let e=[];for(let t of this.instructions)t instanceof c.Entrypoint&&e.push(t);return e}getENVs(){let e=[];for(let t of this.instructions)t instanceof s.Env&&e.push(t);return e}getFROM(){for(const e of this.instructions)if(e instanceof u.From)return e;return null}getFROMs(){let e=[];for(let t of this.instructions)t instanceof u.From&&e.push(t);return e}getHEALTHCHECKs(){let e=[];for(let t of this.instructions)t instanceof l.Healthcheck&&e.push(t);return e}getWORKDIRs(){const e=[];for(const t of this.instructions)t instanceof h.Workdir&&e.push(t);return e}getOnbuildTriggers(){let e=[];for(let t of this.instructions)if(t instanceof g.Onbuild){let n=t.getTriggerInstruction();n&&e.push(n)}return e}getAvailableVariables(e){const t=[];for(const n of this.getARGs())if(n.isBefore(e)){const e=n.getProperty();if(e){const n=e.getName();-1===t.indexOf(n)&&t.push(n)}}for(const n of this.getENVs())if(n.isBefore(e))for(const e of n.getProperties()){const n=e.getName();-1===t.indexOf(n)&&t.push(n)}return t}resolveVariable(e,t){let n=this.getENVs();for(let r=n.length-1;r>=0;r--)if(n[r].isBefore(t))for(let t of n[r].getProperties())if(t.getName()===e)return t.getValue();let r=this.getARGs();for(let n=r.length-1;n>=0;n--)if(r[n].isBefore(t)){let t=r[n].getProperty();if(t&&t.getName()===e)return t.getValue()}}getRange(){const e=this.getInstructions();if(0===e.length)return r.Range.create(0,0,0,0);const t=e[0].getRange().start,n=e[e.length-1].getRange().end;return r.Range.create(t,n)}contains(e){const t=this.getRange();return null!==t&&d.Util.isInsideRange(e,t)}}},99311:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Instruction=void 0;const r=n(28661),i=n(98707),o=n(47119),a=n(12447),s=n(8701),c=n(28155),u=n(243);class Instruction extends o.Line{constructor(e,t,n,r,i,o){super(e,t),this.dockerfile=n,this.escapeChar=r,this.instruction=i,this.instructionRange=o}toString(){let e=this.getKeyword();for(let t of this.getRawArguments())e+=" ",e+=t.getValue();return e}getRangeContent(e){return null===e?null:this.document.getText().substring(this.document.offsetAt(e.start),this.document.offsetAt(e.end))}getInstructionRange(){return this.instructionRange}getInstruction(){return this.instruction}getKeyword(){return this.getInstruction().toUpperCase()}getArgumentsRange(){let e=this.getArguments();return 0===e.length?null:r.Range.create(e[0].getRange().start,e[e.length-1].getRange().end)}getArgumentsRanges(){let e=this.getArguments();if(0===e.length)return[];if(e[0].getRange().start.line===e[e.length-1].getRange().end.line)return[r.Range.create(e[0].getRange().start,e[e.length-1].getRange().end)];let t=[],n=-1,o=e[0].getRange().start,a=this.getInstructionRange(),s=this.document.offsetAt(o)-this.document.offsetAt(a.start),c=this.getTextContent().substring(s,this.document.offsetAt(e[e.length-1].getRange().end)-this.document.offsetAt(a.start)),u=this.document.offsetAt(a.start)+s,l=!1,g=!1;for(let e=0;e<c.length;e++){let a=c.charAt(e);if(a===this.escapeChar){let i=c.charAt(e+1);if(" "===i||"\t"===i)e:for(let i=e+2;i<c.length;i++)switch(c.charAt(i)){case" ":case"\t":continue;case"\r":i++;case"\n":null!==o&&t.push(r.Range.create(o,this.document.positionAt(u+n+1))),o=null,l=!0,g=!1,e=i;break e;default:break e}else"\r"===i?(null!==o&&(t.push(r.Range.create(o,this.document.positionAt(u+n+1))),o=null),l=!0,g=!1,e+=2):"\n"===i?(null!==o&&t.push(r.Range.create(o,this.document.positionAt(u+n+1))),o=null,l=!0,g=!1,e++):e++}else if(i.Util.isNewline(a))g&&(o=null,l=!0,g=!1);else if(!g){if(null===o){if("#"===a){g=!0;continue}let t=this.document.positionAt(u+e);0!==t.character&&(o=r.Position.create(t.line,0))}n=e}}return null===o?t.push(r.Range.create(this.document.positionAt(u+n),this.document.positionAt(u+n+1))):t.push(r.Range.create(o,this.document.positionAt(u+n+1))),t}getRawArgumentsContent(){let e=this.getArguments();return 0===e.length?null:this.getRangeContent(r.Range.create(e[0].getRange().start,e[e.length-1].getRange().end))}getArgumentsContent(){if(0===this.getArguments().length)return null;let e="",t=this.getArgumentsRanges(),n=this.document.getText();for(let r of t)e+=n.substring(this.document.offsetAt(r.start),this.document.offsetAt(r.end));return e}getArguments(){return this.getRawArguments()}getRawArguments(){let e=[],t=this.getInstructionRange(),n=this.document.offsetAt(t.end)-this.document.offsetAt(t.start),o=this.getTextContent().substring(n),s=this.document.offsetAt(t.start)+n,c=!1,u=!1,l=-1,g=!1,d=!1,h=-1,m="";for(let t=0;t<o.length;t++){let n=o.charAt(t);if(i.Util.isWhitespace(n)){if(d){g=!0,i.Util.isNewline(n)&&(g=!1,u&&(u=!1,c=!0));continue}-1!==l&&(-1===h?e.push(new a.Argument(m,r.Range.create(this.document.positionAt(s+l),this.document.positionAt(s+t)))):e.push(new a.Argument(m,r.Range.create(this.document.positionAt(s+l),this.document.positionAt(s+h)))),h=-1,m="",l=-1)}else if(n===this.escapeChar){let i=o.charAt(t+1);if(" "===i||"\t"===i)e:for(let e=t+2;e<o.length;e++){switch(o.charAt(e)){case" ":case"\t":continue;case"\r":e++;case"\n":u=!1,d=!0,c=!0,-1!==l&&(h=t),t=e;break e;default:h=t,-1===l&&(t=e-1);break e}}else if("\r"===i)u=!1,d=!0,c=!0,-1!==l&&-1===h&&(h=t),t+=2;else if("\n"===i)u=!1,d=!0,c=!0,-1!==l&&-1===h&&(h=t),t++;else{if(g&&-1!==h&&(e.push(new a.Argument(m,r.Range.create(this.document.positionAt(s+l),this.document.positionAt(s+h)))),m="",l=-1),h=-1,g=!1,d=!1,"$"===i)m=m+n+i;else{if(""===i)break;m+=i}-1===l&&(l=t),t++}}else u||(c&&"#"===n?u=!0:(g&&-1!==h&&(e.push(new a.Argument(m,r.Range.create(this.document.positionAt(s+l),this.document.positionAt(s+h)))),m="",l=-1),g=!1,d=!1,h=-1,m+=n,-1===l&&(l=t)),c=!1)}return-1!==l&&(-1===h?e.push(new a.Argument(m,r.Range.create(this.document.positionAt(s+l),this.document.positionAt(s+o.length)))):e.push(new a.Argument(m,r.Range.create(this.document.positionAt(s+l),this.document.positionAt(s+h))))),e}getExpandedArguments(){let e=this.getArguments();for(let t=0;t<e.length;t++){const n=e[t].getRange();let r=this.document.offsetAt(n.start);const i=this.parseVariables(r,e[t].getValue()),o=[];let s=!1;for(let e of i){const t=this.dockerfile.resolveVariable(e.getName(),e.getNameRange().start.line);o.push(t),s=s||void 0!==t}if(s){let s="";for(let e=0;e<o.length;e++){const t=i[e].getRange(),n=this.document.offsetAt(t.start),a=this.document.offsetAt(t.end);o[e]?(s+=this.document.getText().substring(r,n),s+=o[e],r=a):(s+=this.document.getText().substring(r,a),r=a)}const c=this.document.offsetAt(n.end);c!==r&&(s+=this.document.getText().substring(r,c)),e[t]=new a.Argument(s,n)}}return e}getVariables(){const e=[],t=this.getRawArguments();for(const n of t){let t=n.getRange(),r=this.document.getText().substring(this.document.offsetAt(t.start),this.document.offsetAt(t.end));const i=this.parseVariables(this.document.offsetAt(n.getRange().start),r);for(const t of i)e.push(t)}return e}parseVariables(e,t){let n=[];e:for(let o=0;o<t.length;o++)switch(t.charAt(o)){case this.escapeChar:"$"===t.charAt(o+1)&&o++;break;case"$":if("{"===t.charAt(o+1)){let i="${",a="",s=-1,u="",l=-1,g=-1,d=-1;t:for(let h=o+2;h<t.length;h++){let m=t.charAt(h);switch(m){case this.escapeChar:for(let e=h+1;e<t.length;e++)switch(t.charAt(e)){case" ":case"\t":case"\r":continue;case"\n":h=e;continue t}break;case"}":i+="}";let f=null,p=null,v=-1!==d?u:null,R=null;-1===s?s=h:s+1===h?(f="",p=r.Range.create(this.document.positionAt(e+s+1),this.document.positionAt(e+s+1))):(-1===l?(l=d+1,g=d+1):g+=1,f=t.substring(d,d+1),p=r.Range.create(this.document.positionAt(e+d),this.document.positionAt(e+d+1)),R=r.Range.create(this.document.positionAt(e+l),this.document.positionAt(e+g)));let b=this.document.positionAt(e+o);n.push(new c.Variable(a,r.Range.create(this.document.positionAt(e+o+2),this.document.positionAt(e+s)),r.Range.create(b,this.document.positionAt(e+h+1)),f,p,v,R,void 0!==this.dockerfile.resolveVariable(a,b.line),this.isBuildVariable(a,b.line),i)),o=h;continue e;case":":-1===s?s=h:-1!==d?(-1===l?(l=h,g=h):g=h,u+=":"):d=h,i+=":";break;case"\n":case"\r":case" ":case"\t":break;default:-1===s?a+=m:-1!==d?(-1===l?(l=h,g=h):g=h,u+=m):d=h,i+=m}}break e}if(i.Util.isWhitespace(t.charAt(o+1))||o===t.length-1)continue;{let i="";t:for(let a=o+1;a<t.length;a++){let s=t.charAt(a);switch(s){case"\r":case"\n":case" ":case"\t":continue;case"$":case"'":case'"':let s=this.document.positionAt(e+o);n.push(new c.Variable(i,r.Range.create(this.document.positionAt(e+o+1),this.document.positionAt(e+a)),r.Range.create(s,this.document.positionAt(e+a)),null,null,null,null,void 0!==this.dockerfile.resolveVariable(i,s.line),this.isBuildVariable(i,s.line),"$"+i)),o=a-1;continue e;case this.escapeChar:for(let e=a+1;e<t.length;e++)switch(t.charAt(e)){case" ":case"\t":case"\r":continue;case"\n":a=e;continue t}let u=this.document.positionAt(e+o);n.push(new c.Variable(i,r.Range.create(this.document.positionAt(e+o+1),this.document.positionAt(e+a)),r.Range.create(u,this.document.positionAt(e+a)),null,null,null,null,void 0!==this.dockerfile.resolveVariable(i,u.line),this.isBuildVariable(i,u.line),"$"+i));break e}if(null===s.match(/^[a-z0-9_]+$/i)){let t=this.document.positionAt(e+o);n.push(new c.Variable(i,r.Range.create(this.document.positionAt(e+o+1),this.document.positionAt(e+a)),r.Range.create(t,this.document.positionAt(e+a)),null,null,null,null,void 0!==this.dockerfile.resolveVariable(i,t.line),this.isBuildVariable(i,t.line),"$"+i)),o=a-1;continue e}i+=s}let a=this.document.positionAt(e+o);n.push(new c.Variable(i,r.Range.create(this.document.positionAt(e+o+1),this.document.positionAt(e+t.length)),r.Range.create(a,this.document.positionAt(e+t.length)),null,null,null,null,void 0!==this.dockerfile.resolveVariable(i,a.line),this.isBuildVariable(i,a.line),"$"+i))}break e}return n}isBuildVariable(e,t){if(this.getKeyword()===u.Keyword.FROM){for(const t of this.dockerfile.getInitialARGs()){const n=t.getProperty();if(n&&e===n.getName())return!0}return}let n=this.dockerfile.getContainingImage(r.Position.create(t,0)),i=n.getENVs();for(let n=i.length-1;n>=0;n--)if(i[n].isBefore(t))for(let t of i[n].getProperties())if(t.getName()===e)return!1;let o=n.getARGs();for(let n=o.length-1;n>=0;n--)if(o[n].isBefore(t)){let t=o[n].getProperty();if(t&&t.getName()===e)return!0}}createSingleLineHeredocs(e){const t=[];for(const n of e){if(n.getValue().startsWith("<<")){const e=n.getRange(),r=this.getNameRange(e),i=this.getName(r);t.push(new s.Heredoc(e,i,r,null,null))}}return t}getName(e){const t=this.document.getText(e);let n=!1,r="";e:for(let e=0;e<t.length;e++){const i=t.charAt(e);switch(i){case this.escapeChar:n=!0;for(let n=e+1;n<t.length;n++)switch(t.charAt(n)){case" ":case"\t":break;case"\r":e=n+1;continue e;case"\n":e=n;continue e;default:r+=t.charAt(n),e=n;continue e}break;case"#":if(n)for(let n=e+1;n<t.length;n++)if("\n"===t.charAt(n)){e=n;continue e}case" ":case"\t":case"\r":case"\n":if(n)break;default:r+=i}}return r}getNameRange(e){const t=this.document.getText(e);let n=!1,i=!1,o=-1,a=-1,s=!1,c=null;e:for(let e=0;e<t.length;e++){const r=t.charAt(e);switch(r){case'"':case"'":if(c===r)break e;c=r;continue;case this.escapeChar:for(let n=e+1;n<t.length;n++)if("\n"===t.charAt(n)){s=!0,n=e;continue e}break;case" ":case"\t":case"\r":case"\n":break;case"<":n?i=!0:n=!0;break;case"-":if(i){i=!1;break}case"#":if(s)for(let n=e+1;n<t.length;n++)if("\n"===t.charAt(n)){e=n;continue e}default:if(-1===o&&(o=e),null!==c){a=e+1;break}break e}}if(-1===o)return r.Range.create(e.end,e.end);const u=this.document.positionAt(this.document.offsetAt(e.start)+o),l=null!==c?this.document.positionAt(this.document.offsetAt(e.start)+a):e.end;return r.Range.create(u,l)}getHeredocs(){const e=this.getArguments();if(0===e.length)return[];const t=[],n=this.getRange();if(n.start.line===n.end.line)return this.createSingleLineHeredocs(e);const i=[];let o=!1,a=!1,c=-1,u=-1,l=-1,g=0;const d=this.document.offsetAt(e[0].getRange().start),h=this.getRangeContent(r.Range.create(e[0].getRange().start,this.getRange().end));e:for(let n=0;n<h.length;n++)switch(h.charAt(n)){case this.escapeChar:a=!0;for(let e=n+1;e<h.length;e++)switch(h.charAt(e)){case" ":case"\t":break;case"\r":e++;default:n=e;continue e}break;case"\r":break;case"\n":if(a)break;if(!o){const t=d+n;for(const n of e){if(!(this.document.offsetAt(n.getRange().start)<t))break;n.getValue().startsWith("<<")&&i.push(n)}o=!0,l=-1;continue e}{-1===c&&(c=n),u=n;const e=i[g],o=e.getRange(),a=this.getNameRange(o),h=this.getName(a),m=this.getDelimiterRange(e,h,r.Range.create(this.document.positionAt(d+l),this.document.positionAt(d+n)));if(null!==m){const e=r.Range.create(this.document.positionAt(d+c),this.document.positionAt(d+l-1));t.push(new s.Heredoc(o,h,a,e,m)),c=-1,g++}l=-1}break;case" ":case"\t":if(a)break;case"#":if(a)for(let e=n+1;e<h.length;e++)if("\n"===h.charAt(e)){n=e;continue e}default:a&&(a=!1),o&&(-1===c&&(c=n),-1===l&&(l=n))}if(!o)return this.createSingleLineHeredocs(e);{const e=i[g],o=e.getRange(),a=this.getNameRange(o),h=this.getName(a);let m=null;const f=this.getDelimiterRange(e,h,r.Range.create(this.document.positionAt(d+l),n.end));null===f?m=r.Range.create(this.document.positionAt(d+c),n.end):-1!==u&&(m=r.Range.create(this.document.positionAt(d+c),this.document.positionAt(d+u))),t.push(new s.Heredoc(o,h,a,m,f)),g++;for(let e=g;e<i.length;e++){const e=i[g].getRange(),n=this.getNameRange(e),r=this.getName(n);t.push(new s.Heredoc(e,r,n,null,null)),g++}}return t}getDelimiterRange(e,t,n){const i=this.document.getText(n);if(e.getValue().startsWith("<<-")){let e=0;for(;"\t"===i.charAt(e);)e++;return i.substring(e)===t?r.Range.create(r.Position.create(n.start.line,e),n.end):null}return i===t?n:null}}t.Instruction=Instruction},46581:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Add=void 0;const r=n(24990);class Add extends r.JSONInstruction{constructor(e,t,n,r,i,o){super(e,t,n,r,i,o)}stopSearchingForFlags(e){return-1===e.indexOf("--")}}t.Add=Add},60904:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Arg=void 0;const r=n(38698),i=n(78535);class Arg extends i.PropertyInstruction{constructor(e,t,n,i,o,a){super(e,t,n,i,o,a),this.property=null;const s=this.getPropertyArguments();1===s.length?this.property=new r.Property(this.document,this.escapeChar,s[0]):this.property=null}getProperty(){return this.property}}t.Arg=Arg},85450:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Cmd=void 0;const r=n(24990);class Cmd extends r.JSONInstruction{constructor(e,t,n,r,i,o){super(e,t,n,r,i,o)}}t.Cmd=Cmd},84361:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Copy=void 0;const r=n(24990);class Copy extends r.JSONInstruction{constructor(e,t,n,r,i,o){super(e,t,n,r,i,o)}stopSearchingForFlags(e){return-1===e.indexOf("--")}getFromFlag(){let e=super.getFlags();return 1===e.length&&"from"===e[0].getName()?e[0]:null}getHeredocs(){return super.getHeredocs()}}t.Copy=Copy},75822:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Entrypoint=void 0;const r=n(24990);class Entrypoint extends r.JSONInstruction{constructor(e,t,n,r,i,o){super(e,t,n,r,i,o)}}t.Entrypoint=Entrypoint},22474:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Env=void 0;const r=n(78535);class Env extends r.PropertyInstruction{constructor(e,t,n,r,i,o){super(e,t,n,r,i,o)}getProperties(){return super.getProperties()}}t.Env=Env},98654:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.From=void 0;const r=n(28661),i=n(78514);class From extends i.ModifiableInstruction{constructor(e,t,n,r,i,o){super(e,t,n,r,i,o)}stopSearchingForFlags(e){return-1===e.indexOf("--")}getImage(){return this.getRangeContent(this.getImageRange())}getImageName(){return this.getRangeContent(this.getImageNameRange())}getImageNameRange(){let e=this.getImageRange();if(e){let t=this.getRegistryRange();t&&(e.start=this.document.positionAt(this.document.offsetAt(t.end)+1));let n=this.getImageTagRange(),r=this.getImageDigestRange();return null===n?null!==r&&(e.end=this.document.positionAt(this.document.offsetAt(r.start)-1)):e.end=this.document.positionAt(this.document.offsetAt(n.start)-1),e}return null}getImageRange(){let e=this.getArguments();return 0!==e.length?e[0].getRange():null}getImageTag(){return this.getRangeContent(this.getImageTagRange())}getImageTagRange(){const e=this.getImageRange();if(e){const t=this.document.offsetAt(e.start),n=this.getRangeContent(e),i=this.indexOf(t,n,"@"),o=n.indexOf("/");if(-1===i){const i=this.lastIndexOf(t,n,":");if(i>o)return r.Range.create(e.start.line,e.start.character+i+1,e.end.line,e.end.character)}const a=n.substring(0,i),s=a.indexOf(":");return-1===s?null:-1===o?r.Range.create(this.document.positionAt(t+s+1),this.document.positionAt(t+i)):s<o?null:r.Range.create(this.document.positionAt(t+s+1),this.document.positionAt(t+a.length))}return null}getImageDigest(){return this.getRangeContent(this.getImageDigestRange())}getImageDigestRange(){let e=this.getImageRange();if(e){let t=this.getRangeContent(e),n=this.lastIndexOf(this.document.offsetAt(e.start),t,"@");if(-1!==n)return r.Range.create(e.start.line,e.start.character+n+1,e.end.line,e.end.character)}return null}indexOf(e,t,n){let r=t.indexOf(n);const i=this.getVariables();for(let o=0;o<i.length;o++){const a=e+r,s=i[o].getRange();if(this.document.offsetAt(s.start)<a&&a<this.document.offsetAt(s.end)){const i=this.document.offsetAt(s.end)-e,a=t.substring(i).indexOf(n);if(-1===a)return-1;r=a+i,o=-1}else;}return r}lastIndexOf(e,t,n){let r=t.lastIndexOf(n);const i=this.getVariables();for(let o=0;o<i.length;o++){const a=e+r,s=i[o].getRange();if(this.document.offsetAt(s.start)<a&&a<this.document.offsetAt(s.end)){if(r=t.substring(0,r).lastIndexOf(n),-1===r)return-1;o=-1}else;}return r}getRegistry(){return this.getRangeContent(this.getRegistryRange())}getRegistryRange(){const e=this.getImageRange();if(e){const t=this.getImageTagRange(),n=this.getImageDigestRange();null===t?null!==n&&(e.end=this.document.positionAt(this.document.offsetAt(n.start)-1)):e.end=this.document.positionAt(this.document.offsetAt(t.start)-1);const i=this.getRangeContent(e),o=this.document.offsetAt(e.start),a=this.indexOf(o,i,"/");if(-1===a)return null;const s=this.indexOf(o,i,":"),c=this.indexOf(o,i,".");if(-1!==s||-1!==c)return r.Range.create(e.start,this.document.positionAt(o+a));if("localhost"===i.substring(0,a))return r.Range.create(e.start,this.document.positionAt(o+a))}return null}getBuildStage(){let e=this.getBuildStageRange();return null===e?null:this.getRangeContent(e)}getBuildStageRange(){let e=this.getArguments();return e.length>2&&"AS"===e[1].getValue().toUpperCase()?e[2].getRange():null}getPlatformFlag(){let e=super.getFlags();return 1===e.length&&"platform"===e[0].getName()?e[0]:null}}t.From=From},43355:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Healthcheck=void 0;const r=n(78514);class Healthcheck extends r.ModifiableInstruction{constructor(e,t,n,r,i,o){super(e,t,n,r,i,o)}stopSearchingForFlags(e){return"CMD"===(e=e.toUpperCase())||"NONE"===e}getSubcommand(){let e=this.getArguments();return 0!==e.length?e[0]:null}}t.Healthcheck=Healthcheck},20191:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Label=void 0;const r=n(78535),i=n(98707);class Label extends r.PropertyInstruction{constructor(e,t,n,r,i,o){super(e,t,n,r,i,o)}getVariables(){const e=super.getVariables(),t=this.getProperties();for(const n of t){const t=n.getUnescapedValue();if(null!==t&&t.length>2&&"'"===t.charAt(0)&&"'"===t.charAt(t.length-1)){const t=n.getValueRange();for(let n=0;n<e.length;n++)i.Util.isInsideRange(e[n].getRange().start,t)&&(e.splice(n,1),n--)}}return e}getProperties(){return super.getProperties()}}t.Label=Label},46319:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Onbuild=void 0;const r=n(28661),i=n(50668),o=n(99311);class Onbuild extends o.Instruction{constructor(e,t,n,r,i,o){super(e,t,n,r,i,o)}getTrigger(){let e=this.getTriggerWord();return null===e?null:e.toUpperCase()}getTriggerWord(){return this.getRangeContent(this.getTriggerRange())}getTriggerRange(){let e=this.getArguments();return e.length>0?e[0].getRange():null}getTriggerInstruction(){let e=this.getTriggerRange();if(null===e)return null;let t=this.getArguments();return i.Parser.createInstruction(this.document,this.dockerfile,this.escapeChar,r.Range.create(t[0].getRange().start,this.getRange().end),this.getTriggerWord(),e)}}t.Onbuild=Onbuild},3062:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Run=void 0;const r=n(24990);class Run extends r.JSONInstruction{constructor(e,t,n,r,i,o){super(e,t,n,r,i,o)}stopSearchingForFlags(e){return-1===e.indexOf("--")}getHeredocs(){return super.getHeredocs()}}t.Run=Run},40978:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Shell=void 0;const r=n(24990);class Shell extends r.JSONInstruction{constructor(e,t,n,r,i,o){super(e,t,n,r,i,o)}}t.Shell=Shell},62885:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Stopsignal=void 0;const r=n(99311);class Stopsignal extends r.Instruction{constructor(e,t,n,r,i,o){super(e,t,n,r,i,o)}}t.Stopsignal=Stopsignal},87372:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.User=void 0;const r=n(99311);class User extends r.Instruction{constructor(e,t,n,r,i,o){super(e,t,n,r,i,o)}}t.User=User},3951:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Volume=void 0;const r=n(24990);class Volume extends r.JSONInstruction{constructor(e,t,n,r,i,o){super(e,t,n,r,i,o)}}t.Volume=Volume},99377:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Workdir=void 0;const r=n(99311);class Workdir extends r.Instruction{constructor(e,t,n,r,i,o){super(e,t,n,r,i,o)}getPath(){return this.getArgumentsContent()}getAbsolutePath(){const e=this.getPath();if(null===e||e.startsWith("/"))return e;const t=this.getRange().start.line,n=this.dockerfile.getStageHierarchy(t);for(let r=n.length-1;r>=0;r--){const i=n[r].getWORKDIRs();for(let n=i.length-1;n>=0;n--)if(i[n].getRange().start.line<t){const t=i[n].getAbsolutePath();if(null==t)return;return t.endsWith("/")?t+e:t+"/"+e}}}}t.Workdir=Workdir},24703:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.JSONArgument=void 0;const r=n(12447);class JSONArgument extends r.Argument{constructor(e,t,n){super(e,t),this.jsonRange=n}getJSONRange(){return this.jsonRange}getJSONValue(){let e=super.getValue();return e=e.substring(1,e.length-1),e}}t.JSONArgument=JSONArgument},24990:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.JSONInstruction=void 0;const r=n(28661),i=n(12447),o=n(24703),a=n(78514);class JSONInstruction extends a.ModifiableInstruction{constructor(e,t,n,a,s,c){super(e,t,n,a,s,c),this.openingBracket=null,this.closingBracket=null,this.jsonStrings=[];const u=this.getRawArgumentsContent();if(null===u)return;const l=this.getArguments();if(1===l.length&&"[]"===l[0].getValue()){let e=l[0].getRange();return this.openingBracket=new i.Argument("[",r.Range.create(e.start.line,e.start.character,e.start.line,e.start.character+1)),void(this.closingBracket=new i.Argument("]",r.Range.create(e.start.line,e.start.character+1,e.end.line,e.end.character)))}if(2===l.length&&"["===l[0].getValue()&&"]"===l[1].getValue())return this.openingBracket=l[0],void(this.closingBracket=l[1]);const g=e.offsetAt(this.getArgumentsRange().start);let d=-1,h="",m=!1,f="";e:for(let t=0;t<u.length;t++){let n=u.charAt(t);switch(n){case"[":if(""===h)this.openingBracket=new i.Argument("[",r.Range.create(e.positionAt(g+t),e.positionAt(g+t+1))),h="[";else{if(!m)break e;f+=n}break;case'"':if("["===h||","===h){d=t,m=!0,h='"',f+=n;continue}if('"'!==h)break e;if(!m)break e;f+=n,m=!1,this.jsonStrings.push(new o.JSONArgument(f,r.Range.create(e.positionAt(g+d),e.positionAt(g+t+1)),r.Range.create(e.positionAt(g+d+1),e.positionAt(g+t)))),f="";break;case",":if(m)f+=n;else{if('"'!==h)break e;h=","}break;case"]":if(m)f+=n;else if(""!==h){this.closingBracket=new i.Argument("]",r.Range.create(e.positionAt(g+t),e.positionAt(g+t+1)));break e}break;case" ":case"\t":break;case"\\":if(m)switch(u.charAt(t+1)){case'"':case"\\":f+=u.charAt(t+1),t++;continue;case" ":case"\t":t:for(let e=t+2;e<u.length;e++)switch(u.charAt(e)){case"\r":e++;case"\n":t=e;continue e;case" ":case"\t":break;default:break t}break;case"\r":t++;default:t++;continue}else t:for(let e=t+1;e<u.length;e++)switch(u.charAt(e)){case"\r":e++;case"\n":t=e;continue e;case" ":case"\t":break;default:break t}break e;default:if(!m)break e;f+=n}}}stopSearchingForFlags(e){return!0}getOpeningBracket(){return this.openingBracket}getJSONStrings(){return this.jsonStrings}getClosingBracket(){return this.closingBracket}}t.JSONInstruction=JSONInstruction},47119:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Line=void 0;t.Line=class Line{constructor(e,t){this.document=e,this.range=t}getRange(){return this.range}getTextContent(){return this.document.getText().substring(this.document.offsetAt(this.range.start),this.document.offsetAt(this.range.end))}isAfter(e){return this.range.start.line>e.range.start.line}isBefore(e){return this.range.start.line<e}}},243:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DockerfileParser=t.DefaultVariables=t.Directive=t.Keyword=t.Workdir=t.Volume=t.User=t.Stopsignal=t.Shell=t.Run=t.PropertyInstruction=t.Onbuild=t.ModifiableInstruction=t.Label=t.JSONInstruction=t.Heredoc=t.Healthcheck=t.From=t.Env=t.Entrypoint=t.Copy=t.Cmd=t.Arg=t.Add=t.Variable=t.Property=t.ParserDirective=t.Line=t.Instruction=t.Flag=t.Comment=t.JSONArgument=t.Argument=void 0;var r=n(12447);Object.defineProperty(t,"Argument",{enumerable:!0,get:function(){return r.Argument}});var i=n(24703);Object.defineProperty(t,"JSONArgument",{enumerable:!0,get:function(){return i.JSONArgument}});const o=n(42179);Object.defineProperty(t,"Comment",{enumerable:!0,get:function(){return o.Comment}});const a=n(50668);var s=n(11170);Object.defineProperty(t,"Flag",{enumerable:!0,get:function(){return s.Flag}});const c=n(99311);Object.defineProperty(t,"Instruction",{enumerable:!0,get:function(){return c.Instruction}});var u=n(47119);Object.defineProperty(t,"Line",{enumerable:!0,get:function(){return u.Line}});const l=n(41745);Object.defineProperty(t,"ParserDirective",{enumerable:!0,get:function(){return l.ParserDirective}});var g=n(38698);Object.defineProperty(t,"Property",{enumerable:!0,get:function(){return g.Property}});var d=n(28155);Object.defineProperty(t,"Variable",{enumerable:!0,get:function(){return d.Variable}});var h=n(46581);Object.defineProperty(t,"Add",{enumerable:!0,get:function(){return h.Add}});const m=n(60904);Object.defineProperty(t,"Arg",{enumerable:!0,get:function(){return m.Arg}});const f=n(85450);Object.defineProperty(t,"Cmd",{enumerable:!0,get:function(){return f.Cmd}});const p=n(84361);Object.defineProperty(t,"Copy",{enumerable:!0,get:function(){return p.Copy}});const v=n(75822);Object.defineProperty(t,"Entrypoint",{enumerable:!0,get:function(){return v.Entrypoint}});const R=n(22474);Object.defineProperty(t,"Env",{enumerable:!0,get:function(){return R.Env}});const b=n(98654);Object.defineProperty(t,"From",{enumerable:!0,get:function(){return b.From}});const D=n(43355);Object.defineProperty(t,"Healthcheck",{enumerable:!0,get:function(){return D.Healthcheck}});var y=n(8701);Object.defineProperty(t,"Heredoc",{enumerable:!0,get:function(){return y.Heredoc}});var _=n(24990);Object.defineProperty(t,"JSONInstruction",{enumerable:!0,get:function(){return _.JSONInstruction}});var k=n(20191);Object.defineProperty(t,"Label",{enumerable:!0,get:function(){return k.Label}});var S=n(78514);Object.defineProperty(t,"ModifiableInstruction",{enumerable:!0,get:function(){return S.ModifiableInstruction}});var T=n(46319);Object.defineProperty(t,"Onbuild",{enumerable:!0,get:function(){return T.Onbuild}});var C=n(78535);Object.defineProperty(t,"PropertyInstruction",{enumerable:!0,get:function(){return C.PropertyInstruction}});var A=n(3062);Object.defineProperty(t,"Run",{enumerable:!0,get:function(){return A.Run}});var E=n(40978);Object.defineProperty(t,"Shell",{enumerable:!0,get:function(){return E.Shell}});var P=n(62885);Object.defineProperty(t,"Stopsignal",{enumerable:!0,get:function(){return P.Stopsignal}});var I=n(87372);Object.defineProperty(t,"User",{enumerable:!0,get:function(){return I.User}});var N=n(3951);Object.defineProperty(t,"Volume",{enumerable:!0,get:function(){return N.Volume}});const M=n(99377);var O,w,x;Object.defineProperty(t,"Workdir",{enumerable:!0,get:function(){return M.Workdir}}),function(e){e.ADD="ADD",e.ARG="ARG",e.CMD="CMD",e.COPY="COPY",e.ENTRYPOINT="ENTRYPOINT",e.ENV="ENV",e.EXPOSE="EXPOSE",e.FROM="FROM",e.HEALTHCHECK="HEALTHCHECK",e.LABEL="LABEL",e.MAINTAINER="MAINTAINER",e.ONBUILD="ONBUILD",e.RUN="RUN",e.SHELL="SHELL",e.STOPSIGNAL="STOPSIGNAL",e.USER="USER",e.VOLUME="VOLUME",e.WORKDIR="WORKDIR"}(O||(t.Keyword=O={})),function(e){e.escape="escape",e.syntax="syntax"}(w||(t.Directive=w={})),t.DefaultVariables=["FTP_PROXY","ftp_proxy","HTTP_PROXY","http_proxy","HTTPS_PROXY","https_proxy","NO_PROXY","no_proxy"],function(e){e.parse=function parse(e){return(new a.Parser).parse(e)}}(x||(t.DockerfileParser=x={}))},78514:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ModifiableInstruction=void 0;const r=n(28661),i=n(11170),o=n(99311);class ModifiableInstruction extends o.Instruction{constructor(e,t,n,r,i,o){super(e,t,n,r,i,o)}getFlags(){if(!this.flags){this.flags=[];for(let e of this.getArguments()){let t=e.getValue();if(this.stopSearchingForFlags(t))return this.flags;if(0===t.indexOf("--")){let n=e.getRange(),o=this.document.getText().substring(this.document.offsetAt(n.start),this.document.offsetAt(n.end)),a=t.indexOf("="),s=o.indexOf("="),c=!1,u=!1,l=-1;e:for(let e=0;e<o.length;e++)switch(o.charAt(e)){case"\\":case" ":case"\t":case"\r":case"\n":break;case"-":if(u){l=e;break e}c?u=!0:c=!0;break;default:l=e;break e}let g=this.document.positionAt(this.document.offsetAt(n.start)+l);if(-1===s)this.flags.push(new i.Flag(this.document,n,t.substring(2),r.Range.create(g,n.end),null,null));else if(s===t.length-1){let e=this.document.positionAt(this.document.offsetAt(n.start)+s);this.flags.push(new i.Flag(this.document,n,t.substring(2,s),r.Range.create(g,e),"",r.Range.create(n.end,n.end)))}else{let e=this.document.positionAt(this.document.offsetAt(n.start)+s);this.flags.push(new i.Flag(this.document,n,t.substring(2,a),r.Range.create(g,e),t.substring(a+1),r.Range.create(this.document.positionAt(this.document.offsetAt(n.start)+s+1),n.end)))}}}}return this.flags}getArguments(){const e=super.getArguments(),t=this.getFlags();if(0===t.length)return e;for(let n=0;n<t.length;n++)e.shift();return e}}t.ModifiableInstruction=ModifiableInstruction},50668:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Parser=void 0;const r=n(31040),i=n(28661),o=n(42179),a=n(41745),s=n(99311),c=n(46581),u=n(60904),l=n(85450),g=n(84361),d=n(22474),h=n(75822),m=n(98654),f=n(43355),p=n(20191),v=n(46319),R=n(3062),b=n(40978),D=n(62885),y=n(99377),_=n(87372),k=n(3951),S=n(71513),T=n(98707),C=n(243);class Parser{constructor(){this.escapeChar=null}static createInstruction(e,t,n,r,i,o){switch(i.toUpperCase()){case"ADD":return new c.Add(e,r,t,n,i,o);case"ARG":return new u.Arg(e,r,t,n,i,o);case"CMD":return new l.Cmd(e,r,t,n,i,o);case"COPY":return new g.Copy(e,r,t,n,i,o);case"ENTRYPOINT":return new h.Entrypoint(e,r,t,n,i,o);case"ENV":return new d.Env(e,r,t,n,i,o);case"FROM":return new m.From(e,r,t,n,i,o);case"HEALTHCHECK":return new f.Healthcheck(e,r,t,n,i,o);case"LABEL":return new p.Label(e,r,t,n,i,o);case"ONBUILD":return new v.Onbuild(e,r,t,n,i,o);case"RUN":return new R.Run(e,r,t,n,i,o);case"SHELL":return new b.Shell(e,r,t,n,i,o);case"STOPSIGNAL":return new D.Stopsignal(e,r,t,n,i,o);case"WORKDIR":return new y.Workdir(e,r,t,n,i,o);case"USER":return new _.User(e,r,t,n,i,o);case"VOLUME":return new k.Volume(e,r,t,n,i,o)}return new s.Instruction(e,r,t,n,i,o)}getParserDirectives(e,t){const n=[];this.escapeChar="";e:for(let r=T.Util.isUTF8BOM(t.substring(0,1))?1:0;r<t.length;r++)switch(t.charAt(r)){case" ":case"\t":break;case"\r":case"\n":default:break e;case"#":let o=-1,s=-1;for(let c=r+1;c<t.length;c++){let u=t.charAt(c);switch(u){case" ":case"\t":-1!==o&&-1===s&&(s=c);break;case"\r":case"\n":break e;case"=":let l=-1,g=-1;-1===s&&(s=c);let d=t.length;t:for(let e=c+1;e<t.length;e++)switch(u=t.charAt(e),u){case"\r":case"\n":-1!==l&&-1===g&&(g=e),d=e;break t;case"\t":case" ":-1!==l&&-1===g&&(g=e);continue;default:-1===l&&(l=e)}if(-1===o)break e;-1===l?(l=c+1,g=d):-1===g&&(g=t.length);const h=i.Range.create(e.positionAt(r),e.positionAt(d)),m=i.Range.create(e.positionAt(o),e.positionAt(s)),f=i.Range.create(e.positionAt(l),e.positionAt(g));n.push(new a.ParserDirective(e,h,m,f)),o=-1,r="\r"===t.charAt(g)?g+1:g;continue e;default:-1===o&&(o=c)}}}return n}parse(e){this.document=r.TextDocument.create("","",0,e),this.buffer=e;let t=new S.Dockerfile(this.document),n=this.getParserDirectives(this.document,this.buffer),o=0;this.escapeChar="\\",n.length>0?(t.setDirectives(n),this.escapeChar=t.getEscapeCharacter(),o=this.document.offsetAt(i.Position.create(n.length,0))):T.Util.isUTF8BOM(e.substring(0,1))&&(o=1);for(let e=o;e<this.buffer.length;e++){const n=this.buffer.charAt(e);switch(n){case" ":case"\t":case"\r":case"\n":break;case"#":e=this.processComment(t,e);break;default:e=this.processInstruction(t,n,e)}}return t.organizeComments(),t}processInstruction(e,t,n){let r=t,i=-1,o=!1;e:for(let a=n+1;a<this.buffer.length;a++)switch(t=this.buffer.charAt(a)){case this.escapeChar:if(o=!0,"\r"===(t=this.buffer.charAt(a+1))||"\n"===t)-1===i&&(i=a),a++;else{if(" "===t||"\t"===t){for(let e=a+2;e<this.buffer.length;e++)switch(this.buffer.charAt(e)){case" ":case"\t":break;case"\r":case"\n":a=e;continue e;default:i=a+1,r+=this.escapeChar,a=e-2;continue e}i=a+1,r+=this.escapeChar;break e}i=a+1,r+=this.escapeChar,o=!1}break;case" ":case"\t":if(o){t:for(let e=a+1;e<this.buffer.length;e++)switch(this.buffer.charAt(e)){case" ":case"\t":break;case"\r":case"\n":a=e;continue e;default:break t}o=!1}return-1===i&&(i=a),a=this.processArguments(e,r,i,n,a),e.addInstruction(this.createInstruction(e,r,n,i,a)),a;case"\r":case"\n":if(o)continue;return-1===i&&(i=a),e.addInstruction(this.createInstruction(e,r,n,a,a)),a;case"#":if(o)continue;default:i=a+1,r+=t,o=!1}return-1===i&&(i=this.buffer.length),e.addInstruction(this.createInstruction(e,r,n,i,this.buffer.length)),this.buffer.length}parseHeredocName(e){return"-"===(e=e.substring(2)).charAt(0)&&(e=e.substring(1)),'"'===e.charAt(0)||"'"===e.charAt(0)?e.substring(1,e.length-1):e}processHeredocs(e,t){let n=e.getKeyword();if(n===C.Keyword.ONBUILD){if(null===(e=e.getTriggerInstruction()))return t;n=e.getKeyword()}if(n!==C.Keyword.ADD&&n!==C.Keyword.COPY&&n!==C.Keyword.RUN)return t;const r=[];for(const t of e.getArguments()){const e=t.getValue();e.startsWith("<<")&&e.length>2&&r.push(this.parseHeredocName(e))}if(r.length>0)for(const e of r)t=this.parseHeredoc(e,t);return t}processArguments(e,t,n,r,i){let o=!1;e:for(let a=i+1;a<this.buffer.length;a++)switch(this.buffer.charAt(a)){case"\r":case"\n":if(o)continue;return this.processHeredocs(this.createInstruction(e,t,r,n,a),a);case this.escapeChar:const i=this.buffer.charAt(a+1);if("\n"===i||"\r"===i)o=!0,a++;else if(" "===i||"\t"===i){for(let e=a+2;e<this.buffer.length;e++)switch(this.buffer.charAt(e)){case" ":case"\t":break;case"\r":case"\n":o=!0;default:a=e;continue e}return this.buffer.length}continue;case"#":if(o){a=this.processComment(e,a);continue e}break;case" ":case"\t":break;default:o&&(o=!1)}return this.buffer.length}processComment(e,t){let n=this.buffer.length;e:for(let e=t+1;e<this.buffer.length;e++)switch(this.buffer.charAt(e)){case"\r":case"\n":n=e;break e}const r=i.Range.create(this.document.positionAt(t),this.document.positionAt(n));return e.addComment(new o.Comment(this.document,r)),n}parseHeredoc(e,t){let n=-1,r=!0;for(let i=t;i<this.buffer.length;i++)switch(this.buffer.charAt(i)){case" ":case"\t":r=!1;break;case"\r":case"\n":if(-1!==n&&e===this.buffer.substring(n,i))return i;n=-1,r=!0;break;default:r&&(n=i,r=!1)}return this.buffer.length}createInstruction(e,t,n,r,o){const a=this.document.positionAt(n),s=i.Range.create(a,this.document.positionAt(r)),c=i.Range.create(a,this.document.positionAt(o));return Parser.createInstruction(this.document,e,this.escapeChar,c,t,s)}}t.Parser=Parser},41745:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ParserDirective=void 0;const r=n(243),i=n(47119);class ParserDirective extends i.Line{constructor(e,t,n,r){super(e,t),this.nameRange=n,this.valueRange=r}toString(){return"# "+this.getName()+"="+this.getValue()}getNameRange(){return this.nameRange}getValueRange(){return this.valueRange}getName(){return this.document.getText().substring(this.document.offsetAt(this.nameRange.start),this.document.offsetAt(this.nameRange.end))}getValue(){return this.document.getText().substring(this.document.offsetAt(this.valueRange.start),this.document.offsetAt(this.valueRange.end))}getDirective(){const e=r.Directive[this.getName().toLowerCase()];return void 0===e?null:e}}t.ParserDirective=ParserDirective},38698:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Property=void 0;const r=n(28661),i=n(98707);class Property{constructor(e,t,n,i){this.assignmentOperatorRange=null,this.assignmentOperator=null,this.valueRange=null,this.value=null,this.document=e,this.escapeChar=t,this.nameRange=Property.getNameRange(e,n);let o=e.getText().substring(e.offsetAt(this.nameRange.start),e.offsetAt(this.nameRange.end));if(this.name=Property.getValue(o,t),i)this.valueRange=i.getRange(),o=e.getText().substring(e.offsetAt(this.valueRange.start),e.offsetAt(this.valueRange.end)),this.value=Property.getValue(o,t),this.range=r.Range.create(this.nameRange.start,this.valueRange.end);else{let i=n.getRange();this.nameRange.start.line===i.start.line&&this.nameRange.start.character===i.start.character&&this.nameRange.end.line===i.end.line&&this.nameRange.end.character===i.end.character||(this.valueRange=Property.getValueRange(e,n),o=e.getText().substring(e.offsetAt(this.valueRange.start),e.offsetAt(this.valueRange.end)),this.value=Property.getValue(o,t),this.assignmentOperatorRange=r.Range.create(this.nameRange.end,this.valueRange.start),this.assignmentOperator="="),this.range=i}}getRange(){return this.range}getName(){return this.name}getNameRange(){return this.nameRange}getValue(){return this.value}getValueRange(){return this.valueRange}getAssignmentOperator(){return this.assignmentOperator}getAssignmentOperatorRange(){return this.assignmentOperatorRange}getUnescapedValue(){if(null===this.valueRange)return null;let e=!1,t="",n=this.document.getText().substring(this.document.offsetAt(this.valueRange.start),this.document.offsetAt(this.valueRange.end));e:for(let r=0;r<n.length;r++){let i=n.charAt(r);switch(i){case this.escapeChar:for(let o=r+1;o<n.length;o++)switch(n.charAt(o)){case"\r":o++;case"\n":e=!0,r=o;continue e;case" ":case"\t":break;default:t+=i;continue e}t+=i;break;case"\r":case"\n":break;case" ":case"\t":e||(t+=i);break;case"#":if(e)for(let e=r+1;e<n.length;e++)switch(n.charAt(e)){case"\r":e++;case"\n":r=e;continue e}else t+=i;break;default:t+=i,e=!1}}return t}static getNameRange(e,t){let n=t.getValue(),i=n.indexOf("=");if(-1!==i){let o=n.charAt(0),a=n.charAt(i-1);if('"'===o&&'"'===a||"'"===o&&"'"===a||'"'!==o&&"'"!==o)return r.Range.create(t.getRange().start,e.positionAt(e.offsetAt(t.getRange().start)+i))}return t.getRange()}static getValueRange(e,t){return r.Range.create(e.positionAt(e.offsetAt(t.getRange().start)+t.getValue().indexOf("=")+1),e.positionAt(e.offsetAt(t.getRange().end)))}static getValue(e,t){let n=!1;const r=i.Util.findLeadingNonWhitespace(e,t);0!==r&&"#"===e.charAt(r)&&(n=!0);let o=(e=e.substring(r)).charAt(0),a=e.charAt(e.length-1),s="'"===o||'"'===o,c="'"===o&&"'"===a,u=!1;if('"'===o)for(let n=1;n<e.length;n++)e.charAt(n)===t?n++:'"'===e.charAt(n)&&n===e.length-1&&(u=!0);(c||u)&&(e=e.substring(1,e.length-1));let l=-1,g="",d=0;e:for(let r=0;r<e.length;r++){let i=e.charAt(r);switch(i){case t:if(r+1===e.length){g+=t;break e}if(i=e.charAt(r+1)," "===i||"\t"===i)t:for(let o=r+2;o<e.length;o++){let a=e.charAt(o);switch(a){case" ":case"\t":break;case"\r":o++;case"\n":n=!0,r=o;continue e;default:if(!u&&!c&&!s){a===t?(g+=i,r+=1):(g=g+i+a,r=o);continue e}break t}}if(u){"\r"===i?(n=!0,r+=2):"\n"===i?(n=!0,r++):'"'!==i&&(i===t&&r++,g+=t);continue e}if(c||s){"\r"===i?(n=!0,r+=2):"\n"===i?(n=!0,r++):g+=t;continue e}i===t?(g+=t,r++):"\r"===i?(n=!0,r+=2):"\n"===i?(n=!0,r++,d=r):(g+=i,r++);break;case" ":case"\t":n&&-1===l&&(l=r),g+=i;break;case"\r":r++;case"\n":n&&-1!==l&&(g=g.substring(0,g.length-(r-l-1)),l=-1);break;case"#":if(n){-1!==l&&(g=g.substring(0,g.length-(r-l)),l=-1);t:for(let t=r+1;t<e.length;t++)switch(e.charAt(t)){case"\r":t++;case"\n":r=t;break t}continue e}default:n&&(n=!1,l=-1),g+=i}}return g}}t.Property=Property},78535:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.PropertyInstruction=void 0;const r=n(28661),i=n(99311),o=n(38698),a=n(12447),s=n(98707);class PropertyInstruction extends i.Instruction{constructor(e,t,n,r,i,o){super(e,t,n,r,i,o),this.properties=void 0}getProperties(){if(void 0===this.properties){let e=this.getPropertyArguments();if(0===e.length)this.properties=[];else if(1===e.length)this.properties=[new o.Property(this.document,this.escapeChar,e[0])];else if(2===e.length)-1===e[0].getValue().indexOf("=")?this.properties=[new o.Property(this.document,this.escapeChar,e[0],e[1])]:this.properties=[new o.Property(this.document,this.escapeChar,e[0]),new o.Property(this.document,this.escapeChar,e[1])];else if(-1===e[0].getValue().indexOf("=")){let t=this.document.getText(),n=e[1].getRange().start,i=e[e.length-1].getRange().end;t=t.substring(this.document.offsetAt(n),this.document.offsetAt(i)),this.properties=[new o.Property(this.document,this.escapeChar,e[0],new a.Argument(t,r.Range.create(e[1].getRange().start,e[e.length-1].getRange().end)))]}else{this.properties=[];for(let t=0;t<e.length;t++)this.properties.push(new o.Property(this.document,this.escapeChar,e[t]))}}return this.properties}findTrailingNonWhitespace(e){let t=e.length;e:for(let n=e.length-1;n>=0;n--)switch(e.charAt(n)){case" ":case"\t":continue;case"\n":"\r"===e.charAt(n-1)&&(n-=1);case"\r":t:for(let r=n-1;r>=0;r--)switch(e.charAt(r)){case" ":case"\t":case"\r":case"\n":case this.escapeChar:continue;default:t=r;break t}break e;default:t=n;break e}return t}getPropertyArguments(){const e=[];let t=this.getInstructionRange(),n=this.document.offsetAt(t.end),i=n-this.document.offsetAt(t.start),o=this.getTextContent(),c=o.substring(i),u=s.Util.findLeadingNonWhitespace(c,this.escapeChar);if(-1===u)return[];const l=this.document.positionAt(n+u);let g=t.start.line!==l.line,d=!1,h=-1,m=this.findTrailingNonWhitespace(c);o=c.substring(u,m+1);let f=g?-1:0,p=!1;e:for(let t=0;t<o.length;t++){let i=o.charAt(t);switch(i){case this.escapeChar:if(t+1===o.length){d=!0;break e}switch(g||(h=t),o.charAt(t+1)){case" ":case"\t":if(!s.Util.isWhitespace(o.charAt(t+2))){t+=1;continue e}t:for(let i=t+2;i<o.length;i++)switch(o.charAt(i)){case"\r":i++;case"\n":g=!0,t=i;continue e;case" ":case"\t":break;default:e.push(new a.Argument(o.substring(f,t),r.Range.create(this.document.positionAt(n+u+f),this.document.positionAt(n+u+t+2)))),f=i;break t}t=f-1;continue e;case"\r":t++;case"\n":g=!0,t+=1;continue e;case this.escapeChar:-1===f&&(f=t),t+=1;continue e;default:-1===f&&(f=t);continue e}case"'":case'"':p&&(this.createSpacedArgument(f,e,o,h,n,u),f=t,p=!1),-1===f&&(f=t);for(let s=t+1;s<o.length;s++)switch(o.charAt(s)){case i:if(" "!==o.charAt(s+1)&&""!==o.charAt(s+1)){t=s;continue e}e.push(new a.Argument(o.substring(f,s+1),r.Range.create(this.document.positionAt(n+u+f),this.document.positionAt(n+u+s+1)))),t=s,f=-1;continue e;case this.escapeChar:s++}break e;case" ":case"\t":g?-1!==f&&(p=!0):-1!==f&&(e.push(new a.Argument(o.substring(f,t),r.Range.create(this.document.positionAt(n+u+f),this.document.positionAt(n+u+t)))),f=-1);break;case"\r":t++;case"\n":p=!1;break;case"#":if(g){for(let e=t+1;e<o.length;e++)switch(o.charAt(e)){case"\r":e++;case"\n":t=e,p=!1;continue e}if(-1!==f){let t=o.substring(f,h);e.push(new a.Argument(t,r.Range.create(this.document.positionAt(n+u+f),this.document.positionAt(n+u+h)))),f=-1}break e}-1===f&&(f=t);break;default:if(p&&(this.createSpacedArgument(f,e,o,h,n,u),f=t,p=!1),g=!1,-1===f&&(f=t),"$"===i&&"{"===o.charAt(t+1)){let e=!1,n=!1,r=!1;for(let i=t+1;i<o.length;i++)switch(o.charAt(i)){case this.escapeChar:r=!0;break;case"\r":case"\n":break;case"'":e=!e,r=!1;break;case'"':n=!n,r=!1;break;case" ":case"\t":if(r||e||n)break;t=i-1;continue e;case"}":t=i;continue e;default:r=!1}break e}}}if(-1!==f&&f!==o.length){let t=d?o.length-1:o.length,i=o.substring(f,t);e.push(new a.Argument(i,r.Range.create(this.document.positionAt(n+u+f),this.document.positionAt(n+u+t))))}return e}createSpacedArgument(e,t,n,i,o,s){-1!==e&&t.push(new a.Argument(n.substring(e,i),r.Range.create(this.document.positionAt(o+s+e),this.document.positionAt(o+s+i))))}}t.PropertyInstruction=PropertyInstruction},98707:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Util=void 0;class Util{static isUTF8BOM(e){const t=Uint8Array.from(Buffer.from(e,"UTF-8"));return 239===t[0]&&187==t[1]&&191==t[2]}static isWhitespace(e){return" "===e||"\t"===e||Util.isNewline(e)}static isNewline(e){return"\r"===e||"\n"===e}static findLeadingNonWhitespace(e,t){e:for(let n=0;n<e.length;n++)switch(e.charAt(n)){case" ":case"\t":continue;case t:t:for(let t=n+1;t<e.length;t++)switch(e.charAt(t)){case" ":case"\t":continue;case"\r":n=t+1;continue e;case"\n":n=t;continue e;default:break t}return-1;default:return n}return-1}static isInsideRange(e,t){return t.start.line===t.end.line?t.start.line===e.line&&t.start.character<=e.character&&e.character<=t.end.character:t.start.line===e.line?t.start.character<=e.character:t.end.line===e.line?e.character<=t.end.character:t.start.line<e.line&&e.line<t.end.line}}t.Util=Util},28155:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Variable=void 0;t.Variable=class Variable{constructor(e,t,n,r,i,o,a,s,c,u){this.name=e,this.nameRange=t,this.range=n,this.modifier=r,this.modifierRange=i,this.substitutionParameter=o,this.substitutionRange=a,this.defined=s,this.buildVariable=c,this.stringValue=u}toString(){return this.stringValue}getName(){return this.name}getNameRange(){return this.nameRange}getRange(){return this.range}getModifier(){return this.modifier}getModifierRange(){return this.modifierRange}getSubstitutionParameter(){return this.substitutionParameter}getSubstitutionRange(){return this.substitutionRange}isDefined(){return this.defined}isBuildVariable(){return!0===this.buildVariable}isEnvironmentVariable(){return!1===this.buildVariable}}},80128:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TraceFormat=t.TraceValues=t.Trace=t.ProgressType=t.ProgressToken=t.createMessageConnection=t.NullLogger=t.ConnectionOptions=t.ConnectionStrategy=t.WriteableStreamMessageWriter=t.AbstractMessageWriter=t.MessageWriter=t.ReadableStreamMessageReader=t.AbstractMessageReader=t.MessageReader=t.CancellationToken=t.CancellationTokenSource=t.Emitter=t.Event=t.Disposable=t.LRUCache=t.Touch=t.LinkedMap=t.ParameterStructures=t.NotificationType9=t.NotificationType8=t.NotificationType7=t.NotificationType6=t.NotificationType5=t.NotificationType4=t.NotificationType3=t.NotificationType2=t.NotificationType1=t.NotificationType0=t.NotificationType=t.ErrorCodes=t.ResponseError=t.RequestType9=t.RequestType8=t.RequestType7=t.RequestType6=t.RequestType5=t.RequestType4=t.RequestType3=t.RequestType2=t.RequestType1=t.RequestType0=t.RequestType=t.Message=t.RAL=void 0,t.CancellationStrategy=t.CancellationSenderStrategy=t.CancellationReceiverStrategy=t.ConnectionError=t.ConnectionErrors=t.LogTraceNotification=t.SetTraceNotification=void 0;const r=n(55827);Object.defineProperty(t,"Message",{enumerable:!0,get:function(){return r.Message}}),Object.defineProperty(t,"RequestType",{enumerable:!0,get:function(){return r.RequestType}}),Object.defineProperty(t,"RequestType0",{enumerable:!0,get:function(){return r.RequestType0}}),Object.defineProperty(t,"RequestType1",{enumerable:!0,get:function(){return r.RequestType1}}),Object.defineProperty(t,"RequestType2",{enumerable:!0,get:function(){return r.RequestType2}}),Object.defineProperty(t,"RequestType3",{enumerable:!0,get:function(){return r.RequestType3}}),Object.defineProperty(t,"RequestType4",{enumerable:!0,get:function(){return r.RequestType4}}),Object.defineProperty(t,"RequestType5",{enumerable:!0,get:function(){return r.RequestType5}}),Object.defineProperty(t,"RequestType6",{enumerable:!0,get:function(){return r.RequestType6}}),Object.defineProperty(t,"RequestType7",{enumerable:!0,get:function(){return r.RequestType7}}),Object.defineProperty(t,"RequestType8",{enumerable:!0,get:function(){return r.RequestType8}}),Object.defineProperty(t,"RequestType9",{enumerable:!0,get:function(){return r.RequestType9}}),Object.defineProperty(t,"ResponseError",{enumerable:!0,get:function(){return r.ResponseError}}),Object.defineProperty(t,"ErrorCodes",{enumerable:!0,get:function(){return r.ErrorCodes}}),Object.defineProperty(t,"NotificationType",{enumerable:!0,get:function(){return r.NotificationType}}),Object.defineProperty(t,"NotificationType0",{enumerable:!0,get:function(){return r.NotificationType0}}),Object.defineProperty(t,"NotificationType1",{enumerable:!0,get:function(){return r.NotificationType1}}),Object.defineProperty(t,"NotificationType2",{enumerable:!0,get:function(){return r.NotificationType2}}),Object.defineProperty(t,"NotificationType3",{enumerable:!0,get:function(){return r.NotificationType3}}),Object.defineProperty(t,"NotificationType4",{enumerable:!0,get:function(){return r.NotificationType4}}),Object.defineProperty(t,"NotificationType5",{enumerable:!0,get:function(){return r.NotificationType5}}),Object.defineProperty(t,"NotificationType6",{enumerable:!0,get:function(){return r.NotificationType6}}),Object.defineProperty(t,"NotificationType7",{enumerable:!0,get:function(){return r.NotificationType7}}),Object.defineProperty(t,"NotificationType8",{enumerable:!0,get:function(){return r.NotificationType8}}),Object.defineProperty(t,"NotificationType9",{enumerable:!0,get:function(){return r.NotificationType9}}),Object.defineProperty(t,"ParameterStructures",{enumerable:!0,get:function(){return r.ParameterStructures}});const i=n(66159);Object.defineProperty(t,"LinkedMap",{enumerable:!0,get:function(){return i.LinkedMap}}),Object.defineProperty(t,"LRUCache",{enumerable:!0,get:function(){return i.LRUCache}}),Object.defineProperty(t,"Touch",{enumerable:!0,get:function(){return i.Touch}});const o=n(68912);Object.defineProperty(t,"Disposable",{enumerable:!0,get:function(){return o.Disposable}});const a=n(9458);Object.defineProperty(t,"Event",{enumerable:!0,get:function(){return a.Event}}),Object.defineProperty(t,"Emitter",{enumerable:!0,get:function(){return a.Emitter}});const s=n(92694);Object.defineProperty(t,"CancellationTokenSource",{enumerable:!0,get:function(){return s.CancellationTokenSource}}),Object.defineProperty(t,"CancellationToken",{enumerable:!0,get:function(){return s.CancellationToken}});const c=n(69240);Object.defineProperty(t,"MessageReader",{enumerable:!0,get:function(){return c.MessageReader}}),Object.defineProperty(t,"AbstractMessageReader",{enumerable:!0,get:function(){return c.AbstractMessageReader}}),Object.defineProperty(t,"ReadableStreamMessageReader",{enumerable:!0,get:function(){return c.ReadableStreamMessageReader}});const u=n(92046);Object.defineProperty(t,"MessageWriter",{enumerable:!0,get:function(){return u.MessageWriter}}),Object.defineProperty(t,"AbstractMessageWriter",{enumerable:!0,get:function(){return u.AbstractMessageWriter}}),Object.defineProperty(t,"WriteableStreamMessageWriter",{enumerable:!0,get:function(){return u.WriteableStreamMessageWriter}});const l=n(67560);Object.defineProperty(t,"ConnectionStrategy",{enumerable:!0,get:function(){return l.ConnectionStrategy}}),Object.defineProperty(t,"ConnectionOptions",{enumerable:!0,get:function(){return l.ConnectionOptions}}),Object.defineProperty(t,"NullLogger",{enumerable:!0,get:function(){return l.NullLogger}}),Object.defineProperty(t,"createMessageConnection",{enumerable:!0,get:function(){return l.createMessageConnection}}),Object.defineProperty(t,"ProgressToken",{enumerable:!0,get:function(){return l.ProgressToken}}),Object.defineProperty(t,"ProgressType",{enumerable:!0,get:function(){return l.ProgressType}}),Object.defineProperty(t,"Trace",{enumerable:!0,get:function(){return l.Trace}}),Object.defineProperty(t,"TraceValues",{enumerable:!0,get:function(){return l.TraceValues}}),Object.defineProperty(t,"TraceFormat",{enumerable:!0,get:function(){return l.TraceFormat}}),Object.defineProperty(t,"SetTraceNotification",{enumerable:!0,get:function(){return l.SetTraceNotification}}),Object.defineProperty(t,"LogTraceNotification",{enumerable:!0,get:function(){return l.LogTraceNotification}}),Object.defineProperty(t,"ConnectionErrors",{enumerable:!0,get:function(){return l.ConnectionErrors}}),Object.defineProperty(t,"ConnectionError",{enumerable:!0,get:function(){return l.ConnectionError}}),Object.defineProperty(t,"CancellationReceiverStrategy",{enumerable:!0,get:function(){return l.CancellationReceiverStrategy}}),Object.defineProperty(t,"CancellationSenderStrategy",{enumerable:!0,get:function(){return l.CancellationSenderStrategy}}),Object.defineProperty(t,"CancellationStrategy",{enumerable:!0,get:function(){return l.CancellationStrategy}});const g=n(16998);t.RAL=g.default},92694:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CancellationTokenSource=t.CancellationToken=void 0;const r=n(16998),i=n(96258),o=n(9458);var a;!function(e){e.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:o.Event.None}),e.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:o.Event.None}),e.is=function is(t){const n=t;return n&&(n===e.None||n===e.Cancelled||i.boolean(n.isCancellationRequested)&&!!n.onCancellationRequested)}}(a=t.CancellationToken||(t.CancellationToken={}));const s=Object.freeze((function(e,t){const n=(0,r.default)().timer.setTimeout(e.bind(t),0);return{dispose(){n.dispose()}}}));class MutableToken{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?s:(this._emitter||(this._emitter=new o.Emitter),this._emitter.event)}dispose(){this._emitter&&(this._emitter.dispose(),this._emitter=void 0)}}t.CancellationTokenSource=class CancellationTokenSource{get token(){return this._token||(this._token=new MutableToken),this._token}cancel(){this._token?this._token.cancel():this._token=a.Cancelled}dispose(){this._token?this._token instanceof MutableToken&&this._token.dispose():this._token=a.None}}},67560:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.createMessageConnection=t.ConnectionOptions=t.CancellationStrategy=t.CancellationSenderStrategy=t.CancellationReceiverStrategy=t.ConnectionStrategy=t.ConnectionError=t.ConnectionErrors=t.LogTraceNotification=t.SetTraceNotification=t.TraceFormat=t.TraceValues=t.Trace=t.NullLogger=t.ProgressType=t.ProgressToken=void 0;const r=n(16998),i=n(96258),o=n(55827),a=n(66159),s=n(9458),c=n(92694);var u,l,g,d,h,m,f,p,v,R,b,D,y,_;!function(e){e.type=new o.NotificationType("$/cancelRequest")}(u||(u={})),function(e){e.is=function is(e){return"string"==typeof e||"number"==typeof e}}(l=t.ProgressToken||(t.ProgressToken={})),function(e){e.type=new o.NotificationType("$/progress")}(g||(g={}));t.ProgressType=class ProgressType{constructor(){}},function(e){e.is=function is(e){return i.func(e)}}(d||(d={})),t.NullLogger=Object.freeze({error:()=>{},warn:()=>{},info:()=>{},log:()=>{}}),function(e){e[e.Off=0]="Off",e[e.Messages=1]="Messages",e[e.Compact=2]="Compact",e[e.Verbose=3]="Verbose"}(h=t.Trace||(t.Trace={})),function(e){e.Off="off",e.Messages="messages",e.Compact="compact",e.Verbose="verbose"}(t.TraceValues||(t.TraceValues={})),function(e){e.fromString=function fromString(t){if(!i.string(t))return e.Off;switch(t=t.toLowerCase()){case"off":default:return e.Off;case"messages":return e.Messages;case"compact":return e.Compact;case"verbose":return e.Verbose}},e.toString=function toString(t){switch(t){case e.Off:return"off";case e.Messages:return"messages";case e.Compact:return"compact";case e.Verbose:return"verbose";default:return"off"}}}(h=t.Trace||(t.Trace={})),function(e){e.Text="text",e.JSON="json"}(t.TraceFormat||(t.TraceFormat={})),function(e){e.fromString=function fromString(t){return i.string(t)&&"json"===(t=t.toLowerCase())?e.JSON:e.Text}}(m=t.TraceFormat||(t.TraceFormat={})),function(e){e.type=new o.NotificationType("$/setTrace")}(f=t.SetTraceNotification||(t.SetTraceNotification={})),function(e){e.type=new o.NotificationType("$/logTrace")}(p=t.LogTraceNotification||(t.LogTraceNotification={})),function(e){e[e.Closed=1]="Closed",e[e.Disposed=2]="Disposed",e[e.AlreadyListening=3]="AlreadyListening"}(v=t.ConnectionErrors||(t.ConnectionErrors={}));class ConnectionError extends Error{constructor(e,t){super(t),this.code=e,Object.setPrototypeOf(this,ConnectionError.prototype)}}t.ConnectionError=ConnectionError,function(e){e.is=function is(e){const t=e;return t&&i.func(t.cancelUndispatched)}}(R=t.ConnectionStrategy||(t.ConnectionStrategy={})),function(e){e.Message=Object.freeze({createCancellationTokenSource:e=>new c.CancellationTokenSource}),e.is=function is(e){const t=e;return t&&i.func(t.createCancellationTokenSource)}}(b=t.CancellationReceiverStrategy||(t.CancellationReceiverStrategy={})),function(e){e.Message=Object.freeze({sendCancellation:(e,t)=>e.sendNotification(u.type,{id:t}),cleanup(e){}}),e.is=function is(e){const t=e;return t&&i.func(t.sendCancellation)&&i.func(t.cleanup)}}(D=t.CancellationSenderStrategy||(t.CancellationSenderStrategy={})),function(e){e.Message=Object.freeze({receiver:b.Message,sender:D.Message}),e.is=function is(e){const t=e;return t&&b.is(t.receiver)&&D.is(t.sender)}}(y=t.CancellationStrategy||(t.CancellationStrategy={})),function(e){e.is=function is(e){const t=e;return t&&(y.is(t.cancellationStrategy)||R.is(t.connectionStrategy))}}(t.ConnectionOptions||(t.ConnectionOptions={})),function(e){e[e.New=1]="New",e[e.Listening=2]="Listening",e[e.Closed=3]="Closed",e[e.Disposed=4]="Disposed"}(_||(_={})),t.createMessageConnection=function createMessageConnection(e,n,R,b){const D=void 0!==R?R:t.NullLogger;let k=0,S=0,T=0;const C="2.0";let A;const E=new Map;let P;const I=new Map,N=new Map;let M,O,w=new a.LinkedMap,x=new Map,L=new Set,F=new Map,V=h.Off,H=m.Text,U=_.New;const q=new s.Emitter,W=new s.Emitter,j=new s.Emitter,K=new s.Emitter,G=new s.Emitter,B=b&&b.cancellationStrategy?b.cancellationStrategy:y.Message;function createRequestQueueKey(e){if(null===e)throw new Error("Can't send requests with id null since the response can't be correlated.");return"req-"+e.toString()}function addMessageToQueue(e,t){o.Message.isRequest(t)?e.set(createRequestQueueKey(t.id),t):o.Message.isResponse(t)?e.set(function createResponseQueueKey(e){return null===e?"res-unknown-"+(++T).toString():"res-"+e.toString()}(t.id),t):e.set(function createNotificationQueueKey(){return"not-"+(++S).toString()}(),t)}function cancelUndispatched(e){}function isListening(){return U===_.Listening}function isClosed(){return U===_.Closed}function isDisposed(){return U===_.Disposed}function closeHandler(){U!==_.New&&U!==_.Listening||(U=_.Closed,W.fire(void 0))}function triggerMessageQueue(){M||0===w.size||(M=(0,r.default)().timer.setImmediate((()=>{M=void 0,function processMessageQueue(){if(0===w.size)return;const e=w.shift();try{o.Message.isRequest(e)?function handleRequest(e){if(isDisposed())return;function reply(t,r,i){const a={jsonrpc:C,id:e.id};t instanceof o.ResponseError?a.error=t.toJson():a.result=void 0===t?null:t,traceSendingResponse(a,r,i),n.write(a).catch((()=>D.error("Sending response failed.")))}function replyError(t,r,i){const o={jsonrpc:C,id:e.id,error:t.toJson()};traceSendingResponse(o,r,i),n.write(o).catch((()=>D.error("Sending response failed.")))}function replySuccess(t,r,i){void 0===t&&(t=null);const o={jsonrpc:C,id:e.id,result:t};traceSendingResponse(o,r,i),n.write(o).catch((()=>D.error("Sending response failed.")))}!function traceReceivedRequest(e){if(V===h.Off||!O)return;if(H===m.Text){let t;V!==h.Verbose&&V!==h.Compact||!e.params||(t=`Params: ${stringifyTrace(e.params)}\n\n`),O.log(`Received request '${e.method} - (${e.id})'.`,t)}else logLSPMessage("receive-request",e)}(e);const t=E.get(e.method);let r,a;t&&(r=t.type,a=t.handler);const s=Date.now();if(a||A){const t=e.id??String(Date.now()),n=B.receiver.createCancellationTokenSource(t);null!==e.id&&L.has(e.id)&&n.cancel(),null!==e.id&&F.set(t,n);try{let c;if(a)if(void 0===e.params){if(void 0!==r&&0!==r.numberOfParams)return void replyError(new o.ResponseError(o.ErrorCodes.InvalidParams,`Request ${e.method} defines ${r.numberOfParams} params but received none.`),e.method,s);c=a(n.token)}else if(Array.isArray(e.params)){if(void 0!==r&&r.parameterStructures===o.ParameterStructures.byName)return void replyError(new o.ResponseError(o.ErrorCodes.InvalidParams,`Request ${e.method} defines parameters by name but received parameters by position`),e.method,s);c=a(...e.params,n.token)}else{if(void 0!==r&&r.parameterStructures===o.ParameterStructures.byPosition)return void replyError(new o.ResponseError(o.ErrorCodes.InvalidParams,`Request ${e.method} defines parameters by position but received parameters by name`),e.method,s);c=a(e.params,n.token)}else A&&(c=A(e.method,e.params,n.token));const u=c;c?u.then?u.then((n=>{F.delete(t),reply(n,e.method,s)}),(n=>{F.delete(t),n instanceof o.ResponseError?replyError(n,e.method,s):n&&i.string(n.message)?replyError(new o.ResponseError(o.ErrorCodes.InternalError,`Request ${e.method} failed with message: ${n.message}`),e.method,s):replyError(new o.ResponseError(o.ErrorCodes.InternalError,`Request ${e.method} failed unexpectedly without providing any details.`),e.method,s)})):(F.delete(t),reply(c,e.method,s)):(F.delete(t),replySuccess(c,e.method,s))}catch(n){F.delete(t),n instanceof o.ResponseError?reply(n,e.method,s):n&&i.string(n.message)?replyError(new o.ResponseError(o.ErrorCodes.InternalError,`Request ${e.method} failed with message: ${n.message}`),e.method,s):replyError(new o.ResponseError(o.ErrorCodes.InternalError,`Request ${e.method} failed unexpectedly without providing any details.`),e.method,s)}}else replyError(new o.ResponseError(o.ErrorCodes.MethodNotFound,`Unhandled method ${e.method}`),e.method,s)}(e):o.Message.isNotification(e)?function handleNotification(e){if(isDisposed())return;let t,n;if(e.method===u.type.method){const t=e.params.id;return L.delete(t),void traceReceivedNotification(e)}{const r=I.get(e.method);r&&(n=r.handler,t=r.type)}if(n||P)try{if(traceReceivedNotification(e),n)if(void 0===e.params)void 0!==t&&0!==t.numberOfParams&&t.parameterStructures!==o.ParameterStructures.byName&&D.error(`Notification ${e.method} defines ${t.numberOfParams} params but received none.`),n();else if(Array.isArray(e.params)){const r=e.params;e.method===g.type.method&&2===r.length&&l.is(r[0])?n({token:r[0],value:r[1]}):(void 0!==t&&(t.parameterStructures===o.ParameterStructures.byName&&D.error(`Notification ${e.method} defines parameters by name but received parameters by position`),t.numberOfParams!==e.params.length&&D.error(`Notification ${e.method} defines ${t.numberOfParams} params but received ${r.length} arguments`)),n(...r))}else void 0!==t&&t.parameterStructures===o.ParameterStructures.byPosition&&D.error(`Notification ${e.method} defines parameters by position but received parameters by name`),n(e.params);else P&&P(e.method,e.params)}catch(t){t.message?D.error(`Notification handler '${e.method}' failed with message: ${t.message}`):D.error(`Notification handler '${e.method}' failed unexpectedly.`)}else j.fire(e)}(e):o.Message.isResponse(e)?function handleResponse(e){if(isDisposed())return;if(null===e.id)e.error?D.error(`Received response message without id: Error is: \n${JSON.stringify(e.error,void 0,4)}`):D.error("Received response message without id. No further error information provided.");else{const t=e.id,n=x.get(t);if(function traceReceivedResponse(e,t){if(V===h.Off||!O)return;if(H===m.Text){let n;if(V!==h.Verbose&&V!==h.Compact||(e.error&&e.error.data?n=`Error data: ${stringifyTrace(e.error.data)}\n\n`:e.result?n=`Result: ${stringifyTrace(e.result)}\n\n`:void 0===e.error&&(n="No result returned.\n\n")),t){const r=e.error?` Request failed: ${e.error.message} (${e.error.code}).`:"";O.log(`Received response '${t.method} - (${e.id})' in ${Date.now()-t.timerStart}ms.${r}`,n)}else O.log(`Received response ${e.id} without active response promise.`,n)}else logLSPMessage("receive-response",e)}(e,n),void 0!==n){x.delete(t);try{if(e.error){const t=e.error;n.reject(new o.ResponseError(t.code,t.message,t.data))}else{if(void 0===e.result)throw new Error("Should never happen.");n.resolve(e.result)}}catch(e){e.message?D.error(`Response handler '${n.method}' failed with message: ${e.message}`):D.error(`Response handler '${n.method}' failed unexpectedly.`)}}}}(e):function handleInvalidMessage(e){if(!e)return void D.error("Received empty message.");D.error(`Received message which is neither a response nor a notification message:\n${JSON.stringify(e,null,4)}`);const t=e;if(i.string(t.id)||i.number(t.id)){const e=t.id,n=x.get(e);n&&n.reject(new Error("The received response has neither a result nor an error property."))}}(e)}finally{triggerMessageQueue()}}()})))}e.onClose(closeHandler),e.onError((function readErrorHandler(e){q.fire([e,void 0,void 0])})),n.onClose(closeHandler),n.onError((function writeErrorHandler(e){q.fire(e)}));const callback=e=>{try{if(o.Message.isNotification(e)&&e.method===u.type.method){const t=e.params.id,r=createRequestQueueKey(t),i=w.get(r);if(o.Message.isRequest(i)){const o=b?.connectionStrategy,a=o&&o.cancelUndispatched?o.cancelUndispatched(i,cancelUndispatched):void 0;if(a&&(void 0!==a.error||void 0!==a.result))return w.delete(r),F.delete(t),a.id=i.id,traceSendingResponse(a,e.method,Date.now()),void n.write(a).catch((()=>D.error("Sending response for canceled message failed.")))}const a=F.get(t);if(void 0!==a)return a.cancel(),void traceReceivedNotification(e);L.add(t)}addMessageToQueue(w,e)}finally{triggerMessageQueue()}};function stringifyTrace(e){if(null!=e)switch(V){case h.Verbose:return JSON.stringify(e,null,4);case h.Compact:return JSON.stringify(e);default:return}}function traceSendingResponse(e,t,n){if(V!==h.Off&&O)if(H===m.Text){let r;V!==h.Verbose&&V!==h.Compact||(e.error&&e.error.data?r=`Error data: ${stringifyTrace(e.error.data)}\n\n`:e.result?r=`Result: ${stringifyTrace(e.result)}\n\n`:void 0===e.error&&(r="No result returned.\n\n")),O.log(`Sending response '${t} - (${e.id})'. Processing request took ${Date.now()-n}ms`,r)}else logLSPMessage("send-response",e)}function traceReceivedNotification(e){if(V!==h.Off&&O&&e.method!==p.type.method)if(H===m.Text){let t;V!==h.Verbose&&V!==h.Compact||(t=e.params?`Params: ${stringifyTrace(e.params)}\n\n`:"No parameters provided.\n\n"),O.log(`Received notification '${e.method}'.`,t)}else logLSPMessage("receive-notification",e)}function logLSPMessage(e,t){if(!O||V===h.Off)return;const n={isLSPMessage:!0,type:e,message:t,timestamp:Date.now()};O.log(n)}function throwIfClosedOrDisposed(){if(isClosed())throw new ConnectionError(v.Closed,"Connection is closed.");if(isDisposed())throw new ConnectionError(v.Disposed,"Connection is disposed.")}function undefinedToNull(e){return void 0===e?null:e}function nullToUndefined(e){return null===e?void 0:e}function isNamedParam(e){return null!=e&&!Array.isArray(e)&&"object"==typeof e}function computeSingleParam(e,t){switch(e){case o.ParameterStructures.auto:return isNamedParam(t)?nullToUndefined(t):[undefinedToNull(t)];case o.ParameterStructures.byName:if(!isNamedParam(t))throw new Error("Received parameters by name but param is not an object literal.");return nullToUndefined(t);case o.ParameterStructures.byPosition:return[undefinedToNull(t)];default:throw new Error(`Unknown parameter structure ${e.toString()}`)}}function computeMessageParams(e,t){let n;const r=e.numberOfParams;switch(r){case 0:n=void 0;break;case 1:n=computeSingleParam(e.parameterStructures,t[0]);break;default:n=[];for(let e=0;e<t.length&&e<r;e++)n.push(undefinedToNull(t[e]));if(t.length<r)for(let e=t.length;e<r;e++)n.push(null)}return n}const $={sendNotification:(e,...t)=>{let r,a;if(throwIfClosedOrDisposed(),i.string(e)){r=e;const n=t[0];let i=0,s=o.ParameterStructures.auto;o.ParameterStructures.is(n)&&(i=1,s=n);let c=t.length;const u=c-i;switch(u){case 0:a=void 0;break;case 1:a=computeSingleParam(s,t[i]);break;default:if(s===o.ParameterStructures.byName)throw new Error(`Received ${u} parameters for 'by Name' notification parameter structure.`);a=t.slice(i,c).map((e=>undefinedToNull(e)))}}else{const n=t;r=e.method,a=computeMessageParams(e,n)}const s={jsonrpc:C,method:r,params:a};return function traceSendingNotification(e){if(V!==h.Off&&O)if(H===m.Text){let t;V!==h.Verbose&&V!==h.Compact||(t=e.params?`Params: ${stringifyTrace(e.params)}\n\n`:"No parameters provided.\n\n"),O.log(`Sending notification '${e.method}'.`,t)}else logLSPMessage("send-notification",e)}(s),n.write(s).catch((()=>D.error("Sending notification failed.")))},onNotification:(e,t)=>{let n;return throwIfClosedOrDisposed(),i.func(e)?P=e:t&&(i.string(e)?(n=e,I.set(e,{type:void 0,handler:t})):(n=e.method,I.set(e.method,{type:e,handler:t}))),{dispose:()=>{void 0!==n?I.delete(n):P=void 0}}},onProgress:(e,t,n)=>{if(N.has(t))throw new Error(`Progress handler for token ${t} already registered`);return N.set(t,n),{dispose:()=>{N.delete(t)}}},sendProgress:(e,t,n)=>$.sendNotification(g.type,{token:t,value:n}),onUnhandledProgress:K.event,sendRequest:(e,...t)=>{let r,a,s;if(throwIfClosedOrDisposed(),function throwIfNotListening(){if(!isListening())throw new Error("Call listen() first.")}(),i.string(e)){r=e;const n=t[0],i=t[t.length-1];let u=0,l=o.ParameterStructures.auto;o.ParameterStructures.is(n)&&(u=1,l=n);let g=t.length;c.CancellationToken.is(i)&&(g-=1,s=i);const d=g-u;switch(d){case 0:a=void 0;break;case 1:a=computeSingleParam(l,t[u]);break;default:if(l===o.ParameterStructures.byName)throw new Error(`Received ${d} parameters for 'by Name' request parameter structure.`);a=t.slice(u,g).map((e=>undefinedToNull(e)))}}else{const n=t;r=e.method,a=computeMessageParams(e,n);const i=e.numberOfParams;s=c.CancellationToken.is(n[i])?n[i]:void 0}const u=k++;let l;s&&(l=s.onCancellationRequested((()=>{const e=B.sender.sendCancellation($,u);return void 0===e?(D.log(`Received no promise from cancellation strategy when cancelling id ${u}`),Promise.resolve()):e.catch((()=>{D.log(`Sending cancellation messages for id ${u} failed`)}))})));return new Promise(((e,t)=>{const i={jsonrpc:C,id:u,method:r,params:a};let s={method:r,timerStart:Date.now(),resolve:t=>{e(t),B.sender.cleanup(u),l?.dispose()},reject:e=>{t(e),B.sender.cleanup(u),l?.dispose()}};!function traceSendingRequest(e){if(V!==h.Off&&O)if(H===m.Text){let t;V!==h.Verbose&&V!==h.Compact||!e.params||(t=`Params: ${stringifyTrace(e.params)}\n\n`),O.log(`Sending request '${e.method} - (${e.id})'.`,t)}else logLSPMessage("send-request",e)}(i);try{n.write(i).catch((()=>D.error("Sending request failed.")))}catch(e){s.reject(new o.ResponseError(o.ErrorCodes.MessageWriteError,e.message?e.message:"Unknown reason")),s=null}s&&x.set(u,s)}))},onRequest:(e,t)=>{throwIfClosedOrDisposed();let n=null;return d.is(e)?(n=void 0,A=e):i.string(e)?(n=null,void 0!==t&&(n=e,E.set(e,{handler:t,type:void 0}))):void 0!==t&&(n=e.method,E.set(e.method,{type:e,handler:t})),{dispose:()=>{null!==n&&(void 0!==n?E.delete(n):A=void 0)}}},hasPendingResponse:()=>x.size>0,trace:async(e,t,n)=>{let r=!1,o=m.Text;void 0!==n&&(i.boolean(n)?r=n:(r=n.sendNotification||!1,o=n.traceFormat||m.Text)),V=e,H=o,O=V===h.Off?void 0:t,!r||isClosed()||isDisposed()||await $.sendNotification(f.type,{value:h.toString(e)})},onError:q.event,onClose:W.event,onUnhandledNotification:j.event,onDispose:G.event,end:()=>{n.end()},dispose:()=>{if(isDisposed())return;U=_.Disposed,G.fire(void 0);const t=new o.ResponseError(o.ErrorCodes.PendingResponseRejected,"Pending response rejected since connection got disposed");for(const e of x.values())e.reject(t);x=new Map,F=new Map,L=new Set,w=new a.LinkedMap,i.func(n.dispose)&&n.dispose(),i.func(e.dispose)&&e.dispose()},listen:()=>{throwIfClosedOrDisposed(),function throwIfListening(){if(isListening())throw new ConnectionError(v.AlreadyListening,"Connection is already listening")}(),U=_.Listening,e.listen(callback)},inspect:()=>{(0,r.default)().console.log("inspect")}};return $.onNotification(p.type,(e=>{if(V===h.Off||!O)return;const t=V===h.Verbose||V===h.Compact;O.log(e.message,t?e.verbose:void 0)})),$.onNotification(g.type,(e=>{const t=N.get(e.token);t?t(e.value):K.fire(e)})),$}},68912:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Disposable=void 0,function(e){e.create=function create(e){return{dispose:e}}}(t.Disposable||(t.Disposable={}))},9458:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Emitter=t.Event=void 0;const r=n(16998);!function(e){const t={dispose(){}};e.None=function(){return t}}(t.Event||(t.Event={}));class CallbackList{add(e,t=null,n){this._callbacks||(this._callbacks=[],this._contexts=[]),this._callbacks.push(e),this._contexts.push(t),Array.isArray(n)&&n.push({dispose:()=>this.remove(e,t)})}remove(e,t=null){if(!this._callbacks)return;let n=!1;for(let r=0,i=this._callbacks.length;r<i;r++)if(this._callbacks[r]===e){if(this._contexts[r]===t)return this._callbacks.splice(r,1),void this._contexts.splice(r,1);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[];const t=[],n=this._callbacks.slice(0),i=this._contexts.slice(0);for(let o=0,a=n.length;o<a;o++)try{t.push(n[o].apply(i[o],e))}catch(e){(0,r.default)().console.error(e)}return t}isEmpty(){return!this._callbacks||0===this._callbacks.length}dispose(){this._callbacks=void 0,this._contexts=void 0}}class Emitter{constructor(e){this._options=e}get event(){return this._event||(this._event=(e,t,n)=>{this._callbacks||(this._callbacks=new CallbackList),this._options&&this._options.onFirstListenerAdd&&this._callbacks.isEmpty()&&this._options.onFirstListenerAdd(this),this._callbacks.add(e,t);const r={dispose:()=>{this._callbacks&&(this._callbacks.remove(e,t),r.dispose=Emitter._noop,this._options&&this._options.onLastListenerRemove&&this._callbacks.isEmpty()&&this._options.onLastListenerRemove(this))}};return Array.isArray(n)&&n.push(r),r}),this._event}fire(e){this._callbacks&&this._callbacks.invoke.call(this._callbacks,e)}dispose(){this._callbacks&&(this._callbacks.dispose(),this._callbacks=void 0)}}t.Emitter=Emitter,Emitter._noop=function(){}},96258:(e,t)=>{"use strict";function string(e){return"string"==typeof e||e instanceof String}function array(e){return Array.isArray(e)}Object.defineProperty(t,"__esModule",{value:!0}),t.stringArray=t.array=t.func=t.error=t.number=t.string=t.boolean=void 0,t.boolean=function boolean(e){return!0===e||!1===e},t.string=string,t.number=function number(e){return"number"==typeof e||e instanceof Number},t.error=function error(e){return e instanceof Error},t.func=function func(e){return"function"==typeof e},t.array=array,t.stringArray=function stringArray(e){return array(e)&&e.every((e=>string(e)))}},66159:(e,t)=>{"use strict";var n,r;Object.defineProperty(t,"__esModule",{value:!0}),t.LRUCache=t.LinkedMap=t.Touch=void 0,function(e){e.None=0,e.First=1,e.AsOld=e.First,e.Last=2,e.AsNew=e.Last}(r=t.Touch||(t.Touch={}));class LinkedMap{constructor(){this[n]="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,t=r.None){const n=this._map.get(e);if(n)return t!==r.None&&this.touch(n,t),n.value}set(e,t,n=r.None){let i=this._map.get(e);if(i)i.value=t,n!==r.None&&this.touch(i,n);else{switch(i={key:e,value:t,next:void 0,previous:void 0},n){case r.None:this.addItemLast(i);break;case r.First:this.addItemFirst(i);break;case r.Last:default:this.addItemLast(i)}this._map.set(e,i),this._size++}return this}delete(e){return!!this.remove(e)}remove(e){const t=this._map.get(e);if(t)return this._map.delete(e),this.removeItem(t),this._size--,t.value}shift(){if(!this._head&&!this._tail)return;if(!this._head||!this._tail)throw new Error("Invalid list");const e=this._head;return this._map.delete(e.key),this.removeItem(e),this._size--,e.value}forEach(e,t){const n=this._state;let r=this._head;for(;r;){if(t?e.bind(t)(r.value,r.key,this):e(r.value,r.key,this),this._state!==n)throw new Error("LinkedMap got modified during iteration.");r=r.next}}keys(){const e=this._state;let t=this._head;const n={[Symbol.iterator]:()=>n,next:()=>{if(this._state!==e)throw new Error("LinkedMap got modified during iteration.");if(t){const e={value:t.key,done:!1};return t=t.next,e}return{value:void 0,done:!0}}};return n}values(){const e=this._state;let t=this._head;const n={[Symbol.iterator]:()=>n,next:()=>{if(this._state!==e)throw new Error("LinkedMap got modified during iteration.");if(t){const e={value:t.value,done:!1};return t=t.next,e}return{value:void 0,done:!0}}};return n}entries(){const e=this._state;let t=this._head;const n={[Symbol.iterator]:()=>n,next:()=>{if(this._state!==e)throw new Error("LinkedMap got modified during iteration.");if(t){const e={value:[t.key,t.value],done:!1};return t=t.next,e}return{value:void 0,done:!0}}};return n}[(n=Symbol.toStringTag,Symbol.iterator)](){return this.entries()}trimOld(e){if(e>=this.size)return;if(0===e)return void this.clear();let t=this._head,n=this.size;for(;t&&n>e;)this._map.delete(t.key),t=t.next,n--;this._head=t,this._size=n,t&&(t.previous=void 0),this._state++}addItemFirst(e){if(this._head||this._tail){if(!this._head)throw new Error("Invalid list");e.next=this._head,this._head.previous=e}else this._tail=e;this._head=e,this._state++}addItemLast(e){if(this._head||this._tail){if(!this._tail)throw new Error("Invalid list");e.previous=this._tail,this._tail.next=e}else this._head=e;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{const t=e.next,n=e.previous;if(!t||!n)throw new Error("Invalid list");t.previous=n,n.next=t}e.next=void 0,e.previous=void 0,this._state++}touch(e,t){if(!this._head||!this._tail)throw new Error("Invalid list");if(t===r.First||t===r.Last)if(t===r.First){if(e===this._head)return;const t=e.next,n=e.previous;e===this._tail?(n.next=void 0,this._tail=n):(t.previous=n,n.next=t),e.previous=void 0,e.next=this._head,this._head.previous=e,this._head=e,this._state++}else if(t===r.Last){if(e===this._tail)return;const t=e.next,n=e.previous;e===this._head?(t.previous=void 0,this._head=t):(t.previous=n,n.next=t),e.next=void 0,e.previous=this._tail,this._tail.next=e,this._tail=e,this._state++}}toJSON(){const e=[];return this.forEach(((t,n)=>{e.push([n,t])})),e}fromJSON(e){this.clear();for(const[t,n]of e)this.set(t,n)}}t.LinkedMap=LinkedMap;t.LRUCache=class LRUCache extends LinkedMap{constructor(e,t=1){super(),this._limit=e,this._ratio=Math.min(Math.max(0,t),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,t=r.AsNew){return super.get(e,t)}peek(e){return super.get(e,r.None)}set(e,t){return super.set(e,t,r.Last),this.checkTrim(),this}checkTrim(){this.size>this._limit&&this.trimOld(Math.round(this._limit*this._ratio))}}},35521:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.AbstractMessageBuffer=void 0;t.AbstractMessageBuffer=class AbstractMessageBuffer{constructor(e="utf-8"){this._encoding=e,this._chunks=[],this._totalLength=0}get encoding(){return this._encoding}append(e){const t="string"==typeof e?this.fromString(e,this._encoding):e;this._chunks.push(t),this._totalLength+=t.byteLength}tryReadHeaders(){if(0===this._chunks.length)return;let e=0,t=0,n=0,r=0;e:for(;t<this._chunks.length;){const i=this._chunks[t];for(n=0;n<i.length;){switch(i[n]){case 13:switch(e){case 0:e=1;break;case 2:e=3;break;default:e=0}break;case 10:switch(e){case 1:e=2;break;case 3:e=4,n++;break e;default:e=0}break;default:e=0}n++}r+=i.byteLength,t++}if(4!==e)return;const i=this._read(r+n),o=new Map,a=this.toString(i,"ascii").split("\r\n");if(a.length<2)return o;for(let e=0;e<a.length-2;e++){const t=a[e],n=t.indexOf(":");if(-1===n)throw new Error("Message header must separate key and value using :");const r=t.substr(0,n),i=t.substr(n+1).trim();o.set(r,i)}return o}tryReadBody(e){if(!(this._totalLength<e))return this._read(e)}get numberOfBytes(){return this._totalLength}_read(e){if(0===e)return this.emptyBuffer();if(e>this._totalLength)throw new Error("Cannot read so many bytes!");if(this._chunks[0].byteLength===e){const t=this._chunks[0];return this._chunks.shift(),this._totalLength-=e,this.asNative(t)}if(this._chunks[0].byteLength>e){const t=this._chunks[0],n=this.asNative(t,e);return this._chunks[0]=t.slice(e),this._totalLength-=e,n}const t=this.allocNative(e);let n=0;for(;e>0;){const r=this._chunks[0];if(r.byteLength>e){const i=r.slice(0,e);t.set(i,n),n+=e,this._chunks[0]=r.slice(e),this._totalLength-=e,e-=e}else t.set(r,n),n+=r.byteLength,this._chunks.shift(),this._totalLength-=r.byteLength,e-=r.byteLength}return t}}},69240:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ReadableStreamMessageReader=t.AbstractMessageReader=t.MessageReader=void 0;const r=n(16998),i=n(96258),o=n(9458);var a;!function(e){e.is=function is(e){let t=e;return t&&i.func(t.listen)&&i.func(t.dispose)&&i.func(t.onError)&&i.func(t.onClose)&&i.func(t.onPartialMessage)}}(t.MessageReader||(t.MessageReader={}));class AbstractMessageReader{constructor(){this.errorEmitter=new o.Emitter,this.closeEmitter=new o.Emitter,this.partialMessageEmitter=new o.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: ${i.string(e.message)?e.message:"unknown"}`)}}t.AbstractMessageReader=AbstractMessageReader,function(e){e.fromOptions=function fromOptions(e){let t,n;const i=new Map;let o;const a=new Map;if(void 0===e||"string"==typeof e)t=e??"utf-8";else{if(t=e.charset??"utf-8",void 0!==e.contentDecoder&&(n=e.contentDecoder,i.set(n.name,n)),void 0!==e.contentDecoders)for(const t of e.contentDecoders)i.set(t.name,t);if(void 0!==e.contentTypeDecoder&&(o=e.contentTypeDecoder,a.set(o.name,o)),void 0!==e.contentTypeDecoders)for(const t of e.contentTypeDecoders)a.set(t.name,t)}return void 0===o&&(o=(0,r.default)().applicationJson.decoder,a.set(o.name,o)),{charset:t,contentDecoder:n,contentDecoders:i,contentTypeDecoder:o,contentTypeDecoders:a}}}(a||(a={}));t.ReadableStreamMessageReader=class ReadableStreamMessageReader extends AbstractMessageReader{constructor(e,t){super(),this.readable=e,this.options=a.fromOptions(t),this.buffer=(0,r.default)().messageBuffer.create(this.options.charset),this._partialMessageTimeout=1e4,this.nextMessageLength=-1,this.messageToken=0}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;const t=this.readable.onData((e=>{this.onData(e)}));return this.readable.onError((e=>this.fireError(e))),this.readable.onClose((()=>this.fireClose())),t}onData(e){for(this.buffer.append(e);;){if(-1===this.nextMessageLength){const e=this.buffer.tryReadHeaders();if(!e)return;const t=e.get("Content-Length");if(!t)throw new Error("Header must provide a Content-Length property.");const n=parseInt(t);if(isNaN(n))throw new Error("Content-Length value must be a number.");this.nextMessageLength=n}const e=this.buffer.tryReadBody(this.nextMessageLength);if(void 0===e)return void this.setPartialMessageTimer();let t;this.clearPartialMessageTimer(),this.nextMessageLength=-1,t=void 0!==this.options.contentDecoder?this.options.contentDecoder.decode(e):Promise.resolve(e),t.then((e=>{this.options.contentTypeDecoder.decode(e,this.options).then((e=>{this.callback(e)}),(e=>{this.fireError(e)}))}),(e=>{this.fireError(e)}))}}clearPartialMessageTimer(){this.partialMessageTimer&&(this.partialMessageTimer.dispose(),this.partialMessageTimer=void 0)}setPartialMessageTimer(){this.clearPartialMessageTimer(),this._partialMessageTimeout<=0||(this.partialMessageTimer=(0,r.default)().timer.setTimeout(((e,t)=>{this.partialMessageTimer=void 0,e===this.messageToken&&(this.firePartialMessage({messageToken:e,waitingTime:t}),this.setPartialMessageTimer())}),this._partialMessageTimeout,this.messageToken,this._partialMessageTimeout))}}},92046:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.WriteableStreamMessageWriter=t.AbstractMessageWriter=t.MessageWriter=void 0;const r=n(16998),i=n(96258),o=n(8185),a=n(9458);var s;!function(e){e.is=function is(e){let t=e;return t&&i.func(t.dispose)&&i.func(t.onClose)&&i.func(t.onError)&&i.func(t.write)}}(t.MessageWriter||(t.MessageWriter={}));class AbstractMessageWriter{constructor(){this.errorEmitter=new a.Emitter,this.closeEmitter=new a.Emitter}dispose(){this.errorEmitter.dispose(),this.closeEmitter.dispose()}get onError(){return this.errorEmitter.event}fireError(e,t,n){this.errorEmitter.fire([this.asError(e),t,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: ${i.string(e.message)?e.message:"unknown"}`)}}t.AbstractMessageWriter=AbstractMessageWriter,function(e){e.fromOptions=function fromOptions(e){return void 0===e||"string"==typeof e?{charset:e??"utf-8",contentTypeEncoder:(0,r.default)().applicationJson.encoder}:{charset:e.charset??"utf-8",contentEncoder:e.contentEncoder,contentTypeEncoder:e.contentTypeEncoder??(0,r.default)().applicationJson.encoder}}}(s||(s={}));t.WriteableStreamMessageWriter=class WriteableStreamMessageWriter extends AbstractMessageWriter{constructor(e,t){super(),this.writable=e,this.options=s.fromOptions(t),this.errorCount=0,this.writeSemaphore=new o.Semaphore(1),this.writable.onError((e=>this.fireError(e))),this.writable.onClose((()=>this.fireClose()))}async write(e){return this.writeSemaphore.lock((async()=>this.options.contentTypeEncoder.encode(e,this.options).then((e=>void 0!==this.options.contentEncoder?this.options.contentEncoder.encode(e):e)).then((t=>{const n=[];return n.push("Content-Length: ",t.byteLength.toString(),"\r\n"),n.push("\r\n"),this.doWrite(e,n,t)}),(e=>{throw this.fireError(e),e}))))}async doWrite(e,t,n){try{return await this.writable.write(t.join(""),"ascii"),this.writable.write(n)}catch(t){return this.handleError(t,e),Promise.reject(t)}}handleError(e,t){this.errorCount++,this.fireError(e,t,this.errorCount)}end(){this.writable.end()}}},55827:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Message=t.NotificationType9=t.NotificationType8=t.NotificationType7=t.NotificationType6=t.NotificationType5=t.NotificationType4=t.NotificationType3=t.NotificationType2=t.NotificationType1=t.NotificationType0=t.NotificationType=t.RequestType9=t.RequestType8=t.RequestType7=t.RequestType6=t.RequestType5=t.RequestType4=t.RequestType3=t.RequestType2=t.RequestType1=t.RequestType=t.RequestType0=t.AbstractMessageSignature=t.ParameterStructures=t.ResponseError=t.ErrorCodes=void 0;const r=n(96258);var i;!function(e){e.ParseError=-32700,e.InvalidRequest=-32600,e.MethodNotFound=-32601,e.InvalidParams=-32602,e.InternalError=-32603,e.jsonrpcReservedErrorRangeStart=-32099,e.serverErrorStart=-32099,e.MessageWriteError=-32099,e.MessageReadError=-32098,e.PendingResponseRejected=-32097,e.ConnectionInactive=-32096,e.ServerNotInitialized=-32002,e.UnknownErrorCode=-32001,e.jsonrpcReservedErrorRangeEnd=-32e3,e.serverErrorEnd=-32e3}(i=t.ErrorCodes||(t.ErrorCodes={}));class ResponseError extends Error{constructor(e,t,n){super(t),this.code=r.number(e)?e:i.UnknownErrorCode,this.data=n,Object.setPrototypeOf(this,ResponseError.prototype)}toJson(){const e={code:this.code,message:this.message};return void 0!==this.data&&(e.data=this.data),e}}t.ResponseError=ResponseError;class ParameterStructures{constructor(e){this.kind=e}static is(e){return e===ParameterStructures.auto||e===ParameterStructures.byName||e===ParameterStructures.byPosition}toString(){return this.kind}}t.ParameterStructures=ParameterStructures,ParameterStructures.auto=new ParameterStructures("auto"),ParameterStructures.byPosition=new ParameterStructures("byPosition"),ParameterStructures.byName=new ParameterStructures("byName");class AbstractMessageSignature{constructor(e,t){this.method=e,this.numberOfParams=t}get parameterStructures(){return ParameterStructures.auto}}t.AbstractMessageSignature=AbstractMessageSignature;t.RequestType0=class RequestType0 extends AbstractMessageSignature{constructor(e){super(e,0)}};t.RequestType=class RequestType extends AbstractMessageSignature{constructor(e,t=ParameterStructures.auto){super(e,1),this._parameterStructures=t}get parameterStructures(){return this._parameterStructures}};t.RequestType1=class RequestType1 extends AbstractMessageSignature{constructor(e,t=ParameterStructures.auto){super(e,1),this._parameterStructures=t}get parameterStructures(){return this._parameterStructures}};t.RequestType2=class RequestType2 extends AbstractMessageSignature{constructor(e){super(e,2)}};t.RequestType3=class RequestType3 extends AbstractMessageSignature{constructor(e){super(e,3)}};t.RequestType4=class RequestType4 extends AbstractMessageSignature{constructor(e){super(e,4)}};t.RequestType5=class RequestType5 extends AbstractMessageSignature{constructor(e){super(e,5)}};t.RequestType6=class RequestType6 extends AbstractMessageSignature{constructor(e){super(e,6)}};t.RequestType7=class RequestType7 extends AbstractMessageSignature{constructor(e){super(e,7)}};t.RequestType8=class RequestType8 extends AbstractMessageSignature{constructor(e){super(e,8)}};t.RequestType9=class RequestType9 extends AbstractMessageSignature{constructor(e){super(e,9)}};t.NotificationType=class NotificationType extends AbstractMessageSignature{constructor(e,t=ParameterStructures.auto){super(e,1),this._parameterStructures=t}get parameterStructures(){return this._parameterStructures}};t.NotificationType0=class NotificationType0 extends AbstractMessageSignature{constructor(e){super(e,0)}};t.NotificationType1=class NotificationType1 extends AbstractMessageSignature{constructor(e,t=ParameterStructures.auto){super(e,1),this._parameterStructures=t}get parameterStructures(){return this._parameterStructures}};t.NotificationType2=class NotificationType2 extends AbstractMessageSignature{constructor(e){super(e,2)}};t.NotificationType3=class NotificationType3 extends AbstractMessageSignature{constructor(e){super(e,3)}};t.NotificationType4=class NotificationType4 extends AbstractMessageSignature{constructor(e){super(e,4)}};t.NotificationType5=class NotificationType5 extends AbstractMessageSignature{constructor(e){super(e,5)}};t.NotificationType6=class NotificationType6 extends AbstractMessageSignature{constructor(e){super(e,6)}};t.NotificationType7=class NotificationType7 extends AbstractMessageSignature{constructor(e){super(e,7)}};t.NotificationType8=class NotificationType8 extends AbstractMessageSignature{constructor(e){super(e,8)}};t.NotificationType9=class NotificationType9 extends AbstractMessageSignature{constructor(e){super(e,9)}},function(e){e.isRequest=function isRequest(e){const t=e;return t&&r.string(t.method)&&(r.string(t.id)||r.number(t.id))},e.isNotification=function isNotification(e){const t=e;return t&&r.string(t.method)&&void 0===e.id},e.isResponse=function isResponse(e){const t=e;return t&&(void 0!==t.result||!!t.error)&&(r.string(t.id)||r.number(t.id)||null===t.id)}}(t.Message||(t.Message={}))},16998:(e,t)=>{"use strict";let n;function RAL(){if(void 0===n)throw new Error("No runtime abstraction layer installed");return n}Object.defineProperty(t,"__esModule",{value:!0}),function(e){e.install=function install(e){if(void 0===e)throw new Error("No runtime abstraction layer provided");n=e}}(RAL||(RAL={})),t.default=RAL},8185:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Semaphore=void 0;const r=n(16998);t.Semaphore=class Semaphore{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(((t,n)=>{this._waiting.push({thunk:e,resolve:t,reject:n}),this.runNext()}))}get active(){return this._active}runNext(){0!==this._waiting.length&&this._active!==this._capacity&&(0,r.default)().timer.setImmediate((()=>this.doRunNext()))}doRunNext(){if(0===this._waiting.length||this._active===this._capacity)return;const e=this._waiting.shift();if(this._active++,this._active>this._capacity)throw new Error("To many thunks active");try{const t=e.thunk();t instanceof Promise?t.then((t=>{this._active--,e.resolve(t),this.runNext()}),(t=>{this._active--,e.reject(t),this.runNext()})):(this._active--,e.resolve(t),this.runNext())}catch(t){this._active--,e.reject(t),this.runNext()}}}},18164:function(e,t,n){"use strict";var r=this&&this.__createBinding||(Object.create?function(e,t,n,r){void 0===r&&(r=n);var i=Object.getOwnPropertyDescriptor(t,n);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,r,i)}:function(e,t,n,r){void 0===r&&(r=n),e[r]=t[n]}),i=this&&this.__exportStar||function(e,t){for(var n in e)"default"===n||Object.prototype.hasOwnProperty.call(t,n)||r(t,e,n)};Object.defineProperty(t,"__esModule",{value:!0}),t.createMessageConnection=t.createServerSocketTransport=t.createClientSocketTransport=t.createServerPipeTransport=t.createClientPipeTransport=t.generateRandomPipeName=t.StreamMessageWriter=t.StreamMessageReader=t.SocketMessageWriter=t.SocketMessageReader=t.IPCMessageWriter=t.IPCMessageReader=void 0;const o=n(18697);o.default.install();const a=n(80128),s=n(71017),c=n(22037),u=n(6113),l=n(41808);i(n(80128),t);class IPCMessageReader extends a.AbstractMessageReader{constructor(e){super(),this.process=e;let t=this.process;t.on("error",(e=>this.fireError(e))),t.on("close",(()=>this.fireClose()))}listen(e){return this.process.on("message",e),a.Disposable.create((()=>this.process.off("message",e)))}}t.IPCMessageReader=IPCMessageReader;class IPCMessageWriter extends a.AbstractMessageWriter{constructor(e){super(),this.process=e,this.errorCount=0;let t=this.process;t.on("error",(e=>this.fireError(e))),t.on("close",(()=>this.fireClose))}write(e){try{return"function"==typeof this.process.send&&this.process.send(e,void 0,void 0,(t=>{t?(this.errorCount++,this.handleError(t,e)):this.errorCount=0})),Promise.resolve()}catch(t){return this.handleError(t,e),Promise.reject(t)}}handleError(e,t){this.errorCount++,this.fireError(e,t,this.errorCount)}end(){}}t.IPCMessageWriter=IPCMessageWriter;class SocketMessageReader extends a.ReadableStreamMessageReader{constructor(e,t="utf-8"){super((0,o.default)().stream.asReadableStream(e),t)}}t.SocketMessageReader=SocketMessageReader;class SocketMessageWriter extends a.WriteableStreamMessageWriter{constructor(e,t){super((0,o.default)().stream.asWritableStream(e),t),this.socket=e}dispose(){super.dispose(),this.socket.destroy()}}t.SocketMessageWriter=SocketMessageWriter;class StreamMessageReader extends a.ReadableStreamMessageReader{constructor(e,t){super((0,o.default)().stream.asReadableStream(e),t)}}t.StreamMessageReader=StreamMessageReader;class StreamMessageWriter extends a.WriteableStreamMessageWriter{constructor(e,t){super((0,o.default)().stream.asWritableStream(e),t)}}t.StreamMessageWriter=StreamMessageWriter;const g=process.env.XDG_RUNTIME_DIR,d=new Map([["linux",107],["darwin",103]]);t.generateRandomPipeName=function generateRandomPipeName(){const e=(0,u.randomBytes)(21).toString("hex");if("win32"===process.platform)return`\\\\.\\pipe\\vscode-jsonrpc-${e}-sock`;let t;t=g?s.join(g,`vscode-ipc-${e}.sock`):s.join(c.tmpdir(),`vscode-${e}.sock`);const n=d.get(process.platform);return void 0!==n&&t.length>=n&&(0,o.default)().console.warn(`WARNING: IPC handle "${t}" is longer than ${n} characters.`),t},t.createClientPipeTransport=function createClientPipeTransport(e,t="utf-8"){let n;const r=new Promise(((e,t)=>{n=e}));return new Promise(((i,o)=>{let a=(0,l.createServer)((e=>{a.close(),n([new SocketMessageReader(e,t),new SocketMessageWriter(e,t)])}));a.on("error",o),a.listen(e,(()=>{a.removeListener("error",o),i({onConnected:()=>r})}))}))},t.createServerPipeTransport=function createServerPipeTransport(e,t="utf-8"){const n=(0,l.createConnection)(e);return[new SocketMessageReader(n,t),new SocketMessageWriter(n,t)]},t.createClientSocketTransport=function createClientSocketTransport(e,t="utf-8"){let n;const r=new Promise(((e,t)=>{n=e}));return new Promise(((i,o)=>{const a=(0,l.createServer)((e=>{a.close(),n([new SocketMessageReader(e,t),new SocketMessageWriter(e,t)])}));a.on("error",o),a.listen(e,"127.0.0.1",(()=>{a.removeListener("error",o),i({onConnected:()=>r})}))}))},t.createServerSocketTransport=function createServerSocketTransport(e,t="utf-8"){const n=(0,l.createConnection)(e,"127.0.0.1");return[new SocketMessageReader(n,t),new SocketMessageWriter(n,t)]},t.createMessageConnection=function createMessageConnection(e,t,n,r){n||(n=a.NullLogger);const i=function isReadableStream(e){const t=e;return void 0!==t.read&&void 0!==t.addListener}(e)?new StreamMessageReader(e):e,o=function isWritableStream(e){const t=e;return void 0!==t.write&&void 0!==t.addListener}(t)?new StreamMessageWriter(t):t;return a.ConnectionStrategy.is(r)&&(r={connectionStrategy:r}),(0,a.createMessageConnection)(i,o,n,r)}},18697:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=n(16998),i=n(73837),o=n(68912),a=n(35521);class MessageBuffer extends a.AbstractMessageBuffer{constructor(e="utf-8"){super(e)}emptyBuffer(){return MessageBuffer.emptyBuffer}fromString(e,t){return Buffer.from(e,t)}toString(e,t){return e instanceof Buffer?e.toString(t):new i.TextDecoder(t).decode(e)}asNative(e,t){return void 0===t?e instanceof Buffer?e:Buffer.from(e):e instanceof Buffer?e.slice(0,t):Buffer.from(e,0,t)}allocNative(e){return Buffer.allocUnsafe(e)}}MessageBuffer.emptyBuffer=Buffer.allocUnsafe(0);class ReadableStreamWrapper{constructor(e){this.stream=e}onClose(e){return this.stream.on("close",e),o.Disposable.create((()=>this.stream.off("close",e)))}onError(e){return this.stream.on("error",e),o.Disposable.create((()=>this.stream.off("error",e)))}onEnd(e){return this.stream.on("end",e),o.Disposable.create((()=>this.stream.off("end",e)))}onData(e){return this.stream.on("data",e),o.Disposable.create((()=>this.stream.off("data",e)))}}class WritableStreamWrapper{constructor(e){this.stream=e}onClose(e){return this.stream.on("close",e),o.Disposable.create((()=>this.stream.off("close",e)))}onError(e){return this.stream.on("error",e),o.Disposable.create((()=>this.stream.off("error",e)))}onEnd(e){return this.stream.on("end",e),o.Disposable.create((()=>this.stream.off("end",e)))}write(e,t){return new Promise(((n,r)=>{const callback=e=>{null==e?n():r(e)};"string"==typeof e?this.stream.write(e,t,callback):this.stream.write(e,callback)}))}end(){this.stream.end()}}const s=Object.freeze({messageBuffer:Object.freeze({create:e=>new MessageBuffer(e)}),applicationJson:Object.freeze({encoder:Object.freeze({name:"application/json",encode:(e,t)=>{try{return Promise.resolve(Buffer.from(JSON.stringify(e,void 0,0),t.charset))}catch(e){return Promise.reject(e)}}}),decoder:Object.freeze({name:"application/json",decode:(e,t)=>{try{return e instanceof Buffer?Promise.resolve(JSON.parse(e.toString(t.charset))):Promise.resolve(JSON.parse(new i.TextDecoder(t.charset).decode(e)))}catch(e){return Promise.reject(e)}}})}),stream:Object.freeze({asReadableStream:e=>new ReadableStreamWrapper(e),asWritableStream:e=>new WritableStreamWrapper(e)}),console,timer:Object.freeze({setTimeout(e,t,...n){const r=setTimeout(e,t,...n);return{dispose:()=>clearTimeout(r)}},setImmediate(e,...t){const n=setImmediate(e,...t);return{dispose:()=>clearImmediate(n)}},setInterval(e,t,...n){const r=setInterval(e,t,...n);return{dispose:()=>clearInterval(r)}}})});function RIL(){return s}!function(e){e.install=function install(){r.default.install(s)}}(RIL||(RIL={})),t.default=RIL},14966:(e,t,n)=>{"use strict";e.exports=n(18164)},71870:function(e,t,n){"use strict";var r=this&&this.__createBinding||(Object.create?function(e,t,n,r){void 0===r&&(r=n);var i=Object.getOwnPropertyDescriptor(t,n);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,r,i)}:function(e,t,n,r){void 0===r&&(r=n),e[r]=t[n]}),i=this&&this.__exportStar||function(e,t){for(var n in e)"default"===n||Object.prototype.hasOwnProperty.call(t,n)||r(t,e,n)};Object.defineProperty(t,"__esModule",{value:!0}),t.LSPErrorCodes=t.createProtocolConnection=void 0,i(n(18164),t),i(n(8196),t),i(n(68824),t),i(n(44327),t);var o=n(99306);Object.defineProperty(t,"createProtocolConnection",{enumerable:!0,get:function(){return o.createProtocolConnection}}),function(e){e.lspReservedErrorRangeStart=-32899,e.RequestFailed=-32803,e.ServerCancelled=-32802,e.ContentModified=-32801,e.RequestCancelled=-32800,e.lspReservedErrorRangeEnd=-32800}(t.LSPErrorCodes||(t.LSPErrorCodes={}))},99306:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.createProtocolConnection=void 0;const r=n(18164);t.createProtocolConnection=function createProtocolConnection(e,t,n,i){return r.ConnectionStrategy.is(i)&&(i={connectionStrategy:i}),(0,r.createMessageConnection)(e,t,n,i)}},68824:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ProtocolNotificationType=t.ProtocolNotificationType0=t.ProtocolRequestType=t.ProtocolRequestType0=t.RegistrationType=t.MessageDirection=void 0;const r=n(18164);!function(e){e.clientToServer="clientToServer",e.serverToClient="serverToClient",e.both="both"}(t.MessageDirection||(t.MessageDirection={}));t.RegistrationType=class RegistrationType{constructor(e){this.method=e}};class ProtocolRequestType0 extends r.RequestType0{constructor(e){super(e)}}t.ProtocolRequestType0=ProtocolRequestType0;class ProtocolRequestType extends r.RequestType{constructor(e){super(e,r.ParameterStructures.byName)}}t.ProtocolRequestType=ProtocolRequestType;class ProtocolNotificationType0 extends r.NotificationType0{constructor(e){super(e)}}t.ProtocolNotificationType0=ProtocolNotificationType0;class ProtocolNotificationType extends r.NotificationType{constructor(e){super(e,r.ParameterStructures.byName)}}t.ProtocolNotificationType=ProtocolNotificationType},472:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CallHierarchyOutgoingCallsRequest=t.CallHierarchyIncomingCallsRequest=t.CallHierarchyPrepareRequest=void 0;const r=n(68824);!function(e){e.method="textDocument/prepareCallHierarchy",e.messageDirection=r.MessageDirection.clientToServer,e.type=new r.ProtocolRequestType(e.method)}(t.CallHierarchyPrepareRequest||(t.CallHierarchyPrepareRequest={})),function(e){e.method="callHierarchy/incomingCalls",e.messageDirection=r.MessageDirection.clientToServer,e.type=new r.ProtocolRequestType(e.method)}(t.CallHierarchyIncomingCallsRequest||(t.CallHierarchyIncomingCallsRequest={})),function(e){e.method="callHierarchy/outgoingCalls",e.messageDirection=r.MessageDirection.clientToServer,e.type=new r.ProtocolRequestType(e.method)}(t.CallHierarchyOutgoingCallsRequest||(t.CallHierarchyOutgoingCallsRequest={}))},44047:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ColorPresentationRequest=t.DocumentColorRequest=void 0;const r=n(68824);!function(e){e.method="textDocument/documentColor",e.messageDirection=r.MessageDirection.clientToServer,e.type=new r.ProtocolRequestType(e.method)}(t.DocumentColorRequest||(t.DocumentColorRequest={})),function(e){e.method="textDocument/colorPresentation",e.messageDirection=r.MessageDirection.clientToServer,e.type=new r.ProtocolRequestType(e.method)}(t.ColorPresentationRequest||(t.ColorPresentationRequest={}))},61798:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ConfigurationRequest=void 0;const r=n(68824);!function(e){e.method="workspace/configuration",e.messageDirection=r.MessageDirection.serverToClient,e.type=new r.ProtocolRequestType(e.method)}(t.ConfigurationRequest||(t.ConfigurationRequest={}))},20465:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DeclarationRequest=void 0;const r=n(68824);!function(e){e.method="textDocument/declaration",e.messageDirection=r.MessageDirection.clientToServer,e.type=new r.ProtocolRequestType(e.method)}(t.DeclarationRequest||(t.DeclarationRequest={}))},28268:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DiagnosticRefreshRequest=t.WorkspaceDiagnosticRequest=t.DocumentDiagnosticRequest=t.DocumentDiagnosticReportKind=t.DiagnosticServerCancellationData=void 0;const r=n(18164),i=n(61854),o=n(68824);!function(e){e.is=function is(e){const t=e;return t&&i.boolean(t.retriggerRequest)}}(t.DiagnosticServerCancellationData||(t.DiagnosticServerCancellationData={})),function(e){e.Full="full",e.Unchanged="unchanged"}(t.DocumentDiagnosticReportKind||(t.DocumentDiagnosticReportKind={})),function(e){e.method="textDocument/diagnostic",e.messageDirection=o.MessageDirection.clientToServer,e.type=new o.ProtocolRequestType(e.method),e.partialResult=new r.ProgressType}(t.DocumentDiagnosticRequest||(t.DocumentDiagnosticRequest={})),function(e){e.method="workspace/diagnostic",e.messageDirection=o.MessageDirection.clientToServer,e.type=new o.ProtocolRequestType(e.method),e.partialResult=new r.ProgressType}(t.WorkspaceDiagnosticRequest||(t.WorkspaceDiagnosticRequest={})),function(e){e.method="workspace/diagnostic/refresh",e.messageDirection=o.MessageDirection.clientToServer,e.type=new o.ProtocolRequestType0(e.method)}(t.DiagnosticRefreshRequest||(t.DiagnosticRefreshRequest={}))},28035:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.WillDeleteFilesRequest=t.DidDeleteFilesNotification=t.DidRenameFilesNotification=t.WillRenameFilesRequest=t.DidCreateFilesNotification=t.WillCreateFilesRequest=t.FileOperationPatternKind=void 0;const r=n(68824);!function(e){e.file="file",e.folder="folder"}(t.FileOperationPatternKind||(t.FileOperationPatternKind={})),function(e){e.method="workspace/willCreateFiles",e.messageDirection=r.MessageDirection.clientToServer,e.type=new r.ProtocolRequestType(e.method)}(t.WillCreateFilesRequest||(t.WillCreateFilesRequest={})),function(e){e.method="workspace/didCreateFiles",e.messageDirection=r.MessageDirection.clientToServer,e.type=new r.ProtocolNotificationType(e.method)}(t.DidCreateFilesNotification||(t.DidCreateFilesNotification={})),function(e){e.method="workspace/willRenameFiles",e.messageDirection=r.MessageDirection.clientToServer,e.type=new r.ProtocolRequestType(e.method)}(t.WillRenameFilesRequest||(t.WillRenameFilesRequest={})),function(e){e.method="workspace/didRenameFiles",e.messageDirection=r.MessageDirection.clientToServer,e.type=new r.ProtocolNotificationType(e.method)}(t.DidRenameFilesNotification||(t.DidRenameFilesNotification={})),function(e){e.method="workspace/didDeleteFiles",e.messageDirection=r.MessageDirection.clientToServer,e.type=new r.ProtocolNotificationType(e.method)}(t.DidDeleteFilesNotification||(t.DidDeleteFilesNotification={})),function(e){e.method="workspace/willDeleteFiles",e.messageDirection=r.MessageDirection.clientToServer,e.type=new r.ProtocolRequestType(e.method)}(t.WillDeleteFilesRequest||(t.WillDeleteFilesRequest={}))},68069:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.FoldingRangeRequest=void 0;const r=n(68824);!function(e){e.method="textDocument/foldingRange",e.messageDirection=r.MessageDirection.clientToServer,e.type=new r.ProtocolRequestType(e.method)}(t.FoldingRangeRequest||(t.FoldingRangeRequest={}))},30790:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ImplementationRequest=void 0;const r=n(68824);!function(e){e.method="textDocument/implementation",e.messageDirection=r.MessageDirection.clientToServer,e.type=new r.ProtocolRequestType(e.method)}(t.ImplementationRequest||(t.ImplementationRequest={}))},41281:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.InlayHintRefreshRequest=t.InlayHintResolveRequest=t.InlayHintRequest=void 0;const r=n(68824);!function(e){e.method="textDocument/inlayHint",e.messageDirection=r.MessageDirection.clientToServer,e.type=new r.ProtocolRequestType(e.method)}(t.InlayHintRequest||(t.InlayHintRequest={})),function(e){e.method="inlayHint/resolve",e.messageDirection=r.MessageDirection.clientToServer,e.type=new r.ProtocolRequestType(e.method)}(t.InlayHintResolveRequest||(t.InlayHintResolveRequest={})),function(e){e.method="workspace/inlayHint/refresh",e.messageDirection=r.MessageDirection.clientToServer,e.type=new r.ProtocolRequestType0(e.method)}(t.InlayHintRefreshRequest||(t.InlayHintRefreshRequest={}))},12607:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.InlineValueRefreshRequest=t.InlineValueRequest=void 0;const r=n(68824);!function(e){e.method="textDocument/inlineValue",e.messageDirection=r.MessageDirection.clientToServer,e.type=new r.ProtocolRequestType(e.method)}(t.InlineValueRequest||(t.InlineValueRequest={})),function(e){e.method="workspace/inlineValue/refresh",e.messageDirection=r.MessageDirection.clientToServer,e.type=new r.ProtocolRequestType0(e.method)}(t.InlineValueRefreshRequest||(t.InlineValueRefreshRequest={}))},44327:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.WorkspaceSymbolRequest=t.CodeActionResolveRequest=t.CodeActionRequest=t.DocumentSymbolRequest=t.DocumentHighlightRequest=t.ReferencesRequest=t.DefinitionRequest=t.SignatureHelpRequest=t.SignatureHelpTriggerKind=t.HoverRequest=t.CompletionResolveRequest=t.CompletionRequest=t.CompletionTriggerKind=t.PublishDiagnosticsNotification=t.WatchKind=t.RelativePattern=t.FileChangeType=t.DidChangeWatchedFilesNotification=t.WillSaveTextDocumentWaitUntilRequest=t.WillSaveTextDocumentNotification=t.TextDocumentSaveReason=t.DidSaveTextDocumentNotification=t.DidCloseTextDocumentNotification=t.DidChangeTextDocumentNotification=t.TextDocumentContentChangeEvent=t.DidOpenTextDocumentNotification=t.TextDocumentSyncKind=t.TelemetryEventNotification=t.LogMessageNotification=t.ShowMessageRequest=t.ShowMessageNotification=t.MessageType=t.DidChangeConfigurationNotification=t.ExitNotification=t.ShutdownRequest=t.InitializedNotification=t.InitializeErrorCodes=t.InitializeRequest=t.WorkDoneProgressOptions=t.TextDocumentRegistrationOptions=t.StaticRegistrationOptions=t.PositionEncodingKind=t.FailureHandlingKind=t.ResourceOperationKind=t.UnregistrationRequest=t.RegistrationRequest=t.DocumentSelector=t.NotebookCellTextDocumentFilter=t.NotebookDocumentFilter=t.TextDocumentFilter=void 0,t.TypeHierarchySubtypesRequest=t.TypeHierarchyPrepareRequest=t.MonikerRequest=t.MonikerKind=t.UniquenessLevel=t.WillDeleteFilesRequest=t.DidDeleteFilesNotification=t.WillRenameFilesRequest=t.DidRenameFilesNotification=t.WillCreateFilesRequest=t.DidCreateFilesNotification=t.FileOperationPatternKind=t.LinkedEditingRangeRequest=t.ShowDocumentRequest=t.SemanticTokensRegistrationType=t.SemanticTokensRefreshRequest=t.SemanticTokensRangeRequest=t.SemanticTokensDeltaRequest=t.SemanticTokensRequest=t.TokenFormat=t.CallHierarchyPrepareRequest=t.CallHierarchyOutgoingCallsRequest=t.CallHierarchyIncomingCallsRequest=t.WorkDoneProgressCancelNotification=t.WorkDoneProgressCreateRequest=t.WorkDoneProgress=t.SelectionRangeRequest=t.DeclarationRequest=t.FoldingRangeRequest=t.ColorPresentationRequest=t.DocumentColorRequest=t.ConfigurationRequest=t.DidChangeWorkspaceFoldersNotification=t.WorkspaceFoldersRequest=t.TypeDefinitionRequest=t.ImplementationRequest=t.ApplyWorkspaceEditRequest=t.ExecuteCommandRequest=t.PrepareRenameRequest=t.RenameRequest=t.PrepareSupportDefaultBehavior=t.DocumentOnTypeFormattingRequest=t.DocumentRangeFormattingRequest=t.DocumentFormattingRequest=t.DocumentLinkResolveRequest=t.DocumentLinkRequest=t.CodeLensRefreshRequest=t.CodeLensResolveRequest=t.CodeLensRequest=t.WorkspaceSymbolResolveRequest=void 0,t.DidCloseNotebookDocumentNotification=t.DidSaveNotebookDocumentNotification=t.DidChangeNotebookDocumentNotification=t.NotebookCellArrayChange=t.DidOpenNotebookDocumentNotification=t.NotebookDocumentSyncRegistrationType=t.NotebookDocument=t.NotebookCell=t.ExecutionSummary=t.NotebookCellKind=t.DiagnosticRefreshRequest=t.WorkspaceDiagnosticRequest=t.DocumentDiagnosticRequest=t.DocumentDiagnosticReportKind=t.DiagnosticServerCancellationData=t.InlayHintRefreshRequest=t.InlayHintResolveRequest=t.InlayHintRequest=t.InlineValueRefreshRequest=t.InlineValueRequest=t.TypeHierarchySupertypesRequest=void 0;const r=n(68824),i=n(8196),o=n(61854),a=n(30790);Object.defineProperty(t,"ImplementationRequest",{enumerable:!0,get:function(){return a.ImplementationRequest}});const s=n(16520);Object.defineProperty(t,"TypeDefinitionRequest",{enumerable:!0,get:function(){return s.TypeDefinitionRequest}});const c=n(71618);Object.defineProperty(t,"WorkspaceFoldersRequest",{enumerable:!0,get:function(){return c.WorkspaceFoldersRequest}}),Object.defineProperty(t,"DidChangeWorkspaceFoldersNotification",{enumerable:!0,get:function(){return c.DidChangeWorkspaceFoldersNotification}});const u=n(61798);Object.defineProperty(t,"ConfigurationRequest",{enumerable:!0,get:function(){return u.ConfigurationRequest}});const l=n(44047);Object.defineProperty(t,"DocumentColorRequest",{enumerable:!0,get:function(){return l.DocumentColorRequest}}),Object.defineProperty(t,"ColorPresentationRequest",{enumerable:!0,get:function(){return l.ColorPresentationRequest}});const g=n(68069);Object.defineProperty(t,"FoldingRangeRequest",{enumerable:!0,get:function(){return g.FoldingRangeRequest}});const d=n(20465);Object.defineProperty(t,"DeclarationRequest",{enumerable:!0,get:function(){return d.DeclarationRequest}});const h=n(25463);Object.defineProperty(t,"SelectionRangeRequest",{enumerable:!0,get:function(){return h.SelectionRangeRequest}});const m=n(90961);Object.defineProperty(t,"WorkDoneProgress",{enumerable:!0,get:function(){return m.WorkDoneProgress}}),Object.defineProperty(t,"WorkDoneProgressCreateRequest",{enumerable:!0,get:function(){return m.WorkDoneProgressCreateRequest}}),Object.defineProperty(t,"WorkDoneProgressCancelNotification",{enumerable:!0,get:function(){return m.WorkDoneProgressCancelNotification}});const f=n(472);Object.defineProperty(t,"CallHierarchyIncomingCallsRequest",{enumerable:!0,get:function(){return f.CallHierarchyIncomingCallsRequest}}),Object.defineProperty(t,"CallHierarchyOutgoingCallsRequest",{enumerable:!0,get:function(){return f.CallHierarchyOutgoingCallsRequest}}),Object.defineProperty(t,"CallHierarchyPrepareRequest",{enumerable:!0,get:function(){return f.CallHierarchyPrepareRequest}});const p=n(74829);Object.defineProperty(t,"TokenFormat",{enumerable:!0,get:function(){return p.TokenFormat}}),Object.defineProperty(t,"SemanticTokensRequest",{enumerable:!0,get:function(){return p.SemanticTokensRequest}}),Object.defineProperty(t,"SemanticTokensDeltaRequest",{enumerable:!0,get:function(){return p.SemanticTokensDeltaRequest}}),Object.defineProperty(t,"SemanticTokensRangeRequest",{enumerable:!0,get:function(){return p.SemanticTokensRangeRequest}}),Object.defineProperty(t,"SemanticTokensRefreshRequest",{enumerable:!0,get:function(){return p.SemanticTokensRefreshRequest}}),Object.defineProperty(t,"SemanticTokensRegistrationType",{enumerable:!0,get:function(){return p.SemanticTokensRegistrationType}});const v=n(84146);Object.defineProperty(t,"ShowDocumentRequest",{enumerable:!0,get:function(){return v.ShowDocumentRequest}});const R=n(60389);Object.defineProperty(t,"LinkedEditingRangeRequest",{enumerable:!0,get:function(){return R.LinkedEditingRangeRequest}});const b=n(28035);Object.defineProperty(t,"FileOperationPatternKind",{enumerable:!0,get:function(){return b.FileOperationPatternKind}}),Object.defineProperty(t,"DidCreateFilesNotification",{enumerable:!0,get:function(){return b.DidCreateFilesNotification}}),Object.defineProperty(t,"WillCreateFilesRequest",{enumerable:!0,get:function(){return b.WillCreateFilesRequest}}),Object.defineProperty(t,"DidRenameFilesNotification",{enumerable:!0,get:function(){return b.DidRenameFilesNotification}}),Object.defineProperty(t,"WillRenameFilesRequest",{enumerable:!0,get:function(){return b.WillRenameFilesRequest}}),Object.defineProperty(t,"DidDeleteFilesNotification",{enumerable:!0,get:function(){return b.DidDeleteFilesNotification}}),Object.defineProperty(t,"WillDeleteFilesRequest",{enumerable:!0,get:function(){return b.WillDeleteFilesRequest}});const D=n(6081);Object.defineProperty(t,"UniquenessLevel",{enumerable:!0,get:function(){return D.UniquenessLevel}}),Object.defineProperty(t,"MonikerKind",{enumerable:!0,get:function(){return D.MonikerKind}}),Object.defineProperty(t,"MonikerRequest",{enumerable:!0,get:function(){return D.MonikerRequest}});const y=n(73141);Object.defineProperty(t,"TypeHierarchyPrepareRequest",{enumerable:!0,get:function(){return y.TypeHierarchyPrepareRequest}}),Object.defineProperty(t,"TypeHierarchySubtypesRequest",{enumerable:!0,get:function(){return y.TypeHierarchySubtypesRequest}}),Object.defineProperty(t,"TypeHierarchySupertypesRequest",{enumerable:!0,get:function(){return y.TypeHierarchySupertypesRequest}});const _=n(12607);Object.defineProperty(t,"InlineValueRequest",{enumerable:!0,get:function(){return _.InlineValueRequest}}),Object.defineProperty(t,"InlineValueRefreshRequest",{enumerable:!0,get:function(){return _.InlineValueRefreshRequest}});const k=n(41281);Object.defineProperty(t,"InlayHintRequest",{enumerable:!0,get:function(){return k.InlayHintRequest}}),Object.defineProperty(t,"InlayHintResolveRequest",{enumerable:!0,get:function(){return k.InlayHintResolveRequest}}),Object.defineProperty(t,"InlayHintRefreshRequest",{enumerable:!0,get:function(){return k.InlayHintRefreshRequest}});const S=n(28268);Object.defineProperty(t,"DiagnosticServerCancellationData",{enumerable:!0,get:function(){return S.DiagnosticServerCancellationData}}),Object.defineProperty(t,"DocumentDiagnosticReportKind",{enumerable:!0,get:function(){return S.DocumentDiagnosticReportKind}}),Object.defineProperty(t,"DocumentDiagnosticRequest",{enumerable:!0,get:function(){return S.DocumentDiagnosticRequest}}),Object.defineProperty(t,"WorkspaceDiagnosticRequest",{enumerable:!0,get:function(){return S.WorkspaceDiagnosticRequest}}),Object.defineProperty(t,"DiagnosticRefreshRequest",{enumerable:!0,get:function(){return S.DiagnosticRefreshRequest}});const T=n(44453);var C,A,E,P;Object.defineProperty(t,"NotebookCellKind",{enumerable:!0,get:function(){return T.NotebookCellKind}}),Object.defineProperty(t,"ExecutionSummary",{enumerable:!0,get:function(){return T.ExecutionSummary}}),Object.defineProperty(t,"NotebookCell",{enumerable:!0,get:function(){return T.NotebookCell}}),Object.defineProperty(t,"NotebookDocument",{enumerable:!0,get:function(){return T.NotebookDocument}}),Object.defineProperty(t,"NotebookDocumentSyncRegistrationType",{enumerable:!0,get:function(){return T.NotebookDocumentSyncRegistrationType}}),Object.defineProperty(t,"DidOpenNotebookDocumentNotification",{enumerable:!0,get:function(){return T.DidOpenNotebookDocumentNotification}}),Object.defineProperty(t,"NotebookCellArrayChange",{enumerable:!0,get:function(){return T.NotebookCellArrayChange}}),Object.defineProperty(t,"DidChangeNotebookDocumentNotification",{enumerable:!0,get:function(){return T.DidChangeNotebookDocumentNotification}}),Object.defineProperty(t,"DidSaveNotebookDocumentNotification",{enumerable:!0,get:function(){return T.DidSaveNotebookDocumentNotification}}),Object.defineProperty(t,"DidCloseNotebookDocumentNotification",{enumerable:!0,get:function(){return T.DidCloseNotebookDocumentNotification}}),function(e){e.is=function is(e){const t=e;return o.string(t.language)||o.string(t.scheme)||o.string(t.pattern)}}(C=t.TextDocumentFilter||(t.TextDocumentFilter={})),function(e){e.is=function is(e){const t=e;return o.objectLiteral(t)&&(o.string(t.notebookType)||o.string(t.scheme)||o.string(t.pattern))}}(A=t.NotebookDocumentFilter||(t.NotebookDocumentFilter={})),function(e){e.is=function is(e){const t=e;return o.objectLiteral(t)&&(o.string(t.notebook)||A.is(t.notebook))&&(void 0===t.language||o.string(t.language))}}(E=t.NotebookCellTextDocumentFilter||(t.NotebookCellTextDocumentFilter={})),function(e){e.is=function is(e){if(!Array.isArray(e))return!1;for(let t of e)if(!o.string(t)&&!C.is(t)&&!E.is(t))return!1;return!0}}(P=t.DocumentSelector||(t.DocumentSelector={})),function(e){e.method="client/registerCapability",e.messageDirection=r.MessageDirection.serverToClient,e.type=new r.ProtocolRequestType(e.method)}(t.RegistrationRequest||(t.RegistrationRequest={})),function(e){e.method="client/unregisterCapability",e.messageDirection=r.MessageDirection.serverToClient,e.type=new r.ProtocolRequestType(e.method)}(t.UnregistrationRequest||(t.UnregistrationRequest={})),function(e){e.Create="create",e.Rename="rename",e.Delete="delete"}(t.ResourceOperationKind||(t.ResourceOperationKind={})),function(e){e.Abort="abort",e.Transactional="transactional",e.TextOnlyTransactional="textOnlyTransactional",e.Undo="undo"}(t.FailureHandlingKind||(t.FailureHandlingKind={})),function(e){e.UTF8="utf-8",e.UTF16="utf-16",e.UTF32="utf-32"}(t.PositionEncodingKind||(t.PositionEncodingKind={})),function(e){e.hasId=function hasId(e){const t=e;return t&&o.string(t.id)&&t.id.length>0}}(t.StaticRegistrationOptions||(t.StaticRegistrationOptions={})),function(e){e.is=function is(e){const t=e;return t&&(null===t.documentSelector||P.is(t.documentSelector))}}(t.TextDocumentRegistrationOptions||(t.TextDocumentRegistrationOptions={})),function(e){e.is=function is(e){const t=e;return o.objectLiteral(t)&&(void 0===t.workDoneProgress||o.boolean(t.workDoneProgress))},e.hasWorkDoneProgress=function hasWorkDoneProgress(e){const t=e;return t&&o.boolean(t.workDoneProgress)}}(t.WorkDoneProgressOptions||(t.WorkDoneProgressOptions={})),function(e){e.method="initialize",e.messageDirection=r.MessageDirection.clientToServer,e.type=new r.ProtocolRequestType(e.method)}(t.InitializeRequest||(t.InitializeRequest={})),function(e){e.unknownProtocolVersion=1}(t.InitializeErrorCodes||(t.InitializeErrorCodes={})),function(e){e.method="initialized",e.messageDirection=r.MessageDirection.clientToServer,e.type=new r.ProtocolNotificationType(e.method)}(t.InitializedNotification||(t.InitializedNotification={})),function(e){e.method="shutdown",e.messageDirection=r.MessageDirection.clientToServer,e.type=new r.ProtocolRequestType0(e.method)}(t.ShutdownRequest||(t.ShutdownRequest={})),function(e){e.method="exit",e.messageDirection=r.MessageDirection.clientToServer,e.type=new r.ProtocolNotificationType0(e.method)}(t.ExitNotification||(t.ExitNotification={})),function(e){e.method="workspace/didChangeConfiguration",e.messageDirection=r.MessageDirection.clientToServer,e.type=new r.ProtocolNotificationType(e.method)}(t.DidChangeConfigurationNotification||(t.DidChangeConfigurationNotification={})),function(e){e.Error=1,e.Warning=2,e.Info=3,e.Log=4}(t.MessageType||(t.MessageType={})),function(e){e.method="window/showMessage",e.messageDirection=r.MessageDirection.serverToClient,e.type=new r.ProtocolNotificationType(e.method)}(t.ShowMessageNotification||(t.ShowMessageNotification={})),function(e){e.method="window/showMessageRequest",e.messageDirection=r.MessageDirection.serverToClient,e.type=new r.ProtocolRequestType(e.method)}(t.ShowMessageRequest||(t.ShowMessageRequest={})),function(e){e.method="window/logMessage",e.messageDirection=r.MessageDirection.serverToClient,e.type=new r.ProtocolNotificationType(e.method)}(t.LogMessageNotification||(t.LogMessageNotification={})),function(e){e.method="telemetry/event",e.messageDirection=r.MessageDirection.serverToClient,e.type=new r.ProtocolNotificationType(e.method)}(t.TelemetryEventNotification||(t.TelemetryEventNotification={})),function(e){e.None=0,e.Full=1,e.Incremental=2}(t.TextDocumentSyncKind||(t.TextDocumentSyncKind={})),function(e){e.method="textDocument/didOpen",e.messageDirection=r.MessageDirection.clientToServer,e.type=new r.ProtocolNotificationType(e.method)}(t.DidOpenTextDocumentNotification||(t.DidOpenTextDocumentNotification={})),function(e){e.isIncremental=function isIncremental(e){let t=e;return null!=t&&"string"==typeof t.text&&void 0!==t.range&&(void 0===t.rangeLength||"number"==typeof t.rangeLength)},e.isFull=function isFull(e){let t=e;return null!=t&&"string"==typeof t.text&&void 0===t.range&&void 0===t.rangeLength}}(t.TextDocumentContentChangeEvent||(t.TextDocumentContentChangeEvent={})),function(e){e.method="textDocument/didChange",e.messageDirection=r.MessageDirection.clientToServer,e.type=new r.ProtocolNotificationType(e.method)}(t.DidChangeTextDocumentNotification||(t.DidChangeTextDocumentNotification={})),function(e){e.method="textDocument/didClose",e.messageDirection=r.MessageDirection.clientToServer,e.type=new r.ProtocolNotificationType(e.method)}(t.DidCloseTextDocumentNotification||(t.DidCloseTextDocumentNotification={})),function(e){e.method="textDocument/didSave",e.messageDirection=r.MessageDirection.clientToServer,e.type=new r.ProtocolNotificationType(e.method)}(t.DidSaveTextDocumentNotification||(t.DidSaveTextDocumentNotification={})),function(e){e.Manual=1,e.AfterDelay=2,e.FocusOut=3}(t.TextDocumentSaveReason||(t.TextDocumentSaveReason={})),function(e){e.method="textDocument/willSave",e.messageDirection=r.MessageDirection.clientToServer,e.type=new r.ProtocolNotificationType(e.method)}(t.WillSaveTextDocumentNotification||(t.WillSaveTextDocumentNotification={})),function(e){e.method="textDocument/willSaveWaitUntil",e.messageDirection=r.MessageDirection.clientToServer,e.type=new r.ProtocolRequestType(e.method)}(t.WillSaveTextDocumentWaitUntilRequest||(t.WillSaveTextDocumentWaitUntilRequest={})),function(e){e.method="workspace/didChangeWatchedFiles",e.messageDirection=r.MessageDirection.clientToServer,e.type=new r.ProtocolNotificationType(e.method)}(t.DidChangeWatchedFilesNotification||(t.DidChangeWatchedFilesNotification={})),function(e){e.Created=1,e.Changed=2,e.Deleted=3}(t.FileChangeType||(t.FileChangeType={})),function(e){e.is=function is(e){const t=e;return o.objectLiteral(t)&&(i.URI.is(t.baseUri)||i.WorkspaceFolder.is(t.baseUri))&&o.string(t.pattern)}}(t.RelativePattern||(t.RelativePattern={})),function(e){e.Create=1,e.Change=2,e.Delete=4}(t.WatchKind||(t.WatchKind={})),function(e){e.method="textDocument/publishDiagnostics",e.messageDirection=r.MessageDirection.serverToClient,e.type=new r.ProtocolNotificationType(e.method)}(t.PublishDiagnosticsNotification||(t.PublishDiagnosticsNotification={})),function(e){e.Invoked=1,e.TriggerCharacter=2,e.TriggerForIncompleteCompletions=3}(t.CompletionTriggerKind||(t.CompletionTriggerKind={})),function(e){e.method="textDocument/completion",e.messageDirection=r.MessageDirection.clientToServer,e.type=new r.ProtocolRequestType(e.method)}(t.CompletionRequest||(t.CompletionRequest={})),function(e){e.method="completionItem/resolve",e.messageDirection=r.MessageDirection.clientToServer,e.type=new r.ProtocolRequestType(e.method)}(t.CompletionResolveRequest||(t.CompletionResolveRequest={})),function(e){e.method="textDocument/hover",e.messageDirection=r.MessageDirection.clientToServer,e.type=new r.ProtocolRequestType(e.method)}(t.HoverRequest||(t.HoverRequest={})),function(e){e.Invoked=1,e.TriggerCharacter=2,e.ContentChange=3}(t.SignatureHelpTriggerKind||(t.SignatureHelpTriggerKind={})),function(e){e.method="textDocument/signatureHelp",e.messageDirection=r.MessageDirection.clientToServer,e.type=new r.ProtocolRequestType(e.method)}(t.SignatureHelpRequest||(t.SignatureHelpRequest={})),function(e){e.method="textDocument/definition",e.messageDirection=r.MessageDirection.clientToServer,e.type=new r.ProtocolRequestType(e.method)}(t.DefinitionRequest||(t.DefinitionRequest={})),function(e){e.method="textDocument/references",e.messageDirection=r.MessageDirection.clientToServer,e.type=new r.ProtocolRequestType(e.method)}(t.ReferencesRequest||(t.ReferencesRequest={})),function(e){e.method="textDocument/documentHighlight",e.messageDirection=r.MessageDirection.clientToServer,e.type=new r.ProtocolRequestType(e.method)}(t.DocumentHighlightRequest||(t.DocumentHighlightRequest={})),function(e){e.method="textDocument/documentSymbol",e.messageDirection=r.MessageDirection.clientToServer,e.type=new r.ProtocolRequestType(e.method)}(t.DocumentSymbolRequest||(t.DocumentSymbolRequest={})),function(e){e.method="textDocument/codeAction",e.messageDirection=r.MessageDirection.clientToServer,e.type=new r.ProtocolRequestType(e.method)}(t.CodeActionRequest||(t.CodeActionRequest={})),function(e){e.method="codeAction/resolve",e.messageDirection=r.MessageDirection.clientToServer,e.type=new r.ProtocolRequestType(e.method)}(t.CodeActionResolveRequest||(t.CodeActionResolveRequest={})),function(e){e.method="workspace/symbol",e.messageDirection=r.MessageDirection.clientToServer,e.type=new r.ProtocolRequestType(e.method)}(t.WorkspaceSymbolRequest||(t.WorkspaceSymbolRequest={})),function(e){e.method="workspaceSymbol/resolve",e.messageDirection=r.MessageDirection.clientToServer,e.type=new r.ProtocolRequestType(e.method)}(t.WorkspaceSymbolResolveRequest||(t.WorkspaceSymbolResolveRequest={})),function(e){e.method="textDocument/codeLens",e.messageDirection=r.MessageDirection.clientToServer,e.type=new r.ProtocolRequestType(e.method)}(t.CodeLensRequest||(t.CodeLensRequest={})),function(e){e.method="codeLens/resolve",e.messageDirection=r.MessageDirection.clientToServer,e.type=new r.ProtocolRequestType(e.method)}(t.CodeLensResolveRequest||(t.CodeLensResolveRequest={})),function(e){e.method="workspace/codeLens/refresh",e.messageDirection=r.MessageDirection.serverToClient,e.type=new r.ProtocolRequestType0(e.method)}(t.CodeLensRefreshRequest||(t.CodeLensRefreshRequest={})),function(e){e.method="textDocument/documentLink",e.messageDirection=r.MessageDirection.clientToServer,e.type=new r.ProtocolRequestType(e.method)}(t.DocumentLinkRequest||(t.DocumentLinkRequest={})),function(e){e.method="documentLink/resolve",e.messageDirection=r.MessageDirection.clientToServer,e.type=new r.ProtocolRequestType(e.method)}(t.DocumentLinkResolveRequest||(t.DocumentLinkResolveRequest={})),function(e){e.method="textDocument/formatting",e.messageDirection=r.MessageDirection.clientToServer,e.type=new r.ProtocolRequestType(e.method)}(t.DocumentFormattingRequest||(t.DocumentFormattingRequest={})),function(e){e.method="textDocument/rangeFormatting",e.messageDirection=r.MessageDirection.clientToServer,e.type=new r.ProtocolRequestType(e.method)}(t.DocumentRangeFormattingRequest||(t.DocumentRangeFormattingRequest={})),function(e){e.method="textDocument/onTypeFormatting",e.messageDirection=r.MessageDirection.clientToServer,e.type=new r.ProtocolRequestType(e.method)}(t.DocumentOnTypeFormattingRequest||(t.DocumentOnTypeFormattingRequest={})),function(e){e.Identifier=1}(t.PrepareSupportDefaultBehavior||(t.PrepareSupportDefaultBehavior={})),function(e){e.method="textDocument/rename",e.messageDirection=r.MessageDirection.clientToServer,e.type=new r.ProtocolRequestType(e.method)}(t.RenameRequest||(t.RenameRequest={})),function(e){e.method="textDocument/prepareRename",e.messageDirection=r.MessageDirection.clientToServer,e.type=new r.ProtocolRequestType(e.method)}(t.PrepareRenameRequest||(t.PrepareRenameRequest={})),function(e){e.method="workspace/executeCommand",e.messageDirection=r.MessageDirection.clientToServer,e.type=new r.ProtocolRequestType(e.method)}(t.ExecuteCommandRequest||(t.ExecuteCommandRequest={})),function(e){e.method="workspace/applyEdit",e.messageDirection=r.MessageDirection.serverToClient,e.type=new r.ProtocolRequestType("workspace/applyEdit")}(t.ApplyWorkspaceEditRequest||(t.ApplyWorkspaceEditRequest={}))},60389:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.LinkedEditingRangeRequest=void 0;const r=n(68824);!function(e){e.method="textDocument/linkedEditingRange",e.messageDirection=r.MessageDirection.clientToServer,e.type=new r.ProtocolRequestType(e.method)}(t.LinkedEditingRangeRequest||(t.LinkedEditingRangeRequest={}))},6081:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MonikerRequest=t.MonikerKind=t.UniquenessLevel=void 0;const r=n(68824);!function(e){e.document="document",e.project="project",e.group="group",e.scheme="scheme",e.global="global"}(t.UniquenessLevel||(t.UniquenessLevel={})),function(e){e.$import="import",e.$export="export",e.local="local"}(t.MonikerKind||(t.MonikerKind={})),function(e){e.method="textDocument/moniker",e.messageDirection=r.MessageDirection.clientToServer,e.type=new r.ProtocolRequestType(e.method)}(t.MonikerRequest||(t.MonikerRequest={}))},44453:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DidCloseNotebookDocumentNotification=t.DidSaveNotebookDocumentNotification=t.DidChangeNotebookDocumentNotification=t.NotebookCellArrayChange=t.DidOpenNotebookDocumentNotification=t.NotebookDocumentSyncRegistrationType=t.NotebookDocument=t.NotebookCell=t.ExecutionSummary=t.NotebookCellKind=void 0;const r=n(8196),i=n(61854),o=n(68824);var a,s,c,u;!function(e){e.Markup=1,e.Code=2,e.is=function is(e){return 1===e||2===e}}(a=t.NotebookCellKind||(t.NotebookCellKind={})),function(e){e.create=function create(e,t){const n={executionOrder:e};return!0!==t&&!1!==t||(n.success=t),n},e.is=function is(e){const t=e;return i.objectLiteral(t)&&r.uinteger.is(t.executionOrder)&&(void 0===t.success||i.boolean(t.success))},e.equals=function equals(e,t){return e===t||null!=e&&null!=t&&(e.executionOrder===t.executionOrder&&e.success===t.success)}}(s=t.ExecutionSummary||(t.ExecutionSummary={})),function(e){function equalsMetadata(e,t){if(e===t)return!0;if(null==e||null==t)return!1;if(typeof e!=typeof t)return!1;if("object"!=typeof e)return!1;const n=Array.isArray(e),r=Array.isArray(t);if(n!==r)return!1;if(n&&r){if(e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(!equalsMetadata(e[n],t[n]))return!1}if(i.objectLiteral(e)&&i.objectLiteral(t)){const n=Object.keys(e),r=Object.keys(t);if(n.length!==r.length)return!1;if(n.sort(),r.sort(),!equalsMetadata(n,r))return!1;for(let r=0;r<n.length;r++){const i=n[r];if(!equalsMetadata(e[i],t[i]))return!1}}return!0}e.create=function create(e,t){return{kind:e,document:t}},e.is=function is(e){const t=e;return i.objectLiteral(t)&&a.is(t.kind)&&r.DocumentUri.is(t.document)&&(void 0===t.metadata||i.objectLiteral(t.metadata))},e.diff=function diff(e,t){const n=new Set;return e.document!==t.document&&n.add("document"),e.kind!==t.kind&&n.add("kind"),e.executionSummary!==t.executionSummary&&n.add("executionSummary"),void 0===e.metadata&&void 0===t.metadata||equalsMetadata(e.metadata,t.metadata)||n.add("metadata"),void 0===e.executionSummary&&void 0===t.executionSummary||s.equals(e.executionSummary,t.executionSummary)||n.add("executionSummary"),n}}(c=t.NotebookCell||(t.NotebookCell={})),function(e){e.create=function create(e,t,n,r){return{uri:e,notebookType:t,version:n,cells:r}},e.is=function is(e){const t=e;return i.objectLiteral(t)&&i.string(t.uri)&&r.integer.is(t.version)&&i.typedArray(t.cells,c.is)}}(t.NotebookDocument||(t.NotebookDocument={})),function(e){e.method="notebookDocument/sync",e.messageDirection=o.MessageDirection.clientToServer,e.type=new o.RegistrationType(e.method)}(u=t.NotebookDocumentSyncRegistrationType||(t.NotebookDocumentSyncRegistrationType={})),function(e){e.method="notebookDocument/didOpen",e.messageDirection=o.MessageDirection.clientToServer,e.type=new o.ProtocolNotificationType(e.method),e.registrationMethod=u.method}(t.DidOpenNotebookDocumentNotification||(t.DidOpenNotebookDocumentNotification={})),function(e){e.is=function is(e){const t=e;return i.objectLiteral(t)&&r.uinteger.is(t.start)&&r.uinteger.is(t.deleteCount)&&(void 0===t.cells||i.typedArray(t.cells,c.is))},e.create=function create(e,t,n){const r={start:e,deleteCount:t};return void 0!==n&&(r.cells=n),r}}(t.NotebookCellArrayChange||(t.NotebookCellArrayChange={})),function(e){e.method="notebookDocument/didChange",e.messageDirection=o.MessageDirection.clientToServer,e.type=new o.ProtocolNotificationType(e.method),e.registrationMethod=u.method}(t.DidChangeNotebookDocumentNotification||(t.DidChangeNotebookDocumentNotification={})),function(e){e.method="notebookDocument/didSave",e.messageDirection=o.MessageDirection.clientToServer,e.type=new o.ProtocolNotificationType(e.method),e.registrationMethod=u.method}(t.DidSaveNotebookDocumentNotification||(t.DidSaveNotebookDocumentNotification={})),function(e){e.method="notebookDocument/didClose",e.messageDirection=o.MessageDirection.clientToServer,e.type=new o.ProtocolNotificationType(e.method),e.registrationMethod=u.method}(t.DidCloseNotebookDocumentNotification||(t.DidCloseNotebookDocumentNotification={}))},90961:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.WorkDoneProgressCancelNotification=t.WorkDoneProgressCreateRequest=t.WorkDoneProgress=void 0;const r=n(18164),i=n(68824);!function(e){e.type=new r.ProgressType,e.is=function is(t){return t===e.type}}(t.WorkDoneProgress||(t.WorkDoneProgress={})),function(e){e.method="window/workDoneProgress/create",e.messageDirection=i.MessageDirection.serverToClient,e.type=new i.ProtocolRequestType(e.method)}(t.WorkDoneProgressCreateRequest||(t.WorkDoneProgressCreateRequest={})),function(e){e.method="window/workDoneProgress/cancel",e.messageDirection=i.MessageDirection.clientToServer,e.type=new i.ProtocolNotificationType(e.method)}(t.WorkDoneProgressCancelNotification||(t.WorkDoneProgressCancelNotification={}))},25463:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SelectionRangeRequest=void 0;const r=n(68824);!function(e){e.method="textDocument/selectionRange",e.messageDirection=r.MessageDirection.clientToServer,e.type=new r.ProtocolRequestType(e.method)}(t.SelectionRangeRequest||(t.SelectionRangeRequest={}))},74829:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SemanticTokensRefreshRequest=t.SemanticTokensRangeRequest=t.SemanticTokensDeltaRequest=t.SemanticTokensRequest=t.SemanticTokensRegistrationType=t.TokenFormat=void 0;const r=n(68824);var i;!function(e){e.Relative="relative"}(t.TokenFormat||(t.TokenFormat={})),function(e){e.method="textDocument/semanticTokens",e.type=new r.RegistrationType(e.method)}(i=t.SemanticTokensRegistrationType||(t.SemanticTokensRegistrationType={})),function(e){e.method="textDocument/semanticTokens/full",e.messageDirection=r.MessageDirection.clientToServer,e.type=new r.ProtocolRequestType(e.method),e.registrationMethod=i.method}(t.SemanticTokensRequest||(t.SemanticTokensRequest={})),function(e){e.method="textDocument/semanticTokens/full/delta",e.messageDirection=r.MessageDirection.clientToServer,e.type=new r.ProtocolRequestType(e.method),e.registrationMethod=i.method}(t.SemanticTokensDeltaRequest||(t.SemanticTokensDeltaRequest={})),function(e){e.method="textDocument/semanticTokens/range",e.messageDirection=r.MessageDirection.clientToServer,e.type=new r.ProtocolRequestType(e.method),e.registrationMethod=i.method}(t.SemanticTokensRangeRequest||(t.SemanticTokensRangeRequest={})),function(e){e.method="workspace/semanticTokens/refresh",e.messageDirection=r.MessageDirection.clientToServer,e.type=new r.ProtocolRequestType0(e.method)}(t.SemanticTokensRefreshRequest||(t.SemanticTokensRefreshRequest={}))},84146:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ShowDocumentRequest=void 0;const r=n(68824);!function(e){e.method="window/showDocument",e.messageDirection=r.MessageDirection.serverToClient,e.type=new r.ProtocolRequestType(e.method)}(t.ShowDocumentRequest||(t.ShowDocumentRequest={}))},16520:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TypeDefinitionRequest=void 0;const r=n(68824);!function(e){e.method="textDocument/typeDefinition",e.messageDirection=r.MessageDirection.clientToServer,e.type=new r.ProtocolRequestType(e.method)}(t.TypeDefinitionRequest||(t.TypeDefinitionRequest={}))},73141:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TypeHierarchySubtypesRequest=t.TypeHierarchySupertypesRequest=t.TypeHierarchyPrepareRequest=void 0;const r=n(68824);!function(e){e.method="textDocument/prepareTypeHierarchy",e.messageDirection=r.MessageDirection.clientToServer,e.type=new r.ProtocolRequestType(e.method)}(t.TypeHierarchyPrepareRequest||(t.TypeHierarchyPrepareRequest={})),function(e){e.method="typeHierarchy/supertypes",e.messageDirection=r.MessageDirection.clientToServer,e.type=new r.ProtocolRequestType(e.method)}(t.TypeHierarchySupertypesRequest||(t.TypeHierarchySupertypesRequest={})),function(e){e.method="typeHierarchy/subtypes",e.messageDirection=r.MessageDirection.clientToServer,e.type=new r.ProtocolRequestType(e.method)}(t.TypeHierarchySubtypesRequest||(t.TypeHierarchySubtypesRequest={}))},71618:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DidChangeWorkspaceFoldersNotification=t.WorkspaceFoldersRequest=void 0;const r=n(68824);!function(e){e.method="workspace/workspaceFolders",e.messageDirection=r.MessageDirection.serverToClient,e.type=new r.ProtocolRequestType0(e.method)}(t.WorkspaceFoldersRequest||(t.WorkspaceFoldersRequest={})),function(e){e.method="workspace/didChangeWorkspaceFolders",e.messageDirection=r.MessageDirection.clientToServer,e.type=new r.ProtocolNotificationType(e.method)}(t.DidChangeWorkspaceFoldersNotification||(t.DidChangeWorkspaceFoldersNotification={}))},61854:(e,t)=>{"use strict";function string(e){return"string"==typeof e||e instanceof String}function array(e){return Array.isArray(e)}Object.defineProperty(t,"__esModule",{value:!0}),t.objectLiteral=t.typedArray=t.stringArray=t.array=t.func=t.error=t.number=t.string=t.boolean=void 0,t.boolean=function boolean(e){return!0===e||!1===e},t.string=string,t.number=function number(e){return"number"==typeof e||e instanceof Number},t.error=function error(e){return e instanceof Error},t.func=function func(e){return"function"==typeof e},t.array=array,t.stringArray=function stringArray(e){return array(e)&&e.every((e=>string(e)))},t.typedArray=function typedArray(e,t){return Array.isArray(e)&&e.every(t)},t.objectLiteral=function objectLiteral(e){return null!==e&&"object"==typeof e}},6484:function(e,t,n){"use strict";var r=this&&this.__createBinding||(Object.create?function(e,t,n,r){void 0===r&&(r=n);var i=Object.getOwnPropertyDescriptor(t,n);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,r,i)}:function(e,t,n,r){void 0===r&&(r=n),e[r]=t[n]}),i=this&&this.__exportStar||function(e,t){for(var n in e)"default"===n||Object.prototype.hasOwnProperty.call(t,n)||r(t,e,n)};Object.defineProperty(t,"__esModule",{value:!0}),t.createProtocolConnection=void 0;const o=n(14966);i(n(14966),t),i(n(71870),t),t.createProtocolConnection=function createProtocolConnection(e,t,n,r){return(0,o.createMessageConnection)(e,t,n,r)}},66182:(e,t,n)=>{"use strict";e.exports=n(6484)},52927:function(e,t,n){"use strict";var r=this&&this.__createBinding||(Object.create?function(e,t,n,r){void 0===r&&(r=n);var i=Object.getOwnPropertyDescriptor(t,n);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,r,i)}:function(e,t,n,r){void 0===r&&(r=n),e[r]=t[n]}),i=this&&this.__exportStar||function(e,t){for(var n in e)"default"===n||Object.prototype.hasOwnProperty.call(t,n)||r(t,e,n)};Object.defineProperty(t,"__esModule",{value:!0}),t.ProposedFeatures=t.NotebookDocuments=t.TextDocuments=t.SemanticTokensBuilder=void 0;const o=n(7137);Object.defineProperty(t,"SemanticTokensBuilder",{enumerable:!0,get:function(){return o.SemanticTokensBuilder}}),i(n(6484),t);const a=n(21266);Object.defineProperty(t,"TextDocuments",{enumerable:!0,get:function(){return a.TextDocuments}});const s=n(37034);Object.defineProperty(t,"NotebookDocuments",{enumerable:!0,get:function(){return s.NotebookDocuments}}),i(n(58336),t),function(e){e.all={__brand:"features"}}(t.ProposedFeatures||(t.ProposedFeatures={}))},49472:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CallHierarchyFeature=void 0;const r=n(6484);t.CallHierarchyFeature=e=>class extends e{get callHierarchy(){return{onPrepare:e=>this.connection.onRequest(r.CallHierarchyPrepareRequest.type,((t,n)=>e(t,n,this.attachWorkDoneProgress(t),void 0))),onIncomingCalls:e=>{const t=r.CallHierarchyIncomingCallsRequest.type;return this.connection.onRequest(t,((n,r)=>e(n,r,this.attachWorkDoneProgress(n),this.attachPartialResultProgress(t,n))))},onOutgoingCalls:e=>{const t=r.CallHierarchyOutgoingCallsRequest.type;return this.connection.onRequest(t,((n,r)=>e(n,r,this.attachWorkDoneProgress(n),this.attachPartialResultProgress(t,n))))}}}}},69206:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ConfigurationFeature=void 0;const r=n(6484),i=n(2327);t.ConfigurationFeature=e=>class extends e{getConfiguration(e){return e?i.string(e)?this._getConfiguration({section:e}):this._getConfiguration(e):this._getConfiguration({})}_getConfiguration(e){let t={items:Array.isArray(e)?e:[e]};return this.connection.sendRequest(r.ConfigurationRequest.type,t).then((t=>Array.isArray(t)?Array.isArray(e)?t:t[0]:Array.isArray(e)?[]:null))}}},81388:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DiagnosticFeature=void 0;const r=n(6484);t.DiagnosticFeature=e=>class extends e{get diagnostics(){return{refresh:()=>this.connection.sendRequest(r.DiagnosticRefreshRequest.type),on:e=>this.connection.onRequest(r.DocumentDiagnosticRequest.type,((t,n)=>e(t,n,this.attachWorkDoneProgress(t),this.attachPartialResultProgress(r.DocumentDiagnosticRequest.partialResult,t)))),onWorkspace:e=>this.connection.onRequest(r.WorkspaceDiagnosticRequest.type,((t,n)=>e(t,n,this.attachWorkDoneProgress(t),this.attachPartialResultProgress(r.WorkspaceDiagnosticRequest.partialResult,t))))}}}},26606:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.FileOperationsFeature=void 0;const r=n(6484);t.FileOperationsFeature=e=>class extends e{onDidCreateFiles(e){return this.connection.onNotification(r.DidCreateFilesNotification.type,(t=>{e(t)}))}onDidRenameFiles(e){return this.connection.onNotification(r.DidRenameFilesNotification.type,(t=>{e(t)}))}onDidDeleteFiles(e){return this.connection.onNotification(r.DidDeleteFilesNotification.type,(t=>{e(t)}))}onWillCreateFiles(e){return this.connection.onRequest(r.WillCreateFilesRequest.type,((t,n)=>e(t,n)))}onWillRenameFiles(e){return this.connection.onRequest(r.WillRenameFilesRequest.type,((t,n)=>e(t,n)))}onWillDeleteFiles(e){return this.connection.onRequest(r.WillDeleteFilesRequest.type,((t,n)=>e(t,n)))}}},36921:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.InlayHintFeature=void 0;const r=n(6484);t.InlayHintFeature=e=>class extends e{get inlayHint(){return{refresh:()=>this.connection.sendRequest(r.InlayHintRefreshRequest.type),on:e=>this.connection.onRequest(r.InlayHintRequest.type,((t,n)=>e(t,n,this.attachWorkDoneProgress(t)))),resolve:e=>this.connection.onRequest(r.InlayHintResolveRequest.type,((t,n)=>e(t,n)))}}}},20224:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.InlineValueFeature=void 0;const r=n(6484);t.InlineValueFeature=e=>class extends e{get inlineValue(){return{refresh:()=>this.connection.sendRequest(r.InlineValueRefreshRequest.type),on:e=>this.connection.onRequest(r.InlineValueRequest.type,((t,n)=>e(t,n,this.attachWorkDoneProgress(t))))}}}},34291:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.LinkedEditingRangeFeature=void 0;const r=n(6484);t.LinkedEditingRangeFeature=e=>class extends e{onLinkedEditingRange(e){return this.connection.onRequest(r.LinkedEditingRangeRequest.type,((t,n)=>e(t,n,this.attachWorkDoneProgress(t),void 0)))}}},78953:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MonikerFeature=void 0;const r=n(6484);t.MonikerFeature=e=>class extends e{get moniker(){return{on:e=>{const t=r.MonikerRequest.type;return this.connection.onRequest(t,((n,r)=>e(n,r,this.attachWorkDoneProgress(n),this.attachPartialResultProgress(t,n))))}}}}},37034:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.NotebookDocuments=t.NotebookSyncFeature=void 0;const r=n(6484),i=n(21266);t.NotebookSyncFeature=e=>class extends e{get synchronization(){return{onDidOpenNotebookDocument:e=>this.connection.onNotification(r.DidOpenNotebookDocumentNotification.type,(t=>{e(t)})),onDidChangeNotebookDocument:e=>this.connection.onNotification(r.DidChangeNotebookDocumentNotification.type,(t=>{e(t)})),onDidSaveNotebookDocument:e=>this.connection.onNotification(r.DidSaveNotebookDocumentNotification.type,(t=>{e(t)})),onDidCloseNotebookDocument:e=>this.connection.onNotification(r.DidCloseNotebookDocumentNotification.type,(t=>{e(t)}))}}};class CellTextDocumentConnection{onDidOpenTextDocument(e){return this.openHandler=e,r.Disposable.create((()=>{this.openHandler=void 0}))}openTextDocument(e){this.openHandler&&this.openHandler(e)}onDidChangeTextDocument(e){return this.changeHandler=e,r.Disposable.create((()=>{this.changeHandler=e}))}changeTextDocument(e){this.changeHandler&&this.changeHandler(e)}onDidCloseTextDocument(e){return this.closeHandler=e,r.Disposable.create((()=>{this.closeHandler=void 0}))}closeTextDocument(e){this.closeHandler&&this.closeHandler(e)}onWillSaveTextDocument(){return CellTextDocumentConnection.NULL_DISPOSE}onWillSaveTextDocumentWaitUntil(){return CellTextDocumentConnection.NULL_DISPOSE}onDidSaveTextDocument(){return CellTextDocumentConnection.NULL_DISPOSE}}CellTextDocumentConnection.NULL_DISPOSE=Object.freeze({dispose:()=>{}});t.NotebookDocuments=class NotebookDocuments{constructor(e){e instanceof i.TextDocuments?this._cellTextDocuments=e:this._cellTextDocuments=new i.TextDocuments(e),this.notebookDocuments=new Map,this.notebookCellMap=new Map,this._onDidOpen=new r.Emitter,this._onDidChange=new r.Emitter,this._onDidSave=new r.Emitter,this._onDidClose=new r.Emitter}get cellTextDocuments(){return this._cellTextDocuments}getCellTextDocument(e){return this._cellTextDocuments.get(e.document)}getNotebookDocument(e){return this.notebookDocuments.get(e)}getNotebookCell(e){const t=this.notebookCellMap.get(e);return t&&t[0]}findNotebookDocumentForCell(e){const t="string"==typeof e?e:e.document,n=this.notebookCellMap.get(t);return n&&n[1]}get onDidOpen(){return this._onDidOpen.event}get onDidSave(){return this._onDidSave.event}get onDidChange(){return this._onDidChange.event}get onDidClose(){return this._onDidClose.event}listen(e){const t=new CellTextDocumentConnection,n=[];return n.push(this.cellTextDocuments.listen(t)),n.push(e.notebooks.synchronization.onDidOpenNotebookDocument((e=>{this.notebookDocuments.set(e.notebookDocument.uri,e.notebookDocument);for(const n of e.cellTextDocuments)t.openTextDocument({textDocument:n});this.updateCellMap(e.notebookDocument),this._onDidOpen.fire(e.notebookDocument)}))),n.push(e.notebooks.synchronization.onDidChangeNotebookDocument((e=>{const n=this.notebookDocuments.get(e.notebookDocument.uri);if(void 0===n)return;n.version=e.notebookDocument.version;const r=n.metadata;let i=!1;const o=e.change;void 0!==o.metadata&&(i=!0,n.metadata=o.metadata);const a=[],s=[],c=[],u=[];if(void 0!==o.cells){const e=o.cells;if(void 0!==e.structure){const r=e.structure.array;if(n.cells.splice(r.start,r.deleteCount,...void 0!==r.cells?r.cells:[]),void 0!==e.structure.didOpen)for(const n of e.structure.didOpen)t.openTextDocument({textDocument:n}),a.push(n.uri);if(e.structure.didClose)for(const n of e.structure.didClose)t.closeTextDocument({textDocument:n}),s.push(n.uri)}if(void 0!==e.data){const t=new Map(e.data.map((e=>[e.document,e])));for(let e=0;e<=n.cells.length;e++){const r=t.get(n.cells[e].document);if(void 0!==r){const i=n.cells.splice(e,1,r);if(c.push({old:i[0],new:r}),t.delete(r.document),0===t.size)break}}}if(void 0!==e.textContent)for(const n of e.textContent)t.changeTextDocument({textDocument:n.document,contentChanges:n.changes}),u.push(n.document.uri)}this.updateCellMap(n);const l={notebookDocument:n};i&&(l.metadata={old:r,new:n.metadata});const g=[];for(const e of a)g.push(this.getNotebookCell(e));const d=[];for(const e of s)d.push(this.getNotebookCell(e));const h=[];for(const e of u)h.push(this.getNotebookCell(e));(g.length>0||d.length>0||c.length>0||h.length>0)&&(l.cells={added:g,removed:d,changed:{data:c,textContent:h}}),void 0===l.metadata&&void 0===l.cells||this._onDidChange.fire(l)}))),n.push(e.notebooks.synchronization.onDidSaveNotebookDocument((e=>{const t=this.notebookDocuments.get(e.notebookDocument.uri);void 0!==t&&this._onDidSave.fire(t)}))),n.push(e.notebooks.synchronization.onDidCloseNotebookDocument((e=>{const n=this.notebookDocuments.get(e.notebookDocument.uri);if(void 0!==n){this._onDidClose.fire(n);for(const n of e.cellTextDocuments)t.closeTextDocument({textDocument:n});this.notebookDocuments.delete(e.notebookDocument.uri);for(const e of n.cells)this.notebookCellMap.delete(e.document)}}))),r.Disposable.create((()=>{n.forEach((e=>e.dispose()))}))}updateCellMap(e){for(const t of e.cells)this.notebookCellMap.set(t.document,[t,e])}}},80082:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.attachPartialResult=t.ProgressFeature=t.attachWorkDone=void 0;const r=n(6484),i=n(64878);class WorkDoneProgressReporterImpl{constructor(e,t){this._connection=e,this._token=t,WorkDoneProgressReporterImpl.Instances.set(this._token,this)}begin(e,t,n,i){let o={kind:"begin",title:e,percentage:t,message:n,cancellable:i};this._connection.sendProgress(r.WorkDoneProgress.type,this._token,o)}report(e,t){let n={kind:"report"};"number"==typeof e?(n.percentage=e,void 0!==t&&(n.message=t)):n.message=e,this._connection.sendProgress(r.WorkDoneProgress.type,this._token,n)}done(){WorkDoneProgressReporterImpl.Instances.delete(this._token),this._connection.sendProgress(r.WorkDoneProgress.type,this._token,{kind:"end"})}}WorkDoneProgressReporterImpl.Instances=new Map;class WorkDoneProgressServerReporterImpl extends WorkDoneProgressReporterImpl{constructor(e,t){super(e,t),this._source=new r.CancellationTokenSource}get token(){return this._source.token}done(){this._source.dispose(),super.done()}cancel(){this._source.cancel()}}class NullProgressReporter{constructor(){}begin(){}report(){}done(){}}class NullProgressServerReporter extends NullProgressReporter{constructor(){super(),this._source=new r.CancellationTokenSource}get token(){return this._source.token}done(){this._source.dispose()}cancel(){this._source.cancel()}}t.attachWorkDone=function attachWorkDone(e,t){if(void 0===t||void 0===t.workDoneToken)return new NullProgressReporter;const n=t.workDoneToken;return delete t.workDoneToken,new WorkDoneProgressReporterImpl(e,n)};var o;t.ProgressFeature=e=>class extends e{constructor(){super(),this._progressSupported=!1}initialize(e){super.initialize(e),!0===e?.window?.workDoneProgress&&(this._progressSupported=!0,this.connection.onNotification(r.WorkDoneProgressCancelNotification.type,(e=>{let t=WorkDoneProgressReporterImpl.Instances.get(e.token);(t instanceof WorkDoneProgressServerReporterImpl||t instanceof NullProgressServerReporter)&&t.cancel()})))}attachWorkDoneProgress(e){return void 0===e?new NullProgressReporter:new WorkDoneProgressReporterImpl(this.connection,e)}createWorkDoneProgress(){if(this._progressSupported){const e=(0,i.generateUuid)();return this.connection.sendRequest(r.WorkDoneProgressCreateRequest.type,{token:e}).then((()=>new WorkDoneProgressServerReporterImpl(this.connection,e)))}return Promise.resolve(new NullProgressServerReporter)}},function(e){e.type=new r.ProgressType}(o||(o={}));class ResultProgressReporterImpl{constructor(e,t){this._connection=e,this._token=t}report(e){this._connection.sendProgress(o.type,this._token,e)}}t.attachPartialResult=function attachPartialResult(e,t){if(void 0===t||void 0===t.partialResultToken)return;const n=t.partialResultToken;return delete t.partialResultToken,new ResultProgressReporterImpl(e,n)}},7137:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SemanticTokensBuilder=t.SemanticTokensDiff=t.SemanticTokensFeature=void 0;const r=n(6484);t.SemanticTokensFeature=e=>class extends e{get semanticTokens(){return{refresh:()=>this.connection.sendRequest(r.SemanticTokensRefreshRequest.type),on:e=>{const t=r.SemanticTokensRequest.type;return this.connection.onRequest(t,((n,r)=>e(n,r,this.attachWorkDoneProgress(n),this.attachPartialResultProgress(t,n))))},onDelta:e=>{const t=r.SemanticTokensDeltaRequest.type;return this.connection.onRequest(t,((n,r)=>e(n,r,this.attachWorkDoneProgress(n),this.attachPartialResultProgress(t,n))))},onRange:e=>{const t=r.SemanticTokensRangeRequest.type;return this.connection.onRequest(t,((n,r)=>e(n,r,this.attachWorkDoneProgress(n),this.attachPartialResultProgress(t,n))))}}}};class SemanticTokensDiff{constructor(e,t){this.originalSequence=e,this.modifiedSequence=t}computeDiff(){const e=this.originalSequence.length,t=this.modifiedSequence.length;let n=0;for(;n<t&&n<e&&this.originalSequence[n]===this.modifiedSequence[n];)n++;if(n<t&&n<e){let r=e-1,i=t-1;for(;r>=n&&i>=n&&this.originalSequence[r]===this.modifiedSequence[i];)r--,i--;(r<n||i<n)&&(r++,i++);const o=r-n+1,a=this.modifiedSequence.slice(n,i+1);return 1===a.length&&a[0]===this.originalSequence[r]?[{start:n,deleteCount:o-1}]:[{start:n,deleteCount:o,data:a}]}return n<t?[{start:n,deleteCount:0,data:this.modifiedSequence.slice(n)}]:n<e?[{start:n,deleteCount:e-n}]:[]}}t.SemanticTokensDiff=SemanticTokensDiff;t.SemanticTokensBuilder=class SemanticTokensBuilder{constructor(){this._prevData=void 0,this.initialize()}initialize(){this._id=Date.now(),this._prevLine=0,this._prevChar=0,this._data=[],this._dataLen=0}push(e,t,n,r,i){let o=e,a=t;this._dataLen>0&&(o-=this._prevLine,0===o&&(a-=this._prevChar)),this._data[this._dataLen++]=o,this._data[this._dataLen++]=a,this._data[this._dataLen++]=n,this._data[this._dataLen++]=r,this._data[this._dataLen++]=i,this._prevLine=e,this._prevChar=t}get id(){return this._id.toString()}previousResult(e){this.id===e&&(this._prevData=this._data),this.initialize()}build(){return this._prevData=void 0,{resultId:this.id,data:this._data}}canBuildEdits(){return void 0!==this._prevData}buildEdits(){return void 0!==this._prevData?{resultId:this.id,edits:new SemanticTokensDiff(this._prevData,this._data).computeDiff()}:this.build()}}},58336:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.createConnection=t.combineFeatures=t.combineNotebooksFeatures=t.combineLanguagesFeatures=t.combineWorkspaceFeatures=t.combineWindowFeatures=t.combineClientFeatures=t.combineTracerFeatures=t.combineTelemetryFeatures=t.combineConsoleFeatures=t._NotebooksImpl=t._LanguagesImpl=t.BulkUnregistration=t.BulkRegistration=t.ErrorMessageTracker=void 0;const r=n(6484),i=n(2327),o=n(64878),a=n(80082),s=n(69206),c=n(65143),u=n(49472),l=n(7137),g=n(71742),d=n(26606),h=n(34291),m=n(80746),f=n(20224),p=n(36921),v=n(81388),R=n(37034),b=n(78953);function null2Undefined(e){if(null!==e)return e}t.ErrorMessageTracker=class ErrorMessageTracker{constructor(){this._messages=Object.create(null)}add(e){let t=this._messages[e];t||(t=0),t++,this._messages[e]=t}sendErrors(e){Object.keys(this._messages).forEach((t=>{e.window.showErrorMessage(t)}))}};class RemoteConsoleImpl{constructor(){}rawAttach(e){this._rawConnection=e}attach(e){this._connection=e}get connection(){if(!this._connection)throw new Error("Remote is not attached to a connection yet.");return this._connection}fillServerCapabilities(e){}initialize(e){}error(e){this.send(r.MessageType.Error,e)}warn(e){this.send(r.MessageType.Warning,e)}info(e){this.send(r.MessageType.Info,e)}log(e){this.send(r.MessageType.Log,e)}send(e,t){this._rawConnection&&this._rawConnection.sendNotification(r.LogMessageNotification.type,{type:e,message:t}).catch((()=>{(0,r.RAL)().console.error("Sending log message failed")}))}}const D=(0,g.ShowDocumentFeature)((0,a.ProgressFeature)(class _RemoteWindowImpl{constructor(){}attach(e){this._connection=e}get connection(){if(!this._connection)throw new Error("Remote is not attached to a connection yet.");return this._connection}initialize(e){}fillServerCapabilities(e){}showErrorMessage(e,...t){let n={type:r.MessageType.Error,message:e,actions:t};return this.connection.sendRequest(r.ShowMessageRequest.type,n).then(null2Undefined)}showWarningMessage(e,...t){let n={type:r.MessageType.Warning,message:e,actions:t};return this.connection.sendRequest(r.ShowMessageRequest.type,n).then(null2Undefined)}showInformationMessage(e,...t){let n={type:r.MessageType.Info,message:e,actions:t};return this.connection.sendRequest(r.ShowMessageRequest.type,n).then(null2Undefined)}}));!function(e){e.create=function create(){return new BulkRegistrationImpl}}(t.BulkRegistration||(t.BulkRegistration={}));class BulkRegistrationImpl{constructor(){this._registrations=[],this._registered=new Set}add(e,t){const n=i.string(e)?e:e.method;if(this._registered.has(n))throw new Error(`${n} is already added to this registration`);const r=o.generateUuid();this._registrations.push({id:r,method:n,registerOptions:t||{}}),this._registered.add(n)}asRegistrationParams(){return{registrations:this._registrations}}}!function(e){e.create=function create(){return new BulkUnregistrationImpl(void 0,[])}}(t.BulkUnregistration||(t.BulkUnregistration={}));class BulkUnregistrationImpl{constructor(e,t){this._connection=e,this._unregistrations=new Map,t.forEach((e=>{this._unregistrations.set(e.method,e)}))}get isAttached(){return!!this._connection}attach(e){this._connection=e}add(e){this._unregistrations.set(e.method,e)}dispose(){let e=[];for(let t of this._unregistrations.values())e.push(t);let t={unregisterations:e};this._connection.sendRequest(r.UnregistrationRequest.type,t).catch((()=>{this._connection.console.info("Bulk unregistration failed.")}))}disposeSingle(e){const t=i.string(e)?e:e.method,n=this._unregistrations.get(t);if(!n)return!1;let o={unregisterations:[n]};return this._connection.sendRequest(r.UnregistrationRequest.type,o).then((()=>{this._unregistrations.delete(t)}),(e=>{this._connection.console.info(`Un-registering request handler for ${n.id} failed.`)})),!0}}class RemoteClientImpl{attach(e){this._connection=e}get connection(){if(!this._connection)throw new Error("Remote is not attached to a connection yet.");return this._connection}initialize(e){}fillServerCapabilities(e){}register(e,t,n){return e instanceof BulkRegistrationImpl?this.registerMany(e):e instanceof BulkUnregistrationImpl?this.registerSingle1(e,t,n):this.registerSingle2(e,t)}registerSingle1(e,t,n){const a=i.string(t)?t:t.method,s=o.generateUuid();let c={registrations:[{id:s,method:a,registerOptions:n||{}}]};return e.isAttached||e.attach(this.connection),this.connection.sendRequest(r.RegistrationRequest.type,c).then((t=>(e.add({id:s,method:a}),e)),(e=>(this.connection.console.info(`Registering request handler for ${a} failed.`),Promise.reject(e))))}registerSingle2(e,t){const n=i.string(e)?e:e.method,a=o.generateUuid();let s={registrations:[{id:a,method:n,registerOptions:t||{}}]};return this.connection.sendRequest(r.RegistrationRequest.type,s).then((e=>r.Disposable.create((()=>{this.unregisterSingle(a,n).catch((()=>{this.connection.console.info(`Un-registering capability with id ${a} failed.`)}))}))),(e=>(this.connection.console.info(`Registering request handler for ${n} failed.`),Promise.reject(e))))}unregisterSingle(e,t){let n={unregisterations:[{id:e,method:t}]};return this.connection.sendRequest(r.UnregistrationRequest.type,n).catch((()=>{this.connection.console.info(`Un-registering request handler for ${e} failed.`)}))}registerMany(e){let t=e.asRegistrationParams();return this.connection.sendRequest(r.RegistrationRequest.type,t).then((()=>new BulkUnregistrationImpl(this._connection,t.registrations.map((e=>({id:e.id,method:e.method}))))),(e=>(this.connection.console.info("Bulk registration failed."),Promise.reject(e))))}}const y=(0,d.FileOperationsFeature)((0,c.WorkspaceFoldersFeature)((0,s.ConfigurationFeature)(class _RemoteWorkspaceImpl{constructor(){}attach(e){this._connection=e}get connection(){if(!this._connection)throw new Error("Remote is not attached to a connection yet.");return this._connection}initialize(e){}fillServerCapabilities(e){}applyEdit(e){let t=function isApplyWorkspaceEditParams(e){return e&&!!e.edit}(e)?e:{edit:e};return this.connection.sendRequest(r.ApplyWorkspaceEditRequest.type,t)}})));class TracerImpl{constructor(){this._trace=r.Trace.Off}attach(e){this._connection=e}get connection(){if(!this._connection)throw new Error("Remote is not attached to a connection yet.");return this._connection}initialize(e){}fillServerCapabilities(e){}set trace(e){this._trace=e}log(e,t){this._trace!==r.Trace.Off&&this.connection.sendNotification(r.LogTraceNotification.type,{message:e,verbose:this._trace===r.Trace.Verbose?t:void 0}).catch((()=>{}))}}class TelemetryImpl{constructor(){}attach(e){this._connection=e}get connection(){if(!this._connection)throw new Error("Remote is not attached to a connection yet.");return this._connection}initialize(e){}fillServerCapabilities(e){}logEvent(e){this.connection.sendNotification(r.TelemetryEventNotification.type,e).catch((()=>{this.connection.console.log("Sending TelemetryEventNotification failed")}))}}class _LanguagesImpl{constructor(){}attach(e){this._connection=e}get connection(){if(!this._connection)throw new Error("Remote is not attached to a connection yet.");return this._connection}initialize(e){}fillServerCapabilities(e){}attachWorkDoneProgress(e){return(0,a.attachWorkDone)(this.connection,e)}attachPartialResultProgress(e,t){return(0,a.attachPartialResult)(this.connection,t)}}t._LanguagesImpl=_LanguagesImpl;const _=(0,b.MonikerFeature)((0,v.DiagnosticFeature)((0,p.InlayHintFeature)((0,f.InlineValueFeature)((0,m.TypeHierarchyFeature)((0,h.LinkedEditingRangeFeature)((0,l.SemanticTokensFeature)((0,u.CallHierarchyFeature)(_LanguagesImpl))))))));class _NotebooksImpl{constructor(){}attach(e){this._connection=e}get connection(){if(!this._connection)throw new Error("Remote is not attached to a connection yet.");return this._connection}initialize(e){}fillServerCapabilities(e){}attachWorkDoneProgress(e){return(0,a.attachWorkDone)(this.connection,e)}attachPartialResultProgress(e,t){return(0,a.attachPartialResult)(this.connection,t)}}t._NotebooksImpl=_NotebooksImpl;const k=(0,R.NotebookSyncFeature)(_NotebooksImpl);function combineConsoleFeatures(e,t){return function(n){return t(e(n))}}function combineTelemetryFeatures(e,t){return function(n){return t(e(n))}}function combineTracerFeatures(e,t){return function(n){return t(e(n))}}function combineClientFeatures(e,t){return function(n){return t(e(n))}}function combineWindowFeatures(e,t){return function(n){return t(e(n))}}function combineWorkspaceFeatures(e,t){return function(n){return t(e(n))}}function combineLanguagesFeatures(e,t){return function(n){return t(e(n))}}function combineNotebooksFeatures(e,t){return function(n){return t(e(n))}}t.combineConsoleFeatures=combineConsoleFeatures,t.combineTelemetryFeatures=combineTelemetryFeatures,t.combineTracerFeatures=combineTracerFeatures,t.combineClientFeatures=combineClientFeatures,t.combineWindowFeatures=combineWindowFeatures,t.combineWorkspaceFeatures=combineWorkspaceFeatures,t.combineLanguagesFeatures=combineLanguagesFeatures,t.combineNotebooksFeatures=combineNotebooksFeatures,t.combineFeatures=function combineFeatures(e,t){function combine(e,t,n){return e&&t?n(e,t):e||t}return{__brand:"features",console:combine(e.console,t.console,combineConsoleFeatures),tracer:combine(e.tracer,t.tracer,combineTracerFeatures),telemetry:combine(e.telemetry,t.telemetry,combineTelemetryFeatures),client:combine(e.client,t.client,combineClientFeatures),window:combine(e.window,t.window,combineWindowFeatures),workspace:combine(e.workspace,t.workspace,combineWorkspaceFeatures),languages:combine(e.languages,t.languages,combineLanguagesFeatures),notebooks:combine(e.notebooks,t.notebooks,combineNotebooksFeatures)}},t.createConnection=function createConnection(e,t,n){const o=n&&n.console?new(n.console(RemoteConsoleImpl)):new RemoteConsoleImpl,s=e(o);o.rawAttach(s);const c=n&&n.tracer?new(n.tracer(TracerImpl)):new TracerImpl,u=n&&n.telemetry?new(n.telemetry(TelemetryImpl)):new TelemetryImpl,l=n&&n.client?new(n.client(RemoteClientImpl)):new RemoteClientImpl,g=n&&n.window?new(n.window(D)):new D,d=n&&n.workspace?new(n.workspace(y)):new y,h=n&&n.languages?new(n.languages(_)):new _,m=n&&n.notebooks?new(n.notebooks(k)):new k,f=[o,c,u,l,g,d,h,m];let p,v,R,b={listen:()=>s.listen(),sendRequest:(e,...t)=>s.sendRequest(i.string(e)?e:e.method,...t),onRequest:(e,t)=>s.onRequest(e,t),sendNotification:(e,t)=>{const n=i.string(e)?e:e.method;return 1===arguments.length?s.sendNotification(n):s.sendNotification(n,t)},onNotification:(e,t)=>s.onNotification(e,t),onProgress:s.onProgress,sendProgress:s.sendProgress,onInitialize:e=>(v=e,{dispose:()=>{v=void 0}}),onInitialized:e=>s.onNotification(r.InitializedNotification.type,e),onShutdown:e=>(p=e,{dispose:()=>{p=void 0}}),onExit:e=>(R=e,{dispose:()=>{R=void 0}}),get console(){return o},get telemetry(){return u},get tracer(){return c},get client(){return l},get window(){return g},get workspace(){return d},get languages(){return h},get notebooks(){return m},onDidChangeConfiguration:e=>s.onNotification(r.DidChangeConfigurationNotification.type,e),onDidChangeWatchedFiles:e=>s.onNotification(r.DidChangeWatchedFilesNotification.type,e),__textDocumentSync:void 0,onDidOpenTextDocument:e=>s.onNotification(r.DidOpenTextDocumentNotification.type,e),onDidChangeTextDocument:e=>s.onNotification(r.DidChangeTextDocumentNotification.type,e),onDidCloseTextDocument:e=>s.onNotification(r.DidCloseTextDocumentNotification.type,e),onWillSaveTextDocument:e=>s.onNotification(r.WillSaveTextDocumentNotification.type,e),onWillSaveTextDocumentWaitUntil:e=>s.onRequest(r.WillSaveTextDocumentWaitUntilRequest.type,e),onDidSaveTextDocument:e=>s.onNotification(r.DidSaveTextDocumentNotification.type,e),sendDiagnostics:e=>s.sendNotification(r.PublishDiagnosticsNotification.type,e),onHover:e=>s.onRequest(r.HoverRequest.type,((t,n)=>e(t,n,(0,a.attachWorkDone)(s,t),void 0))),onCompletion:e=>s.onRequest(r.CompletionRequest.type,((t,n)=>e(t,n,(0,a.attachWorkDone)(s,t),(0,a.attachPartialResult)(s,t)))),onCompletionResolve:e=>s.onRequest(r.CompletionResolveRequest.type,e),onSignatureHelp:e=>s.onRequest(r.SignatureHelpRequest.type,((t,n)=>e(t,n,(0,a.attachWorkDone)(s,t),void 0))),onDeclaration:e=>s.onRequest(r.DeclarationRequest.type,((t,n)=>e(t,n,(0,a.attachWorkDone)(s,t),(0,a.attachPartialResult)(s,t)))),onDefinition:e=>s.onRequest(r.DefinitionRequest.type,((t,n)=>e(t,n,(0,a.attachWorkDone)(s,t),(0,a.attachPartialResult)(s,t)))),onTypeDefinition:e=>s.onRequest(r.TypeDefinitionRequest.type,((t,n)=>e(t,n,(0,a.attachWorkDone)(s,t),(0,a.attachPartialResult)(s,t)))),onImplementation:e=>s.onRequest(r.ImplementationRequest.type,((t,n)=>e(t,n,(0,a.attachWorkDone)(s,t),(0,a.attachPartialResult)(s,t)))),onReferences:e=>s.onRequest(r.ReferencesRequest.type,((t,n)=>e(t,n,(0,a.attachWorkDone)(s,t),(0,a.attachPartialResult)(s,t)))),onDocumentHighlight:e=>s.onRequest(r.DocumentHighlightRequest.type,((t,n)=>e(t,n,(0,a.attachWorkDone)(s,t),(0,a.attachPartialResult)(s,t)))),onDocumentSymbol:e=>s.onRequest(r.DocumentSymbolRequest.type,((t,n)=>e(t,n,(0,a.attachWorkDone)(s,t),(0,a.attachPartialResult)(s,t)))),onWorkspaceSymbol:e=>s.onRequest(r.WorkspaceSymbolRequest.type,((t,n)=>e(t,n,(0,a.attachWorkDone)(s,t),(0,a.attachPartialResult)(s,t)))),onWorkspaceSymbolResolve:e=>s.onRequest(r.WorkspaceSymbolResolveRequest.type,e),onCodeAction:e=>s.onRequest(r.CodeActionRequest.type,((t,n)=>e(t,n,(0,a.attachWorkDone)(s,t),(0,a.attachPartialResult)(s,t)))),onCodeActionResolve:e=>s.onRequest(r.CodeActionResolveRequest.type,((t,n)=>e(t,n))),onCodeLens:e=>s.onRequest(r.CodeLensRequest.type,((t,n)=>e(t,n,(0,a.attachWorkDone)(s,t),(0,a.attachPartialResult)(s,t)))),onCodeLensResolve:e=>s.onRequest(r.CodeLensResolveRequest.type,((t,n)=>e(t,n))),onDocumentFormatting:e=>s.onRequest(r.DocumentFormattingRequest.type,((t,n)=>e(t,n,(0,a.attachWorkDone)(s,t),void 0))),onDocumentRangeFormatting:e=>s.onRequest(r.DocumentRangeFormattingRequest.type,((t,n)=>e(t,n,(0,a.attachWorkDone)(s,t),void 0))),onDocumentOnTypeFormatting:e=>s.onRequest(r.DocumentOnTypeFormattingRequest.type,((t,n)=>e(t,n))),onRenameRequest:e=>s.onRequest(r.RenameRequest.type,((t,n)=>e(t,n,(0,a.attachWorkDone)(s,t),void 0))),onPrepareRename:e=>s.onRequest(r.PrepareRenameRequest.type,((t,n)=>e(t,n))),onDocumentLinks:e=>s.onRequest(r.DocumentLinkRequest.type,((t,n)=>e(t,n,(0,a.attachWorkDone)(s,t),(0,a.attachPartialResult)(s,t)))),onDocumentLinkResolve:e=>s.onRequest(r.DocumentLinkResolveRequest.type,((t,n)=>e(t,n))),onDocumentColor:e=>s.onRequest(r.DocumentColorRequest.type,((t,n)=>e(t,n,(0,a.attachWorkDone)(s,t),(0,a.attachPartialResult)(s,t)))),onColorPresentation:e=>s.onRequest(r.ColorPresentationRequest.type,((t,n)=>e(t,n,(0,a.attachWorkDone)(s,t),(0,a.attachPartialResult)(s,t)))),onFoldingRanges:e=>s.onRequest(r.FoldingRangeRequest.type,((t,n)=>e(t,n,(0,a.attachWorkDone)(s,t),(0,a.attachPartialResult)(s,t)))),onSelectionRanges:e=>s.onRequest(r.SelectionRangeRequest.type,((t,n)=>e(t,n,(0,a.attachWorkDone)(s,t),(0,a.attachPartialResult)(s,t)))),onExecuteCommand:e=>s.onRequest(r.ExecuteCommandRequest.type,((t,n)=>e(t,n,(0,a.attachWorkDone)(s,t),void 0))),dispose:()=>s.dispose()};for(let e of f)e.attach(b);return s.onRequest(r.InitializeRequest.type,(e=>{t.initialize(e),i.string(e.trace)&&(c.trace=r.Trace.fromString(e.trace));for(let t of f)t.initialize(e.capabilities);if(v){return function asPromise(e){return e instanceof Promise?e:i.thenable(e)?new Promise(((t,n)=>{e.then((e=>t(e)),(e=>n(e)))})):Promise.resolve(e)}(v(e,(new r.CancellationTokenSource).token,(0,a.attachWorkDone)(s,e),void 0)).then((e=>{if(e instanceof r.ResponseError)return e;let t=e;t||(t={capabilities:{}});let n=t.capabilities;n||(n={},t.capabilities=n),void 0===n.textDocumentSync||null===n.textDocumentSync?n.textDocumentSync=i.number(b.__textDocumentSync)?b.__textDocumentSync:r.TextDocumentSyncKind.None:i.number(n.textDocumentSync)||i.number(n.textDocumentSync.change)||(n.textDocumentSync.change=i.number(b.__textDocumentSync)?b.__textDocumentSync:r.TextDocumentSyncKind.None);for(let e of f)e.fillServerCapabilities(n);return t}))}{let e={capabilities:{textDocumentSync:r.TextDocumentSyncKind.None}};for(let t of f)t.fillServerCapabilities(e.capabilities);return e}})),s.onRequest(r.ShutdownRequest.type,(()=>(t.shutdownReceived=!0,p?p((new r.CancellationTokenSource).token):void 0))),s.onNotification(r.ExitNotification.type,(()=>{try{R&&R()}finally{t.shutdownReceived?t.exit(0):t.exit(1)}})),s.onNotification(r.SetTraceNotification.type,(e=>{c.trace=r.Trace.fromString(e.value)})),b}},71742:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ShowDocumentFeature=void 0;const r=n(6484);t.ShowDocumentFeature=e=>class extends e{showDocument(e){return this.connection.sendRequest(r.ShowDocumentRequest.type,e)}}},21266:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TextDocuments=void 0;const r=n(6484);t.TextDocuments=class TextDocuments{constructor(e){this._configuration=e,this._syncedDocuments=new Map,this._onDidChangeContent=new r.Emitter,this._onDidOpen=new r.Emitter,this._onDidClose=new r.Emitter,this._onDidSave=new r.Emitter,this._onWillSave=new r.Emitter}get onDidOpen(){return this._onDidOpen.event}get onDidChangeContent(){return this._onDidChangeContent.event}get onWillSave(){return this._onWillSave.event}onWillSaveWaitUntil(e){this._willSaveWaitUntil=e}get onDidSave(){return this._onDidSave.event}get onDidClose(){return this._onDidClose.event}get(e){return this._syncedDocuments.get(e)}all(){return Array.from(this._syncedDocuments.values())}keys(){return Array.from(this._syncedDocuments.keys())}listen(e){e.__textDocumentSync=r.TextDocumentSyncKind.Incremental;const t=[];return t.push(e.onDidOpenTextDocument((e=>{const t=e.textDocument,n=this._configuration.create(t.uri,t.languageId,t.version,t.text);this._syncedDocuments.set(t.uri,n);const r=Object.freeze({document:n});this._onDidOpen.fire(r),this._onDidChangeContent.fire(r)}))),t.push(e.onDidChangeTextDocument((e=>{const t=e.textDocument,n=e.contentChanges;if(0===n.length)return;const{version:r}=t;if(null==r)throw new Error(`Received document change event for ${t.uri} without valid version identifier`);let i=this._syncedDocuments.get(t.uri);void 0!==i&&(i=this._configuration.update(i,n,r),this._syncedDocuments.set(t.uri,i),this._onDidChangeContent.fire(Object.freeze({document:i})))}))),t.push(e.onDidCloseTextDocument((e=>{let t=this._syncedDocuments.get(e.textDocument.uri);void 0!==t&&(this._syncedDocuments.delete(e.textDocument.uri),this._onDidClose.fire(Object.freeze({document:t})))}))),t.push(e.onWillSaveTextDocument((e=>{let t=this._syncedDocuments.get(e.textDocument.uri);void 0!==t&&this._onWillSave.fire(Object.freeze({document:t,reason:e.reason}))}))),t.push(e.onWillSaveTextDocumentWaitUntil(((e,t)=>{let n=this._syncedDocuments.get(e.textDocument.uri);return void 0!==n&&this._willSaveWaitUntil?this._willSaveWaitUntil(Object.freeze({document:n,reason:e.reason}),t):[]}))),t.push(e.onDidSaveTextDocument((e=>{let t=this._syncedDocuments.get(e.textDocument.uri);void 0!==t&&this._onDidSave.fire(Object.freeze({document:t}))}))),r.Disposable.create((()=>{t.forEach((e=>e.dispose()))}))}}},80746:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TypeHierarchyFeature=void 0;const r=n(6484);t.TypeHierarchyFeature=e=>class extends e{get typeHierarchy(){return{onPrepare:e=>this.connection.onRequest(r.TypeHierarchyPrepareRequest.type,((t,n)=>e(t,n,this.attachWorkDoneProgress(t),void 0))),onSupertypes:e=>{const t=r.TypeHierarchySupertypesRequest.type;return this.connection.onRequest(t,((n,r)=>e(n,r,this.attachWorkDoneProgress(n),this.attachPartialResultProgress(t,n))))},onSubtypes:e=>{const t=r.TypeHierarchySubtypesRequest.type;return this.connection.onRequest(t,((n,r)=>e(n,r,this.attachWorkDoneProgress(n),this.attachPartialResultProgress(t,n))))}}}}},2327:(e,t)=>{"use strict";function string(e){return"string"==typeof e||e instanceof String}function func(e){return"function"==typeof e}function array(e){return Array.isArray(e)}Object.defineProperty(t,"__esModule",{value:!0}),t.thenable=t.typedArray=t.stringArray=t.array=t.func=t.error=t.number=t.string=t.boolean=void 0,t.boolean=function boolean(e){return!0===e||!1===e},t.string=string,t.number=function number(e){return"number"==typeof e||e instanceof Number},t.error=function error(e){return e instanceof Error},t.func=func,t.array=array,t.stringArray=function stringArray(e){return array(e)&&e.every((e=>string(e)))},t.typedArray=function typedArray(e,t){return Array.isArray(e)&&e.every(t)},t.thenable=function thenable(e){return e&&func(e.then)}},64878:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.generateUuid=t.parse=t.isUUID=t.v4=t.empty=void 0;class ValueUUID{constructor(e){this._value=e}asHex(){return this._value}equals(e){return this.asHex()===e.asHex()}}class V4UUID extends ValueUUID{constructor(){super([V4UUID._randomHex(),V4UUID._randomHex(),V4UUID._randomHex(),V4UUID._randomHex(),V4UUID._randomHex(),V4UUID._randomHex(),V4UUID._randomHex(),V4UUID._randomHex(),"-",V4UUID._randomHex(),V4UUID._randomHex(),V4UUID._randomHex(),V4UUID._randomHex(),"-","4",V4UUID._randomHex(),V4UUID._randomHex(),V4UUID._randomHex(),"-",V4UUID._oneOf(V4UUID._timeHighBits),V4UUID._randomHex(),V4UUID._randomHex(),V4UUID._randomHex(),"-",V4UUID._randomHex(),V4UUID._randomHex(),V4UUID._randomHex(),V4UUID._randomHex(),V4UUID._randomHex(),V4UUID._randomHex(),V4UUID._randomHex(),V4UUID._randomHex(),V4UUID._randomHex(),V4UUID._randomHex(),V4UUID._randomHex(),V4UUID._randomHex()].join(""))}static _oneOf(e){return e[Math.floor(e.length*Math.random())]}static _randomHex(){return V4UUID._oneOf(V4UUID._chars)}}function v4(){return new V4UUID}V4UUID._chars=["0","1","2","3","4","5","6","6","7","8","9","a","b","c","d","e","f"],V4UUID._timeHighBits=["8","9","a","b"],t.empty=new ValueUUID("00000000-0000-0000-0000-000000000000"),t.v4=v4;const n=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;function isUUID(e){return n.test(e)}t.isUUID=isUUID,t.parse=function parse(e){if(!isUUID(e))throw new Error("invalid uuid");return new ValueUUID(e)},t.generateUuid=function generateUuid(){return v4().asHex()}},65143:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.WorkspaceFoldersFeature=void 0;const r=n(6484);t.WorkspaceFoldersFeature=e=>class extends e{constructor(){super(),this._notificationIsAutoRegistered=!1}initialize(e){super.initialize(e);let t=e.workspace;t&&t.workspaceFolders&&(this._onDidChangeWorkspaceFolders=new r.Emitter,this.connection.onNotification(r.DidChangeWorkspaceFoldersNotification.type,(e=>{this._onDidChangeWorkspaceFolders.fire(e.event)})))}fillServerCapabilities(e){super.fillServerCapabilities(e);const t=e.workspace?.workspaceFolders?.changeNotifications;this._notificationIsAutoRegistered=!0===t||"string"==typeof t}getWorkspaceFolders(){return this.connection.sendRequest(r.WorkspaceFoldersRequest.type)}get onDidChangeWorkspaceFolders(){if(!this._onDidChangeWorkspaceFolders)throw new Error("Client doesn't support sending workspace folder change events.");return this._notificationIsAutoRegistered||this._unregistration||(this._unregistration=this.connection.client.register(r.DidChangeWorkspaceFoldersNotification.type)),this._onDidChangeWorkspaceFolders.event}}},51735:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.resolveModulePath=t.FileSystem=t.resolveGlobalYarnPath=t.resolveGlobalNodePath=t.resolve=t.uriToFilePath=void 0;const r=n(57310),i=n(71017),o=n(57147),a=n(32081);function isWindows(){return"win32"===process.platform}function resolve(e,t,n,r){const s="NODE_PATH",c=["var p = process;","p.on('message',function(m){","if(m.c==='e'){","p.exit(0);","}","else if(m.c==='rs'){","try{","var r=require.resolve(m.a);","p.send({c:'r',s:true,r:r});","}","catch(err){","p.send({c:'r',s:false});","}","}","});"].join("");return new Promise(((u,l)=>{let g=process.env,d=Object.create(null);Object.keys(g).forEach((e=>d[e]=g[e])),t&&o.existsSync(t)&&(d[s]?d[s]=t+i.delimiter+d[s]:d[s]=t,r&&r(`NODE_PATH value is: ${d[s]}`)),d.ELECTRON_RUN_AS_NODE="1";try{let t=(0,a.fork)("",[],{cwd:n,env:d,execArgv:["-e",c]});if(void 0===t.pid)return void l(new Error(`Starting process to resolve node module ${e} failed`));t.on("error",(e=>{l(e)})),t.on("message",(n=>{"r"===n.c&&(t.send({c:"e"}),n.s?u(n.r):l(new Error(`Failed to resolve module: ${e}`)))}));let r={c:"rs",a:e};t.send(r)}catch(e){l(e)}}))}function resolveGlobalNodePath(e){let t="npm";const n=Object.create(null);Object.keys(process.env).forEach((e=>n[e]=process.env[e])),n.NO_UPDATE_NOTIFIER="true";const r={encoding:"utf8",env:n};isWindows()&&(t="npm.cmd",r.shell=!0);let handler=()=>{};try{process.on("SIGPIPE",handler);let n=(0,a.spawnSync)(t,["config","get","prefix"],r).stdout;if(!n)return void(e&&e("'npm config get prefix' didn't return a value."));let o=n.trim();return e&&e(`'npm config get prefix' value is: ${o}`),o.length>0?isWindows()?i.join(o,"node_modules"):i.join(o,"lib","node_modules"):void 0}catch(e){return}finally{process.removeListener("SIGPIPE",handler)}}var s;t.uriToFilePath=function uriToFilePath(e){let t=r.parse(e);if("file:"!==t.protocol||!t.path)return;let n=t.path.split("/");for(var o=0,a=n.length;o<a;o++)n[o]=decodeURIComponent(n[o]);if("win32"===process.platform&&n.length>1){let e=n[0],t=n[1];0===e.length&&t.length>1&&":"===t[1]&&n.shift()}return i.normalize(n.join("/"))},t.resolve=resolve,t.resolveGlobalNodePath=resolveGlobalNodePath,t.resolveGlobalYarnPath=function resolveGlobalYarnPath(e){let t="yarn",n={encoding:"utf8"};isWindows()&&(t="yarn.cmd",n.shell=!0);let handler=()=>{};try{process.on("SIGPIPE",handler);let r=(0,a.spawnSync)(t,["global","dir","--json"],n),o=r.stdout;if(!o)return void(e&&(e("'yarn global dir' didn't return a value."),r.stderr&&e(r.stderr)));let s=o.trim().split(/\r?\n/);for(let e of s)try{let t=JSON.parse(e);if("log"===t.type)return i.join(t.data,"node_modules")}catch(e){}return}catch(e){return}finally{process.removeListener("SIGPIPE",handler)}},function(e){let t;function isCaseSensitive(){return void 0!==t||(t="win32"!==process.platform&&(!o.existsSync(__filename.toUpperCase())||!o.existsSync(__filename.toLowerCase()))),t}e.isCaseSensitive=isCaseSensitive,e.isParent=function isParent(e,t){return isCaseSensitive()?0===i.normalize(t).indexOf(i.normalize(e)):0===i.normalize(t).toLowerCase().indexOf(i.normalize(e).toLowerCase())}}(s=t.FileSystem||(t.FileSystem={})),t.resolveModulePath=function resolveModulePath(e,t,n,r){return n?(i.isAbsolute(n)||(n=i.join(e,n)),resolve(t,n,n,r).then((e=>s.isParent(n,e)?e:Promise.reject(new Error(`Failed to load ${t} from node path location.`)))).then(void 0,(n=>resolve(t,resolveGlobalNodePath(r),e,r)))):resolve(t,resolveGlobalNodePath(r),e,r)}},57237:function(e,t,n){"use strict";var r=this&&this.__createBinding||(Object.create?function(e,t,n,r){void 0===r&&(r=n);var i=Object.getOwnPropertyDescriptor(t,n);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,r,i)}:function(e,t,n,r){void 0===r&&(r=n),e[r]=t[n]}),i=this&&this.__exportStar||function(e,t){for(var n in e)"default"===n||Object.prototype.hasOwnProperty.call(t,n)||r(t,e,n)};Object.defineProperty(t,"__esModule",{value:!0}),t.createConnection=t.Files=void 0;const o=n(2327),a=n(58336),s=n(51735),c=n(66182);let u;function endProtocolConnection(){if(void 0!==u)try{u.end()}catch(e){}}i(n(66182),t),i(n(52927),t),function(e){e.uriToFilePath=s.uriToFilePath,e.resolveGlobalNodePath=s.resolveGlobalNodePath,e.resolveGlobalYarnPath=s.resolveGlobalYarnPath,e.resolve=s.resolve,e.resolveModulePath=s.resolveModulePath}(t.Files||(t.Files={}));let l,g=!1;!function setupExitTimer(){const e="--clientProcessId";function runTimer(e){try{let t=parseInt(e);isNaN(t)||(l=setInterval((()=>{try{process.kill(t,0)}catch(e){endProtocolConnection(),process.exit(g?0:1)}}),3e3))}catch(e){}}for(let t=2;t<process.argv.length;t++){let n=process.argv[t];if(n===e&&t+1<process.argv.length)return void runTimer(process.argv[t+1]);{let t=n.split("=");t[0]===e&&runTimer(t[1])}}}();const d={initialize:e=>{const t=e.processId;o.number(t)&&void 0===l&&setInterval((()=>{try{process.kill(t,0)}catch(e){process.exit(g?0:1)}}),3e3)},get shutdownReceived(){return g},set shutdownReceived(e){g=e},exit:e=>{endProtocolConnection(),process.exit(e)}};t.createConnection=function createConnection(e,t,n,r){let i,s,u,l;return void 0!==e&&"features"===e.__brand&&(i=e,e=t,t=n,n=r),c.ConnectionStrategy.is(e)||c.ConnectionOptions.is(e)?l=e:(s=e,u=t,l=n),function _createConnection(e,t,n,r){if(!e&&!t&&process.argv.length>2){let n,r,o=process.argv.slice(2);for(let a=0;a<o.length;a++){let s=o[a];if("--node-ipc"===s){e=new c.IPCMessageReader(process),t=new c.IPCMessageWriter(process);break}if("--stdio"===s){e=process.stdin,t=process.stdout;break}if("--socket"===s){n=parseInt(o[a+1]);break}if("--pipe"===s){r=o[a+1];break}var i=s.split("=");if("--socket"===i[0]){n=parseInt(i[1]);break}if("--pipe"===i[0]){r=i[1];break}}if(n){let r=(0,c.createServerSocketTransport)(n);e=r[0],t=r[1]}else if(r){let n=(0,c.createServerPipeTransport)(r);e=n[0],t=n[1]}}var s="Use arguments of createConnection or set command line parameters: '--node-ipc', '--stdio' or '--socket={number}'";if(!e)throw new Error("Connection input stream is not set. "+s);if(!t)throw new Error("Connection output stream is not set. "+s);if(o.func(e.read)&&o.func(e.on)){let t=e;t.on("end",(()=>{endProtocolConnection(),process.exit(g?0:1)})),t.on("close",(()=>{endProtocolConnection(),process.exit(g?0:1)}))}const connectionFactory=r=>(0,c.createProtocolConnection)(e,t,r,n);return(0,a.createConnection)(connectionFactory,d,r)}(s,u,l,i)}},47302:(e,t,n)=>{"use strict";e.exports=n(57237)},69614:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DockerFormatter=void 0;const r=n(28661),i=n(243);t.DockerFormatter=class DockerFormatter{getIndentation(e){let t="\t";if(e&&e.insertSpaces){t="";for(let n=0;n<e.tabSize;n++)t+=" "}return t}createFormattingEdit(e,t,n,i,o){return i?r.TextEdit.replace({start:e.positionAt(t),end:e.positionAt(n)},o):r.TextEdit.del({start:e.positionAt(t),end:e.positionAt(n)})}formatOnType(e,t,n,r){const o=i.DockerfileParser.parse(e.getText());if(o.getEscapeCharacter()===n){for(let e of o.getComments())if(e.getRange().start.line===t.line)return[];if(o.getDirective()&&0===t.line)return[];const n=e.getText();e:for(let r=e.offsetAt(t);r<n.length;r++)switch(n.charAt(r)){case" ":case"\t":break;case"\r":case"\n":break e;default:return[]}const i=t.line+1,a=[],s=[];a[i]=!0,s[i]=!0;const c=[];return this.inHeredoc(o,i)&&c.push(i),this.formatLines(e,e.getText(),[i],a,s,c,r)}return[]}formatRange(e,t,n){const r=[];for(let e=t.start.line;e<=t.end.line;e++)r.push(e);return this.format(e,r,n)}formatDocument(e,t){const n=[];for(let t=0;t<e.lineCount;t++)n.push(t);return this.format(e,n,t)}inHeredoc(e,t){for(const n of e.getInstructions())if(n instanceof i.Copy||n instanceof i.Run){if(-1!==this.getHeredocLines(n.getHeredocs()).indexOf(t))return!0}return!1}getHeredocLines(e){let t=-1;for(let n=0;n<e.length;n++){const r=e[n].getContentRange();if(null!==r){t=r.start.line;break}const i=e[n].getDelimiterRange();if(null!==i){t=i.start.line;break}}if(-1===t)return[];let n=-1;for(let t=e.length-1;t>=0;t--){const r=e[t].getDelimiterRange();if(null!==r){n=r.end.line;break}const i=e[t].getContentRange();if(null!==i){n=i.end.line;break}}let r=[];for(let e=t;e<=n;e++)r.push(e);return r}format(e,t,n){let r=e.getText(),o=i.DockerfileParser.parse(r);const a=[],s=[],c=[];for(let t=0;t<e.lineCount;t++)a[t]=!1,s[t]=!1;for(let e of o.getInstructions()){let t=e.getRange();if(t.start.line!==t.end.line)for(let e=t.start.line+1;e<=t.end.line;e++)s[e]=!0;if(e instanceof i.Copy||e instanceof i.Run){const t=e.getHeredocs();t.length>0&&c.push(...this.getHeredocLines(t))}a[t.start.line]=!1;for(let e=t.start.line+1;e<=t.end.line;e++)a[e]=!0}return this.formatLines(e,r,t,a,s,c,n)}formatLines(e,t,n,i,o,a,s){const c=this.getIndentation(s),u=[];e:for(let l=0;l<n.length;l++){if(s&&s.ignoreMultilineInstructions&&o[n[l]])continue;if(-1!==a.indexOf(n[l]))continue;let g=e.offsetAt(r.Position.create(n[l],0));for(let o=g;o<t.length;o++)switch(t.charAt(o)){case" ":case"\t":break;case"\r":case"\n":if(o!==g){let t=r.TextEdit.del({start:e.positionAt(g),end:e.positionAt(o)});u.push(t)}continue e;default:if(i[n[l]]){if(e.getText().substring(g,o)!==c){const t=this.createFormattingEdit(e,g,o,i[n[l]],c);u.push(t)}}else if(o!==g){const t=this.createFormattingEdit(e,g,o,i[n[l]],c);u.push(t)}continue e}if(g<t.length){let n=r.TextEdit.del({start:e.positionAt(g),end:e.positionAt(t.length)});u.push(n)}}return u}}},59400:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Validator=t.KEYWORDS=void 0;const r=n(28661),i=n(243),o=n(87918);t.KEYWORDS=["ADD","ARG","CMD","COPY","ENTRYPOINT","ENV","EXPOSE","FROM","HEALTHCHECK","LABEL","MAINTAINER","ONBUILD","RUN","SHELL","STOPSIGNAL","USER","VOLUME","WORKDIR"];const a=["TARGETPLATFORM","TARGETOS","TARGETARCH","TARGETVARIANT","BUILDPLATFORM","BUILDOS","BUILDARCH","BUILDVARIAN"];class Validator{constructor(e){this.settings={deprecatedMaintainer:o.ValidationSeverity.WARNING,directiveCasing:o.ValidationSeverity.WARNING,emptyContinuationLine:o.ValidationSeverity.WARNING,instructionCasing:o.ValidationSeverity.WARNING,instructionCmdMultiple:o.ValidationSeverity.WARNING,instructionEntrypointMultiple:o.ValidationSeverity.WARNING,instructionHealthcheckMultiple:o.ValidationSeverity.WARNING,instructionJSONInSingleQuotes:o.ValidationSeverity.WARNING,instructionWorkdirRelative:o.ValidationSeverity.WARNING},e&&(this.settings=e)}checkDirectives(e,t){const n=[];for(const t of e.getDirectives())t.getDirective()===i.Directive.escape&&n.push(t);if(n.length>1)for(let e=1;e<n.length;e++)t.push(Validator.createDuplicatedEscapeDirective(n[e].getNameRange().start,n[e].getValueRange().end));else for(const n of e.getDirectives()){if(n.getDirective()===i.Directive.escape){const e=n.getValue();if("\\"!==e&&"`"!==e&&""!==e){const r=n.getValueRange();t.push(Validator.createInvalidEscapeDirective(r.start,r.end,e))}if(n.getName()!==i.Directive.escape){const e=n.getNameRange(),r=this.createLowercaseDirective(e.start,e.end);r&&t.push(r)}}}}checkArguments(e,t,n,r,o){let a=e instanceof i.PropertyInstruction?e.getPropertyArguments():e.getArguments();if(0===a.length){if(e.getKeyword()!==i.Keyword.RUN){const n=e.getInstructionRange();t.push(Validator.createMissingArgument(n.start.line,n.start,n.end))}}else if(-1===n[0])for(let n=0;n<a.length;n++){let i=r(n,a[n].getValue(),a[n].getRange());if(i){let r=a[n].getRange();t.push(i(e.getInstructionRange().start.line,r.start,r.end,a[n].getValue()))}}else{for(let i=0;i<n.length;i++)if(n[i]===a.length){for(let n=0;n<a.length;n++){let i=a[n].getRange(),o=r(n,a[n].getValue(),i);o instanceof Function?t.push(o(e.getInstructionRange().start.line,i.start,i.end,a[n].getValue())):null!==o&&t.push(o)}return}let i=a[a.length-1].getRange();o?t.push(o(e.getInstructionRange().start.line,i.start,i.end)):t.push(Validator.createExtraArgument(e.getInstructionRange().start.line,i.start,i.end))}}checkVariables(e,t){for(let n of e.getVariables()){let r=n.getModifier();if(null!==r)switch(e.getKeyword()){case i.Keyword.CMD:case i.Keyword.ENTRYPOINT:case i.Keyword.RUN:break;default:""===r?t.push(Validator.createVariableUnsupportedModifier(e.getRange().start.line,n.getRange(),n.toString(),r)):"+"!==r&&"-"!==r&&"?"!==r&&t.push(Validator.createVariableUnsupportedModifier(e.getRange().start.line,n.getModifierRange(),n.toString(),r))}}}checkProperty(e,t,n,r,i,o,a,s){let c=i.getName();if(""===c){let e=i.getRange();s.push(Validator.createSyntaxMissingNames(r,e.start,e.end,n))}else if(-1!==c.indexOf("=")){let t=i.getNameRange(),n=e.getText(t),o=n.indexOf("=");return void("'"===n.charAt(0)?s.push(Validator.createSyntaxMissingSingleQuote(r,t.start,e.positionAt(e.offsetAt(t.start)+o),n.substring(0,n.indexOf("=")))):'"'===n.charAt(0)&&s.push(Validator.createSyntaxMissingDoubleQuote(r,t.start,e.positionAt(e.offsetAt(t.start)+o),n.substring(0,n.indexOf("=")))))}let u=i.getValue();if(null===u){if(!a){let e=i.getNameRange();o?s.push(Validator.createENVRequiresTwoArguments(r,e.start,e.end)):s.push(Validator.createSyntaxMissingEquals(r,e.start,e.end,c))}}else if('"'===u.charAt(0)){let e=!1;for(let n=1;n<u.length;n++)switch(u.charAt(n)){case t:n++;break;case'"':n===u.length-1&&(e=!0)}if(!e){let e=i.getValueRange();s.push(Validator.createSyntaxMissingDoubleQuote(r,e.start,e.end,i.getUnescapedValue()))}}else if("'"===u.charAt(0)&&"'"!==u.charAt(u.length-1)){let e=i.getValueRange();s.push(Validator.createSyntaxMissingSingleQuote(r,e.start,e.end,u))}}validate(e){this.document=e;let t=[],n=i.DockerfileParser.parse(e.getText());this.checkDirectives(n,t);let r=n.getInstructions();0!==r.length&&n.getARGs().length!==r.length||t.push(Validator.createNoSourceImage(e.positionAt(0),e.positionAt(0)));let o=[],a=[],s=[];for(let e of r)e instanceof i.Cmd?o.push(e):e instanceof i.Entrypoint?a.push(e):e instanceof i.Healthcheck?s.push(e):e instanceof i.From&&(this.createDuplicatesDiagnostics(t,this.settings.instructionCmdMultiple,"CMD",o),this.createDuplicatesDiagnostics(t,this.settings.instructionEntrypointMultiple,"ENTRYPOINT",a),this.createDuplicatesDiagnostics(t,this.settings.instructionHealthcheckMultiple,"HEALTHCHECK",s),o=[],a=[],s=[]);this.createDuplicatesDiagnostics(t,this.settings.instructionCmdMultiple,"CMD",o),this.createDuplicatesDiagnostics(t,this.settings.instructionEntrypointMultiple,"ENTRYPOINT",a),this.createDuplicatesDiagnostics(t,this.settings.instructionHealthcheckMultiple,"HEALTHCHECK",s),this.createDuplicateBuildStageNameDiagnostics(t,n.getFROMs());let c=n.getEscapeCharacter(),u=!1;for(let r of n.getInstructions()){let n=r.getKeyword();if("FROM"===n)u=!0;else if(!u&&"ARG"!==n){let e=r.getInstructionRange();t.push(Validator.createNoSourceImage(e.start,e.end)),u=!0}this.validateInstruction(e,c,r,n,!1,t),this.checkVariables(r,t)}for(let r of n.getOnbuildTriggers())this.validateInstruction(e,c,r,r.getKeyword(),!0,t);const l=[];for(const e of n.getComments())"dockerfile-utils: ignore"===e.getContent()&&l.push(e.getRange().start.line);e:for(let e=0;e<t.length;e++)if(null!==t[e].instructionLine)for(const n of l)if(n+1===t[e].instructionLine){t.splice(e,1),e--;continue e}return t}getHeredocLines(e){if(e instanceof i.Copy||e instanceof i.Run){const t=[];for(const n of e.getHeredocs()){const e=n.getContentRange();if(null!==e)for(let n=e.start.line;n<=e.end.line;n++)t.push(n)}return t}return[]}validateInstruction(e,n,i,o,s,c){if(-1===t.KEYWORDS.indexOf(o)){let e=i.getInstructionRange();c.push(Validator.createUnknownInstruction(e.start.line,e.start,e.end,o))}else{if(o!==i.getInstruction()){let e=i.getInstructionRange(),t=this.createUppercaseInstruction(e.start.line,e.start,e.end);t&&c.push(t)}if("MAINTAINER"===o){let e=i.getInstructionRange(),t=this.createMaintainerDeprecated(e.start.line,e.start,e.end);t&&c.push(t)}const t=i.getRange();if(t.start.line!==t.end.line&&!s){const n=e.getText(),o=t.end.line,a=this.getHeredocLines(i);let s=0,u=-1;for(let i=t.start.line;i<=o;i++){if(i===a[s]){s++;continue}if(0===n.substring(e.offsetAt(r.Position.create(i,0)),e.offsetAt(r.Position.create(i+1,0))).trim().length){if(-1===u){u=i;continue}}else if(-1!==u){const e=Validator.createEmptyContinuationLine(r.Position.create(u,0),r.Position.create(i,0),this.settings.emptyContinuationLine);e&&c.push(e),u=-1}}if(-1!==u){const e=Validator.createEmptyContinuationLine(r.Position.create(u,0),r.Position.create(o+1,0),this.settings.emptyContinuationLine);e&&c.push(e),u=-1}}switch(o){case"CMD":this.checkJSONQuotes(i,c);break;case"ENTRYPOINT":case"RUN":case"VOLUME":this.checkArguments(i,c,[-1],(function(){return null})),this.checkJSONQuotes(i,c);break;case"ARG":this.checkArguments(i,c,[-1],(()=>null));let t=i.getProperty();t&&this.checkProperty(e,n,o,i.getRange().start.line,t,!0,!0,c);break;case"ENV":case"LABEL":this.checkArguments(i,c,[-1],(function(){return null}));let r=i.getProperties();if(1===r.length)this.checkProperty(e,n,o,i.getRange().start.line,r[0],!0,!1,c);else if(0!==r.length)for(let t of r)this.checkProperty(e,n,o,i.getRange().start.line,t,!1,!1,c);break;case"FROM":const s=i.getInstructionRange(),u=i.getFlags();for(const e of u){const t=e.getName();if("platform"!==t){const n=e.getRange();c.push(Validator.createUnknownFromFlag(s.start.line,n.start,""===t?n.end:e.getNameRange().end,e.getName()))}}this.checkFlagValue(s.start.line,u,["platform"],c),this.checkArguments(i,c,[1,3],(function(t,n,r){switch(t){case 0:let t=i.getVariables();if(t.length>0){let e=t[0].getRange();return e.start.line!==r.start.line||e.start.character!==r.start.character||e.end.line!==r.end.line||e.end.character!==r.end.character||t[0].isDefined()||-1!==a.indexOf(t[0].getName())?null:Validator.createBaseNameEmpty(s.start.line,e,t[0].toString())}let o=i,c=o.getImageDigestRange();const u=o.getImageTagRange();if(null===c){if(null===u)return null;let t=e.getText(u);return""===t?Validator.createInvalidReferenceFormat(s.start.line,r):new RegExp(/^[\w][\w.-]{0,127}$/).test(t)?null:Validator.createInvalidReferenceFormat(s.start.line,o.getImageTagRange())}if(null!==u&&u.start.line===u.end.line&&u.start.character===u.end.character)return Validator.createInvalidReferenceFormat(s.start.line,r);let l=e.getText(c),g=l.indexOf(":");if(-1===g)return""===l?Validator.createInvalidReferenceFormat(s.start.line,r):Validator.createInvalidReferenceFormat(s.start.line,o.getImageDigestRange());let d=new RegExp(/[A-Fa-f0-9_+.-]+/),h=l.substring(0,g);if(!d.test(h))return Validator.createInvalidReferenceFormat(s.start.line,o.getImageDigestRange());let m=l.substring(g+1);return new RegExp(/[A-Fa-f0-9]+/).test(m)?null:Validator.createInvalidReferenceFormat(s.start.line,o.getImageDigestRange());case 1:return"AS"===n.toUpperCase()?null:Validator.createInvalidAs;case 2:return n=n.toLowerCase(),new RegExp(/^[a-z]([a-z0-9_\-.]*)*$/).test(n)?null:Validator.createInvalidBuildStageName(s.start.line,r,n);default:return null}}),Validator.createRequiresOneOrThreeArguments);break;case"HEALTHCHECK":let l=i.getArguments();const g=i.getInstructionRange(),d=i.getFlags();if(0===l.length)c.push(Validator.createHEALTHCHECKRequiresAtLeastOneArgument(g.start.line,g));else{const e=l[0].getValue().toUpperCase();if("NONE"===e){if(l.length>1){const e=l[1].getRange().start,t=l[l.length-1].getRange().end;c.push(Validator.createHealthcheckNoneUnnecessaryArgument(g.start.line,e,t))}break}if("CMD"===e){if(1===l.length){const e=l[0].getRange();c.push(Validator.createHealthcheckCmdArgumentMissing(g.start.line,e.start,e.end))}}else c.push(Validator.createHealthcheckTypeUnknown(g.start.line,l[0].getRange(),e))}const h=["interval","retries","start-period","timeout","start-interval"];for(const e of d){const t=e.getName();if(-1===h.indexOf(t)){const n=e.getRange();c.push(Validator.createUnknownHealthcheckFlag(g.start.line,n.start,""===t?n.end:e.getNameRange().end,e.getName()))}else if("retries"===t){const t=e.getValue();if(t){const n=e.getValueRange(),r=parseInt(t);isNaN(r)||-1!==t.indexOf(".")?c.push(Validator.createInvalidSyntax(g.start.line,n.start,n.end,t)):r<1&&c.push(Validator.createFlagAtLeastOne(g.start.line,n.start,n.end,"--retries",r.toString()))}}}this.checkFlagValue(g.start.line,d,h,c),this.checkFlagDuration(g.start.line,d,["interval","start-period","timeout","start-interval"],c),this.checkDuplicateFlags(g.start.line,d,h,c);break;case"ONBUILD":this.checkArguments(i,c,[-1],(function(){return null}));let m=i,f=m.getTrigger();switch(f){case"FROM":case"MAINTAINER":c.push(Validator.createOnbuildTriggerDisallowed(m.getInstructionRange().start.line,m.getTriggerRange(),f));break;case"ONBUILD":c.push(Validator.createOnbuildChainingDisallowed(m.getInstructionRange().start.line,m.getTriggerRange()))}break;case"SHELL":this.checkArguments(i,c,[-1],(function(){return null})),this.checkJSON(e,i,c);break;case"STOPSIGNAL":this.checkArguments(i,c,[1],(function(e,t){if(0===t.indexOf("SIG")||-1!=t.indexOf("$"))return null;for(var n=0;n<t.length;n++)if("0">t.charAt(n)||"9"<t.charAt(n))return Validator.createInvalidStopSignal;return null}));let p=i.getExpandedArguments();if(1===p.length){let e=p[0].getValue(),t=i.getVariables();if(0===t.length){if(-1!==e.indexOf("$")){const t=i.getInstructionRange();let n=p[0].getRange();c.push(Validator.createInvalidStopSignal(t.start.line,n.start,n.end,e))}}else for(let n of t){let t=n.getRange(),r=this.document.getText().substring(this.document.offsetAt(t.start),this.document.offsetAt(t.end));if(e.includes(r)&&!n.isBuildVariable()&&!n.isDefined()){const e=i.getInstructionRange();let t=p[0].getRange();c.push(Validator.createInvalidStopSignal(e.start.line,t.start,t.end,""));break}}}break;case"EXPOSE":i.getArguments();let v=i.getExpandedArguments();if(0===v.length){let e=i.getInstructionRange();c.push(Validator.createMissingArgument(e.start.line,e.start,e.end))}else{const e=/^([0-9])+(-[0-9]+)?(:([0-9])+(-[0-9]*)?)?(\/(\w*))?(\/\w*)*$/;e:for(let t=0;t<v.length;t++){let n=v[t].getValue();'"'===n.charAt(0)&&'"'===n.charAt(n.length-1)&&(n=n.substring(1,n.length-1));const r=e.exec(n);if(r){if(r[7]){const e=r[7].toLowerCase();if(""!==e&&"tcp"!==e&&"udp"!==e&&"sctp"!==e){const n=v[t].getRange(),o=this.document.offsetAt(n.start),a=this.document.getText().substring(o,this.document.offsetAt(n.end)),s=o+a.indexOf(r[7].substring(0,1)),u=1===e.length?o+s+1:o+a.length;c.push(Validator.createInvalidProto(i.getInstructionRange().start.line,this.document.positionAt(s),this.document.positionAt(u),r[7]))}}}else{if("$"===n.charAt(0))continue e;c.push(Validator.createInvalidPort(i.getInstructionRange().start.line,v[t].getRange(),n))}}}break;case"ADD":const R=i,b=R.getFlags(),D=i.getInstructionRange();for(let e of b){const t=e.getName(),n=e.getRange();if(""===t)c.push(Validator.createUnknownAddFlag(D.start.line,n.start,n.end,t));else if("link"===t||"keep-git-dir"===t){const t=this.checkFlagBoolean(D.start.line,e);null!==t&&c.push(t)}else if("chmod"!==t&&"chown"!==t&&"checksum"!==t){let r=e.getNameRange();c.push(Validator.createUnknownAddFlag(D.start.line,n.start,r.end,t))}}const y=this.checkDestinationIsDirectory(R,Validator.createADDRequiresAtLeastTwoArguments,Validator.createADDDestinationNotDirectory);null!==y&&c.push(y),this.checkFlagValue(D.start.line,b,["chmod","chown","checksum"],c),this.checkDuplicateFlags(D.start.line,b,["chmod","chown","checksum","keep-git-dir","link"],c),this.checkJSONQuotes(i,c);break;case"COPY":const _=i.getInstructionRange();let k=i,S=k.getFlags();if(S.length>0){for(let e of S){const t=e.getName(),n=e.getRange();if(""===t)c.push(Validator.createUnknownCopyFlag(_.start.line,n.start,n.end,t));else if("link"===t){const t=this.checkFlagBoolean(_.start.line,e);null!==t&&c.push(t)}else if("chmod"!==t&&"chown"!==t&&"from"!==t){let r=e.getNameRange();c.push(Validator.createUnknownCopyFlag(_.start.line,n.start,r.end,t))}}let e=k.getFromFlag();if(e){let t=e.getValue();if(null!==t){if(!new RegExp(/^[a-zA-Z0-9].*$/).test(t)){let n=""===t?e.getRange():e.getValueRange();c.push(Validator.createFlagInvalidFrom(_.start.line,n.start,n.end,t))}}}}const T=this.checkDestinationIsDirectory(k,Validator.createCOPYRequiresAtLeastTwoArguments,Validator.createCOPYDestinationNotDirectory);null!==T&&c.push(T),this.checkFlagValue(_.start.line,S,["chmod","chown","from"],c),this.checkDuplicateFlags(_.start.line,S,["chmod","chown","from","link"],c),this.checkJSONQuotes(i,c);break;case"WORKDIR":this.checkArguments(i,c,[-1],(function(){return null}));let C=i.getArgumentsContent();if(C){const e=C.substring(0,1),t=C.substring(C.length-1);("'"===e&&"'"===t||'"'===e&&'"'===t)&&(C=C.substring(1,C.length-1));let n=new RegExp(/^(\$|([a-zA-Z](\$|:(\$|\\|\/)))).*$/);if(!C.startsWith("/")&&!n.test(C)){let e=this.createWORKDIRNotAbsolute(i.getInstructionRange().start.line,i.getArgumentsRange());e&&c.push(e)}}break;default:this.checkArguments(i,c,[-1],(function(){return null}))}}}hasHeredocs(e){for(const t of e)if(t.getValue().startsWith("<<"))return!0;return!1}getDestinationArgument(e){if(this.hasHeredocs(e)){const t=e[0].getRange().start.line;let n=null;for(let r=1;r<e.length&&e[r].getRange().start.line===t;r++)n=e[r];return n}return e[e.length-1]}checkDestinationIsDirectory(e,t,n){if(e.getClosingBracket())return this.checkJsonDestinationIsDirectory(e,t,n);const r=e.getArguments();if(1===r.length)return t(e.getInstructionRange().start.line,r[0].getRange());if(0===r.length){const n=e.getInstructionRange();return t(n.start.line,n)}if(r.length>2){const i=this.getDestinationArgument(r);if(null===i){const n=e.getInstructionRange();return t(n.start.line,n)}if(this.hasHeredocs(r))return null;const o=e.getVariables();if(0!==o.length){const e=this.document.offsetAt(i.getRange().end),t=this.document.offsetAt(o[o.length-1].getRange().end);if(e===t||e-1===t)return null}const a=i.getValue(),s=a.charAt(a.length-1);if("\\"!==s&&"/"!==s)return n(e.getInstructionRange().start.line,i.getRange())}return null}createDuplicatesDiagnostics(e,t,n,r){if(r.length>1)for(let i=0;i<r.length-1;i++){const o=r[i].getInstructionRange(),a=this.createMultipleInstructions(o.start.line,o,t,n);a&&e.push(a)}}createDuplicateBuildStageNameDiagnostics(e,t){const n={};for(let e of t){let t=e.getBuildStage();null!==t&&(t=t.toLowerCase(),void 0===n[t]?n[t]=[e]:n[t].push(e))}for(const t in n)if(n[t].length>1)for(const r of n[t])e.push(Validator.createDuplicateBuildStageName(r.getInstructionRange().start.line,r.getBuildStageRange(),t))}checkJsonDestinationIsDirectory(e,t,n){const r=e.getJSONStrings();if(0===r.length)return t(e.getInstructionRange().start.line,e.getArgumentsRange());if(1===r.length)return t(e.getInstructionRange().start.line,r[0].getJSONRange());if(r.length>2){const t=r[r.length-1],i=e.getVariables();if(0!==i.length){const e=i[i.length-1],n=this.document.offsetAt(t.getRange().end),r=this.document.offsetAt(e.getRange().end);if(n===r||n-1===r)return null}const o=t.getValue(),a=o.charAt(o.length-2);if("\\"!==a&&"/"!==a)return n(e.getInstructionRange().start.line,r[r.length-1].getJSONRange())}return null}checkFlagValue(e,t,n,r){for(let i of t){let t=i.getName();null===i.getValue()&&-1!==n.indexOf(t)&&r.push(Validator.createFlagMissingValue(e,i.getNameRange(),t))}}checkFlagBoolean(e,t){const n=t.getValue();if(""===n)return Validator.createFlagMissingValue(e,t.getNameRange(),t.getName());if(null!==n){const r=n.toLowerCase();if("true"!==r&&"false"!==r)return Validator.createFlagExpectedBooleanValue(e,t.getValueRange(),t.getName(),n)}return null}checkFlagDuration(e,t,n,r){e:for(let i of t){let t=i.getName();if(-1!==n.indexOf(t)){let n=i.getValue();if(null!==n&&0!==n.length){switch(n.charAt(0)){case"0":case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":case".":case"-":break;default:let t=i.getValueRange();r.push(Validator.createFlagInvalidDuration(e,t.start,t.end,n));continue e}let o=!1,a=0,s=0,c=!1,u=!1,l=0;t:for(let g=0;g<n.length;g++)switch(o=!1,n.charAt(g)){case"-":if(c){let t=i.getValueRange();r.push(Validator.createFlagUnknownUnit(e,t,n.charAt(g),n));continue e}if(u){let t=i.getValueRange();r.push(Validator.createFlagInvalidDuration(e,t.start,t.end,n));continue e}u=!0;continue;case".":l++;continue;case"0":case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":c=!0;continue;default:if(l>1){let t=i.getValueRange();r.push(Validator.createFlagMissingDuration(e,t.start,t.end,n));continue e}l=0;let d=parseFloat(n.substring(a,g));for(let c=g+1;c<n.length;c++)if(Validator.isNumberRelated(n.charAt(c))){let u=n.substring(g,c);if(d<0||"-"===n.charAt(a)&&0===d){let n=i.getNameRange();r.push(Validator.createFlagLessThan1ms(e,n.start,n.end,t));continue e}switch(u){case"h":s+=1e3*d*60*60,g=c-1,a=g,o=!0;continue t;case"m":s+=1e3*d*60,g=c-1,a=g,o=!0;continue t;case"s":s+=1e3*d,g=c-1,a=g,o=!0;continue t;case"ms":s+=d,g=c-1,a=g,o=!0;continue t;case"us":case"µs":s+=d/1e3,g=c-1,a=g,o=!0;continue t;case"ns":s+=d/1e6,g=c-1,a=g,o=!0;continue t;default:let t=i.getValueRange();r.push(Validator.createFlagUnknownUnit(e,t,u,n));continue e}}if(d<0||"-"===n.charAt(a)&&0===d){let n=i.getNameRange();r.push(Validator.createFlagLessThan1ms(e,n.start,n.end,t));continue e}let h=n.substring(g,n.length);switch(h){case"h":s+=1e3*d*60*60,o=!0;break t;case"m":s+=1e3*d*60,o=!0;break t;case"s":s+=1e3*d,o=!0;break t;case"ms":s+=d,o=!0;break t;case"us":case"µs":s+=d/1e3,o=!0;break t;case"ns":s+=d/1e6,o=!0;break t;default:let t=i.getValueRange();r.push(Validator.createFlagUnknownUnit(e,t,h,n))}continue e}if(o){if(s<1){let n=i.getNameRange();r.push(Validator.createFlagLessThan1ms(e,n.start,n.end,t))}}else{let t=i.getValueRange();r.push(Validator.createFlagMissingDuration(e,t.start,t.end,n))}}}}}static isNumberRelated(e){switch(e){case".":case"0":case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":return!0}return!1}checkDuplicateFlags(e,t,n,r){let i=t.map((function(e){return e.getName()}));for(let o of n){let n=i.indexOf(o),a=i.lastIndexOf(o);if(n!==a){let o=t[n].getNameRange();r.push(Validator.createFlagDuplicate(e,o.start,o.end,i[n])),o=t[a].getNameRange(),r.push(Validator.createFlagDuplicate(e,o.start,o.end,i[n]))}}}checkJSON(e,t,n){if(null===t.getArgumentsContent())return;let r=t.getArgumentsRange(),i=t.getArguments();if(1===i.length&&"[]"===i[0].getValue()||2===i.length&&"["===i[0].getValue()&&"]"===i[1].getValue())return void n.push(Validator.createShellRequiresOne(t.getInstructionRange().start.line,r));const o=t.getClosingBracket();if(o){let i=e.getText();i=i.substring(e.offsetAt(t.getOpeningBracket().getRange().end),e.offsetAt(o.getRange().start)),i=i.trim(),'"'!==i.charAt(i.length-1)&&n.push(Validator.createShellJsonForm(t.getInstructionRange().start.line,r))}else n.push(Validator.createShellJsonForm(t.getInstructionRange().start.line,r))}checkJSONQuotes(e,t){let n=e.getArgumentsContent();if(null===n)return;let r=e.getArgumentsRange(),i=e.getArguments();if(1===i.length&&"[]"===i[0].getValue()||2===i.length&&"["===i[0].getValue()&&"]"===i[1].getValue())return;let o=!1,a=null,s=!1;e:for(let i=0;i<n.length;i++)switch(n.charAt(i)){case"[":null===a&&(a="[",o=!0);break;case"'":if("["===a||","===a){s=!0,a="'";continue}if("'"!==a)break e;if(!s)break e;s=!1;break;case",":if(!o)break e;if(!s){if("'"!==a)break e;a=","}break;case"]":if(!s){if("'"===a||","===a){a=null;const n=Validator.createJSONInSingleQuotes(e.getInstructionRange().start.line,r,this.settings.instructionJSONInSingleQuotes);n&&t.push(n)}break e}break;case" ":case"\t":break;default:if(!s)break e}}static formatMessage(e,...t){for(let n=0;n<t.length;n++)e=e.replace("${"+n+"}",t[n]);return e}static getDiagnosticMessage_DirectiveCasing(){return Validator.dockerProblems.directiveCasing}static getDiagnosticMessage_DirectiveEscapeDuplicated(){return Validator.dockerProblems.directiveEscapeDuplicated}static getDiagnosticMessage_DirectiveEscapeInvalid(e){return Validator.formatMessage(Validator.dockerProblems.directiveEscapeInvalid,e)}static getDiagnosticMessage_NoSourceImage(){return Validator.dockerProblems.noSourceImage}static getDiagnosticMessage_EmptyContinuationLine(){return Validator.dockerProblems.emptyContinuationLine}static getDiagnosticMessage_DuplicateBuildStageName(e){return Validator.formatMessage(Validator.dockerProblems.duplicateBuildStageName,e)}static getDiagnosticMessage_InvalidBuildStageName(e){return Validator.formatMessage(Validator.dockerProblems.invalidBuildStageName,e)}static getDiagnosticMessage_FlagAtLeastOne(e,t){return Validator.formatMessage(Validator.dockerProblems.flagAtLeastOne,e,t)}static getDiagnosticMessage_FlagDuplicate(e){return Validator.formatMessage(Validator.dockerProblems.flagDuplicate,e)}static getDiagnosticMessage_FlagInvalidDuration(e){return Validator.formatMessage(Validator.dockerProblems.flagInvalidDuration,e)}static getDiagnosticMessage_FlagLessThan1ms(e){return Validator.formatMessage(Validator.dockerProblems.flagLessThan1ms,e)}static getDiagnosticMessage_FlagMissingDuration(e){return Validator.formatMessage(Validator.dockerProblems.flagMissingDuration,e)}static getDiagnosticMessage_FlagInvalidFromValue(e){return Validator.formatMessage(Validator.dockerProblems.flagInvalidFrom,e)}static getDiagnosticMessage_FlagExpectedBooleanValue(e,t){return Validator.formatMessage(Validator.dockerProblems.flagExpectedBooleanValue,e,t)}static getDiagnosticMessage_FlagMissingValue(e){return Validator.formatMessage(Validator.dockerProblems.flagMissingValue,e)}static getDiagnosticMessage_FlagUnknown(e){return Validator.formatMessage(Validator.dockerProblems.flagUnknown,e)}static getDiagnosticMessage_FlagUnknownUnit(e,t){return Validator.formatMessage(Validator.dockerProblems.flagUnknownUnit,e,t)}static getDiagnosticMessage_BaseNameEmpty(e){return Validator.formatMessage(Validator.dockerProblems.baseNameEmpty,e)}static getDiagnosticMessage_InvalidAs(){return Validator.dockerProblems.invalidAs}static getDiagnosticMessage_InvalidPort(e){return Validator.formatMessage(Validator.dockerProblems.invalidPort,e)}static getDiagnosticMessage_InvalidProto(e){return Validator.formatMessage(Validator.dockerProblems.invalidProtocol,e)}static getDiagnosticMessage_InvalidReferenceFormat(){return Validator.dockerProblems.invalidReferenceFormat}static getDiagnosticMessage_InvalidSignal(e){return Validator.formatMessage(Validator.dockerProblems.invalidStopSignal,e)}static getDiagnosticMessage_InvalidSyntax(e){return Validator.formatMessage(Validator.dockerProblems.invalidSyntax,e)}static getDiagnosticMessage_InstructionExtraArgument(){return Validator.dockerProblems.instructionExtraArgument}static getDiagnosticMessage_InstructionMissingArgument(){return Validator.dockerProblems.instructionMissingArgument}static getDiagnosticMessage_ADDDestinationNotDirectory(){return Validator.formatMessage(Validator.dockerProblems.invalidDestination,"ADD")}static getDiagnosticMessage_ADDRequiresAtLeastTwoArguments(){return Validator.formatMessage(Validator.dockerProblems.instructionRequiresAtLeastTwoArguments,"ADD")}static getDiagnosticMessage_COPYDestinationNotDirectory(){return Validator.formatMessage(Validator.dockerProblems.invalidDestination,"COPY")}static getDiagnosticMessage_COPYRequiresAtLeastTwoArguments(){return Validator.formatMessage(Validator.dockerProblems.instructionRequiresAtLeastTwoArguments,"COPY")}static getDiagnosticMessage_HEALTHCHECKRequiresAtLeastOneArgument(){return Validator.formatMessage(Validator.dockerProblems.instructionRequiresAtLeastOneArgument,"HEALTHCHECK")}static getDiagnosticMessage_ENVRequiresTwoArguments(){return Validator.formatMessage(Validator.dockerProblems.instructionRequiresTwoArguments,"ENV")}static getDiagnosticMessage_InstructionRequiresOneOrThreeArguments(){return Validator.dockerProblems.fromRequiresOneOrThreeArguments}static getDiagnosticMessage_HealthcheckNoneUnnecessaryArgument(){return Validator.formatMessage(Validator.dockerProblems.instructionUnnecessaryArgument,"HEALTHCHECK NONE")}static getDiagnosticMessage_InstructionMultiple(e){return Validator.formatMessage(Validator.dockerProblems.instructionMultiple,e)}static getDiagnosticMessage_InstructionUnknown(e){return Validator.formatMessage(Validator.dockerProblems.instructionUnknown,e)}static getDiagnosticMessage_SyntaxMissingEquals(e){return Validator.formatMessage(Validator.dockerProblems.syntaxMissingEquals,e)}static getDiagnosticMessage_SyntaxMissingNames(e){return Validator.formatMessage(Validator.dockerProblems.syntaxMissingNames,e)}static getDiagnosticMessage_SyntaxMissingSingleQuote(e){return Validator.formatMessage(Validator.dockerProblems.syntaxMissingSingleQuote,e)}static getDiagnosticMessage_SyntaxMissingDoubleQuote(e){return Validator.formatMessage(Validator.dockerProblems.syntaxMissingDoubleQuote,e)}static getDiagnosticMessage_InstructionCasing(){return Validator.dockerProblems.instructionCasing}static getDiagnosticMessage_InstructionJSONInSingleQuotes(){return Validator.dockerProblems.instructionJSONInSingleQuotes}static getDiagnosticMessage_OnbuildChainingDisallowed(){return Validator.dockerProblems.onbuildChainingDisallowed}static getDiagnosticMessage_OnbuildTriggerDisallowed(e){return Validator.formatMessage(Validator.dockerProblems.onbuildTriggerDisallowed,e)}static getDiagnosticMessage_VariableModifierUnsupported(e,t){return Validator.formatMessage(Validator.dockerProblems.variableModifierUnsupported,e,t)}static getDiagnosticMessage_ShellJsonForm(){return Validator.dockerProblems.shellJsonForm}static getDiagnosticMessage_ShellRequiresOne(){return Validator.dockerProblems.shellRequiresOne}static getDiagnosticMessage_DeprecatedMaintainer(){return Validator.dockerProblems.deprecatedMaintainer}static getDiagnosticMessage_HealthcheckCmdArgumentMissing(){return Validator.dockerProblems.healthcheckCmdArgumentMissing}static getDiagnosticMessage_HealthcheckTypeUnknown(e){return Validator.formatMessage(Validator.dockerProblems.healthcheckTypeUnknown,e)}static getDiagnosticMessage_WORKDIRPathNotAbsolute(){return Validator.formatMessage(Validator.dockerProblems.workdirPathNotAbsolute)}static createDuplicatedEscapeDirective(e,t){return Validator.createError(null,e,t,Validator.getDiagnosticMessage_DirectiveEscapeDuplicated(),o.ValidationCode.DUPLICATED_ESCAPE_DIRECTIVE,[r.DiagnosticTag.Unnecessary])}static createInvalidEscapeDirective(e,t,n){return Validator.createError(null,e,t,Validator.getDiagnosticMessage_DirectiveEscapeInvalid(n),o.ValidationCode.INVALID_ESCAPE_DIRECTIVE)}static createDuplicateBuildStageName(e,t,n){return Validator.createError(e,t.start,t.end,Validator.getDiagnosticMessage_DuplicateBuildStageName(n),o.ValidationCode.DUPLICATE_BUILD_STAGE_NAME)}static createInvalidBuildStageName(e,t,n){return Validator.createError(e,t.start,t.end,Validator.getDiagnosticMessage_InvalidBuildStageName(n),o.ValidationCode.INVALID_BUILD_STAGE_NAME)}static createFlagAtLeastOne(e,t,n,r,i){return Validator.createError(e,t,n,Validator.getDiagnosticMessage_FlagAtLeastOne(r,i),o.ValidationCode.FLAG_AT_LEAST_ONE)}static createFlagDuplicate(e,t,n,r){return Validator.createError(e,t,n,Validator.getDiagnosticMessage_FlagDuplicate(r),o.ValidationCode.FLAG_DUPLICATE)}static createFlagInvalidDuration(e,t,n,r){return Validator.createError(e,t,n,Validator.getDiagnosticMessage_FlagInvalidDuration(r),o.ValidationCode.FLAG_INVALID_DURATION)}static createFlagLessThan1ms(e,t,n,r){return Validator.createError(e,t,n,Validator.getDiagnosticMessage_FlagLessThan1ms(r),o.ValidationCode.FLAG_LESS_THAN_1MS)}static createFlagMissingDuration(e,t,n,r){return Validator.createError(e,t,n,Validator.getDiagnosticMessage_FlagMissingDuration(r),o.ValidationCode.FLAG_MISSING_DURATION)}static createFlagInvalidFrom(e,t,n,r){return Validator.createError(e,t,n,Validator.getDiagnosticMessage_FlagInvalidFromValue(r),o.ValidationCode.FLAG_INVALID_FROM_VALUE)}static createFlagExpectedBooleanValue(e,t,n,r){return Validator.createError(e,t.start,t.end,Validator.getDiagnosticMessage_FlagExpectedBooleanValue(n,r),o.ValidationCode.FLAG_EXPECTED_BOOLEAN_VALUE)}static createFlagMissingValue(e,t,n){return Validator.createError(e,t.start,t.end,Validator.getDiagnosticMessage_FlagMissingValue(n),o.ValidationCode.FLAG_MISSING_VALUE)}static createUnknownAddFlag(e,t,n,r){return Validator.createError(e,t,n,Validator.getDiagnosticMessage_FlagUnknown(r),o.ValidationCode.UNKNOWN_ADD_FLAG)}static createUnknownCopyFlag(e,t,n,r){return Validator.createError(e,t,n,Validator.getDiagnosticMessage_FlagUnknown(r),o.ValidationCode.UNKNOWN_COPY_FLAG)}static createUnknownFromFlag(e,t,n,r){return Validator.createError(e,t,n,Validator.getDiagnosticMessage_FlagUnknown(r),o.ValidationCode.UNKNOWN_FROM_FLAG)}static createUnknownHealthcheckFlag(e,t,n,r){return Validator.createError(e,t,n,Validator.getDiagnosticMessage_FlagUnknown(r),o.ValidationCode.UNKNOWN_HEALTHCHECK_FLAG)}static createFlagUnknownUnit(e,t,n,r){return Validator.createError(e,t.start,t.end,Validator.getDiagnosticMessage_FlagUnknownUnit(n,r),o.ValidationCode.FLAG_UNKNOWN_UNIT)}static createBaseNameEmpty(e,t,n){return Validator.createError(e,t.start,t.end,Validator.getDiagnosticMessage_BaseNameEmpty(n),o.ValidationCode.BASE_NAME_EMPTY)}static createInvalidAs(e,t,n){return Validator.createError(e,t,n,Validator.getDiagnosticMessage_InvalidAs(),o.ValidationCode.INVALID_AS)}static createInvalidPort(e,t,n){return Validator.createError(e,t.start,t.end,Validator.getDiagnosticMessage_InvalidPort(n),o.ValidationCode.INVALID_PORT)}static createInvalidProto(e,t,n,r){return Validator.createError(e,t,n,Validator.getDiagnosticMessage_InvalidProto(r),o.ValidationCode.INVALID_PROTO)}static createInvalidReferenceFormat(e,t){return Validator.createError(e,t.start,t.end,Validator.getDiagnosticMessage_InvalidReferenceFormat(),o.ValidationCode.INVALID_REFERENCE_FORMAT)}static createInvalidStopSignal(e,t,n,r){return Validator.createError(e,t,n,Validator.getDiagnosticMessage_InvalidSignal(r),o.ValidationCode.INVALID_SIGNAL)}static createInvalidSyntax(e,t,n,r){return Validator.createError(e,t,n,Validator.getDiagnosticMessage_InvalidSyntax(r),o.ValidationCode.INVALID_SYNTAX)}static createMissingArgument(e,t,n){return Validator.createError(e,t,n,Validator.getDiagnosticMessage_InstructionMissingArgument(),o.ValidationCode.ARGUMENT_MISSING)}static createExtraArgument(e,t,n){return Validator.createError(e,t,n,Validator.getDiagnosticMessage_InstructionExtraArgument(),o.ValidationCode.ARGUMENT_EXTRA)}static createHealthcheckNoneUnnecessaryArgument(e,t,n){return Validator.createError(e,t,n,Validator.getDiagnosticMessage_HealthcheckNoneUnnecessaryArgument(),o.ValidationCode.ARGUMENT_UNNECESSARY)}static createADDDestinationNotDirectory(e,t){return Validator.createError(e,t.start,t.end,Validator.getDiagnosticMessage_ADDDestinationNotDirectory(),o.ValidationCode.INVALID_DESTINATION)}static createADDRequiresAtLeastTwoArguments(e,t){return Validator.createError(e,t.start,t.end,Validator.getDiagnosticMessage_ADDRequiresAtLeastTwoArguments(),o.ValidationCode.ARGUMENT_REQUIRES_AT_LEAST_TWO)}static createCOPYDestinationNotDirectory(e,t){return Validator.createError(e,t.start,t.end,Validator.getDiagnosticMessage_COPYDestinationNotDirectory(),o.ValidationCode.INVALID_DESTINATION)}static createCOPYRequiresAtLeastTwoArguments(e,t){return Validator.createError(e,t.start,t.end,Validator.getDiagnosticMessage_COPYRequiresAtLeastTwoArguments(),o.ValidationCode.ARGUMENT_REQUIRES_AT_LEAST_TWO)}static createENVRequiresTwoArguments(e,t,n){return Validator.createError(e,t,n,Validator.getDiagnosticMessage_ENVRequiresTwoArguments(),o.ValidationCode.ARGUMENT_REQUIRES_TWO)}static createHEALTHCHECKRequiresAtLeastOneArgument(e,t){return Validator.createError(e,t.start,t.end,Validator.getDiagnosticMessage_HEALTHCHECKRequiresAtLeastOneArgument(),o.ValidationCode.ARGUMENT_REQUIRES_AT_LEAST_ONE)}static createHealthcheckCmdArgumentMissing(e,t,n){return Validator.createError(e,t,n,Validator.getDiagnosticMessage_HealthcheckCmdArgumentMissing(),o.ValidationCode.HEALTHCHECK_CMD_ARGUMENT_MISSING)}static createHealthcheckTypeUnknown(e,t,n){return Validator.createError(e,t.start,t.end,Validator.getDiagnosticMessage_HealthcheckTypeUnknown(n),o.ValidationCode.UNKNOWN_TYPE)}static createOnbuildChainingDisallowed(e,t){return Validator.createError(e,t.start,t.end,Validator.getDiagnosticMessage_OnbuildChainingDisallowed(),o.ValidationCode.ONBUILD_CHAINING_DISALLOWED)}static createOnbuildTriggerDisallowed(e,t,n){return Validator.createError(e,t.start,t.end,Validator.getDiagnosticMessage_OnbuildTriggerDisallowed(n),o.ValidationCode.ONBUILD_TRIGGER_DISALLOWED)}static createShellJsonForm(e,t){return Validator.createError(e,t.start,t.end,Validator.getDiagnosticMessage_ShellJsonForm(),o.ValidationCode.SHELL_JSON_FORM)}static createShellRequiresOne(e,t){return Validator.createError(e,t.start,t.end,Validator.getDiagnosticMessage_ShellRequiresOne(),o.ValidationCode.SHELL_REQUIRES_ONE)}static createRequiresOneOrThreeArguments(e,t,n){return Validator.createError(e,t,n,Validator.getDiagnosticMessage_InstructionRequiresOneOrThreeArguments(),o.ValidationCode.ARGUMENT_REQUIRES_ONE_OR_THREE)}static createNoSourceImage(e,t){return Validator.createError(null,e,t,Validator.getDiagnosticMessage_NoSourceImage(),o.ValidationCode.NO_SOURCE_IMAGE)}static createSyntaxMissingEquals(e,t,n,r){return Validator.createError(e,t,n,Validator.getDiagnosticMessage_SyntaxMissingEquals(r),o.ValidationCode.SYNTAX_MISSING_EQUALS)}static createSyntaxMissingSingleQuote(e,t,n,r){return Validator.createError(e,t,n,Validator.getDiagnosticMessage_SyntaxMissingSingleQuote(r),o.ValidationCode.SYNTAX_MISSING_SINGLE_QUOTE)}static createSyntaxMissingDoubleQuote(e,t,n,r){return Validator.createError(e,t,n,Validator.getDiagnosticMessage_SyntaxMissingDoubleQuote(r),o.ValidationCode.SYNTAX_MISSING_DOUBLE_QUOTE)}static createSyntaxMissingNames(e,t,n,r){return Validator.createError(e,t,n,Validator.getDiagnosticMessage_SyntaxMissingNames(r),o.ValidationCode.SYNTAX_MISSING_NAMES)}static createVariableUnsupportedModifier(e,t,n,r){return Validator.createError(e,t.start,t.end,Validator.getDiagnosticMessage_VariableModifierUnsupported(n,r),o.ValidationCode.UNSUPPORTED_MODIFIER)}static createUnknownInstruction(e,t,n,r){return Validator.createError(e,t,n,Validator.getDiagnosticMessage_InstructionUnknown(r),o.ValidationCode.UNKNOWN_INSTRUCTION)}static createError(e,t,n,i,o,a){return Validator.createDiagnostic(r.DiagnosticSeverity.Error,e,t,n,i,o,a)}static createJSONInSingleQuotes(e,t,n){return n===o.ValidationSeverity.ERROR?Validator.createError(e,t.start,t.end,Validator.getDiagnosticMessage_InstructionJSONInSingleQuotes(),o.ValidationCode.JSON_IN_SINGLE_QUOTES):n===o.ValidationSeverity.WARNING?Validator.createWarning(e,t.start,t.end,Validator.getDiagnosticMessage_InstructionJSONInSingleQuotes(),o.ValidationCode.JSON_IN_SINGLE_QUOTES):null}static createEmptyContinuationLine(e,t,n){return n===o.ValidationSeverity.ERROR?Validator.createError(null,e,t,Validator.getDiagnosticMessage_EmptyContinuationLine(),o.ValidationCode.EMPTY_CONTINUATION_LINE):n===o.ValidationSeverity.WARNING?Validator.createWarning(null,e,t,Validator.getDiagnosticMessage_EmptyContinuationLine(),o.ValidationCode.EMPTY_CONTINUATION_LINE):null}createMultipleInstructions(e,t,n,i){return n===o.ValidationSeverity.ERROR?Validator.createError(e,t.start,t.end,Validator.getDiagnosticMessage_InstructionMultiple(i),o.ValidationCode.MULTIPLE_INSTRUCTIONS,[r.DiagnosticTag.Unnecessary]):n===o.ValidationSeverity.WARNING?Validator.createWarning(e,t.start,t.end,Validator.getDiagnosticMessage_InstructionMultiple(i),o.ValidationCode.MULTIPLE_INSTRUCTIONS,[r.DiagnosticTag.Unnecessary]):null}createLowercaseDirective(e,t){return this.settings.directiveCasing===o.ValidationSeverity.ERROR?Validator.createError(null,e,t,Validator.getDiagnosticMessage_DirectiveCasing(),o.ValidationCode.CASING_DIRECTIVE):this.settings.directiveCasing===o.ValidationSeverity.WARNING?Validator.createWarning(null,e,t,Validator.getDiagnosticMessage_DirectiveCasing(),o.ValidationCode.CASING_DIRECTIVE):null}createUppercaseInstruction(e,t,n){return this.settings.instructionCasing===o.ValidationSeverity.ERROR?Validator.createError(e,t,n,Validator.getDiagnosticMessage_InstructionCasing(),o.ValidationCode.CASING_INSTRUCTION):this.settings.instructionCasing===o.ValidationSeverity.WARNING?Validator.createWarning(e,t,n,Validator.getDiagnosticMessage_InstructionCasing(),o.ValidationCode.CASING_INSTRUCTION):null}createMaintainerDeprecated(e,t,n){return this.settings.deprecatedMaintainer===o.ValidationSeverity.ERROR?Validator.createError(e,t,n,Validator.getDiagnosticMessage_DeprecatedMaintainer(),o.ValidationCode.DEPRECATED_MAINTAINER,[r.DiagnosticTag.Deprecated]):this.settings.deprecatedMaintainer===o.ValidationSeverity.WARNING?Validator.createWarning(e,t,n,Validator.getDiagnosticMessage_DeprecatedMaintainer(),o.ValidationCode.DEPRECATED_MAINTAINER,[r.DiagnosticTag.Deprecated]):null}createWORKDIRNotAbsolute(e,t){return this.settings.instructionWorkdirRelative===o.ValidationSeverity.ERROR?Validator.createError(e,t.start,t.end,Validator.getDiagnosticMessage_WORKDIRPathNotAbsolute(),o.ValidationCode.WORKDIR_IS_NOT_ABSOLUTE):this.settings.instructionWorkdirRelative===o.ValidationSeverity.WARNING?Validator.createWarning(e,t.start,t.end,Validator.getDiagnosticMessage_WORKDIRPathNotAbsolute(),o.ValidationCode.WORKDIR_IS_NOT_ABSOLUTE):null}static createWarning(e,t,n,i,o,a){return Validator.createDiagnostic(r.DiagnosticSeverity.Warning,e,t,n,i,o,a)}static createDiagnostic(e,t,n,r,i,o,a){return{instructionLine:t,range:{start:n,end:r},message:i,severity:e,code:o,tags:a,source:"dockerfile-utils"}}}t.Validator=Validator,Validator.dockerProblems={baseNameEmpty:"base name (${0}) should not be blank",directiveCasing:"Parser directives should be written in lowercase letters",directiveEscapeDuplicated:"only one escape parser directive can be used",directiveEscapeInvalid:"invalid ESCAPE '${0}'. Must be ` or \\",noSourceImage:"No source image provided with `FROM`",emptyContinuationLine:"Empty continuation line",fromRequiresOneOrThreeArguments:"FROM requires either one or three arguments",invalidAs:"Second argument should be AS",invalidPort:"Invalid containerPort: ${0}",invalidProtocol:"Invalid proto: ${0}",invalidReferenceFormat:"invalid reference format",invalidStopSignal:"Invalid signal: ${0}",invalidSyntax:'parsing "${0}": invalid syntax',invalidDestination:"When using ${0} with more than one source file, the destination must be a directory and end with a / or a \\",syntaxMissingEquals:'Syntax error - can\'t find = in "${0}". Must be of the form: name=value',syntaxMissingNames:"${0} names cannot be blank",syntaxMissingSingleQuote:'failed to process "${0}": unexpected end of statement while looking for matching single-quote',syntaxMissingDoubleQuote:'failed to process "${0}": unexpected end of statement while looking for matching double-quote',duplicateBuildStageName:"duplicate name ${0}",invalidBuildStageName:'invalid name for build stage: "${0}", name can\'t start with a number or contain symbols',flagAtLeastOne:"${0} must be at least 1 (not ${1})",flagDuplicate:"Duplicate flag specified: ${0}",flagInvalidDuration:"time: invalid duration ${0}",flagInvalidFrom:"invalid from flag value ${0}: invalid reference format",flagExpectedBooleanValue:"expecting boolean value for flag ${0}, not: ${1}",flagLessThan1ms:'Interval "${0}" cannot be less than 1ms',flagMissingDuration:"time: missing unit in duration ${0}",flagMissingValue:"Missing a value on flag: ${0}",flagUnknown:"Unknown flag: ${0}",flagUnknownUnit:"time: unknown unit ${0} in duration ${1}",instructionExtraArgument:"Instruction has an extra argument",instructionMissingArgument:"Instruction has no arguments",instructionMultiple:"There can only be one ${0} instruction in a Dockerfile or build stage. Only the last one will have an effect.",instructionRequiresOneArgument:"${0} requires exactly one argument",instructionRequiresAtLeastOneArgument:"${0} requires at least one argument",instructionRequiresAtLeastTwoArguments:"${0} requires at least two arguments",instructionRequiresTwoArguments:"${0} must have two arguments",instructionUnnecessaryArgument:"${0} takes no arguments",instructionUnknown:"Unknown instruction: ${0}",instructionCasing:"Instructions should be written in uppercase letters",instructionJSONInSingleQuotes:"Instruction written as a JSON array but is using single quotes instead of double quotes",variableModifierUnsupported:'failed to process "${0}": unsupported modifier (${1}) in substitution',onbuildChainingDisallowed:"Chaining ONBUILD via `ONBUILD ONBUILD` isn't allowed",onbuildTriggerDisallowed:"${0} isn't allowed as an ONBUILD trigger",shellJsonForm:"SHELL requires the arguments to be in JSON form",shellRequiresOne:"SHELL requires at least one argument",deprecatedMaintainer:"MAINTAINER has been deprecated",healthcheckCmdArgumentMissing:"Missing command after HEALTHCHECK CMD",healthcheckTypeUnknown:'Unknown type"${0}" in HEALTHCHECK (try CMD)',workdirPathNotAbsolute:"WORKDIR paths should be absolute"}},87918:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.validate=t.formatOnType=t.formatRange=t.format=t.ValidationSeverity=t.ValidationCode=void 0;const r=n(31040),i=n(69614),o=n(59400);var a,s;!function(e){e[e.CASING_INSTRUCTION=0]="CASING_INSTRUCTION",e[e.CASING_DIRECTIVE=1]="CASING_DIRECTIVE",e[e.ARGUMENT_MISSING=2]="ARGUMENT_MISSING",e[e.ARGUMENT_EXTRA=3]="ARGUMENT_EXTRA",e[e.ARGUMENT_REQUIRES_ONE=4]="ARGUMENT_REQUIRES_ONE",e[e.ARGUMENT_REQUIRES_AT_LEAST_ONE=5]="ARGUMENT_REQUIRES_AT_LEAST_ONE",e[e.ARGUMENT_REQUIRES_TWO=6]="ARGUMENT_REQUIRES_TWO",e[e.ARGUMENT_REQUIRES_AT_LEAST_TWO=7]="ARGUMENT_REQUIRES_AT_LEAST_TWO",e[e.ARGUMENT_REQUIRES_ONE_OR_THREE=8]="ARGUMENT_REQUIRES_ONE_OR_THREE",e[e.ARGUMENT_UNNECESSARY=9]="ARGUMENT_UNNECESSARY",e[e.DUPLICATE_BUILD_STAGE_NAME=10]="DUPLICATE_BUILD_STAGE_NAME",e[e.EMPTY_CONTINUATION_LINE=11]="EMPTY_CONTINUATION_LINE",e[e.INVALID_BUILD_STAGE_NAME=12]="INVALID_BUILD_STAGE_NAME",e[e.FLAG_AT_LEAST_ONE=13]="FLAG_AT_LEAST_ONE",e[e.FLAG_DUPLICATE=14]="FLAG_DUPLICATE",e[e.FLAG_INVALID_DURATION=15]="FLAG_INVALID_DURATION",e[e.FLAG_LESS_THAN_1MS=16]="FLAG_LESS_THAN_1MS",e[e.FLAG_MISSING_DURATION=17]="FLAG_MISSING_DURATION",e[e.FLAG_MISSING_VALUE=18]="FLAG_MISSING_VALUE",e[e.FLAG_UNKNOWN_UNIT=19]="FLAG_UNKNOWN_UNIT",e[e.NO_SOURCE_IMAGE=20]="NO_SOURCE_IMAGE",e[e.INVALID_ESCAPE_DIRECTIVE=21]="INVALID_ESCAPE_DIRECTIVE",e[e.INVALID_AS=22]="INVALID_AS",e[e.INVALID_DESTINATION=23]="INVALID_DESTINATION",e[e.INVALID_PORT=24]="INVALID_PORT",e[e.INVALID_PROTO=25]="INVALID_PROTO",e[e.INVALID_REFERENCE_FORMAT=26]="INVALID_REFERENCE_FORMAT",e[e.INVALID_SIGNAL=27]="INVALID_SIGNAL",e[e.INVALID_SYNTAX=28]="INVALID_SYNTAX",e[e.ONBUILD_CHAINING_DISALLOWED=29]="ONBUILD_CHAINING_DISALLOWED",e[e.ONBUILD_TRIGGER_DISALLOWED=30]="ONBUILD_TRIGGER_DISALLOWED",e[e.SHELL_JSON_FORM=31]="SHELL_JSON_FORM",e[e.SHELL_REQUIRES_ONE=32]="SHELL_REQUIRES_ONE",e[e.SYNTAX_MISSING_EQUALS=33]="SYNTAX_MISSING_EQUALS",e[e.SYNTAX_MISSING_NAMES=34]="SYNTAX_MISSING_NAMES",e[e.SYNTAX_MISSING_SINGLE_QUOTE=35]="SYNTAX_MISSING_SINGLE_QUOTE",e[e.SYNTAX_MISSING_DOUBLE_QUOTE=36]="SYNTAX_MISSING_DOUBLE_QUOTE",e[e.MULTIPLE_INSTRUCTIONS=37]="MULTIPLE_INSTRUCTIONS",e[e.UNKNOWN_INSTRUCTION=38]="UNKNOWN_INSTRUCTION",e[e.UNKNOWN_ADD_FLAG=39]="UNKNOWN_ADD_FLAG",e[e.UNKNOWN_COPY_FLAG=40]="UNKNOWN_COPY_FLAG",e[e.UNKNOWN_FROM_FLAG=41]="UNKNOWN_FROM_FLAG",e[e.UNKNOWN_HEALTHCHECK_FLAG=42]="UNKNOWN_HEALTHCHECK_FLAG",e[e.UNKNOWN_TYPE=43]="UNKNOWN_TYPE",e[e.UNSUPPORTED_MODIFIER=44]="UNSUPPORTED_MODIFIER",e[e.DEPRECATED_MAINTAINER=45]="DEPRECATED_MAINTAINER",e[e.HEALTHCHECK_CMD_ARGUMENT_MISSING=46]="HEALTHCHECK_CMD_ARGUMENT_MISSING",e[e.FLAG_INVALID_FROM_VALUE=47]="FLAG_INVALID_FROM_VALUE",e[e.FLAG_INVALID_LINK_VALUE=48]="FLAG_INVALID_LINK_VALUE",e[e.FLAG_EXPECTED_BOOLEAN_VALUE=48]="FLAG_EXPECTED_BOOLEAN_VALUE",e[e.JSON_IN_SINGLE_QUOTES=49]="JSON_IN_SINGLE_QUOTES",e[e.WORKDIR_IS_NOT_ABSOLUTE=50]="WORKDIR_IS_NOT_ABSOLUTE",e[e.BASE_NAME_EMPTY=51]="BASE_NAME_EMPTY",e[e.DUPLICATED_ESCAPE_DIRECTIVE=52]="DUPLICATED_ESCAPE_DIRECTIVE"}(a||(t.ValidationCode=a={})),function(e){e[e.IGNORE=0]="IGNORE",e[e.WARNING=1]="WARNING",e[e.ERROR=2]="ERROR"}(s||(t.ValidationSeverity=s={})),t.format=function format(e,t){const n=r.TextDocument.create("","",0,e);return(new i.DockerFormatter).formatDocument(n,t)},t.formatRange=function formatRange(e,t,n){const o=r.TextDocument.create("","",0,e);return(new i.DockerFormatter).formatRange(o,t,n)},t.formatOnType=function formatOnType(e,t,n,o){const a=r.TextDocument.create("","",0,e);return(new i.DockerFormatter).formatOnType(a,t,n,o)},t.validate=function validate(e,t){const n=r.TextDocument.create("","",0,e);return new o.Validator(t).validate(n)}},8196:(e,t,n)=>{"use strict";var r,i,o,a,s,c,u,l,g,d,h,m,f,p,v,R,b,D,y,_,k,S,T,C,A,E,P,I;n.r(t),n.d(t,{AnnotatedTextEdit:()=>T,ChangeAnnotation:()=>k,ChangeAnnotationIdentifier:()=>S,CodeAction:()=>oe,CodeActionContext:()=>ie,CodeActionKind:()=>ne,CodeActionTriggerKind:()=>re,CodeDescription:()=>b,CodeLens:()=>ae,Color:()=>g,ColorInformation:()=>d,ColorPresentation:()=>h,Command:()=>y,CompletionItem:()=>j,CompletionItemKind:()=>F,CompletionItemLabelDetails:()=>W,CompletionItemTag:()=>H,CompletionList:()=>K,CreateFile:()=>A,DeleteFile:()=>P,Diagnostic:()=>D,DiagnosticRelatedInformation:()=>p,DiagnosticSeverity:()=>v,DiagnosticTag:()=>R,DocumentHighlight:()=>J,DocumentHighlightKind:()=>z,DocumentLink:()=>ce,DocumentSymbol:()=>te,DocumentUri:()=>r,EOL:()=>Te,FoldingRange:()=>f,FoldingRangeKind:()=>m,FormattingOptions:()=>se,Hover:()=>B,InlayHint:()=>be,InlayHintKind:()=>ve,InlayHintLabelPart:()=>Re,InlineValueContext:()=>pe,InlineValueEvaluatableExpression:()=>fe,InlineValueText:()=>he,InlineValueVariableLookup:()=>me,InsertReplaceEdit:()=>U,InsertTextFormat:()=>V,InsertTextMode:()=>q,Location:()=>u,LocationLink:()=>l,MarkedString:()=>G,MarkupContent:()=>L,MarkupKind:()=>x,OptionalVersionedTextDocumentIdentifier:()=>O,ParameterInformation:()=>$,Position:()=>s,Range:()=>c,RenameFile:()=>E,SelectionRange:()=>ue,SemanticTokenModifiers:()=>ge,SemanticTokenTypes:()=>le,SemanticTokens:()=>de,SignatureInformation:()=>Y,SymbolInformation:()=>Z,SymbolKind:()=>Q,SymbolTag:()=>X,TextDocument:()=>Se,TextDocumentEdit:()=>C,TextDocumentIdentifier:()=>N,TextDocumentItem:()=>w,TextEdit:()=>_,URI:()=>i,VersionedTextDocumentIdentifier:()=>M,WorkspaceChange:()=>ke,WorkspaceEdit:()=>I,WorkspaceFolder:()=>De,WorkspaceSymbol:()=>ee,integer:()=>o,uinteger:()=>a}),function(e){e.is=function is(e){return"string"==typeof e}}(r||(r={})),function(e){e.is=function is(e){return"string"==typeof e}}(i||(i={})),function(e){e.MIN_VALUE=-2147483648,e.MAX_VALUE=2147483647,e.is=function is(t){return"number"==typeof t&&e.MIN_VALUE<=t&&t<=e.MAX_VALUE}}(o||(o={})),function(e){e.MIN_VALUE=0,e.MAX_VALUE=2147483647,e.is=function is(t){return"number"==typeof t&&e.MIN_VALUE<=t&&t<=e.MAX_VALUE}}(a||(a={})),function(e){e.create=function create(e,t){return e===Number.MAX_VALUE&&(e=a.MAX_VALUE),t===Number.MAX_VALUE&&(t=a.MAX_VALUE),{line:e,character:t}},e.is=function is(e){var t=e;return Ce.objectLiteral(t)&&Ce.uinteger(t.line)&&Ce.uinteger(t.character)}}(s||(s={})),function(e){e.create=function create(e,t,n,r){if(Ce.uinteger(e)&&Ce.uinteger(t)&&Ce.uinteger(n)&&Ce.uinteger(r))return{start:s.create(e,t),end:s.create(n,r)};if(s.is(e)&&s.is(t))return{start:e,end:t};throw new Error("Range#create called with invalid arguments[".concat(e,", ").concat(t,", ").concat(n,", ").concat(r,"]"))},e.is=function is(e){var t=e;return Ce.objectLiteral(t)&&s.is(t.start)&&s.is(t.end)}}(c||(c={})),function(e){e.create=function create(e,t){return{uri:e,range:t}},e.is=function is(e){var t=e;return Ce.objectLiteral(t)&&c.is(t.range)&&(Ce.string(t.uri)||Ce.undefined(t.uri))}}(u||(u={})),function(e){e.create=function create(e,t,n,r){return{targetUri:e,targetRange:t,targetSelectionRange:n,originSelectionRange:r}},e.is=function is(e){var t=e;return Ce.objectLiteral(t)&&c.is(t.targetRange)&&Ce.string(t.targetUri)&&c.is(t.targetSelectionRange)&&(c.is(t.originSelectionRange)||Ce.undefined(t.originSelectionRange))}}(l||(l={})),function(e){e.create=function create(e,t,n,r){return{red:e,green:t,blue:n,alpha:r}},e.is=function is(e){var t=e;return Ce.objectLiteral(t)&&Ce.numberRange(t.red,0,1)&&Ce.numberRange(t.green,0,1)&&Ce.numberRange(t.blue,0,1)&&Ce.numberRange(t.alpha,0,1)}}(g||(g={})),function(e){e.create=function create(e,t){return{range:e,color:t}},e.is=function is(e){var t=e;return Ce.objectLiteral(t)&&c.is(t.range)&&g.is(t.color)}}(d||(d={})),function(e){e.create=function create(e,t,n){return{label:e,textEdit:t,additionalTextEdits:n}},e.is=function is(e){var t=e;return Ce.objectLiteral(t)&&Ce.string(t.label)&&(Ce.undefined(t.textEdit)||_.is(t))&&(Ce.undefined(t.additionalTextEdits)||Ce.typedArray(t.additionalTextEdits,_.is))}}(h||(h={})),function(e){e.Comment="comment",e.Imports="imports",e.Region="region"}(m||(m={})),function(e){e.create=function create(e,t,n,r,i,o){var a={startLine:e,endLine:t};return Ce.defined(n)&&(a.startCharacter=n),Ce.defined(r)&&(a.endCharacter=r),Ce.defined(i)&&(a.kind=i),Ce.defined(o)&&(a.collapsedText=o),a},e.is=function is(e){var t=e;return Ce.objectLiteral(t)&&Ce.uinteger(t.startLine)&&Ce.uinteger(t.startLine)&&(Ce.undefined(t.startCharacter)||Ce.uinteger(t.startCharacter))&&(Ce.undefined(t.endCharacter)||Ce.uinteger(t.endCharacter))&&(Ce.undefined(t.kind)||Ce.string(t.kind))}}(f||(f={})),function(e){e.create=function create(e,t){return{location:e,message:t}},e.is=function is(e){var t=e;return Ce.defined(t)&&u.is(t.location)&&Ce.string(t.message)}}(p||(p={})),function(e){e.Error=1,e.Warning=2,e.Information=3,e.Hint=4}(v||(v={})),function(e){e.Unnecessary=1,e.Deprecated=2}(R||(R={})),function(e){e.is=function is(e){var t=e;return Ce.objectLiteral(t)&&Ce.string(t.href)}}(b||(b={})),function(e){e.create=function create(e,t,n,r,i,o){var a={range:e,message:t};return Ce.defined(n)&&(a.severity=n),Ce.defined(r)&&(a.code=r),Ce.defined(i)&&(a.source=i),Ce.defined(o)&&(a.relatedInformation=o),a},e.is=function is(e){var t,n=e;return Ce.defined(n)&&c.is(n.range)&&Ce.string(n.message)&&(Ce.number(n.severity)||Ce.undefined(n.severity))&&(Ce.integer(n.code)||Ce.string(n.code)||Ce.undefined(n.code))&&(Ce.undefined(n.codeDescription)||Ce.string(null===(t=n.codeDescription)||void 0===t?void 0:t.href))&&(Ce.string(n.source)||Ce.undefined(n.source))&&(Ce.undefined(n.relatedInformation)||Ce.typedArray(n.relatedInformation,p.is))}}(D||(D={})),function(e){e.create=function create(e,t){for(var n=[],r=2;r<arguments.length;r++)n[r-2]=arguments[r];var i={title:e,command:t};return Ce.defined(n)&&n.length>0&&(i.arguments=n),i},e.is=function is(e){var t=e;return Ce.defined(t)&&Ce.string(t.title)&&Ce.string(t.command)}}(y||(y={})),function(e){e.replace=function replace(e,t){return{range:e,newText:t}},e.insert=function insert(e,t){return{range:{start:e,end:e},newText:t}},e.del=function del(e){return{range:e,newText:""}},e.is=function is(e){var t=e;return Ce.objectLiteral(t)&&Ce.string(t.newText)&&c.is(t.range)}}(_||(_={})),function(e){e.create=function create(e,t,n){var r={label:e};return void 0!==t&&(r.needsConfirmation=t),void 0!==n&&(r.description=n),r},e.is=function is(e){var t=e;return Ce.objectLiteral(t)&&Ce.string(t.label)&&(Ce.boolean(t.needsConfirmation)||void 0===t.needsConfirmation)&&(Ce.string(t.description)||void 0===t.description)}}(k||(k={})),function(e){e.is=function is(e){var t=e;return Ce.string(t)}}(S||(S={})),function(e){e.replace=function replace(e,t,n){return{range:e,newText:t,annotationId:n}},e.insert=function insert(e,t,n){return{range:{start:e,end:e},newText:t,annotationId:n}},e.del=function del(e,t){return{range:e,newText:"",annotationId:t}},e.is=function is(e){var t=e;return _.is(t)&&(k.is(t.annotationId)||S.is(t.annotationId))}}(T||(T={})),function(e){e.create=function create(e,t){return{textDocument:e,edits:t}},e.is=function is(e){var t=e;return Ce.defined(t)&&O.is(t.textDocument)&&Array.isArray(t.edits)}}(C||(C={})),function(e){e.create=function create(e,t,n){var r={kind:"create",uri:e};return void 0===t||void 0===t.overwrite&&void 0===t.ignoreIfExists||(r.options=t),void 0!==n&&(r.annotationId=n),r},e.is=function is(e){var t=e;return t&&"create"===t.kind&&Ce.string(t.uri)&&(void 0===t.options||(void 0===t.options.overwrite||Ce.boolean(t.options.overwrite))&&(void 0===t.options.ignoreIfExists||Ce.boolean(t.options.ignoreIfExists)))&&(void 0===t.annotationId||S.is(t.annotationId))}}(A||(A={})),function(e){e.create=function create(e,t,n,r){var i={kind:"rename",oldUri:e,newUri:t};return void 0===n||void 0===n.overwrite&&void 0===n.ignoreIfExists||(i.options=n),void 0!==r&&(i.annotationId=r),i},e.is=function is(e){var t=e;return t&&"rename"===t.kind&&Ce.string(t.oldUri)&&Ce.string(t.newUri)&&(void 0===t.options||(void 0===t.options.overwrite||Ce.boolean(t.options.overwrite))&&(void 0===t.options.ignoreIfExists||Ce.boolean(t.options.ignoreIfExists)))&&(void 0===t.annotationId||S.is(t.annotationId))}}(E||(E={})),function(e){e.create=function create(e,t,n){var r={kind:"delete",uri:e};return void 0===t||void 0===t.recursive&&void 0===t.ignoreIfNotExists||(r.options=t),void 0!==n&&(r.annotationId=n),r},e.is=function is(e){var t=e;return t&&"delete"===t.kind&&Ce.string(t.uri)&&(void 0===t.options||(void 0===t.options.recursive||Ce.boolean(t.options.recursive))&&(void 0===t.options.ignoreIfNotExists||Ce.boolean(t.options.ignoreIfNotExists)))&&(void 0===t.annotationId||S.is(t.annotationId))}}(P||(P={})),function(e){e.is=function is(e){var t=e;return t&&(void 0!==t.changes||void 0!==t.documentChanges)&&(void 0===t.documentChanges||t.documentChanges.every((function(e){return Ce.string(e.kind)?A.is(e)||E.is(e)||P.is(e):C.is(e)})))}}(I||(I={}));var N,M,O,w,x,L,F,V,H,U,q,W,j,K,G,B,$,Y,z,J,Q,X,Z,ee,te,ne,re,ie,oe,ae,se,ce,ue,le,ge,de,he,me,fe,pe,ve,Re,be,De,ye=function(){function TextEditChangeImpl(e,t){this.edits=e,this.changeAnnotations=t}return TextEditChangeImpl.prototype.insert=function(e,t,n){var r,i;if(void 0===n?r=_.insert(e,t):S.is(n)?(i=n,r=T.insert(e,t,n)):(this.assertChangeAnnotations(this.changeAnnotations),i=this.changeAnnotations.manage(n),r=T.insert(e,t,i)),this.edits.push(r),void 0!==i)return i},TextEditChangeImpl.prototype.replace=function(e,t,n){var r,i;if(void 0===n?r=_.replace(e,t):S.is(n)?(i=n,r=T.replace(e,t,n)):(this.assertChangeAnnotations(this.changeAnnotations),i=this.changeAnnotations.manage(n),r=T.replace(e,t,i)),this.edits.push(r),void 0!==i)return i},TextEditChangeImpl.prototype.delete=function(e,t){var n,r;if(void 0===t?n=_.del(e):S.is(t)?(r=t,n=T.del(e,t)):(this.assertChangeAnnotations(this.changeAnnotations),r=this.changeAnnotations.manage(t),n=T.del(e,r)),this.edits.push(n),void 0!==r)return r},TextEditChangeImpl.prototype.add=function(e){this.edits.push(e)},TextEditChangeImpl.prototype.all=function(){return this.edits},TextEditChangeImpl.prototype.clear=function(){this.edits.splice(0,this.edits.length)},TextEditChangeImpl.prototype.assertChangeAnnotations=function(e){if(void 0===e)throw new Error("Text edit change is not configured to manage change annotations.")},TextEditChangeImpl}(),_e=function(){function ChangeAnnotations(e){this._annotations=void 0===e?Object.create(null):e,this._counter=0,this._size=0}return ChangeAnnotations.prototype.all=function(){return this._annotations},Object.defineProperty(ChangeAnnotations.prototype,"size",{get:function(){return this._size},enumerable:!1,configurable:!0}),ChangeAnnotations.prototype.manage=function(e,t){var n;if(S.is(e)?n=e:(n=this.nextId(),t=e),void 0!==this._annotations[n])throw new Error("Id ".concat(n," is already in use."));if(void 0===t)throw new Error("No annotation provided for id ".concat(n));return this._annotations[n]=t,this._size++,n},ChangeAnnotations.prototype.nextId=function(){return this._counter++,this._counter.toString()},ChangeAnnotations}(),ke=function(){function WorkspaceChange(e){var t=this;this._textEditChanges=Object.create(null),void 0!==e?(this._workspaceEdit=e,e.documentChanges?(this._changeAnnotations=new _e(e.changeAnnotations),e.changeAnnotations=this._changeAnnotations.all(),e.documentChanges.forEach((function(e){if(C.is(e)){var n=new ye(e.edits,t._changeAnnotations);t._textEditChanges[e.textDocument.uri]=n}}))):e.changes&&Object.keys(e.changes).forEach((function(n){var r=new ye(e.changes[n]);t._textEditChanges[n]=r}))):this._workspaceEdit={}}return Object.defineProperty(WorkspaceChange.prototype,"edit",{get:function(){return this.initDocumentChanges(),void 0!==this._changeAnnotations&&(0===this._changeAnnotations.size?this._workspaceEdit.changeAnnotations=void 0:this._workspaceEdit.changeAnnotations=this._changeAnnotations.all()),this._workspaceEdit},enumerable:!1,configurable:!0}),WorkspaceChange.prototype.getTextEditChange=function(e){if(O.is(e)){if(this.initDocumentChanges(),void 0===this._workspaceEdit.documentChanges)throw new Error("Workspace edit is not configured for document changes.");var t={uri:e.uri,version:e.version};if(!(r=this._textEditChanges[t.uri])){var n={textDocument:t,edits:i=[]};this._workspaceEdit.documentChanges.push(n),r=new ye(i,this._changeAnnotations),this._textEditChanges[t.uri]=r}return r}if(this.initChanges(),void 0===this._workspaceEdit.changes)throw new Error("Workspace edit is not configured for normal text edit changes.");var r;if(!(r=this._textEditChanges[e])){var i=[];this._workspaceEdit.changes[e]=i,r=new ye(i),this._textEditChanges[e]=r}return r},WorkspaceChange.prototype.initDocumentChanges=function(){void 0===this._workspaceEdit.documentChanges&&void 0===this._workspaceEdit.changes&&(this._changeAnnotations=new _e,this._workspaceEdit.documentChanges=[],this._workspaceEdit.changeAnnotations=this._changeAnnotations.all())},WorkspaceChange.prototype.initChanges=function(){void 0===this._workspaceEdit.documentChanges&&void 0===this._workspaceEdit.changes&&(this._workspaceEdit.changes=Object.create(null))},WorkspaceChange.prototype.createFile=function(e,t,n){if(this.initDocumentChanges(),void 0===this._workspaceEdit.documentChanges)throw new Error("Workspace edit is not configured for document changes.");var r,i,o;if(k.is(t)||S.is(t)?r=t:n=t,void 0===r?i=A.create(e,n):(o=S.is(r)?r:this._changeAnnotations.manage(r),i=A.create(e,n,o)),this._workspaceEdit.documentChanges.push(i),void 0!==o)return o},WorkspaceChange.prototype.renameFile=function(e,t,n,r){if(this.initDocumentChanges(),void 0===this._workspaceEdit.documentChanges)throw new Error("Workspace edit is not configured for document changes.");var i,o,a;if(k.is(n)||S.is(n)?i=n:r=n,void 0===i?o=E.create(e,t,r):(a=S.is(i)?i:this._changeAnnotations.manage(i),o=E.create(e,t,r,a)),this._workspaceEdit.documentChanges.push(o),void 0!==a)return a},WorkspaceChange.prototype.deleteFile=function(e,t,n){if(this.initDocumentChanges(),void 0===this._workspaceEdit.documentChanges)throw new Error("Workspace edit is not configured for document changes.");var r,i,o;if(k.is(t)||S.is(t)?r=t:n=t,void 0===r?i=P.create(e,n):(o=S.is(r)?r:this._changeAnnotations.manage(r),i=P.create(e,n,o)),this._workspaceEdit.documentChanges.push(i),void 0!==o)return o},WorkspaceChange}();!function(e){e.create=function create(e){return{uri:e}},e.is=function is(e){var t=e;return Ce.defined(t)&&Ce.string(t.uri)}}(N||(N={})),function(e){e.create=function create(e,t){return{uri:e,version:t}},e.is=function is(e){var t=e;return Ce.defined(t)&&Ce.string(t.uri)&&Ce.integer(t.version)}}(M||(M={})),function(e){e.create=function create(e,t){return{uri:e,version:t}},e.is=function is(e){var t=e;return Ce.defined(t)&&Ce.string(t.uri)&&(null===t.version||Ce.integer(t.version))}}(O||(O={})),function(e){e.create=function create(e,t,n,r){return{uri:e,languageId:t,version:n,text:r}},e.is=function is(e){var t=e;return Ce.defined(t)&&Ce.string(t.uri)&&Ce.string(t.languageId)&&Ce.integer(t.version)&&Ce.string(t.text)}}(w||(w={})),function(e){e.PlainText="plaintext",e.Markdown="markdown",e.is=function is(t){var n=t;return n===e.PlainText||n===e.Markdown}}(x||(x={})),function(e){e.is=function is(e){var t=e;return Ce.objectLiteral(e)&&x.is(t.kind)&&Ce.string(t.value)}}(L||(L={})),function(e){e.Text=1,e.Method=2,e.Function=3,e.Constructor=4,e.Field=5,e.Variable=6,e.Class=7,e.Interface=8,e.Module=9,e.Property=10,e.Unit=11,e.Value=12,e.Enum=13,e.Keyword=14,e.Snippet=15,e.Color=16,e.File=17,e.Reference=18,e.Folder=19,e.EnumMember=20,e.Constant=21,e.Struct=22,e.Event=23,e.Operator=24,e.TypeParameter=25}(F||(F={})),function(e){e.PlainText=1,e.Snippet=2}(V||(V={})),function(e){e.Deprecated=1}(H||(H={})),function(e){e.create=function create(e,t,n){return{newText:e,insert:t,replace:n}},e.is=function is(e){var t=e;return t&&Ce.string(t.newText)&&c.is(t.insert)&&c.is(t.replace)}}(U||(U={})),function(e){e.asIs=1,e.adjustIndentation=2}(q||(q={})),function(e){e.is=function is(e){var t=e;return t&&(Ce.string(t.detail)||void 0===t.detail)&&(Ce.string(t.description)||void 0===t.description)}}(W||(W={})),function(e){e.create=function create(e){return{label:e}}}(j||(j={})),function(e){e.create=function create(e,t){return{items:e||[],isIncomplete:!!t}}}(K||(K={})),function(e){e.fromPlainText=function fromPlainText(e){return e.replace(/[\\`*_{}[\]()#+\-.!]/g,"\\$&")},e.is=function is(e){var t=e;return Ce.string(t)||Ce.objectLiteral(t)&&Ce.string(t.language)&&Ce.string(t.value)}}(G||(G={})),function(e){e.is=function is(e){var t=e;return!!t&&Ce.objectLiteral(t)&&(L.is(t.contents)||G.is(t.contents)||Ce.typedArray(t.contents,G.is))&&(void 0===e.range||c.is(e.range))}}(B||(B={})),function(e){e.create=function create(e,t){return t?{label:e,documentation:t}:{label:e}}}($||($={})),function(e){e.create=function create(e,t){for(var n=[],r=2;r<arguments.length;r++)n[r-2]=arguments[r];var i={label:e};return Ce.defined(t)&&(i.documentation=t),Ce.defined(n)?i.parameters=n:i.parameters=[],i}}(Y||(Y={})),function(e){e.Text=1,e.Read=2,e.Write=3}(z||(z={})),function(e){e.create=function create(e,t){var n={range:e};return Ce.number(t)&&(n.kind=t),n}}(J||(J={})),function(e){e.File=1,e.Module=2,e.Namespace=3,e.Package=4,e.Class=5,e.Method=6,e.Property=7,e.Field=8,e.Constructor=9,e.Enum=10,e.Interface=11,e.Function=12,e.Variable=13,e.Constant=14,e.String=15,e.Number=16,e.Boolean=17,e.Array=18,e.Object=19,e.Key=20,e.Null=21,e.EnumMember=22,e.Struct=23,e.Event=24,e.Operator=25,e.TypeParameter=26}(Q||(Q={})),function(e){e.Deprecated=1}(X||(X={})),function(e){e.create=function create(e,t,n,r,i){var o={name:e,kind:t,location:{uri:r,range:n}};return i&&(o.containerName=i),o}}(Z||(Z={})),function(e){e.create=function create(e,t,n,r){return void 0!==r?{name:e,kind:t,location:{uri:n,range:r}}:{name:e,kind:t,location:{uri:n}}}}(ee||(ee={})),function(e){e.create=function create(e,t,n,r,i,o){var a={name:e,detail:t,kind:n,range:r,selectionRange:i};return void 0!==o&&(a.children=o),a},e.is=function is(e){var t=e;return t&&Ce.string(t.name)&&Ce.number(t.kind)&&c.is(t.range)&&c.is(t.selectionRange)&&(void 0===t.detail||Ce.string(t.detail))&&(void 0===t.deprecated||Ce.boolean(t.deprecated))&&(void 0===t.children||Array.isArray(t.children))&&(void 0===t.tags||Array.isArray(t.tags))}}(te||(te={})),function(e){e.Empty="",e.QuickFix="quickfix",e.Refactor="refactor",e.RefactorExtract="refactor.extract",e.RefactorInline="refactor.inline",e.RefactorRewrite="refactor.rewrite",e.Source="source",e.SourceOrganizeImports="source.organizeImports",e.SourceFixAll="source.fixAll"}(ne||(ne={})),function(e){e.Invoked=1,e.Automatic=2}(re||(re={})),function(e){e.create=function create(e,t,n){var r={diagnostics:e};return null!=t&&(r.only=t),null!=n&&(r.triggerKind=n),r},e.is=function is(e){var t=e;return Ce.defined(t)&&Ce.typedArray(t.diagnostics,D.is)&&(void 0===t.only||Ce.typedArray(t.only,Ce.string))&&(void 0===t.triggerKind||t.triggerKind===re.Invoked||t.triggerKind===re.Automatic)}}(ie||(ie={})),function(e){e.create=function create(e,t,n){var r={title:e},i=!0;return"string"==typeof t?(i=!1,r.kind=t):y.is(t)?r.command=t:r.edit=t,i&&void 0!==n&&(r.kind=n),r},e.is=function is(e){var t=e;return t&&Ce.string(t.title)&&(void 0===t.diagnostics||Ce.typedArray(t.diagnostics,D.is))&&(void 0===t.kind||Ce.string(t.kind))&&(void 0!==t.edit||void 0!==t.command)&&(void 0===t.command||y.is(t.command))&&(void 0===t.isPreferred||Ce.boolean(t.isPreferred))&&(void 0===t.edit||I.is(t.edit))}}(oe||(oe={})),function(e){e.create=function create(e,t){var n={range:e};return Ce.defined(t)&&(n.data=t),n},e.is=function is(e){var t=e;return Ce.defined(t)&&c.is(t.range)&&(Ce.undefined(t.command)||y.is(t.command))}}(ae||(ae={})),function(e){e.create=function create(e,t){return{tabSize:e,insertSpaces:t}},e.is=function is(e){var t=e;return Ce.defined(t)&&Ce.uinteger(t.tabSize)&&Ce.boolean(t.insertSpaces)}}(se||(se={})),function(e){e.create=function create(e,t,n){return{range:e,target:t,data:n}},e.is=function is(e){var t=e;return Ce.defined(t)&&c.is(t.range)&&(Ce.undefined(t.target)||Ce.string(t.target))}}(ce||(ce={})),function(e){e.create=function create(e,t){return{range:e,parent:t}},e.is=function is(t){var n=t;return Ce.objectLiteral(n)&&c.is(n.range)&&(void 0===n.parent||e.is(n.parent))}}(ue||(ue={})),function(e){e.namespace="namespace",e.type="type",e.class="class",e.enum="enum",e.interface="interface",e.struct="struct",e.typeParameter="typeParameter",e.parameter="parameter",e.variable="variable",e.property="property",e.enumMember="enumMember",e.event="event",e.function="function",e.method="method",e.macro="macro",e.keyword="keyword",e.modifier="modifier",e.comment="comment",e.string="string",e.number="number",e.regexp="regexp",e.operator="operator",e.decorator="decorator"}(le||(le={})),function(e){e.declaration="declaration",e.definition="definition",e.readonly="readonly",e.static="static",e.deprecated="deprecated",e.abstract="abstract",e.async="async",e.modification="modification",e.documentation="documentation",e.defaultLibrary="defaultLibrary"}(ge||(ge={})),function(e){e.is=function is(e){var t=e;return Ce.objectLiteral(t)&&(void 0===t.resultId||"string"==typeof t.resultId)&&Array.isArray(t.data)&&(0===t.data.length||"number"==typeof t.data[0])}}(de||(de={})),function(e){e.create=function create(e,t){return{range:e,text:t}},e.is=function is(e){var t=e;return null!=t&&c.is(t.range)&&Ce.string(t.text)}}(he||(he={})),function(e){e.create=function create(e,t,n){return{range:e,variableName:t,caseSensitiveLookup:n}},e.is=function is(e){var t=e;return null!=t&&c.is(t.range)&&Ce.boolean(t.caseSensitiveLookup)&&(Ce.string(t.variableName)||void 0===t.variableName)}}(me||(me={})),function(e){e.create=function create(e,t){return{range:e,expression:t}},e.is=function is(e){var t=e;return null!=t&&c.is(t.range)&&(Ce.string(t.expression)||void 0===t.expression)}}(fe||(fe={})),function(e){e.create=function create(e,t){return{frameId:e,stoppedLocation:t}},e.is=function is(e){var t=e;return Ce.defined(t)&&c.is(e.stoppedLocation)}}(pe||(pe={})),function(e){e.Type=1,e.Parameter=2,e.is=function is(e){return 1===e||2===e}}(ve||(ve={})),function(e){e.create=function create(e){return{value:e}},e.is=function is(e){var t=e;return Ce.objectLiteral(t)&&(void 0===t.tooltip||Ce.string(t.tooltip)||L.is(t.tooltip))&&(void 0===t.location||u.is(t.location))&&(void 0===t.command||y.is(t.command))}}(Re||(Re={})),function(e){e.create=function create(e,t,n){var r={position:e,label:t};return void 0!==n&&(r.kind=n),r},e.is=function is(e){var t=e;return Ce.objectLiteral(t)&&s.is(t.position)&&(Ce.string(t.label)||Ce.typedArray(t.label,Re.is))&&(void 0===t.kind||ve.is(t.kind))&&void 0===t.textEdits||Ce.typedArray(t.textEdits,_.is)&&(void 0===t.tooltip||Ce.string(t.tooltip)||L.is(t.tooltip))&&(void 0===t.paddingLeft||Ce.boolean(t.paddingLeft))&&(void 0===t.paddingRight||Ce.boolean(t.paddingRight))}}(be||(be={})),function(e){e.is=function is(e){var t=e;return Ce.objectLiteral(t)&&i.is(t.uri)&&Ce.string(t.name)}}(De||(De={}));var Se,Te=["\n","\r\n","\r"];!function(e){function mergeSort(e,t){if(e.length<=1)return e;var n=e.length/2|0,r=e.slice(0,n),i=e.slice(n);mergeSort(r,t),mergeSort(i,t);for(var o=0,a=0,s=0;o<r.length&&a<i.length;){var c=t(r[o],i[a]);e[s++]=c<=0?r[o++]:i[a++]}for(;o<r.length;)e[s++]=r[o++];for(;a<i.length;)e[s++]=i[a++];return e}e.create=function create(e,t,n,r){return new Ae(e,t,n,r)},e.is=function is(e){var t=e;return!!(Ce.defined(t)&&Ce.string(t.uri)&&(Ce.undefined(t.languageId)||Ce.string(t.languageId))&&Ce.uinteger(t.lineCount)&&Ce.func(t.getText)&&Ce.func(t.positionAt)&&Ce.func(t.offsetAt))},e.applyEdits=function applyEdits(e,t){for(var n=e.getText(),r=mergeSort(t,(function(e,t){var n=e.range.start.line-t.range.start.line;return 0===n?e.range.start.character-t.range.start.character:n})),i=n.length,o=r.length-1;o>=0;o--){var a=r[o],s=e.offsetAt(a.range.start),c=e.offsetAt(a.range.end);if(!(c<=i))throw new Error("Overlapping edit");n=n.substring(0,s)+a.newText+n.substring(c,n.length),i=s}return n}}(Se||(Se={}));var Ce,Ae=function(){function FullTextDocument(e,t,n,r){this._uri=e,this._languageId=t,this._version=n,this._content=r,this._lineOffsets=void 0}return Object.defineProperty(FullTextDocument.prototype,"uri",{get:function(){return this._uri},enumerable:!1,configurable:!0}),Object.defineProperty(FullTextDocument.prototype,"languageId",{get:function(){return this._languageId},enumerable:!1,configurable:!0}),Object.defineProperty(FullTextDocument.prototype,"version",{get:function(){return this._version},enumerable:!1,configurable:!0}),FullTextDocument.prototype.getText=function(e){if(e){var t=this.offsetAt(e.start),n=this.offsetAt(e.end);return this._content.substring(t,n)}return this._content},FullTextDocument.prototype.update=function(e,t){this._content=e.text,this._version=t,this._lineOffsets=void 0},FullTextDocument.prototype.getLineOffsets=function(){if(void 0===this._lineOffsets){for(var e=[],t=this._content,n=!0,r=0;r<t.length;r++){n&&(e.push(r),n=!1);var i=t.charAt(r);n="\r"===i||"\n"===i,"\r"===i&&r+1<t.length&&"\n"===t.charAt(r+1)&&r++}n&&t.length>0&&e.push(t.length),this._lineOffsets=e}return this._lineOffsets},FullTextDocument.prototype.positionAt=function(e){e=Math.max(Math.min(e,this._content.length),0);var t=this.getLineOffsets(),n=0,r=t.length;if(0===r)return s.create(0,e);for(;n<r;){var i=Math.floor((n+r)/2);t[i]>e?r=i:n=i+1}var o=n-1;return s.create(o,e-t[o])},FullTextDocument.prototype.offsetAt=function(e){var t=this.getLineOffsets();if(e.line>=t.length)return this._content.length;if(e.line<0)return 0;var n=t[e.line],r=e.line+1<t.length?t[e.line+1]:this._content.length;return Math.max(Math.min(n+e.character,r),n)},Object.defineProperty(FullTextDocument.prototype,"lineCount",{get:function(){return this.getLineOffsets().length},enumerable:!1,configurable:!0}),FullTextDocument}();!function(e){var t=Object.prototype.toString;e.defined=function defined(e){return void 0!==e},e.undefined=function undefined(e){return void 0===e},e.boolean=function boolean(e){return!0===e||!1===e},e.string=function string(e){return"[object String]"===t.call(e)},e.number=function number(e){return"[object Number]"===t.call(e)},e.numberRange=function numberRange(e,n,r){return"[object Number]"===t.call(e)&&n<=e&&e<=r},e.integer=function integer(e){return"[object Number]"===t.call(e)&&-2147483648<=e&&e<=2147483647},e.uinteger=function uinteger(e){return"[object Number]"===t.call(e)&&0<=e&&e<=2147483647},e.func=function func(e){return"[object Function]"===t.call(e)},e.objectLiteral=function objectLiteral(e){return null!==e&&"object"==typeof e},e.typedArray=function typedArray(e,t){return Array.isArray(e)&&e.every(t)}}(Ce||(Ce={}))},54513:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Util=t.KEYWORDS=void 0,t.KEYWORDS=["ADD","ARG","CMD","COPY","ENTRYPOINT","ENV","EXPOSE","FROM","HEALTHCHECK","LABEL","MAINTAINER","ONBUILD","RUN","SHELL","STOPSIGNAL","USER","VOLUME","WORKDIR"];var n=function(){function Util(){}return Util.isWhitespace=function(e){return" "===e||"\t"===e||Util.isNewline(e)},Util.isNewline=function(e){return"\r"===e||"\n"===e},Util.isInsideRange=function(e,t){return null!==t&&(t.start.line===t.end.line?t.start.line===e.line&&t.start.character<=e.character&&e.character<=t.end.character:t.start.line===e.line?t.start.character<=e.character:t.end.line===e.line?e.character<=t.end.character:t.start.line<e.line&&e.line<t.end.line)},Util.rangeEquals=function(e,t){return Util.positionEquals(e.start,t.start)&&Util.positionEquals(e.end,t.end)},Util.positionEquals=function(e,t){return e.line==t.line&&e.character===t.character},Util.positionBefore=function(e,t){return e.line<t.line||!(e.line>t.line)&&e.character<t.character},Util}();t.Util=n},23012:function(e,t,n){var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))((function(i,o){function fulfilled(e){try{step(r.next(e))}catch(e){o(e)}}function rejected(e){try{step(r.throw(e))}catch(e){o(e)}}function step(e){e.done?i(e.value):function adopt(e){return e instanceof n?e:new n((function(t){t(e)}))}(e.value).then(fulfilled,rejected)}step((r=r.apply(e,t||[])).next())}))},i=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:verb(0),throw:verb(1),return:verb(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function verb(s){return function(c){return function step(s){if(n)throw new TypeError("Generator is already executing.");for(;o&&(o=0,s[0]&&(a=0)),a;)try{if(n=1,r&&(i=2&s[0]?r.return:s[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,s[1])).done)return i;switch(r=0,i&&(s=[2&s[0],i.value]),s[0]){case 0:case 1:i=s;break;case 4:return a.label++,{value:s[1],done:!1};case 5:a.label++,r=s[1],s=[0];continue;case 7:s=a.ops.pop(),a.trys.pop();continue;default:if(!(i=a.trys,(i=i.length>0&&i[i.length-1])||6!==s[0]&&2!==s[0])){a=0;continue}if(3===s[0]&&(!i||s[1]>i[0]&&s[1]<i[3])){a.label=s[1];break}if(6===s[0]&&a.label<i[1]){a.label=i[1],i=s;break}if(i&&a.label<i[2]){a.label=i[2],a.ops.push(s);break}i[2]&&a.ops.pop(),a.trys.pop();continue}s=t.call(e,a)}catch(e){s=[6,e],r=0}finally{n=i=0}if(5&s[0])throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}([s,c])}}};Object.defineProperty(t,"__esModule",{value:!0}),t.DockerAssist=void 0;var o=n(28661),a=n(54513),s=n(243),c=function(){function DockerAssist(e,t,n){this.document=e,this.dockerRegistryClient=t,this.deprecatedSupport=n&&n.deprecatedSupport,this.snippetSupport=n&&n.snippetSupport,this.supportedTags=n&&n.tagSupport&&n.tagSupport.valueSet}return DockerAssist.prototype.computeProposals=function(e){for(var t=this.document.getText(),n=this.document.offsetAt(e),r=s.DockerfileParser.parse(t),i=r.getEscapeCharacter(),o=-1,c=0,u=r.getDirectives();c<u.length;c++){var l=u[c];if(o=(R=l.getNameRange()).start.line,e.line===o){if(e.character<=R.start.character)return[this.createEscape(0,n,s.Directive.escape),this.createSyntax(0,n,s.Directive.syntax)];if(e.character<=R.end.character){var g=l.getName().substring(0,e.character-R.start.character);if(g=g.toLowerCase(),0===s.Directive.escape.indexOf(g))return[this.createEscape(g.length,n,s.Directive.escape)];if(0===s.Directive.syntax.indexOf(g))return[this.createSyntax(g.length,n,s.Directive.syntax)]}return[]}}var d=r.getComments();if(0!==d.length)if(e.line===o+1){var h=d[0].getRange();if(h.start.line===e.line&&h.start.character<e.character){if(null===(R=d[0].getContentRange())||e.character<=R.start.character)return[this.createEscape(0,n,s.Directive.escape),this.createSyntax(0,n,s.Directive.syntax)];var m=d[0].getContent();if(e.character<=R.end.character){var f=m.substring(0,e.character-R.start.character);if(0===s.Directive.escape.indexOf(f.toLowerCase()))return[this.createEscape(f.length,n,s.Directive.escape)];if(0===s.Directive.syntax.indexOf(f.toLowerCase()))return[this.createSyntax(f.length,n,s.Directive.syntax)]}return[]}}else for(var p=0,v=d;p<v.length;p++){var R;if((R=(m=v[p]).getRange()).start.line===e.line&&R.start.character<e.character&&e.character<=R.end.character)return[]}var b=this.calculateTruePrefix(r,t,n,i);if(""!==b.content){var D=b.content.lastIndexOf("$");if(-1!==D&&"\\"!==b.content.charAt(D-1)){var y=b.content.substring(D+1).toLowerCase(),_=y.length+1,k=[];if(""===y){for(var S=0,T=r.getAvailableVariables(e.line);S<T.length;S++){var C=T[S],A=r.resolveVariable(C,e.line);k.push(this.createVariableCompletionItem(C,_,n,!0,A))}for(var E=0,P=s.DefaultVariables;E<P.length;E++){C=P[E],A=r.resolveVariable(C,e.line);k.push(this.createVariableCompletionItem(C,_,n,!0,A))}}else{var I=!1;"{"===y.charAt(0)&&(I=!0,y=y.substring(1));for(var N=r.getAvailableVariables(e.line),M=0,O=s.DefaultVariables;M<O.length;M++){C=O[M];-1===N.indexOf(C)&&N.push(C)}for(var w=0,x=N;w<x.length;w++){if(0===(C=x[w]).toLowerCase().indexOf(y)){A=r.resolveVariable(C,e.line);k.push(this.createVariableCompletionItem(C,_,n,I,A))}}}return k.sort((function(e,t){return e.label.toLowerCase()===t.label.toLowerCase()?-1*e.label.localeCompare(t.label):e.label.localeCompare(t.label)})),k}}var L="";e:for(var F=0,V=r.getInstructions();F<V.length;F++){var H=V[F];if(a.Util.isInsideRange(e,H.getInstructionRange())||b.content===H.getKeyword())break;if(a.Util.isInsideRange(e,H.getRange()))switch(H.getKeyword()){case"ADD":return this.createAddProposals(r,H,e,n,b.content);case"COPY":return this.createCopyProposals(r,H,e,n,b.content);case"FROM":return this.createFromProposals(H,e,n,b.content);case"HEALTHCHECK":var U=H.getSubcommand();return U&&U.isBefore(e)?[]:this.createHealthcheckProposals(n,b.content);case"ONBUILD":var q=H.getArguments();if(0===q.length||a.Util.isInsideRange(e,q[0].getRange())){L="ONBUILD";break e}var W=H.getTriggerInstruction();switch(W.getKeyword()){case"ADD":return this.createAddProposals(r,W,e,n,b.content);case"COPY":return this.createCopyProposals(r,W,e,n,b.content);case"HEALTHCHECK":var j=W.getSubcommand();return j&&j.isBefore(e)?[]:this.createHealthcheckProposals(n,b.content)}return[];default:return[]}}if(""===b.content)return 0===r.getInstructions().length?[this.createFROM(0,n,"FROM")]:this.createProposals(a.KEYWORDS,L,0,n);for(var K=[],G=b.content.toUpperCase(),B=0;B<a.KEYWORDS.length;B++){if(a.KEYWORDS[B]===G)return[];0===a.KEYWORDS[B].indexOf(G)&&K.push(a.KEYWORDS[B])}return 0===K.length?[]:this.createProposals(K,L,n-b.offset,n)},DockerAssist.prototype.createProposals=function(e,t,n,r){for(var i=[],o=0;o<e.length;o++)switch(e[o]){case"ARG":this.snippetSupport?(i.push(this.createARG_NameOnly(n,r)),i.push(this.createARG_DefaultValue(n,r))):i.push(this.createARG(n,r));break;case"HEALTHCHECK":i.push(this.createHEALTHCHECK_CMD(n,r)),i.push(this.createHEALTHCHECK_NONE(n,r));break;case"FROM":case"MAINTAINER":case"ONBUILD":if(t)break;default:i.push(this.createSingleProposals(e[o],n,r))}return i},DockerAssist.prototype.createAddProposals=function(e,t,n,r,i){var o=new Map;o.set("chown",this.createADD_FlagChown.bind(this));var a=t.getArguments(),s=this.createFlagProposals(t.getFlags(),a,n,r,i,o);return null!==s?s:this.createTargetFolderProposals(e,a,n,r,i)},DockerAssist.prototype.createOtherFlagProposals=function(e,t,n,r,i){if(0===n.length)return t;if(n.length===e.size)return[];var o=[];return e.forEach((function(e,t){-1===n.indexOf(t)&&o.push(t)})),o.map((function(t){return e.get(t)(r,i)}))},DockerAssist.prototype.createFlagProposals=function(e,t,n,r,i,o){var s=[];o.forEach((function(e){s.push(e(i.length,r))}));var c=!0;t.length>0&&a.Util.positionBefore(t[0].getRange().start,this.document.positionAt(r))&&(c=!1);for(var u=[],l=!1,g=0,d=e;g<d.length;g++){var h=d[g],m=h.getName();o.has(m)&&u.push(m),a.Util.isInsideRange(n,h.getRange())&&(l=!0)}if(l){if("--"===i)return this.createOtherFlagProposals(o,s,u,i.length,r);var f=null;if(o.forEach((function(e,t){0==="--".concat(t,"=").indexOf(i)&&(f=e(i.length,r))})),null!==f)return[f]}return c||t.length>0&&a.Util.isInsideRange(n,t[0].getRange())&&"-"===i?this.createOtherFlagProposals(o,s,u,i.length,r):null},DockerAssist.prototype.createCopyProposals=function(e,t,n,r,i){var o=t.getFromFlag();if(o&&a.Util.isInsideRange(n,o.getValueRange())){for(var s={},c=[],u=0,l=!1,g=this.document.getText().substring(this.document.offsetAt(o.getValueRange().start),r).toLowerCase(),d=0,h=e.getFROMs();d<h.length;d++){var m=h[d];if(!t.isAfter(m))break;var f=m.getImage(),p=m.getBuildStage();if(p){var v=p.toLowerCase();0!==v.indexOf(g)||s[v]||(s[v]=!0,c.push(this.createSourceImageCompletionItem(p,f,u,g.length,r))),l=!1}else s[u]||(s[u]=!0,c.push(this.createSourceImageCompletionItem(u.toString(),f,u,g.length,r)),l=!0);u++}return l&&c.length>0&&c.pop(),c}var R=new Map;R.set("chown",this.createCOPY_FlagChown.bind(this)),R.set("from",this.createCOPY_FlagFrom.bind(this));var b=t.getArguments(),D=this.createFlagProposals(t.getFlags(),b,n,r,i,R);return null!==D?D:this.createTargetFolderProposals(e,b,n,r,i)},DockerAssist.prototype.createTargetFolderProposals=function(e,t,n,r,i){if(1===t.length)return a.Util.positionBefore(t[0].getRange().end,n)?this.createWorkdirPathProposals(e,n,r,i):[];var o=t[t.length-1].getRange();return a.Util.isInsideRange(n,o)||a.Util.positionBefore(o.end,n)?this.createWorkdirPathProposals(e,n,r,i):[]},DockerAssist.prototype.createWorkdirPathProposals=function(e,t,n,r){for(var i=[],a=0,s=e.getAvailableWorkingDirectories(t.line);a<s.length;a++){var c=s[a];c.startsWith(r)&&i.push(this.createPlainTextCompletionItem(c,r.length,n,c,o.CompletionItemKind.Folder))}return i},DockerAssist.prototype.createFromProposals=function(e,t,n,s){var c=this;if(a.Util.isInsideRange(t,e.getImageTagRange())){var u=s.indexOf(":"),l=s.indexOf(":");s=u===l?s.substring(u+1):s.substring(u+1,l);var g=this.dockerRegistryClient;return new Promise((function(n){return r(c,void 0,void 0,(function(){var r,a,c,u,l;return i(this,(function(i){switch(i.label){case 0:return r=[],[4,g.getTags(e.getImageName())];case 1:for(a=i.sent(),c=0,u=a;c<u.length;c++)0===(l=u[c]).indexOf(s)&&r.push({textEdit:this.createTextEdit(s.length,this.document.offsetAt(t),l),label:l,kind:o.CompletionItemKind.Property,insertTextFormat:o.InsertTextFormat.PlainText});return n(r),[2]}}))}))}))}var d=e.getArguments();return d.length>0&&d[0].isBefore(t)?[]:0==="--platform".indexOf(s)?[this.createFROM_FlagPlatform(s.length,n)]:[]},DockerAssist.prototype.createHealthcheckProposals=function(e,t){var n=[];t.length<3&&0==="CMD".indexOf(t.toUpperCase())&&n.push(this.createHEALTHCHECK_CMD_Subcommand(t.length,e)),t.length<4&&0==="NONE".indexOf(t.toUpperCase())&&n.push(this.createHEALTHCHECK_NONE_Subcommand(t.length,e)),0==="--interval".indexOf(t)&&n.push(this.createHEALTHCHECK_FlagInterval(t.length,e)),0==="--retries".indexOf(t)&&n.push(this.createHEALTHCHECK_FlagRetries(t.length,e)),0==="--start-interval".indexOf(t)&&n.push(this.createHEALTHCHECK_FlagStartInterval(t.length,e)),0==="--start-period".indexOf(t)&&n.push(this.createHEALTHCHECK_FlagStartPeriod(t.length,e)),0==="--timeout".indexOf(t)&&n.push(this.createHEALTHCHECK_FlagTimeout(t.length,e));for(var r=0;r<n.length;r++)n[r].sortText=r.toString();return n},DockerAssist.prototype.calculateTruePrefix=function(e,t,n,r){var i=t.charAt(n-1),o=!0;switch(i){case"\n":var c="";e:for(var u=n-2;u>=0;u--)switch(t.charAt(u)){case" ":case"\t":if(!o)break e;break;case"\r":case"\n":o=!0;break;case r:if(o){o=!1;continue}break;default:if(o)break e;n=u,c=t.charAt(u).toUpperCase()+c}if(""!==c)return{content:c,offset:n};break;case"\r":case" ":case"\t":break;default:o=!1;for(var l=i,g=n-2;g>=0;g--)if(i=t.charAt(g),a.Util.isNewline(i))o=!0;else{if(a.Util.isWhitespace(i)){if(o)continue;break}if(i===r){if(o){o=!1;continue}}else if(o)break;l=i+l}for(var d=0,h=e.getInstructions();d<h.length;d++){var m=h[d],f=m.getInstructionRange(),p=this.document.offsetAt(f.start);if(p<=n&&n<=this.document.offsetAt(f.end))return{content:l,offset:p};for(var v=0,R=m.getArguments();v<R.length;v++){var b=R[v].getRange(),D=this.document.offsetAt(b.start);if(D<=n&&n<=this.document.offsetAt(b.end))return{content:l,offset:D}}if(m instanceof s.ModifiableInstruction)for(var y=0,_=m.getFlags();y<_.length;y++){var k=_[y].getRange(),S=this.document.offsetAt(k.start);if(S<=n&&n<=this.document.offsetAt(k.end))return{content:l,offset:S}}}}return{content:"",offset:n}},DockerAssist.prototype.createSingleProposals=function(e,t,n){switch(e){case"ADD":return this.createADD(t,n,e);case"CMD":return this.createCMD(t,n,e);case"COPY":return this.createCOPY(t,n,e);case"ENTRYPOINT":return this.createENTRYPOINT(t,n,e);case"ENV":return this.createENV(t,n,e);case"EXPOSE":return this.createEXPOSE(t,n,e);case"FROM":return this.createFROM(t,n,e);case"LABEL":return this.createLABEL(t,n,e);case"MAINTAINER":return this.createMAINTAINER(t,n,e);case"ONBUILD":return this.createONBUILD(t,n,e);case"RUN":return this.createRUN(t,n,e);case"SHELL":return this.createSHELL(t,n,e);case"STOPSIGNAL":return this.createSTOPSIGNAL(t,n,e);case"WORKDIR":return this.createWORKDIR(t,n,e);case"VOLUME":return this.createVOLUME(t,n,e);case"USER":return this.createUSER(t,n,e)}throw new Error("Unknown keyword found: "+e)},DockerAssist.prototype.createADD=function(e,t,n){return this.createKeywordCompletionItem("ADD","ADD source dest",e,t,"ADD ${1:source} ${2:dest}",n)},DockerAssist.prototype.createARG=function(e,t){return this.createKeywordCompletionItem("ARG","ARG",e,t,"ARG","ARG")},DockerAssist.prototype.createARG_NameOnly=function(e,t){return this.createKeywordCompletionItem("ARG","ARG name",e,t,"ARG ${1:name}","ARG_NameOnly")},DockerAssist.prototype.createARG_DefaultValue=function(e,t){return this.createKeywordCompletionItem("ARG","ARG name=defaultValue",e,t,"ARG ${1:name}=${2:defaultValue}","ARG_DefaultValue")},DockerAssist.prototype.createCMD=function(e,t,n){return this.createKeywordCompletionItem("CMD",'CMD [ "executable" ]',e,t,'CMD [ "${1:executable}" ]',n)},DockerAssist.prototype.createCOPY=function(e,t,n){return this.createKeywordCompletionItem("COPY","COPY source dest",e,t,"COPY ${1:source} ${2:dest}",n)},DockerAssist.prototype.createENTRYPOINT=function(e,t,n){return this.createKeywordCompletionItem("ENTRYPOINT",'ENTRYPOINT [ "executable" ]',e,t,'ENTRYPOINT [ "${1:executable}" ]',n)},DockerAssist.prototype.createENV=function(e,t,n){return this.createKeywordCompletionItem("ENV","ENV key=value",e,t,"ENV ${1:key}=${2:value}",n)},DockerAssist.prototype.createEXPOSE=function(e,t,n){return this.createKeywordCompletionItem("EXPOSE","EXPOSE port",e,t,"EXPOSE ${1:port}",n)},DockerAssist.prototype.createFROM=function(e,t,n){return this.createKeywordCompletionItem("FROM","FROM baseImage",e,t,"FROM ${1:baseImage}",n)},DockerAssist.prototype.createHEALTHCHECK_CMD=function(e,t){return this.snippetSupport?this.createKeywordCompletionItem("HEALTHCHECK",'HEALTHCHECK --interval=30s --timeout=30s --start-period=5s --retries=3 CMD [ "executable" ]',e,t,'HEALTHCHECK --interval=${1:30s} --timeout=${2:30s} --start-period=${3:5s} --retries=${4:3} CMD [ "${5:executable}" ]',"HEALTHCHECK_CMD"):{data:"HEALTHCHECK_CMD",textEdit:this.createTextEdit(e,t,"HEALTHCHECK CMD"),label:"HEALTHCHECK CMD",kind:o.CompletionItemKind.Keyword,insertTextFormat:o.InsertTextFormat.PlainText}},DockerAssist.prototype.createHEALTHCHECK_CMD_Subcommand=function(e,t){return this.snippetSupport?this.createKeywordCompletionItem("CMD",'CMD [ "executable" ]',e,t,'CMD [ "${1:executable}" ]',"HEALTHCHECK_CMD"):{data:"HEALTHCHECK_CMD",textEdit:this.createTextEdit(e,t,"CMD"),label:"CMD",kind:o.CompletionItemKind.Keyword,insertTextFormat:o.InsertTextFormat.PlainText}},DockerAssist.prototype.createADD_FlagChown=function(e,t){return this.snippetSupport?this.createFlagCompletionItem("--chown=user:group",e,t,"--chown=${1:user:group}","ADD_FlagChown"):this.createFlagCompletionItem("--chown=",e,t,"--chown=","ADD_FlagChown")},DockerAssist.prototype.createCOPY_FlagChown=function(e,t){return this.snippetSupport?this.createFlagCompletionItem("--chown=user:group",e,t,"--chown=${1:user:group}","COPY_FlagChown"):this.createFlagCompletionItem("--chown=",e,t,"--chown=","COPY_FlagChown")},DockerAssist.prototype.createCOPY_FlagFrom=function(e,t){return this.snippetSupport?this.createFlagCompletionItem("--from=stage",e,t,"--from=${1:stage}","COPY_FlagFrom"):this.createFlagCompletionItem("--from=",e,t,"--from=","COPY_FlagFrom")},DockerAssist.prototype.createFROM_FlagPlatform=function(e,t){return this.snippetSupport?this.createFlagCompletionItem("--platform=arm64",e,t,"--platform=${1:arm64}","FROM_FlagPlatform"):this.createFlagCompletionItem("--platform=",e,t,"--platform=","FROM_FlagPlatform")},DockerAssist.prototype.createHEALTHCHECK_FlagInterval=function(e,t){return this.snippetSupport?this.createFlagCompletionItem("--interval=30s",e,t,"--interval=${1:30s}","HEALTHCHECK_FlagInterval"):this.createFlagCompletionItem("--interval=",e,t,"--interval=","HEALTHCHECK_FlagInterval")},DockerAssist.prototype.createHEALTHCHECK_FlagRetries=function(e,t){return this.snippetSupport?this.createFlagCompletionItem("--retries=3",e,t,"--retries=${1:3}","HEALTHCHECK_FlagRetries"):this.createFlagCompletionItem("--retries=",e,t,"--retries=","HEALTHCHECK_FlagRetries")},DockerAssist.prototype.createHEALTHCHECK_FlagStartInterval=function(e,t){return this.snippetSupport?this.createFlagCompletionItem("--start-interval=5s",e,t,"--start-interval=${1:5s}","HEALTHCHECK_FlagStartInterval"):this.createFlagCompletionItem("--start-interval=",e,t,"--start-interval=","HEALTHCHECK_FlagStartInterval")},DockerAssist.prototype.createHEALTHCHECK_FlagStartPeriod=function(e,t){return this.snippetSupport?this.createFlagCompletionItem("--start-period=5s",e,t,"--start-period=${1:5s}","HEALTHCHECK_FlagStartPeriod"):this.createFlagCompletionItem("--start-period=",e,t,"--start-period=","HEALTHCHECK_FlagStartPeriod")},DockerAssist.prototype.createHEALTHCHECK_FlagTimeout=function(e,t){return this.snippetSupport?this.createFlagCompletionItem("--timeout=30s",e,t,"--timeout=${1:30s}","HEALTHCHECK_FlagTimeout"):this.createFlagCompletionItem("--timeout=",e,t,"--timeout=","HEALTHCHECK_FlagTimeout")},DockerAssist.prototype.createHEALTHCHECK_NONE=function(e,t){return this.createPlainTextCompletionItem("HEALTHCHECK NONE",e,t,"HEALTHCHECK NONE",o.CompletionItemKind.Keyword,"HEALTHCHECK_NONE")},DockerAssist.prototype.createHEALTHCHECK_NONE_Subcommand=function(e,t){return this.createPlainTextCompletionItem("NONE",e,t,"NONE",o.CompletionItemKind.Keyword,"HEALTHCHECK_NONE")},DockerAssist.prototype.createLABEL=function(e,t,n){return this.createKeywordCompletionItem("LABEL",'LABEL key="value"',e,t,'LABEL ${1:key}="${2:value}"',n)},DockerAssist.prototype.createMAINTAINER=function(e,t,n){var r=this.createKeywordCompletionItem("MAINTAINER","MAINTAINER name",e,t,"MAINTAINER ${1:name}",n);return void 0!==this.supportedTags&&this.supportedTags.length>0&&this.supportedTags.indexOf(o.CompletionItemTag.Deprecated)>=0&&(r.tags=[o.CompletionItemTag.Deprecated]),this.deprecatedSupport&&(r.deprecated=!0),r},DockerAssist.prototype.createONBUILD=function(e,t,n){return this.createKeywordCompletionItem("ONBUILD","ONBUILD INSTRUCTION",e,t,"ONBUILD ${1:INSTRUCTION}",n)},DockerAssist.prototype.createRUN=function(e,t,n){return this.createKeywordCompletionItem("RUN","RUN command",e,t,"RUN ${1:command}",n)},DockerAssist.prototype.createSHELL=function(e,t,n){return this.createKeywordCompletionItem("SHELL",'SHELL [ "executable" ]',e,t,'SHELL [ "${1:executable}" ]',n)},DockerAssist.prototype.createSTOPSIGNAL=function(e,t,n){return this.createKeywordCompletionItem("STOPSIGNAL","STOPSIGNAL signal",e,t,"STOPSIGNAL ${1:signal}",n)},DockerAssist.prototype.createUSER=function(e,t,n){return this.createKeywordCompletionItem("USER","USER daemon",e,t,"USER ${1:daemon}",n)},DockerAssist.prototype.createVOLUME=function(e,t,n){return this.createKeywordCompletionItem("VOLUME",'VOLUME [ "/data" ]',e,t,'VOLUME [ "${1:/data}" ]',n)},DockerAssist.prototype.createWORKDIR=function(e,t,n){return this.createKeywordCompletionItem("WORKDIR","WORKDIR /the/workdir/path",e,t,"WORKDIR ${1:/the/workdir/path}",n)},DockerAssist.prototype.createEscape=function(e,t,n){return this.createKeywordCompletionItem(s.Directive.escape,"escape=`",e,t,"escape=${1:`}",n)},DockerAssist.prototype.createSyntax=function(e,t,n){return this.createKeywordCompletionItem(s.Directive.syntax,"syntax=docker/dockerfile:experimental",e,t,"syntax=${1:docker/dockerfile:experimental}",n)},DockerAssist.prototype.createKeywordCompletionItem=function(e,t,n,r,i,a){return this.snippetSupport||(t=e,i=e),{data:a,textEdit:this.createTextEdit(n,r,i),label:t,kind:o.CompletionItemKind.Keyword,insertTextFormat:this.snippetSupport?o.InsertTextFormat.Snippet:o.InsertTextFormat.PlainText}},DockerAssist.prototype.createPlainTextCompletionItem=function(e,t,n,r,i,a){return{data:a,textEdit:this.createTextEdit(t,n,r),label:e,kind:i,insertTextFormat:o.InsertTextFormat.PlainText}},DockerAssist.prototype.createFlagCompletionItem=function(e,t,n,r,i){return{data:i,textEdit:this.createTextEdit(t,n,r),label:e,kind:o.CompletionItemKind.Field,insertTextFormat:this.snippetSupport?o.InsertTextFormat.Snippet:o.InsertTextFormat.PlainText}},DockerAssist.prototype.createSourceImageCompletionItem=function(e,t,n,r,i){return{textEdit:this.createTextEdit(r,i,e),label:e,documentation:t,kind:o.CompletionItemKind.Reference,insertTextFormat:o.InsertTextFormat.PlainText,sortText:n.toString()}},DockerAssist.prototype.createVariableCompletionItem=function(e,t,n,r,i){return e=r?"${"+e+"}":"$"+e,{textEdit:this.createTextEdit(t,n,e),label:e,kind:o.CompletionItemKind.Variable,insertTextFormat:o.InsertTextFormat.PlainText,documentation:i}},DockerAssist.prototype.createTextEdit=function(e,t,n){return 0===e?o.TextEdit.insert(this.document.positionAt(t),n):o.TextEdit.replace(o.Range.create(this.document.positionAt(t-e),this.document.positionAt(t)),n)},DockerAssist}();t.DockerAssist=c},43591:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DockerCommands=void 0;var r=n(31040),i=n(28661),o=n(87918),a=n(87506),s=function(){function DockerCommands(){}return DockerCommands.prototype.analyzeDiagnostics=function(e,t){for(var n=[],r=0;r<e.length;r++)switch("string"==typeof e[r].code&&(e[r].code=parseInt(e[r].code)),e[r].code){case o.ValidationCode.CASING_DIRECTIVE:n.push({title:"Convert directive to lowercase",command:a.CommandIds.LOWERCASE,arguments:[t,e[r].range]});break;case o.ValidationCode.CASING_INSTRUCTION:n.push({title:"Convert instruction to uppercase",command:a.CommandIds.UPPERCASE,arguments:[t,e[r].range]});break;case o.ValidationCode.ARGUMENT_EXTRA:n.push({title:"Remove extra argument",command:a.CommandIds.EXTRA_ARGUMENT,arguments:[t,e[r].range]});break;case o.ValidationCode.INVALID_ESCAPE_DIRECTIVE:n.push({title:"Convert to backslash",command:a.CommandIds.DIRECTIVE_TO_BACKSLASH,arguments:[t,e[r].range]}),n.push({title:"Convert to backtick",command:a.CommandIds.DIRECTIVE_TO_BACKTICK,arguments:[t,e[r].range]});break;case o.ValidationCode.INVALID_AS:n.push({title:"Convert to AS",command:a.CommandIds.CONVERT_TO_AS,arguments:[t,e[r].range]});break;case o.ValidationCode.UNKNOWN_HEALTHCHECK_FLAG:n.push({title:"Convert to --interval",command:a.CommandIds.FLAG_TO_HEALTHCHECK_INTERVAL,arguments:[t,e[r].range]}),n.push({title:"Convert to --retries",command:a.CommandIds.FLAG_TO_HEALTHCHECK_RETRIES,arguments:[t,e[r].range]}),n.push({title:"Convert to --start-period",command:a.CommandIds.FLAG_TO_HEALTHCHECK_START_PERIOD,arguments:[t,e[r].range]}),n.push({title:"Convert to --timeout",command:a.CommandIds.FLAG_TO_HEALTHCHECK_TIMEOUT,arguments:[t,e[r].range]});break;case o.ValidationCode.UNKNOWN_ADD_FLAG:n.push({title:"Convert to --chown",command:a.CommandIds.FLAG_TO_CHOWN,arguments:[t,e[r].range]});break;case o.ValidationCode.UNKNOWN_COPY_FLAG:n.push({title:"Convert to --chown",command:a.CommandIds.FLAG_TO_CHOWN,arguments:[t,e[r].range]}),n.push({title:"Convert to --from",command:a.CommandIds.FLAG_TO_COPY_FROM,arguments:[t,e[r].range]});break;case o.ValidationCode.EMPTY_CONTINUATION_LINE:e[r].range.start.line+1===e[r].range.end.line?n.push({title:"Remove empty continuation line",command:a.CommandIds.REMOVE_EMPTY_CONTINUATION_LINE,arguments:[t,e[r].range]}):n.push({title:"Remove empty continuation lines",command:a.CommandIds.REMOVE_EMPTY_CONTINUATION_LINE,arguments:[t,e[r].range]})}return n},DockerCommands.prototype.computeCommandEdits=function(e,t,n){var o=r.TextDocument.create("","",0,e),s=n[1];switch(t){case a.CommandIds.LOWERCASE:var c=o.getText().substring(o.offsetAt(s.start),o.offsetAt(s.end));return[i.TextEdit.replace(s,c.toLowerCase())];case a.CommandIds.UPPERCASE:var u=o.getText().substring(o.offsetAt(s.start),o.offsetAt(s.end));return[i.TextEdit.replace(s,u.toUpperCase())];case a.CommandIds.EXTRA_ARGUMENT:return[i.TextEdit.del(s)];case a.CommandIds.DIRECTIVE_TO_BACKSLASH:return[i.TextEdit.replace(s,"\\")];case a.CommandIds.DIRECTIVE_TO_BACKTICK:return[i.TextEdit.replace(s,"`")];case a.CommandIds.CONVERT_TO_AS:return[i.TextEdit.replace(s,"AS")];case a.CommandIds.FLAG_TO_CHOWN:return[i.TextEdit.replace(s,"--chown")];case a.CommandIds.FLAG_TO_HEALTHCHECK_INTERVAL:return[i.TextEdit.replace(s,"--interval")];case a.CommandIds.FLAG_TO_HEALTHCHECK_RETRIES:return[i.TextEdit.replace(s,"--retries")];case a.CommandIds.FLAG_TO_HEALTHCHECK_START_PERIOD:return[i.TextEdit.replace(s,"--start-period")];case a.CommandIds.FLAG_TO_HEALTHCHECK_TIMEOUT:return[i.TextEdit.replace(s,"--timeout")];case a.CommandIds.FLAG_TO_COPY_FROM:return[i.TextEdit.replace(s,"--from")];case a.CommandIds.REMOVE_EMPTY_CONTINUATION_LINE:return[i.TextEdit.del(s)]}return null},DockerCommands}();t.DockerCommands=s},58228:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DockerCompletion=void 0;var r=n(28661),i=n(13764),o=n(69859),a=function(){function DockerCompletion(){this.dockerMarkdown=new i.MarkdownDocumentation,this.dockerPlainText=new o.PlainTextDocumentation}return DockerCompletion.prototype.resolveCompletionItem=function(e,t){if(!e.documentation&&e.data)if(null==t)e.documentation=this.dockerPlainText.getDocumentation(e.data);else{for(var n=0,i=t;n<i.length;n++){var o=i[n];if(o===r.MarkupKind.PlainText)return e.documentation={kind:r.MarkupKind.PlainText,value:this.dockerPlainText.getDocumentation(e.data)},e;if(o===r.MarkupKind.Markdown)return e.documentation={kind:r.MarkupKind.Markdown,value:this.dockerMarkdown.getMarkdown(e.data).contents},e}e.documentation=this.dockerPlainText.getDocumentation(e.data)}return e},DockerCompletion}();t.DockerCompletion=a},94073:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DockerDefinition=void 0;var r=n(28661),i=n(54513),o=n(243),a=function(){function DockerDefinition(){}return DockerDefinition.prototype.computeBuildStageDefinition=function(e,t){for(var n=void 0,r=0,o=e.getCOPYs();r<o.length;r++){var a=(u=o[r]).getFromFlag();if(a)if((l=a.getValueRange())&&l.start.line===t.line&&l.start.character<=t.character&&t.character<=l.end.character){n=a.getValue();break}}for(var s=0,c=e.getFROMs();s<c.length;s++){var u,l;if(l=(u=c[s]).getBuildStageRange()){if(l.start.line===t.line&&l.start.character<=t.character&&t.character<=l.end.character)return l;if(void 0!==n&&u.getBuildStage().toLowerCase()===n.toLowerCase())return l}if(l=u.getImageNameRange(),i.Util.isInsideRange(t,l)){for(var g=u.getImageName(),d=0,h=e.getFROMs();d<h.length;d++){var m=h[d];if(g===m.getBuildStage())return m.getBuildStageRange()}return null}}return null},DockerDefinition.computeVariableDefinition=function(e,t){for(var n=null,r=0,a=e.getARGs();r<a.length;r++){if((g=a[r].getProperty())&&i.Util.isInsideRange(t,g.getNameRange())){n=g.getName();break}}if(null===n)e:for(var s=0,c=e.getENVs();s<c.length;s++)for(var u=0,l=c[s].getProperties();u<l.length;u++){var g=l[u];if(i.Util.isInsideRange(t,g.getNameRange())){n=g.getName();break e}}if(null===n)e:for(var d=0,h=e.getInstructions();d<h.length;d++)for(var m=0,f=(b=h[d]).getVariables();m<f.length;m++){var p=f[m];if(i.Util.isInsideRange(t,p.getNameRange())){n=p.getName();break e}}for(var v=0,R=e.getInstructions();v<R.length;v++){var b;if((b=R[v])instanceof o.Arg){if((g=b.getProperty())&&g.getName()===n)return g}else if(b instanceof o.Env)for(var D=0,y=b.getProperties();D<y.length;D++){if((g=y[D]).getName()===n)return g}}return null},DockerDefinition.findDefinition=function(e,t){for(var n=0,r=e.getFROMs();n<r.length;n++)for(var o=0,a=r[n].getVariables();o<a.length;o++){var s=a[o];if(i.Util.isInsideRange(t,s.getNameRange())){for(var c=0,u=e.getInitialARGs();c<u.length;c++){var l=u[c].getProperty();if(l&&l.getName()===s.getName())return l}return null}}var g=e.getContainingImage(t);return DockerDefinition.computeVariableDefinition(g,t)},DockerDefinition.prototype.computeVariableDefinition=function(e,t){var n=DockerDefinition.findDefinition(e,t);return n?n.getNameRange():null},DockerDefinition.prototype.computeDefinitionRange=function(e,t){var n=o.DockerfileParser.parse(e),r=this.computeBuildStageDefinition(n,t);return r||this.computeVariableDefinition(n,t)},DockerDefinition.prototype.computeDefinition=function(e,t,n){var i=o.DockerfileParser.parse(t),a=this.computeBuildStageDefinition(i,n);return null!==a||null!==(a=this.computeVariableDefinition(i,n))?r.Location.create(e.uri,a):null},DockerDefinition}();t.DockerDefinition=a},883:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DockerFolding=void 0;var r=n(31040),i=n(28661),o=n(243),a=function(){function DockerFolding(){}return DockerFolding.prototype.createFoldingRange=function(e,t,n,r,o,a){return e?{startLine:t,endLine:n,kind:a}:i.FoldingRange.create(t,n,r,o,a)},DockerFolding.prototype.getLineLength=function(e,t){for(var n=e.getText(i.Range.create(t,0,t,i.uinteger.MAX_VALUE)),r=n.length,o=n.charAt(r-1);"\r"===o||"\n"===o;)r--,o=n.charAt(r-1);return r},DockerFolding.prototype.computeFoldingRanges=function(e,t,n){if(n<1)return[];for(var a=[],s=o.DockerfileParser.parse(e),c=r.TextDocument.create("","",0,e),u=0,l=s.getInstructions();u<l.length;u++){if((R=l[u].getRange()).start.line!==R.end.line){var g=this.getLineLength(c,R.start.line),d=this.getLineLength(c,R.end.line);if(a.push(this.createFoldingRange(t,R.start.line,R.end.line,g,d)),a.length===n)return a}}var h=s.getComments();if(h.length<2)return a;for(var m=!1,f=h[0].getRange(),p=i.Position.create(f.start.line+1,f.start.character),v=1;v<h.length;v++){var R;if((R=h[v].getRange()).start.line===p.line)p=i.Position.create(R.end.line+1,R.end.character),m=!0;else{if(m&&(a.push(this.createFoldingRange(t,f.start.line,p.line-1,f.end.character,p.character,i.FoldingRangeKind.Comment)),a.length===n))return a;f=R,p=i.Position.create(f.start.line+1,f.start.character),m=!1}}return m&&a.push(this.createFoldingRange(t,f.start.line,p.line-1,f.end.character,p.character,i.FoldingRangeKind.Comment)),a},DockerFolding}();t.DockerFolding=a},39759:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DockerHighlight=void 0;var r=n(31040),i=n(28661),o=n(243),a=n(94073),s=n(54513),c=function(){function DockerHighlight(){}return DockerHighlight.prototype.computeHighlightRanges=function(e,t){var n=o.DockerfileParser.parse(e),c=(new a.DockerDefinition).computeDefinitionRange(e,t),u=null===c?n.getContainingImage(t):n.getContainingImage(c.start),l=[];if(null===c){for(var g=0,d=n.getCOPYs();g<d.length;g++){if(B=(te=d[g]).getFromFlag()){var h=B.getValueRange();if(h&&h.start.line===t.line&&h.start.character<=t.character&&t.character<=h.end.character){for(var m=B.getValue(),f=0,p=n.getCOPYs();f<p.length;f++){var v=p[f].getFromFlag();v&&v.getValue().toLowerCase()===m.toLowerCase()&&l.push(i.DocumentHighlight.create(v.getValueRange(),i.DocumentHighlightKind.Read))}return l}}}for(var R=0,b=n.getFROMs();R<b.length;R++)for(var D=0,y=(ue=b[R]).getVariables();D<y.length;D++){var _=y[D];if(s.Util.isInsideRange(t,_.getNameRange())){for(var k=_.getName(),S=0,T=n.getFROMs();S<T.length;S++)for(var C=0,A=T[S].getVariables();C<A.length;C++){var E=A[C];E.getName()===k&&l.push(i.DocumentHighlight.create(E.getNameRange(),i.DocumentHighlightKind.Read))}return l}}for(var P=0,I=u.getInstructions();P<I.length;P++)for(var N=0,M=(te=I[P]).getVariables();N<M.length;N++){_=M[N];if(s.Util.isInsideRange(t,_.getNameRange())){k=_.getName();for(var O=0,w=u.getInstructions();O<w.length;O++){var x=w[O];if(!(x instanceof o.From))for(var L=0,F=x.getVariables();L<F.length;L++){var V=F[L];V.getName()===k&&l.push(i.DocumentHighlight.create(V.getNameRange(),i.DocumentHighlightKind.Read))}}return l}}}else{for(var H=r.TextDocument.create("","",0,e),U=H.getText().substring(H.offsetAt(c.start),H.offsetAt(c.end)),q=!1,W=0,j=n.getFROMs();W<j.length;W++){(m=(ue=j[W]).getBuildStage())&&U.toLowerCase()===m.toLowerCase()&&(l.push(i.DocumentHighlight.create(ue.getBuildStageRange(),i.DocumentHighlightKind.Write)),q=!0)}if(q){for(var K=0,G=n.getCOPYs();K<G.length;K++){var B;(B=(te=G[K]).getFromFlag())&&B.getValue().toLowerCase()===U.toLowerCase()&&l.push(i.DocumentHighlight.create(B.getValueRange(),i.DocumentHighlightKind.Read))}return l}for(var $=0,Y=u.getARGs();$<Y.length;$++){(ae=Y[$].getProperty())&&ae.getName()===U&&l.push(i.DocumentHighlight.create(ae.getNameRange(),i.DocumentHighlightKind.Write))}for(var z=0,J=u.getENVs();z<J.length;z++)for(var Q=0,X=J[z].getProperties();Q<X.length;Q++){(ae=X[Q]).getName()===U&&l.push(i.DocumentHighlight.create(ae.getNameRange(),i.DocumentHighlightKind.Write))}for(var Z=0,ee=u.getInstructions();Z<ee.length;Z++){var te;if(!((te=ee[Z])instanceof o.From))for(var ne=0,re=te.getVariables();ne<re.length;ne++){(_=re[ne]).getName()===U&&l.push(i.DocumentHighlight.create(_.getNameRange(),i.DocumentHighlightKind.Read))}}for(var ie=0,oe=n.getInitialARGs();ie<oe.length;ie++){var ae;if((ae=oe[ie].getProperty())&&s.Util.rangeEquals(ae.getNameRange(),c))for(var se=0,ce=n.getFROMs();se<ce.length;se++)for(var ue,le=0,ge=(ue=ce[se]).getVariables();le<ge.length;le++){(_=ge[le]).getName()===U&&l.push(i.DocumentHighlight.create(_.getNameRange(),i.DocumentHighlightKind.Read))}}}return l},DockerHighlight}();t.DockerHighlight=c},36461:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DockerHover=void 0;var r=n(28661),i=n(243),o=n(54513),a=function(){function DockerHover(e,t){this.markdown=e,this.plainText=t}return DockerHover.prototype.onHover=function(e,t,n){var a=i.DockerfileParser.parse(e),s=a.getContainingImage(t);if(!s)return null;var c=this.computeHoverKey(a,t);if(c){if(n&&n.length>0){switch(n[0]){case r.MarkupKind.Markdown:var u=this.markdown.getMarkdown(c);return u?{contents:{kind:r.MarkupKind.Markdown,value:u.contents}}:null;case r.MarkupKind.PlainText:var l=this.plainText.getDocumentation(c);if(l)return{contents:{kind:r.MarkupKind.PlainText,value:l}}}return null}var g=this.markdown.getMarkdown(c);return void 0===g?null:g}for(var d=0,h=s.getInstructions();d<h.length;d++){if((b=h[d])instanceof i.Arg)if((p=b.getProperty())&&o.Util.isInsideRange(t,p.getNameRange())&&null!==p.getValue())return{contents:p.getValue()};if(b instanceof i.Env)for(var m=0,f=b.getProperties();m<f.length;m++){var p=f[m];if(o.Util.isInsideRange(t,p.getNameRange())&&null!==p.getValue())return{contents:p.getValue()}}}for(var v=0,R=s.getInstructions();v<R.length;v++)for(var b,D=0,y=(b=R[v]).getVariables();D<y.length;D++){var _=y[D];if(o.Util.isInsideRange(t,_.getNameRange())){var k=a.resolveVariable(_.getName(),_.getNameRange().start.line);if(k||""===k)return{contents:k};if(null===k)return null}}return null},DockerHover.prototype.computeHoverKey=function(e,t){for(var n=0,r=e.getDirectives();n<r.length;n++){var a=r[n],s=a.getNameRange();switch(a.getDirective()){case i.Directive.escape:if(o.Util.isInsideRange(t,s))return i.Directive.escape;break;case i.Directive.syntax:if(o.Util.isInsideRange(t,s))return i.Directive.syntax}}for(var c=0,u=e.getContainingImage(t).getInstructions();c<u.length;c++){var l=u[c],g=l.getInstructionRange();if(o.Util.isInsideRange(t,g))return l.getKeyword();if(l instanceof i.Onbuild){s=l.getTriggerRange();if(o.Util.isInsideRange(t,s))return l.getTrigger()}var d=this.getFlagsHover(t,l);if(null!==d)return d}return null},DockerHover.prototype.getFlagsHover=function(e,t){switch(t.getKeyword()){case"ADD":for(var n=0,r=t.getFlags();n<r.length;n++){var i=r[n];if(o.Util.isInsideRange(e,i.getNameRange())&&"chown"===i.getName())return"ADD_FlagChown"}break;case"COPY":for(var a=0,s=t.getFlags();a<s.length;a++){i=s[a];if(o.Util.isInsideRange(e,i.getNameRange()))switch(i.getName()){case"chown":return"COPY_FlagChown";case"from":return"COPY_FlagFrom"}}break;case"FROM":for(var c=0,u=t.getFlags();c<u.length;c++){i=u[c];if(o.Util.isInsideRange(e,i.getNameRange()))return"platform"===i.getName()?"FROM_FlagPlatform":null}break;case"HEALTHCHECK":for(var l=0,g=t.getFlags();l<g.length;l++){i=g[l];if(o.Util.isInsideRange(e,i.getNameRange())){switch(i.getName()){case"interval":return"HEALTHCHECK_FlagInterval";case"retries":return"HEALTHCHECK_FlagRetries";case"start-interval":return"HEALTHCHECK_FlagStartInterval";case"start-period":return"HEALTHCHECK_FlagStartPeriod";case"timeout":return"HEALTHCHECK_FlagTimeout"}return null}}break;case"ONBUILD":var d=t.getTriggerInstruction();if(null!==d)return this.getFlagsHover(e,d)}return null},DockerHover}();t.DockerHover=a},37776:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DockerLinks=void 0;var r=n(243),i=function(){function DockerLinks(){}return DockerLinks.prototype.getLinks=function(e){for(var t=r.DockerfileParser.parse(e),n=[],i=t.getFROMs().reduce((function(e,t){var n=t.getBuildStage();return null!==n&&e.push(n),e}),[]),o=0,a=t.getFROMs();o<a.length;o++){var s=a[o],c=s.getImageName();null!==c&&-1===i.indexOf(c)&&(-1===c.indexOf("/")?n.push({range:s.getImageNameRange(),data:"_/"+c+"/"}):n.push({range:s.getImageNameRange(),data:"r/"+c+"/"}))}return n},DockerLinks.prototype.resolveLink=function(e){return e.data&&(e.target="https://hub.docker.com/"+e.data),e},DockerLinks}();t.DockerLinks=i},13764:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MarkdownDocumentation=void 0;var n=function(){function MarkdownDocumentation(){this.dockerMessages={hoverAdd:"Copy files, folders, or remote URLs from `source` to the `dest` path in the image's filesystem.\n\n",hoverArg:"Define a variable with an optional default value that users can override at build-time when using `docker build`.\n\nSince Docker 1.9\n\n",hoverCmd:"Provide defaults for an executing container. If an executable is not specified, then `ENTRYPOINT` must be specified as well. There can only be one `CMD` instruction in a `Dockerfile`.\n\n",hoverCopy:"Copy files or folders from `source` to the `dest` path in the image's filesystem.\n\n",hoverEntrypoint:"Configures the container to be run as an executable.\n\n",hoverEnv:"Set the environment variable `key` to the value `value`.\n\n",hoverExpose:"Define the network `port`s that this container will listen on at runtime.\n\n",hoverFrom:"Set the `baseImage` to use for subsequent instructions. `FROM` must be the first instruction in a `Dockerfile`.\n\n",hoverHealthcheck:"Define how Docker should test the container to check that it is still working. Alternatively, disable the base image's `HEALTHCHECK` instruction. There can only be one `HEALTHCHECK` instruction in a `Dockerfile`.\n\nSince Docker 1.12\n\n",hoverLabel:"Adds metadata to an image.\n\nSince Docker 1.6\n\n",hoverMaintainer:"Set the _Author_ field of the generated images. This instruction has been deprecated in favor of `LABEL`.\n\n",hoverOnbuild:"Add a _trigger_ instruction to the image that will be executed when the image is used as a base image for another build.\n\n",hoverRun:"Execute any commands on top of the current image as a new layer and commit the results.\n\n",hoverShell:"Override the default shell used for the _shell_ form of commands.\n\nSince Docker 1.12\n\n",hoverStopsignal:"Set the system call signal to use to send to the container to exit. Signals can be valid unsigned numbers or a signal name in the `SIGNAME` format such as `SIGKILL`.\n\nSince Docker 1.9\n\n",hoverUser:"Set the user name or UID to use when running the image in addition to any subsequent `CMD`, `ENTRYPOINT`, or `RUN` instructions that follow it in the `Dockerfile`.\n\n",hoverVolume:"Create a mount point with the specified name and mark it as holding externally mounted volumes from the native host or from other containers.\n\n",hoverWorkdir:"Set the working directory for any subsequent `ADD`, `COPY`, `CMD`, `ENTRYPOINT`, or `RUN` instructions that follow it in the `Dockerfile`.\n\n",hoverEscape:"Sets the character to use to escape characters and newlines in this Dockerfile. If unspecified, the default escape character is `\\`.\n\n",hoverSyntax:"Set the location of the Dockerfile builder to use for building the current Dockerfile.\n\n",hoverOnlineDocumentationFooter:"\n\n[Online documentation](${0})",hoverAddFlagChown:"The username, groupname, or UID/GID combination to own the added content.",hoverCopyFlagChown:"The username, groupname, or UID/GID combination to own the copied content.",hoverCopyFlagFrom:"The previous build stage to use as the source location instead of the build's context.\n\nSince Docker 17.05.0-ce.",hoverFromFlagPlatform:"The platform of the image if referencing a multi-platform image.\n\nSince Docker CE 18.04.",hoverHealthcheckFlagInterval:"The seconds to wait for the health check to run after the container has started, and then again the number of seconds to wait before running again after the previous check has completed.",hoverHealthcheckFlagRetries:"The number of consecutive failures of this health check before the container is considered to be `unhealthy`.",hoverHealthcheckFlagStartInterval:"The number of seconds to wait between health checks during the start period.",hoverHealthcheckFlagStartPeriod:"The number of seconds to wait for the container to startup. Failures during this grace period will not count towards the maximum number of retries. However, should a health check succeed during this period then any subsequent failures will count towards the maximum number of retries.\n\nSince Docker 17.05.0-ce.",hoverHealthcheckFlagTimeout:"The number of seconds to wait for the check to complete before considering it to have failed.",proposalArgNameOnly:"Define a variable that users can set at build-time when using `docker build`.\n\n",proposalArgDefaultValue:"Define a variable with the given default value that users can override at build-time when using `docker build`.\n\n",proposalHealthcheckExec:"Define how Docker should test the container to check that it is still working. There can only be one `HEALTHCHECK` instruction in a `Dockerfile`.\n\nSince Docker 1.12\n\n",proposalHealthcheckNone:"Disable the `HEALTHCHECK` instruction inherited from the base image if one exists. There can only be one `HEALTHCHECK` instruction in a `Dockerfile`.\n\nSince Docker 1.12"},this.markdowns={ADD:{contents:this.dockerMessages.hoverAdd+"```\nADD hello.txt /absolute/path\nADD hello.txt relative/to/workdir\n```"+this.formatMessage(this.dockerMessages.hoverOnlineDocumentationFooter,"https://docs.docker.com/engine/reference/builder/#add")},ADD_FlagChown:{contents:this.dockerMessages.hoverAddFlagChown},ARG:{contents:this.dockerMessages.hoverArg+"```\nARG userName\nARG testOutputDir=test\n```"+this.formatMessage(this.dockerMessages.hoverOnlineDocumentationFooter,"https://docs.docker.com/engine/reference/builder/#arg")},ARG_NameOnly:{contents:this.dockerMessages.proposalArgNameOnly+"```\nARG userName\n```"+this.formatMessage(this.dockerMessages.hoverOnlineDocumentationFooter,"https://docs.docker.com/engine/reference/builder/#arg")},ARG_DefaultValue:{contents:this.dockerMessages.proposalArgDefaultValue+"```\nARG testOutputDir=test\n```"+this.formatMessage(this.dockerMessages.hoverOnlineDocumentationFooter,"https://docs.docker.com/engine/reference/builder/#arg")},CMD:{contents:this.dockerMessages.hoverCmd+'```\nCMD [ "/bin/ls", "-l" ]\n```\n'+this.formatMessage(this.dockerMessages.hoverOnlineDocumentationFooter,"https://docs.docker.com/engine/reference/builder/#cmd")},COPY:{contents:this.dockerMessages.hoverCopy+"```\nCOPY hello.txt /absolute/path\nCOPY hello.txt relative/to/workdir\n```"+this.formatMessage(this.dockerMessages.hoverOnlineDocumentationFooter,"https://docs.docker.com/engine/reference/builder/#copy")},COPY_FlagChown:{contents:this.dockerMessages.hoverCopyFlagChown},COPY_FlagFrom:{contents:this.dockerMessages.hoverCopyFlagFrom},ENTRYPOINT:{contents:this.dockerMessages.hoverEntrypoint+'```\nENTRYPOINT [ "/opt/app/run.sh", "--port", "8080" ]\n```'+this.formatMessage(this.dockerMessages.hoverOnlineDocumentationFooter,"https://docs.docker.com/engine/reference/builder/#entrypoint")},ENV:{contents:this.dockerMessages.hoverEnv+"```\nENV buildTag=1.0\n```\n"+this.formatMessage(this.dockerMessages.hoverOnlineDocumentationFooter,"https://docs.docker.com/engine/reference/builder/#env")},EXPOSE:{contents:this.dockerMessages.hoverExpose+"```\nEXPOSE 8080\nEXPOSE 80 443 22\nEXPOSE 7000-8000\n```"+this.formatMessage(this.dockerMessages.hoverOnlineDocumentationFooter,"https://docs.docker.com/engine/reference/builder/#expose")},FROM:{contents:this.dockerMessages.hoverFrom+"```\nFROM baseImage\nFROM baseImage:tag\nFROM baseImage@digest\n```"+this.formatMessage(this.dockerMessages.hoverOnlineDocumentationFooter,"https://docs.docker.com/engine/reference/builder/#from")},FROM_FlagPlatform:{contents:this.dockerMessages.hoverFromFlagPlatform},HEALTHCHECK:{contents:this.dockerMessages.hoverHealthcheck+"```\nHEALTHCHECK --interval=10m --timeout=5s \\\n CMD curl -f http://localhost/ || exit 1\nHEALTHCHECK NONE\n```"+this.formatMessage(this.dockerMessages.hoverOnlineDocumentationFooter,"https://docs.docker.com/engine/reference/builder/#healthcheck")},HEALTHCHECK_CMD:{contents:this.dockerMessages.proposalHealthcheckExec+"```\nHEALTHCHECK --interval=10m --timeout=5s \\\n CMD curl -f http://localhost/ || exit 1\n```"+this.formatMessage(this.dockerMessages.hoverOnlineDocumentationFooter,"https://docs.docker.com/engine/reference/builder/#healthcheck")},HEALTHCHECK_FlagInterval:{contents:this.dockerMessages.hoverHealthcheckFlagInterval},HEALTHCHECK_FlagRetries:{contents:this.dockerMessages.hoverHealthcheckFlagRetries},HEALTHCHECK_FlagStartInterval:{contents:this.dockerMessages.hoverHealthcheckFlagStartInterval},HEALTHCHECK_FlagStartPeriod:{contents:this.dockerMessages.hoverHealthcheckFlagStartPeriod},HEALTHCHECK_FlagTimeout:{contents:this.dockerMessages.hoverHealthcheckFlagTimeout},HEALTHCHECK_NONE:{contents:this.dockerMessages.proposalHealthcheckNone+"```\nHEALTHCHECK NONE\n```"+this.formatMessage(this.dockerMessages.hoverOnlineDocumentationFooter,"https://docs.docker.com/engine/reference/builder/#healthcheck")},LABEL:{contents:this.dockerMessages.hoverLabel+'```\nLABEL version="1.0"\n```\n'+this.formatMessage(this.dockerMessages.hoverOnlineDocumentationFooter,"https://docs.docker.com/engine/reference/builder/#label")},MAINTAINER:{contents:this.dockerMessages.hoverMaintainer+"```\nMAINTAINER name\n```\n"+this.formatMessage(this.dockerMessages.hoverOnlineDocumentationFooter,"https://docs.docker.com/engine/reference/builder/#maintainer")},ONBUILD:{contents:this.dockerMessages.hoverOnbuild+"```\nONBUILD ADD . /opt/app/src/extensions\nONBUILD RUN /usr/local/bin/build.sh /opt/app```"+this.formatMessage(this.dockerMessages.hoverOnlineDocumentationFooter,"https://docs.docker.com/engine/reference/builder/#cmd")},RUN:{contents:this.dockerMessages.hoverRun+"```\nRUN apt-get update && apt-get install -y curl\n```\n"+this.formatMessage(this.dockerMessages.hoverOnlineDocumentationFooter,"https://docs.docker.com/engine/reference/builder/#run")},SHELL:{contents:this.dockerMessages.hoverShell+'```\nSHELL [ "powershell", "-command" ]\n```\n'+this.formatMessage(this.dockerMessages.hoverOnlineDocumentationFooter,"https://docs.docker.com/engine/reference/builder/#shell")},STOPSIGNAL:{contents:this.dockerMessages.hoverStopsignal+"```\nSTOPSIGNAL 9\n```\n"+this.formatMessage(this.dockerMessages.hoverOnlineDocumentationFooter,"https://docs.docker.com/engine/reference/builder/#stopsignal")},USER:{contents:this.dockerMessages.hoverUser+"```\nUSER daemon\n```\n"+this.formatMessage(this.dockerMessages.hoverOnlineDocumentationFooter,"https://docs.docker.com/engine/reference/builder/#user")},VOLUME:{contents:this.dockerMessages.hoverVolume+'```\nVOLUME [ "/var/db" ]\n```\n'+this.formatMessage(this.dockerMessages.hoverOnlineDocumentationFooter,"https://docs.docker.com/engine/reference/builder/#volume")},WORKDIR:{contents:this.dockerMessages.hoverWorkdir+"```\nWORKDIR /path/to/workdir\nWORKDIR relative/path\n```"+this.formatMessage(this.dockerMessages.hoverOnlineDocumentationFooter,"https://docs.docker.com/engine/reference/builder/#workdir")},escape:{contents:this.dockerMessages.hoverEscape+"```\n# escape=`\n```"+this.formatMessage(this.dockerMessages.hoverOnlineDocumentationFooter,"https://docs.docker.com/engine/reference/builder/#escape")},syntax:{contents:this.dockerMessages.hoverSyntax+"```\n# syntax=docker/dockerfile:1.0\n# syntax=docker/dockerfile:1.0.0-experimental\n```"+this.formatMessage(this.dockerMessages.hoverOnlineDocumentationFooter,"https://docs.docker.com/engine/reference/builder/#syntax")}}}return MarkdownDocumentation.prototype.formatMessage=function(e,t){return e.replace("${0}",t)},MarkdownDocumentation.prototype.getMarkdown=function(e){return this.markdowns[e]},MarkdownDocumentation}();t.MarkdownDocumentation=n},69859:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.PlainTextDocumentation=void 0;var n=function(){function PlainTextDocumentation(){this.dockerMessages={hoverAdd:"Copy files, folders, or remote URLs from `source` to the `dest` path in the image's filesystem.\n\n",hoverArg:"Define a variable with an optional default value that users can override at build-time when using `docker build`.\n\nSince Docker 1.9\n\n",hoverCmd:"Provide defaults for an executing container. If an executable is not specified, then ENTRYPOINT must be specified as well. There can only be one CMD instruction in a Dockerfile.\n\n",hoverCopy:"Copy files or folders from `source` to the `dest` path in the image's filesystem.\n\n",hoverEntrypoint:"Configures the container to be run as an executable.\n\n",hoverEnv:"Set the environment variable `key` to the value `value`.\n\n",hoverExpose:"Define the network `port`s that this container will listen on at runtime.\n\n",hoverFrom:"Set the `baseImage` to use for subsequent instructions. FROM must be the first instruction in a Dockerfile.\n\n",hoverHealthcheck:"Define how Docker should test the container to check that it is still working. Alternatively, disable the base image's HEALTHCHECK instruction. There can only be one HEALTHCHECK instruction in a Dockerfile.\n\nSince Docker 1.12\n\n",hoverLabel:"Adds metadata to an image.\n\nSince Docker 1.6\n\n",hoverMaintainer:"Set the Author field of the generated images. This instruction has been deprecated in favor of LABEL.\n\n",hoverOnbuild:"Add a trigger instruction to the image that will be executed when the image is used as a base image for another build.\n\n",hoverRun:"Execute any commands on top of the current image as a new layer and commit the results.\n\n",hoverShell:"Override the default shell used for the shell form of commands.\n\nSince Docker 1.12\n\n",hoverStopsignal:"Set the system call signal to use to send to the container to exit. Signals can be valid unsigned numbers or a signal name in the SIGNAME format such as SIGKILL.\n\nSince Docker 1.9\n\n",hoverUser:"Set the user name or UID to use when running the image in addition to any subsequent CMD, ENTRYPOINT, or RUN instructions that follow it in the Dockerfile.\n\n",hoverVolume:"Create a mount point with the specified name and mark it as holding externally mounted volumes from the native host or from other containers.\n\n",hoverWorkdir:"Set the working directory for any subsequent ADD, COPY, CMD, ENTRYPOINT, or RUN` instructions that follow it in the `Dockerfile`.\n\n",hoverAddFlagChown:"The username, groupname, or UID/GID combination to own the added content.",hoverCopyFlagChown:"The username, groupname, or UID/GID combination to own the copied content.",hoverCopyFlagFrom:"The previous build stage to use as the source location instead of the build's context.\n\nSince Docker 17.05.0-ce.",hoverFromFlagPlatform:"The platform of the image if referencing a multi-platform image.\n\nSince Docker CE 18.04.",hoverHealthcheckFlagInterval:"The seconds to wait for the health check to run after the container has started, and then again the number of seconds to wait before running again after the previous check has completed.",hoverHealthcheckFlagRetries:"The number of consecutive failures of this health check before the container is considered to be `unhealthy`.",hoverHealthcheckFlagStartInterval:"The number of seconds to wait between health checks during the start period.",hoverHealthcheckFlagStartPeriod:"The number of seconds to wait for the container to startup. Failures during this grace period will not count towards the maximum number of retries. However, should a health check succeed during this period then any subsequent failures will count towards the maximum number of retries.\n\nSince Docker 17.05.0-ce.",hoverHealthcheckFlagTimeout:"The number of seconds to wait for the check to complete before considering it to have failed.",hoverEscape:"Sets the character to use to escape characters and newlines in this Dockerfile. If unspecified, the default escape character is `\\`.\n\n",hoverSyntax:"Set the location of the Dockerfile builder to use for building the current Dockerfile.\n\n",signatureEscape:"Sets this Dockerfile's escape character. If unspecified, the default escape character is `\\`.",signatureEscape_Param:"The character to use to escape characters and newlines in this Dockerfile.",signatureAdd_Signature0:"Copy new files, directories or remote URLs to the image's filesystem.",signatureAdd_Signature0_Param1:"The resource to copy or unpack if it is a local tar archive in a recognized compression format.",signatureAdd_Signature0_Param3:"The name of the destination file or folder.",signatureArg_Signature0:"Define a variable that users can pass a value to at build-time with `docker build`.",signatureArg_Signature0_Param:"The name of the variable.",signatureArg_Signature1:"Define a variable with an optional default value that users can override at build-time with `docker build`.",signatureArg_Signature1_Param1:"The default value of the variable.",signatureCmd_Signature0:"Set the default executable and parameters for this executing container.",signatureCmd_Signature0_Param0:"The default executable for this executing container.",signatureCmd_Signature0_Param1:"A parameter to the default executable.",signatureCmd_Signature1:"Set the default parameters for this executing container. An ENTRYPOINT instruction must also be specified.",signatureCmd_Signature1_Param0:"A parameter to the entrypoint executable.",signatureCopy_Signature0:"Copy new files and directories to the image's filesystem.",signatureCopy_Signature0_Param0:"Optional flags to configure this instruction.",signatureCopy_Signature0_Param1:"The resource to copy.",signatureCopyFlagFrom:"Set the build stage to use as the source location of this copy instruction instead of the build's context.",signatureCopyFlagFrom_Param:"The build stage or image name to use as the source. Also may be a numeric index.",signatureEntrypoint_Signature0:"Configure this container for running as an executable.",signatureEntrypoint_Signature0_Param1:"The container's main executable.",signatureEntrypoint_Signature0_Param2:"A parameter to the entrypoint executable.",signatureEnv_Signature0:"Set an environment variable to the specified value. The value will be in the environment of any descendent Dockerfiles",signatureEnv_Signature0_Param0:"The name of the environment variable.",signatureEnv_Signature0_Param1:"The value to set the environment variable to.",signatureExpose:"Define network ports for this container to listen on at runtime.",signatureExpose_Param0:"The port that this container should listen on.",signatureFrom_Signature0:"Set the base image to use for any subsequent instructions that follow.",signatureFrom_Signature0_Param:"The name of the base image to use.",signatureFrom_Signature1_Param1:"The tag of the base image to use.",signatureFrom_Signature2_Param1:"The digest of the base image to use.",signatureFrom_Signature3:"Set the base image to use for any subsequent instructions that follow and also give this build stage a name.",signatureFrom_Signature3_Param2:"The name of this build stage.",signatureFrom_Param2:"The name of this build stage.",signatureHealthcheck_Signature0:"Define how Docker should test the container to check that it is still working.",signatureHealthcheck_Signature1_Param2:"The parameters to the CMD instruction for the healthcheck.",signatureHealthcheck_Signature2:"Disable the inherited HEALTHCHECK instruction from the base image.",signatureLabel_Signature0:"Set metadata to an image.",signatureLabel_Signature0_Param0:"The name of the metadata.",signatureLabel_Signature0_Param1:"The value of the metadata.",signatureMaintainer:'Set the "Author" field of this image.',signatureMaintainer_Param:"The name of this image's maintainer.",signatureOnbuild:"Register a build instruction as a trigger to be executed when this image is used as a base image for another build.",signatureOnbuild_Param:"The build instruction to register as a trigger instruction.",signatureRun_Signature0:"Execute commands inside a shell.",signatureRun_Signature0_Param0:"The command to run.",signatureRun_Signature0_Param1:"A parameter to the command.",signatureRun_Signature1:"Execute commands without invoking a command shell.",signatureShell:"Override default shell used for the shell form of commands.",signatureShell_Param1:"The shell executable to use.",signatureShell_Param2:"The parameters to the shell executable.",signatureStopsignal:"Set the system call signal to use to send to the container to exit.",signatureStopsignal_Param:"The signal to send to the container to exit. This may be an valid unsigned number or a signal name in the SIGNAME format such as SIGKILL.",signatureUser_Signature0:"Set the user name to use for running any RUN, CMD, and ENTRYPOINT instructions that follow.",signatureUser_Signature0_Param:"The user name to use.",signatureUser_Signature1:"Set the user name and user group to use for running any RUN, CMD, and ENTRYPOINT instructions that follow.",signatureUser_Signature1_Param1:"The group name to use.",signatureUser_Signature2:"Set the UID to use for running any RUN, CMD, and ENTRYPOINT instructions that follow.",signatureUser_Signature2_Param:"The UID to use.",signatureUser_Signature3:"Set the UID and GID to use for running any RUN, CMD, and ENTRYPOINT instructions that follow.",signatureUser_Signature3_Param1:"The GID to use.",signatureVolume_Signature0:"Create mount points for holding externally mounted volumes from the native host or other containers.",signatureVolume_Signature0_Param0:"The name of the mount point.",signatureWorkdir:"Set the working directory for any ADD, COPY, CMD, ENTRYPOINT, or RUN instructions that follow.",signatureWorkdir_Param:"The absolute or relative path to use as the working directory. Will be created if it does not exist.",proposalArgNameOnly:"Define a variable that users can set at build-time when using `docker build`.\n\n",proposalArgDefaultValue:"Define a variable with the given default value that users can override at build-time when using `docker build`.\n\n",proposalHealthcheckExec:"Define how Docker should test the container to check that it is still working. There can only be one HEALTHCHECK instruction in a Dockerfile.\n\nSince Docker 1.12\n\n",proposalHealthcheckNone:"Disable the HEALTHCHECK instruction inherited from the base image if one exists. There can only be one HEALTHCHECK instruction in a Dockerfile.\n\nSince Docker 1.12"},this.markdowns={ADD:this.dockerMessages.hoverAdd+"ADD hello.txt /absolute/path\nADD hello.txt relative/to/workdir",ADD_FlagChown:this.dockerMessages.hoverAddFlagChown,ARG:this.dockerMessages.hoverArg+"ARG userName\nARG testOutputDir=test",ARG_NameOnly:this.dockerMessages.proposalArgNameOnly+"ARG userName",ARG_DefaultValue:this.dockerMessages.proposalArgDefaultValue+"ARG testOutputDir=test",CMD:this.dockerMessages.hoverCmd+'CMD [ "/bin/ls", "-l" ]',COPY:this.dockerMessages.hoverCopy+"COPY hello.txt /absolute/path\nCOPY hello.txt relative/to/workdir",COPY_FlagChown:this.dockerMessages.hoverCopyFlagChown,COPY_FlagFrom:this.dockerMessages.hoverCopyFlagFrom,ENTRYPOINT:this.dockerMessages.hoverEntrypoint+'ENTRYPOINT [ "/opt/app/run.sh", "--port", "8080" ]',ENV:this.dockerMessages.hoverEnv+"ENV buildTag=1.0",EXPOSE:this.dockerMessages.hoverExpose+"EXPOSE 8080\nEXPOSE 80 443 22\nEXPOSE 7000-8000",FROM:this.dockerMessages.hoverFrom+"FROM baseImage\nFROM baseImage:tag\nFROM baseImage@digest",FROM_FlagPlatform:this.dockerMessages.hoverFromFlagPlatform,HEALTHCHECK:this.dockerMessages.hoverHealthcheck+"HEALTHCHECK --interval=10m --timeout=5s \\\n CMD curl -f http://localhost/ || exit 1\nHEALTHCHECK NONE",HEALTHCHECK_CMD:this.dockerMessages.proposalHealthcheckExec+"HEALTHCHECK --interval=10m --timeout=5s \\\n CMD curl -f http://localhost/ || exit 1",HEALTHCHECK_FlagInterval:this.dockerMessages.hoverHealthcheckFlagInterval,HEALTHCHECK_FlagRetries:this.dockerMessages.hoverHealthcheckFlagRetries,HEALTHCHECK_FlagStartInterval:this.dockerMessages.hoverHealthcheckFlagStartInterval,HEALTHCHECK_FlagStartPeriod:this.dockerMessages.hoverHealthcheckFlagStartPeriod,HEALTHCHECK_FlagTimeout:this.dockerMessages.hoverHealthcheckFlagTimeout,HEALTHCHECK_NONE:this.dockerMessages.proposalHealthcheckNone,LABEL:this.dockerMessages.hoverLabel+'LABEL version="1.0"',MAINTAINER:this.dockerMessages.hoverMaintainer+"MAINTAINER name",ONBUILD:this.dockerMessages.hoverOnbuild+"ONBUILD ADD . /opt/app/src/extensions\nONBUILD RUN /usr/local/bin/build.sh /opt/app",RUN:this.dockerMessages.hoverRun+"RUN apt-get update && apt-get install -y curl",SHELL:this.dockerMessages.hoverShell+'SHELL [ "powershell", "-command" ]',STOPSIGNAL:this.dockerMessages.hoverStopsignal+"STOPSIGNAL 9",USER:this.dockerMessages.hoverUser+"USER daemon",VOLUME:this.dockerMessages.hoverVolume+'VOLUME [ "/var/db" ]',WORKDIR:this.dockerMessages.hoverWorkdir+"WORKDIR /path/to/workdir\nWORKDIR relative/path",escape:this.dockerMessages.hoverEscape+"# escape=`",syntax:this.dockerMessages.hoverSyntax+"# syntax=docker/dockerfile:1.0\n# syntax=docker/dockerfile:1.0.0-experimental",signatureEscape:this.dockerMessages.signatureEscape,signatureEscape_Param:this.dockerMessages.signatureEscape_Param,signatureAdd_Signature0:this.dockerMessages.signatureAdd_Signature0,signatureAdd_Signature0_Param0:this.dockerMessages.signatureCopy_Signature0_Param0,signatureAdd_Signature0_Param1:this.dockerMessages.signatureAdd_Signature0_Param1,signatureAdd_Signature0_Param2:this.dockerMessages.signatureAdd_Signature0_Param1,signatureAdd_Signature0_Param3:this.dockerMessages.signatureAdd_Signature0_Param3,signatureAdd_Signature1:this.dockerMessages.signatureAdd_Signature0,signatureAdd_Signature1_Param0:this.dockerMessages.signatureCopy_Signature0_Param0,signatureAdd_Signature1_Param2:this.dockerMessages.signatureAdd_Signature0_Param1,signatureAdd_Signature1_Param3:this.dockerMessages.signatureAdd_Signature0_Param1,signatureAdd_Signature1_Param4:this.dockerMessages.signatureAdd_Signature0_Param3,signatureArg_Signature0:this.dockerMessages.signatureArg_Signature0,signatureArg_Signature0_Param:this.dockerMessages.signatureArg_Signature0_Param,signatureArg_Signature1:this.dockerMessages.signatureArg_Signature1,signatureArg_Signature1_Param0:this.dockerMessages.signatureArg_Signature0_Param,signatureArg_Signature1_Param1:this.dockerMessages.signatureArg_Signature1_Param1,signatureCmd_Signature0:this.dockerMessages.signatureCmd_Signature0,signatureCmd_Signature0_Param1:this.dockerMessages.signatureCmd_Signature0_Param0,signatureCmd_Signature0_Param2:this.dockerMessages.signatureCmd_Signature0_Param1,signatureCmd_Signature0_Param3:this.dockerMessages.signatureCmd_Signature0_Param1,signatureCmd_Signature1:this.dockerMessages.signatureCmd_Signature1,signatureCmd_Signature1_Param1:this.dockerMessages.signatureCmd_Signature1_Param0,signatureCmd_Signature1_Param2:this.dockerMessages.signatureCmd_Signature1_Param0,signatureCmd_Signature1_Param3:this.dockerMessages.signatureCmd_Signature1_Param0,signatureCmd_Signature2:this.dockerMessages.signatureCmd_Signature0,signatureCmd_Signature2_Param0:this.dockerMessages.signatureCmd_Signature0_Param0,signatureCmd_Signature2_Param1:this.dockerMessages.signatureCmd_Signature0_Param1,signatureCmd_Signature2_Param2:this.dockerMessages.signatureCmd_Signature0_Param1,signatureCopy_Signature0:this.dockerMessages.signatureCopy_Signature0,signatureCopy_Signature0_Param0:this.dockerMessages.signatureCopy_Signature0_Param0,signatureCopy_Signature0_Param1:this.dockerMessages.signatureCopy_Signature0_Param1,signatureCopy_Signature0_Param2:this.dockerMessages.signatureCopy_Signature0_Param1,signatureCopy_Signature0_Param3:this.dockerMessages.signatureAdd_Signature0_Param3,signatureCopy_Signature1:this.dockerMessages.signatureCopy_Signature0,signatureCopy_Signature1_Param0:this.dockerMessages.signatureCopy_Signature0_Param0,signatureCopy_Signature1_Param2:this.dockerMessages.signatureCopy_Signature0_Param1,signatureCopy_Signature1_Param3:this.dockerMessages.signatureCopy_Signature0_Param1,signatureCopy_Signature1_Param4:this.dockerMessages.signatureAdd_Signature0_Param3,signatureCopyFlagFrom:this.dockerMessages.signatureCopyFlagFrom,signatureCopyFlagFrom_Param:this.dockerMessages.signatureCopyFlagFrom_Param,signatureEntrypoint_Signature0:this.dockerMessages.signatureEntrypoint_Signature0,signatureEntrypoint_Signature0_Param1:this.dockerMessages.signatureEntrypoint_Signature0_Param1,signatureEntrypoint_Signature0_Param2:this.dockerMessages.signatureEntrypoint_Signature0_Param2,signatureEntrypoint_Signature0_Param3:this.dockerMessages.signatureEntrypoint_Signature0_Param2,signatureEntrypoint_Signature1:this.dockerMessages.signatureEntrypoint_Signature0,signatureEntrypoint_Signature1_Param0:this.dockerMessages.signatureEntrypoint_Signature0_Param1,signatureEntrypoint_Signature1_Param1:this.dockerMessages.signatureEntrypoint_Signature0_Param2,signatureEntrypoint_Signature1_Param2:this.dockerMessages.signatureEntrypoint_Signature0_Param2,signatureEnv_Signature0:this.dockerMessages.signatureEnv_Signature0,signatureEnv_Signature0_Param0:this.dockerMessages.signatureEnv_Signature0_Param0,signatureEnv_Signature0_Param1:this.dockerMessages.signatureEnv_Signature0_Param1,signatureEnv_Signature1:this.dockerMessages.signatureEnv_Signature0,signatureEnv_Signature1_Param0:this.dockerMessages.signatureEnv_Signature0_Param0,signatureEnv_Signature1_Param1:this.dockerMessages.signatureEnv_Signature0_Param1,signatureEnv_Signature2:this.dockerMessages.signatureEnv_Signature0,signatureEnv_Signature2_Param0:this.dockerMessages.signatureEnv_Signature0_Param0,signatureEnv_Signature2_Param1:this.dockerMessages.signatureEnv_Signature0_Param1,signatureEnv_Signature2_Param2:this.dockerMessages.signatureEnv_Signature0_Param0,signatureEnv_Signature2_Param3:this.dockerMessages.signatureEnv_Signature0_Param1,signatureExpose:this.dockerMessages.signatureExpose,signatureExpose_Param0:this.dockerMessages.signatureExpose_Param0,signatureExpose_Param1:this.dockerMessages.signatureExpose_Param0,signatureFrom_Signature0:this.dockerMessages.signatureFrom_Signature0,signatureFrom_Signature0_Param:this.dockerMessages.signatureFrom_Signature0_Param,signatureFrom_Signature1:this.dockerMessages.signatureFrom_Signature0,signatureFrom_Signature1_Param0:this.dockerMessages.signatureFrom_Signature0_Param,signatureFrom_Signature1_Param1:this.dockerMessages.signatureFrom_Signature1_Param1,signatureFrom_Signature2:this.dockerMessages.signatureFrom_Signature0,signatureFrom_Signature2_Param0:this.dockerMessages.signatureFrom_Signature0_Param,signatureFrom_Signature2_Param1:this.dockerMessages.signatureFrom_Signature2_Param1,signatureFrom_Signature3:this.dockerMessages.signatureFrom_Signature3,signatureFrom_Signature3_Param0:this.dockerMessages.signatureFrom_Signature0_Param,signatureFrom_Signature3_Param2:this.dockerMessages.signatureFrom_Signature3_Param2,signatureFrom_Signature4:this.dockerMessages.signatureFrom_Signature3,signatureFrom_Signature4_Param0:this.dockerMessages.signatureFrom_Signature0_Param,signatureFrom_Signature4_Param1:this.dockerMessages.signatureFrom_Signature1_Param1,signatureFrom_Signature4_Param3:this.dockerMessages.signatureFrom_Signature3_Param2,signatureFrom_Signature5:this.dockerMessages.signatureFrom_Signature3,signatureFrom_Signature5_Param0:this.dockerMessages.signatureFrom_Signature0_Param,signatureFrom_Signature5_Param1:this.dockerMessages.signatureFrom_Signature2_Param1,signatureFrom_Signature5_Param3:this.dockerMessages.signatureFrom_Signature3_Param2,signatureHealthcheck:this.dockerMessages.signatureHealthcheck_Signature0,signatureHealthcheck_Signature0:this.dockerMessages.signatureHealthcheck_Signature0,signatureHealthcheck_Signature1:this.dockerMessages.signatureHealthcheck_Signature0,signatureHealthcheck_Signature1_Param0:this.dockerMessages.signatureCopy_Signature0_Param0,signatureHealthcheck_Signature1_Param2:this.dockerMessages.signatureHealthcheck_Signature1_Param2,signatureHealthcheck_Signature2:this.dockerMessages.signatureHealthcheck_Signature0,signatureHealthcheckFlagInterval_Param:this.dockerMessages.hoverHealthcheckFlagInterval,signatureHealthcheckFlagRetries_Param:this.dockerMessages.hoverHealthcheckFlagRetries,signatureHealthcheckFlagStartPeriod_Param:this.dockerMessages.hoverHealthcheckFlagStartPeriod,signatureHealthcheckFlagTimeout_Param:this.dockerMessages.hoverHealthcheckFlagTimeout,signatureLabel_Signature0:this.dockerMessages.signatureLabel_Signature0,signatureLabel_Signature0_Param0:this.dockerMessages.signatureLabel_Signature0_Param0,signatureLabel_Signature0_Param1:this.dockerMessages.signatureLabel_Signature0_Param1,signatureLabel_Signature1:this.dockerMessages.signatureLabel_Signature0,signatureLabel_Signature1_Param0:this.dockerMessages.signatureLabel_Signature0_Param0,signatureLabel_Signature1_Param1:this.dockerMessages.signatureLabel_Signature0_Param1,signatureLabel_Signature2:this.dockerMessages.signatureLabel_Signature0,signatureLabel_Signature2_Param0:this.dockerMessages.signatureLabel_Signature0_Param0,signatureLabel_Signature2_Param1:this.dockerMessages.signatureLabel_Signature0_Param1,signatureLabel_Signature2_Param2:this.dockerMessages.signatureLabel_Signature0_Param0,signatureLabel_Signature2_Param3:this.dockerMessages.signatureLabel_Signature0_Param1,signatureMaintainer:this.dockerMessages.signatureMaintainer,signatureMaintainer_Param:this.dockerMessages.signatureMaintainer_Param,signatureOnbuild:this.dockerMessages.signatureOnbuild,signatureOnbuild_Param:this.dockerMessages.signatureOnbuild_Param,signatureRun_Signature0:this.dockerMessages.signatureRun_Signature0,signatureRun_Signature0_Param0:this.dockerMessages.signatureRun_Signature0_Param0,signatureRun_Signature0_Param1:this.dockerMessages.signatureRun_Signature0_Param1,signatureRun_Signature0_Param2:this.dockerMessages.signatureRun_Signature0_Param1,signatureRun_Signature1:this.dockerMessages.signatureRun_Signature1,signatureRun_Signature1_Param1:this.dockerMessages.signatureRun_Signature0_Param0,signatureRun_Signature1_Param2:this.dockerMessages.signatureRun_Signature0_Param1,signatureRun_Signature1_Param3:this.dockerMessages.signatureRun_Signature0_Param1,signatureShell:this.dockerMessages.signatureShell,signatureShell_Param1:this.dockerMessages.signatureShell_Param1,signatureShell_Param2:this.dockerMessages.signatureShell_Param2,signatureShell_Param3:this.dockerMessages.signatureShell_Param2,signatureStopsignal:this.dockerMessages.signatureStopsignal,signatureStopsignal_Param:this.dockerMessages.signatureStopsignal_Param,signatureUser_Signature0:this.dockerMessages.signatureUser_Signature0,signatureUser_Signature0_Param:this.dockerMessages.signatureUser_Signature0_Param,signatureUser_Signature1:this.dockerMessages.signatureUser_Signature1,signatureUser_Signature1_Param0:this.dockerMessages.signatureUser_Signature0,signatureUser_Signature1_Param1:this.dockerMessages.signatureUser_Signature1_Param1,signatureUser_Signature2:this.dockerMessages.signatureUser_Signature2,signatureUser_Signature2_Param:this.dockerMessages.signatureUser_Signature2_Param,signatureUser_Signature3:this.dockerMessages.signatureUser_Signature3,signatureUser_Signature3_Param0:this.dockerMessages.signatureUser_Signature2_Param,signatureUser_Signature3_Param1:this.dockerMessages.signatureUser_Signature3_Param1,signatureVolume_Signature0:this.dockerMessages.signatureVolume_Signature0,signatureVolume_Signature0_Param0:this.dockerMessages.signatureVolume_Signature0_Param0,signatureVolume_Signature0_Param1:this.dockerMessages.signatureVolume_Signature0_Param0,signatureVolume_Signature1:this.dockerMessages.signatureVolume_Signature0,signatureVolume_Signature1_Param1:this.dockerMessages.signatureVolume_Signature0_Param0,signatureVolume_Signature1_Param2:this.dockerMessages.signatureVolume_Signature0_Param0,signatureWorkdir:this.dockerMessages.signatureWorkdir,signatureWorkdir_Param:this.dockerMessages.signatureWorkdir_Param}}return PlainTextDocumentation.prototype.getDocumentation=function(e){return this.markdowns[e]},PlainTextDocumentation}();t.PlainTextDocumentation=n},33014:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DockerRegistryClient=void 0;var r=n(95687),i=function(){function DockerRegistryClient(e){this.logger=e}return DockerRegistryClient.prototype.getTags=function(e,t){var n=this;return-1===e.indexOf("/")&&(e="library/"+e),this.requestToken(e).then((function(r){return null===r?[]:n.listTags(r.token,e).then((function(e){if(!t)return e.tags;for(var n=[],r=0,i=e.tags;r<i.length;r++){var o=i[r];0===o.indexOf(t)&&n.push(o)}return n}))}))},DockerRegistryClient.prototype.requestToken=function(e){var t=this;return this.performHttpsGet({hostname:"auth.docker.io",port:443,path:"/token?service=registry.docker.io&scope=repository:"+e+":pull",headers:{Accept:"application/json"}}).catch((function(e){return t.log(e),null}))},DockerRegistryClient.prototype.listTags=function(e,t){var n=this;return this.performHttpsGet({hostname:"registry-1.docker.io",port:443,path:"/v2/"+t+"/tags/list",headers:{Accept:"application/json",Authorization:"Bearer "+e}}).catch((function(e){return n.log(e),{tags:[]}}))},DockerRegistryClient.prototype.performHttpsGet=function(e){return new Promise((function(t,n){var i=r.get(e,(function(e){if(200!==e.statusCode){var r=new Error(e.statusMessage);r.statusCode=e.statusCode,n(r)}else{var i="";e.on("data",(function(e){i+=e})),e.on("end",(function(){t(JSON.parse(i))}))}}));i.end(),i.on("error",(function(e){n(e)}))}))},DockerRegistryClient.prototype.log=function(e){this.logger&&this.logger.log(e.toString())},DockerRegistryClient}();t.DockerRegistryClient=i},45907:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DockerRename=void 0;var r=n(28661),i=n(243),o=n(39759),a=n(54513),s=function(){function DockerRename(){}return DockerRename.prototype.prepareRename=function(e,t){for(var n=i.DockerfileParser.parse(e),r=n.getContainingImage(t),o=0,s=n.getCOPYs();o<s.length;o++){var c=s[o].getFromFlag();if(c){var u=c.getValueRange();if(a.Util.isInsideRange(t,u))return u}}for(var l=0,g=r.getFROMs();l<g.length;l++){var d=g[l];if(a.Util.isInsideRange(t,d.getBuildStageRange()))return d.getBuildStageRange()}for(var h=0,m=r.getENVs();h<m.length;h++)for(var f=0,p=m[h].getProperties();f<p.length;f++){var v=p[f];if(a.Util.isInsideRange(t,v.getNameRange()))return v.getNameRange()}for(var R=0,b=r.getARGs();R<b.length;R++){if(null!==(v=b[R].getProperty())&&a.Util.isInsideRange(t,v.getNameRange()))return v.getNameRange()}for(var D=0,y=r.getInstructions();D<y.length;D++)for(var _=0,k=y[D].getVariables();_<k.length;_++){var S=k[_];if(a.Util.isInsideRange(t,S.getNameRange()))return S.getNameRange()}return null},DockerRename.prototype.rename=function(e,t,n,i){for(var a=[],s=0,c=(new o.DockerHighlight).computeHighlightRanges(t,n);s<c.length;s++){var u=c[s];a.push(r.TextEdit.replace(u.range,i))}return a},DockerRename}();t.DockerRename=s},40450:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DockerSemanticTokens=t.TokensLegend=void 0;var r=n(31040),i=n(28661),o=n(243),a=n(54513),s=function(){function TokensLegend(){}return TokensLegend.init=function(){var e=0;this.tokenTypes[i.SemanticTokenTypes.keyword]=e++,this.tokenTypes[i.SemanticTokenTypes.comment]=e++,this.tokenTypes[i.SemanticTokenTypes.parameter]=e++,this.tokenTypes[i.SemanticTokenTypes.property]=e++,this.tokenTypes[i.SemanticTokenTypes.namespace]=e++,this.tokenTypes[i.SemanticTokenTypes.class]=e++,this.tokenTypes[i.SemanticTokenTypes.macro]=e++,this.tokenTypes[i.SemanticTokenTypes.string]=e++,this.tokenTypes[i.SemanticTokenTypes.variable]=e++,this.tokenTypes[i.SemanticTokenTypes.operator]=e++,this.tokenTypes[i.SemanticTokenTypes.modifier]=e++,this.tokenModifiers[i.SemanticTokenModifiers.declaration]=1,this.tokenModifiers[i.SemanticTokenModifiers.definition]=2,this.tokenModifiers[i.SemanticTokenModifiers.deprecated]=4},TokensLegend.getTokenType=function(e){return this.tokenTypes[e]},TokensLegend.getTokenModifiers=function(e){for(var t=0,n=0,r=e;n<r.length;n++){var i=r[n];t|=this.tokenModifiers[i]}return t},TokensLegend.tokenTypes={},TokensLegend.tokenModifiers={},TokensLegend}();t.TokensLegend=s,s.init();var c=function(){function DockerSemanticTokens(e){this.currentRange=null,this.tokens=[],this.quote=null,this.escapedQuote=null,this.content=e,this.document=r.TextDocument.create("","",0,e),this.dockerfile=o.DockerfileParser.parse(e),this.escapeCharacter=this.dockerfile.getEscapeCharacter()}return DockerSemanticTokens.prototype.computeSemanticTokens=function(){for(var e=this.dockerfile.getComments(),t=0,n=this.dockerfile.getInstructions();t<n.length;t++){if((l=n[t].getRange()).start.line!==l.end.line)for(var r=0;r<e.length;r++){var a=e[r].getRange();l.start.line<a.start.line&&a.start.line<l.end.line&&(e.splice(r,1),r--)}}(e=e.concat(this.dockerfile.getInstructions())).sort((function(e,t){return e.getRange().start.line-t.getRange().start.line}));for(var s=0,c=this.dockerfile.getDirectives();s<c.length;s++){var u=c[s],l=u.getRange(),g=u.getNameRange(),d={start:l.start,end:g.start};this.createToken(null,d,i.SemanticTokenTypes.comment,[],!1),this.createToken(null,g,i.SemanticTokenTypes.property,[],!1);var h=u.getValueRange(),m={start:{character:h.start.character-1,line:h.start.line},end:{character:h.start.character,line:h.start.line}};this.createToken(null,m,i.SemanticTokenTypes.operator,[],!1),h.start.character!==h.end.character&&this.createToken(null,h,i.SemanticTokenTypes.parameter,[],!1)}for(r=0;r<e.length;r++)if(e[r]instanceof o.Comment){l=e[r].getRange();this.createToken(null,l,i.SemanticTokenTypes.comment,[],!1)}else this.quote=null,this.escapedQuote=null,this.createTokensForInstruction(e[r]);return{data:this.tokens}},DockerSemanticTokens.prototype.createTokensForInstruction=function(e){var t=e.getInstructionRange(),n=[];if(e.getKeyword()===o.Keyword.MAINTAINER&&(n=[i.SemanticTokenModifiers.deprecated]),this.createToken(e,t,i.SemanticTokenTypes.keyword,n),e instanceof o.ModifiableInstruction)for(var r=0,a=e.getFlags();r<a.length;r++){var s=a[r],c=s.getRange(),u=s.getNameRange(),l={start:c.start,end:u.end};this.createToken(e,l,i.SemanticTokenTypes.parameter);var g=s.getValue();if(null!==g)if(s.hasOptions()){var d={start:l.end,end:{line:l.end.line,character:l.end.character+1}};this.createToken(e,d,i.SemanticTokenTypes.operator,[],!1,!1);for(var h=0,m=s.getOptions();h<m.length;h++){var f=m[h];if(u=f.getNameRange(),this.createToken(e,u,i.SemanticTokenTypes.parameter),null!==(v=f.getValueRange())){var p={start:u.end,end:v.start};this.createToken(e,p,i.SemanticTokenTypes.operator,[],!1,!1),""!==f.getValue()&&this.createToken(e,v,i.SemanticTokenTypes.property)}}}else{var v=s.getValueRange();d={start:l.end,end:v.start};this.createToken(e,d,i.SemanticTokenTypes.operator,[],!1,!1),""!==g&&this.createToken(e,v,i.SemanticTokenTypes.property)}}var R=e.getArguments();if(0!==R.length){switch(e.getKeyword()){case o.Keyword.ARG:case o.Keyword.ENV:for(var b=0,D=e.getProperties();b<D.length;b++){var y=D[b];u=y.getNameRange();if(this.createToken(e,u,i.SemanticTokenTypes.variable,[i.SemanticTokenModifiers.declaration],!1),null!==(v=y.getValueRange())){d={start:u.end,end:v.start};if(this.document.getText(d).startsWith("=")){var _=this.document.offsetAt(u.end);d={start:u.end,end:this.document.positionAt(_+1)},this.createToken(e,d,i.SemanticTokenTypes.operator,[],!1,!1)}this.createToken(e,v,i.SemanticTokenTypes.parameter,[],!0,!0)}}return;case o.Keyword.FROM:var k=e;this.createToken(e,k.getImageNameRange(),i.SemanticTokenTypes.class);var S=k.getImageTagRange();null!==S&&this.createToken(e,S,i.SemanticTokenTypes.property);var T=k.getImageDigestRange();null!==T&&this.createToken(e,T,i.SemanticTokenTypes.property);var C=e.getArguments();if(C.length>1)if("AS"===C[1].getValue().toUpperCase()){var A=C[1].getRange();this.createToken(e,A,i.SemanticTokenTypes.keyword),C.length>2&&(this.createToken(e,C[2].getRange(),i.SemanticTokenTypes.namespace),C.length>3&&this.createArgumentTokens(e,C.slice(3)))}else this.createArgumentTokens(e,C.slice(1));return;case o.Keyword.HEALTHCHECK:P=e.getSubcommand().getRange();return this.createToken(e,P,i.SemanticTokenTypes.keyword),void(R.length>1&&this.createArgumentTokens(e,R.slice(1)));case o.Keyword.ONBUILD:var E=e;return void this.createTokensForInstruction(E.getTriggerInstruction())}this.createArgumentTokens(e,R)}else{var P;(P=e.getRange()).start.line!==P.end.line&&this.handleLineChange(e,t.end,P.end)}},DockerSemanticTokens.prototype.createArgumentTokens=function(e,t){for(var n=null,r=0;r<t.length;r++)n=t[r].getRange(),this.createToken(e,t[r].getRange(),i.SemanticTokenTypes.parameter,[],!0,!0);var o=e.getRange();n.end.line===o.end.line&&n.end.character===o.end.character||this.handleLineChange(e,n.end,o.end)},DockerSemanticTokens.prototype.handleLineChange=function(e,t,n){for(var r=-1,o=this.document.offsetAt(t);o<this.document.offsetAt(n);o++)switch(this.content.charAt(o)){case this.escapeCharacter:-1===r&&this.createEscapeToken(e,o);break;case"\r":case"\n":if(-1!==r){var a={start:this.document.positionAt(r),end:this.document.positionAt(o)};this.createToken(null,a,i.SemanticTokenTypes.comment,[],!1),r=-1}break;case"#":-1===r&&(r=o)}},DockerSemanticTokens.prototype.createEscapeToken=function(e,t){var n={start:this.document.positionAt(t),end:this.document.positionAt(t+1)};this.createToken(e,n,i.SemanticTokenTypes.macro,[],!1,!1,!1)},DockerSemanticTokens.prototype.createVariableToken=function(e,t,n){var r=t.getModifierRange();if(null===r)this.createToken(e,n,i.SemanticTokenTypes.variable,[],!1);else{var o=i.Range.create(i.Position.create(r.start.line,r.start.character-1),r.start);n.start.character<o.start.character&&(this.createToken(e,i.Range.create(n.start,o.start),i.SemanticTokenTypes.variable,[],!1),this.createToken(e,o,i.SemanticTokenTypes.operator,[],!1,!1,!1)),n.end.character>o.end.character&&(r.end.character>=n.start.character?(r.start.character!==r.end.character&&this.createToken(e,r,i.SemanticTokenTypes.modifier,[],!1,!1,!1),r.end.character!==n.end.character&&this.createToken(e,i.Range.create(r.end,n.end),i.SemanticTokenTypes.variable,[],!1)):this.createToken(e,n,i.SemanticTokenTypes.variable,[],!1))}},DockerSemanticTokens.prototype.createToken=function(e,t,n,r,o,c,u){if(void 0===r&&(r=[]),void 0===o&&(o=!0),void 0===c&&(c=!1),void 0===u&&(u=!0),u&&null!==this.currentRange&&this.currentRange.end.line!==t.start.line&&this.handleLineChange(e,this.currentRange.end,t.start),c){var l=T=this.document.offsetAt(t.start),g=-1,d=!1,h=this.document.offsetAt(t.end);e:for(var m=T;m<h;m++){switch(E=this.content.charAt(m)){case this.escapeCharacter:t:for(var f=m+1;f<h;f++){switch(this.content.charAt(f)){case" ":case"\t":continue;case"\r":f++;case"\n":d=!0,m=f;continue e;default:break t}}d=!1,-1===T&&(T=m);break;case"'":case'"':if(d=!1,null===this.quote){if(null===this.escapedQuote&&(this.quote=E,l=m,-1!==T&&T!==l)){var p={start:this.document.positionAt(T),end:this.document.positionAt(l)};this.createToken(e,p,n,r)}}else if(this.quote===E){var v={start:this.document.positionAt(l),end:this.document.positionAt(m+1)};this.createToken(e,v,i.SemanticTokenTypes.string,[],!0,!1),g=m+1,T=-1,this.quote=null}break;case"#":if(d){for(f=m+1;f<h;f++){switch(this.content.charAt(f)){case"\r":f++;case"\n":m=f;continue e}}break}case" ":case"\t":case"\r":case"\n":if(d)continue;default:d=!1,-1===T&&(T=m)}}if(null!==this.quote){v={start:this.document.positionAt(l),end:this.document.positionAt(h)};return void this.createToken(e,v,i.SemanticTokenTypes.string,[],!0,!1)}if(-1!==g){if(g!==h){p={start:this.document.positionAt(g),end:this.document.positionAt(h)};this.createToken(e,p,n,r)}return}null===this.quote&&null===this.escapedQuote||(n=i.SemanticTokenTypes.string,t={start:this.document.positionAt(l),end:t.end})}if(t.start.line===t.end.line){if(o){for(var R=t.start,b=null,D=0,y=e.getVariables();D<y.length;D++){var _=y[D],k=_.getRange();if(a.Util.isInsideRange(t.start,k)&&a.Util.isInsideRange(t.end,k)){if(n===i.SemanticTokenTypes.string)break;return void this.createVariableToken(e,_,t)}if(a.Util.isInsideRange(k.start,t)){a.Util.positionBefore(R,k.start)&&this.createToken(e,{start:R,end:k.start},n,r,!1);var S=k;if(k.end.character>t.end.character&&(S.end=t.end),this.createVariableToken(e,_,S),b=k,a.Util.positionEquals(t.end,k.end))return;R=k.end}}null!==b&&(t={start:b.end,end:t.end})}null===this.currentRange?this.tokens=this.tokens.concat([t.start.line,t.start.character,t.end.character-t.start.character,s.getTokenType(n),s.getTokenModifiers(r)]):this.currentRange.end.line!==t.start.line?this.tokens=this.tokens.concat([t.start.line-this.currentRange.end.line,t.start.character,t.end.character-t.start.character,s.getTokenType(n),s.getTokenModifiers(r)]):this.tokens=this.tokens.concat([t.start.line-this.currentRange.start.line,t.start.character-this.currentRange.start.character,t.end.character-t.start.character,s.getTokenType(n),s.getTokenModifiers(r)]),this.currentRange=t}else{var T=this.document.offsetAt(t.start),C=(h=this.document.offsetAt(t.end),!1),A=!0;for(d=!1,m=T;m<h;m++){var E;switch(E=this.content.charAt(m)){case"#":if(d){var P=!0;e:for(f=m+1;f<h;f++)switch(this.content.charAt(f)){case" ":case"\t":break;case"\r":var I={start:this.document.positionAt(m),end:this.document.positionAt(f)};this.createToken(null,I,i.SemanticTokenTypes.comment,[],!1),m=f+1,T=-1,P=!1,f++;break;case"\n":var N={start:this.document.positionAt(m),end:this.document.positionAt(f)};this.createToken(null,N,i.SemanticTokenTypes.comment,[],!1),m=f,T=-1,P=!1;break;case"#":P||(m=f),P=!0;break;default:if(P)break;m=f-1;break e}}break;case this.escapeCharacter:var M=!1;e:for(f=m+1;f<h;f++)switch(this.content.charAt(f)){case" ":case"\t":case"\r":break;case"\n":if(!M){if(!C&&-1!==T){if(m!==T){var O={start:this.document.positionAt(T),end:this.document.positionAt(m)};this.createToken(e,O,n,r)}C=!0}this.createEscapeToken(e,m)}A=!1,d=!0,M=!0,m=f,T=-1;break;case"#":if(d){m=f-1;break e}case"\\":if(!d){C=!1,d=!1,m=f;break e}m=f,M=!1,T=f;break;default:-1===T&&(C=!1,d=!1,T=f,m=f);break e}break;default:-1===T&&(C=!1,d=!1,T=m)}}if(-1===T)return;p={start:this.document.positionAt(T),end:this.document.positionAt(h)};this.createToken(e,p,n,r,o,c,A)}},DockerSemanticTokens}();t.DockerSemanticTokens=c},60714:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DockerSignatures=void 0;var r=n(31040),i=n(69859),o=n(243),a=n(54513),s=function(){function DockerSignatures(){this.documentation=new i.PlainTextDocumentation}return DockerSignatures.prototype.computeSignatures=function(e,t){var n=r.TextDocument.create("","",0,e),i=o.DockerfileParser.parse(n.getText());if(0===t.line){var s=i.getDirective();if(null!==s&&s.getDirective()===o.Directive.escape)return{signatures:[{label:"escape=\\",documentation:this.documentation.getDocumentation("signatureEscape"),parameters:[{label:"\\",documentation:this.documentation.getDocumentation("signatureEscape_Param")}]}],activeSignature:0,activeParameter:0}}for(var c=0,u=i.getComments();c<u.length;c++){var l=u[c];if(a.Util.isInsideRange(t,l.getRange()))return{signatures:[],activeSignature:null,activeParameter:null}}var g=this.getInstructionSignatures(n,i.getOnbuildTriggers(),t);return g||(g=this.getInstructionSignatures(n,i.getInstructions(),t))||(g={signatures:[],activeSignature:null,activeParameter:null}),g},DockerSignatures.prototype.getInstructionSignatures=function(e,t,n){for(var r=0,i=t;r<i.length;r++){var o=i[r];if(a.Util.isInsideRange(n,o.getRange())){if(a.Util.isInsideRange(n,o.getInstructionRange()))return null;switch(o.getKeyword()){case"ADD":var s=o,c={label:"ADD [flags] source ... dest",documentation:this.documentation.getDocumentation("signatureAdd_Signature0"),parameters:[{label:"[flags]",documentation:this.documentation.getDocumentation("signatureAdd_Signature0_Param0")},{label:"source",documentation:this.documentation.getDocumentation("signatureAdd_Signature0_Param1")},{label:"...",documentation:this.documentation.getDocumentation("signatureAdd_Signature0_Param2")},{label:"dest",documentation:this.documentation.getDocumentation("signatureAdd_Signature0_Param3")}]},u={label:'ADD [flags] [ "source", ..., "dest" ]',documentation:this.documentation.getDocumentation("signatureAdd_Signature1"),parameters:[{label:"[flags]",documentation:this.documentation.getDocumentation("signatureAdd_Signature1_Param0")},{label:"["},{label:'"source"',documentation:this.documentation.getDocumentation("signatureAdd_Signature1_Param2")},{label:"...",documentation:this.documentation.getDocumentation("signatureAdd_Signature1_Param3")},{label:'"dest"',documentation:this.documentation.getDocumentation("signatureAdd_Signature1_Param4")},{label:"]"}]};return this.getJSONInstructionSignatureHelp(e,s,n,[u],c,!0,!1,!1,!1);case"ARG":var l={signatures:[{label:"ARG name",documentation:this.documentation.getDocumentation("signatureArg_Signature0"),parameters:[{label:"name",documentation:this.documentation.getDocumentation("signatureArg_Signature0_Param")}]},{label:"ARG name=defaultValue",documentation:this.documentation.getDocumentation("signatureArg_Signature1"),parameters:[{label:"name",documentation:this.documentation.getDocumentation("signatureArg_Signature1_Param0")},{label:"defaultValue",documentation:this.documentation.getDocumentation("signatureArg_Signature1_Param1")}]}],activeSignature:0,activeParameter:0},g=o.getTextContent().indexOf("=");return-1!==g&&(l={signatures:[{label:"ARG name=defaultValue",documentation:this.documentation.getDocumentation("signatureArg_Signature1"),parameters:[{label:"name",documentation:this.documentation.getDocumentation("signatureArg_Signature1_Param0")},{label:"defaultValue",documentation:this.documentation.getDocumentation("signatureArg_Signature1_Param1")}]}],activeSignature:0,activeParameter:0},e.offsetAt(n)>e.offsetAt(o.getRange().start)+g&&(l.activeParameter=1)),l;case"CMD":var d=o,h={label:'CMD [ "executable", "parameter", ... ]',documentation:this.documentation.getDocumentation("signatureCmd_Signature0"),parameters:[{label:"["},{label:'"executable"',documentation:this.documentation.getDocumentation("signatureCmd_Signature0_Param1")},{label:'"parameter"',documentation:this.documentation.getDocumentation("signatureCmd_Signature0_Param2")},{label:"...",documentation:this.documentation.getDocumentation("signatureCmd_Signature0_Param3")},{label:"]"}]},m={label:'CMD [ "parameter", "parameter2", ... ]',documentation:this.documentation.getDocumentation("signatureCmd_Signature1"),parameters:[{label:"["},{label:'"parameter"',documentation:this.documentation.getDocumentation("signatureCmd_Signature1_Param1")},{label:'"parameter2"',documentation:this.documentation.getDocumentation("signatureCmd_Signature1_Param2")},{label:"...",documentation:this.documentation.getDocumentation("signatureCmd_Signature1_Param3")},{label:"]"}]},f={label:"CMD executable parameter ...",documentation:this.documentation.getDocumentation("signatureCmd_Signature2"),parameters:[{label:"executable",documentation:this.documentation.getDocumentation("signatureCmd_Signature2_Param0")},{label:"parameter",documentation:this.documentation.getDocumentation("signatureCmd_Signature2_Param1")},{label:"...",documentation:this.documentation.getDocumentation("signatureCmd_Signature2_Param2")}]};return this.getJSONInstructionSignatureHelp(e,d,n,[h,m],f,!1,!0,!1,!0);case"COPY":var p=o,v=p.getFromFlag();if(null!==v)if(null!==(O=v.getValueRange())&&a.Util.isInsideRange(n,O))return{signatures:[{label:"--from=stage",documentation:this.documentation.getDocumentation("signatureCopyFlagFrom"),parameters:[{label:"stage",documentation:this.documentation.getDocumentation("signatureCopyFlagFrom_Param")}]}],activeSignature:0,activeParameter:0};var R={label:"COPY [flags] source ... dest",documentation:this.documentation.getDocumentation("signatureCopy_Signature0"),parameters:[{label:"[flags]",documentation:this.documentation.getDocumentation("signatureCopy_Signature0_Param0")},{label:"source",documentation:this.documentation.getDocumentation("signatureCopy_Signature0_Param1")},{label:"...",documentation:this.documentation.getDocumentation("signatureCopy_Signature0_Param2")},{label:"dest",documentation:this.documentation.getDocumentation("signatureCopy_Signature0_Param3")}]},b={label:'COPY [flags] [ "source", ..., "dest" ]',documentation:this.documentation.getDocumentation("signatureCopy_Signature1"),parameters:[{label:"[flags]",documentation:this.documentation.getDocumentation("signatureCopy_Signature1_Param0")},{label:"["},{label:'"source"',documentation:this.documentation.getDocumentation("signatureCopy_Signature1_Param2")},{label:"...",documentation:this.documentation.getDocumentation("signatureCopy_Signature1_Param3")},{label:'"dest"',documentation:this.documentation.getDocumentation("signatureCopy_Signature1_Param4")},{label:"]"}]};return this.getJSONInstructionSignatureHelp(e,p,n,[b],R,!0,!1,!1,!1);case"ENTRYPOINT":var D=o,y={label:'ENTRYPOINT [ "executable", "parameter", ... ]',documentation:this.documentation.getDocumentation("signatureEntrypoint_Signature0"),parameters:[{label:"["},{label:'"executable"',documentation:this.documentation.getDocumentation("signatureEntrypoint_Signature0_Param1")},{label:'"parameter"',documentation:this.documentation.getDocumentation("signatureEntrypoint_Signature0_Param2")},{label:"...",documentation:this.documentation.getDocumentation("signatureEntrypoint_Signature0_Param3")},{label:"]"}]},_={label:"ENTRYPOINT executable parameter ...",documentation:this.documentation.getDocumentation("signatureEntrypoint_Signature1"),parameters:[{label:"executable",documentation:this.documentation.getDocumentation("signatureEntrypoint_Signature1_Param0")},{label:"parameter",documentation:this.documentation.getDocumentation("signatureEntrypoint_Signature1_Param1")},{label:"...",documentation:this.documentation.getDocumentation("signatureEntrypoint_Signature1_Param2")}]};return this.getJSONInstructionSignatureHelp(e,D,n,[y],_,!1,!0,!1,!0);case"ENV":var k=[{label:"ENV key value",documentation:this.documentation.getDocumentation("signatureEnv_Signature0"),parameters:[{label:"key",documentation:this.documentation.getDocumentation("signatureEnv_Signature0_Param0")},{label:"value",documentation:this.documentation.getDocumentation("signatureEnv_Signature0_Param1")}]},{label:"ENV key=value",documentation:this.documentation.getDocumentation("signatureEnv_Signature1"),parameters:[{label:"key",documentation:this.documentation.getDocumentation("signatureEnv_Signature1_Param0")},{label:"value",documentation:this.documentation.getDocumentation("signatureEnv_Signature1_Param1")}]},{label:"ENV key=value key2=value2",documentation:this.documentation.getDocumentation("signatureEnv_Signature2"),parameters:[{label:"key",documentation:this.documentation.getDocumentation("signatureEnv_Signature2_Param0")},{label:"value",documentation:this.documentation.getDocumentation("signatureEnv_Signature2_Param1")},{label:"key2",documentation:this.documentation.getDocumentation("signatureEnv_Signature2_Param2")},{label:"value2",documentation:this.documentation.getDocumentation("signatureEnv_Signature2_Param3")}]}];return this.getPropertySignatureHelp(e,n,k,o.getProperties());case"EXPOSE":var S={signatures:[{label:"EXPOSE port ...",documentation:this.documentation.getDocumentation("signatureExpose"),parameters:[{label:"port",documentation:this.documentation.getDocumentation("signatureExpose_Param0")},{label:"...",documentation:this.documentation.getDocumentation("signatureExpose_Param1")}]}],activeSignature:0,activeParameter:0},T=o.getArguments();return T.length>0&&e.offsetAt(n)>e.offsetAt(T[0].getRange().end)&&(S.activeParameter=1),S;case"FROM":return this.getFromSignatureHelp(n,o);case"HEALTHCHECK":for(var C={label:"HEALTHCHECK [flags] CMD ...",documentation:this.documentation.getDocumentation("signatureHealthcheck_Signature0"),parameters:[{label:"CMD"}]},A={label:"HEALTHCHECK [flags] CMD ...",documentation:this.documentation.getDocumentation("signatureHealthcheck_Signature1"),parameters:[{label:"[flags]",documentation:this.documentation.getDocumentation("signatureHealthcheck_Signature1_Param0")},{label:"CMD"},{label:"...",documentation:this.documentation.getDocumentation("signatureHealthcheck_Signature1_Param2")}]},E={label:"HEALTHCHECK NONE",documentation:this.documentation.getDocumentation("signatureHealthcheck_Signature2"),parameters:[{label:"NONE"}]},P=o,I=P.getFlags(),N=0,M=I;N<M.length;N++){var O,w=M[N];if(null!==(O=w.getValueRange())&&a.Util.isInsideRange(n,O)){switch(w.getName()){case"interval":return{signatures:[{label:"HEALTHCHECK --interval=30s ...",documentation:this.documentation.getDocumentation("signatureHealthcheck"),parameters:[{label:"30s",documentation:this.documentation.getDocumentation("signatureHealthcheckFlagInterval_Param")}]}],activeSignature:0,activeParameter:0};case"retries":return{signatures:[{label:"HEALTHCHECK --retries=3 ...",documentation:this.documentation.getDocumentation("signatureHealthcheck"),parameters:[{label:"3",documentation:this.documentation.getDocumentation("signatureHealthcheckFlagRetries_Param")}]}],activeSignature:0,activeParameter:0};case"start-period":return{signatures:[{label:"HEALTHCHECK --start-period=5s ...",documentation:this.documentation.getDocumentation("signatureHealthcheck"),parameters:[{label:"5s",documentation:this.documentation.getDocumentation("signatureHealthcheckFlagStartPeriod_Param")}]}],activeSignature:0,activeParameter:0};case"timeout":return{signatures:[{label:"HEALTHCHECK --timeout=30s ...",documentation:this.documentation.getDocumentation("signatureHealthcheck"),parameters:[{label:"30s",documentation:this.documentation.getDocumentation("signatureHealthcheckFlagTimeout_Param")}]}],activeSignature:0,activeParameter:0}}break}}var x=P.getArguments();if(0==I.length&&0===x.length)return{signatures:[C,E],activeSignature:0,activeParameter:0};var L=P.getSubcommand();if(null===L)return{signatures:[A],activeSignature:0,activeParameter:0};var F=L.isBefore(n),V=L.isAfter(n),H=L.getValue();return 0==="NONE".indexOf(H.toUpperCase())?F?null:{signatures:[E],activeSignature:0,activeParameter:0}:{signatures:[A],activeSignature:0,activeParameter:F?2:V?0:1};case"LABEL":var U=[{label:"LABEL key value",documentation:this.documentation.getDocumentation("signatureLabel_Signature0"),parameters:[{label:"key",documentation:this.documentation.getDocumentation("signatureLabel_Signature0_Param0")},{label:"value",documentation:this.documentation.getDocumentation("signatureLabel_Signature0_Param1")}]},{label:"LABEL key=value",documentation:this.documentation.getDocumentation("signatureLabel_Signature1"),parameters:[{label:"key",documentation:this.documentation.getDocumentation("signatureLabel_Signature1_Param0")},{label:"value",documentation:this.documentation.getDocumentation("signatureLabel_Signature1_Param1")}]},{label:"LABEL key=value key2=value2",documentation:this.documentation.getDocumentation("signatureLabel_Signature2"),parameters:[{label:"key",documentation:this.documentation.getDocumentation("signatureLabel_Signature2_Param0")},{label:"value",documentation:this.documentation.getDocumentation("signatureLabel_Signature2_Param1")},{label:"key2",documentation:this.documentation.getDocumentation("signatureLabel_Signature2_Param2")},{label:"value2",documentation:this.documentation.getDocumentation("signatureLabel_Signature2_Param3")}]}];return this.getPropertySignatureHelp(e,n,U,o.getProperties());case"MAINTAINER":return{signatures:[{label:"MAINTAINER name",documentation:this.documentation.getDocumentation("signatureMaintainer"),parameters:[{label:"name",documentation:this.documentation.getDocumentation("signatureMaintainer_Param")}]}],activeSignature:0,activeParameter:0};case"ONBUILD":var q=o.getArguments();return q.length>0&&q[0].isBefore(n)?null:{signatures:[{label:"ONBUILD INSTRUCTION",documentation:this.documentation.getDocumentation("signatureOnbuild"),parameters:[{label:"INSTRUCTION",documentation:this.documentation.getDocumentation("signatureOnbuild_Param")}]}],activeSignature:0,activeParameter:0};case"RUN":var W=o,j={label:"RUN command parameter ...",documentation:this.documentation.getDocumentation("signatureRun_Signature0"),parameters:[{label:"command",documentation:this.documentation.getDocumentation("signatureRun_Signature0_Param0")},{label:"parameter",documentation:this.documentation.getDocumentation("signatureRun_Signature0_Param1")},{label:"...",documentation:this.documentation.getDocumentation("signatureRun_Signature0_Param2")}]},K={label:'RUN [ "command", "parameter", ... ]',documentation:this.documentation.getDocumentation("signatureRun_Signature1"),parameters:[{label:"["},{label:'"command"',documentation:this.documentation.getDocumentation("signatureRun_Signature1_Param1")},{label:'"parameter"',documentation:this.documentation.getDocumentation("signatureRun_Signature1_Param2")},{label:"...",documentation:this.documentation.getDocumentation("signatureRun_Signature1_Param3")},{label:"]"}]};return this.getJSONInstructionSignatureHelp(e,W,n,[K],j,!1,!1,!1,!0);case"SHELL":var G=o,B={signatures:[{label:'SHELL [ "executable", "parameter", ... ]',documentation:this.documentation.getDocumentation("signatureShell"),parameters:[{label:"["},{label:'"executable"',documentation:this.documentation.getDocumentation("signatureShell_Param1")},{label:'"parameter"',documentation:this.documentation.getDocumentation("signatureShell_Param2")},{label:"...",documentation:this.documentation.getDocumentation("signatureShell_Param3")},{label:"]"}]}],activeSignature:0,activeParameter:null};return B.activeParameter=this.getJSONSignatureActiveParameter(e,G,n,!1,!1,!0),-1===B.activeParameter?null:B;case"STOPSIGNAL":return{signatures:[{label:"STOPSIGNAL signal",documentation:this.documentation.getDocumentation("signatureStopsignal"),parameters:[{label:"signal",documentation:this.documentation.getDocumentation("signatureStopsignal_Param")}]}],activeSignature:0,activeParameter:0};case"USER":var $={signatures:[{label:"USER user",documentation:this.documentation.getDocumentation("signatureUser_Signature0"),parameters:[{label:"user",documentation:this.documentation.getDocumentation("signatureUser_Signature0_Param")}]},{label:"USER user:group",documentation:this.documentation.getDocumentation("signatureUser_Signature1"),parameters:[{label:"user",documentation:this.documentation.getDocumentation("signatureUser_Signature1_Param0")},{label:"group",documentation:this.documentation.getDocumentation("signatureUser_Signature1_Param1")}]},{label:"USER uid",documentation:this.documentation.getDocumentation("signatureUser_Signature2"),parameters:[{label:"uid",documentation:this.documentation.getDocumentation("signatureUser_Signature2_Param")}]},{label:"USER uid:gid",documentation:this.documentation.getDocumentation("signatureUser_Signature3"),parameters:[{label:"uid",documentation:this.documentation.getDocumentation("signatureUser_Signature3_Param0")},{label:"gid",documentation:this.documentation.getDocumentation("signatureUser_Signature3_Param1")}]}],activeSignature:0,activeParameter:0},Y=o.getTextContent().indexOf(":");return-1!==Y&&($={signatures:[{label:"USER user:group",documentation:this.documentation.getDocumentation("signatureUser_Signature1"),parameters:[{label:"user",documentation:this.documentation.getDocumentation("signatureUser_Signature1_Param0")},{label:"group",documentation:this.documentation.getDocumentation("signatureUser_Signature1_Param1")}]},{label:"USER uid:gid",documentation:this.documentation.getDocumentation("signatureUser_Signature3"),parameters:[{label:"uid",documentation:this.documentation.getDocumentation("signatureUser_Signature3_Param0")},{label:"gid",documentation:this.documentation.getDocumentation("signatureUser_Signature3_Param1")}]}],activeSignature:0,activeParameter:0},e.offsetAt(n)>e.offsetAt(o.getRange().start)+Y&&($.activeParameter=1)),$;case"VOLUME":var z=o,J={label:'VOLUME [ "/vol", ... ]',documentation:this.documentation.getDocumentation("signatureVolume_Signature1"),parameters:[{label:"["},{label:'"/vol"',documentation:this.documentation.getDocumentation("signatureVolume_Signature1_Param1")},{label:"...",documentation:this.documentation.getDocumentation("signatureVolume_Signature1_Param2")},{label:"]"}]},Q={label:"VOLUME /vol ...",documentation:this.documentation.getDocumentation("signatureVolume_Signature0"),parameters:[{label:"/vol",documentation:this.documentation.getDocumentation("signatureVolume_Signature0_Param0")},{label:"...",documentation:this.documentation.getDocumentation("signatureVolume_Signature0_Param1")}]};return this.getJSONInstructionSignatureHelp(e,z,n,[J],Q,!1,!0,!0,!0);case"WORKDIR":return{signatures:[{label:"WORKDIR /the/workdir/path",documentation:this.documentation.getDocumentation("signatureWorkdir"),parameters:[{label:"/the/workdir/path",documentation:this.documentation.getDocumentation("signatureWorkdir_Param")}]}],activeSignature:0,activeParameter:0}}}}return null},DockerSignatures.prototype.getFromSignatureHelp=function(e,t){var n=[{label:"FROM baseImage",documentation:this.documentation.getDocumentation("signatureFrom_Signature0"),parameters:[{label:"baseImage",documentation:this.documentation.getDocumentation("signatureFrom_Signature0_Param")}]},{label:"FROM baseImage:tag",documentation:this.documentation.getDocumentation("signatureFrom_Signature1"),parameters:[{label:"baseImage",documentation:this.documentation.getDocumentation("signatureFrom_Signature1_Param0")},{label:"tag",documentation:this.documentation.getDocumentation("signatureFrom_Signature1_Param1")}]},{label:"FROM baseImage@digest",documentation:this.documentation.getDocumentation("signatureFrom_Signature2"),parameters:[{label:"baseImage",documentation:this.documentation.getDocumentation("signatureFrom_Signature2_Param0")},{label:"digest",documentation:this.documentation.getDocumentation("signatureFrom_Signature2_Param1")}]},{label:"FROM baseImage AS stage",documentation:this.documentation.getDocumentation("signatureFrom_Signature3"),parameters:[{label:"baseImage",documentation:this.documentation.getDocumentation("signatureFrom_Signature3_Param0")},{label:""},{label:"AS"},{label:"stage",documentation:this.documentation.getDocumentation("signatureFrom_Signature3_Param2")}]},{label:"FROM baseImage:tag AS stage",documentation:this.documentation.getDocumentation("signatureFrom_Signature4"),parameters:[{label:"baseImage",documentation:this.documentation.getDocumentation("signatureFrom_Signature4_Param0")},{label:"tag",documentation:this.documentation.getDocumentation("signatureFrom_Signature4_Param1")},{label:"AS"},{label:"stage",documentation:this.documentation.getDocumentation("signatureFrom_Signature4_Param3")}]},{label:"FROM baseImage@digest AS stage",documentation:this.documentation.getDocumentation("signatureFrom_Signature5"),parameters:[{label:"baseImage",documentation:this.documentation.getDocumentation("signatureFrom_Signature5_Param0")},{label:"digest",documentation:this.documentation.getDocumentation("signatureFrom_Signature5_Param1")},{label:"AS"},{label:"stage",documentation:this.documentation.getDocumentation("signatureFrom_Signature5_Param3")}]}],r=t.getArguments();if(r.length>=3&&r[2].isBefore(e))return null;if(0===r.length)return{signatures:n,activeSignature:0,activeParameter:0};var i=r[0].getValue(),o=-1!==i.indexOf("@"),a=!o&&-1!==i.indexOf(":"),s=r.length>1||r[0].isBefore(e);return{signatures:this.getFromSignatures(n,a,o,s),activeSignature:0,activeParameter:this.getFromActiveParameter(e,t,a,o,r)}},DockerSignatures.prototype.getFromSignatures=function(e,t,n,r){return n?r?[e[5]]:[e[2],e[5]]:t?r?[e[4]]:[e[1],e[4]]:r?[e[3],e[4],e[5]]:e},DockerSignatures.prototype.getFromActiveParameter=function(e,t,n,r,i){var o=n&&a.Util.isInsideRange(e,t.getImageTagRange()),s=r&&a.Util.isInsideRange(e,t.getImageDigestRange());if(1===i.length){if(i[0].isBefore(e))return 2}else if(2===i.length){if(i[1].isBefore(e))return 3;if(a.Util.isInsideRange(e,i[1].getRange())||i[0].isBefore(e))return 2}else{if(a.Util.isInsideRange(e,i[2].getRange())||i[1].isBefore(e))return 3;if(a.Util.isInsideRange(e,i[1].getRange())||i[0].isBefore(e))return 2}return o||s?1:0},DockerSignatures.prototype.getJSONInstructionSignatureHelp=function(e,t,n,r,i,o,a,s,c){var u=this.getJSONSignatureActiveParameter(e,t,n,o,s,c);return-1===u?{signatures:[i],activeSignature:0,activeParameter:u=this.getSignatureActiveParameter(t,n,o,s?1:2,c)}:0===u?a?(r.push(i),{signatures:r,activeSignature:0,activeParameter:0}):(r.unshift(i),{signatures:r,activeSignature:0,activeParameter:0}):1===u&&o?a?(r.push(i),{signatures:r,activeSignature:0,activeParameter:1}):(r.unshift(i),{signatures:r,activeSignature:0,activeParameter:1}):{signatures:r,activeSignature:0,activeParameter:u}},DockerSignatures.prototype.getJSONSignatureActiveParameter=function(e,t,n,r,i,o){var s=r?1:0;if(r){var c=t.getFlags();if(c.length>0){var u=c[c.length-1].getRange().end;if(a.Util.positionBefore(n,u)||a.Util.positionEquals(n,u))return 0}}var l=t.getClosingBracket();if(l){if((m=l.getRange()).end.line===n.line&&m.end.character===n.character)return i?3+s:4+s;if(l.isBefore(n))return-1}var g=t.getJSONStrings();if(!i&&g.length>1&&g[1].isBefore(n))return 2===g.length||o||a.Util.isInsideRange(n,g[g.length-1].getRange())?3+s:2+s;if(g.length>0&&g[0].isBefore(n)){if(g.length>2)return 2+s;var d=e.offsetAt(g[0].getRange().end),h=e.offsetAt(n);return-1===e.getText().substring(d,h).indexOf(",")?1+s:o?2+s:3+s}var m,f=t.getOpeningBracket();return f?(m=f.getRange()).end.line===n.line&&m.end.character===n.character||f.isBefore(n)?1+s:0+s:0===t.getArguments().length?0+s:-1},DockerSignatures.prototype.getSignatureActiveParameter=function(e,t,n,r,i){var o=n?1:0,s=e.getArguments();if(i)for(var c=s.length-1;c>=0;c--){if(s[c].isBefore(t))return Math.min(c+1,r)+o;if(a.Util.isInsideRange(t,s[c].getRange()))return Math.min(c,r)+o}return 1===s.length?s[0].isBefore(t)?2+o:0+o:s[s.length-1].isBefore(t)||a.Util.isInsideRange(t,s[s.length-1].getRange())?2+o:s[0].isBefore(t)?1+o:0+o},DockerSignatures.prototype.getPropertySignatureHelp=function(e,t,n,r){return{signatures:this.getPropertySignatures(e,t,n,r),activeSignature:0,activeParameter:this.getPropertySignatureActiveParameter(e,t,r)}},DockerSignatures.prototype.getPropertySignatures=function(e,t,n,r){if(0===r.length)return n;if(1!==r.length)return[n[2]];var i=r[0].getValueRange();return null===i?DockerSignatures.isNameBefore(r[0],t)?[n[0]]:n:-1===e.getText().substring(e.offsetAt(r[0].getNameRange().end),e.offsetAt(i.start)).indexOf("=")?[n[0]]:DockerSignatures.isValueBefore(r[0],t)?[n[2]]:[n[1],n[2]]},DockerSignatures.prototype.getPropertySignatureActiveParameter=function(e,t,n){if(0===n.length)return 0;for(var r=n.length-1;r>0;r--){if(DockerSignatures.isInValue(n[r],t))return 3;if(DockerSignatures.isNameBefore(n[r],t)||DockerSignatures.isInName(n[r],t))return 2}return DockerSignatures.isInValue(n[0],t)?1:DockerSignatures.isValueBefore(n[0],t)?-1===e.getText().substring(e.offsetAt(n[0].getNameRange().end),e.offsetAt(n[0].getValueRange().start)).indexOf("=")?1:2:DockerSignatures.isNameBefore(n[0],t)?1:0},DockerSignatures.isInName=function(e,t){return a.Util.isInsideRange(t,e.getNameRange())},DockerSignatures.isNameBefore=function(e,t){var n=e.getNameRange();return!DockerSignatures.isInName(e,t)&&(n.start.line<t.line||n.start.line===t.line&&n.end.character<t.character)},DockerSignatures.isInValue=function(e,t){var n=e.getValueRange();return!!n&&a.Util.isInsideRange(t,n)},DockerSignatures.isValueBefore=function(e,t){var n=e.getValueRange();return null!==n&&(n.start.line<t.line||n.start.line===t.line&&(n.start.line===n.end.line?n.end.character<t.character:n.start.character<t.character))},DockerSignatures}();t.DockerSignatures=s},55409:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DockerSymbols=void 0;var r=n(28661),i=n(243),o=function(){function DockerSymbols(){}return DockerSymbols.prototype.createSymbolInformation=function(e,t,n,r,i){return i?{name:e,location:{uri:t,range:n},kind:r,deprecated:!0}:{name:e,location:{uri:t,range:n},kind:r}},DockerSymbols.prototype.parseSymbolInformation=function(e,t){for(var n=i.DockerfileParser.parse(t),o=[],a=0,s=n.getDirectives();a<s.length;a++){var c=s[a];o.push(this.createSymbolInformation(c.getName(),e.uri,c.getNameRange(),r.SymbolKind.Property,!1))}for(var u=0,l=n.getInstructions();u<l.length;u++){var g=l[u],d=g.getKeyword();o.push(this.createSymbolInformation(g.getInstruction(),e.uri,g.getInstructionRange(),r.SymbolKind.Function,d===i.Keyword.MAINTAINER))}return o},DockerSymbols}();t.DockerSymbols=o},32796:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.LanguageService=void 0;var r=n(31040),i=n(87918),o=n(23012),a=n(33014),s=n(43591),c=n(883),u=n(94073),l=n(39759),g=n(55409),d=n(60714),h=n(37776),m=n(69859),f=n(45907),p=n(36461),v=n(13764),R=n(58228),b=n(40450),D=function(){function LanguageService(){this.markdownDocumentation=new v.MarkdownDocumentation,this.plainTextDocumentation=new m.PlainTextDocumentation,this.foldingRangeLineFoldingOnly=!1,this.foldingRangeLimit=Number.MAX_VALUE}return LanguageService.prototype.setLogger=function(e){this.logger=e},LanguageService.prototype.setCapabilities=function(e){this.completionItemCapabilities=e&&e.completion&&e.completion.completionItem,this.hoverContentFormat=e&&e.hover&&e.hover.contentFormat,this.foldingRangeLineFoldingOnly=e&&e.foldingRange&&e.foldingRange.lineFoldingOnly,this.foldingRangeLimit=e&&e.foldingRange&&e.foldingRange.rangeLimit},LanguageService.prototype.computeCodeActions=function(e,t,n){return(new s.DockerCommands).analyzeDiagnostics(n.diagnostics,e.uri)},LanguageService.prototype.computeLinks=function(e){return(new h.DockerLinks).getLinks(e)},LanguageService.prototype.resolveLink=function(e){return(new h.DockerLinks).resolveLink(e)},LanguageService.prototype.computeCommandEdits=function(e,t,n){return(new s.DockerCommands).computeCommandEdits(e,t,n)},LanguageService.prototype.computeCompletionItems=function(e,t){var n=r.TextDocument.create("","",0,e);return new o.DockerAssist(n,new a.DockerRegistryClient(this.logger),this.completionItemCapabilities).computeProposals(t)},LanguageService.prototype.resolveCompletionItem=function(e){return e.documentation?e:(new R.DockerCompletion).resolveCompletionItem(e,this.completionItemCapabilities&&this.completionItemCapabilities.documentationFormat)},LanguageService.prototype.computeDefinition=function(e,t,n){return(new u.DockerDefinition).computeDefinition(e,t,n)},LanguageService.prototype.computeFoldingRanges=function(e){return(new c.DockerFolding).computeFoldingRanges(e,this.foldingRangeLineFoldingOnly,this.foldingRangeLimit)},LanguageService.prototype.computeHighlightRanges=function(e,t){return(new l.DockerHighlight).computeHighlightRanges(e,t)},LanguageService.prototype.computeHover=function(e,t){return new p.DockerHover(this.markdownDocumentation,this.plainTextDocumentation).onHover(e,t,this.hoverContentFormat)},LanguageService.prototype.computeSymbols=function(e,t){return(new g.DockerSymbols).parseSymbolInformation(e,t)},LanguageService.prototype.computeSignatureHelp=function(e,t){return(new d.DockerSignatures).computeSignatures(e,t)},LanguageService.prototype.computeRename=function(e,t,n,r){return(new f.DockerRename).rename(e,t,n,r)},LanguageService.prototype.prepareRename=function(e,t){return(new f.DockerRename).prepareRename(e,t)},LanguageService.prototype.computeSemanticTokens=function(e){return new b.DockerSemanticTokens(e).computeSemanticTokens()},LanguageService.prototype.validate=function(e,t){return i.validate(e,t)},LanguageService.prototype.format=function(e,t){return i.format(e,t)},LanguageService.prototype.formatRange=function(e,t,n){return i.formatRange(e,t,n)},LanguageService.prototype.formatOnType=function(e,t,n,r){return i.formatOnType(e,t,n,r)},LanguageService}();t.LanguageService=D},87506:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DockerfileLanguageServiceFactory=t.CommandIds=void 0;var r,i,o=n(32796);!function(e){e.LOWERCASE="docker.command.convertToLowercase",e.UPPERCASE="docker.command.convertToUppercase",e.EXTRA_ARGUMENT="docker.command.removeExtraArgument",e.DIRECTIVE_TO_BACKTICK="docker.command.directiveToBacktick",e.DIRECTIVE_TO_BACKSLASH="docker.command.directiveToBackslash",e.FLAG_TO_CHOWN="docker.command.flagToChown",e.FLAG_TO_COPY_FROM="docker.command.flagToCopyFrom",e.FLAG_TO_HEALTHCHECK_INTERVAL="docker.command.flagToHealthcheckInterval",e.FLAG_TO_HEALTHCHECK_RETRIES="docker.command.flagToHealthcheckRetries",e.FLAG_TO_HEALTHCHECK_START_PERIOD="docker.command.flagToHealthcheckStartPeriod",e.FLAG_TO_HEALTHCHECK_TIMEOUT="docker.command.flagToHealthcheckTimeout",e.REMOVE_EMPTY_CONTINUATION_LINE="docker.command.removeEmptyContinuationLine",e.CONVERT_TO_AS="docker.command.convertToAS"}(r||(t.CommandIds=r={})),function(e){e.createLanguageService=function createLanguageService(){return new o.LanguageService}}(i||(t.DockerfileLanguageServiceFactory=i={}))},28661:(e,t,n)=>{"use strict";var r,i,o,a,s,c,u,l,g,d,h,m,f,p,v,R,b,D,y,_,k,S,T,C,A,E,P,I;n.r(t),n.d(t,{AnnotatedTextEdit:()=>T,ChangeAnnotation:()=>k,ChangeAnnotationIdentifier:()=>S,CodeAction:()=>oe,CodeActionContext:()=>ie,CodeActionKind:()=>ne,CodeActionTriggerKind:()=>re,CodeDescription:()=>b,CodeLens:()=>ae,Color:()=>g,ColorInformation:()=>d,ColorPresentation:()=>h,Command:()=>y,CompletionItem:()=>j,CompletionItemKind:()=>F,CompletionItemLabelDetails:()=>W,CompletionItemTag:()=>H,CompletionList:()=>K,CreateFile:()=>A,DeleteFile:()=>P,Diagnostic:()=>D,DiagnosticRelatedInformation:()=>p,DiagnosticSeverity:()=>v,DiagnosticTag:()=>R,DocumentHighlight:()=>J,DocumentHighlightKind:()=>z,DocumentLink:()=>ce,DocumentSymbol:()=>te,DocumentUri:()=>r,EOL:()=>Te,FoldingRange:()=>f,FoldingRangeKind:()=>m,FormattingOptions:()=>se,Hover:()=>B,InlayHint:()=>be,InlayHintKind:()=>ve,InlayHintLabelPart:()=>Re,InlineValueContext:()=>pe,InlineValueEvaluatableExpression:()=>fe,InlineValueText:()=>he,InlineValueVariableLookup:()=>me,InsertReplaceEdit:()=>U,InsertTextFormat:()=>V,InsertTextMode:()=>q,Location:()=>u,LocationLink:()=>l,MarkedString:()=>G,MarkupContent:()=>L,MarkupKind:()=>x,OptionalVersionedTextDocumentIdentifier:()=>O,ParameterInformation:()=>$,Position:()=>s,Range:()=>c,RenameFile:()=>E,SelectionRange:()=>ue,SemanticTokenModifiers:()=>ge,SemanticTokenTypes:()=>le,SemanticTokens:()=>de,SignatureInformation:()=>Y,SymbolInformation:()=>Z,SymbolKind:()=>Q,SymbolTag:()=>X,TextDocument:()=>Se,TextDocumentEdit:()=>C,TextDocumentIdentifier:()=>N,TextDocumentItem:()=>w,TextEdit:()=>_,URI:()=>i,VersionedTextDocumentIdentifier:()=>M,WorkspaceChange:()=>ke,WorkspaceEdit:()=>I,WorkspaceFolder:()=>De,WorkspaceSymbol:()=>ee,integer:()=>o,uinteger:()=>a}),function(e){e.is=function is(e){return"string"==typeof e}}(r||(r={})),function(e){e.is=function is(e){return"string"==typeof e}}(i||(i={})),function(e){e.MIN_VALUE=-2147483648,e.MAX_VALUE=2147483647,e.is=function is(t){return"number"==typeof t&&e.MIN_VALUE<=t&&t<=e.MAX_VALUE}}(o||(o={})),function(e){e.MIN_VALUE=0,e.MAX_VALUE=2147483647,e.is=function is(t){return"number"==typeof t&&e.MIN_VALUE<=t&&t<=e.MAX_VALUE}}(a||(a={})),function(e){e.create=function create(e,t){return e===Number.MAX_VALUE&&(e=a.MAX_VALUE),t===Number.MAX_VALUE&&(t=a.MAX_VALUE),{line:e,character:t}},e.is=function is(e){var t=e;return Ce.objectLiteral(t)&&Ce.uinteger(t.line)&&Ce.uinteger(t.character)}}(s||(s={})),function(e){e.create=function create(e,t,n,r){if(Ce.uinteger(e)&&Ce.uinteger(t)&&Ce.uinteger(n)&&Ce.uinteger(r))return{start:s.create(e,t),end:s.create(n,r)};if(s.is(e)&&s.is(t))return{start:e,end:t};throw new Error("Range#create called with invalid arguments[".concat(e,", ").concat(t,", ").concat(n,", ").concat(r,"]"))},e.is=function is(e){var t=e;return Ce.objectLiteral(t)&&s.is(t.start)&&s.is(t.end)}}(c||(c={})),function(e){e.create=function create(e,t){return{uri:e,range:t}},e.is=function is(e){var t=e;return Ce.objectLiteral(t)&&c.is(t.range)&&(Ce.string(t.uri)||Ce.undefined(t.uri))}}(u||(u={})),function(e){e.create=function create(e,t,n,r){return{targetUri:e,targetRange:t,targetSelectionRange:n,originSelectionRange:r}},e.is=function is(e){var t=e;return Ce.objectLiteral(t)&&c.is(t.targetRange)&&Ce.string(t.targetUri)&&c.is(t.targetSelectionRange)&&(c.is(t.originSelectionRange)||Ce.undefined(t.originSelectionRange))}}(l||(l={})),function(e){e.create=function create(e,t,n,r){return{red:e,green:t,blue:n,alpha:r}},e.is=function is(e){var t=e;return Ce.objectLiteral(t)&&Ce.numberRange(t.red,0,1)&&Ce.numberRange(t.green,0,1)&&Ce.numberRange(t.blue,0,1)&&Ce.numberRange(t.alpha,0,1)}}(g||(g={})),function(e){e.create=function create(e,t){return{range:e,color:t}},e.is=function is(e){var t=e;return Ce.objectLiteral(t)&&c.is(t.range)&&g.is(t.color)}}(d||(d={})),function(e){e.create=function create(e,t,n){return{label:e,textEdit:t,additionalTextEdits:n}},e.is=function is(e){var t=e;return Ce.objectLiteral(t)&&Ce.string(t.label)&&(Ce.undefined(t.textEdit)||_.is(t))&&(Ce.undefined(t.additionalTextEdits)||Ce.typedArray(t.additionalTextEdits,_.is))}}(h||(h={})),function(e){e.Comment="comment",e.Imports="imports",e.Region="region"}(m||(m={})),function(e){e.create=function create(e,t,n,r,i,o){var a={startLine:e,endLine:t};return Ce.defined(n)&&(a.startCharacter=n),Ce.defined(r)&&(a.endCharacter=r),Ce.defined(i)&&(a.kind=i),Ce.defined(o)&&(a.collapsedText=o),a},e.is=function is(e){var t=e;return Ce.objectLiteral(t)&&Ce.uinteger(t.startLine)&&Ce.uinteger(t.startLine)&&(Ce.undefined(t.startCharacter)||Ce.uinteger(t.startCharacter))&&(Ce.undefined(t.endCharacter)||Ce.uinteger(t.endCharacter))&&(Ce.undefined(t.kind)||Ce.string(t.kind))}}(f||(f={})),function(e){e.create=function create(e,t){return{location:e,message:t}},e.is=function is(e){var t=e;return Ce.defined(t)&&u.is(t.location)&&Ce.string(t.message)}}(p||(p={})),function(e){e.Error=1,e.Warning=2,e.Information=3,e.Hint=4}(v||(v={})),function(e){e.Unnecessary=1,e.Deprecated=2}(R||(R={})),function(e){e.is=function is(e){var t=e;return Ce.objectLiteral(t)&&Ce.string(t.href)}}(b||(b={})),function(e){e.create=function create(e,t,n,r,i,o){var a={range:e,message:t};return Ce.defined(n)&&(a.severity=n),Ce.defined(r)&&(a.code=r),Ce.defined(i)&&(a.source=i),Ce.defined(o)&&(a.relatedInformation=o),a},e.is=function is(e){var t,n=e;return Ce.defined(n)&&c.is(n.range)&&Ce.string(n.message)&&(Ce.number(n.severity)||Ce.undefined(n.severity))&&(Ce.integer(n.code)||Ce.string(n.code)||Ce.undefined(n.code))&&(Ce.undefined(n.codeDescription)||Ce.string(null===(t=n.codeDescription)||void 0===t?void 0:t.href))&&(Ce.string(n.source)||Ce.undefined(n.source))&&(Ce.undefined(n.relatedInformation)||Ce.typedArray(n.relatedInformation,p.is))}}(D||(D={})),function(e){e.create=function create(e,t){for(var n=[],r=2;r<arguments.length;r++)n[r-2]=arguments[r];var i={title:e,command:t};return Ce.defined(n)&&n.length>0&&(i.arguments=n),i},e.is=function is(e){var t=e;return Ce.defined(t)&&Ce.string(t.title)&&Ce.string(t.command)}}(y||(y={})),function(e){e.replace=function replace(e,t){return{range:e,newText:t}},e.insert=function insert(e,t){return{range:{start:e,end:e},newText:t}},e.del=function del(e){return{range:e,newText:""}},e.is=function is(e){var t=e;return Ce.objectLiteral(t)&&Ce.string(t.newText)&&c.is(t.range)}}(_||(_={})),function(e){e.create=function create(e,t,n){var r={label:e};return void 0!==t&&(r.needsConfirmation=t),void 0!==n&&(r.description=n),r},e.is=function is(e){var t=e;return Ce.objectLiteral(t)&&Ce.string(t.label)&&(Ce.boolean(t.needsConfirmation)||void 0===t.needsConfirmation)&&(Ce.string(t.description)||void 0===t.description)}}(k||(k={})),function(e){e.is=function is(e){var t=e;return Ce.string(t)}}(S||(S={})),function(e){e.replace=function replace(e,t,n){return{range:e,newText:t,annotationId:n}},e.insert=function insert(e,t,n){return{range:{start:e,end:e},newText:t,annotationId:n}},e.del=function del(e,t){return{range:e,newText:"",annotationId:t}},e.is=function is(e){var t=e;return _.is(t)&&(k.is(t.annotationId)||S.is(t.annotationId))}}(T||(T={})),function(e){e.create=function create(e,t){return{textDocument:e,edits:t}},e.is=function is(e){var t=e;return Ce.defined(t)&&O.is(t.textDocument)&&Array.isArray(t.edits)}}(C||(C={})),function(e){e.create=function create(e,t,n){var r={kind:"create",uri:e};return void 0===t||void 0===t.overwrite&&void 0===t.ignoreIfExists||(r.options=t),void 0!==n&&(r.annotationId=n),r},e.is=function is(e){var t=e;return t&&"create"===t.kind&&Ce.string(t.uri)&&(void 0===t.options||(void 0===t.options.overwrite||Ce.boolean(t.options.overwrite))&&(void 0===t.options.ignoreIfExists||Ce.boolean(t.options.ignoreIfExists)))&&(void 0===t.annotationId||S.is(t.annotationId))}}(A||(A={})),function(e){e.create=function create(e,t,n,r){var i={kind:"rename",oldUri:e,newUri:t};return void 0===n||void 0===n.overwrite&&void 0===n.ignoreIfExists||(i.options=n),void 0!==r&&(i.annotationId=r),i},e.is=function is(e){var t=e;return t&&"rename"===t.kind&&Ce.string(t.oldUri)&&Ce.string(t.newUri)&&(void 0===t.options||(void 0===t.options.overwrite||Ce.boolean(t.options.overwrite))&&(void 0===t.options.ignoreIfExists||Ce.boolean(t.options.ignoreIfExists)))&&(void 0===t.annotationId||S.is(t.annotationId))}}(E||(E={})),function(e){e.create=function create(e,t,n){var r={kind:"delete",uri:e};return void 0===t||void 0===t.recursive&&void 0===t.ignoreIfNotExists||(r.options=t),void 0!==n&&(r.annotationId=n),r},e.is=function is(e){var t=e;return t&&"delete"===t.kind&&Ce.string(t.uri)&&(void 0===t.options||(void 0===t.options.recursive||Ce.boolean(t.options.recursive))&&(void 0===t.options.ignoreIfNotExists||Ce.boolean(t.options.ignoreIfNotExists)))&&(void 0===t.annotationId||S.is(t.annotationId))}}(P||(P={})),function(e){e.is=function is(e){var t=e;return t&&(void 0!==t.changes||void 0!==t.documentChanges)&&(void 0===t.documentChanges||t.documentChanges.every((function(e){return Ce.string(e.kind)?A.is(e)||E.is(e)||P.is(e):C.is(e)})))}}(I||(I={}));var N,M,O,w,x,L,F,V,H,U,q,W,j,K,G,B,$,Y,z,J,Q,X,Z,ee,te,ne,re,ie,oe,ae,se,ce,ue,le,ge,de,he,me,fe,pe,ve,Re,be,De,ye=function(){function TextEditChangeImpl(e,t){this.edits=e,this.changeAnnotations=t}return TextEditChangeImpl.prototype.insert=function(e,t,n){var r,i;if(void 0===n?r=_.insert(e,t):S.is(n)?(i=n,r=T.insert(e,t,n)):(this.assertChangeAnnotations(this.changeAnnotations),i=this.changeAnnotations.manage(n),r=T.insert(e,t,i)),this.edits.push(r),void 0!==i)return i},TextEditChangeImpl.prototype.replace=function(e,t,n){var r,i;if(void 0===n?r=_.replace(e,t):S.is(n)?(i=n,r=T.replace(e,t,n)):(this.assertChangeAnnotations(this.changeAnnotations),i=this.changeAnnotations.manage(n),r=T.replace(e,t,i)),this.edits.push(r),void 0!==i)return i},TextEditChangeImpl.prototype.delete=function(e,t){var n,r;if(void 0===t?n=_.del(e):S.is(t)?(r=t,n=T.del(e,t)):(this.assertChangeAnnotations(this.changeAnnotations),r=this.changeAnnotations.manage(t),n=T.del(e,r)),this.edits.push(n),void 0!==r)return r},TextEditChangeImpl.prototype.add=function(e){this.edits.push(e)},TextEditChangeImpl.prototype.all=function(){return this.edits},TextEditChangeImpl.prototype.clear=function(){this.edits.splice(0,this.edits.length)},TextEditChangeImpl.prototype.assertChangeAnnotations=function(e){if(void 0===e)throw new Error("Text edit change is not configured to manage change annotations.")},TextEditChangeImpl}(),_e=function(){function ChangeAnnotations(e){this._annotations=void 0===e?Object.create(null):e,this._counter=0,this._size=0}return ChangeAnnotations.prototype.all=function(){return this._annotations},Object.defineProperty(ChangeAnnotations.prototype,"size",{get:function(){return this._size},enumerable:!1,configurable:!0}),ChangeAnnotations.prototype.manage=function(e,t){var n;if(S.is(e)?n=e:(n=this.nextId(),t=e),void 0!==this._annotations[n])throw new Error("Id ".concat(n," is already in use."));if(void 0===t)throw new Error("No annotation provided for id ".concat(n));return this._annotations[n]=t,this._size++,n},ChangeAnnotations.prototype.nextId=function(){return this._counter++,this._counter.toString()},ChangeAnnotations}(),ke=function(){function WorkspaceChange(e){var t=this;this._textEditChanges=Object.create(null),void 0!==e?(this._workspaceEdit=e,e.documentChanges?(this._changeAnnotations=new _e(e.changeAnnotations),e.changeAnnotations=this._changeAnnotations.all(),e.documentChanges.forEach((function(e){if(C.is(e)){var n=new ye(e.edits,t._changeAnnotations);t._textEditChanges[e.textDocument.uri]=n}}))):e.changes&&Object.keys(e.changes).forEach((function(n){var r=new ye(e.changes[n]);t._textEditChanges[n]=r}))):this._workspaceEdit={}}return Object.defineProperty(WorkspaceChange.prototype,"edit",{get:function(){return this.initDocumentChanges(),void 0!==this._changeAnnotations&&(0===this._changeAnnotations.size?this._workspaceEdit.changeAnnotations=void 0:this._workspaceEdit.changeAnnotations=this._changeAnnotations.all()),this._workspaceEdit},enumerable:!1,configurable:!0}),WorkspaceChange.prototype.getTextEditChange=function(e){if(O.is(e)){if(this.initDocumentChanges(),void 0===this._workspaceEdit.documentChanges)throw new Error("Workspace edit is not configured for document changes.");var t={uri:e.uri,version:e.version};if(!(r=this._textEditChanges[t.uri])){var n={textDocument:t,edits:i=[]};this._workspaceEdit.documentChanges.push(n),r=new ye(i,this._changeAnnotations),this._textEditChanges[t.uri]=r}return r}if(this.initChanges(),void 0===this._workspaceEdit.changes)throw new Error("Workspace edit is not configured for normal text edit changes.");var r;if(!(r=this._textEditChanges[e])){var i=[];this._workspaceEdit.changes[e]=i,r=new ye(i),this._textEditChanges[e]=r}return r},WorkspaceChange.prototype.initDocumentChanges=function(){void 0===this._workspaceEdit.documentChanges&&void 0===this._workspaceEdit.changes&&(this._changeAnnotations=new _e,this._workspaceEdit.documentChanges=[],this._workspaceEdit.changeAnnotations=this._changeAnnotations.all())},WorkspaceChange.prototype.initChanges=function(){void 0===this._workspaceEdit.documentChanges&&void 0===this._workspaceEdit.changes&&(this._workspaceEdit.changes=Object.create(null))},WorkspaceChange.prototype.createFile=function(e,t,n){if(this.initDocumentChanges(),void 0===this._workspaceEdit.documentChanges)throw new Error("Workspace edit is not configured for document changes.");var r,i,o;if(k.is(t)||S.is(t)?r=t:n=t,void 0===r?i=A.create(e,n):(o=S.is(r)?r:this._changeAnnotations.manage(r),i=A.create(e,n,o)),this._workspaceEdit.documentChanges.push(i),void 0!==o)return o},WorkspaceChange.prototype.renameFile=function(e,t,n,r){if(this.initDocumentChanges(),void 0===this._workspaceEdit.documentChanges)throw new Error("Workspace edit is not configured for document changes.");var i,o,a;if(k.is(n)||S.is(n)?i=n:r=n,void 0===i?o=E.create(e,t,r):(a=S.is(i)?i:this._changeAnnotations.manage(i),o=E.create(e,t,r,a)),this._workspaceEdit.documentChanges.push(o),void 0!==a)return a},WorkspaceChange.prototype.deleteFile=function(e,t,n){if(this.initDocumentChanges(),void 0===this._workspaceEdit.documentChanges)throw new Error("Workspace edit is not configured for document changes.");var r,i,o;if(k.is(t)||S.is(t)?r=t:n=t,void 0===r?i=P.create(e,n):(o=S.is(r)?r:this._changeAnnotations.manage(r),i=P.create(e,n,o)),this._workspaceEdit.documentChanges.push(i),void 0!==o)return o},WorkspaceChange}();!function(e){e.create=function create(e){return{uri:e}},e.is=function is(e){var t=e;return Ce.defined(t)&&Ce.string(t.uri)}}(N||(N={})),function(e){e.create=function create(e,t){return{uri:e,version:t}},e.is=function is(e){var t=e;return Ce.defined(t)&&Ce.string(t.uri)&&Ce.integer(t.version)}}(M||(M={})),function(e){e.create=function create(e,t){return{uri:e,version:t}},e.is=function is(e){var t=e;return Ce.defined(t)&&Ce.string(t.uri)&&(null===t.version||Ce.integer(t.version))}}(O||(O={})),function(e){e.create=function create(e,t,n,r){return{uri:e,languageId:t,version:n,text:r}},e.is=function is(e){var t=e;return Ce.defined(t)&&Ce.string(t.uri)&&Ce.string(t.languageId)&&Ce.integer(t.version)&&Ce.string(t.text)}}(w||(w={})),function(e){e.PlainText="plaintext",e.Markdown="markdown",e.is=function is(t){var n=t;return n===e.PlainText||n===e.Markdown}}(x||(x={})),function(e){e.is=function is(e){var t=e;return Ce.objectLiteral(e)&&x.is(t.kind)&&Ce.string(t.value)}}(L||(L={})),function(e){e.Text=1,e.Method=2,e.Function=3,e.Constructor=4,e.Field=5,e.Variable=6,e.Class=7,e.Interface=8,e.Module=9,e.Property=10,e.Unit=11,e.Value=12,e.Enum=13,e.Keyword=14,e.Snippet=15,e.Color=16,e.File=17,e.Reference=18,e.Folder=19,e.EnumMember=20,e.Constant=21,e.Struct=22,e.Event=23,e.Operator=24,e.TypeParameter=25}(F||(F={})),function(e){e.PlainText=1,e.Snippet=2}(V||(V={})),function(e){e.Deprecated=1}(H||(H={})),function(e){e.create=function create(e,t,n){return{newText:e,insert:t,replace:n}},e.is=function is(e){var t=e;return t&&Ce.string(t.newText)&&c.is(t.insert)&&c.is(t.replace)}}(U||(U={})),function(e){e.asIs=1,e.adjustIndentation=2}(q||(q={})),function(e){e.is=function is(e){var t=e;return t&&(Ce.string(t.detail)||void 0===t.detail)&&(Ce.string(t.description)||void 0===t.description)}}(W||(W={})),function(e){e.create=function create(e){return{label:e}}}(j||(j={})),function(e){e.create=function create(e,t){return{items:e||[],isIncomplete:!!t}}}(K||(K={})),function(e){e.fromPlainText=function fromPlainText(e){return e.replace(/[\\`*_{}[\]()#+\-.!]/g,"\\$&")},e.is=function is(e){var t=e;return Ce.string(t)||Ce.objectLiteral(t)&&Ce.string(t.language)&&Ce.string(t.value)}}(G||(G={})),function(e){e.is=function is(e){var t=e;return!!t&&Ce.objectLiteral(t)&&(L.is(t.contents)||G.is(t.contents)||Ce.typedArray(t.contents,G.is))&&(void 0===e.range||c.is(e.range))}}(B||(B={})),function(e){e.create=function create(e,t){return t?{label:e,documentation:t}:{label:e}}}($||($={})),function(e){e.create=function create(e,t){for(var n=[],r=2;r<arguments.length;r++)n[r-2]=arguments[r];var i={label:e};return Ce.defined(t)&&(i.documentation=t),Ce.defined(n)?i.parameters=n:i.parameters=[],i}}(Y||(Y={})),function(e){e.Text=1,e.Read=2,e.Write=3}(z||(z={})),function(e){e.create=function create(e,t){var n={range:e};return Ce.number(t)&&(n.kind=t),n}}(J||(J={})),function(e){e.File=1,e.Module=2,e.Namespace=3,e.Package=4,e.Class=5,e.Method=6,e.Property=7,e.Field=8,e.Constructor=9,e.Enum=10,e.Interface=11,e.Function=12,e.Variable=13,e.Constant=14,e.String=15,e.Number=16,e.Boolean=17,e.Array=18,e.Object=19,e.Key=20,e.Null=21,e.EnumMember=22,e.Struct=23,e.Event=24,e.Operator=25,e.TypeParameter=26}(Q||(Q={})),function(e){e.Deprecated=1}(X||(X={})),function(e){e.create=function create(e,t,n,r,i){var o={name:e,kind:t,location:{uri:r,range:n}};return i&&(o.containerName=i),o}}(Z||(Z={})),function(e){e.create=function create(e,t,n,r){return void 0!==r?{name:e,kind:t,location:{uri:n,range:r}}:{name:e,kind:t,location:{uri:n}}}}(ee||(ee={})),function(e){e.create=function create(e,t,n,r,i,o){var a={name:e,detail:t,kind:n,range:r,selectionRange:i};return void 0!==o&&(a.children=o),a},e.is=function is(e){var t=e;return t&&Ce.string(t.name)&&Ce.number(t.kind)&&c.is(t.range)&&c.is(t.selectionRange)&&(void 0===t.detail||Ce.string(t.detail))&&(void 0===t.deprecated||Ce.boolean(t.deprecated))&&(void 0===t.children||Array.isArray(t.children))&&(void 0===t.tags||Array.isArray(t.tags))}}(te||(te={})),function(e){e.Empty="",e.QuickFix="quickfix",e.Refactor="refactor",e.RefactorExtract="refactor.extract",e.RefactorInline="refactor.inline",e.RefactorRewrite="refactor.rewrite",e.Source="source",e.SourceOrganizeImports="source.organizeImports",e.SourceFixAll="source.fixAll"}(ne||(ne={})),function(e){e.Invoked=1,e.Automatic=2}(re||(re={})),function(e){e.create=function create(e,t,n){var r={diagnostics:e};return null!=t&&(r.only=t),null!=n&&(r.triggerKind=n),r},e.is=function is(e){var t=e;return Ce.defined(t)&&Ce.typedArray(t.diagnostics,D.is)&&(void 0===t.only||Ce.typedArray(t.only,Ce.string))&&(void 0===t.triggerKind||t.triggerKind===re.Invoked||t.triggerKind===re.Automatic)}}(ie||(ie={})),function(e){e.create=function create(e,t,n){var r={title:e},i=!0;return"string"==typeof t?(i=!1,r.kind=t):y.is(t)?r.command=t:r.edit=t,i&&void 0!==n&&(r.kind=n),r},e.is=function is(e){var t=e;return t&&Ce.string(t.title)&&(void 0===t.diagnostics||Ce.typedArray(t.diagnostics,D.is))&&(void 0===t.kind||Ce.string(t.kind))&&(void 0!==t.edit||void 0!==t.command)&&(void 0===t.command||y.is(t.command))&&(void 0===t.isPreferred||Ce.boolean(t.isPreferred))&&(void 0===t.edit||I.is(t.edit))}}(oe||(oe={})),function(e){e.create=function create(e,t){var n={range:e};return Ce.defined(t)&&(n.data=t),n},e.is=function is(e){var t=e;return Ce.defined(t)&&c.is(t.range)&&(Ce.undefined(t.command)||y.is(t.command))}}(ae||(ae={})),function(e){e.create=function create(e,t){return{tabSize:e,insertSpaces:t}},e.is=function is(e){var t=e;return Ce.defined(t)&&Ce.uinteger(t.tabSize)&&Ce.boolean(t.insertSpaces)}}(se||(se={})),function(e){e.create=function create(e,t,n){return{range:e,target:t,data:n}},e.is=function is(e){var t=e;return Ce.defined(t)&&c.is(t.range)&&(Ce.undefined(t.target)||Ce.string(t.target))}}(ce||(ce={})),function(e){e.create=function create(e,t){return{range:e,parent:t}},e.is=function is(t){var n=t;return Ce.objectLiteral(n)&&c.is(n.range)&&(void 0===n.parent||e.is(n.parent))}}(ue||(ue={})),function(e){e.namespace="namespace",e.type="type",e.class="class",e.enum="enum",e.interface="interface",e.struct="struct",e.typeParameter="typeParameter",e.parameter="parameter",e.variable="variable",e.property="property",e.enumMember="enumMember",e.event="event",e.function="function",e.method="method",e.macro="macro",e.keyword="keyword",e.modifier="modifier",e.comment="comment",e.string="string",e.number="number",e.regexp="regexp",e.operator="operator",e.decorator="decorator"}(le||(le={})),function(e){e.declaration="declaration",e.definition="definition",e.readonly="readonly",e.static="static",e.deprecated="deprecated",e.abstract="abstract",e.async="async",e.modification="modification",e.documentation="documentation",e.defaultLibrary="defaultLibrary"}(ge||(ge={})),function(e){e.is=function is(e){var t=e;return Ce.objectLiteral(t)&&(void 0===t.resultId||"string"==typeof t.resultId)&&Array.isArray(t.data)&&(0===t.data.length||"number"==typeof t.data[0])}}(de||(de={})),function(e){e.create=function create(e,t){return{range:e,text:t}},e.is=function is(e){var t=e;return null!=t&&c.is(t.range)&&Ce.string(t.text)}}(he||(he={})),function(e){e.create=function create(e,t,n){return{range:e,variableName:t,caseSensitiveLookup:n}},e.is=function is(e){var t=e;return null!=t&&c.is(t.range)&&Ce.boolean(t.caseSensitiveLookup)&&(Ce.string(t.variableName)||void 0===t.variableName)}}(me||(me={})),function(e){e.create=function create(e,t){return{range:e,expression:t}},e.is=function is(e){var t=e;return null!=t&&c.is(t.range)&&(Ce.string(t.expression)||void 0===t.expression)}}(fe||(fe={})),function(e){e.create=function create(e,t){return{frameId:e,stoppedLocation:t}},e.is=function is(e){var t=e;return Ce.defined(t)&&c.is(e.stoppedLocation)}}(pe||(pe={})),function(e){e.Type=1,e.Parameter=2,e.is=function is(e){return 1===e||2===e}}(ve||(ve={})),function(e){e.create=function create(e){return{value:e}},e.is=function is(e){var t=e;return Ce.objectLiteral(t)&&(void 0===t.tooltip||Ce.string(t.tooltip)||L.is(t.tooltip))&&(void 0===t.location||u.is(t.location))&&(void 0===t.command||y.is(t.command))}}(Re||(Re={})),function(e){e.create=function create(e,t,n){var r={position:e,label:t};return void 0!==n&&(r.kind=n),r},e.is=function is(e){var t=e;return Ce.objectLiteral(t)&&s.is(t.position)&&(Ce.string(t.label)||Ce.typedArray(t.label,Re.is))&&(void 0===t.kind||ve.is(t.kind))&&void 0===t.textEdits||Ce.typedArray(t.textEdits,_.is)&&(void 0===t.tooltip||Ce.string(t.tooltip)||L.is(t.tooltip))&&(void 0===t.paddingLeft||Ce.boolean(t.paddingLeft))&&(void 0===t.paddingRight||Ce.boolean(t.paddingRight))}}(be||(be={})),function(e){e.is=function is(e){var t=e;return Ce.objectLiteral(t)&&i.is(t.uri)&&Ce.string(t.name)}}(De||(De={}));var Se,Te=["\n","\r\n","\r"];!function(e){function mergeSort(e,t){if(e.length<=1)return e;var n=e.length/2|0,r=e.slice(0,n),i=e.slice(n);mergeSort(r,t),mergeSort(i,t);for(var o=0,a=0,s=0;o<r.length&&a<i.length;){var c=t(r[o],i[a]);e[s++]=c<=0?r[o++]:i[a++]}for(;o<r.length;)e[s++]=r[o++];for(;a<i.length;)e[s++]=i[a++];return e}e.create=function create(e,t,n,r){return new Ae(e,t,n,r)},e.is=function is(e){var t=e;return!!(Ce.defined(t)&&Ce.string(t.uri)&&(Ce.undefined(t.languageId)||Ce.string(t.languageId))&&Ce.uinteger(t.lineCount)&&Ce.func(t.getText)&&Ce.func(t.positionAt)&&Ce.func(t.offsetAt))},e.applyEdits=function applyEdits(e,t){for(var n=e.getText(),r=mergeSort(t,(function(e,t){var n=e.range.start.line-t.range.start.line;return 0===n?e.range.start.character-t.range.start.character:n})),i=n.length,o=r.length-1;o>=0;o--){var a=r[o],s=e.offsetAt(a.range.start),c=e.offsetAt(a.range.end);if(!(c<=i))throw new Error("Overlapping edit");n=n.substring(0,s)+a.newText+n.substring(c,n.length),i=s}return n}}(Se||(Se={}));var Ce,Ae=function(){function FullTextDocument(e,t,n,r){this._uri=e,this._languageId=t,this._version=n,this._content=r,this._lineOffsets=void 0}return Object.defineProperty(FullTextDocument.prototype,"uri",{get:function(){return this._uri},enumerable:!1,configurable:!0}),Object.defineProperty(FullTextDocument.prototype,"languageId",{get:function(){return this._languageId},enumerable:!1,configurable:!0}),Object.defineProperty(FullTextDocument.prototype,"version",{get:function(){return this._version},enumerable:!1,configurable:!0}),FullTextDocument.prototype.getText=function(e){if(e){var t=this.offsetAt(e.start),n=this.offsetAt(e.end);return this._content.substring(t,n)}return this._content},FullTextDocument.prototype.update=function(e,t){this._content=e.text,this._version=t,this._lineOffsets=void 0},FullTextDocument.prototype.getLineOffsets=function(){if(void 0===this._lineOffsets){for(var e=[],t=this._content,n=!0,r=0;r<t.length;r++){n&&(e.push(r),n=!1);var i=t.charAt(r);n="\r"===i||"\n"===i,"\r"===i&&r+1<t.length&&"\n"===t.charAt(r+1)&&r++}n&&t.length>0&&e.push(t.length),this._lineOffsets=e}return this._lineOffsets},FullTextDocument.prototype.positionAt=function(e){e=Math.max(Math.min(e,this._content.length),0);var t=this.getLineOffsets(),n=0,r=t.length;if(0===r)return s.create(0,e);for(;n<r;){var i=Math.floor((n+r)/2);t[i]>e?r=i:n=i+1}var o=n-1;return s.create(o,e-t[o])},FullTextDocument.prototype.offsetAt=function(e){var t=this.getLineOffsets();if(e.line>=t.length)return this._content.length;if(e.line<0)return 0;var n=t[e.line],r=e.line+1<t.length?t[e.line+1]:this._content.length;return Math.max(Math.min(n+e.character,r),n)},Object.defineProperty(FullTextDocument.prototype,"lineCount",{get:function(){return this.getLineOffsets().length},enumerable:!1,configurable:!0}),FullTextDocument}();!function(e){var t=Object.prototype.toString;e.defined=function defined(e){return void 0!==e},e.undefined=function undefined(e){return void 0===e},e.boolean=function boolean(e){return!0===e||!1===e},e.string=function string(e){return"[object String]"===t.call(e)},e.number=function number(e){return"[object Number]"===t.call(e)},e.numberRange=function numberRange(e,n,r){return"[object Number]"===t.call(e)&&n<=e&&e<=r},e.integer=function integer(e){return"[object Number]"===t.call(e)&&-2147483648<=e&&e<=2147483647},e.uinteger=function uinteger(e){return"[object Number]"===t.call(e)&&0<=e&&e<=2147483647},e.func=function func(e){return"[object Function]"===t.call(e)},e.objectLiteral=function objectLiteral(e){return null!==e&&"object"==typeof e},e.typedArray=function typedArray(e,t){return Array.isArray(e)&&e.every(t)}}(Ce||(Ce={}))},31040:(e,t,n)=>{"use strict";n.r(t),n.d(t,{TextDocument:()=>r});var r,__spreadArray=function(e,t,n){if(n||2===arguments.length)for(var r,i=0,o=t.length;i<o;i++)!r&&i in t||(r||(r=Array.prototype.slice.call(t,0,i)),r[i]=t[i]);return e.concat(r||Array.prototype.slice.call(t))},i=function(){function FullTextDocument(e,t,n,r){this._uri=e,this._languageId=t,this._version=n,this._content=r,this._lineOffsets=void 0}return Object.defineProperty(FullTextDocument.prototype,"uri",{get:function(){return this._uri},enumerable:!1,configurable:!0}),Object.defineProperty(FullTextDocument.prototype,"languageId",{get:function(){return this._languageId},enumerable:!1,configurable:!0}),Object.defineProperty(FullTextDocument.prototype,"version",{get:function(){return this._version},enumerable:!1,configurable:!0}),FullTextDocument.prototype.getText=function(e){if(e){var t=this.offsetAt(e.start),n=this.offsetAt(e.end);return this._content.substring(t,n)}return this._content},FullTextDocument.prototype.update=function(e,t){for(var n=0,r=e;n<r.length;n++){var i=r[n];if(FullTextDocument.isIncremental(i)){var o=getWellformedRange(i.range),a=this.offsetAt(o.start),s=this.offsetAt(o.end);this._content=this._content.substring(0,a)+i.text+this._content.substring(s,this._content.length);var c=Math.max(o.start.line,0),u=Math.max(o.end.line,0),l=this._lineOffsets,g=computeLineOffsets(i.text,!1,a);if(u-c===g.length)for(var d=0,h=g.length;d<h;d++)l[d+c+1]=g[d];else g.length<1e4?l.splice.apply(l,__spreadArray([c+1,u-c],g,!1)):this._lineOffsets=l=l.slice(0,c+1).concat(g,l.slice(u+1));var m=i.text.length-(s-a);if(0!==m)for(d=c+1+g.length,h=l.length;d<h;d++)l[d]=l[d]+m}else{if(!FullTextDocument.isFull(i))throw new Error("Unknown change event received");this._content=i.text,this._lineOffsets=void 0}}this._version=t},FullTextDocument.prototype.getLineOffsets=function(){return void 0===this._lineOffsets&&(this._lineOffsets=computeLineOffsets(this._content,!0)),this._lineOffsets},FullTextDocument.prototype.positionAt=function(e){e=Math.max(Math.min(e,this._content.length),0);var t=this.getLineOffsets(),n=0,r=t.length;if(0===r)return{line:0,character:e};for(;n<r;){var i=Math.floor((n+r)/2);t[i]>e?r=i:n=i+1}var o=n-1;return{line:o,character:e-t[o]}},FullTextDocument.prototype.offsetAt=function(e){var t=this.getLineOffsets();if(e.line>=t.length)return this._content.length;if(e.line<0)return 0;var n=t[e.line],r=e.line+1<t.length?t[e.line+1]:this._content.length;return Math.max(Math.min(n+e.character,r),n)},Object.defineProperty(FullTextDocument.prototype,"lineCount",{get:function(){return this.getLineOffsets().length},enumerable:!1,configurable:!0}),FullTextDocument.isIncremental=function(e){var t=e;return null!=t&&"string"==typeof t.text&&void 0!==t.range&&(void 0===t.rangeLength||"number"==typeof t.rangeLength)},FullTextDocument.isFull=function(e){var t=e;return null!=t&&"string"==typeof t.text&&void 0===t.range&&void 0===t.rangeLength},FullTextDocument}();function mergeSort(e,t){if(e.length<=1)return e;var n=e.length/2|0,r=e.slice(0,n),i=e.slice(n);mergeSort(r,t),mergeSort(i,t);for(var o=0,a=0,s=0;o<r.length&&a<i.length;){var c=t(r[o],i[a]);e[s++]=c<=0?r[o++]:i[a++]}for(;o<r.length;)e[s++]=r[o++];for(;a<i.length;)e[s++]=i[a++];return e}function computeLineOffsets(e,t,n){void 0===n&&(n=0);for(var r=t?[n]:[],i=0;i<e.length;i++){var o=e.charCodeAt(i);13!==o&&10!==o||(13===o&&i+1<e.length&&10===e.charCodeAt(i+1)&&i++,r.push(n+i+1))}return r}function getWellformedRange(e){var t=e.start,n=e.end;return t.line>n.line||t.line===n.line&&t.character>n.character?{start:n,end:t}:e}function getWellformedEdit(e){var t=getWellformedRange(e.range);return t!==e.range?{newText:e.newText,range:t}:e}!function(e){e.create=function create(e,t,n,r){return new i(e,t,n,r)},e.update=function update(e,t,n){if(e instanceof i)return e.update(t,n),e;throw new Error("TextDocument.update: document must be created by TextDocument.create")},e.applyEdits=function applyEdits(e,t){for(var n=e.getText(),r=0,i=[],o=0,a=mergeSort(t.map(getWellformedEdit),(function(e,t){var n=e.range.start.line-t.range.start.line;return 0===n?e.range.start.character-t.range.start.character:n}));o<a.length;o++){var s=a[o],c=e.offsetAt(s.range.start);if(c<r)throw new Error("Overlapping edit");c>r&&i.push(n.substring(r,c)),s.newText.length&&i.push(s.newText),r=e.offsetAt(s.range.end)}return i.push(n.substr(r)),i.join("")}}(r||(r={}))},32081:e=>{"use strict";e.exports=require("child_process")},6113:e=>{"use strict";e.exports=require("crypto")},57147:e=>{"use strict";e.exports=require("fs")},95687:e=>{"use strict";e.exports=require("https")},41808:e=>{"use strict";e.exports=require("net")},22037:e=>{"use strict";e.exports=require("os")},71017:e=>{"use strict";e.exports=require("path")},57310:e=>{"use strict";e.exports=require("url")},73837:e=>{"use strict";e.exports=require("util")}},t={};function __webpack_require__(n){var r=t[n];if(void 0!==r)return r.exports;var i=t[n]={exports:{}};return e[n].call(i.exports,i,i.exports,__webpack_require__),i.exports}__webpack_require__.d=(e,t)=>{for(var n in t)__webpack_require__.o(t,n)&&!__webpack_require__.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},__webpack_require__.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),__webpack_require__.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var n={};(()=>{"use strict";var e=n;Object.defineProperty(e,"__esModule",{value:!0});const t=__webpack_require__(57147),r=__webpack_require__(31040),i=__webpack_require__(47302),o=__webpack_require__(51735),a=__webpack_require__(87918),s=__webpack_require__(87506);let c=null,u=null;const l=new Map;let g=new Map,d=(0,i.createConnection)(i.ProposedFeatures.all),h=s.DockerfileLanguageServiceFactory.createLanguageService();h.setLogger({log(e){d.console.log(e)}});let m=!1,f=!1,p=!1,v=!1,R={};function getDocument(e){return R[e]?Promise.resolve(R[e]):new Promise(((n,i)=>{let a=(0,o.uriToFilePath)(e);void 0===a?n(null):t.exists(a,(i=>{i?t.readFile(a,((t,i)=>{n(r.TextDocument.create(e,"dockerfile",1,i.toString()))})):n(null)}))}))}function supportsDeprecatedItems(e){return e.textDocument&&e.textDocument.completion&&e.textDocument.completion.completionItem&&e.textDocument.completion.completionItem.deprecatedSupport}function supportsSnippets(e){return e.textDocument&&e.textDocument.completion&&e.textDocument.completion.completionItem&&e.textDocument.completion.completionItem.snippetSupport}function getCompletionItemDocumentationFormat(e){return e.textDocument&&e.textDocument.completion&&e.textDocument.completion.completionItem&&e.textDocument.completion.completionItem.documentationFormat}function getHoverContentFormat(e){return e.textDocument&&e.textDocument.hover&&e.textDocument.hover.contentFormat}function getLineFoldingOnly(e){return e.textDocument&&e.textDocument.foldingRange&&e.textDocument.foldingRange.lineFoldingOnly}function getRangeLimit(e){let t=e.textDocument&&e.textDocument.foldingRange&&e.textDocument.foldingRange.rangeLimit;return null==t||"boolean"==typeof t||isNaN(t)?t=Number.MAX_VALUE:"number"!=typeof t&&(t=Number(t)),t}function convertValidatorConfiguration(e){let t=a.ValidationSeverity.WARNING,n=a.ValidationSeverity.WARNING,r=a.ValidationSeverity.WARNING,i=a.ValidationSeverity.WARNING,o=a.ValidationSeverity.WARNING,s=a.ValidationSeverity.WARNING,c=a.ValidationSeverity.WARNING,u=a.ValidationSeverity.WARNING,l=a.ValidationSeverity.WARNING;return e&&(t=getSeverity(e.deprecatedMaintainer),n=getSeverity(e.directiveCasing),r=getSeverity(e.emptyContinuationLine),i=getSeverity(e.instructionCasing),o=getSeverity(e.instructionCmdMultiple),s=getSeverity(e.instructionEntrypointMultiple),c=getSeverity(e.instructionHealthcheckMultiple),u=getSeverity(e.instructionJSONInSingleQuotes),l=getSeverity(e.instructionWorkdirRelative)),{deprecatedMaintainer:t,directiveCasing:n,emptyContinuationLine:r,instructionCasing:i,instructionCmdMultiple:o,instructionEntrypointMultiple:s,instructionHealthcheckMultiple:c,instructionJSONInSingleQuotes:u,instructionWorkdirRelative:l}}function validateTextDocument(e){if(f)(function getValidatorConfiguration(e){let t=g.get(e);t||(t=d.workspace.getConfiguration({section:"docker.languageserver.diagnostics",scopeUri:e}),g.set(e,t));return t})(e.uri).then((t=>{const n=convertValidatorConfiguration(t),r=h.validate(e.getText(),n);d.sendDiagnostics({uri:e.uri,diagnostics:r})}));else{const t=h.validate(e.getText(),u);d.sendDiagnostics({uri:e.uri,diagnostics:t})}}function getSeverity(e){switch(e){case"ignore":return a.ValidationSeverity.IGNORE;case"warning":return a.ValidationSeverity.WARNING;case"error":return a.ValidationSeverity.ERROR}return null}function getFormatterConfiguration(e){let t=l.get(e);return t||(t=d.workspace.getConfiguration({section:"docker.languageserver.formatter",scopeUri:e}),l.set(e,t)),t}function getConfigurationItems(e){const t=[];for(const n in R)t.push({section:e,scopeUri:n});return t}function refreshConfigurations(){!function refreshFormatterConfigurations(){const e=getConfigurationItems("docker.languageserver.formatter");l.clear(),d.workspace.getConfiguration(e).then((t=>{for(let n=0;n<t.length;n++){const r=e[n].scopeUri;t[n]&&!l.has(r)&&l.set(r,Promise.resolve(t[n]))}}))}(),function refreshValidatorConfigurations(){const e=getConfigurationItems("docker.languageserver.diagnostics");g.clear(),d.workspace.getConfiguration(e).then((t=>{const n=[];for(let r=0;r<t.length;r++){const i=e[r].scopeUri;t[r]&&!g.has(i)&&(g.set(i,Promise.resolve(t[r])),n.push(i))}for(const e of n)validateTextDocument(R[e])}))}()}function computeWorkspaceEdit(e,t,n,r){let o=h.computeCommandEdits(t.getText(),n,r);if(o){if(p){let n=i.VersionedTextDocumentIdentifier.create(e,t.version);return{documentChanges:[i.TextDocumentEdit.create(n,o)]}}return{changes:{[e]:o}}}return null}d.onInitialized((()=>{f&&d.client.register(i.DidChangeConfigurationNotification.type)})),d.onInitialize((e=>{!function setServiceCapabilities(e){h.setCapabilities({completion:{completionItem:{deprecatedSupport:supportsDeprecatedItems(e),documentationFormat:getCompletionItemDocumentationFormat(e),snippetSupport:supportsSnippets(e)}},hover:{contentFormat:getHoverContentFormat(e)},foldingRange:{lineFoldingOnly:getLineFoldingOnly(e),rangeLimit:getRangeLimit(e)}})}(e.capabilities),m=e.capabilities.workspace&&!0===e.capabilities.workspace.applyEdit,p=e.capabilities.workspace&&e.capabilities.workspace.workspaceEdit&&!0===e.capabilities.workspace.workspaceEdit.documentChanges,f=e.capabilities.workspace&&!0===e.capabilities.workspace.configuration;const t=e.capabilities.textDocument&&e.capabilities.textDocument.rename&&!0===e.capabilities.textDocument.rename.prepareSupport,n=e.capabilities.textDocument&&e.capabilities.textDocument.semanticTokens;return v=function supportsCodeActionQuickFixes(e){let t=e.textDocument&&e.textDocument.codeAction&&e.textDocument.codeAction.codeActionLiteralSupport&&e.textDocument.codeAction.codeActionLiteralSupport.codeActionKind&&e.textDocument.codeAction.codeActionLiteralSupport.codeActionKind.valueSet;if(null==t)return!1;for(let e of t)if(e===i.CodeActionKind.QuickFix)return!0;return!1}(e.capabilities),{capabilities:{textDocumentSync:i.TextDocumentSyncKind.Incremental,codeActionProvider:m,completionProvider:{resolveProvider:!0,triggerCharacters:["="," ","$","-"]},executeCommandProvider:m?{commands:[s.CommandIds.LOWERCASE,s.CommandIds.UPPERCASE,s.CommandIds.EXTRA_ARGUMENT,s.CommandIds.DIRECTIVE_TO_BACKSLASH,s.CommandIds.DIRECTIVE_TO_BACKTICK,s.CommandIds.FLAG_TO_CHOWN,s.CommandIds.FLAG_TO_COPY_FROM,s.CommandIds.FLAG_TO_HEALTHCHECK_INTERVAL,s.CommandIds.FLAG_TO_HEALTHCHECK_RETRIES,s.CommandIds.FLAG_TO_HEALTHCHECK_START_PERIOD,s.CommandIds.FLAG_TO_HEALTHCHECK_TIMEOUT,s.CommandIds.CONVERT_TO_AS,s.CommandIds.REMOVE_EMPTY_CONTINUATION_LINE]}:void 0,documentFormattingProvider:!0,documentRangeFormattingProvider:!0,documentOnTypeFormattingProvider:{firstTriggerCharacter:"\\",moreTriggerCharacter:["`"]},hoverProvider:!0,documentSymbolProvider:!0,documentHighlightProvider:!0,renameProvider:!t||{prepareProvider:!0},definitionProvider:!0,signatureHelpProvider:{triggerCharacters:["-","[",","," ","="]},documentLinkProvider:{resolveProvider:!0},semanticTokensProvider:n?{full:{delta:!1},legend:{tokenTypes:[i.SemanticTokenTypes.keyword,i.SemanticTokenTypes.comment,i.SemanticTokenTypes.parameter,i.SemanticTokenTypes.property,i.SemanticTokenTypes.namespace,i.SemanticTokenTypes.class,i.SemanticTokenTypes.macro,i.SemanticTokenTypes.string,i.SemanticTokenTypes.variable,i.SemanticTokenTypes.operator],tokenModifiers:[i.SemanticTokenModifiers.declaration,i.SemanticTokenModifiers.definition,i.SemanticTokenModifiers.deprecated]}}:void 0,foldingRangeProvider:!0}}})),d.onNotification(i.DidChangeConfigurationNotification.type,(()=>{refreshConfigurations()})),d.onDidChangeConfiguration((e=>{if(f)refreshConfigurations();else{let t=e.settings;t.docker&&t.docker.languageserver?(t.docker.languageserver.diagnostics&&(u=convertValidatorConfiguration(t.docker.languageserver.diagnostics)),t.docker.languageserver.formatter&&(c=t.docker.languageserver.formatter)):(c=null,u=convertValidatorConfiguration(null)),Object.keys(R).forEach((e=>{validateTextDocument(R[e])}))}})),d.onCompletion((e=>getDocument(e.textDocument.uri).then((t=>t?h.computeCompletionItems(t.getText(),e.position):null)))),d.onSignatureHelp((e=>getDocument(e.textDocument.uri).then((t=>null!==t?h.computeSignatureHelp(t.getText(),e.position):{signatures:[],activeSignature:null,activeParameter:null})))),d.onCompletionResolve((e=>h.resolveCompletionItem(e))),d.onHover((e=>getDocument(e.textDocument.uri).then((t=>t?h.computeHover(t.getText(),e.position):null)))),d.onDocumentHighlight((e=>getDocument(e.textDocument.uri).then((t=>t?h.computeHighlightRanges(t.getText(),e.position):[])))),d.onCodeAction((e=>{if(m&&e.context.diagnostics.length>0){let t=h.computeCodeActions(e.textDocument,e.range,e.context);return v?getDocument(e.textDocument.uri).then((n=>{let r=[];for(let o of t){let t={title:o.title,kind:i.CodeActionKind.QuickFix},a=computeWorkspaceEdit(e.textDocument.uri,n,o.command,o.arguments);a&&(t.edit=a),r.push(t)}return r})):t}return[]})),d.onExecuteCommand((e=>{if(m){let t=e.arguments[0];getDocument(t).then((n=>{if(n){let r=computeWorkspaceEdit(t,n,e.command,e.arguments);r&&d.workspace.applyEdit(r)}return null}))}})),d.onDefinition((e=>getDocument(e.textDocument.uri).then((t=>t?h.computeDefinition(e.textDocument,t.getText(),e.position):null)))),d.onRenameRequest((e=>getDocument(e.textDocument.uri).then((t=>{if(t){let n=h.computeRename(e.textDocument,t.getText(),e.position,e.newName);return{changes:{[e.textDocument.uri]:n}}}return null})))),d.onPrepareRename((e=>getDocument(e.textDocument.uri).then((t=>t?h.prepareRename(t.getText(),e.position):null)))),d.onDocumentSymbol((e=>getDocument(e.textDocument.uri).then((t=>t?h.computeSymbols(e.textDocument,t.getText()):[])))),d.onDocumentFormatting((e=>getDocument(e.textDocument.uri).then((t=>{if(f)return getFormatterConfiguration(t.uri).then((n=>{if(t){const r=e.options;return r.ignoreMultilineInstructions=null!==n&&n.ignoreMultilineInstructions,h.format(t.getText(),r)}return[]}));if(t){const n=e.options;return n.ignoreMultilineInstructions=null!==c&&c.ignoreMultilineInstructions,h.format(t.getText(),n)}return[]})))),d.onDocumentRangeFormatting((e=>getDocument(e.textDocument.uri).then((t=>{if(f)return getFormatterConfiguration(t.uri).then((n=>{if(t){const r=e.options;return r.ignoreMultilineInstructions=null!==n&&n.ignoreMultilineInstructions,h.formatRange(t.getText(),e.range,r)}return[]}));if(t){return e.options.ignoreMultilineInstructions=null!==c&&c.ignoreMultilineInstructions,h.formatRange(t.getText(),e.range,e.options)}return[]})))),d.onDocumentOnTypeFormatting((e=>getDocument(e.textDocument.uri).then((t=>{if(f)return getFormatterConfiguration(t.uri).then((n=>{if(t){const r=e.options;return r.ignoreMultilineInstructions=null!==n&&n.ignoreMultilineInstructions,h.formatOnType(t.getText(),e.position,e.ch,r)}return[]}));if(t){return e.options.ignoreMultilineInstructions=null!==c&&c.ignoreMultilineInstructions,h.formatOnType(t.getText(),e.position,e.ch,e.options)}return[]})))),d.onDocumentLinks((e=>getDocument(e.textDocument.uri).then((e=>e?h.computeLinks(e.getText()):[])))),d.onDocumentLinkResolve((e=>h.resolveLink(e))),d.onFoldingRanges((e=>getDocument(e.textDocument.uri).then((e=>e?h.computeFoldingRanges(e.getText()):[])))),d.onDidOpenTextDocument((e=>{let t=r.TextDocument.create(e.textDocument.uri,e.textDocument.languageId,e.textDocument.version,e.textDocument.text);R[e.textDocument.uri]=t,validateTextDocument(t)})),d.languages.semanticTokens.on((e=>getDocument(e.textDocument.uri).then((e=>e?h.computeSemanticTokens(e.getText()):{data:[]})))),d.onDidChangeTextDocument((e=>{let t=R[e.textDocument.uri],n=t.getText(),i=n,o=e.contentChanges;for(let i=0;i<o.length;i++){const a=o[i];if(!a.range&&!a.rangeLength){n=a.text,t=r.TextDocument.create(e.textDocument.uri,t.languageId,e.textDocument.version,n);break}let s=t.offsetAt(a.range.start),c=null;c=a.range.end?t.offsetAt(a.range.end):s+a.rangeLength,n=n.substring(0,s)+a.text+n.substring(c),t=r.TextDocument.create(e.textDocument.uri,t.languageId,e.textDocument.version,n)}R[e.textDocument.uri]=t,i!==n&&validateTextDocument(t)})),d.onDidCloseTextDocument((e=>{g.delete(e.textDocument.uri),d.sendDiagnostics({uri:e.textDocument.uri,diagnostics:[]}),delete R[e.textDocument.uri]})),d.listen()})(),module.exports=n})();